summaryrefslogtreecommitdiff
path: root/wizards/AllLangResTarget_imp.mk
blob: 00c6a829326f2f9acac7685f6ef81232a1fcbfe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
#   Licensed to the Apache Software Foundation (ASF) under one or more
#   contributor license agreements. See the NOTICE file distributed
#   with this work for additional information regarding copyright
#   ownership. The ASF licenses this file to you under the Apache
#   License, Version 2.0 (the "License"); you may not use this file
#   except in compliance with the License. You may obtain a copy of
#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
#

$(eval $(call gb_AllLangResTarget_AllLangResTarget,imp))

$(eval $(call gb_AllLangResTarget_add_srs,imp,\
	imp/res \
))

$(eval $(call gb_SrsTarget_SrsTarget,imp/res))

$(eval $(call gb_SrsTarget_add_files,imp/res,\
	wizards/source/importwizard/importwi.src \
))

# vim: set noet sw=4 ts=4:
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_PAGEVIEWZOOMVALUE)); pSettings[SC_TABLE_PAGE_VIEW_ZOOM_VALUE].Value <<= nPageZoomValue; + if ( !IsDefaultTabBgColor() ) + { + pSettings[SC_TABLE_TAB_BG_COLOR].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_TABCOLOR)); + pSettings[SC_TABLE_TAB_BG_COLOR].Value <<= static_cast(aTabBgColor.GetColor()); + } // pSettings[SC_TABLE_SELECTED].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_TABLESELECTED)); // pSettings[SC_TABLE_SELECTED].Value <<= bool(rViewData.GetMarkData().GetTableSelect( nTab )); } @@ -276,6 +282,13 @@ void ScViewDataTable::ReadUserDataSequence(const uno::Sequence >= bSelected; rViewData.GetMarkData().SelectTable( nTab, bSelected ); } + else if (sName.compareToAscii(SC_UNO_TABCOLOR) == 0) + { + sal_Int32 nColor = COL_AUTO; + aSettings[i].Value >>= nColor; + if (nColor != COL_AUTO) + aTabBgColor.SetColor(static_cast(nColor)); + } } if (eHSplitMode == SC_SPLIT_FIX) nFixPosX = SanitizeCol( static_cast( bHasHSplitInTwips ? nTempPosHTw : nTempPosH )); @@ -579,6 +592,36 @@ void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab ) aMarkData.InsertTab( nInsTab ); // ggf. angepasst } +void ScViewData::SetTabBgColor( Color rTabBgColor, SCTAB nTab ) +{ + if ( rTabBgColor != Color(COL_AUTO) ) + { + if ( !pTabData[nTab] ) + CreateTabData( nTab ); + pTabData[nTab]->aTabBgColor = rTabBgColor; + } + else + { + if ( pTabData[nTab] ) + pTabData[nTab]->aTabBgColor = Color( COL_AUTO ); + } +} + +Color ScViewData::GetTabBgColor( SCTAB nTab ) const +{ + if ( !pTabData[nTab] ) + return Color(COL_AUTO); + return pTabData[nTab]->aTabBgColor; +} + +BOOL ScViewData::IsDefaultTabBgColor( SCTAB nTab ) const +{ + if ( !pTabData[nTab] ) + return true; + BOOL bResult = pTabData[nTab]->aTabBgColor==Color( COL_AUTO ) ? TRUE : FALSE; + return bResult; +} + //UNUSED2008-05 void ScViewData::UpdateOle( ScSplitPos /* eWhich */ ) //UNUSED2008-05 { //UNUSED2008-05 GetDocShell()->UpdateOle(this); @@ -2444,6 +2487,9 @@ void ScViewData::WriteExtOptions( ScExtDocOptions& rDocOpt ) const rTabSett.mbPageMode = bPagebreak; rTabSett.mnNormalZoom = static_cast< long >( pViewTab->aZoomY * Fraction( 100.0 ) ); rTabSett.mnPageZoom = static_cast< long >( pViewTab->aPageZoomY * Fraction( 100.0 ) ); + + // Tab Bg Color + rTabSett.maTabBgColor = pViewTab->aTabBgColor; } } } @@ -2598,6 +2644,10 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt ) update map modes that are needed to draw text correctly. */ SetPagebreakMode( rTabSett.mbPageMode ); } + + // Tab Bg Color + if( !rTabSett.IsDefaultTabBgColor() ) + rViewTab.aTabBgColor = rTabSett.maTabBgColor; } } diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 50ede74ab06b..db6023c86f47 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -89,6 +89,7 @@ #include "funcdesc.hxx" #include "docuno.hxx" +#include "tabbgcolor.hxx" //DBW // STATIC DATA --------------------------------------------------------------- @@ -2274,6 +2275,28 @@ BOOL ScViewFunc::RenameTable( const String& rName, SCTAB nTab ) } +//---------------------------------------------------------------------------- + +BOOL ScViewFunc::SetTabBgColor( const Color& rColor, SCTAB nTab ) +{ + BOOL bSuccess = GetViewData()->GetDocShell()->GetDocFunc().SetTabBgColor( nTab, rColor, TRUE, FALSE ); + if (bSuccess) + { + GetViewData()->GetViewShell()->UpdateInputHandler(); + } + return bSuccess; +} + +BOOL ScViewFunc::SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorInfoList ) +{ + BOOL bSuccess = GetViewData()->GetDocShell()->GetDocFunc().SetTabBgColor( rUndoSetTabBgColorInfoList, TRUE, FALSE ); + if (bSuccess) + { + GetViewData()->GetViewShell()->UpdateInputHandler(); + } + return bSuccess; +} + //---------------------------------------------------------------------------- void ScViewFunc::InsertAreaLink( const String& rFile, diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml index ab3f121809fa..eed3a975b7f4 100644 --- a/sc/uiconfig/scalc/menubar/menubar.xml +++ b/sc/uiconfig/scalc/menubar/menubar.xml @@ -214,6 +214,8 @@ + + diff --git a/sc/util/makefile.mk b/sc/util/makefile.mk index c06071ff6324..b3b438b8f345 100644 --- a/sc/util/makefile.mk +++ b/sc/util/makefile.mk @@ -259,6 +259,7 @@ LIB8OBJFILES = \ $(SLO)$/attrdlg.obj \ $(SLO)$/scuiimoptdlg.obj \ $(SLO)$/strindlg.obj \ + $(SLO)$/tabbgcolordlg.obj \ $(SLO)$/shtabdlg.obj \ $(SLO)$/scendlg.obj \ $(SLO)$/pvfundlg.obj \ -- cgit From 97dea0d4b527e7b530c86f2952263316184470d4 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 15:48:04 -0400 Subject: #i5560# Applied & adjusted for the latest codebase the patches from go-oo. The original patches were contributed by Daniel Watson. --- svtools/inc/tabbar.hxx | 5 ++ svtools/source/control/tabbar.cxx | 110 ++++++++++++++++++++++++++++++++++---- 2 files changed, 106 insertions(+), 9 deletions(-) diff --git a/svtools/inc/tabbar.hxx b/svtools/inc/tabbar.hxx index 5261697dd8b0..35d65c037a7a 100644 --- a/svtools/inc/tabbar.hxx +++ b/svtools/inc/tabbar.hxx @@ -430,6 +430,11 @@ public: USHORT nPos = TABBAR_APPEND ); void RemovePage( USHORT nPageId ); void MovePage( USHORT nPageId, USHORT nNewPos ); + + Color GetTabBgColor( USHORT nPageId ) const; + void SetTabBgColor( USHORT nPageId, const Color& aTabBgColor ); + BOOL IsDefaultTabBgColor( USHORT nPageId ); + void Clear(); void EnablePage( USHORT nPageId, BOOL bEnable = TRUE ); diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index ed1abbe53a2a..f2fed5c96277 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -65,6 +65,10 @@ struct ImplTabBarItem BOOL mbShort; BOOL mbSelect; BOOL mbEnable; + Color maTabBgColor; + bool IsDefaultTabBgColor() const { return maTabBgColor == Color(COL_AUTO) ? TRUE : FALSE; }; + Color maTabTextColor; + bool IsDefaultTabTextColor() const { return maTabTextColor == Color(COL_AUTO) ? TRUE : FALSE; }; ImplTabBarItem( USHORT nItemId, const XubString& rText, TabBarPageBits nPageBits ) : @@ -77,6 +81,8 @@ struct ImplTabBarItem mbShort = FALSE; mbSelect = FALSE; mbEnable = TRUE; + maTabBgColor = Color( COL_AUTO ); + maTabTextColor = Color( COL_AUTO ); } }; @@ -1049,7 +1055,8 @@ void TabBar::Paint( const Rectangle& ) // Font selektieren Font aFont = GetFont(); Font aLightFont = aFont; - aLightFont.SetWeight( WEIGHT_LIGHT ); + //aLightFont.SetWeight( WEIGHT_LIGHT ); //TODO Make font weight light on custom color only? + aLightFont.SetWeight( WEIGHT_NORMAL ); // #i36013# exclude push buttons from painting area Rectangle aClipRect( Point( mnOffX, 0 ), Point( mnLastOffX, GetOutputHeightPixel() - 1 ) ); @@ -1123,15 +1130,23 @@ void TabBar::Paint( const Rectangle& ) SetFont( aLightFont ); // Je nach Status die richtige FillInBrush setzen + // Set the correct FillInBrush depending upon status if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) { + // Currently selected Tab SetFillColor( aSelectColor ); SetTextColor( aSelectTextColor ); } else { - SetFillColor( aFaceColor ); - SetTextColor( aFaceTextColor ); + if ( !pItem->IsDefaultTabBgColor() ) + { + SetFillColor( pItem->maTabBgColor ); + SetTextColor( pItem->maTabTextColor ); + } else { + SetFillColor( aFaceColor ); + SetTextColor( aFaceTextColor ); + } } // Muss Font Kursiv geschaltet werden @@ -1163,21 +1178,38 @@ void TabBar::Paint( const Rectangle& ) long nTextHeight = GetTextHeight(); Point aTxtPos( aRect.Left()+(aRectSize.Width()-nTextWidth)/2, (aRectSize.Height()-nTextHeight)/2 ); - if ( !pItem->mbEnable ) - DrawCtrlText( aTxtPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC) ); - else - DrawText( aTxtPos, aText ); - + if ( pItem->IsDefaultTabBgColor() || (!pItem->mbSelect) ) + { + if ( !pItem->mbEnable ) + DrawCtrlText( aTxtPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC) ); + else + DrawText( aTxtPos, aText ); + } // Jetzt im Inhalt den 3D-Effekt ausgeben aPos0.X()++; aPos1.X()++; aPos2.X()--; aPos3.X()--; - SetLineColor( rStyleSettings.GetLightColor() ); + + // If this is the current tab, draw the left inner shadow the default color, + // otherwise make it the same as the custom background color + if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) { + SetLineColor( rStyleSettings.GetLightColor() ); + } else { + if ( !pItem->IsDefaultTabBgColor() ) + { + SetLineColor( pItem->maTabBgColor ); + } else { + SetLineColor( rStyleSettings.GetLightColor() ); + } + } + // Draw the left side of the tab DrawLine( aPos0, aPos1 ); if ( !pItem->mbSelect && (pItem->mnId != mnCurPageId) ) { + // Draw the top inner shadow + // ToDo: Change from this static color to tab custom bg color DrawLine( Point( aPos0.X(), aPos0.Y()+1 ), Point( aPos3.X(), aPos3.Y()+1 ) ); } @@ -1187,8 +1219,27 @@ void TabBar::Paint( const Rectangle& ) aPos1.X()--; aPos1.Y()--; aPos2.Y()--; + if ( !pItem->IsDefaultTabBgColor() && ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) ) + { + SetLineColor( pItem->maTabBgColor ); + DrawLine( Point(aPos1.X()-1, aPos1.Y()-1), Point(aPos2.X(), aPos2.Y()-1) ); + } DrawLine( aPos1, aPos2 ); + // draw a small 2px sliver of the original background color at the bottom of the selected tab + + if ( !pItem->IsDefaultTabBgColor() ) + { + if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) { + SetLineColor( pItem->maTabBgColor ); + DrawLine( Point(aPos1.X()-1, aPos1.Y()-1), Point(aPos2.X(), aPos2.Y()-1) ); + if ( !pItem->mbEnable ) + DrawCtrlText( aTxtPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC) ); + else + DrawText( aTxtPos, aText ); + } + } + // Da etwas uebermalt werden konnte, muessen wir die Polygon- // umrandung nocheinmal ausgeben SetLineColor( rStyleSettings.GetDarkShadowColor() ); @@ -1565,6 +1616,42 @@ void TabBar::InsertPage( USHORT nPageId, const XubString& rText, // ----------------------------------------------------------------------- +Color TabBar::GetTabBgColor( USHORT nPageId ) const +{ + USHORT nPos = GetPagePos( nPageId ); + + if ( nPos != TAB_PAGE_NOTFOUND ) + return mpItemList->GetObject( nPos )->maTabBgColor; + else + return Color( COL_AUTO ); +} + +void TabBar::SetTabBgColor( USHORT nPageId, const Color& aTabBgColor ) +{ + USHORT nPos = GetPagePos( nPageId ); + ImplTabBarItem* pItem; + if ( nPos != TAB_PAGE_NOTFOUND ) + { + pItem = mpItemList->GetObject( nPos ); + // TODO: Need to take the text color specification out of this code! + if ( aTabBgColor != Color( COL_AUTO ) ) + { + pItem->maTabBgColor = aTabBgColor; + if ( aTabBgColor.GetLuminance() <= 128 ) //Do not use aTabBgColor.IsDark(), because that threshold is way too low... + pItem->maTabTextColor = Color( COL_WHITE ); + else + pItem->maTabTextColor = Color( COL_BLACK ); + } + else + { + pItem->maTabBgColor = Color( COL_AUTO ); + pItem->maTabTextColor = Color( COL_AUTO ); + } + } +} + +// ----------------------------------------------------------------------- + void TabBar::RemovePage( USHORT nPageId ) { USHORT nPos = GetPagePos( nPageId ); @@ -2486,9 +2573,12 @@ USHORT TabBar::ShowDropPos( const Point& rPos ) nX--; else nX++; + if ( !pItem->IsDefaultTabBgColor() && !pItem->mbSelect) + SetLineColor( pItem->maTabTextColor ); DrawLine( Point( nX, nY ), Point( nX, nY ) ); DrawLine( Point( nX+1, nY-1 ), Point( nX+1, nY+1 ) ); DrawLine( Point( nX+2, nY-2 ), Point( nX+2, nY+2 ) ); + SetLineColor( aBlackColor ); } if ( (mnDropPos > 0) && (mnDropPos < nItemCount+1) ) { @@ -2496,6 +2586,8 @@ USHORT TabBar::ShowDropPos( const Point& rPos ) nX = pItem->maRect.Right()-TABBAR_OFFSET_X; if ( mnDropPos == nCurPos ) nX++; + if ( !pItem->IsDefaultTabBgColor() && !pItem->mbSelect) + SetLineColor( pItem->maTabTextColor ); DrawLine( Point( nX, nY ), Point( nX, nY ) ); DrawLine( Point( nX-1, nY-1 ), Point( nX-1, nY+1 ) ); DrawLine( Point( nX-2, nY-2 ), Point( nX-2, nY+2 ) ); -- cgit From 8fa785c164bea369990fa389fecd6d32af1933f2 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 15:48:04 -0400 Subject: #i5560# Applied & adjusted for the latest codebase the patches from go-oo. The original patches were contributed by Daniel Watson. --- .../source/xslt/export/spreadsheetml/formular.xsl | 6 +- .../export/spreadsheetml/ooo2spreadsheetml.xsl | 180 ++++++++++++++++- .../import/spreadsheetml/spreadsheetml2ooo.xsl | 215 +++++++++++++++++++++ 3 files changed, 397 insertions(+), 4 deletions(-) diff --git a/filter/source/xslt/export/spreadsheetml/formular.xsl b/filter/source/xslt/export/spreadsheetml/formular.xsl index 859ef29c2e99..a6fe96a32753 100644 --- a/filter/source/xslt/export/spreadsheetml/formular.xsl +++ b/filter/source/xslt/export/spreadsheetml/formular.xsl @@ -381,7 +381,7 @@ - + @@ -405,8 +405,8 @@ - - + + diff --git a/filter/source/xslt/export/spreadsheetml/ooo2spreadsheetml.xsl b/filter/source/xslt/export/spreadsheetml/ooo2spreadsheetml.xsl index e91fff273245..c63600c2bb8b 100644 --- a/filter/source/xslt/export/spreadsheetml/ooo2spreadsheetml.xsl +++ b/filter/source/xslt/export/spreadsheetml/ooo2spreadsheetml.xsl @@ -145,6 +145,17 @@ + + + + + + + + + + + @@ -175,6 +186,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -187,8 +352,11 @@ - + + + + @@ -204,6 +372,16 @@ + + + + + + + + + + diff --git a/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl b/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl index a1576db37f10..6fcae4abebc9 100644 --- a/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl +++ b/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl @@ -385,6 +385,16 @@ + + + + + + + + + + @@ -4641,6 +4651,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit From 603d5e9c0ed374c5acc477208133dc29f8d97d5c Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 15:48:04 -0400 Subject: #i5560# Applied & adjusted for the latest codebase the patches from go-oo. The original patches were contributed by Daniel Watson. --- .../registry/data/org/openoffice/Office/UI/CalcCommands.xcu | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu index 991ea9a64d10..4368520f6371 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu @@ -1246,6 +1246,19 @@ Rename Sheet + + + ~Tab Color... + + + ~Tab Color... + + + + + Tab Color + + ~Move/Copy Sheet... -- cgit From 1520eb90b5077da6d40d892feebd70790d359f25 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 21:50:01 -0400 Subject: Fixed build breakages. Now the whole thing builds. --- sc/inc/sc.hrc | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc index 2fa8fb459bc3..db555a5cc127 100644 --- a/sc/inc/sc.hrc +++ b/sc/inc/sc.hrc @@ -833,8 +833,10 @@ #define FID_TAB_INDEX (TAB_POPUP_START+6) #define FID_TAB_RTL (TAB_POPUP_START+7) #define FID_TAB_DESELECTALL (TAB_POPUP_START+8) +#define FID_TAB_MENU_SET_TAB_BG_COLOR (TAB_POPUP_START + 9) +#define FID_TAB_SET_TAB_BG_COLOR (TAB_POPUP_START + 10) -#define TAB_POPUP_END (DATA_MENU_END + 20) +#define TAB_POPUP_END (TAB_POPUP_START + 20) #define OBJBAR_FORMAT_START (TAB_POPUP_END) #define SID_ALIGNLEFT (OBJBAR_FORMAT_START+6) @@ -1430,7 +1432,10 @@ #define RID_SCSTR_ONCLICK (STR_START + 402) -#define STR_END RID_SCSTR_ONCLICK +#define SCSTR_SET_TAB_BG_COLOR (STR_START + 403) +#define SCSTR_NO_TAB_BG_COLOR (STR_START + 404) + +#define STR_END (SCSTR_NO_TAB_BG_COLOR) #define BMP_START (STR_END) @@ -1635,8 +1640,9 @@ #define RID_SCDLG_DOCPROTECTION (SC_DIALOGS_START + 149) #define RID_SCDLG_RETYPEPASS (SC_DIALOGS_START + 150) #define RID_SCDLG_RETYPEPASS_INPUT (SC_DIALOGS_START + 151) +#define RID_SCDLG_TAB_BG_COLOR (SC_DIALOGS_START + 152) -#define SC_DIALOGS_END (SC_DIALOGS_START + 152) +#define SC_DIALOGS_END (SC_DIALOGS_START + 153) #ifndef STD_MASKCOLOR #define STD_MASKCOLOR Color { Red = 0xFF00; Green = 0x0000; Blue = 0xFF00; } @@ -1650,15 +1656,6 @@ #define MID_3 3 #define MID_4 4 -// Sheet tab color -#define FID_TAB_MENU_SET_TAB_BG_COLOR (SC_OOO_BUILD_START + 7) -#define FID_TAB_SET_TAB_BG_COLOR (SC_OOO_BUILD_START + 8) - -#define SCSTR_SET_TAB_BG_COLOR (SC_OOO_BUILD_START + 9) -#define SCSTR_NO_TAB_BG_COLOR (SC_OOO_BUILD_START + 10) - -#define RID_SCDLG_TAB_BG_COLOR (SC_OOO_BUILD_START + 11) - #endif -- cgit From 40b3c4a883e8f26136c996c9aefa79001f61a86b Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 21:50:01 -0400 Subject: Fixed build breakages. Now the whole thing builds. --- svtools/source/control/tabbar.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index f2fed5c96277..50618901798c 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -1620,7 +1620,7 @@ Color TabBar::GetTabBgColor( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TAB_PAGE_NOTFOUND ) + if ( nPos != TABBAR_PAGE_NOTFOUND ) return mpItemList->GetObject( nPos )->maTabBgColor; else return Color( COL_AUTO ); @@ -1630,7 +1630,7 @@ void TabBar::SetTabBgColor( USHORT nPageId, const Color& aTabBgColor ) { USHORT nPos = GetPagePos( nPageId ); ImplTabBarItem* pItem; - if ( nPos != TAB_PAGE_NOTFOUND ) + if ( nPos != TABBAR_PAGE_NOTFOUND ) { pItem = mpItemList->GetObject( nPos ); // TODO: Need to take the text color specification out of this code! -- cgit From 788b4151c79c72db8b18f65f90bbb04fbf5f7b4c Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 21:51:53 -0400 Subject: forgot to add two more new files. --- sc/source/ui/inc/tabbgcolordlg.hxx | 80 +++++++++++++ sc/source/ui/miscdlgs/tabbgcolordlg.cxx | 197 ++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+) create mode 100644 sc/source/ui/inc/tabbgcolordlg.hxx create mode 100644 sc/source/ui/miscdlgs/tabbgcolordlg.cxx diff --git a/sc/source/ui/inc/tabbgcolordlg.hxx b/sc/source/ui/inc/tabbgcolordlg.hxx new file mode 100644 index 000000000000..6beff970431c --- /dev/null +++ b/sc/source/ui/inc/tabbgcolordlg.hxx @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: tabbgcolordlg.hxx,v $ + * $Revision: 1.0 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SC_TABBGCOLORDLG_HXX +#define SC_TABBGCOLORDLG_HXX + +#include +#include +#include +#include + +//------------------------------------------------------------------------ + +class ScTabBgColorDlg : public ModalDialog +{ +public: + ScTabBgColorDlg( Window* pParent, + const String& rTitle, + const String& rTabBgColorNoColorText, + const Color& rDefaultColor, + ULONG nHelpId ); + ~ScTabBgColorDlg(); + + void GetSelectedColor( Color& rColor ) const; + //void SelectColor( const Color& rColor2 ) const; +private: + class ScTabBgColorValueSet : public ValueSet + { + + public: + ScTabBgColorValueSet(Control* pParent, const ResId& rResId, ScTabBgColorDlg* pTabBgColorDlg); + + virtual void KeyInput( const KeyEvent& rKEvt ); + private: + ScTabBgColorDlg* aTabBgColorDlg; + }; + Control aBorderWin; + ScTabBgColorValueSet aTabBgColorSet; + FixedLine aTabBgColorBox; + OKButton aBtnOk; + CancelButton aBtnCancel; + HelpButton aBtnHelp; + Color aTabBgColor; + const String aTabBgColorNoColorText; + ULONG aHelpId; + + void FillColorValueSets_Impl(); + + DECL_LINK( TabBgColorDblClickHdl_Impl, ValueSet* ); + DECL_LINK( TabBgColorOKHdl_Impl, OKButton* pBtn ); +}; + +#endif // SC_TABBGCOLORDLG_HXX diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx new file mode 100644 index 000000000000..01c9c2a5cf1a --- /dev/null +++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx @@ -0,0 +1,197 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: tabbgcolordlg.cxx,v $ + * $Revision: 1.0 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_sc.hxx" + +#undef SC_DLLIMPLEMENTATION + +//------------------------------------------------------------------ + +#include +#include +#include +#include +#include +#include +#include +#include "tabbgcolordlg.hxx" +#include "scresid.hxx" +#include "miscdlgs.hrc" +#include + +//================================================================== + +#define HDL(hdl) LINK(this,ScTabBgColorDlg,hdl) + +__EXPORT ScTabBgColorDlg::ScTabBgColorDlg( Window* pParent, + const String& rTitle, + const String& rTabBgColorNoColorText, + const Color& rDefaultColor, + ULONG nHelpId ) : + ModalDialog ( pParent, ScResId( RID_SCDLG_TAB_BG_COLOR ) ), + aBorderWin ( this, ScResId( TAB_BG_COLOR_CT_BORDER ) ), + aTabBgColorSet ( &aBorderWin, ScResId( TAB_BG_COLOR_SET_BGDCOLOR ), this ), + aTabBgColorBox ( this, ScResId( TAB_BG_COLOR_GB_BGDCOLOR ) ), + aBtnOk ( this, ScResId( BTN_OK ) ), + aBtnCancel ( this, ScResId( BTN_CANCEL ) ), + aBtnHelp ( this, ScResId( BTN_HELP ) ), + aTabBgColorNoColorText ( rTabBgColorNoColorText ), + aTabBgColor ( rDefaultColor ), + aHelpId ( nHelpId ) + +{ + SetHelpId( nHelpId ); + this->SetText( rTitle ); + this->SetStyle(GetStyle() | WB_BORDER | WB_STDFLOATWIN | WB_3DLOOK | WB_DIALOGCONTROL | WB_SYSTEMWINDOW | WB_STANDALONE | WB_HIDE); + //TODO: Assign Help ID's to all controls... + aTabBgColorBox.SetText(rTitle); + FillColorValueSets_Impl(); + aTabBgColorSet.SetDoubleClickHdl( HDL(TabBgColorDblClickHdl_Impl) ); + aBtnOk.SetClickHdl( HDL(TabBgColorOKHdl_Impl) ); + FreeResource(); +} + +//------------------------------------------------------------------------ + +void ScTabBgColorDlg::GetSelectedColor( Color& rColor ) const +{ + rColor = this->aTabBgColor; +} + +__EXPORT ScTabBgColorDlg::~ScTabBgColorDlg() +{ +} + +void ScTabBgColorDlg::FillColorValueSets_Impl() +{ + SfxObjectShell* pDocSh = SfxObjectShell::Current(); + const SfxPoolItem* pItem = NULL; + XColorTable* pColorTable = NULL; + const Size aSize15x15 = Size( 15, 15 ); + const Size aSize10x10 = Size( 10, 10 ); + const Size aSize5x5 = Size( 5, 5 ); + USHORT nSelectedItem = 0; + FASTBOOL bOwn = FALSE; + + DBG_ASSERT( pDocSh, "DocShell not found!" ); + + if ( pDocSh && ( 0 != ( pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) ) ) + pColorTable = ( (SvxColorTableItem*)pItem )->GetColorTable(); + if ( !pColorTable ) + { + bOwn = TRUE; + pColorTable = new XColorTable( SvtPathOptions().GetPalettePath() ); + } + if ( pColorTable ) + { + short i = 0; + long nCount = pColorTable->Count(); + XColorEntry* pEntry = NULL; + Color aColWhite( COL_WHITE ); + String aStrWhite( ScResId( RID_SVXITEMS_COLOR_WHITE ) ); + WinBits nBits = ( aTabBgColorSet.GetStyle() | WB_NAMEFIELD | WB_ITEMBORDER | WB_NONEFIELD | WB_3DLOOK | WB_NO_DIRECTSELECT | WB_NOPOINTERFOCUS); + aTabBgColorSet.SetText( aTabBgColorNoColorText ); + aTabBgColorSet.SetStyle( nBits ); + for ( i = 0; i < nCount; i++ ) + { + pEntry = pColorTable->GetColor(i); + aTabBgColorSet.InsertItem( i + 1, pEntry->GetColor(), pEntry->GetName() ); + if (pEntry->GetColor() == aTabBgColor) + nSelectedItem = (i + 1); + } + + while ( i < 80 ) + { + aTabBgColorSet.InsertItem( i + 1, aColWhite, aStrWhite ); + i++; + } + + if ( nCount > 80 ) + { + aTabBgColorSet.SetStyle( nBits | WB_VSCROLL ); + } + } + aTabBgColorSet.SetColCount( 10 ); + aTabBgColorSet.SetLineCount( 10 ); + aTabBgColorSet.CalcWindowSizePixel( aSize15x15 ); + aTabBgColorSet.Format(); + aTabBgColorSet.SelectItem(nSelectedItem); + aTabBgColorSet.Resize(); + if ( bOwn ) + delete pColorTable; +} + +IMPL_LINK( ScTabBgColorDlg, TabBgColorDblClickHdl_Impl, ValueSet*, EMPTYARG ) +/* + Handler, called when color selection is changed +*/ +{ + USHORT nItemId = aTabBgColorSet.GetSelectItemId(); + Color aColor = nItemId ? ( aTabBgColorSet.GetItemColor( nItemId ) ) : Color( COL_AUTO ); + aTabBgColor = aColor; + EndDialog( TRUE ); + return 0; +} + +IMPL_LINK( ScTabBgColorDlg, TabBgColorOKHdl_Impl, OKButton*, EMPTYARG ) +{ + +// Handler, called when the OK button is pushed + + USHORT nItemId = aTabBgColorSet.GetSelectItemId(); + Color aColor = nItemId ? ( aTabBgColorSet.GetItemColor( nItemId ) ) : Color( COL_AUTO ); + aTabBgColor = aColor; + EndDialog( TRUE ); + return 0; +} + +__EXPORT ScTabBgColorDlg::ScTabBgColorValueSet::ScTabBgColorValueSet( Control* pParent, const ResId& rResId, ScTabBgColorDlg* pTabBgColorDlg ) : + ValueSet(pParent, rResId) +{ + aTabBgColorDlg = pTabBgColorDlg; +} + +void ScTabBgColorDlg::ScTabBgColorValueSet::KeyInput( const KeyEvent& rKEvt ) +{ + switch ( rKEvt.GetKeyCode().GetCode() ) + { + case KEY_SPACE: + case KEY_RETURN: + { + USHORT nItemId = GetSelectItemId(); + const Color& aColor = nItemId ? ( GetItemColor( nItemId ) ) : Color( COL_AUTO ); + aTabBgColorDlg->aTabBgColor = aColor; + aTabBgColorDlg->EndDialog(TRUE); + } + break; + } + ValueSet::KeyInput(rKEvt); +} -- cgit From 2abcb0d567a8e29a318473b3a545fe456e3bbc78 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 21:51:53 -0400 Subject: forgot to add two more new files. --- configure | 33171 +++++++++++++-------------------------------- dmake/getinp.c | 12 +- solenv/bin/build.pl | 0 solenv/bin/gccinstlib.pl | 0 4 files changed, 9628 insertions(+), 23555 deletions(-) mode change 100644 => 100755 solenv/bin/build.pl mode change 100644 => 100755 solenv/bin/gccinstlib.pl diff --git a/configure b/configure index 92a022efa038..721531d1d906 100755 --- a/configure +++ b/configure @@ -1,37 +1,32 @@ #! /bin/sh # From configure.in Revision: 1.290 . # Guess values for system-dependent variables and create Makefiles. -<<<<<<< .working -# Generated by GNU Autoconf 2.61. -======= -# Generated by GNU Autoconf 2.59. ->>>>>>> .merge-right.r276078 +# Generated by GNU Autoconf 2.63. # -<<<<<<< .working # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -======= -# Copyright (C) 2003 Free Software Foundation, Inc. ->>>>>>> .merge-right.r276078 +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -DUALCASE=1; export DUALCASE # for MKS sh -<<<<<<< .working @@ -43,21 +38,47 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -======= ->>>>>>> .merge-right.r276078 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset @@ -66,14 +87,11 @@ else fi -<<<<<<< .working # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. @@ -96,53 +114,33 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi -======= ->>>>>>> .merge-right.r276078 # Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -<<<<<<< .working -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done -======= -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done ->>>>>>> .merge-right.r276078 +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -150,12 +148,11 @@ fi # Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ -<<<<<<< .working X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -169,40 +166,19 @@ echo X/"$0" | q } s/.*/./; q'` -======= - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` ->>>>>>> .merge-right.r276078 - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no fi -<<<<<<< .working - if test $as_have_required = yes && (eval ": + if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } @@ -218,48 +194,57 @@ as_func_ret_success () { as_func_ret_failure () { return 1 } -======= ->>>>>>> .merge-right.r276078 - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in + case $as_dir in /*) -<<<<<<< .working for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; @@ -275,7 +260,7 @@ IFS=$as_save_IFS if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST @@ -296,7 +281,7 @@ _ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST @@ -360,27 +345,11 @@ fi test $exitcode = 0) || { (exit 1); exit 1; } ( -======= - if ("$as_dir/$as_base" -c ' ->>>>>>> .merge-right.r276078 as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } -<<<<<<< .working _ASEOF }; then break @@ -392,10 +361,10 @@ fi if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi @@ -464,9 +433,10 @@ fi test \$exitcode = 0") || { echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. } @@ -476,102 +446,93 @@ test \$exitcode = 0") || { test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { -======= ->>>>>>> .merge-right.r276078 # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && -<<<<<<< .working chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -======= - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -<<<<<<< .working +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then -======= - -if expr a : '\(a\)' >/dev/null 2>&1; then ->>>>>>> .merge-right.r276078 as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file -<<<<<<< .working if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -======= -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links ->>>>>>> .merge-right.r276078 - as_ln_s='cp -p' -<<<<<<< .working -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -======= - else + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi ->>>>>>> .merge-right.r276078 -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -580,7 +541,6 @@ else as_mkdir_p=false fi -<<<<<<< .working if test -x / >/dev/null 2>&1; then as_test_x='test -x' else @@ -592,10 +552,10 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else case $1 in - -*)set "./$1";; + -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi @@ -603,9 +563,6 @@ else ' fi as_executable_p=$as_test_x -======= -as_executable_p="test -f" ->>>>>>> .merge-right.r276078 # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -614,39 +571,27 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH +exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -exec 6>&1 - # # Initializations. # ac_default_prefix=/usr/local +ac_clean_files= ac_config_libobj_dir=. +LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= @@ -657,436 +602,600 @@ PACKAGE_BUGREPORT= # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #endif" -<<<<<<< .working -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -GREP -EGREP -AWK -SED -LOCAL_SOLENV -_solenv -UPD -SOURCEVERSION -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -GNUTAR -OSVERSION -PTHREAD_CFLAGS -PTHREAD_LIBS -ENABLE_CRASHDUMP -VC_STANDARD -ENABLE_WERROR -ENABLE_DEBUG -PRODUCT -PROFULLSWITCH -PROEXT -ENABLE_SYMBOLS -DISABLE_STRIP -ENABLE_CUPS -ENABLE_FONTCONFIG -WITH_BINFILTER -ENABLE_DIRECTX -DISABLE_ACTIVEX -DISABLE_ATL -ENABLE_RPATH -WITH_MYSPELL_DICTS -SYSTEM_DICTS -DICT_SYSTEM_DIR -HYPH_SYSTEM_DIR -THES_SYSTEM_DIR -USE_SHELL -WITH_MINGWIN -SHELLPATH -GCC_HOME -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -COMPATH -GCCVER -HAVE_LD_BSYMBOLIC_FUNCTIONS -ENABLE_PCH -NO_HIDS -GNUMAKE -_cc -HAVE_LD_HASH_STYLE -PERL -MSPDB_PATH -COMEX -USE_MINGW -MIDL_PATH -CSC_PATH -FRAME_HOME -CPP -CXX -CXXFLAGS -ac_ct_CXX -CXXCPP -SIZEOF_LONG -WORDS_BIGENDIAN -LFS_CFLAGS -ENABLE_VBA -VBA_EXTENSION -PAM -NEW_SHADOW_API -PAM_LINK -CRYPT_LINK -GXX_INCLUDE_PATH -MINGW_LIB_INCLUDE_PATH -MINGW_BACKWARD_INCLUDE_PATH -MINGW_CLIB_DIR -MINGW_SHARED_GCCLIB -MINGW_GCCLIB_EH -MINGW_SHARED_GXXLIB -MINGW_GCCDLL -MINGW_GXXDLL -EXCEPTIONS -STLPORT4 -STLPORT_VER -USE_SYSTEM_STL -HAVE_GCC_VISIBILITY_FEATURE -ALLOC -BUILD_VER_STRING -SOLAR_JAVA -JAVAINTERPRETER -JAVACOMPILER -JAVACISGCJ -JAVADOC -AWTLIB -JAVAAOTCOMPILER -JAVA_HOME -JDK -JAVAFLAGS -DMAKE -BUILD_DMAKE -EPM -DPKG -PKGMK -BUILD_EPM -PKGFORMAT -RPM -GPERF -MINGWCXX -MINGWSTRIP -BUILD_UNOWINREG -BUILD_QADEVOOO -SYSTEM_STDLIBS -SYSTEM_ZLIB -SYSTEM_JPEG -SYSTEM_EXPAT -PKG_CONFIG -LIBWPD_CFLAGS -LIBWPD_LIBS -SYSTEM_LIBWPD -FREETYPE_CFLAGS -FREETYPE_LIBS -USE_FT_EMBOLDEN -LIBXSLT_CFLAGS -LIBXSLT_LIBS -XSLTPROC -SYSTEM_LIBXSLT -LIBXML_CFLAGS -LIBXML_LIBS -SYSTEM_LIBXML -PYTHON -PYTHON_VERSION -PYTHON_PREFIX -PYTHON_EXEC_PREFIX -PYTHON_PLATFORM -pythondir -pkgpythondir -pyexecdir -pkgpyexecdir -BZIP2 -SYSTEM_PYTHON -PYTHON_CFLAGS -PYTHON_LIBS -HOME -SYSTEM_DB -DB_VERSION -DB_INCLUDES -DB_JAR -SYSTEM_LUCENE -LUCENE_CORE_JAR -LUCENE_ANALYZERS_JAR -SYSTEM_HSQLDB -HSQLDB_JAR -SYSTEM_BSH -BSH_JAR -SERIALIZER_JAR -SYSTEM_SAXON -SAXON_JAR -CURLCONFIG -SYSTEM_CURL -CURL_CFLAGS -CURL_LIBS -SYSTEM_BOOST -SYSTEM_VIGRA -SYSTEM_ODBC_HEADERS -WITH_MOZILLA -WITH_LDAP -WITH_OPENLDAP -MOZ_NSS_CFLAGS -MOZ_NSS_LIBS -NSS_LIB -MOZ_NSPR_CFLAGS -MOZ_NSPR_LIBS -NSPR_LIB -MOZILLAXPCOM_CFLAGS -MOZILLAXPCOM_LIBS -MOZILLA_VERSION -MOZILLA_TOOLKIT -MOZGTK2_CFLAGS -MOZGTK2_LIBS -MOZLIBREQ_CFLAGS -MOZLIBREQ_LIBS -BUILD_MOZAB -ENABLE_NSS_MODULE -MOZILLABUILD -SYSTEM_MOZILLA -MOZ_FLAVOUR -MOZ_INC -MOZ_LIB -MOZ_LIB_XPCOM -MOZ_LDAP_CFLAGS -SYSTEM_SANE_HEADER -SYSTEM_GENBRK -SYSTEM_GENCCODE -SYSTEM_GENCMN -SYSTEM_ICU -GRAPHITE_CFLAGS -GRAPHITE_LIBS -ENABLE_GRAPHITE -SYSTEM_GRAPHITE -XMKMF -X_CFLAGS -X_PRE_LIBS -X_LIBS -X_EXTRA_LIBS -XINC -XLIB -XAU_LIBS -DISABLE_XAW -SYSTEM_XRENDER_HEADERS -XRENDER_LINK -XRANDR_CFLAGS -XRANDR_LIBS -XRANDR_DLOPEN -ENABLE_RANDR -DISABLE_NEON -NEON_CFLAGS -NEON_LIBS -OPENSSL_CFLAGS -OPENSSL_LIBS -SYSTEM_OPENSSL -SYSTEM_NEON -NEON_VERSION -ENABLE_AGG -AGG_CFLAGS -AGG_LIBS -SYSTEM_AGG -AGG_VERSION -REDLAND_CFLAGS -REDLAND_LIBS -SYSTEM_REDLAND -HUNSPELL_CFLAGS -HUNSPELL_LIBS -SYSTEM_HUNSPELL -SYSTEM_HYPH -HYPHEN_LIB -SYSTEM_MYTHES -SYSTEM_LPSOLVE -PSDK_HOME -WINDOWS_VISTA_PSDK -DIRECTXSDK_HOME -DIRECTXSDK_LIB -NSIS_PATH -BISON -FLEX -PATCH -GNUCP -GNUPATCH -CYGWIN_PATH -ML_EXE -ASM_HOME -ZIP -UNZIP -ZIP_HOME -ENABLE_GTK -ENABLE_KDE -ENABLE_KDE4 -GCONF_CFLAGS -GCONF_LIBS -ENABLE_GCONF -GNOMEVFS_CFLAGS -GNOMEVFS_LIBS -ENABLE_GNOMEVFS -GTK_CFLAGS -GTK_LIBS -DBUS_CFLAGS -DBUS_LIBS -GIO_CFLAGS -GIO_LIBS -ENABLE_GIO -ENABLE_DBUS -ENABLE_SYSTRAY_GTK -CAIRO_CFLAGS -CAIRO_LIBS -ENABLE_CAIRO -BUILD_PIXMAN -SYSTEM_CAIRO -ENABLE_OPENGL -ENABLE_MINIMIZER -ENABLE_PRESENTER_SCREEN -POPPLER_CFLAGS -POPPLER_LIBS -ENABLE_PDFIMPORT -SYSTEM_POPPLER -ENABLE_MEDIAWIKI -SYSTEM_SERVLETAPI -SERVLETAPI_JAR -ENABLE_REPORTBUILDER -SYSTEM_JFREEREPORT -SAC_JAR -LIBXML_JAR -FLUTE_JAR -JFREEREPORT_JAR -LIBBASE_JAR -LIBLAYOUT_JAR -LIBLOADER_JAR -LIBFORMULA_JAR -LIBREPOSITORY_JAR -LIBFONTS_JAR -LIBSERIALIZER_JAR -SYSTEM_APACHE_COMMONS -COMMONS_CODEC_JAR -COMMONS_LANG_JAR -COMMONS_HTTPCLIENT_JAR -COMMONS_LOGGING_JAR -MOC -KDE_CFLAGS -KDE_LIBS -MOC4 -KDE4_CFLAGS -KDE4_LIBS -ENABLE_LOCKDOWN -GOBJECT_CFLAGS -GOBJECT_LIBS -ENABLE_EVOAB2 -ENABLE_KAB -WITH_FONTOOO -SYSTEM_MSPACK -WITH_FONTS -WITHOUT_PPDS -WITHOUT_AFMS -SCPDEFS -USE_XINERAMA -XINERAMA_LINK -ANT -ANT_HOME -ANT_LIB -WITH_LANG -WITH_POOR_HELP_LOCALIZATIONS -WITH_DICT -INTRO_BITMAPS -ABOUT_BITMAPS -OOO_VENDOR -UNIXWRAPPERNAME -ENABLE_STATIC_GTK -ENABLE_LAYOUT -VERBOSE -LOCAL_SOLVER -BUILD_TYPE +ac_subst_vars='LTLIBOBJS LIBOBJS -LTLIBOBJS' -======= -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR USE_SHELL WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG BUILD_QADEVOOO SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL SYSTEM_NEON NEON_VERSION ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB SYSTEM_MYTHES SYSTEM_LPSOLVE PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTOOO SYSTEM_MSPACK WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS' ->>>>>>> .merge-right.r276078 +BUILD_TYPE +LOCAL_SOLVER +VERBOSE +ENABLE_LAYOUT +ENABLE_STATIC_GTK +UNIXWRAPPERNAME +OOO_VENDOR +ABOUT_BITMAPS +INTRO_BITMAPS +WITH_DICT +WITH_POOR_HELP_LOCALIZATIONS +WITH_LANG +ANT_LIB +ANT_HOME +ANT +XINERAMA_LINK +USE_XINERAMA +SCPDEFS +WITHOUT_AFMS +WITHOUT_PPDS +WITH_FONTS +SYSTEM_MSPACK +WITH_FONTOOO +ENABLE_KAB +ENABLE_EVOAB2 +GOBJECT_LIBS +GOBJECT_CFLAGS +ENABLE_LOCKDOWN +KDE4_LIBS +KDE4_CFLAGS +MOC4 +KDE_LIBS +KDE_CFLAGS +MOC +COMMONS_LOGGING_JAR +COMMONS_HTTPCLIENT_JAR +COMMONS_LANG_JAR +COMMONS_CODEC_JAR +SYSTEM_APACHE_COMMONS +LIBSERIALIZER_JAR +LIBFONTS_JAR +LIBREPOSITORY_JAR +LIBFORMULA_JAR +LIBLOADER_JAR +LIBLAYOUT_JAR +LIBBASE_JAR +JFREEREPORT_JAR +FLUTE_JAR +LIBXML_JAR +SAC_JAR +SYSTEM_JFREEREPORT +ENABLE_REPORTBUILDER +SERVLETAPI_JAR +SYSTEM_SERVLETAPI +ENABLE_MEDIAWIKI +SYSTEM_POPPLER +ENABLE_PDFIMPORT +POPPLER_LIBS +POPPLER_CFLAGS +ENABLE_PRESENTER_SCREEN +ENABLE_MINIMIZER +ENABLE_OPENGL +SYSTEM_CAIRO +BUILD_PIXMAN +ENABLE_CAIRO +CAIRO_LIBS +CAIRO_CFLAGS +ENABLE_SYSTRAY_GTK +ENABLE_DBUS +ENABLE_GIO +GIO_LIBS +GIO_CFLAGS +DBUS_LIBS +DBUS_CFLAGS +GTK_LIBS +GTK_CFLAGS +ENABLE_GNOMEVFS +GNOMEVFS_LIBS +GNOMEVFS_CFLAGS +ENABLE_GCONF +GCONF_LIBS +GCONF_CFLAGS +ENABLE_KDE4 +ENABLE_KDE +ENABLE_GTK +ZIP_HOME +UNZIP +ZIP +ASM_HOME +ML_EXE +CYGWIN_PATH +GNUPATCH +GNUCP +PATCH +FLEX +BISON +NSIS_PATH +DIRECTXSDK_LIB +DIRECTXSDK_HOME +WINDOWS_VISTA_PSDK +PSDK_HOME +SYSTEM_LPSOLVE +SYSTEM_MYTHES +HYPHEN_LIB +SYSTEM_HYPH +SYSTEM_HUNSPELL +HUNSPELL_LIBS +HUNSPELL_CFLAGS +SYSTEM_REDLAND +REDLAND_LIBS +REDLAND_CFLAGS +AGG_VERSION +SYSTEM_AGG +AGG_LIBS +AGG_CFLAGS +ENABLE_AGG +NEON_VERSION +SYSTEM_NEON +SYSTEM_OPENSSL +OPENSSL_LIBS +OPENSSL_CFLAGS +NEON_LIBS +NEON_CFLAGS +DISABLE_NEON +ENABLE_RANDR +XRANDR_DLOPEN +XRANDR_LIBS +XRANDR_CFLAGS +XRENDER_LINK +SYSTEM_XRENDER_HEADERS +DISABLE_XAW +XAU_LIBS +XLIB +XINC +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +SYSTEM_GRAPHITE +ENABLE_GRAPHITE +GRAPHITE_LIBS +GRAPHITE_CFLAGS +SYSTEM_ICU +SYSTEM_GENCMN +SYSTEM_GENCCODE +SYSTEM_GENBRK +SYSTEM_SANE_HEADER +MOZ_LDAP_CFLAGS +MOZ_LIB_XPCOM +MOZ_LIB +MOZ_INC +MOZ_FLAVOUR +SYSTEM_MOZILLA +MOZILLABUILD +ENABLE_NSS_MODULE +BUILD_MOZAB +MOZLIBREQ_LIBS +MOZLIBREQ_CFLAGS +MOZGTK2_LIBS +MOZGTK2_CFLAGS +MOZILLA_TOOLKIT +MOZILLA_VERSION +MOZILLAXPCOM_LIBS +MOZILLAXPCOM_CFLAGS +NSPR_LIB +MOZ_NSPR_LIBS +MOZ_NSPR_CFLAGS +NSS_LIB +MOZ_NSS_LIBS +MOZ_NSS_CFLAGS +WITH_OPENLDAP +WITH_LDAP +WITH_MOZILLA +SYSTEM_ODBC_HEADERS +SYSTEM_VIGRA +SYSTEM_BOOST +CURL_LIBS +CURL_CFLAGS +SYSTEM_CURL +CURLCONFIG +SAXON_JAR +SYSTEM_SAXON +SERIALIZER_JAR +BSH_JAR +SYSTEM_BSH +HSQLDB_JAR +SYSTEM_HSQLDB +LUCENE_ANALYZERS_JAR +LUCENE_CORE_JAR +SYSTEM_LUCENE +DB_JAR +DB_INCLUDES +DB_VERSION +SYSTEM_DB +HOME +PYTHON_LIBS +PYTHON_CFLAGS +SYSTEM_PYTHON +BZIP2 +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON +SYSTEM_LIBXML +LIBXML_LIBS +LIBXML_CFLAGS +SYSTEM_LIBXSLT +XSLTPROC +LIBXSLT_LIBS +LIBXSLT_CFLAGS +USE_FT_EMBOLDEN +FREETYPE_LIBS +FREETYPE_CFLAGS +SYSTEM_LIBWPD +LIBWPD_LIBS +LIBWPD_CFLAGS +PKG_CONFIG +SYSTEM_EXPAT +SYSTEM_JPEG +SYSTEM_ZLIB +SYSTEM_STDLIBS +BUILD_QADEVOOO +BUILD_UNOWINREG +MINGWSTRIP +MINGWCXX +GPERF +RPM +PKGFORMAT +BUILD_EPM +PKGMK +DPKG +EPM +BUILD_DMAKE +DMAKE +JAVAFLAGS +JDK +JAVA_HOME +JAVAAOTCOMPILER +AWTLIB +JAVADOC +JAVACISGCJ +JAVACOMPILER +JAVAINTERPRETER +SOLAR_JAVA +BUILD_VER_STRING +ALLOC +HAVE_GCC_VISIBILITY_FEATURE +USE_SYSTEM_STL +STLPORT_VER +STLPORT4 +EXCEPTIONS +MINGW_GXXDLL +MINGW_GCCDLL +MINGW_SHARED_GXXLIB +MINGW_GCCLIB_EH +MINGW_SHARED_GCCLIB +MINGW_CLIB_DIR +MINGW_BACKWARD_INCLUDE_PATH +MINGW_LIB_INCLUDE_PATH +GXX_INCLUDE_PATH +CRYPT_LINK +PAM_LINK +NEW_SHADOW_API +PAM +VBA_EXTENSION +ENABLE_VBA +LFS_CFLAGS +WORDS_BIGENDIAN +SIZEOF_LONG +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX +CPP +FRAME_HOME +CSC_PATH +MIDL_PATH +USE_MINGW +COMEX +MSPDB_PATH +PERL +HAVE_LD_HASH_STYLE +_cc +GNUMAKE +NO_HIDS +ENABLE_PCH +HAVE_LD_BSYMBOLIC_FUNCTIONS +GCCVER +COMPATH +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +GCC_HOME +SHELLPATH +WITH_MINGWIN +USE_SHELL +THES_SYSTEM_DIR +HYPH_SYSTEM_DIR +DICT_SYSTEM_DIR +SYSTEM_DICTS +WITH_MYSPELL_DICTS +ENABLE_RPATH +DISABLE_ATL +DISABLE_ACTIVEX +ENABLE_DIRECTX +WITH_BINFILTER +ENABLE_FONTCONFIG +ENABLE_CUPS +DISABLE_STRIP +ENABLE_SYMBOLS +PROEXT +PROFULLSWITCH +PRODUCT +ENABLE_DEBUG +ENABLE_WERROR +VC_STANDARD +ENABLE_CRASHDUMP +PTHREAD_LIBS +PTHREAD_CFLAGS +OSVERSION +GNUTAR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +SOURCEVERSION +UPD +_solenv +LOCAL_SOLENV +SED +AWK +EGREP +GREP +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' -<<<<<<< .working +ac_user_opts=' +enable_option_checking +with_gnu_patch +with_agg +with_gnu_cp +enable_graphite +with_system_graphite +enable_ldap +with_openldap +enable_lockdown +enable_vba +with_vba_package_format +enable_pch +enable_hids +enable_mozilla +with_fonts +with_ppds +with_afms +enable_epm +with_epm +with_package_format +enable_odk +enable_qadevooo +enable_fontooo +enable_mathmldtd +enable_evolution2 +with_system_stdlibs +with_system_mspack +enable_cups +enable_fontconfig +enable_directx +enable_activex +enable_atl +enable_symbols +enable_strip_solver +enable_werror +enable_debug +enable_dbgutil +enable_crashdump +enable_cl_standard +enable_gtk +enable_systray +enable_cairo +with_system_cairo +enable_opengl +enable_dbus +enable_gconf +enable_gnome_vfs +enable_gio +enable_static_gtk +enable_layout +enable_build_mozilla +with_mozilla_version +with_mozilla_toolkit +enable_nss_module +enable_kde +enable_kdeab +enable_kde4 +enable_binfilter +enable_rpath +enable_pam +enable_pam_link +enable_crypt_link +enable_xrender_link +enable_randr +enable_randr_link +with_myspell_dicts +with_system_dicts +with_external_dict_dir +with_external_hyph_dir +with_external_thes_dir +with_system_libs +with_system_headers +with_system_jars +with_system_zlib +with_system_openssl +with_system_jpeg +with_system_expat +with_system_libwpd +with_system_libxml +with_system_python +with_system_icu +with_system_poppler +with_system_db +with_system_lucene +with_lucene_core_jar +with_lucene_analyzers_jar +with_system_hsqldb +with_hsqldb_jar +with_system_beanshell +with_beanshell_jar +enable_minimizer +enable_presenter_console +enable_pdfimport +enable_wiki_publisher +with_commons_codec_jar +with_commons_lang_jar +with_commons_httpclient_jar +with_commons_logging_jar +with_servlet_api_jar +enable_report_builder +with_system_jfreereport +with_sac_jar +with_libxml_jar +with_flute_jar +with_jfreereport_jar +with_liblayout_jar +with_libloader_jar +with_libformula_jar +with_librepository_jar +with_libfonts_jar +with_libserializer_jar +with_libbase_jar +with_system_saxon +with_saxon_jar +with_system_libxslt +with_system_odbc +with_system_sane +with_system_xrender +with_system_curl +with_system_boost +with_system_vigra +enable_neon +enable_Xaw +with_system_neon +with_system_agg +with_system_hunspell +with_system_mythes +with_system_altlinuxhyph +with_system_lpsolve +with_system_mozilla +with_stlport +with_jdk_home +with_gxx_include_path +with_java +enable_gcjaot +with_ant_home +with_perl_home +with_cl_home +with_mspdb_path +with_midl_path +with_csc_path +with_nsis_path +with_frame_home +with_psdk_home +with_directx_home +with_mozilla_build +with_local_solenv +with_local_solver +enable_check_only +with_lang +with_poor_help_localizations +with_dict +with_intro_bitmaps +with_about_bitmaps +with_vendor +with_unix_wrapper +with_asm_home +with_os_version +with_unzip_home +with_zip_home +with_mingwin +with_use_shell +with_build_version +enable_sgistl +with_alloc +enable_verbose +enable_largefile +with_x +' ac_precious_vars='build_alias host_alias target_alias @@ -1101,12 +1210,13 @@ CXXFLAGS CCC CXXCPP XMKMF' -======= ->>>>>>> .merge-right.r276078 + # Initialize some variables set by options. ac_init_help= ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -1129,34 +1239,48 @@ x_libraries=NONE # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' ac_prev= +ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -1178,53 +1302,61 @@ do --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. -<<<<<<< .working - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -======= - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } -<<<<<<< .working - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=no ;; -======= - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; ->>>>>>> .merge-right.r276078 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. -<<<<<<< .working - expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 -======= - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } -<<<<<<< .working - ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; -======= - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "enable_$ac_feature='$ac_optarg'" ;; ->>>>>>> .merge-right.r276078 + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -1251,6 +1383,12 @@ do -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -1275,13 +1413,16 @@ do | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -1346,6 +1487,16 @@ do | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -1396,46 +1547,38 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. -<<<<<<< .working - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 -======= - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } -<<<<<<< .working - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=\$ac_optarg ;; -======= - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "with_$ac_package='$ac_optarg'" ;; ->>>>>>> .merge-right.r276078 + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. -<<<<<<< .working - expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 -======= - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } -<<<<<<< .working - ac_package=`echo $ac_package | sed 's/[-.]/_/g'` - eval with_$ac_package=no ;; -======= - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; ->>>>>>> .merge-right.r276078 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. @@ -1455,7 +1598,7 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; @@ -1464,17 +1607,16 @@ Try \`$0 --help' for more information." >&2 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" + eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -1483,51 +1625,39 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi -<<<<<<< .working -# Be sure to have absolute directory names. +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir -======= -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix do - eval ac_val=$`echo $ac_var` + eval ac_val=\$$ac_var + # Remove trailing slashes. case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir ->>>>>>> .merge-right.r276078 -do -<<<<<<< .working - eval ac_val=\$$ac_var -======= - eval ac_val=$`echo $ac_var` ->>>>>>> .merge-right.r276078 + # Be sure to have absolute directory names. case $ac_val in -<<<<<<< .working [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } -======= - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac ->>>>>>> .merge-right.r276078 done # There might be people who depend on the old broken behavior: `$host' @@ -1541,7 +1671,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -1554,30 +1684,26 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null -<<<<<<< .working ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } -======= ->>>>>>> .merge-right.r276078 # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes -<<<<<<< .working # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1595,98 +1721,39 @@ echo X"$0" | q } s/.*/./; q'` -======= - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` ->>>>>>> .merge-right.r276078 srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -<<<<<<< .working if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 -======= -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } -<<<<<<< .working fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 -======= - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done # # Report the --help message. @@ -1715,14 +1782,11 @@ Configuration: -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] -_ACEOF - - cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -1732,40 +1796,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: -<<<<<<< .working - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -======= - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] ->>>>>>> .merge-right.r276078 + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -1786,6 +1835,7 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-graphite Enables the compilation of Graphite smart font rendering @@ -2360,37 +2410,36 @@ Some influential environment variables: CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF +ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. - ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue -<<<<<<< .working - test -d "$ac_dir" || continue -======= - test -d $ac_dir || continue ->>>>>>> .merge-right.r276078 + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. -<<<<<<< .working case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -2400,131 +2449,62 @@ ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix -======= -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi ->>>>>>> .merge-right.r276078 case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive else -<<<<<<< .working - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } -======= - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir ->>>>>>> .merge-right.r276078 done fi -test -n "$ac_init_help" && exit 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -<<<<<<< .working configure -generated by GNU Autoconf 2.61 -======= ->>>>>>> .merge-right.r276078 +generated by GNU Autoconf 2.63 -<<<<<<< .working Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -======= -Copyright (C) 2003 Free Software Foundation, Inc. ->>>>>>> .merge-right.r276078 +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF +cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -<<<<<<< .working -generated by GNU Autoconf 2.61. Invocation command line was -======= -generated by GNU Autoconf 2.59. Invocation command line was ->>>>>>> .merge-right.r276078 +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF +exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -2543,7 +2523,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` @@ -2555,8 +2535,9 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" + $as_echo "PATH: $as_dir" done +IFS=$as_save_IFS } >&5 @@ -2578,7 +2559,6 @@ _ACEOF ac_configure_args= ac_configure_args0= ac_configure_args1= -ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -2589,13 +2569,8 @@ do -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; -<<<<<<< .working *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; -======= - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ->>>>>>> .merge-right.r276078 + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; @@ -2616,9 +2591,7 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done @@ -2629,8 +2602,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_ # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { @@ -2643,38 +2616,35 @@ trap 'exit_status=$? _ASBOX echo # The following way of writing the cache mishandles newlines in values, -<<<<<<< .working ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $as_unset $ac_var ;; esac ;; esac done -======= -{ ->>>>>>> .merge-right.r276078 (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) echo cat <<\_ASBOX @@ -2685,38 +2655,28 @@ _ASBOX echo for ac_var in $ac_subst_vars do -<<<<<<< .working eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" -======= - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" ->>>>>>> .merge-right.r276078 + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## +## ------------------- ## +## File substitutions. ## +## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do -<<<<<<< .working eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" -======= - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" ->>>>>>> .merge-right.r276078 + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -2728,26 +2688,24 @@ _ASBOX ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h | sort + cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status - ' 0 +' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h # Predefined preprocessor variables. @@ -2777,35 +2735,24 @@ _ACEOF # Let the site file select an alternate cache file if it wants to. -<<<<<<< .working -# Prefer explicitly selected file to automatically selected ones. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" + ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -======= -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi ->>>>>>> .merge-right.r276078 + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi -<<<<<<< .working -shift -for ac_site_file +for ac_site_file in "$ac_site_file1" "$ac_site_file2" do -======= -for ac_site_file in $CONFIG_SITE; do ->>>>>>> .merge-right.r276078 + test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi @@ -2815,58 +2762,61 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in -<<<<<<< .working - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; -======= - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ->>>>>>> .merge-right.r276078 + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -2876,19 +2826,15 @@ echo "$as_me: current value: $ac_new_val" >&2;} fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - @@ -2905,1032 +2851,1037 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$@" >config.parms -# Check whether --with-gnu-patch or --without-gnu-patch was given. +# Check whether --with-gnu-patch was given. if test "${with_gnu_patch+set}" = set; then - withval="$with_gnu_patch" + withval=$with_gnu_patch; +fi -fi; -# Check whether --with-agg or --without-agg was given. +# Check whether --with-agg was given. if test "${with_agg+set}" = set; then - withval="$with_agg" - + withval=$with_agg; else with_agg=yes -fi; +fi -# Check whether --with-gnu-cp or --without-gnu-cp was given. + +# Check whether --with-gnu-cp was given. if test "${with_gnu_cp+set}" = set; then - withval="$with_gnu_cp" + withval=$with_gnu_cp; +fi -fi; -# Check whether --enable-graphite or --disable-graphite was given. +# Check whether --enable-graphite was given. if test "${enable_graphite+set}" = set; then - enableval="$enable_graphite" + enableval=$enable_graphite; +fi -fi; -# Check whether --with-system-graphite or --without-system-graphite was given. +# Check whether --with-system-graphite was given. if test "${with_system_graphite+set}" = set; then - withval="$with_system_graphite" + withval=$with_system_graphite; +fi -fi; -# Check whether --enable-ldap or --disable-ldap was given. +# Check whether --enable-ldap was given. if test "${enable_ldap+set}" = set; then - enableval="$enable_ldap" + enableval=$enable_ldap; +fi -fi; -# Check whether --with-openldap or --without-openldap was given. +# Check whether --with-openldap was given. if test "${with_openldap+set}" = set; then - withval="$with_openldap" + withval=$with_openldap; +fi -fi; -# Check whether --enable-lockdown or --disable-lockdown was given. +# Check whether --enable-lockdown was given. if test "${enable_lockdown+set}" = set; then - enableval="$enable_lockdown" + enableval=$enable_lockdown; +fi -fi; -# Check whether --enable-vba or --disable-vba was given. +# Check whether --enable-vba was given. if test "${enable_vba+set}" = set; then - enableval="$enable_vba" + enableval=$enable_vba; +fi -fi; -# Check whether --with-vba-package-format or --without-vba-package-format was given. +# Check whether --with-vba-package-format was given. if test "${with_vba_package_format+set}" = set; then - withval="$with_vba_package_format" + withval=$with_vba_package_format; +fi -fi; -# Check whether --enable-pch or --disable-pch was given. +# Check whether --enable-pch was given. if test "${enable_pch+set}" = set; then - enableval="$enable_pch" + enableval=$enable_pch; +fi -fi; -# Check whether --enable-hids or --disable-hids was given. +# Check whether --enable-hids was given. if test "${enable_hids+set}" = set; then - enableval="$enable_hids" + enableval=$enable_hids; +fi -fi; -# Check whether --enable-mozilla or --disable-mozilla was given. +# Check whether --enable-mozilla was given. if test "${enable_mozilla+set}" = set; then - enableval="$enable_mozilla" - + enableval=$enable_mozilla; else enable_mozilla="yes" -fi; +fi + -# Check whether --with-fonts or --without-fonts was given. +# Check whether --with-fonts was given. if test "${with_fonts+set}" = set; then - withval="$with_fonts" + withval=$with_fonts; +fi -fi; -# Check whether --with-ppds or --without-ppds was given. +# Check whether --with-ppds was given. if test "${with_ppds+set}" = set; then - withval="$with_ppds" + withval=$with_ppds; +fi -fi; -# Check whether --with-afms or --without-afms was given. +# Check whether --with-afms was given. if test "${with_afms+set}" = set; then - withval="$with_afms" + withval=$with_afms; +fi -fi; -# Check whether --enable-epm or --disable-epm was given. +# Check whether --enable-epm was given. if test "${enable_epm+set}" = set; then - enableval="$enable_epm" - + enableval=$enable_epm; else enable_epm="yes" -fi; +fi + -# Check whether --with-epm or --without-epm was given. +# Check whether --with-epm was given. if test "${with_epm+set}" = set; then - withval="$with_epm" + withval=$with_epm; +fi -fi; -# Check whether --with-package-format or --without-package-format was given. +# Check whether --with-package-format was given. if test "${with_package_format+set}" = set; then - withval="$with_package_format" + withval=$with_package_format; +fi -fi; -# Check whether --enable-odk or --disable-odk was given. +# Check whether --enable-odk was given. if test "${enable_odk+set}" = set; then - enableval="$enable_odk" - + enableval=$enable_odk; else enable_odk="yes" -fi; -# Check whether --enable-qadevooo or --disable-qadevooo was given. -if test "${enable_qadevooo+set}" = set; then - enableval="$enable_qadevooo" +fi +# Check whether --enable-qadevooo was given. +if test "${enable_qadevooo+set}" = set; then + enableval=$enable_qadevooo; else enable_qadevooo="yes" -fi; -# Check whether --enable-fontooo or --disable-fontooo was given. -if test "${enable_fontooo+set}" = set; then - enableval="$enable_fontooo" +fi +# Check whether --enable-fontooo was given. +if test "${enable_fontooo+set}" = set; then + enableval=$enable_fontooo; else enable_fontooo="yes" -fi; -# Check whether --enable-mathmldtd or --disable-mathmldtd was given. -if test "${enable_mathmldtd+set}" = set; then - enableval="$enable_mathmldtd" +fi +# Check whether --enable-mathmldtd was given. +if test "${enable_mathmldtd+set}" = set; then + enableval=$enable_mathmldtd; else enable_mathmldtd="yes" -fi; -# Check whether --enable-evolution2 or --disable-evolution2 was given. +fi + +# Check whether --enable-evolution2 was given. if test "${enable_evolution2+set}" = set; then - enableval="$enable_evolution2" + enableval=$enable_evolution2; +fi -fi; -# Check whether --with-system-stdlibs or --without-system-stdlibs was given. +# Check whether --with-system-stdlibs was given. if test "${with_system_stdlibs+set}" = set; then - withval="$with_system_stdlibs" - + withval=$with_system_stdlibs; else checkforprelink=yes -fi; +fi + -# Check whether --with-system-mspack or --without-system-mspack was given. +# Check whether --with-system-mspack was given. if test "${with_system_mspack+set}" = set; then - withval="$with_system_mspack" + withval=$with_system_mspack; +fi -fi; -# Check whether --enable-cups or --disable-cups was given. +# Check whether --enable-cups was given. if test "${enable_cups+set}" = set; then - enableval="$enable_cups" - + enableval=$enable_cups; else enable_cups=yes -fi; -# Check whether --enable-fontconfig or --disable-fontconfig was given. -if test "${enable_fontconfig+set}" = set; then - enableval="$enable_fontconfig" +fi +# Check whether --enable-fontconfig was given. +if test "${enable_fontconfig+set}" = set; then + enableval=$enable_fontconfig; else enable_fontconfig=yes -fi; -# Check whether --enable-directx or --disable-directx was given. -if test "${enable_directx+set}" = set; then - enableval="$enable_directx" +fi +# Check whether --enable-directx was given. +if test "${enable_directx+set}" = set; then + enableval=$enable_directx; else enable_directx=yes -fi; -# Check whether --enable-activex or --disable-activex was given. +fi + +# Check whether --enable-activex was given. if test "${enable_activex+set}" = set; then - enableval="$enable_activex" + enableval=$enable_activex; +fi -fi; -# Check whether --enable-atl or --disable-atl was given. +# Check whether --enable-atl was given. if test "${enable_atl+set}" = set; then - enableval="$enable_atl" + enableval=$enable_atl; +fi -fi; -# Check whether --enable-symbols or --disable-symbols was given. +# Check whether --enable-symbols was given. if test "${enable_symbols+set}" = set; then - enableval="$enable_symbols" + enableval=$enable_symbols; +fi -fi; -# Check whether --enable-strip-solver or --disable-strip-solver was given. +# Check whether --enable-strip-solver was given. if test "${enable_strip_solver+set}" = set; then - enableval="$enable_strip_solver" + enableval=$enable_strip_solver; +fi -fi; -# Check whether --enable-werror or --disable-werror was given. +# Check whether --enable-werror was given. if test "${enable_werror+set}" = set; then - enableval="$enable_werror" + enableval=$enable_werror; +fi -fi; -# Check whether --enable-debug or --disable-debug was given. +# Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then - enableval="$enable_debug" + enableval=$enable_debug; +fi -fi; -# Check whether --enable-dbgutil or --disable-dbgutil was given. +# Check whether --enable-dbgutil was given. if test "${enable_dbgutil+set}" = set; then - enableval="$enable_dbgutil" + enableval=$enable_dbgutil; +fi -fi; -# Check whether --enable-crashdump or --disable-crashdump was given. +# Check whether --enable-crashdump was given. if test "${enable_crashdump+set}" = set; then - enableval="$enable_crashdump" - + enableval=$enable_crashdump; else enable_crashdump=no -fi; -# Check whether --enable-cl-standard or --disable-cl-standard was given. +fi + +# Check whether --enable-cl-standard was given. if test "${enable_cl_standard+set}" = set; then - enableval="$enable_cl_standard" + enableval=$enable_cl_standard; +fi -fi; -# Check whether --enable-gtk or --disable-gtk was given. +# Check whether --enable-gtk was given. if test "${enable_gtk+set}" = set; then - enableval="$enable_gtk" - + enableval=$enable_gtk; else enable_gtk=yes -fi; -# Check whether --enable-systray or --disable-systray was given. -if test "${enable_systray+set}" = set; then - enableval="$enable_systray" +fi +# Check whether --enable-systray was given. +if test "${enable_systray+set}" = set; then + enableval=$enable_systray; else enable_systray=yes -fi; -# Check whether --enable-cairo or --disable-cairo was given. -if test "${enable_cairo+set}" = set; then - enableval="$enable_cairo" +fi +# Check whether --enable-cairo was given. +if test "${enable_cairo+set}" = set; then + enableval=$enable_cairo; else enable_cairo=no -fi; +fi + -# Check whether --with-system-cairo or --without-system-cairo was given. +# Check whether --with-system-cairo was given. if test "${with_system_cairo+set}" = set; then - withval="$with_system_cairo" + withval=$with_system_cairo; +fi -fi; -# Check whether --enable-opengl or --disable-opengl was given. +# Check whether --enable-opengl was given. if test "${enable_opengl+set}" = set; then - enableval="$enable_opengl" - + enableval=$enable_opengl; else enable_opengl=no -fi; -# Check whether --enable-dbus or --disable-dbus was given. -if test "${enable_dbus+set}" = set; then - enableval="$enable_dbus" +fi +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then + enableval=$enable_dbus; else enable_dbus=no -fi; -# Check whether --enable-gconf or --disable-gconf was given. -if test "${enable_gconf+set}" = set; then - enableval="$enable_gconf" +fi +# Check whether --enable-gconf was given. +if test "${enable_gconf+set}" = set; then + enableval=$enable_gconf; else enable_gconf=yes -fi; -# Check whether --enable-gnome-vfs or --disable-gnome-vfs was given. -if test "${enable_gnome_vfs+set}" = set; then - enableval="$enable_gnome_vfs" +fi +# Check whether --enable-gnome-vfs was given. +if test "${enable_gnome_vfs+set}" = set; then + enableval=$enable_gnome_vfs; else enable_gnome_vfs=yes -fi; -# Check whether --enable-gio or --disable-gio was given. -if test "${enable_gio+set}" = set; then - enableval="$enable_gio" +fi +# Check whether --enable-gio was given. +if test "${enable_gio+set}" = set; then + enableval=$enable_gio; else enable_gio=no -fi; -# Check whether --enable-static-gtk or --disable-static-gtk was given. +fi + +# Check whether --enable-static-gtk was given. if test "${enable_static_gtk+set}" = set; then - enableval="$enable_static_gtk" + enableval=$enable_static_gtk; +fi -fi; -# Check whether --enable-layout or --disable-layout was given. +# Check whether --enable-layout was given. if test "${enable_layout+set}" = set; then - enableval="$enable_layout" + enableval=$enable_layout; +fi -fi; -# Check whether --enable-build-mozilla or --disable-build-mozilla was given. +# Check whether --enable-build-mozilla was given. if test "${enable_build_mozilla+set}" = set; then - enableval="$enable_build_mozilla" + enableval=$enable_build_mozilla; +fi -fi; -# Check whether --with-mozilla-version or --without-mozilla-version was given. +# Check whether --with-mozilla-version was given. if test "${with_mozilla_version+set}" = set; then - withval="$with_mozilla_version" + withval=$with_mozilla_version; +fi -fi; -# Check whether --with-mozilla-toolkit or --without-mozilla-toolkit was given. +# Check whether --with-mozilla-toolkit was given. if test "${with_mozilla_toolkit+set}" = set; then - withval="$with_mozilla_toolkit" + withval=$with_mozilla_toolkit; +fi -fi; -# Check whether --enable-nss_module or --disable-nss_module was given. +# Check whether --enable-nss_module was given. if test "${enable_nss_module+set}" = set; then - enableval="$enable_nss_module" - + enableval=$enable_nss_module; else enable_nss_module=yes -fi; -# Check whether --enable-kde or --disable-kde was given. +fi + +# Check whether --enable-kde was given. if test "${enable_kde+set}" = set; then - enableval="$enable_kde" + enableval=$enable_kde; +fi -fi; -# Check whether --enable-kdeab or --disable-kdeab was given. +# Check whether --enable-kdeab was given. if test "${enable_kdeab+set}" = set; then - enableval="$enable_kdeab" - + enableval=$enable_kdeab; else if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi -fi; -# Check whether --enable-kde4 or --disable-kde4 was given. +fi + +# Check whether --enable-kde4 was given. if test "${enable_kde4+set}" = set; then - enableval="$enable_kde4" + enableval=$enable_kde4; +fi -fi; -# Check whether --enable-binfilter or --disable-binfilter was given. +# Check whether --enable-binfilter was given. if test "${enable_binfilter+set}" = set; then - enableval="$enable_binfilter" - + enableval=$enable_binfilter; else if ! test -d ./binfilter; then enable_binfilter=no; fi -fi; -# Check whether --enable-rpath or --disable-rpath was given. +fi + +# Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" + enableval=$enable_rpath; +fi -fi; -# Check whether --enable-pam or --disable-pam was given. +# Check whether --enable-pam was given. if test "${enable_pam+set}" = set; then - enableval="$enable_pam" + enableval=$enable_pam; +fi -fi; -# Check whether --enable-pam-link or --disable-pam-link was given. +# Check whether --enable-pam-link was given. if test "${enable_pam_link+set}" = set; then - enableval="$enable_pam_link" + enableval=$enable_pam_link; +fi -fi; -# Check whether --enable-crypt-link or --disable-crypt-link was given. +# Check whether --enable-crypt-link was given. if test "${enable_crypt_link+set}" = set; then - enableval="$enable_crypt_link" - + enableval=$enable_crypt_link; else enable_crypt_link=yes -fi; -# Check whether --enable-xrender-link or --disable-xrender-link was given. +fi + +# Check whether --enable-xrender-link was given. if test "${enable_xrender_link+set}" = set; then - enableval="$enable_xrender_link" + enableval=$enable_xrender_link; +fi -fi; -# Check whether --enable-randr or --disable-randr was given. +# Check whether --enable-randr was given. if test "${enable_randr+set}" = set; then - enableval="$enable_randr" - + enableval=$enable_randr; else enable_randr=yes -fi; -# Check whether --enable-randr-link or --disable-randr-link was given. -if test "${enable_randr_link+set}" = set; then - enableval="$enable_randr_link" +fi +# Check whether --enable-randr-link was given. +if test "${enable_randr_link+set}" = set; then + enableval=$enable_randr_link; else enable_randr_link=yes -fi; +fi -# Check whether --with-myspell-dicts or --without-myspell-dicts was given. + +# Check whether --with-myspell-dicts was given. if test "${with_myspell_dicts+set}" = set; then - withval="$with_myspell_dicts" + withval=$with_myspell_dicts; +fi -fi; -# Check whether --with-system-dicts or --without-system-dicts was given. +# Check whether --with-system-dicts was given. if test "${with_system_dicts+set}" = set; then - withval="$with_system_dicts" + withval=$with_system_dicts; +fi -fi; -# Check whether --with-external-dict-dir or --without-external-dict-dir was given. +# Check whether --with-external-dict-dir was given. if test "${with_external_dict_dir+set}" = set; then - withval="$with_external_dict_dir" + withval=$with_external_dict_dir; +fi -fi; -# Check whether --with-external-hyph-dir or --without-external-hyph-dir was given. +# Check whether --with-external-hyph-dir was given. if test "${with_external_hyph_dir+set}" = set; then - withval="$with_external_hyph_dir" + withval=$with_external_hyph_dir; +fi -fi; -# Check whether --with-external-thes-dir or --without-external-thes-dir was given. +# Check whether --with-external-thes-dir was given. if test "${with_external_thes_dir+set}" = set; then - withval="$with_external_thes_dir" + withval=$with_external_thes_dir; +fi -fi; -# Check whether --with-system-libs or --without-system-libs was given. +# Check whether --with-system-libs was given. if test "${with_system_libs+set}" = set; then - withval="$with_system_libs" + withval=$with_system_libs; +fi -fi; -# Check whether --with-system-headers or --without-system-headers was given. +# Check whether --with-system-headers was given. if test "${with_system_headers+set}" = set; then - withval="$with_system_headers" + withval=$with_system_headers; +fi -fi; -# Check whether --with-system-jars or --without-system-jars was given. +# Check whether --with-system-jars was given. if test "${with_system_jars+set}" = set; then - withval="$with_system_jars" + withval=$with_system_jars; +fi -fi; -# Check whether --with-system-zlib or --without-system-zlib was given. +# Check whether --with-system-zlib was given. if test "${with_system_zlib+set}" = set; then - withval="$with_system_zlib" + withval=$with_system_zlib; +fi -fi; -# Check whether --with-system-openssl or --without-system-openssl was given. +# Check whether --with-system-openssl was given. if test "${with_system_openssl+set}" = set; then - withval="$with_system_openssl" + withval=$with_system_openssl; +fi -fi; -# Check whether --with-system-jpeg or --without-system-jpeg was given. +# Check whether --with-system-jpeg was given. if test "${with_system_jpeg+set}" = set; then - withval="$with_system_jpeg" + withval=$with_system_jpeg; +fi -fi; -# Check whether --with-system-expat or --without-system-expat was given. +# Check whether --with-system-expat was given. if test "${with_system_expat+set}" = set; then - withval="$with_system_expat" + withval=$with_system_expat; +fi -fi; -# Check whether --with-system-libwpd or --without-system-libwpd was given. +# Check whether --with-system-libwpd was given. if test "${with_system_libwpd+set}" = set; then - withval="$with_system_libwpd" + withval=$with_system_libwpd; +fi -fi; -# Check whether --with-system-libxml or --without-system-libxml was given. +# Check whether --with-system-libxml was given. if test "${with_system_libxml+set}" = set; then - withval="$with_system_libxml" + withval=$with_system_libxml; +fi -fi; -# Check whether --with-system-python or --without-system-python was given. +# Check whether --with-system-python was given. if test "${with_system_python+set}" = set; then - withval="$with_system_python" + withval=$with_system_python; +fi -fi; -# Check whether --with-system-icu or --without-system-icu was given. +# Check whether --with-system-icu was given. if test "${with_system_icu+set}" = set; then - withval="$with_system_icu" + withval=$with_system_icu; +fi -fi; -# Check whether --with-system-poppler or --without-system-poppler was given. +# Check whether --with-system-poppler was given. if test "${with_system_poppler+set}" = set; then - withval="$with_system_poppler" + withval=$with_system_poppler; +fi -fi; -# Check whether --with-system-db or --without-system-db was given. +# Check whether --with-system-db was given. if test "${with_system_db+set}" = set; then - withval="$with_system_db" + withval=$with_system_db; +fi -fi; -# Check whether --with-system-lucene or --without-system-lucene was given. +# Check whether --with-system-lucene was given. if test "${with_system_lucene+set}" = set; then - withval="$with_system_lucene" + withval=$with_system_lucene; +fi -fi; -# Check whether --with-lucene-core-jar or --without-lucene-core-jar was given. +# Check whether --with-lucene-core-jar was given. if test "${with_lucene_core_jar+set}" = set; then - withval="$with_lucene_core_jar" - LUCENE_CORE_JAR="$withval" + withval=$with_lucene_core_jar; LUCENE_CORE_JAR="$withval" + +fi -fi; -# Check whether --with-lucene-analyzers-jar or --without-lucene-analyzers-jar was given. +# Check whether --with-lucene-analyzers-jar was given. if test "${with_lucene_analyzers_jar+set}" = set; then - withval="$with_lucene_analyzers_jar" - LUCENE_ANALYZERS_JAR="$withval" + withval=$with_lucene_analyzers_jar; LUCENE_ANALYZERS_JAR="$withval" + +fi -fi; -# Check whether --with-system-hsqldb or --without-system-hsqldb was given. +# Check whether --with-system-hsqldb was given. if test "${with_system_hsqldb+set}" = set; then - withval="$with_system_hsqldb" + withval=$with_system_hsqldb; +fi -fi; -# Check whether --with-hsqldb-jar or --without-hsqldb-jar was given. +# Check whether --with-hsqldb-jar was given. if test "${with_hsqldb_jar+set}" = set; then - withval="$with_hsqldb_jar" - HSQLDB_JAR="$withval" + withval=$with_hsqldb_jar; HSQLDB_JAR="$withval" + +fi -fi; -# Check whether --with-system-beanshell or --without-system-beanshell was given. +# Check whether --with-system-beanshell was given. if test "${with_system_beanshell+set}" = set; then - withval="$with_system_beanshell" + withval=$with_system_beanshell; +fi -fi; -# Check whether --with-beanshell-jar or --without-beanshell-jar was given. +# Check whether --with-beanshell-jar was given. if test "${with_beanshell_jar+set}" = set; then - withval="$with_beanshell_jar" - BSH_JAR="$withval" + withval=$with_beanshell_jar; BSH_JAR="$withval" + +fi -fi; -# Check whether --enable-minimizer or --disable-minimizer was given. +# Check whether --enable-minimizer was given. if test "${enable_minimizer+set}" = set; then - enableval="$enable_minimizer" + enableval=$enable_minimizer; +fi -fi; -# Check whether --enable-presenter-console or --disable-presenter-console was given. +# Check whether --enable-presenter-console was given. if test "${enable_presenter_console+set}" = set; then - enableval="$enable_presenter_console" + enableval=$enable_presenter_console; +fi -fi; -# Check whether --enable-pdfimport or --disable-pdfimport was given. +# Check whether --enable-pdfimport was given. if test "${enable_pdfimport+set}" = set; then - enableval="$enable_pdfimport" + enableval=$enable_pdfimport; +fi -fi; -# Check whether --enable-wiki-publisher or --disable-wiki-publisher was given. +# Check whether --enable-wiki-publisher was given. if test "${enable_wiki_publisher+set}" = set; then - enableval="$enable_wiki_publisher" + enableval=$enable_wiki_publisher; +fi -fi; -# Check whether --with-commons-codec-jar or --without-commons-codec-jar was given. +# Check whether --with-commons-codec-jar was given. if test "${with_commons_codec_jar+set}" = set; then - withval="$with_commons_codec_jar" - COMMONS_CODEC_JAR="$withval" + withval=$with_commons_codec_jar; COMMONS_CODEC_JAR="$withval" + +fi -fi; -# Check whether --with-commons-lang-jar or --without-commons-lang-jar was given. +# Check whether --with-commons-lang-jar was given. if test "${with_commons_lang_jar+set}" = set; then - withval="$with_commons_lang_jar" - COMMONS_LANG_JAR="$withval" + withval=$with_commons_lang_jar; COMMONS_LANG_JAR="$withval" + +fi -fi; -# Check whether --with-commons-httpclient-jar or --without-commons-httpclient-jar was given. +# Check whether --with-commons-httpclient-jar was given. if test "${with_commons_httpclient_jar+set}" = set; then - withval="$with_commons_httpclient_jar" - COMMONS_HTTPCLIENT_JAR="$withval" + withval=$with_commons_httpclient_jar; COMMONS_HTTPCLIENT_JAR="$withval" + +fi -fi; -# Check whether --with-commons-logging-jar or --without-commons-logging-jar was given. +# Check whether --with-commons-logging-jar was given. if test "${with_commons_logging_jar+set}" = set; then - withval="$with_commons_logging_jar" - COMMONS_LOGGING_JAR="$withval" + withval=$with_commons_logging_jar; COMMONS_LOGGING_JAR="$withval" + +fi -fi; -# Check whether --with-servlet-api-jar or --without-servlet-api-jar was given. +# Check whether --with-servlet-api-jar was given. if test "${with_servlet_api_jar+set}" = set; then - withval="$with_servlet_api_jar" - SERVLETAPI_JAR="$withval" + withval=$with_servlet_api_jar; SERVLETAPI_JAR="$withval" -fi; -# Check whether --enable-report-builder or --disable-report-builder was given. +fi + +# Check whether --enable-report-builder was given. if test "${enable_report_builder+set}" = set; then - enableval="$enable_report_builder" + enableval=$enable_report_builder; +fi -fi; -# Check whether --with-system-jfreereport or --without-system-jfreereport was given. +# Check whether --with-system-jfreereport was given. if test "${with_system_jfreereport+set}" = set; then - withval="$with_system_jfreereport" + withval=$with_system_jfreereport; +fi -fi; -# Check whether --with-sac-jar or --without-sac-jar was given. +# Check whether --with-sac-jar was given. if test "${with_sac_jar+set}" = set; then - withval="$with_sac_jar" - SAC_JAR="$withval" + withval=$with_sac_jar; SAC_JAR="$withval" + +fi -fi; -# Check whether --with-libxml-jar or --without-libxml-jar was given. +# Check whether --with-libxml-jar was given. if test "${with_libxml_jar+set}" = set; then - withval="$with_libxml_jar" - LIBXML_JAR="$withval" + withval=$with_libxml_jar; LIBXML_JAR="$withval" + +fi -fi; -# Check whether --with-flute-jar or --without-flute-jar was given. +# Check whether --with-flute-jar was given. if test "${with_flute_jar+set}" = set; then - withval="$with_flute_jar" - FLUTE_JAR="$withval" + withval=$with_flute_jar; FLUTE_JAR="$withval" + +fi -fi; -# Check whether --with-jfreereport-jar or --without-jfreereport-jar was given. +# Check whether --with-jfreereport-jar was given. if test "${with_jfreereport_jar+set}" = set; then - withval="$with_jfreereport_jar" - JFREEREPORT_JAR="$withval" + withval=$with_jfreereport_jar; JFREEREPORT_JAR="$withval" + +fi -fi; -# Check whether --with-liblayout-jar or --without-liblayout-jar was given. +# Check whether --with-liblayout-jar was given. if test "${with_liblayout_jar+set}" = set; then - withval="$with_liblayout_jar" - LIBLAYOUT_JAR="$withval" + withval=$with_liblayout_jar; LIBLAYOUT_JAR="$withval" + +fi -fi; -# Check whether --with-libloader-jar or --without-libloader-jar was given. +# Check whether --with-libloader-jar was given. if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" + +fi -fi; -# Check whether --with-libloader-jar or --without-libloader-jar was given. +# Check whether --with-libloader-jar was given. if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" + +fi -fi; -# Check whether --with-libformula-jar or --without-libformula-jar was given. +# Check whether --with-libformula-jar was given. if test "${with_libformula_jar+set}" = set; then - withval="$with_libformula_jar" - LIBFORMULA_JAR="$withval" + withval=$with_libformula_jar; LIBFORMULA_JAR="$withval" + +fi -fi; -# Check whether --with-librepository-jar or --without-librepository-jar was given. +# Check whether --with-librepository-jar was given. if test "${with_librepository_jar+set}" = set; then - withval="$with_librepository_jar" - LIBREPOSITORY_JAR="$withval" + withval=$with_librepository_jar; LIBREPOSITORY_JAR="$withval" + +fi -fi; -# Check whether --with-libfonts-jar or --without-libfonts-jar was given. +# Check whether --with-libfonts-jar was given. if test "${with_libfonts_jar+set}" = set; then - withval="$with_libfonts_jar" - LIBFONTS_JAR="$withval" + withval=$with_libfonts_jar; LIBFONTS_JAR="$withval" + +fi -fi; -# Check whether --with-libserializer-jar or --without-libserializer-jar was given. +# Check whether --with-libserializer-jar was given. if test "${with_libserializer_jar+set}" = set; then - withval="$with_libserializer_jar" - LIBSERIALIZER_JAR="$withval" + withval=$with_libserializer_jar; LIBSERIALIZER_JAR="$withval" + +fi -fi; -# Check whether --with-libbase-jar or --without-libbase-jar was given. +# Check whether --with-libbase-jar was given. if test "${with_libbase_jar+set}" = set; then - withval="$with_libbase_jar" - LIBBASE_JAR="$withval" + withval=$with_libbase_jar; LIBBASE_JAR="$withval" + +fi -fi; -# Check whether --with-system-saxon or --without-system-saxon was given. +# Check whether --with-system-saxon was given. if test "${with_system_saxon+set}" = set; then - withval="$with_system_saxon" + withval=$with_system_saxon; +fi -fi; -# Check whether --with-saxon-jar or --without-saxon-jar was given. +# Check whether --with-saxon-jar was given. if test "${with_saxon_jar+set}" = set; then - withval="$with_saxon_jar" - SAXON_JAR="$withval" + withval=$with_saxon_jar; SAXON_JAR="$withval" + +fi -fi; -# Check whether --with-system-libxslt or --without-system-libxslt was given. +# Check whether --with-system-libxslt was given. if test "${with_system_libxslt+set}" = set; then - withval="$with_system_libxslt" + withval=$with_system_libxslt; +fi -fi; -# Check whether --with-system-odbc or --without-system-odbc was given. +# Check whether --with-system-odbc was given. if test "${with_system_odbc+set}" = set; then - withval="$with_system_odbc" + withval=$with_system_odbc; +fi -fi; -# Check whether --with-system-sane or --without-system-sane was given. +# Check whether --with-system-sane was given. if test "${with_system_sane+set}" = set; then - withval="$with_system_sane" + withval=$with_system_sane; +fi -fi; -# Check whether --with-system-xrender or --without-system-xrender was given. +# Check whether --with-system-xrender was given. if test "${with_system_xrender+set}" = set; then - withval="$with_system_xrender" + withval=$with_system_xrender; +fi -fi; -# Check whether --with-system-curl or --without-system-curl was given. +# Check whether --with-system-curl was given. if test "${with_system_curl+set}" = set; then - withval="$with_system_curl" + withval=$with_system_curl; +fi -fi; -# Check whether --with-system-boost or --without-system-boost was given. +# Check whether --with-system-boost was given. if test "${with_system_boost+set}" = set; then - withval="$with_system_boost" + withval=$with_system_boost; +fi -fi; -# Check whether --with-system-vigra or --without-system-vigra was given. +# Check whether --with-system-vigra was given. if test "${with_system_vigra+set}" = set; then - withval="$with_system_vigra" + withval=$with_system_vigra; +fi -fi; -# Check whether --enable-neon or --disable-neon was given. +# Check whether --enable-neon was given. if test "${enable_neon+set}" = set; then - enableval="$enable_neon" + enableval=$enable_neon; +fi -fi; -# Check whether --enable-Xaw or --disable-Xaw was given. +# Check whether --enable-Xaw was given. if test "${enable_Xaw+set}" = set; then - enableval="$enable_Xaw" + enableval=$enable_Xaw; +fi -fi; -# Check whether --with-system-neon or --without-system-neon was given. +# Check whether --with-system-neon was given. if test "${with_system_neon+set}" = set; then - withval="$with_system_neon" + withval=$with_system_neon; +fi -fi; -# Check whether --with-system-agg or --without-system-agg was given. +# Check whether --with-system-agg was given. if test "${with_system_agg+set}" = set; then - withval="$with_system_agg" + withval=$with_system_agg; +fi -fi; -# Check whether --with-system-hunspell or --without-system-hunspell was given. +# Check whether --with-system-hunspell was given. if test "${with_system_hunspell+set}" = set; then - withval="$with_system_hunspell" + withval=$with_system_hunspell; +fi -fi; -# Check whether --with-system-mythes or --without-system-mythes was given. +# Check whether --with-system-mythes was given. if test "${with_system_mythes+set}" = set; then - withval="$with_system_mythes" + withval=$with_system_mythes; +fi -fi; -# Check whether --with-system-altlinuxhyph or --without-system-altlinuxhyph was given. +# Check whether --with-system-altlinuxhyph was given. if test "${with_system_altlinuxhyph+set}" = set; then - withval="$with_system_altlinuxhyph" + withval=$with_system_altlinuxhyph; +fi -fi; -# Check whether --with-system-lpsolve or --without-system-lpsolve was given. +# Check whether --with-system-lpsolve was given. if test "${with_system_lpsolve+set}" = set; then - withval="$with_system_lpsolve" + withval=$with_system_lpsolve; +fi -fi; -# Check whether --with-system-mozilla or --without-system-mozilla was given. +# Check whether --with-system-mozilla was given. if test "${with_system_mozilla+set}" = set; then - withval="$with_system_mozilla" - WITH_SYSTEM_MOZILLA=$withval + withval=$with_system_mozilla; WITH_SYSTEM_MOZILLA=$withval else WITH_SYSTEM_MOZILLA=no -fi; +fi + -# Check whether --with-stlport or --without-stlport was given. +# Check whether --with-stlport was given. if test "${with_stlport+set}" = set; then - withval="$with_stlport" - WITH_STLPORT=$withval + withval=$with_stlport; WITH_STLPORT=$withval else WITH_STLPORT=auto -fi; +fi + -# Check whether --with-jdk-home or --without-jdk-home was given. +# Check whether --with-jdk-home was given. if test "${with_jdk_home+set}" = set; then - withval="$with_jdk_home" + withval=$with_jdk_home; +fi -fi; -# Check whether --with-gxx_include_path or --without-gxx_include_path was given. +# Check whether --with-gxx_include_path was given. if test "${with_gxx_include_path+set}" = set; then - withval="$with_gxx_include_path" + withval=$with_gxx_include_path; +fi -fi; -# Check whether --with-java or --without-java was given. +# Check whether --with-java was given. if test "${with_java+set}" = set; then - withval="$with_java" - if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi + withval=$with_java; if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi else WITH_JAVA=java -fi; -# Check whether --enable-gcjaot or --disable-gcjaot was given. +fi + +# Check whether --enable-gcjaot was given. if test "${enable_gcjaot+set}" = set; then - enableval="$enable_gcjaot" + enableval=$enable_gcjaot; +fi -fi; -# Check whether --with-ant-home or --without-ant-home was given. +# Check whether --with-ant-home was given. if test "${with_ant_home+set}" = set; then - withval="$with_ant_home" + withval=$with_ant_home; +fi -fi; -# Check whether --with-perl-home or --without-perl-home was given. +# Check whether --with-perl-home was given. if test "${with_perl_home+set}" = set; then - withval="$with_perl_home" + withval=$with_perl_home; +fi -fi; -# Check whether --with-cl-home or --without-cl-home was given. +# Check whether --with-cl-home was given. if test "${with_cl_home+set}" = set; then - withval="$with_cl_home" + withval=$with_cl_home; +fi -fi; -# Check whether --with-mspdb-path or --without-mspdb-path was given. +# Check whether --with-mspdb-path was given. if test "${with_mspdb_path+set}" = set; then - withval="$with_mspdb_path" + withval=$with_mspdb_path; +fi -fi; -# Check whether --with-midl-path or --without-midl-path was given. +# Check whether --with-midl-path was given. if test "${with_midl_path+set}" = set; then - withval="$with_midl_path" + withval=$with_midl_path; +fi -fi; -# Check whether --with-csc-path or --without-csc-path was given. +# Check whether --with-csc-path was given. if test "${with_csc_path+set}" = set; then - withval="$with_csc_path" + withval=$with_csc_path; +fi -fi; -# Check whether --with-nsis-path or --without-nsis-path was given. +# Check whether --with-nsis-path was given. if test "${with_nsis_path+set}" = set; then - withval="$with_nsis_path" + withval=$with_nsis_path; +fi -fi; -# Check whether --with-frame-home or --without-frame-home was given. +# Check whether --with-frame-home was given. if test "${with_frame_home+set}" = set; then - withval="$with_frame_home" + withval=$with_frame_home; +fi -fi; -# Check whether --with-psdk-home or --without-psdk-home was given. +# Check whether --with-psdk-home was given. if test "${with_psdk_home+set}" = set; then - withval="$with_psdk_home" + withval=$with_psdk_home; +fi -fi; -# Check whether --with-directx-home or --without-directx-home was given. +# Check whether --with-directx-home was given. if test "${with_directx_home+set}" = set; then - withval="$with_directx_home" + withval=$with_directx_home; +fi -fi; -# Check whether --with-mozilla-build or --without-mozilla-build was given. +# Check whether --with-mozilla-build was given. if test "${with_mozilla_build+set}" = set; then - withval="$with_mozilla_build" - MOZILLABUILD=$withval -fi; + withval=$with_mozilla_build; MOZILLABUILD=$withval +fi -# Check whether --with-local-solenv or --without-local-solenv was given. + +# Check whether --with-local-solenv was given. if test "${with_local_solenv+set}" = set; then - withval="$with_local_solenv" + withval=$with_local_solenv; +fi -fi; -# Check whether --with-local-solver or --without-local-solver was given. +# Check whether --with-local-solver was given. if test "${with_local_solver+set}" = set; then - withval="$with_local_solver" + withval=$with_local_solver; +fi -fi; -# Check whether --enable-check-only or --disable-check-only was given. +# Check whether --enable-check-only was given. if test "${enable_check_only+set}" = set; then - enableval="$enable_check_only" + enableval=$enable_check_only; +fi -fi; -# Check whether --with-lang or --without-lang was given. +# Check whether --with-lang was given. if test "${with_lang+set}" = set; then - withval="$with_lang" + withval=$with_lang; +fi -fi; -# Check whether --with-poor-help-localizations or --without-poor-help-localizations was given. +# Check whether --with-poor-help-localizations was given. if test "${with_poor_help_localizations+set}" = set; then - withval="$with_poor_help_localizations" + withval=$with_poor_help_localizations; +fi -fi; -# Check whether --with-dict or --without-dict was given. +# Check whether --with-dict was given. if test "${with_dict+set}" = set; then - withval="$with_dict" + withval=$with_dict; +fi -fi; -# Check whether --with-intro-bitmaps or --without-intro-bitmaps was given. +# Check whether --with-intro-bitmaps was given. if test "${with_intro_bitmaps+set}" = set; then - withval="$with_intro_bitmaps" + withval=$with_intro_bitmaps; +fi -fi; -# Check whether --with-about-bitmaps or --without-about-bitmaps was given. +# Check whether --with-about-bitmaps was given. if test "${with_about_bitmaps+set}" = set; then - withval="$with_about_bitmaps" + withval=$with_about_bitmaps; +fi -fi; -# Check whether --with-vendor or --without-vendor was given. +# Check whether --with-vendor was given. if test "${with_vendor+set}" = set; then - withval="$with_vendor" + withval=$with_vendor; +fi -fi; -# Check whether --with-unix-wrapper or --without-unix-wrapper was given. +# Check whether --with-unix-wrapper was given. if test "${with_unix_wrapper+set}" = set; then - withval="$with_unix_wrapper" + withval=$with_unix_wrapper; +fi -fi; -# Check whether --with-asm-home or --without-asm-home was given. +# Check whether --with-asm-home was given. if test "${with_asm_home+set}" = set; then - withval="$with_asm_home" + withval=$with_asm_home; +fi -fi; -# Check whether --with-os-version or --without-os-version was given. +# Check whether --with-os-version was given. if test "${with_os_version+set}" = set; then - withval="$with_os_version" + withval=$with_os_version; +fi -fi; -# Check whether --with-unzip-home or --without-unzip-home was given. +# Check whether --with-unzip-home was given. if test "${with_unzip_home+set}" = set; then - withval="$with_unzip_home" + withval=$with_unzip_home; +fi -fi; -# Check whether --with-zip-home or --without-zip-home was given. +# Check whether --with-zip-home was given. if test "${with_zip_home+set}" = set; then - withval="$with_zip_home" + withval=$with_zip_home; +fi -fi; -# Check whether --with-mingwin or --without-mingwin was given. +# Check whether --with-mingwin was given. if test "${with_mingwin+set}" = set; then - withval="$with_mingwin" - WITH_MINGWIN=$withval + withval=$with_mingwin; WITH_MINGWIN=$withval else WITH_MINGWIN=0 -fi; +fi -# Check whether --with-use-shell or --without-use-shell was given. + +# Check whether --with-use-shell was given. if test "${with_use_shell+set}" = set; then - withval="$with_use_shell" - with_use_shell=$withval + withval=$with_use_shell; with_use_shell=$withval else with_use_shell="tcsh" -fi; +fi -# Check whether --with-build-version or --without-build-version was given. + +# Check whether --with-build-version was given. if test "${with_build_version+set}" = set; then - withval="$with_build_version" - with_build_version=$withval -fi; -# Check whether --enable-sgistl or --disable-sgistl was given. + withval=$with_build_version; with_build_version=$withval +fi + +# Check whether --enable-sgistl was given. if test "${enable_sgistl+set}" = set; then - enableval="$enable_sgistl" + enableval=$enable_sgistl; +fi -fi; -# Check whether --with-alloc or --without-alloc was given. +# Check whether --with-alloc was given. if test "${with_alloc+set}" = set; then - withval="$with_alloc" + withval=$with_alloc; +fi -fi; -# Check whether --enable-verbose or --disable-verbose was given. +# Check whether --enable-verbose was given. if test "${enable_verbose+set}" = set; then - enableval="$enable_verbose" + enableval=$enable_verbose; +fi -fi; BUILD_TYPE="OOo" @@ -3957,50 +3908,37 @@ echo "* *" echo "********************************************************************" echo "" cat /dev/null > warn -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else + if test -z "$GREP"; then ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` @@ -4008,96 +3946,67 @@ case `"$ac_path_GREP" --version 2>&1` in # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count -======= - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' ->>>>>>> .merge-right.r276078 fi -<<<<<<< .working # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - - $ac_path_GREP_found && break 3 + $ac_path_GREP_found && break 3 + done done done - -done IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } -fi - + fi else ac_cv_path_GREP=$GREP -======= ->>>>>>> .merge-right.r276078 fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - -<<<<<<< .working fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -======= ->>>>>>> .merge-right.r276078 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else + if test -z "$EGREP"; then ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` @@ -4112,51 +4021,35 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - - $ac_path_EGREP_found && break 3 + $ac_path_EGREP_found && break 3 + done done done - -done IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } -fi - + fi else ac_cv_path_EGREP=$EGREP fi - fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -======= ->>>>>>> .merge-right.r276078 for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -4167,49 +4060,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -======= - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break done # Extract the first word of "$AWK", so it can be a program name with args. set dummy $AWK; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $AWK in [\\/]* | ?:[\\/]*) @@ -4222,40 +4102,31 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi AWK=$ac_cv_path_AWK - if test -n "$AWK"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -======= - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$AWK"; then - { { echo "$as_me:$LINENO: error: install awk to run this script" >&5 -echo "$as_me: error: install awk to run this script" >&2;} + { { $as_echo "$as_me:$LINENO: error: install awk to run this script" >&5 +$as_echo "$as_me: error: install awk to run this script" >&2;} { (exit 1); exit 1; }; } fi @@ -4263,15 +4134,10 @@ for ac_prog in sed do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SED in [\\/]* | ?:[\\/]*) @@ -4284,71 +4150,47 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SED=$ac_cv_path_SED - if test -n "$SED"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } -======= - echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SED" >&5 +$as_echo "$SED" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$SED" && break done if test -z "$SED"; then - { { echo "$as_me:$LINENO: error: install sed to run this script" >&5 -echo "$as_me: error: install sed to run this script" >&2;} + { { $as_echo "$as_me:$LINENO: error: install sed to run this script" >&5 +$as_echo "$as_me: error: install sed to run this script" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for solenv environment" >&5 -echo $ECHO_N "checking for solenv environment... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for solenv environment" >&5 -echo $ECHO_N "checking for solenv environment... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for solenv environment" >&5 +$as_echo_n "checking for solenv environment... " >&6; } if test -z "$with_local_solenv"; then LOCAL_SOLENV="DEFAULT" -<<<<<<< .working - { echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6; } -======= - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLENV=$with_local_solenv -<<<<<<< .working - { echo "$as_me:$LINENO: result: $with_local_solenv" >&5 -echo "${ECHO_T}$with_local_solenv" >&6; } -======= - echo "$as_me:$LINENO: result: $with_local_solenv" >&5 -echo "${ECHO_T}$with_local_solenv" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $with_local_solenv" >&5 +$as_echo "$with_local_solenv" >&6; } fi @@ -4366,202 +4208,160 @@ if test -e $_solenv/inc/minor.mk; then SOURCEVERSION="`grep SOURCEVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`" else - { { echo "$as_me:$LINENO: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&5 -echo "$as_me: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&2;} + { { $as_echo "$as_me:$LINENO: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&5 +$as_echo "$as_me: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&2;} { (exit 1); exit 1; }; } fi ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break - elif test -f $ac_dir/install.sh; then + elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break - elif test -f $ac_dir/shtool; then + elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then -<<<<<<< .working - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} -======= - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} ->>>>>>> .merge-right.r276078 + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + # Make sure we can run config.sub. -<<<<<<< .working $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} -======= -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else -<<<<<<< .working ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} -======= - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } -<<<<<<< .working + { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} -======= -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} ->>>>>>> .merge-right.r276078 + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +$as_echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac -======= -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 ->>>>>>> .merge-right.r276078 build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else -<<<<<<< .working if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} -======= - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } - -fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +$as_echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac -======= -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 ->>>>>>> .merge-right.r276078 host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:$LINENO: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else -<<<<<<< .working if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} -======= - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} ->>>>>>> .merge-right.r276078 - { (exit 1); exit 1; }; } - -fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6; } + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 -echo "$as_me: error: invalid value of canonical target" >&2;} +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 +$as_echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac -======= -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 ->>>>>>> .merge-right.r276078 target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. @@ -4572,30 +4372,20 @@ test -n "$target_alias" && program_prefix=${target_alias}- if test "$build" != "$host" -o "$build" != "$target" \ -o "$host" != "$target"; then - { echo "$as_me:$LINENO: WARNING: cross-compiling by any means is not supported (yet)!" >&5 -echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cross-compiling by any means is not supported (yet)!" >&5 +$as_echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} echo "cross-compiling by any means is not supported (yet)!" >> warn fi if echo "$build_os" | grep cygwin; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking Cygwin version" >&5 -echo $ECHO_N "checking Cygwin version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking Cygwin version" >&5 -echo $ECHO_N "checking Cygwin version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking Cygwin version" >&5 +$as_echo_n "checking Cygwin version... " >&6; } CygwinVer=`uname -r` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CygwinVer" >&5 -echo "${ECHO_T}$CygwinVer" >&6; } -======= - echo "$as_me:$LINENO: result: $CygwinVer" >&5 -echo "${ECHO_T}$CygwinVer" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CygwinVer" >&5 +$as_echo "$CygwinVer" >&6; } if test "`echo $CygwinVer | $AWK -F . '{ print $1$2 }'`" -lt "15"; then - { { echo "$as_me:$LINENO: error: You need at least Cygwin V1.5.x" >&5 -echo "$as_me: error: You need at least Cygwin V1.5.x" >&2;} + { { $as_echo "$as_me:$LINENO: error: You need at least Cygwin V1.5.x" >&5 +$as_echo "$as_me: error: You need at least Cygwin V1.5.x" >&2;} { (exit 1); exit 1; }; } fi else @@ -4613,15 +4403,10 @@ case "$build_os" in _os=SunOS # Extract the first word of "gtar", so it can be a program name with args. set dummy gtar; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GNUTAR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $GNUTAR in [\\/]* | ?:[\\/]*) @@ -4635,84 +4420,55 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUTAR="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi GNUTAR=$ac_cv_path_GNUTAR - if test -n "$GNUTAR"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6; } -======= - echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&5 -echo "$as_me: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&2;} + { { $as_echo "$as_me:$LINENO: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&5 +$as_echo "$as_me: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking the Solaris operating system release" >&5 -echo $ECHO_N "checking the Solaris operating system release... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the Solaris operating system release" >&5 -echo $ECHO_N "checking the Solaris operating system release... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the Solaris operating system release" >&5 +$as_echo_n "checking the Solaris operating system release... " >&6; } _os_release=`echo $build_os | $SED -e s/solaris2\.//` if test "$_os_release" -lt "6"; then - { { echo "$as_me:$LINENO: error: use solaris >= 6 to build OpenOffice.org" >&5 -echo "$as_me: error: use solaris >= 6 to build OpenOffice.org" >&2;} + { { $as_echo "$as_me:$LINENO: error: use solaris >= 6 to build OpenOffice.org" >&5 +$as_echo "$as_me: error: use solaris >= 6 to build OpenOffice.org" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok ($_os_release)" >&5 -echo "${ECHO_T}ok ($_os_release)" >&6; } -======= - echo "$as_me:$LINENO: result: ok ($_os_release)" >&5 -echo "${ECHO_T}ok ($_os_release)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok ($_os_release)" >&5 +$as_echo "ok ($_os_release)" >&6; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking the processor type" >&5 -echo $ECHO_N "checking the processor type... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the processor type" >&5 -echo $ECHO_N "checking the processor type... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the processor type" >&5 +$as_echo_n "checking the processor type... " >&6; } if test "$build_cpu" = "sparc" -o "$build_cpu" = "i386"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok ($build_cpu)" >&5 -echo "${ECHO_T}ok ($build_cpu)" >&6; } -======= - echo "$as_me:$LINENO: result: ok ($build_cpu)" >&5 -echo "${ECHO_T}ok ($build_cpu)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok ($build_cpu)" >&5 +$as_echo "ok ($build_cpu)" >&6; } else - { { echo "$as_me:$LINENO: error: only sparc and i386 processors are supported" >&5 -echo "$as_me: error: only sparc and i386 processors are supported" >&2;} + { { $as_echo "$as_me:$LINENO: error: only sparc and i386 processors are supported" >&5 +$as_echo "$as_me: error: only sparc and i386 processors are supported" >&2;} { (exit 1); exit 1; }; } fi ;; @@ -4747,8 +4503,8 @@ echo "$as_me: error: only sparc and i386 processors are supported" >&2;} test_freetype=no _os=Darwin if test "$enable_systray" = "yes" && test "$enable_gtk" != "no"; then - { echo "$as_me:$LINENO: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 -echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 +$as_echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} echo "Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >>warn enable_systray=no fi @@ -4769,29 +4525,17 @@ echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use -- test_cups=yes test_randr=yes test_freetype=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking the FreeBSD operating system release" >&5 -echo $ECHO_N "checking the FreeBSD operating system release... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the FreeBSD operating system release" >&5 -echo $ECHO_N "checking the FreeBSD operating system release... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the FreeBSD operating system release" >&5 +$as_echo_n "checking the FreeBSD operating system release... " >&6; } if test -n "$with_os_version"; then OSVERSION="$with_os_version" else OSVERSION=`/sbin/sysctl -n kern.osreldate` fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: found OSVERSION=$OSVERSION" >&5 -echo "${ECHO_T}found OSVERSION=$OSVERSION" >&6; } - { echo "$as_me:$LINENO: checking which thread library to use" >&5 -echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: found OSVERSION=$OSVERSION" >&5 -echo "${ECHO_T}found OSVERSION=$OSVERSION" >&6 - echo "$as_me:$LINENO: checking which thread library to use" >&5 -echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found OSVERSION=$OSVERSION" >&5 +$as_echo "found OSVERSION=$OSVERSION" >&6; } + { $as_echo "$as_me:$LINENO: checking which thread library to use" >&5 +$as_echo_n "checking which thread library to use... " >&6; } if test "$OSVERSION" -lt "500016"; then PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" @@ -4802,13 +4546,8 @@ echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 PTHREAD_CFLAGS="" PTHREAD_LIBS="-pthread" fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PTHREAD_LIBS" >&5 -echo "${ECHO_T}$PTHREAD_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $PTHREAD_LIBS" >&5 -echo "${ECHO_T}$PTHREAD_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PTHREAD_LIBS" >&5 +$as_echo "$PTHREAD_LIBS" >&6; } _os=FreeBSD ;; osf) @@ -4843,8 +4582,8 @@ echo "${ECHO_T}$PTHREAD_LIBS" >&6 _os=AIX ;; *) - { { echo "$as_me:$LINENO: error: $_os operating system is not suitable to build OpenOffice.org!" >&5 -echo "$as_me: error: $_os operating system is not suitable to build OpenOffice.org!" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_os operating system is not suitable to build OpenOffice.org!" >&5 +$as_echo "$as_me: error: $_os operating system is not suitable to build OpenOffice.org!" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -4853,47 +4592,27 @@ esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable crashdump feature" >&5 -echo $ECHO_N "checking whether to enable crashdump feature... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable crashdump feature" >&5 -echo $ECHO_N "checking whether to enable crashdump feature... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable crashdump feature" >&5 +$as_echo_n "checking whether to enable crashdump feature... " >&6; } if test "$enable_crashdump" = "yes" -o "$enable_crashdump" = "TRUE"; then ENABLE_CRASHDUMP="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_TYPE="$BUILD_TYPE CRASHREP" else if test "$enable_crashdump" = "STATIC"; then ENABLE_CRASHDUMP="STATIC" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, STATIC" >&5 -echo "${ECHO_T}yes, STATIC" >&6; } -======= - echo "$as_me:$LINENO: result: yes, STATIC" >&5 -echo "${ECHO_T}yes, STATIC" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, STATIC" >&5 +$as_echo "yes, STATIC" >&6; } BUILD_TYPE="$BUILD_TYPE CRASHREP" else if test "$enable_crashdump" = "" -o "$enable_crashdump" = "no"; then ENABLE_CRASHDUMP="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } else - { { echo "$as_me:$LINENO: error: --enable-crashdump only accepts yes, no, TRUE or STATIC as parameter." >&5 -echo "$as_me: error: --enable-crashdump only accepts yes, no, TRUE or STATIC as parameter." >&2;} + { { $as_echo "$as_me:$LINENO: error: --enable-crashdump only accepts yes, no, TRUE or STATIC as parameter." >&5 +$as_echo "$as_me: error: --enable-crashdump only accepts yes, no, TRUE or STATIC as parameter." >&2;} { (exit 1); exit 1; }; } fi fi @@ -4905,168 +4624,89 @@ if test "$_os" = "WINNT"; then fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use the standard non-optimizing compiler" >&5 -echo $ECHO_N "checking whether to use the standard non-optimizing compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use the standard non-optimizing compiler" >&5 -echo $ECHO_N "checking whether to use the standard non-optimizing compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use the standard non-optimizing compiler" >&5 +$as_echo_n "checking whether to use the standard non-optimizing compiler... " >&6; } if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then VC_STANDARD="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } else VC_STANDARD="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to turn warnings to errors" >&5 -echo $ECHO_N "checking whether to turn warnings to errors... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to turn warnings to errors" >&5 -echo $ECHO_N "checking whether to turn warnings to errors... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to turn warnings to errors" >&5 +$as_echo_n "checking whether to turn warnings to errors... " >&6; } if test -n "$enable_werror" && test "$enable_werror" != "no"; then ENABLE_WERROR="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: WARNING: Turning warnings to errors has no effect in modules or" >&5 -echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} - { echo "$as_me:$LINENO: WARNING: on platforms where it has been disabled explicitely" >&5 -echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - { echo "$as_me:$LINENO: WARNING: Turning warnings to errors has no effect in modules or" >&5 -echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} - { echo "$as_me:$LINENO: WARNING: on platforms where it has been disabled explicitely" >&5 -echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: WARNING: Turning warnings to errors has no effect in modules or" >&5 +$as_echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: on platforms where it has been disabled explicitely" >&5 +$as_echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} echo "Turning warnings to errors has no effect in modules or on platforms where it has been disabled explicitely" >> warn else ENABLE_WERROR="FALSE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to do a debug build" >&5 -echo $ECHO_N "checking whether to do a debug build... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to do a debug build" >&5 -echo $ECHO_N "checking whether to do a debug build... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to do a debug build" >&5 +$as_echo_n "checking whether to do a debug build... " >&6; } if test -n "$enable_debug" && test "$enable_debug" != "no"; then ENABLE_DEBUG="TRUE" if test -z "$enable_symbols"; then enable_symbols="yes" fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DEBUG="FALSE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build with additional debug utilities" >&5 -echo $ECHO_N "checking whether to build with additional debug utilities... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build with additional debug utilities" >&5 -echo $ECHO_N "checking whether to build with additional debug utilities... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to build with additional debug utilities" >&5 +$as_echo_n "checking whether to build with additional debug utilities... " >&6; } if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then PROEXT="" PRODUCT="" PROFULLSWITCH="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else PRODUCT="full" PROFULLSWITCH="product=full" PROEXT=".pro" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, full product build" >&5 -echo "${ECHO_T}no, full product build" >&6; } -======= - echo "$as_me:$LINENO: result: no, full product build" >&5 -echo "${ECHO_T}no, full product build" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, full product build" >&5 +$as_echo "no, full product build" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include symbols into final build" >&5 -echo $ECHO_N "checking whether to include symbols into final build... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include symbols into final build" >&5 -echo $ECHO_N "checking whether to include symbols into final build... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include symbols into final build" >&5 +$as_echo_n "checking whether to include symbols into final build... " >&6; } if test -n "$enable_symbols" && test "$enable_symbols" != "no"; then if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then ENABLE_SYMBOLS="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then ENABLE_SYMBOLS="SMALL" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, small ones" >&5 -echo "${ECHO_T}yes, small ones" >&6; } -======= - echo "$as_me:$LINENO: result: yes, small ones" >&5 -echo "${ECHO_T}yes, small ones" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, small ones" >&5 +$as_echo "yes, small ones" >&6; } else if test "$enable_symbols" != "no" ; then echo enable symbols is: $enable_symbols - { { echo "$as_me:$LINENO: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&5 -echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&2;} + { { $as_echo "$as_me:$LINENO: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&5 +$as_echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&2;} { (exit 1); exit 1; }; } else ENABLE_SYMBOLS= @@ -5075,31 +4715,21 @@ echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as paramet fi else ENABLE_SYMBOLS= -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to strip the solver or not." >&5 -echo $ECHO_N "checking whether to strip the solver or not.... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to strip the solver or not." >&5 -echo $ECHO_N "checking whether to strip the solver or not.... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to strip the solver or not." >&5 +$as_echo_n "checking whether to strip the solver or not.... " >&6; } if test -n "$enable_strip_solver"; then if test "$enable_strip_solver" = "yes"; then DISABLE_STRIP= else if test "$enable_strip_solver" = "no"; then DISABLE_STRIP="TRUE" else - { { echo "$as_me:$LINENO: error: --disable-strip-solver only accepts yes or no as parameter." >&5 -echo "$as_me: error: --disable-strip-solver only accepts yes or no as parameter." >&2;} + { { $as_echo "$as_me:$LINENO: error: --disable-strip-solver only accepts yes or no as parameter." >&5 +$as_echo "$as_me: error: --disable-strip-solver only accepts yes or no as parameter." >&2;} { (exit 1); exit 1; }; } fi fi @@ -5112,305 +4742,151 @@ else fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable native CUPS support" >&5 -echo $ECHO_N "checking whether to enable native CUPS support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable native CUPS support" >&5 -echo $ECHO_N "checking whether to enable native CUPS support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable native CUPS support" >&5 +$as_echo_n "checking whether to enable native CUPS support... " >&6; } if test "$test_cups" = "yes" -a \( "$enable_cups" = "yes" -o "$enable_cups" = "TRUE" \) ; then ENABLE_CUPS="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_CUPS="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable fontconfig support" >&5 -echo $ECHO_N "checking whether to enable fontconfig support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable fontconfig support" >&5 -echo $ECHO_N "checking whether to enable fontconfig support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to enable fontconfig support" >&5 +$as_echo_n "checking whether to enable fontconfig support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a \( "$enable_fontconfig" = "yes" -o "$enable_fontconfig" = "TRUE" \); then ENABLE_FONTCONFIG="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_FONTCONFIG="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 -echo $ECHO_N "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 -echo $ECHO_N "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 +$as_echo_n "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... " >&6; } if test "$enable_binfilter" = "no"; then WITH_BINFILTER="NO" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } else WITH_BINFILTER="YES" BUILD_TYPE="$BUILD_TYPE BINFILTER" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use DirectX" >&5 -echo $ECHO_N "checking whether to use DirectX... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use DirectX" >&5 -echo $ECHO_N "checking whether to use DirectX... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use DirectX" >&5 +$as_echo_n "checking whether to use DirectX... " >&6; } if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then ENABLE_DIRECTX="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DIRECTX="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use ActiveX" >&5 -echo $ECHO_N "checking whether to use ActiveX... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use ActiveX" >&5 -echo $ECHO_N "checking whether to use ActiveX... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use ActiveX" >&5 +$as_echo_n "checking whether to use ActiveX... " >&6; } if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then DISABLE_ACTIVEX="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ACTIVEX="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use ATL" >&5 -echo $ECHO_N "checking whether to use ATL... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use ATL" >&5 -echo $ECHO_N "checking whether to use ATL... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use ATL" >&5 +$as_echo_n "checking whether to use ATL... " >&6; } if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then DISABLE_ATL="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ATL="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to use RPATH in shared libraries" >&5 -echo $ECHO_N "checking whether to use RPATH in shared libraries... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to use RPATH in shared libraries" >&5 -echo $ECHO_N "checking whether to use RPATH in shared libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to use RPATH in shared libraries" >&5 +$as_echo_n "checking whether to use RPATH in shared libraries... " >&6; } if test "$enable_rpath" = "no"; then ENABLE_RPATH="no" else ENABLE_RPATH="yes" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ENABLE_RPATH" >&5 -echo "${ECHO_T}$ENABLE_RPATH" >&6; } -======= -echo "$as_me:$LINENO: result: $ENABLE_RPATH" >&5 -echo "${ECHO_T}$ENABLE_RPATH" >&6 ->>>>>>> .merge-right.r276078 - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include MySpell dictionaries" >&5 -echo $ECHO_N "checking whether to include MySpell dictionaries... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include MySpell dictionaries" >&5 -echo $ECHO_N "checking whether to include MySpell dictionaries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ENABLE_RPATH" >&5 +$as_echo "$ENABLE_RPATH" >&6; } + + +{ $as_echo "$as_me:$LINENO: checking whether to include MySpell dictionaries" >&5 +$as_echo_n "checking whether to include MySpell dictionaries... " >&6; } if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MYSPELL_DICTS=YES BUILD_TYPE="$BUILD_TYPE DICTIONARIES" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_MYSPELL_DICTS=NO fi if test "$WITH_MYSPELL_DICTS" = "NO"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use dicts from external paths" >&5 -echo $ECHO_N "checking whether to use dicts from external paths... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use dicts from external paths" >&5 -echo $ECHO_N "checking whether to use dicts from external paths... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use dicts from external paths" >&5 +$as_echo_n "checking whether to use dicts from external paths... " >&6; } if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_DICTS=YES -<<<<<<< .working - { echo "$as_me:$LINENO: checking for spelling dictionary directory" >&5 -echo $ECHO_N "checking for spelling dictionary directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for spelling dictionary directory" >&5 -echo $ECHO_N "checking for spelling dictionary directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for spelling dictionary directory" >&5 +$as_echo_n "checking for spelling dictionary directory... " >&6; } if test -n "$with_external_dict_dir"; then DICT_SYSTEM_DIR=file://$with_external_dict_dir else DICT_SYSTEM_DIR=file:///usr/share/hunspell fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $DICT_SYSTEM_DIR" >&5 -echo "${ECHO_T}$DICT_SYSTEM_DIR" >&6; } - { echo "$as_me:$LINENO: checking for hyphenation patterns directory" >&5 -echo $ECHO_N "checking for hyphenation patterns directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: $DICT_SYSTEM_DIR" >&5 -echo "${ECHO_T}$DICT_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for hyphenation patterns directory" >&5 -echo $ECHO_N "checking for hyphenation patterns directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $DICT_SYSTEM_DIR" >&5 +$as_echo "$DICT_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:$LINENO: checking for hyphenation patterns directory" >&5 +$as_echo_n "checking for hyphenation patterns directory... " >&6; } if test -n "$with_external_hyph_dir"; then HYPH_SYSTEM_DIR=file://$with_external_hyph_dir else HYPH_SYSTEM_DIR=file:///usr/share/hyphen fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $HYPH_SYSTEM_DIR" >&5 -echo "${ECHO_T}$HYPH_SYSTEM_DIR" >&6; } - { echo "$as_me:$LINENO: checking for thesaurus directory" >&5 -echo $ECHO_N "checking for thesaurus directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: $HYPH_SYSTEM_DIR" >&5 -echo "${ECHO_T}$HYPH_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for thesaurus directory" >&5 -echo $ECHO_N "checking for thesaurus directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $HYPH_SYSTEM_DIR" >&5 +$as_echo "$HYPH_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:$LINENO: checking for thesaurus directory" >&5 +$as_echo_n "checking for thesaurus directory... " >&6; } if test -n "$with_external_thes_dir"; then THES_SYSTEM_DIR=file://$with_external_thes_dir else THES_SYSTEM_DIR=file:///usr/share/mythes fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $THES_SYSTEM_DIR" >&5 -echo "${ECHO_T}$THES_SYSTEM_DIR" >&6; } -======= - echo "$as_me:$LINENO: result: $THES_SYSTEM_DIR" >&5 -echo "${ECHO_T}$THES_SYSTEM_DIR" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $THES_SYSTEM_DIR" >&5 +$as_echo "$THES_SYSTEM_DIR" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_DICTS=NO fi fi @@ -5419,24 +4895,19 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which shell to use" >&5 -echo $ECHO_N "checking which shell to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which shell to use" >&5 -echo $ECHO_N "checking which shell to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which shell to use" >&5 +$as_echo_n "checking which shell to use... " >&6; } if test $_os = "WINNT"; then if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "bash" -a "$with_use_shell" != "4nt"; then - { { echo "$as_me:$LINENO: error: only \"tcsh\",\"bash\" or \"4nt\" are supported options" >&5 -echo "$as_me: error: only \"tcsh\",\"bash\" or \"4nt\" are supported options" >&2;} + { { $as_echo "$as_me:$LINENO: error: only \"tcsh\",\"bash\" or \"4nt\" are supported options" >&5 +$as_echo "$as_me: error: only \"tcsh\",\"bash\" or \"4nt\" are supported options" >&2;} { (exit 1); exit 1; }; } fi if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then - { { echo "$as_me:$LINENO: error: $AWK, awk, tar or gunzip is a cygwin symlink! + { { $as_echo "$as_me:$LINENO: error: $AWK, awk, tar or gunzip is a cygwin symlink! Native windows programs cannot use cygwin symlinks. Remove the symbolic link, and copy the program to the name of the link." >&5 -echo "$as_me: error: $AWK, awk, tar or gunzip is a cygwin symlink! +$as_echo "$as_me: error: $AWK, awk, tar or gunzip is a cygwin symlink! Native windows programs cannot use cygwin symlinks. Remove the symbolic link, and copy the program to the name of the link." >&2;} { (exit 1); exit 1; }; } @@ -5459,47 +4930,32 @@ link, and copy the program to the name of the link." >&2;} fi elif test $_os = "OS2"; then if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "4nt"; then - { { echo "$as_me:$LINENO: error: only \"tcsh\" or \"4nt\" are supported options" >&5 -echo "$as_me: error: only \"tcsh\" or \"4nt\" are supported options" >&2;} + { { $as_echo "$as_me:$LINENO: error: only \"tcsh\" or \"4nt\" are supported options" >&5 +$as_echo "$as_me: error: only \"tcsh\" or \"4nt\" are supported options" >&2;} { (exit 1); exit 1; }; } fi else if test "$with_use_shell" != "tcsh" -a "$with_use_shell" != "bash"; then - { { echo "$as_me:$LINENO: error: only \"tcsh\" or \"bash\" are supported options" >&5 -echo "$as_me: error: only \"tcsh\" or \"bash\" are supported options" >&2;} + { { $as_echo "$as_me:$LINENO: error: only \"tcsh\" or \"bash\" are supported options" >&5 +$as_echo "$as_me: error: only \"tcsh\" or \"bash\" are supported options" >&2;} { (exit 1); exit 1; }; } fi fi USE_SHELL="$with_use_shell" -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $USE_SHELL" >&5 -echo "${ECHO_T}$USE_SHELL" >&6; } -======= -echo "$as_me:$LINENO: result: $USE_SHELL" >&5 -echo "${ECHO_T}$USE_SHELL" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $USE_SHELL" >&5 +$as_echo "$USE_SHELL" >&6; } if test "$_os" = "WINNT" -a "$with_use_shell" != "4nt" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for cygwin gcc/g++" >&5 -echo $ECHO_N "checking for cygwin gcc/g++... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for cygwin gcc/g++" >&5 -echo $ECHO_N "checking for cygwin gcc/g++... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for cygwin gcc/g++" >&5 +$as_echo_n "checking for cygwin gcc/g++... " >&6; } if which gcc > /dev/null && which g++ > /dev/null ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: cygwin gcc and g++ are needed, please install them." >&5 -echo "$as_me: error: cygwin gcc and g++ are needed, please install them." >&2;} + { { $as_echo "$as_me:$LINENO: error: cygwin gcc and g++ are needed, please install them." >&5 +$as_echo "$as_me: error: cygwin gcc and g++ are needed, please install them." >&2;} { (exit 1); exit 1; }; } fi fi @@ -5508,15 +4964,10 @@ fi if test "$with_use_shell" = "tcsh"; then # Extract the first word of "tcsh", so it can be a program name with args. set dummy tcsh; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SHELLPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SHELLPATH in [\\/]* | ?:[\\/]*) @@ -5529,40 +4980,31 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELLPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SHELLPATH=$ac_cv_path_SHELLPATH - if test -n "$SHELLPATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6; } -======= - echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SHELLPATH" >&5 +$as_echo "$SHELLPATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SHELLPATH"; then - { { echo "$as_me:$LINENO: error: tcsh not found in \$PATH" >&5 -echo "$as_me: error: tcsh not found in \$PATH" >&2;} + { { $as_echo "$as_me:$LINENO: error: tcsh not found in \$PATH" >&5 +$as_echo "$as_me: error: tcsh not found in \$PATH" >&2;} { (exit 1); exit 1; }; } else SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/tcsh$//p"` @@ -5570,15 +5012,10 @@ echo "$as_me: error: tcsh not found in \$PATH" >&2;} elif test "$with_use_shell" = "bash"; then # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SHELLPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SHELLPATH in [\\/]* | ?:[\\/]*) @@ -5591,70 +5028,51 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELLPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SHELLPATH=$ac_cv_path_SHELLPATH - if test -n "$SHELLPATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6; } -======= - echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SHELLPATH" >&5 +$as_echo "$SHELLPATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SHELLPATH"; then - { { echo "$as_me:$LINENO: error: bash not found in \$PATH" >&5 -echo "$as_me: error: bash not found in \$PATH" >&2;} + { { $as_echo "$as_me:$LINENO: error: bash not found in \$PATH" >&5 +$as_echo "$as_me: error: bash not found in \$PATH" >&2;} { (exit 1); exit 1; }; } else SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/bash$//p"` fi else - { echo "$as_me:$LINENO: WARNING: Windows/OS/2 4NT builds don't test for the shell" >&5 -echo "$as_me: WARNING: Windows/OS/2 4NT builds don't test for the shell" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Windows/OS/2 4NT builds don't test for the shell" >&5 +$as_echo "$as_me: WARNING: Windows/OS/2 4NT builds don't test for the shell" >&2;} SHELLPATH="NO_SHELLPATH_NEEDED" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking gcc home" >&5 -echo $ECHO_N "checking gcc home... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking gcc home" >&5 -echo $ECHO_N "checking gcc home... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking gcc home" >&5 +$as_echo_n "checking gcc home... " >&6; } if test -z "$with_gcc_home"; then GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,` else GCC_HOME="$with_gcc_home" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $GCC_HOME" >&5 -echo "${ECHO_T}$GCC_HOME" >&6; } -======= -echo "$as_me:$LINENO: result: $GCC_HOME" >&5 -echo "${ECHO_T}$GCC_HOME" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $GCC_HOME" >&5 +$as_echo "$GCC_HOME" >&6; } if test -n "$with_gcc_home"; then @@ -5672,15 +5090,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5691,49 +5104,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -======= - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -5744,71 +5144,49 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi -======= - CC=$ac_ct_CC ->>>>>>> .merge-right.r276078 else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5819,91 +5197,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -======= - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi + fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5915,17 +5238,18 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. @@ -5943,39 +5267,25 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -======= - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5986,53 +5296,40 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -======= - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -6043,118 +5340,90 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CC" && break done -<<<<<<< .working if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi -======= - CC=$ac_ct_CC ->>>>>>> .merge-right.r276078 fi fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. -<<<<<<< .working -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 -======= -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF @@ -6173,28 +5442,22 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. +{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + ac_rmfiles= for ac_file in $ac_files do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done @@ -6205,163 +5468,124 @@ case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 -======= -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in -<<<<<<< .working - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) -======= - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ->>>>>>> .merge-right.r276078 - ;; - conftest.$ac_ext ) - # This is the source file. + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. break;; * ) break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else -<<<<<<< .working ac_file='' fi -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -======= - echo "$as_me: failed program was:" >&5 ->>>>>>> .merge-right.r276078 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables +$as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. +$as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } -======= -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will @@ -6370,46 +5594,33 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in -<<<<<<< .working - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; -======= - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; ->>>>>>> .merge-right.r276078 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -6427,63 +5638,48 @@ main () } _ACEOF rm -f conftest.o conftest.obj -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; case $ac_file in -<<<<<<< .working - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; -======= - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; ->>>>>>> .merge-right.r276078 + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -6504,79 +5700,54 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -======= -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -======= -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6592,31 +5763,26 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" @@ -6641,29 +5807,21 @@ case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? -<<<<<<< .working grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag @@ -6689,39 +5847,28 @@ case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? -<<<<<<< .working grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -6729,12 +5876,8 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -6750,19 +5893,12 @@ else CFLAGS= fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 -else - ac_cv_prog_cc_stdc=no + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -6796,12 +5932,17 @@ static char *f (char * (*g) (char **, int), char **p, ...) /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get + as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ + that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -6816,241 +5957,58 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi -<<<<<<< .working # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; -======= - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; *) -<<<<<<< .working CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -======= - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; ->>>>>>> .merge-right.r276078 -esac - -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -7065,15 +6023,10 @@ if test "$COMPATH" = "." ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_COMPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $COMPATH in [\\/]* | ?:[\\/]*) @@ -7086,37 +6039,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_COMPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi COMPATH=$ac_cv_path_COMPATH - if test -n "$COMPATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $COMPATH" >&5 -echo "${ECHO_T}$COMPATH" >&6; } -======= - echo "$as_me:$LINENO: result: $COMPATH" >&5 -echo "${ECHO_T}$COMPATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $COMPATH" >&5 +$as_echo "$COMPATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$COMPATH" && break done @@ -7125,71 +6069,46 @@ fi GCCVER=20995 if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5 -echo $ECHO_N "checking the GNU gcc compiler version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5 -echo $ECHO_N "checking the GNU gcc compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5 +$as_echo_n "checking the GNU gcc compiler version... " >&6; } _gcc_version=`$CC -dumpversion` _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'` _gcc_longver=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_gcc_major" -lt "3"; then - { { echo "$as_me:$LINENO: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&5 -echo "$as_me: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&5 +$as_echo "$as_me: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&2;} { (exit 1); exit 1; }; } else if test "$GCCVER" -eq "030203"; then if test "$ENABLE_SYMBOLS" = "SMALL"; then - { { echo "$as_me:$LINENO: error: version \"$_gcc_version\" gives internal error with small." >&5 -echo "$as_me: error: version \"$_gcc_version\" gives internal error with small." >&2;} + { { $as_echo "$as_me:$LINENO: error: version \"$_gcc_version\" gives internal error with small." >&5 +$as_echo "$as_me: error: version \"$_gcc_version\" gives internal error with small." >&2;} { (exit 1); exit 1; }; } fi fi fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (gcc $_gcc_version)" >&5 -echo "${ECHO_T}checked (gcc $_gcc_version)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (gcc $_gcc_version)" >&5 -echo "${ECHO_T}checked (gcc $_gcc_version)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (gcc $_gcc_version)" >&5 +$as_echo "checked (gcc $_gcc_version)" >&6; } if test "$_os" = "SunOS"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking gcc linker" >&5 -echo $ECHO_N "checking gcc linker... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking gcc linker" >&5 -echo $ECHO_N "checking gcc linker... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking gcc linker" >&5 +$as_echo_n "checking gcc linker... " >&6; } if $CC -Wl,--version 2>&1 |head -n 1| grep -v GNU > /dev/null;then - { { echo "$as_me:$LINENO: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&5 -echo "$as_me: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&2;} + { { $as_echo "$as_me:$LINENO: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&5 +$as_echo "$as_me: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok (GNU ld)" >&5 -echo "${ECHO_T}ok (GNU ld)" >&6; } -======= - echo "$as_me:$LINENO: result: ok (GNU ld)" >&5 -echo "${ECHO_T}ok (GNU ld)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok (GNU ld)" >&5 +$as_echo "ok (GNU ld)" >&6; } fi fi HAVE_LD_BSYMBOLIC_FUNCTIONS= if test "$GCC" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for -Bsymbolic-functions linker support " >&5 -echo $ECHO_N "checking for -Bsymbolic-functions linker support ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for -Bsymbolic-functions linker support " >&5 -echo $ECHO_N "checking for -Bsymbolic-functions linker support ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for -Bsymbolic-functions linker support " >&5 +$as_echo_n "checking for -Bsymbolic-functions linker support ... " >&6; } bsymbolic_functions_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo" @@ -7213,158 +6132,86 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6; } -======= - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found " >&5 +$as_echo "found " >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6; } -======= - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$bsymbolic_functions_ldflags_save fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable pch feature" >&5 -echo $ECHO_N "checking whether to enable pch feature... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable pch feature" >&5 -echo $ECHO_N "checking whether to enable pch feature... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable pch feature" >&5 +$as_echo_n "checking whether to enable pch feature... " >&6; } if test -n "$enable_pch" && test "$enable_pch" != "no"; then if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then ENABLE_PCH="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$GCC" = "yes" -a "$GCCVER" -gt "030400"; then ENABLE_PCH="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_PCH="" - { echo "$as_me:$LINENO: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 -echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 +$as_echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} fi else ENABLE_PCH="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable hid list feature" >&5 -echo $ECHO_N "checking whether to enable hid list feature... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable hid list feature" >&5 -echo $ECHO_N "checking whether to enable hid list feature... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to enable hid list feature" >&5 +$as_echo_n "checking whether to enable hid list feature... " >&6; } if test -n "$enable_hids" && test "$enable_hids" != "no"; then NO_HIDS="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else NO_HIDS="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for GNU make" >&5 -echo $ECHO_N "checking for GNU make... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for GNU make" >&5 -echo $ECHO_N "checking for GNU make... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking for GNU make" >&5 +$as_echo_n "checking for GNU make... " >&6; } for a in "$MAKE" $GNUMAKE make gmake gnumake; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -7372,65 +6219,40 @@ for a in "$MAKE" $GNUMAKE make gmake gnumake; do break fi done -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $GNUMAKE" >&5 -echo "${ECHO_T}$GNUMAKE" >&6; } -======= -echo "$as_me:$LINENO: result: $GNUMAKE" >&5 -echo "${ECHO_T}$GNUMAKE" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $GNUMAKE" >&5 +$as_echo "$GNUMAKE" >&6; } if test -z "$GNUMAKE"; then - { { echo "$as_me:$LINENO: error: not found. install GNU make." >&5 -echo "$as_me: error: not found. install GNU make." >&2;} + { { $as_echo "$as_me:$LINENO: error: not found. install GNU make." >&5 +$as_echo "$as_me: error: not found. install GNU make." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking the GNU make version" >&5 -echo $ECHO_N "checking the GNU make version... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking the GNU make version" >&5 -echo $ECHO_N "checking the GNU make version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking the GNU make version" >&5 +$as_echo_n "checking the GNU make version... " >&6; } _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_make_longver" -ge "037901" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6; } -======= - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else if test "$_os" = "Darwin"; then if test "$_make_longver" -ge "037900" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6; } -======= - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else - { echo "$as_me:$LINENO: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 -echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 +$as_echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} fi else - { { echo "$as_me:$LINENO: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&5 -echo "$as_me: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&2;} + { { $as_echo "$as_me:$LINENO: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&5 +$as_echo "$as_me: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&2;} { (exit 1); exit 1; }; } fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for GNU tar" >&5 -echo $ECHO_N "checking for GNU tar... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for GNU tar" >&5 -echo $ECHO_N "checking for GNU tar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for GNU tar" >&5 +$as_echo_n "checking for GNU tar... " >&6; } for a in $GNUTAR gtar gnutar tar; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -7438,16 +6260,11 @@ for a in $GNUTAR gtar gnutar tar; do break fi done -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6; } -======= -echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: not found. install GNU tar." >&5 -echo "$as_me: error: not found. install GNU tar." >&2;} + { { $as_echo "$as_me:$LINENO: error: not found. install GNU tar." >&5 +$as_echo "$as_me: error: not found. install GNU tar." >&2;} { (exit 1); exit 1; }; } fi @@ -7459,15 +6276,10 @@ if test "$_os" = "SunOS"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -7480,82 +6292,58 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6; } -======= - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_cc" >&5 +$as_echo "$_cc" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` -<<<<<<< .working - { echo "$as_me:$LINENO: checking the SunStudio C/C++ compiler version" >&5 -echo $ECHO_N "checking the SunStudio C/C++ compiler version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the SunStudio C/C++ compiler version" >&5 -echo $ECHO_N "checking the SunStudio C/C++ compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the SunStudio C/C++ compiler version" >&5 +$as_echo_n "checking the SunStudio C/C++ compiler version... " >&6; } _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'` _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'` _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` if test "$_sunstudio_major" != "5"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 +$as_echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} { (exit 1); exit 1; }; } else _sunstudio_minor=`echo $_sunstudio_version | $AWK -F. '{ if ($2 == 5) print "true"; else if ($2 == 7) print "true"; else if ($2 == 8) print "true"; else if ($2 == 9) print "true"; else print "false" }'` if test "$_sunstudio_minor" = "false"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 +$as_echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi fi if test "$GCC" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for --hash-style=both linker support " >&5 -echo $ECHO_N "checking for --hash-style=both linker support ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for --hash-style=both linker support " >&5 -echo $ECHO_N "checking for --hash-style=both linker support ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for --hash-style=both linker support " >&5 +$as_echo_n "checking for --hash-style=both linker support ... " >&6; } hash_style_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--hash-style=both" cat >conftest.$ac_ext <<_ACEOF @@ -7578,76 +6366,43 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then HAVE_LD_HASH_STYLE=TRUE else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -HAVE_LD_HASH_STYLE=FALSE + HAVE_LD_HASH_STYLE=FALSE fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6; } -======= - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found " >&5 +$as_echo "found " >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6; } -======= - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$hash_style_ldflags_save fi @@ -7659,15 +6414,10 @@ if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -7680,68 +6430,49 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6; } -======= - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_cc" >&5 +$as_echo "$_cc" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` -<<<<<<< .working - { echo "$as_me:$LINENO: checking the SGI MIPSpro C compiler version" >&5 -echo $ECHO_N "checking the SGI MIPSpro C compiler version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the SGI MIPSpro C compiler version" >&5 -echo $ECHO_N "checking the SGI MIPSpro C compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the SGI MIPSpro C compiler version" >&5 +$as_echo_n "checking the SGI MIPSpro C compiler version... " >&6; } _mipspro_version=`$CC -version 2>&1 | $AWK '{ print $4 }'` _mipspro_major=`echo $_mipspro_version | $AWK -F. '{ print $1 }'` if test "$_mipspro_major" != "7"; then - { { echo "$as_me:$LINENO: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&5 -echo "$as_me: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&5 +$as_echo "$as_me: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&2;} { (exit 1); exit 1; }; } else _mipspro_minor=`echo $_mipspro_version | $AWK -F. '{ if ($2 <= 1) print "false"; else print "true" }'` if test "$_mipspro_minor" = "false"; then - { { echo "$as_me:$LINENO: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&5 -echo "$as_me: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&5 +$as_echo "$as_me: error: found version \"$_mipspro_version\", use version 7.2+ of the SGI MIPSpro C compiler" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi @@ -7753,15 +6484,10 @@ if test "$_os" = "OSF1"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -7774,66 +6500,45 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6; } -======= - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_cc" >&5 +$as_echo "$_cc" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/cc//p"` -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: ******* $_cc , $COMPATH" >&5 -echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} - { echo "$as_me:$LINENO: checking the Compaq C compiler version" >&5 -echo $ECHO_N "checking the Compaq C compiler version... $ECHO_C" >&6; } -======= - { echo "$as_me:$LINENO: WARNING: ******* $_cc , $COMPATH" >&5 -echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} - echo "$as_me:$LINENO: checking the Compaq C compiler version" >&5 -echo $ECHO_N "checking the Compaq C compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: ******* $_cc , $COMPATH" >&5 +$as_echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} + { $as_echo "$as_me:$LINENO: checking the Compaq C compiler version" >&5 +$as_echo_n "checking the Compaq C compiler version... " >&6; } _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'` _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'` if test "$_compaqc_major" != "T6"; then - { { echo "$as_me:$LINENO: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&5 -echo "$as_me: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&2;} + { { $as_echo "$as_me:$LINENO: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&5 +$as_echo "$as_me: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi @@ -7841,15 +6546,10 @@ fi if test -z "$with_perl_home"; then # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PERL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) @@ -7862,37 +6562,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi PERL=$ac_cv_path_PERL - if test -n "$PERL"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6; } -======= - echo "$as_me:$LINENO: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PERL" >&5 +$as_echo "$PERL" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + else if test "$_os" = "WINNT"; then with_perl_home=`cygpath -u "$with_perl_home"` @@ -7901,71 +6592,46 @@ else if test -x "$_perl_path"; then PERL=$_perl_path else - { { echo "$as_me:$LINENO: error: $_perl_path not found" >&5 -echo "$as_me: error: $_perl_path not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_perl_path not found" >&5 +$as_echo "$as_me: error: $_perl_path not found" >&2;} { (exit 1); exit 1; }; } fi fi if test "$PERL"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking the Perl version" >&5 -echo $ECHO_N "checking the Perl version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the Perl version" >&5 -echo $ECHO_N "checking the Perl version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the Perl version" >&5 +$as_echo_n "checking the Perl version... " >&6; } ${PERL} -e "exit($]);" _perl_version=$? if test "$_perl_version" -lt 5; then - { { echo "$as_me:$LINENO: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&5 -echo "$as_me: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&2;} + { { $as_echo "$as_me:$LINENO: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&5 +$as_echo "$as_me: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (perl $_perl_version)" >&5 -echo "${ECHO_T}checked (perl $_perl_version)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (perl $_perl_version)" >&5 -echo "${ECHO_T}checked (perl $_perl_version)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (perl $_perl_version)" >&5 +$as_echo "checked (perl $_perl_version)" >&6; } else - { { echo "$as_me:$LINENO: error: Perl not found, install version 5 of Perl" >&5 -echo "$as_me: error: Perl not found, install version 5 of Perl" >&2;} + { { $as_echo "$as_me:$LINENO: error: Perl not found, install version 5 of Perl" >&5 +$as_echo "$as_me: error: Perl not found, install version 5 of Perl" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for required Perl modules" >&5 -echo $ECHO_N "checking for required Perl modules... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for required Perl modules" >&5 -echo $ECHO_N "checking for required Perl modules... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for required Perl modules" >&5 +$as_echo_n "checking for required Perl modules... " >&6; } if `$PERL -e 'use Archive::Zip;'`; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: all modules found" >&5 -echo "${ECHO_T}all modules found" >&6; } -======= - echo "$as_me:$LINENO: result: all modules found" >&5 -echo "${ECHO_T}all modules found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: all modules found" >&5 +$as_echo "all modules found" >&6; } else - { { echo "$as_me:$LINENO: error: Failed to find some modules" >&5 -echo "$as_me: error: Failed to find some modules" >&2;} + { { $as_echo "$as_me:$LINENO: error: Failed to find some modules" >&5 +$as_echo "$as_me: error: Failed to find some modules" >&2;} { (exit 1); exit 1; }; } fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" != "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for friendly registry keys" >&5 -echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for friendly registry keys" >&5 -echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for friendly registry keys" >&5 +$as_echo_n "checking for friendly registry keys... " >&6; } # VS.Net 2003, VS.Net 2005 if test -z "$with_cl_home"; then vctest=`./oowintool --msvc-productdir`; @@ -7975,13 +6641,8 @@ echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 else with_cl_home=`cygpath -u "$with_cl_home"` fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: done" >&5 -echo "${ECHO_T}done" >&6; } -======= - echo "$as_me:$LINENO: result: done" >&5 -echo "${ECHO_T}done" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: done" >&5 +$as_echo "done" >&6; } if test -n "$with_mspdb_path";then with_mspdb_path=`cygpath -u "$with_mspdb_path"` @@ -8002,15 +6663,10 @@ echo "${ECHO_T}done" >&6 if test -z "$MSPDB_PATH";then # Extract the first word of "mspdb80.dll", so it can be a program name with args. set dummy mspdb80.dll; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -8023,48 +6679,34 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "mspdb71.dll", so it can be a program name with args. set dummy mspdb71.dll; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -8077,70 +6719,51 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -z "$MSPDB_PATH"; then - { { echo "$as_me:$LINENO: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&5 -echo "$as_me: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&2;} + { { $as_echo "$as_me:$LINENO: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&5 +$as_echo "$as_me: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&2;} { (exit 1); exit 1; }; } fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` PATH="$MSPDB_PATH:$PATH" -<<<<<<< .working - { echo "$as_me:$LINENO: checking the Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Microsoft C/C++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Microsoft C/C++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Microsoft C/C++ Compiler... " >&6; } if test -x "$with_cl_home/bin/cl.exe"; then CC="$with_cl_home/bin/cl.exe" else # Extract the first word of "cl.exe", so it can be a program name with args. set dummy cl.exe; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $CC in [\\/]* | ?:[\\/]*) @@ -8153,59 +6776,40 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi CC=$ac_cv_path_CC - if test -n "$CC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -======= - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -e "$CC"; then # This gives us a posix path with 8.3 filename restrictions CC=`cygpath -d "$CC"` CC=`cygpath -u "$CC"` # Remove /cl.exe from CC case insensitive -<<<<<<< .working - { echo "$as_me:$LINENO: result: found ($CC)" >&5 -echo "${ECHO_T}found ($CC)" >&6; } -======= - echo "$as_me:$LINENO: result: found ($CC)" >&5 -echo "${ECHO_T}found ($CC)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found ($CC)" >&5 +$as_echo "found ($CC)" >&6; } COMPATH=`echo $CC | $SED 's@/[cC][lL]\.[eE][xX][eE]@@'` export INCLUDE=`cygpath -d "$COMPATH/../Include"` -<<<<<<< .working - { echo "$as_me:$LINENO: checking the Version of Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the Version of Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the Version of Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Version of Microsoft C/C++ Compiler... " >&6; } CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ { x = match( \\\$0, /..\\...\\...../ ) CCversion = substr( \\\$0, RSTART, RLENGTH) @@ -8214,77 +6818,47 @@ echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 printf (\"%04d\",vertoken[i] ) } }"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: found Compiler version $CCNUMVER." >&5 -echo "${ECHO_T}found Compiler version $CCNUMVER." >&6; } -======= - echo "$as_me:$LINENO: result: found Compiler version $CCNUMVER." >&5 -echo "${ECHO_T}found Compiler version $CCNUMVER." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found Compiler version $CCNUMVER." >&5 +$as_echo "found Compiler version $CCNUMVER." >&6; } if test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 -<<<<<<< .working - { echo "$as_me:$LINENO: result: found .NET 2008 / VS 9.0." >&5 -echo "${ECHO_T}found .NET 2008 / VS 9.0." >&6; } -======= - echo "$as_me:$LINENO: result: found .NET 2008 / VS 9.0." >&5 -echo "${ECHO_T}found .NET 2008 / VS 9.0." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found .NET 2008 / VS 9.0." >&5 +$as_echo "found .NET 2008 / VS 9.0." >&6; } elif test "$CCNUMVER" -ge "001400000000"; then COMEX=11 MSVSVER=2005 -<<<<<<< .working - { echo "$as_me:$LINENO: result: found .NET 2005." >&5 -echo "${ECHO_T}found .NET 2005." >&6; } -======= - echo "$as_me:$LINENO: result: found .NET 2005." >&5 -echo "${ECHO_T}found .NET 2005." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found .NET 2005." >&5 +$as_echo "found .NET 2005." >&6; } elif test "$CCNUMVER" -ge "001300102240"; then COMEX=10 MSVSVER=2003 -<<<<<<< .working - { echo "$as_me:$LINENO: result: found .NET 2003." >&5 -echo "${ECHO_T}found .NET 2003." >&6; } -======= - echo "$as_me:$LINENO: result: found .NET 2003." >&5 -echo "${ECHO_T}found .NET 2003." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found .NET 2003." >&5 +$as_echo "found .NET 2003." >&6; } else - { { echo "$as_me:$LINENO: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&5 -echo "$as_me: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&2;} + { { $as_echo "$as_me:$LINENO: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&5 +$as_echo "$as_me: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&2;} { (exit 1); exit 1; }; } fi else - { { echo "$as_me:$LINENO: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&5 -echo "$as_me: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&2;} + { { $as_echo "$as_me:$LINENO: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&5 +$as_echo "$as_me: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: checking the Mingwin32 C++ Compiler" >&5 -echo $ECHO_N "checking the Mingwin32 C++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the Mingwin32 C++ Compiler" >&5 -echo $ECHO_N "checking the Mingwin32 C++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the Mingwin32 C++ Compiler" >&5 +$as_echo_n "checking the Mingwin32 C++ Compiler... " >&6; } if test `$CC -dumpmachine | $SED -e 's/^.*-//'` = "mingw32"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6; } -======= - echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found." >&5 +$as_echo "found." >&6; } if $CC -dumpspecs | grep -q "mno-cygwin"; then USE_MINGW="cygwin" else USE_MINGW="pure-mingw" fi else - { { echo "$as_me:$LINENO: error: Mingwin32 C++ Compiler not found." >&5 -echo "$as_me: error: Mingwin32 C++ Compiler not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: Mingwin32 C++ Compiler not found." >&5 +$as_echo "$as_me: error: Mingwin32 C++ Compiler not found." >&2;} { (exit 1); exit 1; }; } fi fi @@ -8297,15 +6871,10 @@ if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then # Extract the first word of "midl.exe", so it can be a program name with args. set dummy midl.exe; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MIDL_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $MIDL_PATH in [\\/]* | ?:[\\/]*) @@ -8318,37 +6887,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MIDL_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi MIDL_PATH=$ac_cv_path_MIDL_PATH - if test -n "$MIDL_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MIDL_PATH" >&5 -echo "${ECHO_T}$MIDL_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $MIDL_PATH" >&5 -echo "${ECHO_T}$MIDL_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MIDL_PATH" >&5 +$as_echo "$MIDL_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$MIDL_PATH";then MIDL_PATH=`dirname "$MIDL_PATH"` fi @@ -8374,8 +6934,8 @@ fi fi fi if test ! -x "$MIDL_PATH/midl.exe"; then - { { echo "$as_me:$LINENO: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&5 -echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&2;} + { { $as_echo "$as_me:$LINENO: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&5 +$as_echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&2;} { (exit 1); exit 1; }; } fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) @@ -8384,15 +6944,10 @@ echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --wit # Extract the first word of "csc.exe", so it can be a program name with args. set dummy csc.exe; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_CSC_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $CSC_PATH in [\\/]* | ?:[\\/]*) @@ -8405,37 +6960,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CSC_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi CSC_PATH=$ac_cv_path_CSC_PATH - if test -n "$CSC_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CSC_PATH" >&5 -echo "${ECHO_T}$CSC_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $CSC_PATH" >&5 -echo "${ECHO_T}$CSC_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CSC_PATH" >&5 +$as_echo "$CSC_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$CSC_PATH";then CSC_PATH=`dirname "$CSC_PATH"` fi @@ -8451,21 +6997,16 @@ fi fi fi if test ! -x "$CSC_PATH/csc.exe"; then - { { echo "$as_me:$LINENO: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&5 -echo "$as_me: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&2;} + { { $as_echo "$as_me:$LINENO: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&5 +$as_echo "$as_me: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&2;} { (exit 1); exit 1; }; } fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) CSC_PATH=`cygpath -d "$CSC_PATH"` CSC_PATH=`cygpath -u "$CSC_PATH"` -<<<<<<< .working - { echo "$as_me:$LINENO: checking .NET Framework" >&5 -echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking .NET Framework" >&5 -echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking .NET Framework" >&5 +$as_echo_n "checking .NET Framework... " >&6; } if test -n "$with_frame_home"; then with_frame_home=`cygpath -u "$with_frame_home"` fi @@ -8487,17 +7028,12 @@ echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 fi fi if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then - { { echo "$as_me:$LINENO: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&5 -echo "$as_me: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&2;} + { { $as_echo "$as_me:$LINENO: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&5 +$as_echo "$as_me: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } # Convert to posix path with 8.3 filename restrictions ( No spaces ) FRAME_HOME=`cygpath -d "$FRAME_HOME"` FRAME_HOME=`cygpath -u "$FRAME_HOME"` @@ -8513,20 +7049,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -<<<<<<< .working -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -8553,53 +7084,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -8609,52 +7122,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -8672,13 +7167,8 @@ fi else ac_cv_prog_CPP=$CPP fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -======= -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -8701,53 +7191,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -8757,52 +7229,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -8811,11 +7265,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -8825,15 +7281,10 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -8855,53 +7306,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. @@ -8957,6 +7387,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -8976,64 +7407,50 @@ main () for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + return 2; + return 0; } _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @@ -9045,25 +7462,24 @@ fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -9074,53 +7490,40 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -======= - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -9131,122 +7534,87 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" -<<<<<<< .working if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi -======= - CXX=$ac_ct_CXX ->>>>>>> .merge-right.r276078 fi - + fi +fi # Provide some information about the compiler. -<<<<<<< .working -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 -======= -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -9267,79 +7635,54 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -======= -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -======= -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -9355,223 +7698,121 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -9587,29 +7828,22 @@ else CXXFLAGS= fi fi -======= ->>>>>>> .merge-right.r276078 ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -<<<<<<< .working -{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" @@ -9636,53 +7870,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -9692,52 +7908,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -9755,13 +7953,8 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -======= -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -9784,53 +7977,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -9840,52 +8015,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -9894,11 +8051,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -9916,20 +8075,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -<<<<<<< .working -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -9956,53 +8110,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -10012,52 +8148,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -10075,13 +8193,8 @@ fi else ac_cv_prog_CPP=$CPP fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -======= -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -10104,53 +8217,35 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -10160,52 +8255,34 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -10214,11 +8291,13 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -10243,19 +8322,11 @@ fi for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do -<<<<<<< .working -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -10268,66 +8339,42 @@ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 eval "$as_ac_Header=yes" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -10335,136 +8382,15 @@ fi done -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6; } -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef long ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_long=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6; } - # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_long=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 - -echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF @@ -10474,15 +8400,10 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default - typedef long ac__type_sizeof_; int main () { -<<<<<<< .working -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; -======= -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; ->>>>>>> .merge-right.r276078 +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)]; test_array [0] = 0 ; @@ -10490,45 +8411,23 @@ test_array [0] = 0 } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF @@ -10538,15 +8437,10 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default - typedef long ac__type_sizeof_; int main () { -<<<<<<< .working -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -======= -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; ->>>>>>> .merge-right.r276078 +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 ; @@ -10554,79 +8448,53 @@ test_array [0] = 0 } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_hi=$ac_mid; break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default - typedef long ac__type_sizeof_; int main () { -<<<<<<< .working -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; -======= -static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; ->>>>>>> .merge-right.r276078 +static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)]; test_array [0] = 0 ; @@ -10634,45 +8502,23 @@ test_array [0] = 0 } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF @@ -10682,15 +8528,10 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default - typedef long ac__type_sizeof_; int main () { -<<<<<<< .working -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; -======= -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; ->>>>>>> .merge-right.r276078 +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)]; test_array [0] = 0 ; @@ -10698,68 +8539,49 @@ test_array [0] = 0 } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_lo=$ac_mid; break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo= ac_hi= + ac_lo= ac_hi= fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` @@ -10770,15 +8592,10 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default - typedef long ac__type_sizeof_; int main () { -<<<<<<< .working -static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; -======= -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; ->>>>>>> .merge-right.r276078 +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 ; @@ -10786,85 +8603,47 @@ test_array [0] = 0 } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_hi=$ac_mid else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr '(' $ac_mid ')' + 1` + ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; -<<<<<<< .working '') if test "$ac_cv_type_long" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) -======= -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 ->>>>>>> .merge-right.r276078 + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) See \`config.log' for more details." >&5 -<<<<<<< .working -echo "$as_me: error: cannot compute sizeof (long) -======= -echo "$as_me: error: cannot compute sizeof (long), 77 ->>>>>>> .merge-right.r276078 +$as_echo "$as_me: error: cannot compute sizeof (long) See \`config.log' for more details." >&2;} -<<<<<<< .working - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_long=0 fi ;; -======= - { (exit 1); exit 1; }; } ;; ->>>>>>> .merge-right.r276078 esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -10873,14 +8652,8 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default -<<<<<<< .working - typedef long ac__type_sizeof_; -static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } -static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } -======= -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } ->>>>>>> .merge-right.r276078 +static long int longval () { return (long int) (sizeof (long)); } +static unsigned long int ulongval () { return (long int) (sizeof (long)); } #include #include int @@ -10889,388 +8662,405 @@ main () FILE *f = fopen ("conftest.val", "w"); if (! f) -<<<<<<< .working return 1; - if (((long int) (sizeof (ac__type_sizeof_))) < 0) -======= - exit (1); - if (((long) (sizeof (long))) < 0) ->>>>>>> .merge-right.r276078 + if (((long int) (sizeof (long))) < 0) { -<<<<<<< .working long int i = longval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) + if (i != ((long int) (sizeof (long)))) return 1; - fprintf (f, "%ld\n", i); -======= - long i = longval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%ld\n", i); ->>>>>>> .merge-right.r276078 + fprintf (f, "%ld", i); } else { -<<<<<<< .working unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (ac__type_sizeof_)))) + if (i != ((long int) (sizeof (long)))) return 1; - fprintf (f, "%lu\n", i); -======= - unsigned long i = ulongval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%lu\n", i); ->>>>>>> .merge-right.r276078 + fprintf (f, "%lu", i); } -<<<<<<< .working + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ return ferror (f) || fclose (f) != 0; -======= - exit (ferror (f) || fclose (f) != 0); ->>>>>>> .merge-right.r276078 ; return 0; } _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_long=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +SIZEOF_LONG=$ac_cv_sizeof_long + + + { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + + # Check for potential -arch flags. It is not universal unless + # there are some -arch flags. Note that *ppc* also matches + # ppc64. This check is also rather less than ideal. + case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( + *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; + esac +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -<<<<<<< .working -if test "$ac_cv_type_long" = yes; then - { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) -======= -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 ->>>>>>> .merge-right.r276078 -See \`config.log' for more details." >&5 -<<<<<<< .working -echo "$as_me: error: cannot compute sizeof (long) -======= -echo "$as_me: error: cannot compute sizeof (long), 77 ->>>>>>> .merge-right.r276078 -See \`config.log' for more details." >&2;} -<<<<<<< .working - { (exit 77); exit 77; }; } - else - ac_cv_sizeof_long=0 - fi -======= - { (exit 1); exit 1; }; } ->>>>>>> .merge-right.r276078 -fi -<<<<<<< .working -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 -fi -fi -rm -f conftest.val -else - ac_cv_sizeof_long=0 + ac_cv_c_bigendian=no fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -======= fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6 ->>>>>>> .merge-right.r276078 -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - -SIZEOF_LONG=$ac_cv_sizeof_long -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include +#include int main () { -<<<<<<< .working -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ - && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) - bogus endian macros -#endif -======= -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif ->>>>>>> .merge-right.r276078 +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include +#include int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif +#ifndef _BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_c_bigendian=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -<<<<<<< .working - # It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -======= -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF ->>>>>>> .merge-right.r276078 + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then + # Try to guess by grepping values from an object file. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -<<<<<<< .working -short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } -======= -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } ->>>>>>> .merge-right.r276078 +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + int main () { - _ascii (); _ebcdic (); +return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ->>>>>>> .merge-right.r276078 - ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -11278,142 +9068,108 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +$ac_includes_default int main () { -<<<<<<< .working - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; ; return 0; -======= - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); ->>>>>>> .merge-right.r276078 } _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi -<<<<<<< .working -======= ->>>>>>> .merge-right.r276078 -fi -<<<<<<< .working -======= -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) ->>>>>>> .merge-right.r276078 - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } -case $ac_cv_c_bigendian in - yes) +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF +;; #( + no) + ;; #( + universal) cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 +#define AC_APPLE_UNIVERSAL_BUILD 1 _ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + + ;; #( + *) + { { $as_echo "$as_me:$LINENO: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +$as_echo "$as_me: error: unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} { (exit 1); exit 1; }; } ;; -esac + esac WORDS_BIGENDIAN=$ac_cv_c_bigendian -# Check whether --enable-largefile or --disable-largefile was given. +# Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" + enableval=$enable_largefile; +fi -fi; if test "$enable_largefile" != no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11437,54 +9193,31 @@ main () return 0; } _ACEOF -<<<<<<< .working rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" @@ -11494,78 +9227,45 @@ case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -rm -f conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_sys_largefile_CC=' -n32'; break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext + +rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11590,53 +9290,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=no; break -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11662,89 +9341,54 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_sys_file_offset_bits=64; break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown break done fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) -======= -echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - ->>>>>>> .merge-right.r276078 cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF -<<<<<<< .working ;; esac -rm -f conftest* +rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then - { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } -======= - -fi -rm -f conftest* - echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11769,53 +9413,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=no; break -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11841,80 +9464,48 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_sys_large_files=1; break else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown break done fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) -======= -echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - ->>>>>>> .merge-right.r276078 cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF -<<<<<<< .working ;; esac -rm -f conftest* +rm -rf conftest* fi -======= - ->>>>>>> .merge-right.r276078 -fi -rm -f conftest* fi if test -n "$ac_cv_sys_file_offset_bits"; then @@ -11925,81 +9516,44 @@ if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; th fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to disable vba feature" >&5 -echo $ECHO_N "checking whether to disable vba feature... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to disable vba feature" >&5 -echo $ECHO_N "checking whether to disable vba feature... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to disable vba feature" >&5 +$as_echo_n "checking whether to disable vba feature... " >&6; } if test -n "$enable_vba" && test "$enable_vba" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_VBA=NO else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_VBA=YES fi if test "$ENABLE_VBA" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking how to package the vba compatibility api" >&5 -echo $ECHO_N "checking how to package the vba compatibility api... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking how to package the vba compatibility api" >&5 -echo $ECHO_N "checking how to package the vba compatibility api... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking how to package the vba compatibility api" >&5 +$as_echo_n "checking how to package the vba compatibility api... " >&6; } if test -n "$with_vba_package_format"; then if test "$with_vba_package_format" = "extn"; then VBA_EXTENSION=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: uno extension" >&5 -echo "${ECHO_T}uno extension" >&6; } - { echo "$as_me:$LINENO: WARNING: --with-vba-package-format=extn can cause problems" >&5 -echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} -======= - echo "$as_me:$LINENO: result: uno extension" >&5 -echo "${ECHO_T}uno extension" >&6 - { echo "$as_me:$LINENO: WARNING: --with-vba-package-format=extn can cause problems" >&5 -echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: uno extension" >&5 +$as_echo "uno extension" >&6; } + { $as_echo "$as_me:$LINENO: WARNING: --with-vba-package-format=extn can cause problems" >&5 +$as_echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} else if test "$with_vba_package_format" = "builtin"; then VBA_EXTENSION=NO -<<<<<<< .working - { echo "$as_me:$LINENO: result: build into installset" >&5 -echo "${ECHO_T}build into installset" >&6; } -======= - echo "$as_me:$LINENO: result: build into installset" >&5 -echo "${ECHO_T}build into installset" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: build into installset" >&5 +$as_echo "build into installset" >&6; } else - { { echo "$as_me:$LINENO: error: unknown packaging method" >&5 -echo "$as_me: error: unknown packaging method" >&2;} + { { $as_echo "$as_me:$LINENO: error: unknown packaging method" >&5 +$as_echo "$as_me: error: unknown packaging method" >&2;} { (exit 1); exit 1; }; } fi fi else VBA_EXTENSION=NO -<<<<<<< .working - { echo "$as_me:$LINENO: result: defaulting to build into installset" >&5 -echo "${ECHO_T}defaulting to build into installset" >&6; } -======= - echo "$as_me:$LINENO: result: defaulting to build into installset" >&5 -echo "${ECHO_T}defaulting to build into installset" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: defaulting to build into installset" >&5 +$as_echo "defaulting to build into installset" >&6; } fi else VBA_EXTENSION=NO @@ -12010,32 +9564,17 @@ fi if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then if test "${ac_cv_header_cups_cups_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for cups/cups.h" >&5 +$as_echo_n "checking for cups/cups.h... " >&6; } if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 +$as_echo "$ac_cv_header_cups_cups_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking cups/cups.h usability" >&5 -echo $ECHO_N "checking cups/cups.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking cups/cups.h usability" >&5 -echo $ECHO_N "checking cups/cups.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking cups/cups.h usability" >&5 +$as_echo_n "checking cups/cups.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12046,71 +9585,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking cups/cups.h presence" >&5 -echo $ECHO_N "checking cups/cups.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking cups/cups.h presence" >&5 -echo $ECHO_N "checking cups/cups.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking cups/cups.h presence" >&5 +$as_echo_n "checking cups/cups.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12119,132 +9625,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: cups/cups.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: cups/cups.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for cups/cups.h" >&5 +$as_echo_n "checking for cups/cups.h... " >&6; } if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_cups_cups_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 +$as_echo "$ac_cv_header_cups_cups_h" >&6; } fi -if test $ac_cv_header_cups_cups_h = yes; then +if test "x$ac_cv_header_cups_cups_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&5 -echo "$as_me: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&2;} + { { $as_echo "$as_me:$LINENO: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&5 +$as_echo "$as_me: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&2;} { (exit 1); exit 1; }; } fi @@ -12252,49 +9702,24 @@ fi fi if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to enable pam support" >&5 -echo $ECHO_N "checking whether to enable pam support... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to enable pam support" >&5 -echo $ECHO_N "checking whether to enable pam support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to enable pam support" >&5 +$as_echo_n "checking whether to enable pam support... " >&6; } if test -z "$enable_pam" || test "$enable_pam" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } PAM=YES if test "${ac_cv_header_security_pam_appl_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 +$as_echo_n "checking for security/pam_appl.h... " >&6; } if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 +$as_echo "$ac_cv_header_security_pam_appl_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 -echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 -echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 +$as_echo_n "checking security/pam_appl.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12305,71 +9730,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 -echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 -echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 +$as_echo_n "checking security/pam_appl.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -12378,162 +9770,91 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: security/pam_appl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: security/pam_appl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 +$as_echo_n "checking for security/pam_appl.h... " >&6; } if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_security_pam_appl_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 +$as_echo "$ac_cv_header_security_pam_appl_h" >&6; } fi -if test $ac_cv_header_security_pam_appl_h = yes; then +if test "x$ac_cv_header_security_pam_appl_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&5 -echo "$as_me: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&2;} + { { $as_echo "$as_me:$LINENO: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&5 +$as_echo "$as_me: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to link to libpam" >&5 -echo $ECHO_N "checking whether to link to libpam... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to link to libpam" >&5 -echo $ECHO_N "checking whether to link to libpam... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to link to libpam" >&5 +$as_echo_n "checking whether to link to libpam... " >&6; } if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } PAM_LINK=YES -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 -echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 -echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 +$as_echo_n "checking for pam_start in -lpam... " >&6; } if test "${ac_cv_lib_pam_pam_start+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam $LIBS" @@ -12544,87 +9865,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char pam_start (); int main () { -pam_start (); +return pam_start (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_pam_pam_start=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_pam_pam_start=no + ac_cv_lib_pam_pam_start=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6; } -if test $ac_cv_lib_pam_pam_start = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6 -if test $ac_cv_lib_pam_pam_start = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 +$as_echo "$ac_cv_lib_pam_pam_start" >&6; } +if test "x$ac_cv_lib_pam_pam_start" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPAM 1 _ACEOF @@ -12632,29 +9924,19 @@ _ACEOF LIBS="-lpam $LIBS" else - { { echo "$as_me:$LINENO: error: libpam not found or functional" >&5 -echo "$as_me: error: libpam not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libpam not found or functional" >&5 +$as_echo "$as_me: error: libpam not found or functional" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6; } -======= - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } PAM_LINK=NO fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } PAM=NO PAM_LINK=NO @@ -12665,16 +9947,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -<<<<<<< .working - { echo "$as_me:$LINENO: checking how many arguments getspnam_r() takes" >&5 -echo $ECHO_N "checking how many arguments getspnam_r() takes... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking how many arguments getspnam_r() takes" >&5 -echo $ECHO_N "checking how many arguments getspnam_r() takes... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking how many arguments getspnam_r() takes" >&5 +$as_echo_n "checking how many arguments getspnam_r() takes... " >&6; } if test "${ac_cv_func_which_getspnam_r+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else @@ -12713,52 +9990,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_func_which_getspnam_r=no else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # # FIVE ARGUMENTS @@ -12790,52 +10047,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_func_which_getspnam_r=five else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -12869,52 +10106,32 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_func_which_getspnam_r=four else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -12925,49 +10142,29 @@ fi case "$ac_cv_func_which_getspnam_r" in five) -<<<<<<< .working - { echo "$as_me:$LINENO: result: five" >&5 -echo "${ECHO_T}five" >&6; } -======= - echo "$as_me:$LINENO: result: five" >&5 -echo "${ECHO_T}five" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: five" >&5 +$as_echo "five" >&6; } NEW_SHADOW_API=YES ;; four) -<<<<<<< .working - { echo "$as_me:$LINENO: result: four" >&5 -echo "${ECHO_T}four" >&6; } -======= - echo "$as_me:$LINENO: result: four" >&5 -echo "${ECHO_T}four" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: four" >&5 +$as_echo "four" >&6; } ;; no) -<<<<<<< .working - { echo "$as_me:$LINENO: result: cannot find function declaration in shadow.h" >&5 -echo "${ECHO_T}cannot find function declaration in shadow.h" >&6; } -======= - echo "$as_me:$LINENO: result: cannot find function declaration in shadow.h" >&5 -echo "${ECHO_T}cannot find function declaration in shadow.h" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: cannot find function declaration in shadow.h" >&5 +$as_echo "cannot find function declaration in shadow.h" >&6; } ;; unknown) -<<<<<<< .working - { echo "$as_me:$LINENO: result: can't tell" >&5 -echo "${ECHO_T}can't tell" >&6; } -======= - echo "$as_me:$LINENO: result: can't tell" >&5 -echo "${ECHO_T}can't tell" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: can't tell" >&5 +$as_echo "can't tell" >&6; } ;; *) - { { echo "$as_me:$LINENO: error: internal error" >&5 -echo "$as_me: error: internal error" >&2;} + { { $as_echo "$as_me:$LINENO: error: internal error" >&5 +$as_echo "$as_me: error: internal error" >&2;} { (exit 1); exit 1; }; } ;; esac @@ -12987,32 +10184,17 @@ fi if test "$_os" = "Linux"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to link to libcrypt" >&5 -echo $ECHO_N "checking whether to link to libcrypt... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to link to libcrypt" >&5 -echo $ECHO_N "checking whether to link to libcrypt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to link to libcrypt" >&5 +$as_echo_n "checking whether to link to libcrypt... " >&6; } if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } CRYPT_LINK=YES -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 -echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 -echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 +$as_echo_n "checking for crypt in -lcrypt... " >&6; } if test "${ac_cv_lib_crypt_crypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrypt $LIBS" @@ -13023,87 +10205,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char crypt (); int main () { -crypt (); +return crypt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_crypt_crypt=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_crypt_crypt=no + ac_cv_lib_crypt_crypt=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 -echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; } -if test $ac_cv_lib_crypt_crypt = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 -echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6 -if test $ac_cv_lib_crypt_crypt = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 +$as_echo "$ac_cv_lib_crypt_crypt" >&6; } +if test "x$ac_cv_lib_crypt_crypt" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCRYPT 1 _ACEOF @@ -13111,19 +10264,14 @@ _ACEOF LIBS="-lcrypt $LIBS" else - { { echo "$as_me:$LINENO: error: libcrypt not found or functional" >&5 -echo "$as_me: error: libcrypt not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libcrypt not found or functional" >&5 +$as_echo "$as_me: error: libcrypt not found or functional" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6; } -======= - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } CRYPT_LINK=NO fi fi @@ -13142,25 +10290,24 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -13171,53 +10318,40 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -======= - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -13228,122 +10362,87 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" -<<<<<<< .working if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi -======= - CXX=$ac_ct_CXX ->>>>>>> .merge-right.r276078 fi - + fi +fi # Provide some information about the compiler. -<<<<<<< .working -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 -======= -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 -======= -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -13364,79 +10463,54 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -======= -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -======= -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -13452,223 +10526,121 @@ main () } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -13684,8 +10656,6 @@ else CXXFLAGS= fi fi -======= ->>>>>>> .merge-right.r276078 ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -13695,41 +10665,28 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi if test "$GXX" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking the GNU C++ compiler version" >&5 -echo $ECHO_N "checking the GNU C++ compiler version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the GNU C++ compiler version" >&5 -echo $ECHO_N "checking the GNU C++ compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the GNU C++ compiler version" >&5 +$as_echo_n "checking the GNU C++ compiler version... " >&6; } _gpp_version=`$CXX -dumpversion` _gpp_major=`echo $_gpp_version | $AWK -F. '{ print \$1 }'` _gpp_minor=`echo $_gpp_version | $AWK -F. '{ print \$2 }'` -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (g++ $_gpp_version)" >&5 -echo "${ECHO_T}checked (g++ $_gpp_version)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (g++ $_gpp_version)" >&5 -echo "${ECHO_T}checked (g++ $_gpp_version)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (g++ $_gpp_version)" >&5 +$as_echo "checked (g++ $_gpp_version)" >&6; } if test "$_gpp_major" = "3"; then if test "$_gpp_minor" = "4"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $CXX has the enum bug" >&5 -echo $ECHO_N "checking whether $CXX has the enum bug... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $CXX has the enum bug" >&5 -echo $ECHO_N "checking whether $CXX has the enum bug... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $CXX has the enum bug" >&5 +$as_echo_n "checking whether $CXX has the enum bug... " >&6; } if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -13761,58 +10718,44 @@ main (void) _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - { { echo "$as_me:$LINENO: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&5 -echo "$as_me: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&2;} + { { $as_echo "$as_me:$LINENO: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&5 +$as_echo "$as_me: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&2;} { (exit 1); exit 1; }; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -<<<<<<< .working -{ echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi -<<<<<<< .working +{ $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + fi fi fi @@ -13820,13 +10763,8 @@ fi # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path # often contains an i386 which is expanded as a macro. Solved in stlport. if test "$GXX" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for g++ include path" >&5 -echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for g++ include path" >&5 -echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for g++ include path" >&5 +$as_echo_n "checking for g++ include path... " >&6; } if test -z "$with_gxx_include_path"; then with_gxx_include_path=`echo "#include " | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1` if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then @@ -13844,33 +10782,18 @@ echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 fi if test -z "$with_gxx_include_path"; then with_gxx_include_path="NO_GXX_INCLUDE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no g++ includes" >&5 -echo "${ECHO_T}no g++ includes" >&6; } -======= - echo "$as_me:$LINENO: result: no g++ includes" >&5 -echo "${ECHO_T}no g++ includes" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $with_gxx_include_path" >&5 -echo "${ECHO_T}$with_gxx_include_path" >&6; } -======= - echo "$as_me:$LINENO: result: $with_gxx_include_path" >&5 -echo "${ECHO_T}$with_gxx_include_path" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no g++ includes" >&5 +$as_echo "no g++ includes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: $with_gxx_include_path" >&5 +$as_echo "$with_gxx_include_path" >&6; } fi GXX_INCLUDE_PATH="$with_gxx_include_path" if test "$WITH_MINGWIN" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for mingwin runtime include path" >&5 -echo $ECHO_N "checking for mingwin runtime include path... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for mingwin runtime include path" >&5 -echo $ECHO_N "checking for mingwin runtime include path... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for mingwin runtime include path" >&5 +$as_echo_n "checking for mingwin runtime include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include #include @@ -13888,31 +10811,16 @@ _ACEOF fi if test -z "$_mingw_lib_include_path"; then _mingw_lib_include_path="NO_LIB_INCLUDE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no mingwin runtime includes" >&5 -echo "${ECHO_T}no mingwin runtime includes" >&6; } -======= - echo "$as_me:$LINENO: result: no mingwin runtime includes" >&5 -echo "${ECHO_T}no mingwin runtime includes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no mingwin runtime includes" >&5 +$as_echo "no mingwin runtime includes" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5 -echo "${ECHO_T}$_mingw_lib_include_path" >&6; } -======= - echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5 -echo "${ECHO_T}$_mingw_lib_include_path" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5 +$as_echo "$_mingw_lib_include_path" >&6; } fi MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5 -echo $ECHO_N "checking for mingwin c++ backward include path... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5 -echo $ECHO_N "checking for mingwin c++ backward include path... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5 +$as_echo_n "checking for mingwin c++ backward include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include _ACEOF @@ -13921,117 +10829,57 @@ _ACEOF if test -n "$_mingw_backward_include_path"; then _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path` _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5 -echo "${ECHO_T}$_mingw_backward_include_path" >&6; } -======= - echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5 -echo "${ECHO_T}$_mingw_backward_include_path" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5 +$as_echo "$_mingw_backward_include_path" >&6; } else _mingw_backward_include_path="NO_BACKWARD_INCLUDE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5 -echo "${ECHO_T}no mingwin c++ backward includes" >&6; } -======= - echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5 -echo "${ECHO_T}no mingwin c++ backward includes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5 +$as_echo "no mingwin c++ backward includes" >&6; } fi MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path" mingw_crtbegin=`$CC -print-file-name=crtbegin.o` MINGW_CLIB_DIR=`dirname $mingw_crtbegin` -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5 -echo $ECHO_N "checking whether to use dynamic libgcc... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5 -echo $ECHO_N "checking whether to use dynamic libgcc... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5 +$as_echo_n "checking whether to use dynamic libgcc... " >&6; } if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking dynamic libgcc name" >&5 -echo $ECHO_N "checking dynamic libgcc name... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking dynamic libgcc name" >&5 -echo $ECHO_N "checking dynamic libgcc name... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking dynamic libgcc name" >&5 +$as_echo_n "checking dynamic libgcc name... " >&6; } MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GCCDLL=`cd $COMPATH && ls $MINGW_GCCDLL_pattern 2>/dev/null` if test -n "$MINGW_GCCDLL"; then MINGW_SHARED_GCCLIB=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5 -echo "${ECHO_T}use $MINGW_GCCDLL" >&6; } -======= - echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5 -echo "${ECHO_T}use $MINGW_GCCDLL" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5 +$as_echo "use $MINGW_GCCDLL" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then MINGW_GCCLIB_EH=YES fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5 -echo $ECHO_N "checking whether to use dynamic libstdc++... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5 -echo $ECHO_N "checking whether to use dynamic libstdc++... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5 +$as_echo_n "checking whether to use dynamic libstdc++... " >&6; } if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5 -echo $ECHO_N "checking dynamic libstdc++ name... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5 -echo $ECHO_N "checking dynamic libstdc++ name... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5 +$as_echo_n "checking dynamic libstdc++ name... " >&6; } MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GXXDLL=`cd $COMPATH && ls $MINGW_GXXDLL_pattern 2>/dev/null` if test -n "$MINGW_GXXDLL"; then MINGW_SHARED_GXXLIB=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5 -echo "${ECHO_T}use $MINGW_GXXDLL" >&6; } -======= - echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5 -echo "${ECHO_T}use $MINGW_GXXDLL" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5 +$as_echo "use $MINGW_GXXDLL" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR` @@ -14044,110 +10892,64 @@ fi if test "$_os" = "SunOS"; then if test "$CC" = "cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking SunStudio C++ Compiler" >&5 -echo $ECHO_N "checking SunStudio C++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking SunStudio C++ Compiler" >&5 -echo $ECHO_N "checking SunStudio C++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking SunStudio C++ Compiler" >&5 +$as_echo_n "checking SunStudio C++ Compiler... " >&6; } if test "$CXX" != "CC"; then - { echo "$as_me:$LINENO: WARNING: SunStudio C++ was not found" >&5 -echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: SunStudio C++ was not found" >&5 +$as_echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} echo "SunStudio C++ was not found" >> warn else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "Darwin"; then if test "$CC" = "cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking Macosx c++ Compiler" >&5 -echo $ECHO_N "checking Macosx c++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking Macosx c++ Compiler" >&5 -echo $ECHO_N "checking Macosx c++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking Macosx c++ Compiler" >&5 +$as_echo_n "checking Macosx c++ Compiler... " >&6; } if test "$CXX" != "c++"; then - { echo "$as_me:$LINENO: WARNING: Macosx C++ was not found" >&5 -echo "$as_me: WARNING: Macosx C++ was not found" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Macosx C++ was not found" >&5 +$as_echo "$as_me: WARNING: Macosx C++ was not found" >&2;} echo "Macosx C++ was not found" >> warn else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then if test "$CC" = "cc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking SGI MIPSpro C++ Compiler" >&5 -echo $ECHO_N "checking SGI MIPSpro C++ Compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking SGI MIPSpro C++ Compiler" >&5 -echo $ECHO_N "checking SGI MIPSpro C++ Compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking SGI MIPSpro C++ Compiler" >&5 +$as_echo_n "checking SGI MIPSpro C++ Compiler... " >&6; } if test "$CXX" != "CC"; then - { echo "$as_me:$LINENO: WARNING: SGI MIPSpro C++ was not found" >&5 -echo "$as_me: WARNING: SGI MIPSpro C++ was not found" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: SGI MIPSpro C++ was not found" >&5 +$as_echo "$as_me: WARNING: SGI MIPSpro C++ was not found" >&2;} echo "SGI MIPSpro C++ was not found" >> warn else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "OSF1"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking Compaq C++ compiler version" >&5 -echo $ECHO_N "checking Compaq C++ compiler version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking Compaq C++ compiler version" >&5 -echo $ECHO_N "checking Compaq C++ compiler version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking Compaq C++ compiler version" >&5 +$as_echo_n "checking Compaq C++ compiler version... " >&6; } _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'` _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'` if test "$_compaqcxx_major" != "V6"; then - { echo "$as_me:$LINENO: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 -echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 +$as_echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking exception type" >&5 -echo $ECHO_N "checking exception type... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking exception type" >&5 +$as_echo_n "checking exception type... " >&6; } ac_ext=cpp -======= -echo "$as_me:$LINENO: checking exception type" >&5 -echo $ECHO_N "checking exception type... $ECHO_C" >&6 -ac_ext=cc ->>>>>>> .merge-right.r276078 ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -14175,70 +10977,42 @@ _Unwind_SjLj_RaiseException() } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then exceptions_type="sjlj" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -exceptions_type="dwarf2" + exceptions_type="dwarf2" fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $exceptions_type" >&5 -echo "${ECHO_T}$exceptions_type" >&6; } -======= -echo "$as_me:$LINENO: result: $exceptions_type" >&5 -echo "${ECHO_T}$exceptions_type" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $exceptions_type" >&5 +$as_echo "$exceptions_type" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -14251,13 +11025,8 @@ EXCEPTIONS="$exceptions_type" if test "$_os" = "SunOS"; then _temp=`showrev -p | $AWK -F" " '{ print $2 }'` if test "$_os_release" = "7"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for patch 106327-06 or greater" >&5 -echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for patch 106327-06 or greater" >&5 -echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for patch 106327-06 or greater" >&5 +$as_echo_n "checking for patch 106327-06 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'` _patch="false" for i in $_temp @@ -14271,25 +11040,15 @@ echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 -echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for patch 106950-11 or greater" >&5 -echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for patch 106950-11 or greater" >&5 -echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for patch 106950-11 or greater" >&5 +$as_echo_n "checking for patch 106950-11 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'` _patch="false" for i in $_temp @@ -14303,27 +11062,17 @@ echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 -echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn fi else if test "$_os_release" = "6"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for patch 105591-09 or greater" >&5 -echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for patch 105591-09 or greater" >&5 -echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for patch 105591-09 or greater" >&5 +$as_echo_n "checking for patch 105591-09 or greater... " >&6; } _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'` _patch="false" for i in $_temp @@ -14337,25 +11086,15 @@ echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 -echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 +$as_echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for patch 107733-08 or greater" >&5 -echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for patch 107733-08 or greater" >&5 -echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for patch 107733-08 or greater" >&5 +$as_echo_n "checking for patch 107733-08 or greater... " >&6; } _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'` _patch="false" for i in $_temp @@ -14369,16 +11108,11 @@ echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 -echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 +$as_echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn fi fi @@ -14387,45 +11121,25 @@ fi if test -n "$enable_sgistl" && "$enable_sgistl" != "no"; then if test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for SGI STL" >&5 -echo $ECHO_N "checking for SGI STL... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for SGI STL" >&5 -echo $ECHO_N "checking for SGI STL... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for SGI STL" >&5 +$as_echo_n "checking for SGI STL... " >&6; } if test -d /usr/include/CC ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes." >&5 -echo "${ECHO_T}yes." >&6; } -======= - echo "$as_me:$LINENO: result: yes." >&5 -echo "${ECHO_T}yes." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes." >&5 +$as_echo "yes." >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: not found." >&5 -echo "${ECHO_T}not found." >&6; } -======= - echo "$as_me:$LINENO: result: not found." >&5 -echo "${ECHO_T}not found." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not found." >&5 +$as_echo "not found." >&6; } fi else - { { echo "$as_me:$LINENO: error: Option --enable-sgistl is only valid for IRIX" >&5 -echo "$as_me: error: Option --enable-sgistl is only valid for IRIX" >&2;} + { { $as_echo "$as_me:$LINENO: error: Option --enable-sgistl is only valid for IRIX" >&5 +$as_echo "$as_me: error: Option --enable-sgistl is only valid for IRIX" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: checking what the default STL should be" >&5 -echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking what the default STL should be" >&5 -echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking what the default STL should be" >&5 +$as_echo_n "checking what the default STL should be... " >&6; } DEFAULT_TO_STLPORT="no" if test "$_os" = "Linux"; then case "$build_cpu" in @@ -14446,60 +11160,35 @@ echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 DEFAULT_TO_STLPORT="yes" fi if test "$DEFAULT_TO_STLPORT" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: stlport" >&5 -echo "${ECHO_T}stlport" >&6; } -======= - echo "$as_me:$LINENO: result: stlport" >&5 -echo "${ECHO_T}stlport" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: stlport" >&5 +$as_echo "stlport" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6; } -======= - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: system" >&5 +$as_echo "system" >&6; } fi if test "$WITH_STLPORT" = "auto"; then WITH_STLPORT=$DEFAULT_TO_STLPORT fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for STL providing headers" >&5 -echo $ECHO_N "checking for STL providing headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for STL providing headers" >&5 -echo $ECHO_N "checking for STL providing headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for STL providing headers" >&5 +$as_echo_n "checking for STL providing headers... " >&6; } STLPORT4="" USE_SYSTEM_STL="" if test "$WITH_STLPORT" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: using internal stlport." >&5 -echo "${ECHO_T}using internal stlport." >&6; } -======= - echo "$as_me:$LINENO: result: using internal stlport." >&5 -echo "${ECHO_T}using internal stlport." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: using internal stlport." >&5 +$as_echo "using internal stlport." >&6; } if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi elif test "$WITH_STLPORT" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: using system STL" >&5 -echo "${ECHO_T}using system STL" >&6; } -======= - echo "$as_me:$LINENO: result: using system STL" >&5 -echo "${ECHO_T}using system STL" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: using system STL" >&5 +$as_echo "using system STL" >&6; } USE_SYSTEM_STL="YES" if test "$DEFAULT_TO_STLPORT" != "no"; then - { echo "$as_me:$LINENO: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} echo "using system STL. Warning, breaks your ABI compatability!" >>warn fi else @@ -14513,189 +11202,110 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $STLPORT4/stlport/hash_map _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then - { echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6; } -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - echo "$as_me: failed program was:" >&5 -======= - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 + { $as_echo "$as_me:$LINENO: result: checked." >&5 +$as_echo "checked." >&6; } else - echo "$as_me: failed program was:" >&5 ->>>>>>> .merge-right.r276078 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport headers not found." >&5 +$as_echo "$as_me: error: STLport headers not found." >&2;} { (exit 1); exit 1; }; } fi + rm -f conftest.err conftest.$ac_ext else if test -f "$STLPORT4/stlport/hash_map"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6; } -======= - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked." >&5 +$as_echo "checked." >&6; } else - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport headers not found." >&5 +$as_echo "$as_me: error: STLport headers not found." >&2;} { (exit 1); exit 1; }; } fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for STLport libraries" >&5 -echo $ECHO_N "checking for STLport libraries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for STLport libraries" >&5 -echo $ECHO_N "checking for STLport libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for STLport libraries" >&5 +$as_echo_n "checking for STLport libraries... " >&6; } if test "$_os" = "SunOS"; then if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport libraries not found" >&5 +$as_echo "$as_me: error: STLport libraries not found" >&2;} { (exit 1); exit 1; }; } fi elif test "$_os" = "Darwin"; then if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.dylib"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport libraries not found" >&5 +$as_echo "$as_me: error: STLport libraries not found" >&2;} { (exit 1); exit 1; }; } fi elif test "$_os" = "IRIX" -o "$_os" = "IRIX64"; then if test -f "$STLPORT4/lib/libstlport_mipspro_41.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport libraries not found" >&5 +$as_echo "$as_me: error: STLport libraries not found" >&2;} { (exit 1); exit 1; }; } fi fi else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6; } -======= - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: STLport libraries not found" >&5 +$as_echo "$as_me: error: STLport libraries not found" >&2;} { (exit 1); exit 1; }; } fi fi fi if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi fi @@ -14712,13 +11322,8 @@ fi if test "$GCC" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $CC supports -fvisibility=hidden" >&5 -echo $ECHO_N "checking whether $CC supports -fvisibility=hidden... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $CC supports -fvisibility=hidden" >&5 -echo $ECHO_N "checking whether $CC supports -fvisibility=hidden... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $CC supports -fvisibility=hidden" >&5 +$as_echo_n "checking whether $CC supports -fvisibility=hidden... " >&6; } save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -fvisibility=hidden" cat >conftest.$ac_ext <<_ACEOF @@ -14737,89 +11342,51 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then HAVE_GCC_VISIBILITY_FEATURE=TRUE else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext CFLAGS=$save_CFLAGS if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi if test "$USE_SYSTEM_STL" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking if hash_map will be in __gnu_cxx namespace" >&5 -echo $ECHO_N "checking if hash_map will be in __gnu_cxx namespace... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking if hash_map will be in __gnu_cxx namespace" >&5 +$as_echo_n "checking if hash_map will be in __gnu_cxx namespace... " >&6; } ac_ext=cpp -======= - echo "$as_me:$LINENO: checking if hash_map will be in __gnu_cxx namespace" >&5 -echo $ECHO_N "checking if hash_map will be in __gnu_cxx namespace... $ECHO_C" >&6 - ac_ext=cc ->>>>>>> .merge-right.r276078 ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -14844,76 +11411,45 @@ hash_map t; return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_cxx_have_ext_hash_map=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_cxx_have_ext_hash_map=no + ac_cv_cxx_have_ext_hash_map=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_cxx_have_ext_hash_map" = "no"; then - { { echo "$as_me:$LINENO: error: Can't find hash_map. Try with --with-stlport" >&5 -echo "$as_me: error: Can't find hash_map. Try with --with-stlport" >&2;} + { { $as_echo "$as_me:$LINENO: error: Can't find hash_map. Try with --with-stlport" >&5 +$as_echo "$as_me: error: Can't find hash_map. Try with --with-stlport" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_cv_cxx_have_ext_hash_map" >&5 -echo "${ECHO_T}$ac_cv_cxx_have_ext_hash_map" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_cv_cxx_have_ext_hash_map" >&5 -echo "${ECHO_T}$ac_cv_cxx_have_ext_hash_map" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_have_ext_hash_map" >&5 +$as_echo "$ac_cv_cxx_have_ext_hash_map" >&6; } fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking if STL headers are visibility safe" >&5 -echo $ECHO_N "checking if STL headers are visibility safe... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if STL headers are visibility safe" >&5 -echo $ECHO_N "checking if STL headers are visibility safe... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if STL headers are visibility safe" >&5 +$as_echo_n "checking if STL headers are visibility safe... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -14932,16 +11468,11 @@ else fi rm -f conftest* -<<<<<<< .working - { echo "$as_me:$LINENO: result: $stlvisok" >&5 -echo "${ECHO_T}$stlvisok" >&6; } -======= - echo "$as_me:$LINENO: result: $stlvisok" >&5 -echo "${ECHO_T}$stlvisok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $stlvisok" >&5 +$as_echo "$stlvisok" >&6; } if test "$stlvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -14951,13 +11482,8 @@ echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling v sharedlink_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared" -<<<<<<< .working - { echo "$as_me:$LINENO: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 -echo $ECHO_N "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 -echo $ECHO_N "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 +$as_echo_n "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -14976,71 +11502,43 @@ istringstream strm( "test" ); return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then $EGREP -q unresolvable conftest.err; if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -gccvisok=no + gccvisok=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext -<<<<<<< .working - { echo "$as_me:$LINENO: result: $gccvisok" >&5 -echo "${ECHO_T}$gccvisok" >&6; } -======= - echo "$as_me:$LINENO: result: $gccvisok" >&5 -echo "${ECHO_T}$gccvisok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $gccvisok" >&5 +$as_echo "$gccvisok" >&6; } if test "$gccvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -15049,13 +11547,8 @@ echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabli fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 -echo $ECHO_N "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 -echo $ECHO_N "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 +$as_echo_n "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... " >&6; } cat >visibility.cxx <<_ACEOF #pragma GCC visibility push(hidden) struct __attribute__ ((visibility ("default"))) TestStruct { @@ -15076,16 +11569,11 @@ _ACEOF fi rm -f visibility.s -<<<<<<< .working - { echo "$as_me:$LINENO: result: $gccvisbroken" >&5 -echo "${ECHO_T}$gccvisbroken" >&6; } -======= - echo "$as_me:$LINENO: result: $gccvisbroken" >&5 -echo "${ECHO_T}$gccvisbroken" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $gccvisbroken" >&5 +$as_echo "$gccvisbroken" >&6; } if test "$gccvisbroken" = "yes"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -15101,21 +11589,11 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which memory allocator to use" >&5 -echo $ECHO_N "checking which memory allocator to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which memory allocator to use" >&5 -echo $ECHO_N "checking which memory allocator to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which memory allocator to use" >&5 +$as_echo_n "checking which memory allocator to use... " >&6; } if test "$with_alloc" = "system"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6; } -======= - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: system" >&5 +$as_echo "system" >&6; } ALLOC="SYS_ALLOC"; @@ -15123,19 +11601,11 @@ echo "${ECHO_T}system" >&6 for ac_func in malloc realloc calloc free do -<<<<<<< .working -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -15160,102 +11630,70 @@ cat >>conftest.$ac_ext <<_ACEOF #undef $ac_func -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != $ac_func; +return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then eval "$as_ac_var=yes" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_var=no" + eval "$as_ac_var=no" fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -15263,28 +11701,18 @@ done fi if test "$with_alloc" = "tcmalloc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: tcmalloc" >&5 -echo "${ECHO_T}tcmalloc" >&6; } -======= - echo "$as_me:$LINENO: result: tcmalloc" >&5 -echo "${ECHO_T}tcmalloc" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: tcmalloc" >&5 +$as_echo "tcmalloc" >&6; } if ! echo $build_cpu | grep -E 'i[3456]86' 2>/dev/null >/dev/null; then - { { echo "$as_me:$LINENO: error: tcmalloc only available/usable on ix86" >&5 -echo "$as_me: error: tcmalloc only available/usable on ix86" >&2;} + { { $as_echo "$as_me:$LINENO: error: tcmalloc only available/usable on ix86" >&5 +$as_echo "$as_me: error: tcmalloc only available/usable on ix86" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for malloc in -ltcmalloc" >&5 -echo $ECHO_N "checking for malloc in -ltcmalloc... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for malloc in -ltcmalloc" >&5 -echo $ECHO_N "checking for malloc in -ltcmalloc... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for malloc in -ltcmalloc" >&5 +$as_echo_n "checking for malloc in -ltcmalloc... " >&6; } if test "${ac_cv_lib_tcmalloc_malloc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltcmalloc $LIBS" @@ -15295,87 +11723,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char malloc (); int main () { -malloc (); +return malloc (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_tcmalloc_malloc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_tcmalloc_malloc=no + ac_cv_lib_tcmalloc_malloc=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_tcmalloc_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_tcmalloc_malloc" >&6; } -if test $ac_cv_lib_tcmalloc_malloc = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_tcmalloc_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_tcmalloc_malloc" >&6 -if test $ac_cv_lib_tcmalloc_malloc = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tcmalloc_malloc" >&5 +$as_echo "$ac_cv_lib_tcmalloc_malloc" >&6; } +if test "x$ac_cv_lib_tcmalloc_malloc" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBTCMALLOC 1 _ACEOF @@ -15383,81 +11782,46 @@ _ACEOF LIBS="-ltcmalloc $LIBS" else - { { echo "$as_me:$LINENO: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&5 -echo "$as_me: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&2;} + { { $as_echo "$as_me:$LINENO: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&5 +$as_echo "$as_me: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&2;} { (exit 1); exit 1; }; } fi ALLOC="TCMALLOC"; fi if test "$with_alloc" = "internal" -o -z "$with_alloc"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to add custom build version" >&5 -echo $ECHO_N "checking whether to add custom build version... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to add custom build version" >&5 -echo $ECHO_N "checking whether to add custom build version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to add custom build version" >&5 +$as_echo_n "checking whether to add custom build version... " >&6; } if test "z$with_build_version" != "z"; then BUILD_VER_STRING=$with_build_version -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, $BUILD_VER_STRING" >&5 -echo "${ECHO_T}yes, $BUILD_VER_STRING" >&6; } -======= - echo "$as_me:$LINENO: result: yes, $BUILD_VER_STRING" >&5 -echo "${ECHO_T}yes, $BUILD_VER_STRING" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, $BUILD_VER_STRING" >&5 +$as_echo "yes, $BUILD_VER_STRING" >&6; } else BUILD_VER_STRING= -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build with Java support" >&5 -echo $ECHO_N "checking whether to build with Java support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build with Java support" >&5 -echo $ECHO_N "checking whether to build with Java support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to build with Java support" >&5 +$as_echo_n "checking whether to build with Java support... " >&6; } if test "$WITH_JAVA" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } SOLAR_JAVA="TRUE" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SOLAR_JAVA="" - { echo "$as_me:$LINENO: WARNING: building without java will mean some features will not be available" >&5 -echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: building without java will mean some features will not be available" >&5 +$as_echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} echo "building without java will mean some features will not be available" >>warn fi @@ -15484,15 +11848,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$WITH_JAVA", so it can be a program name with args. set dummy $WITH_JAVA; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_JAVAINTERPRETER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $JAVAINTERPRETER in [\\/]* | ?:[\\/]*) @@ -15505,44 +11864,35 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAINTERPRETER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi JAVAINTERPRETER=$ac_cv_path_JAVAINTERPRETER - if test -n "$JAVAINTERPRETER"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVAINTERPRETER" >&5 -echo "${ECHO_T}$JAVAINTERPRETER" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVAINTERPRETER" >&5 -echo "${ECHO_T}$JAVAINTERPRETER" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVAINTERPRETER" >&5 +$as_echo "$JAVAINTERPRETER" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + else _java_path="$with_jdk_home/bin/$WITH_JAVA" if test -x "$_java_path"; then JAVAINTERPRETER=$_java_path else - { { echo "$as_me:$LINENO: error: $_java_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_java_path not found set with_jdk_home" >&5 +$as_echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} { (exit 1); exit 1; }; } fi fi @@ -15557,17 +11907,12 @@ fi if test "$SOLAR_JAVA" != ""; then _gij_longver=0 -<<<<<<< .working - { echo "$as_me:$LINENO: checking the installed JDK" >&5 -echo $ECHO_N "checking the installed JDK... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the installed JDK" >&5 -echo $ECHO_N "checking the installed JDK... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the installed JDK" >&5 +$as_echo_n "checking the installed JDK... " >&6; } if test -n "$JAVAINTERPRETER"; then if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} + { { $as_echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 +$as_echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} { (exit 1); exit 1; }; } # dnl Kaffe specific tests # KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP " Version:" | $SED -r "s/.* Version: ([[0-9\.]]*).*/\1/"` @@ -15588,19 +11933,14 @@ echo "$as_me: error: No valid check available. Please check the block for your d # JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then JDK=gcj -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (gcj)" >&5 -echo "${ECHO_T}checked (gcj)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (gcj)" >&5 -echo "${ECHO_T}checked (gcj)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (gcj)" >&5 +$as_echo "checked (gcj)" >&6; } _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "BEA"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} + { { $as_echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 +$as_echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} { (exit 1); exit 1; }; } # JDK=bea # @@ -15631,23 +11971,18 @@ echo "$as_me: error: No valid check available. Please check the block for your d _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10600; then - { { echo "$as_me:$LINENO: error: IBM JDK is too old, you need at least 1.6" >&5 -echo "$as_me: error: IBM JDK is too old, you need at least 1.6" >&2;} + { { $as_echo "$as_me:$LINENO: error: IBM JDK is too old, you need at least 1.6" >&5 +$as_echo "$as_me: error: IBM JDK is too old, you need at least 1.6" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (IBM JDK $_jdk)" >&5 -echo "${ECHO_T}checked (IBM JDK $_jdk)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (IBM JDK $_jdk)" >&5 -echo "${ECHO_T}checked (IBM JDK $_jdk)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (IBM JDK $_jdk)" >&5 +$as_echo "checked (IBM JDK $_jdk)" >&6; } if test "$with_jdk_home" = ""; then - { { echo "$as_me:$LINENO: error: In order to successfully build OpenOffice.org using the IBM JDK, + { { $as_echo "$as_me:$LINENO: error: In order to successfully build OpenOffice.org using the IBM JDK, you must use the \"--with-jdk-home\" configure option explicitly" >&5 -echo "$as_me: error: In order to successfully build OpenOffice.org using the IBM JDK, +$as_echo "$as_me: error: In order to successfully build OpenOffice.org using the IBM JDK, you must use the \"--with-jdk-home\" configure option explicitly" >&2;} { (exit 1); exit 1; }; } fi @@ -15661,17 +11996,12 @@ you must use the \"--with-jdk-home\" configure option explicitly" >&2;} _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then - { { echo "$as_me:$LINENO: error: JDK is too old, you need at least 1.5" >&5 -echo "$as_me: error: JDK is too old, you need at least 1.5" >&2;} + { { $as_echo "$as_me:$LINENO: error: JDK is too old, you need at least 1.5" >&5 +$as_echo "$as_me: error: JDK is too old, you need at least 1.5" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (JDK $_jdk)" >&5 -echo "${ECHO_T}checked (JDK $_jdk)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (JDK $_jdk)" >&5 -echo "${ECHO_T}checked (JDK $_jdk)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (JDK $_jdk)" >&5 +$as_echo "checked (JDK $_jdk)" >&6; } JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` if test "$_os" = "WINNT"; then JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[eE][xX][eE]$,,"` @@ -15681,8 +12011,8 @@ echo "${ECHO_T}checked (JDK $_jdk)" >&6 fi fi else - { { echo "$as_me:$LINENO: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&5 -echo "$as_me: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&2;} + { { $as_echo "$as_me:$LINENO: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&5 +$as_echo "$as_me: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&2;} { (exit 1); exit 1; }; } fi else @@ -15703,15 +12033,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$javacompiler", so it can be a program name with args. set dummy $javacompiler; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_JAVACOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $JAVACOMPILER in [\\/]* | ?:[\\/]*) @@ -15724,37 +12049,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVACOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi JAVACOMPILER=$ac_cv_path_JAVACOMPILER - if test -n "$JAVACOMPILER"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVACOMPILER" >&5 -echo "${ECHO_T}$JAVACOMPILER" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVACOMPILER" >&5 -echo "${ECHO_T}$JAVACOMPILER" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVACOMPILER" >&5 +$as_echo "$JAVACOMPILER" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + else _javac_path="$with_jdk_home/bin/$javacompiler" if test -x "$_javac_path"; then @@ -15762,8 +12078,8 @@ fi fi fi if test -z "$JAVACOMPILER"; then - { { echo "$as_me:$LINENO: error: $javacompiler not found set with_jdk_home" >&5 -echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} + { { $as_echo "$as_me:$LINENO: error: $javacompiler not found set with_jdk_home" >&5 +$as_echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} { (exit 1); exit 1; }; } fi if test "$_os" = "WINNT"; then @@ -15780,21 +12096,11 @@ echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} fi if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking re-checking JDK" >&5 -echo $ECHO_N "checking re-checking JDK... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking re-checking JDK" >&5 -echo $ECHO_N "checking re-checking JDK... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking re-checking JDK" >&5 +$as_echo_n "checking re-checking JDK... " >&6; } JDK=gcj -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked (ecj)" >&5 -echo "${ECHO_T}checked (ecj)" >&6; } -======= - echo "$as_me:$LINENO: result: checked (ecj)" >&5 -echo "${ECHO_T}checked (ecj)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked (ecj)" >&5 +$as_echo "checked (ecj)" >&6; } #TODO: what's to do here? some switch to do 1.5 compiling? JAVAFLAGS="-source 1.5 -target 1.5" _gij_longver="50000" @@ -15813,15 +12119,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -15834,37 +12135,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + else _javadoc_path="$with_jdk_home/bin/javadoc" if test "$_os" = "OS2"; then @@ -15877,15 +12169,10 @@ fi else # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -15898,42 +12185,33 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi fi if test -z "$JAVADOC"; then - { { echo "$as_me:$LINENO: error: $_javadoc_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_javadoc_path not found set with_jdk_home" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_javadoc_path not found set with_jdk_home" >&5 +$as_echo "$as_me: error: $_javadoc_path not found set with_jdk_home" >&2;} { (exit 1); exit 1; }; } fi if test "$_os" = "WINNT"; then @@ -15966,56 +12244,36 @@ class findhome } } _ACEOF -<<<<<<< .working - { echo "$as_me:$LINENO: checking if javac works" >&5 -echo $ECHO_N "checking if javac works... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if javac works" >&5 -echo $ECHO_N "checking if javac works... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if javac works" >&5 +$as_echo_n "checking if javac works... " >&6; } javac_cmd="$JAVACOMPILER findhome.java 1>&2" { (eval echo "$as_me:$LINENO: \"$javac_cmd\"") >&5 (eval $javac_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } if test $? = 0 && test -f ./findhome.class ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: javac works" >&5 -echo "${ECHO_T}javac works" >&6; } -======= - echo "$as_me:$LINENO: result: javac works" >&5 -echo "${ECHO_T}javac works" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: javac works" >&5 +$as_echo "javac works" >&6; } else echo "configure: javac test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: javac does not work - java projects will not build!" >&5 -echo "$as_me: error: javac does not work - java projects will not build!" >&2;} + { { $as_echo "$as_me:$LINENO: error: javac does not work - java projects will not build!" >&5 +$as_echo "$as_me: error: javac does not work - java projects will not build!" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking if gij knows its java.home" >&5 -echo $ECHO_N "checking if gij knows its java.home... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if gij knows its java.home" >&5 -echo $ECHO_N "checking if gij knows its java.home... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if gij knows its java.home" >&5 +$as_echo_n "checking if gij knows its java.home... " >&6; } JAVA_HOME=`$JAVAINTERPRETER findhome` if test $? = 0 && test "$JAVA_HOME" != "" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVA_HOME" >&5 -echo "${ECHO_T}$JAVA_HOME" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVA_HOME" >&5 -echo "${ECHO_T}$JAVA_HOME" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVA_HOME" >&5 +$as_echo "$JAVA_HOME" >&6; } else echo "configure: java test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: gij does not know its java.home - use --with-jdk-home" >&5 -echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2;} + { { $as_echo "$as_me:$LINENO: error: gij does not know its java.home - use --with-jdk-home" >&5 +$as_echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2;} { (exit 1); exit 1; }; } fi else @@ -16038,10 +12296,10 @@ echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2; JAVA_HOME=$(readlink $JAVACOMPILER) else # else warn - { echo "$as_me:$LINENO: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 -echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} - { echo "$as_me:$LINENO: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 -echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 +$as_echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn fi @@ -16063,12 +12321,12 @@ echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME JAVA_HOME_OK="NO" fi if test "$JAVA_HOME_OK" = "NO"; then - { echo "$as_me:$LINENO: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 -echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} - { echo "$as_me:$LINENO: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 -echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} - { echo "$as_me:$LINENO: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 -echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 +$as_echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 +$as_echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn @@ -16081,13 +12339,8 @@ fi AWTLIB= if test "$SOLAR_JAVA" != ""; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for jawt lib name" >&5 -echo $ECHO_N "checking for jawt lib name... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for jawt lib name" >&5 -echo $ECHO_N "checking for jawt lib name... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for jawt lib name" >&5 +$as_echo_n "checking for jawt lib name... " >&6; } if test "$JDK" = "gcj"; then save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS @@ -16095,32 +12348,17 @@ echo $ECHO_N "checking for jawt lib name... $ECHO_C" >&6 LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj" exec 6>/dev/null # no output if test "${ac_cv_header_jni_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for jni.h" >&5 +$as_echo_n "checking for jni.h... " >&6; } if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 +$as_echo "$ac_cv_header_jni_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jni.h usability" >&5 +$as_echo_n "checking jni.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -16131,71 +12369,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jni.h presence" >&5 +$as_echo_n "checking jni.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -16204,145 +12409,84 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for jni.h" >&5 +$as_echo_n "checking for jni.h... " >&6; } if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_jni_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 +$as_echo "$ac_cv_header_jni_h" >&6; } fi -if test $ac_cv_header_jni_h = yes; then +if test "x$ac_cv_header_jni_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&5 -echo "$as_me: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&2;} + { { $as_echo "$as_me:$LINENO: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&5 +$as_echo "$as_me: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lgcjawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lgcjawt... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lgcjawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lgcjawt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lgcjawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lgcjawt... " >&6; } if test "${ac_cv_lib_gcjawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgcjawt $LIBS" @@ -16353,87 +12497,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_gcjawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_gcjawt_JAWT_GetAWT=no + ac_cv_lib_gcjawt_JAWT_GetAWT=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6; } -if test $ac_cv_lib_gcjawt_JAWT_GetAWT = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_gcjawt_JAWT_GetAWT = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_gcjawt_JAWT_GetAWT" = x""yes; then AWTLIB="-lgcjawt -lgcj" fi @@ -16453,32 +12568,17 @@ fi export LD_LIBRARY_PATH exec 6>/dev/null # no output if test "${ac_cv_header_jni_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for jni.h" >&5 +$as_echo_n "checking for jni.h... " >&6; } if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 +$as_echo "$ac_cv_header_jni_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jni.h usability" >&5 +$as_echo_n "checking jni.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -16489,71 +12589,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jni.h presence" >&5 +$as_echo_n "checking jni.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -16562,145 +12629,84 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for jni.h" >&5 +$as_echo_n "checking for jni.h... " >&6; } if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_jni_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 +$as_echo "$ac_cv_header_jni_h" >&6; } fi -if test $ac_cv_header_jni_h = yes; then +if test "x$ac_cv_header_jni_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: jni.h could not be found." >&5 -echo "$as_me: error: jni.h could not be found." >&2;} + { { $as_echo "$as_me:$LINENO: error: jni.h could not be found." >&5 +$as_echo "$as_me: error: jni.h could not be found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for JAWT_GetAWT in -ljawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -ljawt... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -ljawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -ljawt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for JAWT_GetAWT in -ljawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -ljawt... " >&6; } if test "${ac_cv_lib_jawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljawt $LIBS" @@ -16711,101 +12717,67 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_jawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_jawt_JAWT_GetAWT=no + ac_cv_lib_jawt_JAWT_GetAWT=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_jawt_JAWT_GetAWT" >&6; } -if test $ac_cv_lib_jawt_JAWT_GetAWT = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_jawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_jawt_JAWT_GetAWT = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_jawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_jawt_JAWT_GetAWT" = x""yes; then AWTLIB="-ljawt" fi if test -z "$AWTLIB"; then LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lmawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lmawt... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lmawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lmawt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lmawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lmawt... " >&6; } if test "${ac_cv_lib_mawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmawt $LIBS" @@ -16816,87 +12788,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_mawt_JAWT_GetAWT=no + ac_cv_lib_mawt_JAWT_GetAWT=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_mawt_JAWT_GetAWT" >&6; } -if test $ac_cv_lib_mawt_JAWT_GetAWT = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_mawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_mawt_JAWT_GetAWT = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_mawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_mawt_JAWT_GetAWT" = x""yes; then AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt" fi @@ -16909,44 +12852,24 @@ fi if test -z "$AWTLIB"; then AWTLIB=-ljawt fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $AWTLIB" >&5 -echo "${ECHO_T}$AWTLIB" >&6; } -======= - echo "$as_me:$LINENO: result: $AWTLIB" >&5 -echo "${ECHO_T}$AWTLIB" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $AWTLIB" >&5 +$as_echo "$AWTLIB" >&6; } fi if test "$SOLAR_JAVA" != ""; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to enable gcj aot compilation" >&5 -echo $ECHO_N "checking whether to enable gcj aot compilation... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to enable gcj aot compilation" >&5 -echo $ECHO_N "checking whether to enable gcj aot compilation... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to enable gcj aot compilation" >&5 +$as_echo_n "checking whether to enable gcj aot compilation... " >&6; } if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } if test `echo $WITH_JAVA | grep -c "gij"` -eq 0; then gcjaot="gcj" else gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"` fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $gcjaot" >&5 -echo "${ECHO_T}$gcjaot" >&6; } -======= - echo "$as_me:$LINENO: result: $gcjaot" >&5 -echo "${ECHO_T}$gcjaot" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $gcjaot" >&5 +$as_echo "$gcjaot" >&6; } if test -n "$with_jdk_home"; then _javac_path="$with_jdk_home/bin/$gcjaot" if test -x "$_javac_path"; then @@ -16956,15 +12879,10 @@ echo "${ECHO_T}$gcjaot" >&6 if test -z "$JAVAAOTCOMPILER"; then # Extract the first word of "$gcjaot", so it can be a program name with args. set dummy $gcjaot; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_JAVAAOTCOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $JAVAAOTCOMPILER in [\\/]* | ?:[\\/]*) @@ -16977,50 +12895,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAAOTCOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi JAVAAOTCOMPILER=$ac_cv_path_JAVAAOTCOMPILER - if test -n "$JAVAAOTCOMPILER"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $JAVAAOTCOMPILER" >&5 -echo "${ECHO_T}$JAVAAOTCOMPILER" >&6; } -======= - echo "$as_me:$LINENO: result: $JAVAAOTCOMPILER" >&5 -echo "${ECHO_T}$JAVAAOTCOMPILER" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $JAVAAOTCOMPILER" >&5 +$as_echo "$JAVAAOTCOMPILER" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$JAVAAOTCOMPILER"; then - { echo "$as_me:$LINENO: WARNING: $gcjaot not found, set with_jdk_home" >&5 -echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $gcjaot not found, set with_jdk_home" >&5 +$as_echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -17036,15 +12940,10 @@ fi # Extract the first word of "dmake", so it can be a program name with args. set dummy dmake; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_DMAKE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $DMAKE in [\\/]* | ?:[\\/]*) @@ -17057,49 +12956,35 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DMAKE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_DMAKE" && ac_cv_path_DMAKE="no" ;; esac fi DMAKE=$ac_cv_path_DMAKE - if test -n "$DMAKE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $DMAKE" >&5 -echo "${ECHO_T}$DMAKE" >&6; } -======= - echo "$as_me:$LINENO: result: $DMAKE" >&5 -echo "${ECHO_T}$DMAKE" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $DMAKE" >&5 +$as_echo "$DMAKE" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DMAKE" = "no"; then BUILD_DMAKE=YES echo "dmake will be built on ./bootstrap" else -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether the found dmake is the right dmake" >&5 -echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether the found dmake is the right dmake" >&5 -echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether the found dmake is the right dmake" >&5 +$as_echo_n "checking whether the found dmake is the right dmake... " >&6; } # we need to find out whether that dmake we found is "our" dmake # or the dmake from Sun's SunStudio Compiler which is something # different @@ -17108,90 +12993,48 @@ echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >& $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null if test $? -eq 0; then BUILD_DMAKE=NO -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking the dmake version" >&5 -echo $ECHO_N "checking the dmake version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking the dmake version" >&5 -echo $ECHO_N "checking the dmake version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: checking the dmake version" >&5 +$as_echo_n "checking the dmake version... " >&6; } DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6; } -======= - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6; } -======= - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: too old. >= 4.11 is needed" >&5 -echo "${ECHO_T}too old. >= 4.11 is needed" >&6; } -======= - echo "$as_me:$LINENO: result: too old. >= 4.11 is needed" >&5 -echo "${ECHO_T}too old. >= 4.11 is needed" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: too old. >= 4.11 is needed" >&5 +$as_echo "too old. >= 4.11 is needed" >&6; } echo "A newer dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } echo "dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable EPM for packing" >&5 -echo $ECHO_N "checking whether to enable EPM for packing... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable EPM for packing" >&5 -echo $ECHO_N "checking whether to enable EPM for packing... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable EPM for packing" >&5 +$as_echo_n "checking whether to enable EPM for packing... " >&6; } if test "$_os" != "WINNT" -a \( "z$enable_epm" = "z" -o "$enable_epm" != "no" \) ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" != "WINNT"; then if test -n "$with_epm"; then EPM=$with_epm else # Extract the first word of "epm", so it can be a program name with args. set dummy epm; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_EPM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $EPM in [\\/]* | ?:[\\/]*) @@ -17204,38 +13047,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_EPM="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_EPM" && ac_cv_path_EPM="no" ;; esac fi EPM=$ac_cv_path_EPM - if test -n "$EPM"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $EPM" >&5 -echo "${ECHO_T}$EPM" >&6; } -======= - echo "$as_me:$LINENO: result: $EPM" >&5 -echo "${ECHO_T}$EPM" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $EPM" >&5 +$as_echo "$EPM" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$EPM" = "no" || test "$EPM" = "internal"; then echo "EPM will be built." @@ -17243,79 +13077,44 @@ fi BUILD_TYPE="$BUILD_TYPE EPM" else # Gentoo has some epm which is something different... -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether the found epm is the right epm" >&5 -echo $ECHO_N "checking whether the found epm is the right epm... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether the found epm is the right epm" >&5 -echo $ECHO_N "checking whether the found epm is the right epm... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether the found epm is the right epm" >&5 +$as_echo_n "checking whether the found epm is the right epm... " >&6; } if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&5 -echo "$as_me: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&2;} + { { $as_echo "$as_me:$LINENO: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&5 +$as_echo "$as_me: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking epm version" >&5 -echo $ECHO_N "checking epm version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking epm version" >&5 -echo $ECHO_N "checking epm version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking epm version" >&5 +$as_echo_n "checking epm version... " >&6; } EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//` if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \ test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK, >= 3.7" >&5 -echo "${ECHO_T}OK, >= 3.7" >&6; } -======= - echo "$as_me:$LINENO: result: OK, >= 3.7" >&5 -echo "${ECHO_T}OK, >= 3.7" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK, >= 3.7" >&5 +$as_echo "OK, >= 3.7" >&6; } BUILD_EPM=NO if test "$_os" = "Darwin"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking which PackageMaker EPM thinks to use" >&5 -echo $ECHO_N "checking which PackageMaker EPM thinks to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which PackageMaker EPM thinks to use" >&5 -echo $ECHO_N "checking which PackageMaker EPM thinks to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which PackageMaker EPM thinks to use" >&5 +$as_echo_n "checking which PackageMaker EPM thinks to use... " >&6; } _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1` if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 +$as_echo "$as_me: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} { (exit 1); exit 1; }; } elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $_pm, ok" >&5 -echo "${ECHO_T}$_pm, ok" >&6; } -======= - echo "$as_me:$LINENO: result: $_pm, ok" >&5 -echo "${ECHO_T}$_pm, ok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $_pm, ok" >&5 +$as_echo "$_pm, ok" >&6; } else # we never should get here, but go safe - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} + { { $as_echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 +$as_echo "$as_me: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: too old. epm >= 3.7 is required." >&5 -echo "${ECHO_T}too old. epm >= 3.7 is required." >&6; } -======= - echo "$as_me:$LINENO: result: too old. epm >= 3.7 is required." >&5 -echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: too old. epm >= 3.7 is required." >&5 +$as_echo "too old. epm >= 3.7 is required." >&6; } echo "EPM will be built." BUILD_EPM=YES BUILD_TYPE="$BUILD_TYPE EPM" @@ -17324,13 +13123,8 @@ echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 fi # test which package format to use -<<<<<<< .working - { echo "$as_me:$LINENO: checking which package format to use" >&5 -echo $ECHO_N "checking which package format to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which package format to use" >&5 -echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which package format to use" >&5 +$as_echo_n "checking which package format to use... " >&6; } # epm supports the following formats: # aix - AIX software distribution # bsd - FreeBSD, NetBSD, or OpenBSD software distribution @@ -17378,8 +13172,8 @@ echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 # we never should get here since we check the arciecture/os at the beginning, # but go sure... *) - { { echo "$as_me:$LINENO: error: unknown system" >&5 -echo "$as_me: error: unknown system" >&2;} + { { $as_echo "$as_me:$LINENO: error: unknown system" >&5 +$as_echo "$as_me: error: unknown system" >&2;} { (exit 1); exit 1; }; } esac if test -n "$with_package_format"; then @@ -17388,7 +13182,7 @@ echo "$as_me: error: unknown system" >&2;} aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable) ;; *) - { { echo "$as_me:$LINENO: error: unsupported format $i. Supported by EPM are: + { { $as_echo "$as_me:$LINENO: error: unsupported format $i. Supported by EPM are: aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution depot or swinstall - HP-UX software distribution @@ -17401,7 +13195,7 @@ setld - Tru64 (setld) software distribution native - \"Native\" software distribution for the platform portable - Portable software distribution " >&5 -echo "$as_me: error: unsupported format $i. Supported by EPM are: +$as_echo "$as_me: error: unsupported format $i. Supported by EPM are: aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution depot or swinstall - HP-UX software distribution @@ -17420,21 +13214,11 @@ portable - Portable software distribution done PKGFORMAT="$with_package_format" fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKGFORMAT" >&5 -echo "${ECHO_T}$PKGFORMAT" >&6; } -======= - echo "$as_me:$LINENO: result: $PKGFORMAT" >&5 -echo "${ECHO_T}$PKGFORMAT" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKGFORMAT" >&5 +$as_echo "$PKGFORMAT" >&6; } if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for rpm" >&5 -echo $ECHO_N "checking for rpm... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for rpm" >&5 -echo $ECHO_N "checking for rpm... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for rpm" >&5 +$as_echo_n "checking for rpm... " >&6; } for a in "$RPM" rpmbuild rpm; do $a --usage >/dev/null 2> /dev/null if test $? -eq 0; then @@ -17449,32 +13233,22 @@ echo $ECHO_N "checking for rpm... $ECHO_C" >&6 fi done if test -z "$RPM" ; then - { { echo "$as_me:$LINENO: error: not found" >&5 -echo "$as_me: error: not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: not found" >&5 +$as_echo "$as_me: error: not found" >&2;} { (exit 1); exit 1; }; } else RPM_PATH=`which $RPM` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $RPM_PATH" >&5 -echo "${ECHO_T}$RPM_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $RPM_PATH" >&5 -echo "${ECHO_T}$RPM_PATH" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $RPM_PATH" >&5 +$as_echo "$RPM_PATH" >&6; } fi fi if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then # Extract the first word of "dpkg", so it can be a program name with args. set dummy dpkg; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_DPKG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $DPKG in [\\/]* | ?:[\\/]*) @@ -17487,69 +13261,50 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DPKG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_DPKG" && ac_cv_path_DPKG="no" ;; esac fi DPKG=$ac_cv_path_DPKG - if test -n "$DPKG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $DPKG" >&5 -echo "${ECHO_T}$DPKG" >&6; } -======= - echo "$as_me:$LINENO: result: $DPKG" >&5 -echo "${ECHO_T}$DPKG" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $DPKG" >&5 +$as_echo "$DPKG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DPKG" = "no"; then - { { echo "$as_me:$LINENO: error: dpkg needed for deb creation. Install dpkg." >&5 -echo "$as_me: error: dpkg needed for deb creation. Install dpkg." >&2;} + { { $as_echo "$as_me:$LINENO: error: dpkg needed for deb creation. Install dpkg." >&5 +$as_echo "$as_me: error: dpkg needed for deb creation. Install dpkg." >&2;} { (exit 1); exit 1; }; } fi fi if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then if test "$_os" = "Darwin"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for PackageMaker availability" >&5 -echo $ECHO_N "checking for PackageMaker availability... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for PackageMaker availability" >&5 -echo $ECHO_N "checking for PackageMaker availability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for PackageMaker availability" >&5 +$as_echo_n "checking for PackageMaker availability... " >&6; } if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then - { { echo "$as_me:$LINENO: error: not installed. Please install Apples Dev Tools" >&5 -echo "$as_me: error: not installed. Please install Apples Dev Tools" >&2;} + { { $as_echo "$as_me:$LINENO: error: not installed. Please install Apples Dev Tools" >&5 +$as_echo "$as_me: error: not installed. Please install Apples Dev Tools" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -======= - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } fi else - { { echo "$as_me:$LINENO: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&5 -echo "$as_me: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&2;} + { { $as_echo "$as_me:$LINENO: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&5 +$as_echo "$as_me: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&2;} { (exit 1); exit 1; }; } fi fi @@ -17557,45 +13312,30 @@ echo "$as_me: error: PackageMaker needed to build OSX packages and you are not o echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then if test "$EPM" != "no" && test "$EPM" != "internal"; then if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether epm is patched for OOos needs" >&5 -echo $ECHO_N "checking whether epm is patched for OOos needs... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether epm is patched for OOos needs" >&5 -echo $ECHO_N "checking whether epm is patched for OOos needs... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether epm is patched for OOos needs" >&5 +$as_echo_n "checking whether epm is patched for OOos needs... " >&6; } if grep "Patched for OpenOffice.org" $EPM >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } if echo "$PKGFORMAT" | grep -q rpm; then _pt="rpm" - { echo "$as_me:$LINENO: WARNING: the rpms will need to be installed with --nodeps" >&5 -echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: the rpms will need to be installed with --nodeps" >&5 +$as_echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} echo "the rpms will need to be installed with --nodeps" >> warn else _pt="pkg" fi - { echo "$as_me:$LINENO: WARNING: the ${_pt}s will not be relocateable" >&5 -echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: the ${_pt}s will not be relocateable" >&5 +$as_echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} echo "the ${_pt}s will not be relocateable" >> warn - { echo "$as_me:$LINENO: WARNING: if you want to make sure installation without --nodeps and + { $as_echo "$as_me:$LINENO: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&5 -echo "$as_me: WARNING: if you want to make sure installation without --nodeps and +$as_echo "$as_me: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&2;} @@ -17606,15 +13346,10 @@ echo "$as_me: WARNING: if you want to make sure installation without --nodeps an if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then # Extract the first word of "pkgmk", so it can be a program name with args. set dummy pkgmk; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKGMK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKGMK in [\\/]* | ?:[\\/]*) @@ -17627,41 +13362,32 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKGMK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKGMK" && ac_cv_path_PKGMK="no" ;; esac fi PKGMK=$ac_cv_path_PKGMK - if test -n "$PKGMK"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKGMK" >&5 -echo "${ECHO_T}$PKGMK" >&6; } -======= - echo "$as_me:$LINENO: result: $PKGMK" >&5 -echo "${ECHO_T}$PKGMK" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKGMK" >&5 +$as_echo "$PKGMK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$PKGMK" = "no"; then - { { echo "$as_me:$LINENO: error: pkgmk needed for Solaris pkg creation. Install it." >&5 -echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} + { { $as_echo "$as_me:$LINENO: error: pkgmk needed for Solaris pkg creation. Install it." >&5 +$as_echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} { (exit 1); exit 1; }; } fi fi @@ -17671,28 +13397,18 @@ echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } EPM=NO fi # Extract the first word of "gperf", so it can be a program name with args. set dummy gperf; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GPERF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $GPERF in [\\/]* | ?:[\\/]*) @@ -17705,122 +13421,78 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GPERF="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi GPERF=$ac_cv_path_GPERF - if test -n "$GPERF"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GPERF" >&5 -echo "${ECHO_T}$GPERF" >&6; } -======= - echo "$as_me:$LINENO: result: $GPERF" >&5 -echo "${ECHO_T}$GPERF" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GPERF" >&5 +$as_echo "$GPERF" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GPERF"; then - { { echo "$as_me:$LINENO: error: gperf not found but needed. Install it." >&5 -echo "$as_me: error: gperf not found but needed. Install it." >&2;} + { { $as_echo "$as_me:$LINENO: error: gperf not found but needed. Install it." >&5 +$as_echo "$as_me: error: gperf not found but needed. Install it." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking gperf version" >&5 -echo $ECHO_N "checking gperf version... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking gperf version" >&5 -echo $ECHO_N "checking gperf version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking gperf version" >&5 +$as_echo_n "checking gperf version... " >&6; } if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 -else - { { echo "$as_me:$LINENO: error: too old, you need at least 3.0.0" >&5 -echo "$as_me: error: too old, you need at least 3.0.0" >&2;} - { (exit 1); exit 1; }; } -fi - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the ODK" >&5 -echo $ECHO_N "checking whether to build the ODK... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the ODK" >&5 -echo $ECHO_N "checking whether to build the ODK... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } +else + { { $as_echo "$as_me:$LINENO: error: too old, you need at least 3.0.0" >&5 +$as_echo "$as_me: error: too old, you need at least 3.0.0" >&2;} + { (exit 1); exit 1; }; } +fi + +{ $as_echo "$as_me:$LINENO: checking whether to build the ODK" >&5 +$as_echo_n "checking whether to build the ODK... " >&6; } if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } if test "$WITH_JAVA" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for external/unowinreg/unowinreg.dll" >&5 -echo $ECHO_N "checking for external/unowinreg/unowinreg.dll... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for external/unowinreg/unowinreg.dll" >&5 -echo $ECHO_N "checking for external/unowinreg/unowinreg.dll... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for external/unowinreg/unowinreg.dll" >&5 +$as_echo_n "checking for external/unowinreg/unowinreg.dll... " >&6; } if ! test -f "./external/unowinreg/unowinreg.dll"; then HAVE_UNOWINREG_DLL=no else HAVE_UNOWINREG_DLL=yes fi if test "$HAVE_UNOWINREG_DLL" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } BUILD_UNOWINREG=NO else if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: not found, will be built" >&5 -echo "${ECHO_T}not found, will be built" >&6; } -======= - echo "$as_me:$LINENO: result: not found, will be built" >&5 -echo "${ECHO_T}not found, will be built" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not found, will be built" >&5 +$as_echo "not found, will be built" >&6; } else - { echo "$as_me:$LINENO: WARNING: not found, will be cross-built using mingw32" >&5 -echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: not found, will be cross-built using mingw32" >&5 +$as_echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} fi BUILD_UNOWINREG=YES fi if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then - { { echo "$as_me:$LINENO: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. + { { $as_echo "$as_me:$LINENO: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. Specify mingw32 g++ executable name with --with-mingwin. Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and put it into external/unowinreg" >&5 -echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. +$as_echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. Specify mingw32 g++ executable name with --with-mingwin. Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and put it into external/unowinreg" >&2;} @@ -17832,15 +13504,10 @@ echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}$WITH_MINGWIN", so it can be a program name with args. set dummy ${ac_tool_prefix}$WITH_MINGWIN; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$MINGWCXX"; then ac_cv_prog_MINGWCXX="$MINGWCXX" # Let the user override the test. @@ -17851,49 +13518,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWCXX="${ac_tool_prefix}$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi MINGWCXX=$ac_cv_prog_MINGWCXX if test -n "$MINGWCXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MINGWCXX" >&5 -echo "${ECHO_T}$MINGWCXX" >&6; } -======= - echo "$as_me:$LINENO: result: $MINGWCXX" >&5 -echo "${ECHO_T}$MINGWCXX" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MINGWCXX" >&5 +$as_echo "$MINGWCXX" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWCXX"; then ac_ct_MINGWCXX=$MINGWCXX # Extract the first word of "$WITH_MINGWIN", so it can be a program name with args. set dummy $WITH_MINGWIN; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWCXX"; then ac_cv_prog_ac_ct_MINGWCXX="$ac_ct_MINGWCXX" # Let the user override the test. @@ -17904,84 +13558,56 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWCXX="$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWCXX" && ac_cv_prog_ac_ct_MINGWCXX="false" fi fi ac_ct_MINGWCXX=$ac_cv_prog_ac_ct_MINGWCXX if test -n "$ac_ct_MINGWCXX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_MINGWCXX" >&5 -echo "${ECHO_T}$ac_ct_MINGWCXX" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_MINGWCXX" >&5 -echo "${ECHO_T}$ac_ct_MINGWCXX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working + { $as_echo "$as_me:$LINENO: result: $ac_ct_MINGWCXX" >&5 +$as_echo "$ac_ct_MINGWCXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_MINGWCXX" = x; then MINGWCXX="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MINGWCXX=$ac_ct_MINGWCXX fi -======= - MINGWCXX=$ac_ct_MINGWCXX ->>>>>>> .merge-right.r276078 else MINGWCXX="$ac_cv_prog_MINGWCXX" fi fi if test "$MINGWCXX" = "false"; then - { { echo "$as_me:$LINENO: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&5 -echo "$as_me: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&2;} + { { $as_echo "$as_me:$LINENO: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&5 +$as_echo "$as_me: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether we are using the MinGW32 cross C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the MinGW32 cross C++ compiler... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether we are using the MinGW32 cross C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the MinGW32 cross C++ compiler... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether we are using the MinGW32 cross C++ compiler" >&5 +$as_echo_n "checking whether we are using the MinGW32 cross C++ compiler... " >&6; } if ! echo "`$MINGWCXX -dumpmachine`" | grep -q mingw32; then - { { echo "$as_me:$LINENO: error: no" >&5 -echo "$as_me: error: no" >&2;} + { { $as_echo "$as_me:$LINENO: error: no" >&5 +$as_echo "$as_me: error: no" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } fi if echo "$WITH_MINGWIN" | $EGREP -q "/"; then if ! test -x "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`"; then MINGSTRIP=false; else MINGWSTRIP=$(basename $(echo $WITH_MINGWIN | $SED -e s/g++/strip/)); fi @@ -17989,15 +13615,10 @@ echo "${ECHO_T}yes" >&6 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy ${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$MINGWSTRIP"; then ac_cv_prog_MINGWSTRIP="$MINGWSTRIP" # Let the user override the test. @@ -18008,49 +13629,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWSTRIP="${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi MINGWSTRIP=$ac_cv_prog_MINGWSTRIP if test -n "$MINGWSTRIP"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MINGWSTRIP" >&5 -echo "${ECHO_T}$MINGWSTRIP" >&6; } -======= - echo "$as_me:$LINENO: result: $MINGWSTRIP" >&5 -echo "${ECHO_T}$MINGWSTRIP" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MINGWSTRIP" >&5 +$as_echo "$MINGWSTRIP" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWSTRIP"; then ac_ct_MINGWSTRIP=$MINGWSTRIP # Extract the first word of "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy `echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWSTRIP"; then ac_cv_prog_ac_ct_MINGWSTRIP="$ac_ct_MINGWSTRIP" # Let the user override the test. @@ -18061,66 +13669,48 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWSTRIP="`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWSTRIP" && ac_cv_prog_ac_ct_MINGWSTRIP="false" fi fi ac_ct_MINGWSTRIP=$ac_cv_prog_ac_ct_MINGWSTRIP if test -n "$ac_ct_MINGWSTRIP"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ac_ct_MINGWSTRIP" >&5 -echo "${ECHO_T}$ac_ct_MINGWSTRIP" >&6; } -======= - echo "$as_me:$LINENO: result: $ac_ct_MINGWSTRIP" >&5 -echo "${ECHO_T}$ac_ct_MINGWSTRIP" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working + { $as_echo "$as_me:$LINENO: result: $ac_ct_MINGWSTRIP" >&5 +$as_echo "$ac_ct_MINGWSTRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_MINGWSTRIP" = x; then MINGWSTRIP="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MINGWSTRIP=$ac_ct_MINGWSTRIP fi -======= - MINGWSTRIP=$ac_ct_MINGWSTRIP ->>>>>>> .merge-right.r276078 else MINGWSTRIP="$ac_cv_prog_MINGWSTRIP" fi fi if test "$MINGWSTRIP" = "false"; then - { { echo "$as_me:$LINENO: error: MinGW32 binutils needed. Install them." >&5 -echo "$as_me: error: MinGW32 binutils needed. Install them." >&2;} + { { $as_echo "$as_me:$LINENO: error: MinGW32 binutils needed. Install them." >&5 +$as_echo "$as_me: error: MinGW32 binutils needed. Install them." >&2;} { (exit 1); exit 1; }; } fi - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -18139,15 +13729,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_LIBS=$LIBS LIBS="" -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lkernel32" >&5 -echo $ECHO_N "checking for main in -lkernel32... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lkernel32" >&5 -echo $ECHO_N "checking for main in -lkernel32... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lkernel32" >&5 +$as_echo_n "checking for main in -lkernel32... " >&6; } if test "${ac_cv_lib_kernel32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" @@ -18162,77 +13747,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_kernel32_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_kernel32_main=no + ac_cv_lib_kernel32_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_kernel32_main" >&6; } -if test $ac_cv_lib_kernel32_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_kernel32_main" >&6 -if test $ac_cv_lib_kernel32_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_main" >&5 +$as_echo "$ac_cv_lib_kernel32_main" >&6; } +if test "x$ac_cv_lib_kernel32_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBKERNEL32 1 _ACEOF @@ -18243,15 +13799,10 @@ fi ac_cv_lib_kernel32=ac_cv_lib_kernel32_main -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -ladvapi32" >&5 -echo $ECHO_N "checking for main in -ladvapi32... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -ladvapi32" >&5 -echo $ECHO_N "checking for main in -ladvapi32... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -ladvapi32" >&5 +$as_echo_n "checking for main in -ladvapi32... " >&6; } if test "${ac_cv_lib_advapi32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ladvapi32 $LIBS" @@ -18266,77 +13817,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_advapi32_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_advapi32_main=no + ac_cv_lib_advapi32_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_advapi32_main" >&6; } -if test $ac_cv_lib_advapi32_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_advapi32_main" >&6 -if test $ac_cv_lib_advapi32_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_main" >&5 +$as_echo "$ac_cv_lib_advapi32_main" >&6; } +if test "x$ac_cv_lib_advapi32_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBADVAPI32 1 _ACEOF @@ -18347,32 +13869,17 @@ fi ac_cv_lib_advapi32=ac_cv_lib_advapi32_main if test "${ac_cv_header_windows_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for windows.h" >&5 +$as_echo_n "checking for windows.h... " >&6; } if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 +$as_echo "$ac_cv_header_windows_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking windows.h usability" >&5 -echo $ECHO_N "checking windows.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking windows.h usability" >&5 -echo $ECHO_N "checking windows.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking windows.h usability" >&5 +$as_echo_n "checking windows.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -18383,71 +13890,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking windows.h presence" >&5 -echo $ECHO_N "checking windows.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking windows.h presence" >&5 -echo $ECHO_N "checking windows.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking windows.h presence" >&5 +$as_echo_n "checking windows.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -18456,132 +13930,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: windows.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: windows.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: windows.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: windows.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: windows.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: windows.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: windows.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: windows.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: windows.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: windows.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: windows.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: windows.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: windows.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: windows.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: windows.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: windows.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: windows.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: windows.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for windows.h" >&5 +$as_echo_n "checking for windows.h... " >&6; } if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_windows_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 +$as_echo "$ac_cv_header_windows_h" >&6; } fi -if test $ac_cv_header_windows_h = yes; then +if test "x$ac_cv_header_windows_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: windows.h missing" >&5 -echo "$as_me: error: windows.h missing" >&2;} + { { $as_echo "$as_me:$LINENO: error: windows.h missing" >&5 +$as_echo "$as_me: error: windows.h missing" >&2;} { (exit 1); exit 1; }; } fi @@ -18601,82 +14019,47 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi BUILD_TYPE="$BUILD_TYPE ODK" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } BUILD_UNOWINREG=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build qadevOOo" >&5 -echo $ECHO_N "checking whether to build qadevOOo... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build qadevOOo" >&5 -echo $ECHO_N "checking whether to build qadevOOo... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build qadevOOo" >&5 +$as_echo_n "checking whether to build qadevOOo... " >&6; } if test "z$enable_qadevooo" = "z" -o "$enable_qadevooo" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_QADEVOOO="YES" BUILD_TYPE="$BUILD_TYPE QADEVOOO" else BUILD_QADEVOOO="NO" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi if test -z "$with_system_stdlibs" -a -z "$with_system_libs"; then if test -n "$checkforprelink" -a -f /etc/rpm/macros.prelink; then with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 +$as_echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 -echo $ECHO_N "checking whether to provide libstdc++/libgcc_s in the installset... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 -echo $ECHO_N "checking whether to provide libstdc++/libgcc_s in the installset... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 +$as_echo_n "checking whether to provide libstdc++/libgcc_s in the installset... " >&6; } if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \ test "$with_system_stdlibs" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_STDLIBS=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_STDLIBS=NO fi @@ -18684,50 +14067,25 @@ fi if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then with_system_zlib=yes fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which zlib to use" >&5 -echo $ECHO_N "checking which zlib to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which zlib to use" >&5 -echo $ECHO_N "checking which zlib to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which zlib to use" >&5 +$as_echo_n "checking which zlib to use... " >&6; } if test -n "$with_system_zlib" -o -n "$with_system_libs" && \ test "$with_system_zlib" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ZLIB=YES if test "${ac_cv_header_zlib_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 +$as_echo_n "checking for zlib.h... " >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +$as_echo "$ac_cv_header_zlib_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5 +$as_echo_n "checking zlib.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -18738,71 +14096,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5 +$as_echo_n "checking zlib.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -18811,145 +14136,84 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 +$as_echo_n "checking for zlib.h... " >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_zlib_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +$as_echo "$ac_cv_header_zlib_h" >&6; } fi -if test $ac_cv_header_zlib_h = yes; then +if test "x$ac_cv_header_zlib_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: zlib.h not found. install zlib" >&5 -echo "$as_me: error: zlib.h not found. install zlib" >&2;} + { { $as_echo "$as_me:$LINENO: error: zlib.h not found. install zlib" >&5 +$as_echo "$as_me: error: zlib.h not found. install zlib" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for deflate in -lz" >&5 -echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for deflate in -lz" >&5 -echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for deflate in -lz" >&5 +$as_echo_n "checking for deflate in -lz... " >&6; } if test "${ac_cv_lib_z_deflate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" @@ -18960,151 +14224,92 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char deflate (); int main () { -deflate (); +return deflate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_z_deflate=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_z_deflate=no + ac_cv_lib_z_deflate=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 -echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6; } -if test $ac_cv_lib_z_deflate = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 -echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6 -if test $ac_cv_lib_z_deflate = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 +$as_echo "$ac_cv_lib_z_deflate" >&6; } +if test "x$ac_cv_lib_z_deflate" = x""yes; then ZLIB=-lz else - { { echo "$as_me:$LINENO: error: zlib not found or functional" >&5 -echo "$as_me: error: zlib not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: zlib not found or functional" >&5 +$as_echo "$as_me: error: zlib not found or functional" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ZLIB=NO BUILD_TYPE="$BUILD_TYPE ZLIB" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which jpeg to use" >&5 -echo $ECHO_N "checking which jpeg to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which jpeg to use" >&5 -echo $ECHO_N "checking which jpeg to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which jpeg to use" >&5 +$as_echo_n "checking which jpeg to use... " >&6; } if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \ test "$with_system_jpeg" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_JPEG=YES if test "${ac_cv_header_jpeglib_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for jpeglib.h" >&5 +$as_echo_n "checking for jpeglib.h... " >&6; } if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 +$as_echo "$ac_cv_header_jpeglib_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jpeglib.h usability" >&5 -echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jpeglib.h usability" >&5 -echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jpeglib.h usability" >&5 +$as_echo_n "checking jpeglib.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -19115,71 +14320,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking jpeglib.h presence" >&5 -echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking jpeglib.h presence" >&5 -echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking jpeglib.h presence" >&5 +$as_echo_n "checking jpeglib.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -19188,145 +14360,84 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for jpeglib.h" >&5 +$as_echo_n "checking for jpeglib.h... " >&6; } if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_jpeglib_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 +$as_echo "$ac_cv_header_jpeglib_h" >&6; } fi -if test $ac_cv_header_jpeglib_h = yes; then +if test "x$ac_cv_header_jpeglib_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: jpeg.h not found. install libjpeg" >&5 -echo "$as_me: error: jpeg.h not found. install libjpeg" >&2;} + { { $as_echo "$as_me:$LINENO: error: jpeg.h not found. install libjpeg" >&5 +$as_echo "$as_me: error: jpeg.h not found. install libjpeg" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for jpeg_resync_to_restart in -ljpeg" >&5 -echo $ECHO_N "checking for jpeg_resync_to_restart in -ljpeg... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for jpeg_resync_to_restart in -ljpeg" >&5 -echo $ECHO_N "checking for jpeg_resync_to_restart in -ljpeg... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for jpeg_resync_to_restart in -ljpeg" >&5 +$as_echo_n "checking for jpeg_resync_to_restart in -ljpeg... " >&6; } if test "${ac_cv_lib_jpeg_jpeg_resync_to_restart+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" @@ -19337,155 +14448,91 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char jpeg_resync_to_restart (); int main () { -jpeg_resync_to_restart (); +return jpeg_resync_to_restart (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_jpeg_jpeg_resync_to_restart=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_jpeg_jpeg_resync_to_restart=no + ac_cv_lib_jpeg_jpeg_resync_to_restart=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 -echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6; } -if test $ac_cv_lib_jpeg_jpeg_resync_to_restart = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 -echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6 -if test $ac_cv_lib_jpeg_jpeg_resync_to_restart = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 +$as_echo "$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6; } +if test "x$ac_cv_lib_jpeg_jpeg_resync_to_restart" = x""yes; then JPEG3RDLIB=-ljpeg else -<<<<<<< .working - { echo "$as_me:$LINENO: checking jpeg library not found or fuctional" >&5 -echo $ECHO_N "checking jpeg library not found or fuctional... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking jpeg library not found or fuctional" >&5 -echo $ECHO_N "checking jpeg library not found or fuctional... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking jpeg library not found or fuctional" >&5 +$as_echo_n "checking jpeg library not found or fuctional... " >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_JPEG=NO BUILD_TYPE="$BUILD_TYPE JPEG" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which expat to use" >&5 -echo $ECHO_N "checking which expat to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which expat to use" >&5 -echo $ECHO_N "checking which expat to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which expat to use" >&5 +$as_echo_n "checking which expat to use... " >&6; } if test -n "$with_system_expat" -o -n "$with_system_libs" && \ test "$with_system_expat" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_EXPAT=YES if test "${ac_cv_header_expat_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for expat.h" >&5 +$as_echo_n "checking for expat.h... " >&6; } if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 +$as_echo "$ac_cv_header_expat_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking expat.h usability" >&5 -echo $ECHO_N "checking expat.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking expat.h usability" >&5 -echo $ECHO_N "checking expat.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking expat.h usability" >&5 +$as_echo_n "checking expat.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -19496,71 +14543,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking expat.h presence" >&5 -echo $ECHO_N "checking expat.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking expat.h presence" >&5 -echo $ECHO_N "checking expat.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking expat.h presence" >&5 +$as_echo_n "checking expat.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -19569,146 +14583,85 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: expat.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: expat.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: expat.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: expat.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for expat.h" >&5 +$as_echo_n "checking for expat.h... " >&6; } if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_expat_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 +$as_echo "$ac_cv_header_expat_h" >&6; } fi -if test $ac_cv_header_expat_h = yes; then +if test "x$ac_cv_header_expat_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: expat.h not found. install expat" >&5 -echo "$as_me: error: expat.h not found. install expat" >&2;} + { { $as_echo "$as_me:$LINENO: error: expat.h not found. install expat" >&5 +$as_echo "$as_me: error: expat.h not found. install expat" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for XML_ParserCreate in -lexpat" >&5 -echo $ECHO_N "checking for XML_ParserCreate in -lexpat... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for XML_ParserCreate in -lexpat" >&5 -echo $ECHO_N "checking for XML_ParserCreate in -lexpat... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for XML_ParserCreate in -lexpat" >&5 +$as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexpat $LIBS" @@ -19719,87 +14672,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XML_ParserCreate (); int main () { -XML_ParserCreate (); +return XML_ParserCreate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_expat_XML_ParserCreate=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_expat_XML_ParserCreate=no + ac_cv_lib_expat_XML_ParserCreate=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -echo "${ECHO_T}$ac_cv_lib_expat_XML_ParserCreate" >&6; } -if test $ac_cv_lib_expat_XML_ParserCreate = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -echo "${ECHO_T}$ac_cv_lib_expat_XML_ParserCreate" >&6 -if test $ac_cv_lib_expat_XML_ParserCreate = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 +$as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } +if test "x$ac_cv_lib_expat_XML_ParserCreate" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBEXPAT 1 _ACEOF @@ -19807,44 +14731,24 @@ _ACEOF LIBS="-lexpat $LIBS" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: expat library not found or functional." >&5 -echo "${ECHO_T}expat library not found or functional." >&6; } -======= - echo "$as_me:$LINENO: result: expat library not found or functional." >&5 -echo "${ECHO_T}expat library not found or functional." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: expat library not found or functional." >&5 +$as_echo "expat library not found or functional." >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_EXPAT=NO BUILD_TYPE="$BUILD_TYPE EXPAT" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which libwpd to use" >&5 -echo $ECHO_N "checking which libwpd to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which libwpd to use" >&5 -echo $ECHO_N "checking which libwpd to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which libwpd to use" >&5 +$as_echo_n "checking which libwpd to use... " >&6; } if test -n "$with_system_libwpd" -o -n "$with_system_libs" && \ test "$with_system_libwpd" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBWPD=YES succeeded=no @@ -19852,15 +14756,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -19873,38 +14772,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -19915,55 +14805,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libwpd-0.8 " >&5 -echo $ECHO_N "checking for libwpd-0.8 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libwpd-0.8 " >&5 -echo $ECHO_N "checking for libwpd-0.8 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libwpd-0.8 " >&5 +$as_echo_n "checking for libwpd-0.8 ... " >&6; } if $PKG_CONFIG --exists "libwpd-0.8 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBWPD_CFLAGS" >&5 -echo $ECHO_N "checking LIBWPD_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBWPD_CFLAGS" >&5 -echo $ECHO_N "checking LIBWPD_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking LIBWPD_CFLAGS" >&5 +$as_echo_n "checking LIBWPD_CFLAGS... " >&6; } LIBWPD_CFLAGS=`$PKG_CONFIG --cflags "libwpd-0.8 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBWPD_CFLAGS" >&5 -echo "${ECHO_T}$LIBWPD_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBWPD_CFLAGS" >&5 -echo "${ECHO_T}$LIBWPD_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBWPD_LIBS" >&5 -echo $ECHO_N "checking LIBWPD_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBWPD_LIBS" >&5 -echo $ECHO_N "checking LIBWPD_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBWPD_CFLAGS" >&5 +$as_echo "$LIBWPD_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking LIBWPD_LIBS" >&5 +$as_echo_n "checking LIBWPD_LIBS... " >&6; } LIBWPD_LIBS=`$PKG_CONFIG --libs "libwpd-0.8 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBWPD_LIBS" >&5 -echo "${ECHO_T}$LIBWPD_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBWPD_LIBS" >&5 -echo "${ECHO_T}$LIBWPD_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBWPD_LIBS" >&5 +$as_echo "$LIBWPD_LIBS" >&6; } else LIBWPD_CFLAGS="" LIBWPD_LIBS="" @@ -19984,19 +14844,14 @@ echo "${ECHO_T}$LIBWPD_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBWPD=NO BUILD_TYPE="$BUILD_TYPE LIBWPD" fi @@ -20005,28 +14860,18 @@ fi if test "$test_freetype" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether freetype is available" >&5 -echo $ECHO_N "checking whether freetype is available... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether freetype is available" >&5 -echo $ECHO_N "checking whether freetype is available... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether freetype is available" >&5 +$as_echo_n "checking whether freetype is available... " >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -20039,38 +14884,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -20081,55 +14917,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for freetype2 >= 2.0 " >&5 -echo $ECHO_N "checking for freetype2 >= 2.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for freetype2 >= 2.0 " >&5 -echo $ECHO_N "checking for freetype2 >= 2.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for freetype2 >= 2.0 " >&5 +$as_echo_n "checking for freetype2 >= 2.0 ... " >&6; } if $PKG_CONFIG --exists "freetype2 >= 2.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5 -echo $ECHO_N "checking FREETYPE_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5 -echo $ECHO_N "checking FREETYPE_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5 +$as_echo_n "checking FREETYPE_CFLAGS... " >&6; } FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5 -echo "${ECHO_T}$FREETYPE_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5 -echo "${ECHO_T}$FREETYPE_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5 -echo $ECHO_N "checking FREETYPE_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5 -echo $ECHO_N "checking FREETYPE_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5 +$as_echo "$FREETYPE_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5 +$as_echo_n "checking FREETYPE_LIBS... " >&6; } FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5 -echo "${ECHO_T}$FREETYPE_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5 -echo "${ECHO_T}$FREETYPE_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5 +$as_echo "$FREETYPE_LIBS" >&6; } else FREETYPE_CFLAGS="" FREETYPE_LIBS="" @@ -20150,8 +14956,8 @@ echo "${ECHO_T}$FREETYPE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -20165,15 +14971,10 @@ if test "$test_freetype" = "yes"; then save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" LDFLAGS="$LDFLAGS $FREETYPE_LIBS" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 -echo $ECHO_N "checking for FT_GlyphSlot_Embolden in -lfreetype... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 -echo $ECHO_N "checking for FT_GlyphSlot_Embolden in -lfreetype... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 +$as_echo_n "checking for FT_GlyphSlot_Embolden in -lfreetype... " >&6; } if test "${ac_cv_lib_freetype_FT_GlyphSlot_Embolden+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfreetype $LIBS" @@ -20184,87 +14985,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char FT_GlyphSlot_Embolden (); int main () { -FT_GlyphSlot_Embolden (); +return FT_GlyphSlot_Embolden (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_freetype_FT_GlyphSlot_Embolden=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no + ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6; } -if test $ac_cv_lib_freetype_FT_GlyphSlot_Embolden = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6 -if test $ac_cv_lib_freetype_FT_GlyphSlot_Embolden = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 +$as_echo "$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6; } +if test "x$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" = x""yes; then USE_FT_EMBOLDEN="YES" else USE_FT_EMBOLDEN="NO" @@ -20297,53 +15069,26 @@ if test -n "$with_system_libxml" -o -n "$with_system_libs" && \ fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which libxslt to use" >&5 -echo $ECHO_N "checking which libxslt to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which libxslt to use" >&5 -echo $ECHO_N "checking which libxslt to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which libxslt to use" >&5 +$as_echo_n "checking which libxslt to use... " >&6; } if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxslt" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXSLT=YES if test "$_os" = "Darwin"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`xslt-config --cflags` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6; } - { echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } + { $as_echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`xslt-config --libs` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else @@ -20353,15 +15098,10 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -20374,38 +15114,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -20416,55 +15147,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libxslt" >&5 -echo $ECHO_N "checking for libxslt... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libxslt" >&5 -echo $ECHO_N "checking for libxslt... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libxslt" >&5 +$as_echo_n "checking for libxslt... " >&6; } if $PKG_CONFIG --exists "libxslt" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else LIBXSLT_CFLAGS="" LIBXSLT_LIBS="" @@ -20485,8 +15186,8 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -20495,15 +15196,10 @@ echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting # Extract the first word of "xsltproc", so it can be a program name with args. set dummy xsltproc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XSLTPROC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $XSLTPROC in [\\/]* | ?:[\\/]*) @@ -20516,51 +15212,37 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="no" ;; esac fi XSLTPROC=$ac_cv_path_XSLTPROC - if test -n "$XSLTPROC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $XSLTPROC" >&5 -echo "${ECHO_T}$XSLTPROC" >&6; } -======= - echo "$as_me:$LINENO: result: $XSLTPROC" >&5 -echo "${ECHO_T}$XSLTPROC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $XSLTPROC" >&5 +$as_echo "$XSLTPROC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$XSLTPROC" = "no"; then - { { echo "$as_me:$LINENO: error: xsltproc is required" >&5 -echo "$as_me: error: xsltproc is required" >&2;} + { { $as_echo "$as_me:$LINENO: error: xsltproc is required" >&5 +$as_echo "$as_me: error: xsltproc is required" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXSLT=NO BUILD_TYPE="$BUILD_TYPE LIBXSLT" fi @@ -20569,52 +15251,25 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which libxml to use" >&5 -echo $ECHO_N "checking which libxml to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which libxml to use" >&5 -echo $ECHO_N "checking which libxml to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which libxml to use" >&5 +$as_echo_n "checking which libxml to use... " >&6; } if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxml" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXML=YES if test "$_os" = "Darwin"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`xml2-config --cflags` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6; } - { echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } + { $as_echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`xml2-config --libs` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else @@ -20624,15 +15279,10 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -20645,38 +15295,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -20687,55 +15328,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libxml-2.0 >= 2.0" >&5 -echo $ECHO_N "checking for libxml-2.0 >= 2.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libxml-2.0 >= 2.0" >&5 -echo $ECHO_N "checking for libxml-2.0 >= 2.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libxml-2.0 >= 2.0" >&5 +$as_echo_n "checking for libxml-2.0 >= 2.0... " >&6; } if $PKG_CONFIG --exists "libxml-2.0 >= 2.0" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else LIBXML_CFLAGS="" LIBXML_LIBS="" @@ -20756,8 +15367,8 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -20765,13 +15376,8 @@ echo "$as_me: error: Library requirements (libxml-2.0 >= 2.0) not met; consider BUILD_TYPE="$BUILD_TYPE LIBXMLSEC" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXML=NO BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC" fi @@ -20782,36 +15388,21 @@ fi if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then with_system_python=yes fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which python to use" >&5 -echo $ECHO_N "checking which python to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which python to use" >&5 -echo $ECHO_N "checking which python to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which python to use" >&5 +$as_echo_n "checking which python to use... " >&6; } if test -n "$with_system_python" -o -n "$with_system_libs" && \ test "$with_system_python" != "no"; then SYSTEM_PYTHON=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.2" >&5 -echo $ECHO_N "checking whether $PYTHON version >= 2.2... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.2" >&5 -echo $ECHO_N "checking whether $PYTHON version >= 2.2... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.2" >&5 +$as_echo_n "checking whether $PYTHON version >= 2.2... " >&6; } prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. @@ -20824,16 +15415,11 @@ sys.exit(sys.hexversion < minverhex)" ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: too old" >&5 -echo "$as_me: error: too old" >&2;} + { { $as_echo "$as_me:$LINENO: error: too old" >&5 +$as_echo "$as_me: error: too old" >&2;} { (exit 1); exit 1; }; } fi @@ -20841,15 +15427,10 @@ fi else # Otherwise, try each interpreter until we find one that satisfies # VERSION. -<<<<<<< .working - { echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.2" >&5 -echo $ECHO_N "checking for a Python interpreter with version >= 2.2... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.2" >&5 -echo $ECHO_N "checking for a Python interpreter with version >= 2.2... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.2" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.2... " >&6; } if test "${am_cv_pathless_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else for am_cv_pathless_PYTHON in python python2 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do @@ -20871,28 +15452,18 @@ fi done fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 -echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6; } -======= -echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 -echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PYTHON in [\\/]* | ?:[\\/]*) @@ -20905,68 +15476,49 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi PYTHON=$ac_cv_path_PYTHON - if test -n "$PYTHON"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PYTHON" >&5 -echo "${ECHO_T}$PYTHON" >&6; } -======= - echo "$as_me:$LINENO: result: $PYTHON" >&5 -echo "${ECHO_T}$PYTHON" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then - { { echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5 -echo "$as_me: error: no suitable Python interpreter found" >&2;} + { { $as_echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5 +$as_echo "$as_me: error: no suitable Python interpreter found" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 -echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 -echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } if test "${am_cv_python_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"` fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 -echo "${ECHO_T}$am_cv_python_version" >&6; } -======= -echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 -echo "${ECHO_T}$am_cv_python_version" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version @@ -20977,50 +15529,30 @@ echo "${ECHO_T}$am_cv_python_version" >&6 -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 -echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 -echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } if test "${am_cv_python_platform+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"` fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 -echo "${ECHO_T}$am_cv_python_platform" >&6; } -======= -echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 -echo "${ECHO_T}$am_cv_python_platform" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } if test "${am_cv_python_pythondir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 -echo "${ECHO_T}$am_cv_python_pythondir" >&6; } -======= -echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 -echo "${ECHO_T}$am_cv_python_pythondir" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir @@ -21028,26 +15560,16 @@ echo "${ECHO_T}$am_cv_python_pythondir" >&6 pkgpythondir=\${pythondir}/$PACKAGE -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } if test "${am_cv_python_pyexecdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"` fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 -echo "${ECHO_T}$am_cv_python_pyexecdir" >&6; } -======= -echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 -echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir @@ -21073,32 +15595,17 @@ echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS" if test "${ac_cv_header_Python_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Python.h" >&5 +$as_echo_n "checking for Python.h... " >&6; } if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 +$as_echo "$ac_cv_header_Python_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking Python.h usability" >&5 -echo $ECHO_N "checking Python.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking Python.h usability" >&5 -echo $ECHO_N "checking Python.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking Python.h usability" >&5 +$as_echo_n "checking Python.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -21109,71 +15616,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking Python.h presence" >&5 -echo $ECHO_N "checking Python.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking Python.h presence" >&5 -echo $ECHO_N "checking Python.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking Python.h presence" >&5 +$as_echo_n "checking Python.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -21182,132 +15656,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: Python.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: Python.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: Python.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: Python.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: Python.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: Python.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: Python.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: Python.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: Python.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: Python.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: Python.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: Python.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: Python.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: Python.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: Python.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: Python.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Python.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: Python.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for Python.h" >&5 +$as_echo_n "checking for Python.h... " >&6; } if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_Python_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 +$as_echo "$ac_cv_header_Python_h" >&6; } fi -if test $ac_cv_header_Python_h = yes; then +if test "x$ac_cv_header_Python_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: Python headers not found" >&5 -echo "$as_me: error: Python headers not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: Python headers not found" >&5 +$as_echo "$as_me: error: Python headers not found" >&2;} { (exit 1); exit 1; }; } fi @@ -21316,13 +15734,8 @@ fi else SYSTEM_PYTHON=NO BUILD_TYPE="$BUILD_TYPE PYTHON" -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } # Embedded python dies without Home set if test "z$HOME" = "z"; then export HOME=""; @@ -21331,15 +15744,10 @@ echo "${ECHO_T}internal" >&6 if test -z "$BZIP2"; then # Extract the first word of "bzip2", so it can be a program name with args. set dummy bzip2; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_BZIP2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $BZIP2 in [\\/]* | ?:[\\/]*) @@ -21352,40 +15760,31 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi BZIP2=$ac_cv_path_BZIP2 - if test -n "$BZIP2"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $BZIP2" >&5 -echo "${ECHO_T}$BZIP2" >&6; } -======= - echo "$as_me:$LINENO: result: $BZIP2" >&5 -echo "${ECHO_T}$BZIP2" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $BZIP2" >&5 +$as_echo "$BZIP2" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BZIP2"; then - { { echo "$as_me:$LINENO: error: the internal Python module has a .tar.bz2. You need bzip2" >&5 -echo "$as_me: error: the internal Python module has a .tar.bz2. You need bzip2" >&2;} + { { $as_echo "$as_me:$LINENO: error: the internal Python module has a .tar.bz2. You need bzip2" >&5 +$as_echo "$as_me: error: the internal Python module has a .tar.bz2. You need bzip2" >&2;} { (exit 1); exit 1; }; } fi fi @@ -21396,29 +15795,17 @@ fi HOME=`echo $HOME | sed 's:\\\\:/:g'` -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which db to use" >&5 -echo $ECHO_N "checking which db to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which db to use" >&5 -echo $ECHO_N "checking which db to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which db to use" >&5 +$as_echo_n "checking which db to use... " >&6; } if test -n "$with_system_db" -o -n "$with_system_libs" && \ test "$with_system_db" != "no"; then SYSTEM_DB=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } - { echo "$as_me:$LINENO: checking for db.h" >&5 -echo $ECHO_N "checking for db.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - echo "$as_me:$LINENO: checking for db.h" >&5 -echo $ECHO_N "checking for db.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } + { $as_echo "$as_me:$LINENO: checking for db.h" >&5 +$as_echo_n "checking for db.h... " >&6; } if test "${ac_cv_header_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -21432,76 +15819,44 @@ cat >>conftest.$ac_ext <<_ACEOF #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_header_db_h=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_header_db_h=no + ac_cv_header_db_h=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db_h" >&6; } -if test $ac_cv_header_db_h = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db_h" >&6 -if test $ac_cv_header_db_h = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 +$as_echo "$ac_cv_header_db_h" >&6; } +if test "x$ac_cv_header_db_h" = x""yes; then DB_INCLUDES=/usr/include else CFLAGS=-I/usr/include/db4 -<<<<<<< .working - { echo "$as_me:$LINENO: checking for db4/db.h" >&5 -echo $ECHO_N "checking for db4/db.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for db4/db.h" >&5 -echo $ECHO_N "checking for db4/db.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for db4/db.h" >&5 +$as_echo_n "checking for db4/db.h... " >&6; } if test "${ac_cv_header_db4_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -21514,67 +15869,40 @@ cat >>conftest.$ac_ext <<_ACEOF #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_header_db4_db_h=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_header_db4_db_h=no + ac_cv_header_db4_db_h=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_db4_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db4_db_h" >&6; } -if test $ac_cv_header_db4_db_h = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_header_db4_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db4_db_h" >&6 -if test $ac_cv_header_db4_db_h = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_db4_db_h" >&5 +$as_echo "$ac_cv_header_db4_db_h" >&6; } +if test "x$ac_cv_header_db4_db_h" = x""yes; then DB_INCLUDES=/usr/include/db4 else - { { echo "$as_me:$LINENO: error: no. install the db4 libraries" >&5 -echo "$as_me: error: no. install the db4 libraries" >&2;} + { { $as_echo "$as_me:$LINENO: error: no. install the db4 libraries" >&5 +$as_echo "$as_me: error: no. install the db4 libraries" >&2;} { (exit 1); exit 1; }; } fi @@ -21583,20 +15911,17 @@ fi fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether db is at least 4.1" >&5 -echo $ECHO_N "checking whether db is at least 4.1... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether db is at least 4.1" >&5 -echo $ECHO_N "checking whether db is at least 4.1... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether db is at least 4.1" >&5 +$as_echo_n "checking whether db is at least 4.1... " >&6; } for v in `seq 1 7`; do if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -21614,76 +15939,57 @@ int main(int argc, char **argv) { _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then DB_VERSION_MINOR=$v else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + done if test "$DB_VERSION_MINOR" -gt "1"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } DB_VERSION=4.$DB_VERSION_MINOR else - { { echo "$as_me:$LINENO: error: no. you need at least db 4.1" >&5 -echo "$as_me: error: no. you need at least db 4.1" >&2;} + { { $as_echo "$as_me:$LINENO: error: no. you need at least db 4.1" >&5 +$as_echo "$as_me: error: no. you need at least db 4.1" >&2;} { (exit 1); exit 1; }; } fi # does not work :/ #AC_CHECK_LIB(db, db_create, [], # [AC_MSG_ERROR([db library not installed or functional])], []) -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -ldb" >&5 -echo $ECHO_N "checking for main in -ldb... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -ldb" >&5 -echo $ECHO_N "checking for main in -ldb... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -ldb" >&5 +$as_echo_n "checking for main in -ldb... " >&6; } if test "${ac_cv_lib_db_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldb $LIBS" @@ -21698,77 +16004,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_db_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_db_main=no + ac_cv_lib_db_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 -echo "${ECHO_T}$ac_cv_lib_db_main" >&6; } -if test $ac_cv_lib_db_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 -echo "${ECHO_T}$ac_cv_lib_db_main" >&6 -if test $ac_cv_lib_db_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 +$as_echo "$ac_cv_lib_db_main" >&6; } +if test "x$ac_cv_lib_db_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDB 1 _ACEOF @@ -21776,21 +16053,16 @@ _ACEOF LIBS="-ldb $LIBS" else - { { echo "$as_me:$LINENO: error: db not installed or functional" >&5 -echo "$as_me: error: db not installed or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: db not installed or functional" >&5 +$as_echo "$as_me: error: db not installed or functional" >&2;} { (exit 1); exit 1; }; } fi ac_cv_lib_db=ac_cv_lib_db_main SCPDEFS="$SCPDEFS -DSYSTEM_DB" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_DB=NO BUILD_TYPE="$BUILD_TYPE BERKELEYDB" fi @@ -21799,37 +16071,22 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which lucene to use" >&5 -echo $ECHO_N "checking which lucene to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which lucene to use" >&5 -echo $ECHO_N "checking which lucene to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which lucene to use" >&5 +$as_echo_n "checking which lucene to use... " >&6; } if test -n "$with_system_lucene" -o -n "$with_system_libs" && \ test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LUCENE=YES if test -z $LUCENE_CORE_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-core-2.3.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-core-2.3.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-core-2.3.jar... " >&6; } if test "${ac_cv_file__usr_share_java_lucene_core_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/lucene-core-2.3.jar"; then ac_cv_file__usr_share_java_lucene_core_2_3_jar=yes @@ -21837,31 +16094,20 @@ else ac_cv_file__usr_share_java_lucene_core_2_3_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6; } -if test $ac_cv_file__usr_share_java_lucene_core_2_3_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_core_2_3_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_core_2_3_jar" = x""yes; then LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene.jar... " >&6; } if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/lucene.jar"; then ac_cv_file__usr_share_java_lucene_jar=yes @@ -21869,19 +16115,13 @@ else ac_cv_file__usr_share_java_lucene_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_jar" >&6; } -if test $ac_cv_file__usr_share_java_lucene_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_jar" = x""yes; then LUCENE_CORE_JAR=/usr/share/java/lucene.jar else - { { echo "$as_me:$LINENO: error: lucene-core.jar replacement not found" >&5 -echo "$as_me: error: lucene-core.jar replacement not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: lucene-core.jar replacement not found" >&5 +$as_echo "$as_me: error: lucene-core.jar replacement not found" >&2;} { (exit 1); exit 1; }; } fi @@ -21891,23 +16131,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" @@ -21915,39 +16147,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: lucene-core.jar not found." >&5 -echo "$as_me: error: lucene-core.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: lucene-core.jar not found." >&5 +$as_echo "$as_me: error: lucene-core.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LUCENE_ANALYZERS_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-analyzers-2.3.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-analyzers-2.3.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-analyzers-2.3.jar... " >&6; } if test "${ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/lucene-analyzers-2.3.jar"; then ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=yes @@ -21955,31 +16179,20 @@ else ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6; } -if test $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" = x""yes; then LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... " >&6; } if test "${ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/lucene-contrib/lucene-analyzers.jar"; then ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=yes @@ -21987,19 +16200,13 @@ else ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6; } -if test $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" = x""yes; then LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar replacement not found." >&5 -echo "$as_me: error: lucene-analyzers.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: lucene-analyzers.jar replacement not found." >&5 +$as_echo "$as_me: error: lucene-analyzers.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -22009,23 +16216,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" @@ -22033,32 +16232,24 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar not found." >&5 -echo "$as_me: error: lucene-analyzers.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: lucene-analyzers.jar not found." >&5 +$as_echo "$as_me: error: lucene-analyzers.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LUCENE=NO BUILD_TYPE="$BUILD_TYPE LUCENE" fi @@ -22066,43 +16257,25 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which hsqldb to use" >&5 -echo $ECHO_N "checking which hsqldb to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which hsqldb to use" >&5 -echo $ECHO_N "checking which hsqldb to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which hsqldb to use" >&5 +$as_echo_n "checking which hsqldb to use... " >&6; } if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \ test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HSQLDB=YES if test -z $HSQLDB_JAR; then HSQLDB_JAR=/usr/share/java/hsqldb.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $HSQLDB_JAR" >&5 -echo $ECHO_N "checking for $HSQLDB_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $HSQLDB_JAR" >&5 +$as_echo_n "checking for $HSQLDB_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $HSQLDB_JAR" >&5 -echo $ECHO_N "checking for $HSQLDB_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$HSQLDB_JAR"; then eval "$as_ac_File=yes" @@ -22110,30 +16283,22 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: hsqldb.jar not found." >&5 -echo "$as_me: error: hsqldb.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: hsqldb.jar not found." >&5 +$as_echo "$as_me: error: hsqldb.jar not found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5 -echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5 -echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5 +$as_echo_n "checking whether hsqldb is >= 1.8.0.9... " >&6; } export HSQLDB_JAR if $PERL -e 'use Archive::Zip; my $file = "$ENV{'HSQLDB_JAR'}"; @@ -22156,69 +16321,41 @@ echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 } else { exit 1; }'; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, hsqldb >= 1.8.0.9 is needed" >&5 -echo "$as_me: error: no, hsqldb >= 1.8.0.9 is needed" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, hsqldb >= 1.8.0.9 is needed" >&5 +$as_echo "$as_me: error: no, hsqldb >= 1.8.0.9 is needed" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HSQLDB=NO BUILD_TYPE="$BUILD_TYPE HSQLDB" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which beanshell to use" >&5 -echo $ECHO_N "checking which beanshell to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which beanshell to use" >&5 -echo $ECHO_N "checking which beanshell to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which beanshell to use" >&5 +$as_echo_n "checking which beanshell to use... " >&6; } if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \ test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BSH=YES if test -z $BSH_JAR; then BSH_JAR=/usr/share/java/bsh.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $BSH_JAR" >&5 -echo $ECHO_N "checking for $BSH_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $BSH_JAR" >&5 +$as_echo_n "checking for $BSH_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $BSH_JAR" >&5 -echo $ECHO_N "checking for $BSH_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$BSH_JAR"; then eval "$as_ac_File=yes" @@ -22226,31 +16363,23 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: bsh.jar not found." >&5 -echo "$as_me: error: bsh.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: bsh.jar not found." >&5 +$as_echo "$as_me: error: bsh.jar not found." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_BSH=NO BUILD_TYPE="$BUILD_TYPE BSH" fi @@ -22258,37 +16387,22 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which saxon to use" >&5 -echo $ECHO_N "checking which saxon to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which saxon to use" >&5 -echo $ECHO_N "checking which saxon to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which saxon to use" >&5 +$as_echo_n "checking which saxon to use... " >&6; } if test -n "$with_system_saxon" -o -n "$with_system_libs" && \ test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SAXON=YES if test -z $SAXON_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes @@ -22296,31 +16410,20 @@ else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6; } -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then SAXON_JAR=/usr/share/java/saxon9.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/saxon.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/saxon.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/saxon.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon.jar... " >&6; } if test "${ac_cv_file__usr_share_java_saxon_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/saxon.jar"; then ac_cv_file__usr_share_java_saxon_jar=yes @@ -22328,30 +16431,19 @@ else ac_cv_file__usr_share_java_saxon_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon_jar" >&6; } -if test $ac_cv_file__usr_share_java_saxon_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon_jar" = x""yes; then SAXON_JAR=/usr/share/java/saxon.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes @@ -22359,19 +16451,13 @@ else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6; } -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then SAXON_JAR=/usr/share/java/saxon9.jar else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found" >&5 -echo "$as_me: error: saxon.jar replacement not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: saxon.jar replacement not found" >&5 +$as_echo "$as_me: error: saxon.jar replacement not found" >&2;} { (exit 1); exit 1; }; } fi @@ -22385,23 +16471,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $SAXON_JAR" >&5 -echo $ECHO_N "checking for $SAXON_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $SAXON_JAR" >&5 +$as_echo_n "checking for $SAXON_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAXON_JAR" >&5 -echo $ECHO_N "checking for $SAXON_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$SAXON_JAR"; then eval "$as_ac_File=yes" @@ -22409,42 +16487,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found." >&5 -echo "$as_me: error: saxon.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: saxon.jar replacement not found." >&5 +$as_echo "$as_me: error: saxon.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -n "$SERIALIZER_JAR"; then -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $SERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $SERIALIZER_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $SERIALIZER_JAR" >&5 +$as_echo_n "checking for $SERIALIZER_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $SERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$SERIALIZER_JAR"; then eval "$as_ac_File=yes" @@ -22452,33 +16519,25 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: serializer.jar not found." >&5 -echo "$as_me: error: serializer.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: serializer.jar not found." >&5 +$as_echo "$as_me: error: serializer.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SAXON=NO NEED_SAXON=TRUE fi @@ -22492,35 +16551,20 @@ fi if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then with_system_curl=yes fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which curl to use" >&5 -echo $ECHO_N "checking which curl to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which curl to use" >&5 -echo $ECHO_N "checking which curl to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which curl to use" >&5 +$as_echo_n "checking which curl to use... " >&6; } if test -n "$with_system_curl" -o -n "$with_system_libs" && \ test "$with_system_curl" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CURL=YES # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_CURLCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $CURLCONFIG in [\\/]* | ?:[\\/]*) @@ -22533,76 +16577,52 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CURLCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi CURLCONFIG=$ac_cv_path_CURLCONFIG - if test -n "$CURLCONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CURLCONFIG" >&5 -echo "${ECHO_T}$CURLCONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $CURLCONFIG" >&5 -echo "${ECHO_T}$CURLCONFIG" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CURLCONFIG" >&5 +$as_echo "$CURLCONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$CURLCONFIG"; then - { { echo "$as_me:$LINENO: error: install curl to run this script" >&5 -echo "$as_me: error: install curl to run this script" >&2;} + { { $as_echo "$as_me:$LINENO: error: install curl to run this script" >&5 +$as_echo "$as_me: error: install curl to run this script" >&2;} { (exit 1); exit 1; }; } fi # check curl version -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether curl is >= 7.9.8" >&5 -echo $ECHO_N "checking whether curl is >= 7.9.8... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether curl is >= 7.9.8" >&5 -echo $ECHO_N "checking whether curl is >= 7.9.8... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether curl is >= 7.9.8" >&5 +$as_echo_n "checking whether curl is >= 7.9.8... " >&6; } if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "9" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "8"; then - { { echo "$as_me:$LINENO: error: no, you need at least curl 7.9,8" >&5 -echo "$as_me: error: no, you need at least curl 7.9,8" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, you need at least curl 7.9,8" >&5 +$as_echo "$as_me: error: no, you need at least curl 7.9,8" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } fi CURL_LIBS=`$CURLCONFIG --libs` CURL_CFLAGS=`$CURLCONFIG --cflags` else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_CURL=NO BUILD_TYPE="$BUILD_TYPE CURL" fi @@ -22610,56 +16630,31 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which boost to use" >&5 -echo $ECHO_N "checking which boost to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which boost to use" >&5 -echo $ECHO_N "checking which boost to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which boost to use" >&5 +$as_echo_n "checking which boost to use... " >&6; } if test -n "$with_system_boost" -o -n "$with_system_headers" && \ test "$with_system_boost" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BOOST=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 +$as_echo_n "checking for boost/shared_ptr.hpp... " >&6; } if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 +$as_echo "$ac_cv_header_boost_shared_ptr_hpp" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking boost/shared_ptr.hpp usability" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp usability" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking boost/shared_ptr.hpp usability" >&5 +$as_echo_n "checking boost/shared_ptr.hpp usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -22670,71 +16665,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking boost/shared_ptr.hpp presence" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp presence" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking boost/shared_ptr.hpp presence" >&5 +$as_echo_n "checking boost/shared_ptr.hpp presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -22743,163 +16705,92 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 +$as_echo_n "checking for boost/shared_ptr.hpp... " >&6; } if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_boost_shared_ptr_hpp=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 +$as_echo "$ac_cv_header_boost_shared_ptr_hpp" >&6; } fi -if test $ac_cv_header_boost_shared_ptr_hpp = yes; then +if test "x$ac_cv_header_boost_shared_ptr_hpp" = x""yes; then : else - { { echo "$as_me:$LINENO: error: boost/shared_ptr.hpp not found. install boost" >&5 -echo "$as_me: error: boost/shared_ptr.hpp not found. install boost" >&2;} + { { $as_echo "$as_me:$LINENO: error: boost/shared_ptr.hpp not found. install boost" >&5 +$as_echo "$as_me: error: boost/shared_ptr.hpp not found. install boost" >&2;} { (exit 1); exit 1; }; } fi if test "${ac_cv_header_boost_spirit_core_hpp+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/core.hpp... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/core.hpp... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 +$as_echo_n "checking for boost/spirit/core.hpp... " >&6; } if test "${ac_cv_header_boost_spirit_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_core_hpp" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_core_hpp" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 +$as_echo "$ac_cv_header_boost_spirit_core_hpp" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking boost/spirit/core.hpp usability" >&5 -echo $ECHO_N "checking boost/spirit/core.hpp usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking boost/spirit/core.hpp usability" >&5 -echo $ECHO_N "checking boost/spirit/core.hpp usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking boost/spirit/core.hpp usability" >&5 +$as_echo_n "checking boost/spirit/core.hpp usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -22910,71 +16801,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking boost/spirit/core.hpp presence" >&5 -echo $ECHO_N "checking boost/spirit/core.hpp presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking boost/spirit/core.hpp presence" >&5 -echo $ECHO_N "checking boost/spirit/core.hpp presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking boost/spirit/core.hpp presence" >&5 +$as_echo_n "checking boost/spirit/core.hpp presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -22983,132 +16841,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: boost/spirit/core.hpp: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/core.hpp... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/core.hpp... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for boost/spirit/core.hpp" >&5 +$as_echo_n "checking for boost/spirit/core.hpp... " >&6; } if test "${ac_cv_header_boost_spirit_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_boost_spirit_core_hpp=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_core_hpp" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_core_hpp" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_core_hpp" >&5 +$as_echo "$ac_cv_header_boost_spirit_core_hpp" >&6; } fi -if test $ac_cv_header_boost_spirit_core_hpp = yes; then +if test "x$ac_cv_header_boost_spirit_core_hpp" = x""yes; then : else - { { echo "$as_me:$LINENO: error: boost/spirit/core.hpp not found. install boost" >&5 -echo "$as_me: error: boost/spirit/core.hpp not found. install boost" >&2;} + { { $as_echo "$as_me:$LINENO: error: boost/spirit/core.hpp not found. install boost" >&5 +$as_echo "$as_me: error: boost/spirit/core.hpp not found. install boost" >&2;} { (exit 1); exit 1; }; } fi @@ -23120,68 +16922,38 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE BOOST" SYSTEM_BOOST=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which vigra to use" >&5 -echo $ECHO_N "checking which vigra to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which vigra to use" >&5 -echo $ECHO_N "checking which vigra to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which vigra to use" >&5 +$as_echo_n "checking which vigra to use... " >&6; } if test -n "$with_system_vigra" -o -n "$with_system_headers" && \ test "$with_system_vigra" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_VIGRA=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 +$as_echo_n "checking for vigra/copyimage.hxx... " >&6; } if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 +$as_echo "$ac_cv_header_vigra_copyimage_hxx" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking vigra/copyimage.hxx usability" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking vigra/copyimage.hxx usability" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking vigra/copyimage.hxx usability" >&5 +$as_echo_n "checking vigra/copyimage.hxx usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23192,71 +16964,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking vigra/copyimage.hxx presence" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking vigra/copyimage.hxx presence" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking vigra/copyimage.hxx presence" >&5 +$as_echo_n "checking vigra/copyimage.hxx presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23265,132 +17004,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 +$as_echo_n "checking for vigra/copyimage.hxx... " >&6; } if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_vigra_copyimage_hxx=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 +$as_echo "$ac_cv_header_vigra_copyimage_hxx" >&6; } fi -if test $ac_cv_header_vigra_copyimage_hxx = yes; then +if test "x$ac_cv_header_vigra_copyimage_hxx" = x""yes; then : else - { { echo "$as_me:$LINENO: error: vigra/copyimage.hxx not found. install vigra" >&5 -echo "$as_me: error: vigra/copyimage.hxx not found. install vigra" >&2;} + { { $as_echo "$as_me:$LINENO: error: vigra/copyimage.hxx not found. install vigra" >&5 +$as_echo "$as_me: error: vigra/copyimage.hxx not found. install vigra" >&2;} { (exit 1); exit 1; }; } fi @@ -23402,63 +17085,33 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE VIGRA" SYSTEM_VIGRA=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which odbc headers to use" >&5 -echo $ECHO_N "checking which odbc headers to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which odbc headers to use" >&5 -echo $ECHO_N "checking which odbc headers to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which odbc headers to use" >&5 +$as_echo_n "checking which odbc headers to use... " >&6; } if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \ test "$with_system_odbc_headers" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ODBC_HEADERS=YES if test "${ac_cv_header_sqlext_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for sqlext.h" >&5 +$as_echo_n "checking for sqlext.h... " >&6; } if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 +$as_echo "$ac_cv_header_sqlext_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking sqlext.h usability" >&5 -echo $ECHO_N "checking sqlext.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking sqlext.h usability" >&5 -echo $ECHO_N "checking sqlext.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking sqlext.h usability" >&5 +$as_echo_n "checking sqlext.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23469,71 +17122,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking sqlext.h presence" >&5 -echo $ECHO_N "checking sqlext.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking sqlext.h presence" >&5 -echo $ECHO_N "checking sqlext.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking sqlext.h presence" >&5 +$as_echo_n "checking sqlext.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23542,327 +17162,168 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: sqlext.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: sqlext.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sqlext.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sqlext.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sqlext.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sqlext.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: sqlext.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sqlext.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sqlext.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sqlext.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sqlext.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: sqlext.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: sqlext.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: sqlext.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: sqlext.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sqlext.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: sqlext.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for sqlext.h" >&5 +$as_echo_n "checking for sqlext.h... " >&6; } if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_sqlext_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 +$as_echo "$ac_cv_header_sqlext_h" >&6; } fi -if test $ac_cv_header_sqlext_h = yes; then +if test "x$ac_cv_header_sqlext_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: odbc not found. install odbc" >&5 -echo "$as_me: error: odbc not found. install odbc" >&2;} + { { $as_echo "$as_me:$LINENO: error: odbc not found. install odbc" >&5 +$as_echo "$as_me: error: odbc not found. install odbc" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ODBC_HEADERS=NO BUILD_TYPE="$BUILD_TYPE UNIXODBC" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 -echo $ECHO_N "checking whether to enable build of Mozilla/Mozilla NSS-using components... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 -echo $ECHO_N "checking whether to enable build of Mozilla/Mozilla NSS-using components... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 +$as_echo_n "checking whether to enable build of Mozilla/Mozilla NSS-using components... " >&6; } if test "$enable_mozilla" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MOZILLA=YES fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build Mozilla addressbook connectivity" >&5 -echo $ECHO_N "checking whether to build Mozilla addressbook connectivity... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build Mozilla addressbook connectivity" >&5 -echo $ECHO_N "checking whether to build Mozilla addressbook connectivity... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build Mozilla addressbook connectivity" >&5 +$as_echo_n "checking whether to build Mozilla addressbook connectivity... " >&6; } if test "$enable_mozilla" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } elif test "$with_system_mozilla" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, not possible with system-mozilla" >&5 -echo "${ECHO_T}no, not possible with system-mozilla" >&6; } -======= - echo "$as_me:$LINENO: result: no, not possible with system-mozilla" >&5 -echo "${ECHO_T}no, not possible with system-mozilla" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build XML Security support" >&5 -echo $ECHO_N "checking whether to build XML Security support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build XML Security support" >&5 -echo $ECHO_N "checking whether to build XML Security support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, not possible with system-mozilla" >&5 +$as_echo "no, not possible with system-mozilla" >&6; } +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + +{ $as_echo "$as_me:$LINENO: checking whether to build XML Security support" >&5 +$as_echo_n "checking whether to build XML Security support... " >&6; } if test "$enable_mozilla" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, since Mozilla (NSS) disabled but needed" >&5 -echo "${ECHO_T}no, since Mozilla (NSS) disabled but needed" >&6; } -======= - echo "$as_me:$LINENO: result: no, since Mozilla (NSS) disabled but needed" >&5 -echo "${ECHO_T}no, since Mozilla (NSS) disabled but needed" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build LDAP configuration backend" >&5 -echo $ECHO_N "checking whether to build LDAP configuration backend... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build LDAP configuration backend" >&5 -echo $ECHO_N "checking whether to build LDAP configuration backend... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, since Mozilla (NSS) disabled but needed" >&5 +$as_echo "no, since Mozilla (NSS) disabled but needed" >&6; } +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + +{ $as_echo "$as_me:$LINENO: checking whether to build LDAP configuration backend" >&5 +$as_echo_n "checking whether to build LDAP configuration backend... " >&6; } if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then if test "$enable_mozilla" = "yes" || test "$with_openldap" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } WITH_LDAP=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no. Either Mozilla or OpenLDAP needed" >&5 -echo "${ECHO_T}no. Either Mozilla or OpenLDAP needed" >&6; } -======= - echo "$as_me:$LINENO: result: no. Either Mozilla or OpenLDAP needed" >&5 -echo "${ECHO_T}no. Either Mozilla or OpenLDAP needed" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no. Either Mozilla or OpenLDAP needed" >&5 +$as_echo "no. Either Mozilla or OpenLDAP needed" >&6; } WITH_LDAP=NO fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_LDAP=NO fi if test "$WITH_LDAP" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking which LDAP SDK to use" >&5 -echo $ECHO_N "checking which LDAP SDK to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which LDAP SDK to use" >&5 -echo $ECHO_N "checking which LDAP SDK to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which LDAP SDK to use" >&5 +$as_echo_n "checking which LDAP SDK to use... " >&6; } if test -n "$with_openldap" && test "$with_openldap" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OpenLDAP" >&5 -echo "${ECHO_T}OpenLDAP" >&6; } -======= - echo "$as_me:$LINENO: result: OpenLDAP" >&5 -echo "${ECHO_T}OpenLDAP" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OpenLDAP" >&5 +$as_echo "OpenLDAP" >&6; } WITH_OPENLDAP=YES for ac_header in ldap.h do -<<<<<<< .working -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 -fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23873,71 +17334,38 @@ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -23946,153 +17374,93 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else - { { echo "$as_me:$LINENO: error: ldap.h not found. install openldap libs" >&5 -echo "$as_me: error: ldap.h not found. install openldap libs" >&2;} + { { $as_echo "$as_me:$LINENO: error: ldap.h not found. install openldap libs" >&5 +$as_echo "$as_me: error: ldap.h not found. install openldap libs" >&2;} { (exit 1); exit 1; }; } fi done -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for ldap_simple_bind_s in -lldap" >&5 -echo $ECHO_N "checking for ldap_simple_bind_s in -lldap... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for ldap_simple_bind_s in -lldap" >&5 -echo $ECHO_N "checking for ldap_simple_bind_s in -lldap... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for ldap_simple_bind_s in -lldap" >&5 +$as_echo_n "checking for ldap_simple_bind_s in -lldap... " >&6; } if test "${ac_cv_lib_ldap_ldap_simple_bind_s+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" @@ -24103,87 +17471,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_simple_bind_s (); int main () { -ldap_simple_bind_s (); +return ldap_simple_bind_s (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_ldap_ldap_simple_bind_s=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_ldap_ldap_simple_bind_s=no + ac_cv_lib_ldap_ldap_simple_bind_s=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_simple_bind_s" >&6; } -if test $ac_cv_lib_ldap_ldap_simple_bind_s = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_simple_bind_s" >&6 -if test $ac_cv_lib_ldap_ldap_simple_bind_s = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_simple_bind_s" >&6; } +if test "x$ac_cv_lib_ldap_ldap_simple_bind_s" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -24191,23 +17530,18 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 +$as_echo "$as_me: error: openldap lib not found or functional" >&2;} { (exit 1); exit 1; }; } fi # rumours say that OpenLDAP doesn't have that function. I looked and # it has it. Test for it to be sure -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for ldap_set_option in -lldap" >&5 -echo $ECHO_N "checking for ldap_set_option in -lldap... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for ldap_set_option in -lldap" >&5 -echo $ECHO_N "checking for ldap_set_option in -lldap... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for ldap_set_option in -lldap" >&5 +$as_echo_n "checking for ldap_set_option in -lldap... " >&6; } if test "${ac_cv_lib_ldap_ldap_set_option+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" @@ -24218,87 +17552,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_set_option (); int main () { -ldap_set_option (); +return ldap_set_option (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_ldap_ldap_set_option=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_ldap_ldap_set_option=no + ac_cv_lib_ldap_ldap_set_option=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_set_option" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_set_option" >&6; } -if test $ac_cv_lib_ldap_ldap_set_option = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_set_option" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_set_option" >&6 -if test $ac_cv_lib_ldap_ldap_set_option = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_set_option" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_set_option" >&6; } +if test "x$ac_cv_lib_ldap_ldap_set_option" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -24306,19 +17611,14 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 +$as_echo "$as_me: error: openldap lib not found or functional" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: Netscape/Mozilla" >&5 -echo "${ECHO_T}Netscape/Mozilla" >&6; } -======= - echo "$as_me:$LINENO: result: Netscape/Mozilla" >&5 -echo "${ECHO_T}Netscape/Mozilla" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Netscape/Mozilla" >&5 +$as_echo "Netscape/Mozilla" >&6; } # TODO. Actually do a sanity check and check for # LDAP_OPT_SIZELIMIT and LDAP_X_OPT_CONNECT_TIMEOUT WITH_OPENLDAP=NO @@ -24327,31 +17627,16 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which mozilla to use" >&5 -echo $ECHO_N "checking which mozilla to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which mozilla to use" >&5 -echo $ECHO_N "checking which mozilla to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which mozilla to use" >&5 +$as_echo_n "checking which mozilla to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MOZILLA=YES ENABLE_NSS_MODULE=NO enable_nss_module=no -<<<<<<< .working - { echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5 -echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5 -echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5 +$as_echo_n "checking which Mozilla flavour to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then MOZ_FLAVOUR=libxul elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then @@ -24366,13 +17651,8 @@ echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 MOZ_FLAVOUR=libxul fi tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst();'` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $tmp" >&5 -echo "${ECHO_T}$tmp" >&6; } -======= - echo "$as_me:$LINENO: result: $tmp" >&5 -echo "${ECHO_T}$tmp" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $tmp" >&5 +$as_echo "$tmp" >&6; } succeeded=no @@ -24380,15 +17660,10 @@ echo "${ECHO_T}$tmp" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24401,38 +17676,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24443,55 +17709,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for nss" >&5 -echo $ECHO_N "checking for nss... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for nss" >&5 -echo $ECHO_N "checking for nss... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for nss" >&5 +$as_echo_n "checking for nss... " >&6; } if $PKG_CONFIG --exists "nss" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "nss"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "nss"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -24522,15 +17758,10 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24543,38 +17774,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24585,55 +17807,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nss " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nss ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nss " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nss ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nss " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nss ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nss " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nss "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nss "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -24654,8 +17846,8 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -24671,15 +17863,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24692,38 +17879,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24734,55 +17912,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for nspr " >&5 -echo $ECHO_N "checking for nspr ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for nspr " >&5 -echo $ECHO_N "checking for nspr ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for nspr " >&5 +$as_echo_n "checking for nspr ... " >&6; } if $PKG_CONFIG --exists "nspr " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "nspr "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "nspr "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -24803,8 +17951,8 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -24817,15 +17965,10 @@ echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting th if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24838,38 +17981,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24880,55 +18014,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nspr " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nspr ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nspr " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nspr ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nspr " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nspr ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nspr " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nspr "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nspr "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -24949,8 +18053,8 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -24963,15 +18067,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24984,38 +18083,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25026,55 +18116,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-xpcom" >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-xpcom... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-xpcom" >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-xpcom... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-xpcom" >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-xpcom... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-xpcom" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-xpcom"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-xpcom"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -25109,15 +18169,10 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25130,38 +18185,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25172,55 +18218,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libxul " >&5 -echo $ECHO_N "checking for libxul ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libxul " >&5 -echo $ECHO_N "checking for libxul ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libxul " >&5 +$as_echo_n "checking for libxul ... " >&6; } if $PKG_CONFIG --exists "libxul " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "libxul "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "libxul "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -25241,8 +18257,8 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -25262,15 +18278,10 @@ echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting CPPFLAGS="$CPPFLAGS $MOZ_NSS_CFLAGS" LDFLAGS="$LDFLAGS $MOZ_NSS_LIBS" -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 -echo $ECHO_N "checking for PK11_GetCertFromPrivateKey in -lnss3... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 -echo $ECHO_N "checking for PK11_GetCertFromPrivateKey in -lnss3... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 +$as_echo_n "checking for PK11_GetCertFromPrivateKey in -lnss3... " >&6; } if test "${ac_cv_lib_nss3_PK11_GetCertFromPrivateKey+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnss3 $LIBS" @@ -25281,87 +18292,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char PK11_GetCertFromPrivateKey (); int main () { -PK11_GetCertFromPrivateKey (); +return PK11_GetCertFromPrivateKey (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no + ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 -echo "${ECHO_T}$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6; } -if test $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 -echo "${ECHO_T}$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6 -if test $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 +$as_echo "$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6; } +if test "x$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSS3 1 _ACEOF @@ -25369,10 +18351,10 @@ _ACEOF LIBS="-lnss3 $LIBS" else - { { echo "$as_me:$LINENO: error: PK11_GetCertFromPrivateKey missing but needed. + { { $as_echo "$as_me:$LINENO: error: PK11_GetCertFromPrivateKey missing but needed. See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&5 -echo "$as_me: error: PK11_GetCertFromPrivateKey missing but needed. +$as_echo "$as_me: error: PK11_GetCertFromPrivateKey missing but needed. See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&2;} { (exit 1); exit 1; }; } @@ -25384,27 +18366,17 @@ fi MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $tmp was compiled with --enable-ldap" >&5 -echo $ECHO_N "checking whether $tmp was compiled with --enable-ldap... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $tmp was compiled with --enable-ldap" >&5 -echo $ECHO_N "checking whether $tmp was compiled with --enable-ldap... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $tmp was compiled with --enable-ldap" >&5 +$as_echo_n "checking whether $tmp was compiled with --enable-ldap... " >&6; } if test -d "$MOZ_INC/ldap"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } MOZ_LDAP_CFLAGS="-I$MOZ_INC" else - { { echo "$as_me:$LINENO: error: no. + { { $as_echo "$as_me:$LINENO: error: no. Could not find LDAP header include files in $MOZ_INC/ldap. Please recompile $tmp with --enable-ldap or use --with-openldap." >&5 -echo "$as_me: error: no. +$as_echo "$as_me: error: no. Could not find LDAP header include files in $MOZ_INC/ldap. Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} { (exit 1); exit 1; }; } @@ -25418,88 +18390,48 @@ Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} fi elif test "$enable_mozilla" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -======= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO enable_nss_module=no else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MOZILLA=NO BUILD_TYPE="$BUILD_TYPE MOZ" if test -z "$with_mozilla_version"; then MOZILLA_VERSION= else -<<<<<<< .working - { echo "$as_me:$LINENO: checking which mozilla version to build" >&5 -echo $ECHO_N "checking which mozilla version to build... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which mozilla version to build" >&5 -echo $ECHO_N "checking which mozilla version to build... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which mozilla version to build" >&5 +$as_echo_n "checking which mozilla version to build... " >&6; } MOZILLA_VERSION=$with_mozilla_version enable_build_mozilla=1 -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLA_VERSION" >&5 -echo "${ECHO_T}$MOZILLA_VERSION" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLA_VERSION" >&5 -echo "${ECHO_T}$MOZILLA_VERSION" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLA_VERSION" >&5 +$as_echo "$MOZILLA_VERSION" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for toolkit mozilla should use" >&5 -echo $ECHO_N "checking for toolkit mozilla should use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for toolkit mozilla should use" >&5 -echo $ECHO_N "checking for toolkit mozilla should use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for toolkit mozilla should use" >&5 +$as_echo_n "checking for toolkit mozilla should use... " >&6; } if test -z "$with_mozilla_toolkit"; then if test "$_os" != "WINNT" ; then if test "$_os" = "Darwin" ; then MOZILLA_TOOLKIT=mac -<<<<<<< .working - { echo "$as_me:$LINENO: result: mac" >&5 -echo "${ECHO_T}mac" >&6; } -======= - echo "$as_me:$LINENO: result: mac" >&5 -echo "${ECHO_T}mac" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: mac" >&5 +$as_echo "mac" >&6; } else MOZILLA_TOOLKIT=gtk2 -<<<<<<< .working - { echo "$as_me:$LINENO: result: gtk2" >&5 -echo "${ECHO_T}gtk2" >&6; } -======= - echo "$as_me:$LINENO: result: gtk2" >&5 -echo "${ECHO_T}gtk2" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: gtk2" >&5 +$as_echo "gtk2" >&6; } fi fi else MOZILLA_TOOLKIT=$with_mozilla_toolkit enable_build_mozilla=1 -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZILLA_TOOLKIT" >&5 -echo "${ECHO_T}$MOZILLA_TOOLKIT" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZILLA_TOOLKIT" >&5 -echo "${ECHO_T}$MOZILLA_TOOLKIT" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZILLA_TOOLKIT" >&5 +$as_echo "$MOZILLA_TOOLKIT" >&6; } fi #if test "$_os" = "Darwin" && test "$MOZILLA_TOOLKIT" != "gtk2"; then # #only gtk2 toolkit supported - xlib or cocoa nees glib1 and libIDL1 - the latter is not @@ -25516,104 +18448,59 @@ else enable_build_mozilla= fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build Mozilla/SeaMonkey" >&5 -echo $ECHO_N "checking whether to build Mozilla/SeaMonkey... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build Mozilla/SeaMonkey" >&5 -echo $ECHO_N "checking whether to build Mozilla/SeaMonkey... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build Mozilla/SeaMonkey" >&5 +$as_echo_n "checking whether to build Mozilla/SeaMonkey... " >&6; } if test -n "$enable_build_mozilla"; then BUILD_MOZAB="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else BUILD_MOZAB="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5 -echo $ECHO_N "checking whether to build provided NSS module... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5 -echo $ECHO_N "checking whether to build provided NSS module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + +{ $as_echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5 +$as_echo_n "checking whether to build provided NSS module... " >&6; } if test "$enable_nss_module" != "no"; then ENABLE_NSS_MODULE="YES" BUILD_TYPE="$BUILD_TYPE NSS" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5 -echo $ECHO_N "checking for Mozilla build tooling... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5 -echo $ECHO_N "checking for Mozilla build tooling... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5 +$as_echo_n "checking for Mozilla build tooling... " >&6; } if test -z "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling not found. Use --with-mozilla-build=" >&5 -echo "$as_me: error: Mozilla build tooling not found. Use --with-mozilla-build=" >&2;} +{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling not found. Use --with-mozilla-build=" >&5 +$as_echo "$as_me: error: Mozilla build tooling not found. Use --with-mozilla-build=" >&2;} { (exit 1); exit 1; }; } else if test \( "$WITH_MINGWIN" = "yes" \) ; then if test ! -d "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} +{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 +$as_echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -======= - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } fi else if test ! -d "$MOZILLABUILD/moztools" \ -o ! -d "$MOZILLABUILD/msys" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} +{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 +$as_echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -======= - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } fi fi fi fi else ENABLE_NSS_MODULE="NO" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi if test "$BUILD_MOZAB" = "TRUE"; then @@ -25621,13 +18508,13 @@ if test "$BUILD_MOZAB" = "TRUE"; then if test "$WITH_MINGWIN" != "yes"; then # compiling with MSVC. Only supported platform here is MSVS2005 at the moment. if test "$MSVSVER" != "2005"; then - { { echo "$as_me:$LINENO: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&5 -echo "$as_me: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&2;} + { { $as_echo "$as_me:$LINENO: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&5 +$as_echo "$as_me: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&2;} { (exit 1); exit 1; }; } fi else - { echo "$as_me:$LINENO: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 -echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 +$as_echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} echo "Building SeaMonkey with mingwin is not tested, and likely to break." >> warn fi fi @@ -25637,86 +18524,56 @@ echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely fi MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source" for e in gz bz2; do -<<<<<<< .working - { echo "$as_me:$LINENO: checking for $MOZILLA_SOURCE_VERSION.tar.$e" >&5 -echo $ECHO_N "checking for $MOZILLA_SOURCE_VERSION.tar.$e... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for $MOZILLA_SOURCE_VERSION.tar.$e" >&5 -echo $ECHO_N "checking for $MOZILLA_SOURCE_VERSION.tar.$e... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for $MOZILLA_SOURCE_VERSION.tar.$e" >&5 +$as_echo_n "checking for $MOZILLA_SOURCE_VERSION.tar.$e... " >&6; } if test ! -e "moz/download/$MOZILLA_SOURCE_VERSION.tar.$e" && test "$HAVE_MOZILLA_TARBALL" != "y"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6; } -======= - echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not found" >&5 +$as_echo "not found" >&6; } HAVE_MOZILLA_TARBALL=n else -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } HAVE_MOZILLA_TARBALL=y fi done if test "$HAVE_MOZILLA_TARBALL" != "y"; then - { { echo "$as_me:$LINENO: error: Mozilla/SeaMonkey source archive not found. + { { $as_echo "$as_me:$LINENO: error: Mozilla/SeaMonkey source archive not found. Please copy $MOZILLA_SOURCE_VERSION.tar.bz2 or $MOZILLA_SOURCE_VERSION.tar.gz to moz/download/. The archives can be found here: ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/$MOZILLA_VERSION/" >&5 -echo "$as_me: error: Mozilla/SeaMonkey source archive not found. +$as_echo "$as_me: error: Mozilla/SeaMonkey source archive not found. Please copy $MOZILLA_SOURCE_VERSION.tar.bz2 or $MOZILLA_SOURCE_VERSION.tar.gz to moz/download/. The archives can be found here: ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/$MOZILLA_VERSION/" >&2;} { (exit 1); exit 1; }; } fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for moztools binaries" >&5 -echo $ECHO_N "checking for moztools binaries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for moztools binaries" >&5 -echo $ECHO_N "checking for moztools binaries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for moztools binaries" >&5 +$as_echo_n "checking for moztools binaries... " >&6; } if test ! -e "moz/download/vc8-moztools.zip" ; then - { { echo "$as_me:$LINENO: error: The following file is missing in moz/download: vc8-moztools.zip + { { $as_echo "$as_me:$LINENO: error: The following file is missing in moz/download: vc8-moztools.zip (from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&5 -echo "$as_me: error: The following file is missing in moz/download: vc8-moztools.zip +$as_echo "$as_me: error: The following file is missing in moz/download: vc8-moztools.zip (from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -======= - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } fi elif test "$_os" = "Darwin"; then if test "$MOZILLA_TOOLKIT" = "gtk2"; then - { echo "$as_me:$LINENO: checking whether mozilla can be built..." >&5 -echo "$as_me: checking whether mozilla can be built..." >&6;} + { $as_echo "$as_me:$LINENO: checking whether mozilla can be built..." >&5 +$as_echo "$as_me: checking whether mozilla can be built..." >&6;} succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25729,38 +18586,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25771,55 +18619,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZGTK2_CFLAGS" >&5 -echo $ECHO_N "checking MOZGTK2_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZGTK2_CFLAGS" >&5 -echo $ECHO_N "checking MOZGTK2_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZGTK2_CFLAGS" >&5 +$as_echo_n "checking MOZGTK2_CFLAGS... " >&6; } MOZGTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZGTK2_CFLAGS" >&5 -echo "${ECHO_T}$MOZGTK2_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZGTK2_CFLAGS" >&5 -echo "${ECHO_T}$MOZGTK2_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZGTK2_LIBS" >&5 -echo $ECHO_N "checking MOZGTK2_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZGTK2_LIBS" >&5 -echo $ECHO_N "checking MOZGTK2_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZGTK2_CFLAGS" >&5 +$as_echo "$MOZGTK2_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZGTK2_LIBS" >&5 +$as_echo_n "checking MOZGTK2_LIBS... " >&6; } MOZGTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZGTK2_LIBS" >&5 -echo "${ECHO_T}$MOZGTK2_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZGTK2_LIBS" >&5 -echo "${ECHO_T}$MOZGTK2_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZGTK2_LIBS" >&5 +$as_echo "$MOZGTK2_LIBS" >&6; } else MOZGTK2_CFLAGS="" MOZGTK2_LIBS="" @@ -25838,11 +18656,11 @@ echo "${ECHO_T}$MOZGTK2_LIBS" >&6 fi if test $succeeded = yes; then - { echo "$as_me:$LINENO: OK - can build mozilla" >&5 -echo "$as_me: OK - can build mozilla" >&6;} + { $as_echo "$as_me:$LINENO: OK - can build mozilla" >&5 +$as_echo "$as_me: OK - can build mozilla" >&6;} else - { { echo "$as_me:$LINENO: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&5 -echo "$as_me: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&2;} + { { $as_echo "$as_me:$LINENO: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&5 +$as_echo "$as_me: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&2;} { (exit 1); exit 1; }; } fi @@ -25853,15 +18671,10 @@ echo "$as_me: error: Prerequisites to build mozilla not met. Either use the prec if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25874,38 +18687,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25916,52 +18720,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.6.3" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.6.3... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.6.3" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.6.3... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - if $PKG_CONFIG --exists "libIDL-2.0 >= 0.6.3" ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= + { $as_echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.6.3" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.6.3... " >&6; } + if $PKG_CONFIG --exists "libIDL-2.0 >= 0.6.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.6.3"` - { echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 - MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6; } - MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.6.3"` - { echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -25986,8 +18763,8 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&5 -echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&2;} + { { $as_echo "$as_me:$LINENO: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&5 +$as_echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&2;} { (exit 1); exit 1; }; } fi fi @@ -26000,15 +18777,10 @@ echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac t if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26021,38 +18793,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26063,55 +18826,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gtk+-2.0" >&5 -echo $ECHO_N "checking for gtk+-2.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gtk+-2.0" >&5 -echo $ECHO_N "checking for gtk+-2.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gtk+-2.0" >&5 +$as_echo_n "checking for gtk+-2.0... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+-2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -26136,8 +18869,8 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: GTK2 is needed to build mozilla." >&5 -echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} + { { $as_echo "$as_me:$LINENO: error: GTK2 is needed to build mozilla." >&5 +$as_echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} { (exit 1); exit 1; }; } fi @@ -26146,15 +18879,10 @@ echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26167,38 +18895,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26209,55 +18928,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.8.0" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.8.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.8.0" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.8.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.8.0" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.8.0... " >&6; } if $PKG_CONFIG --exists "libIDL-2.0 >= 0.8.0" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.8.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.8.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -26282,8 +18971,8 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&2;} + { { $as_echo "$as_me:$LINENO: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&5 +$as_echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&2;} { (exit 1); exit 1; }; } fi else @@ -26293,15 +18982,10 @@ echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla. if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26314,38 +18998,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26356,55 +19031,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gtk+ >= 1.2.3" >&5 -echo $ECHO_N "checking for gtk+ >= 1.2.3... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gtk+ >= 1.2.3" >&5 -echo $ECHO_N "checking for gtk+ >= 1.2.3... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gtk+ >= 1.2.3" >&5 +$as_echo_n "checking for gtk+ >= 1.2.3... " >&6; } if $PKG_CONFIG --exists "gtk+ >= 1.2.3" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+ >= 1.2.3"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+ >= 1.2.3"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -26429,8 +19074,8 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&2;} + { { $as_echo "$as_me:$LINENO: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&5 +$as_echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&2;} { (exit 1); exit 1; }; } fi @@ -26439,15 +19084,10 @@ echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >& if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26460,38 +19100,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26502,55 +19133,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 -echo $ECHO_N "checking for libidl >= 0.6.3 libidl <= 0.6.8... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 -echo $ECHO_N "checking for libidl >= 0.6.3 libidl <= 0.6.8... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 +$as_echo_n "checking for libidl >= 0.6.3 libidl <= 0.6.8... " >&6; } if $PKG_CONFIG --exists "libidl >= 0.6.3 libidl <= 0.6.8" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libidl >= 0.6.3 libidl <= 0.6.8"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libidl >= 0.6.3 libidl <= 0.6.8"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -26575,8 +19176,8 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&2;} + { { $as_echo "$as_me:$LINENO: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&5 +$as_echo "$as_me: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&2;} { (exit 1); exit 1; }; } fi fi @@ -26597,50 +19198,25 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which sane header to use" >&5 -echo $ECHO_N "checking which sane header to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which sane header to use" >&5 -echo $ECHO_N "checking which sane header to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which sane header to use" >&5 +$as_echo_n "checking which sane header to use... " >&6; } if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \ test "$with_system_sane_header" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SANE_HEADER=YES if test "${ac_cv_header_sane_sane_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for sane/sane.h" >&5 +$as_echo_n "checking for sane/sane.h... " >&6; } if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 +$as_echo "$ac_cv_header_sane_sane_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking sane/sane.h usability" >&5 -echo $ECHO_N "checking sane/sane.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking sane/sane.h usability" >&5 -echo $ECHO_N "checking sane/sane.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking sane/sane.h usability" >&5 +$as_echo_n "checking sane/sane.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26651,71 +19227,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking sane/sane.h presence" >&5 -echo $ECHO_N "checking sane/sane.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking sane/sane.h presence" >&5 -echo $ECHO_N "checking sane/sane.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking sane/sane.h presence" >&5 +$as_echo_n "checking sane/sane.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26724,179 +19267,103 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: sane/sane.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sane/sane.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sane/sane.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sane/sane.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: sane/sane.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sane/sane.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sane/sane.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sane/sane.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for sane/sane.h" >&5 +$as_echo_n "checking for sane/sane.h... " >&6; } if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_sane_sane_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 +$as_echo "$ac_cv_header_sane_sane_h" >&6; } fi -if test $ac_cv_header_sane_sane_h = yes; then +if test "x$ac_cv_header_sane_sane_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: sane not found. install sane" >&5 -echo "$as_me: error: sane not found. install sane" >&2;} + { { $as_echo "$as_me:$LINENO: error: sane not found. install sane" >&5 +$as_echo "$as_me: error: sane not found. install sane" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SANE_HEADER=NO BUILD_TYPE="$BUILD_TYPE SANE" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which icu to use" >&5 -echo $ECHO_N "checking which icu to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which icu to use" >&5 -echo $ECHO_N "checking which icu to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which icu to use" >&5 +$as_echo_n "checking which icu to use... " >&6; } if test -n "$with_system_icu" -o -n "$with_system_libs" && \ test "$with_system_icu" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ICU=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -<<<<<<< .working - { echo "$as_me:$LINENO: checking for unicode/rbbi.h" >&5 -echo $ECHO_N "checking for unicode/rbbi.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for unicode/rbbi.h" >&5 -echo $ECHO_N "checking for unicode/rbbi.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for unicode/rbbi.h" >&5 +$as_echo_n "checking for unicode/rbbi.h... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -26905,70 +19372,41 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ unicode/rbbi.h _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then - { echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6; } -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked." >&5 +$as_echo "checked." >&6; } else -<<<<<<< .working - echo "$as_me: failed program was:" >&5 -======= - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 -else - echo "$as_me: failed program was:" >&5 ->>>>>>> .merge-right.r276078 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - { { echo "$as_me:$LINENO: error: icu headers not found." >&5 -echo "$as_me: error: icu headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: icu headers not found." >&5 +$as_echo "$as_me: error: icu headers not found." >&2;} { (exit 1); exit 1; }; } fi + rm -f conftest.err conftest.$ac_ext # Extract the first word of "genbrk", so it can be a program name with args. set dummy genbrk; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SYSTEM_GENBRK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENBRK in [\\/]* | ?:[\\/]*) @@ -26982,53 +19420,39 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENBRK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENBRK=$ac_cv_path_SYSTEM_GENBRK - if test -n "$SYSTEM_GENBRK"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SYSTEM_GENBRK" >&5 -echo "${ECHO_T}$SYSTEM_GENBRK" >&6; } -======= - echo "$as_me:$LINENO: result: $SYSTEM_GENBRK" >&5 -echo "${ECHO_T}$SYSTEM_GENBRK" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SYSTEM_GENBRK" >&5 +$as_echo "$SYSTEM_GENBRK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENBRK"; then - { { echo "$as_me:$LINENO: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&5 -echo "$as_me: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&2;} + { { $as_echo "$as_me:$LINENO: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&5 +$as_echo "$as_me: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "genccode", so it can be a program name with args. set dummy genccode; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SYSTEM_GENCCODE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCCODE in [\\/]* | ?:[\\/]*) @@ -27042,53 +19466,39 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCCODE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCCODE=$ac_cv_path_SYSTEM_GENCCODE - if test -n "$SYSTEM_GENCCODE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SYSTEM_GENCCODE" >&5 -echo "${ECHO_T}$SYSTEM_GENCCODE" >&6; } -======= - echo "$as_me:$LINENO: result: $SYSTEM_GENCCODE" >&5 -echo "${ECHO_T}$SYSTEM_GENCCODE" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SYSTEM_GENCCODE" >&5 +$as_echo "$SYSTEM_GENCCODE" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCCODE"; then - { { echo "$as_me:$LINENO: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&5 -echo "$as_me: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&2;} + { { $as_echo "$as_me:$LINENO: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&5 +$as_echo "$as_me: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "gencmn", so it can be a program name with args. set dummy gencmn; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_SYSTEM_GENCMN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCMN in [\\/]* | ?:[\\/]*) @@ -27102,55 +19512,43 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCMN="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCMN=$ac_cv_path_SYSTEM_GENCMN - if test -n "$SYSTEM_GENCMN"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $SYSTEM_GENCMN" >&5 -echo "${ECHO_T}$SYSTEM_GENCMN" >&6; } -======= - echo "$as_me:$LINENO: result: $SYSTEM_GENCMN" >&5 -echo "${ECHO_T}$SYSTEM_GENCMN" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $SYSTEM_GENCMN" >&5 +$as_echo "$SYSTEM_GENCMN" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCMN"; then - { { echo "$as_me:$LINENO: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&5 -echo "$as_me: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&2;} + { { $as_echo "$as_me:$LINENO: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&5 +$as_echo "$as_me: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking ICU version" >&5 -echo $ECHO_N "checking ICU version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking ICU version" >&5 -echo $ECHO_N "checking ICU version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking ICU version" >&5 +$as_echo_n "checking ICU version... " >&6; } if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -27170,58 +19568,44 @@ int main(int argc, char **argv) { _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: not suitable, only >= 4.0 supported currently" >&5 -echo "$as_me: error: not suitable, only >= 4.0 supported currently" >&2;} +{ { $as_echo "$as_me:$LINENO: error: not suitable, only >= 4.0 supported currently" >&5 +$as_echo "$as_me: error: not suitable, only >= 4.0 supported currently" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -27229,13 +19613,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ICU=NO BUILD_TYPE="$BUILD_TYPE ICU" fi @@ -27245,38 +19624,18 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable graphite support" >&5 -echo $ECHO_N "checking whether to enable graphite support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable graphite support" >&5 -echo $ECHO_N "checking whether to enable graphite support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable graphite support" >&5 +$as_echo_n "checking whether to enable graphite support... " >&6; } if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_GRAPHITE="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: checking which graphite to use" >&5 -echo $ECHO_N "checking which graphite to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which graphite to use" >&5 -echo $ECHO_N "checking which graphite to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which graphite to use" >&5 +$as_echo_n "checking which graphite to use... " >&6; } if test -n "$with_system_graphite" -o -n "$with_system_libs" && \ test "$with_system_graphite" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_GRAPHITE=YES succeeded=no @@ -27284,15 +19643,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -27305,38 +19659,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -27347,55 +19692,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for silgraphite " >&5 -echo $ECHO_N "checking for silgraphite ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for silgraphite " >&5 -echo $ECHO_N "checking for silgraphite ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for silgraphite " >&5 +$as_echo_n "checking for silgraphite ... " >&6; } if $PKG_CONFIG --exists "silgraphite " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5 -echo $ECHO_N "checking GRAPHITE_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5 -echo $ECHO_N "checking GRAPHITE_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5 +$as_echo_n "checking GRAPHITE_CFLAGS... " >&6; } GRAPHITE_CFLAGS=`$PKG_CONFIG --cflags "silgraphite "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5 -echo "${ECHO_T}$GRAPHITE_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5 -echo "${ECHO_T}$GRAPHITE_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5 -echo $ECHO_N "checking GRAPHITE_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5 -echo $ECHO_N "checking GRAPHITE_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5 +$as_echo "$GRAPHITE_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5 +$as_echo_n "checking GRAPHITE_LIBS... " >&6; } GRAPHITE_LIBS=`$PKG_CONFIG --libs "silgraphite "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5 -echo "${ECHO_T}$GRAPHITE_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5 -echo "${ECHO_T}$GRAPHITE_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5 +$as_echo "$GRAPHITE_LIBS" >&6; } else GRAPHITE_CFLAGS="" GRAPHITE_LIBS="" @@ -27416,50 +19731,30 @@ echo "${ECHO_T}$GRAPHITE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking STL compatibility" >&5 -echo $ECHO_N "checking STL compatibility... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking STL compatibility" >&5 -echo $ECHO_N "checking STL compatibility... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking STL compatibility" >&5 +$as_echo_n "checking STL compatibility... " >&6; } if test "$WITH_STLPORT" != "no"; then - { { echo "$as_me:$LINENO: error: to use system graphite you need to use --without-stlport" >&5 -echo "$as_me: error: to use system graphite you need to use --without-stlport" >&2;} + { { $as_echo "$as_me:$LINENO: error: to use system graphite you need to use --without-stlport" >&5 +$as_echo "$as_me: error: to use system graphite you need to use --without-stlport" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_GRAPHITE=NO BUILD_TYPE="$BUILD_TYPE GRAPHITE" fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -27469,25 +19764,15 @@ fi if test "$_os" = "Darwin"; then if test "x$with_x" = "xyes"; then - { { echo "$as_me:$LINENO: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&5 -echo "$as_me: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&2;} + { { $as_echo "$as_me:$LINENO: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&5 +$as_echo "$as_me: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /System/Library/Frameworks/AppKit.framework" >&5 -echo $ECHO_N "checking for /System/Library/Frameworks/AppKit.framework... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /System/Library/Frameworks/AppKit.framework" >&5 -echo $ECHO_N "checking for /System/Library/Frameworks/AppKit.framework... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /System/Library/Frameworks/AppKit.framework" >&5 +$as_echo_n "checking for /System/Library/Frameworks/AppKit.framework... " >&6; } if test -d "/System/Library/Frameworks/AppKit.framework/"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } x_includes="no_x_includes" x_libraries="no_x_libraries" enable_gtk=no @@ -27495,8 +19780,8 @@ echo "${ECHO_T}yes" >&6 ENABLE_CUPS="" else - { { echo "$as_me:$LINENO: error: No AppKit.framewrok found" >&5 -echo "$as_me: error: No AppKit.framewrok found" >&2;} + { { $as_echo "$as_me:$LINENO: error: No AppKit.framewrok found" >&5 +$as_echo "$as_me: error: No AppKit.framewrok found" >&2;} { (exit 1); exit 1; }; } fi fi @@ -27509,64 +19794,49 @@ elif test "$_os" = "OS2" ; then echo "Do Nothing for _os = OS2. Don't check for X11." : elif test "$_os" != "WINNT" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } -# Check whether --with-x or --without-x was given. +# Check whether --with-x was given. if test "${with_x+set}" = set; then - withval="$with_x" + withval=$with_x; +fi -fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else -<<<<<<< .working case $x_includes,$x_libraries in #( - *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 -echo "$as_me: error: Cannot use X directory names containing '" >&2;} + *\'*) { { $as_echo "$as_me:$LINENO: error: cannot use X directory names containing '" >&5 +$as_echo "$as_me: error: cannot use X directory names containing '" >&2;} { (exit 1); exit 1; }; };; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else - if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no -rm -fr conftest.dir +rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -_ACEOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. -<<<<<<< .working - for ac_extension in a so sl; do + for ac_extension in a so sl dylib la dll; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then -======= - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then ->>>>>>> .merge-right.r276078 ac_im_usrlibdir=$ac_im_libdir; break fi done @@ -27574,16 +19844,16 @@ _ACEOF # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in - /usr/include) ;; + /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in - /usr/lib | /lib) ;; + /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. - rm -fr conftest.dir + rm -f -r conftest.dir fi # Standard set of common directories for X headers. @@ -27624,7 +19894,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -27632,57 +19902,39 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 # We can compile using X headers with no special include directory. ac_x_includes= else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then + if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi + rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no @@ -27691,141 +19943,99 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lXt $LIBS" + LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XtMalloc (0) +XrmInitialize () ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -<<<<<<< .working LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -======= -LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` ->>>>>>> .merge-right.r276078 +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! -<<<<<<< .working - for ac_extension in a so sl; do + for ac_extension in a so sl dylib la dll; do if test -r "$ac_dir/libX11.$ac_extension"; then -======= - for ac_extension in a so sl; do - if test -r $ac_dir/libXt.$ac_extension; then ->>>>>>> .merge-right.r276078 ac_x_libraries=$ac_dir break 2 fi done done fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no -if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac fi - - fi +;; #( + *) have_x=yes;; + esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6; } -======= - echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $have_x" >&5 +$as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. -<<<<<<< .working ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" - { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } -======= - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi if test "$no_x" = yes; then @@ -27846,21 +20056,12 @@ else X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" ac_xsave_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes cat >conftest.$ac_ext <<_ACEOF -======= - case `(uname -sr) 2>/dev/null` in - "SunOS 5"*) - echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 - ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - cat >conftest.$ac_ext <<_ACEOF ->>>>>>> .merge-right.r276078 /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -27876,65 +20077,35 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } X_LIBS="$X_LIBS -R$x_libraries" -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_nospace=yes ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_R_nospace=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $ac_R_nospace = yes; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - X_LIBS="$X_LIBS -R$x_libraries" - else LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -27950,88 +20121,47 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } X_LIBS="$X_LIBS -R $x_libraries" -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_space=yes ->>>>>>> .merge-right.r276078 else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -<<<<<<< .working - { echo "$as_me:$LINENO: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6; } -======= -ac_R_space=no ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: neither works" >&5 +$as_echo "neither works" >&6; } fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext -<<<<<<< .working fi -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_c_werror_flag=$ac_xsave_c_werror_flag - LIBS=$ac_xsave_LIBS -======= - if test $ac_R_space = yes; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$as_me:$LINENO: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6 - fi - fi - LIBS=$ac_xsave_LIBS - esac ->>>>>>> .merge-right.r276078 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS fi # Check for system-dependent libraries X programs must link with. @@ -28052,76 +20182,51 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -<<<<<<< .working - { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" @@ -28132,100 +20237,66 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_dnet_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_dnet_dnet_ntoa=no + ac_cv_lib_dnet_dnet_ntoa=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; } -if test $ac_cv_lib_dnet_dnet_ntoa = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_dnet_ntoa = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" @@ -28236,98 +20307,66 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_dnet_stub_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_dnet_stub_dnet_ntoa=no + ac_cv_lib_dnet_stub_dnet_ntoa=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } -if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" @@ -28339,15 +20378,10 @@ rm -f conftest.err conftest.$ac_objext \ # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gethostbyname" >&5 +$as_echo_n "checking for gethostbyname... " >&6; } if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -28372,108 +20406,69 @@ cat >>conftest.$ac_ext <<_ACEOF #undef gethostbyname -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) +#if defined __stub_gethostbyname || defined __stub___gethostbyname choke me -#else -char (*f) () = gethostbyname; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != gethostbyname; +return gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_func_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_gethostbyname=no + ac_cv_func_gethostbyname=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +$as_echo "$ac_cv_func_gethostbyname" >&6; } if test $ac_cv_func_gethostbyname = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" @@ -28484,100 +20479,66 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_nsl_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_nsl_gethostbyname=no + ac_cv_lib_nsl_gethostbyname=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; } -if test $ac_cv_lib_nsl_gethostbyname = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -if test $ac_cv_lib_nsl_gethostbyname = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" @@ -28588,87 +20549,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_bsd_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_bsd_gethostbyname=no + ac_cv_lib_bsd_gethostbyname=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; } -if test $ac_cv_lib_bsd_gethostbyname = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 -if test $ac_cv_lib_bsd_gethostbyname = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi @@ -28682,15 +20614,10 @@ fi # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. -<<<<<<< .working - { echo "$as_me:$LINENO: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for connect" >&5 +$as_echo_n "checking for connect... " >&6; } if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -28715,108 +20642,69 @@ cat >>conftest.$ac_ext <<_ACEOF #undef connect -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char connect (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) +#if defined __stub_connect || defined __stub___connect choke me -#else -char (*f) () = connect; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != connect; +return connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_func_connect=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_connect=no + ac_cv_func_connect=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +$as_echo "$ac_cv_func_connect" >&6; } if test $ac_cv_func_connect = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" @@ -28827,102 +20715,68 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char connect (); int main () { -connect (); +return connect (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_socket_connect=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_socket_connect=no + ac_cv_lib_socket_connect=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; } -if test $ac_cv_lib_socket_connect = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test $ac_cv_lib_socket_connect = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = x""yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. -<<<<<<< .working - { echo "$as_me:$LINENO: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for remove" >&5 +$as_echo_n "checking for remove... " >&6; } if test "${ac_cv_func_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -28947,108 +20801,69 @@ cat >>conftest.$ac_ext <<_ACEOF #undef remove -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char remove (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) +#if defined __stub_remove || defined __stub___remove choke me -#else -char (*f) () = remove; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != remove; +return remove (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_func_remove=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_remove=no + ac_cv_func_remove=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 +$as_echo "$ac_cv_func_remove" >&6; } if test $ac_cv_func_remove = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } if test "${ac_cv_lib_posix_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" @@ -29059,102 +20874,68 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char remove (); int main () { -remove (); +return remove (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_posix_remove=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_posix_remove=no + ac_cv_lib_posix_remove=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; } -if test $ac_cv_lib_posix_remove = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 -if test $ac_cv_lib_posix_remove = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. -<<<<<<< .working - { echo "$as_me:$LINENO: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for shmat" >&5 +$as_echo_n "checking for shmat... " >&6; } if test "${ac_cv_func_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -29179,108 +20960,69 @@ cat >>conftest.$ac_ext <<_ACEOF #undef shmat -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" -{ #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char shmat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) +#if defined __stub_shmat || defined __stub___shmat choke me -#else -char (*f) () = shmat; -#endif -#ifdef __cplusplus -} #endif int main () { -return f != shmat; +return shmat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_func_shmat=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_func_shmat=no + ac_cv_func_shmat=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 +$as_echo "$ac_cv_func_shmat" >&6; } if test $ac_cv_func_shmat = no; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } if test "${ac_cv_lib_ipc_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" @@ -29291,87 +21033,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char shmat (); int main () { -shmat (); +return shmat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_ipc_shmat=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_ipc_shmat=no + ac_cv_lib_ipc_shmat=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; } -if test $ac_cv_lib_ipc_shmat = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 -if test $ac_cv_lib_ipc_shmat = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = x""yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi @@ -29387,15 +21100,10 @@ fi # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry -<<<<<<< .working - { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" @@ -29406,87 +21114,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); int main () { -IceConnectionNumber (); +return IceConnectionNumber (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_ICE_IceConnectionNumber=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_ICE_IceConnectionNumber=no + ac_cv_lib_ICE_IceConnectionNumber=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; } -if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 -if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi @@ -29503,26 +21182,21 @@ fi x_libraries="default_x_libraries" fi if test -z "$x_libraries"; then - { { echo "$as_me:$LINENO: error: No X libraries found" >&5 -echo "$as_me: error: No X libraries found" >&2;} + { { $as_echo "$as_me:$LINENO: error: No X libraries found" >&5 +$as_echo "$as_me: error: No X libraries found" >&2;} { (exit 1); exit 1; }; } # Exit fi if test -z "$x_includes"; then - { { echo "$as_me:$LINENO: error: No X includes found" >&5 -echo "$as_me: error: No X includes found" >&2;} + { { $as_echo "$as_me:$LINENO: error: No X includes found" >&5 +$as_echo "$as_me: error: No X includes found" >&2;} { (exit 1); exit 1; }; } # Exit fi CFLAGS=$X_CFLAGS LDFLAGS="$X_LDFLAGS $X_LIBS" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 +$as_echo_n "checking for XOpenDisplay in -lX11... " >&6; } if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" @@ -29533,103 +21207,69 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_X11_XOpenDisplay=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_X11_XOpenDisplay=no + ac_cv_lib_X11_XOpenDisplay=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6; } -if test $ac_cv_lib_X11_XOpenDisplay = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 -if test $ac_cv_lib_X11_XOpenDisplay = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 +$as_echo "$ac_cv_lib_X11_XOpenDisplay" >&6; } +if test "x$ac_cv_lib_X11_XOpenDisplay" = x""yes; then x_libs="-lX11 $X_EXTRA_LIBS" else - { { echo "$as_me:$LINENO: error: X Development libraries not found" >&5 -echo "$as_me: error: X Development libraries not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: X Development libraries not found" >&5 +$as_echo "$as_me: error: X Development libraries not found" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for XauDisposeAuth in -lXau" >&5 -echo $ECHO_N "checking for XauDisposeAuth in -lXau... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for XauDisposeAuth in -lXau" >&5 -echo $ECHO_N "checking for XauDisposeAuth in -lXau... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for XauDisposeAuth in -lXau" >&5 +$as_echo_n "checking for XauDisposeAuth in -lXau... " >&6; } if test "${ac_cv_lib_Xau_XauDisposeAuth+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXau $LIBS" @@ -29640,87 +21280,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XauDisposeAuth (); int main () { -XauDisposeAuth (); +return XauDisposeAuth (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_Xau_XauDisposeAuth=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_Xau_XauDisposeAuth=no + ac_cv_lib_Xau_XauDisposeAuth=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 -echo "${ECHO_T}$ac_cv_lib_Xau_XauDisposeAuth" >&6; } -if test $ac_cv_lib_Xau_XauDisposeAuth = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 -echo "${ECHO_T}$ac_cv_lib_Xau_XauDisposeAuth" >&6 -if test $ac_cv_lib_Xau_XauDisposeAuth = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 +$as_echo "$ac_cv_lib_Xau_XauDisposeAuth" >&6; } +if test "x$ac_cv_lib_Xau_XauDisposeAuth" = x""yes; then XAU_LIBS="-lXau" fi @@ -29752,38 +21363,20 @@ fi if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use Xaw" >&5 -echo $ECHO_N "checking whether to use Xaw... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use Xaw" >&5 -echo $ECHO_N "checking whether to use Xaw... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use Xaw" >&5 +$as_echo_n "checking whether to use Xaw... " >&6; } if test "$enable_Xaw" = "no"; then DISABLE_XAW=TRUE -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } for ac_header in X11/Composite.h do -<<<<<<< .working -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -29796,120 +21389,73 @@ cat >>conftest.$ac_ext <<_ACEOF #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 eval "$as_ac_Header=yes" else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xt include headers not found" >&5 -echo "$as_me: error: Xt include headers not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: Xt include headers not found" >&5 +$as_echo "$as_me: error: Xt include headers not found" >&2;} { (exit 1); exit 1; }; } fi done else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } for ac_header in X11/Xaw/Label.h do -<<<<<<< .working -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 -fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -29920,71 +21466,38 @@ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -29993,153 +21506,93 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xaw include headers not found" >&5 -echo "$as_me: error: Xaw include headers not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: Xaw include headers not found" >&5 +$as_echo "$as_me: error: Xaw include headers not found" >&2;} { (exit 1); exit 1; }; } fi done -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lXaw" >&5 -echo $ECHO_N "checking for main in -lXaw... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lXaw" >&5 -echo $ECHO_N "checking for main in -lXaw... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lXaw" >&5 +$as_echo_n "checking for main in -lXaw... " >&6; } if test "${ac_cv_lib_Xaw_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXaw $LIBS" @@ -30154,77 +21607,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_Xaw_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_Xaw_main=no + ac_cv_lib_Xaw_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xaw_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xaw_main" >&6; } -if test $ac_cv_lib_Xaw_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_Xaw_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xaw_main" >&6 -if test $ac_cv_lib_Xaw_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xaw_main" >&5 +$as_echo "$ac_cv_lib_Xaw_main" >&6; } +if test "x$ac_cv_lib_Xaw_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXAW 1 _ACEOF @@ -30232,8 +21656,8 @@ _ACEOF LIBS="-lXaw $LIBS" else - { { echo "$as_me:$LINENO: error: Xaw library not found or functional" >&5 -echo "$as_me: error: Xaw library not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: Xaw library not found or functional" >&5 +$as_echo "$as_me: error: Xaw library not found or functional" >&2;} { (exit 1); exit 1; }; } fi @@ -30245,32 +21669,17 @@ fi if test "$ENABLE_FONTCONFIG" = "TRUE" ; then if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 +$as_echo_n "checking for fontconfig/fontconfig.h... " >&6; } if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 +$as_echo "$ac_cv_header_fontconfig_fontconfig_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking fontconfig/fontconfig.h usability" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h usability" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking fontconfig/fontconfig.h usability" >&5 +$as_echo_n "checking fontconfig/fontconfig.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -30281,71 +21690,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking fontconfig/fontconfig.h presence" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h presence" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking fontconfig/fontconfig.h presence" >&5 +$as_echo_n "checking fontconfig/fontconfig.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -30354,149 +21730,90 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 +$as_echo_n "checking for fontconfig/fontconfig.h... " >&6; } if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_fontconfig_fontconfig_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 +$as_echo "$ac_cv_header_fontconfig_fontconfig_h" >&6; } fi -if test $ac_cv_header_fontconfig_fontconfig_h = yes; then +if test "x$ac_cv_header_fontconfig_fontconfig_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&5 -echo "$as_me: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&2;} + { { $as_echo "$as_me:$LINENO: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&5 +$as_echo "$as_me: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether fontconfig is >= 2.2.0" >&5 -echo $ECHO_N "checking whether fontconfig is >= 2.2.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether fontconfig is >= 2.2.0" >&5 -echo $ECHO_N "checking whether fontconfig is >= 2.2.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether fontconfig is >= 2.2.0" >&5 +$as_echo_n "checking whether fontconfig is >= 2.2.0... " >&6; } if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -30514,131 +21831,77 @@ int main(int argc, char **argv) { _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, fontconfig >= 2.2.0 needed" >&5 -echo "$as_me: error: no, fontconfig >= 2.2.0 needed" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no, fontconfig >= 2.2.0 needed" >&5 +$as_echo "$as_me: error: no, fontconfig >= 2.2.0 needed" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to link to Xrender" >&5 -echo $ECHO_N "checking whether to link to Xrender... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to link to Xrender" >&5 -echo $ECHO_N "checking whether to link to Xrender... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to link to Xrender" >&5 +$as_echo_n "checking whether to link to Xrender... " >&6; } if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } XRENDER_LINK=YES with_system_xrender_headers=yes else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6; } -======= - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } XRENDER_LINK=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which Xrender headers to use" >&5 -echo $ECHO_N "checking which Xrender headers to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which Xrender headers to use" >&5 -echo $ECHO_N "checking which Xrender headers to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which Xrender headers to use" >&5 +$as_echo_n "checking which Xrender headers to use... " >&6; } if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \ test "$with_system_xrender_headers" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_XRENDER_HEADERS=YES if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 +$as_echo_n "checking for X11/extensions/Xrender.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xrender_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xrender.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xrender.h usability" >&5 +$as_echo_n "checking X11/extensions/Xrender.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -30649,71 +21912,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xrender.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xrender.h presence" >&5 +$as_echo_n "checking X11/extensions/Xrender.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -30722,158 +21952,92 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 +$as_echo_n "checking for X11/extensions/Xrender.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_X11_extensions_Xrender_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xrender_h" >&6; } fi -if test $ac_cv_header_X11_extensions_Xrender_h = yes; then +if test "x$ac_cv_header_X11_extensions_Xrender_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: Xrender not found. install X" >&5 -echo "$as_me: error: Xrender not found. install X" >&2;} + { { $as_echo "$as_me:$LINENO: error: Xrender not found. install X" >&5 +$as_echo "$as_me: error: Xrender not found. install X" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_XRENDER_HEADERS=NO BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" fi if test "$XRENDER_LINK" = "YES"; then -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for XRenderQueryVersion in -lXrender" >&5 -echo $ECHO_N "checking for XRenderQueryVersion in -lXrender... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for XRenderQueryVersion in -lXrender" >&5 -echo $ECHO_N "checking for XRenderQueryVersion in -lXrender... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for XRenderQueryVersion in -lXrender" >&5 +$as_echo_n "checking for XRenderQueryVersion in -lXrender... " >&6; } if test "${ac_cv_lib_Xrender_XRenderQueryVersion+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrender $LIBS" @@ -30884,87 +22048,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRenderQueryVersion (); int main () { -XRenderQueryVersion (); +return XRenderQueryVersion (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_Xrender_XRenderQueryVersion=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_Xrender_XRenderQueryVersion=no + ac_cv_lib_Xrender_XRenderQueryVersion=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrender_XRenderQueryVersion" >&6; } -if test $ac_cv_lib_Xrender_XRenderQueryVersion = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrender_XRenderQueryVersion" >&6 -if test $ac_cv_lib_Xrender_XRenderQueryVersion = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 +$as_echo "$ac_cv_lib_Xrender_XRenderQueryVersion" >&6; } +if test "x$ac_cv_lib_Xrender_XRenderQueryVersion" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRENDER 1 _ACEOF @@ -30972,8 +22107,8 @@ _ACEOF LIBS="-lXrender $LIBS" else - { { echo "$as_me:$LINENO: error: libXrender not found or functional" >&5 -echo "$as_me: error: libXrender not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libXrender not found or functional" >&5 +$as_echo "$as_me: error: libXrender not found or functional" >&2;} { (exit 1); exit 1; }; } fi @@ -30981,23 +22116,13 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable RandR support" >&5 -echo $ECHO_N "checking whether to enable RandR support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable RandR support" >&5 -echo $ECHO_N "checking whether to enable RandR support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable RandR support" >&5 +$as_echo_n "checking whether to enable RandR support... " >&6; } if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then XRANDR_DLOPEN="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: resorting to dlopen libXrandr at runtime" >&5 -echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6; } -======= - echo "$as_me:$LINENO: result: resorting to dlopen libXrandr at runtime" >&5 -echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: resorting to dlopen libXrandr at runtime" >&5 +$as_echo "resorting to dlopen libXrandr at runtime" >&6; } else XRANDR_DLOPEN="FALSE" @@ -31006,15 +22131,10 @@ echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -31027,38 +22147,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -31069,55 +22180,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for xrandr >= 1.2" >&5 -echo $ECHO_N "checking for xrandr >= 1.2... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for xrandr >= 1.2" >&5 -echo $ECHO_N "checking for xrandr >= 1.2... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for xrandr >= 1.2" >&5 +$as_echo_n "checking for xrandr >= 1.2... " >&6; } if $PKG_CONFIG --exists "xrandr >= 1.2" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking XRANDR_CFLAGS" >&5 -echo $ECHO_N "checking XRANDR_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking XRANDR_CFLAGS" >&5 -echo $ECHO_N "checking XRANDR_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking XRANDR_CFLAGS" >&5 +$as_echo_n "checking XRANDR_CFLAGS... " >&6; } XRANDR_CFLAGS=`$PKG_CONFIG --cflags "xrandr >= 1.2"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $XRANDR_CFLAGS" >&5 -echo "${ECHO_T}$XRANDR_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $XRANDR_CFLAGS" >&5 -echo "${ECHO_T}$XRANDR_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking XRANDR_LIBS" >&5 -echo $ECHO_N "checking XRANDR_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking XRANDR_LIBS" >&5 -echo $ECHO_N "checking XRANDR_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $XRANDR_CFLAGS" >&5 +$as_echo "$XRANDR_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking XRANDR_LIBS" >&5 +$as_echo_n "checking XRANDR_LIBS... " >&6; } XRANDR_LIBS=`$PKG_CONFIG --libs "xrandr >= 1.2"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $XRANDR_LIBS" >&5 -echo "${ECHO_T}$XRANDR_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $XRANDR_LIBS" >&5 -echo "${ECHO_T}$XRANDR_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $XRANDR_LIBS" >&5 +$as_echo "$XRANDR_LIBS" >&6; } else XRANDR_CFLAGS="" XRANDR_LIBS="" @@ -31143,32 +22224,17 @@ echo "${ECHO_T}$XRANDR_LIBS" >&6 if test "$ENABLE_RANDR" != "TRUE"; then if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 +$as_echo_n "checking for X11/extensions/Xrandr.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xrandr_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h usability" >&5 +$as_echo_n "checking X11/extensions/Xrandr.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -31179,71 +22245,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h presence" >&5 +$as_echo_n "checking X11/extensions/Xrandr.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -31252,147 +22285,86 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 +$as_echo_n "checking for X11/extensions/Xrandr.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_X11_extensions_Xrandr_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xrandr_h" >&6; } fi -if test $ac_cv_header_X11_extensions_Xrandr_h = yes; then +if test "x$ac_cv_header_X11_extensions_Xrandr_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&5 -echo "$as_me: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&2;} + { { $as_echo "$as_me:$LINENO: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&5 +$as_echo "$as_me: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&2;} { (exit 1); exit 1; }; } fi XRANDR_CFLAGS=" " -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for XRRQueryExtension in -lXrandr" >&5 -echo $ECHO_N "checking for XRRQueryExtension in -lXrandr... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for XRRQueryExtension in -lXrandr" >&5 -echo $ECHO_N "checking for XRRQueryExtension in -lXrandr... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for XRRQueryExtension in -lXrandr" >&5 +$as_echo_n "checking for XRRQueryExtension in -lXrandr... " >&6; } if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrandr $LIBS" @@ -31403,87 +22375,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRRQueryExtension (); int main () { -XRRQueryExtension (); +return XRRQueryExtension (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_Xrandr_XRRQueryExtension=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_Xrandr_XRRQueryExtension=no + ac_cv_lib_Xrandr_XRRQueryExtension=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRQueryExtension" >&6; } -if test $ac_cv_lib_Xrandr_XRRQueryExtension = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRQueryExtension" >&6 -if test $ac_cv_lib_Xrandr_XRRQueryExtension = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 +$as_echo "$ac_cv_lib_Xrandr_XRRQueryExtension" >&6; } +if test "x$ac_cv_lib_Xrandr_XRRQueryExtension" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRANDR 1 _ACEOF @@ -31491,90 +22434,53 @@ _ACEOF LIBS="-lXrandr $LIBS" else - { { echo "$as_me:$LINENO: error: libXrandr not found or functional" >&5 -echo "$as_me: error: libXrandr not found or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libXrandr not found or functional" >&5 +$as_echo "$as_me: error: libXrandr not found or functional" >&2;} { (exit 1); exit 1; }; } fi XRANDR_LIBS="-lXrandr " ENABLE_RANDR="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: enabling RandR support" >&5 -echo "${ECHO_T}enabling RandR support" >&6; } -======= - echo "$as_me:$LINENO: result: enabling RandR support" >&5 -echo "${ECHO_T}enabling RandR support" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: enabling RandR support" >&5 +$as_echo "enabling RandR support" >&6; } fi fi else ENABLE_RANDR="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to use neon" >&5 -echo $ECHO_N "checking whether to use neon... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to use neon" >&5 -echo $ECHO_N "checking whether to use neon... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to use neon" >&5 +$as_echo_n "checking whether to use neon... " >&6; } if test "$enable_neon" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } DISABLE_NEON=TRUE else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -{ echo "$as_me:$LINENO: checking which neon to use" >&5 -echo $ECHO_N "checking which neon to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -echo "$as_me:$LINENO: checking which neon to use" >&5 -echo $ECHO_N "checking which neon to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +{ $as_echo "$as_me:$LINENO: checking which neon to use" >&5 +$as_echo_n "checking which neon to use... " >&6; } if test -n "$with_system_neon" -o -n "$with_system_libs" && \ test "$with_system_neon" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -31587,38 +22493,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -31629,55 +22526,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for neon >= 0.24.0" >&5 -echo $ECHO_N "checking for neon >= 0.24.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for neon >= 0.24.0" >&5 -echo $ECHO_N "checking for neon >= 0.24.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for neon >= 0.24.0" >&5 +$as_echo_n "checking for neon >= 0.24.0... " >&6; } if $PKG_CONFIG --exists "neon >= 0.24.0" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking NEON_CFLAGS" >&5 -echo $ECHO_N "checking NEON_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking NEON_CFLAGS" >&5 -echo $ECHO_N "checking NEON_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking NEON_CFLAGS" >&5 +$as_echo_n "checking NEON_CFLAGS... " >&6; } NEON_CFLAGS=`$PKG_CONFIG --cflags "neon >= 0.24.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $NEON_CFLAGS" >&5 -echo "${ECHO_T}$NEON_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $NEON_CFLAGS" >&5 -echo "${ECHO_T}$NEON_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking NEON_LIBS" >&5 -echo $ECHO_N "checking NEON_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking NEON_LIBS" >&5 -echo $ECHO_N "checking NEON_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $NEON_CFLAGS" >&5 +$as_echo "$NEON_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking NEON_LIBS" >&5 +$as_echo_n "checking NEON_LIBS... " >&6; } NEON_LIBS=`$PKG_CONFIG --libs "neon >= 0.24.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $NEON_LIBS" >&5 -echo "${ECHO_T}$NEON_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $NEON_LIBS" >&5 -echo "${ECHO_T}$NEON_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $NEON_LIBS" >&5 +$as_echo "$NEON_LIBS" >&6; } else NEON_CFLAGS="" NEON_LIBS="" @@ -31698,8 +22565,8 @@ echo "${ECHO_T}$NEON_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: you need neon >= 0.24.x for system-neon" >&5 -echo "$as_me: error: you need neon >= 0.24.x for system-neon" >&2;} + { { $as_echo "$as_me:$LINENO: error: you need neon >= 0.24.x for system-neon" >&5 +$as_echo "$as_me: error: you need neon >= 0.24.x for system-neon" >&2;} { (exit 1); exit 1; }; } fi @@ -31707,13 +22574,8 @@ echo "$as_me: error: you need neon >= 0.24.x for system-neon" >&2;} NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1" SYSTEM_NEON=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_NEON=NO NEON_LIBS=-lneon NEON_CFLAGS= @@ -31722,22 +22584,12 @@ fi if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then with_system_openssl=yes fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which libssl to use" >&5 -echo $ECHO_N "checking which libssl to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which libssl to use" >&5 -echo $ECHO_N "checking which libssl to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which libssl to use" >&5 +$as_echo_n "checking which libssl to use... " >&6; } if test -n "$with_system_openssl" -o -n "$with_system_libs" && \ test "$with_system_openssl" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } # Mac OS builds should get out without extra stuff is the Mac porters' # wish. And pkg-config is although Xcode ships a .pc for openssl if test "$_os" = "Darwin"; then @@ -31750,15 +22602,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -31771,38 +22618,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -31813,55 +22651,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for openssl " >&5 -echo $ECHO_N "checking for openssl ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for openssl " >&5 -echo $ECHO_N "checking for openssl ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for openssl " >&5 +$as_echo_n "checking for openssl ... " >&6; } if $PKG_CONFIG --exists "openssl " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking OPENSSL_CFLAGS" >&5 -echo $ECHO_N "checking OPENSSL_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking OPENSSL_CFLAGS" >&5 -echo $ECHO_N "checking OPENSSL_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking OPENSSL_CFLAGS" >&5 +$as_echo_n "checking OPENSSL_CFLAGS... " >&6; } OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $OPENSSL_CFLAGS" >&5 -echo "${ECHO_T}$OPENSSL_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $OPENSSL_CFLAGS" >&5 -echo "${ECHO_T}$OPENSSL_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking OPENSSL_LIBS" >&5 -echo $ECHO_N "checking OPENSSL_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking OPENSSL_LIBS" >&5 -echo $ECHO_N "checking OPENSSL_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $OPENSSL_CFLAGS" >&5 +$as_echo "$OPENSSL_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking OPENSSL_LIBS" >&5 +$as_echo_n "checking OPENSSL_LIBS... " >&6; } OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $OPENSSL_LIBS" >&5 -echo "${ECHO_T}$OPENSSL_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $OPENSSL_LIBS" >&5 -echo "${ECHO_T}$OPENSSL_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $OPENSSL_LIBS" >&5 +$as_echo "$OPENSSL_LIBS" >&6; } else OPENSSL_CFLAGS="" OPENSSL_LIBS="" @@ -31882,21 +22690,16 @@ echo "${ECHO_T}$OPENSSL_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi fi SYSTEM_OPENSSL=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_OPENSSL=NO BUILD_TYPE="$BUILD_TYPE OPENSSL" fi @@ -31910,63 +22713,33 @@ fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable agg" >&5 -echo $ECHO_N "checking whether to enable agg... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable agg" >&5 -echo $ECHO_N "checking whether to enable agg... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable agg" >&5 +$as_echo_n "checking whether to enable agg... " >&6; } if test "$with_agg" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +else + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_AGG=YES -<<<<<<< .working - { echo "$as_me:$LINENO: checking which AGG to use" >&5 -echo $ECHO_N "checking which AGG to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which AGG to use" >&5 -echo $ECHO_N "checking which AGG to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which AGG to use" >&5 +$as_echo_n "checking which AGG to use... " >&6; } if test -n "$with_system_agg" -o -n "$with_system_libs" && \ test "$with_system_agg" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -31979,38 +22752,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -32021,55 +22785,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for libagg >= 2.3" >&5 -echo $ECHO_N "checking for libagg >= 2.3... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for libagg >= 2.3" >&5 -echo $ECHO_N "checking for libagg >= 2.3... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for libagg >= 2.3" >&5 +$as_echo_n "checking for libagg >= 2.3... " >&6; } if $PKG_CONFIG --exists "libagg >= 2.3" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking AGG_CFLAGS" >&5 -echo $ECHO_N "checking AGG_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking AGG_CFLAGS" >&5 -echo $ECHO_N "checking AGG_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking AGG_CFLAGS" >&5 +$as_echo_n "checking AGG_CFLAGS... " >&6; } AGG_CFLAGS=`$PKG_CONFIG --cflags "libagg >= 2.3"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $AGG_CFLAGS" >&5 -echo "${ECHO_T}$AGG_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $AGG_CFLAGS" >&5 -echo "${ECHO_T}$AGG_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking AGG_LIBS" >&5 -echo $ECHO_N "checking AGG_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking AGG_LIBS" >&5 -echo $ECHO_N "checking AGG_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $AGG_CFLAGS" >&5 +$as_echo "$AGG_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking AGG_LIBS" >&5 +$as_echo_n "checking AGG_LIBS... " >&6; } AGG_LIBS=`$PKG_CONFIG --libs "libagg >= 2.3"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $AGG_LIBS" >&5 -echo "${ECHO_T}$AGG_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $AGG_LIBS" >&5 -echo "${ECHO_T}$AGG_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $AGG_LIBS" >&5 +$as_echo "$AGG_LIBS" >&6; } else AGG_CFLAGS="" AGG_LIBS="" @@ -32090,18 +22824,13 @@ echo "${ECHO_T}$AGG_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking agg version" >&5 -echo $ECHO_N "checking agg version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking agg version" >&5 -echo $ECHO_N "checking agg version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking agg version" >&5 +$as_echo_n "checking agg version... " >&6; } # workaround; if AGG_CFLAGS is empty (broken libagg.pc in 2.3), add /usr/include/agg2 anyway # (/usr/include gets stripped from pkg-config output) if test -z "$AGG_CFLAGS" || test "$AGG_CFLAGS" = " "; then @@ -32113,38 +22842,23 @@ echo $ECHO_N "checking agg version... $ECHO_C" >&6 $PKG_CONFIG --modversion libagg | grep -q 2.4; then # 2.4's libagg.pc.in still contains 2.3 :/ if $EGREP -q "Version 2.4" `echo $AGG_INCDIR`/agg_basics.h; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: 2.4" >&5 -echo "${ECHO_T}2.4" >&6; } -======= - echo "$as_me:$LINENO: result: 2.4" >&5 -echo "${ECHO_T}2.4" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: 2.4" >&5 +$as_echo "2.4" >&6; } AGG_VERSION=2400 else -<<<<<<< .working - { echo "$as_me:$LINENO: result: 2.3" >&5 -echo "${ECHO_T}2.3" >&6; } -======= - echo "$as_me:$LINENO: result: 2.3" >&5 -echo "${ECHO_T}2.3" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: 2.3" >&5 +$as_echo "2.3" >&6; } AGG_VERSION=2300 fi SYSTEM_AGG=YES else - { { echo "$as_me:$LINENO: error: only agg 2.3 and 2.4 are supported" >&5 -echo "$as_me: error: only agg 2.3 and 2.4 are supported" >&2;} + { { $as_echo "$as_me:$LINENO: error: only agg 2.3 and 2.4 are supported" >&5 +$as_echo "$as_me: error: only agg 2.3 and 2.4 are supported" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_AGG=NO AGG_VERSION=2300 BUILD_TYPE="$BUILD_TYPE AGG" @@ -32153,22 +22867,12 @@ echo "${ECHO_T}internal" >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which redland library to use" >&5 -echo $ECHO_N "checking which redland library to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which redland library to use" >&5 -echo $ECHO_N "checking which redland library to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which redland library to use" >&5 +$as_echo_n "checking which redland library to use... " >&6; } if test -n "$with_system_redland" && \ test "$with_system_redland" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_REDLAND=YES succeeded=no @@ -32176,15 +22880,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -32197,38 +22896,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -32239,55 +22929,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for redland" >&5 -echo $ECHO_N "checking for redland... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for redland" >&5 -echo $ECHO_N "checking for redland... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for redland" >&5 +$as_echo_n "checking for redland... " >&6; } if $PKG_CONFIG --exists "redland" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking REDLAND_CFLAGS" >&5 -echo $ECHO_N "checking REDLAND_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking REDLAND_CFLAGS" >&5 -echo $ECHO_N "checking REDLAND_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking REDLAND_CFLAGS" >&5 +$as_echo_n "checking REDLAND_CFLAGS... " >&6; } REDLAND_CFLAGS=`$PKG_CONFIG --cflags "redland"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $REDLAND_CFLAGS" >&5 -echo "${ECHO_T}$REDLAND_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $REDLAND_CFLAGS" >&5 -echo "${ECHO_T}$REDLAND_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking REDLAND_LIBS" >&5 -echo $ECHO_N "checking REDLAND_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking REDLAND_LIBS" >&5 -echo $ECHO_N "checking REDLAND_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $REDLAND_CFLAGS" >&5 +$as_echo "$REDLAND_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking REDLAND_LIBS" >&5 +$as_echo_n "checking REDLAND_LIBS... " >&6; } REDLAND_LIBS=`$PKG_CONFIG --libs "redland"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $REDLAND_LIBS" >&5 -echo "${ECHO_T}$REDLAND_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $REDLAND_LIBS" >&5 -echo "${ECHO_T}$REDLAND_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $REDLAND_LIBS" >&5 +$as_echo "$REDLAND_LIBS" >&6; } else REDLAND_CFLAGS="" REDLAND_LIBS="" @@ -32308,43 +22968,28 @@ echo "${ECHO_T}$REDLAND_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE REDLAND" SYSTEM_REDLAND=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which libhunspell to use" >&5 -echo $ECHO_N "checking which libhunspell to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which libhunspell to use" >&5 -echo $ECHO_N "checking which libhunspell to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which libhunspell to use" >&5 +$as_echo_n "checking which libhunspell to use... " >&6; } if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \ test "$with_system_hunspell" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HUNSPELL=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -32356,15 +23001,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -32377,38 +23017,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -32419,55 +23050,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hunspell" >&5 -echo $ECHO_N "checking for hunspell... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hunspell" >&5 -echo $ECHO_N "checking for hunspell... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hunspell" >&5 +$as_echo_n "checking for hunspell... " >&6; } if $PKG_CONFIG --exists "hunspell" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking HUNSPELL_CFLAGS" >&5 -echo $ECHO_N "checking HUNSPELL_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking HUNSPELL_CFLAGS" >&5 -echo $ECHO_N "checking HUNSPELL_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking HUNSPELL_CFLAGS" >&5 +$as_echo_n "checking HUNSPELL_CFLAGS... " >&6; } HUNSPELL_CFLAGS=`$PKG_CONFIG --cflags "hunspell"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $HUNSPELL_CFLAGS" >&5 -echo "${ECHO_T}$HUNSPELL_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $HUNSPELL_CFLAGS" >&5 -echo "${ECHO_T}$HUNSPELL_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking HUNSPELL_LIBS" >&5 -echo $ECHO_N "checking HUNSPELL_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking HUNSPELL_LIBS" >&5 -echo $ECHO_N "checking HUNSPELL_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $HUNSPELL_CFLAGS" >&5 +$as_echo "$HUNSPELL_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking HUNSPELL_LIBS" >&5 +$as_echo_n "checking HUNSPELL_LIBS... " >&6; } HUNSPELL_LIBS=`$PKG_CONFIG --libs "hunspell"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $HUNSPELL_LIBS" >&5 -echo "${ECHO_T}$HUNSPELL_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $HUNSPELL_LIBS" >&5 -echo "${ECHO_T}$HUNSPELL_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $HUNSPELL_LIBS" >&5 +$as_echo "$HUNSPELL_LIBS" >&6; } else HUNSPELL_CFLAGS="" HUNSPELL_LIBS="" @@ -32493,32 +23094,17 @@ echo "${ECHO_T}$HUNSPELL_LIBS" >&6 if test "$HUNSPELL_PC" != "TRUE"; then if test "${ac_cv_header_hunspell_hxx+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 +$as_echo_n "checking for hunspell.hxx... " >&6; } if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 +$as_echo "$ac_cv_header_hunspell_hxx" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell.hxx usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell.hxx usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hunspell.hxx usability" >&5 +$as_echo_n "checking hunspell.hxx usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -32529,71 +23115,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell.hxx presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell.hxx presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hunspell.hxx presence" >&5 +$as_echo_n "checking hunspell.hxx presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -32602,158 +23155,87 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 +$as_echo_n "checking for hunspell.hxx... " >&6; } if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_hunspell_hxx=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 +$as_echo "$ac_cv_header_hunspell_hxx" >&6; } fi -if test $ac_cv_header_hunspell_hxx = yes; then +if test "x$ac_cv_header_hunspell_hxx" = x""yes; then : else if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 +$as_echo_n "checking for hunspell/hunspell.hxx... " >&6; } if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 +$as_echo "$ac_cv_header_hunspell_hunspell_hxx" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hunspell/hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hunspell/hunspell.hxx usability" >&5 +$as_echo_n "checking hunspell/hunspell.hxx usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -32764,71 +23246,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hunspell/hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hunspell/hunspell.hxx presence" >&5 +$as_echo_n "checking hunspell/hunspell.hxx presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -32837,132 +23286,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 +$as_echo_n "checking for hunspell/hunspell.hxx... " >&6; } if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_hunspell_hunspell_hxx=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 +$as_echo "$ac_cv_header_hunspell_hunspell_hxx" >&6; } fi -if test $ac_cv_header_hunspell_hunspell_hxx = yes; then +if test "x$ac_cv_header_hunspell_hunspell_hxx" = x""yes; then HUNSPELL_CFLAGS=-I/usr/include/hunspell else - { { echo "$as_me:$LINENO: error: hunspell headers not found." >&5 -echo "$as_me: error: hunspell headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: hunspell headers not found." >&5 +$as_echo "$as_me: error: hunspell headers not found." >&2;} { (exit 1); exit 1; }; } fi @@ -32972,15 +23365,10 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lhunspell" >&5 -echo $ECHO_N "checking for main in -lhunspell... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lhunspell" >&5 -echo $ECHO_N "checking for main in -lhunspell... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lhunspell" >&5 +$as_echo_n "checking for main in -lhunspell... " >&6; } if test "${ac_cv_lib_hunspell_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhunspell $LIBS" @@ -32995,77 +23383,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_hunspell_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_hunspell_main=no + ac_cv_lib_hunspell_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_hunspell_main" >&5 -echo "${ECHO_T}$ac_cv_lib_hunspell_main" >&6; } -if test $ac_cv_lib_hunspell_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_hunspell_main" >&5 -echo "${ECHO_T}$ac_cv_lib_hunspell_main" >&6 -if test $ac_cv_lib_hunspell_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_hunspell_main" >&5 +$as_echo "$ac_cv_lib_hunspell_main" >&6; } +if test "x$ac_cv_lib_hunspell_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBHUNSPELL 1 _ACEOF @@ -33073,8 +23432,8 @@ _ACEOF LIBS="-lhunspell $LIBS" else - { { echo "$as_me:$LINENO: error: hunspell library not found." >&5 -echo "$as_me: error: hunspell library not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: hunspell library not found." >&5 +$as_echo "$as_me: error: hunspell library not found." >&2;} { (exit 1); exit 1; }; } fi @@ -33087,13 +23446,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HUNSPELL=NO BUILD_TYPE="$BUILD_TYPE HUNSPELL" fi @@ -33101,50 +23455,25 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which altlinuxhyph to use" >&5 -echo $ECHO_N "checking which altlinuxhyph to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which altlinuxhyph to use" >&5 -echo $ECHO_N "checking which altlinuxhyph to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which altlinuxhyph to use" >&5 +$as_echo_n "checking which altlinuxhyph to use... " >&6; } if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \ test "$with_system_altlinuxhyph" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HYPH=YES if test "${ac_cv_header_hyphen_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hyphen.h" >&5 +$as_echo_n "checking for hyphen.h... " >&6; } if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 +$as_echo "$ac_cv_header_hyphen_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hyphen.h usability" >&5 -echo $ECHO_N "checking hyphen.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hyphen.h usability" >&5 -echo $ECHO_N "checking hyphen.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hyphen.h usability" >&5 +$as_echo_n "checking hyphen.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -33155,71 +23484,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking hyphen.h presence" >&5 -echo $ECHO_N "checking hyphen.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking hyphen.h presence" >&5 -echo $ECHO_N "checking hyphen.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking hyphen.h presence" >&5 +$as_echo_n "checking hyphen.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -33228,145 +23524,84 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: hyphen.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: hyphen.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hyphen.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hyphen.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hyphen.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hyphen.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: hyphen.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hyphen.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hyphen.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hyphen.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hyphen.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: hyphen.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: hyphen.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: hyphen.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: hyphen.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: hyphen.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: hyphen.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for hyphen.h" >&5 +$as_echo_n "checking for hyphen.h... " >&6; } if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_hyphen_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 +$as_echo "$ac_cv_header_hyphen_h" >&6; } fi -if test $ac_cv_header_hyphen_h = yes; then +if test "x$ac_cv_header_hyphen_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: altlinuxhyph headers not found." >&5 -echo "$as_me: error: altlinuxhyph headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: altlinuxhyph headers not found." >&5 +$as_echo "$as_me: error: altlinuxhyph headers not found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for struct _HyphenDict.cset" >&5 -echo $ECHO_N "checking for struct _HyphenDict.cset... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for struct _HyphenDict.cset" >&5 -echo $ECHO_N "checking for struct _HyphenDict.cset... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for struct _HyphenDict.cset" >&5 +$as_echo_n "checking for struct _HyphenDict.cset... " >&6; } if test "${ac_cv_member_struct__HyphenDict_cset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -33387,51 +23622,29 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_cv_member_struct__HyphenDict_cset=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -33450,81 +23663,50 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest.$ac_objext; then ac_cv_member_struct__HyphenDict_cset=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_member_struct__HyphenDict_cset=no + ac_cv_member_struct__HyphenDict_cset=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct__HyphenDict_cset" >&5 -echo "${ECHO_T}$ac_cv_member_struct__HyphenDict_cset" >&6; } -if test $ac_cv_member_struct__HyphenDict_cset = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_member_struct__HyphenDict_cset" >&5 -echo "${ECHO_T}$ac_cv_member_struct__HyphenDict_cset" >&6 -if test $ac_cv_member_struct__HyphenDict_cset = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct__HyphenDict_cset" >&5 +$as_echo "$ac_cv_member_struct__HyphenDict_cset" >&6; } +if test "x$ac_cv_member_struct__HyphenDict_cset" = x""yes; then : else - { { echo "$as_me:$LINENO: error: no. You are sure you have altlinuyhyph headers?" >&5 -echo "$as_me: error: no. You are sure you have altlinuyhyph headers?" >&2;} + { { $as_echo "$as_me:$LINENO: error: no. You are sure you have altlinuyhyph headers?" >&5 +$as_echo "$as_me: error: no. You are sure you have altlinuyhyph headers?" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyphen... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyphen... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyphen... " >&6; } if test "${ac_cv_lib_hyphen_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyphen $LIBS" @@ -33535,104 +23717,70 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6; } -if test $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2 = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2 = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" = x""yes; then HYPHEN_LIB=-lhyphen else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} + { { $as_echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 +$as_echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} { (exit 1); exit 1; }; } fi if test -z "$HYPHEN_LIB"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyph... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyph... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyph... " >&6; } if test "${ac_cv_lib_hyph_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyph $LIBS" @@ -33643,105 +23791,71 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_hyph_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6; } -if test $ac_cv_lib_hyph_hnj_hyphen_hyphenate2 = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyph_hnj_hyphen_hyphenate2 = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" = x""yes; then HYPHEN_LIB=-lhyph else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} + { { $as_echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 +$as_echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} { (exit 1); exit 1; }; } fi fi if test -z "$HYPHEN_LIB"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhnj... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhnj... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhnj... " >&6; } if test "${ac_cv_lib_hnj_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhnj $LIBS" @@ -33752,151 +23866,92 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_hnj_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no + ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6; } -if test $ac_cv_lib_hnj_hnj_hyphen_hyphenate2 = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hnj_hnj_hyphen_hyphenate2 = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" = x""yes; then HYPHEN_LIB=-lhnj else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} + { { $as_echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 +$as_echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HYPH=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which mythes to use" >&5 -echo $ECHO_N "checking which mythes to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which mythes to use" >&5 -echo $ECHO_N "checking which mythes to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which mythes to use" >&5 +$as_echo_n "checking which mythes to use... " >&6; } if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MYTHES=YES if test "${ac_cv_header_mythes_hxx+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for mythes.hxx" >&5 +$as_echo_n "checking for mythes.hxx... " >&6; } if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 +$as_echo "$ac_cv_header_mythes_hxx" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking mythes.hxx usability" >&5 -echo $ECHO_N "checking mythes.hxx usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking mythes.hxx usability" >&5 -echo $ECHO_N "checking mythes.hxx usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking mythes.hxx usability" >&5 +$as_echo_n "checking mythes.hxx usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -33907,71 +23962,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking mythes.hxx presence" >&5 -echo $ECHO_N "checking mythes.hxx presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking mythes.hxx presence" >&5 -echo $ECHO_N "checking mythes.hxx presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking mythes.hxx presence" >&5 +$as_echo_n "checking mythes.hxx presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -33980,146 +24002,85 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: mythes.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mythes.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mythes.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mythes.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: mythes.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mythes.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mythes.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mythes.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for mythes.hxx" >&5 +$as_echo_n "checking for mythes.hxx... " >&6; } if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_mythes_hxx=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 +$as_echo "$ac_cv_header_mythes_hxx" >&6; } fi -if test $ac_cv_header_mythes_hxx = yes; then +if test "x$ac_cv_header_mythes_hxx" = x""yes; then : else - { { echo "$as_me:$LINENO: error: mythes.hxx headers not found." >&5 -echo "$as_me: error: mythes.hxx headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: mythes.hxx headers not found." >&5 +$as_echo "$as_me: error: mythes.hxx headers not found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lmythes" >&5 -echo $ECHO_N "checking for main in -lmythes... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lmythes" >&5 -echo $ECHO_N "checking for main in -lmythes... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lmythes" >&5 +$as_echo_n "checking for main in -lmythes... " >&6; } if test "${ac_cv_lib_mythes_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmythes $LIBS" @@ -34134,77 +24095,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mythes_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_mythes_main=no + ac_cv_lib_mythes_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_mythes_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mythes_main" >&6; } -if test $ac_cv_lib_mythes_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_mythes_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mythes_main" >&6 -if test $ac_cv_lib_mythes_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mythes_main" >&5 +$as_echo "$ac_cv_lib_mythes_main" >&6; } +if test "x$ac_cv_lib_mythes_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBMYTHES 1 _ACEOF @@ -34212,67 +24144,37 @@ _ACEOF LIBS="-lmythes $LIBS" else - { { echo "$as_me:$LINENO: error: mythes library not found." >&5 -echo "$as_me: error: mythes library not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: mythes library not found." >&5 +$as_echo "$as_me: error: mythes library not found." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MYTHES=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which lpsolve to use" >&5 -echo $ECHO_N "checking which lpsolve to use... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which lpsolve to use" >&5 -echo $ECHO_N "checking which lpsolve to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which lpsolve to use" >&5 +$as_echo_n "checking which lpsolve to use... " >&6; } if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \ test "$with_system_lpsolve" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LPSOLVE=YES if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 +$as_echo_n "checking for lpsolve/lp_lib.h... " >&6; } if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 +$as_echo "$ac_cv_header_lpsolve_lp_lib_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking lpsolve/lp_lib.h usability" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h usability" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking lpsolve/lp_lib.h usability" >&5 +$as_echo_n "checking lpsolve/lp_lib.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -34283,71 +24185,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking lpsolve/lp_lib.h presence" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h presence" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking lpsolve/lp_lib.h presence" >&5 +$as_echo_n "checking lpsolve/lp_lib.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -34356,146 +24225,85 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 +$as_echo_n "checking for lpsolve/lp_lib.h... " >&6; } if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_lpsolve_lp_lib_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 +$as_echo "$ac_cv_header_lpsolve_lp_lib_h" >&6; } fi -if test $ac_cv_header_lpsolve_lp_lib_h = yes; then +if test "x$ac_cv_header_lpsolve_lp_lib_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: lpsolve headers not found." >&5 -echo "$as_me: error: lpsolve headers not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: lpsolve headers not found." >&5 +$as_echo "$as_me: error: lpsolve headers not found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5 -echo $ECHO_N "checking for make_lp in -llpsolve55... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5 -echo $ECHO_N "checking for make_lp in -llpsolve55... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5 +$as_echo_n "checking for make_lp in -llpsolve55... " >&6; } if test "${ac_cv_lib_lpsolve55_make_lp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llpsolve55 $LIBS" @@ -34506,87 +24314,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char make_lp (); int main () { -make_lp (); +return make_lp (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_lpsolve55_make_lp=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_lpsolve55_make_lp=no + ac_cv_lib_lpsolve55_make_lp=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_lpsolve55_make_lp" >&5 -echo "${ECHO_T}$ac_cv_lib_lpsolve55_make_lp" >&6; } -if test $ac_cv_lib_lpsolve55_make_lp = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_lpsolve55_make_lp" >&5 -echo "${ECHO_T}$ac_cv_lib_lpsolve55_make_lp" >&6 -if test $ac_cv_lib_lpsolve55_make_lp = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_lpsolve55_make_lp" >&5 +$as_echo "$ac_cv_lib_lpsolve55_make_lp" >&6; } +if test "x$ac_cv_lib_lpsolve55_make_lp" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBLPSOLVE55 1 _ACEOF @@ -34594,42 +24373,27 @@ _ACEOF LIBS="-llpsolve55 $LIBS" else - { { echo "$as_me:$LINENO: error: lpsolve library not found or too old." >&5 -echo "$as_me: error: lpsolve library not found or too old." >&2;} + { { $as_echo "$as_me:$LINENO: error: lpsolve library not found or too old." >&5 +$as_echo "$as_me: error: lpsolve library not found or too old." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LPSOLVE=NO BUILD_TYPE="$BUILD_TYPE LPSOLVE" fi if test "$_os" = "Linux"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether libc is >= 2.1.1" >&5 -echo $ECHO_N "checking whether libc is >= 2.1.1... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether libc is >= 2.1.1" >&5 -echo $ECHO_N "checking whether libc is >= 2.1.1... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether libc is >= 2.1.1" >&5 +$as_echo_n "checking whether libc is >= 2.1.1... " >&6; } exec 6>/dev/null # no output -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gnu_get_libc_version in -lc" >&5 -echo $ECHO_N "checking for gnu_get_libc_version in -lc... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gnu_get_libc_version in -lc" >&5 -echo $ECHO_N "checking for gnu_get_libc_version in -lc... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gnu_get_libc_version in -lc" >&5 +$as_echo_n "checking for gnu_get_libc_version in -lc... " >&6; } if test "${ac_cv_lib_c_gnu_get_libc_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" @@ -34640,114 +24404,75 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gnu_get_libc_version (); int main () { -gnu_get_libc_version (); +return gnu_get_libc_version (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_c_gnu_get_libc_version=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_c_gnu_get_libc_version=no + ac_cv_lib_c_gnu_get_libc_version=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 -echo "${ECHO_T}$ac_cv_lib_c_gnu_get_libc_version" >&6; } -if test $ac_cv_lib_c_gnu_get_libc_version = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 -echo "${ECHO_T}$ac_cv_lib_c_gnu_get_libc_version" >&6 -if test $ac_cv_lib_c_gnu_get_libc_version = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 +$as_echo "$ac_cv_lib_c_gnu_get_libc_version" >&6; } +if test "x$ac_cv_lib_c_gnu_get_libc_version" = x""yes; then HAVE_LIBC=yes; export HAVE_LIBC fi exec 6>&1 # output on again if test "$HAVE_LIBC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, upgrade libc" >&5 -echo "$as_me: error: no, upgrade libc" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, upgrade libc" >&5 +$as_echo "$as_me: error: no, upgrade libc" >&2;} { (exit 1); exit 1; }; } fi fi if test \( "$_os" = "WINNT" \) ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for PSDK files" >&5 -echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for PSDK files" >&5 -echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for PSDK files" >&5 +$as_echo_n "checking for PSDK files... " >&6; } if test -z "$with_psdk_home"; then # This first line will detect a February 2003 Microsoft Platform SDK PSDK_HOME=`./oowintool --psdk-home` @@ -34768,13 +24493,13 @@ echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'` # Problem with current PSDK (iz 49865) if test -f "$PSDK_HOME/Lib/libcp.lib"; then - { { echo "$as_me:$LINENO: error: + { { $as_echo "$as_me:$LINENO: error: Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. Remove/rename/backup that file and restart configure. Details about this problem can be found in issue 49856." >&5 -echo "$as_me: error: +$as_echo "$as_me: error: Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. @@ -34796,9 +24521,9 @@ problem can be found in issue 49856." >&2;} HAVE_PSDK_LIB="no" fi if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then - { { echo "$as_me:$LINENO: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs + { { $as_echo "$as_me:$LINENO: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs are installed or use --with-psdk-home ." >&5 -echo "$as_me: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs +$as_echo "$as_me: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs are installed or use --with-psdk-home ." >&2;} { (exit 1); exit 1; }; } fi @@ -34806,56 +24531,31 @@ are installed or use --with-psdk-home ." >&2;} -o ! -x "$PSDK_HOME/bin/msidb.exe" \ -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \ -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then - { { echo "$as_me:$LINENO: error: Some (all) files of the Windows Installer SDK are missing, please install." >&5 -echo "$as_me: error: Some (all) files of the Windows Installer SDK are missing, please install." >&2;} + { { $as_echo "$as_me:$LINENO: error: Some (all) files of the Windows Installer SDK are missing, please install." >&5 +$as_echo "$as_me: error: Some (all) files of the Windows Installer SDK are missing, please install." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: SDK files found ...)" >&5 -echo "${ECHO_T}SDK files found ...)" >&6; } -======= - echo "$as_me:$LINENO: result: SDK files found ...)" >&5 -echo "${ECHO_T}SDK files found ...)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: SDK files found ...)" >&5 +$as_echo "SDK files found ...)" >&6; } if echo $PSDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.1 ($PSDK_HOME)" >&6; } -======= - echo "$as_me:$LINENO: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.1 ($PSDK_HOME)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.1 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE elif echo $PSDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.0 ($PSDK_HOME)" >&6; } -======= - echo "$as_me:$LINENO: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.0 ($PSDK_HOME)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.0 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE else -<<<<<<< .working - { echo "$as_me:$LINENO: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6; } -======= - echo "$as_me:$LINENO: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 +$as_echo "Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6; } fi fi if test \( "$_os" = "WINNT" \) ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for DirectX SDK files" >&5 -echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for DirectX SDK files" >&5 -echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for DirectX SDK files" >&5 +$as_echo_n "checking for DirectX SDK files... " >&6; } if test -z "$with_directx_home"; then if test -n "$DXSDK_DIR"; then DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"` @@ -34887,27 +24587,17 @@ echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 fi if test -n "$ENABLE_DIRECTX"; then if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&5 -echo "$as_me: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&2;} + { { $as_echo "$as_me:$LINENO: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&5 +$as_echo "$as_me: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&2;} { (exit 1); exit 1; }; } fi else DIRECTXSDK_HOME="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: disabled" >&5 -echo "${ECHO_T}disabled" >&6; } -======= - echo "$as_me:$LINENO: result: disabled" >&5 -echo "${ECHO_T}disabled" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: disabled" >&5 +$as_echo "disabled" >&6; } fi fi @@ -34915,24 +24605,14 @@ fi NSIS_PATH="" if test "$_os" = "WINNT" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for NSIS" >&5 -echo $ECHO_N "checking for NSIS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for NSIS" >&5 -echo $ECHO_N "checking for NSIS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for NSIS" >&5 +$as_echo_n "checking for NSIS... " >&6; } # Extract the first word of "nsis.exe", so it can be a program name with args. set dummy nsis.exe; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_NSIS_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $NSIS_PATH in [\\/]* | ?:[\\/]*) @@ -34945,37 +24625,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_NSIS_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi NSIS_PATH=$ac_cv_path_NSIS_PATH - if test -n "$NSIS_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $NSIS_PATH" >&5 -echo "${ECHO_T}$NSIS_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $NSIS_PATH" >&5 -echo "${ECHO_T}$NSIS_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $NSIS_PATH" >&5 +$as_echo "$NSIS_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$NSIS_PATH"; then NSIS_PATH=`dirname "$NSIS_PATH"` fi @@ -34990,34 +24661,24 @@ fi NSIS_PATH="$nsistest" fi if test -z "$NSIS_PATH"; then - { echo "$as_me:$LINENO: WARNING: NSIS not found, no self contained installer will be build." >&5 -echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} + { $as_echo "$as_me:$LINENO: WARNING: NSIS not found, no self contained installer will be build." >&5 +$as_echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} echo "NSIS not found, no self contained installer will be build." >> warn else NSIS_PATH=`cygpath -d "$NSIS_PATH"` NSIS_PATH=`cygpath -u "$NSIS_PATH"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: found ($NSIS_PATH)" >&5 -echo "${ECHO_T}found ($NSIS_PATH)" >&6; } -======= - echo "$as_me:$LINENO: result: found ($NSIS_PATH)" >&5 -echo "${ECHO_T}found ($NSIS_PATH)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found ($NSIS_PATH)" >&5 +$as_echo "found ($NSIS_PATH)" >&6; } fi fi # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_BISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $BISON in [\\/]* | ?:[\\/]*) @@ -35030,83 +24691,59 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi BISON=$ac_cv_path_BISON - if test -n "$BISON"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $BISON" >&5 -echo "${ECHO_T}$BISON" >&6; } -======= - echo "$as_me:$LINENO: result: $BISON" >&5 -echo "${ECHO_T}$BISON" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $BISON" >&5 +$as_echo "$BISON" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BISON"; then - { { echo "$as_me:$LINENO: error: no bison found in \$PATH, install bison" >&5 -echo "$as_me: error: no bison found in \$PATH, install bison" >&2;} + { { $as_echo "$as_me:$LINENO: error: no bison found in \$PATH, install bison" >&5 +$as_echo "$as_me: error: no bison found in \$PATH, install bison" >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: checking the bison version" >&5 -echo $ECHO_N "checking the bison version... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking the bison version" >&5 -echo $ECHO_N "checking the bison version... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking the bison version" >&5 +$as_echo_n "checking the bison version... " >&6; } _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'` # Accept newer than 1.875 or older(equal) than 1.75 if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then if test "$_bison_version" = "1.875" ; then - { echo "$as_me:$LINENO: WARNING: suspect ($BISON $_bison_version)" >&5 -echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: suspect ($BISON $_bison_version)" >&5 +$as_echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn else -<<<<<<< .working - { echo "$as_me:$LINENO: result: checked ($BISON $_bison_version)" >&5 -echo "${ECHO_T}checked ($BISON $_bison_version)" >&6; } -======= - echo "$as_me:$LINENO: result: checked ($BISON $_bison_version)" >&5 -echo "${ECHO_T}checked ($BISON $_bison_version)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: checked ($BISON $_bison_version)" >&5 +$as_echo "checked ($BISON $_bison_version)" >&6; } fi else - { { echo "$as_me:$LINENO: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&5 -echo "$as_me: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&2;} + { { $as_echo "$as_me:$LINENO: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&5 +$as_echo "$as_me: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&2;} { (exit 1); exit 1; }; } fi fi # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_FLEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $FLEX in [\\/]* | ?:[\\/]*) @@ -35119,53 +24756,39 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi FLEX=$ac_cv_path_FLEX - if test -n "$FLEX"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $FLEX" >&5 -echo "${ECHO_T}$FLEX" >&6; } -======= - echo "$as_me:$LINENO: result: $FLEX" >&5 -echo "${ECHO_T}$FLEX" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $FLEX" >&5 +$as_echo "$FLEX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$FLEX"; then - { { echo "$as_me:$LINENO: error: no flex found in \$PATH, install flex" >&5 -echo "$as_me: error: no flex found in \$PATH, install flex" >&2;} + { { $as_echo "$as_me:$LINENO: error: no flex found in \$PATH, install flex" >&5 +$as_echo "$as_me: error: no flex found in \$PATH, install flex" >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "patch", so it can be a program name with args. set dummy patch; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PATCH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PATCH in [\\/]* | ?:[\\/]*) @@ -35178,40 +24801,31 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PATCH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi PATCH=$ac_cv_path_PATCH - if test -n "$PATCH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PATCH" >&5 -echo "${ECHO_T}$PATCH" >&6; } -======= - echo "$as_me:$LINENO: result: $PATCH" >&5 -echo "${ECHO_T}$PATCH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PATCH" >&5 +$as_echo "$PATCH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$PATCH"; then - { { echo "$as_me:$LINENO: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&5 -echo "$as_me: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&2;} + { { $as_echo "$as_me:$LINENO: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&5 +$as_echo "$as_me: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&2;} { (exit 1); exit 1; }; } fi @@ -35222,30 +24836,20 @@ if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then if test -x "$with_gnu_patch"; then GNUPATCH=$with_gnu_patch else - { { echo "$as_me:$LINENO: error: --with-gnu-patch did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-patch did not point to an executable" >&2;} + { { $as_echo "$as_me:$LINENO: error: --with-gnu-patch did not point to an executable" >&5 +$as_echo "$as_me: error: --with-gnu-patch did not point to an executable" >&2;} { (exit 1); exit 1; }; } fi fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $GNUPATCH is GNU patch" >&5 -echo $ECHO_N "checking whether $GNUPATCH is GNU patch... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $GNUPATCH is GNU patch" >&5 -echo $ECHO_N "checking whether $GNUPATCH is GNU patch... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $GNUPATCH is GNU patch" >&5 +$as_echo_n "checking whether $GNUPATCH is GNU patch... " >&6; } if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&5 -echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&5 +$as_echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&2;} { (exit 1); exit 1; }; } fi @@ -35255,15 +24859,10 @@ echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-pa do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GNUCP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $GNUCP in [\\/]* | ?:[\\/]*) @@ -35276,92 +24875,63 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUCP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi GNUCP=$ac_cv_path_GNUCP - if test -n "$GNUCP"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNUCP" >&5 -echo "${ECHO_T}$GNUCP" >&6; } -======= - echo "$as_me:$LINENO: result: $GNUCP" >&5 -echo "${ECHO_T}$GNUCP" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNUCP" >&5 +$as_echo "$GNUCP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$GNUCP" && break done if test -z $GNUCP; then - { { echo "$as_me:$LINENO: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&2;} + { { $as_echo "$as_me:$LINENO: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&5 +$as_echo "$as_me: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&2;} { (exit 1); exit 1; }; } fi else if test -x "$with_gnu_cp"; then GNUCP=$with_gnu_cp else - { { echo "$as_me:$LINENO: error: --with-gnu-cp did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-cp did not point to an executable" >&2;} + { { $as_echo "$as_me:$LINENO: error: --with-gnu-cp did not point to an executable" >&5 +$as_echo "$as_me: error: --with-gnu-cp did not point to an executable" >&2;} { (exit 1); exit 1; }; } fi fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether $GNUCP is GNU cp" >&5 -echo $ECHO_N "checking whether $GNUCP is GNU cp... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether $GNUCP is GNU cp" >&5 -echo $ECHO_N "checking whether $GNUCP is GNU cp... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether $GNUCP is GNU cp" >&5 +$as_echo_n "checking whether $GNUCP is GNU cp... " >&6; } if $GNUCP --version 2>/dev/null | grep "Free Software Foundation" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else if $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$_os" = "Darwin"; then GNUCP='' -<<<<<<< .working - { echo "$as_me:$LINENO: result: no gnucp found - using the system's cp command" >&5 -echo "${ECHO_T}no gnucp found - using the system's cp command" >&6; } -======= - echo "$as_me:$LINENO: result: no gnucp found - using the system's cp command" >&5 -echo "${ECHO_T}no gnucp found - using the system's cp command" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no gnucp found - using the system's cp command" >&5 +$as_echo "no gnucp found - using the system's cp command" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&5 +$as_echo "$as_me: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&2;} { (exit 1); exit 1; }; } fi fi @@ -35375,15 +24945,10 @@ if test "$_os" = "WINNT"; then CYGWIN_PATH="" # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_CYGWIN_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $CYGWIN_PATH in [\\/]* | ?:[\\/]*) @@ -35396,37 +24961,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CYGWIN_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi CYGWIN_PATH=$ac_cv_path_CYGWIN_PATH - if test -n "$CYGWIN_PATH"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CYGWIN_PATH" >&5 -echo "${ECHO_T}$CYGWIN_PATH" >&6; } -======= - echo "$as_me:$LINENO: result: $CYGWIN_PATH" >&5 -echo "${ECHO_T}$CYGWIN_PATH" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CYGWIN_PATH" >&5 +$as_echo "$CYGWIN_PATH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + CYGWIN_PATH=`dirname "$CYGWIN_PATH"` fi if test -z "$CYGWIN_PATH"; then @@ -35435,28 +24991,18 @@ fi if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking ml.exe assembler path" >&5 -echo $ECHO_N "checking ml.exe assembler path... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking ml.exe assembler path" >&5 -echo $ECHO_N "checking ml.exe assembler path... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking ml.exe assembler path" >&5 +$as_echo_n "checking ml.exe assembler path... " >&6; } if test -n "$with_asm_home"; then with_asm_home=`cygpath -u "$with_asm_home"` fi if test ! -x "$with_asm_home/ml.exe"; then # Extract the first word of "ml.exe", so it can be a program name with args. set dummy ml.exe; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ML_EXE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $ML_EXE in [\\/]* | ?:[\\/]*) @@ -35469,50 +25015,36 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ML_EXE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi ML_EXE=$ac_cv_path_ML_EXE - if test -n "$ML_EXE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ML_EXE" >&5 -echo "${ECHO_T}$ML_EXE" >&6; } -======= - echo "$as_me:$LINENO: result: $ML_EXE" >&5 -echo "${ECHO_T}$ML_EXE" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ML_EXE" >&5 +$as_echo "$ML_EXE" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$ML_EXE"; then if test -x "$with_cl_home/bin/ml.exe"; then with_asm_home=$with_cl_home/bin -<<<<<<< .working - { echo "$as_me:$LINENO: result: found ($with_asm_home)" >&5 -echo "${ECHO_T}found ($with_asm_home)" >&6; } -======= - echo "$as_me:$LINENO: result: found ($with_asm_home)" >&5 -echo "${ECHO_T}found ($with_asm_home)" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found ($with_asm_home)" >&5 +$as_echo "found ($with_asm_home)" >&6; } else - { { echo "$as_me:$LINENO: error: Configure did not find ml.exe assembler." >&5 -echo "$as_me: error: Configure did not find ml.exe assembler." >&2;} + { { $as_echo "$as_me:$LINENO: error: Configure did not find ml.exe assembler." >&5 +$as_echo "$as_me: error: Configure did not find ml.exe assembler." >&2;} { (exit 1); exit 1; }; } fi else @@ -35524,13 +25056,8 @@ else fi ASM_HOME="$with_asm_home" if test -n "$ASM_HOME"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ASM_HOME" >&5 -echo "${ECHO_T}$ASM_HOME" >&6; } -======= - echo "$as_me:$LINENO: result: $ASM_HOME" >&5 -echo "${ECHO_T}$ASM_HOME" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ASM_HOME" >&5 +$as_echo "$ASM_HOME" >&6; } fi @@ -35547,15 +25074,10 @@ if test -n "$with_zip_home" ; then else # Extract the first word of "zip", so it can be a program name with args. set dummy zip; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $ZIP in [\\/]* | ?:[\\/]*) @@ -35568,48 +25090,34 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi ZIP=$ac_cv_path_ZIP - if test -n "$ZIP"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ZIP" >&5 -echo "${ECHO_T}$ZIP" >&6; } -======= - echo "$as_me:$LINENO: result: $ZIP" >&5 -echo "${ECHO_T}$ZIP" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ZIP" >&5 +$as_echo "$ZIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "unzip", so it can be a program name with args. set dummy unzip; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_UNZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $UNZIP in [\\/]* | ?:[\\/]*) @@ -35622,58 +25130,49 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi UNZIP=$ac_cv_path_UNZIP - if test -n "$UNZIP"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $UNZIP" >&5 -echo "${ECHO_T}$UNZIP" >&6; } -======= - echo "$as_me:$LINENO: result: $UNZIP" >&5 -echo "${ECHO_T}$UNZIP" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $UNZIP" >&5 +$as_echo "$UNZIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + ZIP_HOME=`dirname "$ZIP"` fi if test -z "$ZIP" -o -z "$UNZIP"; then - { { echo "$as_me:$LINENO: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&5 -echo "$as_me: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&2;} + { { $as_echo "$as_me:$LINENO: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&5 +$as_echo "$as_me: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&2;} { (exit 1); exit 1; }; } fi if test "$_os" = "WINNT"; then if test "$with_use_shell" = "4nt" ; then if test -z "`$ZIP -h | grep -i WinNT`" ; then -{ { echo "$as_me:$LINENO: error: $ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe. +{ { $as_echo "$as_me:$LINENO: error: $ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe. Probably there is a cygwin version in the path." >&5 -echo "$as_me: error: $ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe. +$as_echo "$as_me: error: $ZIP found in the path is not the required native Windows Version 2.3 of Info-ZIPs zip.exe. Probably there is a cygwin version in the path." >&2;} { (exit 1); exit 1; }; } fi else if test -n "`$ZIP -h | grep -i WinNT`" ; then -{ { echo "$as_me:$LINENO: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&5 -echo "$as_me: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&2;} +{ { $as_echo "$as_me:$LINENO: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&5 +$as_echo "$as_me: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&2;} { (exit 1); exit 1; }; } fi fi @@ -35681,28 +25180,18 @@ fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for unicows.dll" >&5 -echo $ECHO_N "checking for unicows.dll... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for unicows.dll" >&5 -echo $ECHO_N "checking for unicows.dll... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for unicows.dll" >&5 +$as_echo_n "checking for unicows.dll... " >&6; } if test -x ./external/unicows/unicows.dll; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. + { { $as_echo "$as_me:$LINENO: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. Get it from the Microsoft site and put it into external/unicows. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: ." >&5 -echo "$as_me: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. +$as_echo "$as_me: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. Get it from the Microsoft site and put it into external/unicows. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: @@ -35712,28 +25201,18 @@ may have to search Microsoft's website.) Last time it was seen at: fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for dbghelp.dll" >&5 -echo $ECHO_N "checking for dbghelp.dll... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for dbghelp.dll" >&5 -echo $ECHO_N "checking for dbghelp.dll... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for dbghelp.dll" >&5 +$as_echo_n "checking for dbghelp.dll... " >&6; } if test -x ./external/dbghelp/dbghelp.dll; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: dbghelp.dll is missing in external/dbghelp/. + { { $as_echo "$as_me:$LINENO: error: dbghelp.dll is missing in external/dbghelp/. Get it from the Microsoft site and put it into external/dbghelp. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: ." >&5 -echo "$as_me: error: dbghelp.dll is missing in external/dbghelp/. +$as_echo "$as_me: error: dbghelp.dll is missing in external/dbghelp/. Get it from the Microsoft site and put it into external/dbghelp. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: @@ -35746,34 +25225,24 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then if ./oowintool --msvc-copy-dlls ./external/msvcp ; then : else - { { echo "$as_me:$LINENO: error: oowintool failed to copy CRT" >&5 -echo "$as_me: error: oowintool failed to copy CRT" >&2;} + { { $as_echo "$as_me:$LINENO: error: oowintool failed to copy CRT" >&5 +$as_echo "$as_me: error: oowintool failed to copy CRT" >&2;} { (exit 1); exit 1; }; } fi fi if test "$_os" = "WINNT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gdiplus.dll" >&5 -echo $ECHO_N "checking for gdiplus.dll... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gdiplus.dll" >&5 -echo $ECHO_N "checking for gdiplus.dll... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gdiplus.dll" >&5 +$as_echo_n "checking for gdiplus.dll... " >&6; } if test -x ./external/gdiplus/gdiplus.dll; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: gdiplus.dll is missing in external/gdiplus/. + { { $as_echo "$as_me:$LINENO: error: gdiplus.dll is missing in external/gdiplus/. Get it from the Microsoft site and put it into external/gdiplus. You may have to search Microsoft's website. Last time it was seen at: ." >&5 -echo "$as_me: error: gdiplus.dll is missing in external/gdiplus/. +$as_echo "$as_me: error: gdiplus.dll is missing in external/gdiplus/. Get it from the Microsoft site and put it into external/gdiplus. You may have to search Microsoft's website. Last time it was seen at: ." >&2;} @@ -35787,21 +25256,11 @@ fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for instmsia.exe/instmsiw.exe" >&5 -echo $ECHO_N "checking for instmsia.exe/instmsiw.exe... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for instmsia.exe/instmsiw.exe" >&5 -echo $ECHO_N "checking for instmsia.exe/instmsiw.exe... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for instmsia.exe/instmsiw.exe" >&5 +$as_echo_n "checking for instmsia.exe/instmsiw.exe... " >&6; } if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6; } -======= - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found" >&5 +$as_echo "found" >&6; } else MSIAPATH=`/bin/find "$COMPATH/../.." -iname instmsia.exe | head -n 1` MSIWPATH=`/bin/find "$COMPATH/../.." -iname instmsiw.exe | head -n 1` @@ -35810,37 +25269,27 @@ echo "${ECHO_T}found" >&6 cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK" fi if test -z "$MSIACOPY" -o -z "$MSIWCOPY"; then - { { echo "$as_me:$LINENO: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. + { { $as_echo "$as_me:$LINENO: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. These programs are part of the Visual Studio installation and should be found in a directory similar to: \"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" As the automatic detection fails please copy the files to external/msi/." >&5 -echo "$as_me: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. +$as_echo "$as_me: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. These programs are part of the Visual Studio installation and should be found in a directory similar to: \"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" As the automatic detection fails please copy the files to external/msi/." >&2;} { (exit 1); exit 1; }; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: found and copied" >&5 -echo "${ECHO_T}found and copied" >&6; } -======= - echo "$as_me:$LINENO: result: found and copied" >&5 -echo "${ECHO_T}found and copied" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: found and copied" >&5 +$as_echo "found and copied" >&6; } fi fi fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5 -echo $ECHO_N "checking which VCLplugs shall be built... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5 -echo $ECHO_N "checking which VCLplugs shall be built... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5 +$as_echo_n "checking which VCLplugs shall be built... " >&6; } ENABLE_GTK="" if test "x$enable_gtk" = "xyes"; then ENABLE_GTK="TRUE" @@ -35863,56 +25312,31 @@ fi if test -z "$R"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -======= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $R" >&5 -echo "${ECHO_T}$R" >&6; } -======= - echo "$as_me:$LINENO: result: $R" >&5 -echo "${ECHO_T}$R" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $R" >&5 +$as_echo "$R" >&6; } fi ENABLE_GCONF="" -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable GConf support" >&5 -echo $ECHO_N "checking whether to enable GConf support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable GConf support" >&5 -echo $ECHO_N "checking whether to enable GConf support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable GConf support" >&5 +$as_echo_n "checking whether to enable GConf support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then ENABLE_GCONF="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -35925,38 +25349,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -35967,55 +25382,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -36036,55 +25421,35 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi ENABLE_GNOMEVFS="" -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable GNOME VFS support" >&5 -echo $ECHO_N "checking whether to enable GNOME VFS support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable GNOME VFS support" >&5 -echo $ECHO_N "checking whether to enable GNOME VFS support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable GNOME VFS support" >&5 +$as_echo_n "checking whether to enable GNOME VFS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then ENABLE_GNOMEVFS="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36097,38 +25462,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36139,55 +25495,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 -echo $ECHO_N "checking for gnome-vfs-2.0 >= 2.6.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 -echo $ECHO_N "checking for gnome-vfs-2.0 >= 2.6.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 +$as_echo_n "checking for gnome-vfs-2.0 >= 2.6.0 ... " >&6; } if $PKG_CONFIG --exists "gnome-vfs-2.0 >= 2.6.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GNOMEVFS_CFLAGS" >&5 -echo $ECHO_N "checking GNOMEVFS_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GNOMEVFS_CFLAGS" >&5 -echo $ECHO_N "checking GNOMEVFS_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GNOMEVFS_CFLAGS" >&5 +$as_echo_n "checking GNOMEVFS_CFLAGS... " >&6; } GNOMEVFS_CFLAGS=`$PKG_CONFIG --cflags "gnome-vfs-2.0 >= 2.6.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNOMEVFS_CFLAGS" >&5 -echo "${ECHO_T}$GNOMEVFS_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GNOMEVFS_CFLAGS" >&5 -echo "${ECHO_T}$GNOMEVFS_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GNOMEVFS_LIBS" >&5 -echo $ECHO_N "checking GNOMEVFS_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GNOMEVFS_LIBS" >&5 -echo $ECHO_N "checking GNOMEVFS_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNOMEVFS_CFLAGS" >&5 +$as_echo "$GNOMEVFS_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GNOMEVFS_LIBS" >&5 +$as_echo_n "checking GNOMEVFS_LIBS... " >&6; } GNOMEVFS_LIBS=`$PKG_CONFIG --libs "gnome-vfs-2.0 >= 2.6.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GNOMEVFS_LIBS" >&5 -echo "${ECHO_T}$GNOMEVFS_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GNOMEVFS_LIBS" >&5 -echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GNOMEVFS_LIBS" >&5 +$as_echo "$GNOMEVFS_LIBS" >&6; } else GNOMEVFS_CFLAGS="" GNOMEVFS_LIBS="" @@ -36208,8 +25534,8 @@ echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -36220,15 +25546,10 @@ echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; con if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36241,38 +25562,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36283,55 +25595,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -36352,20 +25634,15 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -36383,15 +25660,10 @@ if test "$test_gtk" = "yes"; then if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36404,38 +25676,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36446,55 +25709,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 -echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 -echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 +$as_echo_n "checking GTK_CFLAGS... " >&6; } GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 -echo "${ECHO_T}$GTK_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 -echo "${ECHO_T}$GTK_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GTK_LIBS" >&5 -echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GTK_LIBS" >&5 -echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 +$as_echo "$GTK_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GTK_LIBS" >&5 +$as_echo_n "checking GTK_LIBS... " >&6; } GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 -echo "${ECHO_T}$GTK_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 -echo "${ECHO_T}$GTK_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 +$as_echo "$GTK_LIBS" >&6; } else GTK_CFLAGS="" GTK_LIBS="" @@ -36515,8 +25748,8 @@ echo "${ECHO_T}$GTK_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&5 -echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&2;} + { { $as_echo "$as_me:$LINENO: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&5 +$as_echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&2;} { (exit 1); exit 1; }; } fi @@ -36527,37 +25760,22 @@ echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK" fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to enable DBUS support" >&5 -echo $ECHO_N "checking whether to enable DBUS support... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to enable DBUS support" >&5 -echo $ECHO_N "checking whether to enable DBUS support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to enable DBUS support" >&5 +$as_echo_n "checking whether to enable DBUS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then ENABLE_DBUS="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36570,38 +25788,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36612,55 +25821,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.70 " >&5 -echo $ECHO_N "checking for dbus-glib-1 >= 0.70 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.70 " >&5 -echo $ECHO_N "checking for dbus-glib-1 >= 0.70 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.70 " >&5 +$as_echo_n "checking for dbus-glib-1 >= 0.70 ... " >&6; } if $PKG_CONFIG --exists "dbus-glib-1 >= 0.70 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5 -echo $ECHO_N "checking DBUS_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5 -echo $ECHO_N "checking DBUS_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5 +$as_echo_n "checking DBUS_CFLAGS... " >&6; } DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= 0.70 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5 -echo "${ECHO_T}$DBUS_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5 -echo "${ECHO_T}$DBUS_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking DBUS_LIBS" >&5 -echo $ECHO_N "checking DBUS_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking DBUS_LIBS" >&5 -echo $ECHO_N "checking DBUS_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5 +$as_echo "$DBUS_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking DBUS_LIBS" >&5 +$as_echo_n "checking DBUS_LIBS... " >&6; } DBUS_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= 0.70 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5 -echo "${ECHO_T}$DBUS_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5 -echo "${ECHO_T}$DBUS_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5 +$as_echo "$DBUS_LIBS" >&6; } else DBUS_CFLAGS="" DBUS_LIBS="" @@ -36681,57 +25860,37 @@ echo "${ECHO_T}$DBUS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to enable GIO support" >&5 -echo $ECHO_N "checking whether to enable GIO support... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to enable GIO support" >&5 -echo $ECHO_N "checking whether to enable GIO support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to enable GIO support" >&5 +$as_echo_n "checking whether to enable GIO support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then if test "$ENABLE_GNOMEVFS" = "TRUE" ; then - { { echo "$as_me:$LINENO: error: please use --enable-gio only together with --disable-gnome-vfs." >&5 -echo "$as_me: error: please use --enable-gio only together with --disable-gnome-vfs." >&2;} + { { $as_echo "$as_me:$LINENO: error: please use --enable-gio only together with --disable-gnome-vfs." >&5 +$as_echo "$as_me: error: please use --enable-gio only together with --disable-gnome-vfs." >&2;} { (exit 1); exit 1; }; } fi ENABLE_GIO="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36744,38 +25903,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36786,55 +25936,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gio-2.0 " >&5 -echo $ECHO_N "checking for gio-2.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gio-2.0 " >&5 -echo $ECHO_N "checking for gio-2.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gio-2.0 " >&5 +$as_echo_n "checking for gio-2.0 ... " >&6; } if $PKG_CONFIG --exists "gio-2.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GIO_CFLAGS" >&5 -echo $ECHO_N "checking GIO_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GIO_CFLAGS" >&5 -echo $ECHO_N "checking GIO_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GIO_CFLAGS" >&5 +$as_echo_n "checking GIO_CFLAGS... " >&6; } GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GIO_CFLAGS" >&5 -echo "${ECHO_T}$GIO_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GIO_CFLAGS" >&5 -echo "${ECHO_T}$GIO_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GIO_LIBS" >&5 -echo $ECHO_N "checking GIO_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GIO_LIBS" >&5 -echo $ECHO_N "checking GIO_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GIO_CFLAGS" >&5 +$as_echo "$GIO_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GIO_LIBS" >&5 +$as_echo_n "checking GIO_LIBS... " >&6; } GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GIO_LIBS" >&5 -echo "${ECHO_T}$GIO_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GIO_LIBS" >&5 -echo "${ECHO_T}$GIO_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GIO_LIBS" >&5 +$as_echo "$GIO_LIBS" >&6; } else GIO_CFLAGS="" GIO_LIBS="" @@ -36855,19 +25975,14 @@ echo "${ECHO_T}$GIO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -36886,35 +26001,18 @@ SYSTEM_CAIRO="" if test "$test_cairo" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use cairo" >&5 -echo $ECHO_N "checking whether to use cairo... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use cairo" >&5 -echo $ECHO_N "checking whether to use cairo... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use cairo" >&5 +$as_echo_n "checking whether to use cairo... " >&6; } if test "x$enable_cairo" != "xno" ; then ENABLE_CAIRO="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking which cairo to use" >&5 -echo $ECHO_N "checking which cairo to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking which cairo to use" >&5 -echo $ECHO_N "checking which cairo to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: checking which cairo to use" >&5 +$as_echo_n "checking which cairo to use... " >&6; } if test -n "$with_system_cairo" -o -n "$with_system_libs" && \ test "$with_system_cairo" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CAIRO=YES @@ -36923,15 +26021,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -36944,38 +26037,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -36986,55 +26070,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for cairo >= 1.0.2 " >&5 -echo $ECHO_N "checking for cairo >= 1.0.2 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for cairo >= 1.0.2 " >&5 -echo $ECHO_N "checking for cairo >= 1.0.2 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for cairo >= 1.0.2 " >&5 +$as_echo_n "checking for cairo >= 1.0.2 ... " >&6; } if $PKG_CONFIG --exists "cairo >= 1.0.2 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 -echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 -echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 +$as_echo_n "checking CAIRO_CFLAGS... " >&6; } CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0.2 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 -echo "${ECHO_T}$CAIRO_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 -echo "${ECHO_T}$CAIRO_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 -echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 -echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 +$as_echo "$CAIRO_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 +$as_echo_n "checking CAIRO_LIBS... " >&6; } CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0.2 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 -echo "${ECHO_T}$CAIRO_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 -echo "${ECHO_T}$CAIRO_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 +$as_echo "$CAIRO_LIBS" >&6; } else CAIRO_CFLAGS="" CAIRO_LIBS="" @@ -37055,30 +26109,27 @@ echo "${ECHO_T}$CAIRO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then - { { echo "$as_me:$LINENO: error: Cairo library requires fontconfig." >&5 -echo "$as_me: error: Cairo library requires fontconfig." >&2;} + { { $as_echo "$as_me:$LINENO: error: Cairo library requires fontconfig." >&5 +$as_echo "$as_me: error: Cairo library requires fontconfig." >&2;} { (exit 1); exit 1; }; } fi if test "$with_system_xrender_headers" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether Xrender.h defines PictStandardA8" >&5 -echo $ECHO_N "checking whether Xrender.h defines PictStandardA8... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether Xrender.h defines PictStandardA8" >&5 -echo $ECHO_N "checking whether Xrender.h defines PictStandardA8... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether Xrender.h defines PictStandardA8" >&5 +$as_echo_n "checking whether Xrender.h defines PictStandardA8... " >&6; } if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -37099,80 +26150,56 @@ int main(int argc, char **argv) { _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, X headers too old." >&5 -echo "$as_me: error: no, X headers too old." >&2;} +{ { $as_echo "$as_me:$LINENO: error: no, X headers too old." >&5 +$as_echo "$as_me: error: no, X headers too old." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + fi else BUILD_TYPE="$BUILD_TYPE CAIRO" if test "$build_cpu" != "x86_64"; then BUILD_PIXMAN=YES fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -37183,50 +26210,25 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the OpenGL Transitions component" >&5 -echo $ECHO_N "checking whether to build the OpenGL Transitions component... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the OpenGL Transitions component" >&5 -echo $ECHO_N "checking whether to build the OpenGL Transitions component... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the OpenGL Transitions component" >&5 +$as_echo_n "checking whether to build the OpenGL Transitions component... " >&6; } ENABLE_OPENGL= if test "x$enable_opengl" != "xno" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } if test "${ac_cv_header_GL_gl_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5 +$as_echo_n "checking for GL/gl.h... " >&6; } if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 +$as_echo "$ac_cv_header_GL_gl_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking GL/gl.h usability" >&5 -echo $ECHO_N "checking GL/gl.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking GL/gl.h usability" >&5 -echo $ECHO_N "checking GL/gl.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking GL/gl.h usability" >&5 +$as_echo_n "checking GL/gl.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -37237,71 +26239,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking GL/gl.h presence" >&5 -echo $ECHO_N "checking GL/gl.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking GL/gl.h presence" >&5 -echo $ECHO_N "checking GL/gl.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking GL/gl.h presence" >&5 +$as_echo_n "checking GL/gl.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -37310,146 +26279,85 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5 +$as_echo_n "checking for GL/gl.h... " >&6; } if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_GL_gl_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 +$as_echo "$ac_cv_header_GL_gl_h" >&6; } fi -if test $ac_cv_header_GL_gl_h = yes; then +if test "x$ac_cv_header_GL_gl_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: OpenGL headers not found" >&5 -echo "$as_me: error: OpenGL headers not found" >&2;} + { { $as_echo "$as_me:$LINENO: error: OpenGL headers not found" >&5 +$as_echo "$as_me: error: OpenGL headers not found" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lGL" >&5 -echo $ECHO_N "checking for main in -lGL... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lGL" >&5 -echo $ECHO_N "checking for main in -lGL... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lGL" >&5 +$as_echo_n "checking for main in -lGL... " >&6; } if test "${ac_cv_lib_GL_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" @@ -37464,77 +26372,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_GL_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_GL_main=no + ac_cv_lib_GL_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_GL_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GL_main" >&6; } -if test $ac_cv_lib_GL_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_GL_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GL_main" >&6 -if test $ac_cv_lib_GL_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_GL_main" >&5 +$as_echo "$ac_cv_lib_GL_main" >&6; } +if test "x$ac_cv_lib_GL_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGL 1 _ACEOF @@ -37542,21 +26421,16 @@ _ACEOF LIBS="-lGL $LIBS" else - { { echo "$as_me:$LINENO: error: libGL not installed or functional" >&5 -echo "$as_me: error: libGL not installed or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libGL not installed or functional" >&5 +$as_echo "$as_me: error: libGL not installed or functional" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for main in -lGLU" >&5 -echo $ECHO_N "checking for main in -lGLU... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for main in -lGLU" >&5 -echo $ECHO_N "checking for main in -lGLU... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for main in -lGLU" >&5 +$as_echo_n "checking for main in -lGLU... " >&6; } if test "${ac_cv_lib_GLU_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" @@ -37571,77 +26445,48 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { -main (); +return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_GLU_main=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_GLU_main=no + ac_cv_lib_GLU_main=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GLU_main" >&6; } -if test $ac_cv_lib_GLU_main = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GLU_main" >&6 -if test $ac_cv_lib_GLU_main = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_main" >&5 +$as_echo "$ac_cv_lib_GLU_main" >&6; } +if test "x$ac_cv_lib_GLU_main" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBGLU 1 _ACEOF @@ -37649,113 +26494,58 @@ _ACEOF LIBS="-lGLU $LIBS" else - { { echo "$as_me:$LINENO: error: libGLU not installed or functional" >&5 -echo "$as_me: error: libGLU not installed or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libGLU not installed or functional" >&5 +$as_echo "$as_me: error: libGLU not installed or functional" >&2;} { (exit 1); exit 1; }; } fi ENABLE_OPENGL=TRUE else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the Presentation Minimizer extension" >&5 -echo $ECHO_N "checking whether to build the Presentation Minimizer extension... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the Presentation Minimizer extension" >&5 -echo $ECHO_N "checking whether to build the Presentation Minimizer extension... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the Presentation Minimizer extension" >&5 +$as_echo_n "checking whether to build the Presentation Minimizer extension... " >&6; } if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_MINIMIZER=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MINIMIZER=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the Presenter Screen extension" >&5 -echo $ECHO_N "checking whether to build the Presenter Screen extension... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the Presenter Screen extension" >&5 -echo $ECHO_N "checking whether to build the Presenter Screen extension... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the Presenter Screen extension" >&5 +$as_echo_n "checking whether to build the Presenter Screen extension... " >&6; } if test -n "$enable_presenter_console" -a "$enable_presenter_screen" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PRESENTER_SCREEN=YES else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PRESENTER_SCREEN=NO fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the PDF Import extension" >&5 -echo $ECHO_N "checking whether to build the PDF Import extension... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the PDF Import extension" >&5 -echo $ECHO_N "checking whether to build the PDF Import extension... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the PDF Import extension" >&5 +$as_echo_n "checking whether to build the PDF Import extension... " >&6; } if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PDFIMPORT=YES -<<<<<<< .working - { echo "$as_me:$LINENO: checking which pdf backend to use" >&5 -echo $ECHO_N "checking which pdf backend to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which pdf backend to use" >&5 -echo $ECHO_N "checking which pdf backend to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which pdf backend to use" >&5 +$as_echo_n "checking which pdf backend to use... " >&6; } if test -n "$with_system_poppler" -o -n "$with_system_libs" && \ test "$with_system_poppler" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_POPPLER=YES succeeded=no @@ -37763,15 +26553,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -37784,38 +26569,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -37826,55 +26602,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for poppler >= 0.8.0 " >&5 -echo $ECHO_N "checking for poppler >= 0.8.0 ... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for poppler >= 0.8.0 " >&5 -echo $ECHO_N "checking for poppler >= 0.8.0 ... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for poppler >= 0.8.0 " >&5 +$as_echo_n "checking for poppler >= 0.8.0 ... " >&6; } if $PKG_CONFIG --exists "poppler >= 0.8.0 " ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking POPPLER_CFLAGS" >&5 -echo $ECHO_N "checking POPPLER_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking POPPLER_CFLAGS" >&5 -echo $ECHO_N "checking POPPLER_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking POPPLER_CFLAGS" >&5 +$as_echo_n "checking POPPLER_CFLAGS... " >&6; } POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.8.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $POPPLER_CFLAGS" >&5 -echo "${ECHO_T}$POPPLER_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $POPPLER_CFLAGS" >&5 -echo "${ECHO_T}$POPPLER_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking POPPLER_LIBS" >&5 -echo $ECHO_N "checking POPPLER_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking POPPLER_LIBS" >&5 -echo $ECHO_N "checking POPPLER_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $POPPLER_CFLAGS" >&5 +$as_echo "$POPPLER_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking POPPLER_LIBS" >&5 +$as_echo_n "checking POPPLER_LIBS... " >&6; } POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.8.0 "` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $POPPLER_LIBS" >&5 -echo "${ECHO_T}$POPPLER_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $POPPLER_LIBS" >&5 -echo "${ECHO_T}$POPPLER_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $POPPLER_LIBS" >&5 +$as_echo "$POPPLER_LIBS" >&6; } else POPPLER_CFLAGS="" POPPLER_LIBS="" @@ -37895,50 +26641,30 @@ echo "${ECHO_T}$POPPLER_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_POPPLER=NO BUILD_TYPE="$BUILD_TYPE XPDF" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for xpdf module" >&5 -echo $ECHO_N "checking for xpdf module... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for xpdf module" >&5 -echo $ECHO_N "checking for xpdf module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for xpdf module" >&5 +$as_echo_n "checking for xpdf module... " >&6; } if test -d ./xpdf; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} + { { $as_echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 +$as_echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PDFIMPORT=NO fi @@ -37947,112 +26673,62 @@ fi if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for sdext module" >&5 -echo $ECHO_N "checking for sdext module... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for sdext module" >&5 -echo $ECHO_N "checking for sdext module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for sdext module" >&5 +$as_echo_n "checking for sdext module... " >&6; } if test -d ./sdext; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} + { { $as_echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 +$as_echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} { (exit 1); exit 1; }; } fi BUILD_TYPE="$BUILD_TYPE SDEXT" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the Wiki Publisher extension" >&5 -echo $ECHO_N "checking whether to build the Wiki Publisher extension... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the Wiki Publisher extension" >&5 -echo $ECHO_N "checking whether to build the Wiki Publisher extension... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the Wiki Publisher extension" >&5 +$as_echo_n "checking whether to build the Wiki Publisher extension... " >&6; } if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test "$WITH_JAVA" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - { echo "$as_me:$LINENO: checking for swext module" >&5 -echo $ECHO_N "checking for swext module... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking for swext module" >&5 -echo $ECHO_N "checking for swext module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:$LINENO: checking for swext module" >&5 +$as_echo_n "checking for swext module... " >&6; } if test -d ./swext; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} + { { $as_echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 +$as_echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} { (exit 1); exit 1; }; } fi ENABLE_MEDIAWIKI=YES BUILD_TYPE="$BUILD_TYPE SWEXT" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MEDIAWIKI=NO fi if test "$ENABLE_MEDIAWIKI" == "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5 -echo $ECHO_N "checking which Servlet API Jar to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5 -echo $ECHO_N "checking which Servlet API Jar to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5 +$as_echo_n "checking which Servlet API Jar to use... " >&6; } if test -n "$with_system_servlet_api"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SERVLETAPI=YES if test -z "$SERVLETAPI_JAR"; then SERVLETAPI_JAR=/usr/share/java/servlet-api.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $SERVLETAPI_JAR" >&5 -echo $ECHO_N "checking for $SERVLETAPI_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $SERVLETAPI_JAR" >&5 +$as_echo_n "checking for $SERVLETAPI_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERVLETAPI_JAR" >&5 -echo $ECHO_N "checking for $SERVLETAPI_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$SERVLETAPI_JAR"; then eval "$as_ac_File=yes" @@ -38060,31 +26736,23 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: servlet-api.jar not found." >&5 -echo "$as_me: error: servlet-api.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: servlet-api.jar not found." >&5 +$as_echo "$as_me: error: servlet-api.jar not found." >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SERVLETAPI=NO BUILD_TYPE="$BUILD_TYPE TOMCAT" fi @@ -38092,78 +26760,40 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to build the Report Builder extension" >&5 -echo $ECHO_N "checking whether to build the Report Builder extension... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to build the Report Builder extension" >&5 -echo $ECHO_N "checking whether to build the Report Builder extension... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to build the Report Builder extension" >&5 +$as_echo_n "checking whether to build the Report Builder extension... " >&6; } if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_REPORTBUILDER=YES -<<<<<<< .working - { echo "$as_me:$LINENO: checking for reportbuilder module" >&5 -echo $ECHO_N "checking for reportbuilder module... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for reportbuilder module" >&5 -echo $ECHO_N "checking for reportbuilder module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for reportbuilder module" >&5 +$as_echo_n "checking for reportbuilder module... " >&6; } if test -d ./reportbuilder; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} + { { $as_echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 +$as_echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5 -echo $ECHO_N "checking which jfreereport libs to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5 -echo $ECHO_N "checking which jfreereport libs to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5 +$as_echo_n "checking which jfreereport libs to use... " >&6; } if test "$with_system_jfreereport" == "yes"; then SYSTEM_JFREEREPORT=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } if test -z $SAC_JAR; then SAC_JAR=/usr/share/java/sac.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $SAC_JAR" >&5 -echo $ECHO_N "checking for $SAC_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $SAC_JAR" >&5 +$as_echo_n "checking for $SAC_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAC_JAR" >&5 -echo $ECHO_N "checking for $SAC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$SAC_JAR"; then eval "$as_ac_File=yes" @@ -38171,38 +26801,30 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: sac.jar not found." >&5 -echo "$as_me: error: sac.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: sac.jar not found." >&5 +$as_echo "$as_me: error: sac.jar not found." >&2;} { (exit 1); exit 1; }; } fi if test -z $LIBXML_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libxml-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libxml-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libxml-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libxml_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libxml-1.0.0.jar"; then ac_cv_file__usr_share_java_libxml_1_0_0_jar=yes @@ -38210,31 +26832,20 @@ else ac_cv_file__usr_share_java_libxml_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libxml_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_1_0_0_jar" = x""yes; then LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libxml.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libxml.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libxml.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libxml_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libxml.jar"; then ac_cv_file__usr_share_java_libxml_jar=yes @@ -38242,19 +26853,13 @@ else ac_cv_file__usr_share_java_libxml_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_jar" >&6; } -if test $ac_cv_file__usr_share_java_libxml_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_jar" = x""yes; then LIBXML_JAR=/usr/share/java/libxml.jar else - { { echo "$as_me:$LINENO: error: libxml.jar replacement not found." >&5 -echo "$as_me: error: libxml.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libxml.jar replacement not found." >&5 +$as_echo "$as_me: error: libxml.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38264,23 +26869,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBXML_JAR" >&5 -echo $ECHO_N "checking for $LIBXML_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBXML_JAR" >&5 +$as_echo_n "checking for $LIBXML_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBXML_JAR" >&5 -echo $ECHO_N "checking for $LIBXML_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBXML_JAR"; then eval "$as_ac_File=yes" @@ -38288,39 +26885,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libxml.jar not found." >&5 -echo "$as_me: error: libxml.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libxml.jar not found." >&5 +$as_echo "$as_me: error: libxml.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $FLUTE_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/flute-1.3.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute-1.3.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/flute-1.3.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute-1.3.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/flute-1.3.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute-1.3.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_flute_1_3_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/flute-1.3.0.jar"; then ac_cv_file__usr_share_java_flute_1_3_0_jar=yes @@ -38328,31 +26917,20 @@ else ac_cv_file__usr_share_java_flute_1_3_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_flute_1_3_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_1_3_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_1_3_0_jar" = x""yes; then FLUTE_JAR=/usr/share/java/flute-1.3.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/flute.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/flute.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/flute.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute.jar... " >&6; } if test "${ac_cv_file__usr_share_java_flute_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/flute.jar"; then ac_cv_file__usr_share_java_flute_jar=yes @@ -38360,19 +26938,13 @@ else ac_cv_file__usr_share_java_flute_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_jar" >&6; } -if test $ac_cv_file__usr_share_java_flute_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_jar" = x""yes; then FLUTE_JAR=/usr/share/java/flute.jar else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar replacement not found." >&5 -echo "$as_me: error: flute-1.3.0.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: flute-1.3.0.jar replacement not found." >&5 +$as_echo "$as_me: error: flute-1.3.0.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38382,23 +26954,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $FLUTE_JAR" >&5 -echo $ECHO_N "checking for $FLUTE_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $FLUTE_JAR" >&5 +$as_echo_n "checking for $FLUTE_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $FLUTE_JAR" >&5 -echo $ECHO_N "checking for $FLUTE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$FLUTE_JAR"; then eval "$as_ac_File=yes" @@ -38406,39 +26970,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar not found." >&5 -echo "$as_me: error: flute-1.3.0.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: flute-1.3.0.jar not found." >&5 +$as_echo "$as_me: error: flute-1.3.0.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $JFREEREPORT_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine-0.9.2.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine-0.9.2.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine-0.9.2.jar... " >&6; } if test "${ac_cv_file__usr_share_java_flow_engine_0_9_2_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/flow-engine-0.9.2.jar"; then ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=yes @@ -38446,31 +27002,20 @@ else ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6; } -if test $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" = x""yes; then JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine.jar... " >&6; } if test "${ac_cv_file__usr_share_java_flow_engine_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/flow-engine.jar"; then ac_cv_file__usr_share_java_flow_engine_jar=yes @@ -38478,19 +27023,13 @@ else ac_cv_file__usr_share_java_flow_engine_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_jar" >&6; } -if test $ac_cv_file__usr_share_java_flow_engine_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_jar" = x""yes; then JFREEREPORT_JAR=/usr/share/java/flow-engine.jar else - { { echo "$as_me:$LINENO: error: jfreereport.jar replacement not found." >&5 -echo "$as_me: error: jfreereport.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: jfreereport.jar replacement not found." >&5 +$as_echo "$as_me: error: jfreereport.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38500,23 +27039,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $JFREEREPORT_JAR" >&5 -echo $ECHO_N "checking for $JFREEREPORT_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $JFREEREPORT_JAR" >&5 +$as_echo_n "checking for $JFREEREPORT_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $JFREEREPORT_JAR" >&5 -echo $ECHO_N "checking for $JFREEREPORT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$JFREEREPORT_JAR"; then eval "$as_ac_File=yes" @@ -38524,39 +27055,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: jfreereport.jar not found." >&5 -echo "$as_me: error: jfreereport.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: jfreereport.jar not found." >&5 +$as_echo "$as_me: error: jfreereport.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBLAYOUT_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout-0.2.9.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout-0.2.9.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout-0.2.9.jar... " >&6; } if test "${ac_cv_file__usr_share_java_liblayout_0_2_9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/liblayout-0.2.9.jar"; then ac_cv_file__usr_share_java_liblayout_0_2_9_jar=yes @@ -38564,31 +27087,20 @@ else ac_cv_file__usr_share_java_liblayout_0_2_9_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6; } -if test $ac_cv_file__usr_share_java_liblayout_0_2_9_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_0_2_9_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" = x""yes; then LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/liblayout.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/liblayout.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout.jar... " >&6; } if test "${ac_cv_file__usr_share_java_liblayout_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/liblayout.jar"; then ac_cv_file__usr_share_java_liblayout_jar=yes @@ -38596,19 +27108,13 @@ else ac_cv_file__usr_share_java_liblayout_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_jar" >&6; } -if test $ac_cv_file__usr_share_java_liblayout_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_jar" = x""yes; then LIBLAYOUT_JAR=/usr/share/java/liblayout.jar else - { { echo "$as_me:$LINENO: error: liblayout.jar replacement not found." >&5 -echo "$as_me: error: liblayout.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: liblayout.jar replacement not found." >&5 +$as_echo "$as_me: error: liblayout.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38618,23 +27124,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBLAYOUT_JAR" >&5 -echo $ECHO_N "checking for $LIBLAYOUT_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBLAYOUT_JAR" >&5 +$as_echo_n "checking for $LIBLAYOUT_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLAYOUT_JAR" >&5 -echo $ECHO_N "checking for $LIBLAYOUT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBLAYOUT_JAR"; then eval "$as_ac_File=yes" @@ -38642,39 +27140,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: liblayout.jar not found." >&5 -echo "$as_me: error: liblayout.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: liblayout.jar not found." >&5 +$as_echo "$as_me: error: liblayout.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBLOADER_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libloader-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libloader-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libloader-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libloader_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libloader-1.0.0.jar"; then ac_cv_file__usr_share_java_libloader_1_0_0_jar=yes @@ -38682,31 +27172,20 @@ else ac_cv_file__usr_share_java_libloader_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libloader_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_1_0_0_jar" = x""yes; then LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libloader.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libloader.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libloader.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libloader_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libloader.jar"; then ac_cv_file__usr_share_java_libloader_jar=yes @@ -38714,19 +27193,13 @@ else ac_cv_file__usr_share_java_libloader_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_jar" >&6; } -if test $ac_cv_file__usr_share_java_libloader_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_jar" = x""yes; then LIBLOADER_JAR=/usr/share/java/libloader.jar else - { { echo "$as_me:$LINENO: error: libloader.jar replacement not found." >&5 -echo "$as_me: error: libloader.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libloader.jar replacement not found." >&5 +$as_echo "$as_me: error: libloader.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38736,23 +27209,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBLOADER_JAR" >&5 -echo $ECHO_N "checking for $LIBLOADER_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBLOADER_JAR" >&5 +$as_echo_n "checking for $LIBLOADER_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLOADER_JAR" >&5 -echo $ECHO_N "checking for $LIBLOADER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBLOADER_JAR"; then eval "$as_ac_File=yes" @@ -38760,39 +27225,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libloader.jar not found." >&5 -echo "$as_me: error: libloader.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libloader.jar not found." >&5 +$as_echo "$as_me: error: libloader.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBFORMULA_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libformula-0.2.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula-0.2.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libformula-0.2.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula-0.2.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libformula-0.2.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula-0.2.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libformula_0_2_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libformula-0.2.0.jar"; then ac_cv_file__usr_share_java_libformula_0_2_0_jar=yes @@ -38800,31 +27257,20 @@ else ac_cv_file__usr_share_java_libformula_0_2_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libformula_0_2_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_0_2_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_0_2_0_jar" = x""yes; then LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libformula.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libformula.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libformula.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libformula_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libformula.jar"; then ac_cv_file__usr_share_java_libformula_jar=yes @@ -38832,19 +27278,13 @@ else ac_cv_file__usr_share_java_libformula_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_jar" >&6; } -if test $ac_cv_file__usr_share_java_libformula_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_jar" = x""yes; then LIBFORMULA_JAR=/usr/share/java/libformula.jar else - { { echo "$as_me:$LINENO: error: libformula.jar replacement not found." >&5 -echo "$as_me: error: libformula.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libformula.jar replacement not found." >&5 +$as_echo "$as_me: error: libformula.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38854,23 +27294,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBFORMULA_JAR" >&5 -echo $ECHO_N "checking for $LIBFORMULA_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBFORMULA_JAR" >&5 +$as_echo_n "checking for $LIBFORMULA_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFORMULA_JAR" >&5 -echo $ECHO_N "checking for $LIBFORMULA_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBFORMULA_JAR"; then eval "$as_ac_File=yes" @@ -38878,39 +27310,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libformula.jar not found." >&5 -echo "$as_me: error: libformula.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libformula.jar not found." >&5 +$as_echo "$as_me: error: libformula.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBREPOSITORY_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/librepository-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/librepository-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/librepository-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_librepository_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/librepository-1.0.0.jar"; then ac_cv_file__usr_share_java_librepository_1_0_0_jar=yes @@ -38918,31 +27342,20 @@ else ac_cv_file__usr_share_java_librepository_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_librepository_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_1_0_0_jar" = x""yes; then LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/librepository.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/librepository.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/librepository.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository.jar... " >&6; } if test "${ac_cv_file__usr_share_java_librepository_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/librepository.jar"; then ac_cv_file__usr_share_java_librepository_jar=yes @@ -38950,19 +27363,13 @@ else ac_cv_file__usr_share_java_librepository_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_jar" >&6; } -if test $ac_cv_file__usr_share_java_librepository_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_jar" = x""yes; then LIBREPOSITORY_JAR=/usr/share/java/librepository.jar else - { { echo "$as_me:$LINENO: error: librepository.jar replacement not found." >&5 -echo "$as_me: error: librepository.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: librepository.jar replacement not found." >&5 +$as_echo "$as_me: error: librepository.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -38972,23 +27379,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBREPOSITORY_JAR" >&5 -echo $ECHO_N "checking for $LIBREPOSITORY_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBREPOSITORY_JAR" >&5 +$as_echo_n "checking for $LIBREPOSITORY_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBREPOSITORY_JAR" >&5 -echo $ECHO_N "checking for $LIBREPOSITORY_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBREPOSITORY_JAR"; then eval "$as_ac_File=yes" @@ -38996,39 +27395,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: librepository.jar not found." >&5 -echo "$as_me: error: librepository.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: librepository.jar not found." >&5 +$as_echo "$as_me: error: librepository.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBFONTS_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libfonts_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libfonts-1.0.0.jar"; then ac_cv_file__usr_share_java_libfonts_1_0_0_jar=yes @@ -39036,31 +27427,20 @@ else ac_cv_file__usr_share_java_libfonts_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libfonts_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" = x""yes; then LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libfonts.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libfonts.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libfonts_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libfonts.jar"; then ac_cv_file__usr_share_java_libfonts_jar=yes @@ -39068,19 +27448,13 @@ else ac_cv_file__usr_share_java_libfonts_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_jar" >&6; } -if test $ac_cv_file__usr_share_java_libfonts_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_jar" = x""yes; then LIBFONTS_JAR=/usr/share/java/libfonts.jar else - { { echo "$as_me:$LINENO: error: libfonts.jar replacement not found." >&5 -echo "$as_me: error: libfonts.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libfonts.jar replacement not found." >&5 +$as_echo "$as_me: error: libfonts.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -39090,23 +27464,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBFONTS_JAR" >&5 -echo $ECHO_N "checking for $LIBFONTS_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBFONTS_JAR" >&5 +$as_echo_n "checking for $LIBFONTS_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFONTS_JAR" >&5 -echo $ECHO_N "checking for $LIBFONTS_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBFONTS_JAR"; then eval "$as_ac_File=yes" @@ -39114,39 +27480,31 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libfonts.jar not found." >&5 -echo "$as_me: error: libfonts.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libfonts.jar not found." >&5 +$as_echo "$as_me: error: libfonts.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi if test -z $LIBSERIALIZER_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libserializer_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libserializer-1.0.0.jar"; then ac_cv_file__usr_share_java_libserializer_1_0_0_jar=yes @@ -39154,31 +27512,20 @@ else ac_cv_file__usr_share_java_libserializer_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libserializer_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" = x""yes; then LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libserializer.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libserializer.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libserializer_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libserializer.jar"; then ac_cv_file__usr_share_java_libserializer_jar=yes @@ -39186,19 +27533,13 @@ else ac_cv_file__usr_share_java_libserializer_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_jar" >&6; } -if test $ac_cv_file__usr_share_java_libserializer_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_jar" = x""yes; then LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar else - { { echo "$as_me:$LINENO: error: libserializer.jar replacement not found." >&5 -echo "$as_me: error: libserializer.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libserializer.jar replacement not found." >&5 +$as_echo "$as_me: error: libserializer.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -39208,23 +27549,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBSERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $LIBSERIALIZER_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBSERIALIZER_JAR" >&5 +$as_echo_n "checking for $LIBSERIALIZER_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBSERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $LIBSERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBSERIALIZER_JAR"; then eval "$as_ac_File=yes" @@ -39232,20 +27565,17 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libserializer.jar not found." >&5 -echo "$as_me: error: libserializer.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libserializer.jar not found." >&5 +$as_echo "$as_me: error: libserializer.jar not found." >&2;} { (exit 1); exit 1; }; } fi @@ -39253,19 +27583,14 @@ fi if test -z $LIBBASE_JAR; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libbase-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase-1.0.0.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libbase-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase-1.0.0.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libbase-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase-1.0.0.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libbase_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libbase-1.0.0.jar"; then ac_cv_file__usr_share_java_libbase_1_0_0_jar=yes @@ -39273,31 +27598,20 @@ else ac_cv_file__usr_share_java_libbase_1_0_0_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6; } -if test $ac_cv_file__usr_share_java_libbase_1_0_0_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_1_0_0_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_1_0_0_jar" = x""yes; then LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar else -<<<<<<< .working - { echo "$as_me:$LINENO: checking for /usr/share/java/libbase.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase.jar... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for /usr/share/java/libbase.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase.jar... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for /usr/share/java/libbase.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase.jar... " >&6; } if test "${ac_cv_file__usr_share_java_libbase_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "/usr/share/java/libbase.jar"; then ac_cv_file__usr_share_java_libbase_jar=yes @@ -39305,19 +27619,13 @@ else ac_cv_file__usr_share_java_libbase_jar=no fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_jar" >&6; } -if test $ac_cv_file__usr_share_java_libbase_jar = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_jar = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_jar" = x""yes; then LIBBASE_JAR=/usr/share/java/libbase.jar else - { { echo "$as_me:$LINENO: error: libbase.jar replacement not found." >&5 -echo "$as_me: error: libbase.jar replacement not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libbase.jar replacement not found." >&5 +$as_echo "$as_me: error: libbase.jar replacement not found." >&2;} { (exit 1); exit 1; }; } fi @@ -39327,23 +27635,15 @@ fi fi else -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $LIBBASE_JAR" >&5 -echo $ECHO_N "checking for $LIBBASE_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $LIBBASE_JAR" >&5 +$as_echo_n "checking for $LIBBASE_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBBASE_JAR" >&5 -echo $ECHO_N "checking for $LIBBASE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$LIBBASE_JAR"; then eval "$as_ac_File=yes" @@ -39351,48 +27651,33 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: libbase.jar not found." >&5 -echo "$as_me: error: libbase.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: libbase.jar not found." >&5 +$as_echo "$as_me: error: libbase.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } - { echo "$as_me:$LINENO: checking for jfreereport module" >&5 -echo $ECHO_N "checking for jfreereport module... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - echo "$as_me:$LINENO: checking for jfreereport module" >&5 -echo $ECHO_N "checking for jfreereport module... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } + { $as_echo "$as_me:$LINENO: checking for jfreereport module" >&5 +$as_echo_n "checking for jfreereport module... " >&6; } if test -d ./jfreereport; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6; } -======= - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} + { { $as_echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 +$as_echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} { (exit 1); exit 1; }; } fi SYSTEM_JFREEREPORT=NO @@ -39400,13 +27685,8 @@ echo "$as_me: error: not existing. get it (did you get the -extensions tarball?) fi BUILD_TYPE="$BUILD_TYPE REPORTBUILDER" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_REPORTBUILDER=NO SYSTEM_JFREEREPORT=NO fi @@ -39427,43 +27707,25 @@ fi # this has to be here because both the wiki publisher and the SRB use # commons-logging if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking which Apache commons-* libs to use" >&5 -echo $ECHO_N "checking which Apache commons-* libs to use... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking which Apache commons-* libs to use" >&5 -echo $ECHO_N "checking which Apache commons-* libs to use... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking which Apache commons-* libs to use" >&5 +$as_echo_n "checking which Apache commons-* libs to use... " >&6; } if test "$with_system_apache_commons" = "yes"; then SYSTEM_APACHE_COMMONS=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6; } -======= - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: external" >&5 +$as_echo "external" >&6; } if test "$ENABLE_MEDIAWIKI" = "YES"; then if test -z "$COMMONS_CODEC_JAR"; then COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $COMMONS_CODEC_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_CODEC_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $COMMONS_CODEC_JAR" >&5 +$as_echo_n "checking for $COMMONS_CODEC_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_CODEC_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_CODEC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$COMMONS_CODEC_JAR"; then eval "$as_ac_File=yes" @@ -39471,43 +27733,32 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: commons-codec.jar not found." >&5 -echo "$as_me: error: commons-codec.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: commons-codec.jar not found." >&5 +$as_echo "$as_me: error: commons-codec.jar not found." >&2;} { (exit 1); exit 1; }; } fi if test -z "$COMMONS_LANG_JAR"; then COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $COMMONS_LANG_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LANG_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $COMMONS_LANG_JAR" >&5 +$as_echo_n "checking for $COMMONS_LANG_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LANG_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LANG_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$COMMONS_LANG_JAR"; then eval "$as_ac_File=yes" @@ -39515,43 +27766,32 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: commons-lang.jar not found." >&5 -echo "$as_me: error: commons-lang.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: commons-lang.jar not found." >&5 +$as_echo "$as_me: error: commons-lang.jar not found." >&2;} { (exit 1); exit 1; }; } fi if test -z "$COMMONS_HTTPCLIENT_JAR"; then COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $COMMONS_HTTPCLIENT_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_HTTPCLIENT_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $COMMONS_HTTPCLIENT_JAR" >&5 +$as_echo_n "checking for $COMMONS_HTTPCLIENT_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_HTTPCLIENT_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_HTTPCLIENT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$COMMONS_HTTPCLIENT_JAR"; then eval "$as_ac_File=yes" @@ -39559,20 +27799,17 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: commons-httpclient.jar not found." >&5 -echo "$as_me: error: commons-httpclient.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: commons-httpclient.jar not found." >&5 +$as_echo "$as_me: error: commons-httpclient.jar not found." >&2;} { (exit 1); exit 1; }; } fi @@ -39581,23 +27818,15 @@ fi if test -z "$COMMONS_LOGGING_JAR"; then COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar fi -<<<<<<< .working - as_ac_File=`echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $COMMONS_LOGGING_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LOGGING_JAR... $ECHO_C" >&6; } + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $COMMONS_LOGGING_JAR" >&5 +$as_echo_n "checking for $COMMONS_LOGGING_JAR... " >&6; } if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -======= - as_ac_File=`echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LOGGING_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LOGGING_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} { (exit 1); exit 1; }; } if test -r "$COMMONS_LOGGING_JAR"; then eval "$as_ac_File=yes" @@ -39605,33 +27834,25 @@ else eval "$as_ac_File=no" fi fi -<<<<<<< .working -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then -======= -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then ->>>>>>> .merge-right.r276078 +ac_res=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_File'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then : else - { { echo "$as_me:$LINENO: error: commons-logging.jar not found." >&5 -echo "$as_me: error: commons-logging.jar not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: commons-logging.jar not found." >&5 +$as_echo "$as_me: error: commons-logging.jar not found." >&2;} { (exit 1); exit 1; }; } fi fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6; } -======= - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_APACHE_COMMONS=NO BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT" fi @@ -39683,13 +27904,8 @@ if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Qt headers" >&5 -echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Qt headers" >&5 -echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Qt headers" >&5 +$as_echo_n "checking for Qt headers... " >&6; } qt_incdir="no" for kde_check in $qt_incdirs ; do if test -r "$kde_check/$qt_test_include" ; then @@ -39697,28 +27913,18 @@ echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 break fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $qt_incdir" >&5 -echo "${ECHO_T}$qt_incdir" >&6; } -======= - echo "$as_me:$LINENO: result: $qt_incdir" >&5 -echo "${ECHO_T}$qt_incdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $qt_incdir" >&5 +$as_echo "$qt_incdir" >&6; } if test "x$qt_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt headers not found. Please specify the root of + { { $as_echo "$as_me:$LINENO: error: Qt headers not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt headers not found. Please specify the root of +$as_echo "$as_me: error: Qt headers not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Qt libraries" >&5 -echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Qt libraries" >&5 -echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Qt libraries" >&5 +$as_echo_n "checking for Qt libraries... " >&6; } qt_libdir="no" for qt_check in $qt_libdirs ; do if test -r "$qt_check/$qt_test_library" ; then @@ -39726,32 +27932,22 @@ echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 break fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $qt_libdir" >&5 -echo "${ECHO_T}$qt_libdir" >&6; } -======= - echo "$as_me:$LINENO: result: $qt_libdir" >&5 -echo "${ECHO_T}$qt_libdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $qt_libdir" >&5 +$as_echo "$qt_libdir" >&6; } if test "x$qt_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt libraries not found. Please specify the root of + { { $as_echo "$as_me:$LINENO: error: Qt libraries not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt libraries not found. Please specify the root of +$as_echo "$as_me: error: Qt libraries not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $MOC in [\\/]* | ?:[\\/]*) @@ -39765,53 +27961,39 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC" && ac_cv_path_MOC="no" ;; esac fi MOC=$ac_cv_path_MOC - if test -n "$MOC"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOC" >&5 -echo "${ECHO_T}$MOC" >&6; } -======= - echo "$as_me:$LINENO: result: $MOC" >&5 -echo "${ECHO_T}$MOC" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOC" >&5 +$as_echo "$MOC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify + { { $as_echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify +$as_echo "$as_me: error: Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for KDE headers" >&5 -echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for KDE headers" >&5 -echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for KDE headers" >&5 +$as_echo_n "checking for KDE headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -39819,28 +28001,18 @@ echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 break fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6; } -======= - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE headers not found. Please specify the root of + { { $as_echo "$as_me:$LINENO: error: KDE headers not found. Please specify the root of your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE headers not found. Please specify the root of +$as_echo "$as_me: error: KDE headers not found. Please specify the root of your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for KDE libraries" >&5 -echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for KDE libraries" >&5 -echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for KDE libraries" >&5 +$as_echo_n "checking for KDE libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -39848,17 +28020,12 @@ echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 break fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6; } -======= - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE libraries not found. Please specify the root of + { { $as_echo "$as_me:$LINENO: error: KDE libraries not found. Please specify the root of your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE libraries not found. Please specify the root of +$as_echo "$as_me: error: KDE libraries not found. Please specify the root of your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi @@ -39891,13 +28058,8 @@ if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Qt4 headers" >&5 -echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Qt4 headers" >&5 -echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Qt4 headers" >&5 +$as_echo_n "checking for Qt4 headers... " >&6; } qt_header_dir="no" for inc_dir in $qt_incdirs ; do if test -r "$inc_dir/$qt_test_include" ; then @@ -39906,26 +28068,16 @@ echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $qt_header_dir" >&5 -echo "${ECHO_T}$qt_header_dir" >&6; } -======= - echo "$as_me:$LINENO: result: $qt_header_dir" >&5 -echo "${ECHO_T}$qt_header_dir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $qt_header_dir" >&5 +$as_echo "$qt_header_dir" >&6; } if test "x$qt_header_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;} + { { $as_echo "$as_me:$LINENO: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5 +$as_echo "$as_me: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for Qt4 libraries" >&5 -echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for Qt4 libraries" >&5 -echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for Qt4 libraries" >&5 +$as_echo_n "checking for Qt4 libraries... " >&6; } qt_lib_dir="no" for lib_dir in $qt_libdirs ; do if test -r "$lib_dir/$qt_test_library" ; then @@ -39934,31 +28086,21 @@ echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $qt_lib_dir" >&5 -echo "${ECHO_T}$qt_lib_dir" >&6; } -======= - echo "$as_me:$LINENO: result: $qt_lib_dir" >&5 -echo "${ECHO_T}$qt_lib_dir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $qt_lib_dir" >&5 +$as_echo "$qt_lib_dir" >&6; } if test "x$qt_lib_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;} + { { $as_echo "$as_me:$LINENO: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5 +$as_echo "$as_me: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MOC4+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $MOC4 in [\\/]* | ?:[\\/]*) @@ -39972,53 +28114,39 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC4="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC4" && ac_cv_path_MOC4="no" ;; esac fi MOC4=$ac_cv_path_MOC4 - if test -n "$MOC4"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $MOC4" >&5 -echo "${ECHO_T}$MOC4" >&6; } -======= - echo "$as_me:$LINENO: result: $MOC4" >&5 -echo "${ECHO_T}$MOC4" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $MOC4" >&5 +$as_echo "$MOC4" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC4" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify + { { $as_echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify +$as_echo "$as_me: error: Qt Meta Object Compiler not found. Please specify the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for KDE4 headers" >&5 -echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for KDE4 headers" >&5 -echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for KDE4 headers" >&5 +$as_echo_n "checking for KDE4 headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -40026,26 +28154,16 @@ echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 break fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6; } -======= - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;} + { { $as_echo "$as_me:$LINENO: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5 +$as_echo "$as_me: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking for KDE4 libraries" >&5 -echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for KDE4 libraries" >&5 -echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for KDE4 libraries" >&5 +$as_echo_n "checking for KDE4 libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -40054,16 +28172,11 @@ echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6; } -======= - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;} + { { $as_echo "$as_me:$LINENO: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5 +$as_echo "$as_me: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;} { (exit 1); exit 1; }; } fi @@ -40074,64 +28187,34 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5 -echo $ECHO_N "checking whether to enable the lockdown pieces... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5 -echo $ECHO_N "checking whether to enable the lockdown pieces... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5 +$as_echo_n "checking whether to enable the lockdown pieces... " >&6; } ENABLE_LOCKDOWN="" if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then ENABLE_LOCKDOWN=YES -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable evolution 2 support" >&5 -echo $ECHO_N "checking whether to enable evolution 2 support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable evolution 2 support" >&5 -echo $ECHO_N "checking whether to enable evolution 2 support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to enable evolution 2 support" >&5 +$as_echo_n "checking whether to enable evolution 2 support... " >&6; } if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -40144,38 +28227,29 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -======= - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -40186,55 +28260,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for gobject-2.0" >&5 -echo $ECHO_N "checking for gobject-2.0... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for gobject-2.0" >&5 -echo $ECHO_N "checking for gobject-2.0... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for gobject-2.0" >&5 +$as_echo_n "checking for gobject-2.0... " >&6; } if $PKG_CONFIG --exists "gobject-2.0" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes -<<<<<<< .working - { echo "$as_me:$LINENO: checking GOBJECT_CFLAGS" >&5 -echo $ECHO_N "checking GOBJECT_CFLAGS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GOBJECT_CFLAGS" >&5 -echo $ECHO_N "checking GOBJECT_CFLAGS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking GOBJECT_CFLAGS" >&5 +$as_echo_n "checking GOBJECT_CFLAGS... " >&6; } GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GOBJECT_CFLAGS" >&5 -echo "${ECHO_T}$GOBJECT_CFLAGS" >&6; } -======= - echo "$as_me:$LINENO: result: $GOBJECT_CFLAGS" >&5 -echo "${ECHO_T}$GOBJECT_CFLAGS" >&6 ->>>>>>> .merge-right.r276078 - -<<<<<<< .working - { echo "$as_me:$LINENO: checking GOBJECT_LIBS" >&5 -echo $ECHO_N "checking GOBJECT_LIBS... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking GOBJECT_LIBS" >&5 -echo $ECHO_N "checking GOBJECT_LIBS... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GOBJECT_CFLAGS" >&5 +$as_echo "$GOBJECT_CFLAGS" >&6; } + + { $as_echo "$as_me:$LINENO: checking GOBJECT_LIBS" >&5 +$as_echo_n "checking GOBJECT_LIBS... " >&6; } GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0"` -<<<<<<< .working - { echo "$as_me:$LINENO: result: $GOBJECT_LIBS" >&5 -echo "${ECHO_T}$GOBJECT_LIBS" >&6; } -======= - echo "$as_me:$LINENO: result: $GOBJECT_LIBS" >&5 -echo "${ECHO_T}$GOBJECT_LIBS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $GOBJECT_LIBS" >&5 +$as_echo "$GOBJECT_LIBS" >&6; } else GOBJECT_CFLAGS="" GOBJECT_LIBS="" @@ -40255,43 +28299,27 @@ echo "${ECHO_T}$GOBJECT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { $as_echo "$as_me:$LINENO: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +$as_echo "$as_me: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi ENABLE_EVOAB2="TRUE" else ENABLE_EVOAB2="" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to enable KDE address book support" >&5 -echo $ECHO_N "checking whether to enable KDE address book support... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to enable KDE address book support" >&5 -echo $ECHO_N "checking whether to enable KDE address book support... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to enable KDE address book support" >&5 +$as_echo_n "checking whether to enable KDE address book support... " >&6; } if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } ac_ext=cpp -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ac_ext=cc ->>>>>>> .merge-right.r276078 ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -40299,19 +28327,16 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $KDE_CFLAGS" -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether KDE is between 3.2 and 3.6" >&5 -echo $ECHO_N "checking whether KDE is between 3.2 and 3.6... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether KDE is between 3.2 and 3.6" >&5 -echo $ECHO_N "checking whether KDE is between 3.2 and 3.6... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether KDE is between 3.2 and 3.6" >&5 +$as_echo_n "checking whether KDE is between 3.2 and 3.6... " >&6; } if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling +$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -40329,58 +28354,44 @@ int main(int argc, char **argv) { _ACEOF rm -f conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -<<<<<<< .working { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 -======= - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 ->>>>>>> .merge-right.r276078 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&5 -echo "$as_me: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&2;} +{ { $as_echo "$as_me:$LINENO: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&5 +$as_echo "$as_me: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -======= -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ->>>>>>> .merge-right.r276078 fi + + CXXFLAGS=$save_CXXFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -40390,104 +28401,54 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ENABLE_KAB=TRUE else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } ENABLE_KAB= fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include FontOOo" >&5 -echo $ECHO_N "checking whether to include FontOOo... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include FontOOo" >&5 -echo $ECHO_N "checking whether to include FontOOo... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include FontOOo" >&5 +$as_echo_n "checking whether to include FontOOo... " >&6; } if test -n "$enable_fontooo"; then if test "$enable_fontooo" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_FONTOOO=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTOOO" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } WITH_FONTOOO=YES BUILD_TYPE="$BUILD_TYPE MSFONTEXTRACT" fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_FONTOOO=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTOOO" fi if test "$WITH_FONTOOO" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether to use system libmspack" >&5 -echo $ECHO_N "checking whether to use system libmspack... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether to use system libmspack" >&5 -echo $ECHO_N "checking whether to use system libmspack... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether to use system libmspack" >&5 +$as_echo_n "checking whether to use system libmspack... " >&6; } if test -n "$with_system_mspack" -o -n "$with_system_libs" && \ test "$with_system_mspack" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_MSPACK=YES if test "${ac_cv_header_mspack_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for mspack.h" >&5 -echo $ECHO_N "checking for mspack.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for mspack.h" >&5 -echo $ECHO_N "checking for mspack.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for mspack.h" >&5 +$as_echo_n "checking for mspack.h... " >&6; } if test "${ac_cv_header_mspack_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 -echo "${ECHO_T}$ac_cv_header_mspack_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 -echo "${ECHO_T}$ac_cv_header_mspack_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 +$as_echo "$ac_cv_header_mspack_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking mspack.h usability" >&5 -echo $ECHO_N "checking mspack.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking mspack.h usability" >&5 -echo $ECHO_N "checking mspack.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking mspack.h usability" >&5 +$as_echo_n "checking mspack.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -40498,71 +28459,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking mspack.h presence" >&5 -echo $ECHO_N "checking mspack.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking mspack.h presence" >&5 -echo $ECHO_N "checking mspack.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking mspack.h presence" >&5 +$as_echo_n "checking mspack.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -40571,146 +28499,85 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: mspack.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mspack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mspack.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: mspack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: mspack.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: mspack.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mspack.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mspack.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mspack.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mspack.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mspack.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: mspack.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mspack.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mspack.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mspack.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mspack.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mspack.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mspack.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: mspack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: mspack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: mspack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: mspack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: mspack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mspack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: mspack.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for mspack.h" >&5 -echo $ECHO_N "checking for mspack.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for mspack.h" >&5 -echo $ECHO_N "checking for mspack.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for mspack.h" >&5 +$as_echo_n "checking for mspack.h... " >&6; } if test "${ac_cv_header_mspack_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_mspack_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 -echo "${ECHO_T}$ac_cv_header_mspack_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 -echo "${ECHO_T}$ac_cv_header_mspack_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mspack_h" >&5 +$as_echo "$ac_cv_header_mspack_h" >&6; } fi -if test $ac_cv_header_mspack_h = yes; then +if test "x$ac_cv_header_mspack_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: mspack.h not found, install libmspack" >&5 -echo "$as_me: error: mspack.h not found, install libmspack" >&2;} + { { $as_echo "$as_me:$LINENO: error: mspack.h not found, install libmspack" >&5 +$as_echo "$as_me: error: mspack.h not found, install libmspack" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for mspack_create_cab_decompressor in -lmspack" >&5 -echo $ECHO_N "checking for mspack_create_cab_decompressor in -lmspack... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for mspack_create_cab_decompressor in -lmspack" >&5 -echo $ECHO_N "checking for mspack_create_cab_decompressor in -lmspack... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for mspack_create_cab_decompressor in -lmspack" >&5 +$as_echo_n "checking for mspack_create_cab_decompressor in -lmspack... " >&6; } if test "${ac_cv_lib_mspack_mspack_create_cab_decompressor+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmspack $LIBS" @@ -40721,87 +28588,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char mspack_create_cab_decompressor (); int main () { -mspack_create_cab_decompressor (); +return mspack_create_cab_decompressor (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mspack_mspack_create_cab_decompressor=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_mspack_mspack_create_cab_decompressor=no + ac_cv_lib_mspack_mspack_create_cab_decompressor=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_mspack_mspack_create_cab_decompressor" >&5 -echo "${ECHO_T}$ac_cv_lib_mspack_mspack_create_cab_decompressor" >&6; } -if test $ac_cv_lib_mspack_mspack_create_cab_decompressor = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_mspack_mspack_create_cab_decompressor" >&5 -echo "${ECHO_T}$ac_cv_lib_mspack_mspack_create_cab_decompressor" >&6 -if test $ac_cv_lib_mspack_mspack_create_cab_decompressor = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mspack_mspack_create_cab_decompressor" >&5 +$as_echo "$ac_cv_lib_mspack_mspack_create_cab_decompressor" >&6; } +if test "x$ac_cv_lib_mspack_mspack_create_cab_decompressor" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBMSPACK 1 _ACEOF @@ -40809,143 +28647,73 @@ _ACEOF LIBS="-lmspack $LIBS" else - { { echo "$as_me:$LINENO: error: libmspack not installed or functional" >&5 -echo "$as_me: error: libmspack not installed or functional" >&2;} + { { $as_echo "$as_me:$LINENO: error: libmspack not installed or functional" >&5 +$as_echo "$as_me: error: libmspack not installed or functional" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_MSPACK=NO fi fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include MathMLDTD" >&5 -echo $ECHO_N "checking whether to include MathMLDTD... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include MathMLDTD" >&5 -echo $ECHO_N "checking whether to include MathMLDTD... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include MathMLDTD" >&5 +$as_echo_n "checking whether to include MathMLDTD... " >&6; } if test -n "$enable_mathmldtd"; then if test "$enable_mathmldtd" = "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_TYPE="$BUILD_TYPE MATHMLDTD" fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include Bitstream Vera fonts" >&5 -echo $ECHO_N "checking whether to include Bitstream Vera fonts... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include Bitstream Vera fonts" >&5 -echo $ECHO_N "checking whether to include Bitstream Vera fonts... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include Bitstream Vera fonts" >&5 +$as_echo_n "checking whether to include Bitstream Vera fonts... " >&6; } if test "$with_fonts" != "no" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } WITH_FONTS=YES BUILD_TYPE="$BUILD_TYPE BITSTREAM_VERA_FONTS" else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITH_FONTS=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTS" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include PPDs" >&5 -echo $ECHO_N "checking whether to include PPDs... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include PPDs" >&5 -echo $ECHO_N "checking whether to include PPDs... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include PPDs" >&5 +$as_echo_n "checking whether to include PPDs... " >&6; } if test "$with_ppds" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_PPDS=YES SCPDEFS="$SCPDEFS -DWITHOUT_PPDS" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to include AFMs" >&5 -echo $ECHO_N "checking whether to include AFMs... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to include AFMs" >&5 -echo $ECHO_N "checking whether to include AFMs... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether to include AFMs" >&5 +$as_echo_n "checking whether to include AFMs... " >&6; } if test "$with_afms" != "no"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_AFMS=YES SCPDEFS="$SCPDEFS -DWITHOUT_AFMS" fi @@ -40953,23 +28721,13 @@ fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether and how to use Xinerama" >&5 -echo $ECHO_N "checking whether and how to use Xinerama... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether and how to use Xinerama" >&5 -echo $ECHO_N "checking whether and how to use Xinerama... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether and how to use Xinerama" >&5 +$as_echo_n "checking whether and how to use Xinerama... " >&6; } if test "$_os" = "Darwin"; then USE_XINERAMA=YES XINERAMA_LINK=dynamic -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then # we have both versions, let the user decide but use the dynamic one @@ -40999,40 +28757,20 @@ elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then XINERAMA_LINK=none fi if test "$USE_XINERAMA" = "YES"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, with $XINERAMA_LINK linking" >&5 -echo "${ECHO_T}yes, with $XINERAMA_LINK linking" >&6; } -======= - echo "$as_me:$LINENO: result: yes, with $XINERAMA_LINK linking" >&5 -echo "${ECHO_T}yes, with $XINERAMA_LINK linking" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, with $XINERAMA_LINK linking" >&5 +$as_echo "yes, with $XINERAMA_LINK linking" >&6; } if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 +$as_echo_n "checking for X11/extensions/Xinerama.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xinerama_h" >&6; } else # Is the header compilable? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h usability... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h usability... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h usability" >&5 +$as_echo_n "checking X11/extensions/Xinerama.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -41043,71 +28781,38 @@ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext -<<<<<<< .working if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_header_compiler=no + ac_header_compiler=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -<<<<<<< .working rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -======= ->>>>>>> .merge-right.r276078 # Is the header present? -<<<<<<< .working -{ echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h presence... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h presence... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h presence" >&5 +$as_echo_n "checking X11/extensions/Xinerama.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -41116,132 +28821,76 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -<<<<<<< .working if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then ->>>>>>> .merge-right.r276078 ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) -<<<<<<< .working - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&2;} - -======= - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&2;} + ;; esac -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 +$as_echo_n "checking for X11/extensions/Xinerama.h... " >&6; } if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_cv_header_X11_extensions_Xinerama_h=$ac_header_preproc fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6; } -======= -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 +$as_echo "$ac_cv_header_X11_extensions_Xinerama_h" >&6; } fi -if test $ac_cv_header_X11_extensions_Xinerama_h = yes; then +if test "x$ac_cv_header_X11_extensions_Xinerama_h" = x""yes; then : else - { { echo "$as_me:$LINENO: error: Xinerama header not found." >&5 -echo "$as_me: error: Xinerama header not found." >&2;} + { { $as_echo "$as_me:$LINENO: error: Xinerama header not found." >&5 +$as_echo "$as_me: error: Xinerama header not found." >&2;} { (exit 1); exit 1; }; } fi @@ -41254,15 +28903,10 @@ fi XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl" fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for XineramaIsActive in -lXinerama" >&5 -echo $ECHO_N "checking for XineramaIsActive in -lXinerama... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for XineramaIsActive in -lXinerama" >&5 -echo $ECHO_N "checking for XineramaIsActive in -lXinerama... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for XineramaIsActive in -lXinerama" >&5 +$as_echo_n "checking for XineramaIsActive in -lXinerama... " >&6; } if test "${ac_cv_lib_Xinerama_XineramaIsActive+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXinerama $XINERAMA_EXTRA_LIBS $LIBS" @@ -41273,87 +28917,58 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XineramaIsActive (); int main () { -XineramaIsActive (); +return XineramaIsActive (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -<<<<<<< .working if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 -======= -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 ->>>>>>> .merge-right.r276078 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 -<<<<<<< .working - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then -======= - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then ->>>>>>> .merge-right.r276078 + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_Xinerama_XineramaIsActive=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_Xinerama_XineramaIsActive=no + ac_cv_lib_Xinerama_XineramaIsActive=no fi -<<<<<<< .working +rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -======= -rm -f conftest.err conftest.$ac_objext \ ->>>>>>> .merge-right.r276078 conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -<<<<<<< .working -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 -echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaIsActive" >&6; } -if test $ac_cv_lib_Xinerama_XineramaIsActive = yes; then -======= -echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 -echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaIsActive" >&6 -if test $ac_cv_lib_Xinerama_XineramaIsActive = yes; then ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 +$as_echo "$ac_cv_lib_Xinerama_XineramaIsActive" >&6; } +if test "x$ac_cv_lib_Xinerama_XineramaIsActive" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBXINERAMA 1 _ACEOF @@ -41361,28 +28976,18 @@ _ACEOF LIBS="-lXinerama $LIBS" else - { { echo "$as_me:$LINENO: error: Xinerama not functional?" >&5 -echo "$as_me: error: Xinerama not functional?" >&2;} + { { $as_echo "$as_me:$LINENO: error: Xinerama not functional?" >&5 +$as_echo "$as_me: error: Xinerama not functional?" >&2;} { (exit 1); exit 1; }; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no, libXinerama not found or wrong architecture." >&5 -echo "${ECHO_T}no, libXinerama not found or wrong architecture." >&6; } -======= - echo "$as_me:$LINENO: result: no, libXinerama not found or wrong architecture." >&5 -echo "${ECHO_T}no, libXinerama not found or wrong architecture." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no, libXinerama not found or wrong architecture." >&5 +$as_echo "no, libXinerama not found or wrong architecture." >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -41396,15 +29001,10 @@ if test -z "$with_ant_home"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -41417,37 +29017,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6; } -======= - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ANT" >&5 +$as_echo "$ANT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -41459,15 +29050,10 @@ else do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -41481,37 +29067,28 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6; } -======= - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ANT" >&5 +$as_echo "$ANT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -41520,8 +29097,8 @@ done fi if test -z "$ANT"; then - { { echo "$as_me:$LINENO: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&5 -echo "$as_me: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&2;} + { { $as_echo "$as_me:$LINENO: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&5 +$as_echo "$as_me: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&2;} { (exit 1); exit 1; }; } else # resolve relative or absolute symlink @@ -41547,13 +29124,8 @@ else fi ant_minminor1=`echo $ant_minver | cut -d"." -f2` -<<<<<<< .working - { echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5 -echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5 -echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5 +$as_echo_n "checking whether ant is >= $ant_minver... " >&6; } ant_version=`$ANT -version | $AWK '{ print $4; }'` ant_version_major=`echo $ant_version | cut -d. -f1` ant_version_minor=`echo $ant_version | cut -d. -f2` @@ -41561,33 +29133,18 @@ echo "configure: ant_version $ant_version " >&5 echo "configure: ant_version_major $ant_version_major " >&5 echo "configure: ant_version_minor $ant_version_minor " >&5 if test "$ant_version_major" -ge "2"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6; } -======= - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6; } -======= - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } else - { { echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5 -echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;} + { { $as_echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5 +$as_echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working - { echo "$as_me:$LINENO: checking if $ANT works" >&5 -echo $ECHO_N "checking if $ANT works... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking if $ANT works" >&5 -echo $ECHO_N "checking if $ANT works... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking if $ANT works" >&5 +$as_echo_n "checking if $ANT works... " >&6; } cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { @@ -41614,16 +29171,11 @@ EOF { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } if test $? = 0 && test -f ./conftest.class ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: Ant works" >&5 -echo "${ECHO_T}Ant works" >&6; } -======= - echo "$as_me:$LINENO: result: Ant works" >&5 -echo "${ECHO_T}Ant works" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Ant works" >&5 +$as_echo "Ant works" >&6; } if test -z "$WITH_ANT_HOME"; then ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"` if test -z "$ANT_HOME"; then @@ -41636,8 +29188,8 @@ echo "${ECHO_T}Ant works" >&6 echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 - { echo "$as_me:$LINENO: WARNING: Ant does not work - Some Java projects will not build!" >&5 -echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: Ant does not work - Some Java projects will not build!" >&5 +$as_echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} ANT_HOME="" echo "Ant does not work - Some Java projects will not build!" >>warn fi @@ -41650,13 +29202,8 @@ fi if test "$ANT_HOME" != "NO_ANT_HOME"; then -<<<<<<< .working - { echo "$as_me:$LINENO: checking Ant lib directory" >&5 -echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6; } -======= - echo "$as_me:$LINENO: checking Ant lib directory" >&5 -echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: checking Ant lib directory" >&5 +$as_echo_n "checking Ant lib directory... " >&6; } if test -f $ANT_HOME/lib/ant.jar; then ANT_LIB="$ANT_HOME/lib" else @@ -41672,33 +29219,23 @@ echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 if test -f $ANT_HOME/lib/ant/ant.jar; then ANT_LIB="$ANT_HOME/lib/ant" else - { { echo "$as_me:$LINENO: error: Ant libraries not found!" >&5 -echo "$as_me: error: Ant libraries not found!" >&2;} + { { $as_echo "$as_me:$LINENO: error: Ant libraries not found!" >&5 +$as_echo "$as_me: error: Ant libraries not found!" >&2;} { (exit 1); exit 1; }; } fi fi fi fi fi -<<<<<<< .working - { echo "$as_me:$LINENO: result: Ant lib directory found." >&5 -echo "${ECHO_T}Ant lib directory found." >&6; } -======= - echo "$as_me:$LINENO: result: Ant lib directory found." >&5 -echo "${ECHO_T}Ant lib directory found." >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: Ant lib directory found." >&5 +$as_echo "Ant lib directory found." >&6; } fi fi if test "$ENABLE_MEDIAWIKI" = "YES"; then -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5 -echo $ECHO_N "checking whether ant supports mapper type=\"regexp\"... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5 -echo $ECHO_N "checking whether ant supports mapper type=\"regexp\"... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5 +$as_echo_n "checking whether ant supports mapper type=\"regexp\"... " >&6; } rm -rf confdir mkdir confdir cat > conftest.java << EOF @@ -41733,338 +29270,178 @@ EOF { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } if test $? = 0 && test -f ./conftest.class ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } rm -rf confdir else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 rm -rf confdir - { { echo "$as_me:$LINENO: error: no. Did you install ant-apache-regexp?" >&5 -echo "$as_me: error: no. Did you install ant-apache-regexp?" >&2;} + { { $as_echo "$as_me:$LINENO: error: no. Did you install ant-apache-regexp?" >&5 +$as_echo "$as_me: error: no. Did you install ant-apache-regexp?" >&2;} { (exit 1); exit 1; }; } fi fi rm -f conftest* core core.* *.core -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which languages to be built" >&5 -echo $ECHO_N "checking which languages to be built... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which languages to be built" >&5 -echo $ECHO_N "checking which languages to be built... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking which languages to be built" >&5 +$as_echo_n "checking which languages to be built... " >&6; } WITH_LANG="$with_lang" if test -z "$WITH_LANG"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: en-US" >&5 -echo "${ECHO_T}en-US" >&6; } -======= - echo "$as_me:$LINENO: result: en-US" >&5 -echo "${ECHO_T}en-US" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $WITH_LANG" >&5 -echo "${ECHO_T}$WITH_LANG" >&6; } -======= - echo "$as_me:$LINENO: result: $WITH_LANG" >&5 -echo "${ECHO_T}$WITH_LANG" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which languages have poor help localizations" >&5 -echo $ECHO_N "checking which languages have poor help localizations... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which languages have poor help localizations" >&5 -echo $ECHO_N "checking which languages have poor help localizations... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: en-US" >&5 +$as_echo "en-US" >&6; } +else + { $as_echo "$as_me:$LINENO: result: $WITH_LANG" >&5 +$as_echo "$WITH_LANG" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking which languages have poor help localizations" >&5 +$as_echo_n "checking which languages have poor help localizations... " >&6; } WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations" if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -======= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 ->>>>>>> .merge-right.r276078 -else -<<<<<<< .working - { echo "$as_me:$LINENO: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 -echo "${ECHO_T}$WITH_POOR_HELP_LOCALIZATIONS" >&6; } -======= - echo "$as_me:$LINENO: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 -echo "${ECHO_T}$WITH_POOR_HELP_LOCALIZATIONS" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking which dictionaries to include" >&5 -echo $ECHO_N "checking which dictionaries to include... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking which dictionaries to include" >&5 -echo $ECHO_N "checking which dictionaries to include... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } +else + { $as_echo "$as_me:$LINENO: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 +$as_echo "$WITH_POOR_HELP_LOCALIZATIONS" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking which dictionaries to include" >&5 +$as_echo_n "checking which dictionaries to include... " >&6; } if test -z "$with_dict"; then WITH_DICT=,ALL, -<<<<<<< .working - { echo "$as_me:$LINENO: result: ALL" >&5 -echo "${ECHO_T}ALL" >&6; } -======= - echo "$as_me:$LINENO: result: ALL" >&5 -echo "${ECHO_T}ALL" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: ALL" >&5 +$as_echo "ALL" >&6; } else WITH_DICT=","$with_dict"," -<<<<<<< .working - { echo "$as_me:$LINENO: result: $with_dict" >&5 -echo "${ECHO_T}$with_dict" >&6; } -======= - echo "$as_me:$LINENO: result: $with_dict" >&5 -echo "${ECHO_T}$with_dict" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for additional 'intro' bitmaps" >&5 -echo $ECHO_N "checking for additional 'intro' bitmaps... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for additional 'intro' bitmaps" >&5 -echo $ECHO_N "checking for additional 'intro' bitmaps... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $with_dict" >&5 +$as_echo "$with_dict" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking for additional 'intro' bitmaps" >&5 +$as_echo_n "checking for additional 'intro' bitmaps... " >&6; } INTRO_BITMAPS= if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then INTRO_BITMAPS= -<<<<<<< .working - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -======= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: Intro bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:$LINENO: WARNING: Intro bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then INTRO_BITMAPS="$INTRO_BITMAPS $bitmap" fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $INTRO_BITMAPS" >&5 -echo "${ECHO_T}$INTRO_BITMAPS" >&6; } -======= - echo "$as_me:$LINENO: result: $INTRO_BITMAPS" >&5 -echo "${ECHO_T}$INTRO_BITMAPS" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for additional 'about' bitmaps" >&5 -echo $ECHO_N "checking for additional 'about' bitmaps... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for additional 'about' bitmaps" >&5 -echo $ECHO_N "checking for additional 'about' bitmaps... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $INTRO_BITMAPS" >&5 +$as_echo "$INTRO_BITMAPS" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking for additional 'about' bitmaps" >&5 +$as_echo_n "checking for additional 'about' bitmaps... " >&6; } ABOUT_BITMAPS= if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then ABOUT_BITMAPS= -<<<<<<< .working - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -======= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: About bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:$LINENO: WARNING: About bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap" fi done -<<<<<<< .working - { echo "$as_me:$LINENO: result: $ABOUT_BITMAPS" >&5 -echo "${ECHO_T}$ABOUT_BITMAPS" >&6; } -======= - echo "$as_me:$LINENO: result: $ABOUT_BITMAPS" >&5 -echo "${ECHO_T}$ABOUT_BITMAPS" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $ABOUT_BITMAPS" >&5 +$as_echo "$ABOUT_BITMAPS" >&6; } fi OOO_VENDOR= -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for vendor" >&5 -echo $ECHO_N "checking for vendor... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for vendor" >&5 -echo $ECHO_N "checking for vendor... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for vendor" >&5 +$as_echo_n "checking for vendor... " >&6; } if test -z "$with_vendor" -o "$with_vendor" = "no" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6; } -======= - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not set" >&5 +$as_echo "not set" >&6; } else OOO_VENDOR="$with_vendor" -<<<<<<< .working - { echo "$as_me:$LINENO: result: $OOO_VENDOR" >&5 -echo "${ECHO_T}$OOO_VENDOR" >&6; } -======= - echo "$as_me:$LINENO: result: $OOO_VENDOR" >&5 -echo "${ECHO_T}$OOO_VENDOR" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $OOO_VENDOR" >&5 +$as_echo "$OOO_VENDOR" >&6; } fi UNIXWRAPPERNAME= -<<<<<<< .working -{ echo "$as_me:$LINENO: checking for UNIX wrapper name" >&5 -echo $ECHO_N "checking for UNIX wrapper name... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking for UNIX wrapper name" >&5 -echo $ECHO_N "checking for UNIX wrapper name... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking for UNIX wrapper name" >&5 +$as_echo_n "checking for UNIX wrapper name... " >&6; } if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no" -o "$with_unix_wrapper" = "yes" ; then -<<<<<<< .working - { echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6; } -======= - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not set" >&5 +$as_echo "not set" >&6; } else UNIXWRAPPERNAME="$with_unix_wrapper" -<<<<<<< .working - { echo "$as_me:$LINENO: result: $UNIXWRAPPERNAME" >&5 -echo "${ECHO_T}$UNIXWRAPPERNAME" >&6; } -======= - echo "$as_me:$LINENO: result: $UNIXWRAPPERNAME" >&5 -echo "${ECHO_T}$UNIXWRAPPERNAME" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to statically link to Gtk" >&5 -echo $ECHO_N "checking whether to statically link to Gtk... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to statically link to Gtk" >&5 -echo $ECHO_N "checking whether to statically link to Gtk... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $UNIXWRAPPERNAME" >&5 +$as_echo "$UNIXWRAPPERNAME" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to statically link to Gtk" >&5 +$as_echo_n "checking whether to statically link to Gtk... " >&6; } if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then ENABLE_STATIC_GTK="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_STATIC_GTK="FALSE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 -fi - - -<<<<<<< .working -{ echo "$as_me:$LINENO: checking whether to use layout dialogs" >&5 -echo $ECHO_N "checking whether to use layout dialogs... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking whether to use layout dialogs" >&5 -echo $ECHO_N "checking whether to use layout dialogs... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +{ $as_echo "$as_me:$LINENO: checking whether to use layout dialogs" >&5 +$as_echo_n "checking whether to use layout dialogs... " >&6; } if test -n "$enable_layout" && test "$enable_layout" != "no"; then ENABLE_LAYOUT="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -======= - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_LAYOUT="FALSE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -======= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi # =================================================================== # De- or increase default verbosity of build process # =================================================================== -<<<<<<< .working -{ echo "$as_me:$LINENO: checking build verbosity" >&5 -echo $ECHO_N "checking build verbosity... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking build verbosity" >&5 -echo $ECHO_N "checking build verbosity... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking build verbosity" >&5 +$as_echo_n "checking build verbosity... " >&6; } if test -n "$enable_verbose"; then if test "$enable_verbose" == "yes"; then VERBOSE="TRUE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: high" >&5 -echo "${ECHO_T}high" >&6; } -======= - echo "$as_me:$LINENO: result: high" >&5 -echo "${ECHO_T}high" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: high" >&5 +$as_echo "high" >&6; } fi if test "$enable_verbose" == "no"; then VERBOSE="FALSE" -<<<<<<< .working - { echo "$as_me:$LINENO: result: low" >&5 -echo "${ECHO_T}low" >&6; } -======= - echo "$as_me:$LINENO: result: low" >&5 -echo "${ECHO_T}low" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: low" >&5 +$as_echo "low" >&6; } fi else -<<<<<<< .working - { echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6; } -======= - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: not set" >&5 +$as_echo "not set" >&6; } fi @@ -42075,37 +29452,22 @@ echo "* *" echo "********************************************************************" if test -z "$COMPATH"; then - { { echo "$as_me:$LINENO: error: No compiler found." >&5 -echo "$as_me: error: No compiler found." >&2;} + { { $as_echo "$as_me:$LINENO: error: No compiler found." >&5 +$as_echo "$as_me: error: No compiler found." >&2;} { (exit 1); exit 1; }; } fi -<<<<<<< .working -{ echo "$as_me:$LINENO: checking solver path" >&5 -echo $ECHO_N "checking solver path... $ECHO_C" >&6; } -======= -echo "$as_me:$LINENO: checking solver path" >&5 -echo $ECHO_N "checking solver path... $ECHO_C" >&6 ->>>>>>> .merge-right.r276078 +{ $as_echo "$as_me:$LINENO: checking solver path" >&5 +$as_echo_n "checking solver path... " >&6; } if test -z "$with_local_solver"; then LOCAL_SOLVER="DEFAULT" -<<<<<<< .working - { echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6; } -======= - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLVER=$with_local_solver -<<<<<<< .working - { echo "$as_me:$LINENO: result: $with_local_solver" >&5 -echo "${ECHO_T}$with_local_solver" >&6; } -======= - echo "$as_me:$LINENO: result: $with_local_solver" >&5 -echo "${ECHO_T}$with_local_solver" >&6 ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: result: $with_local_solver" >&5 +$as_echo "$with_local_solver" >&6; } fi @@ -42114,7 +29476,8 @@ fi # make sure config.guess is +x; we execute config.guess, so it has to be so; chmod +x ./config.guess - ac_config_files="$ac_config_files set_soenv Makefile" +ac_config_files="$ac_config_files set_soenv Makefile" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -42133,151 +29496,115 @@ _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -<<<<<<< .working ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $as_unset $ac_var ;; esac ;; esac done -======= -{ ->>>>>>> .merge-right.r276078 (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; + ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end -<<<<<<< .working s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} -======= - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else -<<<<<<< .working - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} -======= - echo "not updating unwritable cache $cache_file" ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, +# take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. -<<<<<<< .working ac_script=' -======= -cat >confdef2opt.sed <<\_ACEOF ->>>>>>> .merge-right.r276078 +:mline +/\\$/{ + N + s,\\\n,, + b mline +} t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. -<<<<<<< .working ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -======= - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' ->>>>>>> .merge-right.r276078 done LIBOBJS=$ac_libobjs @@ -42285,12 +29612,14 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} +ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -42303,24 +29632,27 @@ ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -DUALCASE=1; export DUALCASE # for MKS sh -<<<<<<< .working @@ -42332,21 +29664,47 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -======= ->>>>>>> .merge-right.r276078 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset @@ -42355,14 +29713,11 @@ else fi -<<<<<<< .working # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. @@ -42385,53 +29740,33 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi -======= ->>>>>>> .merge-right.r276078 # Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -<<<<<<< .working -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done -======= -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done ->>>>>>> .merge-right.r276078 +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false @@ -42439,12 +29774,11 @@ fi # Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ -<<<<<<< .working X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -42458,191 +29792,104 @@ echo X/"$0" | q } s/.*/./; q'` -======= - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` ->>>>>>> .merge-right.r276078 - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi +# CDPATH. +$as_unset CDPATH - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && -<<<<<<< .working chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -======= - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -<<<<<<< .working +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then -======= - -if expr a : '\(a\)' >/dev/null 2>&1; then ->>>>>>> .merge-right.r276078 as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file -<<<<<<< .working if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -======= -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links ->>>>>>> .merge-right.r276078 - as_ln_s='cp -p' -<<<<<<< .working -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -======= - else + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi ->>>>>>> .merge-right.r276078 -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: @@ -42651,7 +29898,6 @@ else as_mkdir_p=false fi -<<<<<<< .working if test -x / >/dev/null 2>&1; then as_test_x='test -x' else @@ -42663,10 +29909,10 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else case $1 in - -*)set "./$1";; + -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi @@ -42674,9 +29920,6 @@ else ' fi as_executable_p=$as_test_x -======= -as_executable_p="test -f" ->>>>>>> .merge-right.r276078 # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -42685,35 +29928,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - exec 6>&1 -# Open the log real soon, to keep \$[0] and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - +# values after options handling. +ac_log=" This file was extended by $as_me, which was -<<<<<<< .working -generated by GNU Autoconf 2.61. Invocation command line was -======= -generated by GNU Autoconf 2.59. Invocation command line was ->>>>>>> .merge-right.r276078 +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -42721,174 +29943,107 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + _ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -======= -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi ->>>>>>> .merge-right.r276078 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" -cat >>$CONFIG_STATUS <<\_ACEOF +_ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<\_ACEOF -======= ->>>>>>> .merge-right.r276078 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -<<<<<<< .working -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages -======= - -V, --version print version number, then exit - -q, --quiet do not print progress messages ->>>>>>> .merge-right.r276078 + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." -_ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<_ACEOF -======= -cat >>$CONFIG_STATUS <<_ACEOF ->>>>>>> .merge-right.r276078 +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status -<<<<<<< .working -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -======= -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ->>>>>>> .merge-right.r276078 - -<<<<<<< .working -Copyright (C) 2006 Free Software Foundation, Inc. -======= -Copyright (C) 2003 Free Software Foundation, Inc. ->>>>>>> .merge-right.r276078 +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -<<<<<<< .working ac_pwd='$ac_pwd' srcdir='$srcdir' -======= -srcdir=$srcdir ->>>>>>> .merge-right.r276078 +AWK='$AWK' +test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - -*) + *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; -<<<<<<< .working --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; + $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) -======= - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) ->>>>>>> .merge-right.r276078 debug=: ;; --file | --fil | --fi | --f ) $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; -<<<<<<< .working --he | --h | --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; -======= - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" - ac_need_defaults=false;; ->>>>>>> .merge-right.r276078 + $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -<<<<<<< .working - -*) { echo "$as_me: error: unrecognized option: $1 + -*) { $as_echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 -======= - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} ->>>>>>> .merge-right.r276078 { (exit 1); exit 1; }; } ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; esac shift @@ -42902,69 +30057,47 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then -<<<<<<< .working - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -======= - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion ->>>>>>> .merge-right.r276078 + exec "\$@" fi _ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - echo "$ac_log" + $as_echo "$ac_log" } >&5 -======= ->>>>>>> .merge-right.r276078 -<<<<<<< .working _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF -======= ->>>>>>> .merge-right.r276078 - -<<<<<<< .working -cat >>$CONFIG_STATUS <<\_ACEOF -======= ->>>>>>> .merge-right.r276078 - +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -cat >>$CONFIG_STATUS <<\_ACEOF +# Handling of arguments. for ac_config_target in $ac_config_targets do -<<<<<<< .working case $ac_config_target in "set_soenv") CONFIG_FILES="$CONFIG_FILES set_soenv" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -======= - case "$ac_config_target" in - # Handling of arguments. - "set_soenv" ) CONFIG_FILES="$CONFIG_FILES set_soenv" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} ->>>>>>> .merge-right.r276078 + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -42974,1048 +30107,167 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") } || { - echo "$me: cannot create a temporary directory in ." >&2 + $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } -<<<<<<< .working -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -AWK!$AWK$ac_delim -SED!$SED$ac_delim -LOCAL_SOLENV!$LOCAL_SOLENV$ac_delim -_solenv!$_solenv$ac_delim -UPD!$UPD$ac_delim -SOURCEVERSION!$SOURCEVERSION$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -target!$target$ac_delim -target_cpu!$target_cpu$ac_delim -target_vendor!$target_vendor$ac_delim -target_os!$target_os$ac_delim -GNUTAR!$GNUTAR$ac_delim -OSVERSION!$OSVERSION$ac_delim -PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim -PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim -ENABLE_CRASHDUMP!$ENABLE_CRASHDUMP$ac_delim -VC_STANDARD!$VC_STANDARD$ac_delim -ENABLE_WERROR!$ENABLE_WERROR$ac_delim -ENABLE_DEBUG!$ENABLE_DEBUG$ac_delim -PRODUCT!$PRODUCT$ac_delim -PROFULLSWITCH!$PROFULLSWITCH$ac_delim -PROEXT!$PROEXT$ac_delim -ENABLE_SYMBOLS!$ENABLE_SYMBOLS$ac_delim -DISABLE_STRIP!$DISABLE_STRIP$ac_delim -ENABLE_CUPS!$ENABLE_CUPS$ac_delim -ENABLE_FONTCONFIG!$ENABLE_FONTCONFIG$ac_delim -WITH_BINFILTER!$WITH_BINFILTER$ac_delim -ENABLE_DIRECTX!$ENABLE_DIRECTX$ac_delim -DISABLE_ACTIVEX!$DISABLE_ACTIVEX$ac_delim -DISABLE_ATL!$DISABLE_ATL$ac_delim -ENABLE_RPATH!$ENABLE_RPATH$ac_delim -WITH_MYSPELL_DICTS!$WITH_MYSPELL_DICTS$ac_delim -SYSTEM_DICTS!$SYSTEM_DICTS$ac_delim -DICT_SYSTEM_DIR!$DICT_SYSTEM_DIR$ac_delim -HYPH_SYSTEM_DIR!$HYPH_SYSTEM_DIR$ac_delim -THES_SYSTEM_DIR!$THES_SYSTEM_DIR$ac_delim -USE_SHELL!$USE_SHELL$ac_delim -WITH_MINGWIN!$WITH_MINGWIN$ac_delim -SHELLPATH!$SHELLPATH$ac_delim -GCC_HOME!$GCC_HOME$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -COMPATH!$COMPATH$ac_delim -GCCVER!$GCCVER$ac_delim -HAVE_LD_BSYMBOLIC_FUNCTIONS!$HAVE_LD_BSYMBOLIC_FUNCTIONS$ac_delim -ENABLE_PCH!$ENABLE_PCH$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -======= ->>>>>>> .merge-right.r276078 -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - -<<<<<<< .working -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -NO_HIDS!$NO_HIDS$ac_delim -GNUMAKE!$GNUMAKE$ac_delim -_cc!$_cc$ac_delim -HAVE_LD_HASH_STYLE!$HAVE_LD_HASH_STYLE$ac_delim -PERL!$PERL$ac_delim -MSPDB_PATH!$MSPDB_PATH$ac_delim -COMEX!$COMEX$ac_delim -USE_MINGW!$USE_MINGW$ac_delim -MIDL_PATH!$MIDL_PATH$ac_delim -CSC_PATH!$CSC_PATH$ac_delim -FRAME_HOME!$FRAME_HOME$ac_delim -CPP!$CPP$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -CXXCPP!$CXXCPP$ac_delim -SIZEOF_LONG!$SIZEOF_LONG$ac_delim -WORDS_BIGENDIAN!$WORDS_BIGENDIAN$ac_delim -LFS_CFLAGS!$LFS_CFLAGS$ac_delim -ENABLE_VBA!$ENABLE_VBA$ac_delim -VBA_EXTENSION!$VBA_EXTENSION$ac_delim -PAM!$PAM$ac_delim -NEW_SHADOW_API!$NEW_SHADOW_API$ac_delim -PAM_LINK!$PAM_LINK$ac_delim -CRYPT_LINK!$CRYPT_LINK$ac_delim -GXX_INCLUDE_PATH!$GXX_INCLUDE_PATH$ac_delim -MINGW_LIB_INCLUDE_PATH!$MINGW_LIB_INCLUDE_PATH$ac_delim -MINGW_BACKWARD_INCLUDE_PATH!$MINGW_BACKWARD_INCLUDE_PATH$ac_delim -MINGW_CLIB_DIR!$MINGW_CLIB_DIR$ac_delim -MINGW_SHARED_GCCLIB!$MINGW_SHARED_GCCLIB$ac_delim -MINGW_GCCLIB_EH!$MINGW_GCCLIB_EH$ac_delim -MINGW_SHARED_GXXLIB!$MINGW_SHARED_GXXLIB$ac_delim -MINGW_GCCDLL!$MINGW_GCCDLL$ac_delim -MINGW_GXXDLL!$MINGW_GXXDLL$ac_delim -EXCEPTIONS!$EXCEPTIONS$ac_delim -STLPORT4!$STLPORT4$ac_delim -STLPORT_VER!$STLPORT_VER$ac_delim -USE_SYSTEM_STL!$USE_SYSTEM_STL$ac_delim -HAVE_GCC_VISIBILITY_FEATURE!$HAVE_GCC_VISIBILITY_FEATURE$ac_delim -ALLOC!$ALLOC$ac_delim -BUILD_VER_STRING!$BUILD_VER_STRING$ac_delim -SOLAR_JAVA!$SOLAR_JAVA$ac_delim -JAVAINTERPRETER!$JAVAINTERPRETER$ac_delim -JAVACOMPILER!$JAVACOMPILER$ac_delim -JAVACISGCJ!$JAVACISGCJ$ac_delim -JAVADOC!$JAVADOC$ac_delim -AWTLIB!$AWTLIB$ac_delim -JAVAAOTCOMPILER!$JAVAAOTCOMPILER$ac_delim -JAVA_HOME!$JAVA_HOME$ac_delim -JDK!$JDK$ac_delim -JAVAFLAGS!$JAVAFLAGS$ac_delim -DMAKE!$DMAKE$ac_delim -BUILD_DMAKE!$BUILD_DMAKE$ac_delim -EPM!$EPM$ac_delim -DPKG!$DPKG$ac_delim -PKGMK!$PKGMK$ac_delim -BUILD_EPM!$BUILD_EPM$ac_delim -PKGFORMAT!$PKGFORMAT$ac_delim -RPM!$RPM$ac_delim -GPERF!$GPERF$ac_delim -MINGWCXX!$MINGWCXX$ac_delim -MINGWSTRIP!$MINGWSTRIP$ac_delim -BUILD_UNOWINREG!$BUILD_UNOWINREG$ac_delim -BUILD_QADEVOOO!$BUILD_QADEVOOO$ac_delim -SYSTEM_STDLIBS!$SYSTEM_STDLIBS$ac_delim -SYSTEM_ZLIB!$SYSTEM_ZLIB$ac_delim -SYSTEM_JPEG!$SYSTEM_JPEG$ac_delim -SYSTEM_EXPAT!$SYSTEM_EXPAT$ac_delim -PKG_CONFIG!$PKG_CONFIG$ac_delim -LIBWPD_CFLAGS!$LIBWPD_CFLAGS$ac_delim -LIBWPD_LIBS!$LIBWPD_LIBS$ac_delim -SYSTEM_LIBWPD!$SYSTEM_LIBWPD$ac_delim -FREETYPE_CFLAGS!$FREETYPE_CFLAGS$ac_delim -FREETYPE_LIBS!$FREETYPE_LIBS$ac_delim -USE_FT_EMBOLDEN!$USE_FT_EMBOLDEN$ac_delim -LIBXSLT_CFLAGS!$LIBXSLT_CFLAGS$ac_delim -LIBXSLT_LIBS!$LIBXSLT_LIBS$ac_delim -XSLTPROC!$XSLTPROC$ac_delim -SYSTEM_LIBXSLT!$SYSTEM_LIBXSLT$ac_delim -LIBXML_CFLAGS!$LIBXML_CFLAGS$ac_delim -LIBXML_LIBS!$LIBXML_LIBS$ac_delim -SYSTEM_LIBXML!$SYSTEM_LIBXML$ac_delim -PYTHON!$PYTHON$ac_delim -PYTHON_VERSION!$PYTHON_VERSION$ac_delim -PYTHON_PREFIX!$PYTHON_PREFIX$ac_delim -PYTHON_EXEC_PREFIX!$PYTHON_EXEC_PREFIX$ac_delim -PYTHON_PLATFORM!$PYTHON_PLATFORM$ac_delim -pythondir!$pythondir$ac_delim -pkgpythondir!$pkgpythondir$ac_delim -pyexecdir!$pyexecdir$ac_delim -pkgpyexecdir!$pkgpyexecdir$ac_delim -BZIP2!$BZIP2$ac_delim -SYSTEM_PYTHON!$SYSTEM_PYTHON$ac_delim -PYTHON_CFLAGS!$PYTHON_CFLAGS$ac_delim -PYTHON_LIBS!$PYTHON_LIBS$ac_delim -HOME!$HOME$ac_delim -SYSTEM_DB!$SYSTEM_DB$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -======= -# -# CONFIG_FILES section. -# ->>>>>>> .merge-right.r276078 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -<<<<<<< .working -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr fi -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -DB_VERSION!$DB_VERSION$ac_delim -DB_INCLUDES!$DB_INCLUDES$ac_delim -DB_JAR!$DB_JAR$ac_delim -SYSTEM_LUCENE!$SYSTEM_LUCENE$ac_delim -LUCENE_CORE_JAR!$LUCENE_CORE_JAR$ac_delim -LUCENE_ANALYZERS_JAR!$LUCENE_ANALYZERS_JAR$ac_delim -SYSTEM_HSQLDB!$SYSTEM_HSQLDB$ac_delim -HSQLDB_JAR!$HSQLDB_JAR$ac_delim -SYSTEM_BSH!$SYSTEM_BSH$ac_delim -BSH_JAR!$BSH_JAR$ac_delim -SERIALIZER_JAR!$SERIALIZER_JAR$ac_delim -SYSTEM_SAXON!$SYSTEM_SAXON$ac_delim -SAXON_JAR!$SAXON_JAR$ac_delim -CURLCONFIG!$CURLCONFIG$ac_delim -SYSTEM_CURL!$SYSTEM_CURL$ac_delim -CURL_CFLAGS!$CURL_CFLAGS$ac_delim -CURL_LIBS!$CURL_LIBS$ac_delim -SYSTEM_BOOST!$SYSTEM_BOOST$ac_delim -SYSTEM_VIGRA!$SYSTEM_VIGRA$ac_delim -SYSTEM_ODBC_HEADERS!$SYSTEM_ODBC_HEADERS$ac_delim -WITH_MOZILLA!$WITH_MOZILLA$ac_delim -WITH_LDAP!$WITH_LDAP$ac_delim -WITH_OPENLDAP!$WITH_OPENLDAP$ac_delim -MOZ_NSS_CFLAGS!$MOZ_NSS_CFLAGS$ac_delim -MOZ_NSS_LIBS!$MOZ_NSS_LIBS$ac_delim -NSS_LIB!$NSS_LIB$ac_delim -MOZ_NSPR_CFLAGS!$MOZ_NSPR_CFLAGS$ac_delim -MOZ_NSPR_LIBS!$MOZ_NSPR_LIBS$ac_delim -NSPR_LIB!$NSPR_LIB$ac_delim -MOZILLAXPCOM_CFLAGS!$MOZILLAXPCOM_CFLAGS$ac_delim -MOZILLAXPCOM_LIBS!$MOZILLAXPCOM_LIBS$ac_delim -MOZILLA_VERSION!$MOZILLA_VERSION$ac_delim -MOZILLA_TOOLKIT!$MOZILLA_TOOLKIT$ac_delim -MOZGTK2_CFLAGS!$MOZGTK2_CFLAGS$ac_delim -MOZGTK2_LIBS!$MOZGTK2_LIBS$ac_delim -MOZLIBREQ_CFLAGS!$MOZLIBREQ_CFLAGS$ac_delim -MOZLIBREQ_LIBS!$MOZLIBREQ_LIBS$ac_delim -BUILD_MOZAB!$BUILD_MOZAB$ac_delim -ENABLE_NSS_MODULE!$ENABLE_NSS_MODULE$ac_delim -MOZILLABUILD!$MOZILLABUILD$ac_delim -SYSTEM_MOZILLA!$SYSTEM_MOZILLA$ac_delim -MOZ_FLAVOUR!$MOZ_FLAVOUR$ac_delim -MOZ_INC!$MOZ_INC$ac_delim -MOZ_LIB!$MOZ_LIB$ac_delim -MOZ_LIB_XPCOM!$MOZ_LIB_XPCOM$ac_delim -MOZ_LDAP_CFLAGS!$MOZ_LDAP_CFLAGS$ac_delim -SYSTEM_SANE_HEADER!$SYSTEM_SANE_HEADER$ac_delim -SYSTEM_GENBRK!$SYSTEM_GENBRK$ac_delim -SYSTEM_GENCCODE!$SYSTEM_GENCCODE$ac_delim -SYSTEM_GENCMN!$SYSTEM_GENCMN$ac_delim -SYSTEM_ICU!$SYSTEM_ICU$ac_delim -GRAPHITE_CFLAGS!$GRAPHITE_CFLAGS$ac_delim -GRAPHITE_LIBS!$GRAPHITE_LIBS$ac_delim -ENABLE_GRAPHITE!$ENABLE_GRAPHITE$ac_delim -SYSTEM_GRAPHITE!$SYSTEM_GRAPHITE$ac_delim -XMKMF!$XMKMF$ac_delim -X_CFLAGS!$X_CFLAGS$ac_delim -X_PRE_LIBS!$X_PRE_LIBS$ac_delim -X_LIBS!$X_LIBS$ac_delim -X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim -XINC!$XINC$ac_delim -XLIB!$XLIB$ac_delim -XAU_LIBS!$XAU_LIBS$ac_delim -DISABLE_XAW!$DISABLE_XAW$ac_delim -SYSTEM_XRENDER_HEADERS!$SYSTEM_XRENDER_HEADERS$ac_delim -XRENDER_LINK!$XRENDER_LINK$ac_delim -XRANDR_CFLAGS!$XRANDR_CFLAGS$ac_delim -XRANDR_LIBS!$XRANDR_LIBS$ac_delim -XRANDR_DLOPEN!$XRANDR_DLOPEN$ac_delim -ENABLE_RANDR!$ENABLE_RANDR$ac_delim -DISABLE_NEON!$DISABLE_NEON$ac_delim -NEON_CFLAGS!$NEON_CFLAGS$ac_delim -NEON_LIBS!$NEON_LIBS$ac_delim -OPENSSL_CFLAGS!$OPENSSL_CFLAGS$ac_delim -OPENSSL_LIBS!$OPENSSL_LIBS$ac_delim -SYSTEM_OPENSSL!$SYSTEM_OPENSSL$ac_delim -SYSTEM_NEON!$SYSTEM_NEON$ac_delim -NEON_VERSION!$NEON_VERSION$ac_delim -ENABLE_AGG!$ENABLE_AGG$ac_delim -AGG_CFLAGS!$AGG_CFLAGS$ac_delim -AGG_LIBS!$AGG_LIBS$ac_delim -SYSTEM_AGG!$SYSTEM_AGG$ac_delim -AGG_VERSION!$AGG_VERSION$ac_delim -REDLAND_CFLAGS!$REDLAND_CFLAGS$ac_delim -REDLAND_LIBS!$REDLAND_LIBS$ac_delim -SYSTEM_REDLAND!$SYSTEM_REDLAND$ac_delim -HUNSPELL_CFLAGS!$HUNSPELL_CFLAGS$ac_delim -HUNSPELL_LIBS!$HUNSPELL_LIBS$ac_delim -SYSTEM_HUNSPELL!$SYSTEM_HUNSPELL$ac_delim -SYSTEM_HYPH!$SYSTEM_HYPH$ac_delim -HYPHEN_LIB!$HYPHEN_LIB$ac_delim -SYSTEM_MYTHES!$SYSTEM_MYTHES$ac_delim -SYSTEM_LPSOLVE!$SYSTEM_LPSOLVE$ac_delim -PSDK_HOME!$PSDK_HOME$ac_delim -WINDOWS_VISTA_PSDK!$WINDOWS_VISTA_PSDK$ac_delim -DIRECTXSDK_HOME!$DIRECTXSDK_HOME$ac_delim -DIRECTXSDK_LIB!$DIRECTXSDK_LIB$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -======= -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@EGREP@,$EGREP,;t t -s,@AWK@,$AWK,;t t -s,@SED@,$SED,;t t -s,@LOCAL_SOLENV@,$LOCAL_SOLENV,;t t -s,@_solenv@,$_solenv,;t t -s,@UPD@,$UPD,;t t -s,@SOURCEVERSION@,$SOURCEVERSION,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@GNUTAR@,$GNUTAR,;t t -s,@OSVERSION@,$OSVERSION,;t t -s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t -s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t -s,@ENABLE_CRASHDUMP@,$ENABLE_CRASHDUMP,;t t -s,@VC_STANDARD@,$VC_STANDARD,;t t -s,@ENABLE_WERROR@,$ENABLE_WERROR,;t t -s,@ENABLE_DEBUG@,$ENABLE_DEBUG,;t t -s,@PRODUCT@,$PRODUCT,;t t -s,@PROFULLSWITCH@,$PROFULLSWITCH,;t t -s,@PROEXT@,$PROEXT,;t t -s,@ENABLE_SYMBOLS@,$ENABLE_SYMBOLS,;t t -s,@DISABLE_STRIP@,$DISABLE_STRIP,;t t -s,@ENABLE_CUPS@,$ENABLE_CUPS,;t t -s,@ENABLE_FONTCONFIG@,$ENABLE_FONTCONFIG,;t t -s,@WITH_BINFILTER@,$WITH_BINFILTER,;t t -s,@ENABLE_DIRECTX@,$ENABLE_DIRECTX,;t t -s,@DISABLE_ACTIVEX@,$DISABLE_ACTIVEX,;t t -s,@DISABLE_ATL@,$DISABLE_ATL,;t t -s,@ENABLE_RPATH@,$ENABLE_RPATH,;t t -s,@WITH_MYSPELL_DICTS@,$WITH_MYSPELL_DICTS,;t t -s,@SYSTEM_DICTS@,$SYSTEM_DICTS,;t t -s,@DICT_SYSTEM_DIR@,$DICT_SYSTEM_DIR,;t t -s,@HYPH_SYSTEM_DIR@,$HYPH_SYSTEM_DIR,;t t -s,@THES_SYSTEM_DIR@,$THES_SYSTEM_DIR,;t t -s,@USE_SHELL@,$USE_SHELL,;t t -s,@WITH_MINGWIN@,$WITH_MINGWIN,;t t -s,@SHELLPATH@,$SHELLPATH,;t t -s,@GCC_HOME@,$GCC_HOME,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@COMPATH@,$COMPATH,;t t -s,@GCCVER@,$GCCVER,;t t -s,@HAVE_LD_BSYMBOLIC_FUNCTIONS@,$HAVE_LD_BSYMBOLIC_FUNCTIONS,;t t -s,@ENABLE_PCH@,$ENABLE_PCH,;t t -s,@NO_HIDS@,$NO_HIDS,;t t -s,@GNUMAKE@,$GNUMAKE,;t t -s,@_cc@,$_cc,;t t -s,@HAVE_LD_HASH_STYLE@,$HAVE_LD_HASH_STYLE,;t t -s,@PERL@,$PERL,;t t -s,@MSPDB_PATH@,$MSPDB_PATH,;t t -s,@COMEX@,$COMEX,;t t -s,@USE_MINGW@,$USE_MINGW,;t t -s,@MIDL_PATH@,$MIDL_PATH,;t t -s,@CSC_PATH@,$CSC_PATH,;t t -s,@FRAME_HOME@,$FRAME_HOME,;t t -s,@CPP@,$CPP,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@SIZEOF_LONG@,$SIZEOF_LONG,;t t -s,@WORDS_BIGENDIAN@,$WORDS_BIGENDIAN,;t t -s,@LFS_CFLAGS@,$LFS_CFLAGS,;t t -s,@ENABLE_VBA@,$ENABLE_VBA,;t t -s,@VBA_EXTENSION@,$VBA_EXTENSION,;t t -s,@PAM@,$PAM,;t t -s,@NEW_SHADOW_API@,$NEW_SHADOW_API,;t t -s,@PAM_LINK@,$PAM_LINK,;t t -s,@CRYPT_LINK@,$CRYPT_LINK,;t t -s,@GXX_INCLUDE_PATH@,$GXX_INCLUDE_PATH,;t t -s,@MINGW_LIB_INCLUDE_PATH@,$MINGW_LIB_INCLUDE_PATH,;t t -s,@MINGW_BACKWARD_INCLUDE_PATH@,$MINGW_BACKWARD_INCLUDE_PATH,;t t -s,@MINGW_CLIB_DIR@,$MINGW_CLIB_DIR,;t t -s,@MINGW_SHARED_GCCLIB@,$MINGW_SHARED_GCCLIB,;t t -s,@MINGW_GCCLIB_EH@,$MINGW_GCCLIB_EH,;t t -s,@MINGW_SHARED_GXXLIB@,$MINGW_SHARED_GXXLIB,;t t -s,@MINGW_GCCDLL@,$MINGW_GCCDLL,;t t -s,@MINGW_GXXDLL@,$MINGW_GXXDLL,;t t -s,@EXCEPTIONS@,$EXCEPTIONS,;t t -s,@STLPORT4@,$STLPORT4,;t t -s,@STLPORT_VER@,$STLPORT_VER,;t t -s,@USE_SYSTEM_STL@,$USE_SYSTEM_STL,;t t -s,@HAVE_GCC_VISIBILITY_FEATURE@,$HAVE_GCC_VISIBILITY_FEATURE,;t t -s,@ALLOC@,$ALLOC,;t t -s,@BUILD_VER_STRING@,$BUILD_VER_STRING,;t t -s,@SOLAR_JAVA@,$SOLAR_JAVA,;t t -s,@JAVAINTERPRETER@,$JAVAINTERPRETER,;t t -s,@JAVACOMPILER@,$JAVACOMPILER,;t t -s,@JAVACISGCJ@,$JAVACISGCJ,;t t -s,@JAVADOC@,$JAVADOC,;t t -s,@AWTLIB@,$AWTLIB,;t t -s,@JAVAAOTCOMPILER@,$JAVAAOTCOMPILER,;t t -s,@JAVA_HOME@,$JAVA_HOME,;t t -s,@JDK@,$JDK,;t t -s,@JAVAFLAGS@,$JAVAFLAGS,;t t -s,@DMAKE@,$DMAKE,;t t -s,@BUILD_DMAKE@,$BUILD_DMAKE,;t t -s,@EPM@,$EPM,;t t -s,@DPKG@,$DPKG,;t t -s,@PKGMK@,$PKGMK,;t t -s,@BUILD_EPM@,$BUILD_EPM,;t t -s,@PKGFORMAT@,$PKGFORMAT,;t t -s,@RPM@,$RPM,;t t -s,@GPERF@,$GPERF,;t t -s,@MINGWCXX@,$MINGWCXX,;t t -s,@ac_ct_MINGWCXX@,$ac_ct_MINGWCXX,;t t -s,@MINGWSTRIP@,$MINGWSTRIP,;t t -s,@ac_ct_MINGWSTRIP@,$ac_ct_MINGWSTRIP,;t t -s,@BUILD_UNOWINREG@,$BUILD_UNOWINREG,;t t -s,@BUILD_QADEVOOO@,$BUILD_QADEVOOO,;t t -s,@SYSTEM_STDLIBS@,$SYSTEM_STDLIBS,;t t -s,@SYSTEM_ZLIB@,$SYSTEM_ZLIB,;t t -s,@SYSTEM_JPEG@,$SYSTEM_JPEG,;t t -s,@SYSTEM_EXPAT@,$SYSTEM_EXPAT,;t t -s,@PKG_CONFIG@,$PKG_CONFIG,;t t -s,@LIBWPD_CFLAGS@,$LIBWPD_CFLAGS,;t t -s,@LIBWPD_LIBS@,$LIBWPD_LIBS,;t t -s,@SYSTEM_LIBWPD@,$SYSTEM_LIBWPD,;t t -s,@FREETYPE_CFLAGS@,$FREETYPE_CFLAGS,;t t -s,@FREETYPE_LIBS@,$FREETYPE_LIBS,;t t -s,@USE_FT_EMBOLDEN@,$USE_FT_EMBOLDEN,;t t -s,@LIBXSLT_CFLAGS@,$LIBXSLT_CFLAGS,;t t -s,@LIBXSLT_LIBS@,$LIBXSLT_LIBS,;t t -s,@XSLTPROC@,$XSLTPROC,;t t -s,@SYSTEM_LIBXSLT@,$SYSTEM_LIBXSLT,;t t -s,@LIBXML_CFLAGS@,$LIBXML_CFLAGS,;t t -s,@LIBXML_LIBS@,$LIBXML_LIBS,;t t -s,@SYSTEM_LIBXML@,$SYSTEM_LIBXML,;t t -s,@PYTHON@,$PYTHON,;t t -s,@PYTHON_VERSION@,$PYTHON_VERSION,;t t -s,@PYTHON_PREFIX@,$PYTHON_PREFIX,;t t -s,@PYTHON_EXEC_PREFIX@,$PYTHON_EXEC_PREFIX,;t t -s,@PYTHON_PLATFORM@,$PYTHON_PLATFORM,;t t -s,@pythondir@,$pythondir,;t t -s,@pkgpythondir@,$pkgpythondir,;t t -s,@pyexecdir@,$pyexecdir,;t t -s,@pkgpyexecdir@,$pkgpyexecdir,;t t -s,@BZIP2@,$BZIP2,;t t -s,@SYSTEM_PYTHON@,$SYSTEM_PYTHON,;t t -s,@PYTHON_CFLAGS@,$PYTHON_CFLAGS,;t t -s,@PYTHON_LIBS@,$PYTHON_LIBS,;t t -s,@HOME@,$HOME,;t t -s,@SYSTEM_DB@,$SYSTEM_DB,;t t -s,@DB_VERSION@,$DB_VERSION,;t t -s,@DB_INCLUDES@,$DB_INCLUDES,;t t -s,@DB_JAR@,$DB_JAR,;t t -s,@SYSTEM_LUCENE@,$SYSTEM_LUCENE,;t t -s,@LUCENE_CORE_JAR@,$LUCENE_CORE_JAR,;t t -s,@LUCENE_ANALYZERS_JAR@,$LUCENE_ANALYZERS_JAR,;t t -s,@SYSTEM_HSQLDB@,$SYSTEM_HSQLDB,;t t -s,@HSQLDB_JAR@,$HSQLDB_JAR,;t t -s,@SYSTEM_BSH@,$SYSTEM_BSH,;t t -s,@BSH_JAR@,$BSH_JAR,;t t -s,@SERIALIZER_JAR@,$SERIALIZER_JAR,;t t -s,@SYSTEM_SAXON@,$SYSTEM_SAXON,;t t -s,@SAXON_JAR@,$SAXON_JAR,;t t -s,@CURLCONFIG@,$CURLCONFIG,;t t -s,@SYSTEM_CURL@,$SYSTEM_CURL,;t t -s,@CURL_CFLAGS@,$CURL_CFLAGS,;t t -s,@CURL_LIBS@,$CURL_LIBS,;t t -s,@SYSTEM_BOOST@,$SYSTEM_BOOST,;t t -s,@SYSTEM_VIGRA@,$SYSTEM_VIGRA,;t t -s,@SYSTEM_ODBC_HEADERS@,$SYSTEM_ODBC_HEADERS,;t t -s,@WITH_MOZILLA@,$WITH_MOZILLA,;t t -s,@WITH_LDAP@,$WITH_LDAP,;t t -s,@WITH_OPENLDAP@,$WITH_OPENLDAP,;t t -s,@MOZ_NSS_CFLAGS@,$MOZ_NSS_CFLAGS,;t t -s,@MOZ_NSS_LIBS@,$MOZ_NSS_LIBS,;t t -s,@NSS_LIB@,$NSS_LIB,;t t -s,@MOZ_NSPR_CFLAGS@,$MOZ_NSPR_CFLAGS,;t t -s,@MOZ_NSPR_LIBS@,$MOZ_NSPR_LIBS,;t t -s,@NSPR_LIB@,$NSPR_LIB,;t t -s,@MOZILLAXPCOM_CFLAGS@,$MOZILLAXPCOM_CFLAGS,;t t -s,@MOZILLAXPCOM_LIBS@,$MOZILLAXPCOM_LIBS,;t t -s,@MOZILLA_VERSION@,$MOZILLA_VERSION,;t t -s,@MOZILLA_TOOLKIT@,$MOZILLA_TOOLKIT,;t t -s,@MOZGTK2_CFLAGS@,$MOZGTK2_CFLAGS,;t t -s,@MOZGTK2_LIBS@,$MOZGTK2_LIBS,;t t -s,@MOZLIBREQ_CFLAGS@,$MOZLIBREQ_CFLAGS,;t t -s,@MOZLIBREQ_LIBS@,$MOZLIBREQ_LIBS,;t t -s,@BUILD_MOZAB@,$BUILD_MOZAB,;t t -s,@ENABLE_NSS_MODULE@,$ENABLE_NSS_MODULE,;t t -s,@MOZILLABUILD@,$MOZILLABUILD,;t t -s,@SYSTEM_MOZILLA@,$SYSTEM_MOZILLA,;t t -s,@MOZ_FLAVOUR@,$MOZ_FLAVOUR,;t t -s,@MOZ_INC@,$MOZ_INC,;t t -s,@MOZ_LIB@,$MOZ_LIB,;t t -s,@MOZ_LIB_XPCOM@,$MOZ_LIB_XPCOM,;t t -s,@MOZ_LDAP_CFLAGS@,$MOZ_LDAP_CFLAGS,;t t -s,@SYSTEM_SANE_HEADER@,$SYSTEM_SANE_HEADER,;t t -s,@SYSTEM_GENBRK@,$SYSTEM_GENBRK,;t t -s,@SYSTEM_GENCCODE@,$SYSTEM_GENCCODE,;t t -s,@SYSTEM_GENCMN@,$SYSTEM_GENCMN,;t t -s,@SYSTEM_ICU@,$SYSTEM_ICU,;t t -s,@GRAPHITE_CFLAGS@,$GRAPHITE_CFLAGS,;t t -s,@GRAPHITE_LIBS@,$GRAPHITE_LIBS,;t t -s,@ENABLE_GRAPHITE@,$ENABLE_GRAPHITE,;t t -s,@SYSTEM_GRAPHITE@,$SYSTEM_GRAPHITE,;t t -s,@X_CFLAGS@,$X_CFLAGS,;t t -s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t -s,@X_LIBS@,$X_LIBS,;t t -s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t -s,@XINC@,$XINC,;t t -s,@XLIB@,$XLIB,;t t -s,@XAU_LIBS@,$XAU_LIBS,;t t -s,@DISABLE_XAW@,$DISABLE_XAW,;t t -s,@SYSTEM_XRENDER_HEADERS@,$SYSTEM_XRENDER_HEADERS,;t t -s,@XRENDER_LINK@,$XRENDER_LINK,;t t -s,@XRANDR_CFLAGS@,$XRANDR_CFLAGS,;t t -s,@XRANDR_LIBS@,$XRANDR_LIBS,;t t -s,@XRANDR_DLOPEN@,$XRANDR_DLOPEN,;t t -s,@ENABLE_RANDR@,$ENABLE_RANDR,;t t -s,@DISABLE_NEON@,$DISABLE_NEON,;t t -s,@NEON_CFLAGS@,$NEON_CFLAGS,;t t -s,@NEON_LIBS@,$NEON_LIBS,;t t -s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t -s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t -s,@SYSTEM_OPENSSL@,$SYSTEM_OPENSSL,;t t -s,@SYSTEM_NEON@,$SYSTEM_NEON,;t t -s,@NEON_VERSION@,$NEON_VERSION,;t t -s,@ENABLE_AGG@,$ENABLE_AGG,;t t -s,@AGG_CFLAGS@,$AGG_CFLAGS,;t t -s,@AGG_LIBS@,$AGG_LIBS,;t t -s,@SYSTEM_AGG@,$SYSTEM_AGG,;t t -s,@AGG_VERSION@,$AGG_VERSION,;t t -s,@REDLAND_CFLAGS@,$REDLAND_CFLAGS,;t t -s,@REDLAND_LIBS@,$REDLAND_LIBS,;t t -s,@SYSTEM_REDLAND@,$SYSTEM_REDLAND,;t t -s,@HUNSPELL_CFLAGS@,$HUNSPELL_CFLAGS,;t t -s,@HUNSPELL_LIBS@,$HUNSPELL_LIBS,;t t -s,@SYSTEM_HUNSPELL@,$SYSTEM_HUNSPELL,;t t -s,@SYSTEM_HYPH@,$SYSTEM_HYPH,;t t -s,@HYPHEN_LIB@,$HYPHEN_LIB,;t t -s,@SYSTEM_MYTHES@,$SYSTEM_MYTHES,;t t -s,@SYSTEM_LPSOLVE@,$SYSTEM_LPSOLVE,;t t -s,@PSDK_HOME@,$PSDK_HOME,;t t -s,@WINDOWS_VISTA_PSDK@,$WINDOWS_VISTA_PSDK,;t t -s,@DIRECTXSDK_HOME@,$DIRECTXSDK_HOME,;t t -s,@DIRECTXSDK_LIB@,$DIRECTXSDK_LIB,;t t -s,@NSIS_PATH@,$NSIS_PATH,;t t -s,@BISON@,$BISON,;t t -s,@FLEX@,$FLEX,;t t -s,@PATCH@,$PATCH,;t t -s,@GNUCP@,$GNUCP,;t t -s,@GNUPATCH@,$GNUPATCH,;t t -s,@CYGWIN_PATH@,$CYGWIN_PATH,;t t -s,@ML_EXE@,$ML_EXE,;t t -s,@ASM_HOME@,$ASM_HOME,;t t -s,@ZIP@,$ZIP,;t t -s,@UNZIP@,$UNZIP,;t t -s,@ZIP_HOME@,$ZIP_HOME,;t t -s,@ENABLE_GTK@,$ENABLE_GTK,;t t -s,@ENABLE_KDE@,$ENABLE_KDE,;t t -s,@ENABLE_KDE4@,$ENABLE_KDE4,;t t -s,@GCONF_CFLAGS@,$GCONF_CFLAGS,;t t -s,@GCONF_LIBS@,$GCONF_LIBS,;t t -s,@ENABLE_GCONF@,$ENABLE_GCONF,;t t -s,@GNOMEVFS_CFLAGS@,$GNOMEVFS_CFLAGS,;t t -s,@GNOMEVFS_LIBS@,$GNOMEVFS_LIBS,;t t -s,@ENABLE_GNOMEVFS@,$ENABLE_GNOMEVFS,;t t -s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t -s,@GTK_LIBS@,$GTK_LIBS,;t t -s,@DBUS_CFLAGS@,$DBUS_CFLAGS,;t t -s,@DBUS_LIBS@,$DBUS_LIBS,;t t -s,@GIO_CFLAGS@,$GIO_CFLAGS,;t t -s,@GIO_LIBS@,$GIO_LIBS,;t t -s,@ENABLE_GIO@,$ENABLE_GIO,;t t -s,@ENABLE_DBUS@,$ENABLE_DBUS,;t t -s,@ENABLE_SYSTRAY_GTK@,$ENABLE_SYSTRAY_GTK,;t t -s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t -s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t -s,@ENABLE_CAIRO@,$ENABLE_CAIRO,;t t -s,@BUILD_PIXMAN@,$BUILD_PIXMAN,;t t -s,@SYSTEM_CAIRO@,$SYSTEM_CAIRO,;t t -s,@ENABLE_OPENGL@,$ENABLE_OPENGL,;t t -s,@ENABLE_MINIMIZER@,$ENABLE_MINIMIZER,;t t -s,@ENABLE_PRESENTER_SCREEN@,$ENABLE_PRESENTER_SCREEN,;t t -s,@POPPLER_CFLAGS@,$POPPLER_CFLAGS,;t t -s,@POPPLER_LIBS@,$POPPLER_LIBS,;t t -s,@ENABLE_PDFIMPORT@,$ENABLE_PDFIMPORT,;t t -s,@SYSTEM_POPPLER@,$SYSTEM_POPPLER,;t t -s,@ENABLE_MEDIAWIKI@,$ENABLE_MEDIAWIKI,;t t -s,@SYSTEM_SERVLETAPI@,$SYSTEM_SERVLETAPI,;t t -s,@SERVLETAPI_JAR@,$SERVLETAPI_JAR,;t t -s,@ENABLE_REPORTBUILDER@,$ENABLE_REPORTBUILDER,;t t -s,@SYSTEM_JFREEREPORT@,$SYSTEM_JFREEREPORT,;t t -s,@SAC_JAR@,$SAC_JAR,;t t -s,@LIBXML_JAR@,$LIBXML_JAR,;t t -s,@FLUTE_JAR@,$FLUTE_JAR,;t t -s,@JFREEREPORT_JAR@,$JFREEREPORT_JAR,;t t -s,@LIBBASE_JAR@,$LIBBASE_JAR,;t t -s,@LIBLAYOUT_JAR@,$LIBLAYOUT_JAR,;t t -s,@LIBLOADER_JAR@,$LIBLOADER_JAR,;t t -s,@LIBFORMULA_JAR@,$LIBFORMULA_JAR,;t t -s,@LIBREPOSITORY_JAR@,$LIBREPOSITORY_JAR,;t t -s,@LIBFONTS_JAR@,$LIBFONTS_JAR,;t t -s,@LIBSERIALIZER_JAR@,$LIBSERIALIZER_JAR,;t t -s,@SYSTEM_APACHE_COMMONS@,$SYSTEM_APACHE_COMMONS,;t t -s,@COMMONS_CODEC_JAR@,$COMMONS_CODEC_JAR,;t t -s,@COMMONS_LANG_JAR@,$COMMONS_LANG_JAR,;t t -s,@COMMONS_HTTPCLIENT_JAR@,$COMMONS_HTTPCLIENT_JAR,;t t -s,@COMMONS_LOGGING_JAR@,$COMMONS_LOGGING_JAR,;t t -s,@MOC@,$MOC,;t t -s,@KDE_CFLAGS@,$KDE_CFLAGS,;t t -s,@KDE_LIBS@,$KDE_LIBS,;t t -s,@MOC4@,$MOC4,;t t -s,@KDE4_CFLAGS@,$KDE4_CFLAGS,;t t -s,@KDE4_LIBS@,$KDE4_LIBS,;t t -s,@ENABLE_LOCKDOWN@,$ENABLE_LOCKDOWN,;t t -s,@GOBJECT_CFLAGS@,$GOBJECT_CFLAGS,;t t -s,@GOBJECT_LIBS@,$GOBJECT_LIBS,;t t -s,@ENABLE_EVOAB2@,$ENABLE_EVOAB2,;t t -s,@ENABLE_KAB@,$ENABLE_KAB,;t t -s,@WITH_FONTOOO@,$WITH_FONTOOO,;t t -s,@SYSTEM_MSPACK@,$SYSTEM_MSPACK,;t t -s,@WITH_FONTS@,$WITH_FONTS,;t t -s,@WITHOUT_PPDS@,$WITHOUT_PPDS,;t t -s,@WITHOUT_AFMS@,$WITHOUT_AFMS,;t t -s,@SCPDEFS@,$SCPDEFS,;t t -s,@USE_XINERAMA@,$USE_XINERAMA,;t t -s,@XINERAMA_LINK@,$XINERAMA_LINK,;t t -s,@ANT@,$ANT,;t t -s,@ANT_HOME@,$ANT_HOME,;t t -s,@ANT_LIB@,$ANT_LIB,;t t -s,@WITH_LANG@,$WITH_LANG,;t t -s,@WITH_POOR_HELP_LOCALIZATIONS@,$WITH_POOR_HELP_LOCALIZATIONS,;t t -s,@WITH_DICT@,$WITH_DICT,;t t -s,@INTRO_BITMAPS@,$INTRO_BITMAPS,;t t -s,@ABOUT_BITMAPS@,$ABOUT_BITMAPS,;t t -s,@OOO_VENDOR@,$OOO_VENDOR,;t t -s,@UNIXWRAPPERNAME@,$UNIXWRAPPERNAME,;t t -s,@ENABLE_STATIC_GTK@,$ENABLE_STATIC_GTK,;t t -s,@ENABLE_LAYOUT@,$ENABLE_LAYOUT,;t t -s,@VERBOSE@,$VERBOSE,;t t -s,@LOCAL_SOLVER@,$LOCAL_SOLVER,;t t -s,@BUILD_TYPE@,$BUILD_TYPE,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF ->>>>>>> .merge-right.r276078 - -<<<<<<< .working -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -======= ->>>>>>> .merge-right.r276078 -_ACEOF -<<<<<<< .working -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF -======= ->>>>>>> .merge-right.r276078 - -<<<<<<< .working -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -NSIS_PATH!$NSIS_PATH$ac_delim -BISON!$BISON$ac_delim -FLEX!$FLEX$ac_delim -PATCH!$PATCH$ac_delim -GNUCP!$GNUCP$ac_delim -GNUPATCH!$GNUPATCH$ac_delim -CYGWIN_PATH!$CYGWIN_PATH$ac_delim -ML_EXE!$ML_EXE$ac_delim -ASM_HOME!$ASM_HOME$ac_delim -ZIP!$ZIP$ac_delim -UNZIP!$UNZIP$ac_delim -ZIP_HOME!$ZIP_HOME$ac_delim -ENABLE_GTK!$ENABLE_GTK$ac_delim -ENABLE_KDE!$ENABLE_KDE$ac_delim -ENABLE_KDE4!$ENABLE_KDE4$ac_delim -GCONF_CFLAGS!$GCONF_CFLAGS$ac_delim -GCONF_LIBS!$GCONF_LIBS$ac_delim -ENABLE_GCONF!$ENABLE_GCONF$ac_delim -GNOMEVFS_CFLAGS!$GNOMEVFS_CFLAGS$ac_delim -GNOMEVFS_LIBS!$GNOMEVFS_LIBS$ac_delim -ENABLE_GNOMEVFS!$ENABLE_GNOMEVFS$ac_delim -GTK_CFLAGS!$GTK_CFLAGS$ac_delim -GTK_LIBS!$GTK_LIBS$ac_delim -DBUS_CFLAGS!$DBUS_CFLAGS$ac_delim -DBUS_LIBS!$DBUS_LIBS$ac_delim -GIO_CFLAGS!$GIO_CFLAGS$ac_delim -GIO_LIBS!$GIO_LIBS$ac_delim -ENABLE_GIO!$ENABLE_GIO$ac_delim -ENABLE_DBUS!$ENABLE_DBUS$ac_delim -ENABLE_SYSTRAY_GTK!$ENABLE_SYSTRAY_GTK$ac_delim -CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim -CAIRO_LIBS!$CAIRO_LIBS$ac_delim -ENABLE_CAIRO!$ENABLE_CAIRO$ac_delim -BUILD_PIXMAN!$BUILD_PIXMAN$ac_delim -SYSTEM_CAIRO!$SYSTEM_CAIRO$ac_delim -ENABLE_OPENGL!$ENABLE_OPENGL$ac_delim -ENABLE_MINIMIZER!$ENABLE_MINIMIZER$ac_delim -ENABLE_PRESENTER_SCREEN!$ENABLE_PRESENTER_SCREEN$ac_delim -POPPLER_CFLAGS!$POPPLER_CFLAGS$ac_delim -POPPLER_LIBS!$POPPLER_LIBS$ac_delim -ENABLE_PDFIMPORT!$ENABLE_PDFIMPORT$ac_delim -SYSTEM_POPPLER!$SYSTEM_POPPLER$ac_delim -ENABLE_MEDIAWIKI!$ENABLE_MEDIAWIKI$ac_delim -SYSTEM_SERVLETAPI!$SYSTEM_SERVLETAPI$ac_delim -SERVLETAPI_JAR!$SERVLETAPI_JAR$ac_delim -ENABLE_REPORTBUILDER!$ENABLE_REPORTBUILDER$ac_delim -SYSTEM_JFREEREPORT!$SYSTEM_JFREEREPORT$ac_delim -SAC_JAR!$SAC_JAR$ac_delim -LIBXML_JAR!$LIBXML_JAR$ac_delim -FLUTE_JAR!$FLUTE_JAR$ac_delim -JFREEREPORT_JAR!$JFREEREPORT_JAR$ac_delim -LIBBASE_JAR!$LIBBASE_JAR$ac_delim -LIBLAYOUT_JAR!$LIBLAYOUT_JAR$ac_delim -LIBLOADER_JAR!$LIBLOADER_JAR$ac_delim -LIBFORMULA_JAR!$LIBFORMULA_JAR$ac_delim -LIBREPOSITORY_JAR!$LIBREPOSITORY_JAR$ac_delim -LIBFONTS_JAR!$LIBFONTS_JAR$ac_delim -LIBSERIALIZER_JAR!$LIBSERIALIZER_JAR$ac_delim -SYSTEM_APACHE_COMMONS!$SYSTEM_APACHE_COMMONS$ac_delim -COMMONS_CODEC_JAR!$COMMONS_CODEC_JAR$ac_delim -COMMONS_LANG_JAR!$COMMONS_LANG_JAR$ac_delim -COMMONS_HTTPCLIENT_JAR!$COMMONS_HTTPCLIENT_JAR$ac_delim -COMMONS_LOGGING_JAR!$COMMONS_LOGGING_JAR$ac_delim -MOC!$MOC$ac_delim -KDE_CFLAGS!$KDE_CFLAGS$ac_delim -KDE_LIBS!$KDE_LIBS$ac_delim -MOC4!$MOC4$ac_delim -KDE4_CFLAGS!$KDE4_CFLAGS$ac_delim -KDE4_LIBS!$KDE4_LIBS$ac_delim -ENABLE_LOCKDOWN!$ENABLE_LOCKDOWN$ac_delim -GOBJECT_CFLAGS!$GOBJECT_CFLAGS$ac_delim -GOBJECT_LIBS!$GOBJECT_LIBS$ac_delim -ENABLE_EVOAB2!$ENABLE_EVOAB2$ac_delim -ENABLE_KAB!$ENABLE_KAB$ac_delim -WITH_FONTOOO!$WITH_FONTOOO$ac_delim -SYSTEM_MSPACK!$SYSTEM_MSPACK$ac_delim -WITH_FONTS!$WITH_FONTS$ac_delim -WITHOUT_PPDS!$WITHOUT_PPDS$ac_delim -WITHOUT_AFMS!$WITHOUT_AFMS$ac_delim -SCPDEFS!$SCPDEFS$ac_delim -USE_XINERAMA!$USE_XINERAMA$ac_delim -XINERAMA_LINK!$XINERAMA_LINK$ac_delim -ANT!$ANT$ac_delim -ANT_HOME!$ANT_HOME$ac_delim -ANT_LIB!$ANT_LIB$ac_delim -WITH_LANG!$WITH_LANG$ac_delim -WITH_POOR_HELP_LOCALIZATIONS!$WITH_POOR_HELP_LOCALIZATIONS$ac_delim -WITH_DICT!$WITH_DICT$ac_delim -INTRO_BITMAPS!$INTRO_BITMAPS$ac_delim -ABOUT_BITMAPS!$ABOUT_BITMAPS$ac_delim -OOO_VENDOR!$OOO_VENDOR$ac_delim -UNIXWRAPPERNAME!$UNIXWRAPPERNAME$ac_delim -ENABLE_STATIC_GTK!$ENABLE_STATIC_GTK$ac_delim -ENABLE_LAYOUT!$ENABLE_LAYOUT$ac_delim -VERBOSE!$VERBOSE$ac_delim -LOCAL_SOLVER!$LOCAL_SOLVER$ac_delim -BUILD_TYPE!$BUILD_TYPE$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done +rm -f conf$$subs.sh -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACAWK _ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 2; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-5.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF - # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and @@ -44032,74 +30284,21 @@ s/^[^=]*=[ ]*$// }' fi -cat >>$CONFIG_STATUS <<\_ACEOF -======= - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi ->>>>>>> .merge-right.r276078 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" -<<<<<<< .working -for ac_tag in :F $CONFIG_FILES +eval set X " :F $CONFIG_FILES " +shift +for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; -======= -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; ->>>>>>> .merge-right.r276078 esac -<<<<<<< .working case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; @@ -44111,10 +30310,7 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} shift ac_file=$1 shift -======= ->>>>>>> .merge-right.r276078 -<<<<<<< .working case $ac_mode in :L) ac_source=$1;; :[FH]) @@ -44131,41 +30327,48 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac - ac_file_inputs="$ac_file_inputs $ac_f" + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || -======= - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || ->>>>>>> .merge-right.r276078 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ -<<<<<<< .working X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | +$as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -44188,40 +30391,19 @@ echo X"$ac_file" | -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { -======= - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" ->>>>>>> .merge-right.r276078 as_dirs= -<<<<<<< .working while :; do case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || -======= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || ->>>>>>> .merge-right.r276078 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ -<<<<<<< .working X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -44240,37 +30422,19 @@ echo X"$as_dir" | } s/.*/./; q'` test -d "$as_dir" && break -======= - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` ->>>>>>> .merge-right.r276078 done -<<<<<<< .working test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} -======= - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} ->>>>>>> .merge-right.r276078 + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - ac_builddir=. -<<<<<<< .working case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -44280,98 +30444,39 @@ ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix -======= -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi ->>>>>>> .merge-right.r276078 case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac + case $ac_mode in + :F) + # + # CONFIG_FILE + # +_ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= -======= - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." ->>>>>>> .merge-right.r276078 -<<<<<<< .working -case `sed -n '/datarootdir/ { +ac_sed_dataroot=' +/datarootdir/ { p q } @@ -44380,43 +30485,14 @@ case `sed -n '/datarootdir/ { /@infodir@/p /@localedir@/p /@mandir@/p -' $ac_file_inputs` in +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -======= - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } ->>>>>>> .merge-right.r276078 + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF -<<<<<<< .working -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g @@ -44430,20 +30506,16 @@ _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -======= -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub ->>>>>>> .merge-right.r276078 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -<<<<<<< .working -s&@configure_input@&$configure_input&;t t +s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t @@ -44452,56 +30524,47 @@ s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" | sed -f "$tmp/subs-5.sed" >$tmp/out -======= -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi ->>>>>>> .merge-right.r276078 +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } -<<<<<<< .working test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} -======= -done -_ACEOF ->>>>>>> .merge-right.r276078 -<<<<<<< .working rm -f "$tmp/stdin" case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; -======= -cat >>$CONFIG_STATUS <<\_ACEOF ->>>>>>> .merge-right.r276078 + + + + esac + +done # for ac_tag + { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save +test $ac_write_fail = 0 || + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -44523,6 +30586,10 @@ if test "$no_create" != yes; then # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi chmod a+x set_soenv diff --git a/dmake/getinp.c b/dmake/getinp.c index d736f50320a2..1ca8f95a10b3 100644 --- a/dmake/getinp.c +++ b/dmake/getinp.c @@ -88,17 +88,23 @@ FILE *fil; /* Reading the internal rule table. Set rule_ind to zero after the * last entry so that ReadEnvironment() works as expected every time. */ - while( (p = Rule_tab[ rule_ind++ ]) != NIL(char) ) + while( (p = Rule_tab[ rule_ind++ ]) != NIL(char) ) { /* The last test in this if *p != '~', handles the environment * passing conventions used by MKS to pass arguments. We want to * skip those environment entries. Also CYGWIN likes to export '!' - * prefixed environment variables that cause severe pain, axe them too */ - if( !Readenv || (Readenv && (strchr(p,'=') != NIL(char)) && *p!='~' && *p!='!')){ + * prefixed environment variables that cause severe pain, axe them too. + * And finally it is possible to do "env 'GGG HHH'='some value' bash" + * which causes that there are env variables with spaces in the name + * defined which causes dmake to malfunction too */ + char *equal = strchr(p,'='); + char *space = strchr(p,' '); + if( !Readenv || (Readenv && (equal != NIL(char)) && (space == NIL(char) || space > equal) && *p!='~' && *p!='!')){ strcpy( buf, p ); DB_PRINT( "io", ("Returning [%s]", buf) ); DB_RETURN( FALSE ); } + } rule_ind = 0; diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl old mode 100644 new mode 100755 diff --git a/solenv/bin/gccinstlib.pl b/solenv/bin/gccinstlib.pl old mode 100644 new mode 100755 -- cgit From bb65644e8f6b69320c306a20f143aa6706cb1dd3 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 17 Sep 2009 21:51:53 -0400 Subject: forgot to add two more new files. --- extensions/source/config/ldap/ldapaccess.cxx | 15 +++++++++------ extensions/source/config/ldap/wrapldapinclude.hxx | 6 ++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/extensions/source/config/ldap/ldapaccess.cxx b/extensions/source/config/ldap/ldapaccess.cxx index a850a441c5fe..ee7505c8a518 100644 --- a/extensions/source/config/ldap/ldapaccess.cxx +++ b/extensions/source/config/ldap/ldapaccess.cxx @@ -315,14 +315,17 @@ void LdapConnection::loadModule() if ( !s_Ldap_Module ) { #if defined(WIN) || defined(WNT) - const ::rtl::OUString sModuleName(RTL_CONSTASCII_USTRINGPARAM("nsldap32v50.dll")); +# define LIBLDAP "nsldap32v50.dll" #else -#ifdef WITH_OPENLDAP - const ::rtl::OUString sModuleName(RTL_CONSTASCII_USTRINGPARAM("libldap.so")); -#else - const ::rtl::OUString sModuleName(RTL_CONSTASCII_USTRINGPARAM("libldap50.so")); -#endif +# ifdef WITH_OPENLDAP +# define xstr(s) str(s) +# define str(s) #s +# define LIBLDAP "libldap-" xstr(LDAP_VENDOR_VERSION_MAJOR) "." xstr(LDAP_VENDOR_VERSION_MINOR) ".so." xstr(LDAP_VENDOR_VERSION_MAJOR) +# else +# define LIBLDAP "libldap50.so" +# endif #endif + const ::rtl::OUString sModuleName(RTL_CONSTASCII_USTRINGPARAM(LIBLDAP)); // load the dbtools library s_Ldap_Module = osl_loadModuleRelative(&thisModule, sModuleName.pData, 0); diff --git a/extensions/source/config/ldap/wrapldapinclude.hxx b/extensions/source/config/ldap/wrapldapinclude.hxx index 4c1bbdc350f8..b3b8d45e94d7 100644 --- a/extensions/source/config/ldap/wrapldapinclude.hxx +++ b/extensions/source/config/ldap/wrapldapinclude.hxx @@ -35,6 +35,12 @@ #ifdef WITH_OPENLDAP #include +#ifndef LDAP_API +# define LDAP_API(rt) rt +#endif +#ifndef LDAP_CALL +# define LDAP_CALL +#endif #else #ifndef LDAP_INCLUDED #define LDAP_INCLUDED -- cgit From 0be0b729271633684a8f0f65b085badcd0106d4f Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Fri, 18 Sep 2009 13:25:39 -0400 Subject: Slightly re-worked Daniel Watson's original patch to match the current oox code. Note that the tab colors are still imported as sheet view properties, but we will switch to treating them as sheet model properties later (probably after we talk to the ODF TC and get their blessing?). --- oox/inc/oox/xls/viewsettings.hxx | 3 +++ oox/source/token/properties.txt | 1 + oox/source/xls/viewsettings.cxx | 9 +++++++++ oox/source/xls/worksheetfragment.cxx | 4 +++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/oox/inc/oox/xls/viewsettings.hxx b/oox/inc/oox/xls/viewsettings.hxx index fceb1bc1a63c..f1160a15b3b1 100644 --- a/oox/inc/oox/xls/viewsettings.hxx +++ b/oox/inc/oox/xls/viewsettings.hxx @@ -83,6 +83,7 @@ struct SheetViewModel bool mbShowZeros; /// True = show zero value zells. bool mbShowOutline; /// True = show outlines. bool mbZoomToFit; /// True = zoom chart sheet to fit window. + Color maTabColor; /// Sheet tab color. (TODO: Move to sheet settings later.) explicit SheetViewModel(); @@ -112,6 +113,8 @@ public: /** Imports the sheetView element containing sheet view settings. */ void importSheetView( const AttributeList& rAttribs ); + /** Imports the tabcolor element containing tab color settings. */ + void importTabColor( const AttributeList& rAttribs ); /** Imports the pane element containing sheet pane settings. */ void importPane( const AttributeList& rAttribs ); /** Imports the selection element containing selection settings for a pane. */ diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 958a9ac24e77..89a65cd39d7d 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -355,6 +355,7 @@ Suffix SwapXAndYAxis Symbol SymbolColor +TabColor TableBorder TableLayout TableSelected diff --git a/oox/source/xls/viewsettings.cxx b/oox/source/xls/viewsettings.cxx index caeacaf6d45d..ce8c009a8431 100644 --- a/oox/source/xls/viewsettings.cxx +++ b/oox/source/xls/viewsettings.cxx @@ -245,6 +245,12 @@ void SheetViewSettings::importSheetView( const AttributeList& rAttribs ) rModel.mbShowOutline = rAttribs.getBool( XML_showOutlineSymbols, true ); } +void SheetViewSettings::importTabColor( const AttributeList& rAttribs ) +{ + SheetViewModel& rModel = maSheetViews.empty() ? *createSheetView() : *maSheetViews.back(); + rModel.maTabColor.importColor( rAttribs ); +} + void SheetViewSettings::importPane( const AttributeList& rAttribs ) { OSL_ENSURE( !maSheetViews.empty(), "SheetViewSettings::importPane - missing sheet view model" ); @@ -589,6 +595,9 @@ void SheetViewSettings::finalizeImport() aPropMap[ PROP_ShowZeroValues ] <<= xModel->mbShowZeros; aPropMap[ PROP_IsOutlineSymbolsSet ] <<= xModel->mbShowOutline; + if (!xModel->maTabColor.isAuto()) + aPropMap[ PROP_TabColor ] <<= static_cast< sal_Int32 >(xModel->maTabColor.getColor(*this)); + // store sheet view settings in global view settings object getViewSettings().setSheetViewSettings( getSheetIndex(), xModel, Any( aPropMap.makePropertyValueSequence() ) ); } diff --git a/oox/source/xls/worksheetfragment.cxx b/oox/source/xls/worksheetfragment.cxx index 4b754114b031..d2bed72a4494 100644 --- a/oox/source/xls/worksheetfragment.cxx +++ b/oox/source/xls/worksheetfragment.cxx @@ -297,7 +297,9 @@ ContextHandlerRef OoxWorksheetFragment::onCreateContext( sal_Int32 nElement, con case XLS_TOKEN( sheetPr ): switch( nElement ) { - case XLS_TOKEN( tabColor ): getWorksheetSettings().importTabColor( rAttribs ); break; +// TODO: Treat tab color as a sheet setting later. +// case XLS_TOKEN( tabColor ): getWorksheetSettings().importTabColor( rAttribs ); break; + case XLS_TOKEN( tabColor ): getSheetViewSettings().importTabColor( rAttribs ); break; case XLS_TOKEN( outlinePr ): getWorksheetSettings().importOutlinePr( rAttribs ); break; case XLS_TOKEN( pageSetUpPr ): importPageSetUpPr( rAttribs ); break; } -- cgit From 3e5b86777ca46e9dd6574e8c88ef47942da01495 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 30 Sep 2009 11:18:11 -0400 Subject: fixed build breakage in oox after the rebase. --- oox/source/xls/viewsettings.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oox/source/xls/viewsettings.cxx b/oox/source/xls/viewsettings.cxx index 555f2e4c752c..4eaa66824457 100644 --- a/oox/source/xls/viewsettings.cxx +++ b/oox/source/xls/viewsettings.cxx @@ -598,7 +598,7 @@ void SheetViewSettings::finalizeImport() aPropMap[ PROP_IsOutlineSymbolsSet ] <<= xModel->mbShowOutline; if (!xModel->maTabColor.isAuto()) - aPropMap[ PROP_TabColor ] <<= static_cast< sal_Int32 >(xModel->maTabColor.getColor(*this)); + aPropMap[ PROP_TabColor ] <<= static_cast< sal_Int32 >(xModel->maTabColor.getColor(getBaseFilter())); // store sheet view settings in global view settings object getViewSettings().setSheetViewSettings( getSheetIndex(), xModel, Any( aPropMap.makePropertyValueSequence() ) ); -- cgit From c08d97576a8e0e4578073cc28da7ffe93a8b44b1 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 16 Nov 2009 11:52:53 -0500 Subject: Removed a compiler warning wrt initialization ordering of data members. --- sc/source/ui/miscdlgs/tabbgcolordlg.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx index 01c9c2a5cf1a..bac8dd7a78e1 100644 --- a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx +++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx @@ -63,8 +63,8 @@ __EXPORT ScTabBgColorDlg::ScTabBgColorDlg( Window* pParent, aBtnOk ( this, ScResId( BTN_OK ) ), aBtnCancel ( this, ScResId( BTN_CANCEL ) ), aBtnHelp ( this, ScResId( BTN_HELP ) ), - aTabBgColorNoColorText ( rTabBgColorNoColorText ), aTabBgColor ( rDefaultColor ), + aTabBgColorNoColorText ( rTabBgColorNoColorText ), aHelpId ( nHelpId ) { -- cgit From 9c7ffb6b61f7c94ca5b38d11be1807f1e29ff4bc Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Wed, 2 Dec 2009 09:12:26 +0100 Subject: [cbosdo03]Applied the patches to upstream These patches are fixing docx import problems like: * Page breaks added at wrong places * Additionnal paragraphs added at the end of some sections * Hierarchy of numbering properties wasn't working nicely --- writerfilter/inc/dmapper/DomainMapper.hxx | 5 + .../inc/resourcemodel/WW8ResourceModel.hxx | 2 + writerfilter/source/dmapper/DomainMapper.cxx | 106 +- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 98 +- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 47 +- writerfilter/source/dmapper/LFOTable.cxx | 609 --------- writerfilter/source/dmapper/LFOTable.hxx | 68 - writerfilter/source/dmapper/ListTable.cxx | 1303 -------------------- writerfilter/source/dmapper/ListTable.hxx | 92 -- writerfilter/source/dmapper/NumberingManager.cxx | 1001 +++++++++++++++ writerfilter/source/dmapper/NumberingManager.hxx | 224 ++++ writerfilter/source/dmapper/PropertyIds.cxx | 3 +- writerfilter/source/dmapper/PropertyIds.hxx | 6 +- writerfilter/source/dmapper/PropertyMap.cxx | 131 +- writerfilter/source/dmapper/PropertyMap.hxx | 2 + writerfilter/source/dmapper/StyleSheetTable.cxx | 39 +- writerfilter/source/dmapper/makefile.mk | 3 +- writerfilter/source/doctok/WW8DocumentImpl.cxx | 21 +- writerfilter/source/ooxml/OOXMLDocumentImpl.cxx | 6 +- writerfilter/source/ooxml/OOXMLDocumentImpl.hxx | 4 + .../source/ooxml/OOXMLFastContextHandler.cxx | 1 + .../source/ooxml/OOXMLFastDocumentHandler.cxx | 5 + .../source/ooxml/OOXMLFastDocumentHandler.hxx | 2 + writerfilter/source/ooxml/model.xml | 7 +- writerfilter/source/resourcemodel/TagLogger.cxx | 2 +- 25 files changed, 1556 insertions(+), 2231 deletions(-) delete mode 100644 writerfilter/source/dmapper/LFOTable.cxx delete mode 100644 writerfilter/source/dmapper/LFOTable.hxx delete mode 100644 writerfilter/source/dmapper/ListTable.cxx delete mode 100644 writerfilter/source/dmapper/ListTable.hxx create mode 100644 writerfilter/source/dmapper/NumberingManager.cxx create mode 100644 writerfilter/source/dmapper/NumberingManager.hxx diff --git a/writerfilter/inc/dmapper/DomainMapper.hxx b/writerfilter/inc/dmapper/DomainMapper.hxx index d543c0157874..589d9b6cc9c9 100644 --- a/writerfilter/inc/dmapper/DomainMapper.hxx +++ b/writerfilter/inc/dmapper/DomainMapper.hxx @@ -65,6 +65,8 @@ namespace dmapper class PropertyMap; class DomainMapper_Impl; +class ListsManager; +class StyleSheetTable; // different context types require different sprm handling (e.g. names) enum SprmType @@ -106,6 +108,7 @@ public: virtual void endSectionGroup(); virtual void startParagraphGroup(); virtual void endParagraphGroup(); + virtual void markLastParagraphInSection(); virtual void startCharacterGroup(); virtual void endCharacterGroup(); virtual void startShape( ::com::sun::star::uno::Reference< com::sun::star::drawing::XShape > xShape ); @@ -134,6 +137,8 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > GetCurrentTextRange(); ::rtl::OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties ); + boost::shared_ptr< ListsManager > GetListTable( ); + boost::shared_ptr< StyleSheetTable > GetStyleSheetTable( ); private: void handleUnderlineType(const sal_Int32 nIntValue, const ::boost::shared_ptr pContext); diff --git a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx index c7c072fefc4d..06fdfcc6f4bb 100644 --- a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx +++ b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx @@ -210,6 +210,8 @@ public: */ virtual void endParagraphGroup() = 0; + virtual void markLastParagraphInSection( ) { }; + /** Receives start mark for group with the same character properties. */ diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index dbf9a33f067b..0a1d6baa6ac4 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -1647,7 +1648,9 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_ooxml::LN_CT_TabStop_val: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ if (sal::static_int_cast(nIntValue) == NS_ooxml::LN_Value_ST_TabJc_clear) + { m_pImpl->m_aCurrentTabStop.bDeleted = true; + } else { m_pImpl->m_aCurrentTabStop.bDeleted = false; @@ -1774,8 +1777,11 @@ void DomainMapper::attribute(Id nName, Value & val) case NS_ooxml::LN_CT_Ind_hanging: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ if (m_pImpl->GetTopContext()) + { + sal_Int32 nValue = ConversionHelper::convertTwipToMM100( nIntValue ); m_pImpl->GetTopContext()->Insert( - PROP_PARA_FIRST_LINE_INDENT, true, uno::makeAny( - ConversionHelper::convertTwipToMM100(nIntValue ) )); + PROP_PARA_FIRST_LINE_INDENT, true, uno::makeAny( - nValue )); + } break; case NS_ooxml::LN_CT_Ind_firstLine: /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ @@ -2264,20 +2270,26 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: comment: */ { //convert the ListTable entry to a NumberingRules propery and apply it - sal_Int32 nListId = m_pImpl->GetLFOTable()->GetListID( nIntValue ); - if(nListId >= 0) + ListsManager::Pointer pListTable = m_pImpl->GetListTable(); + ListDef::Pointer pList = pListTable->GetList( nIntValue ); + if( pList.get( ) ) { - ListTablePtr pListTable = m_pImpl->GetListTable(); if( m_pImpl->IsStyleSheetImport() ) { //style sheets cannot have a numbering rule attached StyleSheetPropertyMap* pStyleSheetPropertyMap = dynamic_cast< StyleSheetPropertyMap* >( rContext.get() ); - pStyleSheetPropertyMap->SetListId( nListId ); + pStyleSheetPropertyMap->SetListId( nIntValue ); } else - rContext->Insert( PROP_NUMBERING_RULES, true, - uno::makeAny(pListTable->GetNumberingRules(nListId))); - //TODO: Merge overwrittern numbering levels from LFO table + { + uno::Any aRules = uno::makeAny( pList->GetNumberingRules( ) ); + rContext->Insert( PROP_NUMBERING_RULES, true, aRules ); + } + } + else if ( !m_pImpl->IsStyleSheetImport( ) ) + { + rtl::OUString sNone; + rContext->Insert( PROP_NUMBERING_STYLE_NAME, true, uno::makeAny( sNone ) ); } } break; @@ -3911,7 +3923,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp if( pStyleSheetProperties && pStyleSheetProperties->GetListId() >= 0 ) rContext->Insert( PROP_NUMBERING_STYLE_NAME, true, uno::makeAny( - m_pImpl->GetListTable( )->GetStyleName( pStyleSheetProperties->GetListId( ) ) ), false); + ListDef::GetStyleName( pStyleSheetProperties->GetListId( ) ) ), false); if( pStyleSheetProperties && pStyleSheetProperties->GetListLevel() >= 0 ) rContext->Insert( PROP_NUMBERING_LEVEL, true, uno::makeAny(pStyleSheetProperties->GetListLevel()), false); @@ -4132,9 +4144,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp break; case NS_ooxml::LN_EG_SectPrContents_formProt: //section protection, only form editing is enabled - unsupported break; - case NS_ooxml::LN_CT_Lvl_pStyle: - //TODO: numbering style should apply current numbering level - not yet supported - break; default: { #if OSL_DEBUG_LEVEL > 0 @@ -4142,7 +4151,10 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp sMessage += ::rtl::OString::valueOf( sal_Int32( nSprmId ), 10 ); sMessage += ::rtl::OString(" / 0x"); sMessage += ::rtl::OString::valueOf( sal_Int32( nSprmId ), 16 ); - OSL_ENSURE( false, sMessage.getStr()); // + sMessage += ::rtl::OString(" / "); + sMessage += ::rtl::OString( rSprm.getName( ).c_str( ) ); + clog << sMessage.getStr( ) << endl; +// OSL_ENSURE( false, sMessage.getStr()); // #endif } } @@ -4219,38 +4231,6 @@ void DomainMapper::startParagraphGroup() -----------------------------------------------------------------------*/ void DomainMapper::endParagraphGroup() { - //handle unprocessed deferred breaks - PropertyMapPtr pParaProperties = m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH); - if( pParaProperties->hasEmptyPropertyValues() ) - { - PropertyMap::const_iterator aIter = pParaProperties->find(PropertyDefinition( PROP_BREAK_TYPE , false ) ); - if( aIter != pParaProperties->end() ) - { - style::BreakType eType; - aIter->second >>= eType; - bool bPage = false; - bool bColumn = false; - if( eType == style::BreakType_PAGE_BEFORE ) - bPage = true; - else if( eType == style::BreakType_COLUMN_BEFORE ) - bColumn = true; - - if( bPage || bColumn ) - { - try - { - uno::Reference< beans::XPropertySet > xRangeProperties( m_pImpl->GetTopTextAppend()->getEnd(), uno::UNO_QUERY_THROW ); - xRangeProperties->setPropertyValue( - PropertyNameSupplier::GetPropertyNameSupplier().GetName(PROP_BREAK_TYPE), - uno::makeAny( bPage ? style::BreakType_PAGE_BEFORE : style::BreakType_COLUMN_BEFORE)); - } - catch( const uno::Exception& ) - { - } - } - } - } - m_pImpl->PopProperties(CONTEXT_PARAGRAPH); m_pImpl->getTableManager().endParagraphGroup(); //frame conversion has to be executed after table conversion @@ -4260,6 +4240,14 @@ void DomainMapper::endParagraphGroup() #endif } +void DomainMapper::markLastParagraphInSection( ) +{ +#ifdef DEBUG_DOMAINMAPPER + dmapper_logger->element( "markLastParagraphInSection" ); +#endif + m_pImpl->SetIsLastParagraphInSection( true ); +} + void DomainMapper::startShape( uno::Reference< drawing::XShape > xShape ) { m_pImpl->PushShapeContext( xShape ); @@ -4545,9 +4533,12 @@ void DomainMapper::table(Id name, writerfilter::Reference::Pointer_t ref) } break; case NS_rtf::LN_LFOTABLE: - /* WRITERFILTERSTATUS: done: 0, planned: 0.5, spent: 0 */ - - ref->resolve( *m_pImpl->GetLFOTable() ); + { + m_pImpl->GetListTable( )->SetLFOImport( true ); + ref->resolve( *m_pImpl->GetListTable() ); + m_pImpl->GetListTable( )->CreateNumberingRules( ); + m_pImpl->GetListTable( )->SetLFOImport( false ); + } break; case NS_ooxml::LN_THEMETABLE: ref->resolve ( *m_pImpl->GetThemeTable() ); @@ -4573,6 +4564,7 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference::Pointe dmapper_logger->startElement("substream"); #endif + m_pImpl->appendTableManager( ); m_pImpl->getTableManager().startLevel(); //->debug @@ -4642,6 +4634,7 @@ void DomainMapper::substream(Id rName, ::writerfilter::Reference::Pointe } m_pImpl->getTableManager().endLevel(); + m_pImpl->popTableManager( ); #ifdef DEBUG_DOMAINMAPPER dmapper_logger->endElement("substream"); @@ -4808,6 +4801,7 @@ com::sun::star::style::TabAlign DomainMapper::getTabAlignFromValue(const sal_Int { case 0: case 4: // bar not supported + case 5: // num not supported return com::sun::star::style::TabAlign_LEFT; case 1: return com::sun::star::style::TabAlign_CENTER; @@ -4815,8 +4809,6 @@ com::sun::star::style::TabAlign DomainMapper::getTabAlignFromValue(const sal_Int return com::sun::star::style::TabAlign_RIGHT; case 3: return com::sun::star::style::TabAlign_DECIMAL; - default: - return com::sun::star::style::TabAlign_DEFAULT; } return com::sun::star::style::TabAlign_LEFT; } @@ -4856,10 +4848,6 @@ uno::Reference < lang::XMultiServiceFactory > DomainMapper::GetTextFactory() con /*-- 12.11.2007 10:41:01--------------------------------------------------- -----------------------------------------------------------------------*/ -void DomainMapper::AddListIDToLFOTable( sal_Int32 nAbstractNumId ) -{ - m_pImpl->GetLFOTable()->AddListID( nAbstractNumId ); -} /*-- 31.01.2008 18:19:44--------------------------------------------------- -----------------------------------------------------------------------*/ @@ -4877,5 +4865,15 @@ uno::Reference< text::XTextRange > DomainMapper::GetCurrentTextRange() return pStyleSheets->getOrCreateCharStyle( rCharProperties ); } +ListsManager::Pointer DomainMapper::GetListTable( ) +{ + return m_pImpl->GetListTable( ); +} + +StyleSheetTablePtr DomainMapper::GetStyleSheetTable( ) +{ + return m_pImpl->GetStyleSheetTable( ); +} + } //namespace dmapper } //namespace writerfilter diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index e6b52805a5da..e20444a9e2f1 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -82,6 +82,7 @@ #if DEBUG #include +#include #endif #include @@ -403,7 +404,7 @@ DomainMapper_Impl::DomainMapper_Impl( m_bIsPageBreakDeferred( false ), m_bIsInShape( false ), m_bShapeContextAdded( false ), - m_TableManager( eDocumentType == DOCUMENT_OOXML ), + m_pLastSectionContext( ), m_nCurrentTabStopIndex( 0 ), m_sCurrentParaStyleId(), m_bInStyleSheetImport( false ), @@ -411,8 +412,11 @@ DomainMapper_Impl::DomainMapper_Impl( m_bLineNumberingSet( false ), m_bIsInFootnoteProperties( true ), m_bIsCustomFtnMark( false ), - m_bIsParaChange( false ) + m_bIsParaChange( false ), + m_bParaChanged( false ), + m_bIsLastParaInSection( false ) { + appendTableManager( ); GetBodyText(); uno::Reference< text::XTextAppend > xBodyTextAppend = uno::Reference< text::XTextAppend >( m_xBodyText, uno::UNO_QUERY ); m_aTextAppendStack.push(xBodyTextAppend); @@ -421,16 +425,18 @@ DomainMapper_Impl::DomainMapper_Impl( uno::Reference< text::XTextAppendAndConvert > xBodyTextAppendAndConvert( m_xBodyText, uno::UNO_QUERY ); TableDataHandler_t::Pointer_t pTableHandler (new DomainMapperTableHandler(xBodyTextAppendAndConvert, *this)); - m_TableManager.setHandler(pTableHandler); + getTableManager( ).setHandler(pTableHandler); - m_TableManager.startLevel(); + getTableManager( ).startLevel(); } /*-- 01.09.2006 10:22:28--------------------------------------------------- -----------------------------------------------------------------------*/ DomainMapper_Impl::~DomainMapper_Impl() { - m_TableManager.endLevel(); + RemoveLastParagraph( ); + getTableManager( ).endLevel(); + popTableManager( ); } /*------------------------------------------------------------------------- @@ -484,6 +490,28 @@ void DomainMapper_Impl::SetDocumentSettingsProperty( const ::rtl::OUString& rPro } } } + +void DomainMapper_Impl::RemoveLastParagraph( ) +{ + uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; + try + { + uno::Reference< text::XTextCursor > xCursor = xTextAppend->createTextCursor(); + xCursor->gotoEnd(false); + xCursor->goLeft( 1, true ); + xCursor->setString(::rtl::OUString()); + } + catch( const uno::Exception& rEx) + { + (void)rEx; + } +} + +void DomainMapper_Impl::SetIsLastParagraphInSection( bool bIsLast ) +{ + m_bIsLastParaInSection = bIsLast; +} + /*------------------------------------------------------------------------- -----------------------------------------------------------------------*/ @@ -534,6 +562,15 @@ void DomainMapper_Impl::PushListProperties(PropertyMapPtr pListProperties) void DomainMapper_Impl::PopProperties(ContextType eId) { OSL_ENSURE(!m_aPropertyStacks[eId].empty(), "section stack already empty"); + + if ( eId == CONTEXT_SECTION ) + { +#if DEBUG + clog << "Saving the last section context" << endl; +#endif + m_pLastSectionContext = m_aPropertyStacks[eId].top( ); + } + m_aPropertyStacks[eId].pop(); m_aContextStack.pop(); if(!m_aContextStack.empty() && !m_aPropertyStacks[m_aContextStack.top()].empty()) @@ -668,7 +705,7 @@ void DomainMapper_Impl::IncorporateTabStop( const DeletableTabStop & rTabStop ) -----------------------------------------------------------------------*/ uno::Sequence< style::TabStop > DomainMapper_Impl::GetCurrentTabStopAndClear() { - uno::Sequence< style::TabStop > aRet( m_aCurrentTabStops.size() ); + uno::Sequence< style::TabStop > aRet( sal_Int32( m_aCurrentTabStops.size() ) ); style::TabStop* pArray = aRet.getArray(); ::std::vector::const_iterator aIt = m_aCurrentTabStops.begin(); ::std::vector::const_iterator aEndIt = m_aCurrentTabStops.end(); @@ -721,11 +758,11 @@ uno::Any DomainMapper_Impl::GetPropertyFromStyleSheet(PropertyIds eId) /*------------------------------------------------------------------------- -----------------------------------------------------------------------*/ -ListTablePtr DomainMapper_Impl::GetListTable() +ListsManager::Pointer DomainMapper_Impl::GetListTable() { if(!m_pListTable) m_pListTable.reset( - new ListTable( m_rDMapper, m_xTextFactory )); + new ListsManager( m_rDMapper, m_xTextFactory )); return m_pListTable; } @@ -854,7 +891,7 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) TextAppendContext& rAppendContext = m_aTextAppendStack.top(); uno::Reference< text::XTextAppend > xTextAppend = rAppendContext.xTextAppend; PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); - if(xTextAppend.is() && ! m_TableManager.isIgnore()) + if(xTextAppend.is() && ! getTableManager( ).isIgnore()) { try { @@ -1056,9 +1093,21 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) aProperties[nLength].Value <<= aDrop; aProperties[nLength].Name = rPropNameSupplier.GetName(PROP_DROP_CAP_FORMAT); } +#if DEBUG + sal_Int32 nLen = aProperties.getLength(); + for ( sal_Int32 i = 0; i < nLen; i++ ) + { + uno::Any aValue = aProperties[i].Value; + uno::Sequence< style::TabStop > aTabs; + if ( aValue >>= aTabs ) + { + fprintf( stderr, "Found tab stops\n" ); + } + } +#endif uno::Reference< text::XTextRange > xTextRange = xTextAppend->finishParagraph( aProperties ); - m_TableManager.handle(xTextRange); + getTableManager( ).handle(xTextRange); // Set the anchor of the objects to the created paragraph while ( m_aAnchoredStack.size( ) > 0 && !m_bIsInShape ) @@ -1084,6 +1133,15 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) xCur->goLeft( 1 , true ); uno::Reference< text::XTextRange > xParaEnd( xCur, uno::UNO_QUERY ); CheckParaRedline( xParaEnd ); + + // Remove the last empty section paragraph if needed + if ( m_bIsLastParaInSection && !m_bParaChanged ) + { + RemoveLastParagraph( ); + m_bIsLastParaInSection = false; + } + + m_bParaChanged = false; } if( !bKeepLastParagraphProperties ) rAppendContext.pLastParagraphProperties = pToBeSavedProperties; @@ -1126,7 +1184,7 @@ util::DateTime lcl_DateStringToDateTime( const ::rtl::OUString& rDateTime ) void DomainMapper_Impl::appendTextPortion( const ::rtl::OUString& rString, PropertyMapPtr pPropertyMap ) { uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; - if(xTextAppend.is() && ! m_TableManager.isIgnore()) + if(xTextAppend.is() && ! getTableManager( ).isIgnore()) { try { @@ -1134,8 +1192,9 @@ void DomainMapper_Impl::appendTextPortion( const ::rtl::OUString& rString, Prope xTextAppend->appendTextPortion (rString, pPropertyMap->GetPropertyValues()); CheckRedline( xTextRange ); + m_bParaChanged = true; - //m_TableManager.handle(xTextRange); + //getTableManager( ).handle(xTextRange); } catch(const lang::IllegalArgumentException& rEx) { @@ -1159,7 +1218,7 @@ void DomainMapper_Impl::appendTextContent( { uno::Reference< text::XTextAppendAndConvert > xTextAppendAndConvert( m_aTextAppendStack.top().xTextAppend, uno::UNO_QUERY ); OSL_ENSURE( xTextAppendAndConvert.is(), "trying to append a text content without XTextAppendAndConvert" ); - if(xTextAppendAndConvert.is() && ! m_TableManager.isIgnore()) + if(xTextAppendAndConvert.is() && ! getTableManager( ).isIgnore()) { try { @@ -1326,18 +1385,7 @@ void DomainMapper_Impl::PopPageHeaderFooter() { //header and footer always have an empty paragraph at the end //this has to be removed - uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; - try - { - uno::Reference< text::XTextCursor > xCursor = xTextAppend->createTextCursor(); - xCursor->gotoEnd(false); - xCursor->goLeft( 1, true ); - xCursor->setString(::rtl::OUString()); - } - catch( const uno::Exception& rEx) - { - (void)rEx; - } + RemoveLastParagraph( ); m_aTextAppendStack.pop(); } /*-- 24.05.2007 14:22:28--------------------------------------------------- diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 989d09e9d351..30e6bf82154e 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -48,8 +48,7 @@ #include #include #include -#include -#include +#include #include #include #include @@ -298,21 +297,22 @@ private: _PageMar m_aPageMargins; - DomainMapperTableManager m_TableManager; + // TableManagers are stacked: one for each stream to avoid any confusion + std::stack< boost::shared_ptr< DomainMapperTableManager > > m_aTableManagers; //each context needs a stack of currently used attributes FIB m_aFIB; PropertyStack m_aPropertyStacks[NUMBER_OF_CONTEXTS]; ContextStack m_aContextStack; FontTablePtr m_pFontTable; - ListTablePtr m_pListTable; - LFOTablePtr m_pLFOTable; + ListsManager::Pointer m_pListTable; StyleSheetTablePtr m_pStyleSheetTable; ThemeTablePtr m_pThemeTable; GraphicImportPtr m_pGraphicImport; SettingsTablePtr m_pSettingsTable; PropertyMapPtr m_pTopContext; + PropertyMapPtr m_pLastSectionContext; ::std::vector m_aCurrentTabStops; sal_uInt32 m_nCurrentTabStopIndex; @@ -334,6 +334,8 @@ private: RedlineParamsPtr m_pParaRedline; bool m_bIsParaChange; + bool m_bParaChanged; + bool m_bIsLastParaInSection; //annotation import uno::Reference< beans::XPropertySet > m_xAnnotationField; @@ -356,6 +358,11 @@ public: DomainMapper_Impl(); virtual ~DomainMapper_Impl(); + SectionPropertyMap* GetLastSectionContext( ) + { + return dynamic_cast< SectionPropertyMap* >( m_pLastSectionContext.get( ) ); + } + ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > GetPageStyles(); ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > GetBodyText(); ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > GetTextFactory() const @@ -381,6 +388,9 @@ public: void StartParaChange( ); void EndParaChange( ); + void RemoveLastParagraph( ); + void SetIsLastParagraphInSection( bool bIsLast ); + void deferBreak( BreakType deferredBreakType ); bool isBreakDeferred( BreakType deferredBreakType ); void clearDeferredBreaks(); @@ -422,13 +432,7 @@ public: m_pStyleSheetTable.reset(new StyleSheetTable( m_rDMapper, m_xTextDocument )); return m_pStyleSheetTable; } - ListTablePtr GetListTable(); - LFOTablePtr GetLFOTable() - { - if(!m_pLFOTable) - m_pLFOTable.reset( new LFOTable ); - return m_pLFOTable; - } + ListsManager::Pointer GetListTable(); ThemeTablePtr GetThemeTable() { if(!m_pThemeTable) @@ -495,7 +499,24 @@ public: void AddBookmark( const ::rtl::OUString& rBookmarkName, const ::rtl::OUString& rId ); - DomainMapperTableManager& getTableManager() { return m_TableManager; } + DomainMapperTableManager& getTableManager() + { + boost::shared_ptr< DomainMapperTableManager > pMngr = m_aTableManagers.top(); + return *pMngr.get( ); + } + + void appendTableManager( ) + { + boost::shared_ptr< DomainMapperTableManager > pMngr( + new DomainMapperTableManager( m_eDocumentType == DOCUMENT_OOXML ) ); + m_aTableManagers.push( pMngr ); + } + + void popTableManager( ) + { + if ( m_aTableManagers.size( ) > 0 ) + m_aTableManagers.pop( ); + } void SetLineNumbering( sal_Int32 nLnnMod, sal_Int32 nLnc, sal_Int32 ndxaLnn ); bool IsLineNumberingSet() const {return m_bLineNumberingSet;} diff --git a/writerfilter/source/dmapper/LFOTable.cxx b/writerfilter/source/dmapper/LFOTable.cxx deleted file mode 100644 index c75156438329..000000000000 --- a/writerfilter/source/dmapper/LFOTable.cxx +++ /dev/null @@ -1,609 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: LFOTable.cxx,v $ - * $Revision: 1.5 $ - * - * 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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include -#include -#include - -namespace writerfilter { -namespace dmapper -{ -using namespace std; -using namespace writerfilter; - -struct LFOLevel -{ - sal_Int32 nIStartAt; - sal_Int32 nFStartAt; - sal_Int32 nFFormatting; - ::rtl::OUString sILevel; - - LFOLevel() : - nIStartAt(-1) - ,nFStartAt(-1) - ,nFFormatting(-1) - {} -}; -typedef ::boost::shared_ptr< LFOLevel > LFOLevelPtr; -struct LFOEntry -{ - sal_Int32 nListId; - sal_Int32 nCLFOLevel; - vector< LFOLevelPtr > aLFOLevels; //usually empty - - LFOEntry() : - nListId(-1) - ,nCLFOLevel(-1) - {} -}; -typedef ::boost::shared_ptr LFOEntryPtr; - -struct LFOTable_Impl -{ - ::std::vector< LFOEntryPtr > m_aLFOEntries; //properties of each level - LFOEntryPtr m_pCurrentEntry; - -}; -/*-- 27.06.2006 15:13:03--------------------------------------------------- - - -----------------------------------------------------------------------*/ -LFOTable::LFOTable() : - m_pImpl( new LFOTable_Impl ) -{ -} -/*-- 27.06.2006 15:13:03--------------------------------------------------- - - -----------------------------------------------------------------------*/ -LFOTable::~LFOTable() -{ -} -/*-- 27.06.2006 15:13:04--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void LFOTable::attribute(Id Name, Value & val) -{ - OSL_ENSURE(m_pImpl->m_pCurrentEntry, "no current entry to write to"); - if(!m_pImpl->m_pCurrentEntry) - return; - - int nIntValue = val.getInt(); - /* WRITERFILTERSTATUS: table: LFOTable_attributedata */ - switch( Name ) - { -// case NS_rtf::LN_ISTD: break;//index of applied style - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_ILVL: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_FSTARTAT: - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_FFORMATTING: - if(m_pImpl->m_pCurrentEntry->aLFOLevels.size()) - { - vector< LFOLevelPtr >::reverse_iterator aEndIter = m_pImpl->m_pCurrentEntry->aLFOLevels.rbegin(); - switch( Name ) - { - case NS_rtf::LN_ISTARTAT: - (*aEndIter)->nIStartAt = nIntValue; - break; - case NS_rtf::LN_ILVL: - (*aEndIter)->sILevel = val.getString(); - break; - case NS_rtf::LN_FSTARTAT: - (*aEndIter)->nFStartAt = nIntValue; - break; - case NS_rtf::LN_FFORMATTING: - (*aEndIter)->nFFormatting = nIntValue; - break; - default:; - } - } - break; -// case NS_rtf::LN_NFC: break; -// case NS_rtf::LN_JC: break; -// case NS_rtf::LN_FLEGAL: break; -// case NS_rtf::LN_FNORESTART: break; -// case NS_rtf::LN_FPREV: break; -// case NS_rtf::LN_FPREVSPACE: break; -// case NS_rtf::LN_FWORD6: break; -// case NS_rtf::LN_UNUSED5_7: break; -// case NS_rtf::LN_RGBXCHNUMS: break; -// case NS_rtf::LN_IXCHFOLLOW: break; -// case NS_rtf::LN_DXASPACE: break; -// case NS_rtf::LN_DXAINDENT: break; -// case NS_rtf::LN_CBGRPPRLCHPX: break; -// case NS_rtf::LN_CBGRPPRLPAPX: break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_LSID: - m_pImpl->m_pCurrentEntry->nListId = nIntValue; - break; -// case NS_rtf::LN_TPLC: break; -// case NS_rtf::LN_RGISTD: break; -// case NS_rtf::LN_FSIMPLELIST: break; -// case NS_rtf::LN_FRESTARTHDN: break; -// case NS_rtf::LN_UNSIGNED26_2: break; -// case NS_rtf::LN_UNSIGNED4_6: break; - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED4: - /* WRITERFILTERSTATUS: done: 1, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED8: - // as the names state they are unused - break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_CLFOLVL: - m_pImpl->m_pCurrentEntry->nCLFOLevel = nIntValue; - break; -// case NS_rtf::LN_CBFFNM1: break; -// case NS_rtf::LN_PRQ: break; -// case NS_rtf::LN_FTRUETYPE: break; -// case NS_rtf::LN_UNUSED1_3: break; -// case NS_rtf::LN_FF: break; -// case NS_rtf::LN_UNUSED1_7: break; -// case NS_rtf::LN_WWEIGHT: break; -// case NS_rtf::LN_CHS: break; -// case NS_rtf::LN_IXCHSZALT: break; -// case NS_rtf::LN_PANOSE: break; -// case NS_rtf::LN_FS: break; -// case NS_rtf::LN_STI: break; -// case NS_rtf::LN_FSCRATCH: break; -// case NS_rtf::LN_FINVALHEIGHT: break; -// case NS_rtf::LN_FHASUPE: break; -// case NS_rtf::LN_FMASSCOPY: break; -// case NS_rtf::LN_SGC: break; -// case NS_rtf::LN_ISTDBASE: break; -// case NS_rtf::LN_CUPX: break; -// case NS_rtf::LN_ISTDNEXT: break; -// case NS_rtf::LN_BCHUPE: break; -// case NS_rtf::LN_FAUTOREDEF: break; -// case NS_rtf::LN_FHIDDEN: break; -// case NS_rtf::LN_UNUSED8_3: break; -// case NS_rtf::LN_CSTD: break; -// case NS_rtf::LN_CBSTDBASEINFILE: break; -// case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break; -// case NS_rtf::LN_UNUSED4_2: break; -// case NS_rtf::LN_STIMAXWHENSAVED: break; -// case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break; -// case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break; -// case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break; -// case NS_rtf::LN_WIDENT: break; -// case NS_rtf::LN_NFIB: break; -// case NS_rtf::LN_NPRODUCT: break; -// case NS_rtf::LN_LID: break; -// case NS_rtf::LN_PNNEXT: break; -// case NS_rtf::LN_FDOT: break; -// case NS_rtf::LN_FGLSY: break; -// case NS_rtf::LN_FCOMPLEX: break; -// case NS_rtf::LN_FHASPIC: break; -// case NS_rtf::LN_CQUICKSAVES: break; -// case NS_rtf::LN_FENCRYPTED: break; -// case NS_rtf::LN_FWHICHTBLSTM: break; -// case NS_rtf::LN_FREADONLYRECOMMENDED: break; -// case NS_rtf::LN_FWRITERESERVATION: break; -// case NS_rtf::LN_FEXTCHAR: break; -// case NS_rtf::LN_FLOADOVERRIDE: break; -// case NS_rtf::LN_FFAREAST: break; -// case NS_rtf::LN_FCRYPTO: break; -// case NS_rtf::LN_NFIBBACK: break; -// case NS_rtf::LN_LKEY: break; -// case NS_rtf::LN_ENVR: break; -// case NS_rtf::LN_FMAC: break; -// case NS_rtf::LN_FEMPTYSPECIAL: break; -// case NS_rtf::LN_FLOADOVERRIDEPAGE: break; -// case NS_rtf::LN_FFUTURESAVEDUNDO: break; -// case NS_rtf::LN_FWORD97SAVED: break; -// case NS_rtf::LN_FSPARE0: break; -// case NS_rtf::LN_CHSTABLES: break; -// case NS_rtf::LN_FCMIN: break; -// case NS_rtf::LN_FCMAC: break; -// case NS_rtf::LN_CSW: break; -// case NS_rtf::LN_WMAGICCREATED: break; -// case NS_rtf::LN_WMAGICREVISED: break; -// case NS_rtf::LN_WMAGICCREATEDPRIVATE: break; -// case NS_rtf::LN_WMAGICREVISEDPRIVATE: break; -// case NS_rtf::LN_PNFBPCHPFIRST_W6: break; -// case NS_rtf::LN_PNCHPFIRST_W6: break; -// case NS_rtf::LN_CPNBTECHP_W6: break; -// case NS_rtf::LN_PNFBPPAPFIRST_W6: break; -// case NS_rtf::LN_PNPAPFIRST_W6: break; -// case NS_rtf::LN_CPNBTEPAP_W6: break; -// case NS_rtf::LN_PNFBPLVCFIRST_W6: break; -// case NS_rtf::LN_PNLVCFIRST_W6: break; -// case NS_rtf::LN_CPNBTELVC_W6: break; -// case NS_rtf::LN_LIDFE: break; -// case NS_rtf::LN_CLW: break; -// case NS_rtf::LN_CBMAC: break; -// case NS_rtf::LN_LPRODUCTCREATED: break; -// case NS_rtf::LN_LPRODUCTREVISED: break; -// case NS_rtf::LN_CCPTEXT: break; -// case NS_rtf::LN_CCPFTN: break; -// case NS_rtf::LN_CCPHDD: break; -// case NS_rtf::LN_CCPMCR: break; -// case NS_rtf::LN_CCPATN: break; -// case NS_rtf::LN_CCPEDN: break; -// case NS_rtf::LN_CCPTXBX: break; -// case NS_rtf::LN_CCPHDRTXBX: break; -// case NS_rtf::LN_PNFBPCHPFIRST: break; -// case NS_rtf::LN_PNCHPFIRST: break; -// case NS_rtf::LN_CPNBTECHP: break; -// case NS_rtf::LN_PNFBPPAPFIRST: break; -// case NS_rtf::LN_PNPAPFIRST: break; -// case NS_rtf::LN_CPNBTEPAP: break; -// case NS_rtf::LN_PNFBPLVCFIRST: break; -// case NS_rtf::LN_PNLVCFIRST: break; -// case NS_rtf::LN_CPNBTELVC: break; -// case NS_rtf::LN_FCISLANDFIRST: break; -// case NS_rtf::LN_FCISLANDLIM: break; -// case NS_rtf::LN_CFCLCB: break; -// case NS_rtf::LN_FCSTSHFORIG: break; -// case NS_rtf::LN_LCBSTSHFORIG: break; -// case NS_rtf::LN_FCSTSHF: break; -// case NS_rtf::LN_LCBSTSHF: break; -// case NS_rtf::LN_FCPLCFFNDREF: break; -// case NS_rtf::LN_LCBPLCFFNDREF: break; -// case NS_rtf::LN_FCPLCFFNDTXT: break; -// case NS_rtf::LN_LCBPLCFFNDTXT: break; -// case NS_rtf::LN_FCPLCFANDREF: break; -// case NS_rtf::LN_LCBPLCFANDREF: break; -// case NS_rtf::LN_FCPLCFANDTXT: break; -// case NS_rtf::LN_LCBPLCFANDTXT: break; -// case NS_rtf::LN_FCPLCFSED: break; -// case NS_rtf::LN_LCBPLCFSED: break; -// case NS_rtf::LN_FCPLCFPAD: break; -// case NS_rtf::LN_LCBPLCFPAD: break; -// case NS_rtf::LN_FCPLCFPHE: break; -// case NS_rtf::LN_LCBPLCFPHE: break; -// case NS_rtf::LN_FCSTTBFGLSY: break; -// case NS_rtf::LN_LCBSTTBFGLSY: break; -// case NS_rtf::LN_FCPLCFGLSY: break; -// case NS_rtf::LN_LCBPLCFGLSY: break; -// case NS_rtf::LN_FCPLCFHDD: break; -// case NS_rtf::LN_LCBPLCFHDD: break; -// case NS_rtf::LN_FCPLCFBTECHPX: break; -// case NS_rtf::LN_LCBPLCFBTECHPX: break; -// case NS_rtf::LN_FCPLCFBTEPAPX: break; -// case NS_rtf::LN_LCBPLCFBTEPAPX: break; -// case NS_rtf::LN_FCPLCFSEA: break; -// case NS_rtf::LN_LCBPLCFSEA: break; -// case NS_rtf::LN_FCSTTBFFFN: break; -// case NS_rtf::LN_LCBSTTBFFFN: break; -// case NS_rtf::LN_FCPLCFFLDMOM: break; -// case NS_rtf::LN_LCBPLCFFLDMOM: break; -// case NS_rtf::LN_FCPLCFFLDHDR: break; -// case NS_rtf::LN_LCBPLCFFLDHDR: break; -// case NS_rtf::LN_FCPLCFFLDFTN: break; -// case NS_rtf::LN_LCBPLCFFLDFTN: break; -// case NS_rtf::LN_FCPLCFFLDATN: break; -// case NS_rtf::LN_LCBPLCFFLDATN: break; -// case NS_rtf::LN_FCPLCFFLDMCR: break; -// case NS_rtf::LN_LCBPLCFFLDMCR: break; -// case NS_rtf::LN_FCSTTBFBKMK: break; -// case NS_rtf::LN_LCBSTTBFBKMK: break; -// case NS_rtf::LN_FCPLCFBKF: break; -// case NS_rtf::LN_LCBPLCFBKF: break; -// case NS_rtf::LN_FCPLCFBKL: break; -// case NS_rtf::LN_LCBPLCFBKL: break; -// case NS_rtf::LN_FCCMDS: break; -// case NS_rtf::LN_LCBCMDS: break; -// case NS_rtf::LN_FCPLCMCR: break; -// case NS_rtf::LN_LCBPLCMCR: break; -// case NS_rtf::LN_FCSTTBFMCR: break; -// case NS_rtf::LN_LCBSTTBFMCR: break; -// case NS_rtf::LN_FCPRDRVR: break; -// case NS_rtf::LN_LCBPRDRVR: break; -// case NS_rtf::LN_FCPRENVPORT: break; -// case NS_rtf::LN_LCBPRENVPORT: break; -// case NS_rtf::LN_FCPRENVLAND: break; -// case NS_rtf::LN_LCBPRENVLAND: break; -// case NS_rtf::LN_FCWSS: break; -// case NS_rtf::LN_LCBWSS: break; -// case NS_rtf::LN_FCDOP: break; -// case NS_rtf::LN_LCBDOP: break; -// case NS_rtf::LN_FCSTTBFASSOC: break; -// case NS_rtf::LN_LCBSTTBFASSOC: break; -// case NS_rtf::LN_FCCLX: break; -// case NS_rtf::LN_LCBCLX: break; -// case NS_rtf::LN_FCPLCFPGDFTN: break; -// case NS_rtf::LN_LCBPLCFPGDFTN: break; -// case NS_rtf::LN_FCAUTOSAVESOURCE: break; -// case NS_rtf::LN_LCBAUTOSAVESOURCE: break; -// case NS_rtf::LN_FCGRPXSTATNOWNERS: break; -// case NS_rtf::LN_LCBGRPXSTATNOWNERS: break; -// case NS_rtf::LN_FCSTTBFATNBKMK: break; -// case NS_rtf::LN_LCBSTTBFATNBKMK: break; -// case NS_rtf::LN_FCPLCDOAMOM: break; -// case NS_rtf::LN_LCBPLCDOAMOM: break; -// case NS_rtf::LN_FCPLCDOAHDR: break; -// case NS_rtf::LN_LCBPLCDOAHDR: break; -// case NS_rtf::LN_FCPLCSPAMOM: break; -// case NS_rtf::LN_LCBPLCSPAMOM: break; -// case NS_rtf::LN_FCPLCSPAHDR: break; -// case NS_rtf::LN_LCBPLCSPAHDR: break; -// case NS_rtf::LN_FCPLCFATNBKF: break; -// case NS_rtf::LN_LCBPLCFATNBKF: break; -// case NS_rtf::LN_FCPLCFATNBKL: break; -// case NS_rtf::LN_LCBPLCFATNBKL: break; -// case NS_rtf::LN_FCPMS: break; -// case NS_rtf::LN_LCBPMS: break; -// case NS_rtf::LN_FCFORMFLDSTTBF: break; -// case NS_rtf::LN_LCBFORMFLDSTTBF: break; -// case NS_rtf::LN_FCPLCFENDREF: break; -// case NS_rtf::LN_LCBPLCFENDREF: break; -// case NS_rtf::LN_FCPLCFENDTXT: break; -// case NS_rtf::LN_LCBPLCFENDTXT: break; -// case NS_rtf::LN_FCPLCFFLDEDN: break; -// case NS_rtf::LN_LCBPLCFFLDEDN: break; -// case NS_rtf::LN_FCPLCFPGDEDN: break; -// case NS_rtf::LN_LCBPLCFPGDEDN: break; -// case NS_rtf::LN_FCDGGINFO: break; -// case NS_rtf::LN_LCBDGGINFO: break; -// case NS_rtf::LN_FCSTTBFRMARK: break; -// case NS_rtf::LN_LCBSTTBFRMARK: break; -// case NS_rtf::LN_FCSTTBFCAPTION: break; -// case NS_rtf::LN_LCBSTTBFCAPTION: break; -// case NS_rtf::LN_FCSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_FCPLCFWKB: break; -// case NS_rtf::LN_LCBPLCFWKB: break; -// case NS_rtf::LN_FCPLCFSPL: break; -// case NS_rtf::LN_LCBPLCFSPL: break; -// case NS_rtf::LN_FCPLCFTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDTXBX: break; -// case NS_rtf::LN_FCPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_FCSTWUSER: break; -// case NS_rtf::LN_LCBSTWUSER: break; -// case NS_rtf::LN_FCSTTBTTMBD: break; -// case NS_rtf::LN_LCBSTTBTTMBD: break; -// case NS_rtf::LN_FCUNUSED: break; -// case NS_rtf::LN_LCBUNUSED: break; -// case NS_rtf::LN_FCPGDMOTHER: break; -// case NS_rtf::LN_LCBPGDMOTHER: break; -// case NS_rtf::LN_FCBKDMOTHER: break; -// case NS_rtf::LN_LCBBKDMOTHER: break; -// case NS_rtf::LN_FCPGDFTN: break; -// case NS_rtf::LN_LCBPGDFTN: break; -// case NS_rtf::LN_FCBKDFTN: break; -// case NS_rtf::LN_LCBBKDFTN: break; -// case NS_rtf::LN_FCPGDEDN: break; -// case NS_rtf::LN_LCBPGDEDN: break; -// case NS_rtf::LN_FCBKDEDN: break; -// case NS_rtf::LN_LCBBKDEDN: break; -// case NS_rtf::LN_FCSTTBFINTLFLD: break; -// case NS_rtf::LN_LCBSTTBFINTLFLD: break; -// case NS_rtf::LN_FCROUTESLIP: break; -// case NS_rtf::LN_LCBROUTESLIP: break; -// case NS_rtf::LN_FCSTTBSAVEDBY: break; -// case NS_rtf::LN_LCBSTTBSAVEDBY: break; -// case NS_rtf::LN_FCSTTBFNM: break; -// case NS_rtf::LN_LCBSTTBFNM: break; -// case NS_rtf::LN_FCPLCFLST: break; -// case NS_rtf::LN_LCBPLCFLST: break; -// case NS_rtf::LN_FCPLFLFO: break; -// case NS_rtf::LN_LCBPLFLFO: break; -// case NS_rtf::LN_FCPLCFTXBXBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXBKD: break; -// case NS_rtf::LN_FCPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_FCDOCUNDO: break; -// case NS_rtf::LN_LCBDOCUNDO: break; -// case NS_rtf::LN_FCRGBUSE: break; -// case NS_rtf::LN_LCBRGBUSE: break; -// case NS_rtf::LN_FCUSP: break; -// case NS_rtf::LN_LCBUSP: break; -// case NS_rtf::LN_FCUSKF: break; -// case NS_rtf::LN_LCBUSKF: break; -// case NS_rtf::LN_FCPLCUPCRGBUSE: break; -// case NS_rtf::LN_LCBPLCUPCRGBUSE: break; -// case NS_rtf::LN_FCPLCUPCUSP: break; -// case NS_rtf::LN_LCBPLCUPCUSP: break; -// case NS_rtf::LN_FCSTTBGLSYSTYLE: break; -// case NS_rtf::LN_LCBSTTBGLSYSTYLE: break; -// case NS_rtf::LN_FCPLGOSL: break; -// case NS_rtf::LN_LCBPLGOSL: break; -// case NS_rtf::LN_FCPLCOCX: break; -// case NS_rtf::LN_LCBPLCOCX: break; -// case NS_rtf::LN_FCPLCFBTELVC: break; -// case NS_rtf::LN_LCBPLCFBTELVC: break; -// case NS_rtf::LN_DWLOWDATETIME: break; -// case NS_rtf::LN_DWHIGHDATETIME: break; -// case NS_rtf::LN_FCPLCFLVC: break; -// case NS_rtf::LN_LCBPLCFLVC: break; -// case NS_rtf::LN_FCPLCASUMY: break; -// case NS_rtf::LN_LCBPLCASUMY: break; -// case NS_rtf::LN_FCPLCFGRAM: break; -// case NS_rtf::LN_LCBPLCFGRAM: break; -// case NS_rtf::LN_FCSTTBLISTNAMES: break; -// case NS_rtf::LN_LCBSTTBLISTNAMES: break; -// case NS_rtf::LN_FCSTTBFUSSR: break; -// case NS_rtf::LN_LCBSTTBFUSSR: break; -// case NS_rtf::LN_FN: break; -// case NS_rtf::LN_FCSEPX: break; -// case NS_rtf::LN_FNMPR: break; -// case NS_rtf::LN_FCMPR: break; -// case NS_rtf::LN_ICOFORE: break; -// case NS_rtf::LN_ICOBACK: break; -// case NS_rtf::LN_IPAT: break; -// case NS_rtf::LN_SHDFORECOLOR: break; -// case NS_rtf::LN_SHDBACKCOLOR: break; -// case NS_rtf::LN_SHDPATTERN: break; -// case NS_rtf::LN_DPTLINEWIDTH: break; -// case NS_rtf::LN_BRCTYPE: break; -// case NS_rtf::LN_ICO: break; -// case NS_rtf::LN_DPTSPACE: break; -// case NS_rtf::LN_FSHADOW: break; -// case NS_rtf::LN_FFRAME: break; -// case NS_rtf::LN_UNUSED2_15: break; -// case NS_rtf::LN_FFIRSTMERGED: break; -// case NS_rtf::LN_FMERGED: break; -// case NS_rtf::LN_FVERTICAL: break; -// case NS_rtf::LN_FBACKWARD: break; -// case NS_rtf::LN_FROTATEFONT: break; -// case NS_rtf::LN_FVERTMERGE: break; -// case NS_rtf::LN_FVERTRESTART: break; -// case NS_rtf::LN_VERTALIGN: break; -// case NS_rtf::LN_FUNUSED: break; -// case NS_rtf::LN_WUNUSED: break; -// case NS_rtf::LN_BRCTOP: break; -// case NS_rtf::LN_BRCLEFT: break; -// case NS_rtf::LN_BRCBOTTOM: break; -// case NS_rtf::LN_BRCRIGHT: break; -// case NS_rtf::LN_IBKL: break; -// case NS_rtf::LN_ITCFIRST: break; -// case NS_rtf::LN_FPUB: break; -// case NS_rtf::LN_ITCLIM: break; -// case NS_rtf::LN_FCOL: break; -// case NS_rtf::LN_LINECOLOR: break; -// case NS_rtf::LN_LINEWIDTH: break; -// case NS_rtf::LN_LINETYPE: break; -// case NS_rtf::LN_MM: break; -// case NS_rtf::LN_XEXT: break; -// case NS_rtf::LN_YEXT: break; -// case NS_rtf::LN_HMF: break; -// case NS_rtf::LN_LCB: break; -// case NS_rtf::LN_CBHEADER: break; -// case NS_rtf::LN_MFP: break; -// case NS_rtf::LN_BM_RCWINMF: break; -// case NS_rtf::LN_DXAGOAL: break; -// case NS_rtf::LN_DYAGOAL: break; -// case NS_rtf::LN_MX: break; -// case NS_rtf::LN_MY: break; -// case NS_rtf::LN_DXACROPLEFT: break; -// case NS_rtf::LN_DYACROPTOP: break; -// case NS_rtf::LN_DXACROPRIGHT: break; -// case NS_rtf::LN_DYACROPBOTTOM: break; -// case NS_rtf::LN_BRCL: break; -// case NS_rtf::LN_FFRAMEEMPTY: break; -// case NS_rtf::LN_FBITMAP: break; -// case NS_rtf::LN_FDRAWHATCH: break; -// case NS_rtf::LN_FERROR: break; -// case NS_rtf::LN_BPP: break; -// case NS_rtf::LN_DXAORIGIN: break; -// case NS_rtf::LN_DYAORIGIN: break; -// case NS_rtf::LN_CPROPS: break; -// case NS_rtf::LN_LINEPROPSTOP: break; -// case NS_rtf::LN_LINEPROPSLEFT: break; -// case NS_rtf::LN_LINEPROPSBOTTOM: break; -// case NS_rtf::LN_LINEPROPSRIGHT: break; -// case NS_rtf::LN_LINEPROPSHORIZONTAL: break; -// case NS_rtf::LN_LINEPROPSVERTICAL: break; -// case NS_rtf::LN_headerr: break; -// case NS_rtf::LN_footerr: break; -// case NS_rtf::LN_endnote: break; -// case NS_rtf::LN_BOOKMARKNAME: break; - -// case NS_rtf::LN_LISTLEVEL: break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_LFO: - { - writerfilter::Reference::Pointer_t pProperties; - if(m_pImpl->m_pCurrentEntry && (pProperties = val.getProperties()).get()) - { - LFOLevelPtr pLevel( new LFOLevel ); - m_pImpl->m_pCurrentEntry->aLFOLevels.push_back(pLevel); - } - } - break; -// case NS_rtf::LN_F: break; -// case NS_rtf::LN_ALTFONTNAME: break; -// case NS_rtf::LN_XSZFFN: break; -// case NS_rtf::LN_XSTZNAME: break; -// case NS_rtf::LN_XSTZNAME1: break; -// case NS_rtf::LN_UPXSTART: break; -// case NS_rtf::LN_UPX: break; -// case NS_rtf::LN_sed: break; -// case NS_rtf::LN_picf: break; -// case NS_rtf::LN_rgbrc: break; -// case NS_rtf::LN_shd: break; -// case NS_rtf::LN_cellShd: break; -// case NS_rtf::LN_cellTopColor: break; -// case NS_rtf::LN_cellLeftColor: break; -// case NS_rtf::LN_cellBottomColor: break; -// case NS_rtf::LN_cellRightColor: break; - -// case NS_rtf::LN_LISTTABLE: break; -// case NS_rtf::LN_LFOTABLE: break; -// case NS_rtf::LN_FONTTABLE: break; -// case NS_rtf::LN_STYLESHEET: break; - default: - { - OSL_ENSURE( false, "LFOTable::attribute: default statement"); - //---->debug - int nVal = val.getInt(); - ++nVal; - //<----debug - } - } -} -/*-- 27.06.2006 15:13:04--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void LFOTable::sprm(Sprm& ) -{ - OSL_ENSURE( false, "Which sprm should be handled here?"); -} -/*-- 27.06.2006 15:13:04--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void LFOTable::entry(int, writerfilter::Reference::Pointer_t ref) -{ - //create a new LFO entry - OSL_ENSURE( !m_pImpl->m_pCurrentEntry.get(), "current entry has to be NULL here"); - m_pImpl->m_pCurrentEntry.reset( new LFOEntry ); - ref->resolve(*this); - //append it to the table - m_pImpl->m_aLFOEntries.push_back( m_pImpl->m_pCurrentEntry ); - m_pImpl->m_pCurrentEntry = LFOEntryPtr(); -} -/*-- 27.06.2006 15:13:05--------------------------------------------------- - 1 based access to the LFO table - -----------------------------------------------------------------------*/ -sal_Int32 LFOTable::GetListID(sal_uInt32 nLFO) -{ - sal_Int32 nRet = -1; - if( nLFO > 0 && nLFO <= m_pImpl->m_aLFOEntries.size()) - nRet = m_pImpl->m_aLFOEntries[nLFO - 1]->nListId; - return nRet; -} -/*-- 12.11.2007 10:31:23--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void LFOTable::AddListID( sal_Int32 nAbstractNumId ) -{ - LFOEntryPtr pNew( new LFOEntry ); - pNew->nListId = nAbstractNumId; - m_pImpl->m_aLFOEntries.push_back( pNew ); -} - -}//namespace dmapper -}//namespace writerfilter diff --git a/writerfilter/source/dmapper/LFOTable.hxx b/writerfilter/source/dmapper/LFOTable.hxx deleted file mode 100644 index df2f402179b3..000000000000 --- a/writerfilter/source/dmapper/LFOTable.hxx +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: LFOTable.hxx,v $ - * $Revision: 1.4 $ - * - * 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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef INCLUDED_LFOTABLE_HXX -#define INCLUDED_LFOTABLE_HXX - -#include -#include -#include -//#ifndef INCLUDED_DMAPPER_PROPERTYMAP_HXX -//#include -//#endif -//#include - -namespace writerfilter { -namespace dmapper -{ - -struct LFOTable_Impl; -class WRITERFILTER_DLLPRIVATE LFOTable : public Properties, public Table -{ - LFOTable_Impl *m_pImpl; -public: - LFOTable(); - virtual ~LFOTable(); - - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference::Pointer_t ref); - -// sal_uInt32 size(); - sal_Int32 GetListID(sal_uInt32 nLFO); - //direct access in ooxml import - void AddListID( sal_Int32 nAbstractNumId ); -}; -typedef boost::shared_ptr< LFOTable > LFOTablePtr; -}} - -#endif // diff --git a/writerfilter/source/dmapper/ListTable.cxx b/writerfilter/source/dmapper/ListTable.cxx deleted file mode 100644 index 9a4e19939df7..000000000000 --- a/writerfilter/source/dmapper/ListTable.cxx +++ /dev/null @@ -1,1303 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ListTable.cxx,v $ - * $Revision: 1.8 $ - * - * 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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#ifndef INCLUDED_WW8_RESOURCE_MODEL_HXX -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define NUMBERING_MAX_LEVELS 10 -namespace writerfilter { -namespace dmapper -{ -using namespace com::sun::star; -/*-- 12.11.2007 11:38:57--------------------------------------------------- - - -----------------------------------------------------------------------*/ -class WRITERFILTER_DLLPRIVATE Numbering_numHdl : public Properties -{ - ListTable& m_rListTable; - sal_Int32 m_nAbstractNumId; - ::rtl::OUString m_sNumId; -public: - Numbering_numHdl( ListTable& rListTable ) : - m_rListTable( rListTable ), - m_nAbstractNumId( -1 ) - {} - virtual ~Numbering_numHdl(); - - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - sal_Int32 GetAbstractNumId() const { return m_nAbstractNumId;} - sal_Int32 GetNumId() const { return m_sNumId.toInt32(); } - -}; -typedef boost::shared_ptr< Numbering_numHdl > Numbering_numHdlPtr; -/*-- 12.11.2007 11:42:04--------------------------------------------------- - - -----------------------------------------------------------------------*/ -Numbering_numHdl::~Numbering_numHdl() -{ -} -/*-- 12.11.2007 11:42:22--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void Numbering_numHdl::attribute(Id nName, Value & rVal) -{ - switch( nName ) - { - case NS_ooxml::LN_CT_Num_numId: - m_sNumId = rVal.getString(); - break; - case NS_ooxml::LN_CT_NumLvl_ilvl : - m_rListTable.setOverwriteLevel(m_nAbstractNumId, rVal.getInt()); - break; - default:; - } -} -/*-- 12.11.2007 11:42:22--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void Numbering_numHdl::sprm(Sprm & rSprm) -{ - sal_uInt32 nSprmId = rSprm.getId(); - switch( nSprmId ) - { - case NS_ooxml::LN_CT_Num_abstractNumId: - { - m_nAbstractNumId = rSprm.getValue()->getInt(); - } - break; - case NS_ooxml::LN_CT_Num_lvlOverride: - { - //contains a list override - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - m_rListTable.resetOverwrite(); - } - case NS_ooxml::LN_CT_NumLvl_lvl: - m_rListTable.sprm( rSprm ); - break; - default:; - } -} -/*-- 26.06.2006 13:14:29--------------------------------------------------- - - -----------------------------------------------------------------------*/ -class ListPropertyMap : public PropertyMap -{ - friend class ListTable; - - sal_Int32 nIStartAt; //LN_ISTARTAT - sal_Int32 nNFC; //LN_NFC - sal_Int32 nJC; //LN_JC - sal_Int32 nFLegal; //LN_FLEGAL - sal_Int32 nFNoRestart; //LN_FNORESTART - sal_Int32 nFPrev; //LN_FPREV - sal_Int32 nFPrevSpace; //LN_FPREVSPACE - sal_Int32 nFWord6; //LN_FWORD6 - ::rtl::OUString sRGBXchNums; //LN_RGBXCHNUMS - sal_Int32 nXChFollow; //LN_IXCHFOLLOW - ::rtl::OUString sBulletChar; - sal_Int32 nTabstop; -public: - ListPropertyMap() : - nIStartAt(-1) - ,nNFC(-1) - ,nJC(-1) - ,nFLegal(-1) - ,nFNoRestart(-1) - ,nFPrev(-1) - ,nFPrevSpace(-1) - ,nFWord6(-1) - ,nXChFollow(-1) - ,nTabstop( 0 ) - {} - ~ListPropertyMap(){} - - uno::Sequence< beans::PropertyValue > GetPropertyValuesList( PropertyValueVector_t& rCharStyleProperties ); -}; -/*-- 26.06.2006 13:44:57--------------------------------------------------- - - -----------------------------------------------------------------------*/ -#define MAKE_PROPVAL(NameId, Value) \ - beans::PropertyValue(aPropNameSupplier.GetName(NameId), 0, uno::makeAny(Value), beans::PropertyState_DIRECT_VALUE ) - -uno::Sequence< beans::PropertyValue > ListPropertyMap::GetPropertyValuesList( PropertyValueVector_t& rCharStyleProperties ) -{ - const sal_Int16 aWWToUnoAdjust[] = - { - text::HoriOrientation::LEFT, - text::HoriOrientation::CENTER, - text::HoriOrientation::RIGHT, - }; - - PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); - PropertyValueVector_t aNumberingProperties; - - if( nIStartAt >= 0) - aNumberingProperties.push_back( MAKE_PROPVAL(PROP_START_WITH, (sal_Int16)nIStartAt) ); - - sal_Int16 nNumberFormat = ConversionHelper::ConvertNumberingType(nNFC); - if( nNFC >= 0) - aNumberingProperties.push_back( MAKE_PROPVAL(PROP_NUMBERING_TYPE, nNumberFormat )); - - if( nJC >= 0 && nJC <= sal::static_int_cast(sizeof(aWWToUnoAdjust) / sizeof(sal_Int16)) ) - aNumberingProperties.push_back( MAKE_PROPVAL(PROP_ADJUST, aWWToUnoAdjust[nJC])); - - // todo: this is not the bullet char - if( nNumberFormat == style::NumberingType::CHAR_SPECIAL && sBulletChar.getLength() ) - aNumberingProperties.push_back( MAKE_PROPVAL(PROP_BULLET_CHAR, sBulletChar.copy(0,1))); - - aNumberingProperties.push_back( MAKE_PROPVAL( PROP_LISTTAB_STOP_POSITION, nTabstop ) ); - - //TODO: handling of nFLegal? - //TODO: nFNoRestart lower levels do not restart when higher levels are incremented, like: - //1. - //1.1 - //2.2 - //2.3 - //3.4 - // - - if( nFWord6 > 0) //Word 6 compatibility - { - if( nFPrev == 1) - aNumberingProperties.push_back( MAKE_PROPVAL( PROP_PARENT_NUMBERING, (sal_Int16) NUMBERING_MAX_LEVELS )); - //TODO: prefixing space nFPrevSpace; - has not been used in WW8 filter - } - -// TODO: sRGBXchNums; array of inherited numbers - -// TODO: nXChFollow; following character 0 - tab, 1 - space, 2 - nothing -// if(pProperties) -// { - - _PropertyMap::const_iterator aMapIter = /*pProperties->*/begin(); - _PropertyMap::const_iterator aEndIter = /*pProperties->*/end(); - for( ; aMapIter != aEndIter; ++aMapIter ) - { - switch( aMapIter->first.eId ) - { - case PROP_ADJUST: - case PROP_INDENT_AT: - case PROP_FIRST_LINE_INDENT: - case PROP_FIRST_LINE_OFFSET: - case PROP_LEFT_MARGIN: - aNumberingProperties.push_back( - beans::PropertyValue( aPropNameSupplier.GetName( aMapIter->first.eId ), 0, aMapIter->second, beans::PropertyState_DIRECT_VALUE )); - break; - case PROP_CHAR_FONT_NAME: - aNumberingProperties.push_back( - beans::PropertyValue( aPropNameSupplier.GetName( PROP_BULLET_FONT_NAME ), 0, aMapIter->second, beans::PropertyState_DIRECT_VALUE )); - break; - default: - { - rCharStyleProperties.push_back(beans::PropertyValue( aPropNameSupplier.GetName( aMapIter->first.eId ), 0, aMapIter->second, beans::PropertyState_DIRECT_VALUE )); - } - - } - } -// } - uno::Sequence< beans::PropertyValue > aRet(aNumberingProperties.size()); - beans::PropertyValue* pValues = aRet.getArray(); - PropertyValueVector_t::const_iterator aIt = aNumberingProperties.begin(); - PropertyValueVector_t::const_iterator aEndIt = aNumberingProperties.end(); - for(sal_uInt32 nIndex = 0; aIt != aEndIt; ++aIt,++nIndex) - { - pValues[nIndex] = *aIt; - } - return aRet; -} -typedef boost::shared_ptr ListPropertyMapPtr; - -struct ListEntry -{ - sal_Int32 nListId; //LN_LSID - sal_Int32 nTPLC; //LN_TPLC - ::rtl::OUString sRGISTD; //LN_RGISTD - sal_Int32 nSimpleList; //LN_FSIMPLELIST - sal_Int32 nRestart; //LN_FRESTARTHDN - sal_Int32 nUnsigned; //LN_UNSIGNED26_2 - sal_Int32 nAbstractNumId; - - ::std::vector< ListPropertyMapPtr > aLevelProperties; //properties of each level - - ListPropertyMapPtr pCurrentProperties; - uno::Reference< container::XIndexReplace > m_xNumRules; - - ListEntry(); - -}; -typedef boost::shared_ptr ListEntryPtr; -/*-- 23.06.2006 13:58:51--------------------------------------------------- - - -----------------------------------------------------------------------*/ -ListEntry::ListEntry() : - nListId(-1) - ,nTPLC(-1) - ,nSimpleList(-1) - ,nRestart(-1) - ,nUnsigned(-1) - ,nAbstractNumId(-1) -{ -} -/*-- 23.06.2006 13:58:51--------------------------------------------------- - - -----------------------------------------------------------------------*/ -struct ListTable_Impl -{ - DomainMapper& m_rDMapper; - uno::Reference< lang::XMultiServiceFactory > m_xFactory; - - std::vector< ListEntryPtr > m_aListEntries; - ListEntryPtr m_pCurrentEntry; - - - ListTable_Impl(DomainMapper& rDMapper, uno::Reference< lang::XMultiServiceFactory > xFactory) : - m_rDMapper( rDMapper ) - ,m_xFactory( xFactory ) - {} - - void AddLevel(); -}; -/*-- 26.06.2006 14:23:19--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable_Impl::AddLevel() -{ - ListPropertyMapPtr pLevel( new ListPropertyMap ); - m_pCurrentEntry->pCurrentProperties = pLevel; - m_pCurrentEntry->aLevelProperties.push_back(pLevel); -} -/*-- 23.06.2006 12:04:32--------------------------------------------------- - - -----------------------------------------------------------------------*/ -ListTable::ListTable( - DomainMapper& rDMapper, - const uno::Reference< lang::XMultiServiceFactory > xFactory) : - m_pImpl( new ListTable_Impl(rDMapper, xFactory) ), - m_nOverwriteListId( -1 ), - m_nOverwriteLevel( -1 ) -{ -} -/*-- 23.06.2006 12:04:33--------------------------------------------------- - - -----------------------------------------------------------------------*/ -ListTable::~ListTable() -{ - delete m_pImpl; -} -/*-- 23.06.2006 12:04:33--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::attribute(Id nName, Value & rVal) -{ - OSL_ENSURE( m_pImpl->m_pCurrentEntry.get(), "current entry has to be set here"); - if(!m_pImpl->m_pCurrentEntry.get()) - return ; - int nIntValue = rVal.getInt(); - /* WRITERFILTERSTATUS: table: ListTable_attributedata */ - switch(nName) - { - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_RGBXCHNUMS: - if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) - m_pImpl->m_pCurrentEntry->pCurrentProperties->sRGBXchNums += rVal.getString(); - break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_LevelText_val: - { - //this strings contains the definition of the level - //the level number is marked as %n - //these numbers can be mixed randomly toghether with seperators pre- and suffixes - //the Writer supports only a number of upper levels to show, separators is always a dot - //and each level can have a prefix and a suffix - if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) - { - m_pImpl->m_pCurrentEntry->pCurrentProperties->sBulletChar = rVal.getString(); - } - } - break; -// case NS_rtf::LN_ISTD: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_NFC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_JC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FLEGAL: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FNORESTART: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FWORD6: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_IXCHFOLLOW: - ApplyLevelValues( nName, nIntValue); - break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED5_7: - //unused - break; -// case NS_rtf::LN_DXASPACE: break; -// case NS_rtf::LN_DXAINDENT: break; -// case NS_rtf::LN_CBGRPPRLCHPX: break; -// case NS_rtf::LN_CBGRPPRLPAPX: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_LSID: - m_pImpl->m_pCurrentEntry->nListId = nIntValue; - break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_TPLC: - m_pImpl->m_pCurrentEntry->nTPLC = nIntValue; - break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_RGISTD: - m_pImpl->m_pCurrentEntry->sRGISTD += rVal.getString(); - break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FSIMPLELIST: - m_pImpl->m_pCurrentEntry->nSimpleList = nIntValue; - break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FRESTARTHDN: - m_pImpl->m_pCurrentEntry->nRestart = nIntValue; - break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_UNSIGNED26_2: - m_pImpl->m_pCurrentEntry->nUnsigned = nIntValue; - break; -// case NS_rtf::LN_ILVL: break; -// case NS_rtf::LN_FSTARTAT: break; -// case NS_rtf::LN_FFORMATTING: break; -// case NS_rtf::LN_UNSIGNED4_6: break; -// case NS_rtf::LN_UNUSED4: break; -// case NS_rtf::LN_UNUSED8: break; -// case NS_rtf::LN_CLFOLVL: break; -// case NS_rtf::LN_CBFFNM1: break; -// case NS_rtf::LN_PRQ: break; -// case NS_rtf::LN_FTRUETYPE: break; -// case NS_rtf::LN_UNUSED1_3: break; -// case NS_rtf::LN_FF: break; -// case NS_rtf::LN_UNUSED1_7: break; -// case NS_rtf::LN_WWEIGHT: break; -// case NS_rtf::LN_CHS: break; -// case NS_rtf::LN_IXCHSZALT: break; -// case NS_rtf::LN_PANOSE: break; -// case NS_rtf::LN_FS: break; -// case NS_rtf::LN_STI: break; -// case NS_rtf::LN_FSCRATCH: break; -// case NS_rtf::LN_FINVALHEIGHT: break; -// case NS_rtf::LN_FHASUPE: break; -// case NS_rtf::LN_FMASSCOPY: break; -// case NS_rtf::LN_SGC: break; -// case NS_rtf::LN_ISTDBASE: break; -// case NS_rtf::LN_CUPX: break; -// case NS_rtf::LN_ISTDNEXT: break; -// case NS_rtf::LN_BCHUPE: break; -// case NS_rtf::LN_FAUTOREDEF: break; -// case NS_rtf::LN_FHIDDEN: break; -// case NS_rtf::LN_UNUSED8_3: break; -// case NS_rtf::LN_CSTD: break; -// case NS_rtf::LN_CBSTDBASEINFILE: break; -// case NS_rtf::LN_FSTDSTYLENAMESWRITTEN: break; -// case NS_rtf::LN_UNUSED4_2: break; -// case NS_rtf::LN_STIMAXWHENSAVED: break; -// case NS_rtf::LN_ISTDMAXFIXEDWHENSAVED: break; -// case NS_rtf::LN_NVERBUILTINNAMESWHENSAVED: break; -// case NS_rtf::LN_RGFTCSTANDARDCHPSTSH: break; -// case NS_rtf::LN_WIDENT: break; -// case NS_rtf::LN_NFIB: break; -// case NS_rtf::LN_NPRODUCT: break; -// case NS_rtf::LN_LID: break; -// case NS_rtf::LN_PNNEXT: break; -// case NS_rtf::LN_FDOT: break; -// case NS_rtf::LN_FGLSY: break; -// case NS_rtf::LN_FCOMPLEX: break; -// case NS_rtf::LN_FHASPIC: break; -// case NS_rtf::LN_CQUICKSAVES: break; -// case NS_rtf::LN_FENCRYPTED: break; -// case NS_rtf::LN_FWHICHTBLSTM: break; -// case NS_rtf::LN_FREADONLYRECOMMENDED: break; -// case NS_rtf::LN_FWRITERESERVATION: break; -// case NS_rtf::LN_FEXTCHAR: break; -// case NS_rtf::LN_FLOADOVERRIDE: break; -// case NS_rtf::LN_FFAREAST: break; -// case NS_rtf::LN_FCRYPTO: break; -// case NS_rtf::LN_NFIBBACK: break; -// case NS_rtf::LN_LKEY: break; -// case NS_rtf::LN_ENVR: break; -// case NS_rtf::LN_FMAC: break; -// case NS_rtf::LN_FEMPTYSPECIAL: break; -// case NS_rtf::LN_FLOADOVERRIDEPAGE: break; -// case NS_rtf::LN_FFUTURESAVEDUNDO: break; -// case NS_rtf::LN_FWORD97SAVED: break; -// case NS_rtf::LN_FSPARE0: break; -// case NS_rtf::LN_CHSTABLES: break; -// case NS_rtf::LN_FCMIN: break; -// case NS_rtf::LN_FCMAC: break; -// case NS_rtf::LN_CSW: break; -// case NS_rtf::LN_WMAGICCREATED: break; -// case NS_rtf::LN_WMAGICREVISED: break; -// case NS_rtf::LN_WMAGICCREATEDPRIVATE: break; -// case NS_rtf::LN_WMAGICREVISEDPRIVATE: break; -// case NS_rtf::LN_PNFBPCHPFIRST_W6: break; -// case NS_rtf::LN_PNCHPFIRST_W6: break; -// case NS_rtf::LN_CPNBTECHP_W6: break; -// case NS_rtf::LN_PNFBPPAPFIRST_W6: break; -// case NS_rtf::LN_PNPAPFIRST_W6: break; -// case NS_rtf::LN_CPNBTEPAP_W6: break; -// case NS_rtf::LN_PNFBPLVCFIRST_W6: break; -// case NS_rtf::LN_PNLVCFIRST_W6: break; -// case NS_rtf::LN_CPNBTELVC_W6: break; -// case NS_rtf::LN_LIDFE: break; -// case NS_rtf::LN_CLW: break; -// case NS_rtf::LN_CBMAC: break; -// case NS_rtf::LN_LPRODUCTCREATED: break; -// case NS_rtf::LN_LPRODUCTREVISED: break; -// case NS_rtf::LN_CCPTEXT: break; -// case NS_rtf::LN_CCPFTN: break; -// case NS_rtf::LN_CCPHDD: break; -// case NS_rtf::LN_CCPMCR: break; -// case NS_rtf::LN_CCPATN: break; -// case NS_rtf::LN_CCPEDN: break; -// case NS_rtf::LN_CCPTXBX: break; -// case NS_rtf::LN_CCPHDRTXBX: break; -// case NS_rtf::LN_PNFBPCHPFIRST: break; -// case NS_rtf::LN_PNCHPFIRST: break; -// case NS_rtf::LN_CPNBTECHP: break; -// case NS_rtf::LN_PNFBPPAPFIRST: break; -// case NS_rtf::LN_PNPAPFIRST: break; -// case NS_rtf::LN_CPNBTEPAP: break; -// case NS_rtf::LN_PNFBPLVCFIRST: break; -// case NS_rtf::LN_PNLVCFIRST: break; -// case NS_rtf::LN_CPNBTELVC: break; -// case NS_rtf::LN_FCISLANDFIRST: break; -// case NS_rtf::LN_FCISLANDLIM: break; -// case NS_rtf::LN_CFCLCB: break; -// case NS_rtf::LN_FCSTSHFORIG: break; -// case NS_rtf::LN_LCBSTSHFORIG: break; -// case NS_rtf::LN_FCSTSHF: break; -// case NS_rtf::LN_LCBSTSHF: break; -// case NS_rtf::LN_FCPLCFFNDREF: break; -// case NS_rtf::LN_LCBPLCFFNDREF: break; -// case NS_rtf::LN_FCPLCFFNDTXT: break; -// case NS_rtf::LN_LCBPLCFFNDTXT: break; -// case NS_rtf::LN_FCPLCFANDREF: break; -// case NS_rtf::LN_LCBPLCFANDREF: break; -// case NS_rtf::LN_FCPLCFANDTXT: break; -// case NS_rtf::LN_LCBPLCFANDTXT: break; -// case NS_rtf::LN_FCPLCFSED: break; -// case NS_rtf::LN_LCBPLCFSED: break; -// case NS_rtf::LN_FCPLCFPAD: break; -// case NS_rtf::LN_LCBPLCFPAD: break; -// case NS_rtf::LN_FCPLCFPHE: break; -// case NS_rtf::LN_LCBPLCFPHE: break; -// case NS_rtf::LN_FCSTTBFGLSY: break; -// case NS_rtf::LN_LCBSTTBFGLSY: break; -// case NS_rtf::LN_FCPLCFGLSY: break; -// case NS_rtf::LN_LCBPLCFGLSY: break; -// case NS_rtf::LN_FCPLCFHDD: break; -// case NS_rtf::LN_LCBPLCFHDD: break; -// case NS_rtf::LN_FCPLCFBTECHPX: break; -// case NS_rtf::LN_LCBPLCFBTECHPX: break; -// case NS_rtf::LN_FCPLCFBTEPAPX: break; -// case NS_rtf::LN_LCBPLCFBTEPAPX: break; -// case NS_rtf::LN_FCPLCFSEA: break; -// case NS_rtf::LN_LCBPLCFSEA: break; -// case NS_rtf::LN_FCSTTBFFFN: break; -// case NS_rtf::LN_LCBSTTBFFFN: break; -// case NS_rtf::LN_FCPLCFFLDMOM: break; -// case NS_rtf::LN_LCBPLCFFLDMOM: break; -// case NS_rtf::LN_FCPLCFFLDHDR: break; -// case NS_rtf::LN_LCBPLCFFLDHDR: break; -// case NS_rtf::LN_FCPLCFFLDFTN: break; -// case NS_rtf::LN_LCBPLCFFLDFTN: break; -// case NS_rtf::LN_FCPLCFFLDATN: break; -// case NS_rtf::LN_LCBPLCFFLDATN: break; -// case NS_rtf::LN_FCPLCFFLDMCR: break; -// case NS_rtf::LN_LCBPLCFFLDMCR: break; -// case NS_rtf::LN_FCSTTBFBKMK: break; -// case NS_rtf::LN_LCBSTTBFBKMK: break; -// case NS_rtf::LN_FCPLCFBKF: break; -// case NS_rtf::LN_LCBPLCFBKF: break; -// case NS_rtf::LN_FCPLCFBKL: break; -// case NS_rtf::LN_LCBPLCFBKL: break; -// case NS_rtf::LN_FCCMDS: break; -// case NS_rtf::LN_LCBCMDS: break; -// case NS_rtf::LN_FCPLCMCR: break; -// case NS_rtf::LN_LCBPLCMCR: break; -// case NS_rtf::LN_FCSTTBFMCR: break; -// case NS_rtf::LN_LCBSTTBFMCR: break; -// case NS_rtf::LN_FCPRDRVR: break; -// case NS_rtf::LN_LCBPRDRVR: break; -// case NS_rtf::LN_FCPRENVPORT: break; -// case NS_rtf::LN_LCBPRENVPORT: break; -// case NS_rtf::LN_FCPRENVLAND: break; -// case NS_rtf::LN_LCBPRENVLAND: break; -// case NS_rtf::LN_FCWSS: break; -// case NS_rtf::LN_LCBWSS: break; -// case NS_rtf::LN_FCDOP: break; -// case NS_rtf::LN_LCBDOP: break; -// case NS_rtf::LN_FCSTTBFASSOC: break; -// case NS_rtf::LN_LCBSTTBFASSOC: break; -// case NS_rtf::LN_FCCLX: break; -// case NS_rtf::LN_LCBCLX: break; -// case NS_rtf::LN_FCPLCFPGDFTN: break; -// case NS_rtf::LN_LCBPLCFPGDFTN: break; -// case NS_rtf::LN_FCAUTOSAVESOURCE: break; -// case NS_rtf::LN_LCBAUTOSAVESOURCE: break; -// case NS_rtf::LN_FCGRPXSTATNOWNERS: break; -// case NS_rtf::LN_LCBGRPXSTATNOWNERS: break; -// case NS_rtf::LN_FCSTTBFATNBKMK: break; -// case NS_rtf::LN_LCBSTTBFATNBKMK: break; -// case NS_rtf::LN_FCPLCDOAMOM: break; -// case NS_rtf::LN_LCBPLCDOAMOM: break; -// case NS_rtf::LN_FCPLCDOAHDR: break; -// case NS_rtf::LN_LCBPLCDOAHDR: break; -// case NS_rtf::LN_FCPLCSPAMOM: break; -// case NS_rtf::LN_LCBPLCSPAMOM: break; -// case NS_rtf::LN_FCPLCSPAHDR: break; -// case NS_rtf::LN_LCBPLCSPAHDR: break; -// case NS_rtf::LN_FCPLCFATNBKF: break; -// case NS_rtf::LN_LCBPLCFATNBKF: break; -// case NS_rtf::LN_FCPLCFATNBKL: break; -// case NS_rtf::LN_LCBPLCFATNBKL: break; -// case NS_rtf::LN_FCPMS: break; -// case NS_rtf::LN_LCBPMS: break; -// case NS_rtf::LN_FCFORMFLDSTTBF: break; -// case NS_rtf::LN_LCBFORMFLDSTTBF: break; -// case NS_rtf::LN_FCPLCFENDREF: break; -// case NS_rtf::LN_LCBPLCFENDREF: break; -// case NS_rtf::LN_FCPLCFENDTXT: break; -// case NS_rtf::LN_LCBPLCFENDTXT: break; -// case NS_rtf::LN_FCPLCFFLDEDN: break; -// case NS_rtf::LN_LCBPLCFFLDEDN: break; -// case NS_rtf::LN_FCPLCFPGDEDN: break; -// case NS_rtf::LN_LCBPLCFPGDEDN: break; -// case NS_rtf::LN_FCDGGINFO: break; -// case NS_rtf::LN_LCBDGGINFO: break; -// case NS_rtf::LN_FCSTTBFRMARK: break; -// case NS_rtf::LN_LCBSTTBFRMARK: break; -// case NS_rtf::LN_FCSTTBFCAPTION: break; -// case NS_rtf::LN_LCBSTTBFCAPTION: break; -// case NS_rtf::LN_FCSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_LCBSTTBFAUTOCAPTION: break; -// case NS_rtf::LN_FCPLCFWKB: break; -// case NS_rtf::LN_LCBPLCFWKB: break; -// case NS_rtf::LN_FCPLCFSPL: break; -// case NS_rtf::LN_LCBPLCFSPL: break; -// case NS_rtf::LN_FCPLCFTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDTXBX: break; -// case NS_rtf::LN_FCPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_LCBPLCFHDRTXBXTXT: break; -// case NS_rtf::LN_FCPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_LCBPLCFFLDHDRTXBX: break; -// case NS_rtf::LN_FCSTWUSER: break; -// case NS_rtf::LN_LCBSTWUSER: break; -// case NS_rtf::LN_FCSTTBTTMBD: break; -// case NS_rtf::LN_LCBSTTBTTMBD: break; -// case NS_rtf::LN_FCUNUSED: break; -// case NS_rtf::LN_LCBUNUSED: break; -// case NS_rtf::LN_FCPGDMOTHER: break; -// case NS_rtf::LN_LCBPGDMOTHER: break; -// case NS_rtf::LN_FCBKDMOTHER: break; -// case NS_rtf::LN_LCBBKDMOTHER: break; -// case NS_rtf::LN_FCPGDFTN: break; -// case NS_rtf::LN_LCBPGDFTN: break; -// case NS_rtf::LN_FCBKDFTN: break; -// case NS_rtf::LN_LCBBKDFTN: break; -// case NS_rtf::LN_FCPGDEDN: break; -// case NS_rtf::LN_LCBPGDEDN: break; -// case NS_rtf::LN_FCBKDEDN: break; -// case NS_rtf::LN_LCBBKDEDN: break; -// case NS_rtf::LN_FCSTTBFINTLFLD: break; -// case NS_rtf::LN_LCBSTTBFINTLFLD: break; -// case NS_rtf::LN_FCROUTESLIP: break; -// case NS_rtf::LN_LCBROUTESLIP: break; -// case NS_rtf::LN_FCSTTBSAVEDBY: break; -// case NS_rtf::LN_LCBSTTBSAVEDBY: break; -// case NS_rtf::LN_FCSTTBFNM: break; -// case NS_rtf::LN_LCBSTTBFNM: break; -// case NS_rtf::LN_FCPLCFLST: break; -// case NS_rtf::LN_LCBPLCFLST: break; -// case NS_rtf::LN_FCPLFLFO: break; -// case NS_rtf::LN_LCBPLFLFO: break; -// case NS_rtf::LN_FCPLCFTXBXBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXBKD: break; -// case NS_rtf::LN_FCPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_LCBPLCFTXBXHDRBKD: break; -// case NS_rtf::LN_FCDOCUNDO: break; -// case NS_rtf::LN_LCBDOCUNDO: break; -// case NS_rtf::LN_FCRGBUSE: break; -// case NS_rtf::LN_LCBRGBUSE: break; -// case NS_rtf::LN_FCUSP: break; -// case NS_rtf::LN_LCBUSP: break; -// case NS_rtf::LN_FCUSKF: break; -// case NS_rtf::LN_LCBUSKF: break; -// case NS_rtf::LN_FCPLCUPCRGBUSE: break; -// case NS_rtf::LN_LCBPLCUPCRGBUSE: break; -// case NS_rtf::LN_FCPLCUPCUSP: break; -// case NS_rtf::LN_LCBPLCUPCUSP: break; -// case NS_rtf::LN_FCSTTBGLSYSTYLE: break; -// case NS_rtf::LN_LCBSTTBGLSYSTYLE: break; -// case NS_rtf::LN_FCPLGOSL: break; -// case NS_rtf::LN_LCBPLGOSL: break; -// case NS_rtf::LN_FCPLCOCX: break; -// case NS_rtf::LN_LCBPLCOCX: break; -// case NS_rtf::LN_FCPLCFBTELVC: break; -// case NS_rtf::LN_LCBPLCFBTELVC: break; -// case NS_rtf::LN_DWLOWDATETIME: break; -// case NS_rtf::LN_DWHIGHDATETIME: break; -// case NS_rtf::LN_FCPLCFLVC: break; -// case NS_rtf::LN_LCBPLCFLVC: break; -// case NS_rtf::LN_FCPLCASUMY: break; -// case NS_rtf::LN_LCBPLCASUMY: break; -// case NS_rtf::LN_FCPLCFGRAM: break; -// case NS_rtf::LN_LCBPLCFGRAM: break; -// case NS_rtf::LN_FCSTTBLISTNAMES: break; -// case NS_rtf::LN_LCBSTTBLISTNAMES: break; -// case NS_rtf::LN_FCSTTBFUSSR: break; -// case NS_rtf::LN_LCBSTTBFUSSR: break; -// case NS_rtf::LN_FN: break; -// case NS_rtf::LN_FCSEPX: break; -// case NS_rtf::LN_FNMPR: break; -// case NS_rtf::LN_FCMPR: break; -// case NS_rtf::LN_ICOFORE: break; -// case NS_rtf::LN_ICOBACK: break; -// case NS_rtf::LN_IPAT: break; -// case NS_rtf::LN_SHDFORECOLOR: break; -// case NS_rtf::LN_SHDBACKCOLOR: break; -// case NS_rtf::LN_SHDPATTERN: break; -// case NS_rtf::LN_DPTLINEWIDTH: break; -// case NS_rtf::LN_BRCTYPE: break; -// case NS_rtf::LN_ICO: break; -// case NS_rtf::LN_DPTSPACE: break; -// case NS_rtf::LN_FSHADOW: break; -// case NS_rtf::LN_FFRAME: break; -// case NS_rtf::LN_UNUSED2_15: break; -// case NS_rtf::LN_FFIRSTMERGED: break; -// case NS_rtf::LN_FMERGED: break; -// case NS_rtf::LN_FVERTICAL: break; -// case NS_rtf::LN_FBACKWARD: break; -// case NS_rtf::LN_FROTATEFONT: break; -// case NS_rtf::LN_FVERTMERGE: break; -// case NS_rtf::LN_FVERTRESTART: break; -// case NS_rtf::LN_VERTALIGN: break; -// case NS_rtf::LN_FUNUSED: break; -// case NS_rtf::LN_WUNUSED: break; -// case NS_rtf::LN_BRCTOP: break; -// case NS_rtf::LN_BRCLEFT: break; -// case NS_rtf::LN_BRCBOTTOM: break; -// case NS_rtf::LN_BRCRIGHT: break; -// case NS_rtf::LN_IBKL: break; -// case NS_rtf::LN_ITCFIRST: break; -// case NS_rtf::LN_FPUB: break; -// case NS_rtf::LN_ITCLIM: break; -// case NS_rtf::LN_FCOL: break; -// case NS_rtf::LN_LINECOLOR: break; -// case NS_rtf::LN_LINEWIDTH: break; -// case NS_rtf::LN_LINETYPE: break; -// case NS_rtf::LN_MM: break; -// case NS_rtf::LN_XEXT: break; -// case NS_rtf::LN_YEXT: break; -// case NS_rtf::LN_HMF: break; -// case NS_rtf::LN_LCB: break; -// case NS_rtf::LN_CBHEADER: break; -// case NS_rtf::LN_MFP: break; -// case NS_rtf::LN_BM_RCWINMF: break; -// case NS_rtf::LN_DXAGOAL: break; -// case NS_rtf::LN_DYAGOAL: break; -// case NS_rtf::LN_MX: break; -// case NS_rtf::LN_MY: break; -// case NS_rtf::LN_DXACROPLEFT: break; -// case NS_rtf::LN_DYACROPTOP: break; -// case NS_rtf::LN_DXACROPRIGHT: break; -// case NS_rtf::LN_DYACROPBOTTOM: break; -// case NS_rtf::LN_BRCL: break; -// case NS_rtf::LN_FFRAMEEMPTY: break; -// case NS_rtf::LN_FBITMAP: break; -// case NS_rtf::LN_FDRAWHATCH: break; -// case NS_rtf::LN_FERROR: break; -// case NS_rtf::LN_BPP: break; -// case NS_rtf::LN_DXAORIGIN: break; -// case NS_rtf::LN_DYAORIGIN: break; -// case NS_rtf::LN_CPROPS: break; -// case NS_rtf::LN_LINEPROPSTOP: break; -// case NS_rtf::LN_LINEPROPSLEFT: break; -// case NS_rtf::LN_LINEPROPSBOTTOM: break; -// case NS_rtf::LN_LINEPROPSRIGHT: break; -// case NS_rtf::LN_LINEPROPSHORIZONTAL: break; -// case NS_rtf::LN_LINEPROPSVERTICAL: break; -// case NS_rtf::LN_headerr: break; -// case NS_rtf::LN_footerr: break; -// case NS_rtf::LN_endnote: break; -// case NS_rtf::LN_BOOKMARKNAME: break; - - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_LISTLEVEL: - { - //add a new level to the level vector and make it the current one - m_pImpl->AddLevel(); - - writerfilter::Reference::Pointer_t pProperties; - if((pProperties = rVal.getProperties()).get()) - pProperties->resolve(*this); - } - break; -// case NS_rtf::LN_LFO: break; -// case NS_rtf::LN_F: break; -// case NS_rtf::LN_ALTFONTNAME: break; -// case NS_rtf::LN_XSZFFN: break; -// case NS_rtf::LN_XSTZNAME: break; -// case NS_rtf::LN_XSTZNAME1: break; -// case NS_rtf::LN_UPXSTART: break; -// case NS_rtf::LN_UPX: break; -// case NS_rtf::LN_sed: break; -// case NS_rtf::LN_picf: break; -// case NS_rtf::LN_rgbrc: break; -// case NS_rtf::LN_shd: break; -// case NS_rtf::LN_cellShd: break; -// case NS_rtf::LN_cellTopColor: break; -// case NS_rtf::LN_cellLeftColor: break; -// case NS_rtf::LN_cellBottomColor: break; -// case NS_rtf::LN_cellRightColor: break; - -// case NS_rtf::LN_LISTTABLE: break; -// case NS_rtf::LN_LFOTABLE: break; -// case NS_rtf::LN_FONTTABLE: break; -// case NS_rtf::LN_STYLESHEET: break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_AbstractNum_abstractNumId: - { - sal_Int32 nVal = rVal.getString().toInt32(); - m_pImpl->m_pCurrentEntry->nAbstractNumId = nVal; - m_pImpl->m_pCurrentEntry->nListId = nVal; - } - break; - case NS_ooxml::LN_CT_Ind_left: - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - m_pImpl->m_pCurrentEntry->pCurrentProperties->Insert( - PROP_INDENT_AT, true, uno::makeAny( ConversionHelper::convertTwipToMM100( nIntValue ) )); - break; - case NS_ooxml::LN_CT_Ind_hanging: - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - m_pImpl->m_pCurrentEntry->pCurrentProperties->Insert( - PROP_FIRST_LINE_INDENT, true, uno::makeAny( - ConversionHelper::convertTwipToMM100( nIntValue ) )); - break; - case NS_ooxml::LN_CT_Ind_firstLine: - /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ - m_pImpl->m_pCurrentEntry->pCurrentProperties->Insert( - PROP_FIRST_LINE_INDENT, true, uno::makeAny( ConversionHelper::convertTwipToMM100( nIntValue ) )); - break; - case NS_ooxml::LN_CT_Lvl_ilvl: //overrides previous level - unsupported - case NS_ooxml::LN_CT_Lvl_tplc: //template code - unsupported - case NS_ooxml::LN_CT_Lvl_tentative: //marks level as unused in the document - unsupported - break; - case NS_ooxml::LN_CT_TabStop_pos: - { - //no paragraph attributes in ListTable char style sheets - m_pImpl->m_pCurrentEntry->pCurrentProperties->nTabstop = ConversionHelper::convertTwipToMM100( nIntValue ); - } - break; - default: - { -#if OSL_DEBUG_LEVEL > 0 - ::rtl::OString sMessage( "ListTable::attribute() - Id: "); - sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 10 ); - sMessage += ::rtl::OString(" / 0x"); - sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 16 ); - sMessage += ::rtl::OString(" value: "); - sMessage += ::rtl::OString::valueOf( sal_Int32( nIntValue ), 10 ); - sMessage += ::rtl::OString(" / 0x"); - sMessage += ::rtl::OString::valueOf( sal_Int32( nIntValue ), 16 ); - OSL_ENSURE( false, sMessage.getStr()); // -#endif - } - } -} -/*-- 23.06.2006 12:04:33--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::sprm(Sprm & rSprm) -{ - //fill the attributes of the style sheet - sal_uInt32 nSprmId = rSprm.getId(); - if( m_pImpl->m_pCurrentEntry.get() || - nSprmId == NS_ooxml::LN_CT_Numbering_abstractNum || - nSprmId == NS_ooxml::LN_CT_Numbering_num ) - { - sal_Int32 nIntValue = rSprm.getValue()->getInt(); - /* WRITERFILTERSTATUS: table: ListTable_sprm */ - switch( nSprmId ) - { - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_Numbering_abstractNum: - { - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - { - //create a new list entry - OSL_ENSURE( !m_pImpl->m_pCurrentEntry.get(), "current entry has to be NULL here"); - m_pImpl->m_pCurrentEntry.reset( new ListEntry ); - pProperties->resolve( *this ); - //append it to the table - m_pImpl->m_aListEntries.push_back( m_pImpl->m_pCurrentEntry ); - m_pImpl->m_pCurrentEntry = ListEntryPtr(); - } - } - break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_Numbering_num: - { - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - { - Numbering_numHdlPtr pNumHdl( new Numbering_numHdl( *this ) ); - pProperties->resolve(*pNumHdl); - //todo: is the order of numberings guaranteed? - //sal_Int32 pNumhdl->GetNumId(); - m_pImpl->m_rDMapper.AddListIDToLFOTable( pNumHdl->GetAbstractNumId() ); - } - } - break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_AbstractNum_multiLevelType: - break; - /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ - case NS_rtf::LN_TPLC: - m_pImpl->m_pCurrentEntry->nTPLC = nIntValue; - break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_AbstractNum_lvl: - { - m_pImpl->AddLevel(); - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - } - break; -// not a useful number in ooxml -// case NS_rtf::LN_LSID: -// m_pImpl->m_pCurrentEntry->nListId = nIntValue; -// break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_rtf::LN_RGBXCHNUMS: break; - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_ISTARTAT: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_NFC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_JC: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FLEGAL: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FNORESTART: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FWORD6: - /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_IXCHFOLLOW: - ApplyLevelValues( nSprmId, nIntValue ); - break; - case NS_ooxml::LN_CT_Lvl_lvlText: - case NS_ooxml::LN_CT_Lvl_rPr : //contains LN_EG_RPrBase_rFonts - { - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - } - break; - case NS_ooxml::LN_CT_NumLvl_lvl: - { - // overwrite level - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - } - break; - case NS_ooxml::LN_CT_Lvl_lvlJc: - { - static sal_Int16 aWWAlignments[ ] = - { - text::HoriOrientation::LEFT, - text::HoriOrientation::CENTER, - text::HoriOrientation::RIGHT - }; - m_pImpl->m_pCurrentEntry->pCurrentProperties->Insert( - PROP_ADJUST, true, uno::makeAny( aWWAlignments[ nIntValue ] ) ); - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - } - break; - case NS_ooxml::LN_CT_Lvl_pPr: - case NS_ooxml::LN_CT_PPrBase_ind: - { - //todo: how to handle paragraph properties within numbering levels (except LeftIndent and FirstLineIndent)? - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - } - break; - case NS_ooxml::LN_CT_PPrBase_tabs: - case NS_ooxml::LN_CT_Tabs_tab: - { - writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); - if(pProperties.get()) - pProperties->resolve(*this); - } - break; - case NS_ooxml::LN_CT_Lvl_suff: - //todo: currently unsupported suffix - //can be: "none", "space", "tab" - break; - case NS_ooxml::LN_EG_RPrBase_rFonts: //contains font properties - case NS_ooxml::LN_EG_RPrBase_color: - case NS_ooxml::LN_EG_RPrBase_u: - case NS_sprm::LN_CHps: // sprmCHps - case NS_ooxml::LN_EG_RPrBase_lang: - case NS_ooxml::LN_EG_RPrBase_eastAsianLayout: - //no break! - default: - if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) - { - m_pImpl->m_rDMapper.PushListProperties( m_pImpl->m_pCurrentEntry->pCurrentProperties ); - m_pImpl->m_rDMapper.sprm( rSprm ); - m_pImpl->m_rDMapper.PopListProperties(); - } - } - } -} -/*-- 12.11.2007 09:36:09--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::ApplyLevelValues( sal_Int32 nId, sal_Int32 nIntValue) -{ - if(m_pImpl->m_pCurrentEntry->pCurrentProperties.get()) - switch(nId) - { - case NS_rtf::LN_ISTARTAT: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nIStartAt = nIntValue; - break; - case NS_rtf::LN_NFC: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nNFC = nIntValue; - break; - case NS_rtf::LN_JC: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nJC = nIntValue; - break; - case NS_rtf::LN_FLEGAL: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nFLegal = nIntValue; - break; - case NS_rtf::LN_FNORESTART: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nFNoRestart = nIntValue; - break; - case NS_rtf::LN_FPREV: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nFPrev = nIntValue; - break; - case NS_rtf::LN_FPREVSPACE: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nFPrevSpace = nIntValue; - break; - case NS_rtf::LN_FWORD6: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nFWord6 = nIntValue; - break; - case NS_rtf::LN_IXCHFOLLOW: - m_pImpl->m_pCurrentEntry->pCurrentProperties->nXChFollow = nIntValue; - break; - default: - OSL_ENSURE( false, "this line should never be reached"); - } -} -/*-- 23.06.2006 12:04:33--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::entry(int, writerfilter::Reference::Pointer_t ref) -{ - - if( m_pImpl->m_rDMapper.IsOOXMLImport() ) - { - ref->resolve(*this); - } - else - { - //create a new list entry - OSL_ENSURE( !m_pImpl->m_pCurrentEntry.get(), "current entry has to be NULL here"); - m_pImpl->m_pCurrentEntry.reset( new ListEntry ); - ref->resolve(*this); - //append it to the table - m_pImpl->m_aListEntries.push_back( m_pImpl->m_pCurrentEntry ); - m_pImpl->m_pCurrentEntry = ListEntryPtr(); - } -} -/*-- 26.06.2006 10:27:55--------------------------------------------------- - - -----------------------------------------------------------------------*/ -sal_uInt32 ListTable::size() const -{ - return m_pImpl->m_aListEntries.size(); -} - -rtl::OUString ListTable::GetStyleName( sal_Int32 nListId ) -{ - rtl::OUString sStyleName( rtl::OUString::createFromAscii( "WWNum" ) ); - sStyleName += rtl::OUString::valueOf( nListId + 1 ); - - return sStyleName; -} - -void ListTable::CreateNumberingRules( ) -{ - uno::Reference< container::XIndexReplace > xRet; - std::vector< ListEntryPtr >::const_iterator aIt = m_pImpl->m_aListEntries.begin(); - std::vector< ListEntryPtr >::const_iterator aEndIt = m_pImpl->m_aListEntries.end(); - - uno::Reference< container::XNameContainer > xStyles; - - try - { - uno::Reference< style::XStyleFamiliesSupplier > xFamilies( m_pImpl->m_xFactory, uno::UNO_QUERY_THROW ); - uno::Any oFamily = xFamilies->getStyleFamilies( )->getByName( rtl::OUString::createFromAscii( "NumberingStyles" ) ); - - oFamily >>= xStyles; - } - catch ( const uno::Exception ) - { - } - - for(; aIt != aEndIt; ++aIt) - { - if( !(*aIt)->m_xNumRules.is() && m_pImpl->m_xFactory.is() && xStyles.is( ) ) - { - try - { - // Create the numbering style - uno::Reference< beans::XPropertySet > xStyle ( - m_pImpl->m_xFactory->createInstance( - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.style.NumberingStyle"))), - uno::UNO_QUERY_THROW ); - - rtl::OUString sStyleName = GetStyleName( ( *aIt )->nListId ); -#if DEBUG - clog << "Creating numbering style: "; - clog << rtl::OUStringToOString( sStyleName, RTL_TEXTENCODING_UTF8 ).getStr( ); - clog << endl; -#endif - - xStyles->insertByName( sStyleName, makeAny( xStyle ) ); - - uno::Any oStyle = xStyles->getByName( sStyleName ); - xStyle.set( oStyle, uno::UNO_QUERY_THROW ); - - PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); - uno::Any aRules = xStyle->getPropertyValue( aPropNameSupplier.GetName( PROP_NUMBERING_RULES ) ); - aRules >>= ( *aIt )->m_xNumRules; - - //now fill the numbering levels appropriately - ::std::vector< ListPropertyMapPtr >::const_iterator aIter = (*aIt)->aLevelProperties.begin(); - ::std::vector< ListPropertyMapPtr >::const_iterator aEnd = (*aIt)->aLevelProperties.end(); - sal_Int32 nLevel = 0; - while(aIter != aEnd) - { - PropertyValueVector_t aCharStyleProperties; - uno::Sequence< beans::PropertyValue> aValues = (*aIter)->GetPropertyValuesList(aCharStyleProperties); - if( aCharStyleProperties.size() ) - { - //create (or find) a character style containing the character attributes of the symbol - //and apply it to the numbering level - ::rtl::OUString sStyle = m_pImpl->m_rDMapper.getOrCreateCharStyle( aCharStyleProperties ); - aValues.realloc( aValues.getLength() + 1); - aValues[aValues.getLength() - 1].Name = aPropNameSupplier.GetName( PROP_CHAR_STYLE_NAME ); - aValues[aValues.getLength() - 1].Value <<= sStyle; - } - //now parse the text to find %n from %1 to %nLevel+1 - //everything before the first % and the last %x is prefix and suffix - ::rtl::OUString sLevelText( (*aIter)->sBulletChar ); - sal_Int32 nCurrentIndex = 0; - sal_Int32 nFound = sLevelText.indexOf( '%', nCurrentIndex ); - if( nFound > 0 ) - { - ::rtl::OUString sPrefix = sLevelText.copy( 0, nFound ); - aValues.realloc( aValues.getLength() + 1 ); - aValues[ aValues.getLength() - 1 ] = MAKE_PROPVAL(PROP_PREFIX, sPrefix); - sLevelText = sLevelText.copy( nFound ); - } - sal_Int32 nMinLevel = nLevel; - //now the text should either be empty or start with % - nFound = 0; - while( nFound >= 0 ) - { - if( sLevelText.getLength() > 1 ) - { - sal_Unicode cLevel = sLevelText.getStr()[1]; - if( cLevel >= '1' && cLevel <= '9' ) - { - if( cLevel - '1' < nMinLevel ) - nMinLevel = cLevel - '1'; - //remove first char - next char is removed later - sLevelText = sLevelText.copy( 1 ); - } - } - //remove old '%' or number - sLevelText = sLevelText.copy( 1 ); - nCurrentIndex = 0; - nFound = sLevelText.indexOf( '%', nCurrentIndex ); - //remove the text before the next % - if(nFound > 0) - sLevelText = sLevelText.copy( nFound -1 ); - } - if( nMinLevel < nLevel ) - { - aValues.realloc( aValues.getLength() + 1); - aValues[ aValues.getLength() - 1 ] = - MAKE_PROPVAL(PROP_PARENT_NUMBERING, sal_Int16( nLevel - nMinLevel + 1)); - } - aValues.realloc( aValues.getLength() + 1); - aValues[ aValues.getLength() - 1 ] = MAKE_PROPVAL(PROP_SUFFIX, sLevelText); - - aValues.realloc( aValues.getLength() + 1); - aValues[ aValues.getLength() - 1 ] = MAKE_PROPVAL( PROP_POSITION_AND_SPACE_MODE, - sal_Int16( text::PositionAndSpaceMode::LABEL_ALIGNMENT ) ); - -#if DEBUG - clog << endl << "Numbering rule properties - " << nLevel << endl; - for ( sal_Int32 i = 0, len = aValues.getLength( ); i < len; i++ ) - { - beans::PropertyValue aVal = aValues[i]; - clog << " " << rtl::OUStringToOString( aVal.Name, RTL_TEXTENCODING_UTF8 ).getStr( ); - clog << ": "; - rtl::OUString sVal; - sal_Int32 nVal; - if ( aVal.Value >>= sVal ) - { - clog << rtl::OUStringToOString( sVal, RTL_TEXTENCODING_UTF8 ).getStr( ); - } - else if ( aVal.Value >>= nVal ) - { - clog << nVal; - } - clog << endl; - } -#endif - - (*aIt)->m_xNumRules->replaceByIndex(nLevel, uno::makeAny(aValues)); - ++aIter; - ++nLevel; - } - - // Create the numbering style for these rules - rtl::OUString sNumRulesName = aPropNameSupplier.GetName( PROP_NUMBERING_RULES ); - xStyle->setPropertyValue( - sNumRulesName, - uno::makeAny( ( *aIt )->m_xNumRules ) ); - } - catch( const uno::Exception& rEx) - { - (void)rEx; - OSL_ENSURE( false, "ListTable::CreateNumberingRules"); - } - } - } -} - -/*-- 26.06.2006 10:33:56--------------------------------------------------- - - -----------------------------------------------------------------------*/ -uno::Reference< container::XIndexReplace > ListTable::GetNumberingRules(sal_Int32 nListId) -{ - uno::Reference< container::XIndexReplace > xRet; - std::vector< ListEntryPtr >::const_iterator aIt = m_pImpl->m_aListEntries.begin(); - std::vector< ListEntryPtr >::const_iterator aEndIt = m_pImpl->m_aListEntries.end(); - for(; aIt != aEndIt; ++aIt) - { - if((*aIt)->nListId == nListId) - { - xRet = (*aIt)->m_xNumRules; - break; - } - } - return xRet; -} -/*-- 19.11.2007 13:25:32--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::setOverwriteLevel(sal_Int32 nAbstractNumId, sal_Int32 nLevel) -{ - m_nOverwriteListId = nAbstractNumId; - m_nOverwriteLevel = nLevel; - OSL_ENSURE(!m_pImpl->m_pCurrentEntry.get(), "where to put the overwrite level"); - std::vector< ListEntryPtr >::const_iterator aIt = m_pImpl->m_aListEntries.begin(); - std::vector< ListEntryPtr >::const_iterator aEndIt = m_pImpl->m_aListEntries.end(); - for(; aIt != aEndIt; ++aIt) - { - if( (*aIt)->nListId == nAbstractNumId ) - { - m_pImpl->m_pCurrentEntry = *aIt; - break; - } - } - OSL_ENSURE( m_pImpl->m_pCurrentEntry.get(), "list not found"); -} -/*-- 19.11.2007 13:25:32--------------------------------------------------- - - -----------------------------------------------------------------------*/ -void ListTable::resetOverwrite() -{ - m_nOverwriteListId = -1; - m_nOverwriteLevel = -1; - m_pImpl->m_pCurrentEntry.reset(); -} - -}//namespace dmapper -}//namespace writerfilter - diff --git a/writerfilter/source/dmapper/ListTable.hxx b/writerfilter/source/dmapper/ListTable.hxx deleted file mode 100644 index 2d0cf2e6bdce..000000000000 --- a/writerfilter/source/dmapper/ListTable.hxx +++ /dev/null @@ -1,92 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ListTable.hxx,v $ - * $Revision: 1.5 $ - * - * 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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef INCLUDED_LISTTABLE_HXX -#define INCLUDED_LISTTABLE_HXX - -#include -#include -#include - -namespace com{ namespace sun { namespace star { - namespace text{ - class XTextDocument; - } - namespace container{ - class XIndexReplace; - } - namespace lang{ - class XMultiServiceFactory; - } -}}} - -namespace writerfilter { -namespace dmapper -{ -class DomainMapper; -struct ListTable_Impl; -class WRITERFILTER_DLLPRIVATE ListTable : - public Properties, - public Table -{ - ListTable_Impl *m_pImpl; - sal_Int32 m_nOverwriteListId; - sal_Int32 m_nOverwriteLevel; - - void ApplyLevelValues( sal_Int32 nId, sal_Int32 nIntValue); -public: - ListTable( - DomainMapper& rDMapper, - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory); - virtual ~ListTable(); - - // Properties - virtual void attribute(Id Name, Value & val); - virtual void sprm(Sprm & sprm); - - // Table - virtual void entry(int pos, writerfilter::Reference::Pointer_t ref); - - // BinaryObj -// virtual void data(const sal_Int8* buf, size_t len, -// writerfilter::Reference::Pointer_t ref); - - sal_uInt32 size() const; - rtl::OUString GetStyleName( sal_Int32 nListId ); - void CreateNumberingRules( ); - ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace > - GetNumberingRules(sal_Int32 nListId); - - void setOverwriteLevel(sal_Int32 nAbstractNumId, sal_Int32 nLevel); - void resetOverwrite(); -}; -typedef boost::shared_ptr< ListTable > ListTablePtr; -}} - -#endif // diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx new file mode 100644 index 000000000000..ad275f480518 --- /dev/null +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -0,0 +1,1001 @@ +#include "ConversionHelper.hxx" +#include "NumberingManager.hxx" +#include "StyleSheetTable.hxx" +#include "PropertyIds.hxx" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#if DEBUG +#include +#endif + +using namespace rtl; +using namespace com::sun::star; + +#define MAKE_PROPVAL(NameId, Value) \ + beans::PropertyValue(aPropNameSupplier.GetName(NameId), 0, uno::makeAny(Value), beans::PropertyState_DIRECT_VALUE ) + +#define OUSTR_TO_C( x ) OUStringToOString( x, RTL_TEXTENCODING_UTF8 ).getStr( ) + +#define NUMBERING_MAX_LEVELS 10 + + +namespace writerfilter { +namespace dmapper { + +//--------------------------------------------------- Utility functions + +void lcl_printProperties( uno::Sequence< beans::PropertyValue > aProps ) +{ + sal_Int32 nLen = aProps.getLength( ); + for ( sal_Int32 i = 0; i < nLen; i++ ) + { + uno::Any aValue = aProps[i].Value; + sal_Int32 nValue; + OUString sValue; + + if ( !( aValue >>= sValue ) && ( aValue >>= nValue ) ) + sValue = OUString::valueOf( nValue ); + +#if DEBUG + fprintf( stderr, "Property %s: %s\n", + OUSTR_TO_C( aProps[i].Name ), + OUSTR_TO_C( sValue ) ); +#endif + } +} + +sal_Int32 lcl_findProperty( uno::Sequence< beans::PropertyValue > aProps, OUString sName ) +{ + sal_Int32 i = 0; + sal_Int32 nLen = aProps.getLength( ); + sal_Int32 nPos = -1; + + while ( nPos == -1 && i < nLen ) + { + if ( aProps[i].Name.equals( sName ) ) + nPos = i; + else + i++; + } + + return nPos; +} + +void lcl_mergeProperties( uno::Sequence< beans::PropertyValue >& aSrc, + uno::Sequence< beans::PropertyValue >& aDst ) +{ + for ( sal_Int32 i = 0, nSrcLen = aSrc.getLength( ); i < nSrcLen; i++ ) + { + // Look for the same property in aDst + sal_Int32 nPos = lcl_findProperty( aDst, aSrc[i].Name ); + if ( nPos >= 0 ) + { + // Replace the property value by the one in aSrc + aDst[nPos] = aSrc[i]; + } + else + { + // Simply add the new value + aDst.realloc( aDst.getLength( ) + 1 ); + aDst[ aDst.getLength( ) - 1 ] = aSrc[i]; + } + } +} + +//-------------------------------------------- ListLevel implementation +void ListLevel::SetValue( Id nId, sal_Int32 nValue ) +{ + switch( nId ) + { + case NS_rtf::LN_ISTARTAT: + m_nIStartAt = nValue; + break; + case NS_rtf::LN_NFC: + m_nNFC = nValue; + break; + case NS_rtf::LN_JC: + m_nJC = nValue; + break; + case NS_rtf::LN_FLEGAL: + m_nFLegal = nValue; + break; + case NS_rtf::LN_FNORESTART: + m_nFNoRestart = nValue; + break; + case NS_rtf::LN_FPREV: + m_nFPrev = nValue; + break; + case NS_rtf::LN_FPREVSPACE: + m_nFPrevSpace = nValue; + break; + case NS_rtf::LN_FWORD6: + m_nFWord6 = nValue; + break; + case NS_rtf::LN_IXCHFOLLOW: + m_nXChFollow = nValue; + break; + case NS_ooxml::LN_CT_TabStop_pos: + m_nTabstop = nValue; + break; + default: + OSL_ENSURE( false, "this line should never be reached"); + } +} + +sal_Int16 ListLevel::GetParentNumbering( OUString sText, sal_Int16 nLevel, + OUString& rPrefix, OUString& rSuffix ) +{ + sal_Int16 nParentNumbering = nLevel; + + //now parse the text to find %n from %1 to %nLevel+1 + //everything before the first % and the last %x is prefix and suffix + OUString sLevelText( sText ); + sal_Int32 nCurrentIndex = 0; + sal_Int32 nFound = sLevelText.indexOf( '%', nCurrentIndex ); + if( nFound > 0 ) + { + rPrefix = sLevelText.copy( 0, nFound ); + sLevelText = sLevelText.copy( nFound ); + } + sal_Int32 nMinLevel = nLevel; + //now the text should either be empty or start with % + nFound = 0; + while( nFound >= 0 ) + { + if( sLevelText.getLength() > 1 ) + { + sal_Unicode cLevel = sLevelText.getStr()[1]; + if( cLevel >= '1' && cLevel <= '9' ) + { + if( cLevel - '1' < nMinLevel ) + nMinLevel = cLevel - '1'; + //remove first char - next char is removed later + sLevelText = sLevelText.copy( 1 ); + } + } + //remove old '%' or number + sLevelText = sLevelText.copy( 1 ); + nCurrentIndex = 0; + nFound = sLevelText.indexOf( '%', nCurrentIndex ); + //remove the text before the next % + if(nFound > 0) + sLevelText = sLevelText.copy( nFound -1 ); + } + if( nMinLevel < nLevel ) + { + nParentNumbering = sal_Int16( nLevel - nMinLevel + 1); + } + + rSuffix = sLevelText; + + return nParentNumbering; +} + +uno::Sequence< beans::PropertyValue > ListLevel::GetProperties( ) +{ + uno::Sequence< beans::PropertyValue > aLevelProps = GetLevelProperties( ); + if ( m_pParaStyle.get( ) ) + { + // Merge with the paragraph properties + uno::Sequence< beans::PropertyValue > aParaProps = GetParaProperties( ); + lcl_mergeProperties( aParaProps, aLevelProps ); + } + return aLevelProps; +} + +uno::Sequence< beans::PropertyValue > ListLevel::GetCharStyleProperties( ) +{ + PropertyValueVector_t rProperties; + PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + + _PropertyMap::const_iterator aMapIter = begin(); + _PropertyMap::const_iterator aEndIter = end(); + for( ; aMapIter != aEndIter; ++aMapIter ) + { + switch( aMapIter->first.eId ) + { + case PROP_ADJUST: + case PROP_INDENT_AT: + case PROP_FIRST_LINE_INDENT: + case PROP_FIRST_LINE_OFFSET: + case PROP_LEFT_MARGIN: + case PROP_CHAR_FONT_NAME: + // Do nothing: handled in the GetPropertyValues method + break; + default: + { + rProperties.push_back( + beans::PropertyValue( + aPropNameSupplier.GetName( aMapIter->first.eId ), 0, + aMapIter->second, beans::PropertyState_DIRECT_VALUE )); + } + } + } + + uno::Sequence< beans::PropertyValue > aRet( rProperties.size() ); + beans::PropertyValue* pValues = aRet.getArray(); + PropertyValueVector_t::const_iterator aIt = rProperties.begin(); + PropertyValueVector_t::const_iterator aEndIt = rProperties.end(); + for(sal_uInt32 nIndex = 0; aIt != aEndIt; ++aIt,++nIndex) + { + pValues[nIndex] = *aIt; + } + return aRet; +} + +uno::Sequence< beans::PropertyValue > ListLevel::GetLevelProperties( ) +{ + const sal_Int16 aWWToUnoAdjust[] = + { + text::HoriOrientation::LEFT, + text::HoriOrientation::CENTER, + text::HoriOrientation::RIGHT, + }; + + PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + PropertyValueVector_t aNumberingProperties; + + if( m_nIStartAt >= 0) + aNumberingProperties.push_back( MAKE_PROPVAL(PROP_START_WITH, (sal_Int16)m_nIStartAt) ); + + sal_Int16 nNumberFormat = ConversionHelper::ConvertNumberingType(m_nNFC); + if( m_nNFC >= 0) + aNumberingProperties.push_back( MAKE_PROPVAL(PROP_NUMBERING_TYPE, nNumberFormat )); + + if( m_nJC >= 0 && m_nJC <= sal::static_int_cast(sizeof(aWWToUnoAdjust) / sizeof(sal_Int16)) ) + aNumberingProperties.push_back( MAKE_PROPVAL(PROP_ADJUST, aWWToUnoAdjust[m_nJC])); + + // todo: this is not the bullet char + if( nNumberFormat == style::NumberingType::CHAR_SPECIAL && m_sBulletChar.getLength() ) + aNumberingProperties.push_back( MAKE_PROPVAL(PROP_BULLET_CHAR, m_sBulletChar.copy(0,1))); + + aNumberingProperties.push_back( MAKE_PROPVAL( PROP_LISTTAB_STOP_POSITION, m_nTabstop ) ); + + //TODO: handling of nFLegal? + //TODO: nFNoRestart lower levels do not restart when higher levels are incremented, like: + //1. + //1.1 + //2.2 + //2.3 + //3.4 + // + + if( m_nFWord6 > 0) //Word 6 compatibility + { + if( m_nFPrev == 1) + aNumberingProperties.push_back( MAKE_PROPVAL( PROP_PARENT_NUMBERING, (sal_Int16) NUMBERING_MAX_LEVELS )); + //TODO: prefixing space nFPrevSpace; - has not been used in WW8 filter + } + +// TODO: sRGBXchNums; array of inherited numbers + +// TODO: nXChFollow; following character 0 - tab, 1 - space, 2 - nothing + + _PropertyMap::const_iterator aMapIter = begin(); + _PropertyMap::const_iterator aEndIter = end(); + for( ; aMapIter != aEndIter; ++aMapIter ) + { + switch( aMapIter->first.eId ) + { + case PROP_ADJUST: + case PROP_INDENT_AT: + case PROP_FIRST_LINE_INDENT: + case PROP_FIRST_LINE_OFFSET: + case PROP_LEFT_MARGIN: + aNumberingProperties.push_back( + beans::PropertyValue( aPropNameSupplier.GetName( aMapIter->first.eId ), 0, aMapIter->second, beans::PropertyState_DIRECT_VALUE )); + break; + case PROP_CHAR_FONT_NAME: + aNumberingProperties.push_back( + beans::PropertyValue( aPropNameSupplier.GetName( PROP_BULLET_FONT_NAME ), 0, aMapIter->second, beans::PropertyState_DIRECT_VALUE )); + break; + default: + { + // Handled in GetCharStyleProperties method + } + + } + } + + uno::Sequence< beans::PropertyValue > aRet(aNumberingProperties.size()); + beans::PropertyValue* pValues = aRet.getArray(); + PropertyValueVector_t::const_iterator aIt = aNumberingProperties.begin(); + PropertyValueVector_t::const_iterator aEndIt = aNumberingProperties.end(); + for(sal_uInt32 nIndex = 0; aIt != aEndIt; ++aIt,++nIndex) + { + pValues[nIndex] = *aIt; + } + return aRet; +} + +uno::Sequence< beans::PropertyValue > ListLevel::GetParaProperties( ) +{ + PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + + uno::Sequence< beans::PropertyValue > aParaProps = m_pParaStyle->pProperties->GetPropertyValues( ); + uno::Sequence< beans::PropertyValue > aProps; + + // ParaFirstLineIndent -> FirstLineIndent + // ParaLeftMargin -> IndentAt + + OUString sParaIndent = aPropNameSupplier.GetName( + PROP_PARA_FIRST_LINE_INDENT ); + OUString sFirstLineIndent = aPropNameSupplier.GetName( + PROP_FIRST_LINE_INDENT ); + OUString sParaLeftMargin = aPropNameSupplier.GetName( + PROP_PARA_LEFT_MARGIN ); + OUString sIndentAt = aPropNameSupplier.GetName( + PROP_INDENT_AT ); + + sal_Int32 nLen = aParaProps.getLength( ); + for ( sal_Int32 i = 0; i < nLen; i++ ) + { + if ( aParaProps[i].Name.equals( sParaIndent ) ) + { + aProps.realloc( aProps.getLength() + 1 ); + aProps[aProps.getLength( ) - 1] = aParaProps[i]; + aProps[aProps.getLength( ) - 1].Name = sFirstLineIndent; + } + else if ( aParaProps[i].Name.equals( sParaLeftMargin ) ) + { + aProps.realloc( aProps.getLength() + 1 ); + aProps[aProps.getLength( ) - 1] = aParaProps[i]; + aProps[aProps.getLength( ) - 1].Name = sIndentAt; + } + + } + + return aProps; +} + +//--------------------------------------- AbstractListDef implementation + +AbstractListDef::AbstractListDef( ) : + m_nTPLC( -1 ) + ,m_nSimpleList( -1 ) + ,m_nRestart( -1 ) + ,m_nUnsigned( -1 ) + ,m_nId( -1 ) +{ +} + +AbstractListDef::~AbstractListDef( ) +{ +} + +void AbstractListDef::SetValue( sal_uInt32 nSprmId, sal_Int32 nValue ) +{ + switch( nSprmId ) + { + case NS_rtf::LN_TPLC: + m_nTPLC = nValue; + break; + case NS_rtf::LN_FSIMPLELIST: + m_nSimpleList = nValue; + break; + case NS_rtf::LN_FRESTARTHDN: + m_nRestart = nValue; + break; + case NS_rtf::LN_UNSIGNED26_2: + m_nUnsigned = nValue; + break; + default: + OSL_ENSURE( false, "this line should never be reached"); + } +} + +ListLevel::Pointer AbstractListDef::GetLevel( sal_uInt16 nLvl ) +{ + ListLevel::Pointer pLevel; + if ( m_aLevels.size( ) > nLvl ) + pLevel = m_aLevels[ nLvl ]; + return pLevel; +} + +void AbstractListDef::AddLevel( ) +{ + ListLevel::Pointer pLevel( new ListLevel ); + m_pCurrentLevel = pLevel; + m_aLevels.push_back( pLevel ); +} + +uno::Sequence< uno::Sequence< beans::PropertyValue > > AbstractListDef::GetPropertyValues( ) +{ + uno::Sequence< uno::Sequence< beans::PropertyValue > > result( sal_Int32( m_aLevels.size( ) ) ); + uno::Sequence< beans::PropertyValue >* aResult = result.getArray( ); + + int nLevels = m_aLevels.size( ); + for ( int i = 0; i < nLevels; i++ ) + { + aResult[i] = m_aLevels[i]->GetProperties( ); + } + + return result; +} + +//---------------------------------------------- ListDef implementation + +ListDef::ListDef( ) : AbstractListDef( ) +{ +} + +ListDef::~ListDef( ) +{ +} + +OUString ListDef::GetStyleName( sal_Int32 nId ) +{ + OUString sStyleName( OUString::createFromAscii( "WWNum" ) ); + sStyleName += OUString::valueOf( nId ); + + return sStyleName; +} + +uno::Sequence< uno::Sequence< beans::PropertyValue > > ListDef::GetPropertyValues( ) +{ + // [1] Call the same method on the abstract list + uno::Sequence< uno::Sequence< beans::PropertyValue > > aAbstract = m_pAbstractDef->GetPropertyValues( ); + + // [2] Call the upper class method + uno::Sequence< uno::Sequence< beans::PropertyValue > > aThis = AbstractListDef::GetPropertyValues( ); + + // Merge the results of [2] in [1] + sal_Int32 nThisCount = aThis.getLength( ); + for ( sal_Int32 i = 0; i < nThisCount; i++ ) + { + uno::Sequence< beans::PropertyValue > level = aThis[i]; + if ( level.getLength( ) == 0 ) + { + // If the the element contains something, merge it + lcl_mergeProperties( level, aAbstract[i] ); + } + } + + return aAbstract; +} + +uno::Reference< container::XNameContainer > lcl_getUnoNumberingStyles( + uno::Reference< lang::XMultiServiceFactory > xFactory ) +{ + uno::Reference< container::XNameContainer > xStyles; + + try + { + uno::Reference< style::XStyleFamiliesSupplier > xFamilies( xFactory, uno::UNO_QUERY_THROW ); + uno::Any oFamily = xFamilies->getStyleFamilies( )->getByName( OUString::createFromAscii( "NumberingStyles" ) ); + + oFamily >>= xStyles; + } + catch ( const uno::Exception ) + { + } + + return xStyles; +} + +void ListDef::CreateNumberingRules( DomainMapper& rDMapper, + uno::Reference< lang::XMultiServiceFactory> xFactory ) +{ + // Get the UNO Numbering styles + uno::Reference< container::XNameContainer > xStyles = lcl_getUnoNumberingStyles( xFactory ); + + // Do the whole thing + if( !m_xNumRules.is() && xFactory.is() && xStyles.is( ) ) + { + try + { + // Create the numbering style + uno::Reference< beans::XPropertySet > xStyle ( + xFactory->createInstance( + OUString::createFromAscii("com.sun.star.style.NumberingStyle")), + uno::UNO_QUERY_THROW ); + + rtl::OUString sStyleName = GetStyleName( GetId( ) ); +#if DEBUG + fprintf( stderr, "Creating numbering style: %s\n", OUSTR_TO_C( sStyleName ) ); +#endif + + xStyles->insertByName( sStyleName, makeAny( xStyle ) ); + + uno::Any oStyle = xStyles->getByName( sStyleName ); + xStyle.set( oStyle, uno::UNO_QUERY_THROW ); + + PropertyNameSupplier& aPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + + // Get the default OOo Numbering style rules + uno::Any aRules = xStyle->getPropertyValue( aPropNameSupplier.GetName( PROP_NUMBERING_RULES ) ); + aRules >>= m_xNumRules; + + uno::Sequence< uno::Sequence< beans::PropertyValue > > aProps = GetPropertyValues( ); + + sal_Int32 nAbstLevels = m_pAbstractDef->Size( ); + sal_Int16 nLevel = 0; + while ( nLevel < nAbstLevels ) + { + ListLevel::Pointer pAbsLevel = m_pAbstractDef->GetLevel( nLevel ); + ListLevel::Pointer pLevel = GetLevel( nLevel ); + + // Get the merged level properties + uno::Sequence< beans::PropertyValue > aLvlProps = aProps[sal_Int32( nLevel )]; + + // Get the char style + uno::Sequence< beans::PropertyValue > aAbsCharStyleProps = pAbsLevel->GetCharStyleProperties( ); + uno::Sequence< beans::PropertyValue >& rAbsCharStyleProps = aAbsCharStyleProps; + if ( pLevel.get( ) ) + { + uno::Sequence< beans::PropertyValue > aCharStyleProps = + pLevel->GetCharStyleProperties( ); + uno::Sequence< beans::PropertyValue >& rCharStyleProps = aCharStyleProps; + lcl_mergeProperties( rAbsCharStyleProps, rCharStyleProps ); + } + + if( aAbsCharStyleProps.getLength() ) + { + // Change the sequence into a vector + PropertyValueVector_t aStyleProps; + for ( sal_Int32 i = 0, nLen = aAbsCharStyleProps.getLength() ; i < nLen; i++ ) + { + aStyleProps.push_back( aAbsCharStyleProps[i] ); + } + + //create (or find) a character style containing the character + // attributes of the symbol and apply it to the numbering level + OUString sStyle = rDMapper.getOrCreateCharStyle( aStyleProps ); + aLvlProps.realloc( aLvlProps.getLength() + 1); + aLvlProps[aLvlProps.getLength() - 1].Name = aPropNameSupplier.GetName( PROP_CHAR_STYLE_NAME ); + aLvlProps[aLvlProps.getLength() - 1].Value <<= sStyle; + } + + // Get the prefix / suffix / Parent numbering + // and add them to the level properties + OUString sText = pAbsLevel->GetBulletChar( ); + if ( pLevel.get( ) ) + sText = pLevel->GetBulletChar( ); + + OUString sPrefix; + OUString sSuffix; + OUString& rPrefix = sPrefix; + OUString& rSuffix = sSuffix; + sal_Int16 nParentNum = ListLevel::GetParentNumbering( + sText, nLevel, rPrefix, rSuffix ); + + aLvlProps.realloc( aLvlProps.getLength( ) + 4 ); + aLvlProps[ aLvlProps.getLength( ) - 4 ] = MAKE_PROPVAL( PROP_PREFIX, rPrefix ); + aLvlProps[ aLvlProps.getLength( ) - 3 ] = MAKE_PROPVAL( PROP_SUFFIX, rSuffix ); + aLvlProps[ aLvlProps.getLength( ) - 2 ] = MAKE_PROPVAL( PROP_PARENT_NUMBERING, nParentNum ); + + aLvlProps[ aLvlProps.getLength( ) - 1 ] = MAKE_PROPVAL( PROP_POSITION_AND_SPACE_MODE, + sal_Int16( text::PositionAndSpaceMode::LABEL_ALIGNMENT ) ); + // Replace the numbering rules for the level + m_xNumRules->replaceByIndex( nLevel, uno::makeAny( aLvlProps ) ); + + // Handle the outline level here + StyleSheetEntryPtr pParaStyle = pAbsLevel->GetParaStyle( ); + if ( pParaStyle.get( ) ) + { + uno::Reference< text::XChapterNumberingSupplier > xOutlines ( + xFactory, uno::UNO_QUERY_THROW ); + uno::Reference< container::XIndexReplace > xOutlineRules = + xOutlines->getChapterNumberingRules( ); + + aLvlProps.realloc( aLvlProps.getLength() + 1 ); + aLvlProps[aLvlProps.getLength( ) - 1] = MAKE_PROPVAL( PROP_HEADING_STYLE_NAME, pParaStyle->sConvertedStyleName ); + + xOutlineRules->replaceByIndex( nLevel, uno::makeAny( aLvlProps ) ); + } + + nLevel++; + } + + // Create the numbering style for these rules + OUString sNumRulesName = aPropNameSupplier.GetName( PROP_NUMBERING_RULES ); + xStyle->setPropertyValue( sNumRulesName, uno::makeAny( m_xNumRules ) ); + } + catch( const uno::Exception& rEx) + { + OSL_ENSURE( false, "ListTable::CreateNumberingRules"); + } + } + +} + +//------------------------------------- NumberingManager implementation + + +ListsManager::ListsManager( DomainMapper& rDMapper, + const uno::Reference< lang::XMultiServiceFactory > xFactory ) : + m_rDMapper( rDMapper ), + m_xFactory( xFactory ) +{ +} + +ListsManager::~ListsManager( ) +{ +} + +void ListsManager::attribute( Id nName, Value& rVal ) +{ + OSL_ENSURE( m_pCurrentDefinition.get(), "current entry has to be set here"); + if(!m_pCurrentDefinition.get()) + return ; + int nIntValue = rVal.getInt(); + + ListLevel::Pointer pCurrentLvl = m_pCurrentDefinition->GetCurrentLevel( ); + + + /* WRITERFILTERSTATUS: table: ListTable_attributedata */ + switch(nName) + { + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ + case NS_rtf::LN_RGBXCHNUMS: + if(pCurrentLvl.get()) + pCurrentLvl->AddRGBXchNums( rVal.getString( ) ); + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_LevelText_val: + { + //this strings contains the definition of the level + //the level number is marked as %n + //these numbers can be mixed randomly toghether with seperators pre- and suffixes + //the Writer supports only a number of upper levels to show, separators is always a dot + //and each level can have a prefix and a suffix + if(pCurrentLvl.get()) + pCurrentLvl->SetBulletChar( rVal.getString() ); + } + break; +// case NS_rtf::LN_ISTD: break; + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_ISTARTAT: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_NFC: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_JC: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FLEGAL: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FNORESTART: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FPREV: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FPREVSPACE: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FWORD6: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_IXCHFOLLOW: + if ( pCurrentLvl.get( ) ) + pCurrentLvl->SetValue( nName, sal_Int32( nIntValue ) ); + break; + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_rtf::LN_UNUSED5_7: + //unused + break; + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_RGISTD: + m_pCurrentDefinition->AddRGISTD( rVal.getString() ); + break; + case NS_ooxml::LN_CT_Num_numId: + m_pCurrentDefinition->SetId( rVal.getString().toInt32( ) ); + break; + case NS_rtf::LN_LSID: + m_pCurrentDefinition->SetId( nIntValue ); + break; + case NS_rtf::LN_TPLC: + case NS_rtf::LN_FSIMPLELIST: + case NS_rtf::LN_FRESTARTHDN: + case NS_rtf::LN_UNSIGNED26_2: + m_pCurrentDefinition->SetValue( nName, nIntValue ); + break; + case NS_ooxml::LN_CT_NumLvl_ilvl: + case NS_rtf::LN_LISTLEVEL: + { + //add a new level to the level vector and make it the current one + m_pCurrentDefinition->AddLevel(); + + writerfilter::Reference::Pointer_t pProperties; + if((pProperties = rVal.getProperties()).get()) + pProperties->resolve(*this); + } + break; + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_AbstractNum_abstractNumId: + { + // This one corresponds to the AbstractNum Id definition + // The reference to the abstract num is in the sprm method + sal_Int32 nVal = rVal.getString().toInt32(); + m_pCurrentDefinition->SetId( nVal ); + } + break; + case NS_ooxml::LN_CT_Ind_left: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + pCurrentLvl->Insert( + PROP_INDENT_AT, true, uno::makeAny( ConversionHelper::convertTwipToMM100( nIntValue ) )); + break; + case NS_ooxml::LN_CT_Ind_hanging: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + pCurrentLvl->Insert( + PROP_FIRST_LINE_INDENT, true, uno::makeAny( - ConversionHelper::convertTwipToMM100( nIntValue ) )); + break; + case NS_ooxml::LN_CT_Ind_firstLine: + /* WRITERFILTERSTATUS: done: 100, planned: 0.5, spent: 0 */ + pCurrentLvl->Insert( + PROP_FIRST_LINE_INDENT, true, uno::makeAny( ConversionHelper::convertTwipToMM100( nIntValue ) )); + break; + case NS_ooxml::LN_CT_Lvl_ilvl: //overrides previous level - unsupported + case NS_ooxml::LN_CT_Lvl_tplc: //template code - unsupported + case NS_ooxml::LN_CT_Lvl_tentative: //marks level as unused in the document - unsupported + break; + case NS_ooxml::LN_CT_TabStop_pos: + { + //no paragraph attributes in ListTable char style sheets + if ( pCurrentLvl.get( ) ) + pCurrentLvl->SetValue( nName, + ConversionHelper::convertTwipToMM100( nIntValue ) ); + } + break; + case NS_ooxml::LN_CT_TabStop_val: + { + // TODO Do something of that + } + break; + default: + { +#if OSL_DEBUG_LEVEL > 0 + ::rtl::OString sMessage( "ListTable::attribute() - Id: "); + sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 10 ); + sMessage += ::rtl::OString(" / 0x"); + sMessage += ::rtl::OString::valueOf( sal_Int32( nName ), 16 ); + sMessage += ::rtl::OString(" value: "); + sMessage += ::rtl::OString::valueOf( sal_Int32( nIntValue ), 10 ); + sMessage += ::rtl::OString(" / 0x"); + sMessage += ::rtl::OString::valueOf( sal_Int32( nIntValue ), 16 ); + OSL_ENSURE( false, sMessage.getStr()); // +#endif + } + } +} + +void ListsManager::sprm( Sprm& rSprm ) +{ + //fill the attributes of the style sheet + sal_uInt32 nSprmId = rSprm.getId(); + if( m_pCurrentDefinition.get() || + nSprmId == NS_ooxml::LN_CT_Numbering_abstractNum || + nSprmId == NS_ooxml::LN_CT_Numbering_num ) + { + sal_Int32 nIntValue = rSprm.getValue()->getInt(); + /* WRITERFILTERSTATUS: table: ListTable_sprm */ + switch( nSprmId ) + { + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Numbering_abstractNum: + { + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + { + //create a new Abstract list entry + OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here"); + m_pCurrentDefinition.reset( new AbstractListDef ); + pProperties->resolve( *this ); + //append it to the table + m_aAbstractLists.push_back( m_pCurrentDefinition ); + m_pCurrentDefinition = AbstractListDef::Pointer(); + } + } + break; + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_Numbering_num: + { + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + { + // Create a new list entry + OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here"); + ListDef::Pointer listDef( new ListDef ); + m_pCurrentDefinition = listDef; + pProperties->resolve( *this ); + //append it to the table + m_aLists.push_back( listDef ); + + m_pCurrentDefinition = AbstractListDef::Pointer(); + } + } + break; + case NS_ooxml::LN_CT_Num_abstractNumId: + { + sal_Int32 nAbstractNumId = rSprm.getValue()->getInt(); + ListDef* pListDef = dynamic_cast< ListDef* >( m_pCurrentDefinition.get( ) ); + if ( pListDef != NULL ) + { + // The current def should be a ListDef + pListDef->SetAbstractDefinition( + m_aAbstractLists[ nAbstractNumId ] ); + } + } + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_AbstractNum_multiLevelType: + break; + /* WRITERFILTERSTATUS: done: 50, planned: 0, spent: 0 */ + case NS_rtf::LN_TPLC: + m_pCurrentDefinition->SetValue( nSprmId, nIntValue ); + break; + /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ + case NS_ooxml::LN_CT_AbstractNum_lvl: + { + m_pCurrentDefinition->AddLevel(); + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + pProperties->resolve(*this); + } + break; + /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ + case NS_rtf::LN_RGBXCHNUMS: break; + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_ISTARTAT: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_NFC: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_JC: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FLEGAL: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FNORESTART: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FPREV: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FPREVSPACE: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_FWORD6: + /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ + case NS_rtf::LN_IXCHFOLLOW: + m_pCurrentDefinition->GetCurrentLevel( )->SetValue( nSprmId, nIntValue ); + break; + case NS_ooxml::LN_CT_Lvl_lvlText: + case NS_ooxml::LN_CT_Lvl_rPr : //contains LN_EG_RPrBase_rFonts + { + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + pProperties->resolve(*this); + } + break; + case NS_ooxml::LN_CT_NumLvl_lvl: + { + // overwrite level + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + pProperties->resolve(*this); + } + break; + case NS_ooxml::LN_CT_Lvl_lvlJc: + { + static sal_Int16 aWWAlignments[ ] = + { + text::HoriOrientation::LEFT, + text::HoriOrientation::CENTER, + text::HoriOrientation::RIGHT + }; + m_pCurrentDefinition->GetCurrentLevel( )->Insert( + PROP_ADJUST, true, uno::makeAny( aWWAlignments[ nIntValue ] ) ); + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + } + break; + case NS_ooxml::LN_CT_Lvl_pPr: + case NS_ooxml::LN_CT_PPrBase_ind: + { + //todo: how to handle paragraph properties within numbering levels (except LeftIndent and FirstLineIndent)? + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + pProperties->resolve(*this); + } + break; + case NS_ooxml::LN_CT_PPrBase_tabs: + case NS_ooxml::LN_CT_Tabs_tab: + { + writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); + if(pProperties.get()) + pProperties->resolve(*this); + } + break; + case NS_ooxml::LN_CT_Lvl_suff: + //todo: currently unsupported suffix + //can be: "none", "space", "tab" + break; + case NS_ooxml::LN_CT_Lvl_pStyle: + { + OUString sStyleName = rSprm.getValue( )->getString( ); + ListLevel::Pointer pLevel = m_pCurrentDefinition->GetCurrentLevel( ); + StyleSheetTablePtr pStylesTable = m_rDMapper.GetStyleSheetTable( ); + const StyleSheetEntryPtr pStyle = pStylesTable->FindStyleSheetByISTD( sStyleName ); + pLevel->SetParaStyle( pStyle ); + } + break; + case NS_ooxml::LN_EG_RPrBase_rFonts: //contains font properties + case NS_ooxml::LN_EG_RPrBase_color: + case NS_ooxml::LN_EG_RPrBase_u: + case NS_sprm::LN_CHps: // sprmCHps + case NS_ooxml::LN_EG_RPrBase_lang: + case NS_ooxml::LN_EG_RPrBase_eastAsianLayout: + //no break! + default: + if( m_pCurrentDefinition->GetCurrentLevel( ).get()) + { + m_rDMapper.PushListProperties( m_pCurrentDefinition->GetCurrentLevel( ) ); + m_rDMapper.sprm( rSprm ); + m_rDMapper.PopListProperties(); + } + } + } +} + +void ListsManager::entry( int /* pos */, + writerfilter::Reference::Pointer_t ref ) +{ + if( m_rDMapper.IsOOXMLImport() ) + { + ref->resolve(*this); + } + else + { + if ( m_bIsLFOImport ) + { + // Create ListDef's + OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here"); + ListDef::Pointer pList( new ListDef() ); + m_pCurrentDefinition = pList; + ref->resolve(*this); + //append it to the table + m_aLists.push_back( pList ); + m_pCurrentDefinition = AbstractListDef::Pointer(); + } + else + { + // Create AbstractListDef's + OSL_ENSURE( !m_pCurrentDefinition.get(), "current entry has to be NULL here"); + m_pCurrentDefinition.reset( new AbstractListDef( ) ); + ref->resolve(*this); + //append it to the table + m_aAbstractLists.push_back( m_pCurrentDefinition ); + m_pCurrentDefinition = AbstractListDef::Pointer(); + } + } +} + + +ListDef::Pointer ListsManager::GetList( sal_Int32 nId ) +{ + ListDef::Pointer pList; + + int nLen = m_aLists.size( ); + int i = 0; + while ( !pList.get( ) && i < nLen ) + { + if ( m_aLists[i]->GetId( ) == nId ) + pList = m_aLists[i]; + i++; + } + + return pList; +} + +void ListsManager::CreateNumberingRules( ) +{ + // Loop over the definitions + std::vector< ListDef::Pointer >::iterator listIt = m_aLists.begin( ); + for ( ; listIt != m_aLists.end( ); listIt++ ) + { + (*listIt)->CreateNumberingRules( m_rDMapper, m_xFactory ); + } +} + +} } diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx new file mode 100644 index 000000000000..666ab747acc3 --- /dev/null +++ b/writerfilter/source/dmapper/NumberingManager.hxx @@ -0,0 +1,224 @@ +#ifndef INCLUDED_NUMBERINGMANAGER_HXX +#define INCLUDED_NUMBERINGMANAGER_HXX + +#include "PropertyMap.hxx" + +#include +#include +#include + +#include + +namespace writerfilter { +namespace dmapper { + +class DomainMapper; +struct StyleSheetEntry; + + +/** Class representing the numbering level properties. + */ +class ListLevel : public PropertyMap +{ + sal_Int32 m_nIStartAt; //LN_ISTARTAT + sal_Int32 m_nNFC; //LN_NFC + sal_Int32 m_nJC; //LN_JC + sal_Int32 m_nFLegal; //LN_FLEGAL + sal_Int32 m_nFNoRestart; //LN_FNORESTART + sal_Int32 m_nFPrev; //LN_FPREV + sal_Int32 m_nFPrevSpace; //LN_FPREVSPACE + sal_Int32 m_nFWord6; //LN_FWORD6 + ::rtl::OUString m_sRGBXchNums; //LN_RGBXCHNUMS + sal_Int32 m_nXChFollow; //LN_IXCHFOLLOW + ::rtl::OUString m_sBulletChar; + sal_Int32 m_nTabstop; + boost::shared_ptr< StyleSheetEntry > m_pParaStyle; + +public: + + typedef boost::shared_ptr< ListLevel > Pointer; + + ListLevel() : + m_nIStartAt(-1) + ,m_nNFC(-1) + ,m_nJC(-1) + ,m_nFLegal(-1) + ,m_nFNoRestart(-1) + ,m_nFPrev(-1) + ,m_nFPrevSpace(-1) + ,m_nFWord6(-1) + ,m_nXChFollow(-1) + ,m_nTabstop( 0 ) + {} + + ~ListLevel( ){ } + + // Setters for the import + void SetValue( Id nId, sal_Int32 nValue ); + void SetBulletChar( rtl::OUString sValue ) { m_sBulletChar = sValue; }; + void SetParaStyle( boost::shared_ptr< StyleSheetEntry > pStyle ) + { + m_pParaStyle = pStyle; + }; + void AddRGBXchNums( rtl::OUString sValue ) { m_sRGBXchNums += sValue; }; + + // Getters + rtl::OUString GetBulletChar( ) { return m_sBulletChar; }; + boost::shared_ptr< StyleSheetEntry > GetParaStyle( ) { return m_pParaStyle; }; + + // UNO mapping functions + + // rPrefix and rSuffix are out parameters + static sal_Int16 GetParentNumbering( rtl::OUString sText, sal_Int16 nLevel, + rtl::OUString& rPrefix, rtl::OUString& rSuffix ); + + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > + GetProperties( ); + + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue> + GetCharStyleProperties( ); +private: + + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > + GetLevelProperties( ); + + com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > + GetParaProperties( ); +}; + +class AbstractListDef +{ +private: + sal_Int32 m_nTPLC; //LN_TPLC + ::rtl::OUString m_sRGISTD; //LN_RGISTD + sal_Int32 m_nSimpleList; //LN_FSIMPLELIST + sal_Int32 m_nRestart; //LN_FRESTARTHDN + sal_Int32 m_nUnsigned; //LN_UNSIGNED26_2 + + // The ID member reflects either the abstractNumId or the numId + // depending on the use of the class + sal_Int32 m_nId; + + // Properties of each level. This can also reflect the overridden + // levels of a numbering. + ::std::vector< ListLevel::Pointer > m_aLevels; + + // Only used during the numberings import + ListLevel::Pointer m_pCurrentLevel; + +public: + typedef boost::shared_ptr< AbstractListDef > Pointer; + + AbstractListDef( ); + ~AbstractListDef( ); + + // Setters using during the import + void SetId( sal_Int32 nId ) { m_nId = nId; }; + void SetValue( sal_uInt32 nSprmId, sal_Int32 nValue ); + void AddRGISTD( rtl::OUString sValue ) { m_sRGISTD += sValue; }; + + // Accessors + sal_Int32 GetId( ) { return m_nId; }; + + sal_Int16 Size( ) { return sal_Int16( m_aLevels.size( ) ); }; + ListLevel::Pointer GetLevel( sal_uInt16 nLvl ); + void AddLevel( ); + + ListLevel::Pointer GetCurrentLevel( ) { return m_pCurrentLevel; }; + + virtual com::sun::star::uno::Sequence< + com::sun::star::uno::Sequence< + com::sun::star::beans::PropertyValue > > GetPropertyValues( ); +}; + +class ListDef : public AbstractListDef +{ +private: + // Pointer to the abstract numbering + AbstractListDef::Pointer m_pAbstractDef; + + // Cache for the UNO numbering rules + uno::Reference< container::XIndexReplace > m_xNumRules; + +public: + typedef boost::shared_ptr< ListDef > Pointer; + + ListDef( ); + ~ListDef( ); + + // Accessors + void SetAbstractDefinition( AbstractListDef::Pointer pAbstract ) { m_pAbstractDef = pAbstract; }; + AbstractListDef::Pointer GetAbstractDefinition( ) { return m_pAbstractDef; }; + + // Mapping functions + static rtl::OUString GetStyleName( sal_Int32 nId ); + + com::sun::star::uno::Sequence< + com::sun::star::uno::Sequence< + com::sun::star::beans::PropertyValue > > GetPropertyValues( ); + + void CreateNumberingRules( + DomainMapper& rDMapper, + com::sun::star::uno::Reference< + com::sun::star::lang::XMultiServiceFactory> xFactory ); + + ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexReplace > + GetNumberingRules( ) { return m_xNumRules; }; + +}; + +/** This class provides access to the defined numbering styles. + */ +class WRITERFILTER_DLLPRIVATE ListsManager : + public Properties, + public Table +{ +private: + + DomainMapper& m_rDMapper; + com::sun::star::uno::Reference< + com::sun::star::lang::XMultiServiceFactory > m_xFactory; + + // The numbering entries + std::vector< AbstractListDef::Pointer > m_aAbstractLists; + std::vector< ListDef::Pointer > m_aLists; + + + // These members are used for import only + AbstractListDef::Pointer m_pCurrentDefinition; + bool m_bIsLFOImport; + +public: + + ListsManager( + DomainMapper& rDMapper, + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory); + virtual ~ListsManager(); + + typedef boost::shared_ptr< ListsManager > Pointer; + + // Properties + virtual void attribute( Id nName, Value & rVal ); + virtual void sprm(Sprm & sprm); + + // Table + virtual void entry(int pos, writerfilter::Reference::Pointer_t ref); + + // Config methods + void SetLFOImport( bool bLFOImport ) { m_bIsLFOImport = bLFOImport; }; + + // Numberings accessors + AbstractListDef::Pointer GetCurrentDef( ) { return m_pCurrentDefinition; }; + + sal_uInt32 Size() const + { return sal_uInt32( m_aLists.size( ) ); }; + ListDef::Pointer GetList( sal_Int32 nId ); + + // Mapping methods + void CreateNumberingRules( ); +}; + +} } + +#endif + diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index bc76be7d8ecf..74c6f5d4e64e 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -319,9 +319,10 @@ const rtl::OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_INDENT_AT : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IndentAt")); break; case PROP_FIRST_LINE_INDENT : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FirstLineIndent")); break; case PROP_NUMBERING_STYLE_NAME : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NumberingStyleName")); break; + case PROP_OUTLINE_LEVEL : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OutlineLevel")); break; case PROP_LISTTAB_STOP_POSITION : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ListtabStopPosition")); break; case PROP_POSITION_AND_SPACE_MODE : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("PositionAndSpaceMode")); break; -// case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; + case PROP_HEADING_STYLE_NAME: sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HeadingStyleName")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; // case : sName = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")); break; diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index cdbcf758b579..f0c52bacc308 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -282,8 +282,10 @@ enum PropertyIds /*243*/ ,PROP_INDENT_AT /*244*/ ,PROP_FIRST_LINE_INDENT /*245*/ ,PROP_NUMBERING_STYLE_NAME -/*246*/ ,PROP_LISTTAB_STOP_POSITION -/*247*/ ,PROP_POSITION_AND_SPACE_MODE +/*246*/ ,PROP_OUTLINE_LEVEL +/*247*/ ,PROP_LISTTAB_STOP_POSITION +/*248*/ ,PROP_POSITION_AND_SPACE_MODE +/*249*/ ,PROP_HEADING_STYLE_NAME }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 3e2f0752fc52..0bd9cb56972e 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -36,12 +36,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include using namespace ::com::sun::star; @@ -381,14 +384,18 @@ void SectionPropertyMap::ApplyBorderToPageStyles( switch( nValue & 0x07) { case 0: /*all styles*/ - xFirst = GetPageStyle( xPageStyles, xTextFactory, false ); - xSecond = GetPageStyle( xPageStyles, xTextFactory, true ); + if ( m_sFollowPageStyleName.getLength( ) > 0 ) + xFirst = GetPageStyle( xPageStyles, xTextFactory, false ); + if ( m_sFirstPageStyleName.getLength( ) > 0 ) + xSecond = GetPageStyle( xPageStyles, xTextFactory, true ); break; case 1: /*first page*/ - xFirst = GetPageStyle( xPageStyles, xTextFactory, true ); + if ( m_sFirstPageStyleName.getLength( ) > 0 ) + xFirst = GetPageStyle( xPageStyles, xTextFactory, true ); break; case 2: /*left and right*/ - xFirst = GetPageStyle( xPageStyles, xTextFactory, false ); + if ( m_sFollowPageStyleName.getLength( ) > 0 ) + xFirst = GetPageStyle( xPageStyles, xTextFactory, false ); break; case 3: //whole document? //todo: how to apply a border to the whole document - find all sections or access all page styles? @@ -565,6 +572,92 @@ bool SectionPropertyMap::HasFooter(bool bFirstPage) const -----------------------------------------------------------------------*/ #define MIN_HEAD_FOOT_HEIGHT 100 //minimum header/footer height +void SectionPropertyMap::CopyLastHeaderFooter( bool bFirstPage, DomainMapper_Impl& rDM_Impl ) +{ +#if DEBUG + clog << "START>>> SectionPropertyMap::CopyLastHeaderFooter()" << endl; +#endif + SectionPropertyMap* pLastContext = rDM_Impl.GetLastSectionContext( ); + if ( pLastContext ) + { + uno::Reference< beans::XPropertySet > xPrevStyle = pLastContext->GetPageStyle( + rDM_Impl.GetPageStyles(), + rDM_Impl.GetTextFactory(), + bFirstPage ); + uno::Reference< beans::XPropertySet > xStyle = GetPageStyle( + rDM_Impl.GetPageStyles(), + rDM_Impl.GetTextFactory(), + bFirstPage ); + + PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier(); + + try { + // Loop over the Header and Footer properties to copy them + static PropertyIds aProperties[] = + { + PROP_HEADER_TEXT, + PROP_FOOTER_TEXT, + }; + + bool bHasPrevHeader = false; + bool bHasHeader = false; + + rtl::OUString sHeaderIsOn = rPropNameSupplier.GetName( PROP_HEADER_IS_ON ); + xPrevStyle->getPropertyValue( sHeaderIsOn ) >>= bHasPrevHeader; + xStyle->getPropertyValue( sHeaderIsOn ) >>= bHasHeader; + bool bCopyHeader = bHasPrevHeader && !bHasHeader; + + if ( bCopyHeader ) + xStyle->setPropertyValue( sHeaderIsOn, uno::makeAny( sal_True ) ); + + bool bHasPrevFooter = false; + bool bHasFooter = false; + + rtl::OUString sFooterIsOn = rPropNameSupplier.GetName( PROP_FOOTER_IS_ON ); + xPrevStyle->getPropertyValue( sFooterIsOn ) >>= bHasPrevFooter; + xStyle->getPropertyValue( sFooterIsOn ) >>= bHasFooter; + bool bCopyFooter = bHasPrevFooter && !bHasFooter; + + if ( bCopyFooter ) + xStyle->setPropertyValue( sFooterIsOn, uno::makeAny( sal_True ) ); + + // Copying the text properties + for ( int i = 0, nNbProps = 2; i < nNbProps; i++ ) + { + bool bIsHeader = ( i < nNbProps / 2 ); + PropertyIds aPropId = aProperties[i]; + rtl::OUString sName = rPropNameSupplier.GetName( aPropId ); + + if ( ( bIsHeader && bCopyHeader ) || ( !bIsHeader && bCopyFooter ) ) + { +#if DEBUG + clog << "Copying "; + clog << rtl::OUStringToOString( sName, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; +#endif + // TODO has to be copied + uno::Reference< text::XTextCopy > xTxt( + xStyle->getPropertyValue( sName ), uno::UNO_QUERY_THROW ); + + uno::Reference< text::XTextCopy > xPrevTxt( + xPrevStyle->getPropertyValue( sName ), uno::UNO_QUERY_THROW ); + + xTxt->copyText( xPrevTxt ); + } + } + } + catch ( const uno::Exception& e ) + { +#if DEBUG + clog << "An exception occured in SectionPropertyMap::CopyLastHeaderFooter( ) - "; + clog << rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; +#endif + } + } +#if DEBUG + clog << "END>>> SectionPropertyMap::CopyLastHeaderFooter()" << endl; +#endif +} + void SectionPropertyMap::PrepareHeaderFooterProperties( bool bFirstPage ) { sal_Int32 nTopMargin = m_nTopMargin; @@ -703,6 +796,7 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) /*** if headers/footers are available then the top/bottom margins of the header/footer are copied to the top/bottom margin of the page */ + CopyLastHeaderFooter( false, rDM_Impl ); PrepareHeaderFooterProperties( false ); const ::rtl::OUString sTrayIndex = rPropNameSupplier.GetName( PROP_PRINTER_PAPER_TRAY_INDEX ); @@ -775,6 +869,7 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) //todo: creating a "First Page" style depends on HasTitlePage und _fFacingPage_ if( m_bTitlePage ) { + CopyLastHeaderFooter( true, rDM_Impl ); PrepareHeaderFooterProperties( true ); uno::Reference< beans::XPropertySet > xFirstPageStyle = GetPageStyle( rDM_Impl.GetPageStyles(), rDM_Impl.GetTextFactory(), true ); @@ -797,28 +892,24 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) //now apply this break at the first paragraph of this section uno::Reference< beans::XPropertySet > xRangeProperties; if( m_bIsFirstSection ) - xRangeProperties = uno::Reference< beans::XPropertySet >( rDM_Impl.GetBodyText()->getStart(), uno::UNO_QUERY_THROW ); + { + uno::Reference< container::XEnumerationAccess > xEnumAccess( rDM_Impl.GetBodyText( ), uno::UNO_QUERY_THROW ); + uno::Reference< container::XEnumeration > xEnum = xEnumAccess->createEnumeration( ); + xRangeProperties = uno::Reference< beans::XPropertySet >( xEnum->nextElement( ), uno::UNO_QUERY_THROW ); + } else xRangeProperties = uno::Reference< beans::XPropertySet >( m_xStartingRange, uno::UNO_QUERY_THROW ); /* break type 0 - No break 1 - New Colunn 2 - New page 3 - Even page 4 - odd page */ - if( m_nBreakType == 2 || m_nBreakType == 3) - { - xRangeProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_BREAK_TYPE), - uno::makeAny( m_nBreakType == 2 ? style::BreakType_COLUMN_AFTER : style::BreakType_PAGE_AFTER ) ); - } - else - { - xRangeProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_DESC_NAME ), - uno::makeAny( m_bTitlePage ? m_sFirstPageStyleName : m_sFollowPageStyleName )); + xRangeProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_DESC_NAME ), + uno::makeAny( m_bTitlePage ? m_sFirstPageStyleName : m_sFollowPageStyleName )); // todo: page breaks with odd/even page numbering are not available - find out current page number to check how to change the number // or add even/odd page break types - if(m_bPageNoRestart || m_nPageNumber >= 0) - { - sal_Int16 nPageNumber = m_nPageNumber >= 0 ? static_cast< sal_Int16 >(m_nPageNumber) : 1; - xRangeProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_NUMBER_OFFSET ), - uno::makeAny( nPageNumber )); - } + if(m_bPageNoRestart || m_nPageNumber >= 0) + { + sal_Int16 nPageNumber = m_nPageNumber >= 0 ? static_cast< sal_Int16 >(m_nPageNumber) : 1; + xRangeProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_PAGE_NUMBER_OFFSET ), + uno::makeAny( nPageNumber )); } } } diff --git a/writerfilter/source/dmapper/PropertyMap.hxx b/writerfilter/source/dmapper/PropertyMap.hxx index 1e30a018b721..c5f8fa31cf66 100644 --- a/writerfilter/source/dmapper/PropertyMap.hxx +++ b/writerfilter/source/dmapper/PropertyMap.hxx @@ -199,6 +199,7 @@ class SectionPropertyMap : public PropertyMap void _ApplyProperties( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xStyle ); ::com::sun::star::uno::Reference< com::sun::star::text::XTextColumns > ApplyColumnProperties( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xFollowPageStyle ); + void CopyLastHeaderFooter( bool bFirstPage, DomainMapper_Impl& rDM_Impl ); void PrepareHeaderFooterProperties( bool bFirstPage ); bool HasHeader( bool bFirstPage ) const; bool HasFooter( bool bFirstPage ) const; @@ -275,6 +276,7 @@ public: void CloseSectionGroup( DomainMapper_Impl& rDM_Impl ); }; +typedef boost::shared_ptr SectionPropertyMapPtr; /*-- 28.12.2007 08:17:34--------------------------------------------------- diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index c42651b21881..309480e22188 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -29,6 +29,7 @@ ************************************************************************/ #include #include +#include #include #include #include @@ -1157,7 +1158,8 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) { //TODO: Handle cases where a paragraph <> character style relation is needed StyleSheetEntryPtr pParent = FindStyleSheetByISTD( pEntry->sBaseStyleIdentifier ); - xStyle->setParentStyle(ConvertStyleName( pParent->sStyleName )); + if ( pParent.get( ) ) + xStyle->setParentStyle(ConvertStyleName( pParent->sStyleName )); } catch( const uno::RuntimeException& ) { @@ -1215,30 +1217,23 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr rFontTable ) { // Set the outline levels const StyleSheetPropertyMap* pStyleSheetProperties = dynamic_cast(pEntry ? pEntry->pProperties.get() : 0); - if ( pStyleSheetProperties && pStyleSheetProperties->GetOutlineLevel( ) >= 0 ) + if ( pStyleSheetProperties ) { - sal_Int16 nLvl = pStyleSheetProperties->GetOutlineLevel( ); - uno::Reference< text::XChapterNumberingSupplier > xOutlines ( m_pImpl->m_xTextDocument, - uno::UNO_QUERY_THROW ); - uno::Reference< container::XIndexReplace > xRules = xOutlines->getChapterNumberingRules( ); - uno::Any aLevel = xRules->getByIndex( nLvl ); - uno::Sequence< beans::PropertyValue > aLevelProps; - aLevel >>= aLevelProps; - - sal_Int32 nLen = aLevelProps.getLength( ); - sal_Int32 i = 0; - bool bPropFound = false; - rtl::OUString sPropName( rtl::OUString::createFromAscii( "HeadingStyleName" ) ); - while ( i < nLen && !bPropFound ) + aPropValues.realloc( aPropValues.getLength( ) + 1 ); + + beans::PropertyValue aLvlVal( rPropNameSupplier.GetName( PROP_OUTLINE_LEVEL ), 0, + uno::makeAny( sal_Int16( pStyleSheetProperties->GetOutlineLevel( ) + 1 ) ), + beans::PropertyState_DIRECT_VALUE ); + aPropValues[ aPropValues.getLength( ) - 1 ] = aLvlVal; + + if ( pStyleSheetProperties->GetOutlineLevel( ) == 0 ) { - if ( aLevelProps[i].Name.equals( sPropName ) ) - { - aLevelProps[i].Value = uno::makeAny( ConvertStyleName( pEntry->sStyleName ) ); - bPropFound = true; - } - i++; + aPropValues.realloc( aPropValues.getLength( ) + 1 ); + beans::PropertyValue aStyleVal( rPropNameSupplier.GetName( PROP_NUMBERING_STYLE_NAME ), 0, + uno::makeAny( rtl::OUString::createFromAscii( "" ) ), + beans::PropertyState_DIRECT_VALUE ); + aPropValues[ aPropValues.getLength( ) - 1 ] = aStyleVal; } - xRules->replaceByIndex( nLvl, uno::makeAny( aLevelProps ) ); } uno::Reference< beans::XPropertyState >xState( xStyle, uno::UNO_QUERY_THROW ); diff --git a/writerfilter/source/dmapper/makefile.mk b/writerfilter/source/dmapper/makefile.mk index 5f421643150d..7a040d193356 100644 --- a/writerfilter/source/dmapper/makefile.mk +++ b/writerfilter/source/dmapper/makefile.mk @@ -56,8 +56,7 @@ SLOFILES= $(SLO)$/BorderHandler.obj \ $(SLO)$/DomainMapperTableManager.obj \ $(SLO)$/FontTable.obj \ $(SLO)$/GraphicImport.obj \ - $(SLO)$/LFOTable.obj \ - $(SLO)$/ListTable.obj \ + $(SLO)$/NumberingManager.obj \ $(SLO)$/MeasureHandler.obj \ $(SLO)$/PropertyMap.obj \ $(SLO)$/PropertyIds.obj \ diff --git a/writerfilter/source/doctok/WW8DocumentImpl.cxx b/writerfilter/source/doctok/WW8DocumentImpl.cxx index 489cd120f8a0..bbbeb399631f 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.cxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.cxx @@ -1688,17 +1688,6 @@ void WW8DocumentImpl::resolve(Stream & rStream) } #endif - - writerfilter::Reference
::Pointer_t pListTable = getListTable(); - - if (pListTable.get() != NULL) - rStream.table(NS_rtf::LN_LISTTABLE, pListTable); - - writerfilter::Reference
::Pointer_t pLFOTable = getLFOTable(); - - if (pLFOTable.get() != NULL) - rStream.table(NS_rtf::LN_LFOTABLE, pLFOTable); - writerfilter::Reference
::Pointer_t pFontTable = getFontTable(); if (pFontTable.get() != NULL) @@ -1715,6 +1704,16 @@ void WW8DocumentImpl::resolve(Stream & rStream) { clog << e.getText() << endl; } + + writerfilter::Reference
::Pointer_t pListTable = getListTable(); + + if (pListTable.get() != NULL) + rStream.table(NS_rtf::LN_LISTTABLE, pListTable); + + writerfilter::Reference
::Pointer_t pLFOTable = getLFOTable(); + + if (pLFOTable.get() != NULL) + rStream.table(NS_rtf::LN_LFOTABLE, pLFOTable); } WW8DocumentIterator::Pointer_t pIt = begin(); diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx index fef00e4cef43..4ae36eb9dd2e 100644 --- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx +++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx @@ -48,7 +48,7 @@ using namespace ::std; OOXMLDocumentImpl::OOXMLDocumentImpl (OOXMLStream::Pointer_t pStream) -: mpStream(pStream), mXNoteType(0) +: mpStream(pStream), mXNoteType(0), mbIsSubstream( false ) { } @@ -138,6 +138,7 @@ OOXMLDocumentImpl::getSubStream(const rtl::OUString & rId) writerfilter::Reference::Pointer_t pRet( pTemp = new OOXMLDocumentImpl(pStream) ); pTemp->setModel(mxModel); pTemp->setDrawPage(mxDrawPage); + pTemp->setIsSubstream( true ); return pRet; } @@ -317,6 +318,7 @@ void OOXMLDocumentImpl::resolve(Stream & rStream) pDocHandler->setStream(&rStream); pDocHandler->setDocument(this); pDocHandler->setXNoteId(msXNoteId); + pDocHandler->setIsSubstream( mbIsSubstream ); uno::Reference < xml::sax::XFastDocumentHandler > xDocumentHandler (pDocHandler); uno::Reference < xml::sax::XFastTokenHandler > xTokenHandler @@ -324,9 +326,9 @@ void OOXMLDocumentImpl::resolve(Stream & rStream) resolveFastSubStream(rStream, OOXMLStream::SETTINGS); resolveFastSubStream(rStream, OOXMLStream::THEME); - resolveFastSubStream(rStream, OOXMLStream::NUMBERING); resolveFastSubStream(rStream, OOXMLStream::FONTTABLE); resolveFastSubStream(rStream, OOXMLStream::STYLES); + resolveFastSubStream(rStream, OOXMLStream::NUMBERING); xParser->setFastDocumentHandler( xDocumentHandler ); xParser->setTokenHandler( xTokenHandler ); diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.hxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.hxx index ca2c91994f58..9649376d6223 100644 --- a/writerfilter/source/ooxml/OOXMLDocumentImpl.hxx +++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.hxx @@ -53,6 +53,8 @@ class OOXMLDocumentImpl : public OOXMLDocument uno::Reference mxModel; uno::Reference mxDrawPage; + bool mbIsSubstream; + protected: virtual void resolveFastSubStream(Stream & rStream, OOXMLStream::StreamType_t nType); @@ -69,6 +71,8 @@ protected: const Id & rType, const rtl::OUString & rNoteId); + void setIsSubstream( bool bSubstream ) { mbIsSubstream = bSubstream; }; + public: OOXMLDocumentImpl(OOXMLStream::Pointer_t pStream); virtual ~OOXMLDocumentImpl(); diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index 53f0c423bc9c..dd83165d6bac 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -755,6 +755,7 @@ void OOXMLFastContextHandler::setLastParagraphInSection() #endif mpParserState->setLastParagraphInSection(true); + mpStream->markLastParagraphInSection( ); } void OOXMLFastContextHandler::newProperty diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx index aee2be60ad47..88e3d2a15803 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.cxx @@ -225,4 +225,9 @@ void OOXMLFastDocumentHandler::setXNoteId(const ::rtl::OUString & rXNoteId) msXNoteId = rXNoteId; } +void OOXMLFastDocumentHandler::setIsSubstream( bool bSubstream ) +{ + getContextHandler( )->getParserState( )->setInSectionGroup( bSubstream ); +} + }} diff --git a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx index 92e173749620..8e94e7b38ca4 100644 --- a/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx +++ b/writerfilter/source/ooxml/OOXMLFastDocumentHandler.hxx @@ -100,6 +100,8 @@ public: OOXMLParserState::Pointer_t getParserState() const; + void setIsSubstream( bool bSubstream ); + private: OOXMLFastDocumentHandler(OOXMLFastDocumentHandler &); // not defined void operator =(OOXMLFastDocumentHandler &); // not defined diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index add4a80b551e..7d07b6a61a1d 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -22048,18 +22048,13 @@ - - - - - - + diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 0afbc1986cff..09f134b8e3c7 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -273,7 +273,7 @@ namespace writerfilter fileName += "/writerfilter."; fileName += name; - fileName += ".tmp"; + fileName += ".xml"; ofstream dumpStream(fileName.c_str()); aIt->second->output(dumpStream); -- cgit From e5654bbe96d9cde8ee027bd4561da937d1c435c6 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Wed, 2 Dec 2009 09:12:26 +0100 Subject: [cbosdo03]Applied the patches to upstream These patches are fixing docx import problems like: * Page breaks added at wrong places * Additionnal paragraphs added at the end of some sections * Hierarchy of numbering properties wasn't working nicely --- sw/inc/unoobj.hxx | 6 +++- sw/source/core/unocore/unotext.cxx | 65 +++++++++++++++++++++++--------------- 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/sw/inc/unoobj.hxx b/sw/inc/unoobj.hxx index b7a6c54d2bd2..182ded5a4d7f 100644 --- a/sw/inc/unoobj.hxx +++ b/sw/inc/unoobj.hxx @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -204,7 +205,8 @@ class SwXText : public ::com::sun::star::lang::XTypeProvider, public ::com::sun::star::text::XRelativeTextContentRemove, public ::com::sun::star::beans::XPropertySet, public ::com::sun::star::lang::XUnoTunnel, - public ::com::sun::star::text::XTextAppendAndConvert + public ::com::sun::star::text::XTextAppendAndConvert, + public ::com::sun::star::text::XTextCopy { SwDoc* pDoc; BOOL bObjectValid; @@ -296,6 +298,8 @@ public: const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& TableProperties ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + //XTextCopy + virtual void SAL_CALL copyText( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCopy >& xSource ) throw (::com::sun::star::uno::RuntimeException); // virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > createCursor()throw(::com::sun::star::uno::RuntimeException); diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx index 7ae4b209f49f..a34f1a414ef8 100644 --- a/sw/source/core/unocore/unotext.cxx +++ b/sw/source/core/unocore/unotext.cxx @@ -68,6 +68,7 @@ #include +using namespace std; using namespace ::com::sun::star; using ::rtl::OUString; @@ -148,6 +149,7 @@ uno::Any SAL_CALL SwXText::queryInterface( const uno::Type& rType ) throw(uno::R const uno::Type& rXTextConvert = ::getCppuType((uno::Reference< text::XTextConvert >*)0); const uno::Type& rXTextAppend = ::getCppuType((uno::Reference< text::XTextAppend >*)0); const uno::Type& rXTextAppendAndConvert = ::getCppuType((uno::Reference< text::XTextAppendAndConvert >*)0); + const uno::Type& rXTextCopy = ::getCppuType((uno::Reference< text::XTextCopy >*)0); uno::Any aRet; if(rType == rXTextType) @@ -225,6 +227,11 @@ uno::Any SAL_CALL SwXText::queryInterface( const uno::Type& rType ) throw(uno::R uno::Reference< XTextContentAppend > xRet = this; aRet.setValue(&xRet, rXTextContentAppend ); } + else if(rType == rXTextCopy ) + { + uno::Reference< XTextCopy > xRet = this; + aRet.setValue(&xRet, rXTextCopy ); + } return aRet; } /* -----------------------------15.03.00 17:42-------------------------------- @@ -270,8 +277,8 @@ void SwXText::insertString(const uno::Reference< text::XTextRange >& xTextRange, sal::static_int_cast< sal_IntPtr >( xRangeTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) )); } - if(pRange && pRange->GetDoc() == GetDoc() || - pCursor && pCursor->GetDoc() == GetDoc()) + if( ( pRange && pRange->GetDoc() == GetDoc() ) || + ( pCursor && pCursor->GetDoc() == GetDoc() ) ) { const SwStartNode* pOwnStartNode = GetStartNode(); if(pCursor) @@ -1787,6 +1794,36 @@ bool lcl_SimilarPosition( sal_Int32 nPos1, sal_Int32 nPos2 ) return abs( nPos1 - nPos2 ) < COL_POS_FUZZY; } +void SwXText::copyText( + const uno::Reference< text::XTextCopy >& xSource ) + throw ( uno::RuntimeException ) +{ +#if DEBUG + clog << "TODO - SwXText::copyText()" << endl; +#endif + uno::Reference< lang::XUnoTunnel > xTTunnel( xSource, uno::UNO_QUERY_THROW ); + SwXText* pText = 0; + pText = reinterpret_cast< SwXText* >( + sal::static_int_cast< sal_IntPtr >( xTTunnel->getSomething( SwXText::getUnoTunnelId()) )); + + + uno::Reference< text::XText > xText( xSource, uno::UNO_QUERY_THROW ); + uno::Reference< text::XTextCursor > xCursor = xText->createTextCursor( ); + xCursor->gotoEnd( sal_True ); + + uno::Reference< lang::XUnoTunnel > xTunnel( xCursor, uno::UNO_QUERY_THROW ); + + OTextCursorHelper* pCursor = 0; + pCursor = reinterpret_cast< OTextCursorHelper* >( + sal::static_int_cast< sal_IntPtr >( xTunnel->getSomething( OTextCursorHelper::getUnoTunnelId()) )); + if ( pCursor ) + { + SwNodeIndex rNdIndex( *GetStartNode( ), 1 ); + SwPosition rPos( rNdIndex ); + pDoc->CopyRange( *pCursor->GetPaM( ), rPos, false ); + } +} + uno::Reference< text::XTextTable > SwXText::convertToTable( const uno::Sequence< uno::Sequence< uno::Sequence< uno::Reference< text::XTextRange > > > >& rTableRanges, const uno::Sequence< uno::Sequence< uno::Sequence< beans::PropertyValue > > >& rCellProperties, @@ -2153,30 +2190,6 @@ uno::Reference< text::XTextTable > SwXText::convertToTable( { (void)rBounds; } - - - bool bIllegalException = false; - bool bRuntimeException = false; - ::rtl::OUString sMessage; - pDoc->StartUndo(UNDO_START, NULL); - pDoc->EndUndo(UNDO_START, NULL); - if( bIllegalException || bRuntimeException ) - { - SwUndoIter aUndoIter( pFirstPaM.get(), UNDO_EMPTY ); - pDoc->Undo(aUndoIter); - if(bIllegalException) - { - lang::IllegalArgumentException aEx; - aEx.Message = sMessage; - throw aEx; - } - else //if(bRuntimeException) - { - uno::RuntimeException aEx; - aEx.Message = sMessage; - throw aEx; - } - } return xRet; } -- cgit From 2781593e0f900bb59d52d9ef5f72edd18834de26 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Wed, 2 Dec 2009 13:52:21 +0100 Subject: [cbosdo03]Fixed some regression with images import in docx --- oox/source/shape/ShapeContextHandler.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx index 204ed459c7fc..5111e4d488d4 100644 --- a/oox/source/shape/ShapeContextHandler.cxx +++ b/oox/source/shape/ShapeContextHandler.cxx @@ -245,6 +245,7 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException) { mpShape->addShape(*mxFilterBase, mpThemePtr, xShapes); xResult.set(mpShape->getXShape()); + mxGraphicShapeContext.clear( ); } } -- cgit From 0af31b435595589aa3178804efe84edadee25fa9 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Sun, 6 Dec 2009 23:28:18 +0100 Subject: cbosdo03: Cleaned up debugging messages. --- oox/source/shape/ShapeContextHandler.cxx | 11 -------- writerfilter/inc/resourcemodel/TableManager.hxx | 6 ---- writerfilter/source/dmapper/DomainMapper.cxx | 3 -- .../source/dmapper/DomainMapperTableHandler.cxx | 6 ---- .../source/dmapper/DomainMapperTableManager.cxx | 3 -- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 32 ---------------------- writerfilter/source/dmapper/NumberingManager.cxx | 3 -- .../source/ooxml/OOXMLFastContextHandler.cxx | 4 --- 8 files changed, 68 deletions(-) diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx index 5111e4d488d4..c8d492f7a507 100644 --- a/oox/source/shape/ShapeContextHandler.cxx +++ b/oox/source/shape/ShapeContextHandler.cxx @@ -33,11 +33,6 @@ #include "oox/vml/vmlshape.hxx" #include "oox/vml/vmlshapecontainer.hxx" -#if DEBUG -#include -using namespace std; -#endif - namespace oox { namespace shape { using namespace ::com::sun::star; @@ -95,9 +90,6 @@ ShapeContextHandler::getGraphicShapeContext(::sal_Int32 Element ) uno::Reference ShapeContextHandler::getDrawingShapeContext() { -#if DEBUG - clog << "ShapeContextHandler::getDrawingShapeContext" << endl; -#endif if (!mxDrawingFragmentHandler.is()) { mpDrawing.reset( new oox::vml::Drawing( *mxFilterBase, mxDrawPage, oox::vml::VMLDRAWING_WORD ) ); @@ -188,9 +180,6 @@ ShapeContextHandler::createFastChildContext const uno::Reference< xml::sax::XFastAttributeList > & Attribs) throw (uno::RuntimeException, xml::sax::SAXException) { -#if DEBUG - clog << "ShapeContextHandler::createFastChildContext" << endl; -#endif uno::Reference< xml::sax::XFastContextHandler > xResult; uno::Reference< xml::sax::XFastContextHandler > xContextHandler(getContextHandler()); diff --git a/writerfilter/inc/resourcemodel/TableManager.hxx b/writerfilter/inc/resourcemodel/TableManager.hxx index cc267273fdf0..202e95e4f343 100644 --- a/writerfilter/inc/resourcemodel/TableManager.hxx +++ b/writerfilter/inc/resourcemodel/TableManager.hxx @@ -403,9 +403,6 @@ void TableManager::handle(const T & rHandle) template void TableManager::startLevel() { -#if DEBUG - std::clog << "TableManager::startLevel()" << std::endl; -#endif typename TableData::Pointer_t pTableData (new TableData(mTableDataStack.size())); @@ -418,9 +415,6 @@ void TableManager::startLevel() template void TableManager::endLevel() { -#if DEBUG - std::clog << "TableManager::endLevel()" << std::endl; -#endif if (mpTableDataHandler.get() != NULL) resolveCurrentTable(); mTableDataStack.pop(); diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 0a1d6baa6ac4..560885c7b975 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -4104,9 +4104,6 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp /* WRITERFILTERSTATUS: done: 0, planned: 4, spent: 0 */ case NS_ooxml::LN_object: { -#if DEBUG - clog << "DomainMapper: LN_object" << endl; -#endif writerfilter::Reference::Pointer_t pProperties = rSprm.getProps(); if( pProperties.get( ) ) { diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 20fc7755358b..99ab195c4b91 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -263,7 +263,6 @@ void DomainMapperTableHandler::endTable() } m_aTableProperties->Invalidate(); sNames += ::rtl::OUString(' '); - clog << "Props: " << rtl::OUStringToOString( sNames, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; } } #endif @@ -520,10 +519,6 @@ void DomainMapperTableHandler::endTable() pAllCellProps->insert( *aCellIterator ); aCellIterator->get( )->swap( *pAllCellProps.get( ) ); -#if DEBUG - clog << "Cell #" << nCell << ", Row #" << nRow << endl; -#endif - lcl_computeCellBorders( pTableBorders, *aCellIterator, nCell, nRow, bIsEndCol, bIsEndRow ); //now set the default left+right border distance TODO: there's an sprm containing the default distance! @@ -641,7 +636,6 @@ void DomainMapperTableHandler::endTable() (void) nCellPropertiesProperties; ++nCellPropertiesProperties; } - clog << "Converting table" << endl; #endif uno::Reference xTable = m_xText->convertToTable(*m_pTableSeq, diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx index 34c8092eb2e5..6f4f159d3a68 100644 --- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx @@ -242,9 +242,6 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm) /* WRITERFILTERSTATUS: done: 1, planned: 2, spent: 0 */ case NS_ooxml::LN_CT_TcPrBase_gridSpan: //number of grid positions spanned by this cell { -#if DEBUG - clog << "GridSpan: " << nIntValue << endl; -#endif //the cell width is determined by its position in the table grid //it takes 'gridSpan' grid elements IntVectorPtr pCurrentSpans = getCurrentSpans( ); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index e20444a9e2f1..eab62ffcab36 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -565,9 +565,6 @@ void DomainMapper_Impl::PopProperties(ContextType eId) if ( eId == CONTEXT_SECTION ) { -#if DEBUG - clog << "Saving the last section context" << endl; -#endif m_pLastSectionContext = m_aPropertyStacks[eId].top( ); } @@ -883,10 +880,6 @@ void lcl_AddRangeAndStyle( void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap ) { -#if DEBUG - clog << "finishParagraph" << endl; -#endif - ParagraphPropertyMap* pParaContext = dynamic_cast< ParagraphPropertyMap* >( pPropertyMap.get() ); TextAppendContext& rAppendContext = m_aTextAppendStack.top(); uno::Reference< text::XTextAppend > xTextAppend = rAppendContext.xTextAppend; @@ -1439,9 +1432,6 @@ void DomainMapper_Impl::CreateRedline( uno::Reference< text::XTextRange > xRange { if ( pRedline.get( ) ) { -#if DEBUG - clog << "REDLINE: Writing redline: " << pRedline->m_nId << endl; -#endif try { ::rtl::OUString sType; @@ -1470,9 +1460,6 @@ void DomainMapper_Impl::CreateRedline( uno::Reference< text::XTextRange > xRange } catch( const uno::Exception & rEx ) { -#if DEBUG - clog << "REDLINE: error - " << rtl::OUStringToOString( rEx.Message, RTL_TEXTENCODING_UTF8 ).getStr( ) << endl; -#endif ( void ) rEx; OSL_ENSURE( false, "Exception in makeRedline" ); } @@ -1557,9 +1544,6 @@ void DomainMapper_Impl::PopAnnotation() void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape > xShape ) { -#if DEBUG - clog << "PushShapeContext" << endl; -#endif m_bIsInShape = true; try { @@ -1596,10 +1580,6 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape -----------------------------------------------------------------------*/ void DomainMapper_Impl::PopShapeContext() { -#if DEBUG - clog << "PopShapeContext" << endl; -#endif - if ( m_bShapeContextAdded ) { m_aTextAppendStack.pop(); @@ -3683,16 +3663,10 @@ void DomainMapper_Impl::AddNewRedline( ) pNew->m_nToken = ooxml::OOXML_mod; if ( !m_bIsParaChange ) { -#if DEBUG - clog << "REDLINE: Adding a new redline to stack" << endl; -#endif m_aRedlines.push_back( pNew ); } else { -#if DEBUG - clog << "REDLINE: Setting a new paragraph redline" << endl; -#endif m_pParaRedline.swap( pNew ); } } @@ -3751,9 +3725,6 @@ void DomainMapper_Impl::RemoveCurrentRedline( ) { if ( m_aRedlines.size( ) > 0 ) { -#if DEBUG - clog << "REDLINE: Removing back redline" << endl; -#endif m_aRedlines.pop_back( ); } } @@ -3762,9 +3733,6 @@ void DomainMapper_Impl::ResetParaRedline( ) { if ( m_pParaRedline.get( ) ) { -#if DEBUG - clog << "REDLINE: Cleaning the para redline" << endl; -#endif RedlineParamsPtr pEmpty; m_pParaRedline.swap( pEmpty ); } diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index ad275f480518..d5ae39d9af03 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -502,9 +502,6 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper, uno::UNO_QUERY_THROW ); rtl::OUString sStyleName = GetStyleName( GetId( ) ); -#if DEBUG - fprintf( stderr, "Creating numbering style: %s\n", OUSTR_TO_C( sStyleName ) ); -#endif xStyles->insertByName( sStyleName, makeAny( xStyle ) ); diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx index dd83165d6bac..9c1e8d2df2cb 100644 --- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx +++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx @@ -251,10 +251,6 @@ void SAL_CALL OOXMLFastContextHandler::startFastElement snprintf(buffer, sizeof(buffer), "%ld: startFastElement", mnInstanceNumber); logger("MEMORY", buffer); #endif - -#if DEBUG - clog << "Token: " << fastTokenToId(Element) << endl; -#endif attributes(Attribs); lcl_startFastElement(Element, Attribs); } -- cgit From 58f94f9afcaea325ad087c19ffb825dfb83448df Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 20 Jan 2010 16:28:02 -0500 Subject: calctabcolor: pathoptions.hxx moved from svtools to unotools. --- sc/source/ui/miscdlgs/tabbgcolordlg.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx index bac8dd7a78e1..000d64955598 100644 --- a/sc/source/ui/miscdlgs/tabbgcolordlg.cxx +++ b/sc/source/ui/miscdlgs/tabbgcolordlg.cxx @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #include "tabbgcolordlg.hxx" #include "scresid.hxx" -- cgit From d8c9ce99b4ab513775ef566f4498a66246ffb11b Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 20 Jan 2010 17:05:34 -0500 Subject: calctabcolor: removed compiler warnings. --- sc/source/ui/dbgui/validate.cxx | 2 +- sc/source/ui/inc/undotab.hxx | 2 +- sc/source/ui/undo/undotab.cxx | 20 ++++++++++---------- sc/source/ui/view/viewdata.cxx | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx index 81e8ff35195d..2d286355db6c 100644 --- a/sc/source/ui/dbgui/validate.cxx +++ b/sc/source/ui/dbgui/validate.cxx @@ -584,7 +584,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/inc/undotab.hxx b/sc/source/ui/inc/undotab.hxx index e4e4911d606d..c158c9747da7 100644 --- a/sc/source/ui/inc/undotab.hxx +++ b/sc/source/ui/inc/undotab.hxx @@ -249,10 +249,10 @@ public: virtual String GetComment() const; private: + ScUndoSetTabBgColorInfoList* aUndoSetTabBgColorInfoList; SCTAB nTab; Color aOldTabBgColor; Color aNewTabBgColor; - ScUndoSetTabBgColorInfoList* aUndoSetTabBgColorInfoList; BOOL bIsMultipleUndo; void DoChange( SCTAB nTab, const Color& rTabBgColor ) const; diff --git a/sc/source/ui/undo/undotab.cxx b/sc/source/ui/undo/undotab.cxx index 41c56cadb3be..fdadd74f5cba 100644 --- a/sc/source/ui/undo/undotab.cxx +++ b/sc/source/ui/undo/undotab.cxx @@ -793,12 +793,12 @@ ScUndoSetTabBgColor::ScUndoSetTabBgColor( ScDocShell* pNewDocShell, const Color& aOTabBgColor, const Color& aNTabBgColor) : ScSimpleUndo( pNewDocShell ), + aUndoSetTabBgColorInfoList ( NULL ), nTab ( nT ), - bIsMultipleUndo ( FALSE ), - aUndoSetTabBgColorInfoList ( NULL ) + aOldTabBgColor( aOTabBgColor ), + aNewTabBgColor( aNTabBgColor ), + bIsMultipleUndo ( FALSE ) { - aOldTabBgColor = aOTabBgColor; - aNewTabBgColor = aNTabBgColor; } ScUndoSetTabBgColor::ScUndoSetTabBgColor( ScDocShell* pNewDocShell, @@ -809,11 +809,11 @@ ScUndoSetTabBgColor::ScUndoSetTabBgColor( ScDocShell* pNewDocShell, aUndoSetTabBgColorInfoList = pUndoSetTabBgColorInfoList; } -__EXPORT ScUndoSetTabBgColor::~ScUndoSetTabBgColor() +ScUndoSetTabBgColor::~ScUndoSetTabBgColor() { } -String __EXPORT ScUndoSetTabBgColor::GetComment() const +String ScUndoSetTabBgColor::GetComment() const { if (bIsMultipleUndo && aUndoSetTabBgColorInfoList && aUndoSetTabBgColorInfoList->Count() > 1) return ScGlobal::GetRscString( STR_UNDO_SET_MULTI_TAB_BG_COLOR ); @@ -865,7 +865,7 @@ void ScUndoSetTabBgColor::DoChange(BOOL bUndoType) const } } -void __EXPORT ScUndoSetTabBgColor::Undo() +void ScUndoSetTabBgColor::Undo() { if ( bIsMultipleUndo ) DoChange(TRUE); @@ -873,7 +873,7 @@ void __EXPORT ScUndoSetTabBgColor::Undo() DoChange(nTab, aOldTabBgColor); } -void __EXPORT ScUndoSetTabBgColor::Redo() +void ScUndoSetTabBgColor::Redo() { if ( bIsMultipleUndo ) DoChange(FALSE); @@ -881,12 +881,12 @@ void __EXPORT ScUndoSetTabBgColor::Redo() DoChange(nTab, aNewTabBgColor); } -void __EXPORT ScUndoSetTabBgColor::Repeat(SfxRepeatTarget& /* rTarget */) +void ScUndoSetTabBgColor::Repeat(SfxRepeatTarget& /* rTarget */) { // No Repeat } -BOOL __EXPORT ScUndoSetTabBgColor::CanRepeat(SfxRepeatTarget& /* rTarget */) const +BOOL ScUndoSetTabBgColor::CanRepeat(SfxRepeatTarget& /* rTarget */) const { return FALSE; } diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index c59aabab3796..f43fcdde2ef8 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -286,7 +286,7 @@ void ScViewDataTable::ReadUserDataSequence(const uno::Sequence >= nColor; - if (nColor != COL_AUTO) + if (static_cast(nColor) != COL_AUTO) aTabBgColor.SetColor(static_cast(nColor)); } } -- cgit From e2f7c5545113584be2700b412e1e9c1e82c09890 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Fri, 5 Feb 2010 10:44:14 +0100 Subject: cbosdo03: fixed a wrong property for image import + clenaup --- writerfilter/source/dmapper/GraphicImport.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 33a064b09d83..6b104e61ef0d 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -1981,7 +1981,7 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b } // setting properties for all types - xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_ALTERNATIVE_TEXT ), + xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_TITLE ), uno::makeAny( m_pImpl->sAlternativeText )); if( m_pImpl->bPositionProtected ) xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_POSITION_PROTECTED ), -- cgit From 0dfc4adf703a2ff3ab918f26b2fa39a613a3dd09 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Fri, 5 Feb 2010 10:44:14 +0100 Subject: cbosdo03: fixed a wrong property for image import + clenaup --- sw/source/core/unocore/unotext.cxx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx index de29d305dbde..489f9231531b 100644 --- a/sw/source/core/unocore/unotext.cxx +++ b/sw/source/core/unocore/unotext.cxx @@ -79,8 +79,6 @@ #include #include - -using namespace std; using namespace ::com::sun::star; using ::rtl::OUString; @@ -1871,9 +1869,6 @@ void SwXText::copyText( const uno::Reference< text::XTextCopy >& xSource ) throw ( uno::RuntimeException ) { -#if DEBUG - clog << "TODO - SwXText::copyText()" << endl; -#endif uno::Reference< lang::XUnoTunnel > xTTunnel( xSource, uno::UNO_QUERY_THROW ); SwXText* pText = 0; pText = reinterpret_cast< SwXText* >( -- cgit From 2db393ea0b24fd230d3437d664a25d1cf7e5fb91 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 10 Feb 2010 10:27:57 +0100 Subject: jl152 copy changeset 263364:4815fbf0d446 from native0: #161641# XPackageManager.addPackage can install a folder, which is an uncompressed extension. --- desktop/source/deployment/manager/dp_manager.cxx | 18 +++++++--- desktop/source/deployment/registry/dp_registry.cxx | 18 +++++++--- .../deployment/registry/package/dp_package.cxx | 41 +++++++++++++++------- 3 files changed, 55 insertions(+), 22 deletions(-) diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 165efbaeca5a..3f13cb021aae 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -542,11 +542,19 @@ OUString PackageManagerImpl::insertToActivationLayer( { // inflate content: ::rtl::OUStringBuffer buf; - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.zip://") ); - buf.append( ::rtl::Uri::encode( sourceContent.getURL(), - rtl_UriCharClassRegName, - rtl_UriEncodeIgnoreEscapes, - RTL_TEXTENCODING_UTF8 ) ); + if (!sourceContent.isFolder()) + { + buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.zip://") ); + buf.append( ::rtl::Uri::encode( sourceContent.getURL(), + rtl_UriCharClassRegName, + rtl_UriEncodeIgnoreEscapes, + RTL_TEXTENCODING_UTF8 ) ); + } + else + { + //Folder. No need to unzip, just copy + buf.append(sourceContent.getURL()); + } buf.append( static_cast('/') ); sourceContent = ::ucbhelper::Content( buf.makeStringAndClear(), xCmdEnv ); diff --git a/desktop/source/deployment/registry/dp_registry.cxx b/desktop/source/deployment/registry/dp_registry.cxx index c6572364aac0..c56131a1015c 100644 --- a/desktop/source/deployment/registry/dp_registry.cxx +++ b/desktop/source/deployment/registry/dp_registry.cxx @@ -181,6 +181,7 @@ OUString normalizeMediaType( OUString const & mediaType ) } //______________________________________________________________________________ + void PackageRegistryImpl::insertBackend( Reference const & xBackend ) { @@ -201,7 +202,8 @@ void PackageRegistryImpl::insertBackend( ::std::pair mb_insertion( m_mediaType2backend.insert( t_string2registry::value_type( mediaType, xBackend ) ) ); - if (mb_insertion.second) { + if (mb_insertion.second) + { // add parameterless media-type, too: sal_Int32 semi = mediaType.indexOf( ';' ); if (semi >= 0) { @@ -210,9 +212,13 @@ void PackageRegistryImpl::insertBackend( mediaType.copy( 0, semi ), xBackend ) ); } const OUString fileFilter( xPackageType->getFileFilter() ); + //The package backend shall also be called to determine the mediatype + //(XPackageRegistry.bindPackage) when the URL points to a directory. + const bool bExtension = mediaType.equals(OUSTR("application/vnd.sun.star.package-bundle")); if (fileFilter.getLength() == 0 || fileFilter.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("*.*") ) || - fileFilter.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("*") )) + fileFilter.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("*") ) || + bExtension) { m_ambiguousBackends.insert( xBackend ); } @@ -351,7 +357,10 @@ Reference PackageRegistryImpl::create( } } - // insert bundle be: + // Insert bundle back-end. + // Always register as last, because we want to add extensions also as folders + // and as a default we accept every folder, which was not recognized by the other + // backends. that->insertBackend( ::dp_registry::backend::bundle::create( that, context, cachePath, readOnly, xComponentContext ) ); @@ -445,7 +454,8 @@ Reference PackageRegistryImpl::bindPackage( { ::ucbhelper::Content ucbContent; if (create_ucb_content( - &ucbContent, url, xCmdEnv, false /* no throw */ )) + &ucbContent, url, xCmdEnv, false /* no throw */ ) + && !ucbContent.isFolder()) { OUString title( ucbContent.getPropertyValue( StrTitle::get() ).get() ); diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index e45f7fb7ef73..b0b4a918c7a3 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -287,7 +287,7 @@ BackendImpl::BackendImpl( m_xBundleTypeInfo->getShortDescription(), RID_IMG_DEF_PACKAGE_BUNDLE, RID_IMG_DEF_PACKAGE_BUNDLE_HC ) ), - m_typeInfos( 2 ) + m_typeInfos(2) { m_typeInfos[ 0 ] = m_xBundleTypeInfo; m_typeInfos[ 1 ] = m_xLegacyBundleTypeInfo; @@ -342,17 +342,32 @@ Reference BackendImpl::bindPackage_( ::ucbhelper::Content ucbContent; if (create_ucb_content( &ucbContent, url, xCmdEnv )) { - const OUString title( ucbContent.getPropertyValue( - StrTitle::get() ).get() ); - if (title.endsWithIgnoreAsciiCaseAsciiL( - RTL_CONSTASCII_STRINGPARAM(".oxt") ) || - title.endsWithIgnoreAsciiCaseAsciiL( - RTL_CONSTASCII_STRINGPARAM(".uno.pkg") )) - mediaType = OUSTR("application/vnd.sun.star.package-bundle"); - else if (title.endsWithIgnoreAsciiCaseAsciiL( - RTL_CONSTASCII_STRINGPARAM(".zip") )) - mediaType = - OUSTR("application/vnd.sun.star.legacy-package-bundle"); + if (ucbContent.isFolder()) + { + //Every .oxt, uno.pkg file must contain a META-INF folder + ::ucbhelper::Content metaInfContent; + if (create_ucb_content( + &metaInfContent, makeURL( url, OUSTR("META-INF/manifest.xml") ), + xCmdEnv, false /* no throw */ )) + { + mediaType = OUSTR("application/vnd.sun.star.package-bundle"); + } + //No support of legacy bundles, because every folder could be one. + } + else + { + const OUString title( ucbContent.getPropertyValue( + StrTitle::get() ).get() ); + if (title.endsWithIgnoreAsciiCaseAsciiL( + RTL_CONSTASCII_STRINGPARAM(".oxt") ) || + title.endsWithIgnoreAsciiCaseAsciiL( + RTL_CONSTASCII_STRINGPARAM(".uno.pkg") )) + mediaType = OUSTR("application/vnd.sun.star.package-bundle"); + else if (title.endsWithIgnoreAsciiCaseAsciiL( + RTL_CONSTASCII_STRINGPARAM(".zip") )) + mediaType = + OUSTR("application/vnd.sun.star.legacy-package-bundle"); + } } if (mediaType.getLength() == 0) throw lang::IllegalArgumentException( @@ -1303,7 +1318,7 @@ void BackendImpl::PackageImpl::scanBundle( { OSL_ENSURE( 0, "### missing META-INF/manifest.xml file!" ); return; -} + } const lang::Locale officeLocale = getOfficeLocale(); -- cgit From 115be1e754c02ba61dcaaa8be29988d0ccafc5db Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 10:13:55 -0500 Subject: calctabcolor: #i5560# Added new token for storing the tab color with ods, as a table document property. --- xmloff/inc/xmloff/xmltoken.hxx | 1 + xmloff/source/core/xmltoken.cxx | 1 + 2 files changed, 2 insertions(+) diff --git a/xmloff/inc/xmloff/xmltoken.hxx b/xmloff/inc/xmloff/xmltoken.hxx index 4a96de28b480..224b9e41a19f 100644 --- a/xmloff/inc/xmloff/xmltoken.hxx +++ b/xmloff/inc/xmloff/xmltoken.hxx @@ -1708,6 +1708,7 @@ namespace xmloff { namespace token { XML_SYMBOL_IMAGE_NAME, XML_SYMBOL_WIDTH, XML_SYSTEM, + XML_TAB_COLOR, XML_TAB_STOP, XML_TAB_STOP_DISTANCE, XML_TAB_STOPS, diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 3073ead17646..1dfbbacf8790 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1716,6 +1716,7 @@ namespace xmloff { namespace token { TOKEN( "symbol-image-name", XML_SYMBOL_IMAGE_NAME ), TOKEN( "symbol-width", XML_SYMBOL_WIDTH ), TOKEN( "system", XML_SYSTEM ), + TOKEN( "tab-color", XML_TAB_COLOR ), TOKEN( "tab-stop", XML_TAB_STOP ), TOKEN( "tab-stop-distance", XML_TAB_STOP_DISTANCE ), TOKEN( "tab-stops", XML_TAB_STOPS ), -- cgit From cc0d82f6a35cf377214df4ab10f06ce64188948e Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 11:48:02 -0500 Subject: calctabcolor: Added data member to ScTable to store tab color. --- sc/inc/document.hxx | 2 ++ sc/inc/table.hxx | 3 +++ sc/source/core/data/documen3.cxx | 13 +++++++++++++ sc/source/core/data/table1.cxx | 11 +++++++++++ 4 files changed, 29 insertions(+) diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index cc575b529d73..2c21d35861ae 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -588,6 +588,8 @@ public: Color& rColor, USHORT& rFlags ) const; SC_DLLPUBLIC void SetScenarioData( SCTAB nTab, const String& rComment, const Color& rColor, USHORT nFlags ); + Color GetTabColor( SCTAB nTab ) const; + void SetTabColor( SCTAB nTab, const Color& rColor ); void GetScenarioFlags( SCTAB nTab, USHORT& rFlags ) const; SC_DLLPUBLIC BOOL IsActiveScenario( SCTAB nTab ) const; SC_DLLPUBLIC void SetActiveScenario( SCTAB nTab, BOOL bActive ); // nur fuer Undo etc. diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index f400054d00b7..3b5a161328f2 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -155,6 +155,7 @@ private: ScRangeList* pScenarioRanges; Color aScenarioColor; + Color aTabColor; USHORT nScenarioFlags; BOOL bActiveScenario; @@ -210,6 +211,8 @@ public: void SetScenarioComment( const String& rComment ) { aComment = rComment; } const Color& GetScenarioColor() const { return aScenarioColor; } void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; } + const Color& GetTabColor() const; + void SetTabColor(const Color& rColor); USHORT GetScenarioFlags() const { return nScenarioFlags; } void SetScenarioFlags(USHORT nNew) { nScenarioFlags = nNew; } void SetActiveScenario(BOOL bSet) { bActiveScenario = bSet; } diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 2529d0ad7f1d..15fd27e76dc7 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -283,6 +283,19 @@ void ScDocument::SetScenarioData( SCTAB nTab, const String& rComment, } } +Color ScDocument::GetTabColor( SCTAB nTab ) const +{ + if (ValidTab(nTab) && pTab[nTab]) + return pTab[nTab]->GetTabColor(); + return Color(COL_AUTO); +} + +void ScDocument::SetTabColor( SCTAB nTab, const Color& rColor ) +{ + if (ValidTab(nTab) && pTab[nTab]) + pTab[nTab]->SetTabColor(rColor); +} + void ScDocument::GetScenarioData( SCTAB nTab, String& rComment, Color& rColor, USHORT& rFlags ) const { diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index 403377342661..f61445b62d5e 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -155,6 +155,7 @@ ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, nLockCount( 0 ), pScenarioRanges( NULL ), aScenarioColor( COL_LIGHTGRAY ), + aTabColor( COL_AUTO ), nScenarioFlags( 0 ), bActiveScenario( FALSE ) { @@ -278,6 +279,16 @@ void ScTable::SetLoadingRTL( BOOL bSet ) bLoadingRTL = bSet; } +const Color& ScTable::GetTabColor() const +{ + return aTabColor; +} + +void ScTable::SetTabColor(const Color& rColor) +{ + aTabColor = rColor; +} + void ScTable::SetScenario( BOOL bFlag ) { bScenario = bFlag; -- cgit From d5daccbdb1ab66b03ef50c7105b483312be94dfa Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 13:22:54 -0500 Subject: calctabcolor: BOOL to bool. --- sc/source/ui/docshell/docfunc.cxx | 22 +++++++++++----------- sc/source/ui/inc/docfunc.hxx | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index acc9f16e7730..2f6469a3032f 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -2855,17 +2855,17 @@ BOOL ScDocFunc::RenameTable( SCTAB nTab, const String& rName, BOOL bRecord, BOOL return bSuccess; } -BOOL ScDocFunc::SetTabBgColor( SCTAB nTab, const Color& rColor, BOOL bRecord, BOOL bApi ) +bool ScDocFunc::SetTabBgColor( SCTAB nTab, const Color& rColor, bool bRecord, bool bApi ) { ScDocument* pDoc = rDocShell.GetDocument(); if (bRecord && !pDoc->IsUndoEnabled()) - bRecord = FALSE; + bRecord = false; if ( !pDoc->IsDocEditable() || pDoc->IsTabProtected(nTab) ) { if (!bApi) rDocShell.ErrorMessage(STR_PROTECTIONERR); //TODO Check to see what this string is... - return FALSE; + return false; } ScViewData* pViewData = rDocShell.GetViewData(); @@ -2873,10 +2873,10 @@ BOOL ScDocFunc::SetTabBgColor( SCTAB nTab, const Color& rColor, BOOL bRecord, BO Color aOldTabBgColor; aOldTabBgColor = pViewData->GetTabBgColor(nTab); - BOOL bSuccess = FALSE; + bool bSuccess = false; pViewData->SetTabBgColor(rColor, nTab); if ( pViewData->GetTabBgColor( nTab ) == rColor) - bSuccess = TRUE; + bSuccess = true; if (bSuccess) { if (bRecord) @@ -2889,28 +2889,28 @@ BOOL ScDocFunc::SetTabBgColor( SCTAB nTab, const Color& rColor, BOOL bRecord, BO aModificator.SetDocumentModified(); SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); - bSuccess = TRUE; + bSuccess = true; } return bSuccess; } -BOOL ScDocFunc::SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorInfoList, BOOL bRecord, BOOL bApi ) +bool ScDocFunc::SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorInfoList, bool bRecord, bool bApi ) { ScDocument* pDoc = rDocShell.GetDocument(); if (bRecord && !pDoc->IsUndoEnabled()) - bRecord = FALSE; + bRecord = false; if ( !pDoc->IsDocEditable() ) { if (!bApi) rDocShell.ErrorMessage(STR_PROTECTIONERR); //TODO Get a better String Error... - return FALSE; + return false; } ScViewData* pViewData = rDocShell.GetViewData(); USHORT nTab; Color aNewTabBgColor; ScUndoSetTabBgColorInfo* rUndoSetTabBgColorInfo; - BOOL bSuccess = TRUE; + bool bSuccess = true; USHORT nTabProtectCount = 0; for ( USHORT i=0; i < rUndoSetTabBgColorInfoList->Count(); i++ ) { @@ -2923,7 +2923,7 @@ BOOL ScDocFunc::SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorIn pViewData->SetTabBgColor(aNewTabBgColor, nTab); if ( pViewData->GetTabBgColor( nTab ) != aNewTabBgColor) { - bSuccess = FALSE; + bSuccess = false; break; } } diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx index de849fb06cbf..11e8914dd14e 100644 --- a/sc/source/ui/inc/docfunc.hxx +++ b/sc/source/ui/inc/docfunc.hxx @@ -121,9 +121,9 @@ public: BOOL RenameTable( SCTAB nTab, const String& rName, BOOL bRecord, BOOL bApi ); BOOL DeleteTable( SCTAB nTab, BOOL bRecord, BOOL bApi ); - BOOL SetTabBgColor( SCTAB nTab, const Color& rColor, BOOL bRecord, BOOL bApi ); - BOOL SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorInfoList, - BOOL bRecord, BOOL bApi ); + bool SetTabBgColor( SCTAB nTab, const Color& rColor, bool bRecord, bool bApi ); + bool SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorInfoList, + bool bRecord, bool bApi ); BOOL SetTableVisible( SCTAB nTab, BOOL bVisible, BOOL bApi ); -- cgit From e91ccd784a2155f62195d3e80900741f3e6e970f Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 14:25:56 -0500 Subject: calctabcolor: Entirely removed storage of tabcolor from ScViewDataTable. --- sc/inc/document.hxx | 5 ++-- sc/inc/table.hxx | 6 ++--- sc/source/core/data/documen3.cxx | 15 ++++++++--- sc/source/core/data/table1.cxx | 10 ++++---- sc/source/ui/docshell/docfunc.cxx | 14 +++++----- sc/source/ui/inc/viewdata.hxx | 7 ----- sc/source/ui/undo/undotab.cxx | 54 ++++++++++++++++++--------------------- sc/source/ui/view/tabcont.cxx | 11 ++++---- sc/source/ui/view/tabvwshf.cxx | 4 +-- sc/source/ui/view/viewdata.cxx | 50 ++++++------------------------------ 10 files changed, 68 insertions(+), 108 deletions(-) diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index 2c21d35861ae..b3591e9ac03f 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -588,8 +588,9 @@ public: Color& rColor, USHORT& rFlags ) const; SC_DLLPUBLIC void SetScenarioData( SCTAB nTab, const String& rComment, const Color& rColor, USHORT nFlags ); - Color GetTabColor( SCTAB nTab ) const; - void SetTabColor( SCTAB nTab, const Color& rColor ); + Color GetTabBgColor( SCTAB nTab ) const; + void SetTabBgColor( SCTAB nTab, const Color& rColor ); + bool IsDefaultTabBgColor( SCTAB nTab ) const; void GetScenarioFlags( SCTAB nTab, USHORT& rFlags ) const; SC_DLLPUBLIC BOOL IsActiveScenario( SCTAB nTab ) const; SC_DLLPUBLIC void SetActiveScenario( SCTAB nTab, BOOL bActive ); // nur fuer Undo etc. diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 3b5a161328f2..9f3dcdbff5e2 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -155,7 +155,7 @@ private: ScRangeList* pScenarioRanges; Color aScenarioColor; - Color aTabColor; + Color aTabBgColor; USHORT nScenarioFlags; BOOL bActiveScenario; @@ -211,8 +211,8 @@ public: void SetScenarioComment( const String& rComment ) { aComment = rComment; } const Color& GetScenarioColor() const { return aScenarioColor; } void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; } - const Color& GetTabColor() const; - void SetTabColor(const Color& rColor); + const Color& GetTabBgColor() const; + void SetTabBgColor(const Color& rColor); USHORT GetScenarioFlags() const { return nScenarioFlags; } void SetScenarioFlags(USHORT nNew) { nScenarioFlags = nNew; } void SetActiveScenario(BOOL bSet) { bActiveScenario = bSet; } diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 15fd27e76dc7..373691dd2775 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -283,17 +283,24 @@ void ScDocument::SetScenarioData( SCTAB nTab, const String& rComment, } } -Color ScDocument::GetTabColor( SCTAB nTab ) const +Color ScDocument::GetTabBgColor( SCTAB nTab ) const { if (ValidTab(nTab) && pTab[nTab]) - return pTab[nTab]->GetTabColor(); + return pTab[nTab]->GetTabBgColor(); return Color(COL_AUTO); } -void ScDocument::SetTabColor( SCTAB nTab, const Color& rColor ) +void ScDocument::SetTabBgColor( SCTAB nTab, const Color& rColor ) { if (ValidTab(nTab) && pTab[nTab]) - pTab[nTab]->SetTabColor(rColor); + pTab[nTab]->SetTabBgColor(rColor); +} + +bool ScDocument::IsDefaultTabBgColor( SCTAB nTab ) const +{ + if (ValidTab(nTab) && pTab[nTab]) + return pTab[nTab]->GetTabBgColor() == COL_AUTO; + return true; } void ScDocument::GetScenarioData( SCTAB nTab, String& rComment, diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index f61445b62d5e..eca154bb2632 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -155,7 +155,7 @@ ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, nLockCount( 0 ), pScenarioRanges( NULL ), aScenarioColor( COL_LIGHTGRAY ), - aTabColor( COL_AUTO ), + aTabBgColor( COL_AUTO ), nScenarioFlags( 0 ), bActiveScenario( FALSE ) { @@ -279,14 +279,14 @@ void ScTable::SetLoadingRTL( BOOL bSet ) bLoadingRTL = bSet; } -const Color& ScTable::GetTabColor() const +const Color& ScTable::GetTabBgColor() const { - return aTabColor; + return aTabBgColor; } -void ScTable::SetTabColor(const Color& rColor) +void ScTable::SetTabBgColor(const Color& rColor) { - aTabColor = rColor; + aTabBgColor = rColor; } void ScTable::SetScenario( BOOL bFlag ) diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 2f6469a3032f..f54e4c17bcdf 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -2868,14 +2868,12 @@ bool ScDocFunc::SetTabBgColor( SCTAB nTab, const Color& rColor, bool bRecord, bo return false; } - ScViewData* pViewData = rDocShell.GetViewData(); - Color aOldTabBgColor; - aOldTabBgColor = pViewData->GetTabBgColor(nTab); + aOldTabBgColor = pDoc->GetTabBgColor(nTab); bool bSuccess = false; - pViewData->SetTabBgColor(rColor, nTab); - if ( pViewData->GetTabBgColor( nTab ) == rColor) + pDoc->SetTabBgColor(nTab, rColor); + if ( pDoc->GetTabBgColor(nTab) == rColor) bSuccess = true; if (bSuccess) { @@ -2919,9 +2917,9 @@ bool ScDocFunc::SetTabBgColor( ScUndoSetTabBgColorInfoList* rUndoSetTabBgColorIn if ( !pDoc->IsTabProtected(nTab) ) { aNewTabBgColor = rUndoSetTabBgColorInfo->aNewTabBgColor; - rUndoSetTabBgColorInfo->aOldTabBgColor = pViewData->GetTabBgColor(nTab); - pViewData->SetTabBgColor(aNewTabBgColor, nTab); - if ( pViewData->GetTabBgColor( nTab ) != aNewTabBgColor) + rUndoSetTabBgColorInfo->aOldTabBgColor = pDoc->GetTabBgColor(nTab); + pDoc->SetTabBgColor(nTab, aNewTabBgColor); + if ( pDoc->GetTabBgColor(nTab) != aNewTabBgColor) { bSuccess = false; break; diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx index 1bfab3a7b46e..dc2fe4522ecd 100644 --- a/sc/source/ui/inc/viewdata.hxx +++ b/sc/source/ui/inc/viewdata.hxx @@ -144,9 +144,6 @@ private: BOOL bOldCurValid; // "virtuelle" Cursorpos. bei zusammengefassten - Color aTabBgColor; - BOOL IsDefaultTabBgColor() const {return aTabBgColor == Color( COL_AUTO ) ? TRUE : FALSE ;}; - ScViewDataTable(); ~ScViewDataTable(); @@ -280,10 +277,6 @@ public: void CopyTab( SCTAB nSrcTab, SCTAB nDestTab ); void MoveTab( SCTAB nSrcTab, SCTAB nDestTab ); - void SetTabBgColor( Color rTabBgColor, SCTAB nTab ); - BOOL IsDefaultTabBgColor( SCTAB nTab ) const; - Color GetTabBgColor( SCTAB nTab ) const; - SCTAB GetRefTabNo() const { return nRefTabNo; } void SetRefTabNo( SCTAB nNewTab ) { nRefTabNo = nNewTab; } diff --git a/sc/source/ui/undo/undotab.cxx b/sc/source/ui/undo/undotab.cxx index fdadd74f5cba..0793607fc728 100644 --- a/sc/source/ui/undo/undotab.cxx +++ b/sc/source/ui/undo/undotab.cxx @@ -824,45 +824,41 @@ void ScUndoSetTabBgColor::DoChange( SCTAB nTabP, const Color& rTabBgColor ) cons { if (bIsMultipleUndo) return; + ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); - if (pViewShell) - { - ScViewData* pViewData = pViewShell->GetViewData(); - if (pViewData) - { - pViewData->SetTabBgColor( rTabBgColor, nTabP ); - pDocShell->PostPaintExtras(); - pDocShell->PostDataChanged(); - SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); - pViewShell->UpdateInputHandler(); - } - } + ScDocument* pDoc = pDocShell->GetDocument(); + if (!pDoc) + return; + + pDoc->SetTabBgColor(nTabP, rTabBgColor); + pDocShell->PostPaintExtras(); + pDocShell->PostDataChanged(); + SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); + pViewShell->UpdateInputHandler(); } void ScUndoSetTabBgColor::DoChange(BOOL bUndoType) const { if (!bIsMultipleUndo) return; + ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); - if (pViewShell) + ScDocument* pDoc = pDocShell->GetDocument(); + if (!pDoc) + return; + + ScUndoSetTabBgColorInfo* aUndoSetTabBgColorInfo = NULL; + for (USHORT i=0; i < aUndoSetTabBgColorInfoList->Count(); ++i) { - ScViewData* pViewData = pViewShell->GetViewData(); - if (pViewData) - { - ScUndoSetTabBgColorInfo* aUndoSetTabBgColorInfo=NULL; - for (USHORT i=0; i < aUndoSetTabBgColorInfoList->Count(); i++) - { - aUndoSetTabBgColorInfo = aUndoSetTabBgColorInfoList->GetObject(i); - pViewData->SetTabBgColor( - bUndoType ? aUndoSetTabBgColorInfo->aOldTabBgColor : aUndoSetTabBgColorInfo->aNewTabBgColor, - aUndoSetTabBgColorInfo->nTabId); - } - pDocShell->PostPaintExtras(); - pDocShell->PostDataChanged(); - SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); - pViewShell->UpdateInputHandler(); - } + aUndoSetTabBgColorInfo = aUndoSetTabBgColorInfoList->GetObject(i); + pDoc->SetTabBgColor( + aUndoSetTabBgColorInfo->nTabId, + bUndoType ? aUndoSetTabBgColorInfo->aOldTabBgColor : aUndoSetTabBgColorInfo->aNewTabBgColor); } + pDocShell->PostPaintExtras(); + pDocShell->PostDataChanged(); + SFX_APP()->Broadcast( SfxSimpleHint( SC_HINT_TABLES_CHANGED ) ); + pViewShell->UpdateInputHandler(); } void ScUndoSetTabBgColor::Undo() diff --git a/sc/source/ui/view/tabcont.cxx b/sc/source/ui/view/tabcont.cxx index 6b61c21788de..39f2937a3e59 100644 --- a/sc/source/ui/view/tabcont.cxx +++ b/sc/source/ui/view/tabcont.cxx @@ -81,10 +81,9 @@ ScTabControl::ScTabControl( Window* pParent, ScViewData* pData ) : InsertPage( static_cast(i)+1, aString, TPB_SPECIAL ); else InsertPage( static_cast(i)+1, aString ); - if ( !pViewData->IsDefaultTabBgColor(i) ) + if ( !pDoc->IsDefaultTabBgColor(i) ) { - aTabBgColor = pViewData->GetTabBgColor(i); - /*SetTabBgColor(static_cast(i)+1, aTabBgColor, pViewData->IsDefaultTabBgColor(i) );*/ + aTabBgColor = pDoc->GetTabBgColor(i); SetTabBgColor( static_cast(i)+1, aTabBgColor ); } } @@ -307,7 +306,7 @@ void ScTabControl::UpdateStatus() if (pDoc->IsVisible(i)) { pDoc->GetName(i,aString); - aTabBgColor = pViewData->GetTabBgColor(i); + aTabBgColor = pDoc->GetTabBgColor(i); } else { @@ -331,9 +330,9 @@ void ScTabControl::UpdateStatus() InsertPage( static_cast(i)+1, aString, TPB_SPECIAL ); else InsertPage( static_cast(i)+1, aString ); - if ( !pViewData->IsDefaultTabBgColor(i) ) + if ( !pDoc->IsDefaultTabBgColor(i) ) { - aTabBgColor = pViewData->GetTabBgColor(i); + aTabBgColor = pDoc->GetTabBgColor(i); SetTabBgColor( static_cast(i)+1, aTabBgColor ); } } diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx index 4d877178fe0b..54f9cab2f693 100644 --- a/sc/source/ui/view/tabvwshf.cxx +++ b/sc/source/ui/view/tabvwshf.cxx @@ -751,7 +751,7 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) Color aTabBgColor; Color aNewTabBgColor; - aTabBgColor = pViewData->GetTabBgColor( nCurrentTab ); + aTabBgColor = pDoc->GetTabBgColor( nCurrentTab ); ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); DBG_ASSERT(pFact, "ScAbstractFactory create fail!"); AbstractScTabBgColorDlg* pDlg = pFact->CreateScTabBgColorDlg( @@ -935,7 +935,7 @@ void ScTabViewShell::GetStateTable( SfxItemSet& rSet ) case FID_TAB_SET_TAB_BG_COLOR: { Color aColor; - aColor = pViewData->GetTabBgColor( nTab ); + aColor = pDoc->GetTabBgColor( nTab ); rSet.Put( SvxColorItem( aColor, nWhich ) ); } break; diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index f43fcdde2ef8..03ad6aa85fc2 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -104,8 +104,7 @@ ScViewDataTable::ScViewDataTable() : nFixPosY( 0 ), nCurX( 0 ), nCurY( 0 ), - bOldCurValid( FALSE ), - aTabBgColor( Color(COL_AUTO) ) + bOldCurValid( FALSE ) { nPosX[0]=nPosX[1]=0; nPosY[0]=nPosY[1]=0; @@ -164,14 +163,6 @@ void ScViewDataTable::WriteUserDataSequence(uno::Sequence pSettings[SC_TABLE_ZOOM_VALUE].Value <<= nZoomValue; pSettings[SC_TABLE_PAGE_VIEW_ZOOM_VALUE].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_PAGEVIEWZOOMVALUE)); pSettings[SC_TABLE_PAGE_VIEW_ZOOM_VALUE].Value <<= nPageZoomValue; - - if ( !IsDefaultTabBgColor() ) - { - pSettings[SC_TABLE_TAB_BG_COLOR].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNO_TABCOLOR)); - pSettings[SC_TABLE_TAB_BG_COLOR].Value <<= static_cast(aTabBgColor.GetColor()); - } -// pSettings[SC_TABLE_SELECTED].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_TABLESELECTED)); -// pSettings[SC_TABLE_SELECTED].Value <<= bool(rViewData.GetMarkData().GetTableSelect( nTab )); } } @@ -284,10 +275,13 @@ void ScViewDataTable::ReadUserDataSequence(const uno::Sequence >= nColor; if (static_cast(nColor) != COL_AUTO) aTabBgColor.SetColor(static_cast(nColor)); +#endif } } if (eHSplitMode == SC_SPLIT_FIX) @@ -592,36 +586,6 @@ void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab ) aMarkData.InsertTab( nInsTab ); // ggf. angepasst } -void ScViewData::SetTabBgColor( Color rTabBgColor, SCTAB nTab ) -{ - if ( rTabBgColor != Color(COL_AUTO) ) - { - if ( !pTabData[nTab] ) - CreateTabData( nTab ); - pTabData[nTab]->aTabBgColor = rTabBgColor; - } - else - { - if ( pTabData[nTab] ) - pTabData[nTab]->aTabBgColor = Color( COL_AUTO ); - } -} - -Color ScViewData::GetTabBgColor( SCTAB nTab ) const -{ - if ( !pTabData[nTab] ) - return Color(COL_AUTO); - return pTabData[nTab]->aTabBgColor; -} - -BOOL ScViewData::IsDefaultTabBgColor( SCTAB nTab ) const -{ - if ( !pTabData[nTab] ) - return true; - BOOL bResult = pTabData[nTab]->aTabBgColor==Color( COL_AUTO ) ? TRUE : FALSE; - return bResult; -} - //UNUSED2008-05 void ScViewData::UpdateOle( ScSplitPos /* eWhich */ ) //UNUSED2008-05 { //UNUSED2008-05 GetDocShell()->UpdateOle(this); @@ -2568,7 +2532,7 @@ void ScViewData::WriteExtOptions( ScExtDocOptions& rDocOpt ) const rTabSett.mnPageZoom = static_cast< long >( pViewTab->aPageZoomY * Fraction( 100.0 ) ); // Tab Bg Color - rTabSett.maTabBgColor = pViewTab->aTabBgColor; +// rTabSett.maTabBgColor = pViewTab->aTabBgColor; } } } @@ -2726,7 +2690,9 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt ) // Tab Bg Color if( !rTabSett.IsDefaultTabBgColor() ) - rViewTab.aTabBgColor = rTabSett.maTabBgColor; + { +// rViewTab.aTabBgColor = rTabSett.maTabBgColor; + } } } -- cgit From a9233bd6bb2dd1f9ad9c816d7ad24f3de60001b1 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 15:52:41 -0500 Subject: calctabcolor: Import tab colors from view settings in case the documents store tab colors as view settings. --- sc/source/ui/view/viewdata.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index 03ad6aa85fc2..2ee2e8771805 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -275,13 +275,13 @@ void ScViewDataTable::ReadUserDataSequence(const uno::Sequence >= nColor; if (static_cast(nColor) != COL_AUTO) - aTabBgColor.SetColor(static_cast(nColor)); -#endif + { + ScDocument* pDoc = rViewData.GetDocument(); + pDoc->SetTabBgColor(nTab, Color(static_cast(nColor))); + } } } if (eHSplitMode == SC_SPLIT_FIX) -- cgit From 0b10a16e5bb9b1b6b3dcd1afa112f07dd71c6918 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 17:46:05 -0500 Subject: calctabcolor: COL_AUTO should be of type ColorData, not of UINT32. --- tools/inc/tools/color.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/inc/tools/color.hxx b/tools/inc/tools/color.hxx index 4af82e4f1003..51798a73d5b2 100644 --- a/tools/inc/tools/color.hxx +++ b/tools/inc/tools/color.hxx @@ -81,7 +81,7 @@ typedef UINT32 ColorData; #define COL_YELLOW RGB_COLORDATA( 0xFF, 0xFF, 0x00 ) #define COL_WHITE RGB_COLORDATA( 0xFF, 0xFF, 0xFF ) #define COL_TRANSPARENT TRGB_COLORDATA( 0xFF, 0xFF, 0xFF, 0xFF ) -#define COL_AUTO (UINT32)0xFFFFFFFF +#define COL_AUTO (ColorData)0xFFFFFFFF #define COL_AUTHOR1_DARK RGB_COLORDATA(198, 146, 0) #define COL_AUTHOR1_NORMAL RGB_COLORDATA(255, 255, 158) #define COL_AUTHOR1_LIGHT RGB_COLORDATA(255, 255, 195) -- cgit From a29b7cdc581f338473d08079216a06f346e7e6d6 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 19:11:55 -0500 Subject: calctabcolor: Export tab colors to ods via UNO's property. --- sc/inc/unowids.hxx | 3 +- sc/source/filter/xml/xmlexprt.cxx | 228 ++++++++++++++++++++------------------ sc/source/filter/xml/xmlexprt.hxx | 1 + sc/source/ui/unoobj/cellsuno.cxx | 5 + 4 files changed, 130 insertions(+), 107 deletions(-) diff --git a/sc/inc/unowids.hxx b/sc/inc/unowids.hxx index aa75f9cc8404..9b05df2aee52 100644 --- a/sc/inc/unowids.hxx +++ b/sc/inc/unowids.hxx @@ -80,7 +80,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_TABCOLOR ( SC_WID_UNO_START + 40 ) +#define SC_WID_UNO_END ( SC_WID_UNO_START + 40 ) inline BOOL IsScUnoWid( USHORT nWid ) diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index c2fd53acb736..6bb252bc546d 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -87,6 +87,7 @@ #include #include +#include "tools/color.hxx" #include #include #include @@ -127,6 +128,7 @@ #include #include #include +#include #include #include @@ -164,6 +166,7 @@ using namespace formula; using namespace com::sun::star; using namespace xmloff::token; using ::std::vector; +using ::com::sun::star::uno::UNO_QUERY; //---------------------------------------------------------------------------- @@ -529,6 +532,7 @@ ScXMLExport::ScXMLExport( sAttrName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NAME)); sAttrStyleName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_STYLE_NAME)); + sAttrTabColor = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_TAB_COLOR)); sAttrColumnsRepeated = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NUMBER_COLUMNS_REPEATED)); sAttrFormula = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_FORMULA)); sAttrStringValue = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OFFICE, GetXMLToken(XML_STRING_VALUE)); @@ -1708,132 +1712,144 @@ void ScXMLExport::_ExportContent() } else { - //! indent after rebasing to m52 - - uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); - if (xTable.is()) - { - xCurrentTable.set(xTable); - xCurrentTableCellRange.set(xTable, uno::UNO_QUERY); - uno::Reference xName (xTable, uno::UNO_QUERY ); - if ( xName.is() ) + uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); + if (xTable.is()) { - nCurrentTable = sal::static_int_cast( nTable ); - rtl::OUString sOUTableName(xName->getName()); - AddAttribute(sAttrName, sOUTableName); - AddAttribute(sAttrStyleName, aTableStyles[nTable]); - uno::Reference xProtectable (xTable, uno::UNO_QUERY); - if (xProtectable.is() && xProtectable->isProtected()) + xCurrentTable.set(xTable); + xCurrentTableCellRange.set(xTable, uno::UNO_QUERY); + uno::Reference xName (xTable, uno::UNO_QUERY ); + if ( xName.is() ) { - AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE); - rtl::OUStringBuffer aBuffer; - if (pDoc) + nCurrentTable = sal::static_int_cast( nTable ); + rtl::OUString sOUTableName(xName->getName()); + AddAttribute(sAttrName, sOUTableName); + AddAttribute(sAttrStyleName, aTableStyles[nTable]); + + uno::Reference xPropSet(xTable, UNO_QUERY); + if (xPropSet.is()) { - ScTableProtection* pProtect = pDoc->GetTabProtection(static_cast(nTable)); - if (pProtect) - SvXMLUnitConverter::encodeBase64(aBuffer, pProtect->getPasswordHash(PASSHASH_OOO)); + // Tab color for this table, if exists. + uno::Any any; + any = xPropSet->getPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR)); + sal_Int32 nColor; + if (any >>= nColor) + { + if (static_cast(nColor) != COL_AUTO) + AddAttribute(sAttrTabColor, OUString::valueOf(nColor)); + } } - if (aBuffer.getLength()) - AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, aBuffer.makeStringAndClear()); - } - rtl::OUString sPrintRanges; - table::CellRangeAddress aColumnHeaderRange; - sal_Bool bHasColumnHeader; - GetColumnRowHeader(bHasColumnHeader, aColumnHeaderRange, bHasRowHeader, aRowHeaderRange, sPrintRanges); - if( sPrintRanges.getLength() ) - AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT_RANGES, sPrintRanges ); - else if (!pDoc->IsPrintEntireSheet(static_cast(nTable))) - AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT, XML_FALSE); - SvXMLElementExport aElemT(*this, sElemTab, sal_True, sal_True); - CheckAttrList(); - WriteTableSource(); - WriteScenario(); - uno::Reference xDrawPage; - if (pSharedData->HasForm(nTable, xDrawPage) && xDrawPage.is()) - { - ::xmloff::OOfficeFormsExport aForms(*this); - GetFormExport()->exportForms( xDrawPage ); - sal_Bool bRet(GetFormExport()->seekPage( xDrawPage )); - DBG_ASSERT( bRet, "OFormLayerXMLExport::seekPage failed!" ); - (void)bRet; // avoid warning in product version - } - if (pSharedData->HasDrawPage()) - { - GetShapeExport()->seekShapes(uno::Reference(pSharedData->GetDrawPage(nTable), uno::UNO_QUERY)); - WriteTableShapes(); - } - table::CellRangeAddress aRange(GetEndAddress(xTable, nTable)); - pSharedData->SetLastColumn(nTable, aRange.EndColumn); - pSharedData->SetLastRow(nTable, aRange.EndRow); - pCellsItr->SetCurrentTable(static_cast(nTable), xCurrentTable); - pGroupColumns->NewTable(); - pGroupRows->NewTable(); - FillColumnRowGroups(); - if (bHasColumnHeader) - pSharedData->SetLastColumn(nTable, aColumnHeaderRange.EndColumn); - bRowHeaderOpen = sal_False; - if (bHasRowHeader) - pSharedData->SetLastRow(nTable, aRowHeaderRange.EndRow); - pDefaults->FillDefaultStyles(nTable, pSharedData->GetLastRow(nTable), - pSharedData->GetLastColumn(nTable), pCellStyles, pDoc); - pRowFormatRanges->SetRowDefaults(pDefaults->GetRowDefaults()); - pRowFormatRanges->SetColDefaults(pDefaults->GetColDefaults()); - pCellStyles->SetRowDefaults(pDefaults->GetRowDefaults()); - pCellStyles->SetColDefaults(pDefaults->GetColDefaults()); - ExportColumns(nTable, aColumnHeaderRange, bHasColumnHeader); - sal_Bool bIsFirst(sal_True); - sal_Int32 nEqualCells(0); - ScMyCell aCell; - ScMyCell aPrevCell; - while(pCellsItr->GetNext(aCell, pCellStyles)) - { - if (bIsFirst) + + uno::Reference xProtectable (xTable, uno::UNO_QUERY); + if (xProtectable.is() && xProtectable->isProtected()) + { + AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TRUE); + rtl::OUStringBuffer aBuffer; + if (pDoc) + { + ScTableProtection* pProtect = pDoc->GetTabProtection(static_cast(nTable)); + if (pProtect) + SvXMLUnitConverter::encodeBase64(aBuffer, pProtect->getPasswordHash(PASSHASH_OOO)); + } + if (aBuffer.getLength()) + AddAttribute(XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, aBuffer.makeStringAndClear()); + } + rtl::OUString sPrintRanges; + table::CellRangeAddress aColumnHeaderRange; + sal_Bool bHasColumnHeader; + GetColumnRowHeader(bHasColumnHeader, aColumnHeaderRange, bHasRowHeader, aRowHeaderRange, sPrintRanges); + if( sPrintRanges.getLength() ) + AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT_RANGES, sPrintRanges ); + else if (!pDoc->IsPrintEntireSheet(static_cast(nTable))) + AddAttribute( XML_NAMESPACE_TABLE, XML_PRINT, XML_FALSE); + SvXMLElementExport aElemT(*this, sElemTab, sal_True, sal_True); + CheckAttrList(); + WriteTableSource(); + WriteScenario(); + uno::Reference xDrawPage; + if (pSharedData->HasForm(nTable, xDrawPage) && xDrawPage.is()) { - ExportFormatRanges(0, 0, aCell.aCellAddress.Column - 1, aCell.aCellAddress.Row, nTable); - aPrevCell = aCell; - bIsFirst = sal_False; + ::xmloff::OOfficeFormsExport aForms(*this); + GetFormExport()->exportForms( xDrawPage ); + sal_Bool bRet(GetFormExport()->seekPage( xDrawPage )); + DBG_ASSERT( bRet, "OFormLayerXMLExport::seekPage failed!" ); + (void)bRet; // avoid warning in product version } - else + if (pSharedData->HasDrawPage()) + { + GetShapeExport()->seekShapes(uno::Reference(pSharedData->GetDrawPage(nTable), uno::UNO_QUERY)); + WriteTableShapes(); + } + table::CellRangeAddress aRange(GetEndAddress(xTable, nTable)); + pSharedData->SetLastColumn(nTable, aRange.EndColumn); + pSharedData->SetLastRow(nTable, aRange.EndRow); + pCellsItr->SetCurrentTable(static_cast(nTable), xCurrentTable); + pGroupColumns->NewTable(); + pGroupRows->NewTable(); + FillColumnRowGroups(); + if (bHasColumnHeader) + pSharedData->SetLastColumn(nTable, aColumnHeaderRange.EndColumn); + bRowHeaderOpen = sal_False; + if (bHasRowHeader) + pSharedData->SetLastRow(nTable, aRowHeaderRange.EndRow); + pDefaults->FillDefaultStyles(nTable, pSharedData->GetLastRow(nTable), + pSharedData->GetLastColumn(nTable), pCellStyles, pDoc); + pRowFormatRanges->SetRowDefaults(pDefaults->GetRowDefaults()); + pRowFormatRanges->SetColDefaults(pDefaults->GetColDefaults()); + pCellStyles->SetRowDefaults(pDefaults->GetRowDefaults()); + pCellStyles->SetColDefaults(pDefaults->GetColDefaults()); + ExportColumns(nTable, aColumnHeaderRange, bHasColumnHeader); + sal_Bool bIsFirst(sal_True); + sal_Int32 nEqualCells(0); + ScMyCell aCell; + ScMyCell aPrevCell; + while(pCellsItr->GetNext(aCell, pCellStyles)) { - if ((aPrevCell.aCellAddress.Row == aCell.aCellAddress.Row) && - (aPrevCell.aCellAddress.Column + nEqualCells + 1 == aCell.aCellAddress.Column)) + if (bIsFirst) + { + ExportFormatRanges(0, 0, aCell.aCellAddress.Column - 1, aCell.aCellAddress.Row, nTable); + aPrevCell = aCell; + bIsFirst = sal_False; + } + else { - if(IsCellEqual(aPrevCell, aCell)) - ++nEqualCells; + if ((aPrevCell.aCellAddress.Row == aCell.aCellAddress.Row) && + (aPrevCell.aCellAddress.Column + nEqualCells + 1 == aCell.aCellAddress.Column)) + { + if(IsCellEqual(aPrevCell, aCell)) + ++nEqualCells; + else + { + SetRepeatAttribute(nEqualCells); + WriteCell(aPrevCell); + nEqualCells = 0; + aPrevCell = aCell; + } + } else { SetRepeatAttribute(nEqualCells); WriteCell(aPrevCell); + ExportFormatRanges(aPrevCell.aCellAddress.Column + nEqualCells + 1, aPrevCell.aCellAddress.Row, + aCell.aCellAddress.Column - 1, aCell.aCellAddress.Row, nTable); nEqualCells = 0; aPrevCell = aCell; } } - else - { - SetRepeatAttribute(nEqualCells); - WriteCell(aPrevCell); - ExportFormatRanges(aPrevCell.aCellAddress.Column + nEqualCells + 1, aPrevCell.aCellAddress.Row, - aCell.aCellAddress.Column - 1, aCell.aCellAddress.Row, nTable); - nEqualCells = 0; - aPrevCell = aCell; - } } + if (!bIsFirst) + { + SetRepeatAttribute(nEqualCells); + WriteCell(aPrevCell); + ExportFormatRanges(aPrevCell.aCellAddress.Column + nEqualCells + 1, aPrevCell.aCellAddress.Row, + pSharedData->GetLastColumn(nTable), pSharedData->GetLastRow(nTable), nTable); + } + else + ExportFormatRanges(0, 0, pSharedData->GetLastColumn(nTable), pSharedData->GetLastRow(nTable), nTable); + CloseRow(pSharedData->GetLastRow(nTable)); + nEqualCells = 0; } - if (!bIsFirst) - { - SetRepeatAttribute(nEqualCells); - WriteCell(aPrevCell); - ExportFormatRanges(aPrevCell.aCellAddress.Column + nEqualCells + 1, aPrevCell.aCellAddress.Row, - pSharedData->GetLastColumn(nTable), pSharedData->GetLastRow(nTable), nTable); - } - else - ExportFormatRanges(0, 0, pSharedData->GetLastColumn(nTable), pSharedData->GetLastRow(nTable), nTable); - CloseRow(pSharedData->GetLastRow(nTable)); - nEqualCells = 0; } } - - } IncrementProgressBar(sal_False); } } diff --git a/sc/source/filter/xml/xmlexprt.hxx b/sc/source/filter/xml/xmlexprt.hxx index b71886c1871e..cefc245871b7 100644 --- a/sc/source/filter/xml/xmlexprt.hxx +++ b/sc/source/filter/xml/xmlexprt.hxx @@ -113,6 +113,7 @@ class ScXMLExport : public SvXMLExport rtl::OUString sExternalRefTabStyleName; rtl::OUString sAttrName; rtl::OUString sAttrStyleName; + rtl::OUString sAttrTabColor; rtl::OUString sAttrColumnsRepeated; rtl::OUString sAttrFormula; rtl::OUString sAttrValueType; diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index babccf9a7053..4678d6d246bc 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -772,6 +772,7 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet() {MAP_CHAR_LEN(SC_UNONAME_VALIXML), SC_WID_UNO_VALIXML, &getCppuType((uno::Reference*)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_TABCOLOR), SC_WID_UNO_TABCOLOR, &getCppuType((sal_Int32*)0), 0, 0 }, {0,0,0,0,0,0} }; static SfxItemPropertySet aSheetPropertySet( aSheetPropertyMap_Impl ); @@ -8608,6 +8609,10 @@ void ScTableSheetObj::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn BOOL bAutoPrint = pDoc->IsPrintEntireSheet( nTab ); ScUnoHelpFunctions::SetBoolInAny( rAny, bAutoPrint ); } + else if ( pEntry->nWID == SC_WID_UNO_TABCOLOR ) + { + rAny <<= sal_Int32(pDoc->GetTabBgColor(nTab).GetColor()); + } else ScCellRangeObj::GetOnePropertyValue(pEntry, rAny); } -- cgit From 2ccb52ccae23433c543a9df24e04fae962151229 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 19:44:34 -0500 Subject: calctabcolor: Import tab colors from ods. --- sc/source/filter/xml/xmlimprt.cxx | 1 + sc/source/filter/xml/xmlimprt.hxx | 3 ++- sc/source/filter/xml/xmlsubti.cxx | 37 +++++++++++++++++++++++++------------ sc/source/filter/xml/xmlsubti.hxx | 2 +- sc/source/filter/xml/xmltabi.cxx | 8 +++++++- sc/source/ui/unoobj/cellsuno.cxx | 9 +++++++++ 6 files changed, 45 insertions(+), 15 deletions(-) diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index f2fe367a2c64..96adfab4cf29 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -707,6 +707,7 @@ const SvXMLTokenMap& ScXMLImport::GetTableAttrTokenMap() { XML_NAMESPACE_TABLE, XML_PRINT_RANGES, XML_TOK_TABLE_PRINT_RANGES }, { XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, XML_TOK_TABLE_PASSWORD }, { XML_NAMESPACE_TABLE, XML_PRINT, XML_TOK_TABLE_PRINT }, + { XML_NAMESPACE_TABLE, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR }, XML_TOKEN_MAP_END }; diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index c110c70f72e2..13b4894503cb 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -203,7 +203,8 @@ enum ScXMLTableAttrTokens XML_TOK_TABLE_PROTECTION, XML_TOK_TABLE_PRINT_RANGES, XML_TOK_TABLE_PASSWORD, - XML_TOK_TABLE_PRINT + XML_TOK_TABLE_PRINT, + XML_TOK_TABLE_TAB_COLOR }; enum ScXMLTableScenarioAttrTokens diff --git a/sc/source/filter/xml/xmlsubti.cxx b/sc/source/filter/xml/xmlsubti.cxx index 0f980c4a9608..93b35d10e8aa 100644 --- a/sc/source/filter/xml/xmlsubti.cxx +++ b/sc/source/filter/xml/xmlsubti.cxx @@ -40,6 +40,7 @@ #include "document.hxx" #include "markdata.hxx" #include "XMLConverter.hxx" +#include "unonames.hxx" #include "docuno.hxx" #include "cellsuno.hxx" #include "XMLStylesImportHelper.hxx" @@ -64,6 +65,10 @@ #include +using ::com::sun::star::uno::UNO_QUERY; +using ::com::sun::star::uno::Reference; +using ::com::sun::star::uno::Any; +using ::rtl::OUString; using ::std::auto_ptr; //------------------------------------------------------------------ @@ -176,7 +181,7 @@ ScMyTables::~ScMyTables() } void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& sStyleName, - const sal_Bool bTempProtection, const rtl::OUString& sTempPassword) + const sal_Bool bTempProtection, const rtl::OUString& sTempPassword, sal_Int32 nTabColor) { if (rImport.GetModel().is()) { @@ -251,19 +256,19 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& } rImport.SetTableStyle(sStyleName); - if ( sStyleName.getLength() ) + Reference xProperties(xCurrentSheet, UNO_QUERY); + if (xProperties.is()) { - // #i57869# All table style properties for all sheets are now applied here, - // before importing the contents. - // This is needed for the background color. - // Sheet visibility has special handling in ScDocFunc::SetTableVisible to - // allow hiding the first sheet. - // RTL layout is only remembered, not actually applied, so the shapes can - // be loaded before mirroring. - - uno::Reference xProperties(xCurrentSheet, uno::UNO_QUERY); - if (xProperties.is()) + if ( sStyleName.getLength() ) { + // #i57869# All table style properties for all sheets are now applied here, + // before importing the contents. + // This is needed for the background color. + // Sheet visibility has special handling in ScDocFunc::SetTableVisible to + // allow hiding the first sheet. + // RTL layout is only remembered, not actually applied, so the shapes can + // be loaded before mirroring. + XMLTableStylesContext *pStyles = (XMLTableStylesContext *)rImport.GetAutoStyles(); if (pStyles) { @@ -278,6 +283,14 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& } } } + + if (static_cast(nTabColor) != COL_AUTO) + { + // Set tab color. + Any any; + any <<= nTabColor; + xProperties->setPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR), any); + } } } diff --git a/sc/source/filter/xml/xmlsubti.hxx b/sc/source/filter/xml/xmlsubti.hxx index c5a16e2c3ef4..a4800e2977db 100644 --- a/sc/source/filter/xml/xmlsubti.hxx +++ b/sc/source/filter/xml/xmlsubti.hxx @@ -147,7 +147,7 @@ public: ScMyTables(ScXMLImport& rImport); ~ScMyTables(); void NewSheet(const rtl::OUString& sTableName, const rtl::OUString& sStyleName, - const sal_Bool bProtection, const rtl::OUString& sPassword); + const sal_Bool bProtection, const rtl::OUString& sPassword, sal_Int32 nTabColor); void AddRow(); void SetRowStyle(const rtl::OUString& rCellStyleName); void AddColumn(sal_Bool bIsCovered); diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx index 8ea9701ecd32..48c3b5175f88 100644 --- a/sc/source/filter/xml/xmltabi.cxx +++ b/sc/source/filter/xml/xmltabi.cxx @@ -52,6 +52,8 @@ #include "externalrefmgr.hxx" #include "sheetdata.hxx" +#include "tools/color.hxx" + #include #include #include @@ -161,6 +163,7 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, rtl::OUString sName; rtl::OUString sStyleName; rtl::OUString sPassword; + sal_Int32 nTabColor = static_cast(COL_AUTO); sal_Int16 nAttrCount(xAttrList.is() ? xAttrList->getLength() : 0); const SvXMLTokenMap& rAttrTokenMap = GetScImport().GetTableAttrTokenMap(); for( sal_Int16 i=0; i < nAttrCount; ++i ) @@ -194,6 +197,9 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, bPrintEntireSheet = sal_False; } break; + case XML_TOK_TABLE_TAB_COLOR: + nTabColor = sValue.toInt32(); + break; } } @@ -214,7 +220,7 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, else { // This is a regular table. - GetScImport().GetTables().NewSheet(sName, sStyleName, bProtection, sPassword); + GetScImport().GetTables().NewSheet(sName, sStyleName, bProtection, sPassword, nTabColor); } } else diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 4678d6d246bc..ed20d3e33a79 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -8471,6 +8471,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_TABCOLOR ) + { + sal_Int32 nColor; + if (aValue >>= nColor) + { + if (static_cast(nColor) != COL_AUTO) + pDoc->SetTabBgColor(nTab, Color(static_cast(nColor))); + } + } else ScCellRangeObj::SetOnePropertyValue(pEntry, aValue); // base class, no Item WID } -- cgit From 92d0c12c4a0bfdf06d98eae121b69a82802b43e3 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 20:31:40 -0500 Subject: calctabcolor: Changing a tab color should set the stream invalid, in order to save the tab color attribute to the sheet during export. --- sc/source/core/data/table1.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index eca154bb2632..b0c09dbafd38 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -286,7 +286,13 @@ const Color& ScTable::GetTabBgColor() const void ScTable::SetTabBgColor(const Color& rColor) { - aTabBgColor = rColor; + if (aTabBgColor != rColor) + { + // The tab color has changed. Set this table 'modified'. + aTabBgColor = rColor; + if (IsStreamValid()) + SetStreamValid(false); + } } void ScTable::SetScenario( BOOL bFlag ) -- cgit From 4919363903eff9c4dedca22a2c087a7808b3c027 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 21:59:44 -0500 Subject: calctabcolor: Tab color is an attribute for extended ODF 1.2. Treat it as such. --- sc/source/filter/xml/xmlexprt.cxx | 24 ++++++++++++++---------- sc/source/filter/xml/xmlimprt.cxx | 15 ++++++++------- sc/source/filter/xml/xmlimprt.hxx | 3 ++- sc/source/filter/xml/xmltabi.cxx | 1 + 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index 6bb252bc546d..349520ef7380 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -532,7 +532,7 @@ ScXMLExport::ScXMLExport( sAttrName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NAME)); sAttrStyleName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_STYLE_NAME)); - sAttrTabColor = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_TAB_COLOR)); + sAttrTabColor = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE_EXT, GetXMLToken(XML_TAB_COLOR)); sAttrColumnsRepeated = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NUMBER_COLUMNS_REPEATED)); sAttrFormula = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_FORMULA)); sAttrStringValue = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OFFICE, GetXMLToken(XML_STRING_VALUE)); @@ -1725,17 +1725,21 @@ void ScXMLExport::_ExportContent() AddAttribute(sAttrName, sOUTableName); AddAttribute(sAttrStyleName, aTableStyles[nTable]); - uno::Reference xPropSet(xTable, UNO_QUERY); - if (xPropSet.is()) + if (getDefaultVersion() == SvtSaveOptions::ODFVER_LATEST) { - // Tab color for this table, if exists. - uno::Any any; - any = xPropSet->getPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR)); - sal_Int32 nColor; - if (any >>= nColor) + // Save only for the extended ODF 1.2 and beyond. + uno::Reference xPropSet(xTable, UNO_QUERY); + if (xPropSet.is()) { - if (static_cast(nColor) != COL_AUTO) - AddAttribute(sAttrTabColor, OUString::valueOf(nColor)); + // Tab color for this table, if exists. + uno::Any any; + any = xPropSet->getPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR)); + sal_Int32 nColor; + if (any >>= nColor) + { + if (static_cast(nColor) != COL_AUTO) + AddAttribute(sAttrTabColor, OUString::valueOf(nColor)); + } } } diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index 96adfab4cf29..7a436ec58446 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -701,13 +701,14 @@ const SvXMLTokenMap& ScXMLImport::GetTableAttrTokenMap() { static __FAR_DATA SvXMLTokenMapEntry aTableAttrTokenMap[] = { - { XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_TABLE_NAME }, - { XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_STYLE_NAME }, - { XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TOK_TABLE_PROTECTION }, - { XML_NAMESPACE_TABLE, XML_PRINT_RANGES, XML_TOK_TABLE_PRINT_RANGES }, - { XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, XML_TOK_TABLE_PASSWORD }, - { XML_NAMESPACE_TABLE, XML_PRINT, XML_TOK_TABLE_PRINT }, - { XML_NAMESPACE_TABLE, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR }, + { XML_NAMESPACE_TABLE, XML_NAME, XML_TOK_TABLE_NAME }, + { XML_NAMESPACE_TABLE, XML_STYLE_NAME, XML_TOK_TABLE_STYLE_NAME }, + { XML_NAMESPACE_TABLE, XML_PROTECTED, XML_TOK_TABLE_PROTECTION }, + { XML_NAMESPACE_TABLE, XML_PRINT_RANGES, XML_TOK_TABLE_PRINT_RANGES }, + { XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, XML_TOK_TABLE_PASSWORD }, + { XML_NAMESPACE_TABLE, XML_PRINT, XML_TOK_TABLE_PRINT }, + { XML_NAMESPACE_TABLE, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR }, + { XML_NAMESPACE_TABLE_EXT, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR_EXT }, XML_TOKEN_MAP_END }; diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index 13b4894503cb..229c6cd2d37c 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -204,7 +204,8 @@ enum ScXMLTableAttrTokens XML_TOK_TABLE_PRINT_RANGES, XML_TOK_TABLE_PASSWORD, XML_TOK_TABLE_PRINT, - XML_TOK_TABLE_TAB_COLOR + XML_TOK_TABLE_TAB_COLOR, + XML_TOK_TABLE_TAB_COLOR_EXT, }; enum ScXMLTableScenarioAttrTokens diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx index 48c3b5175f88..d2af3ee3288e 100644 --- a/sc/source/filter/xml/xmltabi.cxx +++ b/sc/source/filter/xml/xmltabi.cxx @@ -198,6 +198,7 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, } break; case XML_TOK_TABLE_TAB_COLOR: + case XML_TOK_TABLE_TAB_COLOR_EXT: nTabColor = sValue.toInt32(); break; } -- cgit From 6db6969532e2e4761d7ec1c1486983d6ed23192d Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 22 Feb 2010 22:45:22 -0500 Subject: calctabcolor: Reworked Excel import/export to get them to work. --- sc/inc/document.hxx | 6 +++--- sc/inc/scextopt.hxx | 2 -- sc/source/filter/excel/xeview.cxx | 14 +++++++------- sc/source/filter/excel/xiview.cxx | 2 +- sc/source/ui/view/scextopt.cxx | 3 +-- sc/source/ui/view/viewdata.cxx | 6 ------ 6 files changed, 12 insertions(+), 21 deletions(-) diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index b3591e9ac03f..39fe74b30669 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -588,9 +588,9 @@ public: Color& rColor, USHORT& rFlags ) const; SC_DLLPUBLIC void SetScenarioData( SCTAB nTab, const String& rComment, const Color& rColor, USHORT nFlags ); - Color GetTabBgColor( SCTAB nTab ) const; - void SetTabBgColor( SCTAB nTab, const Color& rColor ); - bool IsDefaultTabBgColor( SCTAB nTab ) const; + SC_DLLPUBLIC Color GetTabBgColor( SCTAB nTab ) const; + SC_DLLPUBLIC void SetTabBgColor( SCTAB nTab, const Color& rColor ); + SC_DLLPUBLIC bool IsDefaultTabBgColor( SCTAB nTab ) const; void GetScenarioFlags( SCTAB nTab, USHORT& rFlags ) const; SC_DLLPUBLIC BOOL IsActiveScenario( SCTAB nTab ) const; SC_DLLPUBLIC void SetActiveScenario( SCTAB nTab, BOOL bActive ); // nur fuer Undo etc. diff --git a/sc/inc/scextopt.hxx b/sc/inc/scextopt.hxx index be774ab69c66..fdf05430cc69 100644 --- a/sc/inc/scextopt.hxx +++ b/sc/inc/scextopt.hxx @@ -80,8 +80,6 @@ struct ScExtTabSettings bool mbSelected; /// true = Sheet is selected. bool mbFrozenPanes; /// true = Frozen panes; false = Normal splits. bool mbPageMode; /// true = Pagebreak mode; false = Normal view mode. - Color maTabBgColor; /// Tab Bg Color - bool IsDefaultTabBgColor() const { return maTabBgColor == Color(COL_AUTO) ? TRUE : FALSE; }; explicit ScExtTabSettings(); }; diff --git a/sc/source/filter/excel/xeview.cxx b/sc/source/filter/excel/xeview.cxx index 7e06ff9cf412..4426a9f54590 100644 --- a/sc/source/filter/excel/xeview.cxx +++ b/sc/source/filter/excel/xeview.cxx @@ -397,14 +397,14 @@ XclExpTabViewSettings::XclExpTabViewSettings( const XclExpRoot& rRoot, SCTAB nSc maData.mnNormalZoom = lclGetXclZoom( rTabSett.mnNormalZoom, EXC_WIN2_NORMALZOOM_DEF ); maData.mnPageZoom = lclGetXclZoom( rTabSett.mnPageZoom, EXC_WIN2_PAGEZOOM_DEF ); maData.mnCurrentZoom = maData.mbPageMode ? maData.mnPageZoom : maData.mnNormalZoom; + } - // Tab Bg Color - if ( GetBiff() == EXC_BIFF8 && !rTabSett.IsDefaultTabBgColor() ) - { - XclExpPalette& rPal = GetPalette(); - maData.maTabBgColor = rTabSett.maTabBgColor; - maData.mnTabBgColorId = rPal.InsertColor(maData.maTabBgColor, EXC_COLOR_TABBG, EXC_COLOR_NOTABBG ); - } + // Tab Bg Color + if ( GetBiff() == EXC_BIFF8 && !GetDoc().IsDefaultTabBgColor(nScTab) ) + { + XclExpPalette& rPal = GetPalette(); + maData.maTabBgColor = GetDoc().GetTabBgColor(nScTab); + maData.mnTabBgColorId = rPal.InsertColor(maData.maTabBgColor, EXC_COLOR_TABBG, EXC_COLOR_NOTABBG ); } } diff --git a/sc/source/filter/excel/xiview.cxx b/sc/source/filter/excel/xiview.cxx index fbd72d02e9f8..dd005b8c5567 100644 --- a/sc/source/filter/excel/xiview.cxx +++ b/sc/source/filter/excel/xiview.cxx @@ -300,7 +300,7 @@ void XclImpTabViewSettings::Finalize() // *** set tab bg color if ( !maData.IsDefaultTabBgColor() ) - rTabSett.maTabBgColor = maData.maTabBgColor; + rDoc.SetTabBgColor(nScTab, maData.maTabBgColor); } // ============================================================================ diff --git a/sc/source/ui/view/scextopt.cxx b/sc/source/ui/view/scextopt.cxx index bac31b006258..e6b4a3d0c20e 100644 --- a/sc/source/ui/view/scextopt.cxx +++ b/sc/source/ui/view/scextopt.cxx @@ -61,8 +61,7 @@ ScExtTabSettings::ScExtTabSettings() : mnPageZoom( 0 ), mbSelected( false ), mbFrozenPanes( false ), - mbPageMode( false ), - maTabBgColor( COL_AUTO) + mbPageMode( false ) { } diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index 2ee2e8771805..28812cc635d9 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -2687,12 +2687,6 @@ void ScViewData::ReadExtOptions( const ScExtDocOptions& rDocOpt ) update map modes that are needed to draw text correctly. */ SetPagebreakMode( rTabSett.mbPageMode ); } - - // Tab Bg Color - if( !rTabSett.IsDefaultTabBgColor() ) - { -// rViewTab.aTabBgColor = rTabSett.maTabBgColor; - } } } -- cgit From 6c3233bfd4d23e352dee0c297d4724cb125a417c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 23 Feb 2010 10:35:23 +0100 Subject: vitomation01: #i108621 - Reworked tEditFields to use InsertFieldsTime which should insert a valid field for all languages/locales without the need to update the tst each time a new language is added to the testtool environment. Removed test for HTML document as it was a copy of tEditFields just running with different gApplication. If it should be desired to have a separate test for HTML documents it is sufficient to call the new test with gApplication HTML. --- testautomation/writer/required/includes/w_002_.inc | 265 +++------------------ 1 file changed, 33 insertions(+), 232 deletions(-) diff --git a/testautomation/writer/required/includes/w_002_.inc b/testautomation/writer/required/includes/w_002_.inc index 1665b9aed268..b5020717dc99 100755 --- a/testautomation/writer/required/includes/w_002_.inc +++ b/testautomation/writer/required/includes/w_002_.inc @@ -66,11 +66,6 @@ sub w_002_ Call tEditImageMap Call tEditObjectEdit - 'Writer Web - gApplication = "HTML" - Call tHtmlDocEditFields - gApplication = "WRITER" - 'Writer Master Document gApplication = "MASTERDOCUMENT" Call tMasterDocEditNavigator @@ -984,148 +979,51 @@ endcase '---------------------------------------------------------------- testcase tEditFields - PrintLog "- Edit/Fields" - PrintLog "Open new document" - Call hNewDocument + PrintLog( "Edit/Fields: Edit Fields dialog: " & gApplication ) - PrintLog "Select Insert / Fields Other" - InsertFieldsOther - Kontext - Active.Setpage TabDokumentFeldbefehle - Kontext "TabDokumentFeldbefehle" - Sleep 1 - PrintLog "Insert Field 'Sender -> Company'" - Select Case gApplication - Case "HTML" - Select case iSprache - case 01 : Feldtyp.Select 5 'Sender - Auswahl.Select 1 'Company - case 03 : Feldtyp.Select 8 - Auswahl.Select 1 - case 07 : Feldtyp.Select 5 - Auswahl.Select 1 - case 31 : Feldtyp.Select 1 - Auswahl.Select 1 - case 33 : Feldtyp.Select 2 - Auswahl.Select 1 - case 34 : Feldtyp.Select 6 - Auswahl.Select 1 - case 36 : Feldtyp.Select 3 - Auswahl.Select 1 - case 39 : Feldtyp.Select 3 - Auswahl.Select 1 - case 45 : Feldtyp.Select 1 - Auswahl.Select 1 - case 46 : Feldtyp.Select 2 - Auswahl.Select 1 - case 48 : Feldtyp.Select 3 - Auswahl.Select 1 - case 49 : Feldtyp.Select 1 - Auswahl.Select 1 - case 51 : Feldtyp.Select 5 - Auswahl.Select 1 - case 52 : Feldtyp.Select 5 - Auswahl.Select 1 - case 55 : Feldtyp.Select 7 - Auswahl.Select 1 - case 81 : Feldtyp.Select 4 - Auswahl.Select 1 - case 82 : Feldtyp.Select 2 - Auswahl.Select 1 - case 84 : Feldtyp.Select 3 - Auswahl.Select 1 - case 86 : Feldtyp.Select 1 - Auswahl.Select 1 - case 88 : Feldtyp.Select 2 - Auswahl.Select 1 - - case else : Warnlog "Missing language support!" - TabDokumentFeldbefehle.Cancel - PrintLog "Close active document" - Call hCloseDocument - goto endsub - end select - Case else - Select case iSprache - case 01 : Feldtyp.Select 6 'Sender - Auswahl.Select 1 'Company - case 03 : Feldtyp.Select 9 - Auswahl.Select 1 - case 07 : Feldtyp.Select 6 - Auswahl.Select 1 - case 31 : Feldtyp.Select 1 - Auswahl.Select 1 - case 33 : Feldtyp.Select 3 - Auswahl.Select 1 - case 34 : Feldtyp.Select 8 - Auswahl.Select 1 - case 36 : Feldtyp.Select 4 - Auswahl.Select 1 - case 39 : Feldtyp.Select 4 - Auswahl.Select 1 - case 45 : Feldtyp.Select 1 - Auswahl.Select 1 - case 46 : Feldtyp.Select 2 - Auswahl.Select 1 - case 48 : Feldtyp.Select 3 - Auswahl.Select 1 - case 49 : Feldtyp.Select 1 - Auswahl.Select 1 - case 51 : Feldtyp.Select 6 - Auswahl.Select 1 - case 52 : Feldtyp.Select 6 - Auswahl.Select 1 - case 55 : Feldtyp.Select 9 - Auswahl.Select 1 - case 81 : Feldtyp.Select 5 - Auswahl.Select 1 - case 82 : Feldtyp.Select 2 - Auswahl.Select 2 - case 84 : Feldtyp.Select 5 - Auswahl.Select 1 - case 86 : Feldtyp.Select 1 - Auswahl.Select 1 - case 88 : Feldtyp.Select 2 - Auswahl.Select 1 - - case else : Warnlog "Missing language support!" - TabDokumentFeldbefehle.Cancel - PrintLog "Close active document" - Call hCloseDocument - goto endsub - end select - end select + PrintLog( "Open new document" ) + Call hNewDocument() - Einfuegen.Click - Wait (400) - PrintLog "Close Fields dialog" - Schliessen.Click + InsertFieldsTime + WaitSlot() - PrintLog "Put cursor in front of field" + PrintLog( "Move cursor infront of field (start of document)" ) Call wTypeKeys("") - PrintLog "Edit / Fields" + PrintLog( "Edit / Fields" ) EditFields - WaitSlot (2000) - + Kontext "FeldbefehlBearbeitenDokument" - Call DialogTest ( FeldbefehlBearbeitenDokument ) + if ( FeldbefehlBearbeitenDokument.exists( 2 ) ) then + Call DialogTest ( FeldbefehlBearbeitenDokument ) + + PrintLog( "In 'Edit Fields' dialog select 'Edit'" ) + if ( Bearbeiten.IsVisible() and Bearbeiten.IsEnabled() ) then + Bearbeiten.Click() + + Kontext "TabBenutzerdaten" + if ( TabBenutzerdaten.exists( 2 ) ) then + printlog( " is open. Good." ) + call DialogTest( TabBenutzerdaten ) + hCloseDialog( TabBenutzerdaten, "cancel", 1 ) + else + warnlog( " did not open" ) + endif + else + Warnlog( "Button 'Edit' in Dialog disabled!" ) + endif - PrintLog "In 'Edit Fields' dialog select 'Edit'" - if Bearbeiten.IsVisible and Bearbeiten.IsEnabled then - Bearbeiten.Click - Kontext "TabBenutzerdaten" - TabBenutzerdaten.Cancel + PrintLog( "Close dialog" ) Kontext "FeldbefehlBearbeitenDokument" + hCloseDialog( FeldbefehlBearbeitenDokument, "cancel", 1 ) else - Warnlog "Button 'Edit' in Dialog disabled!" - end if + warnlog( " did not open" ) + endif + + PrintLog( "Close active document" ) + Call hCloseDocument() - PrintLog "Close dialog" - FeldbefehlBearbeitenDokument.Cancel - PrintLog "Close active document" - Call hCloseDocument endcase '---------------------------------------------------------------- @@ -1380,103 +1278,6 @@ endcase '---------------------------------------------------------------- -testcase tHtmlDocEditFields - PrintLog "- Edit/Fields" - - gApplication = "HTML" - PrintLog "Open new document" - Call hNewDocument - - PrintLog "Select Insert / Fields Other" - InsertFieldsOther - Kontext - Active.Setpage TabDokumentFeldbefehle - Kontext "TabDokumentFeldbefehle" - Sleep 1 - PrintLog "Insert Field 'Sender -> Company'" - Select case iSprache - case 01 : Feldtyp.Select 5 'Sender - Auswahl.Select 1 'Company - case 03 : Feldtyp.Select 8 - Auswahl.Select 1 - case 07 : Feldtyp.Select 5 - Auswahl.Select 1 - case 31 : Feldtyp.Select 1 - Auswahl.Select 1 - case 33 : Feldtyp.Select 2 - Auswahl.Select 1 - case 34 : Feldtyp.Select 6 - Auswahl.Select 1 - case 36 : Feldtyp.Select 3 - Auswahl.Select 1 - case 39 : Feldtyp.Select 3 - Auswahl.Select 1 - case 45 : Feldtyp.Select 1 - Auswahl.Select 1 - case 46 : Feldtyp.Select 2 - Auswahl.Select 1 - case 48 : Feldtyp.Select 3 - Auswahl.Select 1 - case 49 : Feldtyp.Select 1 - Auswahl.Select 1 - case 51 : Feldtyp.Select 5 - Auswahl.Select 1 - case 52 : Feldtyp.Select 5 - Auswahl.Select 1 - case 55 : Feldtyp.Select 7 - Auswahl.Select 1 - case 81 : Feldtyp.Select 4 - Auswahl.Select 1 - case 82 : Feldtyp.Select 2 - Auswahl.Select 1 - case 84 : Feldtyp.Select 3 - Auswahl.Select 1 - case 86 : Feldtyp.Select 1 - Auswahl.Select 1 - case 88 : Feldtyp.Select 2 - Auswahl.Select 1 - - case else : Warnlog "Missing language support!" - TabDokumentFeldbefehle.Cancel - PrintLog "Close active document" - Call hCloseDocument - goto endsub - end select - - Einfuegen.Click - Wait (400) - PrintLog "Close Fields dialog" - Schliessen.Click - - PrintLog "Put cursor in front of field" - Call wTypeKeys("") - - PrintLog "Edit / Fields" - EditFields - WaitSlot (2000) - - Kontext "FeldbefehlBearbeitenDokument" - Call DialogTest ( FeldbefehlBearbeitenDokument ) - - PrintLog "In 'Edit Fields' dialog select 'Edit'" - if Bearbeiten.IsVisible and Bearbeiten.IsEnabled then - Bearbeiten.Click - Kontext "TabBenutzerdaten" - TabBenutzerdaten.Cancel - Kontext "FeldbefehlBearbeitenDokument" - else - Warnlog "Button 'Edit' in Dialog disabled!" - end if - - PrintLog "Close dialog" - FeldbefehlBearbeitenDokument.Cancel - PrintLog "Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'---------------------------------------------------------------- - testcase tMasterDocEditNavigator printlog "- View/Navigator" Dim ToolboxOk as boolean -- cgit From 7b987f633142d3acb3ba6dc3d0eca3b6af425873 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 23 Feb 2010 10:49:35 +0100 Subject: vitomation01: #i108621 - Added function to close a dialog with timeout using three different methods. Using this function removes the need to use sleep() and can significantly reduce the coding effort. --- .../global/tools/includes/required/t_tools3.inc | 37 ++++++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index c2e976659e2b..0c19a993e9c7 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1,5 +1,5 @@ 'encoding UTF-8 Do not remove or change this line! -'************************************************************************** +'******************************************************************************* '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. '* '* Copyright 2008 by Sun Microsystems, Inc. @@ -29,13 +29,13 @@ '* '* for a copy of the LGPLv3 License. '* -'/************************************************************************ +'/****************************************************************************** '* '* owner : helge.delfs@sun.com '* '* short description : Global Tools III '* -'\************************************************************************************* +'\****************************************************************************** sub hToolbarSelect( sType as string, sOpen as boolean, optional SetToDefault as boolean ) @@ -979,3 +979,34 @@ function hIsAccessbridgeInstalled() as boolean hIsAccessbridgeInstalled = AccessbridgeIsInstalled end function + +'------------------------------------------------------------------------------- + +function hCloseDialog( oDialog as object, sMethod as string, iTimeout as integer ) as boolean + + ' this function closes a dialog providing three different methods while + ' removing the need for static sleep statements + + const CFN = "global::tools::includes::required::t_tools3.inc:hCloseDialog" + + dim sClosingMethod as string : sClosingMethod = lcase( _sMethod ) + hCloseDialog() = FALSE ' Set default returnvalue, assume failure + + printlog( "Closing dialog <" & oDialog.name() & "." & sClosingMethod ) + + ' prevent misuse + if ( iTimeout < 1 or iTimeout > 10 ) then + warnlog( CFN & "Please select a timeout between 1 and 10 seconds" ) + exit function + endif + + select case( sClosingMethod ) + case "close" : oDialog.close() + case "cancel": oDialog.cancel() + case "ok" : oDialog.ok() + case else : warnlog( CFN & " Allowed closing methods are , and " ) + end case + + if ( oDialog.notExists( iTimeout ) ) then hCloseDialog() = TRUE + +end function \ No newline at end of file -- cgit From de2b208848cd416a1b9a63f7cc662d653b06a04b Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 10:52:09 -0500 Subject: calctabcolor: Re-worked the xlsx import of tab colors, to treat them as sheet properties. --- oox/inc/oox/xls/viewsettings.hxx | 3 --- oox/source/xls/viewsettings.cxx | 9 --------- oox/source/xls/worksheetfragment.cxx | 4 +--- oox/source/xls/worksheethelper.cxx | 2 ++ oox/source/xls/worksheetsettings.cxx | 21 ++++++++++++++++++++- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/oox/inc/oox/xls/viewsettings.hxx b/oox/inc/oox/xls/viewsettings.hxx index 6ba7c0620b66..f18d0371c6c2 100644 --- a/oox/inc/oox/xls/viewsettings.hxx +++ b/oox/inc/oox/xls/viewsettings.hxx @@ -83,7 +83,6 @@ struct SheetViewModel bool mbShowZeros; /// True = show zero value zells. bool mbShowOutline; /// True = show outlines. bool mbZoomToFit; /// True = zoom chart sheet to fit window. - Color maTabColor; /// Sheet tab color. (TODO: Move to sheet settings later.) explicit SheetViewModel(); @@ -115,8 +114,6 @@ public: /** Imports the sheetView element containing sheet view settings. */ void importSheetView( const AttributeList& rAttribs ); - /** Imports the tabcolor element containing tab color settings. */ - void importTabColor( const AttributeList& rAttribs ); /** Imports the pane element containing sheet pane settings. */ void importPane( const AttributeList& rAttribs ); /** Imports the selection element containing selection settings for a pane. */ diff --git a/oox/source/xls/viewsettings.cxx b/oox/source/xls/viewsettings.cxx index 4eaa66824457..2d53541b404c 100644 --- a/oox/source/xls/viewsettings.cxx +++ b/oox/source/xls/viewsettings.cxx @@ -251,12 +251,6 @@ void SheetViewSettings::importSheetView( const AttributeList& rAttribs ) rModel.mbShowOutline = rAttribs.getBool( XML_showOutlineSymbols, true ); } -void SheetViewSettings::importTabColor( const AttributeList& rAttribs ) -{ - SheetViewModel& rModel = maSheetViews.empty() ? *createSheetView() : *maSheetViews.back(); - rModel.maTabColor.importColor( rAttribs ); -} - void SheetViewSettings::importPane( const AttributeList& rAttribs ) { OSL_ENSURE( !maSheetViews.empty(), "SheetViewSettings::importPane - missing sheet view model" ); @@ -597,9 +591,6 @@ void SheetViewSettings::finalizeImport() aPropMap[ PROP_ShowZeroValues ] <<= xModel->mbShowZeros; aPropMap[ PROP_IsOutlineSymbolsSet ] <<= xModel->mbShowOutline; - if (!xModel->maTabColor.isAuto()) - aPropMap[ PROP_TabColor ] <<= static_cast< sal_Int32 >(xModel->maTabColor.getColor(getBaseFilter())); - // store sheet view settings in global view settings object getViewSettings().setSheetViewSettings( getSheetIndex(), xModel, Any( aPropMap.makePropertyValueSequence() ) ); } diff --git a/oox/source/xls/worksheetfragment.cxx b/oox/source/xls/worksheetfragment.cxx index fda62feb328c..37c1adf660f1 100644 --- a/oox/source/xls/worksheetfragment.cxx +++ b/oox/source/xls/worksheetfragment.cxx @@ -299,9 +299,7 @@ ContextHandlerRef OoxWorksheetFragment::onCreateContext( sal_Int32 nElement, con case XLS_TOKEN( sheetPr ): switch( nElement ) { -// TODO: Treat tab color as a sheet setting later. -// case XLS_TOKEN( tabColor ): getWorksheetSettings().importTabColor( rAttribs ); break; - case XLS_TOKEN( tabColor ): getSheetViewSettings().importTabColor( rAttribs ); break; + case XLS_TOKEN( tabColor ): getWorksheetSettings().importTabColor( rAttribs ); break; case XLS_TOKEN( outlinePr ): getWorksheetSettings().importOutlinePr( rAttribs ); break; case XLS_TOKEN( pageSetUpPr ): importPageSetUpPr( rAttribs ); break; } diff --git a/oox/source/xls/worksheethelper.cxx b/oox/source/xls/worksheethelper.cxx index ab2d5c1b1946..68c9c52c83ab 100644 --- a/oox/source/xls/worksheethelper.cxx +++ b/oox/source/xls/worksheethelper.cxx @@ -1000,6 +1000,8 @@ void WorksheetData::finalizeWorksheetImport() maCondFormats.finalizeImport(); maPageSett.finalizeImport(); maSheetViewSett.finalizeImport(); + maSheetSett.finalizeImport(); + lclUpdateProgressBar( mxFinalProgress, 0.5 ); convertColumns(); convertRows(); diff --git a/oox/source/xls/worksheetsettings.cxx b/oox/source/xls/worksheetsettings.cxx index c05e471e6814..f9b50c8bc8f2 100644 --- a/oox/source/xls/worksheetsettings.cxx +++ b/oox/source/xls/worksheetsettings.cxx @@ -29,14 +29,18 @@ ************************************************************************/ #include "oox/xls/worksheetsettings.hxx" -#include #include "oox/helper/attributelist.hxx" #include "oox/helper/recordinputstream.hxx" #include "oox/xls/biffinputstream.hxx" #include "oox/xls/pagesettings.hxx" #include "oox/xls/workbooksettings.hxx" +#include +#include + using ::rtl::OUString; +using ::com::sun::star::beans::XPropertySet; +using ::com::sun::star::uno::Any; using ::com::sun::star::uno::Exception; using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::UNO_QUERY_THROW; @@ -311,6 +315,21 @@ void WorksheetSettings::finalizeImport() catch( Exception& ) { } + + if (!maSheetSettings.maTabColor.isAuto()) + { + sal_Int32 nColor = maSheetSettings.maTabColor.getColor(getBaseFilter()); + try + { + Reference< XPropertySet > xPropSet( getSheet(), UNO_QUERY_THROW ); + Any any; + any <<= nColor; + xPropSet->setPropertyValue( CREATE_OUSTRING("TabColor"), any ); + } + catch ( Exception& ) + { + } + } } // ============================================================================ -- cgit From bb701f84b482b917230ccf471796568f6b082968 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 11:00:52 -0500 Subject: calctabcolor: Use PropertySet to set property to sheet. --- oox/source/xls/worksheetsettings.cxx | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/oox/source/xls/worksheetsettings.cxx b/oox/source/xls/worksheetsettings.cxx index f9b50c8bc8f2..a7817c02327f 100644 --- a/oox/source/xls/worksheetsettings.cxx +++ b/oox/source/xls/worksheetsettings.cxx @@ -34,9 +34,9 @@ #include "oox/xls/biffinputstream.hxx" #include "oox/xls/pagesettings.hxx" #include "oox/xls/workbooksettings.hxx" +#include "properties.hxx" #include -#include using ::rtl::OUString; using ::com::sun::star::beans::XPropertySet; @@ -319,16 +319,8 @@ void WorksheetSettings::finalizeImport() if (!maSheetSettings.maTabColor.isAuto()) { sal_Int32 nColor = maSheetSettings.maTabColor.getColor(getBaseFilter()); - try - { - Reference< XPropertySet > xPropSet( getSheet(), UNO_QUERY_THROW ); - Any any; - any <<= nColor; - xPropSet->setPropertyValue( CREATE_OUSTRING("TabColor"), any ); - } - catch ( Exception& ) - { - } + PropertySet aSheetProp(getSheet()); + aSheetProp.setProperty(PROP_TabColor, nColor); } } -- cgit From 3aeb34649fb15f829095496ae22f3167cb10b093 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 12:16:23 -0500 Subject: calctabcolor: Switch to using style:table-properties to store the tab color, as discussed on the ODF TC's mailing list. --- sc/source/filter/xml/xmlexprt.cxx | 19 ------------------- sc/source/filter/xml/xmlexprt.hxx | 1 - sc/source/filter/xml/xmlimprt.cxx | 2 -- sc/source/filter/xml/xmlimprt.hxx | 4 +--- sc/source/filter/xml/xmlstyle.cxx | 3 +++ sc/source/filter/xml/xmlsubti.cxx | 37 ++++++++++++------------------------- sc/source/filter/xml/xmlsubti.hxx | 2 +- sc/source/filter/xml/xmltabi.cxx | 9 +-------- 8 files changed, 18 insertions(+), 59 deletions(-) diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index 349520ef7380..ca286a980f96 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -532,7 +532,6 @@ ScXMLExport::ScXMLExport( sAttrName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NAME)); sAttrStyleName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_STYLE_NAME)); - sAttrTabColor = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE_EXT, GetXMLToken(XML_TAB_COLOR)); sAttrColumnsRepeated = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_NUMBER_COLUMNS_REPEATED)); sAttrFormula = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_TABLE, GetXMLToken(XML_FORMULA)); sAttrStringValue = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OFFICE, GetXMLToken(XML_STRING_VALUE)); @@ -1725,24 +1724,6 @@ void ScXMLExport::_ExportContent() AddAttribute(sAttrName, sOUTableName); AddAttribute(sAttrStyleName, aTableStyles[nTable]); - if (getDefaultVersion() == SvtSaveOptions::ODFVER_LATEST) - { - // Save only for the extended ODF 1.2 and beyond. - uno::Reference xPropSet(xTable, UNO_QUERY); - if (xPropSet.is()) - { - // Tab color for this table, if exists. - uno::Any any; - any = xPropSet->getPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR)); - sal_Int32 nColor; - if (any >>= nColor) - { - if (static_cast(nColor) != COL_AUTO) - AddAttribute(sAttrTabColor, OUString::valueOf(nColor)); - } - } - } - uno::Reference xProtectable (xTable, uno::UNO_QUERY); if (xProtectable.is() && xProtectable->isProtected()) { diff --git a/sc/source/filter/xml/xmlexprt.hxx b/sc/source/filter/xml/xmlexprt.hxx index cefc245871b7..b71886c1871e 100644 --- a/sc/source/filter/xml/xmlexprt.hxx +++ b/sc/source/filter/xml/xmlexprt.hxx @@ -113,7 +113,6 @@ class ScXMLExport : public SvXMLExport rtl::OUString sExternalRefTabStyleName; rtl::OUString sAttrName; rtl::OUString sAttrStyleName; - rtl::OUString sAttrTabColor; rtl::OUString sAttrColumnsRepeated; rtl::OUString sAttrFormula; rtl::OUString sAttrValueType; diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index 7a436ec58446..b7c4a8f395d4 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -707,8 +707,6 @@ const SvXMLTokenMap& ScXMLImport::GetTableAttrTokenMap() { XML_NAMESPACE_TABLE, XML_PRINT_RANGES, XML_TOK_TABLE_PRINT_RANGES }, { XML_NAMESPACE_TABLE, XML_PROTECTION_KEY, XML_TOK_TABLE_PASSWORD }, { XML_NAMESPACE_TABLE, XML_PRINT, XML_TOK_TABLE_PRINT }, - { XML_NAMESPACE_TABLE, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR }, - { XML_NAMESPACE_TABLE_EXT, XML_TAB_COLOR, XML_TOK_TABLE_TAB_COLOR_EXT }, XML_TOKEN_MAP_END }; diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index 229c6cd2d37c..c110c70f72e2 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -203,9 +203,7 @@ enum ScXMLTableAttrTokens XML_TOK_TABLE_PROTECTION, XML_TOK_TABLE_PRINT_RANGES, XML_TOK_TABLE_PASSWORD, - XML_TOK_TABLE_PRINT, - XML_TOK_TABLE_TAB_COLOR, - XML_TOK_TABLE_TAB_COLOR_EXT, + XML_TOK_TABLE_PRINT }; enum ScXMLTableScenarioAttrTokens diff --git a/sc/source/filter/xml/xmlstyle.cxx b/sc/source/filter/xml/xmlstyle.cxx index 365d57a53571..43ba5c168577 100644 --- a/sc/source/filter/xml/xmlstyle.cxx +++ b/sc/source/filter/xml/xmlstyle.cxx @@ -69,6 +69,7 @@ using namespace ::formula; using ::rtl::OUString; #define MAP(name,prefix,token,type,context) { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 } +#define MAP_EXT(name,prefix,token,type,context) { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_LATEST } #define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 } const XMLPropertyMapEntry aXMLScCellStylesProperties[] = @@ -164,6 +165,7 @@ const XMLPropertyMapEntry aXMLScTableStylesImportProperties[] = MAP( "IsVisible", XML_NAMESPACE_TABLE, XML_DISPLAY, XML_TYPE_PROP_TABLE|XML_TYPE_BOOL, 0 ), MAP( "PageStyle", XML_NAMESPACE_STYLE, XML_MASTER_PAGE_NAME, XML_TYPE_PROP_TABLE|XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM, CTF_SC_MASTERPAGENAME ), MAP( "TableLayout", XML_NAMESPACE_STYLE, XML_WRITING_MODE, XML_TYPE_PROP_TABLE|XML_TYPE_TEXT_WRITING_MODE, 0 ), + MAP_EXT( "TabColor", XML_NAMESPACE_TABLE_EXT, XML_TAB_COLOR, XML_TYPE_PROP_TABLE|XML_TYPE_COLORAUTO, 0 ), MAP_END() }; @@ -172,6 +174,7 @@ const XMLPropertyMapEntry aXMLScTableStylesProperties[] = MAP( "IsVisible", XML_NAMESPACE_TABLE, XML_DISPLAY, XML_TYPE_PROP_TABLE|XML_TYPE_BOOL, 0 ), MAP( "PageStyle", XML_NAMESPACE_STYLE, XML_MASTER_PAGE_NAME, XML_TYPE_PROP_TABLE|XML_TYPE_STRING|MID_FLAG_SPECIAL_ITEM, CTF_SC_MASTERPAGENAME ), MAP( "TableLayout", XML_NAMESPACE_STYLE, XML_WRITING_MODE, XML_TYPE_PROP_TABLE|XML_TYPE_TEXT_WRITING_MODE, 0 ), + MAP_EXT( "TabColor", XML_NAMESPACE_TABLE_EXT, XML_TAB_COLOR, XML_TYPE_PROP_TABLE|XML_TYPE_COLORAUTO, 0 ), MAP_END() }; diff --git a/sc/source/filter/xml/xmlsubti.cxx b/sc/source/filter/xml/xmlsubti.cxx index 93b35d10e8aa..0f980c4a9608 100644 --- a/sc/source/filter/xml/xmlsubti.cxx +++ b/sc/source/filter/xml/xmlsubti.cxx @@ -40,7 +40,6 @@ #include "document.hxx" #include "markdata.hxx" #include "XMLConverter.hxx" -#include "unonames.hxx" #include "docuno.hxx" #include "cellsuno.hxx" #include "XMLStylesImportHelper.hxx" @@ -65,10 +64,6 @@ #include -using ::com::sun::star::uno::UNO_QUERY; -using ::com::sun::star::uno::Reference; -using ::com::sun::star::uno::Any; -using ::rtl::OUString; using ::std::auto_ptr; //------------------------------------------------------------------ @@ -181,7 +176,7 @@ ScMyTables::~ScMyTables() } void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& sStyleName, - const sal_Bool bTempProtection, const rtl::OUString& sTempPassword, sal_Int32 nTabColor) + const sal_Bool bTempProtection, const rtl::OUString& sTempPassword) { if (rImport.GetModel().is()) { @@ -256,19 +251,19 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& } rImport.SetTableStyle(sStyleName); - Reference xProperties(xCurrentSheet, UNO_QUERY); - if (xProperties.is()) + if ( sStyleName.getLength() ) { - if ( sStyleName.getLength() ) + // #i57869# All table style properties for all sheets are now applied here, + // before importing the contents. + // This is needed for the background color. + // Sheet visibility has special handling in ScDocFunc::SetTableVisible to + // allow hiding the first sheet. + // RTL layout is only remembered, not actually applied, so the shapes can + // be loaded before mirroring. + + uno::Reference xProperties(xCurrentSheet, uno::UNO_QUERY); + if (xProperties.is()) { - // #i57869# All table style properties for all sheets are now applied here, - // before importing the contents. - // This is needed for the background color. - // Sheet visibility has special handling in ScDocFunc::SetTableVisible to - // allow hiding the first sheet. - // RTL layout is only remembered, not actually applied, so the shapes can - // be loaded before mirroring. - XMLTableStylesContext *pStyles = (XMLTableStylesContext *)rImport.GetAutoStyles(); if (pStyles) { @@ -283,14 +278,6 @@ void ScMyTables::NewSheet(const rtl::OUString& sTableName, const rtl::OUString& } } } - - if (static_cast(nTabColor) != COL_AUTO) - { - // Set tab color. - Any any; - any <<= nTabColor; - xProperties->setPropertyValue(OUString::createFromAscii(SC_UNO_TABCOLOR), any); - } } } diff --git a/sc/source/filter/xml/xmlsubti.hxx b/sc/source/filter/xml/xmlsubti.hxx index a4800e2977db..c5a16e2c3ef4 100644 --- a/sc/source/filter/xml/xmlsubti.hxx +++ b/sc/source/filter/xml/xmlsubti.hxx @@ -147,7 +147,7 @@ public: ScMyTables(ScXMLImport& rImport); ~ScMyTables(); void NewSheet(const rtl::OUString& sTableName, const rtl::OUString& sStyleName, - const sal_Bool bProtection, const rtl::OUString& sPassword, sal_Int32 nTabColor); + const sal_Bool bProtection, const rtl::OUString& sPassword); void AddRow(); void SetRowStyle(const rtl::OUString& rCellStyleName); void AddColumn(sal_Bool bIsCovered); diff --git a/sc/source/filter/xml/xmltabi.cxx b/sc/source/filter/xml/xmltabi.cxx index d2af3ee3288e..8ea9701ecd32 100644 --- a/sc/source/filter/xml/xmltabi.cxx +++ b/sc/source/filter/xml/xmltabi.cxx @@ -52,8 +52,6 @@ #include "externalrefmgr.hxx" #include "sheetdata.hxx" -#include "tools/color.hxx" - #include #include #include @@ -163,7 +161,6 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, rtl::OUString sName; rtl::OUString sStyleName; rtl::OUString sPassword; - sal_Int32 nTabColor = static_cast(COL_AUTO); sal_Int16 nAttrCount(xAttrList.is() ? xAttrList->getLength() : 0); const SvXMLTokenMap& rAttrTokenMap = GetScImport().GetTableAttrTokenMap(); for( sal_Int16 i=0; i < nAttrCount; ++i ) @@ -197,10 +194,6 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, bPrintEntireSheet = sal_False; } break; - case XML_TOK_TABLE_TAB_COLOR: - case XML_TOK_TABLE_TAB_COLOR_EXT: - nTabColor = sValue.toInt32(); - break; } } @@ -221,7 +214,7 @@ ScXMLTableContext::ScXMLTableContext( ScXMLImport& rImport, else { // This is a regular table. - GetScImport().GetTables().NewSheet(sName, sStyleName, bProtection, sPassword, nTabColor); + GetScImport().GetTables().NewSheet(sName, sStyleName, bProtection, sPassword); } } else -- cgit From e1f75279ee368b62d528b63ce0085453ca65768a Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 15:33:07 -0500 Subject: calctabcolor: Reduce indent levels by early bailout. --- sc/source/filter/xml/xmlexprt.cxx | 857 +++++++++++++++++++------------------- 1 file changed, 430 insertions(+), 427 deletions(-) diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index ca286a980f96..6c969e36a46a 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -2152,498 +2152,501 @@ uno::Any lcl_GetEnumerated( uno::Reference xEnumA void ScXMLExport::_ExportAutoStyles() { - if (GetModel().is()) + if (!GetModel().is()) + // no model to export. + return; + + uno::Reference xSpreadDoc( GetModel(), uno::UNO_QUERY ); + if (!xSpreadDoc.is()) + // no spreadsheet document to export. + return; + + uno::Reference xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY ); + if (!xIndex.is()) + // no sheets to export. + return; + + if (getExportFlags() & EXPORT_CONTENT) { - uno::Reference xSpreadDoc( GetModel(), uno::UNO_QUERY ); - if ( xSpreadDoc.is() ) + // re-create automatic styles with old names from stored data + ScSheetSaveData* pSheetData = ScModelObj::getImplementation(xSpreadDoc)->GetSheetSaveData(); + if (pSheetData && pDoc) { - uno::Reference xIndex( xSpreadDoc->getSheets(), uno::UNO_QUERY ); - if ( xIndex.is() ) - { - if (getExportFlags() & EXPORT_CONTENT) + // formulas have to be calculated now, to detect changed results + // (during normal save, they will be calculated anyway) + SCTAB nTabCount = pDoc->GetTableCount(); + for (SCTAB nTab=0; nTabIsStreamValid(nTab)) { - // re-create automatic styles with old names from stored data - ScSheetSaveData* pSheetData = ScModelObj::getImplementation(xSpreadDoc)->GetSheetSaveData(); - if (pSheetData && pDoc) + ScCellIterator aIter( pDoc, 0,0,nTab, MAXCOL,MAXROW,nTab ); + ScBaseCell* pCell = aIter.GetFirst(); + while (pCell) { - // formulas have to be calculated now, to detect changed results - // (during normal save, they will be calculated anyway) - SCTAB nTabCount = pDoc->GetTableCount(); - for (SCTAB nTab=0; nTabIsStreamValid(nTab)) - { - ScCellIterator aIter( pDoc, 0,0,nTab, MAXCOL,MAXROW,nTab ); - ScBaseCell* pCell = aIter.GetFirst(); - while (pCell) - { - if (pCell->GetCellType() == CELLTYPE_FORMULA) - static_cast(pCell)->IsValue(); // interpret if dirty - pCell = aIter.GetNext(); - } - } + if (pCell->GetCellType() == CELLTYPE_FORMULA) + static_cast(pCell)->IsValue(); // interpret if dirty + pCell = aIter.GetNext(); + } + } - // stored cell styles - const std::vector& rCellEntries = pSheetData->GetCellStyles(); - std::vector::const_iterator aCellIter = rCellEntries.begin(); - std::vector::const_iterator aCellEnd = rCellEntries.end(); - while (aCellIter != aCellEnd) - { - ScAddress aPos = aCellIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); - uno::Reference xProperties( - xTable->getCellByPosition( aPos.Col(), aPos.Row() ), uno::UNO_QUERY ); + // stored cell styles + const std::vector& rCellEntries = pSheetData->GetCellStyles(); + std::vector::const_iterator aCellIter = rCellEntries.begin(); + std::vector::const_iterator aCellEnd = rCellEntries.end(); + while (aCellIter != aCellEnd) + { + ScAddress aPos = aCellIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); + uno::Reference xProperties( + xTable->getCellByPosition( aPos.Col(), aPos.Row() ), uno::UNO_QUERY ); - AddStyleFromCells(xProperties, xTable, nTable, &aCellIter->maName); - } - ++aCellIter; - } + AddStyleFromCells(xProperties, xTable, nTable, &aCellIter->maName); + } + ++aCellIter; + } - // stored column styles - const std::vector& rColumnEntries = pSheetData->GetColumnStyles(); - std::vector::const_iterator aColumnIter = rColumnEntries.begin(); - std::vector::const_iterator aColumnEnd = rColumnEntries.end(); - while (aColumnIter != aColumnEnd) - { - ScAddress aPos = aColumnIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - uno::Reference xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); - uno::Reference xTableColumns(xColumnRowRange->getColumns()); - uno::Reference xColumnProperties(xTableColumns->getByIndex( aPos.Col() ), uno::UNO_QUERY); + // stored column styles + const std::vector& rColumnEntries = pSheetData->GetColumnStyles(); + std::vector::const_iterator aColumnIter = rColumnEntries.begin(); + std::vector::const_iterator aColumnEnd = rColumnEntries.end(); + while (aColumnIter != aColumnEnd) + { + ScAddress aPos = aColumnIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + uno::Reference xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); + uno::Reference xTableColumns(xColumnRowRange->getColumns()); + uno::Reference xColumnProperties(xTableColumns->getByIndex( aPos.Col() ), uno::UNO_QUERY); - sal_Int32 nIndex(-1); - sal_Bool bIsVisible(sal_True); - AddStyleFromColumn( xColumnProperties, &aColumnIter->maName, nIndex, bIsVisible ); - } - ++aColumnIter; - } + sal_Int32 nIndex(-1); + sal_Bool bIsVisible(sal_True); + AddStyleFromColumn( xColumnProperties, &aColumnIter->maName, nIndex, bIsVisible ); + } + ++aColumnIter; + } - // stored row styles - const std::vector& rRowEntries = pSheetData->GetRowStyles(); - std::vector::const_iterator aRowIter = rRowEntries.begin(); - std::vector::const_iterator aRowEnd = rRowEntries.end(); - while (aRowIter != aRowEnd) - { - ScAddress aPos = aRowIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - uno::Reference xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); - uno::Reference xTableRows(xColumnRowRange->getRows()); - uno::Reference xRowProperties(xTableRows->getByIndex( aPos.Row() ), uno::UNO_QUERY); + // stored row styles + const std::vector& rRowEntries = pSheetData->GetRowStyles(); + std::vector::const_iterator aRowIter = rRowEntries.begin(); + std::vector::const_iterator aRowEnd = rRowEntries.end(); + while (aRowIter != aRowEnd) + { + ScAddress aPos = aRowIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + uno::Reference xColumnRowRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); + uno::Reference xTableRows(xColumnRowRange->getRows()); + uno::Reference xRowProperties(xTableRows->getByIndex( aPos.Row() ), uno::UNO_QUERY); - sal_Int32 nIndex(-1); - AddStyleFromRow( xRowProperties, &aRowIter->maName, nIndex ); - } - ++aRowIter; - } + sal_Int32 nIndex(-1); + AddStyleFromRow( xRowProperties, &aRowIter->maName, nIndex ); + } + ++aRowIter; + } - // stored table styles - const std::vector& rTableEntries = pSheetData->GetTableStyles(); - std::vector::const_iterator aTableIter = rTableEntries.begin(); - std::vector::const_iterator aTableEnd = rTableEntries.end(); - while (aTableIter != aTableEnd) - { - ScAddress aPos = aTableIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - //! separate method AddStyleFromTable needed? - uno::Reference xTableProperties(xIndex->getByIndex(nTable), uno::UNO_QUERY); - if (xTableProperties.is()) - { - std::vector xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties)); - rtl::OUString sParent; - rtl::OUString sName( aTableIter->maName ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TABLE_TABLE, sName); - } - } - ++aTableIter; - } + // stored table styles + const std::vector& rTableEntries = pSheetData->GetTableStyles(); + std::vector::const_iterator aTableIter = rTableEntries.begin(); + std::vector::const_iterator aTableEnd = rTableEntries.end(); + while (aTableIter != aTableEnd) + { + ScAddress aPos = aTableIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + //! separate method AddStyleFromTable needed? + uno::Reference xTableProperties(xIndex->getByIndex(nTable), uno::UNO_QUERY); + if (xTableProperties.is()) + { + std::vector xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties)); + rtl::OUString sParent; + rtl::OUString sName( aTableIter->maName ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TABLE_TABLE, sName); + } + } + ++aTableIter; + } + + // stored styles for notes - // stored styles for notes + UniReference xShapeMapper = XMLShapeExport::CreateShapePropMapper( *this ); + GetShapeExport(); // make sure the graphics styles family is added - UniReference xShapeMapper = XMLShapeExport::CreateShapePropMapper( *this ); - GetShapeExport(); // make sure the graphics styles family is added + const std::vector& rNoteEntries = pSheetData->GetNoteStyles(); + std::vector::const_iterator aNoteIter = rNoteEntries.begin(); + std::vector::const_iterator aNoteEnd = rNoteEntries.end(); + while (aNoteIter != aNoteEnd) + { + ScAddress aPos = aNoteIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + //! separate method AddStyleFromNote needed? - const std::vector& rNoteEntries = pSheetData->GetNoteStyles(); - std::vector::const_iterator aNoteIter = rNoteEntries.begin(); - std::vector::const_iterator aNoteEnd = rNoteEntries.end(); - while (aNoteIter != aNoteEnd) + ScPostIt* pNote = pDoc->GetNote( aPos ); + DBG_ASSERT( pNote, "note not found" ); + if (pNote) + { + SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); + // all uno shapes are created anyway in CollectSharedData + uno::Reference xShapeProperties( pDrawObj->getUnoShape(), uno::UNO_QUERY ); + if (xShapeProperties.is()) { - ScAddress aPos = aNoteIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) + if ( aNoteIter->maStyleName.getLength() ) { - //! separate method AddStyleFromNote needed? - - ScPostIt* pNote = pDoc->GetNote( aPos ); - DBG_ASSERT( pNote, "note not found" ); - if (pNote) - { - SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); - // all uno shapes are created anyway in CollectSharedData - uno::Reference xShapeProperties( pDrawObj->getUnoShape(), uno::UNO_QUERY ); - if (xShapeProperties.is()) - { - if ( aNoteIter->maStyleName.getLength() ) - { - std::vector xPropStates(xShapeMapper->Filter(xShapeProperties)); - rtl::OUString sParent; - rtl::OUString sName( aNoteIter->maStyleName ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_SD_GRAPHICS_ID, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_SD_GRAPHICS_ID, sName); - } - if ( aNoteIter->maTextStyle.getLength() ) - { - std::vector xPropStates( - GetTextParagraphExport()->GetParagraphPropertyMapper()->Filter(xShapeProperties)); - rtl::OUString sParent; - rtl::OUString sName( aNoteIter->maTextStyle ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_PARAGRAPH, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_PARAGRAPH, sName); - } - } - } + std::vector xPropStates(xShapeMapper->Filter(xShapeProperties)); + rtl::OUString sParent; + rtl::OUString sName( aNoteIter->maStyleName ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_SD_GRAPHICS_ID, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_SD_GRAPHICS_ID, sName); + } + if ( aNoteIter->maTextStyle.getLength() ) + { + std::vector xPropStates( + GetTextParagraphExport()->GetParagraphPropertyMapper()->Filter(xShapeProperties)); + rtl::OUString sParent; + rtl::OUString sName( aNoteIter->maTextStyle ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_PARAGRAPH, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_PARAGRAPH, sName); } - ++aNoteIter; } + } + } + ++aNoteIter; + } - // note paragraph styles + // note paragraph styles - //UniReference xParaPropMapper = XMLTextParagraphExport::CreateParaExtPropMapper( *this ); - UniReference xParaPropMapper = GetTextParagraphExport()->GetParagraphPropertyMapper(); + //UniReference xParaPropMapper = XMLTextParagraphExport::CreateParaExtPropMapper( *this ); + UniReference xParaPropMapper = GetTextParagraphExport()->GetParagraphPropertyMapper(); - const std::vector& rNoteParaEntries = pSheetData->GetNoteParaStyles(); - std::vector::const_iterator aNoteParaIter = rNoteParaEntries.begin(); - std::vector::const_iterator aNoteParaEnd = rNoteParaEntries.end(); - while (aNoteParaIter != aNoteParaEnd) + const std::vector& rNoteParaEntries = pSheetData->GetNoteParaStyles(); + std::vector::const_iterator aNoteParaIter = rNoteParaEntries.begin(); + std::vector::const_iterator aNoteParaEnd = rNoteParaEntries.end(); + while (aNoteParaIter != aNoteParaEnd) + { + ScAddress aPos = aNoteParaIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + ScPostIt* pNote = pDoc->GetNote( aPos ); + DBG_ASSERT( pNote, "note not found" ); + if (pNote) + { + SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); + uno::Reference xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY); + uno::Reference xParaProp( + lcl_GetEnumerated( xCellText, aNoteParaIter->maSelection.nStartPara ), uno::UNO_QUERY ); + if ( xParaProp.is() ) { - ScAddress aPos = aNoteParaIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - ScPostIt* pNote = pDoc->GetNote( aPos ); - DBG_ASSERT( pNote, "note not found" ); - if (pNote) - { - SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); - uno::Reference xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY); - uno::Reference xParaProp( - lcl_GetEnumerated( xCellText, aNoteParaIter->maSelection.nStartPara ), uno::UNO_QUERY ); - if ( xParaProp.is() ) - { - std::vector xPropStates(xParaPropMapper->Filter(xParaProp)); - rtl::OUString sParent; - rtl::OUString sName( aNoteParaIter->maName ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_PARAGRAPH, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_PARAGRAPH, sName); - } - } - } - ++aNoteParaIter; + std::vector xPropStates(xParaPropMapper->Filter(xParaProp)); + rtl::OUString sParent; + rtl::OUString sName( aNoteParaIter->maName ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_PARAGRAPH, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_PARAGRAPH, sName); } + } + } + ++aNoteParaIter; + } - // note text styles + // note text styles - UniReference xTextPropMapper = XMLTextParagraphExport::CreateCharExtPropMapper( *this ); + UniReference xTextPropMapper = XMLTextParagraphExport::CreateCharExtPropMapper( *this ); - const std::vector& rNoteTextEntries = pSheetData->GetNoteTextStyles(); - std::vector::const_iterator aNoteTextIter = rNoteTextEntries.begin(); - std::vector::const_iterator aNoteTextEnd = rNoteTextEntries.end(); - while (aNoteTextIter != aNoteTextEnd) + const std::vector& rNoteTextEntries = pSheetData->GetNoteTextStyles(); + std::vector::const_iterator aNoteTextIter = rNoteTextEntries.begin(); + std::vector::const_iterator aNoteTextEnd = rNoteTextEntries.end(); + while (aNoteTextIter != aNoteTextEnd) + { + ScAddress aPos = aNoteTextIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + ScPostIt* pNote = pDoc->GetNote( aPos ); + DBG_ASSERT( pNote, "note not found" ); + if (pNote) + { + SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); + uno::Reference xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY); + uno::Reference xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY); + ScDrawTextCursor* pCursor = ScDrawTextCursor::getImplementation( xCursorProp ); + if (pCursor) { - ScAddress aPos = aNoteTextIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - ScPostIt* pNote = pDoc->GetNote( aPos ); - DBG_ASSERT( pNote, "note not found" ); - if (pNote) - { - SdrCaptionObj* pDrawObj = pNote->GetOrCreateCaption( aPos ); - uno::Reference xCellText(pDrawObj->getUnoShape(), uno::UNO_QUERY); - uno::Reference xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY); - ScDrawTextCursor* pCursor = ScDrawTextCursor::getImplementation( xCursorProp ); - if (pCursor) - { - pCursor->SetSelection( aNoteTextIter->maSelection ); + pCursor->SetSelection( aNoteTextIter->maSelection ); - std::vector xPropStates(xTextPropMapper->Filter(xCursorProp)); - rtl::OUString sParent; - rtl::OUString sName( aNoteTextIter->maName ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_TEXT, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_TEXT, sName); - } - } - } - ++aNoteTextIter; + std::vector xPropStates(xTextPropMapper->Filter(xCursorProp)); + rtl::OUString sParent; + rtl::OUString sName( aNoteTextIter->maName ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_TEXT, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_TEXT, sName); } + } + } + ++aNoteTextIter; + } - // stored text styles + // stored text styles - //UniReference xTextPropMapper = XMLTextParagraphExport::CreateCharExtPropMapper( *this ); + //UniReference xTextPropMapper = XMLTextParagraphExport::CreateCharExtPropMapper( *this ); - const std::vector& rTextEntries = pSheetData->GetTextStyles(); - std::vector::const_iterator aTextIter = rTextEntries.begin(); - std::vector::const_iterator aTextEnd = rTextEntries.end(); - while (aTextIter != aTextEnd) - { - ScAddress aPos = aTextIter->maCellPos; - sal_Int32 nTable = aPos.Tab(); - bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); - if (bCopySheet) - { - //! separate method AddStyleFromText needed? - //! cache sheet object - - uno::Reference xCellRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); - uno::Reference xCellText(xCellRange->getCellByPosition(aPos.Col(), aPos.Row()), uno::UNO_QUERY); - uno::Reference xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY); - ScCellTextCursor* pCursor = ScCellTextCursor::getImplementation( xCursorProp ); - if (pCursor) - { - pCursor->SetSelection( aTextIter->maSelection ); + const std::vector& rTextEntries = pSheetData->GetTextStyles(); + std::vector::const_iterator aTextIter = rTextEntries.begin(); + std::vector::const_iterator aTextEnd = rTextEntries.end(); + while (aTextIter != aTextEnd) + { + ScAddress aPos = aTextIter->maCellPos; + sal_Int32 nTable = aPos.Tab(); + bool bCopySheet = pDoc->IsStreamValid( static_cast(nTable) ); + if (bCopySheet) + { + //! separate method AddStyleFromText needed? + //! cache sheet object + + uno::Reference xCellRange(xIndex->getByIndex(nTable), uno::UNO_QUERY); + uno::Reference xCellText(xCellRange->getCellByPosition(aPos.Col(), aPos.Row()), uno::UNO_QUERY); + uno::Reference xCursorProp(xCellText->createTextCursor(), uno::UNO_QUERY); + ScCellTextCursor* pCursor = ScCellTextCursor::getImplementation( xCursorProp ); + if (pCursor) + { + pCursor->SetSelection( aTextIter->maSelection ); - std::vector xPropStates(xTextPropMapper->Filter(xCursorProp)); - rtl::OUString sParent; - rtl::OUString sName( aTextIter->maName ); - GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_TEXT, sParent, xPropStates); - GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_TEXT, sName); - } - } - ++aTextIter; - } + std::vector xPropStates(xTextPropMapper->Filter(xCursorProp)); + rtl::OUString sParent; + rtl::OUString sName( aTextIter->maName ); + GetAutoStylePool()->AddNamed(sName, XML_STYLE_FAMILY_TEXT_TEXT, sParent, xPropStates); + GetAutoStylePool()->RegisterName(XML_STYLE_FAMILY_TEXT_TEXT, sName); } + } + ++aTextIter; + } + } - ExportExternalRefCacheStyles(); + ExportExternalRefCacheStyles(); - if (!pSharedData) + if (!pSharedData) + { + sal_Int32 nTableCount(0); + sal_Int32 nShapesCount(0); + sal_Int32 nCellCount(pDoc ? pDoc->GetCellCount() : 0); + CollectSharedData(nTableCount, nShapesCount, nCellCount); + //DBG_ERROR("no shared data setted"); + } + sal_Int32 nTableCount(xIndex->getCount()); + pCellStyles->AddNewTable(nTableCount - 1); + CollectShapesAutoStyles(nTableCount); + for (sal_Int32 nTable = 0; nTable < nTableCount; ++nTable) + { + bool bUseStream = pSheetData && pDoc && pDoc->IsStreamValid((SCTAB)nTable) && + pSheetData->HasStreamPos(nTable) && xSourceStream.is(); + + uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); + if (xTable.is()) + { + // table styles array must be complete, including copied tables - Add should find the stored style + uno::Reference xTableProperties(xTable, uno::UNO_QUERY); + if (xTableProperties.is()) + { + std::vector xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties)); + if(xPropStates.size()) { - sal_Int32 nTableCount(0); - sal_Int32 nShapesCount(0); - sal_Int32 nCellCount(pDoc ? pDoc->GetCellCount() : 0); - CollectSharedData(nTableCount, nShapesCount, nCellCount); - //DBG_ERROR("no shared data setted"); + rtl::OUString sParent; + rtl::OUString sName; + GetAutoStylePool()->Add(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates); + aTableStyles.push_back(sName); } - sal_Int32 nTableCount(xIndex->getCount()); - pCellStyles->AddNewTable(nTableCount - 1); - CollectShapesAutoStyles(nTableCount); - for (sal_Int32 nTable = 0; nTable < nTableCount; ++nTable) + } + } + // collect other auto-styles only for non-copied sheets + if (xTable.is() && !bUseStream) + { + uno::Reference xCellFormatRanges ( xTable, uno::UNO_QUERY ); + if ( xCellFormatRanges.is() ) + { + uno::Reference xFormatRangesIndex(xCellFormatRanges->getUniqueCellFormatRanges()); + if (xFormatRangesIndex.is()) { - bool bUseStream = pSheetData && pDoc && pDoc->IsStreamValid((SCTAB)nTable) && - pSheetData->HasStreamPos(nTable) && xSourceStream.is(); - - uno::Reference xTable(xIndex->getByIndex(nTable), uno::UNO_QUERY); - if (xTable.is()) + sal_Int32 nFormatRangesCount(xFormatRangesIndex->getCount()); + GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nFormatRangesCount); + for (sal_Int32 nFormatRange = 0; nFormatRange < nFormatRangesCount; ++nFormatRange) { - // table styles array must be complete, including copied tables - Add should find the stored style - uno::Reference xTableProperties(xTable, uno::UNO_QUERY); - if (xTableProperties.is()) + uno::Reference< sheet::XSheetCellRanges> xCellRanges(xFormatRangesIndex->getByIndex(nFormatRange), uno::UNO_QUERY); + if (xCellRanges.is()) { - std::vector xPropStates(xTableStylesExportPropertySetMapper->Filter(xTableProperties)); - if(xPropStates.size()) + uno::Reference xProperties (xCellRanges, uno::UNO_QUERY); + if (xProperties.is()) { - rtl::OUString sParent; - rtl::OUString sName; - GetAutoStylePool()->Add(sName, XML_STYLE_FAMILY_TABLE_TABLE, sParent, xPropStates); - aTableStyles.push_back(sName); + AddStyleFromCells(xProperties, xTable, nTable, NULL); + IncrementProgressBar(sal_False); } } } - // collect other auto-styles only for non-copied sheets - if (xTable.is() && !bUseStream) + } + } + uno::Reference xColumnRowRange (xTable, uno::UNO_QUERY); + if (xColumnRowRange.is()) + { + if (pDoc) + { + uno::Reference xTableColumns(xColumnRowRange->getColumns()); + if (xTableColumns.is()) { - uno::Reference xCellFormatRanges ( xTable, uno::UNO_QUERY ); - if ( xCellFormatRanges.is() ) + sal_Int32 nColumns(pDoc->GetLastChangedCol(sal::static_int_cast(nTable))); + pSharedData->SetLastColumn(nTable, nColumns); + table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable)); + if (aCellAddress.EndColumn > nColumns) { - uno::Reference xFormatRangesIndex(xCellFormatRanges->getUniqueCellFormatRanges()); - if (xFormatRangesIndex.is()) - { - sal_Int32 nFormatRangesCount(xFormatRangesIndex->getCount()); - GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nFormatRangesCount); - for (sal_Int32 nFormatRange = 0; nFormatRange < nFormatRangesCount; ++nFormatRange) - { - uno::Reference< sheet::XSheetCellRanges> xCellRanges(xFormatRangesIndex->getByIndex(nFormatRange), uno::UNO_QUERY); - if (xCellRanges.is()) - { - uno::Reference xProperties (xCellRanges, uno::UNO_QUERY); - if (xProperties.is()) - { - AddStyleFromCells(xProperties, xTable, nTable, NULL); - IncrementProgressBar(sal_False); - } - } - } - } + ++nColumns; + pColumnStyles->AddNewTable(nTable, aCellAddress.EndColumn); } - uno::Reference xColumnRowRange (xTable, uno::UNO_QUERY); - if (xColumnRowRange.is()) +// else if (nColumns < MAXCOL) +// pColumnStyles->AddNewTable(nTable, ++nColumns); + else + pColumnStyles->AddNewTable(nTable, nColumns); + sal_Int32 nColumn = 0; + while (/*nColumn <= nColumns && */nColumn <= MAXCOL) { - if (pDoc) + sal_Int32 nIndex(-1); + sal_Bool bIsVisible(sal_True); + uno::Reference xColumnProperties(xTableColumns->getByIndex(nColumn), uno::UNO_QUERY); + if (xColumnProperties.is()) { - uno::Reference xTableColumns(xColumnRowRange->getColumns()); - if (xTableColumns.is()) - { - sal_Int32 nColumns(pDoc->GetLastChangedCol(sal::static_int_cast(nTable))); - pSharedData->SetLastColumn(nTable, nColumns); - table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable)); - if (aCellAddress.EndColumn > nColumns) - { - ++nColumns; - pColumnStyles->AddNewTable(nTable, aCellAddress.EndColumn); - } - // else if (nColumns < MAXCOL) - // pColumnStyles->AddNewTable(nTable, ++nColumns); - else - pColumnStyles->AddNewTable(nTable, nColumns); - sal_Int32 nColumn = 0; - while (/*nColumn <= nColumns && */nColumn <= MAXCOL) - { - sal_Int32 nIndex(-1); - sal_Bool bIsVisible(sal_True); - uno::Reference xColumnProperties(xTableColumns->getByIndex(nColumn), uno::UNO_QUERY); - if (xColumnProperties.is()) - { - AddStyleFromColumn( xColumnProperties, NULL, nIndex, bIsVisible ); - //if(xPropStates.size()) - pColumnStyles->AddFieldStyleName(nTable, nColumn, nIndex, bIsVisible); - } - sal_Int32 nOld(nColumn); - nColumn = pDoc->GetNextDifferentChangedCol(sal::static_int_cast(nTable), static_cast(nColumn)); - for (sal_Int32 i = nOld + 1; i < nColumn; ++i) - pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible); - } - if (aCellAddress.EndColumn > nColumns) - { - sal_Bool bIsVisible(sal_True); - sal_Int32 nIndex(pColumnStyles->GetStyleNameIndex(nTable, nColumns, bIsVisible)); - for (sal_Int32 i = nColumns + 1; i <= aCellAddress.EndColumn; ++i) - pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible); - } - } - uno::Reference xTableRows(xColumnRowRange->getRows()); - if (xTableRows.is()) - { - sal_Int32 nRows(pDoc->GetLastChangedRow(sal::static_int_cast(nTable))); - pSharedData->SetLastRow(nTable, nRows); - table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable)); - if (aCellAddress.EndRow > nRows) - { - ++nRows; - pRowStyles->AddNewTable(nTable, aCellAddress.EndRow); - } - // else if (nRows < MAXROW) - // pRowStyles->AddNewTable(nTable, ++nRows); - else - pRowStyles->AddNewTable(nTable, nRows); - sal_Int32 nRow = 0; - while ( /*nRow <= nRows && */nRow <= MAXROW) - { - sal_Int32 nIndex = 0; - uno::Reference xRowProperties(xTableRows->getByIndex(nRow), uno::UNO_QUERY); - if(xRowProperties.is()) - { - AddStyleFromRow( xRowProperties, NULL, nIndex ); - //if(xPropStates.size()) - pRowStyles->AddFieldStyleName(nTable, nRow, nIndex); - } - sal_Int32 nOld(nRow); - nRow = pDoc->GetNextDifferentChangedRow(sal::static_int_cast(nTable), static_cast(nRow), false); - for (sal_Int32 i = nOld + 1; i < nRow; ++i) - pRowStyles->AddFieldStyleName(nTable, i, nIndex); - } - if (aCellAddress.EndRow > nRows) - { - sal_Int32 nIndex(pRowStyles->GetStyleNameIndex(nTable, nRows)); - for (sal_Int32 i = nRows + 1; i <= aCellAddress.EndRow; ++i) - pRowStyles->AddFieldStyleName(nTable, i, nIndex); - } - } + AddStyleFromColumn( xColumnProperties, NULL, nIndex, bIsVisible ); + //if(xPropStates.size()) + pColumnStyles->AddFieldStyleName(nTable, nColumn, nIndex, bIsVisible); } + sal_Int32 nOld(nColumn); + nColumn = pDoc->GetNextDifferentChangedCol(sal::static_int_cast(nTable), static_cast(nColumn)); + for (sal_Int32 i = nOld + 1; i < nColumn; ++i) + pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible); } - uno::Reference xCellRangesQuery (xTable, uno::UNO_QUERY); - if (xCellRangesQuery.is()) + if (aCellAddress.EndColumn > nColumns) { - uno::Reference xSheetCellRanges(xCellRangesQuery->queryContentCells(sheet::CellFlags::FORMATTED)); - uno::Reference xSheetOperation(xSheetCellRanges, uno::UNO_QUERY); - if (xSheetCellRanges.is() && xSheetOperation.is()) + sal_Bool bIsVisible(sal_True); + sal_Int32 nIndex(pColumnStyles->GetStyleNameIndex(nTable, nColumns, bIsVisible)); + for (sal_Int32 i = nColumns + 1; i <= aCellAddress.EndColumn; ++i) + pColumnStyles->AddFieldStyleName(nTable, i, nIndex, bIsVisible); + } + } + uno::Reference xTableRows(xColumnRowRange->getRows()); + if (xTableRows.is()) + { + sal_Int32 nRows(pDoc->GetLastChangedRow(sal::static_int_cast(nTable))); + pSharedData->SetLastRow(nTable, nRows); + table::CellRangeAddress aCellAddress(GetEndAddress(xTable, nTable)); + if (aCellAddress.EndRow > nRows) + { + ++nRows; + pRowStyles->AddNewTable(nTable, aCellAddress.EndRow); + } +// else if (nRows < MAXROW) +// pRowStyles->AddNewTable(nTable, ++nRows); + else + pRowStyles->AddNewTable(nTable, nRows); + sal_Int32 nRow = 0; + while ( /*nRow <= nRows && */nRow <= MAXROW) + { + sal_Int32 nIndex = 0; + uno::Reference xRowProperties(xTableRows->getByIndex(nRow), uno::UNO_QUERY); + if(xRowProperties.is()) { - sal_uInt32 nCount(sal_uInt32(xSheetOperation->computeFunction(sheet::GeneralFunction_COUNT))); - uno::Reference xCellsAccess(xSheetCellRanges->getCells()); - if (xCellsAccess.is()) - { - GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nCount); - uno::Reference xCells(xCellsAccess->createEnumeration()); - if (xCells.is()) - { - sal_uInt32 nCount2(0); - while (xCells->hasMoreElements()) - { - uno::Reference xText(xCells->nextElement(), uno::UNO_QUERY); - if (xText.is()) - GetTextParagraphExport()->collectTextAutoStyles(xText, sal_False, sal_False); - ++nCount2; - IncrementProgressBar(sal_False); - } - if(nCount2 > nCount) - GetProgressBarHelper()->SetReference(GetProgressBarHelper()->GetReference() + nCount2 - nCount); - } - } + AddStyleFromRow( xRowProperties, NULL, nIndex ); + //if(xPropStates.size()) + pRowStyles->AddFieldStyleName(nTable, nRow, nIndex); } + sal_Int32 nOld(nRow); + nRow = pDoc->GetNextDifferentChangedRow(sal::static_int_cast(nTable), static_cast(nRow), false); + for (sal_Int32 i = nOld + 1; i < nRow; ++i) + pRowStyles->AddFieldStyleName(nTable, i, nIndex); + } + if (aCellAddress.EndRow > nRows) + { + sal_Int32 nIndex(pRowStyles->GetStyleNameIndex(nTable, nRows)); + for (sal_Int32 i = nRows + 1; i <= aCellAddress.EndRow; ++i) + pRowStyles->AddFieldStyleName(nTable, i, nIndex); } } - IncrementProgressBar(sal_False); - } - pChangeTrackingExportHelper->CollectAutoStyles(); - - GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_COLUMN, - GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); - GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_ROW, - GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); - GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_TABLE, - GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); - exportAutoDataStyles(); - GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_CELL, - GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); - - GetShapeExport()->exportAutoStyles(); - GetFormExport()->exportAutoStyles( ); - - { - // 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) + uno::Reference xCellRangesQuery (xTable, uno::UNO_QUERY); + if (xCellRangesQuery.is()) { - GetPageExport()->collectAutoStyles(sal_True); - GetPageExport()->exportAutoStyles(); + uno::Reference xSheetCellRanges(xCellRangesQuery->queryContentCells(sheet::CellFlags::FORMATTED)); + uno::Reference xSheetOperation(xSheetCellRanges, uno::UNO_QUERY); + if (xSheetCellRanges.is() && xSheetOperation.is()) + { + sal_uInt32 nCount(sal_uInt32(xSheetOperation->computeFunction(sheet::GeneralFunction_COUNT))); + uno::Reference xCellsAccess(xSheetCellRanges->getCells()); + if (xCellsAccess.is()) + { + GetProgressBarHelper()->ChangeReference(GetProgressBarHelper()->GetReference() + nCount); + uno::Reference xCells(xCellsAccess->createEnumeration()); + if (xCells.is()) + { + sal_uInt32 nCount2(0); + while (xCells->hasMoreElements()) + { + uno::Reference xText(xCells->nextElement(), uno::UNO_QUERY); + if (xText.is()) + GetTextParagraphExport()->collectTextAutoStyles(xText, sal_False, sal_False); + ++nCount2; + IncrementProgressBar(sal_False); + } + if(nCount2 > nCount) + GetProgressBarHelper()->SetReference(GetProgressBarHelper()->GetReference() + nCount2 - nCount); + } + } + } } + } + IncrementProgressBar(sal_False); + } + pChangeTrackingExportHelper->CollectAutoStyles(); - // #i30251#; only write Text Styles once + GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_COLUMN, + GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); + GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_ROW, + GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); + GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_TABLE, + GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); + exportAutoDataStyles(); + GetAutoStylePool()->exportXML(XML_STYLE_FAMILY_TABLE_CELL, + GetDocHandler(), GetMM100UnitConverter(), GetNamespaceMap()); - if ((getExportFlags() & EXPORT_CONTENT) || (getExportFlags() & EXPORT_MASTERSTYLES)) - GetTextParagraphExport()->exportTextAutoStyles(); - } + GetShapeExport()->exportAutoStyles(); + GetFormExport()->exportAutoStyles( ); + + { + // 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) + { + GetPageExport()->collectAutoStyles(sal_True); + GetPageExport()->exportAutoStyles(); + } + + // #i30251#; only write Text Styles once + + if ((getExportFlags() & EXPORT_CONTENT) || (getExportFlags() & EXPORT_MASTERSTYLES)) + GetTextParagraphExport()->exportTextAutoStyles(); } void ScXMLExport::_ExportMasterStyles() -- cgit From c5066e9c3d1cef4e5a27ad6511e2cbb2154f7bc9 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 15:34:57 -0500 Subject: calctabcolor: A blank line. --- sc/source/filter/xml/xmlexprt.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index 6c969e36a46a..bdae38ce878b 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -2637,6 +2637,7 @@ void ScXMLExport::_ExportAutoStyles() SvXMLElementExport aElemStyleTabProps(*this, XML_NAMESPACE_STYLE, XML_TABLE_PROPERTIES, sal_True, sal_True); } } + if (getExportFlags() & EXPORT_MASTERSTYLES) { GetPageExport()->collectAutoStyles(sal_True); -- cgit From 7bd2bb8838c4c4c2f268a289276d351503869664 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 16:13:04 -0500 Subject: calctabcolor: Use static constant values instead of macro define for more type safety. --- sc/source/ui/view/tabcont.cxx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sc/source/ui/view/tabcont.cxx b/sc/source/ui/view/tabcont.cxx index 39f2937a3e59..2dbdf9802d50 100644 --- a/sc/source/ui/view/tabcont.cxx +++ b/sc/source/ui/view/tabcont.cxx @@ -62,8 +62,8 @@ ScTabControl::ScTabControl( Window* pParent, ScViewData* pData ) : DropTargetHelper( this ), DragSourceHelper( this ), pViewData( pData ), - nMouseClickPageId( TABBAR_PAGE_NOTFOUND ), - nSelPageIdByMouse( TABBAR_PAGE_NOTFOUND ), + nMouseClickPageId( TabBar::PAGE_NOT_FOUND ), + nSelPageIdByMouse( TabBar::PAGE_NOT_FOUND ), bErrorShown( FALSE ) { ScDocument* pDoc = pViewData->GetDocument(); @@ -166,7 +166,7 @@ void ScTabControl::MouseButtonDown( const MouseEvent& rMEvt ) if( rMEvt.IsLeft() && (rMEvt.GetModifier() == 0) ) nMouseClickPageId = GetPageId( rMEvt.GetPosPixel() ); else - nMouseClickPageId = TABBAR_PAGE_NOTFOUND; + nMouseClickPageId = TabBar::PAGE_NOT_FOUND; TabBar::MouseButtonDown( rMEvt ); } @@ -177,7 +177,7 @@ void ScTabControl::MouseButtonUp( const MouseEvent& rMEvt ) // mouse button down and up on same page? if( nMouseClickPageId != GetPageId( aPos ) ) - nMouseClickPageId = TABBAR_PAGE_NOTFOUND; + nMouseClickPageId = TabBar::PAGE_NOT_FOUND; if ( rMEvt.GetClicks() == 2 && rMEvt.IsLeft() && nMouseClickPageId != 0 && nMouseClickPageId != TAB_PAGE_NOTFOUND ) { @@ -194,7 +194,7 @@ void ScTabControl::MouseButtonUp( const MouseEvent& rMEvt ) SfxDispatcher* pDispatcher = pViewData->GetViewShell()->GetViewFrame()->GetDispatcher(); pDispatcher->Execute( nSlot, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD ); // forget page ID, to be really sure that the dialog is not called twice - nMouseClickPageId = TABBAR_PAGE_NOTFOUND; + nMouseClickPageId = TabBar::PAGE_NOT_FOUND; } TabBar::MouseButtonUp( rMEvt ); @@ -206,7 +206,7 @@ void ScTabControl::Select() nSelPageIdByMouse = nMouseClickPageId; /* Reset nMouseClickPageId, so that next Select() call may invalidate nSelPageIdByMouse (i.e. if called from keyboard). */ - nMouseClickPageId = TABBAR_PAGE_NOTFOUND; + nMouseClickPageId = TabBar::PAGE_NOT_FOUND; ScModule* pScMod = SC_MOD(); ScDocument* pDoc = pViewData->GetDocument(); @@ -392,7 +392,7 @@ void ScTabControl::ActivateView(BOOL bActivate) void ScTabControl::SetSheetLayoutRTL( BOOL bSheetRTL ) { SetEffectiveRTL( bSheetRTL ); - nSelPageIdByMouse = TABBAR_PAGE_NOTFOUND; + nSelPageIdByMouse = TabBar::PAGE_NOT_FOUND; } @@ -628,12 +628,12 @@ void ScTabControl::EndRenaming() void ScTabControl::Mirror() { TabBar::Mirror(); - if( nSelPageIdByMouse != TABBAR_PAGE_NOTFOUND ) + if( nSelPageIdByMouse != TabBar::PAGE_NOT_FOUND ) { Rectangle aRect( GetPageRect( GetCurPageId() ) ); if( !aRect.IsEmpty() ) SetPointerPosPixel( aRect.Center() ); - nSelPageIdByMouse = TABBAR_PAGE_NOTFOUND; // only once after a Select() + nSelPageIdByMouse = TabBar::PAGE_NOT_FOUND; // only once after a Select() } } -- cgit From 384eadc23010eba913416b04d0bc87f9411df0f1 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 16:13:04 -0500 Subject: calctabcolor: Use static constant values instead of macro define for more type safety. --- svtools/inc/tabbar.hxx | 10 ++++---- svtools/source/control/tabbar.cxx | 51 +++++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/svtools/inc/tabbar.hxx b/svtools/inc/tabbar.hxx index 35d65c037a7a..a19790a68d55 100644 --- a/svtools/inc/tabbar.hxx +++ b/svtools/inc/tabbar.hxx @@ -323,9 +323,6 @@ typedef USHORT TabBarPageBits; // - TabBar-Types - // ---------------- -#define TABBAR_APPEND ((USHORT)0xFFFF) -#define TABBAR_PAGE_NOTFOUND ((USHORT)0xFFFF) - #define TABBAR_RENAMING_YES ((long)TRUE) #define TABBAR_RENAMING_NO ((long)FALSE) #define TABBAR_RENAMING_CANCEL ((long)2) @@ -403,6 +400,9 @@ private: DECL_DLLPRIVATE_LINK( ImplClickHdl, ImplTabButton* ); public: + static const sal_uInt16 APPEND; + static const sal_uInt16 PAGE_NOT_FOUND; + TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR ); virtual ~TabBar(); @@ -427,7 +427,7 @@ public: void InsertPage( USHORT nPageId, const XubString& rText, TabBarPageBits nBits = 0, - USHORT nPos = TABBAR_APPEND ); + USHORT nPos = TabBar::APPEND ); void RemovePage( USHORT nPageId ); void MovePage( USHORT nPageId, USHORT nNewPos ); @@ -461,7 +461,7 @@ public: void SelectPage( USHORT nPageId, BOOL bSelect = TRUE ); void SelectPageRange( BOOL bSelect = FALSE, USHORT nStartPos = 0, - USHORT nEndPos = TABBAR_APPEND ); + USHORT nEndPos = TabBar::APPEND ); USHORT GetSelectPage( USHORT nSelIndex = 0 ) const; USHORT GetSelectPageCount() const; BOOL IsPageSelected( USHORT nPageId ) const; diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index 50618901798c..112787dd3f00 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -357,6 +357,9 @@ struct TabBar_Impl // ======================================================================= +const sal_uInt16 TabBar::APPEND = ::std::numeric_limits::max(); +const sal_uInt16 TabBar::PAGE_NOT_FOUND = ::std::numeric_limits::max(); + void TabBar::ImplInit( WinBits nWinStyle ) { mpItemList = new ImplTabBarList; @@ -1594,7 +1597,7 @@ void TabBar::InsertPage( USHORT nPageId, const XubString& rText, TabBarPageBits nBits, USHORT nPos ) { DBG_ASSERT( nPageId, "TabBar::InsertPage(): PageId == 0" ); - DBG_ASSERT( GetPagePos( nPageId ) == TABBAR_PAGE_NOTFOUND, + DBG_ASSERT( GetPagePos( nPageId ) == PAGE_NOT_FOUND, "TabBar::InsertPage(): PageId already exists" ); DBG_ASSERT( nBits <= TPB_SPECIAL, "TabBar::InsertPage(): nBits is wrong" ); @@ -1620,7 +1623,7 @@ Color TabBar::GetTabBgColor( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->maTabBgColor; else return Color( COL_AUTO ); @@ -1630,7 +1633,7 @@ void TabBar::SetTabBgColor( USHORT nPageId, const Color& aTabBgColor ) { USHORT nPos = GetPagePos( nPageId ); ImplTabBarItem* pItem; - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { pItem = mpItemList->GetObject( nPos ); // TODO: Need to take the text color specification out of this code! @@ -1657,7 +1660,7 @@ void TabBar::RemovePage( USHORT nPageId ) USHORT nPos = GetPagePos( nPageId ); // Existiert Item - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { if ( mnCurPageId == nPageId ) mnCurPageId = 0; @@ -1692,7 +1695,7 @@ void TabBar::MovePage( USHORT nPageId, USHORT nNewPos ) return; // Existiert Item - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { // TabBar-Item in der Liste verschieben ImplTabBarItem* pItem = mpItemList->Remove( nPos ); @@ -1730,7 +1733,7 @@ void TabBar::Clear() if ( IsReallyVisible() && IsUpdateMode() ) Invalidate(); - CallEventListeners( VCLEVENT_TABBAR_PAGEREMOVED, (void*) TABBAR_PAGE_NOTFOUND ); + CallEventListeners( VCLEVENT_TABBAR_PAGEREMOVED, (void*) PAGE_NOT_FOUND ); } // ----------------------------------------------------------------------- @@ -1739,7 +1742,7 @@ void TabBar::EnablePage( USHORT nPageId, BOOL bEnable ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); @@ -1762,7 +1765,7 @@ BOOL TabBar::IsPageEnabled( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->mbEnable; else return FALSE; @@ -1774,7 +1777,7 @@ void TabBar::SetPageBits( USHORT nPageId, TabBarPageBits nBits ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); @@ -1795,7 +1798,7 @@ TabBarPageBits TabBar::GetPageBits( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->mnBits; else return FALSE; @@ -1832,7 +1835,7 @@ USHORT TabBar::GetPagePos( USHORT nPageId ) const pItem = mpItemList->Next(); } - return TABBAR_PAGE_NOTFOUND; + return PAGE_NOT_FOUND; } // ----------------------------------------------------------------------- @@ -1857,7 +1860,7 @@ Rectangle TabBar::GetPageRect( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->maRect; else return Rectangle(); @@ -1870,7 +1873,7 @@ void TabBar::SetCurPageId( USHORT nPageId ) USHORT nPos = GetPagePos( nPageId ); // Wenn Item nicht existiert, dann nichts machen - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { // Wenn sich aktuelle Page nicht geaendert hat, dann muessen wir // jetzt nichts mehr machen @@ -1962,7 +1965,7 @@ void TabBar::MakeVisible( USHORT nPageId ) USHORT nPos = GetPagePos( nPageId ); // Wenn Item nicht existiert, dann nichts machen - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { if ( nPos < mnFirstPos ) SetFirstPageId( nPageId ); @@ -2011,7 +2014,7 @@ void TabBar::SetFirstPageId( USHORT nPageId ) USHORT nPos = GetPagePos( nPageId ); // Wenn Item nicht existiert, dann FALSE zurueckgeben - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { if ( nPos != mnFirstPos ) { @@ -2045,7 +2048,7 @@ void TabBar::SelectPage( USHORT nPageId, BOOL bSelect ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); @@ -2126,7 +2129,7 @@ USHORT TabBar::GetSelectPageCount() const BOOL TabBar::IsPageSelected( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->mbSelect; else return FALSE; @@ -2137,7 +2140,7 @@ BOOL TabBar::IsPageSelected( USHORT nPageId ) const BOOL TabBar::StartEditMode( USHORT nPageId ) { USHORT nPos = GetPagePos( nPageId ); - if ( mpEdit || (nPos == TABBAR_PAGE_NOTFOUND) || (mnLastOffX < 8) ) + if ( mpEdit || (nPos == PAGE_NOT_FOUND) || (mnLastOffX < 8) ) return FALSE; mnEditId = nPageId; @@ -2358,7 +2361,7 @@ void TabBar::SetSelectTextColor( const Color& rColor ) void TabBar::SetPageText( USHORT nPageId, const XubString& rText ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { mpItemList->GetObject( nPos )->maText = rText; mbSizeFormat = TRUE; @@ -2376,7 +2379,7 @@ void TabBar::SetPageText( USHORT nPageId, const XubString& rText ) XubString TabBar::GetPageText( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->maText; else return XubString(); @@ -2387,7 +2390,7 @@ XubString TabBar::GetPageText( USHORT nPageId ) const void TabBar::SetHelpText( USHORT nPageId, const XubString& rText ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) mpItemList->GetObject( nPos )->maHelpText = rText; } @@ -2396,7 +2399,7 @@ void TabBar::SetHelpText( USHORT nPageId, const XubString& rText ) XubString TabBar::GetHelpText( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) { ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); if ( !pItem->maHelpText.Len() && pItem->mnHelpId ) @@ -2417,7 +2420,7 @@ XubString TabBar::GetHelpText( USHORT nPageId ) const void TabBar::SetHelpId( USHORT nPageId, ULONG nHelpId ) { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) mpItemList->GetObject( nPos )->mnHelpId = nHelpId; } @@ -2426,7 +2429,7 @@ void TabBar::SetHelpId( USHORT nPageId, ULONG nHelpId ) ULONG TabBar::GetHelpId( USHORT nPageId ) const { USHORT nPos = GetPagePos( nPageId ); - if ( nPos != TABBAR_PAGE_NOTFOUND ) + if ( nPos != PAGE_NOT_FOUND ) return mpItemList->GetObject( nPos )->mnHelpId; else return 0; -- cgit From 2898bbb3d82e49f7c1bc5c92ccb235cd3756ab67 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 16:13:04 -0500 Subject: calctabcolor: Use static constant values instead of macro define for more type safety. --- accessibility/source/extended/accessibletabbarbase.cxx | 2 +- accessibility/source/extended/accessibletabbarpagelist.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/accessibility/source/extended/accessibletabbarbase.cxx b/accessibility/source/extended/accessibletabbarbase.cxx index 99f5a9b1c073..a4441a32b0f9 100644 --- a/accessibility/source/extended/accessibletabbarbase.cxx +++ b/accessibility/source/extended/accessibletabbarbase.cxx @@ -66,7 +66,7 @@ IMPL_LINK( AccessibleTabBarBase, WindowEventListener, VclSimpleEvent*, pEvent ) DBG_ASSERT( pEventWindow, "AccessibleTabBarBase::WindowEventListener: no window!" ); if( ( pWinEvent->GetId() == VCLEVENT_TABBAR_PAGEREMOVED ) && - ( (sal_uInt16)(sal_IntPtr) pWinEvent->GetData() == TABBAR_PAGE_NOTFOUND ) && + ( (sal_uInt16)(sal_IntPtr) pWinEvent->GetData() == TabBar::PAGE_NOT_FOUND ) && ( dynamic_cast< AccessibleTabBarPageList *> (this) != NULL ) ) { return 0; diff --git a/accessibility/source/extended/accessibletabbarpagelist.cxx b/accessibility/source/extended/accessibletabbarpagelist.cxx index 9d8a3d378a86..488faf621256 100644 --- a/accessibility/source/extended/accessibletabbarpagelist.cxx +++ b/accessibility/source/extended/accessibletabbarpagelist.cxx @@ -316,7 +316,7 @@ namespace accessibility { sal_uInt16 nPageId = (sal_uInt16)(sal_IntPtr) rVclWindowEvent.GetData(); - if ( nPageId == TABBAR_PAGE_NOTFOUND ) + if ( nPageId == TabBar::PAGE_NOT_FOUND ) { for ( sal_Int32 i = m_aAccessibleChildren.size() - 1; i >= 0; --i ) RemoveChild( i ); -- cgit -- cgit From 7e01d0af7f0192370d288d9333dac5f7d6210bb2 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 16:50:03 -0500 Subject: calctabcolor: Fix a crasher; don't forget to check for NULL pointers. The Tab color would crash when you clicked on the Help button to launch the help window, then closed. --- sc/source/ui/app/scmod.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index b9d8682c412b..02bd491df522 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -2287,6 +2287,9 @@ Window * ScModule::Find1RefWindow( USHORT nSlotId, Window *pWndAncestor ) Window * ScModule::Find1RefWindow( Window *pWndAncestor ) { + if (!pWndAncestor) + return NULL; + while( Window *pParent = pWndAncestor->GetParent() ) pWndAncestor = pParent; for( std::map >::iterator i = m_mapRefWindow.begin(); -- cgit From 55b416fdb7283c54c6d89ef1d750cca494940ef7 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 23 Feb 2010 17:21:02 -0500 Subject: calctabcolor: More tab to whitespace conversions & removed those ugly "Added by ..." markers. --- sc/inc/scmod.hxx | 2 -- sc/source/ui/app/scmod.cxx | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx index bf7f8810fec3..5403d086f80f 100644 --- a/sc/inc/scmod.hxx +++ b/sc/inc/scmod.hxx @@ -290,13 +290,11 @@ SC_DLLPUBLIC void SetAppOptions ( const ScAppOptions& rO void SetInSharedDocSaving( bool bNew ) { mbIsInSharedDocSaving = bNew; } bool IsInSharedDocSaving() const { return mbIsInSharedDocSaving; } - //Added by PengYunQuan for Validity Cell Range Picker }; #define SC_MOD() ( *(ScModule**) GetAppData(SHL_CALC) ) diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index 02bd491df522..8bcb84a13777 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -2217,9 +2217,6 @@ IMPL_LINK( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo ) return 0; } - - -// PB 2004-08-23 #i33095# Security Options #define SC_UNO_LOADREADONLY "LoadReadonly" // <-- +#define SC_UNO_MODIFYPASSWORDHASH "ModifyPasswordHash" // FormulaParser #define SC_UNO_COMPILEENGLISH "CompileEnglish" diff --git a/sc/source/ui/unoobj/confuno.cxx b/sc/source/ui/unoobj/confuno.cxx index dd8f15359559..90f3b1ce2781 100644 --- a/sc/source/ui/unoobj/confuno.cxx +++ b/sc/source/ui/unoobj/confuno.cxx @@ -88,6 +88,7 @@ const SfxItemPropertyMapEntry* lcl_GetConfigPropertyMap() {MAP_CHAR_LEN(SC_UNO_LOADREADONLY), 0, &getBooleanCppuType(), 0, 0}, // <-- {MAP_CHAR_LEN(SC_UNO_SHAREDOC), 0, &getBooleanCppuType(), 0, 0}, + {MAP_CHAR_LEN(SC_UNO_MODIFYPASSWORDHASH), 0, &getCppuType((sal_Int32*)0), 0, 0}, {0,0,0,0,0,0} }; return aConfigPropertyMap_Impl; @@ -274,6 +275,20 @@ void SAL_CALL ScDocumentConfiguration::setPropertyValue( pDocShell->SetSharedXMLFlag( bDocShared ); } } + else if ( aPropertyName.compareToAscii( SC_UNO_MODIFYPASSWORDHASH ) == 0 ) + { + sal_Int32 nHash = 0; + if ( !( aValue >>= nHash ) || nHash < 0 || nHash > SAL_MAX_UINT16 ) + throw lang::IllegalArgumentException( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value of type INT32, representing UINT16 expected!" ) ), + uno::Reference< uno::XInterface >(), + 2 ); + + if ( !pDocShell->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) + throw beans::PropertyVetoException( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), + uno::Reference< uno::XInterface >() ); + } else { ScGridOptions aGridOpt(aViewOpt.GetGridOptions()); @@ -407,6 +422,8 @@ uno::Any SAL_CALL ScDocumentConfiguration::getPropertyValue( const rtl::OUString { ScUnoHelpFunctions::SetBoolInAny( aRet, pDocShell->HasSharedXMLFlagSet() ); } + else if ( aPropertyName.compareToAscii( SC_UNO_MODIFYPASSWORDHASH ) == 0 ) + aRet <<= static_cast< sal_Int32 >( pDocShell->GetModifyPasswordHash() ); else { const ScGridOptions& aGridOpt = aViewOpt.GetGridOptions(); -- cgit From de7d4591c0246833febc6c39aa7029f288e63b1f Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Tue, 30 Mar 2010 16:34:51 +0200 Subject: tl78: #i110383# support password to modify --- sw/source/ui/uno/SwXDocumentSettings.cxx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/sw/source/ui/uno/SwXDocumentSettings.cxx b/sw/source/ui/uno/SwXDocumentSettings.cxx index 63a674e0efad..8d6f5bf0cf2c 100644 --- a/sw/source/ui/uno/SwXDocumentSettings.cxx +++ b/sw/source/ui/uno/SwXDocumentSettings.cxx @@ -122,8 +122,9 @@ enum SwDocumentSettingsPropertyHandles HANDLE_PROTECT_FORM, HANDLE_TABS_RELATIVE_TO_INDENT, // --> OD 2008-06-05 #i89181# - HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST + HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, // <-- + HANDLE_MODIFYPASSWORDHASH }; MasterPropertySetInfo * lcl_createSettingsInfo() @@ -177,6 +178,7 @@ MasterPropertySetInfo * lcl_createSettingsInfo() { RTL_CONSTASCII_STRINGPARAM("ProtectForm"), HANDLE_PROTECT_FORM, CPPUTYPE_BOOLEAN, 0, 0}, // --> OD 2008-06-05 #i89181# { RTL_CONSTASCII_STRINGPARAM("TabAtLeftIndentForParagraphsInList"), HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, CPPUTYPE_BOOLEAN, 0, 0}, + { RTL_CONSTASCII_STRINGPARAM("ModifyPasswordHash"), HANDLE_MODIFYPASSWORDHASH, CPPUTYPE_INT32, 0, 0}, /* * As OS said, we don't have a view when we need to set this, so I have to @@ -671,6 +673,21 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf } break; // <-- + case HANDLE_MODIFYPASSWORDHASH: + { + sal_Int32 nHash = 0; + if ( !( rValue >>= nHash ) || nHash < 0 || nHash > SAL_MAX_UINT16 ) + throw lang::IllegalArgumentException( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value of type INT32, representing UINT16 expected!" ) ), + uno::Reference< uno::XInterface >(), + 2 ); + + if ( !mpDocSh->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) + throw beans::PropertyVetoException( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), + uno::Reference< uno::XInterface >() ); + } + break; default: throw UnknownPropertyException(); } @@ -998,6 +1015,11 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf } break; // <-- + case HANDLE_MODIFYPASSWORDHASH: + { + rValue <<= static_cast< sal_Int32 >( mpDocSh->GetModifyPasswordHash() ); + } + break; default: throw UnknownPropertyException(); -- cgit From ef9fac0f7d3d55f7032a97684a0f209c267dcf65 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Tue, 30 Mar 2010 16:34:51 +0200 Subject: tl78: #i110383# support password to modify --- sd/source/ui/unoidl/UnoDocumentSettings.cxx | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/sd/source/ui/unoidl/UnoDocumentSettings.cxx b/sd/source/ui/unoidl/UnoDocumentSettings.cxx index ed47e57b2130..aa41dfc54bb0 100644 --- a/sd/source/ui/unoidl/UnoDocumentSettings.cxx +++ b/sd/source/ui/unoidl/UnoDocumentSettings.cxx @@ -152,7 +152,7 @@ enum SdDocumentSettingsPropertyHandles // --> PB 2004-08-23 #i33095# ,HANDLE_LOAD_READONLY, HANDLE_SAVE_VERSION // <-- - ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL + ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL, HANDLE_MODIFYPASSWORDHASH }; #define MID_PRINTER 1 @@ -216,6 +216,7 @@ enum SdDocumentSettingsPropertyHandles { MAP_LEN("LoadReadonly"), HANDLE_LOAD_READONLY, &::getBooleanCppuType(), 0, 0 }, { MAP_LEN("SaveVersionOnClose"), HANDLE_SAVE_VERSION, &::getBooleanCppuType(), 0, 0 }, // <-- + { MAP_LEN("ModifyPasswordHash"), HANDLE_MODIFYPASSWORDHASH, &getCppuType((sal_Int32*)0), 0, 0 }, { NULL, 0, 0, NULL, 0, 0 } }; @@ -863,6 +864,25 @@ void DocumentSettings::_setPropertyValues( const PropertyMapEntry** ppEntries, c } break; + case HANDLE_MODIFYPASSWORDHASH: + { + sal_Int32 nHash = 0; + if ( ( *pValues >>= nHash ) && nHash >= 0 && nHash <= SAL_MAX_UINT16 ) + { + bChanged = ( pDocSh->GetModifyPasswordHash() != nHash ); + if ( bChanged ) + { + if ( !pDocSh->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) + throw beans::PropertyVetoException( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), + uno::Reference< uno::XInterface >() ); + } + + bOk = sal_True; + } + } + break; + default: throw UnknownPropertyException(); } @@ -1122,6 +1142,12 @@ void DocumentSettings::_getPropertyValues( const PropertyMapEntry** ppEntries, A } break; + case HANDLE_MODIFYPASSWORDHASH: + { + *pValue <<= static_cast< sal_Int32 >( pDocSh->GetModifyPasswordHash() ); + } + break; + default: throw UnknownPropertyException(); } -- cgit From 07f5876bd07cc60e5c1bf153e5d8617c74306b29 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Tue, 30 Mar 2010 16:47:18 +0200 Subject: tl78: #i110383# support password to modify --- comphelper/inc/comphelper/docpasswordhelper.hxx | 42 +++++++++++++++ comphelper/inc/comphelper/docpasswordrequest.hxx | 13 +++-- comphelper/source/misc/docpasswordhelper.cxx | 39 ++++++++++++++ comphelper/source/misc/docpasswordrequest.cxx | 65 ++++++++++++++++-------- 4 files changed, 135 insertions(+), 24 deletions(-) diff --git a/comphelper/inc/comphelper/docpasswordhelper.hxx b/comphelper/inc/comphelper/docpasswordhelper.hxx index 0a60c4b53ce9..fd04a82ec563 100644 --- a/comphelper/inc/comphelper/docpasswordhelper.hxx +++ b/comphelper/inc/comphelper/docpasswordhelper.hxx @@ -84,6 +84,48 @@ class COMPHELPER_DLLPUBLIC DocPasswordHelper public: // ------------------------------------------------------------------------ + /** This helper function generates the hash code based on the algorithm + specified by MS for "Password to modify" and passwords related to + table protection. + + @param aString + The string for which the hash should be calculated + + @param nEnc + The encoding that should be used to generate the 8-bit string + before the hash is generated + + @return + The hash represented by sal_uInt16 + */ + + static sal_uInt16 GetXLHashAsUINT16( + const ::rtl::OUString& aString, + rtl_TextEncoding nEnc = RTL_TEXTENCODING_UTF8 ); + + // ------------------------------------------------------------------------ + + /** This helper function generates the hash code based on the algorithm + specified by MS for "Password to modify" and passwords related to + table protection. + + @param aString + The string for which the hash should be calculated + + @param nEnc + The encoding that should be used to generate the 8-bit string + before the hash is generated + + @return + The hash represented by sequence of bytes in BigEndian form + */ + + static ::com::sun::star::uno::Sequence< sal_Int8 > GetXLHashAsSequence( + const ::rtl::OUString& aString, + rtl_TextEncoding nEnc = RTL_TEXTENCODING_UTF8 ); + + // ------------------------------------------------------------------------ + /** This helper function tries to request and verify a password to load a protected document. diff --git a/comphelper/inc/comphelper/docpasswordrequest.hxx b/comphelper/inc/comphelper/docpasswordrequest.hxx index 7b186b3a261a..6c369b41cf71 100644 --- a/comphelper/inc/comphelper/docpasswordrequest.hxx +++ b/comphelper/inc/comphelper/docpasswordrequest.hxx @@ -58,13 +58,18 @@ public: explicit DocPasswordRequest( DocPasswordRequestType eType, ::com::sun::star::task::PasswordRequestMode eMode, - const ::rtl::OUString& rDocumentName ); + const ::rtl::OUString& rDocumentName, + sal_Bool bPasswordToModify = sal_False ); virtual ~DocPasswordRequest(); - bool isAbort() const; - bool isPassword() const; + sal_Bool isAbort() const; + sal_Bool isPassword() const; + ::rtl::OUString getPassword() const; + ::rtl::OUString getPasswordToModify() const; + sal_Bool getRecommendReadOnly() const; + private: virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException ); @@ -78,6 +83,8 @@ private: ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > maContinuations; AbortContinuation* mpAbort; PasswordContinuation* mpPassword; + + sal_Bool mbPasswordToModify; }; // ============================================================================ diff --git a/comphelper/source/misc/docpasswordhelper.cxx b/comphelper/source/misc/docpasswordhelper.cxx index ea25cb795a53..5a5d2110deff 100644 --- a/comphelper/source/misc/docpasswordhelper.cxx +++ b/comphelper/source/misc/docpasswordhelper.cxx @@ -33,6 +33,7 @@ #include "comphelper/mediadescriptor.hxx" using ::rtl::OUString; +using ::com::sun::star::uno::Sequence; using ::com::sun::star::uno::Exception; using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::UNO_SET_THROW; @@ -50,6 +51,44 @@ IDocPasswordVerifier::~IDocPasswordVerifier() { } +// ============================================================================ +sal_uInt16 DocPasswordHelper::GetXLHashAsUINT16( + const ::rtl::OUString& aUString, + rtl_TextEncoding nEnc ) +{ + sal_uInt16 nResult = 0; + + ::rtl::OString aString = ::rtl::OUStringToOString( aUString, nEnc ); + + if ( aString.getLength() && aString.getLength() <= SAL_MAX_UINT16 ) + { + for ( sal_Int32 nInd = aString.getLength() - 1; nInd >= 0; nInd-- ) + { + nResult = ( ( nResult >> 14 ) & 0x01 ) | ( ( nResult << 1 ) & 0x7FFF ); + nResult ^= aString.getStr()[nInd]; + } + + nResult = ( ( nResult >> 14 ) & 0x01 ) | ( ( nResult << 1 ) & 0x7FFF ); + nResult ^= ( 0x8000 | ( 'N' << 8 ) | 'K' ); + nResult ^= aString.getLength(); + } + + return nResult; +} + +// ============================================================================ +Sequence< sal_Int8 > DocPasswordHelper::GetXLHashAsSequence( + const ::rtl::OUString& aUString, + rtl_TextEncoding nEnc ) +{ + sal_uInt16 nHash = GetXLHashAsUINT16( aUString, nEnc ); + Sequence< sal_Int8 > aResult( 2 ); + aResult[0] = ( nHash >> 8 ); + aResult[1] = ( nHash & 0xFF ); + + return aResult; +} + // ============================================================================ /*static*/ OUString DocPasswordHelper::requestAndVerifyDocPassword( diff --git a/comphelper/source/misc/docpasswordrequest.cxx b/comphelper/source/misc/docpasswordrequest.cxx index 9377d6c7c473..beed6d7342b3 100644 --- a/comphelper/source/misc/docpasswordrequest.cxx +++ b/comphelper/source/misc/docpasswordrequest.cxx @@ -29,10 +29,10 @@ #include "precompiled_comphelper.hxx" #include "comphelper/docpasswordrequest.hxx" -#include -#include +#include +#include #include -#include +#include using ::rtl::OUString; using ::com::sun::star::uno::Any; @@ -41,12 +41,12 @@ using ::com::sun::star::uno::RuntimeException; using ::com::sun::star::uno::Sequence; using ::com::sun::star::uno::XInterface; using ::com::sun::star::task::InteractionClassification_QUERY; -using ::com::sun::star::task::DocumentMSPasswordRequest; -using ::com::sun::star::task::DocumentPasswordRequest; +using ::com::sun::star::task::DocumentMSPasswordRequest2; +using ::com::sun::star::task::DocumentPasswordRequest2; using ::com::sun::star::task::PasswordRequestMode; using ::com::sun::star::task::XInteractionAbort; using ::com::sun::star::task::XInteractionContinuation; -using ::com::sun::star::task::XInteractionPassword; +using ::com::sun::star::task::XInteractionPassword2; namespace comphelper { @@ -57,52 +57,65 @@ class AbortContinuation : public ::cppu::WeakImplHelper1< XInteractionAbort > public: inline explicit AbortContinuation() : mbSelected( false ) {} - inline bool isSelected() const { return mbSelected; } + inline sal_Bool isSelected() const { return mbSelected; } inline void reset() { mbSelected = false; } virtual void SAL_CALL select() throw( RuntimeException ) { mbSelected = true; } private: - bool mbSelected; + sal_Bool mbSelected; }; // ============================================================================ -class PasswordContinuation : public ::cppu::WeakImplHelper1< XInteractionPassword > +class PasswordContinuation : public ::cppu::WeakImplHelper1< XInteractionPassword2 > { public: - inline explicit PasswordContinuation() : mbSelected( false ) {} + inline explicit PasswordContinuation() : mbSelected( sal_False ), mbReadOnly( sal_False ) {} - inline bool isSelected() const { return mbSelected; } - inline void reset() { mbSelected = false; } + inline sal_Bool isSelected() const { return mbSelected; } + inline void reset() { mbSelected = sal_False; } + + virtual void SAL_CALL select() throw( RuntimeException ) { mbSelected = sal_True; } - virtual void SAL_CALL select() throw( RuntimeException ) { mbSelected = true; } virtual void SAL_CALL setPassword( const OUString& rPass ) throw( RuntimeException ) { maPassword = rPass; } virtual OUString SAL_CALL getPassword() throw( RuntimeException ) { return maPassword; } + virtual void SAL_CALL setPasswordToModify( const OUString& rPass ) throw( RuntimeException ) { maModifyPassword = rPass; } + virtual OUString SAL_CALL getPasswordToModify() throw( RuntimeException ) { return maModifyPassword; } + + virtual void SAL_CALL setRecommendReadOnly( const sal_Bool bReadOnly ) throw( RuntimeException ) { mbReadOnly = bReadOnly; } + virtual sal_Bool SAL_CALL getRecommendReadOnly() throw( RuntimeException ) { return mbReadOnly; } + private: OUString maPassword; - bool mbSelected; + OUString maModifyPassword; + sal_Bool mbReadOnly; + + sal_Bool mbSelected; }; // ============================================================================ DocPasswordRequest::DocPasswordRequest( DocPasswordRequestType eType, - PasswordRequestMode eMode, const OUString& rDocumentName ) + PasswordRequestMode eMode, const OUString& rDocumentName, sal_Bool bPasswordToModify ) +: mpAbort( NULL ) +, mpPassword( NULL ) +, mbPasswordToModify( bPasswordToModify ) { switch( eType ) { case DocPasswordRequestType_STANDARD: { - DocumentPasswordRequest aRequest( OUString(), Reference< XInterface >(), - InteractionClassification_QUERY, eMode, rDocumentName ); + DocumentPasswordRequest2 aRequest( OUString(), Reference< XInterface >(), + InteractionClassification_QUERY, eMode, rDocumentName, bPasswordToModify ); maRequest <<= aRequest; } break; case DocPasswordRequestType_MS: { - DocumentMSPasswordRequest aRequest( OUString(), Reference< XInterface >(), - InteractionClassification_QUERY, eMode, rDocumentName ); + DocumentMSPasswordRequest2 aRequest( OUString(), Reference< XInterface >(), + InteractionClassification_QUERY, eMode, rDocumentName, bPasswordToModify ); maRequest <<= aRequest; } break; @@ -119,12 +132,12 @@ DocPasswordRequest::~DocPasswordRequest() { } -bool DocPasswordRequest::isAbort() const +sal_Bool DocPasswordRequest::isAbort() const { return mpAbort->isSelected(); } -bool DocPasswordRequest::isPassword() const +sal_Bool DocPasswordRequest::isPassword() const { return mpPassword->isSelected(); } @@ -134,6 +147,16 @@ OUString DocPasswordRequest::getPassword() const return mpPassword->getPassword(); } +OUString DocPasswordRequest::getPasswordToModify() const +{ + return mpPassword->getPasswordToModify(); +} + +sal_Bool DocPasswordRequest::getRecommendReadOnly() const +{ + return mpPassword->getRecommendReadOnly(); +} + Any SAL_CALL DocPasswordRequest::getRequest() throw( RuntimeException ) { return maRequest; -- cgit From ea9a8787f9c70f48567090d01bf9e1fba745941f Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Tue, 30 Mar 2010 16:47:18 +0200 Subject: tl78: #i110383# support password to modify --- offapi/com/sun/star/task/XInteractionPassword2.idl | 80 ++++++++++++++++++++++ offapi/com/sun/star/task/makefile.mk | 1 + 2 files changed, 81 insertions(+) create mode 100644 offapi/com/sun/star/task/XInteractionPassword2.idl diff --git a/offapi/com/sun/star/task/XInteractionPassword2.idl b/offapi/com/sun/star/task/XInteractionPassword2.idl new file mode 100644 index 000000000000..925f96f30e5a --- /dev/null +++ b/offapi/com/sun/star/task/XInteractionPassword2.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XInteractionPassword.idl,v $ + * $Revision: 1.8 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_task_XInteractionPassword2_idl__ +#define __com_sun_star_task_XInteractionPassword2_idl__ + +#ifndef __com_sun_star_task_XInteractionPassword_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module task { + +//============================================================================= +/** A continuation to get a password from interaction helper, extends + XInteractionPassword with possibility to provide password + to modify. + + @since OOo 3.3 +*/ +published interface XInteractionPassword2 : ::com::sun::star::task::XInteractionPassword +{ + //------------------------------------------------------------------------- + /** stores "password to modify" to the continuation. + */ + void setPasswordToModify( [in] string aPasswd ); + + //------------------------------------------------------------------------- + /** gets "password to modify" from the continuation. + */ + string getPasswordToModify(); + + //------------------------------------------------------------------------- + /** stores "recommend readonly" to the continuation. It specifies whether + the document should be loaded readonly per default. + */ + void setRecommendReadOnly( [in] boolean bReadOnly ); + + //------------------------------------------------------------------------- + /** gets "recommend readonly" from the continuation. It specifies whether + the document should be loaded readonly per default. + */ + boolean getRecommendReadOnly(); + + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk index 7166fb6ffd8c..4b58d9ae1a01 100755 --- a/offapi/com/sun/star/task/makefile.mk +++ b/offapi/com/sun/star/task/makefile.mk @@ -68,6 +68,7 @@ IDLFILES=\ XInteractionAskLater.idl\ XInteractionDisapprove.idl\ XInteractionPassword.idl\ + XInteractionPassword2.idl\ XJob.idl\ XJobExecutor.idl\ XJobListener.idl\ -- cgit From 9ace57ec709cd618b5401da6f1ebacba5a07c1c0 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 1 Apr 2010 15:31:41 +0200 Subject: tl78: #i110383# allow to change the hash always for now --- sfx2/source/doc/objcont.cxx | 15 +++++++++------ sfx2/source/doc/objxtor.cxx | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx index b1a5968b2b5a..5d14007ec169 100644 --- a/sfx2/source/doc/objcont.cxx +++ b/sfx2/source/doc/objcont.cxx @@ -1486,13 +1486,16 @@ sal_uInt16 SfxObjectShell::GetModifyPasswordHash() const sal_Bool SfxObjectShell::SetModifyPasswordHash( sal_uInt16 nHash ) { - if ( !IsReadOnly() && !IsReadOnlyUI() ) - { - // the hash can be changed only in editable documents, +// Commented out before the solution for Saving process is found +// if ( ( !IsReadOnly() && !IsReadOnlyUI() ) +// || !(pImp->nFlagsInProgress & SFX_LOADED_MAINDOCUMENT ) ) +// { +// // the hash can be changed only in editable documents, +// // or during loading of document pImp->m_nModifyPasswordHash = nHash; return sal_True; - } - - return sal_False; +// } +// +// return sal_False; } diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 0ed230dd9dd9..0b0c356b65ed 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -261,6 +261,7 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell ) ,m_bCreateTempStor( sal_False ) ,m_xDocInfoListener() ,m_bIsInit( sal_False ) + ,m_bUIStoring( sal_False ) ,m_bIncomplEncrWarnShown( sal_False ) ,m_nModifyPasswordHash( 0 ) { -- cgit From 62eee956dbb05c25600030ab47310bf39db0c7ee Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 1 Apr 2010 15:37:38 +0200 Subject: tl78: #i110383# fix typo --- sfx2/source/doc/objxtor.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 0b0c356b65ed..0ed230dd9dd9 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -261,7 +261,6 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell ) ,m_bCreateTempStor( sal_False ) ,m_xDocInfoListener() ,m_bIsInit( sal_False ) - ,m_bUIStoring( sal_False ) ,m_bIncomplEncrWarnShown( sal_False ) ,m_nModifyPasswordHash( 0 ) { -- cgit From af5c3ad88ab4f93e825d9b6931727d36d87df05e Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Tue, 6 Apr 2010 13:28:48 +0200 Subject: tl78: compiler warning --- comphelper/source/misc/docpasswordrequest.cxx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/comphelper/source/misc/docpasswordrequest.cxx b/comphelper/source/misc/docpasswordrequest.cxx index beed6d7342b3..585868822c18 100644 --- a/comphelper/source/misc/docpasswordrequest.cxx +++ b/comphelper/source/misc/docpasswordrequest.cxx @@ -84,14 +84,13 @@ public: virtual void SAL_CALL setPasswordToModify( const OUString& rPass ) throw( RuntimeException ) { maModifyPassword = rPass; } virtual OUString SAL_CALL getPasswordToModify() throw( RuntimeException ) { return maModifyPassword; } - virtual void SAL_CALL setRecommendReadOnly( const sal_Bool bReadOnly ) throw( RuntimeException ) { mbReadOnly = bReadOnly; } + virtual void SAL_CALL setRecommendReadOnly( sal_Bool bReadOnly ) throw( RuntimeException ) { mbReadOnly = bReadOnly; } virtual sal_Bool SAL_CALL getRecommendReadOnly() throw( RuntimeException ) { return mbReadOnly; } private: OUString maPassword; OUString maModifyPassword; sal_Bool mbReadOnly; - sal_Bool mbSelected; }; -- cgit From fb70a4cd3b77e0ea6bb5820b47bfd7ea39fa3228 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 6 Apr 2010 17:15:01 +0200 Subject: jl152 import 263445 from native0jl:#i77196# supporting extension help --- desktop/source/deployment/registry/dp_backend.cxx | 9 + .../source/deployment/registry/help/dp_help.cxx | 583 +++++++++++---------- .../deployment/registry/help/dp_helpbackenddb.cxx | 10 +- .../deployment/registry/help/dp_helpbackenddb.hxx | 3 +- .../source/deployment/registry/inc/dp_backend.h | 3 + xmlhelp/source/cxxhelp/provider/databases.cxx | 178 +++++-- xmlhelp/source/cxxhelp/provider/databases.hxx | 19 +- xmlhelp/source/cxxhelp/provider/urlparameter.cxx | 10 +- xmlhelp/source/cxxhelp/provider/urlparameter.hxx | 3 + 9 files changed, 492 insertions(+), 326 deletions(-) diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index dcfc2c6b3d2f..be752bcf0733 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -716,6 +716,15 @@ OUString Package::getRepositoryName() return backEnd->getContext(); } +beans::Optional< OUString > Package::getRegistrationDataURL() + throw (deployment::ExtensionRemovedException, + css::uno::RuntimeException) +{ + if (m_bRemoved) + throw deployment::ExtensionRemovedException(); + return beans::Optional(); +} + sal_Bool Package::isRemoved() throw (RuntimeException) { diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index b594f9395ceb..aeeec94981e6 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -46,7 +46,7 @@ #include #include #include - +#include "boost/optional.hpp" using namespace ::dp_misc; using namespace ::com::sun::star; @@ -80,11 +80,15 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend Reference const & xCmdEnv ); public: - inline PackageImpl( + PackageImpl( ::rtl::Reference const & myBackend, OUString const & url, OUString const & name, Reference const & xPackageType, bool bRemoved, OUString const & identifier); + + //XPackage + virtual css::beans::Optional< ::rtl::OUString > SAL_CALL getRegistrationDataURL() + throw (deployment::ExtensionRemovedException, css::uno::RuntimeException); }; friend class PackageImpl; @@ -98,13 +102,13 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend Reference const & xCmdEnv); void implCollectXhpFiles( const rtl::OUString& aDir, std::vector< rtl::OUString >& o_rXhpFileVector ); - rtl::OUString getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ); - rtl::OUString getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ); - rtl::OUString getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ); - rtl::OUString expandURL( const rtl::OUString& aURL ); +// rtl::OUString getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ); +// rtl::OUString getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ); +// rtl::OUString getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ); +// rtl::OUString expandURL( const rtl::OUString& aURL ); void addDataToDb(OUString const & url, HelpBackendDb::Data const & data); - HelpBackendDb::Data readDataFromDb(OUString const & url); + ::boost::optional readDataFromDb(OUString const & url); void deleteDataFromDb(OUString const & url); Reference< ucb::XSimpleFileAccess > getFileAccess( void ); @@ -208,10 +212,10 @@ void BackendImpl::addDataToDb( m_backendDb->addEntry(url, data); } -HelpBackendDb::Data BackendImpl::readDataFromDb( +::boost::optional BackendImpl::readDataFromDb( OUString const & url) { - HelpBackendDb::Data data; + ::boost::optional data; if (m_backendDb.get()) data = m_backendDb->getEntry(url); return data; @@ -232,7 +236,12 @@ BackendImpl::PackageImpl::PackageImpl( : Package( myBackend, url, name, name, xPackageType, bRemoved, identifier) { if (bRemoved) - m_dbData = getMyBackend()->readDataFromDb(url); + { + ::boost::optional opt = + getMyBackend()->readDataFromDb(url); + if (opt) + m_dbData = *opt; + } } // Package @@ -259,11 +268,10 @@ BackendImpl::PackageImpl::isRegistered_( Reference const & ) { BackendImpl * that = getMyBackend(); - Reference< deployment::XPackage > xThisPackage( this ); - rtl::OUString aRegisteredFlagFile = that->getRegisteredFlagFileURL( xThisPackage ); - Reference< ucb::XSimpleFileAccess > xSFA = that->getFileAccess(); - bool bReg = xSFA->exists( aRegisteredFlagFile ); + bool bReg = false; + if (that->readDataFromDb(getURL())) + bReg = true; return beans::Optional< beans::Ambiguous >( true, beans::Ambiguous( bReg, false ) ); } @@ -291,6 +299,23 @@ void BackendImpl::PackageImpl::processPackage_( // getMyBackend()->deleteDataFromDb(getURL()); } +beans::Optional< OUString > BackendImpl::PackageImpl::getRegistrationDataURL() + throw (deployment::ExtensionRemovedException, + css::uno::RuntimeException) +{ + if (m_bRemoved) + throw deployment::ExtensionRemovedException(); + + ::boost::optional data = + getMyBackend()->readDataFromDb(getURL()); + + if (data) + return beans::Optional(true, data->dataUrl); + + return beans::Optional(true, OUString()); +} + + //############################################################################## static rtl::OUString aSlash( rtl::OUString::createFromAscii( "/" ) ); @@ -305,232 +330,230 @@ void BackendImpl::implProcessHelp if (doRegisterPackage) { HelpBackendDb::Data data; - Reference< ucb::XSimpleFileAccess > xSFA = getFileAccess(); + const OUString sHelpFolder = createFolder(OUString(), xCmdEnv); + data.dataUrl = sHelpFolder; - rtl::OUString aRegisteredFlagFile = getRegisteredFlagFileURL( xPackage ); - if( !doRegisterPackage ) + Reference< ucb::XSimpleFileAccess > xSFA = getFileAccess(); + rtl::OUString aHelpURL = xPackage->getURL(); + rtl::OUString aExpandedHelpURL = dp_misc::expandUnoRcUrl( aHelpURL ); + rtl::OUString aName = xPackage->getName(); + if( !xSFA->isFolder( aExpandedHelpURL ) ) { - if( xSFA->exists( aRegisteredFlagFile ) ) - xSFA->kill( aRegisteredFlagFile ); - return; + rtl::OUString aErrStr = getResourceString( RID_STR_HELPPROCESSING_GENERAL_ERROR ); + aErrStr += rtl::OUString::createFromAscii( "No help folder" ); + OWeakObject* oWeakThis = static_cast(this); + throw deployment::DeploymentException( rtl::OUString(), oWeakThis, + makeAny( uno::Exception( aErrStr, oWeakThis ) ) ); } - bool bCompile = true; - rtl::OUString aCompiledFlagFile = getCompiledFlagFileURL( xPackage ); - if( xSFA->exists( aCompiledFlagFile ) ) - bCompile = false; - - if( bCompile ) + Reference const & xContext = getComponentContext(); + Reference< script::XInvocation > xInvocation; + if( xContext.is() ) { - OUString sHelpFolder = createFolder(OUString(), xCmdEnv); - data.dataUrl = sHelpFolder; - rtl::OUString aHelpURL = xPackage->getURL(); - rtl::OUString aExpandedHelpURL = expandURL( aHelpURL ); - rtl::OUString aName = xPackage->getName(); - if( !xSFA->isFolder( aExpandedHelpURL ) ) + try { - rtl::OUString aErrStr = getResourceString( RID_STR_HELPPROCESSING_GENERAL_ERROR ); - aErrStr += rtl::OUString::createFromAscii( "No help folder" ); - OWeakObject* oWeakThis = static_cast(this); - throw deployment::DeploymentException( rtl::OUString(), oWeakThis, - makeAny( uno::Exception( aErrStr, oWeakThis ) ) ); + xInvocation = Reference< script::XInvocation >( + xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( + "com.sun.star.help.HelpIndexer" ), xContext ) , UNO_QUERY ); } - - Reference const & xContext = getComponentContext(); - Reference< script::XInvocation > xInvocation; - if( xContext.is() ) + catch (Exception &) { - try - { - xInvocation = Reference< script::XInvocation >( - xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( - "com.sun.star.help.HelpIndexer" ), xContext ) , UNO_QUERY ); - } - catch (Exception &) - { - // i98680: Survive missing lucene - } + // i98680: Survive missing lucene } + } - // Scan languages - Sequence< rtl::OUString > aLanguageFolderSeq = xSFA->getFolderContents( aExpandedHelpURL, true ); - sal_Int32 nLangCount = aLanguageFolderSeq.getLength(); - const rtl::OUString* pSeq = aLanguageFolderSeq.getConstArray(); - for( sal_Int32 iLang = 0 ; iLang < nLangCount ; ++iLang ) + // Scan languages + Sequence< rtl::OUString > aLanguageFolderSeq = xSFA->getFolderContents( aExpandedHelpURL, true ); + sal_Int32 nLangCount = aLanguageFolderSeq.getLength(); + const rtl::OUString* pSeq = aLanguageFolderSeq.getConstArray(); + for( sal_Int32 iLang = 0 ; iLang < nLangCount ; ++iLang ) + { + rtl::OUString aLangURL = pSeq[iLang]; + if( xSFA->isFolder( aLangURL ) ) { - rtl::OUString aLangURL = pSeq[iLang]; - if( xSFA->isFolder( aLangURL ) ) + std::vector< rtl::OUString > aXhpFileVector; + + // Delete (old) files in any case to allow compiler to be started every time +// rtl::OUString aLangWithPureNameURL( aLangURL ); +// aLangWithPureNameURL += aSlash; +// aLangWithPureNameURL += aHelpStr; +// rtl::OUString aDbFile( aLangWithPureNameURL ); +// aDbFile += rtl::OUString::createFromAscii( ".db" ); +// if( xSFA->exists( aDbFile ) ) +// xSFA->kill( aDbFile ); +// rtl::OUString aHtFile( aLangWithPureNameURL ); +// aHtFile += rtl::OUString::createFromAscii( ".ht" ); +// if( xSFA->exists( aHtFile ) ) +// xSFA->kill( aHtFile ); +// rtl::OUString aKeyFile( aLangWithPureNameURL ); +// aKeyFile += rtl::OUString::createFromAscii( ".key" ); +// if( xSFA->exists( aKeyFile ) ) +// xSFA->kill( aKeyFile ); + + // calculate jar file URL + sal_Int32 indexStartSegment = aLangURL.lastIndexOf('/'); + // for example "/en" + OUString langFolderURLSegment( + aLangURL.copy( + indexStartSegment + 1, aLangURL.getLength() - indexStartSegment - 1)); + + //create the folder in the "temporary folder" + ::ucbhelper::Content langFolderContent; + const OUString langFolderDest = makeURL(sHelpFolder, langFolderURLSegment); + const OUString langFolderDestExpanded = ::dp_misc::expandUnoRcUrl(langFolderDest); + ::dp_misc::create_folder( + &langFolderContent, + langFolderDest, xCmdEnv); + + rtl::OUString aJarFile( + makeURL(sHelpFolder, langFolderURLSegment + aSlash + aHelpStr + + OUSTR(".jar"))); +// aJarFile += aSlash; +// aJarFile += aHelpStr; +// aJarFile += rtl::OUString::createFromAscii( ".jar" ); + // remove in any case to clean up +// if( xSFA->exists( aJarFile ) ) +// xSFA->kill( aJarFile ); + aJarFile = ::dp_misc::expandUnoRcUrl(aJarFile); + + rtl::OUString aEncodedJarFilePath = rtl::Uri::encode( + aJarFile, rtl_UriCharClassPchar, + rtl_UriEncodeIgnoreEscapes, + RTL_TEXTENCODING_UTF8 ); + rtl::OUString aDestBasePath = rtl::OUString::createFromAscii( "vnd.sun.star.pkg://" ); + aDestBasePath += aEncodedJarFilePath; + aDestBasePath += rtl::OUString::createFromAscii( "/" ); + + sal_Int32 nLenLangFolderURL = aLangURL.getLength() + 1; + + Sequence< rtl::OUString > aSubLangSeq = xSFA->getFolderContents( aLangURL, true ); + sal_Int32 nSubLangCount = aSubLangSeq.getLength(); + const rtl::OUString* pSubLangSeq = aSubLangSeq.getConstArray(); + for( sal_Int32 iSubLang = 0 ; iSubLang < nSubLangCount ; ++iSubLang ) { - std::vector< rtl::OUString > aXhpFileVector; - - // Delete (old) files in any case to allow compiler to be started every time - rtl::OUString aLangWithPureNameURL( aLangURL ); - aLangWithPureNameURL += aSlash; - aLangWithPureNameURL += aHelpStr; - rtl::OUString aDbFile( aLangWithPureNameURL ); - aDbFile += rtl::OUString::createFromAscii( ".db" ); - if( xSFA->exists( aDbFile ) ) - xSFA->kill( aDbFile ); - rtl::OUString aHtFile( aLangWithPureNameURL ); - aHtFile += rtl::OUString::createFromAscii( ".ht" ); - if( xSFA->exists( aHtFile ) ) - xSFA->kill( aHtFile ); - rtl::OUString aKeyFile( aLangWithPureNameURL ); - aKeyFile += rtl::OUString::createFromAscii( ".key" ); - if( xSFA->exists( aKeyFile ) ) - xSFA->kill( aKeyFile ); - - // calculate jar file URL - rtl::OUString aJarFile( aLangURL ); - aJarFile += aSlash; - aJarFile += aHelpStr; - aJarFile += rtl::OUString::createFromAscii( ".jar" ); - // remove in any case to clean up - if( xSFA->exists( aJarFile ) ) - xSFA->kill( aJarFile ); - - rtl::OUString aEncodedJarFilePath = rtl::Uri::encode( aJarFile, - rtl_UriCharClassPchar, rtl_UriEncodeIgnoreEscapes, RTL_TEXTENCODING_UTF8 ); - rtl::OUString aDestBasePath = rtl::OUString::createFromAscii( "vnd.sun.star.pkg://" ); - aDestBasePath += aEncodedJarFilePath; - aDestBasePath += rtl::OUString::createFromAscii( "/" ); - - sal_Int32 nLenLangFolderURL = aLangURL.getLength() + 1; - - Sequence< rtl::OUString > aSubLangSeq = xSFA->getFolderContents( aLangURL, true ); - sal_Int32 nSubLangCount = aSubLangSeq.getLength(); - const rtl::OUString* pSubLangSeq = aSubLangSeq.getConstArray(); - for( sal_Int32 iSubLang = 0 ; iSubLang < nSubLangCount ; ++iSubLang ) - { - rtl::OUString aSubFolderURL = pSubLangSeq[iSubLang]; - if( !xSFA->isFolder( aSubFolderURL ) ) - continue; + rtl::OUString aSubFolderURL = pSubLangSeq[iSubLang]; + if( !xSFA->isFolder( aSubFolderURL ) ) + continue; - implCollectXhpFiles( aSubFolderURL, aXhpFileVector ); + implCollectXhpFiles( aSubFolderURL, aXhpFileVector ); - // Copy to package (later: move?) - rtl::OUString aDestPath = aDestBasePath; - rtl::OUString aPureFolderName = aSubFolderURL.copy( nLenLangFolderURL ); - aDestPath += aPureFolderName; - xSFA->copy( aSubFolderURL, aDestPath ); - } + // Copy to package (later: move?) + rtl::OUString aDestPath = aDestBasePath; + rtl::OUString aPureFolderName = aSubFolderURL.copy( nLenLangFolderURL ); + aDestPath += aPureFolderName; + xSFA->copy( aSubFolderURL, aDestPath ); + } + //Copy help.tree to the temp folder in the help backend folder +// xSFA->copy(aLangURL + OUSTR("/help.tree"), langFolderDestExpanded + OUSTR("/help.tree")); - // Call compiler - sal_Int32 nXhpFileCount = aXhpFileVector.size(); - rtl::OUString* pXhpFiles = new rtl::OUString[nXhpFileCount]; - for( sal_Int32 iXhp = 0 ; iXhp < nXhpFileCount ; ++iXhp ) - { - rtl::OUString aXhpFile = aXhpFileVector[iXhp]; - rtl::OUString aXhpRelFile = aXhpFile.copy( nLenLangFolderURL ); - pXhpFiles[iXhp] = aXhpRelFile; - } + // Call compiler + sal_Int32 nXhpFileCount = aXhpFileVector.size(); + rtl::OUString* pXhpFiles = new rtl::OUString[nXhpFileCount]; + for( sal_Int32 iXhp = 0 ; iXhp < nXhpFileCount ; ++iXhp ) + { + rtl::OUString aXhpFile = aXhpFileVector[iXhp]; + rtl::OUString aXhpRelFile = aXhpFile.copy( nLenLangFolderURL ); + pXhpFiles[iXhp] = aXhpRelFile; + } - rtl::OUString aOfficeHelpPath( SvtPathOptions().GetHelpPath() ); - rtl::OUString aOfficeHelpPathFileURL; - ::osl::File::getFileURLFromSystemPath( aOfficeHelpPath, aOfficeHelpPathFileURL ); + rtl::OUString aOfficeHelpPath( SvtPathOptions().GetHelpPath() ); + rtl::OUString aOfficeHelpPathFileURL; + ::osl::File::getFileURLFromSystemPath( aOfficeHelpPath, aOfficeHelpPathFileURL ); - HelpProcessingErrorInfo aErrorInfo; - bool bSuccess = compileExtensionHelp( aOfficeHelpPathFileURL, aHelpStr, aLangURL, - nXhpFileCount, pXhpFiles, aErrorInfo ); + HelpProcessingErrorInfo aErrorInfo; + bool bSuccess = compileExtensionHelp( + aOfficeHelpPathFileURL, aHelpStr, aLangURL, + nXhpFileCount, pXhpFiles, + langFolderDestExpanded, aErrorInfo ); - if( bSuccess && xInvocation.is() ) - { - Sequence aParamsSeq( 6 ); - - aParamsSeq[0] = uno::makeAny( rtl::OUString::createFromAscii( "-lang" ) ); - - rtl::OUString aLang; - sal_Int32 nLastSlash = aLangURL.lastIndexOf( '/' ); - if( nLastSlash != -1 ) - aLang = aLangURL.copy( nLastSlash + 1 ); - else - aLang = rtl::OUString::createFromAscii( "en" ); - aParamsSeq[1] = uno::makeAny( aLang ); - - aParamsSeq[2] = uno::makeAny( rtl::OUString::createFromAscii( "-mod" ) ); - aParamsSeq[3] = uno::makeAny( rtl::OUString::createFromAscii( "help" ) ); - - aParamsSeq[4] = uno::makeAny( rtl::OUString::createFromAscii( "-zipdir" ) ); - rtl::OUString aSystemPath; - osl::FileBase::getSystemPathFromFileURL( aLangURL, aSystemPath ); - aParamsSeq[5] = uno::makeAny( aSystemPath ); - - Sequence< sal_Int16 > aOutParamIndex; - Sequence< uno::Any > aOutParam; - uno::Any aRet = xInvocation->invoke( rtl::OUString::createFromAscii( "createIndex" ), - aParamsSeq, aOutParamIndex, aOutParam ); - } + if( bSuccess && xInvocation.is() ) + { + Sequence aParamsSeq( 6 ); + + aParamsSeq[0] = uno::makeAny( rtl::OUString::createFromAscii( "-lang" ) ); + + rtl::OUString aLang; + sal_Int32 nLastSlash = aLangURL.lastIndexOf( '/' ); + if( nLastSlash != -1 ) + aLang = aLangURL.copy( nLastSlash + 1 ); + else + aLang = rtl::OUString::createFromAscii( "en" ); + aParamsSeq[1] = uno::makeAny( aLang ); + + aParamsSeq[2] = uno::makeAny( rtl::OUString::createFromAscii( "-mod" ) ); + aParamsSeq[3] = uno::makeAny( rtl::OUString::createFromAscii( "help" ) ); + + aParamsSeq[4] = uno::makeAny( rtl::OUString::createFromAscii( "-zipdir" ) ); + rtl::OUString aSystemPath; +// osl::FileBase::getSystemPathFromFileURL( aLangURL, aSystemPath ); + osl::FileBase::getSystemPathFromFileURL( + langFolderDestExpanded, aSystemPath ); + aParamsSeq[5] = uno::makeAny( aSystemPath ); + + Sequence< sal_Int16 > aOutParamIndex; + Sequence< uno::Any > aOutParam; + uno::Any aRet = xInvocation->invoke( rtl::OUString::createFromAscii( "createIndex" ), + aParamsSeq, aOutParamIndex, aOutParam ); + } - if( !bSuccess ) + if( !bSuccess ) + { + USHORT nErrStrId = 0; + switch( aErrorInfo.m_eErrorClass ) + { + case HELPPROCESSING_GENERAL_ERROR: + case HELPPROCESSING_INTERNAL_ERROR: nErrStrId = RID_STR_HELPPROCESSING_GENERAL_ERROR; break; + case HELPPROCESSING_XMLPARSING_ERROR: nErrStrId = RID_STR_HELPPROCESSING_XMLPARSING_ERROR; break; + default: ; + }; + + rtl::OUString aErrStr; + if( nErrStrId != 0 ) { - USHORT nErrStrId = 0; - switch( aErrorInfo.m_eErrorClass ) + aErrStr = getResourceString( nErrStrId ); + + // Remoce CR/LF + rtl::OUString aErrMsg( aErrorInfo.m_aErrorMsg ); + sal_Unicode nCR = 13, nLF = 10; + sal_Int32 nSearchCR = aErrMsg.indexOf( nCR ); + sal_Int32 nSearchLF = aErrMsg.indexOf( nLF ); + sal_Int32 nCopy; + if( nSearchCR != -1 || nSearchLF != -1 ) { - case HELPPROCESSING_GENERAL_ERROR: - case HELPPROCESSING_INTERNAL_ERROR: nErrStrId = RID_STR_HELPPROCESSING_GENERAL_ERROR; break; - case HELPPROCESSING_XMLPARSING_ERROR: nErrStrId = RID_STR_HELPPROCESSING_XMLPARSING_ERROR; break; - default: ; - }; - - rtl::OUString aErrStr; - if( nErrStrId != 0 ) + if( nSearchCR == -1 ) + nCopy = nSearchLF; + else if( nSearchLF == -1 ) + nCopy = nSearchCR; + else + nCopy = ( nSearchCR < nSearchLF ) ? nSearchCR : nSearchLF; + + aErrMsg = aErrMsg.copy( 0, nCopy ); + } + aErrStr += aErrMsg; + if( nErrStrId == RID_STR_HELPPROCESSING_XMLPARSING_ERROR && aErrorInfo.m_aXMLParsingFile.getLength() ) { - aErrStr = getResourceString( nErrStrId ); - - // Remoce CR/LF - rtl::OUString aErrMsg( aErrorInfo.m_aErrorMsg ); - sal_Unicode nCR = 13, nLF = 10; - sal_Int32 nSearchCR = aErrMsg.indexOf( nCR ); - sal_Int32 nSearchLF = aErrMsg.indexOf( nLF ); - sal_Int32 nCopy; - if( nSearchCR != -1 || nSearchLF != -1 ) - { - if( nSearchCR == -1 ) - nCopy = nSearchLF; - else if( nSearchLF == -1 ) - nCopy = nSearchCR; - else - nCopy = ( nSearchCR < nSearchLF ) ? nSearchCR : nSearchLF; - - aErrMsg = aErrMsg.copy( 0, nCopy ); - } - aErrStr += aErrMsg; - if( nErrStrId == RID_STR_HELPPROCESSING_XMLPARSING_ERROR && aErrorInfo.m_aXMLParsingFile.getLength() ) + aErrStr += rtl::OUString::createFromAscii( " in " ); + + rtl::OUString aDecodedFile = rtl::Uri::decode( aErrorInfo.m_aXMLParsingFile, + rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); + aErrStr += aDecodedFile; + if( aErrorInfo.m_nXMLParsingLine != -1 ) { - aErrStr += rtl::OUString::createFromAscii( " in " ); - - rtl::OUString aDecodedFile = rtl::Uri::decode( aErrorInfo.m_aXMLParsingFile, - rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); - aErrStr += aDecodedFile; - if( aErrorInfo.m_nXMLParsingLine != -1 ) - { - aErrStr += rtl::OUString::createFromAscii( ", line " ); - aErrStr += ::rtl::OUString::valueOf( aErrorInfo.m_nXMLParsingLine ); - } + aErrStr += rtl::OUString::createFromAscii( ", line " ); + aErrStr += ::rtl::OUString::valueOf( aErrorInfo.m_nXMLParsingLine ); } } - - OWeakObject* oWeakThis = static_cast(this); - throw deployment::DeploymentException( rtl::OUString(), oWeakThis, - makeAny( uno::Exception( aErrStr, oWeakThis ) ) ); } + + OWeakObject* oWeakThis = static_cast(this); + throw deployment::DeploymentException( rtl::OUString(), oWeakThis, + makeAny( uno::Exception( aErrStr, oWeakThis ) ) ); } } - - // Write compiled flag file (this code is only reached in case of success) - Reference< io::XOutputStream > xOutputStream = xSFA->openFileWrite( aCompiledFlagFile ); - if( xOutputStream.is() ) - xOutputStream->closeOutput(); - - } // if( bCompile ) - - // Write registered flag file (this code is only reached in case of success) - if( !xSFA->exists( aRegisteredFlagFile ) ) - { - Reference< io::XOutputStream > xOutputStream = xSFA->openFileWrite( aRegisteredFlagFile ); - if( xOutputStream.is() ) - xOutputStream->closeOutput(); } + + //Writing the data entry replaces writing the flag file. If we got to this + //point the registration was successful. addDataToDb(xPackage->getURL(), data); } else @@ -539,75 +562,75 @@ void BackendImpl::implProcessHelp } } -rtl::OUString BackendImpl::getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ) -{ - rtl::OUString aRetURL; - if( !xPackage.is() ) - return aRetURL; - rtl::OUString aHelpURL = xPackage->getURL(); - aRetURL = expandURL( aHelpURL ); - aRetURL += rtl::OUString::createFromAscii( pFlagStr ); - return aRetURL; -} - -rtl::OUString BackendImpl::getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ) -{ - return getFlagFileURL( xPackage, "/RegisteredFlag" ); -} - -rtl::OUString BackendImpl::getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ) -{ - return getFlagFileURL( xPackage, "/CompiledFlag" ); -} - -rtl::OUString BackendImpl::expandURL( const rtl::OUString& aURL ) -{ - static Reference< util::XMacroExpander > xMacroExpander; - static Reference< uri::XUriReferenceFactory > xFac; - - if( !xMacroExpander.is() || !xFac.is() ) - { - Reference const & xContext = getComponentContext(); - if( xContext.is() ) - { - xFac = Reference< uri::XUriReferenceFactory >( - xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( - "com.sun.star.uri.UriReferenceFactory"), xContext ) , UNO_QUERY ); - } - if( !xFac.is() ) - { - throw RuntimeException( - ::rtl::OUString::createFromAscii( - "dp_registry::backend::help::BackendImpl::expandURL(), " - "could not instatiate UriReferenceFactory." ), - Reference< XInterface >() ); - } - - xMacroExpander = Reference< util::XMacroExpander >( - xContext->getValueByName( - ::rtl::OUString::createFromAscii( "/singletons/com.sun.star.util.theMacroExpander" ) ), - UNO_QUERY_THROW ); - } - - rtl::OUString aRetURL = aURL; - if( xMacroExpander.is() ) - { - Reference< uri::XUriReference > uriRef; - for (;;) - { - uriRef = Reference< uri::XUriReference >( xFac->parse( aRetURL ), UNO_QUERY ); - if ( uriRef.is() ) - { - Reference < uri::XVndSunStarExpandUrl > sxUri( uriRef, UNO_QUERY ); - if( !sxUri.is() ) - break; - - aRetURL = sxUri->expand( xMacroExpander ); - } - } - } - return aRetURL; -} +// rtl::OUString BackendImpl::getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ) +// { +// rtl::OUString aRetURL; +// if( !xPackage.is() ) +// return aRetURL; +// rtl::OUString aHelpURL = xPackage->getURL(); +// aRetURL = expandURL( aHelpURL ); +// aRetURL += rtl::OUString::createFromAscii( pFlagStr ); +// return aRetURL; +// } + +// rtl::OUString BackendImpl::getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ) +// { +// return getFlagFileURL( xPackage, "/RegisteredFlag" ); +// } + +// rtl::OUString BackendImpl::getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ) +// { +// return getFlagFileURL( xPackage, "/CompiledFlag" ); +// } + +// rtl::OUString BackendImpl::expandURL( const rtl::OUString& aURL ) +// { +// static Reference< util::XMacroExpander > xMacroExpander; +// static Reference< uri::XUriReferenceFactory > xFac; + +// if( !xMacroExpander.is() || !xFac.is() ) +// { +// Reference const & xContext = getComponentContext(); +// if( xContext.is() ) +// { +// xFac = Reference< uri::XUriReferenceFactory >( +// xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( +// "com.sun.star.uri.UriReferenceFactory"), xContext ) , UNO_QUERY ); +// } +// if( !xFac.is() ) +// { +// throw RuntimeException( +// ::rtl::OUString::createFromAscii( +// "dp_registry::backend::help::BackendImpl::expandURL(), " +// "could not instatiate UriReferenceFactory." ), +// Reference< XInterface >() ); +// } + +// xMacroExpander = Reference< util::XMacroExpander >( +// xContext->getValueByName( +// ::rtl::OUString::createFromAscii( "/singletons/com.sun.star.util.theMacroExpander" ) ), +// UNO_QUERY_THROW ); +// } + +// rtl::OUString aRetURL = aURL; +// if( xMacroExpander.is() ) +// { +// Reference< uri::XUriReference > uriRef; +// for (;;) +// { +// uriRef = Reference< uri::XUriReference >( xFac->parse( aRetURL ), UNO_QUERY ); +// if ( uriRef.is() ) +// { +// Reference < uri::XVndSunStarExpandUrl > sxUri( uriRef, UNO_QUERY ); +// if( !sxUri.is() ) +// break; + +// aRetURL = sxUri->expand( xMacroExpander ); +// } +// } +// } +// return aRetURL; +// } void BackendImpl::implCollectXhpFiles( const rtl::OUString& aDir, std::vector< rtl::OUString >& o_rXhpFileVector ) diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx index 6f7e1d2844ac..f36eb6d7b8cb 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx @@ -143,7 +143,8 @@ void HelpBackendDb::removeEntry(::rtl::OUString const & url) removeElement(sExpression); } -HelpBackendDb::Data HelpBackendDb::getEntry(::rtl::OUString const & url) +::boost::optional +HelpBackendDb::getEntry(::rtl::OUString const & url) { try { @@ -174,8 +175,13 @@ HelpBackendDb::Data HelpBackendDb::getEntry(::rtl::OUString const & url) // readVectorOfPair( // aNode, OUSTR("reg:singletons"), OUSTR("item"), OUSTR("key"), // OUSTR("value")); + + } + else + { + return ::boost::optional(); } - return retData; + return ::boost::optional(retData); } catch(css::uno::Exception &) { diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx index e80a24f85ab1..bf812ad96511 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx @@ -35,6 +35,7 @@ #include "rtl/string.hxx" #include #include +#include "boost/optional.hpp" #include "dp_backenddb.hxx" namespace css = ::com::sun::star; @@ -87,7 +88,7 @@ public: void addEntry(::rtl::OUString const & url, Data const & data); void removeEntry(::rtl::OUString const & url); - Data getEntry(::rtl::OUString const & url); + ::boost::optional getEntry(::rtl::OUString const & url); ::std::list< ::rtl::OUString> getAllDataUrls(); }; diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h index 24c6e4914fe1..179420b16ef6 100644 --- a/desktop/source/deployment/registry/inc/dp_backend.h +++ b/desktop/source/deployment/registry/inc/dp_backend.h @@ -257,6 +257,9 @@ public: css::ucb::CommandAbortedException, css::uno::RuntimeException); virtual ::rtl::OUString SAL_CALL getRepositoryName() throw (css::uno::RuntimeException); + virtual css::beans::Optional< ::rtl::OUString > SAL_CALL getRegistrationDataURL() + throw (css::deployment::ExtensionRemovedException, + css::uno::RuntimeException); virtual sal_Bool SAL_CALL isRemoved() throw (css::uno::RuntimeException); diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx index c5e2582b3905..5c164e08c100 100644 --- a/xmlhelp/source/cxxhelp/provider/databases.cxx +++ b/xmlhelp/source/cxxhelp/provider/databases.cxx @@ -1162,7 +1162,8 @@ Reference< XHierarchicalNameAccess > Databases::jarFile( const rtl::OUString& ja Reference< XHierarchicalNameAccess > Databases::findJarFileForPath ( const rtl::OUString& jar, const rtl::OUString& Language, - const rtl::OUString& path, rtl::OUString* o_pExtensionPath ) + const rtl::OUString& path, rtl::OUString* o_pExtensionPath, + rtl::OUString* o_pExtensionRegistryPath ) { Reference< XHierarchicalNameAccess > xNA; if( ! jar.getLength() || @@ -1174,7 +1175,7 @@ Reference< XHierarchicalNameAccess > Databases::findJarFileForPath JarFileIterator aJarFileIt( m_xContext, *this, jar, Language ); Reference< XHierarchicalNameAccess > xTestNA; Reference< deployment::XPackage > xParentPackageBundle; - while( (xTestNA = aJarFileIt.nextJarFile( xParentPackageBundle, o_pExtensionPath )).is() ) + while( (xTestNA = aJarFileIt.nextJarFile( xParentPackageBundle, o_pExtensionPath, o_pExtensionRegistryPath )).is() ) { if( xTestNA.is() && xTestNA->hasByHierarchicalName( path ) ) { @@ -1512,6 +1513,7 @@ void ExtensionIteratorBase::init() m_bSharedPackagesLoaded = false; m_iUserPackage = 0; m_iSharedPackage = 0; + m_iBundledPackage = 0; } Reference< deployment::XPackage > ExtensionIteratorBase::implGetHelpPackageFromPackage @@ -1635,6 +1637,36 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextSharedHelpPa return xHelpPackage; } +Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextBundledHelpPackage + ( Reference< deployment::XPackage >& o_xParentPackageBundle ) +{ + Reference< deployment::XPackage > xHelpPackage; + + if( !m_bBundledPackagesLoaded ) + { + Reference< XPackageManager > xBundledManager = + thePackageManagerFactory::get( m_xContext )->getPackageManager( rtl::OUString::createFromAscii("bundled") ); + m_aBundledPackagesSeq = xBundledManager->getDeployedPackages + ( Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); + m_bBundledPackagesLoaded = true; + } + + if( m_iBundledPackage == m_aBundledPackagesSeq.getLength() ) + { + m_eState = END_REACHED; + } + else + { + const Reference< deployment::XPackage >* pBundledPackages = + m_aBundledPackagesSeq.getConstArray(); + Reference< deployment::XPackage > xPackage = pBundledPackages[ m_iBundledPackage++ ]; + VOS_ENSURE( xPackage.is(), "ExtensionIteratorBase::implGetNextBundledHelpPackage(): Invalid package" ); + xHelpPackage = implGetHelpPackageFromPackage( xPackage, o_xParentPackageBundle ); + } + + return xHelpPackage; +} + rtl::OUString ExtensionIteratorBase::implGetFileFromPackage( const rtl::OUString& rFileExtension, Reference< deployment::XPackage > xPackage ) { @@ -1646,7 +1678,7 @@ rtl::OUString ExtensionIteratorBase::implGetFileFromPackage( for( sal_Int32 iPass = 0 ; iPass < 2 ; ++iPass ) { rtl::OUStringBuffer aStrBuf; - aStrBuf.append( xPackage->getURL() ); + aStrBuf.append( xPackage->getRegistrationDataURL().Value); aStrBuf.append( aSlash ); aStrBuf.append( aLanguage ); if( !bLangFolderOnly ) @@ -1720,7 +1752,7 @@ void ExtensionIteratorBase::implGetLanguageVectorFromPackage( ::std::vector< ::r //=================================================================== // class DataBaseIterator -Db* DataBaseIterator::nextDb( rtl::OUString* o_pExtensionPath ) +Db* DataBaseIterator::nextDb( rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath ) { Db* pRetDb = NULL; @@ -1743,7 +1775,7 @@ Db* DataBaseIterator::nextDb( rtl::OUString* o_pExtensionPath ) Reference< deployment::XPackage > xHelpPackage = implGetNextUserHelpPackage( xParentPackageBundle ); if( !xHelpPackage.is() ) break; - pRetDb = implGetDbFromPackage( xHelpPackage, o_pExtensionPath ); + pRetDb = implGetDbFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); break; } @@ -1754,9 +1786,21 @@ Db* DataBaseIterator::nextDb( rtl::OUString* o_pExtensionPath ) if( !xHelpPackage.is() ) break; - pRetDb = implGetDbFromPackage( xHelpPackage, o_pExtensionPath ); + pRetDb = implGetDbFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); break; } + + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xParentPackageBundle; + Reference< deployment::XPackage > xHelpPackage = implGetNextBundledHelpPackage( xParentPackageBundle ); + if( !xHelpPackage.is() ) + break; + + pRetDb = implGetDbFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); + break; + } + case END_REACHED: VOS_ENSURE( false, "DataBaseIterator::nextDb(): Invalid case END_REACHED" ); break; @@ -1767,38 +1811,55 @@ Db* DataBaseIterator::nextDb( rtl::OUString* o_pExtensionPath ) } Db* DataBaseIterator::implGetDbFromPackage( Reference< deployment::XPackage > xPackage, - rtl::OUString* o_pExtensionPath ) + rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath ) { - rtl::OUString aExtensionPath = xPackage->getURL(); - //if( o_pExtensionPath ) - //*o_pExtensionPath = aExtensionPath; - aExtensionPath += aSlash; - rtl::OUString aUsedLanguage = m_aLanguage; - Db* pRetDb = m_rDatabases.getBerkeley( aHelpFilesBaseName, aUsedLanguage, - m_bHelpText, &aExtensionPath ); + beans::Optional< ::rtl::OUString> optRegData; + try + { + optRegData = xPackage->getRegistrationDataURL(); + } + catch ( deployment::ExtensionRemovedException&) + { + return NULL; + } - // Language fallback - if( !pRetDb ) + Db* pRetDb = NULL; + if (optRegData.IsPresent && optRegData.Value.getLength() > 0) { - ::std::vector< ::rtl::OUString > av; - implGetLanguageVectorFromPackage( av, xPackage ); - ::std::vector< ::rtl::OUString >::const_iterator pFound = av.end(); - try - { - pFound = ::comphelper::Locale::getFallback( av, m_aLanguage ); - } - catch( ::comphelper::Locale::MalFormedLocaleException& ) - {} - if( pFound != av.end() ) + rtl::OUString aRegDataUrl(optRegData.Value); + aRegDataUrl += aSlash; + + rtl::OUString aUsedLanguage = m_aLanguage; + pRetDb = m_rDatabases.getBerkeley( + aHelpFilesBaseName, aUsedLanguage, m_bHelpText, &aRegDataUrl); + + // Language fallback + if( !pRetDb ) { - aUsedLanguage = *pFound; - pRetDb = m_rDatabases.getBerkeley( aHelpFilesBaseName, aUsedLanguage, m_bHelpText, &aExtensionPath ); + ::std::vector< ::rtl::OUString > av; + implGetLanguageVectorFromPackage( av, xPackage ); + ::std::vector< ::rtl::OUString >::const_iterator pFound = av.end(); + try + { + pFound = ::comphelper::Locale::getFallback( av, m_aLanguage ); + } + catch( ::comphelper::Locale::MalFormedLocaleException& ) + {} + if( pFound != av.end() ) + { + aUsedLanguage = *pFound; + pRetDb = m_rDatabases.getBerkeley( + aHelpFilesBaseName, aUsedLanguage, m_bHelpText, &aRegDataUrl); + } } - } - if( o_pExtensionPath ) - *o_pExtensionPath = aExtensionPath + aUsedLanguage; + if( o_pExtensionPath ) + *o_pExtensionPath = aRegDataUrl + aUsedLanguage; + + if( o_pExtensionRegistryPath ) + *o_pExtensionRegistryPath = xPackage->getURL() + aSlash + aUsedLanguage; + } return pRetDb; } @@ -1853,6 +1914,19 @@ rtl::OUString KeyDataBaseFileIterator::nextDbFile( bool& o_rbExtension ) o_rbExtension = true; break; } + + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xParentPackageBundle; + Reference< deployment::XPackage > xHelpPackage = implGetNextBundledHelpPackage( xParentPackageBundle ); + if( !xHelpPackage.is() ) + break; + + aRetFile = implGetDbFileFromPackage( xHelpPackage ); + o_rbExtension = true; + break; + } + case END_REACHED: VOS_ENSURE( false, "DataBaseIterator::nextDbFile(): Invalid case END_REACHED" ); break; @@ -1879,7 +1953,8 @@ rtl::OUString KeyDataBaseFileIterator::implGetDbFileFromPackage // class JarFileIterator Reference< XHierarchicalNameAccess > JarFileIterator::nextJarFile - ( Reference< deployment::XPackage >& o_xParentPackageBundle, rtl::OUString* o_pExtensionPath ) + ( Reference< deployment::XPackage >& o_xParentPackageBundle, + rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath ) { Reference< XHierarchicalNameAccess > xNA; @@ -1902,7 +1977,7 @@ Reference< XHierarchicalNameAccess > JarFileIterator::nextJarFile if( !xHelpPackage.is() ) break; - xNA = implGetJarFromPackage( xHelpPackage, o_pExtensionPath ); + xNA = implGetJarFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); break; } @@ -1912,9 +1987,20 @@ Reference< XHierarchicalNameAccess > JarFileIterator::nextJarFile if( !xHelpPackage.is() ) break; - xNA = implGetJarFromPackage( xHelpPackage, o_pExtensionPath ); + xNA = implGetJarFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); break; } + + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xHelpPackage = implGetNextBundledHelpPackage( o_xParentPackageBundle ); + if( !xHelpPackage.is() ) + break; + + xNA = implGetJarFromPackage( xHelpPackage, o_pExtensionPath, o_pExtensionRegistryPath ); + break; + } + case END_REACHED: VOS_ENSURE( false, "JarFileIterator::nextJarFile(): Invalid case END_REACHED" ); break; @@ -1925,7 +2011,7 @@ Reference< XHierarchicalNameAccess > JarFileIterator::nextJarFile } Reference< XHierarchicalNameAccess > JarFileIterator::implGetJarFromPackage - ( Reference< deployment::XPackage > xPackage, rtl::OUString* o_pExtensionPath ) +( Reference< deployment::XPackage > xPackage, rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath ) { Reference< XHierarchicalNameAccess > xNA; @@ -1970,6 +2056,15 @@ Reference< XHierarchicalNameAccess > JarFileIterator::implGetJarFromPackage sal_Int32 nLastSlash = zipFile.lastIndexOf( '/' ); if( nLastSlash != -1 ) *o_pExtensionPath = zipFile.copy( 0, nLastSlash ); + + if( o_pExtensionRegistryPath != NULL ) + { + rtl::OUString& rPath = *o_pExtensionPath; + sal_Int32 nLastSlashInPath = rPath.lastIndexOf( '/', rPath.getLength() - 1 ); + + *o_pExtensionRegistryPath = xPackage->getURL(); + *o_pExtensionRegistryPath += rPath.copy( nLastSlashInPath); + } } return xNA; @@ -2026,6 +2121,19 @@ rtl::OUString IndexFolderIterator::nextIndexFolder( bool& o_rbExtension, bool& o o_rbExtension = true; break; } + + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xParentPackageBundle; + Reference< deployment::XPackage > xHelpPackage = implGetNextBundledHelpPackage( xParentPackageBundle ); + if( !xHelpPackage.is() ) + break; + + aIndexFolder = implGetIndexFolderFromPackage( o_rbTemporary, xHelpPackage ); + o_rbExtension = true; + break; + } + case END_REACHED: VOS_ENSURE( false, "IndexFolderIterator::nextIndexFolder(): Invalid case END_REACHED" ); break; diff --git a/xmlhelp/source/cxxhelp/provider/databases.hxx b/xmlhelp/source/cxxhelp/provider/databases.hxx index 6468c5732c6b..aa80bf27405b 100644 --- a/xmlhelp/source/cxxhelp/provider/databases.hxx +++ b/xmlhelp/source/cxxhelp/provider/databases.hxx @@ -267,7 +267,8 @@ namespace chelp { com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess > findJarFileForPath( const rtl::OUString& jar, const rtl::OUString& Language, - const rtl::OUString& path, rtl::OUString* o_pExtensionPath = NULL ); + const rtl::OUString& path, rtl::OUString* o_pExtensionPath = NULL, + rtl::OUString* o_pExtensionRegistryPath = NULL ); /** * Maps a given language-locale combination to language. @@ -398,6 +399,7 @@ namespace chelp { //SHARED_MODULE, // Later, avoids redundancies in help compiling USER_EXTENSIONS, SHARED_EXTENSIONS, + BUNDLED_EXTENSIONS, END_REACHED }; @@ -433,6 +435,8 @@ namespace chelp { ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextSharedHelpPackage ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); + com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextBundledHelpPackage + ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); rtl::OUString implGetFileFromPackage( const rtl::OUString& rFileExtension, com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage ); void implGetLanguageVectorFromPackage( ::std::vector< ::rtl::OUString > &rv, @@ -456,8 +460,13 @@ namespace chelp { < com::sun::star::deployment::XPackage > > m_aSharedPackagesSeq; bool m_bSharedPackagesLoaded; + com::sun::star::uno::Sequence< com::sun::star::uno::Reference + < com::sun::star::deployment::XPackage > > m_aBundledPackagesSeq; + bool m_bBundledPackagesLoaded; + int m_iUserPackage; int m_iSharedPackage; + int m_iBundledPackage; }; // end class ExtensionIteratorBase @@ -477,13 +486,13 @@ namespace chelp { , m_bHelpText( bHelpText ) {} - berkeleydbproxy::Db* nextDb( rtl::OUString* o_pExtensionPath = NULL ); + berkeleydbproxy::Db* nextDb( rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL ); private: berkeleydbproxy::Db* implGetDbFromPackage( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage, - rtl::OUString* o_pExtensionPath ); + rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath ); bool m_bHelpText; @@ -517,12 +526,12 @@ namespace chelp { com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess > nextJarFile( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle, - rtl::OUString* o_pExtensionPath = NULL ); + rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL ); private: com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess > implGetJarFromPackage(com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage, - rtl::OUString* o_pExtensionPath = NULL ); + rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL ); }; // end class JarFileIterator diff --git a/xmlhelp/source/cxxhelp/provider/urlparameter.cxx b/xmlhelp/source/cxxhelp/provider/urlparameter.cxx index 9268ec19cd7f..67735c4e0a6a 100644 --- a/xmlhelp/source/cxxhelp/provider/urlparameter.cxx +++ b/xmlhelp/source/cxxhelp/provider/urlparameter.cxx @@ -306,9 +306,10 @@ void URLParameter::readBerkeley() Dbt data; DBData aDBData; rtl::OUString aExtensionPath; + rtl::OUString aExtensionRegistryPath; while( true ) { - Db* db = aDbIt.nextDb( &aExtensionPath ); + Db* db = aDbIt.nextDb( &aExtensionPath, &aExtensionRegistryPath ); if( !db ) break; @@ -355,6 +356,7 @@ void URLParameter::readBerkeley() aExtendedJarStrBuf.append( aQuestionMark ); aExtendedJarStrBuf.append( m_aJar ); m_aJar = aExtendedJarStrBuf.makeStringAndClear(); + m_aExtensionRegistryPath = aExtensionRegistryPath; } m_aTag = converter.getHash(); } @@ -1004,18 +1006,20 @@ InputStreamTransformer::InputStreamTransformer( URLParameter* urlParam, rtl::OUString aJar = urlParam->get_jar(); bool bAddExtensionPath = false; + rtl::OUString aExtensionRegistryPath; sal_Int32 nQuestionMark1 = aJar.indexOf( sal_Unicode('?') ); sal_Int32 nQuestionMark2 = aJar.lastIndexOf( sal_Unicode('?') ); if( nQuestionMark1 != -1 && nQuestionMark2 != -1 && nQuestionMark1 != nQuestionMark2 ) { aExtensionPath = aJar.copy( nQuestionMark1 + 1, nQuestionMark2 - nQuestionMark1 - 1 ); + aExtensionRegistryPath = urlParam->get_ExtensionRegistryPath(); bAddExtensionPath = true; } else { // Path not yet specified, search directly Reference< XHierarchicalNameAccess > xNA = pDatabases->findJarFileForPath - ( aJar, urlParam->get_language(), urlParam->get_path(), &aExtensionPath ); + ( aJar, urlParam->get_language(), urlParam->get_path(), &aExtensionPath, &aExtensionRegistryPath ); if( xNA.is() && aExtensionPath.getLength() ) bAddExtensionPath = true; } @@ -1038,7 +1042,7 @@ InputStreamTransformer::InputStreamTransformer( URLParameter* urlParam, Reference< XInterface >() ); } - rtl::OUString aOUExpandedExtensionPath = Databases::expandURL( aExtensionPath, xContext ); + rtl::OUString aOUExpandedExtensionPath = Databases::expandURL( aExtensionRegistryPath, xContext ); rtl::OString aExpandedExtensionPath = rtl::OUStringToOString( aOUExpandedExtensionPath, osl_getThreadTextEncoding() ); parString[last++] = "ExtensionPath"; diff --git a/xmlhelp/source/cxxhelp/provider/urlparameter.hxx b/xmlhelp/source/cxxhelp/provider/urlparameter.hxx index d1dbf48132a7..5f73c930dcdb 100644 --- a/xmlhelp/source/cxxhelp/provider/urlparameter.hxx +++ b/xmlhelp/source/cxxhelp/provider/urlparameter.hxx @@ -150,6 +150,8 @@ namespace chelp { rtl::OUString get_jar() { return get_the_jar(); } // BerkeleyDb + rtl::OUString get_ExtensionRegistryPath() { return m_aExtensionRegistryPath; } + rtl::OUString get_module() { return m_aModule; } rtl::OUString get_dbpar() { @@ -203,6 +205,7 @@ namespace chelp { rtl::OUString m_aModule; rtl::OUString m_aTitle; rtl::OUString m_aJar; + rtl::OUString m_aExtensionRegistryPath; rtl::OUString m_aEid; rtl::OUString m_aDbPar; -- cgit From fb5eaacc58c467d9e11e2e7f62c7ee28312044b1 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 6 Apr 2010 17:15:01 +0200 Subject: jl152 import 263445 from native0jl:#i77196# supporting extension help --- offapi/com/sun/star/deployment/XPackage.idl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl index 06adc5ae6194..9584d19abcf7 100644 --- a/offapi/com/sun/star/deployment/XPackage.idl +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -324,6 +324,23 @@ interface XPackage */ string getRepositoryName(); + /** return a URL to a directory which contains the registration data. + + This data may be created when calling + XPackage::registerPackage. If this is the case is + indicated by Optional::IsPresent of the return + value. + If registration data are created during registration, but the package is + currently not registered, for example after calling + XPackage::revokePackage, then Optional::IsPresent is true and + the Optional::Value may + be an empty string. + */ + com::sun::star::beans::Optional getRegistrationDataURL() + raises (ExtensionRemovedException); + /** indicates if this object represents a removed extension or extension item. This is the case when it was created by providing true for the removed parameter in the function -- cgit From 0358074a3ff86d284670c891c21db53105b292ae Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 6 Apr 2010 17:15:01 +0200 Subject: jl152 import 263445 from native0jl:#i77196# supporting extension help --- l10ntools/source/help/HelpLinker.cxx | 20 +++++++++++++++----- l10ntools/source/help/compilehelp.hxx | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/l10ntools/source/help/HelpLinker.cxx b/l10ntools/source/help/HelpLinker.cxx index ae2b88bfc470..256ed850d49e 100644 --- a/l10ntools/source/help/HelpLinker.cxx +++ b/l10ntools/source/help/HelpLinker.cxx @@ -245,7 +245,11 @@ class HelpLinker { public: void main(std::vector &args, - std::string* pExtensionPath = NULL, const rtl::OUString* pOfficeHelpPath = NULL ) +// std::string* pExtensionPath = NULL, const rtl::OUString* pOfficeHelpPath = NULL ) + std::string* pExtensionPath = NULL, + std::string* pDestination = NULL, + const rtl::OUString* pOfficeHelpPath = NULL ) + throw( HelpProcessingException ); HelpLinker() @@ -269,6 +273,7 @@ private: std::string lang; std::string hid; std::string extensionPath; + std::string extensionDestination; bool bExtensionMode; fs::path indexDirName; Stringtable hidlistTranslation; @@ -752,8 +757,9 @@ void HelpLinker::link() throw( HelpProcessingException ) void HelpLinker::main( std::vector &args, - std::string* pExtensionPath, const rtl::OUString* pOfficeHelpPath ) - throw( HelpProcessingException ) + std::string* pExtensionPath, std::string* pDestination, + const rtl::OUString* pOfficeHelpPath ) + throw( HelpProcessingException ) { rtl::OUString aOfficeHelpPath; @@ -764,7 +770,7 @@ void HelpLinker::main( std::vector &args, bExtensionMode = true; extensionPath = *pExtensionPath; sourceRoot = fs::path(extensionPath); - + extensionDestination = *pDestination; aOfficeHelpPath = *pOfficeHelpPath; } if (args.size() > 0 && args[0][0] == '@') @@ -1069,6 +1075,7 @@ HELPLINKER_DLLPUBLIC bool compileExtensionHelp const rtl::OUString& aExtensionName, const rtl::OUString& aExtensionLanguageRoot, sal_Int32 nXhpFileCount, const rtl::OUString* pXhpFiles, + const rtl::OUString& aDestination, HelpProcessingErrorInfo& o_rHelpProcessingErrorInfo ) { @@ -1102,13 +1109,16 @@ HELPLINKER_DLLPUBLIC bool compileExtensionHelp rtl::OString aOExtensionLanguageRoot = rtl::OUStringToOString( aExtensionLanguageRoot, fs::getThreadTextEncoding() ); const char* pExtensionPath = aOExtensionLanguageRoot.getStr(); std::string aStdStrExtensionPath = pExtensionPath; + rtl::OString aODestination = rtl::OUStringToOString(aDestination, fs::getThreadTextEncoding()); + const char* pDestination = aODestination.getStr(); + std::string aStdStrDestination = pDestination; // Set error handler xmlSetStructuredErrorFunc( NULL, (xmlStructuredErrorFunc)StructuredXMLErrorFunction ); try { HelpLinker* pHelpLinker = new HelpLinker(); - pHelpLinker->main( args, &aStdStrExtensionPath, &aOfficeHelpPath ); + pHelpLinker->main( args, &aStdStrExtensionPath, &aStdStrDestination, &aOfficeHelpPath ); delete pHelpLinker; } catch( const HelpProcessingException& e ) diff --git a/l10ntools/source/help/compilehelp.hxx b/l10ntools/source/help/compilehelp.hxx index 472b15231639..9c59083bf038 100644 --- a/l10ntools/source/help/compilehelp.hxx +++ b/l10ntools/source/help/compilehelp.hxx @@ -72,6 +72,7 @@ HELPLINKER_DLLPUBLIC bool compileExtensionHelp const rtl::OUString& aExtensionName, const rtl::OUString& aExtensionLanguageRoot, sal_Int32 nXhpFileCount, const rtl::OUString* pXhpFiles, + const rtl::OUString& aDestination, HelpProcessingErrorInfo& o_rHelpProcessingErrorInfo ); -- cgit From c3c79d705d02bda0bc4fe691838a85f83d32e785 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Thu, 8 Apr 2010 11:37:04 +0200 Subject: tl78: #i109634# use MAP_APPFONT for MoreButton delta --- cui/source/dialogs/passwdomdlg.src | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cui/source/dialogs/passwdomdlg.src b/cui/source/dialogs/passwdomdlg.src index 078d9662c4c9..9cdd215a6ff5 100755 --- a/cui/source/dialogs/passwdomdlg.src +++ b/cui/source/dialogs/passwdomdlg.src @@ -32,7 +32,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { - Size = MAP_APPFONT( 171, 151 ); + Size = MAP_APPFONT( 171, 150 ); Text [ en-US ] = "Set Password"; // HelpId = HID_DLG_PASSWORD_TO_OPEN_MODIFY; Border = TRUE ; @@ -105,7 +105,8 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 6 , 130 ) ; Size = MAP_APPFONT( 50 , 14 ) ; - Delta = 146 ; + Delta = 92 ; + MapUnit = MAP_APPFONT ; State = FALSE ; }; -- cgit From 897974e77d86cf351b1a24788a67fdcefd79ac0e Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Thu, 8 Apr 2010 12:17:20 +0200 Subject: tl78: #i109779# import/export password-to-modify --- sc/source/filter/excel/excdoc.cxx | 9 ++++++--- sc/source/filter/excel/impop.cxx | 8 ++++++-- sc/source/filter/excel/xeroot.cxx | 12 ------------ sc/source/filter/inc/xcl97rec.hxx | 3 ++- sc/source/filter/inc/xeroot.hxx | 1 - sc/source/filter/xcl97/xcl97rec.cxx | 9 +++++---- sc/source/ui/docshell/docsh.cxx | 2 +- 7 files changed, 20 insertions(+), 24 deletions(-) diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx index a858ca093fd6..f48e9890bac8 100644 --- a/sc/source/filter/excel/excdoc.cxx +++ b/sc/source/filter/excel/excdoc.cxx @@ -200,8 +200,11 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList ) UINT16 nExcTabCount = rTabInfo.GetXclTabCount(); UINT16 nCodenames = static_cast< UINT16 >( GetExtDocOptions().GetCodeNameCount() ); - sal_uInt16 nWriteProtHash = GetWriteProtPassword(); - if( nWriteProtHash > 0 ) + SfxObjectShell* pShell = GetDocShell(); + sal_uInt16 nWriteProtHash = pShell ? pShell->GetModifyPasswordHash() : 0; + bool bRecommendReadOnly = pShell && pShell->IsLoadReadonly(); + + if( (nWriteProtHash > 0) || bRecommendReadOnly ) Add( new XclExpEmptyRecord( EXC_ID_WRITEPROT ) ); // TODO: correct codepage for BIFF5? @@ -226,7 +229,7 @@ void ExcTable::FillAsHeader( ExcBoundsheetList& rBoundsheetList ) Add( new XclExpWriteAccess ); } - Add( new XclExpFileSharing( GetRoot(), nWriteProtHash ) ); + Add( new XclExpFileSharing( GetRoot(), nWriteProtHash, bRecommendReadOnly ) ); Add( new XclExpUInt16Record( EXC_ID_CODEPAGE, nCodePage ) ); if( GetBiff() == EXC_BIFF8 ) diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx index 8cae8a1c3f27..01b62f72d455 100644 --- a/sc/source/filter/excel/impop.cxx +++ b/sc/source/filter/excel/impop.cxx @@ -180,10 +180,14 @@ void ImportExcel::ReadFileSharing() if( (nRecommendReadOnly != 0) || (nPasswordHash != 0) ) { if( SfxItemSet* pItemSet = GetMedium().GetItemSet() ) - { pItemSet->Put( SfxBoolItem( SID_DOC_READONLY, TRUE ) ); + + if( SfxObjectShell* pShell = GetDocShell() ) + { + if( nRecommendReadOnly != 0 ) + pShell->SetLoadReadonly( sal_True ); if( nPasswordHash != 0 ) - pItemSet->Put( SfxInt32Item( SID_MODIFYPASSWORDHASH, nPasswordHash ) ); + pShell->SetModifyPasswordHash( nPasswordHash ); } } } diff --git a/sc/source/filter/excel/xeroot.cxx b/sc/source/filter/excel/xeroot.cxx index 6d5424d88971..50e07ae1f2ed 100644 --- a/sc/source/filter/excel/xeroot.cxx +++ b/sc/source/filter/excel/xeroot.cxx @@ -260,18 +260,6 @@ String XclExpRoot::GetPassword() const return String::EmptyString(); } -sal_uInt16 XclExpRoot::GetWriteProtPassword() const -{ - if( SfxItemSet* pItemSet = GetMedium().GetItemSet() ) - { - const SfxPoolItem* pItem = 0; - if( pItemSet->GetItemState( SID_MODIFYPASSWORDHASH, TRUE, &pItem ) == SFX_ITEM_SET ) - if( const SfxInt32Item* pIntItem = dynamic_cast< const SfxInt32Item* >( pItem ) ) - return static_cast< sal_uInt16 >( pIntItem->GetValue() ); - } - return 0; -} - XclExpRootData::XclExpLinkMgrRef XclExpRoot::GetLocalLinkMgrRef() const { return IsInGlobals() ? mrExpData.mxGlobLinkMgr : mrExpData.mxLocLinkMgr; diff --git a/sc/source/filter/inc/xcl97rec.hxx b/sc/source/filter/inc/xcl97rec.hxx index 7a2a33795520..201562fa752c 100644 --- a/sc/source/filter/inc/xcl97rec.hxx +++ b/sc/source/filter/inc/xcl97rec.hxx @@ -535,7 +535,7 @@ private: class XclExpFileSharing : public XclExpRecord { public: - explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash ); + explicit XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly ); virtual void Save( XclExpStream& rStrm ); @@ -545,6 +545,7 @@ private: private: XclExpString maUserName; sal_uInt16 mnPasswordHash; + bool mbRecommendReadOnly; }; // ============================================================================ diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx index 08df490986c0..980590f9d4ff 100644 --- a/sc/source/filter/inc/xeroot.hxx +++ b/sc/source/filter/inc/xeroot.hxx @@ -159,7 +159,6 @@ public: bool IsDocumentEncrypted() const; String GetPassword() const; - sal_uInt16 GetWriteProtPassword() const; private: diff --git a/sc/source/filter/xcl97/xcl97rec.cxx b/sc/source/filter/xcl97/xcl97rec.cxx index 67a295ccec8b..df6bdcbbe671 100644 --- a/sc/source/filter/xcl97/xcl97rec.cxx +++ b/sc/source/filter/xcl97/xcl97rec.cxx @@ -1354,9 +1354,10 @@ void XclExpWriteAccess::WriteBody( XclExpStream& rStrm ) // ============================================================================ -XclExpFileSharing::XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash ) : +XclExpFileSharing::XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPasswordHash, bool bRecommendReadOnly ) : XclExpRecord( EXC_ID_FILESHARING ), - mnPasswordHash( nPasswordHash ) + mnPasswordHash( nPasswordHash ), + mbRecommendReadOnly( bRecommendReadOnly ) { if( rRoot.GetBiff() <= EXC_BIFF5 ) maUserName.AssignByte( rRoot.GetUserName(), rRoot.GetTextEncoding(), EXC_STR_8BITLENGTH ); @@ -1366,13 +1367,13 @@ XclExpFileSharing::XclExpFileSharing( const XclExpRoot& rRoot, sal_uInt16 nPassw void XclExpFileSharing::Save( XclExpStream& rStrm ) { - if( mnPasswordHash != 0 ) + if( (mnPasswordHash != 0) || mbRecommendReadOnly ) XclExpRecord::Save( rStrm ); } void XclExpFileSharing::WriteBody( XclExpStream& rStrm ) { - rStrm << sal_uInt16( 0 ) << mnPasswordHash << maUserName; + rStrm << sal_uInt16( mbRecommendReadOnly ? 1 : 0 ) << mnPasswordHash << maUserName; } // ============================================================================ diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 1b4f9b677f81..edbbc3ffdd1f 100644 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -1876,7 +1876,7 @@ BOOL __EXPORT ScDocShell::ConvertTo( SfxMedium &rMed ) /* #115980# #i104990# If the imported document contains a medium password, determine if we can save it, otherwise ask the users whether they want to save without it. */ - if( !::sfx2::CheckMSPasswordCapabilityForExport( aFltName ) ) + if( (rMed.GetFilter()->GetFilterFlags() & SFX_FILTER_ENCRYPTION) == 0 ) { SfxItemSet* pItemSet = rMed.GetItemSet(); const SfxPoolItem* pItem = 0; -- cgit From d3c9cd031542aca5c723e58e61d5abe423a1c9b4 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Thu, 8 Apr 2010 12:17:20 +0200 Subject: tl78: #i109779# import/export password-to-modify --- oox/source/token/properties.txt | 2 ++ oox/source/xls/workbooksettings.cxx | 24 +++++++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 958a9ac24e77..83212c65516e 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -231,6 +231,7 @@ LineStyle LineTransparence LineWidth LinkURL +LoadReadonly LookUpLabels MajorTickmarks MarkPosition @@ -240,6 +241,7 @@ MediaType MinorTickmarks MissingValueTreatment Model +ModifyPasswordHash MultiLine MultiSelection Name diff --git a/oox/source/xls/workbooksettings.cxx b/oox/source/xls/workbooksettings.cxx index e3b11a380ce1..2bb6461bba60 100644 --- a/oox/source/xls/workbooksettings.cxx +++ b/oox/source/xls/workbooksettings.cxx @@ -26,9 +26,9 @@ ************************************************************************/ #include "oox/xls/workbooksettings.hxx" +#include #include #include -#include #include #include "properties.hxx" #include "oox/helper/attributelist.hxx" @@ -39,12 +39,15 @@ #include "oox/xls/unitconverter.hxx" using ::rtl::OUString; +using ::com::sun::star::beans::XPropertySet; +using ::com::sun::star::sheet::XCalculatable; using ::com::sun::star::uno::Any; +using ::com::sun::star::uno::Exception; using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::UNO_QUERY; +using ::com::sun::star::uno::UNO_QUERY_THROW; using ::com::sun::star::util::Date; using ::com::sun::star::util::XNumberFormatsSupplier; -using ::com::sun::star::sheet::XCalculatable; using ::comphelper::MediaDescriptor; using ::oox::core::CodecHelper; @@ -295,10 +298,21 @@ void WorkbookSettings::finalizeImport() } // write protection - if( maFileSharing.mbRecommendReadOnly || (maFileSharing.mnPasswordHash != 0) ) + if( maFileSharing.mbRecommendReadOnly || (maFileSharing.mnPasswordHash != 0) ) try + { getBaseFilter().getMediaDescriptor()[ CREATE_OUSTRING( "ReadOnly" ) ] <<= true; - if( maFileSharing.mnPasswordHash != 0 ) - getBaseFilter().getMediaDescriptor().setComponentDataEntry( CREATE_OUSTRING( "ModifyPasswordHash" ), Any( static_cast< sal_Int32 >( maFileSharing.mnPasswordHash ) ) ); + + Reference< XPropertySet > xDocumentSettings( getDocumentFactory()->createInstance( + CREATE_OUSTRING( "com.sun.star.document.Settings" ) ), UNO_QUERY_THROW ); + PropertySet aSettingsProp( xDocumentSettings ); + if( maFileSharing.mbRecommendReadOnly ) + aSettingsProp.setProperty( PROP_LoadReadonly, true ); + if( maFileSharing.mnPasswordHash != 0 ) + aSettingsProp.setProperty( PROP_ModifyPasswordHash, static_cast< sal_Int32 >( maFileSharing.mnPasswordHash ) ); + } + catch( Exception& ) + { + } // calculation settings Date aNullDate = getNullDate(); -- cgit From 546dc2e09a52946937d642077cb948f92822506c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 12 Apr 2010 11:07:58 +0200 Subject: vitomation01: #i109562 - Code cleanup, use parameters where possible --- .../optional/includes/basic_delete_modules.inc | 4 ++- .../optional/includes/basic_library_export.inc | 6 ++-- .../optional/includes/basic_library_import.inc | 32 +++++++++++--------- .../optional/includes/basic_modulehide.inc | 7 +++-- .../optional/includes/basic_package_export.inc | 30 ++++++++++--------- .../optional/includes/basic_package_import.inc | 34 +++++++++++----------- .../includes/security_recommend_password.inc | 8 ++--- .../global/tools/includes/required/t_tools3.inc | 4 +-- 8 files changed, 67 insertions(+), 58 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_delete_modules.inc b/testautomation/framework/optional/includes/basic_delete_modules.inc index c3bdc3368dd8..3a639f01e728 100755 --- a/testautomation/framework/optional/includes/basic_delete_modules.inc +++ b/testautomation/framework/optional/includes/basic_delete_modules.inc @@ -35,6 +35,8 @@ testcase tDeleteModulesAtRunningBasic printlog( "Delete BASIC module while BASIC is running" ) + const RAISE_MESSAGEBOX = 1 + dim brc as boolean const MAX_WAIT = 3000 dim iMenuItemCount as integer @@ -54,7 +56,7 @@ testcase tDeleteModulesAtRunningBasic endif printlog( "Insert a short script (1. page)" ) - brc = hInsertMacro( 1 ) + brc = hInsertMacro( RAISE_MESSAGEBOX ) if ( not brc ) then warnlog( "Unable to create a basic module for the document" ) goto endsub diff --git a/testautomation/framework/optional/includes/basic_library_export.inc b/testautomation/framework/optional/includes/basic_library_export.inc index 18bb4af4441c..6f5acacbdb24 100755 --- a/testautomation/framework/optional/includes/basic_library_export.inc +++ b/testautomation/framework/optional/includes/basic_library_export.inc @@ -38,7 +38,9 @@ testcase tBasicLibraryExport ' Assumption: All actions take place in the user/work directory ' macro taken from framework/tools/input/macros.txt::tBasicLibraryExport - ' For constants (UPPERCASE) see .BAS-file + ' For test specific global constants (UPPERCASE) see .BAS-file + + const LIBRARIES_TAB = 3 dim cDocumentName as string dim cLibraryName as string @@ -124,7 +126,7 @@ testcase tBasicLibraryExport Verwalten.click() printlog( "Go to the libraries-tab" ) - hSelectBasicObjectOrganizerTab( 3 ) + hSelectBasicObjectOrganizerTab( LIBRARIES_TAB ) kontext "TabBibliotheken" printlog( "Select the document at pos. " & DOCUMENT_POSITION ) diff --git a/testautomation/framework/optional/includes/basic_library_import.inc b/testautomation/framework/optional/includes/basic_library_import.inc index ec4cc8fa3b53..9d5dae88ff40 100755 --- a/testautomation/framework/optional/includes/basic_library_import.inc +++ b/testautomation/framework/optional/includes/basic_library_import.inc @@ -35,21 +35,29 @@ testcase tBasicLibraryImport printlog( "Import a BASIC library" ) + const MY_MACROS = 1 + const LIBRARIES_TAB = 3 + const STANDARD_LIBRARY = 1 + + const XLB_DIALOG_FILE = "dialog.xlb" + dim cMsg as string dim iCurrentLib as integer + dim cPath as string : cPath = hGetWorkPath() & LIBRARY_NAME + ToolsMacro_uno kontext "Makro" - MakroAus.Select( 1 ) + MakroAus.Select( MY_MACROS ) Verwalten.click() - hSelectBasicObjectOrganizerTab( 3 ) + hSelectBasicObjectOrganizerTab( LIBRARIES_TAB ) printlog( "Select My macros" ) kontext "TabBibliotheken" - Bibliothek.select( 1 ) + Bibliothek.select( STANDARD_LIBRARY ) printlog( "Click to add a library" ) Hinzufuegen.click() @@ -62,20 +70,18 @@ testcase tBasicLibraryImport OeffnenDlg.typeKeys( "" ) printlog( "Enter "dialog.xlb"" ) - DateiName.setText( "dialog.xlb" ) + DateiName.setText( XLB_DIALOG_FILE ) - printlog( "Open dialog.xlb" ) + printlog( "Open " & XLB_DIALOG_FILE ) Oeffnen.click() kontext "active" if ( active.exists( 1 ) ) then if ( active.getRT() <> 373 ) then - cMSG = Active.getText() - cMsg = hRemoveLineBreaks( cMsg ) - warnlog( "Autocompletion failed: " & cMsg ) + warnlog( "Autocompletion failed: " & Active.getText() ) Active.ok() Kontext "OeffnenDlg" - DateiName.setText( "dialog.xlb" ) + DateiName.setText( XLB_DIALOG_FILE ) Oeffnen.click() endif endif @@ -114,10 +120,10 @@ testcase tBasicLibraryImport hDestroyDocument() - hDeleteFile( hGetWorkPath() & LIBRARY_NAME & gPathSigne & "dialog.xlb" ) - hDeleteFile( hGetWorkPath() & LIBRARY_NAME & gPathSigne & "Module1.xba" ) - hDeleteFile( hGetWorkPath() & LIBRARY_NAME & gPathSigne & "script.xlb" ) - rmdir( hGetWorkPath() & LIBRARY_NAME ) : printlog( "Remove directory" ) + hDeleteFile( cPath & GetPathSeparator & XLB_DIALOG_FILE ) + hDeleteFile( cPath & GetPathSeparator & "Module1.xba" ) + hDeleteFile( cPath & GetPathSeparator & "script.xlb" ) + rmdir( cPath ) : printlog( "Remove directory" ) endcase diff --git a/testautomation/framework/optional/includes/basic_modulehide.inc b/testautomation/framework/optional/includes/basic_modulehide.inc index 88ab89227869..fb2ef75b31f5 100755 --- a/testautomation/framework/optional/includes/basic_modulehide.inc +++ b/testautomation/framework/optional/includes/basic_modulehide.inc @@ -35,6 +35,7 @@ testcase tBasicIdeModuleHide const CFN = "tBasicIdeModuleHide::" + const RAISE_MESSAGEBOX = 1 dim rc as integer dim brc as boolean @@ -46,7 +47,7 @@ testcase tBasicIdeModuleHide ToolsMacro_uno hCreateModuleForDoc() - brc = hInsertMacro( 1 ) + brc = hInsertMacro( RAISE_MESSAGEBOX ) if ( brc ) then printlog( CFN & "Macro has been written successfully" ) else @@ -60,7 +61,7 @@ testcase tBasicIdeModuleHide try ' hTestMacro is expected to fail, so we jump to the catch statement - rc = hTestMacro( 1 ) + rc = hTestMacro( RAISE_MESSAGEBOX ) if ( rc = 0 ) then warnlog( "For some reason the original module is still visible" ) else @@ -80,7 +81,7 @@ testcase tBasicIdeModuleHide endcatch - rc = hTestMacro( 1 ) + rc = hTestMacro( RAISE_MESSAGEBOX ) if ( rc = 1 ) then printlog( " * the correct macro-module is open. Good." ) else diff --git a/testautomation/framework/optional/includes/basic_package_export.inc b/testautomation/framework/optional/includes/basic_package_export.inc index a8a2ae00459d..28e214102dbb 100755 --- a/testautomation/framework/optional/includes/basic_package_export.inc +++ b/testautomation/framework/optional/includes/basic_package_export.inc @@ -40,6 +40,10 @@ testcase tBasicPackageExport const LIBRARY_NAME = "tBasicExport" const DOCUMENT_POSITION = 4 const PACKAGE_SIZE = 1325 + + const LIBRARIES_TAB = 3 + const LONG_WAIT = 3 + const SHORT_WAIT = 1 dim cDocumentName as string dim cLibraryName as string @@ -69,7 +73,7 @@ testcase tBasicPackageExport printlog( "Select the second document" ) kontext "Makro" - if ( Makro.exists( 1 ) ) then + if ( Makro.exists( SHORT_WAIT ) ) then iNodeCount = hGetNodeCount( MakroAus ) cDocumentName = hSelectNode( MakroAus, iNodeCount ) @@ -77,7 +81,7 @@ testcase tBasicPackageExport Verwalten.click() printlog( "Go to the libraries tabpage" ) - hSelectBasicObjectOrganizerTab( 3 ) + hSelectBasicObjectOrganizerTab( LIBRARIES_TAB ) kontext "TabBibliotheken" printlog( "Select the document at pos. " & DOCUMENT_POSITION ) @@ -93,7 +97,7 @@ testcase tBasicPackageExport Neu.click() kontext "NeueBibliothek" - if ( NeueBibliothek.exists( 1 ) ) then + if ( NeueBibliothek.exists( SHORT_WAIT ) ) then printlog( "Name the new library: " & LIBRARY_NAME ) BibliotheksName.setText( LIBRARY_NAME ) NeueBibliothek.ok() @@ -128,7 +132,7 @@ testcase tBasicPackageExport printlog( "Select the work document" ) kontext "Makro" - if ( Makro.exists( 1 ) ) then + if ( Makro.exists( SHORT_WAIT ) ) then iNodeCount = hGetNodeCount( MakroAus ) hSelectNode( MakroAus, iNodeCount ) @@ -136,10 +140,10 @@ testcase tBasicPackageExport Verwalten.click() printlog( "Libraries tab" ) - hSelectBasicObjectOrganizerTab( 3 ) + hSelectBasicObjectOrganizerTab( LIBRARIES_TAB ) kontext "TabBibliotheken" - if ( TabBibliotheken.exists( 1 ) and TabBibliotheken.isVisible() ) then + if ( TabBibliotheken.exists( SHORT_WAIT ) and TabBibliotheken.isVisible() ) then Bibliothek.select( DOCUMENT_POSITION ) printlog( "Select the new library" ) @@ -156,17 +160,17 @@ testcase tBasicPackageExport Export.click() kontext "ExportBasicLibraryDlg" - if ( ExportBasicLibraryDlg.exists( 3 ) ) then + if ( ExportBasicLibraryDlg.exists( LONG_WAIT ) ) then printlog( "Select to export as extension" ) ExportAsPackage.check() - ExportBasicLibraryDlg.ok() + hCloseDialog( ExportBasicLibraryDlg, "ok" ) kontext "SpeichernDlg" - if ( SpeichernDlg.exists( 3 ) ) then + if ( SpeichernDlg.exists( LONG_WAIT ) ) then printlog( "Save the file, suffix will be added automatically." ) DateiName.setText( hGetWorkPath() & LIBRARY_NAME ) Speichern.click() - Speichern.notExists( 1 ) + Speichern.notExists( SHORT_WAIT ) else warnlog( "Dialog did not open" ) endif @@ -176,16 +180,14 @@ testcase tBasicPackageExport kontext "TabBibliotheken" printlog( "Close libraires tabpage" ) - TabBibliotheken.cancel() - TabBibliotheken.notExists( 1 ) + hCloseDialog( TabBibliotheken, "cancel" ) else warnlog( "Dialog is not available" ) endif kontext "Makro" printlog( "Close BASIC organizer" ) - Makro.cancel() - Makro.notExists( 1 ) + hCloseDialog( Makro, "cancel" ) else warnlog( "Dialog did not open" ) endif diff --git a/testautomation/framework/optional/includes/basic_package_import.inc b/testautomation/framework/optional/includes/basic_package_import.inc index 4ef74de4f112..a16b9e4e50e2 100755 --- a/testautomation/framework/optional/includes/basic_package_import.inc +++ b/testautomation/framework/optional/includes/basic_package_import.inc @@ -41,6 +41,9 @@ testcase tBasicPackageImport dim package_name as string : package_name = "tBasicExport.oxt" const LIBRARY_NAME = "tBasicExport" + const MY_MACROS = 1 + const LIBRARIES_TAB = 3 + const SHORT_WAIT = 1 dim cDocumentName as string dim cLibraryName as string @@ -49,9 +52,9 @@ testcase tBasicPackageImport dim iCurrentLib as integer dim iStatus as integer - dim cFile as string - cFile = hGetWorkPath() & package_name - + dim cFile as string : cFile = hGetWorkPath() & package_name + + printlog( "Probe for test extension created by basic_packege_export" ) if ( Not FileExists( cFile ) or ( FileLen( cFile ) = 0 ) ) then warnlog( "#i105719# - Test extension is missing or has zero size. This is most likely" & _ " a follow-up error from the prior test case. Test stopped." ) @@ -80,14 +83,14 @@ testcase tBasicPackageImport ToolsMacro_uno kontext "Makro" - MakroAus.select( 1 ) + MakroAus.select( MY_MACROS ) Verwalten.click() - hSelectBasicObjectOrganizerTab( 3 ) + hSelectBasicObjectOrganizerTab( LIBRARIES_TAB ) kontext "TabBibliotheken" - Bibliothek.select( 1 ) + Bibliothek.select( SHORT_WAIT ) printlog( "Select the new library" ) kontext "TabBibliotheken" @@ -98,15 +101,13 @@ testcase tBasicPackageImport endif next iCurrentLib cLibraryName = BibliotheksListe.getSelText() - - try - Hinzufuegen.click() - catch + + if ( not hClickButton( Hinzufuegen ) ) then warnlog( "#i64007 - Office crashes on clicking import button" ) - endcatch + endif kontext "OeffnenDlg" - OeffnenDlg.cancel() + hCloseDialog( OeffnenDlg, "cancel" ) printlog( "Cleanup: Delete Library, close dialogs and remove package" ) @@ -119,19 +120,18 @@ testcase tBasicPackageImport Loeschen.click() kontext "active" - if ( active.exists( 1 ) ) then + if ( active.exists( SHORT_WAIT ) ) then active.yes() else warnlog( "No warning for library deletion" ) endif - endif - + endif kontext "TabBibliotheken" - TabBibliotheken.cancel() + hCloseDialog( TabBibliotheken, "cancel" ) kontext "Makro" - Makro.cancel() + hCloseDialog( Makro, "cancel" ) hExtensionRemoveGUI( package_name ) diff --git a/testautomation/framework/optional/includes/security_recommend_password.inc b/testautomation/framework/optional/includes/security_recommend_password.inc index eaceab3691b9..628fdecd7ae5 100755 --- a/testautomation/framework/optional/includes/security_recommend_password.inc +++ b/testautomation/framework/optional/includes/security_recommend_password.inc @@ -80,11 +80,8 @@ testcase tRecommendPassword( filetypeID as string ) if ( rc = 0 ) then - if AutomatischeDateinamenserweiterung.Exists then - AutomatischeDateinamenserweiterung.Uncheck - endif - - + AutomatischeDateinamenserweiterung.Uncheck + printlog( "Name the file" ) Dateiname.settext( workpath & workfile ) @@ -117,6 +114,5 @@ testcase tRecommendPassword( filetypeID as string ) printlog( "Close the current document" ) call hCloseDocument() - endcase diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index 84d261ec5fca..b57fd9495e5c 100644 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1165,7 +1165,7 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean endif ' Find out whether the dialog must exist (default) or is just closed as a precaution ("optional") - if ( instr( sFlags, "optional") > 0 ) then bDialogMustExist = FALSE + if ( instr( sFlags, "optional") ) then bDialogMustExist = FALSE if ( GVERBOSE ) then printlog( "Closing dialog <" & oDialog.name() & "> using the flags <" & sFlags & ">.") @@ -1180,7 +1180,7 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean case METHOD_YES : oDialog.yes() case METHOD_NO : oDialog.no() case else : - warnlog( CFN & " Script error: Allowed closing methods are , and ." ) + warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) end select else if ( bDialogMustExist ) then -- cgit From 3a6a8cec4b90ae657f08aed7f2dd63264deee6ec Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 12 Apr 2010 14:34:06 +0200 Subject: vitomation01: #i109562 - Modifications to OLE tests, remove function DisableNavigator() as it was identical to hCloseNavigator() which again now is just a call to hCloseDialog... --- .../framework/optional/includes/ole_3.inc | 39 +++++++----------- .../framework/optional/includes/ole_tools.inc | 47 +++++++++++----------- .../global/tools/includes/optional/t_ole.inc | 19 +++++---- .../global/tools/includes/required/t_tools3.inc | 2 + 4 files changed, 50 insertions(+), 57 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_ole.inc mode change 100644 => 100755 testautomation/global/tools/includes/required/t_tools3.inc diff --git a/testautomation/framework/optional/includes/ole_3.inc b/testautomation/framework/optional/includes/ole_3.inc index 22cab57056f6..9f1d0ac28d6b 100755 --- a/testautomation/framework/optional/includes/ole_3.inc +++ b/testautomation/framework/optional/includes/ole_3.inc @@ -81,15 +81,11 @@ endcase '******************************************************************************* -sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as string ) +function hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as string ) as beoolean dim sFile as String dim bOleAvailable as boolean - - - - printlog( "" ) printlog( "Beginning testcase with options: " ) printlog( "* Remove focus...: " & bRemoveFocus ) @@ -102,12 +98,14 @@ sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as ' So writer/writer, calc/calc, masterdoc/writer is skipped ... if ( gApplication = cOleType ) then printlog( "Skipping " & cOleType & " as OLE object" ) - goto testend + hInsertOLEObject() = false + exit function endif if ( gApplication = "MASTERDOCUMENT" and cOleType = "WRITER" ) then printlog( "Skipping " & cOleType & " as OLE object" ) - goto testend + hInsertOLEObject() = false + exit function endif hCreateDocument() @@ -125,12 +123,12 @@ sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as ObjektTyp.Select( cOLEObject ) printlog( "Click OK" ) - OLEObjektEinfuegen.OK() - WaitSlot( 3000 ) + hCloseDialog( OLEObjektEinfuegen, "ok" ) else warnlog( "Insert OLE object dialog is missing, test ends" ) hDestroyDocument() - goto testend + hInsertOLEObject() = false + exit function endif if ( bRemoveFocus ) then @@ -149,14 +147,8 @@ sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as sFile = ConvertPath ( gOfficePath + "user\work\ole_" & cOleType ) printlog( "Save the file; File to be written (w/o extension): " & sFile ) - if fileexists(sFile) then - kill(sFile) - qaerrorlog("killed file from former test run") - endif - - hFileSaveAsKill( sFile ) - - printlog( "Close the document" ) + hDeleteFile( sFile ) + hFileSaveAs( sFile ) hDestroyDocument() printlog( "Reopen the file: " & sFile ) @@ -165,7 +157,8 @@ sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as bOleAvailable = isOleAvailable() if ( bOleAvailable ) then - call DisableNavigator() + kontext "Navigator" + if ( Navigator.exists() ) then hCloseDialog( Navigator, "close,optional" ) call OLESetFocus() @@ -174,14 +167,10 @@ sub hInsertOLEObject( bRemoveFocus as boolean, cOLEObject as string, cOleType as qaErrorLog( "#i44725# OLE Object not saved in Master Document" ) endif - printlog( "Cleanup: Close the document" ) + printlog( "Cleanup: Close the document, delete workfile" ) hDestroyDocument() - - printlog( "Cleanup: Delete the workfile" ) hDeleteFile( sFile ) - - ' We end up here when the test has been skipped or aborted - testend: + hInsertOLEObject() = true end sub diff --git a/testautomation/framework/optional/includes/ole_tools.inc b/testautomation/framework/optional/includes/ole_tools.inc index 0428f758cb3d..03b921fc95d3 100755 --- a/testautomation/framework/optional/includes/ole_tools.inc +++ b/testautomation/framework/optional/includes/ole_tools.inc @@ -74,22 +74,38 @@ end sub '******************************************************************************* -sub hSetToStandardView ( DieApp$ ) - select case DieApp$ +function hSetToStandardView ( cApplication as string ) as boolean + + const MAX_WAIT_FOR_DIALOG = 2 + + select case ( cApplication ) case "WRITER" - gApplication = "WRITER" + gApplication = cApplication Call hNewDocument Kontext "DocumentWriter" case "MASTERDOCUMENT" - gApplication = "MASTERDOCUMENT" + gApplication = cApplication Call hNewDocument Kontext "DocumentMasterDoc" + case else + printlog( "Application not supported by this function: " & cApplication ) + hSetToStandardView() = false + exit function end select - ViewZoom + + hUseAsyncSlot( "ViewZoom" ) + Kontext "Massstab" - Optimal.Check - Massstab.ok() + if ( Massstab.exists( MAX_WAIT_FOR_DIALOG ) ) then + Optimal.Check() + hCloseDialog( Massstab, "ok" ) + else + warnlog( "Zoom-Dialog did not open" ) + endif + Call hCloseDocument + hSetToStandardView() = true + end sub '******************************************************************************* @@ -140,23 +156,6 @@ end sub '******************************************************************************* -sub DisableNavigator() - printlog( " - disable the navigator in globaldoc/writer" ) - select case gApplication - case "MASTERDOCUMENT" : Kontext "NavigatorGlobalDoc" - if NavigatorGlobalDoc.Exists() then - ViewNavigator - endif - case "WRITER" : Kontext "NavigatorWriter" - if NavigatorWriter.Exists() then - ViewNavigator - endif - end select - sleep( 1) -end sub - -'******************************************************************************* - sub UncheckAutoFileExtension() Kontext "SpeichernDlg" if SpeichernDlg.exists(5) then diff --git a/testautomation/global/tools/includes/optional/t_ole.inc b/testautomation/global/tools/includes/optional/t_ole.inc old mode 100644 new mode 100755 index dc1a4baa0fa9..f31798c37bbc --- a/testautomation/global/tools/includes/optional/t_ole.inc +++ b/testautomation/global/tools/includes/optional/t_ole.inc @@ -33,22 +33,24 @@ function hGetOfficeVersion() as string - dim cPath as string - dim aItemList( 20 ) as string - const CFN = "global::tools::includes::optional::t_ole.inc::hGetOfficeVersion(): " + const DATAFILE = "global/input/officeinfo.txt" + const MAX_LINES_IN_DATAFILE = 20 + dim cPath as string + dim aItemList( MAX_LINES_IN_DATAFILE ) as string + ' Path to info file - cPath = convertpath( gTesttoolPath & "global/input/officeinfo.txt" ) + cPath = convertpath( gTesttoolPath & DATAFILE ) if ( GVERBOSE ) then printlog( CFN & "Reading: " & cPath ) - ' Read the file + ' Read the file, store the list of known office versions hGetDatafileSection( cPath, aItemList(), "", "", "" ) - ' Set global variable + ' Search for the version number matching the product name, store value in global variable gOfficeVersion = hGetValueForKeyAsString( aItemList(), gProductName ) - ' Set returnvalue + ' Return content of the global variable as well hGetOfficeVersion() = gOfficeVersion end function @@ -68,7 +70,8 @@ function hGetOleObjectName( cApplication as string ) as string dim cString as string const CFN = "global::tools::includes::optional::t_ole.inc::hGetOleObjectName(): " - + + ' The application names for the API are case sensitive so we cannot use gApplication select case ( cApplication ) case "WRITER" : Application_API_Name = "Writer case "CALC" : Application_API_Name = "Calc" diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc old mode 100644 new mode 100755 index b57fd9495e5c..43c5ef4125ee --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1073,6 +1073,8 @@ function hUseAsyncSlot( cSlot as string ) as integer case "toolsupdatelinks" : ToolsUpdateLinks case "toolslanguagehangulhanjaconversion" : ToolsLanguageHangulHanjaConversion + case "viewzoom" : ViewZoom + case else : warnlog( "Unknown slot called: " & cSlot ) end select -- cgit From 0730a20f33ed8425e2b2a38b8fcd75f9fa663dab Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 13 Apr 2010 12:03:29 +0200 Subject: vitomation01: #i109562 - ConvertPath was far too complex, cleaned up. Introduced unified functions to replace single characters or small substrings within a string, still need to remove countless clones --- testautomation/global/system/includes/iniinfo.inc | 62 ++++++----------- .../tools/includes/optional/t_stringtools.inc | 79 +++++++++++----------- 2 files changed, 58 insertions(+), 83 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_stringtools.inc diff --git a/testautomation/global/system/includes/iniinfo.inc b/testautomation/global/system/includes/iniinfo.inc index a67c7554c8d5..8e8c2374d05d 100755 --- a/testautomation/global/system/includes/iniinfo.inc +++ b/testautomation/global/system/includes/iniinfo.inc @@ -245,55 +245,31 @@ end function '------------------------------------------------------------------------- -function ConvertPath ( sDatei$, optional sPlatform as string ) as String - '/// Path conversion - '/// Input: path as string; OPTIONAL: string of class gPlatform - '/// Output: converted path respected to gPlatform; if optional paramter: to that Platform - '/// Convert the pathsigne '\' to '/' when a test runs under UNIX - Dim iW32 as Integer : Dim iUNX as Integer - Dim i as Integer : Dim Ende as Integer - Dim s1$ : Dim s2$ : Dim s3$ - dim sLocalPlatGroup as string - dim sLocalPathSigne as string - - if (isMissing(sPlatform)) then - sLocalPlatGroup = gPlatGroup - sLocalPathSigne = gPathSigne +function ConvertPath ( sPath as string ) as String + + if ( getPathSeparator = "/" ) then + sPath = hStringReplace( sPath, "\", "/" ) else - sLocalPlatGroup = hPlatformToGroup(sPlatform) - sLocalPathSigne = hGetPathSigne(sPlatform) - end if + sPath = hStringReplace( sPath, "/", "\" ) + endif - s3$ = "" : iW32 = 0 : iUNX = 0 - s1$ = sDatei$ - Ende = len ( s1$ ) - - ' convert all / to \ if WIN - if sLocalPlatGroup <> "unx" then - do - i = InStr( s1$, "/" ) - if i = 0 then exit do - s2$ = Left( s1$ , i-1 ) - s1$ = Mid( s1$ , i+1 ) - s3$ = s3$ + s2$ + "\" - loop until s1$="" - s1$ = s3$ + s1$ - s3$ = "" : s2$ = "" - end if + convertpath() = sPath - ' convert all \ to gPathSigne => WIN -> XXX - do - i = InStr( s1$, "\" ) - if i = 0 then exit do - s2$ = Left( s1$ , i-1 ) - s1$ = Mid( s1$ , i+1 ) - s3$ = s3$ + s2$ + sLocalPathSigne - loop until s1$="" +end function + +'------------------------------------------------------------------------------- + +function hStringReplaceChar( myString as string, old_char as string, new_char as string ) as string + + dim iChar as integer + for iChar = 1 to len( myString ) + if ( mid( myString, iChar, 1 ) = old_char ) then mid( myString, iChar, 1, new_char ) + next iChar + hStringReplaceChar() = myString - ConvertPath = s3$ + s1$ end function -'------------------------------------------------------------------------- +'------------------------------------------------------------------------------- sub GetLanguageInformation '/// Extracts the language information from Setup.xcu. diff --git a/testautomation/global/tools/includes/optional/t_stringtools.inc b/testautomation/global/tools/includes/optional/t_stringtools.inc old mode 100644 new mode 100755 index 65290e23967d..200cbb2b8724 --- a/testautomation/global/tools/includes/optional/t_stringtools.inc +++ b/testautomation/global/tools/includes/optional/t_stringtools.inc @@ -33,46 +33,11 @@ function hRemoveLineBreaks( cString as string ) as string - '///

Remove linebreaks and tabs from a string

- '///Used to "beautify" content of messageboxes when printed to the log

- '///Parameter(s): - '///
    - '///+
  1. Content of a messagebox as captured with .getText() (string)
  2. - '///
- '///Returns: - '///
    - '///+
  1. A string without tabs, linebreaks and linefeed (string)
  2. - '///
- '///Description: - '///
    - '///+
  • Walk through the string, replace linebreaks, tabs etc. with spaces
  • - - ' Function (undocumented) to remove LF and CR from strings. - ' When a messagebox appears with multiple lines of text this usually - ' breaks the output of the printlog into multiple lines making it - ' hard to read. So this function puts the entire text in one line. - - dim iCharPos as integer - dim cCurrentChar as string - dim cNewString as string - - ' walk through the string character by character and replace those - ' characters that break the line. Tabs and linebreaks become spaces - for iCharPos = 1 to len( cString ) - - cCurrentChar = mid( cString , iCharPos , 1 ) - - select case cCurrentChar - case CHR$(13) : cNewString = cNewString & " " ' replace linebreak - case CHR$(10) : ' Simply ignore linefeed - case CHR$(09) : cNewString = cNewString & " " ' replace tab with space - case else : cNewString = cNewString & cCurrentChar ' append char - end select - - next iCharPos - - hRemoveLineBreaks() = cNewString - '///
+ dim myString as string : myString = cString + myString = hStringReplaceChar( myString, CHR$(09), " " ) + myString = hStringReplaceChar( myString, CHR$(13), " " ) + myString = hStringReplaceChar( myString, CHR$(10), "" ) + hRemoveLineBreaks() = myString end function @@ -353,3 +318,37 @@ function hConvertStringToLong( cValue as string ) as long '/// end function + +'******************************************************************************* + +function hStringReplace( myString as string, search_string as string, replace_with as string ) as string + + const CFN = "hStringReplace(): " + + dim search_string_position as string + dim search_string_found as boolean : search_string_found = true + dim len_search_string as integer : len_search_string = len( search_string ) + dim len_replace_with as integer : len_replace_with = len( replace_with ) + + if ( GVERBOSE ) then printlog( CFN & "Replace all <" & search_string & "> with <" & replace_with & "> in <" & myString & ">" ) + + if ( not instr( replace_with, search_string ) and len_search_string >= len_replace_with ) then + do while( search_string_found ) + search_string_position = instr( myString, search_string ) + if ( search_string_position > 0 ) then + mid( myString, search_string_position, len( search_string ), replace_with ) + else + search_string_found = false + endif + loop + else + warnlog( CFN & "Function used incorrectly" ) + warnlog( CFN & "Replace all <" & search_string & "> with <" & replace_with & "> in <" & myString & ">" ) + warnlog( CFN & "The new string must be of equal length or shorter than the string to be replaced" ) + warnlog( CFN & "The new string may not contain the string to be replaced (e.g. replace 'a' with 'ha' is not allowed)" ) + endif + + if ( GVERBOSE ) then printlog( CFN & "Return string is <" & myString & ">" ) + hStringReplace() = myString + +end function -- cgit From add9c12f09f580856316924366fb7a2141388eec Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 13 Apr 2010 12:19:56 +0200 Subject: vitomation01: #i109562 - Protect function parameters, they should not be changed (ConvertPath behaves differently, though ) --- testautomation/global/system/includes/iniinfo.inc | 15 ++++++--------- .../global/tools/includes/optional/t_stringtools.inc | 3 ++- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/testautomation/global/system/includes/iniinfo.inc b/testautomation/global/system/includes/iniinfo.inc index 8e8c2374d05d..14c29bd345e2 100755 --- a/testautomation/global/system/includes/iniinfo.inc +++ b/testautomation/global/system/includes/iniinfo.inc @@ -245,23 +245,20 @@ end function '------------------------------------------------------------------------- -function ConvertPath ( sPath as string ) as String - +sub ConvertPath( sPath as string ) if ( getPathSeparator = "/" ) then - sPath = hStringReplace( sPath, "\", "/" ) + sPath = hStringReplaceChar( sPath, "\", "/" ) else - sPath = hStringReplace( sPath, "/", "\" ) + sPath = hStringReplaceChar( sPath, "/", "\" ) endif - - convertpath() = sPath - -end function +end sub '------------------------------------------------------------------------------- -function hStringReplaceChar( myString as string, old_char as string, new_char as string ) as string +function hStringReplaceChar( cString as string, old_char as string, new_char as string ) as string dim iChar as integer + dim myString as string : myString = cString for iChar = 1 to len( myString ) if ( mid( myString, iChar, 1 ) = old_char ) then mid( myString, iChar, 1, new_char ) next iChar diff --git a/testautomation/global/tools/includes/optional/t_stringtools.inc b/testautomation/global/tools/includes/optional/t_stringtools.inc index 200cbb2b8724..914d8b7c6ab4 100755 --- a/testautomation/global/tools/includes/optional/t_stringtools.inc +++ b/testautomation/global/tools/includes/optional/t_stringtools.inc @@ -321,7 +321,7 @@ end function '******************************************************************************* -function hStringReplace( myString as string, search_string as string, replace_with as string ) as string +function hStringReplace( cString as string, search_string as string, replace_with as string ) as string const CFN = "hStringReplace(): " @@ -329,6 +329,7 @@ function hStringReplace( myString as string, search_string as string, replace_wi dim search_string_found as boolean : search_string_found = true dim len_search_string as integer : len_search_string = len( search_string ) dim len_replace_with as integer : len_replace_with = len( replace_with ) + dim myString as string : myString = cString if ( GVERBOSE ) then printlog( CFN & "Replace all <" & search_string & "> with <" & replace_with & "> in <" & myString & ">" ) -- cgit From 45980c18c34f53c0f9cb7633d126db27ada4d1cb Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 13 Apr 2010 12:26:44 +0200 Subject: vitomation01: #i109562 - ConvertPath is a function! Fixed. --- testautomation/global/system/includes/iniinfo.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testautomation/global/system/includes/iniinfo.inc b/testautomation/global/system/includes/iniinfo.inc index 14c29bd345e2..46dccba381c0 100755 --- a/testautomation/global/system/includes/iniinfo.inc +++ b/testautomation/global/system/includes/iniinfo.inc @@ -245,13 +245,13 @@ end function '------------------------------------------------------------------------- -sub ConvertPath( sPath as string ) +function ConvertPath( sPath as string ) as string if ( getPathSeparator = "/" ) then - sPath = hStringReplaceChar( sPath, "\", "/" ) + ConvertPath() = hStringReplaceChar( sPath, "\", "/" ) else - sPath = hStringReplaceChar( sPath, "/", "\" ) + ConvertPath() = hStringReplaceChar( sPath, "/", "\" ) endif -end sub +end function '------------------------------------------------------------------------------- -- cgit From 8791c8522c267c28b1513bf0bb66f03ebb8ca819 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 14 Apr 2010 09:48:30 +0200 Subject: vitomation01: Regression fixing - Repair f_topten.bas --- .../global/tools/includes/optional/t_docfuncs.inc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_docfuncs.inc diff --git a/testautomation/global/tools/includes/optional/t_docfuncs.inc b/testautomation/global/tools/includes/optional/t_docfuncs.inc old mode 100644 new mode 100755 index 2f94f67ba527..921879a80759 --- a/testautomation/global/tools/includes/optional/t_docfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_docfuncs.inc @@ -152,28 +152,34 @@ function hChangeDoc() as string case "WRITER", "HTML", "MASTERDOCUMENT" Kontext "DocumentWriter" DocumentWriter.TypeKeys "This doc is changed!" - hChangeDoc() = "Changed WRITER/HTML/MASTERDOC" + hChangeDoc() = "Changed WRITER/HTML/MASTERDOC" + 'DocumentWriter.typeKeys( "" ) '///+
  • CALC: Write some text into the current location (usually A1)
  • case "CALC" : Kontext "DocumentCalc" DocumentCalc.TypeKeys "This doc is changed!" - hChangeDoc() = "Changed CALC" + hChangeDoc() = "Changed CALC" + 'DocumentWriter.typeKeys( "" ) '///+
  • DRAW: Draw a rectangle
  • case "DRAW" : Kontext "DocumentDraw" hRechteckErstellen ( 20, 20, 25, 25 ) gMouseClick ( 1, 1 ) - hChangeDoc() = "Changed DRAW" + hChangeDoc() = "Changed DRAW" + 'DocumentWriter.typeKeys( "" ) '///+
  • IMPRESS: Draw a rectangle
  • case "IMPRESS": Kontext "DocumentImpress" hRechteckErstellen ( 20, 20, 25, 25 ) gMouseClick ( 1, 1 ) - hChangeDoc() = "Changed IMPRESS" + hChangeDoc() = "Changed IMPRESS" + 'DocumentWriter.typeKeys( "" ) '///+
  • MATH: Create a simple formaula
  • case "MATH" : SchreibenInMathdok( "b over c" ) - hChangeDoc() = "Changed MATH" + kontext "DocumentMath" + hChangeDoc() = "Changed MATH" + gMouseClick( 50 , 50 ) end select '/// -- cgit From 9742b2c31d03e6722eddfbc724fc5d8ef6c74cd7 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 15 Apr 2010 11:14:44 +0200 Subject: vitomation01: #i109562 - More stability fixes --- .../required/includes/tools_customize.inc | 276 +++++++++++---------- .../framework/tools/includes/toolbar_tools.inc | 60 +++-- .../global/tools/includes/required/t_tools3.inc | 1 + .../graphics/required/includes/impress/im_003_.inc | 77 +++--- 4 files changed, 217 insertions(+), 197 deletions(-) mode change 100644 => 100755 testautomation/graphics/required/includes/impress/im_003_.inc diff --git a/testautomation/framework/required/includes/tools_customize.inc b/testautomation/framework/required/includes/tools_customize.inc index 6382db2ee4ca..aa726ab7af19 100755 --- a/testautomation/framework/required/includes/tools_customize.inc +++ b/testautomation/framework/required/includes/tools_customize.inc @@ -56,10 +56,19 @@ endcase function hUpdtToolsCustomizeMenu() - - const CFN = "hUpdtToolsCustomizeMenu::" + + const MENUITEM_MOVE = 1 + const MENUITEM_ADDSUBMENU = 1 + const MENUITEM_RENAME = 2 + const MENUITEM_DELETE = 3 + const MENUITEM_MODIFY = 2 + const MENUITEM_MODIFY_LARGE_MENU = 4 + + const APPLICATION_ONLY = 1 + const APPLICATION_AND_DOCUMENT = 2 const ITEMNAME = "tUpdtCustomize" + dim brc as boolean dim iItems as integer @@ -78,48 +87,56 @@ function hUpdtToolsCustomizeMenu() BtnNew.click() Kontext "MenuOrganiser" - printlog( CFN & "MenuOrganiser" ) - call DialogTest( MenuOrganiser ) - - printlog( CFN & "Down..." ) - ButtonDown.click() - - printlog( CFN & "Up..." ) - ButtonUp.click() - - printlog( CFN & "Name the new menu" ) - MenuName.setText( "tUpdtCustomize" ) - - 'qaerrorlog( "#i60609# Undeclared listbox in menu organiser" ) - printlog( "TODO: Access the listbox in menuorganizer" ) - - printlog( CFN & "Close the menu with ok" ) - MenuOrganiser.ok() + if ( MenuOrganiser.exists( 2 ) ) then + printlog( CFN & "MenuOrganiser" ) + call DialogTest( MenuOrganiser ) + + printlog( CFN & "Down..." ) + ButtonDown.click() + + printlog( CFN & "Up..." ) + ButtonUp.click() + + printlog( CFN & "Name the new menu" ) + MenuName.setText( "tUpdtCustomize" ) + + 'qaerrorlog( "#i60609# Undeclared listbox in menu organiser" ) + printlog( "TODO: Access the listbox in menuorganizer" ) + + printlog( CFN & "Close the menu with ok" ) + hCloseDialog( MenuOrganiser, "ok" ) + else + warnlog( "Dialog did not open" ) + endif printlog( CFN & "Click the menu listbutton" ) kontext "TabCustomizeMenu" hOpenMenuButton( MenuBtn ) ' MenuBtn.OpenMenu() printlog( CFN & "Select Move..." ) - hMenuSelectNr( 1 ) + hMenuSelectNr( MENUITEM_MOVE ) kontext "MenuOrganiser" - printlog( CFN & "Click UP" ) - ButtonUp.click() - - kontext "MenuOrganiser" - printlog( CFN & "Click DOWN" ) - ButtonDown.click() + if ( MenuOrganiser.exists( 2 ) ) then + printlog( CFN & "Click UP" ) + ButtonUp.click() - printlog( CFN & "Cancel the dialog" ) - MenuOrganiser.cancel() + kontext "MenuOrganiser" + printlog( CFN & "Click DOWN" ) + ButtonDown.click() + + printlog( CFN & "Cancel the dialog" ) + hCloseDialog( MenuOrganiser, "cancel" ) + else + warnlog( "Dialog did not open" ) + endif printlog( CFN & "Click the menu listbutton" ) kontext "TabCustomizeMenu" hOpenMenuButton( MenuBtn ) ' MenuBtn.OpenMenu() printlog( CFN & "Select Rename..." ) - hMenuSelectNr( 2 ) + hMenuSelectNr( MENUITEM_RENAME ) printlog( CFN & "Cancel the renaming-dialog" ) kontext "RenameMenu" @@ -130,7 +147,7 @@ function hUpdtToolsCustomizeMenu() hOpenMenuButton( MenuBtn ) ' MenuBtn.OpenMenu() printlog( CFN & "Select Delete" ) - hMenuSelectNr( 3 ) + hMenuSelectNr( MENUITEM_DELETE ) kontext "TabCustomizeMenu" hUpdtToolsCustomizeScriptSelector( 3 ) @@ -138,8 +155,8 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Check itemcount in SaveIn List" ) kontext "TabCustomizeMenu" select case gApplication - case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( 1 ) - case else : brc = hToolsCustomizeTestSaveIn( 2 ) + case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( APPLICATION_ONLY ) + case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) end select if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) @@ -153,7 +170,7 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and select item 1 (Add submenu)" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( 1 ) + brc = hClickCommandButton( MENUITEM_ADDSUBMENU ) if ( not brc ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function @@ -201,7 +218,7 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and delete the current item" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( 4 ) + brc = hClickCommandButton( MENUITEM_MODIFY_LARGE_MENU ) if ( not brc ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function @@ -209,7 +226,7 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and create a new group" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( 2 ) + brc = hClickCommandButton( MENUITEM_MODIFY ) if ( not brc ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function @@ -218,7 +235,7 @@ function hUpdtToolsCustomizeMenu() ' Note: The current index for the delete-function is at pos 2. printlog( CFN & "Click the Modify-Button and delete the new group" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( 2 ) + brc = hClickCommandButton( MENUITEM_MODIFY ) if ( not brc ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function @@ -230,10 +247,6 @@ end function function hUpdtToolsCustomizeToolbars() - - - - const CFN = "hUpdtToolsCustomizeToolbars::" dim brc as boolean @@ -266,7 +279,7 @@ function hUpdtToolsCustomizeToolbars() ToolbarName.setText( "tUpdtCustomize" ) printlog( CFN & "Close NewToolbar dialog with OK" ) - NewToolbar.ok() + hCloseDialog( NewToolbar, "ok" ) else warnlog( CFN & "Could not access New Toolbar dialog" ) endif @@ -282,7 +295,7 @@ function hUpdtToolsCustomizeToolbars() kontext "RenameToolbar" if ( RenameToolbar.exists( 2 ) ) then call dialogtest( RenameToolbar ) - RenameToolbar.Cancel() + hCloseDialog( RenameToolbar, "Cancel" ) else warnlog( CFN & "Could not access Toolbar renaming dialog" ) endif @@ -302,9 +315,7 @@ function hUpdtToolsCustomizeToolbars() case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( 1 ) case else : brc = hToolsCustomizeTestSaveIn( 2 ) end select - if ( not brc ) then - warnlog( "Incorrect itemcount in listbox, see above" ) - endif + if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) printlog( CFN & "Down..." ) if ( BtnDown.isEnabled() ) then @@ -338,14 +349,11 @@ function hUpdtToolsCustomizeToolbars() printlog( CFN & "Add the default item" ) try kontext "ScriptSelector" - ScriptSelector.ok() + hCloseDialog( ScriptSelector, "ok" ) catch qaerrorlog( "#i79207# Could not access ok button on ScriptSelector" ) kontext "ScriptSelector" - if ( ScriptSelector.exists( 2 ) ) then - printlog( "Scriptselector is open" ) - endif - + if ( ScriptSelector.exists( 2 ) ) then printlog( "Scriptselector is open" ) endcatch else @@ -353,23 +361,16 @@ function hUpdtToolsCustomizeToolbars() for iCurrentItem = 1 to 5 printlog( CFN & "LibraryTreeList: Moving down..." ) LibraryTreeList.typeKeys( "" ) - if ( ScriptSelector.isEnabled() ) then - exit for - endif + if ( ScriptSelector.isEnabled() ) then exit for next iCurrentItem endif ' Note: The Customize dialog in the background is updated immediately. This ' means that the cancel-button is active but blocked for a moment - WaitSlot( 2000 ) + 'WaitSlot( 2000 ) printlog( CFN & "Close the Script Selector, back to ToolsCustomize dialog" ) - ScriptSelector.cancel() - - ' make sure the dialog is really closed. At times it just refuses to do so?? - if ( ScriptSelector.exists( 1 ) ) then - ScriptSelector.close() - endif + hCloseDialog( ScriptSelector, "cancel" ) kontext "TabCustomizeToolbars" printlog( CFN & "Click the Modify-button" ) @@ -380,13 +381,14 @@ function hUpdtToolsCustomizeToolbars() endif printlog( CFN & "Rename the item" ) + UseBindings kontext "CustomizeToolbarsRename" if ( CustomizeToolbarsRename.exists( 2 ) ) then call dialogtest( CustomizeToolbarsRename ) EingabeFeld.setText( "Renamed item" ) printlog( CFN & "Close the dialog" ) - CustomizeToolbarsRename.ok() + hCloseDialog( CustomizeToolbarsRename, "ok" ) else warnlog( CFN & "CustomizeToolbarsRename could not be accessed" ) endif @@ -449,11 +451,11 @@ function hUpdtToolsCustomizeToolbars() printlog( CFN & "Cancel the FileOpen-dialog" ) kontext "OeffnenDlg" call dialogtest( OeffnenDlg ) - OeffnenDlg.cancel() + hCloseDialog( OeffnenDlg, "cancel" ) - printlog( CFN & "Cancel the Change Icon dialog" ) + printlog( CFN & "Close the Change Icon dialog with " ) kontext "ChangeIcon" - ChangeIcon.ok() + hCloseDialog( ChangeIcon, "ok" ) else warnlog( CFN & "Could not access Change Icon dialog" ) endif @@ -474,28 +476,36 @@ end function function hUpdtToolsCustomizeEvents() - - - - const CFN = "hUpdtToolsCustomizeEvents::" + const APPLICATION_ONLY = 1 + const APPLICATION_AND_DOCUMENT = 2 + const TAB_EVENTS = 1 + dim brc as boolean printlog( "" ) printlog( "Events" ) - brc = hToolsCustomizeSelectTab( "events" ) - call DialogTest( TabCustomizeEvents ) - - hUpdtToolsCustomizeScriptSelector( 1 ) - - kontext "TabCustomizeEvents" - select case gApplication - case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( 1 ) - case else : brc = hToolsCustomizeTestSaveIn( 2 ) - end select - if ( not brc ) then - warnlog( "Incorrect itemcount in listbox, see above" ) + hToolsCustomizeSelectTab( "events" ) + if ( TabCustomizeEvents.exists() ) then + if ( TabCustomizeEvents.isVisible() ) then + call DialogTest( TabCustomizeEvents ) + + hUpdtToolsCustomizeScriptSelector( TAB_EVENTS ) + + kontext "TabCustomizeEvents" + select case gApplication + case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( APPLICATION_ONLY ) + case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) + end select + if ( not brc ) then + warnlog( "Incorrect itemcount in listbox, see above" ) + endif + else + warnlog( " is not visible" ) + endif + else + warnlog( " did not open" ) endif end function @@ -504,29 +514,27 @@ end function function hUpdtToolsCustomizeKeyboard() as boolean - - - - const CFN = "hUpdtToolsCustomizeKeyboard::" - dim brc as boolean printlog( "" ) printlog( "Keyboard" ) - - brc = hToolsCustomizeSelectTab( "keyboard" ) - if ( not brc and gApplication = "BACKGROUND" ) then - qaerrorlog( "#i61765# TabTastatur is missing when called from Backing Window" ) - exit function + + if ( gApplication = "BACKGROUND" ) then + if ( not hToolsCustomizeSelectTab( "keyboard" ) ) then + qaerrorlog( "#i61765# TabTastatur is missing when called from Backing Window" ) + hUpdtToolsCustomizeKeyboard() = false + exit function + endif endif - + + kontext "TabTastatur" call DialogTest( TabTastatur ) ' no verification of functionality, this is an update test! + kontext "TabTastatur" StarOffice.check() hSelectNode( Tastatur , 2 ) hSelectTopNode( bereich ) - waitslot ' Workaround: It might still happen that the currently selected accelerator ' is "fixed" so we need to find another one that can be modified. @@ -536,12 +544,8 @@ function hUpdtToolsCustomizeKeyboard() as boolean loop Aendern.click() - - Zuruecksetzen.click() - hSelectNode( Tastatur , 2 ) - waitslot ' Workaround: It might still happen that the currently selected accelerator ' is "fixed" so we need to find another one that can be modified. @@ -551,64 +555,64 @@ function hUpdtToolsCustomizeKeyboard() as boolean loop Aendern.click() - Loeschen.click() - Speichern.click() kontext "SpeichernDlg" - SpeichernDlg.cancel() + hCloseDialog( SpeichernDlg, "cancel" ) kontext "TabTastatur" Laden.click() kontext "OeffnenDlg" - OeffnenDlg.cancel() - + hCloseDialog( OeffnenDlg, "cancel" ) end function '******************************************************************************* -function hUpdtToolsCustomizeScriptSelector( iBtn as integer ) as boolean - - - - +function hUpdtToolsCustomizeScriptSelector( iPageButton as integer ) as boolean const CFN = "hUpdtToolsCustomizeScriptSelector::" - dim brc as boolean - brc = true - - select case iBtn - case 1 : kontext "TabCustomizeEvents" - printlog( CFN & "Assign Macro... (1)" ) - AssignMacro.click() - case 2 : kontext "TabCustomizeToolbars" - printlog( CFN & "Add... (2)" ) - AddCommands.click() - case 3 : kontext "TabCustomizeMenu" - printlog( CFN & "Add... (3)" ) - AddCommands.click() + dim brc as boolean : brc = true + const TAB_EVENTS = 1 + const TAB_TOOLBARS = 2 + const TAB_MENU = 3 + + select case iPageButton + case TAB_EVENTS + kontext "TabCustomizeEvents" + printlog( CFN & "Assign Macro... (1)" ) + AssignMacro.click() + case TAB_TOOLBARS + kontext "TabCustomizeToolbars" + printlog( CFN & "Add... (2)" ) + AddCommands.click() + case TAB_MENU + kontext "TabCustomizeMenu" + printlog( CFN & "Add... (3)" ) + AddCommands.click() case else - warnlog( CFN & "Invalid function parameter" ) - brc = false + warnlog( CFN & "Invalid function parameter" ) + hUpdtToolsCustomizeScriptSelector() = false + exit function end select - if ( brc ) then - kontext "ScriptSelector" + kontext "ScriptSelector" + if ( ScriptSelector.exists( 2 ) ) then call DialogTest( ScriptSelector ) - + kontext "ScriptSelector" - ScriptSelector.cancel() - + hCloseDialog( ScriptSelector, "cancel" ) + else + warnlog( CFN & "Dialog did not open" ) endif select case iBtn - case 1 : kontext "TabCustomizeEvents" - case 2 : kontext "TabCustomizeToolbars" - case 3 : kontext "TabCustomizeMenu" + case TAB_EVENTS : kontext "TabCustomizeEvents" + case TAB_TOOLBARS : kontext "TabCustomizeToolbars" + case TAB_MENU : kontext "TabCustomizeMenu" end select hUpdtToolsCustomizeScriptSelector() = brc @@ -618,9 +622,6 @@ end function '******************************************************************************* function hToolsCustomizeTestSaveIn( iItems as integer ) as boolean - - - const CFN = "hToolsCustomizeTestSaveIn::" dim iPresentItems as integer @@ -660,15 +661,18 @@ function hOpenMenuButton( oControl as object ) as integer dim bUseSlowMethod as boolean : bUseSlowMethod = false const CFN = "hOpenMenuButton: " + const RC_FAILURE = -1 + const MAX_RETRIES = 3 + const DEFAULT_DELAY = 1000 - hOpenMenuButton() = -1 ' this is the general failure returnvalue + hOpenMenuButton() = RC_FAILURE - for iClick = 1 to 3 + for iClick = 1 to MAX_RETRIES if ( bUseSlowMethod ) then - wait( 1000 ) + wait( DEFAULT_DELAY ) oControl.OpenMenu() - wait( 3000 ) + wait( DEFAULT_DELAY * 3 ) else oControl.click() endif diff --git a/testautomation/framework/tools/includes/toolbar_tools.inc b/testautomation/framework/tools/includes/toolbar_tools.inc index 0ffe30d294a0..104af556fbca 100755 --- a/testautomation/framework/tools/includes/toolbar_tools.inc +++ b/testautomation/framework/tools/includes/toolbar_tools.inc @@ -104,6 +104,13 @@ function hResetStandardBar() as boolean '///
      const CFN = "hResetStandardBar::" + const MIN_STATIC_DELAY = 1 + const DEFAULT_DELAY = 2 + const MENUITEM_RESTORE = 1 + const MENUITEM_CLOSEMENU = 0 + const TOOLBAR_MENUITEM_CUSTOMIZE = 2 + const EXPECTED_RESOURCE_ID = 304 + printlog( CFN & "Enter" ) @@ -116,36 +123,36 @@ function hResetStandardBar() as boolean '///+
    • Open the context menu on Standardbar
    • Standardbar.OpenContextmenu - sleep( 1 ) + sleep( MIN_STATIC_DELAY ) '///+
    • Click on 2. entry (Cutomize Toolbar)
    • - hMenuselectNr (2) - sleep( 1 ) + hMenuselectNr ( TOOLBAR_MENUITEM_CUSTOMIZE ) + sleep( MIN_STATIC_DELAY ) kontext Active.SetPage TabCustomizeToolbars - sleep( 1 ) + sleep( MIN_STATIC_DELAY ) '///+
    • Toggle to 'Toolbars' tab page.
    • kontext "TabCustomizeToolbars" - if TabCustomizeToolbars.Exists( 2 ) then - sleep( 1 ) + if TabCustomizeToolbars.Exists( DEFAULT_DELAY ) then + sleep( MIN_STATIC_DELAY ) '///+
    • Press in first section '... Toolbars' the 'toolbar'-button
    • MenuBtn.Click - sleep( 1 ) + sleep( MIN_STATIC_DELAY ) '///+
    • A drop down menu will be opened.
    • '///+
    • Select the first enabled menu entry which should be 'Restore...'
    • - hMenuSelectNr(1) - sleep( 1 ) + hMenuSelectNr( MENUITEM_RESTORE ) + sleep( MIN_STATIC_DELAY ) kontext - if ( active.exists( 2 ) ) then - if Active.GetRT = 304 then + if ( active.exists( DEFAULT_DELAY ) ) then + if ( Active.GetRT = EXPECTED_RESOURCE_ID ) then '///+
    • Press Yes button on verification dialog.
    • - Active.Yes + Active.Yes() end if else warnlog( "No verification comes up if the RESET button has been pressed!" ) @@ -153,11 +160,11 @@ function hResetStandardBar() as boolean '///+
    • Close 'Toolbars' tab page and the dialog with OK.
    • kontext "tabcustomizetoolbars" - TabCustomizeToolbars.OK + hCloseDialog( TabCustomizeToolbars, "ok" ) else warnlog( "Cutomuze Toolbar not open (from context menu)" ) 'Closing the Context menu if the dialog does not come up. - Menuselect(0) + Menuselect( MENUITEM_CLOSEMENU ) endif else @@ -193,8 +200,7 @@ function hStandardbarItemGetCount() as integer '///
        dim iToolbarItemsCurrent as integer - dim iToolbarItemsExpected as integer - iToolbarItemsExpected = 30 + const EXPECTED_TOOLBAR_ITEMCOUNT = 30 const CFN = "hStandardbarItemGetCount::" @@ -221,10 +227,10 @@ function hStandardbarItemGetCount() as integer ' items on the standardbar, OOo and its spinoffs have 30. - if ( iToolbarItemsCurrent = iToolbarItemsExpected ) then + if ( iToolbarItemsCurrent = EXPECTED_TOOLBAR_ITEMCOUNT ) then printlog( CFN & "Correct number of items on the StandardBar. Good" ) else - warnlog( CFN & "Expected: " & iToolbarItemsExpected & _ + warnlog( CFN & "Expected: " & EXPECTED_TOOLBAR_ITEMCOUNT & _ " entries, found: " & iToolbarItemsCurrent ) endif @@ -253,7 +259,8 @@ function hToggleToolbarItem( iMenuPos as integer ) '///Description: '///
          - const CFN = "hToggleToolbarItem::" + const CFN = "hToggleToolbarItem::" + const INVISIBLE_ITEMS_MODIFIER = 3 dim iItemsInMenu as integer printlog( CFN & "Enter with option (Menu position): " & iMenuPos ) @@ -269,7 +276,7 @@ function hToggleToolbarItem( iMenuPos as integer ) ' (those that are invisible will be listed as context menu entries), ' the menuitem (invisible items) is placed at position nItems - 3 '///+
        • Take the number of items -3, select the entry
        • - hMenuselectNr( iItemsInMenu - 3 ) + hMenuselectNr( iItemsInMenu - INVISIBLE_ITEMS_MODIFIER ) '///+
        • Select the provided menu position
        • hMenuselectNr( iMenuPos ) @@ -301,8 +308,7 @@ function hStandardbarLoadUrl() as boolean ' written to and disabled again (no use of reset toolbar here, this is ' done in another testcase - dim iItemMenuPos as integer - iItemMenuPos = 1 + dim iItemMenuPos as integer : iItemMenuPos = 1 const ITEM_MENU_POSITION = 1 const CFN = "hStandardbarLoadUrl::" @@ -403,8 +409,8 @@ function hStandardbarNewDialog() '///+
        • close the templates and samples dialog
        • printlog( CFN & "Close templates and samples (cancel)" ) Kontext "TemplateAndDocuments" - if ( TemplateAndDocuments.Exists( 5 ) ) then - TemplateAndDocuments.cancel() + if ( TemplateAndDocuments.Exists( 10 ) ) then + hCloseDialog( TemplateAndDocuments, "cancel" ) else warnlog( CFN & "The 'Template and Documents'-dialog was not activated" ) endif @@ -452,7 +458,7 @@ function hStandardbarSaveAs() kontext "SpeichernDlg" if ( SpeichernDlg.exists( 1 ) ) then warnlog( "#i46363# (?)The 'SaveAs'-button should be invisible." ) - SpeichernDlg.cancel() + hCloseDialog( SpeichernDlg, "cancel" ) else '///+
        • Add the control to the standardbar
        • @@ -468,7 +474,7 @@ function hStandardbarSaveAs() printlog( CFN & "Close Save As (cancel)" ) Kontext "SpeichernDlg" if ( SpeichernDlg.Exists( 2 ) ) then - SpeichernDlg.cancel() + hCloseDialog( SpeichernDlg, "cancel" ) else qaerrorlog( "Retrying" ) Kontext "Standardbar" @@ -476,7 +482,7 @@ function hStandardbarSaveAs() Kontext "SpeichernDlg" if ( SpeichernDlg.exists( 1 ) ) then printlog( "FileSaveAs dialog is open" ) - SpeichernDlg.cancel() + hCloseDialog( SpeichernDlg, "cancel" ) else warnlog( CFN & "The 'Save As'-dialog was not activated" ) endif diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index 43c5ef4125ee..721d7470bc13 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1062,6 +1062,7 @@ function hUseAsyncSlot( cSlot as string ) as integer case "formatautoformatapply" : FormatAutoformatApply case "insertfieldsother" : InsertFieldsOther + case "insertgraphicsfromfile" : InsertGraphicsFromFile case "insertindexesbibliographyentry" : InsertIndexesBibliographyEntry case "contextpositionandsize" : ContextPositionAndSize diff --git a/testautomation/graphics/required/includes/impress/im_003_.inc b/testautomation/graphics/required/includes/impress/im_003_.inc old mode 100644 new mode 100755 index 280dae56b1d1..02f6dae3b2b1 --- a/testautomation/graphics/required/includes/impress/im_003_.inc +++ b/testautomation/graphics/required/includes/impress/im_003_.inc @@ -204,46 +204,55 @@ testcase tiViewSlideMaster endcase 'tiViewSlideMaster '-------------------------------------------------------- testcase tiViewToolbar_1 + + const DEFAULT_DELAY = 3 - Dim Zaehler as integer - Dim i as integer - + Dim NumberOfGraphicModes as integer + Dim iCurrentGraphicsMode as integer + + dim TestFile as string + TestFile = ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") + printlog "open application " Call hNewDocument - sleep 2 + printlog "Insert->Graphic... : global\input\graf_inp\desp.bmp " - InsertGraphicsFromFile - sleep 2 + hUseAsyncSlot( "InsertGraphicsFromFile" ) + Kontext "GrafikEinfuegenDlg" - sleep 1 - Dateiname.SetText ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") - sleep 1 - Oeffnen.Click - sleep 3 - Kontext "Messagebox" - if Messagebox.Exists then - Warnlog Messagebox.GetText - Messagebox.OK - end if - Kontext "DocumentImpress" - printlog "select graphic " - EditSelectAll - sleep 2 - Kontext "GraphicObjectbar" - sleep 1 - printlog "The Graphics Toolbar has to be visible now; If not -> ERROR " - if GraphicObjectbar.Exists Then - Printlog "- graphic object toolbar exists" - Zaehler=Grafikmodus.GetItemCount - for i = 1 to Zaehler - Printlog "- access all controls in the toolbar (" +i+"/"+Zaehler+")" - Grafikmodus.Select i - sleep 3 - next i - sleep 3 + if ( GrafikEinfuegenDlg.exists( DEFAULT_DELAY ) ) then + Dateiname.SetText( TestFile ) + Oeffnen.Click + + Kontext "Messagebox" + if ( Messagebox.Exists( DEFAULT_DELAY ) ) then + Warnlog Messagebox.GetText + hCloseDialog( Messagebox, "ok" ) + end if + + Kontext "DocumentImpress" + printlog "select graphic " + hUseAsyncSlot( "EditSelectAll" ) + + Kontext "GraphicObjectbar" + printlog "The Graphics Toolbar has to be visible now; If not -> ERROR " + if ( GraphicObjectbar.Exists( DEFAULT_DELAY ) ) Then + + Printlog "- graphic object toolbar exists" + NumberOfGraphicModes=Grafikmodus.GetItemCount + + for iCurrentGraphicsMode = 1 to NumberOfGraphicModes + Printlog( "- access all controls in the toolbar (" & iCurrentGraphicsMode & "/" & NumberOfGraphicModes & ")" ) + Grafikmodus.Select( iCurrentGraphicsMode ) + sleep ( DEFAULT_DELAY ) + next iCurrentGraphicsMode + else + Warnlog "- No graphic function toolbar visible" + end if else - Warnlog "- No graphic function toolbar visible" - end if + warnlog( "Insert Graphics dialog did not open" ) + endif + printlog "close application " Call hCloseDocument -- cgit From a7318af41893e773032907982f7cee3565457415 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 15 Apr 2010 13:55:40 +0200 Subject: vitomation01: #i109562 - Restructured test --- .../required/includes/basic_macroassignment.inc | 167 ++++++++++----------- 1 file changed, 76 insertions(+), 91 deletions(-) diff --git a/testautomation/framework/required/includes/basic_macroassignment.inc b/testautomation/framework/required/includes/basic_macroassignment.inc index 347167346ddd..2833dac7485f 100755 --- a/testautomation/framework/required/includes/basic_macroassignment.inc +++ b/testautomation/framework/required/includes/basic_macroassignment.inc @@ -33,109 +33,94 @@ testcase tUpdtMacroAssignment - printlog( "Update-Test for some dialogs in Basic-IDE" ) - - dim brc as boolean + printlog( "Update test all dialogs from plain document via assign macro dialog to scriptselector" ) + const TABPAGE_EVENTS = 2 + const BASIC_MODULE = "tUpdtMacroAssignment" + const MAX_DELAY = 1 + const RC_TIMEOUT = -1 + + printlog( "New document" ) hCreateDocument() printlog( "Create a new BASIC-module for this document" ) - - ToolsMacro_uno - - brc = hCreateModuleForDoc( "tUpdtBasicIde" ) - if ( not brc ) then - warnlog( "Failed to create a new BASIC module for this document" ) - brc = hDestroyDocument() - goto endsub - endif + hInitBasicIDE( BASIC_MODULE ) printlog( "Create a new BASIC-dialog" ) - brc = hNewDialog() - if ( not brc ) then - warnlog( "Failed to create a new BASIC-dialog" ) - hCloseBasicIde() - brc = hDestroyDocument() - goto endsub - endif - - printlog( "Select the Dialog-Pane from the DialogWindow" ) - brc = hSelectDialogPane() - if ( not brc ) then - warnlog( "Selecting failed: ToolsCollectionBar is in the way." ) - hCloseBasicIde() - else - - printlog( "Show ToolsCollectionBar" ) - brc = hShowMacroControls() - if ( not brc ) then - warnlog( "ToolsCollectionBar is not open" ) - endif - - printlog( "Open the Property-Browser: TabGeneralControl" ) - brc = hOpenPropertyBrowser() - if ( brc ) then - call dialogtest( TabGeneralControl ) - else - warnlog( "Property-Browser is not open, skipping further testing" ) - endif - - if ( brc ) then - brc = hSetPBTabPage( 2 ) - endif - - if ( brc ) then - - printlog( "Current Dialog: Property-Browser / Events-Page" ) - call dialogtest( TabEventsControl ) - - Kontext "TabEventsControl" - printlog( "Click the button for the FocusGained-Event" ) - try - PBFocusGained.click() - catch - warnlog( "#i64196# - Events missing on properties tab-page" ) - goto skipevents - endcatch - - Kontext "AssignMacro" - printlog( "Current Dialog: Assign Macro" ) - if ( AssignMacro.exists( 1 ) ) then - call dialogtest( AssignMacro ) - printlog( "Click the Assign-Button on the Macro-Assignment-Dialog" ) - AssignButton.click() - - Kontext "ScriptSelector" - printlog( "Current Dialog: ScriptSelector" ) - if ( ScriptSelector.exists( 1 ) ) then - call dialogtest( ScriptSelector ) - printlog( "Cancel the scriptselector" ) - ScriptSelector.cancel() + if ( hNewDialog() ) then + + printlog( "Select the Dialog-Pane from the DialogWindow" ) + if ( hSelectDialogPane() ) then + + printlog( "Show ToolsCollectionBar" ) + if ( hShowMacroControls() ) then + + printlog( "Open the Property-Browser" ) + if ( hOpenPropertyBrowser() ) then + + kontext "TabGeneralControl" + call dialogtest( TabGeneralControl ) + + printlog( "Switch to events-tab" ) + if ( hSetPBTabPage( TABPAGE_EVENTS ) ) then + + printlog( "Current Dialog: Property-Browser / Events-Page" ) + call dialogtest( TabEventsControl ) + + Kontext "TabEventsControl" + printlog( "Click the button for the FocusGained-Event" ) + if ( hClickButton( PBFocusGained ) <> RC_TIMEOUT ) then + + Kontext "AssignMacro" + printlog( "Current Dialog: Assign Macro" ) + if ( AssignMacro.exists( MAX_DELAY ) ) then + + call dialogtest( AssignMacro ) + + printlog( "Click the Assign-Button on the Macro-Assignment-Dialog to open Script Selector" ) + if ( hClickButton( AssignButton ) <> RC_TIMEOUT ) then + + Kontext "ScriptSelector" + if ( ScriptSelector.exists( MAX_DELAY ) ) then + + call dialogtest( ScriptSelector ) + + printlog( "Close Script Selector" ) + hCloseDialog( ScriptSelector, "cancel" ) + + printlog( "Close all remaining dialogs and documents" ) + Kontext "AssignMacro" + hCloseDialog( AssignMacro, "cancel" ) + hClosePropertyBrowser() + hCloseBasicIDE() + hDestroyDocument() + else + warnlog( "Failed to open/access " ) + endif + else + warnlog( "Assign-button is not enabled" ) + endif + else + warnlog( "Failed to open/access dialog" ) + endif + else + warnlog( "#i64196# - Events missing on properties tab-page" ) + endif + else + warnlog( "Failed to switch tabpage to Tab-Events" ) + endif else - warnlog( "Failed to open/access " ) + warnlog( "Property-Browser is not open, skipping further testing" ) endif - - Kontext "AssignMacro" - printlog( "Current Dialog: Assign Macro" ) - printlog( "Cancel the Script-Assignement-Dialog" ) - AssignMacro.cancel() else - warnlog( "Failed to open/access dialog" ) + warnlog( "ToolsCollectionBar is not open" ) endif - + else + warnlog( "Selecting failed: ToolsCollectionBar is in the way." ) endif - - skipevents: - - printlog( "Current Dialog: Property-Browser" ) - printlog( "Close the Property-Browser, return to the document" ) - brc = hClosePropertyBrowser() - - brc = hCloseBasicIde() - + else + warnlog( "Failed to create a new BASIC-dialog" ) endif - - brc = hDestroyDocument() endcase -- cgit From 11b259b2ca49d7929d4fbb4f092180dc1077403f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 15 Apr 2010 14:39:42 +0200 Subject: vitomation01: #i109562 - Restructured test, code cleanup --- .../required/includes/basic_dialog_i18n.inc | 51 +++++++++------------- .../required/includes/basic_dialog_i18n_import.inc | 38 ++++++++-------- .../required/includes/basic_macroassignment.inc | 6 +-- .../required/includes/basic_organizer.inc | 14 +++--- 4 files changed, 50 insertions(+), 59 deletions(-) diff --git a/testautomation/framework/required/includes/basic_dialog_i18n.inc b/testautomation/framework/required/includes/basic_dialog_i18n.inc index 4db17d90a15e..590c45a5f58a 100755 --- a/testautomation/framework/required/includes/basic_dialog_i18n.inc +++ b/testautomation/framework/required/includes/basic_dialog_i18n.inc @@ -34,55 +34,53 @@ testcase tUpdtBasicDialogI18n printlog( "BASIC IDE Dialog i18n." ) + const MODULE_NAME = "tUpdtBasicDialogI18n" + const DIALOG_DEFAULT_TIMEOUT = 2 - dim brc as boolean - kontext "Navigator" hCloseDialog( Navigator, "close,optional" ) - hCreateDocument()' + hCreateDocument() - brc = hInitFormControls( "tDialogI18n" ) - if ( not brc ) then + if ( not hInitFormControls( MODULE_NAME ) ) then warnlog( "Failed to open Basic IDE / Dialogs / ToolsCollectionBar" ) goto endsub endif printlog( "Click Manage Languages on ToolsCollectionBar") kontext "ToolsCollectionBar" - sleep(1) - if ( ToolsCollectionBar.exists() ) then - ManageLanguage.click() + if ( ToolsCollectionBar.exists( DIALOG_DEFAULT_TIMEOUT ) ) then + hClickButton( ManageLanguage ) else warnlog( " is not open, is the test environment dirty?" ) endif kontext "ManageUILanguages" - if ( ManageUILanguages.exists( 2 ) ) then + if ( ManageUILanguages.exists( DIALOG_DEFAULT_TIMEOUT ) ) then call dialogtest( ManageUILanguages ) printlog( "Add default language, choose preselection") kontext "ManageUILanguages" - Add.click() + hClickButton( Add ) kontext "SetDefaultLanguage" - if ( SetDefaultLanguage.exists( 2 ) ) then + if ( SetDefaultLanguage.exists( DIALOG_DEFAULT_TIMEOUT ) ) then call dialogtest( SetDefaultLanguage ) kontext "SetDefaultLanguage" DefaultLanguageListbox.select( 3 ) kontext "SetDefaultLanguage" - SetDefaultLanguage.ok() + hCloseDialog( SetDefaultLanguage, "ok" ) else warnlog( "Dialog did not open" ) - endif + endif printlog( "Back on Manage UI Languages Dialog we click ") kontext "ManageUILanguages" - Add.click() + hClickButton( Add ) kontext "AddUserInterface" - if ( AddUserInterface.exists( 2 ) ) then + if ( AddUserInterface.exists( DIALOG_DEFAULT_TIMEOUT ) ) then call dialogtest( AddUserInterface ) printlog( "Add just another language at random") @@ -91,7 +89,7 @@ testcase tUpdtBasicDialogI18n AddNewControl.typeKeys( "" ) ' check it kontext "AddUserInterface" - AddUserInterface.ok() + hCloseDialog( AddUserInterface, "ok" ) else warnlog( "Dialog did not open" ) endif @@ -101,39 +99,32 @@ testcase tUpdtBasicDialogI18n printlog( "Back on Manage UI Languages Dialog, delete selected language") kontext "ManageUILanguages" - Delete.click() - sleep(1) + hClickButton( Delete ) + printlog( "Confirm delete") kontext "active" - if ( Active.exists( 1 ) ) then + if ( Active.exists( DIALOG_DEFAULT_TIMEOUT ) ) then call dialogtest( active ) kontext "active" - active.ok() + hCloseDialog( active, "ok" ) else warnlog( "Confirm delete messagebox is missing" ) endif printlog( "Leave Manage UI Languages Dialog") kontext "ManageUILanguages" - ManageUILanguages.ok() + hCloseDialog( ManageUILanguages, "ok" ) else warnlog( "Manage UI languages did not open" ) endif printlog( "Verify that the translationbar is visible") kontext "TranslationBar" - if ( not TranslationBar.exists() ) then - warnlog( "The IDE Translation Toolbar is not visible" ) - endif + if ( not TranslationBar.exists() ) then warnlog( "The IDE Translation Toolbar is not visible" ) kontext "ToolsCollectionBar" - if ( not ToolsCollectionBar.exists() ) then - warnlog( "The ToolsCollectionBar is not visible" ) - endif - - printlog( "Cleanup" ) - ToolsCollectionBar.Close + hCloseDialog( ToolsCollectionBar, "close" ) hClosebasicIDE() hDestroyDocument() diff --git a/testautomation/framework/required/includes/basic_dialog_i18n_import.inc b/testautomation/framework/required/includes/basic_dialog_i18n_import.inc index d4069484a0ab..db72863173b8 100755 --- a/testautomation/framework/required/includes/basic_dialog_i18n_import.inc +++ b/testautomation/framework/required/includes/basic_dialog_i18n_import.inc @@ -43,15 +43,19 @@ testcase tBasicDialogI18nImport dim iTry as integer const LANGUAGE_COUNT = 5 + const MAX_RETRIES = 5 + const WAIT_TIME = 100 + const MODULE_NAME = "tDialogI18nImport" + const DIALOG_WAIT_TIMEOUT = 2 + const MSG_LOCALE_CLASH_WARNING_BUTTONCOUNT = 4 + const MSG_DIALOG_REPLACE_WARNING_BUTTONCOUNT = 3 printlog( "Open BASIC-IDE" ) hCreateDocument() - hInitFormControls( "tDialogI18nImport" ) + hInitFormControls( MODULE_NAME ) kontext "ToolsCollectionBar" - if ( ToolsCollectionBar.exists() ) then - ToolsCollectionBar.close() - endif + if ( ToolsCollectionBar.exists() ) then ToolsCollectionBar.close() Kontext "DialogBar" if ( DialogBar.exists() ) then @@ -60,7 +64,7 @@ testcase tBasicDialogI18nImport Import.click() kontext "OeffnenDlg" - if ( OeffnenDlg.exists( 2 ) ) then + if ( OeffnenDlg.exists( DIALOG_WAIT_TIMEOUT ) ) then printlog( "Enter path to test dialog" ) DateiName.setText( cDialogPath ) @@ -68,27 +72,25 @@ testcase tBasicDialogI18nImport printlog( "Test messagebox" ) kontext "active" - if ( Active.exists( 2 ) ) then + if ( Active.exists( DIALOG_WAIT_TIMEOUT ) ) then printlog( "Messagebox: " & Active.getText() ) - if ( Active.getButtonCount() <> 4 ) then + if ( Active.getButtonCount() <> MSG_LOCALE_CLASH_WARNING_BUTTONCOUNT ) then warnlog( "Incorrect messagebox, expected locale clash warning" ) endif call DialogTest( Active ) printlog( "Accept with yes" ) - Active.Yes() - sleep(1) + hCloseDialog( Active, "yes" ) + Kontext "TranslationBar" if ( TranslationBar.exists() ) then - for iTry = 1 to 5 + for iTry = 1 to MAX_RETRIES iNumberOfLanguages = CurrentLanguage.getItemCount() - if ( iNumberOfLanguages = LANGUAGE_COUNT ) then - exit for - endif - wait( 100 ) + if ( iNumberOfLanguages = LANGUAGE_COUNT ) then exit for + wait( WAIT_TIME ) next iTry printlog( "Check number of imported languages" ) @@ -105,7 +107,7 @@ testcase tBasicDialogI18nImport Import.click() kontext "OeffnenDlg" - if ( OeffnenDlg.exists( 2 ) ) then + if ( OeffnenDlg.exists( DIALOG_WAIT_TIMEOUT ) ) then printlog( "Enter path to test dialog" ) DateiName.setText( cDialogPath ) @@ -113,17 +115,17 @@ testcase tBasicDialogI18nImport printlog( "Test messagebox" ) kontext "Active" - if ( Active.exists( 2 ) ) then + if ( Active.exists( DIALOG_WAIT_TIMEOUT ) ) then printlog( "Messagebox: " & Active.getText() ) - if ( Active.getButtonCount() <> 3 ) then + if ( Active.getButtonCount() <> MSG_DIALOG_REPLACE_WARNING_BUTTONCOUNT ) then warnlog( "Incorrect messagebox, expected dialog replace warning" ) endif call DialogTest( Active ) Printlog( "Rename the new dialog" ) - Active.Yes() + hCloseDialog( Active, "yes" ) else warnlog( "Overwrite warning missing" ) endif diff --git a/testautomation/framework/required/includes/basic_macroassignment.inc b/testautomation/framework/required/includes/basic_macroassignment.inc index 2833dac7485f..05967fcfd008 100755 --- a/testautomation/framework/required/includes/basic_macroassignment.inc +++ b/testautomation/framework/required/includes/basic_macroassignment.inc @@ -37,7 +37,7 @@ testcase tUpdtMacroAssignment const TABPAGE_EVENTS = 2 const BASIC_MODULE = "tUpdtMacroAssignment" - const MAX_DELAY = 1 + const DEFAULT_DIALOG_TIMEOUT = 1 const RC_TIMEOUT = -1 printlog( "New document" ) @@ -73,7 +73,7 @@ testcase tUpdtMacroAssignment Kontext "AssignMacro" printlog( "Current Dialog: Assign Macro" ) - if ( AssignMacro.exists( MAX_DELAY ) ) then + if ( AssignMacro.exists( DEFAULT_DIALOG_TIMEOUT ) ) then call dialogtest( AssignMacro ) @@ -81,7 +81,7 @@ testcase tUpdtMacroAssignment if ( hClickButton( AssignButton ) <> RC_TIMEOUT ) then Kontext "ScriptSelector" - if ( ScriptSelector.exists( MAX_DELAY ) ) then + if ( ScriptSelector.exists( DEFAULT_DIALOG_TIMEOUT ) ) then call dialogtest( ScriptSelector ) diff --git a/testautomation/framework/required/includes/basic_organizer.inc b/testautomation/framework/required/includes/basic_organizer.inc index eb33d3a554e3..789d870cb9a6 100755 --- a/testautomation/framework/required/includes/basic_organizer.inc +++ b/testautomation/framework/required/includes/basic_organizer.inc @@ -35,7 +35,6 @@ testcase tUpdtBasicOrganizer printlog( "Update test for the Basic Organizer dialog" ) - dim brc as boolean dim cTempString as string const TESTLIB = "zzzz" @@ -48,7 +47,7 @@ testcase tUpdtBasicOrganizer kontext "Makro" if ( not makro.exists() ) then warnlog( "Macro Organizer is not open, aborting test" ) - brc = hDestroyDocument() + hDestroyDocument() goto endsub else printlog( "Successfully opened the MacroOrganizer" ) @@ -68,7 +67,7 @@ testcase tUpdtBasicOrganizer printlog( "TabModule is not open, the test cannot continue" ) kontext "Makro" Makro.cancel() - brc = hDestroyDocument() + hDestroyDocument() goto endsub endif @@ -125,7 +124,7 @@ testcase tUpdtBasicOrganizer Neu.click() kontext "NeueBibliothek" call DialogTest( NeueBibliothek ) - Bibliotheksname.setText( "zzzz" ) + Bibliotheksname.setText( TESTLIB ) NeueBibliothek.ok() else warnlog( "There is a problem accessing the New Libraries dialog" ) @@ -138,7 +137,7 @@ testcase tUpdtBasicOrganizer Neu.click() kontext "NeueBibliothek" call DialogTest( NeueBibliothek ) - Bibliotheksname.setText( "zzzz" ) + Bibliotheksname.setText( TESTLIB ) NeueBibliothek.ok() else warnlog( "There is a problem accessing the New Libraries dialog" ) @@ -192,7 +191,7 @@ testcase tUpdtBasicOrganizer printlog( "Try to delete the library" ) cTempString = BibliotheksListe.getSelText() - if ( cTempString = "zzzz" ) then + if ( cTempString = TESTLIB ) then printlog( "Delete" ) Loeschen.click() Kontext "Active" @@ -223,8 +222,7 @@ testcase tUpdtBasicOrganizer Makro.cancel() printlog( "Close the document" ) - brc = hDestroyDocument() - + hDestroyDocument() endcase -- cgit From 99f82aa1deb36c052238ece7937a29e508f36d4f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 16 Apr 2010 14:10:35 +0200 Subject: vitomation01: #i108622 - w_updt.bas:tZORest() - This is a bug tracked as issue #i56594 now assigned to development. The test has been modified to recover by using a single mouseclick to select the graphics object to prevent later issue to get masked. --- testautomation/writer/required/includes/w_011_.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_011_.inc diff --git a/testautomation/writer/required/includes/w_011_.inc b/testautomation/writer/required/includes/w_011_.inc old mode 100644 new mode 100755 index 754d4c58e538..15b8036826be --- a/testautomation/writer/required/includes/w_011_.inc +++ b/testautomation/writer/required/includes/w_011_.inc @@ -465,8 +465,10 @@ testcase tZORest wait 500 catch Warnlog "#i56594#Shortcut selecting objects doesn't work" - Call hCloseDocument - goto endsub + Call gMouseClick ( 40, 40 ) + Kontext "DrawingObjectbar" + Drehen.Click + wait 500 endcatch printlog " - Change Anchor" -- cgit From 90c923e58d2285a7fc147930df7d43d201fe820a Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Sat, 17 Apr 2010 01:33:12 +0200 Subject: locales33a: #i110235# correction to Latvian locale data; patch from --- i18npool/source/localedata/data/ltg_LV.xml | 22 +++++++++++----------- i18npool/source/localedata/data/lv_LV.xml | 14 +++++++------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/i18npool/source/localedata/data/ltg_LV.xml b/i18npool/source/localedata/data/ltg_LV.xml index c41c38c86b9c..7d4445d26426 100644 --- a/i18npool/source/localedata/data/ltg_LV.xml +++ b/i18npool/source/localedata/data/ltg_LV.xml @@ -65,23 +65,23 @@ 0,00% - - # ##0[$Ls-64B];-# ##0[$Ls-64B] + + [$Ls-64B] # ##0;[$Ls-64B] -# ##0 - - # ##0,00[$Ls-64B];-# ##0,00[$Ls-64B] + + [$Ls-64B] # ##0,00;[$Ls-64B] -# ##0,00 - - # ##0[$Ls-64B];[RED]-# ##0[$Ls-64B] + + [$Ls-64B] # ##0;[RED][$Ls-64B] -# ##0 - - # ##0,00[$Ls-64B];[RED]-# ##0,00[$Ls-64B] + + [$Ls-64B] # ##0,00;[RED][$Ls-64B] -# ##0,00 - + # ##0,00 CCC - - # ##0,--[$Ls-64B];[RED]-# ##0,--[$Ls-64B] + + [$Ls-64B] # ##0,--;[RED][$Ls-64B] -# ##0,-- D.MM.YY diff --git a/i18npool/source/localedata/data/lv_LV.xml b/i18npool/source/localedata/data/lv_LV.xml index 27bb0f13e409..5e9c649cdf8b 100644 --- a/i18npool/source/localedata/data/lv_LV.xml +++ b/i18npool/source/localedata/data/lv_LV.xml @@ -66,28 +66,28 @@ 0,00% - # ##0[$Ls-426];-# ##0[$Ls-426] + [$Ls-426] # ##0;[$Ls-426] -# ##0 - # ##0,00[$Ls-426];-# ##0,00[$Ls-426] + [$Ls-426] # ##0,00;[$Ls-426] -# ##0,00 - # ##0[$Ls-426];[RED]-# ##0[$Ls-426] + [$Ls-426] # ##0;[RED][$Ls-426] -# ##0 - # ##0,00[$Ls-426];[RED]-# ##0,00[$Ls-426] + [$Ls-426] # ##0,00;[RED][$Ls-426] -# ##0,00 # ##0,00 CCC - # ##0,--[$Ls-426];[RED]-# ##0,--[$Ls-426] + [$Ls-426] # ##0,--;[RED][$Ls-426] -# ##0,-- D.M.YY - DD. NNNNMMMM, YYYY + YYYY. "gada" DD. MMMM, NNNN DD.MM.YY @@ -120,7 +120,7 @@ NN, D. MMMM, YYYY - NNNNMMMM D, YYYY + NNNN, YYYY. "gada" DD. MMMM DD-MM -- cgit From 423e318711575b9c70d6f99583087f773bb29185 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 08:23:28 +0200 Subject: vitomation01: #i109562 - tools_customize.inc was broken after partial refactoring. --- .../required/includes/tools_customize.inc | 113 +++++++++++---------- 1 file changed, 62 insertions(+), 51 deletions(-) diff --git a/testautomation/framework/required/includes/tools_customize.inc b/testautomation/framework/required/includes/tools_customize.inc index aa726ab7af19..a3aa70c0b02d 100755 --- a/testautomation/framework/required/includes/tools_customize.inc +++ b/testautomation/framework/required/includes/tools_customize.inc @@ -79,7 +79,7 @@ function hUpdtToolsCustomizeMenu() printlog( "" ) printlog( "Menu" ) - brc = hToolsCustomizeSelectTab( "Menu" ) + hToolsCustomizeSelectTab( "Menu" ) call DialogTest( TabCustomizeMenu ) printlog( CFN & "Click New..." ) @@ -158,9 +158,7 @@ function hUpdtToolsCustomizeMenu() case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( APPLICATION_ONLY ) case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) end select - if ( not brc ) then - warnlog( "Incorrect itemcount in listbox, see above" ) - endif + if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) printlog( CFN & "Down..." ) BtnDown.click() @@ -170,8 +168,8 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and select item 1 (Add submenu)" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( MENUITEM_ADDSUBMENU ) - if ( not brc ) then + + if ( not hClickCommandButton( MENUITEM_ADDSUBMENU ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -198,8 +196,8 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and select to rename the item" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( 3 ) - if ( not brc ) then + + if ( not hClickCommandButton( 3 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -218,16 +216,16 @@ function hUpdtToolsCustomizeMenu() printlog( CFN & "Click the Modify-Button and delete the current item" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( MENUITEM_MODIFY_LARGE_MENU ) - if ( not brc ) then + + if ( not hClickCommandButton( MENUITEM_MODIFY_LARGE_MENU ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif printlog( CFN & "Click the Modify-Button and create a new group" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( MENUITEM_MODIFY ) - if ( not brc ) then + + if ( not hClickCommandButton( MENUITEM_MODIFY ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -235,8 +233,8 @@ function hUpdtToolsCustomizeMenu() ' Note: The current index for the delete-function is at pos 2. printlog( CFN & "Click the Modify-Button and delete the new group" ) kontext "TabCustomizeMenu" - brc = hClickCommandButton( MENUITEM_MODIFY ) - if ( not brc ) then + + if ( not hClickCommandButton( MENUITEM_MODIFY ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -248,8 +246,17 @@ end function function hUpdtToolsCustomizeToolbars() const CFN = "hUpdtToolsCustomizeToolbars::" + + const DOCUMENT_ONLY = 1 + const APPLICATION_AND_DOCUMENT = 2 + + const MENUITEM_RENAME = 1 + const MENUITEM_DELETE = 2 + const MENUITEM_MODIFY = 4 + + const DIALOG_DELAY = 3 + dim brc as boolean - dim iCurrentItem as integer printlog( "" ) @@ -263,17 +270,16 @@ function hUpdtToolsCustomizeToolbars() BtnNew.click() kontext "NewToolbar" - if ( NewToolbar.exists( 2 ) ) then + if ( NewToolbar.exists( DIALOG_DELAY ) ) then printlog( CFN & "NewToolbar" ) call DialogTest( NewToolbar ) select case gApplication - case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( 1 ) - case else : brc = hToolsCustomizeTestSaveIn( 2 ) + case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( DOCUMENT_ONLY ) + case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) end select - if ( not brc ) then - warnlog( "Incorrect itemcount in listbox, see above" ) - endif + + if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) printlog( CFN & "Name the new toolbar for further usage" ) ToolbarName.setText( "tUpdtCustomize" ) @@ -289,11 +295,11 @@ function hUpdtToolsCustomizeToolbars() hOpenMenuButton( MenuBtn ) ' MenuBtn.OpenMenu() printlog( "Select rename" ) - hMenuSelectNr( 1 ) + hMenuSelectNr( MENUITEM_RENAME ) printlog( CFN & "Cancel the dialog" ) kontext "RenameToolbar" - if ( RenameToolbar.exists( 2 ) ) then + if ( RenameToolbar.exists( DIALOG_DELAY ) ) then call dialogtest( RenameToolbar ) hCloseDialog( RenameToolbar, "Cancel" ) else @@ -305,16 +311,17 @@ function hUpdtToolsCustomizeToolbars() hOpenMenuButton( MenuBtn ) ' MenuBtn.OpenMenu() printlog( "Select delete" ) - hMenuSelectNr( 2 ) + hMenuSelectNr( MENUITEM_DELETE ) kontext "TabCustomizeToolbars" hUpdtToolsCustomizeScriptSelector( 2 ) kontext "TabCustomizeToolbars" select case gApplication - case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( 1 ) - case else : brc = hToolsCustomizeTestSaveIn( 2 ) + case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( DOCUMENT_ONLY ) + case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) end select + if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) printlog( CFN & "Down..." ) @@ -336,7 +343,7 @@ function hUpdtToolsCustomizeToolbars() AddCommands.click() kontext "ScriptSelector" - if ( ScriptSelector.exists( 5 ) ) then + if ( ScriptSelector.exists( DIALOG_DELAY ) ) then call dialogtest( ScriptSelector ) @@ -353,7 +360,7 @@ function hUpdtToolsCustomizeToolbars() catch qaerrorlog( "#i79207# Could not access ok button on ScriptSelector" ) kontext "ScriptSelector" - if ( ScriptSelector.exists( 2 ) ) then printlog( "Scriptselector is open" ) + if ( ScriptSelector.exists( DIALOG_DELAY ) ) then printlog( "Scriptselector is open" ) endcatch else @@ -374,8 +381,8 @@ function hUpdtToolsCustomizeToolbars() kontext "TabCustomizeToolbars" printlog( CFN & "Click the Modify-button" ) - brc = hClickCommandButton( 1 ) - if ( not brc ) then + + if ( not hClickCommandButton( 1 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -383,7 +390,7 @@ function hUpdtToolsCustomizeToolbars() printlog( CFN & "Rename the item" ) UseBindings kontext "CustomizeToolbarsRename" - if ( CustomizeToolbarsRename.exists( 2 ) ) then + if ( CustomizeToolbarsRename.exists( DIALOG_DELAY ) ) then call dialogtest( CustomizeToolbarsRename ) EingabeFeld.setText( "Renamed item" ) @@ -394,8 +401,8 @@ function hUpdtToolsCustomizeToolbars() endif kontext "TabCustomizeToolbars" - brc = hClickCommandButton( 2 ) - if ( not brc ) then + + if ( not hClickCommandButton( 2 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -406,8 +413,8 @@ function hUpdtToolsCustomizeToolbars() printlog( "******************** 1 ********************" ) hDeselectSeparator() printlog( "******************** 2 ********************" ) - brc = hClickCommandButton( 3 ) - if ( not brc ) then + + if ( not hClickCommandButton( 3 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -415,8 +422,8 @@ function hUpdtToolsCustomizeToolbars() kontext "TabCustomizeToolbars" waitslot printlog( CFN & "Click the Modify-button" ) - brc = hClickCommandButton( 4 ) - if ( not brc ) then + +if ( not hClickCommandButton( MENUITEM_MODIFY ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -424,8 +431,8 @@ function hUpdtToolsCustomizeToolbars() kontext "TabCustomizeToolbars" WaitSlot printlog( CFN & "Click the Modify-button" ) - brc = hClickCommandButton( 1 ) - if ( not brc ) then + + if ( not hClickCommandButton( 1 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -436,15 +443,15 @@ function hUpdtToolsCustomizeToolbars() printlog( "******************** 3 ********************" ) hDeselectSeparator() printlog( "******************** 4 ********************" ) - brc = hClickCommandButton( 5 ) - if ( not brc ) then + + if ( not hClickCommandButton( 5 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif printlog( CFN & "On the Change Icon dialog: Click to import an icon" ) kontext "ChangeIcon" - if ( ChangeIcon.exists( 2 ) ) then + if ( ChangeIcon.exists( DIALOG_DELAY ) ) then call dialogtest( ChangeIcon ) import.click() @@ -463,8 +470,8 @@ function hUpdtToolsCustomizeToolbars() kontext "TabCustomizeToolbars" waitslot printlog( CFN & "Click the Modify-button" ) - brc = hClickCommandButton( 3 ) - if ( not brc ) then + +if ( not hClickCommandButton( 3 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif @@ -498,9 +505,9 @@ function hUpdtToolsCustomizeEvents() case "BACKGROUND" : brc = hToolsCustomizeTestSaveIn( APPLICATION_ONLY ) case else : brc = hToolsCustomizeTestSaveIn( APPLICATION_AND_DOCUMENT ) end select - if ( not brc ) then - warnlog( "Incorrect itemcount in listbox, see above" ) - endif + + if ( not brc ) then warnlog( "Incorrect itemcount in listbox, see above" ) + else warnlog( " is not visible" ) endif @@ -515,6 +522,7 @@ end function function hUpdtToolsCustomizeKeyboard() as boolean const CFN = "hUpdtToolsCustomizeKeyboard::" + const FIRST_CHANGEABLE_ITEM = 2 printlog( "" ) printlog( "Keyboard" ) @@ -527,13 +535,15 @@ function hUpdtToolsCustomizeKeyboard() as boolean endif endif + hToolsCustomizeSelectTab( "keyboard" ) + kontext "TabTastatur" call DialogTest( TabTastatur ) ' no verification of functionality, this is an update test! kontext "TabTastatur" StarOffice.check() - hSelectNode( Tastatur , 2 ) + hSelectNode( Tastatur , FIRST_CHANGEABLE_ITEM ) hSelectTopNode( bereich ) ' Workaround: It might still happen that the currently selected accelerator @@ -545,7 +555,7 @@ function hUpdtToolsCustomizeKeyboard() as boolean Aendern.click() Zuruecksetzen.click() - hSelectNode( Tastatur , 2 ) + hSelectNode( Tastatur , FIRST_CHANGEABLE_ITEM ) ' Workaround: It might still happen that the currently selected accelerator ' is "fixed" so we need to find another one that can be modified. @@ -579,6 +589,7 @@ function hUpdtToolsCustomizeScriptSelector( iPageButton as integer ) as boolean const TAB_EVENTS = 1 const TAB_TOOLBARS = 2 const TAB_MENU = 3 + const DIALOG_DELAY = 2 select case iPageButton case TAB_EVENTS @@ -600,7 +611,7 @@ function hUpdtToolsCustomizeScriptSelector( iPageButton as integer ) as boolean end select kontext "ScriptSelector" - if ( ScriptSelector.exists( 2 ) ) then + if ( ScriptSelector.exists( DIALOG_DELAY ) ) then call DialogTest( ScriptSelector ) kontext "ScriptSelector" @@ -609,7 +620,7 @@ function hUpdtToolsCustomizeScriptSelector( iPageButton as integer ) as boolean warnlog( CFN & "Dialog did not open" ) endif - select case iBtn + select case iPageButton case TAB_EVENTS : kontext "TabCustomizeEvents" case TAB_TOOLBARS : kontext "TabCustomizeToolbars" case TAB_MENU : kontext "TabCustomizeMenu" -- cgit From 73a7ff972f07b7ce06e771013b3437324ff8f307 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 08:26:58 +0200 Subject: vitomation01: #i109562 - basic_macros.inc - partial refactor --- .../framework/optional/includes/basic_macros.inc | 535 +++++++++++---------- 1 file changed, 274 insertions(+), 261 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_macros.inc b/testautomation/framework/optional/includes/basic_macros.inc index cff6a64c4f93..82035c676307 100755 --- a/testautomation/framework/optional/includes/basic_macros.inc +++ b/testautomation/framework/optional/includes/basic_macros.inc @@ -36,43 +36,40 @@ testcase tMakro_In_All_Apps printlog( "Attach a macro to all application types" ) - dim cApp as string dim iApp as Integer const CMACRO = "AppMakro" + const DIALOG_TIMEOUT = 2 for iApp = 1 to 7 - cApp = hNumericDoctype( iApp ) - printlog( cApp ) + printlog( hNumericDoctype( iApp ) ) printlog( "Open a new document" ) hCreateDocument() - if ( not hInitBasicIde( CMACRO ) ) then + if ( hInitBasicIde( CMACRO ) ) then + printlog "Close the BASIC-IDE" + hCloseBasicIde() + + printlog( "Close the navigator (Master-doc)" ) + kontext "Navigator" + hCloseDialog( Navigator, "close,optional" ) + + printlog( "Close the document" ) + hUseAsyncSlot( "FileClose" ) + + printlog( "Close the messagebox (document changed)" ) + kontext "messagebox" + if ( MessageBox.Exists( DIALOG_TIMEOUT ) ) then + printlog( "MessageBox: " & MessageBox.getText() ) + hCloseDialog( Messagebox, "no" ) + else + warnlog( "No warning for changed document" ) + end if + else warnlog( "Could not open the BASIC Macro Organizer, aborting" ) - call hDestroyDocument() - goto endsub endif - - printlog "Close the BASIC-IDE" - hCloseBasicIde() - - printlog( "Close the navigator (Master-doc)" ) - kontext "Navigator" - hCloseDialog( Navigator, "close,optional" ) - - printlog( "Close the document" ) - hUseAsyncSlot( "FileClose" ) - - printlog( "Close the messagebox (document changed)" ) - kontext "messagebox" - if ( MessageBox.Exists( 1 ) ) then - printlog( "MessageBox: " & MessageBox.getText() ) - hCloseDialog( Messagebox, "no" ) - else - warnlog( "No warning for changed document" ) - end if next iApp @@ -82,15 +79,22 @@ endcase testcase tMakro_Dialog - dim iPos as integer + printlog( "Update test for the BASIC organizer - libraries, modules and dialogs" ) + + const CFN = "tMakro_Dialog::" + const CMACRO = "MacroDlg" + const RC_TIMEOUT = -1 + const DIALOG_TIMEOUT = 2 + const TAB_MODULES = 1 + const TAB_DIALOGS = 2 + const TAB_LIBRARIES = 3 + const REFERENCE_LIBRARY = "AppLibrary1" + dim iLibraryItemCount as integer - dim iCurrentLibrary as Integer dim XLBFILE as String XLBFILE = gTesttoolPath & "framework\optional\input\AppLibrary1\script.xlb" - const CFN = "tMakro_Dialog::" - const CMACRO = "MacroDlg" - + XLBFILE = convertpath( XLBFILE ) gApplication = "WRITER" @@ -108,267 +112,276 @@ testcase tMakro_Dialog hCloseBasicIde() printlog( "Open the Basic Macro Organizer" ) - ToolsMacro_uno : WaitSlot() + ToolsMacro_uno kontext "Makro" - printlog( "Select the last Module for the current document" ) - iPos = hSelectTheLastNode( MakroAus ) - - printlog( "Click Organize..." ) - Verwalten.Click() - - printlog( "Select Modules-tab" ) - hSelectBasicObjectOrganizerTab( 1 ) - - printlog( "Press 'new module'" ) - kontext "tabmodule" - NeuesModul.Click() + if ( Makro.exists( DIALOG_TIMEOUT ) ) then - kontext "neuesmodul" - printlog( "Cancel the dialog" ) - NeuesModul.Cancel() + printlog( "Select the last Module for the current document" ) + hSelectTheLastNode( MakroAus ) - hSelectBasicObjectOrganizerTab( 2 ) + printlog( "Click Organize..." ) + Verwalten.Click() - kontext "tabdialogs" - printlog( "Press 'new dialog'" ) - NewDialog.Click() - - printlog( "Cancel the dialog" ) - kontext "neuerdialog" - NeuerDialog.Cancel() + printlog( "Select Modules-tab" ) + hSelectBasicObjectOrganizerTab( TAB_MODULES ) - kontext - printlog( "Select the libraries Tab" ) - hSelectBasicObjectOrganizerTab( 3 ) + printlog( "Press 'new module'" ) + kontext "tabmodule" + NeuesModul.Click() - - printlog( "Press 'New' on the libraries tab" ) - kontext "tabbibliotheken" - Neu.Click() - - kontext "neuebibliothek" - printlog( "Close the dialog with 'OK'" ) - Call DialogTest( NeueBibliothek ) - NeueBibliothek.OK() - - printlog( "Delete 'Library1'" ) - kontext "tabbibliotheken" - Loeschen.Click() - - printlog( "Close the warning" ) - kontext "active" - if ( Active.Exists() ) then - printlog( "MessageBox: " & active.getText() ) - Active.Yes() - else - warnlog( "Deletion warning is missing" ) - endif - - printlog( "Check the number of libraries in list" ) - kontext "tabbibliotheken" - iLibraryItemCount = Bibliotheksliste.getItemCount() - if ( iLibraryItemCount <> 1 ) then - if ( iLibraryItemCount = 11 ) then - warnlog( "#i87457# Macros moved from 'OpenOffice.org Macros' to 'My Macros'" ) - else - warnlog( "Incorrect item count. Should be 1, is: " & iLibraryItemCount ) + kontext "neuesmodul" + printlog( "Cancel the dialog" ) + NeuesModul.Cancel() + + hSelectBasicObjectOrganizerTab( TAB_DIALOGS ) + + kontext "tabdialogs" + printlog( "Press 'new dialog'" ) + NewDialog.Click() + + printlog( "Cancel the dialog" ) + kontext "neuerdialog" + NeuerDialog.Cancel() + + kontext + printlog( "Select the libraries Tab" ) + hSelectBasicObjectOrganizerTab( TAB_LIBRARIES ) + + + printlog( "Press 'New' on the libraries tab" ) + kontext "tabbibliotheken" + Neu.Click() + + kontext "neuebibliothek" + if ( NeueBibliothek.exists( DIALOG_TIMEOUT ) ) then + printlog( "Close the dialog with 'OK'" ) + Call DialogTest( NeueBibliothek ) + hCloseDialog( NeueBibliothek, "ok" ) endif - endif - printlog( "Append a xlb-file" ) - kontext "tabbibliotheken" - Hinzufuegen.Click() + printlog( "Delete 'Library1'" ) + kontext "tabbibliotheken" + Loeschen.Click() - printlog( "Select 'AppLibrary1/script.xlb' from the files list" - kontext "oeffnendlg" - Dateiname.SetText( ConvertPath ( XLBFILE ) ) - Oeffnen.Click() - - ' If the .xlb file cannot be found the test cannot continue. Warn and cleanup. - kontext "Active" - if ( Active.exists( 1 ) ) then - - try - Active.getButtonCount() - - warnlog( "Script does not exist warning displayed. Aborting test" ) - printlog( Active.getText() ) - active.ok() - - kontext "OeffnenDlg" - if ( OeffnenDlg.exists( 1 ) ) then - printlog( "Closing File Open dialog" ) - OeffnenDlg.cancel() - endif - - kontext "tabbibliotheken" - if ( TabBibliotheken.exists( 1 ) ) then - printlog( "Closing Libaries tab" ) - TabBibliotheken.close() - endif - - kontext "Makro" - if ( Makro.exists( 1 ) ) then - printlog( "Closing Macro organizer" ) - Makro.close() + printlog( "Close the warning" ) + kontext "active" + if ( Active.Exists( DIALOG_TIMEOUT ) ) then + printlog( "MessageBox: " & active.getText() ) + Active.Yes() + else + warnlog( "Deletion warning is missing" ) + endif + + printlog( "Check the number of libraries in list" ) + kontext "tabbibliotheken" + iLibraryItemCount = Bibliotheksliste.getItemCount() + if ( iLibraryItemCount <> 1 ) then + if ( iLibraryItemCount = 11 ) then + warnlog( "#i87457# Macros moved from 'OpenOffice.org Macros' to 'My Macros'" ) + else + warnlog( "Incorrect item count. Should be 1, is: " & iLibraryItemCount ) endif - - printlog( "Exiting test" ) - goto endsub - catch - printlog( "Script found and loaded. Good." ) - endcatch - - endif + endif - printlog( "Ensure 'Insert as Reference' is unchecked" ) - kontext "appendlibraries" - InsertAsReference.UnCheck() - - printlog( "Check 'Replace existing library'" ) - ReplaceExistingLibraries.Check() - - printlog( "Press 'OK' to append the library" ) - kontext "appendlibraries" - try - AppendLibraries.OK() - catch - warnlog( "#i85254# Appending libraries leads to crash" ) - endcatch - - printlog( "Check the number of libraries in list (should be two)" ) - kontext "tabbibliotheken" - iLibraryItemCount = Bibliotheksliste.getItemCount() - if ( iLibraryItemCount <> 2 ) then - qaerrorlog( "#i87457# Two entries in list expected, found " & iLibraryItemCount ) - endif + printlog( "Append a xlb-file" ) + kontext "tabbibliotheken" + Hinzufuegen.Click() + + printlog( "Select 'AppLibrary1/script.xlb' from the files list" + kontext "oeffnendlg" + Dateiname.SetText( XLBFILE ) + Oeffnen.Click() + + ' If the .xlb file cannot be found the test cannot continue. Warn and cleanup. + kontext "Active" + if ( Active.exists( DIALOG_TIMEOUT ) ) then + + try + Active.getButtonCount() + + warnlog( "Script does not exist warning displayed. Aborting test" ) + printlog( Active.getText() ) + active.ok() + + kontext "OeffnenDlg" + if ( OeffnenDlg.exists( DIALOG_TIMEOUT ) ) then + printlog( "Closing File Open dialog" ) + OeffnenDlg.cancel() + endif + + kontext "tabbibliotheken" + if ( TabBibliotheken.exists( DIALOG_TIMEOUT ) ) then + printlog( "Closing Libaries tab" ) + TabBibliotheken.close() + endif + + kontext "Makro" + if ( Makro.exists( DIALOG_TIMEOUT ) ) then + printlog( "Closing Macro organizer" ) + Makro.close() + endif + + printlog( "Exiting test" ) + goto endsub + catch + printlog( "Script found and loaded. Good." ) + endcatch - printlog( "Select the first item" ) - Bibliotheksliste.TypeKeys( "" ) - for iCurrentLibrary = 1 to iLibraryItemCount - if ( Bibliotheksliste.getSelText() = "AppLibrary1" ) then - printlog( "Found AppLibrary1" ) - exit for endif - printlog( "This was not AppLibrary1, trying again" ) - Bibliotheksliste.Typekeys( "" ) - next iCurrentLibrary - - printlog( "Set a password for AppLibrary1" ) - kontext "tabbibliotheken" - if ( Passwort.IsEnabled() ) then - Passwort.Click() - kontext "passwddlg" - PasswdDLG.Cancel() - else - warnlog( "Password is disabled for 'AppLibrary1'" ) - endif - printlog( "Delete 'AppLibrary1'" ) - kontext "tabbibliotheken" - Loeschen.Click() - - printlog( "Close the warning with YES" ) - kontext "active" - if ( Active.Exists() ) then - printlog( "MessageBox: " & active.getText() ) - Active.Yes() - else - warnlog( "Expected confirmation dialog for delete" ) - endif - - kontext "tabbibliotheken" - printlog( "Press 'edit' on 'Libraries'-tab" ) - Bearbeiten.Click() + printlog( "Ensure 'Insert as Reference' is unchecked" ) + kontext "appendlibraries" + InsertAsReference.UnCheck() - kontext "BasicIDE" - if ( BasicIDE.Exists( 5 ) ) then - - hInsertMacro( 3 ) - - printlog( "Close the basic-document" ) - hCloseBasicIde() + printlog( "Check 'Replace existing library'" ) + ReplaceExistingLibraries.Check() + + printlog( "Press 'OK' to append the library" ) + kontext "appendlibraries" + if ( hClickButton( AppandLibraries ) = RC_TIMEOUT ) then + warnlog( "#i85254# Appending libraries leads to crash" ) + endif + + printlog( "Check the number of libraries in list (should be two)" ) + kontext "tabbibliotheken" + iLibraryItemCount = Bibliotheksliste.getItemCount() + if ( iLibraryItemCount <> 2 ) then + qaerrorlog( "#i87457# Two entries in list expected, found " & iLibraryItemCount ) + endif + + printlog( "Select the first item" ) + Bibliotheksliste.TypeKeys( "" ) + for iCurrentLibrary = 1 to iLibraryItemCount + if ( Bibliotheksliste.getSelText() = REFERENCE_LIBRARY ) then + printlog( "Found " & REFERENCE_LIBRARY ) + exit for + endif + printlog( "This was not " & REFERENCE_LIBRARY & ", trying again" ) + Bibliotheksliste.Typekeys( "" ) + next iCurrentLibrary + + printlog( "Set a password for " & REFERENCE_LIBRARY ) + kontext "tabbibliotheken" + if ( Passwort.IsEnabled() ) then + Passwort.Click() + kontext "passwddlg" + PasswdDLG.Cancel() + else + warnlog( "Password is disabled for " & REFERENCE_LIBRARY ) + endif + + printlog( "Delete " & REFERENCE_LIBRARY ) + kontext "tabbibliotheken" + Loeschen.Click() + printlog( "Close the warning with YES" ) kontext "active" - if ( Active.Exists ( 2 ) ) then - warnlog( "Unexpected MessageBox: " & active.getText() ) - Active.NO() + if ( Active.Exists() ) then + printlog( "MessageBox: " & active.getText() ) + Active.Yes() + else + warnlog( "Expected confirmation dialog for delete" ) endif - else - warnlog("#i38978# The Macro-Document is not open, aborting test") - call hDestroyDocument() - goto endsub - endif + kontext "tabbibliotheken" + printlog( "Press 'edit' on 'Libraries'-tab" ) + Bearbeiten.Click() - printlog( "Open the BASIC Macro Organizer" ) - ToolsMacro_uno : WaitSlot() - - printlog( "Select the last macro from the list" ) - kontext "makro" - hSelectTheLastNode( MakroAus ) - - printlog( "Assign the macro, Tools/customize dialog should open" ) - if ( hClickButton( Zuordnen ) = -1 ) then - warnlog( "#i106853# Assign-Button is disabled or macro is missing" ) - endif + kontext "BasicIDE" + if ( BasicIDE.Exists( DIALOG_TIMEOUT ) ) then - printlog( "Activate all tapages and cancel the Tools/Customize dialog" ) - if ( not hToolsCustomizeSelectTab( "keyboard" ) ) then - qaerrorlog( "#i61765# Keyboard tab missing when called via Tools/Macros->Assign" ) - endif - hToolsCustomizeSelectTab( "events" ) - hToolsCustomizeSelectTab( "toolbars" ) + hInsertMacro( 3 ) - printlog( "Cancel Tools/Customize dialog -> Macro Organizer should be open" ) - kontext "TabCustomizeToolbars" - hCloseDialog( TabCustomizeToolbars, "cancel" ) - - - printlog "Click to run macro" - kontext "makro" - try - Ausfuehren.Click() - catch - warnlog( "Unable to run macro" ) + printlog( "Close the basic-document" ) + hCloseBasicIde() + + kontext "active" + if ( Active.Exists ( DIALOG_TIMEOUT ) ) then + warnlog( "Unexpected MessageBox: " & active.getText() ) + Active.NO() + endif + + else + warnlog("#i38978# The Macro-Document is not open, aborting test") + call hDestroyDocument() + goto endsub + endif + + printlog( "Open the BASIC Macro Organizer" ) + ToolsMacro_uno + + printlog( "Select the last macro from the list" ) + kontext "makro" + if ( Makro.exists( DIALOG_TIMEOUT ) ) then + hSelectTheLastNode( MakroAus ) + + printlog( "Assign the macro, Tools/customize dialog should open" ) + if ( hClickButton( Zuordnen ) = RC_TIMEOUT ) then + warnlog( "#i106853# Assign-Button is disabled or macro is missing" ) + endif + + printlog( "Activate all tapages and cancel the Tools/Customize dialog" ) + if ( not hToolsCustomizeSelectTab( "keyboard" ) ) then + qaerrorlog( "#i61765# Keyboard tab missing when called via Tools/Macros->Assign" ) + endif + hToolsCustomizeSelectTab( "events" ) + hToolsCustomizeSelectTab( "toolbars" ) + + printlog( "Cancel Tools/Customize dialog -> Macro Organizer should be open" ) + kontext "TabCustomizeToolbars" + hCloseDialog( TabCustomizeToolbars, "cancel" ) + + + printlog "Click to run macro" + kontext "makro" + try + Ausfuehren.Click() + catch + warnlog( "Unable to run macro" ) + kontext "Makro" + Makro.close() + endcatch + + kontext "active" + if ( active.exists() ) then + if ( active.getText() = "TTMacro3" ) then + printlog( "The correct macro has been executed" ) + else + warnlog( "Unknown Messagebox: " & active.getText() ) + endif + Active.OK() + endif + else + warnlog( "Macro Organizer did not open" ) + endif + + printlog( "Open macro organizer from the current document" ) + ToolsMacro_uno : WaitSlot() + + printlog( "Select the last item in the treelist" ) kontext "Makro" - Makro.close() - endcatch - - kontext "active" - if ( active.exists() ) then - if ( active.getText() = "TTMacro3" ) then - printlog( "The correct macro has been executed" ) + hSelectTheLastNode( MakroAus ) + + printlog( "Delete the new module" ) + Loeschen.Click() + + printlog( "Close the deletion warning" ) + kontext "active" + if ( active.exists() ) then + printlog( "MessageBox: " & active.getText() ) + Active.Yes() else - warnlog( "Unknown Messagebox: " & active.getText() ) + warnlog( "No confirmation dialog for delete" ) endif - Active.OK() - endif - - printlog( "Open macro organizer from the current document" ) - ToolsMacro_uno : WaitSlot() - - printlog( "Select the last item in the treelist" ) - kontext "Makro" - hSelectTheLastNode( MakroAus ) - printlog( "Delete the new module" ) - Loeschen.Click() - - printlog( "Close the deletion warning" ) - kontext "active" - if ( active.exists() ) then - printlog( "MessageBox: " & active.getText() ) - Active.Yes() + printlog( "Close the macro organizer" ) + kontext "makro" + Makro.Close() else - warnlog( "No confirmation dialog for delete" ) + warnlog( "Makro Organizer did not open" ) endif - printlog( "Close the macro organizer" ) - kontext "makro" - Makro.Close() - printlog( "Close the document" ) Call hDestroyDocument() -- cgit From ede29339d54bde04e985e727bd628378731e3700 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 08:48:40 +0200 Subject: vitomation01: #i109562 - basic_macros.inc - more refactor --- .../framework/optional/includes/basic_macros.inc | 49 +++++++++------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_macros.inc b/testautomation/framework/optional/includes/basic_macros.inc index 82035c676307..587465cba55d 100755 --- a/testautomation/framework/optional/includes/basic_macros.inc +++ b/testautomation/framework/optional/includes/basic_macros.inc @@ -193,41 +193,34 @@ testcase tMakro_Dialog Dateiname.SetText( XLBFILE ) Oeffnen.Click() - ' If the .xlb file cannot be found the test cannot continue. Warn and cleanup. - kontext "Active" - if ( Active.exists( DIALOG_TIMEOUT ) ) then + kontext "AppendLibraries" + if ( AppendLibraries.exists( DIALOG_TIMEOUT ) ) then + printlog( " dialog is open, good" ) + else - try - Active.getButtonCount() + ' If the .xlb file cannot be found the test cannot continue. Warn and cleanup. + kontext "Active" + if ( Active.exists() ) then - warnlog( "Script does not exist warning displayed. Aborting test" ) + warnlog( "Unexpected messagebox, the script appears to be missing" ) printlog( Active.getText() ) - active.ok() + + kontext "Active" + hCloseDialog( Active, "ok" ) kontext "OeffnenDlg" - if ( OeffnenDlg.exists( DIALOG_TIMEOUT ) ) then - printlog( "Closing File Open dialog" ) - OeffnenDlg.cancel() - endif + hCloseDialog( OeffnenDlg, "cancel,optional" ) - kontext "tabbibliotheken" - if ( TabBibliotheken.exists( DIALOG_TIMEOUT ) ) then - printlog( "Closing Libaries tab" ) - TabBibliotheken.close() - endif + kontext "TabBibliotheken" + hCloseDialog( TabBibliotheken, "close,optional" ) kontext "Makro" - if ( Makro.exists( DIALOG_TIMEOUT ) ) then - printlog( "Closing Macro organizer" ) - Makro.close() - endif + hCloseDialog( Makro, "close,optional" ) printlog( "Exiting test" ) goto endsub - catch - printlog( "Script found and loaded. Good." ) - endcatch + endif endif printlog( "Ensure 'Insert as Reference' is unchecked" ) @@ -335,13 +328,11 @@ testcase tMakro_Dialog printlog "Click to run macro" kontext "makro" - try - Ausfuehren.Click() - catch - warnlog( "Unable to run macro" ) + if ( hClickButton( Ausfuehren ) = RC_TIMEOUT ) then + warnlog( "Unable to run macro, button is not enabled" ) kontext "Makro" - Makro.close() - endcatch + hCloseDialog( Makro, "close" ) + endif kontext "active" if ( active.exists() ) then -- cgit From 10fe64a4abe6bb5afe78d3b759e4ff7871298059 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 09:07:55 +0200 Subject: vitomation01: #i109562 - basic_modulehide.inc - code compression --- .../optional/includes/basic_modulehide.inc | 48 +++++++++------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_modulehide.inc b/testautomation/framework/optional/includes/basic_modulehide.inc index fb2ef75b31f5..2a86f71d4163 100755 --- a/testautomation/framework/optional/includes/basic_modulehide.inc +++ b/testautomation/framework/optional/includes/basic_modulehide.inc @@ -37,6 +37,11 @@ testcase tBasicIdeModuleHide const CFN = "tBasicIdeModuleHide::" const RAISE_MESSAGEBOX = 1 + const RC_SUCCESS = 0 + const RC_TIMEOUT = -1 + + const TAB_MODULES = 1 + dim rc as integer dim brc as boolean dim cDefaultTabName as string @@ -47,57 +52,44 @@ testcase tBasicIdeModuleHide ToolsMacro_uno hCreateModuleForDoc() - brc = hInsertMacro( RAISE_MESSAGEBOX ) - if ( brc ) then + if ( hInsertMacro( RAISE_MESSAGEBOX ) ) then printlog( CFN & "Macro has been written successfully" ) else warnlog( CFN & "Failed to insert macro" ) endif - rc = hHideModule() - if ( rc > 0 ) then + + if ( hHideModule() <> RC_SUCCESS ) then warnlog( "Some unexpected error occurred while trying to hide the module" ) endif - try - ' hTestMacro is expected to fail, so we jump to the catch statement - rc = hTestMacro( RAISE_MESSAGEBOX ) - if ( rc = 0 ) then - warnlog( "For some reason the original module is still visible" ) - else - warnlog( "There should not be any editingwindow visible" ) - endif - catch - printlog( " * unable to locate editwindow -> no module visible." ) - endcatch + ' hTestMacro is expected to fail, so we jump to the catch statement + if ( hTestMacro( RAISE_MESSAGEBOX ) = RC_SUCCESS ) then + warnlog( "For some reason the original module is still visible" ) + else + warnlog( "There should not be any editingwindow visible" ) + endif - if ( hOpenBasicObjectOrganizer( 1 ) ) then + if ( hOpenBasicObjectOrganizer( TAB_MODULES ) ) then modulliste.typekeys( "" ) - try - bearbeiten.click() - catch + if ( hClickButton( Bearbeiten ) = RC_TIMEOUT ) then warnlog( "#i35097# Crash when editing last module" ) - endcatch + goto endsub + endif - - rc = hTestMacro( RAISE_MESSAGEBOX ) - if ( rc = 1 ) then + if ( hTestMacro( RAISE_MESSAGEBOX ) = RAISE_MESSAGEBOX ) then printlog( " * the correct macro-module is open. Good." ) else warnlog( "The open macro-module is not the one that was expected" ) endif hCloseBasicIDE() - - call hCloseDocument() + hCloseDocument() else - warnlog( "restarting the office to recover from errors" ) call exitRestartTheOffice() - endif - endcase -- cgit From 0d91436469f00bc2bd76239ad3c497c40cd84e8b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 09:19:55 +0200 Subject: vitomation01: #i109562 - basic_usertemplate.inc - provided test case documentation (was missing after old style documentation removal) --- .../optional/includes/basic_usertemplate.inc | 65 +++++++++++++--------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_usertemplate.inc b/testautomation/framework/optional/includes/basic_usertemplate.inc index 21119a8698ab..9f8400c45f8b 100755 --- a/testautomation/framework/optional/includes/basic_usertemplate.inc +++ b/testautomation/framework/optional/includes/basic_usertemplate.inc @@ -43,7 +43,6 @@ testcase tMacroUsertemplate ' When creating a document based on a user-created template the macro ' will not execute, instead a com.sun.star... errormessage is displayed - dim brc as boolean ' returncode dim irc as integer ' returncode dim cMacroName as string ' Temp variable to store the name of current macro @@ -63,62 +62,73 @@ testcase tMacroUsertemplate kontext "DocumentWriter" DocumentWriter.typeKeys( DOC_IDENTIFIER ) - brc = hCreateDocument() - + printlog( "Create a new document" ) + hCreateDocument() + + printlog( "Open the macro organizer" ) ToolsMacro_uno + printlog( "Search for the module" ) iCurrentNode = hSelectNodeByName( MakroAus, "Module1" ) if ( iCurrentNode = 0 ) then warnlog( "#i73521# - The expected node could not be found. Aborting test" ) kontext "Makro" - Makro.close() + hCloseDialog( Makro, "close" ) hDestroyDocument() goto endsub endif - ' verify that we replace the correct macro. if not: Abort + printlog( "Find the macro we are going to replace" ) if ( MakroListe.getItemCount() > 0 ) then cMacroName = MakroListe.getSelText() if ( lcase( cMacroName ) <> "main" ) then warnlog( "Test abort: Incorrect macro is selected: " & cMacroName ) printlog( "This should have been the
          Macro" ) kontext "Makro" - Makro.cancel() + hCloseDialog( Makro, "cancel" ) hDestroyDocument() goto endsub endif else warnlog( "There is no macro listed for the current module, the test cannot continue" ) kontext "Makro" - Makro.close() + hCloseDialog( Makro, "close" ) hDestroyDocument() goto endsub endif - + + printlog( "Edit" ) Bearbeiten.click() + printlog( "Insert test macro" ) hInsertMacro( 3 ) + printog( "Close BASIC IDE" ) hCloseBasicIde() + printlog( "Close Document" ) hDestroyDocument() + printlog( "Open new document" ) hCreateDocument + printlog( "Open Macro Organizer" ) ToolsMacrosRunMacro - + + printlog( "Find the Macro again" ) cMacroName = hExecScript_tMacroUserTemplate() ' local function, see below if ( lcase( cMacroName ) <> "main" ) then warnlog( "Test abort: Incorrect macro is selected: " & cMacroName ) printlog( "This should have been the
          Macro" ) ScriptSelector.cancel() - brc = hDestroyDocument() + hDestroyDocument() goto endsub endif - ' run + printlog( "Run the macro" ) ScriptSelector.ok() + printlog( "Check for macro" ) kontext "Active" if ( active.exists( 3 ) ) then printlog( "Messagebox: " & active.getText() ) @@ -126,29 +136,33 @@ testcase tMacroUsertemplate else warnlog( "The Macro has not been executed" ) endif - - brc = hDestroyDocument() - brc = hCreateDocument() + printlog( "Close the document" ) + hDestroyDocument() + + printlog( "Open a new document" ) + hCreateDocument() printlog( "" ) printlog( "Save as template" ) hFileSaveAsWithFilterKill( sPathOut & FILEOUT, FILTER ) - + + printlog( "Close the document" ) hDestroyDocument() printlog( "" ) printlog( "File New from Template" ) FileNewFromTemplate - + + printlog( "Find the template" ) irc = hFindTemplate( FILEOUT ) - hSelectDocumentObject( irc, 1 ) printlog( "" ) - printlog( "Run Macro..." ) + printlog( "Open the dialog" ) ToolsMacrosRunMacro - + + printlog( "Try to find the macro" ) cMacroName = hExecScript_tMacroUserTemplate() ' local function, see below if ( lcase( cMacroName ) <> "main" ) then warnlog( "Test abort: Incorrect macro is selected: " & cMacroName ) @@ -158,10 +172,10 @@ testcase tMacroUsertemplate goto endsub endif - ' run printlog( "Run" ) ScriptSelector.ok() - + + printlog( "Verify macro execution" ) kontext "Active" if ( active.exists( 3 ) ) then @@ -179,10 +193,11 @@ testcase tMacroUsertemplate else warnlog( "Macro not executed / no warning" ) endif - - hDestroyDocument() - hDestroyDocument() - + + printlog( "Close all open documents" ) + hFileCloseAll() + + printlog( "Delete test template" ) hDeleteFile( sPathOut & FILEOUT & ".ott" ) -- cgit From 1240fe2a743f5795b38dea312cd031434f4e28ea Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 10:41:57 +0200 Subject: vitomation01: #i109562 - t_macro_tools.inc - removed dependency to t_listfuncs.inc --- testautomation/global/tools/includes/optional/t_macro_tools.inc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_macro_tools.inc diff --git a/testautomation/global/tools/includes/optional/t_macro_tools.inc b/testautomation/global/tools/includes/optional/t_macro_tools.inc old mode 100644 new mode 100755 index 8126e3257c5c..03738a96666c --- a/testautomation/global/tools/includes/optional/t_macro_tools.inc +++ b/testautomation/global/tools/includes/optional/t_macro_tools.inc @@ -57,6 +57,7 @@ function hInsertMacroFromFile( cMacroId as string, optional cSource as string ) const CFN = "hInsertMacroFromFile::" const RETVAL_FAILURE = 0 + const MAX_LINES_IN_MACRO_FILE = 10000 '///+
        • Find the path to the source file
        • dim cFile as string @@ -66,10 +67,7 @@ function hInsertMacroFromFile( cMacroId as string, optional cSource as string ) cFile = convertpath( cSource ) endif - '///+
        • Determine the required array size
        • - dim iArraySize as integer : iArraySize = hListFileGetSize( cFile ) - - dim aInstructionList( iArraySize ) as string + dim aInstructionList( MAX_LINES_IN_MACRO_FILE ) as string dim iInstructionCount as integer dim iCurrentInstruction as integer -- cgit From a8d19f40eea35d7077af8261629b4790bbd7eabb Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 10:46:44 +0200 Subject: vitomation01: #i109696 - Removed three functions from t_listfuncs.inc --- .../global/tools/includes/optional/t_listfuncs.inc | 227 --------------------- 1 file changed, 227 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_listfuncs.inc diff --git a/testautomation/global/tools/includes/optional/t_listfuncs.inc b/testautomation/global/tools/includes/optional/t_listfuncs.inc old mode 100644 new mode 100755 index 3f766f176c2a..2a4c587a22f0 --- a/testautomation/global/tools/includes/optional/t_listfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_listfuncs.inc @@ -29,158 +29,8 @@ '* '* short description : Replacements for routines in t_lists.inc adds some '* -'******************************************************************************* -'* -' #1 hListTestUpperBoundary ' Tests upper boundary of arrays -' #1 hListTestLowerBoundary ' Tests lower boundary of arrays -' #1 hListDelete ' Deletes one item from a list by index -' #1 hListAppend ' Append an item to a list -' #1 hManageComparisionList ' quick way to compare/create reference lists -' #1 hListFileGetSize ' find out how big an array has to be to hold the file -' #1 hListCompare ' compare two lists -' #1 hListPrependString ' Insert a string infront of each item in a list -' #1 hListAppendList ' Append one list to another -' #1 hCountMatchesInList ' Return count of occurrences of a string within a list -'* '\****************************************************************************** -' Note: These functions fix some minor bugs and introduce strict boundary -' checking for the arrays we work with. The arrays must be compatible -' to those from the "standard" list-functions. -' Why: Two reasons: -' -' 1) When working with listboxes it might happen that they are empty (bug) -' or contain more items than expected. In this case the tests would -' usually break. This is not desired as many testcases do not rely -' on the content of the listboxes. -' -' 2) This way eases the trouble of debugging huge amounts of arrays -' like those in the installation test or anywhere else where we work -' with reference lists. This is a coding help. - -'******************************************************************************* - -function hListTestUpperBoundary( aList() as string ) as boolean - - '///

          Verify that ListCount does not exceed upper boundary

          - '///About listfunctions: All listfunctions rely on a special type of - '///+ array. This can be string arrays and - in some cases - numeric - '///+ arrays. What makes the arrays unique is that the first item which - '///+ has the index 0 contains the number of items in the list to be used, - '///+ anything that is stored beyond this number is ignored. This has three - '///+ consequences: 1) all listfunctions that alter an array must update - '///+ the index stored in array(0) and 2) it is possible that the index - '///+ point beyond ubound of the array which will most likely cause a - '///+ runtime error. 3) Means that arrays may only have an upper boundary - '///+ declared, all loops must start with index array(1) and must end with - '///+ index array(val( array(0))
          - '///Input: - '///
            - '///+
          1. List (string)
          2. - '///
          - '///Returns: - '///
            - '///+
          1. Errorstatus (boolean)
          2. - '///
              - '///+
            • TRUE: Array is ok
            • - '///+
            • FALSE: Array logic has errors
            • - '///
            - '///
          - '///Description: - '///
            - - - const CFN = "hListTestUpperBoundary::" - - dim iUpperBoundary as integer ' size according to UBOUND - dim iListSize as integer ' size according to ListCount - - dim brc as boolean - brc = true - - '///+
          • Determine the size of the array
          • - iUpperBoundary = UBOUND( aList() ) - - '///+
          • Determine the claimed size of the array
          • - iListSize = ListCount( aList() ) - - '///+
          • Verify that val(array(0)) <= array-size
          • - if ( iListSize > iUpperBoundary ) then - warnlog ( CFN & "List points beyound upper array boundary:" ) - printlog( CFN & "ListCount: " & iListSize ) - printlog( CFN & "UBOUND...: " & iUpperBoundary ) - brc = false - endif - - hListTestUpperBoundary() = brc - '///
          - -end function - -'******************************************************************************* - -function hListTestLowerBoundary( aList() as string ) as boolean - - '///

          Verify that the lower boundaries of an array are ok

          - '///Prerequisite: Array compatible with those from t_lists.inc - '///About listfunctions: All listfunctions rely on a special type of - '///+ array. This can be string arrays and - in some cases - numeric - '///+ arrays. What makes the arrays unique is that the first item which - '///+ has the index 0 contains the number of items in the list to be used, - '///+ anything that is stored beyond this number is ignored. This has three - '///+ consequences: 1) all listfunctions that alter an array must update - '///+ the index stored in array(0) and 2) it is possible that the index - '///+ point beyond ubound of the array which will most likely cause a - '///+ runtime error. 3) Means that arrays may only have an upper boundary - '///+ declared, all loops must start with index array(1) and must end with - '///+ index array(val( array(0))
          - '///Input: - '///
            - '///+
          1. List (string)
          2. - '///
          - '///Returns: - '///
            - '///+
          1. Errorstatus (boolean)
          2. - '///
              - '///+
            • TRUE: Array is ok
            • - '///+
            • FALSE: Array logic has errors
            • - '///
            - '///
          - '///Description: - '///
            - - const CFN = "hListTestLowerBoundary::" - - dim iLowerBoundary as integer ' size according to LBOUND - dim iListSize as integer ' size according to ListCount - - dim brc as boolean - brc = true - - iLowerBoundary = LBOUND( aList() ) - iListSize = ListCount( aList() ) - - '///+
          • Verify that ubound for the array returns 0 (lower boundary)
          • - if ( iLowerBoundary <> 0 ) then - warnlog ( CFN & "Boundary of the array must be 0." ) - printlog( CFN & "Lower boundary is: " & iLowerBoundary ) - brc = false - endif - - '///+
          • Verify that val(array(0)) > 0
          • - if ( iListSize < 0 ) then - warnlog ( CFN & "Defined Listsize (ListCount) may never be negative" ) - printlog( CFN & "ListCount is: " & iListSize ) - brc = false - endif - - hListTestLowerBoundary() = brc - '///
          - -end function - -'******************************************************************************* - function hListDelete( aList() as string, iItemToDelete as integer ) as boolean '///

          Delete one item from a list specified by index

          @@ -209,20 +59,6 @@ function hListDelete( aList() as string, iItemToDelete as integer ) as boolean dim sItemToDelete as string ' The string that will be deleted dim brc as boolean ' preliminary return value - '///+
        • test array integrity: upper boundary
        • - brc = hListTestUpperBoundary( alist() ) - if ( not brc ) then - hListDelete() = brc - exit function - endif - - '///+
        • test array integrity: lower boundary
        • - brc = hListTestLowerBoundary( alist() ) - if ( not brc ) then - hListDelete() = brc - exit function - endif - '///+
        • Get some data from the arrays to work with.
        • iArraySize = ubound( aList() ) iListSizeOld = ListCount( aList() ) @@ -376,69 +212,6 @@ end function '******************************************************************************* -function hListFileGetSize( sFileIn as string ) as integer - - '///

          Get the number of lines from a file

          - '///Prerequisites: Path to an existing plain text file - '///About listfunctions: All listfunctions rely on a special type of - '///+ array. This can be string arrays and - in some cases - numeric - '///+ arrays. What makes the arrays unique is that the first item which - '///+ has the index 0 contains the number of items in the list to be used, - '///+ anything that is stored beyond this number is ignored. This has three - '///+ consequences: 1) all listfunctions that alter an array must update - '///+ the index stored in array(0) and 2) it is possible that the index - '///+ point beyond ubound of the array which will most likely cause a - '///+ runtime error. 3) Means that arrays may only have an upper boundary - '///+ declared, all loops must start with index array(1) and must end with - '///+ index array(val( array(0))
          - '///
            - - const CFN = "hListFileGetSize::" - const I_EXTRA_SIZE = 10 - const RC_FILE_MISSING = -1 - const RC_FILE_INVALID = -2 - - dim iFile as integer - dim sLine as string - dim iLineCount as integer : iLineCount = 0 - - '///+
          • Verify that the filename is non-empty
          • - if ( sFileIn = "" ) then - warnlog( CFN & "Invalid parameter: Filename is empty string" ) - hListFileGetSize() = RC_FILE_INVALID - exit function - endif - - '///+
          • Verify that the file exists
          • - if ( dir( sFileIn ) = "" ) then - warnlog( CFN & "File not found: " & sFileIn ) - hListFileGetSize() = RC_FILE_MISSING - exit function - endif - - '///+
          • Open the file (standard BASIC calls)
          • - iFile = freefile - open sFileIn for input as iFile - - '///+
          • Read the number of lines from the file
          • - while( not eof( iFile ) ) - - line input #iFile, sLine - iLineCount = iLineCount + 1 - - wend - - '///+
          • Close the file
          • - close #iFile - - '///+
          • Return the number of lines read or -1 on error
          • - hListFileGetSize() = iLineCount + I_EXTRA_SIZE - '///
          - -end function - -'******************************************************************************* - function hListCompare( aListOne() as String, aListTwo() as String ) as integer const CFN = "hListcompare::" -- cgit From 8053850c03e5c4522ac2bef8a8d9148cb64677fc Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 11:03:21 +0200 Subject: vitomation01: #i109562 - Reworked method to check for Templates and Samples dialog, should now no longer fail on slower machines. --- .../framework/tools/includes/toolbar_tools.inc | 57 +++++++++++++--------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/testautomation/framework/tools/includes/toolbar_tools.inc b/testautomation/framework/tools/includes/toolbar_tools.inc index 104af556fbca..8d0b198b0441 100755 --- a/testautomation/framework/tools/includes/toolbar_tools.inc +++ b/testautomation/framework/tools/includes/toolbar_tools.inc @@ -374,6 +374,10 @@ function hStandardbarNewDialog() const CFN = "hStandardbarNewDialog::" const ITEM_MENU_POSITION = 3 + const TEMPLATE_DIALOG_MAX_RETRIES = 3 + const RC_TIMEOUT = -1 + + dim iTry as integer printlog( CFN & "Enter" ) @@ -390,31 +394,36 @@ function hStandardbarNewDialog() hToggleToolbarItem( ITEM_MENU_POSITION ) '///+
        • click the button
        • - Kontext "Standardbar" - hClickButton( NeuDialog ) - - '///+
        • handle possible dialogs (there should never be one)
        • - kontext "Active" - if ( active.exists( 1 ) ) then - warnlog( CFN & "Unexpected active" ) - printlog( CFN & active.gettext() ) - try - printlog( CFN & "Closing dialog" ) - active.ok() - catch - warnlog( CFN & "Unknown dialog blocks test, now crashing" ) - endcatch - endif + for iTry = 1 to TEMPLATE_DIALOG_MAX_RETRIES + + Kontext "Standardbar" + hClickButton( NeuDialog ) + + '///+
        • handle possible dialogs (there should never be one)
        • + kontext "Active" + if ( active.exists() ) then + warnlog( CFN & "Unexpected active" ) + printlog( CFN & active.gettext() ) + if ( hCloseDialog( Active, "ok" ) = RC_TIMEOUT ) then + warnlog( CFN & "Unknown dialog blocks test, now crashing" ) + endif + endif + + '///+
        • close the templates and samples dialog
        • + printlog( CFN & "Close templates and samples (cancel)" ) + Kontext "TemplateAndDocuments" + if ( TemplateAndDocuments.Exists( 5 ) ) then + hCloseDialog( TemplateAndDocuments, "cancel" ) + exit for + else + if ( iTry = TEMPLATE_DIALOG_MAX_RETRIES ) then + warnlog( CFN & "The 'Template and Documents'-dialog was not activated" ) + endif + endif + + next iTry + - '///+
        • close the templates and samples dialog
        • - printlog( CFN & "Close templates and samples (cancel)" ) - Kontext "TemplateAndDocuments" - if ( TemplateAndDocuments.Exists( 10 ) ) then - hCloseDialog( TemplateAndDocuments, "cancel" ) - else - warnlog( CFN & "The 'Template and Documents'-dialog was not activated" ) - endif - '///+
        • finally remove the button from the toolbar
        • printlog( CFN & "Deactivate New from Template button" ) hToggleToolbarItem( ITEM_MENU_POSITION ) -- cgit From 627394f3372e45a4b903f5969c305d6450162fc0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 11:05:07 +0200 Subject: vitomation01: #i109562 - Small enhancements, need checking on different machine. --- testautomation/framework/required/includes/tools_customize.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/framework/required/includes/tools_customize.inc b/testautomation/framework/required/includes/tools_customize.inc index a3aa70c0b02d..6bf31e391f99 100755 --- a/testautomation/framework/required/includes/tools_customize.inc +++ b/testautomation/framework/required/includes/tools_customize.inc @@ -471,7 +471,7 @@ if ( not hClickCommandButton( MENUITEM_MODIFY ) ) then waitslot printlog( CFN & "Click the Modify-button" ) -if ( not hClickCommandButton( 3 ) ) then + if ( not hClickCommandButton( 3 ) ) then warnlog( CFN & "Something went wrong when accessing the command button" ) exit function endif -- cgit From 3c289e248a4f7c6940bb7429ee70d17a6196016c Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 19 Apr 2010 11:33:33 +0200 Subject: jl152 import 263446 from native0jl:#i77196# supporting licenses, suppress license switch, subsequent accepting of licenses for bundled/shared extensions --- desktop/inc/deployment.hrc | 1 - desktop/source/app/check_ext_deps.cxx | 135 +------ desktop/source/app/makefile.mk | 14 + desktop/source/deployment/gui/dp_gui.hrc | 1 - desktop/source/deployment/gui/dp_gui_dialog.src | 10 +- .../deployment/gui/dp_gui_extensioncmdqueue.cxx | 23 +- .../deployment/gui/dp_gui_updateinstalldialog.cxx | 4 +- desktop/source/deployment/gui/license_dialog.cxx | 11 +- desktop/source/deployment/gui/license_dialog.hxx | 1 + desktop/source/deployment/inc/dp_misc.h | 7 +- desktop/source/deployment/inc/dp_ucb.h | 7 + .../deployment/manager/dp_activepackages.cxx | 8 +- .../deployment/manager/dp_activepackages.hxx | 9 + .../deployment/manager/dp_commandenvironments.cxx | 255 ++++++++++++ .../deployment/manager/dp_commandenvironments.hxx | 146 +++++++ .../deployment/manager/dp_extensionmanager.cxx | 333 ++++++++-------- .../deployment/manager/dp_extensionmanager.hxx | 37 +- desktop/source/deployment/manager/dp_manager.cxx | 439 ++++++++++++--------- desktop/source/deployment/manager/dp_manager.h | 28 +- .../source/deployment/manager/dp_properties.cxx | 147 +++++++ .../source/deployment/manager/dp_properties.hxx | 76 ++++ .../source/deployment/manager/dp_tmprepocmdenv.cxx | 166 -------- .../source/deployment/manager/dp_tmprepocmdenv.hxx | 84 ---- desktop/source/deployment/manager/makefile.mk | 3 +- .../source/deployment/migration/dp_migration.cxx | 2 +- desktop/source/deployment/misc/dp_misc.cxx | 142 ++++++- desktop/source/deployment/misc/dp_ucb.cxx | 46 +++ .../deployment/registry/component/dp_component.cxx | 11 +- .../registry/configuration/dp_configuration.cxx | 3 +- desktop/source/deployment/registry/dp_backend.cxx | 20 +- desktop/source/deployment/registry/dp_registry.cxx | 8 +- .../registry/executable/dp_executable.cxx | 3 +- .../source/deployment/registry/help/dp_help.cxx | 112 +----- .../source/deployment/registry/inc/dp_backend.h | 4 +- .../deployment/registry/package/dp_package.cxx | 69 ++-- .../deployment/registry/script/dp_script.cxx | 6 +- desktop/source/deployment/unopkg/unopkg.src | 7 +- .../migration/services/oo3extensionmigration.cxx | 4 +- desktop/source/pkgchk/unopkg/unopkg_app.cxx | 161 ++++++-- desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx | 55 +-- desktop/source/pkgchk/unopkg/unopkg_misc.cxx | 42 +- desktop/source/pkgchk/unopkg/unopkg_shared.h | 10 +- 42 files changed, 1612 insertions(+), 1038 deletions(-) create mode 100644 desktop/source/deployment/manager/dp_commandenvironments.cxx create mode 100644 desktop/source/deployment/manager/dp_commandenvironments.hxx create mode 100644 desktop/source/deployment/manager/dp_properties.cxx create mode 100644 desktop/source/deployment/manager/dp_properties.hxx delete mode 100644 desktop/source/deployment/manager/dp_tmprepocmdenv.cxx delete mode 100644 desktop/source/deployment/manager/dp_tmprepocmdenv.hxx diff --git a/desktop/inc/deployment.hrc b/desktop/inc/deployment.hrc index 7e4c21d3c5a4..370996c710ae 100644 --- a/desktop/inc/deployment.hrc +++ b/desktop/inc/deployment.hrc @@ -63,7 +63,6 @@ #define RID_IMG_JAVA_TYPELIB_HC (RID_DEPLOYMENT_COMPONENT_START+7) #define RID_DEPLOYMENT_UNOPKG_START (RID_DEPLOYMENT_START+4000) -#define RID_STR_UNOPKG_NO_SHARED_ALLOWED RID_DEPLOYMENT_UNOPKG_START #define RID_STR_UNOPKG_ACCEPT_LIC_1 (RID_DEPLOYMENT_UNOPKG_START+1) #define RID_STR_UNOPKG_ACCEPT_LIC_2 (RID_DEPLOYMENT_UNOPKG_START+2) #define RID_STR_UNOPKG_ACCEPT_LIC_3 (RID_DEPLOYMENT_UNOPKG_START+3) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index 17dc20e1a129..f487e0dfc96f 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -53,6 +53,8 @@ #include "app.hxx" +#include "../deployment/inc/dp_misc.h" + using rtl::OUString; using namespace desktop; using namespace com::sun::star; @@ -342,101 +344,6 @@ sal_Bool Desktop::CheckExtensionDependencies() return bAbort; } -//Returns true if the Folder was more recently modified then -//the lastsynchronized file. That is the repository needs to -//be synchronized. -static bool compareExtensionFolderWithLastSynchronizedFile( - OUString const & folderURL, OUString const & fileURL) -{ - bool bNeedsSync = false; - ::osl::DirectoryItem itemExtFolder; - ::osl::File::RC err1 = - ::osl::DirectoryItem::get(folderURL, itemExtFolder); - //If it does not exist, then there is nothing to be done - if (err1 == ::osl::File::E_NOENT) - { - return false; - } - else if (err1 != ::osl::File::E_None) - { - OSL_ENSURE(0, "Cannot access extension folder"); - return true; //sync just in case - } - - //If last synchronized does not exist, then OOo is started for the first time - ::osl::DirectoryItem itemFile; - ::osl::File::RC err2 = ::osl::DirectoryItem::get(fileURL, itemFile); - if (err2 == ::osl::File::E_NOENT) - { - return true; - - } - else if (err2 != ::osl::File::E_None) - { - OSL_ENSURE(0, "Cannot access file lastsynchronized"); - return true; //sync just in case - } - - //compare the modification time of the extension folder and the last - //modified file - ::osl::FileStatus statFolder(FileStatusMask_ModifyTime); - ::osl::FileStatus statFile(FileStatusMask_ModifyTime); - if (itemExtFolder.getFileStatus(statFolder) == ::osl::File::E_None) - { - if (itemFile.getFileStatus(statFile) == ::osl::File::E_None) - { - TimeValue timeFolder = statFolder.getModifyTime(); - TimeValue timeFile = statFile.getModifyTime(); - - if (timeFile.Seconds < timeFolder.Seconds) - bNeedsSync = true; - } - else - { - OSL_ASSERT(0); - bNeedsSync = true; - } - } - else - { - OSL_ASSERT(0); - bNeedsSync = true; - } - return bNeedsSync; -} - -static bool needToSyncRepostitory(OUString const & name) -{ - OUString folder; - OUString file; - if (name.equals(OUString(RTL_CONSTASCII_USTRINGPARAM("bundled")))) - { - folder = OUString( - RTL_CONSTASCII_USTRINGPARAM("$BUNDLED_EXTENSIONS")); - file = OUString ( - RTL_CONSTASCII_USTRINGPARAM( - "$BUNDLED_EXTENSIONS_USER/lastsynchronized")); - } - else if (name.equals(OUString(RTL_CONSTASCII_USTRINGPARAM("shared")))) - { - folder = OUString( - RTL_CONSTASCII_USTRINGPARAM( - "$UNO_SHARED_PACKAGES_CACHE/uno_packages")); - file = OUString ( - RTL_CONSTASCII_USTRINGPARAM( - "$SHARED_EXTENSIONS_USER/lastsynchronized")); - } - else - { - OSL_ASSERT(0); - return true; - } - ::rtl::Bootstrap::expandMacros(folder); - ::rtl::Bootstrap::expandMacros(file); - return compareExtensionFolderWithLastSynchronizedFile( - folder, file); -} - void Desktop::SynchronizeExtensionRepositories() { RTL_LOGFILE_CONTEXT(aLog,"desktop (jl97489) ::Desktop::SynchronizeExtensionRepositories"); @@ -447,41 +354,5 @@ void Desktop::SynchronizeExtensionRepositories() OUString(RTL_CONSTASCII_USTRINGPARAM(""))); if (sDisable.getLength() > 0) return; - Reference xExtensionManager; - //synchronize shared before bundled otherewise there are - //more revoke and registration calls. - OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); - if (needToSyncRepostitory(sShared)) - { - xExtensionManager = - deployment::ExtensionManager::get( - comphelper_getProcessComponentContext()); - if (xExtensionManager.is()) - { - Reference cmdEnv( - new SilentCommandEnv()); - xExtensionManager->synchronize( - sShared, Reference(), cmdEnv); - } - - } - - OUString sBundled(RTL_CONSTASCII_USTRINGPARAM("bundled")); - if (needToSyncRepostitory( sBundled)) - { - if (!xExtensionManager.is()) - { - xExtensionManager = - deployment::ExtensionManager::get( - comphelper_getProcessComponentContext()); - } - if (xExtensionManager.is()) - { - Reference cmdEnv( - new SilentCommandEnv()); - xExtensionManager->synchronize( - sBundled, Reference(), cmdEnv); - - } - } + dp_misc::syncRepositories(new SilentCommandEnv()); } diff --git a/desktop/source/app/makefile.mk b/desktop/source/app/makefile.mk index d9db7c163481..085d8520e7ad 100644 --- a/desktop/source/app/makefile.mk +++ b/desktop/source/app/makefile.mk @@ -35,11 +35,24 @@ ENABLE_EXCEPTIONS=TRUE # --- Settings ----------------------------------------------------- .INCLUDE : settings.mk +.INCLUDE : ../deployment/inc/dp_misc.mk .IF "$(ENABLE_GNOMEVFS)"=="TRUE" CFLAGS+=-DGNOME_VFS_ENABLED .ENDIF +# .IF "$(OS)" == "WNT" +# .IF "$(COM)" == "GCC" +# DEPLOYMENTMISCLIB = -ldeploymentmisc$(DLLPOSTFIX) +# .ELSE +# DEPLOYMENTMISCLIB = ideploymentmisc$(DLLPOSTFIX).lib +# .ENDIF +# .ELIF "$(OS)" == "OS2" +# DEPLOYMENTMISCLIB = ideploymentmisc$(DLLPOSTFIX).lib +# .ELSE +# DEPLOYMENTMISCLIB = -ldeploymentmisc$(DLLPOSTFIX) +# .ENDIF + SHL1TARGET = sofficeapp SHL1OBJS = \ $(SLO)$/app.obj \ @@ -67,6 +80,7 @@ SHL1STDLIBS = \ $(COMPHELPERLIB) \ $(CPPUHELPERLIB) \ $(CPPULIB) \ + $(DEPLOYMENTMISCLIB) \ $(I18NISOLANGLIB) \ $(SALLIB) \ $(SFXLIB) \ diff --git a/desktop/source/deployment/gui/dp_gui.hrc b/desktop/source/deployment/gui/dp_gui.hrc index 1d2f4869cc7f..022141976f55 100644 --- a/desktop/source/deployment/gui/dp_gui.hrc +++ b/desktop/source/deployment/gui/dp_gui.hrc @@ -172,7 +172,6 @@ #define RID_WARNINGBOX_DISABLE_SHARED_EXTENSION (RID_DEPLOYMENT_GUI_START+106) #define RID_DLG_LICENSE RID_DEPLOYMENT_LICENSE_START -#define WARNINGBOX_NOSHAREDALLOWED (RID_DEPLOYMENT_LICENSE_START+1) diff --git a/desktop/source/deployment/gui/dp_gui_dialog.src b/desktop/source/deployment/gui/dp_gui_dialog.src index 79c0c5172030..f9d9c0e011c6 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog.src +++ b/desktop/source/deployment/gui/dp_gui_dialog.src @@ -131,7 +131,7 @@ String RID_STR_ERROR_MISSING_DEPENDENCIES #define ROW1_Y RSC_SP_DLG_INNERBORDER_TOP #define ROW1_HEIGHT 16*RSC_CD_FIXEDTEXT_HEIGHT #define ROW2_Y ROW1_Y+ROW1_HEIGHT+RSC_SP_CTRL_GROUP_Y -#define ROW2_HEIGHT 2*RSC_CD_FIXEDTEXT_HEIGHT +#define ROW2_HEIGHT 3*RSC_CD_FIXEDTEXT_HEIGHT #define ROW3_Y ROW2_Y+ROW2_HEIGHT+RSC_SP_CTRL_GROUP_Y #define ROW3_HEIGHT 3*RSC_CD_FIXEDTEXT_HEIGHT #define ROW4_Y ROW3_Y+ROW3_HEIGHT+RSC_SP_CTRL_GROUP_Y @@ -282,14 +282,6 @@ ModalDialog RID_DLG_LICENSE -WarningBox WARNINGBOX_NOSHAREDALLOWED -{ - Buttons = WB_OK ; - DefButton = WB_DEF_OK; - Message[ en-US ] ="The extension \'%NAME\' cannot be installed under \"%PRODUCTNAME Extensions\", because " - "every user has to agree to the license agreement of the extension. The extension will not be installed."; -}; - WarningBox RID_WARNINGBOX_INSTALL_EXTENSION { Buttons = WB_OK_CANCEL; DefButton = WB_DEF_OK; diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index a617e07758c7..4b55a93d3f84 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -36,10 +36,10 @@ #include #include "com/sun/star/beans/PropertyValue.hpp" +#include "com/sun/star/beans/NamedValue.hpp" #include "com/sun/star/deployment/DependencyException.hpp" #include "com/sun/star/deployment/LicenseException.hpp" -#include "com/sun/star/deployment/LicenseIndividualAgreementException.hpp" #include "com/sun/star/deployment/VersionException.hpp" #include "com/sun/star/deployment/InstallException.hpp" #include "com/sun/star/deployment/PlatformException.hpp" @@ -379,7 +379,6 @@ void ProgressCmdEnv::handle( uno::Reference< task::XInteractionRequest > const & lang::WrappedTargetException wtExc; deployment::DependencyException depExc; deployment::LicenseException licExc; - deployment::LicenseIndividualAgreementException licAgreementExc; deployment::VersionException verExc; deployment::InstallException instExc; deployment::PlatformException platExc; @@ -441,23 +440,12 @@ void ProgressCmdEnv::handle( uno::Reference< task::XInteractionRequest > const & || (n == RET_CANCEL && !Application::IsDialogCancelEnabled()); } } - else if (request >>= licAgreementExc) - { - vos::OGuard aSolarGuard( Application::GetSolarMutex() ); - ResId warnId(WARNINGBOX_NOSHAREDALLOWED, *DeploymentGuiResMgr::get()); - WarningBox warn( m_pDialogHelper? m_pDialogHelper->getWindow() : NULL, warnId); - String msgText = warn.GetMessText(); - msgText.SearchAndReplaceAllAscii( "%PRODUCTNAME", BrandName::get() ); - msgText.SearchAndReplaceAllAscii("%NAME", licAgreementExc.ExtensionName); - warn.SetMessText(msgText); - warn.Execute(); - abort = true; - } else if (request >>= licExc) { uno::Reference< ui::dialogs::XExecutableDialog > xDialog( deployment::ui::LicenseDialog::create( - m_xContext, VCLUnoHelper::GetInterface( m_pDialogHelper? m_pDialogHelper->getWindow() : NULL ), licExc.Text ) ); + m_xContext, VCLUnoHelper::GetInterface( m_pDialogHelper? m_pDialogHelper->getWindow() : NULL ), + licExc.ExtensionName, licExc.Text ) ); sal_Int16 res = xDialog->execute(); if ( res == ui::dialogs::ExecutableDialogResults::CANCEL ) abort = true; @@ -948,8 +936,9 @@ void ExtensionCmdQueue::Thread::_addExtension( ::rtl::Reference< ProgressCmdEnv { OUString sPackageManager = xPackageManager->getContext(); uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); - uno::Reference< deployment::XPackage > xPackage( xExtMgr->addExtension( rPackageURL, sPackageManager, - xAbortChannel, rCmdEnv.get() ) ); + uno::Reference< deployment::XPackage > xPackage( + xExtMgr->addExtension(rPackageURL, uno::Sequence(), + sPackageManager, xAbortChannel, rCmdEnv.get() ) ); OSL_ASSERT( xPackage.is() ); } catch ( ucb::CommandFailedException & ) diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx index 113e6d2069ac..f607713118f0 100644 --- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx @@ -46,6 +46,7 @@ #include "cppuhelper/implbase3.hxx" #include "com/sun/star/beans/PropertyValue.hpp" +#include "com/sun/star/beans/NamedValue.hpp" #include "com/sun/star/xml/dom/XElement.hpp" #include "com/sun/star/xml/dom/XNode.hpp" #include "com/sun/star/xml/dom/XNodeList.hpp" @@ -504,7 +505,8 @@ void UpdateInstallDialog::Thread::installExtensions() m_abort = xAbortChannel; } xPackage = curData.aPackageManager->addPackage( - curData.sLocalURL, OUString(), xAbortChannel, m_updateCmdEnv.get()); + curData.sLocalURL, css::uno::Sequence(), + OUString(), xAbortChannel, m_updateCmdEnv.get()); } catch (css::deployment::DeploymentException & de) { diff --git a/desktop/source/deployment/gui/license_dialog.cxx b/desktop/source/deployment/gui/license_dialog.cxx index 50992eb07a97..9698e257b953 100644 --- a/desktop/source/deployment/gui/license_dialog.cxx +++ b/desktop/source/deployment/gui/license_dialog.cxx @@ -116,6 +116,7 @@ struct LicenseDialogImpl : public ModalDialog LicenseDialogImpl( Window * pParent, css::uno::Reference< css::uno::XComponentContext > const & xContext, + const ::rtl::OUString & sExtensionName, const ::rtl::OUString & sLicenseText); virtual void Activate(); @@ -193,6 +194,7 @@ void LicenseView::Notify( SfxBroadcaster&, const SfxHint& rHint ) LicenseDialogImpl::LicenseDialogImpl( Window * pParent, cssu::Reference< cssu::XComponentContext > const & xContext, + const ::rtl::OUString & sExtensionName, const ::rtl::OUString & sLicenseText): ModalDialog(pParent, DpGuiResId(RID_DLG_LICENSE)) ,m_xComponentContext(xContext) @@ -225,6 +227,7 @@ LicenseDialogImpl::LicenseDialogImpl( m_fiArrow1.Show(true); m_fiArrow2.Show(false); m_mlLicense.SetText(sLicenseText); + m_ftHead.SetText(m_ftHead.GetText() + OUString('\n') + sExtensionName); m_mlLicense.SetEndReachedHdl( LINK(this, LicenseDialogImpl, EndReachedHdl) ); m_mlLicense.SetScrolledHdl( LINK(this, LicenseDialogImpl, ScrolledHdl) ); @@ -296,7 +299,7 @@ LicenseDialog::LicenseDialog( Sequence const& args, Reference const& xComponentContext) : m_xComponentContext(xComponentContext) { - comphelper::unwrapArgs( args, m_parent, m_sLicenseText ); + comphelper::unwrapArgs( args, m_parent, m_sExtensionName, m_sLicenseText ); } // XExecutableDialog @@ -315,8 +318,10 @@ sal_Int16 LicenseDialog::execute() throw (RuntimeException) sal_Int16 LicenseDialog::solar_execute() { - std::auto_ptr dlg(new LicenseDialogImpl( - VCLUnoHelper::GetWindow(m_parent), m_xComponentContext, m_sLicenseText)); + std::auto_ptr dlg( + new LicenseDialogImpl( + VCLUnoHelper::GetWindow(m_parent), + m_xComponentContext, m_sExtensionName, m_sLicenseText)); return dlg->Execute(); } diff --git a/desktop/source/deployment/gui/license_dialog.hxx b/desktop/source/deployment/gui/license_dialog.hxx index 4733922dc607..bb4a6b6646c8 100644 --- a/desktop/source/deployment/gui/license_dialog.hxx +++ b/desktop/source/deployment/gui/license_dialog.hxx @@ -48,6 +48,7 @@ class LicenseDialog { Reference const m_xComponentContext; Reference /* const */ m_parent; + OUString m_sExtensionName; OUString /* const */ m_sLicenseText; OUString m_initialTitle; diff --git a/desktop/source/deployment/inc/dp_misc.h b/desktop/source/deployment/inc/dp_misc.h index ee5867a655d3..3283d20718be 100644 --- a/desktop/source/deployment/inc/dp_misc.h +++ b/desktop/source/deployment/inc/dp_misc.h @@ -36,6 +36,7 @@ #include "com/sun/star/lang/XComponent.hpp" #include "com/sun/star/lang/DisposedException.hpp" #include "com/sun/star/deployment/XPackageRegistry.hpp" +#include "com/sun/star/ucb/XCommandEnvironment.hpp" #include "com/sun/star/awt/XWindow.hpp" #include "dp_misc_api.hxx" @@ -168,8 +169,12 @@ void TRACE(::rtl::OUString const & sText); DESKTOP_DEPLOYMENTMISC_DLLPUBLIC void TRACE(::rtl::OString const & sText); +/** registers or revokes shared or bundled extensions which have been + recently added or removed. +*/ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC -bool hasExtensionRepositoryChanged(::rtl::OUString const & repository); +void syncRepositories(::com::sun::star::uno::Reference< + ::com::sun::star::ucb::XCommandEnvironment> const & xCmdEnv); } diff --git a/desktop/source/deployment/inc/dp_ucb.h b/desktop/source/deployment/inc/dp_ucb.h index 6f9127504860..03144388e8a8 100644 --- a/desktop/source/deployment/inc/dp_ucb.h +++ b/desktop/source/deployment/inc/dp_ucb.h @@ -28,6 +28,7 @@ #if ! defined INCLUDED_DP_UCB_H #define INCLUDED_DP_UCB_H +#include #include "rtl/byteseq.hxx" #include "rtl/instance.hxx" #include "com/sun/star/ucb/XCommandEnvironment.hpp" @@ -79,6 +80,12 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC bool readLine( ::rtl::OUString * res, ::rtl::OUString const & startingWith, ::ucbhelper::Content & ucb_content, rtl_TextEncoding textenc ); +DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +bool readProperties( ::std::list< ::std::pair< ::rtl::OUString, ::rtl::OUString> > & out_result, + ::ucbhelper::Content & ucb_content); + + + } #endif diff --git a/desktop/source/deployment/manager/dp_activepackages.cxx b/desktop/source/deployment/manager/dp_activepackages.cxx index bf9071682b2e..8f6b6b82c0b7 100644 --- a/desktop/source/deployment/manager/dp_activepackages.cxx +++ b/desktop/source/deployment/manager/dp_activepackages.cxx @@ -107,10 +107,14 @@ static char const legacyPrefix[] = "org.openoffice.legacy."; } else { + sal_Int32 i4 = value.indexOf(separator, i3 + 1); d.mediaType = ::rtl::OUString( value.getStr() + i2 + 1, i3 - i2 -1, RTL_TEXTENCODING_UTF8); d.version = ::rtl::OUString( - value.getStr() + i3 + 1, value.getLength() - i3 - 1, + value.getStr() + i3 + 1, i4 - i3 - 1, + RTL_TEXTENCODING_UTF8); + d.failedPrerequisites = ::rtl::OUString( + value.getStr() + i4 + 1, value.getLength() - i4 - 1, RTL_TEXTENCODING_UTF8); } return d; @@ -188,6 +192,8 @@ void ActivePackages::put(::rtl::OUString const & id, Data const & data) { b.append(::rtl::OUStringToOString(data.mediaType, RTL_TEXTENCODING_UTF8)); b.append(separator); b.append(::rtl::OUStringToOString(data.version, RTL_TEXTENCODING_UTF8)); + b.append(separator); + b.append(::rtl::OUStringToOString(data.failedPrerequisites, RTL_TEXTENCODING_UTF8)); m_map.put(newKey(id), b.makeStringAndClear()); } diff --git a/desktop/source/deployment/manager/dp_activepackages.hxx b/desktop/source/deployment/manager/dp_activepackages.hxx index 36060d26bd02..7d9c7e32cfb4 100644 --- a/desktop/source/deployment/manager/dp_activepackages.hxx +++ b/desktop/source/deployment/manager/dp_activepackages.hxx @@ -42,6 +42,8 @@ namespace dp_manager { class ActivePackages { public: struct Data { + Data(): failedPrerequisites(::rtl::OUString::valueOf((sal_Int32)0)) + {} /* name of the temporary file (shared, user extension) or the name of the folder of the bundled extension. It does not contain the trailing '_' of the folder. @@ -55,6 +57,13 @@ public: ::rtl::OUString fileName; ::rtl::OUString mediaType; ::rtl::OUString version; + /* If this string contains the value according to + com::sun::star::deployment::Prerequisites or "0". That is, if + the value is > 0 then + the call to XPackage::checkPrerequisites failed. + In this case the extension must not be registered. + */ + ::rtl::OUString failedPrerequisites; }; typedef ::std::vector< ::std::pair< ::rtl::OUString, Data > > Entries; diff --git a/desktop/source/deployment/manager/dp_commandenvironments.cxx b/desktop/source/deployment/manager/dp_commandenvironments.cxx new file mode 100644 index 000000000000..814dc818b2a6 --- /dev/null +++ b/desktop/source/deployment/manager/dp_commandenvironments.cxx @@ -0,0 +1,255 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_desktop.hxx" + +#include "com/sun/star/deployment/VersionException.hpp" +#include "com/sun/star/deployment/LicenseException.hpp" +#include "com/sun/star/deployment/InstallException.hpp" +#include "com/sun/star/task/XInteractionApprove.hpp" +#include "com/sun/star/task/XInteractionAbort.hpp" +#include "com/sun/star/task/XInteractionHandler.hpp" +#include "com/sun/star/ucb/XCommandEnvironment.hpp" +#include "com/sun/star/uno/XComponentContext.hpp" +#include "dp_commandenvironments.hxx" + +namespace deployment = com::sun::star::deployment; +namespace lang = com::sun::star::lang; +namespace task = com::sun::star::task; +namespace ucb = com::sun::star::ucb; +namespace uno = com::sun::star::uno; +namespace css = com::sun::star; + +#define OUSTR(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) + +using ::com::sun::star::uno::Reference; +using ::rtl::OUString; + +namespace dp_manager { + +BaseCommandEnv::BaseCommandEnv() +{ +} + +BaseCommandEnv::BaseCommandEnv( + Reference< task::XInteractionHandler> const & handler) + : m_forwardHandler(handler) +{ +} + +BaseCommandEnv::~BaseCommandEnv() +{ +} +// XCommandEnvironment +//______________________________________________________________________________ +Reference BaseCommandEnv::getInteractionHandler() +throw (uno::RuntimeException) +{ + return this; +} + +//______________________________________________________________________________ +Reference BaseCommandEnv::getProgressHandler() +throw (uno::RuntimeException) +{ + return this; +} + +void BaseCommandEnv::handle( + Reference< task::XInteractionRequest> const & /*xRequest*/ ) + throw (uno::RuntimeException) +{ +} + +void BaseCommandEnv::handle_(bool approve, bool abort, + Reference< task::XInteractionRequest> const & xRequest ) +{ + if (approve == false && abort == false) + { + //not handled so far -> forwarding + if (m_forwardHandler.is()) + m_forwardHandler->handle(xRequest); + else + return; //cannot handle + } + else + { + // select: + uno::Sequence< Reference< task::XInteractionContinuation > > conts( + xRequest->getContinuations() ); + Reference< task::XInteractionContinuation > const * pConts = + conts.getConstArray(); + sal_Int32 len = conts.getLength(); + for ( sal_Int32 pos = 0; pos < len; ++pos ) + { + if (approve) { + Reference< task::XInteractionApprove > xInteractionApprove( + pConts[ pos ], uno::UNO_QUERY ); + if (xInteractionApprove.is()) { + xInteractionApprove->select(); + // don't query again for ongoing continuations: + approve = false; + } + } + else if (abort) { + Reference< task::XInteractionAbort > xInteractionAbort( + pConts[ pos ], uno::UNO_QUERY ); + if (xInteractionAbort.is()) { + xInteractionAbort->select(); + // don't query again for ongoing continuations: + abort = false; + } + } + } + } + +} + +// XProgressHandler +void BaseCommandEnv::push( uno::Any const & /*Status*/ ) +throw (uno::RuntimeException) +{ +} + + +void BaseCommandEnv::update( uno::Any const & /*Status */) +throw (uno::RuntimeException) +{ +} + +void BaseCommandEnv::pop() throw (uno::RuntimeException) +{ +} +//============================================================================== + +TmpRepositoryCommandEnv::TmpRepositoryCommandEnv() +{ +} + +TmpRepositoryCommandEnv::TmpRepositoryCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler): + BaseCommandEnv(handler) +{ +} +// XInteractionHandler +void TmpRepositoryCommandEnv::handle( + Reference< task::XInteractionRequest> const & xRequest ) + throw (uno::RuntimeException) +{ + uno::Any request( xRequest->getRequest() ); + OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION ); + + deployment::VersionException verExc; + deployment::LicenseException licExc; + deployment::InstallException instExc; + + bool approve = false; + bool abort = false; + + if ((request >>= verExc) + || (request >>= licExc) + || (request >>= instExc)) + { + approve = true; + } + + handle_(approve, abort, xRequest); +} +//================================================================================ + +LicenseCommandEnv::LicenseCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler, + bool bSuppressLicense, + OUString const & repository): + BaseCommandEnv(handler), m_repository(repository), + m_bSuppressLicense(bSuppressLicense) +{ +} +// XInteractionHandler +void LicenseCommandEnv::handle( + Reference< task::XInteractionRequest> const & xRequest ) + throw (uno::RuntimeException) +{ + uno::Any request( xRequest->getRequest() ); + OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION ); + + + deployment::LicenseException licExc; + + bool approve = false; + bool abort = false; + + if (request >>= licExc) + { + if (m_bSuppressLicense + || m_repository.equals(OUSTR("bundled")) + || licExc.AcceptBy.equals(OUSTR("admin"))) + { + //always approve in bundled case, because we do not support + //showing licenses anyway. + //The "admin" already accepted the license when installing the + // shared extension + approve = true; + } + } + + handle_(approve, abort, xRequest); +} + +//================================================================================ +//================================================================================ + +NoLicenseCommandEnv::NoLicenseCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler): + BaseCommandEnv(handler) +{ +} +// XInteractionHandler +void NoLicenseCommandEnv::handle( + Reference< task::XInteractionRequest> const & xRequest ) + throw (uno::RuntimeException) +{ + uno::Any request( xRequest->getRequest() ); + OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION ); + + + deployment::LicenseException licExc; + + bool approve = false; + bool abort = false; + + if (request >>= licExc) + { + approve = true; + } + handle_(approve, abort, xRequest); +} + +} // namespace dp_manager + + diff --git a/desktop/source/deployment/manager/dp_commandenvironments.hxx b/desktop/source/deployment/manager/dp_commandenvironments.hxx new file mode 100644 index 000000000000..ad47fd2af549 --- /dev/null +++ b/desktop/source/deployment/manager/dp_commandenvironments.hxx @@ -0,0 +1,146 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_DP_COMMANDENVIRONMENTS_HXX +#define INCLUDED_DP_COMMANDENVIRONMENTS_HXX + + +#include "cppuhelper/compbase3.hxx" +//#include "cppuhelper/implbase2.hxx" +#include "ucbhelper/content.hxx" + + + +namespace css = ::com::sun::star; + +namespace dp_manager { + + + +/** + This command environment is to be used when an extension is temporarily + stored in the "tmp" repository. It prevents all kind of user interaction. + */ +class BaseCommandEnv + : public ::cppu::WeakImplHelper3< css::ucb::XCommandEnvironment, + css::task::XInteractionHandler, + css::ucb::XProgressHandler > +{ +protected: + css::uno::Reference< css::uno::XComponentContext > m_xContext; + css::uno::Reference< css::task::XInteractionHandler> m_forwardHandler; + + void handle_(bool approve, bool abort, + css::uno::Reference< css::task::XInteractionRequest> const & xRequest ); +public: + virtual ~BaseCommandEnv(); + BaseCommandEnv(); + BaseCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler); + + // XCommandEnvironment + virtual css::uno::Reference SAL_CALL + getInteractionHandler() throw (css::uno::RuntimeException); + virtual css::uno::Reference + SAL_CALL getProgressHandler() throw (css::uno::RuntimeException); + + // XInteractionHandler + virtual void SAL_CALL handle( + css::uno::Reference const & xRequest ) + throw (css::uno::RuntimeException); + + // XProgressHandler + virtual void SAL_CALL push( css::uno::Any const & Status ) + throw (css::uno::RuntimeException); + virtual void SAL_CALL update( css::uno::Any const & Status ) + throw (css::uno::RuntimeException); + virtual void SAL_CALL pop() throw (css::uno::RuntimeException); +}; + +class TmpRepositoryCommandEnv : public BaseCommandEnv +{ +public: + TmpRepositoryCommandEnv::TmpRepositoryCommandEnv(); + TmpRepositoryCommandEnv::TmpRepositoryCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler); + +// XInteractionHandler + virtual void SAL_CALL handle( + css::uno::Reference const & xRequest ) + throw (css::uno::RuntimeException); + +}; + +/** this class is for use in XPackageManager::synchronize. + + It handles particular license cases. + */ +class LicenseCommandEnv : public BaseCommandEnv +{ +private: + ::rtl::OUString m_repository; + bool m_bSuppressLicense; +public: + LicenseCommandEnv::LicenseCommandEnv(){}; + LicenseCommandEnv::LicenseCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler, + bool bSuppressLicense, + ::rtl::OUString const & repository); + +// XInteractionHandler + virtual void SAL_CALL handle( + css::uno::Reference const & xRequest ) + throw (css::uno::RuntimeException); + +}; + +/** this class is for use in XPackageManager::checkPrerequisites + + It always prohibits a license interaction + */ +class NoLicenseCommandEnv : public BaseCommandEnv +{ + +public: + NoLicenseCommandEnv::NoLicenseCommandEnv(){}; + NoLicenseCommandEnv::NoLicenseCommandEnv( + css::uno::Reference< css::task::XInteractionHandler> const & handler); + +// XInteractionHandler + virtual void SAL_CALL handle( + css::uno::Reference const & xRequest ) + throw (css::uno::RuntimeException); + +}; + +} + + + + +#endif + diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 6e76cfb574bd..15bd9a581611 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -56,9 +56,10 @@ #include "dp_resource.h" #include "dp_ucb.h" #include "dp_identifier.hxx" - +#include "dp_descriptioninfoset.hxx" #include "dp_extensionmanager.hxx" -#include "dp_tmprepocmdenv.hxx" +#include "dp_commandenvironments.hxx" +#include "dp_properties.hxx" #include #include #include @@ -146,6 +147,25 @@ Reference ExtensionManager::createAbortChannel() return new dp_misc::AbortChannel; } +css::uno::Reference +ExtensionManager::getPackageManager(::rtl::OUString const & repository) + throw (css::lang::IllegalArgumentException) +{ + Reference xPackageManager; + if (repository.equals(OUSTR("user"))) + xPackageManager = m_userRepository; + else if (repository.equals(OUSTR("shared"))) + xPackageManager = m_sharedRepository; + else if (repository.equals(OUSTR("bundled"))) + xPackageManager = m_bundledRepository; + else + throw lang::IllegalArgumentException( + OUSTR("No valid repository name provided."), + static_cast(this), 0); + return xPackageManager; +} + + /* Enters the XPackage objects into a map. They must be all from the same repository. The value type of the map is a vector, where each vector @@ -278,37 +298,6 @@ Reference ExtensionManager::getExtensionAndStatus( return theExtension; } -/* - Determines if the user extension was disabled by the user. Currently a user - cannot disable extensions from other repositories. If an extension does not - contain any items which need to be registered then the extension cannot - actually be disabled (because it cannot be registered). In this case false is - returned. If there is no user extension then also false is returned. - */ -bool ExtensionManager::isUserExtensionDisabled( - OUString const & identifier, OUString const & fileName, - css::uno::Reference const & xAbortChannel, - css::uno::Reference const & xCmdEnv ) - -{ - bool bDisabled = false; - Reference xExtension; - try - { //will throw an exception if the extension does not exist - xExtension = m_userRepository->getDeployedPackage( - identifier, fileName, Reference()); - } catch(lang::IllegalArgumentException &) - { - } - if (xExtension.is()) - { - beans::Optional > reg = - xExtension->isRegistered(xAbortChannel, xCmdEnv); - if (reg.IsPresent && ! reg.Value.Value) - bDisabled = true; - } - return bDisabled; -} /* This method determines the active extension (XPackage.registerPackage) with a particular identifier. @@ -326,36 +315,50 @@ bool ExtensionManager::isUserExtensionDisabled( */ void ExtensionManager::activateExtension( OUString const & identifier, OUString const & fileName, - bool bUserDisabled, Reference const & xAbortChannel, Reference const & xCmdEnv ) { ::std::list > listExtensions = getExtensionsWithSameId(identifier, fileName); OSL_ASSERT(listExtensions.size() == 3); - ::std::list >::const_iterator - iext = listExtensions.begin(); - //skip disabled user extension - if (listExtensions.front().is() && bUserDisabled) - iext++; + + activateExtension( + ::comphelper::containerToSequence< + Reference, + ::std::list > + > (listExtensions), + xAbortChannel, xCmdEnv); +} + +void ExtensionManager::activateExtension( + uno::Sequence > const & seqExt, + Reference const & xAbortChannel, + Reference const & xCmdEnv ) +{ bool bActive = false; - for (; iext != listExtensions.end(); iext++) + sal_Int32 len = seqExt.getLength(); + for (sal_Int32 i = 0; i < len; i++) { - if (iext->is()) + Reference const & aExt = seqExt[i]; + if (aExt.is()) { //get the registration value of the current iteration beans::Optional > optReg = - (*iext)->isRegistered(xAbortChannel, xCmdEnv); + aExt->isRegistered(xAbortChannel, xCmdEnv); //If nothing can be registered then break if (!optReg.IsPresent) break; + //Check if this is a disabled user extension, if so then skip + if (!optReg.Value.Value && i == 0) //e.g. not registered + continue; + //If we have already determined an active extension then we must //make sure to unregister all extensions with the same id in //repositories with a lower priority if (bActive) { - (*iext)->revokePackage(xAbortChannel, xCmdEnv); + aExt->revokePackage(xAbortChannel, xCmdEnv); } else { @@ -365,7 +368,7 @@ void ExtensionManager::activateExtension( //Register if not already done. //reregister if the value is ambiguous, which indicates that //something went wrong during last registration. - (*iext)->registerPackage(xAbortChannel, xCmdEnv); + aExt->registerPackage(xAbortChannel, xCmdEnv); } } } @@ -386,8 +389,8 @@ Reference ExtensionManager::backupExtension( if (xOldExtension.is()) { xBackup = m_tmpRepository->addPackage( - xOldExtension->getURL(), OUString(), - Reference(), tmpCmdEnv); + xOldExtension->getURL(), uno::Sequence(), + OUString(), Reference(), tmpCmdEnv); OSL_ENSURE(xBackup.is(), "Failed to backup extension"); } @@ -408,7 +411,8 @@ ExtensionManager::getSupportedPackageTypes(OUString const & repository) // Only add to shared and user repository Reference ExtensionManager::addExtension( - OUString const & url, OUString const & repository, + OUString const & url, uno::Sequence const & properties, + OUString const & repository, Reference const & xAbortChannel, Reference const & xCmdEnv ) throw (deploy::DeploymentException, @@ -436,9 +440,11 @@ Reference ExtensionManager::addExtension( const OUString sFileName = xTmpExtension->getName(); const OUString sDisplayName = xTmpExtension->getDisplayName(); const OUString sVersion = xTmpExtension->getVersion(); + dp_misc::DescriptionInfoset info(dp_misc::getDescriptionInfoset(xTmpExtension->getURL())); + const ::boost::optional licenseAttributes = + info.getSimpleLicenseAttributes(); Reference xOldExtension; - bool bUserDisabled = false; Reference xExtensionBackup; uno::Any excOccurred1; @@ -450,10 +456,6 @@ Reference ExtensionManager::addExtension( //disabled by a user, then the newly installed one is enabled. If we //add to another repository then the user extension remains //disabled. - if (! repository.equals(OUSTR("user"))) - bUserDisabled = isUserExtensionDisabled( - sIdentifier, sFileName, xAbortChannel, xCmdEnv); - bool bWasRegistered = false; xOldExtension = getExtensionAndStatus( sIdentifier, sFileName, repository, xAbortChannel, @@ -474,8 +476,15 @@ Reference ExtensionManager::addExtension( checkInstall(sDisplayName, xCmdEnv); } + //Prevent showing the license if requested. + Reference _xCmdEnv(xCmdEnv); + ExtensionProperties props(OUString(), properties, Reference()); + if (licenseAttributes && licenseAttributes->suppressIfRequired + && props.isSuppressedLicense()) + _xCmdEnv = Reference(new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler())); + bCanInstall = xTmpExtension->checkPrerequisites( - xAbortChannel, xCmdEnv, xOldExtension.is(), repository); + xAbortChannel, _xCmdEnv, xOldExtension.is()) == 0 ? true : false; } catch (deploy::DeploymentException& ) { excOccurred1 = ::cppu::getCaughtException(); @@ -516,11 +525,10 @@ Reference ExtensionManager::addExtension( } xNewExtension = xPackageManager->addPackage( - url, OUString(), xAbortChannel, xCmdEnv); + url, properties, OUString(), xAbortChannel, xCmdEnv); activateExtension( dp_misc::getIdentifier(xNewExtension), - xNewExtension->getName(), bUserDisabled, - xAbortChannel, xCmdEnv); + xNewExtension->getName(), xAbortChannel, xCmdEnv); } } catch (deploy::DeploymentException& ) { @@ -560,7 +568,7 @@ Reference ExtensionManager::addExtension( tmpCmdEnv); } activateExtension( - sIdentifier, sFileName, bUserDisabled, + sIdentifier, sFileName, Reference(), tmpCmdEnv); if (xTmpExtension.is() || xExtensionBackup.is()) m_tmpRepository->removePackage( @@ -595,7 +603,7 @@ void ExtensionManager::removeExtension( uno::Any excOccurred1; Reference xExtensionBackup; Reference xPackageManager; - bool bUserDisabled = false; + try { //Determine the repository to use @@ -610,10 +618,6 @@ void ExtensionManager::removeExtension( ::osl::MutexGuard guard(m_mutex); //Backup the extension, in case the user cancels the action - - bUserDisabled = isUserExtensionDisabled( - identifier, fileName, xAbortChannel, xCmdEnv); - //Backup the extension, in case the user cancels the action xExtensionBackup = backupExtension( identifier, fileName, xPackageManager, xCmdEnv); @@ -625,8 +629,7 @@ void ExtensionManager::removeExtension( xPackageManager->removePackage( identifier, fileName, xAbortChannel, xCmdEnv); - activateExtension(identifier, fileName, bUserDisabled, - xAbortChannel, xCmdEnv); + activateExtension(identifier, fileName, xAbortChannel, xCmdEnv); } catch (deploy::DeploymentException& ) { excOccurred1 = ::cppu::getCaughtException(); @@ -661,7 +664,7 @@ void ExtensionManager::removeExtension( xExtensionBackup, Reference(), tmpCmdEnv); activateExtension( - identifier, fileName, bUserDisabled, Reference(), + identifier, fileName, Reference(), tmpCmdEnv); m_tmpRepository->removePackage( @@ -735,7 +738,7 @@ void ExtensionManager::enableExtension( { activateExtension(dp_misc::getIdentifier(extension), extension->getName(), - false, xAbortChannel, xCmdEnv); + xAbortChannel, xCmdEnv); } catch (deploy::DeploymentException& ) { excOccurred = ::cppu::getCaughtException(); @@ -762,7 +765,7 @@ void ExtensionManager::enableExtension( extension->revokePackage(Reference(), xCmdEnv); activateExtension(dp_misc::getIdentifier(extension), extension->getName(), - true, xAbortChannel, xCmdEnv); + xAbortChannel, xCmdEnv); } catch (...) { @@ -771,6 +774,56 @@ void ExtensionManager::enableExtension( } } +/** + */ +long ExtensionManager::checkPrerequisitesAndEnable( + Reference const & extension, + Reference const & xAbortChannel, + Reference const & xCmdEnv) + throw (deploy::DeploymentException, + ucb::CommandFailedException, + ucb::CommandAbortedException, + lang::IllegalArgumentException, + uno::RuntimeException) +{ + try + { + if (!extension.is()) + return 0; + ::osl::MutexGuard guard(m_mutex); + sal_Int32 ret = 0; + Reference mgr = + getPackageManager(extension->getRepositoryName()); + ret = mgr->checkPrerequisites(extension, xAbortChannel, xCmdEnv); + if (ret) + { + //There are some unfulfilled prerequisites, try to revoke + extension->revokePackage(xAbortChannel, xCmdEnv); + } + activateExtension(dp_misc::getIdentifier(extension), + extension->getName(), xAbortChannel, xCmdEnv); + return ret; + } + catch (deploy::DeploymentException& ) { + throw; + } catch (ucb::CommandFailedException & ) { + throw; + } catch (ucb::CommandAbortedException & ) { + throw; + } catch (lang::IllegalArgumentException &) { + throw; + } catch (uno::RuntimeException &) { + throw; + } catch (...) { + uno::Any excOccurred = ::cppu::getCaughtException(); + deploy::DeploymentException exc( + OUSTR("Extension Manager: exception during disableExtension"), + static_cast(this), excOccurred); + throw exc; + } +} + + void ExtensionManager::disableExtension( Reference const & extension, Reference const & xAbortChannel, @@ -806,7 +859,7 @@ void ExtensionManager::disableExtension( extension->revokePackage(xAbortChannel, xCmdEnv); activateExtension(dp_misc::getIdentifier(extension), extension->getName(), - true, xAbortChannel, xCmdEnv); + xAbortChannel, xCmdEnv); } catch (deploy::DeploymentException& ) { excOccurred = ::cppu::getCaughtException(); @@ -832,7 +885,7 @@ void ExtensionManager::disableExtension( { activateExtension(dp_misc::getIdentifier(extension), extension->getName(), - false, xAbortChannel, xCmdEnv); + xAbortChannel, xCmdEnv); } catch (...) { @@ -852,26 +905,8 @@ uno::Sequence< Reference > lang::IllegalArgumentException, uno::RuntimeException) { - if (repository.equals(OUSTR("user"))) - { - return m_userRepository->getDeployedPackages( - xAbort, xCmdEnv); - } - else if (repository.equals(OUSTR("shared"))) - { - return m_sharedRepository->getDeployedPackages( - xAbort, xCmdEnv); - } - else if (repository.equals(OUSTR("bundled"))) - { - return m_bundledRepository->getDeployedPackages( - xAbort, xCmdEnv); - } - else - throw lang::IllegalArgumentException( - OUSTR("No valid repository name provided."), - static_cast(this), 0); - + return getPackageManager(repository)->getDeployedPackages( + xAbort, xCmdEnv); } Reference @@ -885,25 +920,8 @@ Reference lang::IllegalArgumentException, uno::RuntimeException) { - if (repository.equals(OUSTR("user"))) - { - return m_userRepository->getDeployedPackage( - identifier, filename, xCmdEnv); - } - else if (repository.equals(OUSTR("shared"))) - { - return m_sharedRepository->getDeployedPackage( - identifier, filename, xCmdEnv); - } - else if (repository.equals(OUSTR("bundled"))) - { - return m_bundledRepository->getDeployedPackage( - identifier, filename, xCmdEnv); - } - else - throw lang::IllegalArgumentException( - OUSTR("No valid repository name provided."), - static_cast(this), 0); + return getPackageManager(repository)->getDeployedPackage( + identifier, filename, xCmdEnv); } uno::Sequence< uno::Sequence > > @@ -978,17 +996,8 @@ void ExtensionManager::reinstallDeployedExtensions( { try { - Reference xPackageManager; - if (repository.equals(OUSTR("user"))) - xPackageManager = m_userRepository; - else if (repository.equals(OUSTR("shared"))) - xPackageManager = m_sharedRepository; - else if (repository.equals(OUSTR("bundled"))) - xPackageManager = m_bundledRepository; - else - throw lang::IllegalArgumentException( - OUSTR("No valid repository name provided."), - static_cast(this), 0); + Reference + xPackageManager = getPackageManager(repository); ::osl::MutexGuard guard(m_mutex); xPackageManager->reinstallDeployedPackages(xAbortChannel, xCmdEnv); @@ -1002,10 +1011,7 @@ void ExtensionManager::reinstallDeployedExtensions( const OUString id = dp_misc::getIdentifier(extensions[ pos ]); const OUString fileName = extensions[ pos ]->getName(); OSL_ASSERT(id.getLength()); - activateExtension( - id, fileName, - isUserExtensionDisabled(id, fileName, xAbortChannel, xCmdEnv), - xAbortChannel, xCmdEnv ); + activateExtension(id, fileName, xAbortChannel, xCmdEnv ); } catch (lang::DisposedException &) { @@ -1067,57 +1073,34 @@ void ExtensionManager::synchronize( static_cast(this), 0); ::osl::MutexGuard guard(m_mutex); - uno::Sequence > seqAddedExtensions; - uno::Sequence > seqRemovedExtensions; - xPackageManager->synchronize(seqAddedExtensions, seqRemovedExtensions, - xAbortChannel, xCmdEnv); - - //ToDo: optimize, only call activateExtension once per id. - //Determine which of the extensions was disabled by the user - //iterate of both sequences and add the ids of the user disabled - //to a map - for (sal_Int32 i = 0; i < seqRemovedExtensions.getLength(); i++) + + dp_misc::ProgressLevel progress( + xCmdEnv, OUSTR("Synchronizing ") + repository + OUSTR(" repository\n")); + xPackageManager->synchronize(xAbortChannel, xCmdEnv); + + + try { - try - { - Reference const & xExtension = seqRemovedExtensions[i]; - OSL_ASSERT(xExtension.is()); - const OUString id = dp_misc::getIdentifier(xExtension); - const OUString fileName = xExtension->getName(); - - bool bUserDisabled = isUserExtensionDisabled( - id, xExtension->getName(), xAbortChannel, xCmdEnv); - xExtension->revokePackage(xAbortChannel, xCmdEnv); - xPackageManager->removePackage( - id, fileName, xAbortChannel, xCmdEnv); - activateExtension( - id, fileName, /*bUserDisabled*/ false, xAbortChannel, xCmdEnv); - } - catch (...) + const uno::Sequence > > + seqSeqExt = getAllExtensions(xAbortChannel, xCmdEnv); + for (sal_Int32 i = 0; i < seqSeqExt.getLength(); i++) { - OSL_ENSURE(0, "Extensions Manager: synchronize"); + uno::Sequence > const & seqExt = + seqSeqExt[i]; + + activateExtension(seqExt, xAbortChannel, xCmdEnv); } } - - for (sal_Int32 i = 0; i < seqAddedExtensions.getLength(); i++) + catch (...) { - try - { - Reference const & xExtension = seqAddedExtensions[i]; - OSL_ASSERT(xExtension.is()); - const OUString id = dp_misc::getIdentifier(xExtension); - const OUString fileName = xExtension->getName(); - bool bUserDisabled = isUserExtensionDisabled( - id, fileName, xAbortChannel, xCmdEnv); - activateExtension( - id, fileName, bUserDisabled, xAbortChannel, xCmdEnv); - } - catch (...) - { - OSL_ENSURE(0, "Extensions Manager: synchronize"); - } + //We catch the exception, so we can write the lastmodified file + //so we will no repeat this everytime OOo starts. + OSL_ENSURE(0, "Extensions Manager: synchronize"); } + + progress.update(OUSTR("\n\n")); + //Write the lastmodified file try { ::rtl::Bootstrap::expandMacros(file); @@ -1231,7 +1214,7 @@ Reference ExtensionManager::getTempExtension( { Reference tmpCmdEnvA(new TmpRepositoryCommandEnv()); Reference xTmpPackage = m_tmpRepository->addPackage( - url, OUString(), xAbortChannel, tmpCmdEnvA); + url, uno::Sequence(),OUString(), xAbortChannel, tmpCmdEnvA); if (!xTmpPackage.is()) { @@ -1242,6 +1225,20 @@ Reference ExtensionManager::getTempExtension( } return xTmpPackage; } + +uno::Sequence > SAL_CALL +ExtensionManager::getExtensionsWithUnacceptedLicenses( + OUString const & repository, + Reference const & xCmdEnv) + throw (deploy::DeploymentException, + uno::RuntimeException) +{ + Reference + xPackageManager = getPackageManager(repository); + ::osl::MutexGuard guard(m_mutex); + return xPackageManager->getExtensionsWithUnacceptedLicenses(xCmdEnv); +} + //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index 386e2a7ceffd..bafa97c24944 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -106,7 +106,9 @@ public: createAbortChannel() throw (css::uno::RuntimeException); virtual css::uno::Reference SAL_CALL addExtension( - ::rtl::OUString const & url, ::rtl::OUString const & repository, + ::rtl::OUString const & url, + css::uno::Sequence const & properties, + ::rtl::OUString const & repository, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, @@ -147,6 +149,18 @@ public: css::lang::IllegalArgumentException, css::uno::RuntimeException); + + virtual long SAL_CALL checkPrerequisitesAndEnable( + css::uno::Reference const & extension, + css::uno::Reference const & xAbortChannel, + css::uno::Reference const & xCmdEnv ) + throw (css::deployment::DeploymentException, + css::ucb::CommandFailedException, + css::ucb::CommandAbortedException, + css::lang::IllegalArgumentException, + css::uno::RuntimeException); + + virtual css::uno::Sequence< css::uno::Reference > SAL_CALL getDeployedExtensions( ::rtl::OUString const & repository, @@ -202,6 +216,13 @@ public: css::lang::IllegalArgumentException, css::uno::RuntimeException); + virtual css::uno::Sequence > SAL_CALL + getExtensionsWithUnacceptedLicenses( + ::rtl::OUString const & repository, + css::uno::Reference const & xCmdEnv) + throw (css::deployment::DeploymentException, + css::uno::RuntimeException); + private: struct ExtensionInfos @@ -233,18 +254,16 @@ private: css::uno::Reference const & xCmdEnv, bool & out_bWasRegistered); - bool isUserExtensionDisabled( + void activateExtension( ::rtl::OUString const & identifier, ::rtl::OUString const & fileName, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); void activateExtension( - ::rtl::OUString const & identifier, - ::rtl::OUString const & fileName, - bool bUserDisabled, - css::uno::Reference const & xAbortChannel, - css::uno::Reference const & xCmdEnv); + css::uno::Sequence > const & seqExt, + css::uno::Reference const & xAbortChannel, + css::uno::Reference const & xCmdEnv ); ::std::list > @@ -276,6 +295,10 @@ private: id2extensions & mapExt, css::uno::Sequence > const & seqExt, ::rtl::OUString const & repository); + + css::uno::Reference + getPackageManager(::rtl::OUString const & repository) + throw (css::lang::IllegalArgumentException); }; } diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index e2580e7b955b..0464d0de62d5 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -58,6 +58,7 @@ #include "com/sun/star/ucb/NameClash.hpp" #include "com/sun/star/deployment/VersionException.hpp" #include "com/sun/star/deployment/InstallException.hpp" +#include "com/sun/star/deployment/Prerequisites.hpp" #include "com/sun/star/task/XInteractionApprove.hpp" #include "com/sun/star/ucb/UnsupportedCommandException.hpp" #include "boost/bind.hpp" @@ -67,7 +68,8 @@ #include #include #include "dp_descriptioninfoset.hxx" - +#include "dp_commandenvironments.hxx" +#include "dp_properties.hxx" using namespace ::dp_misc; using namespace ::com::sun::star; @@ -97,19 +99,6 @@ struct MatchTempDir } }; -struct MatchExtension -{ - const ActivePackages::Data m_data; - MatchExtension(ActivePackages::Data const & data ) : m_data(data) {} - bool operator () ( OUString const & temporaryName ) const; -}; - -bool MatchExtension::operator () (OUString const & temporaryName) const -{ - //case 1: The temporary file and thus the extension folder are already - //removed. - return m_data.temporaryName.equals(temporaryName); -} namespace { OUString getExtensionFolder(OUString const & parentFolder, @@ -131,23 +120,6 @@ OUString getExtensionFolder(OUString const & parentFolder, } return title; } -/* adds an unencoded segment to the URL. - - Throws an com.sun.star.uno.Exception if this failed. -*/ -OUString appendURLSegement(OUString const & baseURL, OUString const & segment) -{ - OUString url; - INetURLObject inet(baseURL); - if (inet.insertName( - segment, false, INetURLObject::LAST_SEGMENT, true, - INetURLObject::ENCODE_ALL)) - url = inet.GetMainURL(INetURLObject::NO_DECODE); - else - throw Exception( - OUSTR("ExtensionManager: failed to add segment to URL"), 0); - return url; -} } //______________________________________________________________________________ void PackageManagerImpl::initActivationLayer( @@ -193,7 +165,8 @@ void PackageManagerImpl::initActivationLayer( { ActivePackages::Data dbData; insertToActivationLayer( - mediaType, sourceContent, title, &dbData ); + Sequence(),mediaType, sourceContent, + title, &dbData ); insertToActivationLayerDB( title, dbData ); //TODO #i73136#: insertToActivationLayerDB needs id not @@ -293,7 +266,7 @@ void PackageManagerImpl::initActivationLayer( //Make sure only the same user removes the extension, who //previously unregistered it. This is avoid races if multiple instances //of OOo are running which all have write access to the shared installation. - //For example, user a uses extension a, removes the extension, but keeps OOo + //For example, a user removes the extension, but keeps OOo //running. Parts of the extension may still be loaded and used by OOo. //Therefore the extension is only deleted the next time the extension manager is //run after restarting OOo. While OOo is still running, another user starts OOo @@ -637,6 +610,7 @@ OUString PackageManagerImpl::detectMediaType( //______________________________________________________________________________ OUString PackageManagerImpl::insertToActivationLayer( + Sequence const & properties, OUString const & mediaType, ::ucbhelper::Content const & sourceContent_, OUString const & title, ActivePackages::Data * dbData ) { @@ -702,13 +676,17 @@ OUString PackageManagerImpl::insertToActivationLayer( //bundled extensions should only be added by the synchronizeAddedExtensions //functions. Moreover, there is no "temporary folder" for bundled extensions. OSL_ASSERT(!m_context.equals(OUSTR("bundled"))); + OUString sFolderUrl = makeURLAppendSysPathSegment(destFolderContent.getURL(), title); DescriptionInfoset info = - dp_misc::getDescriptionInfoset( - appendURLSegement(destFolderContent.getURL(), title)); + dp_misc::getDescriptionInfoset(sFolderUrl); dbData->temporaryName = tempEntry; dbData->fileName = title; dbData->mediaType = mediaType; dbData->version = info.getVersion(); + + //No write the properties file next to the extension + ExtensionProperties props(sFolderUrl, properties, xCmdEnv); + props.write(); return destFolder; } @@ -716,6 +694,8 @@ OUString PackageManagerImpl::insertToActivationLayer( void PackageManagerImpl::insertToActivationLayerDB( OUString const & id, ActivePackages::Data const & dbData ) { + //access to the database must be guarded. See removePackage + const ::osl::MutexGuard guard( getMutex() ); m_activePackagesDB->put( id, dbData ); } @@ -746,14 +726,17 @@ Reference PackageManagerImpl::importExtension( CommandAbortedException, lang::IllegalArgumentException, RuntimeException) { - return addPackage(extension->getURL(), OUString(), xAbortChannel, xCmdEnv_); + return addPackage(extension->getURL(), Sequence(), + OUString(), xAbortChannel, xCmdEnv_); } /* The function adds an extension but does not register it!!! It may not do any user interaction. This is done in XExtensionManager::addExtension */ Reference PackageManagerImpl::addPackage( - OUString const & url, OUString const & mediaType_, + OUString const & url, + css::uno::Sequence const & properties, + OUString const & mediaType_, Reference const & xAbortChannel, Reference const & xCmdEnv_ ) throw (deployment::DeploymentException, CommandFailedException, @@ -826,7 +809,7 @@ Reference PackageManagerImpl::addPackage( } ActivePackages::Data dbData; destFolder = insertToActivationLayer( - mediaType, sourceContent, title, &dbData ); + properties, mediaType, sourceContent, title, &dbData ); // bind activation package: @@ -859,10 +842,7 @@ Reference PackageManagerImpl::addPackage( xCmdEnv); } install = true; - const ::osl::MutexGuard guard( getMutex() ); - //access to the database must be guarded. See removePackage_ insertToActivationLayerDB(id, dbData); - } catch (...) { @@ -1062,8 +1042,13 @@ Reference PackageManagerImpl::getDeployedPackage_( Reference xExtension; try { - xExtension = m_xRegistry->bindPackage( - getDeployPath( data ), data.mediaType, false, OUString(), xCmdEnv ); + //Ignore extensions where XPackage::checkPrerequisites failed. + //They must not be usable for this user. + if (data.failedPrerequisites.equals(OUSTR("0"))) + { + xExtension = m_xRegistry->bindPackage( + getDeployPath( data ), data.mediaType, false, OUString(), xCmdEnv ); + } } catch (deployment::InvalidRemovedParameterException& e) { @@ -1083,6 +1068,8 @@ PackageManagerImpl::getDeployedPackages_( ActivePackages::Entries::const_iterator const iEnd( id2temp.end() ); for ( ; iPos != iEnd; ++iPos ) { + if (! iPos->second.failedPrerequisites.equals(OUSTR("0"))) + continue; try { packages.push_back( getDeployedPackage_( @@ -1265,8 +1252,7 @@ void PackageManagerImpl::reinstallDeployedPackages( return m_readOnly; } void PackageManagerImpl::synchronizeRemovedExtensions( - Sequence > & out_removedExtensions, - Reference const & /*xAbortChannel*/, + Reference const & xAbortChannel, Reference const & xCmdEnv) { @@ -1275,64 +1261,38 @@ void PackageManagerImpl::synchronizeRemovedExtensions( OSL_ASSERT(!m_context.equals(OUSTR("user"))); ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); - //Iterate over the contents of the extension folder and gather the - //temp file names (shared) or the folder names of the bundled extension. - ::ucbhelper::ResultSetInclude includeType = ::ucbhelper::INCLUDE_DOCUMENTS_ONLY; - if (m_context.equals(OUSTR("bundled"))) - includeType = ::ucbhelper::INCLUDE_FOLDERS_ONLY; - ::ucbhelper::Content tempFolder( - m_activePackages_expanded, xCmdEnv ); - Reference xResultSet( - tempFolder.createCursor( - Sequence( &StrTitle::get(), 1 ), includeType) ); - // get all temp directories: - ::std::vector tempEntries; - while (xResultSet->next()) { - OUString title( - Reference( - xResultSet, UNO_QUERY_THROW )->getString( - 1 /* Title */ ) ); - //also add the xxx.tmpremoved files for remove shared extensions - //this does not matter - tempEntries.push_back( ::rtl::Uri::encode( - title, rtl_UriCharClassPchar, - rtl_UriEncodeIgnoreEscapes, - RTL_TEXTENCODING_UTF8 ) ); - } - typedef ActivePackages::Entries::const_iterator ITActive; bool bShared = m_context.equals(OUSTR("shared")); - ::std::vector > removedExtensions; + for (ITActive i = id2temp.begin(); i != id2temp.end(); i++) { - //Get the URL to the extensions folder, first make the url for the - //shared repository including the temporary name -// OUString url(m_activePackages_expanded + OUSTR("/") -// + i->second.temporaryName); -// if (bShared) -// url = appendURLSegement(m_activePackages_expanded + OUSTR("/") -// + i->second.temporaryName + OUSTR("_"), -// i->second.fileName); - OUString url = makeURL(m_activePackages, i->second.temporaryName); - if (bShared) - url = makeURLAppendSysPathSegment( url + OUSTR("_"), i->second.fileName); - - const MatchExtension match(i->second); - bool bRemoved = false; - if (::std::find_if(tempEntries.begin(), tempEntries.end(), match) == - tempEntries.end()) - { - //The the URL from the data base entry does not exist anymore. That is the - //folder was removed. - bRemoved = true; - } - else + try { + //Get the URL to the extensions folder, first make the url for the + //shared repository including the temporary name + OUString url = makeURL(m_activePackages, i->second.temporaryName); + if (bShared) + url = makeURLAppendSysPathSegment( url + OUSTR("_"), i->second.fileName); + + bool bRemoved = false; + //Check if the URL to the extension is still the same + ::ucbhelper::Content contentExtension; + + if (!create_ucb_content( + &contentExtension, url, + Reference(), false)) + { + bRemoved = true; + } + //The folder is in the extension database, but it can still be deleted. //look for the xxx.tmpremoved file - if (bShared) + //There can also be the case that a different extension was installed + //in a "temp" folder with name that is already used. + if (!bRemoved && bShared) { ::ucbhelper::Content contentRemoved; + if (create_ucb_content( &contentRemoved, m_activePackages_expanded + OUSTR("/") + @@ -1342,6 +1302,7 @@ void PackageManagerImpl::synchronizeRemovedExtensions( bRemoved = true; } } + if (!bRemoved) { //There may be another extensions at the same place @@ -1353,26 +1314,32 @@ void PackageManagerImpl::synchronizeRemovedExtensions( if (infoset.hasDescription() && infoset.getIdentifier() && (! i->first.equals(*(infoset.getIdentifier())) - || ! i->second.version.equals(infoset.getVersion()))) + || ! i->second.version.equals(infoset.getVersion()))) { bRemoved = true; } + + } + if (bRemoved) + { + Reference xPackage = m_xRegistry->bindPackage( + url, i->second.mediaType, true, i->first, xCmdEnv ); + OSL_ASSERT(xPackage.is()); //Even if the files are removed, we must get the object. + xPackage->revokePackage(xAbortChannel, xCmdEnv); + removePackage(xPackage->getIdentifier().Value, xPackage->getName(), + xAbortChannel, xCmdEnv); } } - if (bRemoved) + catch( uno::Exception & ) { - Reference xPackage = m_xRegistry->bindPackage( - url, i->second.mediaType, true, i->first, xCmdEnv ); - OSL_ASSERT(xPackage.is()); //Even if the files are removed, we must get the object. - removedExtensions.push_back(xPackage); + OSL_ASSERT(0); } } - out_removedExtensions = ::comphelper::containerToSequence(removedExtensions); } + void PackageManagerImpl::synchronizeAddedExtensions( - Sequence > & out_addedExtensions, - Reference const & xAbortChannel, + Reference const & xAbortChannel, Reference const & xCmdEnv) { // clean up activation layer, scan for zombie temp dirs: @@ -1385,65 +1352,58 @@ void PackageManagerImpl::synchronizeAddedExtensions( Sequence( &StrTitle::get(), 1 ), ::ucbhelper::INCLUDE_FOLDERS_ONLY ) ); - - ::std::vector > addedExtensions; while (xResultSet->next()) { - OUString title( - Reference( - xResultSet, UNO_QUERY_THROW )->getString( - 1 /* Title */ ) ); - //The temporary folders of user and shared have an '_' at then end. - //But the name in ActivePackages.temporaryName is saved without. - OUString title2 = title; - bool bNotBundled = !m_context.equals(OUSTR("bundled")); - if (bNotBundled) + try { - OSL_ASSERT(title2[title2.getLength() -1] == '_'); - title2 = title2.copy(0, title2.getLength() -1); - } - OUString titleEncoded = ::rtl::Uri::encode( + OUString title( + Reference( + xResultSet, UNO_QUERY_THROW )->getString( + 1 /* Title */ ) ); + //The temporary folders of user and shared have an '_' at then end. + //But the name in ActivePackages.temporaryName is saved without. + OUString title2 = title; + bool bNotBundled = !m_context.equals(OUSTR("bundled")); + if (bNotBundled) + { + OSL_ASSERT(title2[title2.getLength() -1] == '_'); + title2 = title2.copy(0, title2.getLength() -1); + } + OUString titleEncoded = ::rtl::Uri::encode( title2, rtl_UriCharClassPchar, rtl_UriEncodeIgnoreEscapes, RTL_TEXTENCODING_UTF8); - const MatchTempDir match(titleEncoded); - if (::std::find_if( id2temp.begin(), id2temp.end(), match ) == - id2temp.end()) - { - - // The folder was not found in the data base, so it must be - // an added extension - OUString url(m_activePackages_expanded + OUSTR("/") + titleEncoded); - OUString sExtFolder; - if (bNotBundled) //that is, shared + const MatchTempDir match(titleEncoded); + if (::std::find_if( id2temp.begin(), id2temp.end(), match ) == + id2temp.end()) { - //Check if the extension was not "deleted" already which is indicated - //by a xxx.tmpremoved file - ::ucbhelper::Content contentRemoved; - if (create_ucb_content(&contentRemoved, url + OUSTR("removed"), - Reference(), false)) - continue; - sExtFolder = getExtensionFolder( - m_activePackages_expanded + + + // The folder was not found in the data base, so it must be + // an added extension + OUString url(m_activePackages_expanded + OUSTR("/") + titleEncoded); + OUString sExtFolder; + if (bNotBundled) //that is, shared + { + //Check if the extension was not "deleted" already which is indicated + //by a xxx.tmpremoved file + ::ucbhelper::Content contentRemoved; + if (create_ucb_content(&contentRemoved, url + OUSTR("removed"), + Reference(), false)) + continue; + sExtFolder = getExtensionFolder( + m_activePackages_expanded + OUString(OUSTR("/")) + titleEncoded + OUSTR("_"), xCmdEnv); - url = appendURLSegement(m_activePackages_expanded, title); - url = appendURLSegement(url, sExtFolder); - } - Reference xPackage = m_xRegistry->bindPackage( - url, OUString(), false, OUString(), xCmdEnv ); - if (xPackage.is()) - { - try + url = makeURLAppendSysPathSegment(m_activePackages_expanded, title); + url = makeURLAppendSysPathSegment(url, sExtFolder); + } + Reference xPackage = m_xRegistry->bindPackage( + url, OUString(), false, OUString(), xCmdEnv ); + if (xPackage.is()) { - //ToDo: We need to prevent that removed shared extensions are - //added again. This can happen if there is still the folder of the - //extension. However, there is the "removed" flag file which indicates - //that the extension was removed. //Prepare the database entry ActivePackages::Data dbData; - //There is no temporary folder for bundled extensions. It is therefore - //an empty string. + dbData.temporaryName = titleEncoded; if (bNotBundled) dbData.fileName = sExtFolder; @@ -1456,35 +1416,45 @@ void PackageManagerImpl::synchronizeAddedExtensions( "an identifier and a version"); OUString id = dp_misc::getIdentifier( xPackage ); - sal_Bool bAlreadyInstalled = sal_False; - if (xPackage->checkPrerequisites( - xAbortChannel, xCmdEnv, bAlreadyInstalled, m_context)) - { - const ::osl::MutexGuard guard( getMutex() ); - //access to the database must be guarded. See removePackage_ - insertToActivationLayerDB(id, dbData); - } - else - { - //ToDo: Remember that this failed. For example, the user - //could have declined the license. Then the next time the - //extension folder is investigated we do not want to - //try to install the extension again. - } - addedExtensions.push_back(xPackage); - } - catch (...) - { + + //We provide a special command environment that will prevent + //showing a license if simple-licens/@accept-by = "admin" + //It will also prevent showing the license for bundled extensions + //which is not supported. + OSL_ASSERT(!m_context.equals(OUSTR("user"))); + + // shall the license be suppressed? + DescriptionInfoset info = + dp_misc::getDescriptionInfoset(url); + ::boost::optional + attr = info.getSimpleLicenseAttributes(); + ExtensionProperties props(url,xCmdEnv); + bool bNoLicense = false; + if (attr && attr->suppressIfRequired && props.isSuppressedLicense()) + bNoLicense = true; + + Reference licCmdEnv( + new LicenseCommandEnv(xCmdEnv->getInteractionHandler(), + bNoLicense, m_context)); + sal_Int32 failedPrereq = xPackage->checkPrerequisites( + xAbortChannel, licCmdEnv, false); + //Remember that this failed. For example, the user + //could have declined the license. Then the next time the + //extension folder is investigated we do not want to + //try to install the extension again. + dbData.failedPrerequisites = OUString::valueOf(failedPrereq); + insertToActivationLayerDB(id, dbData); } } } + catch (uno::Exception &) + { + OSL_ASSERT(0); + } } - out_addedExtensions = ::comphelper::containerToSequence(addedExtensions); } void PackageManagerImpl::synchronize( - Sequence > & out_addedExtensions, - Sequence > & out_removedExtensions, Reference const & xAbortChannel, Reference const & xCmdEnv) throw (css::deployment::DeploymentException, @@ -1496,12 +1466,129 @@ void PackageManagerImpl::synchronize( check(); if (m_context.equals(OUSTR("user"))) return; - synchronizeRemovedExtensions( - out_removedExtensions, xAbortChannel, xCmdEnv); - synchronizeAddedExtensions( - out_addedExtensions, xAbortChannel, xCmdEnv); + synchronizeRemovedExtensions(xAbortChannel, xCmdEnv); + synchronizeAddedExtensions(xAbortChannel, xCmdEnv); +} + +Sequence< Reference > PackageManagerImpl::getExtensionsWithUnacceptedLicenses( + Reference const & xCmdEnv) + throw (deployment::DeploymentException, RuntimeException) +{ + try + { + const ::osl::MutexGuard guard( getMutex() ); + // clean up activation layer, scan for zombie temp dirs: + ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); + + ActivePackages::Entries::const_iterator i = id2temp.begin(); + bool bShared = m_context.equals(OUSTR("shared")); + ::std::vector > vec; + + + for (; i != id2temp.end(); i++ ) + { + //Get the database entry + ActivePackages::Data const & dbData = i->second; + sal_Int32 failedPrereq = dbData.failedPrerequisites.toInt32(); + //If the installation failed for other reason then the license then we + //ignore it. + if (failedPrereq ^= deployment::Prerequisites::LICENSE) + continue; + + //Prepare the URL to the extension + OUString url = makeURL(m_activePackages, i->second.temporaryName); + if (bShared) + url = makeURLAppendSysPathSegment( url + OUSTR("_"), i->second.fileName); + + Reference p = m_xRegistry->bindPackage( + url, OUString(), false, OUString(), xCmdEnv ); + + if (p.is()) + vec.push_back(p); + + } + return ::comphelper::containerToSequence(vec); + } + catch (deployment::DeploymentException &) + { + throw; + } + catch (RuntimeException&) + { + throw; + } + catch (...) + { + Any exc = ::cppu::getCaughtException(); + deployment::DeploymentException de( + OUSTR("PackageManagerImpl::getExtensionsWithUnacceptedLicenses"), + static_cast(this), exc); + exc <<= de; + ::cppu::throwException(exc); + } } +sal_Int32 PackageManagerImpl::checkPrerequisites( + css::uno::Reference const & extension, + css::uno::Reference const & xAbortChannel, + css::uno::Reference const & xCmdEnv ) + throw (css::deployment::DeploymentException, + css::ucb::CommandFailedException, + css::ucb::CommandAbortedException, + css::lang::IllegalArgumentException, + css::uno::RuntimeException) +{ + try + { + if (!extension.is()) + return 0; + if (!m_context.equals(extension->getRepositoryName())) + throw lang::IllegalArgumentException( + OUSTR("PackageManagerImpl::checkPrerequisites: extension is not" + " from this repository."), 0, 0); + + ActivePackages::Data dbData; + OUString id = dp_misc::getIdentifier(extension); + if (m_activePackagesDB->get( &dbData, id, OUString())) + { + //If the license was already displayed, then do not show it again + Reference _xCmdEnv = xCmdEnv; + sal_Int32 prereq = dbData.failedPrerequisites.toInt32(); + if ( !(prereq & deployment::Prerequisites::LICENSE)) + _xCmdEnv = new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler()); + + sal_Int32 failedPrereq = extension->checkPrerequisites( + xAbortChannel, _xCmdEnv, false); + dbData.failedPrerequisites = OUString::valueOf(failedPrereq); + insertToActivationLayerDB(id, dbData); + } + else + { + throw lang::IllegalArgumentException( + OUSTR("PackageManagerImpl::checkPrerequisites: unknown extension"), + 0, 0); + + } + return 0; + } + catch (deployment::DeploymentException& ) { + throw; + } catch (ucb::CommandFailedException & ) { + throw; + } catch (ucb::CommandAbortedException & ) { + throw; + } catch (lang::IllegalArgumentException &) { + throw; + } catch (uno::RuntimeException &) { + throw; + } catch (...) { + uno::Any excOccurred = ::cppu::getCaughtException(); + deployment::DeploymentException exc( + OUSTR("PackageManagerImpl::checkPrerequisites: exception "), + static_cast(this), excOccurred); + throw exc; + } +} //############################################################################## diff --git a/desktop/source/deployment/manager/dp_manager.h b/desktop/source/deployment/manager/dp_manager.h index 1249fe7e29d4..2e13c56ae968 100644 --- a/desktop/source/deployment/manager/dp_manager.h +++ b/desktop/source/deployment/manager/dp_manager.h @@ -75,6 +75,7 @@ class PackageManagerImpl : private ::dp_misc::MutexHolder, public t_pm_helper ::rtl::OUString detectMediaType( ::ucbhelper::Content const & ucbContent, bool throw_exc = true ); ::rtl::OUString insertToActivationLayer( + css::uno::Sequence const & properties, ::rtl::OUString const & mediaType, ::ucbhelper::Content const & sourceContent, ::rtl::OUString const & title, ActivePackages::Data * dbData ); @@ -89,14 +90,10 @@ class PackageManagerImpl : private ::dp_misc::MutexHolder, public t_pm_helper css::uno::Reference const & package); void synchronizeRemovedExtensions( - css::uno::Sequence > & - out_removedExtensions, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); void synchronizeAddedExtensions( - css::uno::Sequence > & - out_AddedExtensions, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); @@ -177,7 +174,9 @@ public: createAbortChannel() throw (css::uno::RuntimeException); virtual css::uno::Reference SAL_CALL addPackage( - ::rtl::OUString const & url, ::rtl::OUString const & mediaType, + ::rtl::OUString const & url, + css::uno::Sequence const & properties, + ::rtl::OUString const & mediaType, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, @@ -248,8 +247,6 @@ public: throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL synchronize( - css::uno::Sequence > & out_xAddedExtensions, - css::uno::Sequence > & out_xRemovedExtensions, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, @@ -257,7 +254,22 @@ public: css::ucb::CommandAbortedException, css::uno::RuntimeException); -}; + virtual css::uno::Sequence > SAL_CALL + getExtensionsWithUnacceptedLicenses( + css::uno::Reference const & xCmdEnv) + throw (css::deployment::DeploymentException, + css::uno::RuntimeException); + + virtual sal_Int32 SAL_CALL checkPrerequisites( + css::uno::Reference const & extension, + css::uno::Reference const & xAbortChannel, + css::uno::Reference const & xCmdEnv ) + throw (css::deployment::DeploymentException, + css::ucb::CommandFailedException, + css::ucb::CommandAbortedException, + css::lang::IllegalArgumentException, + css::uno::RuntimeException); + }; //______________________________________________________________________________ inline void PackageManagerImpl::check() diff --git a/desktop/source/deployment/manager/dp_properties.cxx b/desktop/source/deployment/manager/dp_properties.cxx new file mode 100644 index 000000000000..b04e8131ee15 --- /dev/null +++ b/desktop/source/deployment/manager/dp_properties.cxx @@ -0,0 +1,147 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_desktop.hxx" + +#include "com/sun/star/ucb/XCommandEnvironment.hpp" +#include "com/sun/star/lang/IllegalArgumentException.hpp" +#include "xmlscript/xml_helper.hxx" +#include "ucbhelper/content.hxx" +#include + +#include "dp_ucb.h" +#include "rtl/ustrbuf.hxx" +#include "dp_properties.hxx" + +namespace lang = com::sun::star::lang; +namespace task = com::sun::star::task; +namespace ucb = com::sun::star::ucb; +namespace uno = com::sun::star::uno; +namespace css = com::sun::star; + +#define OUSTR(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) + +using ::com::sun::star::uno::Reference; +using ::rtl::OUString; + +#define PROP_SUPPRESS_LICENSE "SUPPRESS_LICENSE" +namespace dp_manager { + +//Reading the file +ExtensionProperties::ExtensionProperties( + OUString const & urlExtension, + Reference const & xCmdEnv) : + m_xCmdEnv(xCmdEnv) +{ + m_propFileUrl = urlExtension + OUSTR("properties"); + + ::std::list< ::std::pair< OUString, OUString> > props; + if (! dp_misc::create_ucb_content(NULL, m_propFileUrl, 0, false)) + return; + + ::ucbhelper::Content contentProps(m_propFileUrl, m_xCmdEnv); + dp_misc::readProperties(props, contentProps); + + typedef ::std::list< ::std::pair< OUString, OUString> >::const_iterator CI; + for (CI i = props.begin(); i != props.end(); i++) + { + if (i->first.equals(OUSTR(PROP_SUPPRESS_LICENSE))) + m_prop_suppress_license = i->second; + } +} + +//Writing the file +ExtensionProperties::ExtensionProperties( + OUString const & urlExtension, + uno::Sequence const & properties, + Reference const & xCmdEnv) : + m_xCmdEnv(xCmdEnv) +{ + m_propFileUrl = urlExtension + OUSTR("properties"); + + for (sal_Int32 i = 0; i < properties.getLength(); i++) + { + css::beans::NamedValue const & v = properties[i]; + if (v.Name.equals(OUSTR(PROP_SUPPRESS_LICENSE))) + { + OUString value; + if (v.Value >>= value) + { + if (value.equals(OUSTR("1"))) + m_prop_suppress_license = OUSTR("1"); + } + else + { + throw lang::IllegalArgumentException( + OUSTR("Extension Manager: wrong property value"), 0, -1); + } + } + else + { + throw lang::IllegalArgumentException( + OUSTR("Extension Manager: unknown property"), 0, -1); + } + } +} + +void ExtensionProperties::write() +{ + ::ucbhelper::Content contentProps(m_propFileUrl, m_xCmdEnv); + ::rtl::OUStringBuffer buf; + + if (m_prop_suppress_license) + { + buf.append(OUSTR(PROP_SUPPRESS_LICENSE)); + buf.append(OUSTR("=")); + buf.append(*m_prop_suppress_license); + } + + ::rtl::OString stamp = ::rtl::OUStringToOString( + buf.makeStringAndClear(), RTL_TEXTENCODING_UTF8); + Reference xData( + ::xmlscript::createInputStream( + ::rtl::ByteSequence( + reinterpret_cast(stamp.getStr()), + stamp.getLength() ) ) ); + contentProps.writeStream( xData, true /* replace existing */ ); +} + +bool ExtensionProperties::isSuppressedLicense() +{ + bool ret = false; + if (m_prop_suppress_license) + { + if (m_prop_suppress_license->equals(OUSTR("1"))) + ret = true; + } + return ret; +} + +} // namespace dp_manager + + diff --git a/desktop/source/deployment/manager/dp_properties.hxx b/desktop/source/deployment/manager/dp_properties.hxx new file mode 100644 index 000000000000..197155653de1 --- /dev/null +++ b/desktop/source/deployment/manager/dp_properties.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_manager.h,v $ + * $Revision: 1.17 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_DP_PROPERTIES_HXX +#define INCLUDED_DP_PROPERTIES_HXX + + + +#include "com/sun/star/beans/NamedValue.hpp" +#include "com/sun/star/ucb/XCommandEnvironment.hpp" +#include "boost/optional.hpp" + + +namespace css = ::com::sun::star; + +namespace dp_manager { + + + +/** + + */ +class ExtensionProperties +{ +protected: + ::rtl::OUString m_propFileUrl; + const css::uno::Reference m_xCmdEnv; + ::boost::optional< ::rtl::OUString> m_prop_suppress_license; +public: + + virtual ~ExtensionProperties() {}; + ExtensionProperties(::rtl::OUString const & urlExtension, + css::uno::Reference const & xCmdEnv); + + ExtensionProperties(::rtl::OUString const & urlExtension, + css::uno::Sequence const & properties, + css::uno::Reference const & xCmdEnv); + + void write(); + + bool isSuppressedLicense(); +}; +} + + + + +#endif + diff --git a/desktop/source/deployment/manager/dp_tmprepocmdenv.cxx b/desktop/source/deployment/manager/dp_tmprepocmdenv.cxx deleted file mode 100644 index 3a4a6f1d2b72..000000000000 --- a/desktop/source/deployment/manager/dp_tmprepocmdenv.cxx +++ /dev/null @@ -1,166 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_desktop.hxx" - -#include "com/sun/star/deployment/VersionException.hpp" -#include "com/sun/star/deployment/LicenseIndividualAgreementException.hpp" -#include "com/sun/star/deployment/LicenseException.hpp" -#include "com/sun/star/deployment/InstallException.hpp" -#include "com/sun/star/task/XInteractionApprove.hpp" -#include "com/sun/star/task/XInteractionAbort.hpp" -#include "com/sun/star/ucb/XCommandEnvironment.hpp" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "dp_tmprepocmdenv.hxx" - -namespace deployment = com::sun::star::deployment; -namespace lang = com::sun::star::lang; -namespace task = com::sun::star::task; -namespace ucb = com::sun::star::ucb; -namespace uno = com::sun::star::uno; -namespace css = com::sun::star; - -#define OUSTR(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) - -using ::com::sun::star::uno::Reference; -using ::rtl::OUString; - -namespace dp_manager { - -TmpRepositoryCommandEnv::TmpRepositoryCommandEnv() -{ -} - -TmpRepositoryCommandEnv::TmpRepositoryCommandEnv( - Reference< css::task::XInteractionHandler> const & handler) - : m_forwardHandler(handler) -{ -} - -TmpRepositoryCommandEnv::~TmpRepositoryCommandEnv() -{ -} -// XCommandEnvironment -//______________________________________________________________________________ -Reference TmpRepositoryCommandEnv::getInteractionHandler() -throw (uno::RuntimeException) -{ - return this; -} - -//______________________________________________________________________________ -Reference TmpRepositoryCommandEnv::getProgressHandler() -throw (uno::RuntimeException) -{ - return this; -} - -// XInteractionHandler -void TmpRepositoryCommandEnv::handle( - Reference< task::XInteractionRequest> const & xRequest ) - throw (uno::RuntimeException) -{ - uno::Any request( xRequest->getRequest() ); - OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION ); - - deployment::VersionException verExc; - deployment::LicenseException licExc; - deployment::InstallException instExc; - deployment::LicenseIndividualAgreementException licAgreementExc; - - - bool approve = false; - bool abort = false; - - if ((request >>= verExc) - || (request >>= licExc) - || (request >>= instExc) - || (request >>= licAgreementExc)) - { - approve = true; - } - - if (approve == false && abort == false) - { - if (m_forwardHandler.is()) - m_forwardHandler->handle(xRequest); - else - approve = true; - } - else - { - // select: - uno::Sequence< Reference< task::XInteractionContinuation > > conts( - xRequest->getContinuations() ); - Reference< task::XInteractionContinuation > const * pConts = - conts.getConstArray(); - sal_Int32 len = conts.getLength(); - for ( sal_Int32 pos = 0; pos < len; ++pos ) - { - if (approve) { - Reference< task::XInteractionApprove > xInteractionApprove( - pConts[ pos ], uno::UNO_QUERY ); - if (xInteractionApprove.is()) { - xInteractionApprove->select(); - // don't query again for ongoing continuations: - approve = false; - } - } - else if (abort) { - Reference< task::XInteractionAbort > xInteractionAbort( - pConts[ pos ], uno::UNO_QUERY ); - if (xInteractionAbort.is()) { - xInteractionAbort->select(); - // don't query again for ongoing continuations: - abort = false; - } - } - } - } -} - -// XProgressHandler -void TmpRepositoryCommandEnv::push( uno::Any const & /*Status*/ ) -throw (uno::RuntimeException) -{ -} - - -void TmpRepositoryCommandEnv::update( uno::Any const & /*Status */) -throw (uno::RuntimeException) -{ -} - -void TmpRepositoryCommandEnv::pop() throw (uno::RuntimeException) -{ -} - - -} // namespace dp_manager - - diff --git a/desktop/source/deployment/manager/dp_tmprepocmdenv.hxx b/desktop/source/deployment/manager/dp_tmprepocmdenv.hxx deleted file mode 100644 index 22111bc1e081..000000000000 --- a/desktop/source/deployment/manager/dp_tmprepocmdenv.hxx +++ /dev/null @@ -1,84 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#if ! defined INCLUDED_DP_TMPREPOSITORYCOMMANDENVIRONMENT_HXX -#define INCLUDED_DP_TMPREPOSITORYCOMMANDENVIRONMENT_HXX - - -#include "cppuhelper/compbase3.hxx" -//#include "cppuhelper/implbase2.hxx" -#include "ucbhelper/content.hxx" - - - -namespace css = ::com::sun::star; - -namespace dp_manager { - -/** - This command environment is to be used when an extension is temporarily - stored in the "tmp" repository. It prevents all kind of user interaction. - */ -class TmpRepositoryCommandEnv - : public ::cppu::WeakImplHelper3< css::ucb::XCommandEnvironment, - css::task::XInteractionHandler, - css::ucb::XProgressHandler > -{ - css::uno::Reference< css::uno::XComponentContext > m_xContext; - css::uno::Reference< css::task::XInteractionHandler> m_forwardHandler; -public: - virtual ~TmpRepositoryCommandEnv(); - TmpRepositoryCommandEnv(); - TmpRepositoryCommandEnv( - css::uno::Reference< css::task::XInteractionHandler> const & handler); - - // XCommandEnvironment - virtual css::uno::Reference SAL_CALL - getInteractionHandler() throw (css::uno::RuntimeException); - virtual css::uno::Reference - SAL_CALL getProgressHandler() throw (css::uno::RuntimeException); - - // XInteractionHandler - virtual void SAL_CALL handle( - css::uno::Reference const & xRequest ) - throw (css::uno::RuntimeException); - - // XProgressHandler - virtual void SAL_CALL push( css::uno::Any const & Status ) - throw (css::uno::RuntimeException); - virtual void SAL_CALL update( css::uno::Any const & Status ) - throw (css::uno::RuntimeException); - virtual void SAL_CALL pop() throw (css::uno::RuntimeException); -}; - -} - - - - -#endif - diff --git a/desktop/source/deployment/manager/makefile.mk b/desktop/source/deployment/manager/makefile.mk index cb99325bde52..4dc6405e34bf 100644 --- a/desktop/source/deployment/manager/makefile.mk +++ b/desktop/source/deployment/manager/makefile.mk @@ -47,7 +47,8 @@ SLOFILES = \ $(SLO)$/dp_managerfac.obj \ $(SLO)$/dp_informationprovider.obj \ $(SLO)$/dp_extensionmanager.obj \ - $(SLO)$/dp_tmprepocmdenv.obj + $(SLO)$/dp_commandenvironments.obj \ + $(SLO)$/dp_properties.obj .INCLUDE : ..$/target.pmk .INCLUDE : target.mk diff --git a/desktop/source/deployment/migration/dp_migration.cxx b/desktop/source/deployment/migration/dp_migration.cxx index 49362f7e2f5f..c2d0b0dc6bb8 100644 --- a/desktop/source/deployment/migration/dp_migration.cxx +++ b/desktop/source/deployment/migration/dp_migration.cxx @@ -136,7 +136,7 @@ Any MigrationImpl::execute( Sequence const & ) ->queryContentIdentifierString() ); try { xManager->addPackage( - sourceURL, OUString() /* detect media-type */, + sourceURL, uno::Sequence(),OUString() /* detect media-type */, Reference(), xCmdEnv ); } catch (RuntimeException &) { diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 1f1fde7ca7bf..919f134b3fb9 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -44,8 +44,10 @@ #include "com/sun/star/ucb/CommandAbortedException.hpp" #include "com/sun/star/bridge/UnoUrlResolver.hpp" #include "com/sun/star/bridge/XUnoUrlResolver.hpp" +#include "com/sun/star/deployment/ExtensionManager.hpp" #include "boost/scoped_array.hpp" #include "boost/shared_ptr.hpp" +#include #ifdef WNT //#include "tools/prewin.h" @@ -138,6 +140,103 @@ bool existsOfficePipe() return pipe.is(); } + +//Returns true if the Folder was more recently modified then +//the lastsynchronized file. That is the repository needs to +//be synchronized. +bool compareExtensionFolderWithLastSynchronizedFile( + OUString const & folderURL, OUString const & fileURL) +{ + bool bNeedsSync = false; + ::osl::DirectoryItem itemExtFolder; + ::osl::File::RC err1 = + ::osl::DirectoryItem::get(folderURL, itemExtFolder); + //If it does not exist, then there is nothing to be done + if (err1 == ::osl::File::E_NOENT) + { + return false; + } + else if (err1 != ::osl::File::E_None) + { + OSL_ENSURE(0, "Cannot access extension folder"); + return true; //sync just in case + } + + //If last synchronized does not exist, then OOo is started for the first time + ::osl::DirectoryItem itemFile; + ::osl::File::RC err2 = ::osl::DirectoryItem::get(fileURL, itemFile); + if (err2 == ::osl::File::E_NOENT) + { + return true; + + } + else if (err2 != ::osl::File::E_None) + { + OSL_ENSURE(0, "Cannot access file lastsynchronized"); + return true; //sync just in case + } + + //compare the modification time of the extension folder and the last + //modified file + ::osl::FileStatus statFolder(FileStatusMask_ModifyTime); + ::osl::FileStatus statFile(FileStatusMask_ModifyTime); + if (itemExtFolder.getFileStatus(statFolder) == ::osl::File::E_None) + { + if (itemFile.getFileStatus(statFile) == ::osl::File::E_None) + { + TimeValue timeFolder = statFolder.getModifyTime(); + TimeValue timeFile = statFile.getModifyTime(); + + if (timeFile.Seconds < timeFolder.Seconds) + bNeedsSync = true; + } + else + { + OSL_ASSERT(0); + bNeedsSync = true; + } + } + else + { + OSL_ASSERT(0); + bNeedsSync = true; + } + return bNeedsSync; +} + +bool needToSyncRepostitory(OUString const & name) +{ + OUString folder; + OUString file; + if (name.equals(OUString(RTL_CONSTASCII_USTRINGPARAM("bundled")))) + { + folder = OUString( + RTL_CONSTASCII_USTRINGPARAM("$BUNDLED_EXTENSIONS")); + file = OUString ( + RTL_CONSTASCII_USTRINGPARAM( + "$BUNDLED_EXTENSIONS_USER/lastsynchronized")); + } + else if (name.equals(OUString(RTL_CONSTASCII_USTRINGPARAM("shared")))) + { + folder = OUString( + RTL_CONSTASCII_USTRINGPARAM( + "$UNO_SHARED_PACKAGES_CACHE/uno_packages")); + file = OUString ( + RTL_CONSTASCII_USTRINGPARAM( + "$SHARED_EXTENSIONS_USER/lastsynchronized")); + } + else + { + OSL_ASSERT(0); + return true; + } + ::rtl::Bootstrap::expandMacros(folder); + ::rtl::Bootstrap::expandMacros(file); + return compareExtensionFolderWithLastSynchronizedFile( + folder, file); +} + + } // anon namespace //============================================================================== @@ -480,22 +579,43 @@ void TRACE(::rtl::OString const & sText) #endif } -bool hasExtensionRepositoryChanged(::rtl::OUString const & repository) +void syncRepositories(Reference const & xCmdEnv) { - if (repository.equals(OUSTR("shared"))) + Reference xExtensionManager; + //synchronize shared before bundled otherewise there are + //more revoke and registration calls. + OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); + if (needToSyncRepostitory(sShared)) { - //get the extensions folder - OUString folder(RTL_CONSTASCII_USTRINGPARAM("BUNDLED_EXTENSIONS")); - ::rtl::Bootstrap::expandMacros(folder); + xExtensionManager = + deployment::ExtensionManager::get( + comphelper_getProcessComponentContext()); + + if (xExtensionManager.is()) + { + xExtensionManager->synchronize( + sShared, Reference(), xCmdEnv); + } } - else if (repository.equals(OUSTR("bundled"))) + + OUString sBundled(RTL_CONSTASCII_USTRINGPARAM("bundled")); + if (needToSyncRepostitory( sBundled)) { - } - else - throw lang::IllegalArgumentException( - OUSTR("Invalid repository name."), 0, 0); + if (!xExtensionManager.is()) + { + xExtensionManager = + deployment::ExtensionManager::get( + comphelper_getProcessComponentContext()); + } + if (xExtensionManager.is()) + { + xExtensionManager->synchronize( + sBundled, Reference(), xCmdEnv); - return false; + } + } } + + } diff --git a/desktop/source/deployment/misc/dp_ucb.cxx b/desktop/source/deployment/misc/dp_ucb.cxx index 571aef9c1b95..795a492aa0d5 100644 --- a/desktop/source/deployment/misc/dp_ucb.cxx +++ b/desktop/source/deployment/misc/dp_ucb.cxx @@ -271,4 +271,50 @@ bool readLine( OUString * res, OUString const & startingWith, return false; } +bool readProperties( ::std::list< ::std::pair< ::rtl::OUString, ::rtl::OUString> > & out_result, + ::ucbhelper::Content & ucb_content ) +{ + // read whole file: + ::rtl::ByteSequence bytes( readFile( ucb_content ) ); + OUString file( reinterpret_cast(bytes.getConstArray()), + bytes.getLength(), RTL_TEXTENCODING_UTF8); + sal_Int32 pos = 0; + + for (;;) + { + + ::rtl::OUStringBuffer buf; + sal_Int32 start = pos; + + bool bEOF = false; + pos = file.indexOf( LF, pos ); + if (pos < 0) { // EOF + buf.append( file.copy( start ) ); + bEOF = true; + } + else + { + if (pos > 0 && file[ pos - 1 ] == CR) + // consume extra CR + buf.append( file.copy( start, pos - start - 1 ) ); + else + buf.append( file.copy( start, pos - start ) ); + pos++; + } + OUString aLine = buf.makeStringAndClear(); + + sal_Int32 posEqual = aLine.indexOf('='); + if (posEqual > 0 && (posEqual + 1) < aLine.getLength()) + { + OUString name = aLine.copy(0, posEqual); + OUString value = aLine.copy(posEqual + 1); + out_result.push_back(::std::make_pair(name, value)); + } + + if (bEOF) + break; + } + return false; +} + } diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 667f1588e247..17444eb0828e 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -157,7 +157,8 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend ::rtl::Reference const & myBackend, OUString const & url, OUString const & name, Reference const & xPackageType, - OUString const & loader, bool bRemoved, OUString const & identifier); + OUString const & loader, bool bRemoved, + OUString const & identifier); }; friend class ComponentPackageImpl; @@ -186,7 +187,8 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend ::rtl::Reference const & myBackend, OUString const & url, OUString const & name, Reference const & xPackageType, - bool jarFile, bool bRemoved, OUString const & identifier); + bool jarFile, bool bRemoved, + OUString const & identifier); }; friend class TypelibraryPackageImpl; @@ -207,7 +209,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend // PackageRegistryBackend virtual Reference bindPackage_( OUString const & url, OUString const & mediaType, - sal_Bool bNoFileAccess, OUString const & identifier, + sal_Bool bRemoved, OUString const & identifier, Reference const & xCmdEnv ); virtual void SAL_CALL disposing(); @@ -283,7 +285,8 @@ BackendImpl::ComponentPackageImpl::ComponentPackageImpl( ::rtl::Reference const & myBackend, OUString const & url, OUString const & name, Reference const & xPackageType, - OUString const & loader, bool bRemoved, OUString const & identifier) + OUString const & loader, bool bRemoved, + OUString const & identifier) : Package( myBackend, url, name, name /* display-name */, xPackageType, bRemoved, identifier), m_loader( loader ), diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index 354676fd56ff..fefa6794342a 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -114,7 +114,8 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend // PackageRegistryBackend virtual Reference bindPackage_( OUString const & url, OUString const & mediaType, sal_Bool bRemoved, - OUString const & identifier, Reference const & xCmdEnv ); + OUString const & identifier, + Reference const & xCmdEnv ); ::std::auto_ptr m_registeredPackages; // for backwards compatibility diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index be752bcf0733..1cebd20c297a 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -31,6 +31,7 @@ #include "dp_backend.h" #include "dp_ucb.h" #include "rtl/uri.hxx" +#include "rtl/bootstrap.hxx" #include "osl/file.hxx" #include "cppuhelper/exc_hlp.hxx" #include "comphelper/servicedecl.hxx" @@ -170,7 +171,8 @@ Reference PackageRegistryBackend::bindPackage( Reference xNewPackage; try { - xNewPackage = bindPackage_( url, mediaType, bRemoved, identifier, xCmdEnv ); + xNewPackage = bindPackage_( url, mediaType, bRemoved, + identifier, xCmdEnv ); } catch (RuntimeException &) { throw; @@ -318,6 +320,16 @@ Package::Package( ::rtl::Reference const & myBackend, m_bRemoved(bRemoved), m_identifier(identifier) { + if (m_bRemoved) + { + //We use the last segment of the URL + OSL_ASSERT(m_name.getLength() == 0); + OUString name = m_url; + rtl::Bootstrap::expandMacros(name); + sal_Int32 index = name.lastIndexOf('/'); + if (index != -1 && index < name.getLength()) + m_name = name.copy(index + 1); + } } //______________________________________________________________________________ @@ -407,10 +419,10 @@ sal_Bool Package::isBundle() throw (RuntimeException) } //______________________________________________________________________________ -::sal_Bool Package::checkPrerequisites( +::sal_Int32 Package::checkPrerequisites( const css::uno::Reference< css::task::XAbortChannel >&, const css::uno::Reference< css::ucb::XCommandEnvironment >&, - sal_Bool, ::rtl::OUString const &) + sal_Bool) throw (css::deployment::DeploymentException, css::deployment::ExtensionRemovedException, css::ucb::CommandFailedException, @@ -419,7 +431,7 @@ sal_Bool Package::isBundle() throw (RuntimeException) { if (m_bRemoved) throw deployment::ExtensionRemovedException(); - return true; + return 0; } //______________________________________________________________________________ diff --git a/desktop/source/deployment/registry/dp_registry.cxx b/desktop/source/deployment/registry/dp_registry.cxx index e35b37bdeb07..c5e440a2a825 100644 --- a/desktop/source/deployment/registry/dp_registry.cxx +++ b/desktop/source/deployment/registry/dp_registry.cxx @@ -127,7 +127,7 @@ public: // XPackageRegistry virtual Reference SAL_CALL bindPackage( - OUString const & url, OUString const & mediaType, sal_Bool bNoFileAccess, + OUString const & url, OUString const & mediaType, sal_Bool bRemoved, OUString const & identifier, Reference const & xCmdEnv ) throw (deployment::DeploymentException, CommandFailedException, lang::IllegalArgumentException, RuntimeException); @@ -498,7 +498,8 @@ Reference PackageRegistryImpl::bindPackage( for ( ; iPos != iEnd; ++iPos ) { try { - return (*iPos)->bindPackage( url, mediaType, bRemoved, identifier, xCmdEnv ); + return (*iPos)->bindPackage( url, mediaType, bRemoved, + identifier, xCmdEnv ); } catch (lang::IllegalArgumentException &) { } @@ -527,7 +528,8 @@ Reference PackageRegistryImpl::bindPackage( getResourceString(RID_STR_UNSUPPORTED_MEDIA_TYPE) + mediaType, static_cast(this), static_cast(-1) ); } - return iFind->second->bindPackage( url, mediaType, bRemoved, identifier, xCmdEnv ); + return iFind->second->bindPackage( url, mediaType, bRemoved, + identifier, xCmdEnv ); } } diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx index 39fd3cdc892e..1dc4cdde64ea 100644 --- a/desktop/source/deployment/registry/executable/dp_executable.cxx +++ b/desktop/source/deployment/registry/executable/dp_executable.cxx @@ -152,7 +152,8 @@ Reference BackendImpl::bindPackage_( if (subType.EqualsIgnoreCaseAscii("vnd.sun.star.executable")) { return new BackendImpl::ExecutablePackageImpl( - this, url, name, m_xExecutableTypeInfo, bRemoved, identifier); + this, url, name, m_xExecutableTypeInfo, bRemoved, + identifier); } } } diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index aeeec94981e6..a523a1aa20a5 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -102,10 +102,6 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend Reference const & xCmdEnv); void implCollectXhpFiles( const rtl::OUString& aDir, std::vector< rtl::OUString >& o_rXhpFileVector ); -// rtl::OUString getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ); -// rtl::OUString getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ); -// rtl::OUString getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ); -// rtl::OUString expandURL( const rtl::OUString& aURL ); void addDataToDb(OUString const & url, HelpBackendDb::Data const & data); ::boost::optional readDataFromDb(OUString const & url); @@ -195,7 +191,8 @@ Reference BackendImpl::bindPackage_( "vnd.sun.star.help")) { return new PackageImpl( - this, url, name, m_xHelpTypeInfo, bRemoved, identifier); + this, url, name, m_xHelpTypeInfo, bRemoved, + identifier); } } } @@ -233,7 +230,8 @@ BackendImpl::PackageImpl::PackageImpl( OUString const & url, OUString const & name, Reference const & xPackageType, bool bRemoved, OUString const & identifier) - : Package( myBackend, url, name, name, xPackageType, bRemoved, identifier) + : Package( myBackend, url, name, name, xPackageType, bRemoved, + identifier) { if (bRemoved) { @@ -290,13 +288,6 @@ void BackendImpl::PackageImpl::processPackage_( BackendImpl* that = getMyBackend(); Reference< deployment::XPackage > xThisPackage( this ); that->implProcessHelp( xThisPackage, doRegisterPackage, xCmdEnv); - -// HelpBackendDb::Data data; -// getMyBackend()->addDataToDb(getURL(), data); - -// } -// else -// getMyBackend()->deleteDataFromDb(getURL()); } beans::Optional< OUString > BackendImpl::PackageImpl::getRegistrationDataURL() @@ -373,23 +364,6 @@ void BackendImpl::implProcessHelp { std::vector< rtl::OUString > aXhpFileVector; - // Delete (old) files in any case to allow compiler to be started every time -// rtl::OUString aLangWithPureNameURL( aLangURL ); -// aLangWithPureNameURL += aSlash; -// aLangWithPureNameURL += aHelpStr; -// rtl::OUString aDbFile( aLangWithPureNameURL ); -// aDbFile += rtl::OUString::createFromAscii( ".db" ); -// if( xSFA->exists( aDbFile ) ) -// xSFA->kill( aDbFile ); -// rtl::OUString aHtFile( aLangWithPureNameURL ); -// aHtFile += rtl::OUString::createFromAscii( ".ht" ); -// if( xSFA->exists( aHtFile ) ) -// xSFA->kill( aHtFile ); -// rtl::OUString aKeyFile( aLangWithPureNameURL ); -// aKeyFile += rtl::OUString::createFromAscii( ".key" ); -// if( xSFA->exists( aKeyFile ) ) -// xSFA->kill( aKeyFile ); - // calculate jar file URL sal_Int32 indexStartSegment = aLangURL.lastIndexOf('/'); // for example "/en" @@ -408,12 +382,6 @@ void BackendImpl::implProcessHelp rtl::OUString aJarFile( makeURL(sHelpFolder, langFolderURLSegment + aSlash + aHelpStr + OUSTR(".jar"))); -// aJarFile += aSlash; -// aJarFile += aHelpStr; -// aJarFile += rtl::OUString::createFromAscii( ".jar" ); - // remove in any case to clean up -// if( xSFA->exists( aJarFile ) ) -// xSFA->kill( aJarFile ); aJarFile = ::dp_misc::expandUnoRcUrl(aJarFile); rtl::OUString aEncodedJarFilePath = rtl::Uri::encode( @@ -443,8 +411,6 @@ void BackendImpl::implProcessHelp aDestPath += aPureFolderName; xSFA->copy( aSubFolderURL, aDestPath ); } - //Copy help.tree to the temp folder in the help backend folder -// xSFA->copy(aLangURL + OUSTR("/help.tree"), langFolderDestExpanded + OUSTR("/help.tree")); // Call compiler sal_Int32 nXhpFileCount = aXhpFileVector.size(); @@ -485,7 +451,6 @@ void BackendImpl::implProcessHelp aParamsSeq[4] = uno::makeAny( rtl::OUString::createFromAscii( "-zipdir" ) ); rtl::OUString aSystemPath; -// osl::FileBase::getSystemPathFromFileURL( aLangURL, aSystemPath ); osl::FileBase::getSystemPathFromFileURL( langFolderDestExpanded, aSystemPath ); aParamsSeq[5] = uno::makeAny( aSystemPath ); @@ -562,75 +527,6 @@ void BackendImpl::implProcessHelp } } -// rtl::OUString BackendImpl::getFlagFileURL( Reference< deployment::XPackage > xPackage, const char* pFlagStr ) -// { -// rtl::OUString aRetURL; -// if( !xPackage.is() ) -// return aRetURL; -// rtl::OUString aHelpURL = xPackage->getURL(); -// aRetURL = expandURL( aHelpURL ); -// aRetURL += rtl::OUString::createFromAscii( pFlagStr ); -// return aRetURL; -// } - -// rtl::OUString BackendImpl::getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ) -// { -// return getFlagFileURL( xPackage, "/RegisteredFlag" ); -// } - -// rtl::OUString BackendImpl::getCompiledFlagFileURL( Reference< deployment::XPackage > xPackage ) -// { -// return getFlagFileURL( xPackage, "/CompiledFlag" ); -// } - -// rtl::OUString BackendImpl::expandURL( const rtl::OUString& aURL ) -// { -// static Reference< util::XMacroExpander > xMacroExpander; -// static Reference< uri::XUriReferenceFactory > xFac; - -// if( !xMacroExpander.is() || !xFac.is() ) -// { -// Reference const & xContext = getComponentContext(); -// if( xContext.is() ) -// { -// xFac = Reference< uri::XUriReferenceFactory >( -// xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( -// "com.sun.star.uri.UriReferenceFactory"), xContext ) , UNO_QUERY ); -// } -// if( !xFac.is() ) -// { -// throw RuntimeException( -// ::rtl::OUString::createFromAscii( -// "dp_registry::backend::help::BackendImpl::expandURL(), " -// "could not instatiate UriReferenceFactory." ), -// Reference< XInterface >() ); -// } - -// xMacroExpander = Reference< util::XMacroExpander >( -// xContext->getValueByName( -// ::rtl::OUString::createFromAscii( "/singletons/com.sun.star.util.theMacroExpander" ) ), -// UNO_QUERY_THROW ); -// } - -// rtl::OUString aRetURL = aURL; -// if( xMacroExpander.is() ) -// { -// Reference< uri::XUriReference > uriRef; -// for (;;) -// { -// uriRef = Reference< uri::XUriReference >( xFac->parse( aRetURL ), UNO_QUERY ); -// if ( uriRef.is() ) -// { -// Reference < uri::XVndSunStarExpandUrl > sxUri( uriRef, UNO_QUERY ); -// if( !sxUri.is() ) -// break; - -// aRetURL = sxUri->expand( xMacroExpander ); -// } -// } -// } -// return aRetURL; -// } void BackendImpl::implCollectXhpFiles( const rtl::OUString& aDir, std::vector< rtl::OUString >& o_rXhpFileVector ) diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h index 179420b16ef6..7ad55d29ba2f 100644 --- a/desktop/source/deployment/registry/inc/dp_backend.h +++ b/desktop/source/deployment/registry/inc/dp_backend.h @@ -175,10 +175,10 @@ public: css::ucb::CommandAbortedException, css::uno::RuntimeException); - virtual ::sal_Bool SAL_CALL checkPrerequisites( + virtual ::sal_Int32 SAL_CALL checkPrerequisites( const css::uno::Reference< css::task::XAbortChannel >& xAbortChannel, const css::uno::Reference< css::ucb::XCommandEnvironment >& xCmdEnv, - sal_Bool bInstalled, ::rtl::OUString const & aContextName) + sal_Bool noLicenseChecking) throw (css::deployment::DeploymentException, css::deployment::ExtensionRemovedException, css::ucb::CommandFailedException, diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 467ff5ca89fa..822e744b8fc2 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -64,8 +64,8 @@ #include "com/sun/star/packages/manifest/XManifestWriter.hpp" #include "com/sun/star/deployment/DependencyException.hpp" #include "com/sun/star/deployment/LicenseException.hpp" -#include "com/sun/star/deployment/LicenseIndividualAgreementException.hpp" #include "com/sun/star/deployment/PlatformException.hpp" +#include "com/sun/star/deployment/Prerequisites.hpp" #include "com/sun/star/xml/dom/XDocumentBuilder.hpp" #include "com/sun/star/xml/xpath/XXPathAPI.hpp" #include "com/sun/star/deployment/XPackageManager.hpp" @@ -139,8 +139,7 @@ class BackendImpl : public ImplBaseT ::sal_Bool checkLicense( Reference< ucb::XCommandEnvironment > const & xCmdEnv, - DescriptionInfoset const & description, bool bInstalled, - OUString const & aContextName ) + DescriptionInfoset const & description, bool bNoLicenseChecking) throw (deployment::DeploymentException, ucb::CommandFailedException, ucb::CommandAbortedException, @@ -199,10 +198,10 @@ class BackendImpl : public ImplBaseT ucb::CommandAbortedException, RuntimeException); - virtual ::sal_Bool SAL_CALL checkPrerequisites( + virtual ::sal_Int32 SAL_CALL checkPrerequisites( const Reference< task::XAbortChannel >& xAbortChannel, const Reference< ucb::XCommandEnvironment >& xCmdEnv, - ::sal_Bool bInstalled, OUString const & aContextName) + ::sal_Bool noLicenseChecking) throw (deployment::ExtensionRemovedException, deployment::DeploymentException, ucb::CommandFailedException, @@ -423,12 +422,14 @@ Reference BackendImpl::bindPackage_( } if (subType.EqualsIgnoreCaseAscii("vnd.sun.star.package-bundle")) { return new PackageImpl( - this, url, name, m_xBundleTypeInfo, false, bRemoved, identifier); + this, url, name, m_xBundleTypeInfo, false, bRemoved, + identifier); } else if (subType.EqualsIgnoreCaseAscii( "vnd.sun.star.legacy-package-bundle")) { return new PackageImpl( - this, url, name, m_xLegacyBundleTypeInfo, true, bRemoved, identifier); + this, url, name, m_xLegacyBundleTypeInfo, true, bRemoved, + identifier); } } } @@ -652,7 +653,7 @@ bool BackendImpl::PackageImpl::checkDependencies( ::sal_Bool BackendImpl::PackageImpl::checkLicense( css::uno::Reference< css::ucb::XCommandEnvironment > const & xCmdEnv, - DescriptionInfoset const & info, bool bInstalled, OUString const & aContextName) + DescriptionInfoset const & info, bool alreadyInstalled) throw (css::deployment::DeploymentException, css::ucb::CommandFailedException, css::ucb::CommandAbortedException, @@ -679,41 +680,21 @@ bool BackendImpl::PackageImpl::checkDependencies( throw css::deployment::DeploymentException( OUSTR("Could not obtain attribute simple-lincense@accept-by or it has no valid value"), 0, Any()); - //If if @accept-by="user" then every user needs to accept the license before it can be installed. - //Therefore we must prevent the installation as shared extension unless suppress-if-required="true" - OSL_ASSERT(aContextName.getLength()); - if (simplLicAttr->acceptBy.equals(OUSTR("user")) && aContextName.equals(OUSTR("shared"))) - { - css::deployment::LicenseIndividualAgreementException - exc = css::deployment::LicenseIndividualAgreementException( - OUString(), 0, m_name, simplLicAttr->suppressIfRequired); - - bool approve = false; - bool abort = false; - if (! interactContinuation( - Any(exc), task::XInteractionApprove::static_type(), xCmdEnv, &approve, &abort )) - throw css::deployment::DeploymentException( - OUSTR("Could not interact with user."), 0, Any()); - if (abort == true) - return false; - - //If the unopkg --suppress-license was used and simplLicAttr->suppressIfRequired == true, - //then the user implicitely accepts the license - } //Only use interaction if there is no version of this extension already installed //and the suppress-on-update flag is not set for the new extension - // bInstalled | bSuppressOnUpdate | show license + // alreadyInstalled | bSuppressOnUpdate | show license //---------------------------------------- // 0 | 0 | 1 // 0 | 1 | 1 // 1 | 0 | 1 // 1 | 1 | 0 - if ( !(bInstalled && simplLicAttr->suppressOnUpdate)) + if ( !(alreadyInstalled && simplLicAttr->suppressOnUpdate)) { css::deployment::LicenseException licExc( - OUString(), 0, m_name, sLicense, simplLicAttr->suppressIfRequired); + OUString(), 0, getDisplayName(), sLicense, + simplLicAttr->acceptBy); bool approve = false; bool abort = false; if (! interactContinuation( @@ -745,10 +726,10 @@ bool BackendImpl::PackageImpl::checkDependencies( } } -::sal_Bool BackendImpl::PackageImpl::checkPrerequisites( +::sal_Int32 BackendImpl::PackageImpl::checkPrerequisites( const css::uno::Reference< css::task::XAbortChannel >&, const css::uno::Reference< css::ucb::XCommandEnvironment >& xCmdEnv, - sal_Bool bInstalled, OUString const & aContextName) + sal_Bool alreadyInstalled) throw (css::deployment::DeploymentException, css::deployment::ExtensionRemovedException, css::ucb::CommandFailedException, @@ -759,11 +740,21 @@ bool BackendImpl::PackageImpl::checkDependencies( throw deployment::ExtensionRemovedException(); DescriptionInfoset info = getDescriptionInfoset(); if (!info.hasDescription()) - return sal_True; - - return checkPlatform(xCmdEnv) - && checkDependencies(xCmdEnv, info) - && checkLicense(xCmdEnv, info, bInstalled, aContextName); + return 0; + + //always return LICENSE as long as the user did not accept the license + //so that XExtensonManager::checkPrerequisitesAndEnable will again + //check the license + if (!checkPlatform(xCmdEnv)) + return deployment::Prerequisites::PLATFORM | + deployment::Prerequisites::LICENSE; + else if(!checkDependencies(xCmdEnv, info)) + return deployment::Prerequisites::DEPENDENCIES | + deployment::Prerequisites::LICENSE; + else if(!checkLicense(xCmdEnv, info, alreadyInstalled)) + return deployment::Prerequisites::LICENSE; + else + return 0; } ::sal_Bool BackendImpl::PackageImpl::checkDependencies( diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index b645c9b2af7a..5023a501c67e 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -233,9 +233,9 @@ Reference BackendImpl::bindPackage_( 0, dialogURL, xCmdEnv, false /* no throw */ )) { dialogURL = OUString(); } - return new PackageImpl( this, url, xCmdEnv, - makeURL( url, OUSTR("script.xlb") ), - dialogURL, bRemoved, identifier); + return new PackageImpl( + this, url, xCmdEnv, makeURL( url, OUSTR("script.xlb") ), + dialogURL, bRemoved, identifier); } else if (subType.EqualsIgnoreCaseAscii( "vnd.sun.star.dialog-library")) { diff --git a/desktop/source/deployment/unopkg/unopkg.src b/desktop/source/deployment/unopkg/unopkg.src index 79c578628676..dc204e265ec6 100644 --- a/desktop/source/deployment/unopkg/unopkg.src +++ b/desktop/source/deployment/unopkg/unopkg.src @@ -27,15 +27,10 @@ #include "deployment.hrc" -String RID_STR_UNOPKG_NO_SHARED_ALLOWED -{ - Text [ en-US ] = "The option \"--shared\" cannot be used to install the extension \'%NAME\', " - "because every user has to agree to the license agreement of the extension. The extension will not be installed."; -}; String RID_STR_UNOPKG_ACCEPT_LIC_1 { - Text [ en-US ] = "Extension License Agreement:"; + Text [ en-US ] = "Extension Software License Agreement of $NAME:"; }; String RID_STR_UNOPKG_ACCEPT_LIC_2 diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx index 11bf8129cc04..a077eaddb911 100755 --- a/desktop/source/migration/services/oo3extensionmigration.cxx +++ b/desktop/source/migration/services/oo3extensionmigration.cxx @@ -52,6 +52,7 @@ #include #include #include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -363,7 +364,8 @@ bool OO3ExtensionMigration::migrateExtension( const ::rtl::OUString& sSourceDir static_cast< cppu::OWeakObject* >( pCmdEnv ), uno::UNO_QUERY ); uno::Reference< task::XAbortChannel > xAbortChannel; uno::Reference< deployment::XPackage > xPackage = - m_xPackageManager->addPackage( sSourceDir, ::rtl::OUString(), xAbortChannel, xCmdEnv ); + m_xPackageManager->addPackage( + sSourceDir, uno::Sequence(),::rtl::OUString(), xAbortChannel, xCmdEnv ); if ( xPackage.is() ) return true; diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx index 807260fe4663..ba8cd56085f8 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx +++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx @@ -41,6 +41,7 @@ #include "cppuhelper/implbase1.hxx" #include "cppuhelper/exc_hlp.hxx" #include "comphelper/anytostring.hxx" +#include "comphelper/sequence.hxx" #include "com/sun/star/deployment/ExtensionManager.hpp" #include "com/sun/star/deployment/ui/PackageManagerDialog.hpp" @@ -60,10 +61,24 @@ using ::rtl::OUString; namespace css = ::com::sun::star; namespace { +struct ExtensionName +{ + OUString m_str; + ExtensionName( OUString const & str ) : m_str( str ) {} + bool operator () ( Reference const & e ) const + { + if (m_str.equals(dp_misc::getIdentifier(e)) + || m_str.equals(e->getName())) + return true; + return false; + } +}; + //------------------------------------------------------------------------------ const char s_usingText [] = "\n" "using: " APP_NAME " add extension-path...\n" +" " APP_NAME " validate extension-identifier...\n" " " APP_NAME " remove extension-identifier...\n" " " APP_NAME " list extension-identifier...\n" " " APP_NAME " reinstall \n" @@ -73,6 +88,8 @@ const char s_usingText [] = "\n" "sub-commands:\n" " add add extension\n" +" validate checks the prerequisites of an installed extension and" +" registers it if possible\n" " remove remove extensions by identifier\n" " reinstall expert feature: reinstall all deployed extensions\n" " list list information about deployed extensions\n" @@ -252,7 +269,7 @@ extern "C" int unopkg_main() return 0; } else if (isOption( info_version, &nPos )) { - dp_misc::writeConsole("\n"APP_NAME" Version 3.0\n"); + dp_misc::writeConsole("\n"APP_NAME" Version 3.3\n"); return 0; } //consume all bootstrap variables which may occur before the subcommannd @@ -314,15 +331,6 @@ extern "C" int unopkg_main() } } - //make sure the bundled option was provided together with shared -// if (option_bundled && !option_shared) -// { -// dp_misc::writeConsoleError( -// "\nERROR: option --bundled can only be used together with --shared!"); -// return 1; -// } - - xComponentContext = getUNO( disposeGuard, option_verbose, option_shared, subcmd_gui, xLocalComponentContext ); @@ -357,8 +365,11 @@ extern "C" int unopkg_main() Reference< ::com::sun::star::ucb::XCommandEnvironment > xCmdEnv( createCmdEnv( xComponentContext, logFile, - option_force, option_verbose, option_bundled, - option_suppressLicense) ); + option_force, option_verbose) ); + + //synchronize bundled/shared extensions + if (!subcmd_gui && ! dp_misc::office_is_running()) + dp_misc::syncRepositories(xCmdEnv); if (subcmd_add || subCommand.equalsAsciiL( @@ -369,9 +380,12 @@ extern "C" int unopkg_main() OUString const & cmdPackage = cmdPackages[ pos ]; if (subcmd_add) { + beans::NamedValue nvSuppress( + OUSTR("SUPPRESS_LICENSE"), option_suppressLicense ? + makeAny(OUSTR("1")):makeAny(OUSTR("0"))); xExtensionManager->addExtension( - cmdPackage, repository, - Reference(), xCmdEnv); + cmdPackage, Sequence(&nvSuppress, 1), + repository, Reference(), xCmdEnv); } else { @@ -410,32 +424,131 @@ extern "C" int unopkg_main() } else if (subCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("list") )) { - Sequence< Reference > packages; + ::std::vector > vecExtUnaccepted; + ::comphelper::sequenceToContainer(vecExtUnaccepted, + xExtensionManager->getExtensionsWithUnacceptedLicenses( + repository, xCmdEnv)); + + //This vector tells what XPackage in allExtensions has an + //unaccepted license. + std::vector vecUnaccepted; + std::vector > allExtensions; if (cmdPackages.empty()) { - packages = xExtensionManager->getDeployedExtensions( - repository, Reference(), xCmdEnv ); + Sequence< Reference > + packages = xExtensionManager->getDeployedExtensions( + repository, Reference(), xCmdEnv ); + + ::std::vector > vec_packages; + ::comphelper::sequenceToContainer(vec_packages, packages); + + //First copy the extensions with the unaccepted license + //to vector allExtensions. + allExtensions.resize(vecExtUnaccepted.size() + vec_packages.size()); + + ::std::vector >::iterator i_all_ext = + ::std::copy(vecExtUnaccepted.begin(), vecExtUnaccepted.end(), + allExtensions.begin()); + //Now copy those we got from getDeployedExtensions + ::std::copy(vec_packages.begin(), vec_packages.end(), i_all_ext); + + //Now prepare the vector which tells what extension has an + //unaccepted license + vecUnaccepted.resize(vecExtUnaccepted.size() + vec_packages.size()); + ::std::vector::iterator i_unaccepted = + ::std::fill_n(vecUnaccepted.begin(), + vecExtUnaccepted.size(), true); + ::std::fill_n(i_unaccepted, vec_packages.size(), false); + dp_misc::writeConsole( - OUSTR("all deployed ") + repository + OUSTR(" packages:\n")); + OUSTR("All deployed ") + repository + OUSTR(" extensions:\n\n")); } else { - packages.realloc( cmdPackages.size() ); + //The user provided the names (ids or file names) of the extensions + //which shall be listed for ( ::std::size_t pos = 0; pos < cmdPackages.size(); ++pos ) + { + Reference extension; try { - packages[ pos ] = xExtensionManager->getDeployedExtension( + extension = xExtensionManager->getDeployedExtension( repository, cmdPackages[ pos ], cmdPackages[ pos ], xCmdEnv ); } catch (lang::IllegalArgumentException &) { - packages[ pos ] = findPackage(repository, + extension = findPackage(repository, xExtensionManager, xCmdEnv, cmdPackages[ pos ] ); - if ( !packages[ pos ].is() ) - throw; } + + //Now look if the requested extension has an unaccepted license + bool bUnacceptedLic = false; + if (!extension.is()) + { + ::std::vector >::const_iterator + i = ::std::find_if( + vecExtUnaccepted.begin(), + vecExtUnaccepted.end(), ExtensionName(cmdPackages[pos])); + if (i != vecExtUnaccepted.end()) + { + extension = *i; + bUnacceptedLic = true; + } + } + + if (extension.is()) + { + allExtensions.push_back(extension); + vecUnaccepted.push_back(bUnacceptedLic); + } + + else + throw lang::IllegalArgumentException( + OUSTR("There is no such extension deployed: ") + + cmdPackages[pos],0,-1); + } + + } + + printf_packages(allExtensions, vecUnaccepted, xCmdEnv ); + } + else if (subCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("validate") )) + { + ::std::vector > vecExtUnaccepted; + ::comphelper::sequenceToContainer( + vecExtUnaccepted, xExtensionManager->getExtensionsWithUnacceptedLicenses( + repository, xCmdEnv)); + + for ( ::std::size_t pos = 0; pos < cmdPackages.size(); ++pos ) + { + Reference extension; + try + { + extension = xExtensionManager->getDeployedExtension( + repository, cmdPackages[ pos ], cmdPackages[ pos ], xCmdEnv ); + } + catch (lang::IllegalArgumentException &) + { + extension = findPackage( + repository, xExtensionManager, xCmdEnv, cmdPackages[ pos ] ); + } + + if (!extension.is()) + { + ::std::vector >::const_iterator + i = ::std::find_if( + vecExtUnaccepted.begin(), + vecExtUnaccepted.end(), ExtensionName(cmdPackages[pos])); + if (i != vecExtUnaccepted.end()) + { + extension = *i; + } + } + + if (extension.is()) + xExtensionManager->checkPrerequisitesAndEnable( + extension, Reference(), xCmdEnv); } - printf_packages( packages, xCmdEnv ); } else if (subCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("gui") )) { diff --git a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx index d23dcbf9577d..69a973b90a42 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx +++ b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx @@ -49,7 +49,7 @@ #include "com/sun/star/deployment/PlatformException.hpp" #include "com/sun/star/i18n/XCollator.hpp" #include "com/sun/star/i18n/CollatorOptions.hpp" -#include "com/sun/star/deployment/LicenseIndividualAgreementException.hpp" + #include #include "deployment.hrc" #include "dp_version.hxx" @@ -85,13 +85,12 @@ class CommandEnvironmentImpl sal_Int32 m_logLevel; bool m_option_force_overwrite; bool m_option_verbose; - bool m_option_bundled; - bool m_option_suppressLicense; Reference< XComponentContext > m_xComponentContext; Reference< XProgressHandler > m_xLogFile; void update_( Any const & Status ) throw (RuntimeException); - void printLicense(const OUString& sLicense, bool & accept, bool & decline); + void printLicense(const OUString & sName,const OUString& sLicense, + bool & accept, bool & decline); public: virtual ~CommandEnvironmentImpl(); @@ -99,9 +98,7 @@ public: Reference const & xComponentContext, OUString const & log_file, bool option_force_overwrite, - bool option_verbose, - bool option_bundled, - bool option_suppressLicense); + bool option_verbose); // XCommandEnvironment virtual Reference< task::XInteractionHandler > SAL_CALL @@ -120,19 +117,16 @@ public: virtual void SAL_CALL pop() throw (RuntimeException); }; + //______________________________________________________________________________ CommandEnvironmentImpl::CommandEnvironmentImpl( Reference const & xComponentContext, OUString const & log_file, bool option_force_overwrite, - bool option_verbose, - bool option_bundled, - bool option_suppressLicense) + bool option_verbose) : m_logLevel(0), m_option_force_overwrite( option_force_overwrite ), m_option_verbose( option_verbose ), - m_option_bundled( option_bundled), - m_option_suppressLicense( option_suppressLicense), m_xComponentContext(xComponentContext) { if (log_file.getLength() > 0) { @@ -162,10 +156,13 @@ CommandEnvironmentImpl::~CommandEnvironmentImpl() } //May throw exceptions -void CommandEnvironmentImpl::printLicense(const OUString& sLicense, bool & accept, bool &decline) +void CommandEnvironmentImpl::printLicense( + const OUString & sName, const OUString& sLicense, bool & accept, bool &decline) { ResMgr * pResMgr = DeploymentResMgr::get(); - OUString s1 = String(ResId(RID_STR_UNOPKG_ACCEPT_LIC_1, *pResMgr)); + String s1tmp(ResId(RID_STR_UNOPKG_ACCEPT_LIC_1, *pResMgr)); + s1tmp.SearchAndReplaceAllAscii( "$NAME", sName ); + OUString s1(s1tmp); OUString s2 = String(ResId(RID_STR_UNOPKG_ACCEPT_LIC_2, *pResMgr)); OUString s3 = String(ResId(RID_STR_UNOPKG_ACCEPT_LIC_3, *pResMgr)); OUString s4 = String(ResId(RID_STR_UNOPKG_ACCEPT_LIC_4, *pResMgr)); @@ -246,7 +243,6 @@ void CommandEnvironmentImpl::handle( lang::WrappedTargetException wtExc; deployment::LicenseException licExc; deployment::InstallException instExc; - deployment::LicenseIndividualAgreementException licAgreementExc; deployment::PlatformException platExc; deployment::VersionException verExc; @@ -281,27 +277,9 @@ void CommandEnvironmentImpl::handle( update_( wtExc.TargetException ); } } - else if (request >>= licAgreementExc) - { - if (m_option_suppressLicense && licAgreementExc.SuppressIfRequired) - { - approve = true; - } - else - { - String sResMsg( ResId( RID_STR_UNOPKG_NO_SHARED_ALLOWED, *DeploymentResMgr::get() ) ); - sResMsg.SearchAndReplaceAllAscii( "%NAME", licAgreementExc.ExtensionName ); - dp_misc::writeConsole(OUSTR("\n") + sResMsg + OUSTR("\n\n")); - abort = true; - } - } else if (request >>= licExc) { - bLicenseException = true; - if (m_option_suppressLicense && licExc.SuppressIfRequired) - approve = true; - else - printLicense(licExc.Text, approve, abort); + printLicense(licExc.ExtensionName, licExc.Text, approve, abort); } else if (request >>= instExc) { @@ -436,6 +414,7 @@ void CommandEnvironmentImpl::pop() throw (RuntimeException) m_xLogFile->pop(); } + } // anon namespace namespace unopkg { @@ -445,14 +424,10 @@ Reference< XCommandEnvironment > createCmdEnv( Reference< XComponentContext > const & xContext, OUString const & logFile, bool option_force_overwrite, - bool option_verbose, - bool option_bundled, - bool option_suppressLicense) + bool option_verbose) { return new CommandEnvironmentImpl( - xContext, logFile, option_force_overwrite, option_verbose, option_bundled, - option_suppressLicense); + xContext, logFile, option_force_overwrite, option_verbose); } - } // unopkg diff --git a/desktop/source/pkgchk/unopkg/unopkg_misc.cxx b/desktop/source/pkgchk/unopkg/unopkg_misc.cxx index b25176e1dcee..3272810afee2 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_misc.cxx +++ b/desktop/source/pkgchk/unopkg/unopkg_misc.cxx @@ -48,6 +48,7 @@ #include "unotools/configmgr.hxx" #include "com/sun/star/lang/XMultiServiceFactory.hpp" #include "cppuhelper/bootstrap.hxx" +#include "comphelper/sequence.hxx" #include using ::rtl::OUString; @@ -317,7 +318,10 @@ void printf_package( xPackage->getBundle( Reference(), xCmdEnv ) ); printf_space( level + 1 ); dp_misc::writeConsole("bundled Packages: {\n"); - printf_packages( seq, xCmdEnv, level + 2 ); + ::std::vector >vec_bundle; + ::comphelper::sequenceToContainer(vec_bundle, seq); + printf_packages( vec_bundle, ::std::vector(vec_bundle.size()), + xCmdEnv, level + 2 ); printf_space( level + 1 ); dp_misc::writeConsole("}\n"); } @@ -325,23 +329,45 @@ void printf_package( } // anon namespace +void printf_unaccepted_licenses( + Reference const & ext) +{ + OUString id( + dp_misc::getIdentifier(ext) ); + printf_line( OUSTR("Identifier"), id, 0 ); + printf_space(1); + dp_misc::writeConsole(OUSTR("License not accepted\n\n")); +} + //============================================================================== void printf_packages( - Sequence< Reference > const & seq, + ::std::vector< Reference > const & allExtensions, + ::std::vector const & vecUnaccepted, Reference const & xCmdEnv, sal_Int32 level ) { - sal_Int32 len = seq.getLength(); - Reference< deployment::XPackage > const * p = seq.getConstArray(); - if (len == 0) { + OSL_ASSERT(allExtensions.size() == vecUnaccepted.size()); + + if (allExtensions.size() == 0) + { printf_space( level ); dp_misc::writeConsole("\n"); } - else { - for ( sal_Int32 pos = 0; pos < len; ++pos ) - printf_package( p[ pos ], xCmdEnv, level ); + else + { + typedef ::std::vector< Reference >::const_iterator I_EXT; + int index = 0; + for (I_EXT i = allExtensions.begin(); i != allExtensions.end(); i++, index++) + { + if (vecUnaccepted[index]) + printf_unaccepted_licenses(*i); + else + printf_package( *i, xCmdEnv, level ); + dp_misc::writeConsole(OUSTR("\n")); + } } } + //############################################################################## namespace { diff --git a/desktop/source/pkgchk/unopkg/unopkg_shared.h b/desktop/source/pkgchk/unopkg/unopkg_shared.h index 6e9d30cf0d42..43f77513b10c 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_shared.h +++ b/desktop/source/pkgchk/unopkg/unopkg_shared.h @@ -162,14 +162,12 @@ css::uno::Reference createCmdEnv( css::uno::Reference const & xContext, ::rtl::OUString const & logFile, bool option_force_overwrite, - bool option_verbose, - bool option_bundled, - bool option_suppressLicense); - + bool option_verbose); //============================================================================== void printf_packages( - css::uno::Sequence< - css::uno::Reference > const & seq, + ::std::vector< + css::uno::Reference > const & allExtensions, + ::std::vector const & vecUnaccepted, css::uno::Reference const & xCmdEnv, sal_Int32 level = 0 ); -- cgit From ffe21943f2c395f9d453d6e9e7cd1e20340b20f8 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 19 Apr 2010 11:33:33 +0200 Subject: jl152 import 263446 from native0jl:#i77196# supporting licenses, suppress license switch, subsequent accepting of licenses for bundled/shared extensions --- .../com/sun/star/deployment/LicenseException.idl | 11 ++-- .../LicenseIndividualAgreementException.idl | 59 ---------------------- offapi/com/sun/star/deployment/Prerequisites.idl | 48 ++++++++++++++++++ .../com/sun/star/deployment/XExtensionManager.idl | 41 ++++++++++++++- offapi/com/sun/star/deployment/XPackage.idl | 21 +++----- offapi/com/sun/star/deployment/XPackageManager.idl | 47 +++++++++++++++-- .../com/sun/star/deployment/XPackageRegistry.idl | 4 ++ offapi/com/sun/star/deployment/makefile.mk | 4 +- .../com/sun/star/deployment/ui/LicenseDialog.idl | 4 ++ 9 files changed, 155 insertions(+), 84 deletions(-) delete mode 100644 offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl create mode 100644 offapi/com/sun/star/deployment/Prerequisites.idl diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl index 4d3996da191b..a80a5e463dd6 100644 --- a/offapi/com/sun/star/deployment/LicenseException.idl +++ b/offapi/com/sun/star/deployment/LicenseException.idl @@ -41,20 +41,19 @@ exception LicenseException : com::sun::star::uno::Exception { /** name of the extension. - Contains the file name only. + The display name of the extension. + See XPackage::getDisplayName */ string ExtensionName; /** contains the text of the license. */ string Text; - /** indicates if the user can prevent to show the license - - Represents the attribute value - /description/registration/simple-license/@suppress-if-required + /** contains the value of the attribute + /description/registration/simple-license/@accept-by from the description.xml */ - boolean SuppressIfRequired; + string AcceptBy; }; }; }; }; }; diff --git a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl b/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl deleted file mode 100644 index 4239d14f075f..000000000000 --- a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl +++ /dev/null @@ -1,59 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#if ! defined INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl -#define INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl - -#include - - -module com { module sun { module star { module deployment { - -/** The exception signals that an extension is about to be installed for more than - one user, allthough every user needs to agree to the license. - - @since OOo 2.0.6 - */ -exception LicenseIndividualAgreementException : com::sun::star::uno::Exception -{ - /** name of the extension. - - Contains the file name only. - */ - string ExtensionName; - /** indicates if the user can prevent to show the license - - Represents the attribute value - /description/registration/simple-license/@suppress-if-required - from the description.xml - */ - boolean SuppressIfRequired; -}; - -}; }; }; }; - -#endif diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl new file mode 100644 index 000000000000..52987ad9bd77 --- /dev/null +++ b/offapi/com/sun/star/deployment/Prerequisites.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: KeyUsage.idl,v $ + * $Revision: 1.4 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_deployment_prerequisites_idl_ +#define __com_sun_star_deployment_prerequisites_idl_ + +module com { module sun { module star { module deployment { + +constants Prerequisites +{ + const long PLATFORM = 0x1; + const long DEPENDENCIES = 0x2; + const long LICENSE = 0x04; +}; + + +} ; } ; } ; } ; + + +#endif + diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 18c5a746341d..dedf1cdd55b9 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -37,7 +37,7 @@ #include #include #include - +#include module com { module sun { module star { module deployment { @@ -93,8 +93,14 @@ interface XExtensionManager /** adds an UNO package. + The properties argument is currently only used to suppress the license information + for shared extensions. + @param url package URL, must be UCB conform + @param properties + additional properties, for example, that the license is to be + suppressed (if supported by the extension) @param repository the name of the repository @param xAbortChannel @@ -106,6 +112,7 @@ interface XExtensionManager object representing the extension. */ XPackage addExtension( [in] string url, + [in] sequence properties, [in] string repository, [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) @@ -286,6 +293,38 @@ interface XExtensionManager com::sun::star::ucb::CommandAbortedException, com::sun::star::lang::IllegalArgumentException); + + /** returns all extensions which are currently not in use + because the user did not accept the license. + + The function will not return any object for the user repository, because + a user extension will not be kept in the user repository if its license + is declined. Only extensions which are registered at start-up of OOo, + that is, shared and bundled extensions, can be returned. + + Extensions which allow the license to be suppressed, that is, it does not + need to be displayed, and which are installed with the corresponding option, + are also not returned. + */ + sequence getExtensionsWithUnacceptedLicenses( + [in] string repository, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::lang::IllegalArgumentException); + + /** check if all prerequisites for the extension are fulfilled + and registeres it if possible. + See also XPackageManager::checkPrerequisites + */ + long checkPrerequisitesAndEnable( + [in] XPackage extension, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + }; }; }; }; }; diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl index 9584d19abcf7..689a46ea22d9 100644 --- a/offapi/com/sun/star/deployment/XPackage.idl +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -73,29 +73,23 @@ interface XPackage Only if the return value is true the package is allowed to be installed. In case of false or in case of an exception, the package must be removed - in completely. + completely. After return of this function no code from the extension may be used anymore, so that the extension can be safely removed from the harddisk. @param xCmdEnv command environment for error handling and other interaction. - @installed - signalls if an extension with the same identifyer is already installed. - - @aContextName - the name of the context of XPackageManager implementation that is to be used - to install the extension. Currently we use the names "user" - and "shared". + @alreadyInstalled + indicates that an extension with the same identifyer is already installed. @return - true - the package can be installed - false - the package must not be installed. + null - all prerequisites are met. Otherwise, a value from + Prerequisites indicating what prerequisites are missing. */ - boolean checkPrerequisites( + long checkPrerequisites( [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv, - [in] boolean installed, - [in] string aContextName) + [in] boolean alreadyInstalled) raises (DeploymentException, ExtensionRemovedException, com::sun::star::ucb::CommandFailedException, @@ -347,6 +341,7 @@ interface XPackage XPackageRegistry::bindPackage. */ boolean isRemoved(); + }; }; }; }; }; diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl index 87a2e76bbf72..dfffefb8b907 100644 --- a/offapi/com/sun/star/deployment/XPackageManager.idl +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -37,6 +37,7 @@ #include #include #include +#include module com { module sun { module star { module deployment { @@ -102,8 +103,15 @@ interface XPackageManager /** adds an UNO package. + The properties argument is currently only used to suppress the license information + for shared extensions. + + @param url package URL, must be UCB conform + @param properties + additional properties, for example, that the license is to be + suppressed (if supported by the extension) @param mediaType media-type of package, empty string if to be detected @param xAbortChannel @@ -115,6 +123,7 @@ interface XPackageManager XPackage handle */ XPackage addPackage( [in] string url, + [in] sequence properties, [in] string mediaType, [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) @@ -252,14 +261,46 @@ interface XPackageManager @param removed extensions which must be revoked */ - void synchronize([out] sequence xAddedExtensions, - [out] sequence xRemovedExtensions, - [in] com::sun::star::task::XAbortChannel xAbortChannel, + void synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) raises (DeploymentException, com::sun::star::ucb::CommandFailedException, com::sun::star::ucb::CommandAbortedException); + + /** returns all extensions which are currently not in use + because the user did not accept the license. + + The function will not return any object for the user repository, because + a user extension will not be kept in the user repository if its license + is declined. Only extensions which are registered at start-up of OOo, + that is, shared and bundled extensions, can be returned. + + Extensions which allow the license to be suppressed, that is, it does not + need to be displayed, and which are installed with the corresponding option, + are also not returned. + */ + sequence getExtensionsWithUnacceptedLicenses( + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException); + + /** checks if the extension can be used. + + The extension must be managed by this package manager, that is, it must + be recorded in its database. The package manager calls + XPackage::checkPrerequisites and updates its data base with the + result. The result, which is from Prerequisites will be + returned. + */ + long checkPrerequisites( + [in] XPackage extension, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + }; }; }; }; }; diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl index a54a155a08f4..c84f37625ec5 100644 --- a/offapi/com/sun/star/deployment/XPackageRegistry.idl +++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl @@ -86,6 +86,10 @@ interface XPackageRegistry media type of package, empty string if to be detected @param removed + @para unfulfilledPrerequisites + has a value other null if the extension could not be installed previously + because XPackage::checkPrerequisites failed. + @param identifier the identifier of the extension diff --git a/offapi/com/sun/star/deployment/makefile.mk b/offapi/com/sun/star/deployment/makefile.mk index 1931bc6e4fe3..1e3a77b89573 100644 --- a/offapi/com/sun/star/deployment/makefile.mk +++ b/offapi/com/sun/star/deployment/makefile.mk @@ -54,10 +54,10 @@ IDLFILES = \ UpdateInformationProvider.idl \ XPackageInformationProvider.idl \ PackageInformationProvider.idl \ - LicenseIndividualAgreementException.idl \ PlatformException.idl \ InvalidRemovedParameterException.idl \ - ExtensionRemovedException.idl + ExtensionRemovedException.idl \ + Prerequisites.idl .INCLUDE : target.mk .INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl index 64295b60a476..308b5b5b9814 100644 --- a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl +++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl @@ -45,10 +45,14 @@ service LicenseDialog : com::sun::star::ui::dialogs::XExecutableDialog @param xParent parent window + + @param extensionName + the display name of the extension @param licenseText text to be displayed */ create( [in] com::sun::star::awt::XWindow xParent, + [in] string extensionName, [in] string licenseText ); }; -- cgit From e7ae741eb32a2c6b21ff5f85d8fa309c56a83812 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 13:56:36 +0200 Subject: vitomation01: #i109562 - Slot should rather be called --- testautomation/global/win/bars.win | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/win/bars.win b/testautomation/global/win/bars.win index dd65f825893d..7cc207cc3483 100755 --- a/testautomation/global/win/bars.win +++ b/testautomation/global/win/bars.win @@ -797,7 +797,7 @@ ManageBreakpoints .uno:ManageBreakPoints Modules SID_BASICIDE_MODULEDLG ObjectCatalog SID_BASICIDE_OBJCAT ProcedureStep .uno:BasicStepOver -SaveSourceTest .uno:SaveBasicAs +SaveSourceText .uno:SaveBasicAs SingleStep .uno:BasicStepInto StepBack .uno:BasicStepOut '------------------------------------------------------------------------- -- cgit From f104fb6a87f52ebd5de8e48cc9919c718c178c2f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 14:14:35 +0200 Subject: vitomation01: #i109562 - Simplify basic_ide.inc, kill hClickToolbarButton() and map it to hClickButton() --- .../framework/optional/includes/basic_ide.inc | 141 +++++++++------------ 1 file changed, 62 insertions(+), 79 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_ide.inc b/testautomation/framework/optional/includes/basic_ide.inc index cec3e348c6b6..c8db670e8cc3 100755 --- a/testautomation/framework/optional/includes/basic_ide.inc +++ b/testautomation/framework/optional/includes/basic_ide.inc @@ -35,7 +35,12 @@ testcase tBasic_IDE_Toolbar_Module printlog( "BASIC toolbars for modules" ) - dim brc as boolean + const DIALOG_DELAY = 2 + const RC_FAILURE = -1 + + dim cTargetFile as string + cTargetFile = convertpath( gOfficepath & "user\work\global_test.bas" ) + dim cSourceFile as string cSourceFile = gTesttoolpath & "framework\optional\input\resetregistration.txt" cSourceFile = convertpath( cSourceFile ) @@ -48,37 +53,37 @@ testcase tBasic_IDE_Toolbar_Module kontext "macrobar" printlog "- compile" - hClickToolbarButton( Compile ) + hClickButton( Compile ) printlog "- Run Basic" - hClickToolbarButton( BasicRun ) + hClickButton( BasicRun ) printlog "- Step Procedure" - hClickToolbarButton( ProcedureStep ) + hClickButton( ProcedureStep ) printlog "- Stop Basic" - hClickToolbarButton( BasicStop ) + hClickButton( BasicStop ) printlog "- Single Step" - hClickToolbarButton( SingleStep ) + hClickButton( SingleStep ) printlog "- Step Back" - hClickToolbarButton( StepBack ) + hClickButton( StepBack ) printlog "- Breakpoint => activate" - hClickToolbarButton( Breakpoint ) + hClickButton( Breakpoint ) printlog "- Breakpoint => deactivate" - hClickToolbarButton( Breakpoint ) + hClickButton( Breakpoint ) printlog "- Add Watch => deactivate" - hClickToolbarButton( AddWatch ) + hClickButton( AddWatch ) printlog "- Find Paranthese" kontext "macrobar" - hClickToolbarButton( FindParanthese ) + hClickButton( FindParanthese ) try Controls.TearOff() @@ -90,46 +95,51 @@ testcase tBasic_IDE_Toolbar_Module warnlog( "Slot not finished within 1 second" ) endif + kontext "MacroBar" printlog( "- Insert Source Text (" & cSourceFile & ")" ) + if ( hClickButton( InsertSourceText ) <> RC_FAILURE ) then + kontext "oeffnendlg" + if ( OeffnenDlg.exists( DIALOG_DELAY ) ) then + Dateiname.SetText( cSourceFile ) + Oeffnen.click() + WaitSlot( 5000 ) + else + warnlog( "File Open dialog did not open" ) + endif - InsertSourceText.Click() - kontext "oeffnendlg" - if ( OeffnenDlg.exists( 1 ) ) then - Dateiname.SetText( cSourceFile ) - Oeffnen.click() + ' possible 'could not read from file' error-message -> this is a bug + kontext "Active" + if ( Active.exists( DIALOG_DELAY ) ) then + warnlog( "Unexpected active: " & active.gettext() ) + active.ok() + endif else - warnlog( "File Open dialog did not open" ) - endif - - ' possible 'could not read from file' error-message -> this is a bug - kontext "Active" - if ( Active.exists( 1 ) ) then - warnlog( "Unexpected active: " & active.gettext() ) - active.ok() + warnlog( " dialog is not open, button failed" ) endif kontext "macrobar" - printlog "- Save Source Test " + printlog "- Save Source Text " + if ( hClickButton( SaveSourceText ) <> RC_FAILURE ) then - hClickToolbarButton( SaveSourceTest ) + kontext "speicherndlg" + if ( SpeichernDlg.exists( DIALOG_DELAY ) ) then + Dateiname.SetText( cTargetFile ) + Speichern.click() + else + warnlog( "File Save dialog is missing" ) + endif - kontext "speicherndlg" - if ( SpeichernDlg.exists( 1 ) ) then - Dateiname.SetText ConvertPath (gOfficepath + "user\work\global_test.bas") - Speichern.click() + kontext "active" + if ( Active.Exists( DIALOG_DELAY ) ) then + printlog( "Closing Messagebox with ") + Active.Yes() + endif else - warnlog( "File Save dialog is missing" ) - endif - - kontext "active" - if ( Active.Exists( 1 ) ) then - printlog( "Closing Messagebox with ") - Active.Yes() + warnlog( " dialog did not open, slot did not work" ) endif - hCloseBasicIDE() - hDestroyDocument() + hFileCloseAll() else warnlog( "Unable to init BASIC IDE" ) endif @@ -142,6 +152,11 @@ testcase tBasic_IDE_Toolbar_Dialogs printlog( "BASIC toolbar for Dialogs" ) + const DIALOG_DELAY = 2 + + const TABBAR_MENU_NEW = 1 + const TABBAR_MENU_NEW_DIALOG = 2 + dim bIsOpen as boolean dim brc as boolean @@ -161,9 +176,10 @@ testcase tBasic_IDE_Toolbar_Dialogs kontext "basicide" Tabbar.OpenContextMenu - hMenuSelectNr ( 1 ) - hMenuSelectNr ( 2 ) - if ( DialogWindow.Exists ( 2 ) ) then + hMenuSelectNr ( TABBAR_MENU_NEW ) + hMenuSelectNr ( TABBAR_MENU_NEW_DIALOG ) + + if ( DialogWindow.Exists ( DIALOG_DELAY ) ) then printlog( "Dialog Editor window is open. Good." ) else warnlog "No dialog window is shown!" @@ -251,7 +267,7 @@ testcase tBasic_IDE_Toolbar_Dialogs warnlog( """Insert Source Text"" is enabled" ) kontext "oeffnendlg" - if ( OeffnenDlg.exists( 2 ) ) then + if ( OeffnenDlg.exists( DIALOG_DELAY ) ) then Dateiname.SetText( sBasFile1 ) Oeffnen.Click() else @@ -266,11 +282,11 @@ testcase tBasic_IDE_Toolbar_Dialogs try kontext "macrobar" - SaveSourceTest.Click() + SaveSourceText.Click() warnlog( """Save Source Text"" is enabled" ) kontext "speicherndlg" - if ( SpeichernDlg.exists( 2 ) ) then + if ( SpeichernDlg.exists( DIALOG_DELAY ) ) then Dateiname.SetText( sBasFile2 ) Speichern.Click() else @@ -278,7 +294,7 @@ testcase tBasic_IDE_Toolbar_Dialogs endif kontext "active" - if ( Active.Exists( 1 ) ) then + if ( Active.Exists( DIALOG_DELAY ) ) then Active.Yes() endif catch @@ -293,36 +309,3 @@ testcase tBasic_IDE_Toolbar_Dialogs endcase -'******************************************************************************' - -function hClickToolbarButton( oButton as object ) as boolean - - const CFN = "hClickToolbarButton(): " - - dim iTry as integer - dim brc as boolean : brc = false - - printlog( CFN & "Clicking button on toolbar: " & oButton.name() ) - for iTry = 1 to 5 - - try - oButton.click() - brc = true - exit for - catch - printlog( CFN & "Retrying..." ) - endcatch - - if ( iTry = 5 ) then - exit for - endif - - wait( 500 ) - - next iTry - - if ( WaitSlot( 2000 ) <> WSFinished ) then - warnlog( CFN & "Slot not finished within 1 second" ) - endif - -end function -- cgit From b02a90cd65ab40ed4e800850a7ad8849a977cc14 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 19 Apr 2010 14:37:27 +0200 Subject: vitomation01: #i109562 - fix typo --- testautomation/framework/optional/includes/basic_macros.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_macros.inc b/testautomation/framework/optional/includes/basic_macros.inc index 587465cba55d..4717b66a9ad0 100755 --- a/testautomation/framework/optional/includes/basic_macros.inc +++ b/testautomation/framework/optional/includes/basic_macros.inc @@ -232,8 +232,8 @@ testcase tMakro_Dialog printlog( "Press 'OK' to append the library" ) kontext "appendlibraries" - if ( hClickButton( AppandLibraries ) = RC_TIMEOUT ) then - warnlog( "#i85254# Appending libraries leads to crash" ) + if ( hClickButton( AppendLibraries ) = RC_TIMEOUT ) then + warnlog( "#i85254# Appending libraries failed" ) endif printlog( "Check the number of libraries in list (should be two)" ) -- cgit From 31aa2c78cfa7eebf2468b18ea19e7cf725ac3995 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 20 Apr 2010 07:45:25 +0200 Subject: vitomation01: #i109562 - remove all traces of hGetListFileSize(), set the max size to 10000 which currently is by far more than enough. --- .../global/tools/includes/optional/t_listfuncs.inc | 57 ++++++++++------------ 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_listfuncs.inc b/testautomation/global/tools/includes/optional/t_listfuncs.inc index 2a4c587a22f0..e68c67511ff0 100755 --- a/testautomation/global/tools/includes/optional/t_listfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_listfuncs.inc @@ -160,29 +160,22 @@ function hManageComparisionList( sFileIn as string, sFileOut as string, sListOut '///
            const CFN = "hManageComparisionList::" - const RC_SUCCESS = 0 - - ' hListFileGetSize will return -1 if the list does not exist or the number - ' of lines in the reference file plus additional 10 lines. - '///+
          • Verify that the reference file exists and is non-empty
          • - dim iFileSize as integer : iFileSize = hListFileGetSize( sFileIn ) - dim irc as integer : irc = 0 - - '///+
          • Read the reference list and compare
          • - if ( iFileSize > -1 ) then - - dim aReferenceList( iFileSize ) as string - printlog( CFN & "Reading: " & sFileIn ) - ' disabled hGetDataFileSection because some lists contain a # - ' (hash) as value which is identified as comment by the function. - ' Fixing this for hGetDataFileSection() would break compatibility - ' to other functions both in framework and global module - 'hgetDataFileSection( sFileIn , aReferenceList() , "" , "" , "" ) - listread( aReferenceList(), sFileIn, "utf8" ) - irc = hListCompare( sListOut() , aReferenceList() ) + const FILESIZE = 10000 + const COMPARE_SUCCESS = 0 + const ENCODING_UTF8 = "UTF8" + + dim irc as integer + dim aReferenceList( FILESIZE ) as string + + if ( GVERBOSE ) then printlog( CFN & "Reading: " & sFileIn ) + ' disabled hGetDataFileSection because some lists contain a # + ' (hash) as value which is identified as comment by the function. + ' Fixing this for hGetDataFileSection() would break compatibility + ' to other functions both in framework and global module + 'hgetDataFileSection( sFileIn , aReferenceList() , "" , "" , "" ) + listread( aReferenceList(), sFileIn, ENCODING_UTF8 ) + irc = hListCompare( sListOut() , aReferenceList() ) - endif - ' A this point there are three possible states: ' a) the reference list does not exist ' b) the comparision failed @@ -192,16 +185,18 @@ function hManageComparisionList( sFileIn as string, sFileOut as string, sListOut ' directly reviewed/compared to the "faulty" list without having to run this ' test again (after deleting the ref-file) '///+
          • In case the lists are not identical, write the new one to the local work directory
          • - if ( irc = 0 ) then + if ( irc = COMPARE_SUCCESS ) then printlog( CFN & "Comparision succeeded" ) - hManageComparisionList() = RC_SUCCESS + hManageComparisionList() = COMPARE_SUCCESS else - printlog( CFN & "The two compared lists differ. There are two likely reasons:" ) - printlog( CFN & "1) The reference file does not exist at all" ) - printlog( CFN & "2) Reference and actual UI-Content do not match." ) - printlog( CFN & "Verify and copy the file: " & sFileOut ) - printlog( CFN & "to this location........: " & sFileIn ) - listwrite( sListOut(), sFileOut, "UTF8" ) + if ( GVERBOSE ) then + printlog( CFN & "The two compared lists differ. There are two likely reasons:" ) + printlog( CFN & "1) The reference file does not exist at all" ) + printlog( CFN & "2) Reference and actual UI-Content do not match." ) + printlog( CFN & "Verify and copy the file: " & sFileOut ) + printlog( CFN & "to this location........: " & sFileIn ) + endif + listwrite( sListOut(), sFileOut, ENCODING_UTF8 ) hManageComparisionList() = irc endif @@ -248,7 +243,7 @@ function hListCompare( aListOne() as String, aListTwo() as String ) as integer ListCopy( aListTwo() , aTwoOnlyList() ) iTwoOnlyListSize = ListCount( aTwoOnlyList() ) - iListOneSize = ListCount( aListOne() ) + iListOneSize = ListCount( aListOne() ) '///+
          • Step through each item in list one
          • -- cgit From 85c93f5779b0382769cf9dfb5a6306a018c17edd Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Tue, 20 Apr 2010 07:59:05 +0200 Subject: jl152 import 263447 from native0jl:#i77196# Show progress on startup --- desktop/inc/app.hxx | 6 +- desktop/source/app/app.cxx | 16 +- desktop/source/app/check_ext_deps.cxx | 205 +++++++++++++-------- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 1 - desktop/source/splash/splash.cxx | 27 +-- desktop/source/splash/splash.hxx | 1 + 6 files changed, 161 insertions(+), 95 deletions(-) diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx index 4f5a3b176be3..486d280311d9 100644 --- a/desktop/inc/app.hxx +++ b/desktop/inc/app.hxx @@ -132,7 +132,10 @@ class Desktop : public Application static sal_Bool LicenseNeedsAcceptance(); static sal_Bool IsFirstStartWizardNeeded(); static sal_Bool CheckExtensionDependencies(); - static void SynchronizeExtensionRepositories(); + + void SynchronizeExtensionRepositories(); + void SetSplashScreenText( const ::rtl::OUString& rText ); + void SetSplashScreenProgress( sal_Int32 ); private: // Bootstrap methods @@ -165,7 +168,6 @@ class Desktop : public Application Reference m_rSplashScreen; void OpenSplashScreen(); - void SetSplashScreenProgress(sal_Int32); void CloseSplashScreen(); void EnableOleAutomation(); diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index b82915871566..8e610fb0e141 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1392,12 +1392,14 @@ void Desktop::Main() tools::InitTestToolLib(); RTL_LOGFILE_CONTEXT_TRACE( aLog, "} tools::InitTestToolLib" ); + // Check if bundled or shared extensions were added /removed + // and process those extensions (has to be done before checking + // the extension dependencies! + SynchronizeExtensionRepositories(); + bool bAbort = CheckExtensionDependencies(); if ( bAbort ) return; - //Check if bundled or shared extensions were added /removed - //and process those extensions - SynchronizeExtensionRepositories(); // First Start Wizard allowed ? if ( ! pCmdLineArgs->IsNoFirstStartWizard()) @@ -2919,6 +2921,14 @@ void Desktop::SetSplashScreenProgress(sal_Int32 iProgress) } } +void Desktop::SetSplashScreenText( const ::rtl::OUString& rText ) +{ + if( m_rSplashScreen.is() ) + { + m_rSplashScreen->setText( rText ); + } +} + void Desktop::CloseSplashScreen() { if(m_rSplashScreen.is()) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index f487e0dfc96f..6a9beae58ccd 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -27,12 +27,17 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_desktop.hxx" -#include +#include "osl/file.hxx" +#include "osl/mutex.hxx" + #include #include #include #include "cppuhelper/compbase3.hxx" +#include "vcl/wrkwin.hxx" +#include "vcl/timer.hxx" + #include #include @@ -59,7 +64,7 @@ using rtl::OUString; using namespace desktop; using namespace com::sun::star; -#define UNISTRING(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) +#define UNISTRING(s) OUString(RTL_CONSTASCII_USTRINGPARAM(s)) namespace { @@ -69,9 +74,13 @@ class SilentCommandEnv task::XInteractionHandler, ucb::XProgressHandler > { + Desktop *mpDesktop; + sal_Int32 mnLevel; + sal_Int32 mnProgress; + public: - virtual ~SilentCommandEnv(){}; - SilentCommandEnv(){}; + SilentCommandEnv( Desktop* pDesktop ); + virtual ~SilentCommandEnv(); // XCommandEnvironment virtual uno::Reference SAL_CALL @@ -91,21 +100,38 @@ public: throw (uno::RuntimeException); virtual void SAL_CALL pop() throw (uno::RuntimeException); }; + +//----------------------------------------------------------------------------- +SilentCommandEnv::SilentCommandEnv( Desktop* pDesktop ) +{ + mpDesktop = pDesktop; + mnLevel = 0; + mnProgress = 25; +} + +//----------------------------------------------------------------------------- +SilentCommandEnv::~SilentCommandEnv() +{ + mpDesktop->SetSplashScreenText( OUString() ); +} + +//----------------------------------------------------------------------------- Reference SilentCommandEnv::getInteractionHandler() -throw (uno::RuntimeException) + throw (uno::RuntimeException) { return this; } +//----------------------------------------------------------------------------- Reference SilentCommandEnv::getProgressHandler() -throw (uno::RuntimeException) + throw (uno::RuntimeException) { return this; } +//----------------------------------------------------------------------------- // XInteractionHandler -void SilentCommandEnv::handle( - Reference< task::XInteractionRequest> const & xRequest ) +void SilentCommandEnv::handle( Reference< task::XInteractionRequest> const & xRequest ) throw (uno::RuntimeException) { uno::Any request( xRequest->getRequest() ); @@ -127,23 +153,45 @@ void SilentCommandEnv::handle( } } +//----------------------------------------------------------------------------- // XProgressHandler -void SilentCommandEnv::push( uno::Any const & /*Status*/ ) -throw (uno::RuntimeException) +void SilentCommandEnv::push( uno::Any const & rStatus ) + throw (uno::RuntimeException) { -} + OUString sText; + mnLevel += 1; + if ( rStatus.hasValue() && ( rStatus >>= sText) ) + { + if ( mnLevel == 1 ) + mpDesktop->SetSplashScreenText( sText ); + else + mpDesktop->SetSplashScreenProgress( ++mnProgress ); + } +} -void SilentCommandEnv::update( uno::Any const & /*Status */) -throw (uno::RuntimeException) +//----------------------------------------------------------------------------- +void SilentCommandEnv::update( uno::Any const & rStatus ) + throw (uno::RuntimeException) { + OUString sText; + if ( rStatus.hasValue() && ( rStatus >>= sText) ) + { + mpDesktop->SetSplashScreenText( sText ); + } } +//----------------------------------------------------------------------------- void SilentCommandEnv::pop() throw (uno::RuntimeException) { + mnLevel -= 1; } } // end namespace + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- static const OUString sConfigSrvc( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.configuration.ConfigurationProvider" ) ); static const OUString sAccessSrvc( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.configuration.ConfigurationUpdateAccess" ) ); //------------------------------------------------------------------------------ @@ -169,55 +217,75 @@ static sal_Int16 impl_showExtensionDialog( uno::Reference< uno::XComponentContex //------------------------------------------------------------------------------ // Check dependencies of all packages //------------------------------------------------------------------------------ -static bool impl_checkDependencies( const uno::Reference< deployment::XPackageManager > &xPackageManager ) +static bool impl_checkDependencies( const uno::Reference< uno::XComponentContext > &xContext ) { - uno::Sequence< uno::Reference< deployment::XPackage > > packages; + uno::Sequence< uno::Sequence< uno::Reference< deployment::XPackage > > > xAllPackages; + uno::Reference< deployment::XExtensionManager > xExtensionManager = deployment::ExtensionManager::get( xContext ); + + if ( !xExtensionManager.is() ) + { + OSL_ENSURE( 0, "Could not get the Extension Manager!" ); + return true; + } try { - packages = xPackageManager->getDeployedPackages( uno::Reference< task::XAbortChannel >(), - uno::Reference< ucb::XCommandEnvironment >() ); + xAllPackages = xExtensionManager->getAllExtensions( uno::Reference< task::XAbortChannel >(), + uno::Reference< ucb::XCommandEnvironment >() ); } - catch ( deployment::DeploymentException & ) { /* handleGeneralError(e.Cause);*/ } - catch ( ucb::CommandFailedException & ) { /* handleGeneralError(e.Reason);*/ } - catch ( ucb::CommandAbortedException & ) {} + catch ( deployment::DeploymentException & ) { return true; } + catch ( ucb::CommandFailedException & ) { return true; } + catch ( ucb::CommandAbortedException & ) { return true; } catch ( lang::IllegalArgumentException & e ) { throw uno::RuntimeException( e.Message, e.Context ); } - for ( sal_Int32 i = 0; i < packages.getLength(); ++i ) + sal_Int32 nMax = 2; +#ifdef DEBUG + nMax = 3; +#endif + + for ( sal_Int32 i = 0; i < xAllPackages.getLength(); ++i ) { - bool bRegistered = false; - try { - beans::Optional< beans::Ambiguous< sal_Bool > > option( packages[i]->isRegistered( uno::Reference< task::XAbortChannel >(), - uno::Reference< ucb::XCommandEnvironment >() ) ); - if ( option.IsPresent ) - { - ::beans::Ambiguous< sal_Bool > const & reg = option.Value; - if ( reg.IsAmbiguous ) - bRegistered = false; - else - bRegistered = reg.Value ? true : false; - } - else - bRegistered = false; - } - catch ( uno::RuntimeException & ) { throw; } - catch ( uno::Exception & exc) { - (void) exc; - OSL_ENSURE( 0, ::rtl::OUStringToOString( exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - bRegistered = false; - } + uno::Sequence< uno::Reference< deployment::XPackage > > xPackageList = xAllPackages[i]; - if ( bRegistered ) + for ( sal_Int32 j = 0; (jcheckDependencies( uno::Reference< ucb::XCommandEnvironment >() ); - } - catch ( deployment::DeploymentException & ) {} - if ( ! bDependenciesValid ) + uno::Reference< deployment::XPackage > xPackage = xPackageList[j]; + if ( xPackage.is() ) { - return false; + bool bRegistered = false; + try { + beans::Optional< beans::Ambiguous< sal_Bool > > option( xPackage->isRegistered( uno::Reference< task::XAbortChannel >(), + uno::Reference< ucb::XCommandEnvironment >() ) ); + if ( option.IsPresent ) + { + ::beans::Ambiguous< sal_Bool > const & reg = option.Value; + if ( reg.IsAmbiguous ) + bRegistered = false; + else + bRegistered = reg.Value ? true : false; + } + else + bRegistered = false; + } + catch ( uno::RuntimeException & ) { throw; } + catch ( uno::Exception & exc) { + (void) exc; + OSL_ENSURE( 0, ::rtl::OUStringToOString( exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); + } + + if ( bRegistered ) + { + bool bDependenciesValid = false; + try { + bDependenciesValid = xPackage->checkDependencies( uno::Reference< ucb::XCommandEnvironment >() ); + } + catch ( deployment::DeploymentException & ) {} + if ( ! bDependenciesValid ) + { + return false; + } + } } } } @@ -254,31 +322,11 @@ static void impl_setNeedsCompatCheck() static bool impl_check() { uno::Reference< uno::XComponentContext > xContext = comphelper_getProcessComponentContext(); - uno::Reference< deployment::XPackageManager > xManager; - bool bDependenciesValid = true; - try { - xManager = deployment::thePackageManagerFactory::get( xContext )->getPackageManager( UNISTRING("user") ); - } - catch ( ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} - - if ( xManager.is() ) - bDependenciesValid = impl_checkDependencies( xManager ); - - if ( bDependenciesValid ) - { - try { - xManager = deployment::thePackageManagerFactory::get( xContext )->getPackageManager( UNISTRING("shared") ); - } - catch ( ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} - - if ( xManager.is() ) - bDependenciesValid = impl_checkDependencies( xManager ); - } + bool bDependenciesValid = impl_checkDependencies( xContext ); short nRet = 0; + if ( !bDependenciesValid ) nRet = impl_showExtensionDialog( xContext ); @@ -292,7 +340,7 @@ static bool impl_check() } //------------------------------------------------------------------------------ -// to check, if we need checking the dependencies of the extensions again, we compare +// to check if we need checking the dependencies of the extensions again, we compare // the build id of the office with the one of the last check //------------------------------------------------------------------------------ static bool impl_needsCompatCheck() @@ -325,6 +373,9 @@ static bool impl_needsCompatCheck() pset->setPropertyValue( OUString::createFromAscii("LastCompatibilityCheckID"), result ); Reference< util::XChangesBatch >( pset, UNO_QUERY_THROW )->commitChanges(); } +#ifdef DEBUG + bNeedsCheck = true; +#endif } catch (const Exception&) {} @@ -348,11 +399,9 @@ void Desktop::SynchronizeExtensionRepositories() { RTL_LOGFILE_CONTEXT(aLog,"desktop (jl97489) ::Desktop::SynchronizeExtensionRepositories"); OUString sDisable; - ::rtl::Bootstrap::get( - OUString(RTL_CONSTASCII_USTRINGPARAM("DISABLE_SYNC_EXTENSIONS")), - sDisable, - OUString(RTL_CONSTASCII_USTRINGPARAM(""))); + ::rtl::Bootstrap::get( UNISTRING( "DISABLE_SYNC_EXTENSIONS" ), sDisable, OUString() ); if (sDisable.getLength() > 0) return; - dp_misc::syncRepositories(new SilentCommandEnv()); + + dp_misc::syncRepositories( new SilentCommandEnv( this ) ); } diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index fef6d36c7165..cd37f07729bb 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -243,7 +243,6 @@ bool TheExtensionManager::checkUpdates( bool /* bShowUpdateOnly */, bool /*bPare { TUpdateListEntry pEntry( new UpdateListEntry( xPackage, m_sPackageManagers[j] ) ); vEntries.push_back( pEntry ); - break; } } } diff --git a/desktop/source/splash/splash.cxx b/desktop/source/splash/splash.cxx index 5fee3028b4f6..381a98ce008f 100644 --- a/desktop/source/splash/splash.cxx +++ b/desktop/source/splash/splash.cxx @@ -135,14 +135,21 @@ void SAL_CALL SplashScreen::reset() } } -void SAL_CALL SplashScreen::setText(const OUString&) +void SAL_CALL SplashScreen::setText(const OUString& rText) throw (RuntimeException) { - if (_bVisible && !_bProgressEnd) { - if ( _eBitmapMode == BM_FULLSCREEN ) - ShowFullScreenMode( TRUE ); - Show(); - Flush(); + ::vos::OGuard aSolarGuard( Application::GetSolarMutex() ); + if ( _sProgressText != rText ) + { + _sProgressText = rText; + + if (_bVisible && !_bProgressEnd) + { + if ( _eBitmapMode == BM_FULLSCREEN ) + ShowFullScreenMode( TRUE ); + Show(); + updateStatus(); + } } } @@ -647,7 +654,7 @@ void SplashScreen::Paint( const Rectangle&) } if( (bNativeOK = DrawNativeControl( CTRL_INTROPROGRESS, PART_ENTIRE_CONTROL, aControlRegion, - CTRL_STATE_ENABLED, aValue, rtl::OUString() )) != FALSE ) + CTRL_STATE_ENABLED, aValue, _sProgressText )) != FALSE ) { return; } @@ -668,10 +675,8 @@ void SplashScreen::Paint( const Rectangle&) _vdev.DrawRect(Rectangle(_tlx, _tly, _tlx+_barwidth, _tly+_barheight)); _vdev.SetFillColor( _cProgressBarColor ); _vdev.SetLineColor(); - Rectangle aRect(_tlx+_barspace, _tly+_barspace, _tlx+_barspace+length, _tly+_barheight-_barspace); - _vdev.DrawRect(Rectangle(_tlx+_barspace, _tly+_barspace, - _tlx+_barspace+length, _tly+_barheight-_barspace)); - + _vdev.DrawRect(Rectangle(_tlx+_barspace, _tly+_barspace, _tlx+_barspace+length, _tly+_barheight-_barspace)); + _vdev.DrawText( Rectangle(_tlx, _tly+_barheight+5, _tlx+_barwidth, _tly+_barheight+5+20), _sProgressText, TEXT_DRAW_CENTER ); } Size aSize = GetOutputSizePixel(); Size bSize = _vdev.GetOutputSizePixel(); diff --git a/desktop/source/splash/splash.hxx b/desktop/source/splash/splash.hxx index 99677aa107f1..8480ed3df9ae 100644 --- a/desktop/source/splash/splash.hxx +++ b/desktop/source/splash/splash.hxx @@ -91,6 +91,7 @@ private: Color _cProgressBarColor; bool _bNativeProgress; OUString _sAppName; + OUString _sProgressText; std::vector< FullScreenProgressRatioValue > _sFullScreenProgressRatioValues; sal_Int32 _iMax; -- cgit From 5866430f579bafcf7e24f55f2e3d372236d8cdf8 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 20 Apr 2010 08:41:30 +0200 Subject: vitomation01: #i108621 - moved tEditFields into sub sEditFields to allow tEditFields and tHTMLDocEditFields to use the same code as the only difference is the gApplication. Both test cases are needed because QUASTe is more than picky about removed test cases (simply refuses to update) --- testautomation/writer/required/includes/w_002_.inc | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_002_.inc diff --git a/testautomation/writer/required/includes/w_002_.inc b/testautomation/writer/required/includes/w_002_.inc old mode 100644 new mode 100755 index d26e1d2785da..6c571c34a8bf --- a/testautomation/writer/required/includes/w_002_.inc +++ b/testautomation/writer/required/includes/w_002_.inc @@ -63,6 +63,9 @@ sub w_002_ 'Writer Master Document gApplication = "MASTERDOCUMENT" Call tMasterDocEditNavigator + + Call tHtmlDocEditFields + gApplication = "WRITER" end sub @@ -984,6 +987,24 @@ endcase testcase tEditFields + gApplication = "WRITER" + call sEditFields() + +endcase + +' ---------------------------------------------------------------- + +testcase tHtmlDocEditFields + + gApplication = "HTML" + call sEditFields() + +endcase + +' ---------------------------------------------------------------- + +sub sEditfields + PrintLog( "Edit/Fields: Edit Fields dialog: " & gApplication ) dim iCurrentType as integer @@ -1058,7 +1079,7 @@ testcase tEditFields PrintLog( "Close active document" ) Call hCloseDocument() -endcase +end sub '---------------------------------------------------------------- -- cgit From c27d98c360a920644c1b859000619857ef2200b9 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 20 Apr 2010 09:40:08 +0200 Subject: vitomation01: Local merge with CWS automationdev300m76cat0 (which is currently nominated) - changes for slovenian language where not merged. Fixed. --- testautomation/global/system/includes/iniinfo.inc | 218 ---------------------- 1 file changed, 218 deletions(-) diff --git a/testautomation/global/system/includes/iniinfo.inc b/testautomation/global/system/includes/iniinfo.inc index 7be9633bb395..1052113000a7 100755 --- a/testautomation/global/system/includes/iniinfo.inc +++ b/testautomation/global/system/includes/iniinfo.inc @@ -289,55 +289,6 @@ sub GetLanguageInformation gISOLang = sLanOutIni -<<<<<<< local - select case lcase ( sLanOutIni ) - case "en_us", "en-us", "en" : iSprache = 01 ' English (USA) - case "pt_pt", "pt-pt", "pt" : iSprache = 03 ' Portuguese - case "ru_ru", "ru-ru", "ru" : iSprache = 07 ' Russian - case "el_gr", "el-gr", "el" : iSprache = 30 ' Greek - case "nl_nl", "nl-nl", "nl" : iSprache = 31 ' Dutch - case "fr_fr", "fr-fr", "fr" : iSprache = 33 ' French - case "es_es", "es-es", "es" : iSprache = 34 ' Spanish - case "fi_fi", "fi-fi", "fi" : iSprache = 35 ' Finnish - case "hu_hu", "hu-hu", "hu" : iSprache = 36 ' Hungaria - case "ca_ad", "ca-ad", "ca" : iSprache = 37 ' Catalan - case "it_it", "it-it", "it" : iSprache = 39 ' Italian - case "cs_cz", "cs-cz", "cs" : iSprache = 42 ' Czech - case "sk_sk", "sk-sk", "sk" : iSprache = 43 ' Slowak - case "en_gb", "en-gb" : iSprache = 44 ' English (GB) - case "da_dk", "da-dk", "da" : iSprache = 45 ' Danish - case "sv_se", "sv-se", "sv" : iSprache = 46 ' Swedish - case "no_no", "no-no", "no" : iSprache = 47 ' Norwegian - case "pl_pl", "pl-pl", "pl" : iSprache = 48 ' Polish - case "de_de", "de-de", "de" : iSprache = 49 ' German - case "sr_rs", "sr-rs", "sr" : iSprache = 51 ' Serbian (Cyrillic) - case "sh_rs", "sh-rs", "sh" : iSprache = 52 ' Serbian (Latin) - case "pt_br", "pt-br", "br" : iSprache = 55 ' Portuguese (Brazil) - case "th_th", "th-th", "th" : iSprache = 66 ' Thai - case "ja_jp", "ja-jp", "ja" : iSprache = 81 ' Japanese - case "ko_kr", "ko-kr", "ko" : iSprache = 82 ' Korean - case "vi_vi", "vi-vi", "vi" : iSprache = 84 ' Vietnamese - case "zh_cn", "zh-cn", "zh" : iSprache = 86 ' Chinese (simplified) - case "zh_tw", "zh-tw" : iSprache = 88 ' Chinese (traditional) - case "tr_tr", "tr-tr", "tr" : iSprache = 90 ' Turkish - case "hi_in", "hi-in", "hi" : iSprache = 91 ' Hindi - case "ar_ar", "ar-ar", "ar" : iSprache = 96 ' Arabic - case "he_he", "he-he", "he" : iSprache = 97 ' Hebrew - case "sl_si", "sl-si", "sl" : iSprache = 386 ' Slovenian - case "zz_zz", "zz-zz", "zz" : iSprache = 01 ' unknown - warnlog "iniinfo.inc::GetLanguageInformation()" - warnlog "- sLanOutIni = " & sLanOutIni & " (unknown language)" - warnlog "- iSprache has been set 01!" - case "" : iSprache = 01 ' empty - warnlog "iniinfo.inc::GetLanguageInformation()" - warnlog "- empty sLanOutIni = " & sLanOutIni - warnlog "- iSprache has been set 01!" - case else : iSprache = 01 - warnlog "iniinfo.inc::GetLanguageInformation()" - warnlog "- sLanOutIni = " & sLanOutIni & " (fallback mode; unknown language)" - warnlog "- iSprache has been set 01!" - end select -======= select case lcase ( sLanOutIni ) case "en_us", "en-us", "en" : iSprache = 01 ' English (USA) case "pt_pt", "pt-pt", "pt" : iSprache = 03 ' Portuguese @@ -385,7 +336,6 @@ sub GetLanguageInformation warnlog "- sLanOutIni = " & sLanOutIni & " (fallback mode; unknown language)" warnlog "- iSprache has been set 01!" end select ->>>>>>> other if iSprache = 81 OR iSprache = 82 OR iSprache = 86 OR iSprache = 88 then bAsianLan = TRUE @@ -405,38 +355,6 @@ end sub function ConvertLanguage ( Sprache as String ) as Integer '/// Sets international language code for the whole language name. -<<<<<<< local - select case lCase ( Sprache ) - case "deutsch", "german" : ConvertLanguage = 49 - case "englisch", "english" : ConvertLanguage = 01 - case "portugisisch", "portugiesisch", "portuguese" : ConvertLanguage = 03 - case "russisch", "russian" : ConvertLanguage = 07 - case "czech", "tschechisch" : ConvertLanguage = 29 - case "griechisch", "greek" : ConvertLanguage = 30 - case "niederlaendisch", "hollaendisch", "netherlands" : ConvertLanguage = 31 - case "franzoesisch", "french" : ConvertLanguage = 33 - case "spanisch", "spanish" : ConvertLanguage = 34 - case "finisch", "finnish" : ConvertLanguage = 35 - case "hungaria", "ungarisch" : ConvertLanguage = 36 - case "italienisch", "italian" : ConvertLanguage = 39 - case "slowak", "slovakisch" : ConvertLanguage = 43 - case "daenisch", "danish" : ConvertLanguage = 45 - case "schwedisch", "swedish" : ConvertLanguage = 46 - case "norwegian", "norwegisch" : ConvertLanguage = 47 - case "polnisch", "polish" : ConvertLanguage = 48 - case "serbisch kyrillisch", "serbian cyrillic" : ConvertLanguage = 51 - case "serbisch latein", "serbian latin" : ConvertLanguage = 52 - case "japanisch", "japanese" : ConvertLanguage = 81 - case "koreanisch", "korean" : ConvertLanguage = 82 - case "vietnamesisch", "vietnamese" : ConvertLanguage = 84 - case "chinesisch", "chinese" : ConvertLanguage = 86 - case "chinesisch trad.", "chinese trad." : ConvertLanguage = 88 - case "tuerkisch", "turkish" : ConvertLanguage = 90 - case "arabisch", "arab" : ConvertLanguage = 96 - case "catalan", "katalanisch" : ConvertLanguage = 99 - case "slovenian", "slovenisch" : ConvertLanguage = 386 - end select -======= select case lCase ( Sprache ) case "deutsch", "german" : ConvertLanguage = 49 case "englisch", "english" : ConvertLanguage = 01 @@ -467,52 +385,11 @@ function ConvertLanguage ( Sprache as String ) as Integer case "arabisch", "arab" : ConvertLanguage = 96 case "catalan", "katalanisch" : ConvertLanguage = 99 end select ->>>>>>> other end function '------------------------------------------------------------------------- function GetLanguageText ( iLan ) as String -<<<<<<< local - '/// Sets the language name for the international language-code. - select case iLan - case 01 : GetLanguageText = "English (USA)" - case 03 : GetLanguageText = "Portuguese" - case 07 : GetLanguageText = "Russian" - case 30 : GetLanguageText = "Greek" - case 31 : GetLanguageText = "Dutch" - case 33 : GetLanguageText = "French" - case 34 : GetLanguageText = "Spanish" - case 35 : GetLanguageText = "Finnish" - case 36 : GetLanguageText = "Hungarian" - case 37 : GetLanguageText = "Catalan" - case 39 : GetLanguageText = "Italian" - case 42 : GetLanguageText = "Czech" - case 43 : GetLanguageText = "Slowak" - case 44 : GetLanguageText = "English (GB)" - case 45 : GetLanguageText = "Danish" - case 46 : GetLanguageText = "Swedish" - case 47 : GetLanguageText = "Norwegian" - case 48 : GetLanguageText = "Polnish" - case 49 : GetLanguageText = "German" - case 51 : GetlanguageText = "Serbian (Cyrillic)" - case 52 : GetlanguageText = "Serbian (Latin)" - case 55 : GetLanguageText = "Portuguese (Brazil)" - case 66 : GetLanguageText = "Thai" - case 81 : GetLanguageText = "Japanese" - case 82 : GetLanguageText = "Korean" - case 84 : GetLanguageText = "Vietnamese" - case 86 : GetLanguageText = "Chinese (simplified)" - case 88 : GetLanguageText = "Chinese (traditional)" - case 90 : GetLanguageText = "Turkish" - case 91 : GetLanguageText = "Hindi" - case 96 : GetLanguageText = "Arabic" - case 97 : GetLanguageText = "Hebrew" - case 99 : GetLanguageText = "Unknown" - case 386 : GetlanguageText = "Slovenian" - case else : GetLanguageText = "detection failed" - end select -======= '/// Sets the language name for the international language-code. select case iLan case 01 : GetLanguageText = "English (USA)" @@ -551,64 +428,11 @@ function GetLanguageText ( iLan ) as String case 99 : GetLanguageText = "Unknown" case else : GetLanguageText = "detection failed" end select ->>>>>>> other end function '------------------------------------------------------------------------- function ConvertLanguage2 ( sSprache as String, optional bExact ) as Integer -<<<<<<< local - '/// Sets the international language code for the international language shortcut. - '/// optional bExact: If language not available, 'shut up' and return '0' - select case lCase ( sSprache ) - case "en_us", "en-us", "en" : ConvertLanguage2 = 01 ' English (USA) - case "pt_pt", "pt-pt", "pt" : ConvertLanguage2 = 03 ' Portuguese - case "ru_ru", "ru-ru", "ru" : ConvertLanguage2 = 07 ' Russian - case "el_gr", "el-gr", "el" : ConvertLanguage2 = 30 ' Greek - case "nl_nl", "nl-nl", "nl" : ConvertLanguage2 = 31 ' Dutch - case "fr_fr", "fr-fr", "fr" : ConvertLanguage2 = 33 ' French - case "es_es", "es-es", "es" : ConvertLanguage2 = 34 ' Spanish - case "fi_fi", "fi-fi", "fi" : ConvertLanguage2 = 35 ' Finnish - case "hu_hu", "hu-hu", "hu" : ConvertLanguage2 = 36 ' Hungaria - case "ca_ad", "ca-ad", "ca" : ConvertLanguage2 = 37 ' Catalan - case "it_it", "it-it", "it" : ConvertLanguage2 = 39 ' Italian - case "cs_cz", "cs-cz", "cs" : ConvertLanguage2 = 42 ' Czech - case "sk_sk", "sk-sk", "sk" : ConvertLanguage2 = 43 ' Slowak - case "en_gb", "en-gb" : ConvertLanguage2 = 44 ' English (GB) - case "da_dk", "da-dk", "da" : ConvertLanguage2 = 45 ' Danish - case "sv_se", "sv-se", "sv" : ConvertLanguage2 = 46 ' Swedish - case "no_no", "no-no", "no" : ConvertLanguage2 = 47 ' Norwegian - case "pl_pl", "pl-pl", "pl" : ConvertLanguage2 = 48 ' Polish - case "de_de", "de-de", "de" : ConvertLanguage2 = 49 ' German - case "sr_rs", "sr_rs", "sr" : ConvertLanguage2 = 51 ' Serbian (Cyrillic) - case "sh_rs", "sh_rs", "sh" : ConvertLanguage2 = 52 ' Serbian (Latin) - case "pt_br", "pt-br", "br" : ConvertLanguage2 = 55 ' Portuguese (Brazil) - case "th_th", "th-th", "th" : ConvertLanguage2 = 66 ' Thai - case "ja_jp", "ja-jp", "ja" : ConvertLanguage2 = 81 ' Japanese - case "ko_kr", "ko-kr", "ko" : ConvertLanguage2 = 82 ' Korean - case "vi_vi", "vi_vi", "vi" : ConvertLanguage2 = 84 ' Vietnamese - case "zh_cn", "zh-cn", "zh" : ConvertLanguage2 = 86 ' Chinese (simplified) - case "zh_tw", "zh-tw" : ConvertLanguage2 = 88 ' Chinese (traditional) - case "tr_tr", "tr-tr", "tr" : ConvertLanguage2 = 90 ' Turkish - case "hi_in", "hi-in", "hi" : ConvertLanguage2 = 91 ' Hindi - case "ar_ar", "ar-ar", "ar" : ConvertLanguage2 = 96 ' Arabic - case "he_he", "he-he", "he" : ConvertLanguage2 = 97 ' Hebrew - case "sl_si", "sl-si", "sl" : ConvertLanguage2 = 386 - case "zz_zz", "zz-zz", "zz" : ConvertLanguage2 = 01 ' unknown - case else : - if isMissing (bExact) then - printlog "iniinfo.inc::ConvertLanguage2(): Unknown systemlanguage '" & sSprache & "'!" - printlog "Default will be set to 01!" - ConvertLanguage2 = 01 - else - printlog "iniinfo.inc::ConvertLanguage2(): Unknown systemlanguage '" & sSprache & "'!" - if bExact = TRUE then - printlog "Default will be set to 00!" - ConvertLanguage2 = 00 - end if - end if - end select -======= '/// Sets the international language code for the international language shortcut. '/// optional bExact: If language not available, 'shut up' and return '0' select case lCase ( sSprache ) @@ -658,7 +482,6 @@ function ConvertLanguage2 ( sSprache as String, optional bExact ) as Integer end if end if end select ->>>>>>> other end function '------------------------------------------------------------------------- @@ -666,46 +489,6 @@ end function function ConvertCodeToLanguage ( sSprache as String ) as Integer '/// Converts the old language code to international language code -<<<<<<< local - select case lCase ( sSprache ) - case "1033" : ConvertCodeToLanguage = 01 ' English (USA) - case "2070" : ConvertCodeToLanguage = 03 ' Portuguese - case "1049" : ConvertCodeToLanguage = 07 ' Russian - case "1032" : ConvertCodeToLanguage = 30 ' Greek - case "1043" : ConvertCodeToLanguage = 31 ' Dutch - case "1036" : ConvertCodeToLanguage = 33 ' French - case "3082" : ConvertCodeToLanguage = 34 ' Spanish - case "1034" : ConvertCodeToLanguage = 34 ' Spanish - case "1035" : ConvertCodeToLanguage = 35 ' Finnish - case "1038" : ConvertCodeToLanguage = 36 ' Hungaria - case "2099" : ConvertCodeToLanguage = 37 ' Catalan - case "1040" : ConvertCodeToLanguage = 39 ' Italian - case "1029" : ConvertCodeToLanguage = 42 ' Czech - case "1051" : ConvertCodeToLanguage = 43 ' Slowak - case "2057" : ConvertCodeToLanguage = 44 ' English (GB) - case "1030" : ConvertCodeToLanguage = 45 ' Danish - case "1053" : ConvertCodeToLanguage = 46 ' Swedish - case "2047" : ConvertCodeToLanguage = 47 ' Norwegian - case "1045" : ConvertCodeToLanguage = 48 ' Polish - case "1031" : ConvertCodeToLanguage = 49 ' German - case " " : ConvertCodeToLanguage = 55 ' Portuguese (Brazil) - case "3098" : ConvertCodeToLanguage = 51 ' Serbian (Cyriliic) - case "2074" : ConvertCodeToLanguage = 52 ' Serbian (Latin) - case " " : ConvertCodeToLanguage = 66 ' Thai - case "1041" : ConvertCodeToLanguage = 81 ' Japanese - case "1042" : ConvertCodeToLanguage = 82 ' Korean - case "1066" : ConvertCodeToLanguage = 84 ' Vietnamese - case "2052" : ConvertCodeToLanguage = 86 ' Chinese (simplified) - case "1028" : ConvertCodeToLanguage = 88 ' Chinese (traditional) - case "1055" : ConvertCodeToLanguage = 90 ' Turkish - ' case " " : ConvertCodeToLanguage = 91 ' Hindi - case "1025" : ConvertCodeToLanguage = 96 ' Arabic - ' case " " : ConvertCodeToLanguage = 97 ' Hebrew - case "1060" : ConvertCodeToLanguage = 386 ' Slovenian - case else : printlog "iniinfo.inc::ConvertCodeToLanguage(): Num. Code could not be detect or is unknown and will be set to 01 (English (USA))!" - ConvertCodeToLanguage = 01 - end select -======= select case lCase ( sSprache ) case "1033" : ConvertCodeToLanguage = 01 ' English (USA) case "2070" : ConvertCodeToLanguage = 03 ' Portuguese @@ -744,7 +527,6 @@ function ConvertCodeToLanguage ( sSprache as String ) as Integer case else : printlog "iniinfo.inc::ConvertCodeToLanguage(): Num. Code could not be detect or is unknown and will be set to 01 (English (USA))!" ConvertCodeToLanguage = 01 end select ->>>>>>> other end function '------------------------------------------------------------------------- -- cgit From e1703d7ac3e485fb7b94787ecdf04a7910bb20c5 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 20 Apr 2010 10:04:52 +0200 Subject: jl152 import 263448 from native0jl:#i77196# XExtensionManager supports XModifyBroadcaster --- .../deployment/manager/dp_extensionmanager.cxx | 66 +++++++++++++++++++--- .../deployment/manager/dp_extensionmanager.hxx | 51 +++++------------ desktop/source/deployment/manager/dp_manager.cxx | 8 +-- 3 files changed, 74 insertions(+), 51 deletions(-) diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 15bd9a581611..c4581556749f 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -49,6 +49,7 @@ #include "com/sun/star/beans/Ambiguous.hpp" #include "com/sun/star/uno/XComponentContext.hpp" #include "com/sun/star/io/XInputStream.hpp" +#include "com/sun/star/util/XModifyBroadcaster.hpp" #include "comphelper/sequence.hxx" #include "xmlscript/xml_helper.hxx" #include "osl/diagnose.h" @@ -60,6 +61,8 @@ #include "dp_extensionmanager.hxx" #include "dp_commandenvironments.hxx" #include "dp_properties.hxx" +#include "boost/bind.hpp" + #include #include #include @@ -71,8 +74,10 @@ namespace task = com::sun::star::task; namespace ucb = com::sun::star::ucb; namespace uno = com::sun::star::uno; namespace beans = com::sun::star::beans; +namespace util = com::sun::star::util; namespace css = com::sun::star; + //#define OUSTR(s) rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s)) using ::com::sun::star::uno::Reference; @@ -121,6 +126,7 @@ namespace dp_manager { //ToDo: bundled extension ExtensionManager::ExtensionManager( Reference< uno::XComponentContext > const& xContext) : + ::cppu::WeakComponentImplHelper1< css::deployment::XExtensionManager >(getMutex()), m_xContext( xContext ) { Reference xPackageManagerFactory( @@ -433,7 +439,7 @@ Reference ExtensionManager::addExtension( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); Reference xTmpExtension = getTempExtension(url, xAbortChannel, xCmdEnv); const OUString sIdentifier = dp_misc::getIdentifier(xTmpExtension); @@ -529,6 +535,7 @@ Reference ExtensionManager::addExtension( activateExtension( dp_misc::getIdentifier(xNewExtension), xNewExtension->getName(), xAbortChannel, xCmdEnv); + fireModified(); } } catch (deploy::DeploymentException& ) { @@ -573,6 +580,7 @@ Reference ExtensionManager::addExtension( if (xTmpExtension.is() || xExtensionBackup.is()) m_tmpRepository->removePackage( sIdentifier, OUString(), xAbortChannel, xCmdEnv); + fireModified(); } catch (...) { @@ -616,7 +624,7 @@ void ExtensionManager::removeExtension( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); //Backup the extension, in case the user cancels the action xExtensionBackup = backupExtension( identifier, fileName, xPackageManager, xCmdEnv); @@ -630,6 +638,7 @@ void ExtensionManager::removeExtension( xPackageManager->removePackage( identifier, fileName, xAbortChannel, xCmdEnv); activateExtension(identifier, fileName, xAbortChannel, xCmdEnv); + fireModified(); } catch (deploy::DeploymentException& ) { excOccurred1 = ::cppu::getCaughtException(); @@ -670,6 +679,7 @@ void ExtensionManager::removeExtension( m_tmpRepository->removePackage( dp_misc::getIdentifier(xExtensionBackup), xExtensionBackup->getName(), xAbortChannel, xCmdEnv); + fireModified(); } } catch (...) @@ -705,7 +715,7 @@ void ExtensionManager::enableExtension( throw lang::IllegalArgumentException( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); //if it is already registered or if it cannot be registered //because it does not contain any files which need to be processed @@ -790,7 +800,7 @@ long ExtensionManager::checkPrerequisitesAndEnable( { if (!extension.is()) return 0; - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); sal_Int32 ret = 0; Reference mgr = getPackageManager(extension->getRepositoryName()); @@ -840,7 +850,7 @@ void ExtensionManager::disableExtension( if (!extension.is()) return; - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); OUString repository = extension->getRepositoryName(); if (!repository.equals(OUSTR("user"))) throw lang::IllegalArgumentException( @@ -999,7 +1009,7 @@ void ExtensionManager::reinstallDeployedExtensions( Reference xPackageManager = getPackageManager(repository); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); xPackageManager->reinstallDeployedPackages(xAbortChannel, xCmdEnv); const uno::Sequence< Reference > extensions( xPackageManager->getDeployedPackages(xAbortChannel, xCmdEnv)); @@ -1072,7 +1082,7 @@ void ExtensionManager::synchronize( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); dp_misc::ProgressLevel progress( xCmdEnv, OUSTR("Synchronizing ") + repository + OUSTR(" repository\n")); @@ -1235,7 +1245,7 @@ ExtensionManager::getExtensionsWithUnacceptedLicenses( { Reference xPackageManager = getPackageManager(repository); - ::osl::MutexGuard guard(m_mutex); + ::osl::MutexGuard guard(getMutex()); return xPackageManager->getExtensionsWithUnacceptedLicenses(xCmdEnv); } @@ -1273,6 +1283,46 @@ bool singleton_entries( } } +// XModifyBroadcaster +//______________________________________________________________________________ +void ExtensionManager::addModifyListener( + Reference const & xListener ) + throw (uno::RuntimeException) +{ + check(); + rBHelper.addListener( ::getCppuType( &xListener ), xListener ); +} + +//______________________________________________________________________________ +void ExtensionManager::removeModifyListener( + Reference const & xListener ) + throw (uno::RuntimeException) +{ + check(); + rBHelper.removeListener( ::getCppuType( &xListener ), xListener ); +} + +void ExtensionManager::check() +{ + ::osl::MutexGuard guard( getMutex() ); + if (rBHelper.bInDispose || rBHelper.bDisposed) { + throw lang::DisposedException( + OUSTR("ExtensionManager instance has already been disposed!"), + static_cast(this) ); + } +} + +void ExtensionManager::fireModified() +{ + ::cppu::OInterfaceContainerHelper * pContainer = rBHelper.getContainer( + util::XModifyListener::static_type() ); + if (pContainer != 0) { + pContainer->forEach( + boost::bind(&util::XModifyListener::modified, _1, + lang::EventObject(static_cast(this))) ); + } +} + } // namespace dp_manager diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index bafa97c24944..b11a2c64f546 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -35,11 +35,9 @@ #include "dp_activepackages.hxx" #include "rtl/ref.hxx" #include "cppuhelper/compbase1.hxx" -//#include "cppuhelper/implbase2.hxx" #include "ucbhelper/content.hxx" #include "com/sun/star/deployment/XPackageRegistry.hpp" #include "com/sun/star/deployment/XPackageManager.hpp" -//#include #include "osl/mutex.hxx" #include @@ -53,50 +51,31 @@ typedef ::std::hash_map< ::std::vector >, ::rtl::OUStringHash > id2extensions; -class ExtensionManager : - public ::cppu::WeakImplHelper1< css::deployment::XExtensionManager > +class ExtensionManager : private ::dp_misc::MutexHolder, + public ::cppu::WeakComponentImplHelper1< css::deployment::XExtensionManager > { -private: - ::osl::Mutex m_mutex; - - public: +public: ExtensionManager( css::uno::Reference< css::uno::XComponentContext >const& xContext); virtual ~ExtensionManager(); static css::uno::Sequence< ::rtl::OUString > getServiceNames(); static ::rtl::OUString getImplName(); -// // XInteractionHandler -// virtual void SAL_CALL handle( const uno::Reference< task::XInteractionRequest >& Request ) -// throw( uno::RuntimeException ); -// // XCommandEnvironment -// virtual uno::Reference< task::XInteractionHandler > SAL_CALL getInteractionHandler() -// throw ( uno::RuntimeException ) { return static_cast(this); }; + void check(); + void fireModified(); -// virtual uno::Reference< css_ucb::XProgressHandler > SAL_CALL getProgressHandler() -// throw ( uno::RuntimeException ) { return uno::Reference< css_ucb::XProgressHandler >(); }; public: - // XComponent - //virtual void SAL_CALL dispose() throw (css::uno::RuntimeException); - //virtual void SAL_CALL addEventListener( - // css::uno::Reference const & xListener ) - // throw (css::uno::RuntimeException); - //virtual void SAL_CALL removeEventListener( - // css::uno::Reference const & xListener ) - // throw (css::uno::RuntimeException); - // - //// XModifyBroadcaster - //virtual void SAL_CALL addModifyListener( - // css::uno::Reference const & xListener ) - // throw (css::uno::RuntimeException); - //virtual void SAL_CALL removeModifyListener( - // css::uno::Reference const & xListener ) - // throw (css::uno::RuntimeException); - - // XPackageManager -// virtual ::rtl::OUString SAL_CALL getContext() -// throw (css::uno::RuntimeException); + +// XModifyBroadcaster + virtual void SAL_CALL addModifyListener( + css::uno::Reference const & xListener ) + throw (css::uno::RuntimeException); + virtual void SAL_CALL removeModifyListener( + css::uno::Reference const & xListener ) + throw (css::uno::RuntimeException); + +//XExtensionManager virtual css::uno::Sequence< css::uno::Reference > SAL_CALL getSupportedPackageTypes(::rtl::OUString const & repository) diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 0464d0de62d5..8c55f2508680 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -827,13 +827,7 @@ Reference PackageManagerImpl::addPackage( try { OUString const id = dp_misc::getIdentifier( xPackage ); - //This guard is used to prevent that an extension is - //installed twice. Do not use it in other functions. - //Imagine addPackage is called two times by different - //threads for the same extension quickly after each other. - //The second call would calculate "bAlreadyInstalled = - //false" if the first thread has not yet reached - //insertToActivationLayerDB. + ::osl::MutexGuard g(m_addMutex); if (isInstalled(xPackage)) { -- cgit From 6ffed47ea2cb15b46915b3bef899f57db5eca10c Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 20 Apr 2010 10:04:52 +0200 Subject: jl152 import 263448 from native0jl:#i77196# XExtensionManager supports XModifyBroadcaster --- offapi/com/sun/star/deployment/XExtensionManager.idl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index dedf1cdd55b9..2346f72395af 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -68,12 +68,12 @@ interface XExtensionManager { /** interface to notify disposing */ -// interface com::sun::star::lang::XComponent; + interface com::sun::star::lang::XComponent; -// /** interface to notify changes of the set of deployed packages of -// this manager -// */ -// interface com::sun::star::util::XModifyBroadcaster; + /** interface to notify changes of the set of deployed packages of + this manager + */ + interface com::sun::star::util::XModifyBroadcaster; /** gets the supported XPackageTypeInfos. -- cgit From 3352e5bd4f5d1f797505d4738995018c4ec320fc Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 20 Apr 2010 10:37:35 +0200 Subject: vitomation01: #i109562 - simplified iniinfo.inc again by using byval parameter modifier instead of explicitly creating a copy of the parameter string in hStringReplaceChar() --- testautomation/global/system/includes/iniinfo.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/testautomation/global/system/includes/iniinfo.inc b/testautomation/global/system/includes/iniinfo.inc index 1052113000a7..552102588405 100755 --- a/testautomation/global/system/includes/iniinfo.inc +++ b/testautomation/global/system/includes/iniinfo.inc @@ -248,19 +248,20 @@ end function '------------------------------------------------------------------------- function ConvertPath( sPath as string ) as string + if ( getPathSeparator = "/" ) then ConvertPath() = hStringReplaceChar( sPath, "\", "/" ) else ConvertPath() = hStringReplaceChar( sPath, "/", "\" ) endif + end function '------------------------------------------------------------------------------- -function hStringReplaceChar( cString as string, old_char as string, new_char as string ) as string +function hStringReplaceChar( byval myString as string, old_char as string, new_char as string ) as string dim iChar as integer - dim myString as string : myString = cString for iChar = 1 to len( myString ) if ( mid( myString, iChar, 1 ) = old_char ) then mid( myString, iChar, 1, new_char ) next iChar -- cgit From 6c40087e01f3e5f06c3009f481c064569e9650a5 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 20 Apr 2010 11:28:12 +0200 Subject: vitomation01: #i111009 - Move tScripting to required tests as requested by HDE --- .../framework/optional/f_scripting_basics.bas | 54 ---------------- .../optional/includes/scripting_basics.inc | 73 --------------------- .../framework/required/f_script_organizers.bas | 4 +- .../required/includes/script_organizers.inc | 4 +- .../required/includes/scripting_basics.inc | 74 ++++++++++++++++++++++ 5 files changed, 80 insertions(+), 129 deletions(-) delete mode 100755 testautomation/framework/optional/f_scripting_basics.bas delete mode 100755 testautomation/framework/optional/includes/scripting_basics.inc create mode 100755 testautomation/framework/required/includes/scripting_basics.inc diff --git a/testautomation/framework/optional/f_scripting_basics.bas b/testautomation/framework/optional/f_scripting_basics.bas deleted file mode 100755 index 444544251aa0..000000000000 --- a/testautomation/framework/optional/f_scripting_basics.bas +++ /dev/null @@ -1,54 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'************************************************************************** -' 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 -' -' for a copy of the LGPLv3 License. -' -'/************************************************************************ -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : Quick tests for the scripting framework -'* -'\****************************************************************************** - -sub main - - use "framework\optional\includes\scripting_basics.inc" - - call hStatusIn( "framework" , "f_scripting_basics.bas" ) - call tScripting() - call hStatusOut() - -end sub - -'------------------------------------------------------------------------- - -sub LoadIncludeFiles - - use "global\system\includes\master.inc" - use "global\system\includes\gvariabl.inc" - - gApplication = "WRITER" - call GetUseFiles() - -end sub diff --git a/testautomation/framework/optional/includes/scripting_basics.inc b/testautomation/framework/optional/includes/scripting_basics.inc deleted file mode 100755 index 879597852d98..000000000000 --- a/testautomation/framework/optional/includes/scripting_basics.inc +++ /dev/null @@ -1,73 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'************************************************************************** -' 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 -' -' for a copy of the LGPLv3 License. -' -'/************************************************************************ -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : Quick short test for the scripting framework -'* -'\****************************************************************************** - -testcase tScripting - - - const ORGANIZER_ITEMS = 2 - - hFileCloseAll() - - ToolsMacrosOrganizeMacrosBeanShell - - Kontext "ScriptOrganizer" - if ( ScriptOrganizer.exists( 5 ) ) then - printlog( "Beanshell Script Organizer is present. Good" ) - if ( ScriptTreeList.getItemCount() <> ORGANIZER_ITEMS ) then - warnlog( "The Treelist does not contain the expected number " & _ - "of items. Please verify that exactly three top-nodes exist" ) - endif - ScriptOrganizer.cancel() - else - warnlog( "Script Organizer for Beanshell is missing" ) - endif - - ToolsMacrosOrganizeMacrosJavaScript - - Kontext "ScriptOrganizer" - if ( ScriptOrganizer.exists( 5 ) ) then - printlog( "JavaScript Script Organizer is present. Good" ) - if ( ScriptTreeList.getItemCount() <> ORGANIZER_ITEMS ) then - warnlog( "The Treelist does not contain the expected number " & _ - "of items. Please verify that exactly three top-nodes exist" ) - endif - ScriptOrganizer.cancel() - else - warnlog( "Script Organizer for JavaScript is missing" ) - endif - - -endcase - - - diff --git a/testautomation/framework/required/f_script_organizers.bas b/testautomation/framework/required/f_script_organizers.bas index 5d0a1e8d3b91..cdf5018d3374 100755 --- a/testautomation/framework/required/f_script_organizers.bas +++ b/testautomation/framework/required/f_script_organizers.bas @@ -33,10 +33,12 @@ sub main + use "framework\required\includes\scripting_basics.inc" use "framework\required\includes\script_organizers.inc" call hStatusIn( "framework" , "f_script_organizers.bas" ) - call tUpdtScriptCount() + call tScripting() ' script organizer nodes if no documents are open + call tUpdtScriptCount() ' script organizer nodes with one open document call hStatusOut() end sub diff --git a/testautomation/framework/required/includes/script_organizers.inc b/testautomation/framework/required/includes/script_organizers.inc index a84750dd1922..ac874decdc6e 100755 --- a/testautomation/framework/required/includes/script_organizers.inc +++ b/testautomation/framework/required/includes/script_organizers.inc @@ -36,10 +36,12 @@ testcase tUpdtScriptCount printlog( "Resource test for macros and scripts / related dialogs" ) const SCRIPTING_DIALOGS = 5 + dim aScriptCount( SCRIPTING_DIALOGS ) aScriptCount( 1 ) = 10 aScriptCount( 2 ) = 14 - aScriptCount( 3 ) = 10 + aScriptCount( 3 ) = 10 + if ( gOOo ) then aScriptCount( 4 ) = 585 aScriptCount( 5 ) = 601 diff --git a/testautomation/framework/required/includes/scripting_basics.inc b/testautomation/framework/required/includes/scripting_basics.inc new file mode 100755 index 000000000000..d5377c4873bd --- /dev/null +++ b/testautomation/framework/required/includes/scripting_basics.inc @@ -0,0 +1,74 @@ +'encoding UTF-8 Do not remove or change this line! +'************************************************************************** +' 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 +' +' for a copy of the LGPLv3 License. +' +'/************************************************************************ +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Quick short test for the scripting framework +'* +'\****************************************************************************** + +testcase tScripting + + printlog( "Verify that the nodes and are present" ) + + const ORGANIZER_ITEMS = 2 + const MAX_DIALOG_DELAY = 5 + + hFileCloseAll() + + ToolsMacrosOrganizeMacrosBeanShell + + Kontext "ScriptOrganizer" + if ( ScriptOrganizer.exists( MAX_DIALOG_DELAY ) ) then + printlog( "Beanshell Script Organizer is present. Good" ) + if ( ScriptTreeList.getItemCount() <> ORGANIZER_ITEMS ) then + warnlog( "The Treelist does not contain the expected number " & _ + "of items. Please verify that exactly " & ORGANIZER_ITEMS & " top-nodes exist" ) + endif + hCloseDialog( ScriptOrganizer, "cancel" ) + else + warnlog( "Script Organizer for Beanshell is missing" ) + endif + + ToolsMacrosOrganizeMacrosJavaScript + + Kontext "ScriptOrganizer" + if ( ScriptOrganizer.exists( MAX_DIALOG_DELAY ) ) then + printlog( "JavaScript Script Organizer is present. Good" ) + if ( ScriptTreeList.getItemCount() <> ORGANIZER_ITEMS ) then + warnlog( "The Treelist does not contain the expected number " & _ + "of items. Please verify that exactly " & ORGANIZER_ITEMS & " top-nodes exist" ) + endif + hCloseDialog( ScriptOrganizer, "cancel" ) + else + warnlog( "Script Organizer for JavaScript is missing" ) + endif + +endcase + + + -- cgit From 86b11ad7b6c61fc559c286d28b91ef10102e2c5c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 08:43:53 +0200 Subject: vitomation01: Experiment - full rewrite of sMakeDocumentEditable() --- .../global/tools/includes/required/t_doc2.inc | 129 ++++++++------------- testautomation/writer/required/includes/w_007_.inc | 12 +- 2 files changed, 56 insertions(+), 85 deletions(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_007_.inc diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 160de6dedff4..93ccbeb243fb 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -115,93 +115,66 @@ end sub ' function sMakeReadOnlyDocumentEditable() as boolean - ' Function returns TRUE if document has been made editable and FALSE if - ' no action was required (that is: Document was not read-only) + ' Switch a write protected document to edit mode. + + const CFN = "sMakeReadOnlyDocumentEditable(): " + + ' Timings + const MAX_RETRIES = 5 + const MAX_DELAY = 500 + const MAX_DIALOG_DELAY = 2 + + ' States + const ITEM_STATE = 2 + const BUTTON_RELEASED = 0 + const BUTTON_PRESSED = 1 dim iTry as integer - dim iWait as integer - dim rc as integer - const CFN = "sMakeReadOnlyDocumentEditable::" - - if ( GVERBOSE ) then printlog( CFN & "Making document editable (create a copy) if it is readonly" ) - - ' We still run into synchronization problems with the "Make document editable" feature - ' because we do not know when this button becomes available and ready for use: The - ' document has to be loaded, then we have to wait for the toolbar to get populated. - ' One thing appears to work though: Try to execute the slot using hUseAsyncSlot. - ' This is a little bit tricky because the state of the document is altered but if - ' the slot has been executed once we know for sure that the button on the toolbar is - ' available and can check its state and - if need be - change the document state back. - - ' ========== Workaround begin ========== - hUseAsyncSlot( "EditDoc" ) + + kontext "StandardBar" + for iTry = 1 to MAX_RETRIES + wait( MAX_DELAY ) + try + if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_RELEASED ) then + Bearbeiten.click() + exit for + endif + catch + printlog( CFN & "Failed to switch to edit mode, retrying..." ) + endcatch + next iTry + kontext "Active" - if ( Active.exists() ) then - if ( GVERBOSE ) then printlog( "Handling create copy message" ) - Active.yes() - wait( 1000 ) - endif - ' ========== Workaround end ========== - Kontext "Standardbar" - iWait = 0 - Do - if ( Bearbeiten.IsEnabled() ) then - try - if Bearbeiten.getState( 2 ) = 0 then - exit do - endif - catch - if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" - iWait = iWait + 1 - wait ( 1000 ) - endcatch + if ( Active.exists( MAX_DIALOG_DELAY ) ) then + kontext "Active" + if ( hCloseDialog( Active, "yes" ) ) then + ' This is the expected "Use copy" message else - if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" - iWait = iWait + 1 - wait ( 1000 ) - end if - if iWait >= 5 then exit do - Loop - - if ( Bearbeiten.IsEnabled() ) then - - if ( Bearbeiten.getState( 2 ) = 0 ) then - - rc = hUseAsyncSlot("editdoc") + ' This is most likely the "Object not found" message (which is a bug) + printlog( CFN & Active.getText() ) + hCloseDialog( Active, "ok" ) + warnlog( CFN & "Errormessage closed with " ) + endif + endif - if ( rc >= 0 ) then - for iTry = 1 to 2 - - - Kontext "Active" - if ( Active.exists( 5 ) ) then - - printlog( CFN & "Messagebox: " & Active.getText() ) - - try - if ( GVERBOSE ) then printlog( CFN & "Document was read-only. A copy will be used." ) - Active.Yes() - if ( GVERBOSE ) then printlog( CFN & "Closed 'use copy' message" ) - catch - if ( GVERBOSE ) then printlog( CFN & "Probing for unexpected messagebox..." ) - active.ok() - qaerrorlog( "#i100701 - Object not found message" ) - endcatch - else - printlog( CFN & "No messagebox informing about a copy being used" ) - endif - sMakeReadOnlyDocumentEditable() = TRUE - next iTry + try + kontext "StandardBar" + if ( Bearbeiten.isEnabled() ) then + if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_PRESSED ) then + printlog( "Document already is in edit-mode (Edit button pressed)" ) + sMakeReadOnlyDocumentEditable() = true else - printlog( CFN & "Document appears to be editable" ) + warnlog( CFN & "Document is still in view-mode (Mode switch failed)" ) + sMakeReadOnlyDocumentEditable() = false endif else - if ( GVERBOSE ) then printlog( CFN & "Button is pressed, document is editable" ) - sMakeReadOnlyDocumentEditable() = FALSE + printlog( "Document has been switched to edit-mode (Edit button disabled, using copy)" ) + sMakeReadOnlyDocumentEditable() = true endif - else - if ( GVERBOSE ) then printlog( CFN & "Control is not enabled" ) - endif + catch + warnlog( CFN & "Failed to retrieve status for Edit button" ) + sMakeReadOnlyDocumentEditable() = false + endcatch end function ' diff --git a/testautomation/writer/required/includes/w_007_.inc b/testautomation/writer/required/includes/w_007_.inc old mode 100644 new mode 100755 index 3a93dfae45db..36e02813c87d --- a/testautomation/writer/required/includes/w_007_.inc +++ b/testautomation/writer/required/includes/w_007_.inc @@ -125,7 +125,7 @@ testcase tToolsSpellcheck if Active.exists then if Active.GetRT = 304 then Active.Ok Warnlog "Dialog 'Spellcheck' not up!" - Call hCloseDocument + hFileCloseAll() goto endsub end if catch @@ -204,9 +204,8 @@ testcase tToolsSpellcheck Spellcheck.Close wait 500 PrintLog "Close active documents" - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase ' ------------------------------------------- @@ -299,9 +298,8 @@ testcase tToolsThesaurus printlog " Close 'Thesaurus' dialog" Thesaurus.Cancel PrintLog "Close active documents" - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase ' ------------------------------------------- -- cgit From 2e3956ed220c272c9b6a2e75d729c508d273c97d Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 11:11:44 +0200 Subject: vitomation01: Experimental change to sMakeReadOnlyDocumentEditable() --- testautomation/global/tools/includes/required/t_doc2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 93ccbeb243fb..d88bab198640 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -133,7 +133,6 @@ function sMakeReadOnlyDocumentEditable() as boolean kontext "StandardBar" for iTry = 1 to MAX_RETRIES - wait( MAX_DELAY ) try if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_RELEASED ) then Bearbeiten.click() @@ -142,6 +141,7 @@ function sMakeReadOnlyDocumentEditable() as boolean catch printlog( CFN & "Failed to switch to edit mode, retrying..." ) endcatch + wait( MAX_DELAY ) next iTry kontext "Active" -- cgit From 88d3dd86266054828294f5e7b4f408f2b4ceb364 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 12:10:23 +0200 Subject: vitomation01: Experimental change to sMakeReadOnlyDocumentEditable(), added waitslot for slower machines --- testautomation/global/tools/includes/required/t_doc2.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index d88bab198640..5d327baffa7b 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -116,7 +116,6 @@ end sub function sMakeReadOnlyDocumentEditable() as boolean ' Switch a write protected document to edit mode. - const CFN = "sMakeReadOnlyDocumentEditable(): " ' Timings @@ -131,6 +130,7 @@ function sMakeReadOnlyDocumentEditable() as boolean dim iTry as integer + ' Try to click the Edit-Button on the Standardbar kontext "StandardBar" for iTry = 1 to MAX_RETRIES try @@ -144,11 +144,12 @@ function sMakeReadOnlyDocumentEditable() as boolean wait( MAX_DELAY ) next iTry + ' Probe for messageboxes, the "Use copy" message is allowed, all others are not kontext "Active" if ( Active.exists( MAX_DIALOG_DELAY ) ) then kontext "Active" if ( hCloseDialog( Active, "yes" ) ) then - ' This is the expected "Use copy" message + ' This is the expected/allowed "Use copy" message else ' This is most likely the "Object not found" message (which is a bug) printlog( CFN & Active.getText() ) @@ -157,6 +158,9 @@ function sMakeReadOnlyDocumentEditable() as boolean endif endif + WaitSlot( MAX_DELAY * 10 ) ' Let the document switch mode + + ' Verify the state of the Edit-Button, it must be either disabled or pressed. try kontext "StandardBar" if ( Bearbeiten.isEnabled() ) then -- cgit From 20bce675b64747afc675970f611190f3cea0652c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 12:47:43 +0200 Subject: vitomation01: #i108621 - re-enabled two tests that had unjustified qaerrorlogs --- testautomation/writer/required/includes/w_001_.inc | 6 ------ 1 file changed, 6 deletions(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_001_.inc diff --git a/testautomation/writer/required/includes/w_001_.inc b/testautomation/writer/required/includes/w_001_.inc old mode 100644 new mode 100755 index 24292afc4a2a..99c434be4863 --- a/testautomation/writer/required/includes/w_001_.inc +++ b/testautomation/writer/required/includes/w_001_.inc @@ -55,9 +55,6 @@ end sub testcase tFileNewLabels -QAErrorLog "#i102218# - tFileNewLabels outcommented due to bug." -goto endsub - Dim iSheetFormat as integer Dim iBrandIndex as integer Dim iType as integer @@ -247,9 +244,6 @@ endcase testcase tFileNewBusinessCards -QAErrorLog "#i102218# - tFileNewBusinessCards outcommented due to bug." -goto endsub - Dim iFormat as integer Dim iBrand as integer Dim iType as integer -- cgit From ef6c1a43cdb788cdb4195fd89100e24f3bbc806f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 12:53:19 +0200 Subject: vitomation01: Experiment - introduce more dynamic delays for slower machines to sMakeReadOnlyDocumentEditable --- testautomation/global/tools/includes/required/t_doc2.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 5d327baffa7b..488fd23a40a1 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -130,6 +130,8 @@ function sMakeReadOnlyDocumentEditable() as boolean dim iTry as integer + WaitSlot( MAX_DELAY * 10 ) ' Let all running slots finish + ' Try to click the Edit-Button on the Standardbar kontext "StandardBar" for iTry = 1 to MAX_RETRIES @@ -137,6 +139,8 @@ function sMakeReadOnlyDocumentEditable() as boolean if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_RELEASED ) then Bearbeiten.click() exit for + else + printlog( CFN & "Failed to switch to edit mode, button has incorrect state" ) endif catch printlog( CFN & "Failed to switch to edit mode, retrying..." ) -- cgit From 87163b519d3380f972851cef33810b26a2535cb0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 21 Apr 2010 13:49:55 +0200 Subject: vitomation01: #i108387 - Force checkin with DOS CR/LF line terminators --- .../graphics/optional/includes/impress/im_007_.inc | 1108 ++++++++++---------- testautomation/tools/run_tests/run_tests.vbs | 46 +- 2 files changed, 577 insertions(+), 577 deletions(-) diff --git a/testautomation/graphics/optional/includes/impress/im_007_.inc b/testautomation/graphics/optional/includes/impress/im_007_.inc index fcd80a8d8f5a..15c9e8609b5d 100644 --- a/testautomation/graphics/optional/includes/impress/im_007_.inc +++ b/testautomation/graphics/optional/includes/impress/im_007_.inc @@ -33,52 +33,52 @@ ' this menue is only in impress availble testcase tSlideShowSlideShow -'/// open application ///' - Call hNewDocument -'/// Slide Show->Slide Show Settings ///' + '/// open application ///' + Call hNewDocument + '/// Slide Show->Slide Show Settings ///' SlideShowPresentationSettings - Kontext "Bildschirmpraesentation" - '/// check if 'type' 'default' is checked, it has to be the default !///' - if standard.IsChecked then - if LogoAnzeigen.isEnabled then - Warnlog "'Show Logo' is Enabled :-(" - endif - else - Warnlog "type 'default' is not checked as default :-(" - endif - '/// check checkbox 'Window' ///' - Fenster.Check - Printlog "- Presentation in window mode is checked" - '/// close dialog with OK 'Slide Show' ///' + Kontext "Bildschirmpraesentation" + '/// check if 'type' 'default' is checked, it has to be the default !///' + if standard.IsChecked then + if LogoAnzeigen.isEnabled then + Warnlog "'Show Logo' is Enabled :-(" + endif + else + Warnlog "type 'default' is not checked as default :-(" + endif + '/// check checkbox 'Window' ///' + Fenster.Check + Printlog "- Presentation in window mode is checked" + '/// close dialog with OK 'Slide Show' ///' Bildschirmpraesentation.Ok sleep 3 -'/// Slide Show->Slide Show ///' + '/// Slide Show->Slide Show ///' SlideShowSlideshow Sleep 5 try - Kontext "DocumentPresentation" - sleep 3 -'/// Press to leave presentation mode ///' - DocumentPresentation.Typekeys ("") - Sleep 3 - Kontext "DocumentImpress" - DocumentImpress.MouseDoubleClick ( 50, 50 ) - Sleep 3 + Kontext "DocumentPresentation" + sleep 3 + '/// Press to leave presentation mode ///' + DocumentPresentation.Typekeys ("") + Sleep 3 + Kontext "DocumentImpress" + DocumentImpress.MouseDoubleClick ( 50, 50 ) + Sleep 3 catch -' FileClose - warnlog "had to catch :-( " -' Kontext "Messagebox" -' if Messagebox.Exists (5) Then Messagebox.No -' Kontext -' sleep (12) -' start sAppExe$ -' sleep (6) -' Kontext -' if Office.Exists(2) then Resetapplication -' Warnlog "Slide didn't end, application wasn't in document edit mode" + ' FileClose + warnlog "had to catch :-( " + ' Kontext "Messagebox" + ' if Messagebox.Exists (5) Then Messagebox.No + ' Kontext + ' sleep (12) + ' start sAppExe$ + ' sleep (6) + ' Kontext + ' if Office.Exists(2) then Resetapplication + ' Warnlog "Slide didn't end, application wasn't in document edit mode" endcatch -'/// close application ///' - Call hCloseDocument + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowRehearseTimings @@ -97,157 +97,157 @@ testcase tSlideShowRehearseTimings sleep 2 Kontext "DocumentPresentation" '/// Press to leave presentation mode ///' - if DocumentPresentation.Exists (5) then - DocumentPresentation.Typekeys ("") - else - Warnlog "SlideShowRehearseTimings mode not accessible" - endif - Sleep 3 - if DocumentPresentation.Exists then ' the kontext hasnt to be available, else ERROR - DocumentPresentation.TypeKeys "" ' => I mustn't be here ever ! - Warnlog "- Slide show mode should have ended" - else - printlog "SlideShowRehearseTimings mode not accessible :-) " - end if - sleep 3 - try - Kontext "DocumentImpress" - DocumentImpress.MouseDoubleClick ( 50, 50 ) + if DocumentPresentation.Exists (5) then + DocumentPresentation.Typekeys ("") + else + Warnlog "SlideShowRehearseTimings mode not accessible" + endif + Sleep 3 + if DocumentPresentation.Exists then ' the kontext hasnt to be available, else ERROR + DocumentPresentation.TypeKeys "" ' => I mustn't be here ever ! + Warnlog "- Slide show mode should have ended" + else + printlog "SlideShowRehearseTimings mode not accessible :-) " + end if + sleep 3 + try + Kontext "DocumentImpress" + DocumentImpress.MouseDoubleClick ( 50, 50 ) - sleep 3 - catch - warnlog "Had to catch :-( " - endcatch + sleep 3 + catch + warnlog "Had to catch :-( " + endcatch sleep 3 -'/// close application ///' - Call hCloseDocument + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowSlideShowSettings -'/// open application ///' - Call hNewDocument - sleep 2 -'/// Slide Show->Slide Show Settings ///' - SlideShowPresentationSettings - Kontext "Bildschirmpraesentation" - call Dialogtest (Bildschirmpraesentation) - '/// check checkbox in section 'Range' - 'From: ///' - AbDia.Check - '/// select the 3rd item from the top from listbox 'From:' ///' - AbDiaName.GetSelText - '/// check checkbox 'All Slides' ///' - AlleDias.Check -'///' RangeCustomSlideShow ' gets tested in tSlideShowCustomSlideShow ///' -' IndividuellePraesentationName - '/// check checkbox 'window' ///' - Fenster.Check - '/// check checkbox 'default' ///' - Standard.Check - '/// check check box 'Auto' -> implies looping of slideshow in fullscreen mode ///' - Auto.Check - '/// set duration of pause to '00:00:05' ///' - Zeit.GetText - '/// check check box 'Show logo' ///' - LogoAnzeigen.Check - '/// check checkbox 'Change slides maually' ///' - DiawechselManuel.Check - '/// check checkbox 'Mouse pointer as pen' ///' - MauszeigerAlsStift.Check - '/// UNcheck checkbox 'Mouse pointer visible' ///' - MauszeigerSichtbar.UnCheck - '/// check checkbox 'Navigator visible' ///' - NavigatorSichtbar.Check - '/// UNcheck checkbox 'animations allowed' ///' - AnimationenZulassen.UnCheck - '/// UNcheck checkbox 'Change slides by clicking on background' ///' - DiaWechselAufHintergrund.UnCheck - '/// check checkbox 'Presentation always on top' ///' - PraesentationImmerImVordergrund.Check - '/// cancel dialog 'Slide Show' ///' - Bildschirmpraesentation.Cancel -'/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + sleep 2 + '/// Slide Show->Slide Show Settings ///' + SlideShowPresentationSettings + Kontext "Bildschirmpraesentation" + call Dialogtest (Bildschirmpraesentation) + '/// check checkbox in section 'Range' - 'From: ///' + AbDia.Check + '/// select the 3rd item from the top from listbox 'From:' ///' + AbDiaName.GetSelText + '/// check checkbox 'All Slides' ///' + AlleDias.Check + '///' RangeCustomSlideShow ' gets tested in tSlideShowCustomSlideShow ///' + ' IndividuellePraesentationName + '/// check checkbox 'window' ///' + Fenster.Check + '/// check checkbox 'default' ///' + Standard.Check + '/// check check box 'Auto' -> implies looping of slideshow in fullscreen mode ///' + Auto.Check + '/// set duration of pause to '00:00:05' ///' + Zeit.GetText + '/// check check box 'Show logo' ///' + LogoAnzeigen.Check + '/// check checkbox 'Change slides maually' ///' + DiawechselManuel.Check + '/// check checkbox 'Mouse pointer as pen' ///' + MauszeigerAlsStift.Check + '/// UNcheck checkbox 'Mouse pointer visible' ///' + MauszeigerSichtbar.UnCheck + '/// check checkbox 'Navigator visible' ///' + NavigatorSichtbar.Check + '/// UNcheck checkbox 'animations allowed' ///' + AnimationenZulassen.UnCheck + '/// UNcheck checkbox 'Change slides by clicking on background' ///' + DiaWechselAufHintergrund.UnCheck + '/// check checkbox 'Presentation always on top' ///' + PraesentationImmerImVordergrund.Check + '/// cancel dialog 'Slide Show' ///' + Bildschirmpraesentation.Cancel + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowCustomSlideShow - '/// open application ///' - Call hNewDocument - sleep 2 - '/// Slide Show->Custom Slide Show ///' - SlideShowCustomSlideshow - Kontext "IndividuellePraesentation" - call Dialogtest (IndividuellePraesentation) - '/// click button 'New' ///' - Neu.Click - Kontext "IndividuellePraesentationDefinieren" - Call DialogTest (IndividuellePraesentationDefinieren) - '/// select the first entry in the list 'Existing Slides' ///' - SeitenPraesentation.Select 1 - '/// click button '>>' ///' - Hinzufuegen.Click - '/// close dialog 'Define Custom Slide Show' with OK ///' - IndividuellePraesentationDefinieren.OK - Kontext "IndividuellePraesentation" - '/// click button 'Copy' ///' - Kopieren.Click - '/// click button 'Delete' ///' - Loeschen.Click - '/// click button 'Edit' ///' - Bearbeiten.Click - Kontext "IndividuellePraesentationDefinieren" - '/// select 1st entry in the list 'Selected Slides' ///' - SelectedSlides.Select 1 - '/// click button '<<' ///' - Entfernen.Click - '/// close dialog 'Define Custom Slide Show' with Cancel ///' - IndividuellePraesentationDefinieren.Cancel - Kontext "IndividuellePraesentation" - '/// check checkbox 'Use Custom Slide Show' ///' - IndividuellePraesentationBenutzen.Check - sleep 1 - '///+ UNcheck checkbox 'Use Custom Slide Show' ///' - IndividuellePraesentationBenutzen.UnCheck - '/// click button 'Start...' ///' - Starten.Click - sleep 5 - '/// press key [space] 2 times ///' - kontext "DocumentPresentation" - DocumentPresentation.TypeKeys "" - sleep 1 - DocumentPresentation.TypeKeys "" - sleep 1 - '/// close dialog 'Custom Slide Shows' ///' -' IndividuellePraesentation.Close ' slide show ends dialog ! - '/// Slide Show->Slide Show Settings ///' - try - SlideShowPresentationSettings - catch - warnlog "Presentation did not end :-(" - DocumentPresentation.TypeKeys "" - endcatch - Kontext "Bildschirmpraesentation" - if Bildschirmpraesentation.exists (5) then - '/// check checkbox 'Custom Slide Show' ///' - RangeCustomSlideShow.Check - printlog "check: '" + IndividuellePraesentationName.GetSelText + "'" - '/// cancel dialog 'Slide Show' ///' - Bildschirmpraesentation.Cancel - else - warnlog "Dialog not open? SlideShowPresentationSettings" - endif - '/// Slide Show->Custom Slide Show ///' - SlideShowCustomSlideshow - Kontext "IndividuellePraesentation" - if (IndividuellePraesentation.exists (5)) then - '/// click button 'Delete' ///' - Loeschen.Click - '/// close dialog 'Custom Slide Shows' ///' - IndividuellePraesentation.Close - else - warnlog "Dialog not open? SlideShowCustomSlideshow" - endif - '/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + sleep 2 + '/// Slide Show->Custom Slide Show ///' + SlideShowCustomSlideshow + Kontext "IndividuellePraesentation" + call Dialogtest (IndividuellePraesentation) + '/// click button 'New' ///' + Neu.Click + Kontext "IndividuellePraesentationDefinieren" + Call DialogTest (IndividuellePraesentationDefinieren) + '/// select the first entry in the list 'Existing Slides' ///' + SeitenPraesentation.Select 1 + '/// click button '>>' ///' + Hinzufuegen.Click + '/// close dialog 'Define Custom Slide Show' with OK ///' + IndividuellePraesentationDefinieren.OK + Kontext "IndividuellePraesentation" + '/// click button 'Copy' ///' + Kopieren.Click + '/// click button 'Delete' ///' + Loeschen.Click + '/// click button 'Edit' ///' + Bearbeiten.Click + Kontext "IndividuellePraesentationDefinieren" + '/// select 1st entry in the list 'Selected Slides' ///' + SelectedSlides.Select 1 + '/// click button '<<' ///' + Entfernen.Click + '/// close dialog 'Define Custom Slide Show' with Cancel ///' + IndividuellePraesentationDefinieren.Cancel + Kontext "IndividuellePraesentation" + '/// check checkbox 'Use Custom Slide Show' ///' + IndividuellePraesentationBenutzen.Check + sleep 1 + '///+ UNcheck checkbox 'Use Custom Slide Show' ///' + IndividuellePraesentationBenutzen.UnCheck + '/// click button 'Start...' ///' + Starten.Click + sleep 5 + '/// press key [space] 2 times ///' + kontext "DocumentPresentation" + DocumentPresentation.TypeKeys "" + sleep 1 + DocumentPresentation.TypeKeys "" + sleep 1 + '/// close dialog 'Custom Slide Shows' ///' + ' IndividuellePraesentation.Close ' slide show ends dialog ! + '/// Slide Show->Slide Show Settings ///' + try + SlideShowPresentationSettings + catch + warnlog "Presentation did not end :-(" + DocumentPresentation.TypeKeys "" + endcatch + Kontext "Bildschirmpraesentation" + if Bildschirmpraesentation.exists (5) then + '/// check checkbox 'Custom Slide Show' ///' + RangeCustomSlideShow.Check + printlog "check: '" + IndividuellePraesentationName.GetSelText + "'" + '/// cancel dialog 'Slide Show' ///' + Bildschirmpraesentation.Cancel + else + warnlog "Dialog not open? SlideShowPresentationSettings" + endif + '/// Slide Show->Custom Slide Show ///' + SlideShowCustomSlideshow + Kontext "IndividuellePraesentation" + if (IndividuellePraesentation.exists (5)) then + '/// click button 'Delete' ///' + Loeschen.Click + '/// close dialog 'Custom Slide Shows' ///' + IndividuellePraesentation.Close + else + warnlog "Dialog not open? SlideShowCustomSlideshow" + endif + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowSlideTransition @@ -266,191 +266,191 @@ testcase tSlideShowSlideTransition sleep 2 '/// The 'Slide Transition' in the right 'Tasks' Pane has to come up ///' Kontext "Tasks" - '/// Select the second entry from teh Listbox 'Applay to selected slides' ///' - TransitionApplyToSelectedSlide.select (2) - sleep 5 ' takes some time, until it is run - Printlog "Count of effects : "+TransitionApplyToSelectedSlide.GetItemCount - Printlog "Count of Speeds : "+TransitionSpeed.GetItemCount - iCount = TransitionSound.GetItemCount - Printlog "Count of Sounds : " + iCount + '/// Select the second entry from teh Listbox 'Applay to selected slides' ///' + TransitionApplyToSelectedSlide.select (2) + sleep 5 ' takes some time, until it is run + Printlog "Count of effects : "+TransitionApplyToSelectedSlide.GetItemCount + Printlog "Count of Speeds : "+TransitionSpeed.GetItemCount + iCount = TransitionSound.GetItemCount + Printlog "Count of Sounds : " + iCount - '/// One Entry of the Listbox 'Sound' is 'Other sound...', select it ///' - TransitionSound.typeKeys "" - i = 0 - for a = 1 to iCount - TransitionSound.select (a) - kontext "OeffnenDlg" - if (OeffnenDlg.exists (5)) then - if (0=i) then - ' remember when dialog came up - i = a - OeffnenDlg.cancel - else - warnlog "File Open Dialog comes up a second time!" - OeffnenDlg.cancel - endif - endif - kontext "Tasks" - ' the Checkbox is disabled on teh first three entries: , ... - if (TransitionLoopUntilNextSound.isEnabled AND (a<4)) then - qaErrorLog "May be Language specific -> Evaluation of TBO; " + a - endif - next a - TransitionSound.select (i) - '/// The dialog 'Open' comes up///' - sleep 1 + '/// One Entry of the Listbox 'Sound' is 'Other sound...', select it ///' + TransitionSound.typeKeys "" + i = 0 + for a = 1 to iCount + TransitionSound.select (a) kontext "OeffnenDlg" if (OeffnenDlg.exists (5)) then - '/// Read all entries in Listbox 'File type' ///' - for i = 1 to Dateityp.getItemCount - printlog "" + i + ":" + Dateityp.getItemText(i) - next i - '/// cancel dialog 'Open' ///' - OeffnenDlg.cancel - else - warnlog "Impress:Tasks Pane:Slide Transition:Sound:Other sound... disdn't bring up teh File Open Dialog!" + if (0=i) then + ' remember when dialog came up + i = a + OeffnenDlg.cancel + else + warnlog "File Open Dialog comes up a second time!" + OeffnenDlg.cancel + endif endif kontext "Tasks" - sleep (2) - '/// check checkbox 'Automatically after' ///' - TransitionAutomaticallyAfter.check - sleep (2) - '/// press key 'Page Up' in box ///' - TransitionAutomaticallyAfterTime.typeKeys "" - sleep 9 - '/// check the standard checkbox 'On mouse click' ///' - TransitionOnMouseClick.check - sleep (2) - '/// press button 'Apply to All Slides' ///' - TransitionApplyToAllSlides.click - sleep (2) - '/// press button 'Play' ///' - TransitionPlay.click - sleep 10 - '/// press button 'Slide Show' ///' - TransitionSlideShow.click - sleep 2 - kontext "DocumentPresentation" - if DocumentPresentation.exists (10) then - printlog "Presentation started :-)" - DocumentPresentation.typeKeys "" - else - warnlog "Impress:Tasks Pane:Slide Transition:Slide Show button doesn't start slideshow!" + ' the Checkbox is disabled on teh first three entries: , ... + if (TransitionLoopUntilNextSound.isEnabled AND (a<4)) then + qaErrorLog "May be Language specific -> Evaluation of TBO; " + a endif - kontext "Tasks" + next a + TransitionSound.select (i) + '/// The dialog 'Open' comes up///' + sleep 1 + kontext "OeffnenDlg" + if (OeffnenDlg.exists (5)) then + '/// Read all entries in Listbox 'File type' ///' + for i = 1 to Dateityp.getItemCount + printlog "" + i + ":" + Dateityp.getItemText(i) + next i + '/// cancel dialog 'Open' ///' + OeffnenDlg.cancel + else + warnlog "Impress:Tasks Pane:Slide Transition:Sound:Other sound... disdn't bring up teh File Open Dialog!" + endif + kontext "Tasks" + sleep (2) + '/// check checkbox 'Automatically after' ///' + TransitionAutomaticallyAfter.check + sleep (2) + '/// press key 'Page Up' in box ///' + TransitionAutomaticallyAfterTime.typeKeys "" + sleep 9 + '/// check the standard checkbox 'On mouse click' ///' + TransitionOnMouseClick.check + sleep (2) + '/// press button 'Apply to All Slides' ///' + TransitionApplyToAllSlides.click + sleep (2) + '/// press button 'Play' ///' + TransitionPlay.click + sleep 10 + '/// press button 'Slide Show' ///' + TransitionSlideShow.click + sleep 2 + kontext "DocumentPresentation" + if DocumentPresentation.exists (10) then + printlog "Presentation started :-)" + DocumentPresentation.typeKeys "" + else + warnlog "Impress:Tasks Pane:Slide Transition:Slide Show button doesn't start slideshow!" + endif + kontext "Tasks" - '/// uncheck and check Checkbox 'Automatic Preview' ///' - '/// default is checked ///' - if (NOT TransitionAutomaticPreview.isChecked) then - warnlog "Impress:Tasks Pane:Slide Transition: Automatic preview has to be checked by default, wasn't!" - endif - sleep (2) - TransitionAutomaticPreview.unCheck - sleep (2) - TransitionAutomaticPreview.Check + '/// uncheck and check Checkbox 'Automatic Preview' ///' + '/// default is checked ///' + if (NOT TransitionAutomaticPreview.isChecked) then + warnlog "Impress:Tasks Pane:Slide Transition: Automatic preview has to be checked by default, wasn't!" + endif + sleep (2) + TransitionAutomaticPreview.unCheck + sleep (2) + TransitionAutomaticPreview.Check '/// close application ///' Call hCloseDocument endcase testcase tSlideShowShowHideSlide -'/// open application ///' - Call hNewDocument -'/// create rectangle ///' - Call hRechteckErstellen ( 10, 10, 20, 40 ) -'/// View->Master View->Slides View ///' - ViewWorkspaceSlidesView - sleep 1 -'/// Slide Show->Hide Slide ///' - SlideShowHideSlide - sleep 1 -'/// Slide Show->Show Slide ///' - SlideShowShowSlide -'/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + '/// create rectangle ///' + Call hRechteckErstellen ( 10, 10, 20, 40 ) + '/// View->Master View->Slides View ///' + ViewWorkspaceSlidesView + sleep 1 + '/// Slide Show->Hide Slide ///' + SlideShowHideSlide + sleep 1 + '/// Slide Show->Show Slide ///' + SlideShowShowSlide + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowAnimation -'/// open application ///' - Call hNewDocument - sleep 1 -'/// create rectangle ///' - Call hRechteckErstellen ( 10, 10, 20, 40 ) - sleep 1 -'/// Insert ->Animated image ///' - Opl_SD_EffekteZulassen - Kontext "Animation" - sleep 1 -'/// click button 'Apply Object' ///' - BildAufnehmen.Click 'BildAufnehmen -'/// click button 'Create' ///' - Erstellen.Click - sleep 1 -'/// Select 1st entry from top in 'Alignment' ///' - Anpassung.Select 1 - sleep 1 -'/// click button 'Create' ///' - Erstellen.Click - sleep 1 -'/// click button 'Apply Objects Individually' ///' - AlleAufnehmen.Click - sleep 1 -'/// click button 'First Image' ///' - ErstesBild.Click - sleep 1 -'/// click button 'Last Image' ///' - LetztesBild.Click - sleep 1 -'/// click button 'BAckwards' ///' - Rueckwaerts.Click - sleep 1 -'/// click button 'Play' ///' - Abspielen.Click - sleep 1 -'/// click in Number field 'Image Number' Less - More ///' - AnzahlBilder.Less - sleep 1 - AnzahlBilder.More - sleep 1 -'/// check 'Bitmap Object' ///' - AnimationsgruppeBitmapobjekt.Check - sleep 1 -'/// Type '10' into the field 'Duration' ///' - AnzeigedauerProBild.SetText "10" -'/// click button 'Play' ///' - Abspielen.Click -'/// wait 5 seconds ///' - sleep 5 -'/// click button 'Stop' ///' - try + '/// open application ///' + Call hNewDocument + sleep 1 + '/// create rectangle ///' + Call hRechteckErstellen ( 10, 10, 20, 40 ) + sleep 1 + '/// Insert ->Animated image ///' + Opl_SD_EffekteZulassen + Kontext "Animation" + sleep 1 + '/// click button 'Apply Object' ///' + BildAufnehmen.Click 'BildAufnehmen + '/// click button 'Create' ///' + Erstellen.Click + sleep 1 + '/// Select 1st entry from top in 'Alignment' ///' + Anpassung.Select 1 + sleep 1 + '/// click button 'Create' ///' + Erstellen.Click + sleep 1 + '/// click button 'Apply Objects Individually' ///' + AlleAufnehmen.Click + sleep 1 + '/// click button 'First Image' ///' + ErstesBild.Click + sleep 1 + '/// click button 'Last Image' ///' + LetztesBild.Click + sleep 1 + '/// click button 'BAckwards' ///' + Rueckwaerts.Click + sleep 1 + '/// click button 'Play' ///' + Abspielen.Click + sleep 1 + '/// click in Number field 'Image Number' Less - More ///' + AnzahlBilder.Less + sleep 1 + AnzahlBilder.More + sleep 1 + '/// check 'Bitmap Object' ///' + AnimationsgruppeBitmapobjekt.Check + sleep 1 + '/// Type '10' into the field 'Duration' ///' + AnzeigedauerProBild.SetText "10" + '/// click button 'Play' ///' + Abspielen.Click + '/// wait 5 seconds ///' + sleep 5 + '/// click button 'Stop' ///' + try Stopp.Click - catch + catch warnlog "Stopbutton doesn't work" - endcatch - sleep 1 -'/// Select 1st entry from top in 'Loop Count' ///' - AnzahlDurchlaeufe.Select 1 - sleep 1 -'/// click button 'Delete Current Image' ///' - BildLoeschen.Click - sleep 1 -'/// check 'Group Object' ///' - AnimationsgruppeGruppenobjekt.Check - sleep 1 -'/// click button 'Delete All Images' ///' - AlleLoeschen.Click - kontext "Messagebox" -'/// there has to be a messagebox 'Really delete?' say YES!; else ERROR ///' - if Messagebox.exists (5) then - Messagebox.YES - else - warnlog "No one cares about my data :-( No one asked if all shall be deleted :-( " - endif - sleep 1 - kontext "Animation" -'/// close dialog 'Animation' ///' - Animation.Close -'/// close application ///' - Call hCloseDocument + endcatch + sleep 1 + '/// Select 1st entry from top in 'Loop Count' ///' + AnzahlDurchlaeufe.Select 1 + sleep 1 + '/// click button 'Delete Current Image' ///' + BildLoeschen.Click + sleep 1 + '/// check 'Group Object' ///' + AnimationsgruppeGruppenobjekt.Check + sleep 1 + '/// click button 'Delete All Images' ///' + AlleLoeschen.Click + kontext "Messagebox" + '/// there has to be a messagebox 'Really delete?' say YES!; else ERROR ///' + if Messagebox.exists (5) then + Messagebox.YES + else + warnlog "No one cares about my data :-( No one asked if all shall be deleted :-( " + endif + sleep 1 + kontext "Animation" + '/// close dialog 'Animation' ///' + Animation.Close + '/// close application ///' + Call hCloseDocument endcase testcase tSlideShowCustomAnimation @@ -462,229 +462,229 @@ testcase tSlideShowCustomAnimation Call hTextrahmenErstellen ("Test text to test text effects", 10, 10, 20, 40 ) '/// Slide Show->Custom Animation... ///' SlideShowCustomAnimation - Kontext "Tasks" - '/// click button 'Add...' ///' - EffectAdd.click + Kontext "Tasks" + '/// click button 'Add...' ///' + EffectAdd.click + '/// Dialog 'Custom Animation' comes up ///' + kontext + '/// Switch to TabPage: Entrance ///' + active.setPage(TabEntrance) + kontext "TabEntrance" + if TabEntrance.exists(5) then + DialogTest(TabEntrance) + '/// select in the listbox 'Effects' the second entry///' + Effects.select(2) + Speed.getItemCount + AutomaticPreview.unCheck + sleep 1 + AutomaticPreview.Check + kontext + '/// Switch to TabPage: Emphasis ///' + active.setPage(TabEmphasis) + kontext "TabEmphasis" + if TabEmphasis.exists(5) then + DialogTest(TabEmphasis) + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:TabEmphasis tabPage doesn't work." + endif + kontext + '/// Switch to TabPage: Exit ///' + active.setPage(TabExit) + kontext "TabExit" + if TabExit.exists(5) then + DialogTest(TabExit) + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:TabExit tabPage doesn't work." + endif + kontext + '/// Switch to TabPage: Motion Paths ///' + active.setPage(TabMotionPaths) + kontext "TabMotionPaths" + if TabMotionPaths.exists(5) then + DialogTest(TabMotionPaths) + Effects.select(7) + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:TabMotionPaths tabPage doesn't work." + endif + '/// Close dialog 'Custom Animation' with 'OK' ///' + TabMotionPaths.OK + bError = false + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work." + endif + Kontext "Tasks" + if (NOT bError) then + '/// click button 'Change...' ///' + EffectChange.click '/// Dialog 'Custom Animation' comes up ///' kontext '/// Switch to TabPage: Entrance ///' active.setPage(TabEntrance) kontext "TabEntrance" - if TabEntrance.exists(5) then - DialogTest(TabEntrance) - '/// select in the listbox 'Effects' the second entry///' - Effects.select(2) - Speed.getItemCount - AutomaticPreview.unCheck - sleep 1 - AutomaticPreview.Check - kontext - '/// Switch to TabPage: Emphasis ///' - active.setPage(TabEmphasis) - kontext "TabEmphasis" - if TabEmphasis.exists(5) then - DialogTest(TabEmphasis) - else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:TabEmphasis tabPage doesn't work." - endif - kontext - '/// Switch to TabPage: Exit ///' - active.setPage(TabExit) - kontext "TabExit" - if TabExit.exists(5) then - DialogTest(TabExit) + if (NOT TabEntrance.exists(5)) then + warnlog "Impress:Tasks Pane:Custom Animation:Change... button didn't work." + endif + TabEntrance.cancel + Kontext "Tasks" + EffectStart.getItemCount + if EffectProperty.isEnabled then + EffectProperty.getItemCount + endif + '/// CLick on button '...' (Options) ///' + EffectOptions.click + kontext "TabEffect" + if TabEffect.exists(5) then + dialogTest(TabEffect) + Sound.getItemCount + AfterAnimation.getItemCount + '/// switch to TabPage 'Timing' ///' + Kontext + active.setPage TabTiming + kontext "TabTiming" + if TabTiming.exists(5) then + dialogTest(TabTiming) + TimingStart.getItemCount + Delay.getText + Speed.getItemCount + Repeat.getItemCount + Rewind.ischecked + TriggerAnimate.isChecked + TriggerStart.isChecked + Shape.getItemCount else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:TabExit tabPage doesn't work." + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." endif - kontext - '/// Switch to TabPage: Motion Paths ///' - active.setPage(TabMotionPaths) - kontext "TabMotionPaths" - if TabMotionPaths.exists(5) then - DialogTest(TabMotionPaths) - Effects.select(7) + '/// switch to TabPage 'Timing' ///' + Kontext + active.setPage TabTextAnimation + kontext "TabTextAnimation" + if TabTextAnimation.exists(5) then + dialogTest(TabTextAnimation) + GroupText.getItemCount + AnimateAttachedShape.isChecked + TabTextAnimation.cancel else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:TabMotionPaths tabPage doesn't work." + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." endif - '/// Close dialog 'Custom Animation' with 'OK' ///' - TabMotionPaths.OK - bError = false else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work." + warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." endif Kontext "Tasks" - if (NOT bError) then - '/// click button 'Change...' ///' - EffectChange.click - '/// Dialog 'Custom Animation' comes up ///' - kontext - '/// Switch to TabPage: Entrance ///' - active.setPage(TabEntrance) - kontext "TabEntrance" - if (NOT TabEntrance.exists(5)) then - warnlog "Impress:Tasks Pane:Custom Animation:Change... button didn't work." - endif - TabEntrance.cancel - Kontext "Tasks" - EffectStart.getItemCount - if EffectProperty.isEnabled then - EffectProperty.getItemCount - endif - '/// CLick on button '...' (Options) ///' - EffectOptions.click - kontext "TabEffect" - if TabEffect.exists(5) then - dialogTest(TabEffect) - Sound.getItemCount - AfterAnimation.getItemCount - '/// switch to TabPage 'Timing' ///' - Kontext - active.setPage TabTiming - kontext "TabTiming" - if TabTiming.exists(5) then - dialogTest(TabTiming) - TimingStart.getItemCount - Delay.getText - Speed.getItemCount - Repeat.getItemCount - Rewind.ischecked - TriggerAnimate.isChecked - TriggerStart.isChecked - Shape.getItemCount - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." - endif - '/// switch to TabPage 'Timing' ///' - Kontext - active.setPage TabTextAnimation - kontext "TabTextAnimation" - if TabTextAnimation.exists(5) then - dialogTest(TabTextAnimation) - GroupText.getItemCount - AnimateAttachedShape.isChecked - TabTextAnimation.cancel - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." - endif - else - warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." - endif - Kontext "Tasks" - EffectSpeed.getItemCount - EffectList.getItemCount - EffectPlay.click - '/// Wait five seconds so the Playfunction has ended ///' - sleep 5 - EffectSlideShow.click - sleep 1 - kontext "DocumentPresentation" - if DocumentPresentation.exists (5) then - printlog "Presentation started :-)" - DocumentPresentation.typeKeys "" - else - warnlog "Impress:Tasks Pane:Custom Animation:Slide Show button doesn't start slideshow!" - endif - kontext "Tasks" - EffectAutomaticPreview.isChecked - '/// click button 'Remove' ///' - EffectRemove.click + EffectSpeed.getItemCount + EffectList.getItemCount + EffectPlay.click + '/// Wait five seconds so the Playfunction has ended ///' + sleep 5 + EffectSlideShow.click + sleep 1 + kontext "DocumentPresentation" + if DocumentPresentation.exists (5) then + printlog "Presentation started :-)" + DocumentPresentation.typeKeys "" + else + warnlog "Impress:Tasks Pane:Custom Animation:Slide Show button doesn't start slideshow!" endif + kontext "Tasks" + EffectAutomaticPreview.isChecked + '/// click button 'Remove' ///' + EffectRemove.click + endif '/// close application ///' Call hCloseDocument endcase testcase tSlideShowInteraction -'/// open application ///' - Call hNewDocument - sleep 2 -'/// create rectangle ///' - Call hRechteckErstellen (10, 10, 20, 20) - sleep 3 -'/// Slide Show->Interaction ///' - SlideShowInteraction - Kontext "TabInteraktion" - Call DialogTest (TabInteraktion, 1) - '///+ Select 6th entry from top in 'Action at mouse click' : 'Go to page or object' ///' - AktionBeiMausklick.select 6 - Printlog AktionBeiMausklick.GetSelText + " chosen" - Call DialogTest (TabInteraktion, 2) - '///+ click button 'Find' ///' - sleep 1 - suchen.click - Kontext "TabInteraktion" -'/// Select 7th entry from top in 'Action at mouse click' : 'Go to document' ///' - sleep 1 - AktionBeiMausklick.select 7 - sleep 1 - Printlog AktionBeiMausklick.GetSelText + " chosen" - Kontext "TabInteraktion" - Call DialogTest (TabInteraktion, 3) - '///+ click button 'Browse...' ///' - Durchsuchen.click - sleep 1 - kontext "OeffnenDlg" - call Dialogtest (OeffnenDlg) - '///+ cancel dialog 'open' ///' - OeffnenDlg.cancel - Kontext "TabInteraktion" - sleep 1 -'/// Select 9th entry from top in 'Action at mouse click' : 'Play Sound' ///' - AktionBeiMausklick.select 8 - Printlog AktionBeiMausklick.GetSelText + " chosen" - Call DialogTest (TabInteraktion, 4) - '///+ click button 'Browse...' ///' - Durchsuchen.click - sleep 1 - Kontext "OeffnenDlg" - Call dialogTest (OeffnenDlg) - '///+ cancel dialog 'open' ///' - OeffnenDlg.Cancel - sleep 1 - Kontext "TabInteraktion" -'/// Select 8th entry from top in 'Action at mouse click' : 'Run Program' ///' - AktionBeiMausklick.select 9 - Printlog AktionBeiMausklick.GetSelText + " chosen" - Call DialogTest (TabInteraktion, 7) - Kontext "TabInteraktion" - '///+ click button 'Browse...' ///' - Durchsuchen.Click - sleep 1 - Kontext "OeffnenDlg" - Call dialogTest (OeffnenDlg) - '///+ cancel dialog 'open' ///' - OeffnenDlg.Cancel - sleep 1 -'/// Select 9th entry from top in 'Action at mouse click' : 'Run Macro' ///' - Kontext "TabInteraktion" - AktionBeiMausklick.select 10 - Printlog AktionBeiMausklick.GetSelText + " chosen" - sleep 3 - Call DialogTest (TabInteraktion, 6) - '///+ click button 'Browse...' ///' - Durchsuchen.Click - sleep 1 - Kontext "ScriptSelector" - sleep 1 - Call DialogTest ( ScriptSelector, 1) - sleep 1 - '///+ cancel dialog 'ScriptSelector' ///' - ScriptSelector.Cancel - sleep 1 -'/// Select 10th entry from top in 'Action at mouse click' : 'Exit Presentation' ///' - Kontext "TabInteraktion" - AktionBeiMausklick.select 11 - Printlog AktionBeiMausklick.GetSelText + " chosen" - Call DialogTest (TabInteraktion, 7) - Kontext "TabInteraktion" -'/// close dialog 'Interaction' ///' - TabInteraktion.Close - sleep 2 -'/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + sleep 2 + '/// create rectangle ///' + Call hRechteckErstellen (10, 10, 20, 20) + sleep 3 + '/// Slide Show->Interaction ///' + SlideShowInteraction + Kontext "TabInteraktion" + Call DialogTest (TabInteraktion, 1) + '///+ Select 6th entry from top in 'Action at mouse click' : 'Go to page or object' ///' + AktionBeiMausklick.select 6 + Printlog AktionBeiMausklick.GetSelText + " chosen" + Call DialogTest (TabInteraktion, 2) + '///+ click button 'Find' ///' + sleep 1 + suchen.click + Kontext "TabInteraktion" + '/// Select 7th entry from top in 'Action at mouse click' : 'Go to document' ///' + sleep 1 + AktionBeiMausklick.select 7 + sleep 1 + Printlog AktionBeiMausklick.GetSelText + " chosen" + Kontext "TabInteraktion" + Call DialogTest (TabInteraktion, 3) + '///+ click button 'Browse...' ///' + Durchsuchen.click + sleep 1 + kontext "OeffnenDlg" + call Dialogtest (OeffnenDlg) + '///+ cancel dialog 'open' ///' + OeffnenDlg.cancel + Kontext "TabInteraktion" + sleep 1 + '/// Select 9th entry from top in 'Action at mouse click' : 'Play Sound' ///' + AktionBeiMausklick.select 8 + Printlog AktionBeiMausklick.GetSelText + " chosen" + Call DialogTest (TabInteraktion, 4) + '///+ click button 'Browse...' ///' + Durchsuchen.click + sleep 1 + Kontext "OeffnenDlg" + Call dialogTest (OeffnenDlg) + '///+ cancel dialog 'open' ///' + OeffnenDlg.Cancel + sleep 1 + Kontext "TabInteraktion" + '/// Select 8th entry from top in 'Action at mouse click' : 'Run Program' ///' + AktionBeiMausklick.select 9 + Printlog AktionBeiMausklick.GetSelText + " chosen" + Call DialogTest (TabInteraktion, 7) + Kontext "TabInteraktion" + '///+ click button 'Browse...' ///' + Durchsuchen.Click + sleep 1 + Kontext "OeffnenDlg" + Call dialogTest (OeffnenDlg) + '///+ cancel dialog 'open' ///' + OeffnenDlg.Cancel + sleep 1 + '/// Select 9th entry from top in 'Action at mouse click' : 'Run Macro' ///' + Kontext "TabInteraktion" + AktionBeiMausklick.select 10 + Printlog AktionBeiMausklick.GetSelText + " chosen" + sleep 3 + Call DialogTest (TabInteraktion, 6) + '///+ click button 'Browse...' ///' + Durchsuchen.Click + sleep 1 + Kontext "ScriptSelector" + sleep 1 + Call DialogTest ( ScriptSelector, 1) + sleep 1 + '///+ cancel dialog 'ScriptSelector' ///' + ScriptSelector.Cancel + sleep 1 + '/// Select 10th entry from top in 'Action at mouse click' : 'Exit Presentation' ///' + Kontext "TabInteraktion" + AktionBeiMausklick.select 11 + Printlog AktionBeiMausklick.GetSelText + " chosen" + Call DialogTest (TabInteraktion, 7) + Kontext "TabInteraktion" + '/// close dialog 'Interaction' ///' + TabInteraktion.Close + sleep 2 + '/// close application ///' + Call hCloseDocument endcase diff --git a/testautomation/tools/run_tests/run_tests.vbs b/testautomation/tools/run_tests/run_tests.vbs index 963e60c3c584..f32ab73c55aa 100755 --- a/testautomation/tools/run_tests/run_tests.vbs +++ b/testautomation/tools/run_tests/run_tests.vbs @@ -1,27 +1,27 @@ '************************************************************************** -' 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 -' -' for a copy of the LGPLv3 License. -' +' 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 +' +' for a copy of the LGPLv3 License. +' '* '######################################################################## ' -- cgit From 593cd3c47ab0df8f533e8b02b0dff7adc09e67c0 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Wed, 21 Apr 2010 14:27:16 +0200 Subject: [cbosdo03]Fixed warnings --- writerfilter/source/dmapper/NumberingManager.cxx | 2 +- writerfilter/source/dmapper/NumberingManager.hxx | 2 +- writerfilter/source/dmapper/StyleSheetTable.hxx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 501590cf08ad..e5ce2944ef1d 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -41,7 +41,7 @@ void lcl_printProperties( uno::Sequence< beans::PropertyValue > aProps ) for ( sal_Int32 i = 0; i < nLen; i++ ) { uno::Any aValue = aProps[i].Value; - sal_Int32 nValue; + sal_Int32 nValue = 0; OUString sValue; if ( !( aValue >>= sValue ) && ( aValue >>= nValue ) ) diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx index c368de285d4a..327736eda813 100644 --- a/writerfilter/source/dmapper/NumberingManager.hxx +++ b/writerfilter/source/dmapper/NumberingManager.hxx @@ -169,7 +169,7 @@ public: /** This class provides access to the defined numbering styles. */ -class WRITERFILTER_DLLPRIVATE ListsManager : +class ListsManager : public Properties, public Table { diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index 0dd31ed52f9d..adfb445be690 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -76,7 +76,7 @@ struct StyleSheetEntry typedef boost::shared_ptr StyleSheetEntryPtr; class DomainMapper; -class WRITERFILTER_DLLPRIVATE StyleSheetTable : +class StyleSheetTable : public Properties, public Table { -- cgit From c2d9d80b487dd0d7353b22eee44bee3b84fc7838 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 21 Apr 2010 16:04:34 +0200 Subject: jl152 import 263449 from native0jl:#i77196# no registration of components in uno.exe at startup, fixed extension activation, basic, etc. --- basic/source/inc/namecont.hxx | 11 ++ basic/source/uno/namecont.cxx | 90 ++++++++- .../deployment/gui/dp_gui_extensioncmdqueue.cxx | 2 +- .../deployment/manager/dp_extensionmanager.cxx | 207 +++++++++------------ .../deployment/manager/dp_extensionmanager.hxx | 21 ++- desktop/source/deployment/manager/dp_manager.hrc | 2 +- desktop/source/deployment/manager/dp_manager.src | 4 + .../deployment/registry/component/dp_component.cxx | 39 ++-- .../registry/configuration/dp_configuration.cxx | 2 + desktop/source/deployment/registry/dp_backend.cxx | 7 +- .../registry/executable/dp_executable.cxx | 2 + .../source/deployment/registry/help/dp_help.cxx | 2 + .../source/deployment/registry/inc/dp_backend.h | 3 + .../deployment/registry/package/dp_package.cxx | 4 +- .../deployment/registry/script/dp_script.cxx | 2 + .../source/deployment/registry/sfwk/dp_sfwk.cxx | 2 + .../migration/services/extensionmigration.cxx | 6 +- .../migration/services/oo3extensionmigration.cxx | 2 +- desktop/source/pkgchk/unopkg/unopkg_app.cxx | 7 +- svx/source/smarttags/SmartTagMgr.cxx | 11 +- 20 files changed, 253 insertions(+), 173 deletions(-) diff --git a/basic/source/inc/namecont.hxx b/basic/source/inc/namecont.hxx index 1f7e77170d44..2d24759d9b83 100644 --- a/basic/source/inc/namecont.hxx +++ b/basic/source/inc/namecont.hxx @@ -689,6 +689,7 @@ enum IteratorState { USER_EXTENSIONS, SHARED_EXTENSIONS, + BUNDLED_EXTENSIONS, END_REACHED }; @@ -708,6 +709,8 @@ protected: implGetNextUserScriptPackage( bool& rbPureDialogLib ); com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextSharedScriptPackage( bool& rbPureDialogLib ); + com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > + implGetNextBundledScriptPackage( bool& rbPureDialogLib ); com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > m_xContext; @@ -721,8 +724,16 @@ protected: < com::sun::star::deployment::XPackage > > m_aSharedPackagesSeq; bool m_bSharedPackagesLoaded; + com::sun::star::uno::Sequence< com::sun::star::uno::Reference + < com::sun::star::deployment::XPackage > > m_aBundledPackagesSeq; + bool m_bBundledPackagesLoaded; + + int m_iUserPackage; int m_iSharedPackage; + int m_iBundledPackage; + + ScriptSubPackageIterator* m_pScriptSubPackageIterator; diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx index 14c84420dad6..7a6a771f85cc 100644 --- a/basic/source/uno/namecont.cxx +++ b/basic/source/uno/namecont.cxx @@ -65,7 +65,7 @@ #include #include #include -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" +#include "com/sun/star/deployment/ExtensionManager.hpp" #include #ifndef _RTL_USTRING_HXX_ #include @@ -1080,6 +1080,7 @@ sal_Bool SfxLibraryContainer::init_Impl( OUString aUserSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE" ); OUString aSharedSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE" ); + OUString aBundledSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$BUNDLED_EXTENSIONS" ); OUString aInstSearchStr = OUString::createFromAscii( "$(INST)" ); Sequence< OUString > aNames = pPrevCont->getElementNames(); @@ -1111,6 +1112,7 @@ sal_Bool SfxLibraryContainer::init_Impl( bool bCreateLink = true; if( aStorageURL.indexOf( aUserSearchStr ) != -1 || aStorageURL.indexOf( aSharedSearchStr ) != -1 || + aStorageURL.indexOf( aBundledSearchStr ) != -1 || aStorageURL.indexOf( aInstSearchStr ) != -1 ) { bCreateLink = false; @@ -2182,11 +2184,12 @@ Reference< XNameAccess > SAL_CALL SfxLibraryContainer::createLibraryLink OUString aUserSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE" ); OUString aSharedSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE" ); + OUString aBundledSearchStr = OUString::createFromAscii( "vnd.sun.star.expand:$BUNDLED_EXTENSIONS" ); if( StorageURL.indexOf( aUserSearchStr ) != -1 ) { pNewLib->mbExtension = sal_True; } - else if( StorageURL.indexOf( aSharedSearchStr ) != -1 ) + else if( StorageURL.indexOf( aSharedSearchStr ) != -1 || StorageURL.indexOf( aBundledSearchStr ) != -1 ) { pNewLib->mbExtension = sal_True; pNewLib->mbReadOnly = sal_True; @@ -3075,8 +3078,10 @@ ScriptExtensionIterator::ScriptExtensionIterator( void ) : m_eState( USER_EXTENSIONS ) , m_bUserPackagesLoaded( false ) , m_bSharedPackagesLoaded( false ) + , m_bBundledPackagesLoaded( false ) , m_iUserPackage( 0 ) , m_iSharedPackage( 0 ) + , m_iBundledPackage( 0 ) , m_pScriptSubPackageIterator( NULL ) { Reference< XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory(); @@ -3125,6 +3130,16 @@ rtl::OUString ScriptExtensionIterator::nextBasicOrDialogLibrary( bool& rbPureDia aRetLib = xScriptPackage->getURL(); break; } + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xScriptPackage = + implGetNextBundledScriptPackage( rbPureDialogLib ); + if( !xScriptPackage.is() ) + break; + + aRetLib = xScriptPackage->getURL(); + break; + } case END_REACHED: VOS_ENSURE( false, "ScriptExtensionIterator::nextBasicOrDialogLibrary(): Invalid case END_REACHED" ); break; @@ -3295,10 +3310,11 @@ Reference< deployment::XPackage > ScriptExtensionIterator::implGetNextUserScript { try { - Reference< XPackageManager > xUserManager = - thePackageManagerFactory::get( m_xContext )->getPackageManager( rtl::OUString::createFromAscii("user") ); - m_aUserPackagesSeq = xUserManager->getDeployedPackages - ( Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); + Reference< XExtensionManager > xManager = + ExtensionManager::get( m_xContext ); + m_aUserPackagesSeq = xManager->getDeployedExtensions + (rtl::OUString::createFromAscii("user"), + Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); } catch( com::sun::star::uno::DeploymentException& ) { @@ -3348,10 +3364,11 @@ Reference< deployment::XPackage > ScriptExtensionIterator::implGetNextSharedScri { try { - Reference< XPackageManager > xSharedManager = - thePackageManagerFactory::get( m_xContext )->getPackageManager( rtl::OUString::createFromAscii("shared") ); - m_aSharedPackagesSeq = xSharedManager->getDeployedPackages - ( Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); + Reference< XExtensionManager > xSharedManager = + ExtensionManager::get( m_xContext ); + m_aSharedPackagesSeq = xSharedManager->getDeployedExtensions + (rtl::OUString::createFromAscii("shared"), + Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); } catch( com::sun::star::uno::DeploymentException& ) { @@ -3391,4 +3408,57 @@ Reference< deployment::XPackage > ScriptExtensionIterator::implGetNextSharedScri return xScriptPackage; } +Reference< deployment::XPackage > ScriptExtensionIterator::implGetNextBundledScriptPackage + ( bool& rbPureDialogLib ) +{ + Reference< deployment::XPackage > xScriptPackage; + + if( !m_bBundledPackagesLoaded ) + { + try + { + Reference< XExtensionManager > xManager = + ExtensionManager::get( m_xContext ); + m_aBundledPackagesSeq = xManager->getDeployedExtensions + (rtl::OUString::createFromAscii("bundled"), + Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); + } + catch( com::sun::star::uno::DeploymentException& ) + { + // Special Office installations may not contain deployment code + return xScriptPackage; + } + + m_bBundledPackagesLoaded = true; + } + + if( m_iBundledPackage == m_aBundledPackagesSeq.getLength() ) + { + m_eState = END_REACHED; + } + else + { + if( m_pScriptSubPackageIterator == NULL ) + { + const Reference< deployment::XPackage >* pBundledPackages = m_aBundledPackagesSeq.getConstArray(); + Reference< deployment::XPackage > xPackage = pBundledPackages[ m_iBundledPackage ]; + VOS_ENSURE( xPackage.is(), "ScriptExtensionIterator::implGetNextBundledScriptPackage(): Invalid package" ); + m_pScriptSubPackageIterator = new ScriptSubPackageIterator( xPackage ); + } + + if( m_pScriptSubPackageIterator != NULL ) + { + xScriptPackage = m_pScriptSubPackageIterator->getNextScriptSubPackage( rbPureDialogLib ); + if( !xScriptPackage.is() ) + { + delete m_pScriptSubPackageIterator; + m_pScriptSubPackageIterator = NULL; + m_iBundledPackage++; + } + } + } + + return xScriptPackage; +} + } // namespace basic diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 4b55a93d3f84..647c46b754c8 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -1048,7 +1048,7 @@ void ExtensionCmdQueue::Thread::_enableExtension( ::rtl::Reference< ProgressCmdE try { - xPackage->registerPackage( xAbortChannel, rCmdEnv.get() ); + xPackage->registerPackage(false, xAbortChannel, rCmdEnv.get() ); if ( m_pDialogHelper ) m_pDialogHelper->updatePackageInfo( xPackage ); } diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index c4581556749f..bbe476e57fba 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -260,48 +260,38 @@ void ExtensionManager::addExtensionsToMap( } -/* -*/ -Reference ExtensionManager::getExtensionAndStatus( - ::rtl::OUString const & identifier, - ::rtl::OUString const & fileName, - ::rtl::OUString const & repository, - Reference const & xAbortChannel, - Reference const & xCmdEnv, - bool & out_bWasRegistered) +bool ExtensionManager::isUserDisabled( + OUString const & identifier, OUString const & fileName) { - Reference theExtension; ::std::list > listExtensions = - getExtensionsWithSameId(identifier, fileName); - OSL_ASSERT(listExtensions.size() == m_repositoryNames.size()); - Reference xActiveExtension; - ::std::list::const_iterator - inames = m_repositoryNames.begin(); - ::std::list >::const_iterator - iext = listExtensions.begin(); - for (; inames != m_repositoryNames.end(); inames++, iext++) + getExtensionsWithSameId(identifier, fileName); + OSL_ASSERT(listExtensions.size() == 3); + + return isUserDisabled( ::comphelper::containerToSequence< + Reference, + ::std::list > + > (listExtensions)); +} + +bool ExtensionManager::isUserDisabled( + uno::Sequence > const & seqExtSameId) +{ + OSL_ASSERT(seqExtSameId.getLength() == 3); + Reference const & userExtension = seqExtSameId[0]; + if (userExtension.is()) { - if (repository.equals(*inames)) - { - theExtension = *iext; - if (iext->is()) - { - beans::Optional > optRegistered = - (*iext)->isRegistered(xAbortChannel, xCmdEnv); - OSL_ENSURE(! optRegistered.Value.IsAmbiguous, - "Extension is not properly registered"); - //IsAmbiguous = true: only partly registered, but we assume - //that this is the active extension, and something went wrong when registering it - //previously. - if (optRegistered.IsPresent - && (optRegistered.Value.Value || optRegistered.Value.IsAmbiguous)) - out_bWasRegistered = true; - } - break; - } + beans::Optional > reg = + userExtension->isRegistered(Reference(), + Reference()); + //If the value is ambiguous is than we assume that the extension + //is enabled, but something went wrong during enabling. We do not + //automatically disable user extensions. + if (reg.IsPresent && + ! reg.Value.IsAmbiguous && ! reg.Value.Value) + return true; } - return theExtension; + return false; } /* @@ -321,6 +311,8 @@ Reference ExtensionManager::getExtensionAndStatus( */ void ExtensionManager::activateExtension( OUString const & identifier, OUString const & fileName, + bool bUserDisabled, + bool bStartup, Reference const & xAbortChannel, Reference const & xCmdEnv ) { @@ -333,11 +325,13 @@ void ExtensionManager::activateExtension( Reference, ::std::list > > (listExtensions), - xAbortChannel, xCmdEnv); + bUserDisabled, bStartup, xAbortChannel, xCmdEnv); } void ExtensionManager::activateExtension( uno::Sequence > const & seqExt, + bool bUserDisabled, + bool bStartup, Reference const & xAbortChannel, Reference const & xCmdEnv ) { @@ -355,9 +349,12 @@ void ExtensionManager::activateExtension( if (!optReg.IsPresent) break; - //Check if this is a disabled user extension, if so then skip - if (!optReg.Value.Value && i == 0) //e.g. not registered - continue; + //Check if this is a disabled user extension, + if (i == 0 && bUserDisabled) + { + aExt->revokePackage(xAbortChannel, xCmdEnv); + continue; + } //If we have already determined an active extension then we must //make sure to unregister all extensions with the same id in @@ -374,7 +371,7 @@ void ExtensionManager::activateExtension( //Register if not already done. //reregister if the value is ambiguous, which indicates that //something went wrong during last registration. - aExt->registerPackage(xAbortChannel, xCmdEnv); + aExt->registerPackage(bStartup, xAbortChannel, xCmdEnv); } } } @@ -455,17 +452,18 @@ Reference ExtensionManager::addExtension( uno::Any excOccurred1; uno::Any excOccurred2; - + bool bUserDisabled = false; try { - //If we add a user extension and there is already one which was - //disabled by a user, then the newly installed one is enabled. If we - //add to another repository then the user extension remains - //disabled. - bool bWasRegistered = false; - xOldExtension = getExtensionAndStatus( - sIdentifier, sFileName, repository, xAbortChannel, - xCmdEnv, bWasRegistered); + bUserDisabled = isUserDisabled(sIdentifier, sFileName); + try + { + xOldExtension = xPackageManager->getDeployedPackage( + sIdentifier, sFileName, xCmdEnv); + } + catch (lang::IllegalArgumentException &) + { + } bool bCanInstall = false; try { @@ -514,8 +512,7 @@ Reference ExtensionManager::addExtension( { if (xOldExtension.is()) { - if (bWasRegistered) - xOldExtension->revokePackage(xAbortChannel, xCmdEnv); + xOldExtension->revokePackage(xAbortChannel, xCmdEnv); //save the old user extension in case the user aborts //store the extension in the tmp repository, this will overwrite //xTmpPackage (same identifier). Do not let the user abort or @@ -532,9 +529,17 @@ Reference ExtensionManager::addExtension( xNewExtension = xPackageManager->addPackage( url, properties, OUString(), xAbortChannel, xCmdEnv); + + //If we add a user extension and there is already one which was + //disabled by a user, then the newly installed one is enabled. If we + //add to another repository then the user extension remains + //disabled. + bool bUserDisabled2 = bUserDisabled; + if (repository.equals(OUSTR("user"))) + bUserDisabled2 = false; activateExtension( dp_misc::getIdentifier(xNewExtension), - xNewExtension->getName(), xAbortChannel, xCmdEnv); + xNewExtension->getName(), bUserDisabled2, false, xAbortChannel, xCmdEnv); fireModified(); } } @@ -575,7 +580,7 @@ Reference ExtensionManager::addExtension( tmpCmdEnv); } activateExtension( - sIdentifier, sFileName, + sIdentifier, sFileName, bUserDisabled, false, Reference(), tmpCmdEnv); if (xTmpExtension.is() || xExtensionBackup.is()) m_tmpRepository->removePackage( @@ -611,7 +616,8 @@ void ExtensionManager::removeExtension( uno::Any excOccurred1; Reference xExtensionBackup; Reference xPackageManager; - + bool bUserDisabled = false; + ::osl::MutexGuard guard(getMutex()); try { //Determine the repository to use @@ -624,7 +630,7 @@ void ExtensionManager::removeExtension( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(getMutex()); + bUserDisabled = isUserDisabled(identifier, fileName); //Backup the extension, in case the user cancels the action xExtensionBackup = backupExtension( identifier, fileName, xPackageManager, xCmdEnv); @@ -637,7 +643,8 @@ void ExtensionManager::removeExtension( xPackageManager->removePackage( identifier, fileName, xAbortChannel, xCmdEnv); - activateExtension(identifier, fileName, xAbortChannel, xCmdEnv); + activateExtension(identifier, fileName, bUserDisabled, false, + xAbortChannel, xCmdEnv); fireModified(); } catch (deploy::DeploymentException& ) { @@ -673,7 +680,8 @@ void ExtensionManager::removeExtension( xExtensionBackup, Reference(), tmpCmdEnv); activateExtension( - identifier, fileName, Reference(), + identifier, fileName, bUserDisabled, false, + Reference(), tmpCmdEnv); m_tmpRepository->removePackage( @@ -705,49 +713,24 @@ void ExtensionManager::enableExtension( lang::IllegalArgumentException, uno::RuntimeException) { + ::osl::MutexGuard guard(getMutex()); + bool bUserDisabled = false; + uno::Any excOccurred; try { if (!extension.is()) return; - OUString repository = extension->getRepositoryName(); if (!repository.equals(OUSTR("user"))) throw lang::IllegalArgumentException( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(getMutex()); - //if it is already registered or if it cannot be registered - //because it does not contain any files which need to be processed - //then there is nothing to do here - beans::Optional > reg = - extension->isRegistered(xAbortChannel, xCmdEnv); - if (!reg.IsPresent - || (!reg.Value.IsAmbiguous && reg.Value.Value)) - return; - } - catch (deploy::DeploymentException& ) { - throw; - } catch (ucb::CommandFailedException & ) { - throw; - } catch (ucb::CommandAbortedException & ) { - throw; - } catch (lang::IllegalArgumentException &) { - throw; - } catch (uno::RuntimeException &) { - throw; - } catch (...) { - uno::Any exc = ::cppu::getCaughtException(); - throw deploy::DeploymentException( - OUSTR("Extension Manager: exception during enableExtension"), - static_cast(this), exc); - } + bUserDisabled = isUserDisabled(dp_misc::getIdentifier(extension), + extension->getName()); - uno::Any excOccurred; - try - { activateExtension(dp_misc::getIdentifier(extension), - extension->getName(), + extension->getName(), false, false, xAbortChannel, xCmdEnv); } catch (deploy::DeploymentException& ) { @@ -772,9 +755,8 @@ void ExtensionManager::enableExtension( { try { - extension->revokePackage(Reference(), xCmdEnv); activateExtension(dp_misc::getIdentifier(extension), - extension->getName(), + extension->getName(), bUserDisabled, false, xAbortChannel, xCmdEnv); } catch (...) @@ -810,8 +792,10 @@ long ExtensionManager::checkPrerequisitesAndEnable( //There are some unfulfilled prerequisites, try to revoke extension->revokePackage(xAbortChannel, xCmdEnv); } - activateExtension(dp_misc::getIdentifier(extension), - extension->getName(), xAbortChannel, xCmdEnv); + const OUString id(dp_misc::getIdentifier(extension)); + activateExtension(id, extension->getName(), + isUserDisabled(id, extension->getName()), false, + xAbortChannel, xCmdEnv); return ret; } catch (deploy::DeploymentException& ) { @@ -844,31 +828,23 @@ void ExtensionManager::disableExtension( lang::IllegalArgumentException, uno::RuntimeException) { + ::osl::MutexGuard guard(getMutex()); uno::Any excOccurred; + bool bUserDisabled = false; try { if (!extension.is()) return; - - ::osl::MutexGuard guard(getMutex()); - OUString repository = extension->getRepositoryName(); + const OUString repository( extension->getRepositoryName()); if (!repository.equals(OUSTR("user"))) throw lang::IllegalArgumentException( OUSTR("No valid repository name provided."), static_cast(this), 0); - //if it is already registered or if it cannot be registered - //because it does not contain any files which need to be processed - //then there is nothing to do here - beans::Optional > reg = - extension->isRegistered(xAbortChannel, xCmdEnv); - if (!reg.IsPresent - || (!reg.Value.IsAmbiguous && !reg.Value.Value)) - return; + const OUString id(dp_misc::getIdentifier(extension)); + bUserDisabled = isUserDisabled(id, extension->getName()); - extension->revokePackage(xAbortChannel, xCmdEnv); - activateExtension(dp_misc::getIdentifier(extension), - extension->getName(), + activateExtension(id, extension->getName(), true, false, xAbortChannel, xCmdEnv); } catch (deploy::DeploymentException& ) { @@ -894,7 +870,7 @@ void ExtensionManager::disableExtension( try { activateExtension(dp_misc::getIdentifier(extension), - extension->getName(), + extension->getName(), bUserDisabled, false, xAbortChannel, xCmdEnv); } catch (...) @@ -1021,7 +997,7 @@ void ExtensionManager::reinstallDeployedExtensions( const OUString id = dp_misc::getIdentifier(extensions[ pos ]); const OUString fileName = extensions[ pos ]->getName(); OSL_ASSERT(id.getLength()); - activateExtension(id, fileName, xAbortChannel, xCmdEnv ); + activateExtension(id, fileName, false, false, xAbortChannel, xCmdEnv ); } catch (lang::DisposedException &) { @@ -1083,12 +1059,11 @@ void ExtensionManager::synchronize( static_cast(this), 0); ::osl::MutexGuard guard(getMutex()); + String sSynchronizing(StrSyncRepository::get()); + sSynchronizing.SearchAndReplaceAllAscii( "%NAME", repository ); + dp_misc::ProgressLevel progress(xCmdEnv, sSynchronizing); - dp_misc::ProgressLevel progress( - xCmdEnv, OUSTR("Synchronizing ") + repository + OUSTR(" repository\n")); xPackageManager->synchronize(xAbortChannel, xCmdEnv); - - try { const uno::Sequence > > @@ -1097,8 +1072,8 @@ void ExtensionManager::synchronize( { uno::Sequence > const & seqExt = seqSeqExt[i]; - - activateExtension(seqExt, xAbortChannel, xCmdEnv); + activateExtension(seqExt, isUserDisabled(seqExt), true, + xAbortChannel, xCmdEnv); } } catch (...) diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index b11a2c64f546..10bf3713c410 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -204,6 +204,9 @@ public: private: + struct StrSyncRepository : public ::dp_misc::StaticResourceString< + StrSyncRepository, RID_STR_SYNCHRONIZING_REPOSITORY> {}; + struct ExtensionInfos { ::rtl::OUString identifier; @@ -225,24 +228,24 @@ private: */ ::std::list< ::rtl::OUString > m_repositoryNames; - css::uno::Reference getExtensionAndStatus( - ::rtl::OUString const & identifier, - ::rtl::OUString const & fileName, - ::rtl::OUString const & repository, - css::uno::Reference const & xAbortChannel, - css::uno::Reference const & xCmdEnv, - bool & out_bWasRegistered); + bool isUserDisabled(::rtl::OUString const & identifier, + ::rtl::OUString const & filename); + + bool ExtensionManager::isUserDisabled( + css::uno::Sequence > const & seqExtSameId); void activateExtension( ::rtl::OUString const & identifier, ::rtl::OUString const & fileName, + bool bUserDisabled, bool bStartup, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); void activateExtension( css::uno::Sequence > const & seqExt, - css::uno::Reference const & xAbortChannel, - css::uno::Reference const & xCmdEnv ); + bool bUserDisabled, bool bStartup, + css::uno::Reference const & xAbortChannel, + css::uno::Reference const & xCmdEnv ); ::std::list > diff --git a/desktop/source/deployment/manager/dp_manager.hrc b/desktop/source/deployment/manager/dp_manager.hrc index bdbfc079cda6..6131cc381abf 100644 --- a/desktop/source/deployment/manager/dp_manager.hrc +++ b/desktop/source/deployment/manager/dp_manager.hrc @@ -35,5 +35,5 @@ #define RID_STR_PACKAGE_ALREADY_ADDED (RID_DEPLOYMENT_MANAGER_START+2) #define RID_STR_COPYING_PACKAGE (RID_DEPLOYMENT_MANAGER_START+3) #define RID_STR_NO_SUCH_PACKAGE (RID_DEPLOYMENT_MANAGER_START+4) - +#define RID_STR_SYNCHRONIZING_REPOSITORY (RID_DEPLOYMENT_MANAGER_START+5) #endif diff --git a/desktop/source/deployment/manager/dp_manager.src b/desktop/source/deployment/manager/dp_manager.src index 95ede4aa6227..7d38b880c37a 100644 --- a/desktop/source/deployment/manager/dp_manager.src +++ b/desktop/source/deployment/manager/dp_manager.src @@ -53,3 +53,7 @@ String RID_STR_NO_SUCH_PACKAGE Text [ en-US ] = "There is no such extension deployed: "; }; +String RID_STR_SYNCHRONIZING_REPOSITORY +{ + Text [ en-US ] = "Synchronizing repository for %NAME extensions"; +}; diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index 17444eb0828e..b3b8a8249994 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -122,7 +122,6 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend BackendImpl * getMyBackend() const; const OUString m_loader; - Reference m_xRemoteContext; ComponentBackendDb::Data m_registeredComponentsDb; enum reg { @@ -143,6 +142,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -179,6 +179,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -356,7 +357,7 @@ BackendImpl * BackendImpl::ComponentPackageImpl::getMyBackend() const //______________________________________________________________________________ void BackendImpl::ComponentPackageImpl::disposing() { - m_xRemoteContext.clear(); +// m_xRemoteContext.clear(); Package::disposing(); } @@ -1224,6 +1225,7 @@ BackendImpl::ComponentPackageImpl::isRegistered_( void BackendImpl::ComponentPackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ) { @@ -1244,11 +1246,14 @@ void BackendImpl::ComponentPackageImpl::processPackage_( data.javaTypeLibrary = isJavaTypelib; if (doRegisterPackage) { - if (! m_xRemoteContext.is()) { - m_xRemoteContext.set( + Reference context(that->getComponentContext()); + if (! startup) + { + context.set( that->getObject( url ), UNO_QUERY ); - if (! m_xRemoteContext.is()) { - m_xRemoteContext.set( + + if (! context.is()) { + context.set( that->insertObject( url, raise_uno_process( that->getComponentContext(), abortChannel ) ), @@ -1258,9 +1263,9 @@ void BackendImpl::ComponentPackageImpl::processPackage_( const Reference xServicesRDB( getRDB() ); const Reference xImplReg( - m_xRemoteContext->getServiceManager()->createInstanceWithContext( + context->getServiceManager()->createInstanceWithContext( OUSTR("com.sun.star.registry.ImplementationRegistration"), - m_xRemoteContext ), UNO_QUERY_THROW ); + context ), UNO_QUERY_THROW ); xImplReg->registerImplementation( m_loader, url, xServicesRDB ); //only write to unorc if registration was successful. @@ -1274,7 +1279,7 @@ void BackendImpl::ComponentPackageImpl::processPackage_( t_stringlist implNames; t_stringpairvec singletons; const Reference xLoader( - getComponentInfo( &implNames, &singletons, m_xRemoteContext ) ); + getComponentInfo( &implNames, &singletons, context ) ); data.implementationNames = implNames; data.singletons = singletons; @@ -1348,11 +1353,14 @@ void BackendImpl::ComponentPackageImpl::processPackage_( // set to VOID during revocation process: m_registered = REG_VOID; - Reference xContext; - if (m_xRemoteContext.is()) // has been activated in this process - xContext = m_xRemoteContext; - else // has been deployed in former times + //get the remote context. If it does not exist then use the local one + Reference xContext( + that->getObject( url ), UNO_QUERY ); + bool bRemoteContext = false; + if (!xContext.is()) xContext = that->getComponentContext(); + else + bRemoteContext = true; t_stringlist implNames; t_stringpairvec singletons; @@ -1427,10 +1435,8 @@ void BackendImpl::ComponentPackageImpl::processPackage_( if (isJavaTypelib) that->removeFromUnoRc( java, url, xCmdEnv ); - if (m_xRemoteContext.is()) { + if (bRemoteContext) that->releaseObject( url ); - m_xRemoteContext.clear(); - } m_registered = REG_NOT_REGISTERED; getMyBackend()->deleteDataFromDb(url); @@ -1483,6 +1489,7 @@ BackendImpl::TypelibraryPackageImpl::isRegistered_( void BackendImpl::TypelibraryPackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool startup, ::rtl::Reference const &, Reference const & xCmdEnv ) { diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index fefa6794342a..941b9a35d7f5 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -86,6 +86,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -644,6 +645,7 @@ OUString replaceOrigin( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool /*startup*/, ::rtl::Reference const &, Reference const & xCmdEnv ) { diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index 1cebd20c297a..e822a66aa85f 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -619,6 +619,7 @@ beans::Optional< beans::Ambiguous > Package::isRegistered( //______________________________________________________________________________ void Package::processPackage_impl( bool doRegisterPackage, + bool startup, Reference const & xAbortChannel, Reference const & xCmdEnv ) { @@ -646,6 +647,7 @@ void Package::processPackage_impl( + displayName ); processPackage_( guard, doRegisterPackage, + startup, AbortChannel::get(xAbortChannel), xCmdEnv ); } @@ -683,6 +685,7 @@ void Package::processPackage_impl( //______________________________________________________________________________ void Package::registerPackage( + sal_Bool startup, Reference const & xAbortChannel, Reference const & xCmdEnv ) throw (deployment::DeploymentException, @@ -692,7 +695,7 @@ void Package::registerPackage( { if (m_bRemoved) throw deployment::ExtensionRemovedException(); - processPackage_impl( true /* register */, xAbortChannel, xCmdEnv ); + processPackage_impl( true /* register */, startup, xAbortChannel, xCmdEnv ); } //______________________________________________________________________________ @@ -703,7 +706,7 @@ void Package::revokePackage( CommandFailedException, CommandAbortedException, lang::IllegalArgumentException, RuntimeException) { - processPackage_impl( false /* revoke */, xAbortChannel, xCmdEnv ); + processPackage_impl( false /* revoke */, false, xAbortChannel, xCmdEnv ); } diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx index 1dc4cdde64ea..ac83302f9fb4 100644 --- a/desktop/source/deployment/registry/executable/dp_executable.cxx +++ b/desktop/source/deployment/registry/executable/dp_executable.cxx @@ -62,6 +62,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -202,6 +203,7 @@ BackendImpl::ExecutablePackageImpl::isRegistered_( void BackendImpl::ExecutablePackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool /*startup*/, ::rtl::Reference const & abortChannel, Reference const & /*xCmdEnv*/ ) { diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index a523a1aa20a5..7e8f128bbf12 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -76,6 +76,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -278,6 +279,7 @@ BackendImpl::PackageImpl::isRegistered_( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool /* startup */, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ) { diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h index 7ad55d29ba2f..7b11ae456d5d 100644 --- a/desktop/source/deployment/registry/inc/dp_backend.h +++ b/desktop/source/deployment/registry/inc/dp_backend.h @@ -67,6 +67,7 @@ class Package : protected ::dp_misc::MutexHolder, public t_PackageBase PackageRegistryBackend * getMyBackend() const; void processPackage_impl( bool registerPackage, + bool startup, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ); @@ -97,6 +98,7 @@ protected: virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference< ::dp_misc::AbortChannel > const & abortChannel, css::uno::Reference const & xCmdEnv ) = 0; @@ -193,6 +195,7 @@ public: css::uno::RuntimeException); virtual void SAL_CALL registerPackage( + sal_Bool startup, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 822e744b8fc2..a5426bf26b54 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -159,6 +159,7 @@ class BackendImpl : public ImplBaseT virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -847,6 +848,7 @@ uno::Reference< graphic::XGraphic > BackendImpl::PackageImpl::getIcon( sal_Bool void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ) { @@ -865,7 +867,7 @@ void BackendImpl::PackageImpl::processPackage_( xPackage->createAbortChannel() ); AbortChannel::Chain chain( abortChannel, xSubAbortChannel ); try { - xPackage->registerPackage( xSubAbortChannel, xCmdEnv ); + xPackage->registerPackage( startup, xSubAbortChannel, xCmdEnv ); } catch (RuntimeException &) { throw; diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index 5023a501c67e..b2eddfaf74e0 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -80,6 +80,7 @@ class BackendImpl : public t_helper virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -379,6 +380,7 @@ BackendImpl::PackageImpl::isRegistered_( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool /* startup */, ::rtl::Reference const &, Reference const & xCmdEnv ) { diff --git a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx index 704f4f810928..8a4ee1b45fbc 100644 --- a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx +++ b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx @@ -77,6 +77,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend virtual void processPackage_( ::osl::ResettableMutexGuard & guard, bool registerPackage, + bool startup, ::rtl::Reference const & abortChannel, Reference const & xCmdEnv ); @@ -371,6 +372,7 @@ BackendImpl::PackageImpl::isRegistered_( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, + bool /* startup */, ::rtl::Reference const &, Reference const & ) { diff --git a/desktop/source/migration/services/extensionmigration.cxx b/desktop/source/migration/services/extensionmigration.cxx index a926f17c0c19..66f32744a782 100755 --- a/desktop/source/migration/services/extensionmigration.cxx +++ b/desktop/source/migration/services/extensionmigration.cxx @@ -236,7 +236,7 @@ namespace migration if ( (sMediaType.equals(sBasicType) || sMediaType.equals(sDialogType)) && isBasicPackageEnabled(xPkg)) { - xPkg->registerPackage(uno::Reference< task::XAbortChannel >(), + xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); } } @@ -288,7 +288,7 @@ namespace migration if ( bRegistered && !sMediaType.equals(sBasicType) && !sMediaType.equals(sDialogType) ) { seqPkg[l]->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - seqPkg[l]->registerPackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); + seqPkg[l]->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); } } } @@ -297,7 +297,7 @@ namespace migration registerBasicPackage(aPackage); { aPackage->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - aPackage->registerPackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); + aPackage->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); } } } diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx index a077eaddb911..2d17a654b29b 100755 --- a/desktop/source/migration/services/oo3extensionmigration.cxx +++ b/desktop/source/migration/services/oo3extensionmigration.cxx @@ -146,7 +146,7 @@ void OO3ExtensionMigration::registerConfigurationPackage( const uno::Reference< if ( (sMediaType.equals(sConfigurationDataType) || sMediaType.equals(sConfigurationSchemaType) ) ) { xPkg->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - xPkg->registerPackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); + xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); } } diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx index ba8cd56085f8..2f4a7f1d7146 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx +++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx @@ -400,12 +400,7 @@ extern "C" int unopkg_main() Reference p( findPackage(repository, xExtensionManager, xCmdEnv, cmdPackage ) ); - //Todo. temporary preventing exception in bundled case. - //In case of a bundled extension, remove would be called as a result of - //uninstalling a rpm. Then we do not want to show an error when the - //extension does not exist, because the package will be uninstalled anyway - //and the error would only confuse people. - if ( !p.is() && !option_bundled) + if ( !p.is()) throw; else if (p.is()) xExtensionManager->removeExtension( diff --git a/svx/source/smarttags/SmartTagMgr.cxx b/svx/source/smarttags/SmartTagMgr.cxx index b3a19ecc65bd..0070646b3330 100644 --- a/svx/source/smarttags/SmartTagMgr.cxx +++ b/svx/source/smarttags/SmartTagMgr.cxx @@ -35,8 +35,7 @@ #include #include #include -#include -#include +#include #include #include #include @@ -472,11 +471,9 @@ void SmartTagMgr::RegisterListener() // register as listener at package manager try { - Reference xPackageManagerFactory( - deployment::thePackageManagerFactory::get( mxContext ) ); - Reference xPackageManager( - xPackageManagerFactory->getPackageManager( C2U("user" ) ) ); - Reference< util::XModifyBroadcaster > xMB ( xPackageManager, UNO_QUERY_THROW ); + Reference xExtensionManager( + deployment::ExtensionManager::get( mxContext ) ); + Reference< util::XModifyBroadcaster > xMB ( xExtensionManager, UNO_QUERY_THROW ); Reference< util::XModifyListener > xListener( this ); xMB->addModifyListener( xListener ); -- cgit From e288cf2462530dd3242c53b1f8442b1d6225a29f Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 21 Apr 2010 16:04:34 +0200 Subject: jl152 import 263449 from native0jl:#i77196# no registration of components in uno.exe at startup, fixed extension activation, basic, etc. --- offapi/com/sun/star/deployment/ExtensionManager.idl | 2 +- offapi/com/sun/star/deployment/ExtensionRemovedException.idl | 2 +- offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl | 2 +- offapi/com/sun/star/deployment/XExtensionManager.idl | 4 ++-- offapi/com/sun/star/deployment/XPackage.idl | 5 +++++ offapi/com/sun/star/deployment/XPackageManager.idl | 2 ++ offapi/com/sun/star/deployment/XPackageManagerFactory.idl | 2 ++ offapi/com/sun/star/deployment/thePackageManagerFactory.idl | 2 ++ 8 files changed, 16 insertions(+), 5 deletions(-) diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl index 81b06acffddd..ee93623ce538 100644 --- a/offapi/com/sun/star/deployment/ExtensionManager.idl +++ b/offapi/com/sun/star/deployment/ExtensionManager.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module deployment { .

            - @since OOo 2.0.0 + @since OOo 3.3.0 */ singleton ExtensionManager : XExtensionManager; diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl index 4091b63b7797..bb3116c9f554 100644 --- a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl +++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl @@ -42,7 +42,7 @@ interface XPackage; because the extension was removed. XPackage::isRemoved will return true on that object. - @since OOo 3.2.1 + @since OOo 3.3.0 */ exception ExtensionRemovedException: com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl index c4f998cd9a00..3a2cb5e330cc 100644 --- a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl +++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl @@ -42,7 +42,7 @@ interface XPackage; called with a different value for the removed parameter and that the XPackage object created by that call still exist. - @since OOo 3.2.1 + @since OOo 3.3.0 */ exception InvalidRemovedParameterException: com::sun::star::uno::Exception { /** the value of the removed parameter which was used in diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 2346f72395af..6deb5402cca8 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module deployment { -/** The XPackageManager interface is used to add or remove +/** The XExtensionManager interface is used to add or remove packages to a specific deployment context. Packages are deployable files, e.g. scripts or UNO components.

            @@ -62,7 +62,7 @@ module com { module sun { module star { module deployment {

            @see thePackageManagerFactory - @since OOo 2.0.0 + @since OOo 3.3.0 */ interface XExtensionManager { diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl index 689a46ea22d9..6d3ae5d91d22 100644 --- a/offapi/com/sun/star/deployment/XPackage.idl +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -139,6 +139,10 @@ interface XPackage /** registers this XPackage, thus activating the package. + @param startup + indicates that registration is adapted to the particular + startup scenario. That is, it is set to true, when called + from XExtensionManager::synchronize @param xAbortChannel abort channel to asynchronously abort the registration process, or null @@ -146,6 +150,7 @@ interface XPackage command environment for error and progress handling */ void registerPackage( + [in] boolean startup, [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) raises (DeploymentException, diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl index dfffefb8b907..c7fe077ff65c 100644 --- a/offapi/com/sun/star/deployment/XPackageManager.idl +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -68,6 +68,8 @@ module com { module sun { module star { module deployment { @see thePackageManagerFactory @since OOo 2.0.0 + @deprecated + Use XExtensionManager. */ interface XPackageManager { diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl index e3264bc0babf..4b5b7183ba47 100644 --- a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl +++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl @@ -45,6 +45,8 @@ module com { module sun { module star { module deployment {

            @since OOo 2.0.0 + @deprecated + Use XExtensionManager. */ interface XPackageManagerFactory { diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl index 612eae1e2513..85e95acea598 100644 --- a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl +++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl @@ -43,6 +43,8 @@ module com { module sun { module star { module deployment {

            @since OOo 2.0.0 + @deprecated + Use XExtensionManager. */ singleton thePackageManagerFactory : XPackageManagerFactory; -- cgit From 0495e9a3b8124a9d07eb489caacde2f91dc28d58 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 4 May 2010 12:37:01 +0200 Subject: jl152 bundled extensions, import of changeset 263438:8b253e76e957 from native0jl --- setup_native/source/packinfo/packinfo_office.txt | 32 ---------------------- .../win32/customactions/languagepacks/exports.dxp | 3 -- .../win32/customactions/languagepacks/makefile.mk | 1 - .../source/win32/customactions/patch/exports.dxp | 3 -- .../source/win32/customactions/patch/makefile.mk | 1 - .../customactions/shellextensions/exports.dxp | 3 -- .../customactions/shellextensions/makefile.mk | 1 - 7 files changed, 44 deletions(-) diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt index b9c26f9f9572..202db8bf640a 100755 --- a/setup_native/source/packinfo/packinfo_office.txt +++ b/setup_native/source/packinfo/packinfo_office.txt @@ -477,7 +477,6 @@ End Start module = "gid_Module_Root_Extension_Oooimprovement" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement" @@ -493,7 +492,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Af" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-af" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-af" @@ -509,7 +507,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Ca" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ca" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ca" @@ -525,7 +522,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Cs" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-cs" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-cs" @@ -541,7 +537,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Da" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-da" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-da" @@ -557,7 +552,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_De_AT" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT" @@ -573,7 +567,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_De_CH" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH" @@ -589,7 +582,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_De_DE" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE" @@ -605,7 +597,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_En" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-en" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-en" @@ -621,7 +612,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Es" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-es" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-es" @@ -637,7 +627,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Et" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-et" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-et" @@ -653,7 +642,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Fr" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-fr" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-fr" @@ -669,7 +657,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Gl" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gl" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-gl" @@ -685,7 +672,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_He" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-he" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-he" @@ -701,7 +687,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Hu" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hu" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-hu" @@ -717,7 +702,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_It" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-it" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-it" @@ -733,7 +717,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Lt" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-lt" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-lt" @@ -749,7 +732,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Ne" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ne" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ne" @@ -765,7 +747,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Nl" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-nl" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-nl" @@ -781,7 +762,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_No" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-no" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-no" @@ -797,7 +777,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Pl" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pl" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pl" @@ -813,7 +792,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Pt" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pt" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pt" @@ -829,7 +807,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Ro" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ro" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ro" @@ -845,7 +822,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Ru" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ru" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ru" @@ -861,7 +837,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Sk" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sk" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sk" @@ -877,7 +852,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Sl" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sl" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sl" @@ -893,7 +867,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Sr" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sr" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sr" @@ -909,7 +882,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Sv" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sv" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sv" @@ -925,7 +897,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Sw" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sw" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sw" @@ -941,7 +912,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Th" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-th" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-th" @@ -957,7 +927,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Vi" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-vi" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-vi" @@ -973,7 +942,6 @@ End Start module = "gid_Module_Root_Extension_Dictionary_Zu" -script = "shellscripts_extensions.txt" solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-zu" solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-zu" diff --git a/setup_native/source/win32/customactions/languagepacks/exports.dxp b/setup_native/source/win32/customactions/languagepacks/exports.dxp index 7461090d7233..d01befd5d0d9 100644 --- a/setup_native/source/win32/customactions/languagepacks/exports.dxp +++ b/setup_native/source/win32/customactions/languagepacks/exports.dxp @@ -2,6 +2,3 @@ SetProductInstallationPath RegisterLanguagePack GetUserInstallMode IsOfficeRunning -RegisterExtensions -DeregisterExtensions -RemoveExtensions diff --git a/setup_native/source/win32/customactions/languagepacks/makefile.mk b/setup_native/source/win32/customactions/languagepacks/makefile.mk index 8da47ab1cc4f..69526077c509 100644 --- a/setup_native/source/win32/customactions/languagepacks/makefile.mk +++ b/setup_native/source/win32/customactions/languagepacks/makefile.mk @@ -77,7 +77,6 @@ STDSHL+= \ #SHL1LIBS = $(SLB)$/$(TARGET).lib SHL1OBJS = $(SLOFILES) \ - $(SLO)$/registerextensions.obj \ $(SLO)$/seterror.obj SHL1TARGET = $(TARGET) diff --git a/setup_native/source/win32/customactions/patch/exports.dxp b/setup_native/source/win32/customactions/patch/exports.dxp index b5f7bfcd099a..b57f2838bf34 100755 --- a/setup_native/source/win32/customactions/patch/exports.dxp +++ b/setup_native/source/win32/customactions/patch/exports.dxp @@ -7,6 +7,3 @@ IsOfficeRunning SetFeatureState SetNewFeatureState ShowOnlineUpdateDialog -RegisterExtensions -DeregisterExtensions -RemoveExtensions diff --git a/setup_native/source/win32/customactions/patch/makefile.mk b/setup_native/source/win32/customactions/patch/makefile.mk index 6af0ddf9ab2a..cb8733de20b6 100755 --- a/setup_native/source/win32/customactions/patch/makefile.mk +++ b/setup_native/source/win32/customactions/patch/makefile.mk @@ -76,7 +76,6 @@ SHL1OBJS = $(SLOFILES) \ $(SLO)$/shutdown_quickstart.obj \ $(SLO)$/quickstarter.obj \ $(SLO)$/upgrade.obj \ - $(SLO)$/registerextensions.obj \ $(SLO)$/seterror.obj SHL1TARGET = $(TARGET) diff --git a/setup_native/source/win32/customactions/shellextensions/exports.dxp b/setup_native/source/win32/customactions/shellextensions/exports.dxp index cafa011057c9..0e53492e460f 100644 --- a/setup_native/source/win32/customactions/shellextensions/exports.dxp +++ b/setup_native/source/win32/customactions/shellextensions/exports.dxp @@ -6,9 +6,6 @@ SetProductInstallMode RebuildShellIconCache ExecutePostUninstallScript MigrateInstallPath -RegisterExtensions -DeregisterExtensions -RemoveExtensions CheckInstallDirectory SetAdminInstallProperty CreateLayerLinks diff --git a/setup_native/source/win32/customactions/shellextensions/makefile.mk b/setup_native/source/win32/customactions/shellextensions/makefile.mk index 220ac727b774..9eef136a82a4 100644 --- a/setup_native/source/win32/customactions/shellextensions/makefile.mk +++ b/setup_native/source/win32/customactions/shellextensions/makefile.mk @@ -62,7 +62,6 @@ SLOFILES = \ $(SLO)$/setadmininstall.obj \ $(SLO)$/layerlinks.obj \ $(SLO)$/dotnetcheck.obj \ - $(SLO)$/registerextensions.obj \ $(SLO)$/copyeditiondata.obj \ $(SLO)$/vistaspecial.obj \ $(SLO)$/checkrunningoffice.obj \ -- cgit From 148e48fa5e6c870feaadf7857f70fea4f4d8d106 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 21 Apr 2010 16:04:34 +0200 Subject: jl152 import 263449 from native0jl:#i77196# no registration of components in uno.exe at startup, fixed extension activation, basic, etc. --- basctl/source/basicide/scriptdocument.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx index dd10a00e2bde..8dcacad64179 100644 --- a/basctl/source/basicide/scriptdocument.cxx +++ b/basctl/source/basicide/scriptdocument.cxx @@ -987,8 +987,11 @@ namespace basctl ::rtl::OUString aSearchURL1( RTL_CONSTASCII_USTRINGPARAM( "share/basic" ) ); ::rtl::OUString aSearchURL2( RTL_CONSTASCII_USTRINGPARAM( "share/uno_packages" ) ); - if( aCanonicalFileURL.indexOf( aSearchURL1 ) != -1 || aCanonicalFileURL.indexOf( aSearchURL2 ) != -1 ) - bIsShared = true; + ::rtl::OUString aSearchURL3( RTL_CONSTASCII_USTRINGPARAM( "share/extensions" ) ); + if( aCanonicalFileURL.indexOf( aSearchURL1 ) != -1 || + aCanonicalFileURL.indexOf( aSearchURL2 ) != -1 || + aCanonicalFileURL.indexOf( aSearchURL3 ) != -1 ) + bIsShared = true; } } catch( const Exception& ) -- cgit From 241ace641e39ead5208af3b9fcf034a32b6e655d Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 22 Apr 2010 12:06:26 +0200 Subject: vitomation01: #i108621 - Re-enabled two tests that were excluded (and marked with QAErrorLogs). The issue has been resolved for quite some time now. Inserted a single sleep( 2 ) statement as a dirty workaround for a toolbar which reacts slowly. --- testautomation/writer/required/includes/w_020_.inc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_020_.inc diff --git a/testautomation/writer/required/includes/w_020_.inc b/testautomation/writer/required/includes/w_020_.inc old mode 100644 new mode 100755 index f927d24952f7..38f208ea4452 --- a/testautomation/writer/required/includes/w_020_.inc +++ b/testautomation/writer/required/includes/w_020_.inc @@ -59,8 +59,10 @@ end sub '----------------------------------------------------------- testcase t_TB_Insert - qaErrorLog "#158646# - Inserting Indexes causes crash." - goto endsub + + ' JSK: This issue is solved since OOO300m9, enabling test again + 'qaErrorLog "#158646# - Inserting Indexes causes crash." + 'goto endsub printlog "- Toolbox ( normal ) : All within Insert" @@ -122,7 +124,8 @@ testcase t_TB_Insert else Call hToolbarSelect("Insert", true) endif - + + sleep( 2 ) ' Too fast for some machines. Using dirty fix. if Tabelle.IsEnabled then Tabelle.Click Kontext "TabelleEinfuegenWriter" @@ -658,8 +661,10 @@ endcase '----------------------------------------------------------- testcase tHtmlDoc_TB_Insert - qaErrorLog "#158646# - Inserting Indexes causes crash." - goto endsub + + ' JSK: This issue is solved since OOO300m9, enabling test again + 'qaErrorLog "#158646# - Inserting Indexes causes crash." + 'goto endsub printlog "- Toolbox ( normal ) : All within Insert" gApplication = "HTML" -- cgit From dc45c3ae212ff717a30d36547c8d0c691987a2c0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 22 Apr 2010 12:10:14 +0200 Subject: vitomation01: #i108621 - Removed two QAErrorLogs that stated that the tests are not suitable for Unix(like) OS. Changed those to be printlogs instead --- testautomation/writer/required/includes/w_020_.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testautomation/writer/required/includes/w_020_.inc b/testautomation/writer/required/includes/w_020_.inc index 38f208ea4452..9e8fef8ea010 100755 --- a/testautomation/writer/required/includes/w_020_.inc +++ b/testautomation/writer/required/includes/w_020_.inc @@ -238,7 +238,7 @@ testcase t_TB_InsertFields printlog "- Toolbox ( normal ) : Fields" if gPlatgroup = "unx" then - QAErrorlog "Doesn't run on unix" + printlog( "Test not suitable for Unix(like) OS" ) goto endsub end if printlog " Open new document" @@ -785,7 +785,7 @@ testcase tHtmlDoc_TB_InsertFields gApplication = "HTML" if gPlatgroup = "unx" then - QAErrorlog "Doesn't run on unix" + printlog( "Test not suitable for Unix(like) OS" ) goto endsub end if -- cgit From 8ea12b2273375008f127d7b285304d509a9ea925 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 22 Apr 2010 12:24:41 +0200 Subject: vitomation01: #i109696 - sub hTBOTypeInMathDoc removed as it was only a wrapper for another function. --- testautomation/math/required/includes/m_001_.inc | 1152 +++++++++++----------- testautomation/math/required/includes/m_002_.inc | 4 +- testautomation/math/required/includes/m_007_.inc | 8 +- testautomation/math/required/includes/m_020_.inc | 2 +- 4 files changed, 580 insertions(+), 586 deletions(-) mode change 100644 => 100755 testautomation/math/required/includes/m_002_.inc mode change 100644 => 100755 testautomation/math/required/includes/m_007_.inc mode change 100644 => 100755 testautomation/math/required/includes/m_020_.inc diff --git a/testautomation/math/required/includes/m_001_.inc b/testautomation/math/required/includes/m_001_.inc index 371f7f090d52..1e9a1be3fae3 100644 --- a/testautomation/math/required/includes/m_001_.inc +++ b/testautomation/math/required/includes/m_001_.inc @@ -31,347 +31,344 @@ '* '\***************************************************************** - global cActFilter as string ' used filter for save - Const cActFilterExt = ".odf" ' used filter for save (extension) +global cActFilter as string ' used filter for save +Const cActFilterExt = ".odf" ' used filter for save (extension) ' "StarMath 5.0" ".smf" ' Datei$ = convertpath( gOfficePath + "user\work\killme" + cActFilterExt) ' Datei$ = convertpath( gOfficePath + "user\work\Erwin2"+cActFilterExt) ' Datei = convertpath(gofficepath + "user\work\test"+cActFilterExt) -sub M_001_ - Printlog Chr(13) + "-- File Menu m_001_ --" - - cActFilter = gMathFilter - - Call tmFileNew - Call tmFileOpen -' Call Autopilot 'in Inc\desktop\autopilo.inc - Call tmFileClose - Call tmFileSave - Call tmFileSaveAs - Call tmFileSaveAll - Call tmFileReload - Call tmFileVersions - Call tmExportAsPDF - Call tExportAsPDFButton - Call tmFileProperties - Call tmFilePrinterSetting - Call tmFilePassword +sub M_001Printlog Chr(13) + "-- File Menu m_001_ --" + + cActFilter = gMathFilter + + Call tmFileNew + Call tmFileOpen + ' Call Autopilot 'in Inc\desktop\autopilo.inc + Call tmFileClose + Call tmFileSave + Call tmFileSaveAs + Call tmFileSaveAll + Call tmFileReload + Call tmFileVersions + Call tmExportAsPDF + Call tExportAsPDFButton + Call tmFileProperties + Call tmFilePrinterSetting + Call tmFilePassword end sub testcase tmFileNew -'/// open application ///' - Call hNewDocument - '/// File->New->Templates and Documents ///' - FileNewFromTemplate - sleep 3 - Kontext "TemplateAndDocuments" - if TemplateAndDocuments.exists (5) then - try - '/// klick button 'Organize' ///' - Organize.click - kontext "DVVerwalten" - if DVVerwalten.exists (5) then - Call DialogTest (DVVerwalten) - sleep 1 - '/// close dialog 'Template Management' ///' - DVVerwalten.close - else - warnlog "DVVerwalten didn't exist :-(" - endif - catch - warnlog "error ;-) - 1" - endcatch - else - warnlog "templates and dokuments didn't exist :-(" - endif - try - sleep 1 - kontext "TemplateAndDocuments" - sleep 1 - Call DialogTest ( TemplateAndDocuments ) - catch - warnlog "no dialogtest possibele :-(" - endcatch - -' TBO i don't get in deep here, because it is not math specific -' and IMHO it doesn't make that sense here! -' should be enoug in writer... - '/// close dialog 'Templates and Documents' ///' - TemplateAndDocuments.Cancel -'/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + '/// File->New->Templates and Documents ///' + FileNewFromTemplate + sleep 3 + Kontext "TemplateAndDocuments" + if TemplateAndDocuments.exists (5) then + try + '/// klick button 'Organize' ///' + Organize.click + kontext "DVVerwalten" + if DVVerwalten.exists (5) then + Call DialogTest (DVVerwalten) + sleep 1 + '/// close dialog 'Template Management' ///' + DVVerwalten.close + else + warnlog "DVVerwalten didn't exist :-(" + endif + catch + warnlog "error ;-) - 1" + endcatch + else + warnlog "templates and dokuments didn't exist :-(" + endif + try + sleep 1 + kontext "TemplateAndDocuments" + sleep 1 + Call DialogTest ( TemplateAndDocuments ) + catch + warnlog "no dialogtest possibele :-(" + endcatch + + ' TBO i don't get in deep here, because it is not math specific + ' and IMHO it doesn't make that sense here! + ' should be enoug in writer... + '/// close dialog 'Templates and Documents' ///' + TemplateAndDocuments.Cancel + '/// close application ///' + Call hCloseDocument endcase testcase tmFilePassword - Dim DokumentPfad$ - Dim Datei$ -'/// open application ///' -while (getDocumentCount > 0) -hCloseDocument -wend - hNewDocument - '/// type a formula ///' - SchreibenInMathdok "a over b" - - printlog "'/// - save doc as "+cActFilter+" with passwd - ///'" - FileSaveAs - Kontext "SpeichernDlg" - Datei$ = convertpath( gOfficePath + "user\work\killme" + cActFilterExt) - if Dir (Datei$) <> "" then kill Datei$ - printlog " Testfile: "+Datei$ - 'Dateityp.Select (cActFilter) - Passwort.Check - Dateiname.SetText Datei$ - Speichern.Click - Kontext "Active" - if Active.Exists (5) then - ' TBO: ??? what will be ??! - Printlog "(1/5) " + Active.GetText - Active.Yes - end if - - printlog "'/// Try wrong passwd confirmation ///'" - Sleep 2 - Kontext "PasswordFileSave" - sleep (2) - try - Password.SetText "12345" - PasswordConfirm.Settext "54321" - PasswordFileSave.OK - Sleep 2 - catch - warnlog "had to ask for passwd!!!!" - endcatch - Kontext - if (Active.Exists (5) = FALSE ) then - Warnlog "Wrong passwordinput not detected" - else - Printlog "(2/5) " + Active.GetText - Active.OK - end if - - printlog "'/// Now do it right ///'" - Kontext "PasswordFileSave" - try - Password.SetText "12345" - PasswordConfirm.Settext "12345" - PasswordFileSave.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch - - Sleep 2 - printlog "'/// Gotcha & Close file/window ///'" - FileClose - sleep 1 - - printlog "'/// load again with wrong passwd ///'" - Call hFileOpen Datei$ - sleep 1 - Kontext "PasswordFileOpen" - try - Passwortname.SetText "34567" - PasswordFileOpen.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch - Kontext "Active" - if Active.Exists(5) then - Printlog "(3/5) " + Active.GetText - Active.Ok - else - Warnlog "Wrong passwordinput not detected by loading the document" - end if - - printlog "'///load now with right passwd ///'" - Sleep 3 - 'Call hDateiOeffnen Datei$ - Kontext "PasswordFileOpen" - try - Passwortname.SetText "12345" - PasswordFileOpen.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch - Sleep 2 - - printlog "'/// - save doc with new name under 6.... (has to be automagical selected by loading this doc!) w/o passwd - ///'" - Datei$ = convertpath( gOfficePath + "user\work\Erwin2"+cActFilterExt) - if Dir (Datei$) <> "" then kill Datei$ - FileSaveAs - Kontext "SpeichernDlg" - Dateiname.SetText Datei$ - if (Passwort.IsChecked <> TRUE) then - Warnlog "#i36015# Password has to be checked! :-(" - Passwort.Check - printlog "will be forced checked no!" - endif - Speichern.Click - Kontext "Messagebox" - '/// (if messagebox comes up, say YES) ///' - if Messagebox.Exists(2) then - Messagebox.Yes - endif - '/// password dialog has to show up! ///' - Kontext "PasswordFileSave" - if (PasswordFileSave.Exists(5) = FALSE)then - Warnlog "- Password dialog Didn't popped up after pressing save" - else - Kontext "PasswordFileSave" - '/// type password "a12345", confirm password: "a12345" -> RIGHT ///' - Password.SetText "a12345" - PasswordConfirm.SetText "a12345" - PasswordFileSave.OK - sleep 2 - '/// close document ///' - FileClose - sleep 1 - endif - '/// open document ///' - FileOpen - sleep 1 - Kontext "OeffnenDlg" - Dateiname.SetText Datei$ - Oeffnen.Click - Kontext "PasswordFileOpen" - sleep 1 - '/// type password: "a12345" -> RIGHT ///' - PasswortName.SetText "a12345" - PasswordFileOpen.OK - sleep 5 - '/// File->SaveAs ///' - FileSaveAs - Kontext "SpeichernDlg" - Dateiname.SetText Datei$ - if (Passwort.IsChecked <> TRUE) then - Warnlog "#i36015# Password has to be checked! :-(" - Passwort.Check - printlog "will be forced checked no!" - endif - Passwort.UnCheck - '/// press 'save', without changing any checkbox! -> file has to be saved WITH password protection ///' - Speichern.Click - Kontext "Messagebox" - '/// (if messagebox comes up, say YES) ///' - if Messagebox.Exists(2) then Messagebox.Yes - '/// password dialog needn't to show up! ///' - Kontext "PasswordFileSave" - if (PasswordFileSave.Exists(5))then - Warnlog "- Password dialog neeedn't popped up after pressing save" - Kontext "PasswordFileSave" - passwordFileSave.cancel - '/// close document ///' - FileClose - else - '/// close document ///' - hCloseDocument - end if + Dim DokumentPfad$ + Dim Datei$ + '/// open application ///' + hFileCloseAll() + hNewDocument + '/// type a formula ///' + SchreibenInMathdok "a over b" + + printlog "'/// - save doc as "+cActFilter+" with passwd - ///'" + FileSaveAs + Kontext "SpeichernDlg" + Datei$ = convertpath( gOfficePath + "user\work\killme" + cActFilterExt) + if Dir (Datei$) <> "" then kill Datei$ + printlog " Testfile: "+Datei$ + 'Dateityp.Select (cActFilter) + Passwort.Check + Dateiname.SetText Datei$ + Speichern.Click + Kontext "Active" + if Active.Exists (5) then + ' TBO: ??? what will be ??! + Printlog "(1/5) " + Active.GetText + Active.Yes + end if + + printlog "'/// Try wrong passwd confirmation ///'" + Sleep 2 + Kontext "PasswordFileSave" + sleep (2) + try + Password.SetText "12345" + PasswordConfirm.Settext "54321" + PasswordFileSave.OK + Sleep 2 + catch + warnlog "had to ask for passwd!!!!" + endcatch + Kontext + if (Active.Exists (5) = FALSE ) then + Warnlog "Wrong passwordinput not detected" + else + Printlog "(2/5) " + Active.GetText + Active.OK + end if + + printlog "'/// Now do it right ///'" + Kontext "PasswordFileSave" + try + Password.SetText "12345" + PasswordConfirm.Settext "12345" + PasswordFileSave.OK + catch + warnlog "had to ask for passwd!!!!" + endcatch + + Sleep 2 + printlog "'/// Gotcha & Close file/window ///'" + FileClose + sleep 1 + + printlog "'/// load again with wrong passwd ///'" + Call hFileOpen Datei$ + sleep 1 + Kontext "PasswordFileOpen" + try + Passwortname.SetText "34567" + PasswordFileOpen.OK + catch + warnlog "had to ask for passwd!!!!" + endcatch + Kontext "Active" + if Active.Exists(5) then + Printlog "(3/5) " + Active.GetText + Active.Ok + else + Warnlog "Wrong passwordinput not detected by loading the document" + end if + + printlog "'///load now with right passwd ///'" + Sleep 3 + 'Call hDateiOeffnen Datei$ + Kontext "PasswordFileOpen" + try + Passwortname.SetText "12345" + PasswordFileOpen.OK + catch + warnlog "had to ask for passwd!!!!" + endcatch + Sleep 2 + + printlog "'/// - save doc with new name under 6.... (has to be automagical selected by loading this doc!) w/o passwd - ///'" + Datei$ = convertpath( gOfficePath + "user\work\Erwin2"+cActFilterExt) + if Dir (Datei$) <> "" then kill Datei$ + FileSaveAs + Kontext "SpeichernDlg" + Dateiname.SetText Datei$ + if (Passwort.IsChecked <> TRUE) then + Warnlog "#i36015# Password has to be checked! :-(" + Passwort.Check + printlog "will be forced checked no!" + endif + Speichern.Click + Kontext "Messagebox" + '/// (if messagebox comes up, say YES) ///' + if Messagebox.Exists(2) then + Messagebox.Yes + endif + '/// password dialog has to show up! ///' + Kontext "PasswordFileSave" + if (PasswordFileSave.Exists(5) = FALSE)then + Warnlog "- Password dialog Didn't popped up after pressing save" + else + Kontext "PasswordFileSave" + '/// type password "a12345", confirm password: "a12345" -> RIGHT ///' + Password.SetText "a12345" + PasswordConfirm.SetText "a12345" + PasswordFileSave.OK + sleep 2 + '/// close document ///' + FileClose + sleep 1 + endif + '/// open document ///' + FileOpen + sleep 1 + Kontext "OeffnenDlg" + Dateiname.SetText Datei$ + Oeffnen.Click + Kontext "PasswordFileOpen" + sleep 1 + '/// type password: "a12345" -> RIGHT ///' + PasswortName.SetText "a12345" + PasswordFileOpen.OK + sleep 5 + '/// File->SaveAs ///' + FileSaveAs + Kontext "SpeichernDlg" + Dateiname.SetText Datei$ + if (Passwort.IsChecked <> TRUE) then + Warnlog "#i36015# Password has to be checked! :-(" + Passwort.Check + printlog "will be forced checked no!" + endif + Passwort.UnCheck + '/// press 'save', without changing any checkbox! -> file has to be saved WITH password protection ///' + Speichern.Click + Kontext "Messagebox" + '/// (if messagebox comes up, say YES) ///' + if Messagebox.Exists(2) then Messagebox.Yes + '/// password dialog needn't to show up! ///' + Kontext "PasswordFileSave" + if (PasswordFileSave.Exists(5))then + Warnlog "- Password dialog neeedn't popped up after pressing save" + Kontext "PasswordFileSave" + passwordFileSave.cancel + '/// close document ///' + FileClose + else + '/// close document ///' + hCloseDocument + end if endcase testcase tmFileReload - Dim Datei as String - dim sFilterName as string - dim sFilter as string - dim sFilterExt() as string - - Datei = convertpath(gofficepath + "user\work\test"+cActFilterExt) - if Dir (Datei) <> "" then kill (Datei) - - ' make sure saving in latest math filter works, checking global filtername and if necessary change it - sFilter = hGetUIFiltername("math8") - - '/// open application ///' - hNewDocument - '/// type a formula ///' - call hTBOtypeInDoc - '/// File->Save As ///' - FileSaveAs - Kontext "SpeichernDlg" - '/// select the actual default file format ///' - Dateityp.Select (hFindFilterPosition( sFilter )) - '/// type a file name ///' - Dateiname.SetText Datei - '/// click button 'save' ///' - Speichern.Click - Kontext "Active" - if Active.Exists(2) then Active.Yes - sleep 3 - '/// File->Close ///' - FileClose - Kontext - if MessageBox.Exists (1) then - WarnLog "After Saving and Closing the following MessageBox appears: " + MessageBox.GetText - MessageBox.Yes - end if - - '/// open just saved file ///' - Call hFileOpen Datei - '/// type a formula ///' - call hTBOtypeInDoc - sleep (3) - '/// File->Reload ///' - FileReload - sleep (3) - Kontext - if Active.Exists (1) then - PrintLog "Say no to: " + Active.GetText - '/// say NO to active ///' - active.No - else - WarnLog "Missing smth to say no to! " - end if - - Sleep 3 - '/// File->Reload ///' - FileReload - Kontext - if Active.Exists (1) then - PrintLog "Said yes to: " + Active.GetText - '/// say YES to active ///' - active.Yes - end if - '/// close application ///' - Call hCloseDocument + Dim Datei as String + dim sFilterName as string + dim sFilter as string + dim sFilterExt() as string + + Datei = convertpath(gofficepath + "user\work\test"+cActFilterExt) + if Dir (Datei) <> "" then kill (Datei) + + ' make sure saving in latest math filter works, checking global filtername and if necessary change it + sFilter = hGetUIFiltername("math8") + + '/// open application ///' + hNewDocument + '/// type a formula ///' + call SchreibenInMathdok "a over b" + '/// File->Save As ///' + FileSaveAs + Kontext "SpeichernDlg" + '/// select the actual default file format ///' + Dateityp.Select (hFindFilterPosition( sFilter )) + '/// type a file name ///' + Dateiname.SetText Datei + '/// click button 'save' ///' + Speichern.Click + Kontext "Active" + if Active.Exists(2) then Active.Yes + sleep 3 + '/// File->Close ///' + FileClose + Kontext + if MessageBox.Exists (1) then + WarnLog "After Saving and Closing the following MessageBox appears: " + MessageBox.GetText + MessageBox.Yes + end if + + '/// open just saved file ///' + Call hFileOpen Datei + '/// type a formula ///' + call SchreibenInMathdok "a over b" + sleep (3) + '/// File->Reload ///' + FileReload + sleep (3) + Kontext + if Active.Exists (1) then + PrintLog "Say no to: " + Active.GetText + '/// say NO to active ///' + active.No + else + WarnLog "Missing smth to say no to! " + end if + + Sleep 3 + '/// File->Reload ///' + FileReload + Kontext + if Active.Exists (1) then + PrintLog "Said yes to: " + Active.GetText + '/// say YES to active ///' + active.Yes + end if + '/// close application ///' + Call hCloseDocument endcase testcase tmFileVersions - Dim Datei as String - - Datei = ConvertPath (gOfficePath & "user/work/test"+cActFilterExt) - if app.Dir (Datei) <> "" then app.kill (Datei) - - '/// open application ///' - Call hNewDocument - sleep 2 - '/// type a formula ///' - SchreibenInMathdok "a over b" - '/// save file ///' - Call hFileSaveAs(Datei) - Sleep 3 - try - '/// File->Versions ///' - FileVersions - catch - Warnlog "- File / Versions not accessible!" - goto endsub - endcatch - - Kontext "Versionen" - Call DialogTest ( Versionen ) - '/// click button 'Save New Version' ///' - Speichern.Click - Kontext "VersionskommentarEingeben" - Call DialogTest ( VersionskommentarEingeben ) - '/// cancel dialog 'Insert Version Comment' ///' - VersionskommentarEingeben.Cancel - Kontext "Versionen" - '/// close dialog 'Version of ...' ///' - Versionen.Close - '/// close application ///' - Call hCloseDocument - if app.Dir (Datei) <> "" then app.kill Datei + Dim Datei as String + + Datei = ConvertPath (gOfficePath & "user/work/test"+cActFilterExt) + if app.Dir (Datei) <> "" then app.kill (Datei) + + '/// open application ///' + Call hNewDocument + sleep 2 + '/// type a formula ///' + SchreibenInMathdok "a over b" + '/// save file ///' + Call hFileSaveAs(Datei) + Sleep 3 + try + '/// File->Versions ///' + FileVersions + catch + Warnlog "- File / Versions not accessible!" + goto endsub + endcatch + + Kontext "Versionen" + Call DialogTest ( Versionen ) + '/// click button 'Save New Version' ///' + Speichern.Click + Kontext "VersionskommentarEingeben" + Call DialogTest ( VersionskommentarEingeben ) + '/// cancel dialog 'Insert Version Comment' ///' + VersionskommentarEingeben.Cancel + Kontext "Versionen" + '/// close dialog 'Version of ...' ///' + Versionen.Close + '/// close application ///' + Call hCloseDocument + if app.Dir (Datei) <> "" then app.kill Datei endcase '----------------------------------------------------------- @@ -379,284 +376,281 @@ endcase '----------------------------------------------------------- testcase tmFileOpen -'/// open application ///' - call hNewDocument - '/// File->Open ///' - FileOpen - Kontext "OeffnenDlg" - '/// klick button 'Up one level' ///' - UebergeordneterOrdner.Click - '/// klick button 'Default Directory' ///' - Standard.Click - '/// check checkbox 'Read Only' ///' - NurLesen.check - Call DialogTest ( OeffnenDlg ) - '/// cancel dialog 'Open' ///' - OeffnenDlg.Cancel - Sleep 2 - '/// close application ///' - Call hCloseDocument + '/// open application ///' + call hNewDocument + '/// File->Open ///' + FileOpen + Kontext "OeffnenDlg" + '/// klick button 'Up one level' ///' + UebergeordneterOrdner.Click + '/// klick button 'Default Directory' ///' + Standard.Click + '/// check checkbox 'Read Only' ///' + NurLesen.check + Call DialogTest ( OeffnenDlg ) + '/// cancel dialog 'Open' ///' + OeffnenDlg.Cancel + Sleep 2 + '/// close application ///' + Call hCloseDocument endcase testcase tmFileClose -'/// open application ///' - hNewDocument ' just for the records: i open ONE document - '/// type a formula ///' - call hTBOtypeInDoc - sleep (2) - '/// File->Close ///' - FileClose - Kontext ' expecting 'modified, do you want to close?' - if active.exists (5) then - printlog " ok, active came up: " + active.gettext - '/// say NO to active about 'modified stuff :-)' ///' - Active.Cancel ' no, not this time - else - warnlog "active missing (1)" - endif - sleep (2) - '/// File->Close ///' - FileClose - Kontext - '/// say YES to active about 'modified stuff :-)' ///' - Active.Yes ' but now - records: this document is closed - sleep (2) - Kontext "SpeichernDlg" - Call DialogTest ( SpeichernDlg ) - '/// cancel dialog 'Save As' ///' - SpeichernDlg.Cancel - sleep (2) - - '/// File->Close ///' - FileClose ' now the office gets closed! (if there were no modifications!) - Kontext - if active.exists (5) then Active.No - sleep (2) + '/// open application ///' + hNewDocument ' just for the records: i open ONE document + '/// type a formula ///' + call SchreibenInMathdok "a over b" + sleep (2) + '/// File->Close ///' + FileClose + Kontext ' expecting 'modified, do you want to close?' + if active.exists (5) then + printlog " ok, active came up: " + active.gettext + '/// say NO to active about 'modified stuff :-)' ///' + Active.Cancel ' no, not this time + else + warnlog "active missing (1)" + endif + sleep (2) + '/// File->Close ///' + FileClose + Kontext + '/// say YES to active about 'modified stuff :-)' ///' + Active.Yes ' but now - records: this document is closed + sleep (2) + Kontext "SpeichernDlg" + Call DialogTest ( SpeichernDlg ) + '/// cancel dialog 'Save As' ///' + SpeichernDlg.Cancel + sleep (2) + + '/// File->Close ///' + FileClose ' now the office gets closed! (if there were no modifications!) + Kontext + if active.exists (5) then Active.No + sleep (2) endcase testcase tmFileSave -'/// open application ///' - hNewDocument - '/// type a formula ///' - call hTBOtypeInDoc - '/// File->Save ///' - FileSave - sleep 2 - Kontext "SpeichernDlg" - UebergeordneterOrdner.click - Standard.Click -' NeuerOrdner.Click -' DateiAuswahl.TypeKeys "Hallo" -' DateiLoeschen -' Kontext "Messagebox" -' MessageBox.Yes - Call DialogTest (SpeichernDlg) - '/// cancel dialog 'Save' ///' - SpeichernDlg.Cancel + '/// open application ///' + hNewDocument + '/// type a formula ///' + call SchreibenInMathdok "a over b" + '/// File->Save ///' + FileSave + sleep 2 + Kontext "SpeichernDlg" + UebergeordneterOrdner.click + Standard.Click + ' NeuerOrdner.Click + ' DateiAuswahl.TypeKeys "Hallo" + ' DateiLoeschen + ' Kontext "Messagebox" + ' MessageBox.Yes + Call DialogTest (SpeichernDlg) + '/// cancel dialog 'Save' ///' + SpeichernDlg.Cancel sleep 2 - '/// close application ///' - Call hCloseDocument + '/// close application ///' + Call hCloseDocument endcase testcase tmFileSaveAs -'/// open application ///' - hNewDocument - sleep (2) - '/// type a formula ///' - call hTBOtypeInDoc - '/// File->Save As ///' - FileSaveAs - sleep 1 - Kontext "SpeichernDlg" - if (SpeichernDlg.exists (5) = FALSE) then - warnlog "error :-(" - endif - sleep 2 - '/// check ceckbox 'save with Password' ///' - Passwort.check - '/// UNcheck ceckbox 'save with Password' ///' - Passwort.uncheck - '/// click button 'up one level' ///' - UebergeordneterOrdner.click - '/// click button 'default directory' ///' - Standard.Click - '/// click button 'create new directory' ///' - NeuerOrdner.click - kontext "NeuerOrdner" - '/// cancel dialog 'create new folder' ///' - NeuerOrdner.cancel - Kontext "SpeichernDlg" - Call DialogTest (SpeichernDlg) - '/// cancel dialog 'Save As' ///' - SpeichernDlg.Cancel - sleep (2) - '/// close application ///' - Call hCloseDocument + '/// open application ///' + hNewDocument + sleep (2) + '/// type a formula ///' + call SchreibenInMathdok "a over b" + '/// File->Save As ///' + FileSaveAs + sleep 1 + Kontext "SpeichernDlg" + if (SpeichernDlg.exists (5) = FALSE) then + warnlog "error :-(" + endif + sleep 2 + '/// check ceckbox 'save with Password' ///' + Passwort.check + '/// UNcheck ceckbox 'save with Password' ///' + Passwort.uncheck + '/// click button 'up one level' ///' + UebergeordneterOrdner.click + '/// click button 'default directory' ///' + Standard.Click + '/// click button 'create new directory' ///' + NeuerOrdner.click + kontext "NeuerOrdner" + '/// cancel dialog 'create new folder' ///' + NeuerOrdner.cancel + Kontext "SpeichernDlg" + Call DialogTest (SpeichernDlg) + '/// cancel dialog 'Save As' ///' + SpeichernDlg.Cancel + sleep (2) + '/// close application ///' + Call hCloseDocument endcase testcase tmFileSaveAll -'/// open application ///' - hNewDocument - '/// type a formula ///' - call hTBOtypeInDoc - Printlog " '/// open 2. window ///" - hNewDocument - '/// type a formula ///' - call hTBOtypeInDoc - - Printlog " call save all" - '/// File->Save All ///' - FileSaveAll - Printlog " cancel 1. save" - Kontext "SpeichernDlg" - if SpeichernDlg.exists(5) then - '/// cancel dialog 'save as' ///' - SpeichernDlg.Cancel - else - qaErrorlog "First File save dialog did not show up." - endif - Printlog " cancel 2. save" - Kontext "SpeichernDlg" - if SpeichernDlg.exists(5) then - '/// cancel dialog 'save as' ///' - SpeichernDlg.Cancel - else - qaErrorlog "Second File save dialog did not show up." - endif - - try - Kontext "SpeichernDlg" - SpeichernDlg.Cancel - printlog "smth had been typed in the starting window (just a hint ;-) )" - catch - printlog "--------- no other window want's to get saved. :-)" - endcatch - - Sleep 2 - Printlog " hCloseDocument both" - '/// close document ///' - Call hCloseDocument - sleep 2 - Printlog " first closed" - '/// close application ///' - try - Call hCloseDocument - catch - printlog "any catching?" - endcatch - sleep 1 - Printlog " second closed" - sleep (5) + '/// open application ///' + hNewDocument + '/// type a formula ///' + call SchreibenInMathdok "a over b" + Printlog " '/// open 2. window ///" + hNewDocument + '/// type a formula ///' + call SchreibenInMathdok "a over b" + + Printlog " call save all" + '/// File->Save All ///' + FileSaveAll + Printlog " cancel 1. save" + Kontext "SpeichernDlg" + if SpeichernDlg.exists(5) then + '/// cancel dialog 'save as' ///' + SpeichernDlg.Cancel + else + qaErrorlog "First File save dialog did not show up." + endif + Printlog " cancel 2. save" + Kontext "SpeichernDlg" + if SpeichernDlg.exists(5) then + '/// cancel dialog 'save as' ///' + SpeichernDlg.Cancel + else + qaErrorlog "Second File save dialog did not show up." + endif + + try + Kontext "SpeichernDlg" + SpeichernDlg.Cancel + printlog "smth had been typed in the starting window (just a hint ;-) )" + catch + printlog "--------- no other window want's to get saved. :-)" + endcatch + + Sleep 2 + Printlog " hCloseDocument both" + '/// close document ///' + Call hCloseDocument + sleep 2 + Printlog " first closed" + '/// close application ///' + try + Call hCloseDocument + catch + printlog "any catching?" + endcatch + sleep 1 + Printlog " second closed" + sleep (5) endcase testcase tmExportAsPDF - dim sPDF as string - dim sTemp as string - - sPDF = "PDF - Portable Document Format (.pdf)" - - '/// open application ///' - Call hNewDocument - - '/// click the button 'Export Directly as PDF' on the Functionbar ///' - kontext "Standardbar" - Sleep 5 - ExportAsPDF.click - ' the 'Export as PDF' dialog has to come up, with the only 'File type' 'PDF - Portable Document Format (.pdf)' - kontext "ExportierenDlg" - sTemp = Dateityp.GetSelText - if (sTemp <> sPDF) then - Warnlog "filter for PDF export is missing :-( should: '" + sPDF + "'; is: '" + + "'" - endif - '///+ - set Textbox 'File name' to "abc" ///' - Dateiname.SetText "abc" - '///+ - use the cursor keys in the filebrowser ///' - DateiAuswahl.TypeKeys "" - '///+ - click on the button 'Up one level' ///' - UebergeordneterOrdner.Click - '///+ - click on the button 'Create New Directory' ///' - NeuerOrdner.Click - kontext "NeuerOrdner" - '///+ - - in the dialog $Foldername set textfield 'New' to 'abc' ///' - OrdnerName.SetText "abc" - '///+ - - cancel dialog $Foldername ///' - NeuerOrdner.cancel - kontext "ExportierenDlg" - '///+ - click on the button 'Default Directory' ///' - Standard.Click - '///+ - cancel dialog ///' - Kontext "ExportierenDlg" - ExportierenDlg.Cancel - - '/// close application ///' - Call hCloseDocument + dim sPDF as string + dim sTemp as string + + sPDF = "PDF - Portable Document Format (.pdf)" + + '/// open application ///' + Call hNewDocument + + '/// click the button 'Export Directly as PDF' on the Functionbar ///' + kontext "Standardbar" + Sleep 5 + ExportAsPDF.click + ' the 'Export as PDF' dialog has to come up, with the only 'File type' 'PDF - Portable Document Format (.pdf)' + kontext "ExportierenDlg" + sTemp = Dateityp.GetSelText + if (sTemp <> sPDF) then + Warnlog "filter for PDF export is missing :-( should: '" + sPDF + "'; is: '" + + "'" + endif + '///+ - set Textbox 'File name' to "abc" ///' + Dateiname.SetText "abc" + '///+ - use the cursor keys in the filebrowser ///' + DateiAuswahl.TypeKeys "" + '///+ - click on the button 'Up one level' ///' + UebergeordneterOrdner.Click + '///+ - click on the button 'Create New Directory' ///' + NeuerOrdner.Click + kontext "NeuerOrdner" + '///+ - - in the dialog $Foldername set textfield 'New' to 'abc' ///' + OrdnerName.SetText "abc" + '///+ - - cancel dialog $Foldername ///' + NeuerOrdner.cancel + kontext "ExportierenDlg" + '///+ - click on the button 'Default Directory' ///' + Standard.Click + '///+ - cancel dialog ///' + Kontext "ExportierenDlg" + ExportierenDlg.Cancel + + '/// close application ///' + Call hCloseDocument endcase testcase tmFileProperties -'/// open application ///' - Call hNewDocument - '/// File->Properties... ///' - FileProperties - - Kontext - '/// select tabpage 'General' ///' - active.SetPage TabDokument - Kontext "TabDokument" - Call DialogTest ( TabDokument ) - - Kontext - '/// select tabpage 'Description' ///' - active.SetPage TabDokumentInfo - Kontext "TabDokumentInfo" - Call DialogTest ( TabDokumentInfo ) - - Kontext - '/// select tabpage 'Internet' ///' - active.SetPage TabInternet - Kontext "TabInternet" - Call DialogTest (TabInternet) - TabInternet.Cancel - '/// close application ///' - Call hCloseDocument - - qaerrorlog "#i95523# Custom Properties is not controlable by VCL TestTool Application" - goto endsub - - Kontext - '/// select tabpage 'User defined' ///' - active.SetPage TabBenutzer - Kontext "TabBenutzer" - Call DialogTest ( TabBenutzer ) - '/// click button 'info fields' ///' - Infofelder.Click - Kontext "InfonamenBearbeiten" - Call DialogTest (InfonamenBearbeiten) - '/// close dialog 'edit field names' ///' - InfoNamenBearbeiten.Cancel + '/// open application ///' + Call hNewDocument + '/// File->Properties... ///' + FileProperties + + Kontext + '/// select tabpage 'General' ///' + active.SetPage TabDokument + Kontext "TabDokument" + Call DialogTest ( TabDokument ) + + Kontext + '/// select tabpage 'Description' ///' + active.SetPage TabDokumentInfo + Kontext "TabDokumentInfo" + Call DialogTest ( TabDokumentInfo ) + + Kontext + '/// select tabpage 'Internet' ///' + active.SetPage TabInternet + Kontext "TabInternet" + Call DialogTest (TabInternet) + TabInternet.Cancel + '/// close application ///' + Call hCloseDocument + + qaerrorlog "#i95523# Custom Properties is not controlable by VCL TestTool Application" + goto endsub + + Kontext + '/// select tabpage 'User defined' ///' + active.SetPage TabBenutzer + Kontext "TabBenutzer" + Call DialogTest ( TabBenutzer ) + '/// click button 'info fields' ///' + Infofelder.Click + Kontext "InfonamenBearbeiten" + Call DialogTest (InfonamenBearbeiten) + '/// close dialog 'edit field names' ///' + InfoNamenBearbeiten.Cancel endcase testcase tmFilePrinterSetting -'/// open application ///' - Call hNewDocument - sleep 3 - '/// File->Printer Settings ///' - FilePrintersettings - kontext - if active.exists(2) then - active.ok - qaerrorlog "There is no printer available - please install one on your system!" - endif - Kontext "DruckerEinrichten" - Call DialogTest (DruckerEinrichten) - sleep 2 - '/// cancel dialog 'printer setup' ///' - DruckerEinrichten.Cancel - sleep 2 - '/// close application ///' - Call hCloseDocument + '/// open application ///' + Call hNewDocument + sleep 3 + '/// File->Printer Settings ///' + FilePrintersettings + kontext + if active.exists(2) then + active.ok + qaerrorlog "There is no printer available - please install one on your system!" + endif + Kontext "DruckerEinrichten" + Call DialogTest (DruckerEinrichten) + sleep 2 + '/// cancel dialog 'printer setup' ///' + DruckerEinrichten.Cancel + sleep 2 + '/// close application ///' + Call hCloseDocument endcase -sub hTBOtypeInDoc - SchreibenInMathdok "a over b" -end sub diff --git a/testautomation/math/required/includes/m_002_.inc b/testautomation/math/required/includes/m_002_.inc old mode 100644 new mode 100755 index 860ba8ae0135..d65d49cb188b --- a/testautomation/math/required/includes/m_002_.inc +++ b/testautomation/math/required/includes/m_002_.inc @@ -46,7 +46,7 @@ testcase tmEditUndoRedo hNewDocument kontext "DocumentMath" '/// type something into the document ///' - call hTBOtypeInDoc + call SchreibenInMathdok "a over b" try '/// Edit->Undo ///' EditUndo @@ -70,7 +70,7 @@ testcase tmEditAllClipboard ' Commands.TypeKeys Eingabe '/// type something into the document ///' - call hTBOtypeInDoc + call SchreibenInMathdok "a over b" '/// Edit->Select All ///' EditSelectAllMath Sleep 2 diff --git a/testautomation/math/required/includes/m_007_.inc b/testautomation/math/required/includes/m_007_.inc old mode 100644 new mode 100755 index 9fe712a516a8..99cc9e729412 --- a/testautomation/math/required/includes/m_007_.inc +++ b/testautomation/math/required/includes/m_007_.inc @@ -49,7 +49,7 @@ testcase tmHelpHelpAgent '/// open application ///' Call hNewDocument - hTBOtypeInDoc + SchreibenInMathdok "a over b" HelpHelpAgent ' it's just a switch sleep 2 @@ -62,7 +62,7 @@ endcase testcase tmHelpTips '/// open application ///' Call hNewDocument - hTBOtypeInDoc + SchreibenInMathdok "a over b" HelpTips Sleep 2 @@ -75,7 +75,7 @@ endcase testcase tmHelpExtendedTips '/// open application ///' Call hNewDocument - hTBOtypeInDoc + SchreibenInMathdok "a over b" HelpEntendedHelp Sleep (2) @@ -88,7 +88,7 @@ endcase testcase tmHelpAboutStarOffice '/// open application ///' Call hNewDocument - hTBOtypeInDoc + SchreibenInMathdok "a over b" HelpAboutStarOffice Kontext "UeberStarMath" diff --git a/testautomation/math/required/includes/m_020_.inc b/testautomation/math/required/includes/m_020_.inc old mode 100644 new mode 100755 index b2edf7170ede..31d9fed08c2e --- a/testautomation/math/required/includes/m_020_.inc +++ b/testautomation/math/required/includes/m_020_.inc @@ -40,7 +40,7 @@ testcase tMainToolbar '/// open application ///' Call hNewDocument '/// type something into document ///' - hTBOtypeInDoc + SchreibenInMathdok "a over b" kontext "Toolbar" '/// click buttons on Main Toolbar ///' '/// click 'Zoom in' ///' -- cgit From e0986b3290e9c73116d86f9ae3b8e35f94aadc2b Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 22 Apr 2010 12:51:04 +0200 Subject: tl78: #i110383# password to modify support --- sfx2/inc/sfx2/docfile.hxx | 2 + sfx2/inc/sfx2/objsh.hxx | 3 + sfx2/source/dialog/filedlghelper.cxx | 63 +------- sfx2/source/doc/docfile.cxx | 50 ++++++ sfx2/source/doc/objcont.cxx | 10 ++ sfx2/source/doc/objmisc.cxx | 29 ++++ sfx2/source/doc/objxtor.cxx | 1 + sfx2/source/inc/objshimp.hxx | 2 +- sfx2/source/view/viewfrm.cxx | 286 +++++++++++++++++++++-------------- uui/source/iahndl-authentication.cxx | 21 ++- uui/source/loginerr.hxx | 142 +++++++++-------- 11 files changed, 361 insertions(+), 248 deletions(-) diff --git a/sfx2/inc/sfx2/docfile.hxx b/sfx2/inc/sfx2/docfile.hxx index 03bcfec5818f..01494f751773 100644 --- a/sfx2/inc/sfx2/docfile.hxx +++ b/sfx2/inc/sfx2/docfile.hxx @@ -166,6 +166,7 @@ public: const SfxFilter * GetFilter() const { return pFilter; } const SfxFilter * GetOrigFilter( sal_Bool bNotCurrent = sal_False ) const; const String& GetOrigURL() const; + SfxItemSet * GetItemSet() const; void SetItemSet(SfxItemSet *pSet); void Close(); @@ -342,6 +343,7 @@ public: static sal_Bool CallApproveHandler( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler, ::com::sun::star::uno::Any aRequest, sal_Bool bAllowAbort ); static sal_Bool SetWritableForUserOnly( const ::rtl::OUString& aURL ); + static sal_uInt16 CreatePasswordToModifyHash( const ::rtl::OUString& aPasswd, sal_Bool bMSType ); }; SV_DECL_IMPL_REF( SfxMedium ) diff --git a/sfx2/inc/sfx2/objsh.hxx b/sfx2/inc/sfx2/objsh.hxx index 99161cb5b36c..e932f0f87477 100644 --- a/sfx2/inc/sfx2/objsh.hxx +++ b/sfx2/inc/sfx2/objsh.hxx @@ -294,6 +294,7 @@ public: sal_Bool HasName() const { return bHasName; } virtual String GetAPIName() const; void SetHasName( sal_Bool bSet = sal_True ) { bHasName = bSet; } + void SetReadOnly(); sal_Bool IsReadOnly() const; sal_Bool IsReadOnlyMedium() const; void SetReadOnlyUI( sal_Bool bReadOnly = sal_True ); @@ -736,6 +737,8 @@ public: SAL_DLLPRIVATE sal_uInt16 ImplCheckSignaturesInformation( const ::com::sun::star::uno::Sequence< ::com::sun::star::security::DocumentSignatureInformation >& aInfos ); SAL_DLLPRIVATE void CheckEncryption_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler ); + SAL_DLLPRIVATE void SetModifyPasswordEntered(); + SAL_DLLPRIVATE sal_Bool IsModifyPasswordEntered(); SAL_DLLPRIVATE SEQUENCE< OUSTRING > GetEventNames_Impl(); SAL_DLLPRIVATE void InitBasicManager_Impl(); diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx index c1b9aaf7838d..d7109496d670 100644 --- a/sfx2/source/dialog/filedlghelper.cxx +++ b/sfx2/source/dialog/filedlghelper.cxx @@ -80,7 +80,6 @@ #include #include #include -#include #include #include #include @@ -465,22 +464,6 @@ sal_Bool FileDialogHelper_Impl::isInOpenMode() const // ------------------------------------------------------------------------ -namespace { - -sal_Bool lclCheckPasswordCapability( const SfxFilter* pFilter ) -{ - return pFilter && ( pFilter->GetFilterFlags() & SFX_FILTER_ENCRYPTION ); -} - -sal_Bool lclCheckPasswordToModifyCapability( const SfxFilter* pFilter ) -{ - return pFilter && ( pFilter->GetFilterFlags() & SFX_FILTER_PASSWORDTOMODIFY ); -} - -} - -// ------------------------------------------------------------------------ - void FileDialogHelper_Impl::updateFilterOptionsBox() { if ( !m_bHaveFilterOptions ) @@ -571,9 +554,10 @@ void FileDialogHelper_Impl::enablePasswordBox( sal_Bool bInit ) sal_Bool bWasEnabled = mbIsPwdEnabled; + const SfxFilter* pCurrentFilter = getCurentSfxFilter(); mbIsPwdEnabled = updateExtendedControl( ExtendedFilePickerElementIds::CHECKBOX_PASSWORD, - lclCheckPasswordCapability( getCurentSfxFilter() ) + pCurrentFilter && ( pCurrentFilter->GetFilterFlags() & SFX_FILTER_ENCRYPTION ) ); if( bInit ) @@ -1643,7 +1627,7 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList, return ERRCODE_ABORT; // check, wether or not we have to display a password box - if ( mbHasPassword && mbIsPwdEnabled && xCtrlAccess.is() ) + if ( pCurrentFilter && mbHasPassword && mbIsPwdEnabled && xCtrlAccess.is() ) { try { @@ -1663,7 +1647,7 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList, ::comphelper::DocPasswordRequestType_MS : ::comphelper::DocPasswordRequestType_STANDARD; - ::rtl::Reference< ::comphelper::DocPasswordRequest > pPasswordRequest( new ::comphelper::DocPasswordRequest( eType, ::com::sun::star::task::PasswordRequestMode_PASSWORD_CREATE, *(rpURLList->GetObject(0)), lclCheckPasswordToModifyCapability( pCurrentFilter ) ) ); + ::rtl::Reference< ::comphelper::DocPasswordRequest > pPasswordRequest( new ::comphelper::DocPasswordRequest( eType, ::com::sun::star::task::PasswordRequestMode_PASSWORD_CREATE, *(rpURLList->GetObject(0)), ( pCurrentFilter->GetFilterFlags() & SFX_FILTER_PASSWORDTOMODIFY ) ) ); uno::Reference< com::sun::star::task::XInteractionRequest > rRequest( pPasswordRequest.get() ); xInteractionHandler->handle( rRequest ); @@ -1675,43 +1659,10 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList, if ( pPasswordRequest->getRecommendReadOnly() ) rpSet->Put( SfxBoolItem( SID_RECOMMENDREADONLY, sal_True ) ); - if ( pPasswordRequest->getPasswordToModify().getLength() ) - { - rtl_TextEncoding nEncoding = RTL_TEXTENCODING_UTF8; - if ( bMSType ) - { - // if the MS-filter should be used - // use the inconsistent algorithm to find the encoding specified by MS - nEncoding = osl_getThreadTextEncoding(); - switch( nEncoding ) - { - case RTL_TEXTENCODING_ISO_8859_15: - case RTL_TEXTENCODING_MS_874: - case RTL_TEXTENCODING_MS_1250: - case RTL_TEXTENCODING_MS_1251: - case RTL_TEXTENCODING_MS_1252: - case RTL_TEXTENCODING_MS_1253: - case RTL_TEXTENCODING_MS_1254: - case RTL_TEXTENCODING_MS_1255: - case RTL_TEXTENCODING_MS_1256: - case RTL_TEXTENCODING_MS_1257: - case RTL_TEXTENCODING_MS_1258: - case RTL_TEXTENCODING_SHIFT_JIS: - case RTL_TEXTENCODING_GB_2312: - case RTL_TEXTENCODING_BIG5: - // in case the system uses an encoding from the list above, it should be used - break; - - default: - // in case other encoding is used, use one of the encodings from the list - nEncoding = RTL_TEXTENCODING_MS_1250; - break; - } - } - - sal_uInt16 nHash = ::comphelper::DocPasswordHelper::GetXLHashAsUINT16( pPasswordRequest->getPasswordToModify(), nEncoding ); + // the empty password has 0 as Hash + sal_uInt16 nHash = SfxMedium::CreatePasswordToModifyHash( pPasswordRequest->getPasswordToModify(), bMSType ); + if ( nHash ) rpSet->Put( SfxUInt16Item( SID_PASSWORDTOMODIFYHASH, nHash ) ); - } } else return ERRCODE_ABORT; diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index 0b535088b0bd..1740d2703ed1 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -115,6 +115,7 @@ using namespace ::com::sun::star::io; #include #include #include +#include #include #include #include @@ -2671,18 +2672,67 @@ void SfxMedium::SetFilter( const SfxFilter* pFilterP, sal_Bool /*bResetOrig*/ ) pFilter = pFilterP; pImp->nFileVersion = 0; } + //---------------------------------------------------------------- const SfxFilter* SfxMedium::GetOrigFilter( sal_Bool bNotCurrent ) const { return ( pImp->pOrigFilter || bNotCurrent ) ? pImp->pOrigFilter : pFilter; } + //---------------------------------------------------------------- void SfxMedium::SetOrigFilter_Impl( const SfxFilter* pOrigFilter ) { pImp->pOrigFilter = pOrigFilter; } + +//------------------------------------------------------------------ + +sal_uInt16 SfxMedium::CreatePasswordToModifyHash( const ::rtl::OUString& aPasswd, sal_Bool bMSType ) +{ + sal_uInt16 nHash = 0; + + if ( aPasswd.getLength() ) + { + rtl_TextEncoding nEncoding = RTL_TEXTENCODING_UTF8; + if ( bMSType ) + { + // if the MS-filter should be used + // use the inconsistent algorithm to find the encoding specified by MS + nEncoding = osl_getThreadTextEncoding(); + switch( nEncoding ) + { + case RTL_TEXTENCODING_ISO_8859_15: + case RTL_TEXTENCODING_MS_874: + case RTL_TEXTENCODING_MS_1250: + case RTL_TEXTENCODING_MS_1251: + case RTL_TEXTENCODING_MS_1252: + case RTL_TEXTENCODING_MS_1253: + case RTL_TEXTENCODING_MS_1254: + case RTL_TEXTENCODING_MS_1255: + case RTL_TEXTENCODING_MS_1256: + case RTL_TEXTENCODING_MS_1257: + case RTL_TEXTENCODING_MS_1258: + case RTL_TEXTENCODING_SHIFT_JIS: + case RTL_TEXTENCODING_GB_2312: + case RTL_TEXTENCODING_BIG5: + // in case the system uses an encoding from the list above, it should be used + break; + + default: + // in case other encoding is used, use one of the encodings from the list + nEncoding = RTL_TEXTENCODING_MS_1250; + break; + } + } + + nHash = ::comphelper::DocPasswordHelper::GetXLHashAsUINT16( aPasswd, nEncoding ); + } + + return nHash; +} + //------------------------------------------------------------------ void SfxMedium::Close() diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx index 5d14007ec169..0a02a7f8df49 100644 --- a/sfx2/source/doc/objcont.cxx +++ b/sfx2/source/doc/objcont.cxx @@ -1499,3 +1499,13 @@ sal_Bool SfxObjectShell::SetModifyPasswordHash( sal_uInt16 nHash ) // return sal_False; } +void SfxObjectShell::SetModifyPasswordEntered() +{ + pImp->m_bModifyPasswordEntered = sal_True; +} + +sal_Bool SfxObjectShell::IsModifyPasswordEntered() +{ + return pImp->m_bModifyPasswordEntered; +} + diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx index 1cb88e98f59f..a7adf530afc9 100644 --- a/sfx2/source/doc/objmisc.cxx +++ b/sfx2/source/doc/objmisc.cxx @@ -476,6 +476,32 @@ void SfxObjectShell::SetReadOnlyUI( sal_Bool bReadOnly ) //------------------------------------------------------------------------- +void SfxObjectShell::SetReadOnly() +{ + // Let the document be completely readonly, means that the + // medium open mode is adjusted accordingly, and the write lock + // on the file is removed. + + if ( pMedium && !IsReadOnlyMedium() ) + { + sal_Bool bWasROUI = IsReadOnly(); + + pMedium->UnlockFile( sal_False ); + + // the storage-based mediums are already based on the temporary file + // so UnlockFile has already closed the locking stream + if ( !pMedium->HasStorage_Impl() && IsLoadingFinished() ) + pMedium->CloseInStream(); + + pMedium->SetOpenMode( SFX_STREAM_READONLY, pMedium->IsDirect(), sal_True ); + pMedium->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, sal_True ) ); + + if ( !bWasROUI ) + Broadcast( SfxSimpleHint(SFX_HINT_MODECHANGED) ); + } +} +//------------------------------------------------------------------------- + sal_Bool SfxObjectShell::IsReadOnly() const { return pImp->bReadOnlyUI || IsReadOnlyMedium(); @@ -1370,6 +1396,9 @@ void SfxObjectShell::FinishedLoading( sal_uInt16 nFlags ) if( !IsAbortingImport() ) PositionView_Impl(); + if ( GetModifyPasswordHash() ) + SetReadOnly(); + // Salvage if ( pSalvageItem ) bSetModifiedTRUE = sal_True; diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 0ed230dd9dd9..cc983e5eb543 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -263,6 +263,7 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell ) ,m_bIsInit( sal_False ) ,m_bIncomplEncrWarnShown( sal_False ) ,m_nModifyPasswordHash( 0 ) + ,m_bModifyPasswordEntered( sal_False ) { } diff --git a/sfx2/source/inc/objshimp.hxx b/sfx2/source/inc/objshimp.hxx index a97018e4b3f6..04df263a3de8 100644 --- a/sfx2/source/inc/objshimp.hxx +++ b/sfx2/source/inc/objshimp.hxx @@ -171,7 +171,7 @@ struct SfxObjectShell_Impl : public ::sfx2::IMacroDocumentAccess sal_Bool m_bIncomplEncrWarnShown; sal_uInt16 m_nModifyPasswordHash; - + sal_Bool m_bModifyPasswordEntered; SfxObjectShell_Impl( SfxObjectShell& _rDocShell ); virtual ~SfxObjectShell_Impl(); diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 2291e8079b3a..1d61b09fdd63 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -71,6 +71,7 @@ #include #include #include +#include #include #include @@ -86,6 +87,7 @@ #include #include #include +#include #include #include @@ -113,6 +115,7 @@ namespace css = ::com::sun::star; #include "sfxtypes.hxx" #include #include +#include #include #include "sfxresid.hxx" #include "appbas.hxx" @@ -158,6 +161,48 @@ TYPEINIT1(SfxViewFrameItem, SfxPoolItem); //========================================================================= +static sal_Bool AskPasswordToModify_Impl( const uno::Reference< task::XInteractionHandler >& xHandler, const ::rtl::OUString& aPath, const SfxFilter* pFilter, sal_uInt16 nPasswordHash ) +{ + sal_Bool bResult = !nPasswordHash; + + OSL_ENSURE( pFilter && ( pFilter->GetFilterFlags() & SFX_FILTER_PASSWORDTOMODIFY ), "PasswordToModify feature is active for a filter that does not support it!" ); + + if ( pFilter && xHandler.is() ) + { + sal_Bool bCancel = sal_False; + sal_Bool bFirstTime = sal_True; + + while ( !bResult && !bCancel ) + { + sal_Bool bMSType = !pFilter->IsOwnFormat(); + ::comphelper::DocPasswordRequestType nType = bMSType ? + ::comphelper::DocPasswordRequestType_MS : + ::comphelper::DocPasswordRequestType_STANDARD; + + ::rtl::Reference< ::comphelper::DocPasswordRequest > pPasswordRequest( + new ::comphelper::DocPasswordRequest( + bMSType ? ::comphelper::DocPasswordRequestType_MS : ::comphelper::DocPasswordRequestType_STANDARD, + bFirstTime ? ::com::sun::star::task::PasswordRequestMode_PASSWORD_ENTER : ::com::sun::star::task::PasswordRequestMode_PASSWORD_REENTER, + aPath, + sal_True ) ); + + uno::Reference< com::sun::star::task::XInteractionRequest > rRequest( pPasswordRequest.get() ); + xHandler->handle( rRequest ); + + if ( pPasswordRequest->isPassword() ) + bResult = ( SfxMedium::CreatePasswordToModifyHash( pPasswordRequest->getPasswordToModify(), bMSType ) == nPasswordHash ); + else + bCancel = sal_True; + + bFirstTime = sal_False; + } + } + + return bResult; +} + +//========================================================================= + struct SfxViewFrame_Impl { SvBorder aBorder; @@ -371,10 +416,11 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) if( !pSh || !pSh->HasName() || !(pSh->Get_Impl()->nLoadedFlags & SFX_LOADED_MAINDOCUMENT )) break; + SfxMedium* pMed = pSh->GetMedium(); + SFX_ITEMSET_ARG( pSh->GetMedium()->GetItemSet(), pItem, SfxBoolItem, SID_VIEWONLY, sal_False ); if ( pItem && pItem->GetValue() ) { - SfxMedium* pMed = pSh->GetMedium(); SfxApplication* pApp = SFX_APP(); SfxAllItemSet aSet( pApp->GetPool() ); aSet.Put( SfxStringItem( SID_FILE_NAME, pMed->GetURLObject().GetMainURL(INetURLObject::NO_DECODE) ) ); @@ -417,6 +463,22 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) } else { + if ( pSh->IsReadOnlyMedium() + && pSh->GetModifyPasswordHash() + && !pSh->IsModifyPasswordEntered() ) + { + ::rtl::OUString aDocumentName = INetURLObject( pMed->GetOrigURL() ).GetMainURL( INetURLObject::DECODE_WITH_CHARSET ); + if( !AskPasswordToModify_Impl( pMed->GetInteractionHandler(), aDocumentName, pMed->GetOrigFilter(), pSh->GetModifyPasswordHash() ) ) + { + // this is a read-only document, if it has "Password to modify" + // the user should enter password before he can edit the document + rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), sal_False ) ); + return; + } + + pSh->SetModifyPasswordEntered(); + } + nOpenMode = SFX_STREAM_READWRITE; pSh->SetReadOnlyUI( sal_False ); @@ -436,142 +498,138 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) } // doing - if( pSh ) + String aTemp; + utl::LocalFileHelper::ConvertPhysicalNameToURL( pMed->GetPhysicalName(), aTemp ); + INetURLObject aPhysObj( aTemp ); + SFX_ITEMSET_ARG( pSh->GetMedium()->GetItemSet(), + pVersionItem, SfxInt16Item, SID_VERSION, sal_False ); + + INetURLObject aMedObj( pMed->GetName() ); + + // the logic below is following, if the document seems not to need to be reloaded and the physical name is different + // to the logical one, then on file system it can be checked that the copy is still newer than the original and no document reload is required + if ( ( !bNeedsReload && ( (aMedObj.GetProtocol() == INET_PROT_FILE && + aMedObj.getFSysPath(INetURLObject::FSYS_DETECT) != aPhysObj.getFSysPath(INetURLObject::FSYS_DETECT) && + !::utl::UCBContentHelper::IsYounger( aMedObj.GetMainURL( INetURLObject::NO_DECODE ), aPhysObj.GetMainURL( INetURLObject::NO_DECODE ) )) + || pMed->IsRemote() ) ) + || pVersionItem ) { - SfxMedium* pMed = pSh->GetMedium(); - String aTemp; - utl::LocalFileHelper::ConvertPhysicalNameToURL( pMed->GetPhysicalName(), aTemp ); - INetURLObject aPhysObj( aTemp ); - SFX_ITEMSET_ARG( pSh->GetMedium()->GetItemSet(), - pVersionItem, SfxInt16Item, SID_VERSION, sal_False ); - - INetURLObject aMedObj( pMed->GetName() ); - - // the logic below is following, if the document seems not to need to be reloaded and the physical name is different - // to the logical one, then on file system it can be checked that the copy is still newer than the original and no document reload is required - if ( ( !bNeedsReload && ( (aMedObj.GetProtocol() == INET_PROT_FILE && - aMedObj.getFSysPath(INetURLObject::FSYS_DETECT) != aPhysObj.getFSysPath(INetURLObject::FSYS_DETECT) && - !::utl::UCBContentHelper::IsYounger( aMedObj.GetMainURL( INetURLObject::NO_DECODE ), aPhysObj.GetMainURL( INetURLObject::NO_DECODE ) )) - || pMed->IsRemote() ) ) - || pVersionItem ) + sal_Bool bOK = sal_False; + if ( !pVersionItem ) { - sal_Bool bOK = sal_False; - if ( !pVersionItem ) + sal_Bool bHasStorage = pMed->HasStorage_Impl(); + // switching edit mode could be possible without reload + if ( bHasStorage && pMed->GetStorage() == pSh->GetStorage() ) { - sal_Bool bHasStorage = pMed->HasStorage_Impl(); - // switching edit mode could be possible without reload - if ( bHasStorage && pMed->GetStorage() == pSh->GetStorage() ) - { - // TODO/LATER: faster creation of copy - if ( !pSh->ConnectTmpStorage_Impl( pMed->GetStorage(), pMed ) ) - return; - } + // TODO/LATER: faster creation of copy + if ( !pSh->ConnectTmpStorage_Impl( pMed->GetStorage(), pMed ) ) + return; + } - pMed->CloseAndRelease(); - pMed->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, !( nOpenMode & STREAM_WRITE ) ) ); - pMed->SetOpenMode( nOpenMode, pMed->IsDirect() ); + pMed->CloseAndRelease(); + pMed->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, !( nOpenMode & STREAM_WRITE ) ) ); + pMed->SetOpenMode( nOpenMode, pMed->IsDirect() ); - pMed->CompleteReOpen(); - if ( nOpenMode & STREAM_WRITE ) - pMed->LockOrigFileOnDemand( sal_False, sal_True ); + pMed->CompleteReOpen(); + if ( nOpenMode & STREAM_WRITE ) + pMed->LockOrigFileOnDemand( sal_False, sal_True ); - // LockOrigFileOnDemand might set the readonly flag itself, it should be set back - pMed->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, !( nOpenMode & STREAM_WRITE ) ) ); + // LockOrigFileOnDemand might set the readonly flag itself, it should be set back + pMed->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, !( nOpenMode & STREAM_WRITE ) ) ); - if ( !pMed->GetErrorCode() ) - bOK = sal_True; - } + if ( !pMed->GetErrorCode() ) + bOK = sal_True; + } - if( !bOK ) + if( !bOK ) + { + ErrCode nErr = pMed->GetErrorCode(); + if ( pVersionItem ) + nErr = ERRCODE_IO_ACCESSDENIED; + else { - ErrCode nErr = pMed->GetErrorCode(); - if ( pVersionItem ) - nErr = ERRCODE_IO_ACCESSDENIED; - else - { - pMed->ResetError(); - pMed->SetOpenMode( SFX_STREAM_READONLY, pMed->IsDirect() ); - pMed->ReOpen(); - pSh->DoSaveCompleted( pMed ); - } + pMed->ResetError(); + pMed->SetOpenMode( SFX_STREAM_READONLY, pMed->IsDirect() ); + pMed->ReOpen(); + pSh->DoSaveCompleted( pMed ); + } - // r/o-Doc kann nicht in Editmode geschaltet werden? - rReq.Done( sal_False ); + // r/o-Doc kann nicht in Editmode geschaltet werden? + rReq.Done( sal_False ); - SFX_REQUEST_ARG( rReq, pFSetItem, SfxBoolItem, SID_EDIT_FRAMESET, sal_False); - if ( nOpenMode == SFX_STREAM_READWRITE && !rReq.IsAPI() ) + SFX_REQUEST_ARG( rReq, pFSetItem, SfxBoolItem, SID_EDIT_FRAMESET, sal_False); + if ( nOpenMode == SFX_STREAM_READWRITE && !rReq.IsAPI() ) + { + // dem ::com::sun::star::sdbcx::User anbieten, als Vorlage zu oeffnen + QueryBox aBox( &GetWindow(), SfxResId(MSG_QUERY_OPENASTEMPLATE) ); + if ( !pFSetItem && RET_YES == aBox.Execute() ) { - // dem ::com::sun::star::sdbcx::User anbieten, als Vorlage zu oeffnen - QueryBox aBox( &GetWindow(), SfxResId(MSG_QUERY_OPENASTEMPLATE) ); - if ( !pFSetItem && RET_YES == aBox.Execute() ) + SfxApplication* pApp = SFX_APP(); + SfxAllItemSet aSet( pApp->GetPool() ); + aSet.Put( SfxStringItem( SID_FILE_NAME, pMed->GetName() ) ); + SFX_ITEMSET_ARG( pMed->GetItemSet(), pReferer, SfxStringItem, SID_REFERER, sal_False ); + if ( pReferer ) + aSet.Put( *pReferer ); + aSet.Put( SfxBoolItem( SID_TEMPLATE, sal_True ) ); + if ( pVersionItem ) + aSet.Put( *pVersionItem ); + + if( pMed->GetFilter() ) { - SfxApplication* pApp = SFX_APP(); - SfxAllItemSet aSet( pApp->GetPool() ); - aSet.Put( SfxStringItem( SID_FILE_NAME, pMed->GetName() ) ); - SFX_ITEMSET_ARG( pMed->GetItemSet(), pReferer, SfxStringItem, SID_REFERER, sal_False ); - if ( pReferer ) - aSet.Put( *pReferer ); - aSet.Put( SfxBoolItem( SID_TEMPLATE, sal_True ) ); - if ( pVersionItem ) - aSet.Put( *pVersionItem ); - - if( pMed->GetFilter() ) - { - aSet.Put( SfxStringItem( SID_FILTER_NAME, pMed->GetFilter()->GetFilterName() ) ); - SFX_ITEMSET_ARG( pMed->GetItemSet(), pOptions, - SfxStringItem, SID_FILE_FILTEROPTIONS, sal_False ); - if ( pOptions ) - aSet.Put( *pOptions ); - } - - GetDispatcher()->Execute( SID_OPENDOC, SFX_CALLMODE_ASYNCHRON, aSet ); - return; + aSet.Put( SfxStringItem( SID_FILTER_NAME, pMed->GetFilter()->GetFilterName() ) ); + SFX_ITEMSET_ARG( pMed->GetItemSet(), pOptions, + SfxStringItem, SID_FILE_FILTEROPTIONS, sal_False ); + if ( pOptions ) + aSet.Put( *pOptions ); } - else - nErr = 0; - } - ErrorHandler::HandleError( nErr ); - rReq.SetReturnValue( - SfxBoolItem( rReq.GetSlot(), sal_False ) ); - return; - } - else - { - pSh->DoSaveCompleted( pMed ); - pSh->Broadcast( SfxSimpleHint(SFX_HINT_MODECHANGED) ); - rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), sal_True ) ); - rReq.Done( sal_True ); - // if( nOpenMode == SFX_STREAM_READONLY ) - // pMed->Close(); - - // ReloadForEdit bei Framesets schaltet auch FramesetEditmode - sal_Bool bIsReadonly = GetObjectShell()->IsReadOnly(); - if ( bIsReadonly != bWasReadonly && !GetFrame()->GetParentFrame() ) - { - SfxBoolItem aItem( SID_EDIT_FRAMESET, !bIsReadonly ); - GetDispatcher()->Execute( SID_EDIT_FRAMESET, - SFX_CALLMODE_RECORD, &aItem, 0L ); - pSh->Broadcast( SfxSimpleHint( SFX_HINT_TITLECHANGED ) ); + GetDispatcher()->Execute( SID_OPENDOC, SFX_CALLMODE_ASYNCHRON, aSet ); + return; } - return; + else + nErr = 0; } - } - /* - if ( !bReload ) - { - // Es soll nicht reloaded werden - SfxErrorContext aEc( ERRCODE_SFX_NODOCRELOAD ); - ErrorHandler::HandleError( ERRCODE_SFX_NODOCRELOAD ); + ErrorHandler::HandleError( nErr ); rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), sal_False ) ); return; } - */ - // Ansonsten ( lokal und arbeiten auf Kopie ) muss gereloaded - // werden. + else + { + pSh->DoSaveCompleted( pMed ); + pSh->Broadcast( SfxSimpleHint(SFX_HINT_MODECHANGED) ); + rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), sal_True ) ); + rReq.Done( sal_True ); + // if( nOpenMode == SFX_STREAM_READONLY ) + // pMed->Close(); + + // ReloadForEdit bei Framesets schaltet auch FramesetEditmode + sal_Bool bIsReadonly = GetObjectShell()->IsReadOnly(); + if ( bIsReadonly != bWasReadonly && !GetFrame()->GetParentFrame() ) + { + SfxBoolItem aItem( SID_EDIT_FRAMESET, !bIsReadonly ); + GetDispatcher()->Execute( SID_EDIT_FRAMESET, + SFX_CALLMODE_RECORD, &aItem, 0L ); + pSh->Broadcast( SfxSimpleHint( SFX_HINT_TITLECHANGED ) ); + } + return; + } + } + + /* + if ( !bReload ) + { + // Es soll nicht reloaded werden + SfxErrorContext aEc( ERRCODE_SFX_NODOCRELOAD ); + ErrorHandler::HandleError( ERRCODE_SFX_NODOCRELOAD ); + rReq.SetReturnValue( + SfxBoolItem( rReq.GetSlot(), sal_False ) ); + return; } + */ + // Ansonsten ( lokal und arbeiten auf Kopie ) muss gereloaded + // werden. rReq.AppendItem( SfxBoolItem( SID_FORCERELOAD, sal_True) ); rReq.AppendItem( SfxBoolItem( SID_SILENT, sal_True )); diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx index 51556e88bb0f..7103fee29510 100755 --- a/uui/source/iahndl-authentication.cxx +++ b/uui/source/iahndl-authentication.cxx @@ -32,6 +32,7 @@ #include "com/sun/star/task/MasterPasswordRequest.hpp" #include "com/sun/star/task/XInteractionAbort.hpp" #include "com/sun/star/task/XInteractionPassword.hpp" +#include "com/sun/star/task/XInteractionPassword2.hpp" #include "com/sun/star/task/XInteractionRetry.hpp" #include "com/sun/star/ucb/XInteractionSupplyAuthentication2.hpp" #include "com/sun/star/ucb/URLAuthenticationRequest.hpp" @@ -431,7 +432,7 @@ executePasswordDialog( pFact->CreatePasswordToOpenModifyDialog( pParent, 0, nMaxPasswdLen ) ); rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL ); - rInfo.SetPasswordToOpen( pDialog->GetPasswordToOpen() ); + rInfo.SetPassword( pDialog->GetPasswordToOpen() ); rInfo.SetPasswordToModify( pDialog->GetPasswordToModify() ); rInfo.SetRecommendToOpenReadonly( pDialog->IsRecommendToOpenReadonly() ); } @@ -441,7 +442,7 @@ executePasswordDialog( new PasswordDialog( pParent, nMode, xManager.get(), aDocName, bIsPasswordToModify ) ); rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL ); - rInfo.SetPasswordToOpen( bIsPasswordToModify ? String() : pDialog->GetPassword() ); + rInfo.SetPassword( bIsPasswordToModify ? String() : pDialog->GetPassword() ); rInfo.SetPasswordToModify( bIsPasswordToModify ? pDialog->GetPassword() : String() ); } } @@ -467,7 +468,12 @@ handlePasswordRequest_( uno::Reference< task::XInteractionRetry > xRetry; uno::Reference< task::XInteractionAbort > xAbort; uno::Reference< task::XInteractionPassword > xPassword; - getContinuations(rContinuations, &xRetry, &xAbort, &xPassword); + uno::Reference< task::XInteractionPassword2 > xPassword2; + getContinuations(rContinuations, &xRetry, &xAbort, &xPassword2, &xPassword); + + if ( xPassword2.is() && !xPassword.is() ) + xPassword.set( xPassword2, uno::UNO_QUERY_THROW ); + LoginErrorInfo aInfo; executePasswordDialog( pParent, aInfo, nMode, @@ -476,8 +482,15 @@ handlePasswordRequest_( switch (aInfo.GetResult()) { case ERRCODE_BUTTON_OK: + OSL_ENSURE( !bIsPasswordToModify || xPassword2.is(), "PasswordToModify is requested, but there is no Interaction!" ); if (xPassword.is()) { + if (xPassword2.is()) + { + xPassword2->setPasswordToModify( aInfo.GetPasswordToModify() ); + xPassword2->setRecommendReadOnly( aInfo.IsRecommendToOpenReadonly() ); + } + xPassword->setPassword(aInfo.GetPassword()); xPassword->select(); } @@ -593,7 +606,7 @@ UUIInteractionHelper::handlePasswordRequest( nMode = aDocumentMSPasswordRequest2.Mode; aDocumentName = aDocumentMSPasswordRequest2.Name; bMSCryptoMode = true; - bIsPasswordToModify = aDocumentPasswordRequest2.IsRequestPasswordToModify; + bIsPasswordToModify = aDocumentMSPasswordRequest2.IsRequestPasswordToModify; bDoHandleRequest = true; } diff --git a/uui/source/loginerr.hxx b/uui/source/loginerr.hxx index d16e1a541710..2e0009900d86 100755 --- a/uui/source/loginerr.hxx +++ b/uui/source/loginerr.hxx @@ -25,143 +25,139 @@ * ************************************************************************/ -#ifndef _LOGINERR_HXX -#define _LOGINERR_HXX +#ifndef m_LOGINERR_HXX +#define m_LOGINERR_HXX #include //========================================================================= -#define LOGINERROR_FLAG_SET_SAVE_PASSWORD 1 -#define LOGINERROR_FLAG_MODIFY_ACCOUNT 2 +#define LOGINERROR_FLAG_SET_SAVE_PASSWORD 1 +#define LOGINERROR_FLAG_MODIFY_ACCOUNT 2 #define LOGINERROR_FLAG_MODIFY_USER_NAME 4 -#define LOGINERROR_FLAG_PERSISTENT_PASSWORD 8 +#define LOGINERROR_FLAG_PERSISTENT_PASSWORD 8 #define LOGINERROR_FLAG_CAN_USE_SYSCREDS 16 -#define LOGINERROR_FLAG_IS_USE_SYSCREDS 32 +#define LOGINERROR_FLAG_IS_USE_SYSCREDS 32 class LoginErrorInfo { private: - String _aTitle; - String _aServer; - String _aAccount; - String _aUserName; - String _aPassword; - String _aPasswordToOpen; - String _aPasswordToModify; - String _aPath; - String _aErrorText; - BYTE _nFlags; - USHORT _nRet; - bool _bRecommendToOpenReadonly; + String m_aTitle; + String m_aServer; + String m_aAccount; + String m_aUserName; + String m_aPassword; + String m_aPasswordToModify; + String m_aPath; + String m_aErrorText; + BYTE m_nFlags; + USHORT m_nRet; + bool m_bRecommendToOpenReadonly; public: LoginErrorInfo() - : _nFlags( LOGINERROR_FLAG_MODIFY_USER_NAME ), - _nRet( ERRCODE_BUTTON_CANCEL ) + : m_nFlags( LOGINERROR_FLAG_MODIFY_USER_NAME ), + m_nRet( ERRCODE_BUTTON_CANCEL ) { } - const String& GetTitle() const { return _aTitle; } - const String& GetServer() const { return _aServer; } - const String& GetAccount() const { return _aAccount; } - const String& GetUserName() const { return _aUserName; } - const String& GetPassword() const { return _aPassword; } - const String& GetPasswordToOpen() const { return _aPasswordToOpen; } - const String& GetPasswordToModify() const { return _aPasswordToModify; } - const bool IsRecommendToOpenReadonly() const { return _bRecommendToOpenReadonly; } - const String& GetPath() const { return _aPath; } - const String& GetErrorText() const { return _aErrorText; } - BOOL GetIsPersistentPassword() const - { return ( _nFlags & LOGINERROR_FLAG_PERSISTENT_PASSWORD ); } - BOOL GetIsSavePassword() const - { return ( _nFlags & LOGINERROR_FLAG_SET_SAVE_PASSWORD ); } + const String& GetTitle() const { return m_aTitle; } + const String& GetServer() const { return m_aServer; } + const String& GetAccount() const { return m_aAccount; } + const String& GetUserName() const { return m_aUserName; } + const String& GetPassword() const { return m_aPassword; } + const String& GetPasswordToModify() const { return m_aPasswordToModify; } + const bool IsRecommendToOpenReadonly() const { return m_bRecommendToOpenReadonly; } + const String& GetPath() const { return m_aPath; } + const String& GetErrorText() const { return m_aErrorText; } + BOOL GetIsPersistentPassword() const + { return ( m_nFlags & LOGINERROR_FLAG_PERSISTENT_PASSWORD ); } + BOOL GetIsSavePassword() const + { return ( m_nFlags & LOGINERROR_FLAG_SET_SAVE_PASSWORD ); } BOOL GetCanUseSystemCredentials() const - { return ( _nFlags & LOGINERROR_FLAG_CAN_USE_SYSCREDS ); } + { return ( m_nFlags & LOGINERROR_FLAG_CAN_USE_SYSCREDS ); } BOOL GetIsUseSystemCredentials() const - { return ( _nFlags & LOGINERROR_FLAG_IS_USE_SYSCREDS ) == + { return ( m_nFlags & LOGINERROR_FLAG_IS_USE_SYSCREDS ) == LOGINERROR_FLAG_IS_USE_SYSCREDS; } - BYTE GetFlags() const { return _nFlags; } - USHORT GetResult() const { return _nRet; } + BYTE GetFlags() const { return m_nFlags; } + USHORT GetResult() const { return m_nRet; } - void SetTitle( const String& aTitle ) - { _aTitle = aTitle; } - void SetServer( const String& aServer ) - { _aServer = aServer; } - void SetAccount( const String& aAccount ) - { _aAccount = aAccount; } - void SetUserName( const String& aUserName ) - { _aUserName = aUserName; } + void SetTitle( const String& aTitle ) + { m_aTitle = aTitle; } + void SetServer( const String& aServer ) + { m_aServer = aServer; } + void SetAccount( const String& aAccount ) + { m_aAccount = aAccount; } + void SetUserName( const String& aUserName ) + { m_aUserName = aUserName; } void SetPassword( const String& aPassword ) - { _aPassword = aPassword; } - void SetPasswordToOpen( const String& aPassword ) - { _aPasswordToOpen = aPassword; } + { m_aPassword = aPassword; } void SetPasswordToModify( const String& aPassword ) - { _aPasswordToModify = aPassword; } + { m_aPasswordToModify = aPassword; } void SetRecommendToOpenReadonly( bool bVal ) - { _bRecommendToOpenReadonly = bVal; } - void SetPath( const String& aPath ) - { _aPath = aPath; } - void SetErrorText( const String& aErrorText ) - { _aErrorText = aErrorText; } + { m_bRecommendToOpenReadonly = bVal; } + void SetPath( const String& aPath ) + { m_aPath = aPath; } + void SetErrorText( const String& aErrorText ) + { m_aErrorText = aErrorText; } void SetFlags( BYTE nFlags ) - { _nFlags = nFlags; } - inline void SetSavePassword( BOOL bSet ); - inline void SetPersistentPassword( BOOL bSet ); + { m_nFlags = nFlags; } + inline void SetSavePassword( BOOL bSet ); + inline void SetPersistentPassword( BOOL bSet ); inline void SetCanUseSystemCredentials( BOOL bSet ); inline void SetIsUseSystemCredentials( BOOL bSet ); - inline void SetModifyAccount( BOOL bSet ); - inline void SetModifyUserName( BOOL bSet ); + inline void SetModifyAccount( BOOL bSet ); + inline void SetModifyUserName( BOOL bSet ); void SetResult( USHORT nRet ) - { _nRet = nRet; } + { m_nRet = nRet; } }; inline void LoginErrorInfo::SetSavePassword( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_SET_SAVE_PASSWORD; + m_nFlags |= LOGINERROR_FLAG_SET_SAVE_PASSWORD; else - _nFlags &= ~LOGINERROR_FLAG_SET_SAVE_PASSWORD; + m_nFlags &= ~LOGINERROR_FLAG_SET_SAVE_PASSWORD; } inline void LoginErrorInfo::SetPersistentPassword( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_PERSISTENT_PASSWORD; + m_nFlags |= LOGINERROR_FLAG_PERSISTENT_PASSWORD; else - _nFlags &= ~LOGINERROR_FLAG_PERSISTENT_PASSWORD; + m_nFlags &= ~LOGINERROR_FLAG_PERSISTENT_PASSWORD; } inline void LoginErrorInfo::SetCanUseSystemCredentials( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_CAN_USE_SYSCREDS; + m_nFlags |= LOGINERROR_FLAG_CAN_USE_SYSCREDS; else - _nFlags &= ~LOGINERROR_FLAG_CAN_USE_SYSCREDS; + m_nFlags &= ~LOGINERROR_FLAG_CAN_USE_SYSCREDS; } inline void LoginErrorInfo::SetIsUseSystemCredentials( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_IS_USE_SYSCREDS; + m_nFlags |= LOGINERROR_FLAG_IS_USE_SYSCREDS; else - _nFlags &= ~LOGINERROR_FLAG_IS_USE_SYSCREDS; + m_nFlags &= ~LOGINERROR_FLAG_IS_USE_SYSCREDS; } inline void LoginErrorInfo::SetModifyAccount( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_MODIFY_ACCOUNT; + m_nFlags |= LOGINERROR_FLAG_MODIFY_ACCOUNT; else - _nFlags &= ~LOGINERROR_FLAG_MODIFY_ACCOUNT; + m_nFlags &= ~LOGINERROR_FLAG_MODIFY_ACCOUNT; } inline void LoginErrorInfo::SetModifyUserName( BOOL bSet ) { if ( bSet ) - _nFlags |= LOGINERROR_FLAG_MODIFY_USER_NAME; + m_nFlags |= LOGINERROR_FLAG_MODIFY_USER_NAME; else - _nFlags &= ~LOGINERROR_FLAG_MODIFY_USER_NAME; + m_nFlags &= ~LOGINERROR_FLAG_MODIFY_USER_NAME; } #endif -- cgit From 3838624a088cd2e06b097b084bb94b78e334d332 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 22 Apr 2010 13:59:07 +0200 Subject: vitomation01: #i109562 - Speedup --- .../global/tools/includes/required/t_tools3.inc | 3 + testautomation/math/required/includes/m_001_.inc | 379 +++++++++++---------- 2 files changed, 208 insertions(+), 174 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index 721d7470bc13..7309e5026365 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -995,12 +995,15 @@ function hUseAsyncSlot( cSlot as string ) as integer try select case ( slot ) case "fileclose" : FileClose + case "filesave" : FileSave case "filesaveas" : FileSaveAs( "SynchronMode", TRUE ) case "filesaveall" : FileSaveAll( "SynchronMode", TRUE ) case "fileexport" : FileExport case "filereload" : FileReload( "SynchronMode", TRUE ) case "fileopen" : FileOpen case "fileprint" : FilePrint + case "fileprintersettings" : FilePrintersettings + case "fileproperties" : FileProperties case "editdoc" : EditDoc case "editcopy" : EditCopy diff --git a/testautomation/math/required/includes/m_001_.inc b/testautomation/math/required/includes/m_001_.inc index 1e9a1be3fae3..7696cb852d29 100644 --- a/testautomation/math/required/includes/m_001_.inc +++ b/testautomation/math/required/includes/m_001_.inc @@ -39,7 +39,8 @@ Const cActFilterExt = ".odf" ' used filter for save (extension) ' Datei$ = convertpath( gOfficePath + "user\work\Erwin2"+cActFilterExt) ' Datei = convertpath(gofficepath + "user\work\test"+cActFilterExt) -sub M_001Printlog Chr(13) + "-- File Menu m_001_ --" +sub M_001_ + Printlog Chr(13) + "-- File Menu m_001_ --" cActFilter = gMathFilter @@ -104,76 +105,79 @@ testcase tmFileNew endcase testcase tmFilePassword + Dim DokumentPfad$ Dim Datei$ '/// open application ///' hFileCloseAll() hNewDocument '/// type a formula ///' - SchreibenInMathdok "a over b" + SchreibenInMathdok "a over b" : WaitSlot() printlog "'/// - save doc as "+cActFilter+" with passwd - ///'" - FileSaveAs + hUseAsyncSlot( "FileSaveAs" ) + Kontext "SpeichernDlg" - Datei$ = convertpath( gOfficePath + "user\work\killme" + cActFilterExt) - if Dir (Datei$) <> "" then kill Datei$ - printlog " Testfile: "+Datei$ - 'Dateityp.Select (cActFilter) - Passwort.Check - Dateiname.SetText Datei$ - Speichern.Click - Kontext "Active" - if Active.Exists (5) then - ' TBO: ??? what will be ??! - Printlog "(1/5) " + Active.GetText - Active.Yes - end if + if ( SpeichernDlg.exists( 2 ) ) then + Datei$ = convertpath( gOfficePath + "user\work\killme" + cActFilterExt) + hDeleteFile( Datei$ ) + + printlog " Testfile: "+Datei$ + Passwort.Check + Dateiname.SetText Datei$ + Speichern.Click + Kontext "Active" + if Active.Exists (5) then + ' TBO: ??? what will be ??! + Printlog "(1/5) " + Active.GetText + hCloseDialog( Active, "yes" ) + end if + else + warnlog( "File Save As dialog did not open" ) + endif printlog "'/// Try wrong passwd confirmation ///'" - Sleep 2 Kontext "PasswordFileSave" - sleep (2) - try + if ( PasswordFileSave.exists( 2 ) ) then Password.SetText "12345" PasswordConfirm.Settext "54321" - PasswordFileSave.OK - Sleep 2 - catch - warnlog "had to ask for passwd!!!!" - endcatch - Kontext - if (Active.Exists (5) = FALSE ) then - Warnlog "Wrong passwordinput not detected" + hCloseDialog( PasswordFileSave, "ok" ) else + warnlog( "Password dialog on File Save is missing" ) + endif + + Kontext + if ( Active.Exists ( 5 ) ) then Printlog "(2/5) " + Active.GetText - Active.OK + hCloseDialog( Active, "ok" ) + else + Warnlog "Wrong passwordinput not detected" end if printlog "'/// Now do it right ///'" Kontext "PasswordFileSave" - try + if ( PasswordFileSave.exists( 3 ) ) then Password.SetText "12345" PasswordConfirm.Settext "12345" - PasswordFileSave.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch + hCloseDialog( PasswordFileSave, "ok" ) + else + warnlog( "Password dialog on File Save is missing" ) + endif - Sleep 2 printlog "'/// Gotcha & Close file/window ///'" - FileClose - sleep 1 + hUseAsyncSlot( "FileClose" ) printlog "'/// load again with wrong passwd ///'" - Call hFileOpen Datei$ - sleep 1 + Call hFileOpen( Datei$ ) + Kontext "PasswordFileOpen" - try + if ( PasswordFileOpen.exists( 3 ) ) then Passwortname.SetText "34567" - PasswordFileOpen.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch + hCloseDialog( PasswordFileOpen, "ok" ) + else + warnlog( "Password dialog on File Open is missing" ) + endif + Kontext "Active" if Active.Exists(5) then Printlog "(3/5) " + Active.GetText @@ -183,29 +187,33 @@ testcase tmFilePassword end if printlog "'///load now with right passwd ///'" - Sleep 3 - 'Call hDateiOeffnen Datei$ Kontext "PasswordFileOpen" - try + if ( PasswordFileOpen.exists( 3 ) ) then Passwortname.SetText "12345" - PasswordFileOpen.OK - catch - warnlog "had to ask for passwd!!!!" - endcatch - Sleep 2 + hCloseDialog( PasswordFileOpen, "ok" ) + else + warnlog( "Password dialog on File Open is missing" ) + endif printlog "'/// - save doc with new name under 6.... (has to be automagical selected by loading this doc!) w/o passwd - ///'" Datei$ = convertpath( gOfficePath + "user\work\Erwin2"+cActFilterExt) - if Dir (Datei$) <> "" then kill Datei$ - FileSaveAs + hDeleteFile( Datei$ ) + + hUseAsyncSlot( "FileSaveAs" ) + Kontext "SpeichernDlg" - Dateiname.SetText Datei$ - if (Passwort.IsChecked <> TRUE) then - Warnlog "#i36015# Password has to be checked! :-(" - Passwort.Check - printlog "will be forced checked no!" + if ( SpeichernDlg.exists( 2 ) ) then + Dateiname.SetText Datei$ + if (Passwort.IsChecked <> TRUE) then + Warnlog "#i36015# Password has to be checked! :-(" + Passwort.Check + printlog "will be forced checked no!" + endif + Speichern.Click + else + warnlog( "File Save dialog is missing" ) endif - Speichern.Click + Kontext "Messagebox" '/// (if messagebox comes up, say YES) ///' if Messagebox.Exists(2) then @@ -213,33 +221,37 @@ testcase tmFilePassword endif '/// password dialog has to show up! ///' Kontext "PasswordFileSave" - if (PasswordFileSave.Exists(5) = FALSE)then - Warnlog "- Password dialog Didn't popped up after pressing save" - else - Kontext "PasswordFileSave" + if ( PasswordFileSave.exists( 2 ) ) then '/// type password "a12345", confirm password: "a12345" -> RIGHT ///' Password.SetText "a12345" PasswordConfirm.SetText "a12345" - PasswordFileSave.OK - sleep 2 - '/// close document ///' - FileClose - sleep 1 + hCloseDialog( PasswordFileSave, "ok" ) + else + warnlog( "Password dialog on FileSave is missing" ) endif + '/// close document ///' + hUseAsyncSlot( "FileClose" ) '/// open document ///' - FileOpen - sleep 1 + hUseAsyncSlot( "FileOpen" ) + Kontext "OeffnenDlg" - Dateiname.SetText Datei$ - Oeffnen.Click - Kontext "PasswordFileOpen" - sleep 1 - '/// type password: "a12345" -> RIGHT ///' - PasswortName.SetText "a12345" - PasswordFileOpen.OK - sleep 5 - '/// File->SaveAs ///' - FileSaveAs + if ( OeffnenDlg.exists( 2 ) ) then + Dateiname.SetText Datei$ + Oeffnen.Click + Kontext "PasswordFileOpen" + if ( PasswordFileOpen.exists( 2 ) ) then + '/// type password: "a12345" -> RIGHT ///' + PasswortName.SetText "a12345" + hCloseDialog( PasswordFileOpen, "ok" ) + else + warnlog( "Password dialog on FileOpen is missing" ) + endif + else + warnlog( "Failed to open File Open dialog" ) + endif + +'/// File->SaveAs ///' + hUseAsyncSlot( "FileSaveAs" ) Kontext "SpeichernDlg" Dateiname.SetText Datei$ if (Passwort.IsChecked <> TRUE) then @@ -258,9 +270,9 @@ testcase tmFilePassword if (PasswordFileSave.Exists(5))then Warnlog "- Password dialog neeedn't popped up after pressing save" Kontext "PasswordFileSave" - passwordFileSave.cancel + hCloseDialog( passwordFileSave, "cancel" ) '/// close document ///' - FileClose + hUseAsyncSlot( "FileClose" ) else '/// close document ///' hCloseDocument @@ -274,7 +286,7 @@ testcase tmFileReload dim sFilterExt() as string Datei = convertpath(gofficepath + "user\work\test"+cActFilterExt) - if Dir (Datei) <> "" then kill (Datei) + hDeleteFile( Datei ) ' make sure saving in latest math filter works, checking global filtername and if necessary change it sFilter = hGetUIFiltername("math8") @@ -284,19 +296,24 @@ testcase tmFileReload '/// type a formula ///' call SchreibenInMathdok "a over b" '/// File->Save As ///' - FileSaveAs + hUseAsyncSlot( "FileSaveAs" ) Kontext "SpeichernDlg" - '/// select the actual default file format ///' - Dateityp.Select (hFindFilterPosition( sFilter )) - '/// type a file name ///' - Dateiname.SetText Datei - '/// click button 'save' ///' - Speichern.Click - Kontext "Active" - if Active.Exists(2) then Active.Yes - sleep 3 + if ( SpeichernDlg.exists( 2 ) ) then + '/// select the actual default file format ///' + Dateityp.Select (hFindFilterPosition( sFilter )) + '/// type a file name ///' + Dateiname.SetText Datei + '/// click button 'save' ///' + Speichern.Click + Kontext "Active" + + if Active.Exists(2) then hCloseDialog( Active, "yes" ) + else + warnlog( "File Save dialog did not open" ) + endif + '/// File->Close ///' - FileClose + hUseAsyncSlot( "FileClose" ) Kontext if MessageBox.Exists (1) then WarnLog "After Saving and Closing the following MessageBox appears: " + MessageBox.GetText @@ -304,15 +321,15 @@ testcase tmFileReload end if '/// open just saved file ///' - Call hFileOpen Datei + Call hFileOpen( Datei ) '/// type a formula ///' + sleep( 2 ) call SchreibenInMathdok "a over b" - sleep (3) - '/// File->Reload ///' - FileReload - sleep (3) + sleep( 2 ) +'/// File->Reload ///' + hUseAsyncSlot( "FileReload" ) Kontext - if Active.Exists (1) then + if Active.Exists ( 3 ) then PrintLog "Say no to: " + Active.GetText '/// say NO to active ///' active.No @@ -320,9 +337,9 @@ testcase tmFileReload WarnLog "Missing smth to say no to! " end if - Sleep 3 + '/// File->Reload ///' - FileReload + hUseAsyncSlot( "FileReload" ) Kontext if Active.Exists (1) then PrintLog "Said yes to: " + Active.GetText @@ -381,16 +398,17 @@ testcase tmFileOpen '/// File->Open ///' FileOpen Kontext "OeffnenDlg" - '/// klick button 'Up one level' ///' - UebergeordneterOrdner.Click - '/// klick button 'Default Directory' ///' - Standard.Click - '/// check checkbox 'Read Only' ///' - NurLesen.check - Call DialogTest ( OeffnenDlg ) - '/// cancel dialog 'Open' ///' - OeffnenDlg.Cancel - Sleep 2 + if ( OeffnenDlg.exists( 2 ) ) then + '/// klick button 'Up one level' ///' + UebergeordneterOrdner.Click + '/// klick button 'Default Directory' ///' + Standard.Click + '/// check checkbox 'Read Only' ///' + NurLesen.check + Call DialogTest ( OeffnenDlg ) + '/// cancel dialog 'Open' ///' + hCloseDialog( OeffnenDlg, "cancel" ) + endif '/// close application ///' Call hCloseDocument endcase @@ -399,10 +417,11 @@ testcase tmFileClose '/// open application ///' hNewDocument ' just for the records: i open ONE document '/// type a formula ///' + sleep( 2 ) call SchreibenInMathdok "a over b" - sleep (2) - '/// File->Close ///' - FileClose + sleep( 2 ) +'/// File->Close ///' + hUseAsyncSlot( "FileClose" ) Kontext ' expecting 'modified, do you want to close?' if active.exists (5) then printlog " ok, active came up: " + active.gettext @@ -411,24 +430,27 @@ testcase tmFileClose else warnlog "active missing (1)" endif - sleep (2) + '/// File->Close ///' - FileClose + hUseAsyncSlot( "FileClose" ) Kontext '/// say YES to active about 'modified stuff :-)' ///' - Active.Yes ' but now - records: this document is closed - sleep (2) + hCloseDialog( Active, "yes" ) + Kontext "SpeichernDlg" - Call DialogTest ( SpeichernDlg ) - '/// cancel dialog 'Save As' ///' - SpeichernDlg.Cancel - sleep (2) + if ( SpeichernDlg.exists( 2 ) ) then + Call DialogTest ( SpeichernDlg ) + '/// cancel dialog 'Save As' ///' + hCloseDialog( SpeichernDlg, "cancel" ) + else + warnlog( "File Save dialog did not open" ) + endif '/// File->Close ///' - FileClose ' now the office gets closed! (if there were no modifications!) + hUseAsyncSlot( "FileClose" ) ' now the office gets closed! (if there were no modifications!) Kontext - if active.exists (5) then Active.No - sleep (2) + if active.exists (5) then hCloseDialog( Active, "No" ) + endcase testcase tmFileSave @@ -437,20 +459,23 @@ testcase tmFileSave '/// type a formula ///' call SchreibenInMathdok "a over b" '/// File->Save ///' - FileSave - sleep 2 + hUseAsyncSlot( "FileSave" ) + Kontext "SpeichernDlg" - UebergeordneterOrdner.click - Standard.Click - ' NeuerOrdner.Click - ' DateiAuswahl.TypeKeys "Hallo" - ' DateiLoeschen - ' Kontext "Messagebox" - ' MessageBox.Yes - Call DialogTest (SpeichernDlg) - '/// cancel dialog 'Save' ///' - SpeichernDlg.Cancel - sleep 2 + if ( SpeichernDlg.exists( 2 ) ) then + UebergeordneterOrdner.click + Standard.Click + ' NeuerOrdner.Click + ' DateiAuswahl.TypeKeys "Hallo" + ' DateiLoeschen + ' Kontext "Messagebox" + ' MessageBox.Yes + Call DialogTest (SpeichernDlg) + '/// cancel dialog 'Save' ///' + hCloseDialog( SpeichernDlg, "cancel" ) + else + warnlog( "File Save dialog did not open" ) + endif '/// close application ///' Call hCloseDocument endcase @@ -462,31 +487,32 @@ testcase tmFileSaveAs '/// type a formula ///' call SchreibenInMathdok "a over b" '/// File->Save As ///' - FileSaveAs - sleep 1 + hUseAsyncSlot( "FileSaveAs" ) + Kontext "SpeichernDlg" - if (SpeichernDlg.exists (5) = FALSE) then - warnlog "error :-(" + if (SpeichernDlg.exists ( 5 ) ) then + + '/// check ceckbox 'save with Password' ///' + Passwort.check + '/// UNcheck ceckbox 'save with Password' ///' + Passwort.uncheck + '/// click button 'up one level' ///' + UebergeordneterOrdner.click + '/// click button 'default directory' ///' + Standard.Click + '/// click button 'create new directory' ///' + NeuerOrdner.click + kontext "NeuerOrdner" + '/// cancel dialog 'create new folder' ///' + NeuerOrdner.cancel + Kontext "SpeichernDlg" + Call DialogTest (SpeichernDlg) + '/// cancel dialog 'Save As' ///' + hCloseDialog( SpeichernDlg, "cancel" ) + else + warnlog( "File Save dialog did not open" ) endif - sleep 2 - '/// check ceckbox 'save with Password' ///' - Passwort.check - '/// UNcheck ceckbox 'save with Password' ///' - Passwort.uncheck - '/// click button 'up one level' ///' - UebergeordneterOrdner.click - '/// click button 'default directory' ///' - Standard.Click - '/// click button 'create new directory' ///' - NeuerOrdner.click - kontext "NeuerOrdner" - '/// cancel dialog 'create new folder' ///' - NeuerOrdner.cancel - Kontext "SpeichernDlg" - Call DialogTest (SpeichernDlg) - '/// cancel dialog 'Save As' ///' - SpeichernDlg.Cancel - sleep (2) + '/// close application ///' Call hCloseDocument endcase @@ -583,7 +609,7 @@ testcase tmExportAsPDF Standard.Click '///+ - cancel dialog ///' Kontext "ExportierenDlg" - ExportierenDlg.Cancel + hCloseDialog( ExportierenDlg, "cancel" ) '/// close application ///' Call hCloseDocument @@ -593,7 +619,7 @@ testcase tmFileProperties '/// open application ///' Call hNewDocument '/// File->Properties... ///' - FileProperties + hUseAsyncSlot( "FileProperties" ) Kontext '/// select tabpage 'General' ///' @@ -612,7 +638,7 @@ testcase tmFileProperties active.SetPage TabInternet Kontext "TabInternet" Call DialogTest (TabInternet) - TabInternet.Cancel + hCloseDialog( TabInternet, "cancel" ) '/// close application ///' Call hCloseDocument @@ -629,26 +655,31 @@ testcase tmFileProperties Kontext "InfonamenBearbeiten" Call DialogTest (InfonamenBearbeiten) '/// close dialog 'edit field names' ///' - InfoNamenBearbeiten.Cancel + hCloseDialog( InfoNamenBearbeiten, "cancel" ) endcase testcase tmFilePrinterSetting '/// open application ///' Call hNewDocument - sleep 3 - '/// File->Printer Settings ///' - FilePrintersettings + +'/// File->Printer Settings ///' + hUseAsyncSlot( "FilePrintersettings" ) kontext if active.exists(2) then active.ok qaerrorlog "There is no printer available - please install one on your system!" endif + Kontext "DruckerEinrichten" - Call DialogTest (DruckerEinrichten) - sleep 2 - '/// cancel dialog 'printer setup' ///' - DruckerEinrichten.Cancel - sleep 2 + if ( DruckerEinrichten.exists( 2 ) ) then + Call DialogTest (DruckerEinrichten) + + '/// cancel dialog 'printer setup' ///' + hCloseDialog( DruckerEinrichten, "cancel" ) + else + warnlog( "Printer Configuration dialog did not open" ) + endif + '/// close application ///' Call hCloseDocument endcase -- cgit From de3a1c82ad711bb221c48c1f13a1d5a83a8798d2 Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Fri, 23 Apr 2010 11:10:20 +0200 Subject: cbosdo03: Fixed some merge issues --- writerfilter/source/dmapper/NumberingManager.cxx | 32 +++++++++++++----------- writerfilter/source/dmapper/NumberingManager.hxx | 2 +- writerfilter/source/dmapper/SettingsTable.cxx | 21 ++-------------- writerfilter/source/dmapper/StyleSheetTable.hxx | 2 +- 4 files changed, 21 insertions(+), 36 deletions(-) diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx index 501590cf08ad..670d5f2bf940 100644 --- a/writerfilter/source/dmapper/NumberingManager.cxx +++ b/writerfilter/source/dmapper/NumberingManager.cxx @@ -113,18 +113,20 @@ void ListLevel::SetValue( Id nId, sal_Int32 nValue ) case NS_rtf::LN_FNORESTART: m_nFNoRestart = nValue; break; - case NS_rtf::LN_FPREV: + case NS_rtf::LN_FIDENTSAV: m_nFPrev = nValue; break; - case NS_rtf::LN_FPREVSPACE: + case NS_rtf::LN_FCONVERTED: m_nFPrevSpace = nValue; break; +#if 0 case NS_rtf::LN_FWORD6: m_nFWord6 = nValue; break; +#endif case NS_rtf::LN_IXCHFOLLOW: m_nXChFollow = nValue; - break; + break; case NS_ooxml::LN_CT_TabStop_pos: m_nTabstop = nValue; break; @@ -384,10 +386,10 @@ void AbstractListDef::SetValue( sal_uInt32 nSprmId, sal_Int32 nValue ) case NS_rtf::LN_FSIMPLELIST: m_nSimpleList = nValue; break; - case NS_rtf::LN_FRESTARTHDN: + case NS_rtf::LN_fAutoNum: m_nRestart = nValue; break; - case NS_rtf::LN_UNSIGNED26_2: + case NS_rtf::LN_fHybrid: m_nUnsigned = nValue; break; default: @@ -665,20 +667,18 @@ void ListsManager::attribute( Id nName, Value& rVal ) /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FNORESTART: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: + case NS_rtf::LN_FIDENTSAV: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: + case NS_rtf::LN_FCONVERTED: +#if 0 /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FWORD6: +#endif /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_IXCHFOLLOW: if ( pCurrentLvl.get( ) ) pCurrentLvl->SetValue( nName, sal_Int32( nIntValue ) ); break; - /* WRITERFILTERSTATUS: done: 100, planned: 0, spent: 0 */ - case NS_rtf::LN_UNUSED5_7: - //unused - break; /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_RGISTD: m_pCurrentDefinition->AddRGISTD( rVal.getString() ); @@ -691,8 +691,8 @@ void ListsManager::attribute( Id nName, Value& rVal ) break; case NS_rtf::LN_TPLC: case NS_rtf::LN_FSIMPLELIST: - case NS_rtf::LN_FRESTARTHDN: - case NS_rtf::LN_UNSIGNED26_2: + case NS_rtf::LN_fAutoNum: + case NS_rtf::LN_fHybrid: m_pCurrentDefinition->SetValue( nName, nIntValue ); break; case NS_ooxml::LN_CT_NumLvl_ilvl: @@ -851,11 +851,13 @@ void ListsManager::sprm( Sprm& rSprm ) /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FNORESTART: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREV: + case NS_rtf::LN_FIDENTSAV: /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ - case NS_rtf::LN_FPREVSPACE: + case NS_rtf::LN_FCONVERTED: +#if 0 /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_FWORD6: +#endif /* WRITERFILTERSTATUS: done: 75, planned: 0, spent: 0 */ case NS_rtf::LN_IXCHFOLLOW: m_pCurrentDefinition->GetCurrentLevel( )->SetValue( nSprmId, nIntValue ); diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx index c368de285d4a..327736eda813 100644 --- a/writerfilter/source/dmapper/NumberingManager.hxx +++ b/writerfilter/source/dmapper/NumberingManager.hxx @@ -169,7 +169,7 @@ public: /** This class provides access to the defined numbering styles. */ -class WRITERFILTER_DLLPRIVATE ListsManager : +class ListsManager : public Properties, public Table { diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx index 10fc83e22dea..deb65c7c8cba 100755 --- a/writerfilter/source/dmapper/SettingsTable.cxx +++ b/writerfilter/source/dmapper/SettingsTable.cxx @@ -28,11 +28,12 @@ * ************************************************************************/ +#include + #include #include #include #include -#include #include #include @@ -45,8 +46,6 @@ struct SettingsTable_Impl DomainMapper& m_rDMapper; const uno::Reference< lang::XMultiServiceFactory > m_xTextFactory; - ListTablePtr m_pListTable; - ::rtl::OUString m_sCharacterSpacing; ::rtl::OUString m_sDecimalSymbol; ::rtl::OUString m_sListSeparatorForFields; //2.15.1.56 listSeparator (List Separator for Field Code Evaluation) @@ -67,14 +66,6 @@ struct SettingsTable_Impl , m_doNotIncludeSubdocsInStats(false) , m_bRecordChanges(false) {} - - ListTablePtr GetListTable() - { - if(!m_pListTable) - m_pListTable.reset( - new ListTable( m_rDMapper, m_xTextFactory )); - return m_pListTable; - } }; SettingsTable::SettingsTable(DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory) : @@ -151,14 +142,6 @@ void SettingsTable::sprm(Sprm& rSprm) } break; /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_Numbering_num: // 92613; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ - case NS_ooxml::LN_CT_Numbering_abstractNum: // 92612; - { - m_pImpl->GetListTable()->sprm( rSprm ); - } - break; - /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ case NS_ooxml::LN_CT_Settings_stylePaneFormatFilter: // 92493; break; /* WRITERFILTERSTATUS: done: 0, planned: 0, spent: 0 */ diff --git a/writerfilter/source/dmapper/StyleSheetTable.hxx b/writerfilter/source/dmapper/StyleSheetTable.hxx index 6eef483289ec..e4441bcb05fe 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.hxx +++ b/writerfilter/source/dmapper/StyleSheetTable.hxx @@ -87,7 +87,7 @@ public: typedef boost::shared_ptr StyleSheetEntryPtr; class DomainMapper; -class WRITERFILTER_DLLPRIVATE StyleSheetTable : +class StyleSheetTable : public Properties, public Table { -- cgit From 9bfe25036358e6befdb2e9ddcbc1084f6a3d8c7f Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 23 Apr 2010 11:43:48 +0200 Subject: jl152 import 263450 from native0jl:#i77196# XExtensionManager.isReadOnlyRepositor, fixed removing xcu exceptions, executable backend --- .../deployment/manager/dp_commandenvironments.cxx | 31 ++++ .../deployment/manager/dp_commandenvironments.hxx | 18 ++- .../deployment/manager/dp_extensionmanager.cxx | 4 + .../deployment/manager/dp_extensionmanager.hxx | 2 + desktop/source/deployment/manager/dp_manager.cxx | 3 + .../source/deployment/registry/dp_backenddb.cxx | 8 +- .../registry/executable/dp_executable.cxx | 61 ++++++-- .../registry/executable/dp_executablebackenddb.cxx | 165 +++++++++++++++++++++ .../registry/executable/dp_executablebackenddb.hxx | 91 ++++++++++++ .../deployment/registry/executable/makefile.mk | 3 +- .../deployment/registry/help/dp_helpbackenddb.cxx | 24 --- .../deployment/registry/package/dp_package.cxx | 6 - .../deployment/registry/script/dp_script.cxx | 17 ++- 13 files changed, 382 insertions(+), 51 deletions(-) create mode 100644 desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx create mode 100644 desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx diff --git a/desktop/source/deployment/manager/dp_commandenvironments.cxx b/desktop/source/deployment/manager/dp_commandenvironments.cxx index 814dc818b2a6..c2801ba1d965 100644 --- a/desktop/source/deployment/manager/dp_commandenvironments.cxx +++ b/desktop/source/deployment/manager/dp_commandenvironments.cxx @@ -250,6 +250,37 @@ void NoLicenseCommandEnv::handle( handle_(approve, abort, xRequest); } + +// NoExceptionCommandEnv::NoExceptionCommandEnv( +// css::uno::Reference< css::task::XInteractionHandler> const & handler, +// css::uno::Type const & type): +// BaseCommandEnv(handler), +// m_type(type) +// { +// } +// // XInteractionHandler +// void NoExceptionCommandEnv::handle( +// Reference< task::XInteractionRequest> const & xRequest ) +// throw (uno::RuntimeException) +// { +// uno::Any request( xRequest->getRequest() ); +// OSL_ASSERT( request.getValueTypeClass() == uno::TypeClass_EXCEPTION ); + + +// deployment::LicenseException licExc; + +// bool approve = false; +// bool abort = false; + +// if (request.getValueType() == m_type) +// { +// approve = true; +// } +// handle_(approve, abort, xRequest); +// } + + + } // namespace dp_manager diff --git a/desktop/source/deployment/manager/dp_commandenvironments.hxx b/desktop/source/deployment/manager/dp_commandenvironments.hxx index ad47fd2af549..0bdad4fd09cc 100644 --- a/desktop/source/deployment/manager/dp_commandenvironments.hxx +++ b/desktop/source/deployment/manager/dp_commandenvironments.hxx @@ -32,7 +32,7 @@ #include "cppuhelper/compbase3.hxx" //#include "cppuhelper/implbase2.hxx" #include "ucbhelper/content.hxx" - +#include "com/sun/star/uno/Type.hxx" namespace css = ::com::sun::star; @@ -137,6 +137,22 @@ public: }; +// class NoExceptionCommandEnv : public BaseCommandEnv +// { +// css::uno::Type m_type; +// public: +// NoExceptionCommandEnv::NoExceptionCommandEnv(){}; +// NoExceptionCommandEnv::NoExceptionCommandEnv( +// css::uno::Reference< css::task::XInteractionHandler> const & handler, +// css::uno::Type const & type); + +// // XInteractionHandler +// virtual void SAL_CALL handle( +// css::uno::Reference const & xRequest ) +// throw (css::uno::RuntimeException); + +// }; + } diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index bbe476e57fba..44f34991889e 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -1224,6 +1224,10 @@ ExtensionManager::getExtensionsWithUnacceptedLicenses( return xPackageManager->getExtensionsWithUnacceptedLicenses(xCmdEnv); } +sal_Bool ExtensionManager::isReadOnlyRepository(::rtl::OUString const & repository) +{ + return getPackageManager(repository)->isReadOnly(); +} //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index 10bf3713c410..158fd35e2fa0 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -202,6 +202,8 @@ public: throw (css::deployment::DeploymentException, css::uno::RuntimeException); + virtual sal_Bool SAL_CALL isReadOnlyRepository(::rtl::OUString const & repository); + private: struct StrSyncRepository : public ::dp_misc::StaticResourceString< diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 8c55f2508680..83105406f253 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -1368,6 +1368,9 @@ void PackageManagerImpl::synchronizeAddedExtensions( rtl_UriEncodeIgnoreEscapes, RTL_TEXTENCODING_UTF8); + //It it sufficient to check for the folder name, because when the administor + //installed the extension it was already checked if there is one with the + //same identifier. const MatchTempDir match(titleEncoded); if (::std::find_if( id2temp.begin(), id2temp.end(), match ) == id2temp.end()) diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx index 1c0451c77cd6..fe8b39b94d44 100644 --- a/desktop/source/deployment/registry/dp_backenddb.cxx +++ b/desktop/source/deployment/registry/dp_backenddb.cxx @@ -150,7 +150,7 @@ void BackendDb::removeElement(::rtl::OUString const & sXPathExpression) //find the extension element that is to be removed Reference aNode = xpathApi->selectSingleNode(root, sXPathExpression); - OSL_ASSERT(aNode.is()); + if (aNode.is()) { root->removeChild(aNode); @@ -174,6 +174,7 @@ void BackendDb::removeElement(::rtl::OUString const & sXPathExpression) } +//Only writes the data if there is at least one entry void BackendDb::writeVectorOfPair( ::std::vector< ::std::pair< ::rtl::OUString, ::rtl::OUString > > const & vecPairs, OUString const & sVectorTagName, @@ -183,6 +184,8 @@ void BackendDb::writeVectorOfPair( css::uno::Reference const & xParent) { try{ + if (vecPairs.size() == 0) + return; const OUString sNameSpace = getDbNSName(); OSL_ASSERT(sNameSpace.getLength()); Reference doc = getDocument(); @@ -287,6 +290,7 @@ BackendDb::readVectorOfPair( } } +//Only writes the data if there is at least one entry void BackendDb::writeSimpleList( ::std::list< ::rtl::OUString> const & list, OUString const & sListTagName, @@ -295,6 +299,8 @@ void BackendDb::writeSimpleList( { try { + if (list.size() == 0) + return; const OUString sNameSpace = getDbNSName(); Reference doc = getDocument(); diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx index ac83302f9fb4..c72a97d88891 100644 --- a/desktop/source/deployment/registry/executable/dp_executable.cxx +++ b/desktop/source/deployment/registry/executable/dp_executable.cxx @@ -28,6 +28,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_desktop.hxx" +#include "dp_misc.h" #include "dp_backend.h" #include "dp_ucb.h" #include "dp_interact.h" @@ -37,10 +38,12 @@ #include "comphelper/servicedecl.hxx" #include "svl/inettype.hxx" #include "cppuhelper/implbase1.hxx" +#include "dp_executablebackenddb.hxx" using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::ucb; +using namespace dp_misc; using ::rtl::OUString; namespace dp_registry { @@ -68,7 +71,6 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend bool getFileAttributes(sal_uInt64& out_Attributes); bool isUrlTargetInExtension(); - public: inline ExecutablePackageImpl( ::rtl::Reference const & myBackend, @@ -89,8 +91,12 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend OUString const & url, OUString const & mediaType, sal_Bool bRemoved, OUString const & identifier, Reference const & xCmdEnv ); - Reference m_xExecutableTypeInfo; + void addDataToDb(OUString const & url); + bool isRegisteredInDb(OUString const & url); + void deleteDataFromDb(OUString const & url); + Reference m_xExecutableTypeInfo; + std::auto_ptr m_backendDb; public: BackendImpl( Sequence const & args, Reference const & xComponentContext ); @@ -114,7 +120,32 @@ BackendImpl::BackendImpl( RID_IMG_COMPONENT, RID_IMG_COMPONENT_HC ) ) { + if (!transientMode()) + { + OUString dbFile = makeURL(getCachePath(), OUSTR("backenddb.xml")); + m_backendDb.reset( + new ExecutableBackendDb(getComponentContext(), dbFile)); + } +} +void BackendImpl::addDataToDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->addEntry(url); +} + +bool BackendImpl::isRegisteredInDb(OUString const & url) +{ + bool ret = false; + if (m_backendDb.get()) + ret = m_backendDb->getEntry(url); + return ret; +} + +void BackendImpl::deleteDataFromDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->removeEntry(url); } // XPackageRegistry @@ -186,18 +217,11 @@ BackendImpl::ExecutablePackageImpl::isRegistered_( ::rtl::Reference const &, Reference const & ) { - //We must return Optional.isPresent = true, otherwise - //processPackage is not called. - //The user shall not be able to enable/disable the executable. This is not needed since - //the executable does not affect the office. The best thing is to show no - //status at all. See also BackendImpl::PackageImpl::isRegistered_ (dp_package.cxx) - //On Windows there is no executable file attribute. One has to use security API for this. - //However, on Windows we do not have the problem, that after unzipping the file cannot be - //executed. + bool registered = getMyBackend()->isRegisteredInDb(getURL()); return beans::Optional< beans::Ambiguous >( sal_True /* IsPresent */, beans::Ambiguous( - sal_True, sal_True /* IsAmbiguous */ ) ); + registered, sal_False /* IsAmbiguous */ ) ); } void BackendImpl::ExecutablePackageImpl::processPackage_( @@ -224,7 +248,9 @@ void BackendImpl::ExecutablePackageImpl::processPackage_( else if (getMyBackend()->m_context.equals(OUSTR("shared"))) attributes |= (osl_File_Attribute_OwnExe | osl_File_Attribute_GrpExe | osl_File_Attribute_OthExe); - else + else if (!getMyBackend()->m_context.equals(OUSTR("bundled"))) + //Bundled extension are required to be in the properly + //installed. That is an executable must have the right flags OSL_ASSERT(0); //This won't have affect on Windows @@ -232,11 +258,18 @@ void BackendImpl::ExecutablePackageImpl::processPackage_( dp_misc::expandUnoRcUrl(m_url), attributes)) OSL_ENSURE(0, "Extension Manager: Could not set executable file attribute."); } + getMyBackend()->addDataToDb(getURL()); + } + else + { + getMyBackend()->deleteDataFromDb(getURL()); } } -//We currently cannot check if this XPackage represents a content of a particular exension +//We currently cannot check if this XPackage represents a content of a particular extension //But we can check if we are within $UNO_USER_PACKAGES_CACHE etc. +//Done for security reasons. For example an extension manifest could contain a path to +//an executable outside the extension. bool BackendImpl::ExecutablePackageImpl::isUrlTargetInExtension() { bool bSuccess = false; @@ -245,6 +278,8 @@ bool BackendImpl::ExecutablePackageImpl::isUrlTargetInExtension() sExtensionDir = dp_misc::expandUnoRcTerm(OUSTR("$UNO_USER_PACKAGES_CACHE")); else if (getMyBackend()->m_context.equals(OUSTR("shared"))) sExtensionDir = dp_misc::expandUnoRcTerm(OUSTR("$UNO_SHARED_PACKAGES_CACHE")); + else if (getMyBackend()->m_context.equals(OUSTR("bundled"))) + sExtensionDir = dp_misc::expandUnoRcTerm(OUSTR("$BUNDLED_EXTENSIONS")); else OSL_ASSERT(0); //remove file ellipses diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx new file mode 100644 index 000000000000..893a58ee8c64 --- /dev/null +++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx @@ -0,0 +1,165 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_package.cxx,v $ + * $Revision: 1.34.16.2 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_desktop.hxx" + +#include "rtl/string.h" +#include "rtl/bootstrap.hxx" +#include "cppuhelper/exc_hlp.hxx" +#include "com/sun/star/uno/XComponentContext.hpp" +#include "com/sun/star/xml/dom/XDocumentBuilder.hpp" +#include "com/sun/star/xml/xpath/XXPathAPI.hpp" +#include "dp_misc.h" + +#include "dp_executablebackenddb.hxx" + + +namespace css = ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +#define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/executable-registry/2010" +#define NS_PREFIX "exe" +#define ROOT_ELEMENT_NAME "executable-backend-db" + +namespace dp_registry { +namespace backend { +namespace executable { + +ExecutableBackendDb::ExecutableBackendDb( + Reference const & xContext, + ::rtl::OUString const & url):BackendDb(xContext, url) +{ + +} + +OUString ExecutableBackendDb::getDbNSName() +{ + return OUSTR(EXTENSION_REG_NS); +} + +OUString ExecutableBackendDb::getNSPrefix() +{ + return OUSTR(NS_PREFIX); +} + +OUString ExecutableBackendDb::getRootElementName() +{ + return OUSTR(ROOT_ELEMENT_NAME); +} + +void ExecutableBackendDb::addEntry(::rtl::OUString const & url) +{ + try{ + + const OUString sNameSpace = getDbNSName(); + const OUString sPrefix = getNSPrefix(); + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + +#if OSL_DEBUG_LEVEL > 0 + //There must not be yet an entry with the same url + OUString sExpression( + sPrefix + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); + Reference _extensionNode = + getXPathAPI()->selectSingleNode(root, sExpression); + OSL_ASSERT(! _extensionNode.is()); +#endif + Reference helpElement( + doc->createElementNS(sNameSpace, sPrefix + OUSTR(":executable"))); + + helpElement->setAttribute(OUSTR("url"), url); + + Reference helpNode( + helpElement, UNO_QUERY_THROW); + root->appendChild(helpNode); + +// Reference dataNode( +// doc->createElementNS(sNameSpace, sPrefix + OUSTR(":data-url")), +// UNO_QUERY_THROW); +// helpNode->appendChild(dataNode); + +// Reference dataValue( +// doc->createTextNode(data.dataUrl), UNO_QUERY_THROW); +// dataNode->appendChild(dataValue); + + save(); + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to write data entry in backend db: ") + + m_urlDb, 0, exc); + } +} + +void ExecutableBackendDb::removeEntry(::rtl::OUString const & url) +{ + OUString sExpression( + OUSTR(NS_PREFIX) + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); + removeElement(sExpression); +} + +bool ExecutableBackendDb::getEntry(::rtl::OUString const & url) +{ + try + { + const OUString sPrefix = getNSPrefix(); + const OUString sExpression( + sPrefix + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + + Reference xpathApi = getXPathAPI(); + //find the extension element that is to be removed + Reference aNode = + xpathApi->selectSingleNode(root, sExpression); + if (!aNode.is()) + { + return false; + } + return true; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data entry in backend db: ") + + m_urlDb, 0, exc); + } +} + + +} // namespace executable +} // namespace backend +} // namespace dp_registry + diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx new file mode 100644 index 000000000000..2634d1d9d376 --- /dev/null +++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_backend.h,v $ + * $Revision: 1.18 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_DP_EXECUTABLEBACKENDDB_HXX +#define INCLUDED_DP_EXECUTABLEBACKENDDB_HXX + +#include "rtl/ustring.hxx" +#include "rtl/string.hxx" +#include +#include +#include "boost/optional.hpp" +#include "dp_backenddb.hxx" + +namespace css = ::com::sun::star; + +namespace com { namespace sun { namespace star { + namespace uno { + class XComponentContext; + } + namespace xml { namespace dom { + class XDocument; + class XNode; + }} + namespace xml { namespace xpath { + class XXPathAPI; + }} +}}} + +namespace dp_registry { +namespace backend { +namespace executable { + +/* The XML file stores the extensions which are currently registered. + They will be removed when they are revoked. + The format looks like this: + + + */ +class ExecutableBackendDb: public dp_registry::backend::BackendDb +{ +protected: + virtual ::rtl::OUString getDbNSName(); + + virtual ::rtl::OUString getNSPrefix(); + + virtual ::rtl::OUString getRootElementName(); + +public: + + ExecutableBackendDb( css::uno::Reference const & xContext, + ::rtl::OUString const & url); + + void addEntry(::rtl::OUString const & url); + void removeEntry(::rtl::OUString const & url); + bool getEntry(::rtl::OUString const & url); +}; + + + +} +} +} +#endif + diff --git a/desktop/source/deployment/registry/executable/makefile.mk b/desktop/source/deployment/registry/executable/makefile.mk index 1e57f5ecf3b1..81b2baa44e5d 100644 --- a/desktop/source/deployment/registry/executable/makefile.mk +++ b/desktop/source/deployment/registry/executable/makefile.mk @@ -36,7 +36,8 @@ ENABLE_EXCEPTIONS = TRUE INCPRE += ..$/..$/inc SLOFILES = \ - $(SLO)$/dp_executable.obj + $(SLO)$/dp_executable.obj \ + $(SLO)$/dp_executablebackenddb.obj .INCLUDE : ..$/..$/target.pmk .INCLUDE : target.mk diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx index f36eb6d7b8cb..cad6ddecf751 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx @@ -111,20 +111,6 @@ void HelpBackendDb::addEntry(::rtl::OUString const & url, Data const & data) doc->createTextNode(data.dataUrl), UNO_QUERY_THROW); dataNode->appendChild(dataValue); -// writeSimpleList( -// data.implementationNames, -// OUSTR("implementation-names"), -// OUSTR("name"), -// componentNode); - -// writeVectorOfPair( -// data.singletons, -// OUSTR("singletons"), -// OUSTR("item"), -// OUSTR("key"), -// OUSTR("value"), -// componentNode); - save(); } catch(css::uno::Exception &) @@ -166,16 +152,6 @@ HelpBackendDb::getEntry(::rtl::OUString const & url) Reference dataUrlVal = xpathApi->selectSingleNode(aNode, sExprDataUrl); retData.dataUrl = dataUrlVal->getNodeValue(); - -// retData.implementationNames = -// readList( -// aNode, OUSTR("reg:implementation-names"), OUSTR("reg:name")); - -// retData.singletons = -// readVectorOfPair( -// aNode, OUSTR("reg:singletons"), OUSTR("item"), OUSTR("key"), -// OUSTR("value")); - } else { diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index a5426bf26b54..3d4842f62bfd 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -530,12 +530,6 @@ BackendImpl::PackageImpl::isRegistered_( for ( sal_Int32 pos = bundle.getLength(); pos--; ) { Reference const & xPackage = bundle[ pos ]; - //disregard executable (application/vnd.sun.star.executable) - //it will not be disabled/enabled. - OUString sType = xPackage->getPackageType()->getMediaType(); - if (sType.equals(OUSTR("application/vnd.sun.star.executable"))) - continue; - Reference xSubAbortChannel( xPackage->createAbortChannel() ); AbortChannel::Chain chain( abortChannel, xSubAbortChannel ); diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index b2eddfaf74e0..e808cd0f5e73 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -227,15 +227,22 @@ Reference BackendImpl::bindPackage_( { if (type.EqualsIgnoreCaseAscii("application")) { + OUString dialogURL( makeURL( url, OUSTR("dialog.xlb") ) ); + if (! create_ucb_content( + 0, dialogURL, xCmdEnv, false /* no throw */ )) { + dialogURL = OUString(); + } + if (subType.EqualsIgnoreCaseAscii("vnd.sun.star.basic-library")) { - OUString dialogURL( makeURL( url, OUSTR("dialog.xlb") ) ); + OUString scriptURL( makeURL( url, OUSTR("script.xlb"))); if (! create_ucb_content( - 0, dialogURL, xCmdEnv, false /* no throw */ )) { - dialogURL = OUString(); + 0, scriptURL, xCmdEnv, false /* no throw */ )) { + scriptURL = OUString(); } + return new PackageImpl( - this, url, xCmdEnv, makeURL( url, OUSTR("script.xlb") ), + this, url, xCmdEnv, scriptURL, dialogURL, bRemoved, identifier); } else if (subType.EqualsIgnoreCaseAscii( @@ -243,7 +250,7 @@ Reference BackendImpl::bindPackage_( return new PackageImpl( this, url, xCmdEnv, OUString() /* no script lib */, - makeURL( url, OUSTR("dialog.xlb") ), + dialogURL, bRemoved, identifier); } } -- cgit From 56aa9690e256ded90d4fcc39fe0674d44df59d65 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 23 Apr 2010 11:43:48 +0200 Subject: jl152 import 263450 from native0jl:#i77196# XExtensionManager.isReadOnlyRepositor, fixed removing xcu exceptions, executable backend --- offapi/com/sun/star/deployment/XExtensionManager.idl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 6deb5402cca8..57acc85eab66 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -325,6 +325,10 @@ interface XExtensionManager com::sun::star::ucb::CommandAbortedException, com::sun::star::lang::IllegalArgumentException); + /** determines if the current user has write access to the extensions folder + of the repository. + */ + boolean isReadOnlyRepository([in] string repository); }; }; }; }; }; -- cgit From 348d7dca303360f82e1fd53e1a5ec63f5f7917d4 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 26 Apr 2010 13:04:34 +0200 Subject: vitomation01: #i109562 - Re-apply patch from CWS autmatindev300m76cat0 as all attempts to fix the sMakeReadonlyDocumentEditable() problem for good failed. --- .../global/tools/includes/required/t_doc2.inc | 131 ++++++++++++--------- 1 file changed, 76 insertions(+), 55 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 488fd23a40a1..3d7b8beae242 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -115,75 +115,96 @@ end sub ' function sMakeReadOnlyDocumentEditable() as boolean - ' Switch a write protected document to edit mode. - const CFN = "sMakeReadOnlyDocumentEditable(): " +function sMakeReadOnlyDocumentEditable() as boolean - ' Timings - const MAX_RETRIES = 5 - const MAX_DELAY = 500 - const MAX_DIALOG_DELAY = 2 - - ' States - const ITEM_STATE = 2 - const BUTTON_RELEASED = 0 - const BUTTON_PRESSED = 1 + ' Function returns TRUE if document has been made editable and FALSE if + ' no action was required (that is: Document was not read-only) dim iTry as integer + dim iWait as integer + dim rc as integer + const CFN = "sMakeReadOnlyDocumentEditable::" - WaitSlot( MAX_DELAY * 10 ) ' Let all running slots finish + if ( VERBOSE ) then printlog( CFN & "Making document editable (create a copy) if it is readonly" ) - ' Try to click the Edit-Button on the Standardbar - kontext "StandardBar" - for iTry = 1 to MAX_RETRIES - try - if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_RELEASED ) then - Bearbeiten.click() - exit for - else - printlog( CFN & "Failed to switch to edit mode, button has incorrect state" ) - endif - catch - printlog( CFN & "Failed to switch to edit mode, retrying..." ) - endcatch - wait( MAX_DELAY ) - next iTry + ' We still run into synchronization problems with the "Make document editable" feature + ' because we do not know when this button becomes available and ready for use: The + ' document has to be loaded, then we have to wait for the toolbar to get populated. + ' One thing appears to work though: Try to execute the slot using hUseAsyncSlot. + ' This is a little bit tricky because the state of the document is altered but if + ' the slot has been executed once we know for sure that the button on the toolbar is + ' available and can check its state and - if need be - chenge the document state back. - ' Probe for messageboxes, the "Use copy" message is allowed, all others are not + ' ========== Workaround begin ========== + hUseAsyncSlot( "EditDoc" ) kontext "Active" - if ( Active.exists( MAX_DIALOG_DELAY ) ) then - kontext "Active" - if ( hCloseDialog( Active, "yes" ) ) then - ' This is the expected/allowed "Use copy" message - else - ' This is most likely the "Object not found" message (which is a bug) - printlog( CFN & Active.getText() ) - hCloseDialog( Active, "ok" ) - warnlog( CFN & "Errormessage closed with " ) - endif + if ( Active.exists() ) then + if ( VERBOSE ) then printlog( "Handling create copy message" ) + Active.yes() + wait( 1000 ) endif + ' ========== Workaround end ========== + Kontext "Standardbar" + iWait = 0 + Do + if ( Bearbeiten.IsEnabled() ) then + try + if Bearbeiten.getState( 2 ) = 0 then + exit do + endif + catch + if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" + iWait = iWait + 1 + wait ( 1000 ) + endcatch + else + if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" + iWait = iWait + 1 + wait ( 1000 ) + end if + if iWait >= 5 then exit do + Loop - WaitSlot( MAX_DELAY * 10 ) ' Let the document switch mode + if ( Bearbeiten.IsEnabled() ) then - ' Verify the state of the Edit-Button, it must be either disabled or pressed. - try - kontext "StandardBar" - if ( Bearbeiten.isEnabled() ) then - if ( Bearbeiten.getState( ITEM_STATE ) = BUTTON_PRESSED ) then - printlog( "Document already is in edit-mode (Edit button pressed)" ) - sMakeReadOnlyDocumentEditable() = true + if ( Bearbeiten.getState( 2 ) = 0 ) then + + rc = hUseAsyncSlot("editdoc") + + if ( rc >= 0 ) then + for iTry = 1 to 2 + + + Kontext "Active" + if ( Active.exists( 5 ) ) then + + printlog( CFN & "Messagebox: " & Active.getText() ) + + try + if ( VERBOSE ) then printlog( CFN & "Document was read-only. A copy will be used." ) + Active.Yes() + if ( VERBOSE ) then printlog( CFN & "Closed 'use copy' message" ) + catch + if ( VERBOSE ) then printlog( CFN & "Probing for unexpected messagebox..." ) + active.ok() + qaerrorlog( "#i100701 - Object not found message" ) + endcatch + else + printlog( CFN & "No messagebox informing about a copy being used" ) + endif + sMakeReadOnlyDocumentEditable() = TRUE + next iTry else - warnlog( CFN & "Document is still in view-mode (Mode switch failed)" ) - sMakeReadOnlyDocumentEditable() = false + printlog( CFN & "Document appears to be editable" ) endif else - printlog( "Document has been switched to edit-mode (Edit button disabled, using copy)" ) - sMakeReadOnlyDocumentEditable() = true + if ( VERBOSE ) then printlog( CFN & "Button is pressed, document is editable" ) + sMakeReadOnlyDocumentEditable() = FALSE endif - catch - warnlog( CFN & "Failed to retrieve status for Edit button" ) - sMakeReadOnlyDocumentEditable() = false - endcatch - + else + if ( VERBOSE ) then printlog( CFN & "Control is not enabled" ) + endif + end function ' '------------------------------------------------------------------------------- -- cgit From b34875cdbcc41f1de20ef98ab3bd643644ce4ded Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 26 Apr 2010 13:32:03 +0200 Subject: vitomation01: #i109562 - Re-apply patch from CWS autmatindev300m76cat0 as all attempts to fix the sMakeReadonlyDocumentEditable() problem for good failed. --- testautomation/global/tools/includes/required/t_doc2.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 3d7b8beae242..876c33e6aca0 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -113,8 +113,6 @@ end sub ' '------------------------------------------------------------------------------- ' -function sMakeReadOnlyDocumentEditable() as boolean - function sMakeReadOnlyDocumentEditable() as boolean ' Function returns TRUE if document has been made editable and FALSE if -- cgit From 2873d80f354ccddfab1f40ffcc90db4eb298b9a5 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 27 Apr 2010 11:45:31 +0200 Subject: vitomation01: Fix VERBOSE <> GVERBOSE typo introduced when going back to HDEs sMakeReadonlyDocumentEditable patch --- .../global/tools/includes/required/t_doc2.inc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 876c33e6aca0..cccef572bda7 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -123,7 +123,7 @@ function sMakeReadOnlyDocumentEditable() as boolean dim rc as integer const CFN = "sMakeReadOnlyDocumentEditable::" - if ( VERBOSE ) then printlog( CFN & "Making document editable (create a copy) if it is readonly" ) + if ( GVERBOSE ) then printlog( CFN & "Making document editable (create a copy) if it is readonly" ) ' We still run into synchronization problems with the "Make document editable" feature ' because we do not know when this button becomes available and ready for use: The @@ -137,7 +137,7 @@ function sMakeReadOnlyDocumentEditable() as boolean hUseAsyncSlot( "EditDoc" ) kontext "Active" if ( Active.exists() ) then - if ( VERBOSE ) then printlog( "Handling create copy message" ) + if ( GVERBOSE ) then printlog( "Handling create copy message" ) Active.yes() wait( 1000 ) endif @@ -151,12 +151,12 @@ function sMakeReadOnlyDocumentEditable() as boolean exit do endif catch - if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" + if ( GVERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" iWait = iWait + 1 wait ( 1000 ) endcatch else - if ( VERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" + if ( GVERBOSE ) then printlog "Attempt " & iWait & " to make document readable failed" iWait = iWait + 1 wait ( 1000 ) end if @@ -179,11 +179,11 @@ function sMakeReadOnlyDocumentEditable() as boolean printlog( CFN & "Messagebox: " & Active.getText() ) try - if ( VERBOSE ) then printlog( CFN & "Document was read-only. A copy will be used." ) + if ( GVERBOSE ) then printlog( CFN & "Document was read-only. A copy will be used." ) Active.Yes() - if ( VERBOSE ) then printlog( CFN & "Closed 'use copy' message" ) + if ( GVERBOSE ) then printlog( CFN & "Closed 'use copy' message" ) catch - if ( VERBOSE ) then printlog( CFN & "Probing for unexpected messagebox..." ) + if ( GVERBOSE ) then printlog( CFN & "Probing for unexpected messagebox..." ) active.ok() qaerrorlog( "#i100701 - Object not found message" ) endcatch @@ -196,11 +196,11 @@ function sMakeReadOnlyDocumentEditable() as boolean printlog( CFN & "Document appears to be editable" ) endif else - if ( VERBOSE ) then printlog( CFN & "Button is pressed, document is editable" ) + if ( GVERBOSE ) then printlog( CFN & "Button is pressed, document is editable" ) sMakeReadOnlyDocumentEditable() = FALSE endif else - if ( VERBOSE ) then printlog( CFN & "Control is not enabled" ) + if ( GVERBOSE ) then printlog( CFN & "Control is not enabled" ) endif end function -- cgit From 0cce173a5bae32982a3430871b131f663280cc25 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:16:50 +0200 Subject: mythes12: update system-mythes check for 1.2.0; add missing AC_LANG_PUSH/POP --- configure | 26610 ++++++++++++++++++++------------------------------- configure.in | 22 +- set_soenv.in | 2 + solenv/inc/libs.mk | 4 + 4 files changed, 10289 insertions(+), 16349 deletions(-) diff --git a/configure b/configure index 758b170295e1..ab88760b1976 100755 --- a/configure +++ b/configure @@ -1,82 +1,416 @@ #! /bin/sh # From configure.in Revision: 1.290 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. +# Generated by GNU Autoconf 2.65. +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# # -# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi -DUALCASE=1; export DUALCASE # for MKS sh -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_unset $as_var + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." fi -done + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -84,146 +418,107 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file else - as_expr=false + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -232,38 +527,25 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -exec 6>&1 - # # Initializations. # ac_default_prefix=/usr/local +ac_clean_files= ac_config_libobj_dir=. +LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= @@ -271,50 +553,650 @@ PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= +PACKAGE_URL= # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG BUILD_QADEVOOO SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB SYSTEM_MYTHES SYSTEM_LPSOLVE PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS' +ac_subst_vars='LTLIBOBJS +LIBOBJS +BUILD_TYPE +LOCAL_SOLVER +VERBOSE +ENABLE_LAYOUT +ENABLE_STATIC_GTK +UNIXWRAPPERNAME +OOO_VENDOR +ABOUT_BITMAPS +INTRO_BITMAPS +WITH_DICT +WITH_POOR_HELP_LOCALIZATIONS +WITH_LANG +OOO_JUNIT_JAR +ANT_LIB +ANT_HOME +ANT +XINERAMA_LINK +USE_XINERAMA +SCPDEFS +WITHOUT_AFMS +WITHOUT_PPDS +WITH_FONTS +ENABLE_KAB +ENABLE_EVOAB2 +GOBJECT_LIBS +GOBJECT_CFLAGS +ENABLE_LOCKDOWN +KDE4_LIBS +KDE4_CFLAGS +MOC4 +KDE_LIBS +KDE_CFLAGS +MOC +COMMONS_LOGGING_JAR +COMMONS_HTTPCLIENT_JAR +COMMONS_LANG_JAR +COMMONS_CODEC_JAR +SYSTEM_APACHE_COMMONS +LIBSERIALIZER_JAR +LIBFONTS_JAR +LIBREPOSITORY_JAR +LIBFORMULA_JAR +LIBLOADER_JAR +LIBLAYOUT_JAR +LIBBASE_JAR +JFREEREPORT_JAR +FLUTE_JAR +LIBXML_JAR +SAC_JAR +SYSTEM_JFREEREPORT +ENABLE_REPORTBUILDER +SERVLETAPI_JAR +SYSTEM_SERVLETAPI +ENABLE_MEDIAWIKI +SYSTEM_POPPLER +ENABLE_PDFIMPORT +POPPLER_LIBS +POPPLER_CFLAGS +ENABLE_PRESENTER_SCREEN +ENABLE_MINIMIZER +ENABLE_PRESENTER_EXTRA_UI +ENABLE_OPENGL +SYSTEM_CAIRO +BUILD_PIXMAN +ENABLE_CAIRO +CAIRO_LIBS +CAIRO_CFLAGS +ENABLE_SYSTRAY_GTK +ENABLE_DBUS +ENABLE_GIO +GIO_LIBS +GIO_CFLAGS +DBUS_LIBS +DBUS_CFLAGS +GTK_LIBS +GTK_CFLAGS +ENABLE_GNOMEVFS +GNOMEVFS_LIBS +GNOMEVFS_CFLAGS +ENABLE_GCONF +GCONF_LIBS +GCONF_CFLAGS +ENABLE_KDE4 +ENABLE_KDE +ENABLE_GTK +ZIP_HOME +UNZIP +ZIP +ASM_HOME +ML_EXE +CYGWIN_PATH +GNUPATCH +GNUCP +PATCH +FLEX +BISON +NSIS_PATH +DIRECTXSDK_LIB +DIRECTXSDK_HOME +WINDOWS_VISTA_PSDK +PSDK_HOME +SYSTEM_LPSOLVE +SYSTEM_MYTHES +MYTHES_LIBS +MYTHES_CFLAGS +HYPHEN_LIB +SYSTEM_HYPH +SYSTEM_HUNSPELL +HUNSPELL_LIBS +HUNSPELL_CFLAGS +SYSTEM_REDLAND +REDLAND_LIBS +REDLAND_CFLAGS +AGG_VERSION +SYSTEM_AGG +AGG_LIBS +AGG_CFLAGS +ENABLE_AGG +SYSTEM_OPENSSL +OPENSSL_LIBS +OPENSSL_CFLAGS +NEON_VERSION +SYSTEM_NEON +NEON_LIBS +NEON_CFLAGS +DISABLE_NEON +ENABLE_RANDR +XRANDR_DLOPEN +XRANDR_LIBS +XRANDR_CFLAGS +XRENDER_LINK +SYSTEM_XRENDER_HEADERS +DISABLE_XAW +XAU_LIBS +XLIB +XINC +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +SYSTEM_GRAPHITE +ENABLE_GRAPHITE +GRAPHITE_LIBS +GRAPHITE_CFLAGS +SYSTEM_ICU +SYSTEM_GENCMN +SYSTEM_GENCCODE +SYSTEM_GENBRK +SYSTEM_SANE_HEADER +MOZ_LDAP_CFLAGS +MOZ_LIB_XPCOM +MOZ_LIB +MOZ_INC +MOZ_FLAVOUR +SYSTEM_MOZILLA +MOZILLABUILD +ENABLE_NSS_MODULE +BUILD_MOZAB +MOZLIBREQ_LIBS +MOZLIBREQ_CFLAGS +MOZGTK2_LIBS +MOZGTK2_CFLAGS +MOZILLA_TOOLKIT +MOZILLA_VERSION +MOZILLAXPCOM_LIBS +MOZILLAXPCOM_CFLAGS +NSPR_LIB +MOZ_NSPR_LIBS +MOZ_NSPR_CFLAGS +NSS_LIB +MOZ_NSS_LIBS +MOZ_NSS_CFLAGS +WITH_OPENLDAP +WITH_LDAP +WITH_MOZILLA +SYSTEM_ODBC_HEADERS +SYSTEM_VIGRA +SYSTEM_BOOST +CURL_LIBS +CURL_CFLAGS +SYSTEM_CURL +CURLCONFIG +SAXON_JAR +SYSTEM_SAXON +SERIALIZER_JAR +BSH_JAR +SYSTEM_BSH +HSQLDB_JAR +SYSTEM_HSQLDB +SYSTEM_MYSQL_CPPCONN +LIBMYSQL_PATH +MYSQL_DEFINES +MYSQL_LIB +MYSQL_INC +SYSTEM_MYSQL +MYSQLCONFIG +ENABLE_MYSQLC +LUCENE_ANALYZERS_JAR +LUCENE_CORE_JAR +SYSTEM_LUCENE +DB_JAR +DB_INCLUDES +DB_VERSION +SYSTEM_DB +HOME +PYTHON_LIBS +PYTHON_CFLAGS +SYSTEM_PYTHON +BZIP2 +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON +SYSTEM_LIBXML +LIBXML_LIBS +LIBXML_CFLAGS +SYSTEM_LIBXSLT +XSLTPROC +LIBXSLT_LIBS +LIBXSLT_CFLAGS +USE_FT_EMBOLDEN +FREETYPE_LIBS +FREETYPE_CFLAGS +SYSTEM_CPPUNIT +CPPUNIT_LIBS +CPPUNIT_CFLAGS +SYSTEM_LIBWPD +LIBWPD_LIBS +LIBWPD_CFLAGS +PKG_CONFIG +SYSTEM_EXPAT +SYSTEM_JPEG +SYSTEM_ZLIB +SYSTEM_STDLIBS +BUILD_QADEVOOO +BUILD_UNOWINREG +MINGWSTRIP +MINGWCXX +GPERF +RPM +PKGFORMAT +BUILD_EPM +PKGMK +DPKG +EPM +BUILD_DMAKE +DMAKE +JAVAIFLAGS +JAVAFLAGS +JDK +JAVA_HOME +JAVAAOTCOMPILER +AWTLIB +JAVADOC +JAVACISGCJ +JAVACOMPILER +JAVAINTERPRETER +SOLAR_JAVA +BUILD_VER_STRING +ALLOC +HAVE_GCC_VISIBILITY_FEATURE +CCACHE +USE_CCACHE +USE_SYSTEM_STL +STLPORT_VER +STLPORT4 +EXCEPTIONS +MINGW_GXXDLL +MINGW_GCCDLL +MINGW_SHARED_GXXLIB +MINGW_GCCLIB_EH +MINGW_SHARED_GCCLIB +MINGW_CLIB_DIR +MINGW_BACKWARD_INCLUDE_PATH +MINGW_LIB_INCLUDE_PATH +GXX_INCLUDE_PATH +CRYPT_LINK +PAM_LINK +NEW_SHADOW_API +PAM +VBA_EXTENSION +ENABLE_VBA +LFS_CFLAGS +WORDS_BIGENDIAN +SIZEOF_LONG +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX +CPP +FRAME_HOME +CSC_PATH +MIDL_PATH +USE_MINGW +COMEX +MSPDB_PATH +PERL +HAVE_LD_HASH_STYLE +_cc +GNUMAKE +NO_HIDS +ENABLE_PCH +HAVE_LD_BSYMBOLIC_FUNCTIONS +GCCVER +COMPATH +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +GCC_HOME +SHELLPATH +WITH_MINGWIN +THES_SYSTEM_DIR +HYPH_SYSTEM_DIR +DICT_SYSTEM_DIR +SYSTEM_DICTS +WITH_MYSPELL_DICTS +ENABLE_RPATH +DISABLE_ATL +DISABLE_ACTIVEX +ENABLE_DIRECTX +WITH_BINFILTER +DO_FETCH_TARBALLS +TARFILE_LOCATION +ENABLE_FONTCONFIG +ENABLE_CUPS +DISABLE_STRIP +ENABLE_SYMBOLS +PROEXT +PROFULLSWITCH +PRODUCT +ENABLE_DEBUG +ENABLE_WERROR +VC_STANDARD +ENABLE_CRASHDUMP +PTHREAD_LIBS +PTHREAD_CFLAGS +OSVERSION +GNUTAR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +SOURCEVERSION +UPD +_solenv +LOCAL_SOLENV +SED +AWK +EGREP +GREP +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_gnu_patch +with_agg +with_gnu_cp +enable_graphite +with_system_graphite +enable_ldap +enable_fetch_external +with_external_tar +with_openldap +enable_lockdown +enable_vba +with_vba_package_format +enable_pch +enable_hids +enable_mozilla +with_fonts +with_ppds +with_afms +enable_epm +with_epm +with_package_format +enable_odk +enable_qadevooo +enable_mathmldtd +enable_evolution2 +with_system_stdlibs +enable_cups +enable_fontconfig +enable_directx +enable_activex +enable_atl +enable_symbols +enable_strip_solver +enable_werror +enable_debug +enable_dbgutil +enable_crashdump +enable_cl_standard +enable_gtk +enable_systray +enable_cairo +with_system_cairo +enable_opengl +enable_dbus +enable_gconf +enable_gnome_vfs +enable_gio +enable_static_gtk +enable_layout +enable_build_mozilla +with_mozilla_version +with_mozilla_toolkit +enable_nss_module +enable_kde +enable_kdeab +enable_kde4 +enable_binfilter +enable_rpath +enable_pam +enable_pam_link +enable_crypt_link +enable_xrender_link +enable_randr +enable_randr_link +with_myspell_dicts +with_system_dicts +with_external_dict_dir +with_external_hyph_dir +with_external_thes_dir +with_system_libs +with_system_headers +with_system_jars +with_system_zlib +with_system_openssl +with_system_jpeg +with_system_expat +with_system_libwpd +with_system_libxml +with_system_python +with_system_icu +with_system_poppler +with_system_db +with_system_lucene +with_lucene_core_jar +with_lucene_analyzers_jar +enable_mysql_connector +with_system_mysql +with_libmysql_path +with_system_mysql_cppconn +with_system_hsqldb +with_hsqldb_jar +with_system_beanshell +with_beanshell_jar +enable_presenter_extra_ui +enable_minimizer +enable_presenter_console +enable_pdfimport +enable_wiki_publisher +with_commons_codec_jar +with_commons_lang_jar +with_commons_httpclient_jar +with_commons_logging_jar +with_servlet_api_jar +enable_report_builder +with_system_jfreereport +with_sac_jar +with_libxml_jar +with_flute_jar +with_jfreereport_jar +with_liblayout_jar +with_libloader_jar +with_libformula_jar +with_librepository_jar +with_libfonts_jar +with_libserializer_jar +with_libbase_jar +with_system_saxon +with_saxon_jar +with_system_libxslt +with_system_odbc +with_system_sane +with_system_xrender +with_system_curl +with_system_boost +with_system_vigra +enable_neon +enable_Xaw +with_system_neon +with_system_agg +with_system_hunspell +with_system_mythes +with_system_altlinuxhyph +with_system_lpsolve +with_system_cppunit +with_system_mozilla +with_stlport +with_jdk_home +with_gxx_include_path +with_java +enable_gcjaot +with_ant_home +with_junit +with_perl_home +with_cl_home +with_mspdb_path +with_midl_path +with_csc_path +with_nsis_path +with_frame_home +with_psdk_home +with_directx_home +with_mozilla_build +with_local_solenv +with_local_solver +enable_check_only +enable_ccache_skip +with_lang +with_poor_help_localizations +with_dict +with_intro_bitmaps +with_about_bitmaps +with_vendor +with_unix_wrapper +with_asm_home +with_os_version +with_unzip_home +with_zip_home +with_mingwin +with_build_version +with_alloc +enable_verbose +enable_largefile +with_x +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +XMKMF' + # Initialize some variables set by options. ac_init_help= ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -337,34 +1219,48 @@ x_libraries=NONE # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' ac_prev= +ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -386,33 +1282,59 @@ do --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "enable_$ac_feature='$ac_optarg'" ;; + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -439,6 +1361,12 @@ do -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -463,13 +1391,16 @@ do | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -534,6 +1465,16 @@ do | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -584,26 +1525,36 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "with_$ac_package='$ac_optarg'" ;; + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. @@ -623,26 +1574,25 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -651,31 +1601,36 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac -done +fi -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir do - eval ac_val=$`echo $ac_var` + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -689,7 +1644,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -702,86 +1657,72 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error "pwd does not report name of working directory" + + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done # # Report the --help message. @@ -810,14 +1751,11 @@ Configuration: -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] -_ACEOF - - cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -827,18 +1765,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -859,6 +1804,7 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-graphite Enables the compilation of Graphite smart font rendering @@ -1450,170 +2396,980 @@ Some influential environment variables: CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to the package provider. _ACEOF +ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. - ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } done fi -test -n "$ac_init_help" && exit 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF +configure +generated by GNU Autoconf 2.65 -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -_ASUNAME +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -} >&5 +} # ac_fn_c_try_link -cat >&5 <<_ACEOF +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -## ----------- ## -## Core tests. ## -## ----------- ## +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_func + +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_cxx_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_mongrel + +# ac_fn_cxx_try_run LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_cxx_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_run + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_member +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.65. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## _ACEOF @@ -1626,7 +3382,6 @@ _ACEOF ac_configure_args= ac_configure_args0= ac_configure_args1= -ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -1637,13 +3392,13 @@ do -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -1659,21 +3414,19 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { @@ -1686,20 +3439,35 @@ trap 'exit_status=$? _ASBOX echo # The following way of writing the cache mishandles newlines in values, -{ +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) echo cat <<\_ASBOX @@ -1710,22 +3478,28 @@ _ASBOX echo for ac_var in $ac_subst_vars do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## +## ------------------- ## +## File substitutions. ## +## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -1737,26 +3511,26 @@ _ASBOX ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h | sort + cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status - ' 0 +' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. @@ -1764,112 +3538,128 @@ cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -1878,1082 +3668,1065 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$@" >config.parms +# Check whether --with-gnu-patch was given. +if test "${with_gnu_patch+set}" = set; then : + withval=$with_gnu_patch; +fi +# Check whether --with-agg was given. +if test "${with_agg+set}" = set; then : + withval=$with_agg; +else + with_agg=yes +fi +# Check whether --with-gnu-cp was given. +if test "${with_gnu_cp+set}" = set; then : + withval=$with_gnu_cp; +fi +# Check whether --enable-graphite was given. +if test "${enable_graphite+set}" = set; then : + enableval=$enable_graphite; +fi +# Check whether --with-system-graphite was given. +if test "${with_system_graphite+set}" = set; then : + withval=$with_system_graphite; +fi +# Check whether --enable-ldap was given. +if test "${enable_ldap+set}" = set; then : + enableval=$enable_ldap; +fi +# Check whether --enable-fetch-external was given. +if test "${enable_fetch_external+set}" = set; then : + enableval=$enable_fetch_external; +fi +# Check whether --with-external-tar was given. +if test "${with_external_tar+set}" = set; then : + withval=$with_external_tar; TARFILE_LOCATION="$withval" +fi +# Check whether --with-openldap was given. +if test "${with_openldap+set}" = set; then : + withval=$with_openldap; +fi +# Check whether --enable-lockdown was given. +if test "${enable_lockdown+set}" = set; then : + enableval=$enable_lockdown; +fi -echo "$@" >config.parms +# Check whether --enable-vba was given. +if test "${enable_vba+set}" = set; then : + enableval=$enable_vba; +fi -# Check whether --with-gnu-patch or --without-gnu-patch was given. -if test "${with_gnu_patch+set}" = set; then - withval="$with_gnu_patch" -fi; +# Check whether --with-vba-package-format was given. +if test "${with_vba_package_format+set}" = set; then : + withval=$with_vba_package_format; +fi + +# Check whether --enable-pch was given. +if test "${enable_pch+set}" = set; then : + enableval=$enable_pch; +fi -# Check whether --with-agg or --without-agg was given. -if test "${with_agg+set}" = set; then - withval="$with_agg" +# Check whether --enable-hids was given. +if test "${enable_hids+set}" = set; then : + enableval=$enable_hids; +fi +# Check whether --enable-mozilla was given. +if test "${enable_mozilla+set}" = set; then : + enableval=$enable_mozilla; else - with_agg=yes -fi; + enable_mozilla="yes" +fi -# Check whether --with-gnu-cp or --without-gnu-cp was given. -if test "${with_gnu_cp+set}" = set; then - withval="$with_gnu_cp" -fi; -# Check whether --enable-graphite or --disable-graphite was given. -if test "${enable_graphite+set}" = set; then - enableval="$enable_graphite" +# Check whether --with-fonts was given. +if test "${with_fonts+set}" = set; then : + withval=$with_fonts; +fi -fi; -# Check whether --with-system-graphite or --without-system-graphite was given. -if test "${with_system_graphite+set}" = set; then - withval="$with_system_graphite" +# Check whether --with-ppds was given. +if test "${with_ppds+set}" = set; then : + withval=$with_ppds; +fi -fi; -# Check whether --enable-ldap or --disable-ldap was given. -if test "${enable_ldap+set}" = set; then - enableval="$enable_ldap" -fi; -# Check whether --enable-fetch-external or --disable-fetch-external was given. -if test "${enable_fetch_external+set}" = set; then - enableval="$enable_fetch_external" +# Check whether --with-afms was given. +if test "${with_afms+set}" = set; then : + withval=$with_afms; +fi -fi; +# Check whether --enable-epm was given. +if test "${enable_epm+set}" = set; then : + enableval=$enable_epm; +else + enable_epm="yes" +fi -# Check whether --with-external-tar or --without-external-tar was given. -if test "${with_external_tar+set}" = set; then - withval="$with_external_tar" - TARFILE_LOCATION="$withval" -fi; +# Check whether --with-epm was given. +if test "${with_epm+set}" = set; then : + withval=$with_epm; +fi -# Check whether --with-openldap or --without-openldap was given. -if test "${with_openldap+set}" = set; then - withval="$with_openldap" -fi; -# Check whether --enable-lockdown or --disable-lockdown was given. -if test "${enable_lockdown+set}" = set; then - enableval="$enable_lockdown" +# Check whether --with-package-format was given. +if test "${with_package_format+set}" = set; then : + withval=$with_package_format; +fi -fi; -# Check whether --enable-vba or --disable-vba was given. -if test "${enable_vba+set}" = set; then - enableval="$enable_vba" +# Check whether --enable-odk was given. +if test "${enable_odk+set}" = set; then : + enableval=$enable_odk; +else + enable_odk="yes" +fi -fi; +# Check whether --enable-qadevooo was given. +if test "${enable_qadevooo+set}" = set; then : + enableval=$enable_qadevooo; +else + enable_qadevooo="yes" +fi -# Check whether --with-vba-package-format or --without-vba-package-format was given. -if test "${with_vba_package_format+set}" = set; then - withval="$with_vba_package_format" +# Check whether --enable-mathmldtd was given. +if test "${enable_mathmldtd+set}" = set; then : + enableval=$enable_mathmldtd; +else + enable_mathmldtd="yes" +fi -fi; -# Check whether --enable-pch or --disable-pch was given. -if test "${enable_pch+set}" = set; then - enableval="$enable_pch" +# Check whether --enable-evolution2 was given. +if test "${enable_evolution2+set}" = set; then : + enableval=$enable_evolution2; +fi -fi; -# Check whether --enable-hids or --disable-hids was given. -if test "${enable_hids+set}" = set; then - enableval="$enable_hids" -fi; -# Check whether --enable-mozilla or --disable-mozilla was given. -if test "${enable_mozilla+set}" = set; then - enableval="$enable_mozilla" +# Check whether --with-system-stdlibs was given. +if test "${with_system_stdlibs+set}" = set; then : + withval=$with_system_stdlibs; +else + checkforstdlibproblems=yes +fi +# Check whether --enable-cups was given. +if test "${enable_cups+set}" = set; then : + enableval=$enable_cups; else - enable_mozilla="yes" -fi; + enable_cups=yes +fi -# Check whether --with-fonts or --without-fonts was given. -if test "${with_fonts+set}" = set; then - withval="$with_fonts" +# Check whether --enable-fontconfig was given. +if test "${enable_fontconfig+set}" = set; then : + enableval=$enable_fontconfig; +else + enable_fontconfig=yes +fi -fi; +# Check whether --enable-directx was given. +if test "${enable_directx+set}" = set; then : + enableval=$enable_directx; +else + enable_directx=yes +fi -# Check whether --with-ppds or --without-ppds was given. -if test "${with_ppds+set}" = set; then - withval="$with_ppds" +# Check whether --enable-activex was given. +if test "${enable_activex+set}" = set; then : + enableval=$enable_activex; +fi -fi; -# Check whether --with-afms or --without-afms was given. -if test "${with_afms+set}" = set; then - withval="$with_afms" +# Check whether --enable-atl was given. +if test "${enable_atl+set}" = set; then : + enableval=$enable_atl; +fi -fi; -# Check whether --enable-epm or --disable-epm was given. -if test "${enable_epm+set}" = set; then - enableval="$enable_epm" -else - enable_epm="yes" -fi; +# Check whether --enable-symbols was given. +if test "${enable_symbols+set}" = set; then : + enableval=$enable_symbols; +fi -# Check whether --with-epm or --without-epm was given. -if test "${with_epm+set}" = set; then - withval="$with_epm" +# Check whether --enable-strip-solver was given. +if test "${enable_strip_solver+set}" = set; then : + enableval=$enable_strip_solver; +fi -fi; +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi -# Check whether --with-package-format or --without-package-format was given. -if test "${with_package_format+set}" = set; then - withval="$with_package_format" +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; +fi -fi; -# Check whether --enable-odk or --disable-odk was given. -if test "${enable_odk+set}" = set; then - enableval="$enable_odk" +# Check whether --enable-dbgutil was given. +if test "${enable_dbgutil+set}" = set; then : + enableval=$enable_dbgutil; +fi + +# Check whether --enable-crashdump was given. +if test "${enable_crashdump+set}" = set; then : + enableval=$enable_crashdump; +fi + +# Check whether --enable-cl-standard was given. +if test "${enable_cl_standard+set}" = set; then : + enableval=$enable_cl_standard; +fi +# Check whether --enable-gtk was given. +if test "${enable_gtk+set}" = set; then : + enableval=$enable_gtk; else - enable_odk="yes" -fi; -# Check whether --enable-qadevooo or --disable-qadevooo was given. -if test "${enable_qadevooo+set}" = set; then - enableval="$enable_qadevooo" + enable_gtk=yes +fi +# Check whether --enable-systray was given. +if test "${enable_systray+set}" = set; then : + enableval=$enable_systray; else - enable_qadevooo="yes" -fi; -# Check whether --enable-mathmldtd or --disable-mathmldtd was given. -if test "${enable_mathmldtd+set}" = set; then - enableval="$enable_mathmldtd" + enable_systray=yes +fi +# Check whether --enable-cairo was given. +if test "${enable_cairo+set}" = set; then : + enableval=$enable_cairo; else - enable_mathmldtd="yes" -fi; -# Check whether --enable-evolution2 or --disable-evolution2 was given. -if test "${enable_evolution2+set}" = set; then - enableval="$enable_evolution2" + enable_cairo=no +fi -fi; -# Check whether --with-system-stdlibs or --without-system-stdlibs was given. -if test "${with_system_stdlibs+set}" = set; then - withval="$with_system_stdlibs" +# Check whether --with-system-cairo was given. +if test "${with_system_cairo+set}" = set; then : + withval=$with_system_cairo; +fi +# Check whether --enable-opengl was given. +if test "${enable_opengl+set}" = set; then : + enableval=$enable_opengl; else - checkforstdlibproblems=yes -fi; -# Check whether --enable-cups or --disable-cups was given. -if test "${enable_cups+set}" = set; then - enableval="$enable_cups" + enable_opengl=no +fi +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then : + enableval=$enable_dbus; else - enable_cups=yes -fi; -# Check whether --enable-fontconfig or --disable-fontconfig was given. -if test "${enable_fontconfig+set}" = set; then - enableval="$enable_fontconfig" + enable_dbus=no +fi +# Check whether --enable-gconf was given. +if test "${enable_gconf+set}" = set; then : + enableval=$enable_gconf; else - enable_fontconfig=yes -fi; -# Check whether --enable-directx or --disable-directx was given. -if test "${enable_directx+set}" = set; then - enableval="$enable_directx" + enable_gconf=yes +fi +# Check whether --enable-gnome-vfs was given. +if test "${enable_gnome_vfs+set}" = set; then : + enableval=$enable_gnome_vfs; else - enable_directx=yes -fi; -# Check whether --enable-activex or --disable-activex was given. -if test "${enable_activex+set}" = set; then - enableval="$enable_activex" - -fi; + enable_gnome_vfs=yes +fi -# Check whether --enable-atl or --disable-atl was given. -if test "${enable_atl+set}" = set; then - enableval="$enable_atl" +# Check whether --enable-gio was given. +if test "${enable_gio+set}" = set; then : + enableval=$enable_gio; +else + enable_gio=no +fi -fi; +# Check whether --enable-static-gtk was given. +if test "${enable_static_gtk+set}" = set; then : + enableval=$enable_static_gtk; +fi -# Check whether --enable-symbols or --disable-symbols was given. -if test "${enable_symbols+set}" = set; then - enableval="$enable_symbols" +# Check whether --enable-layout was given. +if test "${enable_layout+set}" = set; then : + enableval=$enable_layout; +fi -fi; -# Check whether --enable-strip-solver or --disable-strip-solver was given. -if test "${enable_strip_solver+set}" = set; then - enableval="$enable_strip_solver" +# Check whether --enable-build-mozilla was given. +if test "${enable_build_mozilla+set}" = set; then : + enableval=$enable_build_mozilla; +fi -fi; -# Check whether --enable-werror or --disable-werror was given. -if test "${enable_werror+set}" = set; then - enableval="$enable_werror" -fi; -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" +# Check whether --with-mozilla-version was given. +if test "${with_mozilla_version+set}" = set; then : + withval=$with_mozilla_version; +fi -fi; -# Check whether --enable-dbgutil or --disable-dbgutil was given. -if test "${enable_dbgutil+set}" = set; then - enableval="$enable_dbgutil" -fi; -# Check whether --enable-crashdump or --disable-crashdump was given. -if test "${enable_crashdump+set}" = set; then - enableval="$enable_crashdump" +# Check whether --with-mozilla-toolkit was given. +if test "${with_mozilla_toolkit+set}" = set; then : + withval=$with_mozilla_toolkit; +fi -fi; -# Check whether --enable-cl-standard or --disable-cl-standard was given. -if test "${enable_cl_standard+set}" = set; then - enableval="$enable_cl_standard" +# Check whether --enable-nss_module was given. +if test "${enable_nss_module+set}" = set; then : + enableval=$enable_nss_module; +else + enable_nss_module=yes +fi -fi; -# Check whether --enable-gtk or --disable-gtk was given. -if test "${enable_gtk+set}" = set; then - enableval="$enable_gtk" +# Check whether --enable-kde was given. +if test "${enable_kde+set}" = set; then : + enableval=$enable_kde; +fi +# Check whether --enable-kdeab was given. +if test "${enable_kdeab+set}" = set; then : + enableval=$enable_kdeab; else - enable_gtk=yes -fi; -# Check whether --enable-systray or --disable-systray was given. -if test "${enable_systray+set}" = set; then - enableval="$enable_systray" + if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi +fi -else - enable_systray=yes -fi; -# Check whether --enable-cairo or --disable-cairo was given. -if test "${enable_cairo+set}" = set; then - enableval="$enable_cairo" +# Check whether --enable-kde4 was given. +if test "${enable_kde4+set}" = set; then : + enableval=$enable_kde4; +fi +# Check whether --enable-binfilter was given. +if test "${enable_binfilter+set}" = set; then : + enableval=$enable_binfilter; else - enable_cairo=no -fi; + if ! test -d ./binfilter; then enable_binfilter=no; fi +fi + +# Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; +fi + +# Check whether --enable-pam was given. +if test "${enable_pam+set}" = set; then : + enableval=$enable_pam; +fi -# Check whether --with-system-cairo or --without-system-cairo was given. -if test "${with_system_cairo+set}" = set; then - withval="$with_system_cairo" +# Check whether --enable-pam-link was given. +if test "${enable_pam_link+set}" = set; then : + enableval=$enable_pam_link; +fi -fi; -# Check whether --enable-opengl or --disable-opengl was given. -if test "${enable_opengl+set}" = set; then - enableval="$enable_opengl" +# Check whether --enable-crypt-link was given. +if test "${enable_crypt_link+set}" = set; then : + enableval=$enable_crypt_link; +else + enable_crypt_link=yes +fi + +# Check whether --enable-xrender-link was given. +if test "${enable_xrender_link+set}" = set; then : + enableval=$enable_xrender_link; +fi +# Check whether --enable-randr was given. +if test "${enable_randr+set}" = set; then : + enableval=$enable_randr; else - enable_opengl=no -fi; -# Check whether --enable-dbus or --disable-dbus was given. -if test "${enable_dbus+set}" = set; then - enableval="$enable_dbus" + enable_randr=yes +fi +# Check whether --enable-randr-link was given. +if test "${enable_randr_link+set}" = set; then : + enableval=$enable_randr_link; else - enable_dbus=no -fi; -# Check whether --enable-gconf or --disable-gconf was given. -if test "${enable_gconf+set}" = set; then - enableval="$enable_gconf" + enable_randr_link=yes +fi -else - enable_gconf=yes -fi; -# Check whether --enable-gnome-vfs or --disable-gnome-vfs was given. -if test "${enable_gnome_vfs+set}" = set; then - enableval="$enable_gnome_vfs" -else - enable_gnome_vfs=yes -fi; -# Check whether --enable-gio or --disable-gio was given. -if test "${enable_gio+set}" = set; then - enableval="$enable_gio" +# Check whether --with-myspell-dicts was given. +if test "${with_myspell_dicts+set}" = set; then : + withval=$with_myspell_dicts; +fi -else - enable_gio=no -fi; -# Check whether --enable-static-gtk or --disable-static-gtk was given. -if test "${enable_static_gtk+set}" = set; then - enableval="$enable_static_gtk" -fi; -# Check whether --enable-layout or --disable-layout was given. -if test "${enable_layout+set}" = set; then - enableval="$enable_layout" +# Check whether --with-system-dicts was given. +if test "${with_system_dicts+set}" = set; then : + withval=$with_system_dicts; +fi -fi; -# Check whether --enable-build-mozilla or --disable-build-mozilla was given. -if test "${enable_build_mozilla+set}" = set; then - enableval="$enable_build_mozilla" -fi; +# Check whether --with-external-dict-dir was given. +if test "${with_external_dict_dir+set}" = set; then : + withval=$with_external_dict_dir; +fi -# Check whether --with-mozilla-version or --without-mozilla-version was given. -if test "${with_mozilla_version+set}" = set; then - withval="$with_mozilla_version" -fi; +# Check whether --with-external-hyph-dir was given. +if test "${with_external_hyph_dir+set}" = set; then : + withval=$with_external_hyph_dir; +fi -# Check whether --with-mozilla-toolkit or --without-mozilla-toolkit was given. -if test "${with_mozilla_toolkit+set}" = set; then - withval="$with_mozilla_toolkit" -fi; -# Check whether --enable-nss_module or --disable-nss_module was given. -if test "${enable_nss_module+set}" = set; then - enableval="$enable_nss_module" +# Check whether --with-external-thes-dir was given. +if test "${with_external_thes_dir+set}" = set; then : + withval=$with_external_thes_dir; +fi -else - enable_nss_module=yes -fi; -# Check whether --enable-kde or --disable-kde was given. -if test "${enable_kde+set}" = set; then - enableval="$enable_kde" -fi; -# Check whether --enable-kdeab or --disable-kdeab was given. -if test "${enable_kdeab+set}" = set; then - enableval="$enable_kdeab" +# Check whether --with-system-libs was given. +if test "${with_system_libs+set}" = set; then : + withval=$with_system_libs; +fi -else - if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi -fi; -# Check whether --enable-kde4 or --disable-kde4 was given. -if test "${enable_kde4+set}" = set; then - enableval="$enable_kde4" -fi; -# Check whether --enable-binfilter or --disable-binfilter was given. -if test "${enable_binfilter+set}" = set; then - enableval="$enable_binfilter" +# Check whether --with-system-headers was given. +if test "${with_system_headers+set}" = set; then : + withval=$with_system_headers; +fi -else - if ! test -d ./binfilter; then enable_binfilter=no; fi -fi; -# Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" -fi; -# Check whether --enable-pam or --disable-pam was given. -if test "${enable_pam+set}" = set; then - enableval="$enable_pam" +# Check whether --with-system-jars was given. +if test "${with_system_jars+set}" = set; then : + withval=$with_system_jars; +fi -fi; -# Check whether --enable-pam-link or --disable-pam-link was given. -if test "${enable_pam_link+set}" = set; then - enableval="$enable_pam_link" -fi; -# Check whether --enable-crypt-link or --disable-crypt-link was given. -if test "${enable_crypt_link+set}" = set; then - enableval="$enable_crypt_link" +# Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; +fi -else - enable_crypt_link=yes -fi; -# Check whether --enable-xrender-link or --disable-xrender-link was given. -if test "${enable_xrender_link+set}" = set; then - enableval="$enable_xrender_link" -fi; -# Check whether --enable-randr or --disable-randr was given. -if test "${enable_randr+set}" = set; then - enableval="$enable_randr" +# Check whether --with-system-openssl was given. +if test "${with_system_openssl+set}" = set; then : + withval=$with_system_openssl; +fi -else - enable_randr=yes -fi; -# Check whether --enable-randr-link or --disable-randr-link was given. -if test "${enable_randr_link+set}" = set; then - enableval="$enable_randr_link" -else - enable_randr_link=yes -fi; +# Check whether --with-system-jpeg was given. +if test "${with_system_jpeg+set}" = set; then : + withval=$with_system_jpeg; +fi + -# Check whether --with-myspell-dicts or --without-myspell-dicts was given. -if test "${with_myspell_dicts+set}" = set; then - withval="$with_myspell_dicts" +# Check whether --with-system-expat was given. +if test "${with_system_expat+set}" = set; then : + withval=$with_system_expat; +fi -fi; -# Check whether --with-system-dicts or --without-system-dicts was given. -if test "${with_system_dicts+set}" = set; then - withval="$with_system_dicts" +# Check whether --with-system-libwpd was given. +if test "${with_system_libwpd+set}" = set; then : + withval=$with_system_libwpd; +fi -fi; -# Check whether --with-external-dict-dir or --without-external-dict-dir was given. -if test "${with_external_dict_dir+set}" = set; then - withval="$with_external_dict_dir" +# Check whether --with-system-libxml was given. +if test "${with_system_libxml+set}" = set; then : + withval=$with_system_libxml; +fi -fi; -# Check whether --with-external-hyph-dir or --without-external-hyph-dir was given. -if test "${with_external_hyph_dir+set}" = set; then - withval="$with_external_hyph_dir" +# Check whether --with-system-python was given. +if test "${with_system_python+set}" = set; then : + withval=$with_system_python; +fi -fi; -# Check whether --with-external-thes-dir or --without-external-thes-dir was given. -if test "${with_external_thes_dir+set}" = set; then - withval="$with_external_thes_dir" +# Check whether --with-system-icu was given. +if test "${with_system_icu+set}" = set; then : + withval=$with_system_icu; +fi -fi; -# Check whether --with-system-libs or --without-system-libs was given. -if test "${with_system_libs+set}" = set; then - withval="$with_system_libs" +# Check whether --with-system-poppler was given. +if test "${with_system_poppler+set}" = set; then : + withval=$with_system_poppler; +fi -fi; -# Check whether --with-system-headers or --without-system-headers was given. -if test "${with_system_headers+set}" = set; then - withval="$with_system_headers" +# Check whether --with-system-db was given. +if test "${with_system_db+set}" = set; then : + withval=$with_system_db; +fi -fi; -# Check whether --with-system-jars or --without-system-jars was given. -if test "${with_system_jars+set}" = set; then - withval="$with_system_jars" +# Check whether --with-system-lucene was given. +if test "${with_system_lucene+set}" = set; then : + withval=$with_system_lucene; +fi -fi; -# Check whether --with-system-zlib or --without-system-zlib was given. -if test "${with_system_zlib+set}" = set; then - withval="$with_system_zlib" +# Check whether --with-lucene-core-jar was given. +if test "${with_lucene_core_jar+set}" = set; then : + withval=$with_lucene_core_jar; LUCENE_CORE_JAR="$withval" -fi; +fi -# Check whether --with-system-openssl or --without-system-openssl was given. -if test "${with_system_openssl+set}" = set; then - withval="$with_system_openssl" -fi; +# Check whether --with-lucene-analyzers-jar was given. +if test "${with_lucene_analyzers_jar+set}" = set; then : + withval=$with_lucene_analyzers_jar; LUCENE_ANALYZERS_JAR="$withval" -# Check whether --with-system-jpeg or --without-system-jpeg was given. -if test "${with_system_jpeg+set}" = set; then - withval="$with_system_jpeg" +fi -fi; +# Check whether --enable-mysql-connector was given. +if test "${enable_mysql_connector+set}" = set; then : + enableval=$enable_mysql_connector; +fi -# Check whether --with-system-expat or --without-system-expat was given. -if test "${with_system_expat+set}" = set; then - withval="$with_system_expat" -fi; +# Check whether --with-system-mysql was given. +if test "${with_system_mysql+set}" = set; then : + withval=$with_system_mysql; +fi -# Check whether --with-system-libwpd or --without-system-libwpd was given. -if test "${with_system_libwpd+set}" = set; then - withval="$with_system_libwpd" -fi; +# Check whether --with-libmysql-path was given. +if test "${with_libmysql_path+set}" = set; then : + withval=$with_libmysql_path; +fi -# Check whether --with-system-libxml or --without-system-libxml was given. -if test "${with_system_libxml+set}" = set; then - withval="$with_system_libxml" -fi; +# Check whether --with-system-mysql-cppconn was given. +if test "${with_system_mysql_cppconn+set}" = set; then : + withval=$with_system_mysql_cppconn; +fi -# Check whether --with-system-python or --without-system-python was given. -if test "${with_system_python+set}" = set; then - withval="$with_system_python" -fi; +# Check whether --with-system-hsqldb was given. +if test "${with_system_hsqldb+set}" = set; then : + withval=$with_system_hsqldb; +fi -# Check whether --with-system-icu or --without-system-icu was given. -if test "${with_system_icu+set}" = set; then - withval="$with_system_icu" -fi; +# Check whether --with-hsqldb-jar was given. +if test "${with_hsqldb_jar+set}" = set; then : + withval=$with_hsqldb_jar; HSQLDB_JAR="$withval" -# Check whether --with-system-poppler or --without-system-poppler was given. -if test "${with_system_poppler+set}" = set; then - withval="$with_system_poppler" +fi -fi; -# Check whether --with-system-db or --without-system-db was given. -if test "${with_system_db+set}" = set; then - withval="$with_system_db" +# Check whether --with-system-beanshell was given. +if test "${with_system_beanshell+set}" = set; then : + withval=$with_system_beanshell; +fi -fi; -# Check whether --with-system-lucene or --without-system-lucene was given. -if test "${with_system_lucene+set}" = set; then - withval="$with_system_lucene" +# Check whether --with-beanshell-jar was given. +if test "${with_beanshell_jar+set}" = set; then : + withval=$with_beanshell_jar; BSH_JAR="$withval" -fi; +fi -# Check whether --with-lucene-core-jar or --without-lucene-core-jar was given. -if test "${with_lucene_core_jar+set}" = set; then - withval="$with_lucene_core_jar" - LUCENE_CORE_JAR="$withval" +# Check whether --enable-presenter-extra-ui was given. +if test "${enable_presenter_extra_ui+set}" = set; then : + enableval=$enable_presenter_extra_ui; +else + enable_presenter_extra_ui=no +fi -fi; +# Check whether --enable-minimizer was given. +if test "${enable_minimizer+set}" = set; then : + enableval=$enable_minimizer; +fi -# Check whether --with-lucene-analyzers-jar or --without-lucene-analyzers-jar was given. -if test "${with_lucene_analyzers_jar+set}" = set; then - withval="$with_lucene_analyzers_jar" - LUCENE_ANALYZERS_JAR="$withval" +# Check whether --enable-presenter-console was given. +if test "${enable_presenter_console+set}" = set; then : + enableval=$enable_presenter_console; +fi -fi; -# Check whether --enable-mysql-connector or --disable-mysql-connector was given. -if test "${enable_mysql_connector+set}" = set; then - enableval="$enable_mysql_connector" +# Check whether --enable-pdfimport was given. +if test "${enable_pdfimport+set}" = set; then : + enableval=$enable_pdfimport; +fi -fi; +# Check whether --enable-wiki-publisher was given. +if test "${enable_wiki_publisher+set}" = set; then : + enableval=$enable_wiki_publisher; +fi -# Check whether --with-system-mysql or --without-system-mysql was given. -if test "${with_system_mysql+set}" = set; then - withval="$with_system_mysql" -fi; +# Check whether --with-commons-codec-jar was given. +if test "${with_commons_codec_jar+set}" = set; then : + withval=$with_commons_codec_jar; COMMONS_CODEC_JAR="$withval" -# Check whether --with-libmysql-path or --without-libmysql-path was given. -if test "${with_libmysql_path+set}" = set; then - withval="$with_libmysql_path" +fi -fi; -# Check whether --with-system-mysql-cppconn or --without-system-mysql-cppconn was given. -if test "${with_system_mysql_cppconn+set}" = set; then - withval="$with_system_mysql_cppconn" +# Check whether --with-commons-lang-jar was given. +if test "${with_commons_lang_jar+set}" = set; then : + withval=$with_commons_lang_jar; COMMONS_LANG_JAR="$withval" -fi; +fi -# Check whether --with-system-hsqldb or --without-system-hsqldb was given. -if test "${with_system_hsqldb+set}" = set; then - withval="$with_system_hsqldb" -fi; +# Check whether --with-commons-httpclient-jar was given. +if test "${with_commons_httpclient_jar+set}" = set; then : + withval=$with_commons_httpclient_jar; COMMONS_HTTPCLIENT_JAR="$withval" -# Check whether --with-hsqldb-jar or --without-hsqldb-jar was given. -if test "${with_hsqldb_jar+set}" = set; then - withval="$with_hsqldb_jar" - HSQLDB_JAR="$withval" +fi -fi; -# Check whether --with-system-beanshell or --without-system-beanshell was given. -if test "${with_system_beanshell+set}" = set; then - withval="$with_system_beanshell" +# Check whether --with-commons-logging-jar was given. +if test "${with_commons_logging_jar+set}" = set; then : + withval=$with_commons_logging_jar; COMMONS_LOGGING_JAR="$withval" -fi; +fi -# Check whether --with-beanshell-jar or --without-beanshell-jar was given. -if test "${with_beanshell_jar+set}" = set; then - withval="$with_beanshell_jar" - BSH_JAR="$withval" -fi; -# Check whether --enable-presenter-extra-ui or --disable-presenter-extra-ui was given. -if test "${enable_presenter_extra_ui+set}" = set; then - enableval="$enable_presenter_extra_ui" +# Check whether --with-servlet-api-jar was given. +if test "${with_servlet_api_jar+set}" = set; then : + withval=$with_servlet_api_jar; SERVLETAPI_JAR="$withval" -else - enable_presenter_extra_ui=no -fi; -# Check whether --enable-minimizer or --disable-minimizer was given. -if test "${enable_minimizer+set}" = set; then - enableval="$enable_minimizer" +fi -fi; -# Check whether --enable-presenter-console or --disable-presenter-console was given. -if test "${enable_presenter_console+set}" = set; then - enableval="$enable_presenter_console" +# Check whether --enable-report-builder was given. +if test "${enable_report_builder+set}" = set; then : + enableval=$enable_report_builder; +fi -fi; -# Check whether --enable-pdfimport or --disable-pdfimport was given. -if test "${enable_pdfimport+set}" = set; then - enableval="$enable_pdfimport" -fi; -# Check whether --enable-wiki-publisher or --disable-wiki-publisher was given. -if test "${enable_wiki_publisher+set}" = set; then - enableval="$enable_wiki_publisher" +# Check whether --with-system-jfreereport was given. +if test "${with_system_jfreereport+set}" = set; then : + withval=$with_system_jfreereport; +fi -fi; -# Check whether --with-commons-codec-jar or --without-commons-codec-jar was given. -if test "${with_commons_codec_jar+set}" = set; then - withval="$with_commons_codec_jar" - COMMONS_CODEC_JAR="$withval" +# Check whether --with-sac-jar was given. +if test "${with_sac_jar+set}" = set; then : + withval=$with_sac_jar; SAC_JAR="$withval" -fi; +fi -# Check whether --with-commons-lang-jar or --without-commons-lang-jar was given. -if test "${with_commons_lang_jar+set}" = set; then - withval="$with_commons_lang_jar" - COMMONS_LANG_JAR="$withval" -fi; +# Check whether --with-libxml-jar was given. +if test "${with_libxml_jar+set}" = set; then : + withval=$with_libxml_jar; LIBXML_JAR="$withval" -# Check whether --with-commons-httpclient-jar or --without-commons-httpclient-jar was given. -if test "${with_commons_httpclient_jar+set}" = set; then - withval="$with_commons_httpclient_jar" - COMMONS_HTTPCLIENT_JAR="$withval" +fi -fi; -# Check whether --with-commons-logging-jar or --without-commons-logging-jar was given. -if test "${with_commons_logging_jar+set}" = set; then - withval="$with_commons_logging_jar" - COMMONS_LOGGING_JAR="$withval" +# Check whether --with-flute-jar was given. +if test "${with_flute_jar+set}" = set; then : + withval=$with_flute_jar; FLUTE_JAR="$withval" -fi; +fi -# Check whether --with-servlet-api-jar or --without-servlet-api-jar was given. -if test "${with_servlet_api_jar+set}" = set; then - withval="$with_servlet_api_jar" - SERVLETAPI_JAR="$withval" -fi; -# Check whether --enable-report-builder or --disable-report-builder was given. -if test "${enable_report_builder+set}" = set; then - enableval="$enable_report_builder" +# Check whether --with-jfreereport-jar was given. +if test "${with_jfreereport_jar+set}" = set; then : + withval=$with_jfreereport_jar; JFREEREPORT_JAR="$withval" -fi; +fi -# Check whether --with-system-jfreereport or --without-system-jfreereport was given. -if test "${with_system_jfreereport+set}" = set; then - withval="$with_system_jfreereport" -fi; +# Check whether --with-liblayout-jar was given. +if test "${with_liblayout_jar+set}" = set; then : + withval=$with_liblayout_jar; LIBLAYOUT_JAR="$withval" -# Check whether --with-sac-jar or --without-sac-jar was given. -if test "${with_sac_jar+set}" = set; then - withval="$with_sac_jar" - SAC_JAR="$withval" +fi -fi; -# Check whether --with-libxml-jar or --without-libxml-jar was given. -if test "${with_libxml_jar+set}" = set; then - withval="$with_libxml_jar" - LIBXML_JAR="$withval" +# Check whether --with-libloader-jar was given. +if test "${with_libloader_jar+set}" = set; then : + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" -fi; +fi -# Check whether --with-flute-jar or --without-flute-jar was given. -if test "${with_flute_jar+set}" = set; then - withval="$with_flute_jar" - FLUTE_JAR="$withval" -fi; +# Check whether --with-libloader-jar was given. +if test "${with_libloader_jar+set}" = set; then : + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" -# Check whether --with-jfreereport-jar or --without-jfreereport-jar was given. -if test "${with_jfreereport_jar+set}" = set; then - withval="$with_jfreereport_jar" - JFREEREPORT_JAR="$withval" +fi -fi; -# Check whether --with-liblayout-jar or --without-liblayout-jar was given. -if test "${with_liblayout_jar+set}" = set; then - withval="$with_liblayout_jar" - LIBLAYOUT_JAR="$withval" +# Check whether --with-libformula-jar was given. +if test "${with_libformula_jar+set}" = set; then : + withval=$with_libformula_jar; LIBFORMULA_JAR="$withval" -fi; +fi -# Check whether --with-libloader-jar or --without-libloader-jar was given. -if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" -fi; +# Check whether --with-librepository-jar was given. +if test "${with_librepository_jar+set}" = set; then : + withval=$with_librepository_jar; LIBREPOSITORY_JAR="$withval" -# Check whether --with-libloader-jar or --without-libloader-jar was given. -if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" +fi -fi; -# Check whether --with-libformula-jar or --without-libformula-jar was given. -if test "${with_libformula_jar+set}" = set; then - withval="$with_libformula_jar" - LIBFORMULA_JAR="$withval" +# Check whether --with-libfonts-jar was given. +if test "${with_libfonts_jar+set}" = set; then : + withval=$with_libfonts_jar; LIBFONTS_JAR="$withval" -fi; +fi -# Check whether --with-librepository-jar or --without-librepository-jar was given. -if test "${with_librepository_jar+set}" = set; then - withval="$with_librepository_jar" - LIBREPOSITORY_JAR="$withval" -fi; +# Check whether --with-libserializer-jar was given. +if test "${with_libserializer_jar+set}" = set; then : + withval=$with_libserializer_jar; LIBSERIALIZER_JAR="$withval" -# Check whether --with-libfonts-jar or --without-libfonts-jar was given. -if test "${with_libfonts_jar+set}" = set; then - withval="$with_libfonts_jar" - LIBFONTS_JAR="$withval" +fi -fi; -# Check whether --with-libserializer-jar or --without-libserializer-jar was given. -if test "${with_libserializer_jar+set}" = set; then - withval="$with_libserializer_jar" - LIBSERIALIZER_JAR="$withval" +# Check whether --with-libbase-jar was given. +if test "${with_libbase_jar+set}" = set; then : + withval=$with_libbase_jar; LIBBASE_JAR="$withval" -fi; +fi -# Check whether --with-libbase-jar or --without-libbase-jar was given. -if test "${with_libbase_jar+set}" = set; then - withval="$with_libbase_jar" - LIBBASE_JAR="$withval" -fi; +# Check whether --with-system-saxon was given. +if test "${with_system_saxon+set}" = set; then : + withval=$with_system_saxon; +fi -# Check whether --with-system-saxon or --without-system-saxon was given. -if test "${with_system_saxon+set}" = set; then - withval="$with_system_saxon" -fi; +# Check whether --with-saxon-jar was given. +if test "${with_saxon_jar+set}" = set; then : + withval=$with_saxon_jar; SAXON_JAR="$withval" -# Check whether --with-saxon-jar or --without-saxon-jar was given. -if test "${with_saxon_jar+set}" = set; then - withval="$with_saxon_jar" - SAXON_JAR="$withval" +fi -fi; -# Check whether --with-system-libxslt or --without-system-libxslt was given. -if test "${with_system_libxslt+set}" = set; then - withval="$with_system_libxslt" +# Check whether --with-system-libxslt was given. +if test "${with_system_libxslt+set}" = set; then : + withval=$with_system_libxslt; +fi -fi; -# Check whether --with-system-odbc or --without-system-odbc was given. -if test "${with_system_odbc+set}" = set; then - withval="$with_system_odbc" +# Check whether --with-system-odbc was given. +if test "${with_system_odbc+set}" = set; then : + withval=$with_system_odbc; +fi -fi; -# Check whether --with-system-sane or --without-system-sane was given. -if test "${with_system_sane+set}" = set; then - withval="$with_system_sane" +# Check whether --with-system-sane was given. +if test "${with_system_sane+set}" = set; then : + withval=$with_system_sane; +fi -fi; -# Check whether --with-system-xrender or --without-system-xrender was given. -if test "${with_system_xrender+set}" = set; then - withval="$with_system_xrender" +# Check whether --with-system-xrender was given. +if test "${with_system_xrender+set}" = set; then : + withval=$with_system_xrender; +fi -fi; -# Check whether --with-system-curl or --without-system-curl was given. -if test "${with_system_curl+set}" = set; then - withval="$with_system_curl" +# Check whether --with-system-curl was given. +if test "${with_system_curl+set}" = set; then : + withval=$with_system_curl; +fi -fi; -# Check whether --with-system-boost or --without-system-boost was given. -if test "${with_system_boost+set}" = set; then - withval="$with_system_boost" +# Check whether --with-system-boost was given. +if test "${with_system_boost+set}" = set; then : + withval=$with_system_boost; +fi -fi; -# Check whether --with-system-vigra or --without-system-vigra was given. -if test "${with_system_vigra+set}" = set; then - withval="$with_system_vigra" +# Check whether --with-system-vigra was given. +if test "${with_system_vigra+set}" = set; then : + withval=$with_system_vigra; +fi -fi; -# Check whether --enable-neon or --disable-neon was given. -if test "${enable_neon+set}" = set; then - enableval="$enable_neon" +# Check whether --enable-neon was given. +if test "${enable_neon+set}" = set; then : + enableval=$enable_neon; +fi -fi; -# Check whether --enable-Xaw or --disable-Xaw was given. -if test "${enable_Xaw+set}" = set; then - enableval="$enable_Xaw" +# Check whether --enable-Xaw was given. +if test "${enable_Xaw+set}" = set; then : + enableval=$enable_Xaw; +fi -fi; -# Check whether --with-system-neon or --without-system-neon was given. -if test "${with_system_neon+set}" = set; then - withval="$with_system_neon" +# Check whether --with-system-neon was given. +if test "${with_system_neon+set}" = set; then : + withval=$with_system_neon; +fi -fi; -# Check whether --with-system-agg or --without-system-agg was given. -if test "${with_system_agg+set}" = set; then - withval="$with_system_agg" +# Check whether --with-system-agg was given. +if test "${with_system_agg+set}" = set; then : + withval=$with_system_agg; +fi -fi; -# Check whether --with-system-hunspell or --without-system-hunspell was given. -if test "${with_system_hunspell+set}" = set; then - withval="$with_system_hunspell" +# Check whether --with-system-hunspell was given. +if test "${with_system_hunspell+set}" = set; then : + withval=$with_system_hunspell; +fi -fi; -# Check whether --with-system-mythes or --without-system-mythes was given. -if test "${with_system_mythes+set}" = set; then - withval="$with_system_mythes" +# Check whether --with-system-mythes was given. +if test "${with_system_mythes+set}" = set; then : + withval=$with_system_mythes; +fi -fi; -# Check whether --with-system-altlinuxhyph or --without-system-altlinuxhyph was given. -if test "${with_system_altlinuxhyph+set}" = set; then - withval="$with_system_altlinuxhyph" +# Check whether --with-system-altlinuxhyph was given. +if test "${with_system_altlinuxhyph+set}" = set; then : + withval=$with_system_altlinuxhyph; +fi -fi; -# Check whether --with-system-lpsolve or --without-system-lpsolve was given. -if test "${with_system_lpsolve+set}" = set; then - withval="$with_system_lpsolve" +# Check whether --with-system-lpsolve was given. +if test "${with_system_lpsolve+set}" = set; then : + withval=$with_system_lpsolve; +fi -fi; -# Check whether --with-system-cppunit or --without-system-cppunit was given. -if test "${with_system_cppunit+set}" = set; then - withval="$with_system_cppunit" +# Check whether --with-system-cppunit was given. +if test "${with_system_cppunit+set}" = set; then : + withval=$with_system_cppunit; +fi -fi; -# Check whether --with-system-mozilla or --without-system-mozilla was given. -if test "${with_system_mozilla+set}" = set; then - withval="$with_system_mozilla" - WITH_SYSTEM_MOZILLA=$withval +# Check whether --with-system-mozilla was given. +if test "${with_system_mozilla+set}" = set; then : + withval=$with_system_mozilla; WITH_SYSTEM_MOZILLA=$withval else WITH_SYSTEM_MOZILLA=no -fi; +fi + -# Check whether --with-stlport or --without-stlport was given. -if test "${with_stlport+set}" = set; then - withval="$with_stlport" - WITH_STLPORT=$withval +# Check whether --with-stlport was given. +if test "${with_stlport+set}" = set; then : + withval=$with_stlport; WITH_STLPORT=$withval else WITH_STLPORT=auto -fi; +fi + -# Check whether --with-jdk-home or --without-jdk-home was given. -if test "${with_jdk_home+set}" = set; then - withval="$with_jdk_home" +# Check whether --with-jdk-home was given. +if test "${with_jdk_home+set}" = set; then : + withval=$with_jdk_home; +fi -fi; -# Check whether --with-gxx_include_path or --without-gxx_include_path was given. -if test "${with_gxx_include_path+set}" = set; then - withval="$with_gxx_include_path" +# Check whether --with-gxx_include_path was given. +if test "${with_gxx_include_path+set}" = set; then : + withval=$with_gxx_include_path; +fi -fi; -# Check whether --with-java or --without-java was given. -if test "${with_java+set}" = set; then - withval="$with_java" - if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi +# Check whether --with-java was given. +if test "${with_java+set}" = set; then : + withval=$with_java; if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi else WITH_JAVA=java -fi; -# Check whether --enable-gcjaot or --disable-gcjaot was given. -if test "${enable_gcjaot+set}" = set; then - enableval="$enable_gcjaot" +fi -fi; +# Check whether --enable-gcjaot was given. +if test "${enable_gcjaot+set}" = set; then : + enableval=$enable_gcjaot; +fi -# Check whether --with-ant-home or --without-ant-home was given. -if test "${with_ant_home+set}" = set; then - withval="$with_ant_home" -fi; +# Check whether --with-ant-home was given. +if test "${with_ant_home+set}" = set; then : + withval=$with_ant_home; +fi -# Check whether --with-junit or --without-junit was given. -if test "${with_junit+set}" = set; then - withval="$with_junit" +# Check whether --with-junit was given. +if test "${with_junit+set}" = set; then : + withval=$with_junit; else with_junit=yes -fi; +fi -# Check whether --with-perl-home or --without-perl-home was given. -if test "${with_perl_home+set}" = set; then - withval="$with_perl_home" -fi; +# Check whether --with-perl-home was given. +if test "${with_perl_home+set}" = set; then : + withval=$with_perl_home; +fi + -# Check whether --with-cl-home or --without-cl-home was given. -if test "${with_cl_home+set}" = set; then - withval="$with_cl_home" +# Check whether --with-cl-home was given. +if test "${with_cl_home+set}" = set; then : + withval=$with_cl_home; +fi -fi; -# Check whether --with-mspdb-path or --without-mspdb-path was given. -if test "${with_mspdb_path+set}" = set; then - withval="$with_mspdb_path" +# Check whether --with-mspdb-path was given. +if test "${with_mspdb_path+set}" = set; then : + withval=$with_mspdb_path; +fi -fi; -# Check whether --with-midl-path or --without-midl-path was given. -if test "${with_midl_path+set}" = set; then - withval="$with_midl_path" +# Check whether --with-midl-path was given. +if test "${with_midl_path+set}" = set; then : + withval=$with_midl_path; +fi -fi; -# Check whether --with-csc-path or --without-csc-path was given. -if test "${with_csc_path+set}" = set; then - withval="$with_csc_path" +# Check whether --with-csc-path was given. +if test "${with_csc_path+set}" = set; then : + withval=$with_csc_path; +fi -fi; -# Check whether --with-nsis-path or --without-nsis-path was given. -if test "${with_nsis_path+set}" = set; then - withval="$with_nsis_path" +# Check whether --with-nsis-path was given. +if test "${with_nsis_path+set}" = set; then : + withval=$with_nsis_path; +fi -fi; -# Check whether --with-frame-home or --without-frame-home was given. -if test "${with_frame_home+set}" = set; then - withval="$with_frame_home" +# Check whether --with-frame-home was given. +if test "${with_frame_home+set}" = set; then : + withval=$with_frame_home; +fi -fi; -# Check whether --with-psdk-home or --without-psdk-home was given. -if test "${with_psdk_home+set}" = set; then - withval="$with_psdk_home" +# Check whether --with-psdk-home was given. +if test "${with_psdk_home+set}" = set; then : + withval=$with_psdk_home; +fi -fi; -# Check whether --with-directx-home or --without-directx-home was given. -if test "${with_directx_home+set}" = set; then - withval="$with_directx_home" +# Check whether --with-directx-home was given. +if test "${with_directx_home+set}" = set; then : + withval=$with_directx_home; +fi -fi; -# Check whether --with-mozilla-build or --without-mozilla-build was given. -if test "${with_mozilla_build+set}" = set; then - withval="$with_mozilla_build" - MOZILLABUILD=$withval -fi; +# Check whether --with-mozilla-build was given. +if test "${with_mozilla_build+set}" = set; then : + withval=$with_mozilla_build; MOZILLABUILD=$withval +fi -# Check whether --with-local-solenv or --without-local-solenv was given. -if test "${with_local_solenv+set}" = set; then - withval="$with_local_solenv" -fi; +# Check whether --with-local-solenv was given. +if test "${with_local_solenv+set}" = set; then : + withval=$with_local_solenv; +fi -# Check whether --with-local-solver or --without-local-solver was given. -if test "${with_local_solver+set}" = set; then - withval="$with_local_solver" -fi; -# Check whether --enable-check-only or --disable-check-only was given. -if test "${enable_check_only+set}" = set; then - enableval="$enable_check_only" +# Check whether --with-local-solver was given. +if test "${with_local_solver+set}" = set; then : + withval=$with_local_solver; +fi -fi; -# Check whether --enable-ccache-skip or --disable-ccache-skip was given. -if test "${enable_ccache_skip+set}" = set; then - enableval="$enable_ccache_skip" +# Check whether --enable-check-only was given. +if test "${enable_check_only+set}" = set; then : + enableval=$enable_check_only; +fi +# Check whether --enable-ccache-skip was given. +if test "${enable_ccache_skip+set}" = set; then : + enableval=$enable_ccache_skip; else enable_ccache_skip=auto -fi; +fi + -# Check whether --with-lang or --without-lang was given. -if test "${with_lang+set}" = set; then - withval="$with_lang" +# Check whether --with-lang was given. +if test "${with_lang+set}" = set; then : + withval=$with_lang; +fi -fi; -# Check whether --with-poor-help-localizations or --without-poor-help-localizations was given. -if test "${with_poor_help_localizations+set}" = set; then - withval="$with_poor_help_localizations" +# Check whether --with-poor-help-localizations was given. +if test "${with_poor_help_localizations+set}" = set; then : + withval=$with_poor_help_localizations; +fi -fi; -# Check whether --with-dict or --without-dict was given. -if test "${with_dict+set}" = set; then - withval="$with_dict" +# Check whether --with-dict was given. +if test "${with_dict+set}" = set; then : + withval=$with_dict; +fi -fi; -# Check whether --with-intro-bitmaps or --without-intro-bitmaps was given. -if test "${with_intro_bitmaps+set}" = set; then - withval="$with_intro_bitmaps" +# Check whether --with-intro-bitmaps was given. +if test "${with_intro_bitmaps+set}" = set; then : + withval=$with_intro_bitmaps; +fi -fi; -# Check whether --with-about-bitmaps or --without-about-bitmaps was given. -if test "${with_about_bitmaps+set}" = set; then - withval="$with_about_bitmaps" +# Check whether --with-about-bitmaps was given. +if test "${with_about_bitmaps+set}" = set; then : + withval=$with_about_bitmaps; +fi -fi; -# Check whether --with-vendor or --without-vendor was given. -if test "${with_vendor+set}" = set; then - withval="$with_vendor" +# Check whether --with-vendor was given. +if test "${with_vendor+set}" = set; then : + withval=$with_vendor; +fi -fi; -# Check whether --with-unix-wrapper or --without-unix-wrapper was given. -if test "${with_unix_wrapper+set}" = set; then - withval="$with_unix_wrapper" +# Check whether --with-unix-wrapper was given. +if test "${with_unix_wrapper+set}" = set; then : + withval=$with_unix_wrapper; +fi -fi; -# Check whether --with-asm-home or --without-asm-home was given. -if test "${with_asm_home+set}" = set; then - withval="$with_asm_home" +# Check whether --with-asm-home was given. +if test "${with_asm_home+set}" = set; then : + withval=$with_asm_home; +fi -fi; -# Check whether --with-os-version or --without-os-version was given. -if test "${with_os_version+set}" = set; then - withval="$with_os_version" +# Check whether --with-os-version was given. +if test "${with_os_version+set}" = set; then : + withval=$with_os_version; +fi -fi; -# Check whether --with-unzip-home or --without-unzip-home was given. -if test "${with_unzip_home+set}" = set; then - withval="$with_unzip_home" +# Check whether --with-unzip-home was given. +if test "${with_unzip_home+set}" = set; then : + withval=$with_unzip_home; +fi -fi; -# Check whether --with-zip-home or --without-zip-home was given. -if test "${with_zip_home+set}" = set; then - withval="$with_zip_home" +# Check whether --with-zip-home was given. +if test "${with_zip_home+set}" = set; then : + withval=$with_zip_home; +fi -fi; -# Check whether --with-mingwin or --without-mingwin was given. -if test "${with_mingwin+set}" = set; then - withval="$with_mingwin" - WITH_MINGWIN=$withval +# Check whether --with-mingwin was given. +if test "${with_mingwin+set}" = set; then : + withval=$with_mingwin; WITH_MINGWIN=$withval else WITH_MINGWIN=0 -fi; +fi + + +# Check whether --with-build-version was given. +if test "${with_build_version+set}" = set; then : + withval=$with_build_version; with_build_version=$withval +fi -# Check whether --with-build-version or --without-build-version was given. -if test "${with_build_version+set}" = set; then - withval="$with_build_version" - with_build_version=$withval -fi; -# Check whether --with-alloc or --without-alloc was given. -if test "${with_alloc+set}" = set; then - withval="$with_alloc" +# Check whether --with-alloc was given. +if test "${with_alloc+set}" = set; then : + withval=$with_alloc; +fi -fi; -# Check whether --enable-verbose or --disable-verbose was given. -if test "${enable_verbose+set}" = set; then - enableval="$enable_verbose" +# Check whether --enable-verbose was given. +if test "${enable_verbose+set}" = set; then : + enableval=$enable_verbose; +fi -fi; BUILD_TYPE="OOo" @@ -2980,29 +4753,144 @@ echo "* *" echo "********************************************************************" echo "" cat /dev/null > warn -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -3012,35 +4900,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break done # Extract the first word of "$AWK", so it can be a program name with args. set dummy $AWK; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $AWK in [\\/]* | ?:[\\/]*) @@ -3052,42 +4942,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi AWK=$ac_cv_path_AWK - if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$AWK"; then - { { echo "$as_me:$LINENO: error: install awk to run this script" >&5 -echo "$as_me: error: install awk to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install awk to run this script" "$LINENO" 5 fi for ac_prog in sed do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SED+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SED in [\\/]* | ?:[\\/]*) @@ -3099,47 +4988,46 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SED=$ac_cv_path_SED - if test -n "$SED"; then - echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 +$as_echo "$SED" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$SED" && break done if test -z "$SED"; then - { { echo "$as_me:$LINENO: error: install sed to run this script" >&5 -echo "$as_me: error: install sed to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install sed to run this script" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking for solenv environment" >&5 -echo $ECHO_N "checking for solenv environment... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for solenv environment" >&5 +$as_echo_n "checking for solenv environment... " >&6; } if test -z "$with_local_solenv"; then LOCAL_SOLENV="DEFAULT" - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLENV=$with_local_solenv - echo "$as_me:$LINENO: result: $with_local_solenv" >&5 -echo "${ECHO_T}$with_local_solenv" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_local_solenv" >&5 +$as_echo "$with_local_solenv" >&6; } fi @@ -3157,110 +5045,134 @@ if test -e $_solenv/inc/minor.mk; then SOURCEVERSION="`grep SOURCEVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`" else - { { echo "$as_me:$LINENO: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&5 -echo "$as_me: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." "$LINENO" 5 fi ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + # Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +esac build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +esac host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if test "${ac_cv_target+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi fi -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error "invalid value of canonical target" "$LINENO" 5;; +esac target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. @@ -3269,23 +5181,22 @@ test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- + if test "$build" != "$host" -o "$build" != "$target" \ -o "$host" != "$target"; then - { echo "$as_me:$LINENO: WARNING: cross-compiling by any means is not supported (yet)!" >&5 -echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling by any means is not supported (yet)!" >&5 +$as_echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} echo "cross-compiling by any means is not supported (yet)!" >> warn fi if echo "$build_os" | grep cygwin; then - echo "$as_me:$LINENO: checking Cygwin version" >&5 -echo $ECHO_N "checking Cygwin version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Cygwin version" >&5 +$as_echo_n "checking Cygwin version... " >&6; } CygwinVer=`uname -r` - echo "$as_me:$LINENO: result: $CygwinVer" >&5 -echo "${ECHO_T}$CygwinVer" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CygwinVer" >&5 +$as_echo "$CygwinVer" >&6; } if test "`echo $CygwinVer | $AWK -F . '{ print $1$2 }'`" -lt "15"; then - { { echo "$as_me:$LINENO: error: You need at least Cygwin V1.5.x" >&5 -echo "$as_me: error: You need at least Cygwin V1.5.x" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "You need at least Cygwin V1.5.x" "$LINENO" 5 fi else CygwinVer="false" @@ -3302,10 +5213,10 @@ case "$build_os" in _os=SunOS # Extract the first word of "gtar", so it can be a program name with args. set dummy gtar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GNUTAR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GNUTAR+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GNUTAR in [\\/]* | ?:[\\/]*) @@ -3318,56 +5229,51 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUTAR="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GNUTAR=$ac_cv_path_GNUTAR - if test -n "$GNUTAR"; then - echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&5 -echo "$as_me: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking the Solaris operating system release" >&5 -echo $ECHO_N "checking the Solaris operating system release... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Solaris operating system release" >&5 +$as_echo_n "checking the Solaris operating system release... " >&6; } _os_release=`echo $build_os | $SED -e s/solaris2\.//` if test "$_os_release" -lt "6"; then - { { echo "$as_me:$LINENO: error: use solaris >= 6 to build OpenOffice.org" >&5 -echo "$as_me: error: use solaris >= 6 to build OpenOffice.org" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "use solaris >= 6 to build OpenOffice.org" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok ($_os_release)" >&5 -echo "${ECHO_T}ok ($_os_release)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok ($_os_release)" >&5 +$as_echo "ok ($_os_release)" >&6; } fi - echo "$as_me:$LINENO: checking the processor type" >&5 -echo $ECHO_N "checking the processor type... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the processor type" >&5 +$as_echo_n "checking the processor type... " >&6; } if test "$build_cpu" = "sparc" -o "$build_cpu" = "i386"; then - echo "$as_me:$LINENO: result: ok ($build_cpu)" >&5 -echo "${ECHO_T}ok ($build_cpu)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok ($build_cpu)" >&5 +$as_echo "ok ($build_cpu)" >&6; } else - { { echo "$as_me:$LINENO: error: only sparc and i386 processors are supported" >&5 -echo "$as_me: error: only sparc and i386 processors are supported" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "only sparc and i386 processors are supported" "$LINENO" 5 fi ;; linux-gnu*) @@ -3398,8 +5304,8 @@ echo "$as_me: error: only sparc and i386 processors are supported" >&2;} test_freetype=no _os=Darwin if test "$enable_systray" = "yes" && test "$enable_gtk" != "no"; then - { echo "$as_me:$LINENO: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 -echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 +$as_echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} echo "Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >>warn enable_systray=no fi @@ -3420,17 +5326,17 @@ echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use -- test_cups=yes test_randr=yes test_freetype=yes - echo "$as_me:$LINENO: checking the FreeBSD operating system release" >&5 -echo $ECHO_N "checking the FreeBSD operating system release... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the FreeBSD operating system release" >&5 +$as_echo_n "checking the FreeBSD operating system release... " >&6; } if test -n "$with_os_version"; then OSVERSION="$with_os_version" else OSVERSION=`/sbin/sysctl -n kern.osreldate` fi - echo "$as_me:$LINENO: result: found OSVERSION=$OSVERSION" >&5 -echo "${ECHO_T}found OSVERSION=$OSVERSION" >&6 - echo "$as_me:$LINENO: checking which thread library to use" >&5 -echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found OSVERSION=$OSVERSION" >&5 +$as_echo "found OSVERSION=$OSVERSION" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which thread library to use" >&5 +$as_echo_n "checking which thread library to use... " >&6; } if test "$OSVERSION" -lt "500016"; then PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" @@ -3441,8 +5347,8 @@ echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 PTHREAD_CFLAGS="" PTHREAD_LIBS="-pthread" fi - echo "$as_me:$LINENO: result: $PTHREAD_LIBS" >&5 -echo "${ECHO_T}$PTHREAD_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_LIBS" >&5 +$as_echo "$PTHREAD_LIBS" >&6; } _os=FreeBSD ;; osf) @@ -3471,9 +5377,7 @@ echo "${ECHO_T}$PTHREAD_LIBS" >&6 _os=AIX ;; *) - { { echo "$as_me:$LINENO: error: $_os operating system is not suitable to build OpenOffice.org!" >&5 -echo "$as_me: error: $_os operating system is not suitable to build OpenOffice.org!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_os operating system is not suitable to build OpenOffice.org!" "$LINENO" 5 ;; esac @@ -3481,17 +5385,17 @@ esac -echo "$as_me:$LINENO: checking whether to enable crashdump feature" >&5 -echo $ECHO_N "checking whether to enable crashdump feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable crashdump feature" >&5 +$as_echo_n "checking whether to enable crashdump feature... " >&6; } if test "$enable_crashdump" = "yes"; then ENABLE_CRASHDUMP="TRUE" BUILD_TYPE="$BUILD_TYPE CRASHREP" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_CRASHDUMP="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -3500,90 +5404,88 @@ if test "$_os" = "WINNT"; then fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking whether to use the standard non-optimizing compiler" >&5 -echo $ECHO_N "checking whether to use the standard non-optimizing compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the standard non-optimizing compiler" >&5 +$as_echo_n "checking whether to use the standard non-optimizing compiler... " >&6; } if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then VC_STANDARD="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else VC_STANDARD="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi fi -echo "$as_me:$LINENO: checking whether to turn warnings to errors" >&5 -echo $ECHO_N "checking whether to turn warnings to errors... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to turn warnings to errors" >&5 +$as_echo_n "checking whether to turn warnings to errors... " >&6; } if test -n "$enable_werror" && test "$enable_werror" != "no"; then ENABLE_WERROR="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - { echo "$as_me:$LINENO: WARNING: Turning warnings to errors has no effect in modules or" >&5 -echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} - { echo "$as_me:$LINENO: WARNING: on platforms where it has been disabled explicitely" >&5 -echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Turning warnings to errors has no effect in modules or" >&5 +$as_echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: on platforms where it has been disabled explicitely" >&5 +$as_echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} echo "Turning warnings to errors has no effect in modules or on platforms where it has been disabled explicitely" >> warn else ENABLE_WERROR="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to do a debug build" >&5 -echo $ECHO_N "checking whether to do a debug build... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to do a debug build" >&5 +$as_echo_n "checking whether to do a debug build... " >&6; } if test -n "$enable_debug" && test "$enable_debug" != "no"; then ENABLE_DEBUG="TRUE" if test -z "$enable_symbols"; then enable_symbols="yes" fi - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DEBUG="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build with additional debug utilities" >&5 -echo $ECHO_N "checking whether to build with additional debug utilities... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with additional debug utilities" >&5 +$as_echo_n "checking whether to build with additional debug utilities... " >&6; } if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then PROEXT="" PRODUCT="" PROFULLSWITCH="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else PRODUCT="full" PROFULLSWITCH="product=full" PROEXT=".pro" - echo "$as_me:$LINENO: result: no, full product build" >&5 -echo "${ECHO_T}no, full product build" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, full product build" >&5 +$as_echo "no, full product build" >&6; } fi -echo "$as_me:$LINENO: checking whether to include symbols into final build" >&5 -echo $ECHO_N "checking whether to include symbols into final build... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include symbols into final build" >&5 +$as_echo_n "checking whether to include symbols into final build... " >&6; } if test -n "$enable_symbols" && test "$enable_symbols" != "no"; then if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then ENABLE_SYMBOLS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then ENABLE_SYMBOLS="SMALL" - echo "$as_me:$LINENO: result: yes, small ones" >&5 -echo "${ECHO_T}yes, small ones" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, small ones" >&5 +$as_echo "yes, small ones" >&6; } else if test "$enable_symbols" != "no" ; then echo enable symbols is: $enable_symbols - { { echo "$as_me:$LINENO: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&5 -echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--enable-symbols only accepts yes, TRUE or SMALL as parameter." "$LINENO" 5 else ENABLE_SYMBOLS= fi @@ -3591,22 +5493,20 @@ echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as paramet fi else ENABLE_SYMBOLS= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to strip the solver or not." >&5 -echo $ECHO_N "checking whether to strip the solver or not.... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to strip the solver or not." >&5 +$as_echo_n "checking whether to strip the solver or not.... " >&6; } if test -n "$enable_strip_solver"; then if test "$enable_strip_solver" = "yes"; then DISABLE_STRIP= else if test "$enable_strip_solver" = "no"; then DISABLE_STRIP="TRUE" else - { { echo "$as_me:$LINENO: error: --disable-strip-solver only accepts yes or no as parameter." >&5 -echo "$as_me: error: --disable-strip-solver only accepts yes or no as parameter." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--disable-strip-solver only accepts yes or no as parameter." "$LINENO" 5 fi fi else @@ -3618,29 +5518,29 @@ else fi -echo "$as_me:$LINENO: checking whether to enable native CUPS support" >&5 -echo $ECHO_N "checking whether to enable native CUPS support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable native CUPS support" >&5 +$as_echo_n "checking whether to enable native CUPS support... " >&6; } if test "$test_cups" = "yes" -a \( "$enable_cups" = "yes" -o "$enable_cups" = "TRUE" \) ; then ENABLE_CUPS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_CUPS="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable fontconfig support" >&5 -echo $ECHO_N "checking whether to enable fontconfig support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable fontconfig support" >&5 +$as_echo_n "checking whether to enable fontconfig support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a \( "$enable_fontconfig" = "yes" -o "$enable_fontconfig" = "TRUE" \); then ENABLE_FONTCONFIG="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_FONTCONFIG="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -3655,124 +5555,124 @@ if test -z "$enable_fetch_external" || test "$enable_fetch_external" = "yes" \ fi -echo "$as_me:$LINENO: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 -echo $ECHO_N "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 +$as_echo_n "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... " >&6; } if test "$enable_binfilter" = "no"; then WITH_BINFILTER="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else WITH_BINFILTER="YES" BUILD_TYPE="$BUILD_TYPE BINFILTER" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking whether to use DirectX" >&5 -echo $ECHO_N "checking whether to use DirectX... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use DirectX" >&5 +$as_echo_n "checking whether to use DirectX... " >&6; } if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then ENABLE_DIRECTX="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DIRECTX="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to use ActiveX" >&5 -echo $ECHO_N "checking whether to use ActiveX... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use ActiveX" >&5 +$as_echo_n "checking whether to use ActiveX... " >&6; } if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then DISABLE_ACTIVEX="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ACTIVEX="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to use ATL" >&5 -echo $ECHO_N "checking whether to use ATL... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use ATL" >&5 +$as_echo_n "checking whether to use ATL... " >&6; } if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then DISABLE_ATL="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ATL="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi -echo "$as_me:$LINENO: checking whether to use RPATH in shared libraries" >&5 -echo $ECHO_N "checking whether to use RPATH in shared libraries... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use RPATH in shared libraries" >&5 +$as_echo_n "checking whether to use RPATH in shared libraries... " >&6; } if test "$enable_rpath" = "no"; then ENABLE_RPATH="no" else ENABLE_RPATH="yes" fi -echo "$as_me:$LINENO: result: $ENABLE_RPATH" >&5 -echo "${ECHO_T}$ENABLE_RPATH" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_RPATH" >&5 +$as_echo "$ENABLE_RPATH" >&6; } -echo "$as_me:$LINENO: checking whether to include MySpell dictionaries" >&5 -echo $ECHO_N "checking whether to include MySpell dictionaries... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include MySpell dictionaries" >&5 +$as_echo_n "checking whether to include MySpell dictionaries... " >&6; } if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MYSPELL_DICTS=YES BUILD_TYPE="$BUILD_TYPE DICTIONARIES" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_MYSPELL_DICTS=NO fi if test "$WITH_MYSPELL_DICTS" = "NO"; then - echo "$as_me:$LINENO: checking whether to use dicts from external paths" >&5 -echo $ECHO_N "checking whether to use dicts from external paths... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dicts from external paths" >&5 +$as_echo_n "checking whether to use dicts from external paths... " >&6; } if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_DICTS=YES - echo "$as_me:$LINENO: checking for spelling dictionary directory" >&5 -echo $ECHO_N "checking for spelling dictionary directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for spelling dictionary directory" >&5 +$as_echo_n "checking for spelling dictionary directory... " >&6; } if test -n "$with_external_dict_dir"; then DICT_SYSTEM_DIR=file://$with_external_dict_dir else DICT_SYSTEM_DIR=file:///usr/share/hunspell fi - echo "$as_me:$LINENO: result: $DICT_SYSTEM_DIR" >&5 -echo "${ECHO_T}$DICT_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for hyphenation patterns directory" >&5 -echo $ECHO_N "checking for hyphenation patterns directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DICT_SYSTEM_DIR" >&5 +$as_echo "$DICT_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hyphenation patterns directory" >&5 +$as_echo_n "checking for hyphenation patterns directory... " >&6; } if test -n "$with_external_hyph_dir"; then HYPH_SYSTEM_DIR=file://$with_external_hyph_dir else HYPH_SYSTEM_DIR=file:///usr/share/hyphen fi - echo "$as_me:$LINENO: result: $HYPH_SYSTEM_DIR" >&5 -echo "${ECHO_T}$HYPH_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for thesaurus directory" >&5 -echo $ECHO_N "checking for thesaurus directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HYPH_SYSTEM_DIR" >&5 +$as_echo "$HYPH_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thesaurus directory" >&5 +$as_echo_n "checking for thesaurus directory... " >&6; } if test -n "$with_external_thes_dir"; then THES_SYSTEM_DIR=file://$with_external_thes_dir else THES_SYSTEM_DIR=file:///usr/share/mythes fi - echo "$as_me:$LINENO: result: $THES_SYSTEM_DIR" >&5 -echo "${ECHO_T}$THES_SYSTEM_DIR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $THES_SYSTEM_DIR" >&5 +$as_echo "$THES_SYSTEM_DIR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_DICTS=NO fi fi @@ -3782,16 +5682,12 @@ fi if test $_os = "WINNT"; then - echo "$as_me:$LINENO: checking Windows build environment sanity" >&5 -echo $ECHO_N "checking Windows build environment sanity... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Windows build environment sanity" >&5 +$as_echo_n "checking Windows build environment sanity... " >&6; } if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then - { { echo "$as_me:$LINENO: error: $AWK, awk, tar or gunzip is a cygwin symlink! + as_fn_error "$AWK, awk, tar or gunzip is a cygwin symlink! Native windows programs cannot use cygwin symlinks. Remove the symbolic -link, and copy the program to the name of the link." >&5 -echo "$as_me: error: $AWK, awk, tar or gunzip is a cygwin symlink! -Native windows programs cannot use cygwin symlinks. Remove the symbolic -link, and copy the program to the name of the link." >&2;} - { (exit 1); exit 1; }; } +link, and copy the program to the name of the link." "$LINENO" 5 fi CC=`echo $CC | $SED "s/^guw.exe //"` CXX=`echo $CXX | $SED "s/^guw.exe //"` @@ -3806,31 +5702,29 @@ link, and copy the program to the name of the link." >&2;} CXX="g++ -mno-cygwin" fi fi - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi if test "$_os" = "WINNT" ; then - echo "$as_me:$LINENO: checking for cygwin gcc/g++" >&5 -echo $ECHO_N "checking for cygwin gcc/g++... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin gcc/g++" >&5 +$as_echo_n "checking for cygwin gcc/g++... " >&6; } if which gcc > /dev/null && which g++ > /dev/null ; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: cygwin gcc and g++ are needed, please install them." >&5 -echo "$as_me: error: cygwin gcc and g++ are needed, please install them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cygwin gcc and g++ are needed, please install them." "$LINENO" 5 fi fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SHELLPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SHELLPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SHELLPATH in [\\/]* | ?:[\\/]*) @@ -3842,46 +5736,45 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELLPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SHELLPATH=$ac_cv_path_SHELLPATH - if test -n "$SHELLPATH"; then - echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHELLPATH" >&5 +$as_echo "$SHELLPATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SHELLPATH"; then - { { echo "$as_me:$LINENO: error: bash not found in \$PATH" >&5 -echo "$as_me: error: bash not found in \$PATH" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "bash not found in \$PATH" "$LINENO" 5 else SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/bash$//p"` fi -echo "$as_me:$LINENO: checking gcc home" >&5 -echo $ECHO_N "checking gcc home... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc home" >&5 +$as_echo_n "checking gcc home... " >&6; } if test -z "$with_gcc_home"; then GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,` else GCC_HOME="$with_gcc_home" fi -echo "$as_me:$LINENO: result: $GCC_HOME" >&5 -echo "${ECHO_T}$GCC_HOME" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_HOME" >&5 +$as_echo "$GCC_HOME" >&6; } if test -n "$with_gcc_home"; then @@ -3899,10 +5792,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -3912,35 +5805,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -3950,39 +5845,50 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -3992,77 +5898,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi + fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -4073,18 +5939,19 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. @@ -4102,24 +5969,25 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -4129,39 +5997,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -4171,66 +6041,78 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CC" && break done - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi fi fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4242,112 +6124,109 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. break;; * ) break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else - echo "$as_me: failed program was:" >&5 + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -4355,38 +6234,90 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4398,45 +6329,46 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4450,55 +6382,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4509,39 +6420,49 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ -ac_cv_prog_cc_g=no + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -4557,18 +6478,14 @@ else CFLAGS= fi fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_stdc=no + ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4596,12 +6513,17 @@ static char *f (char * (*g) (char **, int), char **p, ...) /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get + as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ + that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -4616,205 +6538,37 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4829,10 +6583,10 @@ if test "$COMPATH" = "." ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_COMPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_COMPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $COMPATH in [\\/]* | ?:[\\/]*) @@ -4844,28 +6598,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_COMPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi COMPATH=$ac_cv_path_COMPATH - if test -n "$COMPATH"; then - echo "$as_me:$LINENO: result: $COMPATH" >&5 -echo "${ECHO_T}$COMPATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPATH" >&5 +$as_echo "$COMPATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$COMPATH" && break done @@ -4875,54 +6630,44 @@ COMPATH=`echo $COMPATH | $SED "s@/[Bb][Ii][Nn]\\\$@@"`; echo $COMPATH GCCVER=20995 if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5 -echo $ECHO_N "checking the GNU gcc compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU gcc compiler version" >&5 +$as_echo_n "checking the GNU gcc compiler version... " >&6; } _gcc_version=`$CC -dumpversion` _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'` _gcc_longver=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_gcc_major" -lt "3"; then - { { echo "$as_me:$LINENO: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&5 -echo "$as_me: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_gcc_version\", use version 3+ of the gcc compiler" "$LINENO" 5 else if test "$GCCVER" -eq "030203"; then if test "$ENABLE_SYMBOLS" = "SMALL"; then - { { echo "$as_me:$LINENO: error: version \"$_gcc_version\" gives internal error with small." >&5 -echo "$as_me: error: version \"$_gcc_version\" gives internal error with small." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "version \"$_gcc_version\" gives internal error with small." "$LINENO" 5 fi fi fi - echo "$as_me:$LINENO: result: checked (gcc $_gcc_version)" >&5 -echo "${ECHO_T}checked (gcc $_gcc_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (gcc $_gcc_version)" >&5 +$as_echo "checked (gcc $_gcc_version)" >&6; } if test "$_os" = "SunOS"; then - echo "$as_me:$LINENO: checking gcc linker" >&5 -echo $ECHO_N "checking gcc linker... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc linker" >&5 +$as_echo_n "checking gcc linker... " >&6; } if $CC -Wl,--version 2>&1 |head -n 1| grep -v GNU > /dev/null;then - { { echo "$as_me:$LINENO: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&5 -echo "$as_me: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: ok (GNU ld)" >&5 -echo "${ECHO_T}ok (GNU ld)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (GNU ld)" >&5 +$as_echo "ok (GNU ld)" >&6; } fi fi HAVE_LD_BSYMBOLIC_FUNCTIONS= if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking for -Bsymbolic-functions linker support " >&5 -echo $ECHO_N "checking for -Bsymbolic-functions linker support ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bsymbolic-functions linker support " >&5 +$as_echo_n "checking for -Bsymbolic-functions linker support ... " >&6; } bsymbolic_functions_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -4937,85 +6682,60 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found " >&5 +$as_echo "found " >&6; } else - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$bsymbolic_functions_ldflags_save fi -echo "$as_me:$LINENO: checking whether to enable pch feature" >&5 -echo $ECHO_N "checking whether to enable pch feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pch feature" >&5 +$as_echo_n "checking whether to enable pch feature... " >&6; } if test -n "$enable_pch" && test "$enable_pch" != "no"; then if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then ENABLE_PCH="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$GCC" = "yes" -a "$GCCVER" -gt "030400"; then ENABLE_PCH="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_PCH="" - { echo "$as_me:$LINENO: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 -echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 +$as_echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} fi else ENABLE_PCH="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable hid list feature" >&5 -echo $ECHO_N "checking whether to enable hid list feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable hid list feature" >&5 +$as_echo_n "checking whether to enable hid list feature... " >&6; } if test -n "$enable_hids" && test "$enable_hids" != "no"; then NO_HIDS="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else NO_HIDS="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking for GNU make" >&5 -echo $ECHO_N "checking for GNU make... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 +$as_echo_n "checking for GNU make... " >&6; } for a in "$MAKE" $GNUMAKE make gmake gnumake; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -5023,40 +6743,36 @@ for a in "$MAKE" $GNUMAKE make gmake gnumake; do break fi done -echo "$as_me:$LINENO: result: $GNUMAKE" >&5 -echo "${ECHO_T}$GNUMAKE" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE" >&5 +$as_echo "$GNUMAKE" >&6; } if test -z "$GNUMAKE"; then - { { echo "$as_me:$LINENO: error: not found. install GNU make." >&5 -echo "$as_me: error: not found. install GNU make." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. install GNU make." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking the GNU make version" >&5 -echo $ECHO_N "checking the GNU make version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU make version" >&5 +$as_echo_n "checking the GNU make version... " >&6; } _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_make_longver" -ge "037901" ; then - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else if test "$_os" = "Darwin"; then if test "$_make_longver" -ge "037900" ; then - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else - { echo "$as_me:$LINENO: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 -echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 +$as_echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} fi else - { { echo "$as_me:$LINENO: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&5 -echo "$as_me: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed ($GNUMAKE $_make_version need 3.79.1+)" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking for GNU tar" >&5 -echo $ECHO_N "checking for GNU tar... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU tar" >&5 +$as_echo_n "checking for GNU tar... " >&6; } for a in $GNUTAR gtar gnutar tar; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -5064,12 +6780,10 @@ for a in $GNUTAR gtar gnutar tar; do break fi done -echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: not found. install GNU tar." >&5 -echo "$as_me: error: not found. install GNU tar." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. install GNU tar." "$LINENO" 5 fi @@ -5080,10 +6794,10 @@ if test "$_os" = "SunOS"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path__cc+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -5095,65 +6809,58 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cc" >&5 +$as_echo "$_cc" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"` - echo "$as_me:$LINENO: checking the SunStudio C/C++ compiler version" >&5 -echo $ECHO_N "checking the SunStudio C/C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the SunStudio C/C++ compiler version" >&5 +$as_echo_n "checking the SunStudio C/C++ compiler version... " >&6; } _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'` _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'` _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` if test "$_sunstudio_major" != "5"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" "$LINENO" 5 else _sunstudio_minor=`echo $_sunstudio_version | $AWK -F. '{ if ($2 == 5) print "true"; else if ($2 == 7) print "true"; else if ($2 == 8) print "true"; else if ($2 == 9) print "true"; else print "false" }'` if test "$_sunstudio_minor" = "false"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" "$LINENO" 5 else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi fi if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking for --hash-style=both linker support " >&5 -echo $ECHO_N "checking for --hash-style=both linker support ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style=both linker support " >&5 +$as_echo_n "checking for --hash-style=both linker support ... " >&6; } hash_style_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--hash-style=both" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -5168,43 +6875,19 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_LD_HASH_STYLE=TRUE else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -HAVE_LD_HASH_STYLE=FALSE + HAVE_LD_HASH_STYLE=FALSE fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found " >&5 +$as_echo "found " >&6; } else - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$hash_style_ldflags_save fi @@ -5216,10 +6899,10 @@ if test "$_os" = "OSF1"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path__cc+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -5231,45 +6914,44 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cc" >&5 +$as_echo "$_cc" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"` - { echo "$as_me:$LINENO: WARNING: ******* $_cc , $COMPATH" >&5 -echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} - echo "$as_me:$LINENO: checking the Compaq C compiler version" >&5 -echo $ECHO_N "checking the Compaq C compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ******* $_cc , $COMPATH" >&5 +$as_echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Compaq C compiler version" >&5 +$as_echo_n "checking the Compaq C compiler version... " >&6; } _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'` _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'` if test "$_compaqc_major" != "T6"; then - { { echo "$as_me:$LINENO: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&5 -echo "$as_me: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" "$LINENO" 5 else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi @@ -5277,10 +6959,10 @@ fi if test -z "$with_perl_home"; then # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PERL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PERL+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) @@ -5292,28 +6974,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PERL=$ac_cv_path_PERL - if test -n "$PERL"; then - echo "$as_me:$LINENO: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +$as_echo "$PERL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else if test "$_os" = "WINNT"; then with_perl_home=`cygpath -u "$with_perl_home"` @@ -5322,46 +7005,38 @@ else if test -x "$_perl_path"; then PERL=$_perl_path else - { { echo "$as_me:$LINENO: error: $_perl_path not found" >&5 -echo "$as_me: error: $_perl_path not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_perl_path not found" "$LINENO" 5 fi fi if test "$PERL"; then - echo "$as_me:$LINENO: checking the Perl version" >&5 -echo $ECHO_N "checking the Perl version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Perl version" >&5 +$as_echo_n "checking the Perl version... " >&6; } ${PERL} -e "exit($]);" _perl_version=$? if test "$_perl_version" -lt 5; then - { { echo "$as_me:$LINENO: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&5 -echo "$as_me: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found Perl version \"$_perl_version\", use version 5 of Perl" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (perl $_perl_version)" >&5 -echo "${ECHO_T}checked (perl $_perl_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (perl $_perl_version)" >&5 +$as_echo "checked (perl $_perl_version)" >&6; } else - { { echo "$as_me:$LINENO: error: Perl not found, install version 5 of Perl" >&5 -echo "$as_me: error: Perl not found, install version 5 of Perl" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Perl not found, install version 5 of Perl" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking for required Perl modules" >&5 -echo $ECHO_N "checking for required Perl modules... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for required Perl modules" >&5 +$as_echo_n "checking for required Perl modules... " >&6; } if `$PERL -e 'use Archive::Zip;'`; then - echo "$as_me:$LINENO: result: all modules found" >&5 -echo "${ECHO_T}all modules found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: all modules found" >&5 +$as_echo "all modules found" >&6; } else - { { echo "$as_me:$LINENO: error: Failed to find some modules" >&5 -echo "$as_me: error: Failed to find some modules" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Failed to find some modules" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" != "yes"; then - echo "$as_me:$LINENO: checking for friendly registry keys" >&5 -echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for friendly registry keys" >&5 +$as_echo_n "checking for friendly registry keys... " >&6; } # VS.Net 2003, VS.Net 2005 if test -z "$with_cl_home"; then vctest=`./oowintool --msvc-productdir`; @@ -5371,8 +7046,8 @@ echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 else with_cl_home=`cygpath -u "$with_cl_home"` fi - echo "$as_me:$LINENO: result: done" >&5 -echo "${ECHO_T}done" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$with_mspdb_path";then with_mspdb_path=`cygpath -u "$with_mspdb_path"` @@ -5393,10 +7068,10 @@ echo "${ECHO_T}done" >&6 if test -z "$MSPDB_PATH";then # Extract the first word of "mspdb80.dll", so it can be a program name with args. set dummy mspdb80.dll; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSPDB_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -5408,34 +7083,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "mspdb71.dll", so it can be a program name with args. set dummy mspdb71.dll; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSPDB_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -5447,51 +7123,50 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -z "$MSPDB_PATH"; then - { { echo "$as_me:$LINENO: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&5 -echo "$as_me: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" "$LINENO" 5 fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` PATH="$MSPDB_PATH:$PATH" - echo "$as_me:$LINENO: checking the Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Microsoft C/C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Microsoft C/C++ Compiler... " >&6; } if test -x "$with_cl_home/bin/cl.exe"; then CC="$with_cl_home/bin/cl.exe" else # Extract the first word of "cl.exe", so it can be a program name with args. set dummy cl.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CC in [\\/]* | ?:[\\/]*) @@ -5503,40 +7178,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CC=$ac_cv_path_CC - if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -e "$CC"; then # This gives us a posix path with 8.3 filename restrictions CC=`cygpath -d "$CC"` CC=`cygpath -u "$CC"` # Remove /cl.exe from CC case insensitive - echo "$as_me:$LINENO: result: found ($CC)" >&5 -echo "${ECHO_T}found ($CC)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($CC)" >&5 +$as_echo "found ($CC)" >&6; } COMPATH=`echo $CC | $SED 's@\/[Bb][Ii][Nn]\/[cC][lL]\.[eE][xX][eE]@@'` export INCLUDE=`cygpath -d "$COMPATH/Include"` - echo "$as_me:$LINENO: checking the Version of Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Version of Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Version of Microsoft C/C++ Compiler... " >&6; } CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ { x = match( \\\$0, /..\\...\\...../ ) CCversion = substr( \\\$0, RSTART, RLENGTH) @@ -5545,48 +7221,42 @@ echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 printf (\"%04d\",vertoken[i] ) } }"` - echo "$as_me:$LINENO: result: found Compiler version $CCNUMVER." >&5 -echo "${ECHO_T}found Compiler version $CCNUMVER." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found Compiler version $CCNUMVER." >&5 +$as_echo "found Compiler version $CCNUMVER." >&6; } if test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 - echo "$as_me:$LINENO: result: found .NET 2008 / VS 9.0." >&5 -echo "${ECHO_T}found .NET 2008 / VS 9.0." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2008 / VS 9.0." >&5 +$as_echo "found .NET 2008 / VS 9.0." >&6; } elif test "$CCNUMVER" -ge "001400000000"; then COMEX=11 MSVSVER=2005 - echo "$as_me:$LINENO: result: found .NET 2005." >&5 -echo "${ECHO_T}found .NET 2005." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2005." >&5 +$as_echo "found .NET 2005." >&6; } elif test "$CCNUMVER" -ge "001300102240"; then COMEX=10 MSVSVER=2003 - echo "$as_me:$LINENO: result: found .NET 2003." >&5 -echo "${ECHO_T}found .NET 2003." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2003." >&5 +$as_echo "found .NET 2003." >&6; } else - { { echo "$as_me:$LINENO: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&5 -echo "$as_me: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." "$LINENO" 5 fi else - { { echo "$as_me:$LINENO: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&5 -echo "$as_me: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." "$LINENO" 5 fi else - echo "$as_me:$LINENO: checking the Mingwin32 C++ Compiler" >&5 -echo $ECHO_N "checking the Mingwin32 C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Mingwin32 C++ Compiler" >&5 +$as_echo_n "checking the Mingwin32 C++ Compiler... " >&6; } if test `$CC -dumpmachine | $SED -e 's/^.*-//'` = "mingw32"; then - echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found." >&5 +$as_echo "found." >&6; } if $CC -dumpspecs | grep -q "mno-cygwin"; then USE_MINGW="cygwin" else USE_MINGW="pure-mingw" fi else - { { echo "$as_me:$LINENO: error: Mingwin32 C++ Compiler not found." >&5 -echo "$as_me: error: Mingwin32 C++ Compiler not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Mingwin32 C++ Compiler not found." "$LINENO" 5 fi fi fi @@ -5598,10 +7268,10 @@ if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then # Extract the first word of "midl.exe", so it can be a program name with args. set dummy midl.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MIDL_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MIDL_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MIDL_PATH in [\\/]* | ?:[\\/]*) @@ -5613,28 +7283,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MIDL_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MIDL_PATH=$ac_cv_path_MIDL_PATH - if test -n "$MIDL_PATH"; then - echo "$as_me:$LINENO: result: $MIDL_PATH" >&5 -echo "${ECHO_T}$MIDL_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MIDL_PATH" >&5 +$as_echo "$MIDL_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$MIDL_PATH";then MIDL_PATH=`dirname "$MIDL_PATH"` fi @@ -5660,9 +7331,7 @@ fi fi fi if test ! -x "$MIDL_PATH/midl.exe"; then - { { echo "$as_me:$LINENO: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&5 -echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "midl.exe not found. Make sure it's in the path or use --with-midl-path" "$LINENO" 5 fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) MIDL_PATH=`cygpath -d "$MIDL_PATH"` @@ -5670,10 +7339,10 @@ echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --wit # Extract the first word of "csc.exe", so it can be a program name with args. set dummy csc.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CSC_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CSC_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CSC_PATH in [\\/]* | ?:[\\/]*) @@ -5685,28 +7354,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CSC_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CSC_PATH=$ac_cv_path_CSC_PATH - if test -n "$CSC_PATH"; then - echo "$as_me:$LINENO: result: $CSC_PATH" >&5 -echo "${ECHO_T}$CSC_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CSC_PATH" >&5 +$as_echo "$CSC_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$CSC_PATH";then CSC_PATH=`dirname "$CSC_PATH"` fi @@ -5722,16 +7392,14 @@ fi fi fi if test ! -x "$CSC_PATH/csc.exe"; then - { { echo "$as_me:$LINENO: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&5 -echo "$as_me: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "csc.exe not found. Make sure it's in the path or use --with-csc-path" "$LINENO" 5 fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) CSC_PATH=`cygpath -d "$CSC_PATH"` CSC_PATH=`cygpath -u "$CSC_PATH"` - echo "$as_me:$LINENO: checking .NET Framework" >&5 -echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking .NET Framework" >&5 +$as_echo_n "checking .NET Framework... " >&6; } if test -n "$with_frame_home"; then with_frame_home=`cygpath -u "$with_frame_home"` fi @@ -5753,12 +7421,10 @@ echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 fi fi if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then - { { echo "$as_me:$LINENO: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&5 -echo "$as_me: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } # Convert to posix path with 8.3 filename restrictions ( No spaces ) FRAME_HOME=`cygpath -d "$FRAME_HOME"` FRAME_HOME=`cygpath -u "$FRAME_HOME"` @@ -5774,15 +7440,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -5796,11 +7462,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5809,68 +7471,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +else # Passes both tests. ac_preproc_ok=: break @@ -5880,7 +7498,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -5892,8 +7510,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -5903,11 +7521,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5916,68 +7530,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -5987,14 +7557,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -6004,16 +7573,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -6028,51 +7593,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -6082,18 +7619,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -6103,16 +7636,13 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -6132,61 +7662,50 @@ main () for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + return 2; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -6196,39 +7715,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -6238,64 +7759,77 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -6309,55 +7843,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -6368,176 +7881,80 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_compile "$LINENO"; then : -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CXXCPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" @@ -6551,11 +7968,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6564,68 +7977,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6635,7 +8004,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -6647,8 +8016,8 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -6658,11 +8027,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6671,68 +8036,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6742,14 +8063,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -6767,15 +8087,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -6789,11 +8109,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6802,68 +8118,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6873,7 +8145,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -6885,8 +8157,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -6896,11 +8168,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6909,68 +8177,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6980,14 +8204,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -6996,74 +8219,20 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - fi -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -7071,678 +8240,288 @@ fi done -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if test "${ac_cv_sizeof_long+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_long=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : -echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; -test_array [0] = 0 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_long=0 + fi +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +SIZEOF_LONG=$ac_cv_sizeof_long -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + #include + int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } -#include -#include +#include + #include + int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (long))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - ac_cv_sizeof_long=0 + ac_cv_c_bigendian=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6 -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - -SIZEOF_LONG=$ac_cv_sizeof_long - -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif +#ifndef _BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + int main () { - _ascii (); _ebcdic (); +return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then - ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +$ac_includes_default int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ac_cv_c_bigendian=yes fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + + fi fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) -cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 -_ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; -esac +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac WORDS_BIGENDIAN=$ac_cv_c_bigendian -# Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi -fi; if test "$enable_largefile" != no; then - echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if test "${ac_cv_sys_largefile_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7761,89 +8540,34 @@ main () return 0; } _ACEOF - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + if ac_fn_c_try_compile "$LINENO"; then : break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi -echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi - echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test "${ac_cv_sys_file_offset_bits+set}" = set; then : + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7859,43 +8583,14 @@ main () { ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include @@ -7915,60 +8610,33 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown break done fi -echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF - -fi -rm -f conftest* - echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if test "${ac_cv_sys_large_files+set}" = set; then : + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7987,40 +8655,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include @@ -8040,48 +8679,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown break done fi -echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF - -fi -rm -f conftest* +;; +esac +rm -rf conftest* + fi fi if test -n "$ac_cv_sys_file_offset_bits"; then @@ -8092,44 +8709,42 @@ if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; th fi -echo "$as_me:$LINENO: checking whether to disable vba feature" >&5 -echo $ECHO_N "checking whether to disable vba feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable vba feature" >&5 +$as_echo_n "checking whether to disable vba feature... " >&6; } if test -n "$enable_vba" && test "$enable_vba" = "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_VBA=NO else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_VBA=YES fi if test "$ENABLE_VBA" = "YES"; then - echo "$as_me:$LINENO: checking how to package the vba compatibility api" >&5 -echo $ECHO_N "checking how to package the vba compatibility api... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to package the vba compatibility api" >&5 +$as_echo_n "checking how to package the vba compatibility api... " >&6; } if test -n "$with_vba_package_format"; then if test "$with_vba_package_format" = "extn"; then VBA_EXTENSION=YES - echo "$as_me:$LINENO: result: uno extension" >&5 -echo "${ECHO_T}uno extension" >&6 - { echo "$as_me:$LINENO: WARNING: --with-vba-package-format=extn can cause problems" >&5 -echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: uno extension" >&5 +$as_echo "uno extension" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-vba-package-format=extn can cause problems" >&5 +$as_echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} else if test "$with_vba_package_format" = "builtin"; then VBA_EXTENSION=NO - echo "$as_me:$LINENO: result: build into installset" >&5 -echo "${ECHO_T}build into installset" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: build into installset" >&5 +$as_echo "build into installset" >&6; } else - { { echo "$as_me:$LINENO: error: unknown packaging method" >&5 -echo "$as_me: error: unknown packaging method" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "unknown packaging method" "$LINENO" 5 fi fi else VBA_EXTENSION=NO - echo "$as_me:$LINENO: result: defaulting to build into installset" >&5 -echo "${ECHO_T}defaulting to build into installset" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: defaulting to build into installset" >&5 +$as_echo "defaulting to build into installset" >&6; } fi else VBA_EXTENSION=NO @@ -8139,379 +8754,74 @@ fi if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then - if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 -if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking cups/cups.h usability" >&5 -echo $ECHO_N "checking cups/cups.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking cups/cups.h presence" >&5 -echo $ECHO_N "checking cups/cups.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: cups/cups.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 -if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_cups_cups_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "cups/cups.h" "ac_cv_header_cups_cups_h" "$ac_includes_default" +if test "x$ac_cv_header_cups_cups_h" = x""yes; then : -fi -if test $ac_cv_header_cups_cups_h = yes; then - : else - { { echo "$as_me:$LINENO: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&5 -echo "$as_me: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" "$LINENO" 5 fi fi if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then - echo "$as_me:$LINENO: checking whether to enable pam support" >&5 -echo $ECHO_N "checking whether to enable pam support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pam support" >&5 +$as_echo_n "checking whether to enable pam support... " >&6; } if test -z "$enable_pam" || test "$enable_pam" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } PAM=YES - if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 -echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 -echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: security/pam_appl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_security_pam_appl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "security/pam_appl.h" "ac_cv_header_security_pam_appl_h" "$ac_includes_default" +if test "x$ac_cv_header_security_pam_appl_h" = x""yes; then : -fi -if test $ac_cv_header_security_pam_appl_h = yes; then - : else - { { echo "$as_me:$LINENO: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&5 -echo "$as_me: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "pam_appl.h could not be found. libpam-dev or pam-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether to link to libpam" >&5 -echo $ECHO_N "checking whether to link to libpam... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to libpam" >&5 +$as_echo_n "checking whether to link to libpam... " >&6; } if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } PAM_LINK=YES - -echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 -echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_pam_start+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5 +$as_echo_n "checking for pam_start in -lpam... " >&6; } +if test "${ac_cv_lib_pam_pam_start+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char pam_start (); int main () { -pam_start (); +return pam_start (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pam_pam_start=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_pam_pam_start=no + ac_cv_lib_pam_pam_start=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6 -if test $ac_cv_lib_pam_pam_start = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_start" >&5 +$as_echo "$ac_cv_lib_pam_pam_start" >&6; } +if test "x$ac_cv_lib_pam_pam_start" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPAM 1 _ACEOF @@ -8519,19 +8829,17 @@ _ACEOF LIBS="-lpam $LIBS" else - { { echo "$as_me:$LINENO: error: libpam not found or functional" >&5 -echo "$as_me: error: libpam not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libpam not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } PAM_LINK=NO fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PAM=NO PAM_LINK=NO @@ -8542,11 +8850,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - echo "$as_me:$LINENO: checking how many arguments getspnam_r() takes" >&5 -echo $ECHO_N "checking how many arguments getspnam_r() takes... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how many arguments getspnam_r() takes" >&5 +$as_echo_n "checking how many arguments getspnam_r() takes... " >&6; } - if test "${ac_cv_func_which_getspnam_r+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_func_which_getspnam_r+set}" = set; then : + $as_echo_n "(cached) " >&6 else @@ -8563,11 +8871,7 @@ ac_cv_func_which_getspnam_r=unknown # netdb.h is not declaring the function, and the compiler is thereby # assuming an implicit prototype. In which case, we're out of luck. # -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8584,35 +8888,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=no -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # # FIVE ARGUMENTS @@ -8620,11 +8899,7 @@ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_func_which_getspnam_r" = "unknown"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8643,35 +8918,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=five -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8681,11 +8931,7 @@ fi if test "$ac_cv_func_which_getspnam_r" = "unknown"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8704,35 +8950,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=four -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8743,30 +8964,28 @@ fi case "$ac_cv_func_which_getspnam_r" in five) - echo "$as_me:$LINENO: result: five" >&5 -echo "${ECHO_T}five" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: five" >&5 +$as_echo "five" >&6; } NEW_SHADOW_API=YES ;; four) - echo "$as_me:$LINENO: result: four" >&5 -echo "${ECHO_T}four" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: four" >&5 +$as_echo "four" >&6; } ;; no) - echo "$as_me:$LINENO: result: cannot find function declaration in shadow.h" >&5 -echo "${ECHO_T}cannot find function declaration in shadow.h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot find function declaration in shadow.h" >&5 +$as_echo "cannot find function declaration in shadow.h" >&6; } ;; unknown) - echo "$as_me:$LINENO: result: can't tell" >&5 -echo "${ECHO_T}can't tell" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: can't tell" >&5 +$as_echo "can't tell" >&6; } ;; *) - { { echo "$as_me:$LINENO: error: internal error" >&5 -echo "$as_me: error: internal error" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "internal error" "$LINENO" 5 ;; esac @@ -8785,78 +9004,49 @@ fi if test "$_os" = "Linux"; then - echo "$as_me:$LINENO: checking whether to link to libcrypt" >&5 -echo $ECHO_N "checking whether to link to libcrypt... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to libcrypt" >&5 +$as_echo_n "checking whether to link to libcrypt... " >&6; } if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } CRYPT_LINK=YES - -echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 -echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 -if test "${ac_cv_lib_crypt_crypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 +$as_echo_n "checking for crypt in -lcrypt... " >&6; } +if test "${ac_cv_lib_crypt_crypt+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrypt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char crypt (); int main () { -crypt (); +return crypt (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_crypt_crypt=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_crypt_crypt=no + ac_cv_lib_crypt_crypt=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 -echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6 -if test $ac_cv_lib_crypt_crypt = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 +$as_echo "$ac_cv_lib_crypt_crypt" >&6; } +if test "x$ac_cv_lib_crypt_crypt" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBCRYPT 1 _ACEOF @@ -8864,14 +9054,12 @@ _ACEOF LIBS="-lcrypt $LIBS" else - { { echo "$as_me:$LINENO: error: libcrypt not found or functional" >&5 -echo "$as_me: error: libcrypt not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libcrypt not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } CRYPT_LINK=NO fi fi @@ -8890,20 +9078,24 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -8913,39 +9105,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -8955,64 +9149,77 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9026,55 +9233,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9085,160 +9271,64 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_compile "$LINENO"; then : -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9248,32 +9338,27 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi if test "$GXX" = "yes"; then - echo "$as_me:$LINENO: checking the GNU C++ compiler version" >&5 -echo $ECHO_N "checking the GNU C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU C++ compiler version" >&5 +$as_echo_n "checking the GNU C++ compiler version... " >&6; } _gpp_version=`$CXX -dumpversion` _gpp_major=`echo $_gpp_version | $AWK -F. '{ print \$1 }'` _gpp_minor=`echo $_gpp_version | $AWK -F. '{ print \$2 }'` - echo "$as_me:$LINENO: result: checked (g++ $_gpp_version)" >&5 -echo "${ECHO_T}checked (g++ $_gpp_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (g++ $_gpp_version)" >&5 +$as_echo "checked (g++ $_gpp_version)" >&6; } if test "$_gpp_major" = "3"; then if test "$_gpp_minor" = "4"; then - echo "$as_me:$LINENO: checking whether $CXX has the enum bug" >&5 -echo $ECHO_N "checking whether $CXX has the enum bug... $ECHO_C" >&6 -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX has the enum bug" >&5 +$as_echo_n "checking whether $CXX has the enum bug... " >&6; } +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern "C" void abort (void); @@ -9298,31 +9383,16 @@ main (void) } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { { echo "$as_me:$LINENO: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&5 -echo "$as_me: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&2;} - { (exit 1); exit 1; }; } -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 +if ac_fn_c_try_run "$LINENO"; then : + as_fn_error "your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." "$LINENO" 5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi fi fi @@ -9330,8 +9400,8 @@ fi # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path # often contains an i386 which is expanded as a macro. Solved in stlport. if test "$GXX" = "yes"; then - echo "$as_me:$LINENO: checking for g++ include path" >&5 -echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ include path" >&5 +$as_echo_n "checking for g++ include path... " >&6; } if test -z "$with_gxx_include_path"; then with_gxx_include_path=`echo "#include " | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1` if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then @@ -9349,18 +9419,18 @@ echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 fi if test -z "$with_gxx_include_path"; then with_gxx_include_path="NO_GXX_INCLUDE" - echo "$as_me:$LINENO: result: no g++ includes" >&5 -echo "${ECHO_T}no g++ includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no g++ includes" >&5 +$as_echo "no g++ includes" >&6; } else - echo "$as_me:$LINENO: result: $with_gxx_include_path" >&5 -echo "${ECHO_T}$with_gxx_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_gxx_include_path" >&5 +$as_echo "$with_gxx_include_path" >&6; } fi GXX_INCLUDE_PATH="$with_gxx_include_path" if test "$WITH_MINGWIN" = "yes"; then - echo "$as_me:$LINENO: checking for mingwin runtime include path" >&5 -echo $ECHO_N "checking for mingwin runtime include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mingwin runtime include path" >&5 +$as_echo_n "checking for mingwin runtime include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include #include @@ -9378,16 +9448,16 @@ _ACEOF fi if test -z "$_mingw_lib_include_path"; then _mingw_lib_include_path="NO_LIB_INCLUDE" - echo "$as_me:$LINENO: result: no mingwin runtime includes" >&5 -echo "${ECHO_T}no mingwin runtime includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no mingwin runtime includes" >&5 +$as_echo "no mingwin runtime includes" >&6; } else - echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5 -echo "${ECHO_T}$_mingw_lib_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_mingw_lib_include_path" >&5 +$as_echo "$_mingw_lib_include_path" >&6; } fi MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path" - echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5 -echo $ECHO_N "checking for mingwin c++ backward include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mingwin c++ backward include path" >&5 +$as_echo_n "checking for mingwin c++ backward include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include _ACEOF @@ -9396,57 +9466,57 @@ _ACEOF if test -n "$_mingw_backward_include_path"; then _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path` _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path` - echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5 -echo "${ECHO_T}$_mingw_backward_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_mingw_backward_include_path" >&5 +$as_echo "$_mingw_backward_include_path" >&6; } else _mingw_backward_include_path="NO_BACKWARD_INCLUDE" - echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5 -echo "${ECHO_T}no mingwin c++ backward includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no mingwin c++ backward includes" >&5 +$as_echo "no mingwin c++ backward includes" >&6; } fi MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path" mingw_crtbegin=`$CC -print-file-name=crtbegin.o` MINGW_CLIB_DIR=`dirname $mingw_crtbegin` - echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5 -echo $ECHO_N "checking whether to use dynamic libgcc... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dynamic libgcc" >&5 +$as_echo_n "checking whether to use dynamic libgcc... " >&6; } if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then - echo "$as_me:$LINENO: checking dynamic libgcc name" >&5 -echo $ECHO_N "checking dynamic libgcc name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic libgcc name" >&5 +$as_echo_n "checking dynamic libgcc name... " >&6; } MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GCCDLL=`cd $COMPATH/bin && ls $MINGW_GCCDLL_pattern 2>/dev/null` if test -n "$MINGW_GCCDLL"; then MINGW_SHARED_GCCLIB=YES - echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5 -echo "${ECHO_T}use $MINGW_GCCDLL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: use $MINGW_GCCDLL" >&5 +$as_echo "use $MINGW_GCCDLL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then MINGW_GCCLIB_EH=YES fi - echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5 -echo $ECHO_N "checking whether to use dynamic libstdc++... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dynamic libstdc++" >&5 +$as_echo_n "checking whether to use dynamic libstdc++... " >&6; } if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then - echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5 -echo $ECHO_N "checking dynamic libstdc++ name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic libstdc++ name" >&5 +$as_echo_n "checking dynamic libstdc++ name... " >&6; } MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GXXDLL=`cd $COMPATH/bin && ls $MINGW_GXXDLL_pattern 2>/dev/null` if test -n "$MINGW_GXXDLL"; then MINGW_SHARED_GXXLIB=YES - echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5 -echo "${ECHO_T}use $MINGW_GXXDLL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: use $MINGW_GXXDLL" >&5 +$as_echo "use $MINGW_GXXDLL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR` @@ -9459,50 +9529,50 @@ fi if test "$_os" = "SunOS"; then if test "$CC" = "cc"; then - echo "$as_me:$LINENO: checking SunStudio C++ Compiler" >&5 -echo $ECHO_N "checking SunStudio C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking SunStudio C++ Compiler" >&5 +$as_echo_n "checking SunStudio C++ Compiler... " >&6; } if test "$CXX" != "CC"; then - { echo "$as_me:$LINENO: WARNING: SunStudio C++ was not found" >&5 -echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SunStudio C++ was not found" >&5 +$as_echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} echo "SunStudio C++ was not found" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "Darwin"; then if test "$CC" = "cc"; then - echo "$as_me:$LINENO: checking Macosx c++ Compiler" >&5 -echo $ECHO_N "checking Macosx c++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Macosx c++ Compiler" >&5 +$as_echo_n "checking Macosx c++ Compiler... " >&6; } if test "$CXX" != "c++"; then - { echo "$as_me:$LINENO: WARNING: Macosx C++ was not found" >&5 -echo "$as_me: WARNING: Macosx C++ was not found" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Macosx C++ was not found" >&5 +$as_echo "$as_me: WARNING: Macosx C++ was not found" >&2;} echo "Macosx C++ was not found" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "OSF1"; then - echo "$as_me:$LINENO: checking Compaq C++ compiler version" >&5 -echo $ECHO_N "checking Compaq C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Compaq C++ compiler version" >&5 +$as_echo_n "checking Compaq C++ compiler version... " >&6; } _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'` _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'` if test "$_compaqcxx_major" != "V6"; then - { echo "$as_me:$LINENO: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 -echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 +$as_echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi -echo "$as_me:$LINENO: checking exception type" >&5 -echo $ECHO_N "checking exception type... $ECHO_C" >&6 -ac_ext=cc +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking exception type" >&5 +$as_echo_n "checking exception type... " >&6; } +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -9510,11 +9580,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$WITH_MINGWIN" = "yes"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -9529,42 +9595,18 @@ _Unwind_SjLj_RaiseException() return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : exceptions_type="sjlj" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -exceptions_type="dwarf2" + exceptions_type="dwarf2" fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $exceptions_type" >&5 -echo "${ECHO_T}$exceptions_type" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $exceptions_type" >&5 +$as_echo "$exceptions_type" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9577,8 +9619,8 @@ EXCEPTIONS="$exceptions_type" if test "$_os" = "SunOS"; then _temp=`showrev -p | $AWK -F" " '{ print $2 }'` if test "$_os_release" = "7"; then - echo "$as_me:$LINENO: checking for patch 106327-06 or greater" >&5 -echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 106327-06 or greater" >&5 +$as_echo_n "checking for patch 106327-06 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'` _patch="false" for i in $_temp @@ -9592,15 +9634,15 @@ echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 -echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn fi - echo "$as_me:$LINENO: checking for patch 106950-11 or greater" >&5 -echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 106950-11 or greater" >&5 +$as_echo_n "checking for patch 106950-11 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'` _patch="false" for i in $_temp @@ -9614,17 +9656,17 @@ echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 -echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn fi else if test "$_os_release" = "6"; then - echo "$as_me:$LINENO: checking for patch 105591-09 or greater" >&5 -echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 105591-09 or greater" >&5 +$as_echo_n "checking for patch 105591-09 or greater... " >&6; } _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'` _patch="false" for i in $_temp @@ -9638,15 +9680,15 @@ echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 -echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 +$as_echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn fi - echo "$as_me:$LINENO: checking for patch 107733-08 or greater" >&5 -echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 107733-08 or greater" >&5 +$as_echo_n "checking for patch 107733-08 or greater... " >&6; } _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'` _patch="false" for i in $_temp @@ -9660,19 +9702,19 @@ echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 -echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 +$as_echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn fi fi fi fi - echo "$as_me:$LINENO: checking what the default STL should be" >&5 -echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what the default STL should be" >&5 +$as_echo_n "checking what the default STL should be... " >&6; } DEFAULT_TO_STLPORT="no" if test "$_os" = "Linux"; then case "$build_cpu" in @@ -9693,134 +9735,100 @@ echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 DEFAULT_TO_STLPORT="yes" fi if test "$DEFAULT_TO_STLPORT" = "yes"; then - echo "$as_me:$LINENO: result: stlport" >&5 -echo "${ECHO_T}stlport" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: stlport" >&5 +$as_echo "stlport" >&6; } else - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5 +$as_echo "system" >&6; } fi if test "$WITH_STLPORT" = "auto"; then WITH_STLPORT=$DEFAULT_TO_STLPORT fi - echo "$as_me:$LINENO: checking for STL providing headers" >&5 -echo $ECHO_N "checking for STL providing headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STL providing headers" >&5 +$as_echo_n "checking for STL providing headers... " >&6; } STLPORT4="" USE_SYSTEM_STL="" if test "$WITH_STLPORT" = "yes"; then - echo "$as_me:$LINENO: result: using internal stlport." >&5 -echo "${ECHO_T}using internal stlport." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using internal stlport." >&5 +$as_echo "using internal stlport." >&6; } if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi elif test "$WITH_STLPORT" = "no"; then - echo "$as_me:$LINENO: result: using system STL" >&5 -echo "${ECHO_T}using system STL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using system STL" >&5 +$as_echo "using system STL" >&6; } USE_SYSTEM_STL="YES" if test "$DEFAULT_TO_STLPORT" != "no"; then - { echo "$as_me:$LINENO: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} echo "using system STL. Warning, breaks your ABI compatability!" >>warn fi else STLPORT4=$WITH_STLPORT if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $STLPORT4/stlport/hash_map _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi +if ac_fn_c_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport headers not found." "$LINENO" 5 fi rm -f conftest.err conftest.$ac_ext else if test -f "$STLPORT4/stlport/hash_map"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport headers not found." "$LINENO" 5 fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - echo "$as_me:$LINENO: checking for STLport libraries" >&5 -echo $ECHO_N "checking for STLport libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STLport libraries" >&5 +$as_echo_n "checking for STLport libraries... " >&6; } if test "$_os" = "SunOS"; then if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi elif test "$_os" = "Darwin"; then if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.dylib"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi fi fi if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi fi @@ -9836,15 +9844,11 @@ fi if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking whether $CC supports -fvisibility=hidden" >&5 -echo $ECHO_N "checking whether $CC supports -fvisibility=hidden... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fvisibility=hidden" >&5 +$as_echo_n "checking whether $CC supports -fvisibility=hidden... " >&6; } save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -fvisibility=hidden" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9855,72 +9859,47 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_GCC_VISIBILITY_FEATURE=TRUE -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$save_CFLAGS if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi # =================================================================== # use --ccache-skip? # =================================================================== -echo "$as_me:$LINENO: checking whether we are allowed and able to use --ccache-skip" >&5 -echo $ECHO_N "checking whether we are allowed and able to use --ccache-skip... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are allowed and able to use --ccache-skip" >&5 +$as_echo_n "checking whether we are allowed and able to use --ccache-skip... " >&6; } if test "$_os" != "Darwin" ; then - echo "$as_me:$LINENO: result: only used on Mac currently, skipping" >&5 -echo "${ECHO_T}only used on Mac currently, skipping" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: only used on Mac currently, skipping" >&5 +$as_echo "only used on Mac currently, skipping" >&6; } elif test "$enable_ccache_skip" = "no" ; then - echo "$as_me:$LINENO: result: no - diabled explicitly" >&5 -echo "${ECHO_T}no - diabled explicitly" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - diabled explicitly" >&5 +$as_echo "no - diabled explicitly" >&6; } elif test "$enable_ccache_skip" = "yes" ; then - echo "$as_me:$LINENO: result: yes - enabled explicitly, skipping checks" >&5 -echo "${ECHO_T}yes - enabled explicitly, skipping checks" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - enabled explicitly, skipping checks" >&5 +$as_echo "yes - enabled explicitly, skipping checks" >&6; } USE_CCACHE=YES elif test "$enable_ccache_skip" = "auto" ; then # checking for ccache presence/version - echo "$as_me:$LINENO: result: probing..." >&5 -echo "${ECHO_T}probing..." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: probing..." >&5 +$as_echo "probing..." >&6; } # Extract the first word of "ccache", so it can be a program name with args. set dummy ccache; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CCACHE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CCACHE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CCACHE in [\\/]* | ?:[\\/]*) @@ -9932,43 +9911,44 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CCACHE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_CCACHE" && ac_cv_path_CCACHE="not_found" ;; esac fi CCACHE=$ac_cv_path_CCACHE - if test -n "$CCACHE"; then - echo "$as_me:$LINENO: result: $CCACHE" >&5 -echo "${ECHO_T}$CCACHE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCACHE" >&5 +$as_echo "$CCACHE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$CCACHE" = "not_found" ; then - { echo "$as_me:$LINENO: not enabling --ccache-skip (ccache not found)" >&5 -echo "$as_me: not enabling --ccache-skip (ccache not found)" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: not enabling --ccache-skip (ccache not found)" >&5 +$as_echo "$as_me: not enabling --ccache-skip (ccache not found)" >&6;} else # check ccache version - echo "$as_me:$LINENO: checking whether version of ccache is suitable" >&5 -echo $ECHO_N "checking whether version of ccache is suitable... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether version of ccache is suitable" >&5 +$as_echo_n "checking whether version of ccache is suitable... " >&6; } CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'` if test "$CCACHE_VERSION" = "2.4_OOo"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking whether ccache is actually used for the build" >&5 -echo $ECHO_N "checking whether ccache is actually used for the build... $ECHO_C" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ccache is actually used for the build" >&5 +$as_echo_n "checking whether ccache is actually used for the build... " >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -9976,11 +9956,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS --ccache-skip -O2" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9991,44 +9967,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : use_ccache=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -use_ccache=no + use_ccache=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $use_ccache = yes ; then - echo "$as_me:$LINENO: result: yes, will enable --ccache-skip" >&5 -echo "${ECHO_T}yes, will enable --ccache-skip" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, will enable --ccache-skip" >&5 +$as_echo "yes, will enable --ccache-skip" >&6; } USE_CCACHE=YES else - echo "$as_me:$LINENO: result: no, will not enable --ccache-skip" >&5 -echo "${ECHO_T}no, will not enable --ccache-skip" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, will not enable --ccache-skip" >&5 +$as_echo "no, will not enable --ccache-skip" >&6; } fi CXXFLAGS=$save_CXXFLAGS ac_ext=c @@ -10038,33 +9990,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { echo "$as_me:$LINENO: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&5 -echo "$as_me: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&5 +$as_echo "$as_me: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&6;} fi fi else - { { echo "$as_me:$LINENO: error: invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" >&5 -echo "$as_me: error: invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" "$LINENO" 5 fi if test "$USE_SYSTEM_STL" = "YES"; then - echo "$as_me:$LINENO: checking if hash_map will be in __gnu_cxx namespace" >&5 -echo $ECHO_N "checking if hash_map will be in __gnu_cxx namespace... $ECHO_C" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if hash_map will be in __gnu_cxx namespace" >&5 +$as_echo_n "checking if hash_map will be in __gnu_cxx namespace... " >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using namespace __gnu_cxx; @@ -10077,72 +10023,42 @@ hash_map t; return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_cxx_have_ext_hash_map=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_cxx_have_ext_hash_map=no + ac_cv_cxx_have_ext_hash_map=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_cxx_have_ext_hash_map" = "no"; then - { { echo "$as_me:$LINENO: error: Can't find hash_map. Try with --with-stlport" >&5 -echo "$as_me: error: Can't find hash_map. Try with --with-stlport" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Can't find hash_map. Try with --with-stlport" "$LINENO" 5 else - echo "$as_me:$LINENO: result: $ac_cv_cxx_have_ext_hash_map" >&5 -echo "${ECHO_T}$ac_cv_cxx_have_ext_hash_map" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_ext_hash_map" >&5 +$as_echo "$ac_cv_cxx_have_ext_hash_map" >&6; } fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: checking if STL headers are visibility safe" >&5 -echo $ECHO_N "checking if STL headers are visibility safe... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if STL headers are visibility safe" >&5 +$as_echo_n "checking if STL headers are visibility safe... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "visibility push" >/dev/null 2>&1; then + $EGREP "visibility push" >/dev/null 2>&1; then : stlvisok=yes else stlvisok=no fi rm -f conftest* - echo "$as_me:$LINENO: result: $stlvisok" >&5 -echo "${ECHO_T}$stlvisok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $stlvisok" >&5 +$as_echo "$stlvisok" >&6; } if test "$stlvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10152,13 +10068,9 @@ echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling v sharedlink_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared" - echo "$as_me:$LINENO: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 -echo $ECHO_N "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 +$as_echo_n "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using namespace std; @@ -10171,43 +10083,19 @@ istringstream strm( "test" ); return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : $EGREP -q unresolvable conftest.err; if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -gccvisok=no + gccvisok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $gccvisok" >&5 -echo "${ECHO_T}$gccvisok" >&6 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gccvisok" >&5 +$as_echo "$gccvisok" >&6; } if test "$gccvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10216,8 +10104,8 @@ echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabli fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 -echo $ECHO_N "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 +$as_echo_n "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... " >&6; } cat >visibility.cxx <<_ACEOF #pragma GCC visibility push(hidden) struct __attribute__ ((visibility ("default"))) TestStruct { @@ -10245,11 +10133,11 @@ _ACEOF fi rm -f visibility.s - echo "$as_me:$LINENO: result: $gccvisbroken" >&5 -echo "${ECHO_T}$gccvisbroken" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gccvisbroken" >&5 +$as_echo "$gccvisbroken" >&6; } if test "$gccvisbroken" = "yes"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10265,112 +10153,20 @@ fi -echo "$as_me:$LINENO: checking which memory allocator to use" >&5 -echo $ECHO_N "checking which memory allocator to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which memory allocator to use" >&5 +$as_echo_n "checking which memory allocator to use... " >&6; } if test "$with_alloc" = "system"; then - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5 +$as_echo "system" >&6; } ALLOC="SYS_ALLOC"; - - - - -for ac_func in malloc realloc calloc free -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then + for ac_func in malloc realloc calloc free +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -10378,79 +10174,48 @@ done fi if test "$with_alloc" = "tcmalloc"; then - echo "$as_me:$LINENO: result: tcmalloc" >&5 -echo "${ECHO_T}tcmalloc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: tcmalloc" >&5 +$as_echo "tcmalloc" >&6; } if ! echo $build_cpu | grep -E 'i[3456]86' 2>/dev/null >/dev/null; then - { { echo "$as_me:$LINENO: error: tcmalloc only available/usable on ix86" >&5 -echo "$as_me: error: tcmalloc only available/usable on ix86" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "tcmalloc only available/usable on ix86" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for malloc in -ltcmalloc" >&5 -echo $ECHO_N "checking for malloc in -ltcmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_tcmalloc_malloc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for malloc in -ltcmalloc" >&5 +$as_echo_n "checking for malloc in -ltcmalloc... " >&6; } +if test "${ac_cv_lib_tcmalloc_malloc+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltcmalloc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char malloc (); int main () { -malloc (); +return malloc (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_tcmalloc_malloc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_tcmalloc_malloc=no + ac_cv_lib_tcmalloc_malloc=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_tcmalloc_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_tcmalloc_malloc" >&6 -if test $ac_cv_lib_tcmalloc_malloc = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tcmalloc_malloc" >&5 +$as_echo "$ac_cv_lib_tcmalloc_malloc" >&6; } +if test "x$ac_cv_lib_tcmalloc_malloc" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBTCMALLOC 1 _ACEOF @@ -10458,46 +10223,44 @@ _ACEOF LIBS="-ltcmalloc $LIBS" else - { { echo "$as_me:$LINENO: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&5 -echo "$as_me: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "tcmalloc not found or functional. Install the Google Profiling Tools" "$LINENO" 5 fi ALLOC="TCMALLOC"; fi if test "$with_alloc" = "internal" -o -z "$with_alloc"; then - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } fi -echo "$as_me:$LINENO: checking whether to add custom build version" >&5 -echo $ECHO_N "checking whether to add custom build version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to add custom build version" >&5 +$as_echo_n "checking whether to add custom build version... " >&6; } if test "z$with_build_version" != "z"; then BUILD_VER_STRING=$with_build_version - echo "$as_me:$LINENO: result: yes, $BUILD_VER_STRING" >&5 -echo "${ECHO_T}yes, $BUILD_VER_STRING" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $BUILD_VER_STRING" >&5 +$as_echo "yes, $BUILD_VER_STRING" >&6; } else BUILD_VER_STRING= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build with Java support" >&5 -echo $ECHO_N "checking whether to build with Java support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with Java support" >&5 +$as_echo_n "checking whether to build with Java support... " >&6; } if test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SOLAR_JAVA="TRUE" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SOLAR_JAVA="" - { echo "$as_me:$LINENO: WARNING: building without java will mean some features will not be available" >&5 -echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: building without java will mean some features will not be available" >&5 +$as_echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} echo "building without java will mean some features will not be available" >>warn fi @@ -10524,10 +10287,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$WITH_JAVA", so it can be a program name with args. set dummy $WITH_JAVA; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVAINTERPRETER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVAINTERPRETER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVAINTERPRETER in [\\/]* | ?:[\\/]*) @@ -10539,36 +10302,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAINTERPRETER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVAINTERPRETER=$ac_cv_path_JAVAINTERPRETER - if test -n "$JAVAINTERPRETER"; then - echo "$as_me:$LINENO: result: $JAVAINTERPRETER" >&5 -echo "${ECHO_T}$JAVAINTERPRETER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAINTERPRETER" >&5 +$as_echo "$JAVAINTERPRETER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _java_path="$with_jdk_home/bin/$WITH_JAVA" if test -x "$_java_path"; then JAVAINTERPRETER=$_java_path else - { { echo "$as_me:$LINENO: error: $_java_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_java_path not found set with_jdk_home" "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then @@ -10578,28 +10340,26 @@ echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"` JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"` elif test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking whether to pass -d32 to Java interpreter" >&5 -echo $ECHO_N "checking whether to pass -d32 to Java interpreter... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to pass -d32 to Java interpreter" >&5 +$as_echo_n "checking whether to pass -d32 to Java interpreter... " >&6; } if "$JAVAINTERPRETER" -d32 >&5 2>&5; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } JAVAIFLAGS=-d32 else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi fi if test "$SOLAR_JAVA" != ""; then _gij_longver=0 - echo "$as_me:$LINENO: checking the installed JDK" >&5 -echo $ECHO_N "checking the installed JDK... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the installed JDK" >&5 +$as_echo_n "checking the installed JDK... " >&6; } if test -n "$JAVAINTERPRETER"; then if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No valid check available. Please check the block for your desired java in configure.in" "$LINENO" 5 # dnl Kaffe specific tests # KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP " Version:" | $SED -r "s/.* Version: ([[0-9\.]]*).*/\1/"` # if test -z "$KAFFE_VER"; then @@ -10619,15 +10379,13 @@ echo "$as_me: error: No valid check available. Please check the block for your d # JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then JDK=gcj - echo "$as_me:$LINENO: result: checked (gcj)" >&5 -echo "${ECHO_T}checked (gcj)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (gcj)" >&5 +$as_echo "checked (gcj)" >&6; } _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "BEA"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No valid check available. Please check the block for your desired java in configure.in" "$LINENO" 5 # JDK=bea # # dnl BEA JDK specific tests @@ -10657,20 +10415,15 @@ echo "$as_me: error: No valid check available. Please check the block for your d _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then - { { echo "$as_me:$LINENO: error: IBM JDK is too old, you need at least 1.5" >&5 -echo "$as_me: error: IBM JDK is too old, you need at least 1.5" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "IBM JDK is too old, you need at least 1.5" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (IBM JDK $_jdk)" >&5 -echo "${ECHO_T}checked (IBM JDK $_jdk)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (IBM JDK $_jdk)" >&5 +$as_echo "checked (IBM JDK $_jdk)" >&6; } if test "$with_jdk_home" = ""; then - { { echo "$as_me:$LINENO: error: In order to successfully build OpenOffice.org using the IBM JDK, -you must use the \"--with-jdk-home\" configure option explicitly" >&5 -echo "$as_me: error: In order to successfully build OpenOffice.org using the IBM JDK, -you must use the \"--with-jdk-home\" configure option explicitly" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "In order to successfully build OpenOffice.org using the IBM JDK, +you must use the \"--with-jdk-home\" configure option explicitly" "$LINENO" 5 fi JAVA_HOME=$with_jdk_home @@ -10682,12 +10435,10 @@ you must use the \"--with-jdk-home\" configure option explicitly" >&2;} _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then - { { echo "$as_me:$LINENO: error: JDK is too old, you need at least 1.5" >&5 -echo "$as_me: error: JDK is too old, you need at least 1.5" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "JDK is too old, you need at least 1.5" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (JDK $_jdk)" >&5 -echo "${ECHO_T}checked (JDK $_jdk)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (JDK $_jdk)" >&5 +$as_echo "checked (JDK $_jdk)" >&6; } JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` if test "$_os" = "WINNT"; then JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[eE][xX][eE]$,,"` @@ -10697,9 +10448,7 @@ echo "${ECHO_T}checked (JDK $_jdk)" >&6 fi fi else - { { echo "$as_me:$LINENO: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&5 -echo "$as_me: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "JAVA not found. You need at least jdk-1.5, or gcj-4" "$LINENO" 5 fi else JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME @@ -10719,10 +10468,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$javacompiler", so it can be a program name with args. set dummy $javacompiler; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVACOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVACOMPILER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVACOMPILER in [\\/]* | ?:[\\/]*) @@ -10734,28 +10483,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVACOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVACOMPILER=$ac_cv_path_JAVACOMPILER - if test -n "$JAVACOMPILER"; then - echo "$as_me:$LINENO: result: $JAVACOMPILER" >&5 -echo "${ECHO_T}$JAVACOMPILER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVACOMPILER" >&5 +$as_echo "$JAVACOMPILER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _javac_path="$with_jdk_home/bin/$javacompiler" if test -x "$_javac_path"; then @@ -10763,9 +10513,7 @@ fi fi fi if test -z "$JAVACOMPILER"; then - { { echo "$as_me:$LINENO: error: $javacompiler not found set with_jdk_home" >&5 -echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$javacompiler not found set with_jdk_home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then @@ -10781,11 +10529,11 @@ echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} fi if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then - echo "$as_me:$LINENO: checking re-checking JDK" >&5 -echo $ECHO_N "checking re-checking JDK... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking re-checking JDK" >&5 +$as_echo_n "checking re-checking JDK... " >&6; } JDK=gcj - echo "$as_me:$LINENO: result: checked (ecj)" >&5 -echo "${ECHO_T}checked (ecj)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (ecj)" >&5 +$as_echo "checked (ecj)" >&6; } #TODO: what's to do here? some switch to do 1.5 compiling? JAVAFLAGS="-source 1.5 -target 1.5" _gij_longver="40200" @@ -10804,10 +10552,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVADOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -10819,28 +10567,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _javadoc_path="$with_jdk_home/bin/javadoc" if test "$_os" = "OS2"; then @@ -10853,10 +10602,10 @@ fi else # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVADOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -10868,34 +10617,33 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi fi if test -z "$JAVADOC"; then - { { echo "$as_me:$LINENO: error: $_javadoc_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_javadoc_path not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_javadoc_path not found set with_jdk_home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then @@ -10927,37 +10675,33 @@ class findhome } } _ACEOF - echo "$as_me:$LINENO: checking if javac works" >&5 -echo $ECHO_N "checking if javac works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if javac works" >&5 +$as_echo_n "checking if javac works... " >&6; } javac_cmd="$JAVACOMPILER findhome.java 1>&2" - { (eval echo "$as_me:$LINENO: \"$javac_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$javac_cmd\""; } >&5 (eval $javac_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./findhome.class ; then - echo "$as_me:$LINENO: result: javac works" >&5 -echo "${ECHO_T}javac works" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: javac works" >&5 +$as_echo "javac works" >&6; } else echo "configure: javac test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: javac does not work - java projects will not build!" >&5 -echo "$as_me: error: javac does not work - java projects will not build!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "javac does not work - java projects will not build!" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking if gij knows its java.home" >&5 -echo $ECHO_N "checking if gij knows its java.home... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gij knows its java.home" >&5 +$as_echo_n "checking if gij knows its java.home... " >&6; } JAVA_HOME=`$JAVAINTERPRETER findhome` if test $? = 0 && test "$JAVA_HOME" != "" ; then - echo "$as_me:$LINENO: result: $JAVA_HOME" >&5 -echo "${ECHO_T}$JAVA_HOME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_HOME" >&5 +$as_echo "$JAVA_HOME" >&6; } else echo "configure: java test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: gij does not know its java.home - use --with-jdk-home" >&5 -echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gij does not know its java.home - use --with-jdk-home" "$LINENO" 5 fi else JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$WITH_JAVA,,p"` @@ -10979,10 +10723,10 @@ echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2; JAVA_HOME=$(readlink $JAVACOMPILER) else # else warn - { echo "$as_me:$LINENO: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 -echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} - { echo "$as_me:$LINENO: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 -echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 +$as_echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn fi @@ -11004,12 +10748,12 @@ echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME JAVA_HOME_OK="NO" fi if test "$JAVA_HOME_OK" = "NO"; then - { echo "$as_me:$LINENO: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 -echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} - { echo "$as_me:$LINENO: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 -echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} - { echo "$as_me:$LINENO: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 -echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 +$as_echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 +$as_echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn @@ -11022,524 +10766,164 @@ fi AWTLIB= if test "$SOLAR_JAVA" != ""; then - echo "$as_me:$LINENO: checking for jawt lib name" >&5 -echo $ECHO_N "checking for jawt lib name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jawt lib name" >&5 +$as_echo_n "checking for jawt lib name... " >&6; } if test "$JDK" = "gcj"; then save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS -I$JAVA_HOME/include" LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj" exec 6>/dev/null # no output - if test "${ac_cv_header_jni_h+set}" = set; then - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jni_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default" +if test "x$ac_cv_header_jni_h" = x""yes; then : -fi -if test $ac_cv_header_jni_h = yes; then - : else - { { echo "$as_me:$LINENO: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&5 -echo "$as_me: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lgcjawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lgcjawt... $ECHO_C" >&6 -if test "${ac_cv_lib_gcjawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -lgcjawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lgcjawt... " >&6; } +if test "${ac_cv_lib_gcjawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgcjawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gcjawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_gcjawt_JAWT_GetAWT=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_gcjawt_JAWT_GetAWT = yes; then - AWTLIB="-lgcjawt -lgcj" -fi - - exec 6>&1 # output on again - CFLAGS=$save_CFLAGS - LDFLAGS=$save_LDFLAGS - fi - # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols. - # A workaround is to link also against libpmawt.so - if test "$JDK" = "ibm" ; then - save_CFLAGS=$CFLAGS - save_LDFLAGS=$LDFLAGS - save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH - CFLAGS="$CFLAGS -I$JAVA_HOME/include" - LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin" - LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH - export LD_LIBRARY_PATH - exec 6>/dev/null # no output - if test "${ac_cv_header_jni_h+set}" = set; then - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + ac_cv_lib_gcjawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jni_h=$ac_header_preproc +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_gcjawt_JAWT_GetAWT" = x""yes; then : + AWTLIB="-lgcjawt -lgcj" fi -if test $ac_cv_header_jni_h = yes; then - : + + exec 6>&1 # output on again + CFLAGS=$save_CFLAGS + LDFLAGS=$save_LDFLAGS + fi + # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols. + # A workaround is to link also against libpmawt.so + if test "$JDK" = "ibm" ; then + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH + CFLAGS="$CFLAGS -I$JAVA_HOME/include" + LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin" + LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + exec 6>/dev/null # no output + ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default" +if test "x$ac_cv_header_jni_h" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: jni.h could not be found." >&5 -echo "$as_me: error: jni.h could not be found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jni.h could not be found." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -ljawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -ljawt... $ECHO_C" >&6 -if test "${ac_cv_lib_jawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -ljawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -ljawt... " >&6; } +if test "${ac_cv_lib_jawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_jawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_jawt_JAWT_GetAWT=no + ac_cv_lib_jawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_jawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_jawt_JAWT_GetAWT = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_jawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_jawt_JAWT_GetAWT" = x""yes; then : AWTLIB="-ljawt" fi if test -z "$AWTLIB"; then LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt" - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lmawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lmawt... $ECHO_C" >&6 -if test "${ac_cv_lib_mawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -lmawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lmawt... " >&6; } +if test "${ac_cv_lib_mawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mawt_JAWT_GetAWT=no + ac_cv_lib_mawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_mawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_mawt_JAWT_GetAWT = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_mawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_mawt_JAWT_GetAWT" = x""yes; then : AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt" fi @@ -11552,24 +10936,24 @@ fi if test -z "$AWTLIB"; then AWTLIB=-ljawt fi - echo "$as_me:$LINENO: result: $AWTLIB" >&5 -echo "${ECHO_T}$AWTLIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWTLIB" >&5 +$as_echo "$AWTLIB" >&6; } fi if test "$SOLAR_JAVA" != ""; then - echo "$as_me:$LINENO: checking whether to enable gcj aot compilation" >&5 -echo $ECHO_N "checking whether to enable gcj aot compilation... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable gcj aot compilation" >&5 +$as_echo_n "checking whether to enable gcj aot compilation... " >&6; } if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test `echo $WITH_JAVA | grep -c "gij"` -eq 0; then gcjaot="gcj" else gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"` fi - echo "$as_me:$LINENO: result: $gcjaot" >&5 -echo "${ECHO_T}$gcjaot" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcjaot" >&5 +$as_echo "$gcjaot" >&6; } if test -n "$with_jdk_home"; then _javac_path="$with_jdk_home/bin/$gcjaot" if test -x "$_javac_path"; then @@ -11579,10 +10963,10 @@ echo "${ECHO_T}$gcjaot" >&6 if test -z "$JAVAAOTCOMPILER"; then # Extract the first word of "$gcjaot", so it can be a program name with args. set dummy $gcjaot; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVAAOTCOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVAAOTCOMPILER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVAAOTCOMPILER in [\\/]* | ?:[\\/]*) @@ -11594,36 +10978,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAAOTCOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVAAOTCOMPILER=$ac_cv_path_JAVAAOTCOMPILER - if test -n "$JAVAAOTCOMPILER"; then - echo "$as_me:$LINENO: result: $JAVAAOTCOMPILER" >&5 -echo "${ECHO_T}$JAVAAOTCOMPILER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAAOTCOMPILER" >&5 +$as_echo "$JAVAAOTCOMPILER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$JAVAAOTCOMPILER"; then - { echo "$as_me:$LINENO: WARNING: $gcjaot not found, set with_jdk_home" >&5 -echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $gcjaot not found, set with_jdk_home" >&5 +$as_echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -11640,10 +11025,10 @@ fi # Extract the first word of "dmake", so it can be a program name with args. set dummy dmake; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_DMAKE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DMAKE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $DMAKE in [\\/]* | ?:[\\/]*) @@ -11655,35 +11040,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DMAKE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_DMAKE" && ac_cv_path_DMAKE="no" ;; esac fi DMAKE=$ac_cv_path_DMAKE - if test -n "$DMAKE"; then - echo "$as_me:$LINENO: result: $DMAKE" >&5 -echo "${ECHO_T}$DMAKE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DMAKE" >&5 +$as_echo "$DMAKE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DMAKE" = "no"; then BUILD_DMAKE=YES echo "dmake will be built on ./bootstrap" else - echo "$as_me:$LINENO: checking whether the found dmake is the right dmake" >&5 -echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the found dmake is the right dmake" >&5 +$as_echo_n "checking whether the found dmake is the right dmake... " >&6; } # we need to find out whether that dmake we found is "our" dmake # or the dmake from Sun's SunStudio Compiler which is something # different @@ -11692,48 +11078,48 @@ echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >& $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null if test $? -eq 0; then BUILD_DMAKE=NO - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking the dmake version" >&5 -echo $ECHO_N "checking the dmake version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the dmake version" >&5 +$as_echo_n "checking the dmake version... " >&6; } DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } else - echo "$as_me:$LINENO: result: too old. >= 4.11 is needed" >&5 -echo "${ECHO_T}too old. >= 4.11 is needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: too old. >= 4.11 is needed" >&5 +$as_echo "too old. >= 4.11 is needed" >&6; } echo "A newer dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } echo "dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi fi -echo "$as_me:$LINENO: checking whether to enable EPM for packing" >&5 -echo $ECHO_N "checking whether to enable EPM for packing... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable EPM for packing" >&5 +$as_echo_n "checking whether to enable EPM for packing... " >&6; } if test "$enable_epm" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" != "WINNT"; then if test -n "$with_epm"; then EPM=$with_epm else # Extract the first word of "epm", so it can be a program name with args. set dummy epm; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_EPM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_EPM+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $EPM in [\\/]* | ?:[\\/]*) @@ -11745,29 +11131,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_EPM="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_EPM" && ac_cv_path_EPM="no" ;; esac fi EPM=$ac_cv_path_EPM - if test -n "$EPM"; then - echo "$as_me:$LINENO: result: $EPM" >&5 -echo "${ECHO_T}$EPM" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EPM" >&5 +$as_echo "$EPM" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$EPM" = "no" || test "$EPM" = "internal"; then echo "EPM will be built." @@ -11775,44 +11162,38 @@ fi BUILD_TYPE="$BUILD_TYPE EPM" else # Gentoo has some epm which is something different... - echo "$as_me:$LINENO: checking whether the found epm is the right epm" >&5 -echo $ECHO_N "checking whether the found epm is the right epm... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the found epm is the right epm" >&5 +$as_echo_n "checking whether the found epm is the right epm... " >&6; } if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&5 -echo "$as_me: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking epm version" >&5 -echo $ECHO_N "checking epm version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking epm version" >&5 +$as_echo_n "checking epm version... " >&6; } EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//` if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \ test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then - echo "$as_me:$LINENO: result: OK, >= 3.7" >&5 -echo "${ECHO_T}OK, >= 3.7" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 3.7" >&5 +$as_echo "OK, >= 3.7" >&6; } BUILD_EPM=NO if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking which PackageMaker EPM thinks to use" >&5 -echo $ECHO_N "checking which PackageMaker EPM thinks to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which PackageMaker EPM thinks to use" >&5 +$as_echo_n "checking which PackageMaker EPM thinks to use... " >&6; } _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1` if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" "$LINENO" 5 elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then - echo "$as_me:$LINENO: result: $_pm, ok" >&5 -echo "${ECHO_T}$_pm, ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_pm, ok" >&5 +$as_echo "$_pm, ok" >&6; } else # we never should get here, but go safe - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: too old. epm >= 3.7 is required." >&5 -echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: too old. epm >= 3.7 is required." >&5 +$as_echo "too old. epm >= 3.7 is required." >&6; } echo "EPM will be built." BUILD_EPM=YES BUILD_TYPE="$BUILD_TYPE EPM" @@ -11821,8 +11202,8 @@ echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 fi # test which package format to use - echo "$as_me:$LINENO: checking which package format to use" >&5 -echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which package format to use" >&5 +$as_echo_n "checking which package format to use... " >&6; } # defaults case "$_os" in @@ -11858,9 +11239,7 @@ echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 # we never should get here since we check the arciecture/os at the beginning, # but go sure... *) - { { echo "$as_me:$LINENO: error: unknown system" >&5 -echo "$as_me: error: unknown system" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "unknown system" "$LINENO" 5 esac if test -n "$with_package_format"; then for i in $with_package_format; do @@ -11868,25 +11247,7 @@ echo "$as_me: error: unknown system" >&2;} aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi) ;; *) - { { echo "$as_me:$LINENO: error: unsupported format $i. Supported by EPM are: -aix - AIX software distribution -bsd - FreeBSD, NetBSD, or OpenBSD software distribution -depot or swinstall - HP-UX software distribution -deb - Debian software distribution -inst or tardist - IRIX software distribution -osx - MacOS X software distribution -pkg - Solaris software distribution -rpm - RedHat software distribution -setld - Tru64 (setld) software distribution -native - \"Native\" software distribution for the platform -portable - Portable software distribution -OOo additionally supports: -archive - .tar.gz or .zip -dmg - Mac OS X .dmg -installed - installation tree -msi - Windows .msi - " >&5 -echo "$as_me: error: unsupported format $i. Supported by EPM are: + as_fn_error "unsupported format $i. Supported by EPM are: aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution depot or swinstall - HP-UX software distribution @@ -11903,18 +11264,17 @@ archive - .tar.gz or .zip dmg - Mac OS X .dmg installed - installation tree msi - Windows .msi - " >&2;} - { (exit 1); exit 1; }; } + " "$LINENO" 5 ;; esac done PKGFORMAT="$with_package_format" fi - echo "$as_me:$LINENO: result: $PKGFORMAT" >&5 -echo "${ECHO_T}$PKGFORMAT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGFORMAT" >&5 +$as_echo "$PKGFORMAT" >&6; } if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then - echo "$as_me:$LINENO: checking for rpm" >&5 -echo $ECHO_N "checking for rpm... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpm" >&5 +$as_echo_n "checking for rpm... " >&6; } for a in "$RPM" rpmbuild rpm; do $a --usage >/dev/null 2> /dev/null if test $? -eq 0; then @@ -11929,22 +11289,20 @@ echo $ECHO_N "checking for rpm... $ECHO_C" >&6 fi done if test -z "$RPM" ; then - { { echo "$as_me:$LINENO: error: not found" >&5 -echo "$as_me: error: not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found" "$LINENO" 5 else RPM_PATH=`which $RPM` - echo "$as_me:$LINENO: result: $RPM_PATH" >&5 -echo "${ECHO_T}$RPM_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RPM_PATH" >&5 +$as_echo "$RPM_PATH" >&6; } fi fi if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then # Extract the first word of "dpkg", so it can be a program name with args. set dummy dpkg; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_DPKG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DPKG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $DPKG in [\\/]* | ?:[\\/]*) @@ -11956,81 +11314,76 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DPKG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_DPKG" && ac_cv_path_DPKG="no" ;; esac fi DPKG=$ac_cv_path_DPKG - if test -n "$DPKG"; then - echo "$as_me:$LINENO: result: $DPKG" >&5 -echo "${ECHO_T}$DPKG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DPKG" >&5 +$as_echo "$DPKG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DPKG" = "no"; then - { { echo "$as_me:$LINENO: error: dpkg needed for deb creation. Install dpkg." >&5 -echo "$as_me: error: dpkg needed for deb creation. Install dpkg." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "dpkg needed for deb creation. Install dpkg." "$LINENO" 5 fi fi if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking for PackageMaker availability" >&5 -echo $ECHO_N "checking for PackageMaker availability... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PackageMaker availability" >&5 +$as_echo_n "checking for PackageMaker availability... " >&6; } if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then - { { echo "$as_me:$LINENO: error: not installed. Please install Apples Dev Tools" >&5 -echo "$as_me: error: not installed. Please install Apples Dev Tools" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not installed. Please install Apples Dev Tools" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi else - { { echo "$as_me:$LINENO: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&5 -echo "$as_me: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "PackageMaker needed to build OSX packages and you are not on OSX..." "$LINENO" 5 fi fi if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \ echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then if test "$EPM" != "no" && test "$EPM" != "internal"; then if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then - echo "$as_me:$LINENO: checking whether epm is patched for OOos needs" >&5 -echo $ECHO_N "checking whether epm is patched for OOos needs... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether epm is patched for OOos needs" >&5 +$as_echo_n "checking whether epm is patched for OOos needs... " >&6; } if grep "Patched for OpenOffice.org" $EPM >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if echo "$PKGFORMAT" | grep -q rpm; then _pt="rpm" - { echo "$as_me:$LINENO: WARNING: the rpms will need to be installed with --nodeps" >&5 -echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the rpms will need to be installed with --nodeps" >&5 +$as_echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} echo "the rpms will need to be installed with --nodeps" >> warn else _pt="pkg" fi - { echo "$as_me:$LINENO: WARNING: the ${_pt}s will not be relocateable" >&5 -echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the ${_pt}s will not be relocateable" >&5 +$as_echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} echo "the ${_pt}s will not be relocateable" >> warn - { echo "$as_me:$LINENO: WARNING: if you want to make sure installation without --nodeps and + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&5 -echo "$as_me: WARNING: if you want to make sure installation without --nodeps and +$as_echo "$as_me: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&2;} @@ -12041,10 +11394,10 @@ echo "$as_me: WARNING: if you want to make sure installation without --nodeps an if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then # Extract the first word of "pkgmk", so it can be a program name with args. set dummy pkgmk; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKGMK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKGMK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKGMK in [\\/]* | ?:[\\/]*) @@ -12056,33 +11409,32 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKGMK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKGMK" && ac_cv_path_PKGMK="no" ;; esac fi PKGMK=$ac_cv_path_PKGMK - if test -n "$PKGMK"; then - echo "$as_me:$LINENO: result: $PKGMK" >&5 -echo "${ECHO_T}$PKGMK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGMK" >&5 +$as_echo "$PKGMK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$PKGMK" = "no"; then - { { echo "$as_me:$LINENO: error: pkgmk needed for Solaris pkg creation. Install it." >&5 -echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "pkgmk needed for Solaris pkg creation. Install it." "$LINENO" 5 fi fi @@ -12091,18 +11443,18 @@ echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } EPM=NO fi # Extract the first word of "gperf", so it can be a program name with args. set dummy gperf; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GPERF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GPERF+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GPERF in [\\/]* | ?:[\\/]*) @@ -12114,82 +11466,74 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GPERF="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GPERF=$ac_cv_path_GPERF - if test -n "$GPERF"; then - echo "$as_me:$LINENO: result: $GPERF" >&5 -echo "${ECHO_T}$GPERF" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPERF" >&5 +$as_echo "$GPERF" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GPERF"; then - { { echo "$as_me:$LINENO: error: gperf not found but needed. Install it." >&5 -echo "$as_me: error: gperf not found but needed. Install it." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gperf not found but needed. Install it." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking gperf version" >&5 -echo $ECHO_N "checking gperf version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking gperf version" >&5 +$as_echo_n "checking gperf version... " >&6; } if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: too old, you need at least 3.0.0" >&5 -echo "$as_me: error: too old, you need at least 3.0.0" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old, you need at least 3.0.0" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking whether to build the ODK" >&5 -echo $ECHO_N "checking whether to build the ODK... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ODK" >&5 +$as_echo_n "checking whether to build the ODK... " >&6; } if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: checking for external/unowinreg/unowinreg.dll" >&5 -echo $ECHO_N "checking for external/unowinreg/unowinreg.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for external/unowinreg/unowinreg.dll" >&5 +$as_echo_n "checking for external/unowinreg/unowinreg.dll... " >&6; } if ! test -f "./external/unowinreg/unowinreg.dll"; then HAVE_UNOWINREG_DLL=no else HAVE_UNOWINREG_DLL=yes fi if test "$HAVE_UNOWINREG_DLL" = "yes"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } BUILD_UNOWINREG=NO else if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: result: not found, will be built" >&5 -echo "${ECHO_T}not found, will be built" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, will be built" >&5 +$as_echo "not found, will be built" >&6; } else - { echo "$as_me:$LINENO: WARNING: not found, will be cross-built using mingw32" >&5 -echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: not found, will be cross-built using mingw32" >&5 +$as_echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} fi BUILD_UNOWINREG=YES fi if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then - { { echo "$as_me:$LINENO: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. - Specify mingw32 g++ executable name with --with-mingwin. - Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and - put it into external/unowinreg" >&5 -echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. + as_fn_error "for rebuilding unowinreg.dll you need the mingw32 C++ compiler. Specify mingw32 g++ executable name with --with-mingwin. Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and - put it into external/unowinreg" >&2;} - { (exit 1); exit 1; }; } + put it into external/unowinreg" "$LINENO" 5 fi if echo "$WITH_MINGWIN" | $EGREP -q "/"; then if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi @@ -12197,10 +11541,10 @@ echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}$WITH_MINGWIN", so it can be a program name with args. set dummy ${ac_tool_prefix}$WITH_MINGWIN; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_MINGWCXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$MINGWCXX"; then ac_cv_prog_MINGWCXX="$MINGWCXX" # Let the user override the test. @@ -12210,35 +11554,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWCXX="${ac_tool_prefix}$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi MINGWCXX=$ac_cv_prog_MINGWCXX if test -n "$MINGWCXX"; then - echo "$as_me:$LINENO: result: $MINGWCXX" >&5 -echo "${ECHO_T}$MINGWCXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MINGWCXX" >&5 +$as_echo "$MINGWCXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWCXX"; then ac_ct_MINGWCXX=$MINGWCXX # Extract the first word of "$WITH_MINGWIN", so it can be a program name with args. set dummy $WITH_MINGWIN; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_MINGWCXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWCXX"; then ac_cv_prog_ac_ct_MINGWCXX="$ac_ct_MINGWCXX" # Let the user override the test. @@ -12248,47 +11594,53 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWCXX="$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWCXX" && ac_cv_prog_ac_ct_MINGWCXX="false" fi fi ac_ct_MINGWCXX=$ac_cv_prog_ac_ct_MINGWCXX if test -n "$ac_ct_MINGWCXX"; then - echo "$as_me:$LINENO: result: $ac_ct_MINGWCXX" >&5 -echo "${ECHO_T}$ac_ct_MINGWCXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MINGWCXX" >&5 +$as_echo "$ac_ct_MINGWCXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - MINGWCXX=$ac_ct_MINGWCXX + if test "x$ac_ct_MINGWCXX" = x; then + MINGWCXX="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MINGWCXX=$ac_ct_MINGWCXX + fi else MINGWCXX="$ac_cv_prog_MINGWCXX" fi fi if test "$MINGWCXX" = "false"; then - { { echo "$as_me:$LINENO: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&5 -echo "$as_me: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "specified MinGW32 C++ cross-compiler not found. Install it or correct name." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether we are using the MinGW32 cross C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the MinGW32 cross C++ compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the MinGW32 cross C++ compiler" >&5 +$as_echo_n "checking whether we are using the MinGW32 cross C++ compiler... " >&6; } if ! echo "`$MINGWCXX -dumpmachine`" | grep -q mingw32; then - { { echo "$as_me:$LINENO: error: no" >&5 -echo "$as_me: error: no" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi if echo "$WITH_MINGWIN" | $EGREP -q "/"; then if ! test -x "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`"; then MINGSTRIP=false; else MINGWSTRIP=$(basename $(echo $WITH_MINGWIN | $SED -e s/g++/strip/)); fi @@ -12296,10 +11648,10 @@ echo "${ECHO_T}yes" >&6 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy ${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_MINGWSTRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$MINGWSTRIP"; then ac_cv_prog_MINGWSTRIP="$MINGWSTRIP" # Let the user override the test. @@ -12309,35 +11661,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWSTRIP="${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi MINGWSTRIP=$ac_cv_prog_MINGWSTRIP if test -n "$MINGWSTRIP"; then - echo "$as_me:$LINENO: result: $MINGWSTRIP" >&5 -echo "${ECHO_T}$MINGWSTRIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MINGWSTRIP" >&5 +$as_echo "$MINGWSTRIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWSTRIP"; then ac_ct_MINGWSTRIP=$MINGWSTRIP # Extract the first word of "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy `echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_MINGWSTRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWSTRIP"; then ac_cv_prog_ac_ct_MINGWSTRIP="$ac_ct_MINGWSTRIP" # Let the user override the test. @@ -12347,39 +11701,47 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWSTRIP="`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWSTRIP" && ac_cv_prog_ac_ct_MINGWSTRIP="false" fi fi ac_ct_MINGWSTRIP=$ac_cv_prog_ac_ct_MINGWSTRIP if test -n "$ac_ct_MINGWSTRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_MINGWSTRIP" >&5 -echo "${ECHO_T}$ac_ct_MINGWSTRIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MINGWSTRIP" >&5 +$as_echo "$ac_ct_MINGWSTRIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - MINGWSTRIP=$ac_ct_MINGWSTRIP + if test "x$ac_ct_MINGWSTRIP" = x; then + MINGWSTRIP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MINGWSTRIP=$ac_ct_MINGWSTRIP + fi else MINGWSTRIP="$ac_cv_prog_MINGWSTRIP" fi fi if test "$MINGWSTRIP" = "false"; then - { { echo "$as_me:$LINENO: error: MinGW32 binutils needed. Install them." >&5 -echo "$as_me: error: MinGW32 binutils needed. Install them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "MinGW32 binutils needed. Install them." "$LINENO" 5 fi - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -12397,66 +11759,37 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # do not make sense here (and 'd make the check fail) save_LIBS=$LIBS LIBS="" - -echo "$as_me:$LINENO: checking for main in -lkernel32" >&5 -echo $ECHO_N "checking for main in -lkernel32... $ECHO_C" >&6 -if test "${ac_cv_lib_kernel32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 +$as_echo_n "checking for main in -lkernel32... " >&6; } +if test "${ac_cv_lib_kernel32_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_kernel32_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_kernel32_main=no + ac_cv_lib_kernel32_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_kernel32_main" >&6 -if test $ac_cv_lib_kernel32_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 +$as_echo "$ac_cv_lib_kernel32_main" >&6; } +if test "x$ac_cv_lib_kernel32_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBKERNEL32 1 _ACEOF @@ -12466,66 +11799,37 @@ _ACEOF fi ac_cv_lib_kernel32=ac_cv_lib_kernel32_main - -echo "$as_me:$LINENO: checking for main in -ladvapi32" >&5 -echo $ECHO_N "checking for main in -ladvapi32... $ECHO_C" >&6 -if test "${ac_cv_lib_advapi32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ladvapi32" >&5 +$as_echo_n "checking for main in -ladvapi32... " >&6; } +if test "${ac_cv_lib_advapi32_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ladvapi32 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_advapi32_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_advapi32_main=no + ac_cv_lib_advapi32_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_advapi32_main" >&6 -if test $ac_cv_lib_advapi32_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_advapi32_main" >&5 +$as_echo "$ac_cv_lib_advapi32_main" >&6; } +if test "x$ac_cv_lib_advapi32_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBADVAPI32 1 _ACEOF @@ -12535,149 +11839,11 @@ _ACEOF fi ac_cv_lib_advapi32=ac_cv_lib_advapi32_main - if test "${ac_cv_header_windows_h+set}" = set; then - echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 -if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking windows.h usability" >&5 -echo $ECHO_N "checking windows.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking windows.h presence" >&5 -echo $ECHO_N "checking windows.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: windows.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: windows.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: windows.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: windows.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: windows.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 -if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_windows_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" +if test "x$ac_cv_header_windows_h" = x""yes; then : -fi -if test $ac_cv_header_windows_h = yes; then - : else - { { echo "$as_me:$LINENO: error: windows.h missing" >&5 -echo "$as_me: error: windows.h missing" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "windows.h missing" "$LINENO" 5 fi @@ -12696,25 +11862,25 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi BUILD_TYPE="$BUILD_TYPE ODK" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } BUILD_UNOWINREG=NO fi -echo "$as_me:$LINENO: checking whether to build qadevOOo" >&5 -echo $ECHO_N "checking whether to build qadevOOo... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build qadevOOo" >&5 +$as_echo_n "checking whether to build qadevOOo... " >&6; } if test "z$enable_qadevooo" = "z" -o "$enable_qadevooo" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_QADEVOOO="YES" BUILD_TYPE="$BUILD_TYPE QADEVOOO" else BUILD_QADEVOOO="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -12722,28 +11888,28 @@ if test "$_os" = "Linux" -a -z "$with_system_stdlibs" -a -z "$with_system_libs"; if test -n "$checkforstdlibproblems"; then if test -f /etc/rpm/macros.prelink; then with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 +$as_echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn elif test "$GCC" = "yes" -a ! -e `$CC -print-file-name=libgcc_s.so.1`; then with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 +$as_echo "$as_me: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} echo "platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn fi fi fi -echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 -echo $ECHO_N "checking whether to provide libstdc++/libgcc_s in the installset... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to provide libstdc++/libgcc_s in the installset" >&5 +$as_echo_n "checking whether to provide libstdc++/libgcc_s in the installset... " >&6; } if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \ test "$with_system_stdlibs" != "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_STDLIBS=YES else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_STDLIBS=NO fi @@ -12751,690 +11917,189 @@ fi if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then with_system_zlib=yes fi -echo "$as_me:$LINENO: checking which zlib to use" >&5 -echo $ECHO_N "checking which zlib to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which zlib to use" >&5 +$as_echo_n "checking which zlib to use... " >&6; } if test -n "$with_system_zlib" -o -n "$with_system_libs" && \ test "$with_system_zlib" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ZLIB=YES - if test "${ac_cv_header_zlib_h+set}" = set; then - echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_zlib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = x""yes; then : -fi -if test $ac_cv_header_zlib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: zlib.h not found. install zlib" >&5 -echo "$as_me: error: zlib.h not found. install zlib" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "zlib.h not found. install zlib" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for deflate in -lz" >&5 -echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6 -if test "${ac_cv_lib_z_deflate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 +$as_echo_n "checking for deflate in -lz... " >&6; } +if test "${ac_cv_lib_z_deflate+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char deflate (); int main () { -deflate (); +return deflate (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_deflate=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_z_deflate=no + ac_cv_lib_z_deflate=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 -echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6 -if test $ac_cv_lib_z_deflate = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 +$as_echo "$ac_cv_lib_z_deflate" >&6; } +if test "x$ac_cv_lib_z_deflate" = x""yes; then : ZLIB=-lz else - { { echo "$as_me:$LINENO: error: zlib not found or functional" >&5 -echo "$as_me: error: zlib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "zlib not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ZLIB=NO BUILD_TYPE="$BUILD_TYPE ZLIB" fi -echo "$as_me:$LINENO: checking which jpeg to use" >&5 -echo $ECHO_N "checking which jpeg to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which jpeg to use" >&5 +$as_echo_n "checking which jpeg to use... " >&6; } if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \ test "$with_system_jpeg" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_JPEG=YES - if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 -if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jpeglib.h usability" >&5 -echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default" +if test "x$ac_cv_header_jpeglib_h" = x""yes; then : -# Is the header present? -echo "$as_me:$LINENO: checking jpeglib.h presence" >&5 -echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 -if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jpeglib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 - -fi -if test $ac_cv_header_jpeglib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: jpeg.h not found. install libjpeg" >&5 -echo "$as_me: error: jpeg.h not found. install libjpeg" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jpeg.h not found. install libjpeg" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for jpeg_resync_to_restart in -ljpeg" >&5 -echo $ECHO_N "checking for jpeg_resync_to_restart in -ljpeg... $ECHO_C" >&6 -if test "${ac_cv_lib_jpeg_jpeg_resync_to_restart+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_resync_to_restart in -ljpeg" >&5 +$as_echo_n "checking for jpeg_resync_to_restart in -ljpeg... " >&6; } +if test "${ac_cv_lib_jpeg_jpeg_resync_to_restart+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char jpeg_resync_to_restart (); int main () { -jpeg_resync_to_restart (); +return jpeg_resync_to_restart (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_jpeg_jpeg_resync_to_restart=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_jpeg_jpeg_resync_to_restart=no + ac_cv_lib_jpeg_jpeg_resync_to_restart=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 -echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6 -if test $ac_cv_lib_jpeg_jpeg_resync_to_restart = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 +$as_echo "$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6; } +if test "x$ac_cv_lib_jpeg_jpeg_resync_to_restart" = x""yes; then : JPEG3RDLIB=-ljpeg else - echo "$as_me:$LINENO: checking jpeg library not found or fuctional" >&5 -echo $ECHO_N "checking jpeg library not found or fuctional... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking jpeg library not found or fuctional" >&5 +$as_echo_n "checking jpeg library not found or fuctional... " >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_JPEG=NO BUILD_TYPE="$BUILD_TYPE JPEG" fi -echo "$as_me:$LINENO: checking which expat to use" >&5 -echo $ECHO_N "checking which expat to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which expat to use" >&5 +$as_echo_n "checking which expat to use... " >&6; } if test -n "$with_system_expat" -o -n "$with_system_libs" && \ test "$with_system_expat" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_EXPAT=YES - if test "${ac_cv_header_expat_h+set}" = set; then - echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 -if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking expat.h usability" >&5 -echo $ECHO_N "checking expat.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking expat.h presence" >&5 -echo $ECHO_N "checking expat.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: expat.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 -if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_expat_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" +if test "x$ac_cv_header_expat_h" = x""yes; then : -fi -if test $ac_cv_header_expat_h = yes; then - : else - { { echo "$as_me:$LINENO: error: expat.h not found. install expat" >&5 -echo "$as_me: error: expat.h not found. install expat" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "expat.h not found. install expat" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for XML_ParserCreate in -lexpat" >&5 -echo $ECHO_N "checking for XML_ParserCreate in -lexpat... $ECHO_C" >&6 -if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 +$as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } +if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexpat $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XML_ParserCreate (); int main () { -XML_ParserCreate (); +return XML_ParserCreate (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_expat_XML_ParserCreate=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_expat_XML_ParserCreate=no + ac_cv_lib_expat_XML_ParserCreate=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -echo "${ECHO_T}$ac_cv_lib_expat_XML_ParserCreate" >&6 -if test $ac_cv_lib_expat_XML_ParserCreate = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 +$as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } +if test "x$ac_cv_lib_expat_XML_ParserCreate" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBEXPAT 1 _ACEOF @@ -13442,24 +12107,24 @@ _ACEOF LIBS="-lexpat $LIBS" else - echo "$as_me:$LINENO: result: expat library not found or functional." >&5 -echo "${ECHO_T}expat library not found or functional." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: expat library not found or functional." >&5 +$as_echo "expat library not found or functional." >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_EXPAT=NO BUILD_TYPE="$BUILD_TYPE EXPAT" fi -echo "$as_me:$LINENO: checking which libwpd to use" >&5 -echo $ECHO_N "checking which libwpd to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libwpd to use" >&5 +$as_echo_n "checking which libwpd to use... " >&6; } if test -n "$with_system_libwpd" -o -n "$with_system_libs" && \ test "$with_system_libwpd" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBWPD=YES succeeded=no @@ -13467,10 +12132,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13482,29 +12147,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13515,25 +12181,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libwpd-0.8 " >&5 -echo $ECHO_N "checking for libwpd-0.8 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libwpd-0.8 " >&5 +$as_echo_n "checking for libwpd-0.8 ... " >&6; } if $PKG_CONFIG --exists "libwpd-0.8 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBWPD_CFLAGS" >&5 -echo $ECHO_N "checking LIBWPD_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBWPD_CFLAGS" >&5 +$as_echo_n "checking LIBWPD_CFLAGS... " >&6; } LIBWPD_CFLAGS=`$PKG_CONFIG --cflags "libwpd-0.8 "` - echo "$as_me:$LINENO: result: $LIBWPD_CFLAGS" >&5 -echo "${ECHO_T}$LIBWPD_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBWPD_CFLAGS" >&5 +$as_echo "$LIBWPD_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBWPD_LIBS" >&5 -echo $ECHO_N "checking LIBWPD_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBWPD_LIBS" >&5 +$as_echo_n "checking LIBWPD_LIBS... " >&6; } LIBWPD_LIBS=`$PKG_CONFIG --libs "libwpd-0.8 "` - echo "$as_me:$LINENO: result: $LIBWPD_LIBS" >&5 -echo "${ECHO_T}$LIBWPD_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBWPD_LIBS" >&5 +$as_echo "$LIBWPD_LIBS" >&6; } else LIBWPD_CFLAGS="" LIBWPD_LIBS="" @@ -13554,14 +12220,12 @@ echo "${ECHO_T}$LIBWPD_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBWPD=NO BUILD_TYPE="$BUILD_TYPE LIBWPD" fi @@ -13569,12 +12233,12 @@ fi -echo "$as_me:$LINENO: checking which cppunit to use" >&5 -echo $ECHO_N "checking which cppunit to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which cppunit to use" >&5 +$as_echo_n "checking which cppunit to use... " >&6; } if test -n "$with_system_cppunit" -o -n "$with_system_libs" && \ test "$with_system_cppunit" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CPPUNIT=YES # might work for earlier, too but go sure. We didn't have # a system-cppunit before the first version using a proper cppunit @@ -13585,10 +12249,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13600,29 +12264,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13633,25 +12298,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for cppunit >= 1.12.1 " >&5 -echo $ECHO_N "checking for cppunit >= 1.12.1 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cppunit >= 1.12.1 " >&5 +$as_echo_n "checking for cppunit >= 1.12.1 ... " >&6; } if $PKG_CONFIG --exists "cppunit >= 1.12.1 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking CPPUNIT_CFLAGS" >&5 -echo $ECHO_N "checking CPPUNIT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CPPUNIT_CFLAGS" >&5 +$as_echo_n "checking CPPUNIT_CFLAGS... " >&6; } CPPUNIT_CFLAGS=`$PKG_CONFIG --cflags "cppunit >= 1.12.1 "` - echo "$as_me:$LINENO: result: $CPPUNIT_CFLAGS" >&5 -echo "${ECHO_T}$CPPUNIT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_CFLAGS" >&5 +$as_echo "$CPPUNIT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking CPPUNIT_LIBS" >&5 -echo $ECHO_N "checking CPPUNIT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CPPUNIT_LIBS" >&5 +$as_echo_n "checking CPPUNIT_LIBS... " >&6; } CPPUNIT_LIBS=`$PKG_CONFIG --libs "cppunit >= 1.12.1 "` - echo "$as_me:$LINENO: result: $CPPUNIT_LIBS" >&5 -echo "${ECHO_T}$CPPUNIT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_LIBS" >&5 +$as_echo "$CPPUNIT_LIBS" >&6; } else CPPUNIT_CFLAGS="" CPPUNIT_LIBS="" @@ -13672,24 +12337,20 @@ echo "${ECHO_T}$CPPUNIT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking STL compatibility" >&5 -echo $ECHO_N "checking STL compatibility... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking STL compatibility" >&5 +$as_echo_n "checking STL compatibility... " >&6; } if test "$WITH_STLPORT" != "no"; then - { { echo "$as_me:$LINENO: error: to use system cppunit you need to use --without-stlport" >&5 -echo "$as_me: error: to use system cppunit you need to use --without-stlport" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "to use system cppunit you need to use --without-stlport" "$LINENO" 5 else - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_CPPUNIT=NO BUILD_TYPE="$BUILD_TYPE CPPUNIT" fi @@ -13698,18 +12359,18 @@ fi if test "$test_freetype" = "yes"; then - echo "$as_me:$LINENO: checking whether freetype is available" >&5 -echo $ECHO_N "checking whether freetype is available... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether freetype is available" >&5 +$as_echo_n "checking whether freetype is available... " >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13721,29 +12382,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13754,25 +12416,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for freetype2 >= 2.0 " >&5 -echo $ECHO_N "checking for freetype2 >= 2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2 >= 2.0 " >&5 +$as_echo_n "checking for freetype2 >= 2.0 ... " >&6; } if $PKG_CONFIG --exists "freetype2 >= 2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5 -echo $ECHO_N "checking FREETYPE_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking FREETYPE_CFLAGS" >&5 +$as_echo_n "checking FREETYPE_CFLAGS... " >&6; } FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 2.0 "` - echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5 -echo "${ECHO_T}$FREETYPE_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_CFLAGS" >&5 +$as_echo "$FREETYPE_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5 -echo $ECHO_N "checking FREETYPE_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking FREETYPE_LIBS" >&5 +$as_echo_n "checking FREETYPE_LIBS... " >&6; } FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 2.0 "` - echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5 -echo "${ECHO_T}$FREETYPE_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_LIBS" >&5 +$as_echo "$FREETYPE_LIBS" >&6; } else FREETYPE_CFLAGS="" FREETYPE_LIBS="" @@ -13793,9 +12455,7 @@ echo "${ECHO_T}$FREETYPE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -13808,71 +12468,43 @@ if test "$test_freetype" = "yes"; then save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" LDFLAGS="$LDFLAGS $FREETYPE_LIBS" - echo "$as_me:$LINENO: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 -echo $ECHO_N "checking for FT_GlyphSlot_Embolden in -lfreetype... $ECHO_C" >&6 -if test "${ac_cv_lib_freetype_FT_GlyphSlot_Embolden+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 +$as_echo_n "checking for FT_GlyphSlot_Embolden in -lfreetype... " >&6; } +if test "${ac_cv_lib_freetype_FT_GlyphSlot_Embolden+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfreetype $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char FT_GlyphSlot_Embolden (); int main () { -FT_GlyphSlot_Embolden (); +return FT_GlyphSlot_Embolden (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_freetype_FT_GlyphSlot_Embolden=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no + ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6 -if test $ac_cv_lib_freetype_FT_GlyphSlot_Embolden = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 +$as_echo "$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6; } +if test "x$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" = x""yes; then : USE_FT_EMBOLDEN="YES" else USE_FT_EMBOLDEN="NO" @@ -13905,26 +12537,26 @@ if test -n "$with_system_libxml" -o -n "$with_system_libs" && \ fi fi -echo "$as_me:$LINENO: checking which libxslt to use" >&5 -echo $ECHO_N "checking which libxslt to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libxslt to use" >&5 +$as_echo_n "checking which libxslt to use... " >&6; } if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxslt" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXSLT=YES if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`xslt-config --cflags` - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`xslt-config --libs` - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else @@ -13934,10 +12566,10 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13949,29 +12581,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13982,25 +12615,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxslt" >&5 -echo $ECHO_N "checking for libxslt... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxslt" >&5 +$as_echo_n "checking for libxslt... " >&6; } if $PKG_CONFIG --exists "libxslt" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt"` - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt"` - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else LIBXSLT_CFLAGS="" LIBXSLT_LIBS="" @@ -14021,9 +12654,7 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -14031,10 +12662,10 @@ echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting # Extract the first word of "xsltproc", so it can be a program name with args. set dummy xsltproc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XSLTPROC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XSLTPROC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $XSLTPROC in [\\/]* | ?:[\\/]*) @@ -14046,37 +12677,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="no" ;; esac fi XSLTPROC=$ac_cv_path_XSLTPROC - if test -n "$XSLTPROC"; then - echo "$as_me:$LINENO: result: $XSLTPROC" >&5 -echo "${ECHO_T}$XSLTPROC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5 +$as_echo "$XSLTPROC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$XSLTPROC" = "no"; then - { { echo "$as_me:$LINENO: error: xsltproc is required" >&5 -echo "$as_me: error: xsltproc is required" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "xsltproc is required" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXSLT=NO BUILD_TYPE="$BUILD_TYPE LIBXSLT" fi @@ -14085,25 +12715,25 @@ fi -echo "$as_me:$LINENO: checking which libxml to use" >&5 -echo $ECHO_N "checking which libxml to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libxml to use" >&5 +$as_echo_n "checking which libxml to use... " >&6; } if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxml" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXML=YES if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`xml2-config --cflags` - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`xml2-config --libs` - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else @@ -14113,10 +12743,10 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -14128,29 +12758,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -14161,25 +12792,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxml-2.0 >= 2.0" >&5 -echo $ECHO_N "checking for libxml-2.0 >= 2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.0" >&5 +$as_echo_n "checking for libxml-2.0 >= 2.0... " >&6; } if $PKG_CONFIG --exists "libxml-2.0 >= 2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.0"` - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.0"` - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else LIBXML_CFLAGS="" LIBXML_LIBS="" @@ -14200,17 +12831,15 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi BUILD_TYPE="$BUILD_TYPE LIBXMLSEC" else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXML=NO BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC" fi @@ -14221,21 +12850,21 @@ fi if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then with_system_python=yes fi -echo "$as_me:$LINENO: checking which python to use" >&5 -echo $ECHO_N "checking which python to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which python to use" >&5 +$as_echo_n "checking which python to use... " >&6; } if test -n "$with_system_python" -o -n "$with_system_libs" && \ test "$with_system_python" != "no"; then SYSTEM_PYTHON=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. - echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.2" >&5 -echo $ECHO_N "checking whether $PYTHON version >= 2.2... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.2" >&5 +$as_echo_n "checking whether $PYTHON version >= 2.2... " >&6; } prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. @@ -14247,23 +12876,20 @@ sys.exit(sys.hexversion < minverhex)" ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: too old" >&5 -echo "$as_me: error: too old" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old" "$LINENO" 5 fi - am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. - echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.2" >&5 -echo $ECHO_N "checking for a Python interpreter with version >= 2.2... $ECHO_C" >&6 -if test "${am_cv_pathless_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.2" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.2... " >&6; } +if test "${am_cv_pathless_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 else for am_cv_pathless_PYTHON in python python2 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do @@ -14279,24 +12905,23 @@ sys.exit(sys.hexversion < minverhex)" ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + (exit $ac_status); }; then : break fi - done fi -echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 -echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PYTHON in [\\/]* | ?:[\\/]*) @@ -14308,49 +12933,48 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PYTHON=$ac_cv_path_PYTHON - if test -n "$PYTHON"; then - echo "$as_me:$LINENO: result: $PYTHON" >&5 -echo "${ECHO_T}$PYTHON" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then - { { echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5 -echo "$as_me: error: no suitable Python interpreter found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no suitable Python interpreter found" "$LINENO" 5 else - echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 -echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6 -if test "${am_cv_python_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } +if test "${am_cv_python_version+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"` fi -echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 -echo "${ECHO_T}$am_cv_python_version" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version @@ -14361,30 +12985,30 @@ echo "${ECHO_T}$am_cv_python_version" >&6 - echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 -echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6 -if test "${am_cv_python_platform+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } +if test "${am_cv_python_platform+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"` fi -echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 -echo "${ECHO_T}$am_cv_python_platform" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform - echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6 -if test "${am_cv_python_pythondir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } +if test "${am_cv_python_pythondir+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` fi -echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 -echo "${ECHO_T}$am_cv_python_pythondir" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir @@ -14392,16 +13016,16 @@ echo "${ECHO_T}$am_cv_python_pythondir" >&6 pkgpythondir=\${pythondir}/$PACKAGE - echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6 -if test "${am_cv_python_pyexecdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } +if test "${am_cv_python_pyexecdir+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"` fi -echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 -echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir @@ -14426,149 +13050,11 @@ echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS" - if test "${ac_cv_header_Python_h+set}" = set; then - echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 -if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking Python.h usability" >&5 -echo $ECHO_N "checking Python.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking Python.h presence" >&5 -echo $ECHO_N "checking Python.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: Python.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: Python.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: Python.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: Python.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: Python.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 -if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_Python_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "Python.h" "ac_cv_header_Python_h" "$ac_includes_default" +if test "x$ac_cv_header_Python_h" = x""yes; then : -fi -if test $ac_cv_header_Python_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Python headers not found" >&5 -echo "$as_me: error: Python headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Python headers not found" "$LINENO" 5 fi @@ -14576,8 +13062,8 @@ fi else SYSTEM_PYTHON=NO BUILD_TYPE="$BUILD_TYPE PYTHON" - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } # Embedded python dies without Home set if test "z$HOME" = "z"; then export HOME=""; @@ -14586,10 +13072,10 @@ echo "${ECHO_T}internal" >&6 if test -z "$BZIP2"; then # Extract the first word of "bzip2", so it can be a program name with args. set dummy bzip2; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_BZIP2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_BZIP2+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $BZIP2 in [\\/]* | ?:[\\/]*) @@ -14601,32 +13087,31 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi BZIP2=$ac_cv_path_BZIP2 - if test -n "$BZIP2"; then - echo "$as_me:$LINENO: result: $BZIP2" >&5 -echo "${ECHO_T}$BZIP2" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BZIP2" >&5 +$as_echo "$BZIP2" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BZIP2"; then - { { echo "$as_me:$LINENO: error: the internal Python module has a .tar.bz2. You need bzip2" >&5 -echo "$as_me: error: the internal Python module has a .tar.bz2. You need bzip2" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "the internal Python module has a .tar.bz2. You need bzip2" "$LINENO" 5 fi fi fi @@ -14636,121 +13121,27 @@ fi HOME=`echo $HOME | sed 's:\\\\:/:g'` -echo "$as_me:$LINENO: checking which db to use" >&5 -echo $ECHO_N "checking which db to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which db to use" >&5 +$as_echo_n "checking which db to use... " >&6; } if test -n "$with_system_db" -o -n "$with_system_libs" && \ test "$with_system_db" != "no"; then SYSTEM_DB=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - echo "$as_me:$LINENO: checking for db.h" >&5 -echo $ECHO_N "checking for db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_db_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } + ac_fn_c_check_header_compile "$LINENO" "db.h" "ac_cv_header_db_h" " -ac_cv_header_db_h=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db_h" >&6 -if test $ac_cv_header_db_h = yes; then +" +if test "x$ac_cv_header_db_h" = x""yes; then : DB_INCLUDES=/usr/include else CFLAGS=-I/usr/include/db4 - echo "$as_me:$LINENO: checking for db4/db.h" >&5 -echo $ECHO_N "checking for db4/db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db4_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -+ - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_db4_db_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_db4_db_h=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_db4_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db4_db_h" >&6 -if test $ac_cv_header_db4_db_h = yes; then + ac_fn_c_check_header_compile "$LINENO" "db4/db.h" "ac_cv_header_db4_db_h" "+ +" +if test "x$ac_cv_header_db4_db_h" = x""yes; then : DB_INCLUDES=/usr/include/db4 else - { { echo "$as_me:$LINENO: error: no. install the db4 libraries" >&5 -echo "$as_me: error: no. install the db4 libraries" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. install the db4 libraries" "$LINENO" 5 fi @@ -14758,20 +13149,15 @@ fi fi - echo "$as_me:$LINENO: checking whether db is at least 4.1" >&5 -echo $ECHO_N "checking whether db is at least 4.1... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether db is at least 4.1" >&5 +$as_echo_n "checking whether db is at least 4.1... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14782,91 +13168,47 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no. you need at least db 4.1" >&5 -echo "$as_me: error: no. you need at least db 4.1" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. you need at least db 4.1" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -echo "$as_me:$LINENO: checking for main in -ldb" >&5 -echo $ECHO_N "checking for main in -ldb... $ECHO_C" >&6 -if test "${ac_cv_lib_db_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ldb" >&5 +$as_echo_n "checking for main in -ldb... " >&6; } +if test "${ac_cv_lib_db_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldb $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_db_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_db_main=no + ac_cv_lib_db_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 -echo "${ECHO_T}$ac_cv_lib_db_main" >&6 -if test $ac_cv_lib_db_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_db_main" >&5 +$as_echo "$ac_cv_lib_db_main" >&6; } +if test "x$ac_cv_lib_db_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDB 1 _ACEOF @@ -14874,16 +13216,14 @@ _ACEOF LIBS="-ldb $LIBS" else - { { echo "$as_me:$LINENO: error: db not installed or functional" >&5 -echo "$as_me: error: db not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "db not installed or functional" "$LINENO" 5 fi ac_cv_lib_db=ac_cv_lib_db_main SCPDEFS="$SCPDEFS -DSYSTEM_DB" else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_DB=NO BUILD_TYPE="$BUILD_TYPE BERKELEYDB" fi @@ -14892,58 +13232,52 @@ fi -echo "$as_me:$LINENO: checking which lucene to use" >&5 -echo $ECHO_N "checking which lucene to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which lucene to use" >&5 +$as_echo_n "checking which lucene to use... " >&6; } if test -n "$with_system_lucene" -o -n "$with_system_libs" && \ test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LUCENE=YES if test -z $LUCENE_CORE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-core-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_core_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-core-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-core-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_core_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-core-2.3.jar"; then ac_cv_file__usr_share_java_lucene_core_2_3_jar=yes else ac_cv_file__usr_share_java_lucene_core_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_core_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_core_2_3_jar" = x""yes; then : LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene.jar"; then ac_cv_file__usr_share_java_lucene_jar=yes else ac_cv_file__usr_share_java_lucene_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_jar" = x""yes; then : LUCENE_CORE_JAR=/usr/share/java/lucene.jar else - { { echo "$as_me:$LINENO: error: lucene-core.jar replacement not found" >&5 -echo "$as_me: error: lucene-core.jar replacement not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-core.jar replacement not found" "$LINENO" 5 fi @@ -14952,79 +13286,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: lucene-core.jar not found." >&5 -echo "$as_me: error: lucene-core.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-core.jar not found." "$LINENO" 5 fi fi if test -z $LUCENE_ANALYZERS_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-analyzers-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-analyzers-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-analyzers-2.3.jar"; then ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=yes else ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" = x""yes; then : LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-contrib/lucene-analyzers.jar"; then ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=yes else ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" = x""yes; then : LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar replacement not found." >&5 -echo "$as_me: error: lucene-analyzers.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-analyzers.jar replacement not found." "$LINENO" 5 fi @@ -15033,36 +13359,34 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar not found." >&5 -echo "$as_me: error: lucene-analyzers.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-analyzers.jar not found." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LUCENE=NO BUILD_TYPE="$BUILD_TYPE LUCENE" fi @@ -15070,44 +13394,42 @@ fi -echo "$as_me:$LINENO: checking whether to build the MySQL Connector extension" >&5 -echo $ECHO_N "checking whether to build the MySQL Connector extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the MySQL Connector extension" >&5 +$as_echo_n "checking whether to build the MySQL Connector extension... " >&6; } if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_MYSQLC=YES - echo "$as_me:$LINENO: checking for mysqlc module" >&5 -echo $ECHO_N "checking for mysqlc module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysqlc module" >&5 +$as_echo_n "checking for mysqlc module... " >&6; } if test -d mysqlc; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE MYSQLC" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MYSQLC=NO fi if test "$ENABLE_MYSQLC" = "YES"; then -echo "$as_me:$LINENO: checking for mysql pre-requisites" >&5 -echo $ECHO_N "checking for mysql pre-requisites... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysql pre-requisites" >&5 +$as_echo_n "checking for mysql pre-requisites... " >&6; } if test -n "$with_system_mysql" -o -n "$with_system_libs" && \ test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then - echo "$as_me:$LINENO: result: external MySQL" >&5 -echo "${ECHO_T}external MySQL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external MySQL" >&5 +$as_echo "external MySQL" >&6; } SYSTEM_MYSQL=YES # Extract the first word of "mysql_config", so it can be a program name with args. set dummy mysql_config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MYSQLCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MYSQLCONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MYSQLCONFIG in [\\/]* | ?:[\\/]*) @@ -15119,73 +13441,68 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MYSQLCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MYSQLCONFIG=$ac_cv_path_MYSQLCONFIG - if test -n "$MYSQLCONFIG"; then - echo "$as_me:$LINENO: result: $MYSQLCONFIG" >&5 -echo "${ECHO_T}$MYSQLCONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYSQLCONFIG" >&5 +$as_echo "$MYSQLCONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking MySQL version" >&5 -echo $ECHO_N "checking MySQL version... $ECHO_C" >&6 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MySQL version" >&5 +$as_echo_n "checking MySQL version... " >&6; } MYSQL_VERSION=`$MYSQLCONFIG --version` MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1` if test "$MYSQL_MAJOR" -ge "5"; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: too old, use 5.0.x or 5.1.x" >&5 -echo "$as_me: error: too old, use 5.0.x or 5.1.x" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old, use 5.0.x or 5.1.x" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for MySQL Client library" >&5 -echo $ECHO_N "checking for MySQL Client library... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MySQL Client library" >&5 +$as_echo_n "checking for MySQL Client library... " >&6; } MYSQL_INC=`$MYSQLCONFIG --include` MYSQL_LIB=`$MYSQLCONFIG --libs` MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,` - echo "$as_me:$LINENO: result: includes $MYSQL_INC, libraries $MYSQL_LIB" >&5 -echo "${ECHO_T}includes $MYSQL_INC, libraries $MYSQL_LIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: includes $MYSQL_INC, libraries $MYSQL_LIB" >&5 +$as_echo "includes $MYSQL_INC, libraries $MYSQL_LIB" >&6; } else SYSTEM_MYSQL=NO if test -n "$with_libmysql_path"; then - echo "$as_me:$LINENO: result: external Connector/C (libmysql)" >&5 -echo "${ECHO_T}external Connector/C (libmysql)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external Connector/C (libmysql)" >&5 +$as_echo "external Connector/C (libmysql)" >&6; } LIBMYSQL=libmysql.so if test "$_os" = "Darwin"; then LIBMYSQL=libmysql.dylib elif test "$_os" = "WINNT"; then LIBMYSQL=libmysql.dll fi - echo "$as_me:$LINENO: checking for $LIBMYSQL" >&5 -echo $ECHO_N "checking for $LIBMYSQL... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBMYSQL" >&5 +$as_echo_n "checking for $LIBMYSQL... " >&6; } if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then - echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found." >&5 +$as_echo "found." >&6; } LIBMYSQL_PATH=$with_libmysql_path else - { { echo "$as_me:$LINENO: error: not found. Please specify proper path in --with-libmysql-path." >&5 -echo "$as_me: error: not found. Please specify proper path in --with-libmysql-path." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. Please specify proper path in --with-libmysql-path." "$LINENO" 5 fi else - { { echo "$as_me:$LINENO: error: not given. Please specify either --with-system-mysql or --with-libmysql-path" >&5 -echo "$as_me: error: not given. Please specify either --with-system-mysql or --with-libmysql-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not given. Please specify either --with-system-mysql or --with-libmysql-path" "$LINENO" 5 fi fi @@ -15194,7 +13511,7 @@ fi -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -15202,225 +13519,58 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # FIXME! # who thought this too-generic cppconn dir was a good idea? -echo "$as_me:$LINENO: checking MySQL Connector/C++" >&5 -echo $ECHO_N "checking MySQL Connector/C++... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking MySQL Connector/C++" >&5 +$as_echo_n "checking MySQL Connector/C++... " >&6; } if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \ test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MYSQL_CPPCONN=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo "$as_me:$LINENO: checking for mysql_driver.h" >&5 -echo $ECHO_N "checking for mysql_driver.h... $ECHO_C" >&6 -if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mysql_driver_h" >&5 -echo "${ECHO_T}$ac_cv_header_mysql_driver_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking mysql_driver.h usability" >&5 -echo $ECHO_N "checking mysql_driver.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking mysql_driver.h presence" >&5 -echo $ECHO_N "checking mysql_driver.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mysql_driver.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mysql_driver.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mysql_driver.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mysql_driver.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mysql_driver.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mysql_driver.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mysql_driver.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mysql_driver.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for mysql_driver.h" >&5 -echo $ECHO_N "checking for mysql_driver.h... $ECHO_C" >&6 -if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_mysql_driver_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mysql_driver_h" >&5 -echo "${ECHO_T}$ac_cv_header_mysql_driver_h" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "mysql_driver.h" "ac_cv_header_mysql_driver_h" "$ac_includes_default" +if test "x$ac_cv_header_mysql_driver_h" = x""yes; then : -fi -if test $ac_cv_header_mysql_driver_h = yes; then - : else - { { echo "$as_me:$LINENO: error: mysql_driver.h not found. install MySQL C++ Connectivity" >&5 -echo "$as_me: error: mysql_driver.h not found. install MySQL C++ Connectivity" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mysql_driver.h not found. install MySQL C++ Connectivity" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lmysqlcppconn" >&5 -echo $ECHO_N "checking for main in -lmysqlcppconn... $ECHO_C" >&6 -if test "${ac_cv_lib_mysqlcppconn_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmysqlcppconn" >&5 +$as_echo_n "checking for main in -lmysqlcppconn... " >&6; } +if test "${ac_cv_lib_mysqlcppconn_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmysqlcppconn $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_mysqlcppconn_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mysqlcppconn_main=no + ac_cv_lib_mysqlcppconn_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlcppconn_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mysqlcppconn_main" >&6 -if test $ac_cv_lib_mysqlcppconn_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mysqlcppconn_main" >&5 +$as_echo "$ac_cv_lib_mysqlcppconn_main" >&6; } +if test "x$ac_cv_lib_mysqlcppconn_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBMYSQLCPPCONN 1 _ACEOF @@ -15428,25 +13578,18 @@ _ACEOF LIBS="-lmysqlcppconn $LIBS" else - { { echo "$as_me:$LINENO: error: MySQL C++ Connectivity lib not found or functional" >&5 -echo "$as_me: error: MySQL C++ Connectivity lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "MySQL C++ Connectivity lib not found or functional" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking version" >&5 -echo $ECHO_N "checking version... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking version" >&5 +$as_echo_n "checking version... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -15463,32 +13606,17 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: not suitable, we need >= 1.0.6" >&5 -echo "$as_me: error: not suitable, we need >= 1.0.6" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not suitable, we need >= 1.0.6" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - ac_ext=cc + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -15496,17 +13624,15 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - echo "$as_me:$LINENO: checking for mysqlcppconn module" >&5 -echo $ECHO_N "checking for mysqlcppconn module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysqlcppconn module" >&5 +$as_echo_n "checking for mysqlcppconn module... " >&6; } if test -d mysqlcppconn; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN" SYSTEM_MYSQL_CPPCONN=NO @@ -15520,44 +13646,42 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -echo "$as_me:$LINENO: checking which hsqldb to use" >&5 -echo $ECHO_N "checking which hsqldb to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which hsqldb to use" >&5 +$as_echo_n "checking which hsqldb to use... " >&6; } if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \ test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HSQLDB=YES if test -z $HSQLDB_JAR; then HSQLDB_JAR=/usr/share/java/hsqldb.jar fi - as_ac_File=`echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $HSQLDB_JAR" >&5 -echo $ECHO_N "checking for $HSQLDB_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $HSQLDB_JAR" >&5 +$as_echo_n "checking for $HSQLDB_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$HSQLDB_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: hsqldb.jar not found." >&5 -echo "$as_me: error: hsqldb.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "hsqldb.jar not found." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5 -echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hsqldb is >= 1.8.0.9" >&5 +$as_echo_n "checking whether hsqldb is >= 1.8.0.9... " >&6; } export HSQLDB_JAR if $PERL -e 'use Archive::Zip; my $file = "$ENV{'HSQLDB_JAR'}"; @@ -15580,61 +13704,57 @@ echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 } else { exit 1; }'; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, hsqldb >= 1.8.0.9 is needed" >&5 -echo "$as_me: error: no, hsqldb >= 1.8.0.9 is needed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, hsqldb >= 1.8.0.9 is needed" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HSQLDB=NO BUILD_TYPE="$BUILD_TYPE HSQLDB" fi -echo "$as_me:$LINENO: checking which beanshell to use" >&5 -echo $ECHO_N "checking which beanshell to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which beanshell to use" >&5 +$as_echo_n "checking which beanshell to use... " >&6; } if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \ test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BSH=YES if test -z $BSH_JAR; then BSH_JAR=/usr/share/java/bsh.jar fi - as_ac_File=`echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $BSH_JAR" >&5 -echo $ECHO_N "checking for $BSH_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $BSH_JAR" >&5 +$as_echo_n "checking for $BSH_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$BSH_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: bsh.jar not found." >&5 -echo "$as_me: error: bsh.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "bsh.jar not found." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_BSH=NO BUILD_TYPE="$BUILD_TYPE BSH" fi @@ -15642,78 +13762,70 @@ fi -echo "$as_me:$LINENO: checking which saxon to use" >&5 -echo $ECHO_N "checking which saxon to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which saxon to use" >&5 +$as_echo_n "checking which saxon to use... " >&6; } if test -n "$with_system_saxon" -o -n "$with_system_libs" && \ test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SAXON=YES if test -z $SAXON_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon9.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/saxon.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon.jar"; then ac_cv_file__usr_share_java_saxon_jar=yes else ac_cv_file__usr_share_java_saxon_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon9.jar else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found" >&5 -echo "$as_me: error: saxon.jar replacement not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxon.jar replacement not found" "$LINENO" 5 fi @@ -15726,66 +13838,62 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAXON_JAR" >&5 -echo $ECHO_N "checking for $SAXON_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SAXON_JAR" >&5 +$as_echo_n "checking for $SAXON_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SAXON_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found." >&5 -echo "$as_me: error: saxon.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxon.jar replacement not found." "$LINENO" 5 fi fi if test -n "$SERIALIZER_JAR"; then - as_ac_File=`echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $SERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SERIALIZER_JAR" >&5 +$as_echo_n "checking for $SERIALIZER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SERIALIZER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: serializer.jar not found." >&5 -echo "$as_me: error: serializer.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "serializer.jar not found." "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking if saxon works" >&5 -echo $ECHO_N "checking if saxon works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if saxon works" >&5 +$as_echo_n "checking if saxon works... " >&6; } cat > saxontest.java <<_ACEOF import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; @@ -15826,40 +13934,36 @@ _ACEOF _ACEOF javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2" - { (eval echo "$as_me:$LINENO: \"$javac_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$javac_cmd\""; } >&5 (eval $javac_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./saxontest.class ; then java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2" - { (eval echo "$as_me:$LINENO: \"$java_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$java_cmd\""; } >&5 (eval $java_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else cat saxontest.java >&5 - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" >&5 -echo "$as_me: error: Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error "Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } cat saxontest.java >&5 - { { echo "$as_me:$LINENO: error: saxontest could not be compiled, non-functional saxon jar" >&5 -echo "$as_me: error: saxontest could not be compiled, non-functional saxon jar" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxontest could not be compiled, non-functional saxon jar" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SAXON=NO NEED_SAXON=TRUE fi @@ -15873,20 +13977,20 @@ fi if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then with_system_curl=yes fi -echo "$as_me:$LINENO: checking which curl to use" >&5 -echo $ECHO_N "checking which curl to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which curl to use" >&5 +$as_echo_n "checking which curl to use... " >&6; } if test -n "$with_system_curl" -o -n "$with_system_libs" && \ test "$with_system_curl" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CURL=YES # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CURLCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CURLCONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CURLCONFIG in [\\/]* | ?:[\\/]*) @@ -15898,52 +14002,49 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CURLCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CURLCONFIG=$ac_cv_path_CURLCONFIG - if test -n "$CURLCONFIG"; then - echo "$as_me:$LINENO: result: $CURLCONFIG" >&5 -echo "${ECHO_T}$CURLCONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURLCONFIG" >&5 +$as_echo "$CURLCONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$CURLCONFIG"; then - { { echo "$as_me:$LINENO: error: install curl to run this script" >&5 -echo "$as_me: error: install curl to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install curl to run this script" "$LINENO" 5 fi # check curl version - echo "$as_me:$LINENO: checking whether curl is >= 7.13.1" >&5 -echo $ECHO_N "checking whether curl is >= 7.13.1... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether curl is >= 7.13.1" >&5 +$as_echo_n "checking whether curl is >= 7.13.1... " >&6; } if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "13" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "1"; then - { { echo "$as_me:$LINENO: error: no, you need at least curl 7.13,1" >&5 -echo "$as_me: error: no, you need at least curl 7.13,1" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, you need at least curl 7.13,1" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi CURL_LIBS=`$CURLCONFIG --libs` CURL_CFLAGS=`$CURLCONFIG --cflags` else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_CURL=NO BUILD_TYPE="$BUILD_TYPE CURL" fi @@ -15951,467 +14052,49 @@ fi -echo "$as_me:$LINENO: checking which boost to use" >&5 -echo $ECHO_N "checking which boost to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which boost to use" >&5 +$as_echo_n "checking which boost to use... " >&6; } if test -n "$with_system_boost" -o -n "$with_system_headers" && \ test "$with_system_boost" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BOOST=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp usability" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp presence" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_shared_ptr_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 - -fi -if test $ac_cv_header_boost_shared_ptr_hpp = yes; then - : -else - { { echo "$as_me:$LINENO: error: boost/shared_ptr.hpp not found. install boost" >&5 -echo "$as_me: error: boost/shared_ptr.hpp not found. install boost" >&2;} - { (exit 1); exit 1; }; } -fi - - - if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/spirit/include/classic_core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/include/classic_core.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_include_classic_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_include_classic_core_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/spirit/include/classic_core.hpp usability" >&5 -echo $ECHO_N "checking boost/spirit/include/classic_core.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking boost/spirit/include/classic_core.hpp presence" >&5 -echo $ECHO_N "checking boost/spirit/include/classic_core.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/spirit/include/classic_core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/include/classic_core.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_spirit_include_classic_core_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_include_classic_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_include_classic_core_hpp" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/shared_ptr.hpp" "ac_cv_header_boost_shared_ptr_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_shared_ptr_hpp" = x""yes; then : -fi -if test $ac_cv_header_boost_spirit_include_classic_core_hpp = yes; then - : else - { { echo "$as_me:$LINENO: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&5 -echo "$as_me: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "boost/shared_ptr.hpp not found. install boost" "$LINENO" 5 fi - if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/function.hpp" >&5 -echo $ECHO_N "checking for boost/function.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_function_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_function_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/function.hpp usability" >&5 -echo $ECHO_N "checking boost/function.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/spirit/include/classic_core.hpp" "ac_cv_header_boost_spirit_include_classic_core_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_spirit_include_classic_core_hpp" = x""yes; then : -# Is the header present? -echo "$as_me:$LINENO: checking boost/function.hpp presence" >&5 -echo $ECHO_N "checking boost/function.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi else - ac_cpp_err=yes + as_fn_error "boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" "$LINENO" 5 fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/function.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/function.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/function.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/function.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/function.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/function.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/function.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/function.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/function.hpp" >&5 -echo $ECHO_N "checking for boost/function.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_function_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_function_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_function_hpp" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/function.hpp" "ac_cv_header_boost_function_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_function_hpp" = x""yes; then : -fi -if test $ac_cv_header_boost_function_hpp = yes; then - : else - { { echo "$as_me:$LINENO: error: boost/function.hpp not found. install boost" >&5 -echo "$as_me: error: boost/function.hpp not found. install boost" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "boost/function.hpp not found. install boost" "$LINENO" 5 fi save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS -fno-exceptions" - echo "$as_me:$LINENO: checking whether boost/function.hpp compiles with -fno-exceptions" >&5 -echo $ECHO_N "checking whether boost/function.hpp compiles with -fno-exceptions... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether boost/function.hpp compiles with -fno-exceptions" >&5 +$as_echo_n "checking whether boost/function.hpp compiles with -fno-exceptions... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -16423,44 +14106,18 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_cxx_boost_no_exceptons_broken=no else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_cxx_boost_no_exceptons_broken=yes + ac_cv_cxx_boost_no_exceptons_broken=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_cxx_boost_no_exceptons_broken" = "yes"; then - { { echo "$as_me:$LINENO: error: no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" >&5 -echo "$as_me: error: no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi CXXFLAGS=$save_CXXFLAGS ac_ext=c @@ -16470,630 +14127,185 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE BOOST" SYSTEM_BOOST=NO fi -echo "$as_me:$LINENO: checking which vigra to use" >&5 -echo $ECHO_N "checking which vigra to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which vigra to use" >&5 +$as_echo_n "checking which vigra to use... " >&6; } if test -n "$with_system_vigra" -o -n "$with_system_headers" && \ test "$with_system_vigra" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_VIGRA=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking vigra/copyimage.hxx usability" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking vigra/copyimage.hxx presence" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_vigra_copyimage_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 - -fi -if test $ac_cv_header_vigra_copyimage_hxx = yes; then - : -else - { { echo "$as_me:$LINENO: error: vigra/copyimage.hxx not found. install vigra" >&5 -echo "$as_me: error: vigra/copyimage.hxx not found. install vigra" >&2;} - { (exit 1); exit 1; }; } -fi - - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - BUILD_TYPE="$BUILD_TYPE VIGRA" - SYSTEM_VIGRA=NO -fi - - -echo "$as_me:$LINENO: checking which odbc headers to use" >&5 -echo $ECHO_N "checking which odbc headers to use... $ECHO_C" >&6 -if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \ - test "$with_system_odbc_headers" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - SYSTEM_ODBC_HEADERS=YES - - if test "${ac_cv_header_sqlext_h+set}" = set; then - echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 -if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking sqlext.h usability" >&5 -echo $ECHO_N "checking sqlext.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking sqlext.h presence" >&5 -echo $ECHO_N "checking sqlext.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_cxx_check_header_mongrel "$LINENO" "vigra/copyimage.hxx" "ac_cv_header_vigra_copyimage_hxx" "$ac_includes_default" +if test "x$ac_cv_header_vigra_copyimage_hxx" = x""yes; then : - ac_header_preproc=no +else + as_fn_error "vigra/copyimage.hxx not found. install vigra" "$LINENO" 5 fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: sqlext.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sqlext.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sqlext.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sqlext.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sqlext.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 -if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + else - ac_cv_header_sqlext_h=$ac_header_preproc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + BUILD_TYPE="$BUILD_TYPE VIGRA" + SYSTEM_VIGRA=NO fi -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 -fi -if test $ac_cv_header_sqlext_h = yes; then - : + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which odbc headers to use" >&5 +$as_echo_n "checking which odbc headers to use... " >&6; } +if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \ + test "$with_system_odbc_headers" != "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } + SYSTEM_ODBC_HEADERS=YES + + ac_fn_c_check_header_mongrel "$LINENO" "sqlext.h" "ac_cv_header_sqlext_h" "$ac_includes_default" +if test "x$ac_cv_header_sqlext_h" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: odbc not found. install odbc" >&5 -echo "$as_me: error: odbc not found. install odbc" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "odbc not found. install odbc" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ODBC_HEADERS=NO BUILD_TYPE="$BUILD_TYPE UNIXODBC" fi -echo "$as_me:$LINENO: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 -echo $ECHO_N "checking whether to enable build of Mozilla/Mozilla NSS-using components... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 +$as_echo_n "checking whether to enable build of Mozilla/Mozilla NSS-using components... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MOZILLA=YES fi -echo "$as_me:$LINENO: checking whether to build Mozilla addressbook connectivity" >&5 -echo $ECHO_N "checking whether to build Mozilla addressbook connectivity... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Mozilla addressbook connectivity" >&5 +$as_echo_n "checking whether to build Mozilla addressbook connectivity... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } elif test "$with_system_mozilla" = "yes"; then - echo "$as_me:$LINENO: result: no, not possible with system-mozilla" >&5 -echo "${ECHO_T}no, not possible with system-mozilla" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, not possible with system-mozilla" >&5 +$as_echo "no, not possible with system-mozilla" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi -echo "$as_me:$LINENO: checking whether to build XML Security support" >&5 -echo $ECHO_N "checking whether to build XML Security support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build XML Security support" >&5 +$as_echo_n "checking whether to build XML Security support... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no, since Mozilla (NSS) disabled but needed" >&5 -echo "${ECHO_T}no, since Mozilla (NSS) disabled but needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, since Mozilla (NSS) disabled but needed" >&5 +$as_echo "no, since Mozilla (NSS) disabled but needed" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi -echo "$as_me:$LINENO: checking whether to build LDAP configuration backend" >&5 -echo $ECHO_N "checking whether to build LDAP configuration backend... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build LDAP configuration backend" >&5 +$as_echo_n "checking whether to build LDAP configuration backend... " >&6; } if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then if test "$enable_mozilla" = "yes" || test "$with_openldap" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_LDAP=YES else - echo "$as_me:$LINENO: result: no. Either Mozilla or OpenLDAP needed" >&5 -echo "${ECHO_T}no. Either Mozilla or OpenLDAP needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no. Either Mozilla or OpenLDAP needed" >&5 +$as_echo "no. Either Mozilla or OpenLDAP needed" >&6; } WITH_LDAP=NO fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_LDAP=NO fi if test "$WITH_LDAP" = "YES"; then - echo "$as_me:$LINENO: checking which LDAP SDK to use" >&5 -echo $ECHO_N "checking which LDAP SDK to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which LDAP SDK to use" >&5 +$as_echo_n "checking which LDAP SDK to use... " >&6; } if test -n "$with_openldap" && test "$with_openldap" != "no"; then - echo "$as_me:$LINENO: result: OpenLDAP" >&5 -echo "${ECHO_T}OpenLDAP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenLDAP" >&5 +$as_echo "OpenLDAP" >&6; } WITH_OPENLDAP=YES - -for ac_header in ldap.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then + for ac_header in ldap.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default" +if test "x$ac_cv_header_ldap_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_LDAP_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: ldap.h not found. install openldap libs" >&5 -echo "$as_me: error: ldap.h not found. install openldap libs" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "ldap.h not found. install openldap libs" "$LINENO" 5 fi done - -echo "$as_me:$LINENO: checking for ldap_simple_bind_s in -lldap" >&5 -echo $ECHO_N "checking for ldap_simple_bind_s in -lldap... $ECHO_C" >&6 -if test "${ac_cv_lib_ldap_ldap_simple_bind_s+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_simple_bind_s in -lldap" >&5 +$as_echo_n "checking for ldap_simple_bind_s in -lldap... " >&6; } +if test "${ac_cv_lib_ldap_ldap_simple_bind_s+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_simple_bind_s (); int main () { -ldap_simple_bind_s (); +return ldap_simple_bind_s (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ldap_ldap_simple_bind_s=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ldap_ldap_simple_bind_s=no + ac_cv_lib_ldap_ldap_simple_bind_s=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_simple_bind_s" >&6 -if test $ac_cv_lib_ldap_ldap_simple_bind_s = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_simple_bind_s" >&6; } +if test "x$ac_cv_lib_ldap_ldap_simple_bind_s" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -17101,79 +14313,48 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "openldap lib not found or functional" "$LINENO" 5 fi # rumours say that OpenLDAP doesn't have that function. I looked and # it has it. Test for it to be sure - -echo "$as_me:$LINENO: checking for ldap_set_option in -lldap" >&5 -echo $ECHO_N "checking for ldap_set_option in -lldap... $ECHO_C" >&6 -if test "${ac_cv_lib_ldap_ldap_set_option+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_set_option in -lldap" >&5 +$as_echo_n "checking for ldap_set_option in -lldap... " >&6; } +if test "${ac_cv_lib_ldap_ldap_set_option+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_set_option (); int main () { -ldap_set_option (); +return ldap_set_option (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ldap_ldap_set_option=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ldap_ldap_set_option=no + ac_cv_lib_ldap_ldap_set_option=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_set_option" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_set_option" >&6 -if test $ac_cv_lib_ldap_ldap_set_option = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_set_option" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_set_option" >&6; } +if test "x$ac_cv_lib_ldap_ldap_set_option" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -17181,14 +14362,12 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "openldap lib not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: Netscape/Mozilla" >&5 -echo "${ECHO_T}Netscape/Mozilla" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Netscape/Mozilla" >&5 +$as_echo "Netscape/Mozilla" >&6; } # TODO. Actually do a sanity check and check for # LDAP_OPT_SIZELIMIT and LDAP_X_OPT_CONNECT_TIMEOUT WITH_OPENLDAP=NO @@ -17197,16 +14376,16 @@ fi -echo "$as_me:$LINENO: checking which mozilla to use" >&5 -echo $ECHO_N "checking which mozilla to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which mozilla to use" >&5 +$as_echo_n "checking which mozilla to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MOZILLA=YES ENABLE_NSS_MODULE=NO enable_nss_module=no - echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5 -echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Mozilla flavour to use" >&5 +$as_echo_n "checking which Mozilla flavour to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then MOZ_FLAVOUR=libxul elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then @@ -17221,8 +14400,8 @@ echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 MOZ_FLAVOUR=libxul fi tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst();'` - echo "$as_me:$LINENO: result: $tmp" >&5 -echo "${ECHO_T}$tmp" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tmp" >&5 +$as_echo "$tmp" >&6; } succeeded=no @@ -17230,10 +14409,10 @@ echo "${ECHO_T}$tmp" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17245,29 +14424,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17278,25 +14458,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for nss" >&5 -echo $ECHO_N "checking for nss... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nss" >&5 +$as_echo_n "checking for nss... " >&6; } if $PKG_CONFIG --exists "nss" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "nss"` - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "nss"` - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -17327,10 +14507,10 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17342,29 +14522,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17375,25 +14556,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nss " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nss ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-nss " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nss ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nss " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nss "` - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nss "` - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -17414,9 +14595,7 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else @@ -17431,10 +14610,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17446,29 +14625,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17479,25 +14659,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for nspr " >&5 -echo $ECHO_N "checking for nspr ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nspr " >&5 +$as_echo_n "checking for nspr ... " >&6; } if $PKG_CONFIG --exists "nspr " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -17518,9 +14698,7 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi NSPR_LIB="-L`$PKG_CONFIG --variable=libdir nspr`" @@ -17532,10 +14710,10 @@ echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting th if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17547,29 +14725,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17580,25 +14759,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nspr " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nspr ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-nspr " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nspr ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nspr " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -17619,9 +14798,7 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -17633,10 +14810,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17648,29 +14825,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17681,25 +14859,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-xpcom" >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-xpcom... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-xpcom" >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-xpcom... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-xpcom" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -17734,10 +14912,10 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17749,29 +14927,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17782,25 +14961,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxul " >&5 -echo $ECHO_N "checking for libxul ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxul " >&5 +$as_echo_n "checking for libxul ... " >&6; } if $PKG_CONFIG --exists "libxul " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "libxul "` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "libxul "` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -17821,9 +15000,7 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi MOZ_INC=`$PKG_CONFIG --variable=includedir libxul` @@ -17841,72 +15018,43 @@ echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $MOZ_NSS_CFLAGS" LDFLAGS="$LDFLAGS $MOZ_NSS_LIBS" - -echo "$as_me:$LINENO: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 -echo $ECHO_N "checking for PK11_GetCertFromPrivateKey in -lnss3... $ECHO_C" >&6 -if test "${ac_cv_lib_nss3_PK11_GetCertFromPrivateKey+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 +$as_echo_n "checking for PK11_GetCertFromPrivateKey in -lnss3... " >&6; } +if test "${ac_cv_lib_nss3_PK11_GetCertFromPrivateKey+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnss3 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char PK11_GetCertFromPrivateKey (); int main () { -PK11_GetCertFromPrivateKey (); +return PK11_GetCertFromPrivateKey (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no + ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 -echo "${ECHO_T}$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6 -if test $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 +$as_echo "$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6; } +if test "x$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSS3 1 _ACEOF @@ -17914,13 +15062,9 @@ _ACEOF LIBS="-lnss3 $LIBS" else - { { echo "$as_me:$LINENO: error: PK11_GetCertFromPrivateKey missing but needed. -See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. -Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&5 -echo "$as_me: error: PK11_GetCertFromPrivateKey missing but needed. + as_fn_error "PK11_GetCertFromPrivateKey missing but needed. See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. -Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&2;} - { (exit 1); exit 1; }; } +Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" "$LINENO" 5 fi LDFLAGS="$save_LDFLAGS" @@ -17929,20 +15073,16 @@ fi MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then - echo "$as_me:$LINENO: checking whether $tmp was compiled with --enable-ldap" >&5 -echo $ECHO_N "checking whether $tmp was compiled with --enable-ldap... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $tmp was compiled with --enable-ldap" >&5 +$as_echo_n "checking whether $tmp was compiled with --enable-ldap... " >&6; } if test -d "$MOZ_INC/ldap"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } MOZ_LDAP_CFLAGS="-I$MOZ_INC" else - { { echo "$as_me:$LINENO: error: no. + as_fn_error "no. Could not find LDAP header include files in $MOZ_INC/ldap. -Please recompile $tmp with --enable-ldap or use --with-openldap." >&5 -echo "$as_me: error: no. -Could not find LDAP header include files in $MOZ_INC/ldap. -Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} - { (exit 1); exit 1; }; } +Please recompile $tmp with --enable-ldap or use --with-openldap." "$LINENO" 5 fi fi @@ -17953,48 +15093,48 @@ Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} fi elif test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO enable_nss_module=no else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MOZILLA=NO BUILD_TYPE="$BUILD_TYPE MOZ" if test -z "$with_mozilla_version"; then MOZILLA_VERSION= else - echo "$as_me:$LINENO: checking which mozilla version to build" >&5 -echo $ECHO_N "checking which mozilla version to build... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which mozilla version to build" >&5 +$as_echo_n "checking which mozilla version to build... " >&6; } MOZILLA_VERSION=$with_mozilla_version enable_build_mozilla=1 - echo "$as_me:$LINENO: result: $MOZILLA_VERSION" >&5 -echo "${ECHO_T}$MOZILLA_VERSION" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLA_VERSION" >&5 +$as_echo "$MOZILLA_VERSION" >&6; } fi -echo "$as_me:$LINENO: checking for toolkit mozilla should use" >&5 -echo $ECHO_N "checking for toolkit mozilla should use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for toolkit mozilla should use" >&5 +$as_echo_n "checking for toolkit mozilla should use... " >&6; } if test -z "$with_mozilla_toolkit"; then if test "$_os" != "WINNT" ; then if test "$_os" = "Darwin" ; then MOZILLA_TOOLKIT=mac - echo "$as_me:$LINENO: result: mac" >&5 -echo "${ECHO_T}mac" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: mac" >&5 +$as_echo "mac" >&6; } else MOZILLA_TOOLKIT=gtk2 - echo "$as_me:$LINENO: result: gtk2" >&5 -echo "${ECHO_T}gtk2" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gtk2" >&5 +$as_echo "gtk2" >&6; } fi fi else MOZILLA_TOOLKIT=$with_mozilla_toolkit enable_build_mozilla=1 - echo "$as_me:$LINENO: result: $MOZILLA_TOOLKIT" >&5 -echo "${ECHO_T}$MOZILLA_TOOLKIT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLA_TOOLKIT" >&5 +$as_echo "$MOZILLA_TOOLKIT" >&6; } fi #if test "$_os" = "Darwin" && test "$MOZILLA_TOOLKIT" != "gtk2"; then # #only gtk2 toolkit supported - xlib or cocoa nees glib1 and libIDL1 - the latter is not @@ -18011,63 +15151,55 @@ else enable_build_mozilla= fi -echo "$as_me:$LINENO: checking whether to build Mozilla/SeaMonkey" >&5 -echo $ECHO_N "checking whether to build Mozilla/SeaMonkey... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Mozilla/SeaMonkey" >&5 +$as_echo_n "checking whether to build Mozilla/SeaMonkey... " >&6; } if test -n "$enable_build_mozilla"; then BUILD_MOZAB="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else BUILD_MOZAB="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5 -echo $ECHO_N "checking whether to build provided NSS module... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build provided NSS module" >&5 +$as_echo_n "checking whether to build provided NSS module... " >&6; } if test "$enable_nss_module" != "no"; then ENABLE_NSS_MODULE="YES" BUILD_TYPE="$BUILD_TYPE NSS" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5 -echo $ECHO_N "checking for Mozilla build tooling... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mozilla build tooling" >&5 +$as_echo_n "checking for Mozilla build tooling... " >&6; } if test -z "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling not found. -Use the --with-mozilla-build option after installling the tools obtained -from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" >&5 -echo "$as_me: error: Mozilla build tooling not found. +as_fn_error "Mozilla build tooling not found. Use the --with-mozilla-build option after installling the tools obtained -from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" >&2;} - { (exit 1); exit 1; }; } +from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" "$LINENO" 5 else if test \( "$WITH_MINGWIN" = "yes" \) ; then if test ! -d "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} - { (exit 1); exit 1; }; } +as_fn_error "Mozilla build tooling incomplete!" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi else if test ! -d "$MOZILLABUILD/moztools" \ -o ! -d "$MOZILLABUILD/msys" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} - { (exit 1); exit 1; }; } +as_fn_error "Mozilla build tooling incomplete!" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi fi fi fi else ENABLE_NSS_MODULE="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi if test "$BUILD_MOZAB" = "TRUE"; then @@ -18075,13 +15207,11 @@ if test "$BUILD_MOZAB" = "TRUE"; then if test "$WITH_MINGWIN" != "yes"; then # compiling with MSVC. Only supported platform here is MSVS2005 at the moment. if test "$MSVSVER" != "2005"; then - { { echo "$as_me:$LINENO: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&5 -echo "$as_me: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." "$LINENO" 5 fi else - { echo "$as_me:$LINENO: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 -echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 +$as_echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} echo "Building SeaMonkey with mingwin is not tested, and likely to break." >> warn fi fi @@ -18091,65 +15221,59 @@ echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely fi MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source" MOZILLA_FETCH_FILE=`grep $MOZILLA_SOURCE_VERSION ooo.lst` - echo "$as_me:$LINENO: checking for mozilla sources" >&5 -echo $ECHO_N "checking for mozilla sources... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mozilla sources" >&5 +$as_echo_n "checking for mozilla sources... " >&6; } if test -z "$MOZILLA_FETCH_FILE"; then - echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } HAVE_MOZILLA_TARBALL=n else - echo "$as_me:$LINENO: checking for $MOZILLA_FETCH_FILE" >&5 -echo $ECHO_N "checking for $MOZILLA_FETCH_FILE... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZILLA_FETCH_FILE" >&5 +$as_echo_n "checking for $MOZILLA_FETCH_FILE... " >&6; } if test ! -e "$TARFILE_LOCATION/$MOZILLA_FETCH_FILE"; then if test -z "$DO_FETCH"; then - echo "$as_me:$LINENO: result: will be fetched" >&5 -echo "${ECHO_T}will be fetched" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: will be fetched" >&5 +$as_echo "will be fetched" >&6; } HAVE_MOZILLA_TARBALL=y else - echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } HAVE_MOZILLA_TARBALL=n fi else - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } HAVE_MOZILLA_TARBALL=y fi fi if test "$HAVE_MOZILLA_TARBALL" != "y"; then - { { echo "$as_me:$LINENO: error: Mozilla/SeaMonkey source archive not found. -Use \"./fetch_tarballs.sh ooo.lst\" to download." >&5 -echo "$as_me: error: Mozilla/SeaMonkey source archive not found. -Use \"./fetch_tarballs.sh ooo.lst\" to download." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Mozilla/SeaMonkey source archive not found. +Use \"./fetch_tarballs.sh ooo.lst\" to download." "$LINENO" 5 fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for moztools binaries" >&5 -echo $ECHO_N "checking for moztools binaries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for moztools binaries" >&5 +$as_echo_n "checking for moztools binaries... " >&6; } if test ! -e "$TARFILE_LOCATION/vc8-moztools.zip" ; then - { { echo "$as_me:$LINENO: error: The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip -(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&5 -echo "$as_me: error: The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip -(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip +(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi elif test "$_os" = "Darwin"; then if test "$MOZILLA_TOOLKIT" = "gtk2"; then - { echo "$as_me:$LINENO: checking whether mozilla can be built..." >&5 -echo "$as_me: checking whether mozilla can be built..." >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mozilla can be built..." >&5 +$as_echo "$as_me: checking whether mozilla can be built..." >&6;} succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18161,29 +15285,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18194,25 +15319,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZGTK2_CFLAGS" >&5 -echo $ECHO_N "checking MOZGTK2_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZGTK2_CFLAGS" >&5 +$as_echo_n "checking MOZGTK2_CFLAGS... " >&6; } MOZGTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` - echo "$as_me:$LINENO: result: $MOZGTK2_CFLAGS" >&5 -echo "${ECHO_T}$MOZGTK2_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZGTK2_CFLAGS" >&5 +$as_echo "$MOZGTK2_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZGTK2_LIBS" >&5 -echo $ECHO_N "checking MOZGTK2_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZGTK2_LIBS" >&5 +$as_echo_n "checking MOZGTK2_LIBS... " >&6; } MOZGTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` - echo "$as_me:$LINENO: result: $MOZGTK2_LIBS" >&5 -echo "${ECHO_T}$MOZGTK2_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZGTK2_LIBS" >&5 +$as_echo "$MOZGTK2_LIBS" >&6; } else MOZGTK2_CFLAGS="" MOZGTK2_LIBS="" @@ -18231,12 +15356,10 @@ echo "${ECHO_T}$MOZGTK2_LIBS" >&6 fi if test $succeeded = yes; then - { echo "$as_me:$LINENO: OK - can build mozilla" >&5 -echo "$as_me: OK - can build mozilla" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: OK - can build mozilla" >&5 +$as_echo "$as_me: OK - can build mozilla" >&6;} else - { { echo "$as_me:$LINENO: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&5 -echo "$as_me: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" "$LINENO" 5 fi else @@ -18246,10 +15369,10 @@ echo "$as_me: error: Prerequisites to build mozilla not met. Either use the prec if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18261,29 +15384,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18294,25 +15418,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.6.3" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.6.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libIDL-2.0 >= 0.6.3" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.6.3... " >&6; } if $PKG_CONFIG --exists "libIDL-2.0 >= 0.6.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18337,9 +15461,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&5 -echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." "$LINENO" 5 fi fi else @@ -18351,10 +15473,10 @@ echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac t if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18366,29 +15488,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18399,25 +15522,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0" >&5 -echo $ECHO_N "checking for gtk+-2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0" >&5 +$as_echo_n "checking for gtk+-2.0... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+-2.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18442,9 +15565,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: GTK2 is needed to build mozilla." >&5 -echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "GTK2 is needed to build mozilla." "$LINENO" 5 fi succeeded=no @@ -18452,10 +15573,10 @@ echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18467,29 +15588,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18500,25 +15622,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.8.0" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.8.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libIDL-2.0 >= 0.8.0" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.8.0... " >&6; } if $PKG_CONFIG --exists "libIDL-2.0 >= 0.8.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.8.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.8.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18543,9 +15665,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." "$LINENO" 5 fi else @@ -18554,10 +15674,10 @@ echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla. if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18569,29 +15689,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18602,25 +15723,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+ >= 1.2.3" >&5 -echo $ECHO_N "checking for gtk+ >= 1.2.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+ >= 1.2.3" >&5 +$as_echo_n "checking for gtk+ >= 1.2.3... " >&6; } if $PKG_CONFIG --exists "gtk+ >= 1.2.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+ >= 1.2.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+ >= 1.2.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18645,9 +15766,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gtk 1.2 is needed when not using GTK2 to build mozilla." "$LINENO" 5 fi succeeded=no @@ -18655,10 +15774,10 @@ echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >& if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18670,29 +15789,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18703,25 +15823,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 -echo $ECHO_N "checking for libidl >= 0.6.3 libidl <= 0.6.8... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 +$as_echo_n "checking for libidl >= 0.6.3 libidl <= 0.6.8... " >&6; } if $PKG_CONFIG --exists "libidl >= 0.6.3 libidl <= 0.6.8" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libidl >= 0.6.3 libidl <= 0.6.8"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libidl >= 0.6.3 libidl <= 0.6.8"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18746,9 +15866,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." "$LINENO" 5 fi fi fi @@ -18768,225 +15886,61 @@ fi -echo "$as_me:$LINENO: checking which sane header to use" >&5 -echo $ECHO_N "checking which sane header to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which sane header to use" >&5 +$as_echo_n "checking which sane header to use... " >&6; } if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \ test "$with_system_sane_header" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SANE_HEADER=YES - if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 -if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking sane/sane.h usability" >&5 -echo $ECHO_N "checking sane/sane.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking sane/sane.h presence" >&5 -echo $ECHO_N "checking sane/sane.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: sane/sane.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sane/sane.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sane/sane.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sane/sane.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 -if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_sane_sane_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "sane/sane.h" "ac_cv_header_sane_sane_h" "$ac_includes_default" +if test "x$ac_cv_header_sane_sane_h" = x""yes; then : -fi -if test $ac_cv_header_sane_sane_h = yes; then - : else - { { echo "$as_me:$LINENO: error: sane not found. install sane" >&5 -echo "$as_me: error: sane not found. install sane" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "sane not found. install sane" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SANE_HEADER=NO BUILD_TYPE="$BUILD_TYPE SANE" fi -echo "$as_me:$LINENO: checking which icu to use" >&5 -echo $ECHO_N "checking which icu to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which icu to use" >&5 +$as_echo_n "checking which icu to use... " >&6; } if test -n "$with_system_icu" -o -n "$with_system_libs" && \ test "$with_system_icu" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ICU=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - echo "$as_me:$LINENO: checking for unicode/rbbi.h" >&5 -echo $ECHO_N "checking for unicode/rbbi.h... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unicode/rbbi.h" >&5 +$as_echo_n "checking for unicode/rbbi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unicode/rbbi.h _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 +if ac_fn_cxx_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { { echo "$as_me:$LINENO: error: icu headers not found." >&5 -echo "$as_me: error: icu headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "icu headers not found." "$LINENO" 5 fi rm -f conftest.err conftest.$ac_ext # Extract the first word of "genbrk", so it can be a program name with args. set dummy genbrk; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENBRK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENBRK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENBRK in [\\/]* | ?:[\\/]*) @@ -18999,39 +15953,38 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENBRK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENBRK=$ac_cv_path_SYSTEM_GENBRK - if test -n "$SYSTEM_GENBRK"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENBRK" >&5 -echo "${ECHO_T}$SYSTEM_GENBRK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENBRK" >&5 +$as_echo "$SYSTEM_GENBRK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENBRK"; then - { { echo "$as_me:$LINENO: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&5 -echo "$as_me: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" "$LINENO" 5 fi # Extract the first word of "genccode", so it can be a program name with args. set dummy genccode; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENCCODE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENCCODE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCCODE in [\\/]* | ?:[\\/]*) @@ -19044,39 +15997,38 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCCODE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCCODE=$ac_cv_path_SYSTEM_GENCCODE - if test -n "$SYSTEM_GENCCODE"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENCCODE" >&5 -echo "${ECHO_T}$SYSTEM_GENCCODE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENCCODE" >&5 +$as_echo "$SYSTEM_GENCCODE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCCODE"; then - { { echo "$as_me:$LINENO: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&5 -echo "$as_me: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" "$LINENO" 5 fi # Extract the first word of "gencmn", so it can be a program name with args. set dummy gencmn; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENCMN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENCMN+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCMN in [\\/]* | ?:[\\/]*) @@ -19089,47 +16041,41 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCMN="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCMN=$ac_cv_path_SYSTEM_GENCMN - if test -n "$SYSTEM_GENCMN"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENCMN" >&5 -echo "${ECHO_T}$SYSTEM_GENCMN" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENCMN" >&5 +$as_echo "$SYSTEM_GENCMN" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCMN"; then - { { echo "$as_me:$LINENO: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&5 -echo "$as_me: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking ICU version" >&5 -echo $ECHO_N "checking ICU version... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ICU version" >&5 +$as_echo_n "checking ICU version... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -19142,31 +16088,16 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: not suitable, only >= 4.0 supported currently" >&5 -echo "$as_me: error: not suitable, only >= 4.0 supported currently" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not suitable, only >= 4.0 supported currently" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -19174,8 +16105,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ICU=NO BUILD_TYPE="$BUILD_TYPE ICU" fi @@ -19185,18 +16116,18 @@ fi -echo "$as_me:$LINENO: checking whether to enable graphite support" >&5 -echo $ECHO_N "checking whether to enable graphite support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable graphite support" >&5 +$as_echo_n "checking whether to enable graphite support... " >&6; } if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_GRAPHITE="TRUE" - echo "$as_me:$LINENO: checking which graphite to use" >&5 -echo $ECHO_N "checking which graphite to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which graphite to use" >&5 +$as_echo_n "checking which graphite to use... " >&6; } if test -n "$with_system_graphite" -o -n "$with_system_libs" && \ test "$with_system_graphite" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_GRAPHITE=YES succeeded=no @@ -19204,10 +16135,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -19219,29 +16150,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -19252,25 +16184,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for silgraphite " >&5 -echo $ECHO_N "checking for silgraphite ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for silgraphite " >&5 +$as_echo_n "checking for silgraphite ... " >&6; } if $PKG_CONFIG --exists "silgraphite " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5 -echo $ECHO_N "checking GRAPHITE_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GRAPHITE_CFLAGS" >&5 +$as_echo_n "checking GRAPHITE_CFLAGS... " >&6; } GRAPHITE_CFLAGS=`$PKG_CONFIG --cflags "silgraphite "` - echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5 -echo "${ECHO_T}$GRAPHITE_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GRAPHITE_CFLAGS" >&5 +$as_echo "$GRAPHITE_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5 -echo $ECHO_N "checking GRAPHITE_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GRAPHITE_LIBS" >&5 +$as_echo_n "checking GRAPHITE_LIBS... " >&6; } GRAPHITE_LIBS=`$PKG_CONFIG --libs "silgraphite "` - echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5 -echo "${ECHO_T}$GRAPHITE_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GRAPHITE_LIBS" >&5 +$as_echo "$GRAPHITE_LIBS" >&6; } else GRAPHITE_CFLAGS="" GRAPHITE_LIBS="" @@ -19291,20 +16223,18 @@ echo "${ECHO_T}$GRAPHITE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_GRAPHITE=NO BUILD_TYPE="$BUILD_TYPE GRAPHITE" fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -19314,15 +16244,13 @@ fi if test "$_os" = "Darwin"; then if test "x$with_x" = "xyes"; then - { { echo "$as_me:$LINENO: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&5 -echo "$as_me: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X11 build is no longer supported on MacOSX, please use the native aqua build" "$LINENO" 5 else - echo "$as_me:$LINENO: checking for /System/Library/Frameworks/AppKit.framework" >&5 -echo $ECHO_N "checking for /System/Library/Frameworks/AppKit.framework... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /System/Library/Frameworks/AppKit.framework" >&5 +$as_echo_n "checking for /System/Library/Frameworks/AppKit.framework... " >&6; } if test -d "/System/Library/Frameworks/AppKit.framework/"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } x_includes="no_x_includes" x_libraries="no_x_libraries" enable_gtk=no @@ -19330,9 +16258,7 @@ echo "${ECHO_T}yes" >&6 ENABLE_CUPS="" else - { { echo "$as_me:$LINENO: error: No AppKit.framewrok found" >&5 -echo "$as_me: error: No AppKit.framewrok found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No AppKit.framewrok found" "$LINENO" 5 fi fi fi @@ -19344,44 +16270,47 @@ elif test "$_os" = "OS2" ; then echo "Do Nothing for _os = OS2. Don't check for X11." : elif test "$_os" != "WINNT" ; then - echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi -fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else - if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + case $x_includes,$x_libraries in #( + *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : + $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no -rm -fr conftest.dir +rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -_ACEOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done @@ -19389,37 +16318,41 @@ _ACEOF # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in - /usr/include) ;; + /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in - /usr/lib | /lib) ;; + /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. - rm -fr conftest.dir + rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include +/usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 +/usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include +/usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 +/usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 @@ -19439,42 +16372,18 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # We can compile using X headers with no special include directory. ac_x_includes= else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then + if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi @@ -19488,102 +16397,76 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lXt $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -XtMalloc (0) +XrmInitialize () ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r $ac_dir/libXt.$ac_extension; then + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no -if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac fi - - fi +;; #( + *) have_x=yes;; + esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then - echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. -cat >>confdefs.h <<\_ACEOF -#define X_DISPLAY_MISSING 1 -_ACEOF +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else @@ -19596,16 +16479,12 @@ else X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . - case `(uname -sr) 2>/dev/null` in - "SunOS 5"*) - echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 - ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -19616,48 +16495,13 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_nospace=yes +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_R_nospace=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $ac_R_nospace = yes; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - X_LIBS="$X_LIBS -R$x_libraries" - else - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -19668,48 +16512,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_space=yes +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_R_space=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $ac_R_space = yes; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$as_me:$LINENO: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6 - fi - fi - LIBS=$ac_xsave_LIBS - esac +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS fi # Check for system-dependent libraries X programs must link with. @@ -19723,196 +16540,112 @@ echo "${ECHO_T}neither works" >&6 # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : -echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dnet_dnet_ntoa=no + ac_cv_lib_dnet_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_dnet_ntoa = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_stub_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dnet_stub_dnet_ntoa=no + ac_cv_lib_dnet_stub_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, @@ -19923,232 +16656,90 @@ rm -f conftest.err conftest.$ac_objext \ # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. - echo "$as_me:$LINENO: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. - For example, HP-UX 11i declares gettimeofday. */ -#define gethostbyname innocuous_gethostbyname - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef gethostbyname - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -char (*f) () = gethostbyname; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != gethostbyname; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = x""yes; then : -ac_cv_func_gethostbyname=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nsl_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_nsl_gethostbyname=no + ac_cv_lib_nsl_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -if test $ac_cv_lib_nsl_gethostbyname = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_bsd_gethostbyname=no + ac_cv_lib_bsd_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 -if test $ac_cv_lib_bsd_gethostbyname = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi @@ -20162,489 +16753,147 @@ fi # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. - echo "$as_me:$LINENO: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6 -if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define connect to an innocuous variant, in case declares connect. - For example, HP-UX 11i declares gettimeofday. */ -#define connect innocuous_connect - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef connect - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -choke me -#else -char (*f) () = connect; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != connect; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_connect=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = x""yes; then : -ac_cv_func_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then - echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if test "${ac_cv_lib_socket_connect+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char connect (); int main () { -connect (); +return connect (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_connect=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_socket_connect=no + ac_cv_lib_socket_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test $ac_cv_lib_socket_connect = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = x""yes; then : X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi - fi - - # Guillermo Gomez says -lposix is necessary on A/UX. - echo "$as_me:$LINENO: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6 -if test "${ac_cv_func_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define remove to an innocuous variant, in case declares remove. - For example, HP-UX 11i declares gettimeofday. */ -#define remove innocuous_remove - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char remove (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef remove - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) -choke me -#else -char (*f) () = remove; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != remove; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_remove=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6 - - if test $ac_cv_func_remove = no; then - echo "$as_me:$LINENO: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 -if test "${ac_cv_lib_posix_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (); -int -main () -{ -remove (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_posix_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_posix_remove=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 -if test $ac_cv_lib_posix_remove = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -fi - - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo "$as_me:$LINENO: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6 -if test "${ac_cv_func_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shmat to an innocuous variant, in case declares shmat. - For example, HP-UX 11i declares gettimeofday. */ -#define shmat innocuous_shmat - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shmat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + fi -#ifdef __STDC__ -# include -#else -# include -#endif + # Guillermo Gomez says -lposix is necessary on A/UX. + ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = x""yes; then : -#undef shmat +fi -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 + if test $ac_cv_func_remove = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if test "${ac_cv_lib_posix_remove+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -char shmat (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) -choke me -#else -char (*f) () = shmat; -#endif #ifdef __cplusplus -} +extern "C" #endif - +char remove (); int main () { -return f != shmat; +return remove (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shmat=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_shmat=no + ac_cv_lib_posix_remove=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = x""yes; then : + fi -echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then - echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 -if test "${ac_cv_lib_ipc_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if test "${ac_cv_lib_ipc_shmat+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char shmat (); int main () { -shmat (); +return shmat (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ipc_shmat=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ipc_shmat=no + ac_cv_lib_ipc_shmat=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 -if test $ac_cv_lib_ipc_shmat = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi @@ -20660,71 +16909,43 @@ fi # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry - echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 -if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); int main () { -IceConnectionNumber (); +return IceConnectionNumber (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ICE_IceConnectionNumber=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ICE_IceConnectionNumber=no + ac_cv_lib_ICE_IceConnectionNumber=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 -if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then : X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi @@ -20741,154 +16962,92 @@ fi x_libraries="default_x_libraries" fi if test -z "$x_libraries"; then - { { echo "$as_me:$LINENO: error: No X libraries found" >&5 -echo "$as_me: error: No X libraries found" >&2;} - { (exit 1); exit 1; }; } # Exit + as_fn_error "No X libraries found" "$LINENO" 5 # Exit fi if test -z "$x_includes"; then - { { echo "$as_me:$LINENO: error: No X includes found" >&5 -echo "$as_me: error: No X includes found" >&2;} - { (exit 1); exit 1; }; } # Exit + as_fn_error "No X includes found" "$LINENO" 5 # Exit fi CFLAGS=$X_CFLAGS LDFLAGS="$X_LDFLAGS $X_LIBS" - echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XOpenDisplay in -lX11" >&5 +$as_echo_n "checking for XOpenDisplay in -lX11... " >&6; } +if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_X11_XOpenDisplay=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_X11_XOpenDisplay=no + ac_cv_lib_X11_XOpenDisplay=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 -if test $ac_cv_lib_X11_XOpenDisplay = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XOpenDisplay" >&5 +$as_echo "$ac_cv_lib_X11_XOpenDisplay" >&6; } +if test "x$ac_cv_lib_X11_XOpenDisplay" = x""yes; then : x_libs="-lX11 $X_EXTRA_LIBS" else - { { echo "$as_me:$LINENO: error: X Development libraries not found" >&5 -echo "$as_me: error: X Development libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X Development libraries not found" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for XauDisposeAuth in -lXau" >&5 -echo $ECHO_N "checking for XauDisposeAuth in -lXau... $ECHO_C" >&6 -if test "${ac_cv_lib_Xau_XauDisposeAuth+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XauDisposeAuth in -lXau" >&5 +$as_echo_n "checking for XauDisposeAuth in -lXau... " >&6; } +if test "${ac_cv_lib_Xau_XauDisposeAuth+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXau $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XauDisposeAuth (); int main () { -XauDisposeAuth (); +return XauDisposeAuth (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xau_XauDisposeAuth=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xau_XauDisposeAuth=no + ac_cv_lib_Xau_XauDisposeAuth=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 -echo "${ECHO_T}$ac_cv_lib_Xau_XauDisposeAuth" >&6 -if test $ac_cv_lib_Xau_XauDisposeAuth = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 +$as_echo "$ac_cv_lib_Xau_XauDisposeAuth" >&6; } +if test "x$ac_cv_lib_Xau_XauDisposeAuth" = x""yes; then : XAU_LIBS="-lXau" fi @@ -20920,205 +17079,76 @@ fi if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then - echo "$as_me:$LINENO: checking whether to use Xaw" >&5 -echo $ECHO_N "checking whether to use Xaw... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Xaw" >&5 +$as_echo_n "checking whether to use Xaw... " >&6; } if test "$enable_Xaw" = "no"; then DISABLE_XAW=TRUE - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - -for ac_header in X11/Composite.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + for ac_header in X11/Composite.h +do : + ac_fn_c_check_header_compile "$LINENO" "X11/Composite.h" "ac_cv_header_X11_Composite_h" "#include +" +if test "x$ac_cv_header_X11_Composite_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_X11_COMPOSITE_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xt include headers not found" >&5 -echo "$as_me: error: Xt include headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xt include headers not found" "$LINENO" 5 fi done else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -for ac_header in X11/Xaw/Label.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + for ac_header in X11/Xaw/Label.h +do : + ac_fn_c_check_header_compile "$LINENO" "X11/Xaw/Label.h" "ac_cv_header_X11_Xaw_Label_h" "#include +" +if test "x$ac_cv_header_X11_Xaw_Label_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_X11_XAW_LABEL_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xaw include headers not found" >&5 -echo "$as_me: error: Xaw include headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xaw include headers not found" "$LINENO" 5 fi done - -echo "$as_me:$LINENO: checking for main in -lXaw" >&5 -echo $ECHO_N "checking for main in -lXaw... $ECHO_C" >&6 -if test "${ac_cv_lib_Xaw_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lXaw" >&5 +$as_echo_n "checking for main in -lXaw... " >&6; } +if test "${ac_cv_lib_Xaw_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXaw $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xaw_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xaw_main=no + ac_cv_lib_Xaw_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xaw_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xaw_main" >&6 -if test $ac_cv_lib_Xaw_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xaw_main" >&5 +$as_echo "$ac_cv_lib_Xaw_main" >&6; } +if test "x$ac_cv_lib_Xaw_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXAW 1 _ACEOF @@ -21126,9 +17156,7 @@ _ACEOF LIBS="-lXaw $LIBS" else - { { echo "$as_me:$LINENO: error: Xaw library not found or functional" >&5 -echo "$as_me: error: Xaw library not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xaw library not found or functional" "$LINENO" 5 fi fi @@ -21138,166 +17166,23 @@ fi if test "$ENABLE_FONTCONFIG" = "TRUE" ; then - if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 -if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h usability" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_header_mongrel "$LINENO" "fontconfig/fontconfig.h" "ac_cv_header_fontconfig_fontconfig_h" "$ac_includes_default" +if test "x$ac_cv_header_fontconfig_fontconfig_h" = x""yes; then : -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h presence" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 -if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_fontconfig_fontconfig_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 - -fi -if test $ac_cv_header_fontconfig_fontconfig_h = yes; then - : else - { { echo "$as_me:$LINENO: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&5 -echo "$as_me: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether fontconfig is >= 2.2.0" >&5 -echo $ECHO_N "checking whether fontconfig is >= 2.2.0... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fontconfig is >= 2.2.0" >&5 +$as_echo_n "checking whether fontconfig is >= 2.2.0... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -21308,271 +17193,89 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, fontconfig >= 2.2.0 needed" >&5 -echo "$as_me: error: no, fontconfig >= 2.2.0 needed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, fontconfig >= 2.2.0 needed" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi -echo "$as_me:$LINENO: checking whether to link to Xrender" >&5 -echo $ECHO_N "checking whether to link to Xrender... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to Xrender" >&5 +$as_echo_n "checking whether to link to Xrender... " >&6; } if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } XRENDER_LINK=YES with_system_xrender_headers=yes else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } XRENDER_LINK=NO fi -echo "$as_me:$LINENO: checking which Xrender headers to use" >&5 -echo $ECHO_N "checking which Xrender headers to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which Xrender headers to use" >&5 +$as_echo_n "checking which Xrender headers to use... " >&6; } if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \ test "$with_system_xrender_headers" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_XRENDER_HEADERS=YES - if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xrender_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrender.h" "ac_cv_header_X11_extensions_Xrender_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xrender_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xrender_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Xrender not found. install X" >&5 -echo "$as_me: error: Xrender not found. install X" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xrender not found. install X" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_XRENDER_HEADERS=NO BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" fi if test "$XRENDER_LINK" = "YES"; then - -echo "$as_me:$LINENO: checking for XRenderQueryVersion in -lXrender" >&5 -echo $ECHO_N "checking for XRenderQueryVersion in -lXrender... $ECHO_C" >&6 -if test "${ac_cv_lib_Xrender_XRenderQueryVersion+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRenderQueryVersion in -lXrender" >&5 +$as_echo_n "checking for XRenderQueryVersion in -lXrender... " >&6; } +if test "${ac_cv_lib_Xrender_XRenderQueryVersion+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrender $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRenderQueryVersion (); int main () { -XRenderQueryVersion (); +return XRenderQueryVersion (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xrender_XRenderQueryVersion=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xrender_XRenderQueryVersion=no + ac_cv_lib_Xrender_XRenderQueryVersion=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrender_XRenderQueryVersion" >&6 -if test $ac_cv_lib_Xrender_XRenderQueryVersion = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 +$as_echo "$ac_cv_lib_Xrender_XRenderQueryVersion" >&6; } +if test "x$ac_cv_lib_Xrender_XRenderQueryVersion" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRENDER 1 _ACEOF @@ -21580,22 +17283,20 @@ _ACEOF LIBS="-lXrender $LIBS" else - { { echo "$as_me:$LINENO: error: libXrender not found or functional" >&5 -echo "$as_me: error: libXrender not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libXrender not found or functional" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking whether to enable RandR support" >&5 -echo $ECHO_N "checking whether to enable RandR support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable RandR support" >&5 +$as_echo_n "checking whether to enable RandR support... " >&6; } if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then XRANDR_DLOPEN="TRUE" - echo "$as_me:$LINENO: result: resorting to dlopen libXrandr at runtime" >&5 -echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: resorting to dlopen libXrandr at runtime" >&5 +$as_echo "resorting to dlopen libXrandr at runtime" >&6; } else XRANDR_DLOPEN="FALSE" @@ -21604,10 +17305,10 @@ echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -21619,29 +17320,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -21652,25 +17354,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for xrandr >= 1.2" >&5 -echo $ECHO_N "checking for xrandr >= 1.2... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xrandr >= 1.2" >&5 +$as_echo_n "checking for xrandr >= 1.2... " >&6; } if $PKG_CONFIG --exists "xrandr >= 1.2" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking XRANDR_CFLAGS" >&5 -echo $ECHO_N "checking XRANDR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking XRANDR_CFLAGS" >&5 +$as_echo_n "checking XRANDR_CFLAGS... " >&6; } XRANDR_CFLAGS=`$PKG_CONFIG --cflags "xrandr >= 1.2"` - echo "$as_me:$LINENO: result: $XRANDR_CFLAGS" >&5 -echo "${ECHO_T}$XRANDR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XRANDR_CFLAGS" >&5 +$as_echo "$XRANDR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking XRANDR_LIBS" >&5 -echo $ECHO_N "checking XRANDR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking XRANDR_LIBS" >&5 +$as_echo_n "checking XRANDR_LIBS... " >&6; } XRANDR_LIBS=`$PKG_CONFIG --libs "xrandr >= 1.2"` - echo "$as_me:$LINENO: result: $XRANDR_LIBS" >&5 -echo "${ECHO_T}$XRANDR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XRANDR_LIBS" >&5 +$as_echo "$XRANDR_LIBS" >&6; } else XRANDR_CFLAGS="" XRANDR_LIBS="" @@ -21683,231 +17385,64 @@ echo "${ECHO_T}$XRANDR_LIBS" >&6 else - echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." - echo "*** See http://www.freedesktop.org/software/pkgconfig" - fi - fi - - if test $succeeded = yes; then - ENABLE_RANDR="TRUE" - else - ENABLE_RANDR="" - fi - - if test "$ENABLE_RANDR" != "TRUE"; then - if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + if test $succeeded = yes; then + ENABLE_RANDR="TRUE" else - ac_cpp_err= + ENABLE_RANDR="" fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xrandr_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 + if test "$ENABLE_RANDR" != "TRUE"; then + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xrandr_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xrandr_h = yes; then - : else - { { echo "$as_me:$LINENO: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&5 -echo "$as_me: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X11/extensions/Xrandr.h could not be found. X11 dev missing?" "$LINENO" 5 fi XRANDR_CFLAGS=" " - -echo "$as_me:$LINENO: checking for XRRQueryExtension in -lXrandr" >&5 -echo $ECHO_N "checking for XRRQueryExtension in -lXrandr... $ECHO_C" >&6 -if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRQueryExtension in -lXrandr" >&5 +$as_echo_n "checking for XRRQueryExtension in -lXrandr... " >&6; } +if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrandr $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRRQueryExtension (); int main () { -XRRQueryExtension (); +return XRRQueryExtension (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xrandr_XRRQueryExtension=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xrandr_XRRQueryExtension=no + ac_cv_lib_Xrandr_XRRQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRQueryExtension" >&6 -if test $ac_cv_lib_Xrandr_XRRQueryExtension = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 +$as_echo "$ac_cv_lib_Xrandr_XRRQueryExtension" >&6; } +if test "x$ac_cv_lib_Xrandr_XRRQueryExtension" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRANDR 1 _ACEOF @@ -21915,53 +17450,51 @@ _ACEOF LIBS="-lXrandr $LIBS" else - { { echo "$as_me:$LINENO: error: libXrandr not found or functional" >&5 -echo "$as_me: error: libXrandr not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libXrandr not found or functional" "$LINENO" 5 fi XRANDR_LIBS="-lXrandr " ENABLE_RANDR="TRUE" - echo "$as_me:$LINENO: result: enabling RandR support" >&5 -echo "${ECHO_T}enabling RandR support" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabling RandR support" >&5 +$as_echo "enabling RandR support" >&6; } fi fi else ENABLE_RANDR="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to use neon" >&5 -echo $ECHO_N "checking whether to use neon... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use neon" >&5 +$as_echo_n "checking whether to use neon... " >&6; } if test "$enable_neon" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } DISABLE_NEON=TRUE else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -echo "$as_me:$LINENO: checking which neon to use" >&5 -echo $ECHO_N "checking which neon to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which neon to use" >&5 +$as_echo_n "checking which neon to use... " >&6; } if test -n "$with_system_neon" -o -n "$with_system_libs" && \ test "$with_system_neon" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -21973,29 +17506,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22006,25 +17540,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for neon >= 0.24.0" >&5 -echo $ECHO_N "checking for neon >= 0.24.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for neon >= 0.24.0" >&5 +$as_echo_n "checking for neon >= 0.24.0... " >&6; } if $PKG_CONFIG --exists "neon >= 0.24.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking NEON_CFLAGS" >&5 -echo $ECHO_N "checking NEON_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking NEON_CFLAGS" >&5 +$as_echo_n "checking NEON_CFLAGS... " >&6; } NEON_CFLAGS=`$PKG_CONFIG --cflags "neon >= 0.24.0"` - echo "$as_me:$LINENO: result: $NEON_CFLAGS" >&5 -echo "${ECHO_T}$NEON_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEON_CFLAGS" >&5 +$as_echo "$NEON_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking NEON_LIBS" >&5 -echo $ECHO_N "checking NEON_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking NEON_LIBS" >&5 +$as_echo_n "checking NEON_LIBS... " >&6; } NEON_LIBS=`$PKG_CONFIG --libs "neon >= 0.24.0"` - echo "$as_me:$LINENO: result: $NEON_LIBS" >&5 -echo "${ECHO_T}$NEON_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEON_LIBS" >&5 +$as_echo "$NEON_LIBS" >&6; } else NEON_CFLAGS="" NEON_LIBS="" @@ -22045,17 +17579,15 @@ echo "${ECHO_T}$NEON_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: you need neon >= 0.24.x for system-neon" >&5 -echo "$as_me: error: you need neon >= 0.24.x for system-neon" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "you need neon >= 0.24.x for system-neon" "$LINENO" 5 fi NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`" NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1" SYSTEM_NEON=YES else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_NEON=NO NEON_LIBS=-lneon NEON_CFLAGS= @@ -22070,12 +17602,12 @@ fi if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then with_system_openssl=yes fi -echo "$as_me:$LINENO: checking which libssl to use" >&5 -echo $ECHO_N "checking which libssl to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libssl to use" >&5 +$as_echo_n "checking which libssl to use... " >&6; } if test -n "$with_system_openssl" -o -n "$with_system_libs" && \ test "$with_system_openssl" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } # Mac OS builds should get out without extra stuff is the Mac porters' # wish. And pkg-config is although Xcode ships a .pc for openssl if test "$_os" = "Darwin"; then @@ -22088,10 +17620,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22103,29 +17635,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22136,25 +17669,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for openssl " >&5 -echo $ECHO_N "checking for openssl ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl " >&5 +$as_echo_n "checking for openssl ... " >&6; } if $PKG_CONFIG --exists "openssl " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking OPENSSL_CFLAGS" >&5 -echo $ECHO_N "checking OPENSSL_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OPENSSL_CFLAGS" >&5 +$as_echo_n "checking OPENSSL_CFLAGS... " >&6; } OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl "` - echo "$as_me:$LINENO: result: $OPENSSL_CFLAGS" >&5 -echo "${ECHO_T}$OPENSSL_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL_CFLAGS" >&5 +$as_echo "$OPENSSL_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking OPENSSL_LIBS" >&5 -echo $ECHO_N "checking OPENSSL_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OPENSSL_LIBS" >&5 +$as_echo_n "checking OPENSSL_LIBS... " >&6; } OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl "` - echo "$as_me:$LINENO: result: $OPENSSL_LIBS" >&5 -echo "${ECHO_T}$OPENSSL_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL_LIBS" >&5 +$as_echo "$OPENSSL_LIBS" >&6; } else OPENSSL_CFLAGS="" OPENSSL_LIBS="" @@ -22175,16 +17708,14 @@ echo "${ECHO_T}$OPENSSL_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi SYSTEM_OPENSSL=YES else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_OPENSSL=NO BUILD_TYPE="$BUILD_TYPE OPENSSL" fi @@ -22192,33 +17723,33 @@ fi -echo "$as_me:$LINENO: checking whether to enable agg" >&5 -echo $ECHO_N "checking whether to enable agg... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable agg" >&5 +$as_echo_n "checking whether to enable agg... " >&6; } if test "$with_agg" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_AGG=YES - echo "$as_me:$LINENO: checking which AGG to use" >&5 -echo $ECHO_N "checking which AGG to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which AGG to use" >&5 +$as_echo_n "checking which AGG to use... " >&6; } if test -n "$with_system_agg" -o -n "$with_system_libs" && \ test "$with_system_agg" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22230,29 +17761,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22263,25 +17795,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libagg >= 2.3" >&5 -echo $ECHO_N "checking for libagg >= 2.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libagg >= 2.3" >&5 +$as_echo_n "checking for libagg >= 2.3... " >&6; } if $PKG_CONFIG --exists "libagg >= 2.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking AGG_CFLAGS" >&5 -echo $ECHO_N "checking AGG_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking AGG_CFLAGS" >&5 +$as_echo_n "checking AGG_CFLAGS... " >&6; } AGG_CFLAGS=`$PKG_CONFIG --cflags "libagg >= 2.3"` - echo "$as_me:$LINENO: result: $AGG_CFLAGS" >&5 -echo "${ECHO_T}$AGG_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AGG_CFLAGS" >&5 +$as_echo "$AGG_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking AGG_LIBS" >&5 -echo $ECHO_N "checking AGG_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking AGG_LIBS" >&5 +$as_echo_n "checking AGG_LIBS... " >&6; } AGG_LIBS=`$PKG_CONFIG --libs "libagg >= 2.3"` - echo "$as_me:$LINENO: result: $AGG_LIBS" >&5 -echo "${ECHO_T}$AGG_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AGG_LIBS" >&5 +$as_echo "$AGG_LIBS" >&6; } else AGG_CFLAGS="" AGG_LIBS="" @@ -22302,13 +17834,11 @@ echo "${ECHO_T}$AGG_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking agg version" >&5 -echo $ECHO_N "checking agg version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking agg version" >&5 +$as_echo_n "checking agg version... " >&6; } # workaround; if AGG_CFLAGS is empty (broken libagg.pc in 2.3), add /usr/include/agg2 anyway # (/usr/include gets stripped from pkg-config output) if test -z "$AGG_CFLAGS" || test "$AGG_CFLAGS" = " "; then @@ -22320,23 +17850,21 @@ echo $ECHO_N "checking agg version... $ECHO_C" >&6 $PKG_CONFIG --modversion libagg | grep -q 2.4; then # 2.4's libagg.pc.in still contains 2.3 :/ if $EGREP -q "Version 2.4" `echo $AGG_INCDIR`/agg_basics.h; then - echo "$as_me:$LINENO: result: 2.4" >&5 -echo "${ECHO_T}2.4" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.4" >&5 +$as_echo "2.4" >&6; } AGG_VERSION=2400 else - echo "$as_me:$LINENO: result: 2.3" >&5 -echo "${ECHO_T}2.3" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.3" >&5 +$as_echo "2.3" >&6; } AGG_VERSION=2300 fi SYSTEM_AGG=YES else - { { echo "$as_me:$LINENO: error: only agg 2.3 and 2.4 are supported" >&5 -echo "$as_me: error: only agg 2.3 and 2.4 are supported" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "only agg 2.3 and 2.4 are supported" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_AGG=NO AGG_VERSION=2300 BUILD_TYPE="$BUILD_TYPE AGG" @@ -22345,12 +17873,12 @@ echo "${ECHO_T}internal" >&6 fi -echo "$as_me:$LINENO: checking which redland library to use" >&5 -echo $ECHO_N "checking which redland library to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which redland library to use" >&5 +$as_echo_n "checking which redland library to use... " >&6; } if test -n "$with_system_redland" && \ test "$with_system_redland" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_REDLAND=YES succeeded=no @@ -22358,10 +17886,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22373,29 +17901,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22406,25 +17935,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for redland" >&5 -echo $ECHO_N "checking for redland... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for redland" >&5 +$as_echo_n "checking for redland... " >&6; } if $PKG_CONFIG --exists "redland" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking REDLAND_CFLAGS" >&5 -echo $ECHO_N "checking REDLAND_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking REDLAND_CFLAGS" >&5 +$as_echo_n "checking REDLAND_CFLAGS... " >&6; } REDLAND_CFLAGS=`$PKG_CONFIG --cflags "redland"` - echo "$as_me:$LINENO: result: $REDLAND_CFLAGS" >&5 -echo "${ECHO_T}$REDLAND_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REDLAND_CFLAGS" >&5 +$as_echo "$REDLAND_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking REDLAND_LIBS" >&5 -echo $ECHO_N "checking REDLAND_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking REDLAND_LIBS" >&5 +$as_echo_n "checking REDLAND_LIBS... " >&6; } REDLAND_LIBS=`$PKG_CONFIG --libs "redland"` - echo "$as_me:$LINENO: result: $REDLAND_LIBS" >&5 -echo "${ECHO_T}$REDLAND_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REDLAND_LIBS" >&5 +$as_echo "$REDLAND_LIBS" >&6; } else REDLAND_CFLAGS="" REDLAND_LIBS="" @@ -22445,28 +17974,26 @@ echo "${ECHO_T}$REDLAND_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE REDLAND" SYSTEM_REDLAND=NO fi -echo "$as_me:$LINENO: checking which libhunspell to use" >&5 -echo $ECHO_N "checking which libhunspell to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libhunspell to use" >&5 +$as_echo_n "checking which libhunspell to use... " >&6; } if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \ test "$with_system_hunspell" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HUNSPELL=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -22478,10 +18005,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22493,29 +18020,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22526,25 +18054,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for hunspell" >&5 -echo $ECHO_N "checking for hunspell... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hunspell" >&5 +$as_echo_n "checking for hunspell... " >&6; } if $PKG_CONFIG --exists "hunspell" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking HUNSPELL_CFLAGS" >&5 -echo $ECHO_N "checking HUNSPELL_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking HUNSPELL_CFLAGS" >&5 +$as_echo_n "checking HUNSPELL_CFLAGS... " >&6; } HUNSPELL_CFLAGS=`$PKG_CONFIG --cflags "hunspell"` - echo "$as_me:$LINENO: result: $HUNSPELL_CFLAGS" >&5 -echo "${ECHO_T}$HUNSPELL_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HUNSPELL_CFLAGS" >&5 +$as_echo "$HUNSPELL_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking HUNSPELL_LIBS" >&5 -echo $ECHO_N "checking HUNSPELL_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking HUNSPELL_LIBS" >&5 +$as_echo_n "checking HUNSPELL_LIBS... " >&6; } HUNSPELL_LIBS=`$PKG_CONFIG --libs "hunspell"` - echo "$as_me:$LINENO: result: $HUNSPELL_LIBS" >&5 -echo "${ECHO_T}$HUNSPELL_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HUNSPELL_LIBS" >&5 +$as_echo "$HUNSPELL_LIBS" >&6; } else HUNSPELL_CFLAGS="" HUNSPELL_LIBS="" @@ -22569,290 +18097,16 @@ echo "${ECHO_T}$HUNSPELL_LIBS" >&6 fi if test "$HUNSPELL_PC" != "TRUE"; then - if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_hunspell_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 - -fi -if test $ac_cv_header_hunspell_hxx = yes; then - : -else - - if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "hunspell.hxx" "ac_cv_header_hunspell_hxx" "$ac_includes_default" +if test "x$ac_cv_header_hunspell_hxx" = x""yes; then : -# Is the header present? -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_header_hunspell_hunspell_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 -fi -if test $ac_cv_header_hunspell_hunspell_hxx = yes; then + ac_fn_cxx_check_header_mongrel "$LINENO" "hunspell/hunspell.hxx" "ac_cv_header_hunspell_hunspell_hxx" "$ac_includes_default" +if test "x$ac_cv_header_hunspell_hunspell_hxx" = x""yes; then : HUNSPELL_CFLAGS=-I/usr/include/hunspell else - { { echo "$as_me:$LINENO: error: hunspell headers not found." >&5 -echo "$as_me: error: hunspell headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "hunspell headers not found." "$LINENO" 5 fi @@ -22860,66 +18114,37 @@ fi fi - -echo "$as_me:$LINENO: checking for main in -lhunspell" >&5 -echo $ECHO_N "checking for main in -lhunspell... $ECHO_C" >&6 -if test "${ac_cv_lib_hunspell_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lhunspell" >&5 +$as_echo_n "checking for main in -lhunspell... " >&6; } +if test "${ac_cv_lib_hunspell_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhunspell $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_hunspell_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hunspell_main=no + ac_cv_lib_hunspell_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hunspell_main" >&5 -echo "${ECHO_T}$ac_cv_lib_hunspell_main" >&6 -if test $ac_cv_lib_hunspell_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hunspell_main" >&5 +$as_echo "$ac_cv_lib_hunspell_main" >&6; } +if test "x$ac_cv_lib_hunspell_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBHUNSPELL 1 _ACEOF @@ -22927,9 +18152,7 @@ _ACEOF LIBS="-lhunspell $LIBS" else - { { echo "$as_me:$LINENO: error: hunspell library not found." >&5 -echo "$as_me: error: hunspell library not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "hunspell library not found." "$LINENO" 5 fi HUNSPELL_LIBS=-lhunspell @@ -22941,8 +18164,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HUNSPELL=NO BUILD_TYPE="$BUILD_TYPE HUNSPELL" fi @@ -22950,711 +18173,359 @@ fi -echo "$as_me:$LINENO: checking which altlinuxhyph to use" >&5 -echo $ECHO_N "checking which altlinuxhyph to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which altlinuxhyph to use" >&5 +$as_echo_n "checking which altlinuxhyph to use... " >&6; } if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \ test "$with_system_altlinuxhyph" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HYPH=YES - if test "${ac_cv_header_hyphen_h+set}" = set; then - echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 -if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hyphen.h usability" >&5 -echo $ECHO_N "checking hyphen.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking hyphen.h presence" >&5 -echo $ECHO_N "checking hyphen.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_header_mongrel "$LINENO" "hyphen.h" "ac_cv_header_hyphen_h" "$ac_includes_default" +if test "x$ac_cv_header_hyphen_h" = x""yes; then : - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hyphen.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hyphen.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hyphen.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hyphen.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hyphen.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 -if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_hyphen_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 - -fi -if test $ac_cv_header_hyphen_h = yes; then - : else - { { echo "$as_me:$LINENO: error: altlinuxhyph headers not found." >&5 -echo "$as_me: error: altlinuxhyph headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph headers not found." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for struct _HyphenDict.cset" >&5 -echo $ECHO_N "checking for struct _HyphenDict.cset... $ECHO_C" >&6 -if test "${ac_cv_member_struct__HyphenDict_cset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct _HyphenDict ac_aggr; -if (ac_aggr.cset) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct__HyphenDict_cset=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct _HyphenDict ac_aggr; -if (sizeof ac_aggr.cset) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct__HyphenDict_cset=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_member "$LINENO" "struct _HyphenDict" "cset" "ac_cv_member_struct__HyphenDict_cset" "#include +" +if test "x$ac_cv_member_struct__HyphenDict_cset" = x""yes; then : -ac_cv_member_struct__HyphenDict_cset=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_member_struct__HyphenDict_cset" >&5 -echo "${ECHO_T}$ac_cv_member_struct__HyphenDict_cset" >&6 -if test $ac_cv_member_struct__HyphenDict_cset = yes; then - : else - { { echo "$as_me:$LINENO: error: no. You are sure you have altlinuyhyph headers?" >&5 -echo "$as_me: error: no. You are sure you have altlinuyhyph headers?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. You are sure you have altlinuyhyph headers?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyphen... $ECHO_C" >&6 -if test "${ac_cv_lib_hyphen_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyphen... " >&6; } +if test "${ac_cv_lib_hyphen_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyphen $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhyphen else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi if test -z "$HYPHEN_LIB"; then - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyph... $ECHO_C" >&6 -if test "${ac_cv_lib_hyph_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyph... " >&6; } +if test "${ac_cv_lib_hyph_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyph $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hyph_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyph_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhyph else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi fi if test -z "$HYPHEN_LIB"; then - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhnj... $ECHO_C" >&6 -if test "${ac_cv_lib_hnj_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhnj... " >&6; } +if test "${ac_cv_lib_hnj_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhnj $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hnj_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no + ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hnj_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhnj else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HYPH=NO BUILD_TYPE="$BUILD_TYPE HYPHEN" fi -echo "$as_me:$LINENO: checking which mythes to use" >&5 -echo $ECHO_N "checking which mythes to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which mythes to use" >&5 +$as_echo_n "checking which mythes to use... " >&6; } if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MYTHES=YES - if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking mythes.hxx usability" >&5 -echo $ECHO_N "checking mythes.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -ac_header_compiler=no + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 -# Is the header present? -echo "$as_me:$LINENO: checking mythes.hxx presence" >&5 -echo $ECHO_N "checking mythes.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mythes" >&5 +$as_echo_n "checking for mythes... " >&6; } + + if $PKG_CONFIG --exists "mythes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + succeeded=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MYTHES_CFLAGS" >&5 +$as_echo_n "checking MYTHES_CFLAGS... " >&6; } + MYTHES_CFLAGS=`$PKG_CONFIG --cflags "mythes"` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYTHES_CFLAGS" >&5 +$as_echo "$MYTHES_CFLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MYTHES_LIBS" >&5 +$as_echo_n "checking MYTHES_LIBS... " >&6; } + MYTHES_LIBS=`$PKG_CONFIG --libs "mythes"` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYTHES_LIBS" >&5 +$as_echo "$MYTHES_LIBS" >&6; } + else + MYTHES_CFLAGS="" + MYTHES_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + MYTHES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mythes"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + MYTHES_PKGCONFIG=yes else - ac_cpp_err= + MYTHES_PKGCONFIG=no fi + + if test "$MYTHES_PKGCONFIG" = "no"; then + ac_fn_cxx_check_header_mongrel "$LINENO" "mythes.hxx" "ac_cv_header_mythes_hxx" "$ac_includes_default" +if test "x$ac_cv_header_mythes_hxx" = x""yes; then : + else - ac_cpp_err=yes + as_fn_error "mythes.hxx headers not found." "$LINENO" 5 fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: mythes.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mythes.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mythes.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mythes.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmythes-1.2" >&5 +$as_echo_n "checking for main in -lmythes-1.2... " >&6; } +if test "${ac_cv_lib_mythes_1_2_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_header_mythes_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 + ac_check_lib_save_LIBS=$LIBS +LIBS="-lmythes-1.2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi -if test $ac_cv_header_mythes_hxx = yes; then - : + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_mythes_1_2_main=yes else - { { echo "$as_me:$LINENO: error: mythes.hxx headers not found." >&5 -echo "$as_me: error: mythes.hxx headers not found." >&2;} - { (exit 1); exit 1; }; } + ac_cv_lib_mythes_1_2_main=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mythes_1_2_main" >&5 +$as_echo "$ac_cv_lib_mythes_1_2_main" >&6; } +if test "x$ac_cv_lib_mythes_1_2_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBMYTHES_1_2 1 +_ACEOF + LIBS="-lmythes-1.2 $LIBS" +else + MYTHES_FOUND=no +fi -echo "$as_me:$LINENO: checking for main in -lmythes" >&5 -echo $ECHO_N "checking for main in -lmythes... $ECHO_C" >&6 -if test "${ac_cv_lib_mythes_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "$MYTHES_FOUND" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmythes" >&5 +$as_echo_n "checking for main in -lmythes... " >&6; } +if test "${ac_cv_lib_mythes_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmythes $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_mythes_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mythes_main=no + ac_cv_lib_mythes_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mythes_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mythes_main" >&6 -if test $ac_cv_lib_mythes_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mythes_main" >&5 +$as_echo "$ac_cv_lib_mythes_main" >&6; } +if test "x$ac_cv_lib_mythes_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBMYTHES 1 _ACEOF @@ -23662,237 +18533,81 @@ _ACEOF LIBS="-lmythes $LIBS" else - { { echo "$as_me:$LINENO: error: mythes library not found." >&5 -echo "$as_me: error: mythes library not found." >&2;} - { (exit 1); exit 1; }; } + MYTHES_FOUND=no fi + fi + if test "$MYTHES_FOUND" = "no"; then + as_fn_error "mythes library not found!." "$LINENO" 5 + fi + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MYTHES=NO fi -echo "$as_me:$LINENO: checking which lpsolve to use" >&5 -echo $ECHO_N "checking which lpsolve to use... $ECHO_C" >&6 + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which lpsolve to use" >&5 +$as_echo_n "checking which lpsolve to use... " >&6; } if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \ test "$with_system_lpsolve" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LPSOLVE=YES - if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 -if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h usability" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_header_mongrel "$LINENO" "lpsolve/lp_lib.h" "ac_cv_header_lpsolve_lp_lib_h" "$ac_includes_default" +if test "x$ac_cv_header_lpsolve_lp_lib_h" = x""yes; then : -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h presence" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 -if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_lpsolve_lp_lib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 - -fi -if test $ac_cv_header_lpsolve_lp_lib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: lpsolve headers not found." >&5 -echo "$as_me: error: lpsolve headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lpsolve headers not found." "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5 -echo $ECHO_N "checking for make_lp in -llpsolve55... $ECHO_C" >&6 -if test "${ac_cv_lib_lpsolve55_make_lp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for make_lp in -llpsolve55" >&5 +$as_echo_n "checking for make_lp in -llpsolve55... " >&6; } +if test "${ac_cv_lib_lpsolve55_make_lp+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llpsolve55 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char make_lp (); int main () { -make_lp (); +return make_lp (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lpsolve55_make_lp=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_lpsolve55_make_lp=no + ac_cv_lib_lpsolve55_make_lp=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_lpsolve55_make_lp" >&5 -echo "${ECHO_T}$ac_cv_lib_lpsolve55_make_lp" >&6 -if test $ac_cv_lib_lpsolve55_make_lp = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lpsolve55_make_lp" >&5 +$as_echo "$ac_cv_lib_lpsolve55_make_lp" >&6; } +if test "x$ac_cv_lib_lpsolve55_make_lp" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLPSOLVE55 1 _ACEOF @@ -23900,105 +18615,73 @@ _ACEOF LIBS="-llpsolve55 $LIBS" else - { { echo "$as_me:$LINENO: error: lpsolve library not found or too old." >&5 -echo "$as_me: error: lpsolve library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lpsolve library not found or too old." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LPSOLVE=NO BUILD_TYPE="$BUILD_TYPE LPSOLVE" fi if test "$_os" = "Linux"; then - echo "$as_me:$LINENO: checking whether libc is >= 2.1.1" >&5 -echo $ECHO_N "checking whether libc is >= 2.1.1... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libc is >= 2.1.1" >&5 +$as_echo_n "checking whether libc is >= 2.1.1... " >&6; } exec 6>/dev/null # no output - echo "$as_me:$LINENO: checking for gnu_get_libc_version in -lc" >&5 -echo $ECHO_N "checking for gnu_get_libc_version in -lc... $ECHO_C" >&6 -if test "${ac_cv_lib_c_gnu_get_libc_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnu_get_libc_version in -lc" >&5 +$as_echo_n "checking for gnu_get_libc_version in -lc... " >&6; } +if test "${ac_cv_lib_c_gnu_get_libc_version+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gnu_get_libc_version (); int main () { -gnu_get_libc_version (); +return gnu_get_libc_version (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_gnu_get_libc_version=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_c_gnu_get_libc_version=no + ac_cv_lib_c_gnu_get_libc_version=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 -echo "${ECHO_T}$ac_cv_lib_c_gnu_get_libc_version" >&6 -if test $ac_cv_lib_c_gnu_get_libc_version = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 +$as_echo "$ac_cv_lib_c_gnu_get_libc_version" >&6; } +if test "x$ac_cv_lib_c_gnu_get_libc_version" = x""yes; then : HAVE_LIBC=yes; export HAVE_LIBC fi exec 6>&1 # output on again if test "$HAVE_LIBC"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, upgrade libc" >&5 -echo "$as_me: error: no, upgrade libc" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, upgrade libc" "$LINENO" 5 fi fi if test \( "$_os" = "WINNT" \) ; then - echo "$as_me:$LINENO: checking for PSDK files" >&5 -echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PSDK files" >&5 +$as_echo_n "checking for PSDK files... " >&6; } if test -z "$with_psdk_home"; then # This first line will detect a February 2003 Microsoft Platform SDK PSDK_HOME=`./oowintool --psdk-home` @@ -24019,19 +18702,12 @@ echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'` # Problem with current PSDK (iz 49865) if test -f "$PSDK_HOME/Lib/libcp.lib"; then - { { echo "$as_me:$LINENO: error: - -Some modules do not build correctly with MS Platform SDK - April 2005 -Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. -Remove/rename/backup that file and restart configure. Details about this -problem can be found in issue 49856." >&5 -echo "$as_me: error: + as_fn_error " Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. Remove/rename/backup that file and restart configure. Details about this -problem can be found in issue 49856." >&2;} - { (exit 1); exit 1; }; } +problem can be found in issue 49856." "$LINENO" 5 fi # WIndows SDK has different headers if test \( -f "$PSDK_HOME/Include/adoint.h" \) \ @@ -24047,41 +18723,36 @@ problem can be found in issue 49856." >&2;} HAVE_PSDK_LIB="no" fi if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then - { { echo "$as_me:$LINENO: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs -are installed or use --with-psdk-home ." >&5 -echo "$as_me: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs -are installed or use --with-psdk-home ." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Some (all?) PSDK files not found, please check if all needed Platform SDKs +are installed or use --with-psdk-home ." "$LINENO" 5 fi if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \ -o ! -x "$PSDK_HOME/bin/msidb.exe" \ -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \ -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then - { { echo "$as_me:$LINENO: error: Some (all) files of the Windows Installer SDK are missing, please install." >&5 -echo "$as_me: error: Some (all) files of the Windows Installer SDK are missing, please install." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Some (all) files of the Windows Installer SDK are missing, please install." "$LINENO" 5 fi - echo "$as_me:$LINENO: result: SDK files found ...)" >&5 -echo "${ECHO_T}SDK files found ...)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: SDK files found ...)" >&5 +$as_echo "SDK files found ...)" >&6; } if echo $PSDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.1 ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.1 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE elif echo $PSDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.0 ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.0 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE else - echo "$as_me:$LINENO: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 +$as_echo "Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6; } fi fi if test \( "$_os" = "WINNT" \) ; then - echo "$as_me:$LINENO: checking for DirectX SDK files" >&5 -echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DirectX SDK files" >&5 +$as_echo_n "checking for DirectX SDK files... " >&6; } if test -z "$with_directx_home"; then if test -n "$DXSDK_DIR"; then DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"` @@ -24113,17 +18784,15 @@ echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 fi if test -n "$ENABLE_DIRECTX"; then if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&5 -echo "$as_me: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "DirectX SDK files not found, please use --with-directx-home or -disable-directx." "$LINENO" 5 fi else DIRECTXSDK_HOME="" - echo "$as_me:$LINENO: result: disabled" >&5 -echo "${ECHO_T}disabled" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 +$as_echo "disabled" >&6; } fi fi @@ -24131,14 +18800,14 @@ fi NSIS_PATH="" if test "$_os" = "WINNT" ; then - echo "$as_me:$LINENO: checking for NSIS" >&5 -echo $ECHO_N "checking for NSIS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NSIS" >&5 +$as_echo_n "checking for NSIS... " >&6; } # Extract the first word of "nsis.exe", so it can be a program name with args. set dummy nsis.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_NSIS_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_NSIS_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $NSIS_PATH in [\\/]* | ?:[\\/]*) @@ -24150,28 +18819,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_NSIS_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi NSIS_PATH=$ac_cv_path_NSIS_PATH - if test -n "$NSIS_PATH"; then - echo "$as_me:$LINENO: result: $NSIS_PATH" >&5 -echo "${ECHO_T}$NSIS_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NSIS_PATH" >&5 +$as_echo "$NSIS_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$NSIS_PATH"; then NSIS_PATH=`dirname "$NSIS_PATH"` fi @@ -24186,24 +18856,24 @@ fi NSIS_PATH="$nsistest" fi if test -z "$NSIS_PATH"; then - { echo "$as_me:$LINENO: WARNING: NSIS not found, no self contained installer will be build." >&5 -echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: NSIS not found, no self contained installer will be build." >&5 +$as_echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} echo "NSIS not found, no self contained installer will be build." >> warn else NSIS_PATH=`cygpath -d "$NSIS_PATH"` NSIS_PATH=`cygpath -u "$NSIS_PATH"` - echo "$as_me:$LINENO: result: found ($NSIS_PATH)" >&5 -echo "${ECHO_T}found ($NSIS_PATH)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($NSIS_PATH)" >&5 +$as_echo "found ($NSIS_PATH)" >&6; } fi fi # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_BISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_BISON+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $BISON in [\\/]* | ?:[\\/]*) @@ -24215,59 +18885,56 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi BISON=$ac_cv_path_BISON - if test -n "$BISON"; then - echo "$as_me:$LINENO: result: $BISON" >&5 -echo "${ECHO_T}$BISON" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 +$as_echo "$BISON" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BISON"; then - { { echo "$as_me:$LINENO: error: no bison found in \$PATH, install bison" >&5 -echo "$as_me: error: no bison found in \$PATH, install bison" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no bison found in \$PATH, install bison" "$LINENO" 5 else - echo "$as_me:$LINENO: checking the bison version" >&5 -echo $ECHO_N "checking the bison version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the bison version" >&5 +$as_echo_n "checking the bison version... " >&6; } _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'` # Accept newer than 1.875 or older(equal) than 1.75 if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then if test "$_bison_version" = "1.875" ; then - { echo "$as_me:$LINENO: WARNING: suspect ($BISON $_bison_version)" >&5 -echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: suspect ($BISON $_bison_version)" >&5 +$as_echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn else - echo "$as_me:$LINENO: result: checked ($BISON $_bison_version)" >&5 -echo "${ECHO_T}checked ($BISON $_bison_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked ($BISON $_bison_version)" >&5 +$as_echo "checked ($BISON $_bison_version)" >&6; } fi else - { { echo "$as_me:$LINENO: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&5 -echo "$as_me: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" "$LINENO" 5 fi fi # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_FLEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_FLEX+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $FLEX in [\\/]* | ?:[\\/]*) @@ -24279,39 +18946,38 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi FLEX=$ac_cv_path_FLEX - if test -n "$FLEX"; then - echo "$as_me:$LINENO: result: $FLEX" >&5 -echo "${ECHO_T}$FLEX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5 +$as_echo "$FLEX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$FLEX"; then - { { echo "$as_me:$LINENO: error: no flex found in \$PATH, install flex" >&5 -echo "$as_me: error: no flex found in \$PATH, install flex" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no flex found in \$PATH, install flex" "$LINENO" 5 fi # Extract the first word of "patch", so it can be a program name with args. set dummy patch; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PATCH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PATCH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PATCH in [\\/]* | ?:[\\/]*) @@ -24323,32 +18989,31 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PATCH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PATCH=$ac_cv_path_PATCH - if test -n "$PATCH"; then - echo "$as_me:$LINENO: result: $PATCH" >&5 -echo "${ECHO_T}$PATCH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5 +$as_echo "$PATCH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$PATCH"; then - { { echo "$as_me:$LINENO: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&5 -echo "$as_me: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" "$LINENO" 5 fi if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then @@ -24358,21 +19023,17 @@ if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then if test -x "$with_gnu_patch"; then GNUPATCH=$with_gnu_patch else - { { echo "$as_me:$LINENO: error: --with-gnu-patch did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-patch did not point to an executable" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--with-gnu-patch did not point to an executable" "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking whether $GNUPATCH is GNU patch" >&5 -echo $ECHO_N "checking whether $GNUPATCH is GNU patch... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $GNUPATCH is GNU patch" >&5 +$as_echo_n "checking whether $GNUPATCH is GNU patch... " >&6; } if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&5 -echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" "$LINENO" 5 fi @@ -24381,10 +19042,10 @@ echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-pa do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GNUCP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GNUCP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GNUCP in [\\/]* | ?:[\\/]*) @@ -24396,64 +19057,59 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUCP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GNUCP=$ac_cv_path_GNUCP - if test -n "$GNUCP"; then - echo "$as_me:$LINENO: result: $GNUCP" >&5 -echo "${ECHO_T}$GNUCP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUCP" >&5 +$as_echo "$GNUCP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$GNUCP" && break done if test -z $GNUCP; then - { { echo "$as_me:$LINENO: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" "$LINENO" 5 fi else if test -x "$with_gnu_cp"; then GNUCP=$with_gnu_cp else - { { echo "$as_me:$LINENO: error: --with-gnu-cp did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-cp did not point to an executable" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--with-gnu-cp did not point to an executable" "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking whether $GNUCP is GNU cp" >&5 -echo $ECHO_N "checking whether $GNUCP is GNU cp... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $GNUCP is GNU cp" >&5 +$as_echo_n "checking whether $GNUCP is GNU cp... " >&6; } if $GNUCP --version 2>/dev/null | grep "Free Software Foundation" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$_os" = "Darwin"; then GNUCP='' - echo "$as_me:$LINENO: result: no gnucp found - using the system's cp command" >&5 -echo "${ECHO_T}no gnucp found - using the system's cp command" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no gnucp found - using the system's cp command" >&5 +$as_echo "no gnucp found - using the system's cp command" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" "$LINENO" 5 fi fi fi @@ -24466,10 +19122,10 @@ if test "$_os" = "WINNT"; then CYGWIN_PATH="" # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CYGWIN_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CYGWIN_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CYGWIN_PATH in [\\/]* | ?:[\\/]*) @@ -24481,28 +19137,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CYGWIN_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CYGWIN_PATH=$ac_cv_path_CYGWIN_PATH - if test -n "$CYGWIN_PATH"; then - echo "$as_me:$LINENO: result: $CYGWIN_PATH" >&5 -echo "${ECHO_T}$CYGWIN_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGWIN_PATH" >&5 +$as_echo "$CYGWIN_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + CYGWIN_PATH=`dirname "$CYGWIN_PATH"` fi if test -z "$CYGWIN_PATH"; then @@ -24511,18 +19168,18 @@ fi if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then - echo "$as_me:$LINENO: checking ml.exe assembler path" >&5 -echo $ECHO_N "checking ml.exe assembler path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ml.exe assembler path" >&5 +$as_echo_n "checking ml.exe assembler path... " >&6; } if test -n "$with_asm_home"; then with_asm_home=`cygpath -u "$with_asm_home"` fi if test ! -x "$with_asm_home/ml.exe"; then # Extract the first word of "ml.exe", so it can be a program name with args. set dummy ml.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ML_EXE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ML_EXE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ML_EXE in [\\/]* | ?:[\\/]*) @@ -24534,37 +19191,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ML_EXE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ML_EXE=$ac_cv_path_ML_EXE - if test -n "$ML_EXE"; then - echo "$as_me:$LINENO: result: $ML_EXE" >&5 -echo "${ECHO_T}$ML_EXE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ML_EXE" >&5 +$as_echo "$ML_EXE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$ML_EXE"; then if test -x "$with_cl_home/bin/ml.exe"; then with_asm_home=$with_cl_home/bin - echo "$as_me:$LINENO: result: found ($with_asm_home)" >&5 -echo "${ECHO_T}found ($with_asm_home)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($with_asm_home)" >&5 +$as_echo "found ($with_asm_home)" >&6; } else - { { echo "$as_me:$LINENO: error: Configure did not find ml.exe assembler." >&5 -echo "$as_me: error: Configure did not find ml.exe assembler." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Configure did not find ml.exe assembler." "$LINENO" 5 fi else with_asm_home="ASM_IN_PATH" @@ -24575,8 +19231,8 @@ else fi ASM_HOME="$with_asm_home" if test -n "$ASM_HOME"; then - echo "$as_me:$LINENO: result: $ASM_HOME" >&5 -echo "${ECHO_T}$ASM_HOME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ASM_HOME" >&5 +$as_echo "$ASM_HOME" >&6; } fi @@ -24593,10 +19249,10 @@ if test -n "$with_zip_home" ; then else # Extract the first word of "zip", so it can be a program name with args. set dummy zip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ZIP in [\\/]* | ?:[\\/]*) @@ -24608,34 +19264,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ZIP=$ac_cv_path_ZIP - if test -n "$ZIP"; then - echo "$as_me:$LINENO: result: $ZIP" >&5 -echo "${ECHO_T}$ZIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 +$as_echo "$ZIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "unzip", so it can be a program name with args. set dummy unzip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_UNZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_UNZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $UNZIP in [\\/]* | ?:[\\/]*) @@ -24647,84 +19304,69 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi UNZIP=$ac_cv_path_UNZIP - if test -n "$UNZIP"; then - echo "$as_me:$LINENO: result: $UNZIP" >&5 -echo "${ECHO_T}$UNZIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +$as_echo "$UNZIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + ZIP_HOME=`dirname "$ZIP"` fi if test -z "$ZIP" -o -z "$UNZIP"; then - { { echo "$as_me:$LINENO: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&5 -echo "$as_me: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Zip/Unzip are required to build, please install or use --with-zip-home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test -n "`$ZIP -h | grep -i WinNT`" ; then -{ { echo "$as_me:$LINENO: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&5 -echo "$as_me: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&2;} - { (exit 1); exit 1; }; } +as_fn_error "$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for unicows.dll" >&5 -echo $ECHO_N "checking for unicows.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unicows.dll" >&5 +$as_echo_n "checking for unicows.dll... " >&6; } if test -x ./external/unicows/unicows.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. -Get it from the Microsoft site and put it into external/unicows. -(Note: Microsoft seems to enjoy changing the exact location of this file. You -may have to search Microsoft's website.) Last time it was seen at: -." >&5 -echo "$as_me: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. + as_fn_error "The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. Get it from the Microsoft site and put it into external/unicows. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for dbghelp.dll" >&5 -echo $ECHO_N "checking for dbghelp.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbghelp.dll" >&5 +$as_echo_n "checking for dbghelp.dll... " >&6; } if test -x ./external/dbghelp/dbghelp.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: dbghelp.dll is missing in external/dbghelp/. -Get it from the Microsoft site and put it into external/dbghelp. -(Note: Microsoft seems to enjoy changing the exact location of this file. You -may have to search Microsoft's website.) Last time it was seen at: -." >&5 -echo "$as_me: error: dbghelp.dll is missing in external/dbghelp/. + as_fn_error "dbghelp.dll is missing in external/dbghelp/. Get it from the Microsoft site and put it into external/dbghelp. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi @@ -24732,28 +19374,21 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then if ./oowintool --msvc-copy-dlls ./external/msvcp ; then : else - { { echo "$as_me:$LINENO: error: oowintool failed to copy CRT" >&5 -echo "$as_me: error: oowintool failed to copy CRT" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "oowintool failed to copy CRT" "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for gdiplus.dll" >&5 -echo $ECHO_N "checking for gdiplus.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdiplus.dll" >&5 +$as_echo_n "checking for gdiplus.dll... " >&6; } if test -x ./external/gdiplus/gdiplus.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: gdiplus.dll is missing in external/gdiplus/. + as_fn_error "gdiplus.dll is missing in external/gdiplus/. Get it from the Microsoft site and put it into external/gdiplus. You may have to search Microsoft's website. Last time it was seen at: -." >&5 -echo "$as_me: error: gdiplus.dll is missing in external/gdiplus/. -Get it from the Microsoft site and put it into external/gdiplus. -You may have to search Microsoft's website. Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi @@ -24763,11 +19398,11 @@ fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then - echo "$as_me:$LINENO: checking for instmsia.exe/instmsiw.exe" >&5 -echo $ECHO_N "checking for instmsia.exe/instmsiw.exe... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for instmsia.exe/instmsiw.exe" >&5 +$as_echo_n "checking for instmsia.exe/instmsiw.exe... " >&6; } if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else MSIAPATH=`/bin/find "$COMPATH/.." -iname instmsia.exe | head -n 1` MSIWPATH=`/bin/find "$COMPATH/.." -iname instmsiw.exe | head -n 1` @@ -24776,27 +19411,21 @@ echo "${ECHO_T}found" >&6 cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK" fi if test -z "$MSIACOPY" -o -z "$MSIWCOPY"; then - { { echo "$as_me:$LINENO: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. -These programs are part of the Visual Studio installation and should be found in a -directory similar to: -\"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" -As the automatic detection fails please copy the files to external/msi/." >&5 -echo "$as_me: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. + as_fn_error "instmsia.exe and/or instmsiw.exe are/is missing in the default location. These programs are part of the Visual Studio installation and should be found in a directory similar to: \"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" -As the automatic detection fails please copy the files to external/msi/." >&2;} - { (exit 1); exit 1; }; } +As the automatic detection fails please copy the files to external/msi/." "$LINENO" 5 else - echo "$as_me:$LINENO: result: found and copied" >&5 -echo "${ECHO_T}found and copied" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found and copied" >&5 +$as_echo "found and copied" >&6; } fi fi fi fi -echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5 -echo $ECHO_N "checking which VCLplugs shall be built... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which VCLplugs shall be built" >&5 +$as_echo_n "checking which VCLplugs shall be built... " >&6; } ENABLE_GTK="" if test "x$enable_gtk" = "xyes"; then ENABLE_GTK="TRUE" @@ -24819,31 +19448,31 @@ fi if test -z "$R"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else - echo "$as_me:$LINENO: result: $R" >&5 -echo "${ECHO_T}$R" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $R" >&5 +$as_echo "$R" >&6; } fi ENABLE_GCONF="" -echo "$as_me:$LINENO: checking whether to enable GConf support" >&5 -echo $ECHO_N "checking whether to enable GConf support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GConf support" >&5 +$as_echo_n "checking whether to enable GConf support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then ENABLE_GCONF="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24855,29 +19484,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24888,25 +19518,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -24927,35 +19557,33 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi ENABLE_GNOMEVFS="" -echo "$as_me:$LINENO: checking whether to enable GNOME VFS support" >&5 -echo $ECHO_N "checking whether to enable GNOME VFS support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GNOME VFS support" >&5 +$as_echo_n "checking whether to enable GNOME VFS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then ENABLE_GNOMEVFS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24967,29 +19595,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25000,25 +19629,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 -echo $ECHO_N "checking for gnome-vfs-2.0 >= 2.6.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 +$as_echo_n "checking for gnome-vfs-2.0 >= 2.6.0 ... " >&6; } if $PKG_CONFIG --exists "gnome-vfs-2.0 >= 2.6.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GNOMEVFS_CFLAGS" >&5 -echo $ECHO_N "checking GNOMEVFS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GNOMEVFS_CFLAGS" >&5 +$as_echo_n "checking GNOMEVFS_CFLAGS... " >&6; } GNOMEVFS_CFLAGS=`$PKG_CONFIG --cflags "gnome-vfs-2.0 >= 2.6.0 "` - echo "$as_me:$LINENO: result: $GNOMEVFS_CFLAGS" >&5 -echo "${ECHO_T}$GNOMEVFS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNOMEVFS_CFLAGS" >&5 +$as_echo "$GNOMEVFS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GNOMEVFS_LIBS" >&5 -echo $ECHO_N "checking GNOMEVFS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GNOMEVFS_LIBS" >&5 +$as_echo_n "checking GNOMEVFS_LIBS... " >&6; } GNOMEVFS_LIBS=`$PKG_CONFIG --libs "gnome-vfs-2.0 >= 2.6.0 "` - echo "$as_me:$LINENO: result: $GNOMEVFS_LIBS" >&5 -echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNOMEVFS_LIBS" >&5 +$as_echo "$GNOMEVFS_LIBS" >&6; } else GNOMEVFS_CFLAGS="" GNOMEVFS_LIBS="" @@ -25039,9 +19668,7 @@ echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi if test "$ENABLE_GCONF" != "TRUE"; then @@ -25051,10 +19678,10 @@ echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; con if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25066,29 +19693,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25099,25 +19727,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -25138,15 +19766,13 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -25164,10 +19790,10 @@ if test "$test_gtk" = "yes"; then if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25179,29 +19805,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25212,25 +19839,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 -echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_CFLAGS" >&5 +$as_echo_n "checking GTK_CFLAGS... " >&6; } GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` - echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 -echo "${ECHO_T}$GTK_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_CFLAGS" >&5 +$as_echo "$GTK_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GTK_LIBS" >&5 -echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_LIBS" >&5 +$as_echo_n "checking GTK_LIBS... " >&6; } GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` - echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 -echo "${ECHO_T}$GTK_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_LIBS" >&5 +$as_echo "$GTK_LIBS" >&6; } else GTK_CFLAGS="" GTK_LIBS="" @@ -25251,9 +19878,7 @@ echo "${ECHO_T}$GTK_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&5 -echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE GTK" @@ -25263,22 +19888,22 @@ echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK" fi - echo "$as_me:$LINENO: checking whether to enable DBUS support" >&5 -echo $ECHO_N "checking whether to enable DBUS support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable DBUS support" >&5 +$as_echo_n "checking whether to enable DBUS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then ENABLE_DBUS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25290,29 +19915,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25323,25 +19949,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.70 " >&5 -echo $ECHO_N "checking for dbus-glib-1 >= 0.70 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbus-glib-1 >= 0.70 " >&5 +$as_echo_n "checking for dbus-glib-1 >= 0.70 ... " >&6; } if $PKG_CONFIG --exists "dbus-glib-1 >= 0.70 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5 -echo $ECHO_N "checking DBUS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking DBUS_CFLAGS" >&5 +$as_echo_n "checking DBUS_CFLAGS... " >&6; } DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= 0.70 "` - echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5 -echo "${ECHO_T}$DBUS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBUS_CFLAGS" >&5 +$as_echo "$DBUS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking DBUS_LIBS" >&5 -echo $ECHO_N "checking DBUS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking DBUS_LIBS" >&5 +$as_echo_n "checking DBUS_LIBS... " >&6; } DBUS_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= 0.70 "` - echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5 -echo "${ECHO_T}$DBUS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBUS_LIBS" >&5 +$as_echo "$DBUS_LIBS" >&6; } else DBUS_CFLAGS="" DBUS_LIBS="" @@ -25362,37 +19988,33 @@ echo "${ECHO_T}$DBUS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to enable GIO support" >&5 -echo $ECHO_N "checking whether to enable GIO support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GIO support" >&5 +$as_echo_n "checking whether to enable GIO support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then if test "$ENABLE_GNOMEVFS" = "TRUE" ; then - { { echo "$as_me:$LINENO: error: please use --enable-gio only together with --disable-gnome-vfs." >&5 -echo "$as_me: error: please use --enable-gio only together with --disable-gnome-vfs." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "please use --enable-gio only together with --disable-gnome-vfs." "$LINENO" 5 fi ENABLE_GIO="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25404,29 +20026,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25437,25 +20060,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gio-2.0 " >&5 -echo $ECHO_N "checking for gio-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gio-2.0 " >&5 +$as_echo_n "checking for gio-2.0 ... " >&6; } if $PKG_CONFIG --exists "gio-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GIO_CFLAGS" >&5 -echo $ECHO_N "checking GIO_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIO_CFLAGS" >&5 +$as_echo_n "checking GIO_CFLAGS... " >&6; } GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 "` - echo "$as_me:$LINENO: result: $GIO_CFLAGS" >&5 -echo "${ECHO_T}$GIO_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIO_CFLAGS" >&5 +$as_echo "$GIO_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GIO_LIBS" >&5 -echo $ECHO_N "checking GIO_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIO_LIBS" >&5 +$as_echo_n "checking GIO_LIBS... " >&6; } GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0 "` - echo "$as_me:$LINENO: result: $GIO_LIBS" >&5 -echo "${ECHO_T}$GIO_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIO_LIBS" >&5 +$as_echo "$GIO_LIBS" >&6; } else GIO_CFLAGS="" GIO_LIBS="" @@ -25476,14 +20099,12 @@ echo "${ECHO_T}$GIO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -25502,18 +20123,18 @@ SYSTEM_CAIRO="" if test "$test_cairo" = "yes"; then - echo "$as_me:$LINENO: checking whether to use cairo" >&5 -echo $ECHO_N "checking whether to use cairo... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use cairo" >&5 +$as_echo_n "checking whether to use cairo... " >&6; } if test "x$enable_cairo" != "xno" ; then ENABLE_CAIRO="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking which cairo to use" >&5 -echo $ECHO_N "checking which cairo to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which cairo to use" >&5 +$as_echo_n "checking which cairo to use... " >&6; } if test -n "$with_system_cairo" -o -n "$with_system_libs" && \ test "$with_system_cairo" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CAIRO=YES @@ -25522,10 +20143,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25537,29 +20158,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25570,25 +20192,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for cairo >= 1.0.2 " >&5 -echo $ECHO_N "checking for cairo >= 1.0.2 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo >= 1.0.2 " >&5 +$as_echo_n "checking for cairo >= 1.0.2 ... " >&6; } if $PKG_CONFIG --exists "cairo >= 1.0.2 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 -echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CAIRO_CFLAGS" >&5 +$as_echo_n "checking CAIRO_CFLAGS... " >&6; } CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0.2 "` - echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 -echo "${ECHO_T}$CAIRO_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAIRO_CFLAGS" >&5 +$as_echo "$CAIRO_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 -echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CAIRO_LIBS" >&5 +$as_echo_n "checking CAIRO_LIBS... " >&6; } CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0.2 "` - echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 -echo "${ECHO_T}$CAIRO_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAIRO_LIBS" >&5 +$as_echo "$CAIRO_LIBS" >&6; } else CAIRO_CFLAGS="" CAIRO_LIBS="" @@ -25609,31 +20231,22 @@ echo "${ECHO_T}$CAIRO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then - { { echo "$as_me:$LINENO: error: Cairo library requires fontconfig." >&5 -echo "$as_me: error: Cairo library requires fontconfig." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Cairo library requires fontconfig." "$LINENO" 5 fi if test "$with_system_xrender_headers" = "yes"; then - echo "$as_me:$LINENO: checking whether Xrender.h defines PictStandardA8" >&5 -echo $ECHO_N "checking whether Xrender.h defines PictStandardA8... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Xrender.h defines PictStandardA8" >&5 +$as_echo_n "checking whether Xrender.h defines PictStandardA8... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -25647,43 +20260,28 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, X headers too old." >&5 -echo "$as_me: error: no, X headers too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, X headers too old." "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi else BUILD_TYPE="$BUILD_TYPE CAIRO" if test "$build_cpu" != "x86_64"; then BUILD_PIXMAN=YES fi - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -25694,219 +20292,52 @@ fi -echo "$as_me:$LINENO: checking whether to build the OpenGL Transitions component" >&5 -echo $ECHO_N "checking whether to build the OpenGL Transitions component... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the OpenGL Transitions component" >&5 +$as_echo_n "checking whether to build the OpenGL Transitions component... " >&6; } ENABLE_OPENGL= if test "x$enable_opengl" != "xno" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 -if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking GL/gl.h usability" >&5 -echo $ECHO_N "checking GL/gl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking GL/gl.h presence" >&5 -echo $ECHO_N "checking GL/gl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 -if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_GL_gl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default" +if test "x$ac_cv_header_GL_gl_h" = x""yes; then : -fi -if test $ac_cv_header_GL_gl_h = yes; then - : else - { { echo "$as_me:$LINENO: error: OpenGL headers not found" >&5 -echo "$as_me: error: OpenGL headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "OpenGL headers not found" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lGL" >&5 -echo $ECHO_N "checking for main in -lGL... $ECHO_C" >&6 -if test "${ac_cv_lib_GL_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lGL" >&5 +$as_echo_n "checking for main in -lGL... " >&6; } +if test "${ac_cv_lib_GL_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_GL_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_GL_main=no + ac_cv_lib_GL_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_GL_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GL_main" >&6 -if test $ac_cv_lib_GL_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GL_main" >&5 +$as_echo "$ac_cv_lib_GL_main" >&6; } +if test "x$ac_cv_lib_GL_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGL 1 _ACEOF @@ -25914,71 +20345,40 @@ _ACEOF LIBS="-lGL $LIBS" else - { { echo "$as_me:$LINENO: error: libGL not installed or functional" >&5 -echo "$as_me: error: libGL not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libGL not installed or functional" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lGLU" >&5 -echo $ECHO_N "checking for main in -lGLU... $ECHO_C" >&6 -if test "${ac_cv_lib_GLU_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lGLU" >&5 +$as_echo_n "checking for main in -lGLU... " >&6; } +if test "${ac_cv_lib_GLU_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_GLU_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_GLU_main=no + ac_cv_lib_GLU_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GLU_main" >&6 -if test $ac_cv_lib_GLU_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLU_main" >&5 +$as_echo "$ac_cv_lib_GLU_main" >&6; } +if test "x$ac_cv_lib_GLU_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGLU 1 _ACEOF @@ -25986,71 +20386,69 @@ _ACEOF LIBS="-lGLU $LIBS" else - { { echo "$as_me:$LINENO: error: libGLU not installed or functional" >&5 -echo "$as_me: error: libGLU not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libGLU not installed or functional" "$LINENO" 5 fi ENABLE_OPENGL=TRUE else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build extra presenter ui" >&5 -echo $ECHO_N "checking whether to build extra presenter ui... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build extra presenter ui" >&5 +$as_echo_n "checking whether to build extra presenter ui... " >&6; } if test -n "$enable_presenter_extra_ui" -a "$enable_presenter_extra_ui" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PRESENTER_EXTRA_UI=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PRESENTER_EXTRA_UI=NO fi -echo "$as_me:$LINENO: checking whether to build the Presentation Minimizer extension" >&5 -echo $ECHO_N "checking whether to build the Presentation Minimizer extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Presentation Minimizer extension" >&5 +$as_echo_n "checking whether to build the Presentation Minimizer extension... " >&6; } if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_MINIMIZER=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MINIMIZER=NO fi -echo "$as_me:$LINENO: checking whether to build the Presenter Screen extension" >&5 -echo $ECHO_N "checking whether to build the Presenter Screen extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Presenter Screen extension" >&5 +$as_echo_n "checking whether to build the Presenter Screen extension... " >&6; } if test -n "$enable_presenter_console" -a "$enable_presenter_screen" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PRESENTER_SCREEN=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PRESENTER_SCREEN=NO fi -echo "$as_me:$LINENO: checking whether to build the PDF Import extension" >&5 -echo $ECHO_N "checking whether to build the PDF Import extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the PDF Import extension" >&5 +$as_echo_n "checking whether to build the PDF Import extension... " >&6; } if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PDFIMPORT=YES - echo "$as_me:$LINENO: checking which pdf backend to use" >&5 -echo $ECHO_N "checking which pdf backend to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which pdf backend to use" >&5 +$as_echo_n "checking which pdf backend to use... " >&6; } if test -n "$with_system_poppler" -o -n "$with_system_libs" && \ test "$with_system_poppler" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_POPPLER=YES succeeded=no @@ -26058,10 +20456,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26073,29 +20471,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26106,25 +20505,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for poppler >= 0.8.0 " >&5 -echo $ECHO_N "checking for poppler >= 0.8.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.8.0 " >&5 +$as_echo_n "checking for poppler >= 0.8.0 ... " >&6; } if $PKG_CONFIG --exists "poppler >= 0.8.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking POPPLER_CFLAGS" >&5 -echo $ECHO_N "checking POPPLER_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking POPPLER_CFLAGS" >&5 +$as_echo_n "checking POPPLER_CFLAGS... " >&6; } POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.8.0 "` - echo "$as_me:$LINENO: result: $POPPLER_CFLAGS" >&5 -echo "${ECHO_T}$POPPLER_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POPPLER_CFLAGS" >&5 +$as_echo "$POPPLER_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking POPPLER_LIBS" >&5 -echo $ECHO_N "checking POPPLER_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking POPPLER_LIBS" >&5 +$as_echo_n "checking POPPLER_LIBS... " >&6; } POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.8.0 "` - echo "$as_me:$LINENO: result: $POPPLER_LIBS" >&5 -echo "${ECHO_T}$POPPLER_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POPPLER_LIBS" >&5 +$as_echo "$POPPLER_LIBS" >&6; } else POPPLER_CFLAGS="" POPPLER_LIBS="" @@ -26145,30 +20544,26 @@ echo "${ECHO_T}$POPPLER_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_POPPLER=NO BUILD_TYPE="$BUILD_TYPE XPDF" - echo "$as_me:$LINENO: checking for xpdf module" >&5 -echo $ECHO_N "checking for xpdf module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xpdf module" >&5 +$as_echo_n "checking for xpdf module... " >&6; } if test -d ./xpdf; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PDFIMPORT=NO fi @@ -26177,82 +20572,76 @@ fi if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then - echo "$as_me:$LINENO: checking for sdext module" >&5 -echo $ECHO_N "checking for sdext module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sdext module" >&5 +$as_echo_n "checking for sdext module... " >&6; } if test -d ./sdext; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE SDEXT" fi -echo "$as_me:$LINENO: checking whether to build the Wiki Publisher extension" >&5 -echo $ECHO_N "checking whether to build the Wiki Publisher extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Wiki Publisher extension" >&5 +$as_echo_n "checking whether to build the Wiki Publisher extension... " >&6; } if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking for swext module" >&5 -echo $ECHO_N "checking for swext module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for swext module" >&5 +$as_echo_n "checking for swext module... " >&6; } if test -d ./swext; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi ENABLE_MEDIAWIKI=YES BUILD_TYPE="$BUILD_TYPE SWEXT" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MEDIAWIKI=NO fi if test "$ENABLE_MEDIAWIKI" == "YES"; then - echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5 -echo $ECHO_N "checking which Servlet API Jar to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Servlet API Jar to use" >&5 +$as_echo_n "checking which Servlet API Jar to use... " >&6; } if test -n "$with_system_servlet_api"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SERVLETAPI=YES if test -z "$SERVLETAPI_JAR"; then SERVLETAPI_JAR=/usr/share/java/servlet-api.jar fi - as_ac_File=`echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERVLETAPI_JAR" >&5 -echo $ECHO_N "checking for $SERVLETAPI_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SERVLETAPI_JAR" >&5 +$as_echo_n "checking for $SERVLETAPI_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SERVLETAPI_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: servlet-api.jar not found." >&5 -echo "$as_me: error: servlet-api.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "servlet-api.jar not found." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SERVLETAPI=NO BUILD_TYPE="$BUILD_TYPE TOMCAT" fi @@ -26260,103 +20649,93 @@ fi -echo "$as_me:$LINENO: checking whether to build the Report Builder extension" >&5 -echo $ECHO_N "checking whether to build the Report Builder extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Report Builder extension" >&5 +$as_echo_n "checking whether to build the Report Builder extension... " >&6; } if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_REPORTBUILDER=YES - echo "$as_me:$LINENO: checking for reportbuilder module" >&5 -echo $ECHO_N "checking for reportbuilder module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reportbuilder module" >&5 +$as_echo_n "checking for reportbuilder module... " >&6; } if test -d ./reportbuilder; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5 -echo $ECHO_N "checking which jfreereport libs to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which jfreereport libs to use" >&5 +$as_echo_n "checking which jfreereport libs to use... " >&6; } if test "$with_system_jfreereport" == "yes"; then SYSTEM_JFREEREPORT=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test -z $SAC_JAR; then SAC_JAR=/usr/share/java/sac.jar fi - as_ac_File=`echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAC_JAR" >&5 -echo $ECHO_N "checking for $SAC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SAC_JAR" >&5 +$as_echo_n "checking for $SAC_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SAC_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: sac.jar not found." >&5 -echo "$as_me: error: sac.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "sac.jar not found." "$LINENO" 5 fi if test -z $LIBXML_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libxml-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libxml_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libxml-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libxml_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libxml-1.0.0.jar"; then ac_cv_file__usr_share_java_libxml_1_0_0_jar=yes else ac_cv_file__usr_share_java_libxml_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_1_0_0_jar" = x""yes; then : LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libxml.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libxml_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libxml.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libxml_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libxml.jar"; then ac_cv_file__usr_share_java_libxml_jar=yes else ac_cv_file__usr_share_java_libxml_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_jar" = x""yes; then : LIBXML_JAR=/usr/share/java/libxml.jar else - { { echo "$as_me:$LINENO: error: libxml.jar replacement not found." >&5 -echo "$as_me: error: libxml.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libxml.jar replacement not found." "$LINENO" 5 fi @@ -26365,79 +20744,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBXML_JAR" >&5 -echo $ECHO_N "checking for $LIBXML_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBXML_JAR" >&5 +$as_echo_n "checking for $LIBXML_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBXML_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libxml.jar not found." >&5 -echo "$as_me: error: libxml.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libxml.jar not found." "$LINENO" 5 fi fi if test -z $FLUTE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/flute-1.3.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute-1.3.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flute_1_3_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flute-1.3.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute-1.3.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flute_1_3_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flute-1.3.0.jar"; then ac_cv_file__usr_share_java_flute_1_3_0_jar=yes else ac_cv_file__usr_share_java_flute_1_3_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_1_3_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_1_3_0_jar" = x""yes; then : FLUTE_JAR=/usr/share/java/flute-1.3.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/flute.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flute_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flute.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flute_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flute.jar"; then ac_cv_file__usr_share_java_flute_jar=yes else ac_cv_file__usr_share_java_flute_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flute_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_jar" = x""yes; then : FLUTE_JAR=/usr/share/java/flute.jar else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar replacement not found." >&5 -echo "$as_me: error: flute-1.3.0.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "flute-1.3.0.jar replacement not found." "$LINENO" 5 fi @@ -26446,79 +20817,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $FLUTE_JAR" >&5 -echo $ECHO_N "checking for $FLUTE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $FLUTE_JAR" >&5 +$as_echo_n "checking for $FLUTE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$FLUTE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar not found." >&5 -echo "$as_me: error: flute-1.3.0.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "flute-1.3.0.jar not found." "$LINENO" 5 fi fi if test -z $JFREEREPORT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine-0.9.2.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flow_engine_0_9_2_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine-0.9.2.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flow_engine_0_9_2_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flow-engine-0.9.2.jar"; then ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=yes else ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" = x""yes; then : JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flow_engine_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flow-engine.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flow_engine_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flow-engine.jar"; then ac_cv_file__usr_share_java_flow_engine_jar=yes else ac_cv_file__usr_share_java_flow_engine_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_jar" = x""yes; then : JFREEREPORT_JAR=/usr/share/java/flow-engine.jar else - { { echo "$as_me:$LINENO: error: jfreereport.jar replacement not found." >&5 -echo "$as_me: error: jfreereport.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jfreereport.jar replacement not found." "$LINENO" 5 fi @@ -26527,79 +20890,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $JFREEREPORT_JAR" >&5 -echo $ECHO_N "checking for $JFREEREPORT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $JFREEREPORT_JAR" >&5 +$as_echo_n "checking for $JFREEREPORT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$JFREEREPORT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: jfreereport.jar not found." >&5 -echo "$as_me: error: jfreereport.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jfreereport.jar not found." "$LINENO" 5 fi fi if test -z $LIBLAYOUT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout-0.2.9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_liblayout_0_2_9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout-0.2.9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_liblayout_0_2_9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/liblayout-0.2.9.jar"; then ac_cv_file__usr_share_java_liblayout_0_2_9_jar=yes else ac_cv_file__usr_share_java_liblayout_0_2_9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_0_2_9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" = x""yes; then : LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_liblayout_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/liblayout.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_liblayout_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/liblayout.jar"; then ac_cv_file__usr_share_java_liblayout_jar=yes else ac_cv_file__usr_share_java_liblayout_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_jar" = x""yes; then : LIBLAYOUT_JAR=/usr/share/java/liblayout.jar else - { { echo "$as_me:$LINENO: error: liblayout.jar replacement not found." >&5 -echo "$as_me: error: liblayout.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "liblayout.jar replacement not found." "$LINENO" 5 fi @@ -26608,79 +20963,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLAYOUT_JAR" >&5 -echo $ECHO_N "checking for $LIBLAYOUT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBLAYOUT_JAR" >&5 +$as_echo_n "checking for $LIBLAYOUT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBLAYOUT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: liblayout.jar not found." >&5 -echo "$as_me: error: liblayout.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "liblayout.jar not found." "$LINENO" 5 fi fi if test -z $LIBLOADER_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libloader-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libloader_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libloader-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libloader_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libloader-1.0.0.jar"; then ac_cv_file__usr_share_java_libloader_1_0_0_jar=yes else ac_cv_file__usr_share_java_libloader_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_1_0_0_jar" = x""yes; then : LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libloader.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libloader_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libloader.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libloader_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libloader.jar"; then ac_cv_file__usr_share_java_libloader_jar=yes else ac_cv_file__usr_share_java_libloader_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_jar" = x""yes; then : LIBLOADER_JAR=/usr/share/java/libloader.jar else - { { echo "$as_me:$LINENO: error: libloader.jar replacement not found." >&5 -echo "$as_me: error: libloader.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libloader.jar replacement not found." "$LINENO" 5 fi @@ -26689,79 +21036,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLOADER_JAR" >&5 -echo $ECHO_N "checking for $LIBLOADER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBLOADER_JAR" >&5 +$as_echo_n "checking for $LIBLOADER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBLOADER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libloader.jar not found." >&5 -echo "$as_me: error: libloader.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libloader.jar not found." "$LINENO" 5 fi fi if test -z $LIBFORMULA_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libformula-0.2.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula-0.2.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libformula_0_2_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libformula-0.2.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula-0.2.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libformula_0_2_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libformula-0.2.0.jar"; then ac_cv_file__usr_share_java_libformula_0_2_0_jar=yes else ac_cv_file__usr_share_java_libformula_0_2_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_0_2_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_0_2_0_jar" = x""yes; then : LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libformula.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libformula_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libformula.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libformula_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libformula.jar"; then ac_cv_file__usr_share_java_libformula_jar=yes else ac_cv_file__usr_share_java_libformula_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_jar" = x""yes; then : LIBFORMULA_JAR=/usr/share/java/libformula.jar else - { { echo "$as_me:$LINENO: error: libformula.jar replacement not found." >&5 -echo "$as_me: error: libformula.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libformula.jar replacement not found." "$LINENO" 5 fi @@ -26770,79 +21109,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFORMULA_JAR" >&5 -echo $ECHO_N "checking for $LIBFORMULA_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBFORMULA_JAR" >&5 +$as_echo_n "checking for $LIBFORMULA_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBFORMULA_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libformula.jar not found." >&5 -echo "$as_me: error: libformula.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libformula.jar not found." "$LINENO" 5 fi fi if test -z $LIBREPOSITORY_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/librepository-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_librepository_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/librepository-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_librepository_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/librepository-1.0.0.jar"; then ac_cv_file__usr_share_java_librepository_1_0_0_jar=yes else ac_cv_file__usr_share_java_librepository_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_1_0_0_jar" = x""yes; then : LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/librepository.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_librepository_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/librepository.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_librepository_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/librepository.jar"; then ac_cv_file__usr_share_java_librepository_jar=yes else ac_cv_file__usr_share_java_librepository_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_jar" = x""yes; then : LIBREPOSITORY_JAR=/usr/share/java/librepository.jar else - { { echo "$as_me:$LINENO: error: librepository.jar replacement not found." >&5 -echo "$as_me: error: librepository.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "librepository.jar replacement not found." "$LINENO" 5 fi @@ -26851,79 +21182,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBREPOSITORY_JAR" >&5 -echo $ECHO_N "checking for $LIBREPOSITORY_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBREPOSITORY_JAR" >&5 +$as_echo_n "checking for $LIBREPOSITORY_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBREPOSITORY_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: librepository.jar not found." >&5 -echo "$as_me: error: librepository.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "librepository.jar not found." "$LINENO" 5 fi fi if test -z $LIBFONTS_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libfonts_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libfonts_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libfonts-1.0.0.jar"; then ac_cv_file__usr_share_java_libfonts_1_0_0_jar=yes else ac_cv_file__usr_share_java_libfonts_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" = x""yes; then : LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libfonts_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libfonts.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libfonts_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libfonts.jar"; then ac_cv_file__usr_share_java_libfonts_jar=yes else ac_cv_file__usr_share_java_libfonts_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_jar" = x""yes; then : LIBFONTS_JAR=/usr/share/java/libfonts.jar else - { { echo "$as_me:$LINENO: error: libfonts.jar replacement not found." >&5 -echo "$as_me: error: libfonts.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libfonts.jar replacement not found." "$LINENO" 5 fi @@ -26932,79 +21255,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFONTS_JAR" >&5 -echo $ECHO_N "checking for $LIBFONTS_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBFONTS_JAR" >&5 +$as_echo_n "checking for $LIBFONTS_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBFONTS_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libfonts.jar not found." >&5 -echo "$as_me: error: libfonts.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libfonts.jar not found." "$LINENO" 5 fi fi if test -z $LIBSERIALIZER_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libserializer_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libserializer_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libserializer-1.0.0.jar"; then ac_cv_file__usr_share_java_libserializer_1_0_0_jar=yes else ac_cv_file__usr_share_java_libserializer_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" = x""yes; then : LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libserializer_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libserializer.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libserializer_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libserializer.jar"; then ac_cv_file__usr_share_java_libserializer_jar=yes else ac_cv_file__usr_share_java_libserializer_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_jar" = x""yes; then : LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar else - { { echo "$as_me:$LINENO: error: libserializer.jar replacement not found." >&5 -echo "$as_me: error: libserializer.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libserializer.jar replacement not found." "$LINENO" 5 fi @@ -27013,80 +21328,72 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBSERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $LIBSERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBSERIALIZER_JAR" >&5 +$as_echo_n "checking for $LIBSERIALIZER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBSERIALIZER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libserializer.jar not found." >&5 -echo "$as_me: error: libserializer.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libserializer.jar not found." "$LINENO" 5 fi fi if test -z $LIBBASE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libbase-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libbase_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libbase-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libbase_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libbase-1.0.0.jar"; then ac_cv_file__usr_share_java_libbase_1_0_0_jar=yes else ac_cv_file__usr_share_java_libbase_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_1_0_0_jar" = x""yes; then : LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libbase.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libbase_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libbase.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libbase_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libbase.jar"; then ac_cv_file__usr_share_java_libbase_jar=yes else ac_cv_file__usr_share_java_libbase_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_jar" = x""yes; then : LIBBASE_JAR=/usr/share/java/libbase.jar else - { { echo "$as_me:$LINENO: error: libbase.jar replacement not found." >&5 -echo "$as_me: error: libbase.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libbase.jar replacement not found." "$LINENO" 5 fi @@ -27095,54 +21402,50 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBBASE_JAR" >&5 -echo $ECHO_N "checking for $LIBBASE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBBASE_JAR" >&5 +$as_echo_n "checking for $LIBBASE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBBASE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libbase.jar not found." >&5 -echo "$as_me: error: libbase.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libbase.jar not found." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - echo "$as_me:$LINENO: checking for jfreereport module" >&5 -echo $ECHO_N "checking for jfreereport module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jfreereport module" >&5 +$as_echo_n "checking for jfreereport module... " >&6; } if test -d ./jfreereport; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi SYSTEM_JFREEREPORT=NO BUILD_TYPE="$BUILD_TYPE JFREEREPORT" fi BUILD_TYPE="$BUILD_TYPE REPORTBUILDER" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_REPORTBUILDER=NO SYSTEM_JFREEREPORT=NO fi @@ -27163,58 +21466,52 @@ fi # this has to be here because both the wiki publisher and the SRB use # commons-logging if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then - echo "$as_me:$LINENO: checking which Apache commons-* libs to use" >&5 -echo $ECHO_N "checking which Apache commons-* libs to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Apache commons-* libs to use" >&5 +$as_echo_n "checking which Apache commons-* libs to use... " >&6; } if test "$with_system_apache_commons" = "yes"; then SYSTEM_APACHE_COMMONS=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test "$ENABLE_MEDIAWIKI" = "YES"; then if test -z $COMMONS_CODEC_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-codec-1.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-codec-1.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_codec_1_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-codec-1.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-codec-1.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_codec_1_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-codec-1.3.jar"; then ac_cv_file__usr_share_java_commons_codec_1_3_jar=yes else ac_cv_file__usr_share_java_commons_codec_1_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_codec_1_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_codec_1_3_jar" = x""yes; then : COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-codec.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-codec.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_codec_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-codec.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-codec.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_codec_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-codec.jar"; then ac_cv_file__usr_share_java_commons_codec_jar=yes else ac_cv_file__usr_share_java_commons_codec_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_codec_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_codec_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_codec_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_codec_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_codec_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_codec_jar" = x""yes; then : COMMONS_CODEC_JAR=/usr/share/java/commons-codecs.jar else - { { echo "$as_me:$LINENO: error: commons-codec.jar replacement not found." >&5 -echo "$as_me: error: commons-codec.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-codec.jar replacement not found." "$LINENO" 5 fi @@ -27223,79 +21520,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_CODEC_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_CODEC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_CODEC_JAR" >&5 +$as_echo_n "checking for $COMMONS_CODEC_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_CODEC_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-codec.jar not found." >&5 -echo "$as_me: error: commons-codec.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-codec.jar not found." "$LINENO" 5 fi fi if test -z $COMMONS_LANG_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-lang-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-lang-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_lang_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-lang-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-lang-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_lang_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-lang-2.3.jar"; then ac_cv_file__usr_share_java_commons_lang_2_3_jar=yes else ac_cv_file__usr_share_java_commons_lang_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_lang_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_lang_2_3_jar" = x""yes; then : COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-lang.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-lang.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_lang_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-lang.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-lang.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_lang_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-lang.jar"; then ac_cv_file__usr_share_java_commons_lang_jar=yes else ac_cv_file__usr_share_java_commons_lang_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_lang_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_lang_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_lang_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_lang_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_lang_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_lang_jar" = x""yes; then : COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar else - { { echo "$as_me:$LINENO: error: commons-lang.jar replacement not found." >&5 -echo "$as_me: error: commons-lang.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-lang.jar replacement not found." "$LINENO" 5 fi @@ -27304,79 +21593,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LANG_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LANG_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_LANG_JAR" >&5 +$as_echo_n "checking for $COMMONS_LANG_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_LANG_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-lang.jar not found." >&5 -echo "$as_me: error: commons-lang.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-lang.jar not found." "$LINENO" 5 fi fi if test -z $COMMONS_HTTPCLIENT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-httpclient-3.1.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-httpclient-3.1.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_httpclient_3_1_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-httpclient-3.1.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-httpclient-3.1.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_httpclient_3_1_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-httpclient-3.1.jar"; then ac_cv_file__usr_share_java_commons_httpclient_3_1_jar=yes else ac_cv_file__usr_share_java_commons_httpclient_3_1_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" = x""yes; then : COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-httpclient.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-httpclient.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_httpclient_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-httpclient.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-httpclient.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_httpclient_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-httpclient.jar"; then ac_cv_file__usr_share_java_commons_httpclient_jar=yes else ac_cv_file__usr_share_java_commons_httpclient_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_httpclient_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_httpclient_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_httpclient_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_httpclient_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_httpclient_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_httpclient_jar" = x""yes; then : COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar else - { { echo "$as_me:$LINENO: error: commons-httpclient.jar replacement not found." >&5 -echo "$as_me: error: commons-httpclient.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-httpclient.jar replacement not found." "$LINENO" 5 fi @@ -27385,80 +21666,72 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_HTTPCLIENT_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_HTTPCLIENT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_HTTPCLIENT_JAR" >&5 +$as_echo_n "checking for $COMMONS_HTTPCLIENT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_HTTPCLIENT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-httpclient.jar not found." >&5 -echo "$as_me: error: commons-httpclient.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-httpclient.jar not found." "$LINENO" 5 fi fi fi if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then if test -z $COMMONS_LOGGING_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-logging-1.1.1.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-logging-1.1.1.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_logging_1_1_1_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-logging-1.1.1.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-logging-1.1.1.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_logging_1_1_1_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-logging-1.1.1.jar"; then ac_cv_file__usr_share_java_commons_logging_1_1_1_jar=yes else ac_cv_file__usr_share_java_commons_logging_1_1_1_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" = x""yes; then : COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-logging.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-logging.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_logging_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-logging.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-logging.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_logging_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-logging.jar"; then ac_cv_file__usr_share_java_commons_logging_jar=yes else ac_cv_file__usr_share_java_commons_logging_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_logging_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_logging_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_logging_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_logging_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_logging_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_logging_jar" = x""yes; then : COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar else - { { echo "$as_me:$LINENO: error: commons-logging.jar replacement not found." >&5 -echo "$as_me: error: commons-logging.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-logging.jar replacement not found." "$LINENO" 5 fi @@ -27467,37 +21740,35 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LOGGING_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LOGGING_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_LOGGING_JAR" >&5 +$as_echo_n "checking for $COMMONS_LOGGING_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_LOGGING_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-logging.jar not found." >&5 -echo "$as_me: error: commons-logging.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-logging.jar not found." "$LINENO" 5 fi fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_APACHE_COMMONS=NO BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT" fi @@ -27549,8 +21820,8 @@ if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" - echo "$as_me:$LINENO: checking for Qt headers" >&5 -echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt headers" >&5 +$as_echo_n "checking for Qt headers... " >&6; } qt_incdir="no" for kde_check in $qt_incdirs ; do if test -r "$kde_check/$qt_test_include" ; then @@ -27558,18 +21829,15 @@ echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $qt_incdir" >&5 -echo "${ECHO_T}$qt_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_incdir" >&5 +$as_echo "$qt_incdir" >&6; } if test "x$qt_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt headers not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt headers not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt headers not found. Please specify the root of +your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for Qt libraries" >&5 -echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt libraries" >&5 +$as_echo_n "checking for Qt libraries... " >&6; } qt_libdir="no" for qt_check in $qt_libdirs ; do if test -r "$qt_check/$qt_test_library" ; then @@ -27577,22 +21845,19 @@ echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $qt_libdir" >&5 -echo "${ECHO_T}$qt_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_libdir" >&5 +$as_echo "$qt_libdir" >&6; } if test "x$qt_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt libraries not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt libraries not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt libraries not found. Please specify the root of +your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MOC in [\\/]* | ?:[\\/]*) @@ -27605,39 +21870,37 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC" && ac_cv_path_MOC="no" ;; esac fi MOC=$ac_cv_path_MOC - if test -n "$MOC"; then - echo "$as_me:$LINENO: result: $MOC" >&5 -echo "${ECHO_T}$MOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 +$as_echo "$MOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt Meta Object Compiler not found. Please specify +the root of your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE headers" >&5 -echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE headers" >&5 +$as_echo_n "checking for KDE headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -27645,18 +21908,15 @@ echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE headers not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE headers not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE headers not found. Please specify the root of +your KDE installation by exporting KDEDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE libraries" >&5 -echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE libraries" >&5 +$as_echo_n "checking for KDE libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -27664,14 +21924,11 @@ echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE libraries not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE libraries not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE libraries not found. Please specify the root of +your KDE installation by exporting KDEDIR before running \"configure\"." "$LINENO" 5 fi KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" @@ -27711,8 +21968,8 @@ if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" - echo "$as_me:$LINENO: checking for Qt4 headers" >&5 -echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt4 headers" >&5 +$as_echo_n "checking for Qt4 headers... " >&6; } qt_header_dir="no" for inc_dir in $qt_incdirs ; do if test -r "$inc_dir/$qt_test_include" ; then @@ -27721,16 +21978,14 @@ echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $qt_header_dir" >&5 -echo "${ECHO_T}$qt_header_dir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_header_dir" >&5 +$as_echo "$qt_header_dir" >&6; } if test "x$qt_header_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for Qt4 libraries" >&5 -echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt4 libraries" >&5 +$as_echo_n "checking for Qt4 libraries... " >&6; } qt_lib_dir="no" for lib_dir in $qt_libdirs ; do if test -r "$lib_dir/$qt_test_library" ; then @@ -27739,21 +21994,19 @@ echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $qt_lib_dir" >&5 -echo "${ECHO_T}$qt_lib_dir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_lib_dir" >&5 +$as_echo "$qt_lib_dir" >&6; } if test "x$qt_lib_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MOC4+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MOC4+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MOC4 in [\\/]* | ?:[\\/]*) @@ -27766,39 +22019,37 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC4="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC4" && ac_cv_path_MOC4="no" ;; esac fi MOC4=$ac_cv_path_MOC4 - if test -n "$MOC4"; then - echo "$as_me:$LINENO: result: $MOC4" >&5 -echo "${ECHO_T}$MOC4" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5 +$as_echo "$MOC4" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC4" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt Meta Object Compiler not found. Please specify +the root of your Qt installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE4 headers" >&5 -echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE4 headers" >&5 +$as_echo_n "checking for KDE4 headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -27806,16 +22057,14 @@ echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE4 libraries" >&5 -echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE4 libraries" >&5 +$as_echo_n "checking for KDE4 libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -27824,12 +22073,10 @@ echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." "$LINENO" 5 fi KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" @@ -27839,34 +22086,34 @@ fi -echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5 -echo $ECHO_N "checking whether to enable the lockdown pieces... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable the lockdown pieces" >&5 +$as_echo_n "checking whether to enable the lockdown pieces... " >&6; } ENABLE_LOCKDOWN="" if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then ENABLE_LOCKDOWN=YES - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable evolution 2 support" >&5 -echo $ECHO_N "checking whether to enable evolution 2 support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable evolution 2 support" >&5 +$as_echo_n "checking whether to enable evolution 2 support... " >&6; } if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -27878,29 +22125,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -27911,25 +22159,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gobject-2.0" >&5 -echo $ECHO_N "checking for gobject-2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-2.0" >&5 +$as_echo_n "checking for gobject-2.0... " >&6; } if $PKG_CONFIG --exists "gobject-2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GOBJECT_CFLAGS" >&5 -echo $ECHO_N "checking GOBJECT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GOBJECT_CFLAGS" >&5 +$as_echo_n "checking GOBJECT_CFLAGS... " >&6; } GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0"` - echo "$as_me:$LINENO: result: $GOBJECT_CFLAGS" >&5 -echo "${ECHO_T}$GOBJECT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOBJECT_CFLAGS" >&5 +$as_echo "$GOBJECT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GOBJECT_LIBS" >&5 -echo $ECHO_N "checking GOBJECT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GOBJECT_LIBS" >&5 +$as_echo_n "checking GOBJECT_LIBS... " >&6; } GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0"` - echo "$as_me:$LINENO: result: $GOBJECT_LIBS" >&5 -echo "${ECHO_T}$GOBJECT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOBJECT_LIBS" >&5 +$as_echo "$GOBJECT_LIBS" >&6; } else GOBJECT_CFLAGS="" GOBJECT_LIBS="" @@ -27950,27 +22198,25 @@ echo "${ECHO_T}$GOBJECT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi ENABLE_EVOAB2="TRUE" else ENABLE_EVOAB2="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable KDE address book support" >&5 -echo $ECHO_N "checking whether to enable KDE address book support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable KDE address book support" >&5 +$as_echo_n "checking whether to enable KDE address book support... " >&6; } if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -27978,20 +22224,15 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $KDE_CFLAGS" - echo "$as_me:$LINENO: checking whether KDE is between 3.2 and 3.6" >&5 -echo $ECHO_N "checking whether KDE is between 3.2 and 3.6... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether KDE is between 3.2 and 3.6" >&5 +$as_echo_n "checking whether KDE is between 3.2 and 3.6... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -28002,31 +22243,16 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&5 -echo "$as_me: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE version too old or too recent, please use another version of KDE or disable KDE address book support" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + CXXFLAGS=$save_CXXFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -28036,66 +22262,66 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ENABLE_KAB=TRUE else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_KAB= fi -echo "$as_me:$LINENO: checking whether to include MathMLDTD" >&5 -echo $ECHO_N "checking whether to include MathMLDTD... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include MathMLDTD" >&5 +$as_echo_n "checking whether to include MathMLDTD... " >&6; } if test -n "$enable_mathmldtd"; then if test "$enable_mathmldtd" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_TYPE="$BUILD_TYPE MATHMLDTD" fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" fi -echo "$as_me:$LINENO: checking whether to include Bitstream Vera fonts" >&5 -echo $ECHO_N "checking whether to include Bitstream Vera fonts... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include Bitstream Vera fonts" >&5 +$as_echo_n "checking whether to include Bitstream Vera fonts... " >&6; } if test "$with_fonts" != "no" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_FONTS=YES BUILD_TYPE="$BUILD_TYPE BITSTREAM_VERA_FONTS" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_FONTS=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTS" fi -echo "$as_me:$LINENO: checking whether to include PPDs" >&5 -echo $ECHO_N "checking whether to include PPDs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include PPDs" >&5 +$as_echo_n "checking whether to include PPDs... " >&6; } if test "$with_ppds" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_PPDS=YES SCPDEFS="$SCPDEFS -DWITHOUT_PPDS" fi -echo "$as_me:$LINENO: checking whether to include AFMs" >&5 -echo $ECHO_N "checking whether to include AFMs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include AFMs" >&5 +$as_echo_n "checking whether to include AFMs... " >&6; } if test "$with_afms" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_AFMS=YES SCPDEFS="$SCPDEFS -DWITHOUT_AFMS" fi @@ -28103,13 +22329,13 @@ fi -echo "$as_me:$LINENO: checking whether and how to use Xinerama" >&5 -echo $ECHO_N "checking whether and how to use Xinerama... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether and how to use Xinerama" >&5 +$as_echo_n "checking whether and how to use Xinerama... " >&6; } if test "$_os" = "Darwin"; then USE_XINERAMA=YES XINERAMA_LINK=dynamic - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then # we have both versions, let the user decide but use the dynamic one @@ -28139,151 +22365,13 @@ elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then XINERAMA_LINK=none fi if test "$USE_XINERAMA" = "YES"; then - echo "$as_me:$LINENO: result: yes, with $XINERAMA_LINK linking" >&5 -echo "${ECHO_T}yes, with $XINERAMA_LINK linking" >&6 - if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xinerama_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, with $XINERAMA_LINK linking" >&5 +$as_echo "yes, with $XINERAMA_LINK linking" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xinerama.h" "ac_cv_header_X11_extensions_Xinerama_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xinerama_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xinerama_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Xinerama header not found." >&5 -echo "$as_me: error: Xinerama header not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xinerama header not found." "$LINENO" 5 fi @@ -28294,72 +22382,43 @@ fi if test "$_os" = "Linux"; then XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl" fi - -echo "$as_me:$LINENO: checking for XineramaIsActive in -lXinerama" >&5 -echo $ECHO_N "checking for XineramaIsActive in -lXinerama... $ECHO_C" >&6 -if test "${ac_cv_lib_Xinerama_XineramaIsActive+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XineramaIsActive in -lXinerama" >&5 +$as_echo_n "checking for XineramaIsActive in -lXinerama... " >&6; } +if test "${ac_cv_lib_Xinerama_XineramaIsActive+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXinerama $XINERAMA_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XineramaIsActive (); int main () { -XineramaIsActive (); +return XineramaIsActive (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xinerama_XineramaIsActive=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xinerama_XineramaIsActive=no + ac_cv_lib_Xinerama_XineramaIsActive=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 -echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaIsActive" >&6 -if test $ac_cv_lib_Xinerama_XineramaIsActive = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 +$as_echo "$ac_cv_lib_Xinerama_XineramaIsActive" >&6; } +if test "x$ac_cv_lib_Xinerama_XineramaIsActive" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXINERAMA 1 _ACEOF @@ -28367,18 +22426,16 @@ _ACEOF LIBS="-lXinerama $LIBS" else - { { echo "$as_me:$LINENO: error: Xinerama not functional?" >&5 -echo "$as_me: error: Xinerama not functional?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xinerama not functional?" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, libXinerama not found or wrong architecture." >&5 -echo "${ECHO_T}no, libXinerama not found or wrong architecture." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, libXinerama not found or wrong architecture." >&5 +$as_echo "no, libXinerama not found or wrong architecture." >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -28392,10 +22449,10 @@ if test -z "$with_ant_home"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ANT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -28407,28 +22464,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANT" >&5 +$as_echo "$ANT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -28440,10 +22498,10 @@ else do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ANT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -28456,28 +22514,29 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANT" >&5 +$as_echo "$ANT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -28486,9 +22545,7 @@ done fi if test -z "$ANT"; then - { { echo "$as_me:$LINENO: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&5 -echo "$as_me: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Ant not found - Make sure it's in the path or use --with-ant-home" "$LINENO" 5 else # resolve relative or absolute symlink while test -h "$ANT"; do @@ -28513,8 +22570,8 @@ else fi ant_minminor1=`echo $ant_minver | cut -d"." -f2` - echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5 -echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ant is >= $ant_minver" >&5 +$as_echo_n "checking whether ant is >= $ant_minver... " >&6; } ant_version=`$ANT -version | $AWK '{ print $4; }'` ant_version_major=`echo $ant_version | cut -d. -f1` ant_version_minor=`echo $ant_version | cut -d. -f2` @@ -28522,18 +22579,16 @@ echo "configure: ant_version $ant_version " >&5 echo "configure: ant_version_major $ant_version_major " >&5 echo "configure: ant_version_minor $ant_version_minor " >&5 if test "$ant_version_major" -ge "2"; then - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } else - { { echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5 -echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, you need at least ant >= $ant_minver" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking if $ANT works" >&5 -echo $ECHO_N "checking if $ANT works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $ANT works" >&5 +$as_echo_n "checking if $ANT works... " >&6; } cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { @@ -28557,14 +22612,14 @@ EOF else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi - { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ant_cmd\""; } >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./conftest.class ; then - echo "$as_me:$LINENO: result: Ant works" >&5 -echo "${ECHO_T}Ant works" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Ant works" >&5 +$as_echo "Ant works" >&6; } if test -z "$WITH_ANT_HOME"; then ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"` if test -z "$ANT_HOME"; then @@ -28577,8 +22632,8 @@ echo "${ECHO_T}Ant works" >&6 echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 - { echo "$as_me:$LINENO: WARNING: Ant does not work - Some Java projects will not build!" >&5 -echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ant does not work - Some Java projects will not build!" >&5 +$as_echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} ANT_HOME="" echo "Ant does not work - Some Java projects will not build!" >>warn fi @@ -28591,8 +22646,8 @@ fi if test "$ANT_HOME" != "NO_ANT_HOME"; then - echo "$as_me:$LINENO: checking Ant lib directory" >&5 -echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Ant lib directory" >&5 +$as_echo_n "checking Ant lib directory... " >&6; } if test -f $ANT_HOME/lib/ant.jar; then ANT_LIB="$ANT_HOME/lib" else @@ -28608,23 +22663,21 @@ echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 if test -f $ANT_HOME/lib/ant/ant.jar; then ANT_LIB="$ANT_HOME/lib/ant" else - { { echo "$as_me:$LINENO: error: Ant libraries not found!" >&5 -echo "$as_me: error: Ant libraries not found!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Ant libraries not found!" "$LINENO" 5 fi fi fi fi fi - echo "$as_me:$LINENO: result: Ant lib directory found." >&5 -echo "${ECHO_T}Ant lib directory found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Ant lib directory found." >&5 +$as_echo "Ant lib directory found." >&6; } fi fi if test "$ENABLE_MEDIAWIKI" = "YES"; then -echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5 -echo $ECHO_N "checking whether ant supports mapper type=\"regexp\"... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ant supports mapper type=\"regexp\"" >&5 +$as_echo_n "checking whether ant supports mapper type=\"regexp\"... " >&6; } rm -rf confdir mkdir confdir cat > conftest.java << EOF @@ -28656,31 +22709,29 @@ EOF else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi - { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ant_cmd\""; } >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./conftest.class ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } rm -rf confdir else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 rm -rf confdir - { { echo "$as_me:$LINENO: error: no. Did you install ant-apache-regexp?" >&5 -echo "$as_me: error: no. Did you install ant-apache-regexp?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. Did you install ant-apache-regexp?" "$LINENO" 5 fi fi rm -f conftest* core core.* *.core OOO_JUNIT_JAR= if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then - echo "$as_me:$LINENO: checking for JUnit 4" >&5 -echo $ECHO_N "checking for JUnit 4... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JUnit 4" >&5 +$as_echo_n "checking for JUnit 4... " >&6; } if test "$with_junit" == "yes"; then if test -e /usr/share/java/junit4.jar; then OOO_JUNIT_JAR=/usr/share/java/junit4.jar @@ -28696,176 +22747,172 @@ echo $ECHO_N "checking for JUnit 4... $ECHO_C" >&6 "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \ grep org/junit/Before.class > /dev/null 2>&5 if test $? -eq 0; then - echo "$as_me:$LINENO: result: $OOO_JUNIT_JAR" >&5 -echo "${ECHO_T}$OOO_JUNIT_JAR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OOO_JUNIT_JAR" >&5 +$as_echo "$OOO_JUNIT_JAR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: cannot find JUnit 4 jar at $OOO_JUNIT_JAR; + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error "cannot find JUnit 4 jar at $OOO_JUNIT_JAR; please install one and/or specify its pathname via --with-junit=..., -or disable it via --without-junit" >&5 -echo "$as_me: error: cannot find JUnit 4 jar at $OOO_JUNIT_JAR; -please install one and/or specify its pathname via --with-junit=..., -or disable it via --without-junit" >&2;} - { (exit 1); exit 1; }; } +or disable it via --without-junit" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking which languages to be built" >&5 -echo $ECHO_N "checking which languages to be built... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which languages to be built" >&5 +$as_echo_n "checking which languages to be built... " >&6; } WITH_LANG="$with_lang" if test -z "$WITH_LANG"; then - echo "$as_me:$LINENO: result: en-US" >&5 -echo "${ECHO_T}en-US" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: en-US" >&5 +$as_echo "en-US" >&6; } else - echo "$as_me:$LINENO: result: $WITH_LANG" >&5 -echo "${ECHO_T}$WITH_LANG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_LANG" >&5 +$as_echo "$WITH_LANG" >&6; } fi -echo "$as_me:$LINENO: checking which languages have poor help localizations" >&5 -echo $ECHO_N "checking which languages have poor help localizations... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which languages have poor help localizations" >&5 +$as_echo_n "checking which languages have poor help localizations... " >&6; } WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations" if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else - echo "$as_me:$LINENO: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 -echo "${ECHO_T}$WITH_POOR_HELP_LOCALIZATIONS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 +$as_echo "$WITH_POOR_HELP_LOCALIZATIONS" >&6; } fi -echo "$as_me:$LINENO: checking which dictionaries to include" >&5 -echo $ECHO_N "checking which dictionaries to include... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which dictionaries to include" >&5 +$as_echo_n "checking which dictionaries to include... " >&6; } if test -z "$with_dict"; then WITH_DICT=,ALL, - echo "$as_me:$LINENO: result: ALL" >&5 -echo "${ECHO_T}ALL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ALL" >&5 +$as_echo "ALL" >&6; } else WITH_DICT=","$with_dict"," - echo "$as_me:$LINENO: result: $with_dict" >&5 -echo "${ECHO_T}$with_dict" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_dict" >&5 +$as_echo "$with_dict" >&6; } fi -echo "$as_me:$LINENO: checking for additional 'intro' bitmaps" >&5 -echo $ECHO_N "checking for additional 'intro' bitmaps... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional 'intro' bitmaps" >&5 +$as_echo_n "checking for additional 'intro' bitmaps... " >&6; } INTRO_BITMAPS= if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then INTRO_BITMAPS= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: Intro bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Intro bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then INTRO_BITMAPS="$INTRO_BITMAPS $bitmap" fi done - echo "$as_me:$LINENO: result: $INTRO_BITMAPS" >&5 -echo "${ECHO_T}$INTRO_BITMAPS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTRO_BITMAPS" >&5 +$as_echo "$INTRO_BITMAPS" >&6; } fi -echo "$as_me:$LINENO: checking for additional 'about' bitmaps" >&5 -echo $ECHO_N "checking for additional 'about' bitmaps... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional 'about' bitmaps" >&5 +$as_echo_n "checking for additional 'about' bitmaps... " >&6; } ABOUT_BITMAPS= if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then ABOUT_BITMAPS= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: About bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: About bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap" fi done - echo "$as_me:$LINENO: result: $ABOUT_BITMAPS" >&5 -echo "${ECHO_T}$ABOUT_BITMAPS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ABOUT_BITMAPS" >&5 +$as_echo "$ABOUT_BITMAPS" >&6; } fi OOO_VENDOR= -echo "$as_me:$LINENO: checking for vendor" >&5 -echo $ECHO_N "checking for vendor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vendor" >&5 +$as_echo_n "checking for vendor... " >&6; } if test -z "$with_vendor" -o "$with_vendor" = "no" ; then - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } else OOO_VENDOR="$with_vendor" - echo "$as_me:$LINENO: result: $OOO_VENDOR" >&5 -echo "${ECHO_T}$OOO_VENDOR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OOO_VENDOR" >&5 +$as_echo "$OOO_VENDOR" >&6; } fi UNIXWRAPPERNAME= -echo "$as_me:$LINENO: checking for UNIX wrapper name" >&5 -echo $ECHO_N "checking for UNIX wrapper name... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UNIX wrapper name" >&5 +$as_echo_n "checking for UNIX wrapper name... " >&6; } if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no" -o "$with_unix_wrapper" = "yes" ; then - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } else UNIXWRAPPERNAME="$with_unix_wrapper" - echo "$as_me:$LINENO: result: $UNIXWRAPPERNAME" >&5 -echo "${ECHO_T}$UNIXWRAPPERNAME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIXWRAPPERNAME" >&5 +$as_echo "$UNIXWRAPPERNAME" >&6; } fi -echo "$as_me:$LINENO: checking whether to statically link to Gtk" >&5 -echo $ECHO_N "checking whether to statically link to Gtk... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to statically link to Gtk" >&5 +$as_echo_n "checking whether to statically link to Gtk... " >&6; } if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then ENABLE_STATIC_GTK="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_STATIC_GTK="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to use layout dialogs" >&5 -echo $ECHO_N "checking whether to use layout dialogs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use layout dialogs" >&5 +$as_echo_n "checking whether to use layout dialogs... " >&6; } if test -n "$enable_layout" && test "$enable_layout" != "no"; then ENABLE_LAYOUT="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_LAYOUT="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi # =================================================================== # De- or increase default verbosity of build process # =================================================================== -echo "$as_me:$LINENO: checking build verbosity" >&5 -echo $ECHO_N "checking build verbosity... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build verbosity" >&5 +$as_echo_n "checking build verbosity... " >&6; } if test -n "$enable_verbose"; then if test "$enable_verbose" == "yes"; then VERBOSE="TRUE" - echo "$as_me:$LINENO: result: high" >&5 -echo "${ECHO_T}high" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: high" >&5 +$as_echo "high" >&6; } fi if test "$enable_verbose" == "no"; then VERBOSE="FALSE" - echo "$as_me:$LINENO: result: low" >&5 -echo "${ECHO_T}low" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: low" >&5 +$as_echo "low" >&6; } fi else - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } fi @@ -28876,22 +22923,20 @@ echo "* *" echo "********************************************************************" if test -z "$COMPATH"; then - { { echo "$as_me:$LINENO: error: No compiler found." >&5 -echo "$as_me: error: No compiler found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No compiler found." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking solver path" >&5 -echo $ECHO_N "checking solver path... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking solver path" >&5 +$as_echo_n "checking solver path... " >&6; } if test -z "$with_local_solver"; then LOCAL_SOLVER="DEFAULT" - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLVER=$with_local_solver - echo "$as_me:$LINENO: result: $with_local_solver" >&5 -echo "${ECHO_T}$with_local_solver" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_local_solver" >&5 +$as_echo "$with_local_solver" >&6; } fi @@ -28900,7 +22945,8 @@ fi # make sure config.guess is +x; we execute config.guess, so it has to be so; chmod +x ./config.guess - ac_config_files="$ac_config_files set_soenv Makefile" +ac_config_files="$ac_config_files set_soenv Makefile" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -28919,39 +22965,59 @@ _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -{ +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; + ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -28960,63 +23026,54 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, +# take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -29024,12 +23081,15 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} +ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -29039,81 +23099,252 @@ cat >$CONFIG_STATUS <<_ACEOF debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -DUALCASE=1; export DUALCASE # for MKS sh -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi -done + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -29121,148 +23352,123 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file else - as_expr=false + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -29271,31 +23477,20 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - +# values after options handling. +ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -29303,124 +23498,111 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + _ACEOF -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" -cat >>$CONFIG_STATUS <<\_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE Configuration files: $config_files -Report bugs to ." -_ACEOF +Report bugs to the package provider." -cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +AWK='$AWK' +test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - -*) + *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; + -*) as_fn_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; esac shift @@ -29434,31 +23616,45 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" fi _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - - -cat >>$CONFIG_STATUS <<\_ACEOF +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "set_soenv" ) CONFIG_FILES="$CONFIG_FILES set_soenv" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + case $ac_config_target in + "set_soenv") CONFIG_FILES="$CONFIG_FILES set_soenv" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -29468,683 +23664,403 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} { - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi -# -# CONFIG_FILES section. -# +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@EGREP@,$EGREP,;t t -s,@AWK@,$AWK,;t t -s,@SED@,$SED,;t t -s,@LOCAL_SOLENV@,$LOCAL_SOLENV,;t t -s,@_solenv@,$_solenv,;t t -s,@UPD@,$UPD,;t t -s,@SOURCEVERSION@,$SOURCEVERSION,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@GNUTAR@,$GNUTAR,;t t -s,@OSVERSION@,$OSVERSION,;t t -s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t -s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t -s,@ENABLE_CRASHDUMP@,$ENABLE_CRASHDUMP,;t t -s,@VC_STANDARD@,$VC_STANDARD,;t t -s,@ENABLE_WERROR@,$ENABLE_WERROR,;t t -s,@ENABLE_DEBUG@,$ENABLE_DEBUG,;t t -s,@PRODUCT@,$PRODUCT,;t t -s,@PROFULLSWITCH@,$PROFULLSWITCH,;t t -s,@PROEXT@,$PROEXT,;t t -s,@ENABLE_SYMBOLS@,$ENABLE_SYMBOLS,;t t -s,@DISABLE_STRIP@,$DISABLE_STRIP,;t t -s,@ENABLE_CUPS@,$ENABLE_CUPS,;t t -s,@ENABLE_FONTCONFIG@,$ENABLE_FONTCONFIG,;t t -s,@TARFILE_LOCATION@,$TARFILE_LOCATION,;t t -s,@DO_FETCH_TARBALLS@,$DO_FETCH_TARBALLS,;t t -s,@WITH_BINFILTER@,$WITH_BINFILTER,;t t -s,@ENABLE_DIRECTX@,$ENABLE_DIRECTX,;t t -s,@DISABLE_ACTIVEX@,$DISABLE_ACTIVEX,;t t -s,@DISABLE_ATL@,$DISABLE_ATL,;t t -s,@ENABLE_RPATH@,$ENABLE_RPATH,;t t -s,@WITH_MYSPELL_DICTS@,$WITH_MYSPELL_DICTS,;t t -s,@SYSTEM_DICTS@,$SYSTEM_DICTS,;t t -s,@DICT_SYSTEM_DIR@,$DICT_SYSTEM_DIR,;t t -s,@HYPH_SYSTEM_DIR@,$HYPH_SYSTEM_DIR,;t t -s,@THES_SYSTEM_DIR@,$THES_SYSTEM_DIR,;t t -s,@WITH_MINGWIN@,$WITH_MINGWIN,;t t -s,@SHELLPATH@,$SHELLPATH,;t t -s,@GCC_HOME@,$GCC_HOME,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@COMPATH@,$COMPATH,;t t -s,@GCCVER@,$GCCVER,;t t -s,@HAVE_LD_BSYMBOLIC_FUNCTIONS@,$HAVE_LD_BSYMBOLIC_FUNCTIONS,;t t -s,@ENABLE_PCH@,$ENABLE_PCH,;t t -s,@NO_HIDS@,$NO_HIDS,;t t -s,@GNUMAKE@,$GNUMAKE,;t t -s,@_cc@,$_cc,;t t -s,@HAVE_LD_HASH_STYLE@,$HAVE_LD_HASH_STYLE,;t t -s,@PERL@,$PERL,;t t -s,@MSPDB_PATH@,$MSPDB_PATH,;t t -s,@COMEX@,$COMEX,;t t -s,@USE_MINGW@,$USE_MINGW,;t t -s,@MIDL_PATH@,$MIDL_PATH,;t t -s,@CSC_PATH@,$CSC_PATH,;t t -s,@FRAME_HOME@,$FRAME_HOME,;t t -s,@CPP@,$CPP,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@SIZEOF_LONG@,$SIZEOF_LONG,;t t -s,@WORDS_BIGENDIAN@,$WORDS_BIGENDIAN,;t t -s,@LFS_CFLAGS@,$LFS_CFLAGS,;t t -s,@ENABLE_VBA@,$ENABLE_VBA,;t t -s,@VBA_EXTENSION@,$VBA_EXTENSION,;t t -s,@PAM@,$PAM,;t t -s,@NEW_SHADOW_API@,$NEW_SHADOW_API,;t t -s,@PAM_LINK@,$PAM_LINK,;t t -s,@CRYPT_LINK@,$CRYPT_LINK,;t t -s,@GXX_INCLUDE_PATH@,$GXX_INCLUDE_PATH,;t t -s,@MINGW_LIB_INCLUDE_PATH@,$MINGW_LIB_INCLUDE_PATH,;t t -s,@MINGW_BACKWARD_INCLUDE_PATH@,$MINGW_BACKWARD_INCLUDE_PATH,;t t -s,@MINGW_CLIB_DIR@,$MINGW_CLIB_DIR,;t t -s,@MINGW_SHARED_GCCLIB@,$MINGW_SHARED_GCCLIB,;t t -s,@MINGW_GCCLIB_EH@,$MINGW_GCCLIB_EH,;t t -s,@MINGW_SHARED_GXXLIB@,$MINGW_SHARED_GXXLIB,;t t -s,@MINGW_GCCDLL@,$MINGW_GCCDLL,;t t -s,@MINGW_GXXDLL@,$MINGW_GXXDLL,;t t -s,@EXCEPTIONS@,$EXCEPTIONS,;t t -s,@STLPORT4@,$STLPORT4,;t t -s,@STLPORT_VER@,$STLPORT_VER,;t t -s,@USE_SYSTEM_STL@,$USE_SYSTEM_STL,;t t -s,@USE_CCACHE@,$USE_CCACHE,;t t -s,@CCACHE@,$CCACHE,;t t -s,@HAVE_GCC_VISIBILITY_FEATURE@,$HAVE_GCC_VISIBILITY_FEATURE,;t t -s,@ALLOC@,$ALLOC,;t t -s,@BUILD_VER_STRING@,$BUILD_VER_STRING,;t t -s,@SOLAR_JAVA@,$SOLAR_JAVA,;t t -s,@JAVAINTERPRETER@,$JAVAINTERPRETER,;t t -s,@JAVACOMPILER@,$JAVACOMPILER,;t t -s,@JAVACISGCJ@,$JAVACISGCJ,;t t -s,@JAVADOC@,$JAVADOC,;t t -s,@AWTLIB@,$AWTLIB,;t t -s,@JAVAAOTCOMPILER@,$JAVAAOTCOMPILER,;t t -s,@JAVA_HOME@,$JAVA_HOME,;t t -s,@JDK@,$JDK,;t t -s,@JAVAFLAGS@,$JAVAFLAGS,;t t -s,@JAVAIFLAGS@,$JAVAIFLAGS,;t t -s,@DMAKE@,$DMAKE,;t t -s,@BUILD_DMAKE@,$BUILD_DMAKE,;t t -s,@EPM@,$EPM,;t t -s,@DPKG@,$DPKG,;t t -s,@PKGMK@,$PKGMK,;t t -s,@BUILD_EPM@,$BUILD_EPM,;t t -s,@PKGFORMAT@,$PKGFORMAT,;t t -s,@RPM@,$RPM,;t t -s,@GPERF@,$GPERF,;t t -s,@MINGWCXX@,$MINGWCXX,;t t -s,@ac_ct_MINGWCXX@,$ac_ct_MINGWCXX,;t t -s,@MINGWSTRIP@,$MINGWSTRIP,;t t -s,@ac_ct_MINGWSTRIP@,$ac_ct_MINGWSTRIP,;t t -s,@BUILD_UNOWINREG@,$BUILD_UNOWINREG,;t t -s,@BUILD_QADEVOOO@,$BUILD_QADEVOOO,;t t -s,@SYSTEM_STDLIBS@,$SYSTEM_STDLIBS,;t t -s,@SYSTEM_ZLIB@,$SYSTEM_ZLIB,;t t -s,@SYSTEM_JPEG@,$SYSTEM_JPEG,;t t -s,@SYSTEM_EXPAT@,$SYSTEM_EXPAT,;t t -s,@PKG_CONFIG@,$PKG_CONFIG,;t t -s,@LIBWPD_CFLAGS@,$LIBWPD_CFLAGS,;t t -s,@LIBWPD_LIBS@,$LIBWPD_LIBS,;t t -s,@SYSTEM_LIBWPD@,$SYSTEM_LIBWPD,;t t -s,@CPPUNIT_CFLAGS@,$CPPUNIT_CFLAGS,;t t -s,@CPPUNIT_LIBS@,$CPPUNIT_LIBS,;t t -s,@SYSTEM_CPPUNIT@,$SYSTEM_CPPUNIT,;t t -s,@FREETYPE_CFLAGS@,$FREETYPE_CFLAGS,;t t -s,@FREETYPE_LIBS@,$FREETYPE_LIBS,;t t -s,@USE_FT_EMBOLDEN@,$USE_FT_EMBOLDEN,;t t -s,@LIBXSLT_CFLAGS@,$LIBXSLT_CFLAGS,;t t -s,@LIBXSLT_LIBS@,$LIBXSLT_LIBS,;t t -s,@XSLTPROC@,$XSLTPROC,;t t -s,@SYSTEM_LIBXSLT@,$SYSTEM_LIBXSLT,;t t -s,@LIBXML_CFLAGS@,$LIBXML_CFLAGS,;t t -s,@LIBXML_LIBS@,$LIBXML_LIBS,;t t -s,@SYSTEM_LIBXML@,$SYSTEM_LIBXML,;t t -s,@PYTHON@,$PYTHON,;t t -s,@PYTHON_VERSION@,$PYTHON_VERSION,;t t -s,@PYTHON_PREFIX@,$PYTHON_PREFIX,;t t -s,@PYTHON_EXEC_PREFIX@,$PYTHON_EXEC_PREFIX,;t t -s,@PYTHON_PLATFORM@,$PYTHON_PLATFORM,;t t -s,@pythondir@,$pythondir,;t t -s,@pkgpythondir@,$pkgpythondir,;t t -s,@pyexecdir@,$pyexecdir,;t t -s,@pkgpyexecdir@,$pkgpyexecdir,;t t -s,@BZIP2@,$BZIP2,;t t -s,@SYSTEM_PYTHON@,$SYSTEM_PYTHON,;t t -s,@PYTHON_CFLAGS@,$PYTHON_CFLAGS,;t t -s,@PYTHON_LIBS@,$PYTHON_LIBS,;t t -s,@HOME@,$HOME,;t t -s,@SYSTEM_DB@,$SYSTEM_DB,;t t -s,@DB_VERSION@,$DB_VERSION,;t t -s,@DB_INCLUDES@,$DB_INCLUDES,;t t -s,@DB_JAR@,$DB_JAR,;t t -s,@SYSTEM_LUCENE@,$SYSTEM_LUCENE,;t t -s,@LUCENE_CORE_JAR@,$LUCENE_CORE_JAR,;t t -s,@LUCENE_ANALYZERS_JAR@,$LUCENE_ANALYZERS_JAR,;t t -s,@ENABLE_MYSQLC@,$ENABLE_MYSQLC,;t t -s,@MYSQLCONFIG@,$MYSQLCONFIG,;t t -s,@SYSTEM_MYSQL@,$SYSTEM_MYSQL,;t t -s,@MYSQL_INC@,$MYSQL_INC,;t t -s,@MYSQL_LIB@,$MYSQL_LIB,;t t -s,@MYSQL_DEFINES@,$MYSQL_DEFINES,;t t -s,@LIBMYSQL_PATH@,$LIBMYSQL_PATH,;t t -s,@SYSTEM_MYSQL_CPPCONN@,$SYSTEM_MYSQL_CPPCONN,;t t -s,@SYSTEM_HSQLDB@,$SYSTEM_HSQLDB,;t t -s,@HSQLDB_JAR@,$HSQLDB_JAR,;t t -s,@SYSTEM_BSH@,$SYSTEM_BSH,;t t -s,@BSH_JAR@,$BSH_JAR,;t t -s,@SERIALIZER_JAR@,$SERIALIZER_JAR,;t t -s,@SYSTEM_SAXON@,$SYSTEM_SAXON,;t t -s,@SAXON_JAR@,$SAXON_JAR,;t t -s,@CURLCONFIG@,$CURLCONFIG,;t t -s,@SYSTEM_CURL@,$SYSTEM_CURL,;t t -s,@CURL_CFLAGS@,$CURL_CFLAGS,;t t -s,@CURL_LIBS@,$CURL_LIBS,;t t -s,@SYSTEM_BOOST@,$SYSTEM_BOOST,;t t -s,@SYSTEM_VIGRA@,$SYSTEM_VIGRA,;t t -s,@SYSTEM_ODBC_HEADERS@,$SYSTEM_ODBC_HEADERS,;t t -s,@WITH_MOZILLA@,$WITH_MOZILLA,;t t -s,@WITH_LDAP@,$WITH_LDAP,;t t -s,@WITH_OPENLDAP@,$WITH_OPENLDAP,;t t -s,@MOZ_NSS_CFLAGS@,$MOZ_NSS_CFLAGS,;t t -s,@MOZ_NSS_LIBS@,$MOZ_NSS_LIBS,;t t -s,@NSS_LIB@,$NSS_LIB,;t t -s,@MOZ_NSPR_CFLAGS@,$MOZ_NSPR_CFLAGS,;t t -s,@MOZ_NSPR_LIBS@,$MOZ_NSPR_LIBS,;t t -s,@NSPR_LIB@,$NSPR_LIB,;t t -s,@MOZILLAXPCOM_CFLAGS@,$MOZILLAXPCOM_CFLAGS,;t t -s,@MOZILLAXPCOM_LIBS@,$MOZILLAXPCOM_LIBS,;t t -s,@MOZILLA_VERSION@,$MOZILLA_VERSION,;t t -s,@MOZILLA_TOOLKIT@,$MOZILLA_TOOLKIT,;t t -s,@MOZGTK2_CFLAGS@,$MOZGTK2_CFLAGS,;t t -s,@MOZGTK2_LIBS@,$MOZGTK2_LIBS,;t t -s,@MOZLIBREQ_CFLAGS@,$MOZLIBREQ_CFLAGS,;t t -s,@MOZLIBREQ_LIBS@,$MOZLIBREQ_LIBS,;t t -s,@BUILD_MOZAB@,$BUILD_MOZAB,;t t -s,@ENABLE_NSS_MODULE@,$ENABLE_NSS_MODULE,;t t -s,@MOZILLABUILD@,$MOZILLABUILD,;t t -s,@SYSTEM_MOZILLA@,$SYSTEM_MOZILLA,;t t -s,@MOZ_FLAVOUR@,$MOZ_FLAVOUR,;t t -s,@MOZ_INC@,$MOZ_INC,;t t -s,@MOZ_LIB@,$MOZ_LIB,;t t -s,@MOZ_LIB_XPCOM@,$MOZ_LIB_XPCOM,;t t -s,@MOZ_LDAP_CFLAGS@,$MOZ_LDAP_CFLAGS,;t t -s,@SYSTEM_SANE_HEADER@,$SYSTEM_SANE_HEADER,;t t -s,@SYSTEM_GENBRK@,$SYSTEM_GENBRK,;t t -s,@SYSTEM_GENCCODE@,$SYSTEM_GENCCODE,;t t -s,@SYSTEM_GENCMN@,$SYSTEM_GENCMN,;t t -s,@SYSTEM_ICU@,$SYSTEM_ICU,;t t -s,@GRAPHITE_CFLAGS@,$GRAPHITE_CFLAGS,;t t -s,@GRAPHITE_LIBS@,$GRAPHITE_LIBS,;t t -s,@ENABLE_GRAPHITE@,$ENABLE_GRAPHITE,;t t -s,@SYSTEM_GRAPHITE@,$SYSTEM_GRAPHITE,;t t -s,@X_CFLAGS@,$X_CFLAGS,;t t -s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t -s,@X_LIBS@,$X_LIBS,;t t -s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t -s,@XINC@,$XINC,;t t -s,@XLIB@,$XLIB,;t t -s,@XAU_LIBS@,$XAU_LIBS,;t t -s,@DISABLE_XAW@,$DISABLE_XAW,;t t -s,@SYSTEM_XRENDER_HEADERS@,$SYSTEM_XRENDER_HEADERS,;t t -s,@XRENDER_LINK@,$XRENDER_LINK,;t t -s,@XRANDR_CFLAGS@,$XRANDR_CFLAGS,;t t -s,@XRANDR_LIBS@,$XRANDR_LIBS,;t t -s,@XRANDR_DLOPEN@,$XRANDR_DLOPEN,;t t -s,@ENABLE_RANDR@,$ENABLE_RANDR,;t t -s,@DISABLE_NEON@,$DISABLE_NEON,;t t -s,@NEON_CFLAGS@,$NEON_CFLAGS,;t t -s,@NEON_LIBS@,$NEON_LIBS,;t t -s,@SYSTEM_NEON@,$SYSTEM_NEON,;t t -s,@NEON_VERSION@,$NEON_VERSION,;t t -s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t -s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t -s,@SYSTEM_OPENSSL@,$SYSTEM_OPENSSL,;t t -s,@ENABLE_AGG@,$ENABLE_AGG,;t t -s,@AGG_CFLAGS@,$AGG_CFLAGS,;t t -s,@AGG_LIBS@,$AGG_LIBS,;t t -s,@SYSTEM_AGG@,$SYSTEM_AGG,;t t -s,@AGG_VERSION@,$AGG_VERSION,;t t -s,@REDLAND_CFLAGS@,$REDLAND_CFLAGS,;t t -s,@REDLAND_LIBS@,$REDLAND_LIBS,;t t -s,@SYSTEM_REDLAND@,$SYSTEM_REDLAND,;t t -s,@HUNSPELL_CFLAGS@,$HUNSPELL_CFLAGS,;t t -s,@HUNSPELL_LIBS@,$HUNSPELL_LIBS,;t t -s,@SYSTEM_HUNSPELL@,$SYSTEM_HUNSPELL,;t t -s,@SYSTEM_HYPH@,$SYSTEM_HYPH,;t t -s,@HYPHEN_LIB@,$HYPHEN_LIB,;t t -s,@SYSTEM_MYTHES@,$SYSTEM_MYTHES,;t t -s,@SYSTEM_LPSOLVE@,$SYSTEM_LPSOLVE,;t t -s,@PSDK_HOME@,$PSDK_HOME,;t t -s,@WINDOWS_VISTA_PSDK@,$WINDOWS_VISTA_PSDK,;t t -s,@DIRECTXSDK_HOME@,$DIRECTXSDK_HOME,;t t -s,@DIRECTXSDK_LIB@,$DIRECTXSDK_LIB,;t t -s,@NSIS_PATH@,$NSIS_PATH,;t t -s,@BISON@,$BISON,;t t -s,@FLEX@,$FLEX,;t t -s,@PATCH@,$PATCH,;t t -s,@GNUCP@,$GNUCP,;t t -s,@GNUPATCH@,$GNUPATCH,;t t -s,@CYGWIN_PATH@,$CYGWIN_PATH,;t t -s,@ML_EXE@,$ML_EXE,;t t -s,@ASM_HOME@,$ASM_HOME,;t t -s,@ZIP@,$ZIP,;t t -s,@UNZIP@,$UNZIP,;t t -s,@ZIP_HOME@,$ZIP_HOME,;t t -s,@ENABLE_GTK@,$ENABLE_GTK,;t t -s,@ENABLE_KDE@,$ENABLE_KDE,;t t -s,@ENABLE_KDE4@,$ENABLE_KDE4,;t t -s,@GCONF_CFLAGS@,$GCONF_CFLAGS,;t t -s,@GCONF_LIBS@,$GCONF_LIBS,;t t -s,@ENABLE_GCONF@,$ENABLE_GCONF,;t t -s,@GNOMEVFS_CFLAGS@,$GNOMEVFS_CFLAGS,;t t -s,@GNOMEVFS_LIBS@,$GNOMEVFS_LIBS,;t t -s,@ENABLE_GNOMEVFS@,$ENABLE_GNOMEVFS,;t t -s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t -s,@GTK_LIBS@,$GTK_LIBS,;t t -s,@DBUS_CFLAGS@,$DBUS_CFLAGS,;t t -s,@DBUS_LIBS@,$DBUS_LIBS,;t t -s,@GIO_CFLAGS@,$GIO_CFLAGS,;t t -s,@GIO_LIBS@,$GIO_LIBS,;t t -s,@ENABLE_GIO@,$ENABLE_GIO,;t t -s,@ENABLE_DBUS@,$ENABLE_DBUS,;t t -s,@ENABLE_SYSTRAY_GTK@,$ENABLE_SYSTRAY_GTK,;t t -s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t -s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t -s,@ENABLE_CAIRO@,$ENABLE_CAIRO,;t t -s,@BUILD_PIXMAN@,$BUILD_PIXMAN,;t t -s,@SYSTEM_CAIRO@,$SYSTEM_CAIRO,;t t -s,@ENABLE_OPENGL@,$ENABLE_OPENGL,;t t -s,@ENABLE_PRESENTER_EXTRA_UI@,$ENABLE_PRESENTER_EXTRA_UI,;t t -s,@ENABLE_MINIMIZER@,$ENABLE_MINIMIZER,;t t -s,@ENABLE_PRESENTER_SCREEN@,$ENABLE_PRESENTER_SCREEN,;t t -s,@POPPLER_CFLAGS@,$POPPLER_CFLAGS,;t t -s,@POPPLER_LIBS@,$POPPLER_LIBS,;t t -s,@ENABLE_PDFIMPORT@,$ENABLE_PDFIMPORT,;t t -s,@SYSTEM_POPPLER@,$SYSTEM_POPPLER,;t t -s,@ENABLE_MEDIAWIKI@,$ENABLE_MEDIAWIKI,;t t -s,@SYSTEM_SERVLETAPI@,$SYSTEM_SERVLETAPI,;t t -s,@SERVLETAPI_JAR@,$SERVLETAPI_JAR,;t t -s,@ENABLE_REPORTBUILDER@,$ENABLE_REPORTBUILDER,;t t -s,@SYSTEM_JFREEREPORT@,$SYSTEM_JFREEREPORT,;t t -s,@SAC_JAR@,$SAC_JAR,;t t -s,@LIBXML_JAR@,$LIBXML_JAR,;t t -s,@FLUTE_JAR@,$FLUTE_JAR,;t t -s,@JFREEREPORT_JAR@,$JFREEREPORT_JAR,;t t -s,@LIBBASE_JAR@,$LIBBASE_JAR,;t t -s,@LIBLAYOUT_JAR@,$LIBLAYOUT_JAR,;t t -s,@LIBLOADER_JAR@,$LIBLOADER_JAR,;t t -s,@LIBFORMULA_JAR@,$LIBFORMULA_JAR,;t t -s,@LIBREPOSITORY_JAR@,$LIBREPOSITORY_JAR,;t t -s,@LIBFONTS_JAR@,$LIBFONTS_JAR,;t t -s,@LIBSERIALIZER_JAR@,$LIBSERIALIZER_JAR,;t t -s,@SYSTEM_APACHE_COMMONS@,$SYSTEM_APACHE_COMMONS,;t t -s,@COMMONS_CODEC_JAR@,$COMMONS_CODEC_JAR,;t t -s,@COMMONS_LANG_JAR@,$COMMONS_LANG_JAR,;t t -s,@COMMONS_HTTPCLIENT_JAR@,$COMMONS_HTTPCLIENT_JAR,;t t -s,@COMMONS_LOGGING_JAR@,$COMMONS_LOGGING_JAR,;t t -s,@MOC@,$MOC,;t t -s,@KDE_CFLAGS@,$KDE_CFLAGS,;t t -s,@KDE_LIBS@,$KDE_LIBS,;t t -s,@MOC4@,$MOC4,;t t -s,@KDE4_CFLAGS@,$KDE4_CFLAGS,;t t -s,@KDE4_LIBS@,$KDE4_LIBS,;t t -s,@ENABLE_LOCKDOWN@,$ENABLE_LOCKDOWN,;t t -s,@GOBJECT_CFLAGS@,$GOBJECT_CFLAGS,;t t -s,@GOBJECT_LIBS@,$GOBJECT_LIBS,;t t -s,@ENABLE_EVOAB2@,$ENABLE_EVOAB2,;t t -s,@ENABLE_KAB@,$ENABLE_KAB,;t t -s,@WITH_FONTS@,$WITH_FONTS,;t t -s,@WITHOUT_PPDS@,$WITHOUT_PPDS,;t t -s,@WITHOUT_AFMS@,$WITHOUT_AFMS,;t t -s,@SCPDEFS@,$SCPDEFS,;t t -s,@USE_XINERAMA@,$USE_XINERAMA,;t t -s,@XINERAMA_LINK@,$XINERAMA_LINK,;t t -s,@ANT@,$ANT,;t t -s,@ANT_HOME@,$ANT_HOME,;t t -s,@ANT_LIB@,$ANT_LIB,;t t -s,@OOO_JUNIT_JAR@,$OOO_JUNIT_JAR,;t t -s,@WITH_LANG@,$WITH_LANG,;t t -s,@WITH_POOR_HELP_LOCALIZATIONS@,$WITH_POOR_HELP_LOCALIZATIONS,;t t -s,@WITH_DICT@,$WITH_DICT,;t t -s,@INTRO_BITMAPS@,$INTRO_BITMAPS,;t t -s,@ABOUT_BITMAPS@,$ABOUT_BITMAPS,;t t -s,@OOO_VENDOR@,$OOO_VENDOR,;t t -s,@UNIXWRAPPERNAME@,$UNIXWRAPPERNAME,;t t -s,@ENABLE_STATIC_GTK@,$ENABLE_STATIC_GTK,;t t -s,@ENABLE_LAYOUT@,$ENABLE_LAYOUT,;t t -s,@VERBOSE@,$VERBOSE,;t t -s,@LOCAL_SOLVER@,$LOCAL_SOLVER,;t t -s,@BUILD_TYPE@,$BUILD_TYPE,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF -_ACEOF +eval set X " :F $CONFIG_FILES " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || + ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac + case $ac_mode in + :F) + # + # CONFIG_FILE + # +_ACEOF - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + ;; -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -{ (exit 0); exit 0; } + esac + +done # for ac_tag + + +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save +test $ac_write_fail = 0 || + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -30164,7 +24080,11 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/configure.in b/configure.in index 91ff5806fbe5..756ddb2a78fe 100644 --- a/configure.in +++ b/configure.in @@ -5090,15 +5090,29 @@ AC_MSG_CHECKING([which mythes to use]) if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then AC_MSG_RESULT([external]) SYSTEM_MYTHES=YES - AC_CHECK_HEADER(mythes.hxx, [], - [ AC_MSG_ERROR(mythes.hxx headers not found.)], []) - AC_CHECK_LIB(mythes, main, [], - [ AC_MSG_ERROR(mythes library not found.)], []) + AC_LANG_PUSH([C++]) + PKG_CHECK_MODULES(MYTHES, mythes, MYTHES_PKGCONFIG=yes, MYTHES_PKGCONFIG=no) + if test "$MYTHES_PKGCONFIG" = "no"; then + AC_CHECK_HEADER(mythes.hxx, [], + [ AC_MSG_ERROR(mythes.hxx headers not found.)], []) + AC_CHECK_LIB(mythes-1.2, main, [], + [ MYTHES_FOUND=no], []) + if test "$MYTHES_FOUND" = "no"; then + AC_CHECK_LIB(mythes, main, [], + [ MYTHES_FOUND=no], []) + fi + if test "$MYTHES_FOUND" = "no"; then + AC_MSG_ERROR([mythes library not found!.]) + fi + fi + AC_LANG_POP([C++]) else AC_MSG_RESULT([internal]) SYSTEM_MYTHES=NO fi AC_SUBST(SYSTEM_MYTHES) +AC_SUBST(MYTHES_CFLAGS) +AC_SUBST(MYTHES_LIBS) dnl =================================================================== dnl Checking for lpsolve diff --git a/set_soenv.in b/set_soenv.in index 64815d418f99..1b88c05767f7 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -1878,6 +1878,8 @@ ToFile( "SYSTEM_LPSOLVE", "@SYSTEM_LPSOLVE@", "e" ); ToFile( "SYSTEM_HYPH", "@SYSTEM_HYPH@", "e" ); ToFile( "HYPHEN_LIB", "@HYPHEN_LIB@", "e" ); ToFile( "SYSTEM_MYTHES", "@SYSTEM_MYTHES@", "e" ); +ToFile( "MYTHES_CFLAGS", "@MYTHES_CFLAGS@", "e" ); +ToFile( "MYTHES_LIBS", "@MYTHES_LIBS@", "e" ); ToFile( "PAM", "@PAM@", "e" ); ToFile( "NEW_SHADOW_API", "@NEW_SHADOW_API@", "e" ); ToFile( "PAM_LINK", "@PAM_LINK@", "e" ); diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk index b835f526997f..3c014a8256bd 100644 --- a/solenv/inc/libs.mk +++ b/solenv/inc/libs.mk @@ -342,7 +342,11 @@ HUNSPELLLIB=$(HUNSPELL_LIBS) .ELSE HUNSPELLLIB=-lhunspell-1.2 .ENDIF +.IF "$(SYSTEM_MYTHES)" == "YES" +MYTHESLIB=$(MYTHES_LIBS) +.ELSE MYTHESLIB=-lmythes +.ENDIF PYUNOLIB=-lpyuno LPSOLVELIB=-llpsolve55 SOFFICELIB=-lsofficeapp -- cgit From 8a4cb9e710988a56b109672cde3dea0124c9d487 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:21:14 +0200 Subject: mythes12: move to proper external mythes module --- configure.in | 1 + ooo.lst | 1 + solenv/inc/libs.mk | 2 +- splitbuild/extern.lst | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 756ddb2a78fe..8ee4736996be 100644 --- a/configure.in +++ b/configure.in @@ -5109,6 +5109,7 @@ if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then else AC_MSG_RESULT([internal]) SYSTEM_MYTHES=NO + BUILD_TYPE="$BUILD_TYPE MYTHES" fi AC_SUBST(SYSTEM_MYTHES) AC_SUBST(MYTHES_CFLAGS) diff --git a/ooo.lst b/ooo.lst index 8cf0936d31ad..b3ff8481af06 100644 --- a/ooo.lst +++ b/ooo.lst @@ -72,3 +72,4 @@ fcc6df1160753d0b8c835d17fdeeb0a7-boost_1_39_0.tar.gz fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz fe5b3e2b7c4577f30dc001054365653e-dejavu-fonts-ttf-2.30.zip 831126a1ee5af269923cfab6050769fe-mysql-connector-cpp.zip +067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk index 3c014a8256bd..5910c43e1175 100644 --- a/solenv/inc/libs.mk +++ b/solenv/inc/libs.mk @@ -345,7 +345,7 @@ HUNSPELLLIB=-lhunspell-1.2 .IF "$(SYSTEM_MYTHES)" == "YES" MYTHESLIB=$(MYTHES_LIBS) .ELSE -MYTHESLIB=-lmythes +MYTHESLIB=-lmythes-1.2 .ENDIF PYUNOLIB=-lpyuno LPSOLVELIB=-llpsolve55 diff --git a/splitbuild/extern.lst b/splitbuild/extern.lst index 334ad19a5b10..f3d2e3291ca2 100644 --- a/splitbuild/extern.lst +++ b/splitbuild/extern.lst @@ -1 +1 @@ -afms agg apache-commons apple_remote beanshell berkeleydb bitstream_vera_fonts boost cairo cppunit curl epm expat external fondu graphite hsqldb hunspell hyphen icc icu jfreereport jpeg libegg libtextcat libwpd libxml2 libxmlsec libxslt lpsolve lucene MathMLDTD moz neon np_sdk nss openssl python redland rhino sane saxon stax stlport tomcat twain unixODBC vigra x11_extensions xpdf xsltml zlib +afms agg apache-commons apple_remote beanshell berkeleydb bitstream_vera_fonts boost cairo cppunit curl epm expat external fondu graphite hsqldb hunspell hyphen mythes icc icu jfreereport jpeg libegg libtextcat libwpd libxml2 libxmlsec libxslt lpsolve lucene MathMLDTD moz neon np_sdk nss openssl python redland rhino sane saxon stax stlport tomcat twain unixODBC vigra x11_extensions xpdf xsltml zlib -- cgit From c217927df7e8c01c4a45c55db519b5c6b6673380 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:21:14 +0200 Subject: mythes12: move to proper external mythes module --- mythes/makefile.mk | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ mythes/prj/build.lst | 3 ++ mythes/prj/d.lst | 4 ++ 3 files changed, 112 insertions(+) create mode 100644 mythes/makefile.mk create mode 100644 mythes/prj/build.lst create mode 100644 mythes/prj/d.lst diff --git a/mythes/makefile.mk b/mythes/makefile.mk new file mode 100644 index 000000000000..43eedd412414 --- /dev/null +++ b/mythes/makefile.mk @@ -0,0 +1,105 @@ +#************************************************************************* +# +# 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 +# +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=mythes +TARGET=mythes + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=mythes-1.2.0 +TARFILE_MD5=067201ea8b126597670b5eff72e1f66c + +ADDITIONAL_FILES += makefile.mk + +#PATCH_FILES=mythes-1.2.0.patch + +.IF "$(GUI)"=="UNX" +CONFIGURE_DIR=$(BUILD_DIR) + +#relative to CONFIGURE_DIR +# still needed also in system-mythes case as it creates the makefile +CONFIGURE_ACTION=configure +CONFIGURE_FLAGS= --disable-shared --with-pic + +.IF "$(COM)"=="C52" && "$(CPU)"=="U" +LCL_CONFIGURE_CFLAGS+=-m64 +.ENDIF + +.IF "$(SYSBASE)"!="" +.IF "$(EXTRA_CFLAGS)"!="" +LCL_CONFIGURE_CFLAGS+=$(EXTRA_CFLAGS) +CONFIGURE_FLAGS+=CXXFLAGS="$(EXTRA_CFLAGS)" +.ENDIF # "$(EXTRA_CFLAGS)"!="" +.ELIF "$(OS)"=="MACOSX" # "$(SYSBASE)"!="" +CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" +.ENDIF + +.IF "$(LCL_CONFIGURE_CFLAGS)"!="" +CONFIGURE_FLAGS+=CFLAGS='$(LCL_CONFIGURE_CFLAGS)' +.ENDIF + +.IF "$(SYSTEM_MYTHES)" == "YES" +@all: + echo "Nothing to do here." +.ELSE +BUILD_ACTION=make +OUT2INC += mythes.hxx +.ENDIF + +.ENDIF # "$(GUI)"=="UNX" + + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +CONFIGURE_ACTION=configure +CONFIGURE_FLAGS= --disable-shared --with-pic + +BUILD_ACTION=make + +.ELSE +BUILD_ACTION=dmake +.ENDIF # "$(COM)"=="GCC" +OUT2INC += mythes.hxx +.ENDIF # "$(GUI)"=="WNT" + +.IF "$(GUI)"=="OS2" +BUILD_ACTION=dmake +OUT2INC += mythes.hxx +.ENDIF # "$(GUI)"=="OS2" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/mythes/prj/build.lst b/mythes/prj/build.lst new file mode 100644 index 000000000000..9c851b6254a3 --- /dev/null +++ b/mythes/prj/build.lst @@ -0,0 +1,3 @@ +myt mythes : soltools solenv NULL +myt mythes usr1 - all myt_mkout NULL +myt mythes nmake - all myt_mythes NULL diff --git a/mythes/prj/d.lst b/mythes/prj/d.lst new file mode 100644 index 000000000000..7172e745a4bf --- /dev/null +++ b/mythes/prj/d.lst @@ -0,0 +1,4 @@ +..\%__SRC%\slb\mythes.lib %_DEST%\lib%_EXT%\mythes.lib + +..\%__SRC%\inc\mythes.hxx %_DEST%\inc%_EXT%\mythes.hxx +..\%__SRC%\misc\build\mythes-1.2.0\.libs\libmythes.a %_DEST%\lib%_EXT%\libmythes.a -- cgit From af15b9a545676a6d83f19a23c6712c23fd024305 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:21:14 +0200 Subject: mythes12: move to proper external mythes module --- lingucomponent/prj/build.lst | 5 +- lingucomponent/source/thesaurus/mythes/Makefile | 39 -- lingucomponent/source/thesaurus/mythes/README | 60 --- lingucomponent/source/thesaurus/mythes/checkme.lst | 4 - .../source/thesaurus/mythes/data_layout.txt | 131 ------- lingucomponent/source/thesaurus/mythes/example.cxx | 128 ------- .../source/thesaurus/mythes/license.readme | 34 -- lingucomponent/source/thesaurus/mythes/makefile.mk | 59 --- lingucomponent/source/thesaurus/mythes/mythes.cxx | 403 --------------------- lingucomponent/source/thesaurus/mythes/mythes.hxx | 76 ---- 10 files changed, 2 insertions(+), 937 deletions(-) delete mode 100644 lingucomponent/source/thesaurus/mythes/Makefile delete mode 100644 lingucomponent/source/thesaurus/mythes/README delete mode 100644 lingucomponent/source/thesaurus/mythes/checkme.lst delete mode 100644 lingucomponent/source/thesaurus/mythes/data_layout.txt delete mode 100644 lingucomponent/source/thesaurus/mythes/example.cxx delete mode 100644 lingucomponent/source/thesaurus/mythes/license.readme delete mode 100644 lingucomponent/source/thesaurus/mythes/makefile.mk delete mode 100644 lingucomponent/source/thesaurus/mythes/mythes.cxx delete mode 100644 lingucomponent/source/thesaurus/mythes/mythes.hxx diff --git a/lingucomponent/prj/build.lst b/lingucomponent/prj/build.lst index 138e5858f70e..045aaee82999 100644 --- a/lingucomponent/prj/build.lst +++ b/lingucomponent/prj/build.lst @@ -1,9 +1,8 @@ -lc lingucomponent : linguistic libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell NULL +lc lingucomponent : linguistic libtextcat svl HYPHEN:hyphen HUNSPELL:hunspell MYTHES:mythes NULL lc lingucomponent usr1 - all lc_mkout NULL lc lingucomponent\inc nmake - all lc_inc NULL lc lingucomponent\source\lingutil nmake - all lc_util lc_inc NULL -lc lingucomponent\source\thesaurus\mythes nmake - all lc_mythes lc_util lc_inc NULL -lc lingucomponent\source\thesaurus\libnth nmake - all lc_libnth lc_mythes lc_util lc_inc NULL +lc lingucomponent\source\thesaurus\libnth nmake - all lc_libnth lc_util lc_inc NULL lc lingucomponent\source\spellcheck\spell nmake - all lc_libspell lc_util lc_inc NULL lc lingucomponent\source\hyphenator\altlinuxhyph\hyphen nmake - all lc_libhyphen lc_util lc_inc NULL lc lingucomponent\source\languageguessing nmake - all lc_languageguessing lc_util lc_inc NULL diff --git a/lingucomponent/source/thesaurus/mythes/Makefile b/lingucomponent/source/thesaurus/mythes/Makefile deleted file mode 100644 index b1d811296714..000000000000 --- a/lingucomponent/source/thesaurus/mythes/Makefile +++ /dev/null @@ -1,39 +0,0 @@ - -CXX=g++ - -CXXFLAGS= -O2 -Wall -ansi -pedantic -I. - -LDFLAGS=-L. -lmythes - -LIBS=libmythes.a - -AR=ar rc -RANLIB=ranlib - -OBJS = mythes.o - -all: example - -libmythes.a: $(OBJS) - $(AR) $@ $(OBJS) - -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 - -example: example.o $(LIBS) - $(CXX) $(CXXFLAGS) -o $@ example.o $(LDFLAGS) - -%.o: %.cxx - $(CXX) $(CXXFLAGS) -c $< - -clean: - rm -f *.o *~ example libthes.a - -distclean: clean - -depend: - makedepend -- $(CXXFLAGS) -- *.[ch]xx - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -mythes.o: mythes.hxx -example.o: mythes.hxx - diff --git a/lingucomponent/source/thesaurus/mythes/README b/lingucomponent/source/thesaurus/mythes/README deleted file mode 100644 index 421f16a712fe..000000000000 --- a/lingucomponent/source/thesaurus/mythes/README +++ /dev/null @@ -1,60 +0,0 @@ -MyThes is a simple thesaurus that uses a structured -text data file and an index file with binary search -to lookup words and phrases and return information -on part of speech, meanings, and synonyms - -MyThes was written to provide a thesaurus for the -OpenOffice.org project - -The Main features of MyThes are: - -1. written in C++ to make it easier to interface with - Pspell, OpenOffice, AbiWord, etc - -2. it is stateless, uses no static variables and - should be completely reentrant with no ifdefs - -3. it compiles with -ansi and -pedantic and -Wall - with no warnings so it should be quite portable - -4. it uses a perl program to read the structured - text file and create the index needed for bianry - searching (see dictionaries/en_US/th_gen_idx.pl) - -5. it is very simple with *lots* of comments. - The main "smarts" are in the structure of the - text file that makes up the thesaurus data - -6. It comes with a ready-to-go structured thesaurus - data file for en_US extracted from the WordNet-2.0 data. - (see dictioanries/en_US/th_en_US_new.dat) - - Please see WordNet_license.txt and WordNet_readme.txt - for more information on the very useful project! - (found in dictionaries/en_US/) - -7. The source code has a BSD license (and no advertising clause) - - -MyThes has the world's simplest Makefile and no -configure support. It does come with a simple example -program that looks up some words and returns meanings -and synonyms. - -To build it simply do the following: - -unzip mythes.zip -cd mythes -make - -To run the example program: -./example th_en_US_new.idx th_en_US_new.dat checkme.lst - -Please play around with it and let me know -what you think. - -Thanks, - -Kevin Hendricks -kevin.hendricks@sympatico.ca - diff --git a/lingucomponent/source/thesaurus/mythes/checkme.lst b/lingucomponent/source/thesaurus/mythes/checkme.lst deleted file mode 100644 index 120d343a9e0f..000000000000 --- a/lingucomponent/source/thesaurus/mythes/checkme.lst +++ /dev/null @@ -1,4 +0,0 @@ -simple -complex -junk -jhjhjh diff --git a/lingucomponent/source/thesaurus/mythes/data_layout.txt b/lingucomponent/source/thesaurus/mythes/data_layout.txt deleted file mode 100644 index ef4bc255d96a..000000000000 --- a/lingucomponent/source/thesaurus/mythes/data_layout.txt +++ /dev/null @@ -1,131 +0,0 @@ -Description of the Structure of the Data needed by MyThes --------------------------------------------------------- - -MyThes is very simple. Almost all of the "smarts" are really -in the thesaurus data file itself. - -The format for this file is at follows: - -- no binary data - -- line ending is a newline '\n' and not carriage return/linefeeds - -- Line 1 is a character string that describes the encoding -used for the file. It is up to the calling program to convert -to and from this encoding if necessary. - - ISO8859-1 is used by the th_en_US_new.dat file. - - Strings currently recognized by OpenOffice.org are: - - UTF-8 - ISO8859-1 - ISO8859-2 - ISO8859-3 - ISO8859-4 - ISO8859-5 - ISO8859-6 - ISO8859-7 - ISO8859-8 - ISO8859-9 - ISO8859-10 - KOI8-R - CP-1251 - ISO8859-14 - ISCII-DEVANAGARI - - -- All of the remaning lines of the file follow this structure - -entry|num_mean -pos|syn1_mean|syn2|... -. -. -. -pos|mean_syn1|syn2|... - - -where: - - entry - all lowercase version of the word or phrase being described - num_mean - number of meanings for this entry - - There is one meaning per line and each meaning is comprised of - - pos - part of speech or other meaning specific description - syn1_mean - synonym 1 also used to describe the meaning itself - syn2 - synonym 2 for that meaning etc. - - -To make this even more clearer, here is actual data for the -entry "simple". - -simple|9 -(adj)|simple |elemental|ultimate|oversimplified|simplistic|simplex|simplified|unanalyzable| -undecomposable|uncomplicated|unsophisticated|easy|plain|unsubdivided -(adj)|elementary|uncomplicated|unproblematic|easy -(adj)|bare|mere|plain -(adj)|childlike|wide-eyed|dewy-eyed|naive |naif -(adj)|dim-witted|half-witted|simple-minded|retarded -(adj)|simple |unsubdivided|unlobed|smooth -(adj)|plain -(noun)|herb|herbaceous plant -(noun)|simpleton|person|individual|someone|somebody|mortal|human|soul - - -It says that "simple" has 9 different meanings and each -meaning will have its part of speech and at least 1 synonym -with other if presetn following on the same line. - - - -Once you ahve created your own structured text file you can use -the perl program "th_gen_idx.pl" which can be found in this -directory to create an index file that is used to seek into -your data file by the MyThes code. - -The correct way to run the perl program is as follows: - -cat th_en_US_new.dat | ./th_gen_idx.pl > th_en_US_new.idx - - - -Then if you head the resulting index file you should see the -following: - -ISO8859-1 -142689 -'hood|10 -'s gravenhage|88 -'tween|173 -'tween decks|196 -.22|231 -.22 caliber|319 -.22 calibre|365 -.38 caliber|411 -.38 calibre|457 -.45 caliber|503 -.45 calibre|549 -0|595 -1|666 -1 chronicles|6283 -1 esdras|6336 - - -Line 1 is the same encoding string taken from the -structured thesaurus data file. - -Line 2 is a count of the total number of entries -in your thesaurus. - -All of the remaining lines are of the form - -entry|byte_offset_into_data_file_where_entry_is_found - - -That's all there is too it. - - -Kevin -kevin.hendricks@sympatico.ca - diff --git a/lingucomponent/source/thesaurus/mythes/example.cxx b/lingucomponent/source/thesaurus/mythes/example.cxx deleted file mode 100644 index 31c85989cf26..000000000000 --- a/lingucomponent/source/thesaurus/mythes/example.cxx +++ /dev/null @@ -1,128 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_lingucomponent.hxx" -#include -#include -#include - -#include "mythes.hxx" - -extern char * mystrdup(const char * s); - -using namespace std; - -int -main(int argc, char** argv) -{ - - char * af; - char * df; - char * wtc; - FILE* wtclst; - - /* first parse the command line options */ - /* arg1 - index file, arg2 thesaurus data file, arg3 - file of words to check */ - - if (argv[1]) { - af = mystrdup(argv[1]); - } else { - fprintf(stderr,"correct syntax is:\n"); - fprintf(stderr,"example index_file thesaurus_file file_of_words_to_check\n"); - exit(1); - } - if (argv[2]) { - df = mystrdup(argv[2]); - } else { - fprintf(stderr,"correct syntax is:\n"); - fprintf(stderr,"example index_file thesaurus_file file_of_words_to_check\n"); - exit(1); - } - if (argv[3]) { - wtc = mystrdup(argv[3]); - } else { - fprintf(stderr,"correct syntax is:\n"); - fprintf(stderr,"example index_file thesaurus_file file_of_words_to_check\n"); - exit(1); - } - - - /* open the words to check list */ - wtclst = fopen(wtc,"r"); - if (!wtclst) { - fprintf(stderr,"Error - could not open file of words to check\n"); - exit(1); - } - - // open a new thesaurus object - MyThes * pMT= new MyThes(af,df); - - // get the encoding used for the thesaurus data - char * encoding = pMT->get_th_encoding(); - fprintf(stdout,"Thesaurus uses encoding %s\n\n",encoding); - - int k; - char buf[101]; - mentry * pmean; - - while(fgets(buf,100,wtclst)) { - k = strlen(buf); - *(buf + k - 1) = '\0'; - int len = strlen(buf); - int count = pMT->Lookup(buf,len,&pmean); - // don't change value of pmean - // or count since needed for CleanUpAfterLookup routine - mentry* pm = pmean; - if (count) { - fprintf(stdout,"%s has %d meanings\n",buf,count); - for (int i=0; i < count; i++) { - fprintf(stdout," meaning %d: %s\n",i,pm->defn); - for (int j=0; j < pm->count; j++) { - fprintf(stdout," %s\n",pm->psyns[j]); - } - fprintf(stdout,"\n"); - pm++; - } - fprintf(stdout,"\n\n"); - // now clean up all allocated memory - pMT->CleanUpAfterLookup(&pmean,count); - } else { - fprintf(stdout,"\"%s\" is not in thesaurus!\n",buf); - } - } - - delete pMT; - fclose(wtclst); - free(wtc); - free(df); - free(af); - - return 0; -} - diff --git a/lingucomponent/source/thesaurus/mythes/license.readme b/lingucomponent/source/thesaurus/mythes/license.readme deleted file mode 100644 index b6bf70a0c7fe..000000000000 --- a/lingucomponent/source/thesaurus/mythes/license.readme +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2003 Kevin B. Hendricks, Stratford, Ontario, Canada - * And Contributors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. All modifications to the source code must be clearly marked as - * such. Binary redistributions based on modified source code - * must be clearly marked as modified versions in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY KEVIN B. HENDRICKS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * KEVIN B. HENDRICKS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ diff --git a/lingucomponent/source/thesaurus/mythes/makefile.mk b/lingucomponent/source/thesaurus/mythes/makefile.mk deleted file mode 100644 index ac45219b97a0..000000000000 --- a/lingucomponent/source/thesaurus/mythes/makefile.mk +++ /dev/null @@ -1,59 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ = ..$/..$/.. - -PRJNAME = lingucomponent -TARGET = mythes -LIBTARGET=NO - -#----- Settings --------------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -.IF "$(SYSTEM_MYTHES)" == "YES" -@all: - @echo "Using system mythes..." -.ENDIF - -all_target: ALLTAR - - - -SLOFILES= \ - $(SLO)$/mythes.obj - -LIB1TARGET= $(SLB)$/lib$(TARGET).lib -LIB1ARCHIV= $(LB)/lib$(TARGET).a -LIB1OBJFILES= $(SLOFILES) - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - diff --git a/lingucomponent/source/thesaurus/mythes/mythes.cxx b/lingucomponent/source/thesaurus/mythes/mythes.cxx deleted file mode 100644 index ebb224d92140..000000000000 --- a/lingucomponent/source/thesaurus/mythes/mythes.cxx +++ /dev/null @@ -1,403 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_lingucomponent.hxx" -#include "license.readme" -#include -#include -#include -#include - -#include "mythes.hxx" - - - -MyThes::MyThes(const char* idxpath, const char * datpath) -{ - nw = 0; - encoding = NULL; - list = NULL; - offst = NULL; - - if (thInitialize(idxpath, datpath) != 1) { - fprintf(stderr,"Error - can't open %s or %s\n",idxpath, datpath); - fflush(stderr); - thCleanup(); - // did not initialize properly - throw exception? - } -} - - -MyThes::~MyThes() -{ - thCleanup(); -} - - -int MyThes::thInitialize(const char* idxpath, const char* datpath) -{ - - // open the index file - FILE * pifile = fopen(idxpath,"r"); - if (!pifile) { - return 0; - } - - // parse in encoding and index size */ - char * wrd; - wrd = (char *)calloc(1, MAX_WD_LEN); - if (!wrd) { - fprintf(stderr,"Error - bad memory allocation\n"); - fflush(stderr); - fclose(pifile); - return 0; - } - int len = readLine(pifile,wrd,MAX_WD_LEN); - encoding = mystrdup(wrd); - len = readLine(pifile,wrd,MAX_WD_LEN); - int idxsz = atoi(wrd); - - - // now allocate list, offst for the given size - list = (char**) calloc(idxsz,sizeof(char*)); - offst = (unsigned int*) calloc(idxsz,sizeof(unsigned int)); - - if ( (!(list)) || (!(offst)) ) { - fprintf(stderr,"Error - bad memory allocation\n"); - fflush(stderr); - fclose(pifile); - return 0; - } - - // now parse the remaining lines of the index - len = readLine(pifile,wrd,MAX_WD_LEN); - while (len > 0) - { - int np = mystr_indexOfChar(wrd,'|'); - if (nw < idxsz) { - if (np >= 0) { - *(wrd+np) = '\0'; - list[nw] = (char *)calloc(1,(np+1)); - if (!list[nw]) { - fprintf(stderr,"Error - bad memory allocation\n"); - fflush(stderr); - fclose(pifile); - return 0; - } - memcpy((list[nw]),wrd,np); - offst[nw] = atoi(wrd+np+1); - nw++; - } - } - len = readLine(pifile,wrd,MAX_WD_LEN); - } - - free((void *)wrd); - fclose(pifile); - - /* next open the data file */ - pdfile = fopen(datpath,"r"); - if (!pdfile) { - return 0; - } - - return 1; -} - - -void MyThes::thCleanup() -{ - /* first close the data file */ - if (pdfile) { - fclose(pdfile); - pdfile=NULL; - } - - if (list) - { - /* now free up all the allocated strings on the list */ - for (int i=0; i < nw; i++) - { - if (list[i]) { - free(list[i]); - list[i] = 0; - } - } - free((void*)list); - } - - if (encoding) free((void*)encoding); - if (offst) free((void*)offst); - - encoding = NULL; - list = NULL; - offst = NULL; - nw = 0; -} - - - -// lookup text in index and count of meanings and a list of meaning entries -// with each entry having a synonym count and pointer to an -// array of char * (i.e the synonyms) -// -// note: calling routine should call CleanUpAfterLookup with the original -// meaning point and count to properly deallocate memory - -int MyThes::Lookup(const char * pText, int len, mentry** pme) -{ - - *pme = NULL; - - // handle the case of missing file or file related errors - if (! pdfile) return 0; - - long offset = 0; - - /* copy search word and make sure null terminated */ - char * wrd = (char *) calloc(1,(len+1)); - memcpy(wrd,pText,len); - - /* find it in the list */ - int idx = nw > 0 ? binsearch(wrd,list,nw) : -1; - free(wrd); - if (idx < 0) return 0; - - // now seek to the offset - offset = (long) offst[idx]; - int rc = fseek(pdfile,offset,SEEK_SET); - if (rc) { - return 0; - } - - // grab the count of the number of meanings - // and allocate a list of meaning entries - char * buf = NULL; - buf = (char *) malloc( MAX_LN_LEN ); - if (!buf) return 0; - readLine(pdfile, buf, (MAX_LN_LEN-1)); - int np = mystr_indexOfChar(buf,'|'); - if (np < 0) { - free(buf); - return 0; - } - int nmeanings = atoi(buf+np+1); - *pme = (mentry*) malloc( nmeanings * sizeof(mentry) ); - if (!(*pme)) { - free(buf); - return 0; - } - - // now read in each meaning and parse it to get defn, count and synonym lists - mentry* pm = *(pme); - char dfn[MAX_WD_LEN]; - - for (int j = 0; j < nmeanings; j++) { - readLine(pdfile, buf, (MAX_LN_LEN-1)); - - pm->count = 0; - pm->psyns = NULL; - pm->defn = NULL; - - // store away the part of speech for later use - char * p = buf; - char * pos = NULL; - np = mystr_indexOfChar(p,'|'); - if (np >= 0) { - *(buf+np) = '\0'; - pos = mystrdup(p); - p = p + np + 1; - } else { - pos = mystrdup(""); - } - - // count the number of fields in the remaining line - int nf = 1; - char * d = p; - np = mystr_indexOfChar(d,'|'); - while ( np >= 0 ) { - nf++; - d = d + np + 1; - np = mystr_indexOfChar(d,'|'); - } - pm->count = nf; - pm->psyns = (char **) malloc(nf*sizeof(char*)); - - // fill in the synonym list - d = p; - for (int jj = 0; jj < nf; jj++) - { - np = mystr_indexOfChar(d,'|'); - if (np > 0) - { - *(d+np) = '\0'; - pm->psyns[jj] = mystrdup(d); - d = d + np + 1; - } - else - { - pm->psyns[jj] = mystrdup(d); - } - } - - // add pos to first synonym to create the definition - int k = strlen(pos); - int m = strlen(pm->psyns[0]); - if ((k+m) < (MAX_WD_LEN - 1)) { - strncpy(dfn,pos,k); - *(dfn+k) = ' '; - strncpy((dfn+k+1),(pm->psyns[0]),m+1); - pm->defn = mystrdup(dfn); - } else { - pm->defn = mystrdup(pm->psyns[0]); - } - free(pos); - pm++; - - } - free(buf); - - return nmeanings; -} - - - -void MyThes::CleanUpAfterLookup(mentry ** pme, int nmeanings) -{ - - if (nmeanings == 0) return; - if ((*pme) == NULL) return; - - mentry * pm = *pme; - - for (int i = 0; i < nmeanings; i++) { - int count = pm->count; - for (int j = 0; j < count; j++) { - if (pm->psyns[j]) free(pm->psyns[j]); - pm->psyns[j] = NULL; - } - if (pm->psyns) free(pm->psyns); - pm->psyns = NULL; - if (pm->defn) free(pm->defn); - pm->defn = NULL; - pm->count = 0; - pm++; - } - pm = *pme; - free(pm); - *pme = NULL; - return; -} - - -// read a line of text from a text file stripping -// off the line terminator and replacing it with -// a null string terminator. -// returns: -1 on error or the number of characters in -// in the returning string - -// A maximum of nc characters will be returned - -int MyThes::readLine(FILE * pf, char * buf, int nc) -{ - - if (fgets(buf,nc,pf)) { - mychomp(buf); - return strlen(buf); - } - return -1; -} - - - -// performs a binary search on null terminated character -// strings -// -// returns: -1 on not found -// index of wrd in the list[] - -int MyThes::binsearch(char * sw, char* _list[], int nlst) -{ - int lp, up, mp, j, indx; - lp = 0; - up = nlst-1; - indx = -1; - if (strcmp(sw,_list[lp]) < 0) return -1; - if (strcmp(sw,_list[up]) > 0) return -1; - while (indx < 0 ) { - mp = (int)((lp+up) >> 1); - j = strcmp(sw,_list[mp]); - if ( j > 0) { - lp = mp + 1; - } else if (j < 0 ) { - up = mp - 1; - } else { - indx = mp; - } - if (lp > up) return -1; - } - return indx; -} - -char * MyThes::get_th_encoding() -{ - if (encoding) return encoding; - return NULL; -} - - -// string duplication routine -char * MyThes::mystrdup(const char * p) -{ - int sl = strlen(p) + 1; - char * d = (char *)malloc(sl); - if (d) { - memcpy(d,p,sl); - return d; - } - return NULL; -} - -// remove cross-platform text line end characters -void MyThes::mychomp(char * s) -{ - int k = strlen(s); - if ((k > 0) && ((*(s+k-1)=='\r') || (*(s+k-1)=='\n'))) *(s+k-1) = '\0'; - if ((k > 1) && (*(s+k-2) == '\r')) *(s+k-2) = '\0'; -} - - -// return index of char in string -int MyThes::mystr_indexOfChar(const char * d, int c) -{ - char * p = strchr((char *)d,c); - if (p) return (int)(p-d); - return -1; -} - diff --git a/lingucomponent/source/thesaurus/mythes/mythes.hxx b/lingucomponent/source/thesaurus/mythes/mythes.hxx deleted file mode 100644 index 539e6723c42d..000000000000 --- a/lingucomponent/source/thesaurus/mythes/mythes.hxx +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef _MYTHES_HXX_ -#define _MYTHES_HXX_ - -// some maximum sizes for buffers -#define MAX_WD_LEN 200 -#define MAX_LN_LEN 16384 - - -// a meaning with definition, count of synonyms and synonym list -struct mentry { - char* defn; - int count; - char** psyns; -}; - - -class MyThes -{ - - int nw; /* number of entries in thesaurus */ - char** list; /* stores word list */ - unsigned int* offst; /* stores offset list */ - char * encoding; /* stores text encoding; */ - - FILE *pdfile; - - // disallow copy-constructor and assignment-operator for now - MyThes(); - MyThes(const MyThes &); - MyThes & operator = (const MyThes &); - -public: - MyThes(const char* idxpath, const char* datpath); - ~MyThes(); - - // lookup text in index and return number of meanings - // each meaning entry has a defintion, synonym count and pointer - // when complete return the *original* meaning entry and count via - // CleanUpAfterLookup to properly handle memory deallocation - - int Lookup(const char * pText, int len, mentry** pme); - - void CleanUpAfterLookup(mentry** pme, int nmean); - - char* get_th_encoding(); - -private: - // Open index and dat files and load list array - int thInitialize (const char* indxpath, const char* datpath); - - // internal close and cleanup dat and idx files - void thCleanup (); - - // read a text line (\n terminated) stripping off line terminator - int readLine(FILE * pf, char * buf, int nc); - - // binary search on null terminated character strings - int binsearch(char * wrd, char* list[], int nlst); - - // string duplication routine - char * mystrdup(const char * p); - - // remove cross-platform text line end characters - void mychomp(char * s); - - // return index of char in string - int mystr_indexOfChar(const char * d, int c); - -}; - -#endif - - - - - -- cgit From e954fbf96df464622d6943f75969c3c16ed592f5 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:23:26 +0200 Subject: mythes12: regen configure --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index ab88760b1976..7a9e70bed7dd 100755 --- a/configure +++ b/configure @@ -18551,6 +18551,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 $as_echo "internal" >&6; } SYSTEM_MYTHES=NO + BUILD_TYPE="$BUILD_TYPE MYTHES" fi -- cgit From 0ad132c6776b1d1052ba6f13f0604207d8bb62c7 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 17:34:28 +0200 Subject: mythes12: don't duplicate th_gen_idx.pl, use mythes' directly --- mythes/prj/d.lst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mythes/prj/d.lst b/mythes/prj/d.lst index 7172e745a4bf..da94a25a3da7 100644 --- a/mythes/prj/d.lst +++ b/mythes/prj/d.lst @@ -2,3 +2,5 @@ ..\%__SRC%\inc\mythes.hxx %_DEST%\inc%_EXT%\mythes.hxx ..\%__SRC%\misc\build\mythes-1.2.0\.libs\libmythes.a %_DEST%\lib%_EXT%\libmythes.a +..\%__SRC%\misc\build\mythes-1.2.0\th_gen_idx.pl %_DEST%\bin%_EXT%\th_gen_idx.pl + -- cgit -- cgit From 45abd36fc98daa220f8f121c3e91c81d9040f774 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 21:24:10 +0200 Subject: mythes12: mythes' build checks for hunspell headers... --- mythes/prj/build.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mythes/prj/build.lst b/mythes/prj/build.lst index 9c851b6254a3..6c3cb8022aac 100644 --- a/mythes/prj/build.lst +++ b/mythes/prj/build.lst @@ -1,3 +1,3 @@ -myt mythes : soltools solenv NULL +myt mythes : soltools solenv HUNSPELL:hunspell NULL myt mythes usr1 - all myt_mkout NULL myt mythes nmake - all myt_mythes NULL -- cgit From 109afbf02b78ec5e881b23c3b39c3ee3a35c6f46 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 27 Apr 2010 21:47:13 +0200 Subject: mythes12: fix libmythes lib delivering --- mythes/prj/d.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mythes/prj/d.lst b/mythes/prj/d.lst index da94a25a3da7..aabfa19d0598 100644 --- a/mythes/prj/d.lst +++ b/mythes/prj/d.lst @@ -1,6 +1,6 @@ ..\%__SRC%\slb\mythes.lib %_DEST%\lib%_EXT%\mythes.lib ..\%__SRC%\inc\mythes.hxx %_DEST%\inc%_EXT%\mythes.hxx -..\%__SRC%\misc\build\mythes-1.2.0\.libs\libmythes.a %_DEST%\lib%_EXT%\libmythes.a +..\%__SRC%\misc\build\mythes-1.2.0\.libs\libmythes-1.2.a %_DEST%\lib%_EXT%\libmythes-1.2.a ..\%__SRC%\misc\build\mythes-1.2.0\th_gen_idx.pl %_DEST%\bin%_EXT%\th_gen_idx.pl -- cgit From 15fcb8767a97299a32eac84194c1d93d82af002a Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 28 Apr 2010 09:25:07 +0200 Subject: vitomation01: #i108621 - Removed sEditFields and restored the single test cases for Writer and HTML --- testautomation/writer/required/includes/w_002_.inc | 25 +++------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/testautomation/writer/required/includes/w_002_.inc b/testautomation/writer/required/includes/w_002_.inc index 013b4bb857ec..1a792740a3a5 100755 --- a/testautomation/writer/required/includes/w_002_.inc +++ b/testautomation/writer/required/includes/w_002_.inc @@ -63,8 +63,7 @@ sub w_002_ 'Writer Master Document gApplication = "MASTERDOCUMENT" Call tMasterDocEditNavigator - - Call tHtmlDocEditFields + Call tEditFields gApplication = "WRITER" @@ -980,27 +979,9 @@ testcase tEditHyperlink Call hCloseDocument endcase -'---------------------------------------------------------------- - -testcase tEditFields - - gApplication = "WRITER" - call sEditFields() - -endcase - ' ---------------------------------------------------------------- -testcase tHtmlDocEditFields - - gApplication = "HTML" - call sEditFields() - -endcase - -' ---------------------------------------------------------------- - -sub sEditfields +testcase tEditfields PrintLog( "Edit/Fields: Edit Fields dialog: " & gApplication ) dim iCurrentType as integer @@ -1076,7 +1057,7 @@ sub sEditfields PrintLog( "Close active document" ) Call hCloseDocument() -end sub +endcase '---------------------------------------------------------------- -- cgit From 3807193d03962da3247a7b74bd58d2d511786fc2 Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Wed, 28 Apr 2010 11:44:09 +0200 Subject: jl152 import 263451 from native0jl:#i77196# Use ExtensionManager instead of PackageManager --- desktop/source/app/check_ext_deps.cxx | 2 +- desktop/source/deployment/gui/dp_gui.h | 9 +-- desktop/source/deployment/gui/dp_gui_dialog2.cxx | 91 +++++++++------------- desktop/source/deployment/gui/dp_gui_dialog2.hxx | 34 +++----- .../deployment/gui/dp_gui_extensioncmdqueue.cxx | 73 +++++++---------- .../deployment/gui/dp_gui_extensioncmdqueue.hxx | 8 +- .../source/deployment/gui/dp_gui_extlistbox.cxx | 39 +++++----- .../source/deployment/gui/dp_gui_extlistbox.hxx | 8 +- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 53 ++++++------- desktop/source/deployment/gui/dp_gui_theextmgr.hxx | 8 +- .../source/deployment/gui/dp_gui_updatedata.hxx | 7 +- .../source/deployment/gui/dp_gui_updatedialog.cxx | 53 ++++++------- .../source/deployment/gui/dp_gui_updatedialog.hxx | 5 +- .../deployment/gui/dp_gui_updateinstalldialog.cxx | 11 ++- .../deployment/gui/dp_gui_updateinstalldialog.hxx | 6 ++ .../deployment/registry/component/dp_component.cxx | 2 +- 16 files changed, 172 insertions(+), 237 deletions(-) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index 6a9beae58ccd..c3eb81dfc3ec 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -163,7 +163,7 @@ void SilentCommandEnv::push( uno::Any const & rStatus ) if ( rStatus.hasValue() && ( rStatus >>= sText) ) { - if ( mnLevel == 1 ) + if ( mnLevel <= 2 ) mpDesktop->SetSplashScreenText( sText ); else mpDesktop->SetSplashScreenProgress( ++mnProgress ); diff --git a/desktop/source/deployment/gui/dp_gui.h b/desktop/source/deployment/gui/dp_gui.h index 85e6eaef3544..092b232ce96d 100644 --- a/desktop/source/deployment/gui/dp_gui.h +++ b/desktop/source/deployment/gui/dp_gui.h @@ -79,21 +79,18 @@ enum PackageState { REGISTERED, NOT_REGISTERED, AMBIGUOUS, NOT_AVAILABLE }; class SelectedPackage: public salhelper::SimpleReferenceObject { public: SelectedPackage() {} - SelectedPackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> &xPackage, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> &xPackageManager ) - : m_xPackage( xPackage ), - m_xPackageManager( xPackageManager ) + SelectedPackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> &xPackage) + : m_xPackage( xPackage ) {} virtual ~SelectedPackage(); ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> getPackage() const { return m_xPackage; } - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> getPackageManager() const { return m_xPackageManager; } + private: SelectedPackage(SelectedPackage &); // not defined void operator =(SelectedPackage &); // not defined ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> m_xPackage; - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> m_xPackageManager; }; } // namespace dp_gui diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx index 5f0cf3d91012..164bb833fd6d 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -74,8 +74,6 @@ #include "com/sun/star/uno/Any.hxx" #include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" - #include #include #include @@ -108,10 +106,8 @@ struct StrAllFiles : public rtl::StaticWithInit< const OUString, StrAllFiles > }; //------------------------------------------------------------------------------ -UpdateListEntry::UpdateListEntry( const uno::Reference< deployment::XPackage > &xPackage, - const uno::Reference< deployment::XPackageManager > &xPackageManager ) : - m_xPackage( xPackage ), - m_xPackageManager( xPackageManager ) +UpdateListEntry::UpdateListEntry( const uno::Reference< deployment::XPackage > &xPackage ) : + m_xPackage( xPackage ) {} //------------------------------------------------------------------------------ @@ -415,17 +411,13 @@ void ExtBoxWithBtns_Impl::MouseButtonDown( const MouseEvent& rMEvt ) switch( ShowPopupMenu( aMousePos, nPos ) ) { case CMD_NONE: break; - case CMD_ENABLE: m_pParent->enablePackage( GetEntryData( nPos )->m_xPackageManager, - GetEntryData( nPos )->m_xPackage, true ); + case CMD_ENABLE: m_pParent->enablePackage( GetEntryData( nPos )->m_xPackage, true ); break; - case CMD_DISABLE: m_pParent->enablePackage( GetEntryData( nPos )->m_xPackageManager, - GetEntryData( nPos )->m_xPackage, false ); + case CMD_DISABLE: m_pParent->enablePackage( GetEntryData( nPos )->m_xPackage, false ); break; - case CMD_UPDATE: m_pParent->updatePackage( GetEntryData( nPos )->m_xPackageManager, - GetEntryData( nPos )->m_xPackage ); + case CMD_UPDATE: m_pParent->updatePackage( GetEntryData( nPos )->m_xPackage ); break; - case CMD_REMOVE: m_pParent->removePackage( GetEntryData( nPos )->m_xPackageManager, - GetEntryData( nPos )->m_xPackage ); + case CMD_REMOVE: m_pParent->removePackage( GetEntryData( nPos )->m_xPackage ); break; } } @@ -529,9 +521,7 @@ IMPL_LINK( ExtBoxWithBtns_Impl, HandleEnableBtn, void*, EMPTYARG ) TEntry_Impl pEntry = GetEntryData( nActive ); const bool bEnable( pEntry->m_eState != REGISTERED ); - m_pParent->enablePackage( pEntry->m_xPackageManager, - pEntry->m_xPackage, - bEnable ); + m_pParent->enablePackage( pEntry->m_xPackage, bEnable ); } return 1; @@ -545,8 +535,7 @@ IMPL_LINK( ExtBoxWithBtns_Impl, HandleRemoveBtn, void*, EMPTYARG ) if ( nActive != EXTENSION_LISTBOX_ENTRY_NOTFOUND ) { TEntry_Impl pEntry = GetEntryData( nActive ); - m_pParent->removePackage( pEntry->m_xPackageManager, - pEntry->m_xPackage ); + m_pParent->removePackage( pEntry->m_xPackage ); } return 1; @@ -592,21 +581,21 @@ String DialogHelper::getResourceString( USHORT id ) } //------------------------------------------------------------------------------ -bool DialogHelper::IsSharedPkgMgr( const uno::Reference< deployment::XPackageManager > &xPackageManager ) +bool DialogHelper::IsSharedPkgMgr( const uno::Reference< deployment::XPackage > &xPackage ) { - if ( xPackageManager->getContext().equals( OUSTR("shared") ) ) + if ( xPackage->getRepositoryName().equals( OUSTR("shared") ) ) return true; else return false; } //------------------------------------------------------------------------------ -bool DialogHelper::continueOnSharedExtension( const uno::Reference< deployment::XPackageManager > &xPackageManager, +bool DialogHelper::continueOnSharedExtension( const uno::Reference< deployment::XPackage > &xPackage, Window *pParent, const USHORT nResID, bool &bHadWarning ) { - if ( !bHadWarning && IsSharedPkgMgr( xPackageManager ) ) + if ( !bHadWarning && IsSharedPkgMgr( xPackage ) ) { const ::vos::OGuard guard( Application::GetSolarMutex() ); WarningBox aInfoBox( pParent, getResId( nResID ) ); @@ -779,11 +768,10 @@ void ExtMgrDialog::setGetExtensionsURL( const ::rtl::OUString &rURL ) } //------------------------------------------------------------------------------ -long ExtMgrDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage, - const uno::Reference< deployment::XPackageManager > &xPackageManager ) +long ExtMgrDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage ) { m_aUpdateBtn.Enable( true ); - return m_pExtensionBox->addEntry( xPackage, xPackageManager ); + return m_pExtensionBox->addEntry( xPackage ); } //------------------------------------------------------------------------------ @@ -813,21 +801,20 @@ bool ExtMgrDialog::removeExtensionWarn( const OUString &rExtensionName ) const } //------------------------------------------------------------------------------ -bool ExtMgrDialog::enablePackage( const uno::Reference< deployment::XPackageManager > &xPackageManager, - const uno::Reference< deployment::XPackage > &xPackage, +bool ExtMgrDialog::enablePackage( const uno::Reference< deployment::XPackage > &xPackage, bool bEnable ) { - if ( !xPackageManager.is() || !xPackage.is() ) + if ( !xPackage.is() ) return false; if ( bEnable ) { - if ( ! continueOnSharedExtension( xPackageManager, this, RID_WARNINGBOX_ENABLE_SHARED_EXTENSION, m_bEnableWarning ) ) + if ( ! continueOnSharedExtension( xPackage, this, RID_WARNINGBOX_ENABLE_SHARED_EXTENSION, m_bEnableWarning ) ) return false; } else { - if ( ! continueOnSharedExtension( xPackageManager, this, RID_WARNINGBOX_DISABLE_SHARED_EXTENSION, m_bDisableWarning ) ) + if ( ! continueOnSharedExtension( xPackage, this, RID_WARNINGBOX_DISABLE_SHARED_EXTENSION, m_bDisableWarning ) ) return false; } @@ -837,35 +824,33 @@ bool ExtMgrDialog::enablePackage( const uno::Reference< deployment::XPackageMana } //------------------------------------------------------------------------------ -bool ExtMgrDialog::removePackage( const uno::Reference< deployment::XPackageManager > &xPackageManager, - const uno::Reference< deployment::XPackage > &xPackage ) +bool ExtMgrDialog::removePackage( const uno::Reference< deployment::XPackage > &xPackage ) { - if ( !xPackageManager.is() || !xPackage.is() ) + if ( !xPackage.is() ) return false; - if ( !IsSharedPkgMgr( xPackageManager ) || m_bDeleteWarning ) + if ( !IsSharedPkgMgr( xPackage ) || m_bDeleteWarning ) { if ( ! removeExtensionWarn( xPackage->getDisplayName() ) ) return false; } - if ( ! continueOnSharedExtension( xPackageManager, this, RID_WARNINGBOX_REMOVE_SHARED_EXTENSION, m_bDeleteWarning ) ) + if ( ! continueOnSharedExtension( xPackage, this, RID_WARNINGBOX_REMOVE_SHARED_EXTENSION, m_bDeleteWarning ) ) return false; - m_pManager->removePackage( xPackageManager, xPackage ); + m_pManager->removePackage( xPackage ); return true; } //------------------------------------------------------------------------------ -bool ExtMgrDialog::updatePackage( const uno::Reference< deployment::XPackageManager > &xPackageManager, - const uno::Reference< deployment::XPackage > &xPackage ) +bool ExtMgrDialog::updatePackage( const uno::Reference< deployment::XPackage > &xPackage ) { - if ( !xPackageManager.is() || !xPackage.is() ) + if ( !xPackage.is() ) return false; std::vector< TUpdateListEntry > vEntries; - TUpdateListEntry pEntry( new UpdateListEntry( xPackage, xPackageManager ) ); + TUpdateListEntry pEntry( new UpdateListEntry( xPackage ) ); vEntries.push_back( pEntry ); m_pManager->updatePackages( vEntries ); @@ -874,7 +859,7 @@ bool ExtMgrDialog::updatePackage( const uno::Reference< deployment::XPackageMana } //------------------------------------------------------------------------------ -uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker( const uno::Reference< deployment::XPackageManager > &xPackageManager ) +uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker() { const uno::Any mode( static_cast< sal_Int16 >( ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE ) ); const uno::Reference< uno::XComponentContext > xContext( m_pManager->getContext() ); @@ -892,7 +877,7 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker( const uno::Reference< de t_string2string title2filter; OUString sDefaultFilter( StrAllFiles::get() ); - const uno::Sequence< uno::Reference< deployment::XPackageTypeInfo > > packageTypes( xPackageManager->getSupportedPackageTypes() ); + const uno::Sequence< uno::Reference< deployment::XPackageTypeInfo > > packageTypes( m_pManager->getExtensionManager()->getSupportedPackageTypes( OUSTR("user") ) ); for ( sal_Int32 pos = 0; pos < packageTypes.getLength(); ++pos ) { @@ -1046,8 +1031,7 @@ IMPL_LINK( ExtMgrDialog, HandleAddBtn, void*, EMPTYARG ) { setBusy( true ); - uno::Reference< deployment::XPackageManager > xUserPkgMgr = m_pManager->getUserPkgMgr(); - uno::Sequence< OUString > aFileList = raiseAddPicker( xUserPkgMgr ); + uno::Sequence< OUString > aFileList = raiseAddPicker(); if ( aFileList.getLength() ) { @@ -1317,15 +1301,14 @@ UpdateRequiredDialog::~UpdateRequiredDialog() } //------------------------------------------------------------------------------ -long UpdateRequiredDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage, - const uno::Reference< deployment::XPackageManager > &xPackageManager ) +long UpdateRequiredDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage ) { // We will only add entries to the list with unsatisfied dependencies if ( !checkDependencies( xPackage ) ) { - m_bHasLockedEntries |= (bool) xPackageManager->isReadOnly(); + m_bHasLockedEntries |= m_pManager->isReadOnly( xPackage ); m_aUpdateBtn.Enable( true ); - return m_pExtensionBox->addEntry( xPackage, xPackageManager ); + return m_pExtensionBox->addEntry( xPackage ); } return 0; } @@ -1350,9 +1333,8 @@ void UpdateRequiredDialog::checkEntries() } //------------------------------------------------------------------------------ -bool UpdateRequiredDialog::enablePackage( const uno::Reference< deployment::XPackageManager > &, - const uno::Reference< deployment::XPackage > &xPackage, - bool bEnable ) +bool UpdateRequiredDialog::enablePackage( const uno::Reference< deployment::XPackage > &xPackage, + bool bEnable ) { m_pManager->enablePackage( xPackage, bEnable ); @@ -1476,8 +1458,7 @@ IMPL_LINK( UpdateRequiredDialog, HandleUpdateBtn, void*, EMPTYARG ) for ( sal_Int32 i = 0; i < nCount; ++i ) { TEntry_Impl pEntry = m_pExtensionBox->GetEntryData( i ); - TUpdateListEntry pUpdateEntry( new UpdateListEntry( pEntry->m_xPackage, - pEntry->m_xPackageManager ) ); + TUpdateListEntry pUpdateEntry( new UpdateListEntry( pEntry->m_xPackage ) ); vUpdateEntries.push_back( pUpdateEntry ); } @@ -1738,7 +1719,7 @@ void UpdateRequiredDialog::disableAllEntries() for ( long nIndex = 0; nIndex < nCount; nIndex++ ) { TEntry_Impl pEntry = m_pExtensionBox->GetEntryData( nIndex ); - enablePackage( pEntry->m_xPackageManager, pEntry->m_xPackage, false ); + enablePackage( pEntry->m_xPackage, false ); } setBusy( false ); diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx index cadc127446ea..4c99d64740db 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx @@ -46,7 +46,6 @@ #include "com/sun/star/awt/XWindow.hpp" #include "com/sun/star/deployment/XPackage.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" #include "com/sun/star/uno/XComponentContext.hpp" #include "com/sun/star/ui/dialogs/XExecutableDialog.hpp" #include "com/sun/star/util/XModifyListener.hpp" @@ -82,16 +81,15 @@ public: virtual void updateProgress( const long nProgress ) = 0; virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) = 0; - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > & ) = 0; + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) = 0; virtual void prepareChecking() = 0; virtual void checkEntries() = 0; static ResId getResId( USHORT nId ); static String getResourceString( USHORT id ); - static bool IsSharedPkgMgr( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &); - static bool continueOnSharedExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &, + static bool IsSharedPkgMgr( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &); + static bool continueOnSharedExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, Window *pParent, const USHORT nResID, bool &bHadWarning ); @@ -159,20 +157,16 @@ public: virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void setGetExtensionsURL( const ::rtl::OUString &rURL ); - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > & ); - bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &); + bool enablePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); - bool removePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); - bool updatePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + bool removePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + bool updatePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); virtual void prepareChecking(); virtual void checkEntries(); - ::com::sun::star::uno::Sequence< ::rtl::OUString > raiseAddPicker( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager ); + ::com::sun::star::uno::Sequence< ::rtl::OUString > raiseAddPicker(); }; //============================================================================== @@ -234,18 +228,14 @@ public: virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void selectEntry( long nPos ); - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > & ); - bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, - bool bEnable ); - bool updatePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & ); + bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); + bool updatePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); virtual void prepareChecking(); virtual void checkEntries(); - ::com::sun::star::uno::Sequence< ::rtl::OUString > raiseAddPicker( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager ); + ::com::sun::star::uno::Sequence< ::rtl::OUString > raiseAddPicker(); bool installForAllUsers( bool &bInstallForAll ) const; bool installExtensionWarn( const ::rtl::OUString &rExtensionURL ) const; diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 647c46b754c8..4c9357e03e9f 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -48,7 +48,6 @@ #include "com/sun/star/deployment/DeploymentException.hpp" #include "com/sun/star/deployment/UpdateInformationProvider.hpp" #include "com/sun/star/deployment/XPackage.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" #include "com/sun/star/task/XAbortChannel.hpp" #include "com/sun/star/task/XInteractionAbort.hpp" @@ -201,25 +200,18 @@ struct ExtensionCmd E_CMD_TYPE m_eCmdType; bool m_bWarnUser; OUString m_sExtensionURL; - uno::Reference< deployment::XPackageManager > m_xPackageManager; - uno::Reference< deployment::XPackage > m_xPackage; - std::vector< TUpdateListEntry > m_vExtensionList; + OUString m_sRepository; + uno::Reference< deployment::XPackage > m_xPackage; + std::vector< TUpdateListEntry > m_vExtensionList; ExtensionCmd( const E_CMD_TYPE eCommand, - const uno::Reference< deployment::XPackageManager > &rPackageManager, const OUString &rExtensionURL, + const OUString &rRepository, const bool bWarnUser ) : m_eCmdType( eCommand ), m_bWarnUser( bWarnUser ), m_sExtensionURL( rExtensionURL ), - m_xPackageManager( rPackageManager ) {}; - ExtensionCmd( const E_CMD_TYPE eCommand, - const uno::Reference< deployment::XPackageManager > &rPackageManager, - const uno::Reference< deployment::XPackage > &rPackage ) - : m_eCmdType( eCommand ), - m_bWarnUser( false ), - m_xPackageManager( rPackageManager ), - m_xPackage( rPackage ) {}; + m_sRepository( rRepository ) {}; ExtensionCmd( const E_CMD_TYPE eCommand, const uno::Reference< deployment::XPackage > &rPackage ) : m_eCmdType( eCommand ), @@ -242,11 +234,10 @@ public: TheExtensionManager *pManager, const uno::Reference< uno::XComponentContext > & rContext ); - void addExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const OUString &rExtensionURL, + void addExtension( const OUString &rExtensionURL, + const OUString &rRepository, const bool bWarnUser ); - void removeExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const uno::Reference< deployment::XPackage > &rPackage ); + void removeExtension( const uno::Reference< deployment::XPackage > &rPackage ); void enableExtension( const uno::Reference< deployment::XPackage > &rPackage, const bool bEnable ); void checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ); @@ -266,11 +257,10 @@ private: virtual void SAL_CALL onTerminated(); void _addExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, - const uno::Reference< deployment::XPackageManager > &xPackageManager, const OUString &rPackageURL, + const OUString &rRepository, const bool bWarnUser ); void _removeExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, - const uno::Reference< deployment::XPackageManager > &xPackageManager, const uno::Reference< deployment::XPackage > &xPackage ); void _enableExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, const uno::Reference< deployment::XPackage > &xPackage ); @@ -645,8 +635,8 @@ ExtensionCmdQueue::Thread::Thread( DialogHelper *pDialogHelper, } //------------------------------------------------------------------------------ -void ExtensionCmdQueue::Thread::addExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const ::rtl::OUString &rExtensionURL, +void ExtensionCmdQueue::Thread::addExtension( const ::rtl::OUString &rExtensionURL, + const ::rtl::OUString &rRepository, const bool bWarnUser ) { ::osl::MutexGuard aGuard( m_mutex ); @@ -657,7 +647,7 @@ void ExtensionCmdQueue::Thread::addExtension( const uno::Reference< deployment:: if ( rExtensionURL.getLength() ) { - TExtensionCmd pEntry( new ExtensionCmd( ExtensionCmd::ADD, rPackageManager, rExtensionURL, bWarnUser ) ); + TExtensionCmd pEntry( new ExtensionCmd( ExtensionCmd::ADD, rExtensionURL, rRepository, bWarnUser ) ); m_queue.push( pEntry ); m_eInput = START; @@ -666,8 +656,7 @@ void ExtensionCmdQueue::Thread::addExtension( const uno::Reference< deployment:: } //------------------------------------------------------------------------------ -void ExtensionCmdQueue::Thread::removeExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const uno::Reference< deployment::XPackage > &rPackage ) +void ExtensionCmdQueue::Thread::removeExtension( const uno::Reference< deployment::XPackage > &rPackage ) { ::osl::MutexGuard aGuard( m_mutex ); @@ -675,9 +664,9 @@ void ExtensionCmdQueue::Thread::removeExtension( const uno::Reference< deploymen if ( m_bStopped ) return; - if ( rPackageManager.is() && rPackage.is() ) + if ( rPackage.is() ) { - TExtensionCmd pEntry( new ExtensionCmd( ExtensionCmd::REMOVE, rPackageManager, rPackage ) ); + TExtensionCmd pEntry( new ExtensionCmd( ExtensionCmd::REMOVE, rPackage ) ); m_queue.push( pEntry ); m_eInput = START; @@ -811,10 +800,10 @@ void ExtensionCmdQueue::Thread::execute() switch ( pEntry->m_eCmdType ) { case ExtensionCmd::ADD : - _addExtension( currentCmdEnv, pEntry->m_xPackageManager, pEntry->m_sExtensionURL, pEntry->m_bWarnUser ); + _addExtension( currentCmdEnv, pEntry->m_sExtensionURL, pEntry->m_sRepository, pEntry->m_bWarnUser ); break; case ExtensionCmd::REMOVE : - _removeExtension( currentCmdEnv, pEntry->m_xPackageManager, pEntry->m_xPackage ); + _removeExtension( currentCmdEnv, pEntry->m_xPackage ); break; case ExtensionCmd::ENABLE : _enableExtension( currentCmdEnv, pEntry->m_xPackage ); @@ -904,8 +893,8 @@ void ExtensionCmdQueue::Thread::execute() //------------------------------------------------------------------------------ void ExtensionCmdQueue::Thread::_addExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, - const uno::Reference< deployment::XPackageManager > &xPackageManager, const OUString &rPackageURL, + const OUString &rRepository, const bool bWarnUser ) { //check if we have a string in anyTitle. For example "unopkg gui \" caused anyTitle to be void @@ -928,17 +917,16 @@ void ExtensionCmdQueue::Thread::_addExtension( ::rtl::Reference< ProgressCmdEnv } rCmdEnv->setWarnUser( bWarnUser ); - uno::Reference< task::XAbortChannel > xAbortChannel( xPackageManager->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sAddingPackages, OUSTR("%EXTENSION_NAME"), sName ); rCmdEnv->progressSection( sTitle, xAbortChannel ); try { - OUString sPackageManager = xPackageManager->getContext(); - uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); uno::Reference< deployment::XPackage > xPackage( xExtMgr->addExtension(rPackageURL, uno::Sequence(), - sPackageManager, xAbortChannel, rCmdEnv.get() ) ); + rRepository, xAbortChannel, rCmdEnv.get() ) ); OSL_ASSERT( xPackage.is() ); } catch ( ucb::CommandFailedException & ) @@ -956,19 +944,17 @@ void ExtensionCmdQueue::Thread::_addExtension( ::rtl::Reference< ProgressCmdEnv //------------------------------------------------------------------------------ void ExtensionCmdQueue::Thread::_removeExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, - const uno::Reference< deployment::XPackageManager > &xPackageManager, const uno::Reference< deployment::XPackage > &xPackage ) { - uno::Reference< task::XAbortChannel > xAbortChannel( xPackageManager->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sRemovingPackages, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); rCmdEnv->progressSection( sTitle, xAbortChannel ); OUString id( dp_misc::getIdentifier( xPackage ) ); try { - OUString sPackageManager = xPackageManager->getContext(); - uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); - xExtMgr->removeExtension( id, xPackage->getName(), sPackageManager, xAbortChannel, rCmdEnv.get() ); + xExtMgr->removeExtension( id, xPackage->getName(), xPackage->getRepositoryName(), xAbortChannel, rCmdEnv.get() ); } catch ( deployment::DeploymentException & ) {} @@ -1120,17 +1106,16 @@ ExtensionCmdQueue::~ExtensionCmdQueue() { stop(); } -void ExtensionCmdQueue::addExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const ::rtl::OUString & extensionURL, +void ExtensionCmdQueue::addExtension( const ::rtl::OUString & extensionURL, + const ::rtl::OUString & repository, const bool bWarnUser ) { - m_thread->addExtension( rPackageManager, extensionURL, bWarnUser ); + m_thread->addExtension( extensionURL, repository, bWarnUser ); } -void ExtensionCmdQueue::removeExtension( const uno::Reference< deployment::XPackageManager > &rPackageManager, - const uno::Reference< deployment::XPackage > &rPackage ) +void ExtensionCmdQueue::removeExtension( const uno::Reference< deployment::XPackage > &rPackage ) { - m_thread->removeExtension( rPackageManager, rPackage ); + m_thread->removeExtension( rPackage ); } void ExtensionCmdQueue::enableExtension( const uno::Reference< deployment::XPackage > &rPackage, diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx index f984c71c6c1c..69ad7da24769 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx @@ -40,7 +40,6 @@ /// @HTML namespace com { namespace sun { namespace star { - namespace deployment { class XPackageManager; } namespace task { class XInteractionRequest; } namespace uno { class XComponentContext; } } } } @@ -78,11 +77,10 @@ public: /** */ - void addExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &rPackageManager, - const ::rtl::OUString &rExtensionURL, + void addExtension( const ::rtl::OUString &rExtensionURL, + const ::rtl::OUString &rRepository, const bool bWarnUser ); - void removeExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &rPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage ); + void removeExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage ); void enableExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage, const bool bEnable ); void checkForUpdates( const std::vector< TUpdateListEntry > &vList ); diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index 7d616b103c21..18911ce63ea2 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -44,6 +44,10 @@ #define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) +#define USER_PACKAGE_MANAGER OUSTR("user") +#define SHARED_PACKAGE_MANAGER OUSTR("shared") +#define BUNDLED_PACKAGE_MANAGER OUSTR("bundled") + using namespace ::com::sun::star; namespace dp_gui { @@ -52,10 +56,9 @@ namespace dp_gui { // struct Entry_Impl //------------------------------------------------------------------------------ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage, - const uno::Reference< deployment::XPackageManager > &xPackageManager, - PackageState eState ) : + const PackageState eState, const bool bReadOnly ) : m_bActive( false ), - m_bLocked( false ), + m_bLocked( bReadOnly ), m_bHasOptions( false ), m_bShared( false ), m_bUser( false ), @@ -65,8 +68,7 @@ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage, m_bHasButtons( false ), m_eState( eState ), m_pPublisher( NULL ), - m_xPackage( xPackage ), - m_xPackageManager( xPackageManager ) + m_xPackage( xPackage ) { m_sTitle = xPackage->getDisplayName(); m_sVersion = xPackage->getVersion(); @@ -87,8 +89,6 @@ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage, else m_aIconHC = m_aIcon; - m_bLocked = m_xPackageManager->isReadOnly(); - if ( eState == AMBIGUOUS ) m_sErrorText = DialogHelper::getResourceString( RID_STR_ERROR_UNKNOWN_STATUS ); else if ( eState == NOT_REGISTERED ) @@ -108,14 +108,11 @@ StringCompare Entry_Impl::CompareTo( const CollatorWrapper *pCollator, const TEn eCompare = m_sVersion.CompareTo( pEntry->m_sVersion ); if ( eCompare == COMPARE_EQUAL ) { - if ( m_xPackageManager != pEntry->m_xPackageManager ) - { - sal_Int32 nCompare = m_xPackageManager->getContext().compareTo( pEntry->m_xPackageManager->getContext() ); - if ( nCompare < 0 ) - eCompare = COMPARE_LESS; - else if ( nCompare > 0 ) - eCompare = COMPARE_GREATER; - } + sal_Int32 nCompare = m_xPackage->getRepositoryName().compareTo( pEntry->m_xPackage->getRepositoryName() ); + if ( nCompare < 0 ) + eCompare = COMPARE_LESS; + else if ( nCompare > 0 ) + eCompare = COMPARE_GREATER; } } return eCompare; @@ -955,13 +952,13 @@ bool ExtensionBox_Impl::FindEntryPos( const TEntry_Impl pEntry, const long nStar } //------------------------------------------------------------------------------ -long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &xPackage, - const uno::Reference< deployment::XPackageManager > &xPackageManager ) +long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &xPackage ) { - long nPos = 0; + long nPos = 0; PackageState eState = m_pManager->getPackageState( xPackage ); + bool bLocked = m_pManager->isReadOnly( xPackage ); - TEntry_Impl pEntry( new Entry_Impl( xPackage, xPackageManager, eState ) ); + TEntry_Impl pEntry( new Entry_Impl( xPackage, eState, bLocked ) ); xPackage->addEventListener( uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) ); ::osl::ClearableMutexGuard guard(m_entriesMutex); @@ -982,8 +979,8 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > & } pEntry->m_bHasOptions = m_pManager->supportsOptions( xPackage ); - pEntry->m_bUser = ( m_pManager->getUserPkgMgr() == xPackageManager ); - pEntry->m_bShared = !pEntry->m_bUser && ( m_pManager->getSharedPkgMgr() == xPackageManager ); + pEntry->m_bUser = xPackage->getRepositoryName().equals( USER_PACKAGE_MANAGER ); + pEntry->m_bShared = xPackage->getRepositoryName().equals( SHARED_PACKAGE_MANAGER ); pEntry->m_bNew = m_bInCheckMode; //access to m_nActive must be guarded diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx index 1ea3d0d72fcc..0f56d022492b 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx @@ -38,7 +38,6 @@ #include "com/sun/star/lang/Locale.hpp" #include "com/sun/star/lang/XEventListener.hpp" #include "com/sun/star/deployment/XPackage.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" #include @@ -86,11 +85,9 @@ struct Entry_Impl svt::FixedHyperlink *m_pPublisher; ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> m_xPackage; - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> m_xPackageManager; Entry_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - PackageState eState ); + const PackageState eState, const bool bReadOnly ); ~Entry_Impl(); StringCompare CompareTo( const CollatorWrapper *pCollator, const TEntry_Impl pEntry ) const; @@ -208,8 +205,7 @@ public: //----------------- virtual void selectEntry( const long nPos ); - long addEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager ); + long addEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void updateEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void removeEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index cd37f07729bb..65a1bf021d29 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -35,8 +35,6 @@ #include "toolkit/helper/vclunohelper.hxx" #include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/deployment/XPackageManagerFactory.hpp" -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" #include "dp_gui_dialog2.hxx" #include "dp_gui_extensioncmdqueue.hxx" @@ -74,17 +72,8 @@ TheExtensionManager::TheExtensionManager( Window *pParent, m_pExtMgrDialog( NULL ), m_pUpdReqDialog( NULL ) { - m_sPackageManagers.realloc(3); - m_sPackageManagers[0] = deployment::thePackageManagerFactory::get( m_xContext )->getPackageManager( USER_PACKAGE_MANAGER ); - m_sPackageManagers[1] = deployment::thePackageManagerFactory::get( m_xContext )->getPackageManager( SHARED_PACKAGE_MANAGER ); - m_sPackageManagers[2] = deployment::thePackageManagerFactory::get( m_xContext )->getPackageManager( BUNDLED_PACKAGE_MANAGER ); - - for ( sal_Int32 i = 0; i < m_sPackageManagers.getLength(); ++i ) - { - m_sPackageManagers[i]->addModifyListener( this ); - } - m_xExtensionManager = deployment::ExtensionManager::get( xContext ); + m_xExtensionManager->addModifyListener( this ); uno::Reference< lang::XMultiServiceFactory > xConfig( xContext->getServiceManager()->createInstanceWithContext( @@ -241,7 +230,7 @@ bool TheExtensionManager::checkUpdates( bool /* bShowUpdateOnly */, bool /*bPare uno::Reference< deployment::XPackage > xPackage = xPackageList[j]; if ( xPackage.is() ) { - TUpdateListEntry pEntry( new UpdateListEntry( xPackage, m_sPackageManagers[j] ) ); + TUpdateListEntry pEntry( new UpdateListEntry( xPackage ) ); vEntries.push_back( pEntry ); } } @@ -261,10 +250,9 @@ bool TheExtensionManager::enablePackage( const uno::Reference< deployment::XPack } //------------------------------------------------------------------------------ -bool TheExtensionManager::removePackage( const uno::Reference< deployment::XPackageManager > &xPackageManager, - const uno::Reference< deployment::XPackage > &xPackage ) +bool TheExtensionManager::removePackage( const uno::Reference< deployment::XPackage > &xPackage ) { - m_pExecuteCmdQueue->removeExtension( xPackageManager, xPackage ); + m_pExecuteCmdQueue->removeExtension( xPackage ); return true; } @@ -285,22 +273,20 @@ bool TheExtensionManager::installPackage( const OUString &rPackageURL, bool bWar createDialog( false ); - uno::Reference< deployment::XPackageManager > xUserPkgMgr = getUserPkgMgr(); - uno::Reference< deployment::XPackageManager > xSharedPkgMgr = getSharedPkgMgr(); - bool bInstall = true; bool bInstallForAll = false; - if ( !bWarnUser && ! xSharedPkgMgr->isReadOnly() ) + // DV! missing function is read only repository from extension manager + if ( !bWarnUser && ! m_xExtensionManager->isReadOnlyRepository( SHARED_PACKAGE_MANAGER ) ) bInstall = getDialogHelper()->installForAllUsers( bInstallForAll ); if ( !bInstall ) return false; if ( bInstallForAll ) - m_pExecuteCmdQueue->addExtension( xSharedPkgMgr, rPackageURL, false ); + m_pExecuteCmdQueue->addExtension( rPackageURL, SHARED_PACKAGE_MANAGER, false ); else - m_pExecuteCmdQueue->addExtension( xUserPkgMgr, rPackageURL, bWarnUser ); + m_pExecuteCmdQueue->addExtension( rPackageURL, USER_PACKAGE_MANAGER, bWarnUser ); return true; } @@ -357,7 +343,7 @@ void TheExtensionManager::createPackageList() if ( xPackage.is() ) { PackageState eState = getPackageState( xPackage ); - getDialogHelper()->addPackageToList( xPackage, m_sPackageManagers[j] ); + getDialogHelper()->addPackageToList( xPackage ); // When the package is enabled, we can stop here, otherwise we have to look for // another version of this package if ( ( eState == REGISTERED ) || ( eState == NOT_AVAILABLE ) ) @@ -395,6 +381,17 @@ PackageState TheExtensionManager::getPackageState( const uno::Reference< deploym } } +//------------------------------------------------------------------------------ +bool TheExtensionManager::isReadOnly( const uno::Reference< deployment::XPackage > &xPackage ) const +{ + if ( m_xExtensionManager.is() && xPackage.is() ) + { + return m_xExtensionManager->isReadOnlyRepository( xPackage->getRepositoryName() ); + } + else + return true; +} + //------------------------------------------------------------------------------ // The function investigates if the extension supports options. bool TheExtensionManager::supportsOptions( const uno::Reference< deployment::XPackage > &xPackage ) const @@ -509,13 +506,9 @@ void TheExtensionManager::notifyTermination( ::lang::EventObject const & rEvt ) void TheExtensionManager::modified( ::lang::EventObject const & rEvt ) throw ( uno::RuntimeException ) { - uno::Reference< deployment::XPackageManager > xPackageManager( rEvt.Source, uno::UNO_QUERY ); - if ( xPackageManager.is() ) - { - getDialogHelper()->prepareChecking(); - createPackageList(); - getDialogHelper()->checkEntries(); - } + getDialogHelper()->prepareChecking(); + createPackageList(); + getDialogHelper()->checkEntries(); } //------------------------------------------------------------------------------ diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx index 2b8f86de9955..6605b5907dab 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx @@ -33,7 +33,6 @@ #include "cppuhelper/implbase2.hxx" #include "com/sun/star/container/XNameAccess.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" #include "com/sun/star/deployment/XExtensionManager.hpp" #include "com/sun/star/deployment/ExtensionManager.hpp" #include "com/sun/star/frame/XDesktop.hpp" @@ -60,7 +59,6 @@ private: ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext; ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop > m_xDesktop; ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager; - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> > m_sPackageManagers; ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xNameAccessNodes; ::std::auto_ptr< ExtensionCmdQueue > m_pExecuteCmdQueue; @@ -100,8 +98,7 @@ public: bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); - bool removePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + bool removePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); bool installPackage( const ::rtl::OUString &rPackageURL, bool bWarnUser = false ); bool queryTermination(); @@ -111,9 +108,8 @@ public: bool supportsOptions( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) const; PackageState getPackageState( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) const; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext() const { return m_xContext; } - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > getUserPkgMgr() const { return m_sPackageManagers[0]; } - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > getSharedPkgMgr() const { return m_sPackageManagers[1]; } ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > getExtensionManager() const { return m_xExtensionManager; } + bool isReadOnly( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) const; //----------------- static ::rtl::Reference get( diff --git a/desktop/source/deployment/gui/dp_gui_updatedata.hxx b/desktop/source/deployment/gui/dp_gui_updatedata.hxx index dda6126f70d0..2082b92e923a 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedata.hxx +++ b/desktop/source/deployment/gui/dp_gui_updatedata.hxx @@ -35,7 +35,6 @@ namespace com { namespace sun { namespace star { namespace deployment { - class XPackageManager; class XPackage; }}}} namespace com { namespace sun { namespace star { namespace xml { namespace dom { @@ -48,10 +47,8 @@ namespace dp_gui { struct UpdateListEntry { ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> m_xPackage; - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager> m_xPackageManager; - UpdateListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > &xPackageManager ); + UpdateListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); ~UpdateListEntry(); }; @@ -61,8 +58,6 @@ typedef ::boost::shared_ptr< UpdateListEntry > TUpdateListEntry; struct UpdateData { ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > aInstalledPackage; - - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > aPackageManager; // The content of the update information ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > aUpdateInfo; //The URL of the locally downloaded extension. It will only be set if there were no errors diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx index 61479f799e6f..fca7d97c798a 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx @@ -54,7 +54,8 @@ #include "com/sun/star/deployment/DeploymentException.hpp" #include "com/sun/star/deployment/UpdateInformationProvider.hpp" #include "com/sun/star/deployment/XPackage.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" +#include "com/sun/star/deployment/XExtensionManager.hpp" +#include "com/sun/star/deployment/ExtensionManager.hpp" #include "com/sun/star/deployment/XUpdateInformationProvider.hpp" #include "com/sun/star/frame/XDesktop.hpp" #include "com/sun/star/frame/XDispatch.hpp" @@ -240,12 +241,9 @@ private: struct Entry { explicit Entry( css::uno::Reference< css::deployment::XPackage > const & thePackage, - css::uno::Reference< css::deployment::XPackageManager > const & - thePackageManager, rtl::OUString const & theVersion); css::uno::Reference< css::deployment::XPackage > package; - css::uno::Reference< css::deployment::XPackageManager > packageManager; rtl::OUString version; css::uno::Reference< css::xml::dom::XNode > info; }; @@ -271,14 +269,10 @@ private: void handle( css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::deployment::XPackageManager > const & - packageManager, Map * map); bool update( css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::deployment::XPackageManager > const & - packageManager, css::uno::Reference< css::xml::dom::XNode > const & updateInfo) const; css::uno::Reference< css::uno::XComponentContext > m_context; @@ -333,11 +327,8 @@ void UpdateDialog::Thread::stop() { UpdateDialog::Thread::Entry::Entry( css::uno::Reference< css::deployment::XPackage > const & thePackage, - css::uno::Reference< css::deployment::XPackageManager > const & - thePackageManager, rtl::OUString const & theVersion): package(thePackage), - packageManager(thePackageManager), version(theVersion) {} @@ -356,7 +347,6 @@ void UpdateDialog::Thread::execute() for ( ITER iIndex = m_vExtensionList.begin(); iIndex < m_vExtensionList.end(); ++iIndex ) { css::uno::Reference< css::deployment::XPackage > p = (*iIndex)->m_xPackage; - css::uno::Reference< css::deployment::XPackageManager > m = (*iIndex)->m_xPackageManager; if ( p.is() ) { { @@ -365,7 +355,7 @@ void UpdateDialog::Thread::execute() return; } } - handle( p, m, &map ); + handle( p, &map ); } } @@ -399,9 +389,7 @@ void UpdateDialog::Thread::execute() } for (Map::const_iterator i(map.begin()); i != map.end(); ++i) { if (i->second.info.is() && - !update( - i->second.package, i->second.packageManager, - i->second.info)) + !update( i->second.package, i->second.info )) { break; } @@ -468,8 +456,6 @@ UpdateDialog::Thread::getUpdateInformation( void UpdateDialog::Thread::handle( css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::deployment::XPackageManager > const & - packageManager, Map * map) { rtl::OUString id(dp_misc::getIdentifier(package)); @@ -478,7 +464,7 @@ void UpdateDialog::Thread::handle( if (urls.getLength() == 0) { map->insert( Map::value_type( - id, Entry(package, packageManager, package->getVersion()))); + id, Entry(package, package->getVersion()))); } else { css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > infos(getUpdateInformation(package, urls, id)); @@ -504,18 +490,15 @@ void UpdateDialog::Thread::handle( } } if (latestIndex != -1) { - update( - package, packageManager, - css::uno::Reference< css::xml::dom::XNode >( - infos[latestIndex], css::uno::UNO_QUERY_THROW)); + update( package, + css::uno::Reference< css::xml::dom::XNode >( + infos[latestIndex], css::uno::UNO_QUERY_THROW)); } } } bool UpdateDialog::Thread::update( css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::deployment::XPackageManager > const & - packageManager, css::uno::Reference< css::xml::dom::XNode > const & updateInfo) const { dp_misc::DescriptionInfoset infoset(m_context, updateInfo); @@ -529,7 +512,7 @@ bool UpdateDialog::Thread::update( for (sal_Int32 i = 0; i < ds.getLength(); ++i) { du.unsatisfiedDependencies[i] = dp_misc::Dependencies::getErrorText(ds[i]); } - du.permission = ! packageManager->isReadOnly(); + du.permission = ! m_dialog.isReadOnly( package ); const ::boost::optional< ::rtl::OUString> updateWebsiteURL(infoset.getLocalizedUpdateWebsiteURL()); rtl::OUStringBuffer b(package->getDisplayName()); b.append(static_cast< sal_Unicode >(' ')); @@ -559,7 +542,6 @@ bool UpdateDialog::Thread::update( { dp_gui::UpdateData data; data.aInstalledPackage = package; - data.aPackageManager = packageManager; data.aUpdateInfo = updateInfo; if (updateWebsiteURL) data.sWebsiteURL = *updateWebsiteURL; @@ -626,6 +608,9 @@ UpdateDialog::UpdateDialog( // m_extensionManagerDialog(extensionManagerDialog) { OSL_ASSERT(updateData != NULL); + + m_xExtensionManager = css::deployment::ExtensionManager::get( context ); + css::uno::Reference< css::awt::XToolkit > toolkit; try { toolkit = css::uno::Reference< css::awt::XToolkit >( @@ -1055,6 +1040,16 @@ bool UpdateDialog::showDescription( const String& rDescription, bool bWithPublis return true; } +bool UpdateDialog::isReadOnly( const css::uno::Reference< css::deployment::XPackage > &xPackage ) const +{ + if ( m_xExtensionManager.is() && xPackage.is() ) + { + return m_xExtensionManager->isReadOnlyRepository( xPackage->getRepositoryName() ); + } + else + return true; +} + IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG) { rtl::OUStringBuffer b; @@ -1233,10 +1228,10 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG) typedef ::std::vector::const_iterator CIT; for (CIT i = m_enabledUpdates.begin(); i < m_enabledUpdates.end(); i++) { - OSL_ASSERT(i->aPackageManager.is()); + OSL_ASSERT(i->aInstalledPackage.is()); //If the user has no write access to the shared folder then the update //for a shared extension is disable, that is it cannot be in m_enabledUpdates - OSL_ASSERT(i->aPackageManager->isReadOnly() == sal_False); + OSL_ASSERT(isReadOnly(i->aInstalledPackage) == sal_False); #if 0 // TODO: check! OSL_ASSERT(m_extensionManagerDialog.get()); diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx index 1a8484e2c20f..1e72b22a68c7 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx @@ -60,7 +60,8 @@ class Window; namespace com { namespace sun { namespace star { namespace awt { class XThrobber; } - namespace deployment { class XPackageManager; } + namespace deployment { class XExtensionManager; + class XPackage; } namespace uno { class XComponentContext; } } } } @@ -171,6 +172,7 @@ private: bool showDescription( ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > const & aUpdateInfo); bool showDescription( const String& rDescription, bool bWithPublisher ); + bool isReadOnly( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) const; DECL_LINK(selectionHandler, void *); DECL_LINK(allHandler, void *); @@ -214,6 +216,7 @@ private: std::vector< UpdateDialog::SpecificError > m_specificErrors; std::vector< dp_gui::UpdateData > & m_updateData; rtl::Reference< UpdateDialog::Thread > m_thread; + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager; Point m_aFirstLinePos; Size m_aFirstLineSize; diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx index f607713118f0..f2f8b8b0d6e2 100644 --- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx @@ -54,7 +54,8 @@ #include "com/sun/star/ucb/InteractiveAugmentedIOException.hpp" #include "com/sun/star/ucb/XCommandEnvironment.hpp" #include "com/sun/star/ucb/XProgressHandler.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" +#include "com/sun/star/deployment/XExtensionManager.hpp" +#include "com/sun/star/deployment/ExtensionManager.hpp" #include "com/sun/star/deployment/XUpdateInformationProvider.hpp" #include "com/sun/star/deployment/DependencyException.hpp" #include "com/sun/star/deployment/LicenseException.hpp" @@ -257,6 +258,8 @@ UpdateInstallDialog::UpdateInstallDialog( { FreeResource(); + m_xExtensionManager = css::deployment::ExtensionManager::get( xCtx ); + m_cancel.SetClickHdl(LINK(this, UpdateInstallDialog, cancelHandler)); m_mle_info.EnableCursor(FALSE); if ( ! dp_misc::office_is_running()) @@ -496,7 +499,7 @@ void UpdateInstallDialog::Thread::installExtensions() if (curData.sLocalURL.getLength() == 0) continue; cssu::Reference< css::task::XAbortChannel > xAbortChannel( - curData.aPackageManager->createAbortChannel() ); + curData.aInstalledPackage->createAbortChannel() ); { vos::OGuard g(Application::GetSolarMutex()); if (m_stop) { @@ -504,9 +507,9 @@ void UpdateInstallDialog::Thread::installExtensions() } m_abort = xAbortChannel; } - xPackage = curData.aPackageManager->addPackage( + xPackage = m_dialog.getExtensionManager()->addExtension( curData.sLocalURL, css::uno::Sequence(), - OUString(), xAbortChannel, m_updateCmdEnv.get()); + curData.aInstalledPackage->getRepositoryName(), xAbortChannel, m_updateCmdEnv.get()); } catch (css::deployment::DeploymentException & de) { diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx index c3d01c8ee6d9..c0e64a8028e8 100644 --- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx +++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx @@ -41,6 +41,9 @@ #include "dp_gui_autoscrolledit.hxx" /// @HTML +namespace com { namespace sun { namespace star { namespace deployment { + class XExtensionManager; +}}}} namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; }}}} @@ -102,9 +105,12 @@ private: }; void setError(INSTALL_ERROR err, ::rtl::OUString const & sExtension, ::rtl::OUString const & exceptionMessage); void setError(::rtl::OUString const & exceptionMessage); + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > getExtensionManager() const + { return m_xExtensionManager; } rtl::Reference< Thread > m_thread; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xComponentContext; + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager; //Signals that an error occurred during download and installation bool m_bError; bool m_bNoEntry; diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index b3b8a8249994..edb53d134c8b 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -1489,7 +1489,7 @@ BackendImpl::TypelibraryPackageImpl::isRegistered_( void BackendImpl::TypelibraryPackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, - bool startup, + bool /*startup*/, ::rtl::Reference const &, Reference const & xCmdEnv ) { -- cgit From 8b9d8fb8b856a86648fad9ff45977200adf33795 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 28 Apr 2010 13:04:43 +0200 Subject: vitomation01: #i108621 - Need to explicitly set gApplication before running tEditFields, the previous test sets it at the end and thus disables the setting from sub w_002_ --- testautomation/writer/required/includes/w_002_.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/testautomation/writer/required/includes/w_002_.inc b/testautomation/writer/required/includes/w_002_.inc index 1a792740a3a5..c1c187999777 100755 --- a/testautomation/writer/required/includes/w_002_.inc +++ b/testautomation/writer/required/includes/w_002_.inc @@ -63,6 +63,8 @@ sub w_002_ 'Writer Master Document gApplication = "MASTERDOCUMENT" Call tMasterDocEditNavigator + + gApplication "HTML" Call tEditFields gApplication = "WRITER" @@ -981,7 +983,7 @@ endcase ' ---------------------------------------------------------------- -testcase tEditfields +testcase tEditFields PrintLog( "Edit/Fields: Edit Fields dialog: " & gApplication ) dim iCurrentType as integer -- cgit From ec12d2bb2aeee7ec44119263bae3b04aad02b98c Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 28 Apr 2010 14:33:45 +0200 Subject: cws tl79: warning free code --- svtools/source/misc/xwindowitem.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/svtools/source/misc/xwindowitem.cxx b/svtools/source/misc/xwindowitem.cxx index 7ddddc4c3195..a382d8293617 100755 --- a/svtools/source/misc/xwindowitem.cxx +++ b/svtools/source/misc/xwindowitem.cxx @@ -46,8 +46,8 @@ XWindowItem::XWindowItem() : } -XWindowItem::XWindowItem( USHORT nWhich, Window * pWin ) : - SfxPoolItem( nWhich ) +XWindowItem::XWindowItem( USHORT nWhichId, Window * pWin ) : + SfxPoolItem( nWhichId ) { if (pWin) { @@ -58,8 +58,8 @@ XWindowItem::XWindowItem( USHORT nWhich, Window * pWin ) : } -XWindowItem::XWindowItem( USHORT nWhich, uno::Reference< awt::XWindow > & rxWin ) : - SfxPoolItem( nWhich ), +XWindowItem::XWindowItem( USHORT nWhichId, uno::Reference< awt::XWindow > & rxWin ) : + SfxPoolItem( nWhichId ), m_xWin( rxWin ) { } -- cgit From b74d54d62a0162c490c5fe833f937120c8795680 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 28 Apr 2010 16:47:08 +0200 Subject: cws tl79: include fixed --- sfx2/inc/sfx2/securitypage.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sfx2/inc/sfx2/securitypage.hxx b/sfx2/inc/sfx2/securitypage.hxx index 616f11d3b6d1..8b2ca43fc945 100755 --- a/sfx2/inc/sfx2/securitypage.hxx +++ b/sfx2/inc/sfx2/securitypage.hxx @@ -27,7 +27,7 @@ #ifndef _SECURITYPAGE_HXX_ #define _SECURITYPAGE_HXX_ -#include "sfx2/tabdlg.hxx " +#include "sfx2/tabdlg.hxx" #include -- cgit From 9692ac585fbf81fe6434025b92ada23017384fe0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 11:14:47 +0200 Subject: vitomation01: #i111247 - Attempt to rework and simplify hRenameTab(). This has been one of the very troublesome functions that ended up looking rather awkward and were not really understandable from a logical point of view. However, chances are small that the new implementation is really going to work... --- .../tools/includes/optional/t_basic_ide_tools.inc | 91 +++++++--------------- 1 file changed, 27 insertions(+), 64 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_basic_ide_tools.inc diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc old mode 100644 new mode 100755 index 9e1344c67bf1..58b0cbecf5e8 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -305,76 +305,39 @@ end function function hRenameTab( cTabName as string ) as integer - '///

            Rename the first tab in the Basic IDE Tabbar

            - '///Starting point: Basic IDE is open, at least one tab exists
            - '///Return values are: - '///
              - '///+
            • 0 = Tab was correctly renamed
            • - '///+
            • 1 = Invalid name warning is displayed (handle outside of function)
            • - '///+
            • 2 = Unknown error / failed to rename the tab
            • - '///+
            • 3 = Unable to access context menu
            • - '///
            - '///Description - '///
              - const CFN = "hRenameTab(): " - const RETVAL_SUCCESS = 0 - const RETVAL_UNKNOWN_MESSAGE = 1 - const RETVAL_UNKNOWN_ERROR = 2 - const RETVAL_NO_CONTEXT_MENU = 3 - - dim cString as string - dim iWait as integer - dim iTry as integer - dim brc as boolean : brc = false - cString = "" & cTabName & "" - kontext "basicide" - - '///+
            • Open the context menu of the tabbar
            • - for iTry = 1 to 5 - try - kontext "basicide" - Tabbar.OpenContextMenu - hMenuSelectNr( 3 ) - sleep( 2 ) - brc = true + const MENUITEM_RENAME = 3 + const MAX_WAIT = 1000 + + const RETVAL_SUCCESS = 0 + const RETVAL_NO_IDE = 1 + const RETVAL_NO_ACCESS = 2 + const RETVAL_NO_MENU = 3 + kontext "BasicIDE" + if ( BasicIDE.exists() ) then + try + hRenameTab() = RETVAL_NO_MENU + Tabbar.openContextMenu() + hMenuSelectNr( MENUITEM_RENAME ) + WaitSlot( MAX_WAIT ) + + ' At this point the string on the tab should be selected, print the + ' string to the log and overwrite it with the new name + hRenameTab() = RETVAL_NO_ACCESS + printlog( "Current modulename is: " & Tabbar.getSelText() ) + Tabbar.typeKeys( cTabName ) + Tabbar.typeKeys( "" ) + hRenameTab() = RETVAL_SUCCESS catch - printlog( "No context menu, retrying..." ) + warnlog( CFN & "Failed to rename the current module" ) endcatch - next iTry - '///+
            • Select to rename the tab
            • - if ( not brc ) then - warnlog( CFN & "Unable to access Context Menu" ) - hRenameTab() = RETVAL_NO_CONTEXT_MENU - exit function + else + warnlog( CFN & "BASIC IDE is not open" ) + hRenameTab() = RETVAL_NO_IDE endif - - try - '///+
            • Overwrite the old name of the tab
            • - kontext "basicide" - Tabbar.TypeKeys( cString , true ) - hRenameTab() = RETVAL_SUCCESS - printlog( CFN & "Tab renamed: " & cTabName ) - catch - '///+
            • Handle possible errors
            • - hRenameTab() = RETVAL_UNKNOWN_ERROR - warnlog( CFN & "Failed to rename tab: " & cTabName ) - exit function - endcatch - - kontext "active" - for iWait = 1 to 3 - if ( active.exists( 1 ) ) then - hRenameTab() = RETVAL_UNKNOWN_MESSAGE - printlog( CFN & "Invalid name for tab: Warning is displayed" ) - exit for - endif - next iWait - '///+
            • Return 0, 1 or 2
            • - '///
            - + end function '******************************************************************************* -- cgit From 80324e10eb830ca3523e0b040d3d14b8a634a083 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 11:44:19 +0200 Subject: vitomation01: #i109562 - Fixed syntax error --- .../framework/optional/includes/basic_delete_modules.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_delete_modules.inc b/testautomation/framework/optional/includes/basic_delete_modules.inc index 3a639f01e728..5418c322ce96 100755 --- a/testautomation/framework/optional/includes/basic_delete_modules.inc +++ b/testautomation/framework/optional/includes/basic_delete_modules.inc @@ -77,10 +77,10 @@ testcase tDeleteModulesAtRunningBasic iMenuItemCount = hMenuItemGetCount() select case ( iMenuItemCount ) - case 2 : printlog( "Correct number of items in menu: " & iMenuItemCount ) - case 3 : warnlog ( "Delete is active in context menu for a running macro => BUG!" ) - case 5 : warnlog ( "#i101972# - Disabled entries are shown in context menu on tab bar" ) - default : warnlog ( "Incorrect itemcount in context menu: " & iMenuItemCount ) + case 2 : printlog( "Correct number of items in menu: " & iMenuItemCount ) + case 3 : warnlog ( "Delete is active in context menu for a running macro => BUG!" ) + case 5 : warnlog ( "#i101972# - Disabled entries are shown in context menu on tab bar" ) + case else : warnlog ( "Incorrect itemcount in context menu: " & iMenuItemCount ) end select catch warnlog( "Unable to retrieve the number of menuitems" ) -- cgit From 65cf934efc6f8958d9c024ee965685cfd6cac704 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Thu, 29 Apr 2010 13:02:24 +0200 Subject: cws tl79: fixed problems after merging with DEV300_m77 --- sfx2/inc/sfx2/htmlmode.hxx | 68 +++++++++++++++++++++++++++++++++++++ sfx2/inc/sfx2/securitypage.hxx | 1 + sfx2/inc/sfx2/sfxsids.hrc | 26 ++++++++++++++ sfx2/source/dialog/dinfdlg.cxx | 1 + sfx2/source/dialog/securitypage.cxx | 15 ++++---- svx/inc/htmlmode.hxx | 23 +------------ svx/inc/svx/svxids.hrc | 43 ++++++++++++----------- 7 files changed, 129 insertions(+), 48 deletions(-) create mode 100644 sfx2/inc/sfx2/htmlmode.hxx diff --git a/sfx2/inc/sfx2/htmlmode.hxx b/sfx2/inc/sfx2/htmlmode.hxx new file mode 100644 index 000000000000..51f341c5c3c0 --- /dev/null +++ b/sfx2/inc/sfx2/htmlmode.hxx @@ -0,0 +1,68 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _SFX_HTMLMODE_HXX_ +#define _SFX_HTMLMODE_HXX_ + + +#define HTMLMODE_ON 0x0001 +#define HTMLMODE_PARA_BORDER 0x0002 /* Absatzumrandungen */ +#define HTMLMODE_PARA_DISTANCE 0x0004 /* bestimmte Absatzabstaende */ +#define HTMLMODE_SMALL_CAPS 0x0008 /* Kapitaelchen */ +#define HTMLMODE_FRM_COLUMNS 0x0010 /* spaltige Rahmen */ +#define HTMLMODE_SOME_STYLES 0x0020 /* mind. MS IE */ +#define HTMLMODE_FULL_STYLES 0x0040 /* == SW */ +#define HTMLMODE_BLINK 0x0080 /* blinkende Zeichen*/ +#define HTMLMODE_PARA_BLOCK 0x0100 /* Blocksatz */ +#define HTMLMODE_DROPCAPS 0x0200 /* Initialen*/ +#define HTMLMODE_FIRSTLINE 0x0400 /* Erstzeileneinzug mit Spacer == NS 3.0 */ +#define HTMLMODE_GRAPH_POS 0x0800 /* Grafikpositionen Hintergrund */ +#define HTMLMODE_FULL_ABS_POS 0x1000 /* abs. Rahmenpositionierung */ +#define HTMLMODE_SOME_ABS_POS 0x2000 /* abs. Rahmenpositionierung vollst.*/ +#define HTMLMODE_RESERVED1 0x4000 +#define HTMLMODE_RESERVED0 0x8000 + + +#endif + + + + + + + + + + + + + + + + + + + diff --git a/sfx2/inc/sfx2/securitypage.hxx b/sfx2/inc/sfx2/securitypage.hxx index 8b2ca43fc945..d25f0ee0b967 100755 --- a/sfx2/inc/sfx2/securitypage.hxx +++ b/sfx2/inc/sfx2/securitypage.hxx @@ -28,6 +28,7 @@ #define _SECURITYPAGE_HXX_ #include "sfx2/tabdlg.hxx" +#include "sfx2/htmlmode.hxx" #include diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc index bc4c11b53184..74210ba680ef 100644 --- a/sfx2/inc/sfx2/sfxsids.hrc +++ b/sfx2/inc/sfx2/sfxsids.hrc @@ -155,6 +155,7 @@ #define SID_RELOAD (SID_SFX_START + 508) #define SID_PRINTDOCDIRECT (SID_SFX_START + 509) #define SID_PICKLIST (SID_SFX_START + 510) +#define SID_ATTR_XWINDOW (SID_SFX_START + 777) #define SID_PLUGIN_MODE (SID_SFX_START + 827) #define SID_EXPORTDOC (SID_SFX_START + 829) #define SID_EXPORTDOCASPDF (SID_SFX_START + 1673) @@ -998,5 +999,30 @@ #endif // #ifndef _SFXSIDS_HRC +//----------------------------------------------------------------------- +// SfxSecurityPage related stuff + +#define FN_EDIT2 (SID_SW_START + 1800) +#define FN_REDLINE_PROTECT (FN_EDIT2 + 23) +#define FN_REDLINE_ON (FN_EDIT2 + 25) + +#define SID_HTML_MODE (SID_SVX_START + 414) + +// Calc-Id's used for SfxSecurityPage +#ifndef SC_FUNCTION_START +#define SC_FUNCTION_START (SID_SC_START + 200) +#endif +#ifndef FILE_MENU_END +#define FILE_MENU_END (SC_FUNCTION_START + 20) +#endif +#ifndef EDIT_MENU_START +#define EDIT_MENU_START (FILE_MENU_END) +#endif +#ifndef SC_VIEW_START +#define SC_VIEW_START (SID_SC_START) +#endif +#define FID_CHG_RECORD (EDIT_MENU_START + 18) +#define SID_CHG_PROTECT (SC_VIEW_START + 84) + // eof ------------------------------------------------------------------------ diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index 1495a560965b..f8da760bc12d 100755 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -27,6 +27,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sfx2.hxx" + #include #include #include diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx index affebc8615cb..d6351143c51e 100755 --- a/sfx2/source/dialog/securitypage.cxx +++ b/sfx2/source/dialog/securitypage.cxx @@ -29,22 +29,23 @@ #include "precompiled_sfx2.hxx" #include "sfx2/securitypage.hxx" -#include "sfx2/sfx.hrc" + #include "securitypage.hrc" #include "sfxresid.hxx" +#include +#include +#include +#include +#include + #include #include #include #include -#include -#include -#include #include -#include -#include #include -#include +#include diff --git a/svx/inc/htmlmode.hxx b/svx/inc/htmlmode.hxx index a1c5bf0cdf11..dab1b5b1db70 100644 --- a/svx/inc/htmlmode.hxx +++ b/svx/inc/htmlmode.hxx @@ -27,28 +27,7 @@ #ifndef _SVX_HTMLMODE_HXX #define _SVX_HTMLMODE_HXX -// include --------------------------------------------------------------- - -// define ---------------------------------------------------------------- - -#define HTMLMODE_ON 0x0001 -#define HTMLMODE_PARA_BORDER 0x0002 /* Absatzumrandungen */ -#define HTMLMODE_PARA_DISTANCE 0x0004 /* bestimmte Absatzabstaende */ -#define HTMLMODE_SMALL_CAPS 0x0008 /* Kapitaelchen */ -#define HTMLMODE_FRM_COLUMNS 0x0010 /* spaltige Rahmen */ -#define HTMLMODE_SOME_STYLES 0x0020 /* mind. MS IE */ -#define HTMLMODE_FULL_STYLES 0x0040 /* == SW */ -#define HTMLMODE_BLINK 0x0080 /* blinkende Zeichen*/ -#define HTMLMODE_PARA_BLOCK 0x0100 /* Blocksatz */ -#define HTMLMODE_DROPCAPS 0x0200 /* Initialen*/ -#define HTMLMODE_FIRSTLINE 0x0400 /* Erstzeileneinzug mit Spacer == NS 3.0 */ -#define HTMLMODE_GRAPH_POS 0x0800 /* Grafikpositionen Hintergrund */ -#define HTMLMODE_FULL_ABS_POS 0x1000 /* abs. Rahmenpositionierung */ -#define HTMLMODE_SOME_ABS_POS 0x2000 /* abs. Rahmenpositionierung vollst.*/ -#define HTMLMODE_RESERVED1 0x4000 -#define HTMLMODE_RESERVED0 0x8000 - - +#include #endif diff --git a/svx/inc/svx/svxids.hrc b/svx/inc/svx/svxids.hrc index ee31d4ee3964..780da532ddb0 100755 --- a/svx/inc/svx/svxids.hrc +++ b/svx/inc/svx/svxids.hrc @@ -182,7 +182,6 @@ #define RID_OFA_TP_INTERNATIONAL_IMPR (RID_OFA_START + 254) // 4 impress */ -#define SID_ATTR_XWINDOW (RID_OFA_START + 250) #define SID_ATTR_PARENTWINDOW (RID_OFA_START + 255) // -------------------------------------------------------------------------- @@ -343,18 +342,19 @@ // Calc-Id's // -------------------------------------------------------------------------- -#ifndef SC_FUNCTION_START -#define SC_FUNCTION_START (SID_SC_START + 200) -#endif -#ifndef FILE_MENU_END -#define FILE_MENU_END (SC_FUNCTION_START + 20) -#endif -#ifndef EDIT_MENU_START -#define EDIT_MENU_START (FILE_MENU_END) -#endif -#ifndef SC_VIEW_START -#define SC_VIEW_START (SID_SC_START) -#endif +//! moved to sfx2, still in use: +//#ifndef SC_FUNCTION_START +//#define SC_FUNCTION_START (SID_SC_START + 200) +//#endif +//#ifndef FILE_MENU_END +//#define FILE_MENU_END (SC_FUNCTION_START + 20) +//#endif +//#ifndef EDIT_MENU_START +//#define EDIT_MENU_START (FILE_MENU_END) +//#endif +//#ifndef SC_VIEW_START +//#define SC_VIEW_START (SID_SC_START) +//#endif #define SID_OUTLINE_HIDE (SID_SC_START + 329) #define SID_OUTLINE_SHOW (SID_SC_START + 330) @@ -366,8 +366,9 @@ #define SID_ATTR_SECIALCHAR (SID_SC_START + 581) #define SID_ATTR_SPECIALCHAR (SID_SC_START + 581) -#define FID_CHG_RECORD (EDIT_MENU_START + 18) -#define SID_CHG_PROTECT (SC_VIEW_START + 84) +//! moved to sfx2, still in use: +//#define FID_CHG_RECORD (EDIT_MENU_START + 18) +//#define SID_CHG_PROTECT (SC_VIEW_START + 84) // -------------------------------------------------------------------------- // Writer-Id's @@ -402,9 +403,10 @@ #define FN_PGPREVIEW (SID_SW_START + 1250) #define FN_SHOW_MULTIPLE_PAGES (FN_PGPREVIEW + 2) -#define FN_EDIT2 (SID_SW_START + 1800) -#define FN_REDLINE_PROTECT (FN_EDIT2 + 23) -#define FN_REDLINE_ON (FN_EDIT2 + 25) +//! moved to sfx2, still in use: +//#define FN_EDIT2 (SID_SW_START + 1800) +//#define FN_REDLINE_PROTECT (FN_EDIT2 + 23) +//#define FN_REDLINE_ON (FN_EDIT2 + 25) // -------------------------------------------------------------------------- // Svx-Id's @@ -748,7 +750,10 @@ #define SID_ATTR_3D_AMBIENTINTENSITY ( SID_SVX_START + 410 ) /* --> Slots mit --> koennen demnaechst entfallen ( heute 12.03.1998 ) */ #define SID_ATTR_3D_AMBIENTCOLOR ( SID_SVX_START + 411 ) #define SID_IMPORT_GRAPH_LINK ( SID_SVX_START + 412 ) -#define SID_HTML_MODE ( SID_SVX_START + 414 ) + +//! moved to sfx2, still in use: +//#define SID_HTML_MODE ( SID_SVX_START + 414 ) + #define SID_RULER_PROTECT ( SID_SVX_START + 415 ) //#define SID_INET_DLG ( SID_SVX_START + 416 ) -> sfxsids.hrc #define SID_COLOR_CONTROL ( SID_SVX_START + 417 ) -- cgit From ffc0666792f90f2c95fbad065f956cc98dcd5b92 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Thu, 29 Apr 2010 13:02:24 +0200 Subject: cws tl79: fixed problems after merging with DEV300_m77 --- dbaccess/source/ui/dlg/DbAdminImpl.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.cxx b/dbaccess/source/ui/dlg/DbAdminImpl.cxx index 5e38c7419936..de51c7dd2278 100755 --- a/dbaccess/source/ui/dlg/DbAdminImpl.cxx +++ b/dbaccess/source/ui/dlg/DbAdminImpl.cxx @@ -270,9 +270,9 @@ sal_Bool ODbDataSourceAdministrationHelper::getCurrentSettings(Sequence< Propert if ( !xHandler.is() ) { // instantiate the default SDB interaction handler - xHandler = Reference< XInteractionHandler >( m_xORB->createInstance( SERVICE_SDB_INTERACTION_HANDLER ), UNO_QUERY ); + xHandler = Reference< XInteractionHandler >( m_xORB->createInstance( SERVICE_TASK_INTERACTION_HANDLER ), UNO_QUERY ); if ( !xHandler.is() ) - ShowServiceNotAvailableError(m_pParent->GetParent(), String(SERVICE_SDB_INTERACTION_HANDLER), sal_True); + ShowServiceNotAvailableError(m_pParent->GetParent(), String(SERVICE_TASK_INTERACTION_HANDLER), sal_True); } String sName = pName ? pName->GetValue() : String(); @@ -294,7 +294,7 @@ sal_Bool ODbDataSourceAdministrationHelper::getCurrentSettings(Sequence< Propert aRequest.HasRealm = aRequest.HasAccount = sal_False; // aRequest.Realm aRequest.HasUserName = pUser != 0; - aRequest.UserName = pUser ? pUser->GetValue() : ::rtl::OUString(); + aRequest.UserName = pUser ? rtl::OUString(pUser->GetValue()) : ::rtl::OUString(); aRequest.HasPassword = sal_True; //aRequest.Password aRequest.HasAccount = sal_False; -- cgit From a0e0bebfb8de025f718c64783b20caf504dd3739 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 14:15:03 +0200 Subject: vitomation01: #i111247 - Repair broken test --- .../optional/includes/basic_modulenames.inc | 132 ++++++++++----------- .../tools/includes/optional/t_basic_ide_tools.inc | 42 ++++--- .../includes/optional/t_basic_organizer_tools.inc | 41 ++++--- 3 files changed, 110 insertions(+), 105 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc diff --git a/testautomation/framework/optional/includes/basic_modulenames.inc b/testautomation/framework/optional/includes/basic_modulenames.inc index 5d41641735bd..85e4227a1d28 100755 --- a/testautomation/framework/optional/includes/basic_modulenames.inc +++ b/testautomation/framework/optional/includes/basic_modulenames.inc @@ -45,54 +45,48 @@ testcase tBasicIdeModuleNames ' ------ prerequisites --------- - brc = hInitBasicIde( CMODULE ) - - - brc = hInsertMacro( 1 ) - if ( rc <> 0 ) then - warnlog( "Failed to insert macro" ) - endif + hInitBasicIde( CMODULE ) + if ( hInsertMacro( 1 ) = 0 ) then - cTabName = hGetTabNameFromOrganizer() + cTabName = hGetTabNameFromOrganizer() - Randomize - iCurrentName = Int( 24 * RND ) + 1 ' Range from 1 to 24 - - cTabName = hCreateInvalidModuleName( iCurrentName ) - rc = hRenameTab( cTabName ) - if ( rc = 1 ) then - hHandleInvalidNameWarning( cTabname ) - else - warnlog( "Warning missing" ) - endif - - cTabname = CMODULE - rc = hRenameTab( cTabname ) - if ( rc <> 0 ) then - brc = hHandleInvalidNameWarning( cTabname ) - if ( brc ) then - warnlog( "Failed to set valid name" ) - endif - endif + Randomize + iCurrentName = Int( 24 * RND ) + 1 ' Range from 1 to 24 - - cTabname = hCreateInvalidModuleName( 0 ) - rc = hRenameTab( cTabName ) - if ( rc <> 0 ) then - brc = hHandleInvalidNameWarning( cTabname ) - if ( brc ) then - warnlog( "Failed to set valid name" ) - endif - endif - - - rc = hTestMacro( 1 ) - if ( rc <> 1 ) then - warnlog( "The open macro-module is not the one that was expected" ) + cTabName = hCreateInvalidModuleName( iCurrentName ) + + if ( hRenameTab( cTabName ) = 1 ) then + hHandleInvalidNameWarning( cTabname ) + else + warnlog( "Warning missing" ) + endif + + cTabname = CMODULE + + if ( hRenameTab( cTabname ) <> 0 ) then + if ( hHandleInvalidNameWarning( cTabname ) ) then + warnlog( "Failed to set valid name" ) + endif + endif + + + cTabname = hCreateInvalidModuleName( 0 ) + + if ( hRenameTab( cTabName ) <> 0 ) then + if ( hHandleInvalidNameWarning( cTabname ) ) then + warnlog( "Failed to set valid name" ) + endif + endif + + + if ( hTestMacro( 1 ) <> 1 ) then + warnlog( "The open macro-module is not the one that was expected" ) + endif + else + warnlog( "Failed to insert macro" ) endif hCloseBasicIDE() - hDestroyDocument() endcase @@ -171,6 +165,9 @@ testcase tValidModuleNames case 8 : sModuleName = "ThisIsQuiteALongNameForAModuleDontYouThink" end select + hCreateDocument() + ToolsMacro_uno + if ( hCreateModuleForDoc( sModuleName ) ) then printlog( "The module name was accepted: " & sModuleName ) hCloseBasicIDE() @@ -186,39 +183,30 @@ endcase function hHandleInvalidNameWarning( cTabName as string ) as boolean - - dim brc as boolean : brc = false - dim iTry as integer - - const CFN = "hHandleInvalidNameWarning::" + const CFN = "hHandleInvalidNameWarning(): " + const MAX_WAIT = 1 kontext "Active" - for iTry = 1 to 5 - - if ( active.exists( 1 ) ) then - - if ( brc ) then - warnlog( CFN & "Too many invalid name warnings" ) - endif - - printlog( CFN & "Message: " & active.getText() ) - - active.ok() - brc = true - - else - - if ( not brc ) then - warnlog( CFN & "Invalid name warning missing" ) - endif - + if ( Active.exists( MAX_WAIT ) ) then + + printlog( "Invalid name message displayed" ) + printlog( Active.getText() ) + hCloseDialog( Active, "ok" ) + hHandleInvalidNameWarning() = true + + kontext "Active" + if ( Active.exists( MAX_WAIT ) ) then + warnlog( "Unexpected messagebox displayed: " & Active.getText() ) + hHandleInvalidNameWarning() = false endif - - next iTry - - kontext "basicide" - tabbar.typekeys( "" , true ) - hHandleInvalidNameWarning() = brc + + kontext "basicide" + tabbar.typekeys( "" , true ) + + else + warnlog( "Invalid name warning is missing" ) + hHandleInvalidNameWarning() = false + endif end function diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc index 58b0cbecf5e8..eb9a4d1b2396 100755 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -36,13 +36,19 @@ function hShowMacroControls() as boolean '///

            Tear off the ToolsCollectionBar from the MacroBar

            '///Starting point: Basic dialog editor is open and has the focus '///
              - const CFN = "hShowMacroControls::" + const CFN = "hShowMacroControls::" + + const MAX_WAIT = 5 + const SHORT_WAIT = 1 + + const VERTICALLY_CENTERED = 50 + const HORIZONTALLY_CENTERED = 50 if ( GVERBOSE ) then printlog( CFN & "Enter" ) '///+
            • Test whether the ToolsCollectionBar is already open. If yes, exit directly
            • kontext "ToolsCollectionBar" - if ( ToolsCollectionBar.exists( 3 ) ) then + if ( ToolsCollectionBar.exists( SHORT_WAIT ) ) then printlog( CFN & "ToolsCollectionBar is already open." ) hShowMacroControls() = true exit function @@ -50,7 +56,7 @@ function hShowMacroControls() as boolean '///+
            • Verify that the Dialog Bar is available
            • Kontext "DialogBar" - if ( DialogBar.exists( 5 ) ) then + if ( DialogBar.exists( MAX_WAIT ) ) then '///+
            • Verify that the controls-button is enabled
            • try @@ -62,10 +68,10 @@ function hShowMacroControls() as boolean '///+
            • Verify that the ToolsCollectionBar is visible and can be accessed
            • kontext "ToolsCollectionBar" - if ( ToolsCollectionBar.exists( 5 ) ) then + if ( ToolsCollectionBar.exists( MAX_WAIT ) ) then '///+
            • Move it to the upper left corner at pos 50/50
            • - ToolsCollectionBar.Move ( 50 , 50 ) + ToolsCollectionBar.Move ( HORIZONTALLY_CENTERED , VERTICALLY_CENTERED ) printlog( CFN & "ToolsCollectionBar is open and has been placed" ) hShowMacroControls() = true else @@ -106,13 +112,14 @@ function hOpenBasicIDE() as boolean const CFN = "hOpenBasicIDE::" const BUTTON_TIMEOUT = -1 + const MAX_WAIT = 2 if ( hSelectTheLastModule( true ) ) then if ( hClickButton( Bearbeiten) <> BUTTON_TIMEOUT ) then kontext "BASICIDE" - if ( BasicIDE.exists( 2 ) ) then + if ( BasicIDE.exists( MAX_WAIT ) ) then printlog( "Basic IDE is open" ) BasicIDE.maximize() hOpenBasicIDE() = true @@ -186,9 +193,9 @@ function hFindFirstDialog() as boolean const CFN = "hFindFirstDialog::" const REPEAT_COUNT = 5 ' number of times to send a keystroke to BASIC IDE - const PROBE_STEPPING = 5 - const VERTICALLY_CENTERED = 50 const MAX_NUMBER_OF_RETRIES = 20 + const SELECT_TAB_RIGHT = "" + const SCROLL_UP_LEFT = "" dim iPosOverTabbar as integer hFindFirstDialog() = false @@ -201,12 +208,12 @@ function hFindFirstDialog() as boolean '///+
            • move pointer over the tabbar and click until a dialog opens (hopefully)
            • for iPosOverTabbar = 1 to MAX_NUMBER_OF_RETRIES - BASICIDE.typeKeys( "" ) + BASICIDE.typeKeys( SELECT_TAB_RIGHT ) if ( DialogWindow.Exists() ) then printlog( "BASIC Dialog window found" ) hFindFirstDialog() = true - DialogWindow.typeKeys( "" , REPEAT_COUNT ) + DialogWindow.typeKeys( SCROLL_UP_LEFT , REPEAT_COUNT ) exit for endif @@ -380,6 +387,7 @@ function hNewDialog() as boolean '///
                const CFN = "hNewDialog::" + const MAX_WAIT = 2000 '///+
              • Open the context menu for the tabbar
              • kontext "basicide" @@ -387,11 +395,11 @@ function hNewDialog() as boolean '///+
              • Select the first item (insert)
              • hMenuSelectNr( 1 ) - WaitSlot( 1000 ) ' sleep( 1 ) + WaitSlot( MAX_WAIT ) ' sleep( 1 ) '///+
              • Select the second item (new dialog)
              • hMenuSelectNr( 2 ) - WaitSlot( 2000 ) ' sleep( 2 ) + WaitSlot( MAX_WAIT ) ' sleep( 2 ) '///+
              • Verify that a new dialog is opened and has the focus
              • if ( DialogWindow.Exists() ) then @@ -399,7 +407,7 @@ function hNewDialog() as boolean hNewDialog() = true if ( DialogWindow.IsMax() = false ) then DialogWindow.Maximize() - Wait( 2000 ) + Wait( MAX_WAIT ) end if else warnlog( CFN & "New dialog is not open" ) @@ -419,6 +427,7 @@ function hNewModule() as boolean '///
                  const CFN = "hNewModule::" + const MAX_WAIT = 2000 '///+
                • Open the context menu for the tabbar
                • kontext "basicide" @@ -426,11 +435,11 @@ function hNewModule() as boolean '///+
                • Select the first item (insert)
                • hMenuSelectNr( 1 ) - WaitSlot( 1000 ) ' sleep( 1 ) + WaitSlot( MAX_WAIT ) ' sleep( 1 ) '///+
                • Select the first item (new module)
                • hMenuSelectNr( 1 ) - WaitSlot( 2000 ) ' sleep( 2 ) + WaitSlot( MAX_WAIT ) ' sleep( 2 ) '///+
                • Verify that a new module is opened and has the focus
                • if ( EditWindow.Exists() ) then @@ -454,6 +463,7 @@ function hHideModule() as boolean '///
                    const CFN = "hHideModule::" + const MENUENTRY_HIDE = 4 kontext "basicide" @@ -462,7 +472,7 @@ function hHideModule() as boolean tabbar.openContextMenu '///+
                  • Select the fourth entry (Hide)
                  • - hMenuSelectNr( 4 ) + hMenuSelectNr( MENUENTRY_HIDE ) sleep( 1 ) hHideModule() = true printlog( CFN & "Success" ) diff --git a/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc b/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc old mode 100644 new mode 100755 index a041089da25d..29bc681c2ce5 --- a/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc @@ -74,36 +74,43 @@ function hCreateModuleForDoc( optional cName as string ) as boolean '///Starting point: Basic Macro Organizer is visible and has focus const CFN = "hCreateModuleForDoc::" const DEFAULT_WAIT = 2 + const RETVAL_FAILURE = 0 + if ( isMissing( cName ) ) then cName = "TTModule" kontext "Makro" - if ( hSelectTheLastNode( MakroAus ) > 0 ) then - - kontext "Makro" - if ( hClickButton( Neu ) ) then - - Kontext "NeuesModul" - if ( NeuesModul.exists( DEFAULT_WAIT ) ) then - Modulname.SetText( cName ) - hCloseDialog( NeuesModul, "ok" ) - - kontext "BasicIDE" - if ( BasicIde.exists( DEFAULT_WAIT ) ) then - hCreateModuleForDoc() = true + if ( Makro.exists() ) then + if ( hSelectTheLastNode( MakroAus ) > RETVAL_FAILURE ) then + + kontext "Makro" + if ( hClickButton( Neu ) ) then + + Kontext "NeuesModul" + if ( NeuesModul.exists( DEFAULT_WAIT ) ) then + Modulname.SetText( cName ) + hCloseDialog( NeuesModul, "ok" ) + + kontext "BasicIDE" + if ( BasicIde.exists( DEFAULT_WAIT ) ) then + hCreateModuleForDoc() = true + else + printlog( CFN & "BASIC IDE is not open" ) + hCreateModuleForDoc() = false + endif else - warnlog( CFN & "BASIC IDE is not open" ) + warnlog( CFN & "Dialog did not open" ) hCreateModuleForDoc() = false endif else - warnlog( CFN & "Dialog did not open" ) + warnlog( CFN & "Failed to click button" ) hCreateModuleForDoc() = false endif else - warnlog( CFN & "Failed to click button" ) + warnlog( CFN & "Failed to select the last node" ) hCreateModuleForDoc() = false endif else - warnlog( CFN & "Failed to select the last node" ) + warnlog( CFN & "Macro organizer is not open" ) hCreateModuleForDoc() = false endif -- cgit From 5108357fa905a45cdb60b7f9b18d8a633362c1f6 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 14:42:38 +0200 Subject: vitomation01: #i111247 - More repairs --- .../optional/includes/basic_modulenames.inc | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_modulenames.inc b/testautomation/framework/optional/includes/basic_modulenames.inc index 85e4227a1d28..4310d126d968 100755 --- a/testautomation/framework/optional/includes/basic_modulenames.inc +++ b/testautomation/framework/optional/includes/basic_modulenames.inc @@ -97,6 +97,9 @@ testcase tInvalidModuleNames printlog( "Try to give BASIC modules invalid names (which should fail)" ) + const MAX_WAIT = 2 + const OK_BUTTON_ONLY = 1 + dim iCurrentName as Integer dim sSeparator as String dim cModuleName as string @@ -106,29 +109,36 @@ testcase tInvalidModuleNames cModuleName = hCreateInvalidModuleName( iCurrentName ) printlog( "Trying module name: " & cModuleName ) + hCreateDocument() + ToolsMacro_uno + + ' hCreateModuleForDoc should usually end with the BASIC IDE open + ' but we want it to fail by providing an invalid module name if ( hCreateModuleForDoc( cModuleName ) ) then warnlog( "Basic-Ide should not open for invalid module names" ) - - ' try to recover and continue for other names - hCloseBasicIde() - hDestroyDocument else kontext "Active" - if ( Active.exists( 2 ) ) then - if( Active.getButtonCount() = 1 ) then - printlog( "Invalid module name warning displayed, good." ) - printlog( Active.getText() ) + if ( Active.exists( MAX_WAIT ) ) then + if( Active.getButtonCount() = OK_BUTTON_ONLY ) then + + printlog( "Messagebox displayed: " & Active.getText() ) hCloseDialog( Active, "ok" ) kontext "NeuesModul" - if ( NeuesModul.exists( 2 ) ) then + if ( NeuesModul.exists( MAX_WAIT ) ) then hCloseDialog( NeuesModul, "cancel" ) + + kontext "Makro" + if ( Makro.exists() ) then + hCloseDialog( Makro, "close" ) + else + warnlog( "Test should be back on macro dialog" ) + endif else warnlog( " dialog should show after failed naming attempt" ) endif else - warnlog( "Unexpected messagebox" ) - printlog( Active.getText() ) + warnlog( "Unexpected messagebox: " & Active.getText() ) hCloseDialog( Active, "close" ) endif else @@ -136,9 +146,7 @@ testcase tInvalidModuleNames endif endif - kontext "Makro" - hCloseDialog( Makro, "close" ) - hDestroyDocument() + hFileCloseAll() endcase @@ -170,8 +178,7 @@ testcase tValidModuleNames if ( hCreateModuleForDoc( sModuleName ) ) then printlog( "The module name was accepted: " & sModuleName ) - hCloseBasicIDE() - hDestroyDocument() + hFileCloseAll() else warnlog( "The module name was not accepted: " & sModuleName ) goto endsub -- cgit From c0550c4cf087286cb9267f862f2f01b4335f9d18 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 15:01:18 +0200 Subject: vitomation01: #i111247 - Use hInsertMacroFromFile() instead of hInsertMacro(). --- .../optional/includes/basic_modulenames.inc | 28 ++++++++++------------ 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_modulenames.inc b/testautomation/framework/optional/includes/basic_modulenames.inc index 4310d126d968..d59999956724 100755 --- a/testautomation/framework/optional/includes/basic_modulenames.inc +++ b/testautomation/framework/optional/includes/basic_modulenames.inc @@ -33,20 +33,21 @@ testcase tBasicIdeModuleNames - dim rc as integer - dim brc as boolean - dim i as integer - dim iCurrentName as integer const CMODULE = "TModuleNames" + const TEST_MACRO = "TTMacro1" + + const RC_SUCCESS = 0 + const RC_FAILURE = 1 + const ERR_NO_LINES_INSERTED = 0 + + dim iCurrentName as integer dim cTabName as string gApplication = "WRITER" hCreateDocument() - ' ------ prerequisites --------- - hInitBasicIde( CMODULE ) - if ( hInsertMacro( 1 ) = 0 ) then + if ( hInsertMacroFromFile( TEST_MACRO ) > ERR_NO_LINES_INSERTED ) then cTabName = hGetTabNameFromOrganizer() @@ -55,7 +56,7 @@ testcase tBasicIdeModuleNames cTabName = hCreateInvalidModuleName( iCurrentName ) - if ( hRenameTab( cTabName ) = 1 ) then + if ( hRenameTab( cTabName ) = RC_FAILURE ) then hHandleInvalidNameWarning( cTabname ) else warnlog( "Warning missing" ) @@ -63,7 +64,7 @@ testcase tBasicIdeModuleNames cTabname = CMODULE - if ( hRenameTab( cTabname ) <> 0 ) then + if ( hRenameTab( cTabname ) <> RC_SUCCESS ) then if ( hHandleInvalidNameWarning( cTabname ) ) then warnlog( "Failed to set valid name" ) endif @@ -72,22 +73,17 @@ testcase tBasicIdeModuleNames cTabname = hCreateInvalidModuleName( 0 ) - if ( hRenameTab( cTabName ) <> 0 ) then + if ( hRenameTab( cTabName ) <> RC_SUCCESS ) then if ( hHandleInvalidNameWarning( cTabname ) ) then warnlog( "Failed to set valid name" ) endif endif - - if ( hTestMacro( 1 ) <> 1 ) then - warnlog( "The open macro-module is not the one that was expected" ) - endif else warnlog( "Failed to insert macro" ) endif - hCloseBasicIDE() - hDestroyDocument() + hFileCloseAll() endcase -- cgit From 99c8f2e22ac6a894baf4c8afa0d83a28b21a1fb7 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 15:20:44 +0200 Subject: vitomation01: #i111247 - Various small enhancements --- .../framework/optional/f_basic_modules.bas | 1 + .../optional/includes/basic_modulehide.inc | 18 ++--- testautomation/global/input/macros.txt | 2 +- .../tools/includes/optional/t_macro_tools.inc | 82 ++++++++++++++-------- .../global/tools/includes/required/t_tools3.inc | 4 +- 5 files changed, 66 insertions(+), 41 deletions(-) diff --git a/testautomation/framework/optional/f_basic_modules.bas b/testautomation/framework/optional/f_basic_modules.bas index a2719c27bada..fa7aa18f9ef5 100755 --- a/testautomation/framework/optional/f_basic_modules.bas +++ b/testautomation/framework/optional/f_basic_modules.bas @@ -71,6 +71,7 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_filetools.inc" use "global\tools\includes\optional\t_accels.inc" use "global\tools\includes\optional\t_stringtools.inc" + use "global\tools\includes\optional\t_macro_tools.inc" gApplication = "WRITER" call GetUseFiles() diff --git a/testautomation/framework/optional/includes/basic_modulehide.inc b/testautomation/framework/optional/includes/basic_modulehide.inc index 2a86f71d4163..7702f14fdfb7 100755 --- a/testautomation/framework/optional/includes/basic_modulehide.inc +++ b/testautomation/framework/optional/includes/basic_modulehide.inc @@ -35,7 +35,9 @@ testcase tBasicIdeModuleHide const CFN = "tBasicIdeModuleHide::" - const RAISE_MESSAGEBOX = 1 + + const TESTMACRO = "TTMacro1" + const ERR_NO_LINES_INSERTED = 0 const RC_SUCCESS = 0 const RC_TIMEOUT = -1 @@ -52,7 +54,7 @@ testcase tBasicIdeModuleHide ToolsMacro_uno hCreateModuleForDoc() - if ( hInsertMacro( RAISE_MESSAGEBOX ) ) then + if ( hInsertMacroFromFile( TESTMACRO ) > ERR_NO_LINES_INSERTED ) then printlog( CFN & "Macro has been written successfully" ) else warnlog( CFN & "Failed to insert macro" ) @@ -64,7 +66,7 @@ testcase tBasicIdeModuleHide endif ' hTestMacro is expected to fail, so we jump to the catch statement - if ( hTestMacro( RAISE_MESSAGEBOX ) = RC_SUCCESS ) then + if ( hInsertMacroFromFile( TESTMACRO ) > ERR_NO_LINES_INSERTED ) then warnlog( "For some reason the original module is still visible" ) else warnlog( "There should not be any editingwindow visible" ) @@ -78,14 +80,12 @@ testcase tBasicIdeModuleHide goto endsub endif - if ( hTestMacro( RAISE_MESSAGEBOX ) = RAISE_MESSAGEBOX ) then - printlog( " * the correct macro-module is open. Good." ) - else - warnlog( "The open macro-module is not the one that was expected" ) + if ( not hBasicIDERunMacro( TESTMACRO ) ) then + warnlog( "Incorrect macro executed/macro missing" ) endif - + hCloseBasicIDE() - hCloseDocument() + hFileCloseAll() else warnlog( "restarting the office to recover from errors" ) diff --git a/testautomation/global/input/macros.txt b/testautomation/global/input/macros.txt index 278765674855..5ac913ef3413 100755 --- a/testautomation/global/input/macros.txt +++ b/testautomation/global/input/macros.txt @@ -39,7 +39,7 @@ end function '# TTMacro1: This is a short testscript for automated testing! sub main - print( "Hello" ) + print( "TTMacro1" ) end sub diff --git a/testautomation/global/tools/includes/optional/t_macro_tools.inc b/testautomation/global/tools/includes/optional/t_macro_tools.inc index 03738a96666c..c9bc5f48fa78 100755 --- a/testautomation/global/tools/includes/optional/t_macro_tools.inc +++ b/testautomation/global/tools/includes/optional/t_macro_tools.inc @@ -61,44 +61,35 @@ function hInsertMacroFromFile( cMacroId as string, optional cSource as string ) '///+
                  • Find the path to the source file
                  • dim cFile as string - if ( IsMissing( cSource ) ) then - cFile = convertpath( gTesttoolPath & "global/input/macros.txt" ) - else - cFile = convertpath( cSource ) - endif - dim aInstructionList( MAX_LINES_IN_MACRO_FILE ) as string - dim iInstructionCount as integer dim iCurrentInstruction as integer - - dim brc as boolean - + + if ( IsMissing( cSource ) ) then cFile = gTesttoolPath & "global/input/macros.txt" + '///+
                  • retrieve the macro from the file with ID as section
                  • - iInstructionCount = hGetDataFileSection( cFile, _ - aInstructionList(), _ - cMacroId, "", "" ) + iInstructionCount = hGetDataFileSection( cFile, aInstructionList(), cMacroId, "", "" ) '///+
                  • Delete all content from the BASIC IDE edit window
                  • '///+
                  • Insert the code into the IDE line by line
                  • - if ( hDeleteMacro() ) then - - for iCurrentInstruction = 1 to iInstructionCount - - EditWindow.TypeKeys( "" ) - EditWindow.TypeKeys( aInstructionList( iCurrentInstruction ) ) - EditWindow.TypeKeys( "" ) - - next iCurrentInstruction - printlog( CFN & "Inserted macro: " & cMacroId ) - hInsertMacroFromFile() = iInstructionCount - + kontext "BasicIDE" + if ( EditWindow.exists() ) then + if ( hDeleteMacro() ) then + for iCurrentInstruction = 1 to iInstructionCount + EditWindow.TypeKeys( "" ) + EditWindow.TypeKeys( aInstructionList( iCurrentInstruction ) ) + EditWindow.TypeKeys( "" ) + next iCurrentInstruction + printlog( CFN & "Inserted macro: " & cMacroId ) + hInsertMacroFromFile() = iInstructionCount + else + printlog( CFN & "IDE is not empty, will not insert macro" ) + hInsertMacroFromFile() = RETVAL_FAILURE + endif else - - printlog( CFN & "IDE is not empty, will not insert macro" ) + warnlog( CFN & "Editwindow is not visible" ) hInsertMacroFromFile() = RETVAL_FAILURE - - endif + endif '///
                  end function @@ -142,3 +133,36 @@ function hMacroOrganizerRunMacro( cMacroName as string ) as integer end function + +'******************************************************************************* + +function hBasicIDERunMacro( cIdentifier as string ) as boolean + + const CFN = "hBasicIDERunMacro(): " + const MAX_WAIT = 1 + dim cMessage as string : cMessage = "" + + kontext "BasicIDE" + if ( BasicIDE.exists() ) then + + BasicRun + + kontext "Active" + if ( Active.exists( MAX_WAIT ) ) then + cMessage = Active.getText() + hCloseDialog( Active, "close" ) + endif + + if ( cMessage = cIdentifier ) then + printlog( "The expected macro was executed" ) + hBasicIDERunMacro() = true + else + printlog( CFN & "Incorrect macro executed" ) + hBasicIDERunMacro() = false + endif + else + warnlog( CFN & "BasicIDE is not open" ) + hBasicIDERunMacro() = false + endif + +end function \ No newline at end of file diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index 7309e5026365..a1a5bdc61df3 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1140,7 +1140,7 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean ' this function closes a dialog providing three different methods while ' removing the need for static sleep statements - const CFN = "global::tools::includes::required::t_tools3.inc:hCloseDialog" + const CFN = "global::tools::includes::required::t_tools3.inc::hCloseDialog(): " const METHOD_CLOSE = 1 const METHOD_CANCEL = 2 const METHOD_OK = 3 @@ -1205,7 +1205,7 @@ end function function hWaitForObject( oControl as object, iTime as integer ) as integer - const CFN = "hWaitForObject()::" + const CFN = "global::tools::includes::required::t_tools3.inc::hWaitForObject(): " dim iWait as integer if ( GVERBOSE ) then printlog( CFN & "Entering function for control: " & oControl.name() ) -- cgit From d7141be7dde5aea561ad9ff049d4620c8802535c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 15:43:16 +0200 Subject: vitomation01: #i111247 - Other method to select text in BASIC IDE --- .../tools/includes/optional/t_basic_ide_tools.inc | 40 +++++++++++++--------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc index eb9a4d1b2396..df1318eb6b93 100755 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -272,16 +272,18 @@ end function function hDeleteMacro() as boolean '///

                  Delete all text in the Basic IDE editor

                  - '///Starting point: Basic IDE is open, has focus, code can be edited - const TIMEOUT = -1 + const CFN = "hDeleteMacro(): " + kontext "BasicIDE" - if ( hUseAsyncSlot( "EditSelectAll" ) = TIMEOUT ) then - qaerrorlog( " is not enabled in BASIC IDE" ) - BasicIDE.typeKeys( "" ) - BasicIDE.typeKeys( "" ) + if ( BasicIDE.exists() ) then + WaitSlot() : EditWindow.typeKeys( "" ) + WaitSlot() : EditWindow.typeKeys( "" ) + WaitSlot() : EditWindow.typeKeys( "" ) + hDeleteMacro() = hIsEditWindowEmpty() + else + warnlog( CFN & "Basic IDE is not open" ) + hDeleteMacro() = false endif - BasicIDE.typeKeys( "" ) - hDeleteMacro() = hIsEditWindowEmpty() end function @@ -292,17 +294,23 @@ function hIsEditWindowEmpty() as boolean '///

                  Test if the Basic-EditWindow is empty

                  '///Starting point: Basic IDE editor is open and has the focus const CFN = "hIsEditWindowEmpty(): " - const SLOT_TIMEOUT = -1 - SetClipboard( "" ) - hUseAsyncSlot( "EditSelectAll" ) - hUseAsyncSlot( "EditCopy" ) + kontext "BasicIDE + if ( BasicIDE.exists() ) then + SetClipboard( "" ) + WaitSlot() : EditWindow.typeKeys( "" ) + WaitSlot() : EditWindow.typeKeys( "" ) + hUseAsyncSlot( "EditCopy" ) - if ( GetClipBoardText() = "" ) then - hIsEditWindowEmpty() = true + if ( GetClipBoardText() = "" ) then + hIsEditWindowEmpty() = true + else + warnlog( CFN & "Edit window is not empty" ) + printlog( GetClipboardText ) + hIsEditWindowEmpty() = false + endif else - warnlog( CFN & "Edit window is not empty" ) - printlog( GetClipboardText ) + warnlog( CFN & "BasicIDE is not open" ) hIsEditWindowEmpty() = false endif -- cgit From 5d057b1ca732b3fbde8902de22b3ab979dc9d409 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 29 Apr 2010 23:32:35 +0200 Subject: vitomation01: #i111247 - Missing quote --- testautomation/global/tools/includes/optional/t_basic_ide_tools.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc index df1318eb6b93..41d55833b7ae 100755 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -201,7 +201,7 @@ function hFindFirstDialog() as boolean hFindFirstDialog() = false '///+
                • Set focus to Basic IDE, maximize it
                • - kontext "BasicIde" + kontext "BasicIDE" BasicIde.maximize() @@ -295,7 +295,7 @@ function hIsEditWindowEmpty() as boolean '///Starting point: Basic IDE editor is open and has the focus const CFN = "hIsEditWindowEmpty(): " - kontext "BasicIDE + kontext "BasicIDE" if ( BasicIDE.exists() ) then SetClipboard( "" ) WaitSlot() : EditWindow.typeKeys( "" ) @@ -306,7 +306,6 @@ function hIsEditWindowEmpty() as boolean hIsEditWindowEmpty() = true else warnlog( CFN & "Edit window is not empty" ) - printlog( GetClipboardText ) hIsEditWindowEmpty() = false endif else -- cgit From e4f34dff000d5e020f0d93280fcb01687f5f4b54 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 30 Apr 2010 01:52:18 +0200 Subject: vitomation01: #i111247 - Fix f_basic_modules.bas, remove invalid qaerrorlogs etc. --- .../optional/includes/basic_modulehide.inc | 53 ++++++++++++---------- .../optional/includes/basic_modulenames.inc | 48 ++++++++------------ .../tools/includes/optional/t_basic_ide_tools.inc | 10 ++-- .../tools/includes/optional/t_macro_tools.inc | 13 ++++-- 4 files changed, 64 insertions(+), 60 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_modulehide.inc b/testautomation/framework/optional/includes/basic_modulehide.inc index 7702f14fdfb7..8423c67e6b67 100755 --- a/testautomation/framework/optional/includes/basic_modulehide.inc +++ b/testautomation/framework/optional/includes/basic_modulehide.inc @@ -54,42 +54,45 @@ testcase tBasicIdeModuleHide ToolsMacro_uno hCreateModuleForDoc() + printlog( "Insert macro" ) if ( hInsertMacroFromFile( TESTMACRO ) > ERR_NO_LINES_INSERTED ) then printlog( CFN & "Macro has been written successfully" ) else warnlog( CFN & "Failed to insert macro" ) endif + printlog( "Hide the module" ) + if ( hHideModule() ) then - if ( hHideModule() <> RC_SUCCESS ) then - warnlog( "Some unexpected error occurred while trying to hide the module" ) - endif - - ' hTestMacro is expected to fail, so we jump to the catch statement - if ( hInsertMacroFromFile( TESTMACRO ) > ERR_NO_LINES_INSERTED ) then - warnlog( "For some reason the original module is still visible" ) - else - warnlog( "There should not be any editingwindow visible" ) - endif - - if ( hOpenBasicObjectOrganizer( TAB_MODULES ) ) then - - modulliste.typekeys( "" ) - if ( hClickButton( Bearbeiten ) = RC_TIMEOUT ) then - warnlog( "#i35097# Crash when editing last module" ) - goto endsub + ' hTestMacro is expected to fail, so we jump to the catch statement + if ( hInsertMacroFromFile( TESTMACRO ) <> ERR_NO_LINES_INSERTED ) then + warnlog( "For some reason the original module is still visible" ) + else + printlog( "The edit window is not accessible, good" ) endif - - if ( not hBasicIDERunMacro( TESTMACRO ) ) then - warnlog( "Incorrect macro executed/macro missing" ) + + if ( hOpenBasicObjectOrganizer( TAB_MODULES ) ) then + + modulliste.typekeys( "" ) + if ( hClickButton( Bearbeiten ) = RC_TIMEOUT ) then + warnlog( "#i35097# Crash when editing last module" ) + goto endsub + endif + + if ( not hBasicIDERunMacro( TESTMACRO ) ) then + warnlog( "Incorrect macro executed/macro missing" ) + endif + + hCloseBasicIDE() + hFileCloseAll() + + else + warnlog( "restarting the office to recover from errors" ) + call exitRestartTheOffice() endif - hCloseBasicIDE() - hFileCloseAll() - else - warnlog( "restarting the office to recover from errors" ) - call exitRestartTheOffice() + warnlog( "Some unexpected error occurred while trying to hide the module" ) endif endcase diff --git a/testautomation/framework/optional/includes/basic_modulenames.inc b/testautomation/framework/optional/includes/basic_modulenames.inc index d59999956724..f874fd93976a 100755 --- a/testautomation/framework/optional/includes/basic_modulenames.inc +++ b/testautomation/framework/optional/includes/basic_modulenames.inc @@ -33,7 +33,10 @@ testcase tBasicIdeModuleNames - const CMODULE = "TModuleNames" + printlog( "Modulenames in BASIC IDE" ) + + const CMODULE_VALID1 = "tValidName" + const CMODULE_VALID2 = "tValidToo" const TEST_MACRO = "TTMacro1" const RC_SUCCESS = 0 @@ -46,7 +49,7 @@ testcase tBasicIdeModuleNames gApplication = "WRITER" hCreateDocument() - hInitBasicIde( CMODULE ) + hInitBasicIde( CMODULE_VALID1 ) if ( hInsertMacroFromFile( TEST_MACRO ) > ERR_NO_LINES_INSERTED ) then cTabName = hGetTabNameFromOrganizer() @@ -54,29 +57,19 @@ testcase tBasicIdeModuleNames Randomize iCurrentName = Int( 24 * RND ) + 1 ' Range from 1 to 24 + printlog( "Trying with invalid modulename" ) cTabName = hCreateInvalidModuleName( iCurrentName ) - - if ( hRenameTab( cTabName ) = RC_FAILURE ) then - hHandleInvalidNameWarning( cTabname ) + hRenameTab( cTabName ) + if ( hHandleInvalidNameWarning( cTabname ) ) then + printlog( "Warning for invalid modulename displayed" ) else - warnlog( "Warning missing" ) + warnlog( "Warning for invalid modulename is missing" ) endif - cTabname = CMODULE - - if ( hRenameTab( cTabname ) <> RC_SUCCESS ) then - if ( hHandleInvalidNameWarning( cTabname ) ) then - warnlog( "Failed to set valid name" ) - endif - endif - - - cTabname = hCreateInvalidModuleName( 0 ) - - if ( hRenameTab( cTabName ) <> RC_SUCCESS ) then - if ( hHandleInvalidNameWarning( cTabname ) ) then - warnlog( "Failed to set valid name" ) - endif + printlog( "Trying with valid modulename" ) + hRenameTab( CMODULE_VALID2 ) + if ( hHandleInvalidNameWarning( CMODULE_VALID2 ) ) then + warnlog( "Failed to set valid modulename" ) endif else @@ -91,7 +84,7 @@ endcase testcase tInvalidModuleNames - printlog( "Try to give BASIC modules invalid names (which should fail)" ) + printlog( "Modulenames in BASIC Organizer" ) const MAX_WAIT = 2 const OK_BUTTON_ONLY = 1 @@ -150,7 +143,7 @@ endcase testcase tValidModuleNames - printlog( "Try using BASIC reserved names (and others) as module names (which should work)" ) + printlog( "Valid modulenames in BASIC Organizer: Names that are BASIC keywords" ) dim iCurrentName as Integer dim sModuleName as String @@ -192,22 +185,21 @@ function hHandleInvalidNameWarning( cTabName as string ) as boolean kontext "Active" if ( Active.exists( MAX_WAIT ) ) then - printlog( "Invalid name message displayed" ) - printlog( Active.getText() ) + printlog( "Invalid name message displayed" & Active.getText() ) hCloseDialog( Active, "ok" ) hHandleInvalidNameWarning() = true kontext "Active" if ( Active.exists( MAX_WAIT ) ) then - warnlog( "Unexpected messagebox displayed: " & Active.getText() ) + printlog( "Unexpected messagebox displayed: " & Active.getText() ) hHandleInvalidNameWarning() = false endif - kontext "basicide" + kontext "BasicIDE" tabbar.typekeys( "" , true ) else - warnlog( "Invalid name warning is missing" ) + printlog( "Invalid name warning not displayed" ) hHandleInvalidNameWarning() = false endif diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc index 41d55833b7ae..34b3311bd8bf 100755 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -329,20 +329,21 @@ function hRenameTab( cTabName as string ) as integer const RETVAL_NO_ACCESS = 2 const RETVAL_NO_MENU = 3 + dim sFullString as string : sFullString = "" & cTabName & "" + kontext "BasicIDE" if ( BasicIDE.exists() ) then try hRenameTab() = RETVAL_NO_MENU Tabbar.openContextMenu() hMenuSelectNr( MENUITEM_RENAME ) - WaitSlot( MAX_WAIT ) + Wait( MAX_WAIT ) ' At this point the string on the tab should be selected, print the ' string to the log and overwrite it with the new name hRenameTab() = RETVAL_NO_ACCESS - printlog( "Current modulename is: " & Tabbar.getSelText() ) - Tabbar.typeKeys( cTabName ) - Tabbar.typeKeys( "" ) + + Tabbar.typeKeys( sFullString , true ) hRenameTab() = RETVAL_SUCCESS catch warnlog( CFN & "Failed to rename the current module" ) @@ -812,3 +813,4 @@ function hIDESelectTabByIndex( iIndex as integer ) as string '///
                end function + diff --git a/testautomation/global/tools/includes/optional/t_macro_tools.inc b/testautomation/global/tools/includes/optional/t_macro_tools.inc index c9bc5f48fa78..18d5245e13f7 100755 --- a/testautomation/global/tools/includes/optional/t_macro_tools.inc +++ b/testautomation/global/tools/includes/optional/t_macro_tools.inc @@ -87,7 +87,7 @@ function hInsertMacroFromFile( cMacroId as string, optional cSource as string ) hInsertMacroFromFile() = RETVAL_FAILURE endif else - warnlog( CFN & "Editwindow is not visible" ) + printlog( CFN & "Editwindow is not visible" ) hInsertMacroFromFile() = RETVAL_FAILURE endif '///
              @@ -145,12 +145,19 @@ function hBasicIDERunMacro( cIdentifier as string ) as boolean kontext "BasicIDE" if ( BasicIDE.exists() ) then - BasicRun + Wait( 2000 ) + + kontext "MacroBar" + if ( MacroBar.exists() ) then + BasicRun.click() + else + warnlog( "MacroBar not accessible" ) + endif kontext "Active" if ( Active.exists( MAX_WAIT ) ) then cMessage = Active.getText() - hCloseDialog( Active, "close" ) + hCloseDialog( Active, "ok" ) endif if ( cMessage = cIdentifier ) then -- cgit From 8781a88cc3102ef42177cf9bd0ec7bcfcd553516 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 30 Apr 2010 02:39:45 +0200 Subject: vitomation01: #i111247 - Small fixes for stability --- testautomation/framework/optional/includes/basic_macros.inc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_macros.inc b/testautomation/framework/optional/includes/basic_macros.inc index 4717b66a9ad0..17e1b83d5e18 100755 --- a/testautomation/framework/optional/includes/basic_macros.inc +++ b/testautomation/framework/optional/includes/basic_macros.inc @@ -232,9 +232,8 @@ testcase tMakro_Dialog printlog( "Press 'OK' to append the library" ) kontext "appendlibraries" - if ( hClickButton( AppendLibraries ) = RC_TIMEOUT ) then - warnlog( "#i85254# Appending libraries failed" ) - endif + + hCloseDialog( AppendLibraries, "ok" ) printlog( "Check the number of libraries in list (should be two)" ) kontext "tabbibliotheken" @@ -256,10 +255,9 @@ testcase tMakro_Dialog printlog( "Set a password for " & REFERENCE_LIBRARY ) kontext "tabbibliotheken" - if ( Passwort.IsEnabled() ) then - Passwort.Click() + if ( hClickButton( Passwort ) <> RC_TIMEOUT ) then kontext "passwddlg" - PasswdDLG.Cancel() + hCloseDialog( PasswdDLG, "cancel" ) else warnlog( "Password is disabled for " & REFERENCE_LIBRARY ) endif -- cgit From be7ae951250ec7dbd1f9bf54f229814f18e76643 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 30 Apr 2010 03:45:45 +0200 Subject: vitomation01: #i111247 - Add missing includes --- testautomation/framework/optional/f_basic_issues.bas | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testautomation/framework/optional/f_basic_issues.bas b/testautomation/framework/optional/f_basic_issues.bas index 54f64bafe7db..57e94aa505e4 100755 --- a/testautomation/framework/optional/f_basic_issues.bas +++ b/testautomation/framework/optional/f_basic_issues.bas @@ -51,6 +51,8 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_basic_ide_tools.inc" use "global\tools\includes\optional\t_treelist_tools.inc" use "global\tools\includes\optional\t_macro_tools.inc" + use "global\tools\includes\optional\t_basic_organizer_tools.inc" + use "global\tools\includes\optional\t_docfuncs.inc" gApplication = "WRITER" call GetUseFiles() -- cgit From c054caae20b1008ad9da69519472fcf0d09a8e35 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 30 Apr 2010 04:20:04 +0200 Subject: vitomation01: #i111247 - Fixing glitches --- testautomation/framework/optional/f_basic_documents.bas | 1 + .../framework/optional/includes/basic_dialog_i18n_copy_control.inc | 7 ++++++- testautomation/framework/optional/includes/basic_usertemplate.inc | 1 + .../optional/includes/basic_vba-compat_import_disabled.inc | 1 + .../optional/includes/basic_vba-compat_import_enabled.inc | 1 + .../optional/includes/basic_vba-compat_import_nothing.inc | 1 + .../global/tools/includes/optional/t_basic_organizer_tools.inc | 2 +- 7 files changed, 12 insertions(+), 2 deletions(-) diff --git a/testautomation/framework/optional/f_basic_documents.bas b/testautomation/framework/optional/f_basic_documents.bas index 9572aac6e2dd..da5445442149 100755 --- a/testautomation/framework/optional/f_basic_documents.bas +++ b/testautomation/framework/optional/f_basic_documents.bas @@ -56,6 +56,7 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_accels.inc" use "global\tools\includes\optional\t_security_tools.inc" use "global\tools\includes\optional\t_listfuncs.inc" + use "global\tools\includes\optional\t_stringtools.inc gApplication = "WRITER" call GetUseFiles() diff --git a/testautomation/framework/optional/includes/basic_dialog_i18n_copy_control.inc b/testautomation/framework/optional/includes/basic_dialog_i18n_copy_control.inc index 8f7db31fed08..c3db79efc08d 100755 --- a/testautomation/framework/optional/includes/basic_dialog_i18n_copy_control.inc +++ b/testautomation/framework/optional/includes/basic_dialog_i18n_copy_control.inc @@ -62,9 +62,11 @@ testcase tBasicDialogI18nCopyControl printlog( "Test init: Setting up environment" ) if ( hInitFormControls( DIALOG_NAME ) ) then - + + printlog( "Draw a commandbutton on the dialog" ) hDrawControlOnDialog( COMMAND_BUTTON ) + printlog( "Open the property browser" ) hOpenPropertyBrowser() kontext "TabGeneralControl" printlog( "Get internal coordinates for the control" ) @@ -81,11 +83,13 @@ testcase tBasicDialogI18nCopyControl qaerrorlog( "#i80456# properties button not enabled when a formcontrol is inserted via keyboard" ) kontext "ToolsCollectionBar" + printlog( "Click " ) ManageLanguage.click() kontext "ManageUILanguages" if ( ManageUILanguages.exists( DEFAULT_TIMEOUT ) ) then + printlog( "Click " ) hClickButton( Add ) kontext "SetDefaultLanguage" @@ -101,6 +105,7 @@ testcase tBasicDialogI18nCopyControl kontext "ManageUILanguages" if ( ManageUILanguages.exists( DEFAULT_TIMEOUT ) ) then + printlog( "Click " ) hClickButton( Add ) kontext "AddUserInterface" diff --git a/testautomation/framework/optional/includes/basic_usertemplate.inc b/testautomation/framework/optional/includes/basic_usertemplate.inc index 9f8400c45f8b..275be2557abf 100755 --- a/testautomation/framework/optional/includes/basic_usertemplate.inc +++ b/testautomation/framework/optional/includes/basic_usertemplate.inc @@ -69,6 +69,7 @@ testcase tMacroUsertemplate ToolsMacro_uno printlog( "Search for the module" ) + kontext "Makro" iCurrentNode = hSelectNodeByName( MakroAus, "Module1" ) if ( iCurrentNode = 0 ) then warnlog( "#i73521# - The expected node could not be found. Aborting test" ) diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc index 5a82a6d87b2b..682045da8139 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_disabled.inc @@ -81,6 +81,7 @@ testcase tBasicVBACompatImportDisabled() ToolsMacro_uno printlog( "Expand all nodes" ) + kontext "Makro" cNodeCount = hExpandAllNodes( MakroAus ) printlog( "Verify that we have the correct node count for the current mode" ) diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc index bf1e24af9eda..243c31bb7fc5 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_enabled.inc @@ -85,6 +85,7 @@ testcase tBasicVBACompatImportEnabled() ToolsMacro_uno printlog( "Expand all nodes" ) + kontext "Makro" cNodeCount = hExpandAllNodes( MakroAus ) printlog( "Verify that we have the correct node count for the current mode." ) diff --git a/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc b/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc index f02644814ad0..d118b646c833 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_import_nothing.inc @@ -67,6 +67,7 @@ testcase tBasicVBACompatImportNothing() ToolsMacro_uno printlog( "Expand all nodes" ) + kontext "Makro" cNodeCount = hExpandAllNodes( MakroAus ) printlog( "Verify that we have the correct node count for the current mode" ) diff --git a/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc b/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc index 29bc681c2ce5..b813ee2bf706 100755 --- a/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_organizer_tools.inc @@ -229,7 +229,7 @@ function hDeleteLibrary( iLocation as integer, cLibName as string ) as boolean dim cCurrentObjectName as string '///+
            • Open Macro Organizer
            • - ToolsMakro_uno + ToolsMacro_uno '///+
            • Click Manage-button
            • Kontext "Makro" -- cgit From 47ece945a698bcb64f88cdc9c832df6b7957c49b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 30 Apr 2010 15:36:44 +0200 Subject: vitomation01: #i111282 - extended f_window_functions.bas to cover BASIC IDE, StartCenter and Database as well. Needed to get rid of fSplitWindowTitle (too complex and not flexible enough to do the job) and needed to build in some safeguard against hGetWindowCaption() which causes array out of bounds errors and modifies its function parameters. Removed QAErrorlog as the issue with the incorrect windowtitle of the StartCenter is never going to be fixed, printlog will do. --- .../framework/required/f_window_functions.bas | 3 + .../required/includes/window_functions.inc | 252 ++++++++++----------- .../global/tools/includes/optional/t_ole.inc | 2 +- .../global/tools/includes/required/t_menu.inc | 17 +- 4 files changed, 133 insertions(+), 141 deletions(-) mode change 100755 => 100644 testautomation/framework/required/includes/window_functions.inc diff --git a/testautomation/framework/required/f_window_functions.bas b/testautomation/framework/required/f_window_functions.bas index 2b6bd8e5a5ad..dabbd7647649 100755 --- a/testautomation/framework/required/f_window_functions.bas +++ b/testautomation/framework/required/f_window_functions.bas @@ -51,6 +51,9 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_docfuncs.inc" use "global\tools\includes\optional\t_filetools.inc" + use "global\tools\includes\optional\t_basic_ide_tools.inc" + use "global\tools\includes\optional\t_basic_organizer_tools.inc" + use "global\tools\includes\optional\t_treelist_tools.inc" gApplication = "WRITER" call GetUseFiles() diff --git a/testautomation/framework/required/includes/window_functions.inc b/testautomation/framework/required/includes/window_functions.inc old mode 100755 new mode 100644 index 6efeb70b0b6f..779ab3c0a8aa --- a/testautomation/framework/required/includes/window_functions.inc +++ b/testautomation/framework/required/includes/window_functions.inc @@ -40,17 +40,17 @@ testcase tWindowFunctions goto endsub endif - + printlog( "Create initial document" ) gApplication = "WRITER" hInitSingleDoc() hInitWriteDocIdentifier( "F_updt_windowfuncs.bas" ) - + printlog( "New document" ) hNewDocument() if ( getDocumentCount <> 2 ) then warnlog( "Two open documents were expected, found " & getDocumentCount ) - endif + endif kontext "DocumentWriter" printlog( "Close document" ) @@ -64,7 +64,7 @@ testcase tWindowFunctions hNewDocument() if ( getDocumentCount <> 2) then warnlog( "Two open documents were expected, found " & getDocumentCount ) - endif + endif printlog( "Enter some text into the second writer document" ) kontext "DocumentWriter" @@ -78,8 +78,8 @@ testcase tWindowFunctions else warnlog( "No warning that data will be lost on close of this document" ) endif - - kontext "DocumentWriter" + + kontext "DocumentWriter" if ( getDocumentCount = 2 ) then printlog( "Two documents open. Good." ) else @@ -89,21 +89,21 @@ testcase tWindowFunctions kontext "DocumentWriter" printlog( "Close the document" ) FileClose() - + kontext "Active" - if ( Active.exists() ) then + if ( Active.exists() ) then printlog( "Do not save the document" ) Active.No() else warnlog( "Warning: No data loss warning" ) endif - + kontext "DocumentWriter" if ( getDocumentCount = 1 ) then printlog( "One document open. Good." ) else warnlog( "Incorrect document count. Expected one, found " & getDocumentCount ) - endif + endif Kontext "DocumentWriter" printlog( "Minimize window" ) @@ -132,7 +132,7 @@ testcase tWindowFunctions printlog( "Maximize window" ) DocumentWriter.Maximize() Wait( 2000 ) - + kontext "DocumentWriter" if ( DocumentWriter.IsMax() ) then printlog( "Window is maximized" ) @@ -149,177 +149,157 @@ endcase sub sAllWindowTitle printlog( "Window titles for the applications: " & gProductName ) - + printlog( "Writer" ) gApplication = "WRITER" - call tCheckWindowTitle("swriter","Writer") + call tCheckWindowTitle( "swriter", "Writer" ) printlog( "Master Document" ) gApplication = "MASTERDOCUMENT" - call tCheckWindowTitle("sglobal","Writer") + call tCheckWindowTitle( "sglobal", "Writer" ) printlog( "HTML" ) gApplication = "HTML" - call tCheckWindowTitle("sweb","Writer/Web") + call tCheckWindowTitle( "sweb", "Writer/Web" ) printlog( "Spreadsheet" ) gApplication = "CALC" - call tCheckWindowTitle("scalc","Calc") + call tCheckWindowTitle( "scalc", "Calc" ) printlog( "Presentation" ) gApplication = "IMPRESS" - call tCheckWindowTitle("simpress","Impress") + call tCheckWindowTitle( "simpress", "Impress" ) printlog( "Drawing" ) gApplication = "DRAW" - call tCheckWindowTitle("sdraw","Draw") + call tCheckWindowTitle( "sdraw", "Draw" ) printlog( "Formula" ) gApplication = "MATH" - call tCheckWindowTitle("smath","Math") + call tCheckWindowTitle( "smath", "Math" ) - qaerrorlog( "Excluded BASE and BACKINGWINDOW" ) + printlog( "BASIC IDE" ) + gApplication = "WRITER" + call tCheckWindowTitle( "basic", "Basic" ) - 'gApplication = "DATABASE" - 'call tCheckWindowTitle("DATABASE","Base") + printlog( "Database" ) + gApplication = "DATABASE" + call tCheckWindowTitle( "database", "Base" ) - 'fileclose - 'call tCheckWindowTitle("soffice","") + printlog( "Backing Window / StartCenter" ) + gApplication = "BACKGROUND" + call tCheckWindowTitle( "soffice", "" ) end sub '******************************************************************************* -testcase tCheckWindowTitle(sApplication as string, sReference as string) +testcase tCheckWindowTitle( sApplication as string, sReference as string ) printlog( "Update test for the office window titles" ) - 'Input: - '
                - '+
              1. Name of application (string), case sensitive. Valid options are:
              2. - '
                  - '+
                1. "swriter"
                2. - '+
                3. "sglobal"
                4. - '+
                5. "sweb"
                6. - '+
                7. "scalc"
                8. - '+
                9. "simpress"
                10. - '+
                11. "sdraw"
                12. - '+
                13. "smath"
                14. - '+
                15. "insight" * Currently disabled
                16. - '+
                17. "soffice" * Currently disabled
                18. - '
                - '+
              3. Reference name (string), matches name of application
              4. - '
                  - '+
                1. "Writer"
                2. - '+
                3. "Writer/Web"
                4. - '+
                5. "Calc"
                6. - '+
                7. "Impress"
                8. - '+
                9. "Draw"
                10. - '+
                11. "Math"
                12. - '+
                13. "Base" * Currently disabled
                14. - '+
                15. "" * Currently disabled
                16. - '
                - '
              - 'Returns: - '
                - '+
              1. Nothing
              2. - '
              - 'Description: - '
                - - - dim sTemp as string - dim saTemp() as string - dim brc as boolean - gApplication = gApplication - printlog " - Application: " + sApplication + "; Title should be: " + sReference - - printlog( "Ensure that exactly one document is open" ) - hInitSingleDoc() - printlog( "Open another document as specified by gApplication" ) + const BASIC_MODULE = "tCheckWindowTitle" + const STRING_NOT_FOUND = 0 + const STRING_LEFTMOST = 1 + + dim cWindowCaption as string + + dim iProductnamePosition as integer + dim iApplicationPosition as integer + + dim cProductNameString as string + dim cApplicationString as string + + ' hGetWindowCaption modifies it's function parameter, so we pass a copy instead + ' This is a thing that justifies the use of a four letter word for sure. + dim sApplicationTemp as string : sApplicationTemp = sApplication + + printlog( "Application: " & sApplication & "; Title should be: " & sReference ) + printlog( "Open the work windows (documents)" ) + hInitSingleDoc() hCreateDocument() printlog( "Verify that the correct window is open" ) select case sApplication - case"swriter": - case"sglobal": - case"sweb": - case"scalc": - case"simpress": - case"sdraw": - case"smath": - case"basic": - ToolsMacroMacro - kontext "makro" - if Makro.exists(5) then - MakroAus.typeKeys "" - if (Neu.isEnabled) then - Neu.click - kontext "basicide" - if BasicIDE.exists(5) then - printlog( "Basic IDE open. Good." ) - else - warnlog( "Basic IDE not open. This is unexpected" ) - endif - else - warnlog( "New-button is unexpectedly disabled." ) - endif - try - kontext "neuesmodul" - if NeuesModul.exists(5) then - NeuesModul.OK - else - warnlog( "New module naming dialog is not open" ) - endif - catch - warnlog( "Accessing dialog failed" ) - endcatch - else - warnlog( "Couldn't open Tools->Macros->Organize Macros...->StarOffice Basic..." ) - endif - case"chart": - case"DATABASE": - case"soffice": - brc = hDestroyDocument() + case "swriter" : + case "sglobal" : + case "sweb" : + case "scalc" : + case "simpress": + case "sdraw" : + case "smath" : + case "basic" : hInitBasicIDE( BASIC_MODULE ) + case "chart" : + case "database": + case "soffice" : hFileCloseAll() end select - printlog( "Retrieve the caption from the window" ) - sTemp = hGetWindowCaption(sApplication) - printlog( "Caption is: " & sTemp ) - - printlog( "Split up the string to isolate the desired part" ) - saTemp() = fSplitWindowTitle(sTemp) - printlog "Filename/Untitled: '" & saTemp(0) & "'" - - printlog( "Compare the string to a reference" ) - if (ubound(saTemp()) > 0) then - if (saTemp(1) <> sReference) then - warnlog "Applicationname not as expected. Should be: '" & sReference & "', is: '" & saTemp(1) & "'" + ' Note: The Testtool connection string does not belong to the window caption + ' so we do not check for it here. + cWindowCaption = hGetWindowCaption( sApplicationTemp ) + printlog( "Caption is: " & cWindowCaption ) + + ' This prevents accidential matches like "base" in a document name like "database8.odb" + ' And we have a - (minus) as delimiter between the document name and the product name + cProductnameString = " - " & gProductName & " " + cApplicationString = " " & sReference + + ' Find out where in the caption the substrings are + iProductNamePosition = instr( cWindowCaption, cProductnameString ) + iApplicationPosition = instr( cWindowCaption, cApplicationString ) + + ' Verify that the productname is contained within the string + if ( iProductNamePosition = STRING_NOT_FOUND ) then + warnlog( "The product name is missing" ) + endif + + ' Verify that the application name (e.g. "Writer") is contained in the string + ' The StartCenter should not have any application name + if ( sApplication = "soffice" ) then + if ( iApplicationPosition > STRING_NOT_FOUND ) then + printlog( "The StartCenter should not have an application name" ) endif - printlog "Productname: '" + saTemp(2) + "'" else - warnlog "#i36173# - Applicationname not as expected. Should be: '" & sReference & "', is: '" & saTemp(1) + "'" + if ( iApplicationPosition = STRING_NOT_FOUND ) then + warnlog( "The application name is missing" ) + endif + endif + + if ( sApplication = "soffice" ) then + printlog( "Backing window should exclusively show the product name" ) + else + ' If one of Productname or application is leftmost in the string, we have a + ' missing document identifier. This can be different things - the filename, + ' the module name (BASIC) etc. + if ( ( iApplicationPosition = STRING_LEFTMOST ) OR _ + iProductnamePosition = STRING_LEFTMOST ) then + warnlog( "Current document identifier missing (like e.g. )" ) + endif + + ' Verify that the order is correct: Product name first, the application + if ( iProductNamePosition >= iApplicationPosition ) then + warnlog( "The order of the strings is incorrect" ) + printlog( "Expected: " ) + endif endif printlog( "Cleanup after test" ) select case sApplication - case"swriter": - case"sglobal": - case"sweb": - case"scalc": - case"simpress": - case"sdraw": - case"smath": - case"basic": - brc = hDestroyDocument() - case"chart": - case"DATABASE": - case"soffice": - hCreateDocument() - hCreateDocument() + case "swriter" : + case "sglobal" : + case "sweb" : + case "scalc" : + case "simpress": + case "sdraw" : + case "smath" : + case "basic" : hDestroyDocument() + case "chart" : + case "database": + case "soffice" : hCreateDocument() end select printlog( "Close all open documents" ) hFileCloseAll() + endcase diff --git a/testautomation/global/tools/includes/optional/t_ole.inc b/testautomation/global/tools/includes/optional/t_ole.inc index f31798c37bbc..0ea179822cd2 100755 --- a/testautomation/global/tools/includes/optional/t_ole.inc +++ b/testautomation/global/tools/includes/optional/t_ole.inc @@ -73,7 +73,7 @@ function hGetOleObjectName( cApplication as string ) as string ' The application names for the API are case sensitive so we cannot use gApplication select case ( cApplication ) - case "WRITER" : Application_API_Name = "Writer + case "WRITER" : Application_API_Name = "Writer" case "CALC" : Application_API_Name = "Calc" case "IMPRESS": Application_API_Name = "Impress" case "DRAW" : Application_API_Name = "Draw" diff --git a/testautomation/global/tools/includes/required/t_menu.inc b/testautomation/global/tools/includes/required/t_menu.inc index f78e2239e943..a7c64b37865d 100755 --- a/testautomation/global/tools/includes/required/t_menu.inc +++ b/testautomation/global/tools/includes/required/t_menu.inc @@ -687,19 +687,22 @@ end function '******************************************************************************* -function hGetWindowCaption(sApplication as string, optional bAll as boolean) +function hGetWindowCaption( sApplication as string, optional bAll as boolean ) '/// function hGetWindowCaption () ///' '///+ just returns the string from the application main window ///' '///+ If optional parameter = true, thenn go throught all applications and get caption; return array ///' + ' BEWARE: THIS FUNCTION MODIFIES ITS FUNCTION PARAMETER UNDER CERTAIN + ' CONDITIONS! + dim sTemp as string dim aApplication() as string dim aTemp(10) as string dim iTimes as integer dim i as integer - aApplication = array("SWRITER","SGLOBAL","SWEB","SCALC","SDRAW","SIMPRESS","SMATH","BASIC","BACK") + aApplication = array("SWRITER","SGLOBAL","SWEB","SCALC","SDRAW","SIMPRESS","SMATH","BASIC","DATABASE","SOFFICE") if (isMissing(bAll) OR (NOT bAll)) then iTimes = 0 else @@ -756,7 +759,13 @@ function hGetWindowCaption(sApplication as string, optional bAll as boolean) sTemp = BasicIDE.caption catch endcatch - Case "BACK" + Case "DATABASE" + Kontext "DATABASE" + try + sTemp = DataBase.caption + catch + endcatch + Case "SOFFICE" Kontext "DocumentBackground" try sTemp = DocumentBackground.caption @@ -782,7 +791,7 @@ end function '******************************************************************************* -function fSplitWindowTitle(sInString as string) +function fSplitWindowTitle( sInString as string ) dim a, b, x, i, iProductname as integer dim sTemp() as string -- cgit From 95aad7fac69d3ab1434931a0285e6e59ae658d82 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 3 May 2010 09:08:02 +0200 Subject: vitomation01: #i109562 - Code compression and simplification --- .../framework/optional/includes/extras_labels.inc | 56 ++++++++-------- .../global/tools/includes/optional/t_listfuncs.inc | 75 ++++++---------------- 2 files changed, 44 insertions(+), 87 deletions(-) diff --git a/testautomation/framework/optional/includes/extras_labels.inc b/testautomation/framework/optional/includes/extras_labels.inc index b6a05e6e6a1d..27e2ae8dced7 100755 --- a/testautomation/framework/optional/includes/extras_labels.inc +++ b/testautomation/framework/optional/includes/extras_labels.inc @@ -33,38 +33,36 @@ testcase tLabelTypes() + printlog( "Verify presence of labels and brands" ) + + ' If you want to use this test for other languages, remove the following + ' if() block and create the reference files by running this test once. + ' Follow the instructions emitted by hManagaComparisionList() from the log. + if ( gIsoLang <> "en-US" ) then printlog( "No testing for non-en_US languages" ) goto endsub endif + const NO_DELTA = 0 + const MAX_LABEL_COUNT = 1600 + const RELATIVE_PATH = "framework\optional\input\extras_formats\" dim iBrandCount as integer dim iCurrentBrand as integer dim cBrandName as string - - dim iTypeCount as integer - dim iCurrentType as integer - dim cTypeName as string - + dim iCurrentType as integer dim cBrandType as string - dim al_UI_Labels( 1600 ) as string - al_UI_Labels( 0 ) = "0" + dim al_UI_Labels( MAX_LABEL_COUNT ) as string : al_UI_Labels( 0 ) = "0" dim irc as integer - dim sFile as string - sFile = "Labels_" & gISOLang & ".txt" - - dim sFileIn as string - sFileIn = gTesttoolPath & "framework\optional\input\extras_formats\" & sFile - sFileIn = convertpath( sFileIn ) - - dim sFileOut as string - sFileOut = hGetWorkPath() & sFile + dim sFile as string : sFile = "Labels_" & gISOLang & ".txt" + dim sFileIn as string : sFileIn = convertpath( gTesttoolPath & RELATIVE_PATH & sFile ) + dim sFileOut as string : sFileOut = hGetWorkPath() & sFile - + printlog( "Open labels dialog, retrieve all label names" ) hCreateLabels() kontext @@ -75,29 +73,25 @@ testcase tLabelTypes() iBrandCount = Marke.getItemCount() for iCurrentBrand = 1 to iBrandCount - + Marke.select( iCurrentBrand ) - cBrandName = Marke.getSelText() - - iTypeCount = Typ.getItemCount() - - for iCurrentType = 1 to iTypeCount - + + for iCurrentType = 1 to Typ.getItemCount() + Typ.select( iCurrentType ) - - cTypeName = Typ.getSelText() - - cBrandType = cBrandName & ":" & cTypeName + cBrandType = cBrandName & ":" & Typ.getSelText() ListAppend( al_UI_Labels() , cBrandType ) - + next iCurrentType - + next iCurrentBrand + printlog( "Close labels dialog" ) TabEtiketten.Cancel() + printlog( "Compare to reference (or create new reference, if none found)" ) irc = hManageComparisionList( sFileIn, sFileOut, al_UI_Labels() ) - hListResultEvaluation( irc , 0 ) + hListResultEvaluation( irc , NO_DELTA ) endcase diff --git a/testautomation/global/tools/includes/optional/t_listfuncs.inc b/testautomation/global/tools/includes/optional/t_listfuncs.inc index e68c67511ff0..b525473641bd 100755 --- a/testautomation/global/tools/includes/optional/t_listfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_listfuncs.inc @@ -46,44 +46,25 @@ function hListDelete( aList() as string, iItemToDelete as integer ) as boolean '///+ runtime error. 3) Means that arrays may only have an upper boundary '///+ declared, all loops must start with index array(1) and must end with '///+ index array(val( array(0))
                - '///Review the code, it has many unused variables - '///
                  const CFN = "hListDelete::" - - dim iArraySize as integer ' The size of the array, must be large enough - dim iListSizeOld as integer ' The size of the list before deletion - dim iListSizeNew as integer ' The size of the list after deletion + const INDEX_CORRECTION = 1 dim iCurrentItem as integer ' Increment-Variable - dim iOffset as integer ' First item to be "moved down" by index - dim sItemToDelete as string ' The string that will be deleted - dim brc as boolean ' preliminary return value - - '///+
                • Get some data from the arrays to work with.
                • - iArraySize = ubound( aList() ) - iListSizeOld = ListCount( aList() ) - iListSizeNew = iListSizeOld - 1 - sItemToDelete = aList( iItemToDelete ) - iOffset = iItemToDelete + 1 - ' some output (may be removed as soon the function is thoroughly tested) - 'printlog( CFN & "Removing: " & sItemToDelete & " at pos " & iItemToDelete ) + if ( GVERBOSE ) then + printlog( CFN & "Removing: " & aList( iItemToDelete ) & " at pos " & iItemToDelete ) + endif ' Move all items down by one in the list beginning with the item after ' iItemToDelete - '///+
                • Move all items one up
                • - for iCurrentItem = iOffset to iListSizeOld - aList( iCurrentItem - 1 ) = aList( iCurrentItem ) + for iCurrentItem = ( iItemToDelete + INDEX_CORRECTION ) to ListCount( aList() ) + aList( iCurrentItem - INDEX_CORRECTION ) = aList( iCurrentItem ) next iCurrentItem ' Delete the last entry, it is no longer used and it is duplicate to the item ' at iListSizeOld-1 (iListSizeNew) - '///+
                • Delete the last item from the list
                • - aList( iListSizeOld ) = "" - - '///+
                • Set the new listsize (one smaller than the original list)
                • - aList( 0 ) = iListSizeNew - '///
                + aList( iCurrentItem ) = "" + aList( 0 ) = iCurrentItem - INDEX_CORRECTION end function @@ -106,6 +87,7 @@ function hListAppend( sNewString as string, aTargetList() as string ) as integer '///+ index array(val( array(0))
                const CFN = "hListAppend::" + const RC_ARRAY_TOO_SMALL = -1 dim iCurrentListSize as integer dim iNewListSize as integer @@ -120,15 +102,13 @@ function hListAppend( sNewString as string, aTargetList() as string ) as integer warnlog ( CFN & "Cannot append, array too small" ) printlog( CFN & "Array-Size.....: " & iArraySize ) printlog( CFN & "Requested index: " & iNewListSize ) - irc = -1 + hListAppend() = RC_ARRAY_TOO_SMALL else aTargetList( iNewListSize ) = sNewString aTargetList( 0 ) = iNewListSize - irc = iNewListSize + hListAppend() = iNewListSize endif - hListAppend() = irc - end function '******************************************************************************* @@ -237,7 +217,6 @@ function hListCompare( aListOne() as String, aListTwo() as String ) as integer dim iListOneSize as integer dim bFound as boolean - dim irc as integer : irc = 0 '///+
              • Create a copy of list two so we do not change the original list
              • ListCopy( aListTwo() , aTwoOnlyList() ) @@ -280,17 +259,16 @@ function hListCompare( aListOne() as String, aListTwo() as String ) as integer if ( ListCount( aOneOnlyList() ) > 0 ) then printlog( CFN & "Objects have been added to the list" ) hListPrint( aOneOnlyList() , "Items found in list ONE only (NEW)" ) - irc = ListCount( aOneOnlyList() ) + hListCompare() = ListCount( aOneOnlyList() ) end if '///+
              • List all items that exist in List Two only
              • if ( ListCount( aTwoOnlyList() ) > 0 ) then printlog( CFN & "Objects have been removed from the list" ) hListPrint( aTwoOnlyList() , "Items found in list TWO only (MISSING)" ) - irc = ListCount( aOneOnlyList() ) * -1 + hListCompare() = ListCount( aOneOnlyList() ) * -1 end if - hListCompare() = irc '///
              end function @@ -335,9 +313,7 @@ function hListPrependString( aList() as string, cString as string ) as boolean '///+
            • Cycle through the list and insert a text infront of each item
            • for iCurrentItem = 1 to listcount( aList() ) - aList( iCurrentItem ) = cString & " : " & aList( iCurrentItem ) - next iCurrentItem hListPrependString() = true @@ -439,33 +415,20 @@ function hCountMatchesInList( acItemList() as string, cSearchTerm as string ) as '/// const CFN = "hCountMatchesInList::" - printlog( CFN & "Enter" ) - dim iHitCount as integer - dim iItemCount as integer dim iCurrentItem as integer - '///Description: - '///
                - '///+
              • Retrieve the number of items in the list
              • - iItemCount = ListCount( acItemList() ) - - '///+
              • Walk through the list and count the hits
              • - printlog( CFN & "Begin with term: " & cSearchTerm ) - for iCurrentItem = 1 to iItemCount - - printlog( acItemList( iCurrentItem ) ) - + if ( GVERBOSE ) then printlog( CFN & "Begin with term: " & cSearchTerm ) + + for iCurrentItem = 1 to ListCount( acItemList() ) + if ( GVERBOSE ) then printlog( acItemList( iCurrentItem ) ) + if ( instr( acItemList( iCurrentItem ), cSearchTerm ) > 0 ) then iHitCount = iHitCount + 1 endif - next iCurrentItem - printlog( CFN & "End" ) - '///
              - - printlog( CFN & "Exit with result: " & iHitCount ) +if ( GVERBOSE ) then printlog( CFN & "Exit with result: " & iHitCount ) hCountMatchesInList() = iHitCount end function -- cgit From 241880303c108b115be03b97dc25b47ac7070698 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Mon, 3 May 2010 09:08:38 +0200 Subject: cws tl78: build issues after merging with DEV300_m77 --- comphelper/source/misc/docpasswordrequest.cxx | 2 +- vcl/inc/vcl/abstdlg.hxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/comphelper/source/misc/docpasswordrequest.cxx b/comphelper/source/misc/docpasswordrequest.cxx index 585868822c18..5d1c58145963 100644 --- a/comphelper/source/misc/docpasswordrequest.cxx +++ b/comphelper/source/misc/docpasswordrequest.cxx @@ -71,7 +71,7 @@ private: class PasswordContinuation : public ::cppu::WeakImplHelper1< XInteractionPassword2 > { public: - inline explicit PasswordContinuation() : mbSelected( sal_False ), mbReadOnly( sal_False ) {} + inline explicit PasswordContinuation() : mbReadOnly( sal_False ), mbSelected( sal_False ) {} inline sal_Bool isSelected() const { return mbSelected; } inline void reset() { mbSelected = sal_False; } diff --git a/vcl/inc/vcl/abstdlg.hxx b/vcl/inc/vcl/abstdlg.hxx index 8f23a73f6014..86bee942899e 100755 --- a/vcl/inc/vcl/abstdlg.hxx +++ b/vcl/inc/vcl/abstdlg.hxx @@ -66,7 +66,7 @@ public: virtual void Sync() = 0; }; -class AbstractPasswordToOpenModifyDialog : public VclAbstractDialog +class VCL_DLLPUBLIC AbstractPasswordToOpenModifyDialog : public VclAbstractDialog { public: virtual String GetPasswordToOpen() const = 0; -- cgit From 2005bc7b8b04f6eaa3d4636a3a1df1d6ff02f550 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Mon, 3 May 2010 09:08:38 +0200 Subject: cws tl78: build issues after merging with DEV300_m77 --- sfx2/source/view/viewfrm.cxx | 4 +--- uui/prj/build.lst | 2 +- uui/source/iahndl-authentication.cxx | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index aedd383b042a..c8cf7bd8c6c8 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -82,6 +82,7 @@ #include #include #include +#include #include #include @@ -183,9 +184,6 @@ static sal_Bool AskPasswordToModify_Impl( const uno::Reference< task::XInteracti while ( !bResult && !bCancel ) { sal_Bool bMSType = !pFilter->IsOwnFormat(); - ::comphelper::DocPasswordRequestType nType = bMSType ? - ::comphelper::DocPasswordRequestType_MS : - ::comphelper::DocPasswordRequestType_STANDARD; ::rtl::Reference< ::comphelper::DocPasswordRequest > pPasswordRequest( new ::comphelper::DocPasswordRequest( diff --git a/uui/prj/build.lst b/uui/prj/build.lst index 0ebacfcb814f..dbe31cb1b57e 100644 --- a/uui/prj/build.lst +++ b/uui/prj/build.lst @@ -1,4 +1,4 @@ -uu uui : l10n svtools NULL +uu uui : l10n vcl svtools NULL uu uui usr1 - all uu_mkout NULL uu uui\source nmake - all uu_source NULL uu uui\util nmake - all uu_util uu_source NULL diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx index 7103fee29510..a84b1442a4ce 100755 --- a/uui/source/iahndl-authentication.cxx +++ b/uui/source/iahndl-authentication.cxx @@ -428,8 +428,8 @@ executePasswordDialog( const sal_uInt16 nMaxPasswdLen = bMSCryptoMode ? 15 : 0; // 0 -> allow any length VclAbstractDialogFactory * pFact = VclAbstractDialogFactory::Create(); - std::auto_ptr< AbstractPasswordToOpenModifyDialog > pDialog( - pFact->CreatePasswordToOpenModifyDialog( pParent, 0, nMaxPasswdLen ) ); + AbstractPasswordToOpenModifyDialog *pTmp = pFact->CreatePasswordToOpenModifyDialog( pParent, 0, nMaxPasswdLen ); + std::auto_ptr< AbstractPasswordToOpenModifyDialog > pDialog( pTmp ); rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL ); rInfo.SetPassword( pDialog->GetPasswordToOpen() ); -- cgit From 785cdceeee76f04cb5d14e8cc4835fbb3389c520 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 3 May 2010 11:30:13 +0200 Subject: vitomation01: #i109562 - Need to ucase cApplication as the all-caps rule does only apply to gApplication. --- testautomation/global/tools/includes/optional/t_ole.inc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/optional/t_ole.inc b/testautomation/global/tools/includes/optional/t_ole.inc index 0ea179822cd2..63c55705add9 100755 --- a/testautomation/global/tools/includes/optional/t_ole.inc +++ b/testautomation/global/tools/includes/optional/t_ole.inc @@ -33,6 +33,10 @@ function hGetOfficeVersion() as string + ' The "Insert OLE object" dialog lists the OLE Objects with application name + ' and version number. THe version numbers are tracked in the officeinfo.txt + ' file which must be adjusted each time we change to a new major version. + const CFN = "global::tools::includes::optional::t_ole.inc::hGetOfficeVersion(): " const DATAFILE = "global/input/officeinfo.txt" const MAX_LINES_IN_DATAFILE = 20 @@ -72,7 +76,7 @@ function hGetOleObjectName( cApplication as string ) as string const CFN = "global::tools::includes::optional::t_ole.inc::hGetOleObjectName(): " ' The application names for the API are case sensitive so we cannot use gApplication - select case ( cApplication ) + select case ( ucase( cApplication ) ) case "WRITER" : Application_API_Name = "Writer" case "CALC" : Application_API_Name = "Calc" case "IMPRESS": Application_API_Name = "Impress" -- cgit From 86e2dc0dcb9d79f1267dbd88d68bba6da3de871e Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 3 May 2010 11:51:05 +0200 Subject: jl152 import 263452 from native0jl:#i77196# fixed bundled extension help tree view, scripts in shared extensions... --- basic/source/inc/namecont.hxx | 14 +- basic/source/uno/namecont.cxx | 16 +- .../registry/component/dp_compbackenddb.cxx | 93 ++----- .../registry/component/dp_compbackenddb.hxx | 3 +- .../source/deployment/registry/dp_backenddb.cxx | 308 ++++++++++++++++++--- .../registry/executable/dp_executablebackenddb.cxx | 89 +----- .../registry/executable/dp_executablebackenddb.hxx | 18 +- .../deployment/registry/help/dp_helpbackenddb.cxx | 76 ++--- .../deployment/registry/help/dp_helpbackenddb.hxx | 7 +- .../deployment/registry/inc/dp_backenddb.hxx | 35 +++ .../registry/package/dp_extbackenddb.cxx | 65 ++--- .../registry/package/dp_extbackenddb.hxx | 3 +- .../deployment/registry/script/dp_script.cxx | 254 ++++++++--------- .../registry/script/dp_scriptbackenddb.cxx | 88 ++++++ .../registry/script/dp_scriptbackenddb.hxx | 76 +++++ .../source/deployment/registry/script/makefile.mk | 3 +- .../framework/container/UnoPkgContainer.java | 20 +- .../script/framework/provider/ScriptProvider.java | 18 +- scripting/source/provider/ActiveMSPList.cxx | 7 + scripting/source/provider/ActiveMSPList.hxx | 1 + xmlhelp/source/cxxhelp/provider/databases.cxx | 3 +- xmlhelp/source/treeview/tvread.cxx | 47 +++- xmlhelp/source/treeview/tvread.hxx | 9 + 23 files changed, 796 insertions(+), 457 deletions(-) create mode 100644 desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx create mode 100644 desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx diff --git a/basic/source/inc/namecont.hxx b/basic/source/inc/namecont.hxx index 2d24759d9b83..7cd2de701634 100644 --- a/basic/source/inc/namecont.hxx +++ b/basic/source/inc/namecont.hxx @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -57,7 +58,7 @@ #include #include -#include +#include #include class BasicManager; @@ -65,11 +66,12 @@ class BasicManager; namespace basic { -typedef ::cppu::WeakComponentImplHelper6< +typedef ::cppu::WeakComponentImplHelper7< ::com::sun::star::lang::XInitialization, ::com::sun::star::script::XStorageBasedLibraryContainer, ::com::sun::star::script::XLibraryContainerPassword, ::com::sun::star::script::XLibraryContainerExport, + ::com::sun::star::script::XLibraryContainer3, ::com::sun::star::container::XContainer, ::com::sun::star::lang::XServiceInfo > LibraryContainerHelper; @@ -405,6 +407,12 @@ public: virtual ::rtl::OUString SAL_CALL getContainerLocationName() throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL storeLibraries( ) throw (::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + //Methods XLibraryContainer3 + virtual ::rtl::OUString SAL_CALL getOriginalLibraryLinkURL( const ::rtl::OUString& Name ) + throw (::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::container::NoSuchElementException, + ::com::sun::star::uno::RuntimeException); + // Methods XLibraryContainer2 (base of XPersistentLibraryContainer) virtual sal_Bool SAL_CALL isLibraryLink( const ::rtl::OUString& Name ) throw (::com::sun::star::container::NoSuchElementException, @@ -541,6 +549,8 @@ private: ::rtl::OUString maLibInfoFileURL; ::rtl::OUString maStorageURL; ::rtl::OUString maUnexpandedStorageURL; + ::rtl::OUString maOrignialStorageURL; + sal_Bool mbLink; sal_Bool mbReadOnly; sal_Bool mbReadOnlyLink; diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx index 7a6a771f85cc..e357b0e85f91 100644 --- a/basic/source/uno/namecont.cxx +++ b/basic/source/uno/namecont.cxx @@ -2169,6 +2169,7 @@ Reference< XNameAccess > SAL_CALL SfxLibraryContainer::createLibraryLink SfxLibrary* pNewLib = implCreateLibraryLink( Name, aLibInfoFileURL, aLibDirURL, ReadOnly ); pNewLib->maLibElementFileExtension = maLibElementFileExtension; pNewLib->maUnexpandedStorageURL = aUnexpandedStorageURL; + pNewLib->maOrignialStorageURL = StorageURL; OUString aInitFileName; uno::Reference< embed::XStorage > xDummyStor; @@ -2788,6 +2789,19 @@ OUString SfxLibraryContainer::expand_url( const OUString& url ) } } +//XLibraryContainer3 +OUString SAL_CALL SfxLibraryContainer::getOriginalLibraryLinkURL( const OUString& Name ) + throw (IllegalArgumentException, NoSuchElementException, RuntimeException) +{ + LibraryContainerMethodGuard aGuard( *this ); + SfxLibrary* pImplLib = getImplLib( Name ); + sal_Bool bLink = pImplLib->mbLink; + if( !bLink ) + throw IllegalArgumentException(); + OUString aRetStr = pImplLib->maOrignialStorageURL; + return aRetStr; +} + // Methods XServiceInfo ::sal_Bool SAL_CALL SfxLibraryContainer::supportsService( const ::rtl::OUString& _rServiceName ) throw (RuntimeException) @@ -3381,7 +3395,7 @@ Reference< deployment::XPackage > ScriptExtensionIterator::implGetNextSharedScri if( m_iSharedPackage == m_aSharedPackagesSeq.getLength() ) { - m_eState = END_REACHED; + m_eState = BUNDLED_EXTENSIONS; } else { diff --git a/desktop/source/deployment/registry/component/dp_compbackenddb.cxx b/desktop/source/deployment/registry/component/dp_compbackenddb.cxx index 568ecca08138..898e7c931f6d 100644 --- a/desktop/source/deployment/registry/component/dp_compbackenddb.cxx +++ b/desktop/source/deployment/registry/component/dp_compbackenddb.cxx @@ -46,6 +46,7 @@ using ::rtl::OUString; #define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/component-registry/2010" #define NS_PREFIX "comp" #define ROOT_ELEMENT_NAME "component-backend-db" +#define KEY_ELEMENT_NAME "component" namespace dp_registry { namespace backend { @@ -73,54 +74,31 @@ OUString ComponentBackendDb::getRootElementName() return OUSTR(ROOT_ELEMENT_NAME); } +OUString ComponentBackendDb::getKeyElementName() +{ + return OUSTR(KEY_ELEMENT_NAME); +} + void ComponentBackendDb::addEntry(::rtl::OUString const & url, Data const & data) { try{ - const OUString sNameSpace = getDbNSName(); - const OUString sPrefix = getNSPrefix(); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - -#if OSL_DEBUG_LEVEL > 0 - //There must not be yet an entry with the same url - OUString sExpression( - sPrefix + OUSTR(":component[@url = \"") + url + OUSTR("\"]")); - Reference _extensionNode = - getXPathAPI()->selectSingleNode(root, sExpression); - OSL_ASSERT(! _extensionNode.is()); -#endif - Reference componentElement( - doc->createElementNS(sNameSpace, sPrefix + OUSTR(":component"))); - - componentElement->setAttribute(OUSTR("url"), url); - - Reference componentNode( - componentElement, UNO_QUERY_THROW); - - root->appendChild(componentNode); - - Reference javaTypeLibNode( - doc->createElementNS(sNameSpace, sPrefix + OUSTR(":java-type-library")), UNO_QUERY_THROW); - - componentNode->appendChild(javaTypeLibNode); - - Reference javaTypeLibValueNode( - doc->createTextNode(OUString::valueOf((sal_Bool) data.javaTypeLibrary)), - UNO_QUERY_THROW); - javaTypeLibNode->appendChild(javaTypeLibValueNode); + Reference componentNode = writeKeyElement(url); + writeSimpleElement(OUSTR("java-type-library"), + OUString::valueOf((sal_Bool) data.javaTypeLibrary), + componentNode); writeSimpleList( data.implementationNames, - sPrefix + OUSTR(":implementation-names"), - sPrefix + OUSTR(":name"), + OUSTR("implementation-names"), + OUSTR("name"), componentNode); writeVectorOfPair( data.singletons, - sPrefix + OUSTR(":singletons"), - sPrefix + OUSTR(":item"), - sPrefix + OUSTR(":key"), - sPrefix + OUSTR(":value"), + OUSTR("singletons"), + OUSTR("item"), + OUSTR("key"), + OUSTR("value"), componentNode); save(); @@ -134,50 +112,31 @@ void ComponentBackendDb::addEntry(::rtl::OUString const & url, Data const & data } } -void ComponentBackendDb::removeEntry(::rtl::OUString const & url) -{ - OUString sExpression( - OUSTR(NS_PREFIX) + OUSTR(":component[@url = \"") + url + OUSTR("\"]")); - removeElement(sExpression); -} - ComponentBackendDb::Data ComponentBackendDb::getEntry(::rtl::OUString const & url) { try { - const OUString sPrefix = getNSPrefix(); ComponentBackendDb::Data retData; - const OUString sExpression( - sPrefix + OUSTR(":component[@url = \"") + url + OUSTR("\"]")); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - - Reference xpathApi = getXPathAPI(); - //find the extension element that is to be removed - Reference aNode = - xpathApi->selectSingleNode(root, sExpression); + Reference aNode = getKeyElement(url); if (aNode.is()) { - const OUString sExprJavaTypeLib(sPrefix + OUSTR(":java-type-library/text()")); - - Reference idValueNode = - xpathApi->selectSingleNode(aNode, sExprJavaTypeLib); - retData.javaTypeLibrary = - idValueNode->getNodeValue().equals(OUSTR("true")) ? true : false; + bool bJava = readSimpleElement(OUSTR("java-type-library"), aNode) + .equals(OUSTR("true")) ? true : false; + retData.javaTypeLibrary = bJava; retData.implementationNames = readList( aNode, - sPrefix + OUSTR(":implementation-names"), - sPrefix + OUSTR(":name")); + OUSTR("implementation-names"), + OUSTR("name")); retData.singletons = readVectorOfPair( aNode, - sPrefix + OUSTR(":singletons"), - sPrefix + OUSTR(":item"), - sPrefix + OUSTR(":key"), - sPrefix + OUSTR(":value")); + OUSTR("singletons"), + OUSTR("item"), + OUSTR("key"), + OUSTR("value")); } return retData; } diff --git a/desktop/source/deployment/registry/component/dp_compbackenddb.hxx b/desktop/source/deployment/registry/component/dp_compbackenddb.hxx index 90ff41f2a4b8..b9a5ed737b7c 100644 --- a/desktop/source/deployment/registry/component/dp_compbackenddb.hxx +++ b/desktop/source/deployment/registry/component/dp_compbackenddb.hxx @@ -85,6 +85,7 @@ protected: virtual ::rtl::OUString getDbNSName(); virtual ::rtl::OUString getNSPrefix(); virtual ::rtl::OUString getRootElementName(); + virtual ::rtl::OUString getKeyElementName(); public: struct Data @@ -104,7 +105,7 @@ public: ::rtl::OUString const & url); void addEntry(::rtl::OUString const & url, Data const & data); - void removeEntry(::rtl::OUString const & url); + Data getEntry(::rtl::OUString const & url); diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx index fe8b39b94d44..660c5ad80bf1 100644 --- a/desktop/source/deployment/registry/dp_backenddb.cxx +++ b/desktop/source/deployment/registry/dp_backenddb.cxx @@ -63,13 +63,13 @@ BackendDb::BackendDb( void BackendDb::save() { - Reference xDataSource(m_doc,css::uno::UNO_QUERY_THROW); + const Reference xDataSource(m_doc,css::uno::UNO_QUERY_THROW); ::rtl::ByteSequence bytes; xDataSource->setOutputStream(::xmlscript::createOutputStream(&bytes)); - Reference xDataControl(m_doc,css::uno::UNO_QUERY_THROW); + const Reference xDataControl(m_doc,css::uno::UNO_QUERY_THROW); xDataControl->start(); - Reference xData( + const Reference xData( ::xmlscript::createInputStream(bytes)); ::ucbhelper::Content ucbDb(m_urlDb, 0); ucbDb.writeStream(xData, true /*replace existing*/); @@ -79,7 +79,7 @@ css::uno::Reference BackendDb::getDocument() { if (!m_doc.is()) { - Reference xDocBuilder( + const Reference xDocBuilder( m_xContext->getServiceManager()->createInstanceWithContext( OUSTR("com.sun.star.xml.dom.DocumentBuilder"), m_xContext ), css::uno::UNO_QUERY); @@ -97,11 +97,10 @@ css::uno::Reference BackendDb::getDocument() { //Create a new document and insert some basic stuff m_doc = xDocBuilder->newDocument(); - Reference rootNode = + const Reference rootNode = m_doc->createElementNS(getDbNSName(), getNSPrefix() + OUSTR(":") + getRootElementName()); -// rootNode->setAttribute( -// OUSTR("xmlns"), getDbNSName()); + m_doc->appendChild(Reference( rootNode, UNO_QUERY_THROW)); save(); @@ -144,11 +143,11 @@ void BackendDb::removeElement(::rtl::OUString const & sXPathExpression) { try { - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - Reference xpathApi = getXPathAPI(); + const Reference doc = getDocument(); + const Reference root = doc->getFirstChild(); + const Reference xpathApi = getXPathAPI(); //find the extension element that is to be removed - Reference aNode = + const Reference aNode = xpathApi->selectSingleNode(root, sXPathExpression); if (aNode.is()) @@ -159,7 +158,7 @@ void BackendDb::removeElement(::rtl::OUString const & sXPathExpression) #if OSL_DEBUG_LEVEL > 0 //There must not be any other entry with the same url - Reference nextNode = + const Reference nextNode = xpathApi->selectSingleNode(root, sXPathExpression); OSL_ASSERT(! nextNode.is()); #endif @@ -171,7 +170,50 @@ void BackendDb::removeElement(::rtl::OUString const & sXPathExpression) OUSTR("Extension Manager: failed to write data entry in backend db: ") + m_urlDb, 0, exc); } +} +void BackendDb::removeEntry(::rtl::OUString const & url) +{ + const OUString sKeyElement = getKeyElementName(); + const OUString sPrefix = getNSPrefix(); + ::rtl::OUStringBuffer sExpression(500); + sExpression.append(sPrefix); + sExpression.appendAscii(":"); + sExpression.append(sKeyElement); + sExpression.append(OUSTR("[@url = \"")); + sExpression.append(url); + sExpression.appendAscii("\"]"); + + removeElement(sExpression.makeStringAndClear()); +} + +Reference BackendDb::getKeyElement( + ::rtl::OUString const & url) +{ + try + { + const OUString sPrefix = getNSPrefix(); + const OUString sKeyElement = getKeyElementName(); + ::rtl::OUStringBuffer sExpression(500); + sExpression.append(sPrefix); + sExpression.appendAscii(":"); + sExpression.append(sKeyElement); + sExpression.append(OUSTR("[@url = \"")); + sExpression.append(url); + sExpression.appendAscii("\"]"); + + const Reference doc = getDocument(); + const Reference root = doc->getFirstChild(); + const Reference xpathApi = getXPathAPI(); + return xpathApi->selectSingleNode(root, sExpression.makeStringAndClear()); + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read key element in backend db: ") + + m_urlDb, 0, exc); + } } //Only writes the data if there is at least one entry @@ -188,11 +230,12 @@ void BackendDb::writeVectorOfPair( return; const OUString sNameSpace = getDbNSName(); OSL_ASSERT(sNameSpace.getLength()); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); + const OUString sPrefix(getNSPrefix() + OUSTR(":")); + const Reference doc = getDocument(); + const Reference root = doc->getFirstChild(); - Reference vectorNode( - doc->createElementNS(sNameSpace, sVectorTagName)); + const Reference vectorNode( + doc->createElementNS(sNameSpace, sPrefix + sVectorTagName)); xParent->appendChild( Reference( @@ -200,35 +243,35 @@ void BackendDb::writeVectorOfPair( typedef ::std::vector< ::std::pair< OUString, OUString > >::const_iterator CIT; for (CIT i = vecPairs.begin(); i != vecPairs.end(); i++) { - Reference pairNode( - doc->createElementNS(sNameSpace, sPairTagName)); + const Reference pairNode( + doc->createElementNS(sNameSpace, sPrefix + sPairTagName)); vectorNode->appendChild( Reference( pairNode, css::uno::UNO_QUERY_THROW)); - Reference firstNode( - doc->createElementNS(sNameSpace, sFirstTagName)); + const Reference firstNode( + doc->createElementNS(sNameSpace, sPrefix + sFirstTagName)); pairNode->appendChild( Reference( firstNode, css::uno::UNO_QUERY_THROW)); - Reference firstTextNode( + const Reference firstTextNode( doc->createTextNode( i->first)); firstNode->appendChild( Reference( firstTextNode, css::uno::UNO_QUERY_THROW)); - Reference secondNode( - doc->createElementNS(sNameSpace, sSecondTagName)); + const Reference secondNode( + doc->createElementNS(sNameSpace, sPrefix + sSecondTagName)); pairNode->appendChild( Reference( secondNode, css::uno::UNO_QUERY_THROW)); - Reference secondTextNode( + const Reference secondTextNode( doc->createTextNode( i->second)); secondNode->appendChild( @@ -256,23 +299,24 @@ BackendDb::readVectorOfPair( try { OSL_ASSERT(parent.is()); - Reference xpathApi = getXPathAPI(); - OUString sExprPairs( - sListTagName + OUSTR("/") + sPairTagName); - Reference listPairs = + const OUString sPrefix(getNSPrefix() + OUSTR(":")); + const Reference xpathApi = getXPathAPI(); + const OUString sExprPairs( + sPrefix + sListTagName + OUSTR("/") + sPrefix + sPairTagName); + const Reference listPairs = xpathApi->selectNodeList(parent, sExprPairs); ::std::vector< ::std::pair< OUString, OUString > > retVector; sal_Int32 length = listPairs->getLength(); for (sal_Int32 i = 0; i < length; i++) { - Reference aPair = listPairs->item(i); - OUString sExprFirst(sFirstTagName + OUSTR("/text()")); - Reference first = + const Reference aPair = listPairs->item(i); + const OUString sExprFirst(sPrefix + sFirstTagName + OUSTR("/text()")); + const Reference first = xpathApi->selectSingleNode(aPair, sExprFirst); - OUString sExprSecond(sSecondTagName + OUSTR("/text()")); - Reference second = + const OUString sExprSecond(sPrefix + sSecondTagName + OUSTR("/text()")); + const Reference second = xpathApi->selectSingleNode(aPair, sExprSecond); OSL_ASSERT(first.is() && second.is()); @@ -302,10 +346,11 @@ void BackendDb::writeSimpleList( if (list.size() == 0) return; const OUString sNameSpace = getDbNSName(); - Reference doc = getDocument(); + const OUString sPrefix(getNSPrefix() + OUSTR(":")); + const Reference doc = getDocument(); - Reference listNode( - doc->createElementNS(sNameSpace, sListTagName)); + const Reference listNode( + doc->createElementNS(sNameSpace, sPrefix + sListTagName)); xParent->appendChild( Reference( @@ -314,12 +359,12 @@ void BackendDb::writeSimpleList( typedef ::std::list::const_iterator ITC_ITEMS; for (ITC_ITEMS i = list.begin(); i != list.end(); i++) { - Reference memberNode( - doc->createElementNS(sNameSpace, sMemberTagName), css::uno::UNO_QUERY_THROW); + const Reference memberNode( + doc->createElementNS(sNameSpace, sPrefix + sMemberTagName), css::uno::UNO_QUERY_THROW); listNode->appendChild(memberNode); - Reference textNode( + const Reference textNode( doc->createTextNode( *i), css::uno::UNO_QUERY_THROW); memberNode->appendChild(textNode); @@ -332,9 +377,105 @@ void BackendDb::writeSimpleList( OUSTR("Extension Manager: failed to write data entry in backend db: ") + m_urlDb, 0, exc); } +} + +//Writes only the element if is has a value. +//The prefix is automatically added to the element name +void BackendDb::writeSimpleElement( + OUString const & sElementName, OUString const & value, + Reference const & xParent) +{ + try + { + if (value.getLength() == 0) + return; + const OUString sPrefix = getNSPrefix(); + const Reference doc = getDocument(); + const OUString sNameSpace = getDbNSName(); + const Reference dataNode( + doc->createElementNS(sNameSpace, sPrefix + OUSTR(":") + sElementName), + UNO_QUERY_THROW); + xParent->appendChild(dataNode); + + const Reference dataValue( + doc->createTextNode(value), UNO_QUERY_THROW); + dataNode->appendChild(dataValue); + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to write data entry(writeSimpleElement) in backend db: ") + + m_urlDb, 0, exc); + } + +} + +/** The key elements have an url attribute and are always children of the root + element. +*/ +Reference BackendDb::writeKeyElement( + ::rtl::OUString const & url) +{ + try + { + const OUString sNameSpace = getDbNSName(); + const OUString sPrefix = getNSPrefix(); + const OUString sElementName = getKeyElementName(); + const Reference doc = getDocument(); + const Reference root = doc->getFirstChild(); +#if OSL_DEBUG_LEVEL > 0 + //There must not be yet an entry with the same url + const OUString sExpression( + sPrefix + OUSTR(":") + sElementName + OUSTR("[@url = \"") + url + OUSTR("\"]")); + const Reference _extensionNode = + getXPathAPI()->selectSingleNode(root, sExpression); + OSL_ASSERT(! _extensionNode.is()); +#endif + const Reference keyElement( + doc->createElementNS(sNameSpace, sPrefix + OUSTR(":") + sElementName)); + + keyElement->setAttribute(OUSTR("url"), url); + + const Reference keyNode( + keyElement, UNO_QUERY_THROW); + root->appendChild(keyNode); + return keyNode; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to write key element in backend db: ") + + m_urlDb, 0, exc); + } } +OUString BackendDb::readSimpleElement( + OUString const & sElementName, Reference const & xParent) +{ + try + { + const OUString sPrefix = getNSPrefix(); + const OUString sExpr(sPrefix + OUSTR(":") + sElementName + OUSTR("/text()")); + const Reference xpathApi = getXPathAPI(); + const Reference val = + xpathApi->selectSingleNode(xParent, sExpr); + if (val.is()) + return val->getNodeValue(); + return OUString(); + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data (readSimpleElement) in backend db: ") + + m_urlDb, 0, exc); + } +} + + ::std::list< OUString> BackendDb::readList( Reference const & parent, OUString const & sListTagName, @@ -343,17 +484,18 @@ void BackendDb::writeSimpleList( try { OSL_ASSERT(parent.is()); - Reference xpathApi = getXPathAPI(); - OUString sExprList( - sListTagName + OUSTR("/") + sMemberTagName + OUSTR("/text()")); - Reference list = + const OUString sPrefix(getNSPrefix() + OUSTR(":")); + const Reference xpathApi = getXPathAPI(); + const OUString sExprList( + sPrefix + sListTagName + OUSTR("/") + sPrefix + sMemberTagName + OUSTR("/text()")); + const Reference list = xpathApi->selectNodeList(parent, sExprList); ::std::list retList; sal_Int32 length = list->getLength(); for (sal_Int32 i = 0; i < length; i++) { - Reference member = list->item(i); + const Reference member = list->item(i); retList.push_back(member->getNodeValue()); } return retList; @@ -369,6 +511,84 @@ void BackendDb::writeSimpleList( +//================================================================================ +RegisteredDb::RegisteredDb( + Reference const & xContext, + ::rtl::OUString const & url):BackendDb(xContext, url) +{ + +} + +void RegisteredDb::addEntry(::rtl::OUString const & url) +{ + try{ + + const OUString sNameSpace = getDbNSName(); + const OUString sPrefix = getNSPrefix(); + const OUString sEntry = getKeyElementName(); + + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + +#if OSL_DEBUG_LEVEL > 0 + //There must not be yet an entry with the same url + OUString sExpression( + sPrefix + OUSTR(":") + sEntry + OUSTR("[@url = \"") + url + OUSTR("\"]")); + Reference _extensionNode = + getXPathAPI()->selectSingleNode(root, sExpression); + OSL_ASSERT(! _extensionNode.is()); +#endif + Reference helpElement( + doc->createElementNS(sNameSpace, sPrefix + OUSTR(":") + sEntry)); + + helpElement->setAttribute(OUSTR("url"), url); + + Reference helpNode( + helpElement, UNO_QUERY_THROW); + root->appendChild(helpNode); + + save(); + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to write data entry in backend db: ") + + m_urlDb, 0, exc); + } +} + +bool RegisteredDb::getEntry(::rtl::OUString const & url) +{ + try + { + const OUString sPrefix = getNSPrefix(); + const OUString sEntry = getKeyElementName(); + const OUString sExpression( + sPrefix + OUSTR(":") + sEntry + OUSTR("[@url = \"") + url + OUSTR("\"]")); + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + + Reference xpathApi = getXPathAPI(); + //find the extension element that is to be removed + Reference aNode = + xpathApi->selectSingleNode(root, sExpression); + if (!aNode.is()) + { + return false; + } + return true; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data entry in backend db: ") + + m_urlDb, 0, exc); + } +} + + } // namespace backend } // namespace dp_registry diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx index 893a58ee8c64..976a6281a2bd 100644 --- a/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx +++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx @@ -32,13 +32,8 @@ #include "precompiled_desktop.hxx" #include "rtl/string.h" -#include "rtl/bootstrap.hxx" -#include "cppuhelper/exc_hlp.hxx" #include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/xml/dom/XDocumentBuilder.hpp" -#include "com/sun/star/xml/xpath/XXPathAPI.hpp" #include "dp_misc.h" - #include "dp_executablebackenddb.hxx" @@ -49,6 +44,7 @@ using ::rtl::OUString; #define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/executable-registry/2010" #define NS_PREFIX "exe" #define ROOT_ELEMENT_NAME "executable-backend-db" +#define ENTRY_NAME "executable" namespace dp_registry { namespace backend { @@ -56,7 +52,7 @@ namespace executable { ExecutableBackendDb::ExecutableBackendDb( Reference const & xContext, - ::rtl::OUString const & url):BackendDb(xContext, url) + ::rtl::OUString const & url):RegisteredDb(xContext, url) { } @@ -76,86 +72,9 @@ OUString ExecutableBackendDb::getRootElementName() return OUSTR(ROOT_ELEMENT_NAME); } -void ExecutableBackendDb::addEntry(::rtl::OUString const & url) +OUString ExecutableBackendDb::getKeyElementName() { - try{ - - const OUString sNameSpace = getDbNSName(); - const OUString sPrefix = getNSPrefix(); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - -#if OSL_DEBUG_LEVEL > 0 - //There must not be yet an entry with the same url - OUString sExpression( - sPrefix + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); - Reference _extensionNode = - getXPathAPI()->selectSingleNode(root, sExpression); - OSL_ASSERT(! _extensionNode.is()); -#endif - Reference helpElement( - doc->createElementNS(sNameSpace, sPrefix + OUSTR(":executable"))); - - helpElement->setAttribute(OUSTR("url"), url); - - Reference helpNode( - helpElement, UNO_QUERY_THROW); - root->appendChild(helpNode); - -// Reference dataNode( -// doc->createElementNS(sNameSpace, sPrefix + OUSTR(":data-url")), -// UNO_QUERY_THROW); -// helpNode->appendChild(dataNode); - -// Reference dataValue( -// doc->createTextNode(data.dataUrl), UNO_QUERY_THROW); -// dataNode->appendChild(dataValue); - - save(); - } - catch(css::uno::Exception &) - { - Any exc( ::cppu::getCaughtException() ); - throw css::deployment::DeploymentException( - OUSTR("Extension Manager: failed to write data entry in backend db: ") + - m_urlDb, 0, exc); - } -} - -void ExecutableBackendDb::removeEntry(::rtl::OUString const & url) -{ - OUString sExpression( - OUSTR(NS_PREFIX) + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); - removeElement(sExpression); -} - -bool ExecutableBackendDb::getEntry(::rtl::OUString const & url) -{ - try - { - const OUString sPrefix = getNSPrefix(); - const OUString sExpression( - sPrefix + OUSTR(":executable[@url = \"") + url + OUSTR("\"]")); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - - Reference xpathApi = getXPathAPI(); - //find the extension element that is to be removed - Reference aNode = - xpathApi->selectSingleNode(root, sExpression); - if (!aNode.is()) - { - return false; - } - return true; - } - catch(css::uno::Exception &) - { - Any exc( ::cppu::getCaughtException() ); - throw css::deployment::DeploymentException( - OUSTR("Extension Manager: failed to read data entry in backend db: ") + - m_urlDb, 0, exc); - } + return OUSTR(ENTRY_NAME); } diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx index 2634d1d9d376..4f17eeda24a6 100644 --- a/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx +++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx @@ -32,10 +32,6 @@ #define INCLUDED_DP_EXECUTABLEBACKENDDB_HXX #include "rtl/ustring.hxx" -#include "rtl/string.hxx" -#include -#include -#include "boost/optional.hpp" #include "dp_backenddb.hxx" namespace css = ::com::sun::star; @@ -44,13 +40,6 @@ namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } - namespace xml { namespace dom { - class XDocument; - class XNode; - }} - namespace xml { namespace xpath { - class XXPathAPI; - }} }}} namespace dp_registry { @@ -63,7 +52,7 @@ namespace executable { */ -class ExecutableBackendDb: public dp_registry::backend::BackendDb +class ExecutableBackendDb: public dp_registry::backend::RegisteredDb { protected: virtual ::rtl::OUString getDbNSName(); @@ -72,14 +61,13 @@ protected: virtual ::rtl::OUString getRootElementName(); + virtual ::rtl::OUString getKeyElementName(); + public: ExecutableBackendDb( css::uno::Reference const & xContext, ::rtl::OUString const & url); - void addEntry(::rtl::OUString const & url); - void removeEntry(::rtl::OUString const & url); - bool getEntry(::rtl::OUString const & url); }; diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx index cad6ddecf751..4a8fa71e0618 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx @@ -49,6 +49,7 @@ using ::rtl::OUString; #define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/help-registry/2010" #define NS_PREFIX "help" #define ROOT_ELEMENT_NAME "help-backend-db" +#define KEY_ELEMENT_NAME "help" namespace dp_registry { namespace backend { @@ -76,43 +77,25 @@ OUString HelpBackendDb::getRootElementName() return OUSTR(ROOT_ELEMENT_NAME); } -void HelpBackendDb::addEntry(::rtl::OUString const & url, Data const & data) +OUString HelpBackendDb::getKeyElementName() { - try{ - - const OUString sNameSpace = getDbNSName(); - const OUString sPrefix = getNSPrefix(); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - -#if OSL_DEBUG_LEVEL > 0 - //There must not be yet an entry with the same url - OUString sExpression( - sPrefix + OUSTR(":help[@url = \"") + url + OUSTR("\"]")); - Reference _extensionNode = - getXPathAPI()->selectSingleNode(root, sExpression); - OSL_ASSERT(! _extensionNode.is()); -#endif - Reference helpElement( - doc->createElementNS(sNameSpace, sPrefix + OUSTR(":help"))); - - helpElement->setAttribute(OUSTR("url"), url); - - Reference helpNode( - helpElement, UNO_QUERY_THROW); - root->appendChild(helpNode); + return OUSTR(KEY_ELEMENT_NAME); +} - Reference dataNode( - doc->createElementNS(sNameSpace, sPrefix + OUSTR(":data-url")), - UNO_QUERY_THROW); - helpNode->appendChild(dataNode); - Reference dataValue( - doc->createTextNode(data.dataUrl), UNO_QUERY_THROW); - dataNode->appendChild(dataValue); +void HelpBackendDb::addEntry(::rtl::OUString const & url, Data const & data) +{ + try{ + Reference helpNode + = writeKeyElement(url); + writeSimpleElement(OUSTR("data-url"), data.dataUrl, helpNode); save(); } + catch (css::deployment::DeploymentException& ) + { + throw; + } catch(css::uno::Exception &) { Any exc( ::cppu::getCaughtException() ); @@ -122,36 +105,17 @@ void HelpBackendDb::addEntry(::rtl::OUString const & url, Data const & data) } } -void HelpBackendDb::removeEntry(::rtl::OUString const & url) -{ - OUString sExpression( - OUSTR(NS_PREFIX) + OUSTR(":help[@url = \"") + url + OUSTR("\"]")); - removeElement(sExpression); -} ::boost::optional HelpBackendDb::getEntry(::rtl::OUString const & url) { try { - const OUString sPrefix = getNSPrefix(); HelpBackendDb::Data retData; - const OUString sExpression( - sPrefix + OUSTR(":help[@url = \"") + url + OUSTR("\"]")); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - - Reference xpathApi = getXPathAPI(); - //find the extension element that is to be removed - Reference aNode = - xpathApi->selectSingleNode(root, sExpression); + Reference aNode = getKeyElement(url); if (aNode.is()) { - const OUString sExprDataUrl(sPrefix + OUSTR(":data-url/text()")); - - Reference dataUrlVal = - xpathApi->selectSingleNode(aNode, sExprDataUrl); - retData.dataUrl = dataUrlVal->getNodeValue(); + retData.dataUrl = readSimpleElement(OUSTR("data-url"), aNode); } else { @@ -159,6 +123,10 @@ HelpBackendDb::getEntry(::rtl::OUString const & url) } return ::boost::optional(retData); } + catch (css::deployment::DeploymentException& ) + { + throw; + } catch(css::uno::Exception &) { Any exc( ::cppu::getCaughtException() ); @@ -190,6 +158,10 @@ HelpBackendDb::getEntry(::rtl::OUString const & url) } return listRet; } + catch (css::deployment::DeploymentException& ) + { + throw; + } catch(css::uno::Exception &) { Any exc( ::cppu::getCaughtException() ); diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx index bf812ad96511..baecf0da48e6 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx @@ -59,9 +59,6 @@ namespace help { /* The XML file stores the extensions which are currently registered. They will be removed when they are revoked. - The format looks like this: - - */ class HelpBackendDb: public dp_registry::backend::BackendDb { @@ -72,6 +69,8 @@ protected: virtual ::rtl::OUString getRootElementName(); + virtual ::rtl::OUString getKeyElementName(); + public: struct Data { @@ -87,7 +86,7 @@ public: ::rtl::OUString const & url); void addEntry(::rtl::OUString const & url, Data const & data); - void removeEntry(::rtl::OUString const & url); + ::boost::optional getEntry(::rtl::OUString const & url); ::std::list< ::rtl::OUString> getAllDataUrls(); diff --git a/desktop/source/deployment/registry/inc/dp_backenddb.hxx b/desktop/source/deployment/registry/inc/dp_backenddb.hxx index ca28f28ac390..b8ba5facd492 100644 --- a/desktop/source/deployment/registry/inc/dp_backenddb.hxx +++ b/desktop/source/deployment/registry/inc/dp_backenddb.hxx @@ -30,6 +30,7 @@ #include "rtl/ustring.hxx" #include +#include namespace css = ::com::sun::star; @@ -75,6 +76,9 @@ protected: void save(); void removeElement(::rtl::OUString const & sXPathExpression); + css::uno::Reference getKeyElement( + ::rtl::OUString const & url); + void writeSimpleList( ::std::list< ::rtl::OUString> const & list, ::rtl::OUString const & sListTagName, @@ -89,6 +93,17 @@ protected: ::rtl::OUString const & sSecondTagName, css::uno::Reference const & xParent); + void writeSimpleElement( + ::rtl::OUString const & sElementName, ::rtl::OUString const & value, + css::uno::Reference const & xParent); + + css::uno::Reference writeKeyElement( + ::rtl::OUString const & url); + + ::rtl::OUString readSimpleElement( + ::rtl::OUString const & sElementName, + css::uno::Reference const & xParent); + ::std::vector< ::std::pair< ::rtl::OUString, ::rtl::OUString > > readVectorOfPair( css::uno::Reference const & parent, @@ -117,6 +132,10 @@ protected: /* returns the name of the root element without any namespace prefix. */ virtual ::rtl::OUString getRootElementName()=0; + /* returns the name of xml element for each entry + */ + virtual ::rtl::OUString getKeyElementName()=0; + public: @@ -124,8 +143,24 @@ public: ::rtl::OUString const & url); virtual ~BackendDb() {}; + void removeEntry(::rtl::OUString const & url); }; +class RegisteredDb: public BackendDb +{ + +public: + RegisteredDb( css::uno::Reference const & xContext, + ::rtl::OUString const & url); + virtual ~RegisteredDb() {}; + + + virtual void addEntry(::rtl::OUString const & url); + virtual bool getEntry(::rtl::OUString const & url); + +}; + + } } #endif diff --git a/desktop/source/deployment/registry/package/dp_extbackenddb.cxx b/desktop/source/deployment/registry/package/dp_extbackenddb.cxx index 99aa2178b421..2e92a907f8fb 100644 --- a/desktop/source/deployment/registry/package/dp_extbackenddb.cxx +++ b/desktop/source/deployment/registry/package/dp_extbackenddb.cxx @@ -46,6 +46,7 @@ using ::rtl::OUString; #define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/extension-registry/2010" #define NS_PREFIX "ext" #define ROOT_ELEMENT_NAME "extension-backend-db" +#define KEY_ELEMENT_NAME "extension" namespace dp_registry { namespace backend { @@ -73,40 +74,21 @@ OUString ExtensionBackendDb::getRootElementName() return OUSTR(ROOT_ELEMENT_NAME); } +OUString ExtensionBackendDb::getKeyElementName() +{ + return OUSTR(KEY_ELEMENT_NAME); +} + void ExtensionBackendDb::addEntry(::rtl::OUString const & url, Data const & data) { try{ - - const OUString sNameSpace = getDbNSName(); - const OUString sPrefix = getNSPrefix(); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - -#if OSL_DEBUG_LEVEL > 0 - //There must not be yet an entry with the same url - OUString sExpression( - sPrefix + OUSTR(":extension[@url = \"") + url + OUSTR("\"]")); - Reference _extensionNode = - getXPathAPI()->selectSingleNode(root, sExpression); - OSL_ASSERT(! _extensionNode.is()); -#endif - // - Reference extensionNode( - doc->createElementNS(sNameSpace, - sPrefix + OUSTR(":extension"))); - - extensionNode->setAttribute(OUSTR("url"), url); - - Reference extensionNodeNode( - extensionNode, css::uno::UNO_QUERY_THROW); - root->appendChild(extensionNodeNode); - + Reference extensionNodeNode = writeKeyElement(url); writeVectorOfPair( data.items, - sPrefix + OUSTR(":extension-items"), - sPrefix + OUSTR(":item"), - sPrefix + OUSTR(":url"), - sPrefix + OUSTR(":media-type"), + OUSTR("extension-items"), + OUSTR("item"), + OUSTR("url"), + OUSTR("media-type"), extensionNodeNode); save(); } @@ -119,37 +101,22 @@ void ExtensionBackendDb::addEntry(::rtl::OUString const & url, Data const & data } } -void ExtensionBackendDb::removeEntry(::rtl::OUString const & url) -{ - OUString sExpression( - OUSTR(NS_PREFIX) + OUSTR(":extension[@url = \"") + url + OUSTR("\"]")); - removeElement(sExpression); -} - ExtensionBackendDb::Data ExtensionBackendDb::getEntry(::rtl::OUString const & url) { try { - const OUString sPrefix = getNSPrefix(); ExtensionBackendDb::Data retData; - const OUString sExpression( - sPrefix + OUSTR(":extension[@url = \"") + url + OUSTR("\"]")); - Reference doc = getDocument(); - Reference root = doc->getFirstChild(); - - Reference xpathApi = getXPathAPI(); + Reference aNode = getKeyElement(url); - Reference aNode = - xpathApi->selectSingleNode(root, sExpression); if (aNode.is()) { retData.items = readVectorOfPair( aNode, - sPrefix + OUSTR(":extension-items"), - sPrefix + OUSTR(":item"), - sPrefix + OUSTR(":url"), - sPrefix + OUSTR(":media-type")); + OUSTR("extension-items"), + OUSTR("item"), + OUSTR("url"), + OUSTR("media-type")); } return retData; } diff --git a/desktop/source/deployment/registry/package/dp_extbackenddb.hxx b/desktop/source/deployment/registry/package/dp_extbackenddb.hxx index e46c67b166de..d09fd0891a32 100644 --- a/desktop/source/deployment/registry/package/dp_extbackenddb.hxx +++ b/desktop/source/deployment/registry/package/dp_extbackenddb.hxx @@ -62,6 +62,7 @@ protected: virtual ::rtl::OUString getDbNSName(); virtual ::rtl::OUString getNSPrefix(); virtual ::rtl::OUString getRootElementName(); + virtual ::rtl::OUString getKeyElementName(); public: struct Data @@ -81,7 +82,7 @@ public: ::rtl::OUString const & url); void addEntry(::rtl::OUString const & url, Data const & data); - void removeEntry(::rtl::OUString const & url); + Data getEntry(::rtl::OUString const & url); }; diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index e808cd0f5e73..f0c4c9b42c6e 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -39,12 +39,12 @@ #include "comphelper/servicedecl.hxx" #include "svl/inettype.hxx" #include "com/sun/star/util/XUpdatable.hpp" -#include "com/sun/star/script/XLibraryContainer.hpp" +#include "com/sun/star/script/XLibraryContainer3.hpp" #include #include #include -#include #include +#include "dp_scriptbackenddb.hxx" using namespace ::dp_misc; using namespace ::com::sun::star; @@ -100,15 +100,19 @@ class BackendImpl : public t_helper sal_Bool bRemoved, OUString const & identifier, Reference const & xCmdEnv ); - rtl::OUString getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ); - rtl::OUString expandURL( const rtl::OUString& aURL ); - Reference< ucb::XSimpleFileAccess > getFileAccess( void ); - Reference< ucb::XSimpleFileAccess > m_xSFA; + void addDataToDb(OUString const & url); + void deleteDataFromDb(OUString const & url); + bool isRegisteredInDb(OUString const & url); + + + +// Reference< ucb::XSimpleFileAccess > getFileAccess( void ); +// Reference< ucb::XSimpleFileAccess > m_xSFA; const Reference m_xBasicLibTypeInfo; const Reference m_xDialogLibTypeInfo; Sequence< Reference > m_typeInfos; - + std::auto_ptr m_backendDb; public: BackendImpl( Sequence const & args, Reference const & xComponentContext ); @@ -172,6 +176,33 @@ BackendImpl::BackendImpl( m_typeInfos[ 1 ] = m_xDialogLibTypeInfo; OSL_ASSERT( ! transientMode() ); + + if (!transientMode()) + { + OUString dbFile = makeURL(getCachePath(), OUSTR("backenddb.xml")); + m_backendDb.reset( + new ScriptBackendDb(getComponentContext(), dbFile)); + } + +} +void BackendImpl::addDataToDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->addEntry(url); +} + +bool BackendImpl::isRegisteredInDb(OUString const & url) +{ + bool registered = false; + if (m_backendDb.get()) + registered = m_backendDb->getEntry(url); + return registered; +} + +void BackendImpl::deleteDataFromDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->removeEntry(url); } // XUpdatable @@ -261,90 +292,6 @@ Reference BackendImpl::bindPackage_( static_cast(-1) ); } -rtl::OUString BackendImpl::getRegisteredFlagFileURL( Reference< deployment::XPackage > xPackage ) -{ - rtl::OUString aRetURL; - if( !xPackage.is() ) - return aRetURL; - rtl::OUString aHelpURL = xPackage->getURL(); - aRetURL = expandURL( aHelpURL ); - aRetURL += rtl::OUString::createFromAscii( "/RegisteredFlag" ); - return aRetURL; -} - -rtl::OUString BackendImpl::expandURL( const rtl::OUString& aURL ) -{ - static Reference< util::XMacroExpander > xMacroExpander; - static Reference< uri::XUriReferenceFactory > xFac; - - if( !xMacroExpander.is() || !xFac.is() ) - { - Reference const & xContext = getComponentContext(); - if( xContext.is() ) - { - xFac = Reference< uri::XUriReferenceFactory >( - xContext->getServiceManager()->createInstanceWithContext( rtl::OUString::createFromAscii( - "com.sun.star.uri.UriReferenceFactory"), xContext ) , UNO_QUERY ); - } - if( !xFac.is() ) - { - throw RuntimeException( - ::rtl::OUString::createFromAscii( - "dp_registry::backend::help::BackendImpl::expandURL(), " - "could not instatiate UriReferenceFactory." ), - Reference< XInterface >() ); - } - - xMacroExpander = Reference< util::XMacroExpander >( - xContext->getValueByName( - ::rtl::OUString::createFromAscii( "/singletons/com.sun.star.util.theMacroExpander" ) ), - UNO_QUERY_THROW ); - } - - rtl::OUString aRetURL = aURL; - if( xMacroExpander.is() ) - { - Reference< uri::XUriReference > uriRef; - for (;;) - { - uriRef = Reference< uri::XUriReference >( xFac->parse( aRetURL ), UNO_QUERY ); - if ( uriRef.is() ) - { - Reference < uri::XVndSunStarExpandUrl > sxUri( uriRef, UNO_QUERY ); - if( !sxUri.is() ) - break; - - aRetURL = sxUri->expand( xMacroExpander ); - } - } - } - return aRetURL; -} - -Reference< ucb::XSimpleFileAccess > BackendImpl::getFileAccess( void ) -{ - if( !m_xSFA.is() ) - { - Reference const & xContext = getComponentContext(); - if( xContext.is() ) - { - m_xSFA = Reference< ucb::XSimpleFileAccess >( - xContext->getServiceManager()->createInstanceWithContext( - rtl::OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ), - xContext ), UNO_QUERY ); - } - if( !m_xSFA.is() ) - { - throw RuntimeException( - ::rtl::OUString::createFromAscii( - "dp_registry::backend::help::BackendImpl::getFileAccess(), " - "could not instatiate SimpleFileAccess." ), - Reference< XInterface >() ); - } - } - return m_xSFA; -} - //############################################################################## // Package @@ -373,14 +320,11 @@ BackendImpl::PackageImpl::isRegistered_( BackendImpl * that = getMyBackend(); Reference< deployment::XPackage > xThisPackage( this ); - rtl::OUString aRegisteredFlagFile = that->getRegisteredFlagFileURL( xThisPackage ); - - Reference< ucb::XSimpleFileAccess > xSFA = that->getFileAccess(); - bool bReg = xSFA->exists( aRegisteredFlagFile ); + bool registered = getMyBackend()->isRegisteredInDb(getURL()); return beans::Optional< beans::Ambiguous >( true /* IsPresent */, - beans::Ambiguous( bReg, false /* IsAmbiguous */ ) ); + beans::Ambiguous( registered, false /* IsAmbiguous */ ) ); } //______________________________________________________________________________ @@ -396,15 +340,13 @@ void BackendImpl::PackageImpl::processPackage_( BackendImpl * that = getMyBackend(); Reference< deployment::XPackage > xThisPackage( this ); - rtl::OUString aRegisteredFlagFile = that->getRegisteredFlagFileURL( xThisPackage ); - Reference< ucb::XSimpleFileAccess > xSFA = that->getFileAccess(); Reference const & xComponentContext = that->getComponentContext(); bool bScript = (m_scriptURL.getLength() > 0); - Reference xScriptLibs; + Reference xScriptLibs; bool bDialog = (m_dialogURL.getLength() > 0); - Reference xDialogLibs; + Reference xDialogLibs; bool bRunning = office_is_running(); if( bRunning ) @@ -425,52 +367,116 @@ void BackendImpl::PackageImpl::processPackage_( xComponentContext ), UNO_QUERY_THROW ); } } - + bool bRegistered = getMyBackend()->isRegisteredInDb(getURL()); if( !doRegisterPackage ) { - if( xSFA->exists( aRegisteredFlagFile ) ) + //We cannot just call removeLibrary(name) because this could remove a + //script which was added by an extension in a different repository. For + //example, extension foo is contained in the bundled repository and then + //the user adds it it to the user repository. The extension manager will + //then register the new script and revoke the script from the bundled + //extension. removeLibrary(name) would now remove the script from the + //user repository. That is, the script of the newly added user extension does + //not work anymore. Therefore we must check if the currently active + //script comes in fact from the currently processed extension. + + if (bRegistered) { - xSFA->kill( aRegisteredFlagFile ); - - if( bScript && xScriptLibs.is() && xScriptLibs->hasByName( m_name ) ) - xScriptLibs->removeLibrary( m_name ); + if (!isRemoved()) + { + if (bScript && xScriptLibs.is() && xScriptLibs->hasByName(m_name)) + { + const OUString sScriptUrl = xScriptLibs->getOriginalLibraryLinkURL(m_name); + if (sScriptUrl.equals(m_scriptURL)) + xScriptLibs->removeLibrary(m_name); + } - if( bDialog && xDialogLibs.is() && xDialogLibs->hasByName( m_dialogName ) ) - xDialogLibs->removeLibrary( m_dialogName ); + if (bDialog && xDialogLibs.is() && xDialogLibs->hasByName(m_dialogName)) + { + const OUString sDialogUrl = xDialogLibs->getOriginalLibraryLinkURL(m_dialogName); + if (sDialogUrl.equals(m_dialogURL)) + xDialogLibs->removeLibrary(m_dialogName); + } + } + getMyBackend()->deleteDataFromDb(getURL()); + return; } - return; } - - if( xSFA->exists( aRegisteredFlagFile ) ) + if (bRegistered) return; // Already registered // Update LibraryContainer bool bScriptSuccess = false; const bool bReadOnly = false; - if( bScript && xScriptLibs.is() && !xScriptLibs->hasByName( m_name ) ) + + //If there is a bundled extension, and the user installes the same extension + //then the script from the bundled extension must be removed. If this does not work + //then live deployment does not work for scripts. + if (bScript && xScriptLibs.is()) { - xScriptLibs->createLibraryLink( m_name, m_scriptURL, bReadOnly ); - bScriptSuccess = xScriptLibs->hasByName( m_name ); + bool bCanAdd = true; + if (xScriptLibs->hasByName(m_name)) + { + const OUString sOriginalUrl = xScriptLibs->getOriginalLibraryLinkURL(m_name); + //We assume here that library names in extensions are unique, which may not be the case + //ToDo: If the script exist in another extension, then both extensions must have the + //same id + if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + { + xScriptLibs->removeLibrary(m_name); + bCanAdd = true; + } + else + { + bCanAdd = false; + } + } + + if (bCanAdd) + { + xScriptLibs->createLibraryLink( m_name, m_scriptURL, bReadOnly ); + bScriptSuccess = xScriptLibs->hasByName( m_name ); + } } bool bDialogSuccess = false; - if( bDialog && xDialogLibs.is() && !xDialogLibs->hasByName( m_dialogName ) ) + if (bDialog && xDialogLibs.is()) { - xDialogLibs->createLibraryLink( m_dialogName, m_dialogURL, bReadOnly ); - bDialogSuccess = xDialogLibs->hasByName( m_dialogName ); - } + bool bCanAdd = true; + if (xDialogLibs->hasByName(m_dialogName)) + { + const OUString sOriginalUrl = xDialogLibs->getOriginalLibraryLinkURL(m_dialogName); + //We assume here that library names in extensions are unique, which may not be the case + //ToDo: If the script exist in another extension, then both extensions must have the + //same id + if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + { + xDialogLibs->removeLibrary(m_dialogName); + bCanAdd = true; + } + else + { + bCanAdd = false; + } + } + if (bCanAdd) + { + xDialogLibs->createLibraryLink( m_dialogName, m_dialogURL, bReadOnly ); + bDialogSuccess = xDialogLibs->hasByName(m_dialogName); + } + } bool bSuccess = bScript || bDialog; // Something must have happened if( bRunning ) if( (bScript && !bScriptSuccess) || (bDialog && !bDialogSuccess) ) bSuccess = false; - if( bSuccess && !xSFA->exists( aRegisteredFlagFile ) ) - { - Reference< io::XOutputStream > xOutputStream = xSFA->openFileWrite( aRegisteredFlagFile ); - if( xOutputStream.is() ) - xOutputStream->closeOutput(); - } + if (bSuccess) + getMyBackend()->addDataToDb(getURL()); } } // anon namespace diff --git a/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx b/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx new file mode 100644 index 000000000000..ce0d3029084d --- /dev/null +++ b/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_package.cxx,v $ + * $Revision: 1.34.16.2 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_desktop.hxx" + +#include "rtl/string.h" +#include "cppuhelper/exc_hlp.hxx" +#include "com/sun/star/uno/XComponentContext.hpp" +#include "com/sun/star/xml/dom/XDocument.hpp" +#include "com/sun/star/xml/xpath/XXPathAPI.hpp" +#include "dp_misc.h" +#include "dp_scriptbackenddb.hxx" + + +namespace css = ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +#define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/script-registry/2010" +#define NS_PREFIX "script" +#define ROOT_ELEMENT_NAME "script-backend-db" +#define KEY_ELEMENT_NAME "script" + +namespace dp_registry { +namespace backend { +namespace script { + +ScriptBackendDb::ScriptBackendDb( + Reference const & xContext, + ::rtl::OUString const & url):RegisteredDb(xContext, url) +{ + +} + +OUString ScriptBackendDb::getDbNSName() +{ + return OUSTR(EXTENSION_REG_NS); +} + +OUString ScriptBackendDb::getNSPrefix() +{ + return OUSTR(NS_PREFIX); +} + +OUString ScriptBackendDb::getRootElementName() +{ + return OUSTR(ROOT_ELEMENT_NAME); +} + +OUString ScriptBackendDb::getKeyElementName() +{ + return OUSTR(KEY_ELEMENT_NAME); +} + + + +} // namespace executable +} // namespace backend +} // namespace dp_registry + diff --git a/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx new file mode 100644 index 000000000000..9d227f8b64b8 --- /dev/null +++ b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_backend.h,v $ + * $Revision: 1.18 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_DP_SCRIPTBACKENDDB_HXX +#define INCLUDED_DP_SCRIPTBACKENDDB_HXX + +#include "rtl/ustring.hxx" +#include "dp_backenddb.hxx" +#include "boost/optional.hpp" +namespace css = ::com::sun::star; + +namespace com { namespace sun { namespace star { + namespace uno { + class XComponentContext; + } +}}} + +namespace dp_registry { +namespace backend { +namespace script { + +/* The XML file stores the extensions which are currently registered. + They will be removed when they are revoked. + */ +class ScriptBackendDb: public dp_registry::backend::RegisteredDb +{ +protected: + virtual ::rtl::OUString getDbNSName(); + + virtual ::rtl::OUString getNSPrefix(); + + virtual ::rtl::OUString getRootElementName(); + + virtual ::rtl::OUString getKeyElementName(); + + +public: + + ScriptBackendDb( css::uno::Reference const & xContext, + ::rtl::OUString const & url); +}; + + + +} +} +} +#endif + diff --git a/desktop/source/deployment/registry/script/makefile.mk b/desktop/source/deployment/registry/script/makefile.mk index ae159914a548..708def358021 100644 --- a/desktop/source/deployment/registry/script/makefile.mk +++ b/desktop/source/deployment/registry/script/makefile.mk @@ -41,7 +41,8 @@ INCPRE += ..$/..$/inc SLOFILES = \ $(SLO)$/dp_script.obj \ - $(SLO)$/dp_lib_container.obj + $(SLO)$/dp_lib_container.obj \ + $(SLO)$/dp_scriptbackenddb.obj .INCLUDE : ..$/..$/target.pmk .INCLUDE : target.mk diff --git a/scripting/java/com/sun/star/script/framework/container/UnoPkgContainer.java b/scripting/java/com/sun/star/script/framework/container/UnoPkgContainer.java index 4c6a4f1eda2b..edf6a2d806b7 100644 --- a/scripting/java/com/sun/star/script/framework/container/UnoPkgContainer.java +++ b/scripting/java/com/sun/star/script/framework/container/UnoPkgContainer.java @@ -50,10 +50,15 @@ public class UnoPkgContainer extends ParcelContainer { private Map registeredPackages = new HashMap(); + protected String extensionDb; + protected String extensionRepository; - public UnoPkgContainer( XComponentContext xCtx, String locationURL, String language ) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException + public UnoPkgContainer( XComponentContext xCtx, String locationURL, + String _extensionDb, String _extensionRepository, String language ) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException { super( xCtx, locationURL, language, false ); + extensionDb = _extensionDb; + extensionRepository = _extensionRepository; init(); } @@ -218,8 +223,8 @@ public class UnoPkgContainer extends ParcelContainer DeployedUnoPackagesDB dp = null; try { - String path = containerUrl.substring( 0, containerUrl.lastIndexOf("/") ); - String packagesUrl = PathUtils.make_url( path, "Scripts/unopkg-desc.xml" ); +// String path = containerUrl.substring( 0, containerUrl.lastIndexOf("/") ); + String packagesUrl = PathUtils.make_url( extensionDb, "/Scripts/" + extensionRepository + "-extension-desc.xml" ); LogUtils.DEBUG("getUnoPackagesDB() looking for existing db in " + packagesUrl ); if ( m_xSFA.exists( packagesUrl ) ) { @@ -277,8 +282,8 @@ public class UnoPkgContainer extends ParcelContainer OutputStream os = null; try { - String path = containerUrl.substring( 0, containerUrl.lastIndexOf("/") ); - String packagesUrl = PathUtils.make_url( path, "Scripts/unopkg-desc.xml" ); +// String path = containerUrl.substring( 0, containerUrl.lastIndexOf("/") ); + String packagesUrl = PathUtils.make_url( extensionDb, "/Scripts/" + extensionRepository + "-extension-desc.xml" ); xos = m_xSFA.openFileWrite( packagesUrl ); XTruncate xTrc = (XTruncate) UnoRuntime.queryInterface( XTruncate.class, xos ); if ( xTrc != null ) @@ -375,7 +380,10 @@ public class UnoPkgContainer extends ParcelContainer String parentUrl = uri; if ( uri.indexOf( "%2Funo_packages%2F" ) > -1 || - uri.indexOf( "/uno_packages/" ) > -1 ) + uri.indexOf( "/uno_packages/" ) > -1 || + uri.indexOf("$UNO_USER_PACKAGES_CACHE/") > -1 || + uri.indexOf("$UNO_SHARED_PACKAGES_CACHE/") > -1 || + uri.indexOf("$BUNDLED_EXTENSIONS/") > -1 ) { //its in a bundle need to determine the uno-package file its in LogUtils.DEBUG("processUnoPackage - is part of a uno bundle"); diff --git a/scripting/java/com/sun/star/script/framework/provider/ScriptProvider.java b/scripting/java/com/sun/star/script/framework/provider/ScriptProvider.java index c43756072ba3..e83410f3f35c 100755 --- a/scripting/java/com/sun/star/script/framework/provider/ScriptProvider.java +++ b/scripting/java/com/sun/star/script/framework/provider/ScriptProvider.java @@ -213,26 +213,40 @@ public abstract class ScriptProvider } else { + String extensionDb = null; + String extensionRepository = null; + if ( originalContextURL.startsWith( "bundled" ) ) + { + contextUrl = "vnd.sun.star.expand:$BUNDLED_EXTENSIONS"; + extensionDb = "vnd.sun.star.expand:${$BRAND_BASE_DIR/program/" + PathUtils.BOOTSTRAP_NAME + "::UserInstallation}/user"; + extensionRepository = "bundled"; + } + if ( originalContextURL.startsWith( "share" ) ) { contextUrl = "vnd.sun.star.expand:${$BRAND_BASE_DIR/program/" + PathUtils.BOOTSTRAP_NAME + "::BaseInstallation}/share"; + extensionDb = "vnd.sun.star.expand:${$BRAND_BASE_DIR/program/" + PathUtils.BOOTSTRAP_NAME + "::UserInstallation}/user"; + extensionRepository = "shared"; } else if ( originalContextURL.startsWith( "user" ) ) { contextUrl = "vnd.sun.star.expand:${$BRAND_BASE_DIR/program/" + PathUtils.BOOTSTRAP_NAME + "::UserInstallation}/user"; + extensionDb = "vnd.sun.star.expand:${$BRAND_BASE_DIR/program/" + PathUtils.BOOTSTRAP_NAME + "::UserInstallation}/user"; + extensionRepository = "user"; } if ( originalContextURL.endsWith( "uno_packages") ) { isPkgProvider = true; } - if ( originalContextURL.endsWith( "uno_packages") && !originalContextURL.equals( contextUrl ) ) + if ( originalContextURL.endsWith( "uno_packages") && !originalContextURL.equals( contextUrl ) + && !extensionRepository.equals("bundled")) { contextUrl = PathUtils.make_url( contextUrl, "uno_packages" ); } if ( isPkgProvider ) { - m_container = new UnoPkgContainer( m_xContext, contextUrl, language ); + m_container = new UnoPkgContainer( m_xContext, contextUrl, extensionDb, extensionRepository, language ); } else { diff --git a/scripting/source/provider/ActiveMSPList.cxx b/scripting/source/provider/ActiveMSPList.cxx index f8400ed77950..3c6206d8d051 100644 --- a/scripting/source/provider/ActiveMSPList.cxx +++ b/scripting/source/provider/ActiveMSPList.cxx @@ -59,6 +59,7 @@ ActiveMSPList::ActiveMSPList( const Reference< XComponentContext > & xContext ) { userDirString = ::rtl::OUString::createFromAscii("user"); shareDirString = ::rtl::OUString::createFromAscii("share"); + bundledDirString = ::rtl::OUString::createFromAscii("bundled"); } ActiveMSPList::~ActiveMSPList() @@ -307,6 +308,12 @@ ActiveMSPList::createNonDocMSPs() Reference< provider::XScriptProvider > shareMsp( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( serviceName, args, m_xContext ), UNO_QUERY ); // should check if provider reference is valid m_hMsps[ shareDirString ] = shareMsp; + + args[ 0 ] <<= bundledDirString; + Reference< provider::XScriptProvider > bundledMsp( m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( serviceName, args, m_xContext ), UNO_QUERY ); + // should check if provider reference is valid + m_hMsps[ bundledDirString ] = bundledMsp; + created = true; } diff --git a/scripting/source/provider/ActiveMSPList.hxx b/scripting/source/provider/ActiveMSPList.hxx index 5adf2fc5a961..b127f3c41b16 100644 --- a/scripting/source/provider/ActiveMSPList.hxx +++ b/scripting/source/provider/ActiveMSPList.hxx @@ -107,6 +107,7 @@ private: osl::Mutex m_mutex; ::rtl::OUString userDirString; ::rtl::OUString shareDirString; + ::rtl::OUString bundledDirString; css::uno::Reference< css::uno::XComponentContext > m_xContext; }; } // func_provider diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx index 5c164e08c100..f1113c1e114f 100644 --- a/xmlhelp/source/cxxhelp/provider/databases.cxx +++ b/xmlhelp/source/cxxhelp/provider/databases.cxx @@ -1511,6 +1511,7 @@ void ExtensionIteratorBase::init() m_bUserPackagesLoaded = false; m_bSharedPackagesLoaded = false; + m_bBundledPackagesLoaded = false; m_iUserPackage = 0; m_iSharedPackage = 0; m_iBundledPackage = 0; @@ -1624,7 +1625,7 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextSharedHelpPa if( m_iSharedPackage == m_aSharedPackagesSeq.getLength() ) { - m_eState = END_REACHED; + m_eState = BUNDLED_EXTENSIONS; } else { diff --git a/xmlhelp/source/treeview/tvread.cxx b/xmlhelp/source/treeview/tvread.cxx index 478562fca7b7..73c413394763 100644 --- a/xmlhelp/source/treeview/tvread.cxx +++ b/xmlhelp/source/treeview/tvread.cxx @@ -986,8 +986,10 @@ void ExtensionIteratorBase::init() m_bUserPackagesLoaded = false; m_bSharedPackagesLoaded = false; + m_bBundledPackagesLoaded = false; m_iUserPackage = 0; m_iSharedPackage = 0; + m_iBundledPackage = 0; } Reference< deployment::XPackage > ExtensionIteratorBase::implGetHelpPackageFromPackage @@ -1089,7 +1091,7 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextSharedHelpPa if( m_iSharedPackage == m_aSharedPackagesSeq.getLength() ) { - m_eState = END_REACHED; + m_eState = BUNDLED_EXTENSIONS; } else { @@ -1102,6 +1104,36 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextSharedHelpPa return xHelpPackage; } +Reference< deployment::XPackage > ExtensionIteratorBase::implGetNextBundledHelpPackage + ( Reference< deployment::XPackage >& o_xParentPackageBundle ) +{ + Reference< deployment::XPackage > xHelpPackage; + + if( !m_bBundledPackagesLoaded ) + { + Reference< XPackageManager > xBundledManager = + thePackageManagerFactory::get( m_xContext )->getPackageManager( rtl::OUString::createFromAscii("bundled") ); + m_aBundledPackagesSeq = xBundledManager->getDeployedPackages + ( Reference< task::XAbortChannel >(), Reference< ucb::XCommandEnvironment >() ); + + m_bBundledPackagesLoaded = true; + } + + if( m_iBundledPackage == m_aBundledPackagesSeq.getLength() ) + { + m_eState = END_REACHED; + } + else + { + const Reference< deployment::XPackage >* pBundledPackages = m_aBundledPackagesSeq.getConstArray(); + Reference< deployment::XPackage > xPackage = pBundledPackages[ m_iBundledPackage++ ]; + VOS_ENSURE( xPackage.is(), "ExtensionIteratorBase::implGetNextBundledHelpPackage(): Invalid package" ); + xHelpPackage = implGetHelpPackageFromPackage( xPackage, o_xParentPackageBundle ); + } + + return xHelpPackage; +} + inline bool isLetter( sal_Unicode c ) { bool bLetter = ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); @@ -1173,7 +1205,18 @@ rtl::OUString TreeFileIterator::nextTreeFile( sal_Int32& rnFileSize ) aRetFile = implGetTreeFileFromPackage( rnFileSize, xHelpPackage ); break; } - case END_REACHED: + case BUNDLED_EXTENSIONS: + { + Reference< deployment::XPackage > xParentPackageBundle; + Reference< deployment::XPackage > xHelpPackage = implGetNextBundledHelpPackage( xParentPackageBundle ); + if( !xHelpPackage.is() ) + break; + + aRetFile = implGetTreeFileFromPackage( rnFileSize, xHelpPackage ); + break; + } + + case END_REACHED: VOS_ENSURE( false, "DataBaseIterator::nextTreeFile(): Invalid case END_REACHED" ); break; } diff --git a/xmlhelp/source/treeview/tvread.hxx b/xmlhelp/source/treeview/tvread.hxx index 907568815568..7cc3887448be 100644 --- a/xmlhelp/source/treeview/tvread.hxx +++ b/xmlhelp/source/treeview/tvread.hxx @@ -328,6 +328,7 @@ namespace treeview { { USER_EXTENSIONS, SHARED_EXTENSIONS, + BUNDLED_EXTENSIONS, END_REACHED }; @@ -347,6 +348,9 @@ namespace treeview { ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextSharedHelpPackage ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); + com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextBundledHelpPackage + ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle ); + void implGetLanguageVectorFromPackage( ::std::vector< ::rtl::OUString > &rv, com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage ); @@ -365,8 +369,13 @@ namespace treeview { < com::sun::star::deployment::XPackage > > m_aSharedPackagesSeq; bool m_bSharedPackagesLoaded; + com::sun::star::uno::Sequence< com::sun::star::uno::Reference + < com::sun::star::deployment::XPackage > > m_aBundledPackagesSeq; + bool m_bBundledPackagesLoaded; + int m_iUserPackage; int m_iSharedPackage; + int m_iBundledPackage; }; // end class ExtensionIteratorBase -- cgit From 1ebaaaab00c19991a3cd0528d75a9caabde5649b Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 3 May 2010 11:51:05 +0200 Subject: jl152 import 263452 from native0jl:#i77196# fixed bundled extension help tree view, scripts in shared extensions... --- offapi/com/sun/star/script/makefile.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk index 579174390ec4..7fd09cedd94c 100644 --- a/offapi/com/sun/star/script/makefile.mk +++ b/offapi/com/sun/star/script/makefile.mk @@ -43,6 +43,7 @@ IDLFILES=\ LibraryNotLoadedException.idl\ XLibraryContainer.idl\ XLibraryContainer2.idl\ + XLibraryContainer3.idl\ XLibraryContainerPassword.idl\ XLibraryContainerExport.idl\ XPersistentLibraryContainer.idl\ -- cgit From 01d36efb20f6fbe8c42d83fd988336e5d60b61ef Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 4 May 2010 12:37:01 +0200 Subject: jl152 bundled extensions, import of changeset 263438:8b253e76e957 from native0jl --- scp2/source/ooo/common_brand.scp | 200 +++++++++++++++++++++++++- scp2/source/ooo/file_ooo.scp | 128 ++++++++--------- scp2/source/ooo/profileitem_ooo.scp | 86 ++++++++++- scp2/source/ooo/windowscustomaction_ooo.scp | 69 --------- solenv/bin/modules/installer/simplepackage.pm | 28 +++- solenv/bin/modules/installer/systemactions.pm | 47 ++++++ 6 files changed, 415 insertions(+), 143 deletions(-) diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp index f2f305181786..ca44a4e6c465 100644 --- a/scp2/source/ooo/common_brand.scp +++ b/scp2/source/ooo/common_brand.scp @@ -209,10 +209,174 @@ Directory gid_Brand_Dir_Share_Extension DosName = "extension"; End -Directory gid_Brand_Dir_Share_Extension_Install +Directory gid_Brand_Dir_Share_Extensions + ParentID = gid_Brand_Dir_Share; + DosName = "extensions"; +End + +Directory gid_Brand_Dir_Share_Extensions_Install ParentID = gid_Brand_Dir_Share_Extension; DosName = "install"; - Styles = (CREATE); +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Af + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-af"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Ca + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-ca"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Cs + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-cs"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Da + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-da"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_De_At + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-de-AT"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_De_Ch + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-de-CH"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_De_De + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-de-DE"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_En + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-en"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Es + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-es"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Et + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-et"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Fr + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-fr"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Gl + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-gl"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_He + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-he"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Hu + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-hu"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_It + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-it"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Lt + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-lt"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Ne + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-ne"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Nl + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-nl"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_No + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-no"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Pl + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-pl"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Pt + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-pt"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Ro + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-ro"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Ru + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-ru"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Sk + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-sk"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Sl + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-sl"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Sr + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-sr"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Sv + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-sv"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Sw + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-sw"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Th + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-th"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Vi + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-vi"; +End + +Directory gid_Brand_Dir_Share_Extensions_Dict_Zu + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "dict-zu"; +End + +Directory gid_Brand_Dir_Share_Extensions_Oooimprovement + ParentID = gid_Brand_Dir_Share_Extensions; + DosName = "OOoImprovement"; End Directory gid_Brand_Dir_Share_Uno_Packages @@ -1022,6 +1186,22 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ooo_Base_Dir #endif End +ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions + ModuleID = gid_Module_Root_Brand; + ProfileID = gid_Brand_Profile_Fundamental_Ini; + Section = "Bootstrap"; + Key = "BUNDLED_EXTENSIONS"; + Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":BUNDLED_EXTENSIONS}"; +End + +ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions_User + ModuleID = gid_Module_Root_Brand; + ProfileID = gid_Brand_Profile_Fundamental_Ini; + Section = "Bootstrap"; + Key = "BUNDLED_EXTENSIONS_USER"; + Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":BUNDLED_EXTENSIONS_USER}"; +End + ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Packages_Cache ModuleID = gid_Module_Root_Brand; ProfileID = gid_Brand_Profile_Fundamental_Ini; @@ -1030,6 +1210,14 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Packages_Cache Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":UNO_SHARED_PACKAGES_CACHE}"; End +ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Extensions_User + ModuleID = gid_Module_Root_Brand; + ProfileID = gid_Brand_Profile_Fundamental_Ini; + Section = "Bootstrap"; + Key = "SHARED_EXTENSIONS_USER"; + Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":SHARED_EXTENSIONS_USER}"; +End + ProfileItem gid_Brand_Profileitem_Fundamental_Uno_User_Packages_Cache ModuleID = gid_Module_Root_Brand; ProfileID = gid_Brand_Profile_Fundamental_Ini; @@ -1038,6 +1226,14 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_User_Packages_Cache Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":UNO_USER_PACKAGES_CACHE}"; End +ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Tmp_Extensions + ModuleID = gid_Module_Root_Brand; + ProfileID = gid_Brand_Profile_Fundamental_Ini; + Section = "Bootstrap"; + Key = "TMP_EXTENSIONS"; + Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":TMP_EXTENSIONS}"; +End + ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Types ModuleID = gid_Module_Root_Brand; ProfileID = gid_Brand_Profile_Fundamental_Ini; diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp index 19a15f7fcc11..5cd5a29b0065 100755 --- a/scp2/source/ooo/file_ooo.scp +++ b/scp2/source/ooo/file_ooo.scp @@ -1882,279 +1882,279 @@ End #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Af - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Af; Name = "dict-af.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Ca - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Ca; Name = "dict-ca.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Cs - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Cs; Name = "dict-cs.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Da - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Da; Name = "dict-da.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_De_AT - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_De_At; Name = "dict-de-AT.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_De_CH - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_De_Ch; Name = "dict-de-CH.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_De_DE - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_De_De; Name = "dict-de-DE.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_En - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_En; Name = "dict-en.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Es - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Es; Name = "dict-es.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Et - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Et; Name = "dict-et.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Fr - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Fr; Name = "dict-fr.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Gl - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Gl; Name = "dict-gl.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_He - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_He; Name = "dict-he.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Hu - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Hu; Name = "dict-hu.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_It - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_It; Name = "dict-it.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Lt - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Lt; Name = "dict-lt.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Ne - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Ne; Name = "dict-ne.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Nl - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Nl; Name = "dict-nl.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_No - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_No; Name = "dict-no.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Pl - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Pl; Name = "dict-pl.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Pt - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Pt; Name = "dict-pt.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Ro - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Ro; Name = "dict-ro.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Ru - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Ru; Name = "dict-ru.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Sk - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Sk; Name = "dict-sk.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Sl - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Sl; Name = "dict-sl.oxt"; - Styles = (PACKED, PATCH, FORCELANGUAGEPACK); + Styles = (PACKED, PATCH, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Sr - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Sr; Name = "dict-sr.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Sv - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Sv; Name = "dict-sv.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Sw - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Sw; Name = "dict-sw.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Th - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Th; Name = "dict-th.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Vi - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Vi; Name = "dict-vi.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif #ifndef WITHOUT_MYSPELL_DICTS File gid_File_Extension_Dictionary_Zu - Dir = gid_Brand_Dir_Share_Extension_Install; + Dir = gid_Brand_Dir_Share_Extensions_Dict_Zu; Name = "dict-zu.oxt"; - Styles = (PACKED, FORCELANGUAGEPACK); + Styles = (PACKED, FORCELANGUAGEPACK, ARCHIVE); UnixRights = 444; End #endif @@ -2162,8 +2162,8 @@ End // #ifdef BUILD_SPECIAL // File gid_File_Extension_Oxt_Oooimprovement // Name = "OOoImprovement.oxt"; -// Dir = gid_Brand_Dir_Share_Extension_Install; -// Styles = (PACKED); +// Dir = gid_Brand_Dir_Share_Extensions_Oooimprovement; +// Styles = (PACKED, ARCHIVE); // UnixRights = 444; // End // #endif diff --git a/scp2/source/ooo/profileitem_ooo.scp b/scp2/source/ooo/profileitem_ooo.scp index ebd0b87fbabd..9818d5b26749 100644 --- a/scp2/source/ooo/profileitem_ooo.scp +++ b/scp2/source/ooo/profileitem_ooo.scp @@ -173,6 +173,24 @@ End #endif +ProfileItem gid_Profileitem_Uno_Uno_Bundled_Extensions + ProfileID = gid_Profile_Uno_Ini; + ModuleID = gid_Module_Root; + Section = "Bootstrap"; + Order = 1; + Key = "BUNDLED_EXTENSIONS"; + Value = "$BRAND_BASE_DIR/share/extensions"; +End + +ProfileItem gid_Profileitem_Uno_Uno_Bundled_Extensions_User + ProfileID = gid_Profile_Uno_Ini; + ModuleID = gid_Module_Root; + Section = "Bootstrap"; + Order = 1; + Key = "BUNDLED_EXTENSIONS_USER"; + Value = "${$BRAND_BASE_DIR/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/extensions/bundled"; +End + ProfileItem gid_Profileitem_Uno_Uno_Shared_Packages ProfileID = gid_Profile_Uno_Ini; ModuleID = gid_Module_Root; @@ -191,6 +209,15 @@ ProfileItem gid_Profileitem_Uno_Uno_Shared_Packages_Cache Value = "$UNO_SHARED_PACKAGES/cache"; End +ProfileItem gid_Profileitem_Uno_Uno_Shared_Extensions_User + ProfileID = gid_Profile_Uno_Ini; + ModuleID = gid_Module_Root; + Section = "Bootstrap"; + Order = 1; + Key = "SHARED_EXTENSIONS_USER"; + Value = "${$BRAND_BASE_DIR/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/extensions/shared"; +End + ProfileItem gid_Profileitem_Uno_Uno_User_Packages ProfileID = gid_Profile_Uno_Ini; ModuleID = gid_Module_Root; @@ -200,6 +227,15 @@ ProfileItem gid_Profileitem_Uno_Uno_User_Packages Value = "${$BRAND_BASE_DIR/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/uno_packages"; End +ProfileItem gid_Profileitem_Uno_Uno_Bundled_Tmp_Extensions + ProfileID = gid_Profile_Uno_Ini; + ModuleID = gid_Module_Root; + Section = "Bootstrap"; + Order = 1; + Key = "TMP_EXTENSIONS"; + Value = "${$BRAND_BASE_DIR/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/extensions/tmp"; +End + ProfileItem gid_Profileitem_Uno_Uno_User_Packages_Cache ProfileID = gid_Profile_Uno_Ini; ModuleID = gid_Module_Root; @@ -208,6 +244,14 @@ ProfileItem gid_Profileitem_Uno_Uno_User_Packages_Cache Key = "UNO_USER_PACKAGES_CACHE"; Value = "$UNO_USER_PACKAGES/cache"; End +ProfileItem gid_Profileitem_Uno_Pkg_BundledUnoFile + ProfileID = gid_Profile_Uno_Ini; + ModuleID = gid_Module_Root; + Section = "Bootstrap"; + Order = 5; + Key = "PKG_BundledUnoFile"; + Value = "$BUNDLED_EXTENSIONS_USER/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"; +End ProfileItem gid_Profileitem_Uno_Pkg_SharedUnoFile ProfileID = gid_Profile_Uno_Ini; @@ -215,7 +259,7 @@ ProfileItem gid_Profileitem_Uno_Pkg_SharedUnoFile Section = "Bootstrap"; Order = 5; Key = "PKG_SharedUnoFile"; - Value = "$UNO_SHARED_PACKAGES_CACHE/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"; + Value = "$SHARED_EXTENSIONS_USER/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"; End ProfileItem gid_Profileitem_Uno_Pkg_UserUnoFile @@ -227,6 +271,22 @@ ProfileItem gid_Profileitem_Uno_Pkg_UserUnoFile Value = "$UNO_USER_PACKAGES_CACHE/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"; End +ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Bundled_Extensions + ModuleID = gid_Module_Root; + ProfileID = gid_Profile_Fundamentalbasis_Ini; + Section = "Bootstrap"; + Key = "BUNDLED_EXTENSIONS"; + Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS}"; +End + +ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Bundled_Extensions_User + ModuleID = gid_Module_Root; + ProfileID = gid_Profile_Fundamentalbasis_Ini; + Section = "Bootstrap"; + Key = "BUNDLED_EXTENSIONS_USER"; + Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS_USER}"; +End + ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Shared_Packages_Cache ModuleID = gid_Module_Root; ProfileID = gid_Profile_Fundamentalbasis_Ini; @@ -235,6 +295,14 @@ ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Shared_Packages_Cache Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_SHARED_PACKAGES_CACHE}"; End +ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Shared_Extensions_User + ModuleID = gid_Module_Root; + ProfileID = gid_Profile_Fundamentalbasis_Ini; + Section = "Bootstrap"; + Key = "SHARED_EXTENSIONS_USER"; + Value = "${$ORIGIN/" PROFILENAME(uno) ":SHARED_EXTENSIONS_USER}"; +End + ProfileItem gid_Profileitem_Fundamentalbasis_Uno_User_Packages_Cache ModuleID = gid_Module_Root; ProfileID = gid_Profile_Fundamentalbasis_Ini; @@ -243,15 +311,23 @@ ProfileItem gid_Profileitem_Fundamentalbasis_Uno_User_Packages_Cache Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_USER_PACKAGES_CACHE}"; End +ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Tmp_Extensions + ModuleID = gid_Module_Root; + ProfileID = gid_Profile_Fundamentalbasis_Ini; + Section = "Bootstrap"; + Key = "TMP_EXTENSIONS"; + Value = "${$ORIGIN/" PROFILENAME(uno) ":TMP_EXTENSIONS}"; +End + ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Types ModuleID = gid_Module_Root; ProfileID = gid_Profile_Fundamentalbasis_Ini; Section = "Bootstrap"; Key = "URE_MORE_TYPES"; #if defined ENABLE_VBA && !defined VBA_EXTENSION - Value = "$ORIGIN/offapi.rdb $ORIGIN/oovbaapi.rdb ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES}"; + Value = "$ORIGIN/offapi.rdb $ORIGIN/oovbaapi.rdb ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_TYPES}"; #else - Value = "$ORIGIN/offapi.rdb ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES}"; + Value = "$ORIGIN/offapi.rdb ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_TYPES}"; #endif End @@ -260,7 +336,7 @@ ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Services ProfileID = gid_Profile_Fundamentalbasis_Ini; Section = "Bootstrap"; Key = "URE_MORE_SERVICES"; - Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_SERVICES} $ORIGIN/services.rdb"; + Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_SERVICES} $ORIGIN/services.rdb"; End ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Java_Types @@ -268,7 +344,7 @@ ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Java_Types ProfileID = gid_Profile_Fundamentalbasis_Ini; Section = "Bootstrap"; Key = "URE_MORE_JAVA_TYPES"; - Value = "$ORIGIN/classes/unoil.jar $ORIGIN/classes/ScriptFramework.jar ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH}"; + Value = "$ORIGIN/classes/unoil.jar $ORIGIN/classes/ScriptFramework.jar ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}"; End ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Java_Jfw_Shared_Data diff --git a/scp2/source/ooo/windowscustomaction_ooo.scp b/scp2/source/ooo/windowscustomaction_ooo.scp index 9228b5cd711c..568b3996a8b7 100755 --- a/scp2/source/ooo/windowscustomaction_ooo.scp +++ b/scp2/source/ooo/windowscustomaction_ooo.scp @@ -199,16 +199,6 @@ WindowsCustomAction gid_Customaction_Shellextensionsdll7 Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "InstallValidate"); End -WindowsCustomAction gid_Customaction_Register_Extensions - Name = "RegisterExtensions"; - Typ = "65"; - Source = "shlxtmsi.dll"; - Target = "RegisterExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "end"); - Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "end"); -End - WindowsCustomAction gid_Customaction_Set_Admininstall Name = "SetAdminInstallProperty"; Typ = "65"; @@ -218,27 +208,6 @@ WindowsCustomAction gid_Customaction_Set_Admininstall Assignment1 = ("AdminExecuteSequence", "", "InstallInitialize"); End -/* -WindowsCustomAction gid_Customaction_Remove_Extensions - Name = "RemoveExtensions"; - Typ = "65"; - Source = "shlxtmsi.dll"; - Target = "RemoveExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\"", "Shellextensionsdll4"); -End -*/ - -WindowsCustomAction gid_Customaction_Deregister_Extensions - Name = "DeregisterExtensions"; - Typ = "65"; - Source = "shlxtmsi.dll"; - Target = "DeregisterExtensions"; - Inbinarytable = 1; - // Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"\"", "gid_Customaction_Remove_Extensions"); - Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"\"", "behind_IsolateComponents"); -End - WindowsCustomAction gid_Customaction_Check_Install_Directory Name = "CheckInstallDirectory"; Typ = "65"; @@ -318,44 +287,6 @@ WindowsCustomAction gid_Customaction_Patch_InstallExchangeFiles Assignment2 = ("AdminExecuteSequence", "", "behind_InstallFinalize"); End -WindowsCustomAction gid_Customaction_Langpack_Register_Extensions - Name = "RegisterExtensions"; - Typ = "65"; - Source = "lngpckinsthlp.dll"; - Target = "RegisterExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "", "end"); - Assignment2 = ("AdminExecuteSequence", "", "end"); -End - -WindowsCustomAction gid_Customaction_Langpack_Deregister_Extensions - Name = "DeregisterExtensions"; - Typ = "65"; - Source = "lngpckinsthlp.dll"; - Target = "DeregisterExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "", "InstallInitialize"); -End - -WindowsCustomAction gid_Customaction_Patch_Register_Extensions - Name = "RegisterExtensions"; - Typ = "65"; - Source = "patchmsi.dll"; - Target = "RegisterExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "", "end"); - Assignment2 = ("AdminExecuteSequence", "", "end"); -End - -WindowsCustomAction gid_Customaction_Patch_Deregister_Extensions - Name = "DeregisterExtensions"; - Typ = "65"; - Source = "patchmsi.dll"; - Target = "DeregisterExtensions"; - Inbinarytable = 1; - Assignment1 = ("InstallExecuteSequence", "", "InstallInitialize"); -End - WindowsCustomAction gid_Customaction_Patch_SetFeatureState Name = "SetFeatureState"; Typ = "65"; diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm index 9666ef3e1af5..5c2e4b62405e 100644 --- a/solenv/bin/modules/installer/simplepackage.pm +++ b/solenv/bin/modules/installer/simplepackage.pm @@ -61,6 +61,21 @@ sub check_simple_packager_project } } +#################################################### +# Detecting the directory with extensions +#################################################### + +sub get_extensions_dir +{ + my ( $subfolderdir ) = @_; + + my $extensiondir = $subfolderdir . $installer::globals::separator; + if ( $installer::globals::officedirhostname ne "" ) { $extensiondir = $extensiondir . $installer::globals::officedirhostname . $installer::globals::separator; } + $extensiondir = $extensiondir . "share" . $installer::globals::separator . "extensions"; + + return $extensiondir; +} + #################################################### # Registering extensions #################################################### @@ -766,9 +781,16 @@ sub create_simple_package # Registering the extensions - installer::logger::print_message( "... registering extensions ...\n" ); - installer::logger::include_header_into_logfile("Registering extensions:"); - register_extensions($subfolderdir, $languagestringref); + # installer::logger::print_message( "... registering extensions ...\n" ); + # installer::logger::include_header_into_logfile("Registering extensions:"); + # register_extensions($subfolderdir, $languagestringref); + + installer::logger::print_message( "... removing superfluous directories ...\n" ); + installer::logger::include_header_into_logfile("Removing superfluous directories:"); + + my $extensionfolder = get_extensions_dir($subfolderdir); + + installer::systemactions::remove_empty_dirs_in_folder($extensionfolder); if ( $installer::globals::compiler =~ /^unxmacx/ ) { diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm index bbc65d3c1f7a..4ec75f37ce02 100644 --- a/solenv/bin/modules/installer/systemactions.pm +++ b/solenv/bin/modules/installer/systemactions.pm @@ -1657,4 +1657,51 @@ sub read_full_directory { return } +############################################################## +# Removing all empty directories below a specified directory +############################################################## + +sub remove_empty_dirs_in_folder +{ + my ( $dir ) = @_; + + my @content = (); + my $infoline = ""; + + $dir =~ s/\Q$installer::globals::separator\E\s*$//; + + if ( -d $dir ) + { + opendir(DIR, $dir); + @content = readdir(DIR); + closedir(DIR); + + my $oneitem; + + foreach $oneitem (@content) + { + if ((!($oneitem eq ".")) && (!($oneitem eq ".."))) + { + my $item = $dir . $installer::globals::separator . $oneitem; + + if ( -d $item ) # recursive + { + remove_empty_dirs_in_folder($item); + } + } + } + + # try to remove empty directory + my $returnvalue = rmdir $dir; + + if ( $returnvalue ) + { + $infoline = "Successfully removed empty dir $dir\n"; + push(@installer::globals::logfileinfo, $infoline); + } + + } + +} + 1; -- cgit From 707230d6160c018a04ae460d73bc828ed8ae623a Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 3 May 2010 11:51:05 +0200 Subject: jl152 import 263452 from native0jl:#i77196# fixed bundled extension help tree view, scripts in shared extensions... --- solenv/bin/modules/installer/archivefiles.pm | 71 ++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/solenv/bin/modules/installer/archivefiles.pm b/solenv/bin/modules/installer/archivefiles.pm index 80c468b61db2..6398494b8fdb 100644 --- a/solenv/bin/modules/installer/archivefiles.pm +++ b/solenv/bin/modules/installer/archivefiles.pm @@ -84,6 +84,54 @@ sub get_patch_file_list return $patchfilesarray; } +################################################################# +# Reading all executables in the "manifest.xml" +################################################################# + +sub get_all_executables_from_manifest +{ + my ($unzipdir, $manifestfile, $executable_files_in_extensions) = @_; + + my $is_executable = 0; + + for ( my $i = 0; $i <= $#{$manifestfile}; $i++ ) + { + my $line = ${$manifestfile}[$i]; + + if ( $line =~ /\"application\/vnd\.sun\.star\.executable\"/ ) { $is_executable = 1; } + + if (( $line =~ /manifest\:full\-path=\"(.*?)\"/ ) && ( $is_executable )) + { + my $filename = $unzipdir . $installer::globals::separator . $1; + # making only slashes for comparison reasons + $filename =~ s/\\/\//g; + $executable_files_in_extensions->{$filename} = 1; + } + + if ( $line =~ /\/\>/ ) { $is_executable = 0; } + } +} + +################################################################# +# Reading the "manifest.xml" in extensions and determine, if +# there are executable files +################################################################# + +sub collect_all_executable_files_in_extensions +{ + my ($unzipdir, $executable_files_in_extensions) = @_; + + $unzipdir =~ s/\Q$installer::globals::separator\E\s*$//; + + my $manifestfilename = $unzipdir . $installer::globals::separator . "META-INF" . $installer::globals::separator . "manifest.xml"; + + if ( -f $manifestfilename ) + { + my $manifestfile = installer::files::read_file($manifestfilename); + get_all_executables_from_manifest($unzipdir, $manifestfile, $executable_files_in_extensions); + } +} + ################################################################# # Analyzing files with flag ARCHIVE ################################################################# @@ -133,6 +181,10 @@ sub resolving_archive_flag my $rename_to_language = 0; if ( $styles =~ /\bRENAME_TO_LANGUAGE\b/ ) { $rename_to_language = 1; } # special handling for renamed files (scriptitems.pm) + my %executable_files_in_extensions = (); + my $set_executable_privileges = 0; # setting privileges for exectables is required for oxt files + if ( $onefile->{'Name'} =~ /\.oxt\s*$/ ) { $set_executable_privileges = 1; } + # mechanism to select files from an archive files my $select_files = 0; my $selectlistfiles = ""; @@ -252,6 +304,12 @@ sub resolving_archive_flag push( @installer::globals::logfileinfo, $infoline); } } + + # Selecting names of executable files in extensions + if ( $set_executable_privileges ) + { + collect_all_executable_files_in_extensions($unzipdir, \%executable_files_in_extensions); + } } my $zipfileref = \@zipfile; @@ -305,6 +363,19 @@ sub resolving_archive_flag push( @installer::globals::logfileinfo, $infoline); } + if ( $set_executable_privileges ) + { + # All pathes to executables are saved in the hash %executable_files_in_extensions + my $compare_path = $newfile{'sourcepath'}; + $compare_path =~ s/\\/\//g; # contains only slashes for comparison reasons + if ( exists($executable_files_in_extensions{$compare_path}) ) + { + $newfile{'UnixRights'} = "775"; + $infoline = "Executable in Extension: Setting unix rights for \"$newfile{'sourcepath'}\" to \"$newfile{'UnixRights'}\"\n"; + push( @installer::globals::logfileinfo, $infoline); + } + } + if ( $select_files ) { if ( ! installer::existence::exists_in_array($zipname,$selectlistfiles) ) -- cgit From e2778d307ea02956d3cdd354b0d19d8069df49ff Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 3 May 2010 13:13:47 +0200 Subject: vitomation01: #i109562 - Remove no longer existing include --- testautomation/framework/optional/f_filedlg_dialogtest.bas | 2 -- 1 file changed, 2 deletions(-) diff --git a/testautomation/framework/optional/f_filedlg_dialogtest.bas b/testautomation/framework/optional/f_filedlg_dialogtest.bas index d9ccb1038780..6ef9dd84dd84 100755 --- a/testautomation/framework/optional/f_filedlg_dialogtest.bas +++ b/testautomation/framework/optional/f_filedlg_dialogtest.bas @@ -59,8 +59,6 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_docfuncs.inc" use "global\tools\includes\optional\t_accels.inc" - use "framework\tools\includes\tabpages.inc" - gApplication = "WRITER" Call GetUseFiles -- cgit From 9205bc69fc5458c5090e8c1e97aed8bde9e776a1 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Mon, 3 May 2010 13:32:59 +0200 Subject: dr76: #i104719# preprocess VML streams to remove all quirks making expat fail --- oox/source/vml/vmlinputstream.cxx | 219 +++++++++++++++++++++++++++++++++++--- 1 file changed, 204 insertions(+), 15 deletions(-) diff --git a/oox/source/vml/vmlinputstream.cxx b/oox/source/vml/vmlinputstream.cxx index d80058c8f3e0..a6d50e193bc4 100644 --- a/oox/source/vml/vmlinputstream.cxx +++ b/oox/source/vml/vmlinputstream.cxx @@ -26,9 +26,13 @@ ************************************************************************/ #include "oox/vml/vmlinputstream.hxx" -#include -#include +#include +#include +#include +#include "oox/helper/helper.hxx" +using ::rtl::OString; +using ::rtl::OStringBuffer; using ::com::sun::star::uno::Exception; using ::com::sun::star::uno::Reference; using ::com::sun::star::io::XInputStream; @@ -38,6 +42,116 @@ namespace vml { // ============================================================================ +namespace { + +inline const sal_Char* lclFindCharacter( const sal_Char* pcBeg, const sal_Char* pcEnd, sal_Char cChar ) +{ + sal_Int32 nIndex = rtl_str_indexOfChar_WithLength( pcBeg, static_cast< sal_Int32 >( pcEnd - pcBeg ), cChar ); + return (nIndex < 0) ? pcEnd : (pcBeg + nIndex); +} + +inline bool lclIsWhiteSpace( sal_Char cChar ) +{ + return (cChar == ' ') || (cChar == '\t') || (cChar == '\n') || (cChar == '\r'); +} + +const sal_Char* lclFindWhiteSpace( const sal_Char* pcBeg, const sal_Char* pcEnd ) +{ + for( ; pcBeg < pcEnd; ++pcBeg ) + if( lclIsWhiteSpace( *pcBeg ) ) + return pcBeg; + return pcEnd; +} + +const sal_Char* lclFindNonWhiteSpace( const sal_Char* pcBeg, const sal_Char* pcEnd ) +{ + for( ; pcBeg < pcEnd; ++pcBeg ) + if( !lclIsWhiteSpace( *pcBeg ) ) + return pcBeg; + return pcEnd; +} + +const sal_Char* lclTrimWhiteSpaceFromEnd( const sal_Char* pcBeg, const sal_Char* pcEnd ) +{ + while( (pcBeg < pcEnd) && lclIsWhiteSpace( pcEnd[ -1 ] ) ) + --pcEnd; + return pcEnd; +} + +inline void lclAppendToBuffer( OStringBuffer& rBuffer, const sal_Char* pcBeg, const sal_Char* pcEnd ) +{ + rBuffer.append( pcBeg, static_cast< sal_Int32 >( pcEnd - pcBeg ) ); +} + +// ---------------------------------------------------------------------------- + +void lclProcessAttribs( OStringBuffer& rBuffer, const sal_Char* pcBeg, const sal_Char* pcEnd ) +{ + /* Map attribute names to char-pointer of all attributes. This map is used + to find multiple occurences of attributes with the same name. The + mapped pointers are used as map key in the next map below. */ + typedef ::std::map< OString, const sal_Char* > AttributeNameMap; + AttributeNameMap aAttributeNames; + + /* Map the char-pointers of all attributes to the full attribute definition + string. This preserves the original order of the used attributes. */ + typedef ::std::map< const sal_Char*, OString > AttributeDataMap; + AttributeDataMap aAttributes; + + bool bOk = true; + const sal_Char* pcNameBeg = pcBeg; + while( bOk && (pcNameBeg < pcEnd) ) + { + // pcNameBeg points to begin of attribute name, find equality sign + const sal_Char* pcEqualSign = lclFindCharacter( pcNameBeg, pcEnd, '=' ); + if( (bOk = pcEqualSign < pcEnd) == true ) + { + // find end of attribute name (ignore whitespace between name and equality sign) + const sal_Char* pcNameEnd = lclTrimWhiteSpaceFromEnd( pcNameBeg, pcEqualSign ); + if( (bOk = pcNameBeg < pcNameEnd) == true ) + { + // find begin of attribute value (must be single or double quote) + const sal_Char* pcValueBeg = lclFindNonWhiteSpace( pcEqualSign + 1, pcEnd ); + if( (bOk = (pcValueBeg < pcEnd) && ((*pcValueBeg == '\'') || (*pcValueBeg == '"'))) == true ) + { + // find end of attribute value (matching quote character) + const sal_Char* pcValueEnd = lclFindCharacter( pcValueBeg + 1, pcEnd, *pcValueBeg ); + if( (bOk = pcValueEnd < pcEnd) == true ) + { + ++pcValueEnd; + OString aAttribName( pcNameBeg, static_cast< sal_Int32 >( pcNameEnd - pcNameBeg ) ); + OString aAttribData( pcNameBeg, static_cast< sal_Int32 >( pcValueEnd - pcNameBeg ) ); + // search for an existing attribute with the same name + AttributeNameMap::iterator aIt = aAttributeNames.find( aAttribName ); + // remove its definition from the data map + if( aIt != aAttributeNames.end() ) + aAttributes.erase( aIt->second ); + // insert the attribute into both maps + aAttributeNames[ aAttribName ] = pcNameBeg; + aAttributes[ pcNameBeg ] = aAttribData; + // continue with next attribute (skip whitespace after this attribute) + pcNameBeg = pcValueEnd; + if( (pcNameBeg < pcEnd) && ((bOk = lclIsWhiteSpace( *pcNameBeg )) == true) ) + pcNameBeg = lclFindNonWhiteSpace( pcNameBeg + 1, pcEnd ); + } + } + } + } + } + + // if no error has occured, build the resulting attribute list + if( bOk ) + for( AttributeDataMap::iterator aIt = aAttributes.begin(), aEnd = aAttributes.end(); aIt != aEnd; ++aIt ) + rBuffer.append( ' ' ).append( aIt->second ); + // on error, just append the complete passed string + else + lclAppendToBuffer( rBuffer, pcBeg, pcEnd ); +} + +} // namespace + +// ============================================================================ + StreamDataContainer::StreamDataContainer( const Reference< XInputStream >& rxInStrm ) { if( rxInStrm.is() ) try @@ -49,26 +163,101 @@ StreamDataContainer::StreamDataContainer( const Reference< XInputStream >& rxInS { } - // parse the data and eat all parser instructions that make expat sad if( maDataSeq.hasElements() ) { - sal_Char* pcBeg = reinterpret_cast< sal_Char* >( maDataSeq.getArray() ); - sal_Char* pcEnd = pcBeg + maDataSeq.getLength(); - sal_Char* pcCurr = pcBeg; + const OString aCDataOpen = CREATE_OSTRING( "" ); + + OStringBuffer aBuffer; + aBuffer.ensureCapacity( maDataSeq.getLength() + 256 ); + const sal_Char* pcCurr = reinterpret_cast< const sal_Char* >( maDataSeq.getConstArray() ); + const sal_Char* pcEnd = pcCurr + maDataSeq.getLength(); while( pcCurr < pcEnd ) { - pcCurr = ::std::find( pcCurr, pcEnd, '<' ); - sal_Char* pcClose = ::std::find( pcCurr, pcEnd, '>' ); - if( (pcCurr < pcEnd) && (pcClose < pcEnd) && (pcClose - pcCurr >= 5) && (pcCurr[ 1 ] == '!') && (pcCurr[ 2 ] == '[') && (pcClose[ -1 ] == ']') ) + // look for the next opening angle bracket + const sal_Char* pcOpen = lclFindCharacter( pcCurr, pcEnd, '<' ); + // copy all characters from current position to opening bracket + lclAppendToBuffer( aBuffer, pcCurr, pcOpen ); + + // nothing to do if no opening bracket has been found + if( pcOpen < pcEnd ) { - ++pcClose; - memmove( pcCurr, pcClose, pcEnd - pcClose ); - pcEnd -= (pcClose - pcCurr); + // string length from opening bracket to end + sal_Int32 nLengthToEnd = static_cast< sal_Int32 >( pcEnd - pcOpen ); + + // check for CDATA part, starting with '' + sal_Int32 nClosePos = rtl_str_indexOfStr_WithLength( pcOpen, nLengthToEnd, aCDataClose.getStr(), aCDataClose.getLength() ); + pcCurr = (nClosePos < 0) ? pcEnd : (pcOpen + nClosePos + aCDataClose.getLength()); + // copy the entire CDATA part + lclAppendToBuffer( aBuffer, pcOpen, pcCurr ); + } + + // no CDATA part - process the element starting at pcOpen + else + { + // look for the next closing angle bracket + const sal_Char* pcClose = lclFindCharacter( pcOpen + 1, pcEnd, '>' ); + // complete element found? + if( pcClose < pcEnd ) + { + // continue after closing bracket + pcCurr = pcClose + 1; + // length of entire element with angle brackets + sal_Int32 nElementLen = static_cast< sal_Int32 >( pcCurr - pcOpen ); + + // skip parser instructions: '' + if( (nElementLen >= 5) && (pcOpen[ 1 ] == '!') && (pcOpen[ 2 ] == '[') && (pcClose[ -1 ] == ']') ) + { + // do nothing + } + + // replace '
              ' elements with '
              ' elements + else if( (nElementLen >= 4) && (pcOpen[ 1 ] == 'b') && (pcOpen[ 2 ] == 'r') && (lclFindNonWhiteSpace( pcOpen + 3, pcClose ) == pcClose) ) + { + aBuffer.append( RTL_CONSTASCII_STRINGPARAM( "
              " ) ); + } + + // check start elements and empty elements for repeated attributes + else if( pcOpen[ 1 ] != '/' ) + { + // find positions of text content inside brackets, exclude '/' in '' + const sal_Char* pcContentBeg = pcOpen + 1; + bool bIsEmptyElement = pcClose[ -1 ] == '/'; + const sal_Char* pcContentEnd = bIsEmptyElement ? (pcClose - 1) : pcClose; + // append element name to buffer + const sal_Char* pcWhiteSpace = lclFindWhiteSpace( pcContentBeg, pcContentEnd ); + lclAppendToBuffer( aBuffer, pcOpen, pcWhiteSpace ); + // find begin of attributes, and process all attributes + const sal_Char* pcAttribBeg = lclFindNonWhiteSpace( pcWhiteSpace, pcContentEnd ); + if( pcAttribBeg < pcContentEnd ) + lclProcessAttribs( aBuffer, pcAttribBeg, pcContentEnd ); + // close the element + if( bIsEmptyElement ) + aBuffer.append( '/' ); + aBuffer.append( '>' ); + } + + // append end elements without further processing + else + { + lclAppendToBuffer( aBuffer, pcOpen, pcCurr ); + } + } + else + { + // no complete element found, copy all from opening bracket to end + lclAppendToBuffer( aBuffer, pcOpen, pcEnd ); + pcCurr = pcEnd; + } + } } - else - pcCurr = pcClose; } - maDataSeq.realloc( static_cast< sal_Int32 >( pcEnd - pcBeg ) ); + + // set the final data sequence + maDataSeq = ::comphelper::ByteSequence( reinterpret_cast< const sal_Int8* >( aBuffer.getStr() ), aBuffer.getLength() ); } } -- cgit From 6241367966bca60d2ee49a693d23c59acfac3349 Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Mon, 3 May 2010 14:22:23 +0200 Subject: jl152 import 263453 from native0jl:#i77196# Use ExtensionManager instead of PackageManager --- desktop/source/app/check_ext_deps.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index c3eb81dfc3ec..7629a5c5cf83 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -47,8 +47,6 @@ #include #include #include "com/sun/star/deployment/XPackage.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" #include "com/sun/star/deployment/ExtensionManager.hpp" #include #include -- cgit From 1061de2f6c2b2f220d69503705c24eafa76c2422 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 3 May 2010 14:35:48 +0200 Subject: vitomation01: #i109562 - hDeleteMacro() was too fast. Added a minute slowdown between keyboard actions --- testautomation/global/tools/includes/optional/t_basic_ide_tools.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc index 34b3311bd8bf..fcf8d301db58 100755 --- a/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc +++ b/testautomation/global/tools/includes/optional/t_basic_ide_tools.inc @@ -276,9 +276,9 @@ function hDeleteMacro() as boolean kontext "BasicIDE" if ( BasicIDE.exists() ) then - WaitSlot() : EditWindow.typeKeys( "" ) - WaitSlot() : EditWindow.typeKeys( "" ) - WaitSlot() : EditWindow.typeKeys( "" ) + WaitSlot() : Wait( 100 ) : EditWindow.typeKeys( "" ) + WaitSlot() : Wait( 100 ) : EditWindow.typeKeys( "" ) + WaitSlot() : Wait( 100 ) : EditWindow.typeKeys( "" ) hDeleteMacro() = hIsEditWindowEmpty() else warnlog( CFN & "Basic IDE is not open" ) -- cgit From 9ab3e6e31798adb32145948f64c4c41363be6ec8 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Mon, 3 May 2010 15:03:12 +0200 Subject: dr76: #i104719# import VML fill bitmaps --- oox/inc/oox/vml/vmlformatting.hxx | 1 + oox/inc/oox/vml/vmlshapecontext.hxx | 3 +++ oox/source/vml/vmlformatting.cxx | 18 ++++++++++++++++++ oox/source/vml/vmlshapecontext.cxx | 30 +++++++++++++++++++----------- 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/oox/inc/oox/vml/vmlformatting.hxx b/oox/inc/oox/vml/vmlformatting.hxx index b997c7451fe4..ee2d6e90bacd 100644 --- a/oox/inc/oox/vml/vmlformatting.hxx +++ b/oox/inc/oox/vml/vmlformatting.hxx @@ -165,6 +165,7 @@ struct FillModel OptValue< double > moFocus; /// Linear gradient focus of second color. OptValue< DoublePair > moFocusPos; /// Rectanguar gradient focus position of second color. OptValue< DoublePair > moFocusSize; /// Rectanguar gradient focus size of second color. + OptValue< ::rtl::OUString > moBitmapPath; /// Path to fill bitmap fragment. OptValue< bool > moRotate; /// True = rotate gradient/bitmap with shape. void assignUsed( const FillModel& rSource ); diff --git a/oox/inc/oox/vml/vmlshapecontext.hxx b/oox/inc/oox/vml/vmlshapecontext.hxx index a72d3fd09039..bda7d90f34e2 100644 --- a/oox/inc/oox/vml/vmlshapecontext.hxx +++ b/oox/inc/oox/vml/vmlshapecontext.hxx @@ -94,6 +94,9 @@ private: /** Processes the 'style' attribute. */ void setStyle( const ::rtl::OUString& rStyle ); + /** Resolve a relation identifier to a fragment path. */ + OptValue< ::rtl::OUString > decodeFragmentPath( const AttributeList& rAttribs, sal_Int32 nToken ) const; + private: ShapeTypeModel& mrTypeModel; }; diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index be3f3dd19e8c..4c3fd1d2be98 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -468,6 +468,7 @@ void FillModel::assignUsed( const FillModel& rSource ) moFocus.assignIfUsed( rSource.moFocus ); moFocusPos.assignIfUsed( rSource.moFocusPos ); moFocusSize.assignIfUsed( rSource.moFocusSize ); + moBitmapPath.assignIfUsed( rSource.moBitmapPath ); moRotate.assignIfUsed( rSource.moRotate ); } @@ -558,6 +559,23 @@ void FillModel::pushToPropMap( PropertyMap& rPropMap, const FilterBase& rFilter } break; + case XML_pattern: + case XML_tile: + case XML_frame: + { + if( moBitmapPath.has() && moBitmapPath.get().getLength() > 0 ) + { + aFillProps.maBlipProps.mxGraphic = rFilter.importEmbeddedGraphic( moBitmapPath.get() ); + if( aFillProps.maBlipProps.mxGraphic.is() ) + { + aFillProps.moFillType = XML_blipFill; + aFillProps.maBlipProps.moBitmapMode = (nFillType == XML_frame) ? XML_stretch : XML_tile; + break; // do not break if bitmap is missing, but run to XML_solid instead + } + } + } + // run-through to XML_solid in case of missing bitmap path intended! + case XML_solid: default: { diff --git a/oox/source/vml/vmlshapecontext.cxx b/oox/source/vml/vmlshapecontext.cxx index 09aa19902366..ec7da1d4d900 100644 --- a/oox/source/vml/vmlshapecontext.cxx +++ b/oox/source/vml/vmlshapecontext.cxx @@ -44,9 +44,9 @@ namespace { /** Returns the boolean value from the specified VML attribute (if present). */ -OptValue< bool > lclDecodeBool( const AttributeList& rAttribs, sal_Int32 nElement ) +OptValue< bool > lclDecodeBool( const AttributeList& rAttribs, sal_Int32 nToken ) { - OptValue< OUString > oValue = rAttribs.getString( nElement ); + OptValue< OUString > oValue = rAttribs.getString( nToken ); if( oValue.has() ) return OptValue< bool >( ConversionHelper::decodeBool( oValue.get() ) ); return OptValue< bool >(); } @@ -54,18 +54,18 @@ OptValue< bool > lclDecodeBool( const AttributeList& rAttribs, sal_Int32 nElemen /** Returns the percentage value from the specified VML attribute (if present). The value will be normalized (1.0 is returned for 100%). */ -OptValue< double > lclDecodePercent( const AttributeList& rAttribs, sal_Int32 nElement, double fDefValue ) +OptValue< double > lclDecodePercent( const AttributeList& rAttribs, sal_Int32 nToken, double fDefValue ) { - OptValue< OUString > oValue = rAttribs.getString( nElement ); + OptValue< OUString > oValue = rAttribs.getString( nToken ); if( oValue.has() ) return OptValue< double >( ConversionHelper::decodePercent( oValue.get(), fDefValue ) ); return OptValue< double >(); } /** Returns the integer value pair from the specified VML attribute (if present). */ -OptValue< Int32Pair > lclDecodeInt32Pair( const AttributeList& rAttribs, sal_Int32 nElement ) +OptValue< Int32Pair > lclDecodeInt32Pair( const AttributeList& rAttribs, sal_Int32 nToken ) { - OptValue< OUString > oValue = rAttribs.getString( nElement ); + OptValue< OUString > oValue = rAttribs.getString( nToken ); OptValue< Int32Pair > oRetValue; if( oValue.has() ) { @@ -78,9 +78,9 @@ OptValue< Int32Pair > lclDecodeInt32Pair( const AttributeList& rAttribs, sal_Int /** Returns the percentage pair from the specified VML attribute (if present). */ -OptValue< DoublePair > lclDecodePercentPair( const AttributeList& rAttribs, sal_Int32 nElement ) +OptValue< DoublePair > lclDecodePercentPair( const AttributeList& rAttribs, sal_Int32 nToken ) { - OptValue< OUString > oValue = rAttribs.getString( nElement ); + OptValue< OUString > oValue = rAttribs.getString( nToken ); OptValue< DoublePair > oRetValue; if( oValue.has() ) { @@ -235,18 +235,26 @@ ContextHandlerRef ShapeTypeContext::onCreateContext( sal_Int32 nElement, const A mrTypeModel.maFillModel.moFocus = lclDecodePercent( rAttribs, XML_focus, 0.0 ); mrTypeModel.maFillModel.moFocusPos = lclDecodePercentPair( rAttribs, XML_focusposition ); mrTypeModel.maFillModel.moFocusSize = lclDecodePercentPair( rAttribs, XML_focussize ); + mrTypeModel.maFillModel.moBitmapPath = decodeFragmentPath( rAttribs, O_TOKEN( relid ) ); mrTypeModel.maFillModel.moRotate = lclDecodeBool( rAttribs, XML_rotate ); break; case VML_TOKEN( imagedata ): - OptValue< OUString > oGraphicRelId = rAttribs.getString( O_TOKEN( relid ) ); - if( oGraphicRelId.has() ) - mrTypeModel.moGraphicPath = getFragmentPathFromRelId( oGraphicRelId.get() ); + mrTypeModel.moGraphicPath = decodeFragmentPath( rAttribs, O_TOKEN( relid ) ); mrTypeModel.moGraphicTitle = rAttribs.getString( O_TOKEN( title ) ); break; } return 0; } +OptValue< OUString > ShapeTypeContext::decodeFragmentPath( const AttributeList& rAttribs, sal_Int32 nToken ) const +{ + OptValue< OUString > oFragmentPath; + OptValue< OUString > oRelId = rAttribs.getString( nToken ); + if( oRelId.has() ) + oFragmentPath = getFragmentPathFromRelId( oRelId.get() ); + return oFragmentPath; +} + void ShapeTypeContext::setStyle( const OUString& rStyle ) { sal_Int32 nIndex = 0; -- cgit From 7ec8f040c2c3ff10eb6e7d7aea76c96428ff6e93 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Mon, 3 May 2010 20:00:59 +0200 Subject: mythes12: fix configure for mythes 1.0 usage --- configure | 7 +------ configure.in | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/configure b/configure index 7a9e70bed7dd..ba160ee6fe1e 100755 --- a/configure +++ b/configure @@ -18526,12 +18526,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mythes_main" >&5 $as_echo "$ac_cv_lib_mythes_main" >&6; } if test "x$ac_cv_lib_mythes_main" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMYTHES 1 -_ACEOF - - LIBS="-lmythes $LIBS" - + MYTHES_FOUND=yes else MYTHES_FOUND=no fi diff --git a/configure.in b/configure.in index 8ee4736996be..cd70b3a32fb2 100644 --- a/configure.in +++ b/configure.in @@ -5098,7 +5098,7 @@ if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then AC_CHECK_LIB(mythes-1.2, main, [], [ MYTHES_FOUND=no], []) if test "$MYTHES_FOUND" = "no"; then - AC_CHECK_LIB(mythes, main, [], + AC_CHECK_LIB(mythes, main, [MYTHES_FOUND=yes], [ MYTHES_FOUND=no], []) fi if test "$MYTHES_FOUND" = "no"; then -- cgit From 1c6e780b960f1f3f210b49d2607f36ae6c2583b3 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Tue, 4 May 2010 00:10:26 +0200 Subject: locales33a: #i110484# add Gikuyu [ki-KE] to language list --- i18npool/inc/i18npool/lang.h | 2 ++ i18npool/source/isolang/isolang.cxx | 1 + svtools/source/misc/langtab.src | 1 + 3 files changed, 4 insertions(+) diff --git a/i18npool/inc/i18npool/lang.h b/i18npool/inc/i18npool/lang.h index 8599ec75c634..557c0c9edfca 100644 --- a/i18npool/inc/i18npool/lang.h +++ b/i18npool/inc/i18npool/lang.h @@ -512,5 +512,7 @@ typedef unsigned short LanguageType; #define LANGUAGE_USER_SARDINIAN_LOGUDORESE 0x0652 #define LANGUAGE_USER_SARDINIAN_SASSARESE 0x0653 #define LANGUAGE_USER_BAFIA 0x0654 +#define LANGUAGE_USER_GIKUYU 0x0655 + #endif /* INCLUDED_I18NPOOL_LANG_H */ diff --git a/i18npool/source/isolang/isolang.cxx b/i18npool/source/isolang/isolang.cxx index 28c86d39673e..96779a06e117 100644 --- a/i18npool/source/isolang/isolang.cxx +++ b/i18npool/source/isolang/isolang.cxx @@ -456,6 +456,7 @@ static MsLangId::IsoLangEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_TAHITIAN, "ty", "PF" }, { LANGUAGE_USER_MALAGASY_PLATEAU, "plt", "MG" }, { LANGUAGE_USER_BAFIA, "ksf", "CM" }, + { LANGUAGE_USER_GIKUYU, "ki", "KE" }, { LANGUAGE_NONE, "zxx", "" }, // added to ISO 639-2 on 2006-01-11: Used to declare the absence of linguistic information { LANGUAGE_DONTKNOW, "", "" } // marks end of table }; diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index 39f9362e3940..31660d4a64ad 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -319,6 +319,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Sardinian, Logudorese" ; LANGUAGE_USER_SARDINIAN_LOGUDORESE ; > ; < "Sardinian, Sassarese" ; LANGUAGE_USER_SARDINIAN_SASSARESE ; > ; < "Bafia" ; LANGUAGE_USER_BAFIA ; > ; + < "Gikuyu" ; LANGUAGE_USER_GIKUYU ; > ; }; }; -- cgit From 8c7731ff58ffb89531fdb49e07dd239c50f01dad Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Tue, 4 May 2010 00:21:02 +0200 Subject: locales33a: #i106822# added Yoruba [yo-NG] to language list --- svtools/source/misc/langtab.src | 1 + 1 file changed, 1 insertion(+) diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index 31660d4a64ad..72e2750c7c5f 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -320,6 +320,7 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Sardinian, Sassarese" ; LANGUAGE_USER_SARDINIAN_SASSARESE ; > ; < "Bafia" ; LANGUAGE_USER_BAFIA ; > ; < "Gikuyu" ; LANGUAGE_USER_GIKUYU ; > ; + < "Yoruba" ; LANGUAGE_YORUBA ; > ; }; }; -- cgit From c59c00efa8bf1b934efeaa24ed98510fc7a23d7c Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Tue, 4 May 2010 00:36:05 +0200 Subject: locales33a: #i110903# added Rusyn (Ukraine) [rue-UA] and Rusyn (Slovakia) [rue-SK] --- i18npool/inc/i18npool/lang.h | 2 ++ i18npool/source/isolang/isolang.cxx | 2 ++ svtools/source/misc/langtab.src | 2 ++ 3 files changed, 6 insertions(+) diff --git a/i18npool/inc/i18npool/lang.h b/i18npool/inc/i18npool/lang.h index 557c0c9edfca..52e4e51d7a41 100644 --- a/i18npool/inc/i18npool/lang.h +++ b/i18npool/inc/i18npool/lang.h @@ -513,6 +513,8 @@ typedef unsigned short LanguageType; #define LANGUAGE_USER_SARDINIAN_SASSARESE 0x0653 #define LANGUAGE_USER_BAFIA 0x0654 #define LANGUAGE_USER_GIKUYU 0x0655 +#define LANGUAGE_USER_RUSYN_UKRAINE 0x0656 +#define LANGUAGE_USER_RUSYN_SLOVAKIA 0x8256 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_RUSYN_UKRAINE)) */ #endif /* INCLUDED_I18NPOOL_LANG_H */ diff --git a/i18npool/source/isolang/isolang.cxx b/i18npool/source/isolang/isolang.cxx index 96779a06e117..026c505ef0e8 100644 --- a/i18npool/source/isolang/isolang.cxx +++ b/i18npool/source/isolang/isolang.cxx @@ -457,6 +457,8 @@ static MsLangId::IsoLangEntry const aImplIsoLangEntries[] = { LANGUAGE_USER_MALAGASY_PLATEAU, "plt", "MG" }, { LANGUAGE_USER_BAFIA, "ksf", "CM" }, { LANGUAGE_USER_GIKUYU, "ki", "KE" }, + { LANGUAGE_USER_RUSYN_UKRAINE, "rue", "UA" }, + { LANGUAGE_USER_RUSYN_SLOVAKIA, "rue", "SK" }, { LANGUAGE_NONE, "zxx", "" }, // added to ISO 639-2 on 2006-01-11: Used to declare the absence of linguistic information { LANGUAGE_DONTKNOW, "", "" } // marks end of table }; diff --git a/svtools/source/misc/langtab.src b/svtools/source/misc/langtab.src index 72e2750c7c5f..5fb0428b1c36 100644 --- a/svtools/source/misc/langtab.src +++ b/svtools/source/misc/langtab.src @@ -321,6 +321,8 @@ StringArray STR_ARR_SVT_LANGUAGE_TABLE < "Bafia" ; LANGUAGE_USER_BAFIA ; > ; < "Gikuyu" ; LANGUAGE_USER_GIKUYU ; > ; < "Yoruba" ; LANGUAGE_YORUBA ; > ; + < "Rusyn (Ukraine)" ; LANGUAGE_USER_RUSYN_UKRAINE ; > ; + < "Rusyn (Slovakia)" ; LANGUAGE_USER_RUSYN_SLOVAKIA ; > ; }; }; -- cgit From 3eb3bb8924acdf2ede721bb3cecba961b849b638 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Tue, 4 May 2010 00:58:12 +0200 Subject: locales33a: #i111003# add support for known glibc modifiers; patch from --- i18npool/source/isolang/isolang.cxx | 53 ++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/i18npool/source/isolang/isolang.cxx b/i18npool/source/isolang/isolang.cxx index 026c505ef0e8..ff59fb02dcc4 100644 --- a/i18npool/source/isolang/isolang.cxx +++ b/i18npool/source/isolang/isolang.cxx @@ -1007,6 +1007,28 @@ LanguageType MsLangId::convertIsoByteStringToLanguage( } // ----------------------------------------------------------------------- + +struct IsoLangGLIBCModifiersEntry +{ + LanguageType mnLang; + sal_Char maLangStr[4]; + sal_Char maCountry[3]; + sal_Char maAtString[9]; +}; + +static IsoLangGLIBCModifiersEntry const aImplIsoLangGLIBCModifiersEntries[] = +{ + // MS-LANGID codes ISO639-1/2/3 ISO3166 glibc modifier + { LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA, "bs", "BA", "cyrillic" }, + { LANGUAGE_USER_SERBIAN_LATIN_SERBIA, "sr", "RS", "latin" }, // Serbian Latin in Serbia + { LANGUAGE_SERBIAN_LATIN, "sr", "CS", "latin" }, // Serbian Latin in Serbia and Montenegro + { LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO, "sr", "ME", "latin" }, // Serbian Latin in Montenegro + { LANGUAGE_SERBIAN_LATIN_NEUTRAL, "sr", "", "latin" }, + { LANGUAGE_AZERI_CYRILLIC, "az", "AZ", "cyrillic" }, + { LANGUAGE_UZBEK_CYRILLIC, "uz", "UZ", "cyrillic" }, + { LANGUAGE_DONTKNOW, "", "", "" } // marks end of table +}; + // convert a unix locale string into LanguageType // static @@ -1015,15 +1037,20 @@ LanguageType MsLangId::convertUnxByteStringToLanguage( { rtl::OString aLang; rtl::OString aCountry; + rtl::OString aAtString; sal_Int32 nLangSepPos = rString.indexOf( (sal_Char)'_' ); sal_Int32 nCountrySepPos = rString.indexOf( (sal_Char)'.' ); + sal_Int32 nAtPos = rString.indexOf( (sal_Char)'@' ); if (nCountrySepPos < 0) - nCountrySepPos = rString.indexOf( (sal_Char)'@' ); + nCountrySepPos = nAtPos; if (nCountrySepPos < 0) nCountrySepPos = rString.getLength(); + if (nAtPos >= 0) + aAtString = rString.copy( nAtPos+1 ); + if ( ((nLangSepPos >= 0) && (nLangSepPos > nCountrySepPos)) || ((nLangSepPos < 0)) ) { @@ -1037,6 +1064,30 @@ LanguageType MsLangId::convertUnxByteStringToLanguage( aCountry = rString.copy( nLangSepPos+1, nCountrySepPos - nLangSepPos - 1); } + // if there is a glibc modifier, first look for exact match in modifier table + if (aAtString.getLength()) + { + // language is lower case in table + rtl::OString aLowerLang = aLang.toAsciiLowerCase(); + // country is upper case in table + rtl::OString aUpperCountry = aCountry.toAsciiUpperCase(); + const IsoLangGLIBCModifiersEntry* pGLIBCModifiersEntry = aImplIsoLangGLIBCModifiersEntries; + do + { + if (( aLowerLang.equals( pGLIBCModifiersEntry->maLangStr ) ) && + ( aAtString.equals( pGLIBCModifiersEntry->maAtString ) )) + { + if ( !aUpperCountry.getLength() || + aUpperCountry.equals( pGLIBCModifiersEntry->maCountry ) ) + { + return pGLIBCModifiersEntry->mnLang; + } + } + ++pGLIBCModifiersEntry; + } + while ( pGLIBCModifiersEntry->mnLang != LANGUAGE_DONTKNOW ); + } + return convertIsoNamesToLanguage( aLang, aCountry ); } -- cgit From 9ebb4608df066f66aa440885f6691d0d0571174d Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 4 May 2010 08:46:17 +0200 Subject: vitomation01: #i109562 - g_ole.inc has new issue with DEV300m77 when saving Impress documents, added WarnLog for issue 110938 --- .../graphics/optional/includes/global/g_ole.inc | 57 +++++++++++++--------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/g_ole.inc b/testautomation/graphics/optional/includes/global/g_ole.inc index 438f09e1b97d..0b279b8a3ae1 100755 --- a/testautomation/graphics/optional/includes/global/g_ole.inc +++ b/testautomation/graphics/optional/includes/global/g_ole.inc @@ -29,10 +29,6 @@ '* '* short description: includefile for Ole-testing '* -'************************************************************************************** -' #1 tOLE_Copy -' #1 tOLE_SaveLoad -' #1 tiOpenOLECrash '\************************************************************************************* testcase tOLE_Copy @@ -273,16 +269,18 @@ testcase tOLE_SaveLoad MenuSelect (0) printlog "Save the File." FileSaveAs - sleep 1 Kontext "SpeichernDlg" - Dateiname.Settext (filename) - printlog "Saving as: " & filename - Speichern.Click + if ( SpeichernDlg.exists( 1 ) ) then + Dateiname.Settext (filename) + printlog "Saving as: " & filename + Speichern.Click + else + warnlog( " dialog did not open" ) + endif printlog "If the file already exists - press yes to overwrite it." - Sleep 3 kontext "Messagebox" - if Messagebox.exists then + if ( Messagebox.exists( 3 ) ) then Messagebox.Yes endif Sleep 3 @@ -363,20 +361,31 @@ testcase tiOpenOLECrash FileSaveAs Kontext "SpeichernDlg" - sFileodp = (ConvertPath(gOfficePath + "user\work\generic_de")) - Dateiname.SetText (sFileodp) - Dateityp.Select (1) - Speichern.Click - Kontext "Messagebox" - if Messagebox.Exists(2) then - Messagebox.Yes - Kontext "AlienWarning" - if AlienWarning.Exists(2) then - Warnlog "Should not be any alienwarning when saving in our own format!" - AlienWarning.OK - end if - printlog "Saved as: " + sFileodp - end if + if ( SpeichernDlg.exists( 2 ) ) then + sFileodp = (ConvertPath(gOfficePath + "user\work\generic_de")) + Dateiname.SetText (sFileodp) + Dateityp.Select (1) + Speichern.Click + Kontext "Messagebox" + if Messagebox.Exists(2) then + try + Messagebox.Yes + catch + warnlog( "#i110938 - Failure to save certain impress documents" ) + Messagebox.ok() + goto endsub + endcatch + Kontext "AlienWarning" + if AlienWarning.Exists(2) then + Warnlog "Should not be any alienwarning when saving in our own format!" + AlienWarning.OK + end if + printlog "Saved as: " + sFileodp + end if + else + warnlog( " dislog did not open" ) + goto endsub + endif Sleep 3 kontext "DocumentImpress" printlog "3. Close Impress." -- cgit From fb8e6e29e7de62c036d9267456f308b158510673 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Wed, 5 May 2010 00:29:32 +0200 Subject: locales33a: add globals.pm and msi-encodinglist.txt --- i18npool/source/isolang/langid.pl | 55 ++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/i18npool/source/isolang/langid.pl b/i18npool/source/isolang/langid.pl index 06883279345b..8035178b7bb5 100755 --- a/i18npool/source/isolang/langid.pl +++ b/i18npool/source/isolang/langid.pl @@ -39,7 +39,8 @@ sub Usage() "\n", "langid - a hackish utility to lookup lang.h language defines and LangIDs,\n", "isolang.cxx ISO639/ISO3166 mapping, locale data files, langtab.src language\n", - "listbox entries, postset.mk and file_ooo.scp registry name.\n\n", + "listbox entries, postset.mk, file_ooo.scp registry name, globals.pm and\n", + "msi-encodinglist.txt\n\n", "Usage: $0 [--single] {language string} | {LangID} | {primarylanguage sublanguage} | {language-country}\n\n", @@ -105,7 +106,8 @@ sub grepFile($$$$@) my( $regex, $path, $module, $name, @addregex) = @_; my @result; my $found = 0; - my $arefound = ''; + my $areopen = 0; + my $arecloser = ''; my $file; # Try module under current working directory first to catch local # modifications. A Not yet delivered lang.h is a special case. @@ -145,17 +147,22 @@ sub grepFile($$$$@) print "$line\n"; push( @result, $line); } - else + elsif (@addregex) { - for my $re (@addregex) + # By convention first element is opener, second element is closer. + if (!$areopen) { - if ($re ne $arefound && $line =~ /$re/) + if ($line =~ /$addregex[0]/) { - if ($arefound eq '') - { - $arefound = $re; - } - else + $areopen = 1; + $arecloser = $addregex[1]; + } + } + if ($areopen) + { + for (my $i = 2; $i < @addregex; ++$i) + { + if ($line =~ /$addregex[$i]/) { if (!$found) { @@ -167,13 +174,19 @@ sub grepFile($$$$@) push( @result, $line); } } + if ($line =~ /$arecloser/) + { + $areopen = 0; + } } } } close( IN); } if (!$found) { - print "Not found in $file\n"; } + print "Not found in $file\n"; + #print "Not found in $file for $regex @addregex\n"; + } return @result; } @@ -317,13 +330,13 @@ sub main() if ($coun) { $loca = $lang . "_" . $coun; - push( @langcoungreplist, $lang . '(-' . $coun . ')?'); + push( @langcoungreplist, '\b' . $lang . '\b(-' . $coun . ')?'); } else { $loca = $lang; $coun = ""; - push( @langcoungreplist, $lang); + push( @langcoungreplist, '\b' . $lang . '\b'); } my $file = "$SRC_ROOT/i18npool/source/localedata/data/$loca.xml"; my $found; @@ -385,12 +398,24 @@ sub main() grepFile( '^\s*Name\s*\(' . $langcoun . '\)\s*=', "$SRC_ROOT", "scp2", "source/ooo/file_ooo.scp", ()); + # completelangiso=af ar as-IN ... zu grepFile( - '^\s*completelangiso\s*[= ](.{2,3}(-..)?)*' . $langcoun . '', + '^\s*completelangiso\s*=\s*(\s*([a-z]{2,3})(-[A-Z][A-Z])?)*' . $langcoun . '', "$SRC_ROOT", "solenv", "inc/postset.mk", # needs a duplicated pair of backslashes to produce a literal \\ - ('^\s*completelangiso\s*=', '^\s*' . $langcoun . '\s*\\\\*$')); + ('^\s*completelangiso\s*=', '^\s*$', '^\s*' . $langcoun . '\s*\\\\*$')); + + # @noMSLocaleLangs = ( "br", "bs", ... ) + grepFile( + '^\s*@noMSLocaleLangs\s*=\s*\(\s*(\s*"([a-z]{2,3})(-[A-Z][A-Z])?"\s*,?)*' . $langcoun . '', + "$SRC_ROOT", "solenv", "bin/modules/installer/globals.pm", + ('^\s*@noMSLocaleLangs\s*=', '\)\s*$', '"' . $langcoun . '"')); + + # af 1252 1078 # Afrikaans + grepFile( + '^\s*' . $langcoun . '', + "$SRC_ROOT", "setup_native", "source/win32/msi-encodinglist.txt", ()); } } return 0; -- cgit -- cgit From 5a4b745ea7e58848215d962c9102e58177691499 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 5 May 2010 14:38:05 +0200 Subject: jl152 import 263454 from native0jl:#i77196# adding XLibraryContainer3.idl --- offapi/com/sun/star/script/XLibraryContainer3.idl | 69 +++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 offapi/com/sun/star/script/XLibraryContainer3.idl diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl new file mode 100644 index 000000000000..cb3f2a5e0f6c --- /dev/null +++ b/offapi/com/sun/star/script/XLibraryContainer3.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XLibraryContainer2.idl,v $ + * $Revision: 1.5 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_script_XLibraryContainer3_idl__ +#define __com_sun_star_script_XLibraryContainer3_idl__ + +#ifndef __com_sun_star_script_XLibraryContainer2_idl__ +#include +#endif + + +//============================================================================= + + module com { module sun { module star { module script { + +//============================================================================= + +/** + Extension of XLibraryContainer2. + */ +published interface XLibraryContainer3: com::sun::star::script::XLibraryContainer2 +{ + + /** + returns the location of the library link target. + + The returned URL is literally the same as the one provided in + XLibraryContainer::createLibraryLink. Otherwise the behavior + is the same as XLibraryContainer2::getLibraryLinkURL + */ + string getOriginalLibraryLinkURL( [in] string Name ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::container::NoSuchElementException ); + + +}; + +//============================================================================= + + +}; }; }; }; + +#endif -- cgit From 47d8eeed3f8258b4efceeb4b1dfb40fcde2afce5 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Wed, 5 May 2010 19:43:28 +0200 Subject: dr76: #i111404# make FastSaxParser reentrant --- sax/source/fastparser/fastparser.cxx | 152 ++++++++++++++++++----------------- sax/source/fastparser/fastparser.hxx | 60 +++++++------- 2 files changed, 107 insertions(+), 105 deletions(-) diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index a43c7e52a353..e80a36b2d127 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -200,46 +200,43 @@ FastSaxParser::~FastSaxParser() void FastSaxParser::pushContext() { - bool bRootContext = false; - SaxContextImplPtr p; - if( maContextStack.empty() ) + Entity& rEntity = getEntity(); + if( rEntity.maContextStack.empty() ) { - p.reset( new SaxContextImpl() ); - bRootContext = true; + rEntity.maContextStack.push( SaxContextImplPtr( new SaxContextImpl ) ); + DefineNamespace( OString("xml"), "http://www.w3.org/XML/1998/namespace"); } else { - p.reset( new SaxContextImpl( maContextStack.top() ) ); + rEntity.maContextStack.push( SaxContextImplPtr( new SaxContextImpl( rEntity.maContextStack.top() ) ) ); } - maContextStack.push( p ); - - if( bRootContext ) - DefineNamespace( OString("xml"), "http://www.w3.org/XML/1998/namespace"); } // -------------------------------------------------------------------- void FastSaxParser::popContext() { - OSL_ENSURE( !maContextStack.empty(), "sax::FastSaxParser::popContext(), pop without push?" ); - if( !maContextStack.empty() ) - maContextStack.pop(); + Entity& rEntity = getEntity(); + OSL_ENSURE( !rEntity.maContextStack.empty(), "sax::FastSaxParser::popContext(), pop without push?" ); + if( !rEntity.maContextStack.empty() ) + rEntity.maContextStack.pop(); } // -------------------------------------------------------------------- void FastSaxParser::DefineNamespace( const OString& rPrefix, const sal_Char* pNamespaceURL ) { - OSL_ENSURE( !maContextStack.empty(), "sax::FastSaxParser::DefineNamespace(), I need a context!" ); - if( !maContextStack.empty() ) + Entity& rEntity = getEntity(); + OSL_ENSURE( !rEntity.maContextStack.empty(), "sax::FastSaxParser::DefineNamespace(), I need a context!" ); + if( !rEntity.maContextStack.empty() ) { - sal_uInt32 nOffset = maContextStack.top()->mnNamespaceCount++; + sal_uInt32 nOffset = rEntity.maContextStack.top()->mnNamespaceCount++; - if( maNamespaceDefines.size() <= nOffset ) - maNamespaceDefines.resize( maNamespaceDefines.size() + 64 ); + if( rEntity.maNamespaceDefines.size() <= nOffset ) + rEntity.maNamespaceDefines.resize( rEntity.maNamespaceDefines.size() + 64 ); const OUString aNamespaceURL( pNamespaceURL, strlen( pNamespaceURL ), RTL_TEXTENCODING_UTF8 ); - maNamespaceDefines[nOffset].reset( new NamespaceDefine( rPrefix, GetNamespaceToken( aNamespaceURL ), aNamespaceURL ) ); + rEntity.maNamespaceDefines[nOffset].reset( new NamespaceDefine( rPrefix, GetNamespaceToken( aNamespaceURL ), aNamespaceURL ) ); } } @@ -268,12 +265,13 @@ sal_Int32 FastSaxParser::GetTokenWithPrefix( const OString& rPrefix, const OStri { sal_Int32 nNamespaceToken = FastToken::DONTKNOW; - sal_uInt32 nNamespace = maContextStack.top()->mnNamespaceCount; + Entity& rEntity = getEntity(); + sal_uInt32 nNamespace = rEntity.maContextStack.top()->mnNamespaceCount; while( nNamespace-- ) { - if( maNamespaceDefines[nNamespace]->maPrefix == rPrefix ) + if( rEntity.maNamespaceDefines[nNamespace]->maPrefix == rPrefix ) { - nNamespaceToken = maNamespaceDefines[nNamespace]->mnToken; + nNamespaceToken = rEntity.maNamespaceDefines[nNamespace]->mnToken; break; } @@ -295,14 +293,15 @@ sal_Int32 FastSaxParser::GetTokenWithPrefix( const sal_Char*pPrefix, int nPrefix { sal_Int32 nNamespaceToken = FastToken::DONTKNOW; - sal_uInt32 nNamespace = maContextStack.top()->mnNamespaceCount; + Entity& rEntity = getEntity(); + sal_uInt32 nNamespace = rEntity.maContextStack.top()->mnNamespaceCount; while( nNamespace-- ) { - const OString& rPrefix( maNamespaceDefines[nNamespace]->maPrefix ); + const OString& rPrefix( rEntity.maNamespaceDefines[nNamespace]->maPrefix ); if( (rPrefix.getLength() == nPrefixLen) && (strncmp( rPrefix.getStr(), pPrefix, nPrefixLen ) == 0 ) ) { - nNamespaceToken = maNamespaceDefines[nNamespace]->mnToken; + nNamespaceToken = rEntity.maNamespaceDefines[nNamespace]->mnToken; break; } @@ -335,12 +334,13 @@ sal_Int32 FastSaxParser::GetNamespaceToken( const OUString& rNamespaceURL ) OUString FastSaxParser::GetNamespaceURL( const OString& rPrefix ) throw (SAXException) { - if( !maContextStack.empty() ) + Entity& rEntity = getEntity(); + if( !rEntity.maContextStack.empty() ) { - sal_uInt32 nNamespace = maContextStack.top()->mnNamespaceCount; + sal_uInt32 nNamespace = rEntity.maContextStack.top()->mnNamespaceCount; while( nNamespace-- ) - if( maNamespaceDefines[nNamespace]->maPrefix == rPrefix ) - return maNamespaceDefines[nNamespace]->maNamespaceURL; + if( rEntity.maNamespaceDefines[nNamespace]->maPrefix == rPrefix ) + return rEntity.maNamespaceDefines[nNamespace]->maNamespaceURL; } throw SAXException(); // prefix that has no defined namespace url @@ -348,16 +348,17 @@ OUString FastSaxParser::GetNamespaceURL( const OString& rPrefix ) throw (SAXExce OUString FastSaxParser::GetNamespaceURL( const sal_Char*pPrefix, int nPrefixLen ) throw(SAXException) { - if( pPrefix && !maContextStack.empty() ) + Entity& rEntity = getEntity(); + if( pPrefix && !rEntity.maContextStack.empty() ) { - sal_uInt32 nNamespace = maContextStack.top()->mnNamespaceCount; + sal_uInt32 nNamespace = rEntity.maContextStack.top()->mnNamespaceCount; while( nNamespace-- ) { - const OString& rPrefix( maNamespaceDefines[nNamespace]->maPrefix ); + const OString& rPrefix( rEntity.maNamespaceDefines[nNamespace]->maPrefix ); if( (rPrefix.getLength() == nPrefixLen) && (strncmp( rPrefix.getStr(), pPrefix, nPrefixLen ) == 0 ) ) { - return maNamespaceDefines[nNamespace]->maNamespaceURL; + return rEntity.maNamespaceDefines[nNamespace]->maNamespaceURL; } } } @@ -421,7 +422,7 @@ void FastSaxParser::parseStream( const InputSource& maStructSource) throw (SAXEx // Only one text at one time MutexGuard guard( maMutex ); - struct Entity entity; + Entity entity; entity.maStructSource = maStructSource; if( !entity.maStructSource.aInputStream.is() ) @@ -442,9 +443,6 @@ void FastSaxParser::parseStream( const InputSource& maStructSource) throw (SAXEx XML_SetCharacterDataHandler( entity.mpParser, call_callbackCharacters ); XML_SetExternalEntityRefHandler( entity.mpParser, call_callbackExternalEntityRef ); - // maSavedException used to transport exceptions through C callbacks - maSavedException.clear(); - pushEntity( entity ); try { @@ -619,29 +617,30 @@ void FastSaxParser::parse() const int BUFFER_SIZE = 16 * 1024; Sequence< sal_Int8 > seqOut( BUFFER_SIZE ); + Entity& rEntity = getEntity(); int nRead = 0; do { - nRead = getEntity().maConverter.readAndConvert( seqOut, BUFFER_SIZE ); + nRead = rEntity.maConverter.readAndConvert( seqOut, BUFFER_SIZE ); if( nRead <= 0 ) { - XML_Parse( getEntity().mpParser, (const char*) seqOut.getConstArray(), 0, 1 ); + XML_Parse( rEntity.mpParser, (const char*) seqOut.getConstArray(), 0, 1 ); break; } - bool bContinue = XML_Parse( getEntity().mpParser, (const char*) seqOut.getConstArray(), nRead, 0 ) != 0; + bool bContinue = XML_Parse( rEntity.mpParser, (const char*) seqOut.getConstArray(), nRead, 0 ) != 0; // callbacks used inside XML_Parse may have caught an exception - if( !bContinue || maSavedException.hasValue() ) + if( !bContinue || rEntity.maSavedException.hasValue() ) { // Error during parsing ! - XML_Error xmlE = XML_GetErrorCode( getEntity().mpParser ); + XML_Error xmlE = XML_GetErrorCode( rEntity.mpParser ); OUString sSystemId = mxDocumentLocator->getSystemId(); sal_Int32 nLine = mxDocumentLocator->getLineNumber(); SAXParseException aExcept( lclGetErrorMessage( xmlE, sSystemId, nLine ), Reference< XInterface >(), - Any( &maSavedException, getCppuType( &maSavedException ) ), + Any( &rEntity.maSavedException, getCppuType( &rEntity.maSavedException ) ), mxDocumentLocator->getPublicId(), mxDocumentLocator->getSystemId(), mxDocumentLocator->getLineNumber(), @@ -680,9 +679,10 @@ struct AttributeData void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char** awAttributes ) { Reference< XFastContextHandler > xParentContext; - if( !maContextStack.empty() ) + Entity& rEntity = getEntity(); + if( !rEntity.maContextStack.empty() ) { - xParentContext = maContextStack.top()->mxContext; + xParentContext = rEntity.maContextStack.top()->mxContext; if( !xParentContext.is() ) { // we ignore current elements, so no processing needed @@ -734,7 +734,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char if( (nNameLen == 5) && (strcmp( pName, "xmlns" ) == 0) ) { // namespace of the element found - maContextStack.top()->maNamespace = OUString( awAttributes[i+1], strlen( awAttributes[i+1] ), RTL_TEXTENCODING_UTF8 ); + rEntity.maContextStack.top()->maNamespace = OUString( awAttributes[i+1], strlen( awAttributes[i+1] ), RTL_TEXTENCODING_UTF8 ); } else { @@ -770,22 +770,22 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char splitName( pwName, pPrefix, nPrefixLen, pName, nNameLen ); if( nPrefixLen > 0 ) nElementToken = GetTokenWithPrefix( pPrefix, nPrefixLen, pName, nNameLen ); - else if( maContextStack.top()->maNamespace.getLength() > 0 ) - nElementToken = GetTokenWithNamespaceURL( maContextStack.top()->maNamespace, pName, nNameLen ); + else if( rEntity.maContextStack.top()->maNamespace.getLength() > 0 ) + nElementToken = GetTokenWithNamespaceURL( rEntity.maContextStack.top()->maNamespace, pName, nNameLen ); else nElementToken = GetToken( pName ); - maContextStack.top()->mnElementToken = nElementToken; + rEntity.maContextStack.top()->mnElementToken = nElementToken; Reference< XFastAttributeList > xAttr( mxAttributes.get() ); Reference< XFastContextHandler > xContext; if( nElementToken == FastToken::DONTKNOW ) { if( nPrefixLen > 0 ) - maContextStack.top()->maNamespace = GetNamespaceURL( pPrefix, nPrefixLen ); + rEntity.maContextStack.top()->maNamespace = GetNamespaceURL( pPrefix, nPrefixLen ); - const OUString aNamespace( maContextStack.top()->maNamespace ); + const OUString aNamespace( rEntity.maContextStack.top()->maNamespace ); const OUString aElementName( pPrefix, nPrefixLen, RTL_TEXTENCODING_UTF8 ); - maContextStack.top()->maElementName = aElementName; + rEntity.maContextStack.top()->maElementName = aElementName; if( xParentContext.is() ) xContext = xParentContext->createUnknownChildContext( aNamespace, aElementName, xAttr ); @@ -794,7 +794,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char if( xContext.is() ) { - maContextStack.top()->mxContext = xContext; + rEntity.maContextStack.top()->mxContext = xContext; xContext->startUnknownElement( aNamespace, aElementName, xAttr ); } } @@ -808,23 +808,24 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char if( xContext.is() ) { - maContextStack.top()->mxContext = xContext; + rEntity.maContextStack.top()->mxContext = xContext; xContext->startFastElement( nElementToken, xAttr ); } } } catch( Exception& e ) { - maSavedException <<= e; + rEntity.maSavedException <<= e; } } void FastSaxParser::callbackEndElement( const XML_Char* ) { - OSL_ENSURE( !maContextStack.empty(), "FastSaxParser::callbackEndElement - no context" ); - if( !maContextStack.empty() ) + Entity& rEntity = getEntity(); + OSL_ENSURE( !rEntity.maContextStack.empty(), "FastSaxParser::callbackEndElement - no context" ); + if( !rEntity.maContextStack.empty() ) { - SaxContextImplPtr pContext( maContextStack.top() ); + SaxContextImplPtr pContext = rEntity.maContextStack.top(); const Reference< XFastContextHandler >& xContext( pContext->mxContext ); if( xContext.is() ) try { @@ -836,7 +837,7 @@ void FastSaxParser::callbackEndElement( const XML_Char* ) } catch( Exception& e ) { - maSavedException <<= e; + rEntity.maSavedException <<= e; } popContext(); @@ -846,14 +847,15 @@ void FastSaxParser::callbackEndElement( const XML_Char* ) void FastSaxParser::callbackCharacters( const XML_Char* s, int nLen ) { - const Reference< XFastContextHandler >& xContext( maContextStack.top()->mxContext ); + Entity& rEntity = getEntity(); + const Reference< XFastContextHandler >& xContext( rEntity.maContextStack.top()->mxContext ); if( xContext.is() ) try { xContext->characters( OUString( s, nLen, RTL_TEXTENCODING_UTF8 ) ); } catch( Exception& e ) { - maSavedException <<= e; + rEntity.maSavedException <<= e; } } @@ -863,22 +865,23 @@ int FastSaxParser::callbackExternalEntityRef( XML_Parser parser, bool bOK = true; InputSource source; - struct Entity entity; + Entity& rCurrEntity = getEntity(); + Entity aNewEntity; if( mxEntityResolver.is() ) try { - entity.maStructSource = mxEntityResolver->resolveEntity( + aNewEntity.maStructSource = mxEntityResolver->resolveEntity( OUString( publicId, strlen( publicId ), RTL_TEXTENCODING_UTF8 ) , OUString( systemId, strlen( systemId ), RTL_TEXTENCODING_UTF8 ) ); } catch( SAXParseException & e ) { - maSavedException <<= e; + rCurrEntity.maSavedException <<= e; bOK = false; } catch( SAXException & e ) { - maSavedException <<= SAXParseException( + rCurrEntity.maSavedException <<= SAXParseException( e.Message, e.Context, e.WrappedException, mxDocumentLocator->getPublicId(), mxDocumentLocator->getSystemId(), @@ -887,43 +890,42 @@ int FastSaxParser::callbackExternalEntityRef( XML_Parser parser, bOK = false; } - if( entity.maStructSource.aInputStream.is() ) + if( aNewEntity.maStructSource.aInputStream.is() ) { - entity.mpParser = XML_ExternalEntityParserCreate( parser, context, 0 ); - if( ! entity.mpParser ) + aNewEntity.mpParser = XML_ExternalEntityParserCreate( parser, context, 0 ); + if( !aNewEntity.mpParser ) { return false; } - entity.maConverter.setInputStream( entity.maStructSource.aInputStream ); - pushEntity( entity ); + aNewEntity.maConverter.setInputStream( aNewEntity.maStructSource.aInputStream ); + pushEntity( aNewEntity ); try { parse(); } catch( SAXParseException & e ) { - maSavedException <<= e; + rCurrEntity.maSavedException <<= e; bOK = false; } catch( IOException &e ) { SAXException aEx; aEx.WrappedException <<= e; - maSavedException <<= aEx; + rCurrEntity.maSavedException <<= aEx; bOK = false; } catch( RuntimeException &e ) { SAXException aEx; aEx.WrappedException <<= e; - maSavedException <<= aEx; + rCurrEntity.maSavedException <<= aEx; bOK = false; } popEntity(); - - XML_ParserFree( entity.mpParser ); + XML_ParserFree( aNewEntity.mpParser ); } return bOK; diff --git a/sax/source/fastparser/fastparser.hxx b/sax/source/fastparser/fastparser.hxx index 3d494a6d3c81..4802702bf098 100644 --- a/sax/source/fastparser/fastparser.hxx +++ b/sax/source/fastparser/fastparser.hxx @@ -47,25 +47,33 @@ #define PARSER_IMPLEMENTATION_NAME "com.sun.star.comp.extensions.xml.sax.FastParser" #define PARSER_SERVICE_NAME "com.sun.star.xml.sax.FastParser" -namespace sax_fastparser -{ +namespace sax_fastparser { + +class FastLocatorImpl; +struct NamespaceDefine; +struct SaxContextImpl; + +typedef ::boost::shared_ptr< SaxContextImpl > SaxContextImplPtr; +typedef ::boost::shared_ptr< NamespaceDefine > NamespaceDefineRef; - class FastLocatorImpl; - struct NamespaceDefine; - struct SaxContextImpl; - typedef boost::shared_ptr< SaxContextImpl > SaxContextImplPtr; - typedef ::std::hash_map< ::rtl::OUString, sal_Int32, - ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > - > NamespaceMap; +typedef ::std::hash_map< ::rtl::OUString, sal_Int32, + ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NamespaceMap; // -------------------------------------------------------------------- -// Entity binds all information neede for a single file +// Entity binds all information needed for a single file struct Entity { - ::com::sun::star::xml::sax::InputSource maStructSource; - XML_Parser mpParser; - sax_expatwrap::XMLFile2UTFConverter maConverter; + ::com::sun::star::xml::sax::InputSource maStructSource; + XML_Parser mpParser; + ::sax_expatwrap::XMLFile2UTFConverter maConverter; + + // Exceptions cannot be thrown through the C-XmlParser (possible resource leaks), + // therefore the exception must be saved somewhere. + ::com::sun::star::uno::Any maSavedException; + + ::std::stack< SaxContextImplPtr > maContextStack; + ::std::vector< NamespaceDefineRef > maNamespaceDefines; }; // -------------------------------------------------------------------- @@ -75,7 +83,7 @@ class FastSaxParser : public ::cppu::WeakImplHelper2< ::com::sun::star::xml::sax { public: FastSaxParser(); - ~FastSaxParser(); + virtual ~FastSaxParser(); // The implementation details static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void); @@ -100,9 +108,9 @@ public: void callbackCharacters( const XML_Char* s, int nLen ); int callbackExternalEntityRef( XML_Parser parser, const XML_Char *openEntityNames, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId); - void pushEntity( const struct Entity &entity ) { vecEntity.push_back( entity ); } - void popEntity() { vecEntity.pop_back( ); } - struct Entity &getEntity() { return vecEntity.back(); } + inline void pushEntity( const Entity& rEntity ) { maEntities.push( rEntity ); } + inline void popEntity() { maEntities.pop(); } + Entity& getEntity() { return maEntities.top(); } private: void parse(); @@ -131,21 +139,13 @@ private: ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XErrorHandler > mxErrorHandler; ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XEntityResolver > mxEntityResolver; - rtl::Reference < FastLocatorImpl > mxDocumentLocator; - rtl::Reference < FastAttributeList > mxAttributes; + ::rtl::Reference< FastLocatorImpl > mxDocumentLocator; + ::rtl::Reference< FastAttributeList > mxAttributes; + ::com::sun::star::lang::Locale maLocale; + NamespaceMap maNamespaceMap; // External entity stack - std::vector< struct Entity > vecEntity; - - // Exceptions cannot be thrown through the C-XmlParser (possible resource leaks), - // therefore the exception must be saved somewhere. - ::com::sun::star::uno::Any maSavedException; - - ::com::sun::star::lang::Locale maLocale; - - std::stack< SaxContextImplPtr > maContextStack; - std::vector< boost::shared_ptr< NamespaceDefine > > maNamespaceDefines; - NamespaceMap maNamespaceMap; + ::std::stack< Entity > maEntities; }; } -- cgit From a9dbaec3087911f20e5781d98586bd1ec9b0937b Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Thu, 6 May 2010 17:19:12 +0200 Subject: jl152 i111434 ucb failes when copying folders, which contain files containing percent signs --- ucb/source/ucp/file/shell.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx index 769e58c08819..f324c93b878f 100644 --- a/ucb/source/ucp/file/shell.cxx +++ b/ucb/source/ucp/file/shell.cxx @@ -33,6 +33,7 @@ #endif #include "osl/diagnose.h" +#include #include #include #include @@ -2054,9 +2055,14 @@ shell::copy_recursive( const rtl::OUString& srcUnqPath, rtl::OUString newDstUnqPath = dstUnqPath; rtl::OUString tit; if( aFileStatus.isValid( FileStatusMask_FileName ) ) - tit = aFileStatus.getFileName(); + tit = rtl::Uri::encode( aFileStatus.getFileName(), + rtl_UriCharClassPchar, + rtl_UriEncodeIgnoreEscapes, + RTL_TEXTENCODING_UTF8 ); + if( newDstUnqPath.lastIndexOf( sal_Unicode('/') ) != newDstUnqPath.getLength()-1 ) newDstUnqPath += rtl::OUString::createFromAscii( "/" ); + newDstUnqPath += tit; if ( newSrcUnqPath != dstUnqPath ) -- cgit From 5b7cf789a0c84c60c738d2249bf82ba0220487c3 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Fri, 7 May 2010 10:40:12 +0200 Subject: cws tl78: fixing windows specific build problems after merging with DEV300_m77 --- comphelper/inc/comphelper/docpasswordrequest.hxx | 10 +++++++++- comphelper/source/misc/docpasswordrequest.cxx | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) mode change 100644 => 100755 comphelper/inc/comphelper/docpasswordrequest.hxx diff --git a/comphelper/inc/comphelper/docpasswordrequest.hxx b/comphelper/inc/comphelper/docpasswordrequest.hxx old mode 100644 new mode 100755 index 6c369b41cf71..cf04d22c7a6d --- a/comphelper/inc/comphelper/docpasswordrequest.hxx +++ b/comphelper/inc/comphelper/docpasswordrequest.hxx @@ -32,6 +32,7 @@ #include #include #include +#include namespace comphelper { @@ -52,7 +53,9 @@ class PasswordContinuation; /** Implements the task.XInteractionRequest interface for requesting a password string for a document. */ -class COMPHELPER_DLLPUBLIC DocPasswordRequest : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest > +class COMPHELPER_DLLPUBLIC DocPasswordRequest : + public ::com::sun::star::task::XInteractionRequest, + public ::cppu::OWeakObject { public: explicit DocPasswordRequest( @@ -62,6 +65,11 @@ public: sal_Bool bPasswordToModify = sal_False ); virtual ~DocPasswordRequest(); + // XInterface / OWeakObject + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire( ) throw (); + virtual void SAL_CALL release( ) throw (); + sal_Bool isAbort() const; sal_Bool isPassword() const; diff --git a/comphelper/source/misc/docpasswordrequest.cxx b/comphelper/source/misc/docpasswordrequest.cxx index 5d1c58145963..17cdb0ae2d92 100644 --- a/comphelper/source/misc/docpasswordrequest.cxx +++ b/comphelper/source/misc/docpasswordrequest.cxx @@ -36,6 +36,7 @@ using ::rtl::OUString; using ::com::sun::star::uno::Any; +using ::com::sun::star::uno::Type; using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::RuntimeException; using ::com::sun::star::uno::Sequence; @@ -47,6 +48,7 @@ using ::com::sun::star::task::PasswordRequestMode; using ::com::sun::star::task::XInteractionAbort; using ::com::sun::star::task::XInteractionContinuation; using ::com::sun::star::task::XInteractionPassword2; +using ::com::sun::star::task::XInteractionRequest; namespace comphelper { @@ -131,6 +133,26 @@ DocPasswordRequest::~DocPasswordRequest() { } +/*uno::*/Any SAL_CALL DocPasswordRequest::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) +{ + return ::cppu::queryInterface ( rType, + // OWeakObject interfaces + dynamic_cast< XInterface* > ( (XInteractionRequest *) this ), + static_cast< XWeak* > ( this ), + // my own interfaces + static_cast< XInteractionRequest* > ( this ) ); +} + +void SAL_CALL DocPasswordRequest::acquire( ) throw () +{ + OWeakObject::acquire(); +} + +void SAL_CALL DocPasswordRequest::release( ) throw () +{ + OWeakObject::release(); +} + sal_Bool DocPasswordRequest::isAbort() const { return mpAbort->isSelected(); -- cgit From e8f78faa415a94dda55b8cd3249d3586d36dc119 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Fri, 7 May 2010 10:40:12 +0200 Subject: cws tl78: fixing windows specific build problems after merging with DEV300_m77 --- desktop/source/migration/migration.cxx | 1 + sfx2/inc/brokenpackageint.hxx | 18 +++++++++++++-- sfx2/source/appl/appuno.cxx | 40 ++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 2 deletions(-) mode change 100644 => 100755 desktop/source/migration/migration.cxx mode change 100644 => 100755 sfx2/inc/brokenpackageint.hxx mode change 100644 => 100755 sfx2/source/appl/appuno.cxx diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx old mode 100644 new mode 100755 index 2181daab7454..b9be788ebd4b --- a/desktop/source/migration/migration.cxx +++ b/desktop/source/migration/migration.cxx @@ -232,6 +232,7 @@ static void insertSorted(migrations_available& rAvailableMigrations, supported_m { rAvailableMigrations.insert(pIter, aSupportedMigration ); bInserted = true; + break; } ++pIter; } diff --git a/sfx2/inc/brokenpackageint.hxx b/sfx2/inc/brokenpackageint.hxx old mode 100644 new mode 100755 index e39c92c599ae..16f332480cf6 --- a/sfx2/inc/brokenpackageint.hxx +++ b/sfx2/inc/brokenpackageint.hxx @@ -36,7 +36,9 @@ using namespace ::framework; typedef ContinuationBase< ::com::sun::star::task::XInteractionApprove > SfxContinuationApprove; typedef ContinuationBase< ::com::sun::star::task::XInteractionDisapprove > SfxContinuationDisapprove; -class SFX2_DLLPUBLIC RequestPackageReparation : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest > +class SFX2_DLLPUBLIC RequestPackageReparation : + public ::com::sun::star::task::XInteractionRequest, + public ::cppu::OWeakObject { ::com::sun::star::uno::Any m_aRequest; @@ -50,6 +52,11 @@ class SFX2_DLLPUBLIC RequestPackageReparation : public ::cppu::WeakImplHelper1< public: RequestPackageReparation( ::rtl::OUString aName ); + // XInterface / OWeakObject + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire( ) throw (); + virtual void SAL_CALL release( ) throw (); + sal_Bool isApproved() { return m_pApprove->isSelected(); } virtual ::com::sun::star::uno::Any SAL_CALL getRequest() @@ -61,7 +68,9 @@ public: throw( ::com::sun::star::uno::RuntimeException ); }; -class SFX2_DLLPUBLIC NotifyBrokenPackage : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest > +class SFX2_DLLPUBLIC NotifyBrokenPackage : + public ::com::sun::star::task::XInteractionRequest, + public ::cppu::OWeakObject { ::com::sun::star::uno::Any m_aRequest; @@ -74,6 +83,11 @@ class SFX2_DLLPUBLIC NotifyBrokenPackage : public ::cppu::WeakImplHelper1< ::com public: NotifyBrokenPackage( ::rtl::OUString aName ); + // XInterface / OWeakObject + virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire( ) throw (); + virtual void SAL_CALL release( ) throw (); + sal_Bool isAborted() { return m_pAbort->isSelected(); } virtual ::com::sun::star::uno::Any SAL_CALL getRequest() diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx old mode 100644 new mode 100755 index fd33e21ea645..66452f10bbfb --- a/sfx2/source/appl/appuno.cxx +++ b/sfx2/source/appl/appuno.cxx @@ -2411,6 +2411,26 @@ RequestPackageReparation::RequestPackageReparation( ::rtl::OUString aName ) m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pDisapprove ); } +/*uno::*/Any SAL_CALL RequestPackageReparation::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) +{ + return ::cppu::queryInterface ( rType, + // OWeakObject interfaces + dynamic_cast< XInterface* > ( (XInteractionRequest *) this ), + static_cast< XWeak* > ( this ), + // my own interfaces + static_cast< XInteractionRequest* > ( this ) ); +} + +void SAL_CALL RequestPackageReparation::acquire( ) throw () +{ + OWeakObject::acquire(); +} + +void SAL_CALL RequestPackageReparation::release( ) throw () +{ + OWeakObject::release(); +} + ::com::sun::star::uno::Any SAL_CALL RequestPackageReparation::getRequest() throw( ::com::sun::star::uno::RuntimeException ) { @@ -2442,6 +2462,26 @@ NotifyBrokenPackage::NotifyBrokenPackage( ::rtl::OUString aName ) m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort ); } +/*uno::*/Any SAL_CALL NotifyBrokenPackage::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException) +{ + return ::cppu::queryInterface ( rType, + // OWeakObject interfaces + dynamic_cast< XInterface* > ( (XInteractionRequest *) this ), + static_cast< XWeak* > ( this ), + // my own interfaces + static_cast< XInteractionRequest* > ( this ) ); +} + +void SAL_CALL NotifyBrokenPackage::acquire( ) throw () +{ + OWeakObject::acquire(); +} + +void SAL_CALL NotifyBrokenPackage::release( ) throw () +{ + OWeakObject::release(); +} + ::com::sun::star::uno::Any SAL_CALL NotifyBrokenPackage::getRequest() throw( ::com::sun::star::uno::RuntimeException ) { -- cgit From b71e7bee59426fa5fe73f6ec85afbe6c0db7964d Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Fri, 7 May 2010 10:40:12 +0200 Subject: cws tl78: fixing windows specific build problems after merging with DEV300_m77 --- sc/source/ui/unoobj/scdetect.cxx | 0 sc/source/ui/unoobj/warnpassword.cxx | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 sc/source/ui/unoobj/scdetect.cxx mode change 100644 => 100755 sc/source/ui/unoobj/warnpassword.cxx diff --git a/sc/source/ui/unoobj/scdetect.cxx b/sc/source/ui/unoobj/scdetect.cxx old mode 100644 new mode 100755 diff --git a/sc/source/ui/unoobj/warnpassword.cxx b/sc/source/ui/unoobj/warnpassword.cxx old mode 100644 new mode 100755 -- cgit From c4004bb3c81beeb717e0dd4e942d674c1d075812 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Fri, 7 May 2010 10:40:12 +0200 Subject: cws tl78: fixing windows specific build problems after merging with DEV300_m77 --- sd/source/filter/grf/sdgrffilter.cxx | 0 sd/source/ui/unoidl/sddetect.cxx | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 sd/source/filter/grf/sdgrffilter.cxx mode change 100644 => 100755 sd/source/ui/unoidl/sddetect.cxx diff --git a/sd/source/filter/grf/sdgrffilter.cxx b/sd/source/filter/grf/sdgrffilter.cxx old mode 100644 new mode 100755 diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx old mode 100644 new mode 100755 -- cgit From 5cee63480fb7d483018d9ee30972b3c311cd0792 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 7 May 2010 15:59:50 +0100 Subject: cmcfixes75: #i111459# sync paper defaults with CLDR 1.8.1 --- i18npool/source/paper/paper.cxx | 53 ++++++++++++++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/i18npool/source/paper/paper.cxx b/i18npool/source/paper/paper.cxx index 21be12588e37..e94efa6e06c5 100644 --- a/i18npool/source/paper/paper.cxx +++ b/i18npool/source/paper/paper.cxx @@ -436,8 +436,8 @@ Paper PaperInfo::fromPSName(const rtl::OString &rName) } //http://wiki.services.openoffice.org/wiki/DefaultPaperSize -//http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/localedata/locales/?cvsroot=glibc //http://www.unicode.org/cldr/data/charts/supplemental/territory_language_information.html +//http://sourceware.org/git/?p=glibc.git;a=tree;f=localedata/locales //http://en.wikipedia.org/wiki/Paper_size //http://msdn.microsoft.com/en-us/library/cc195164.aspx PaperInfo PaperInfo::getDefaultPaperForLocale( @@ -448,22 +448,57 @@ PaperInfo PaperInfo::getDefaultPaperForLocale( if ( //United States, Letter !rLocale.Country.compareToAscii("US") || - //Puerto Rico, http://sources.redhat.com/ml/libc-hacker/2001-07/msg00046.html + //Puerto Rico: + // http://unicode.org/cldr/trac/ticket/1710 + // http://sources.redhat.com/ml/libc-hacker/2001-07/msg00046.html !rLocale.Country.compareToAscii("PR") || - //Canada, http://sources.redhat.com/ml/libc-hacker/2001-07/msg00053.html + //Canada: + // http://sources.redhat.com/ml/libc-hacker/2001-07/msg00053.html !rLocale.Country.compareToAscii("CA") || - //Venuzuela, https://www.redhat.com/archives/fedora-devel-list/2008-August/msg00019.html + //Venuzuela: + // http://unicode.org/cldr/trac/ticket/1710 + // https://www.redhat.com/archives/fedora-devel-list/2008-August/msg00019.html !rLocale.Country.compareToAscii("VE") || - //Chile, https://www.redhat.com/archives/fedora-devel-list/2008-August/msg00240.html + //Chile: + // http://unicode.org/cldr/trac/ticket/1710 + // https://www.redhat.com/archives/fedora-devel-list/2008-August/msg00240.html !rLocale.Country.compareToAscii("CL") || - //Mexico, http://qa.openoffice.org/issues/show_bug.cgi?id=49739 + //Mexico: + // http://unicode.org/cldr/trac/ticket/1710 + // http://qa.openoffice.org/issues/show_bug.cgi?id=49739 !rLocale.Country.compareToAscii("MX") || - //Colombia, http://qa.openoffice.org/issues/show_bug.cgi?id=69703 + //Colombia: + // http://unicode.org/cldr/trac/ticket/1710 + // http://qa.openoffice.org/issues/show_bug.cgi?id=69703 !rLocale.Country.compareToAscii("CO") || - //Philippines, + //Philippines: + // http://unicode.org/cldr/trac/ticket/1710 // http://ubuntuliving.blogspot.com/2008/07/default-paper-size-in-evince.html // http://www.gov.ph/faqs/driverslicense.asp - !rLocale.Country.compareToAscii("PH") + !rLocale.Country.compareToAscii("PH") || + //Belize: + // http://unicode.org/cldr/trac/ticket/2585 + // http://www.belize.gov.bz/ct.asp?xItem=1666&ctNode=486&mp=27 + !rLocale.Country.compareToAscii("BZ") || + //Costa Rica: + // http://unicode.org/cldr/trac/ticket/2585 + // http://sources.redhat.com/bugzilla/show_bug.cgi?id=11258 + !rLocale.Country.compareToAscii("CR") || + //Guatemala: + // http://unicode.org/cldr/trac/ticket/2585 + // http://sources.redhat.com/bugzilla/show_bug.cgi?id=10936 + !rLocale.Country.compareToAscii("GT") || + //Nicaragua: + // http://unicode.org/cldr/trac/ticket/2585 + !rLocale.Country.compareToAscii("NI") || + //Panama: + // http://unicode.org/cldr/trac/ticket/2585 + // http://www.minsa.gob.pa/minsa/tl_files/documents/baner_informativo/INSTRUMENTO%20DE%20INVESTIGACION%20DE%20RAAV%202009.pdf + !rLocale.Country.compareToAscii("PA") || + //El Salvador: + // http://unicode.org/cldr/trac/ticket/2585 + // http://www.tse.gob.sv + !rLocale.Country.compareToAscii("SV") ) { eType = PAPER_LETTER; -- cgit From c6f3782d96f7a93889d742520496e9d27775048e Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Mon, 10 May 2010 11:06:01 +0200 Subject: jl152: Fixed compiling errors for gcc --- desktop/source/deployment/gui/dp_gui_extlistbox.cxx | 2 +- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 2 +- .../source/deployment/manager/dp_commandenvironments.hxx | 14 ++++++-------- .../source/deployment/manager/dp_extensionmanager.cxx | 1 + .../source/deployment/manager/dp_extensionmanager.hxx | 5 +++-- desktop/source/deployment/manager/dp_manager.cxx | 6 ++++-- desktop/source/deployment/registry/dp_backend.cxx | 10 +++++----- .../source/deployment/registry/package/dp_package.cxx | 16 ++++++++++------ desktop/source/deployment/registry/script/dp_script.cxx | 2 +- 9 files changed, 32 insertions(+), 26 deletions(-) diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index 18911ce63ea2..5fd713239e68 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -60,8 +60,8 @@ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage, m_bActive( false ), m_bLocked( bReadOnly ), m_bHasOptions( false ), - m_bShared( false ), m_bUser( false ), + m_bShared( false ), m_bNew( false ), m_bChecked( false ), m_bMissingDeps( false ), diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index 65a1bf021d29..20f47139599a 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -503,7 +503,7 @@ void TheExtensionManager::notifyTermination( ::lang::EventObject const & rEvt ) //------------------------------------------------------------------------------ // XModifyListener -void TheExtensionManager::modified( ::lang::EventObject const & rEvt ) +void TheExtensionManager::modified( ::lang::EventObject const & /*rEvt*/ ) throw ( uno::RuntimeException ) { getDialogHelper()->prepareChecking(); diff --git a/desktop/source/deployment/manager/dp_commandenvironments.hxx b/desktop/source/deployment/manager/dp_commandenvironments.hxx index 0bdad4fd09cc..aa21f8281c72 100644 --- a/desktop/source/deployment/manager/dp_commandenvironments.hxx +++ b/desktop/source/deployment/manager/dp_commandenvironments.hxx @@ -84,9 +84,8 @@ public: class TmpRepositoryCommandEnv : public BaseCommandEnv { public: - TmpRepositoryCommandEnv::TmpRepositoryCommandEnv(); - TmpRepositoryCommandEnv::TmpRepositoryCommandEnv( - css::uno::Reference< css::task::XInteractionHandler> const & handler); + TmpRepositoryCommandEnv(); + TmpRepositoryCommandEnv(css::uno::Reference< css::task::XInteractionHandler> const & handler); // XInteractionHandler virtual void SAL_CALL handle( @@ -105,8 +104,8 @@ private: ::rtl::OUString m_repository; bool m_bSuppressLicense; public: - LicenseCommandEnv::LicenseCommandEnv(){}; - LicenseCommandEnv::LicenseCommandEnv( + LicenseCommandEnv(){}; + LicenseCommandEnv( css::uno::Reference< css::task::XInteractionHandler> const & handler, bool bSuppressLicense, ::rtl::OUString const & repository); @@ -126,9 +125,8 @@ class NoLicenseCommandEnv : public BaseCommandEnv { public: - NoLicenseCommandEnv::NoLicenseCommandEnv(){}; - NoLicenseCommandEnv::NoLicenseCommandEnv( - css::uno::Reference< css::task::XInteractionHandler> const & handler); + NoLicenseCommandEnv(){}; + NoLicenseCommandEnv(css::uno::Reference< css::task::XInteractionHandler> const & handler); // XInteractionHandler virtual void SAL_CALL handle( diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 44f34991889e..844417d5ec85 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -1225,6 +1225,7 @@ ExtensionManager::getExtensionsWithUnacceptedLicenses( } sal_Bool ExtensionManager::isReadOnlyRepository(::rtl::OUString const & repository) + throw (uno::RuntimeException) { return getPackageManager(repository)->isReadOnly(); } diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index 158fd35e2fa0..e6c9ca3aa915 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -202,7 +202,8 @@ public: throw (css::deployment::DeploymentException, css::uno::RuntimeException); - virtual sal_Bool SAL_CALL isReadOnlyRepository(::rtl::OUString const & repository); + virtual sal_Bool SAL_CALL isReadOnlyRepository(::rtl::OUString const & repository) + throw (css::uno::RuntimeException); private: @@ -233,7 +234,7 @@ private: bool isUserDisabled(::rtl::OUString const & identifier, ::rtl::OUString const & filename); - bool ExtensionManager::isUserDisabled( + bool isUserDisabled( css::uno::Sequence > const & seqExtSameId); void activateExtension( diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 83105406f253..69b2baab8878 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -1471,6 +1471,8 @@ Sequence< Reference > PackageManagerImpl::getExtensionsWit Reference const & xCmdEnv) throw (deployment::DeploymentException, RuntimeException) { + ::std::vector > vec; + try { const ::osl::MutexGuard guard( getMutex() ); @@ -1479,8 +1481,6 @@ Sequence< Reference > PackageManagerImpl::getExtensionsWit ActivePackages::Entries::const_iterator i = id2temp.begin(); bool bShared = m_context.equals(OUSTR("shared")); - ::std::vector > vec; - for (; i != id2temp.end(); i++ ) { @@ -1523,6 +1523,8 @@ Sequence< Reference > PackageManagerImpl::getExtensionsWit exc <<= de; ::cppu::throwException(exc); } + + return ::comphelper::containerToSequence(vec); } sal_Int32 PackageManagerImpl::checkPrerequisites( diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index e822a66aa85f..9a83ca63d36e 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -274,12 +274,12 @@ void PackageRegistryBackend::deleteUnusedFolders( //usedFolders contains the urls to the folders which have //a trailing underscore const OUString tempFile = tempEntries[ pos ]; - const OUString tempFolder = tempFile + OUSTR("_"); + const OUString tempFolderName = tempFile + OUSTR("_"); - if (::std::find( usedFolders.begin(), usedFolders.end(), tempFolder ) == + if (::std::find( usedFolders.begin(), usedFolders.end(), tempFolderName ) == usedFolders.end()) { - erase_path( tempFolder, Reference(), + erase_path( tempFolderName, Reference(), false /* no throw: ignore errors */ ); erase_path( tempFile, Reference(), false /* no throw: ignore errors */ ); @@ -306,7 +306,7 @@ Package::~Package() //______________________________________________________________________________ Package::Package( ::rtl::Reference const & myBackend, OUString const & url, - OUString const & name, + OUString const & rName, OUString const & displayName, Reference const & xPackageType, bool bRemoved, @@ -314,7 +314,7 @@ Package::Package( ::rtl::Reference const & myBackend, : t_PackageBase( getMutex() ), m_myBackend( myBackend ), m_url( url ), - m_name( name ), + m_name( rName ), m_displayName( displayName ), m_xPackageType( xPackageType ), m_bRemoved(bRemoved), diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx index 3d4842f62bfd..a2c68dd2341f 100644 --- a/desktop/source/deployment/registry/package/dp_package.cxx +++ b/desktop/source/deployment/registry/package/dp_package.cxx @@ -228,7 +228,8 @@ class BackendImpl : public ImplBaseT virtual beans::StringPair SAL_CALL getPublisherInfo() throw (deployment::ExtensionRemovedException, RuntimeException); - virtual OUString SAL_CALL getDisplayName() throw (RuntimeException); + virtual OUString SAL_CALL getDisplayName() + throw (deployment::ExtensionRemovedException, RuntimeException); virtual Reference< graphic::XGraphic > SAL_CALL getIcon( ::sal_Bool bHighContrast ) @@ -754,9 +755,10 @@ bool BackendImpl::PackageImpl::checkDependencies( ::sal_Bool BackendImpl::PackageImpl::checkDependencies( const css::uno::Reference< css::ucb::XCommandEnvironment >& xCmdEnv ) - throw (css::deployment::DeploymentException, - css::ucb::CommandFailedException, - css::uno::RuntimeException) + throw (deployment::DeploymentException, + deployment::ExtensionRemovedException, + ucb::CommandFailedException, + RuntimeException) { if (m_bRemoved) throw deployment::ExtensionRemovedException(); @@ -781,7 +783,8 @@ beans::Optional BackendImpl::PackageImpl::getIdentifier() true, identifier); } -OUString BackendImpl::PackageImpl::getVersion() throw (RuntimeException) +OUString BackendImpl::PackageImpl::getVersion() + throw (deployment::ExtensionRemovedException, RuntimeException) { if (m_bRemoved) throw deployment::ExtensionRemovedException(); @@ -982,7 +985,8 @@ void BackendImpl::PackageImpl::processPackage_( } //______________________________________________________________________________ -OUString BackendImpl::PackageImpl::getDescription() throw (RuntimeException) +OUString BackendImpl::PackageImpl::getDescription() + throw (deployment::ExtensionRemovedException, RuntimeException) { if (m_bRemoved) throw deployment::ExtensionRemovedException(); diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index f0c4c9b42c6e..414d4c1c61cd 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -321,7 +321,7 @@ BackendImpl::PackageImpl::isRegistered_( BackendImpl * that = getMyBackend(); Reference< deployment::XPackage > xThisPackage( this ); - bool registered = getMyBackend()->isRegisteredInDb(getURL()); + bool registered = that->isRegisteredInDb(getURL()); return beans::Optional< beans::Ambiguous >( true /* IsPresent */, beans::Ambiguous( registered, false /* IsAmbiguous */ ) ); -- cgit From 051f7b163fa4bf1917fb3db98fed2a6a932a827e Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Mon, 10 May 2010 12:00:49 +0200 Subject: jl152#i77196# Use ExtensionManager instead of PackageManager --- .../source/deployment/gui/dp_gui_extensioncmdqueue.cxx | 10 ++++++---- desktop/source/deployment/gui/dp_gui_extlistbox.cxx | 17 +++++++++++++++-- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 5 +---- desktop/source/deployment/gui/dp_gui_theextmgr.hxx | 2 -- .../source/deployment/manager/dp_extensionmanager.cxx | 2 ++ 5 files changed, 24 insertions(+), 12 deletions(-) diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 4c9357e03e9f..8d82d969c4a0 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -1028,13 +1028,14 @@ void ExtensionCmdQueue::Thread::_enableExtension( ::rtl::Reference< ProgressCmdE if ( !xPackage.is() ) return; - uno::Reference< task::XAbortChannel > xAbortChannel( xPackage->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sEnablingPackages, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); rCmdEnv->progressSection( sTitle, xAbortChannel ); try { - xPackage->registerPackage(false, xAbortChannel, rCmdEnv.get() ); + xExtMgr->enableExtension( xPackage, xAbortChannel, rCmdEnv.get() ); if ( m_pDialogHelper ) m_pDialogHelper->updatePackageInfo( xPackage ); } @@ -1049,13 +1050,14 @@ void ExtensionCmdQueue::Thread::_disableExtension( ::rtl::Reference< ProgressCmd if ( !xPackage.is() ) return; - uno::Reference< task::XAbortChannel > xAbortChannel( xPackage->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sDisablingPackages, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); rCmdEnv->progressSection( sTitle, xAbortChannel ); try { - xPackage->revokePackage( xAbortChannel, rCmdEnv.get() ); + xExtMgr->disableExtension( xPackage, xAbortChannel, rCmdEnv.get() ); if ( m_pDialogHelper ) m_pDialogHelper->updatePackageInfo( xPackage ); } diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index 5fd713239e68..c73d8dfba136 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -1123,17 +1123,30 @@ void ExtensionBox_Impl::checkEntries() { if ( (*iIndex)->m_bChecked == false ) { + (*iIndex)->m_bChecked = true; bNeedsUpdate = true; nPos = iIndex-m_vEntries.begin(); if ( (*iIndex)->m_bNew ) - { + { // add entry to list and correct active pos if ( nNewPos == - 1) nNewPos = nPos; if ( nPos <= m_nActive ) m_nActive += 1; + iIndex++; + } + else + { // remove entry from list + if ( nPos < m_nActive ) + m_nActive -= 1; + else if ( ( nPos == m_nActive ) && ( nPos == m_vEntries.size() - 1 ) ) + m_nActive -= 1; + m_vRemovedEntries.push_back( *iIndex ); + m_vEntries.erase( iIndex ); + iIndex = m_vEntries.begin() + nPos; } } - iIndex++; + else + iIndex++; } guard.clear(); diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index 20f47139599a..7c81517bbbfa 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -34,6 +34,7 @@ #include "vos/mutex.hxx" #include "toolkit/helper/vclunohelper.hxx" + #include "com/sun/star/beans/XPropertySet.hpp" #include "dp_gui_dialog2.hxx" @@ -48,10 +49,6 @@ #define SHARED_PACKAGE_MANAGER OUSTR("shared") #define BUNDLED_PACKAGE_MANAGER OUSTR("bundled") -#define USER_PACKAGE_MANAGER OUSTR("user") -#define SHARED_PACKAGE_MANAGER OUSTR("shared") -#define BUNDLED_PACKAGE_MANAGER OUSTR("bundled") - using namespace ::com::sun::star; using ::rtl::OUString; diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx index 6605b5907dab..02e3aad56915 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx @@ -69,8 +69,6 @@ private: ::rtl::OUString m_sGetExtensionsURL; - // liste der packages ( xpackage?, mit parent manager, ... ) - void createPackageList(); public: diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 844417d5ec85..83e68dff255e 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -326,6 +326,8 @@ void ExtensionManager::activateExtension( ::std::list > > (listExtensions), bUserDisabled, bStartup, xAbortChannel, xCmdEnv); + + fireModified(); } void ExtensionManager::activateExtension( -- cgit From cbe7eeb41f84acf01241189b67d17b8a4bb4954b Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Mon, 10 May 2010 12:18:08 +0200 Subject: jl152: Fixed compiling errors for gcc --- desktop/source/deployment/gui/dp_gui_extlistbox.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index c73d8dfba136..dbb5c93cd853 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -1138,7 +1138,7 @@ void ExtensionBox_Impl::checkEntries() { // remove entry from list if ( nPos < m_nActive ) m_nActive -= 1; - else if ( ( nPos == m_nActive ) && ( nPos == m_vEntries.size() - 1 ) ) + else if ( ( nPos == m_nActive ) && ( nPos == (long) m_vEntries.size() - 1 ) ) m_nActive -= 1; m_vRemovedEntries.push_back( *iIndex ); m_vEntries.erase( iIndex ); -- cgit From dc9d30e6e99da3e63f9255a0c5dd046015437665 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 7 May 2010 17:02:22 +0200 Subject: jl152 #i77196# adapting configuration backend to changes introduced by SB on DEV300 branch concering different handling of configuration files in extensions, also fixed writing of compiled help files into the user installation --- configmgr/source/components.cxx | 8 +- desktop/source/deployment/inc/dp_misc.h | 3 + desktop/source/deployment/misc/dp_misc.cxx | 16 ++ .../deployment/registry/component/dp_component.cxx | 56 +++-- .../registry/configuration/dp_configuration.cxx | 240 +++++++++++++-------- .../configuration/dp_configurationbackenddb.cxx | 186 ++++++++++++++++ .../configuration/dp_configurationbackenddb.hxx | 96 +++++++++ .../deployment/registry/configuration/makefile.mk | 3 +- desktop/source/deployment/registry/dp_backend.cxx | 24 ++- .../source/deployment/registry/dp_backenddb.cxx | 45 ++++ .../source/deployment/registry/help/dp_help.cxx | 16 +- .../deployment/registry/help/dp_helpbackenddb.cxx | 6 +- .../deployment/registry/help/dp_helpbackenddb.hxx | 9 - .../source/deployment/registry/inc/dp_backend.h | 5 + .../deployment/registry/inc/dp_backenddb.hxx | 5 +- 15 files changed, 568 insertions(+), 150 deletions(-) create mode 100644 desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx create mode 100644 desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx index 48f90fa8382e..7ef1bd3ee3e7 100644 --- a/configmgr/source/components.cxx +++ b/configmgr/source/components.cxx @@ -368,22 +368,22 @@ Components::Components( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "$BRAND_BASE_DIR/share/registry/modules")))); - parseXcsXcuLayer( //TODO: migrate + parseXcsXcuIniLayer( 7, expand( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno") - ":UNO_SHARED_PACKAGES_CACHE}/registry/" + ":BUNDLED_EXTENSIONS_USER}/registry/" "com.sun.star.comp.deployment.configuration." - "PackageRegistryBackend/registry")))); + "PackageRegistryBackend/configmgr.ini")))); parseXcsXcuIniLayer( 9, expand( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno") - ":UNO_SHARED_PACKAGES_CACHE}/registry/" + ":SHARED_EXTENSIONS_USER}/registry/" "com.sun.star.comp.deployment.configuration." "PackageRegistryBackend/configmgr.ini")))); parseXcsXcuLayer( //TODO: migrate diff --git a/desktop/source/deployment/inc/dp_misc.h b/desktop/source/deployment/inc/dp_misc.h index 3283d20718be..a0ca7f53be03 100644 --- a/desktop/source/deployment/inc/dp_misc.h +++ b/desktop/source/deployment/inc/dp_misc.h @@ -70,6 +70,9 @@ inline void try_dispose( ::com::sun::star::uno::Reference< ::com::sun::star::uno DESKTOP_DEPLOYMENTMISC_DLLPUBLIC ::rtl::OUString expandUnoRcTerm( ::rtl::OUString const & term ); +DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +::rtl::OUString makeRcTerm( ::rtl::OUString const & url ); + //============================================================================== DESKTOP_DEPLOYMENTMISC_DLLPUBLIC ::rtl::OUString expandUnoRcUrl( ::rtl::OUString const & url ); diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 919f134b3fb9..799542a4757f 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -317,6 +317,22 @@ OUString expandUnoRcTerm( OUString const & term_ ) return term; } +OUString makeRcTerm( OUString const & url ) +{ + OSL_ASSERT( url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM( + "vnd.sun.star.expand:") ) ); + if (url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.expand:") )) { + // cut protocol: + OUString rcterm( url.copy( sizeof ("vnd.sun.star.expand:") - 1 ) ); + // decode uric class chars: + rcterm = ::rtl::Uri::decode( + rcterm, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); + return rcterm; + } + else + return url; +} + //============================================================================== OUString expandUnoRcUrl( OUString const & url ) { diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index edb53d134c8b..fc9880438bac 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -75,7 +75,6 @@ typedef ::std::list t_stringlist; typedef ::std::vector< ::std::pair > t_stringpairvec; #define IMPLEMENTATION_NAME "com.sun.star.comp.deployment.component.PackageRegistryBackend" -inline OUString makeRcTerm( OUString const & url ); /** return a vector of bootstrap variables which have been provided as command arguments. @@ -779,11 +778,16 @@ void BackendImpl::unorc_verify_init( OUString token( line.getToken( 0, ' ', index ).trim() ); if (token.getLength() > 0) { - //The jar file may not exist anymore if a shared or bundled - //extension was removed, but it can still be in the unorc - //After running XExtensionManager::synchronize, the unorc is - //cleaned up - m_jar_typelibs.push_back( token ); + if (create_ucb_content( + 0, expandUnoRcTerm(token), xCmdEnv, + false /* no throw */ )) + { + //The jar file may not exist anymore if a shared or bundled + //extension was removed, but it can still be in the unorc + //After running XExtensionManager::synchronize, the unorc is + //cleaned up + m_jar_typelibs.push_back( token ); + } } } while (index >= 0); @@ -797,11 +801,16 @@ void BackendImpl::unorc_verify_init( { if (token[ 0 ] == '?') token = token.copy( 1 ); - //The RDB file may not exist anymore if a shared or bundled - //extension was removed, but it can still be in the unorc. - //After running XExtensionManager::synchronize, the unorc is - //cleaned up - m_rdb_typelibs.push_back( token ); + if (create_ucb_content( + 0, expandUnoRcTerm(token), xCmdEnv, + false /* no throw */ )) + { + //The RDB file may not exist anymore if a shared or bundled + //extension was removed, but it can still be in the unorc. + //After running XExtensionManager::synchronize, the unorc is + //cleaned up + m_rdb_typelibs.push_back( token ); + } } } while (index >= 0); @@ -842,7 +851,7 @@ void BackendImpl::unorc_flush( Reference const & xCmdEnv ) ::rtl::OStringBuffer buf; buf.append(RTL_CONSTASCII_STRINGPARAM("ORIGIN=")); - OUString sOrigin = makeRcTerm(m_cachePath); + OUString sOrigin = dp_misc::makeRcTerm(m_cachePath); ::rtl::OString osOrigin = ::rtl::OUStringToOString(sOrigin, RTL_TEXTENCODING_UTF8); buf.append(osOrigin); buf.append(LF); @@ -933,28 +942,11 @@ void BackendImpl::unorc_flush( Reference const & xCmdEnv ) m_unorc_modified = false; } -//------------------------------------------------------------------------------ -inline OUString makeRcTerm( OUString const & url ) -{ - OSL_ASSERT( url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM( - "vnd.sun.star.expand:") ) ); - if (url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.expand:") )) { - // cut protocol: - OUString rcterm( url.copy( sizeof ("vnd.sun.star.expand:") - 1 ) ); - // decode uric class chars: - rcterm = ::rtl::Uri::decode( - rcterm, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); - return rcterm; - } - else - return url; -} - //______________________________________________________________________________ bool BackendImpl::addToUnoRc( bool jarFile, OUString const & url_, Reference const & xCmdEnv ) { - const OUString rcterm( makeRcTerm(url_) ); + const OUString rcterm( dp_misc::makeRcTerm(url_) ); const ::osl::MutexGuard guard( getMutex() ); unorc_verify_init( xCmdEnv ); t_stringlist & rSet = getTypelibs(jarFile); @@ -974,7 +966,7 @@ bool BackendImpl::removeFromUnoRc( bool jarFile, OUString const & url_, Reference const & xCmdEnv ) { - const OUString rcterm( makeRcTerm(url_) ); + const OUString rcterm( dp_misc::makeRcTerm(url_) ); const ::osl::MutexGuard guard( getMutex() ); unorc_verify_init( xCmdEnv ); getTypelibs(jarFile).remove( rcterm ); @@ -988,7 +980,7 @@ bool BackendImpl::removeFromUnoRc( bool BackendImpl::hasInUnoRc( bool jarFile, OUString const & url_ ) { - const OUString rcterm( makeRcTerm(url_) ); + const OUString rcterm( dp_misc::makeRcTerm(url_) ); const ::osl::MutexGuard guard( getMutex() ); t_stringlist const & rSet = getTypelibs(jarFile); return ::std::find( rSet.begin(), rSet.end(), rcterm ) != rSet.end(); diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index a97736235656..1a6738b0270b 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -55,6 +55,7 @@ #include #include +#include "dp_configurationbackenddb.hxx" using namespace ::dp_misc; using namespace ::com::sun::star; @@ -111,6 +112,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend bool m_configmgrini_inited; bool m_configmgrini_modified; + std::auto_ptr m_backendDb; // PackageRegistryBackend virtual Reference bindPackage_( @@ -135,7 +137,11 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend Reference const & xCmdEnv ); bool removeFromConfigmgrIni( bool isSchema, OUString const & url, Reference const & xCmdEnv ); - bool hasInConfigmgrIni( bool isSchema, OUString const & url ); + + void addDataToDb(OUString const & url, ConfigurationBackendDb::Data const & data); + ::boost::optional readDataFromDb(OUString const & url); + void deleteDataFromDb(OUString const & url); + ::std::list getAllIniEntries(); public: BackendImpl( Sequence const & args, @@ -193,18 +199,64 @@ BackendImpl::BackendImpl( const Reference xCmdEnv; - if (transientMode()) { + if (transientMode()) + { //TODO } - else { + else + { + OUString dbFile = makeURL(getCachePath(), OUSTR("backenddb.xml")); + m_backendDb.reset( + new ConfigurationBackendDb(getComponentContext(), dbFile)); + //clean up data folders which are no longer used. + //This must not be done in the same process where the help files + //are still registers. Only after revoking and restarting OOo the folders + //can be removed. This works now, because the extension manager is a singleton + //and the backends are only create once per process. + ::std::list folders = m_backendDb->getAllDataUrls(); + deleteUnusedFolders(OUString(), folders); + + configmgrini_verify_init( xCmdEnv ); m_registeredPackages.reset( new PersistentMap( makeURL( getCachePath(), OUSTR("registered_packages.db") ), false ) ); - } + } +} + +void BackendImpl::addDataToDb( + OUString const & url, ConfigurationBackendDb::Data const & data) +{ + if (m_backendDb.get()) + m_backendDb->addEntry(url, data); +} + +::boost::optional BackendImpl::readDataFromDb( + OUString const & url) +{ + ::boost::optional data; + if (m_backendDb.get()) + data = m_backendDb->getEntry(url); + return data; } +void BackendImpl::deleteDataFromDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->removeEntry(url); +} + +::std::list BackendImpl::getAllIniEntries() +{ + if (m_backendDb.get()) + return m_backendDb->getAllIniEntries(); + else + return ::std::list(); +} + + + // XPackageRegistry //______________________________________________________________________________ Sequence< Reference > @@ -312,11 +364,12 @@ void BackendImpl::configmgrini_verify_init( if (create_ucb_content( 0, expandUnoRcTerm(token), xCmdEnv, false /* no throw */ )) { + //The file may not exist anymore if a shared or bundled + //extension was removed, but it can still be in the configmgrini. + //After running XExtensionManager::synchronize, the configmgrini is + //cleaned up m_xcs_files.push_back( token ); } - else - OSL_ENSURE( - 0, "### invalid SCHEMA entry!" ); } } while (index >= 0); @@ -333,10 +386,24 @@ void BackendImpl::configmgrini_verify_init( if (create_ucb_content( 0, expandUnoRcTerm(token), xCmdEnv, false /* no throw */ )) { + //The file may not exist anymore if a shared or bundled + //extension was removed, but it can still be in the configmgrini. + //After running XExtensionManager::synchronize, the configmgrini is + //cleaned up m_xcu_files.push_back( token ); } else - OSL_ENSURE( 0, "### invalid DATA entry!" ); + { + //Check if it was removed. Only when the file contained %origin, so that + //a new file was writen in the user installation (e.g. $BUNDLED_EXTENSIONS_USER) + //See also ConfigurationBackendDb.iniEntry + ::std::list iniEntries = getAllIniEntries(); + if (::std::find(iniEntries.begin(), iniEntries.end(), token) + != iniEntries.end()) + m_xcu_files.push_back( token ); + else + OSL_ENSURE(0, "Extension manager: Invalid configmgr.ini entry."); + } } } while (index >= 0); @@ -357,20 +424,6 @@ void BackendImpl::configmgrini_flush( return; ::rtl::OStringBuffer buf; - // UNO_USER_PACKAGES_CACHE, UNO_SHARED_PACKAGES_CACHE have to be resolved - // locally: - if (m_eContext == CONTEXT_USER) { - buf.append( RTL_CONSTASCII_STRINGPARAM( - "UNO_USER_PACKAGES_CACHE=$ORIGIN/../..") ); - } - else if (m_eContext == CONTEXT_SHARED) { - buf.append( RTL_CONSTASCII_STRINGPARAM( - "UNO_SHARED_PACKAGES_CACHE=$ORIGIN/../..") ); - } - else - OSL_ASSERT(0); - buf.append(LF); - if (! m_xcs_files.empty()) { t_stringlist::const_iterator iPos( m_xcs_files.begin() ); @@ -417,28 +470,11 @@ void BackendImpl::configmgrini_flush( m_configmgrini_modified = false; } -//------------------------------------------------------------------------------ -inline OUString makeRcTerm( OUString const & url ) -{ - OSL_ASSERT( url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM( - "vnd.sun.star.expand:") ) ); - if (url.matchAsciiL( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.expand:") )) { - // cut protocol: - OUString rcterm( url.copy( sizeof ("vnd.sun.star.expand:") - 1 ) ); - // decode uric class chars: - rcterm = ::rtl::Uri::decode( - rcterm, rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ); - return rcterm; - } - else - return url; -} - //______________________________________________________________________________ bool BackendImpl::addToConfigmgrIni( bool isSchema, OUString const & url_, Reference const & xCmdEnv ) { - const OUString rcterm( makeRcTerm(url_) ); + const OUString rcterm( dp_misc::makeRcTerm(url_) ); const ::osl::MutexGuard guard( getMutex() ); configmgrini_verify_init( xCmdEnv ); t_stringlist & rSet = getFiles(isSchema); @@ -458,15 +494,18 @@ bool BackendImpl::removeFromConfigmgrIni( bool isSchema, OUString const & url_, Reference const & xCmdEnv ) { - const OUString rcterm( makeRcTerm(url_) ); + const OUString rcterm( dp_misc::makeRcTerm(url_) ); const ::osl::MutexGuard guard( getMutex() ); configmgrini_verify_init( xCmdEnv ); t_stringlist & rSet = getFiles(isSchema); t_stringlist::iterator i(std::find(rSet.begin(), rSet.end(), rcterm)); - if (i == rSet.end() && !isSchema) { //TODO: see replaceOrigin() - i = std::find( - rSet.begin(), rSet.end(), - rcterm + OUString(RTL_CONSTASCII_USTRINGPARAM(".mod"))); + if (i == rSet.end() && !isSchema) + { + //in case the xcu contained %origin% then the configmr.ini contains the + //url to the file in the user installation (e.g. $BUNDLED_EXTENSIONS_USER) + ::boost::optional data = readDataFromDb(url_); + if (data) + i = std::find(rSet.begin(), rSet.end(), data->iniEntry); } if (i == rSet.end()) { return false; @@ -478,21 +517,6 @@ bool BackendImpl::removeFromConfigmgrIni( return true; } -//______________________________________________________________________________ -bool BackendImpl::hasInConfigmgrIni( - bool isSchema, OUString const & url_ ) -{ - const OUString rcterm( makeRcTerm(url_) ); - const ::osl::MutexGuard guard( getMutex() ); - t_stringlist const & rSet = getFiles(isSchema); - return ::std::find( rSet.begin(), rSet.end(), rcterm ) != rSet.end() - || (!isSchema && //TODO: see replaceOrigin() - ::std::find( - rSet.begin(), rSet.end(), - rcterm + OUString(RTL_CONSTASCII_USTRINGPARAM(".mod"))) != - rSet.end()); -} - //############################################################################## // Package @@ -519,14 +543,18 @@ BackendImpl::PackageImpl::isRegistered_( Reference const & ) { BackendImpl * that = getMyBackend(); - rtl::OUString url(getURL()); + const rtl::OUString url(getURL()); + + bool bReg = false; + if (that->readDataFromDb(getURL())) + bReg = true; + if (!bReg) + //fallback for user extension registered in berkeley DB + bReg = that->m_registeredPackages->has( + rtl::OUStringToOString( url, RTL_TEXTENCODING_UTF8 )); + return beans::Optional< beans::Ambiguous >( - true /* IsPresent */, - beans::Ambiguous( - that->hasInConfigmgrIni( m_isSchema, url ) || - that->m_registeredPackages->has( - rtl::OUStringToOString( url, RTL_TEXTENCODING_UTF8 ) ), - false /* IsAmbiguous */ ) ); + true, beans::Ambiguous( bReg, false ) ); } //------------------------------------------------------------------------------ @@ -564,7 +592,7 @@ OUString encodeForXml( OUString const & text ) //______________________________________________________________________________ OUString replaceOrigin( - OUString const & url, Reference< XCommandEnvironment > const & xCmdEnv ) + OUString const & url, OUString const & destFolder, Reference< XCommandEnvironment > const & xCmdEnv, bool & out_replaced) { // looking for %origin%: ::ucbhelper::Content ucb_content( url, xCmdEnv ); @@ -634,10 +662,17 @@ OUString replaceOrigin( return url; if (write_pos < filtered.getLength()) filtered.realloc( write_pos ); - rtl::OUString newUrl(url + OUString(RTL_CONSTASCII_USTRINGPARAM(".mod"))); - //TODO: unique name + rtl::OUString newUrl(url); + if (destFolder.getLength()) + { + //get the file name of the xcu and add it to the url of the temporary folder + sal_Int32 i = url.lastIndexOf('/'); + newUrl = destFolder + url.copy(i); + } + ucbhelper::Content(newUrl, xCmdEnv).writeStream( xmlscript::createInputStream(filtered), true); + out_replaced = true; return newUrl; } @@ -654,21 +689,37 @@ void BackendImpl::PackageImpl::processPackage_( if (doRegisterPackage) { - if (m_isSchema) + ConfigurationBackendDb::Data data; + if (!m_isSchema) { - com::sun::star::configuration::Update::get( - that->m_xComponentContext)->insertExtensionXcsFile( - that->m_eContext == CONTEXT_SHARED, expandUnoRcUrl(url)); + const OUString sModFolder = that->createFolder(OUString(), xCmdEnv); + bool out_replaced = false; + url = replaceOrigin(url, sModFolder, xCmdEnv, out_replaced); + if (out_replaced) + data.dataUrl = sModFolder; + else + deleteTempFolder(sModFolder); } - else + //No need for live-deployment for bundled extension, because OOo + //restarts after installation + if (that->m_eContext != CONTEXT_BUNDLED) { - url = replaceOrigin(url, xCmdEnv); - com::sun::star::configuration::Update::get( - that->m_xComponentContext)->insertExtensionXcuFile( - that->m_eContext == CONTEXT_SHARED, expandUnoRcUrl(url)); + if (m_isSchema) + { + com::sun::star::configuration::Update::get( + that->m_xComponentContext)->insertExtensionXcsFile( + that->m_eContext == CONTEXT_SHARED, expandUnoRcUrl(url)); + } + else + { + com::sun::star::configuration::Update::get( + that->m_xComponentContext)->insertExtensionXcuFile( + that->m_eContext == CONTEXT_SHARED, expandUnoRcUrl(url)); + } } - that->addToConfigmgrIni( m_isSchema, url, xCmdEnv ); + data.iniEntry = dp_misc::makeRcTerm(url); + that->addDataToDb(getURL(), data); } else // revoke { @@ -678,15 +729,31 @@ void BackendImpl::PackageImpl::processPackage_( for (t_string2string_map::iterator i(entries.begin()); i != entries.end(); ++i) { + //If the xcu file was installed before the configmgr was chaned + //to use the configmgr.ini, one needed to rebuild to whole directory + //structur containing the xcu, xcs files from all extensions. Now, + //we just add all other xcu/xcs files to the configmgr.ini instead of + //rebuilding the directory structure. rtl::OUString url2( rtl::OStringToOUString(i->first, RTL_TEXTENCODING_UTF8)); + ConfigurationBackendDb::Data data; if (url2 != url) { - bool schema = i->second.equalsIgnoreAsciiCase( - "vnd.sun.star.configuration-schema"); - if (!schema) { - url2 = replaceOrigin(url2, xCmdEnv); - } - that->addToConfigmgrIni(schema, url2, xCmdEnv); + bool schema = i->second.equalsIgnoreAsciiCase( + "vnd.sun.star.configuration-schema"); + OUString url_replaced(url2); + if (!schema) + { + const OUString sModFolder = that->createFolder(OUString(), xCmdEnv); + bool out_replaced = false; + url_replaced = replaceOrigin( + url2, sModFolder, xCmdEnv, out_replaced); + if (out_replaced) + data.dataUrl = sModFolder; + else + deleteTempFolder(sModFolder); + } + that->addToConfigmgrIni(schema, url_replaced, xCmdEnv); + that->addDataToDb(url2, data); } that->m_registeredPackages->erase(i->first); } @@ -695,6 +762,7 @@ void BackendImpl::PackageImpl::processPackage_( xCmdEnv ).executeCommand( OUSTR("delete"), Any( true /* delete physically */ ) ); } + that->deleteDataFromDb(getURL()); //TODO: revoking at runtime, possible, sensible? } diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx new file mode 100644 index 000000000000..845ba88cb813 --- /dev/null +++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx @@ -0,0 +1,186 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_package.cxx,v $ + * $Revision: 1.34.16.2 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_desktop.hxx" + +#include "rtl/string.h" +#include "rtl/bootstrap.hxx" +#include "cppuhelper/exc_hlp.hxx" +#include "com/sun/star/uno/XComponentContext.hpp" +#include "com/sun/star/xml/dom/XDocumentBuilder.hpp" +#include "com/sun/star/xml/xpath/XXPathAPI.hpp" +#include "dp_misc.h" + +#include "dp_configurationbackenddb.hxx" + + +namespace css = ::com::sun::star; +using namespace ::com::sun::star::uno; +using ::rtl::OUString; + +#define EXTENSION_REG_NS "http://openoffice.org/extensionmanager/configuration-registry/2010" +#define NS_PREFIX "conf" +#define ROOT_ELEMENT_NAME "configuration-backend-db" +#define KEY_ELEMENT_NAME "configuration" + +namespace dp_registry { +namespace backend { +namespace configuration { + +ConfigurationBackendDb::ConfigurationBackendDb( + Reference const & xContext, + ::rtl::OUString const & url):BackendDb(xContext, url) +{ + +} + +OUString ConfigurationBackendDb::getDbNSName() +{ + return OUSTR(EXTENSION_REG_NS); +} + +OUString ConfigurationBackendDb::getNSPrefix() +{ + return OUSTR(NS_PREFIX); +} + +OUString ConfigurationBackendDb::getRootElementName() +{ + return OUSTR(ROOT_ELEMENT_NAME); +} + +OUString ConfigurationBackendDb::getKeyElementName() +{ + return OUSTR(KEY_ELEMENT_NAME); +} + + +void ConfigurationBackendDb::addEntry(::rtl::OUString const & url, Data const & data) +{ + try{ + Reference helpNode + = writeKeyElement(url); + + writeSimpleElement(OUSTR("data-url"), data.dataUrl, helpNode); + writeSimpleElement(OUSTR("ini-entry"), data.iniEntry, helpNode); + save(); + } + catch (css::deployment::DeploymentException& ) + { + throw; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to write data entry in configuration backend db: ") + + m_urlDb, 0, exc); + } +} + + +::boost::optional +ConfigurationBackendDb::getEntry(::rtl::OUString const & url) +{ + try + { + ConfigurationBackendDb::Data retData; + Reference aNode = getKeyElement(url); + if (aNode.is()) + { + retData.dataUrl = readSimpleElement(OUSTR("data-url"), aNode); + retData.iniEntry = readSimpleElement(OUSTR("ini-entry"), aNode); + } + else + { + return ::boost::optional(); + } + return ::boost::optional(retData); + } + catch (css::deployment::DeploymentException& ) + { + throw; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data entry in configuration backend db: ") + + m_urlDb, 0, exc); + } +} + +::std::list ConfigurationBackendDb::getAllDataUrls() +{ + try + { + ::std::list listRet; + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + + Reference xpathApi = getXPathAPI(); + const OUString sPrefix = getNSPrefix(); + OUString sExpression( + sPrefix + OUSTR(":configuration/") + sPrefix + OUSTR(":data-url/text()")); + Reference nodes = + xpathApi->selectNodeList(root, sExpression); + if (nodes.is()) + { + sal_Int32 length = nodes->getLength(); + for (sal_Int32 i = 0; i < length; i++) + listRet.push_back(nodes->item(i)->getNodeValue()); + } + return listRet; + } + catch (css::deployment::DeploymentException& ) + { + throw; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data entry in configuration backend db: ") + + m_urlDb, 0, exc); + } +} + +::std::list ConfigurationBackendDb::getAllIniEntries() +{ + return getOneChildFromAllEntries(OUSTR("ini-entry")); +} + + + +} // namespace configuration +} // namespace backend +} // namespace dp_registry + diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx new file mode 100644 index 000000000000..1b6c4f8973a4 --- /dev/null +++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dp_backend.h,v $ + * $Revision: 1.18 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_DP_CONFIGURATIONBACKENDDB_HXX +#define INCLUDED_DP_CONFIGURATIONBACKENDDB_HXX + +#include "rtl/ustring.hxx" +#include "rtl/string.hxx" +#include +#include "boost/optional.hpp" +#include "dp_backenddb.hxx" + +namespace css = ::com::sun::star; + +namespace com { namespace sun { namespace star { + namespace uno { + class XComponentContext; + } +}}} + +namespace dp_registry { +namespace backend { +namespace configuration { + +/* The XML file stores the extensions which are currently registered. + They will be removed when they are revoked. + */ +class ConfigurationBackendDb: public dp_registry::backend::BackendDb +{ +protected: + virtual ::rtl::OUString getDbNSName(); + + virtual ::rtl::OUString getNSPrefix(); + + virtual ::rtl::OUString getRootElementName(); + + virtual ::rtl::OUString getKeyElementName(); + +public: + struct Data + { + /* the URL to the folder containing the xcu or xcs files which contained + %origin% + */ + ::rtl::OUString dataUrl; + /* the URL of the xcu or xcs file which is written in to the configmgr.ini + */ + ::rtl::OUString iniEntry; + }; + +public: + + ConfigurationBackendDb( css::uno::Reference const & xContext, + ::rtl::OUString const & url); + + void addEntry(::rtl::OUString const & url, Data const & data); + + ::boost::optional getEntry(::rtl::OUString const & url); + ::std::list< ::rtl::OUString> getAllDataUrls(); + ::std::list< ::rtl::OUString> getAllIniEntries(); +}; + + + +} +} +} +#endif + diff --git a/desktop/source/deployment/registry/configuration/makefile.mk b/desktop/source/deployment/registry/configuration/makefile.mk index f549b0e7b0f8..9bcbd50d4230 100644 --- a/desktop/source/deployment/registry/configuration/makefile.mk +++ b/desktop/source/deployment/registry/configuration/makefile.mk @@ -44,7 +44,8 @@ SRC1FILES = \ dp_configuration.src SLOFILES = \ - $(SLO)$/dp_configuration.obj + $(SLO)$/dp_configuration.obj \ + $(SLO)$/dp_configurationbackenddb.obj .INCLUDE : ..$/..$/target.pmk .INCLUDE : target.mk diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index 9a83ca63d36e..ea31f75c6b6b 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -239,6 +239,22 @@ OUString PackageRegistryBackend::createFolder( return destFolder; } +void PackageRegistryBackend::deleteTempFolder( + OUString const & folderUrl) +{ + OSL_ASSERT(folderUrl.getLength() + && folderUrl[folderUrl.getLength() - 1] == '_'); + if (folderUrl.getLength() + && folderUrl[folderUrl.getLength() - 1] == '_') + { + const OUString tempFile = folderUrl.copy(0, folderUrl.getLength() - 1); + erase_path( folderUrl, Reference(), + false /* no throw: ignore errors */ ); + erase_path( tempFile, Reference(), + false /* no throw: ignore errors */ ); + } +} + void PackageRegistryBackend::deleteUnusedFolders( OUString const & relUrl, ::std::list< OUString> const & usedFolders) @@ -273,16 +289,12 @@ void PackageRegistryBackend::deleteUnusedFolders( { //usedFolders contains the urls to the folders which have //a trailing underscore - const OUString tempFile = tempEntries[ pos ]; - const OUString tempFolderName = tempFile + OUSTR("_"); + const OUString tempFolderName = tempEntries[ pos ] + OUSTR("_"); if (::std::find( usedFolders.begin(), usedFolders.end(), tempFolderName ) == usedFolders.end()) { - erase_path( tempFolderName, Reference(), - false /* no throw: ignore errors */ ); - erase_path( tempFile, Reference(), - false /* no throw: ignore errors */ ); + deleteTempFolder(tempFolder); } } } diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx index 660c5ad80bf1..1f4a62e696d7 100644 --- a/desktop/source/deployment/registry/dp_backenddb.cxx +++ b/desktop/source/deployment/registry/dp_backenddb.cxx @@ -509,6 +509,51 @@ OUString BackendDb::readSimpleElement( } } +::std::list BackendDb::getOneChildFromAllEntries( + OUString const & name) +{ + try + { + ::std::list listRet; + Reference doc = getDocument(); + Reference root = doc->getFirstChild(); + + Reference xpathApi = getXPathAPI(); + const OUString sPrefix = getNSPrefix(); + const OUString sKeyElement = getKeyElementName(); + ::rtl::OUStringBuffer buf(512); + buf.append(sPrefix); + buf.appendAscii(":"); + buf.append(sKeyElement); + buf.appendAscii("/"); + buf.append(sPrefix); + buf.appendAscii(":"); + buf.append(name); + buf.append(OUSTR("/text()")); + + Reference nodes = + xpathApi->selectNodeList(root, buf.makeStringAndClear()); + if (nodes.is()) + { + sal_Int32 length = nodes->getLength(); + for (sal_Int32 i = 0; i < length; i++) + listRet.push_back(nodes->item(i)->getNodeValue()); + } + return listRet; + } + catch (css::deployment::DeploymentException& ) + { + throw; + } + catch(css::uno::Exception &) + { + Any exc( ::cppu::getCaughtException() ); + throw css::deployment::DeploymentException( + OUSTR("Extension Manager: failed to read data entry in backend db: ") + + m_urlDb, 0, exc); + } +} + //================================================================================ diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx index 7e8f128bbf12..bc17a1f7163d 100644 --- a/desktop/source/deployment/registry/help/dp_help.cxx +++ b/desktop/source/deployment/registry/help/dp_help.cxx @@ -66,7 +66,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend { BackendImpl * getMyBackend() const; - HelpBackendDb::Data m_dbData; +// HelpBackendDb::Data m_dbData; // Package virtual beans::Optional< beans::Ambiguous > isRegistered_( @@ -234,13 +234,13 @@ BackendImpl::PackageImpl::PackageImpl( : Package( myBackend, url, name, name, xPackageType, bRemoved, identifier) { - if (bRemoved) - { - ::boost::optional opt = - getMyBackend()->readDataFromDb(url); - if (opt) - m_dbData = *opt; - } +// if (bRemoved) +// { +// ::boost::optional opt = +// getMyBackend()->readDataFromDb(url); +// if (opt) +// m_dbData = *opt; +// } } // Package diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx index 4a8fa71e0618..3bf67e0c050b 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx @@ -100,7 +100,7 @@ void HelpBackendDb::addEntry(::rtl::OUString const & url, Data const & data) { Any exc( ::cppu::getCaughtException() ); throw css::deployment::DeploymentException( - OUSTR("Extension Manager: failed to write data entry in backend db: ") + + OUSTR("Extension Manager: failed to write data entry in help backend db: ") + m_urlDb, 0, exc); } } @@ -131,7 +131,7 @@ HelpBackendDb::getEntry(::rtl::OUString const & url) { Any exc( ::cppu::getCaughtException() ); throw css::deployment::DeploymentException( - OUSTR("Extension Manager: failed to read data entry in backend db: ") + + OUSTR("Extension Manager: failed to read data entry in help backend db: ") + m_urlDb, 0, exc); } } @@ -166,7 +166,7 @@ HelpBackendDb::getEntry(::rtl::OUString const & url) { Any exc( ::cppu::getCaughtException() ); throw css::deployment::DeploymentException( - OUSTR("Extension Manager: failed to read data entry in backend db: ") + + OUSTR("Extension Manager: failed to read data entry in help backend db: ") + m_urlDb, 0, exc); } } diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx index baecf0da48e6..edf7dfdfc284 100644 --- a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx +++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx @@ -32,8 +32,6 @@ #define INCLUDED_DP_HELPBACKENDDB_HXX #include "rtl/ustring.hxx" -#include "rtl/string.hxx" -#include #include #include "boost/optional.hpp" #include "dp_backenddb.hxx" @@ -44,13 +42,6 @@ namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } - namespace xml { namespace dom { - class XDocument; - class XNode; - }} - namespace xml { namespace xpath { - class XXPathAPI; - }} }}} namespace dp_registry { diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h index 7b11ae456d5d..3d3bf7cf912c 100644 --- a/desktop/source/deployment/registry/inc/dp_backend.h +++ b/desktop/source/deployment/registry/inc/dp_backend.h @@ -336,6 +336,11 @@ protected: void deleteUnusedFolders( ::rtl::OUString const & relUrl, ::std::list< ::rtl::OUString> const & usedFolders); + /* deletes one folder with a "temporary" name and the corresponding + tmp file, which was used to derive the folder name. + */ + static void deleteTempFolder( + ::rtl::OUString const & folderUrl); public: diff --git a/desktop/source/deployment/registry/inc/dp_backenddb.hxx b/desktop/source/deployment/registry/inc/dp_backenddb.hxx index b8ba5facd492..cf0bb5129292 100644 --- a/desktop/source/deployment/registry/inc/dp_backenddb.hxx +++ b/desktop/source/deployment/registry/inc/dp_backenddb.hxx @@ -117,7 +117,10 @@ protected: ::rtl::OUString const & sListTagName, ::rtl::OUString const & sMemberTagName); - + /* returns the values of one particulary child element of all key elements. + */ + ::std::list< ::rtl::OUString> BackendDb::getOneChildFromAllEntries( + ::rtl::OUString const & sElementName); /* returns the namespace which is to be written as xmlns attribute -- cgit From aec9a646b55911c65ae96d9e415ef83b56ae73fa Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 7 May 2010 17:02:22 +0200 Subject: jl152 #i77196# adapting configuration backend to changes introduced by SB on DEV300 branch concering different handling of configuration files in extensions, also fixed writing of compiled help files into the user installation --- l10ntools/source/help/HelpLinker.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/l10ntools/source/help/HelpLinker.cxx b/l10ntools/source/help/HelpLinker.cxx index 256ed850d49e..e270a525393d 100644 --- a/l10ntools/source/help/HelpLinker.cxx +++ b/l10ntools/source/help/HelpLinker.cxx @@ -401,7 +401,8 @@ void HelpLinker::link() throw( HelpProcessingException ) if( bExtensionMode ) { - indexDirParentName = sourceRoot; + //indexDirParentName = sourceRoot; + indexDirParentName = extensionDestination; } else { -- cgit From ad46a745fb80f4f62f19c111388ba56a466eebee Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 07:25:56 +0200 Subject: vitomation01: #i109562 - Reworked fInsertOLE() as the function had a number of shortcomings (No returnvalue in case of server timeout/object not found errors and others) --- testautomation/chart2/tools/ch_tools_common.inc | 179 +++++++++++++----------- 1 file changed, 94 insertions(+), 85 deletions(-) diff --git a/testautomation/chart2/tools/ch_tools_common.inc b/testautomation/chart2/tools/ch_tools_common.inc index 311e8c354f74..2a8664109e19 100644 --- a/testautomation/chart2/tools/ch_tools_common.inc +++ b/testautomation/chart2/tools/ch_tools_common.inc @@ -29,83 +29,92 @@ '* '* short description : Chart2 Tool library '* -'************************************************************************************************** -'* -' #1 fInsertOLE ' User Insert / Object / OLE to insert a chart -' #1 fLoadVerySimpleChart ' Load file with a very simple chart -' #1 fLoadVerySimpleChartAndSaveLocal ' Load file with a very simple chart and save it loacally -' #1 fConvertChartTo3D ' Function to invoke the 'Insert::Titles...' dialog -' #1 fOpenTestDocumentAndSelectDataRange ' Opens a test document and executes FormatDataRange -' #1 fOpenTestDocumentAndInsertChart ' Opens a test document and selects a data range at a specific position -'* '\************************************************************************************************ -sub fInsertOLE as BOOLEAN -'Insert Chart OLE in Document - 'Get localised OLE names - call GetOleDefaultNames() - fInsertOLE = FALSE +sub fInsertOLE() as boolean + + ' Insert an OLE object (the name is localized) + call GetOleDefaultNames() + '/// Insert / Object / OLE InsertObjectOLEObject - sleep(1) + Kontext "OLEObjektEinfuegen" - '/// Check if list box is not empty - if Objekttyp.getItemcount < 1 then - warnlog "There are no OLE-Objects in the listbox" + if ( OLEObjektEinfuegen.exists( 1 ) ) then + + if ( Objekttyp.getItemcount() = 0 ) then + + warnlog( "fInsertOLE(): There are no OLE-Objects in the listbox" ) + OLEObjektEinfuegen.cancel() + fInsertOLE() = false + + else + + try + Objekttyp.Select gOLEChart + OLEObjektEinfuegen.ok() + sleep( 2 ) + fInsertOLE() = true + catch + warnlog( "fInsertOLE(): Invalid OLE Object selected: " & gOLEChart ) + OLEObjektEinfuegen.cancel() + fInsertOLE() = false + endcatch + + endif + + else + warnlog( "fInsertOLE(): Failed to open dialog" ) + fInsertOLE() = false endif - '/// Select chart in listbox - Objekttyp.Select gOLEChart - '/// Quit dialog using OK - OLEObjektEinfuegen.OK - sleep(2) - fInsertOLE = TRUE + end sub ' '-------------------------------------------------------------------- ' function fLoadVerySimpleChart() as INTEGER - fLoadVerySimpleChart = 99 -'Load file with a very simple chart -'No Input -'Returns error-code: -'+ 0 := Sucess -'+ 1 := Serious problem trying to load the document -'+99 := Unexpected error + fLoadVerySimpleChart = 99 + 'Load file with a very simple chart + 'No Input + 'Returns error-code: + '+ 0 := Sucess + '+ 1 := Serious problem trying to load the document + '+99 := Unexpected error - dim sInputFile as string - sInputFile = convertpath( gtesttoolpath & "chart2/required/input/verySimpleChart.ods" ) - '/// Load file gTesttoolpath/chart2/required/input/verySimpleChart.ods - try - call hFileOpen ( sInputFile ) - printlog "File with very simple chart loaded" - fLoadVerySimpleChart = 0 - catch - qaErrorLog "Loading file with very simple chart seems to fail" - fLoadVerySimpleChart = 1 - endcatch + dim sInputFile as string + sInputFile = convertpath( gtesttoolpath & "chart2/required/input/verySimpleChart.ods" ) + '/// Load file gTesttoolpath/chart2/required/input/verySimpleChart.ods + try + call hFileOpen ( sInputFile ) + printlog "File with very simple chart loaded" + fLoadVerySimpleChart = 0 + catch + qaErrorLog "Loading file with very simple chart seems to fail" + fLoadVerySimpleChart = 1 + endcatch end function ' '-------------------------------------------------------------------- ' function fLoadVerySimpleChartAndSaveLocal() as INTEGER - fLoadVerySimpleChartAndSaveLocal = 99 -'Load file with a very simple chart and save it loacally -'No Input -'Returns error-code: -'+ 0 := Sucess -'+ 1 := Serious problem trying to load the document -'+ 2 := Serious problem trying to save the document + fLoadVerySimpleChartAndSaveLocal = 99 + 'Load file with a very simple chart and save it loacally + 'No Input + 'Returns error-code: + '+ 0 := Sucess + '+ 1 := Serious problem trying to load the document + '+ 2 := Serious problem trying to save the document dim iCheckIsFileLoaded as INTEGER dim sOutputFile as STRING - sOutputFile = convertpath( gOfficepath & "user/work/verySimpleChart.ods" ) + sOutputFile = convertpath( gOfficepath & "user/work/verySimpleChart.ods" ) iCheckIsFileLoaded = fLoadVerySimpleChart() if iCheckIsFileLoaded > 0 then 'When loading fails pass error code to current function fLoadVerySimpleChartAndSaveLocal = iCheckIsFileLoaded exit function else - printlog "File with very simple chart loaded successfully." + printlog "File with very simple chart loaded successfully." endif '/// Save document local Kontext "DocumentCalc" @@ -125,28 +134,28 @@ end function '-------------------------------------------------------------------- ' function fConvertChartTo3D() as BOOLEAN - fConvertChartTo3D = FALSE -'Function to invoke the 'Insert::Titles...' dialog -'No Input -'Returns TRUE on success + fConvertChartTo3D = FALSE + 'Function to invoke the 'Insert::Titles...' dialog + 'No Input + 'Returns TRUE on success - '/// Invoke Format::Chart Type... - if fInvokeChartTypeDialog() > 0 then - warnlog "Invoking 'Format::Chart Type...' seems to cause an Error" - exit function - endif - '/// Check 3D box - if fSetChartType3D ( TRUE ) = 0 then - fConvertChartTo3D = TRUE - else - warnlog "Converting chart to 3D seems to cause an Error" - exit function - endif - '/// Close Chart Type dialog with OK - if fCloseChartTypeDialogOK() > 0 then - warnlog "Closing Chart Type dialog seems to cause an Error" - fConvertChartTo3D = FALSE - endif + '/// Invoke Format::Chart Type... + if fInvokeChartTypeDialog() > 0 then + warnlog "Invoking 'Format::Chart Type...' seems to cause an Error" + exit function + endif + '/// Check 3D box + if fSetChartType3D ( TRUE ) = 0 then + fConvertChartTo3D = TRUE + else + warnlog "Converting chart to 3D seems to cause an Error" + exit function + endif + '/// Close Chart Type dialog with OK + if fCloseChartTypeDialogOK() > 0 then + warnlog "Closing Chart Type dialog seems to cause an Error" + fConvertChartTo3D = FALSE + endif end function ' '------------------------------------------------------------------------- @@ -155,13 +164,13 @@ function fOpenTestDocumentAndSelectDataRange(sInputFile as string) as BOOLEAN fOpenTestDocumentAndSelectDataRange = FALSE call hFileOpen(sInputFile) sleep(2) - Call sMakeReadOnlyDocumentEditable() + Call sMakeReadOnlyDocumentEditable() '/// Select chart using navigator printlog "Select chart using navigator" - call fSelectFirstOLE + call fSelectFirstOLE '/// Edit / Object / Edit printlog "Edit / Object / Edit" - EditObjectEdit + EditObjectEdit '///Open FORMAT / DATA RANGES printlog "Open FORMAT / DATA RANGES" FormatDataRanges @@ -172,9 +181,9 @@ function fOpenTestDocumentAndSelectDataRange(sInputFile as string) as BOOLEAN 'Switching tabpages as workaround for #i77237# Active.SetPage TabChartTypeDataSeries QAErrorLog "#i77237#-Testtool can't access OK after switching tabpage" - Active.SetPage TabChartTypeDataRange + Active.SetPage TabChartTypeDataRange Kontext "TabChartTypeDataRange" - call DialogTest ( TabChartTypeDataRange ) + call DialogTest ( TabChartTypeDataRange ) fOpenTestDocumentAndSelectDataRange = TRUE end function ' @@ -184,20 +193,20 @@ function fOpenTestDocumentAndInsertChart(sInputFile as string) as BOOLEAN fOpenTestDocumentAndInsertChart = FALSE call hFileOpen(sInputFile) sleep(2) - Call sMakeReadOnlyDocumentEditable() - Kontext "DocumentCalc" - printlog "Type " - DocumentCalc.TypeKeys "" + Call sMakeReadOnlyDocumentEditable() + Kontext "DocumentCalc" + printlog "Type " + DocumentCalc.TypeKeys "" printlog "Type twice cursor key" - DocumentCalc.TypeKeys "" , 2 + DocumentCalc.TypeKeys "" , 2 printlog "Type thrice cursor key" - DocumentCalc.TypeKeys "" , 3 - printlog "Menu Insert chart to open chart wizard" + DocumentCalc.TypeKeys "" , 3 + printlog "Menu Insert chart to open chart wizard" InsertChart try WaitSlot() fOpenTestDocumentAndInsertChart = TRUE - catch + catch fOpenTestDocumentAndInsertChart = FALSE endcatch end function -- cgit From 1711ca5365d607f09507b3d1420403b11cd49064 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 10 May 2010 11:20:35 +0100 Subject: cmcfixes75: #i111508# implement a com.sun.star.mail.Mailserver in mailmerge.py --- scripting/source/pyprov/mailmerge.py | 120 ++++++++++++++++++++++++++++++----- 1 file changed, 104 insertions(+), 16 deletions(-) diff --git a/scripting/source/pyprov/mailmerge.py b/scripting/source/pyprov/mailmerge.py index f9c2f0f70b09..55c204f87dbf 100644 --- a/scripting/source/pyprov/mailmerge.py +++ b/scripting/source/pyprov/mailmerge.py @@ -16,6 +16,8 @@ import uno import re #to implement com::sun::star::mail::XMailServiceProvider +#and +#to implement com.sun.star.mail.XMailMessage from com.sun.star.mail import XMailServiceProvider from com.sun.star.mail import XMailService @@ -37,7 +39,7 @@ from email import Encoders from email.Header import Header from email.MIMEMultipart import MIMEMultipart from email.Utils import formatdate -from email.Utils import formataddr +from email.Utils import parseaddr import sys, smtplib, imaplib, poplib @@ -118,30 +120,46 @@ class PyMailSMTPService(unohelper.Base, XSmtpService): print >> sys.stderr, "PyMailSMPTService sendMailMessage" recipients = xMailMessage.getRecipients() sendermail = xMailMessage.SenderAddress - sendername = xMailMessage.SenderName + sendername = xMailMessage.SenderName subject = xMailMessage.Subject ccrecipients = xMailMessage.getCcRecipients() bccrecipients = xMailMessage.getBccRecipients() if dbg: print >> sys.stderr, "PyMailSMPTService subject", subject - print >> sys.stderr, "PyMailSMPTService from", sendername.encode('utf-8'), sendermail - print >> sys.stderr, "PyMailSMTPService from", formataddr((sendername.encode('utf-8'), sendermail)) + print >> sys.stderr, "PyMailSMPTService from", sendername.encode('utf-8') + print >> sys.stderr, "PyMailSMTPService from", sendermail print >> sys.stderr, "PyMailSMPTService send to", recipients attachments = xMailMessage.getAttachments() + textmsg = Message() + content = xMailMessage.Body flavors = content.getTransferDataFlavors() - flavor = flavors[0] if dbg: - print >> sys.stderr, "PyMailSMPTService mimetype is", flavor.MimeType - textbody = content.getTransferData(flavor) + print >> sys.stderr, "PyMailSMPTService flavors len", len(flavors) - textmsg = Message() - mimeEncoding = re.sub("charset=.*", "charset=UTF-8", flavor.MimeType) - textmsg['Content-Type'] = mimeEncoding - textmsg['MIME-Version'] = '1.0' - textmsg.set_payload(textbody.encode('utf-8')) + #Use first flavor that's sane for an email body + for flavor in flavors: + if flavor.MimeType.find('text/html') != -1 or flavor.MimeType.find('text/plain') != -1: + if dbg: + print >> sys.stderr, "PyMailSMPTService mimetype is", flavor.MimeType + textbody = content.getTransferData(flavor) + try: + textbody = textbody.value + except: + pass + textbody = textbody.encode('utf-8') + + if len(textbody): + mimeEncoding = re.sub("charset=.*", "charset=UTF-8", flavor.MimeType) + if mimeEncoding.find('charset=UTF-8') == -1: + mimeEncoding = mimeEncoding + "; charset=UTF-8" + textmsg['Content-Type'] = mimeEncoding + textmsg['MIME-Version'] = '1.0' + textmsg.set_payload(textbody) + + break if (len(attachments)): msg = MIMEMultipart() @@ -150,15 +168,31 @@ class PyMailSMTPService(unohelper.Base, XSmtpService): else: msg = textmsg - msg['Subject'] = subject - msg['From'] = formataddr((sendername.encode('utf-8'), sendermail)) + hdr = Header(sendername, 'utf-8') + hdr.append('<'+sendermail+'>','us-ascii') + msg['Subject'] = subject + msg['From'] = hdr msg['To'] = COMMASPACE.join(recipients) if len(ccrecipients): msg['Cc'] = COMMASPACE.join(ccrecipients) if xMailMessage.ReplyToAddress != '': msg['Reply-To'] = xMailMessage.ReplyToAddress - msg['X-Mailer'] = "OpenOffice.org 2.0 via Caolan's mailmerge component" + mailerstring = "OpenOffice.org 2.0 via Caolan's mailmerge component" + try: + ctx = uno.getComponentContext() + aConfigProvider = ctx.ServiceManager.createInstance("com.sun.star.configuration.ConfigurationProvider") + prop = uno.createUnoStruct('com.sun.star.beans.PropertyValue') + prop.Name = "nodepath" + prop.Value = "/org.openoffice.Setup/Product" + aSettings = aConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", + (prop,)) + mailerstring = aSettings.getByName("ooName") + " " + \ + aSettings.getByName("ooSetupVersion") + " via Caolan's mailmerge component" + except: + pass + + msg['X-Mailer'] = mailerstring msg['Date'] = formatdate(localtime=True) for attachment in attachments: @@ -344,9 +378,63 @@ class PyMailServiceProvider(unohelper.Base, XMailServiceProvider): else: print >> sys.stderr, "PyMailServiceProvider, unknown TYPE", aType +class PyMailMessage(unohelper.Base, XMailMessage): + def __init__( self, ctx, sTo='', sFrom='', Subject='', Body=None, aMailAttachment=None ): + if dbg: + print >> sys.stderr, "PyMailMessage init" + self.ctx = ctx + + self.recipients = sTo, + self.ccrecipients = () + self.bccrecipients = () + self.aMailAttachments = () + if aMailAttachment != None: + self.aMailAttachments = aMailAttachment, + + self.SenderName, self.SenderAddress = parseaddr(sFrom) + self.ReplyToAddress = sFrom + self.Subject = Subject + self.Body = Body + if dbg: + print >> sys.stderr, "post PyMailMessage init" + def addRecipient( self, recipient ): + if dbg: + print >> sys.stderr, "PyMailMessage.addRecipient", recipient + self.recipients = self.recipients, recipient + def addCcRecipient( self, ccrecipient ): + if dbg: + print >> sys.stderr, "PyMailMessage.addCcRecipient", ccrecipient + self.ccrecipients = self.ccrecipients, ccrecipient + def addBccRecipient( self, bccrecipient ): + if dbg: + print >> sys.stderr, "PyMailMessage.addBccRecipient", bccrecipient + self.bccrecipients = self.bccrecipients, bccrecipient + def getRecipients( self ): + if dbg: + print >> sys.stderr, "PyMailMessage.getRecipients", self.recipients + return self.recipients + def getCcRecipients( self ): + if dbg: + print >> sys.stderr, "PyMailMessage.getCcRecipients", self.ccrecipients + return self.ccrecipients + def getBccRecipients( self ): + if dbg: + print >> sys.stderr, "PyMailMessage.getBccRecipients", self.bccrecipients + return self.bccrecipients + def addAttachment( self, aMailAttachment ): + if dbg: + print >> sys.stderr, "PyMailMessage.addAttachment" + self.aMailAttachments = self.aMailAttachments, aMailAttachment + def getAttachments( self ): + if dbg: + print >> sys.stderr, "PyMailMessage.getAttachments" + return self.aMailAttachments + # pythonloader looks for a static g_ImplementationHelper variable g_ImplementationHelper = unohelper.ImplementationHelper() g_ImplementationHelper.addImplementation( \ PyMailServiceProvider, "org.openoffice.pyuno.MailServiceProvider", ("com.sun.star.mail.MailServiceProvider",),) - +g_ImplementationHelper.addImplementation( \ + PyMailMessage, "org.openoffice.pyuno.MailMessage", + ("com.sun.star.mail.MailMessage",),) -- cgit From 0e1079119202c55866d01479e913a30bf7513ce6 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Mon, 10 May 2010 13:58:03 +0200 Subject: CWS mba33issues01: #i109842#: delete global resources in pro version also --- sfx2/source/appl/appquit.cxx | 50 -------------------------------------------- 1 file changed, 50 deletions(-) diff --git a/sfx2/source/appl/appquit.cxx b/sfx2/source/appl/appquit.cxx index 4da32cf9f566..d615d90ff37a 100644 --- a/sfx2/source/appl/appquit.cxx +++ b/sfx2/source/appl/appquit.cxx @@ -74,57 +74,11 @@ using ::basic::BasicManagerRepository; -#ifdef DBG_UTIL -DECLARE_LIST( SfxFrameWindowFactoryArray_Impl, SfxFrameWindowFactory* ) -SV_DECL_PTRARR(SfxInitLinkList, Link*, 2, 2) -#endif - //=================================================================== BOOL SfxApplication::QueryExit_Impl() { BOOL bQuit = TRUE; -/* - BOOL bPrinting = FALSE; - for ( SfxViewShell *pViewSh = SfxViewShell::GetFirst(); - !bPrinting && pViewSh; - pViewSh = SfxViewShell::GetNext(*pViewSh) ) - { - SfxPrinter *pPrinter = pViewSh->GetPrinter(); - bPrinting = pPrinter && pPrinter->IsPrinting(); - } - - if ( bPrinting ) - { - // Benutzer fragen, ob abgebrochen werden soll - if ( RET_OK == QueryBox( 0, SfxResId( MSG_ISPRINTING_QUERYABORT ) ).Execute() ) - { - // alle Jobs canceln - for ( SfxViewShell *pViewSh = SfxViewShell::GetFirst(); - !bPrinting && pViewSh; - pViewSh = SfxViewShell::GetNext(*pViewSh) ) - { - SfxPrinter *pPrinter = pViewSh->GetPrinter(); - if ( pPrinter && pPrinter->IsPrinting() ) - pPrinter->AbortJob(); - } - - // da das Canceln asynchron ist, Quit erstmal wieder verlassen - GetDispatcher_Impl()->Execute( SID_QUITAPP, SFX_CALLMODE_ASYNCHRON ); - DBG_TRACE( "QueryExit => FALSE (printing)" ); - return FALSE; - } - } -*/ -/* - SfxObjectShell *pLastDocSh = SfxObjectShell::GetFirst(); - if ( bQuit ) - { - // Jetzt zur Sicherheit auch hidden Frames abr"aumen - SfxViewFrame::CloseHiddenFrames_Impl(); - pLastDocSh = SfxObjectShell::GetFirst(); - } -*/ // will trotzdem noch jemand, den man nicht abschiessen kann, die App haben? if ( !bQuit ) { @@ -197,22 +151,18 @@ void SfxApplication::Deinitialize() delete pAppData_Impl->pLabelResMgr; -#ifdef DBG_UTIL DELETEX(pAppData_Impl->pSlotPool); DELETEX(pAppData_Impl->pEventConfig); SfxMacroConfig::Release_Impl(); DELETEX(pAppData_Impl->pFactArr); DELETEX(pAppData_Impl->pInitLinkList); -#endif -#ifdef DBG_UTIL DELETEX(pAppData_Impl->pTbxCtrlFac); DELETEX(pAppData_Impl->pStbCtrlFac); DELETEX(pAppData_Impl->pMenuCtrlFac); DELETEX(pAppData_Impl->pViewFrames); DELETEX(pAppData_Impl->pViewShells); DELETEX(pAppData_Impl->pObjShells); -#endif //TODO/CLEANTUP //ReleaseArgs could be used instead! -- cgit From 311a2cbcf6532e47027abfef191b94fb60aaab7c Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Mon, 10 May 2010 13:58:53 +0200 Subject: CWS mba33issues01: #i108607#: resolve operator ambiguity --- svx/source/svdraw/svdoole2.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 88d9aba87673..15c2ecb9c564 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -1714,8 +1714,8 @@ void SdrOle2Obj::ImpSetVisAreaSize() if ( pClient || bHasOwnClient ) { // TODO/LATER: IMHO we need to do similar things when object is UIActive or OutplaceActive?! (MBA) - if ( (nMiscStatus & embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE) && - svt::EmbeddedObjectRef::TryRunningState( xObjRef.GetObject() ) + if ( ((nMiscStatus & embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE) && + svt::EmbeddedObjectRef::TryRunningState( xObjRef.GetObject() )) || xObjRef->getCurrentState() == embed::EmbedStates::INPLACE_ACTIVE ) { -- cgit From 52031dd471e7f3b271f5807ce5f702bd241a15d5 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Mon, 10 May 2010 13:59:35 +0200 Subject: CWS mba33issues01: #i93818#: prevent crash by not forwarding reference device --- sw/source/ui/docvw/postit.cxx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sw/source/ui/docvw/postit.cxx b/sw/source/ui/docvw/postit.cxx index 06d26534abfd..36d0091703e4 100644 --- a/sw/source/ui/docvw/postit.cxx +++ b/sw/source/ui/docvw/postit.cxx @@ -730,12 +730,6 @@ void SwMarginWin::InitControls() mpOutliner->SetUpdateMode( TRUE ); Rescale(); - OutputDevice* pDev = aShell->GetDoc()->getReferenceDevice(TRUE); - if ( pDev ) - { - mpOutliner->SetRefDevice( pDev ); - } - mpOutlinerView = new OutlinerView ( mpOutliner, mpPostItTxt ); mpOutlinerView->SetBackgroundColor(COL_TRANSPARENT); mpOutliner->InsertView(mpOutlinerView ); -- cgit From b8dc3e6f63c57c92f877d392ef013127f41c5d44 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 10 May 2010 15:19:49 +0200 Subject: jl152 fixing merge conflict --- desktop/source/deployment/registry/dp_backend.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx index ea31f75c6b6b..d781ba9e40ef 100644 --- a/desktop/source/deployment/registry/dp_backend.cxx +++ b/desktop/source/deployment/registry/dp_backend.cxx @@ -294,7 +294,7 @@ void PackageRegistryBackend::deleteUnusedFolders( if (::std::find( usedFolders.begin(), usedFolders.end(), tempFolderName ) == usedFolders.end()) { - deleteTempFolder(tempFolder); + deleteTempFolder(tempFolderName); } } } -- cgit From 68b7b72b1586da73d60e0aa9d0ac80c644998155 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 15:35:29 +0200 Subject: vitomation01: #i109562 - Fix broken functions, replaced fancy variable names i, A, BornToKill with speaking identifiers. --- testautomation/xml/tools/includes/xmltool1.inc | 115 ++++++++++++++----------- 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/testautomation/xml/tools/includes/xmltool1.inc b/testautomation/xml/tools/includes/xmltool1.inc index e25a5d03506e..2df9bbdbf964 100644 --- a/testautomation/xml/tools/includes/xmltool1.inc +++ b/testautomation/xml/tools/includes/xmltool1.inc @@ -29,56 +29,75 @@ '* '* short description : XML Tools '* -'*************************************************************************************** -'* -' #1 CreateWorkXMLExportDir -' #1 hEnablePrettyPrinting -'* '\*********************************************************************************** + sub CreateWorkXMLExportDir ( DirName as string ) -'/*** CreateWorkXMLExportDir creates in the StarOffice/work- -'/*** +directory a directory. If the same name exists the content (files only) -'/*** +will be deleted. - Dim OutputPath as string - Dim Isliste(200) as string - Dim i, BornToKill - printlog "Checking work-dir & creating '" & gOfficePath & ConvertPath(DirName) & "'." - if ( FileExists( gOfficePath & ConvertPath( DirName) ) then - OutputPath = gOfficePath & ConvertPath(DirName) - IsListe(0) = 0 - GetFileList ( OutputPath , "*", IsListe() ) - BornToKill = KillFileList ( IsListe() ) - for i = 1 to BornToKill - warnlog IsListe(i) & " could not be deleted!" - next i - else - app.mkDir( gOfficePath & ConvertPath(DirName)) - end if + + '/*** CreateWorkXMLExportDir creates in the StarOffice/work- + '/*** +directory a directory. If the same name exists the content (files only) + '/*** +will be deleted. + + Dim OutputPath as string + Dim Isliste(200) as string + Dim iCurrentFile as integer + dim iFileCount as integer + + printlog "Checking work-dir & creating '" & gOfficePath & ConvertPath(DirName) & "'." + if ( FileExists( gOfficePath & ConvertPath( DirName ) ) ) then + + OutputPath = gOfficePath & ConvertPath( DirName ) + IsListe(0) = 0 + GetFileList ( OutputPath , "*", IsListe() ) + iFileCount = KillFileList ( IsListe() ) + + for iCurrentFile = 1 to iFileCount + warnlog IsListe( iCurrentFile ) & " could not be deleted!" + next iCurrentFile + + else + + app.mkDir( gOfficePath & ConvertPath(DirName)) + + endif + end sub -'------------------------------------------------------------------------- -sub hEnablePrettyPrinting (OPTIONAL A) -'/// hEnablePrettyPrinting enables the pretty printing (=better -'/// +formated view) in XML file export. It takes >10 percent more time -'/// +to save files!!! OPTIONAL parameter is used to DISABLE it. - ToolsOptions - Kontext "ExtrasOptionenDLG" - call hToolsOptions("loadsave","general") - Kontext "TabSpeichern" - if IsMissing(A) then - if NoPrettyPrinting.IsChecked = TRUE then - NoPrettyPrinting.Uncheck - sleep(1) - printlog "- XML pretty printing enabled ( xmltool1.inc )" - end if - else - if NoPrettyPrinting.IsChecked = FALSE then - NoPrettyPrinting.Check - sleep(1) - printlog "- XML pretty printing disabled ( xmltool1.inc )" - end if - end if - Kontext "ExtrasOptionenDLG" - ExtrasOptionenDLG.OK + +'------------------------------------------------------------------------------- + +sub hEnablePrettyPrinting ( optional bDisablePrettyPrinting ) + + '/// hEnablePrettyPrinting enables the pretty printing (=better + '/// +formated view) in XML file export. It takes >10 percent more time + '/// +to save files!!! OPTIONAL parameter is used to DISABLE it. + + ToolsOptions + Kontext "ExtrasOptionenDLG" + if ( ExtrasOptionanDlg.exists( 1 ) ) then + + call hToolsOptions("loadsave","general") + + Kontext "TabSpeichern" + if IsMissing( bDisablePrettyPrinting ) then + + if ( NoPrettyPrinting.IsChecked() ) then + NoPrettyPrinting.Uncheck() + printlog "- XML pretty printing enabled ( xmltool1.inc )" + endif + + else + + if ( Not NoPrettyPrinting.IsChecked() ) then + NoPrettyPrinting.Check() + printlog "- XML pretty printing disabled ( xmltool1.inc )" + endif + + endif + Kontext "ExtrasOptionenDLG" + hCloseDialog( ExtrasOptionenDLG, "ok" ) + else + warnlog( "hEnablePrettyPrinting(): Tools/Options dialog not open" ) + endif + end sub -'------------------------------------------------------------------------- + -- cgit From 3b2350a5bba9c85ecfff70bf79b289da1e8c1da2 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 15:43:48 +0200 Subject: vitomation01: #i109562 - Fix typo (i really should work locally...) --- testautomation/xml/tools/includes/xmltool1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/xml/tools/includes/xmltool1.inc b/testautomation/xml/tools/includes/xmltool1.inc index 2df9bbdbf964..67a52c48714e 100644 --- a/testautomation/xml/tools/includes/xmltool1.inc +++ b/testautomation/xml/tools/includes/xmltool1.inc @@ -72,7 +72,7 @@ sub hEnablePrettyPrinting ( optional bDisablePrettyPrinting ) ToolsOptions Kontext "ExtrasOptionenDLG" - if ( ExtrasOptionanDlg.exists( 1 ) ) then + if ( ExtrasOptionenDlg.exists( 1 ) ) then call hToolsOptions("loadsave","general") -- cgit From be45f3f14b9f103e12ddc343f483086eff10011e Mon Sep 17 00:00:00 2001 From: sb Date: Mon, 10 May 2010 15:53:56 +0200 Subject: jl152: #i77196# typo --- desktop/source/deployment/registry/inc/dp_backenddb.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/source/deployment/registry/inc/dp_backenddb.hxx b/desktop/source/deployment/registry/inc/dp_backenddb.hxx index cf0bb5129292..a0e477979f8c 100644 --- a/desktop/source/deployment/registry/inc/dp_backenddb.hxx +++ b/desktop/source/deployment/registry/inc/dp_backenddb.hxx @@ -119,7 +119,7 @@ protected: /* returns the values of one particulary child element of all key elements. */ - ::std::list< ::rtl::OUString> BackendDb::getOneChildFromAllEntries( + ::std::list< ::rtl::OUString> getOneChildFromAllEntries( ::rtl::OUString const & sElementName); -- cgit From 973873e8ba146da7a0beaec84c0b1648b49a0e51 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:14:08 +0200 Subject: vitomation01: #i109562 - Warnlog for incorrect messagebox when signing documents --- .../optional/includes/security_certification_dialogs.inc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/testautomation/framework/optional/includes/security_certification_dialogs.inc b/testautomation/framework/optional/includes/security_certification_dialogs.inc index 2b645712cc02..b89cd9fab5b7 100755 --- a/testautomation/framework/optional/includes/security_certification_dialogs.inc +++ b/testautomation/framework/optional/includes/security_certification_dialogs.inc @@ -44,16 +44,23 @@ testcase tCertificationDialogs hDeleteFile( sFile ) - call hNewDocument() + hNewDocument() - call hChangeDoc() + hChangeDoc() - brc = hOpenDigitalSignaturesDialog() + hOpenDigitalSignaturesDialog() kontext "active" if ( active.exists( 1 ) ) then printlog( "MSGBOX: " & active.getText() ) - active.yes() + try + active.yes() + catch + warnlog( CFN & "This is not the expected messagebox, aborting test" ) + active.ok() + hCloseDocument() + goto endsub + endcatch printlog( CFN & "Allow to save the document" ) else if ( gApplication <> "MASTERDOCUMENT" ) then -- cgit From e3fa835e49b602a7c12819e26beebbe951b2bd28 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:20:34 +0200 Subject: vitomation01: #i109562 - Removed undeclared identifier brc and irc --- .../framework/optional/includes/basic_documents.inc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_documents.inc b/testautomation/framework/optional/includes/basic_documents.inc index f83e961cac57..13dd3567716a 100755 --- a/testautomation/framework/optional/includes/basic_documents.inc +++ b/testautomation/framework/optional/includes/basic_documents.inc @@ -139,8 +139,8 @@ testcase tBasicDocuments hFileCloseAll() printlog( "Cleanup: Remove workfiles" ) - brc = hDeleteFile( sFileWriter ) - brc = hDeleteFile( sFileCalc ) + hDeleteFile( sFileWriter ) + hDeleteFile( sFileCalc ) printlog( "Rest macro security level" ) hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) @@ -152,17 +152,19 @@ endcase function hTestLibraryListBox( cNodeList() ) as boolean const CFN = "hTestLibraryListBox::" + const EXACT_MATCH = 1 dim iEntry as integer dim cEntry as string - dim brc as boolean : brc = true dim irc as integer + + hTestLibraryListBox() = true if ( bibliothek.getItemCount() <> IDOCS ) then warnlog( CFN & "Incorrect number of items in listbox" ) printlog( CFN & "Expected: " & bibliothek.getItemCount() ) printlog( CFN & "Found...: " & listcount( cNodeList() ) ) - brc = false + hTestLibraryListBox() = false endif for iEntry = 3 to IDOCS @@ -170,11 +172,10 @@ function hTestLibraryListBox( cNodeList() ) as boolean Bibliothek.select( iEntry ) cEntry = Bibliothek.getSelText() - irc = hCompareSubStrings( cNodeList( iEntry ) , cEntry ) - if ( irc <> 1 ) then + if ( hCompareSubStrings( cNodeList( iEntry ) , cEntry ) <> EXACT_MATCH ) then warnlog( CFN & "Comparision failed" ) printlog( CFN & "Expected: " & cNodeList( iEntry ) & "<>" & cEntry ) - brc = false + hTestLibraryListBox() = false else printlog( CFN & "Comparision succeeded:" & cEntry ) endif -- cgit From a9721fb25483891f760605cf68092467a4f8959e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:29:26 +0200 Subject: vitomation01: #i109562 - Increased array size as a first ttempt to fix an array out of bounds error, the problem however is likely to be found elsewhere --- testautomation/framework/optional/includes/help_compare_topics.inc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/testautomation/framework/optional/includes/help_compare_topics.inc b/testautomation/framework/optional/includes/help_compare_topics.inc index c49c96e5ccd2..9ffd4386d1ca 100755 --- a/testautomation/framework/optional/includes/help_compare_topics.inc +++ b/testautomation/framework/optional/includes/help_compare_topics.inc @@ -46,7 +46,7 @@ testcase tCompareHelpTopics() ' handle this. If problems occur, this shuld be the first place to ' look. - const MAX_ENTRIES = 30000 + const MAX_ENTRIES = 50000 ' variables related to filenames dim sFileOut as string @@ -63,7 +63,6 @@ testcase tCompareHelpTopics() dim iAboutItems as integer dim cAboutItem as string dim irc as integer - dim brc as boolean dim bNextItem as boolean ' define input and output paths, presetting variables @@ -74,8 +73,7 @@ testcase tCompareHelpTopics() aTopicsFromUI( 0 ) = "0" - brc = hOpenHelp() - if ( not brc ) then + if ( not hOpenHelp() ) then warnlog( "Help not open, aborting test" ) goto endsub endif -- cgit From ccba4c782e8c3aa225f80622ff2de783474f0991 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:30:06 +0200 Subject: vitomation01: #i109562 - Fix missing closing quote --- testautomation/framework/optional/f_basic_documents.bas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/framework/optional/f_basic_documents.bas b/testautomation/framework/optional/f_basic_documents.bas index da5445442149..a9887adda4fc 100755 --- a/testautomation/framework/optional/f_basic_documents.bas +++ b/testautomation/framework/optional/f_basic_documents.bas @@ -56,7 +56,7 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_accels.inc" use "global\tools\includes\optional\t_security_tools.inc" use "global\tools\includes\optional\t_listfuncs.inc" - use "global\tools\includes\optional\t_stringtools.inc + use "global\tools\includes\optional\t_stringtools.inc" gApplication = "WRITER" call GetUseFiles() -- cgit From 37ac8c597ec4682bac369810e7d8b0a98659fa6c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:38:06 +0200 Subject: vitomation01: #i109562 - Fix misuse of hInitSingleDoc() - The function creates a writer document but we need Calc. --- .../optional/includes/security_incorrect_password.inc | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/testautomation/framework/optional/includes/security_incorrect_password.inc b/testautomation/framework/optional/includes/security_incorrect_password.inc index bc218edcc7bb..2478a59d6294 100755 --- a/testautomation/framework/optional/includes/security_incorrect_password.inc +++ b/testautomation/framework/optional/includes/security_incorrect_password.inc @@ -33,8 +33,6 @@ testcase tIncorrectPassword( filetypeID as string ) - dim rc as integer - dim brc as boolean dim iCurrentFilter as integer dim cCurrentFilter as string dim filepath as string @@ -51,7 +49,8 @@ testcase tIncorrectPassword( filetypeID as string ) hDeleteFile( filepath ) printlog( "Make sure we have exactly one single document open" ) - hInitSingleDoc() + hFileCloseAll() + hCreateDocument() ' Do not use hInitSingleDoc() here as it creates a Writer document printlog( "Change the document" ) hChangeDoc() @@ -87,9 +86,7 @@ testcase tIncorrectPassword( filetypeID as string ) printlog( "Click on the Save-Button" ) Speichern.click() - brc = hSecurityEnterPasswordOnSave( PASSWORD_VALID ) - - if ( brc ) then + if ( hSecurityEnterPasswordOnSave( PASSWORD_VALID ) ) then kontext "AlienWarning" if ( AlienWarning.exists( 3 ) ) then @@ -102,8 +99,7 @@ testcase tIncorrectPassword( filetypeID as string ) endif printlog( "Close the document" ) - brc = hDestroyDocument() - if ( not brc ) then + if ( not hDestroyDocument() ) then warnlog( "Something went wrong while closing the document. please check" ) endif @@ -113,8 +109,7 @@ testcase tIncorrectPassword( filetypeID as string ) printlog( "Load the file again" ) hFileOpen( workpath & WORKFILE & suffix ) - brc = hSecurityEnterPasswordOnLoad( PASSWORD_FALSE , false ) - if ( not brc ) then + if ( not hSecurityEnterPasswordOnLoad( PASSWORD_FALSE , false ) ) then warnlog( "Something went wrong while using the password dialog" ) endif -- cgit From 4c22a58a9e05d33f90ff5dd13cbd705ace5f9f49 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:48:21 +0200 Subject: vitomation01: #i109562 - Remove blanks from reference file names as requested by RE --- testautomation/framework/optional/includes/help_compare_topics.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/testautomation/framework/optional/includes/help_compare_topics.inc b/testautomation/framework/optional/includes/help_compare_topics.inc index 9ffd4386d1ca..feef650c64e9 100755 --- a/testautomation/framework/optional/includes/help_compare_topics.inc +++ b/testautomation/framework/optional/includes/help_compare_topics.inc @@ -46,7 +46,7 @@ testcase tCompareHelpTopics() ' handle this. If problems occur, this shuld be the first place to ' look. - const MAX_ENTRIES = 50000 + const MAX_ENTRIES = 25000 ' variables related to filenames dim sFileOut as string @@ -59,6 +59,7 @@ testcase tCompareHelpTopics() ' some increment operators and temporary variables dim iCurrentItem as integer dim sCurrentItem as string + dim sProductName as string dim iCurrentApp as integer dim iAboutItems as integer dim cAboutItem as string @@ -66,7 +67,8 @@ testcase tCompareHelpTopics() dim bNextItem as boolean ' define input and output paths, presetting variables - sFileName = gProductName & "_help_topics_" & gIsoLang & ".txt" + sProductName = hStringReplaceChar( gProductName, " ", "_" ) + sFileName = sProductName & "_help_topics_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( sFilename ) sFileIn = gTesttoolPath & "framework\optional\input\help_browser\" sFileIn = convertpath( sFileIn & sFileName ) -- cgit From 5d0047e635730fb0319831b23e0174aaf18b309e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:53:07 +0200 Subject: vitomation01: #i109562 - Increased maximum array size to 25000 (10000 was not enough for the current help file sizes) --- testautomation/global/tools/includes/optional/t_listfuncs.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/optional/t_listfuncs.inc b/testautomation/global/tools/includes/optional/t_listfuncs.inc index b525473641bd..ea8a5d5bec68 100755 --- a/testautomation/global/tools/includes/optional/t_listfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_listfuncs.inc @@ -140,7 +140,7 @@ function hManageComparisionList( sFileIn as string, sFileOut as string, sListOut '///
                const CFN = "hManageComparisionList::" - const FILESIZE = 10000 + const FILESIZE = 25000 const COMPARE_SUCCESS = 0 const ENCODING_UTF8 = "UTF8" -- cgit From 31b470f1e414d7a4b16671af6755e06337caf663 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 10 May 2010 16:59:58 +0200 Subject: vitomation01: #i109562 - Renamed help related reference files as requested by RE, changed autotests to replace all blanks in the productname with underscores --- .../includes/help_compare_applications.inc | 4 +- .../optional/includes/help_compare_content.inc | 4 +- .../framework/optional/includes/help_search.inc | 10 +- .../Oracle_Open_Office_help_applications_en-US.txt | 8 + .../Oracle_Open_Office_help_topics_en-US.txt | 22002 +++++++++++++++++++ ...ffice_search_headings_and_whole_words_en-US.txt | 6 + ...acle_Open_Office_search_headings_only_en-US.txt | 7 + ...e_Open_Office_search_whole_words_only_en-US.txt | 16 + ...cle_Open_Office_search_without_filter_en-US.txt | 22 + 9 files changed, 22073 insertions(+), 6 deletions(-) create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt create mode 100644 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt diff --git a/testautomation/framework/optional/includes/help_compare_applications.inc b/testautomation/framework/optional/includes/help_compare_applications.inc index 5fa8bc46bbe3..b7edb50dbc8b 100755 --- a/testautomation/framework/optional/includes/help_compare_applications.inc +++ b/testautomation/framework/optional/includes/help_compare_applications.inc @@ -43,6 +43,7 @@ testcase tCompareHelpApps() dim sFileOut as string dim sFilein as string dim sFileName as string + dim sProductName as string : sProductName = hStringReplaceChar( gProductName, " ", "_" ) ' the array that holds the names of the applications dim aTopicsFromUI( 10 ) as string ' max index = 7 expected @@ -55,7 +56,8 @@ testcase tCompareHelpApps() dim brc as boolean ' define input and output paths, presetting variables - sFileName = gProductName & "_help_applications_" & gIsoLang & ".txt" + + sFileName = sProductName & "_help_applications_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( sFilename ) sFileIn = gTesttoolPath & "framework\optional\input\help_browser\" sFileIn = sFileIn & sFileName diff --git a/testautomation/framework/optional/includes/help_compare_content.inc b/testautomation/framework/optional/includes/help_compare_content.inc index 2331a6a5969c..fc9f9a7de4d9 100755 --- a/testautomation/framework/optional/includes/help_compare_content.inc +++ b/testautomation/framework/optional/includes/help_compare_content.inc @@ -43,6 +43,7 @@ testcase tCompareHelpContent() dim sFileOut as string dim sFilein as string dim sFileName as string + dim sProductName as string : sProductName = hStringReplaceChar( gProductName, " ", "_" ) ' the array that holds the names of the applications dim aTopicsFromUI( 1200 ) as string @@ -55,7 +56,8 @@ testcase tCompareHelpContent() dim brc as boolean ' define input and output paths, presetting variables - sFileName = gProductName & "_help_content_" & gIsoLang & ".txt" + + sFileName = sProductName & "_help_content_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( sFilename ) sFileIn = gTesttoolPath & "framework\optional\input\help_browser\" sFileIn = convertpath( sFileIn & sFileName ) diff --git a/testautomation/framework/optional/includes/help_search.inc b/testautomation/framework/optional/includes/help_search.inc index c050e67ad4b3..f58d3a823b5e 100755 --- a/testautomation/framework/optional/includes/help_search.inc +++ b/testautomation/framework/optional/includes/help_search.inc @@ -48,6 +48,7 @@ testcase tHelpSearch dim cBasePath as string cBasePath = gTesttoolPath & "framework\optional\input\help_browser\" dim cDataFile as string + dim sProductName as string : sProductName = hStringReplaceChar( gProductName, " ", "_" ) brc = hOpenHelp() if ( not brc ) then @@ -75,8 +76,9 @@ testcase tHelpSearch ListAllDelete( aUIList() ) hGetListItems( Result, aUIList() ) - - cDataFile = gProductName & "_search_without_filter_" & gIsoLang & ".txt" + + + cDataFile = sProductName & "_search_without_filter_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) @@ -96,7 +98,7 @@ testcase tHelpSearch ListAllDelete( aUIList() ) hGetListItems( Result, aUIList() ) - cDataFile = gProductName & "_search_whole_words_only_" & gIsoLang & ".txt" + cDataFile = sProductName & "_search_whole_words_only_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) @@ -118,7 +120,7 @@ testcase tHelpSearch ListAllDelete( aUIList() ) hGetListItems( Result, aUIList() ) - cDataFile = gProductName & "_search_headings_only_" & gIsoLang & ".txt" + cDataFile = sProductName & "_search_headings_only_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt new file mode 100644 index 000000000000..7a97fdb0f025 --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt @@ -0,0 +1,8 @@ +Oracle Open Office Impress +Oracle Open Office Basic +Oracle Open Office Math +Oracle Open Office Chart +Oracle Open Office Base +Oracle Open Office Draw +Oracle Open Office Writer +Oracle Open Office Calc diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt new file mode 100644 index 000000000000..a7640272ec27 --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt @@ -0,0 +1,22002 @@ +Oracle Open Office Basic : "^" operator (mathematical) +Oracle Open Office Basic : "-" operator (mathematical) +Oracle Open Office Basic : "*" operator (mathematical) +Oracle Open Office Basic : "/" operator (mathematical) +Oracle Open Office Basic : "+" operator (mathematical) +Oracle Open Office Basic : 1/2 replacement +Oracle Open Office Basic : 3D text creation +Oracle Open Office Basic : abbreviation replacement +Oracle Open Office Basic : Abs function +Oracle Open Office Basic : absolute hyperlinks +Oracle Open Office Basic : absolute saving of URLs +Oracle Open Office Basic : accents +Oracle Open Office Basic : Access databases (base) +Oracle Open Office Basic : access rights for database tables (Base) +Oracle Open Office Basic : accessibility +Oracle Open Office Basic : accessibility;general shortcuts +Oracle Open Office Basic : accessibility;options +Oracle Open Office Basic : accessibility;Oracle Open Office assistive technology +Oracle Open Office Basic : accessibility;Oracle Open Office features +Oracle Open Office Basic : activating +Oracle Open Office Basic : activating;context menus +Oracle Open Office Basic : activating;Error Report Tool +Oracle Open Office Basic : activating;extended help tips +Oracle Open Office Basic : activating;plug-ins +Oracle Open Office Basic : ActiveX control +Oracle Open Office Basic : Adabas D databases (base) +Oracle Open Office Basic : add-ons, see UNO components +Oracle Open Office Basic : adding libraries +Oracle Open Office Basic : additional selection mode +Oracle Open Office Basic : address books +Oracle Open Office Basic : address books;LDAP server (Base) +Oracle Open Office Basic : address books;registering +Oracle Open Office Basic : address labels from databases +Oracle Open Office Basic : ADO databases (Base) +Oracle Open Office Basic : Agenda Wizard +Oracle Open Office Basic : aging filter +Oracle Open Office Basic : aligning +Oracle Open Office Basic : aligning;cells +Oracle Open Office Basic : aligning;objects +Oracle Open Office Basic : aligning;paragraphs +Oracle Open Office Basic : aligning;tables in text +Oracle Open Office Basic : aligning;text objects +Oracle Open Office Basic : alternative fonts +Oracle Open Office Basic : ampersand symbol in StarBasic +Oracle Open Office Basic : ampersand symbol, see also operators +Oracle Open Office Basic : anchors +Oracle Open Office Basic : anchors;changing +Oracle Open Office Basic : anchors;displaying (Calc) +Oracle Open Office Basic : anchors;types/positions for draw objects +Oracle Open Office Basic : AND operator (logical) +Oracle Open Office Basic : animations +Oracle Open Office Basic : animations;accessibility options +Oracle Open Office Basic : appearance options +Oracle Open Office Basic : Arabic +Oracle Open Office Basic : Arabic;entering text +Oracle Open Office Basic : Arabic;language settings +Oracle Open Office Basic : areas +Oracle Open Office Basic : areas;bitmap patterns +Oracle Open Office Basic : areas;hatched/dotted +Oracle Open Office Basic : areas;shadows +Oracle Open Office Basic : areas;slanting +Oracle Open Office Basic : areas;styles +Oracle Open Office Basic : areas;transparency +Oracle Open Office Basic : arguments in command line +Oracle Open Office Basic : arranging +Oracle Open Office Basic : arranging;objects +Oracle Open Office Basic : Array function +Oracle Open Office Basic : arrays +Oracle Open Office Basic : arrays;declaring +Oracle Open Office Basic : arrays;dimensioning +Oracle Open Office Basic : arrows +Oracle Open Office Basic : arrows;defining arrow heads +Oracle Open Office Basic : arrows;defining arrow lines +Oracle Open Office Basic : arrows;drawing in text +Oracle Open Office Basic : Asc function +Oracle Open Office Basic : ASCII +Oracle Open Office Basic : ASCII;definition +Oracle Open Office Basic : Asian languages +Oracle Open Office Basic : Asian languages;enabling +Oracle Open Office Basic : Asian Phonetic Guide +Oracle Open Office Basic : Asian typography +Oracle Open Office Basic : assigning macros to events +Oracle Open Office Basic : assigning scripts +Oracle Open Office Basic : assistive technology in Oracle Open Office +Oracle Open Office Basic : Atn function +Oracle Open Office Basic : attaching toolbars +Oracle Open Office Basic : attachments in e-mails +Oracle Open Office Basic : audio +Oracle Open Office Basic : auto reloading HTML documents +Oracle Open Office Basic : AutoAbstract function for sending text to presentations +Oracle Open Office Basic : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Basic : AutoComplete function in text and list boxes +Oracle Open Office Basic : AutoCorrect function +Oracle Open Office Basic : AutoCorrect function;context menu +Oracle Open Office Basic : AutoCorrect function;options +Oracle Open Office Basic : AutoCorrect function;pictures and frames +Oracle Open Office Basic : AutoCorrect function;quotes +Oracle Open Office Basic : AutoCorrect function;replacement table +Oracle Open Office Basic : AutoCorrect function;switching on and off in Calc +Oracle Open Office Basic : AutoCorrect function;URL recognition +Oracle Open Office Basic : AutoFormat function +Oracle Open Office Basic : AutoFormat function;switching on and off +Oracle Open Office Basic : automatic captions (Writer) +Oracle Open Office Basic : automatic control focus +Oracle Open Office Basic : automatic hyperlink formatting +Oracle Open Office Basic : automatic line breaks +Oracle Open Office Basic : automatic lines/borders in text +Oracle Open Office Basic : automatic saving +Oracle Open Office Basic : AutoPilots, see wizards +Oracle Open Office Basic : AutoValue (Base) +Oracle Open Office Basic : axes in charts +Oracle Open Office Basic : backgrounds +Oracle Open Office Basic : backgrounds;defining colors/pictures +Oracle Open Office Basic : backgrounds;frames/sections/indexes +Oracle Open Office Basic : backgrounds;inserting from Gallery +Oracle Open Office Basic : backgrounds;printing +Oracle Open Office Basic : backing window +Oracle Open Office Basic : backups +Oracle Open Office Basic : backups;automatic +Oracle Open Office Basic : backups;documents +Oracle Open Office Basic : Basic +Oracle Open Office Basic : Basic;fonts for source display +Oracle Open Office Basic : Basic;programming +Oracle Open Office Basic : Basic;recording macros +Oracle Open Office Basic : Basic editor +Oracle Open Office Basic : basic fonts +Oracle Open Office Basic : Basic IDE +Oracle Open Office Basic : Basic IDE;Integrated Development Environment +Oracle Open Office Basic : Basic IDE;macros +Oracle Open Office Basic : BasicLibraries (LibraryContainer) +Oracle Open Office Basic : Beep statement +Oracle Open Office Basic : Bézier curves +Oracle Open Office Basic : Bézier curves;control points in presentations +Oracle Open Office Basic : bi-directional writing +Oracle Open Office Basic : binding space +Oracle Open Office Basic : bitmaps +Oracle Open Office Basic : bitmaps;inserting and editing +Oracle Open Office Basic : bitmaps;off for faster printing +Oracle Open Office Basic : bitmaps;patterns +Oracle Open Office Basic : black and white printing +Oracle Open Office Basic : black printing in Calc +Oracle Open Office Basic : block selection mode +Oracle Open Office Basic : Blue function +Oracle Open Office Basic : bold +Oracle Open Office Basic : bold;AutoFormat function +Oracle Open Office Basic : bold;text +Oracle Open Office Basic : bookmarks +Oracle Open Office Basic : bookmarks;Help +Oracle Open Office Basic : borders +Oracle Open Office Basic : borders;arranging +Oracle Open Office Basic : borders;cells on screen (Calc) +Oracle Open Office Basic : borders;for paragraphs +Oracle Open Office Basic : borders;for tables +Oracle Open Office Basic : borders;shadows +Oracle Open Office Basic : borders;table boundaries (Writer) +Oracle Open Office Basic : borders, see also frames +Oracle Open Office Basic : bound fields +Oracle Open Office Basic : bound fields;controls +Oracle Open Office Basic : boundaries of tables (Writer) +Oracle Open Office Basic : break display (Writer) +Oracle Open Office Basic : breakpoints +Oracle Open Office Basic : brochures +Oracle Open Office Basic : brochures;printing several +Oracle Open Office Basic : build numbers of Oracle Open Office +Oracle Open Office Basic : bullet lists +Oracle Open Office Basic : bullet lists;formatting options +Oracle Open Office Basic : bullets +Oracle Open Office Basic : bullets;paragraphs +Oracle Open Office Basic : bullets;replacing +Oracle Open Office Basic : bullets;turning off +Oracle Open Office Basic : business cards +Oracle Open Office Basic : business cards;creating and synchronizing +Oracle Open Office Basic : business cards;using templates +Oracle Open Office Basic : button bars, see toolbars +Oracle Open Office Basic : buttons +Oracle Open Office Basic : buttons;adding push buttons +Oracle Open Office Basic : buttons;big/small +Oracle Open Office Basic : buttons;controls +Oracle Open Office Basic : buttons;editing hyperlink buttons +Oracle Open Office Basic : buttons;form functions +Oracle Open Office Basic : buttons;toolbars +Oracle Open Office Basic : cache for graphics +Oracle Open Office Basic : calculating +Oracle Open Office Basic : calculating;iterative references (Calc) +Oracle Open Office Basic : Call Stack window +Oracle Open Office Basic : Call statement +Oracle Open Office Basic : callouts +Oracle Open Office Basic : callouts;drawings +Oracle Open Office Basic : capital letters +Oracle Open Office Basic : capital letters;AutoCorrect function +Oracle Open Office Basic : capital letters;font effects +Oracle Open Office Basic : captions +Oracle Open Office Basic : captions;automatic captions (Writer) +Oracle Open Office Basic : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Basic : captions, see also labels/callouts +Oracle Open Office Basic : cascading update (Base) +Oracle Open Office Basic : case sensitivity +Oracle Open Office Basic : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Basic : case sensitivity;searching +Oracle Open Office Basic : Case statement +Oracle Open Office Basic : CBool function +Oracle Open Office Basic : CByte function +Oracle Open Office Basic : CCur function +Oracle Open Office Basic : CDate function +Oracle Open Office Basic : CdateFromIso function +Oracle Open Office Basic : CdateToIso function +Oracle Open Office Basic : CDbl function +Oracle Open Office Basic : CDec function +Oracle Open Office Basic : cells +Oracle Open Office Basic : cells;aligning +Oracle Open Office Basic : cells;coloring (Calc) +Oracle Open Office Basic : cells;cursor positions after input (Calc) +Oracle Open Office Basic : cells;formatting without effect (Calc) +Oracle Open Office Basic : cells;line breaks +Oracle Open Office Basic : cells;linked to controls +Oracle Open Office Basic : cells;number of +Oracle Open Office Basic : cells;pasting +Oracle Open Office Basic : cells;resetting formats +Oracle Open Office Basic : cells;showing grid lines (Calc) +Oracle Open Office Basic : centered text +Oracle Open Office Basic : centimeters +Oracle Open Office Basic : certificates +Oracle Open Office Basic : changes +Oracle Open Office Basic : changes;accepting or rejecting +Oracle Open Office Basic : changes;comparing to original +Oracle Open Office Basic : changes;protecting +Oracle Open Office Basic : changes;recording +Oracle Open Office Basic : changes;review function +Oracle Open Office Basic : changes;showing +Oracle Open Office Basic : changing +Oracle Open Office Basic : changing;control properties +Oracle Open Office Basic : changing;document titles +Oracle Open Office Basic : changing;file associations in Setup program +Oracle Open Office Basic : changing;icon sizes +Oracle Open Office Basic : changing;links +Oracle Open Office Basic : changing;work directory +Oracle Open Office Basic : changing, see also editing and replacing +Oracle Open Office Basic : character styles +Oracle Open Office Basic : character styles;language selection +Oracle Open Office Basic : characters +Oracle Open Office Basic : characters;alternative fonts +Oracle Open Office Basic : characters;Asian layout +Oracle Open Office Basic : characters;bold +Oracle Open Office Basic : characters;coloring +Oracle Open Office Basic : characters;displaying only on screen (Writer) +Oracle Open Office Basic : characters;enabling CTL and Asian characters +Oracle Open Office Basic : characters;font effects +Oracle Open Office Basic : characters;fonts and formats +Oracle Open Office Basic : characters;hyperlinks +Oracle Open Office Basic : characters;italics +Oracle Open Office Basic : characters;language selection +Oracle Open Office Basic : characters;shadowed +Oracle Open Office Basic : characters;spacing +Oracle Open Office Basic : characters;special +Oracle Open Office Basic : characters;underlining +Oracle Open Office Basic : charcoal sketches filter +Oracle Open Office Basic : charts +Oracle Open Office Basic : charts;arranging within stacks +Oracle Open Office Basic : charts;bars with textures +Oracle Open Office Basic : charts;colors +Oracle Open Office Basic : charts;copying with link to source cell range +Oracle Open Office Basic : charts;displaying (Calc) +Oracle Open Office Basic : charts;editing axes +Oracle Open Office Basic : charts;editing data +Oracle Open Office Basic : charts;editing legends +Oracle Open Office Basic : charts;editing titles +Oracle Open Office Basic : charts;inserting +Oracle Open Office Basic : charts;updating automatically (Writer) +Oracle Open Office Basic : ChDir statement +Oracle Open Office Basic : ChDrive statement +Oracle Open Office Basic : check box control +Oracle Open Office Basic : check box creation +Oracle Open Office Basic : Chinese writing systems +Oracle Open Office Basic : Choose function +Oracle Open Office Basic : choosing printers +Oracle Open Office Basic : Chr function +Oracle Open Office Basic : CInt function +Oracle Open Office Basic : circle drawings +Oracle Open Office Basic : Client Side ImageMap +Oracle Open Office Basic : clipboard +Oracle Open Office Basic : clipboard;cutting +Oracle Open Office Basic : clipboard;pasting +Oracle Open Office Basic : clipboard;pasting formatted/unformatted text +Oracle Open Office Basic : clipboard;selection clipboard +Oracle Open Office Basic : clipboard;Unix +Oracle Open Office Basic : CLng function +Oracle Open Office Basic : Close statement +Oracle Open Office Basic : closing +Oracle Open Office Basic : closing;documents +Oracle Open Office Basic : closing;toolbars +Oracle Open Office Basic : collaboration +Oracle Open Office Basic : color bar +Oracle Open Office Basic : colors +Oracle Open Office Basic : colors;adding +Oracle Open Office Basic : colors;appearance +Oracle Open Office Basic : colors;backgrounds +Oracle Open Office Basic : colors;charts +Oracle Open Office Basic : colors;fill format +Oracle Open Office Basic : colors;fonts +Oracle Open Office Basic : colors;grid lines and cells (Calc) +Oracle Open Office Basic : colors;models +Oracle Open Office Basic : colors;not printing +Oracle Open Office Basic : colors;printing in grayscale +Oracle Open Office Basic : colors;restriction (Calc) +Oracle Open Office Basic : colors;selection +Oracle Open Office Basic : column headers +Oracle Open Office Basic : column headers;displaying (Calc) +Oracle Open Office Basic : column headers;highlighting (Calc) +Oracle Open Office Basic : columns +Oracle Open Office Basic : columns;setting with the mouse +Oracle Open Office Basic : combo box control +Oracle Open Office Basic : combo box creation +Oracle Open Office Basic : command button creation +Oracle Open Office Basic : command buttons, see push buttons +Oracle Open Office Basic : command line parameters +Oracle Open Office Basic : commands +Oracle Open Office Basic : commands;repeating +Oracle Open Office Basic : commands;SQL +Oracle Open Office Basic : comments +Oracle Open Office Basic : comments;displaying (Calc) +Oracle Open Office Basic : comments;inserting/editing/deleting/printing +Oracle Open Office Basic : comments;on changes +Oracle Open Office Basic : comments;printing in text +Oracle Open Office Basic : comments;Rem statement +Oracle Open Office Basic : common terms +Oracle Open Office Basic : common terms;Chinese dictionary +Oracle Open Office Basic : common terms;glossaries +Oracle Open Office Basic : common terms;Internet glossary +Oracle Open Office Basic : comparison operators +Oracle Open Office Basic : comparison operators;Oracle Open Office Basic +Oracle Open Office Basic : comparisons +Oracle Open Office Basic : comparisons;document versions +Oracle Open Office Basic : comparisons;operators in default filter dialog +Oracle Open Office Basic : compatibility settings for MS Word import +Oracle Open Office Basic : complete screen view +Oracle Open Office Basic : complex text layout +Oracle Open Office Basic : complex text layout;definition +Oracle Open Office Basic : complex text layout;enabling +Oracle Open Office Basic : complex text layout, see CTL +Oracle Open Office Basic : components +Oracle Open Office Basic : components;addressing +Oracle Open Office Basic : compose key to insert special characters +Oracle Open Office Basic : concatenation, see ampersand symbol +Oracle Open Office Basic : conditional separators +Oracle Open Office Basic : conditions +Oracle Open Office Basic : conditions;in number formats +Oracle Open Office Basic : conditions;items in Data Navigator +Oracle Open Office Basic : Configuration Manager +Oracle Open Office Basic : configuring +Oracle Open Office Basic : configuring;fax icon +Oracle Open Office Basic : configuring;Oracle Open Office +Oracle Open Office Basic : configuring;toolbars +Oracle Open Office Basic : connections to data sources (Base) +Oracle Open Office Basic : Const statement +Oracle Open Office Basic : constants +Oracle Open Office Basic : contents protection +Oracle Open Office Basic : context menus +Oracle Open Office Basic : continuation +Oracle Open Office Basic : continuation;long lines in editor +Oracle Open Office Basic : control point display in presentations +Oracle Open Office Basic : controls +Oracle Open Office Basic : controls;activating in forms +Oracle Open Office Basic : controls;adding to documents +Oracle Open Office Basic : controls;arranging in forms +Oracle Open Office Basic : controls;arranging within stacks +Oracle Open Office Basic : controls;assigning data sources +Oracle Open Office Basic : controls;assigning macros (Basic) +Oracle Open Office Basic : controls;bound fields/list contents/linked cells +Oracle Open Office Basic : controls;changing properties +Oracle Open Office Basic : controls;creating in the dialog editor +Oracle Open Office Basic : controls;events +Oracle Open Office Basic : controls;focus +Oracle Open Office Basic : controls;formatted fields +Oracle Open Office Basic : controls;grouping +Oracle Open Office Basic : controls;hidden +Oracle Open Office Basic : controls;in dialog editor +Oracle Open Office Basic : controls;inserting +Oracle Open Office Basic : controls;multi-line titles +Oracle Open Office Basic : controls;positions and sizes +Oracle Open Office Basic : controls;printing +Oracle Open Office Basic : controls;properties +Oracle Open Office Basic : controls;properties of form controls +Oracle Open Office Basic : controls;properties of table controls +Oracle Open Office Basic : controls;reading or editing properties (example) +Oracle Open Office Basic : controls;reference by SQL +Oracle Open Office Basic : controls;rich text control +Oracle Open Office Basic : controls;select mode +Oracle Open Office Basic : controls;showing (Writer) +Oracle Open Office Basic : converters +Oracle Open Office Basic : converters;Euro converter +Oracle Open Office Basic : converters;PostScript, UNIX +Oracle Open Office Basic : converters;XML +Oracle Open Office Basic : ConvertFromURL function +Oracle Open Office Basic : converting +Oracle Open Office Basic : converting;Hangul/Hanja +Oracle Open Office Basic : converting;metrics +Oracle Open Office Basic : converting;Microsoft documents +Oracle Open Office Basic : converting;Oracle Open Office documents +Oracle Open Office Basic : converting;Pocket PC formats +Oracle Open Office Basic : ConvertToURL function +Oracle Open Office Basic : copies +Oracle Open Office Basic : copies;printing +Oracle Open Office Basic : copying +Oracle Open Office Basic : copying;by drag and drop +Oracle Open Office Basic : copying;data from text documents +Oracle Open Office Basic : copying;datasource records in spreadsheets +Oracle Open Office Basic : copying;draw objects +Oracle Open Office Basic : copying;draw objects between documents +Oracle Open Office Basic : copying;formatting +Oracle Open Office Basic : copying;from data source view +Oracle Open Office Basic : copying;from Gallery +Oracle Open Office Basic : copying;in Unix +Oracle Open Office Basic : copying;modules +Oracle Open Office Basic : copying;pictures, between documents +Oracle Open Office Basic : copying;sheet areas, to text documents +Oracle Open Office Basic : copying;to Gallery +Oracle Open Office Basic : copyright for Oracle Open Office +Oracle Open Office Basic : corner roundings +Oracle Open Office Basic : Cos function +Oracle Open Office Basic : crash reports +Oracle Open Office Basic : CreateObject function +Oracle Open Office Basic : CreateUnoDialog function +Oracle Open Office Basic : CreateUnoListener function +Oracle Open Office Basic : CreateUnoService function +Oracle Open Office Basic : CreateUnoStruct function +Oracle Open Office Basic : CreateUnoValue function +Oracle Open Office Basic : criteria of query design (Base) +Oracle Open Office Basic : cropping pictures +Oracle Open Office Basic : CSng function +Oracle Open Office Basic : CStr function +Oracle Open Office Basic : CTL +Oracle Open Office Basic : CTL;(not) wrapping words +Oracle Open Office Basic : CTL;complex text layout languages +Oracle Open Office Basic : CTL;definition +Oracle Open Office Basic : CTL;options +Oracle Open Office Basic : CurDir function +Oracle Open Office Basic : currencies +Oracle Open Office Basic : currencies;converters +Oracle Open Office Basic : currencies;format codes +Oracle Open Office Basic : currency field control +Oracle Open Office Basic : currency field creation +Oracle Open Office Basic : currency formats +Oracle Open Office Basic : cursor +Oracle Open Office Basic : cursor;allowing in protected areas (Writer) +Oracle Open Office Basic : cursor;in read-only text +Oracle Open Office Basic : cursor;quickly moving to an object +Oracle Open Office Basic : curves +Oracle Open Office Basic : curves;editing points +Oracle Open Office Basic : custom dictionaries +Oracle Open Office Basic : custom dictionaries;editing +Oracle Open Office Basic : custom hyphens (Writer) +Oracle Open Office Basic : custom quotes +Oracle Open Office Basic : custom templates +Oracle Open Office Basic : customizing +Oracle Open Office Basic : customizing;events +Oracle Open Office Basic : customizing;keyboard +Oracle Open Office Basic : customizing;menus +Oracle Open Office Basic : customizing;Oracle Open Office +Oracle Open Office Basic : customizing;round corners +Oracle Open Office Basic : customizing;toolbars +Oracle Open Office Basic : cutting +Oracle Open Office Basic : CVar function +Oracle Open Office Basic : CVErr function +Oracle Open Office Basic : dashes +Oracle Open Office Basic : data +Oracle Open Office Basic : data;filtering in forms +Oracle Open Office Basic : data;forms and subforms +Oracle Open Office Basic : data;read-only +Oracle Open Office Basic : data;sorting in forms +Oracle Open Office Basic : data;user data +Oracle Open Office Basic : data binding change in XForms +Oracle Open Office Basic : Data Navigator +Oracle Open Office Basic : Data Navigator;adding/editing items +Oracle Open Office Basic : Data Navigator;display options +Oracle Open Office Basic : data source browser +Oracle Open Office Basic : data source explorer +Oracle Open Office Basic : data source view +Oracle Open Office Basic : data source view;drag and drop +Oracle Open Office Basic : data source view;overview +Oracle Open Office Basic : data source view;showing +Oracle Open Office Basic : data sources +Oracle Open Office Basic : data sources;as tables +Oracle Open Office Basic : data sources;connection settings (Base) +Oracle Open Office Basic : data sources;copying records to spreadsheets +Oracle Open Office Basic : data sources;displaying current +Oracle Open Office Basic : data sources;LDAP server (Base) +Oracle Open Office Basic : data sources;Oracle Open Office Base +Oracle Open Office Basic : data sources;registering address books +Oracle Open Office Basic : data sources;reports +Oracle Open Office Basic : data sources;viewing +Oracle Open Office Basic : data structure of XForms +Oracle Open Office Basic : data, see also values +Oracle Open Office Basic : database contents +Oracle Open Office Basic : database contents;inserting as tables +Oracle Open Office Basic : database contents;inserting as text +Oracle Open Office Basic : database reports +Oracle Open Office Basic : Database Wizard (Base) +Oracle Open Office Basic : databases +Oracle Open Office Basic : databases;administration through SQL (Base) +Oracle Open Office Basic : databases;ADO (Base) +Oracle Open Office Basic : databases;connecting (Base) +Oracle Open Office Basic : databases;creating +Oracle Open Office Basic : databases;creating labels +Oracle Open Office Basic : databases;creating queries +Oracle Open Office Basic : databases;creating reports +Oracle Open Office Basic : databases;creating tables +Oracle Open Office Basic : databases;deleting (Base) +Oracle Open Office Basic : databases;drag and drop (Base) +Oracle Open Office Basic : databases;editing tables +Oracle Open Office Basic : databases;form filters +Oracle Open Office Basic : databases;formats (Base) +Oracle Open Office Basic : databases;importing/exporting +Oracle Open Office Basic : databases;JDBC (Base) +Oracle Open Office Basic : databases;main page (Base) +Oracle Open Office Basic : databases;ODBC (Base) +Oracle Open Office Basic : databases;overview +Oracle Open Office Basic : databases;registering (Base) +Oracle Open Office Basic : databases;searching records +Oracle Open Office Basic : databases;shortcut keys +Oracle Open Office Basic : databases;sorting +Oracle Open Office Basic : databases;standard filters +Oracle Open Office Basic : databases;text formats +Oracle Open Office Basic : databases;viewing +Oracle Open Office Basic : date field control +Oracle Open Office Basic : date fields +Oracle Open Office Basic : date fields;creating +Oracle Open Office Basic : date fields;properties +Oracle Open Office Basic : date formats +Oracle Open Office Basic : Date statement +Oracle Open Office Basic : DateAdd function +Oracle Open Office Basic : DateDiff function +Oracle Open Office Basic : DatePart function +Oracle Open Office Basic : dates +Oracle Open Office Basic : dates;default (Calc) +Oracle Open Office Basic : dates;printing in presentations +Oracle Open Office Basic : dates;start 1900/01/01 (Calc) +Oracle Open Office Basic : dates;start 1904/01/01 (Calc) +Oracle Open Office Basic : DateSerial function +Oracle Open Office Basic : DateValue function +Oracle Open Office Basic : Day function +Oracle Open Office Basic : dBASE +Oracle Open Office Basic : dBASE;database settings (Base) +Oracle Open Office Basic : DDE +Oracle Open Office Basic : DDE;definition +Oracle Open Office Basic : deactivating +Oracle Open Office Basic : deactivating;plug-ins +Oracle Open Office Basic : debugging Basic programs +Oracle Open Office Basic : decimal places displayed (Calc) +Oracle Open Office Basic : decimal separator key +Oracle Open Office Basic : decimal tab stops +Oracle Open Office Basic : Declare statement +Oracle Open Office Basic : declaring variables +Oracle Open Office Basic : default directories +Oracle Open Office Basic : default filters +Oracle Open Office Basic : default filters;comparison operators +Oracle Open Office Basic : default filters;databases +Oracle Open Office Basic : default printer +Oracle Open Office Basic : default printer;setting up +Oracle Open Office Basic : default printer;UNIX +Oracle Open Office Basic : default templates +Oracle Open Office Basic : default templates;changing +Oracle Open Office Basic : default templates;organizing +Oracle Open Office Basic : defaults +Oracle Open Office Basic : defaults;documents +Oracle Open Office Basic : defaults;file formats in file dialogs +Oracle Open Office Basic : defaults;file formats in Oracle Open Office +Oracle Open Office Basic : defaults;fonts +Oracle Open Office Basic : defaults;grids (Writer/Calc) +Oracle Open Office Basic : defaults;languages +Oracle Open Office Basic : defaults;number formats +Oracle Open Office Basic : defaults;of saving +Oracle Open Office Basic : defaults;program configuration +Oracle Open Office Basic : defaults;tab stops in text +Oracle Open Office Basic : defaults;views +Oracle Open Office Basic : DefBool statement +Oracle Open Office Basic : DefCur statement +Oracle Open Office Basic : DefDate statement +Oracle Open Office Basic : DefDbl statement +Oracle Open Office Basic : DefErr statement +Oracle Open Office Basic : defining +Oracle Open Office Basic : defining;arrowheads and other line ends +Oracle Open Office Basic : defining;colors +Oracle Open Office Basic : defining;constants +Oracle Open Office Basic : defining;line styles +Oracle Open Office Basic : defining;paragraph borders +Oracle Open Office Basic : defining;queries (Base) +Oracle Open Office Basic : defining;table borders +Oracle Open Office Basic : DefInt statement +Oracle Open Office Basic : DefLng statement +Oracle Open Office Basic : DefObj statement +Oracle Open Office Basic : DefSng statement +Oracle Open Office Basic : DefStr statement +Oracle Open Office Basic : DefVar statement +Oracle Open Office Basic : deleting +Oracle Open Office Basic : deleting;all direct formatting +Oracle Open Office Basic : deleting;comments +Oracle Open Office Basic : deleting;databases (Base) +Oracle Open Office Basic : deleting;hyperlinks +Oracle Open Office Basic : deleting;libraries/modules/dialogs +Oracle Open Office Basic : deleting;lines in text +Oracle Open Office Basic : deleting;macro assignments to events +Oracle Open Office Basic : deleting;models/instances +Oracle Open Office Basic : deleting;namespaces in XForms +Oracle Open Office Basic : deleting;tab stops +Oracle Open Office Basic : deleting;templates +Oracle Open Office Basic : deleting;XML filters +Oracle Open Office Basic : depth stagger +Oracle Open Office Basic : descriptions for objects +Oracle Open Office Basic : design mode after saving +Oracle Open Office Basic : design view +Oracle Open Office Basic : design view;creating forms +Oracle Open Office Basic : design view;queries/views (Base) +Oracle Open Office Basic : designing +Oracle Open Office Basic : designing;database tables +Oracle Open Office Basic : designing;fonts +Oracle Open Office Basic : designing;queries (Base) +Oracle Open Office Basic : detaching toolbars +Oracle Open Office Basic : dialog editor +Oracle Open Office Basic : dialog editor;changing control properties +Oracle Open Office Basic : dialog editor;creating controls +Oracle Open Office Basic : dialog editor;programming examples for controls +Oracle Open Office Basic : DialogLibraries (LibraryContainer) +Oracle Open Office Basic : dialogs +Oracle Open Office Basic : dialogs;creating Basic dialogs +Oracle Open Office Basic : dialogs;displaying (example) +Oracle Open Office Basic : dialogs;loading (example) +Oracle Open Office Basic : dialogs;organizing +Oracle Open Office Basic : dialogs;properties +Oracle Open Office Basic : dialogs;translating +Oracle Open Office Basic : dialogs;using program code to show (example) +Oracle Open Office Basic : dictionaries +Oracle Open Office Basic : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Basic : dictionaries;creating +Oracle Open Office Basic : dictionaries;editing user-defined +Oracle Open Office Basic : dictionaries;spellcheck +Oracle Open Office Basic : dictionaries, see also languages +Oracle Open Office Basic : digital signatures +Oracle Open Office Basic : digital signatures;getting/managing/applying +Oracle Open Office Basic : digital signatures;overview +Oracle Open Office Basic : digital signatures;WebDAV over HTTPS +Oracle Open Office Basic : Dim statement +Oracle Open Office Basic : DimArray function +Oracle Open Office Basic : dimensioning arrays +Oracle Open Office Basic : Dir function +Oracle Open Office Basic : direct formatting +Oracle Open Office Basic : direct formatting;undoing all +Oracle Open Office Basic : directories +Oracle Open Office Basic : directories;creating new +Oracle Open Office Basic : directories;directory structure +Oracle Open Office Basic : disabled persons +Oracle Open Office Basic : displaying +Oracle Open Office Basic : displaying;comments (Calc) +Oracle Open Office Basic : displaying;comments in text documents +Oracle Open Office Basic : displaying;non-printing characters (Writer) +Oracle Open Office Basic : displaying;pictures and objects (Writer) +Oracle Open Office Basic : displaying;tables (Writer) +Oracle Open Office Basic : displaying;zero values (Calc) +Oracle Open Office Basic : distances +Oracle Open Office Basic : distinct values in SQL queries +Oracle Open Office Basic : distorting in drawings +Oracle Open Office Basic : distributing XML filters +Oracle Open Office Basic : DLL (Dynamic Link Library) +Oracle Open Office Basic : Do...Loop statement +Oracle Open Office Basic : docking +Oracle Open Office Basic : docking;definition +Oracle Open Office Basic : docking;toolbars +Oracle Open Office Basic : docking;windows +Oracle Open Office Basic : Document Converter Wizard +Oracle Open Office Basic : Document Map, see Navigator +Oracle Open Office Basic : document types in Oracle Open Office +Oracle Open Office Basic : documents +Oracle Open Office Basic : documents;changing titles +Oracle Open Office Basic : documents;closing +Oracle Open Office Basic : documents;comparing +Oracle Open Office Basic : documents;contents as lists +Oracle Open Office Basic : documents;editing time +Oracle Open Office Basic : documents;exporting +Oracle Open Office Basic : documents;importing +Oracle Open Office Basic : documents;languages +Oracle Open Office Basic : documents;measurement units in +Oracle Open Office Basic : documents;merging +Oracle Open Office Basic : documents;number of pages/tables/sheets +Oracle Open Office Basic : documents;opening +Oracle Open Office Basic : documents;opening in design mode +Oracle Open Office Basic : documents;opening with templates +Oracle Open Office Basic : documents;organizing +Oracle Open Office Basic : documents;printing +Oracle Open Office Basic : documents;read-only +Oracle Open Office Basic : documents;reloading +Oracle Open Office Basic : documents;saving +Oracle Open Office Basic : documents;saving automatically +Oracle Open Office Basic : documents;saving in other formats +Oracle Open Office Basic : documents;sending as e-mail +Oracle Open Office Basic : documents;styles changed +Oracle Open Office Basic : documents;version management +Oracle Open Office Basic : documents;version numbers +Oracle Open Office Basic : dotted areas +Oracle Open Office Basic : double-line spacing in paragraphs +Oracle Open Office Basic : double-line writing in Asian layout +Oracle Open Office Basic : drag and drop +Oracle Open Office Basic : drag and drop;copying and pasting text +Oracle Open Office Basic : drag and drop;data source view +Oracle Open Office Basic : drag and drop;from Gallery to draw objects +Oracle Open Office Basic : drag and drop;overview +Oracle Open Office Basic : drag and drop;pictures +Oracle Open Office Basic : drag and drop;to Gallery +Oracle Open Office Basic : draw objects +Oracle Open Office Basic : draw objects;adding/editing/copying +Oracle Open Office Basic : draw objects;anchoring +Oracle Open Office Basic : draw objects;arranging within stacks +Oracle Open Office Basic : draw objects;copying between documents +Oracle Open Office Basic : draw objects;displaying (Calc) +Oracle Open Office Basic : draw objects;dropping Gallery pictures +Oracle Open Office Basic : draw objects;flipping +Oracle Open Office Basic : draw objects;legends +Oracle Open Office Basic : draw objects;positioning and resizing +Oracle Open Office Basic : draw objects;protecting +Oracle Open Office Basic : draw objects;slanting +Oracle Open Office Basic : draw objects;text in +Oracle Open Office Basic : Drawing bar +Oracle Open Office Basic : drawing lines in text +Oracle Open Office Basic : drawings +Oracle Open Office Basic : drawings;creating/opening +Oracle Open Office Basic : drawings;languages +Oracle Open Office Basic : drawings;printing +Oracle Open Office Basic : drawings;printing defaults +Oracle Open Office Basic : drawings;printing in text documents +Oracle Open Office Basic : drawings;saving +Oracle Open Office Basic : drawings;saving automatically +Oracle Open Office Basic : drawings;saving in other formats +Oracle Open Office Basic : drawings;sending as e-mail +Oracle Open Office Basic : drawings;showing (Writer) +Oracle Open Office Basic : drawings, see also draw objects +Oracle Open Office Basic : drop-down lists in form functions +Oracle Open Office Basic : e-mail attachments +Oracle Open Office Basic : Edit File icon +Oracle Open Office Basic : edit mode +Oracle Open Office Basic : edit mode;after opening +Oracle Open Office Basic : edit mode;through Enter key (Calc) +Oracle Open Office Basic : Edit Points bar +Oracle Open Office Basic : editing +Oracle Open Office Basic : editing;chart axes +Oracle Open Office Basic : editing;chart data +Oracle Open Office Basic : editing;chart legends +Oracle Open Office Basic : editing;chart titles +Oracle Open Office Basic : editing;comments +Oracle Open Office Basic : editing;controls +Oracle Open Office Basic : editing;data binding of XForms +Oracle Open Office Basic : editing;database tables and queries +Oracle Open Office Basic : editing;draw objects +Oracle Open Office Basic : editing;Fontwork objects +Oracle Open Office Basic : editing;hyperlinks +Oracle Open Office Basic : editing;menus +Oracle Open Office Basic : editing;objects +Oracle Open Office Basic : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Basic : editing;pictures +Oracle Open Office Basic : editing;reports +Oracle Open Office Basic : editing;shortcut keys +Oracle Open Office Basic : editing;tab stops +Oracle Open Office Basic : editing;templates +Oracle Open Office Basic : editing;toolbars +Oracle Open Office Basic : editing;undoing +Oracle Open Office Basic : editing;XForms +Oracle Open Office Basic : editing time of documents +Oracle Open Office Basic : editors +Oracle Open Office Basic : editors;formula editor +Oracle Open Office Basic : editors;ImageMap editor +Oracle Open Office Basic : effects +Oracle Open Office Basic : effects;font positions +Oracle Open Office Basic : effects;fonts +Oracle Open Office Basic : effects;Fontwork icons +Oracle Open Office Basic : empty documents +Oracle Open Office Basic : empty paragraph removal +Oracle Open Office Basic : encryption of contents +Oracle Open Office Basic : End statement +Oracle Open Office Basic : entering groups +Oracle Open Office Basic : entering text from right to left +Oracle Open Office Basic : Environ function +Oracle Open Office Basic : Eof function +Oracle Open Office Basic : equal sign, see also operators +Oracle Open Office Basic : EqualUnoObjects function +Oracle Open Office Basic : equations in formula editor +Oracle Open Office Basic : Eqv operator (logical) +Oracle Open Office Basic : Erase function +Oracle Open Office Basic : Erl function +Oracle Open Office Basic : Err function +Oracle Open Office Basic : error codes in Basic +Oracle Open Office Basic : Error function +Oracle Open Office Basic : Error Report Tool +Oracle Open Office Basic : Euro +Oracle Open Office Basic : Euro;currency formats +Oracle Open Office Basic : Euro;Euro Converter Wizard +Oracle Open Office Basic : even/odd pages +Oracle Open Office Basic : even/odd pages;printing +Oracle Open Office Basic : events +Oracle Open Office Basic : events;assigning macros +Oracle Open Office Basic : events;assigning scripts +Oracle Open Office Basic : events;controls +Oracle Open Office Basic : events;customizing +Oracle Open Office Basic : events;in forms +Oracle Open Office Basic : events;linked to objects +Oracle Open Office Basic : examples +Oracle Open Office Basic : examples;programming controls +Oracle Open Office Basic : examples;showing a dialog using program code +Oracle Open Office Basic : Excel +Oracle Open Office Basic : Excel;saving as +Oracle Open Office Basic : Excel;search criteria +Oracle Open Office Basic : exceptions +Oracle Open Office Basic : exceptions;user-defined dictionaries +Oracle Open Office Basic : exchanging, see also replacing +Oracle Open Office Basic : executing SQL commands +Oracle Open Office Basic : Exit statement +Oracle Open Office Basic : exiting +Oracle Open Office Basic : exiting;groups +Oracle Open Office Basic : exiting;Oracle Open Office +Oracle Open Office Basic : Exp function +Oracle Open Office Basic : expanding formatting (Calc) +Oracle Open Office Basic : explorer of data sources +Oracle Open Office Basic : export filters +Oracle Open Office Basic : exporting +Oracle Open Office Basic : exporting;bitmaps +Oracle Open Office Basic : exporting;HTML and text documents +Oracle Open Office Basic : exporting;Microsoft Office documents with VBA code +Oracle Open Office Basic : exporting;spreadsheets to text format +Oracle Open Office Basic : exporting;templates +Oracle Open Office Basic : exporting;to foreign formats +Oracle Open Office Basic : exporting;to HTML +Oracle Open Office Basic : exporting;to Microsoft Office formats +Oracle Open Office Basic : exporting;to PDF +Oracle Open Office Basic : exporting;to PostScript format +Oracle Open Office Basic : exporting;to XML +Oracle Open Office Basic : exporting;XML files +Oracle Open Office Basic : extended tips in Help +Oracle Open Office Basic : extension mode in text +Oracle Open Office Basic : extensions +Oracle Open Office Basic : extensions;Extension Manager +Oracle Open Office Basic : extensions;file formats +Oracle Open Office Basic : external keys (Base) +Oracle Open Office Basic : faster printing +Oracle Open Office Basic : faxes +Oracle Open Office Basic : faxes;configuring Oracle Open Office +Oracle Open Office Basic : faxes;fax programs/fax printers under UNIX +Oracle Open Office Basic : faxes;selecting a fax machine +Oracle Open Office Basic : faxes;sending +Oracle Open Office Basic : faxes;wizards +Oracle Open Office Basic : feedback +Oracle Open Office Basic : feedback;automatically +Oracle Open Office Basic : fields +Oracle Open Office Basic : fields;database tables +Oracle Open Office Basic : fields;displaying field codes (Writer) +Oracle Open Office Basic : fields;formatted fields +Oracle Open Office Basic : fields;updating automatically (Writer) +Oracle Open Office Basic : file associations for Microsoft Office +Oracle Open Office Basic : file filters +Oracle Open Office Basic : file filters;mobile devices +Oracle Open Office Basic : file filters;XML +Oracle Open Office Basic : file formats +Oracle Open Office Basic : file formats;changing Oracle Open Office defaults +Oracle Open Office Basic : file formats;OpenDocument/XML +Oracle Open Office Basic : file formats;saving always in other formats +Oracle Open Office Basic : file selection button +Oracle Open Office Basic : file selection control +Oracle Open Office Basic : file sharing options for current document +Oracle Open Office Basic : FileAttr function +Oracle Open Office Basic : FileCopy statement +Oracle Open Office Basic : FileDateTime function +Oracle Open Office Basic : FileExists function +Oracle Open Office Basic : FileLen function +Oracle Open Office Basic : filepicker +Oracle Open Office Basic : filepicker;API service +Oracle Open Office Basic : files +Oracle Open Office Basic : files;filters and formats +Oracle Open Office Basic : files;importing +Oracle Open Office Basic : files;opening +Oracle Open Office Basic : files;opening with placeholders +Oracle Open Office Basic : files;properties +Oracle Open Office Basic : files;saving +Oracle Open Office Basic : files;saving automatically +Oracle Open Office Basic : files;saving in other formats +Oracle Open Office Basic : files;sending as e-mail +Oracle Open Office Basic : files;version numbers +Oracle Open Office Basic : files and folders in Oracle Open Office +Oracle Open Office Basic : fill characters with tabulators +Oracle Open Office Basic : fill colors for areas +Oracle Open Office Basic : fill patterns for areas +Oracle Open Office Basic : filter conditions +Oracle Open Office Basic : filter conditions;connecting +Oracle Open Office Basic : filter conditions;in queries (Base) +Oracle Open Office Basic : filtering +Oracle Open Office Basic : filtering;data in databases +Oracle Open Office Basic : filtering;data in forms +Oracle Open Office Basic : filters +Oracle Open Office Basic : filters;comparison operators +Oracle Open Office Basic : filters;for import and export +Oracle Open Office Basic : filters;Navigator +Oracle Open Office Basic : filters;pictures +Oracle Open Office Basic : filters;XML filter settings +Oracle Open Office Basic : Find tab in Help +Oracle Open Office Basic : finding +Oracle Open Office Basic : finding;in all sheets +Oracle Open Office Basic : finding;records in form documents +Oracle Open Office Basic : finding;selections +Oracle Open Office Basic : finding;similarity search +Oracle Open Office Basic : FindObject function +Oracle Open Office Basic : FindPropertyObject function +Oracle Open Office Basic : fitting to pages +Oracle Open Office Basic : fitting to pages;print settings in Math +Oracle Open Office Basic : fitting to pages;print settings in presentations +Oracle Open Office Basic : Fix function +Oracle Open Office Basic : fixed line control +Oracle Open Office Basic : fixed text +Oracle Open Office Basic : fixed text;form functions +Oracle Open Office Basic : fixed text control +Oracle Open Office Basic : fixing toolbars +Oracle Open Office Basic : flipping draw objects +Oracle Open Office Basic : floating frames in HTML documents +Oracle Open Office Basic : floating toolbars +Oracle Open Office Basic : focus of controls +Oracle Open Office Basic : folder creation +Oracle Open Office Basic : font lists +Oracle Open Office Basic : font name box +Oracle Open Office Basic : font sizes +Oracle Open Office Basic : font sizes;bullets +Oracle Open Office Basic : font sizes;relative changes +Oracle Open Office Basic : font sizes;scaling on screen +Oracle Open Office Basic : font sizes;text +Oracle Open Office Basic : fonts +Oracle Open Office Basic : fonts;adding under UNIX +Oracle Open Office Basic : fonts;changing in templates +Oracle Open Office Basic : fonts;colors +Oracle Open Office Basic : fonts;default settings +Oracle Open Office Basic : fonts;effects +Oracle Open Office Basic : fonts;for HTML and Basic +Oracle Open Office Basic : fonts;formats +Oracle Open Office Basic : fonts;outlines +Oracle Open Office Basic : fonts;positions in text +Oracle Open Office Basic : fonts;shadows +Oracle Open Office Basic : fonts;specifying several +Oracle Open Office Basic : fonts;strikethrough +Oracle Open Office Basic : fonts;styles +Oracle Open Office Basic : fonts;text objects +Oracle Open Office Basic : Fontwork icons +Oracle Open Office Basic : footers +Oracle Open Office Basic : footers;backgrounds +Oracle Open Office Basic : For statement +Oracle Open Office Basic : form controls +Oracle Open Office Basic : form controls;assigning macros +Oracle Open Office Basic : form controls;protecting +Oracle Open Office Basic : form controls;toolbars +Oracle Open Office Basic : form fields +Oracle Open Office Basic : form filters +Oracle Open Office Basic : Form Navigator +Oracle Open Office Basic : format codes +Oracle Open Office Basic : format codes;numbers +Oracle Open Office Basic : format filling printing in Oracle Open Office Math +Oracle Open Office Basic : Format function +Oracle Open Office Basic : Format Paintbrush +Oracle Open Office Basic : formats +Oracle Open Office Basic : formats;Asian layout +Oracle Open Office Basic : formats;fonts +Oracle Open Office Basic : formats;maximizing page formats +Oracle Open Office Basic : formats;number and currency formats +Oracle Open Office Basic : formats;of currencies/date/time +Oracle Open Office Basic : formats;on opening and saving +Oracle Open Office Basic : formats;pasting in special formats +Oracle Open Office Basic : formats;positions +Oracle Open Office Basic : formats;tabulators +Oracle Open Office Basic : formatted field control +Oracle Open Office Basic : formatted fields +Oracle Open Office Basic : formatted fields;form functions +Oracle Open Office Basic : formatted fields;properties +Oracle Open Office Basic : formatting +Oracle Open Office Basic : formatting;Asian typography +Oracle Open Office Basic : formatting;axes in charts +Oracle Open Office Basic : formatting;chart legends +Oracle Open Office Basic : formatting;copying +Oracle Open Office Basic : formatting;definition +Oracle Open Office Basic : formatting;expanding (Calc) +Oracle Open Office Basic : formatting;font effects +Oracle Open Office Basic : formatting;hyperlinks +Oracle Open Office Basic : formatting;pages +Oracle Open Office Basic : formatting;printer metrics (Writer) +Oracle Open Office Basic : formatting;undoing +Oracle Open Office Basic : formatting;undoing when writing +Oracle Open Office Basic : forms +Oracle Open Office Basic : forms;browsing +Oracle Open Office Basic : forms;Combo Box/List Box Wizard +Oracle Open Office Basic : forms;creating +Oracle Open Office Basic : forms;data +Oracle Open Office Basic : forms;designing (Base) +Oracle Open Office Basic : forms;events +Oracle Open Office Basic : forms;filtering data +Oracle Open Office Basic : forms;finding records +Oracle Open Office Basic : forms;focus after opening +Oracle Open Office Basic : forms;general information (Base) +Oracle Open Office Basic : forms;grouping controls +Oracle Open Office Basic : forms;HTML filters +Oracle Open Office Basic : forms;Navigator +Oracle Open Office Basic : forms;opening in design mode +Oracle Open Office Basic : forms;properties +Oracle Open Office Basic : forms;sorting data +Oracle Open Office Basic : forms;subforms +Oracle Open Office Basic : forms;wizards +Oracle Open Office Basic : forms;XForms +Oracle Open Office Basic : formula texts +Oracle Open Office Basic : formula texts;printing in Oracle Open Office Math +Oracle Open Office Basic : formulas +Oracle Open Office Basic : formulas;new +Oracle Open Office Basic : formulas;starting formula editor +Oracle Open Office Basic : formulas in reports +Oracle Open Office Basic : formulas in reports;editing +Oracle Open Office Basic : forums and support +Oracle Open Office Basic : frames +Oracle Open Office Basic : frames;around paragraphs +Oracle Open Office Basic : frames;around tables +Oracle Open Office Basic : frames;AutoCorrect function +Oracle Open Office Basic : frames;backgrounds +Oracle Open Office Basic : frames;captions (Writer) +Oracle Open Office Basic : frames;printing in Oracle Open Office Math +Oracle Open Office Basic : frames;protecting +Oracle Open Office Basic : frames;selection frames +Oracle Open Office Basic : frames;text fitting to frames +Oracle Open Office Basic : FreeFile function +Oracle Open Office Basic : freeform lines +Oracle Open Office Basic : freeform lines;draw functions +Oracle Open Office Basic : FreeLibrary function +Oracle Open Office Basic : FTP +Oracle Open Office Basic : FTP;opening documents +Oracle Open Office Basic : FTP;saving documents +Oracle Open Office Basic : full joins (Base) +Oracle Open Office Basic : full screen view +Oracle Open Office Basic : full-text search in Help +Oracle Open Office Basic : Function statement +Oracle Open Office Basic : functions +Oracle Open Office Basic : functions;return value type +Oracle Open Office Basic : functions;using +Oracle Open Office Basic : functions in reports +Oracle Open Office Basic : functions in reports;editing +Oracle Open Office Basic : fundamentals +Oracle Open Office Basic : Gallery +Oracle Open Office Basic : Gallery;adding pictures +Oracle Open Office Basic : Gallery;dragging pictures to draw objects +Oracle Open Office Basic : Gallery;hiding/showing +Oracle Open Office Basic : Gallery;inserting pictures from +Oracle Open Office Basic : get method for form transmissions +Oracle Open Office Basic : Get statement +Oracle Open Office Basic : GetAttr function +Oracle Open Office Basic : GetDefaultContext function +Oracle Open Office Basic : GetGuiType function +Oracle Open Office Basic : GetProcessServiceManager function +Oracle Open Office Basic : GetSolarVersion function +Oracle Open Office Basic : GetSystemTicks function +Oracle Open Office Basic : getting support +Oracle Open Office Basic : GIF format +Oracle Open Office Basic : Global statement +Oracle Open Office Basic : GLOBAL variables +Oracle Open Office Basic : GlobalScope function +Oracle Open Office Basic : glossaries +Oracle Open Office Basic : glossaries;common terms +Oracle Open Office Basic : glossaries;Internet terms +Oracle Open Office Basic : GoSub...Return statement +Oracle Open Office Basic : GoTo statement +Oracle Open Office Basic : gradients off for faster printing +Oracle Open Office Basic : graphic objects, see draw objects +Oracle Open Office Basic : graphical text art +Oracle Open Office Basic : graphics +Oracle Open Office Basic : graphics;cache +Oracle Open Office Basic : graphics;protecting +Oracle Open Office Basic : graphics, see also pictures +Oracle Open Office Basic : grayscale printing +Oracle Open Office Basic : Green function +Oracle Open Office Basic : grid controls +Oracle Open Office Basic : grid controls;form functions +Oracle Open Office Basic : grids +Oracle Open Office Basic : grids;defaults (Writer/Calc) +Oracle Open Office Basic : grids;display options (Impress/Draw) +Oracle Open Office Basic : grids;displaying lines (Calc) +Oracle Open Office Basic : group box control +Oracle Open Office Basic : group box creation +Oracle Open Office Basic : groups +Oracle Open Office Basic : groups;entering/exiting/ungrouping +Oracle Open Office Basic : groups;naming +Oracle Open Office Basic : groups;of controls +Oracle Open Office Basic : guides +Oracle Open Office Basic : guides;display options (Impress/Draw) +Oracle Open Office Basic : guides;displaying when moving objects (Impress) +Oracle Open Office Basic : guides;showing (Calc) +Oracle Open Office Basic : guides;showing when moving frames (Writer) +Oracle Open Office Basic : gutter +Oracle Open Office Basic : handles +Oracle Open Office Basic : handles;displaying (Writer) +Oracle Open Office Basic : handles;scaling +Oracle Open Office Basic : handles;showing simple/large handles (Calc) +Oracle Open Office Basic : Hangul/Hanja +Oracle Open Office Basic : HasUnoInterfaces function +Oracle Open Office Basic : hatching +Oracle Open Office Basic : headers +Oracle Open Office Basic : headers;backgrounds +Oracle Open Office Basic : headings +Oracle Open Office Basic : headings;entering as text box +Oracle Open Office Basic : Hebrew +Oracle Open Office Basic : Hebrew;entering text +Oracle Open Office Basic : Hebrew;language settings +Oracle Open Office Basic : Help +Oracle Open Office Basic : Help;bookmarks +Oracle Open Office Basic : Help;extended tips on/off +Oracle Open Office Basic : Help;full-text search +Oracle Open Office Basic : Help;Help tips +Oracle Open Office Basic : Help;keywords +Oracle Open Office Basic : Help;navigation pane showing/hiding +Oracle Open Office Basic : Help;style sheets +Oracle Open Office Basic : Help;topics +Oracle Open Office Basic : Help Agent +Oracle Open Office Basic : Help Agent;help +Oracle Open Office Basic : Help Agent;options +Oracle Open Office Basic : Help tips +Oracle Open Office Basic : Help tips;hiding +Oracle Open Office Basic : Hex function +Oracle Open Office Basic : hidden controls in Form Navigator +Oracle Open Office Basic : hidden fields display (Writer) +Oracle Open Office Basic : hidden pages +Oracle Open Office Basic : hidden pages;printing in presentations +Oracle Open Office Basic : hidden text +Oracle Open Office Basic : hidden text;showing (Writer) +Oracle Open Office Basic : hiding +Oracle Open Office Basic : hiding;changes +Oracle Open Office Basic : hiding;docked windows +Oracle Open Office Basic : hiding;navigation pane in Help window +Oracle Open Office Basic : high contrast mode +Oracle Open Office Basic : Hindi +Oracle Open Office Basic : Hindi;entering text +Oracle Open Office Basic : Hindi;language settings +Oracle Open Office Basic : horizontal line control +Oracle Open Office Basic : horizontal scrollbar control +Oracle Open Office Basic : horizontal scrollbars (Writer) +Oracle Open Office Basic : hotspots +Oracle Open Office Basic : Hour function +Oracle Open Office Basic : HTML +Oracle Open Office Basic : HTML;definition +Oracle Open Office Basic : HTML;export character set +Oracle Open Office Basic : HTML;fonts for source display +Oracle Open Office Basic : HTML;importing META tags +Oracle Open Office Basic : HTML;live presentations +Oracle Open Office Basic : HTML documents +Oracle Open Office Basic : HTML documents;auto reloading +Oracle Open Office Basic : HTML documents;importing/exporting +Oracle Open Office Basic : HTML documents;META tags in +Oracle Open Office Basic : HTML documents;new +Oracle Open Office Basic : HTML documents;source text +Oracle Open Office Basic : hyperlinks +Oracle Open Office Basic : hyperlinks;assigning macros +Oracle Open Office Basic : hyperlinks;character formats +Oracle Open Office Basic : hyperlinks;definition +Oracle Open Office Basic : hyperlinks;deleting +Oracle Open Office Basic : hyperlinks;editing +Oracle Open Office Basic : hyperlinks;inserting +Oracle Open Office Basic : hyperlinks;relative and absolute +Oracle Open Office Basic : hyperlinks;turning off automatic recognition +Oracle Open Office Basic : hyperlinks, see also links +Oracle Open Office Basic : hyphenation +Oracle Open Office Basic : hyphenation;activating for a language +Oracle Open Office Basic : hyphenation;minimal number of characters +Oracle Open Office Basic : hyphens +Oracle Open Office Basic : hyphens;displaying custom (Writer) +Oracle Open Office Basic : hyphens;inserting custom +Oracle Open Office Basic : icon bars, see toolbars +Oracle Open Office Basic : icon control +Oracle Open Office Basic : icon sizes +Oracle Open Office Basic : IDE +Oracle Open Office Basic : IDE;Integrated Development Environment +Oracle Open Office Basic : IDE;keyboard shortcuts +Oracle Open Office Basic : If statement +Oracle Open Office Basic : ignore list for spellcheck +Oracle Open Office Basic : IIf statement +Oracle Open Office Basic : illustrations, see pictures +Oracle Open Office Basic : image button creation +Oracle Open Office Basic : image control +Oracle Open Office Basic : image control creation +Oracle Open Office Basic : ImageMap +Oracle Open Office Basic : ImageMap;definition +Oracle Open Office Basic : ImageMap;editor +Oracle Open Office Basic : images +Oracle Open Office Basic : images;ImageMap +Oracle Open Office Basic : images;inserting and editing bitmaps +Oracle Open Office Basic : images, see also pictures +Oracle Open Office Basic : IME +Oracle Open Office Basic : IME;definition +Oracle Open Office Basic : IME;showing/hiding +Oracle Open Office Basic : Imp operator (logical) +Oracle Open Office Basic : import filters +Oracle Open Office Basic : import restrictions for Microsoft Office +Oracle Open Office Basic : importing +Oracle Open Office Basic : importing;bitmaps +Oracle Open Office Basic : importing;compatibility settings for text import +Oracle Open Office Basic : importing;databases +Oracle Open Office Basic : importing;documents in other formats +Oracle Open Office Basic : importing;from XML +Oracle Open Office Basic : importing;HTML and text documents +Oracle Open Office Basic : importing;HTML with META tags +Oracle Open Office Basic : importing;Microsoft Office documents with VBA code +Oracle Open Office Basic : importing;tables in text format +Oracle Open Office Basic : importing;templates +Oracle Open Office Basic : improvement program +Oracle Open Office Basic : inches +Oracle Open Office Basic : Index tab in Help +Oracle Open Office Basic : indexes +Oracle Open Office Basic : indexes;backgrounds +Oracle Open Office Basic : indexes;showing/hiding Help index tab +Oracle Open Office Basic : indicator lines in text +Oracle Open Office Basic : inner joins (Base) +Oracle Open Office Basic : input method window +Oracle Open Office Basic : Input statement +Oracle Open Office Basic : InputBox function +Oracle Open Office Basic : insert mode for entering text +Oracle Open Office Basic : inserting +Oracle Open Office Basic : inserting;Basic libraries +Oracle Open Office Basic : inserting;buttons in toolbars +Oracle Open Office Basic : inserting;cell ranges from spreadsheets +Oracle Open Office Basic : inserting;charts +Oracle Open Office Basic : inserting;clipboard options +Oracle Open Office Basic : inserting;comments +Oracle Open Office Basic : inserting;data from text documents +Oracle Open Office Basic : inserting;datasource records in spreadsheets +Oracle Open Office Basic : inserting;drawings +Oracle Open Office Basic : inserting;floating frames +Oracle Open Office Basic : inserting;Fontwork objects +Oracle Open Office Basic : inserting;form fields +Oracle Open Office Basic : inserting;hyperlinks +Oracle Open Office Basic : inserting;line breaks in cells +Oracle Open Office Basic : inserting;movies/sounds +Oracle Open Office Basic : inserting;new text tables defaults +Oracle Open Office Basic : inserting;objects from Gallery +Oracle Open Office Basic : inserting;OLE objects +Oracle Open Office Basic : inserting;paragraph borders +Oracle Open Office Basic : inserting;paragraph bullets +Oracle Open Office Basic : inserting;pictures in Gallery +Oracle Open Office Basic : inserting;plug-ins +Oracle Open Office Basic : inserting;push buttons +Oracle Open Office Basic : inserting;special characters +Oracle Open Office Basic : inserting;tab stops +Oracle Open Office Basic : inserting;textures on chart bars +Oracle Open Office Basic : installing +Oracle Open Office Basic : installing;ActiveX control +Oracle Open Office Basic : installing;mobile device filters +Oracle Open Office Basic : installing;UNO components +Oracle Open Office Basic : installing;XML filters +Oracle Open Office Basic : InStr function +Oracle Open Office Basic : instructions +Oracle Open Office Basic : instructions;general +Oracle Open Office Basic : Int function +Oracle Open Office Basic : Internet +Oracle Open Office Basic : Internet;checking for updates +Oracle Open Office Basic : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Basic : Internet;presentations +Oracle Open Office Basic : Internet;starting searches +Oracle Open Office Basic : Internet glossary +Oracle Open Office Basic : invert filter +Oracle Open Office Basic : invisible areas +Oracle Open Office Basic : IsArray function +Oracle Open Office Basic : IsDate function +Oracle Open Office Basic : IsEmpty function +Oracle Open Office Basic : IsError function +Oracle Open Office Basic : IsMissing function +Oracle Open Office Basic : IsNull function +Oracle Open Office Basic : IsNumeric function +Oracle Open Office Basic : IsObject function +Oracle Open Office Basic : IsUnoStruct function +Oracle Open Office Basic : italic text +Oracle Open Office Basic : iterative references in spreadsheets +Oracle Open Office Basic : Java +Oracle Open Office Basic : Java;definition +Oracle Open Office Basic : Java;setting options +Oracle Open Office Basic : JDBC +Oracle Open Office Basic : JDBC;databases (Base) +Oracle Open Office Basic : JDBC;definition +Oracle Open Office Basic : Join function +Oracle Open Office Basic : joining +Oracle Open Office Basic : joining;paragraphs +Oracle Open Office Basic : joining;tables (Base) +Oracle Open Office Basic : joins in databases (Base) +Oracle Open Office Basic : justifying text +Oracle Open Office Basic : kerning +Oracle Open Office Basic : kerning;Asian texts +Oracle Open Office Basic : kerning;definition +Oracle Open Office Basic : kerning;in characters +Oracle Open Office Basic : key fields for relations (Base) +Oracle Open Office Basic : keyboard +Oracle Open Office Basic : keyboard;assigning/editing shortcut keys +Oracle Open Office Basic : keyboard;general commands +Oracle Open Office Basic : keyboard;in IDE +Oracle Open Office Basic : keyboard;removing numbering +Oracle Open Office Basic : keys +Oracle Open Office Basic : keys;adding push buttons +Oracle Open Office Basic : keys;primary keys (Base) +Oracle Open Office Basic : Kill statement +Oracle Open Office Basic : kiosk export +Oracle Open Office Basic : label field control +Oracle Open Office Basic : labels +Oracle Open Office Basic : labels;creating and synchronizing +Oracle Open Office Basic : labels;for draw objects +Oracle Open Office Basic : labels;form functions +Oracle Open Office Basic : labels;from databases +Oracle Open Office Basic : labels, see also names/callouts +Oracle Open Office Basic : languages +Oracle Open Office Basic : languages;activating modules +Oracle Open Office Basic : languages;Asian support +Oracle Open Office Basic : languages;complex text layout +Oracle Open Office Basic : languages;locale settings +Oracle Open Office Basic : languages;selecting for text +Oracle Open Office Basic : languages;setting options +Oracle Open Office Basic : languages;spellcheck +Oracle Open Office Basic : languages;spellchecking and formatting +Oracle Open Office Basic : large handles (Writer) +Oracle Open Office Basic : large icons +Oracle Open Office Basic : layer arrangement +Oracle Open Office Basic : layout +Oracle Open Office Basic : layout;importing Word documents +Oracle Open Office Basic : layout;pages +Oracle Open Office Basic : LBound function +Oracle Open Office Basic : LCase function +Oracle Open Office Basic : LDAP server +Oracle Open Office Basic : LDAP server;address books (Base) +Oracle Open Office Basic : LDAP server;sign on options +Oracle Open Office Basic : leading between paragraphs +Oracle Open Office Basic : left alignment of paragraphs +Oracle Open Office Basic : Left function +Oracle Open Office Basic : left joins (Base) +Oracle Open Office Basic : legends +Oracle Open Office Basic : legends;charts +Oracle Open Office Basic : legends;draw objects +Oracle Open Office Basic : legends;rounding corners +Oracle Open Office Basic : Len function +Oracle Open Office Basic : Let statement +Oracle Open Office Basic : Letter Wizard +Oracle Open Office Basic : levels +Oracle Open Office Basic : levels;depth stagger +Oracle Open Office Basic : levels;macro security +Oracle Open Office Basic : libraries +Oracle Open Office Basic : libraries;adding +Oracle Open Office Basic : libraries;organizing +Oracle Open Office Basic : library systems +Oracle Open Office Basic : LibraryContainer +Oracle Open Office Basic : limits of tables (Writer) +Oracle Open Office Basic : line breaks +Oracle Open Office Basic : line breaks;in cells +Oracle Open Office Basic : line control +Oracle Open Office Basic : Line Input statement +Oracle Open Office Basic : line spacing +Oracle Open Office Basic : line spacing;context menu in paragraphs +Oracle Open Office Basic : line spacing;paragraph +Oracle Open Office Basic : line styles +Oracle Open Office Basic : line styles;applying +Oracle Open Office Basic : line styles;defining +Oracle Open Office Basic : lines +Oracle Open Office Basic : lines;defining ends +Oracle Open Office Basic : lines;draw functions +Oracle Open Office Basic : lines;drawing in text +Oracle Open Office Basic : lines;editing points +Oracle Open Office Basic : lines;removing automatic lines +Oracle Open Office Basic : lines of text +Oracle Open Office Basic : lines of text;alignment +Oracle Open Office Basic : lines of text;in Basic editor +Oracle Open Office Basic : links +Oracle Open Office Basic : links;between cells and controls +Oracle Open Office Basic : links;by drag and drop +Oracle Open Office Basic : links;character formats +Oracle Open Office Basic : links;definition +Oracle Open Office Basic : links;editing hyperlinks +Oracle Open Office Basic : links;inserting +Oracle Open Office Basic : links;modifying +Oracle Open Office Basic : links;opening files with +Oracle Open Office Basic : links;relational databases (Base) +Oracle Open Office Basic : links;turning off automatic recognition +Oracle Open Office Basic : links;updating options (Writer) +Oracle Open Office Basic : links;updating specific links +Oracle Open Office Basic : list box creation +Oracle Open Office Basic : list boxes +Oracle Open Office Basic : list boxes;adding entries to (example) +Oracle Open Office Basic : list boxes;controls +Oracle Open Office Basic : list boxes;removing entries from (example) +Oracle Open Office Basic : lists +Oracle Open Office Basic : lists;data assigned to controls +Oracle Open Office Basic : lists;registered databases (Base) +Oracle Open Office Basic : lists;regular expressions +Oracle Open Office Basic : live presentations on the Internet +Oracle Open Office Basic : loading +Oracle Open Office Basic : loading;Basic code +Oracle Open Office Basic : loading;documents +Oracle Open Office Basic : loading;documents from other formats +Oracle Open Office Basic : loading;HTML documents, automatically +Oracle Open Office Basic : loading;Microsoft Office documents with VBA code +Oracle Open Office Basic : loading;reloading +Oracle Open Office Basic : loading;XML files +Oracle Open Office Basic : Loc function +Oracle Open Office Basic : locale settings +Oracle Open Office Basic : localizing dialogs +Oracle Open Office Basic : Lof function +Oracle Open Office Basic : Log function +Oracle Open Office Basic : long lines +Oracle Open Office Basic : long lines;in Basic editor +Oracle Open Office Basic : loops +Oracle Open Office Basic : lowercase letters +Oracle Open Office Basic : lowercase letters;font effects +Oracle Open Office Basic : LSet statement +Oracle Open Office Basic : LTrim function +Oracle Open Office Basic : macro toolbar +Oracle Open Office Basic : Macro Wizard (Base) +Oracle Open Office Basic : macros +Oracle Open Office Basic : macros;assigning to events +Oracle Open Office Basic : macros;assigning to events in forms +Oracle Open Office Basic : macros;attaching new (Base) +Oracle Open Office Basic : macros;Basic IDE +Oracle Open Office Basic : macros;in MS Office documents +Oracle Open Office Basic : macros;interrupting +Oracle Open Office Basic : macros;organizing +Oracle Open Office Basic : macros;recording +Oracle Open Office Basic : macros;security +Oracle Open Office Basic : macros;security levels +Oracle Open Office Basic : macros;security warning dialog +Oracle Open Office Basic : macros;selecting security warnings +Oracle Open Office Basic : macros;stopping +Oracle Open Office Basic : magnifiers +Oracle Open Office Basic : margins +Oracle Open Office Basic : margins;pages +Oracle Open Office Basic : margins;setting with the mouse +Oracle Open Office Basic : margins;shadows +Oracle Open Office Basic : marking changes +Oracle Open Office Basic : marking, see selecting +Oracle Open Office Basic : masked field control +Oracle Open Office Basic : Math formula editor +Oracle Open Office Basic : measurement units +Oracle Open Office Basic : measurement units;changing on rulers +Oracle Open Office Basic : measurement units;converting +Oracle Open Office Basic : measurement units;selecting +Oracle Open Office Basic : Media Player window +Oracle Open Office Basic : menus +Oracle Open Office Basic : menus;activating context menus +Oracle Open Office Basic : menus;assigning macros +Oracle Open Office Basic : menus;customizing +Oracle Open Office Basic : merging +Oracle Open Office Basic : merging;documents +Oracle Open Office Basic : META tags +Oracle Open Office Basic : metrics +Oracle Open Office Basic : metrics;converting +Oracle Open Office Basic : metrics;document formatting (Writer) +Oracle Open Office Basic : metrics;in sheets +Oracle Open Office Basic : Microsoft Office +Oracle Open Office Basic : Microsoft Office;Access databases (base) +Oracle Open Office Basic : Microsoft Office;as default file format +Oracle Open Office Basic : Microsoft Office;document import restrictions +Oracle Open Office Basic : Microsoft Office;feature comparisons +Oracle Open Office Basic : Microsoft Office;importing password protected files +Oracle Open Office Basic : Microsoft Office;importing Word documents +Oracle Open Office Basic : Microsoft Office;importing/exporting VBA code +Oracle Open Office Basic : Microsoft Office;new users information +Oracle Open Office Basic : Microsoft Office;opening Microsoft documents +Oracle Open Office Basic : Microsoft Office;reassigning document types +Oracle Open Office Basic : Mid function +Oracle Open Office Basic : Mid statement +Oracle Open Office Basic : migrating macros (Base) +Oracle Open Office Basic : Minute function +Oracle Open Office Basic : MkDir statement +Oracle Open Office Basic : mobile device filters +Oracle Open Office Basic : MOD operator (mathematical) +Oracle Open Office Basic : models in XForms +Oracle Open Office Basic : modifying, see changing +Oracle Open Office Basic : module/dialog toggle +Oracle Open Office Basic : modules +Oracle Open Office Basic : modules;organizing +Oracle Open Office Basic : modules;subroutines and functions +Oracle Open Office Basic : Month function +Oracle Open Office Basic : more controls +Oracle Open Office Basic : mosaic filter +Oracle Open Office Basic : mouse +Oracle Open Office Basic : mouse;pointers when using drag and drop +Oracle Open Office Basic : mouse;positioning +Oracle Open Office Basic : movies +Oracle Open Office Basic : moving +Oracle Open Office Basic : moving;modules +Oracle Open Office Basic : moving;tab stops on ruler +Oracle Open Office Basic : moving;toolbars +Oracle Open Office Basic : moving;using guide lines in presentations +Oracle Open Office Basic : MS ADO interface (Base) +Oracle Open Office Basic : MsgBox function +Oracle Open Office Basic : MsgBox statement +Oracle Open Office Basic : multi-line titles in forms +Oracle Open Office Basic : multiple documents +Oracle Open Office Basic : multiple documents;opening +Oracle Open Office Basic : multiple selection +Oracle Open Office Basic : music +Oracle Open Office Basic : My Documents folder +Oracle Open Office Basic : My Documents folder;changing work directory +Oracle Open Office Basic : My Documents folder;opening +Oracle Open Office Basic : MySQL databases (Base) +Oracle Open Office Basic : Name statement +Oracle Open Office Basic : names +Oracle Open Office Basic : names;multi-line titles +Oracle Open Office Basic : names;objects +Oracle Open Office Basic : names of variables +Oracle Open Office Basic : names, see also labels/callouts +Oracle Open Office Basic : namespace organization in XForms +Oracle Open Office Basic : native SQL (Base) +Oracle Open Office Basic : navigating +Oracle Open Office Basic : navigating;in Basic projects +Oracle Open Office Basic : navigating;in documents +Oracle Open Office Basic : Navigation bar +Oracle Open Office Basic : Navigation bar;controls +Oracle Open Office Basic : Navigation bar;forms +Oracle Open Office Basic : Navigator +Oracle Open Office Basic : Navigator;comments +Oracle Open Office Basic : Navigator;contents as lists +Oracle Open Office Basic : Navigator;docking +Oracle Open Office Basic : Navigator;working with +Oracle Open Office Basic : network identity options +Oracle Open Office Basic : new databases +Oracle Open Office Basic : new documents +Oracle Open Office Basic : new lines in cells +Oracle Open Office Basic : new windows +Oracle Open Office Basic : Next statement +Oracle Open Office Basic : non-breaking dashes +Oracle Open Office Basic : non-breaking spaces (Writer) +Oracle Open Office Basic : non-printing characters (Writer) +Oracle Open Office Basic : Not operator (logical) +Oracle Open Office Basic : Nothing object +Oracle Open Office Basic : Now function +Oracle Open Office Basic : Null value +Oracle Open Office Basic : number formats +Oracle Open Office Basic : number formats;codes +Oracle Open Office Basic : number formats;formats +Oracle Open Office Basic : number formats;recognition in text tables +Oracle Open Office Basic : number of pages +Oracle Open Office Basic : number of sheets +Oracle Open Office Basic : number of tables +Oracle Open Office Basic : numbering +Oracle Open Office Basic : numbering;options +Oracle Open Office Basic : numbering;turning off +Oracle Open Office Basic : numbering;using automatically +Oracle Open Office Basic : numbers +Oracle Open Office Basic : numbers;date, time and currency formats +Oracle Open Office Basic : numbers;decimal places (Calc) +Oracle Open Office Basic : numerical field control +Oracle Open Office Basic : numerical fields in forms +Oracle Open Office Basic : objects +Oracle Open Office Basic : objects;always moveable (Impress/Draw) +Oracle Open Office Basic : objects;arranging within stacks +Oracle Open Office Basic : objects;copying when moving in presentations +Oracle Open Office Basic : objects;definition +Oracle Open Office Basic : objects;displaying in spreadsheets +Oracle Open Office Basic : objects;displaying in text documents +Oracle Open Office Basic : objects;editing +Oracle Open Office Basic : objects;inserting from Gallery +Oracle Open Office Basic : objects;inserting OLE objects +Oracle Open Office Basic : objects;moving and resizing with mouse +Oracle Open Office Basic : objects;naming +Oracle Open Office Basic : objects;opening +Oracle Open Office Basic : objects;quickly moving to +Oracle Open Office Basic : objects;titles and descriptions +Oracle Open Office Basic : Oct function +Oracle Open Office Basic : ODBC +Oracle Open Office Basic : ODBC;database (Base) +Oracle Open Office Basic : ODBC;definition +Oracle Open Office Basic : ODF file formats +Oracle Open Office Basic : Office +Oracle Open Office Basic : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Basic : OLE +Oracle Open Office Basic : OLE;definition +Oracle Open Office Basic : OLE objects +Oracle Open Office Basic : OLE objects;arranging within stacks +Oracle Open Office Basic : OLE objects;captions (Writer) +Oracle Open Office Basic : OLE objects;inserting +Oracle Open Office Basic : OLE objects;number of +Oracle Open Office Basic : OLE objects;protecting +Oracle Open Office Basic : On Error GoTo ... Resume statement +Oracle Open Office Basic : On...GoSub statement +Oracle Open Office Basic : On...GoTo statement +Oracle Open Office Basic : one and a half line spacing in text +Oracle Open Office Basic : online feedback options +Oracle Open Office Basic : online registration +Oracle Open Office Basic : online update options +Oracle Open Office Basic : online updates +Oracle Open Office Basic : online updates;checking automatically +Oracle Open Office Basic : online updates;checking manually +Oracle Open Office Basic : Open statement +Oracle Open Office Basic : Open/Save dialogs +Oracle Open Office Basic : OpenDocument file formats +Oracle Open Office Basic : OpenGL +Oracle Open Office Basic : OpenGL;definition +Oracle Open Office Basic : opening +Oracle Open Office Basic : opening;context menus +Oracle Open Office Basic : opening;database files +Oracle Open Office Basic : opening;dialog settings +Oracle Open Office Basic : opening;documents +Oracle Open Office Basic : opening;documents from other formats +Oracle Open Office Basic : opening;documents on WebDAV server +Oracle Open Office Basic : opening;files with links +Oracle Open Office Basic : opening;files, with placeholders +Oracle Open Office Basic : opening;forms +Oracle Open Office Basic : opening;Microsoft Office files +Oracle Open Office Basic : opening;mobile device documents +Oracle Open Office Basic : opening;objects +Oracle Open Office Basic : opening;reports +Oracle Open Office Basic : opening;several files +Oracle Open Office Basic : opening;XForms +Oracle Open Office Basic : operators +Oracle Open Office Basic : operators;comparisons +Oracle Open Office Basic : operators;default filters +Oracle Open Office Basic : Option Base statement +Oracle Open Office Basic : option button control +Oracle Open Office Basic : Option Explicit statement +Oracle Open Office Basic : Optional function +Oracle Open Office Basic : optional hyphens (Writer) +Oracle Open Office Basic : options +Oracle Open Office Basic : options;accessibility +Oracle Open Office Basic : options;appearance +Oracle Open Office Basic : options;compatibility (Writer) +Oracle Open Office Basic : options;improvement program +Oracle Open Office Basic : options;network identity +Oracle Open Office Basic : options;online update +Oracle Open Office Basic : options;tools +Oracle Open Office Basic : Or operator (logical) +Oracle Open Office Basic : Oracle databases (base) +Oracle Open Office Basic : Oracle Open Office Base data sources +Oracle Open Office Basic : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Basic : Oracle Open Office documents +Oracle Open Office Basic : Oracle Open Office documents;mobile device filters +Oracle Open Office Basic : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Basic : Oracle Open Office Math start +Oracle Open Office Basic : ordering +Oracle Open Office Basic : ordering;objects +Oracle Open Office Basic : organizing +Oracle Open Office Basic : organizing;macros and scripts +Oracle Open Office Basic : organizing;modules/libraries/dialogs +Oracle Open Office Basic : organizing;namespaces in XForms +Oracle Open Office Basic : organizing;styles +Oracle Open Office Basic : organizing;templates +Oracle Open Office Basic : original size +Oracle Open Office Basic : original size;printing in Oracle Open Office Math +Oracle Open Office Basic : original size;restoring after cropping +Oracle Open Office Basic : outlines +Oracle Open Office Basic : outlines;font effects +Oracle Open Office Basic : outlines;outline symbols +Oracle Open Office Basic : outlines;sending to presentations +Oracle Open Office Basic : overwrite mode +Oracle Open Office Basic : packages, see extensions +Oracle Open Office Basic : page breaks +Oracle Open Office Basic : page breaks;displaying (Calc) +Oracle Open Office Basic : page formats +Oracle Open Office Basic : page formats;maximizing +Oracle Open Office Basic : page formats;restriction +Oracle Open Office Basic : page styles +Oracle Open Office Basic : page styles;editing/applying with statusbar +Oracle Open Office Basic : pages +Oracle Open Office Basic : pages;backgrounds in all applications +Oracle Open Office Basic : pages;formatting and numbering +Oracle Open Office Basic : pages;printing page names in presentations +Oracle Open Office Basic : pages;scaling +Oracle Open Office Basic : pages;selecting one to print +Oracle Open Office Basic : paint box +Oracle Open Office Basic : paint can symbol +Oracle Open Office Basic : pair kerning +Oracle Open Office Basic : Palm file filters +Oracle Open Office Basic : paper formats +Oracle Open Office Basic : paper size warning +Oracle Open Office Basic : paper trays +Oracle Open Office Basic : paragraph marks +Oracle Open Office Basic : paragraph marks;displaying (Writer) +Oracle Open Office Basic : paragraph styles +Oracle Open Office Basic : paragraph styles;languages +Oracle Open Office Basic : paragraph styles;modifying basic fonts +Oracle Open Office Basic : paragraphs +Oracle Open Office Basic : paragraphs;alignment +Oracle Open Office Basic : paragraphs;Asian typography +Oracle Open Office Basic : paragraphs;defining borders +Oracle Open Office Basic : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Basic : paragraphs;increasing indents of +Oracle Open Office Basic : paragraphs;indents, margins and columns +Oracle Open Office Basic : paragraphs;inserting bullets +Oracle Open Office Basic : paragraphs;joining +Oracle Open Office Basic : paragraphs;numbering automatically +Oracle Open Office Basic : paragraphs;removing blank ones +Oracle Open Office Basic : paragraphs;spacing +Oracle Open Office Basic : paragraphs;tab stops +Oracle Open Office Basic : parameters +Oracle Open Office Basic : parameters;command line +Oracle Open Office Basic : parameters;for procedures and functions +Oracle Open Office Basic : parameters;passing by reference or value +Oracle Open Office Basic : parameters;queries (Base) +Oracle Open Office Basic : passwords for protecting contents +Oracle Open Office Basic : pasting +Oracle Open Office Basic : pasting;cell ranges +Oracle Open Office Basic : pasting;cell ranges from spreadsheets +Oracle Open Office Basic : pasting;data from text documents +Oracle Open Office Basic : pasting;draw objects +Oracle Open Office Basic : pasting;draw objects from other documents +Oracle Open Office Basic : pasting;formatted/unformatted text +Oracle Open Office Basic : pasting;from data source view +Oracle Open Office Basic : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Basic : pasting;pictures from other documents +Oracle Open Office Basic : pasting;sheet areas in text documents +Oracle Open Office Basic : pasting;to Gallery +Oracle Open Office Basic : paths +Oracle Open Office Basic : paths;changing work directory +Oracle Open Office Basic : paths;defaults +Oracle Open Office Basic : pattern editor +Oracle Open Office Basic : pattern field control +Oracle Open Office Basic : pattern fields +Oracle Open Office Basic : pattern fields;form functions +Oracle Open Office Basic : patterns for objects +Oracle Open Office Basic : PDF +Oracle Open Office Basic : PDF;export +Oracle Open Office Basic : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Basic : personal data input +Oracle Open Office Basic : phonetic guide +Oracle Open Office Basic : picklist creation +Oracle Open Office Basic : pictures +Oracle Open Office Basic : pictures;adding to Gallery +Oracle Open Office Basic : pictures;arranging within stacks +Oracle Open Office Basic : pictures;assigning macros +Oracle Open Office Basic : pictures;backgrounds +Oracle Open Office Basic : pictures;captions (Writer) +Oracle Open Office Basic : pictures;changing paths +Oracle Open Office Basic : pictures;cropping and zooming +Oracle Open Office Basic : pictures;displaying in Calc +Oracle Open Office Basic : pictures;displaying in Writer (Writer) +Oracle Open Office Basic : pictures;drag and drop between documents +Oracle Open Office Basic : pictures;drawing +Oracle Open Office Basic : pictures;editing +Oracle Open Office Basic : pictures;filters +Oracle Open Office Basic : pictures;ImageMap +Oracle Open Office Basic : pictures;inserting automatically +Oracle Open Office Basic : pictures;inserting from Gallery +Oracle Open Office Basic : pictures;number of +Oracle Open Office Basic : pictures;printing +Oracle Open Office Basic : pictures;scaling/resizing +Oracle Open Office Basic : pixel editor +Oracle Open Office Basic : pixel graphics +Oracle Open Office Basic : pixel graphics;inserting and editing +Oracle Open Office Basic : pixel patterns +Oracle Open Office Basic : placeholders +Oracle Open Office Basic : placeholders;in SQL queries +Oracle Open Office Basic : placeholders;on opening files +Oracle Open Office Basic : placing toolbars +Oracle Open Office Basic : playing movies and sound files +Oracle Open Office Basic : plotting data as charts +Oracle Open Office Basic : plug-ins +Oracle Open Office Basic : plug-ins;activating and deactivating +Oracle Open Office Basic : plug-ins;definition +Oracle Open Office Basic : plug-ins;inserting +Oracle Open Office Basic : pocket device appliances +Oracle Open Office Basic : Pocket PC file filters +Oracle Open Office Basic : points +Oracle Open Office Basic : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Basic : polygon drawing +Oracle Open Office Basic : pop-art filter +Oracle Open Office Basic : portable document format +Oracle Open Office Basic : positioning +Oracle Open Office Basic : positioning;draw objects and controls +Oracle Open Office Basic : positioning;fonts +Oracle Open Office Basic : positioning;objects +Oracle Open Office Basic : positioning;toolbars +Oracle Open Office Basic : post method for form transmissions +Oracle Open Office Basic : posterizing filter +Oracle Open Office Basic : PostScript +Oracle Open Office Basic : PostScript;creating files +Oracle Open Office Basic : PostScript;PDF converter, UNIX +Oracle Open Office Basic : PowerPoint export +Oracle Open Office Basic : precision as shown (Calc) +Oracle Open Office Basic : predefining fonts +Oracle Open Office Basic : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Basic : presentations +Oracle Open Office Basic : presentations;creating/opening +Oracle Open Office Basic : presentations;inserting spreadsheet cells +Oracle Open Office Basic : presentations;live on the Internet +Oracle Open Office Basic : presentations;print menu +Oracle Open Office Basic : presentations;saving +Oracle Open Office Basic : presentations;saving automatically +Oracle Open Office Basic : presentations;saving in other formats +Oracle Open Office Basic : presentations;sending as e-mail +Oracle Open Office Basic : presentations;starting with wizard +Oracle Open Office Basic : presentations;wizards +Oracle Open Office Basic : Presenter Console shortcuts +Oracle Open Office Basic : press buttons, see push buttons +Oracle Open Office Basic : previews +Oracle Open Office Basic : previews;fonts lists +Oracle Open Office Basic : primary keys +Oracle Open Office Basic : primary keys;defining +Oracle Open Office Basic : primary keys;design view +Oracle Open Office Basic : primary keys;inserting (Base) +Oracle Open Office Basic : print area selection +Oracle Open Office Basic : Print statement +Oracle Open Office Basic : printer metrics for document formatting (Writer) +Oracle Open Office Basic : printers +Oracle Open Office Basic : printers;adding, UNIX +Oracle Open Office Basic : printers;choosing +Oracle Open Office Basic : printers;default printer +Oracle Open Office Basic : printers;faxes under UNIX +Oracle Open Office Basic : printers;maximum page formats +Oracle Open Office Basic : printers;paper trays +Oracle Open Office Basic : printers;properties +Oracle Open Office Basic : printing +Oracle Open Office Basic : printing;black and white +Oracle Open Office Basic : printing;brochures +Oracle Open Office Basic : printing;colors in grayscale +Oracle Open Office Basic : printing;comments +Oracle Open Office Basic : printing;copies +Oracle Open Office Basic : printing;creating individual jobs +Oracle Open Office Basic : printing;dates in presentations +Oracle Open Office Basic : printing;directly +Oracle Open Office Basic : printing;documents +Oracle Open Office Basic : printing;drawings defaults +Oracle Open Office Basic : printing;elements in text documents +Oracle Open Office Basic : printing;faster +Oracle Open Office Basic : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Basic : printing;fitting to pages in presentations +Oracle Open Office Basic : printing;formulas in Oracle Open Office Math +Oracle Open Office Basic : printing;hidden pages of presentations +Oracle Open Office Basic : printing;in original size in Oracle Open Office Math +Oracle Open Office Basic : printing;left/right pages +Oracle Open Office Basic : printing;queries (Base) +Oracle Open Office Basic : printing;scaling in Oracle Open Office Math +Oracle Open Office Basic : printing;selections +Oracle Open Office Basic : printing;text always in black +Oracle Open Office Basic : printing;text in reverse order +Oracle Open Office Basic : printing;tiling pages in presentations +Oracle Open Office Basic : printing;transparencies +Oracle Open Office Basic : printing;warnings +Oracle Open Office Basic : printing;without scaling in presentations +Oracle Open Office Basic : printing speed +Oracle Open Office Basic : PRIVATE variables +Oracle Open Office Basic : procedures +Oracle Open Office Basic : ProcessServiceManager +Oracle Open Office Basic : program stops +Oracle Open Office Basic : programming +Oracle Open Office Basic : programming;Oracle Open Office +Oracle Open Office Basic : programming;scripting +Oracle Open Office Basic : programming examples for controls +Oracle Open Office Basic : progress bar control +Oracle Open Office Basic : properties +Oracle Open Office Basic : properties;controls and dialogs +Oracle Open Office Basic : properties;controls in dialog editor +Oracle Open Office Basic : properties;fields in databases +Oracle Open Office Basic : properties;files +Oracle Open Office Basic : properties;form controls +Oracle Open Office Basic : properties;forms +Oracle Open Office Basic : properties;printers +Oracle Open Office Basic : protected contents +Oracle Open Office Basic : protected dashes +Oracle Open Office Basic : protected database tables +Oracle Open Office Basic : protected documents +Oracle Open Office Basic : protected spaces +Oracle Open Office Basic : protected spaces;inserting +Oracle Open Office Basic : protected spaces;showing (Writer) +Oracle Open Office Basic : protecting +Oracle Open Office Basic : protecting;contents +Oracle Open Office Basic : protecting;recorded changes +Oracle Open Office Basic : proxy settings +Oracle Open Office Basic : Public statement +Oracle Open Office Basic : PUBLIC variables +Oracle Open Office Basic : push button control in dialog editor +Oracle Open Office Basic : push buttons +Oracle Open Office Basic : push buttons;adding to documents +Oracle Open Office Basic : push buttons;creating +Oracle Open Office Basic : Put statement +Oracle Open Office Basic : queries +Oracle Open Office Basic : queries;copying (Base) +Oracle Open Office Basic : queries;creating in design view (Base) +Oracle Open Office Basic : queries;creating in SQL view +Oracle Open Office Basic : queries;defining (Base) +Oracle Open Office Basic : queries;deleting table links (Base) +Oracle Open Office Basic : queries;editing in data source view +Oracle Open Office Basic : queries;formulating filter conditions (Base) +Oracle Open Office Basic : queries;joining tables (Base) +Oracle Open Office Basic : queries;missing elements (Base) +Oracle Open Office Basic : queries;overview (Base) +Oracle Open Office Basic : queries;parameter queries (Base) +Oracle Open Office Basic : queries;printing (Base) +Oracle Open Office Basic : Query Wizard (Base) +Oracle Open Office Basic : Quickstarter +Oracle Open Office Basic : quotation marks +Oracle Open Office Basic : quotation marks;replacing +Oracle Open Office Basic : quotes +Oracle Open Office Basic : quotes;custom +Oracle Open Office Basic : radio button control +Oracle Open Office Basic : radio button creation +Oracle Open Office Basic : Randomize statement +Oracle Open Office Basic : read-only documents +Oracle Open Office Basic : read-only documents;cursor +Oracle Open Office Basic : read-only documents;database tables on/off +Oracle Open Office Basic : read-only documents;editing +Oracle Open Office Basic : read-only documents;opening documents as +Oracle Open Office Basic : read-only items in Data Navigator +Oracle Open Office Basic : recognizing URLs automatically +Oracle Open Office Basic : recording +Oracle Open Office Basic : recording;changes +Oracle Open Office Basic : recording;macros +Oracle Open Office Basic : records +Oracle Open Office Basic : records;inserting comments +Oracle Open Office Basic : records;protecting +Oracle Open Office Basic : records;saving +Oracle Open Office Basic : records;searching in databases +Oracle Open Office Basic : rectangles with round corners +Oracle Open Office Basic : recursions in spreadsheets +Oracle Open Office Basic : Red function +Oracle Open Office Basic : ReDim statement +Oracle Open Office Basic : redo command +Oracle Open Office Basic : reduced printing +Oracle Open Office Basic : reference lines +Oracle Open Office Basic : references +Oracle Open Office Basic : references;displaying in color (Calc) +Oracle Open Office Basic : references;expanding (Calc) +Oracle Open Office Basic : references;iterative (Calc) +Oracle Open Office Basic : register-true +Oracle Open Office Basic : register-true;definition +Oracle Open Office Basic : registering +Oracle Open Office Basic : registering;address books +Oracle Open Office Basic : registering;databases (Base) +Oracle Open Office Basic : registering;Oracle Open Office +Oracle Open Office Basic : regular expressions +Oracle Open Office Basic : regular expressions;list of +Oracle Open Office Basic : regular expressions;opening files +Oracle Open Office Basic : relational databases (Base) +Oracle Open Office Basic : relations +Oracle Open Office Basic : relations;creating and deleting (Base) +Oracle Open Office Basic : relations;joining tables (Base) +Oracle Open Office Basic : relations;properties (Base) +Oracle Open Office Basic : relative hyperlinks +Oracle Open Office Basic : relative saving of URLs +Oracle Open Office Basic : reloading +Oracle Open Office Basic : reloading;documents +Oracle Open Office Basic : reloading;HTML documents, automatically +Oracle Open Office Basic : Rem statement +Oracle Open Office Basic : remarks, see also comments +Oracle Open Office Basic : remote configurations +Oracle Open Office Basic : remove noise filter +Oracle Open Office Basic : removing +Oracle Open Office Basic : removing;bullets and numbering +Oracle Open Office Basic : removing;form filters +Oracle Open Office Basic : removing, see also deleting +Oracle Open Office Basic : renaming modules and dialogs +Oracle Open Office Basic : repeating +Oracle Open Office Basic : repeating;commands +Oracle Open Office Basic : replacement options +Oracle Open Office Basic : replacement table +Oracle Open Office Basic : replacing +Oracle Open Office Basic : replacing;AutoCorrect function +Oracle Open Office Basic : replacing;dashes +Oracle Open Office Basic : replacing;tab stops (regular expressions) +Oracle Open Office Basic : Report Builder +Oracle Open Office Basic : reports +Oracle Open Office Basic : reports;creating +Oracle Open Office Basic : reports;error reports +Oracle Open Office Basic : reports;opening and editing +Oracle Open Office Basic : reports;templates +Oracle Open Office Basic : Reset statement +Oracle Open Office Basic : resetting +Oracle Open Office Basic : resetting;templates +Oracle Open Office Basic : resizing +Oracle Open Office Basic : resizing;objects, by mouse +Oracle Open Office Basic : resizing, see also scaling/zooming +Oracle Open Office Basic : resolution when printing bitmaps +Oracle Open Office Basic : restoring +Oracle Open Office Basic : restoring;default formatting +Oracle Open Office Basic : restoring;editing +Oracle Open Office Basic : Resume Next parameter +Oracle Open Office Basic : return value type of functions +Oracle Open Office Basic : reversing printing order +Oracle Open Office Basic : review function +Oracle Open Office Basic : review function;accepting or rejecting changes +Oracle Open Office Basic : review function;comparing documents +Oracle Open Office Basic : review function;protecting records +Oracle Open Office Basic : review function;recording changes example +Oracle Open Office Basic : rich text control +Oracle Open Office Basic : right alignment of paragraphs +Oracle Open Office Basic : Right function +Oracle Open Office Basic : right joins (Base) +Oracle Open Office Basic : right-to-left text +Oracle Open Office Basic : RmDir statement +Oracle Open Office Basic : Rnd function +Oracle Open Office Basic : rotating +Oracle Open Office Basic : rotating;3D text +Oracle Open Office Basic : round corners +Oracle Open Office Basic : rounding precision (Calc) +Oracle Open Office Basic : row headers +Oracle Open Office Basic : row headers;displaying (Calc) +Oracle Open Office Basic : row headers;highlighting (Calc) +Oracle Open Office Basic : RSet statement +Oracle Open Office Basic : RTrim function +Oracle Open Office Basic : rulers +Oracle Open Office Basic : rulers;default settings +Oracle Open Office Basic : rulers;measurement units +Oracle Open Office Basic : rulers;visible in presentations +Oracle Open Office Basic : run-time errors in Basic +Oracle Open Office Basic : samples and templates +Oracle Open Office Basic : saving +Oracle Open Office Basic : saving;Basic code +Oracle Open Office Basic : saving;default file formats +Oracle Open Office Basic : saving;dialog settings +Oracle Open Office Basic : saving;documents +Oracle Open Office Basic : saving;documents for mobile devices +Oracle Open Office Basic : saving;documents in other formats +Oracle Open Office Basic : saving;documents, automatically +Oracle Open Office Basic : saving;in Microsoft Office file format +Oracle Open Office Basic : saving;options +Oracle Open Office Basic : saving;templates +Oracle Open Office Basic : saving;to XML +Oracle Open Office Basic : saving;VBA code in Microsoft Office documents +Oracle Open Office Basic : saving;with password by default +Oracle Open Office Basic : saving as command +Oracle Open Office Basic : saving as command;precautions +Oracle Open Office Basic : scaling +Oracle Open Office Basic : scaling;font sizes in user interface +Oracle Open Office Basic : scaling;objects +Oracle Open Office Basic : scaling;pictures +Oracle Open Office Basic : scaling;printing in Oracle Open Office Math +Oracle Open Office Basic : scaling;when printing presentations +Oracle Open Office Basic : scaling, see also zooming +Oracle Open Office Basic : scope of variables +Oracle Open Office Basic : screen +Oracle Open Office Basic : screen;full screen views +Oracle Open Office Basic : screen;scaling +Oracle Open Office Basic : screen magnifiers +Oracle Open Office Basic : screen readers +Oracle Open Office Basic : script organization +Oracle Open Office Basic : scroll bar control +Oracle Open Office Basic : scrollbars +Oracle Open Office Basic : scrollbars;controls +Oracle Open Office Basic : scrollbars;displaying (Calc) +Oracle Open Office Basic : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Basic : search criteria for database functions in cells +Oracle Open Office Basic : search engines +Oracle Open Office Basic : search engines;definition +Oracle Open Office Basic : search engines;selecting +Oracle Open Office Basic : searching +Oracle Open Office Basic : searching;all sheets +Oracle Open Office Basic : searching;databases +Oracle Open Office Basic : searching;form filters +Oracle Open Office Basic : searching;Internet +Oracle Open Office Basic : searching;tables and forms +Oracle Open Office Basic : Second function +Oracle Open Office Basic : sections +Oracle Open Office Basic : sections;backgrounds +Oracle Open Office Basic : security +Oracle Open Office Basic : security;digital signatures +Oracle Open Office Basic : security;options for documents with macros +Oracle Open Office Basic : security;protecting contents +Oracle Open Office Basic : security;security levels for macros +Oracle Open Office Basic : security;warning dialogs with macros +Oracle Open Office Basic : Seek function +Oracle Open Office Basic : Seek statement +Oracle Open Office Basic : Select...Case statement +Oracle Open Office Basic : selecting +Oracle Open Office Basic : selecting;controls +Oracle Open Office Basic : selecting;measurement units +Oracle Open Office Basic : selecting;objects +Oracle Open Office Basic : selecting;print areas +Oracle Open Office Basic : selecting;several files +Oracle Open Office Basic : selection clipboard +Oracle Open Office Basic : selection frames +Oracle Open Office Basic : selection modes in text +Oracle Open Office Basic : selection options for controls +Oracle Open Office Basic : sending +Oracle Open Office Basic : sending;AutoAbstract function in presentations +Oracle Open Office Basic : sending;documents as e-mail +Oracle Open Office Basic : sending;documents as faxes +Oracle Open Office Basic : separator lines +Oracle Open Office Basic : separator lines;defining +Oracle Open Office Basic : separators +Oracle Open Office Basic : separators;conditional +Oracle Open Office Basic : Server Side ImageMap +Oracle Open Office Basic : Set statement +Oracle Open Office Basic : SetAttr statement +Oracle Open Office Basic : settings +Oracle Open Office Basic : settings;printers +Oracle Open Office Basic : settings;program configuration +Oracle Open Office Basic : settings;proxies +Oracle Open Office Basic : settings;tracking changes +Oracle Open Office Basic : settings;views +Oracle Open Office Basic : SGML +Oracle Open Office Basic : SGML;definition +Oracle Open Office Basic : Sgn function +Oracle Open Office Basic : shadows +Oracle Open Office Basic : shadows;areas +Oracle Open Office Basic : shadows;borders +Oracle Open Office Basic : shadows;characters +Oracle Open Office Basic : shadows;characters, using context menu +Oracle Open Office Basic : sharing documents +Oracle Open Office Basic : sharpening filter +Oracle Open Office Basic : sheet tabs +Oracle Open Office Basic : sheet tabs;displaying +Oracle Open Office Basic : sheets +Oracle Open Office Basic : sheets;searching all +Oracle Open Office Basic : Shell function +Oracle Open Office Basic : shortcut keys +Oracle Open Office Basic : shortcut keys;assigning macros +Oracle Open Office Basic : shortcut keys;Basic IDE +Oracle Open Office Basic : shortcut keys;general +Oracle Open Office Basic : shortcut keys;in databases +Oracle Open Office Basic : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Basic : showing +Oracle Open Office Basic : showing;changes +Oracle Open Office Basic : showing;docked windows +Oracle Open Office Basic : showing;drawings and controls (Writer) +Oracle Open Office Basic : showing;live presentations on the Internet +Oracle Open Office Basic : showing;toolbars +Oracle Open Office Basic : signing documents with digital signatures +Oracle Open Office Basic : similarity search +Oracle Open Office Basic : simple handles (Writer) +Oracle Open Office Basic : simplified Chinese +Oracle Open Office Basic : simplified Chinese;translating to traditional Chinese +Oracle Open Office Basic : Sin function +Oracle Open Office Basic : single sign on options +Oracle Open Office Basic : single-line spacing in text +Oracle Open Office Basic : sizes +Oracle Open Office Basic : sizes;draw objects +Oracle Open Office Basic : sizes;pictures +Oracle Open Office Basic : slanting draw objects +Oracle Open Office Basic : small capitals +Oracle Open Office Basic : small icons +Oracle Open Office Basic : smart tag configuration +Oracle Open Office Basic : smooth scrolling (Writer) +Oracle Open Office Basic : smoothing filter +Oracle Open Office Basic : snap grid defaults (Writer/Calc) +Oracle Open Office Basic : snapping in presentations and drawings +Oracle Open Office Basic : solarization filter +Oracle Open Office Basic : sort lists +Oracle Open Office Basic : sort lists;copying to in Calc +Oracle Open Office Basic : sorting +Oracle Open Office Basic : sorting;data in forms +Oracle Open Office Basic : sorting;databases +Oracle Open Office Basic : sound files +Oracle Open Office Basic : Space function +Oracle Open Office Basic : spaces +Oracle Open Office Basic : spaces;displaying (Writer) +Oracle Open Office Basic : spaces;ignoring double +Oracle Open Office Basic : spaces;inserting protected spaces +Oracle Open Office Basic : spaces;showing protected spaces (Writer) +Oracle Open Office Basic : spacing +Oracle Open Office Basic : spacing;between paragraphs in footnotes +Oracle Open Office Basic : spacing;font effects +Oracle Open Office Basic : spacing;lines and paragraphs +Oracle Open Office Basic : spacing;tab stops in text documents +Oracle Open Office Basic : spacing;tabs in presentations +Oracle Open Office Basic : spadmin +Oracle Open Office Basic : special characters +Oracle Open Office Basic : speech bubbles +Oracle Open Office Basic : speed of printing +Oracle Open Office Basic : spellcheck +Oracle Open Office Basic : spellcheck;activating for a language +Oracle Open Office Basic : spellcheck;context menus +Oracle Open Office Basic : spellcheck;default languages +Oracle Open Office Basic : spellcheck;dialog +Oracle Open Office Basic : spellcheck;dictionary of exceptions +Oracle Open Office Basic : spellcheck;ignore list +Oracle Open Office Basic : spin button creation +Oracle Open Office Basic : Split function +Oracle Open Office Basic : spoolfiles with Xprinter +Oracle Open Office Basic : spreadsheets +Oracle Open Office Basic : spreadsheets;as databases (base) +Oracle Open Office Basic : spreadsheets;copying areas to text documents +Oracle Open Office Basic : spreadsheets;creating/opening +Oracle Open Office Basic : spreadsheets;inserting charts +Oracle Open Office Basic : spreadsheets;inserting database records +Oracle Open Office Basic : spreadsheets;printing +Oracle Open Office Basic : spreadsheets;saving +Oracle Open Office Basic : spreadsheets;saving automatically +Oracle Open Office Basic : spreadsheets;saving in other formats +Oracle Open Office Basic : spreadsheets;sending as e-mail +Oracle Open Office Basic : SQL +Oracle Open Office Basic : SQL;definition +Oracle Open Office Basic : SQL;DISTINCT parameter +Oracle Open Office Basic : SQL;executing SQL commands +Oracle Open Office Basic : SQL;executing SQL statements (Base) +Oracle Open Office Basic : SQL;queries (Base) +Oracle Open Office Basic : Sqr function +Oracle Open Office Basic : square drawings +Oracle Open Office Basic : standard bar on/off +Oracle Open Office Basic : standard filters in databases +Oracle Open Office Basic : standard printer under UNIX +Oracle Open Office Basic : start center +Oracle Open Office Basic : start parameters +Oracle Open Office Basic : Static statement +Oracle Open Office Basic : status bar on/off +Oracle Open Office Basic : Step statement +Oracle Open Office Basic : stickers +Oracle Open Office Basic : Stop statement +Oracle Open Office Basic : stopping macros +Oracle Open Office Basic : Str function +Oracle Open Office Basic : StrComp function +Oracle Open Office Basic : strikethrough +Oracle Open Office Basic : strikethrough;characters +Oracle Open Office Basic : strikethrough;font effects +Oracle Open Office Basic : String function +Oracle Open Office Basic : styles +Oracle Open Office Basic : styles;'changed' message +Oracle Open Office Basic : styles;copying between documents +Oracle Open Office Basic : styles;keyboard shortcuts +Oracle Open Office Basic : styles;organizing +Oracle Open Office Basic : styles;printing styles used in a document +Oracle Open Office Basic : styles;replacing automatically +Oracle Open Office Basic : Styles and Formatting window +Oracle Open Office Basic : Styles and Formatting window;docking +Oracle Open Office Basic : Sub statement +Oracle Open Office Basic : subforms +Oracle Open Office Basic : subforms;creating +Oracle Open Office Basic : subforms;description +Oracle Open Office Basic : submitting forms +Oracle Open Office Basic : subroutines +Oracle Open Office Basic : suffixes in file formats +Oracle Open Office Basic : support on the Web +Oracle Open Office Basic : Switch function +Oracle Open Office Basic : synchronizing +Oracle Open Office Basic : synchronizing;labels and business cards +Oracle Open Office Basic : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Basic : system address book registration +Oracle Open Office Basic : tab stops +Oracle Open Office Basic : tab stops;displaying (Writer) +Oracle Open Office Basic : tab stops;inserting and editing +Oracle Open Office Basic : tab stops;regular expressions +Oracle Open Office Basic : tab stops;setting in sheets +Oracle Open Office Basic : tab stops;settings +Oracle Open Office Basic : tab stops;spacing in presentations +Oracle Open Office Basic : tab stops;spacing in text documents +Oracle Open Office Basic : table controls +Oracle Open Office Basic : table controls;form functions +Oracle Open Office Basic : table controls;keyboard-only edit mode +Oracle Open Office Basic : table controls;properties +Oracle Open Office Basic : table views of databases +Oracle Open Office Basic : Table Wizard (Base) +Oracle Open Office Basic : tables +Oracle Open Office Basic : tables;inserting line breaks +Oracle Open Office Basic : tables in databases +Oracle Open Office Basic : tables in databases;access rights to (Base) +Oracle Open Office Basic : tables in databases;adding to queries +Oracle Open Office Basic : tables in databases;browsing and editing +Oracle Open Office Basic : tables in databases;copying database tables (Base) +Oracle Open Office Basic : tables in databases;creating +Oracle Open Office Basic : tables in databases;creating in design view (manually) +Oracle Open Office Basic : tables in databases;importing text formats (Base) +Oracle Open Office Basic : tables in databases;joining for queries (Base) +Oracle Open Office Basic : tables in databases;printing queries (Base) +Oracle Open Office Basic : tables in databases;relations (Base) +Oracle Open Office Basic : tables in databases;searching +Oracle Open Office Basic : tables in spreadsheets +Oracle Open Office Basic : tables in spreadsheets;copying data to other applications +Oracle Open Office Basic : tables in spreadsheets;defining borders +Oracle Open Office Basic : tables in spreadsheets;value highlighting +Oracle Open Office Basic : tables in text +Oracle Open Office Basic : tables in text;captions +Oracle Open Office Basic : tables in text;creating automatically +Oracle Open Office Basic : tables in text;default settings +Oracle Open Office Basic : tables in text;defining borders +Oracle Open Office Basic : tables in text;displaying +Oracle Open Office Basic : tables in text;printing +Oracle Open Office Basic : tabs +Oracle Open Office Basic : tabs;displaying sheet tabs +Oracle Open Office Basic : tags +Oracle Open Office Basic : tags;definition +Oracle Open Office Basic : tags;META tags +Oracle Open Office Basic : Tan function +Oracle Open Office Basic : templates +Oracle Open Office Basic : templates;agendas +Oracle Open Office Basic : templates;changing basic fonts +Oracle Open Office Basic : templates;database reports +Oracle Open Office Basic : templates;deleting +Oracle Open Office Basic : templates;editing and saving +Oracle Open Office Basic : templates;faxes +Oracle Open Office Basic : templates;importing and exporting +Oracle Open Office Basic : templates;letters +Oracle Open Office Basic : templates;new documents from templates +Oracle Open Office Basic : templates;opening documents with +Oracle Open Office Basic : templates;organizing +Oracle Open Office Basic : terminology +Oracle Open Office Basic : terminology;general glossary +Oracle Open Office Basic : terminology;Internet glossary +Oracle Open Office Basic : test mode control +Oracle Open Office Basic : testing XML filters +Oracle Open Office Basic : text +Oracle Open Office Basic : text;animating +Oracle Open Office Basic : text;Asian layout +Oracle Open Office Basic : text;bold +Oracle Open Office Basic : text;coloring +Oracle Open Office Basic : text;copying by drag and drop +Oracle Open Office Basic : text;CTL languages +Oracle Open Office Basic : text;drawing pictures +Oracle Open Office Basic : text;font effects +Oracle Open Office Basic : text;font sizes +Oracle Open Office Basic : text;font styles +Oracle Open Office Basic : text;fonts and formats +Oracle Open Office Basic : text;Fontwork icons +Oracle Open Office Basic : text;hyperlinks +Oracle Open Office Basic : text;inserting special characters +Oracle Open Office Basic : text;italics +Oracle Open Office Basic : text;kerning +Oracle Open Office Basic : text;language selection +Oracle Open Office Basic : text;line spacing +Oracle Open Office Basic : text;overwriting or inserting +Oracle Open Office Basic : text;printing in black +Oracle Open Office Basic : text;replacing with format +Oracle Open Office Basic : text;selection modes +Oracle Open Office Basic : text;shadowed +Oracle Open Office Basic : text;text/draw objects +Oracle Open Office Basic : text attributes +Oracle Open Office Basic : text attributes;hyperlinks +Oracle Open Office Basic : text attributes;undoing +Oracle Open Office Basic : text boxes +Oracle Open Office Basic : text boxes;controls +Oracle Open Office Basic : text boxes;form functions +Oracle Open Office Basic : text boxes;positioning +Oracle Open Office Basic : text breaks in cells +Oracle Open Office Basic : text colors for better accessibility +Oracle Open Office Basic : text databases (Base) +Oracle Open Office Basic : text documents +Oracle Open Office Basic : text documents;creating/opening +Oracle Open Office Basic : text documents;importing/exporting +Oracle Open Office Basic : text documents;inserting spreadsheet cells +Oracle Open Office Basic : text documents;print settings +Oracle Open Office Basic : text documents;printing +Oracle Open Office Basic : text documents;saving +Oracle Open Office Basic : text documents;saving automatically +Oracle Open Office Basic : text documents;saving in other formats +Oracle Open Office Basic : text documents;sending as e-mail +Oracle Open Office Basic : text effects +Oracle Open Office Basic : text flow +Oracle Open Office Basic : text flow;in cells +Oracle Open Office Basic : text formats +Oracle Open Office Basic : text formats;databases +Oracle Open Office Basic : text formats;pasting +Oracle Open Office Basic : text input fields +Oracle Open Office Basic : text layout for special languages +Oracle Open Office Basic : text objects +Oracle Open Office Basic : text objects;alignment +Oracle Open Office Basic : text objects;draw functions +Oracle Open Office Basic : text objects;fonts +Oracle Open Office Basic : text objects;in presentations and drawings +Oracle Open Office Basic : text overflow in spreadsheet cells +Oracle Open Office Basic : text, see also text documents, paragraphs and characters +Oracle Open Office Basic : TextArt, see Fontwork +Oracle Open Office Basic : textures +Oracle Open Office Basic : textures;inserting from Gallery +Oracle Open Office Basic : textures;on chart bars +Oracle Open Office Basic : Thai +Oracle Open Office Basic : Thai;entering text +Oracle Open Office Basic : Thai;language settings +Oracle Open Office Basic : thesaurus +Oracle Open Office Basic : thesaurus;activating for a language +Oracle Open Office Basic : ThisComponent property +Oracle Open Office Basic : ticker text +Oracle Open Office Basic : time field control +Oracle Open Office Basic : time fields +Oracle Open Office Basic : time fields;form functions +Oracle Open Office Basic : Time statement +Oracle Open Office Basic : Timer function +Oracle Open Office Basic : times +Oracle Open Office Basic : times;inserting when printing presentations +Oracle Open Office Basic : times, formats +Oracle Open Office Basic : TimeSerial function +Oracle Open Office Basic : TimeValue function +Oracle Open Office Basic : tips +Oracle Open Office Basic : tips;extended tips in Help +Oracle Open Office Basic : title rows +Oracle Open Office Basic : title rows;printing in Oracle Open Office Math +Oracle Open Office Basic : titles +Oracle Open Office Basic : titles;changing +Oracle Open Office Basic : titles;editing in charts +Oracle Open Office Basic : titles;font effects +Oracle Open Office Basic : titles;formatting automatically +Oracle Open Office Basic : titles;objects +Oracle Open Office Basic : To statement +Oracle Open Office Basic : toolbars +Oracle Open Office Basic : toolbars;adding buttons +Oracle Open Office Basic : toolbars;Basic IDE +Oracle Open Office Basic : toolbars;docking/undocking +Oracle Open Office Basic : toolbars;Form Navigation bar +Oracle Open Office Basic : toolbars;viewing/closing +Oracle Open Office Basic : tools bar +Oracle Open Office Basic : tooltips +Oracle Open Office Basic : tooltips;extended tips +Oracle Open Office Basic : tooltips;help +Oracle Open Office Basic : traditional Chinese +Oracle Open Office Basic : traditional Chinese;translating to simplified chinese +Oracle Open Office Basic : translating dialogs +Oracle Open Office Basic : transparency +Oracle Open Office Basic : transparency;areas +Oracle Open Office Basic : transparency;off for faster printing +Oracle Open Office Basic : transparency;saving +Oracle Open Office Basic : tree view of Help +Oracle Open Office Basic : Trim function +Oracle Open Office Basic : twips +Oracle Open Office Basic : twips;definition +Oracle Open Office Basic : TwipsPerPixelX function +Oracle Open Office Basic : TwipsPerPixelY function +Oracle Open Office Basic : typefaces +Oracle Open Office Basic : typefaces;adding under UNIX +Oracle Open Office Basic : typefaces;formats +Oracle Open Office Basic : TypeName function +Oracle Open Office Basic : types of variables +Oracle Open Office Basic : typographical quotes in Oracle Open Office Writer +Oracle Open Office Basic : typography +Oracle Open Office Basic : typography;Asian +Oracle Open Office Basic : UBound function +Oracle Open Office Basic : UCase function +Oracle Open Office Basic : underlining +Oracle Open Office Basic : underlining;AutoFormat function +Oracle Open Office Basic : underlining;characters +Oracle Open Office Basic : underlining;text +Oracle Open Office Basic : undocking windows +Oracle Open Office Basic : undoing +Oracle Open Office Basic : undoing;direct formatting +Oracle Open Office Basic : undoing;editing +Oracle Open Office Basic : undoing;number of steps +Oracle Open Office Basic : ungrouping groups +Oracle Open Office Basic : units +Oracle Open Office Basic : units;converting +Oracle Open Office Basic : units;measurement units +Oracle Open Office Basic : UNO components +Oracle Open Office Basic : UNO components;Extension Manager +Oracle Open Office Basic : UNO components;integrating new +Oracle Open Office Basic : Until +Oracle Open Office Basic : update options +Oracle Open Office Basic : updates +Oracle Open Office Basic : updates;checking automatically +Oracle Open Office Basic : updates;checking manually +Oracle Open Office Basic : updating +Oracle Open Office Basic : updating;fields and charts, automatically (Writer) +Oracle Open Office Basic : updating;links in text documents +Oracle Open Office Basic : updating;links, on opening +Oracle Open Office Basic : updating;templates +Oracle Open Office Basic : URL +Oracle Open Office Basic : URL;changing hyperlink URLs +Oracle Open Office Basic : URL;definition +Oracle Open Office Basic : URL;in pictures +Oracle Open Office Basic : URL;saving absolute/relative paths +Oracle Open Office Basic : URL;turning off URL recognition +Oracle Open Office Basic : user data +Oracle Open Office Basic : user data;input +Oracle Open Office Basic : user data;removing when saving +Oracle Open Office Basic : user feedback +Oracle Open Office Basic : user feedback;automatically +Oracle Open Office Basic : user-defined dictionaries +Oracle Open Office Basic : user-defined dictionaries;creating +Oracle Open Office Basic : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Basic : user-defined dictionaries;editing +Oracle Open Office Basic : user-defined styles +Oracle Open Office Basic : user-defined styles;automatically replacing +Oracle Open Office Basic : UTF-8/UCS2 support +Oracle Open Office Basic : Val function +Oracle Open Office Basic : values +Oracle Open Office Basic : values;of variables +Oracle Open Office Basic : values;rounded as shown (Calc) +Oracle Open Office Basic : variables +Oracle Open Office Basic : variables;for paths +Oracle Open Office Basic : variables;global and local +Oracle Open Office Basic : variables;observing values +Oracle Open Office Basic : variables;passing to procedures and functions +Oracle Open Office Basic : variables;scope +Oracle Open Office Basic : variables;using +Oracle Open Office Basic : VarType function +Oracle Open Office Basic : VBA code +Oracle Open Office Basic : VBA code;loading/saving documents with VBA code +Oracle Open Office Basic : version management +Oracle Open Office Basic : version numbers of documents +Oracle Open Office Basic : versions +Oracle Open Office Basic : versions;comparing documents +Oracle Open Office Basic : versions;file saving as, restriction +Oracle Open Office Basic : versions;merging document versions +Oracle Open Office Basic : versions;of a document +Oracle Open Office Basic : versions;Oracle Open Office +Oracle Open Office Basic : vertical callouts +Oracle Open Office Basic : vertical line control +Oracle Open Office Basic : vertical scrollbar control +Oracle Open Office Basic : vertical scrollbars (Writer) +Oracle Open Office Basic : vertical text boxes +Oracle Open Office Basic : videos +Oracle Open Office Basic : viewing +Oracle Open Office Basic : viewing;databases +Oracle Open Office Basic : viewing;file properties +Oracle Open Office Basic : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Basic : viewing;toolbars +Oracle Open Office Basic : views +Oracle Open Office Basic : views;creating database views (Base) +Oracle Open Office Basic : views;defaults +Oracle Open Office Basic : views;full screen +Oracle Open Office Basic : views;icons +Oracle Open Office Basic : views;scaling +Oracle Open Office Basic : Visual Basic for Applications +Oracle Open Office Basic : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Basic : Wait statement +Oracle Open Office Basic : watching variables +Oracle Open Office Basic : watermarks +Oracle Open Office Basic : web documents +Oracle Open Office Basic : web documents;XForms +Oracle Open Office Basic : Web support +Oracle Open Office Basic : WebCast export +Oracle Open Office Basic : WebDAV over HTTPS +Oracle Open Office Basic : WeekDay function +Oracle Open Office Basic : While +Oracle Open Office Basic : While;Do loop +Oracle Open Office Basic : While;While...Wend loop +Oracle Open Office Basic : windows +Oracle Open Office Basic : windows;docking +Oracle Open Office Basic : windows;docking definition +Oracle Open Office Basic : windows;hiding/showing/docking +Oracle Open Office Basic : windows;new +Oracle Open Office Basic : With statement +Oracle Open Office Basic : wizards +Oracle Open Office Basic : wizards;agendas +Oracle Open Office Basic : wizards;database queries +Oracle Open Office Basic : wizards;database tables (Base) +Oracle Open Office Basic : wizards;databases (Base) +Oracle Open Office Basic : wizards;document converter +Oracle Open Office Basic : wizards;Euro Converter +Oracle Open Office Basic : wizards;faxes +Oracle Open Office Basic : wizards;forms +Oracle Open Office Basic : wizards;letters +Oracle Open Office Basic : wizards;macros (Base) +Oracle Open Office Basic : wizards;overview +Oracle Open Office Basic : wizards;presentations +Oracle Open Office Basic : wizards;reports +Oracle Open Office Basic : Word documents +Oracle Open Office Basic : Word documents;compatibility +Oracle Open Office Basic : Word documents;saving as +Oracle Open Office Basic : WordArt, see Fontwork +Oracle Open Office Basic : words +Oracle Open Office Basic : words;automatically replacing +Oracle Open Office Basic : words;wrapping in cells +Oracle Open Office Basic : words;wrapping in CTL +Oracle Open Office Basic : working directory change +Oracle Open Office Basic : wrapping text +Oracle Open Office Basic : wrapping text;in cells +Oracle Open Office Basic : write protection on/off +Oracle Open Office Basic : Write statement +Oracle Open Office Basic : writing aids options +Oracle Open Office Basic : WYSIWYG in fonts lists +Oracle Open Office Basic : XForms +Oracle Open Office Basic : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Basic : XForms;conditions +Oracle Open Office Basic : XForms;opening/editing +Oracle Open Office Basic : XML converters +Oracle Open Office Basic : XML file formats +Oracle Open Office Basic : XML filters +Oracle Open Office Basic : XML filters;creating/testing +Oracle Open Office Basic : XML filters;saving as package/installing/deleting +Oracle Open Office Basic : XML filters;settings +Oracle Open Office Basic : XML Forms, see XForms +Oracle Open Office Basic : Xor operator (logical) +Oracle Open Office Basic : XSLT filters, see also XML filters +Oracle Open Office Basic : Year function +Oracle Open Office Basic : years +Oracle Open Office Basic : years;2-digit options +Oracle Open Office Basic : zero values +Oracle Open Office Basic : zero values;displaying (Calc) +Oracle Open Office Basic : zooming +Oracle Open Office Basic : zooming;page views +Oracle Open Office Basic : zooming;pictures +Oracle Open Office Basic : zooming;status bar +Oracle Open Office Calc : #N/A error +Oracle Open Office Calc : #N/A error;assigning to a cell +Oracle Open Office Calc : #N/A error;recognizing +Oracle Open Office Calc : #NAME error message +Oracle Open Office Calc : #REF error message +Oracle Open Office Calc : 1/2 replacement +Oracle Open Office Calc : 3D charts +Oracle Open Office Calc : 3D text creation +Oracle Open Office Calc : abbreviation replacement +Oracle Open Office Calc : ABS function +Oracle Open Office Calc : absolute addresses in spreadsheets +Oracle Open Office Calc : absolute hyperlinks +Oracle Open Office Calc : absolute references in spreadsheets +Oracle Open Office Calc : absolute saving of URLs +Oracle Open Office Calc : absolute values +Oracle Open Office Calc : accents +Oracle Open Office Calc : Access databases (base) +Oracle Open Office Calc : access rights for database tables (Base) +Oracle Open Office Calc : accessibility +Oracle Open Office Calc : accessibility;general shortcuts +Oracle Open Office Calc : accessibility;options +Oracle Open Office Calc : accessibility;Oracle Open Office assistive technology +Oracle Open Office Calc : accessibility;Oracle Open Office Calc shortcuts +Oracle Open Office Calc : accessibility;Oracle Open Office features +Oracle Open Office Calc : ACCRINT function +Oracle Open Office Calc : ACCRINTM function +Oracle Open Office Calc : accrued interests +Oracle Open Office Calc : accrued interests;one-off payments +Oracle Open Office Calc : accrued interests;periodic payments +Oracle Open Office Calc : accumulated interests +Oracle Open Office Calc : ACOS function +Oracle Open Office Calc : ACOSH function +Oracle Open Office Calc : ACOT function +Oracle Open Office Calc : ACOTH function +Oracle Open Office Calc : actions in case of incorrect input +Oracle Open Office Calc : activating +Oracle Open Office Calc : activating;context menus +Oracle Open Office Calc : activating;Error Report Tool +Oracle Open Office Calc : activating;extended help tips +Oracle Open Office Calc : activating;plug-ins +Oracle Open Office Calc : ActiveX control +Oracle Open Office Calc : Adabas D databases (base) +Oracle Open Office Calc : add-ins +Oracle Open Office Calc : add-ins;analysis functions +Oracle Open Office Calc : add-ins;for programming +Oracle Open Office Calc : add-ins;functions +Oracle Open Office Calc : add-ons, see UNO components +Oracle Open Office Calc : adding +Oracle Open Office Calc : adding;numbers in cell ranges +Oracle Open Office Calc : adding;specified numbers +Oracle Open Office Calc : additional selection mode +Oracle Open Office Calc : address books +Oracle Open Office Calc : address books;LDAP server (Base) +Oracle Open Office Calc : address books;registering +Oracle Open Office Calc : ADDRESS function +Oracle Open Office Calc : address labels from databases +Oracle Open Office Calc : addressing +Oracle Open Office Calc : addressing;automatic +Oracle Open Office Calc : addressing;by defined names +Oracle Open Office Calc : addressing;relative and absolute +Oracle Open Office Calc : adjusting array ranges +Oracle Open Office Calc : ADO databases (Base) +Oracle Open Office Calc : advanced filters +Oracle Open Office Calc : Agenda Wizard +Oracle Open Office Calc : aging filter +Oracle Open Office Calc : algebraic signs +Oracle Open Office Calc : aligning +Oracle Open Office Calc : aligning;2D charts +Oracle Open Office Calc : aligning;cells +Oracle Open Office Calc : aligning;objects +Oracle Open Office Calc : aligning;paragraphs +Oracle Open Office Calc : aligning;tables in text +Oracle Open Office Calc : aligning;text objects +Oracle Open Office Calc : aligning;titles in charts +Oracle Open Office Calc : allowances +Oracle Open Office Calc : allowed cell names +Oracle Open Office Calc : alternative fonts +Oracle Open Office Calc : AMORDEGRC function +Oracle Open Office Calc : AMORLINC function +Oracle Open Office Calc : amortization installment +Oracle Open Office Calc : amortizations, see also depreciations +Oracle Open Office Calc : amount received for fixed-interest securities +Oracle Open Office Calc : ampersand symbol, see also operators +Oracle Open Office Calc : analysis functions +Oracle Open Office Calc : anchors +Oracle Open Office Calc : anchors;changing +Oracle Open Office Calc : anchors;displaying (Calc) +Oracle Open Office Calc : anchors;types/positions for draw objects +Oracle Open Office Calc : AND function +Oracle Open Office Calc : animations +Oracle Open Office Calc : animations;accessibility options +Oracle Open Office Calc : annual net interest rates +Oracle Open Office Calc : annual return on treasury bills +Oracle Open Office Calc : annuities +Oracle Open Office Calc : appearance options +Oracle Open Office Calc : appending sheets +Oracle Open Office Calc : Arabic +Oracle Open Office Calc : Arabic;entering text +Oracle Open Office Calc : Arabic;language settings +Oracle Open Office Calc : ARABIC function +Oracle Open Office Calc : area charts +Oracle Open Office Calc : areas +Oracle Open Office Calc : areas;bitmap patterns +Oracle Open Office Calc : areas;hatched/dotted +Oracle Open Office Calc : areas;shadows +Oracle Open Office Calc : areas;slanting +Oracle Open Office Calc : areas;styles +Oracle Open Office Calc : areas;transparency +Oracle Open Office Calc : AREAS function +Oracle Open Office Calc : areas, see also cell ranges +Oracle Open Office Calc : arguments in command line +Oracle Open Office Calc : arithmetic declining depreciations +Oracle Open Office Calc : arithmetic lists +Oracle Open Office Calc : arithmetic-degressive depreciations +Oracle Open Office Calc : arithmetical operators +Oracle Open Office Calc : arranging +Oracle Open Office Calc : arranging;objects +Oracle Open Office Calc : array formulas +Oracle Open Office Calc : arrows +Oracle Open Office Calc : arrows;defining arrow heads +Oracle Open Office Calc : arrows;defining arrow lines +Oracle Open Office Calc : arrows;drawing in text +Oracle Open Office Calc : ASC function +Oracle Open Office Calc : ASCII +Oracle Open Office Calc : ASCII;definition +Oracle Open Office Calc : Asian languages +Oracle Open Office Calc : Asian languages;enabling +Oracle Open Office Calc : Asian languages;sorting +Oracle Open Office Calc : Asian Phonetic Guide +Oracle Open Office Calc : Asian typography +Oracle Open Office Calc : ASIN function +Oracle Open Office Calc : ASINH function +Oracle Open Office Calc : assigning scripts +Oracle Open Office Calc : assistive technology in Oracle Open Office +Oracle Open Office Calc : ATAN function +Oracle Open Office Calc : ATAN2 function +Oracle Open Office Calc : ATANH function +Oracle Open Office Calc : attaching toolbars +Oracle Open Office Calc : attachments in e-mails +Oracle Open Office Calc : attributes +Oracle Open Office Calc : attributes;cells +Oracle Open Office Calc : audio +Oracle Open Office Calc : auto reloading HTML documents +Oracle Open Office Calc : AutoAbstract function for sending text to presentations +Oracle Open Office Calc : AutoCalculate function in sheets +Oracle Open Office Calc : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Calc : AutoComplete function in text and list boxes +Oracle Open Office Calc : AutoCorrect function +Oracle Open Office Calc : AutoCorrect function;cell contents +Oracle Open Office Calc : AutoCorrect function;context menu +Oracle Open Office Calc : AutoCorrect function;options +Oracle Open Office Calc : AutoCorrect function;pictures and frames +Oracle Open Office Calc : AutoCorrect function;quotes +Oracle Open Office Calc : AutoCorrect function;replacement table +Oracle Open Office Calc : AutoCorrect function;switching on and off in Calc +Oracle Open Office Calc : AutoCorrect function;URL recognition +Oracle Open Office Calc : AutoFill function +Oracle Open Office Calc : AutoFilter function +Oracle Open Office Calc : AutoFilter function;applying +Oracle Open Office Calc : AutoFilter function;subtotals +Oracle Open Office Calc : AutoFormat function +Oracle Open Office Calc : AutoFormat function;defining and applying formats +Oracle Open Office Calc : AutoFormat function;switching on and off +Oracle Open Office Calc : AutoInput function on/off +Oracle Open Office Calc : automatic addressing in tables +Oracle Open Office Calc : automatic captions (Writer) +Oracle Open Office Calc : automatic cell filling +Oracle Open Office Calc : automatic control focus +Oracle Open Office Calc : automatic date updates +Oracle Open Office Calc : automatic formatting in spreadsheets +Oracle Open Office Calc : automatic hyperlink formatting +Oracle Open Office Calc : automatic hyphenation in spreadsheets +Oracle Open Office Calc : automatic line breaks +Oracle Open Office Calc : automatic lines/borders in text +Oracle Open Office Calc : automatic saving +Oracle Open Office Calc : AutoPilots, see wizards +Oracle Open Office Calc : AutoValue (Base) +Oracle Open Office Calc : AVEDEV function +Oracle Open Office Calc : AVERAGE function +Oracle Open Office Calc : AVERAGEA function +Oracle Open Office Calc : averages +Oracle Open Office Calc : averages;in Calc databases +Oracle Open Office Calc : averages;statistical functions +Oracle Open Office Calc : averages in charts +Oracle Open Office Calc : axes +Oracle Open Office Calc : axes;better scaling +Oracle Open Office Calc : axes;formatting +Oracle Open Office Calc : axes;formatting grids +Oracle Open Office Calc : axes;inserting grids +Oracle Open Office Calc : axes;interval marks +Oracle Open Office Calc : axes;showing axes in charts +Oracle Open Office Calc : axes in charts +Oracle Open Office Calc : B function +Oracle Open Office Calc : back-solving +Oracle Open Office Calc : backgrounds +Oracle Open Office Calc : backgrounds;cell ranges +Oracle Open Office Calc : backgrounds;cells and pages +Oracle Open Office Calc : backgrounds;defining colors/pictures +Oracle Open Office Calc : backgrounds;frames/sections/indexes +Oracle Open Office Calc : backgrounds;inserting from Gallery +Oracle Open Office Calc : backgrounds;printing +Oracle Open Office Calc : backing window +Oracle Open Office Calc : backups +Oracle Open Office Calc : backups;automatic +Oracle Open Office Calc : backups;documents +Oracle Open Office Calc : BAHTTEXT function +Oracle Open Office Calc : bar charts +Oracle Open Office Calc : BASE function +Oracle Open Office Calc : base-10 logarithm +Oracle Open Office Calc : Basic +Oracle Open Office Calc : Basic;fonts for source display +Oracle Open Office Calc : Basic;programming +Oracle Open Office Calc : Basic;recording macros +Oracle Open Office Calc : basic fonts +Oracle Open Office Calc : Basic IDE for user-defined functions +Oracle Open Office Calc : Bessel functions +Oracle Open Office Calc : BETADIST function +Oracle Open Office Calc : BETAINV function +Oracle Open Office Calc : Bézier curves +Oracle Open Office Calc : Bézier curves;control points in presentations +Oracle Open Office Calc : bi-directional writing +Oracle Open Office Calc : BIN2DEC function +Oracle Open Office Calc : BIN2HEX function +Oracle Open Office Calc : BIN2OCT function +Oracle Open Office Calc : binary system +Oracle Open Office Calc : binary system;converting to +Oracle Open Office Calc : binding space +Oracle Open Office Calc : BINOMDIST function +Oracle Open Office Calc : bitmaps +Oracle Open Office Calc : bitmaps;inserting and editing +Oracle Open Office Calc : bitmaps;off for faster printing +Oracle Open Office Calc : bitmaps;patterns +Oracle Open Office Calc : black and white printing +Oracle Open Office Calc : black printing in Calc +Oracle Open Office Calc : blank cell contents +Oracle Open Office Calc : block selection mode +Oracle Open Office Calc : bold +Oracle Open Office Calc : bold;AutoFormat function +Oracle Open Office Calc : bold;text +Oracle Open Office Calc : bookmarks +Oracle Open Office Calc : bookmarks;Help +Oracle Open Office Calc : borders +Oracle Open Office Calc : borders;arranging +Oracle Open Office Calc : borders;cells +Oracle Open Office Calc : borders;cells and pages +Oracle Open Office Calc : borders;cells on screen (Calc) +Oracle Open Office Calc : borders;for paragraphs +Oracle Open Office Calc : borders;for tables +Oracle Open Office Calc : borders;printing cells +Oracle Open Office Calc : borders;shadows +Oracle Open Office Calc : borders;table boundaries (Writer) +Oracle Open Office Calc : borders, see also frames +Oracle Open Office Calc : bound fields +Oracle Open Office Calc : bound fields;controls +Oracle Open Office Calc : boundaries of tables (Writer) +Oracle Open Office Calc : break display (Writer) +Oracle Open Office Calc : breaks in cells +Oracle Open Office Calc : brochures +Oracle Open Office Calc : brochures;printing several +Oracle Open Office Calc : bubble charts +Oracle Open Office Calc : build numbers of Oracle Open Office +Oracle Open Office Calc : bullet lists +Oracle Open Office Calc : bullet lists;formatting options +Oracle Open Office Calc : bullets +Oracle Open Office Calc : bullets;paragraphs +Oracle Open Office Calc : bullets;replacing +Oracle Open Office Calc : bullets;turning off +Oracle Open Office Calc : business cards +Oracle Open Office Calc : business cards;creating and synchronizing +Oracle Open Office Calc : business cards;using templates +Oracle Open Office Calc : button bars, see toolbars +Oracle Open Office Calc : buttons +Oracle Open Office Calc : buttons;adding push buttons +Oracle Open Office Calc : buttons;big/small +Oracle Open Office Calc : buttons;editing hyperlink buttons +Oracle Open Office Calc : buttons;form functions +Oracle Open Office Calc : buttons;toolbars +Oracle Open Office Calc : cache for graphics +Oracle Open Office Calc : calculating +Oracle Open Office Calc : calculating;accumulated interests +Oracle Open Office Calc : calculating;annual net interest rates +Oracle Open Office Calc : calculating;annuities +Oracle Open Office Calc : calculating;arithmetic-degressive depreciations +Oracle Open Office Calc : calculating;auto calculating sheets +Oracle Open Office Calc : calculating;averages in Calc databases +Oracle Open Office Calc : calculating;conditional calculations +Oracle Open Office Calc : calculating;constant interest rates +Oracle Open Office Calc : calculating;Data Pilot +Oracle Open Office Calc : calculating;depreciations +Oracle Open Office Calc : calculating;durations +Oracle Open Office Calc : calculating;future values +Oracle Open Office Calc : calculating;geometric-degressive depreciations +Oracle Open Office Calc : calculating;interests for unchanged amortization installments +Oracle Open Office Calc : calculating;internal rates of return, irregular payments +Oracle Open Office Calc : calculating;internal rates of return, regular payments +Oracle Open Office Calc : calculating;iterative references (Calc) +Oracle Open Office Calc : calculating;linear depreciations +Oracle Open Office Calc : calculating;modified internal rates of return +Oracle Open Office Calc : calculating;multiple sheets +Oracle Open Office Calc : calculating;net present values +Oracle Open Office Calc : calculating;nominal interest rates +Oracle Open Office Calc : calculating;number of payment periods +Oracle Open Office Calc : calculating;present values +Oracle Open Office Calc : calculating;rates of return +Oracle Open Office Calc : calculating;regression curves +Oracle Open Office Calc : calculating;rounded off values +Oracle Open Office Calc : calculating;series +Oracle Open Office Calc : calculating;spreadsheets +Oracle Open Office Calc : calculating;sums in Calc databases +Oracle Open Office Calc : calculating;time differences +Oracle Open Office Calc : calculating;total amortizement rates +Oracle Open Office Calc : calculating;variable declining depreciations +Oracle Open Office Calc : calculating;variables in equations +Oracle Open Office Calc : calculating;with formulas +Oracle Open Office Calc : callouts +Oracle Open Office Calc : callouts;drawings +Oracle Open Office Calc : capital letters +Oracle Open Office Calc : capital letters;AutoCorrect function +Oracle Open Office Calc : capital letters;AutoInput function +Oracle Open Office Calc : capital letters;AutoInput function (in cells) +Oracle Open Office Calc : capital letters;font effects +Oracle Open Office Calc : captions +Oracle Open Office Calc : captions;automatic captions (Writer) +Oracle Open Office Calc : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Calc : captions, see also labels/callouts +Oracle Open Office Calc : cascading update (Base) +Oracle Open Office Calc : case sensitivity +Oracle Open Office Calc : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Calc : case sensitivity;searching +Oracle Open Office Calc : categories of functions +Oracle Open Office Calc : CEILING function +Oracle Open Office Calc : cell attributes +Oracle Open Office Calc : cell contents +Oracle Open Office Calc : cell contents;AutoCalculate function +Oracle Open Office Calc : cell contents;deleting +Oracle Open Office Calc : cell contents;no text +Oracle Open Office Calc : cell contents;numbers +Oracle Open Office Calc : cell contents;recalculating +Oracle Open Office Calc : cell contents;searching in Calc databases +Oracle Open Office Calc : cell contents;testing for references +Oracle Open Office Calc : cell contents;text +Oracle Open Office Calc : cell formats +Oracle Open Office Calc : cell formats;assigning by formulas +Oracle Open Office Calc : cell formats;conditional +Oracle Open Office Calc : cell formats;text/numbers +Oracle Open Office Calc : CELL function +Oracle Open Office Calc : cell heights +Oracle Open Office Calc : cell information +Oracle Open Office Calc : cell input +Oracle Open Office Calc : cell input;AutoInput function +Oracle Open Office Calc : cell links search +Oracle Open Office Calc : cell merges +Oracle Open Office Calc : cell names +Oracle Open Office Calc : cell names;defining/addressing +Oracle Open Office Calc : cell protection +Oracle Open Office Calc : cell protection;enabling +Oracle Open Office Calc : cell protection;unprotecting +Oracle Open Office Calc : cell ranges +Oracle Open Office Calc : cell ranges;applying/removing filters +Oracle Open Office Calc : cell ranges;creating names automatically +Oracle Open Office Calc : cell ranges;defining names +Oracle Open Office Calc : cell ranges;inserting named ranges +Oracle Open Office Calc : cell ranges;printing +Oracle Open Office Calc : cell ranges;selecting for data entries +Oracle Open Office Calc : cell references +Oracle Open Office Calc : cell references;showing +Oracle Open Office Calc : cell styles +Oracle Open Office Calc : cell styles;assigning by formulas +Oracle Open Office Calc : cell styles;copying +Oracle Open Office Calc : cell styles;selecting +Oracle Open Office Calc : cell widths +Oracle Open Office Calc : cells +Oracle Open Office Calc : cells;aligning +Oracle Open Office Calc : cells;AutoInput function of text +Oracle Open Office Calc : cells;autorefreshing traces +Oracle Open Office Calc : cells;backgrounds +Oracle Open Office Calc : cells;borders +Oracle Open Office Calc : cells;changing text/number formats +Oracle Open Office Calc : cells;coloring (Calc) +Oracle Open Office Calc : cells;comments +Oracle Open Office Calc : cells;conditional formatting +Oracle Open Office Calc : cells;copying/deleting/formatting/moving +Oracle Open Office Calc : cells;currency formats +Oracle Open Office Calc : cells;cursor positions after input (Calc) +Oracle Open Office Calc : cells;date and time formats +Oracle Open Office Calc : cells;defining input help +Oracle Open Office Calc : cells;defining names +Oracle Open Office Calc : cells;deleting cells +Oracle Open Office Calc : cells;deleting contents +Oracle Open Office Calc : cells;filling automatically +Oracle Open Office Calc : cells;formatting dialog +Oracle Open Office Calc : cells;formatting without effect (Calc) +Oracle Open Office Calc : cells;heights and widths +Oracle Open Office Calc : cells;hiding for printing +Oracle Open Office Calc : cells;inserting +Oracle Open Office Calc : cells;Internet references +Oracle Open Office Calc : cells;invalid data +Oracle Open Office Calc : cells;line breaks +Oracle Open Office Calc : cells;linked to controls +Oracle Open Office Calc : cells;merging/unmerging +Oracle Open Office Calc : cells;moving by drag and drop +Oracle Open Office Calc : cells;number formats +Oracle Open Office Calc : cells;number of +Oracle Open Office Calc : cells;operating in another document +Oracle Open Office Calc : cells;pasting +Oracle Open Office Calc : cells;print ranges +Oracle Open Office Calc : cells;printing grids +Oracle Open Office Calc : cells;protecting +Oracle Open Office Calc : cells;references +Oracle Open Office Calc : cells;referencing by drag and drop +Oracle Open Office Calc : cells;refreshing traces +Oracle Open Office Calc : cells;removing dependents +Oracle Open Office Calc : cells;removing precedents +Oracle Open Office Calc : cells;removing traces +Oracle Open Office Calc : cells;resetting formats +Oracle Open Office Calc : cells;rotating text +Oracle Open Office Calc : cells;selecting +Oracle Open Office Calc : cells;showing grid lines (Calc) +Oracle Open Office Calc : cells;text breaks +Oracle Open Office Calc : cells;text super/sub +Oracle Open Office Calc : cells;trace fill mode +Oracle Open Office Calc : cells;tracing dependents +Oracle Open Office Calc : cells;tracing errors +Oracle Open Office Calc : cells;tracing precedents +Oracle Open Office Calc : cells;validity +Oracle Open Office Calc : centered text +Oracle Open Office Calc : centimeters +Oracle Open Office Calc : certificates +Oracle Open Office Calc : changes +Oracle Open Office Calc : changes;accepting or rejecting +Oracle Open Office Calc : changes;comparing to original +Oracle Open Office Calc : changes;protecting +Oracle Open Office Calc : changes;recording +Oracle Open Office Calc : changes;review function +Oracle Open Office Calc : changes;showing +Oracle Open Office Calc : changing +Oracle Open Office Calc : changing;currency formats +Oracle Open Office Calc : changing;dates, automatically +Oracle Open Office Calc : changing;document titles +Oracle Open Office Calc : changing;file associations in Setup program +Oracle Open Office Calc : changing;icon sizes +Oracle Open Office Calc : changing;input in cells +Oracle Open Office Calc : changing;links +Oracle Open Office Calc : changing;number of decimal places +Oracle Open Office Calc : changing;row heights/column widths +Oracle Open Office Calc : changing;sheet names +Oracle Open Office Calc : changing;sheet protection +Oracle Open Office Calc : changing;table views +Oracle Open Office Calc : changing;work directory +Oracle Open Office Calc : changing, see also editing and replacing +Oracle Open Office Calc : CHAR function +Oracle Open Office Calc : character styles +Oracle Open Office Calc : character styles;language selection +Oracle Open Office Calc : characters +Oracle Open Office Calc : characters;alternative fonts +Oracle Open Office Calc : characters;Asian layout +Oracle Open Office Calc : characters;bold +Oracle Open Office Calc : characters;coloring +Oracle Open Office Calc : characters;displaying only on screen (Writer) +Oracle Open Office Calc : characters;enabling CTL and Asian characters +Oracle Open Office Calc : characters;font effects +Oracle Open Office Calc : characters;fonts and formats +Oracle Open Office Calc : characters;hyperlinks +Oracle Open Office Calc : characters;italics +Oracle Open Office Calc : characters;language selection +Oracle Open Office Calc : characters;shadowed +Oracle Open Office Calc : characters;spacing +Oracle Open Office Calc : characters;special +Oracle Open Office Calc : characters;superscript/subscript +Oracle Open Office Calc : characters;underlining +Oracle Open Office Calc : charcoal sketches filter +Oracle Open Office Calc : chart legends +Oracle Open Office Calc : chart legends;hiding +Oracle Open Office Calc : chart legends;showing icons with labels +Oracle Open Office Calc : chart types +Oracle Open Office Calc : chart types;area +Oracle Open Office Calc : chart types;bubble +Oracle Open Office Calc : chart types;column and bar +Oracle Open Office Calc : chart types;column and line +Oracle Open Office Calc : chart types;line +Oracle Open Office Calc : chart types;net +Oracle Open Office Calc : chart types;pie/donut +Oracle Open Office Calc : chart types;stock +Oracle Open Office Calc : chart types;XY (scatter) +Oracle Open Office Calc : charts +Oracle Open Office Calc : charts;3D views +Oracle Open Office Calc : charts;aligning +Oracle Open Office Calc : charts;arranging within stacks +Oracle Open Office Calc : charts;bars with textures +Oracle Open Office Calc : charts;choosing chart types +Oracle Open Office Calc : charts;colors +Oracle Open Office Calc : charts;copying with link to source cell range +Oracle Open Office Calc : charts;data labels +Oracle Open Office Calc : charts;displaying (Calc) +Oracle Open Office Calc : charts;editing axes +Oracle Open Office Calc : charts;editing data +Oracle Open Office Calc : charts;editing legends +Oracle Open Office Calc : charts;editing titles +Oracle Open Office Calc : charts;formatting areas +Oracle Open Office Calc : charts;formatting floors +Oracle Open Office Calc : charts;formatting walls +Oracle Open Office Calc : charts;inserting +Oracle Open Office Calc : charts;overview +Oracle Open Office Calc : charts;positioning axes +Oracle Open Office Calc : charts;printing +Oracle Open Office Calc : charts;properties +Oracle Open Office Calc : charts;reorganizing +Oracle Open Office Calc : charts;scaling axes +Oracle Open Office Calc : charts;scaling text +Oracle Open Office Calc : charts;shortcuts +Oracle Open Office Calc : charts;showing axes +Oracle Open Office Calc : charts;updating automatically (Writer) +Oracle Open Office Calc : check box creation +Oracle Open Office Calc : chi-square distribution +Oracle Open Office Calc : CHIDIST function +Oracle Open Office Calc : CHIINV function +Oracle Open Office Calc : Chinese writing systems +Oracle Open Office Calc : CHISQDIST function +Oracle Open Office Calc : CHISQINV function +Oracle Open Office Calc : CHITEST function +Oracle Open Office Calc : CHOOSE function +Oracle Open Office Calc : choosing printers +Oracle Open Office Calc : circle drawings +Oracle Open Office Calc : CLEAN function +Oracle Open Office Calc : clearing, see also deleting/removing +Oracle Open Office Calc : Client Side ImageMap +Oracle Open Office Calc : clipboard +Oracle Open Office Calc : clipboard;cutting +Oracle Open Office Calc : clipboard;pasting +Oracle Open Office Calc : clipboard;pasting formatted/unformatted text +Oracle Open Office Calc : clipboard;selection clipboard +Oracle Open Office Calc : clipboard;Unix +Oracle Open Office Calc : closing +Oracle Open Office Calc : closing;documents +Oracle Open Office Calc : closing;toolbars +Oracle Open Office Calc : CODE function +Oracle Open Office Calc : coefficient of correlation +Oracle Open Office Calc : collaboration +Oracle Open Office Calc : color bar +Oracle Open Office Calc : colors +Oracle Open Office Calc : colors;adding +Oracle Open Office Calc : colors;appearance +Oracle Open Office Calc : colors;backgrounds +Oracle Open Office Calc : colors;charts +Oracle Open Office Calc : colors;fill format +Oracle Open Office Calc : colors;fonts +Oracle Open Office Calc : colors;grid lines and cells (Calc) +Oracle Open Office Calc : colors;models +Oracle Open Office Calc : colors;negative numbers +Oracle Open Office Calc : colors;not printing +Oracle Open Office Calc : colors;printing in grayscale +Oracle Open Office Calc : colors;restriction (Calc) +Oracle Open Office Calc : colors;selection +Oracle Open Office Calc : column and line charts +Oracle Open Office Calc : column breaks +Oracle Open Office Calc : column breaks;deleting +Oracle Open Office Calc : column breaks;inserting +Oracle Open Office Calc : column charts +Oracle Open Office Calc : COLUMN function +Oracle Open Office Calc : column headers +Oracle Open Office Calc : column headers;displaying (Calc) +Oracle Open Office Calc : column headers;hiding +Oracle Open Office Calc : column headers;highlighting (Calc) +Oracle Open Office Calc : column headers;using in formulas +Oracle Open Office Calc : column widths +Oracle Open Office Calc : columns +Oracle Open Office Calc : columns;AutoFilter function +Oracle Open Office Calc : columns;deleting +Oracle Open Office Calc : columns;finding labels automatically +Oracle Open Office Calc : columns;freezing +Oracle Open Office Calc : columns;hiding +Oracle Open Office Calc : columns;inserting +Oracle Open Office Calc : columns;moving by drag and drop +Oracle Open Office Calc : columns;optimal widths +Oracle Open Office Calc : columns;repeating when printing +Oracle Open Office Calc : columns;setting with the mouse +Oracle Open Office Calc : columns;swap with rows +Oracle Open Office Calc : columns;widths +Oracle Open Office Calc : COLUMNS function +Oracle Open Office Calc : columns, see also cells +Oracle Open Office Calc : COMBIN function +Oracle Open Office Calc : COMBINA function +Oracle Open Office Calc : combination charts +Oracle Open Office Calc : combining +Oracle Open Office Calc : combining;cell ranges +Oracle Open Office Calc : combo box creation +Oracle Open Office Calc : comma separated files and values +Oracle Open Office Calc : command button creation +Oracle Open Office Calc : command buttons, see push buttons +Oracle Open Office Calc : command line parameters +Oracle Open Office Calc : commands +Oracle Open Office Calc : commands;repeating +Oracle Open Office Calc : commands;SQL +Oracle Open Office Calc : comments +Oracle Open Office Calc : comments;displaying (Calc) +Oracle Open Office Calc : comments;help text for cells +Oracle Open Office Calc : comments;inserting/editing/deleting/printing +Oracle Open Office Calc : comments;on cells +Oracle Open Office Calc : comments;on cells - Inserting and Editing Comments +Oracle Open Office Calc : comments;on changes +Oracle Open Office Calc : comments;printing +Oracle Open Office Calc : comments;printing in text +Oracle Open Office Calc : common terms +Oracle Open Office Calc : common terms;Chinese dictionary +Oracle Open Office Calc : common terms;glossaries +Oracle Open Office Calc : common terms;Internet glossary +Oracle Open Office Calc : comparisons +Oracle Open Office Calc : comparisons;document versions +Oracle Open Office Calc : comparisons;operators in Calc +Oracle Open Office Calc : comparisons;operators in default filter dialog +Oracle Open Office Calc : compatibility settings for MS Word import +Oracle Open Office Calc : complete screen view +Oracle Open Office Calc : COMPLEX function +Oracle Open Office Calc : complex numbers in analysis functions +Oracle Open Office Calc : complex text layout +Oracle Open Office Calc : complex text layout;definition +Oracle Open Office Calc : complex text layout;enabling +Oracle Open Office Calc : complex text layout, see CTL +Oracle Open Office Calc : compose key to insert special characters +Oracle Open Office Calc : CONCATENATE function +Oracle Open Office Calc : concatenation, see ampersand symbol +Oracle Open Office Calc : conditional calculations with arrays +Oracle Open Office Calc : conditional formatting +Oracle Open Office Calc : conditional formatting;cells +Oracle Open Office Calc : conditional formatting;conditions +Oracle Open Office Calc : conditional separators +Oracle Open Office Calc : conditions +Oracle Open Office Calc : conditions;in number formats +Oracle Open Office Calc : conditions;items in Data Navigator +Oracle Open Office Calc : CONFIDENCE function +Oracle Open Office Calc : Configuration Manager +Oracle Open Office Calc : configuring +Oracle Open Office Calc : configuring;fax icon +Oracle Open Office Calc : configuring;Oracle Open Office +Oracle Open Office Calc : configuring;toolbars +Oracle Open Office Calc : connections to data sources (Base) +Oracle Open Office Calc : consolidating data +Oracle Open Office Calc : constant interest rates +Oracle Open Office Calc : constants definition +Oracle Open Office Calc : contents protection +Oracle Open Office Calc : context menus +Oracle Open Office Calc : control point display in presentations +Oracle Open Office Calc : controls +Oracle Open Office Calc : controls;activating in forms +Oracle Open Office Calc : controls;adding to documents +Oracle Open Office Calc : controls;arranging in forms +Oracle Open Office Calc : controls;arranging within stacks +Oracle Open Office Calc : controls;assigning data sources +Oracle Open Office Calc : controls;assigning macros (Basic) +Oracle Open Office Calc : controls;bound fields/list contents/linked cells +Oracle Open Office Calc : controls;events +Oracle Open Office Calc : controls;focus +Oracle Open Office Calc : controls;formatted fields +Oracle Open Office Calc : controls;grouping +Oracle Open Office Calc : controls;hidden +Oracle Open Office Calc : controls;inserting +Oracle Open Office Calc : controls;multi-line titles +Oracle Open Office Calc : controls;positions and sizes +Oracle Open Office Calc : controls;printing +Oracle Open Office Calc : controls;properties of form controls +Oracle Open Office Calc : controls;properties of table controls +Oracle Open Office Calc : controls;reference by SQL +Oracle Open Office Calc : controls;rich text control +Oracle Open Office Calc : controls;select mode +Oracle Open Office Calc : controls;showing (Writer) +Oracle Open Office Calc : CONVERT function +Oracle Open Office Calc : CONVERT_ADD function +Oracle Open Office Calc : converters +Oracle Open Office Calc : converters;Euro converter +Oracle Open Office Calc : converters;PostScript, UNIX +Oracle Open Office Calc : converters;XML +Oracle Open Office Calc : converting +Oracle Open Office Calc : converting;binary numbers, into decimal numbers +Oracle Open Office Calc : converting;binary numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;binary numbers, into octal numbers +Oracle Open Office Calc : converting;decimal fractions, into decimal numbers +Oracle Open Office Calc : converting;decimal fractions, into mixed decimal fractions +Oracle Open Office Calc : converting;decimal numbers, into binary numbers +Oracle Open Office Calc : converting;decimal numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;decimal numbers, into octal numbers +Oracle Open Office Calc : converting;degrees, into radians +Oracle Open Office Calc : converting;Hangul/Hanja +Oracle Open Office Calc : converting;hexadecimal numbers, into binary numbers +Oracle Open Office Calc : converting;hexadecimal numbers, into decimal numbers +Oracle Open Office Calc : converting;hexadecimal numbers, into octal numbers +Oracle Open Office Calc : converting;metrics +Oracle Open Office Calc : converting;Microsoft documents +Oracle Open Office Calc : converting;octal numbers, into binary numbers +Oracle Open Office Calc : converting;octal numbers, into decimal numbers +Oracle Open Office Calc : converting;octal numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;Oracle Open Office documents +Oracle Open Office Calc : converting;Pocket PC formats +Oracle Open Office Calc : converting;radians, into degrees +Oracle Open Office Calc : converting;random variables, into normalized values +Oracle Open Office Calc : converting;text to numbers +Oracle Open Office Calc : copies +Oracle Open Office Calc : copies;printing +Oracle Open Office Calc : copying +Oracle Open Office Calc : copying;array formulas +Oracle Open Office Calc : copying;by drag and drop +Oracle Open Office Calc : copying;cell styles +Oracle Open Office Calc : copying;data from text documents +Oracle Open Office Calc : copying;datasource records in spreadsheets +Oracle Open Office Calc : copying;draw objects +Oracle Open Office Calc : copying;draw objects between documents +Oracle Open Office Calc : copying;formatting +Oracle Open Office Calc : copying;formulas +Oracle Open Office Calc : copying;from data source view +Oracle Open Office Calc : copying;from Gallery +Oracle Open Office Calc : copying;in Unix +Oracle Open Office Calc : copying;pictures, between documents +Oracle Open Office Calc : copying;sheet areas, to text documents +Oracle Open Office Calc : copying;spreadsheets +Oracle Open Office Calc : copying;to Gallery +Oracle Open Office Calc : copying;values, to multiple sheets +Oracle Open Office Calc : copying;visible cells only +Oracle Open Office Calc : copyright for Oracle Open Office +Oracle Open Office Calc : corner roundings +Oracle Open Office Calc : correcting sheets automatically +Oracle Open Office Calc : CORREL function +Oracle Open Office Calc : COS function +Oracle Open Office Calc : COSH function +Oracle Open Office Calc : COT function +Oracle Open Office Calc : COTH function +Oracle Open Office Calc : COUNT function +Oracle Open Office Calc : COUNTA function +Oracle Open Office Calc : COUNTBLANK function +Oracle Open Office Calc : COUNTIF function +Oracle Open Office Calc : counting +Oracle Open Office Calc : counting;empty cells +Oracle Open Office Calc : counting;specified cells +Oracle Open Office Calc : counting rows +Oracle Open Office Calc : counting rows;with numeric or alphanumeric values +Oracle Open Office Calc : counting rows;with numeric values +Oracle Open Office Calc : COUPDAYBS function +Oracle Open Office Calc : COUPDAYS function +Oracle Open Office Calc : COUPDAYSNC function +Oracle Open Office Calc : COUPNCD function +Oracle Open Office Calc : COUPNUM function +Oracle Open Office Calc : COUPPCD function +Oracle Open Office Calc : COVAR function +Oracle Open Office Calc : crash reports +Oracle Open Office Calc : CRITBINOM function +Oracle Open Office Calc : criteria of query design (Base) +Oracle Open Office Calc : cropping pictures +Oracle Open Office Calc : cross-classified tables +Oracle Open Office Calc : csv files +Oracle Open Office Calc : csv files;formulas +Oracle Open Office Calc : csv files;importing and exporting +Oracle Open Office Calc : CTL +Oracle Open Office Calc : CTL;(not) wrapping words +Oracle Open Office Calc : CTL;complex text layout languages +Oracle Open Office Calc : CTL;definition +Oracle Open Office Calc : CTL;options +Oracle Open Office Calc : CTL;right-to-left sheets +Oracle Open Office Calc : CUMIPMT function +Oracle Open Office Calc : CUMIPMT_ADD function +Oracle Open Office Calc : CUMPRINC function +Oracle Open Office Calc : CUMPRINC_ADD function +Oracle Open Office Calc : cumulative lognormal distribution +Oracle Open Office Calc : cumulative probability density function +Oracle Open Office Calc : cumulative probability density function;calculating +Oracle Open Office Calc : cumulative probability density function;inverse of +Oracle Open Office Calc : currencies +Oracle Open Office Calc : currencies;converters +Oracle Open Office Calc : currencies;default currencies +Oracle Open Office Calc : currencies;format codes +Oracle Open Office Calc : currencies;formats +Oracle Open Office Calc : currency field creation +Oracle Open Office Calc : currency formats +Oracle Open Office Calc : currency formats +Oracle Open Office Calc : currency formats;spreadsheets +Oracle Open Office Calc : current date and time values +Oracle Open Office Calc : CURRENT function +Oracle Open Office Calc : cursor +Oracle Open Office Calc : cursor;allowing in protected areas (Writer) +Oracle Open Office Calc : cursor;in read-only text +Oracle Open Office Calc : cursor;quickly moving to an object +Oracle Open Office Calc : curves +Oracle Open Office Calc : curves;editing points +Oracle Open Office Calc : curves;properties in line charts/XY charts +Oracle Open Office Calc : custom dictionaries +Oracle Open Office Calc : custom dictionaries;editing +Oracle Open Office Calc : custom hyphens (Writer) +Oracle Open Office Calc : custom quotes +Oracle Open Office Calc : custom templates +Oracle Open Office Calc : customized lists +Oracle Open Office Calc : customizing +Oracle Open Office Calc : customizing;events +Oracle Open Office Calc : customizing;keyboard +Oracle Open Office Calc : customizing;menus +Oracle Open Office Calc : customizing;Oracle Open Office +Oracle Open Office Calc : customizing;round corners +Oracle Open Office Calc : customizing;toolbars +Oracle Open Office Calc : cutting +Oracle Open Office Calc : dashes +Oracle Open Office Calc : data +Oracle Open Office Calc : data;filtering in forms +Oracle Open Office Calc : data;forms and subforms +Oracle Open Office Calc : data;inserting in multiple sheets +Oracle Open Office Calc : data;merging cell ranges +Oracle Open Office Calc : data;read-only +Oracle Open Office Calc : data;showing invalid data +Oracle Open Office Calc : data;sorting in databases +Oracle Open Office Calc : data;sorting in forms +Oracle Open Office Calc : data;user data +Oracle Open Office Calc : data;validity check +Oracle Open Office Calc : data binding change in XForms +Oracle Open Office Calc : data field options for Data Pilot +Oracle Open Office Calc : data labels in charts +Oracle Open Office Calc : Data Navigator +Oracle Open Office Calc : Data Navigator;adding/editing items +Oracle Open Office Calc : Data Navigator;display options +Oracle Open Office Calc : data ranges in charts +Oracle Open Office Calc : data series +Oracle Open Office Calc : data series import +Oracle Open Office Calc : data source browser +Oracle Open Office Calc : data source explorer +Oracle Open Office Calc : data source view +Oracle Open Office Calc : data source view;drag and drop +Oracle Open Office Calc : data source view;overview +Oracle Open Office Calc : data source view;showing +Oracle Open Office Calc : data sources +Oracle Open Office Calc : data sources;as tables +Oracle Open Office Calc : data sources;connection settings (Base) +Oracle Open Office Calc : data sources;copying records to spreadsheets +Oracle Open Office Calc : data sources;displaying current +Oracle Open Office Calc : data sources;external data +Oracle Open Office Calc : data sources;LDAP server (Base) +Oracle Open Office Calc : data sources;Oracle Open Office Base +Oracle Open Office Calc : data sources;registering address books +Oracle Open Office Calc : data sources;reports +Oracle Open Office Calc : data sources;setting for stock charts +Oracle Open Office Calc : data sources;viewing +Oracle Open Office Calc : data structure of XForms +Oracle Open Office Calc : data tables +Oracle Open Office Calc : data tables;multiple operations in +Oracle Open Office Calc : data validity +Oracle Open Office Calc : data values in charts +Oracle Open Office Calc : data, see also values +Oracle Open Office Calc : database contents +Oracle Open Office Calc : database contents;inserting as tables +Oracle Open Office Calc : database contents;inserting as text +Oracle Open Office Calc : database ranges +Oracle Open Office Calc : database ranges;advanced filters +Oracle Open Office Calc : database ranges;applying/removing filters +Oracle Open Office Calc : database ranges;AutoFilter function +Oracle Open Office Calc : database ranges;defining +Oracle Open Office Calc : database ranges;hiding AutoFilter +Oracle Open Office Calc : database ranges;refreshing +Oracle Open Office Calc : database ranges;sorting +Oracle Open Office Calc : database reports +Oracle Open Office Calc : Database Wizard (Base) +Oracle Open Office Calc : databases +Oracle Open Office Calc : databases;administration through SQL (Base) +Oracle Open Office Calc : databases;ADO (Base) +Oracle Open Office Calc : databases;connecting (Base) +Oracle Open Office Calc : databases;creating +Oracle Open Office Calc : databases;creating labels +Oracle Open Office Calc : databases;creating queries +Oracle Open Office Calc : databases;creating reports +Oracle Open Office Calc : databases;creating tables +Oracle Open Office Calc : databases;deleting (Base) +Oracle Open Office Calc : databases;drag and drop (Base) +Oracle Open Office Calc : databases;editing tables +Oracle Open Office Calc : databases;form filters +Oracle Open Office Calc : databases;formats (Base) +Oracle Open Office Calc : databases;functions in Oracle Open Office Calc +Oracle Open Office Calc : databases;importing/exporting +Oracle Open Office Calc : databases;JDBC (Base) +Oracle Open Office Calc : databases;main page (Base) +Oracle Open Office Calc : databases;ODBC (Base) +Oracle Open Office Calc : databases;overview +Oracle Open Office Calc : databases;registering (Base) +Oracle Open Office Calc : databases;searching records +Oracle Open Office Calc : databases;selecting (Calc) +Oracle Open Office Calc : databases;shortcut keys +Oracle Open Office Calc : databases;sorting +Oracle Open Office Calc : databases;standard filters +Oracle Open Office Calc : databases;text formats +Oracle Open Office Calc : databases;viewing +Oracle Open Office Calc : DataPilot function +Oracle Open Office Calc : DataPilot function;calling up and applying +Oracle Open Office Calc : DataPilot function;deleting tables +Oracle Open Office Calc : DataPilot function;drill down +Oracle Open Office Calc : DataPilot function;editing tables +Oracle Open Office Calc : DataPilot function;filtering tables +Oracle Open Office Calc : DataPilot function;grouping table entries +Oracle Open Office Calc : DataPilot function;introduction +Oracle Open Office Calc : DataPilot function;preventing data overwriting +Oracle Open Office Calc : DataPilot function;refreshing tables +Oracle Open Office Calc : DataPilot function;show details +Oracle Open Office Calc : DataPilot tables +Oracle Open Office Calc : date and time functions +Oracle Open Office Calc : date fields +Oracle Open Office Calc : date fields;creating +Oracle Open Office Calc : date fields;properties +Oracle Open Office Calc : date formats +Oracle Open Office Calc : date formats;avoiding conversion to +Oracle Open Office Calc : date formats +Oracle Open Office Calc : DATE function +Oracle Open Office Calc : date series +Oracle Open Office Calc : dates +Oracle Open Office Calc : dates;19xx/20xx +Oracle Open Office Calc : dates;default (Calc) +Oracle Open Office Calc : dates;in cells +Oracle Open Office Calc : dates;interest date prior to settlement date +Oracle Open Office Calc : dates;printing in presentations +Oracle Open Office Calc : dates;start 1900/01/01 (Calc) +Oracle Open Office Calc : dates;start 1904/01/01 (Calc) +Oracle Open Office Calc : dates;updating automatically +Oracle Open Office Calc : DATEVALUE function +Oracle Open Office Calc : DAVERAGE function +Oracle Open Office Calc : DAY function +Oracle Open Office Calc : DAYS function +Oracle Open Office Calc : DAYS360 function +Oracle Open Office Calc : DAYSINMONTH function +Oracle Open Office Calc : DAYSINYEAR function +Oracle Open Office Calc : DB function +Oracle Open Office Calc : dBASE +Oracle Open Office Calc : dBASE;database settings (Base) +Oracle Open Office Calc : dBASE import/export +Oracle Open Office Calc : DCOUNT function +Oracle Open Office Calc : DCOUNTA function +Oracle Open Office Calc : DDB function +Oracle Open Office Calc : DDE +Oracle Open Office Calc : DDE;definition +Oracle Open Office Calc : DDE function +Oracle Open Office Calc : deactivating +Oracle Open Office Calc : deactivating;automatic changes +Oracle Open Office Calc : deactivating;plug-ins +Oracle Open Office Calc : DEC2BIN function +Oracle Open Office Calc : DEC2HEX function +Oracle Open Office Calc : DEC2OCT function +Oracle Open Office Calc : DECIMAL function +Oracle Open Office Calc : decimal places +Oracle Open Office Calc : decimal places;adding/deleting +Oracle Open Office Calc : decimal places;cutting off +Oracle Open Office Calc : decimal places;formatting numbers +Oracle Open Office Calc : decimal places;showing +Oracle Open Office Calc : decimal places displayed (Calc) +Oracle Open Office Calc : decimal separator key +Oracle Open Office Calc : decimal system +Oracle Open Office Calc : decimal system;converting to +Oracle Open Office Calc : decimal tab stops +Oracle Open Office Calc : default directories +Oracle Open Office Calc : default filters +Oracle Open Office Calc : default filters;comparison operators +Oracle Open Office Calc : default filters;databases +Oracle Open Office Calc : default printer +Oracle Open Office Calc : default printer;setting up +Oracle Open Office Calc : default printer;UNIX +Oracle Open Office Calc : default templates +Oracle Open Office Calc : default templates;changing +Oracle Open Office Calc : default templates;organizing +Oracle Open Office Calc : defaults +Oracle Open Office Calc : defaults;currency formats +Oracle Open Office Calc : defaults;documents +Oracle Open Office Calc : defaults;file formats in file dialogs +Oracle Open Office Calc : defaults;file formats in Oracle Open Office +Oracle Open Office Calc : defaults;fonts +Oracle Open Office Calc : defaults;grids (Writer/Calc) +Oracle Open Office Calc : defaults;languages +Oracle Open Office Calc : defaults;number formats +Oracle Open Office Calc : defaults;number formats in spreadsheets +Oracle Open Office Calc : defaults;of saving +Oracle Open Office Calc : defaults;program configuration +Oracle Open Office Calc : defaults;tab stops in text +Oracle Open Office Calc : defaults;views +Oracle Open Office Calc : defining +Oracle Open Office Calc : defining;advanced filters +Oracle Open Office Calc : defining;arrowheads and other line ends +Oracle Open Office Calc : defining;AutoFormat function for tables +Oracle Open Office Calc : defining;colors +Oracle Open Office Calc : defining;database ranges +Oracle Open Office Calc : defining;line styles +Oracle Open Office Calc : defining;names for cell ranges +Oracle Open Office Calc : defining;paragraph borders +Oracle Open Office Calc : defining;print ranges +Oracle Open Office Calc : defining;queries (Base) +Oracle Open Office Calc : defining;sort lists +Oracle Open Office Calc : defining;table borders +Oracle Open Office Calc : DEGREES function +Oracle Open Office Calc : deleting +Oracle Open Office Calc : deleting;all direct formatting +Oracle Open Office Calc : deleting;cell contents +Oracle Open Office Calc : deleting;cells/rows/columns +Oracle Open Office Calc : deleting;comments +Oracle Open Office Calc : deleting;databases (Base) +Oracle Open Office Calc : deleting;DataPilot tables +Oracle Open Office Calc : deleting;decimal places +Oracle Open Office Calc : deleting;hyperlinks +Oracle Open Office Calc : deleting;lines in text +Oracle Open Office Calc : deleting;manual column breaks +Oracle Open Office Calc : deleting;manual row breaks +Oracle Open Office Calc : deleting;models/instances +Oracle Open Office Calc : deleting;namespaces in XForms +Oracle Open Office Calc : deleting;print ranges +Oracle Open Office Calc : deleting;spreadsheets +Oracle Open Office Calc : deleting;tab stops +Oracle Open Office Calc : deleting;templates +Oracle Open Office Calc : deleting;visible cells only +Oracle Open Office Calc : deleting;XML filters +Oracle Open Office Calc : delimited values and files +Oracle Open Office Calc : DELTA function +Oracle Open Office Calc : density function +Oracle Open Office Calc : depreciations +Oracle Open Office Calc : depreciations;arithmetic declining +Oracle Open Office Calc : depreciations;arithmetic-degressive +Oracle Open Office Calc : depreciations;degressive amortizations +Oracle Open Office Calc : depreciations;geometric-degressive +Oracle Open Office Calc : depreciations;linear +Oracle Open Office Calc : depreciations;linear amortizations +Oracle Open Office Calc : depreciations;variable declining +Oracle Open Office Calc : depth stagger +Oracle Open Office Calc : descriptions for objects +Oracle Open Office Calc : design mode after saving +Oracle Open Office Calc : design view +Oracle Open Office Calc : design view;creating forms +Oracle Open Office Calc : design view;queries/views (Base) +Oracle Open Office Calc : designing +Oracle Open Office Calc : designing;database tables +Oracle Open Office Calc : designing;fonts +Oracle Open Office Calc : designing;queries (Base) +Oracle Open Office Calc : detaching toolbars +Oracle Open Office Calc : determinants +Oracle Open Office Calc : determination coefficients +Oracle Open Office Calc : DEVSQ function +Oracle Open Office Calc : DGET function +Oracle Open Office Calc : dictionaries +Oracle Open Office Calc : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Calc : dictionaries;creating +Oracle Open Office Calc : dictionaries;editing user-defined +Oracle Open Office Calc : dictionaries;spellcheck +Oracle Open Office Calc : dictionaries, see also languages +Oracle Open Office Calc : digital signatures +Oracle Open Office Calc : digital signatures;getting/managing/applying +Oracle Open Office Calc : digital signatures;overview +Oracle Open Office Calc : digital signatures;WebDAV over HTTPS +Oracle Open Office Calc : direct formatting +Oracle Open Office Calc : direct formatting;undoing all +Oracle Open Office Calc : directories +Oracle Open Office Calc : directories;creating new +Oracle Open Office Calc : directories;directory structure +Oracle Open Office Calc : disabled persons +Oracle Open Office Calc : DISC function +Oracle Open Office Calc : discounts +Oracle Open Office Calc : display options in Data Pilot +Oracle Open Office Calc : displaying +Oracle Open Office Calc : displaying;comments (Calc) +Oracle Open Office Calc : displaying;comments in text documents +Oracle Open Office Calc : displaying;formulas at any position +Oracle Open Office Calc : displaying;formulas instead of results +Oracle Open Office Calc : displaying;headers of columns/rows +Oracle Open Office Calc : displaying;non-printing characters (Writer) +Oracle Open Office Calc : displaying;pictures and objects (Writer) +Oracle Open Office Calc : displaying;scenario names +Oracle Open Office Calc : displaying;sheets +Oracle Open Office Calc : displaying;tables (Writer) +Oracle Open Office Calc : displaying;zero values (Calc) +Oracle Open Office Calc : distances +Oracle Open Office Calc : distinct values in SQL queries +Oracle Open Office Calc : distorting in drawings +Oracle Open Office Calc : distributing XML filters +Oracle Open Office Calc : division sign, see also operators +Oracle Open Office Calc : divisions +Oracle Open Office Calc : DMAX function +Oracle Open Office Calc : DMIN function +Oracle Open Office Calc : docking +Oracle Open Office Calc : docking;definition +Oracle Open Office Calc : docking;toolbars +Oracle Open Office Calc : docking;windows +Oracle Open Office Calc : Document Converter Wizard +Oracle Open Office Calc : Document Map, see Navigator +Oracle Open Office Calc : document types in Oracle Open Office +Oracle Open Office Calc : documents +Oracle Open Office Calc : documents;changing titles +Oracle Open Office Calc : documents;closing +Oracle Open Office Calc : documents;comparing +Oracle Open Office Calc : documents;contents as lists +Oracle Open Office Calc : documents;editing time +Oracle Open Office Calc : documents;exporting +Oracle Open Office Calc : documents;importing +Oracle Open Office Calc : documents;languages +Oracle Open Office Calc : documents;measurement units in +Oracle Open Office Calc : documents;merging +Oracle Open Office Calc : documents;number of pages/tables/sheets +Oracle Open Office Calc : documents;opening +Oracle Open Office Calc : documents;opening in design mode +Oracle Open Office Calc : documents;opening with templates +Oracle Open Office Calc : documents;organizing +Oracle Open Office Calc : documents;printing +Oracle Open Office Calc : documents;protecting +Oracle Open Office Calc : documents;read-only +Oracle Open Office Calc : documents;references +Oracle Open Office Calc : documents;reloading +Oracle Open Office Calc : documents;saving +Oracle Open Office Calc : documents;saving automatically +Oracle Open Office Calc : documents;saving in other formats +Oracle Open Office Calc : documents;sending as e-mail +Oracle Open Office Calc : documents;styles changed +Oracle Open Office Calc : documents;version management +Oracle Open Office Calc : documents;version numbers +Oracle Open Office Calc : DOLLAR function +Oracle Open Office Calc : DOLLARDE function +Oracle Open Office Calc : DOLLARFR function +Oracle Open Office Calc : donut charts +Oracle Open Office Calc : dot products +Oracle Open Office Calc : dotted areas +Oracle Open Office Calc : double-line spacing in paragraphs +Oracle Open Office Calc : double-line writing in Asian layout +Oracle Open Office Calc : DPRODUCT function +Oracle Open Office Calc : drag and drop +Oracle Open Office Calc : drag and drop;copying and pasting text +Oracle Open Office Calc : drag and drop;data source view +Oracle Open Office Calc : drag and drop;from Gallery to draw objects +Oracle Open Office Calc : drag and drop;moving cells +Oracle Open Office Calc : drag and drop;overview +Oracle Open Office Calc : drag and drop;pictures +Oracle Open Office Calc : drag and drop;referencing cells +Oracle Open Office Calc : drag and drop;to Gallery +Oracle Open Office Calc : draw objects +Oracle Open Office Calc : draw objects;adding/editing/copying +Oracle Open Office Calc : draw objects;anchoring +Oracle Open Office Calc : draw objects;arranging within stacks +Oracle Open Office Calc : draw objects;copying between documents +Oracle Open Office Calc : draw objects;displaying (Calc) +Oracle Open Office Calc : draw objects;dropping Gallery pictures +Oracle Open Office Calc : draw objects;flipping +Oracle Open Office Calc : draw objects;legends +Oracle Open Office Calc : draw objects;positioning and resizing +Oracle Open Office Calc : draw objects;printing +Oracle Open Office Calc : draw objects;protecting +Oracle Open Office Calc : draw objects;slanting +Oracle Open Office Calc : draw objects;text in +Oracle Open Office Calc : Drawing bar +Oracle Open Office Calc : drawing lines in text +Oracle Open Office Calc : drawings +Oracle Open Office Calc : drawings;creating/opening +Oracle Open Office Calc : drawings;languages +Oracle Open Office Calc : drawings;printing +Oracle Open Office Calc : drawings;printing defaults +Oracle Open Office Calc : drawings;printing in text documents +Oracle Open Office Calc : drawings;saving +Oracle Open Office Calc : drawings;saving automatically +Oracle Open Office Calc : drawings;saving in other formats +Oracle Open Office Calc : drawings;sending as e-mail +Oracle Open Office Calc : drawings;showing (Writer) +Oracle Open Office Calc : drawings, see also draw objects +Oracle Open Office Calc : drop-down lists in form functions +Oracle Open Office Calc : drop-down menus in sheet columns +Oracle Open Office Calc : DSTDEV function +Oracle Open Office Calc : DSTDEVP function +Oracle Open Office Calc : DSUM function +Oracle Open Office Calc : DURATION function +Oracle Open Office Calc : DURATION_ADD function +Oracle Open Office Calc : durations +Oracle Open Office Calc : durations;calculating +Oracle Open Office Calc : durations;first interest payment until settlement date +Oracle Open Office Calc : durations;fixed interest securities +Oracle Open Office Calc : DVAR function +Oracle Open Office Calc : DVARP function +Oracle Open Office Calc : e-mail attachments +Oracle Open Office Calc : EASTERSUNDAY function +Oracle Open Office Calc : EDATE function +Oracle Open Office Calc : Edit File icon +Oracle Open Office Calc : edit mode +Oracle Open Office Calc : edit mode;after opening +Oracle Open Office Calc : edit mode;through Enter key (Calc) +Oracle Open Office Calc : Edit Points bar +Oracle Open Office Calc : editing +Oracle Open Office Calc : editing;array formulas +Oracle Open Office Calc : editing;chart axes +Oracle Open Office Calc : editing;chart data +Oracle Open Office Calc : editing;chart legends +Oracle Open Office Calc : editing;chart titles +Oracle Open Office Calc : editing;comments +Oracle Open Office Calc : editing;data binding of XForms +Oracle Open Office Calc : editing;database tables and queries +Oracle Open Office Calc : editing;DataPilot tables +Oracle Open Office Calc : editing;draw objects +Oracle Open Office Calc : editing;Fontwork objects +Oracle Open Office Calc : editing;hyperlinks +Oracle Open Office Calc : editing;menus +Oracle Open Office Calc : editing;objects +Oracle Open Office Calc : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Calc : editing;pictures +Oracle Open Office Calc : editing;print ranges +Oracle Open Office Calc : editing;reports +Oracle Open Office Calc : editing;shortcut keys +Oracle Open Office Calc : editing;tab stops +Oracle Open Office Calc : editing;templates +Oracle Open Office Calc : editing;titles +Oracle Open Office Calc : editing;toolbars +Oracle Open Office Calc : editing;undoing +Oracle Open Office Calc : editing;XForms +Oracle Open Office Calc : editing time of documents +Oracle Open Office Calc : editors +Oracle Open Office Calc : editors;formula editor +Oracle Open Office Calc : editors;ImageMap editor +Oracle Open Office Calc : EFFECT_ADD function +Oracle Open Office Calc : EFFECTIVE function +Oracle Open Office Calc : effective interest rates +Oracle Open Office Calc : effects +Oracle Open Office Calc : effects;font positions +Oracle Open Office Calc : effects;fonts +Oracle Open Office Calc : effects;Fontwork icons +Oracle Open Office Calc : empty cells +Oracle Open Office Calc : empty cells;counting +Oracle Open Office Calc : empty cells;handling of +Oracle Open Office Calc : empty cells;recognizing +Oracle Open Office Calc : empty documents +Oracle Open Office Calc : empty paragraph removal +Oracle Open Office Calc : encrypting text +Oracle Open Office Calc : encryption of contents +Oracle Open Office Calc : entering entries with AutoInput function +Oracle Open Office Calc : entering groups +Oracle Open Office Calc : entering text from right to left +Oracle Open Office Calc : EOMONTH function +Oracle Open Office Calc : equal sign, see also operators +Oracle Open Office Calc : equations in formula editor +Oracle Open Office Calc : equations in goal seek +Oracle Open Office Calc : ERF function +Oracle Open Office Calc : ERFC function +Oracle Open Office Calc : error bars in charts +Oracle Open Office Calc : error codes +Oracle Open Office Calc : error codes;controlling +Oracle Open Office Calc : error codes;list of +Oracle Open Office Calc : error indicators in charts +Oracle Open Office Calc : error messages +Oracle Open Office Calc : error messages;defining for incorrect input +Oracle Open Office Calc : error messages;invalid references +Oracle Open Office Calc : Error Report Tool +Oracle Open Office Calc : error tracing +Oracle Open Office Calc : ERRORTYPE function +Oracle Open Office Calc : Euro +Oracle Open Office Calc : Euro;converting +Oracle Open Office Calc : Euro;currency formats +Oracle Open Office Calc : Euro;Euro Converter Wizard +Oracle Open Office Calc : EUROCONVERT function +Oracle Open Office Calc : EVEN function +Oracle Open Office Calc : even integers +Oracle Open Office Calc : even/odd pages +Oracle Open Office Calc : even/odd pages;printing +Oracle Open Office Calc : events +Oracle Open Office Calc : events;assigning scripts +Oracle Open Office Calc : events;controls +Oracle Open Office Calc : events;customizing +Oracle Open Office Calc : events;in forms +Oracle Open Office Calc : EXACT function +Oracle Open Office Calc : exact numbers in Oracle Open Office Calc +Oracle Open Office Calc : examples +Oracle Open Office Calc : examples;formula calculation +Oracle Open Office Calc : examples;goal seek +Oracle Open Office Calc : Excel +Oracle Open Office Calc : Excel;saving as +Oracle Open Office Calc : Excel;search criteria +Oracle Open Office Calc : exceptions +Oracle Open Office Calc : exceptions;user-defined dictionaries +Oracle Open Office Calc : exchanging, see also replacing +Oracle Open Office Calc : executing SQL commands +Oracle Open Office Calc : exiting +Oracle Open Office Calc : exiting;groups +Oracle Open Office Calc : exiting;Oracle Open Office +Oracle Open Office Calc : EXP function +Oracle Open Office Calc : expanding formatting (Calc) +Oracle Open Office Calc : explorer of data sources +Oracle Open Office Calc : EXPONDIST function +Oracle Open Office Calc : exponential distributions +Oracle Open Office Calc : exponential trends in arrays +Oracle Open Office Calc : export filters +Oracle Open Office Calc : exporting +Oracle Open Office Calc : exporting;bitmaps +Oracle Open Office Calc : exporting;cells +Oracle Open Office Calc : exporting;formulas as csv files +Oracle Open Office Calc : exporting;HTML and text documents +Oracle Open Office Calc : exporting;Microsoft Office documents with VBA code +Oracle Open Office Calc : exporting;spreadsheets to dBASE +Oracle Open Office Calc : exporting;spreadsheets to text format +Oracle Open Office Calc : exporting;tables as text +Oracle Open Office Calc : exporting;templates +Oracle Open Office Calc : exporting;to foreign formats +Oracle Open Office Calc : exporting;to HTML +Oracle Open Office Calc : exporting;to Microsoft Office formats +Oracle Open Office Calc : exporting;to PDF +Oracle Open Office Calc : exporting;to PostScript format +Oracle Open Office Calc : exporting;to XML +Oracle Open Office Calc : exporting;XML files +Oracle Open Office Calc : extended tips in Help +Oracle Open Office Calc : extending print ranges +Oracle Open Office Calc : extension mode in text +Oracle Open Office Calc : extensions +Oracle Open Office Calc : extensions;Extension Manager +Oracle Open Office Calc : extensions;file formats +Oracle Open Office Calc : external data +Oracle Open Office Calc : external data;inserting +Oracle Open Office Calc : external DLL functions +Oracle Open Office Calc : external keys (Base) +Oracle Open Office Calc : extrapolations +Oracle Open Office Calc : FACT function +Oracle Open Office Calc : FACTDOUBLE function +Oracle Open Office Calc : factorials +Oracle Open Office Calc : factorials;numbers +Oracle Open Office Calc : factorials;numbers with increments of two +Oracle Open Office Calc : FALSE function +Oracle Open Office Calc : faster printing +Oracle Open Office Calc : faxes +Oracle Open Office Calc : faxes;configuring Oracle Open Office +Oracle Open Office Calc : faxes;fax programs/fax printers under UNIX +Oracle Open Office Calc : faxes;selecting a fax machine +Oracle Open Office Calc : faxes;sending +Oracle Open Office Calc : faxes;wizards +Oracle Open Office Calc : FDIST function +Oracle Open Office Calc : feedback +Oracle Open Office Calc : feedback;automatically +Oracle Open Office Calc : fields +Oracle Open Office Calc : fields;database tables +Oracle Open Office Calc : fields;displaying field codes (Writer) +Oracle Open Office Calc : fields;formatted fields +Oracle Open Office Calc : fields;updating automatically (Writer) +Oracle Open Office Calc : file associations for Microsoft Office +Oracle Open Office Calc : file filters +Oracle Open Office Calc : file filters;mobile devices +Oracle Open Office Calc : file filters;XML +Oracle Open Office Calc : file formats +Oracle Open Office Calc : file formats;changing Oracle Open Office defaults +Oracle Open Office Calc : file formats;OpenDocument/XML +Oracle Open Office Calc : file formats;saving always in other formats +Oracle Open Office Calc : file names in headers/footers +Oracle Open Office Calc : file selection button +Oracle Open Office Calc : file sharing options for current document +Oracle Open Office Calc : files +Oracle Open Office Calc : files;filters and formats +Oracle Open Office Calc : files;importing +Oracle Open Office Calc : files;opening +Oracle Open Office Calc : files;opening with placeholders +Oracle Open Office Calc : files;properties +Oracle Open Office Calc : files;saving +Oracle Open Office Calc : files;saving automatically +Oracle Open Office Calc : files;saving in other formats +Oracle Open Office Calc : files;sending as e-mail +Oracle Open Office Calc : files;version numbers +Oracle Open Office Calc : files and folders in Oracle Open Office +Oracle Open Office Calc : fill characters with tabulators +Oracle Open Office Calc : fill colors for areas +Oracle Open Office Calc : fill patterns for areas +Oracle Open Office Calc : filling +Oracle Open Office Calc : filling;cells, automatically +Oracle Open Office Calc : filling;customized lists +Oracle Open Office Calc : filling;selection lists +Oracle Open Office Calc : filter conditions +Oracle Open Office Calc : filter conditions;connecting +Oracle Open Office Calc : filter conditions;in queries (Base) +Oracle Open Office Calc : filtered data +Oracle Open Office Calc : filtered data;sums +Oracle Open Office Calc : filtering +Oracle Open Office Calc : filtering;cell ranges/database ranges +Oracle Open Office Calc : filtering;data in databases +Oracle Open Office Calc : filtering;data in forms +Oracle Open Office Calc : filtering;DataPilot tables +Oracle Open Office Calc : filters +Oracle Open Office Calc : filters;applying/removing +Oracle Open Office Calc : filters;comparison operators +Oracle Open Office Calc : filters;copying visible cells only +Oracle Open Office Calc : filters;defining advanced filters +Oracle Open Office Calc : filters;for import and export +Oracle Open Office Calc : filters;Navigator +Oracle Open Office Calc : filters;pictures +Oracle Open Office Calc : filters;XML filter settings +Oracle Open Office Calc : filters, see also AutoFilter function +Oracle Open Office Calc : financial functions +Oracle Open Office Calc : FIND function +Oracle Open Office Calc : Find tab in Help +Oracle Open Office Calc : finding +Oracle Open Office Calc : finding;formulas/values/text/objects +Oracle Open Office Calc : finding;in all sheets +Oracle Open Office Calc : finding;records in form documents +Oracle Open Office Calc : finding;selections +Oracle Open Office Calc : finding;similarity search +Oracle Open Office Calc : FINV function +Oracle Open Office Calc : FISHER function +Oracle Open Office Calc : FISHERINV function +Oracle Open Office Calc : fitting to pages +Oracle Open Office Calc : fitting to pages;print settings in Math +Oracle Open Office Calc : fitting to pages;print settings in presentations +Oracle Open Office Calc : FIXED function +Oracle Open Office Calc : fixed text +Oracle Open Office Calc : fixed text;form functions +Oracle Open Office Calc : fixing toolbars +Oracle Open Office Calc : flipping draw objects +Oracle Open Office Calc : floating frames in HTML documents +Oracle Open Office Calc : floating toolbars +Oracle Open Office Calc : FLOOR function +Oracle Open Office Calc : focus of controls +Oracle Open Office Calc : folder creation +Oracle Open Office Calc : font lists +Oracle Open Office Calc : font name box +Oracle Open Office Calc : font sizes +Oracle Open Office Calc : font sizes;bullets +Oracle Open Office Calc : font sizes;relative changes +Oracle Open Office Calc : font sizes;scaling on screen +Oracle Open Office Calc : font sizes;text +Oracle Open Office Calc : fonts +Oracle Open Office Calc : fonts;adding under UNIX +Oracle Open Office Calc : fonts;changing in templates +Oracle Open Office Calc : fonts;colors +Oracle Open Office Calc : fonts;default settings +Oracle Open Office Calc : fonts;effects +Oracle Open Office Calc : fonts;for HTML and Basic +Oracle Open Office Calc : fonts;formats +Oracle Open Office Calc : fonts;outlines +Oracle Open Office Calc : fonts;positions in text +Oracle Open Office Calc : fonts;shadows +Oracle Open Office Calc : fonts;specifying several +Oracle Open Office Calc : fonts;strikethrough +Oracle Open Office Calc : fonts;styles +Oracle Open Office Calc : fonts;text objects +Oracle Open Office Calc : Fontwork icons +Oracle Open Office Calc : footers +Oracle Open Office Calc : footers;backgrounds +Oracle Open Office Calc : footers;defining +Oracle Open Office Calc : footers;printing on sheets +Oracle Open Office Calc : forced array handling +Oracle Open Office Calc : FORECAST function +Oracle Open Office Calc : form controls +Oracle Open Office Calc : form controls;assigning macros +Oracle Open Office Calc : form controls;protecting +Oracle Open Office Calc : form controls;toolbars +Oracle Open Office Calc : form fields +Oracle Open Office Calc : form filters +Oracle Open Office Calc : Form Navigator +Oracle Open Office Calc : format codes +Oracle Open Office Calc : format codes;numbers +Oracle Open Office Calc : format codes;user-defined number formats +Oracle Open Office Calc : format filling printing in Oracle Open Office Math +Oracle Open Office Calc : Format Paintbrush +Oracle Open Office Calc : formats +Oracle Open Office Calc : formats;Asian layout +Oracle Open Office Calc : formats;assigning by formulas +Oracle Open Office Calc : formats;automatically formatting spreadsheets +Oracle Open Office Calc : formats;changing text/number +Oracle Open Office Calc : formats;currency formats in cells +Oracle Open Office Calc : formats;fonts +Oracle Open Office Calc : formats;maximizing page formats +Oracle Open Office Calc : formats;number and currency formats +Oracle Open Office Calc : formats;numbers as text +Oracle Open Office Calc : formats;numbers in tables +Oracle Open Office Calc : formats;of currencies/date/time +Oracle Open Office Calc : formats;on opening and saving +Oracle Open Office Calc : formats;pasting in special formats +Oracle Open Office Calc : formats;positions +Oracle Open Office Calc : formats;Styles and Formatting window +Oracle Open Office Calc : formats;tabulators +Oracle Open Office Calc : formats;themes for sheets +Oracle Open Office Calc : formatted fields +Oracle Open Office Calc : formatted fields;form functions +Oracle Open Office Calc : formatted fields;properties +Oracle Open Office Calc : formatting +Oracle Open Office Calc : formatting;adding/deleting decimal places +Oracle Open Office Calc : formatting;Asian typography +Oracle Open Office Calc : formatting;axes in charts +Oracle Open Office Calc : formatting;cells +Oracle Open Office Calc : formatting;chart areas +Oracle Open Office Calc : formatting;chart floors +Oracle Open Office Calc : formatting;chart legends +Oracle Open Office Calc : formatting;chart titles +Oracle Open Office Calc : formatting;chart walls +Oracle Open Office Calc : formatting;comments on cells +Oracle Open Office Calc : formatting;conditional formatting +Oracle Open Office Calc : formatting;copying +Oracle Open Office Calc : formatting;definition +Oracle Open Office Calc : formatting;expanding (Calc) +Oracle Open Office Calc : formatting;font effects +Oracle Open Office Calc : formatting;hyperlinks +Oracle Open Office Calc : formatting;multiple cell texts +Oracle Open Office Calc : formatting;numbers as text +Oracle Open Office Calc : formatting;numbers with decimals +Oracle Open Office Calc : formatting;pages +Oracle Open Office Calc : formatting;printer metrics (Writer) +Oracle Open Office Calc : formatting;spreadsheets +Oracle Open Office Calc : formatting;Styles and Formatting window +Oracle Open Office Calc : formatting;themes for sheets +Oracle Open Office Calc : formatting;undoing +Oracle Open Office Calc : formatting;undoing when writing +Oracle Open Office Calc : formatting;user-defined numbers +Oracle Open Office Calc : formatting;visible cells only +Oracle Open Office Calc : forms +Oracle Open Office Calc : forms;browsing +Oracle Open Office Calc : forms;Combo Box/List Box Wizard +Oracle Open Office Calc : forms;creating +Oracle Open Office Calc : forms;data +Oracle Open Office Calc : forms;designing (Base) +Oracle Open Office Calc : forms;events +Oracle Open Office Calc : forms;filtering data +Oracle Open Office Calc : forms;finding records +Oracle Open Office Calc : forms;focus after opening +Oracle Open Office Calc : forms;general information (Base) +Oracle Open Office Calc : forms;grouping controls +Oracle Open Office Calc : forms;HTML filters +Oracle Open Office Calc : forms;Navigator +Oracle Open Office Calc : forms;opening in design mode +Oracle Open Office Calc : forms;properties +Oracle Open Office Calc : forms;sorting data +Oracle Open Office Calc : forms;subforms +Oracle Open Office Calc : forms;wizards +Oracle Open Office Calc : forms;XForms +Oracle Open Office Calc : formula bar +Oracle Open Office Calc : formula bar;accepting inputs +Oracle Open Office Calc : formula bar;canceling inputs +Oracle Open Office Calc : formula bar;functions +Oracle Open Office Calc : formula bar;input line +Oracle Open Office Calc : formula bar;sheet area names +Oracle Open Office Calc : formula bar;spreadsheets +Oracle Open Office Calc : formula bar;sum function +Oracle Open Office Calc : formula cells +Oracle Open Office Calc : formula cells;displaying formulas in other cells +Oracle Open Office Calc : formula cells;recognizing +Oracle Open Office Calc : formula cells;removing precedents +Oracle Open Office Calc : formula cells;tracing precedents +Oracle Open Office Calc : FORMULA function +Oracle Open Office Calc : formula list window +Oracle Open Office Calc : formula texts +Oracle Open Office Calc : formula texts;printing in Oracle Open Office Math +Oracle Open Office Calc : formulas +Oracle Open Office Calc : formulas;arrays +Oracle Open Office Calc : formulas;assigning cell formats +Oracle Open Office Calc : formulas;AutoCalculate function +Oracle Open Office Calc : formulas;calculating +Oracle Open Office Calc : formulas;calculating with +Oracle Open Office Calc : formulas;copying and pasting +Oracle Open Office Calc : formulas;defining names +Oracle Open Office Calc : formulas;displaying in cells +Oracle Open Office Calc : formulas;hiding +Oracle Open Office Calc : formulas;importing/exporting as csv files +Oracle Open Office Calc : formulas;inputting +Oracle Open Office Calc : formulas;matrix formulas +Oracle Open Office Calc : formulas;new +Oracle Open Office Calc : formulas;operators +Oracle Open Office Calc : formulas;printing, instead of results +Oracle Open Office Calc : formulas;recalculating manually +Oracle Open Office Calc : formulas;starting formula editor +Oracle Open Office Calc : formulas;status bar +Oracle Open Office Calc : formulas;using row/column labels +Oracle Open Office Calc : formulas in reports +Oracle Open Office Calc : formulas in reports;editing +Oracle Open Office Calc : forums and support +Oracle Open Office Calc : fractions +Oracle Open Office Calc : fractions;converting +Oracle Open Office Calc : fractions;entering +Oracle Open Office Calc : frames +Oracle Open Office Calc : frames;around paragraphs +Oracle Open Office Calc : frames;around tables +Oracle Open Office Calc : frames;AutoCorrect function +Oracle Open Office Calc : frames;backgrounds +Oracle Open Office Calc : frames;captions (Writer) +Oracle Open Office Calc : frames;printing in Oracle Open Office Math +Oracle Open Office Calc : frames;protecting +Oracle Open Office Calc : frames;selection frames +Oracle Open Office Calc : frames;text fitting to frames +Oracle Open Office Calc : freeform lines +Oracle Open Office Calc : freeform lines;draw functions +Oracle Open Office Calc : freezing rows or columns +Oracle Open Office Calc : FREQUENCY function +Oracle Open Office Calc : FTEST function +Oracle Open Office Calc : FTP +Oracle Open Office Calc : FTP;opening documents +Oracle Open Office Calc : FTP;saving documents +Oracle Open Office Calc : full joins (Base) +Oracle Open Office Calc : full screen view +Oracle Open Office Calc : full-text search in Help +Oracle Open Office Calc : function list window +Oracle Open Office Calc : Function Wizard +Oracle Open Office Calc : Function Wizard;add-ins +Oracle Open Office Calc : Function Wizard;arrays +Oracle Open Office Calc : Function Wizard;databases +Oracle Open Office Calc : Function Wizard;date & time +Oracle Open Office Calc : Function Wizard;financial +Oracle Open Office Calc : Function Wizard;information +Oracle Open Office Calc : Function Wizard;logical +Oracle Open Office Calc : Function Wizard;mathematical +Oracle Open Office Calc : Function Wizard;spreadsheets +Oracle Open Office Calc : Function Wizard;statistics +Oracle Open Office Calc : Function Wizard;text +Oracle Open Office Calc : functions +Oracle Open Office Calc : functions;accepting input icon +Oracle Open Office Calc : functions;add-in functions +Oracle Open Office Calc : functions;array functions +Oracle Open Office Calc : functions;canceling input icon +Oracle Open Office Calc : functions;database functions +Oracle Open Office Calc : functions;date & time +Oracle Open Office Calc : functions;financial functions +Oracle Open Office Calc : functions;formula bar icon +Oracle Open Office Calc : functions;Function Wizard +Oracle Open Office Calc : functions;information functions +Oracle Open Office Calc : functions;listed by category +Oracle Open Office Calc : functions;logical functions +Oracle Open Office Calc : functions;mathematical functions +Oracle Open Office Calc : functions;Oracle Open Office Calc add-in DLL +Oracle Open Office Calc : functions;spreadsheets +Oracle Open Office Calc : functions;statistics functions +Oracle Open Office Calc : functions;sum function icon +Oracle Open Office Calc : functions;text functions +Oracle Open Office Calc : functions;user-defined +Oracle Open Office Calc : functions in reports +Oracle Open Office Calc : functions in reports;editing +Oracle Open Office Calc : future values +Oracle Open Office Calc : future values;constant interest rates +Oracle Open Office Calc : future values;varying interest rates +Oracle Open Office Calc : FV function +Oracle Open Office Calc : FVSCHEDULE function +Oracle Open Office Calc : Gallery +Oracle Open Office Calc : Gallery;adding pictures +Oracle Open Office Calc : Gallery;dragging pictures to draw objects +Oracle Open Office Calc : Gallery;hiding/showing +Oracle Open Office Calc : Gallery;inserting pictures from +Oracle Open Office Calc : GAMMA function +Oracle Open Office Calc : GAMMADIST function +Oracle Open Office Calc : GAMMAINV function +Oracle Open Office Calc : GAMMALN function +Oracle Open Office Calc : GAUSS function +Oracle Open Office Calc : Gaussian error integral +Oracle Open Office Calc : GCD function +Oracle Open Office Calc : GCD_ADD function +Oracle Open Office Calc : GEOMEAN function +Oracle Open Office Calc : geometric lists +Oracle Open Office Calc : geometric-degressive depreciations +Oracle Open Office Calc : GESTEP function +Oracle Open Office Calc : get method for form transmissions +Oracle Open Office Calc : GETPIVOTDATA function +Oracle Open Office Calc : getting support +Oracle Open Office Calc : GIF format +Oracle Open Office Calc : glossaries +Oracle Open Office Calc : glossaries;common terms +Oracle Open Office Calc : glossaries;Internet terms +Oracle Open Office Calc : goal seeking +Oracle Open Office Calc : goal seeking;example +Oracle Open Office Calc : goal seeking;solver +Oracle Open Office Calc : gradients off for faster printing +Oracle Open Office Calc : graphic objects, see draw objects +Oracle Open Office Calc : graphical text art +Oracle Open Office Calc : graphics +Oracle Open Office Calc : graphics;cache +Oracle Open Office Calc : graphics;protecting +Oracle Open Office Calc : graphics, see also pictures +Oracle Open Office Calc : grayscale printing +Oracle Open Office Calc : greatest common divisor +Oracle Open Office Calc : grid controls +Oracle Open Office Calc : grid controls;form functions +Oracle Open Office Calc : grids +Oracle Open Office Calc : grids;defaults (Writer/Calc) +Oracle Open Office Calc : grids;display options (Impress/Draw) +Oracle Open Office Calc : grids;displaying lines (Calc) +Oracle Open Office Calc : grids;formatting axes +Oracle Open Office Calc : grids;hiding lines in sheets +Oracle Open Office Calc : grids;inserting in charts +Oracle Open Office Calc : grids;printing sheet grids +Oracle Open Office Calc : group box creation +Oracle Open Office Calc : grouping +Oracle Open Office Calc : grouping;cells +Oracle Open Office Calc : grouping;DataPilot tables +Oracle Open Office Calc : groups +Oracle Open Office Calc : groups;entering/exiting/ungrouping +Oracle Open Office Calc : groups;naming +Oracle Open Office Calc : groups;of controls +Oracle Open Office Calc : GROWTH function +Oracle Open Office Calc : growth series +Oracle Open Office Calc : guides +Oracle Open Office Calc : guides;display options (Impress/Draw) +Oracle Open Office Calc : guides;displaying when moving objects (Impress) +Oracle Open Office Calc : guides;showing (Calc) +Oracle Open Office Calc : guides;showing when moving frames (Writer) +Oracle Open Office Calc : gutter +Oracle Open Office Calc : handles +Oracle Open Office Calc : handles;displaying (Writer) +Oracle Open Office Calc : handles;scaling +Oracle Open Office Calc : handles;showing simple/large handles (Calc) +Oracle Open Office Calc : Hangul/Hanja +Oracle Open Office Calc : HARMEAN function +Oracle Open Office Calc : hatching +Oracle Open Office Calc : headers +Oracle Open Office Calc : headers;backgrounds +Oracle Open Office Calc : headers;defining +Oracle Open Office Calc : headers;freezing during table split +Oracle Open Office Calc : headers;printing on sheets +Oracle Open Office Calc : headings +Oracle Open Office Calc : headings;entering as text box +Oracle Open Office Calc : headings;repeating rows/columns as +Oracle Open Office Calc : Hebrew +Oracle Open Office Calc : Hebrew;entering text +Oracle Open Office Calc : Hebrew;language settings +Oracle Open Office Calc : heights of cells +Oracle Open Office Calc : Help +Oracle Open Office Calc : Help;bookmarks +Oracle Open Office Calc : Help;extended tips on/off +Oracle Open Office Calc : Help;full-text search +Oracle Open Office Calc : Help;Help tips +Oracle Open Office Calc : Help;keywords +Oracle Open Office Calc : Help;navigation pane showing/hiding +Oracle Open Office Calc : Help;style sheets +Oracle Open Office Calc : Help;topics +Oracle Open Office Calc : Help Agent +Oracle Open Office Calc : Help Agent;help +Oracle Open Office Calc : Help Agent;options +Oracle Open Office Calc : Help tips +Oracle Open Office Calc : Help tips;defining text for cell input +Oracle Open Office Calc : Help tips;hiding +Oracle Open Office Calc : HEX2BIN function +Oracle Open Office Calc : HEX2DEC function +Oracle Open Office Calc : HEX2OCT function +Oracle Open Office Calc : hexadecimal system +Oracle Open Office Calc : hexadecimal system;converting to +Oracle Open Office Calc : hidden cells +Oracle Open Office Calc : hidden controls in Form Navigator +Oracle Open Office Calc : hidden fields display (Writer) +Oracle Open Office Calc : hidden pages +Oracle Open Office Calc : hidden pages;printing in presentations +Oracle Open Office Calc : hidden text +Oracle Open Office Calc : hidden text;showing (Writer) +Oracle Open Office Calc : hiding +Oracle Open Office Calc : hiding;changes +Oracle Open Office Calc : hiding;chart legends +Oracle Open Office Calc : hiding;columns +Oracle Open Office Calc : hiding;data fields, from calculations in Data Pilot +Oracle Open Office Calc : hiding;docked windows +Oracle Open Office Calc : hiding;formulas +Oracle Open Office Calc : hiding;headers/grid lines +Oracle Open Office Calc : hiding;navigation pane in Help window +Oracle Open Office Calc : hiding;rows +Oracle Open Office Calc : hiding;sheet details +Oracle Open Office Calc : hiding;sheets +Oracle Open Office Calc : high contrast mode +Oracle Open Office Calc : highlighting +Oracle Open Office Calc : highlighting;negative numbers +Oracle Open Office Calc : highlighting;values in sheets +Oracle Open Office Calc : Hindi +Oracle Open Office Calc : Hindi;entering text +Oracle Open Office Calc : Hindi;language settings +Oracle Open Office Calc : HLOOKUP function +Oracle Open Office Calc : horizontal scrollbars (Writer) +Oracle Open Office Calc : hotspots +Oracle Open Office Calc : HOUR function +Oracle Open Office Calc : HowTos for Calc +Oracle Open Office Calc : HowTos for charts +Oracle Open Office Calc : HTML +Oracle Open Office Calc : HTML;definition +Oracle Open Office Calc : HTML;export character set +Oracle Open Office Calc : HTML;fonts for source display +Oracle Open Office Calc : HTML;importing META tags +Oracle Open Office Calc : HTML;in sheet cells +Oracle Open Office Calc : HTML;live presentations +Oracle Open Office Calc : HTML;sheets +Oracle Open Office Calc : HTML documents +Oracle Open Office Calc : HTML documents;auto reloading +Oracle Open Office Calc : HTML documents;importing/exporting +Oracle Open Office Calc : HTML documents;META tags in +Oracle Open Office Calc : HTML documents;new +Oracle Open Office Calc : HTML documents;source text +Oracle Open Office Calc : HTML WebQuery +Oracle Open Office Calc : HYPERLINK function +Oracle Open Office Calc : hyperlinks +Oracle Open Office Calc : hyperlinks;assigning macros +Oracle Open Office Calc : hyperlinks;character formats +Oracle Open Office Calc : hyperlinks;definition +Oracle Open Office Calc : hyperlinks;deleting +Oracle Open Office Calc : hyperlinks;editing +Oracle Open Office Calc : hyperlinks;inserting +Oracle Open Office Calc : hyperlinks;relative and absolute +Oracle Open Office Calc : hyperlinks;turning off automatic recognition +Oracle Open Office Calc : hyperlinks, see also links +Oracle Open Office Calc : HYPGEOMDIST function +Oracle Open Office Calc : hyphenation +Oracle Open Office Calc : hyphenation;activating for a language +Oracle Open Office Calc : hyphenation;in spreadsheets +Oracle Open Office Calc : hyphenation;minimal number of characters +Oracle Open Office Calc : hyphens +Oracle Open Office Calc : hyphens;displaying custom (Writer) +Oracle Open Office Calc : hyphens;inserting custom +Oracle Open Office Calc : icon bars, see toolbars +Oracle Open Office Calc : icon sizes +Oracle Open Office Calc : IDE +Oracle Open Office Calc : IDE;Basic IDE +Oracle Open Office Calc : IF function +Oracle Open Office Calc : ignore list for spellcheck +Oracle Open Office Calc : illumination +Oracle Open Office Calc : illumination;3D charts +Oracle Open Office Calc : illustrations, see pictures +Oracle Open Office Calc : IMABS function +Oracle Open Office Calc : image button creation +Oracle Open Office Calc : image control creation +Oracle Open Office Calc : ImageMap +Oracle Open Office Calc : ImageMap;definition +Oracle Open Office Calc : ImageMap;editor +Oracle Open Office Calc : images +Oracle Open Office Calc : images;ImageMap +Oracle Open Office Calc : images;inserting and editing bitmaps +Oracle Open Office Calc : images, see also pictures +Oracle Open Office Calc : IMAGINARY function +Oracle Open Office Calc : imaginary numbers in analysis functions +Oracle Open Office Calc : IMARGUMENT function +Oracle Open Office Calc : IMCONJUGATE function +Oracle Open Office Calc : IMCOS function +Oracle Open Office Calc : IMDIV function +Oracle Open Office Calc : IME +Oracle Open Office Calc : IME;definition +Oracle Open Office Calc : IME;showing/hiding +Oracle Open Office Calc : IMEXP function +Oracle Open Office Calc : IMLN function +Oracle Open Office Calc : IMLOG10 function +Oracle Open Office Calc : IMLOG2 function +Oracle Open Office Calc : implicit array handling +Oracle Open Office Calc : import filters +Oracle Open Office Calc : import restrictions for Microsoft Office +Oracle Open Office Calc : importing +Oracle Open Office Calc : importing;bitmaps +Oracle Open Office Calc : importing;compatibility settings for text import +Oracle Open Office Calc : importing;csv files with formulas +Oracle Open Office Calc : importing;databases +Oracle Open Office Calc : importing;dBASE files +Oracle Open Office Calc : importing;documents in other formats +Oracle Open Office Calc : importing;from XML +Oracle Open Office Calc : importing;HTML and text documents +Oracle Open Office Calc : importing;HTML with META tags +Oracle Open Office Calc : importing;Microsoft Office documents with VBA code +Oracle Open Office Calc : importing;tables as text +Oracle Open Office Calc : importing;tables in text format +Oracle Open Office Calc : importing;templates +Oracle Open Office Calc : IMPOWER function +Oracle Open Office Calc : IMPRODUCT function +Oracle Open Office Calc : improvement program +Oracle Open Office Calc : IMREAL function +Oracle Open Office Calc : IMSIN function +Oracle Open Office Calc : IMSQRT function +Oracle Open Office Calc : IMSUB function +Oracle Open Office Calc : IMSUM function +Oracle Open Office Calc : inches +Oracle Open Office Calc : increasing scales in page view +Oracle Open Office Calc : INDEX function +Oracle Open Office Calc : Index tab in Help +Oracle Open Office Calc : indexes +Oracle Open Office Calc : indexes;backgrounds +Oracle Open Office Calc : indexes;showing/hiding Help index tab +Oracle Open Office Calc : indicator lines in text +Oracle Open Office Calc : INDIRECT function +Oracle Open Office Calc : INFO function +Oracle Open Office Calc : information functions +Oracle Open Office Calc : information on cells +Oracle Open Office Calc : inline array constants +Oracle Open Office Calc : inner joins (Base) +Oracle Open Office Calc : inner products +Oracle Open Office Calc : input line in formula bar +Oracle Open Office Calc : input method window +Oracle Open Office Calc : input support in spreadsheets +Oracle Open Office Calc : insert mode for entering text +Oracle Open Office Calc : inserting +Oracle Open Office Calc : inserting;breaks +Oracle Open Office Calc : inserting;buttons in toolbars +Oracle Open Office Calc : inserting;cell ranges +Oracle Open Office Calc : inserting;cell ranges from spreadsheets +Oracle Open Office Calc : inserting;cells +Oracle Open Office Calc : inserting;cells, by drag and drop +Oracle Open Office Calc : inserting;cells, toolbar icon +Oracle Open Office Calc : inserting;charts +Oracle Open Office Calc : inserting;clipboard options +Oracle Open Office Calc : inserting;columns +Oracle Open Office Calc : inserting;comments +Oracle Open Office Calc : inserting;data from text documents +Oracle Open Office Calc : inserting;datasource records in spreadsheets +Oracle Open Office Calc : inserting;drawings +Oracle Open Office Calc : inserting;external data +Oracle Open Office Calc : inserting;floating frames +Oracle Open Office Calc : inserting;Fontwork objects +Oracle Open Office Calc : inserting;form fields +Oracle Open Office Calc : inserting;formulas +Oracle Open Office Calc : inserting;fractions +Oracle Open Office Calc : inserting;hyperlinks +Oracle Open Office Calc : inserting;line breaks in cells +Oracle Open Office Calc : inserting;manual column breaks +Oracle Open Office Calc : inserting;manual row breaks +Oracle Open Office Calc : inserting;matrix formulas +Oracle Open Office Calc : inserting;movies/sounds +Oracle Open Office Calc : inserting;new text tables defaults +Oracle Open Office Calc : inserting;objects from Gallery +Oracle Open Office Calc : inserting;objects, toolbar icon +Oracle Open Office Calc : inserting;OLE objects +Oracle Open Office Calc : inserting;paragraph borders +Oracle Open Office Calc : inserting;paragraph bullets +Oracle Open Office Calc : inserting;pictures in Gallery +Oracle Open Office Calc : inserting;plug-ins +Oracle Open Office Calc : inserting;push buttons +Oracle Open Office Calc : inserting;references, by drag and drop +Oracle Open Office Calc : inserting;rows +Oracle Open Office Calc : inserting;sheets +Oracle Open Office Calc : inserting;special characters +Oracle Open Office Calc : inserting;tab stops +Oracle Open Office Calc : inserting;textures on chart bars +Oracle Open Office Calc : inserting;values +Oracle Open Office Calc : inserting functions +Oracle Open Office Calc : inserting functions;function list window +Oracle Open Office Calc : inserting functions;Function Wizard +Oracle Open Office Calc : installing +Oracle Open Office Calc : installing;ActiveX control +Oracle Open Office Calc : installing;mobile device filters +Oracle Open Office Calc : installing;UNO components +Oracle Open Office Calc : installing;XML filters +Oracle Open Office Calc : instructions +Oracle Open Office Calc : instructions;general +Oracle Open Office Calc : instructions;Oracle Open Office Calc +Oracle Open Office Calc : INT function +Oracle Open Office Calc : integers with leading zeros +Oracle Open Office Calc : INTERCEPT function +Oracle Open Office Calc : interests for unchanged amortization installments +Oracle Open Office Calc : internal rates of return +Oracle Open Office Calc : internal rates of return;irregular payments +Oracle Open Office Calc : internal rates of return;modified +Oracle Open Office Calc : internal rates of return;regular payments +Oracle Open Office Calc : international currency formats +Oracle Open Office Calc : Internet +Oracle Open Office Calc : Internet;checking for updates +Oracle Open Office Calc : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Calc : Internet;presentations +Oracle Open Office Calc : Internet;starting searches +Oracle Open Office Calc : Internet glossary +Oracle Open Office Calc : intersection operator +Oracle Open Office Calc : intersections +Oracle Open Office Calc : INTRATE function +Oracle Open Office Calc : invalid data +Oracle Open Office Calc : invalid data;marking +Oracle Open Office Calc : invalid names +Oracle Open Office Calc : invalid names;error messages +Oracle Open Office Calc : invalid references +Oracle Open Office Calc : invalid references;error messages +Oracle Open Office Calc : inverse arrays +Oracle Open Office Calc : inverse F probability distribution +Oracle Open Office Calc : inverse of Fisher transformation +Oracle Open Office Calc : inverse of lognormal distribution +Oracle Open Office Calc : inverse of t-distribution +Oracle Open Office Calc : invert filter +Oracle Open Office Calc : inverting tables +Oracle Open Office Calc : invisible areas +Oracle Open Office Calc : invisible cells +Oracle Open Office Calc : IPMT function +Oracle Open Office Calc : IRR function +Oracle Open Office Calc : ISBLANK function +Oracle Open Office Calc : ISERR function +Oracle Open Office Calc : ISERROR function +Oracle Open Office Calc : ISEVEN function +Oracle Open Office Calc : ISEVEN_ADD function +Oracle Open Office Calc : ISFORMULA function +Oracle Open Office Calc : ISLEAPYEAR function +Oracle Open Office Calc : ISLOGICAL function +Oracle Open Office Calc : ISNA function +Oracle Open Office Calc : ISNONTEXT function +Oracle Open Office Calc : ISNUMBER function +Oracle Open Office Calc : ISODD function +Oracle Open Office Calc : ISODD_ADD function +Oracle Open Office Calc : ISPMT function +Oracle Open Office Calc : ISREF function +Oracle Open Office Calc : ISTEXT function +Oracle Open Office Calc : italic text +Oracle Open Office Calc : iterative references in spreadsheets +Oracle Open Office Calc : Java +Oracle Open Office Calc : Java;definition +Oracle Open Office Calc : Java;setting options +Oracle Open Office Calc : JDBC +Oracle Open Office Calc : JDBC;databases (Base) +Oracle Open Office Calc : JDBC;definition +Oracle Open Office Calc : JIS function +Oracle Open Office Calc : joining +Oracle Open Office Calc : joining;paragraphs +Oracle Open Office Calc : joining;tables (Base) +Oracle Open Office Calc : joins in databases (Base) +Oracle Open Office Calc : justifying text +Oracle Open Office Calc : kerning +Oracle Open Office Calc : kerning;Asian texts +Oracle Open Office Calc : kerning;definition +Oracle Open Office Calc : kerning;in characters +Oracle Open Office Calc : key fields for relations (Base) +Oracle Open Office Calc : keyboard +Oracle Open Office Calc : keyboard;assigning/editing shortcut keys +Oracle Open Office Calc : keyboard;general commands +Oracle Open Office Calc : keyboard;removing numbering +Oracle Open Office Calc : keys +Oracle Open Office Calc : keys;adding push buttons +Oracle Open Office Calc : keys;primary keys (Base) +Oracle Open Office Calc : kiosk export +Oracle Open Office Calc : KURT function +Oracle Open Office Calc : label ranges in sheets +Oracle Open Office Calc : labels +Oracle Open Office Calc : labels;creating and synchronizing +Oracle Open Office Calc : labels;for charts +Oracle Open Office Calc : labels;for draw objects +Oracle Open Office Calc : labels;form functions +Oracle Open Office Calc : labels;from databases +Oracle Open Office Calc : labels, see also names/callouts +Oracle Open Office Calc : landscape printing +Oracle Open Office Calc : languages +Oracle Open Office Calc : languages;activating modules +Oracle Open Office Calc : languages;Asian support +Oracle Open Office Calc : languages;complex text layout +Oracle Open Office Calc : languages;locale settings +Oracle Open Office Calc : languages;selecting for text +Oracle Open Office Calc : languages;setting options +Oracle Open Office Calc : languages;spellcheck +Oracle Open Office Calc : languages;spellchecking and formatting +Oracle Open Office Calc : LARGE function +Oracle Open Office Calc : large handles (Writer) +Oracle Open Office Calc : large icons +Oracle Open Office Calc : layer arrangement +Oracle Open Office Calc : layout +Oracle Open Office Calc : layout;importing Word documents +Oracle Open Office Calc : layout;pages +Oracle Open Office Calc : layout;spreadsheets +Oracle Open Office Calc : LCM function +Oracle Open Office Calc : LCM_ADD function +Oracle Open Office Calc : LDAP server +Oracle Open Office Calc : LDAP server;address books (Base) +Oracle Open Office Calc : LDAP server;sign on options +Oracle Open Office Calc : leading between paragraphs +Oracle Open Office Calc : leading zeros +Oracle Open Office Calc : leap year determination +Oracle Open Office Calc : least common multiples +Oracle Open Office Calc : left alignment of paragraphs +Oracle Open Office Calc : LEFT function +Oracle Open Office Calc : left joins (Base) +Oracle Open Office Calc : legends +Oracle Open Office Calc : legends;charts +Oracle Open Office Calc : legends;draw objects +Oracle Open Office Calc : legends;rounding corners +Oracle Open Office Calc : LEN function +Oracle Open Office Calc : Letter Wizard +Oracle Open Office Calc : levels +Oracle Open Office Calc : levels;depth stagger +Oracle Open Office Calc : levels;macro security +Oracle Open Office Calc : limits +Oracle Open Office Calc : limits;specifying value limits on input +Oracle Open Office Calc : limits of tables (Writer) +Oracle Open Office Calc : line arrangements with cells +Oracle Open Office Calc : line breaks +Oracle Open Office Calc : line breaks;in cells +Oracle Open Office Calc : line charts +Oracle Open Office Calc : line spacing +Oracle Open Office Calc : line spacing;context menu in paragraphs +Oracle Open Office Calc : line spacing;paragraph +Oracle Open Office Calc : line styles +Oracle Open Office Calc : line styles;applying +Oracle Open Office Calc : line styles;defining +Oracle Open Office Calc : linear depreciations +Oracle Open Office Calc : linear series +Oracle Open Office Calc : lines +Oracle Open Office Calc : lines;defining ends +Oracle Open Office Calc : lines;draw functions +Oracle Open Office Calc : lines;drawing in text +Oracle Open Office Calc : lines;editing points +Oracle Open Office Calc : lines;removing automatic lines +Oracle Open Office Calc : lines of text +Oracle Open Office Calc : lines of text;alignment +Oracle Open Office Calc : LINEST function +Oracle Open Office Calc : links +Oracle Open Office Calc : links;between cells and controls +Oracle Open Office Calc : links;by drag and drop +Oracle Open Office Calc : links;character formats +Oracle Open Office Calc : links;definition +Oracle Open Office Calc : links;editing hyperlinks +Oracle Open Office Calc : links;inserting +Oracle Open Office Calc : links;modifying +Oracle Open Office Calc : links;opening files with +Oracle Open Office Calc : links;relational databases (Base) +Oracle Open Office Calc : links;turning off automatic recognition +Oracle Open Office Calc : links;updating options (Writer) +Oracle Open Office Calc : links;updating specific links +Oracle Open Office Calc : list box creation +Oracle Open Office Calc : list of functions +Oracle Open Office Calc : lists +Oracle Open Office Calc : lists;data assigned to controls +Oracle Open Office Calc : lists;registered databases (Base) +Oracle Open Office Calc : lists;regular expressions +Oracle Open Office Calc : lists;user-defined +Oracle Open Office Calc : live presentations on the Internet +Oracle Open Office Calc : LN function +Oracle Open Office Calc : loading +Oracle Open Office Calc : loading;documents +Oracle Open Office Calc : loading;documents from other formats +Oracle Open Office Calc : loading;HTML documents, automatically +Oracle Open Office Calc : loading;Microsoft Office documents with VBA code +Oracle Open Office Calc : loading;reloading +Oracle Open Office Calc : loading;XML files +Oracle Open Office Calc : locale settings +Oracle Open Office Calc : LOG function +Oracle Open Office Calc : LOG10 function +Oracle Open Office Calc : logarithmic scaling along axes +Oracle Open Office Calc : logarithms +Oracle Open Office Calc : LOGEST function +Oracle Open Office Calc : logical functions +Oracle Open Office Calc : logical number formats +Oracle Open Office Calc : LOGINV function +Oracle Open Office Calc : LOGNORMDIST function +Oracle Open Office Calc : LOOKUP function +Oracle Open Office Calc : LOWER function +Oracle Open Office Calc : lowercase letters +Oracle Open Office Calc : lowercase letters;AutoInput function (in cells) +Oracle Open Office Calc : lowercase letters;font effects +Oracle Open Office Calc : lowest common multiples +Oracle Open Office Calc : Macauley duration +Oracle Open Office Calc : Macro Wizard (Base) +Oracle Open Office Calc : macros +Oracle Open Office Calc : macros;assigning to events in forms +Oracle Open Office Calc : macros;attaching new (Base) +Oracle Open Office Calc : macros;in MS Office documents +Oracle Open Office Calc : macros;interrupting +Oracle Open Office Calc : macros;organizing +Oracle Open Office Calc : macros;recording +Oracle Open Office Calc : macros;running when incorrect input +Oracle Open Office Calc : macros;security +Oracle Open Office Calc : macros;security levels +Oracle Open Office Calc : macros;security warning dialog +Oracle Open Office Calc : macros;selecting security warnings +Oracle Open Office Calc : magnifiers +Oracle Open Office Calc : manual column breaks +Oracle Open Office Calc : manual row breaks +Oracle Open Office Calc : margins +Oracle Open Office Calc : margins;pages +Oracle Open Office Calc : margins;setting with the mouse +Oracle Open Office Calc : margins;shadows +Oracle Open Office Calc : marking cells +Oracle Open Office Calc : marking changes +Oracle Open Office Calc : marking, see selecting +Oracle Open Office Calc : MATCH function +Oracle Open Office Calc : Math formula editor +Oracle Open Office Calc : mathematical functions +Oracle Open Office Calc : matrices +Oracle Open Office Calc : matrices;calculations +Oracle Open Office Calc : matrices;entering matrix formulas +Oracle Open Office Calc : matrices;functions +Oracle Open Office Calc : MAX function +Oracle Open Office Calc : MAXA function +Oracle Open Office Calc : maximum values in Calc databases +Oracle Open Office Calc : MDETERM function +Oracle Open Office Calc : MDURATION function +Oracle Open Office Calc : mean value lines in charts +Oracle Open Office Calc : means +Oracle Open Office Calc : means;geometric +Oracle Open Office Calc : means;harmonic +Oracle Open Office Calc : means;of data set without margin data +Oracle Open Office Calc : measurement units +Oracle Open Office Calc : measurement units;changing on rulers +Oracle Open Office Calc : measurement units;converting +Oracle Open Office Calc : measurement units;selecting +Oracle Open Office Calc : Media Player window +Oracle Open Office Calc : MEDIAN function +Oracle Open Office Calc : menus +Oracle Open Office Calc : menus;activating context menus +Oracle Open Office Calc : menus;assigning macros +Oracle Open Office Calc : menus;customizing +Oracle Open Office Calc : merging +Oracle Open Office Calc : merging;cells +Oracle Open Office Calc : merging;data ranges +Oracle Open Office Calc : merging;documents +Oracle Open Office Calc : META tags +Oracle Open Office Calc : metrics +Oracle Open Office Calc : metrics;converting +Oracle Open Office Calc : metrics;document formatting (Writer) +Oracle Open Office Calc : metrics;in sheets +Oracle Open Office Calc : Microsoft Excel functions +Oracle Open Office Calc : Microsoft Office +Oracle Open Office Calc : Microsoft Office;Access databases (base) +Oracle Open Office Calc : Microsoft Office;as default file format +Oracle Open Office Calc : Microsoft Office;document import restrictions +Oracle Open Office Calc : Microsoft Office;feature comparisons +Oracle Open Office Calc : Microsoft Office;importing password protected files +Oracle Open Office Calc : Microsoft Office;importing Word documents +Oracle Open Office Calc : Microsoft Office;importing/exporting VBA code +Oracle Open Office Calc : Microsoft Office;new users information +Oracle Open Office Calc : Microsoft Office;opening Microsoft documents +Oracle Open Office Calc : Microsoft Office;reassigning document types +Oracle Open Office Calc : MID function +Oracle Open Office Calc : migrating macros (Base) +Oracle Open Office Calc : MIN function +Oracle Open Office Calc : MINA function +Oracle Open Office Calc : minimum values in Calc databases +Oracle Open Office Calc : minus sign, see also operators +Oracle Open Office Calc : MINUTE function +Oracle Open Office Calc : MINVERSE function +Oracle Open Office Calc : MIRR function +Oracle Open Office Calc : MMULT function +Oracle Open Office Calc : mobile device filters +Oracle Open Office Calc : MOD function +Oracle Open Office Calc : MODE function +Oracle Open Office Calc : models in XForms +Oracle Open Office Calc : modified internal rates of return +Oracle Open Office Calc : modifying, see changing +Oracle Open Office Calc : MONTH function +Oracle Open Office Calc : MONTHS function +Oracle Open Office Calc : more controls +Oracle Open Office Calc : mosaic filter +Oracle Open Office Calc : most common value +Oracle Open Office Calc : mouse +Oracle Open Office Calc : mouse;pointers when using drag and drop +Oracle Open Office Calc : mouse;positioning +Oracle Open Office Calc : movies +Oracle Open Office Calc : moving +Oracle Open Office Calc : moving;cells by drag and drop +Oracle Open Office Calc : moving;spreadsheets +Oracle Open Office Calc : moving;tab stops on ruler +Oracle Open Office Calc : moving;toolbars +Oracle Open Office Calc : moving;using guide lines in presentations +Oracle Open Office Calc : moving;visible cells only +Oracle Open Office Calc : MROUND function +Oracle Open Office Calc : MS ADO interface (Base) +Oracle Open Office Calc : multi-line text in cells +Oracle Open Office Calc : multi-line titles in forms +Oracle Open Office Calc : MULTINOMIAL function +Oracle Open Office Calc : multiple cells selection +Oracle Open Office Calc : multiple documents +Oracle Open Office Calc : multiple documents;opening +Oracle Open Office Calc : multiple operations +Oracle Open Office Calc : multiple selection +Oracle Open Office Calc : multiple sheets +Oracle Open Office Calc : multiplication sign, see also operators +Oracle Open Office Calc : multiplying +Oracle Open Office Calc : multiplying;cell contents in Calc databases +Oracle Open Office Calc : multiplying;numbers +Oracle Open Office Calc : MUNIT function +Oracle Open Office Calc : music +Oracle Open Office Calc : My Documents folder +Oracle Open Office Calc : My Documents folder;changing work directory +Oracle Open Office Calc : My Documents folder;opening +Oracle Open Office Calc : MySQL databases (Base) +Oracle Open Office Calc : N function +Oracle Open Office Calc : NA function +Oracle Open Office Calc : name recognition on/off +Oracle Open Office Calc : names +Oracle Open Office Calc : names;defining for cells +Oracle Open Office Calc : names;for cell ranges +Oracle Open Office Calc : names;multi-line titles +Oracle Open Office Calc : names;objects +Oracle Open Office Calc : names;sheets +Oracle Open Office Calc : names, see also labels/callouts +Oracle Open Office Calc : namespace organization in XForms +Oracle Open Office Calc : native SQL (Base) +Oracle Open Office Calc : natural language addressing +Oracle Open Office Calc : natural logarithm +Oracle Open Office Calc : natural logarithm of Gamma function +Oracle Open Office Calc : natural sort algorithm +Oracle Open Office Calc : navigating +Oracle Open Office Calc : navigating;in documents +Oracle Open Office Calc : navigating;in spreadsheets +Oracle Open Office Calc : Navigation bar +Oracle Open Office Calc : Navigation bar;controls +Oracle Open Office Calc : Navigation bar;forms +Oracle Open Office Calc : Navigator +Oracle Open Office Calc : Navigator;comments +Oracle Open Office Calc : Navigator;contents as lists +Oracle Open Office Calc : Navigator;docking +Oracle Open Office Calc : Navigator;for sheets +Oracle Open Office Calc : Navigator;working with +Oracle Open Office Calc : nearest multiple +Oracle Open Office Calc : negative binomial distribution +Oracle Open Office Calc : negative numbers +Oracle Open Office Calc : NEGBINOMDIST function +Oracle Open Office Calc : net annual interest rates +Oracle Open Office Calc : net charts +Oracle Open Office Calc : net present values +Oracle Open Office Calc : network identity options +Oracle Open Office Calc : NETWORKDAYS function +Oracle Open Office Calc : new databases +Oracle Open Office Calc : new documents +Oracle Open Office Calc : new lines in cells +Oracle Open Office Calc : new windows +Oracle Open Office Calc : NOMINAL function +Oracle Open Office Calc : nominal interest rates +Oracle Open Office Calc : NOMINAL_ADD function +Oracle Open Office Calc : non-breaking dashes +Oracle Open Office Calc : non-breaking spaces (Writer) +Oracle Open Office Calc : non-printing characters (Writer) +Oracle Open Office Calc : normal distribution +Oracle Open Office Calc : normal distribution;inverse of +Oracle Open Office Calc : normal distribution;inverse of standard +Oracle Open Office Calc : normal distribution;standard +Oracle Open Office Calc : normal distribution;statistics +Oracle Open Office Calc : NORMDIST function +Oracle Open Office Calc : NORMINV function +Oracle Open Office Calc : NORMSDIST function +Oracle Open Office Calc : NORMSINV function +Oracle Open Office Calc : NOT function +Oracle Open Office Calc : NOW function +Oracle Open Office Calc : NPER function +Oracle Open Office Calc : NPV function +Oracle Open Office Calc : null values +Oracle Open Office Calc : null values;printing +Oracle Open Office Calc : number completion on/off +Oracle Open Office Calc : number formats +Oracle Open Office Calc : number formats;adding/deleting decimal places in cells +Oracle Open Office Calc : number formats;codes +Oracle Open Office Calc : number formats;colors for negative numbers +Oracle Open Office Calc : number formats;formats +Oracle Open Office Calc : number formats;logical +Oracle Open Office Calc : number formats;millions +Oracle Open Office Calc : number formats;recognition in text tables +Oracle Open Office Calc : number of combinations +Oracle Open Office Calc : number of combinations with repetitions +Oracle Open Office Calc : number of coupons +Oracle Open Office Calc : number of days +Oracle Open Office Calc : number of days;in a specific month of a year +Oracle Open Office Calc : number of days;in a specific year +Oracle Open Office Calc : number of entries +Oracle Open Office Calc : number of months between two dates +Oracle Open Office Calc : number of pages +Oracle Open Office Calc : number of payment periods +Oracle Open Office Calc : number of permutations +Oracle Open Office Calc : number of sheets +Oracle Open Office Calc : number of sheets;function +Oracle Open Office Calc : number of sheets +Oracle Open Office Calc : number of tables +Oracle Open Office Calc : number of weeks +Oracle Open Office Calc : number of weeks;between two dates +Oracle Open Office Calc : number of weeks;in a specific year +Oracle Open Office Calc : number of years between two dates +Oracle Open Office Calc : number series import +Oracle Open Office Calc : numbering +Oracle Open Office Calc : numbering;options +Oracle Open Office Calc : numbering;turning off +Oracle Open Office Calc : numbering;using automatically +Oracle Open Office Calc : numbers +Oracle Open Office Calc : numbers;as text +Oracle Open Office Calc : numbers;changing text/number formats +Oracle Open Office Calc : numbers;counting +Oracle Open Office Calc : numbers;date, time and currency formats +Oracle Open Office Calc : numbers;decimal places +Oracle Open Office Calc : numbers;decimal places (Calc) +Oracle Open Office Calc : numbers;determining ranks +Oracle Open Office Calc : numbers;entering fractions +Oracle Open Office Calc : numbers;entering without number formats +Oracle Open Office Calc : numbers;filter sheets +Oracle Open Office Calc : numbers;formatting in tables +Oracle Open Office Calc : numbers;formatting options for selected cells +Oracle Open Office Calc : numbers;greater than or equal to +Oracle Open Office Calc : numbers;highlighting negative numbers +Oracle Open Office Calc : numbers;multiplying +Oracle Open Office Calc : numbers;rounded off +Oracle Open Office Calc : numbers;rounding down to next integer +Oracle Open Office Calc : numbers;rounding up/down to even integers +Oracle Open Office Calc : numbers;user-defined formatting in tables +Oracle Open Office Calc : numbers;with leading zeros +Oracle Open Office Calc : numerical fields in forms +Oracle Open Office Calc : objects +Oracle Open Office Calc : objects;always moveable (Impress/Draw) +Oracle Open Office Calc : objects;arranging within stacks +Oracle Open Office Calc : objects;copying when moving in presentations +Oracle Open Office Calc : objects;definition +Oracle Open Office Calc : objects;displaying in spreadsheets +Oracle Open Office Calc : objects;displaying in text documents +Oracle Open Office Calc : objects;editing +Oracle Open Office Calc : objects;inserting from Gallery +Oracle Open Office Calc : objects;inserting OLE objects +Oracle Open Office Calc : objects;moving and resizing with mouse +Oracle Open Office Calc : objects;naming +Oracle Open Office Calc : objects;opening +Oracle Open Office Calc : objects;properties of charts +Oracle Open Office Calc : objects;quickly moving to +Oracle Open Office Calc : objects;titles and descriptions +Oracle Open Office Calc : OCT2BIN function +Oracle Open Office Calc : OCT2DEC function +Oracle Open Office Calc : OCT2HEX function +Oracle Open Office Calc : ODBC +Oracle Open Office Calc : ODBC;database (Base) +Oracle Open Office Calc : ODBC;definition +Oracle Open Office Calc : ODD function +Oracle Open Office Calc : odd integers +Oracle Open Office Calc : ODDFPRICE function +Oracle Open Office Calc : ODDFYIELD function +Oracle Open Office Calc : ODDLPRICE function +Oracle Open Office Calc : ODDLYIELD function +Oracle Open Office Calc : ODF file formats +Oracle Open Office Calc : Office +Oracle Open Office Calc : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Calc : OFFSET function +Oracle Open Office Calc : OLE +Oracle Open Office Calc : OLE;definition +Oracle Open Office Calc : OLE objects +Oracle Open Office Calc : OLE objects;arranging within stacks +Oracle Open Office Calc : OLE objects;captions (Writer) +Oracle Open Office Calc : OLE objects;inserting +Oracle Open Office Calc : OLE objects;number of +Oracle Open Office Calc : OLE objects;protecting +Oracle Open Office Calc : one and a half line spacing in text +Oracle Open Office Calc : online feedback options +Oracle Open Office Calc : online registration +Oracle Open Office Calc : online update options +Oracle Open Office Calc : online updates +Oracle Open Office Calc : online updates;checking automatically +Oracle Open Office Calc : online updates;checking manually +Oracle Open Office Calc : Open/Save dialogs +Oracle Open Office Calc : OpenDocument file formats +Oracle Open Office Calc : OpenGL +Oracle Open Office Calc : OpenGL;definition +Oracle Open Office Calc : opening +Oracle Open Office Calc : opening;context menus +Oracle Open Office Calc : opening;database files +Oracle Open Office Calc : opening;dialog settings +Oracle Open Office Calc : opening;documents +Oracle Open Office Calc : opening;documents from other formats +Oracle Open Office Calc : opening;documents on WebDAV server +Oracle Open Office Calc : opening;files with links +Oracle Open Office Calc : opening;files, with placeholders +Oracle Open Office Calc : opening;forms +Oracle Open Office Calc : opening;Microsoft Office files +Oracle Open Office Calc : opening;mobile device documents +Oracle Open Office Calc : opening;objects +Oracle Open Office Calc : opening;reports +Oracle Open Office Calc : opening;scenarios +Oracle Open Office Calc : opening;several files +Oracle Open Office Calc : opening;sheets in HTML +Oracle Open Office Calc : opening;text csv files +Oracle Open Office Calc : opening;XForms +Oracle Open Office Calc : operators +Oracle Open Office Calc : operators;default filters +Oracle Open Office Calc : operators;formula functions +Oracle Open Office Calc : optimal column widths +Oracle Open Office Calc : optimal row heights +Oracle Open Office Calc : optional hyphens (Writer) +Oracle Open Office Calc : options +Oracle Open Office Calc : options;accessibility +Oracle Open Office Calc : options;appearance +Oracle Open Office Calc : options;compatibility (Writer) +Oracle Open Office Calc : options;improvement program +Oracle Open Office Calc : options;network identity +Oracle Open Office Calc : options;online update +Oracle Open Office Calc : options;tools +Oracle Open Office Calc : OR function +Oracle Open Office Calc : Oracle databases (base) +Oracle Open Office Calc : Oracle Open Office Base data sources +Oracle Open Office Calc : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Calc : Oracle Open Office documents +Oracle Open Office Calc : Oracle Open Office documents;mobile device filters +Oracle Open Office Calc : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Calc : Oracle Open Office Math start +Oracle Open Office Calc : order of chart data +Oracle Open Office Calc : ordering +Oracle Open Office Calc : ordering;objects +Oracle Open Office Calc : organizing +Oracle Open Office Calc : organizing;macros and scripts +Oracle Open Office Calc : organizing;namespaces in XForms +Oracle Open Office Calc : organizing;styles +Oracle Open Office Calc : organizing;templates +Oracle Open Office Calc : original size +Oracle Open Office Calc : original size;printing in Oracle Open Office Math +Oracle Open Office Calc : original size;restoring after cropping +Oracle Open Office Calc : outlines +Oracle Open Office Calc : outlines;font effects +Oracle Open Office Calc : outlines;outline symbols +Oracle Open Office Calc : outlines;sending to presentations +Oracle Open Office Calc : outlines;sheets +Oracle Open Office Calc : output ranges of DataPilot tables +Oracle Open Office Calc : overwrite mode +Oracle Open Office Calc : packages, see extensions +Oracle Open Office Calc : page breaks +Oracle Open Office Calc : page breaks;displaying (Calc) +Oracle Open Office Calc : page breaks;inserting in spreadsheets +Oracle Open Office Calc : page breaks;spreadsheet preview +Oracle Open Office Calc : page formats +Oracle Open Office Calc : page formats;maximizing +Oracle Open Office Calc : page formats;restriction +Oracle Open Office Calc : page styles +Oracle Open Office Calc : page styles;editing/applying with statusbar +Oracle Open Office Calc : page styles;footers +Oracle Open Office Calc : page styles;headers +Oracle Open Office Calc : page views +Oracle Open Office Calc : page views;increasing scales +Oracle Open Office Calc : page views;reducing scales +Oracle Open Office Calc : pages +Oracle Open Office Calc : pages;backgrounds in all applications +Oracle Open Office Calc : pages;formatting and numbering +Oracle Open Office Calc : pages;order when printing +Oracle Open Office Calc : pages;printing page names in presentations +Oracle Open Office Calc : pages;scaling +Oracle Open Office Calc : pages;selecting one to print +Oracle Open Office Calc : paint box +Oracle Open Office Calc : paint can for applying styles +Oracle Open Office Calc : paint can symbol +Oracle Open Office Calc : pair kerning +Oracle Open Office Calc : Palm file filters +Oracle Open Office Calc : paper formats +Oracle Open Office Calc : paper size warning +Oracle Open Office Calc : paper trays +Oracle Open Office Calc : paragraph marks +Oracle Open Office Calc : paragraph marks;displaying (Writer) +Oracle Open Office Calc : paragraph styles +Oracle Open Office Calc : paragraph styles;languages +Oracle Open Office Calc : paragraph styles;modifying basic fonts +Oracle Open Office Calc : paragraphs +Oracle Open Office Calc : paragraphs;alignment +Oracle Open Office Calc : paragraphs;Asian typography +Oracle Open Office Calc : paragraphs;defining borders +Oracle Open Office Calc : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Calc : paragraphs;increasing indents of +Oracle Open Office Calc : paragraphs;indents, margins and columns +Oracle Open Office Calc : paragraphs;inserting bullets +Oracle Open Office Calc : paragraphs;joining +Oracle Open Office Calc : paragraphs;numbering automatically +Oracle Open Office Calc : paragraphs;removing blank ones +Oracle Open Office Calc : paragraphs;spacing +Oracle Open Office Calc : paragraphs;tab stops +Oracle Open Office Calc : parameters +Oracle Open Office Calc : parameters;command line +Oracle Open Office Calc : parameters;queries (Base) +Oracle Open Office Calc : passwords for protecting contents +Oracle Open Office Calc : pasting +Oracle Open Office Calc : pasting;cell ranges +Oracle Open Office Calc : pasting;cell ranges from spreadsheets +Oracle Open Office Calc : pasting;data from text documents +Oracle Open Office Calc : pasting;draw objects +Oracle Open Office Calc : pasting;draw objects from other documents +Oracle Open Office Calc : pasting;formatted/unformatted text +Oracle Open Office Calc : pasting;formulas +Oracle Open Office Calc : pasting;from data source view +Oracle Open Office Calc : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Calc : pasting;pictures from other documents +Oracle Open Office Calc : pasting;sheet areas in text documents +Oracle Open Office Calc : pasting;to Gallery +Oracle Open Office Calc : pasting;values in multiple sheets +Oracle Open Office Calc : paths +Oracle Open Office Calc : paths;changing work directory +Oracle Open Office Calc : paths;defaults +Oracle Open Office Calc : pattern editor +Oracle Open Office Calc : pattern fields +Oracle Open Office Calc : pattern fields;form functions +Oracle Open Office Calc : patterns for objects +Oracle Open Office Calc : payment periods +Oracle Open Office Calc : payment periods;number of +Oracle Open Office Calc : PDF +Oracle Open Office Calc : PDF;export +Oracle Open Office Calc : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Calc : PDF export of print ranges +Oracle Open Office Calc : PEARSON function +Oracle Open Office Calc : percentage calculations +Oracle Open Office Calc : PERCENTILE function +Oracle Open Office Calc : PERCENTRANK function +Oracle Open Office Calc : periodic amortizement rates +Oracle Open Office Calc : permitted cell contents +Oracle Open Office Calc : PERMUT function +Oracle Open Office Calc : PERMUTATIONA function +Oracle Open Office Calc : personal data input +Oracle Open Office Calc : PHI function +Oracle Open Office Calc : phonebook sorting rules +Oracle Open Office Calc : phonetic guide +Oracle Open Office Calc : PI function +Oracle Open Office Calc : picklist creation +Oracle Open Office Calc : pictures +Oracle Open Office Calc : pictures;adding to Gallery +Oracle Open Office Calc : pictures;arranging within stacks +Oracle Open Office Calc : pictures;assigning macros +Oracle Open Office Calc : pictures;backgrounds +Oracle Open Office Calc : pictures;captions (Writer) +Oracle Open Office Calc : pictures;changing paths +Oracle Open Office Calc : pictures;cropping and zooming +Oracle Open Office Calc : pictures;displaying in Calc +Oracle Open Office Calc : pictures;displaying in Writer (Writer) +Oracle Open Office Calc : pictures;drag and drop between documents +Oracle Open Office Calc : pictures;drawing +Oracle Open Office Calc : pictures;editing +Oracle Open Office Calc : pictures;filters +Oracle Open Office Calc : pictures;ImageMap +Oracle Open Office Calc : pictures;inserting automatically +Oracle Open Office Calc : pictures;inserting from Gallery +Oracle Open Office Calc : pictures;number of +Oracle Open Office Calc : pictures;printing +Oracle Open Office Calc : pictures;scaling/resizing +Oracle Open Office Calc : pie charts +Oracle Open Office Calc : pie charts;options +Oracle Open Office Calc : pie charts;types +Oracle Open Office Calc : Pivot table import +Oracle Open Office Calc : Pivot table, see DataPilot function +Oracle Open Office Calc : pixel editor +Oracle Open Office Calc : pixel graphics +Oracle Open Office Calc : pixel graphics;inserting and editing +Oracle Open Office Calc : pixel patterns +Oracle Open Office Calc : placeholders +Oracle Open Office Calc : placeholders;in SQL queries +Oracle Open Office Calc : placeholders;on opening files +Oracle Open Office Calc : placing toolbars +Oracle Open Office Calc : playing movies and sound files +Oracle Open Office Calc : plotting data as charts +Oracle Open Office Calc : plug-ins +Oracle Open Office Calc : plug-ins;activating and deactivating +Oracle Open Office Calc : plug-ins;definition +Oracle Open Office Calc : plug-ins;inserting +Oracle Open Office Calc : plus sign, see also operators +Oracle Open Office Calc : PMT function +Oracle Open Office Calc : pocket device appliances +Oracle Open Office Calc : Pocket PC file filters +Oracle Open Office Calc : points +Oracle Open Office Calc : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Calc : points of intersection +Oracle Open Office Calc : POISSON function +Oracle Open Office Calc : polygon drawing +Oracle Open Office Calc : pop-art filter +Oracle Open Office Calc : portable document format +Oracle Open Office Calc : positioning +Oracle Open Office Calc : positioning;axes +Oracle Open Office Calc : positioning;draw objects and controls +Oracle Open Office Calc : positioning;fonts +Oracle Open Office Calc : positioning;objects +Oracle Open Office Calc : positioning;toolbars +Oracle Open Office Calc : post method for form transmissions +Oracle Open Office Calc : posterizing filter +Oracle Open Office Calc : PostScript +Oracle Open Office Calc : PostScript;creating files +Oracle Open Office Calc : PostScript;PDF converter, UNIX +Oracle Open Office Calc : POWER function +Oracle Open Office Calc : PowerPoint export +Oracle Open Office Calc : powers of 2 calculations +Oracle Open Office Calc : PPMT function +Oracle Open Office Calc : precision as shown +Oracle Open Office Calc : precision as shown (Calc) +Oracle Open Office Calc : predefining fonts +Oracle Open Office Calc : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Calc : present values +Oracle Open Office Calc : presentations +Oracle Open Office Calc : presentations;creating/opening +Oracle Open Office Calc : presentations;inserting spreadsheet cells +Oracle Open Office Calc : presentations;live on the Internet +Oracle Open Office Calc : presentations;print menu +Oracle Open Office Calc : presentations;saving +Oracle Open Office Calc : presentations;saving automatically +Oracle Open Office Calc : presentations;saving in other formats +Oracle Open Office Calc : presentations;sending as e-mail +Oracle Open Office Calc : presentations;starting with wizard +Oracle Open Office Calc : presentations;wizards +Oracle Open Office Calc : Presenter Console shortcuts +Oracle Open Office Calc : press buttons, see push buttons +Oracle Open Office Calc : previews +Oracle Open Office Calc : previews;fonts lists +Oracle Open Office Calc : previews;page breaks for printing +Oracle Open Office Calc : PRICE function +Oracle Open Office Calc : PRICEDISC function +Oracle Open Office Calc : PRICEMAT function +Oracle Open Office Calc : prices +Oracle Open Office Calc : prices;fixed interest securities +Oracle Open Office Calc : prices;interest-bearing securities +Oracle Open Office Calc : prices;non-interest-bearing securities +Oracle Open Office Calc : prices;securities with irregular first interest date +Oracle Open Office Calc : prices;treasury bills +Oracle Open Office Calc : primary keys +Oracle Open Office Calc : primary keys;defining +Oracle Open Office Calc : primary keys;design view +Oracle Open Office Calc : primary keys;inserting (Base) +Oracle Open Office Calc : print area selection +Oracle Open Office Calc : print ranges +Oracle Open Office Calc : printer metrics for document formatting (Writer) +Oracle Open Office Calc : printers +Oracle Open Office Calc : printers;adding, UNIX +Oracle Open Office Calc : printers;choosing +Oracle Open Office Calc : printers;default printer +Oracle Open Office Calc : printers;faxes under UNIX +Oracle Open Office Calc : printers;maximum page formats +Oracle Open Office Calc : printers;paper trays +Oracle Open Office Calc : printers;properties +Oracle Open Office Calc : printing +Oracle Open Office Calc : printing;black and white +Oracle Open Office Calc : printing;brochures +Oracle Open Office Calc : printing;cells +Oracle Open Office Calc : printing;colors in grayscale +Oracle Open Office Calc : printing;comments +Oracle Open Office Calc : printing;copies +Oracle Open Office Calc : printing;creating individual jobs +Oracle Open Office Calc : printing;dates in presentations +Oracle Open Office Calc : printing;directly +Oracle Open Office Calc : printing;documents +Oracle Open Office Calc : printing;drawings defaults +Oracle Open Office Calc : printing;elements in text documents +Oracle Open Office Calc : printing;faster +Oracle Open Office Calc : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Calc : printing;fitting to pages in presentations +Oracle Open Office Calc : printing;formulas in Oracle Open Office Math +Oracle Open Office Calc : printing;hidden pages of presentations +Oracle Open Office Calc : printing;in original size in Oracle Open Office Math +Oracle Open Office Calc : printing;landscape +Oracle Open Office Calc : printing;left/right pages +Oracle Open Office Calc : printing;page order +Oracle Open Office Calc : printing;queries (Base) +Oracle Open Office Calc : printing;rows/columns as table headings +Oracle Open Office Calc : printing;scaling in Oracle Open Office Math +Oracle Open Office Calc : printing;selections +Oracle Open Office Calc : printing;sheet counts +Oracle Open Office Calc : printing;sheet details +Oracle Open Office Calc : printing;sheet selections +Oracle Open Office Calc : printing;sheets on multiple pages +Oracle Open Office Calc : printing;text always in black +Oracle Open Office Calc : printing;text in reverse order +Oracle Open Office Calc : printing;tiling pages in presentations +Oracle Open Office Calc : printing;transparencies +Oracle Open Office Calc : printing;warnings +Oracle Open Office Calc : printing;without scaling in presentations +Oracle Open Office Calc : printing speed +Oracle Open Office Calc : PROB function +Oracle Open Office Calc : probabilities of samples with binomial distribution +Oracle Open Office Calc : PRODUCT function +Oracle Open Office Calc : programming +Oracle Open Office Calc : programming;add-ins +Oracle Open Office Calc : programming;functions +Oracle Open Office Calc : programming;Oracle Open Office +Oracle Open Office Calc : programming;scripting +Oracle Open Office Calc : PROPER function +Oracle Open Office Calc : properties +Oracle Open Office Calc : properties;charts +Oracle Open Office Calc : properties;fields in databases +Oracle Open Office Calc : properties;files +Oracle Open Office Calc : properties;form controls +Oracle Open Office Calc : properties;forms +Oracle Open Office Calc : properties;printers +Oracle Open Office Calc : properties;smooth lines in line charts/XY charts +Oracle Open Office Calc : protected contents +Oracle Open Office Calc : protected dashes +Oracle Open Office Calc : protected database tables +Oracle Open Office Calc : protected documents +Oracle Open Office Calc : protected spaces +Oracle Open Office Calc : protected spaces;inserting +Oracle Open Office Calc : protected spaces;showing (Writer) +Oracle Open Office Calc : protecting +Oracle Open Office Calc : protecting;cells and sheets +Oracle Open Office Calc : protecting;contents +Oracle Open Office Calc : protecting;recorded changes +Oracle Open Office Calc : protecting;unprotecting cells +Oracle Open Office Calc : proxy settings +Oracle Open Office Calc : push buttons +Oracle Open Office Calc : push buttons;adding to documents +Oracle Open Office Calc : push buttons;creating +Oracle Open Office Calc : PV function +Oracle Open Office Calc : QUARTILE function +Oracle Open Office Calc : queries +Oracle Open Office Calc : queries;copying (Base) +Oracle Open Office Calc : queries;creating in design view (Base) +Oracle Open Office Calc : queries;creating in SQL view +Oracle Open Office Calc : queries;defining (Base) +Oracle Open Office Calc : queries;deleting table links (Base) +Oracle Open Office Calc : queries;editing in data source view +Oracle Open Office Calc : queries;formulating filter conditions (Base) +Oracle Open Office Calc : queries;joining tables (Base) +Oracle Open Office Calc : queries;missing elements (Base) +Oracle Open Office Calc : queries;overview (Base) +Oracle Open Office Calc : queries;parameter queries (Base) +Oracle Open Office Calc : queries;printing (Base) +Oracle Open Office Calc : Query Wizard (Base) +Oracle Open Office Calc : Quickstarter +Oracle Open Office Calc : quotation marks +Oracle Open Office Calc : quotation marks;replacing +Oracle Open Office Calc : quotes +Oracle Open Office Calc : quotes;custom +Oracle Open Office Calc : QUOTIENT function +Oracle Open Office Calc : radar charts, see net charts +Oracle Open Office Calc : RADIANS function +Oracle Open Office Calc : radio button creation +Oracle Open Office Calc : RAND function +Oracle Open Office Calc : RANDBETWEEN function +Oracle Open Office Calc : random numbers +Oracle Open Office Calc : random numbers;between 0 and 1 +Oracle Open Office Calc : random numbers;between limits +Oracle Open Office Calc : random numbers;examples +Oracle Open Office Calc : ranges +Oracle Open Office Calc : ranges;combining +Oracle Open Office Calc : ranges;defining database ranges +Oracle Open Office Calc : ranges;inserting in tables +Oracle Open Office Calc : ranges;print ranges +Oracle Open Office Calc : RANK function +Oracle Open Office Calc : RATE function +Oracle Open Office Calc : rates of return +Oracle Open Office Calc : rates of return;non-interest-bearing securities +Oracle Open Office Calc : rates of return;securities +Oracle Open Office Calc : rates of return;securities with interest paid on maturity +Oracle Open Office Calc : rates of return of treasury bills +Oracle Open Office Calc : read-only documents +Oracle Open Office Calc : read-only documents;cursor +Oracle Open Office Calc : read-only documents;database tables on/off +Oracle Open Office Calc : read-only documents;editing +Oracle Open Office Calc : read-only documents;opening documents as +Oracle Open Office Calc : read-only items in Data Navigator +Oracle Open Office Calc : recalculating +Oracle Open Office Calc : recalculating;all formulas in sheets +Oracle Open Office Calc : recalculating;auto calculating sheets +Oracle Open Office Calc : recalculating;DataPilot tables +Oracle Open Office Calc : RECEIVED function +Oracle Open Office Calc : recognizing +Oracle Open Office Calc : recognizing;column and row labels +Oracle Open Office Calc : recognizing;equal numbers +Oracle Open Office Calc : recognizing;general errors +Oracle Open Office Calc : recognizing formula cells +Oracle Open Office Calc : recognizing URLs automatically +Oracle Open Office Calc : recording +Oracle Open Office Calc : recording;changes +Oracle Open Office Calc : recording;macros +Oracle Open Office Calc : records +Oracle Open Office Calc : records;counting in Calc databases +Oracle Open Office Calc : records;inserting comments +Oracle Open Office Calc : records;protecting +Oracle Open Office Calc : records;saving +Oracle Open Office Calc : records;searching in databases +Oracle Open Office Calc : rectangles with round corners +Oracle Open Office Calc : recursions in spreadsheets +Oracle Open Office Calc : redo command +Oracle Open Office Calc : reduced printing +Oracle Open Office Calc : reference lines +Oracle Open Office Calc : reference operators +Oracle Open Office Calc : references +Oracle Open Office Calc : references;absolute/relative +Oracle Open Office Calc : references;by defined names +Oracle Open Office Calc : references;displaying in color (Calc) +Oracle Open Office Calc : references;expanding (Calc) +Oracle Open Office Calc : references;inserting by drag and drop +Oracle Open Office Calc : references;iterative (Calc) +Oracle Open Office Calc : references;testing cell contents +Oracle Open Office Calc : references;to cells +Oracle Open Office Calc : references;to cells in other sheets/documents +Oracle Open Office Calc : references;URL in cells +Oracle Open Office Calc : register-true +Oracle Open Office Calc : register-true;definition +Oracle Open Office Calc : registering +Oracle Open Office Calc : registering;address books +Oracle Open Office Calc : registering;databases (Base) +Oracle Open Office Calc : registering;Oracle Open Office +Oracle Open Office Calc : regression analysis +Oracle Open Office Calc : regression curves in charts +Oracle Open Office Calc : regression lines +Oracle Open Office Calc : regression lines;FORECAST function +Oracle Open Office Calc : regression lines;LINEST function +Oracle Open Office Calc : regular expressions +Oracle Open Office Calc : regular expressions;list of +Oracle Open Office Calc : regular expressions;opening files +Oracle Open Office Calc : relational databases (Base) +Oracle Open Office Calc : relations +Oracle Open Office Calc : relations;creating and deleting (Base) +Oracle Open Office Calc : relations;joining tables (Base) +Oracle Open Office Calc : relations;properties (Base) +Oracle Open Office Calc : relative addresses +Oracle Open Office Calc : relative hyperlinks +Oracle Open Office Calc : relative references +Oracle Open Office Calc : relative saving of URLs +Oracle Open Office Calc : reloading +Oracle Open Office Calc : reloading;documents +Oracle Open Office Calc : reloading;HTML documents, automatically +Oracle Open Office Calc : remainders of divisions +Oracle Open Office Calc : remarks on cells +Oracle Open Office Calc : remarks, see also comments +Oracle Open Office Calc : remote configurations +Oracle Open Office Calc : remove noise filter +Oracle Open Office Calc : removing +Oracle Open Office Calc : removing;bullets and numbering +Oracle Open Office Calc : removing;cell range filters +Oracle Open Office Calc : removing;filters +Oracle Open Office Calc : removing;form filters +Oracle Open Office Calc : removing, see also deleting +Oracle Open Office Calc : renaming +Oracle Open Office Calc : renaming;cells +Oracle Open Office Calc : renaming;sheets +Oracle Open Office Calc : reorganizing charts +Oracle Open Office Calc : repayment installment +Oracle Open Office Calc : repeating +Oracle Open Office Calc : repeating;columns/rows on printed pages +Oracle Open Office Calc : repeating;commands +Oracle Open Office Calc : REPLACE function +Oracle Open Office Calc : replacement options +Oracle Open Office Calc : replacement table +Oracle Open Office Calc : replacing +Oracle Open Office Calc : replacing;AutoCorrect function +Oracle Open Office Calc : replacing;cell contents +Oracle Open Office Calc : replacing;dashes +Oracle Open Office Calc : replacing;tab stops (regular expressions) +Oracle Open Office Calc : Report Builder +Oracle Open Office Calc : reports +Oracle Open Office Calc : reports;creating +Oracle Open Office Calc : reports;error reports +Oracle Open Office Calc : reports;opening and editing +Oracle Open Office Calc : reports;templates +Oracle Open Office Calc : REPT function +Oracle Open Office Calc : resetting +Oracle Open Office Calc : resetting;templates +Oracle Open Office Calc : resizing +Oracle Open Office Calc : resizing;objects, by mouse +Oracle Open Office Calc : resizing, see also scaling/zooming +Oracle Open Office Calc : resolution when printing bitmaps +Oracle Open Office Calc : restoring +Oracle Open Office Calc : restoring;default formatting +Oracle Open Office Calc : restoring;editing +Oracle Open Office Calc : results display vs. formulas display +Oracle Open Office Calc : reversing printing order +Oracle Open Office Calc : review function +Oracle Open Office Calc : review function;accepting or rejecting changes +Oracle Open Office Calc : review function;comparing documents +Oracle Open Office Calc : review function;protecting records +Oracle Open Office Calc : review function;recording changes example +Oracle Open Office Calc : rich text control +Oracle Open Office Calc : right alignment of paragraphs +Oracle Open Office Calc : RIGHT function +Oracle Open Office Calc : right joins (Base) +Oracle Open Office Calc : right-to-left text +Oracle Open Office Calc : right-to-left text +Oracle Open Office Calc : right-to-left text;spreadsheets +Oracle Open Office Calc : ROMAN function +Oracle Open Office Calc : ROT13 function +Oracle Open Office Calc : rotating +Oracle Open Office Calc : rotating;3D text +Oracle Open Office Calc : rotating;tables +Oracle Open Office Calc : rotating;text in cells +Oracle Open Office Calc : round corners +Oracle Open Office Calc : ROUND function +Oracle Open Office Calc : ROUNDDOWN function +Oracle Open Office Calc : rounded off numbers +Oracle Open Office Calc : rounding +Oracle Open Office Calc : rounding;down to nearest multiple of significance +Oracle Open Office Calc : rounding;down to next integer +Oracle Open Office Calc : rounding;up to multiples of significance +Oracle Open Office Calc : rounding;up/down to even integers +Oracle Open Office Calc : rounding;up/down to nearest odd integer +Oracle Open Office Calc : rounding precision +Oracle Open Office Calc : rounding precision (Calc) +Oracle Open Office Calc : ROUNDUP function +Oracle Open Office Calc : row breaks +Oracle Open Office Calc : row breaks;deleting +Oracle Open Office Calc : row breaks;inserting +Oracle Open Office Calc : ROW function +Oracle Open Office Calc : row headers +Oracle Open Office Calc : row headers;displaying (Calc) +Oracle Open Office Calc : row headers;hiding +Oracle Open Office Calc : row headers;highlighting (Calc) +Oracle Open Office Calc : row headers;using in formulas +Oracle Open Office Calc : rows +Oracle Open Office Calc : rows;deleting +Oracle Open Office Calc : rows;finding labels automatically +Oracle Open Office Calc : rows;freezing +Oracle Open Office Calc : rows;heights +Oracle Open Office Calc : rows;hiding +Oracle Open Office Calc : rows;inserting +Oracle Open Office Calc : rows;optimal heights +Oracle Open Office Calc : rows;removing/redisplaying with filters +Oracle Open Office Calc : rows;repeating when printing +Oracle Open Office Calc : rows;swapping with columns +Oracle Open Office Calc : rows;visible and invisible +Oracle Open Office Calc : ROWS function +Oracle Open Office Calc : rows, see also cells +Oracle Open Office Calc : RRI function +Oracle Open Office Calc : RSQ calculations +Oracle Open Office Calc : RSQ function +Oracle Open Office Calc : rulers +Oracle Open Office Calc : rulers;default settings +Oracle Open Office Calc : rulers;measurement units +Oracle Open Office Calc : rulers;visible in presentations +Oracle Open Office Calc : sales values +Oracle Open Office Calc : sales values;fixed interest securities +Oracle Open Office Calc : sales values;non-interest-bearing securities +Oracle Open Office Calc : samples and templates +Oracle Open Office Calc : sampling without replacement +Oracle Open Office Calc : saving +Oracle Open Office Calc : saving;as text csv +Oracle Open Office Calc : saving;default file formats +Oracle Open Office Calc : saving;dialog settings +Oracle Open Office Calc : saving;documents +Oracle Open Office Calc : saving;documents for mobile devices +Oracle Open Office Calc : saving;documents in other formats +Oracle Open Office Calc : saving;documents, automatically +Oracle Open Office Calc : saving;in Microsoft Office file format +Oracle Open Office Calc : saving;options +Oracle Open Office Calc : saving;sheets in HTML +Oracle Open Office Calc : saving;templates +Oracle Open Office Calc : saving;to XML +Oracle Open Office Calc : saving;VBA code in Microsoft Office documents +Oracle Open Office Calc : saving;with password by default +Oracle Open Office Calc : saving as command +Oracle Open Office Calc : saving as command;precautions +Oracle Open Office Calc : scalar products +Oracle Open Office Calc : scaling +Oracle Open Office Calc : scaling;axes +Oracle Open Office Calc : scaling;font sizes in user interface +Oracle Open Office Calc : scaling;objects +Oracle Open Office Calc : scaling;pictures +Oracle Open Office Calc : scaling;printing in Oracle Open Office Math +Oracle Open Office Calc : scaling;text in charts +Oracle Open Office Calc : scaling;when printing presentations +Oracle Open Office Calc : scaling, see also zooming +Oracle Open Office Calc : scatter charts +Oracle Open Office Calc : scenarios +Oracle Open Office Calc : scenarios;creating/editing/deleting +Oracle Open Office Calc : scenarios;displaying names +Oracle Open Office Calc : screen +Oracle Open Office Calc : screen;full screen views +Oracle Open Office Calc : screen;scaling +Oracle Open Office Calc : screen magnifiers +Oracle Open Office Calc : screen readers +Oracle Open Office Calc : script organization +Oracle Open Office Calc : scrollbars +Oracle Open Office Calc : scrollbars;controls +Oracle Open Office Calc : scrollbars;displaying (Calc) +Oracle Open Office Calc : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Calc : scrolling prevention in tables +Oracle Open Office Calc : search criteria for database functions in cells +Oracle Open Office Calc : search engines +Oracle Open Office Calc : search engines;definition +Oracle Open Office Calc : search engines;selecting +Oracle Open Office Calc : SEARCH function +Oracle Open Office Calc : searching +Oracle Open Office Calc : searching;all sheets +Oracle Open Office Calc : searching;cell contents in Calc databases +Oracle Open Office Calc : searching;databases +Oracle Open Office Calc : searching;form filters +Oracle Open Office Calc : searching;Internet +Oracle Open Office Calc : searching;links in cells +Oracle Open Office Calc : searching;maximum values in columns +Oracle Open Office Calc : searching;minimum values in columns +Oracle Open Office Calc : searching;tables and forms +Oracle Open Office Calc : searching, see also finding +Oracle Open Office Calc : SECOND function +Oracle Open Office Calc : secondary axes in charts +Oracle Open Office Calc : sections +Oracle Open Office Calc : sections;backgrounds +Oracle Open Office Calc : securities +Oracle Open Office Calc : securities;first interest payment until settlement date +Oracle Open Office Calc : security +Oracle Open Office Calc : security;digital signatures +Oracle Open Office Calc : security;options for documents with macros +Oracle Open Office Calc : security;protecting contents +Oracle Open Office Calc : security;security levels for macros +Oracle Open Office Calc : security;warning dialogs with macros +Oracle Open Office Calc : selecting +Oracle Open Office Calc : selecting;cells +Oracle Open Office Calc : selecting;controls +Oracle Open Office Calc : selecting;formatting themes +Oracle Open Office Calc : selecting;measurement units +Oracle Open Office Calc : selecting;multiple sheets +Oracle Open Office Calc : selecting;objects +Oracle Open Office Calc : selecting;print areas +Oracle Open Office Calc : selecting;scenarios in Navigator +Oracle Open Office Calc : selecting;several files +Oracle Open Office Calc : selection clipboard +Oracle Open Office Calc : selection frames +Oracle Open Office Calc : selection lists +Oracle Open Office Calc : selection lists;filling cells +Oracle Open Office Calc : selection lists;validity +Oracle Open Office Calc : selection modes in spreadsheets +Oracle Open Office Calc : selection modes in text +Oracle Open Office Calc : sending +Oracle Open Office Calc : sending;AutoAbstract function in presentations +Oracle Open Office Calc : sending;documents as e-mail +Oracle Open Office Calc : sending;documents as faxes +Oracle Open Office Calc : separator lines +Oracle Open Office Calc : separator lines;defining +Oracle Open Office Calc : separators +Oracle Open Office Calc : separators;conditional +Oracle Open Office Calc : series +Oracle Open Office Calc : series;calculating +Oracle Open Office Calc : series;sort lists +Oracle Open Office Calc : SERIESSUM function +Oracle Open Office Calc : Server Side ImageMap +Oracle Open Office Calc : settings +Oracle Open Office Calc : settings;printers +Oracle Open Office Calc : settings;program configuration +Oracle Open Office Calc : settings;proxies +Oracle Open Office Calc : settings;tracking changes +Oracle Open Office Calc : settings;views +Oracle Open Office Calc : SGML +Oracle Open Office Calc : SGML;definition +Oracle Open Office Calc : shadows +Oracle Open Office Calc : shadows;areas +Oracle Open Office Calc : shadows;borders +Oracle Open Office Calc : shadows;characters +Oracle Open Office Calc : shadows;characters, using context menu +Oracle Open Office Calc : shared libraries +Oracle Open Office Calc : shared libraries;programming +Oracle Open Office Calc : sharing documents +Oracle Open Office Calc : sharpening filter +Oracle Open Office Calc : sheet area names +Oracle Open Office Calc : SHEET function +Oracle Open Office Calc : sheet grids +Oracle Open Office Calc : sheet grids;printing +Oracle Open Office Calc : sheet numbers +Oracle Open Office Calc : sheet numbers;looking up +Oracle Open Office Calc : sheet ranges +Oracle Open Office Calc : sheet ranges;filling +Oracle Open Office Calc : sheet references +Oracle Open Office Calc : sheet tabs +Oracle Open Office Calc : sheet tabs;displaying +Oracle Open Office Calc : sheet tabs;renaming +Oracle Open Office Calc : sheet tabs;using +Oracle Open Office Calc : sheets +Oracle Open Office Calc : sheets;AutoFormat function +Oracle Open Office Calc : sheets;creating +Oracle Open Office Calc : sheets;defining label ranges +Oracle Open Office Calc : sheets;deleting +Oracle Open Office Calc : sheets;displaying +Oracle Open Office Calc : sheets;filter values +Oracle Open Office Calc : sheets;formatting themes +Oracle Open Office Calc : sheets;hiding +Oracle Open Office Calc : sheets;hiding details +Oracle Open Office Calc : sheets;HTML +Oracle Open Office Calc : sheets;inserting +Oracle Open Office Calc : sheets;inserting row breaks +Oracle Open Office Calc : sheets;optimal row heights +Oracle Open Office Calc : sheets;outlines +Oracle Open Office Calc : sheets;printing details +Oracle Open Office Calc : sheets;printing in landscape +Oracle Open Office Calc : sheets;printing on multiple pages +Oracle Open Office Calc : sheets;printing sheet counts +Oracle Open Office Calc : sheets;protecting +Oracle Open Office Calc : sheets;renaming +Oracle Open Office Calc : sheets;right-to-left +Oracle Open Office Calc : sheets;searching all +Oracle Open Office Calc : sheets;selecting multiple +Oracle Open Office Calc : sheets;showing multiple +Oracle Open Office Calc : sheets;simultaneous multiple filling +Oracle Open Office Calc : SHEETS function +Oracle Open Office Calc : shortcut keys +Oracle Open Office Calc : shortcut keys;assigning macros +Oracle Open Office Calc : shortcut keys;charts +Oracle Open Office Calc : shortcut keys;general +Oracle Open Office Calc : shortcut keys;in databases +Oracle Open Office Calc : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Calc : shortcut keys;Oracle Open Office Calc accessibility +Oracle Open Office Calc : shortcut keys;spreadsheets +Oracle Open Office Calc : showing +Oracle Open Office Calc : showing;cell references +Oracle Open Office Calc : showing;changes +Oracle Open Office Calc : showing;columns +Oracle Open Office Calc : showing;docked windows +Oracle Open Office Calc : showing;drawings and controls (Writer) +Oracle Open Office Calc : showing;live presentations on the Internet +Oracle Open Office Calc : showing;rows +Oracle Open Office Calc : showing;sheet details +Oracle Open Office Calc : showing;toolbars +Oracle Open Office Calc : SIGN function +Oracle Open Office Calc : signing documents with digital signatures +Oracle Open Office Calc : similarity search +Oracle Open Office Calc : simple handles (Writer) +Oracle Open Office Calc : simplified Chinese +Oracle Open Office Calc : simplified Chinese;translating to traditional Chinese +Oracle Open Office Calc : SIN function +Oracle Open Office Calc : single sign on options +Oracle Open Office Calc : single-line spacing in text +Oracle Open Office Calc : SINH function +Oracle Open Office Calc : sizes +Oracle Open Office Calc : sizes;draw objects +Oracle Open Office Calc : sizes;pictures +Oracle Open Office Calc : SKEW function +Oracle Open Office Calc : slanting draw objects +Oracle Open Office Calc : SLN function +Oracle Open Office Calc : SLOPE function +Oracle Open Office Calc : slopes, see also regression lines +Oracle Open Office Calc : small capitals +Oracle Open Office Calc : SMALL function +Oracle Open Office Calc : small icons +Oracle Open Office Calc : smart tag configuration +Oracle Open Office Calc : smooth scrolling (Writer) +Oracle Open Office Calc : smoothing filter +Oracle Open Office Calc : snap grid defaults (Writer/Calc) +Oracle Open Office Calc : snapping in presentations and drawings +Oracle Open Office Calc : solarization filter +Oracle Open Office Calc : solver +Oracle Open Office Calc : sort lists +Oracle Open Office Calc : sort lists;applying +Oracle Open Office Calc : sort lists;copying to in Calc +Oracle Open Office Calc : sorting +Oracle Open Office Calc : sorting;Asian languages +Oracle Open Office Calc : sorting;data in forms +Oracle Open Office Calc : sorting;database ranges +Oracle Open Office Calc : sorting;databases +Oracle Open Office Calc : sorting;options for database ranges +Oracle Open Office Calc : sorting;options in Data Pilot +Oracle Open Office Calc : sorting;sort criteria for database ranges +Oracle Open Office Calc : sound files +Oracle Open Office Calc : spaces +Oracle Open Office Calc : spaces;displaying (Writer) +Oracle Open Office Calc : spaces;ignoring double +Oracle Open Office Calc : spaces;inserting protected spaces +Oracle Open Office Calc : spaces;showing protected spaces (Writer) +Oracle Open Office Calc : spacing +Oracle Open Office Calc : spacing;between paragraphs in footnotes +Oracle Open Office Calc : spacing;font effects +Oracle Open Office Calc : spacing;lines and paragraphs +Oracle Open Office Calc : spacing;tab stops in text documents +Oracle Open Office Calc : spacing;tabs in presentations +Oracle Open Office Calc : spadmin +Oracle Open Office Calc : special characters +Oracle Open Office Calc : speech bubbles +Oracle Open Office Calc : speed of printing +Oracle Open Office Calc : spellcheck +Oracle Open Office Calc : spellcheck;activating for a language +Oracle Open Office Calc : spellcheck;context menus +Oracle Open Office Calc : spellcheck;default languages +Oracle Open Office Calc : spellcheck;dialog +Oracle Open Office Calc : spellcheck;dictionary of exceptions +Oracle Open Office Calc : spellcheck;ignore list +Oracle Open Office Calc : spin button creation +Oracle Open Office Calc : spoolfiles with Xprinter +Oracle Open Office Calc : spreadsheets +Oracle Open Office Calc : spreadsheets;as databases (base) +Oracle Open Office Calc : spreadsheets;backgrounds +Oracle Open Office Calc : spreadsheets;calculating +Oracle Open Office Calc : spreadsheets;copying +Oracle Open Office Calc : spreadsheets;copying areas to text documents +Oracle Open Office Calc : spreadsheets;creating/opening +Oracle Open Office Calc : spreadsheets;deleting +Oracle Open Office Calc : spreadsheets;deleting cell contents +Oracle Open Office Calc : spreadsheets;deleting cells +Oracle Open Office Calc : spreadsheets;deleting column breaks +Oracle Open Office Calc : spreadsheets;deleting row breaks +Oracle Open Office Calc : spreadsheets;displaying headers of columns/rows +Oracle Open Office Calc : spreadsheets;formatting +Oracle Open Office Calc : spreadsheets;formula bar +Oracle Open Office Calc : spreadsheets;functions +Oracle Open Office Calc : spreadsheets;hiding functions +Oracle Open Office Calc : spreadsheets;importing from/exporting to dBASE files +Oracle Open Office Calc : spreadsheets;inserting breaks in +Oracle Open Office Calc : spreadsheets;inserting cells +Oracle Open Office Calc : spreadsheets;inserting charts +Oracle Open Office Calc : spreadsheets;inserting column breaks +Oracle Open Office Calc : spreadsheets;inserting columns +Oracle Open Office Calc : spreadsheets;inserting database records +Oracle Open Office Calc : spreadsheets;inserting rows +Oracle Open Office Calc : spreadsheets;moving +Oracle Open Office Calc : spreadsheets;optimal column widths +Oracle Open Office Calc : spreadsheets;printing +Oracle Open Office Calc : spreadsheets;saving +Oracle Open Office Calc : spreadsheets;saving automatically +Oracle Open Office Calc : spreadsheets;saving in other formats +Oracle Open Office Calc : spreadsheets;sending as e-mail +Oracle Open Office Calc : spreadsheets;shortcut keys in +Oracle Open Office Calc : spreadsheets;showing columns +Oracle Open Office Calc : spreadsheets;value highlighting +Oracle Open Office Calc : spreadsheets;values as shown +Oracle Open Office Calc : SQL +Oracle Open Office Calc : SQL;definition +Oracle Open Office Calc : SQL;DISTINCT parameter +Oracle Open Office Calc : SQL;executing SQL commands +Oracle Open Office Calc : SQL;executing SQL statements (Base) +Oracle Open Office Calc : SQL;queries (Base) +Oracle Open Office Calc : SQRT function +Oracle Open Office Calc : SQRTPI function +Oracle Open Office Calc : square drawings +Oracle Open Office Calc : square number additions +Oracle Open Office Calc : square roots +Oracle Open Office Calc : square roots;positive numbers +Oracle Open Office Calc : square roots;products of Pi +Oracle Open Office Calc : standard bar on/off +Oracle Open Office Calc : standard deviation in charts +Oracle Open Office Calc : standard deviations in databases +Oracle Open Office Calc : standard deviations in databases;based on a sample +Oracle Open Office Calc : standard deviations in databases;based on populations +Oracle Open Office Calc : standard deviations in statistics +Oracle Open Office Calc : standard deviations in statistics;based on a population +Oracle Open Office Calc : standard deviations in statistics;based on a sample +Oracle Open Office Calc : standard errors +Oracle Open Office Calc : standard errors;array functions +Oracle Open Office Calc : standard errors;statistical functions +Oracle Open Office Calc : standard filters in databases +Oracle Open Office Calc : standard printer under UNIX +Oracle Open Office Calc : STANDARDIZE function +Oracle Open Office Calc : start center +Oracle Open Office Calc : start parameters +Oracle Open Office Calc : statistics functions +Oracle Open Office Calc : statistics in charts +Oracle Open Office Calc : status bar on/off +Oracle Open Office Calc : STDEV function +Oracle Open Office Calc : STDEVA function +Oracle Open Office Calc : STDEVP function +Oracle Open Office Calc : STDEVPA function +Oracle Open Office Calc : STEYX function +Oracle Open Office Calc : stickers +Oracle Open Office Calc : stock charts +Oracle Open Office Calc : straight-line depreciations +Oracle Open Office Calc : strikethrough +Oracle Open Office Calc : strikethrough;characters +Oracle Open Office Calc : strikethrough;font effects +Oracle Open Office Calc : STYLE function +Oracle Open Office Calc : STYLE function example +Oracle Open Office Calc : styles +Oracle Open Office Calc : styles;'changed' message +Oracle Open Office Calc : styles;conditional styles +Oracle Open Office Calc : styles;copying between documents +Oracle Open Office Calc : styles;keyboard shortcuts +Oracle Open Office Calc : styles;organizing +Oracle Open Office Calc : styles;printing styles used in a document +Oracle Open Office Calc : styles;replacing automatically +Oracle Open Office Calc : Styles and Formatting window +Oracle Open Office Calc : Styles and Formatting window;docking +Oracle Open Office Calc : Styles and Formatting window +Oracle Open Office Calc : Stylist, see Styles and Formatting window +Oracle Open Office Calc : subforms +Oracle Open Office Calc : subforms;creating +Oracle Open Office Calc : subforms;description +Oracle Open Office Calc : submitting forms +Oracle Open Office Calc : subscript text in cells +Oracle Open Office Calc : SUBSTITUTE function +Oracle Open Office Calc : SUBTOTAL function +Oracle Open Office Calc : subtotals +Oracle Open Office Calc : subtotals;sorting options +Oracle Open Office Calc : suffixes in file formats +Oracle Open Office Calc : SUM function +Oracle Open Office Calc : sum icon +Oracle Open Office Calc : SUMIF function +Oracle Open Office Calc : SUMPRODUCT function +Oracle Open Office Calc : sums +Oracle Open Office Calc : sums;cells in Calc databases +Oracle Open Office Calc : sums;of filtered data +Oracle Open Office Calc : sums;of square numbers +Oracle Open Office Calc : sums;of squares of deviations +Oracle Open Office Calc : SUMSQ function +Oracle Open Office Calc : SUMX2MY2 function +Oracle Open Office Calc : SUMX2PY2 function +Oracle Open Office Calc : SUMXMY2 function +Oracle Open Office Calc : superscript text in cells +Oracle Open Office Calc : support on the Web +Oracle Open Office Calc : swapping tables +Oracle Open Office Calc : SYD function +Oracle Open Office Calc : syllables in spreadsheets +Oracle Open Office Calc : synchronizing +Oracle Open Office Calc : synchronizing;labels and business cards +Oracle Open Office Calc : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Calc : system address book registration +Oracle Open Office Calc : T function +Oracle Open Office Calc : t-distribution +Oracle Open Office Calc : tab stops +Oracle Open Office Calc : tab stops;displaying (Writer) +Oracle Open Office Calc : tab stops;inserting and editing +Oracle Open Office Calc : tab stops;regular expressions +Oracle Open Office Calc : tab stops;setting in sheets +Oracle Open Office Calc : tab stops;settings +Oracle Open Office Calc : tab stops;spacing in presentations +Oracle Open Office Calc : tab stops;spacing in text documents +Oracle Open Office Calc : table controls +Oracle Open Office Calc : table controls;form functions +Oracle Open Office Calc : table controls;keyboard-only edit mode +Oracle Open Office Calc : table controls;properties +Oracle Open Office Calc : table views of databases +Oracle Open Office Calc : Table Wizard (Base) +Oracle Open Office Calc : tables +Oracle Open Office Calc : tables;AutoFormat function +Oracle Open Office Calc : tables;backgrounds +Oracle Open Office Calc : tables;combining +Oracle Open Office Calc : tables;copying cell styles +Oracle Open Office Calc : tables;database ranges +Oracle Open Office Calc : tables;deactivating automatic changes in +Oracle Open Office Calc : tables;displaying formulas/values +Oracle Open Office Calc : tables;freezing +Oracle Open Office Calc : tables;importing/exporting as text +Oracle Open Office Calc : tables;inserting external data +Oracle Open Office Calc : tables;inserting line breaks +Oracle Open Office Calc : tables;merging cells +Oracle Open Office Calc : tables;multiple operations in +Oracle Open Office Calc : tables;number formats +Oracle Open Office Calc : tables;renaming +Oracle Open Office Calc : tables;rotating +Oracle Open Office Calc : tables;selecting ranges +Oracle Open Office Calc : tables;showing details +Oracle Open Office Calc : tables;splitting windows +Oracle Open Office Calc : tables;transposing +Oracle Open Office Calc : tables;views +Oracle Open Office Calc : tables in databases +Oracle Open Office Calc : tables in databases;access rights to (Base) +Oracle Open Office Calc : tables in databases;adding to queries +Oracle Open Office Calc : tables in databases;browsing and editing +Oracle Open Office Calc : tables in databases;copying database tables (Base) +Oracle Open Office Calc : tables in databases;creating +Oracle Open Office Calc : tables in databases;creating in design view (manually) +Oracle Open Office Calc : tables in databases;importing dBASE files +Oracle Open Office Calc : tables in databases;importing text formats (Base) +Oracle Open Office Calc : tables in databases;joining for queries (Base) +Oracle Open Office Calc : tables in databases;printing queries (Base) +Oracle Open Office Calc : tables in databases;relations (Base) +Oracle Open Office Calc : tables in databases;searching +Oracle Open Office Calc : tables in spreadsheets +Oracle Open Office Calc : tables in spreadsheets;copying data to other applications +Oracle Open Office Calc : tables in spreadsheets;defining borders +Oracle Open Office Calc : tables in spreadsheets;value highlighting +Oracle Open Office Calc : tables in text +Oracle Open Office Calc : tables in text;captions +Oracle Open Office Calc : tables in text;creating automatically +Oracle Open Office Calc : tables in text;default settings +Oracle Open Office Calc : tables in text;defining borders +Oracle Open Office Calc : tables in text;displaying +Oracle Open Office Calc : tables in text;printing +Oracle Open Office Calc : tabs +Oracle Open Office Calc : tabs;displaying sheet tabs +Oracle Open Office Calc : tags +Oracle Open Office Calc : tags;definition +Oracle Open Office Calc : tags;META tags +Oracle Open Office Calc : TAN function +Oracle Open Office Calc : TANH function +Oracle Open Office Calc : TBILLEQ function +Oracle Open Office Calc : TBILLPRICE function +Oracle Open Office Calc : TBILLYIELD function +Oracle Open Office Calc : TDIST function +Oracle Open Office Calc : templates +Oracle Open Office Calc : templates;agendas +Oracle Open Office Calc : templates;changing basic fonts +Oracle Open Office Calc : templates;database reports +Oracle Open Office Calc : templates;deleting +Oracle Open Office Calc : templates;editing and saving +Oracle Open Office Calc : templates;faxes +Oracle Open Office Calc : templates;importing and exporting +Oracle Open Office Calc : templates;letters +Oracle Open Office Calc : templates;new documents from templates +Oracle Open Office Calc : templates;opening documents with +Oracle Open Office Calc : templates;organizing +Oracle Open Office Calc : terminology +Oracle Open Office Calc : terminology;general glossary +Oracle Open Office Calc : terminology;Internet glossary +Oracle Open Office Calc : testing XML filters +Oracle Open Office Calc : text +Oracle Open Office Calc : text;animating +Oracle Open Office Calc : text;Asian layout +Oracle Open Office Calc : text;bold +Oracle Open Office Calc : text;coloring +Oracle Open Office Calc : text;copying by drag and drop +Oracle Open Office Calc : text;CTL languages +Oracle Open Office Calc : text;drawing pictures +Oracle Open Office Calc : text;font effects +Oracle Open Office Calc : text;font sizes +Oracle Open Office Calc : text;font styles +Oracle Open Office Calc : text;fonts and formats +Oracle Open Office Calc : text;Fontwork icons +Oracle Open Office Calc : text;hyperlinks +Oracle Open Office Calc : text;inserting special characters +Oracle Open Office Calc : text;italics +Oracle Open Office Calc : text;kerning +Oracle Open Office Calc : text;language selection +Oracle Open Office Calc : text;line spacing +Oracle Open Office Calc : text;overwriting or inserting +Oracle Open Office Calc : text;printing in black +Oracle Open Office Calc : text;replacing with format +Oracle Open Office Calc : text;selection modes +Oracle Open Office Calc : text;shadowed +Oracle Open Office Calc : text;text/draw objects +Oracle Open Office Calc : text attributes +Oracle Open Office Calc : text attributes;hyperlinks +Oracle Open Office Calc : text attributes;undoing +Oracle Open Office Calc : text boxes +Oracle Open Office Calc : text boxes;form functions +Oracle Open Office Calc : text boxes;positioning +Oracle Open Office Calc : text breaks in cells +Oracle Open Office Calc : text colors for better accessibility +Oracle Open Office Calc : text completion on/off +Oracle Open Office Calc : text concatenation AND +Oracle Open Office Calc : text databases (Base) +Oracle Open Office Calc : text documents +Oracle Open Office Calc : text documents;creating/opening +Oracle Open Office Calc : text documents;importing to spreadsheets +Oracle Open Office Calc : text documents;importing/exporting +Oracle Open Office Calc : text documents;inserting spreadsheet cells +Oracle Open Office Calc : text documents;print settings +Oracle Open Office Calc : text documents;printing +Oracle Open Office Calc : text documents;saving +Oracle Open Office Calc : text documents;saving automatically +Oracle Open Office Calc : text documents;saving in other formats +Oracle Open Office Calc : text documents;sending as e-mail +Oracle Open Office Calc : text effects +Oracle Open Office Calc : text file import and export +Oracle Open Office Calc : text flow +Oracle Open Office Calc : text flow;in cells +Oracle Open Office Calc : text formats +Oracle Open Office Calc : text formats;databases +Oracle Open Office Calc : text formats;for numbers +Oracle Open Office Calc : text formats;pasting +Oracle Open Office Calc : TEXT function +Oracle Open Office Calc : text in cells +Oracle Open Office Calc : text in cells;as addressing +Oracle Open Office Calc : text in cells;AutoInput function +Oracle Open Office Calc : text in cells;changing to numbers +Oracle Open Office Calc : text in cells;formatting +Oracle Open Office Calc : text in cells;functions +Oracle Open Office Calc : text in cells;multi-line +Oracle Open Office Calc : text in cells;writing vertically +Oracle Open Office Calc : text input fields +Oracle Open Office Calc : text layout for special languages +Oracle Open Office Calc : text objects +Oracle Open Office Calc : text objects;alignment +Oracle Open Office Calc : text objects;draw functions +Oracle Open Office Calc : text objects;fonts +Oracle Open Office Calc : text objects;in presentations and drawings +Oracle Open Office Calc : text operators +Oracle Open Office Calc : text overflow in spreadsheet cells +Oracle Open Office Calc : text scaling in charts +Oracle Open Office Calc : text to columns +Oracle Open Office Calc : text, see also text documents, paragraphs and characters +Oracle Open Office Calc : TextArt, see Fontwork +Oracle Open Office Calc : textures +Oracle Open Office Calc : textures;inserting from Gallery +Oracle Open Office Calc : textures;on chart bars +Oracle Open Office Calc : Thai +Oracle Open Office Calc : Thai;entering text +Oracle Open Office Calc : Thai;language settings +Oracle Open Office Calc : theme selection for sheets +Oracle Open Office Calc : thesaurus +Oracle Open Office Calc : thesaurus;activating for a language +Oracle Open Office Calc : ticker text +Oracle Open Office Calc : time differences +Oracle Open Office Calc : time fields +Oracle Open Office Calc : time fields;form functions +Oracle Open Office Calc : TIME function +Oracle Open Office Calc : times +Oracle Open Office Calc : times;in cells +Oracle Open Office Calc : times;inserting when printing presentations +Oracle Open Office Calc : times, formats +Oracle Open Office Calc : TIMEVALUE function +Oracle Open Office Calc : TINV function +Oracle Open Office Calc : tips +Oracle Open Office Calc : tips;extended tips in Help +Oracle Open Office Calc : title rows +Oracle Open Office Calc : title rows;freezing during table split +Oracle Open Office Calc : title rows;printing in Oracle Open Office Math +Oracle Open Office Calc : title rows;printing on all sheets +Oracle Open Office Calc : titles +Oracle Open Office Calc : titles;alignment (charts) +Oracle Open Office Calc : titles;changing +Oracle Open Office Calc : titles;editing in charts +Oracle Open Office Calc : titles;font effects +Oracle Open Office Calc : titles;formatting automatically +Oracle Open Office Calc : titles;formatting charts +Oracle Open Office Calc : titles;objects +Oracle Open Office Calc : TODAY function +Oracle Open Office Calc : toolbars +Oracle Open Office Calc : toolbars;adding buttons +Oracle Open Office Calc : toolbars;docking/undocking +Oracle Open Office Calc : toolbars;Form Navigation bar +Oracle Open Office Calc : toolbars;viewing/closing +Oracle Open Office Calc : tools bar +Oracle Open Office Calc : tooltips +Oracle Open Office Calc : tooltips;extended tips +Oracle Open Office Calc : tooltips;help +Oracle Open Office Calc : total amortizement rates +Oracle Open Office Calc : traces +Oracle Open Office Calc : traces;autorefreshing +Oracle Open Office Calc : traces;precedents and dependents +Oracle Open Office Calc : traces;precedents for multiple cells +Oracle Open Office Calc : traces;refreshing +Oracle Open Office Calc : tracing errors +Oracle Open Office Calc : traditional Chinese +Oracle Open Office Calc : traditional Chinese;translating to simplified chinese +Oracle Open Office Calc : transparency +Oracle Open Office Calc : transparency;areas +Oracle Open Office Calc : transparency;off for faster printing +Oracle Open Office Calc : transparency;saving +Oracle Open Office Calc : TRANSPOSE function +Oracle Open Office Calc : transposing tables +Oracle Open Office Calc : treasury bills +Oracle Open Office Calc : treasury bills;annual return +Oracle Open Office Calc : treasury bills;prices +Oracle Open Office Calc : treasury bills;rates of return +Oracle Open Office Calc : tree view of Help +Oracle Open Office Calc : TREND function +Oracle Open Office Calc : trend lines in charts +Oracle Open Office Calc : trigonometric functions +Oracle Open Office Calc : TRIM function +Oracle Open Office Calc : TRIMMEAN function +Oracle Open Office Calc : TRUE function +Oracle Open Office Calc : TRUNC function +Oracle Open Office Calc : TTEST function +Oracle Open Office Calc : TYPE function +Oracle Open Office Calc : typefaces +Oracle Open Office Calc : typefaces;adding under UNIX +Oracle Open Office Calc : typefaces;formats +Oracle Open Office Calc : typographical quotes in Oracle Open Office Writer +Oracle Open Office Calc : typography +Oracle Open Office Calc : typography;Asian +Oracle Open Office Calc : underlining +Oracle Open Office Calc : underlining;AutoFormat function +Oracle Open Office Calc : underlining;characters +Oracle Open Office Calc : underlining;text +Oracle Open Office Calc : undocking windows +Oracle Open Office Calc : undoing +Oracle Open Office Calc : undoing;direct formatting +Oracle Open Office Calc : undoing;editing +Oracle Open Office Calc : undoing;number of steps +Oracle Open Office Calc : ungrouping entries in DataPilot tables +Oracle Open Office Calc : ungrouping groups +Oracle Open Office Calc : UNICHAR function +Oracle Open Office Calc : UNICODE function +Oracle Open Office Calc : units +Oracle Open Office Calc : units;converting +Oracle Open Office Calc : units;measurement units +Oracle Open Office Calc : unmerging cells +Oracle Open Office Calc : UNO components +Oracle Open Office Calc : UNO components;Extension Manager +Oracle Open Office Calc : UNO components;integrating new +Oracle Open Office Calc : unprotecting cells +Oracle Open Office Calc : update options +Oracle Open Office Calc : updates +Oracle Open Office Calc : updates;checking automatically +Oracle Open Office Calc : updates;checking manually +Oracle Open Office Calc : updating +Oracle Open Office Calc : updating;DataPilot tables +Oracle Open Office Calc : updating;fields and charts, automatically (Writer) +Oracle Open Office Calc : updating;links in text documents +Oracle Open Office Calc : updating;links, on opening +Oracle Open Office Calc : updating;templates +Oracle Open Office Calc : updating;traces +Oracle Open Office Calc : UPPER function +Oracle Open Office Calc : URL +Oracle Open Office Calc : URL;changing hyperlink URLs +Oracle Open Office Calc : URL;definition +Oracle Open Office Calc : URL;in Calc +Oracle Open Office Calc : URL;in pictures +Oracle Open Office Calc : URL;saving absolute/relative paths +Oracle Open Office Calc : URL;turning off URL recognition +Oracle Open Office Calc : user data +Oracle Open Office Calc : user data;input +Oracle Open Office Calc : user data;removing when saving +Oracle Open Office Calc : user feedback +Oracle Open Office Calc : user feedback;automatically +Oracle Open Office Calc : user-defined dictionaries +Oracle Open Office Calc : user-defined dictionaries;creating +Oracle Open Office Calc : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Calc : user-defined dictionaries;editing +Oracle Open Office Calc : user-defined functions +Oracle Open Office Calc : user-defined styles +Oracle Open Office Calc : user-defined styles;automatically replacing +Oracle Open Office Calc : UTF-8/UCS2 support +Oracle Open Office Calc : validity +Oracle Open Office Calc : VALUE function +Oracle Open Office Calc : values +Oracle Open Office Calc : values;absolute +Oracle Open Office Calc : values;defining names +Oracle Open Office Calc : values;displaying in tables +Oracle Open Office Calc : values;highlighting +Oracle Open Office Calc : values;inserting in multiple cells +Oracle Open Office Calc : values;limiting on input +Oracle Open Office Calc : values;rounded as shown (Calc) +Oracle Open Office Calc : values;rounded in calculations +Oracle Open Office Calc : VAR function +Oracle Open Office Calc : VARA function +Oracle Open Office Calc : variables +Oracle Open Office Calc : variables;calculating equations +Oracle Open Office Calc : variables;defining names +Oracle Open Office Calc : variables;for paths +Oracle Open Office Calc : variances +Oracle Open Office Calc : variances;based on populations +Oracle Open Office Calc : variances;based on samples +Oracle Open Office Calc : variances +Oracle Open Office Calc : variances in charts +Oracle Open Office Calc : VARP function +Oracle Open Office Calc : VARPA function +Oracle Open Office Calc : VBA code +Oracle Open Office Calc : VBA code;loading/saving documents with VBA code +Oracle Open Office Calc : VDB function +Oracle Open Office Calc : version management +Oracle Open Office Calc : version numbers of documents +Oracle Open Office Calc : versions +Oracle Open Office Calc : versions;comparing documents +Oracle Open Office Calc : versions;file saving as, restriction +Oracle Open Office Calc : versions;merging document versions +Oracle Open Office Calc : versions;of a document +Oracle Open Office Calc : versions;Oracle Open Office +Oracle Open Office Calc : vertical callouts +Oracle Open Office Calc : vertical scrollbars (Writer) +Oracle Open Office Calc : vertical search function +Oracle Open Office Calc : vertical text boxes +Oracle Open Office Calc : videos +Oracle Open Office Calc : viewing +Oracle Open Office Calc : viewing;comments on cells +Oracle Open Office Calc : viewing;databases +Oracle Open Office Calc : viewing;file properties +Oracle Open Office Calc : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Calc : viewing;print ranges +Oracle Open Office Calc : viewing;toolbars +Oracle Open Office Calc : views +Oracle Open Office Calc : views;creating database views (Base) +Oracle Open Office Calc : views;defaults +Oracle Open Office Calc : views;full screen +Oracle Open Office Calc : views;icons +Oracle Open Office Calc : views;multiple sheets +Oracle Open Office Calc : views;scaling +Oracle Open Office Calc : views;tables +Oracle Open Office Calc : Visual Basic for Applications +Oracle Open Office Calc : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Calc : VLOOKUP function +Oracle Open Office Calc : watermarks +Oracle Open Office Calc : web documents +Oracle Open Office Calc : web documents;XForms +Oracle Open Office Calc : web pages +Oracle Open Office Calc : web pages;importing data +Oracle Open Office Calc : Web support +Oracle Open Office Calc : WebCast export +Oracle Open Office Calc : WebDAV over HTTPS +Oracle Open Office Calc : WebQuery filter +Oracle Open Office Calc : WEEKDAY function +Oracle Open Office Calc : WEEKNUM function +Oracle Open Office Calc : WEEKNUM_ADD function +Oracle Open Office Calc : WEEKS function +Oracle Open Office Calc : WEEKSINYEAR function +Oracle Open Office Calc : WEIBULL function +Oracle Open Office Calc : what if operations +Oracle Open Office Calc : what if operations;solver +Oracle Open Office Calc : what if operations;two variables +Oracle Open Office Calc : widths of cells +Oracle Open Office Calc : windows +Oracle Open Office Calc : windows;docking +Oracle Open Office Calc : windows;docking definition +Oracle Open Office Calc : windows;hiding/showing/docking +Oracle Open Office Calc : windows;new +Oracle Open Office Calc : windows;splitting +Oracle Open Office Calc : wizards +Oracle Open Office Calc : wizards;agendas +Oracle Open Office Calc : wizards;database queries +Oracle Open Office Calc : wizards;database tables (Base) +Oracle Open Office Calc : wizards;databases (Base) +Oracle Open Office Calc : wizards;document converter +Oracle Open Office Calc : wizards;Euro Converter +Oracle Open Office Calc : wizards;faxes +Oracle Open Office Calc : wizards;forms +Oracle Open Office Calc : wizards;functions +Oracle Open Office Calc : wizards;letters +Oracle Open Office Calc : wizards;macros (Base) +Oracle Open Office Calc : wizards;overview +Oracle Open Office Calc : wizards;presentations +Oracle Open Office Calc : wizards;reports +Oracle Open Office Calc : word completion on/off +Oracle Open Office Calc : Word documents +Oracle Open Office Calc : Word documents;compatibility +Oracle Open Office Calc : Word documents;saving as +Oracle Open Office Calc : WordArt, see Fontwork +Oracle Open Office Calc : words +Oracle Open Office Calc : words;automatically replacing +Oracle Open Office Calc : words;wrapping in cells +Oracle Open Office Calc : words;wrapping in CTL +Oracle Open Office Calc : WORKDAY function +Oracle Open Office Calc : working directory change +Oracle Open Office Calc : worksheet names +Oracle Open Office Calc : wrapping text +Oracle Open Office Calc : wrapping text;in cells +Oracle Open Office Calc : write protection on/off +Oracle Open Office Calc : writing aids options +Oracle Open Office Calc : WYSIWYG in fonts lists +Oracle Open Office Calc : X axes +Oracle Open Office Calc : X axes;grid formatting +Oracle Open Office Calc : X axes;positioning +Oracle Open Office Calc : X axes;scaling +Oracle Open Office Calc : X axes;showing +Oracle Open Office Calc : XForms +Oracle Open Office Calc : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Calc : XForms;conditions +Oracle Open Office Calc : XForms;opening/editing +Oracle Open Office Calc : XIRR function +Oracle Open Office Calc : XML converters +Oracle Open Office Calc : XML file formats +Oracle Open Office Calc : XML filters +Oracle Open Office Calc : XML filters;creating/testing +Oracle Open Office Calc : XML filters;saving as package/installing/deleting +Oracle Open Office Calc : XML filters;settings +Oracle Open Office Calc : XML Forms, see XForms +Oracle Open Office Calc : XNPV function +Oracle Open Office Calc : XSLT filters, see also XML filters +Oracle Open Office Calc : XY charts +Oracle Open Office Calc : Y axes +Oracle Open Office Calc : Y axes;formatting +Oracle Open Office Calc : Y axes;grid formatting +Oracle Open Office Calc : Y axes;positioning +Oracle Open Office Calc : Y axes;scaling +Oracle Open Office Calc : Y axes;showing +Oracle Open Office Calc : YEAR function +Oracle Open Office Calc : YEARFRAC function +Oracle Open Office Calc : years +Oracle Open Office Calc : years;2-digit options +Oracle Open Office Calc : years;2-digits +Oracle Open Office Calc : YEARS function +Oracle Open Office Calc : YIELD function +Oracle Open Office Calc : YIELDDISC function +Oracle Open Office Calc : YIELDMAT function +Oracle Open Office Calc : yields, see also rates of return +Oracle Open Office Calc : Z axes +Oracle Open Office Calc : Z axes;grid formatting +Oracle Open Office Calc : Z axes;showing +Oracle Open Office Calc : zero values +Oracle Open Office Calc : zero values;displaying (Calc) +Oracle Open Office Calc : zero values;entering leading zeros +Oracle Open Office Calc : zero values;printing +Oracle Open Office Calc : zooming +Oracle Open Office Calc : zooming;enlarging page views +Oracle Open Office Calc : zooming;page views +Oracle Open Office Calc : zooming;pictures +Oracle Open Office Calc : zooming;reducing page views +Oracle Open Office Calc : zooming;status bar +Oracle Open Office Calc : ZTEST function +Oracle Open Office Chart : 1/2 replacement +Oracle Open Office Chart : 3D charts +Oracle Open Office Chart : 3D text creation +Oracle Open Office Chart : abbreviation replacement +Oracle Open Office Chart : absolute hyperlinks +Oracle Open Office Chart : absolute saving of URLs +Oracle Open Office Chart : accents +Oracle Open Office Chart : Access databases (base) +Oracle Open Office Chart : access rights for database tables (Base) +Oracle Open Office Chart : accessibility +Oracle Open Office Chart : accessibility;general shortcuts +Oracle Open Office Chart : accessibility;options +Oracle Open Office Chart : accessibility;Oracle Open Office assistive technology +Oracle Open Office Chart : accessibility;Oracle Open Office features +Oracle Open Office Chart : activating +Oracle Open Office Chart : activating;context menus +Oracle Open Office Chart : activating;Error Report Tool +Oracle Open Office Chart : activating;extended help tips +Oracle Open Office Chart : activating;plug-ins +Oracle Open Office Chart : ActiveX control +Oracle Open Office Chart : Adabas D databases (base) +Oracle Open Office Chart : add-ons, see UNO components +Oracle Open Office Chart : additional selection mode +Oracle Open Office Chart : address books +Oracle Open Office Chart : address books;LDAP server (Base) +Oracle Open Office Chart : address books;registering +Oracle Open Office Chart : address labels from databases +Oracle Open Office Chart : ADO databases (Base) +Oracle Open Office Chart : Agenda Wizard +Oracle Open Office Chart : aging filter +Oracle Open Office Chart : aligning +Oracle Open Office Chart : aligning;2D charts +Oracle Open Office Chart : aligning;cells +Oracle Open Office Chart : aligning;objects +Oracle Open Office Chart : aligning;paragraphs +Oracle Open Office Chart : aligning;tables in text +Oracle Open Office Chart : aligning;text objects +Oracle Open Office Chart : aligning;titles in charts +Oracle Open Office Chart : alternative fonts +Oracle Open Office Chart : ampersand symbol, see also operators +Oracle Open Office Chart : anchors +Oracle Open Office Chart : anchors;changing +Oracle Open Office Chart : anchors;displaying (Calc) +Oracle Open Office Chart : anchors;types/positions for draw objects +Oracle Open Office Chart : animations +Oracle Open Office Chart : animations;accessibility options +Oracle Open Office Chart : appearance options +Oracle Open Office Chart : Arabic +Oracle Open Office Chart : Arabic;entering text +Oracle Open Office Chart : Arabic;language settings +Oracle Open Office Chart : area charts +Oracle Open Office Chart : areas +Oracle Open Office Chart : areas;bitmap patterns +Oracle Open Office Chart : areas;hatched/dotted +Oracle Open Office Chart : areas;shadows +Oracle Open Office Chart : areas;slanting +Oracle Open Office Chart : areas;styles +Oracle Open Office Chart : areas;transparency +Oracle Open Office Chart : arguments in command line +Oracle Open Office Chart : arranging +Oracle Open Office Chart : arranging;objects +Oracle Open Office Chart : arrows +Oracle Open Office Chart : arrows;defining arrow heads +Oracle Open Office Chart : arrows;defining arrow lines +Oracle Open Office Chart : arrows;drawing in text +Oracle Open Office Chart : ASCII +Oracle Open Office Chart : ASCII;definition +Oracle Open Office Chart : Asian languages +Oracle Open Office Chart : Asian languages;enabling +Oracle Open Office Chart : Asian Phonetic Guide +Oracle Open Office Chart : Asian typography +Oracle Open Office Chart : assigning scripts +Oracle Open Office Chart : assistive technology in Oracle Open Office +Oracle Open Office Chart : attaching toolbars +Oracle Open Office Chart : attachments in e-mails +Oracle Open Office Chart : audio +Oracle Open Office Chart : auto reloading HTML documents +Oracle Open Office Chart : AutoAbstract function for sending text to presentations +Oracle Open Office Chart : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Chart : AutoComplete function in text and list boxes +Oracle Open Office Chart : AutoCorrect function +Oracle Open Office Chart : AutoCorrect function;context menu +Oracle Open Office Chart : AutoCorrect function;options +Oracle Open Office Chart : AutoCorrect function;pictures and frames +Oracle Open Office Chart : AutoCorrect function;quotes +Oracle Open Office Chart : AutoCorrect function;replacement table +Oracle Open Office Chart : AutoCorrect function;switching on and off in Calc +Oracle Open Office Chart : AutoCorrect function;URL recognition +Oracle Open Office Chart : AutoFormat function +Oracle Open Office Chart : AutoFormat function;switching on and off +Oracle Open Office Chart : automatic captions (Writer) +Oracle Open Office Chart : automatic control focus +Oracle Open Office Chart : automatic hyperlink formatting +Oracle Open Office Chart : automatic line breaks +Oracle Open Office Chart : automatic lines/borders in text +Oracle Open Office Chart : automatic saving +Oracle Open Office Chart : AutoPilots, see wizards +Oracle Open Office Chart : AutoValue (Base) +Oracle Open Office Chart : averages in charts +Oracle Open Office Chart : axes +Oracle Open Office Chart : axes;better scaling +Oracle Open Office Chart : axes;formatting +Oracle Open Office Chart : axes;formatting grids +Oracle Open Office Chart : axes;inserting grids +Oracle Open Office Chart : axes;interval marks +Oracle Open Office Chart : axes;showing axes in charts +Oracle Open Office Chart : axes in charts +Oracle Open Office Chart : backgrounds +Oracle Open Office Chart : backgrounds;defining colors/pictures +Oracle Open Office Chart : backgrounds;frames/sections/indexes +Oracle Open Office Chart : backgrounds;inserting from Gallery +Oracle Open Office Chart : backgrounds;printing +Oracle Open Office Chart : backing window +Oracle Open Office Chart : backups +Oracle Open Office Chart : backups;automatic +Oracle Open Office Chart : backups;documents +Oracle Open Office Chart : bar charts +Oracle Open Office Chart : Basic +Oracle Open Office Chart : Basic;fonts for source display +Oracle Open Office Chart : Basic;programming +Oracle Open Office Chart : Basic;recording macros +Oracle Open Office Chart : basic fonts +Oracle Open Office Chart : Bézier curves +Oracle Open Office Chart : Bézier curves;control points in presentations +Oracle Open Office Chart : bi-directional writing +Oracle Open Office Chart : binding space +Oracle Open Office Chart : bitmaps +Oracle Open Office Chart : bitmaps;inserting and editing +Oracle Open Office Chart : bitmaps;off for faster printing +Oracle Open Office Chart : bitmaps;patterns +Oracle Open Office Chart : black and white printing +Oracle Open Office Chart : black printing in Calc +Oracle Open Office Chart : block selection mode +Oracle Open Office Chart : bold +Oracle Open Office Chart : bold;AutoFormat function +Oracle Open Office Chart : bold;text +Oracle Open Office Chart : bookmarks +Oracle Open Office Chart : bookmarks;Help +Oracle Open Office Chart : borders +Oracle Open Office Chart : borders;arranging +Oracle Open Office Chart : borders;cells on screen (Calc) +Oracle Open Office Chart : borders;for paragraphs +Oracle Open Office Chart : borders;for tables +Oracle Open Office Chart : borders;shadows +Oracle Open Office Chart : borders;table boundaries (Writer) +Oracle Open Office Chart : borders, see also frames +Oracle Open Office Chart : bound fields +Oracle Open Office Chart : bound fields;controls +Oracle Open Office Chart : boundaries of tables (Writer) +Oracle Open Office Chart : break display (Writer) +Oracle Open Office Chart : brochures +Oracle Open Office Chart : brochures;printing several +Oracle Open Office Chart : bubble charts +Oracle Open Office Chart : build numbers of Oracle Open Office +Oracle Open Office Chart : bullet lists +Oracle Open Office Chart : bullet lists;formatting options +Oracle Open Office Chart : bullets +Oracle Open Office Chart : bullets;paragraphs +Oracle Open Office Chart : bullets;replacing +Oracle Open Office Chart : bullets;turning off +Oracle Open Office Chart : business cards +Oracle Open Office Chart : business cards;creating and synchronizing +Oracle Open Office Chart : business cards;using templates +Oracle Open Office Chart : button bars, see toolbars +Oracle Open Office Chart : buttons +Oracle Open Office Chart : buttons;adding push buttons +Oracle Open Office Chart : buttons;big/small +Oracle Open Office Chart : buttons;editing hyperlink buttons +Oracle Open Office Chart : buttons;form functions +Oracle Open Office Chart : buttons;toolbars +Oracle Open Office Chart : cache for graphics +Oracle Open Office Chart : calculating +Oracle Open Office Chart : calculating;iterative references (Calc) +Oracle Open Office Chart : calculating;regression curves +Oracle Open Office Chart : callouts +Oracle Open Office Chart : callouts;drawings +Oracle Open Office Chart : capital letters +Oracle Open Office Chart : capital letters;AutoCorrect function +Oracle Open Office Chart : capital letters;font effects +Oracle Open Office Chart : captions +Oracle Open Office Chart : captions;automatic captions (Writer) +Oracle Open Office Chart : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Chart : captions, see also labels/callouts +Oracle Open Office Chart : cascading update (Base) +Oracle Open Office Chart : case sensitivity +Oracle Open Office Chart : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Chart : case sensitivity;searching +Oracle Open Office Chart : cells +Oracle Open Office Chart : cells;aligning +Oracle Open Office Chart : cells;coloring (Calc) +Oracle Open Office Chart : cells;cursor positions after input (Calc) +Oracle Open Office Chart : cells;formatting without effect (Calc) +Oracle Open Office Chart : cells;line breaks +Oracle Open Office Chart : cells;linked to controls +Oracle Open Office Chart : cells;number of +Oracle Open Office Chart : cells;pasting +Oracle Open Office Chart : cells;resetting formats +Oracle Open Office Chart : cells;showing grid lines (Calc) +Oracle Open Office Chart : centered text +Oracle Open Office Chart : centimeters +Oracle Open Office Chart : certificates +Oracle Open Office Chart : changes +Oracle Open Office Chart : changes;accepting or rejecting +Oracle Open Office Chart : changes;comparing to original +Oracle Open Office Chart : changes;protecting +Oracle Open Office Chart : changes;recording +Oracle Open Office Chart : changes;review function +Oracle Open Office Chart : changes;showing +Oracle Open Office Chart : changing +Oracle Open Office Chart : changing;document titles +Oracle Open Office Chart : changing;file associations in Setup program +Oracle Open Office Chart : changing;icon sizes +Oracle Open Office Chart : changing;links +Oracle Open Office Chart : changing;work directory +Oracle Open Office Chart : changing, see also editing and replacing +Oracle Open Office Chart : character styles +Oracle Open Office Chart : character styles;language selection +Oracle Open Office Chart : characters +Oracle Open Office Chart : characters;alternative fonts +Oracle Open Office Chart : characters;Asian layout +Oracle Open Office Chart : characters;bold +Oracle Open Office Chart : characters;coloring +Oracle Open Office Chart : characters;displaying only on screen (Writer) +Oracle Open Office Chart : characters;enabling CTL and Asian characters +Oracle Open Office Chart : characters;font effects +Oracle Open Office Chart : characters;fonts and formats +Oracle Open Office Chart : characters;hyperlinks +Oracle Open Office Chart : characters;italics +Oracle Open Office Chart : characters;language selection +Oracle Open Office Chart : characters;shadowed +Oracle Open Office Chart : characters;spacing +Oracle Open Office Chart : characters;special +Oracle Open Office Chart : characters;underlining +Oracle Open Office Chart : charcoal sketches filter +Oracle Open Office Chart : chart legends +Oracle Open Office Chart : chart legends;hiding +Oracle Open Office Chart : chart legends;showing icons with labels +Oracle Open Office Chart : chart types +Oracle Open Office Chart : chart types;area +Oracle Open Office Chart : chart types;bubble +Oracle Open Office Chart : chart types;column and bar +Oracle Open Office Chart : chart types;column and line +Oracle Open Office Chart : chart types;line +Oracle Open Office Chart : chart types;net +Oracle Open Office Chart : chart types;pie/donut +Oracle Open Office Chart : chart types;stock +Oracle Open Office Chart : chart types;XY (scatter) +Oracle Open Office Chart : charts +Oracle Open Office Chart : charts;3D views +Oracle Open Office Chart : charts;aligning +Oracle Open Office Chart : charts;arranging within stacks +Oracle Open Office Chart : charts;bars with textures +Oracle Open Office Chart : charts;choosing chart types +Oracle Open Office Chart : charts;colors +Oracle Open Office Chart : charts;copying with link to source cell range +Oracle Open Office Chart : charts;data labels +Oracle Open Office Chart : charts;displaying (Calc) +Oracle Open Office Chart : charts;editing axes +Oracle Open Office Chart : charts;editing data +Oracle Open Office Chart : charts;editing legends +Oracle Open Office Chart : charts;editing titles +Oracle Open Office Chart : charts;formatting areas +Oracle Open Office Chart : charts;formatting floors +Oracle Open Office Chart : charts;formatting walls +Oracle Open Office Chart : charts;inserting +Oracle Open Office Chart : charts;overview +Oracle Open Office Chart : charts;positioning axes +Oracle Open Office Chart : charts;properties +Oracle Open Office Chart : charts;reorganizing +Oracle Open Office Chart : charts;scaling axes +Oracle Open Office Chart : charts;scaling text +Oracle Open Office Chart : charts;shortcuts +Oracle Open Office Chart : charts;showing axes +Oracle Open Office Chart : charts;updating automatically (Writer) +Oracle Open Office Chart : check box creation +Oracle Open Office Chart : Chinese writing systems +Oracle Open Office Chart : choosing printers +Oracle Open Office Chart : circle drawings +Oracle Open Office Chart : Client Side ImageMap +Oracle Open Office Chart : clipboard +Oracle Open Office Chart : clipboard;cutting +Oracle Open Office Chart : clipboard;pasting +Oracle Open Office Chart : clipboard;pasting formatted/unformatted text +Oracle Open Office Chart : clipboard;selection clipboard +Oracle Open Office Chart : clipboard;Unix +Oracle Open Office Chart : closing +Oracle Open Office Chart : closing;documents +Oracle Open Office Chart : closing;toolbars +Oracle Open Office Chart : collaboration +Oracle Open Office Chart : color bar +Oracle Open Office Chart : colors +Oracle Open Office Chart : colors;adding +Oracle Open Office Chart : colors;appearance +Oracle Open Office Chart : colors;backgrounds +Oracle Open Office Chart : colors;charts +Oracle Open Office Chart : colors;fill format +Oracle Open Office Chart : colors;fonts +Oracle Open Office Chart : colors;grid lines and cells (Calc) +Oracle Open Office Chart : colors;models +Oracle Open Office Chart : colors;not printing +Oracle Open Office Chart : colors;printing in grayscale +Oracle Open Office Chart : colors;restriction (Calc) +Oracle Open Office Chart : colors;selection +Oracle Open Office Chart : column and line charts +Oracle Open Office Chart : column charts +Oracle Open Office Chart : column headers +Oracle Open Office Chart : column headers;displaying (Calc) +Oracle Open Office Chart : column headers;highlighting (Calc) +Oracle Open Office Chart : columns +Oracle Open Office Chart : columns;setting with the mouse +Oracle Open Office Chart : combination charts +Oracle Open Office Chart : combo box creation +Oracle Open Office Chart : command button creation +Oracle Open Office Chart : command buttons, see push buttons +Oracle Open Office Chart : command line parameters +Oracle Open Office Chart : commands +Oracle Open Office Chart : commands;repeating +Oracle Open Office Chart : commands;SQL +Oracle Open Office Chart : comments +Oracle Open Office Chart : comments;displaying (Calc) +Oracle Open Office Chart : comments;inserting/editing/deleting/printing +Oracle Open Office Chart : comments;on changes +Oracle Open Office Chart : comments;printing in text +Oracle Open Office Chart : common terms +Oracle Open Office Chart : common terms;Chinese dictionary +Oracle Open Office Chart : common terms;glossaries +Oracle Open Office Chart : common terms;Internet glossary +Oracle Open Office Chart : comparisons +Oracle Open Office Chart : comparisons;document versions +Oracle Open Office Chart : comparisons;operators in default filter dialog +Oracle Open Office Chart : compatibility settings for MS Word import +Oracle Open Office Chart : complete screen view +Oracle Open Office Chart : complex text layout +Oracle Open Office Chart : complex text layout;definition +Oracle Open Office Chart : complex text layout;enabling +Oracle Open Office Chart : complex text layout, see CTL +Oracle Open Office Chart : compose key to insert special characters +Oracle Open Office Chart : concatenation, see ampersand symbol +Oracle Open Office Chart : conditional separators +Oracle Open Office Chart : conditions +Oracle Open Office Chart : conditions;in number formats +Oracle Open Office Chart : conditions;items in Data Navigator +Oracle Open Office Chart : Configuration Manager +Oracle Open Office Chart : configuring +Oracle Open Office Chart : configuring;fax icon +Oracle Open Office Chart : configuring;Oracle Open Office +Oracle Open Office Chart : configuring;toolbars +Oracle Open Office Chart : connections to data sources (Base) +Oracle Open Office Chart : contents protection +Oracle Open Office Chart : context menus +Oracle Open Office Chart : control point display in presentations +Oracle Open Office Chart : controls +Oracle Open Office Chart : controls;activating in forms +Oracle Open Office Chart : controls;adding to documents +Oracle Open Office Chart : controls;arranging in forms +Oracle Open Office Chart : controls;arranging within stacks +Oracle Open Office Chart : controls;assigning data sources +Oracle Open Office Chart : controls;assigning macros (Basic) +Oracle Open Office Chart : controls;bound fields/list contents/linked cells +Oracle Open Office Chart : controls;events +Oracle Open Office Chart : controls;focus +Oracle Open Office Chart : controls;formatted fields +Oracle Open Office Chart : controls;grouping +Oracle Open Office Chart : controls;hidden +Oracle Open Office Chart : controls;inserting +Oracle Open Office Chart : controls;multi-line titles +Oracle Open Office Chart : controls;positions and sizes +Oracle Open Office Chart : controls;printing +Oracle Open Office Chart : controls;properties of form controls +Oracle Open Office Chart : controls;properties of table controls +Oracle Open Office Chart : controls;reference by SQL +Oracle Open Office Chart : controls;rich text control +Oracle Open Office Chart : controls;select mode +Oracle Open Office Chart : controls;showing (Writer) +Oracle Open Office Chart : converters +Oracle Open Office Chart : converters;Euro converter +Oracle Open Office Chart : converters;PostScript, UNIX +Oracle Open Office Chart : converters;XML +Oracle Open Office Chart : converting +Oracle Open Office Chart : converting;Hangul/Hanja +Oracle Open Office Chart : converting;metrics +Oracle Open Office Chart : converting;Microsoft documents +Oracle Open Office Chart : converting;Oracle Open Office documents +Oracle Open Office Chart : converting;Pocket PC formats +Oracle Open Office Chart : copies +Oracle Open Office Chart : copies;printing +Oracle Open Office Chart : copying +Oracle Open Office Chart : copying;by drag and drop +Oracle Open Office Chart : copying;data from text documents +Oracle Open Office Chart : copying;datasource records in spreadsheets +Oracle Open Office Chart : copying;draw objects +Oracle Open Office Chart : copying;draw objects between documents +Oracle Open Office Chart : copying;formatting +Oracle Open Office Chart : copying;from data source view +Oracle Open Office Chart : copying;from Gallery +Oracle Open Office Chart : copying;in Unix +Oracle Open Office Chart : copying;pictures, between documents +Oracle Open Office Chart : copying;sheet areas, to text documents +Oracle Open Office Chart : copying;to Gallery +Oracle Open Office Chart : copyright for Oracle Open Office +Oracle Open Office Chart : corner roundings +Oracle Open Office Chart : crash reports +Oracle Open Office Chart : criteria of query design (Base) +Oracle Open Office Chart : cropping pictures +Oracle Open Office Chart : CTL +Oracle Open Office Chart : CTL;(not) wrapping words +Oracle Open Office Chart : CTL;complex text layout languages +Oracle Open Office Chart : CTL;definition +Oracle Open Office Chart : CTL;options +Oracle Open Office Chart : currencies +Oracle Open Office Chart : currencies;converters +Oracle Open Office Chart : currencies;format codes +Oracle Open Office Chart : currency field creation +Oracle Open Office Chart : currency formats +Oracle Open Office Chart : cursor +Oracle Open Office Chart : cursor;allowing in protected areas (Writer) +Oracle Open Office Chart : cursor;in read-only text +Oracle Open Office Chart : cursor;quickly moving to an object +Oracle Open Office Chart : curves +Oracle Open Office Chart : curves;editing points +Oracle Open Office Chart : curves;properties in line charts/XY charts +Oracle Open Office Chart : custom dictionaries +Oracle Open Office Chart : custom dictionaries;editing +Oracle Open Office Chart : custom hyphens (Writer) +Oracle Open Office Chart : custom quotes +Oracle Open Office Chart : custom templates +Oracle Open Office Chart : customizing +Oracle Open Office Chart : customizing;events +Oracle Open Office Chart : customizing;keyboard +Oracle Open Office Chart : customizing;menus +Oracle Open Office Chart : customizing;Oracle Open Office +Oracle Open Office Chart : customizing;round corners +Oracle Open Office Chart : customizing;toolbars +Oracle Open Office Chart : cutting +Oracle Open Office Chart : dashes +Oracle Open Office Chart : data +Oracle Open Office Chart : data;filtering in forms +Oracle Open Office Chart : data;forms and subforms +Oracle Open Office Chart : data;read-only +Oracle Open Office Chart : data;sorting in forms +Oracle Open Office Chart : data;user data +Oracle Open Office Chart : data binding change in XForms +Oracle Open Office Chart : data labels in charts +Oracle Open Office Chart : Data Navigator +Oracle Open Office Chart : Data Navigator;adding/editing items +Oracle Open Office Chart : Data Navigator;display options +Oracle Open Office Chart : data ranges in charts +Oracle Open Office Chart : data series +Oracle Open Office Chart : data source browser +Oracle Open Office Chart : data source explorer +Oracle Open Office Chart : data source view +Oracle Open Office Chart : data source view;drag and drop +Oracle Open Office Chart : data source view;overview +Oracle Open Office Chart : data source view;showing +Oracle Open Office Chart : data sources +Oracle Open Office Chart : data sources;as tables +Oracle Open Office Chart : data sources;connection settings (Base) +Oracle Open Office Chart : data sources;copying records to spreadsheets +Oracle Open Office Chart : data sources;displaying current +Oracle Open Office Chart : data sources;LDAP server (Base) +Oracle Open Office Chart : data sources;Oracle Open Office Base +Oracle Open Office Chart : data sources;registering address books +Oracle Open Office Chart : data sources;reports +Oracle Open Office Chart : data sources;setting for stock charts +Oracle Open Office Chart : data sources;viewing +Oracle Open Office Chart : data structure of XForms +Oracle Open Office Chart : data values in charts +Oracle Open Office Chart : data, see also values +Oracle Open Office Chart : database contents +Oracle Open Office Chart : database contents;inserting as tables +Oracle Open Office Chart : database contents;inserting as text +Oracle Open Office Chart : database reports +Oracle Open Office Chart : Database Wizard (Base) +Oracle Open Office Chart : databases +Oracle Open Office Chart : databases;administration through SQL (Base) +Oracle Open Office Chart : databases;ADO (Base) +Oracle Open Office Chart : databases;connecting (Base) +Oracle Open Office Chart : databases;creating +Oracle Open Office Chart : databases;creating labels +Oracle Open Office Chart : databases;creating queries +Oracle Open Office Chart : databases;creating reports +Oracle Open Office Chart : databases;creating tables +Oracle Open Office Chart : databases;deleting (Base) +Oracle Open Office Chart : databases;drag and drop (Base) +Oracle Open Office Chart : databases;editing tables +Oracle Open Office Chart : databases;form filters +Oracle Open Office Chart : databases;formats (Base) +Oracle Open Office Chart : databases;importing/exporting +Oracle Open Office Chart : databases;JDBC (Base) +Oracle Open Office Chart : databases;main page (Base) +Oracle Open Office Chart : databases;ODBC (Base) +Oracle Open Office Chart : databases;overview +Oracle Open Office Chart : databases;registering (Base) +Oracle Open Office Chart : databases;searching records +Oracle Open Office Chart : databases;shortcut keys +Oracle Open Office Chart : databases;sorting +Oracle Open Office Chart : databases;standard filters +Oracle Open Office Chart : databases;text formats +Oracle Open Office Chart : databases;viewing +Oracle Open Office Chart : date fields +Oracle Open Office Chart : date fields;creating +Oracle Open Office Chart : date fields;properties +Oracle Open Office Chart : date formats +Oracle Open Office Chart : dates +Oracle Open Office Chart : dates;default (Calc) +Oracle Open Office Chart : dates;printing in presentations +Oracle Open Office Chart : dates;start 1900/01/01 (Calc) +Oracle Open Office Chart : dates;start 1904/01/01 (Calc) +Oracle Open Office Chart : dBASE +Oracle Open Office Chart : dBASE;database settings (Base) +Oracle Open Office Chart : DDE +Oracle Open Office Chart : DDE;definition +Oracle Open Office Chart : deactivating +Oracle Open Office Chart : deactivating;plug-ins +Oracle Open Office Chart : decimal places displayed (Calc) +Oracle Open Office Chart : decimal separator key +Oracle Open Office Chart : decimal tab stops +Oracle Open Office Chart : default directories +Oracle Open Office Chart : default filters +Oracle Open Office Chart : default filters;comparison operators +Oracle Open Office Chart : default filters;databases +Oracle Open Office Chart : default printer +Oracle Open Office Chart : default printer;setting up +Oracle Open Office Chart : default printer;UNIX +Oracle Open Office Chart : default templates +Oracle Open Office Chart : default templates;changing +Oracle Open Office Chart : default templates;organizing +Oracle Open Office Chart : defaults +Oracle Open Office Chart : defaults;documents +Oracle Open Office Chart : defaults;file formats in file dialogs +Oracle Open Office Chart : defaults;file formats in Oracle Open Office +Oracle Open Office Chart : defaults;fonts +Oracle Open Office Chart : defaults;grids (Writer/Calc) +Oracle Open Office Chart : defaults;languages +Oracle Open Office Chart : defaults;number formats +Oracle Open Office Chart : defaults;of saving +Oracle Open Office Chart : defaults;program configuration +Oracle Open Office Chart : defaults;tab stops in text +Oracle Open Office Chart : defaults;views +Oracle Open Office Chart : defining +Oracle Open Office Chart : defining;arrowheads and other line ends +Oracle Open Office Chart : defining;colors +Oracle Open Office Chart : defining;line styles +Oracle Open Office Chart : defining;paragraph borders +Oracle Open Office Chart : defining;queries (Base) +Oracle Open Office Chart : defining;table borders +Oracle Open Office Chart : deleting +Oracle Open Office Chart : deleting;all direct formatting +Oracle Open Office Chart : deleting;comments +Oracle Open Office Chart : deleting;databases (Base) +Oracle Open Office Chart : deleting;hyperlinks +Oracle Open Office Chart : deleting;lines in text +Oracle Open Office Chart : deleting;models/instances +Oracle Open Office Chart : deleting;namespaces in XForms +Oracle Open Office Chart : deleting;tab stops +Oracle Open Office Chart : deleting;templates +Oracle Open Office Chart : deleting;XML filters +Oracle Open Office Chart : depth stagger +Oracle Open Office Chart : descriptions for objects +Oracle Open Office Chart : design mode after saving +Oracle Open Office Chart : design view +Oracle Open Office Chart : design view;creating forms +Oracle Open Office Chart : design view;queries/views (Base) +Oracle Open Office Chart : designing +Oracle Open Office Chart : designing;database tables +Oracle Open Office Chart : designing;fonts +Oracle Open Office Chart : designing;queries (Base) +Oracle Open Office Chart : detaching toolbars +Oracle Open Office Chart : dictionaries +Oracle Open Office Chart : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Chart : dictionaries;creating +Oracle Open Office Chart : dictionaries;editing user-defined +Oracle Open Office Chart : dictionaries;spellcheck +Oracle Open Office Chart : dictionaries, see also languages +Oracle Open Office Chart : digital signatures +Oracle Open Office Chart : digital signatures;getting/managing/applying +Oracle Open Office Chart : digital signatures;overview +Oracle Open Office Chart : digital signatures;WebDAV over HTTPS +Oracle Open Office Chart : direct formatting +Oracle Open Office Chart : direct formatting;undoing all +Oracle Open Office Chart : directories +Oracle Open Office Chart : directories;creating new +Oracle Open Office Chart : directories;directory structure +Oracle Open Office Chart : disabled persons +Oracle Open Office Chart : displaying +Oracle Open Office Chart : displaying;comments (Calc) +Oracle Open Office Chart : displaying;comments in text documents +Oracle Open Office Chart : displaying;non-printing characters (Writer) +Oracle Open Office Chart : displaying;pictures and objects (Writer) +Oracle Open Office Chart : displaying;tables (Writer) +Oracle Open Office Chart : displaying;zero values (Calc) +Oracle Open Office Chart : distances +Oracle Open Office Chart : distinct values in SQL queries +Oracle Open Office Chart : distorting in drawings +Oracle Open Office Chart : distributing XML filters +Oracle Open Office Chart : docking +Oracle Open Office Chart : docking;definition +Oracle Open Office Chart : docking;toolbars +Oracle Open Office Chart : docking;windows +Oracle Open Office Chart : Document Converter Wizard +Oracle Open Office Chart : Document Map, see Navigator +Oracle Open Office Chart : document types in Oracle Open Office +Oracle Open Office Chart : documents +Oracle Open Office Chart : documents;changing titles +Oracle Open Office Chart : documents;closing +Oracle Open Office Chart : documents;comparing +Oracle Open Office Chart : documents;contents as lists +Oracle Open Office Chart : documents;editing time +Oracle Open Office Chart : documents;exporting +Oracle Open Office Chart : documents;importing +Oracle Open Office Chart : documents;languages +Oracle Open Office Chart : documents;measurement units in +Oracle Open Office Chart : documents;merging +Oracle Open Office Chart : documents;number of pages/tables/sheets +Oracle Open Office Chart : documents;opening +Oracle Open Office Chart : documents;opening in design mode +Oracle Open Office Chart : documents;opening with templates +Oracle Open Office Chart : documents;organizing +Oracle Open Office Chart : documents;printing +Oracle Open Office Chart : documents;read-only +Oracle Open Office Chart : documents;reloading +Oracle Open Office Chart : documents;saving +Oracle Open Office Chart : documents;saving automatically +Oracle Open Office Chart : documents;saving in other formats +Oracle Open Office Chart : documents;sending as e-mail +Oracle Open Office Chart : documents;styles changed +Oracle Open Office Chart : documents;version management +Oracle Open Office Chart : documents;version numbers +Oracle Open Office Chart : donut charts +Oracle Open Office Chart : dotted areas +Oracle Open Office Chart : double-line spacing in paragraphs +Oracle Open Office Chart : double-line writing in Asian layout +Oracle Open Office Chart : drag and drop +Oracle Open Office Chart : drag and drop;copying and pasting text +Oracle Open Office Chart : drag and drop;data source view +Oracle Open Office Chart : drag and drop;from Gallery to draw objects +Oracle Open Office Chart : drag and drop;overview +Oracle Open Office Chart : drag and drop;pictures +Oracle Open Office Chart : drag and drop;to Gallery +Oracle Open Office Chart : draw objects +Oracle Open Office Chart : draw objects;adding/editing/copying +Oracle Open Office Chart : draw objects;anchoring +Oracle Open Office Chart : draw objects;arranging within stacks +Oracle Open Office Chart : draw objects;copying between documents +Oracle Open Office Chart : draw objects;displaying (Calc) +Oracle Open Office Chart : draw objects;dropping Gallery pictures +Oracle Open Office Chart : draw objects;flipping +Oracle Open Office Chart : draw objects;legends +Oracle Open Office Chart : draw objects;positioning and resizing +Oracle Open Office Chart : draw objects;protecting +Oracle Open Office Chart : draw objects;slanting +Oracle Open Office Chart : draw objects;text in +Oracle Open Office Chart : Drawing bar +Oracle Open Office Chart : drawing lines in text +Oracle Open Office Chart : drawings +Oracle Open Office Chart : drawings;creating/opening +Oracle Open Office Chart : drawings;languages +Oracle Open Office Chart : drawings;printing +Oracle Open Office Chart : drawings;printing defaults +Oracle Open Office Chart : drawings;printing in text documents +Oracle Open Office Chart : drawings;saving +Oracle Open Office Chart : drawings;saving automatically +Oracle Open Office Chart : drawings;saving in other formats +Oracle Open Office Chart : drawings;sending as e-mail +Oracle Open Office Chart : drawings;showing (Writer) +Oracle Open Office Chart : drawings, see also draw objects +Oracle Open Office Chart : drop-down lists in form functions +Oracle Open Office Chart : e-mail attachments +Oracle Open Office Chart : Edit File icon +Oracle Open Office Chart : edit mode +Oracle Open Office Chart : edit mode;after opening +Oracle Open Office Chart : edit mode;through Enter key (Calc) +Oracle Open Office Chart : Edit Points bar +Oracle Open Office Chart : editing +Oracle Open Office Chart : editing;chart axes +Oracle Open Office Chart : editing;chart data +Oracle Open Office Chart : editing;chart legends +Oracle Open Office Chart : editing;chart titles +Oracle Open Office Chart : editing;comments +Oracle Open Office Chart : editing;data binding of XForms +Oracle Open Office Chart : editing;database tables and queries +Oracle Open Office Chart : editing;draw objects +Oracle Open Office Chart : editing;Fontwork objects +Oracle Open Office Chart : editing;hyperlinks +Oracle Open Office Chart : editing;menus +Oracle Open Office Chart : editing;objects +Oracle Open Office Chart : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Chart : editing;pictures +Oracle Open Office Chart : editing;reports +Oracle Open Office Chart : editing;shortcut keys +Oracle Open Office Chart : editing;tab stops +Oracle Open Office Chart : editing;templates +Oracle Open Office Chart : editing;titles +Oracle Open Office Chart : editing;toolbars +Oracle Open Office Chart : editing;undoing +Oracle Open Office Chart : editing;XForms +Oracle Open Office Chart : editing time of documents +Oracle Open Office Chart : editors +Oracle Open Office Chart : editors;formula editor +Oracle Open Office Chart : editors;ImageMap editor +Oracle Open Office Chart : effects +Oracle Open Office Chart : effects;font positions +Oracle Open Office Chart : effects;fonts +Oracle Open Office Chart : effects;Fontwork icons +Oracle Open Office Chart : empty documents +Oracle Open Office Chart : empty paragraph removal +Oracle Open Office Chart : encryption of contents +Oracle Open Office Chart : entering groups +Oracle Open Office Chart : entering text from right to left +Oracle Open Office Chart : equal sign, see also operators +Oracle Open Office Chart : equations in formula editor +Oracle Open Office Chart : error bars in charts +Oracle Open Office Chart : error indicators in charts +Oracle Open Office Chart : Error Report Tool +Oracle Open Office Chart : Euro +Oracle Open Office Chart : Euro;currency formats +Oracle Open Office Chart : Euro;Euro Converter Wizard +Oracle Open Office Chart : even/odd pages +Oracle Open Office Chart : even/odd pages;printing +Oracle Open Office Chart : events +Oracle Open Office Chart : events;assigning scripts +Oracle Open Office Chart : events;controls +Oracle Open Office Chart : events;customizing +Oracle Open Office Chart : events;in forms +Oracle Open Office Chart : Excel +Oracle Open Office Chart : Excel;saving as +Oracle Open Office Chart : Excel;search criteria +Oracle Open Office Chart : exceptions +Oracle Open Office Chart : exceptions;user-defined dictionaries +Oracle Open Office Chart : exchanging, see also replacing +Oracle Open Office Chart : executing SQL commands +Oracle Open Office Chart : exiting +Oracle Open Office Chart : exiting;groups +Oracle Open Office Chart : exiting;Oracle Open Office +Oracle Open Office Chart : expanding formatting (Calc) +Oracle Open Office Chart : explorer of data sources +Oracle Open Office Chart : export filters +Oracle Open Office Chart : exporting +Oracle Open Office Chart : exporting;bitmaps +Oracle Open Office Chart : exporting;HTML and text documents +Oracle Open Office Chart : exporting;Microsoft Office documents with VBA code +Oracle Open Office Chart : exporting;spreadsheets to text format +Oracle Open Office Chart : exporting;templates +Oracle Open Office Chart : exporting;to foreign formats +Oracle Open Office Chart : exporting;to HTML +Oracle Open Office Chart : exporting;to Microsoft Office formats +Oracle Open Office Chart : exporting;to PDF +Oracle Open Office Chart : exporting;to PostScript format +Oracle Open Office Chart : exporting;to XML +Oracle Open Office Chart : exporting;XML files +Oracle Open Office Chart : extended tips in Help +Oracle Open Office Chart : extension mode in text +Oracle Open Office Chart : extensions +Oracle Open Office Chart : extensions;Extension Manager +Oracle Open Office Chart : extensions;file formats +Oracle Open Office Chart : external keys (Base) +Oracle Open Office Chart : faster printing +Oracle Open Office Chart : faxes +Oracle Open Office Chart : faxes;configuring Oracle Open Office +Oracle Open Office Chart : faxes;fax programs/fax printers under UNIX +Oracle Open Office Chart : faxes;selecting a fax machine +Oracle Open Office Chart : faxes;sending +Oracle Open Office Chart : faxes;wizards +Oracle Open Office Chart : feedback +Oracle Open Office Chart : feedback;automatically +Oracle Open Office Chart : fields +Oracle Open Office Chart : fields;database tables +Oracle Open Office Chart : fields;displaying field codes (Writer) +Oracle Open Office Chart : fields;formatted fields +Oracle Open Office Chart : fields;updating automatically (Writer) +Oracle Open Office Chart : file associations for Microsoft Office +Oracle Open Office Chart : file filters +Oracle Open Office Chart : file filters;mobile devices +Oracle Open Office Chart : file filters;XML +Oracle Open Office Chart : file formats +Oracle Open Office Chart : file formats;changing Oracle Open Office defaults +Oracle Open Office Chart : file formats;OpenDocument/XML +Oracle Open Office Chart : file formats;saving always in other formats +Oracle Open Office Chart : file selection button +Oracle Open Office Chart : file sharing options for current document +Oracle Open Office Chart : files +Oracle Open Office Chart : files;filters and formats +Oracle Open Office Chart : files;importing +Oracle Open Office Chart : files;opening +Oracle Open Office Chart : files;opening with placeholders +Oracle Open Office Chart : files;properties +Oracle Open Office Chart : files;saving +Oracle Open Office Chart : files;saving automatically +Oracle Open Office Chart : files;saving in other formats +Oracle Open Office Chart : files;sending as e-mail +Oracle Open Office Chart : files;version numbers +Oracle Open Office Chart : files and folders in Oracle Open Office +Oracle Open Office Chart : fill characters with tabulators +Oracle Open Office Chart : fill colors for areas +Oracle Open Office Chart : fill patterns for areas +Oracle Open Office Chart : filter conditions +Oracle Open Office Chart : filter conditions;connecting +Oracle Open Office Chart : filter conditions;in queries (Base) +Oracle Open Office Chart : filtering +Oracle Open Office Chart : filtering;data in databases +Oracle Open Office Chart : filtering;data in forms +Oracle Open Office Chart : filters +Oracle Open Office Chart : filters;comparison operators +Oracle Open Office Chart : filters;for import and export +Oracle Open Office Chart : filters;Navigator +Oracle Open Office Chart : filters;pictures +Oracle Open Office Chart : filters;XML filter settings +Oracle Open Office Chart : Find tab in Help +Oracle Open Office Chart : finding +Oracle Open Office Chart : finding;in all sheets +Oracle Open Office Chart : finding;records in form documents +Oracle Open Office Chart : finding;selections +Oracle Open Office Chart : finding;similarity search +Oracle Open Office Chart : fitting to pages +Oracle Open Office Chart : fitting to pages;print settings in Math +Oracle Open Office Chart : fitting to pages;print settings in presentations +Oracle Open Office Chart : fixed text +Oracle Open Office Chart : fixed text;form functions +Oracle Open Office Chart : fixing toolbars +Oracle Open Office Chart : flipping draw objects +Oracle Open Office Chart : floating frames in HTML documents +Oracle Open Office Chart : floating toolbars +Oracle Open Office Chart : focus of controls +Oracle Open Office Chart : folder creation +Oracle Open Office Chart : font lists +Oracle Open Office Chart : font name box +Oracle Open Office Chart : font sizes +Oracle Open Office Chart : font sizes;bullets +Oracle Open Office Chart : font sizes;relative changes +Oracle Open Office Chart : font sizes;scaling on screen +Oracle Open Office Chart : font sizes;text +Oracle Open Office Chart : fonts +Oracle Open Office Chart : fonts;adding under UNIX +Oracle Open Office Chart : fonts;changing in templates +Oracle Open Office Chart : fonts;colors +Oracle Open Office Chart : fonts;default settings +Oracle Open Office Chart : fonts;effects +Oracle Open Office Chart : fonts;for HTML and Basic +Oracle Open Office Chart : fonts;formats +Oracle Open Office Chart : fonts;outlines +Oracle Open Office Chart : fonts;positions in text +Oracle Open Office Chart : fonts;shadows +Oracle Open Office Chart : fonts;specifying several +Oracle Open Office Chart : fonts;strikethrough +Oracle Open Office Chart : fonts;styles +Oracle Open Office Chart : fonts;text objects +Oracle Open Office Chart : Fontwork icons +Oracle Open Office Chart : footers +Oracle Open Office Chart : footers;backgrounds +Oracle Open Office Chart : form controls +Oracle Open Office Chart : form controls;assigning macros +Oracle Open Office Chart : form controls;protecting +Oracle Open Office Chart : form controls;toolbars +Oracle Open Office Chart : form fields +Oracle Open Office Chart : form filters +Oracle Open Office Chart : Form Navigator +Oracle Open Office Chart : format codes +Oracle Open Office Chart : format codes;numbers +Oracle Open Office Chart : format filling printing in Oracle Open Office Math +Oracle Open Office Chart : Format Paintbrush +Oracle Open Office Chart : formats +Oracle Open Office Chart : formats;Asian layout +Oracle Open Office Chart : formats;fonts +Oracle Open Office Chart : formats;maximizing page formats +Oracle Open Office Chart : formats;number and currency formats +Oracle Open Office Chart : formats;of currencies/date/time +Oracle Open Office Chart : formats;on opening and saving +Oracle Open Office Chart : formats;pasting in special formats +Oracle Open Office Chart : formats;positions +Oracle Open Office Chart : formats;tabulators +Oracle Open Office Chart : formatted fields +Oracle Open Office Chart : formatted fields;form functions +Oracle Open Office Chart : formatted fields;properties +Oracle Open Office Chart : formatting +Oracle Open Office Chart : formatting;Asian typography +Oracle Open Office Chart : formatting;axes in charts +Oracle Open Office Chart : formatting;chart areas +Oracle Open Office Chart : formatting;chart floors +Oracle Open Office Chart : formatting;chart legends +Oracle Open Office Chart : formatting;chart titles +Oracle Open Office Chart : formatting;chart walls +Oracle Open Office Chart : formatting;copying +Oracle Open Office Chart : formatting;definition +Oracle Open Office Chart : formatting;expanding (Calc) +Oracle Open Office Chart : formatting;font effects +Oracle Open Office Chart : formatting;hyperlinks +Oracle Open Office Chart : formatting;pages +Oracle Open Office Chart : formatting;printer metrics (Writer) +Oracle Open Office Chart : formatting;undoing +Oracle Open Office Chart : formatting;undoing when writing +Oracle Open Office Chart : forms +Oracle Open Office Chart : forms;browsing +Oracle Open Office Chart : forms;Combo Box/List Box Wizard +Oracle Open Office Chart : forms;creating +Oracle Open Office Chart : forms;data +Oracle Open Office Chart : forms;designing (Base) +Oracle Open Office Chart : forms;events +Oracle Open Office Chart : forms;filtering data +Oracle Open Office Chart : forms;finding records +Oracle Open Office Chart : forms;focus after opening +Oracle Open Office Chart : forms;general information (Base) +Oracle Open Office Chart : forms;grouping controls +Oracle Open Office Chart : forms;HTML filters +Oracle Open Office Chart : forms;Navigator +Oracle Open Office Chart : forms;opening in design mode +Oracle Open Office Chart : forms;properties +Oracle Open Office Chart : forms;sorting data +Oracle Open Office Chart : forms;subforms +Oracle Open Office Chart : forms;wizards +Oracle Open Office Chart : forms;XForms +Oracle Open Office Chart : formula texts +Oracle Open Office Chart : formula texts;printing in Oracle Open Office Math +Oracle Open Office Chart : formulas +Oracle Open Office Chart : formulas;new +Oracle Open Office Chart : formulas;starting formula editor +Oracle Open Office Chart : formulas in reports +Oracle Open Office Chart : formulas in reports;editing +Oracle Open Office Chart : forums and support +Oracle Open Office Chart : frames +Oracle Open Office Chart : frames;around paragraphs +Oracle Open Office Chart : frames;around tables +Oracle Open Office Chart : frames;AutoCorrect function +Oracle Open Office Chart : frames;backgrounds +Oracle Open Office Chart : frames;captions (Writer) +Oracle Open Office Chart : frames;printing in Oracle Open Office Math +Oracle Open Office Chart : frames;protecting +Oracle Open Office Chart : frames;selection frames +Oracle Open Office Chart : frames;text fitting to frames +Oracle Open Office Chart : freeform lines +Oracle Open Office Chart : freeform lines;draw functions +Oracle Open Office Chart : FTP +Oracle Open Office Chart : FTP;opening documents +Oracle Open Office Chart : FTP;saving documents +Oracle Open Office Chart : full joins (Base) +Oracle Open Office Chart : full screen view +Oracle Open Office Chart : full-text search in Help +Oracle Open Office Chart : functions in reports +Oracle Open Office Chart : functions in reports;editing +Oracle Open Office Chart : Gallery +Oracle Open Office Chart : Gallery;adding pictures +Oracle Open Office Chart : Gallery;dragging pictures to draw objects +Oracle Open Office Chart : Gallery;hiding/showing +Oracle Open Office Chart : Gallery;inserting pictures from +Oracle Open Office Chart : get method for form transmissions +Oracle Open Office Chart : getting support +Oracle Open Office Chart : GIF format +Oracle Open Office Chart : glossaries +Oracle Open Office Chart : glossaries;common terms +Oracle Open Office Chart : glossaries;Internet terms +Oracle Open Office Chart : gradients off for faster printing +Oracle Open Office Chart : graphic objects, see draw objects +Oracle Open Office Chart : graphical text art +Oracle Open Office Chart : graphics +Oracle Open Office Chart : graphics;cache +Oracle Open Office Chart : graphics;protecting +Oracle Open Office Chart : graphics, see also pictures +Oracle Open Office Chart : grayscale printing +Oracle Open Office Chart : grid controls +Oracle Open Office Chart : grid controls;form functions +Oracle Open Office Chart : grids +Oracle Open Office Chart : grids;defaults (Writer/Calc) +Oracle Open Office Chart : grids;display options (Impress/Draw) +Oracle Open Office Chart : grids;displaying lines (Calc) +Oracle Open Office Chart : grids;formatting axes +Oracle Open Office Chart : grids;inserting in charts +Oracle Open Office Chart : group box creation +Oracle Open Office Chart : groups +Oracle Open Office Chart : groups;entering/exiting/ungrouping +Oracle Open Office Chart : groups;naming +Oracle Open Office Chart : groups;of controls +Oracle Open Office Chart : guides +Oracle Open Office Chart : guides;display options (Impress/Draw) +Oracle Open Office Chart : guides;displaying when moving objects (Impress) +Oracle Open Office Chart : guides;showing (Calc) +Oracle Open Office Chart : guides;showing when moving frames (Writer) +Oracle Open Office Chart : gutter +Oracle Open Office Chart : handles +Oracle Open Office Chart : handles;displaying (Writer) +Oracle Open Office Chart : handles;scaling +Oracle Open Office Chart : handles;showing simple/large handles (Calc) +Oracle Open Office Chart : Hangul/Hanja +Oracle Open Office Chart : hatching +Oracle Open Office Chart : headers +Oracle Open Office Chart : headers;backgrounds +Oracle Open Office Chart : headings +Oracle Open Office Chart : headings;entering as text box +Oracle Open Office Chart : Hebrew +Oracle Open Office Chart : Hebrew;entering text +Oracle Open Office Chart : Hebrew;language settings +Oracle Open Office Chart : Help +Oracle Open Office Chart : Help;bookmarks +Oracle Open Office Chart : Help;extended tips on/off +Oracle Open Office Chart : Help;full-text search +Oracle Open Office Chart : Help;Help tips +Oracle Open Office Chart : Help;keywords +Oracle Open Office Chart : Help;navigation pane showing/hiding +Oracle Open Office Chart : Help;style sheets +Oracle Open Office Chart : Help;topics +Oracle Open Office Chart : Help Agent +Oracle Open Office Chart : Help Agent;help +Oracle Open Office Chart : Help Agent;options +Oracle Open Office Chart : Help tips +Oracle Open Office Chart : Help tips;hiding +Oracle Open Office Chart : hidden controls in Form Navigator +Oracle Open Office Chart : hidden fields display (Writer) +Oracle Open Office Chart : hidden pages +Oracle Open Office Chart : hidden pages;printing in presentations +Oracle Open Office Chart : hidden text +Oracle Open Office Chart : hidden text;showing (Writer) +Oracle Open Office Chart : hiding +Oracle Open Office Chart : hiding;changes +Oracle Open Office Chart : hiding;chart legends +Oracle Open Office Chart : hiding;docked windows +Oracle Open Office Chart : hiding;navigation pane in Help window +Oracle Open Office Chart : high contrast mode +Oracle Open Office Chart : Hindi +Oracle Open Office Chart : Hindi;entering text +Oracle Open Office Chart : Hindi;language settings +Oracle Open Office Chart : horizontal scrollbars (Writer) +Oracle Open Office Chart : hotspots +Oracle Open Office Chart : HowTos for charts +Oracle Open Office Chart : HTML +Oracle Open Office Chart : HTML;definition +Oracle Open Office Chart : HTML;export character set +Oracle Open Office Chart : HTML;fonts for source display +Oracle Open Office Chart : HTML;importing META tags +Oracle Open Office Chart : HTML;live presentations +Oracle Open Office Chart : HTML documents +Oracle Open Office Chart : HTML documents;auto reloading +Oracle Open Office Chart : HTML documents;importing/exporting +Oracle Open Office Chart : HTML documents;META tags in +Oracle Open Office Chart : HTML documents;new +Oracle Open Office Chart : HTML documents;source text +Oracle Open Office Chart : hyperlinks +Oracle Open Office Chart : hyperlinks;assigning macros +Oracle Open Office Chart : hyperlinks;character formats +Oracle Open Office Chart : hyperlinks;definition +Oracle Open Office Chart : hyperlinks;deleting +Oracle Open Office Chart : hyperlinks;editing +Oracle Open Office Chart : hyperlinks;inserting +Oracle Open Office Chart : hyperlinks;relative and absolute +Oracle Open Office Chart : hyperlinks;turning off automatic recognition +Oracle Open Office Chart : hyperlinks, see also links +Oracle Open Office Chart : hyphenation +Oracle Open Office Chart : hyphenation;activating for a language +Oracle Open Office Chart : hyphenation;minimal number of characters +Oracle Open Office Chart : hyphens +Oracle Open Office Chart : hyphens;displaying custom (Writer) +Oracle Open Office Chart : hyphens;inserting custom +Oracle Open Office Chart : icon bars, see toolbars +Oracle Open Office Chart : icon sizes +Oracle Open Office Chart : ignore list for spellcheck +Oracle Open Office Chart : illumination +Oracle Open Office Chart : illumination;3D charts +Oracle Open Office Chart : illustrations, see pictures +Oracle Open Office Chart : image button creation +Oracle Open Office Chart : image control creation +Oracle Open Office Chart : ImageMap +Oracle Open Office Chart : ImageMap;definition +Oracle Open Office Chart : ImageMap;editor +Oracle Open Office Chart : images +Oracle Open Office Chart : images;ImageMap +Oracle Open Office Chart : images;inserting and editing bitmaps +Oracle Open Office Chart : images, see also pictures +Oracle Open Office Chart : IME +Oracle Open Office Chart : IME;definition +Oracle Open Office Chart : IME;showing/hiding +Oracle Open Office Chart : import filters +Oracle Open Office Chart : import restrictions for Microsoft Office +Oracle Open Office Chart : importing +Oracle Open Office Chart : importing;bitmaps +Oracle Open Office Chart : importing;compatibility settings for text import +Oracle Open Office Chart : importing;databases +Oracle Open Office Chart : importing;documents in other formats +Oracle Open Office Chart : importing;from XML +Oracle Open Office Chart : importing;HTML and text documents +Oracle Open Office Chart : importing;HTML with META tags +Oracle Open Office Chart : importing;Microsoft Office documents with VBA code +Oracle Open Office Chart : importing;tables in text format +Oracle Open Office Chart : importing;templates +Oracle Open Office Chart : improvement program +Oracle Open Office Chart : inches +Oracle Open Office Chart : Index tab in Help +Oracle Open Office Chart : indexes +Oracle Open Office Chart : indexes;backgrounds +Oracle Open Office Chart : indexes;showing/hiding Help index tab +Oracle Open Office Chart : indicator lines in text +Oracle Open Office Chart : inner joins (Base) +Oracle Open Office Chart : input method window +Oracle Open Office Chart : insert mode for entering text +Oracle Open Office Chart : inserting +Oracle Open Office Chart : inserting;buttons in toolbars +Oracle Open Office Chart : inserting;cell ranges from spreadsheets +Oracle Open Office Chart : inserting;charts +Oracle Open Office Chart : inserting;clipboard options +Oracle Open Office Chart : inserting;comments +Oracle Open Office Chart : inserting;data from text documents +Oracle Open Office Chart : inserting;datasource records in spreadsheets +Oracle Open Office Chart : inserting;drawings +Oracle Open Office Chart : inserting;floating frames +Oracle Open Office Chart : inserting;Fontwork objects +Oracle Open Office Chart : inserting;form fields +Oracle Open Office Chart : inserting;hyperlinks +Oracle Open Office Chart : inserting;line breaks in cells +Oracle Open Office Chart : inserting;movies/sounds +Oracle Open Office Chart : inserting;new text tables defaults +Oracle Open Office Chart : inserting;objects from Gallery +Oracle Open Office Chart : inserting;OLE objects +Oracle Open Office Chart : inserting;paragraph borders +Oracle Open Office Chart : inserting;paragraph bullets +Oracle Open Office Chart : inserting;pictures in Gallery +Oracle Open Office Chart : inserting;plug-ins +Oracle Open Office Chart : inserting;push buttons +Oracle Open Office Chart : inserting;special characters +Oracle Open Office Chart : inserting;tab stops +Oracle Open Office Chart : inserting;textures on chart bars +Oracle Open Office Chart : installing +Oracle Open Office Chart : installing;ActiveX control +Oracle Open Office Chart : installing;mobile device filters +Oracle Open Office Chart : installing;UNO components +Oracle Open Office Chart : installing;XML filters +Oracle Open Office Chart : instructions +Oracle Open Office Chart : instructions;general +Oracle Open Office Chart : Internet +Oracle Open Office Chart : Internet;checking for updates +Oracle Open Office Chart : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Chart : Internet;presentations +Oracle Open Office Chart : Internet;starting searches +Oracle Open Office Chart : Internet glossary +Oracle Open Office Chart : invert filter +Oracle Open Office Chart : invisible areas +Oracle Open Office Chart : italic text +Oracle Open Office Chart : iterative references in spreadsheets +Oracle Open Office Chart : Java +Oracle Open Office Chart : Java;definition +Oracle Open Office Chart : Java;setting options +Oracle Open Office Chart : JDBC +Oracle Open Office Chart : JDBC;databases (Base) +Oracle Open Office Chart : JDBC;definition +Oracle Open Office Chart : joining +Oracle Open Office Chart : joining;paragraphs +Oracle Open Office Chart : joining;tables (Base) +Oracle Open Office Chart : joins in databases (Base) +Oracle Open Office Chart : justifying text +Oracle Open Office Chart : kerning +Oracle Open Office Chart : kerning;Asian texts +Oracle Open Office Chart : kerning;definition +Oracle Open Office Chart : kerning;in characters +Oracle Open Office Chart : key fields for relations (Base) +Oracle Open Office Chart : keyboard +Oracle Open Office Chart : keyboard;assigning/editing shortcut keys +Oracle Open Office Chart : keyboard;general commands +Oracle Open Office Chart : keyboard;removing numbering +Oracle Open Office Chart : keys +Oracle Open Office Chart : keys;adding push buttons +Oracle Open Office Chart : keys;primary keys (Base) +Oracle Open Office Chart : kiosk export +Oracle Open Office Chart : labels +Oracle Open Office Chart : labels;creating and synchronizing +Oracle Open Office Chart : labels;for charts +Oracle Open Office Chart : labels;for draw objects +Oracle Open Office Chart : labels;form functions +Oracle Open Office Chart : labels;from databases +Oracle Open Office Chart : labels, see also names/callouts +Oracle Open Office Chart : languages +Oracle Open Office Chart : languages;activating modules +Oracle Open Office Chart : languages;Asian support +Oracle Open Office Chart : languages;complex text layout +Oracle Open Office Chart : languages;locale settings +Oracle Open Office Chart : languages;selecting for text +Oracle Open Office Chart : languages;setting options +Oracle Open Office Chart : languages;spellcheck +Oracle Open Office Chart : languages;spellchecking and formatting +Oracle Open Office Chart : large handles (Writer) +Oracle Open Office Chart : large icons +Oracle Open Office Chart : layer arrangement +Oracle Open Office Chart : layout +Oracle Open Office Chart : layout;importing Word documents +Oracle Open Office Chart : layout;pages +Oracle Open Office Chart : LDAP server +Oracle Open Office Chart : LDAP server;address books (Base) +Oracle Open Office Chart : LDAP server;sign on options +Oracle Open Office Chart : leading between paragraphs +Oracle Open Office Chart : left alignment of paragraphs +Oracle Open Office Chart : left joins (Base) +Oracle Open Office Chart : legends +Oracle Open Office Chart : legends;charts +Oracle Open Office Chart : legends;draw objects +Oracle Open Office Chart : legends;rounding corners +Oracle Open Office Chart : Letter Wizard +Oracle Open Office Chart : levels +Oracle Open Office Chart : levels;depth stagger +Oracle Open Office Chart : levels;macro security +Oracle Open Office Chart : limits of tables (Writer) +Oracle Open Office Chart : line breaks +Oracle Open Office Chart : line breaks;in cells +Oracle Open Office Chart : line charts +Oracle Open Office Chart : line spacing +Oracle Open Office Chart : line spacing;context menu in paragraphs +Oracle Open Office Chart : line spacing;paragraph +Oracle Open Office Chart : line styles +Oracle Open Office Chart : line styles;applying +Oracle Open Office Chart : line styles;defining +Oracle Open Office Chart : lines +Oracle Open Office Chart : lines;defining ends +Oracle Open Office Chart : lines;draw functions +Oracle Open Office Chart : lines;drawing in text +Oracle Open Office Chart : lines;editing points +Oracle Open Office Chart : lines;removing automatic lines +Oracle Open Office Chart : lines of text +Oracle Open Office Chart : lines of text;alignment +Oracle Open Office Chart : links +Oracle Open Office Chart : links;between cells and controls +Oracle Open Office Chart : links;by drag and drop +Oracle Open Office Chart : links;character formats +Oracle Open Office Chart : links;definition +Oracle Open Office Chart : links;editing hyperlinks +Oracle Open Office Chart : links;inserting +Oracle Open Office Chart : links;modifying +Oracle Open Office Chart : links;opening files with +Oracle Open Office Chart : links;relational databases (Base) +Oracle Open Office Chart : links;turning off automatic recognition +Oracle Open Office Chart : links;updating options (Writer) +Oracle Open Office Chart : links;updating specific links +Oracle Open Office Chart : list box creation +Oracle Open Office Chart : lists +Oracle Open Office Chart : lists;data assigned to controls +Oracle Open Office Chart : lists;registered databases (Base) +Oracle Open Office Chart : lists;regular expressions +Oracle Open Office Chart : live presentations on the Internet +Oracle Open Office Chart : loading +Oracle Open Office Chart : loading;documents +Oracle Open Office Chart : loading;documents from other formats +Oracle Open Office Chart : loading;HTML documents, automatically +Oracle Open Office Chart : loading;Microsoft Office documents with VBA code +Oracle Open Office Chart : loading;reloading +Oracle Open Office Chart : loading;XML files +Oracle Open Office Chart : locale settings +Oracle Open Office Chart : logarithmic scaling along axes +Oracle Open Office Chart : lowercase letters +Oracle Open Office Chart : lowercase letters;font effects +Oracle Open Office Chart : Macro Wizard (Base) +Oracle Open Office Chart : macros +Oracle Open Office Chart : macros;assigning to events in forms +Oracle Open Office Chart : macros;attaching new (Base) +Oracle Open Office Chart : macros;in MS Office documents +Oracle Open Office Chart : macros;interrupting +Oracle Open Office Chart : macros;organizing +Oracle Open Office Chart : macros;recording +Oracle Open Office Chart : macros;security +Oracle Open Office Chart : macros;security levels +Oracle Open Office Chart : macros;security warning dialog +Oracle Open Office Chart : macros;selecting security warnings +Oracle Open Office Chart : magnifiers +Oracle Open Office Chart : margins +Oracle Open Office Chart : margins;pages +Oracle Open Office Chart : margins;setting with the mouse +Oracle Open Office Chart : margins;shadows +Oracle Open Office Chart : marking changes +Oracle Open Office Chart : marking, see selecting +Oracle Open Office Chart : Math formula editor +Oracle Open Office Chart : mean value lines in charts +Oracle Open Office Chart : measurement units +Oracle Open Office Chart : measurement units;changing on rulers +Oracle Open Office Chart : measurement units;converting +Oracle Open Office Chart : measurement units;selecting +Oracle Open Office Chart : Media Player window +Oracle Open Office Chart : menus +Oracle Open Office Chart : menus;activating context menus +Oracle Open Office Chart : menus;assigning macros +Oracle Open Office Chart : menus;customizing +Oracle Open Office Chart : merging +Oracle Open Office Chart : merging;documents +Oracle Open Office Chart : META tags +Oracle Open Office Chart : metrics +Oracle Open Office Chart : metrics;converting +Oracle Open Office Chart : metrics;document formatting (Writer) +Oracle Open Office Chart : metrics;in sheets +Oracle Open Office Chart : Microsoft Office +Oracle Open Office Chart : Microsoft Office;Access databases (base) +Oracle Open Office Chart : Microsoft Office;as default file format +Oracle Open Office Chart : Microsoft Office;document import restrictions +Oracle Open Office Chart : Microsoft Office;feature comparisons +Oracle Open Office Chart : Microsoft Office;importing password protected files +Oracle Open Office Chart : Microsoft Office;importing Word documents +Oracle Open Office Chart : Microsoft Office;importing/exporting VBA code +Oracle Open Office Chart : Microsoft Office;new users information +Oracle Open Office Chart : Microsoft Office;opening Microsoft documents +Oracle Open Office Chart : Microsoft Office;reassigning document types +Oracle Open Office Chart : migrating macros (Base) +Oracle Open Office Chart : mobile device filters +Oracle Open Office Chart : models in XForms +Oracle Open Office Chart : modifying, see changing +Oracle Open Office Chart : more controls +Oracle Open Office Chart : mosaic filter +Oracle Open Office Chart : mouse +Oracle Open Office Chart : mouse;pointers when using drag and drop +Oracle Open Office Chart : mouse;positioning +Oracle Open Office Chart : movies +Oracle Open Office Chart : moving +Oracle Open Office Chart : moving;tab stops on ruler +Oracle Open Office Chart : moving;toolbars +Oracle Open Office Chart : moving;using guide lines in presentations +Oracle Open Office Chart : MS ADO interface (Base) +Oracle Open Office Chart : multi-line titles in forms +Oracle Open Office Chart : multiple documents +Oracle Open Office Chart : multiple documents;opening +Oracle Open Office Chart : multiple selection +Oracle Open Office Chart : music +Oracle Open Office Chart : My Documents folder +Oracle Open Office Chart : My Documents folder;changing work directory +Oracle Open Office Chart : My Documents folder;opening +Oracle Open Office Chart : MySQL databases (Base) +Oracle Open Office Chart : names +Oracle Open Office Chart : names;multi-line titles +Oracle Open Office Chart : names;objects +Oracle Open Office Chart : names, see also labels/callouts +Oracle Open Office Chart : namespace organization in XForms +Oracle Open Office Chart : native SQL (Base) +Oracle Open Office Chart : navigating +Oracle Open Office Chart : navigating;in documents +Oracle Open Office Chart : Navigation bar +Oracle Open Office Chart : Navigation bar;controls +Oracle Open Office Chart : Navigation bar;forms +Oracle Open Office Chart : Navigator +Oracle Open Office Chart : Navigator;comments +Oracle Open Office Chart : Navigator;contents as lists +Oracle Open Office Chart : Navigator;docking +Oracle Open Office Chart : Navigator;working with +Oracle Open Office Chart : net charts +Oracle Open Office Chart : network identity options +Oracle Open Office Chart : new databases +Oracle Open Office Chart : new documents +Oracle Open Office Chart : new lines in cells +Oracle Open Office Chart : new windows +Oracle Open Office Chart : non-breaking dashes +Oracle Open Office Chart : non-breaking spaces (Writer) +Oracle Open Office Chart : non-printing characters (Writer) +Oracle Open Office Chart : number formats +Oracle Open Office Chart : number formats;codes +Oracle Open Office Chart : number formats;formats +Oracle Open Office Chart : number formats;recognition in text tables +Oracle Open Office Chart : number of pages +Oracle Open Office Chart : number of sheets +Oracle Open Office Chart : number of tables +Oracle Open Office Chart : numbering +Oracle Open Office Chart : numbering;options +Oracle Open Office Chart : numbering;turning off +Oracle Open Office Chart : numbering;using automatically +Oracle Open Office Chart : numbers +Oracle Open Office Chart : numbers;date, time and currency formats +Oracle Open Office Chart : numbers;decimal places (Calc) +Oracle Open Office Chart : numerical fields in forms +Oracle Open Office Chart : objects +Oracle Open Office Chart : objects;always moveable (Impress/Draw) +Oracle Open Office Chart : objects;arranging within stacks +Oracle Open Office Chart : objects;copying when moving in presentations +Oracle Open Office Chart : objects;definition +Oracle Open Office Chart : objects;displaying in spreadsheets +Oracle Open Office Chart : objects;displaying in text documents +Oracle Open Office Chart : objects;editing +Oracle Open Office Chart : objects;inserting from Gallery +Oracle Open Office Chart : objects;inserting OLE objects +Oracle Open Office Chart : objects;moving and resizing with mouse +Oracle Open Office Chart : objects;naming +Oracle Open Office Chart : objects;opening +Oracle Open Office Chart : objects;properties of charts +Oracle Open Office Chart : objects;quickly moving to +Oracle Open Office Chart : objects;titles and descriptions +Oracle Open Office Chart : ODBC +Oracle Open Office Chart : ODBC;database (Base) +Oracle Open Office Chart : ODBC;definition +Oracle Open Office Chart : ODF file formats +Oracle Open Office Chart : Office +Oracle Open Office Chart : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Chart : OLE +Oracle Open Office Chart : OLE;definition +Oracle Open Office Chart : OLE objects +Oracle Open Office Chart : OLE objects;arranging within stacks +Oracle Open Office Chart : OLE objects;captions (Writer) +Oracle Open Office Chart : OLE objects;inserting +Oracle Open Office Chart : OLE objects;number of +Oracle Open Office Chart : OLE objects;protecting +Oracle Open Office Chart : one and a half line spacing in text +Oracle Open Office Chart : online feedback options +Oracle Open Office Chart : online registration +Oracle Open Office Chart : online update options +Oracle Open Office Chart : online updates +Oracle Open Office Chart : online updates;checking automatically +Oracle Open Office Chart : online updates;checking manually +Oracle Open Office Chart : Open/Save dialogs +Oracle Open Office Chart : OpenDocument file formats +Oracle Open Office Chart : OpenGL +Oracle Open Office Chart : OpenGL;definition +Oracle Open Office Chart : opening +Oracle Open Office Chart : opening;context menus +Oracle Open Office Chart : opening;database files +Oracle Open Office Chart : opening;dialog settings +Oracle Open Office Chart : opening;documents +Oracle Open Office Chart : opening;documents from other formats +Oracle Open Office Chart : opening;documents on WebDAV server +Oracle Open Office Chart : opening;files with links +Oracle Open Office Chart : opening;files, with placeholders +Oracle Open Office Chart : opening;forms +Oracle Open Office Chart : opening;Microsoft Office files +Oracle Open Office Chart : opening;mobile device documents +Oracle Open Office Chart : opening;objects +Oracle Open Office Chart : opening;reports +Oracle Open Office Chart : opening;several files +Oracle Open Office Chart : opening;XForms +Oracle Open Office Chart : operators +Oracle Open Office Chart : operators;default filters +Oracle Open Office Chart : optional hyphens (Writer) +Oracle Open Office Chart : options +Oracle Open Office Chart : options;accessibility +Oracle Open Office Chart : options;appearance +Oracle Open Office Chart : options;compatibility (Writer) +Oracle Open Office Chart : options;improvement program +Oracle Open Office Chart : options;network identity +Oracle Open Office Chart : options;online update +Oracle Open Office Chart : options;tools +Oracle Open Office Chart : Oracle databases (base) +Oracle Open Office Chart : Oracle Open Office Base data sources +Oracle Open Office Chart : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Chart : Oracle Open Office documents +Oracle Open Office Chart : Oracle Open Office documents;mobile device filters +Oracle Open Office Chart : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Chart : Oracle Open Office Math start +Oracle Open Office Chart : order of chart data +Oracle Open Office Chart : ordering +Oracle Open Office Chart : ordering;objects +Oracle Open Office Chart : organizing +Oracle Open Office Chart : organizing;macros and scripts +Oracle Open Office Chart : organizing;namespaces in XForms +Oracle Open Office Chart : organizing;styles +Oracle Open Office Chart : organizing;templates +Oracle Open Office Chart : original size +Oracle Open Office Chart : original size;printing in Oracle Open Office Math +Oracle Open Office Chart : original size;restoring after cropping +Oracle Open Office Chart : outlines +Oracle Open Office Chart : outlines;font effects +Oracle Open Office Chart : outlines;outline symbols +Oracle Open Office Chart : outlines;sending to presentations +Oracle Open Office Chart : overwrite mode +Oracle Open Office Chart : packages, see extensions +Oracle Open Office Chart : page breaks +Oracle Open Office Chart : page breaks;displaying (Calc) +Oracle Open Office Chart : page formats +Oracle Open Office Chart : page formats;maximizing +Oracle Open Office Chart : page formats;restriction +Oracle Open Office Chart : page styles +Oracle Open Office Chart : page styles;editing/applying with statusbar +Oracle Open Office Chart : pages +Oracle Open Office Chart : pages;backgrounds in all applications +Oracle Open Office Chart : pages;formatting and numbering +Oracle Open Office Chart : pages;printing page names in presentations +Oracle Open Office Chart : pages;scaling +Oracle Open Office Chart : pages;selecting one to print +Oracle Open Office Chart : paint box +Oracle Open Office Chart : paint can symbol +Oracle Open Office Chart : pair kerning +Oracle Open Office Chart : Palm file filters +Oracle Open Office Chart : paper formats +Oracle Open Office Chart : paper size warning +Oracle Open Office Chart : paper trays +Oracle Open Office Chart : paragraph marks +Oracle Open Office Chart : paragraph marks;displaying (Writer) +Oracle Open Office Chart : paragraph styles +Oracle Open Office Chart : paragraph styles;languages +Oracle Open Office Chart : paragraph styles;modifying basic fonts +Oracle Open Office Chart : paragraphs +Oracle Open Office Chart : paragraphs;alignment +Oracle Open Office Chart : paragraphs;Asian typography +Oracle Open Office Chart : paragraphs;defining borders +Oracle Open Office Chart : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Chart : paragraphs;increasing indents of +Oracle Open Office Chart : paragraphs;indents, margins and columns +Oracle Open Office Chart : paragraphs;inserting bullets +Oracle Open Office Chart : paragraphs;joining +Oracle Open Office Chart : paragraphs;numbering automatically +Oracle Open Office Chart : paragraphs;removing blank ones +Oracle Open Office Chart : paragraphs;spacing +Oracle Open Office Chart : paragraphs;tab stops +Oracle Open Office Chart : parameters +Oracle Open Office Chart : parameters;command line +Oracle Open Office Chart : parameters;queries (Base) +Oracle Open Office Chart : passwords for protecting contents +Oracle Open Office Chart : pasting +Oracle Open Office Chart : pasting;cell ranges +Oracle Open Office Chart : pasting;cell ranges from spreadsheets +Oracle Open Office Chart : pasting;data from text documents +Oracle Open Office Chart : pasting;draw objects +Oracle Open Office Chart : pasting;draw objects from other documents +Oracle Open Office Chart : pasting;formatted/unformatted text +Oracle Open Office Chart : pasting;from data source view +Oracle Open Office Chart : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Chart : pasting;pictures from other documents +Oracle Open Office Chart : pasting;sheet areas in text documents +Oracle Open Office Chart : pasting;to Gallery +Oracle Open Office Chart : paths +Oracle Open Office Chart : paths;changing work directory +Oracle Open Office Chart : paths;defaults +Oracle Open Office Chart : pattern editor +Oracle Open Office Chart : pattern fields +Oracle Open Office Chart : pattern fields;form functions +Oracle Open Office Chart : patterns for objects +Oracle Open Office Chart : PDF +Oracle Open Office Chart : PDF;export +Oracle Open Office Chart : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Chart : personal data input +Oracle Open Office Chart : phonetic guide +Oracle Open Office Chart : picklist creation +Oracle Open Office Chart : pictures +Oracle Open Office Chart : pictures;adding to Gallery +Oracle Open Office Chart : pictures;arranging within stacks +Oracle Open Office Chart : pictures;assigning macros +Oracle Open Office Chart : pictures;backgrounds +Oracle Open Office Chart : pictures;captions (Writer) +Oracle Open Office Chart : pictures;changing paths +Oracle Open Office Chart : pictures;cropping and zooming +Oracle Open Office Chart : pictures;displaying in Calc +Oracle Open Office Chart : pictures;displaying in Writer (Writer) +Oracle Open Office Chart : pictures;drag and drop between documents +Oracle Open Office Chart : pictures;drawing +Oracle Open Office Chart : pictures;editing +Oracle Open Office Chart : pictures;filters +Oracle Open Office Chart : pictures;ImageMap +Oracle Open Office Chart : pictures;inserting automatically +Oracle Open Office Chart : pictures;inserting from Gallery +Oracle Open Office Chart : pictures;number of +Oracle Open Office Chart : pictures;printing +Oracle Open Office Chart : pictures;scaling/resizing +Oracle Open Office Chart : pie charts +Oracle Open Office Chart : pie charts;options +Oracle Open Office Chart : pie charts;types +Oracle Open Office Chart : pixel editor +Oracle Open Office Chart : pixel graphics +Oracle Open Office Chart : pixel graphics;inserting and editing +Oracle Open Office Chart : pixel patterns +Oracle Open Office Chart : placeholders +Oracle Open Office Chart : placeholders;in SQL queries +Oracle Open Office Chart : placeholders;on opening files +Oracle Open Office Chart : placing toolbars +Oracle Open Office Chart : playing movies and sound files +Oracle Open Office Chart : plotting data as charts +Oracle Open Office Chart : plug-ins +Oracle Open Office Chart : plug-ins;activating and deactivating +Oracle Open Office Chart : plug-ins;definition +Oracle Open Office Chart : plug-ins;inserting +Oracle Open Office Chart : pocket device appliances +Oracle Open Office Chart : Pocket PC file filters +Oracle Open Office Chart : points +Oracle Open Office Chart : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Chart : polygon drawing +Oracle Open Office Chart : pop-art filter +Oracle Open Office Chart : portable document format +Oracle Open Office Chart : positioning +Oracle Open Office Chart : positioning;axes +Oracle Open Office Chart : positioning;draw objects and controls +Oracle Open Office Chart : positioning;fonts +Oracle Open Office Chart : positioning;objects +Oracle Open Office Chart : positioning;toolbars +Oracle Open Office Chart : post method for form transmissions +Oracle Open Office Chart : posterizing filter +Oracle Open Office Chart : PostScript +Oracle Open Office Chart : PostScript;creating files +Oracle Open Office Chart : PostScript;PDF converter, UNIX +Oracle Open Office Chart : PowerPoint export +Oracle Open Office Chart : precision as shown (Calc) +Oracle Open Office Chart : predefining fonts +Oracle Open Office Chart : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Chart : presentations +Oracle Open Office Chart : presentations;creating/opening +Oracle Open Office Chart : presentations;inserting spreadsheet cells +Oracle Open Office Chart : presentations;live on the Internet +Oracle Open Office Chart : presentations;print menu +Oracle Open Office Chart : presentations;saving +Oracle Open Office Chart : presentations;saving automatically +Oracle Open Office Chart : presentations;saving in other formats +Oracle Open Office Chart : presentations;sending as e-mail +Oracle Open Office Chart : presentations;starting with wizard +Oracle Open Office Chart : presentations;wizards +Oracle Open Office Chart : Presenter Console shortcuts +Oracle Open Office Chart : press buttons, see push buttons +Oracle Open Office Chart : previews +Oracle Open Office Chart : previews;fonts lists +Oracle Open Office Chart : primary keys +Oracle Open Office Chart : primary keys;defining +Oracle Open Office Chart : primary keys;design view +Oracle Open Office Chart : primary keys;inserting (Base) +Oracle Open Office Chart : print area selection +Oracle Open Office Chart : printer metrics for document formatting (Writer) +Oracle Open Office Chart : printers +Oracle Open Office Chart : printers;adding, UNIX +Oracle Open Office Chart : printers;choosing +Oracle Open Office Chart : printers;default printer +Oracle Open Office Chart : printers;faxes under UNIX +Oracle Open Office Chart : printers;maximum page formats +Oracle Open Office Chart : printers;paper trays +Oracle Open Office Chart : printers;properties +Oracle Open Office Chart : printing +Oracle Open Office Chart : printing;black and white +Oracle Open Office Chart : printing;brochures +Oracle Open Office Chart : printing;colors in grayscale +Oracle Open Office Chart : printing;comments +Oracle Open Office Chart : printing;copies +Oracle Open Office Chart : printing;creating individual jobs +Oracle Open Office Chart : printing;dates in presentations +Oracle Open Office Chart : printing;directly +Oracle Open Office Chart : printing;documents +Oracle Open Office Chart : printing;drawings defaults +Oracle Open Office Chart : printing;elements in text documents +Oracle Open Office Chart : printing;faster +Oracle Open Office Chart : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Chart : printing;fitting to pages in presentations +Oracle Open Office Chart : printing;formulas in Oracle Open Office Math +Oracle Open Office Chart : printing;hidden pages of presentations +Oracle Open Office Chart : printing;in original size in Oracle Open Office Math +Oracle Open Office Chart : printing;left/right pages +Oracle Open Office Chart : printing;queries (Base) +Oracle Open Office Chart : printing;scaling in Oracle Open Office Math +Oracle Open Office Chart : printing;selections +Oracle Open Office Chart : printing;text always in black +Oracle Open Office Chart : printing;text in reverse order +Oracle Open Office Chart : printing;tiling pages in presentations +Oracle Open Office Chart : printing;transparencies +Oracle Open Office Chart : printing;warnings +Oracle Open Office Chart : printing;without scaling in presentations +Oracle Open Office Chart : printing speed +Oracle Open Office Chart : programming +Oracle Open Office Chart : programming;Oracle Open Office +Oracle Open Office Chart : programming;scripting +Oracle Open Office Chart : properties +Oracle Open Office Chart : properties;charts +Oracle Open Office Chart : properties;fields in databases +Oracle Open Office Chart : properties;files +Oracle Open Office Chart : properties;form controls +Oracle Open Office Chart : properties;forms +Oracle Open Office Chart : properties;printers +Oracle Open Office Chart : properties;smooth lines in line charts/XY charts +Oracle Open Office Chart : protected contents +Oracle Open Office Chart : protected dashes +Oracle Open Office Chart : protected database tables +Oracle Open Office Chart : protected documents +Oracle Open Office Chart : protected spaces +Oracle Open Office Chart : protected spaces;inserting +Oracle Open Office Chart : protected spaces;showing (Writer) +Oracle Open Office Chart : protecting +Oracle Open Office Chart : protecting;contents +Oracle Open Office Chart : protecting;recorded changes +Oracle Open Office Chart : proxy settings +Oracle Open Office Chart : push buttons +Oracle Open Office Chart : push buttons;adding to documents +Oracle Open Office Chart : push buttons;creating +Oracle Open Office Chart : queries +Oracle Open Office Chart : queries;copying (Base) +Oracle Open Office Chart : queries;creating in design view (Base) +Oracle Open Office Chart : queries;creating in SQL view +Oracle Open Office Chart : queries;defining (Base) +Oracle Open Office Chart : queries;deleting table links (Base) +Oracle Open Office Chart : queries;editing in data source view +Oracle Open Office Chart : queries;formulating filter conditions (Base) +Oracle Open Office Chart : queries;joining tables (Base) +Oracle Open Office Chart : queries;missing elements (Base) +Oracle Open Office Chart : queries;overview (Base) +Oracle Open Office Chart : queries;parameter queries (Base) +Oracle Open Office Chart : queries;printing (Base) +Oracle Open Office Chart : Query Wizard (Base) +Oracle Open Office Chart : Quickstarter +Oracle Open Office Chart : quotation marks +Oracle Open Office Chart : quotation marks;replacing +Oracle Open Office Chart : quotes +Oracle Open Office Chart : quotes;custom +Oracle Open Office Chart : radar charts, see net charts +Oracle Open Office Chart : radio button creation +Oracle Open Office Chart : read-only documents +Oracle Open Office Chart : read-only documents;cursor +Oracle Open Office Chart : read-only documents;database tables on/off +Oracle Open Office Chart : read-only documents;editing +Oracle Open Office Chart : read-only documents;opening documents as +Oracle Open Office Chart : read-only items in Data Navigator +Oracle Open Office Chart : recognizing URLs automatically +Oracle Open Office Chart : recording +Oracle Open Office Chart : recording;changes +Oracle Open Office Chart : recording;macros +Oracle Open Office Chart : records +Oracle Open Office Chart : records;inserting comments +Oracle Open Office Chart : records;protecting +Oracle Open Office Chart : records;saving +Oracle Open Office Chart : records;searching in databases +Oracle Open Office Chart : rectangles with round corners +Oracle Open Office Chart : recursions in spreadsheets +Oracle Open Office Chart : redo command +Oracle Open Office Chart : reduced printing +Oracle Open Office Chart : reference lines +Oracle Open Office Chart : references +Oracle Open Office Chart : references;displaying in color (Calc) +Oracle Open Office Chart : references;expanding (Calc) +Oracle Open Office Chart : references;iterative (Calc) +Oracle Open Office Chart : register-true +Oracle Open Office Chart : register-true;definition +Oracle Open Office Chart : registering +Oracle Open Office Chart : registering;address books +Oracle Open Office Chart : registering;databases (Base) +Oracle Open Office Chart : registering;Oracle Open Office +Oracle Open Office Chart : regression curves in charts +Oracle Open Office Chart : regular expressions +Oracle Open Office Chart : regular expressions;list of +Oracle Open Office Chart : regular expressions;opening files +Oracle Open Office Chart : relational databases (Base) +Oracle Open Office Chart : relations +Oracle Open Office Chart : relations;creating and deleting (Base) +Oracle Open Office Chart : relations;joining tables (Base) +Oracle Open Office Chart : relations;properties (Base) +Oracle Open Office Chart : relative hyperlinks +Oracle Open Office Chart : relative saving of URLs +Oracle Open Office Chart : reloading +Oracle Open Office Chart : reloading;documents +Oracle Open Office Chart : reloading;HTML documents, automatically +Oracle Open Office Chart : remarks, see also comments +Oracle Open Office Chart : remote configurations +Oracle Open Office Chart : remove noise filter +Oracle Open Office Chart : removing +Oracle Open Office Chart : removing;bullets and numbering +Oracle Open Office Chart : removing;form filters +Oracle Open Office Chart : removing, see also deleting +Oracle Open Office Chart : reorganizing charts +Oracle Open Office Chart : repeating +Oracle Open Office Chart : repeating;commands +Oracle Open Office Chart : replacement options +Oracle Open Office Chart : replacement table +Oracle Open Office Chart : replacing +Oracle Open Office Chart : replacing;AutoCorrect function +Oracle Open Office Chart : replacing;dashes +Oracle Open Office Chart : replacing;tab stops (regular expressions) +Oracle Open Office Chart : Report Builder +Oracle Open Office Chart : reports +Oracle Open Office Chart : reports;creating +Oracle Open Office Chart : reports;error reports +Oracle Open Office Chart : reports;opening and editing +Oracle Open Office Chart : reports;templates +Oracle Open Office Chart : resetting +Oracle Open Office Chart : resetting;templates +Oracle Open Office Chart : resizing +Oracle Open Office Chart : resizing;objects, by mouse +Oracle Open Office Chart : resizing, see also scaling/zooming +Oracle Open Office Chart : resolution when printing bitmaps +Oracle Open Office Chart : restoring +Oracle Open Office Chart : restoring;default formatting +Oracle Open Office Chart : restoring;editing +Oracle Open Office Chart : reversing printing order +Oracle Open Office Chart : review function +Oracle Open Office Chart : review function;accepting or rejecting changes +Oracle Open Office Chart : review function;comparing documents +Oracle Open Office Chart : review function;protecting records +Oracle Open Office Chart : review function;recording changes example +Oracle Open Office Chart : rich text control +Oracle Open Office Chart : right alignment of paragraphs +Oracle Open Office Chart : right joins (Base) +Oracle Open Office Chart : right-to-left text +Oracle Open Office Chart : rotating +Oracle Open Office Chart : rotating;3D text +Oracle Open Office Chart : round corners +Oracle Open Office Chart : rounding precision (Calc) +Oracle Open Office Chart : row headers +Oracle Open Office Chart : row headers;displaying (Calc) +Oracle Open Office Chart : row headers;highlighting (Calc) +Oracle Open Office Chart : rulers +Oracle Open Office Chart : rulers;default settings +Oracle Open Office Chart : rulers;measurement units +Oracle Open Office Chart : rulers;visible in presentations +Oracle Open Office Chart : samples and templates +Oracle Open Office Chart : saving +Oracle Open Office Chart : saving;default file formats +Oracle Open Office Chart : saving;dialog settings +Oracle Open Office Chart : saving;documents +Oracle Open Office Chart : saving;documents for mobile devices +Oracle Open Office Chart : saving;documents in other formats +Oracle Open Office Chart : saving;documents, automatically +Oracle Open Office Chart : saving;in Microsoft Office file format +Oracle Open Office Chart : saving;options +Oracle Open Office Chart : saving;templates +Oracle Open Office Chart : saving;to XML +Oracle Open Office Chart : saving;VBA code in Microsoft Office documents +Oracle Open Office Chart : saving;with password by default +Oracle Open Office Chart : saving as command +Oracle Open Office Chart : saving as command;precautions +Oracle Open Office Chart : scaling +Oracle Open Office Chart : scaling;axes +Oracle Open Office Chart : scaling;font sizes in user interface +Oracle Open Office Chart : scaling;objects +Oracle Open Office Chart : scaling;pictures +Oracle Open Office Chart : scaling;printing in Oracle Open Office Math +Oracle Open Office Chart : scaling;text in charts +Oracle Open Office Chart : scaling;when printing presentations +Oracle Open Office Chart : scaling, see also zooming +Oracle Open Office Chart : scatter charts +Oracle Open Office Chart : screen +Oracle Open Office Chart : screen;full screen views +Oracle Open Office Chart : screen;scaling +Oracle Open Office Chart : screen magnifiers +Oracle Open Office Chart : screen readers +Oracle Open Office Chart : script organization +Oracle Open Office Chart : scrollbars +Oracle Open Office Chart : scrollbars;controls +Oracle Open Office Chart : scrollbars;displaying (Calc) +Oracle Open Office Chart : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Chart : search criteria for database functions in cells +Oracle Open Office Chart : search engines +Oracle Open Office Chart : search engines;definition +Oracle Open Office Chart : search engines;selecting +Oracle Open Office Chart : searching +Oracle Open Office Chart : searching;all sheets +Oracle Open Office Chart : searching;databases +Oracle Open Office Chart : searching;form filters +Oracle Open Office Chart : searching;Internet +Oracle Open Office Chart : searching;tables and forms +Oracle Open Office Chart : secondary axes in charts +Oracle Open Office Chart : sections +Oracle Open Office Chart : sections;backgrounds +Oracle Open Office Chart : security +Oracle Open Office Chart : security;digital signatures +Oracle Open Office Chart : security;options for documents with macros +Oracle Open Office Chart : security;protecting contents +Oracle Open Office Chart : security;security levels for macros +Oracle Open Office Chart : security;warning dialogs with macros +Oracle Open Office Chart : selecting +Oracle Open Office Chart : selecting;controls +Oracle Open Office Chart : selecting;measurement units +Oracle Open Office Chart : selecting;objects +Oracle Open Office Chart : selecting;print areas +Oracle Open Office Chart : selecting;several files +Oracle Open Office Chart : selection clipboard +Oracle Open Office Chart : selection frames +Oracle Open Office Chart : selection modes in text +Oracle Open Office Chart : sending +Oracle Open Office Chart : sending;AutoAbstract function in presentations +Oracle Open Office Chart : sending;documents as e-mail +Oracle Open Office Chart : sending;documents as faxes +Oracle Open Office Chart : separator lines +Oracle Open Office Chart : separator lines;defining +Oracle Open Office Chart : separators +Oracle Open Office Chart : separators;conditional +Oracle Open Office Chart : Server Side ImageMap +Oracle Open Office Chart : settings +Oracle Open Office Chart : settings;printers +Oracle Open Office Chart : settings;program configuration +Oracle Open Office Chart : settings;proxies +Oracle Open Office Chart : settings;tracking changes +Oracle Open Office Chart : settings;views +Oracle Open Office Chart : SGML +Oracle Open Office Chart : SGML;definition +Oracle Open Office Chart : shadows +Oracle Open Office Chart : shadows;areas +Oracle Open Office Chart : shadows;borders +Oracle Open Office Chart : shadows;characters +Oracle Open Office Chart : shadows;characters, using context menu +Oracle Open Office Chart : sharing documents +Oracle Open Office Chart : sharpening filter +Oracle Open Office Chart : sheet tabs +Oracle Open Office Chart : sheet tabs;displaying +Oracle Open Office Chart : sheets +Oracle Open Office Chart : sheets;searching all +Oracle Open Office Chart : shortcut keys +Oracle Open Office Chart : shortcut keys;assigning macros +Oracle Open Office Chart : shortcut keys;charts +Oracle Open Office Chart : shortcut keys;general +Oracle Open Office Chart : shortcut keys;in databases +Oracle Open Office Chart : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Chart : showing +Oracle Open Office Chart : showing;changes +Oracle Open Office Chart : showing;docked windows +Oracle Open Office Chart : showing;drawings and controls (Writer) +Oracle Open Office Chart : showing;live presentations on the Internet +Oracle Open Office Chart : showing;toolbars +Oracle Open Office Chart : signing documents with digital signatures +Oracle Open Office Chart : similarity search +Oracle Open Office Chart : simple handles (Writer) +Oracle Open Office Chart : simplified Chinese +Oracle Open Office Chart : simplified Chinese;translating to traditional Chinese +Oracle Open Office Chart : single sign on options +Oracle Open Office Chart : single-line spacing in text +Oracle Open Office Chart : sizes +Oracle Open Office Chart : sizes;draw objects +Oracle Open Office Chart : sizes;pictures +Oracle Open Office Chart : slanting draw objects +Oracle Open Office Chart : small capitals +Oracle Open Office Chart : small icons +Oracle Open Office Chart : smart tag configuration +Oracle Open Office Chart : smooth scrolling (Writer) +Oracle Open Office Chart : smoothing filter +Oracle Open Office Chart : snap grid defaults (Writer/Calc) +Oracle Open Office Chart : snapping in presentations and drawings +Oracle Open Office Chart : solarization filter +Oracle Open Office Chart : sort lists +Oracle Open Office Chart : sort lists;copying to in Calc +Oracle Open Office Chart : sorting +Oracle Open Office Chart : sorting;data in forms +Oracle Open Office Chart : sorting;databases +Oracle Open Office Chart : sound files +Oracle Open Office Chart : spaces +Oracle Open Office Chart : spaces;displaying (Writer) +Oracle Open Office Chart : spaces;ignoring double +Oracle Open Office Chart : spaces;inserting protected spaces +Oracle Open Office Chart : spaces;showing protected spaces (Writer) +Oracle Open Office Chart : spacing +Oracle Open Office Chart : spacing;between paragraphs in footnotes +Oracle Open Office Chart : spacing;font effects +Oracle Open Office Chart : spacing;lines and paragraphs +Oracle Open Office Chart : spacing;tab stops in text documents +Oracle Open Office Chart : spacing;tabs in presentations +Oracle Open Office Chart : spadmin +Oracle Open Office Chart : special characters +Oracle Open Office Chart : speech bubbles +Oracle Open Office Chart : speed of printing +Oracle Open Office Chart : spellcheck +Oracle Open Office Chart : spellcheck;activating for a language +Oracle Open Office Chart : spellcheck;context menus +Oracle Open Office Chart : spellcheck;default languages +Oracle Open Office Chart : spellcheck;dialog +Oracle Open Office Chart : spellcheck;dictionary of exceptions +Oracle Open Office Chart : spellcheck;ignore list +Oracle Open Office Chart : spin button creation +Oracle Open Office Chart : spoolfiles with Xprinter +Oracle Open Office Chart : spreadsheets +Oracle Open Office Chart : spreadsheets;as databases (base) +Oracle Open Office Chart : spreadsheets;copying areas to text documents +Oracle Open Office Chart : spreadsheets;creating/opening +Oracle Open Office Chart : spreadsheets;inserting charts +Oracle Open Office Chart : spreadsheets;inserting database records +Oracle Open Office Chart : spreadsheets;printing +Oracle Open Office Chart : spreadsheets;saving +Oracle Open Office Chart : spreadsheets;saving automatically +Oracle Open Office Chart : spreadsheets;saving in other formats +Oracle Open Office Chart : spreadsheets;sending as e-mail +Oracle Open Office Chart : SQL +Oracle Open Office Chart : SQL;definition +Oracle Open Office Chart : SQL;DISTINCT parameter +Oracle Open Office Chart : SQL;executing SQL commands +Oracle Open Office Chart : SQL;executing SQL statements (Base) +Oracle Open Office Chart : SQL;queries (Base) +Oracle Open Office Chart : square drawings +Oracle Open Office Chart : standard bar on/off +Oracle Open Office Chart : standard deviation in charts +Oracle Open Office Chart : standard filters in databases +Oracle Open Office Chart : standard printer under UNIX +Oracle Open Office Chart : start center +Oracle Open Office Chart : start parameters +Oracle Open Office Chart : statistics in charts +Oracle Open Office Chart : status bar on/off +Oracle Open Office Chart : stickers +Oracle Open Office Chart : stock charts +Oracle Open Office Chart : strikethrough +Oracle Open Office Chart : strikethrough;characters +Oracle Open Office Chart : strikethrough;font effects +Oracle Open Office Chart : styles +Oracle Open Office Chart : styles;'changed' message +Oracle Open Office Chart : styles;copying between documents +Oracle Open Office Chart : styles;keyboard shortcuts +Oracle Open Office Chart : styles;organizing +Oracle Open Office Chart : styles;printing styles used in a document +Oracle Open Office Chart : styles;replacing automatically +Oracle Open Office Chart : Styles and Formatting window +Oracle Open Office Chart : Styles and Formatting window;docking +Oracle Open Office Chart : subforms +Oracle Open Office Chart : subforms;creating +Oracle Open Office Chart : subforms;description +Oracle Open Office Chart : submitting forms +Oracle Open Office Chart : suffixes in file formats +Oracle Open Office Chart : support on the Web +Oracle Open Office Chart : synchronizing +Oracle Open Office Chart : synchronizing;labels and business cards +Oracle Open Office Chart : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Chart : system address book registration +Oracle Open Office Chart : tab stops +Oracle Open Office Chart : tab stops;displaying (Writer) +Oracle Open Office Chart : tab stops;inserting and editing +Oracle Open Office Chart : tab stops;regular expressions +Oracle Open Office Chart : tab stops;setting in sheets +Oracle Open Office Chart : tab stops;settings +Oracle Open Office Chart : tab stops;spacing in presentations +Oracle Open Office Chart : tab stops;spacing in text documents +Oracle Open Office Chart : table controls +Oracle Open Office Chart : table controls;form functions +Oracle Open Office Chart : table controls;keyboard-only edit mode +Oracle Open Office Chart : table controls;properties +Oracle Open Office Chart : table views of databases +Oracle Open Office Chart : Table Wizard (Base) +Oracle Open Office Chart : tables +Oracle Open Office Chart : tables;inserting line breaks +Oracle Open Office Chart : tables in databases +Oracle Open Office Chart : tables in databases;access rights to (Base) +Oracle Open Office Chart : tables in databases;adding to queries +Oracle Open Office Chart : tables in databases;browsing and editing +Oracle Open Office Chart : tables in databases;copying database tables (Base) +Oracle Open Office Chart : tables in databases;creating +Oracle Open Office Chart : tables in databases;creating in design view (manually) +Oracle Open Office Chart : tables in databases;importing text formats (Base) +Oracle Open Office Chart : tables in databases;joining for queries (Base) +Oracle Open Office Chart : tables in databases;printing queries (Base) +Oracle Open Office Chart : tables in databases;relations (Base) +Oracle Open Office Chart : tables in databases;searching +Oracle Open Office Chart : tables in spreadsheets +Oracle Open Office Chart : tables in spreadsheets;copying data to other applications +Oracle Open Office Chart : tables in spreadsheets;defining borders +Oracle Open Office Chart : tables in spreadsheets;value highlighting +Oracle Open Office Chart : tables in text +Oracle Open Office Chart : tables in text;captions +Oracle Open Office Chart : tables in text;creating automatically +Oracle Open Office Chart : tables in text;default settings +Oracle Open Office Chart : tables in text;defining borders +Oracle Open Office Chart : tables in text;displaying +Oracle Open Office Chart : tables in text;printing +Oracle Open Office Chart : tabs +Oracle Open Office Chart : tabs;displaying sheet tabs +Oracle Open Office Chart : tags +Oracle Open Office Chart : tags;definition +Oracle Open Office Chart : tags;META tags +Oracle Open Office Chart : templates +Oracle Open Office Chart : templates;agendas +Oracle Open Office Chart : templates;changing basic fonts +Oracle Open Office Chart : templates;database reports +Oracle Open Office Chart : templates;deleting +Oracle Open Office Chart : templates;editing and saving +Oracle Open Office Chart : templates;faxes +Oracle Open Office Chart : templates;importing and exporting +Oracle Open Office Chart : templates;letters +Oracle Open Office Chart : templates;new documents from templates +Oracle Open Office Chart : templates;opening documents with +Oracle Open Office Chart : templates;organizing +Oracle Open Office Chart : terminology +Oracle Open Office Chart : terminology;general glossary +Oracle Open Office Chart : terminology;Internet glossary +Oracle Open Office Chart : testing XML filters +Oracle Open Office Chart : text +Oracle Open Office Chart : text;animating +Oracle Open Office Chart : text;Asian layout +Oracle Open Office Chart : text;bold +Oracle Open Office Chart : text;coloring +Oracle Open Office Chart : text;copying by drag and drop +Oracle Open Office Chart : text;CTL languages +Oracle Open Office Chart : text;drawing pictures +Oracle Open Office Chart : text;font effects +Oracle Open Office Chart : text;font sizes +Oracle Open Office Chart : text;font styles +Oracle Open Office Chart : text;fonts and formats +Oracle Open Office Chart : text;Fontwork icons +Oracle Open Office Chart : text;hyperlinks +Oracle Open Office Chart : text;inserting special characters +Oracle Open Office Chart : text;italics +Oracle Open Office Chart : text;kerning +Oracle Open Office Chart : text;language selection +Oracle Open Office Chart : text;line spacing +Oracle Open Office Chart : text;overwriting or inserting +Oracle Open Office Chart : text;printing in black +Oracle Open Office Chart : text;replacing with format +Oracle Open Office Chart : text;selection modes +Oracle Open Office Chart : text;shadowed +Oracle Open Office Chart : text;text/draw objects +Oracle Open Office Chart : text attributes +Oracle Open Office Chart : text attributes;hyperlinks +Oracle Open Office Chart : text attributes;undoing +Oracle Open Office Chart : text boxes +Oracle Open Office Chart : text boxes;form functions +Oracle Open Office Chart : text boxes;positioning +Oracle Open Office Chart : text breaks in cells +Oracle Open Office Chart : text colors for better accessibility +Oracle Open Office Chart : text databases (Base) +Oracle Open Office Chart : text documents +Oracle Open Office Chart : text documents;creating/opening +Oracle Open Office Chart : text documents;importing/exporting +Oracle Open Office Chart : text documents;inserting spreadsheet cells +Oracle Open Office Chart : text documents;print settings +Oracle Open Office Chart : text documents;printing +Oracle Open Office Chart : text documents;saving +Oracle Open Office Chart : text documents;saving automatically +Oracle Open Office Chart : text documents;saving in other formats +Oracle Open Office Chart : text documents;sending as e-mail +Oracle Open Office Chart : text effects +Oracle Open Office Chart : text flow +Oracle Open Office Chart : text flow;in cells +Oracle Open Office Chart : text formats +Oracle Open Office Chart : text formats;databases +Oracle Open Office Chart : text formats;pasting +Oracle Open Office Chart : text input fields +Oracle Open Office Chart : text layout for special languages +Oracle Open Office Chart : text objects +Oracle Open Office Chart : text objects;alignment +Oracle Open Office Chart : text objects;draw functions +Oracle Open Office Chart : text objects;fonts +Oracle Open Office Chart : text objects;in presentations and drawings +Oracle Open Office Chart : text overflow in spreadsheet cells +Oracle Open Office Chart : text scaling in charts +Oracle Open Office Chart : text, see also text documents, paragraphs and characters +Oracle Open Office Chart : TextArt, see Fontwork +Oracle Open Office Chart : textures +Oracle Open Office Chart : textures;inserting from Gallery +Oracle Open Office Chart : textures;on chart bars +Oracle Open Office Chart : Thai +Oracle Open Office Chart : Thai;entering text +Oracle Open Office Chart : Thai;language settings +Oracle Open Office Chart : thesaurus +Oracle Open Office Chart : thesaurus;activating for a language +Oracle Open Office Chart : ticker text +Oracle Open Office Chart : time fields +Oracle Open Office Chart : time fields;form functions +Oracle Open Office Chart : times +Oracle Open Office Chart : times;inserting when printing presentations +Oracle Open Office Chart : times, formats +Oracle Open Office Chart : tips +Oracle Open Office Chart : tips;extended tips in Help +Oracle Open Office Chart : title rows +Oracle Open Office Chart : title rows;printing in Oracle Open Office Math +Oracle Open Office Chart : titles +Oracle Open Office Chart : titles;alignment (charts) +Oracle Open Office Chart : titles;changing +Oracle Open Office Chart : titles;editing in charts +Oracle Open Office Chart : titles;font effects +Oracle Open Office Chart : titles;formatting automatically +Oracle Open Office Chart : titles;formatting charts +Oracle Open Office Chart : titles;objects +Oracle Open Office Chart : toolbars +Oracle Open Office Chart : toolbars;adding buttons +Oracle Open Office Chart : toolbars;docking/undocking +Oracle Open Office Chart : toolbars;Form Navigation bar +Oracle Open Office Chart : toolbars;viewing/closing +Oracle Open Office Chart : tools bar +Oracle Open Office Chart : tooltips +Oracle Open Office Chart : tooltips;extended tips +Oracle Open Office Chart : tooltips;help +Oracle Open Office Chart : traditional Chinese +Oracle Open Office Chart : traditional Chinese;translating to simplified chinese +Oracle Open Office Chart : transparency +Oracle Open Office Chart : transparency;areas +Oracle Open Office Chart : transparency;off for faster printing +Oracle Open Office Chart : transparency;saving +Oracle Open Office Chart : tree view of Help +Oracle Open Office Chart : trend lines in charts +Oracle Open Office Chart : typefaces +Oracle Open Office Chart : typefaces;adding under UNIX +Oracle Open Office Chart : typefaces;formats +Oracle Open Office Chart : typographical quotes in Oracle Open Office Writer +Oracle Open Office Chart : typography +Oracle Open Office Chart : typography;Asian +Oracle Open Office Chart : underlining +Oracle Open Office Chart : underlining;AutoFormat function +Oracle Open Office Chart : underlining;characters +Oracle Open Office Chart : underlining;text +Oracle Open Office Chart : undocking windows +Oracle Open Office Chart : undoing +Oracle Open Office Chart : undoing;direct formatting +Oracle Open Office Chart : undoing;editing +Oracle Open Office Chart : undoing;number of steps +Oracle Open Office Chart : ungrouping groups +Oracle Open Office Chart : units +Oracle Open Office Chart : units;converting +Oracle Open Office Chart : units;measurement units +Oracle Open Office Chart : UNO components +Oracle Open Office Chart : UNO components;Extension Manager +Oracle Open Office Chart : UNO components;integrating new +Oracle Open Office Chart : update options +Oracle Open Office Chart : updates +Oracle Open Office Chart : updates;checking automatically +Oracle Open Office Chart : updates;checking manually +Oracle Open Office Chart : updating +Oracle Open Office Chart : updating;fields and charts, automatically (Writer) +Oracle Open Office Chart : updating;links in text documents +Oracle Open Office Chart : updating;links, on opening +Oracle Open Office Chart : updating;templates +Oracle Open Office Chart : URL +Oracle Open Office Chart : URL;changing hyperlink URLs +Oracle Open Office Chart : URL;definition +Oracle Open Office Chart : URL;in pictures +Oracle Open Office Chart : URL;saving absolute/relative paths +Oracle Open Office Chart : URL;turning off URL recognition +Oracle Open Office Chart : user data +Oracle Open Office Chart : user data;input +Oracle Open Office Chart : user data;removing when saving +Oracle Open Office Chart : user feedback +Oracle Open Office Chart : user feedback;automatically +Oracle Open Office Chart : user-defined dictionaries +Oracle Open Office Chart : user-defined dictionaries;creating +Oracle Open Office Chart : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Chart : user-defined dictionaries;editing +Oracle Open Office Chart : user-defined styles +Oracle Open Office Chart : user-defined styles;automatically replacing +Oracle Open Office Chart : UTF-8/UCS2 support +Oracle Open Office Chart : values +Oracle Open Office Chart : values;rounded as shown (Calc) +Oracle Open Office Chart : variables +Oracle Open Office Chart : variables;for paths +Oracle Open Office Chart : variances in charts +Oracle Open Office Chart : VBA code +Oracle Open Office Chart : VBA code;loading/saving documents with VBA code +Oracle Open Office Chart : version management +Oracle Open Office Chart : version numbers of documents +Oracle Open Office Chart : versions +Oracle Open Office Chart : versions;comparing documents +Oracle Open Office Chart : versions;file saving as, restriction +Oracle Open Office Chart : versions;merging document versions +Oracle Open Office Chart : versions;of a document +Oracle Open Office Chart : versions;Oracle Open Office +Oracle Open Office Chart : vertical callouts +Oracle Open Office Chart : vertical scrollbars (Writer) +Oracle Open Office Chart : vertical text boxes +Oracle Open Office Chart : videos +Oracle Open Office Chart : viewing +Oracle Open Office Chart : viewing;databases +Oracle Open Office Chart : viewing;file properties +Oracle Open Office Chart : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Chart : viewing;toolbars +Oracle Open Office Chart : views +Oracle Open Office Chart : views;creating database views (Base) +Oracle Open Office Chart : views;defaults +Oracle Open Office Chart : views;full screen +Oracle Open Office Chart : views;icons +Oracle Open Office Chart : views;scaling +Oracle Open Office Chart : Visual Basic for Applications +Oracle Open Office Chart : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Chart : watermarks +Oracle Open Office Chart : web documents +Oracle Open Office Chart : web documents;XForms +Oracle Open Office Chart : Web support +Oracle Open Office Chart : WebCast export +Oracle Open Office Chart : WebDAV over HTTPS +Oracle Open Office Chart : windows +Oracle Open Office Chart : windows;docking +Oracle Open Office Chart : windows;docking definition +Oracle Open Office Chart : windows;hiding/showing/docking +Oracle Open Office Chart : windows;new +Oracle Open Office Chart : wizards +Oracle Open Office Chart : wizards;agendas +Oracle Open Office Chart : wizards;database queries +Oracle Open Office Chart : wizards;database tables (Base) +Oracle Open Office Chart : wizards;databases (Base) +Oracle Open Office Chart : wizards;document converter +Oracle Open Office Chart : wizards;Euro Converter +Oracle Open Office Chart : wizards;faxes +Oracle Open Office Chart : wizards;forms +Oracle Open Office Chart : wizards;letters +Oracle Open Office Chart : wizards;macros (Base) +Oracle Open Office Chart : wizards;overview +Oracle Open Office Chart : wizards;presentations +Oracle Open Office Chart : wizards;reports +Oracle Open Office Chart : Word documents +Oracle Open Office Chart : Word documents;compatibility +Oracle Open Office Chart : Word documents;saving as +Oracle Open Office Chart : WordArt, see Fontwork +Oracle Open Office Chart : words +Oracle Open Office Chart : words;automatically replacing +Oracle Open Office Chart : words;wrapping in cells +Oracle Open Office Chart : words;wrapping in CTL +Oracle Open Office Chart : working directory change +Oracle Open Office Chart : wrapping text +Oracle Open Office Chart : wrapping text;in cells +Oracle Open Office Chart : write protection on/off +Oracle Open Office Chart : writing aids options +Oracle Open Office Chart : WYSIWYG in fonts lists +Oracle Open Office Chart : X axes +Oracle Open Office Chart : X axes;grid formatting +Oracle Open Office Chart : X axes;positioning +Oracle Open Office Chart : X axes;scaling +Oracle Open Office Chart : X axes;showing +Oracle Open Office Chart : XForms +Oracle Open Office Chart : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Chart : XForms;conditions +Oracle Open Office Chart : XForms;opening/editing +Oracle Open Office Chart : XML converters +Oracle Open Office Chart : XML file formats +Oracle Open Office Chart : XML filters +Oracle Open Office Chart : XML filters;creating/testing +Oracle Open Office Chart : XML filters;saving as package/installing/deleting +Oracle Open Office Chart : XML filters;settings +Oracle Open Office Chart : XML Forms, see XForms +Oracle Open Office Chart : XSLT filters, see also XML filters +Oracle Open Office Chart : XY charts +Oracle Open Office Chart : Y axes +Oracle Open Office Chart : Y axes;formatting +Oracle Open Office Chart : Y axes;grid formatting +Oracle Open Office Chart : Y axes;positioning +Oracle Open Office Chart : Y axes;scaling +Oracle Open Office Chart : Y axes;showing +Oracle Open Office Chart : years +Oracle Open Office Chart : years;2-digit options +Oracle Open Office Chart : Z axes +Oracle Open Office Chart : Z axes;grid formatting +Oracle Open Office Chart : Z axes;showing +Oracle Open Office Chart : zero values +Oracle Open Office Chart : zero values;displaying (Calc) +Oracle Open Office Chart : zooming +Oracle Open Office Chart : zooming;page views +Oracle Open Office Chart : zooming;pictures +Oracle Open Office Chart : zooming;status bar +Oracle Open Office Base : 1/2 replacement +Oracle Open Office Base : 3D text creation +Oracle Open Office Base : abbreviation replacement +Oracle Open Office Base : absolute hyperlinks +Oracle Open Office Base : absolute saving of URLs +Oracle Open Office Base : accents +Oracle Open Office Base : Access databases (base) +Oracle Open Office Base : access rights for database tables (Base) +Oracle Open Office Base : accessibility +Oracle Open Office Base : accessibility;general shortcuts +Oracle Open Office Base : accessibility;options +Oracle Open Office Base : accessibility;Oracle Open Office assistive technology +Oracle Open Office Base : accessibility;Oracle Open Office features +Oracle Open Office Base : activating +Oracle Open Office Base : activating;context menus +Oracle Open Office Base : activating;Error Report Tool +Oracle Open Office Base : activating;extended help tips +Oracle Open Office Base : activating;plug-ins +Oracle Open Office Base : ActiveX control +Oracle Open Office Base : Adabas D databases (base) +Oracle Open Office Base : add-ons, see UNO components +Oracle Open Office Base : additional selection mode +Oracle Open Office Base : address books +Oracle Open Office Base : address books;LDAP server (Base) +Oracle Open Office Base : address books;registering +Oracle Open Office Base : address labels from databases +Oracle Open Office Base : ADO databases (Base) +Oracle Open Office Base : Agenda Wizard +Oracle Open Office Base : aging filter +Oracle Open Office Base : aligning +Oracle Open Office Base : aligning;cells +Oracle Open Office Base : aligning;objects +Oracle Open Office Base : aligning;paragraphs +Oracle Open Office Base : aligning;tables in text +Oracle Open Office Base : aligning;text objects +Oracle Open Office Base : alternative fonts +Oracle Open Office Base : ampersand symbol, see also operators +Oracle Open Office Base : anchors +Oracle Open Office Base : anchors;changing +Oracle Open Office Base : anchors;displaying (Calc) +Oracle Open Office Base : anchors;types/positions for draw objects +Oracle Open Office Base : animations +Oracle Open Office Base : animations;accessibility options +Oracle Open Office Base : appearance options +Oracle Open Office Base : Arabic +Oracle Open Office Base : Arabic;entering text +Oracle Open Office Base : Arabic;language settings +Oracle Open Office Base : areas +Oracle Open Office Base : areas;bitmap patterns +Oracle Open Office Base : areas;hatched/dotted +Oracle Open Office Base : areas;shadows +Oracle Open Office Base : areas;slanting +Oracle Open Office Base : areas;styles +Oracle Open Office Base : areas;transparency +Oracle Open Office Base : arguments in command line +Oracle Open Office Base : arranging +Oracle Open Office Base : arranging;objects +Oracle Open Office Base : arrows +Oracle Open Office Base : arrows;defining arrow heads +Oracle Open Office Base : arrows;defining arrow lines +Oracle Open Office Base : arrows;drawing in text +Oracle Open Office Base : ASCII +Oracle Open Office Base : ASCII;definition +Oracle Open Office Base : Asian languages +Oracle Open Office Base : Asian languages;enabling +Oracle Open Office Base : Asian Phonetic Guide +Oracle Open Office Base : Asian typography +Oracle Open Office Base : assigning scripts +Oracle Open Office Base : assistive technology in Oracle Open Office +Oracle Open Office Base : attaching toolbars +Oracle Open Office Base : attachments in e-mails +Oracle Open Office Base : audio +Oracle Open Office Base : auto reloading HTML documents +Oracle Open Office Base : AutoAbstract function for sending text to presentations +Oracle Open Office Base : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Base : AutoComplete function in text and list boxes +Oracle Open Office Base : AutoCorrect function +Oracle Open Office Base : AutoCorrect function;context menu +Oracle Open Office Base : AutoCorrect function;options +Oracle Open Office Base : AutoCorrect function;pictures and frames +Oracle Open Office Base : AutoCorrect function;quotes +Oracle Open Office Base : AutoCorrect function;replacement table +Oracle Open Office Base : AutoCorrect function;switching on and off in Calc +Oracle Open Office Base : AutoCorrect function;URL recognition +Oracle Open Office Base : AutoFormat function +Oracle Open Office Base : AutoFormat function;switching on and off +Oracle Open Office Base : automatic captions (Writer) +Oracle Open Office Base : automatic control focus +Oracle Open Office Base : automatic hyperlink formatting +Oracle Open Office Base : automatic line breaks +Oracle Open Office Base : automatic lines/borders in text +Oracle Open Office Base : automatic saving +Oracle Open Office Base : AutoPilots, see wizards +Oracle Open Office Base : AutoValue (Base) +Oracle Open Office Base : axes in charts +Oracle Open Office Base : backgrounds +Oracle Open Office Base : backgrounds;defining colors/pictures +Oracle Open Office Base : backgrounds;frames/sections/indexes +Oracle Open Office Base : backgrounds;inserting from Gallery +Oracle Open Office Base : backgrounds;printing +Oracle Open Office Base : backing window +Oracle Open Office Base : backups +Oracle Open Office Base : backups;automatic +Oracle Open Office Base : backups;documents +Oracle Open Office Base : Basic +Oracle Open Office Base : Basic;fonts for source display +Oracle Open Office Base : Basic;programming +Oracle Open Office Base : Basic;recording macros +Oracle Open Office Base : basic fonts +Oracle Open Office Base : Bézier curves +Oracle Open Office Base : Bézier curves;control points in presentations +Oracle Open Office Base : bi-directional writing +Oracle Open Office Base : binding space +Oracle Open Office Base : bitmaps +Oracle Open Office Base : bitmaps;inserting and editing +Oracle Open Office Base : bitmaps;off for faster printing +Oracle Open Office Base : bitmaps;patterns +Oracle Open Office Base : black and white printing +Oracle Open Office Base : black printing in Calc +Oracle Open Office Base : block selection mode +Oracle Open Office Base : bold +Oracle Open Office Base : bold;AutoFormat function +Oracle Open Office Base : bold;text +Oracle Open Office Base : bookmarks +Oracle Open Office Base : bookmarks;Help +Oracle Open Office Base : borders +Oracle Open Office Base : borders;arranging +Oracle Open Office Base : borders;cells on screen (Calc) +Oracle Open Office Base : borders;for paragraphs +Oracle Open Office Base : borders;for tables +Oracle Open Office Base : borders;shadows +Oracle Open Office Base : borders;table boundaries (Writer) +Oracle Open Office Base : borders, see also frames +Oracle Open Office Base : bound fields +Oracle Open Office Base : bound fields;controls +Oracle Open Office Base : boundaries of tables (Writer) +Oracle Open Office Base : break display (Writer) +Oracle Open Office Base : brochures +Oracle Open Office Base : brochures;printing several +Oracle Open Office Base : build numbers of Oracle Open Office +Oracle Open Office Base : bullet lists +Oracle Open Office Base : bullet lists;formatting options +Oracle Open Office Base : bullets +Oracle Open Office Base : bullets;paragraphs +Oracle Open Office Base : bullets;replacing +Oracle Open Office Base : bullets;turning off +Oracle Open Office Base : business cards +Oracle Open Office Base : business cards;creating and synchronizing +Oracle Open Office Base : business cards;using templates +Oracle Open Office Base : button bars, see toolbars +Oracle Open Office Base : buttons +Oracle Open Office Base : buttons;adding push buttons +Oracle Open Office Base : buttons;big/small +Oracle Open Office Base : buttons;editing hyperlink buttons +Oracle Open Office Base : buttons;form functions +Oracle Open Office Base : buttons;toolbars +Oracle Open Office Base : cache for graphics +Oracle Open Office Base : calculating +Oracle Open Office Base : calculating;iterative references (Calc) +Oracle Open Office Base : callouts +Oracle Open Office Base : callouts;drawings +Oracle Open Office Base : capital letters +Oracle Open Office Base : capital letters;AutoCorrect function +Oracle Open Office Base : capital letters;font effects +Oracle Open Office Base : captions +Oracle Open Office Base : captions;automatic captions (Writer) +Oracle Open Office Base : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Base : captions, see also labels/callouts +Oracle Open Office Base : cascading update (Base) +Oracle Open Office Base : case sensitivity +Oracle Open Office Base : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Base : case sensitivity;searching +Oracle Open Office Base : cells +Oracle Open Office Base : cells;aligning +Oracle Open Office Base : cells;coloring (Calc) +Oracle Open Office Base : cells;cursor positions after input (Calc) +Oracle Open Office Base : cells;formatting without effect (Calc) +Oracle Open Office Base : cells;line breaks +Oracle Open Office Base : cells;linked to controls +Oracle Open Office Base : cells;number of +Oracle Open Office Base : cells;pasting +Oracle Open Office Base : cells;resetting formats +Oracle Open Office Base : cells;showing grid lines (Calc) +Oracle Open Office Base : centered text +Oracle Open Office Base : centimeters +Oracle Open Office Base : certificates +Oracle Open Office Base : changes +Oracle Open Office Base : changes;accepting or rejecting +Oracle Open Office Base : changes;comparing to original +Oracle Open Office Base : changes;protecting +Oracle Open Office Base : changes;recording +Oracle Open Office Base : changes;review function +Oracle Open Office Base : changes;showing +Oracle Open Office Base : changing +Oracle Open Office Base : changing;document titles +Oracle Open Office Base : changing;file associations in Setup program +Oracle Open Office Base : changing;icon sizes +Oracle Open Office Base : changing;links +Oracle Open Office Base : changing;work directory +Oracle Open Office Base : changing, see also editing and replacing +Oracle Open Office Base : character styles +Oracle Open Office Base : character styles;language selection +Oracle Open Office Base : characters +Oracle Open Office Base : characters;alternative fonts +Oracle Open Office Base : characters;Asian layout +Oracle Open Office Base : characters;bold +Oracle Open Office Base : characters;coloring +Oracle Open Office Base : characters;displaying only on screen (Writer) +Oracle Open Office Base : characters;enabling CTL and Asian characters +Oracle Open Office Base : characters;font effects +Oracle Open Office Base : characters;fonts and formats +Oracle Open Office Base : characters;hyperlinks +Oracle Open Office Base : characters;italics +Oracle Open Office Base : characters;language selection +Oracle Open Office Base : characters;shadowed +Oracle Open Office Base : characters;spacing +Oracle Open Office Base : characters;special +Oracle Open Office Base : characters;underlining +Oracle Open Office Base : charcoal sketches filter +Oracle Open Office Base : charts +Oracle Open Office Base : charts;arranging within stacks +Oracle Open Office Base : charts;bars with textures +Oracle Open Office Base : charts;colors +Oracle Open Office Base : charts;copying with link to source cell range +Oracle Open Office Base : charts;displaying (Calc) +Oracle Open Office Base : charts;editing axes +Oracle Open Office Base : charts;editing data +Oracle Open Office Base : charts;editing legends +Oracle Open Office Base : charts;editing titles +Oracle Open Office Base : charts;inserting +Oracle Open Office Base : charts;updating automatically (Writer) +Oracle Open Office Base : check box creation +Oracle Open Office Base : Chinese writing systems +Oracle Open Office Base : choosing printers +Oracle Open Office Base : circle drawings +Oracle Open Office Base : Client Side ImageMap +Oracle Open Office Base : clipboard +Oracle Open Office Base : clipboard;cutting +Oracle Open Office Base : clipboard;pasting +Oracle Open Office Base : clipboard;pasting formatted/unformatted text +Oracle Open Office Base : clipboard;selection clipboard +Oracle Open Office Base : clipboard;Unix +Oracle Open Office Base : closing +Oracle Open Office Base : closing;documents +Oracle Open Office Base : closing;toolbars +Oracle Open Office Base : collaboration +Oracle Open Office Base : color bar +Oracle Open Office Base : colors +Oracle Open Office Base : colors;adding +Oracle Open Office Base : colors;appearance +Oracle Open Office Base : colors;backgrounds +Oracle Open Office Base : colors;charts +Oracle Open Office Base : colors;fill format +Oracle Open Office Base : colors;fonts +Oracle Open Office Base : colors;grid lines and cells (Calc) +Oracle Open Office Base : colors;models +Oracle Open Office Base : colors;not printing +Oracle Open Office Base : colors;printing in grayscale +Oracle Open Office Base : colors;restriction (Calc) +Oracle Open Office Base : colors;selection +Oracle Open Office Base : column headers +Oracle Open Office Base : column headers;displaying (Calc) +Oracle Open Office Base : column headers;highlighting (Calc) +Oracle Open Office Base : columns +Oracle Open Office Base : columns;setting with the mouse +Oracle Open Office Base : combo box creation +Oracle Open Office Base : command button creation +Oracle Open Office Base : command buttons, see push buttons +Oracle Open Office Base : command line parameters +Oracle Open Office Base : commands +Oracle Open Office Base : commands;repeating +Oracle Open Office Base : commands;SQL +Oracle Open Office Base : comments +Oracle Open Office Base : comments;displaying (Calc) +Oracle Open Office Base : comments;inserting/editing/deleting/printing +Oracle Open Office Base : comments;on changes +Oracle Open Office Base : comments;printing in text +Oracle Open Office Base : common terms +Oracle Open Office Base : common terms;Chinese dictionary +Oracle Open Office Base : common terms;glossaries +Oracle Open Office Base : common terms;Internet glossary +Oracle Open Office Base : comparisons +Oracle Open Office Base : comparisons;document versions +Oracle Open Office Base : comparisons;operators in default filter dialog +Oracle Open Office Base : compatibility settings for MS Word import +Oracle Open Office Base : complete screen view +Oracle Open Office Base : complex text layout +Oracle Open Office Base : complex text layout;definition +Oracle Open Office Base : complex text layout;enabling +Oracle Open Office Base : complex text layout, see CTL +Oracle Open Office Base : compose key to insert special characters +Oracle Open Office Base : concatenation, see ampersand symbol +Oracle Open Office Base : conditional separators +Oracle Open Office Base : conditions +Oracle Open Office Base : conditions;in number formats +Oracle Open Office Base : conditions;items in Data Navigator +Oracle Open Office Base : Configuration Manager +Oracle Open Office Base : configuring +Oracle Open Office Base : configuring;fax icon +Oracle Open Office Base : configuring;Oracle Open Office +Oracle Open Office Base : configuring;toolbars +Oracle Open Office Base : connections to data sources (Base) +Oracle Open Office Base : contents protection +Oracle Open Office Base : context menus +Oracle Open Office Base : control point display in presentations +Oracle Open Office Base : controls +Oracle Open Office Base : controls;activating in forms +Oracle Open Office Base : controls;adding to documents +Oracle Open Office Base : controls;arranging in forms +Oracle Open Office Base : controls;arranging within stacks +Oracle Open Office Base : controls;assigning data sources +Oracle Open Office Base : controls;assigning macros (Basic) +Oracle Open Office Base : controls;bound fields/list contents/linked cells +Oracle Open Office Base : controls;events +Oracle Open Office Base : controls;focus +Oracle Open Office Base : controls;formatted fields +Oracle Open Office Base : controls;grouping +Oracle Open Office Base : controls;hidden +Oracle Open Office Base : controls;inserting +Oracle Open Office Base : controls;multi-line titles +Oracle Open Office Base : controls;positions and sizes +Oracle Open Office Base : controls;printing +Oracle Open Office Base : controls;properties of form controls +Oracle Open Office Base : controls;properties of table controls +Oracle Open Office Base : controls;reference by SQL +Oracle Open Office Base : controls;rich text control +Oracle Open Office Base : controls;select mode +Oracle Open Office Base : controls;showing (Writer) +Oracle Open Office Base : converters +Oracle Open Office Base : converters;Euro converter +Oracle Open Office Base : converters;PostScript, UNIX +Oracle Open Office Base : converters;XML +Oracle Open Office Base : converting +Oracle Open Office Base : converting;Hangul/Hanja +Oracle Open Office Base : converting;metrics +Oracle Open Office Base : converting;Microsoft documents +Oracle Open Office Base : converting;Oracle Open Office documents +Oracle Open Office Base : converting;Pocket PC formats +Oracle Open Office Base : copies +Oracle Open Office Base : copies;printing +Oracle Open Office Base : copying +Oracle Open Office Base : copying;by drag and drop +Oracle Open Office Base : copying;data from text documents +Oracle Open Office Base : copying;datasource records in spreadsheets +Oracle Open Office Base : copying;draw objects +Oracle Open Office Base : copying;draw objects between documents +Oracle Open Office Base : copying;formatting +Oracle Open Office Base : copying;from data source view +Oracle Open Office Base : copying;from Gallery +Oracle Open Office Base : copying;in Unix +Oracle Open Office Base : copying;pictures, between documents +Oracle Open Office Base : copying;sheet areas, to text documents +Oracle Open Office Base : copying;to Gallery +Oracle Open Office Base : copyright for Oracle Open Office +Oracle Open Office Base : corner roundings +Oracle Open Office Base : crash reports +Oracle Open Office Base : criteria of query design (Base) +Oracle Open Office Base : cropping pictures +Oracle Open Office Base : CTL +Oracle Open Office Base : CTL;(not) wrapping words +Oracle Open Office Base : CTL;complex text layout languages +Oracle Open Office Base : CTL;definition +Oracle Open Office Base : CTL;options +Oracle Open Office Base : currencies +Oracle Open Office Base : currencies;converters +Oracle Open Office Base : currencies;format codes +Oracle Open Office Base : currency field creation +Oracle Open Office Base : currency formats +Oracle Open Office Base : cursor +Oracle Open Office Base : cursor;allowing in protected areas (Writer) +Oracle Open Office Base : cursor;in read-only text +Oracle Open Office Base : cursor;quickly moving to an object +Oracle Open Office Base : curves +Oracle Open Office Base : curves;editing points +Oracle Open Office Base : custom dictionaries +Oracle Open Office Base : custom dictionaries;editing +Oracle Open Office Base : custom hyphens (Writer) +Oracle Open Office Base : custom quotes +Oracle Open Office Base : custom templates +Oracle Open Office Base : customizing +Oracle Open Office Base : customizing;events +Oracle Open Office Base : customizing;keyboard +Oracle Open Office Base : customizing;menus +Oracle Open Office Base : customizing;Oracle Open Office +Oracle Open Office Base : customizing;round corners +Oracle Open Office Base : customizing;toolbars +Oracle Open Office Base : cutting +Oracle Open Office Base : dashes +Oracle Open Office Base : data +Oracle Open Office Base : data;filtering in forms +Oracle Open Office Base : data;forms and subforms +Oracle Open Office Base : data;read-only +Oracle Open Office Base : data;sorting in forms +Oracle Open Office Base : data;user data +Oracle Open Office Base : data binding change in XForms +Oracle Open Office Base : Data Navigator +Oracle Open Office Base : Data Navigator;adding/editing items +Oracle Open Office Base : Data Navigator;display options +Oracle Open Office Base : data source browser +Oracle Open Office Base : data source explorer +Oracle Open Office Base : data source view +Oracle Open Office Base : data source view;drag and drop +Oracle Open Office Base : data source view;overview +Oracle Open Office Base : data source view;showing +Oracle Open Office Base : data sources +Oracle Open Office Base : data sources;as tables +Oracle Open Office Base : data sources;connection settings (Base) +Oracle Open Office Base : data sources;copying records to spreadsheets +Oracle Open Office Base : data sources;displaying current +Oracle Open Office Base : data sources;LDAP server (Base) +Oracle Open Office Base : data sources;Oracle Open Office Base +Oracle Open Office Base : data sources;registering address books +Oracle Open Office Base : data sources;reports +Oracle Open Office Base : data sources;viewing +Oracle Open Office Base : data structure of XForms +Oracle Open Office Base : data, see also values +Oracle Open Office Base : database contents +Oracle Open Office Base : database contents;inserting as tables +Oracle Open Office Base : database contents;inserting as text +Oracle Open Office Base : database reports +Oracle Open Office Base : Database Wizard (Base) +Oracle Open Office Base : databases +Oracle Open Office Base : databases;administration through SQL (Base) +Oracle Open Office Base : databases;ADO (Base) +Oracle Open Office Base : databases;connecting (Base) +Oracle Open Office Base : databases;creating +Oracle Open Office Base : databases;creating labels +Oracle Open Office Base : databases;creating queries +Oracle Open Office Base : databases;creating reports +Oracle Open Office Base : databases;creating tables +Oracle Open Office Base : databases;deleting (Base) +Oracle Open Office Base : databases;drag and drop (Base) +Oracle Open Office Base : databases;editing tables +Oracle Open Office Base : databases;form filters +Oracle Open Office Base : databases;formats (Base) +Oracle Open Office Base : databases;importing/exporting +Oracle Open Office Base : databases;JDBC (Base) +Oracle Open Office Base : databases;main page (Base) +Oracle Open Office Base : databases;ODBC (Base) +Oracle Open Office Base : databases;overview +Oracle Open Office Base : databases;registering (Base) +Oracle Open Office Base : databases;searching records +Oracle Open Office Base : databases;shortcut keys +Oracle Open Office Base : databases;sorting +Oracle Open Office Base : databases;standard filters +Oracle Open Office Base : databases;text formats +Oracle Open Office Base : databases;viewing +Oracle Open Office Base : date fields +Oracle Open Office Base : date fields;creating +Oracle Open Office Base : date fields;properties +Oracle Open Office Base : date formats +Oracle Open Office Base : dates +Oracle Open Office Base : dates;default (Calc) +Oracle Open Office Base : dates;printing in presentations +Oracle Open Office Base : dates;start 1900/01/01 (Calc) +Oracle Open Office Base : dates;start 1904/01/01 (Calc) +Oracle Open Office Base : dBASE +Oracle Open Office Base : dBASE;database settings (Base) +Oracle Open Office Base : DDE +Oracle Open Office Base : DDE;definition +Oracle Open Office Base : deactivating +Oracle Open Office Base : deactivating;plug-ins +Oracle Open Office Base : decimal places displayed (Calc) +Oracle Open Office Base : decimal separator key +Oracle Open Office Base : decimal tab stops +Oracle Open Office Base : default directories +Oracle Open Office Base : default filters +Oracle Open Office Base : default filters;comparison operators +Oracle Open Office Base : default filters;databases +Oracle Open Office Base : default printer +Oracle Open Office Base : default printer;setting up +Oracle Open Office Base : default printer;UNIX +Oracle Open Office Base : default templates +Oracle Open Office Base : default templates;changing +Oracle Open Office Base : default templates;organizing +Oracle Open Office Base : defaults +Oracle Open Office Base : defaults;documents +Oracle Open Office Base : defaults;file formats in file dialogs +Oracle Open Office Base : defaults;file formats in Oracle Open Office +Oracle Open Office Base : defaults;fonts +Oracle Open Office Base : defaults;grids (Writer/Calc) +Oracle Open Office Base : defaults;languages +Oracle Open Office Base : defaults;number formats +Oracle Open Office Base : defaults;of saving +Oracle Open Office Base : defaults;program configuration +Oracle Open Office Base : defaults;tab stops in text +Oracle Open Office Base : defaults;views +Oracle Open Office Base : defining +Oracle Open Office Base : defining;arrowheads and other line ends +Oracle Open Office Base : defining;colors +Oracle Open Office Base : defining;line styles +Oracle Open Office Base : defining;paragraph borders +Oracle Open Office Base : defining;queries (Base) +Oracle Open Office Base : defining;table borders +Oracle Open Office Base : deleting +Oracle Open Office Base : deleting;all direct formatting +Oracle Open Office Base : deleting;comments +Oracle Open Office Base : deleting;databases (Base) +Oracle Open Office Base : deleting;hyperlinks +Oracle Open Office Base : deleting;lines in text +Oracle Open Office Base : deleting;models/instances +Oracle Open Office Base : deleting;namespaces in XForms +Oracle Open Office Base : deleting;tab stops +Oracle Open Office Base : deleting;templates +Oracle Open Office Base : deleting;XML filters +Oracle Open Office Base : depth stagger +Oracle Open Office Base : descriptions for objects +Oracle Open Office Base : design mode after saving +Oracle Open Office Base : design view +Oracle Open Office Base : design view;creating forms +Oracle Open Office Base : design view;queries/views (Base) +Oracle Open Office Base : designing +Oracle Open Office Base : designing;database tables +Oracle Open Office Base : designing;fonts +Oracle Open Office Base : designing;queries (Base) +Oracle Open Office Base : detaching toolbars +Oracle Open Office Base : dictionaries +Oracle Open Office Base : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Base : dictionaries;creating +Oracle Open Office Base : dictionaries;editing user-defined +Oracle Open Office Base : dictionaries;spellcheck +Oracle Open Office Base : dictionaries, see also languages +Oracle Open Office Base : digital signatures +Oracle Open Office Base : digital signatures;getting/managing/applying +Oracle Open Office Base : digital signatures;overview +Oracle Open Office Base : digital signatures;WebDAV over HTTPS +Oracle Open Office Base : direct formatting +Oracle Open Office Base : direct formatting;undoing all +Oracle Open Office Base : directories +Oracle Open Office Base : directories;creating new +Oracle Open Office Base : directories;directory structure +Oracle Open Office Base : disabled persons +Oracle Open Office Base : displaying +Oracle Open Office Base : displaying;comments (Calc) +Oracle Open Office Base : displaying;comments in text documents +Oracle Open Office Base : displaying;non-printing characters (Writer) +Oracle Open Office Base : displaying;pictures and objects (Writer) +Oracle Open Office Base : displaying;tables (Writer) +Oracle Open Office Base : displaying;zero values (Calc) +Oracle Open Office Base : distances +Oracle Open Office Base : distinct values in SQL queries +Oracle Open Office Base : distorting in drawings +Oracle Open Office Base : distributing XML filters +Oracle Open Office Base : docking +Oracle Open Office Base : docking;definition +Oracle Open Office Base : docking;toolbars +Oracle Open Office Base : docking;windows +Oracle Open Office Base : Document Converter Wizard +Oracle Open Office Base : Document Map, see Navigator +Oracle Open Office Base : document types in Oracle Open Office +Oracle Open Office Base : documents +Oracle Open Office Base : documents;changing titles +Oracle Open Office Base : documents;closing +Oracle Open Office Base : documents;comparing +Oracle Open Office Base : documents;contents as lists +Oracle Open Office Base : documents;editing time +Oracle Open Office Base : documents;exporting +Oracle Open Office Base : documents;importing +Oracle Open Office Base : documents;languages +Oracle Open Office Base : documents;measurement units in +Oracle Open Office Base : documents;merging +Oracle Open Office Base : documents;number of pages/tables/sheets +Oracle Open Office Base : documents;opening +Oracle Open Office Base : documents;opening in design mode +Oracle Open Office Base : documents;opening with templates +Oracle Open Office Base : documents;organizing +Oracle Open Office Base : documents;printing +Oracle Open Office Base : documents;read-only +Oracle Open Office Base : documents;reloading +Oracle Open Office Base : documents;saving +Oracle Open Office Base : documents;saving automatically +Oracle Open Office Base : documents;saving in other formats +Oracle Open Office Base : documents;sending as e-mail +Oracle Open Office Base : documents;styles changed +Oracle Open Office Base : documents;version management +Oracle Open Office Base : documents;version numbers +Oracle Open Office Base : dotted areas +Oracle Open Office Base : double-line spacing in paragraphs +Oracle Open Office Base : double-line writing in Asian layout +Oracle Open Office Base : drag and drop +Oracle Open Office Base : drag and drop;copying and pasting text +Oracle Open Office Base : drag and drop;data source view +Oracle Open Office Base : drag and drop;from Gallery to draw objects +Oracle Open Office Base : drag and drop;overview +Oracle Open Office Base : drag and drop;pictures +Oracle Open Office Base : drag and drop;to Gallery +Oracle Open Office Base : draw objects +Oracle Open Office Base : draw objects;adding/editing/copying +Oracle Open Office Base : draw objects;anchoring +Oracle Open Office Base : draw objects;arranging within stacks +Oracle Open Office Base : draw objects;copying between documents +Oracle Open Office Base : draw objects;displaying (Calc) +Oracle Open Office Base : draw objects;dropping Gallery pictures +Oracle Open Office Base : draw objects;flipping +Oracle Open Office Base : draw objects;legends +Oracle Open Office Base : draw objects;positioning and resizing +Oracle Open Office Base : draw objects;protecting +Oracle Open Office Base : draw objects;slanting +Oracle Open Office Base : draw objects;text in +Oracle Open Office Base : Drawing bar +Oracle Open Office Base : drawing lines in text +Oracle Open Office Base : drawings +Oracle Open Office Base : drawings;creating/opening +Oracle Open Office Base : drawings;languages +Oracle Open Office Base : drawings;printing +Oracle Open Office Base : drawings;printing defaults +Oracle Open Office Base : drawings;printing in text documents +Oracle Open Office Base : drawings;saving +Oracle Open Office Base : drawings;saving automatically +Oracle Open Office Base : drawings;saving in other formats +Oracle Open Office Base : drawings;sending as e-mail +Oracle Open Office Base : drawings;showing (Writer) +Oracle Open Office Base : drawings, see also draw objects +Oracle Open Office Base : drop-down lists in form functions +Oracle Open Office Base : e-mail attachments +Oracle Open Office Base : Edit File icon +Oracle Open Office Base : edit mode +Oracle Open Office Base : edit mode;after opening +Oracle Open Office Base : edit mode;through Enter key (Calc) +Oracle Open Office Base : Edit Points bar +Oracle Open Office Base : editing +Oracle Open Office Base : editing;chart axes +Oracle Open Office Base : editing;chart data +Oracle Open Office Base : editing;chart legends +Oracle Open Office Base : editing;chart titles +Oracle Open Office Base : editing;comments +Oracle Open Office Base : editing;data binding of XForms +Oracle Open Office Base : editing;database tables and queries +Oracle Open Office Base : editing;draw objects +Oracle Open Office Base : editing;Fontwork objects +Oracle Open Office Base : editing;hyperlinks +Oracle Open Office Base : editing;menus +Oracle Open Office Base : editing;objects +Oracle Open Office Base : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Base : editing;pictures +Oracle Open Office Base : editing;reports +Oracle Open Office Base : editing;shortcut keys +Oracle Open Office Base : editing;tab stops +Oracle Open Office Base : editing;templates +Oracle Open Office Base : editing;toolbars +Oracle Open Office Base : editing;undoing +Oracle Open Office Base : editing;XForms +Oracle Open Office Base : editing time of documents +Oracle Open Office Base : editors +Oracle Open Office Base : editors;formula editor +Oracle Open Office Base : editors;ImageMap editor +Oracle Open Office Base : effects +Oracle Open Office Base : effects;font positions +Oracle Open Office Base : effects;fonts +Oracle Open Office Base : effects;Fontwork icons +Oracle Open Office Base : empty documents +Oracle Open Office Base : empty paragraph removal +Oracle Open Office Base : encryption of contents +Oracle Open Office Base : entering groups +Oracle Open Office Base : entering text from right to left +Oracle Open Office Base : equal sign, see also operators +Oracle Open Office Base : equations in formula editor +Oracle Open Office Base : Error Report Tool +Oracle Open Office Base : Euro +Oracle Open Office Base : Euro;currency formats +Oracle Open Office Base : Euro;Euro Converter Wizard +Oracle Open Office Base : even/odd pages +Oracle Open Office Base : even/odd pages;printing +Oracle Open Office Base : events +Oracle Open Office Base : events;assigning scripts +Oracle Open Office Base : events;controls +Oracle Open Office Base : events;customizing +Oracle Open Office Base : events;in forms +Oracle Open Office Base : Excel +Oracle Open Office Base : Excel;saving as +Oracle Open Office Base : Excel;search criteria +Oracle Open Office Base : exceptions +Oracle Open Office Base : exceptions;user-defined dictionaries +Oracle Open Office Base : exchanging, see also replacing +Oracle Open Office Base : executing SQL commands +Oracle Open Office Base : exiting +Oracle Open Office Base : exiting;groups +Oracle Open Office Base : exiting;Oracle Open Office +Oracle Open Office Base : expanding formatting (Calc) +Oracle Open Office Base : explorer of data sources +Oracle Open Office Base : export filters +Oracle Open Office Base : exporting +Oracle Open Office Base : exporting;bitmaps +Oracle Open Office Base : exporting;HTML and text documents +Oracle Open Office Base : exporting;Microsoft Office documents with VBA code +Oracle Open Office Base : exporting;spreadsheets to text format +Oracle Open Office Base : exporting;templates +Oracle Open Office Base : exporting;to foreign formats +Oracle Open Office Base : exporting;to HTML +Oracle Open Office Base : exporting;to Microsoft Office formats +Oracle Open Office Base : exporting;to PDF +Oracle Open Office Base : exporting;to PostScript format +Oracle Open Office Base : exporting;to XML +Oracle Open Office Base : exporting;XML files +Oracle Open Office Base : extended tips in Help +Oracle Open Office Base : extension mode in text +Oracle Open Office Base : extensions +Oracle Open Office Base : extensions;Extension Manager +Oracle Open Office Base : extensions;file formats +Oracle Open Office Base : external keys (Base) +Oracle Open Office Base : faster printing +Oracle Open Office Base : faxes +Oracle Open Office Base : faxes;configuring Oracle Open Office +Oracle Open Office Base : faxes;fax programs/fax printers under UNIX +Oracle Open Office Base : faxes;selecting a fax machine +Oracle Open Office Base : faxes;sending +Oracle Open Office Base : faxes;wizards +Oracle Open Office Base : feedback +Oracle Open Office Base : feedback;automatically +Oracle Open Office Base : fields +Oracle Open Office Base : fields;database tables +Oracle Open Office Base : fields;displaying field codes (Writer) +Oracle Open Office Base : fields;formatted fields +Oracle Open Office Base : fields;updating automatically (Writer) +Oracle Open Office Base : file associations for Microsoft Office +Oracle Open Office Base : file filters +Oracle Open Office Base : file filters;mobile devices +Oracle Open Office Base : file filters;XML +Oracle Open Office Base : file formats +Oracle Open Office Base : file formats;changing Oracle Open Office defaults +Oracle Open Office Base : file formats;OpenDocument/XML +Oracle Open Office Base : file formats;saving always in other formats +Oracle Open Office Base : file selection button +Oracle Open Office Base : file sharing options for current document +Oracle Open Office Base : files +Oracle Open Office Base : files;filters and formats +Oracle Open Office Base : files;importing +Oracle Open Office Base : files;opening +Oracle Open Office Base : files;opening with placeholders +Oracle Open Office Base : files;properties +Oracle Open Office Base : files;saving +Oracle Open Office Base : files;saving automatically +Oracle Open Office Base : files;saving in other formats +Oracle Open Office Base : files;sending as e-mail +Oracle Open Office Base : files;version numbers +Oracle Open Office Base : files and folders in Oracle Open Office +Oracle Open Office Base : fill characters with tabulators +Oracle Open Office Base : fill colors for areas +Oracle Open Office Base : fill patterns for areas +Oracle Open Office Base : filter conditions +Oracle Open Office Base : filter conditions;connecting +Oracle Open Office Base : filter conditions;in queries (Base) +Oracle Open Office Base : filtering +Oracle Open Office Base : filtering;data in databases +Oracle Open Office Base : filtering;data in forms +Oracle Open Office Base : filters +Oracle Open Office Base : filters;comparison operators +Oracle Open Office Base : filters;for import and export +Oracle Open Office Base : filters;Navigator +Oracle Open Office Base : filters;pictures +Oracle Open Office Base : filters;XML filter settings +Oracle Open Office Base : Find tab in Help +Oracle Open Office Base : finding +Oracle Open Office Base : finding;in all sheets +Oracle Open Office Base : finding;records in form documents +Oracle Open Office Base : finding;selections +Oracle Open Office Base : finding;similarity search +Oracle Open Office Base : fitting to pages +Oracle Open Office Base : fitting to pages;print settings in Math +Oracle Open Office Base : fitting to pages;print settings in presentations +Oracle Open Office Base : fixed text +Oracle Open Office Base : fixed text;form functions +Oracle Open Office Base : fixing toolbars +Oracle Open Office Base : flipping draw objects +Oracle Open Office Base : floating frames in HTML documents +Oracle Open Office Base : floating toolbars +Oracle Open Office Base : focus of controls +Oracle Open Office Base : folder creation +Oracle Open Office Base : font lists +Oracle Open Office Base : font name box +Oracle Open Office Base : font sizes +Oracle Open Office Base : font sizes;bullets +Oracle Open Office Base : font sizes;relative changes +Oracle Open Office Base : font sizes;scaling on screen +Oracle Open Office Base : font sizes;text +Oracle Open Office Base : fonts +Oracle Open Office Base : fonts;adding under UNIX +Oracle Open Office Base : fonts;changing in templates +Oracle Open Office Base : fonts;colors +Oracle Open Office Base : fonts;default settings +Oracle Open Office Base : fonts;effects +Oracle Open Office Base : fonts;for HTML and Basic +Oracle Open Office Base : fonts;formats +Oracle Open Office Base : fonts;outlines +Oracle Open Office Base : fonts;positions in text +Oracle Open Office Base : fonts;shadows +Oracle Open Office Base : fonts;specifying several +Oracle Open Office Base : fonts;strikethrough +Oracle Open Office Base : fonts;styles +Oracle Open Office Base : fonts;text objects +Oracle Open Office Base : Fontwork icons +Oracle Open Office Base : footers +Oracle Open Office Base : footers;backgrounds +Oracle Open Office Base : form controls +Oracle Open Office Base : form controls;assigning macros +Oracle Open Office Base : form controls;protecting +Oracle Open Office Base : form controls;toolbars +Oracle Open Office Base : form fields +Oracle Open Office Base : form filters +Oracle Open Office Base : Form Navigator +Oracle Open Office Base : format codes +Oracle Open Office Base : format codes;numbers +Oracle Open Office Base : format filling printing in Oracle Open Office Math +Oracle Open Office Base : Format Paintbrush +Oracle Open Office Base : formats +Oracle Open Office Base : formats;Asian layout +Oracle Open Office Base : formats;fonts +Oracle Open Office Base : formats;maximizing page formats +Oracle Open Office Base : formats;number and currency formats +Oracle Open Office Base : formats;of currencies/date/time +Oracle Open Office Base : formats;on opening and saving +Oracle Open Office Base : formats;pasting in special formats +Oracle Open Office Base : formats;positions +Oracle Open Office Base : formats;tabulators +Oracle Open Office Base : formatted fields +Oracle Open Office Base : formatted fields;form functions +Oracle Open Office Base : formatted fields;properties +Oracle Open Office Base : formatting +Oracle Open Office Base : formatting;Asian typography +Oracle Open Office Base : formatting;axes in charts +Oracle Open Office Base : formatting;chart legends +Oracle Open Office Base : formatting;copying +Oracle Open Office Base : formatting;definition +Oracle Open Office Base : formatting;expanding (Calc) +Oracle Open Office Base : formatting;font effects +Oracle Open Office Base : formatting;hyperlinks +Oracle Open Office Base : formatting;pages +Oracle Open Office Base : formatting;printer metrics (Writer) +Oracle Open Office Base : formatting;undoing +Oracle Open Office Base : formatting;undoing when writing +Oracle Open Office Base : forms +Oracle Open Office Base : forms;browsing +Oracle Open Office Base : forms;Combo Box/List Box Wizard +Oracle Open Office Base : forms;creating +Oracle Open Office Base : forms;data +Oracle Open Office Base : forms;designing (Base) +Oracle Open Office Base : forms;events +Oracle Open Office Base : forms;filtering data +Oracle Open Office Base : forms;finding records +Oracle Open Office Base : forms;focus after opening +Oracle Open Office Base : forms;general information (Base) +Oracle Open Office Base : forms;grouping controls +Oracle Open Office Base : forms;HTML filters +Oracle Open Office Base : forms;Navigator +Oracle Open Office Base : forms;opening in design mode +Oracle Open Office Base : forms;properties +Oracle Open Office Base : forms;sorting data +Oracle Open Office Base : forms;subforms +Oracle Open Office Base : forms;wizards +Oracle Open Office Base : forms;XForms +Oracle Open Office Base : formula texts +Oracle Open Office Base : formula texts;printing in Oracle Open Office Math +Oracle Open Office Base : formulas +Oracle Open Office Base : formulas;new +Oracle Open Office Base : formulas;starting formula editor +Oracle Open Office Base : formulas in reports +Oracle Open Office Base : formulas in reports;editing +Oracle Open Office Base : forums and support +Oracle Open Office Base : frames +Oracle Open Office Base : frames;around paragraphs +Oracle Open Office Base : frames;around tables +Oracle Open Office Base : frames;AutoCorrect function +Oracle Open Office Base : frames;backgrounds +Oracle Open Office Base : frames;captions (Writer) +Oracle Open Office Base : frames;printing in Oracle Open Office Math +Oracle Open Office Base : frames;protecting +Oracle Open Office Base : frames;selection frames +Oracle Open Office Base : frames;text fitting to frames +Oracle Open Office Base : freeform lines +Oracle Open Office Base : freeform lines;draw functions +Oracle Open Office Base : FTP +Oracle Open Office Base : FTP;opening documents +Oracle Open Office Base : FTP;saving documents +Oracle Open Office Base : full joins (Base) +Oracle Open Office Base : full screen view +Oracle Open Office Base : full-text search in Help +Oracle Open Office Base : functions in reports +Oracle Open Office Base : functions in reports;editing +Oracle Open Office Base : Gallery +Oracle Open Office Base : Gallery;adding pictures +Oracle Open Office Base : Gallery;dragging pictures to draw objects +Oracle Open Office Base : Gallery;hiding/showing +Oracle Open Office Base : Gallery;inserting pictures from +Oracle Open Office Base : get method for form transmissions +Oracle Open Office Base : getting support +Oracle Open Office Base : GIF format +Oracle Open Office Base : glossaries +Oracle Open Office Base : glossaries;common terms +Oracle Open Office Base : glossaries;Internet terms +Oracle Open Office Base : gradients off for faster printing +Oracle Open Office Base : graphic objects, see draw objects +Oracle Open Office Base : graphical text art +Oracle Open Office Base : graphics +Oracle Open Office Base : graphics;cache +Oracle Open Office Base : graphics;protecting +Oracle Open Office Base : graphics, see also pictures +Oracle Open Office Base : grayscale printing +Oracle Open Office Base : grid controls +Oracle Open Office Base : grid controls;form functions +Oracle Open Office Base : grids +Oracle Open Office Base : grids;defaults (Writer/Calc) +Oracle Open Office Base : grids;display options (Impress/Draw) +Oracle Open Office Base : grids;displaying lines (Calc) +Oracle Open Office Base : group box creation +Oracle Open Office Base : groups +Oracle Open Office Base : groups;entering/exiting/ungrouping +Oracle Open Office Base : groups;naming +Oracle Open Office Base : groups;of controls +Oracle Open Office Base : guides +Oracle Open Office Base : guides;display options (Impress/Draw) +Oracle Open Office Base : guides;displaying when moving objects (Impress) +Oracle Open Office Base : guides;showing (Calc) +Oracle Open Office Base : guides;showing when moving frames (Writer) +Oracle Open Office Base : gutter +Oracle Open Office Base : handles +Oracle Open Office Base : handles;displaying (Writer) +Oracle Open Office Base : handles;scaling +Oracle Open Office Base : handles;showing simple/large handles (Calc) +Oracle Open Office Base : Hangul/Hanja +Oracle Open Office Base : hatching +Oracle Open Office Base : headers +Oracle Open Office Base : headers;backgrounds +Oracle Open Office Base : headings +Oracle Open Office Base : headings;entering as text box +Oracle Open Office Base : Hebrew +Oracle Open Office Base : Hebrew;entering text +Oracle Open Office Base : Hebrew;language settings +Oracle Open Office Base : Help +Oracle Open Office Base : Help;bookmarks +Oracle Open Office Base : Help;extended tips on/off +Oracle Open Office Base : Help;full-text search +Oracle Open Office Base : Help;Help tips +Oracle Open Office Base : Help;keywords +Oracle Open Office Base : Help;navigation pane showing/hiding +Oracle Open Office Base : Help;style sheets +Oracle Open Office Base : Help;topics +Oracle Open Office Base : Help Agent +Oracle Open Office Base : Help Agent;help +Oracle Open Office Base : Help Agent;options +Oracle Open Office Base : Help tips +Oracle Open Office Base : Help tips;hiding +Oracle Open Office Base : hidden controls in Form Navigator +Oracle Open Office Base : hidden fields display (Writer) +Oracle Open Office Base : hidden pages +Oracle Open Office Base : hidden pages;printing in presentations +Oracle Open Office Base : hidden text +Oracle Open Office Base : hidden text;showing (Writer) +Oracle Open Office Base : hiding +Oracle Open Office Base : hiding;changes +Oracle Open Office Base : hiding;docked windows +Oracle Open Office Base : hiding;navigation pane in Help window +Oracle Open Office Base : high contrast mode +Oracle Open Office Base : Hindi +Oracle Open Office Base : Hindi;entering text +Oracle Open Office Base : Hindi;language settings +Oracle Open Office Base : horizontal scrollbars (Writer) +Oracle Open Office Base : hotspots +Oracle Open Office Base : HTML +Oracle Open Office Base : HTML;definition +Oracle Open Office Base : HTML;export character set +Oracle Open Office Base : HTML;fonts for source display +Oracle Open Office Base : HTML;importing META tags +Oracle Open Office Base : HTML;live presentations +Oracle Open Office Base : HTML documents +Oracle Open Office Base : HTML documents;auto reloading +Oracle Open Office Base : HTML documents;importing/exporting +Oracle Open Office Base : HTML documents;META tags in +Oracle Open Office Base : HTML documents;new +Oracle Open Office Base : HTML documents;source text +Oracle Open Office Base : hyperlinks +Oracle Open Office Base : hyperlinks;assigning macros +Oracle Open Office Base : hyperlinks;character formats +Oracle Open Office Base : hyperlinks;definition +Oracle Open Office Base : hyperlinks;deleting +Oracle Open Office Base : hyperlinks;editing +Oracle Open Office Base : hyperlinks;inserting +Oracle Open Office Base : hyperlinks;relative and absolute +Oracle Open Office Base : hyperlinks;turning off automatic recognition +Oracle Open Office Base : hyperlinks, see also links +Oracle Open Office Base : hyphenation +Oracle Open Office Base : hyphenation;activating for a language +Oracle Open Office Base : hyphenation;minimal number of characters +Oracle Open Office Base : hyphens +Oracle Open Office Base : hyphens;displaying custom (Writer) +Oracle Open Office Base : hyphens;inserting custom +Oracle Open Office Base : icon bars, see toolbars +Oracle Open Office Base : icon sizes +Oracle Open Office Base : ignore list for spellcheck +Oracle Open Office Base : illustrations, see pictures +Oracle Open Office Base : image button creation +Oracle Open Office Base : image control creation +Oracle Open Office Base : ImageMap +Oracle Open Office Base : ImageMap;definition +Oracle Open Office Base : ImageMap;editor +Oracle Open Office Base : images +Oracle Open Office Base : images;ImageMap +Oracle Open Office Base : images;inserting and editing bitmaps +Oracle Open Office Base : images, see also pictures +Oracle Open Office Base : IME +Oracle Open Office Base : IME;definition +Oracle Open Office Base : IME;showing/hiding +Oracle Open Office Base : import filters +Oracle Open Office Base : import restrictions for Microsoft Office +Oracle Open Office Base : importing +Oracle Open Office Base : importing;bitmaps +Oracle Open Office Base : importing;compatibility settings for text import +Oracle Open Office Base : importing;databases +Oracle Open Office Base : importing;documents in other formats +Oracle Open Office Base : importing;from XML +Oracle Open Office Base : importing;HTML and text documents +Oracle Open Office Base : importing;HTML with META tags +Oracle Open Office Base : importing;Microsoft Office documents with VBA code +Oracle Open Office Base : importing;tables in text format +Oracle Open Office Base : importing;templates +Oracle Open Office Base : improvement program +Oracle Open Office Base : inches +Oracle Open Office Base : Index tab in Help +Oracle Open Office Base : indexes +Oracle Open Office Base : indexes;backgrounds +Oracle Open Office Base : indexes;showing/hiding Help index tab +Oracle Open Office Base : indicator lines in text +Oracle Open Office Base : inner joins (Base) +Oracle Open Office Base : input method window +Oracle Open Office Base : insert mode for entering text +Oracle Open Office Base : inserting +Oracle Open Office Base : inserting;buttons in toolbars +Oracle Open Office Base : inserting;cell ranges from spreadsheets +Oracle Open Office Base : inserting;charts +Oracle Open Office Base : inserting;clipboard options +Oracle Open Office Base : inserting;comments +Oracle Open Office Base : inserting;data from text documents +Oracle Open Office Base : inserting;datasource records in spreadsheets +Oracle Open Office Base : inserting;drawings +Oracle Open Office Base : inserting;floating frames +Oracle Open Office Base : inserting;Fontwork objects +Oracle Open Office Base : inserting;form fields +Oracle Open Office Base : inserting;hyperlinks +Oracle Open Office Base : inserting;line breaks in cells +Oracle Open Office Base : inserting;movies/sounds +Oracle Open Office Base : inserting;new text tables defaults +Oracle Open Office Base : inserting;objects from Gallery +Oracle Open Office Base : inserting;OLE objects +Oracle Open Office Base : inserting;paragraph borders +Oracle Open Office Base : inserting;paragraph bullets +Oracle Open Office Base : inserting;pictures in Gallery +Oracle Open Office Base : inserting;plug-ins +Oracle Open Office Base : inserting;push buttons +Oracle Open Office Base : inserting;special characters +Oracle Open Office Base : inserting;tab stops +Oracle Open Office Base : inserting;textures on chart bars +Oracle Open Office Base : installing +Oracle Open Office Base : installing;ActiveX control +Oracle Open Office Base : installing;mobile device filters +Oracle Open Office Base : installing;UNO components +Oracle Open Office Base : installing;XML filters +Oracle Open Office Base : instructions +Oracle Open Office Base : instructions;general +Oracle Open Office Base : Internet +Oracle Open Office Base : Internet;checking for updates +Oracle Open Office Base : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Base : Internet;presentations +Oracle Open Office Base : Internet;starting searches +Oracle Open Office Base : Internet glossary +Oracle Open Office Base : invert filter +Oracle Open Office Base : invisible areas +Oracle Open Office Base : italic text +Oracle Open Office Base : iterative references in spreadsheets +Oracle Open Office Base : Java +Oracle Open Office Base : Java;definition +Oracle Open Office Base : Java;setting options +Oracle Open Office Base : JDBC +Oracle Open Office Base : JDBC;databases (Base) +Oracle Open Office Base : JDBC;definition +Oracle Open Office Base : joining +Oracle Open Office Base : joining;paragraphs +Oracle Open Office Base : joining;tables (Base) +Oracle Open Office Base : joins in databases (Base) +Oracle Open Office Base : justifying text +Oracle Open Office Base : kerning +Oracle Open Office Base : kerning;Asian texts +Oracle Open Office Base : kerning;definition +Oracle Open Office Base : kerning;in characters +Oracle Open Office Base : key fields for relations (Base) +Oracle Open Office Base : keyboard +Oracle Open Office Base : keyboard;assigning/editing shortcut keys +Oracle Open Office Base : keyboard;general commands +Oracle Open Office Base : keyboard;removing numbering +Oracle Open Office Base : keys +Oracle Open Office Base : keys;adding push buttons +Oracle Open Office Base : keys;primary keys (Base) +Oracle Open Office Base : kiosk export +Oracle Open Office Base : labels +Oracle Open Office Base : labels;creating and synchronizing +Oracle Open Office Base : labels;for draw objects +Oracle Open Office Base : labels;form functions +Oracle Open Office Base : labels;from databases +Oracle Open Office Base : labels, see also names/callouts +Oracle Open Office Base : languages +Oracle Open Office Base : languages;activating modules +Oracle Open Office Base : languages;Asian support +Oracle Open Office Base : languages;complex text layout +Oracle Open Office Base : languages;locale settings +Oracle Open Office Base : languages;selecting for text +Oracle Open Office Base : languages;setting options +Oracle Open Office Base : languages;spellcheck +Oracle Open Office Base : languages;spellchecking and formatting +Oracle Open Office Base : large handles (Writer) +Oracle Open Office Base : large icons +Oracle Open Office Base : layer arrangement +Oracle Open Office Base : layout +Oracle Open Office Base : layout;importing Word documents +Oracle Open Office Base : layout;pages +Oracle Open Office Base : LDAP server +Oracle Open Office Base : LDAP server;address books (Base) +Oracle Open Office Base : LDAP server;sign on options +Oracle Open Office Base : leading between paragraphs +Oracle Open Office Base : left alignment of paragraphs +Oracle Open Office Base : left joins (Base) +Oracle Open Office Base : legends +Oracle Open Office Base : legends;charts +Oracle Open Office Base : legends;draw objects +Oracle Open Office Base : legends;rounding corners +Oracle Open Office Base : Letter Wizard +Oracle Open Office Base : levels +Oracle Open Office Base : levels;depth stagger +Oracle Open Office Base : levels;macro security +Oracle Open Office Base : limits of tables (Writer) +Oracle Open Office Base : line breaks +Oracle Open Office Base : line breaks;in cells +Oracle Open Office Base : line spacing +Oracle Open Office Base : line spacing;context menu in paragraphs +Oracle Open Office Base : line spacing;paragraph +Oracle Open Office Base : line styles +Oracle Open Office Base : line styles;applying +Oracle Open Office Base : line styles;defining +Oracle Open Office Base : lines +Oracle Open Office Base : lines;defining ends +Oracle Open Office Base : lines;draw functions +Oracle Open Office Base : lines;drawing in text +Oracle Open Office Base : lines;editing points +Oracle Open Office Base : lines;removing automatic lines +Oracle Open Office Base : lines of text +Oracle Open Office Base : lines of text;alignment +Oracle Open Office Base : links +Oracle Open Office Base : links;between cells and controls +Oracle Open Office Base : links;by drag and drop +Oracle Open Office Base : links;character formats +Oracle Open Office Base : links;definition +Oracle Open Office Base : links;editing hyperlinks +Oracle Open Office Base : links;inserting +Oracle Open Office Base : links;modifying +Oracle Open Office Base : links;opening files with +Oracle Open Office Base : links;relational databases (Base) +Oracle Open Office Base : links;turning off automatic recognition +Oracle Open Office Base : links;updating options (Writer) +Oracle Open Office Base : links;updating specific links +Oracle Open Office Base : list box creation +Oracle Open Office Base : lists +Oracle Open Office Base : lists;data assigned to controls +Oracle Open Office Base : lists;registered databases (Base) +Oracle Open Office Base : lists;regular expressions +Oracle Open Office Base : live presentations on the Internet +Oracle Open Office Base : loading +Oracle Open Office Base : loading;documents +Oracle Open Office Base : loading;documents from other formats +Oracle Open Office Base : loading;HTML documents, automatically +Oracle Open Office Base : loading;Microsoft Office documents with VBA code +Oracle Open Office Base : loading;reloading +Oracle Open Office Base : loading;XML files +Oracle Open Office Base : locale settings +Oracle Open Office Base : lowercase letters +Oracle Open Office Base : lowercase letters;font effects +Oracle Open Office Base : Macro Wizard (Base) +Oracle Open Office Base : macros +Oracle Open Office Base : macros;assigning to events in forms +Oracle Open Office Base : macros;attaching new (Base) +Oracle Open Office Base : macros;in MS Office documents +Oracle Open Office Base : macros;interrupting +Oracle Open Office Base : macros;organizing +Oracle Open Office Base : macros;recording +Oracle Open Office Base : macros;security +Oracle Open Office Base : macros;security levels +Oracle Open Office Base : macros;security warning dialog +Oracle Open Office Base : macros;selecting security warnings +Oracle Open Office Base : magnifiers +Oracle Open Office Base : margins +Oracle Open Office Base : margins;pages +Oracle Open Office Base : margins;setting with the mouse +Oracle Open Office Base : margins;shadows +Oracle Open Office Base : marking changes +Oracle Open Office Base : marking, see selecting +Oracle Open Office Base : Math formula editor +Oracle Open Office Base : measurement units +Oracle Open Office Base : measurement units;changing on rulers +Oracle Open Office Base : measurement units;converting +Oracle Open Office Base : measurement units;selecting +Oracle Open Office Base : Media Player window +Oracle Open Office Base : menus +Oracle Open Office Base : menus;activating context menus +Oracle Open Office Base : menus;assigning macros +Oracle Open Office Base : menus;customizing +Oracle Open Office Base : merging +Oracle Open Office Base : merging;documents +Oracle Open Office Base : META tags +Oracle Open Office Base : metrics +Oracle Open Office Base : metrics;converting +Oracle Open Office Base : metrics;document formatting (Writer) +Oracle Open Office Base : metrics;in sheets +Oracle Open Office Base : Microsoft Office +Oracle Open Office Base : Microsoft Office;Access databases (base) +Oracle Open Office Base : Microsoft Office;as default file format +Oracle Open Office Base : Microsoft Office;document import restrictions +Oracle Open Office Base : Microsoft Office;feature comparisons +Oracle Open Office Base : Microsoft Office;importing password protected files +Oracle Open Office Base : Microsoft Office;importing Word documents +Oracle Open Office Base : Microsoft Office;importing/exporting VBA code +Oracle Open Office Base : Microsoft Office;new users information +Oracle Open Office Base : Microsoft Office;opening Microsoft documents +Oracle Open Office Base : Microsoft Office;reassigning document types +Oracle Open Office Base : migrating macros (Base) +Oracle Open Office Base : mobile device filters +Oracle Open Office Base : models in XForms +Oracle Open Office Base : modifying, see changing +Oracle Open Office Base : more controls +Oracle Open Office Base : mosaic filter +Oracle Open Office Base : mouse +Oracle Open Office Base : mouse;pointers when using drag and drop +Oracle Open Office Base : mouse;positioning +Oracle Open Office Base : movies +Oracle Open Office Base : moving +Oracle Open Office Base : moving;tab stops on ruler +Oracle Open Office Base : moving;toolbars +Oracle Open Office Base : moving;using guide lines in presentations +Oracle Open Office Base : MS ADO interface (Base) +Oracle Open Office Base : multi-line titles in forms +Oracle Open Office Base : multiple documents +Oracle Open Office Base : multiple documents;opening +Oracle Open Office Base : multiple selection +Oracle Open Office Base : music +Oracle Open Office Base : My Documents folder +Oracle Open Office Base : My Documents folder;changing work directory +Oracle Open Office Base : My Documents folder;opening +Oracle Open Office Base : MySQL databases (Base) +Oracle Open Office Base : names +Oracle Open Office Base : names;multi-line titles +Oracle Open Office Base : names;objects +Oracle Open Office Base : names, see also labels/callouts +Oracle Open Office Base : namespace organization in XForms +Oracle Open Office Base : native SQL (Base) +Oracle Open Office Base : navigating +Oracle Open Office Base : navigating;in documents +Oracle Open Office Base : Navigation bar +Oracle Open Office Base : Navigation bar;controls +Oracle Open Office Base : Navigation bar;forms +Oracle Open Office Base : Navigator +Oracle Open Office Base : Navigator;comments +Oracle Open Office Base : Navigator;contents as lists +Oracle Open Office Base : Navigator;docking +Oracle Open Office Base : Navigator;working with +Oracle Open Office Base : network identity options +Oracle Open Office Base : new databases +Oracle Open Office Base : new documents +Oracle Open Office Base : new lines in cells +Oracle Open Office Base : new windows +Oracle Open Office Base : non-breaking dashes +Oracle Open Office Base : non-breaking spaces (Writer) +Oracle Open Office Base : non-printing characters (Writer) +Oracle Open Office Base : number formats +Oracle Open Office Base : number formats;codes +Oracle Open Office Base : number formats;formats +Oracle Open Office Base : number formats;recognition in text tables +Oracle Open Office Base : number of pages +Oracle Open Office Base : number of sheets +Oracle Open Office Base : number of tables +Oracle Open Office Base : numbering +Oracle Open Office Base : numbering;options +Oracle Open Office Base : numbering;turning off +Oracle Open Office Base : numbering;using automatically +Oracle Open Office Base : numbers +Oracle Open Office Base : numbers;date, time and currency formats +Oracle Open Office Base : numbers;decimal places (Calc) +Oracle Open Office Base : numerical fields in forms +Oracle Open Office Base : objects +Oracle Open Office Base : objects;always moveable (Impress/Draw) +Oracle Open Office Base : objects;arranging within stacks +Oracle Open Office Base : objects;copying when moving in presentations +Oracle Open Office Base : objects;definition +Oracle Open Office Base : objects;displaying in spreadsheets +Oracle Open Office Base : objects;displaying in text documents +Oracle Open Office Base : objects;editing +Oracle Open Office Base : objects;inserting from Gallery +Oracle Open Office Base : objects;inserting OLE objects +Oracle Open Office Base : objects;moving and resizing with mouse +Oracle Open Office Base : objects;naming +Oracle Open Office Base : objects;opening +Oracle Open Office Base : objects;quickly moving to +Oracle Open Office Base : objects;titles and descriptions +Oracle Open Office Base : ODBC +Oracle Open Office Base : ODBC;database (Base) +Oracle Open Office Base : ODBC;definition +Oracle Open Office Base : ODF file formats +Oracle Open Office Base : Office +Oracle Open Office Base : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Base : OLE +Oracle Open Office Base : OLE;definition +Oracle Open Office Base : OLE objects +Oracle Open Office Base : OLE objects;arranging within stacks +Oracle Open Office Base : OLE objects;captions (Writer) +Oracle Open Office Base : OLE objects;inserting +Oracle Open Office Base : OLE objects;number of +Oracle Open Office Base : OLE objects;protecting +Oracle Open Office Base : one and a half line spacing in text +Oracle Open Office Base : online feedback options +Oracle Open Office Base : online registration +Oracle Open Office Base : online update options +Oracle Open Office Base : online updates +Oracle Open Office Base : online updates;checking automatically +Oracle Open Office Base : online updates;checking manually +Oracle Open Office Base : Open/Save dialogs +Oracle Open Office Base : OpenDocument file formats +Oracle Open Office Base : OpenGL +Oracle Open Office Base : OpenGL;definition +Oracle Open Office Base : opening +Oracle Open Office Base : opening;context menus +Oracle Open Office Base : opening;database files +Oracle Open Office Base : opening;dialog settings +Oracle Open Office Base : opening;documents +Oracle Open Office Base : opening;documents from other formats +Oracle Open Office Base : opening;documents on WebDAV server +Oracle Open Office Base : opening;files with links +Oracle Open Office Base : opening;files, with placeholders +Oracle Open Office Base : opening;forms +Oracle Open Office Base : opening;Microsoft Office files +Oracle Open Office Base : opening;mobile device documents +Oracle Open Office Base : opening;objects +Oracle Open Office Base : opening;reports +Oracle Open Office Base : opening;several files +Oracle Open Office Base : opening;XForms +Oracle Open Office Base : operators +Oracle Open Office Base : operators;default filters +Oracle Open Office Base : optional hyphens (Writer) +Oracle Open Office Base : options +Oracle Open Office Base : options;accessibility +Oracle Open Office Base : options;appearance +Oracle Open Office Base : options;compatibility (Writer) +Oracle Open Office Base : options;improvement program +Oracle Open Office Base : options;network identity +Oracle Open Office Base : options;online update +Oracle Open Office Base : options;tools +Oracle Open Office Base : Oracle databases (base) +Oracle Open Office Base : Oracle Open Office Base data sources +Oracle Open Office Base : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Base : Oracle Open Office documents +Oracle Open Office Base : Oracle Open Office documents;mobile device filters +Oracle Open Office Base : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Base : Oracle Open Office Math start +Oracle Open Office Base : ordering +Oracle Open Office Base : ordering;objects +Oracle Open Office Base : organizing +Oracle Open Office Base : organizing;macros and scripts +Oracle Open Office Base : organizing;namespaces in XForms +Oracle Open Office Base : organizing;styles +Oracle Open Office Base : organizing;templates +Oracle Open Office Base : original size +Oracle Open Office Base : original size;printing in Oracle Open Office Math +Oracle Open Office Base : original size;restoring after cropping +Oracle Open Office Base : outlines +Oracle Open Office Base : outlines;font effects +Oracle Open Office Base : outlines;outline symbols +Oracle Open Office Base : outlines;sending to presentations +Oracle Open Office Base : overwrite mode +Oracle Open Office Base : packages, see extensions +Oracle Open Office Base : page breaks +Oracle Open Office Base : page breaks;displaying (Calc) +Oracle Open Office Base : page formats +Oracle Open Office Base : page formats;maximizing +Oracle Open Office Base : page formats;restriction +Oracle Open Office Base : page styles +Oracle Open Office Base : page styles;editing/applying with statusbar +Oracle Open Office Base : pages +Oracle Open Office Base : pages;backgrounds in all applications +Oracle Open Office Base : pages;formatting and numbering +Oracle Open Office Base : pages;printing page names in presentations +Oracle Open Office Base : pages;scaling +Oracle Open Office Base : pages;selecting one to print +Oracle Open Office Base : paint box +Oracle Open Office Base : paint can symbol +Oracle Open Office Base : pair kerning +Oracle Open Office Base : Palm file filters +Oracle Open Office Base : paper formats +Oracle Open Office Base : paper size warning +Oracle Open Office Base : paper trays +Oracle Open Office Base : paragraph marks +Oracle Open Office Base : paragraph marks;displaying (Writer) +Oracle Open Office Base : paragraph styles +Oracle Open Office Base : paragraph styles;languages +Oracle Open Office Base : paragraph styles;modifying basic fonts +Oracle Open Office Base : paragraphs +Oracle Open Office Base : paragraphs;alignment +Oracle Open Office Base : paragraphs;Asian typography +Oracle Open Office Base : paragraphs;defining borders +Oracle Open Office Base : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Base : paragraphs;increasing indents of +Oracle Open Office Base : paragraphs;indents, margins and columns +Oracle Open Office Base : paragraphs;inserting bullets +Oracle Open Office Base : paragraphs;joining +Oracle Open Office Base : paragraphs;numbering automatically +Oracle Open Office Base : paragraphs;removing blank ones +Oracle Open Office Base : paragraphs;spacing +Oracle Open Office Base : paragraphs;tab stops +Oracle Open Office Base : parameters +Oracle Open Office Base : parameters;command line +Oracle Open Office Base : parameters;queries (Base) +Oracle Open Office Base : passwords for protecting contents +Oracle Open Office Base : pasting +Oracle Open Office Base : pasting;cell ranges +Oracle Open Office Base : pasting;cell ranges from spreadsheets +Oracle Open Office Base : pasting;data from text documents +Oracle Open Office Base : pasting;draw objects +Oracle Open Office Base : pasting;draw objects from other documents +Oracle Open Office Base : pasting;formatted/unformatted text +Oracle Open Office Base : pasting;from data source view +Oracle Open Office Base : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Base : pasting;pictures from other documents +Oracle Open Office Base : pasting;sheet areas in text documents +Oracle Open Office Base : pasting;to Gallery +Oracle Open Office Base : paths +Oracle Open Office Base : paths;changing work directory +Oracle Open Office Base : paths;defaults +Oracle Open Office Base : pattern editor +Oracle Open Office Base : pattern fields +Oracle Open Office Base : pattern fields;form functions +Oracle Open Office Base : patterns for objects +Oracle Open Office Base : PDF +Oracle Open Office Base : PDF;export +Oracle Open Office Base : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Base : personal data input +Oracle Open Office Base : phonetic guide +Oracle Open Office Base : picklist creation +Oracle Open Office Base : pictures +Oracle Open Office Base : pictures;adding to Gallery +Oracle Open Office Base : pictures;arranging within stacks +Oracle Open Office Base : pictures;assigning macros +Oracle Open Office Base : pictures;backgrounds +Oracle Open Office Base : pictures;captions (Writer) +Oracle Open Office Base : pictures;changing paths +Oracle Open Office Base : pictures;cropping and zooming +Oracle Open Office Base : pictures;displaying in Calc +Oracle Open Office Base : pictures;displaying in Writer (Writer) +Oracle Open Office Base : pictures;drag and drop between documents +Oracle Open Office Base : pictures;drawing +Oracle Open Office Base : pictures;editing +Oracle Open Office Base : pictures;filters +Oracle Open Office Base : pictures;ImageMap +Oracle Open Office Base : pictures;inserting automatically +Oracle Open Office Base : pictures;inserting from Gallery +Oracle Open Office Base : pictures;number of +Oracle Open Office Base : pictures;printing +Oracle Open Office Base : pictures;scaling/resizing +Oracle Open Office Base : pixel editor +Oracle Open Office Base : pixel graphics +Oracle Open Office Base : pixel graphics;inserting and editing +Oracle Open Office Base : pixel patterns +Oracle Open Office Base : placeholders +Oracle Open Office Base : placeholders;in SQL queries +Oracle Open Office Base : placeholders;on opening files +Oracle Open Office Base : placing toolbars +Oracle Open Office Base : playing movies and sound files +Oracle Open Office Base : plotting data as charts +Oracle Open Office Base : plug-ins +Oracle Open Office Base : plug-ins;activating and deactivating +Oracle Open Office Base : plug-ins;definition +Oracle Open Office Base : plug-ins;inserting +Oracle Open Office Base : pocket device appliances +Oracle Open Office Base : Pocket PC file filters +Oracle Open Office Base : points +Oracle Open Office Base : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Base : polygon drawing +Oracle Open Office Base : pop-art filter +Oracle Open Office Base : portable document format +Oracle Open Office Base : positioning +Oracle Open Office Base : positioning;draw objects and controls +Oracle Open Office Base : positioning;fonts +Oracle Open Office Base : positioning;objects +Oracle Open Office Base : positioning;toolbars +Oracle Open Office Base : post method for form transmissions +Oracle Open Office Base : posterizing filter +Oracle Open Office Base : PostScript +Oracle Open Office Base : PostScript;creating files +Oracle Open Office Base : PostScript;PDF converter, UNIX +Oracle Open Office Base : PowerPoint export +Oracle Open Office Base : precision as shown (Calc) +Oracle Open Office Base : predefining fonts +Oracle Open Office Base : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Base : presentations +Oracle Open Office Base : presentations;creating/opening +Oracle Open Office Base : presentations;inserting spreadsheet cells +Oracle Open Office Base : presentations;live on the Internet +Oracle Open Office Base : presentations;print menu +Oracle Open Office Base : presentations;saving +Oracle Open Office Base : presentations;saving automatically +Oracle Open Office Base : presentations;saving in other formats +Oracle Open Office Base : presentations;sending as e-mail +Oracle Open Office Base : presentations;starting with wizard +Oracle Open Office Base : presentations;wizards +Oracle Open Office Base : Presenter Console shortcuts +Oracle Open Office Base : press buttons, see push buttons +Oracle Open Office Base : previews +Oracle Open Office Base : previews;fonts lists +Oracle Open Office Base : primary keys +Oracle Open Office Base : primary keys;defining +Oracle Open Office Base : primary keys;design view +Oracle Open Office Base : primary keys;inserting (Base) +Oracle Open Office Base : print area selection +Oracle Open Office Base : printer metrics for document formatting (Writer) +Oracle Open Office Base : printers +Oracle Open Office Base : printers;adding, UNIX +Oracle Open Office Base : printers;choosing +Oracle Open Office Base : printers;default printer +Oracle Open Office Base : printers;faxes under UNIX +Oracle Open Office Base : printers;maximum page formats +Oracle Open Office Base : printers;paper trays +Oracle Open Office Base : printers;properties +Oracle Open Office Base : printing +Oracle Open Office Base : printing;black and white +Oracle Open Office Base : printing;brochures +Oracle Open Office Base : printing;colors in grayscale +Oracle Open Office Base : printing;comments +Oracle Open Office Base : printing;copies +Oracle Open Office Base : printing;creating individual jobs +Oracle Open Office Base : printing;dates in presentations +Oracle Open Office Base : printing;directly +Oracle Open Office Base : printing;documents +Oracle Open Office Base : printing;drawings defaults +Oracle Open Office Base : printing;elements in text documents +Oracle Open Office Base : printing;faster +Oracle Open Office Base : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Base : printing;fitting to pages in presentations +Oracle Open Office Base : printing;formulas in Oracle Open Office Math +Oracle Open Office Base : printing;hidden pages of presentations +Oracle Open Office Base : printing;in original size in Oracle Open Office Math +Oracle Open Office Base : printing;left/right pages +Oracle Open Office Base : printing;queries (Base) +Oracle Open Office Base : printing;scaling in Oracle Open Office Math +Oracle Open Office Base : printing;selections +Oracle Open Office Base : printing;text always in black +Oracle Open Office Base : printing;text in reverse order +Oracle Open Office Base : printing;tiling pages in presentations +Oracle Open Office Base : printing;transparencies +Oracle Open Office Base : printing;warnings +Oracle Open Office Base : printing;without scaling in presentations +Oracle Open Office Base : printing speed +Oracle Open Office Base : programming +Oracle Open Office Base : programming;Oracle Open Office +Oracle Open Office Base : programming;scripting +Oracle Open Office Base : properties +Oracle Open Office Base : properties;fields in databases +Oracle Open Office Base : properties;files +Oracle Open Office Base : properties;form controls +Oracle Open Office Base : properties;forms +Oracle Open Office Base : properties;printers +Oracle Open Office Base : protected contents +Oracle Open Office Base : protected dashes +Oracle Open Office Base : protected database tables +Oracle Open Office Base : protected documents +Oracle Open Office Base : protected spaces +Oracle Open Office Base : protected spaces;inserting +Oracle Open Office Base : protected spaces;showing (Writer) +Oracle Open Office Base : protecting +Oracle Open Office Base : protecting;contents +Oracle Open Office Base : protecting;recorded changes +Oracle Open Office Base : proxy settings +Oracle Open Office Base : push buttons +Oracle Open Office Base : push buttons;adding to documents +Oracle Open Office Base : push buttons;creating +Oracle Open Office Base : queries +Oracle Open Office Base : queries;copying (Base) +Oracle Open Office Base : queries;creating in design view (Base) +Oracle Open Office Base : queries;creating in SQL view +Oracle Open Office Base : queries;defining (Base) +Oracle Open Office Base : queries;deleting table links (Base) +Oracle Open Office Base : queries;editing in data source view +Oracle Open Office Base : queries;formulating filter conditions (Base) +Oracle Open Office Base : queries;joining tables (Base) +Oracle Open Office Base : queries;missing elements (Base) +Oracle Open Office Base : queries;overview (Base) +Oracle Open Office Base : queries;parameter queries (Base) +Oracle Open Office Base : queries;printing (Base) +Oracle Open Office Base : Query Wizard (Base) +Oracle Open Office Base : Quickstarter +Oracle Open Office Base : quotation marks +Oracle Open Office Base : quotation marks;replacing +Oracle Open Office Base : quotes +Oracle Open Office Base : quotes;custom +Oracle Open Office Base : radio button creation +Oracle Open Office Base : read-only documents +Oracle Open Office Base : read-only documents;cursor +Oracle Open Office Base : read-only documents;database tables on/off +Oracle Open Office Base : read-only documents;editing +Oracle Open Office Base : read-only documents;opening documents as +Oracle Open Office Base : read-only items in Data Navigator +Oracle Open Office Base : recognizing URLs automatically +Oracle Open Office Base : recording +Oracle Open Office Base : recording;changes +Oracle Open Office Base : recording;macros +Oracle Open Office Base : records +Oracle Open Office Base : records;inserting comments +Oracle Open Office Base : records;protecting +Oracle Open Office Base : records;saving +Oracle Open Office Base : records;searching in databases +Oracle Open Office Base : rectangles with round corners +Oracle Open Office Base : recursions in spreadsheets +Oracle Open Office Base : redo command +Oracle Open Office Base : reduced printing +Oracle Open Office Base : reference lines +Oracle Open Office Base : references +Oracle Open Office Base : references;displaying in color (Calc) +Oracle Open Office Base : references;expanding (Calc) +Oracle Open Office Base : references;iterative (Calc) +Oracle Open Office Base : register-true +Oracle Open Office Base : register-true;definition +Oracle Open Office Base : registering +Oracle Open Office Base : registering;address books +Oracle Open Office Base : registering;databases (Base) +Oracle Open Office Base : registering;Oracle Open Office +Oracle Open Office Base : regular expressions +Oracle Open Office Base : regular expressions;list of +Oracle Open Office Base : regular expressions;opening files +Oracle Open Office Base : relational databases (Base) +Oracle Open Office Base : relations +Oracle Open Office Base : relations;creating and deleting (Base) +Oracle Open Office Base : relations;joining tables (Base) +Oracle Open Office Base : relations;properties (Base) +Oracle Open Office Base : relative hyperlinks +Oracle Open Office Base : relative saving of URLs +Oracle Open Office Base : reloading +Oracle Open Office Base : reloading;documents +Oracle Open Office Base : reloading;HTML documents, automatically +Oracle Open Office Base : remarks, see also comments +Oracle Open Office Base : remote configurations +Oracle Open Office Base : remove noise filter +Oracle Open Office Base : removing +Oracle Open Office Base : removing;bullets and numbering +Oracle Open Office Base : removing;form filters +Oracle Open Office Base : removing, see also deleting +Oracle Open Office Base : repeating +Oracle Open Office Base : repeating;commands +Oracle Open Office Base : replacement options +Oracle Open Office Base : replacement table +Oracle Open Office Base : replacing +Oracle Open Office Base : replacing;AutoCorrect function +Oracle Open Office Base : replacing;dashes +Oracle Open Office Base : replacing;tab stops (regular expressions) +Oracle Open Office Base : Report Builder +Oracle Open Office Base : reports +Oracle Open Office Base : reports;creating +Oracle Open Office Base : reports;error reports +Oracle Open Office Base : reports;opening and editing +Oracle Open Office Base : reports;templates +Oracle Open Office Base : resetting +Oracle Open Office Base : resetting;templates +Oracle Open Office Base : resizing +Oracle Open Office Base : resizing;objects, by mouse +Oracle Open Office Base : resizing, see also scaling/zooming +Oracle Open Office Base : resolution when printing bitmaps +Oracle Open Office Base : restoring +Oracle Open Office Base : restoring;default formatting +Oracle Open Office Base : restoring;editing +Oracle Open Office Base : reversing printing order +Oracle Open Office Base : review function +Oracle Open Office Base : review function;accepting or rejecting changes +Oracle Open Office Base : review function;comparing documents +Oracle Open Office Base : review function;protecting records +Oracle Open Office Base : review function;recording changes example +Oracle Open Office Base : rich text control +Oracle Open Office Base : right alignment of paragraphs +Oracle Open Office Base : right joins (Base) +Oracle Open Office Base : right-to-left text +Oracle Open Office Base : rotating +Oracle Open Office Base : rotating;3D text +Oracle Open Office Base : round corners +Oracle Open Office Base : rounding precision (Calc) +Oracle Open Office Base : row headers +Oracle Open Office Base : row headers;displaying (Calc) +Oracle Open Office Base : row headers;highlighting (Calc) +Oracle Open Office Base : rulers +Oracle Open Office Base : rulers;default settings +Oracle Open Office Base : rulers;measurement units +Oracle Open Office Base : rulers;visible in presentations +Oracle Open Office Base : samples and templates +Oracle Open Office Base : saving +Oracle Open Office Base : saving;default file formats +Oracle Open Office Base : saving;dialog settings +Oracle Open Office Base : saving;documents +Oracle Open Office Base : saving;documents for mobile devices +Oracle Open Office Base : saving;documents in other formats +Oracle Open Office Base : saving;documents, automatically +Oracle Open Office Base : saving;in Microsoft Office file format +Oracle Open Office Base : saving;options +Oracle Open Office Base : saving;templates +Oracle Open Office Base : saving;to XML +Oracle Open Office Base : saving;VBA code in Microsoft Office documents +Oracle Open Office Base : saving;with password by default +Oracle Open Office Base : saving as command +Oracle Open Office Base : saving as command;precautions +Oracle Open Office Base : scaling +Oracle Open Office Base : scaling;font sizes in user interface +Oracle Open Office Base : scaling;objects +Oracle Open Office Base : scaling;pictures +Oracle Open Office Base : scaling;printing in Oracle Open Office Math +Oracle Open Office Base : scaling;when printing presentations +Oracle Open Office Base : scaling, see also zooming +Oracle Open Office Base : screen +Oracle Open Office Base : screen;full screen views +Oracle Open Office Base : screen;scaling +Oracle Open Office Base : screen magnifiers +Oracle Open Office Base : screen readers +Oracle Open Office Base : script organization +Oracle Open Office Base : scrollbars +Oracle Open Office Base : scrollbars;controls +Oracle Open Office Base : scrollbars;displaying (Calc) +Oracle Open Office Base : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Base : search criteria for database functions in cells +Oracle Open Office Base : search engines +Oracle Open Office Base : search engines;definition +Oracle Open Office Base : search engines;selecting +Oracle Open Office Base : searching +Oracle Open Office Base : searching;all sheets +Oracle Open Office Base : searching;databases +Oracle Open Office Base : searching;form filters +Oracle Open Office Base : searching;Internet +Oracle Open Office Base : searching;tables and forms +Oracle Open Office Base : sections +Oracle Open Office Base : sections;backgrounds +Oracle Open Office Base : security +Oracle Open Office Base : security;digital signatures +Oracle Open Office Base : security;options for documents with macros +Oracle Open Office Base : security;protecting contents +Oracle Open Office Base : security;security levels for macros +Oracle Open Office Base : security;warning dialogs with macros +Oracle Open Office Base : selecting +Oracle Open Office Base : selecting;controls +Oracle Open Office Base : selecting;measurement units +Oracle Open Office Base : selecting;objects +Oracle Open Office Base : selecting;print areas +Oracle Open Office Base : selecting;several files +Oracle Open Office Base : selection clipboard +Oracle Open Office Base : selection frames +Oracle Open Office Base : selection modes in text +Oracle Open Office Base : sending +Oracle Open Office Base : sending;AutoAbstract function in presentations +Oracle Open Office Base : sending;documents as e-mail +Oracle Open Office Base : sending;documents as faxes +Oracle Open Office Base : separator lines +Oracle Open Office Base : separator lines;defining +Oracle Open Office Base : separators +Oracle Open Office Base : separators;conditional +Oracle Open Office Base : Server Side ImageMap +Oracle Open Office Base : settings +Oracle Open Office Base : settings;printers +Oracle Open Office Base : settings;program configuration +Oracle Open Office Base : settings;proxies +Oracle Open Office Base : settings;tracking changes +Oracle Open Office Base : settings;views +Oracle Open Office Base : SGML +Oracle Open Office Base : SGML;definition +Oracle Open Office Base : shadows +Oracle Open Office Base : shadows;areas +Oracle Open Office Base : shadows;borders +Oracle Open Office Base : shadows;characters +Oracle Open Office Base : shadows;characters, using context menu +Oracle Open Office Base : sharing documents +Oracle Open Office Base : sharpening filter +Oracle Open Office Base : sheet tabs +Oracle Open Office Base : sheet tabs;displaying +Oracle Open Office Base : sheets +Oracle Open Office Base : sheets;searching all +Oracle Open Office Base : shortcut keys +Oracle Open Office Base : shortcut keys;assigning macros +Oracle Open Office Base : shortcut keys;general +Oracle Open Office Base : shortcut keys;in databases +Oracle Open Office Base : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Base : showing +Oracle Open Office Base : showing;changes +Oracle Open Office Base : showing;docked windows +Oracle Open Office Base : showing;drawings and controls (Writer) +Oracle Open Office Base : showing;live presentations on the Internet +Oracle Open Office Base : showing;toolbars +Oracle Open Office Base : signing documents with digital signatures +Oracle Open Office Base : similarity search +Oracle Open Office Base : simple handles (Writer) +Oracle Open Office Base : simplified Chinese +Oracle Open Office Base : simplified Chinese;translating to traditional Chinese +Oracle Open Office Base : single sign on options +Oracle Open Office Base : single-line spacing in text +Oracle Open Office Base : sizes +Oracle Open Office Base : sizes;draw objects +Oracle Open Office Base : sizes;pictures +Oracle Open Office Base : slanting draw objects +Oracle Open Office Base : small capitals +Oracle Open Office Base : small icons +Oracle Open Office Base : smart tag configuration +Oracle Open Office Base : smooth scrolling (Writer) +Oracle Open Office Base : smoothing filter +Oracle Open Office Base : snap grid defaults (Writer/Calc) +Oracle Open Office Base : snapping in presentations and drawings +Oracle Open Office Base : solarization filter +Oracle Open Office Base : sort lists +Oracle Open Office Base : sort lists;copying to in Calc +Oracle Open Office Base : sorting +Oracle Open Office Base : sorting;data in forms +Oracle Open Office Base : sorting;databases +Oracle Open Office Base : sound files +Oracle Open Office Base : spaces +Oracle Open Office Base : spaces;displaying (Writer) +Oracle Open Office Base : spaces;ignoring double +Oracle Open Office Base : spaces;inserting protected spaces +Oracle Open Office Base : spaces;showing protected spaces (Writer) +Oracle Open Office Base : spacing +Oracle Open Office Base : spacing;between paragraphs in footnotes +Oracle Open Office Base : spacing;font effects +Oracle Open Office Base : spacing;lines and paragraphs +Oracle Open Office Base : spacing;tab stops in text documents +Oracle Open Office Base : spacing;tabs in presentations +Oracle Open Office Base : spadmin +Oracle Open Office Base : special characters +Oracle Open Office Base : speech bubbles +Oracle Open Office Base : speed of printing +Oracle Open Office Base : spellcheck +Oracle Open Office Base : spellcheck;activating for a language +Oracle Open Office Base : spellcheck;context menus +Oracle Open Office Base : spellcheck;default languages +Oracle Open Office Base : spellcheck;dialog +Oracle Open Office Base : spellcheck;dictionary of exceptions +Oracle Open Office Base : spellcheck;ignore list +Oracle Open Office Base : spin button creation +Oracle Open Office Base : spoolfiles with Xprinter +Oracle Open Office Base : spreadsheets +Oracle Open Office Base : spreadsheets;as databases (base) +Oracle Open Office Base : spreadsheets;copying areas to text documents +Oracle Open Office Base : spreadsheets;creating/opening +Oracle Open Office Base : spreadsheets;inserting charts +Oracle Open Office Base : spreadsheets;inserting database records +Oracle Open Office Base : spreadsheets;printing +Oracle Open Office Base : spreadsheets;saving +Oracle Open Office Base : spreadsheets;saving automatically +Oracle Open Office Base : spreadsheets;saving in other formats +Oracle Open Office Base : spreadsheets;sending as e-mail +Oracle Open Office Base : SQL +Oracle Open Office Base : SQL;definition +Oracle Open Office Base : SQL;DISTINCT parameter +Oracle Open Office Base : SQL;executing SQL commands +Oracle Open Office Base : SQL;executing SQL statements (Base) +Oracle Open Office Base : SQL;queries (Base) +Oracle Open Office Base : square drawings +Oracle Open Office Base : standard bar on/off +Oracle Open Office Base : standard filters in databases +Oracle Open Office Base : standard printer under UNIX +Oracle Open Office Base : start center +Oracle Open Office Base : start parameters +Oracle Open Office Base : status bar on/off +Oracle Open Office Base : stickers +Oracle Open Office Base : strikethrough +Oracle Open Office Base : strikethrough;characters +Oracle Open Office Base : strikethrough;font effects +Oracle Open Office Base : styles +Oracle Open Office Base : styles;'changed' message +Oracle Open Office Base : styles;copying between documents +Oracle Open Office Base : styles;keyboard shortcuts +Oracle Open Office Base : styles;organizing +Oracle Open Office Base : styles;printing styles used in a document +Oracle Open Office Base : styles;replacing automatically +Oracle Open Office Base : Styles and Formatting window +Oracle Open Office Base : Styles and Formatting window;docking +Oracle Open Office Base : subforms +Oracle Open Office Base : subforms;creating +Oracle Open Office Base : subforms;description +Oracle Open Office Base : submitting forms +Oracle Open Office Base : suffixes in file formats +Oracle Open Office Base : support on the Web +Oracle Open Office Base : synchronizing +Oracle Open Office Base : synchronizing;labels and business cards +Oracle Open Office Base : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Base : system address book registration +Oracle Open Office Base : tab stops +Oracle Open Office Base : tab stops;displaying (Writer) +Oracle Open Office Base : tab stops;inserting and editing +Oracle Open Office Base : tab stops;regular expressions +Oracle Open Office Base : tab stops;setting in sheets +Oracle Open Office Base : tab stops;settings +Oracle Open Office Base : tab stops;spacing in presentations +Oracle Open Office Base : tab stops;spacing in text documents +Oracle Open Office Base : table controls +Oracle Open Office Base : table controls;form functions +Oracle Open Office Base : table controls;keyboard-only edit mode +Oracle Open Office Base : table controls;properties +Oracle Open Office Base : table views of databases +Oracle Open Office Base : Table Wizard (Base) +Oracle Open Office Base : tables +Oracle Open Office Base : tables;inserting line breaks +Oracle Open Office Base : tables in databases +Oracle Open Office Base : tables in databases;access rights to (Base) +Oracle Open Office Base : tables in databases;adding to queries +Oracle Open Office Base : tables in databases;browsing and editing +Oracle Open Office Base : tables in databases;copying database tables (Base) +Oracle Open Office Base : tables in databases;creating +Oracle Open Office Base : tables in databases;creating in design view (manually) +Oracle Open Office Base : tables in databases;importing text formats (Base) +Oracle Open Office Base : tables in databases;joining for queries (Base) +Oracle Open Office Base : tables in databases;printing queries (Base) +Oracle Open Office Base : tables in databases;relations (Base) +Oracle Open Office Base : tables in databases;searching +Oracle Open Office Base : tables in spreadsheets +Oracle Open Office Base : tables in spreadsheets;copying data to other applications +Oracle Open Office Base : tables in spreadsheets;defining borders +Oracle Open Office Base : tables in spreadsheets;value highlighting +Oracle Open Office Base : tables in text +Oracle Open Office Base : tables in text;captions +Oracle Open Office Base : tables in text;creating automatically +Oracle Open Office Base : tables in text;default settings +Oracle Open Office Base : tables in text;defining borders +Oracle Open Office Base : tables in text;displaying +Oracle Open Office Base : tables in text;printing +Oracle Open Office Base : tabs +Oracle Open Office Base : tabs;displaying sheet tabs +Oracle Open Office Base : tags +Oracle Open Office Base : tags;definition +Oracle Open Office Base : tags;META tags +Oracle Open Office Base : templates +Oracle Open Office Base : templates;agendas +Oracle Open Office Base : templates;changing basic fonts +Oracle Open Office Base : templates;database reports +Oracle Open Office Base : templates;deleting +Oracle Open Office Base : templates;editing and saving +Oracle Open Office Base : templates;faxes +Oracle Open Office Base : templates;importing and exporting +Oracle Open Office Base : templates;letters +Oracle Open Office Base : templates;new documents from templates +Oracle Open Office Base : templates;opening documents with +Oracle Open Office Base : templates;organizing +Oracle Open Office Base : terminology +Oracle Open Office Base : terminology;general glossary +Oracle Open Office Base : terminology;Internet glossary +Oracle Open Office Base : testing XML filters +Oracle Open Office Base : text +Oracle Open Office Base : text;animating +Oracle Open Office Base : text;Asian layout +Oracle Open Office Base : text;bold +Oracle Open Office Base : text;coloring +Oracle Open Office Base : text;copying by drag and drop +Oracle Open Office Base : text;CTL languages +Oracle Open Office Base : text;drawing pictures +Oracle Open Office Base : text;font effects +Oracle Open Office Base : text;font sizes +Oracle Open Office Base : text;font styles +Oracle Open Office Base : text;fonts and formats +Oracle Open Office Base : text;Fontwork icons +Oracle Open Office Base : text;hyperlinks +Oracle Open Office Base : text;inserting special characters +Oracle Open Office Base : text;italics +Oracle Open Office Base : text;kerning +Oracle Open Office Base : text;language selection +Oracle Open Office Base : text;line spacing +Oracle Open Office Base : text;overwriting or inserting +Oracle Open Office Base : text;printing in black +Oracle Open Office Base : text;replacing with format +Oracle Open Office Base : text;selection modes +Oracle Open Office Base : text;shadowed +Oracle Open Office Base : text;text/draw objects +Oracle Open Office Base : text attributes +Oracle Open Office Base : text attributes;hyperlinks +Oracle Open Office Base : text attributes;undoing +Oracle Open Office Base : text boxes +Oracle Open Office Base : text boxes;form functions +Oracle Open Office Base : text boxes;positioning +Oracle Open Office Base : text breaks in cells +Oracle Open Office Base : text colors for better accessibility +Oracle Open Office Base : text databases (Base) +Oracle Open Office Base : text documents +Oracle Open Office Base : text documents;creating/opening +Oracle Open Office Base : text documents;importing/exporting +Oracle Open Office Base : text documents;inserting spreadsheet cells +Oracle Open Office Base : text documents;print settings +Oracle Open Office Base : text documents;printing +Oracle Open Office Base : text documents;saving +Oracle Open Office Base : text documents;saving automatically +Oracle Open Office Base : text documents;saving in other formats +Oracle Open Office Base : text documents;sending as e-mail +Oracle Open Office Base : text effects +Oracle Open Office Base : text flow +Oracle Open Office Base : text flow;in cells +Oracle Open Office Base : text formats +Oracle Open Office Base : text formats;databases +Oracle Open Office Base : text formats;pasting +Oracle Open Office Base : text input fields +Oracle Open Office Base : text layout for special languages +Oracle Open Office Base : text objects +Oracle Open Office Base : text objects;alignment +Oracle Open Office Base : text objects;draw functions +Oracle Open Office Base : text objects;fonts +Oracle Open Office Base : text objects;in presentations and drawings +Oracle Open Office Base : text overflow in spreadsheet cells +Oracle Open Office Base : text, see also text documents, paragraphs and characters +Oracle Open Office Base : TextArt, see Fontwork +Oracle Open Office Base : textures +Oracle Open Office Base : textures;inserting from Gallery +Oracle Open Office Base : textures;on chart bars +Oracle Open Office Base : Thai +Oracle Open Office Base : Thai;entering text +Oracle Open Office Base : Thai;language settings +Oracle Open Office Base : thesaurus +Oracle Open Office Base : thesaurus;activating for a language +Oracle Open Office Base : ticker text +Oracle Open Office Base : time fields +Oracle Open Office Base : time fields;form functions +Oracle Open Office Base : times +Oracle Open Office Base : times;inserting when printing presentations +Oracle Open Office Base : times, formats +Oracle Open Office Base : tips +Oracle Open Office Base : tips;extended tips in Help +Oracle Open Office Base : title rows +Oracle Open Office Base : title rows;printing in Oracle Open Office Math +Oracle Open Office Base : titles +Oracle Open Office Base : titles;changing +Oracle Open Office Base : titles;editing in charts +Oracle Open Office Base : titles;font effects +Oracle Open Office Base : titles;formatting automatically +Oracle Open Office Base : titles;objects +Oracle Open Office Base : toolbars +Oracle Open Office Base : toolbars;adding buttons +Oracle Open Office Base : toolbars;docking/undocking +Oracle Open Office Base : toolbars;Form Navigation bar +Oracle Open Office Base : toolbars;viewing/closing +Oracle Open Office Base : tools bar +Oracle Open Office Base : tooltips +Oracle Open Office Base : tooltips;extended tips +Oracle Open Office Base : tooltips;help +Oracle Open Office Base : traditional Chinese +Oracle Open Office Base : traditional Chinese;translating to simplified chinese +Oracle Open Office Base : transparency +Oracle Open Office Base : transparency;areas +Oracle Open Office Base : transparency;off for faster printing +Oracle Open Office Base : transparency;saving +Oracle Open Office Base : tree view of Help +Oracle Open Office Base : typefaces +Oracle Open Office Base : typefaces;adding under UNIX +Oracle Open Office Base : typefaces;formats +Oracle Open Office Base : typographical quotes in Oracle Open Office Writer +Oracle Open Office Base : typography +Oracle Open Office Base : typography;Asian +Oracle Open Office Base : underlining +Oracle Open Office Base : underlining;AutoFormat function +Oracle Open Office Base : underlining;characters +Oracle Open Office Base : underlining;text +Oracle Open Office Base : undocking windows +Oracle Open Office Base : undoing +Oracle Open Office Base : undoing;direct formatting +Oracle Open Office Base : undoing;editing +Oracle Open Office Base : undoing;number of steps +Oracle Open Office Base : ungrouping groups +Oracle Open Office Base : units +Oracle Open Office Base : units;converting +Oracle Open Office Base : units;measurement units +Oracle Open Office Base : UNO components +Oracle Open Office Base : UNO components;Extension Manager +Oracle Open Office Base : UNO components;integrating new +Oracle Open Office Base : update options +Oracle Open Office Base : updates +Oracle Open Office Base : updates;checking automatically +Oracle Open Office Base : updates;checking manually +Oracle Open Office Base : updating +Oracle Open Office Base : updating;fields and charts, automatically (Writer) +Oracle Open Office Base : updating;links in text documents +Oracle Open Office Base : updating;links, on opening +Oracle Open Office Base : updating;templates +Oracle Open Office Base : URL +Oracle Open Office Base : URL;changing hyperlink URLs +Oracle Open Office Base : URL;definition +Oracle Open Office Base : URL;in pictures +Oracle Open Office Base : URL;saving absolute/relative paths +Oracle Open Office Base : URL;turning off URL recognition +Oracle Open Office Base : user data +Oracle Open Office Base : user data;input +Oracle Open Office Base : user data;removing when saving +Oracle Open Office Base : user feedback +Oracle Open Office Base : user feedback;automatically +Oracle Open Office Base : user-defined dictionaries +Oracle Open Office Base : user-defined dictionaries;creating +Oracle Open Office Base : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Base : user-defined dictionaries;editing +Oracle Open Office Base : user-defined styles +Oracle Open Office Base : user-defined styles;automatically replacing +Oracle Open Office Base : UTF-8/UCS2 support +Oracle Open Office Base : values +Oracle Open Office Base : values;rounded as shown (Calc) +Oracle Open Office Base : variables +Oracle Open Office Base : variables;for paths +Oracle Open Office Base : VBA code +Oracle Open Office Base : VBA code;loading/saving documents with VBA code +Oracle Open Office Base : version management +Oracle Open Office Base : version numbers of documents +Oracle Open Office Base : versions +Oracle Open Office Base : versions;comparing documents +Oracle Open Office Base : versions;file saving as, restriction +Oracle Open Office Base : versions;merging document versions +Oracle Open Office Base : versions;of a document +Oracle Open Office Base : versions;Oracle Open Office +Oracle Open Office Base : vertical callouts +Oracle Open Office Base : vertical scrollbars (Writer) +Oracle Open Office Base : vertical text boxes +Oracle Open Office Base : videos +Oracle Open Office Base : viewing +Oracle Open Office Base : viewing;databases +Oracle Open Office Base : viewing;file properties +Oracle Open Office Base : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Base : viewing;toolbars +Oracle Open Office Base : views +Oracle Open Office Base : views;creating database views (Base) +Oracle Open Office Base : views;defaults +Oracle Open Office Base : views;full screen +Oracle Open Office Base : views;icons +Oracle Open Office Base : views;scaling +Oracle Open Office Base : Visual Basic for Applications +Oracle Open Office Base : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Base : watermarks +Oracle Open Office Base : web documents +Oracle Open Office Base : web documents;XForms +Oracle Open Office Base : Web support +Oracle Open Office Base : WebCast export +Oracle Open Office Base : WebDAV over HTTPS +Oracle Open Office Base : windows +Oracle Open Office Base : windows;docking +Oracle Open Office Base : windows;docking definition +Oracle Open Office Base : windows;hiding/showing/docking +Oracle Open Office Base : windows;new +Oracle Open Office Base : wizards +Oracle Open Office Base : wizards;agendas +Oracle Open Office Base : wizards;database queries +Oracle Open Office Base : wizards;database tables (Base) +Oracle Open Office Base : wizards;databases (Base) +Oracle Open Office Base : wizards;document converter +Oracle Open Office Base : wizards;Euro Converter +Oracle Open Office Base : wizards;faxes +Oracle Open Office Base : wizards;forms +Oracle Open Office Base : wizards;letters +Oracle Open Office Base : wizards;macros (Base) +Oracle Open Office Base : wizards;overview +Oracle Open Office Base : wizards;presentations +Oracle Open Office Base : wizards;reports +Oracle Open Office Base : Word documents +Oracle Open Office Base : Word documents;compatibility +Oracle Open Office Base : Word documents;saving as +Oracle Open Office Base : WordArt, see Fontwork +Oracle Open Office Base : words +Oracle Open Office Base : words;automatically replacing +Oracle Open Office Base : words;wrapping in cells +Oracle Open Office Base : words;wrapping in CTL +Oracle Open Office Base : working directory change +Oracle Open Office Base : wrapping text +Oracle Open Office Base : wrapping text;in cells +Oracle Open Office Base : write protection on/off +Oracle Open Office Base : writing aids options +Oracle Open Office Base : WYSIWYG in fonts lists +Oracle Open Office Base : XForms +Oracle Open Office Base : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Base : XForms;conditions +Oracle Open Office Base : XForms;opening/editing +Oracle Open Office Base : XML converters +Oracle Open Office Base : XML file formats +Oracle Open Office Base : XML filters +Oracle Open Office Base : XML filters;creating/testing +Oracle Open Office Base : XML filters;saving as package/installing/deleting +Oracle Open Office Base : XML filters;settings +Oracle Open Office Base : XML Forms, see XForms +Oracle Open Office Base : XSLT filters, see also XML filters +Oracle Open Office Base : years +Oracle Open Office Base : years;2-digit options +Oracle Open Office Base : zero values +Oracle Open Office Base : zero values;displaying (Calc) +Oracle Open Office Base : zooming +Oracle Open Office Base : zooming;page views +Oracle Open Office Base : zooming;pictures +Oracle Open Office Base : zooming;status bar +Oracle Open Office Draw : 1/2 replacement +Oracle Open Office Draw : 3D charts +Oracle Open Office Draw : 3D objects +Oracle Open Office Draw : 3D objects;assembling +Oracle Open Office Draw : 3D objects;generating +Oracle Open Office Draw : 3D objects;inserting +Oracle Open Office Draw : 3D rotation objects +Oracle Open Office Draw : 3D rotation objects;converting to +Oracle Open Office Draw : 3D rotation objects;generating +Oracle Open Office Draw : 3D text creation +Oracle Open Office Draw : abbreviation replacement +Oracle Open Office Draw : absolute hyperlinks +Oracle Open Office Draw : absolute saving of URLs +Oracle Open Office Draw : accents +Oracle Open Office Draw : Access databases (base) +Oracle Open Office Draw : access rights for database tables (Base) +Oracle Open Office Draw : accessibility +Oracle Open Office Draw : accessibility;general shortcuts +Oracle Open Office Draw : accessibility;options +Oracle Open Office Draw : accessibility;Oracle Open Office assistive technology +Oracle Open Office Draw : accessibility;Oracle Open Office Draw +Oracle Open Office Draw : accessibility;Oracle Open Office features +Oracle Open Office Draw : accessibility;Oracle Open Office Impress +Oracle Open Office Draw : activating +Oracle Open Office Draw : activating;context menus +Oracle Open Office Draw : activating;Error Report Tool +Oracle Open Office Draw : activating;extended help tips +Oracle Open Office Draw : activating;plug-ins +Oracle Open Office Draw : ActiveX control +Oracle Open Office Draw : Adabas D databases (base) +Oracle Open Office Draw : add-ons, see UNO components +Oracle Open Office Draw : additional selection mode +Oracle Open Office Draw : address books +Oracle Open Office Draw : address books;LDAP server (Base) +Oracle Open Office Draw : address books;registering +Oracle Open Office Draw : address labels from databases +Oracle Open Office Draw : ADO databases (Base) +Oracle Open Office Draw : Agenda Wizard +Oracle Open Office Draw : aging filter +Oracle Open Office Draw : aligning +Oracle Open Office Draw : aligning;2D charts +Oracle Open Office Draw : aligning;cells +Oracle Open Office Draw : aligning;draw objects +Oracle Open Office Draw : aligning;objects +Oracle Open Office Draw : aligning;paragraphs +Oracle Open Office Draw : aligning;tables in text +Oracle Open Office Draw : aligning;text objects +Oracle Open Office Draw : aligning;titles in charts +Oracle Open Office Draw : allowing +Oracle Open Office Draw : allowing;effects +Oracle Open Office Draw : allowing;interaction +Oracle Open Office Draw : alternative fonts +Oracle Open Office Draw : ampersand symbol, see also operators +Oracle Open Office Draw : anchors +Oracle Open Office Draw : anchors;changing +Oracle Open Office Draw : anchors;displaying (Calc) +Oracle Open Office Draw : anchors;types/positions for draw objects +Oracle Open Office Draw : animated GIFs +Oracle Open Office Draw : animated slide transitions +Oracle Open Office Draw : animation effects +Oracle Open Office Draw : animations +Oracle Open Office Draw : animations;accessibility options +Oracle Open Office Draw : animations;editing +Oracle Open Office Draw : animations;list of +Oracle Open Office Draw : animations;saving as GIFs +Oracle Open Office Draw : appearance options +Oracle Open Office Draw : Arabic +Oracle Open Office Draw : Arabic;entering text +Oracle Open Office Draw : Arabic;language settings +Oracle Open Office Draw : area charts +Oracle Open Office Draw : areas +Oracle Open Office Draw : areas;bitmap patterns +Oracle Open Office Draw : areas;from connected lines +Oracle Open Office Draw : areas;hatched/dotted +Oracle Open Office Draw : areas;shadows +Oracle Open Office Draw : areas;slanting +Oracle Open Office Draw : areas;styles +Oracle Open Office Draw : areas;transparency +Oracle Open Office Draw : arguments in command line +Oracle Open Office Draw : arranging +Oracle Open Office Draw : arranging;objects +Oracle Open Office Draw : arranging;objects (guide) +Oracle Open Office Draw : arranging;slides +Oracle Open Office Draw : arrows +Oracle Open Office Draw : arrows;defining arrow heads +Oracle Open Office Draw : arrows;defining arrow lines +Oracle Open Office Draw : arrows;drawing in text +Oracle Open Office Draw : arrows;inserting +Oracle Open Office Draw : arrows;loading arrow styles +Oracle Open Office Draw : ASCII +Oracle Open Office Draw : ASCII;definition +Oracle Open Office Draw : Asian languages +Oracle Open Office Draw : Asian languages;enabling +Oracle Open Office Draw : Asian Phonetic Guide +Oracle Open Office Draw : Asian typography +Oracle Open Office Draw : assembled objects in 3D +Oracle Open Office Draw : assigning scripts +Oracle Open Office Draw : assistive technology in Oracle Open Office +Oracle Open Office Draw : attaching toolbars +Oracle Open Office Draw : attachments in e-mails +Oracle Open Office Draw : attributes +Oracle Open Office Draw : attributes;objects with +Oracle Open Office Draw : audio +Oracle Open Office Draw : authors +Oracle Open Office Draw : auto reloading HTML documents +Oracle Open Office Draw : AutoAbstract function for sending text to presentations +Oracle Open Office Draw : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Draw : AutoComplete function in text and list boxes +Oracle Open Office Draw : AutoCorrect function +Oracle Open Office Draw : AutoCorrect function;context menu +Oracle Open Office Draw : AutoCorrect function;options +Oracle Open Office Draw : AutoCorrect function;pictures and frames +Oracle Open Office Draw : AutoCorrect function;quotes +Oracle Open Office Draw : AutoCorrect function;replacement table +Oracle Open Office Draw : AutoCorrect function;switching on and off in Calc +Oracle Open Office Draw : AutoCorrect function;URL recognition +Oracle Open Office Draw : AutoFormat function +Oracle Open Office Draw : AutoFormat function;switching on and off +Oracle Open Office Draw : automatic captions (Writer) +Oracle Open Office Draw : automatic control focus +Oracle Open Office Draw : automatic hyperlink formatting +Oracle Open Office Draw : automatic line breaks +Oracle Open Office Draw : automatic lines/borders in text +Oracle Open Office Draw : automatic saving +Oracle Open Office Draw : automatic slide changes +Oracle Open Office Draw : automatic slide changes;rehearse timings +Oracle Open Office Draw : automatic slide shows +Oracle Open Office Draw : automatic slide transition +Oracle Open Office Draw : AutoPilots, see wizards +Oracle Open Office Draw : AutoValue (Base) +Oracle Open Office Draw : averages in charts +Oracle Open Office Draw : axes +Oracle Open Office Draw : axes;better scaling +Oracle Open Office Draw : axes;formatting +Oracle Open Office Draw : axes;formatting grids +Oracle Open Office Draw : axes;inserting grids +Oracle Open Office Draw : axes;interval marks +Oracle Open Office Draw : axes;showing axes in charts +Oracle Open Office Draw : axes in charts +Oracle Open Office Draw : backgrounds +Oracle Open Office Draw : backgrounds;changing +Oracle Open Office Draw : backgrounds;defining colors/pictures +Oracle Open Office Draw : backgrounds;deleting unused +Oracle Open Office Draw : backgrounds;frames/sections/indexes +Oracle Open Office Draw : backgrounds;inserting from Gallery +Oracle Open Office Draw : backgrounds;normal view +Oracle Open Office Draw : backgrounds;notes +Oracle Open Office Draw : backgrounds;printing +Oracle Open Office Draw : backgrounds;slides +Oracle Open Office Draw : backing window +Oracle Open Office Draw : backups +Oracle Open Office Draw : backups;automatic +Oracle Open Office Draw : backups;documents +Oracle Open Office Draw : bar charts +Oracle Open Office Draw : Basic +Oracle Open Office Draw : Basic;fonts for source display +Oracle Open Office Draw : Basic;programming +Oracle Open Office Draw : Basic;recording macros +Oracle Open Office Draw : basic fonts +Oracle Open Office Draw : behind object command +Oracle Open Office Draw : Bézier curves +Oracle Open Office Draw : Bézier curves;control points in presentations +Oracle Open Office Draw : bi-directional writing +Oracle Open Office Draw : binding space +Oracle Open Office Draw : bitmaps +Oracle Open Office Draw : bitmaps;converting to +Oracle Open Office Draw : bitmaps;converting to vector graphics +Oracle Open Office Draw : bitmaps;inserting and editing +Oracle Open Office Draw : bitmaps;off for faster printing +Oracle Open Office Draw : bitmaps;patterns +Oracle Open Office Draw : bitmaps;replacing colors +Oracle Open Office Draw : black and white display +Oracle Open Office Draw : black and white printing +Oracle Open Office Draw : black and white view +Oracle Open Office Draw : black printing in Calc +Oracle Open Office Draw : block selection mode +Oracle Open Office Draw : bold +Oracle Open Office Draw : bold;AutoFormat function +Oracle Open Office Draw : bold;text +Oracle Open Office Draw : bookmarks +Oracle Open Office Draw : bookmarks;Help +Oracle Open Office Draw : borders +Oracle Open Office Draw : borders;arranging +Oracle Open Office Draw : borders;cells on screen (Calc) +Oracle Open Office Draw : borders;for paragraphs +Oracle Open Office Draw : borders;for tables +Oracle Open Office Draw : borders;shadows +Oracle Open Office Draw : borders;table boundaries (Writer) +Oracle Open Office Draw : borders, see also frames +Oracle Open Office Draw : bound fields +Oracle Open Office Draw : bound fields;controls +Oracle Open Office Draw : boundaries of tables (Writer) +Oracle Open Office Draw : break display (Writer) +Oracle Open Office Draw : breaking object connections +Oracle Open Office Draw : brochures +Oracle Open Office Draw : brochures;printing several +Oracle Open Office Draw : bubble charts +Oracle Open Office Draw : build numbers of Oracle Open Office +Oracle Open Office Draw : bullet lists +Oracle Open Office Draw : bullet lists;formatting options +Oracle Open Office Draw : bullets +Oracle Open Office Draw : bullets;paragraphs +Oracle Open Office Draw : bullets;replacing +Oracle Open Office Draw : bullets;turning off +Oracle Open Office Draw : business cards +Oracle Open Office Draw : business cards;creating and synchronizing +Oracle Open Office Draw : business cards;using templates +Oracle Open Office Draw : button bars, see toolbars +Oracle Open Office Draw : buttons +Oracle Open Office Draw : buttons;adding push buttons +Oracle Open Office Draw : buttons;big/small +Oracle Open Office Draw : buttons;editing hyperlink buttons +Oracle Open Office Draw : buttons;form functions +Oracle Open Office Draw : buttons;toolbars +Oracle Open Office Draw : cache for graphics +Oracle Open Office Draw : calculating +Oracle Open Office Draw : calculating;iterative references (Calc) +Oracle Open Office Draw : calculating;regression curves +Oracle Open Office Draw : callouts +Oracle Open Office Draw : callouts;drawings +Oracle Open Office Draw : callouts;inserting in presentations +Oracle Open Office Draw : capital letters +Oracle Open Office Draw : capital letters;AutoCorrect function +Oracle Open Office Draw : capital letters;font effects +Oracle Open Office Draw : captions +Oracle Open Office Draw : captions;automatic captions (Writer) +Oracle Open Office Draw : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Draw : captions, see also labels/callouts +Oracle Open Office Draw : cascading update (Base) +Oracle Open Office Draw : case sensitivity +Oracle Open Office Draw : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Draw : case sensitivity;searching +Oracle Open Office Draw : cells +Oracle Open Office Draw : cells;aligning +Oracle Open Office Draw : cells;coloring (Calc) +Oracle Open Office Draw : cells;cursor positions after input (Calc) +Oracle Open Office Draw : cells;formatting without effect (Calc) +Oracle Open Office Draw : cells;line breaks +Oracle Open Office Draw : cells;linked to controls +Oracle Open Office Draw : cells;number of +Oracle Open Office Draw : cells;pasting +Oracle Open Office Draw : cells;resetting formats +Oracle Open Office Draw : cells;showing grid lines (Calc) +Oracle Open Office Draw : centered text +Oracle Open Office Draw : centimeters +Oracle Open Office Draw : certificates +Oracle Open Office Draw : changes +Oracle Open Office Draw : changes;accepting or rejecting +Oracle Open Office Draw : changes;comparing to original +Oracle Open Office Draw : changes;protecting +Oracle Open Office Draw : changes;recording +Oracle Open Office Draw : changes;review function +Oracle Open Office Draw : changes;showing +Oracle Open Office Draw : changing +Oracle Open Office Draw : changing;document titles +Oracle Open Office Draw : changing;file associations in Setup program +Oracle Open Office Draw : changing;icon sizes +Oracle Open Office Draw : changing;layer properties +Oracle Open Office Draw : changing;layout for handouts +Oracle Open Office Draw : changing;links +Oracle Open Office Draw : changing;order of slides +Oracle Open Office Draw : changing;slide layouts +Oracle Open Office Draw : changing;work directory +Oracle Open Office Draw : changing, see also editing and replacing +Oracle Open Office Draw : character styles +Oracle Open Office Draw : character styles;language selection +Oracle Open Office Draw : characters +Oracle Open Office Draw : characters;alternative fonts +Oracle Open Office Draw : characters;Asian layout +Oracle Open Office Draw : characters;bold +Oracle Open Office Draw : characters;coloring +Oracle Open Office Draw : characters;converting to curves +Oracle Open Office Draw : characters;displaying only on screen (Writer) +Oracle Open Office Draw : characters;enabling CTL and Asian characters +Oracle Open Office Draw : characters;font effects +Oracle Open Office Draw : characters;fonts and formats +Oracle Open Office Draw : characters;hyperlinks +Oracle Open Office Draw : characters;italics +Oracle Open Office Draw : characters;language selection +Oracle Open Office Draw : characters;shadowed +Oracle Open Office Draw : characters;spacing +Oracle Open Office Draw : characters;special +Oracle Open Office Draw : characters;underlining +Oracle Open Office Draw : charcoal sketches filter +Oracle Open Office Draw : chart legends +Oracle Open Office Draw : chart legends;hiding +Oracle Open Office Draw : chart legends;showing icons with labels +Oracle Open Office Draw : chart types +Oracle Open Office Draw : chart types;area +Oracle Open Office Draw : chart types;bubble +Oracle Open Office Draw : chart types;column and bar +Oracle Open Office Draw : chart types;column and line +Oracle Open Office Draw : chart types;line +Oracle Open Office Draw : chart types;net +Oracle Open Office Draw : chart types;pie/donut +Oracle Open Office Draw : chart types;stock +Oracle Open Office Draw : chart types;XY (scatter) +Oracle Open Office Draw : charts +Oracle Open Office Draw : charts;3D views +Oracle Open Office Draw : charts;aligning +Oracle Open Office Draw : charts;arranging within stacks +Oracle Open Office Draw : charts;bars with textures +Oracle Open Office Draw : charts;choosing chart types +Oracle Open Office Draw : charts;colors +Oracle Open Office Draw : charts;copying with link to source cell range +Oracle Open Office Draw : charts;data labels +Oracle Open Office Draw : charts;displaying (Calc) +Oracle Open Office Draw : charts;editing axes +Oracle Open Office Draw : charts;editing data +Oracle Open Office Draw : charts;editing legends +Oracle Open Office Draw : charts;editing titles +Oracle Open Office Draw : charts;formatting areas +Oracle Open Office Draw : charts;formatting floors +Oracle Open Office Draw : charts;formatting walls +Oracle Open Office Draw : charts;inserting +Oracle Open Office Draw : charts;overview +Oracle Open Office Draw : charts;positioning axes +Oracle Open Office Draw : charts;properties +Oracle Open Office Draw : charts;reorganizing +Oracle Open Office Draw : charts;scaling axes +Oracle Open Office Draw : charts;scaling text +Oracle Open Office Draw : charts;shortcuts +Oracle Open Office Draw : charts;showing axes +Oracle Open Office Draw : charts;updating automatically (Writer) +Oracle Open Office Draw : check box creation +Oracle Open Office Draw : Chinese writing systems +Oracle Open Office Draw : choosing printers +Oracle Open Office Draw : circle drawings +Oracle Open Office Draw : circle segments +Oracle Open Office Draw : circles +Oracle Open Office Draw : circles;of objects +Oracle Open Office Draw : Client Side ImageMap +Oracle Open Office Draw : clipboard +Oracle Open Office Draw : clipboard;cutting +Oracle Open Office Draw : clipboard;pasting +Oracle Open Office Draw : clipboard;pasting formatted/unformatted text +Oracle Open Office Draw : clipboard;selection clipboard +Oracle Open Office Draw : clipboard;Unix +Oracle Open Office Draw : closing +Oracle Open Office Draw : closing;documents +Oracle Open Office Draw : closing;shapes +Oracle Open Office Draw : closing;toolbars +Oracle Open Office Draw : collaboration +Oracle Open Office Draw : color bar +Oracle Open Office Draw : colors +Oracle Open Office Draw : colors;adding +Oracle Open Office Draw : colors;appearance +Oracle Open Office Draw : colors;backgrounds +Oracle Open Office Draw : colors;charts +Oracle Open Office Draw : colors;default colors +Oracle Open Office Draw : colors;defining and saving +Oracle Open Office Draw : colors;defining gradients interactively +Oracle Open Office Draw : colors;displaying presentations +Oracle Open Office Draw : colors;fill format +Oracle Open Office Draw : colors;fonts +Oracle Open Office Draw : colors;grid lines and cells (Calc) +Oracle Open Office Draw : colors;loading lists +Oracle Open Office Draw : colors;models +Oracle Open Office Draw : colors;not printing +Oracle Open Office Draw : colors;printing in grayscale +Oracle Open Office Draw : colors;replacing +Oracle Open Office Draw : colors;restriction (Calc) +Oracle Open Office Draw : colors;selection +Oracle Open Office Draw : column and line charts +Oracle Open Office Draw : column charts +Oracle Open Office Draw : column headers +Oracle Open Office Draw : column headers;displaying (Calc) +Oracle Open Office Draw : column headers;highlighting (Calc) +Oracle Open Office Draw : columns +Oracle Open Office Draw : columns;inserting +Oracle Open Office Draw : columns;setting with the mouse +Oracle Open Office Draw : combination charts +Oracle Open Office Draw : combining +Oracle Open Office Draw : combining;3D objects +Oracle Open Office Draw : combining;draw objects +Oracle Open Office Draw : combining;undoing +Oracle Open Office Draw : combo box creation +Oracle Open Office Draw : command button creation +Oracle Open Office Draw : command buttons, see push buttons +Oracle Open Office Draw : command line parameters +Oracle Open Office Draw : commands +Oracle Open Office Draw : commands;repeating +Oracle Open Office Draw : commands;SQL +Oracle Open Office Draw : comments +Oracle Open Office Draw : comments;displaying (Calc) +Oracle Open Office Draw : comments;inserting/editing/deleting/printing +Oracle Open Office Draw : comments;on changes +Oracle Open Office Draw : comments;printing in text +Oracle Open Office Draw : common terms +Oracle Open Office Draw : common terms;Chinese dictionary +Oracle Open Office Draw : common terms;glossaries +Oracle Open Office Draw : common terms;Internet glossary +Oracle Open Office Draw : comparisons +Oracle Open Office Draw : comparisons;document versions +Oracle Open Office Draw : comparisons;operators in default filter dialog +Oracle Open Office Draw : compatibility settings for MS Word import +Oracle Open Office Draw : complete screen view +Oracle Open Office Draw : complex text layout +Oracle Open Office Draw : complex text layout;definition +Oracle Open Office Draw : complex text layout;enabling +Oracle Open Office Draw : complex text layout, see CTL +Oracle Open Office Draw : compose key to insert special characters +Oracle Open Office Draw : concatenation, see ampersand symbol +Oracle Open Office Draw : conditional separators +Oracle Open Office Draw : conditions +Oracle Open Office Draw : conditions;in number formats +Oracle Open Office Draw : conditions;items in Data Navigator +Oracle Open Office Draw : cones +Oracle Open Office Draw : Configuration Manager +Oracle Open Office Draw : configuring +Oracle Open Office Draw : configuring;fax icon +Oracle Open Office Draw : configuring;Oracle Open Office +Oracle Open Office Draw : configuring;toolbars +Oracle Open Office Draw : connecting +Oracle Open Office Draw : connecting;draw objects +Oracle Open Office Draw : connecting;lines +Oracle Open Office Draw : connecting;paths and objects +Oracle Open Office Draw : connections to data sources (Base) +Oracle Open Office Draw : connectors +Oracle Open Office Draw : connectors;properties of +Oracle Open Office Draw : connectors;using +Oracle Open Office Draw : constructing shapes +Oracle Open Office Draw : contents protection +Oracle Open Office Draw : context menus +Oracle Open Office Draw : contours +Oracle Open Office Draw : contours;converting to +Oracle Open Office Draw : control point display in presentations +Oracle Open Office Draw : control points definition +Oracle Open Office Draw : controls +Oracle Open Office Draw : controls;activating in forms +Oracle Open Office Draw : controls;adding to documents +Oracle Open Office Draw : controls;arranging in forms +Oracle Open Office Draw : controls;arranging within stacks +Oracle Open Office Draw : controls;assigning data sources +Oracle Open Office Draw : controls;assigning macros (Basic) +Oracle Open Office Draw : controls;bound fields/list contents/linked cells +Oracle Open Office Draw : controls;events +Oracle Open Office Draw : controls;focus +Oracle Open Office Draw : controls;formatted fields +Oracle Open Office Draw : controls;grouping +Oracle Open Office Draw : controls;hidden +Oracle Open Office Draw : controls;inserting +Oracle Open Office Draw : controls;multi-line titles +Oracle Open Office Draw : controls;positions and sizes +Oracle Open Office Draw : controls;printing +Oracle Open Office Draw : controls;properties of form controls +Oracle Open Office Draw : controls;properties of table controls +Oracle Open Office Draw : controls;reference by SQL +Oracle Open Office Draw : controls;rich text control +Oracle Open Office Draw : controls;select mode +Oracle Open Office Draw : controls;showing (Writer) +Oracle Open Office Draw : converters +Oracle Open Office Draw : converters;Euro converter +Oracle Open Office Draw : converters;PostScript, UNIX +Oracle Open Office Draw : converters;XML +Oracle Open Office Draw : converting +Oracle Open Office Draw : converting;bitmaps to polygons +Oracle Open Office Draw : converting;Hangul/Hanja +Oracle Open Office Draw : converting;metrics +Oracle Open Office Draw : converting;Microsoft documents +Oracle Open Office Draw : converting;Oracle Open Office documents +Oracle Open Office Draw : converting;Pocket PC formats +Oracle Open Office Draw : converting;points +Oracle Open Office Draw : converting;text to curves +Oracle Open Office Draw : converting;to bitmaps +Oracle Open Office Draw : converting;to contours +Oracle Open Office Draw : converting;to curves, polygons, 3D +Oracle Open Office Draw : converting;to metafile format (WMF) +Oracle Open Office Draw : copies +Oracle Open Office Draw : copies;printing +Oracle Open Office Draw : copying +Oracle Open Office Draw : copying;by drag and drop +Oracle Open Office Draw : copying;data from text documents +Oracle Open Office Draw : copying;datasource records in spreadsheets +Oracle Open Office Draw : copying;draw objects +Oracle Open Office Draw : copying;draw objects between documents +Oracle Open Office Draw : copying;formatting +Oracle Open Office Draw : copying;from data source view +Oracle Open Office Draw : copying;from Gallery +Oracle Open Office Draw : copying;in Unix +Oracle Open Office Draw : copying;pictures, between documents +Oracle Open Office Draw : copying;sheet areas, to text documents +Oracle Open Office Draw : copying;slides +Oracle Open Office Draw : copying;text from other documents +Oracle Open Office Draw : copying;to Gallery +Oracle Open Office Draw : copyright for Oracle Open Office +Oracle Open Office Draw : corner points +Oracle Open Office Draw : corner roundings +Oracle Open Office Draw : covered objects +Oracle Open Office Draw : crash reports +Oracle Open Office Draw : criteria of query design (Base) +Oracle Open Office Draw : cropping pictures +Oracle Open Office Draw : cross-fading +Oracle Open Office Draw : cross-fading;creating cross-fades +Oracle Open Office Draw : cross-fading;slides +Oracle Open Office Draw : cross-fading;two draw objects +Oracle Open Office Draw : CTL +Oracle Open Office Draw : CTL;(not) wrapping words +Oracle Open Office Draw : CTL;complex text layout languages +Oracle Open Office Draw : CTL;definition +Oracle Open Office Draw : CTL;options +Oracle Open Office Draw : cubes +Oracle Open Office Draw : currencies +Oracle Open Office Draw : currencies;converters +Oracle Open Office Draw : currencies;format codes +Oracle Open Office Draw : currency field creation +Oracle Open Office Draw : currency formats +Oracle Open Office Draw : cursor +Oracle Open Office Draw : cursor;allowing in protected areas (Writer) +Oracle Open Office Draw : cursor;in read-only text +Oracle Open Office Draw : cursor;quickly moving to an object +Oracle Open Office Draw : curves +Oracle Open Office Draw : curves;converting text to +Oracle Open Office Draw : curves;drawing +Oracle Open Office Draw : curves;editing +Oracle Open Office Draw : curves;editing points +Oracle Open Office Draw : curves;properties in line charts/XY charts +Oracle Open Office Draw : curves;toolbar +Oracle Open Office Draw : custom animation +Oracle Open Office Draw : custom colors +Oracle Open Office Draw : custom dictionaries +Oracle Open Office Draw : custom dictionaries;editing +Oracle Open Office Draw : custom gradients +Oracle Open Office Draw : custom hyphens (Writer) +Oracle Open Office Draw : custom quotes +Oracle Open Office Draw : custom slide shows +Oracle Open Office Draw : custom templates +Oracle Open Office Draw : customizing +Oracle Open Office Draw : customizing;events +Oracle Open Office Draw : customizing;keyboard +Oracle Open Office Draw : customizing;menus +Oracle Open Office Draw : customizing;Oracle Open Office +Oracle Open Office Draw : customizing;round corners +Oracle Open Office Draw : customizing;toolbars +Oracle Open Office Draw : cutting +Oracle Open Office Draw : cylinders +Oracle Open Office Draw : dashes +Oracle Open Office Draw : data +Oracle Open Office Draw : data;filtering in forms +Oracle Open Office Draw : data;forms and subforms +Oracle Open Office Draw : data;read-only +Oracle Open Office Draw : data;sorting in forms +Oracle Open Office Draw : data;user data +Oracle Open Office Draw : data binding change in XForms +Oracle Open Office Draw : data labels in charts +Oracle Open Office Draw : Data Navigator +Oracle Open Office Draw : Data Navigator;adding/editing items +Oracle Open Office Draw : Data Navigator;display options +Oracle Open Office Draw : data ranges in charts +Oracle Open Office Draw : data series +Oracle Open Office Draw : data source browser +Oracle Open Office Draw : data source explorer +Oracle Open Office Draw : data source view +Oracle Open Office Draw : data source view;drag and drop +Oracle Open Office Draw : data source view;overview +Oracle Open Office Draw : data source view;showing +Oracle Open Office Draw : data sources +Oracle Open Office Draw : data sources;as tables +Oracle Open Office Draw : data sources;connection settings (Base) +Oracle Open Office Draw : data sources;copying records to spreadsheets +Oracle Open Office Draw : data sources;displaying current +Oracle Open Office Draw : data sources;LDAP server (Base) +Oracle Open Office Draw : data sources;Oracle Open Office Base +Oracle Open Office Draw : data sources;registering address books +Oracle Open Office Draw : data sources;reports +Oracle Open Office Draw : data sources;setting for stock charts +Oracle Open Office Draw : data sources;viewing +Oracle Open Office Draw : data structure of XForms +Oracle Open Office Draw : data values in charts +Oracle Open Office Draw : data, see also values +Oracle Open Office Draw : database contents +Oracle Open Office Draw : database contents;inserting as tables +Oracle Open Office Draw : database contents;inserting as text +Oracle Open Office Draw : database reports +Oracle Open Office Draw : Database Wizard (Base) +Oracle Open Office Draw : databases +Oracle Open Office Draw : databases;administration through SQL (Base) +Oracle Open Office Draw : databases;ADO (Base) +Oracle Open Office Draw : databases;connecting (Base) +Oracle Open Office Draw : databases;creating +Oracle Open Office Draw : databases;creating labels +Oracle Open Office Draw : databases;creating queries +Oracle Open Office Draw : databases;creating reports +Oracle Open Office Draw : databases;creating tables +Oracle Open Office Draw : databases;deleting (Base) +Oracle Open Office Draw : databases;drag and drop (Base) +Oracle Open Office Draw : databases;editing tables +Oracle Open Office Draw : databases;form filters +Oracle Open Office Draw : databases;formats (Base) +Oracle Open Office Draw : databases;importing/exporting +Oracle Open Office Draw : databases;JDBC (Base) +Oracle Open Office Draw : databases;main page (Base) +Oracle Open Office Draw : databases;ODBC (Base) +Oracle Open Office Draw : databases;overview +Oracle Open Office Draw : databases;registering (Base) +Oracle Open Office Draw : databases;searching records +Oracle Open Office Draw : databases;shortcut keys +Oracle Open Office Draw : databases;sorting +Oracle Open Office Draw : databases;standard filters +Oracle Open Office Draw : databases;text formats +Oracle Open Office Draw : databases;viewing +Oracle Open Office Draw : date fields +Oracle Open Office Draw : date fields;creating +Oracle Open Office Draw : date fields;properties +Oracle Open Office Draw : date formats +Oracle Open Office Draw : date on all slides +Oracle Open Office Draw : dates +Oracle Open Office Draw : dates;default (Calc) +Oracle Open Office Draw : dates;fixed +Oracle Open Office Draw : dates;printing in presentations +Oracle Open Office Draw : dates;start 1900/01/01 (Calc) +Oracle Open Office Draw : dates;start 1904/01/01 (Calc) +Oracle Open Office Draw : dates;variable +Oracle Open Office Draw : dBASE +Oracle Open Office Draw : dBASE;database settings (Base) +Oracle Open Office Draw : DDE +Oracle Open Office Draw : DDE;definition +Oracle Open Office Draw : deactivating +Oracle Open Office Draw : deactivating;plug-ins +Oracle Open Office Draw : decimal places displayed (Calc) +Oracle Open Office Draw : decimal separator key +Oracle Open Office Draw : decimal tab stops +Oracle Open Office Draw : decreasing sizes of views +Oracle Open Office Draw : default directories +Oracle Open Office Draw : default filters +Oracle Open Office Draw : default filters;comparison operators +Oracle Open Office Draw : default filters;databases +Oracle Open Office Draw : default printer +Oracle Open Office Draw : default printer;setting up +Oracle Open Office Draw : default printer;UNIX +Oracle Open Office Draw : default templates +Oracle Open Office Draw : default templates;changing +Oracle Open Office Draw : default templates;organizing +Oracle Open Office Draw : defaults +Oracle Open Office Draw : defaults;documents +Oracle Open Office Draw : defaults;file formats in file dialogs +Oracle Open Office Draw : defaults;file formats in Oracle Open Office +Oracle Open Office Draw : defaults;fonts +Oracle Open Office Draw : defaults;grids (Writer/Calc) +Oracle Open Office Draw : defaults;languages +Oracle Open Office Draw : defaults;number formats +Oracle Open Office Draw : defaults;of saving +Oracle Open Office Draw : defaults;program configuration +Oracle Open Office Draw : defaults;tab stops in text +Oracle Open Office Draw : defaults;views +Oracle Open Office Draw : defining +Oracle Open Office Draw : defining;arrowheads and other line ends +Oracle Open Office Draw : defining;colors +Oracle Open Office Draw : defining;gradients +Oracle Open Office Draw : defining;line styles +Oracle Open Office Draw : defining;paragraph borders +Oracle Open Office Draw : defining;queries (Base) +Oracle Open Office Draw : defining;table borders +Oracle Open Office Draw : deleting +Oracle Open Office Draw : deleting;all direct formatting +Oracle Open Office Draw : deleting;animation effects +Oracle Open Office Draw : deleting;comments +Oracle Open Office Draw : deleting;databases (Base) +Oracle Open Office Draw : deleting;hyperlinks +Oracle Open Office Draw : deleting;layers +Oracle Open Office Draw : deleting;lines in text +Oracle Open Office Draw : deleting;models/instances +Oracle Open Office Draw : deleting;namespaces in XForms +Oracle Open Office Draw : deleting;points +Oracle Open Office Draw : deleting;slide transition effects +Oracle Open Office Draw : deleting;slides +Oracle Open Office Draw : deleting;tab stops +Oracle Open Office Draw : deleting;templates +Oracle Open Office Draw : deleting;XML filters +Oracle Open Office Draw : depth stagger +Oracle Open Office Draw : descriptions for objects +Oracle Open Office Draw : design mode after saving +Oracle Open Office Draw : design view +Oracle Open Office Draw : design view;creating forms +Oracle Open Office Draw : design view;queries/views (Base) +Oracle Open Office Draw : designing +Oracle Open Office Draw : designing;database tables +Oracle Open Office Draw : designing;fonts +Oracle Open Office Draw : designing;queries (Base) +Oracle Open Office Draw : detaching toolbars +Oracle Open Office Draw : dictionaries +Oracle Open Office Draw : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Draw : dictionaries;creating +Oracle Open Office Draw : dictionaries;editing user-defined +Oracle Open Office Draw : dictionaries;spellcheck +Oracle Open Office Draw : dictionaries, see also languages +Oracle Open Office Draw : digital signatures +Oracle Open Office Draw : digital signatures;getting/managing/applying +Oracle Open Office Draw : digital signatures;overview +Oracle Open Office Draw : digital signatures;WebDAV over HTTPS +Oracle Open Office Draw : dimension lines +Oracle Open Office Draw : dimension lines;drawing +Oracle Open Office Draw : dimension lines;properties of +Oracle Open Office Draw : direct formatting +Oracle Open Office Draw : direct formatting;undoing all +Oracle Open Office Draw : directories +Oracle Open Office Draw : directories;creating new +Oracle Open Office Draw : directories;directory structure +Oracle Open Office Draw : disabled persons +Oracle Open Office Draw : display qualities of presentations +Oracle Open Office Draw : displaying +Oracle Open Office Draw : displaying;comments (Calc) +Oracle Open Office Draw : displaying;comments in text documents +Oracle Open Office Draw : displaying;non-printing characters (Writer) +Oracle Open Office Draw : displaying;pictures and objects (Writer) +Oracle Open Office Draw : displaying;tables (Writer) +Oracle Open Office Draw : displaying;zero values (Calc) +Oracle Open Office Draw : distances +Oracle Open Office Draw : distinct values in SQL queries +Oracle Open Office Draw : distorting in drawings +Oracle Open Office Draw : distorting objects +Oracle Open Office Draw : distributing draw objects +Oracle Open Office Draw : distributing XML filters +Oracle Open Office Draw : docking +Oracle Open Office Draw : docking;definition +Oracle Open Office Draw : docking;toolbars +Oracle Open Office Draw : docking;windows +Oracle Open Office Draw : Document Converter Wizard +Oracle Open Office Draw : Document Map, see Navigator +Oracle Open Office Draw : document types in Oracle Open Office +Oracle Open Office Draw : documents +Oracle Open Office Draw : documents;changing titles +Oracle Open Office Draw : documents;closing +Oracle Open Office Draw : documents;comparing +Oracle Open Office Draw : documents;contents as lists +Oracle Open Office Draw : documents;editing time +Oracle Open Office Draw : documents;exporting +Oracle Open Office Draw : documents;importing +Oracle Open Office Draw : documents;languages +Oracle Open Office Draw : documents;measurement units in +Oracle Open Office Draw : documents;merging +Oracle Open Office Draw : documents;number of pages/tables/sheets +Oracle Open Office Draw : documents;opening +Oracle Open Office Draw : documents;opening in design mode +Oracle Open Office Draw : documents;opening with templates +Oracle Open Office Draw : documents;organizing +Oracle Open Office Draw : documents;printing +Oracle Open Office Draw : documents;read-only +Oracle Open Office Draw : documents;reloading +Oracle Open Office Draw : documents;saving +Oracle Open Office Draw : documents;saving automatically +Oracle Open Office Draw : documents;saving in other formats +Oracle Open Office Draw : documents;sending as e-mail +Oracle Open Office Draw : documents;styles changed +Oracle Open Office Draw : documents;version management +Oracle Open Office Draw : documents;version numbers +Oracle Open Office Draw : donut charts +Oracle Open Office Draw : dotted areas +Oracle Open Office Draw : double-line spacing in paragraphs +Oracle Open Office Draw : double-line writing in Asian layout +Oracle Open Office Draw : doubling draw objects +Oracle Open Office Draw : drag and drop +Oracle Open Office Draw : drag and drop;copying and pasting text +Oracle Open Office Draw : drag and drop;data source view +Oracle Open Office Draw : drag and drop;from Gallery to draw objects +Oracle Open Office Draw : drag and drop;overview +Oracle Open Office Draw : drag and drop;pictures +Oracle Open Office Draw : drag and drop;to Gallery +Oracle Open Office Draw : Draw instructions +Oracle Open Office Draw : draw objects +Oracle Open Office Draw : draw objects;adding/editing/copying +Oracle Open Office Draw : draw objects;anchoring +Oracle Open Office Draw : draw objects;arranging within stacks +Oracle Open Office Draw : draw objects;combining +Oracle Open Office Draw : draw objects;connecting lines to +Oracle Open Office Draw : draw objects;converting text to +Oracle Open Office Draw : draw objects;copying between documents +Oracle Open Office Draw : draw objects;cross-fading two objects +Oracle Open Office Draw : draw objects;displaying (Calc) +Oracle Open Office Draw : draw objects;dropping Gallery pictures +Oracle Open Office Draw : draw objects;duplicating +Oracle Open Office Draw : draw objects;flipping +Oracle Open Office Draw : draw objects;grouping +Oracle Open Office Draw : draw objects;legends +Oracle Open Office Draw : draw objects;positioning and resizing +Oracle Open Office Draw : draw objects;protecting +Oracle Open Office Draw : draw objects;rotating +Oracle Open Office Draw : draw objects;slanting +Oracle Open Office Draw : draw objects;text entry mode +Oracle Open Office Draw : draw objects;text in +Oracle Open Office Draw : drawing +Oracle Open Office Draw : drawing;3D objects +Oracle Open Office Draw : drawing;freeform lines +Oracle Open Office Draw : drawing;lines +Oracle Open Office Draw : drawing;sectors and segments +Oracle Open Office Draw : Drawing bar +Oracle Open Office Draw : drawing lines in text +Oracle Open Office Draw : drawings +Oracle Open Office Draw : drawings;creating/opening +Oracle Open Office Draw : drawings;languages +Oracle Open Office Draw : drawings;printing +Oracle Open Office Draw : drawings;printing defaults +Oracle Open Office Draw : drawings;printing in text documents +Oracle Open Office Draw : drawings;saving +Oracle Open Office Draw : drawings;saving automatically +Oracle Open Office Draw : drawings;saving in other formats +Oracle Open Office Draw : drawings;sending as e-mail +Oracle Open Office Draw : drawings;shortcut keys +Oracle Open Office Draw : drawings;showing (Writer) +Oracle Open Office Draw : drawings;zoom function in +Oracle Open Office Draw : drawings, see also draw objects +Oracle Open Office Draw : drop-down lists in form functions +Oracle Open Office Draw : duplicating draw objects +Oracle Open Office Draw : e-mail attachments +Oracle Open Office Draw : Edit File icon +Oracle Open Office Draw : edit mode +Oracle Open Office Draw : edit mode;after opening +Oracle Open Office Draw : edit mode;through Enter key (Calc) +Oracle Open Office Draw : Edit Points bar +Oracle Open Office Draw : editing +Oracle Open Office Draw : editing;chart axes +Oracle Open Office Draw : editing;chart data +Oracle Open Office Draw : editing;chart legends +Oracle Open Office Draw : editing;chart titles +Oracle Open Office Draw : editing;comments +Oracle Open Office Draw : editing;curves +Oracle Open Office Draw : editing;data binding of XForms +Oracle Open Office Draw : editing;database tables and queries +Oracle Open Office Draw : editing;draw objects +Oracle Open Office Draw : editing;fields +Oracle Open Office Draw : editing;Fontwork objects +Oracle Open Office Draw : editing;gradients +Oracle Open Office Draw : editing;guides and snap points +Oracle Open Office Draw : editing;hyperlinks +Oracle Open Office Draw : editing;menus +Oracle Open Office Draw : editing;objects +Oracle Open Office Draw : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Draw : editing;pictures +Oracle Open Office Draw : editing;reports +Oracle Open Office Draw : editing;shortcut keys +Oracle Open Office Draw : editing;slide titles +Oracle Open Office Draw : editing;tab stops +Oracle Open Office Draw : editing;templates +Oracle Open Office Draw : editing;titles +Oracle Open Office Draw : editing;toolbars +Oracle Open Office Draw : editing;undoing +Oracle Open Office Draw : editing;XForms +Oracle Open Office Draw : editing time of documents +Oracle Open Office Draw : editors +Oracle Open Office Draw : editors;formula editor +Oracle Open Office Draw : editors;ImageMap editor +Oracle Open Office Draw : effects +Oracle Open Office Draw : effects;animated slide transitions +Oracle Open Office Draw : effects;applying to/removing from objects +Oracle Open Office Draw : effects;font positions +Oracle Open Office Draw : effects;fonts +Oracle Open Office Draw : effects;Fontwork icons +Oracle Open Office Draw : effects;preview +Oracle Open Office Draw : effects;sounds +Oracle Open Office Draw : ellipses +Oracle Open Office Draw : ellipses;segments +Oracle Open Office Draw : ellipses;toolbars +Oracle Open Office Draw : empty documents +Oracle Open Office Draw : empty paragraph removal +Oracle Open Office Draw : encryption of contents +Oracle Open Office Draw : entering groups +Oracle Open Office Draw : entering text from right to left +Oracle Open Office Draw : equal sign, see also operators +Oracle Open Office Draw : equations in formula editor +Oracle Open Office Draw : error bars in charts +Oracle Open Office Draw : error indicators in charts +Oracle Open Office Draw : Error Report Tool +Oracle Open Office Draw : Euro +Oracle Open Office Draw : Euro;currency formats +Oracle Open Office Draw : Euro;Euro Converter Wizard +Oracle Open Office Draw : even/odd pages +Oracle Open Office Draw : even/odd pages;printing +Oracle Open Office Draw : events +Oracle Open Office Draw : events;assigning scripts +Oracle Open Office Draw : events;controls +Oracle Open Office Draw : events;customizing +Oracle Open Office Draw : events;in forms +Oracle Open Office Draw : Excel +Oracle Open Office Draw : Excel;saving as +Oracle Open Office Draw : Excel;search criteria +Oracle Open Office Draw : exceptions +Oracle Open Office Draw : exceptions;user-defined dictionaries +Oracle Open Office Draw : exchanging, see also replacing +Oracle Open Office Draw : executing SQL commands +Oracle Open Office Draw : exiting +Oracle Open Office Draw : exiting;by clicking objects +Oracle Open Office Draw : exiting;groups +Oracle Open Office Draw : exiting;Oracle Open Office +Oracle Open Office Draw : expanding +Oracle Open Office Draw : expanding;slides +Oracle Open Office Draw : expanding formatting (Calc) +Oracle Open Office Draw : explorer of data sources +Oracle Open Office Draw : export filters +Oracle Open Office Draw : exporting +Oracle Open Office Draw : exporting;animations to GIF format +Oracle Open Office Draw : exporting;bitmaps +Oracle Open Office Draw : exporting;HTML and text documents +Oracle Open Office Draw : exporting;Microsoft Office documents with VBA code +Oracle Open Office Draw : exporting;presentations to HTML +Oracle Open Office Draw : exporting;spreadsheets to text format +Oracle Open Office Draw : exporting;templates +Oracle Open Office Draw : exporting;to foreign formats +Oracle Open Office Draw : exporting;to HTML +Oracle Open Office Draw : exporting;to Macromedia Flash format +Oracle Open Office Draw : exporting;to Microsoft Office formats +Oracle Open Office Draw : exporting;to PDF +Oracle Open Office Draw : exporting;to PostScript format +Oracle Open Office Draw : exporting;to XML +Oracle Open Office Draw : exporting;XML files +Oracle Open Office Draw : extended tips in Help +Oracle Open Office Draw : extension mode in text +Oracle Open Office Draw : extensions +Oracle Open Office Draw : extensions;Extension Manager +Oracle Open Office Draw : extensions;file formats +Oracle Open Office Draw : external keys (Base) +Oracle Open Office Draw : extrusion objects +Oracle Open Office Draw : eyedropper tool +Oracle Open Office Draw : faster printing +Oracle Open Office Draw : faxes +Oracle Open Office Draw : faxes;configuring Oracle Open Office +Oracle Open Office Draw : faxes;fax programs/fax printers under UNIX +Oracle Open Office Draw : faxes;selecting a fax machine +Oracle Open Office Draw : faxes;sending +Oracle Open Office Draw : faxes;wizards +Oracle Open Office Draw : feedback +Oracle Open Office Draw : feedback;automatically +Oracle Open Office Draw : fields +Oracle Open Office Draw : fields;authors +Oracle Open Office Draw : fields;database tables +Oracle Open Office Draw : fields;dates (fixed) +Oracle Open Office Draw : fields;dates (variable) +Oracle Open Office Draw : fields;displaying field codes (Writer) +Oracle Open Office Draw : fields;editing +Oracle Open Office Draw : fields;file names +Oracle Open Office Draw : fields;formatted fields +Oracle Open Office Draw : fields;formatting +Oracle Open Office Draw : fields;in slides +Oracle Open Office Draw : fields;page numbers +Oracle Open Office Draw : fields;times (fixed) +Oracle Open Office Draw : fields;times (variable) +Oracle Open Office Draw : fields;updating automatically (Writer) +Oracle Open Office Draw : file associations for Microsoft Office +Oracle Open Office Draw : file filters +Oracle Open Office Draw : file filters;mobile devices +Oracle Open Office Draw : file filters;XML +Oracle Open Office Draw : file formats +Oracle Open Office Draw : file formats;changing Oracle Open Office defaults +Oracle Open Office Draw : file formats;OpenDocument/XML +Oracle Open Office Draw : file formats;saving always in other formats +Oracle Open Office Draw : file selection button +Oracle Open Office Draw : file sharing options for current document +Oracle Open Office Draw : files +Oracle Open Office Draw : files;filters and formats +Oracle Open Office Draw : files;importing +Oracle Open Office Draw : files;inserting +Oracle Open Office Draw : files;inserting pictures +Oracle Open Office Draw : files;opening +Oracle Open Office Draw : files;opening with placeholders +Oracle Open Office Draw : files;properties +Oracle Open Office Draw : files;saving +Oracle Open Office Draw : files;saving automatically +Oracle Open Office Draw : files;saving in other formats +Oracle Open Office Draw : files;sending as e-mail +Oracle Open Office Draw : files;version numbers +Oracle Open Office Draw : files and folders in Oracle Open Office +Oracle Open Office Draw : fill characters with tabulators +Oracle Open Office Draw : fill colors for areas +Oracle Open Office Draw : fill format mode +Oracle Open Office Draw : fill format mode;styles +Oracle Open Office Draw : fill patterns for areas +Oracle Open Office Draw : filter conditions +Oracle Open Office Draw : filter conditions;connecting +Oracle Open Office Draw : filter conditions;in queries (Base) +Oracle Open Office Draw : filtering +Oracle Open Office Draw : filtering;data in databases +Oracle Open Office Draw : filtering;data in forms +Oracle Open Office Draw : filters +Oracle Open Office Draw : filters;comparison operators +Oracle Open Office Draw : filters;for import and export +Oracle Open Office Draw : filters;Navigator +Oracle Open Office Draw : filters;pictures +Oracle Open Office Draw : filters;XML filter settings +Oracle Open Office Draw : Find tab in Help +Oracle Open Office Draw : finding +Oracle Open Office Draw : finding;in all sheets +Oracle Open Office Draw : finding;records in form documents +Oracle Open Office Draw : finding;selections +Oracle Open Office Draw : finding;similarity search +Oracle Open Office Draw : fitting to pages +Oracle Open Office Draw : fitting to pages;individual slides +Oracle Open Office Draw : fitting to pages;print settings in Math +Oracle Open Office Draw : fitting to pages;print settings in presentations +Oracle Open Office Draw : fixed text +Oracle Open Office Draw : fixed text;form functions +Oracle Open Office Draw : fixing toolbars +Oracle Open Office Draw : flipping around a flip line +Oracle Open Office Draw : flipping draw objects +Oracle Open Office Draw : floating frames in HTML documents +Oracle Open Office Draw : floating text +Oracle Open Office Draw : floating toolbars +Oracle Open Office Draw : flowcharts +Oracle Open Office Draw : focus of controls +Oracle Open Office Draw : folder creation +Oracle Open Office Draw : font lists +Oracle Open Office Draw : font name box +Oracle Open Office Draw : font sizes +Oracle Open Office Draw : font sizes;bullets +Oracle Open Office Draw : font sizes;relative changes +Oracle Open Office Draw : font sizes;scaling on screen +Oracle Open Office Draw : font sizes;text +Oracle Open Office Draw : fonts +Oracle Open Office Draw : fonts;adding under UNIX +Oracle Open Office Draw : fonts;changing in templates +Oracle Open Office Draw : fonts;colors +Oracle Open Office Draw : fonts;default settings +Oracle Open Office Draw : fonts;effects +Oracle Open Office Draw : fonts;for HTML and Basic +Oracle Open Office Draw : fonts;formats +Oracle Open Office Draw : fonts;outlines +Oracle Open Office Draw : fonts;positions in text +Oracle Open Office Draw : fonts;shadows +Oracle Open Office Draw : fonts;specifying several +Oracle Open Office Draw : fonts;strikethrough +Oracle Open Office Draw : fonts;styles +Oracle Open Office Draw : fonts;text objects +Oracle Open Office Draw : Fontwork icons +Oracle Open Office Draw : footers +Oracle Open Office Draw : footers;backgrounds +Oracle Open Office Draw : footers;slide masters +Oracle Open Office Draw : footers;slides +Oracle Open Office Draw : form controls +Oracle Open Office Draw : form controls;assigning macros +Oracle Open Office Draw : form controls;protecting +Oracle Open Office Draw : form controls;toolbars +Oracle Open Office Draw : form fields +Oracle Open Office Draw : form filters +Oracle Open Office Draw : Form Navigator +Oracle Open Office Draw : format codes +Oracle Open Office Draw : format codes;numbers +Oracle Open Office Draw : format filling printing in Oracle Open Office Math +Oracle Open Office Draw : Format Paintbrush +Oracle Open Office Draw : formats +Oracle Open Office Draw : formats;Asian layout +Oracle Open Office Draw : formats;fonts +Oracle Open Office Draw : formats;maximizing page formats +Oracle Open Office Draw : formats;number and currency formats +Oracle Open Office Draw : formats;of currencies/date/time +Oracle Open Office Draw : formats;on opening and saving +Oracle Open Office Draw : formats;pasting in special formats +Oracle Open Office Draw : formats;positions +Oracle Open Office Draw : formats;tabulators +Oracle Open Office Draw : formatted fields +Oracle Open Office Draw : formatted fields;form functions +Oracle Open Office Draw : formatted fields;properties +Oracle Open Office Draw : formatting +Oracle Open Office Draw : formatting;Asian typography +Oracle Open Office Draw : formatting;axes in charts +Oracle Open Office Draw : formatting;chart areas +Oracle Open Office Draw : formatting;chart floors +Oracle Open Office Draw : formatting;chart legends +Oracle Open Office Draw : formatting;chart titles +Oracle Open Office Draw : formatting;chart walls +Oracle Open Office Draw : formatting;copying +Oracle Open Office Draw : formatting;definition +Oracle Open Office Draw : formatting;expanding (Calc) +Oracle Open Office Draw : formatting;fields +Oracle Open Office Draw : formatting;font effects +Oracle Open Office Draw : formatting;hyperlinks +Oracle Open Office Draw : formatting;pages +Oracle Open Office Draw : formatting;printer metrics (Writer) +Oracle Open Office Draw : formatting;slides +Oracle Open Office Draw : formatting;slides headings +Oracle Open Office Draw : formatting;undoing +Oracle Open Office Draw : formatting;undoing when writing +Oracle Open Office Draw : forms +Oracle Open Office Draw : forms;browsing +Oracle Open Office Draw : forms;Combo Box/List Box Wizard +Oracle Open Office Draw : forms;creating +Oracle Open Office Draw : forms;data +Oracle Open Office Draw : forms;designing (Base) +Oracle Open Office Draw : forms;events +Oracle Open Office Draw : forms;filtering data +Oracle Open Office Draw : forms;finding records +Oracle Open Office Draw : forms;focus after opening +Oracle Open Office Draw : forms;general information (Base) +Oracle Open Office Draw : forms;grouping controls +Oracle Open Office Draw : forms;HTML filters +Oracle Open Office Draw : forms;inserting +Oracle Open Office Draw : forms;Navigator +Oracle Open Office Draw : forms;opening in design mode +Oracle Open Office Draw : forms;properties +Oracle Open Office Draw : forms;sorting data +Oracle Open Office Draw : forms;subforms +Oracle Open Office Draw : forms;wizards +Oracle Open Office Draw : forms;XForms +Oracle Open Office Draw : formula texts +Oracle Open Office Draw : formula texts;printing in Oracle Open Office Math +Oracle Open Office Draw : formulas +Oracle Open Office Draw : formulas;new +Oracle Open Office Draw : formulas;starting formula editor +Oracle Open Office Draw : formulas in reports +Oracle Open Office Draw : formulas in reports;editing +Oracle Open Office Draw : forums and support +Oracle Open Office Draw : frames +Oracle Open Office Draw : frames;around paragraphs +Oracle Open Office Draw : frames;around tables +Oracle Open Office Draw : frames;AutoCorrect function +Oracle Open Office Draw : frames;backgrounds +Oracle Open Office Draw : frames;captions (Writer) +Oracle Open Office Draw : frames;printing in Oracle Open Office Math +Oracle Open Office Draw : frames;protecting +Oracle Open Office Draw : frames;selection frames +Oracle Open Office Draw : frames;text fitting to frames +Oracle Open Office Draw : freeform lines +Oracle Open Office Draw : freeform lines;draw functions +Oracle Open Office Draw : freeform lines;drawing +Oracle Open Office Draw : FTP +Oracle Open Office Draw : FTP;opening documents +Oracle Open Office Draw : FTP;saving documents +Oracle Open Office Draw : full joins (Base) +Oracle Open Office Draw : full screen view +Oracle Open Office Draw : full-text search in Help +Oracle Open Office Draw : functions in reports +Oracle Open Office Draw : functions in reports;editing +Oracle Open Office Draw : Gallery +Oracle Open Office Draw : Gallery;adding pictures +Oracle Open Office Draw : Gallery;dragging pictures to draw objects +Oracle Open Office Draw : Gallery;hiding/showing +Oracle Open Office Draw : Gallery;inserting pictures from +Oracle Open Office Draw : geometric forms +Oracle Open Office Draw : get method for form transmissions +Oracle Open Office Draw : getting support +Oracle Open Office Draw : GIF format +Oracle Open Office Draw : GIF images +Oracle Open Office Draw : GIF images;animating +Oracle Open Office Draw : GIF images;replacing colors +Oracle Open Office Draw : glossaries +Oracle Open Office Draw : glossaries;common terms +Oracle Open Office Draw : glossaries;Internet terms +Oracle Open Office Draw : glue points +Oracle Open Office Draw : glue points;using +Oracle Open Office Draw : gradients +Oracle Open Office Draw : gradients;applying and defining +Oracle Open Office Draw : gradients;defining colors +Oracle Open Office Draw : gradients;loading lists +Oracle Open Office Draw : gradients;transparent +Oracle Open Office Draw : gradients off for faster printing +Oracle Open Office Draw : graphic objects, see draw objects +Oracle Open Office Draw : graphical text art +Oracle Open Office Draw : graphics +Oracle Open Office Draw : graphics;cache +Oracle Open Office Draw : graphics;protecting +Oracle Open Office Draw : graphics, see also pictures +Oracle Open Office Draw : grayscale display +Oracle Open Office Draw : grayscale printing +Oracle Open Office Draw : grid controls +Oracle Open Office Draw : grid controls;form functions +Oracle Open Office Draw : grids +Oracle Open Office Draw : grids;defaults (Writer/Calc) +Oracle Open Office Draw : grids;display options (Impress/Draw) +Oracle Open Office Draw : grids;displaying lines (Calc) +Oracle Open Office Draw : grids;formatting axes +Oracle Open Office Draw : grids;inserting in charts +Oracle Open Office Draw : group box creation +Oracle Open Office Draw : grouping +Oracle Open Office Draw : grouping;draw objects +Oracle Open Office Draw : groups +Oracle Open Office Draw : groups;entering/exiting/ungrouping +Oracle Open Office Draw : groups;naming +Oracle Open Office Draw : groups;of controls +Oracle Open Office Draw : guides +Oracle Open Office Draw : guides;display options (Impress/Draw) +Oracle Open Office Draw : guides;displaying when moving objects (Impress) +Oracle Open Office Draw : guides;editing +Oracle Open Office Draw : guides;inserting +Oracle Open Office Draw : guides;show snap lines icon +Oracle Open Office Draw : guides;showing (Calc) +Oracle Open Office Draw : guides;showing when moving frames (Writer) +Oracle Open Office Draw : gutter +Oracle Open Office Draw : half-spheres +Oracle Open Office Draw : hand icon for moving slides +Oracle Open Office Draw : handles +Oracle Open Office Draw : handles;displaying (Writer) +Oracle Open Office Draw : handles;large +Oracle Open Office Draw : handles;scaling +Oracle Open Office Draw : handles;showing simple/large handles (Calc) +Oracle Open Office Draw : handles;simple +Oracle Open Office Draw : handout printing +Oracle Open Office Draw : Hangul/Hanja +Oracle Open Office Draw : hatching +Oracle Open Office Draw : hatching +Oracle Open Office Draw : hatching;loading lists +Oracle Open Office Draw : headers +Oracle Open Office Draw : headers;backgrounds +Oracle Open Office Draw : headers and footers +Oracle Open Office Draw : headers and footers;master layouts +Oracle Open Office Draw : headers and footers;slide masters +Oracle Open Office Draw : headers and footers;slides +Oracle Open Office Draw : headings +Oracle Open Office Draw : headings;entering as text box +Oracle Open Office Draw : Hebrew +Oracle Open Office Draw : Hebrew;entering text +Oracle Open Office Draw : Hebrew;language settings +Oracle Open Office Draw : Help +Oracle Open Office Draw : Help;bookmarks +Oracle Open Office Draw : Help;extended tips on/off +Oracle Open Office Draw : Help;full-text search +Oracle Open Office Draw : Help;Help tips +Oracle Open Office Draw : Help;keywords +Oracle Open Office Draw : Help;navigation pane showing/hiding +Oracle Open Office Draw : Help;style sheets +Oracle Open Office Draw : Help;topics +Oracle Open Office Draw : Help Agent +Oracle Open Office Draw : Help Agent;help +Oracle Open Office Draw : Help Agent;options +Oracle Open Office Draw : Help tips +Oracle Open Office Draw : Help tips;hiding +Oracle Open Office Draw : hidden controls in Form Navigator +Oracle Open Office Draw : hidden fields display (Writer) +Oracle Open Office Draw : hidden pages +Oracle Open Office Draw : hidden pages;printing in presentations +Oracle Open Office Draw : hidden pages;showing +Oracle Open Office Draw : hidden text +Oracle Open Office Draw : hidden text;showing (Writer) +Oracle Open Office Draw : hiding +Oracle Open Office Draw : hiding;changes +Oracle Open Office Draw : hiding;chart legends +Oracle Open Office Draw : hiding;docked windows +Oracle Open Office Draw : hiding;layers +Oracle Open Office Draw : hiding;levels +Oracle Open Office Draw : hiding;navigation pane in Help window +Oracle Open Office Draw : hiding;slides +Oracle Open Office Draw : hiding;subpoints +Oracle Open Office Draw : high contrast mode +Oracle Open Office Draw : Hindi +Oracle Open Office Draw : Hindi;entering text +Oracle Open Office Draw : Hindi;language settings +Oracle Open Office Draw : horizontal scrollbars (Writer) +Oracle Open Office Draw : hot spots in flowcharts +Oracle Open Office Draw : hotspots +Oracle Open Office Draw : HowTos for charts +Oracle Open Office Draw : Howtos for Draw +Oracle Open Office Draw : HTML +Oracle Open Office Draw : HTML;definition +Oracle Open Office Draw : HTML;export character set +Oracle Open Office Draw : HTML;exporting from presentations +Oracle Open Office Draw : HTML;fonts for source display +Oracle Open Office Draw : HTML;importing into presentations +Oracle Open Office Draw : HTML;importing META tags +Oracle Open Office Draw : HTML;inserting files +Oracle Open Office Draw : HTML;live presentations +Oracle Open Office Draw : HTML documents +Oracle Open Office Draw : HTML documents;auto reloading +Oracle Open Office Draw : HTML documents;importing/exporting +Oracle Open Office Draw : HTML documents;META tags in +Oracle Open Office Draw : HTML documents;new +Oracle Open Office Draw : HTML documents;source text +Oracle Open Office Draw : hyperlinks +Oracle Open Office Draw : hyperlinks;assigning macros +Oracle Open Office Draw : hyperlinks;character formats +Oracle Open Office Draw : hyperlinks;definition +Oracle Open Office Draw : hyperlinks;deleting +Oracle Open Office Draw : hyperlinks;editing +Oracle Open Office Draw : hyperlinks;inserting +Oracle Open Office Draw : hyperlinks;relative and absolute +Oracle Open Office Draw : hyperlinks;turning off automatic recognition +Oracle Open Office Draw : hyperlinks, see also links +Oracle Open Office Draw : hyphenation +Oracle Open Office Draw : hyphenation;activating for a language +Oracle Open Office Draw : hyphenation;minimal number of characters +Oracle Open Office Draw : hyphens +Oracle Open Office Draw : hyphens;displaying custom (Writer) +Oracle Open Office Draw : hyphens;inserting custom +Oracle Open Office Draw : icon bars, see toolbars +Oracle Open Office Draw : icon sizes +Oracle Open Office Draw : ignore list for spellcheck +Oracle Open Office Draw : illumination +Oracle Open Office Draw : illumination;3D charts +Oracle Open Office Draw : illustrations, see pictures +Oracle Open Office Draw : image button creation +Oracle Open Office Draw : image control creation +Oracle Open Office Draw : ImageMap +Oracle Open Office Draw : ImageMap;definition +Oracle Open Office Draw : ImageMap;editor +Oracle Open Office Draw : images +Oracle Open Office Draw : images;ImageMap +Oracle Open Office Draw : images;inserting +Oracle Open Office Draw : images;inserting and editing bitmaps +Oracle Open Office Draw : images, see also pictures +Oracle Open Office Draw : IME +Oracle Open Office Draw : IME;definition +Oracle Open Office Draw : IME;showing/hiding +Oracle Open Office Draw : import filters +Oracle Open Office Draw : import restrictions for Microsoft Office +Oracle Open Office Draw : importing +Oracle Open Office Draw : importing;bitmaps +Oracle Open Office Draw : importing;compatibility settings for text import +Oracle Open Office Draw : importing;databases +Oracle Open Office Draw : importing;documents in other formats +Oracle Open Office Draw : importing;from XML +Oracle Open Office Draw : importing;HTML and text documents +Oracle Open Office Draw : importing;HTML with META tags +Oracle Open Office Draw : importing;Microsoft Office documents with VBA code +Oracle Open Office Draw : importing;presentations with HTML +Oracle Open Office Draw : importing;tables in text format +Oracle Open Office Draw : importing;templates +Oracle Open Office Draw : improvement program +Oracle Open Office Draw : in front of object command +Oracle Open Office Draw : inches +Oracle Open Office Draw : including spreadsheets +Oracle Open Office Draw : increasing sizes of views +Oracle Open Office Draw : Index tab in Help +Oracle Open Office Draw : indexes +Oracle Open Office Draw : indexes;backgrounds +Oracle Open Office Draw : indexes;showing/hiding Help index tab +Oracle Open Office Draw : indicator lines in text +Oracle Open Office Draw : inner joins (Base) +Oracle Open Office Draw : input method window +Oracle Open Office Draw : insert mode for entering text +Oracle Open Office Draw : inserting +Oracle Open Office Draw : inserting;3D objects +Oracle Open Office Draw : inserting;arrows +Oracle Open Office Draw : inserting;buttons in toolbars +Oracle Open Office Draw : inserting;callouts in presentations +Oracle Open Office Draw : inserting;cell ranges from spreadsheets +Oracle Open Office Draw : inserting;charts +Oracle Open Office Draw : inserting;clipboard options +Oracle Open Office Draw : inserting;columns +Oracle Open Office Draw : inserting;comments +Oracle Open Office Draw : inserting;data from text documents +Oracle Open Office Draw : inserting;datasource records in spreadsheets +Oracle Open Office Draw : inserting;drawings +Oracle Open Office Draw : inserting;ellipses +Oracle Open Office Draw : inserting;files +Oracle Open Office Draw : inserting;floating frames +Oracle Open Office Draw : inserting;Fontwork objects +Oracle Open Office Draw : inserting;form fields +Oracle Open Office Draw : inserting;headers/footers in all slides +Oracle Open Office Draw : inserting;hyperlinks +Oracle Open Office Draw : inserting;layers +Oracle Open Office Draw : inserting;line breaks in cells +Oracle Open Office Draw : inserting;lines +Oracle Open Office Draw : inserting;movies/sounds +Oracle Open Office Draw : inserting;new text tables defaults +Oracle Open Office Draw : inserting;objects from files +Oracle Open Office Draw : inserting;objects from Gallery +Oracle Open Office Draw : inserting;OLE objects +Oracle Open Office Draw : inserting;paragraph borders +Oracle Open Office Draw : inserting;paragraph bullets +Oracle Open Office Draw : inserting;pictures +Oracle Open Office Draw : inserting;pictures in Gallery +Oracle Open Office Draw : inserting;plug-ins +Oracle Open Office Draw : inserting;polygons +Oracle Open Office Draw : inserting;push buttons +Oracle Open Office Draw : inserting;rectangles +Oracle Open Office Draw : inserting;rows +Oracle Open Office Draw : inserting;slides +Oracle Open Office Draw : inserting;slides as links +Oracle Open Office Draw : inserting;slides from files +Oracle Open Office Draw : inserting;special characters +Oracle Open Office Draw : inserting;tab stops +Oracle Open Office Draw : inserting;text frames +Oracle Open Office Draw : inserting;text in presentations +Oracle Open Office Draw : inserting;textures on chart bars +Oracle Open Office Draw : installing +Oracle Open Office Draw : installing;ActiveX control +Oracle Open Office Draw : installing;mobile device filters +Oracle Open Office Draw : installing;UNO components +Oracle Open Office Draw : installing;XML filters +Oracle Open Office Draw : instructions +Oracle Open Office Draw : instructions;general +Oracle Open Office Draw : instructions;Oracle Open Office Draw +Oracle Open Office Draw : instructions;Oracle Open Office Impress +Oracle Open Office Draw : interactions +Oracle Open Office Draw : interactions;hot spots +Oracle Open Office Draw : interactions;objects in interactive presentations +Oracle Open Office Draw : interactions;preview +Oracle Open Office Draw : Internet +Oracle Open Office Draw : Internet;checking for updates +Oracle Open Office Draw : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Draw : Internet;presentations +Oracle Open Office Draw : Internet;starting searches +Oracle Open Office Draw : Internet glossary +Oracle Open Office Draw : intersecting draw objects +Oracle Open Office Draw : invert filter +Oracle Open Office Draw : invisible areas +Oracle Open Office Draw : italic text +Oracle Open Office Draw : iterative references in spreadsheets +Oracle Open Office Draw : Java +Oracle Open Office Draw : Java;definition +Oracle Open Office Draw : Java;setting options +Oracle Open Office Draw : JDBC +Oracle Open Office Draw : JDBC;databases (Base) +Oracle Open Office Draw : JDBC;definition +Oracle Open Office Draw : joining +Oracle Open Office Draw : joining;3D objects +Oracle Open Office Draw : joining;paragraphs +Oracle Open Office Draw : joining;tables (Base) +Oracle Open Office Draw : joins in databases (Base) +Oracle Open Office Draw : justifying text +Oracle Open Office Draw : kerning +Oracle Open Office Draw : kerning;Asian texts +Oracle Open Office Draw : kerning;definition +Oracle Open Office Draw : kerning;in characters +Oracle Open Office Draw : key fields for relations (Base) +Oracle Open Office Draw : keyboard +Oracle Open Office Draw : keyboard;assigning/editing shortcut keys +Oracle Open Office Draw : keyboard;general commands +Oracle Open Office Draw : keyboard;removing numbering +Oracle Open Office Draw : keyboard;zooming +Oracle Open Office Draw : keys +Oracle Open Office Draw : keys;adding push buttons +Oracle Open Office Draw : keys;primary keys (Base) +Oracle Open Office Draw : kiosk export +Oracle Open Office Draw : labels +Oracle Open Office Draw : labels;creating and synchronizing +Oracle Open Office Draw : labels;for charts +Oracle Open Office Draw : labels;for draw objects +Oracle Open Office Draw : labels;form functions +Oracle Open Office Draw : labels;from databases +Oracle Open Office Draw : labels, see also names/callouts +Oracle Open Office Draw : languages +Oracle Open Office Draw : languages;activating modules +Oracle Open Office Draw : languages;Asian support +Oracle Open Office Draw : languages;complex text layout +Oracle Open Office Draw : languages;locale settings +Oracle Open Office Draw : languages;selecting for text +Oracle Open Office Draw : languages;setting options +Oracle Open Office Draw : languages;spellcheck +Oracle Open Office Draw : languages;spellchecking and formatting +Oracle Open Office Draw : large handles (Writer) +Oracle Open Office Draw : large icons +Oracle Open Office Draw : layer arrangement +Oracle Open Office Draw : layers +Oracle Open Office Draw : layers;definition +Oracle Open Office Draw : layers;deleting +Oracle Open Office Draw : layers;inserting and editing +Oracle Open Office Draw : layers;moving objects +Oracle Open Office Draw : layers;renaming +Oracle Open Office Draw : layers;working with +Oracle Open Office Draw : layout +Oracle Open Office Draw : layout;importing Word documents +Oracle Open Office Draw : layout;pages +Oracle Open Office Draw : layout;printing handouts +Oracle Open Office Draw : LDAP server +Oracle Open Office Draw : LDAP server;address books (Base) +Oracle Open Office Draw : LDAP server;sign on options +Oracle Open Office Draw : leading between paragraphs +Oracle Open Office Draw : left alignment of paragraphs +Oracle Open Office Draw : left joins (Base) +Oracle Open Office Draw : legends +Oracle Open Office Draw : legends;charts +Oracle Open Office Draw : legends;draw objects +Oracle Open Office Draw : legends;drawings +Oracle Open Office Draw : legends;rounding corners +Oracle Open Office Draw : Letter Wizard +Oracle Open Office Draw : levels +Oracle Open Office Draw : levels;depth stagger +Oracle Open Office Draw : levels;hiding +Oracle Open Office Draw : levels;macro security +Oracle Open Office Draw : levels;showing +Oracle Open Office Draw : limits of tables (Writer) +Oracle Open Office Draw : line breaks +Oracle Open Office Draw : line breaks;in cells +Oracle Open Office Draw : line charts +Oracle Open Office Draw : line spacing +Oracle Open Office Draw : line spacing;context menu in paragraphs +Oracle Open Office Draw : line spacing;paragraph +Oracle Open Office Draw : line styles +Oracle Open Office Draw : line styles;applying +Oracle Open Office Draw : line styles;defining +Oracle Open Office Draw : line styles;loading +Oracle Open Office Draw : lines +Oracle Open Office Draw : lines;about line ends +Oracle Open Office Draw : lines;connecting objects +Oracle Open Office Draw : lines;defining ends +Oracle Open Office Draw : lines;draw functions +Oracle Open Office Draw : lines;drawing +Oracle Open Office Draw : lines;drawing in text +Oracle Open Office Draw : lines;editing points +Oracle Open Office Draw : lines;inserting +Oracle Open Office Draw : lines;removing automatic lines +Oracle Open Office Draw : lines of text +Oracle Open Office Draw : lines of text;alignment +Oracle Open Office Draw : links +Oracle Open Office Draw : links;between cells and controls +Oracle Open Office Draw : links;by drag and drop +Oracle Open Office Draw : links;character formats +Oracle Open Office Draw : links;definition +Oracle Open Office Draw : links;editing hyperlinks +Oracle Open Office Draw : links;inserting +Oracle Open Office Draw : links;modifying +Oracle Open Office Draw : links;opening files with +Oracle Open Office Draw : links;relational databases (Base) +Oracle Open Office Draw : links;turning off automatic recognition +Oracle Open Office Draw : links;updating options (Writer) +Oracle Open Office Draw : links;updating specific links +Oracle Open Office Draw : list box creation +Oracle Open Office Draw : lists +Oracle Open Office Draw : lists;animations +Oracle Open Office Draw : lists;data assigned to controls +Oracle Open Office Draw : lists;registered databases (Base) +Oracle Open Office Draw : lists;regular expressions +Oracle Open Office Draw : live presentations on the Internet +Oracle Open Office Draw : loading +Oracle Open Office Draw : loading;arrow and line styles +Oracle Open Office Draw : loading;colors/gradients/hatchings +Oracle Open Office Draw : loading;documents +Oracle Open Office Draw : loading;documents from other formats +Oracle Open Office Draw : loading;HTML documents, automatically +Oracle Open Office Draw : loading;Microsoft Office documents with VBA code +Oracle Open Office Draw : loading;reloading +Oracle Open Office Draw : loading;XML files +Oracle Open Office Draw : locale settings +Oracle Open Office Draw : locking layers +Oracle Open Office Draw : logarithmic scaling along axes +Oracle Open Office Draw : lowercase letters +Oracle Open Office Draw : lowercase letters;font effects +Oracle Open Office Draw : Macro Wizard (Base) +Oracle Open Office Draw : Macromedia Flash export +Oracle Open Office Draw : macros +Oracle Open Office Draw : macros;assigning to events in forms +Oracle Open Office Draw : macros;attaching new (Base) +Oracle Open Office Draw : macros;in MS Office documents +Oracle Open Office Draw : macros;interrupting +Oracle Open Office Draw : macros;organizing +Oracle Open Office Draw : macros;recording +Oracle Open Office Draw : macros;running in presentations +Oracle Open Office Draw : macros;security +Oracle Open Office Draw : macros;security levels +Oracle Open Office Draw : macros;security warning dialog +Oracle Open Office Draw : macros;selecting security warnings +Oracle Open Office Draw : magnetic lines in presentations +Oracle Open Office Draw : magnifiers +Oracle Open Office Draw : margins +Oracle Open Office Draw : margins;pages +Oracle Open Office Draw : margins;setting with the mouse +Oracle Open Office Draw : margins;shadows +Oracle Open Office Draw : marking changes +Oracle Open Office Draw : marking, see selecting +Oracle Open Office Draw : master layouts with headers and footers +Oracle Open Office Draw : master pages, see slide masters +Oracle Open Office Draw : master views +Oracle Open Office Draw : Math formula editor +Oracle Open Office Draw : mean value lines in charts +Oracle Open Office Draw : measurement units +Oracle Open Office Draw : measurement units;changing on rulers +Oracle Open Office Draw : measurement units;converting +Oracle Open Office Draw : measurement units;selecting +Oracle Open Office Draw : Media Player window +Oracle Open Office Draw : menus +Oracle Open Office Draw : menus;activating context menus +Oracle Open Office Draw : menus;assigning macros +Oracle Open Office Draw : menus;customizing +Oracle Open Office Draw : merging +Oracle Open Office Draw : merging;documents +Oracle Open Office Draw : merging;draw objects +Oracle Open Office Draw : META tags +Oracle Open Office Draw : metafiles +Oracle Open Office Draw : metafiles;converting to +Oracle Open Office Draw : metafiles;replacing colors +Oracle Open Office Draw : metrics +Oracle Open Office Draw : metrics;converting +Oracle Open Office Draw : metrics;document formatting (Writer) +Oracle Open Office Draw : metrics;in sheets +Oracle Open Office Draw : Microsoft Office +Oracle Open Office Draw : Microsoft Office;Access databases (base) +Oracle Open Office Draw : Microsoft Office;as default file format +Oracle Open Office Draw : Microsoft Office;document import restrictions +Oracle Open Office Draw : Microsoft Office;feature comparisons +Oracle Open Office Draw : Microsoft Office;importing password protected files +Oracle Open Office Draw : Microsoft Office;importing Word documents +Oracle Open Office Draw : Microsoft Office;importing/exporting VBA code +Oracle Open Office Draw : Microsoft Office;new users information +Oracle Open Office Draw : Microsoft Office;opening Microsoft documents +Oracle Open Office Draw : Microsoft Office;reassigning document types +Oracle Open Office Draw : migrating macros (Base) +Oracle Open Office Draw : mirroring objects +Oracle Open Office Draw : mobile device filters +Oracle Open Office Draw : models in XForms +Oracle Open Office Draw : modifying, see changing +Oracle Open Office Draw : more controls +Oracle Open Office Draw : mosaic filter +Oracle Open Office Draw : motion paths +Oracle Open Office Draw : mouse +Oracle Open Office Draw : mouse;pointers when using drag and drop +Oracle Open Office Draw : mouse;positioning +Oracle Open Office Draw : movies +Oracle Open Office Draw : moving +Oracle Open Office Draw : moving;between layers +Oracle Open Office Draw : moving;objects in slides +Oracle Open Office Draw : moving;tab stops on ruler +Oracle Open Office Draw : moving;toolbars +Oracle Open Office Draw : moving;using guide lines in presentations +Oracle Open Office Draw : MS ADO interface (Base) +Oracle Open Office Draw : multi-line titles in forms +Oracle Open Office Draw : multiple documents +Oracle Open Office Draw : multiple documents;opening +Oracle Open Office Draw : multiple monitors +Oracle Open Office Draw : multiple selection +Oracle Open Office Draw : multiplying draw objects +Oracle Open Office Draw : music +Oracle Open Office Draw : My Documents folder +Oracle Open Office Draw : My Documents folder;changing work directory +Oracle Open Office Draw : My Documents folder;opening +Oracle Open Office Draw : MySQL databases (Base) +Oracle Open Office Draw : names +Oracle Open Office Draw : names;multi-line titles +Oracle Open Office Draw : names;objects +Oracle Open Office Draw : names, see also labels/callouts +Oracle Open Office Draw : namespace organization in XForms +Oracle Open Office Draw : native SQL (Base) +Oracle Open Office Draw : navigating +Oracle Open Office Draw : navigating;in documents +Oracle Open Office Draw : Navigation bar +Oracle Open Office Draw : Navigation bar;controls +Oracle Open Office Draw : Navigation bar;forms +Oracle Open Office Draw : Navigator +Oracle Open Office Draw : Navigator;comments +Oracle Open Office Draw : Navigator;contents as lists +Oracle Open Office Draw : Navigator;docking +Oracle Open Office Draw : Navigator;presentations +Oracle Open Office Draw : Navigator;working with +Oracle Open Office Draw : net charts +Oracle Open Office Draw : network identity options +Oracle Open Office Draw : new databases +Oracle Open Office Draw : new documents +Oracle Open Office Draw : new lines in cells +Oracle Open Office Draw : new windows +Oracle Open Office Draw : non-breaking dashes +Oracle Open Office Draw : non-breaking spaces (Writer) +Oracle Open Office Draw : non-printing characters (Writer) +Oracle Open Office Draw : normal view +Oracle Open Office Draw : normal view;backgrounds +Oracle Open Office Draw : normal view;presentations +Oracle Open Office Draw : notes +Oracle Open Office Draw : notes;adding to slides +Oracle Open Office Draw : notes;default formatting +Oracle Open Office Draw : notes;printing in presentations +Oracle Open Office Draw : number formats +Oracle Open Office Draw : number formats;codes +Oracle Open Office Draw : number formats;formats +Oracle Open Office Draw : number formats;recognition in text tables +Oracle Open Office Draw : number of pages +Oracle Open Office Draw : number of sheets +Oracle Open Office Draw : number of tables +Oracle Open Office Draw : numbering +Oracle Open Office Draw : numbering;options +Oracle Open Office Draw : numbering;turning off +Oracle Open Office Draw : numbering;using automatically +Oracle Open Office Draw : numbers +Oracle Open Office Draw : numbers;date, time and currency formats +Oracle Open Office Draw : numbers;decimal places (Calc) +Oracle Open Office Draw : numerical fields in forms +Oracle Open Office Draw : object bars +Oracle Open Office Draw : object bars;editing glue points +Oracle Open Office Draw : objects +Oracle Open Office Draw : objects;aligning +Oracle Open Office Draw : objects;always moveable (Impress/Draw) +Oracle Open Office Draw : objects;arranging within stacks +Oracle Open Office Draw : objects;behind object command +Oracle Open Office Draw : objects;breaking connections +Oracle Open Office Draw : objects;copying when moving in presentations +Oracle Open Office Draw : objects;definition +Oracle Open Office Draw : objects;displaying in spreadsheets +Oracle Open Office Draw : objects;displaying in text documents +Oracle Open Office Draw : objects;editing +Oracle Open Office Draw : objects;effects +Oracle Open Office Draw : objects;in front of object command +Oracle Open Office Draw : objects;inserting from files +Oracle Open Office Draw : objects;inserting from Gallery +Oracle Open Office Draw : objects;inserting OLE objects +Oracle Open Office Draw : objects;moving along paths +Oracle Open Office Draw : objects;moving and resizing with mouse +Oracle Open Office Draw : objects;moving in layers +Oracle Open Office Draw : objects;moving in slides +Oracle Open Office Draw : objects;naming +Oracle Open Office Draw : objects;opening +Oracle Open Office Draw : objects;properties of charts +Oracle Open Office Draw : objects;quickly moving to +Oracle Open Office Draw : objects;reversing +Oracle Open Office Draw : objects;selecting +Oracle Open Office Draw : objects;titles and descriptions +Oracle Open Office Draw : objects;with attributes +Oracle Open Office Draw : ODBC +Oracle Open Office Draw : ODBC;database (Base) +Oracle Open Office Draw : ODBC;definition +Oracle Open Office Draw : ODF file formats +Oracle Open Office Draw : Office +Oracle Open Office Draw : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Draw : OLE +Oracle Open Office Draw : OLE;definition +Oracle Open Office Draw : OLE objects +Oracle Open Office Draw : OLE objects;arranging within stacks +Oracle Open Office Draw : OLE objects;captions (Writer) +Oracle Open Office Draw : OLE objects;inserting +Oracle Open Office Draw : OLE objects;number of +Oracle Open Office Draw : OLE objects;protecting +Oracle Open Office Draw : one and a half line spacing in text +Oracle Open Office Draw : online feedback options +Oracle Open Office Draw : online registration +Oracle Open Office Draw : online update options +Oracle Open Office Draw : online updates +Oracle Open Office Draw : online updates;checking automatically +Oracle Open Office Draw : online updates;checking manually +Oracle Open Office Draw : Open/Save dialogs +Oracle Open Office Draw : OpenDocument file formats +Oracle Open Office Draw : OpenGL +Oracle Open Office Draw : OpenGL;definition +Oracle Open Office Draw : opening +Oracle Open Office Draw : opening;context menus +Oracle Open Office Draw : opening;database files +Oracle Open Office Draw : opening;dialog settings +Oracle Open Office Draw : opening;documents +Oracle Open Office Draw : opening;documents from other formats +Oracle Open Office Draw : opening;documents on WebDAV server +Oracle Open Office Draw : opening;files with links +Oracle Open Office Draw : opening;files, with placeholders +Oracle Open Office Draw : opening;forms +Oracle Open Office Draw : opening;Microsoft Office files +Oracle Open Office Draw : opening;mobile device documents +Oracle Open Office Draw : opening;objects +Oracle Open Office Draw : opening;reports +Oracle Open Office Draw : opening;several files +Oracle Open Office Draw : opening;XForms +Oracle Open Office Draw : operators +Oracle Open Office Draw : operators;default filters +Oracle Open Office Draw : optional hyphens (Writer) +Oracle Open Office Draw : options +Oracle Open Office Draw : options;accessibility +Oracle Open Office Draw : options;appearance +Oracle Open Office Draw : options;compatibility (Writer) +Oracle Open Office Draw : options;improvement program +Oracle Open Office Draw : options;network identity +Oracle Open Office Draw : options;online update +Oracle Open Office Draw : options;tools +Oracle Open Office Draw : Oracle databases (base) +Oracle Open Office Draw : Oracle Open Office Base data sources +Oracle Open Office Draw : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Draw : Oracle Open Office documents +Oracle Open Office Draw : Oracle Open Office documents;mobile device filters +Oracle Open Office Draw : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Draw : Oracle Open Office Impress instructions +Oracle Open Office Draw : Oracle Open Office Math start +Oracle Open Office Draw : order of chart data +Oracle Open Office Draw : ordering +Oracle Open Office Draw : ordering;objects +Oracle Open Office Draw : ordering;slides +Oracle Open Office Draw : organization charts +Oracle Open Office Draw : organizing +Oracle Open Office Draw : organizing;macros and scripts +Oracle Open Office Draw : organizing;namespaces in XForms +Oracle Open Office Draw : organizing;styles +Oracle Open Office Draw : organizing;templates +Oracle Open Office Draw : origin of rulers +Oracle Open Office Draw : original size +Oracle Open Office Draw : original size;printing in Oracle Open Office Math +Oracle Open Office Draw : original size;restoring after cropping +Oracle Open Office Draw : outline view +Oracle Open Office Draw : outlines +Oracle Open Office Draw : outlines;font effects +Oracle Open Office Draw : outlines;outline symbols +Oracle Open Office Draw : outlines;printing +Oracle Open Office Draw : outlines;sending to presentations +Oracle Open Office Draw : overwrite mode +Oracle Open Office Draw : packages, see extensions +Oracle Open Office Draw : page breaks +Oracle Open Office Draw : page breaks;displaying (Calc) +Oracle Open Office Draw : page formats +Oracle Open Office Draw : page formats;maximizing +Oracle Open Office Draw : page formats;restriction +Oracle Open Office Draw : page number field +Oracle Open Office Draw : page numbers on all slides +Oracle Open Office Draw : page styles +Oracle Open Office Draw : page styles;editing/applying with statusbar +Oracle Open Office Draw : pages +Oracle Open Office Draw : pages;backgrounds in all applications +Oracle Open Office Draw : pages;copying +Oracle Open Office Draw : pages;fitting to printed pages +Oracle Open Office Draw : pages;formatting and numbering +Oracle Open Office Draw : pages;printing page names in presentations +Oracle Open Office Draw : pages;scaling +Oracle Open Office Draw : pages;selecting one to print +Oracle Open Office Draw : paint box +Oracle Open Office Draw : paint can symbol +Oracle Open Office Draw : pair kerning +Oracle Open Office Draw : Palm file filters +Oracle Open Office Draw : paper formats +Oracle Open Office Draw : paper size warning +Oracle Open Office Draw : paper trays +Oracle Open Office Draw : paragraph marks +Oracle Open Office Draw : paragraph marks;displaying (Writer) +Oracle Open Office Draw : paragraph styles +Oracle Open Office Draw : paragraph styles;languages +Oracle Open Office Draw : paragraph styles;modifying basic fonts +Oracle Open Office Draw : paragraphs +Oracle Open Office Draw : paragraphs;alignment +Oracle Open Office Draw : paragraphs;Asian typography +Oracle Open Office Draw : paragraphs;defining borders +Oracle Open Office Draw : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Draw : paragraphs;increasing indents of +Oracle Open Office Draw : paragraphs;indents, margins and columns +Oracle Open Office Draw : paragraphs;inserting bullets +Oracle Open Office Draw : paragraphs;joining +Oracle Open Office Draw : paragraphs;numbering automatically +Oracle Open Office Draw : paragraphs;removing blank ones +Oracle Open Office Draw : paragraphs;spacing +Oracle Open Office Draw : paragraphs;tab stops +Oracle Open Office Draw : parameters +Oracle Open Office Draw : parameters;command line +Oracle Open Office Draw : parameters;queries (Base) +Oracle Open Office Draw : passwords for protecting contents +Oracle Open Office Draw : pasting +Oracle Open Office Draw : pasting;cell ranges +Oracle Open Office Draw : pasting;cell ranges from spreadsheets +Oracle Open Office Draw : pasting;data from text documents +Oracle Open Office Draw : pasting;draw objects +Oracle Open Office Draw : pasting;draw objects from other documents +Oracle Open Office Draw : pasting;formatted/unformatted text +Oracle Open Office Draw : pasting;from data source view +Oracle Open Office Draw : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Draw : pasting;pictures from other documents +Oracle Open Office Draw : pasting;sheet areas in text documents +Oracle Open Office Draw : pasting;slides from other presentations +Oracle Open Office Draw : pasting;text from other documents +Oracle Open Office Draw : pasting;to Gallery +Oracle Open Office Draw : paths +Oracle Open Office Draw : paths;changing work directory +Oracle Open Office Draw : paths;defaults +Oracle Open Office Draw : paths;moving objects along +Oracle Open Office Draw : pattern editor +Oracle Open Office Draw : pattern fields +Oracle Open Office Draw : pattern fields;form functions +Oracle Open Office Draw : patterns for objects +Oracle Open Office Draw : PDF +Oracle Open Office Draw : PDF;export +Oracle Open Office Draw : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Draw : personal data input +Oracle Open Office Draw : phonetic guide +Oracle Open Office Draw : picklist creation +Oracle Open Office Draw : pictures +Oracle Open Office Draw : pictures;adding to Gallery +Oracle Open Office Draw : pictures;arranging within stacks +Oracle Open Office Draw : pictures;assigning macros +Oracle Open Office Draw : pictures;backgrounds +Oracle Open Office Draw : pictures;captions (Writer) +Oracle Open Office Draw : pictures;changing paths +Oracle Open Office Draw : pictures;cropping and zooming +Oracle Open Office Draw : pictures;displaying in Calc +Oracle Open Office Draw : pictures;displaying in Writer (Writer) +Oracle Open Office Draw : pictures;drag and drop between documents +Oracle Open Office Draw : pictures;drawing +Oracle Open Office Draw : pictures;editing +Oracle Open Office Draw : pictures;filters +Oracle Open Office Draw : pictures;ImageMap +Oracle Open Office Draw : pictures;inserting +Oracle Open Office Draw : pictures;inserting automatically +Oracle Open Office Draw : pictures;inserting from Gallery +Oracle Open Office Draw : pictures;number of +Oracle Open Office Draw : pictures;printing +Oracle Open Office Draw : pictures;scaling/resizing +Oracle Open Office Draw : pie charts +Oracle Open Office Draw : pie charts;options +Oracle Open Office Draw : pie charts;types +Oracle Open Office Draw : pivot points of draw objects +Oracle Open Office Draw : pixel editor +Oracle Open Office Draw : pixel graphics +Oracle Open Office Draw : pixel graphics;inserting and editing +Oracle Open Office Draw : pixel patterns +Oracle Open Office Draw : placeholders +Oracle Open Office Draw : placeholders;in SQL queries +Oracle Open Office Draw : placeholders;on opening files +Oracle Open Office Draw : placing toolbars +Oracle Open Office Draw : playing movies and sound files +Oracle Open Office Draw : plotting data as charts +Oracle Open Office Draw : plug-ins +Oracle Open Office Draw : plug-ins;activating and deactivating +Oracle Open Office Draw : plug-ins;definition +Oracle Open Office Draw : plug-ins;inserting +Oracle Open Office Draw : pocket device appliances +Oracle Open Office Draw : Pocket PC file filters +Oracle Open Office Draw : points +Oracle Open Office Draw : points;adding/converting/deleting +Oracle Open Office Draw : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Draw : polygon drawing +Oracle Open Office Draw : polygons +Oracle Open Office Draw : polygons;inserting +Oracle Open Office Draw : polygons;intersecting/subtracting/merging +Oracle Open Office Draw : pop-art filter +Oracle Open Office Draw : portable document format +Oracle Open Office Draw : positioning +Oracle Open Office Draw : positioning;axes +Oracle Open Office Draw : positioning;draw objects and controls +Oracle Open Office Draw : positioning;fonts +Oracle Open Office Draw : positioning;objects +Oracle Open Office Draw : positioning;toolbars +Oracle Open Office Draw : post method for form transmissions +Oracle Open Office Draw : posterizing filter +Oracle Open Office Draw : PostScript +Oracle Open Office Draw : PostScript;creating files +Oracle Open Office Draw : PostScript;PDF converter, UNIX +Oracle Open Office Draw : PowerPoint export +Oracle Open Office Draw : precision as shown (Calc) +Oracle Open Office Draw : predefining fonts +Oracle Open Office Draw : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Draw : presentations +Oracle Open Office Draw : presentations;arranging slides +Oracle Open Office Draw : presentations;creating/opening +Oracle Open Office Draw : presentations;exiting by interaction +Oracle Open Office Draw : presentations;exporting to HTML +Oracle Open Office Draw : presentations;importing HTML +Oracle Open Office Draw : presentations;inserting spreadsheet cells +Oracle Open Office Draw : presentations;inserting spreadsheets +Oracle Open Office Draw : presentations;live on the Internet +Oracle Open Office Draw : presentations;navigating +Oracle Open Office Draw : presentations;numbering slides in +Oracle Open Office Draw : presentations;ordering of effects +Oracle Open Office Draw : presentations;print menu +Oracle Open Office Draw : presentations;printing +Oracle Open Office Draw : presentations;rehearse timings +Oracle Open Office Draw : presentations;saving +Oracle Open Office Draw : presentations;saving automatically +Oracle Open Office Draw : presentations;saving in other formats +Oracle Open Office Draw : presentations;sending as e-mail +Oracle Open Office Draw : presentations;settings for +Oracle Open Office Draw : presentations;shortcut keys +Oracle Open Office Draw : presentations;starting +Oracle Open Office Draw : presentations;starting with wizard +Oracle Open Office Draw : presentations;window / full screen +Oracle Open Office Draw : presentations;wizards +Oracle Open Office Draw : Presenter Console shortcuts +Oracle Open Office Draw : press buttons, see push buttons +Oracle Open Office Draw : previews +Oracle Open Office Draw : previews;fonts lists +Oracle Open Office Draw : primary keys +Oracle Open Office Draw : primary keys;defining +Oracle Open Office Draw : primary keys;design view +Oracle Open Office Draw : primary keys;inserting (Base) +Oracle Open Office Draw : print area selection +Oracle Open Office Draw : printer metrics for document formatting (Writer) +Oracle Open Office Draw : printers +Oracle Open Office Draw : printers;adding, UNIX +Oracle Open Office Draw : printers;choosing +Oracle Open Office Draw : printers;default printer +Oracle Open Office Draw : printers;faxes under UNIX +Oracle Open Office Draw : printers;maximum page formats +Oracle Open Office Draw : printers;paper trays +Oracle Open Office Draw : printers;properties +Oracle Open Office Draw : printing +Oracle Open Office Draw : printing;black and white +Oracle Open Office Draw : printing;brochures +Oracle Open Office Draw : printing;colors in grayscale +Oracle Open Office Draw : printing;comments +Oracle Open Office Draw : printing;copies +Oracle Open Office Draw : printing;creating individual jobs +Oracle Open Office Draw : printing;dates in presentations +Oracle Open Office Draw : printing;directly +Oracle Open Office Draw : printing;documents +Oracle Open Office Draw : printing;drawings defaults +Oracle Open Office Draw : printing;elements in text documents +Oracle Open Office Draw : printing;faster +Oracle Open Office Draw : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Draw : printing;fitting to pages in presentations +Oracle Open Office Draw : printing;fitting to paper +Oracle Open Office Draw : printing;formulas in Oracle Open Office Math +Oracle Open Office Draw : printing;hidden pages of presentations +Oracle Open Office Draw : printing;in original size in Oracle Open Office Math +Oracle Open Office Draw : printing;left/right pages +Oracle Open Office Draw : printing;presentations +Oracle Open Office Draw : printing;queries (Base) +Oracle Open Office Draw : printing;scaling in Oracle Open Office Math +Oracle Open Office Draw : printing;selections +Oracle Open Office Draw : printing;text always in black +Oracle Open Office Draw : printing;text in reverse order +Oracle Open Office Draw : printing;tiling pages in presentations +Oracle Open Office Draw : printing;transparencies +Oracle Open Office Draw : printing;warnings +Oracle Open Office Draw : printing;without scaling in presentations +Oracle Open Office Draw : printing speed +Oracle Open Office Draw : programming +Oracle Open Office Draw : programming;Oracle Open Office +Oracle Open Office Draw : programming;scripting +Oracle Open Office Draw : programs run by mouse click in presentations +Oracle Open Office Draw : properties +Oracle Open Office Draw : properties;charts +Oracle Open Office Draw : properties;fields in databases +Oracle Open Office Draw : properties;files +Oracle Open Office Draw : properties;form controls +Oracle Open Office Draw : properties;forms +Oracle Open Office Draw : properties;printers +Oracle Open Office Draw : properties;smooth lines in line charts/XY charts +Oracle Open Office Draw : protected contents +Oracle Open Office Draw : protected dashes +Oracle Open Office Draw : protected database tables +Oracle Open Office Draw : protected documents +Oracle Open Office Draw : protected spaces +Oracle Open Office Draw : protected spaces;inserting +Oracle Open Office Draw : protected spaces;showing (Writer) +Oracle Open Office Draw : protecting +Oracle Open Office Draw : protecting;contents +Oracle Open Office Draw : protecting;recorded changes +Oracle Open Office Draw : proxy settings +Oracle Open Office Draw : push buttons +Oracle Open Office Draw : push buttons;adding to documents +Oracle Open Office Draw : push buttons;creating +Oracle Open Office Draw : pyramids +Oracle Open Office Draw : queries +Oracle Open Office Draw : queries;copying (Base) +Oracle Open Office Draw : queries;creating in design view (Base) +Oracle Open Office Draw : queries;creating in SQL view +Oracle Open Office Draw : queries;defining (Base) +Oracle Open Office Draw : queries;deleting table links (Base) +Oracle Open Office Draw : queries;editing in data source view +Oracle Open Office Draw : queries;formulating filter conditions (Base) +Oracle Open Office Draw : queries;joining tables (Base) +Oracle Open Office Draw : queries;missing elements (Base) +Oracle Open Office Draw : queries;overview (Base) +Oracle Open Office Draw : queries;parameter queries (Base) +Oracle Open Office Draw : queries;printing (Base) +Oracle Open Office Draw : Query Wizard (Base) +Oracle Open Office Draw : Quickstarter +Oracle Open Office Draw : quotation marks +Oracle Open Office Draw : quotation marks;replacing +Oracle Open Office Draw : quotes +Oracle Open Office Draw : quotes;custom +Oracle Open Office Draw : radar charts, see net charts +Oracle Open Office Draw : radio button creation +Oracle Open Office Draw : read-only documents +Oracle Open Office Draw : read-only documents;cursor +Oracle Open Office Draw : read-only documents;database tables on/off +Oracle Open Office Draw : read-only documents;editing +Oracle Open Office Draw : read-only documents;opening documents as +Oracle Open Office Draw : read-only items in Data Navigator +Oracle Open Office Draw : recognizing URLs automatically +Oracle Open Office Draw : recording +Oracle Open Office Draw : recording;changes +Oracle Open Office Draw : recording;display times for slides +Oracle Open Office Draw : recording;macros +Oracle Open Office Draw : records +Oracle Open Office Draw : records;inserting comments +Oracle Open Office Draw : records;protecting +Oracle Open Office Draw : records;saving +Oracle Open Office Draw : records;searching in databases +Oracle Open Office Draw : rectangles +Oracle Open Office Draw : rectangles with round corners +Oracle Open Office Draw : recursions in spreadsheets +Oracle Open Office Draw : redo command +Oracle Open Office Draw : reduced printing +Oracle Open Office Draw : reference lines +Oracle Open Office Draw : references +Oracle Open Office Draw : references;displaying in color (Calc) +Oracle Open Office Draw : references;expanding (Calc) +Oracle Open Office Draw : references;iterative (Calc) +Oracle Open Office Draw : register-true +Oracle Open Office Draw : register-true;definition +Oracle Open Office Draw : registering +Oracle Open Office Draw : registering;address books +Oracle Open Office Draw : registering;databases (Base) +Oracle Open Office Draw : registering;Oracle Open Office +Oracle Open Office Draw : regression curves in charts +Oracle Open Office Draw : regular expressions +Oracle Open Office Draw : regular expressions;list of +Oracle Open Office Draw : regular expressions;opening files +Oracle Open Office Draw : rehearse timings +Oracle Open Office Draw : relational databases (Base) +Oracle Open Office Draw : relations +Oracle Open Office Draw : relations;creating and deleting (Base) +Oracle Open Office Draw : relations;joining tables (Base) +Oracle Open Office Draw : relations;properties (Base) +Oracle Open Office Draw : relative hyperlinks +Oracle Open Office Draw : relative saving of URLs +Oracle Open Office Draw : reloading +Oracle Open Office Draw : reloading;documents +Oracle Open Office Draw : reloading;HTML documents, automatically +Oracle Open Office Draw : remarks, see also comments +Oracle Open Office Draw : remote configurations +Oracle Open Office Draw : remove noise filter +Oracle Open Office Draw : removing +Oracle Open Office Draw : removing;bullets and numbering +Oracle Open Office Draw : removing;form filters +Oracle Open Office Draw : removing, see also deleting +Oracle Open Office Draw : renaming layers +Oracle Open Office Draw : reorganizing charts +Oracle Open Office Draw : repeating +Oracle Open Office Draw : repeating;commands +Oracle Open Office Draw : replacement options +Oracle Open Office Draw : replacement table +Oracle Open Office Draw : replacing +Oracle Open Office Draw : replacing;AutoCorrect function +Oracle Open Office Draw : replacing;colors in bitmaps +Oracle Open Office Draw : replacing;dashes +Oracle Open Office Draw : replacing;tab stops (regular expressions) +Oracle Open Office Draw : Report Builder +Oracle Open Office Draw : reports +Oracle Open Office Draw : reports;creating +Oracle Open Office Draw : reports;error reports +Oracle Open Office Draw : reports;opening and editing +Oracle Open Office Draw : reports;templates +Oracle Open Office Draw : resetting +Oracle Open Office Draw : resetting;templates +Oracle Open Office Draw : resizing +Oracle Open Office Draw : resizing;objects, by mouse +Oracle Open Office Draw : resizing, see also scaling/zooming +Oracle Open Office Draw : resolution when printing bitmaps +Oracle Open Office Draw : restoring +Oracle Open Office Draw : restoring;default formatting +Oracle Open Office Draw : restoring;editing +Oracle Open Office Draw : reversing objects +Oracle Open Office Draw : reversing printing order +Oracle Open Office Draw : review function +Oracle Open Office Draw : review function;accepting or rejecting changes +Oracle Open Office Draw : review function;comparing documents +Oracle Open Office Draw : review function;protecting records +Oracle Open Office Draw : review function;recording changes example +Oracle Open Office Draw : rich text control +Oracle Open Office Draw : right alignment of paragraphs +Oracle Open Office Draw : right joins (Base) +Oracle Open Office Draw : right-to-left text +Oracle Open Office Draw : rotating +Oracle Open Office Draw : rotating;3D text +Oracle Open Office Draw : rotating;draw objects +Oracle Open Office Draw : rotation mode +Oracle Open Office Draw : round corners +Oracle Open Office Draw : rounding precision (Calc) +Oracle Open Office Draw : row headers +Oracle Open Office Draw : row headers;displaying (Calc) +Oracle Open Office Draw : row headers;highlighting (Calc) +Oracle Open Office Draw : rows +Oracle Open Office Draw : rows;inserting +Oracle Open Office Draw : rulers +Oracle Open Office Draw : rulers;default settings +Oracle Open Office Draw : rulers;in presentations +Oracle Open Office Draw : rulers;measurement units +Oracle Open Office Draw : rulers;visible in presentations +Oracle Open Office Draw : running macros/programs in presentations +Oracle Open Office Draw : running slide shows +Oracle Open Office Draw : samples and templates +Oracle Open Office Draw : saving +Oracle Open Office Draw : saving;as HTML +Oracle Open Office Draw : saving;default file formats +Oracle Open Office Draw : saving;dialog settings +Oracle Open Office Draw : saving;documents +Oracle Open Office Draw : saving;documents for mobile devices +Oracle Open Office Draw : saving;documents in other formats +Oracle Open Office Draw : saving;documents, automatically +Oracle Open Office Draw : saving;in Microsoft Office file format +Oracle Open Office Draw : saving;options +Oracle Open Office Draw : saving;templates +Oracle Open Office Draw : saving;to XML +Oracle Open Office Draw : saving;VBA code in Microsoft Office documents +Oracle Open Office Draw : saving;with password by default +Oracle Open Office Draw : saving as command +Oracle Open Office Draw : saving as command;precautions +Oracle Open Office Draw : scaling +Oracle Open Office Draw : scaling;axes +Oracle Open Office Draw : scaling;font sizes in user interface +Oracle Open Office Draw : scaling;objects +Oracle Open Office Draw : scaling;pictures +Oracle Open Office Draw : scaling;printing in Oracle Open Office Math +Oracle Open Office Draw : scaling;text in charts +Oracle Open Office Draw : scaling;when printing presentations +Oracle Open Office Draw : scaling, see also zooming +Oracle Open Office Draw : scatter charts +Oracle Open Office Draw : screen +Oracle Open Office Draw : screen;full screen views +Oracle Open Office Draw : screen;scaling +Oracle Open Office Draw : screen magnifiers +Oracle Open Office Draw : screen readers +Oracle Open Office Draw : script organization +Oracle Open Office Draw : scrollbars +Oracle Open Office Draw : scrollbars;controls +Oracle Open Office Draw : scrollbars;displaying (Calc) +Oracle Open Office Draw : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Draw : search criteria for database functions in cells +Oracle Open Office Draw : search engines +Oracle Open Office Draw : search engines;definition +Oracle Open Office Draw : search engines;selecting +Oracle Open Office Draw : searching +Oracle Open Office Draw : searching;all sheets +Oracle Open Office Draw : searching;databases +Oracle Open Office Draw : searching;form filters +Oracle Open Office Draw : searching;Internet +Oracle Open Office Draw : searching;tables and forms +Oracle Open Office Draw : secondary axes in charts +Oracle Open Office Draw : sections +Oracle Open Office Draw : sections;backgrounds +Oracle Open Office Draw : sectors of circles/ellipses +Oracle Open Office Draw : security +Oracle Open Office Draw : security;digital signatures +Oracle Open Office Draw : security;options for documents with macros +Oracle Open Office Draw : security;protecting contents +Oracle Open Office Draw : security;security levels for macros +Oracle Open Office Draw : security;warning dialogs with macros +Oracle Open Office Draw : segments of circles/ellipses +Oracle Open Office Draw : selecting +Oracle Open Office Draw : selecting;controls +Oracle Open Office Draw : selecting;hidden objects +Oracle Open Office Draw : selecting;layers +Oracle Open Office Draw : selecting;measurement units +Oracle Open Office Draw : selecting;objects +Oracle Open Office Draw : selecting;print areas +Oracle Open Office Draw : selecting;several files +Oracle Open Office Draw : selection clipboard +Oracle Open Office Draw : selection frames +Oracle Open Office Draw : selection modes in text +Oracle Open Office Draw : sending +Oracle Open Office Draw : sending;AutoAbstract function in presentations +Oracle Open Office Draw : sending;documents as e-mail +Oracle Open Office Draw : sending;documents as faxes +Oracle Open Office Draw : separator lines +Oracle Open Office Draw : separator lines;defining +Oracle Open Office Draw : separators +Oracle Open Office Draw : separators;conditional +Oracle Open Office Draw : Server Side ImageMap +Oracle Open Office Draw : settings +Oracle Open Office Draw : settings;printers +Oracle Open Office Draw : settings;program configuration +Oracle Open Office Draw : settings;proxies +Oracle Open Office Draw : settings;tracking changes +Oracle Open Office Draw : settings;views +Oracle Open Office Draw : SGML +Oracle Open Office Draw : SGML;definition +Oracle Open Office Draw : shadows +Oracle Open Office Draw : shadows;areas +Oracle Open Office Draw : shadows;borders +Oracle Open Office Draw : shadows;characters +Oracle Open Office Draw : shadows;characters, using context menu +Oracle Open Office Draw : sharing documents +Oracle Open Office Draw : sharpening filter +Oracle Open Office Draw : shearing objects +Oracle Open Office Draw : sheet tabs +Oracle Open Office Draw : sheet tabs;displaying +Oracle Open Office Draw : sheets +Oracle Open Office Draw : sheets;searching all +Oracle Open Office Draw : shells +Oracle Open Office Draw : shortcut keys +Oracle Open Office Draw : shortcut keys;assigning macros +Oracle Open Office Draw : shortcut keys;charts +Oracle Open Office Draw : shortcut keys;general +Oracle Open Office Draw : shortcut keys;in databases +Oracle Open Office Draw : shortcut keys;in drawings +Oracle Open Office Draw : shortcut keys;in presentations +Oracle Open Office Draw : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Draw : showing +Oracle Open Office Draw : showing;changes +Oracle Open Office Draw : showing;docked windows +Oracle Open Office Draw : showing;drawings and controls (Writer) +Oracle Open Office Draw : showing;guides +Oracle Open Office Draw : showing;hidden layers +Oracle Open Office Draw : showing;hidden slides +Oracle Open Office Draw : showing;levels +Oracle Open Office Draw : showing;live presentations on the Internet +Oracle Open Office Draw : showing;slide shows +Oracle Open Office Draw : showing;subpoints +Oracle Open Office Draw : showing;toolbars +Oracle Open Office Draw : sign conversion to curves +Oracle Open Office Draw : signing documents with digital signatures +Oracle Open Office Draw : similarity search +Oracle Open Office Draw : simple handles (Writer) +Oracle Open Office Draw : simplified Chinese +Oracle Open Office Draw : simplified Chinese;translating to traditional Chinese +Oracle Open Office Draw : single sign on options +Oracle Open Office Draw : single-line spacing in text +Oracle Open Office Draw : sizes +Oracle Open Office Draw : sizes;draw objects +Oracle Open Office Draw : sizes;pictures +Oracle Open Office Draw : skewing draw objects +Oracle Open Office Draw : slanting draw objects +Oracle Open Office Draw : slanting objects +Oracle Open Office Draw : slide designs +Oracle Open Office Draw : slide layouts +Oracle Open Office Draw : slide master view +Oracle Open Office Draw : slide masters +Oracle Open Office Draw : slide masters;changing backgrounds +Oracle Open Office Draw : slide masters;designing +Oracle Open Office Draw : slide masters;headers and footers +Oracle Open Office Draw : slide numbers +Oracle Open Office Draw : slide numbers on all slides +Oracle Open Office Draw : slide shows +Oracle Open Office Draw : slide shows;custom +Oracle Open Office Draw : slide shows;settings for +Oracle Open Office Draw : slide shows;starting +Oracle Open Office Draw : slide transitions +Oracle Open Office Draw : slide transitions;applying effects +Oracle Open Office Draw : slide transitions;automatic +Oracle Open Office Draw : slide transitions;manual +Oracle Open Office Draw : slide transitions;sounds +Oracle Open Office Draw : slides +Oracle Open Office Draw : slides;arranging +Oracle Open Office Draw : slides;backgrounds +Oracle Open Office Draw : slides;changing backgrounds +Oracle Open Office Draw : slides;copying between documents +Oracle Open Office Draw : slides;deleting +Oracle Open Office Draw : slides;expanding +Oracle Open Office Draw : slides;formatting +Oracle Open Office Draw : slides;headers and footers +Oracle Open Office Draw : slides;inserting +Oracle Open Office Draw : slides;inserting as links +Oracle Open Office Draw : slides;inserting speaker notes +Oracle Open Office Draw : slides;page numbers +Oracle Open Office Draw : slides;printing +Oracle Open Office Draw : small capitals +Oracle Open Office Draw : small icons +Oracle Open Office Draw : smart tag configuration +Oracle Open Office Draw : smooth scrolling (Writer) +Oracle Open Office Draw : smoothing filter +Oracle Open Office Draw : snap grid defaults (Writer/Calc) +Oracle Open Office Draw : snap lines, see also guides +Oracle Open Office Draw : snap points +Oracle Open Office Draw : snap points;editing +Oracle Open Office Draw : snap points;inserting +Oracle Open Office Draw : snapping in presentations and drawings +Oracle Open Office Draw : solarization filter +Oracle Open Office Draw : sort lists +Oracle Open Office Draw : sort lists;copying to in Calc +Oracle Open Office Draw : sorting +Oracle Open Office Draw : sorting;data in forms +Oracle Open Office Draw : sorting;databases +Oracle Open Office Draw : sound files +Oracle Open Office Draw : sounds +Oracle Open Office Draw : sounds;for effects +Oracle Open Office Draw : sounds;formats +Oracle Open Office Draw : sounds;on slide transitions +Oracle Open Office Draw : spaces +Oracle Open Office Draw : spaces;displaying (Writer) +Oracle Open Office Draw : spaces;ignoring double +Oracle Open Office Draw : spaces;inserting protected spaces +Oracle Open Office Draw : spaces;showing protected spaces (Writer) +Oracle Open Office Draw : spacing +Oracle Open Office Draw : spacing;between paragraphs in footnotes +Oracle Open Office Draw : spacing;font effects +Oracle Open Office Draw : spacing;lines and paragraphs +Oracle Open Office Draw : spacing;tab stops in text documents +Oracle Open Office Draw : spacing;tabs in presentations +Oracle Open Office Draw : spadmin +Oracle Open Office Draw : speaker notes +Oracle Open Office Draw : speaker notes;defaults +Oracle Open Office Draw : speaker notes;inserting +Oracle Open Office Draw : special characters +Oracle Open Office Draw : speech bubbles +Oracle Open Office Draw : speed of printing +Oracle Open Office Draw : spellcheck +Oracle Open Office Draw : spellcheck;activating for a language +Oracle Open Office Draw : spellcheck;context menus +Oracle Open Office Draw : spellcheck;default languages +Oracle Open Office Draw : spellcheck;dialog +Oracle Open Office Draw : spellcheck;dictionary of exceptions +Oracle Open Office Draw : spellcheck;ignore list +Oracle Open Office Draw : spheres +Oracle Open Office Draw : spin button creation +Oracle Open Office Draw : splitting +Oracle Open Office Draw : splitting;combinations +Oracle Open Office Draw : splitting;curves +Oracle Open Office Draw : spoolfiles with Xprinter +Oracle Open Office Draw : spreadsheets +Oracle Open Office Draw : spreadsheets;as databases (base) +Oracle Open Office Draw : spreadsheets;copying areas to text documents +Oracle Open Office Draw : spreadsheets;creating/opening +Oracle Open Office Draw : spreadsheets;in presentations +Oracle Open Office Draw : spreadsheets;inserting charts +Oracle Open Office Draw : spreadsheets;inserting database records +Oracle Open Office Draw : spreadsheets;printing +Oracle Open Office Draw : spreadsheets;saving +Oracle Open Office Draw : spreadsheets;saving automatically +Oracle Open Office Draw : spreadsheets;saving in other formats +Oracle Open Office Draw : spreadsheets;sending as e-mail +Oracle Open Office Draw : SQL +Oracle Open Office Draw : SQL;definition +Oracle Open Office Draw : SQL;DISTINCT parameter +Oracle Open Office Draw : SQL;executing SQL commands +Oracle Open Office Draw : SQL;executing SQL statements (Base) +Oracle Open Office Draw : SQL;queries (Base) +Oracle Open Office Draw : square drawings +Oracle Open Office Draw : standard bar on/off +Oracle Open Office Draw : standard deviation in charts +Oracle Open Office Draw : standard filters in databases +Oracle Open Office Draw : standard printer under UNIX +Oracle Open Office Draw : start center +Oracle Open Office Draw : start parameters +Oracle Open Office Draw : starting +Oracle Open Office Draw : starting;always with the current slide +Oracle Open Office Draw : starting;custom slide shows +Oracle Open Office Draw : starting;slide shows +Oracle Open Office Draw : statistics in charts +Oracle Open Office Draw : status bar on/off +Oracle Open Office Draw : stickers +Oracle Open Office Draw : stock charts +Oracle Open Office Draw : strikethrough +Oracle Open Office Draw : strikethrough;characters +Oracle Open Office Draw : strikethrough;font effects +Oracle Open Office Draw : styles +Oracle Open Office Draw : styles;'changed' message +Oracle Open Office Draw : styles;arrow and line styles +Oracle Open Office Draw : styles;copying between documents +Oracle Open Office Draw : styles;keyboard shortcuts +Oracle Open Office Draw : styles;organizing +Oracle Open Office Draw : styles;printing styles used in a document +Oracle Open Office Draw : styles;replacing automatically +Oracle Open Office Draw : Styles and Formatting window +Oracle Open Office Draw : Styles and Formatting window;docking +Oracle Open Office Draw : Styles and Formatting window;graphics documents +Oracle Open Office Draw : subforms +Oracle Open Office Draw : subforms;creating +Oracle Open Office Draw : subforms;description +Oracle Open Office Draw : submitting forms +Oracle Open Office Draw : subpoints +Oracle Open Office Draw : subpoints;hiding +Oracle Open Office Draw : subpoints;showing +Oracle Open Office Draw : subtracting polygons +Oracle Open Office Draw : suffixes in file formats +Oracle Open Office Draw : summary slide +Oracle Open Office Draw : support on the Web +Oracle Open Office Draw : synchronizing +Oracle Open Office Draw : synchronizing;labels and business cards +Oracle Open Office Draw : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Draw : system address book registration +Oracle Open Office Draw : tab stops +Oracle Open Office Draw : tab stops;displaying (Writer) +Oracle Open Office Draw : tab stops;inserting and editing +Oracle Open Office Draw : tab stops;regular expressions +Oracle Open Office Draw : tab stops;setting in sheets +Oracle Open Office Draw : tab stops;settings +Oracle Open Office Draw : tab stops;spacing in presentations +Oracle Open Office Draw : tab stops;spacing in text documents +Oracle Open Office Draw : table controls +Oracle Open Office Draw : table controls;form functions +Oracle Open Office Draw : table controls;keyboard-only edit mode +Oracle Open Office Draw : table controls;properties +Oracle Open Office Draw : table views of databases +Oracle Open Office Draw : Table Wizard (Base) +Oracle Open Office Draw : tables +Oracle Open Office Draw : tables;inserting line breaks +Oracle Open Office Draw : tables in databases +Oracle Open Office Draw : tables in databases;access rights to (Base) +Oracle Open Office Draw : tables in databases;adding to queries +Oracle Open Office Draw : tables in databases;browsing and editing +Oracle Open Office Draw : tables in databases;copying database tables (Base) +Oracle Open Office Draw : tables in databases;creating +Oracle Open Office Draw : tables in databases;creating in design view (manually) +Oracle Open Office Draw : tables in databases;importing text formats (Base) +Oracle Open Office Draw : tables in databases;joining for queries (Base) +Oracle Open Office Draw : tables in databases;printing queries (Base) +Oracle Open Office Draw : tables in databases;relations (Base) +Oracle Open Office Draw : tables in databases;searching +Oracle Open Office Draw : tables in spreadsheets +Oracle Open Office Draw : tables in spreadsheets;copying data to other applications +Oracle Open Office Draw : tables in spreadsheets;defining borders +Oracle Open Office Draw : tables in spreadsheets;value highlighting +Oracle Open Office Draw : tables in text +Oracle Open Office Draw : tables in text;captions +Oracle Open Office Draw : tables in text;creating automatically +Oracle Open Office Draw : tables in text;default settings +Oracle Open Office Draw : tables in text;defining borders +Oracle Open Office Draw : tables in text;displaying +Oracle Open Office Draw : tables in text;printing +Oracle Open Office Draw : tabs +Oracle Open Office Draw : tabs;displaying sheet tabs +Oracle Open Office Draw : tags +Oracle Open Office Draw : tags;definition +Oracle Open Office Draw : tags;META tags +Oracle Open Office Draw : task pane +Oracle Open Office Draw : templates +Oracle Open Office Draw : templates;agendas +Oracle Open Office Draw : templates;changing basic fonts +Oracle Open Office Draw : templates;database reports +Oracle Open Office Draw : templates;deleting +Oracle Open Office Draw : templates;editing and saving +Oracle Open Office Draw : templates;faxes +Oracle Open Office Draw : templates;importing and exporting +Oracle Open Office Draw : templates;letters +Oracle Open Office Draw : templates;new documents from templates +Oracle Open Office Draw : templates;opening documents with +Oracle Open Office Draw : templates;organizing +Oracle Open Office Draw : terminology +Oracle Open Office Draw : terminology;general glossary +Oracle Open Office Draw : terminology;Internet glossary +Oracle Open Office Draw : testing XML filters +Oracle Open Office Draw : text +Oracle Open Office Draw : text;animating +Oracle Open Office Draw : text;Asian layout +Oracle Open Office Draw : text;bold +Oracle Open Office Draw : text;coloring +Oracle Open Office Draw : text;converting to curves +Oracle Open Office Draw : text;copying by drag and drop +Oracle Open Office Draw : text;CTL languages +Oracle Open Office Draw : text;double-clicking to edit +Oracle Open Office Draw : text;drawing pictures +Oracle Open Office Draw : text;font effects +Oracle Open Office Draw : text;font sizes +Oracle Open Office Draw : text;font styles +Oracle Open Office Draw : text;fonts and formats +Oracle Open Office Draw : text;Fontwork icons +Oracle Open Office Draw : text;hyperlinks +Oracle Open Office Draw : text;inserting special characters +Oracle Open Office Draw : text;italics +Oracle Open Office Draw : text;kerning +Oracle Open Office Draw : text;language selection +Oracle Open Office Draw : text;line spacing +Oracle Open Office Draw : text;overwriting or inserting +Oracle Open Office Draw : text;printing in black +Oracle Open Office Draw : text;replacing with format +Oracle Open Office Draw : text;selection modes +Oracle Open Office Draw : text;shadowed +Oracle Open Office Draw : text;text/draw objects +Oracle Open Office Draw : text;toolbar +Oracle Open Office Draw : text attributes +Oracle Open Office Draw : text attributes;hyperlinks +Oracle Open Office Draw : text attributes;undoing +Oracle Open Office Draw : text boxes +Oracle Open Office Draw : text boxes;form functions +Oracle Open Office Draw : text boxes;positioning +Oracle Open Office Draw : text breaks in cells +Oracle Open Office Draw : text colors for better accessibility +Oracle Open Office Draw : text databases (Base) +Oracle Open Office Draw : text documents +Oracle Open Office Draw : text documents;creating/opening +Oracle Open Office Draw : text documents;importing/exporting +Oracle Open Office Draw : text documents;inserting in slides +Oracle Open Office Draw : text documents;inserting spreadsheet cells +Oracle Open Office Draw : text documents;print settings +Oracle Open Office Draw : text documents;printing +Oracle Open Office Draw : text documents;saving +Oracle Open Office Draw : text documents;saving automatically +Oracle Open Office Draw : text documents;saving in other formats +Oracle Open Office Draw : text documents;sending as e-mail +Oracle Open Office Draw : text effects +Oracle Open Office Draw : text entry mode for draw objects +Oracle Open Office Draw : text flow +Oracle Open Office Draw : text flow;in cells +Oracle Open Office Draw : text formats +Oracle Open Office Draw : text formats;databases +Oracle Open Office Draw : text formats;pasting +Oracle Open Office Draw : text frames +Oracle Open Office Draw : text input fields +Oracle Open Office Draw : text layout for special languages +Oracle Open Office Draw : text objects +Oracle Open Office Draw : text objects;alignment +Oracle Open Office Draw : text objects;draw functions +Oracle Open Office Draw : text objects;fonts +Oracle Open Office Draw : text objects;in presentations and drawings +Oracle Open Office Draw : text overflow in spreadsheet cells +Oracle Open Office Draw : text scaling in charts +Oracle Open Office Draw : text, see also text documents, paragraphs and characters +Oracle Open Office Draw : TextArt, see Fontwork +Oracle Open Office Draw : textures +Oracle Open Office Draw : textures;inserting from Gallery +Oracle Open Office Draw : textures;on chart bars +Oracle Open Office Draw : Thai +Oracle Open Office Draw : Thai;entering text +Oracle Open Office Draw : Thai;language settings +Oracle Open Office Draw : thesaurus +Oracle Open Office Draw : thesaurus;activating for a language +Oracle Open Office Draw : ticker text +Oracle Open Office Draw : tiled printing of slides +Oracle Open Office Draw : time and date on all slides +Oracle Open Office Draw : time fields +Oracle Open Office Draw : time fields;form functions +Oracle Open Office Draw : times +Oracle Open Office Draw : times;fixed +Oracle Open Office Draw : times;inserting when printing presentations +Oracle Open Office Draw : times;variable +Oracle Open Office Draw : times, formats +Oracle Open Office Draw : timings +Oracle Open Office Draw : timings;rehearse timings +Oracle Open Office Draw : tips +Oracle Open Office Draw : tips;extended tips in Help +Oracle Open Office Draw : title rows +Oracle Open Office Draw : title rows;printing in Oracle Open Office Math +Oracle Open Office Draw : titles +Oracle Open Office Draw : titles;alignment (charts) +Oracle Open Office Draw : titles;changing +Oracle Open Office Draw : titles;editing in charts +Oracle Open Office Draw : titles;font effects +Oracle Open Office Draw : titles;formatting automatically +Oracle Open Office Draw : titles;formatting charts +Oracle Open Office Draw : titles;objects +Oracle Open Office Draw : toolbars +Oracle Open Office Draw : toolbars;3D objects +Oracle Open Office Draw : toolbars;adding buttons +Oracle Open Office Draw : toolbars;curves +Oracle Open Office Draw : toolbars;docking/undocking +Oracle Open Office Draw : toolbars;ellipses +Oracle Open Office Draw : toolbars;Form Navigation bar +Oracle Open Office Draw : toolbars;viewing/closing +Oracle Open Office Draw : tools bar +Oracle Open Office Draw : tooltips +Oracle Open Office Draw : tooltips;extended tips +Oracle Open Office Draw : tooltips;help +Oracle Open Office Draw : torus +Oracle Open Office Draw : traditional Chinese +Oracle Open Office Draw : traditional Chinese;translating to simplified chinese +Oracle Open Office Draw : transition effects +Oracle Open Office Draw : transparency +Oracle Open Office Draw : transparency;adjusting +Oracle Open Office Draw : transparency;areas +Oracle Open Office Draw : transparency;of objects +Oracle Open Office Draw : transparency;off for faster printing +Oracle Open Office Draw : transparency;saving +Oracle Open Office Draw : tree view of Help +Oracle Open Office Draw : trend lines in charts +Oracle Open Office Draw : typefaces +Oracle Open Office Draw : typefaces;adding under UNIX +Oracle Open Office Draw : typefaces;formats +Oracle Open Office Draw : typographical quotes in Oracle Open Office Writer +Oracle Open Office Draw : typography +Oracle Open Office Draw : typography;Asian +Oracle Open Office Draw : underlining +Oracle Open Office Draw : underlining;AutoFormat function +Oracle Open Office Draw : underlining;characters +Oracle Open Office Draw : underlining;text +Oracle Open Office Draw : underlying objects +Oracle Open Office Draw : undocking windows +Oracle Open Office Draw : undoing +Oracle Open Office Draw : undoing;direct formatting +Oracle Open Office Draw : undoing;editing +Oracle Open Office Draw : undoing;number of steps +Oracle Open Office Draw : ungrouping groups +Oracle Open Office Draw : units +Oracle Open Office Draw : units;converting +Oracle Open Office Draw : units;measurement units +Oracle Open Office Draw : unlocking layers +Oracle Open Office Draw : UNO components +Oracle Open Office Draw : UNO components;Extension Manager +Oracle Open Office Draw : UNO components;integrating new +Oracle Open Office Draw : update options +Oracle Open Office Draw : updates +Oracle Open Office Draw : updates;checking automatically +Oracle Open Office Draw : updates;checking manually +Oracle Open Office Draw : updating +Oracle Open Office Draw : updating;fields and charts, automatically (Writer) +Oracle Open Office Draw : updating;links in text documents +Oracle Open Office Draw : updating;links, on opening +Oracle Open Office Draw : updating;templates +Oracle Open Office Draw : URL +Oracle Open Office Draw : URL;changing hyperlink URLs +Oracle Open Office Draw : URL;definition +Oracle Open Office Draw : URL;in pictures +Oracle Open Office Draw : URL;saving absolute/relative paths +Oracle Open Office Draw : URL;turning off URL recognition +Oracle Open Office Draw : user data +Oracle Open Office Draw : user data;input +Oracle Open Office Draw : user data;removing when saving +Oracle Open Office Draw : user feedback +Oracle Open Office Draw : user feedback;automatically +Oracle Open Office Draw : user-defined colors +Oracle Open Office Draw : user-defined dictionaries +Oracle Open Office Draw : user-defined dictionaries;creating +Oracle Open Office Draw : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Draw : user-defined dictionaries;editing +Oracle Open Office Draw : user-defined styles +Oracle Open Office Draw : user-defined styles;automatically replacing +Oracle Open Office Draw : UTF-8/UCS2 support +Oracle Open Office Draw : values +Oracle Open Office Draw : values;rounded as shown (Calc) +Oracle Open Office Draw : variables +Oracle Open Office Draw : variables;for paths +Oracle Open Office Draw : variances in charts +Oracle Open Office Draw : VBA code +Oracle Open Office Draw : VBA code;loading/saving documents with VBA code +Oracle Open Office Draw : vector graphics +Oracle Open Office Draw : vector graphics;converting bitmaps +Oracle Open Office Draw : vectorizing bitmaps +Oracle Open Office Draw : version management +Oracle Open Office Draw : version numbers of documents +Oracle Open Office Draw : versions +Oracle Open Office Draw : versions;comparing documents +Oracle Open Office Draw : versions;file saving as, restriction +Oracle Open Office Draw : versions;merging document versions +Oracle Open Office Draw : versions;of a document +Oracle Open Office Draw : versions;Oracle Open Office +Oracle Open Office Draw : vertical callouts +Oracle Open Office Draw : vertical scrollbars (Writer) +Oracle Open Office Draw : vertical text boxes +Oracle Open Office Draw : videos +Oracle Open Office Draw : viewing +Oracle Open Office Draw : viewing;databases +Oracle Open Office Draw : viewing;file properties +Oracle Open Office Draw : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Draw : viewing;toolbars +Oracle Open Office Draw : views +Oracle Open Office Draw : views;black and white +Oracle Open Office Draw : views;creating database views (Base) +Oracle Open Office Draw : views;defaults +Oracle Open Office Draw : views;display sizes +Oracle Open Office Draw : views;full screen +Oracle Open Office Draw : views;icons +Oracle Open Office Draw : views;scaling +Oracle Open Office Draw : views;shift function +Oracle Open Office Draw : views;slide master view +Oracle Open Office Draw : Visual Basic for Applications +Oracle Open Office Draw : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Draw : watermarks +Oracle Open Office Draw : web documents +Oracle Open Office Draw : web documents;XForms +Oracle Open Office Draw : Web support +Oracle Open Office Draw : WebCast export +Oracle Open Office Draw : WebDAV over HTTPS +Oracle Open Office Draw : windows +Oracle Open Office Draw : windows;docking +Oracle Open Office Draw : windows;docking definition +Oracle Open Office Draw : windows;hiding/showing/docking +Oracle Open Office Draw : windows;new +Oracle Open Office Draw : wizards +Oracle Open Office Draw : wizards;agendas +Oracle Open Office Draw : wizards;database queries +Oracle Open Office Draw : wizards;database tables (Base) +Oracle Open Office Draw : wizards;databases (Base) +Oracle Open Office Draw : wizards;document converter +Oracle Open Office Draw : wizards;Euro Converter +Oracle Open Office Draw : wizards;faxes +Oracle Open Office Draw : wizards;forms +Oracle Open Office Draw : wizards;letters +Oracle Open Office Draw : wizards;macros (Base) +Oracle Open Office Draw : wizards;overview +Oracle Open Office Draw : wizards;presentations +Oracle Open Office Draw : wizards;reports +Oracle Open Office Draw : Word documents +Oracle Open Office Draw : Word documents;compatibility +Oracle Open Office Draw : Word documents;saving as +Oracle Open Office Draw : WordArt, see Fontwork +Oracle Open Office Draw : words +Oracle Open Office Draw : words;automatically replacing +Oracle Open Office Draw : words;wrapping in cells +Oracle Open Office Draw : words;wrapping in CTL +Oracle Open Office Draw : working directory change +Oracle Open Office Draw : wrapping text +Oracle Open Office Draw : wrapping text;in cells +Oracle Open Office Draw : write protection on/off +Oracle Open Office Draw : writing aids options +Oracle Open Office Draw : WYSIWYG in fonts lists +Oracle Open Office Draw : X axes +Oracle Open Office Draw : X axes;grid formatting +Oracle Open Office Draw : X axes;positioning +Oracle Open Office Draw : X axes;scaling +Oracle Open Office Draw : X axes;showing +Oracle Open Office Draw : XForms +Oracle Open Office Draw : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Draw : XForms;conditions +Oracle Open Office Draw : XForms;opening/editing +Oracle Open Office Draw : XML converters +Oracle Open Office Draw : XML file formats +Oracle Open Office Draw : XML filters +Oracle Open Office Draw : XML filters;creating/testing +Oracle Open Office Draw : XML filters;saving as package/installing/deleting +Oracle Open Office Draw : XML filters;settings +Oracle Open Office Draw : XML Forms, see XForms +Oracle Open Office Draw : XSLT filters, see also XML filters +Oracle Open Office Draw : XY charts +Oracle Open Office Draw : Y axes +Oracle Open Office Draw : Y axes;formatting +Oracle Open Office Draw : Y axes;grid formatting +Oracle Open Office Draw : Y axes;positioning +Oracle Open Office Draw : Y axes;scaling +Oracle Open Office Draw : Y axes;showing +Oracle Open Office Draw : years +Oracle Open Office Draw : years;2-digit options +Oracle Open Office Draw : Z axes +Oracle Open Office Draw : Z axes;grid formatting +Oracle Open Office Draw : Z axes;showing +Oracle Open Office Draw : zero values +Oracle Open Office Draw : zero values;displaying (Calc) +Oracle Open Office Draw : zooming +Oracle Open Office Draw : zooming;in presentations +Oracle Open Office Draw : zooming;keyboard +Oracle Open Office Draw : zooming;page views +Oracle Open Office Draw : zooming;pictures +Oracle Open Office Draw : zooming;shortcut keys +Oracle Open Office Draw : zooming;status bar +Oracle Open Office Impress : 1/2 replacement +Oracle Open Office Impress : 3D charts +Oracle Open Office Impress : 3D objects +Oracle Open Office Impress : 3D objects;assembling +Oracle Open Office Impress : 3D objects;generating +Oracle Open Office Impress : 3D objects;inserting +Oracle Open Office Impress : 3D rotation objects +Oracle Open Office Impress : 3D rotation objects;converting to +Oracle Open Office Impress : 3D rotation objects;generating +Oracle Open Office Impress : 3D text creation +Oracle Open Office Impress : abbreviation replacement +Oracle Open Office Impress : absolute hyperlinks +Oracle Open Office Impress : absolute saving of URLs +Oracle Open Office Impress : accents +Oracle Open Office Impress : Access databases (base) +Oracle Open Office Impress : access rights for database tables (Base) +Oracle Open Office Impress : accessibility +Oracle Open Office Impress : accessibility;general shortcuts +Oracle Open Office Impress : accessibility;options +Oracle Open Office Impress : accessibility;Oracle Open Office assistive technology +Oracle Open Office Impress : accessibility;Oracle Open Office Draw +Oracle Open Office Impress : accessibility;Oracle Open Office features +Oracle Open Office Impress : accessibility;Oracle Open Office Impress +Oracle Open Office Impress : activating +Oracle Open Office Impress : activating;context menus +Oracle Open Office Impress : activating;Error Report Tool +Oracle Open Office Impress : activating;extended help tips +Oracle Open Office Impress : activating;plug-ins +Oracle Open Office Impress : ActiveX control +Oracle Open Office Impress : Adabas D databases (base) +Oracle Open Office Impress : add-ons, see UNO components +Oracle Open Office Impress : additional selection mode +Oracle Open Office Impress : address books +Oracle Open Office Impress : address books;LDAP server (Base) +Oracle Open Office Impress : address books;registering +Oracle Open Office Impress : address labels from databases +Oracle Open Office Impress : ADO databases (Base) +Oracle Open Office Impress : Agenda Wizard +Oracle Open Office Impress : aging filter +Oracle Open Office Impress : aligning +Oracle Open Office Impress : aligning;2D charts +Oracle Open Office Impress : aligning;cells +Oracle Open Office Impress : aligning;draw objects +Oracle Open Office Impress : aligning;objects +Oracle Open Office Impress : aligning;paragraphs +Oracle Open Office Impress : aligning;tables in text +Oracle Open Office Impress : aligning;text objects +Oracle Open Office Impress : aligning;titles in charts +Oracle Open Office Impress : allowing +Oracle Open Office Impress : allowing;effects +Oracle Open Office Impress : allowing;interaction +Oracle Open Office Impress : alternative fonts +Oracle Open Office Impress : ampersand symbol, see also operators +Oracle Open Office Impress : anchors +Oracle Open Office Impress : anchors;changing +Oracle Open Office Impress : anchors;displaying (Calc) +Oracle Open Office Impress : anchors;types/positions for draw objects +Oracle Open Office Impress : animated GIFs +Oracle Open Office Impress : animated slide transitions +Oracle Open Office Impress : animation effects +Oracle Open Office Impress : animations +Oracle Open Office Impress : animations;accessibility options +Oracle Open Office Impress : animations;editing +Oracle Open Office Impress : animations;list of +Oracle Open Office Impress : animations;saving as GIFs +Oracle Open Office Impress : appearance options +Oracle Open Office Impress : Arabic +Oracle Open Office Impress : Arabic;entering text +Oracle Open Office Impress : Arabic;language settings +Oracle Open Office Impress : area charts +Oracle Open Office Impress : areas +Oracle Open Office Impress : areas;bitmap patterns +Oracle Open Office Impress : areas;from connected lines +Oracle Open Office Impress : areas;hatched/dotted +Oracle Open Office Impress : areas;shadows +Oracle Open Office Impress : areas;slanting +Oracle Open Office Impress : areas;styles +Oracle Open Office Impress : areas;transparency +Oracle Open Office Impress : arguments in command line +Oracle Open Office Impress : arranging +Oracle Open Office Impress : arranging;objects +Oracle Open Office Impress : arranging;objects (guide) +Oracle Open Office Impress : arranging;slides +Oracle Open Office Impress : arrows +Oracle Open Office Impress : arrows;defining arrow heads +Oracle Open Office Impress : arrows;defining arrow lines +Oracle Open Office Impress : arrows;drawing in text +Oracle Open Office Impress : arrows;inserting +Oracle Open Office Impress : arrows;loading arrow styles +Oracle Open Office Impress : ASCII +Oracle Open Office Impress : ASCII;definition +Oracle Open Office Impress : Asian languages +Oracle Open Office Impress : Asian languages;enabling +Oracle Open Office Impress : Asian Phonetic Guide +Oracle Open Office Impress : Asian typography +Oracle Open Office Impress : assembled objects in 3D +Oracle Open Office Impress : assigning scripts +Oracle Open Office Impress : assistive technology in Oracle Open Office +Oracle Open Office Impress : attaching toolbars +Oracle Open Office Impress : attachments in e-mails +Oracle Open Office Impress : attributes +Oracle Open Office Impress : attributes;objects with +Oracle Open Office Impress : audio +Oracle Open Office Impress : authors +Oracle Open Office Impress : auto reloading HTML documents +Oracle Open Office Impress : AutoAbstract function for sending text to presentations +Oracle Open Office Impress : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Impress : AutoComplete function in text and list boxes +Oracle Open Office Impress : AutoCorrect function +Oracle Open Office Impress : AutoCorrect function;context menu +Oracle Open Office Impress : AutoCorrect function;options +Oracle Open Office Impress : AutoCorrect function;pictures and frames +Oracle Open Office Impress : AutoCorrect function;quotes +Oracle Open Office Impress : AutoCorrect function;replacement table +Oracle Open Office Impress : AutoCorrect function;switching on and off in Calc +Oracle Open Office Impress : AutoCorrect function;URL recognition +Oracle Open Office Impress : AutoFormat function +Oracle Open Office Impress : AutoFormat function;switching on and off +Oracle Open Office Impress : automatic captions (Writer) +Oracle Open Office Impress : automatic control focus +Oracle Open Office Impress : automatic hyperlink formatting +Oracle Open Office Impress : automatic line breaks +Oracle Open Office Impress : automatic lines/borders in text +Oracle Open Office Impress : automatic saving +Oracle Open Office Impress : automatic slide changes +Oracle Open Office Impress : automatic slide changes;rehearse timings +Oracle Open Office Impress : automatic slide shows +Oracle Open Office Impress : automatic slide transition +Oracle Open Office Impress : AutoPilots, see wizards +Oracle Open Office Impress : AutoValue (Base) +Oracle Open Office Impress : averages in charts +Oracle Open Office Impress : axes +Oracle Open Office Impress : axes;better scaling +Oracle Open Office Impress : axes;formatting +Oracle Open Office Impress : axes;formatting grids +Oracle Open Office Impress : axes;inserting grids +Oracle Open Office Impress : axes;interval marks +Oracle Open Office Impress : axes;showing axes in charts +Oracle Open Office Impress : axes in charts +Oracle Open Office Impress : backgrounds +Oracle Open Office Impress : backgrounds;changing +Oracle Open Office Impress : backgrounds;defining colors/pictures +Oracle Open Office Impress : backgrounds;deleting unused +Oracle Open Office Impress : backgrounds;frames/sections/indexes +Oracle Open Office Impress : backgrounds;inserting from Gallery +Oracle Open Office Impress : backgrounds;normal view +Oracle Open Office Impress : backgrounds;notes +Oracle Open Office Impress : backgrounds;printing +Oracle Open Office Impress : backgrounds;slides +Oracle Open Office Impress : backing window +Oracle Open Office Impress : backups +Oracle Open Office Impress : backups;automatic +Oracle Open Office Impress : backups;documents +Oracle Open Office Impress : bar charts +Oracle Open Office Impress : Basic +Oracle Open Office Impress : Basic;fonts for source display +Oracle Open Office Impress : Basic;programming +Oracle Open Office Impress : Basic;recording macros +Oracle Open Office Impress : basic fonts +Oracle Open Office Impress : behind object command +Oracle Open Office Impress : Bézier curves +Oracle Open Office Impress : Bézier curves;control points in presentations +Oracle Open Office Impress : bi-directional writing +Oracle Open Office Impress : binding space +Oracle Open Office Impress : bitmaps +Oracle Open Office Impress : bitmaps;converting to +Oracle Open Office Impress : bitmaps;converting to vector graphics +Oracle Open Office Impress : bitmaps;inserting and editing +Oracle Open Office Impress : bitmaps;off for faster printing +Oracle Open Office Impress : bitmaps;patterns +Oracle Open Office Impress : bitmaps;replacing colors +Oracle Open Office Impress : black and white display +Oracle Open Office Impress : black and white printing +Oracle Open Office Impress : black and white view +Oracle Open Office Impress : black printing in Calc +Oracle Open Office Impress : block selection mode +Oracle Open Office Impress : bold +Oracle Open Office Impress : bold;AutoFormat function +Oracle Open Office Impress : bold;text +Oracle Open Office Impress : bookmarks +Oracle Open Office Impress : bookmarks;Help +Oracle Open Office Impress : borders +Oracle Open Office Impress : borders;arranging +Oracle Open Office Impress : borders;cells on screen (Calc) +Oracle Open Office Impress : borders;for paragraphs +Oracle Open Office Impress : borders;for tables +Oracle Open Office Impress : borders;shadows +Oracle Open Office Impress : borders;table boundaries (Writer) +Oracle Open Office Impress : borders, see also frames +Oracle Open Office Impress : bound fields +Oracle Open Office Impress : bound fields;controls +Oracle Open Office Impress : boundaries of tables (Writer) +Oracle Open Office Impress : break display (Writer) +Oracle Open Office Impress : breaking object connections +Oracle Open Office Impress : brochures +Oracle Open Office Impress : brochures;printing several +Oracle Open Office Impress : bubble charts +Oracle Open Office Impress : build numbers of Oracle Open Office +Oracle Open Office Impress : bullet lists +Oracle Open Office Impress : bullet lists;formatting options +Oracle Open Office Impress : bullets +Oracle Open Office Impress : bullets;paragraphs +Oracle Open Office Impress : bullets;replacing +Oracle Open Office Impress : bullets;turning off +Oracle Open Office Impress : business cards +Oracle Open Office Impress : business cards;creating and synchronizing +Oracle Open Office Impress : business cards;using templates +Oracle Open Office Impress : button bars, see toolbars +Oracle Open Office Impress : buttons +Oracle Open Office Impress : buttons;adding push buttons +Oracle Open Office Impress : buttons;big/small +Oracle Open Office Impress : buttons;editing hyperlink buttons +Oracle Open Office Impress : buttons;form functions +Oracle Open Office Impress : buttons;toolbars +Oracle Open Office Impress : cache for graphics +Oracle Open Office Impress : calculating +Oracle Open Office Impress : calculating;iterative references (Calc) +Oracle Open Office Impress : calculating;regression curves +Oracle Open Office Impress : callouts +Oracle Open Office Impress : callouts;drawings +Oracle Open Office Impress : callouts;inserting in presentations +Oracle Open Office Impress : capital letters +Oracle Open Office Impress : capital letters;AutoCorrect function +Oracle Open Office Impress : capital letters;font effects +Oracle Open Office Impress : captions +Oracle Open Office Impress : captions;automatic captions (Writer) +Oracle Open Office Impress : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Impress : captions, see also labels/callouts +Oracle Open Office Impress : cascading update (Base) +Oracle Open Office Impress : case sensitivity +Oracle Open Office Impress : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Impress : case sensitivity;searching +Oracle Open Office Impress : cells +Oracle Open Office Impress : cells;aligning +Oracle Open Office Impress : cells;coloring (Calc) +Oracle Open Office Impress : cells;cursor positions after input (Calc) +Oracle Open Office Impress : cells;formatting without effect (Calc) +Oracle Open Office Impress : cells;line breaks +Oracle Open Office Impress : cells;linked to controls +Oracle Open Office Impress : cells;number of +Oracle Open Office Impress : cells;pasting +Oracle Open Office Impress : cells;resetting formats +Oracle Open Office Impress : cells;showing grid lines (Calc) +Oracle Open Office Impress : centered text +Oracle Open Office Impress : centimeters +Oracle Open Office Impress : certificates +Oracle Open Office Impress : changes +Oracle Open Office Impress : changes;accepting or rejecting +Oracle Open Office Impress : changes;comparing to original +Oracle Open Office Impress : changes;protecting +Oracle Open Office Impress : changes;recording +Oracle Open Office Impress : changes;review function +Oracle Open Office Impress : changes;showing +Oracle Open Office Impress : changing +Oracle Open Office Impress : changing;document titles +Oracle Open Office Impress : changing;file associations in Setup program +Oracle Open Office Impress : changing;icon sizes +Oracle Open Office Impress : changing;layer properties +Oracle Open Office Impress : changing;layout for handouts +Oracle Open Office Impress : changing;links +Oracle Open Office Impress : changing;order of slides +Oracle Open Office Impress : changing;slide layouts +Oracle Open Office Impress : changing;work directory +Oracle Open Office Impress : changing, see also editing and replacing +Oracle Open Office Impress : character styles +Oracle Open Office Impress : character styles;language selection +Oracle Open Office Impress : characters +Oracle Open Office Impress : characters;alternative fonts +Oracle Open Office Impress : characters;Asian layout +Oracle Open Office Impress : characters;bold +Oracle Open Office Impress : characters;coloring +Oracle Open Office Impress : characters;converting to curves +Oracle Open Office Impress : characters;displaying only on screen (Writer) +Oracle Open Office Impress : characters;enabling CTL and Asian characters +Oracle Open Office Impress : characters;font effects +Oracle Open Office Impress : characters;fonts and formats +Oracle Open Office Impress : characters;hyperlinks +Oracle Open Office Impress : characters;italics +Oracle Open Office Impress : characters;language selection +Oracle Open Office Impress : characters;shadowed +Oracle Open Office Impress : characters;spacing +Oracle Open Office Impress : characters;special +Oracle Open Office Impress : characters;underlining +Oracle Open Office Impress : charcoal sketches filter +Oracle Open Office Impress : chart legends +Oracle Open Office Impress : chart legends;hiding +Oracle Open Office Impress : chart legends;showing icons with labels +Oracle Open Office Impress : chart types +Oracle Open Office Impress : chart types;area +Oracle Open Office Impress : chart types;bubble +Oracle Open Office Impress : chart types;column and bar +Oracle Open Office Impress : chart types;column and line +Oracle Open Office Impress : chart types;line +Oracle Open Office Impress : chart types;net +Oracle Open Office Impress : chart types;pie/donut +Oracle Open Office Impress : chart types;stock +Oracle Open Office Impress : chart types;XY (scatter) +Oracle Open Office Impress : charts +Oracle Open Office Impress : charts;3D views +Oracle Open Office Impress : charts;aligning +Oracle Open Office Impress : charts;arranging within stacks +Oracle Open Office Impress : charts;bars with textures +Oracle Open Office Impress : charts;choosing chart types +Oracle Open Office Impress : charts;colors +Oracle Open Office Impress : charts;copying with link to source cell range +Oracle Open Office Impress : charts;data labels +Oracle Open Office Impress : charts;displaying (Calc) +Oracle Open Office Impress : charts;editing axes +Oracle Open Office Impress : charts;editing data +Oracle Open Office Impress : charts;editing legends +Oracle Open Office Impress : charts;editing titles +Oracle Open Office Impress : charts;formatting areas +Oracle Open Office Impress : charts;formatting floors +Oracle Open Office Impress : charts;formatting walls +Oracle Open Office Impress : charts;inserting +Oracle Open Office Impress : charts;overview +Oracle Open Office Impress : charts;positioning axes +Oracle Open Office Impress : charts;properties +Oracle Open Office Impress : charts;reorganizing +Oracle Open Office Impress : charts;scaling axes +Oracle Open Office Impress : charts;scaling text +Oracle Open Office Impress : charts;shortcuts +Oracle Open Office Impress : charts;showing axes +Oracle Open Office Impress : charts;updating automatically (Writer) +Oracle Open Office Impress : check box creation +Oracle Open Office Impress : Chinese writing systems +Oracle Open Office Impress : choosing printers +Oracle Open Office Impress : circle drawings +Oracle Open Office Impress : circle segments +Oracle Open Office Impress : circles +Oracle Open Office Impress : circles;of objects +Oracle Open Office Impress : Client Side ImageMap +Oracle Open Office Impress : clipboard +Oracle Open Office Impress : clipboard;cutting +Oracle Open Office Impress : clipboard;pasting +Oracle Open Office Impress : clipboard;pasting formatted/unformatted text +Oracle Open Office Impress : clipboard;selection clipboard +Oracle Open Office Impress : clipboard;Unix +Oracle Open Office Impress : closing +Oracle Open Office Impress : closing;documents +Oracle Open Office Impress : closing;shapes +Oracle Open Office Impress : closing;toolbars +Oracle Open Office Impress : collaboration +Oracle Open Office Impress : color bar +Oracle Open Office Impress : colors +Oracle Open Office Impress : colors;adding +Oracle Open Office Impress : colors;appearance +Oracle Open Office Impress : colors;backgrounds +Oracle Open Office Impress : colors;charts +Oracle Open Office Impress : colors;default colors +Oracle Open Office Impress : colors;defining and saving +Oracle Open Office Impress : colors;defining gradients interactively +Oracle Open Office Impress : colors;displaying presentations +Oracle Open Office Impress : colors;fill format +Oracle Open Office Impress : colors;fonts +Oracle Open Office Impress : colors;grid lines and cells (Calc) +Oracle Open Office Impress : colors;loading lists +Oracle Open Office Impress : colors;models +Oracle Open Office Impress : colors;not printing +Oracle Open Office Impress : colors;printing in grayscale +Oracle Open Office Impress : colors;replacing +Oracle Open Office Impress : colors;restriction (Calc) +Oracle Open Office Impress : colors;selection +Oracle Open Office Impress : column and line charts +Oracle Open Office Impress : column charts +Oracle Open Office Impress : column headers +Oracle Open Office Impress : column headers;displaying (Calc) +Oracle Open Office Impress : column headers;highlighting (Calc) +Oracle Open Office Impress : columns +Oracle Open Office Impress : columns;inserting +Oracle Open Office Impress : columns;setting with the mouse +Oracle Open Office Impress : combination charts +Oracle Open Office Impress : combining +Oracle Open Office Impress : combining;3D objects +Oracle Open Office Impress : combining;draw objects +Oracle Open Office Impress : combining;undoing +Oracle Open Office Impress : combo box creation +Oracle Open Office Impress : command button creation +Oracle Open Office Impress : command buttons, see push buttons +Oracle Open Office Impress : command line parameters +Oracle Open Office Impress : commands +Oracle Open Office Impress : commands;repeating +Oracle Open Office Impress : commands;SQL +Oracle Open Office Impress : comments +Oracle Open Office Impress : comments;displaying (Calc) +Oracle Open Office Impress : comments;inserting/editing/deleting/printing +Oracle Open Office Impress : comments;on changes +Oracle Open Office Impress : comments;printing in text +Oracle Open Office Impress : common terms +Oracle Open Office Impress : common terms;Chinese dictionary +Oracle Open Office Impress : common terms;glossaries +Oracle Open Office Impress : common terms;Internet glossary +Oracle Open Office Impress : comparisons +Oracle Open Office Impress : comparisons;document versions +Oracle Open Office Impress : comparisons;operators in default filter dialog +Oracle Open Office Impress : compatibility settings for MS Word import +Oracle Open Office Impress : complete screen view +Oracle Open Office Impress : complex text layout +Oracle Open Office Impress : complex text layout;definition +Oracle Open Office Impress : complex text layout;enabling +Oracle Open Office Impress : complex text layout, see CTL +Oracle Open Office Impress : compose key to insert special characters +Oracle Open Office Impress : concatenation, see ampersand symbol +Oracle Open Office Impress : conditional separators +Oracle Open Office Impress : conditions +Oracle Open Office Impress : conditions;in number formats +Oracle Open Office Impress : conditions;items in Data Navigator +Oracle Open Office Impress : cones +Oracle Open Office Impress : Configuration Manager +Oracle Open Office Impress : configuring +Oracle Open Office Impress : configuring;fax icon +Oracle Open Office Impress : configuring;Oracle Open Office +Oracle Open Office Impress : configuring;toolbars +Oracle Open Office Impress : connecting +Oracle Open Office Impress : connecting;draw objects +Oracle Open Office Impress : connecting;lines +Oracle Open Office Impress : connecting;paths and objects +Oracle Open Office Impress : connections to data sources (Base) +Oracle Open Office Impress : connectors +Oracle Open Office Impress : connectors;properties of +Oracle Open Office Impress : connectors;using +Oracle Open Office Impress : constructing shapes +Oracle Open Office Impress : contents protection +Oracle Open Office Impress : context menus +Oracle Open Office Impress : contours +Oracle Open Office Impress : contours;converting to +Oracle Open Office Impress : control point display in presentations +Oracle Open Office Impress : control points definition +Oracle Open Office Impress : controls +Oracle Open Office Impress : controls;activating in forms +Oracle Open Office Impress : controls;adding to documents +Oracle Open Office Impress : controls;arranging in forms +Oracle Open Office Impress : controls;arranging within stacks +Oracle Open Office Impress : controls;assigning data sources +Oracle Open Office Impress : controls;assigning macros (Basic) +Oracle Open Office Impress : controls;bound fields/list contents/linked cells +Oracle Open Office Impress : controls;events +Oracle Open Office Impress : controls;focus +Oracle Open Office Impress : controls;formatted fields +Oracle Open Office Impress : controls;grouping +Oracle Open Office Impress : controls;hidden +Oracle Open Office Impress : controls;inserting +Oracle Open Office Impress : controls;multi-line titles +Oracle Open Office Impress : controls;positions and sizes +Oracle Open Office Impress : controls;printing +Oracle Open Office Impress : controls;properties of form controls +Oracle Open Office Impress : controls;properties of table controls +Oracle Open Office Impress : controls;reference by SQL +Oracle Open Office Impress : controls;rich text control +Oracle Open Office Impress : controls;select mode +Oracle Open Office Impress : controls;showing (Writer) +Oracle Open Office Impress : converters +Oracle Open Office Impress : converters;Euro converter +Oracle Open Office Impress : converters;PostScript, UNIX +Oracle Open Office Impress : converters;XML +Oracle Open Office Impress : converting +Oracle Open Office Impress : converting;bitmaps to polygons +Oracle Open Office Impress : converting;Hangul/Hanja +Oracle Open Office Impress : converting;metrics +Oracle Open Office Impress : converting;Microsoft documents +Oracle Open Office Impress : converting;Oracle Open Office documents +Oracle Open Office Impress : converting;Pocket PC formats +Oracle Open Office Impress : converting;points +Oracle Open Office Impress : converting;text to curves +Oracle Open Office Impress : converting;to bitmaps +Oracle Open Office Impress : converting;to contours +Oracle Open Office Impress : converting;to curves, polygons, 3D +Oracle Open Office Impress : converting;to metafile format (WMF) +Oracle Open Office Impress : copies +Oracle Open Office Impress : copies;printing +Oracle Open Office Impress : copying +Oracle Open Office Impress : copying;by drag and drop +Oracle Open Office Impress : copying;data from text documents +Oracle Open Office Impress : copying;datasource records in spreadsheets +Oracle Open Office Impress : copying;draw objects +Oracle Open Office Impress : copying;draw objects between documents +Oracle Open Office Impress : copying;formatting +Oracle Open Office Impress : copying;from data source view +Oracle Open Office Impress : copying;from Gallery +Oracle Open Office Impress : copying;in Unix +Oracle Open Office Impress : copying;pictures, between documents +Oracle Open Office Impress : copying;sheet areas, to text documents +Oracle Open Office Impress : copying;slides +Oracle Open Office Impress : copying;text from other documents +Oracle Open Office Impress : copying;to Gallery +Oracle Open Office Impress : copyright for Oracle Open Office +Oracle Open Office Impress : corner points +Oracle Open Office Impress : corner roundings +Oracle Open Office Impress : covered objects +Oracle Open Office Impress : crash reports +Oracle Open Office Impress : criteria of query design (Base) +Oracle Open Office Impress : cropping pictures +Oracle Open Office Impress : cross-fading +Oracle Open Office Impress : cross-fading;creating cross-fades +Oracle Open Office Impress : cross-fading;slides +Oracle Open Office Impress : cross-fading;two draw objects +Oracle Open Office Impress : CTL +Oracle Open Office Impress : CTL;(not) wrapping words +Oracle Open Office Impress : CTL;complex text layout languages +Oracle Open Office Impress : CTL;definition +Oracle Open Office Impress : CTL;options +Oracle Open Office Impress : cubes +Oracle Open Office Impress : currencies +Oracle Open Office Impress : currencies;converters +Oracle Open Office Impress : currencies;format codes +Oracle Open Office Impress : currency field creation +Oracle Open Office Impress : currency formats +Oracle Open Office Impress : cursor +Oracle Open Office Impress : cursor;allowing in protected areas (Writer) +Oracle Open Office Impress : cursor;in read-only text +Oracle Open Office Impress : cursor;quickly moving to an object +Oracle Open Office Impress : curves +Oracle Open Office Impress : curves;converting text to +Oracle Open Office Impress : curves;drawing +Oracle Open Office Impress : curves;editing +Oracle Open Office Impress : curves;editing points +Oracle Open Office Impress : curves;properties in line charts/XY charts +Oracle Open Office Impress : curves;toolbar +Oracle Open Office Impress : custom animation +Oracle Open Office Impress : custom colors +Oracle Open Office Impress : custom dictionaries +Oracle Open Office Impress : custom dictionaries;editing +Oracle Open Office Impress : custom gradients +Oracle Open Office Impress : custom hyphens (Writer) +Oracle Open Office Impress : custom quotes +Oracle Open Office Impress : custom slide shows +Oracle Open Office Impress : custom templates +Oracle Open Office Impress : customizing +Oracle Open Office Impress : customizing;events +Oracle Open Office Impress : customizing;keyboard +Oracle Open Office Impress : customizing;menus +Oracle Open Office Impress : customizing;Oracle Open Office +Oracle Open Office Impress : customizing;round corners +Oracle Open Office Impress : customizing;toolbars +Oracle Open Office Impress : cutting +Oracle Open Office Impress : cylinders +Oracle Open Office Impress : dashes +Oracle Open Office Impress : data +Oracle Open Office Impress : data;filtering in forms +Oracle Open Office Impress : data;forms and subforms +Oracle Open Office Impress : data;read-only +Oracle Open Office Impress : data;sorting in forms +Oracle Open Office Impress : data;user data +Oracle Open Office Impress : data binding change in XForms +Oracle Open Office Impress : data labels in charts +Oracle Open Office Impress : Data Navigator +Oracle Open Office Impress : Data Navigator;adding/editing items +Oracle Open Office Impress : Data Navigator;display options +Oracle Open Office Impress : data ranges in charts +Oracle Open Office Impress : data series +Oracle Open Office Impress : data source browser +Oracle Open Office Impress : data source explorer +Oracle Open Office Impress : data source view +Oracle Open Office Impress : data source view;drag and drop +Oracle Open Office Impress : data source view;overview +Oracle Open Office Impress : data source view;showing +Oracle Open Office Impress : data sources +Oracle Open Office Impress : data sources;as tables +Oracle Open Office Impress : data sources;connection settings (Base) +Oracle Open Office Impress : data sources;copying records to spreadsheets +Oracle Open Office Impress : data sources;displaying current +Oracle Open Office Impress : data sources;LDAP server (Base) +Oracle Open Office Impress : data sources;Oracle Open Office Base +Oracle Open Office Impress : data sources;registering address books +Oracle Open Office Impress : data sources;reports +Oracle Open Office Impress : data sources;setting for stock charts +Oracle Open Office Impress : data sources;viewing +Oracle Open Office Impress : data structure of XForms +Oracle Open Office Impress : data values in charts +Oracle Open Office Impress : data, see also values +Oracle Open Office Impress : database contents +Oracle Open Office Impress : database contents;inserting as tables +Oracle Open Office Impress : database contents;inserting as text +Oracle Open Office Impress : database reports +Oracle Open Office Impress : Database Wizard (Base) +Oracle Open Office Impress : databases +Oracle Open Office Impress : databases;administration through SQL (Base) +Oracle Open Office Impress : databases;ADO (Base) +Oracle Open Office Impress : databases;connecting (Base) +Oracle Open Office Impress : databases;creating +Oracle Open Office Impress : databases;creating labels +Oracle Open Office Impress : databases;creating queries +Oracle Open Office Impress : databases;creating reports +Oracle Open Office Impress : databases;creating tables +Oracle Open Office Impress : databases;deleting (Base) +Oracle Open Office Impress : databases;drag and drop (Base) +Oracle Open Office Impress : databases;editing tables +Oracle Open Office Impress : databases;form filters +Oracle Open Office Impress : databases;formats (Base) +Oracle Open Office Impress : databases;importing/exporting +Oracle Open Office Impress : databases;JDBC (Base) +Oracle Open Office Impress : databases;main page (Base) +Oracle Open Office Impress : databases;ODBC (Base) +Oracle Open Office Impress : databases;overview +Oracle Open Office Impress : databases;registering (Base) +Oracle Open Office Impress : databases;searching records +Oracle Open Office Impress : databases;shortcut keys +Oracle Open Office Impress : databases;sorting +Oracle Open Office Impress : databases;standard filters +Oracle Open Office Impress : databases;text formats +Oracle Open Office Impress : databases;viewing +Oracle Open Office Impress : date fields +Oracle Open Office Impress : date fields;creating +Oracle Open Office Impress : date fields;properties +Oracle Open Office Impress : date formats +Oracle Open Office Impress : date on all slides +Oracle Open Office Impress : dates +Oracle Open Office Impress : dates;default (Calc) +Oracle Open Office Impress : dates;fixed +Oracle Open Office Impress : dates;printing in presentations +Oracle Open Office Impress : dates;start 1900/01/01 (Calc) +Oracle Open Office Impress : dates;start 1904/01/01 (Calc) +Oracle Open Office Impress : dates;variable +Oracle Open Office Impress : dBASE +Oracle Open Office Impress : dBASE;database settings (Base) +Oracle Open Office Impress : DDE +Oracle Open Office Impress : DDE;definition +Oracle Open Office Impress : deactivating +Oracle Open Office Impress : deactivating;plug-ins +Oracle Open Office Impress : decimal places displayed (Calc) +Oracle Open Office Impress : decimal separator key +Oracle Open Office Impress : decimal tab stops +Oracle Open Office Impress : decreasing sizes of views +Oracle Open Office Impress : default directories +Oracle Open Office Impress : default filters +Oracle Open Office Impress : default filters;comparison operators +Oracle Open Office Impress : default filters;databases +Oracle Open Office Impress : default printer +Oracle Open Office Impress : default printer;setting up +Oracle Open Office Impress : default printer;UNIX +Oracle Open Office Impress : default templates +Oracle Open Office Impress : default templates;changing +Oracle Open Office Impress : default templates;organizing +Oracle Open Office Impress : defaults +Oracle Open Office Impress : defaults;documents +Oracle Open Office Impress : defaults;file formats in file dialogs +Oracle Open Office Impress : defaults;file formats in Oracle Open Office +Oracle Open Office Impress : defaults;fonts +Oracle Open Office Impress : defaults;grids (Writer/Calc) +Oracle Open Office Impress : defaults;languages +Oracle Open Office Impress : defaults;number formats +Oracle Open Office Impress : defaults;of saving +Oracle Open Office Impress : defaults;program configuration +Oracle Open Office Impress : defaults;tab stops in text +Oracle Open Office Impress : defaults;views +Oracle Open Office Impress : defining +Oracle Open Office Impress : defining;arrowheads and other line ends +Oracle Open Office Impress : defining;colors +Oracle Open Office Impress : defining;gradients +Oracle Open Office Impress : defining;line styles +Oracle Open Office Impress : defining;paragraph borders +Oracle Open Office Impress : defining;queries (Base) +Oracle Open Office Impress : defining;table borders +Oracle Open Office Impress : deleting +Oracle Open Office Impress : deleting;all direct formatting +Oracle Open Office Impress : deleting;animation effects +Oracle Open Office Impress : deleting;comments +Oracle Open Office Impress : deleting;databases (Base) +Oracle Open Office Impress : deleting;hyperlinks +Oracle Open Office Impress : deleting;layers +Oracle Open Office Impress : deleting;lines in text +Oracle Open Office Impress : deleting;models/instances +Oracle Open Office Impress : deleting;namespaces in XForms +Oracle Open Office Impress : deleting;points +Oracle Open Office Impress : deleting;slide transition effects +Oracle Open Office Impress : deleting;slides +Oracle Open Office Impress : deleting;tab stops +Oracle Open Office Impress : deleting;templates +Oracle Open Office Impress : deleting;XML filters +Oracle Open Office Impress : depth stagger +Oracle Open Office Impress : descriptions for objects +Oracle Open Office Impress : design mode after saving +Oracle Open Office Impress : design view +Oracle Open Office Impress : design view;creating forms +Oracle Open Office Impress : design view;queries/views (Base) +Oracle Open Office Impress : designing +Oracle Open Office Impress : designing;database tables +Oracle Open Office Impress : designing;fonts +Oracle Open Office Impress : designing;queries (Base) +Oracle Open Office Impress : detaching toolbars +Oracle Open Office Impress : dictionaries +Oracle Open Office Impress : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Impress : dictionaries;creating +Oracle Open Office Impress : dictionaries;editing user-defined +Oracle Open Office Impress : dictionaries;spellcheck +Oracle Open Office Impress : dictionaries, see also languages +Oracle Open Office Impress : digital signatures +Oracle Open Office Impress : digital signatures;getting/managing/applying +Oracle Open Office Impress : digital signatures;overview +Oracle Open Office Impress : digital signatures;WebDAV over HTTPS +Oracle Open Office Impress : dimension lines +Oracle Open Office Impress : dimension lines;drawing +Oracle Open Office Impress : dimension lines;properties of +Oracle Open Office Impress : direct formatting +Oracle Open Office Impress : direct formatting;undoing all +Oracle Open Office Impress : directories +Oracle Open Office Impress : directories;creating new +Oracle Open Office Impress : directories;directory structure +Oracle Open Office Impress : disabled persons +Oracle Open Office Impress : display qualities of presentations +Oracle Open Office Impress : displaying +Oracle Open Office Impress : displaying;comments (Calc) +Oracle Open Office Impress : displaying;comments in text documents +Oracle Open Office Impress : displaying;non-printing characters (Writer) +Oracle Open Office Impress : displaying;pictures and objects (Writer) +Oracle Open Office Impress : displaying;tables (Writer) +Oracle Open Office Impress : displaying;zero values (Calc) +Oracle Open Office Impress : distances +Oracle Open Office Impress : distinct values in SQL queries +Oracle Open Office Impress : distorting in drawings +Oracle Open Office Impress : distorting objects +Oracle Open Office Impress : distributing draw objects +Oracle Open Office Impress : distributing XML filters +Oracle Open Office Impress : docking +Oracle Open Office Impress : docking;definition +Oracle Open Office Impress : docking;toolbars +Oracle Open Office Impress : docking;windows +Oracle Open Office Impress : Document Converter Wizard +Oracle Open Office Impress : Document Map, see Navigator +Oracle Open Office Impress : document types in Oracle Open Office +Oracle Open Office Impress : documents +Oracle Open Office Impress : documents;changing titles +Oracle Open Office Impress : documents;closing +Oracle Open Office Impress : documents;comparing +Oracle Open Office Impress : documents;contents as lists +Oracle Open Office Impress : documents;editing time +Oracle Open Office Impress : documents;exporting +Oracle Open Office Impress : documents;importing +Oracle Open Office Impress : documents;languages +Oracle Open Office Impress : documents;measurement units in +Oracle Open Office Impress : documents;merging +Oracle Open Office Impress : documents;number of pages/tables/sheets +Oracle Open Office Impress : documents;opening +Oracle Open Office Impress : documents;opening in design mode +Oracle Open Office Impress : documents;opening with templates +Oracle Open Office Impress : documents;organizing +Oracle Open Office Impress : documents;printing +Oracle Open Office Impress : documents;read-only +Oracle Open Office Impress : documents;reloading +Oracle Open Office Impress : documents;saving +Oracle Open Office Impress : documents;saving automatically +Oracle Open Office Impress : documents;saving in other formats +Oracle Open Office Impress : documents;sending as e-mail +Oracle Open Office Impress : documents;styles changed +Oracle Open Office Impress : documents;version management +Oracle Open Office Impress : documents;version numbers +Oracle Open Office Impress : donut charts +Oracle Open Office Impress : dotted areas +Oracle Open Office Impress : double-line spacing in paragraphs +Oracle Open Office Impress : double-line writing in Asian layout +Oracle Open Office Impress : doubling draw objects +Oracle Open Office Impress : drag and drop +Oracle Open Office Impress : drag and drop;copying and pasting text +Oracle Open Office Impress : drag and drop;data source view +Oracle Open Office Impress : drag and drop;from Gallery to draw objects +Oracle Open Office Impress : drag and drop;overview +Oracle Open Office Impress : drag and drop;pictures +Oracle Open Office Impress : drag and drop;to Gallery +Oracle Open Office Impress : Draw instructions +Oracle Open Office Impress : draw objects +Oracle Open Office Impress : draw objects;adding/editing/copying +Oracle Open Office Impress : draw objects;anchoring +Oracle Open Office Impress : draw objects;arranging within stacks +Oracle Open Office Impress : draw objects;combining +Oracle Open Office Impress : draw objects;connecting lines to +Oracle Open Office Impress : draw objects;converting text to +Oracle Open Office Impress : draw objects;copying between documents +Oracle Open Office Impress : draw objects;cross-fading two objects +Oracle Open Office Impress : draw objects;displaying (Calc) +Oracle Open Office Impress : draw objects;dropping Gallery pictures +Oracle Open Office Impress : draw objects;duplicating +Oracle Open Office Impress : draw objects;flipping +Oracle Open Office Impress : draw objects;grouping +Oracle Open Office Impress : draw objects;legends +Oracle Open Office Impress : draw objects;positioning and resizing +Oracle Open Office Impress : draw objects;protecting +Oracle Open Office Impress : draw objects;rotating +Oracle Open Office Impress : draw objects;slanting +Oracle Open Office Impress : draw objects;text entry mode +Oracle Open Office Impress : draw objects;text in +Oracle Open Office Impress : drawing +Oracle Open Office Impress : drawing;3D objects +Oracle Open Office Impress : drawing;freeform lines +Oracle Open Office Impress : drawing;lines +Oracle Open Office Impress : drawing;sectors and segments +Oracle Open Office Impress : Drawing bar +Oracle Open Office Impress : drawing lines in text +Oracle Open Office Impress : drawings +Oracle Open Office Impress : drawings;creating/opening +Oracle Open Office Impress : drawings;languages +Oracle Open Office Impress : drawings;printing +Oracle Open Office Impress : drawings;printing defaults +Oracle Open Office Impress : drawings;printing in text documents +Oracle Open Office Impress : drawings;saving +Oracle Open Office Impress : drawings;saving automatically +Oracle Open Office Impress : drawings;saving in other formats +Oracle Open Office Impress : drawings;sending as e-mail +Oracle Open Office Impress : drawings;shortcut keys +Oracle Open Office Impress : drawings;showing (Writer) +Oracle Open Office Impress : drawings;zoom function in +Oracle Open Office Impress : drawings, see also draw objects +Oracle Open Office Impress : drop-down lists in form functions +Oracle Open Office Impress : duplicating draw objects +Oracle Open Office Impress : e-mail attachments +Oracle Open Office Impress : Edit File icon +Oracle Open Office Impress : edit mode +Oracle Open Office Impress : edit mode;after opening +Oracle Open Office Impress : edit mode;through Enter key (Calc) +Oracle Open Office Impress : Edit Points bar +Oracle Open Office Impress : editing +Oracle Open Office Impress : editing;chart axes +Oracle Open Office Impress : editing;chart data +Oracle Open Office Impress : editing;chart legends +Oracle Open Office Impress : editing;chart titles +Oracle Open Office Impress : editing;comments +Oracle Open Office Impress : editing;curves +Oracle Open Office Impress : editing;data binding of XForms +Oracle Open Office Impress : editing;database tables and queries +Oracle Open Office Impress : editing;draw objects +Oracle Open Office Impress : editing;fields +Oracle Open Office Impress : editing;Fontwork objects +Oracle Open Office Impress : editing;gradients +Oracle Open Office Impress : editing;guides and snap points +Oracle Open Office Impress : editing;hyperlinks +Oracle Open Office Impress : editing;menus +Oracle Open Office Impress : editing;objects +Oracle Open Office Impress : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Impress : editing;pictures +Oracle Open Office Impress : editing;reports +Oracle Open Office Impress : editing;shortcut keys +Oracle Open Office Impress : editing;slide titles +Oracle Open Office Impress : editing;tab stops +Oracle Open Office Impress : editing;templates +Oracle Open Office Impress : editing;titles +Oracle Open Office Impress : editing;toolbars +Oracle Open Office Impress : editing;undoing +Oracle Open Office Impress : editing;XForms +Oracle Open Office Impress : editing time of documents +Oracle Open Office Impress : editors +Oracle Open Office Impress : editors;formula editor +Oracle Open Office Impress : editors;ImageMap editor +Oracle Open Office Impress : effects +Oracle Open Office Impress : effects;animated slide transitions +Oracle Open Office Impress : effects;applying to/removing from objects +Oracle Open Office Impress : effects;font positions +Oracle Open Office Impress : effects;fonts +Oracle Open Office Impress : effects;Fontwork icons +Oracle Open Office Impress : effects;preview +Oracle Open Office Impress : effects;sounds +Oracle Open Office Impress : ellipses +Oracle Open Office Impress : ellipses;segments +Oracle Open Office Impress : ellipses;toolbars +Oracle Open Office Impress : empty documents +Oracle Open Office Impress : empty paragraph removal +Oracle Open Office Impress : encryption of contents +Oracle Open Office Impress : entering groups +Oracle Open Office Impress : entering text from right to left +Oracle Open Office Impress : equal sign, see also operators +Oracle Open Office Impress : equations in formula editor +Oracle Open Office Impress : error bars in charts +Oracle Open Office Impress : error indicators in charts +Oracle Open Office Impress : Error Report Tool +Oracle Open Office Impress : Euro +Oracle Open Office Impress : Euro;currency formats +Oracle Open Office Impress : Euro;Euro Converter Wizard +Oracle Open Office Impress : even/odd pages +Oracle Open Office Impress : even/odd pages;printing +Oracle Open Office Impress : events +Oracle Open Office Impress : events;assigning scripts +Oracle Open Office Impress : events;controls +Oracle Open Office Impress : events;customizing +Oracle Open Office Impress : events;in forms +Oracle Open Office Impress : Excel +Oracle Open Office Impress : Excel;saving as +Oracle Open Office Impress : Excel;search criteria +Oracle Open Office Impress : exceptions +Oracle Open Office Impress : exceptions;user-defined dictionaries +Oracle Open Office Impress : exchanging, see also replacing +Oracle Open Office Impress : executing SQL commands +Oracle Open Office Impress : exiting +Oracle Open Office Impress : exiting;by clicking objects +Oracle Open Office Impress : exiting;groups +Oracle Open Office Impress : exiting;Oracle Open Office +Oracle Open Office Impress : expanding +Oracle Open Office Impress : expanding;slides +Oracle Open Office Impress : expanding formatting (Calc) +Oracle Open Office Impress : explorer of data sources +Oracle Open Office Impress : export filters +Oracle Open Office Impress : exporting +Oracle Open Office Impress : exporting;animations to GIF format +Oracle Open Office Impress : exporting;bitmaps +Oracle Open Office Impress : exporting;HTML and text documents +Oracle Open Office Impress : exporting;Microsoft Office documents with VBA code +Oracle Open Office Impress : exporting;presentations to HTML +Oracle Open Office Impress : exporting;spreadsheets to text format +Oracle Open Office Impress : exporting;templates +Oracle Open Office Impress : exporting;to foreign formats +Oracle Open Office Impress : exporting;to HTML +Oracle Open Office Impress : exporting;to Macromedia Flash format +Oracle Open Office Impress : exporting;to Microsoft Office formats +Oracle Open Office Impress : exporting;to PDF +Oracle Open Office Impress : exporting;to PostScript format +Oracle Open Office Impress : exporting;to XML +Oracle Open Office Impress : exporting;XML files +Oracle Open Office Impress : extended tips in Help +Oracle Open Office Impress : extension mode in text +Oracle Open Office Impress : extensions +Oracle Open Office Impress : extensions;Extension Manager +Oracle Open Office Impress : extensions;file formats +Oracle Open Office Impress : external keys (Base) +Oracle Open Office Impress : extrusion objects +Oracle Open Office Impress : eyedropper tool +Oracle Open Office Impress : faster printing +Oracle Open Office Impress : faxes +Oracle Open Office Impress : faxes;configuring Oracle Open Office +Oracle Open Office Impress : faxes;fax programs/fax printers under UNIX +Oracle Open Office Impress : faxes;selecting a fax machine +Oracle Open Office Impress : faxes;sending +Oracle Open Office Impress : faxes;wizards +Oracle Open Office Impress : feedback +Oracle Open Office Impress : feedback;automatically +Oracle Open Office Impress : fields +Oracle Open Office Impress : fields;authors +Oracle Open Office Impress : fields;database tables +Oracle Open Office Impress : fields;dates (fixed) +Oracle Open Office Impress : fields;dates (variable) +Oracle Open Office Impress : fields;displaying field codes (Writer) +Oracle Open Office Impress : fields;editing +Oracle Open Office Impress : fields;file names +Oracle Open Office Impress : fields;formatted fields +Oracle Open Office Impress : fields;formatting +Oracle Open Office Impress : fields;in slides +Oracle Open Office Impress : fields;page numbers +Oracle Open Office Impress : fields;times (fixed) +Oracle Open Office Impress : fields;times (variable) +Oracle Open Office Impress : fields;updating automatically (Writer) +Oracle Open Office Impress : file associations for Microsoft Office +Oracle Open Office Impress : file filters +Oracle Open Office Impress : file filters;mobile devices +Oracle Open Office Impress : file filters;XML +Oracle Open Office Impress : file formats +Oracle Open Office Impress : file formats;changing Oracle Open Office defaults +Oracle Open Office Impress : file formats;OpenDocument/XML +Oracle Open Office Impress : file formats;saving always in other formats +Oracle Open Office Impress : file selection button +Oracle Open Office Impress : file sharing options for current document +Oracle Open Office Impress : files +Oracle Open Office Impress : files;filters and formats +Oracle Open Office Impress : files;importing +Oracle Open Office Impress : files;inserting +Oracle Open Office Impress : files;inserting pictures +Oracle Open Office Impress : files;opening +Oracle Open Office Impress : files;opening with placeholders +Oracle Open Office Impress : files;properties +Oracle Open Office Impress : files;saving +Oracle Open Office Impress : files;saving automatically +Oracle Open Office Impress : files;saving in other formats +Oracle Open Office Impress : files;sending as e-mail +Oracle Open Office Impress : files;version numbers +Oracle Open Office Impress : files and folders in Oracle Open Office +Oracle Open Office Impress : fill characters with tabulators +Oracle Open Office Impress : fill colors for areas +Oracle Open Office Impress : fill format mode +Oracle Open Office Impress : fill format mode;styles +Oracle Open Office Impress : fill patterns for areas +Oracle Open Office Impress : filter conditions +Oracle Open Office Impress : filter conditions;connecting +Oracle Open Office Impress : filter conditions;in queries (Base) +Oracle Open Office Impress : filtering +Oracle Open Office Impress : filtering;data in databases +Oracle Open Office Impress : filtering;data in forms +Oracle Open Office Impress : filters +Oracle Open Office Impress : filters;comparison operators +Oracle Open Office Impress : filters;for import and export +Oracle Open Office Impress : filters;Navigator +Oracle Open Office Impress : filters;pictures +Oracle Open Office Impress : filters;XML filter settings +Oracle Open Office Impress : Find tab in Help +Oracle Open Office Impress : finding +Oracle Open Office Impress : finding;in all sheets +Oracle Open Office Impress : finding;records in form documents +Oracle Open Office Impress : finding;selections +Oracle Open Office Impress : finding;similarity search +Oracle Open Office Impress : fitting to pages +Oracle Open Office Impress : fitting to pages;individual slides +Oracle Open Office Impress : fitting to pages;print settings in Math +Oracle Open Office Impress : fitting to pages;print settings in presentations +Oracle Open Office Impress : fixed text +Oracle Open Office Impress : fixed text;form functions +Oracle Open Office Impress : fixing toolbars +Oracle Open Office Impress : flipping around a flip line +Oracle Open Office Impress : flipping draw objects +Oracle Open Office Impress : floating frames in HTML documents +Oracle Open Office Impress : floating text +Oracle Open Office Impress : floating toolbars +Oracle Open Office Impress : flowcharts +Oracle Open Office Impress : focus of controls +Oracle Open Office Impress : folder creation +Oracle Open Office Impress : font lists +Oracle Open Office Impress : font name box +Oracle Open Office Impress : font sizes +Oracle Open Office Impress : font sizes;bullets +Oracle Open Office Impress : font sizes;relative changes +Oracle Open Office Impress : font sizes;scaling on screen +Oracle Open Office Impress : font sizes;text +Oracle Open Office Impress : fonts +Oracle Open Office Impress : fonts;adding under UNIX +Oracle Open Office Impress : fonts;changing in templates +Oracle Open Office Impress : fonts;colors +Oracle Open Office Impress : fonts;default settings +Oracle Open Office Impress : fonts;effects +Oracle Open Office Impress : fonts;for HTML and Basic +Oracle Open Office Impress : fonts;formats +Oracle Open Office Impress : fonts;outlines +Oracle Open Office Impress : fonts;positions in text +Oracle Open Office Impress : fonts;shadows +Oracle Open Office Impress : fonts;specifying several +Oracle Open Office Impress : fonts;strikethrough +Oracle Open Office Impress : fonts;styles +Oracle Open Office Impress : fonts;text objects +Oracle Open Office Impress : Fontwork icons +Oracle Open Office Impress : footers +Oracle Open Office Impress : footers;backgrounds +Oracle Open Office Impress : footers;slide masters +Oracle Open Office Impress : footers;slides +Oracle Open Office Impress : form controls +Oracle Open Office Impress : form controls;assigning macros +Oracle Open Office Impress : form controls;protecting +Oracle Open Office Impress : form controls;toolbars +Oracle Open Office Impress : form fields +Oracle Open Office Impress : form filters +Oracle Open Office Impress : Form Navigator +Oracle Open Office Impress : format codes +Oracle Open Office Impress : format codes;numbers +Oracle Open Office Impress : format filling printing in Oracle Open Office Math +Oracle Open Office Impress : Format Paintbrush +Oracle Open Office Impress : formats +Oracle Open Office Impress : formats;Asian layout +Oracle Open Office Impress : formats;fonts +Oracle Open Office Impress : formats;maximizing page formats +Oracle Open Office Impress : formats;number and currency formats +Oracle Open Office Impress : formats;of currencies/date/time +Oracle Open Office Impress : formats;on opening and saving +Oracle Open Office Impress : formats;pasting in special formats +Oracle Open Office Impress : formats;positions +Oracle Open Office Impress : formats;tabulators +Oracle Open Office Impress : formatted fields +Oracle Open Office Impress : formatted fields;form functions +Oracle Open Office Impress : formatted fields;properties +Oracle Open Office Impress : formatting +Oracle Open Office Impress : formatting;Asian typography +Oracle Open Office Impress : formatting;axes in charts +Oracle Open Office Impress : formatting;chart areas +Oracle Open Office Impress : formatting;chart floors +Oracle Open Office Impress : formatting;chart legends +Oracle Open Office Impress : formatting;chart titles +Oracle Open Office Impress : formatting;chart walls +Oracle Open Office Impress : formatting;copying +Oracle Open Office Impress : formatting;definition +Oracle Open Office Impress : formatting;expanding (Calc) +Oracle Open Office Impress : formatting;fields +Oracle Open Office Impress : formatting;font effects +Oracle Open Office Impress : formatting;hyperlinks +Oracle Open Office Impress : formatting;pages +Oracle Open Office Impress : formatting;printer metrics (Writer) +Oracle Open Office Impress : formatting;slides +Oracle Open Office Impress : formatting;slides headings +Oracle Open Office Impress : formatting;undoing +Oracle Open Office Impress : formatting;undoing when writing +Oracle Open Office Impress : forms +Oracle Open Office Impress : forms;browsing +Oracle Open Office Impress : forms;Combo Box/List Box Wizard +Oracle Open Office Impress : forms;creating +Oracle Open Office Impress : forms;data +Oracle Open Office Impress : forms;designing (Base) +Oracle Open Office Impress : forms;events +Oracle Open Office Impress : forms;filtering data +Oracle Open Office Impress : forms;finding records +Oracle Open Office Impress : forms;focus after opening +Oracle Open Office Impress : forms;general information (Base) +Oracle Open Office Impress : forms;grouping controls +Oracle Open Office Impress : forms;HTML filters +Oracle Open Office Impress : forms;inserting +Oracle Open Office Impress : forms;Navigator +Oracle Open Office Impress : forms;opening in design mode +Oracle Open Office Impress : forms;properties +Oracle Open Office Impress : forms;sorting data +Oracle Open Office Impress : forms;subforms +Oracle Open Office Impress : forms;wizards +Oracle Open Office Impress : forms;XForms +Oracle Open Office Impress : formula texts +Oracle Open Office Impress : formula texts;printing in Oracle Open Office Math +Oracle Open Office Impress : formulas +Oracle Open Office Impress : formulas;new +Oracle Open Office Impress : formulas;starting formula editor +Oracle Open Office Impress : formulas in reports +Oracle Open Office Impress : formulas in reports;editing +Oracle Open Office Impress : forums and support +Oracle Open Office Impress : frames +Oracle Open Office Impress : frames;around paragraphs +Oracle Open Office Impress : frames;around tables +Oracle Open Office Impress : frames;AutoCorrect function +Oracle Open Office Impress : frames;backgrounds +Oracle Open Office Impress : frames;captions (Writer) +Oracle Open Office Impress : frames;printing in Oracle Open Office Math +Oracle Open Office Impress : frames;protecting +Oracle Open Office Impress : frames;selection frames +Oracle Open Office Impress : frames;text fitting to frames +Oracle Open Office Impress : freeform lines +Oracle Open Office Impress : freeform lines;draw functions +Oracle Open Office Impress : freeform lines;drawing +Oracle Open Office Impress : FTP +Oracle Open Office Impress : FTP;opening documents +Oracle Open Office Impress : FTP;saving documents +Oracle Open Office Impress : full joins (Base) +Oracle Open Office Impress : full screen view +Oracle Open Office Impress : full-text search in Help +Oracle Open Office Impress : functions in reports +Oracle Open Office Impress : functions in reports;editing +Oracle Open Office Impress : Gallery +Oracle Open Office Impress : Gallery;adding pictures +Oracle Open Office Impress : Gallery;dragging pictures to draw objects +Oracle Open Office Impress : Gallery;hiding/showing +Oracle Open Office Impress : Gallery;inserting pictures from +Oracle Open Office Impress : geometric forms +Oracle Open Office Impress : get method for form transmissions +Oracle Open Office Impress : getting support +Oracle Open Office Impress : GIF format +Oracle Open Office Impress : GIF images +Oracle Open Office Impress : GIF images;animating +Oracle Open Office Impress : GIF images;replacing colors +Oracle Open Office Impress : glossaries +Oracle Open Office Impress : glossaries;common terms +Oracle Open Office Impress : glossaries;Internet terms +Oracle Open Office Impress : glue points +Oracle Open Office Impress : glue points;using +Oracle Open Office Impress : gradients +Oracle Open Office Impress : gradients;applying and defining +Oracle Open Office Impress : gradients;defining colors +Oracle Open Office Impress : gradients;loading lists +Oracle Open Office Impress : gradients;transparent +Oracle Open Office Impress : gradients off for faster printing +Oracle Open Office Impress : graphic objects, see draw objects +Oracle Open Office Impress : graphical text art +Oracle Open Office Impress : graphics +Oracle Open Office Impress : graphics;cache +Oracle Open Office Impress : graphics;protecting +Oracle Open Office Impress : graphics, see also pictures +Oracle Open Office Impress : grayscale display +Oracle Open Office Impress : grayscale printing +Oracle Open Office Impress : grid controls +Oracle Open Office Impress : grid controls;form functions +Oracle Open Office Impress : grids +Oracle Open Office Impress : grids;defaults (Writer/Calc) +Oracle Open Office Impress : grids;display options (Impress/Draw) +Oracle Open Office Impress : grids;displaying lines (Calc) +Oracle Open Office Impress : grids;formatting axes +Oracle Open Office Impress : grids;inserting in charts +Oracle Open Office Impress : group box creation +Oracle Open Office Impress : grouping +Oracle Open Office Impress : grouping;draw objects +Oracle Open Office Impress : groups +Oracle Open Office Impress : groups;entering/exiting/ungrouping +Oracle Open Office Impress : groups;naming +Oracle Open Office Impress : groups;of controls +Oracle Open Office Impress : guides +Oracle Open Office Impress : guides;display options (Impress/Draw) +Oracle Open Office Impress : guides;displaying when moving objects (Impress) +Oracle Open Office Impress : guides;editing +Oracle Open Office Impress : guides;inserting +Oracle Open Office Impress : guides;show snap lines icon +Oracle Open Office Impress : guides;showing (Calc) +Oracle Open Office Impress : guides;showing when moving frames (Writer) +Oracle Open Office Impress : gutter +Oracle Open Office Impress : half-spheres +Oracle Open Office Impress : hand icon for moving slides +Oracle Open Office Impress : handles +Oracle Open Office Impress : handles;displaying (Writer) +Oracle Open Office Impress : handles;large +Oracle Open Office Impress : handles;scaling +Oracle Open Office Impress : handles;showing simple/large handles (Calc) +Oracle Open Office Impress : handles;simple +Oracle Open Office Impress : handout printing +Oracle Open Office Impress : Hangul/Hanja +Oracle Open Office Impress : hatching +Oracle Open Office Impress : hatching +Oracle Open Office Impress : hatching;loading lists +Oracle Open Office Impress : headers +Oracle Open Office Impress : headers;backgrounds +Oracle Open Office Impress : headers and footers +Oracle Open Office Impress : headers and footers;master layouts +Oracle Open Office Impress : headers and footers;slide masters +Oracle Open Office Impress : headers and footers;slides +Oracle Open Office Impress : headings +Oracle Open Office Impress : headings;entering as text box +Oracle Open Office Impress : Hebrew +Oracle Open Office Impress : Hebrew;entering text +Oracle Open Office Impress : Hebrew;language settings +Oracle Open Office Impress : Help +Oracle Open Office Impress : Help;bookmarks +Oracle Open Office Impress : Help;extended tips on/off +Oracle Open Office Impress : Help;full-text search +Oracle Open Office Impress : Help;Help tips +Oracle Open Office Impress : Help;keywords +Oracle Open Office Impress : Help;navigation pane showing/hiding +Oracle Open Office Impress : Help;style sheets +Oracle Open Office Impress : Help;topics +Oracle Open Office Impress : Help Agent +Oracle Open Office Impress : Help Agent;help +Oracle Open Office Impress : Help Agent;options +Oracle Open Office Impress : Help tips +Oracle Open Office Impress : Help tips;hiding +Oracle Open Office Impress : hidden controls in Form Navigator +Oracle Open Office Impress : hidden fields display (Writer) +Oracle Open Office Impress : hidden pages +Oracle Open Office Impress : hidden pages;printing in presentations +Oracle Open Office Impress : hidden pages;showing +Oracle Open Office Impress : hidden text +Oracle Open Office Impress : hidden text;showing (Writer) +Oracle Open Office Impress : hiding +Oracle Open Office Impress : hiding;changes +Oracle Open Office Impress : hiding;chart legends +Oracle Open Office Impress : hiding;docked windows +Oracle Open Office Impress : hiding;layers +Oracle Open Office Impress : hiding;levels +Oracle Open Office Impress : hiding;navigation pane in Help window +Oracle Open Office Impress : hiding;slides +Oracle Open Office Impress : hiding;subpoints +Oracle Open Office Impress : high contrast mode +Oracle Open Office Impress : Hindi +Oracle Open Office Impress : Hindi;entering text +Oracle Open Office Impress : Hindi;language settings +Oracle Open Office Impress : horizontal scrollbars (Writer) +Oracle Open Office Impress : hot spots in flowcharts +Oracle Open Office Impress : hotspots +Oracle Open Office Impress : HowTos for charts +Oracle Open Office Impress : Howtos for Draw +Oracle Open Office Impress : HTML +Oracle Open Office Impress : HTML;definition +Oracle Open Office Impress : HTML;export character set +Oracle Open Office Impress : HTML;exporting from presentations +Oracle Open Office Impress : HTML;fonts for source display +Oracle Open Office Impress : HTML;importing into presentations +Oracle Open Office Impress : HTML;importing META tags +Oracle Open Office Impress : HTML;inserting files +Oracle Open Office Impress : HTML;live presentations +Oracle Open Office Impress : HTML documents +Oracle Open Office Impress : HTML documents;auto reloading +Oracle Open Office Impress : HTML documents;importing/exporting +Oracle Open Office Impress : HTML documents;META tags in +Oracle Open Office Impress : HTML documents;new +Oracle Open Office Impress : HTML documents;source text +Oracle Open Office Impress : hyperlinks +Oracle Open Office Impress : hyperlinks;assigning macros +Oracle Open Office Impress : hyperlinks;character formats +Oracle Open Office Impress : hyperlinks;definition +Oracle Open Office Impress : hyperlinks;deleting +Oracle Open Office Impress : hyperlinks;editing +Oracle Open Office Impress : hyperlinks;inserting +Oracle Open Office Impress : hyperlinks;relative and absolute +Oracle Open Office Impress : hyperlinks;turning off automatic recognition +Oracle Open Office Impress : hyperlinks, see also links +Oracle Open Office Impress : hyphenation +Oracle Open Office Impress : hyphenation;activating for a language +Oracle Open Office Impress : hyphenation;minimal number of characters +Oracle Open Office Impress : hyphens +Oracle Open Office Impress : hyphens;displaying custom (Writer) +Oracle Open Office Impress : hyphens;inserting custom +Oracle Open Office Impress : icon bars, see toolbars +Oracle Open Office Impress : icon sizes +Oracle Open Office Impress : ignore list for spellcheck +Oracle Open Office Impress : illumination +Oracle Open Office Impress : illumination;3D charts +Oracle Open Office Impress : illustrations, see pictures +Oracle Open Office Impress : image button creation +Oracle Open Office Impress : image control creation +Oracle Open Office Impress : ImageMap +Oracle Open Office Impress : ImageMap;definition +Oracle Open Office Impress : ImageMap;editor +Oracle Open Office Impress : images +Oracle Open Office Impress : images;ImageMap +Oracle Open Office Impress : images;inserting +Oracle Open Office Impress : images;inserting and editing bitmaps +Oracle Open Office Impress : images, see also pictures +Oracle Open Office Impress : IME +Oracle Open Office Impress : IME;definition +Oracle Open Office Impress : IME;showing/hiding +Oracle Open Office Impress : import filters +Oracle Open Office Impress : import restrictions for Microsoft Office +Oracle Open Office Impress : importing +Oracle Open Office Impress : importing;bitmaps +Oracle Open Office Impress : importing;compatibility settings for text import +Oracle Open Office Impress : importing;databases +Oracle Open Office Impress : importing;documents in other formats +Oracle Open Office Impress : importing;from XML +Oracle Open Office Impress : importing;HTML and text documents +Oracle Open Office Impress : importing;HTML with META tags +Oracle Open Office Impress : importing;Microsoft Office documents with VBA code +Oracle Open Office Impress : importing;presentations with HTML +Oracle Open Office Impress : importing;tables in text format +Oracle Open Office Impress : importing;templates +Oracle Open Office Impress : improvement program +Oracle Open Office Impress : in front of object command +Oracle Open Office Impress : inches +Oracle Open Office Impress : including spreadsheets +Oracle Open Office Impress : increasing sizes of views +Oracle Open Office Impress : Index tab in Help +Oracle Open Office Impress : indexes +Oracle Open Office Impress : indexes;backgrounds +Oracle Open Office Impress : indexes;showing/hiding Help index tab +Oracle Open Office Impress : indicator lines in text +Oracle Open Office Impress : inner joins (Base) +Oracle Open Office Impress : input method window +Oracle Open Office Impress : insert mode for entering text +Oracle Open Office Impress : inserting +Oracle Open Office Impress : inserting;3D objects +Oracle Open Office Impress : inserting;arrows +Oracle Open Office Impress : inserting;buttons in toolbars +Oracle Open Office Impress : inserting;callouts in presentations +Oracle Open Office Impress : inserting;cell ranges from spreadsheets +Oracle Open Office Impress : inserting;charts +Oracle Open Office Impress : inserting;clipboard options +Oracle Open Office Impress : inserting;columns +Oracle Open Office Impress : inserting;comments +Oracle Open Office Impress : inserting;data from text documents +Oracle Open Office Impress : inserting;datasource records in spreadsheets +Oracle Open Office Impress : inserting;drawings +Oracle Open Office Impress : inserting;ellipses +Oracle Open Office Impress : inserting;files +Oracle Open Office Impress : inserting;floating frames +Oracle Open Office Impress : inserting;Fontwork objects +Oracle Open Office Impress : inserting;form fields +Oracle Open Office Impress : inserting;headers/footers in all slides +Oracle Open Office Impress : inserting;hyperlinks +Oracle Open Office Impress : inserting;layers +Oracle Open Office Impress : inserting;line breaks in cells +Oracle Open Office Impress : inserting;lines +Oracle Open Office Impress : inserting;movies/sounds +Oracle Open Office Impress : inserting;new text tables defaults +Oracle Open Office Impress : inserting;objects from files +Oracle Open Office Impress : inserting;objects from Gallery +Oracle Open Office Impress : inserting;OLE objects +Oracle Open Office Impress : inserting;paragraph borders +Oracle Open Office Impress : inserting;paragraph bullets +Oracle Open Office Impress : inserting;pictures +Oracle Open Office Impress : inserting;pictures in Gallery +Oracle Open Office Impress : inserting;plug-ins +Oracle Open Office Impress : inserting;polygons +Oracle Open Office Impress : inserting;push buttons +Oracle Open Office Impress : inserting;rectangles +Oracle Open Office Impress : inserting;rows +Oracle Open Office Impress : inserting;slides +Oracle Open Office Impress : inserting;slides as links +Oracle Open Office Impress : inserting;slides from files +Oracle Open Office Impress : inserting;special characters +Oracle Open Office Impress : inserting;tab stops +Oracle Open Office Impress : inserting;text frames +Oracle Open Office Impress : inserting;text in presentations +Oracle Open Office Impress : inserting;textures on chart bars +Oracle Open Office Impress : installing +Oracle Open Office Impress : installing;ActiveX control +Oracle Open Office Impress : installing;mobile device filters +Oracle Open Office Impress : installing;UNO components +Oracle Open Office Impress : installing;XML filters +Oracle Open Office Impress : instructions +Oracle Open Office Impress : instructions;general +Oracle Open Office Impress : instructions;Oracle Open Office Draw +Oracle Open Office Impress : instructions;Oracle Open Office Impress +Oracle Open Office Impress : interactions +Oracle Open Office Impress : interactions;hot spots +Oracle Open Office Impress : interactions;objects in interactive presentations +Oracle Open Office Impress : interactions;preview +Oracle Open Office Impress : Internet +Oracle Open Office Impress : Internet;checking for updates +Oracle Open Office Impress : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Impress : Internet;presentations +Oracle Open Office Impress : Internet;starting searches +Oracle Open Office Impress : Internet glossary +Oracle Open Office Impress : intersecting draw objects +Oracle Open Office Impress : invert filter +Oracle Open Office Impress : invisible areas +Oracle Open Office Impress : italic text +Oracle Open Office Impress : iterative references in spreadsheets +Oracle Open Office Impress : Java +Oracle Open Office Impress : Java;definition +Oracle Open Office Impress : Java;setting options +Oracle Open Office Impress : JDBC +Oracle Open Office Impress : JDBC;databases (Base) +Oracle Open Office Impress : JDBC;definition +Oracle Open Office Impress : joining +Oracle Open Office Impress : joining;3D objects +Oracle Open Office Impress : joining;paragraphs +Oracle Open Office Impress : joining;tables (Base) +Oracle Open Office Impress : joins in databases (Base) +Oracle Open Office Impress : justifying text +Oracle Open Office Impress : kerning +Oracle Open Office Impress : kerning;Asian texts +Oracle Open Office Impress : kerning;definition +Oracle Open Office Impress : kerning;in characters +Oracle Open Office Impress : key fields for relations (Base) +Oracle Open Office Impress : keyboard +Oracle Open Office Impress : keyboard;assigning/editing shortcut keys +Oracle Open Office Impress : keyboard;general commands +Oracle Open Office Impress : keyboard;removing numbering +Oracle Open Office Impress : keyboard;zooming +Oracle Open Office Impress : keys +Oracle Open Office Impress : keys;adding push buttons +Oracle Open Office Impress : keys;primary keys (Base) +Oracle Open Office Impress : kiosk export +Oracle Open Office Impress : labels +Oracle Open Office Impress : labels;creating and synchronizing +Oracle Open Office Impress : labels;for charts +Oracle Open Office Impress : labels;for draw objects +Oracle Open Office Impress : labels;form functions +Oracle Open Office Impress : labels;from databases +Oracle Open Office Impress : labels, see also names/callouts +Oracle Open Office Impress : languages +Oracle Open Office Impress : languages;activating modules +Oracle Open Office Impress : languages;Asian support +Oracle Open Office Impress : languages;complex text layout +Oracle Open Office Impress : languages;locale settings +Oracle Open Office Impress : languages;selecting for text +Oracle Open Office Impress : languages;setting options +Oracle Open Office Impress : languages;spellcheck +Oracle Open Office Impress : languages;spellchecking and formatting +Oracle Open Office Impress : large handles (Writer) +Oracle Open Office Impress : large icons +Oracle Open Office Impress : layer arrangement +Oracle Open Office Impress : layers +Oracle Open Office Impress : layers;definition +Oracle Open Office Impress : layers;deleting +Oracle Open Office Impress : layers;inserting and editing +Oracle Open Office Impress : layers;moving objects +Oracle Open Office Impress : layers;renaming +Oracle Open Office Impress : layers;working with +Oracle Open Office Impress : layout +Oracle Open Office Impress : layout;importing Word documents +Oracle Open Office Impress : layout;pages +Oracle Open Office Impress : layout;printing handouts +Oracle Open Office Impress : LDAP server +Oracle Open Office Impress : LDAP server;address books (Base) +Oracle Open Office Impress : LDAP server;sign on options +Oracle Open Office Impress : leading between paragraphs +Oracle Open Office Impress : left alignment of paragraphs +Oracle Open Office Impress : left joins (Base) +Oracle Open Office Impress : legends +Oracle Open Office Impress : legends;charts +Oracle Open Office Impress : legends;draw objects +Oracle Open Office Impress : legends;drawings +Oracle Open Office Impress : legends;rounding corners +Oracle Open Office Impress : Letter Wizard +Oracle Open Office Impress : levels +Oracle Open Office Impress : levels;depth stagger +Oracle Open Office Impress : levels;hiding +Oracle Open Office Impress : levels;macro security +Oracle Open Office Impress : levels;showing +Oracle Open Office Impress : limits of tables (Writer) +Oracle Open Office Impress : line breaks +Oracle Open Office Impress : line breaks;in cells +Oracle Open Office Impress : line charts +Oracle Open Office Impress : line spacing +Oracle Open Office Impress : line spacing;context menu in paragraphs +Oracle Open Office Impress : line spacing;paragraph +Oracle Open Office Impress : line styles +Oracle Open Office Impress : line styles;applying +Oracle Open Office Impress : line styles;defining +Oracle Open Office Impress : line styles;loading +Oracle Open Office Impress : lines +Oracle Open Office Impress : lines;about line ends +Oracle Open Office Impress : lines;connecting objects +Oracle Open Office Impress : lines;defining ends +Oracle Open Office Impress : lines;draw functions +Oracle Open Office Impress : lines;drawing +Oracle Open Office Impress : lines;drawing in text +Oracle Open Office Impress : lines;editing points +Oracle Open Office Impress : lines;inserting +Oracle Open Office Impress : lines;removing automatic lines +Oracle Open Office Impress : lines of text +Oracle Open Office Impress : lines of text;alignment +Oracle Open Office Impress : links +Oracle Open Office Impress : links;between cells and controls +Oracle Open Office Impress : links;by drag and drop +Oracle Open Office Impress : links;character formats +Oracle Open Office Impress : links;definition +Oracle Open Office Impress : links;editing hyperlinks +Oracle Open Office Impress : links;inserting +Oracle Open Office Impress : links;modifying +Oracle Open Office Impress : links;opening files with +Oracle Open Office Impress : links;relational databases (Base) +Oracle Open Office Impress : links;turning off automatic recognition +Oracle Open Office Impress : links;updating options (Writer) +Oracle Open Office Impress : links;updating specific links +Oracle Open Office Impress : list box creation +Oracle Open Office Impress : lists +Oracle Open Office Impress : lists;animations +Oracle Open Office Impress : lists;data assigned to controls +Oracle Open Office Impress : lists;registered databases (Base) +Oracle Open Office Impress : lists;regular expressions +Oracle Open Office Impress : live presentations on the Internet +Oracle Open Office Impress : loading +Oracle Open Office Impress : loading;arrow and line styles +Oracle Open Office Impress : loading;colors/gradients/hatchings +Oracle Open Office Impress : loading;documents +Oracle Open Office Impress : loading;documents from other formats +Oracle Open Office Impress : loading;HTML documents, automatically +Oracle Open Office Impress : loading;Microsoft Office documents with VBA code +Oracle Open Office Impress : loading;reloading +Oracle Open Office Impress : loading;XML files +Oracle Open Office Impress : locale settings +Oracle Open Office Impress : locking layers +Oracle Open Office Impress : logarithmic scaling along axes +Oracle Open Office Impress : lowercase letters +Oracle Open Office Impress : lowercase letters;font effects +Oracle Open Office Impress : Macro Wizard (Base) +Oracle Open Office Impress : Macromedia Flash export +Oracle Open Office Impress : macros +Oracle Open Office Impress : macros;assigning to events in forms +Oracle Open Office Impress : macros;attaching new (Base) +Oracle Open Office Impress : macros;in MS Office documents +Oracle Open Office Impress : macros;interrupting +Oracle Open Office Impress : macros;organizing +Oracle Open Office Impress : macros;recording +Oracle Open Office Impress : macros;running in presentations +Oracle Open Office Impress : macros;security +Oracle Open Office Impress : macros;security levels +Oracle Open Office Impress : macros;security warning dialog +Oracle Open Office Impress : macros;selecting security warnings +Oracle Open Office Impress : magnetic lines in presentations +Oracle Open Office Impress : magnifiers +Oracle Open Office Impress : margins +Oracle Open Office Impress : margins;pages +Oracle Open Office Impress : margins;setting with the mouse +Oracle Open Office Impress : margins;shadows +Oracle Open Office Impress : marking changes +Oracle Open Office Impress : marking, see selecting +Oracle Open Office Impress : master layouts with headers and footers +Oracle Open Office Impress : master pages, see slide masters +Oracle Open Office Impress : master views +Oracle Open Office Impress : Math formula editor +Oracle Open Office Impress : mean value lines in charts +Oracle Open Office Impress : measurement units +Oracle Open Office Impress : measurement units;changing on rulers +Oracle Open Office Impress : measurement units;converting +Oracle Open Office Impress : measurement units;selecting +Oracle Open Office Impress : Media Player window +Oracle Open Office Impress : menus +Oracle Open Office Impress : menus;activating context menus +Oracle Open Office Impress : menus;assigning macros +Oracle Open Office Impress : menus;customizing +Oracle Open Office Impress : merging +Oracle Open Office Impress : merging;documents +Oracle Open Office Impress : merging;draw objects +Oracle Open Office Impress : META tags +Oracle Open Office Impress : metafiles +Oracle Open Office Impress : metafiles;converting to +Oracle Open Office Impress : metafiles;replacing colors +Oracle Open Office Impress : metrics +Oracle Open Office Impress : metrics;converting +Oracle Open Office Impress : metrics;document formatting (Writer) +Oracle Open Office Impress : metrics;in sheets +Oracle Open Office Impress : Microsoft Office +Oracle Open Office Impress : Microsoft Office;Access databases (base) +Oracle Open Office Impress : Microsoft Office;as default file format +Oracle Open Office Impress : Microsoft Office;document import restrictions +Oracle Open Office Impress : Microsoft Office;feature comparisons +Oracle Open Office Impress : Microsoft Office;importing password protected files +Oracle Open Office Impress : Microsoft Office;importing Word documents +Oracle Open Office Impress : Microsoft Office;importing/exporting VBA code +Oracle Open Office Impress : Microsoft Office;new users information +Oracle Open Office Impress : Microsoft Office;opening Microsoft documents +Oracle Open Office Impress : Microsoft Office;reassigning document types +Oracle Open Office Impress : migrating macros (Base) +Oracle Open Office Impress : mirroring objects +Oracle Open Office Impress : mobile device filters +Oracle Open Office Impress : models in XForms +Oracle Open Office Impress : modifying, see changing +Oracle Open Office Impress : more controls +Oracle Open Office Impress : mosaic filter +Oracle Open Office Impress : motion paths +Oracle Open Office Impress : mouse +Oracle Open Office Impress : mouse;pointers when using drag and drop +Oracle Open Office Impress : mouse;positioning +Oracle Open Office Impress : movies +Oracle Open Office Impress : moving +Oracle Open Office Impress : moving;between layers +Oracle Open Office Impress : moving;objects in slides +Oracle Open Office Impress : moving;tab stops on ruler +Oracle Open Office Impress : moving;toolbars +Oracle Open Office Impress : moving;using guide lines in presentations +Oracle Open Office Impress : MS ADO interface (Base) +Oracle Open Office Impress : multi-line titles in forms +Oracle Open Office Impress : multiple documents +Oracle Open Office Impress : multiple documents;opening +Oracle Open Office Impress : multiple monitors +Oracle Open Office Impress : multiple selection +Oracle Open Office Impress : multiplying draw objects +Oracle Open Office Impress : music +Oracle Open Office Impress : My Documents folder +Oracle Open Office Impress : My Documents folder;changing work directory +Oracle Open Office Impress : My Documents folder;opening +Oracle Open Office Impress : MySQL databases (Base) +Oracle Open Office Impress : names +Oracle Open Office Impress : names;multi-line titles +Oracle Open Office Impress : names;objects +Oracle Open Office Impress : names, see also labels/callouts +Oracle Open Office Impress : namespace organization in XForms +Oracle Open Office Impress : native SQL (Base) +Oracle Open Office Impress : navigating +Oracle Open Office Impress : navigating;in documents +Oracle Open Office Impress : Navigation bar +Oracle Open Office Impress : Navigation bar;controls +Oracle Open Office Impress : Navigation bar;forms +Oracle Open Office Impress : Navigator +Oracle Open Office Impress : Navigator;comments +Oracle Open Office Impress : Navigator;contents as lists +Oracle Open Office Impress : Navigator;docking +Oracle Open Office Impress : Navigator;presentations +Oracle Open Office Impress : Navigator;working with +Oracle Open Office Impress : net charts +Oracle Open Office Impress : network identity options +Oracle Open Office Impress : new databases +Oracle Open Office Impress : new documents +Oracle Open Office Impress : new lines in cells +Oracle Open Office Impress : new windows +Oracle Open Office Impress : non-breaking dashes +Oracle Open Office Impress : non-breaking spaces (Writer) +Oracle Open Office Impress : non-printing characters (Writer) +Oracle Open Office Impress : normal view +Oracle Open Office Impress : normal view;backgrounds +Oracle Open Office Impress : normal view;presentations +Oracle Open Office Impress : notes +Oracle Open Office Impress : notes;adding to slides +Oracle Open Office Impress : notes;default formatting +Oracle Open Office Impress : notes;printing in presentations +Oracle Open Office Impress : number formats +Oracle Open Office Impress : number formats;codes +Oracle Open Office Impress : number formats;formats +Oracle Open Office Impress : number formats;recognition in text tables +Oracle Open Office Impress : number of pages +Oracle Open Office Impress : number of sheets +Oracle Open Office Impress : number of tables +Oracle Open Office Impress : numbering +Oracle Open Office Impress : numbering;options +Oracle Open Office Impress : numbering;turning off +Oracle Open Office Impress : numbering;using automatically +Oracle Open Office Impress : numbers +Oracle Open Office Impress : numbers;date, time and currency formats +Oracle Open Office Impress : numbers;decimal places (Calc) +Oracle Open Office Impress : numerical fields in forms +Oracle Open Office Impress : object bars +Oracle Open Office Impress : object bars;editing glue points +Oracle Open Office Impress : objects +Oracle Open Office Impress : objects;aligning +Oracle Open Office Impress : objects;always moveable (Impress/Draw) +Oracle Open Office Impress : objects;arranging within stacks +Oracle Open Office Impress : objects;behind object command +Oracle Open Office Impress : objects;breaking connections +Oracle Open Office Impress : objects;copying when moving in presentations +Oracle Open Office Impress : objects;definition +Oracle Open Office Impress : objects;displaying in spreadsheets +Oracle Open Office Impress : objects;displaying in text documents +Oracle Open Office Impress : objects;editing +Oracle Open Office Impress : objects;effects +Oracle Open Office Impress : objects;in front of object command +Oracle Open Office Impress : objects;inserting from files +Oracle Open Office Impress : objects;inserting from Gallery +Oracle Open Office Impress : objects;inserting OLE objects +Oracle Open Office Impress : objects;moving along paths +Oracle Open Office Impress : objects;moving and resizing with mouse +Oracle Open Office Impress : objects;moving in layers +Oracle Open Office Impress : objects;moving in slides +Oracle Open Office Impress : objects;naming +Oracle Open Office Impress : objects;opening +Oracle Open Office Impress : objects;properties of charts +Oracle Open Office Impress : objects;quickly moving to +Oracle Open Office Impress : objects;reversing +Oracle Open Office Impress : objects;selecting +Oracle Open Office Impress : objects;titles and descriptions +Oracle Open Office Impress : objects;with attributes +Oracle Open Office Impress : ODBC +Oracle Open Office Impress : ODBC;database (Base) +Oracle Open Office Impress : ODBC;definition +Oracle Open Office Impress : ODF file formats +Oracle Open Office Impress : Office +Oracle Open Office Impress : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Impress : OLE +Oracle Open Office Impress : OLE;definition +Oracle Open Office Impress : OLE objects +Oracle Open Office Impress : OLE objects;arranging within stacks +Oracle Open Office Impress : OLE objects;captions (Writer) +Oracle Open Office Impress : OLE objects;inserting +Oracle Open Office Impress : OLE objects;number of +Oracle Open Office Impress : OLE objects;protecting +Oracle Open Office Impress : one and a half line spacing in text +Oracle Open Office Impress : online feedback options +Oracle Open Office Impress : online registration +Oracle Open Office Impress : online update options +Oracle Open Office Impress : online updates +Oracle Open Office Impress : online updates;checking automatically +Oracle Open Office Impress : online updates;checking manually +Oracle Open Office Impress : Open/Save dialogs +Oracle Open Office Impress : OpenDocument file formats +Oracle Open Office Impress : OpenGL +Oracle Open Office Impress : OpenGL;definition +Oracle Open Office Impress : opening +Oracle Open Office Impress : opening;context menus +Oracle Open Office Impress : opening;database files +Oracle Open Office Impress : opening;dialog settings +Oracle Open Office Impress : opening;documents +Oracle Open Office Impress : opening;documents from other formats +Oracle Open Office Impress : opening;documents on WebDAV server +Oracle Open Office Impress : opening;files with links +Oracle Open Office Impress : opening;files, with placeholders +Oracle Open Office Impress : opening;forms +Oracle Open Office Impress : opening;Microsoft Office files +Oracle Open Office Impress : opening;mobile device documents +Oracle Open Office Impress : opening;objects +Oracle Open Office Impress : opening;reports +Oracle Open Office Impress : opening;several files +Oracle Open Office Impress : opening;XForms +Oracle Open Office Impress : operators +Oracle Open Office Impress : operators;default filters +Oracle Open Office Impress : optional hyphens (Writer) +Oracle Open Office Impress : options +Oracle Open Office Impress : options;accessibility +Oracle Open Office Impress : options;appearance +Oracle Open Office Impress : options;compatibility (Writer) +Oracle Open Office Impress : options;improvement program +Oracle Open Office Impress : options;network identity +Oracle Open Office Impress : options;online update +Oracle Open Office Impress : options;tools +Oracle Open Office Impress : Oracle databases (base) +Oracle Open Office Impress : Oracle Open Office Base data sources +Oracle Open Office Impress : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Impress : Oracle Open Office documents +Oracle Open Office Impress : Oracle Open Office documents;mobile device filters +Oracle Open Office Impress : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Impress : Oracle Open Office Impress instructions +Oracle Open Office Impress : Oracle Open Office Math start +Oracle Open Office Impress : order of chart data +Oracle Open Office Impress : ordering +Oracle Open Office Impress : ordering;objects +Oracle Open Office Impress : ordering;slides +Oracle Open Office Impress : organization charts +Oracle Open Office Impress : organizing +Oracle Open Office Impress : organizing;macros and scripts +Oracle Open Office Impress : organizing;namespaces in XForms +Oracle Open Office Impress : organizing;styles +Oracle Open Office Impress : organizing;templates +Oracle Open Office Impress : origin of rulers +Oracle Open Office Impress : original size +Oracle Open Office Impress : original size;printing in Oracle Open Office Math +Oracle Open Office Impress : original size;restoring after cropping +Oracle Open Office Impress : outline view +Oracle Open Office Impress : outlines +Oracle Open Office Impress : outlines;font effects +Oracle Open Office Impress : outlines;outline symbols +Oracle Open Office Impress : outlines;printing +Oracle Open Office Impress : outlines;sending to presentations +Oracle Open Office Impress : overwrite mode +Oracle Open Office Impress : packages, see extensions +Oracle Open Office Impress : page breaks +Oracle Open Office Impress : page breaks;displaying (Calc) +Oracle Open Office Impress : page formats +Oracle Open Office Impress : page formats;maximizing +Oracle Open Office Impress : page formats;restriction +Oracle Open Office Impress : page number field +Oracle Open Office Impress : page numbers on all slides +Oracle Open Office Impress : page styles +Oracle Open Office Impress : page styles;editing/applying with statusbar +Oracle Open Office Impress : pages +Oracle Open Office Impress : pages;backgrounds in all applications +Oracle Open Office Impress : pages;copying +Oracle Open Office Impress : pages;fitting to printed pages +Oracle Open Office Impress : pages;formatting and numbering +Oracle Open Office Impress : pages;printing page names in presentations +Oracle Open Office Impress : pages;scaling +Oracle Open Office Impress : pages;selecting one to print +Oracle Open Office Impress : paint box +Oracle Open Office Impress : paint can symbol +Oracle Open Office Impress : pair kerning +Oracle Open Office Impress : Palm file filters +Oracle Open Office Impress : paper formats +Oracle Open Office Impress : paper size warning +Oracle Open Office Impress : paper trays +Oracle Open Office Impress : paragraph marks +Oracle Open Office Impress : paragraph marks;displaying (Writer) +Oracle Open Office Impress : paragraph styles +Oracle Open Office Impress : paragraph styles;languages +Oracle Open Office Impress : paragraph styles;modifying basic fonts +Oracle Open Office Impress : paragraphs +Oracle Open Office Impress : paragraphs;alignment +Oracle Open Office Impress : paragraphs;Asian typography +Oracle Open Office Impress : paragraphs;defining borders +Oracle Open Office Impress : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Impress : paragraphs;increasing indents of +Oracle Open Office Impress : paragraphs;indents, margins and columns +Oracle Open Office Impress : paragraphs;inserting bullets +Oracle Open Office Impress : paragraphs;joining +Oracle Open Office Impress : paragraphs;numbering automatically +Oracle Open Office Impress : paragraphs;removing blank ones +Oracle Open Office Impress : paragraphs;spacing +Oracle Open Office Impress : paragraphs;tab stops +Oracle Open Office Impress : parameters +Oracle Open Office Impress : parameters;command line +Oracle Open Office Impress : parameters;queries (Base) +Oracle Open Office Impress : passwords for protecting contents +Oracle Open Office Impress : pasting +Oracle Open Office Impress : pasting;cell ranges +Oracle Open Office Impress : pasting;cell ranges from spreadsheets +Oracle Open Office Impress : pasting;data from text documents +Oracle Open Office Impress : pasting;draw objects +Oracle Open Office Impress : pasting;draw objects from other documents +Oracle Open Office Impress : pasting;formatted/unformatted text +Oracle Open Office Impress : pasting;from data source view +Oracle Open Office Impress : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Impress : pasting;pictures from other documents +Oracle Open Office Impress : pasting;sheet areas in text documents +Oracle Open Office Impress : pasting;slides from other presentations +Oracle Open Office Impress : pasting;text from other documents +Oracle Open Office Impress : pasting;to Gallery +Oracle Open Office Impress : paths +Oracle Open Office Impress : paths;changing work directory +Oracle Open Office Impress : paths;defaults +Oracle Open Office Impress : paths;moving objects along +Oracle Open Office Impress : pattern editor +Oracle Open Office Impress : pattern fields +Oracle Open Office Impress : pattern fields;form functions +Oracle Open Office Impress : patterns for objects +Oracle Open Office Impress : PDF +Oracle Open Office Impress : PDF;export +Oracle Open Office Impress : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Impress : personal data input +Oracle Open Office Impress : phonetic guide +Oracle Open Office Impress : picklist creation +Oracle Open Office Impress : pictures +Oracle Open Office Impress : pictures;adding to Gallery +Oracle Open Office Impress : pictures;arranging within stacks +Oracle Open Office Impress : pictures;assigning macros +Oracle Open Office Impress : pictures;backgrounds +Oracle Open Office Impress : pictures;captions (Writer) +Oracle Open Office Impress : pictures;changing paths +Oracle Open Office Impress : pictures;cropping and zooming +Oracle Open Office Impress : pictures;displaying in Calc +Oracle Open Office Impress : pictures;displaying in Writer (Writer) +Oracle Open Office Impress : pictures;drag and drop between documents +Oracle Open Office Impress : pictures;drawing +Oracle Open Office Impress : pictures;editing +Oracle Open Office Impress : pictures;filters +Oracle Open Office Impress : pictures;ImageMap +Oracle Open Office Impress : pictures;inserting +Oracle Open Office Impress : pictures;inserting automatically +Oracle Open Office Impress : pictures;inserting from Gallery +Oracle Open Office Impress : pictures;number of +Oracle Open Office Impress : pictures;printing +Oracle Open Office Impress : pictures;scaling/resizing +Oracle Open Office Impress : pie charts +Oracle Open Office Impress : pie charts;options +Oracle Open Office Impress : pie charts;types +Oracle Open Office Impress : pivot points of draw objects +Oracle Open Office Impress : pixel editor +Oracle Open Office Impress : pixel graphics +Oracle Open Office Impress : pixel graphics;inserting and editing +Oracle Open Office Impress : pixel patterns +Oracle Open Office Impress : placeholders +Oracle Open Office Impress : placeholders;in SQL queries +Oracle Open Office Impress : placeholders;on opening files +Oracle Open Office Impress : placing toolbars +Oracle Open Office Impress : playing movies and sound files +Oracle Open Office Impress : plotting data as charts +Oracle Open Office Impress : plug-ins +Oracle Open Office Impress : plug-ins;activating and deactivating +Oracle Open Office Impress : plug-ins;definition +Oracle Open Office Impress : plug-ins;inserting +Oracle Open Office Impress : pocket device appliances +Oracle Open Office Impress : Pocket PC file filters +Oracle Open Office Impress : points +Oracle Open Office Impress : points;adding/converting/deleting +Oracle Open Office Impress : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Impress : polygon drawing +Oracle Open Office Impress : polygons +Oracle Open Office Impress : polygons;inserting +Oracle Open Office Impress : polygons;intersecting/subtracting/merging +Oracle Open Office Impress : pop-art filter +Oracle Open Office Impress : portable document format +Oracle Open Office Impress : positioning +Oracle Open Office Impress : positioning;axes +Oracle Open Office Impress : positioning;draw objects and controls +Oracle Open Office Impress : positioning;fonts +Oracle Open Office Impress : positioning;objects +Oracle Open Office Impress : positioning;toolbars +Oracle Open Office Impress : post method for form transmissions +Oracle Open Office Impress : posterizing filter +Oracle Open Office Impress : PostScript +Oracle Open Office Impress : PostScript;creating files +Oracle Open Office Impress : PostScript;PDF converter, UNIX +Oracle Open Office Impress : PowerPoint export +Oracle Open Office Impress : precision as shown (Calc) +Oracle Open Office Impress : predefining fonts +Oracle Open Office Impress : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Impress : presentations +Oracle Open Office Impress : presentations;arranging slides +Oracle Open Office Impress : presentations;creating/opening +Oracle Open Office Impress : presentations;exiting by interaction +Oracle Open Office Impress : presentations;exporting to HTML +Oracle Open Office Impress : presentations;importing HTML +Oracle Open Office Impress : presentations;inserting spreadsheet cells +Oracle Open Office Impress : presentations;inserting spreadsheets +Oracle Open Office Impress : presentations;live on the Internet +Oracle Open Office Impress : presentations;navigating +Oracle Open Office Impress : presentations;numbering slides in +Oracle Open Office Impress : presentations;ordering of effects +Oracle Open Office Impress : presentations;print menu +Oracle Open Office Impress : presentations;printing +Oracle Open Office Impress : presentations;rehearse timings +Oracle Open Office Impress : presentations;saving +Oracle Open Office Impress : presentations;saving automatically +Oracle Open Office Impress : presentations;saving in other formats +Oracle Open Office Impress : presentations;sending as e-mail +Oracle Open Office Impress : presentations;settings for +Oracle Open Office Impress : presentations;shortcut keys +Oracle Open Office Impress : presentations;starting +Oracle Open Office Impress : presentations;starting with wizard +Oracle Open Office Impress : presentations;window / full screen +Oracle Open Office Impress : presentations;wizards +Oracle Open Office Impress : Presenter Console shortcuts +Oracle Open Office Impress : press buttons, see push buttons +Oracle Open Office Impress : previews +Oracle Open Office Impress : previews;fonts lists +Oracle Open Office Impress : primary keys +Oracle Open Office Impress : primary keys;defining +Oracle Open Office Impress : primary keys;design view +Oracle Open Office Impress : primary keys;inserting (Base) +Oracle Open Office Impress : print area selection +Oracle Open Office Impress : printer metrics for document formatting (Writer) +Oracle Open Office Impress : printers +Oracle Open Office Impress : printers;adding, UNIX +Oracle Open Office Impress : printers;choosing +Oracle Open Office Impress : printers;default printer +Oracle Open Office Impress : printers;faxes under UNIX +Oracle Open Office Impress : printers;maximum page formats +Oracle Open Office Impress : printers;paper trays +Oracle Open Office Impress : printers;properties +Oracle Open Office Impress : printing +Oracle Open Office Impress : printing;black and white +Oracle Open Office Impress : printing;brochures +Oracle Open Office Impress : printing;colors in grayscale +Oracle Open Office Impress : printing;comments +Oracle Open Office Impress : printing;copies +Oracle Open Office Impress : printing;creating individual jobs +Oracle Open Office Impress : printing;dates in presentations +Oracle Open Office Impress : printing;directly +Oracle Open Office Impress : printing;documents +Oracle Open Office Impress : printing;drawings defaults +Oracle Open Office Impress : printing;elements in text documents +Oracle Open Office Impress : printing;faster +Oracle Open Office Impress : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Impress : printing;fitting to pages in presentations +Oracle Open Office Impress : printing;fitting to paper +Oracle Open Office Impress : printing;formulas in Oracle Open Office Math +Oracle Open Office Impress : printing;hidden pages of presentations +Oracle Open Office Impress : printing;in original size in Oracle Open Office Math +Oracle Open Office Impress : printing;left/right pages +Oracle Open Office Impress : printing;presentations +Oracle Open Office Impress : printing;queries (Base) +Oracle Open Office Impress : printing;scaling in Oracle Open Office Math +Oracle Open Office Impress : printing;selections +Oracle Open Office Impress : printing;text always in black +Oracle Open Office Impress : printing;text in reverse order +Oracle Open Office Impress : printing;tiling pages in presentations +Oracle Open Office Impress : printing;transparencies +Oracle Open Office Impress : printing;warnings +Oracle Open Office Impress : printing;without scaling in presentations +Oracle Open Office Impress : printing speed +Oracle Open Office Impress : programming +Oracle Open Office Impress : programming;Oracle Open Office +Oracle Open Office Impress : programming;scripting +Oracle Open Office Impress : programs run by mouse click in presentations +Oracle Open Office Impress : properties +Oracle Open Office Impress : properties;charts +Oracle Open Office Impress : properties;fields in databases +Oracle Open Office Impress : properties;files +Oracle Open Office Impress : properties;form controls +Oracle Open Office Impress : properties;forms +Oracle Open Office Impress : properties;printers +Oracle Open Office Impress : properties;smooth lines in line charts/XY charts +Oracle Open Office Impress : protected contents +Oracle Open Office Impress : protected dashes +Oracle Open Office Impress : protected database tables +Oracle Open Office Impress : protected documents +Oracle Open Office Impress : protected spaces +Oracle Open Office Impress : protected spaces;inserting +Oracle Open Office Impress : protected spaces;showing (Writer) +Oracle Open Office Impress : protecting +Oracle Open Office Impress : protecting;contents +Oracle Open Office Impress : protecting;recorded changes +Oracle Open Office Impress : proxy settings +Oracle Open Office Impress : push buttons +Oracle Open Office Impress : push buttons;adding to documents +Oracle Open Office Impress : push buttons;creating +Oracle Open Office Impress : pyramids +Oracle Open Office Impress : queries +Oracle Open Office Impress : queries;copying (Base) +Oracle Open Office Impress : queries;creating in design view (Base) +Oracle Open Office Impress : queries;creating in SQL view +Oracle Open Office Impress : queries;defining (Base) +Oracle Open Office Impress : queries;deleting table links (Base) +Oracle Open Office Impress : queries;editing in data source view +Oracle Open Office Impress : queries;formulating filter conditions (Base) +Oracle Open Office Impress : queries;joining tables (Base) +Oracle Open Office Impress : queries;missing elements (Base) +Oracle Open Office Impress : queries;overview (Base) +Oracle Open Office Impress : queries;parameter queries (Base) +Oracle Open Office Impress : queries;printing (Base) +Oracle Open Office Impress : Query Wizard (Base) +Oracle Open Office Impress : Quickstarter +Oracle Open Office Impress : quotation marks +Oracle Open Office Impress : quotation marks;replacing +Oracle Open Office Impress : quotes +Oracle Open Office Impress : quotes;custom +Oracle Open Office Impress : radar charts, see net charts +Oracle Open Office Impress : radio button creation +Oracle Open Office Impress : read-only documents +Oracle Open Office Impress : read-only documents;cursor +Oracle Open Office Impress : read-only documents;database tables on/off +Oracle Open Office Impress : read-only documents;editing +Oracle Open Office Impress : read-only documents;opening documents as +Oracle Open Office Impress : read-only items in Data Navigator +Oracle Open Office Impress : recognizing URLs automatically +Oracle Open Office Impress : recording +Oracle Open Office Impress : recording;changes +Oracle Open Office Impress : recording;display times for slides +Oracle Open Office Impress : recording;macros +Oracle Open Office Impress : records +Oracle Open Office Impress : records;inserting comments +Oracle Open Office Impress : records;protecting +Oracle Open Office Impress : records;saving +Oracle Open Office Impress : records;searching in databases +Oracle Open Office Impress : rectangles +Oracle Open Office Impress : rectangles with round corners +Oracle Open Office Impress : recursions in spreadsheets +Oracle Open Office Impress : redo command +Oracle Open Office Impress : reduced printing +Oracle Open Office Impress : reference lines +Oracle Open Office Impress : references +Oracle Open Office Impress : references;displaying in color (Calc) +Oracle Open Office Impress : references;expanding (Calc) +Oracle Open Office Impress : references;iterative (Calc) +Oracle Open Office Impress : register-true +Oracle Open Office Impress : register-true;definition +Oracle Open Office Impress : registering +Oracle Open Office Impress : registering;address books +Oracle Open Office Impress : registering;databases (Base) +Oracle Open Office Impress : registering;Oracle Open Office +Oracle Open Office Impress : regression curves in charts +Oracle Open Office Impress : regular expressions +Oracle Open Office Impress : regular expressions;list of +Oracle Open Office Impress : regular expressions;opening files +Oracle Open Office Impress : rehearse timings +Oracle Open Office Impress : relational databases (Base) +Oracle Open Office Impress : relations +Oracle Open Office Impress : relations;creating and deleting (Base) +Oracle Open Office Impress : relations;joining tables (Base) +Oracle Open Office Impress : relations;properties (Base) +Oracle Open Office Impress : relative hyperlinks +Oracle Open Office Impress : relative saving of URLs +Oracle Open Office Impress : reloading +Oracle Open Office Impress : reloading;documents +Oracle Open Office Impress : reloading;HTML documents, automatically +Oracle Open Office Impress : remarks, see also comments +Oracle Open Office Impress : remote configurations +Oracle Open Office Impress : remove noise filter +Oracle Open Office Impress : removing +Oracle Open Office Impress : removing;bullets and numbering +Oracle Open Office Impress : removing;form filters +Oracle Open Office Impress : removing, see also deleting +Oracle Open Office Impress : renaming layers +Oracle Open Office Impress : reorganizing charts +Oracle Open Office Impress : repeating +Oracle Open Office Impress : repeating;commands +Oracle Open Office Impress : replacement options +Oracle Open Office Impress : replacement table +Oracle Open Office Impress : replacing +Oracle Open Office Impress : replacing;AutoCorrect function +Oracle Open Office Impress : replacing;colors in bitmaps +Oracle Open Office Impress : replacing;dashes +Oracle Open Office Impress : replacing;tab stops (regular expressions) +Oracle Open Office Impress : Report Builder +Oracle Open Office Impress : reports +Oracle Open Office Impress : reports;creating +Oracle Open Office Impress : reports;error reports +Oracle Open Office Impress : reports;opening and editing +Oracle Open Office Impress : reports;templates +Oracle Open Office Impress : resetting +Oracle Open Office Impress : resetting;templates +Oracle Open Office Impress : resizing +Oracle Open Office Impress : resizing;objects, by mouse +Oracle Open Office Impress : resizing, see also scaling/zooming +Oracle Open Office Impress : resolution when printing bitmaps +Oracle Open Office Impress : restoring +Oracle Open Office Impress : restoring;default formatting +Oracle Open Office Impress : restoring;editing +Oracle Open Office Impress : reversing objects +Oracle Open Office Impress : reversing printing order +Oracle Open Office Impress : review function +Oracle Open Office Impress : review function;accepting or rejecting changes +Oracle Open Office Impress : review function;comparing documents +Oracle Open Office Impress : review function;protecting records +Oracle Open Office Impress : review function;recording changes example +Oracle Open Office Impress : rich text control +Oracle Open Office Impress : right alignment of paragraphs +Oracle Open Office Impress : right joins (Base) +Oracle Open Office Impress : right-to-left text +Oracle Open Office Impress : rotating +Oracle Open Office Impress : rotating;3D text +Oracle Open Office Impress : rotating;draw objects +Oracle Open Office Impress : rotation mode +Oracle Open Office Impress : round corners +Oracle Open Office Impress : rounding precision (Calc) +Oracle Open Office Impress : row headers +Oracle Open Office Impress : row headers;displaying (Calc) +Oracle Open Office Impress : row headers;highlighting (Calc) +Oracle Open Office Impress : rows +Oracle Open Office Impress : rows;inserting +Oracle Open Office Impress : rulers +Oracle Open Office Impress : rulers;default settings +Oracle Open Office Impress : rulers;in presentations +Oracle Open Office Impress : rulers;measurement units +Oracle Open Office Impress : rulers;visible in presentations +Oracle Open Office Impress : running macros/programs in presentations +Oracle Open Office Impress : running slide shows +Oracle Open Office Impress : samples and templates +Oracle Open Office Impress : saving +Oracle Open Office Impress : saving;as HTML +Oracle Open Office Impress : saving;default file formats +Oracle Open Office Impress : saving;dialog settings +Oracle Open Office Impress : saving;documents +Oracle Open Office Impress : saving;documents for mobile devices +Oracle Open Office Impress : saving;documents in other formats +Oracle Open Office Impress : saving;documents, automatically +Oracle Open Office Impress : saving;in Microsoft Office file format +Oracle Open Office Impress : saving;options +Oracle Open Office Impress : saving;templates +Oracle Open Office Impress : saving;to XML +Oracle Open Office Impress : saving;VBA code in Microsoft Office documents +Oracle Open Office Impress : saving;with password by default +Oracle Open Office Impress : saving as command +Oracle Open Office Impress : saving as command;precautions +Oracle Open Office Impress : scaling +Oracle Open Office Impress : scaling;axes +Oracle Open Office Impress : scaling;font sizes in user interface +Oracle Open Office Impress : scaling;objects +Oracle Open Office Impress : scaling;pictures +Oracle Open Office Impress : scaling;printing in Oracle Open Office Math +Oracle Open Office Impress : scaling;text in charts +Oracle Open Office Impress : scaling;when printing presentations +Oracle Open Office Impress : scaling, see also zooming +Oracle Open Office Impress : scatter charts +Oracle Open Office Impress : screen +Oracle Open Office Impress : screen;full screen views +Oracle Open Office Impress : screen;scaling +Oracle Open Office Impress : screen magnifiers +Oracle Open Office Impress : screen readers +Oracle Open Office Impress : script organization +Oracle Open Office Impress : scrollbars +Oracle Open Office Impress : scrollbars;controls +Oracle Open Office Impress : scrollbars;displaying (Calc) +Oracle Open Office Impress : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Impress : search criteria for database functions in cells +Oracle Open Office Impress : search engines +Oracle Open Office Impress : search engines;definition +Oracle Open Office Impress : search engines;selecting +Oracle Open Office Impress : searching +Oracle Open Office Impress : searching;all sheets +Oracle Open Office Impress : searching;databases +Oracle Open Office Impress : searching;form filters +Oracle Open Office Impress : searching;Internet +Oracle Open Office Impress : searching;tables and forms +Oracle Open Office Impress : secondary axes in charts +Oracle Open Office Impress : sections +Oracle Open Office Impress : sections;backgrounds +Oracle Open Office Impress : sectors of circles/ellipses +Oracle Open Office Impress : security +Oracle Open Office Impress : security;digital signatures +Oracle Open Office Impress : security;options for documents with macros +Oracle Open Office Impress : security;protecting contents +Oracle Open Office Impress : security;security levels for macros +Oracle Open Office Impress : security;warning dialogs with macros +Oracle Open Office Impress : segments of circles/ellipses +Oracle Open Office Impress : selecting +Oracle Open Office Impress : selecting;controls +Oracle Open Office Impress : selecting;hidden objects +Oracle Open Office Impress : selecting;layers +Oracle Open Office Impress : selecting;measurement units +Oracle Open Office Impress : selecting;objects +Oracle Open Office Impress : selecting;print areas +Oracle Open Office Impress : selecting;several files +Oracle Open Office Impress : selection clipboard +Oracle Open Office Impress : selection frames +Oracle Open Office Impress : selection modes in text +Oracle Open Office Impress : sending +Oracle Open Office Impress : sending;AutoAbstract function in presentations +Oracle Open Office Impress : sending;documents as e-mail +Oracle Open Office Impress : sending;documents as faxes +Oracle Open Office Impress : separator lines +Oracle Open Office Impress : separator lines;defining +Oracle Open Office Impress : separators +Oracle Open Office Impress : separators;conditional +Oracle Open Office Impress : Server Side ImageMap +Oracle Open Office Impress : settings +Oracle Open Office Impress : settings;printers +Oracle Open Office Impress : settings;program configuration +Oracle Open Office Impress : settings;proxies +Oracle Open Office Impress : settings;tracking changes +Oracle Open Office Impress : settings;views +Oracle Open Office Impress : SGML +Oracle Open Office Impress : SGML;definition +Oracle Open Office Impress : shadows +Oracle Open Office Impress : shadows;areas +Oracle Open Office Impress : shadows;borders +Oracle Open Office Impress : shadows;characters +Oracle Open Office Impress : shadows;characters, using context menu +Oracle Open Office Impress : sharing documents +Oracle Open Office Impress : sharpening filter +Oracle Open Office Impress : shearing objects +Oracle Open Office Impress : sheet tabs +Oracle Open Office Impress : sheet tabs;displaying +Oracle Open Office Impress : sheets +Oracle Open Office Impress : sheets;searching all +Oracle Open Office Impress : shells +Oracle Open Office Impress : shortcut keys +Oracle Open Office Impress : shortcut keys;assigning macros +Oracle Open Office Impress : shortcut keys;charts +Oracle Open Office Impress : shortcut keys;general +Oracle Open Office Impress : shortcut keys;in databases +Oracle Open Office Impress : shortcut keys;in drawings +Oracle Open Office Impress : shortcut keys;in presentations +Oracle Open Office Impress : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Impress : showing +Oracle Open Office Impress : showing;changes +Oracle Open Office Impress : showing;docked windows +Oracle Open Office Impress : showing;drawings and controls (Writer) +Oracle Open Office Impress : showing;guides +Oracle Open Office Impress : showing;hidden layers +Oracle Open Office Impress : showing;hidden slides +Oracle Open Office Impress : showing;levels +Oracle Open Office Impress : showing;live presentations on the Internet +Oracle Open Office Impress : showing;slide shows +Oracle Open Office Impress : showing;subpoints +Oracle Open Office Impress : showing;toolbars +Oracle Open Office Impress : sign conversion to curves +Oracle Open Office Impress : signing documents with digital signatures +Oracle Open Office Impress : similarity search +Oracle Open Office Impress : simple handles (Writer) +Oracle Open Office Impress : simplified Chinese +Oracle Open Office Impress : simplified Chinese;translating to traditional Chinese +Oracle Open Office Impress : single sign on options +Oracle Open Office Impress : single-line spacing in text +Oracle Open Office Impress : sizes +Oracle Open Office Impress : sizes;draw objects +Oracle Open Office Impress : sizes;pictures +Oracle Open Office Impress : skewing draw objects +Oracle Open Office Impress : slanting draw objects +Oracle Open Office Impress : slanting objects +Oracle Open Office Impress : slide designs +Oracle Open Office Impress : slide layouts +Oracle Open Office Impress : slide master view +Oracle Open Office Impress : slide masters +Oracle Open Office Impress : slide masters;changing backgrounds +Oracle Open Office Impress : slide masters;designing +Oracle Open Office Impress : slide masters;headers and footers +Oracle Open Office Impress : slide numbers +Oracle Open Office Impress : slide numbers on all slides +Oracle Open Office Impress : slide shows +Oracle Open Office Impress : slide shows;custom +Oracle Open Office Impress : slide shows;settings for +Oracle Open Office Impress : slide shows;starting +Oracle Open Office Impress : slide transitions +Oracle Open Office Impress : slide transitions;applying effects +Oracle Open Office Impress : slide transitions;automatic +Oracle Open Office Impress : slide transitions;manual +Oracle Open Office Impress : slide transitions;sounds +Oracle Open Office Impress : slides +Oracle Open Office Impress : slides;arranging +Oracle Open Office Impress : slides;backgrounds +Oracle Open Office Impress : slides;changing backgrounds +Oracle Open Office Impress : slides;copying between documents +Oracle Open Office Impress : slides;deleting +Oracle Open Office Impress : slides;expanding +Oracle Open Office Impress : slides;formatting +Oracle Open Office Impress : slides;headers and footers +Oracle Open Office Impress : slides;inserting +Oracle Open Office Impress : slides;inserting as links +Oracle Open Office Impress : slides;inserting speaker notes +Oracle Open Office Impress : slides;page numbers +Oracle Open Office Impress : slides;printing +Oracle Open Office Impress : small capitals +Oracle Open Office Impress : small icons +Oracle Open Office Impress : smart tag configuration +Oracle Open Office Impress : smooth scrolling (Writer) +Oracle Open Office Impress : smoothing filter +Oracle Open Office Impress : snap grid defaults (Writer/Calc) +Oracle Open Office Impress : snap lines, see also guides +Oracle Open Office Impress : snap points +Oracle Open Office Impress : snap points;editing +Oracle Open Office Impress : snap points;inserting +Oracle Open Office Impress : snapping in presentations and drawings +Oracle Open Office Impress : solarization filter +Oracle Open Office Impress : sort lists +Oracle Open Office Impress : sort lists;copying to in Calc +Oracle Open Office Impress : sorting +Oracle Open Office Impress : sorting;data in forms +Oracle Open Office Impress : sorting;databases +Oracle Open Office Impress : sound files +Oracle Open Office Impress : sounds +Oracle Open Office Impress : sounds;for effects +Oracle Open Office Impress : sounds;formats +Oracle Open Office Impress : sounds;on slide transitions +Oracle Open Office Impress : spaces +Oracle Open Office Impress : spaces;displaying (Writer) +Oracle Open Office Impress : spaces;ignoring double +Oracle Open Office Impress : spaces;inserting protected spaces +Oracle Open Office Impress : spaces;showing protected spaces (Writer) +Oracle Open Office Impress : spacing +Oracle Open Office Impress : spacing;between paragraphs in footnotes +Oracle Open Office Impress : spacing;font effects +Oracle Open Office Impress : spacing;lines and paragraphs +Oracle Open Office Impress : spacing;tab stops in text documents +Oracle Open Office Impress : spacing;tabs in presentations +Oracle Open Office Impress : spadmin +Oracle Open Office Impress : speaker notes +Oracle Open Office Impress : speaker notes;defaults +Oracle Open Office Impress : speaker notes;inserting +Oracle Open Office Impress : special characters +Oracle Open Office Impress : speech bubbles +Oracle Open Office Impress : speed of printing +Oracle Open Office Impress : spellcheck +Oracle Open Office Impress : spellcheck;activating for a language +Oracle Open Office Impress : spellcheck;context menus +Oracle Open Office Impress : spellcheck;default languages +Oracle Open Office Impress : spellcheck;dialog +Oracle Open Office Impress : spellcheck;dictionary of exceptions +Oracle Open Office Impress : spellcheck;ignore list +Oracle Open Office Impress : spheres +Oracle Open Office Impress : spin button creation +Oracle Open Office Impress : splitting +Oracle Open Office Impress : splitting;combinations +Oracle Open Office Impress : splitting;curves +Oracle Open Office Impress : spoolfiles with Xprinter +Oracle Open Office Impress : spreadsheets +Oracle Open Office Impress : spreadsheets;as databases (base) +Oracle Open Office Impress : spreadsheets;copying areas to text documents +Oracle Open Office Impress : spreadsheets;creating/opening +Oracle Open Office Impress : spreadsheets;in presentations +Oracle Open Office Impress : spreadsheets;inserting charts +Oracle Open Office Impress : spreadsheets;inserting database records +Oracle Open Office Impress : spreadsheets;printing +Oracle Open Office Impress : spreadsheets;saving +Oracle Open Office Impress : spreadsheets;saving automatically +Oracle Open Office Impress : spreadsheets;saving in other formats +Oracle Open Office Impress : spreadsheets;sending as e-mail +Oracle Open Office Impress : SQL +Oracle Open Office Impress : SQL;definition +Oracle Open Office Impress : SQL;DISTINCT parameter +Oracle Open Office Impress : SQL;executing SQL commands +Oracle Open Office Impress : SQL;executing SQL statements (Base) +Oracle Open Office Impress : SQL;queries (Base) +Oracle Open Office Impress : square drawings +Oracle Open Office Impress : standard bar on/off +Oracle Open Office Impress : standard deviation in charts +Oracle Open Office Impress : standard filters in databases +Oracle Open Office Impress : standard printer under UNIX +Oracle Open Office Impress : start center +Oracle Open Office Impress : start parameters +Oracle Open Office Impress : starting +Oracle Open Office Impress : starting;always with the current slide +Oracle Open Office Impress : starting;custom slide shows +Oracle Open Office Impress : starting;slide shows +Oracle Open Office Impress : statistics in charts +Oracle Open Office Impress : status bar on/off +Oracle Open Office Impress : stickers +Oracle Open Office Impress : stock charts +Oracle Open Office Impress : strikethrough +Oracle Open Office Impress : strikethrough;characters +Oracle Open Office Impress : strikethrough;font effects +Oracle Open Office Impress : styles +Oracle Open Office Impress : styles;'changed' message +Oracle Open Office Impress : styles;arrow and line styles +Oracle Open Office Impress : styles;copying between documents +Oracle Open Office Impress : styles;keyboard shortcuts +Oracle Open Office Impress : styles;organizing +Oracle Open Office Impress : styles;printing styles used in a document +Oracle Open Office Impress : styles;replacing automatically +Oracle Open Office Impress : Styles and Formatting window +Oracle Open Office Impress : Styles and Formatting window;docking +Oracle Open Office Impress : Styles and Formatting window;graphics documents +Oracle Open Office Impress : subforms +Oracle Open Office Impress : subforms;creating +Oracle Open Office Impress : subforms;description +Oracle Open Office Impress : submitting forms +Oracle Open Office Impress : subpoints +Oracle Open Office Impress : subpoints;hiding +Oracle Open Office Impress : subpoints;showing +Oracle Open Office Impress : subtracting polygons +Oracle Open Office Impress : suffixes in file formats +Oracle Open Office Impress : summary slide +Oracle Open Office Impress : support on the Web +Oracle Open Office Impress : synchronizing +Oracle Open Office Impress : synchronizing;labels and business cards +Oracle Open Office Impress : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Impress : system address book registration +Oracle Open Office Impress : tab stops +Oracle Open Office Impress : tab stops;displaying (Writer) +Oracle Open Office Impress : tab stops;inserting and editing +Oracle Open Office Impress : tab stops;regular expressions +Oracle Open Office Impress : tab stops;setting in sheets +Oracle Open Office Impress : tab stops;settings +Oracle Open Office Impress : tab stops;spacing in presentations +Oracle Open Office Impress : tab stops;spacing in text documents +Oracle Open Office Impress : table controls +Oracle Open Office Impress : table controls;form functions +Oracle Open Office Impress : table controls;keyboard-only edit mode +Oracle Open Office Impress : table controls;properties +Oracle Open Office Impress : table views of databases +Oracle Open Office Impress : Table Wizard (Base) +Oracle Open Office Impress : tables +Oracle Open Office Impress : tables;inserting line breaks +Oracle Open Office Impress : tables in databases +Oracle Open Office Impress : tables in databases;access rights to (Base) +Oracle Open Office Impress : tables in databases;adding to queries +Oracle Open Office Impress : tables in databases;browsing and editing +Oracle Open Office Impress : tables in databases;copying database tables (Base) +Oracle Open Office Impress : tables in databases;creating +Oracle Open Office Impress : tables in databases;creating in design view (manually) +Oracle Open Office Impress : tables in databases;importing text formats (Base) +Oracle Open Office Impress : tables in databases;joining for queries (Base) +Oracle Open Office Impress : tables in databases;printing queries (Base) +Oracle Open Office Impress : tables in databases;relations (Base) +Oracle Open Office Impress : tables in databases;searching +Oracle Open Office Impress : tables in spreadsheets +Oracle Open Office Impress : tables in spreadsheets;copying data to other applications +Oracle Open Office Impress : tables in spreadsheets;defining borders +Oracle Open Office Impress : tables in spreadsheets;value highlighting +Oracle Open Office Impress : tables in text +Oracle Open Office Impress : tables in text;captions +Oracle Open Office Impress : tables in text;creating automatically +Oracle Open Office Impress : tables in text;default settings +Oracle Open Office Impress : tables in text;defining borders +Oracle Open Office Impress : tables in text;displaying +Oracle Open Office Impress : tables in text;printing +Oracle Open Office Impress : tabs +Oracle Open Office Impress : tabs;displaying sheet tabs +Oracle Open Office Impress : tags +Oracle Open Office Impress : tags;definition +Oracle Open Office Impress : tags;META tags +Oracle Open Office Impress : task pane +Oracle Open Office Impress : templates +Oracle Open Office Impress : templates;agendas +Oracle Open Office Impress : templates;changing basic fonts +Oracle Open Office Impress : templates;database reports +Oracle Open Office Impress : templates;deleting +Oracle Open Office Impress : templates;editing and saving +Oracle Open Office Impress : templates;faxes +Oracle Open Office Impress : templates;importing and exporting +Oracle Open Office Impress : templates;letters +Oracle Open Office Impress : templates;new documents from templates +Oracle Open Office Impress : templates;opening documents with +Oracle Open Office Impress : templates;organizing +Oracle Open Office Impress : terminology +Oracle Open Office Impress : terminology;general glossary +Oracle Open Office Impress : terminology;Internet glossary +Oracle Open Office Impress : testing XML filters +Oracle Open Office Impress : text +Oracle Open Office Impress : text;animating +Oracle Open Office Impress : text;Asian layout +Oracle Open Office Impress : text;bold +Oracle Open Office Impress : text;coloring +Oracle Open Office Impress : text;converting to curves +Oracle Open Office Impress : text;copying by drag and drop +Oracle Open Office Impress : text;CTL languages +Oracle Open Office Impress : text;double-clicking to edit +Oracle Open Office Impress : text;drawing pictures +Oracle Open Office Impress : text;font effects +Oracle Open Office Impress : text;font sizes +Oracle Open Office Impress : text;font styles +Oracle Open Office Impress : text;fonts and formats +Oracle Open Office Impress : text;Fontwork icons +Oracle Open Office Impress : text;hyperlinks +Oracle Open Office Impress : text;inserting special characters +Oracle Open Office Impress : text;italics +Oracle Open Office Impress : text;kerning +Oracle Open Office Impress : text;language selection +Oracle Open Office Impress : text;line spacing +Oracle Open Office Impress : text;overwriting or inserting +Oracle Open Office Impress : text;printing in black +Oracle Open Office Impress : text;replacing with format +Oracle Open Office Impress : text;selection modes +Oracle Open Office Impress : text;shadowed +Oracle Open Office Impress : text;text/draw objects +Oracle Open Office Impress : text;toolbar +Oracle Open Office Impress : text attributes +Oracle Open Office Impress : text attributes;hyperlinks +Oracle Open Office Impress : text attributes;undoing +Oracle Open Office Impress : text boxes +Oracle Open Office Impress : text boxes;form functions +Oracle Open Office Impress : text boxes;positioning +Oracle Open Office Impress : text breaks in cells +Oracle Open Office Impress : text colors for better accessibility +Oracle Open Office Impress : text databases (Base) +Oracle Open Office Impress : text documents +Oracle Open Office Impress : text documents;creating/opening +Oracle Open Office Impress : text documents;importing/exporting +Oracle Open Office Impress : text documents;inserting in slides +Oracle Open Office Impress : text documents;inserting spreadsheet cells +Oracle Open Office Impress : text documents;print settings +Oracle Open Office Impress : text documents;printing +Oracle Open Office Impress : text documents;saving +Oracle Open Office Impress : text documents;saving automatically +Oracle Open Office Impress : text documents;saving in other formats +Oracle Open Office Impress : text documents;sending as e-mail +Oracle Open Office Impress : text effects +Oracle Open Office Impress : text entry mode for draw objects +Oracle Open Office Impress : text flow +Oracle Open Office Impress : text flow;in cells +Oracle Open Office Impress : text formats +Oracle Open Office Impress : text formats;databases +Oracle Open Office Impress : text formats;pasting +Oracle Open Office Impress : text frames +Oracle Open Office Impress : text input fields +Oracle Open Office Impress : text layout for special languages +Oracle Open Office Impress : text objects +Oracle Open Office Impress : text objects;alignment +Oracle Open Office Impress : text objects;draw functions +Oracle Open Office Impress : text objects;fonts +Oracle Open Office Impress : text objects;in presentations and drawings +Oracle Open Office Impress : text overflow in spreadsheet cells +Oracle Open Office Impress : text scaling in charts +Oracle Open Office Impress : text, see also text documents, paragraphs and characters +Oracle Open Office Impress : TextArt, see Fontwork +Oracle Open Office Impress : textures +Oracle Open Office Impress : textures;inserting from Gallery +Oracle Open Office Impress : textures;on chart bars +Oracle Open Office Impress : Thai +Oracle Open Office Impress : Thai;entering text +Oracle Open Office Impress : Thai;language settings +Oracle Open Office Impress : thesaurus +Oracle Open Office Impress : thesaurus;activating for a language +Oracle Open Office Impress : ticker text +Oracle Open Office Impress : tiled printing of slides +Oracle Open Office Impress : time and date on all slides +Oracle Open Office Impress : time fields +Oracle Open Office Impress : time fields;form functions +Oracle Open Office Impress : times +Oracle Open Office Impress : times;fixed +Oracle Open Office Impress : times;inserting when printing presentations +Oracle Open Office Impress : times;variable +Oracle Open Office Impress : times, formats +Oracle Open Office Impress : timings +Oracle Open Office Impress : timings;rehearse timings +Oracle Open Office Impress : tips +Oracle Open Office Impress : tips;extended tips in Help +Oracle Open Office Impress : title rows +Oracle Open Office Impress : title rows;printing in Oracle Open Office Math +Oracle Open Office Impress : titles +Oracle Open Office Impress : titles;alignment (charts) +Oracle Open Office Impress : titles;changing +Oracle Open Office Impress : titles;editing in charts +Oracle Open Office Impress : titles;font effects +Oracle Open Office Impress : titles;formatting automatically +Oracle Open Office Impress : titles;formatting charts +Oracle Open Office Impress : titles;objects +Oracle Open Office Impress : toolbars +Oracle Open Office Impress : toolbars;3D objects +Oracle Open Office Impress : toolbars;adding buttons +Oracle Open Office Impress : toolbars;curves +Oracle Open Office Impress : toolbars;docking/undocking +Oracle Open Office Impress : toolbars;ellipses +Oracle Open Office Impress : toolbars;Form Navigation bar +Oracle Open Office Impress : toolbars;viewing/closing +Oracle Open Office Impress : tools bar +Oracle Open Office Impress : tooltips +Oracle Open Office Impress : tooltips;extended tips +Oracle Open Office Impress : tooltips;help +Oracle Open Office Impress : torus +Oracle Open Office Impress : traditional Chinese +Oracle Open Office Impress : traditional Chinese;translating to simplified chinese +Oracle Open Office Impress : transition effects +Oracle Open Office Impress : transparency +Oracle Open Office Impress : transparency;adjusting +Oracle Open Office Impress : transparency;areas +Oracle Open Office Impress : transparency;of objects +Oracle Open Office Impress : transparency;off for faster printing +Oracle Open Office Impress : transparency;saving +Oracle Open Office Impress : tree view of Help +Oracle Open Office Impress : trend lines in charts +Oracle Open Office Impress : typefaces +Oracle Open Office Impress : typefaces;adding under UNIX +Oracle Open Office Impress : typefaces;formats +Oracle Open Office Impress : typographical quotes in Oracle Open Office Writer +Oracle Open Office Impress : typography +Oracle Open Office Impress : typography;Asian +Oracle Open Office Impress : underlining +Oracle Open Office Impress : underlining;AutoFormat function +Oracle Open Office Impress : underlining;characters +Oracle Open Office Impress : underlining;text +Oracle Open Office Impress : underlying objects +Oracle Open Office Impress : undocking windows +Oracle Open Office Impress : undoing +Oracle Open Office Impress : undoing;direct formatting +Oracle Open Office Impress : undoing;editing +Oracle Open Office Impress : undoing;number of steps +Oracle Open Office Impress : ungrouping groups +Oracle Open Office Impress : units +Oracle Open Office Impress : units;converting +Oracle Open Office Impress : units;measurement units +Oracle Open Office Impress : unlocking layers +Oracle Open Office Impress : UNO components +Oracle Open Office Impress : UNO components;Extension Manager +Oracle Open Office Impress : UNO components;integrating new +Oracle Open Office Impress : update options +Oracle Open Office Impress : updates +Oracle Open Office Impress : updates;checking automatically +Oracle Open Office Impress : updates;checking manually +Oracle Open Office Impress : updating +Oracle Open Office Impress : updating;fields and charts, automatically (Writer) +Oracle Open Office Impress : updating;links in text documents +Oracle Open Office Impress : updating;links, on opening +Oracle Open Office Impress : updating;templates +Oracle Open Office Impress : URL +Oracle Open Office Impress : URL;changing hyperlink URLs +Oracle Open Office Impress : URL;definition +Oracle Open Office Impress : URL;in pictures +Oracle Open Office Impress : URL;saving absolute/relative paths +Oracle Open Office Impress : URL;turning off URL recognition +Oracle Open Office Impress : user data +Oracle Open Office Impress : user data;input +Oracle Open Office Impress : user data;removing when saving +Oracle Open Office Impress : user feedback +Oracle Open Office Impress : user feedback;automatically +Oracle Open Office Impress : user-defined colors +Oracle Open Office Impress : user-defined dictionaries +Oracle Open Office Impress : user-defined dictionaries;creating +Oracle Open Office Impress : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Impress : user-defined dictionaries;editing +Oracle Open Office Impress : user-defined styles +Oracle Open Office Impress : user-defined styles;automatically replacing +Oracle Open Office Impress : UTF-8/UCS2 support +Oracle Open Office Impress : values +Oracle Open Office Impress : values;rounded as shown (Calc) +Oracle Open Office Impress : variables +Oracle Open Office Impress : variables;for paths +Oracle Open Office Impress : variances in charts +Oracle Open Office Impress : VBA code +Oracle Open Office Impress : VBA code;loading/saving documents with VBA code +Oracle Open Office Impress : vector graphics +Oracle Open Office Impress : vector graphics;converting bitmaps +Oracle Open Office Impress : vectorizing bitmaps +Oracle Open Office Impress : version management +Oracle Open Office Impress : version numbers of documents +Oracle Open Office Impress : versions +Oracle Open Office Impress : versions;comparing documents +Oracle Open Office Impress : versions;file saving as, restriction +Oracle Open Office Impress : versions;merging document versions +Oracle Open Office Impress : versions;of a document +Oracle Open Office Impress : versions;Oracle Open Office +Oracle Open Office Impress : vertical callouts +Oracle Open Office Impress : vertical scrollbars (Writer) +Oracle Open Office Impress : vertical text boxes +Oracle Open Office Impress : videos +Oracle Open Office Impress : viewing +Oracle Open Office Impress : viewing;databases +Oracle Open Office Impress : viewing;file properties +Oracle Open Office Impress : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Impress : viewing;toolbars +Oracle Open Office Impress : views +Oracle Open Office Impress : views;black and white +Oracle Open Office Impress : views;creating database views (Base) +Oracle Open Office Impress : views;defaults +Oracle Open Office Impress : views;display sizes +Oracle Open Office Impress : views;full screen +Oracle Open Office Impress : views;icons +Oracle Open Office Impress : views;scaling +Oracle Open Office Impress : views;shift function +Oracle Open Office Impress : views;slide master view +Oracle Open Office Impress : Visual Basic for Applications +Oracle Open Office Impress : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Impress : watermarks +Oracle Open Office Impress : web documents +Oracle Open Office Impress : web documents;XForms +Oracle Open Office Impress : Web support +Oracle Open Office Impress : WebCast export +Oracle Open Office Impress : WebDAV over HTTPS +Oracle Open Office Impress : windows +Oracle Open Office Impress : windows;docking +Oracle Open Office Impress : windows;docking definition +Oracle Open Office Impress : windows;hiding/showing/docking +Oracle Open Office Impress : windows;new +Oracle Open Office Impress : wizards +Oracle Open Office Impress : wizards;agendas +Oracle Open Office Impress : wizards;database queries +Oracle Open Office Impress : wizards;database tables (Base) +Oracle Open Office Impress : wizards;databases (Base) +Oracle Open Office Impress : wizards;document converter +Oracle Open Office Impress : wizards;Euro Converter +Oracle Open Office Impress : wizards;faxes +Oracle Open Office Impress : wizards;forms +Oracle Open Office Impress : wizards;letters +Oracle Open Office Impress : wizards;macros (Base) +Oracle Open Office Impress : wizards;overview +Oracle Open Office Impress : wizards;presentations +Oracle Open Office Impress : wizards;reports +Oracle Open Office Impress : Word documents +Oracle Open Office Impress : Word documents;compatibility +Oracle Open Office Impress : Word documents;saving as +Oracle Open Office Impress : WordArt, see Fontwork +Oracle Open Office Impress : words +Oracle Open Office Impress : words;automatically replacing +Oracle Open Office Impress : words;wrapping in cells +Oracle Open Office Impress : words;wrapping in CTL +Oracle Open Office Impress : working directory change +Oracle Open Office Impress : wrapping text +Oracle Open Office Impress : wrapping text;in cells +Oracle Open Office Impress : write protection on/off +Oracle Open Office Impress : writing aids options +Oracle Open Office Impress : WYSIWYG in fonts lists +Oracle Open Office Impress : X axes +Oracle Open Office Impress : X axes;grid formatting +Oracle Open Office Impress : X axes;positioning +Oracle Open Office Impress : X axes;scaling +Oracle Open Office Impress : X axes;showing +Oracle Open Office Impress : XForms +Oracle Open Office Impress : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Impress : XForms;conditions +Oracle Open Office Impress : XForms;opening/editing +Oracle Open Office Impress : XML converters +Oracle Open Office Impress : XML file formats +Oracle Open Office Impress : XML filters +Oracle Open Office Impress : XML filters;creating/testing +Oracle Open Office Impress : XML filters;saving as package/installing/deleting +Oracle Open Office Impress : XML filters;settings +Oracle Open Office Impress : XML Forms, see XForms +Oracle Open Office Impress : XSLT filters, see also XML filters +Oracle Open Office Impress : XY charts +Oracle Open Office Impress : Y axes +Oracle Open Office Impress : Y axes;formatting +Oracle Open Office Impress : Y axes;grid formatting +Oracle Open Office Impress : Y axes;positioning +Oracle Open Office Impress : Y axes;scaling +Oracle Open Office Impress : Y axes;showing +Oracle Open Office Impress : years +Oracle Open Office Impress : years;2-digit options +Oracle Open Office Impress : Z axes +Oracle Open Office Impress : Z axes;grid formatting +Oracle Open Office Impress : Z axes;showing +Oracle Open Office Impress : zero values +Oracle Open Office Impress : zero values;displaying (Calc) +Oracle Open Office Impress : zooming +Oracle Open Office Impress : zooming;in presentations +Oracle Open Office Impress : zooming;keyboard +Oracle Open Office Impress : zooming;page views +Oracle Open Office Impress : zooming;pictures +Oracle Open Office Impress : zooming;shortcut keys +Oracle Open Office Impress : zooming;status bar +Oracle Open Office Math : 1/2 replacement +Oracle Open Office Math : 3D text creation +Oracle Open Office Math : abbreviation replacement +Oracle Open Office Math : absolute hyperlinks +Oracle Open Office Math : absolute saving of URLs +Oracle Open Office Math : absolute values +Oracle Open Office Math : accents +Oracle Open Office Math : accents +Oracle Open Office Math : accents;in Oracle Open Office Math +Oracle Open Office Math : Access databases (base) +Oracle Open Office Math : access rights for database tables (Base) +Oracle Open Office Math : accessibility +Oracle Open Office Math : accessibility;general shortcuts +Oracle Open Office Math : accessibility;options +Oracle Open Office Math : accessibility;Oracle Open Office assistive technology +Oracle Open Office Math : accessibility;Oracle Open Office features +Oracle Open Office Math : accessibility;Oracle Open Office Math shortcuts +Oracle Open Office Math : activating +Oracle Open Office Math : activating;context menus +Oracle Open Office Math : activating;Error Report Tool +Oracle Open Office Math : activating;extended help tips +Oracle Open Office Math : activating;plug-ins +Oracle Open Office Math : ActiveX control +Oracle Open Office Math : Adabas D databases (base) +Oracle Open Office Math : add-ons, see UNO components +Oracle Open Office Math : addition signs +Oracle Open Office Math : additional selection mode +Oracle Open Office Math : address books +Oracle Open Office Math : address books;LDAP server (Base) +Oracle Open Office Math : address books;registering +Oracle Open Office Math : address labels from databases +Oracle Open Office Math : ADO databases (Base) +Oracle Open Office Math : Agenda Wizard +Oracle Open Office Math : aging filter +Oracle Open Office Math : aligning +Oracle Open Office Math : aligning;cells +Oracle Open Office Math : aligning;characters in Oracle Open Office Math +Oracle Open Office Math : aligning;multi-line formulas +Oracle Open Office Math : aligning;objects +Oracle Open Office Math : aligning;paragraphs +Oracle Open Office Math : aligning;tables in text +Oracle Open Office Math : aligning;text objects +Oracle Open Office Math : aligning formulas +Oracle Open Office Math : alignment +Oracle Open Office Math : alignment;horizontally centered (Math) +Oracle Open Office Math : alignment;left (Math) +Oracle Open Office Math : alignment;right (Math) +Oracle Open Office Math : alternative fonts +Oracle Open Office Math : ampersand symbol, see also operators +Oracle Open Office Math : anchors +Oracle Open Office Math : anchors;changing +Oracle Open Office Math : anchors;displaying (Calc) +Oracle Open Office Math : anchors;types/positions for draw objects +Oracle Open Office Math : AND operator +Oracle Open Office Math : animations +Oracle Open Office Math : animations;accessibility options +Oracle Open Office Math : appearance options +Oracle Open Office Math : approximately equal to relation +Oracle Open Office Math : Arabic +Oracle Open Office Math : Arabic;entering text +Oracle Open Office Math : Arabic;language settings +Oracle Open Office Math : arc cosine function +Oracle Open Office Math : arc cotangent function +Oracle Open Office Math : arc sine function +Oracle Open Office Math : area hyperbolic cosine function +Oracle Open Office Math : area hyperbolic cotangent function +Oracle Open Office Math : area hyperbolic tangent function +Oracle Open Office Math : areas +Oracle Open Office Math : areas;bitmap patterns +Oracle Open Office Math : areas;hatched/dotted +Oracle Open Office Math : areas;shadows +Oracle Open Office Math : areas;slanting +Oracle Open Office Math : areas;styles +Oracle Open Office Math : areas;transparency +Oracle Open Office Math : arguments in command line +Oracle Open Office Math : arranging +Oracle Open Office Math : arranging;matrices +Oracle Open Office Math : arranging;objects +Oracle Open Office Math : arrows +Oracle Open Office Math : arrows;defining arrow heads +Oracle Open Office Math : arrows;defining arrow lines +Oracle Open Office Math : arrows;drawing in text +Oracle Open Office Math : arrows;symbols in Oracle Open Office Math +Oracle Open Office Math : ASCII +Oracle Open Office Math : ASCII;definition +Oracle Open Office Math : Asian languages +Oracle Open Office Math : Asian languages;enabling +Oracle Open Office Math : Asian Phonetic Guide +Oracle Open Office Math : Asian typography +Oracle Open Office Math : assigning scripts +Oracle Open Office Math : assistive technology in Oracle Open Office +Oracle Open Office Math : attaching toolbars +Oracle Open Office Math : attachments in e-mails +Oracle Open Office Math : attributes +Oracle Open Office Math : attributes;accents +Oracle Open Office Math : attributes;additional information +Oracle Open Office Math : attributes;changing defaults +Oracle Open Office Math : attributes;changing fonts +Oracle Open Office Math : attributes;changing in Oracle Open Office Math +Oracle Open Office Math : attributes;colored characters +Oracle Open Office Math : attributes;in Oracle Open Office Math +Oracle Open Office Math : attributes;list of +Oracle Open Office Math : audio +Oracle Open Office Math : auto reloading HTML documents +Oracle Open Office Math : AutoAbstract function for sending text to presentations +Oracle Open Office Math : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Math : AutoComplete function in text and list boxes +Oracle Open Office Math : AutoCorrect function +Oracle Open Office Math : AutoCorrect function;context menu +Oracle Open Office Math : AutoCorrect function;options +Oracle Open Office Math : AutoCorrect function;pictures and frames +Oracle Open Office Math : AutoCorrect function;quotes +Oracle Open Office Math : AutoCorrect function;replacement table +Oracle Open Office Math : AutoCorrect function;switching on and off in Calc +Oracle Open Office Math : AutoCorrect function;URL recognition +Oracle Open Office Math : AutoFormat function +Oracle Open Office Math : AutoFormat function;switching on and off +Oracle Open Office Math : automatic captions (Writer) +Oracle Open Office Math : automatic control focus +Oracle Open Office Math : automatic hyperlink formatting +Oracle Open Office Math : automatic line breaks +Oracle Open Office Math : automatic lines/borders in text +Oracle Open Office Math : automatic saving +Oracle Open Office Math : AutoPilots, see wizards +Oracle Open Office Math : AutoValue (Base) +Oracle Open Office Math : axes in charts +Oracle Open Office Math : axis-ellipsis +Oracle Open Office Math : back epsilon symbol +Oracle Open Office Math : backgrounds +Oracle Open Office Math : backgrounds;defining colors/pictures +Oracle Open Office Math : backgrounds;frames/sections/indexes +Oracle Open Office Math : backgrounds;inserting from Gallery +Oracle Open Office Math : backgrounds;printing +Oracle Open Office Math : backing window +Oracle Open Office Math : backslash division sign +Oracle Open Office Math : backups +Oracle Open Office Math : backups;automatic +Oracle Open Office Math : backups;documents +Oracle Open Office Math : Basic +Oracle Open Office Math : Basic;fonts for source display +Oracle Open Office Math : Basic;programming +Oracle Open Office Math : Basic;recording macros +Oracle Open Office Math : basic fonts +Oracle Open Office Math : Bézier curves +Oracle Open Office Math : Bézier curves;control points in presentations +Oracle Open Office Math : bi-directional writing +Oracle Open Office Math : binary operators +Oracle Open Office Math : binary operators +Oracle Open Office Math : binary operators;list of +Oracle Open Office Math : binding space +Oracle Open Office Math : binomials +Oracle Open Office Math : bitmaps +Oracle Open Office Math : bitmaps;inserting and editing +Oracle Open Office Math : bitmaps;off for faster printing +Oracle Open Office Math : bitmaps;patterns +Oracle Open Office Math : black and white printing +Oracle Open Office Math : black printing in Calc +Oracle Open Office Math : block selection mode +Oracle Open Office Math : bold +Oracle Open Office Math : bold;AutoFormat function +Oracle Open Office Math : bold;text +Oracle Open Office Math : bold attribute +Oracle Open Office Math : bookmarks +Oracle Open Office Math : bookmarks;Help +Oracle Open Office Math : Boolean operators +Oracle Open Office Math : borders +Oracle Open Office Math : borders;arranging +Oracle Open Office Math : borders;cells on screen (Calc) +Oracle Open Office Math : borders;for paragraphs +Oracle Open Office Math : borders;for tables +Oracle Open Office Math : borders;shadows +Oracle Open Office Math : borders;table boundaries (Writer) +Oracle Open Office Math : borders, see also frames +Oracle Open Office Math : bound fields +Oracle Open Office Math : bound fields;controls +Oracle Open Office Math : boundaries of tables (Writer) +Oracle Open Office Math : braces in Oracle Open Office Math +Oracle Open Office Math : brackets +Oracle Open Office Math : brackets;angle (Math) +Oracle Open Office Math : brackets;angle with operator +Oracle Open Office Math : brackets;double square (Math) +Oracle Open Office Math : brackets;group +Oracle Open Office Math : brackets;in Oracle Open Office Math +Oracle Open Office Math : brackets;inserting in Oracle Open Office Math +Oracle Open Office Math : brackets;merging formula parts +Oracle Open Office Math : brackets;operator (Math) +Oracle Open Office Math : brackets;reference list +Oracle Open Office Math : brackets;round (Math) +Oracle Open Office Math : brackets;scalable +Oracle Open Office Math : brackets;single, without group function +Oracle Open Office Math : brackets;square (Math) +Oracle Open Office Math : brackets;widowed +Oracle Open Office Math : brackets and grouping in Oracle Open Office Math +Oracle Open Office Math : break display (Writer) +Oracle Open Office Math : brochures +Oracle Open Office Math : brochures;printing several +Oracle Open Office Math : build numbers of Oracle Open Office +Oracle Open Office Math : bullet lists +Oracle Open Office Math : bullet lists;formatting options +Oracle Open Office Math : bullets +Oracle Open Office Math : bullets;paragraphs +Oracle Open Office Math : bullets;replacing +Oracle Open Office Math : bullets;turning off +Oracle Open Office Math : business cards +Oracle Open Office Math : business cards;creating and synchronizing +Oracle Open Office Math : business cards;using templates +Oracle Open Office Math : button bars, see toolbars +Oracle Open Office Math : buttons +Oracle Open Office Math : buttons;adding push buttons +Oracle Open Office Math : buttons;big/small +Oracle Open Office Math : buttons;editing hyperlink buttons +Oracle Open Office Math : buttons;form functions +Oracle Open Office Math : buttons;toolbars +Oracle Open Office Math : cache for graphics +Oracle Open Office Math : calculating +Oracle Open Office Math : calculating;iterative references (Calc) +Oracle Open Office Math : callouts +Oracle Open Office Math : callouts;drawings +Oracle Open Office Math : capital letters +Oracle Open Office Math : capital letters;AutoCorrect function +Oracle Open Office Math : capital letters;font effects +Oracle Open Office Math : captions +Oracle Open Office Math : captions;automatic captions (Writer) +Oracle Open Office Math : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Math : captions, see also labels/callouts +Oracle Open Office Math : cardinal numbers +Oracle Open Office Math : cascading update (Base) +Oracle Open Office Math : case sensitivity +Oracle Open Office Math : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Math : case sensitivity;searching +Oracle Open Office Math : catalog for mathematical symbols +Oracle Open Office Math : ceiling brackets +Oracle Open Office Math : ceiling brackets;lines with +Oracle Open Office Math : ceiling brackets;scalable lines with +Oracle Open Office Math : cells +Oracle Open Office Math : cells;aligning +Oracle Open Office Math : cells;coloring (Calc) +Oracle Open Office Math : cells;cursor positions after input (Calc) +Oracle Open Office Math : cells;formatting without effect (Calc) +Oracle Open Office Math : cells;line breaks +Oracle Open Office Math : cells;linked to controls +Oracle Open Office Math : cells;number of +Oracle Open Office Math : cells;pasting +Oracle Open Office Math : cells;resetting formats +Oracle Open Office Math : cells;showing grid lines (Calc) +Oracle Open Office Math : center dots symbol +Oracle Open Office Math : centered horizontally +Oracle Open Office Math : centered horizontally;alignment (Math) +Oracle Open Office Math : centered text +Oracle Open Office Math : centimeters +Oracle Open Office Math : certificates +Oracle Open Office Math : changes +Oracle Open Office Math : changes;accepting automatically +Oracle Open Office Math : changes;accepting or rejecting +Oracle Open Office Math : changes;comparing to original +Oracle Open Office Math : changes;protecting +Oracle Open Office Math : changes;recording +Oracle Open Office Math : changes;review function +Oracle Open Office Math : changes;showing +Oracle Open Office Math : changing +Oracle Open Office Math : changing;default formatting +Oracle Open Office Math : changing;document titles +Oracle Open Office Math : changing;file associations in Setup program +Oracle Open Office Math : changing;fonts +Oracle Open Office Math : changing;icon sizes +Oracle Open Office Math : changing;links +Oracle Open Office Math : changing;work directory +Oracle Open Office Math : changing, see also editing and replacing +Oracle Open Office Math : character styles +Oracle Open Office Math : character styles;language selection +Oracle Open Office Math : characters +Oracle Open Office Math : characters;alternative fonts +Oracle Open Office Math : characters;Asian layout +Oracle Open Office Math : characters;bold +Oracle Open Office Math : characters;coloring +Oracle Open Office Math : characters;displaying only on screen (Writer) +Oracle Open Office Math : characters;enabling CTL and Asian characters +Oracle Open Office Math : characters;font effects +Oracle Open Office Math : characters;fonts and formats +Oracle Open Office Math : characters;hyperlinks +Oracle Open Office Math : characters;italics +Oracle Open Office Math : characters;language selection +Oracle Open Office Math : characters;shadowed +Oracle Open Office Math : characters;spacing +Oracle Open Office Math : characters;special +Oracle Open Office Math : characters;underlining +Oracle Open Office Math : charcoal sketches filter +Oracle Open Office Math : charts +Oracle Open Office Math : charts;arranging within stacks +Oracle Open Office Math : charts;bars with textures +Oracle Open Office Math : charts;colors +Oracle Open Office Math : charts;copying with link to source cell range +Oracle Open Office Math : charts;displaying (Calc) +Oracle Open Office Math : charts;editing axes +Oracle Open Office Math : charts;editing data +Oracle Open Office Math : charts;editing legends +Oracle Open Office Math : charts;editing titles +Oracle Open Office Math : charts;inserting +Oracle Open Office Math : charts;updating automatically (Writer) +Oracle Open Office Math : check box creation +Oracle Open Office Math : Chinese writing systems +Oracle Open Office Math : choosing printers +Oracle Open Office Math : circle attribute +Oracle Open Office Math : circle drawings +Oracle Open Office Math : circumflex attribute +Oracle Open Office Math : Client Side ImageMap +Oracle Open Office Math : clipboard +Oracle Open Office Math : clipboard;cutting +Oracle Open Office Math : clipboard;pasting +Oracle Open Office Math : clipboard;pasting formatted/unformatted text +Oracle Open Office Math : clipboard;selection clipboard +Oracle Open Office Math : clipboard;Unix +Oracle Open Office Math : closing +Oracle Open Office Math : closing;documents +Oracle Open Office Math : closing;toolbars +Oracle Open Office Math : collaboration +Oracle Open Office Math : color bar +Oracle Open Office Math : colored characters +Oracle Open Office Math : colors +Oracle Open Office Math : colors;adding +Oracle Open Office Math : colors;appearance +Oracle Open Office Math : colors;backgrounds +Oracle Open Office Math : colors;charts +Oracle Open Office Math : colors;fill format +Oracle Open Office Math : colors;fonts +Oracle Open Office Math : colors;grid lines and cells (Calc) +Oracle Open Office Math : colors;in formulas +Oracle Open Office Math : colors;models +Oracle Open Office Math : colors;not printing +Oracle Open Office Math : colors;printing in grayscale +Oracle Open Office Math : colors;restriction (Calc) +Oracle Open Office Math : colors;selection +Oracle Open Office Math : column headers +Oracle Open Office Math : column headers;displaying (Calc) +Oracle Open Office Math : column headers;highlighting (Calc) +Oracle Open Office Math : columns +Oracle Open Office Math : columns;setting with the mouse +Oracle Open Office Math : combo box creation +Oracle Open Office Math : command button creation +Oracle Open Office Math : command buttons, see push buttons +Oracle Open Office Math : command line parameters +Oracle Open Office Math : commands +Oracle Open Office Math : commands;repeating +Oracle Open Office Math : commands;SQL +Oracle Open Office Math : comments +Oracle Open Office Math : comments;displaying (Calc) +Oracle Open Office Math : comments;entering in Oracle Open Office Math +Oracle Open Office Math : comments;inserting/editing/deleting/printing +Oracle Open Office Math : comments;on changes +Oracle Open Office Math : comments;printing in text +Oracle Open Office Math : common terms +Oracle Open Office Math : common terms;Chinese dictionary +Oracle Open Office Math : common terms;glossaries +Oracle Open Office Math : common terms;Internet glossary +Oracle Open Office Math : comparisons +Oracle Open Office Math : comparisons;document versions +Oracle Open Office Math : comparisons;operators in default filter dialog +Oracle Open Office Math : compatibility settings for MS Word import +Oracle Open Office Math : complete screen view +Oracle Open Office Math : complex numbers +Oracle Open Office Math : complex numbers;set +Oracle Open Office Math : complex numbers;symbols +Oracle Open Office Math : complex text layout +Oracle Open Office Math : complex text layout;definition +Oracle Open Office Math : complex text layout;enabling +Oracle Open Office Math : complex text layout, see CTL +Oracle Open Office Math : compose key to insert special characters +Oracle Open Office Math : concatenating math symbols +Oracle Open Office Math : concatenation, see ampersand symbol +Oracle Open Office Math : conditional separators +Oracle Open Office Math : conditions +Oracle Open Office Math : conditions;in number formats +Oracle Open Office Math : conditions;items in Data Navigator +Oracle Open Office Math : Configuration Manager +Oracle Open Office Math : configuring +Oracle Open Office Math : configuring;fax icon +Oracle Open Office Math : configuring;Oracle Open Office +Oracle Open Office Math : configuring;toolbars +Oracle Open Office Math : congruent relation +Oracle Open Office Math : connections to data sources (Base) +Oracle Open Office Math : considerably greater than relation +Oracle Open Office Math : considerably less than relation +Oracle Open Office Math : contents protection +Oracle Open Office Math : context menus +Oracle Open Office Math : control point display in presentations +Oracle Open Office Math : controls +Oracle Open Office Math : controls;activating in forms +Oracle Open Office Math : controls;adding to documents +Oracle Open Office Math : controls;arranging in forms +Oracle Open Office Math : controls;arranging within stacks +Oracle Open Office Math : controls;assigning data sources +Oracle Open Office Math : controls;assigning macros (Basic) +Oracle Open Office Math : controls;bound fields/list contents/linked cells +Oracle Open Office Math : controls;events +Oracle Open Office Math : controls;focus +Oracle Open Office Math : controls;formatted fields +Oracle Open Office Math : controls;grouping +Oracle Open Office Math : controls;hidden +Oracle Open Office Math : controls;inserting +Oracle Open Office Math : controls;multi-line titles +Oracle Open Office Math : controls;positions and sizes +Oracle Open Office Math : controls;printing +Oracle Open Office Math : controls;properties of form controls +Oracle Open Office Math : controls;properties of table controls +Oracle Open Office Math : controls;reference by SQL +Oracle Open Office Math : controls;rich text control +Oracle Open Office Math : controls;select mode +Oracle Open Office Math : controls;showing (Writer) +Oracle Open Office Math : converters +Oracle Open Office Math : converters;Euro converter +Oracle Open Office Math : converters;PostScript, UNIX +Oracle Open Office Math : converters;XML +Oracle Open Office Math : converting +Oracle Open Office Math : converting;Hangul/Hanja +Oracle Open Office Math : converting;metrics +Oracle Open Office Math : converting;Microsoft documents +Oracle Open Office Math : converting;Oracle Open Office documents +Oracle Open Office Math : converting;Pocket PC formats +Oracle Open Office Math : copies +Oracle Open Office Math : copies;printing +Oracle Open Office Math : coproduct +Oracle Open Office Math : copying +Oracle Open Office Math : copying;by drag and drop +Oracle Open Office Math : copying;data from text documents +Oracle Open Office Math : copying;datasource records in spreadsheets +Oracle Open Office Math : copying;draw objects +Oracle Open Office Math : copying;draw objects between documents +Oracle Open Office Math : copying;formatting +Oracle Open Office Math : copying;from data source view +Oracle Open Office Math : copying;from Gallery +Oracle Open Office Math : copying;in Unix +Oracle Open Office Math : copying;pictures, between documents +Oracle Open Office Math : copying;sheet areas, to text documents +Oracle Open Office Math : copying;to Gallery +Oracle Open Office Math : copyright for Oracle Open Office +Oracle Open Office Math : corner roundings +Oracle Open Office Math : correspondence +Oracle Open Office Math : correspondence;original by +Oracle Open Office Math : correspondence;picture by +Oracle Open Office Math : cosine function +Oracle Open Office Math : cotangent function +Oracle Open Office Math : crash reports +Oracle Open Office Math : criteria of query design (Base) +Oracle Open Office Math : cropping pictures +Oracle Open Office Math : CTL +Oracle Open Office Math : CTL;(not) wrapping words +Oracle Open Office Math : CTL;complex text layout languages +Oracle Open Office Math : CTL;definition +Oracle Open Office Math : CTL;options +Oracle Open Office Math : currencies +Oracle Open Office Math : currencies;converters +Oracle Open Office Math : currencies;format codes +Oracle Open Office Math : currency field creation +Oracle Open Office Math : currency formats +Oracle Open Office Math : cursor +Oracle Open Office Math : cursor;allowing in protected areas (Writer) +Oracle Open Office Math : cursor;in Oracle Open Office Math +Oracle Open Office Math : cursor;in read-only text +Oracle Open Office Math : cursor;quickly moving to an object +Oracle Open Office Math : curve integrals +Oracle Open Office Math : curves +Oracle Open Office Math : curves;editing points +Oracle Open Office Math : custom dictionaries +Oracle Open Office Math : custom dictionaries;editing +Oracle Open Office Math : custom hyphens (Writer) +Oracle Open Office Math : custom quotes +Oracle Open Office Math : custom templates +Oracle Open Office Math : customizing +Oracle Open Office Math : customizing;events +Oracle Open Office Math : customizing;keyboard +Oracle Open Office Math : customizing;menus +Oracle Open Office Math : customizing;Oracle Open Office +Oracle Open Office Math : customizing;round corners +Oracle Open Office Math : customizing;toolbars +Oracle Open Office Math : cutting +Oracle Open Office Math : dashes +Oracle Open Office Math : data +Oracle Open Office Math : data;filtering in forms +Oracle Open Office Math : data;forms and subforms +Oracle Open Office Math : data;read-only +Oracle Open Office Math : data;sorting in forms +Oracle Open Office Math : data;user data +Oracle Open Office Math : data binding change in XForms +Oracle Open Office Math : Data Navigator +Oracle Open Office Math : Data Navigator;adding/editing items +Oracle Open Office Math : Data Navigator;display options +Oracle Open Office Math : data source browser +Oracle Open Office Math : data source explorer +Oracle Open Office Math : data source view +Oracle Open Office Math : data source view;drag and drop +Oracle Open Office Math : data source view;overview +Oracle Open Office Math : data source view;showing +Oracle Open Office Math : data sources +Oracle Open Office Math : data sources;as tables +Oracle Open Office Math : data sources;connection settings (Base) +Oracle Open Office Math : data sources;copying records to spreadsheets +Oracle Open Office Math : data sources;displaying current +Oracle Open Office Math : data sources;LDAP server (Base) +Oracle Open Office Math : data sources;Oracle Open Office Base +Oracle Open Office Math : data sources;registering address books +Oracle Open Office Math : data sources;reports +Oracle Open Office Math : data sources;viewing +Oracle Open Office Math : data structure of XForms +Oracle Open Office Math : data, see also values +Oracle Open Office Math : database contents +Oracle Open Office Math : database contents;inserting as tables +Oracle Open Office Math : database contents;inserting as text +Oracle Open Office Math : database reports +Oracle Open Office Math : Database Wizard (Base) +Oracle Open Office Math : databases +Oracle Open Office Math : databases;administration through SQL (Base) +Oracle Open Office Math : databases;ADO (Base) +Oracle Open Office Math : databases;connecting (Base) +Oracle Open Office Math : databases;creating +Oracle Open Office Math : databases;creating labels +Oracle Open Office Math : databases;creating queries +Oracle Open Office Math : databases;creating reports +Oracle Open Office Math : databases;creating tables +Oracle Open Office Math : databases;deleting (Base) +Oracle Open Office Math : databases;drag and drop (Base) +Oracle Open Office Math : databases;editing tables +Oracle Open Office Math : databases;form filters +Oracle Open Office Math : databases;formats (Base) +Oracle Open Office Math : databases;importing/exporting +Oracle Open Office Math : databases;JDBC (Base) +Oracle Open Office Math : databases;main page (Base) +Oracle Open Office Math : databases;ODBC (Base) +Oracle Open Office Math : databases;overview +Oracle Open Office Math : databases;registering (Base) +Oracle Open Office Math : databases;searching records +Oracle Open Office Math : databases;shortcut keys +Oracle Open Office Math : databases;sorting +Oracle Open Office Math : databases;standard filters +Oracle Open Office Math : databases;text formats +Oracle Open Office Math : databases;viewing +Oracle Open Office Math : date fields +Oracle Open Office Math : date fields;creating +Oracle Open Office Math : date fields;properties +Oracle Open Office Math : date formats +Oracle Open Office Math : dates +Oracle Open Office Math : dates;default (Calc) +Oracle Open Office Math : dates;printing in presentations +Oracle Open Office Math : dates;start 1900/01/01 (Calc) +Oracle Open Office Math : dates;start 1904/01/01 (Calc) +Oracle Open Office Math : dBASE +Oracle Open Office Math : dBASE;database settings (Base) +Oracle Open Office Math : DDE +Oracle Open Office Math : DDE;definition +Oracle Open Office Math : deactivating +Oracle Open Office Math : deactivating;plug-ins +Oracle Open Office Math : decimal places displayed (Calc) +Oracle Open Office Math : decimal separator key +Oracle Open Office Math : decimal tab stops +Oracle Open Office Math : default directories +Oracle Open Office Math : default filters +Oracle Open Office Math : default filters;comparison operators +Oracle Open Office Math : default filters;databases +Oracle Open Office Math : default printer +Oracle Open Office Math : default printer;setting up +Oracle Open Office Math : default printer;UNIX +Oracle Open Office Math : default templates +Oracle Open Office Math : default templates;changing +Oracle Open Office Math : default templates;organizing +Oracle Open Office Math : defaults +Oracle Open Office Math : defaults;changing default formatting +Oracle Open Office Math : defaults;documents +Oracle Open Office Math : defaults;file formats in file dialogs +Oracle Open Office Math : defaults;file formats in Oracle Open Office +Oracle Open Office Math : defaults;fonts +Oracle Open Office Math : defaults;grids (Writer/Calc) +Oracle Open Office Math : defaults;languages +Oracle Open Office Math : defaults;number formats +Oracle Open Office Math : defaults;of saving +Oracle Open Office Math : defaults;program configuration +Oracle Open Office Math : defaults;tab stops in text +Oracle Open Office Math : defaults;views +Oracle Open Office Math : defined as relation +Oracle Open Office Math : defining +Oracle Open Office Math : defining;arrowheads and other line ends +Oracle Open Office Math : defining;colors +Oracle Open Office Math : defining;formula fonts +Oracle Open Office Math : defining;line styles +Oracle Open Office Math : defining;paragraph borders +Oracle Open Office Math : defining;queries (Base) +Oracle Open Office Math : defining;table borders +Oracle Open Office Math : deleting +Oracle Open Office Math : deleting;all direct formatting +Oracle Open Office Math : deleting;comments +Oracle Open Office Math : deleting;databases (Base) +Oracle Open Office Math : deleting;hyperlinks +Oracle Open Office Math : deleting;lines in text +Oracle Open Office Math : deleting;models/instances +Oracle Open Office Math : deleting;namespaces in XForms +Oracle Open Office Math : deleting;tab stops +Oracle Open Office Math : deleting;templates +Oracle Open Office Math : deleting;XML filters +Oracle Open Office Math : depth stagger +Oracle Open Office Math : descriptions for objects +Oracle Open Office Math : design mode after saving +Oracle Open Office Math : design view +Oracle Open Office Math : design view;creating forms +Oracle Open Office Math : design view;queries/views (Base) +Oracle Open Office Math : designing +Oracle Open Office Math : designing;database tables +Oracle Open Office Math : designing;fonts +Oracle Open Office Math : designing;queries (Base) +Oracle Open Office Math : detaching toolbars +Oracle Open Office Math : diagonal downward dots +Oracle Open Office Math : diagonal downward dots;symbol +Oracle Open Office Math : diagonal upward dots +Oracle Open Office Math : diagonal upward dots;symbol +Oracle Open Office Math : dictionaries +Oracle Open Office Math : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Math : dictionaries;creating +Oracle Open Office Math : dictionaries;editing user-defined +Oracle Open Office Math : dictionaries;spellcheck +Oracle Open Office Math : dictionaries, see also languages +Oracle Open Office Math : difference set operator +Oracle Open Office Math : digital signatures +Oracle Open Office Math : digital signatures;getting/managing/applying +Oracle Open Office Math : digital signatures;overview +Oracle Open Office Math : digital signatures;WebDAV over HTTPS +Oracle Open Office Math : direct formatting +Oracle Open Office Math : direct formatting;undoing all +Oracle Open Office Math : direct text +Oracle Open Office Math : direct text;entering in Oracle Open Office Math +Oracle Open Office Math : directories +Oracle Open Office Math : directories;creating new +Oracle Open Office Math : directories;directory structure +Oracle Open Office Math : disabled persons +Oracle Open Office Math : displaying +Oracle Open Office Math : displaying;comments (Calc) +Oracle Open Office Math : displaying;comments in text documents +Oracle Open Office Math : displaying;non-printing characters (Writer) +Oracle Open Office Math : displaying;pictures and objects (Writer) +Oracle Open Office Math : displaying;tables (Writer) +Oracle Open Office Math : displaying;zero values (Calc) +Oracle Open Office Math : distances +Oracle Open Office Math : distances between brackets +Oracle Open Office Math : distinct values in SQL queries +Oracle Open Office Math : distorting in drawings +Oracle Open Office Math : distributing XML filters +Oracle Open Office Math : divides relation +Oracle Open Office Math : division signs +Oracle Open Office Math : docking +Oracle Open Office Math : docking;definition +Oracle Open Office Math : docking;toolbars +Oracle Open Office Math : docking;windows +Oracle Open Office Math : Document Converter Wizard +Oracle Open Office Math : Document Map, see Navigator +Oracle Open Office Math : document types in Oracle Open Office +Oracle Open Office Math : documents +Oracle Open Office Math : documents;changing titles +Oracle Open Office Math : documents;closing +Oracle Open Office Math : documents;comparing +Oracle Open Office Math : documents;contents as lists +Oracle Open Office Math : documents;editing time +Oracle Open Office Math : documents;exporting +Oracle Open Office Math : documents;importing +Oracle Open Office Math : documents;languages +Oracle Open Office Math : documents;measurement units in +Oracle Open Office Math : documents;merging +Oracle Open Office Math : documents;number of pages/tables/sheets +Oracle Open Office Math : documents;opening +Oracle Open Office Math : documents;opening in design mode +Oracle Open Office Math : documents;opening with templates +Oracle Open Office Math : documents;organizing +Oracle Open Office Math : documents;printing +Oracle Open Office Math : documents;read-only +Oracle Open Office Math : documents;reloading +Oracle Open Office Math : documents;saving +Oracle Open Office Math : documents;saving automatically +Oracle Open Office Math : documents;saving in other formats +Oracle Open Office Math : documents;sending as e-mail +Oracle Open Office Math : documents;styles changed +Oracle Open Office Math : documents;version management +Oracle Open Office Math : documents;version numbers +Oracle Open Office Math : does not divide relation +Oracle Open Office Math : dot attribute +Oracle Open Office Math : dotted areas +Oracle Open Office Math : double arrow symbols +Oracle Open Office Math : double dot attribute +Oracle Open Office Math : double square brackets +Oracle Open Office Math : double square brackets;scalable +Oracle Open Office Math : double-line spacing in paragraphs +Oracle Open Office Math : double-line writing in Asian layout +Oracle Open Office Math : down arrow symbol +Oracle Open Office Math : drag and drop +Oracle Open Office Math : drag and drop;copying and pasting text +Oracle Open Office Math : drag and drop;data source view +Oracle Open Office Math : drag and drop;from Gallery to draw objects +Oracle Open Office Math : drag and drop;overview +Oracle Open Office Math : drag and drop;pictures +Oracle Open Office Math : drag and drop;to Gallery +Oracle Open Office Math : draw objects +Oracle Open Office Math : draw objects;adding/editing/copying +Oracle Open Office Math : draw objects;anchoring +Oracle Open Office Math : draw objects;arranging within stacks +Oracle Open Office Math : draw objects;copying between documents +Oracle Open Office Math : draw objects;displaying (Calc) +Oracle Open Office Math : draw objects;dropping Gallery pictures +Oracle Open Office Math : draw objects;flipping +Oracle Open Office Math : draw objects;legends +Oracle Open Office Math : draw objects;positioning and resizing +Oracle Open Office Math : draw objects;protecting +Oracle Open Office Math : draw objects;slanting +Oracle Open Office Math : draw objects;text in +Oracle Open Office Math : Drawing bar +Oracle Open Office Math : drawing lines in text +Oracle Open Office Math : drawings +Oracle Open Office Math : drawings;creating/opening +Oracle Open Office Math : drawings;languages +Oracle Open Office Math : drawings;printing +Oracle Open Office Math : drawings;printing defaults +Oracle Open Office Math : drawings;printing in text documents +Oracle Open Office Math : drawings;saving +Oracle Open Office Math : drawings;saving automatically +Oracle Open Office Math : drawings;saving in other formats +Oracle Open Office Math : drawings;sending as e-mail +Oracle Open Office Math : drawings;showing (Writer) +Oracle Open Office Math : drawings, see also draw objects +Oracle Open Office Math : drop-down lists in form functions +Oracle Open Office Math : e-mail attachments +Oracle Open Office Math : Edit File icon +Oracle Open Office Math : edit mode +Oracle Open Office Math : edit mode;after opening +Oracle Open Office Math : edit mode;through Enter key (Calc) +Oracle Open Office Math : Edit Points bar +Oracle Open Office Math : editing +Oracle Open Office Math : editing;chart axes +Oracle Open Office Math : editing;chart data +Oracle Open Office Math : editing;chart legends +Oracle Open Office Math : editing;chart titles +Oracle Open Office Math : editing;comments +Oracle Open Office Math : editing;data binding of XForms +Oracle Open Office Math : editing;database tables and queries +Oracle Open Office Math : editing;draw objects +Oracle Open Office Math : editing;Fontwork objects +Oracle Open Office Math : editing;hyperlinks +Oracle Open Office Math : editing;menus +Oracle Open Office Math : editing;objects +Oracle Open Office Math : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Math : editing;pictures +Oracle Open Office Math : editing;reports +Oracle Open Office Math : editing;shortcut keys +Oracle Open Office Math : editing;tab stops +Oracle Open Office Math : editing;templates +Oracle Open Office Math : editing;toolbars +Oracle Open Office Math : editing;undoing +Oracle Open Office Math : editing;XForms +Oracle Open Office Math : editing time of documents +Oracle Open Office Math : editors +Oracle Open Office Math : editors;formula editor +Oracle Open Office Math : editors;ImageMap editor +Oracle Open Office Math : effects +Oracle Open Office Math : effects;font positions +Oracle Open Office Math : effects;fonts +Oracle Open Office Math : effects;Fontwork icons +Oracle Open Office Math : ellipsis symbols +Oracle Open Office Math : empty documents +Oracle Open Office Math : empty paragraph removal +Oracle Open Office Math : empty set +Oracle Open Office Math : encryption of contents +Oracle Open Office Math : entering groups +Oracle Open Office Math : entering text from right to left +Oracle Open Office Math : epsilon +Oracle Open Office Math : epsilon;back +Oracle Open Office Math : equal sign +Oracle Open Office Math : equal sign, see also operators +Oracle Open Office Math : Equation Editor, see Oracle Open Office Math +Oracle Open Office Math : equations in formula editor +Oracle Open Office Math : Error Report Tool +Oracle Open Office Math : error search +Oracle Open Office Math : error search;next error +Oracle Open Office Math : error search;previous error +Oracle Open Office Math : Euro +Oracle Open Office Math : Euro;currency formats +Oracle Open Office Math : Euro;Euro Converter Wizard +Oracle Open Office Math : even/odd pages +Oracle Open Office Math : even/odd pages;printing +Oracle Open Office Math : events +Oracle Open Office Math : events;assigning scripts +Oracle Open Office Math : events;controls +Oracle Open Office Math : events;customizing +Oracle Open Office Math : events;in forms +Oracle Open Office Math : examples +Oracle Open Office Math : examples;integral +Oracle Open Office Math : examples;Oracle Open Office Math formulas +Oracle Open Office Math : Excel +Oracle Open Office Math : Excel;saving as +Oracle Open Office Math : Excel;search criteria +Oracle Open Office Math : exceptions +Oracle Open Office Math : exceptions;user-defined dictionaries +Oracle Open Office Math : exchanging, see also replacing +Oracle Open Office Math : executing SQL commands +Oracle Open Office Math : existence quantor symbol +Oracle Open Office Math : exiting +Oracle Open Office Math : exiting;groups +Oracle Open Office Math : exiting;Oracle Open Office +Oracle Open Office Math : expanding formatting (Calc) +Oracle Open Office Math : explorer of data sources +Oracle Open Office Math : exponential functions +Oracle Open Office Math : exponents +Oracle Open Office Math : exponents;variables with right +Oracle Open Office Math : exponents and indexes in Oracle Open Office Math +Oracle Open Office Math : export filters +Oracle Open Office Math : exporting +Oracle Open Office Math : exporting;bitmaps +Oracle Open Office Math : exporting;HTML and text documents +Oracle Open Office Math : exporting;Microsoft Office documents with VBA code +Oracle Open Office Math : exporting;spreadsheets to text format +Oracle Open Office Math : exporting;templates +Oracle Open Office Math : exporting;to foreign formats +Oracle Open Office Math : exporting;to HTML +Oracle Open Office Math : exporting;to Microsoft Office formats +Oracle Open Office Math : exporting;to PDF +Oracle Open Office Math : exporting;to PostScript format +Oracle Open Office Math : exporting;to XML +Oracle Open Office Math : exporting;XML files +Oracle Open Office Math : extended tips in Help +Oracle Open Office Math : extension mode in text +Oracle Open Office Math : extensions +Oracle Open Office Math : extensions;Extension Manager +Oracle Open Office Math : extensions;file formats +Oracle Open Office Math : external keys (Base) +Oracle Open Office Math : factorial +Oracle Open Office Math : faster printing +Oracle Open Office Math : faxes +Oracle Open Office Math : faxes;configuring Oracle Open Office +Oracle Open Office Math : faxes;fax programs/fax printers under UNIX +Oracle Open Office Math : faxes;selecting a fax machine +Oracle Open Office Math : faxes;sending +Oracle Open Office Math : faxes;wizards +Oracle Open Office Math : feedback +Oracle Open Office Math : feedback;automatically +Oracle Open Office Math : fields +Oracle Open Office Math : fields;database tables +Oracle Open Office Math : fields;displaying field codes (Writer) +Oracle Open Office Math : fields;formatted fields +Oracle Open Office Math : fields;updating automatically (Writer) +Oracle Open Office Math : file associations for Microsoft Office +Oracle Open Office Math : file filters +Oracle Open Office Math : file filters;mobile devices +Oracle Open Office Math : file filters;XML +Oracle Open Office Math : file formats +Oracle Open Office Math : file formats;changing Oracle Open Office defaults +Oracle Open Office Math : file formats;OpenDocument/XML +Oracle Open Office Math : file formats;saving always in other formats +Oracle Open Office Math : file selection button +Oracle Open Office Math : file sharing options for current document +Oracle Open Office Math : files +Oracle Open Office Math : files;filters and formats +Oracle Open Office Math : files;importing +Oracle Open Office Math : files;opening +Oracle Open Office Math : files;opening with placeholders +Oracle Open Office Math : files;properties +Oracle Open Office Math : files;saving +Oracle Open Office Math : files;saving automatically +Oracle Open Office Math : files;saving in other formats +Oracle Open Office Math : files;sending as e-mail +Oracle Open Office Math : files;version numbers +Oracle Open Office Math : files and folders in Oracle Open Office +Oracle Open Office Math : fill characters with tabulators +Oracle Open Office Math : fill colors for areas +Oracle Open Office Math : fill patterns for areas +Oracle Open Office Math : filter conditions +Oracle Open Office Math : filter conditions;connecting +Oracle Open Office Math : filter conditions;in queries (Base) +Oracle Open Office Math : filtering +Oracle Open Office Math : filtering;data in databases +Oracle Open Office Math : filtering;data in forms +Oracle Open Office Math : filters +Oracle Open Office Math : filters;comparison operators +Oracle Open Office Math : filters;for import and export +Oracle Open Office Math : filters;Navigator +Oracle Open Office Math : filters;pictures +Oracle Open Office Math : filters;XML filter settings +Oracle Open Office Math : Find tab in Help +Oracle Open Office Math : finding +Oracle Open Office Math : finding;errors in Oracle Open Office Math +Oracle Open Office Math : finding;in all sheets +Oracle Open Office Math : finding;records in form documents +Oracle Open Office Math : finding;selections +Oracle Open Office Math : finding;similarity search +Oracle Open Office Math : fitting to pages +Oracle Open Office Math : fitting to pages;print settings in Math +Oracle Open Office Math : fitting to pages;print settings in presentations +Oracle Open Office Math : fixed text +Oracle Open Office Math : fixed text;form functions +Oracle Open Office Math : fixing toolbars +Oracle Open Office Math : flipping draw objects +Oracle Open Office Math : floating frames in HTML documents +Oracle Open Office Math : floating toolbars +Oracle Open Office Math : floor brackets +Oracle Open Office Math : focus of controls +Oracle Open Office Math : folder creation +Oracle Open Office Math : font attributes +Oracle Open Office Math : font attributes;changing defaults +Oracle Open Office Math : font lists +Oracle Open Office Math : font name box +Oracle Open Office Math : font sizes +Oracle Open Office Math : font sizes;bullets +Oracle Open Office Math : font sizes;example +Oracle Open Office Math : font sizes;in Oracle Open Office Math +Oracle Open Office Math : font sizes;relative changes +Oracle Open Office Math : font sizes;scaling on screen +Oracle Open Office Math : font sizes;text +Oracle Open Office Math : fonts +Oracle Open Office Math : fonts;adding under UNIX +Oracle Open Office Math : fonts;changing in templates +Oracle Open Office Math : fonts;colors +Oracle Open Office Math : fonts;default settings +Oracle Open Office Math : fonts;effects +Oracle Open Office Math : fonts;for HTML and Basic +Oracle Open Office Math : fonts;formats +Oracle Open Office Math : fonts;in Oracle Open Office Math +Oracle Open Office Math : fonts;outlines +Oracle Open Office Math : fonts;positions in text +Oracle Open Office Math : fonts;shadows +Oracle Open Office Math : fonts;specifying several +Oracle Open Office Math : fonts;strikethrough +Oracle Open Office Math : fonts;styles +Oracle Open Office Math : fonts;text objects +Oracle Open Office Math : Fontwork icons +Oracle Open Office Math : footers +Oracle Open Office Math : footers;backgrounds +Oracle Open Office Math : for all symbol +Oracle Open Office Math : form controls +Oracle Open Office Math : form controls;assigning macros +Oracle Open Office Math : form controls;protecting +Oracle Open Office Math : form controls;toolbars +Oracle Open Office Math : form fields +Oracle Open Office Math : form filters +Oracle Open Office Math : Form Navigator +Oracle Open Office Math : format codes +Oracle Open Office Math : format codes;numbers +Oracle Open Office Math : format filling printing in Oracle Open Office Math +Oracle Open Office Math : Format Paintbrush +Oracle Open Office Math : formats +Oracle Open Office Math : formats;Asian layout +Oracle Open Office Math : formats;fonts +Oracle Open Office Math : formats;maximizing page formats +Oracle Open Office Math : formats;number and currency formats +Oracle Open Office Math : formats;of currencies/date/time +Oracle Open Office Math : formats;on opening and saving +Oracle Open Office Math : formats;pasting in special formats +Oracle Open Office Math : formats;positions +Oracle Open Office Math : formats;tabulators +Oracle Open Office Math : formatted fields +Oracle Open Office Math : formatted fields;form functions +Oracle Open Office Math : formatted fields;properties +Oracle Open Office Math : formatting +Oracle Open Office Math : formatting;Asian typography +Oracle Open Office Math : formatting;axes in charts +Oracle Open Office Math : formatting;changing default attributes +Oracle Open Office Math : formatting;chart legends +Oracle Open Office Math : formatting;copying +Oracle Open Office Math : formatting;definition +Oracle Open Office Math : formatting;expanding (Calc) +Oracle Open Office Math : formatting;font effects +Oracle Open Office Math : formatting;hyperlinks +Oracle Open Office Math : formatting;in Oracle Open Office Math +Oracle Open Office Math : formatting;pages +Oracle Open Office Math : formatting;printer metrics (Writer) +Oracle Open Office Math : formatting;reference list (Math) +Oracle Open Office Math : formatting;undoing +Oracle Open Office Math : formatting;undoing when writing +Oracle Open Office Math : forms +Oracle Open Office Math : forms;browsing +Oracle Open Office Math : forms;Combo Box/List Box Wizard +Oracle Open Office Math : forms;creating +Oracle Open Office Math : forms;data +Oracle Open Office Math : forms;designing (Base) +Oracle Open Office Math : forms;events +Oracle Open Office Math : forms;filtering data +Oracle Open Office Math : forms;finding records +Oracle Open Office Math : forms;focus after opening +Oracle Open Office Math : forms;general information (Base) +Oracle Open Office Math : forms;grouping controls +Oracle Open Office Math : forms;HTML filters +Oracle Open Office Math : forms;Navigator +Oracle Open Office Math : forms;opening in design mode +Oracle Open Office Math : forms;properties +Oracle Open Office Math : forms;sorting data +Oracle Open Office Math : forms;subforms +Oracle Open Office Math : forms;wizards +Oracle Open Office Math : forms;XForms +Oracle Open Office Math : formula cursor in Oracle Open Office Math +Oracle Open Office Math : formula display sizes +Oracle Open Office Math : formula fonts +Oracle Open Office Math : formula fonts;defining +Oracle Open Office Math : formula parts +Oracle Open Office Math : formula parts;manually aligning +Oracle Open Office Math : formula parts;merging +Oracle Open Office Math : formula texts +Oracle Open Office Math : formula texts;printing in Oracle Open Office Math +Oracle Open Office Math : formula view +Oracle Open Office Math : formula view;refreshing +Oracle Open Office Math : formulas +Oracle Open Office Math : formulas;aligning +Oracle Open Office Math : formulas;attributes in +Oracle Open Office Math : formulas;element spacing +Oracle Open Office Math : formulas;entering symbols in +Oracle Open Office Math : formulas;examples +Oracle Open Office Math : formulas;fit to text +Oracle Open Office Math : formulas;in color +Oracle Open Office Math : formulas;increasing size of display +Oracle Open Office Math : formulas;line breaks +Oracle Open Office Math : formulas;maximum size +Oracle Open Office Math : formulas;new +Oracle Open Office Math : formulas;reference tables +Oracle Open Office Math : formulas;selections +Oracle Open Office Math : formulas;starting formula editor +Oracle Open Office Math : formulas;zooming out +Oracle Open Office Math : formulas in reports +Oracle Open Office Math : formulas in reports;editing +Oracle Open Office Math : forums and support +Oracle Open Office Math : fractions in formulas +Oracle Open Office Math : frames +Oracle Open Office Math : frames;around paragraphs +Oracle Open Office Math : frames;around tables +Oracle Open Office Math : frames;AutoCorrect function +Oracle Open Office Math : frames;backgrounds +Oracle Open Office Math : frames;captions (Writer) +Oracle Open Office Math : frames;printing in Oracle Open Office Math +Oracle Open Office Math : frames;protecting +Oracle Open Office Math : frames;selection frames +Oracle Open Office Math : frames;text fitting to frames +Oracle Open Office Math : freeform lines +Oracle Open Office Math : freeform lines;draw functions +Oracle Open Office Math : FTP +Oracle Open Office Math : FTP;opening documents +Oracle Open Office Math : FTP;saving documents +Oracle Open Office Math : full joins (Base) +Oracle Open Office Math : full screen view +Oracle Open Office Math : full-text search in Help +Oracle Open Office Math : functions +Oracle Open Office Math : functions;in Oracle Open Office Math +Oracle Open Office Math : functions in reports +Oracle Open Office Math : functions in reports;editing +Oracle Open Office Math : functions operators +Oracle Open Office Math : functions operators;list of +Oracle Open Office Math : Gallery +Oracle Open Office Math : Gallery;adding pictures +Oracle Open Office Math : Gallery;dragging pictures to draw objects +Oracle Open Office Math : Gallery;hiding/showing +Oracle Open Office Math : Gallery;inserting pictures from +Oracle Open Office Math : gaps in formulas +Oracle Open Office Math : get method for form transmissions +Oracle Open Office Math : getting support +Oracle Open Office Math : GIF format +Oracle Open Office Math : glossaries +Oracle Open Office Math : glossaries;common terms +Oracle Open Office Math : glossaries;Internet terms +Oracle Open Office Math : gradients off for faster printing +Oracle Open Office Math : graphic objects, see draw objects +Oracle Open Office Math : graphical text art +Oracle Open Office Math : graphics +Oracle Open Office Math : graphics;cache +Oracle Open Office Math : graphics;protecting +Oracle Open Office Math : graphics, see also pictures +Oracle Open Office Math : grayscale printing +Oracle Open Office Math : greater than or equal to signs +Oracle Open Office Math : greater than relations +Oracle Open Office Math : Greek symbols in formulas +Oracle Open Office Math : grid controls +Oracle Open Office Math : grid controls;form functions +Oracle Open Office Math : grids +Oracle Open Office Math : grids;defaults (Writer/Calc) +Oracle Open Office Math : grids;display options (Impress/Draw) +Oracle Open Office Math : grids;displaying lines (Calc) +Oracle Open Office Math : group box creation +Oracle Open Office Math : grouping and brackets in Oracle Open Office Math +Oracle Open Office Math : grouping brackets +Oracle Open Office Math : groups +Oracle Open Office Math : groups;entering/exiting/ungrouping +Oracle Open Office Math : groups;naming +Oracle Open Office Math : groups;of controls +Oracle Open Office Math : guides +Oracle Open Office Math : guides;display options (Impress/Draw) +Oracle Open Office Math : guides;displaying when moving objects (Impress) +Oracle Open Office Math : guides;showing (Calc) +Oracle Open Office Math : guides;showing when moving frames (Writer) +Oracle Open Office Math : gutter +Oracle Open Office Math : h-bar symbol +Oracle Open Office Math : handles +Oracle Open Office Math : handles;displaying (Writer) +Oracle Open Office Math : handles;scaling +Oracle Open Office Math : handles;showing simple/large handles (Calc) +Oracle Open Office Math : Hangul/Hanja +Oracle Open Office Math : hatching +Oracle Open Office Math : headers +Oracle Open Office Math : headers;backgrounds +Oracle Open Office Math : headings +Oracle Open Office Math : headings;entering as text box +Oracle Open Office Math : Hebrew +Oracle Open Office Math : Hebrew;entering text +Oracle Open Office Math : Hebrew;language settings +Oracle Open Office Math : Help +Oracle Open Office Math : Help;bookmarks +Oracle Open Office Math : Help;extended tips on/off +Oracle Open Office Math : Help;full-text search +Oracle Open Office Math : Help;Help tips +Oracle Open Office Math : Help;keywords +Oracle Open Office Math : Help;navigation pane showing/hiding +Oracle Open Office Math : Help;style sheets +Oracle Open Office Math : Help;topics +Oracle Open Office Math : Help Agent +Oracle Open Office Math : Help Agent;help +Oracle Open Office Math : Help Agent;options +Oracle Open Office Math : Help tips +Oracle Open Office Math : Help tips;hiding +Oracle Open Office Math : hidden controls in Form Navigator +Oracle Open Office Math : hidden fields display (Writer) +Oracle Open Office Math : hidden pages +Oracle Open Office Math : hidden pages;printing in presentations +Oracle Open Office Math : hidden text +Oracle Open Office Math : hidden text;showing (Writer) +Oracle Open Office Math : hiding +Oracle Open Office Math : hiding;changes +Oracle Open Office Math : hiding;docked windows +Oracle Open Office Math : hiding;navigation pane in Help window +Oracle Open Office Math : high contrast mode +Oracle Open Office Math : Hindi +Oracle Open Office Math : Hindi;entering text +Oracle Open Office Math : Hindi;language settings +Oracle Open Office Math : horizontal scrollbars (Writer) +Oracle Open Office Math : hotspots +Oracle Open Office Math : HTML +Oracle Open Office Math : HTML;definition +Oracle Open Office Math : HTML;export character set +Oracle Open Office Math : HTML;fonts for source display +Oracle Open Office Math : HTML;importing META tags +Oracle Open Office Math : HTML;live presentations +Oracle Open Office Math : HTML documents +Oracle Open Office Math : HTML documents;auto reloading +Oracle Open Office Math : HTML documents;importing/exporting +Oracle Open Office Math : HTML documents;META tags in +Oracle Open Office Math : HTML documents;new +Oracle Open Office Math : HTML documents;source text +Oracle Open Office Math : hyperbolic cosine function +Oracle Open Office Math : hyperbolic cotangent function +Oracle Open Office Math : hyperbolic sine function +Oracle Open Office Math : hyperbolic tangent function +Oracle Open Office Math : hyperlinks +Oracle Open Office Math : hyperlinks;assigning macros +Oracle Open Office Math : hyperlinks;character formats +Oracle Open Office Math : hyperlinks;definition +Oracle Open Office Math : hyperlinks;deleting +Oracle Open Office Math : hyperlinks;editing +Oracle Open Office Math : hyperlinks;inserting +Oracle Open Office Math : hyperlinks;relative and absolute +Oracle Open Office Math : hyperlinks;turning off automatic recognition +Oracle Open Office Math : hyperlinks, see also links +Oracle Open Office Math : hyphenation +Oracle Open Office Math : hyphenation;activating for a language +Oracle Open Office Math : hyphenation;minimal number of characters +Oracle Open Office Math : hyphens +Oracle Open Office Math : hyphens;displaying custom (Writer) +Oracle Open Office Math : hyphens;inserting custom +Oracle Open Office Math : icon bars, see toolbars +Oracle Open Office Math : icon sizes +Oracle Open Office Math : identical to relation +Oracle Open Office Math : ignore list for spellcheck +Oracle Open Office Math : illustrations, see pictures +Oracle Open Office Math : image button creation +Oracle Open Office Math : image control creation +Oracle Open Office Math : image of relation +Oracle Open Office Math : ImageMap +Oracle Open Office Math : ImageMap;definition +Oracle Open Office Math : ImageMap;editor +Oracle Open Office Math : images +Oracle Open Office Math : images;ImageMap +Oracle Open Office Math : images;inserting and editing bitmaps +Oracle Open Office Math : images, see also pictures +Oracle Open Office Math : imaginary part of a complex number +Oracle Open Office Math : IME +Oracle Open Office Math : IME;definition +Oracle Open Office Math : IME;showing/hiding +Oracle Open Office Math : import filters +Oracle Open Office Math : import restrictions for Microsoft Office +Oracle Open Office Math : importing +Oracle Open Office Math : importing;bitmaps +Oracle Open Office Math : importing;compatibility settings for text import +Oracle Open Office Math : importing;databases +Oracle Open Office Math : importing;documents in other formats +Oracle Open Office Math : importing;from XML +Oracle Open Office Math : importing;HTML and text documents +Oracle Open Office Math : importing;HTML with META tags +Oracle Open Office Math : importing;Microsoft Office documents with VBA code +Oracle Open Office Math : importing;Oracle Open Office Math formulas +Oracle Open Office Math : importing;tables in text format +Oracle Open Office Math : importing;templates +Oracle Open Office Math : improvement program +Oracle Open Office Math : inches +Oracle Open Office Math : included in set operator +Oracle Open Office Math : includes set operator +Oracle Open Office Math : Index tab in Help +Oracle Open Office Math : indexes +Oracle Open Office Math : indexes;adding to formulas +Oracle Open Office Math : indexes;backgrounds +Oracle Open Office Math : indexes;showing/hiding Help index tab +Oracle Open Office Math : indexes and exponents in Oracle Open Office Math +Oracle Open Office Math : indicator lines in text +Oracle Open Office Math : inequation +Oracle Open Office Math : infinity symbol +Oracle Open Office Math : inner joins (Base) +Oracle Open Office Math : input method window +Oracle Open Office Math : insert mode for entering text +Oracle Open Office Math : inserting +Oracle Open Office Math : inserting;brackets +Oracle Open Office Math : inserting;buttons in toolbars +Oracle Open Office Math : inserting;cell ranges from spreadsheets +Oracle Open Office Math : inserting;charts +Oracle Open Office Math : inserting;clipboard options +Oracle Open Office Math : inserting;comments +Oracle Open Office Math : inserting;comments in Oracle Open Office Math +Oracle Open Office Math : inserting;data from text documents +Oracle Open Office Math : inserting;datasource records in spreadsheets +Oracle Open Office Math : inserting;drawings +Oracle Open Office Math : inserting;floating frames +Oracle Open Office Math : inserting;Fontwork objects +Oracle Open Office Math : inserting;form fields +Oracle Open Office Math : inserting;gaps +Oracle Open Office Math : inserting;hyperlinks +Oracle Open Office Math : inserting;line breaks in cells +Oracle Open Office Math : inserting;movies/sounds +Oracle Open Office Math : inserting;new text tables defaults +Oracle Open Office Math : inserting;objects from Gallery +Oracle Open Office Math : inserting;OLE objects +Oracle Open Office Math : inserting;paragraph borders +Oracle Open Office Math : inserting;paragraph bullets +Oracle Open Office Math : inserting;pictures in Gallery +Oracle Open Office Math : inserting;plug-ins +Oracle Open Office Math : inserting;push buttons +Oracle Open Office Math : inserting;special characters +Oracle Open Office Math : inserting;tab stops +Oracle Open Office Math : inserting;text in Oracle Open Office Math +Oracle Open Office Math : inserting;textures on chart bars +Oracle Open Office Math : installing +Oracle Open Office Math : installing;ActiveX control +Oracle Open Office Math : installing;mobile device filters +Oracle Open Office Math : installing;UNO components +Oracle Open Office Math : installing;XML filters +Oracle Open Office Math : instructions +Oracle Open Office Math : instructions;general +Oracle Open Office Math : instructions;Oracle Open Office Math +Oracle Open Office Math : integral limits +Oracle Open Office Math : integrals +Oracle Open Office Math : integrals;example +Oracle Open Office Math : integrals;signs +Oracle Open Office Math : Internet +Oracle Open Office Math : Internet;checking for updates +Oracle Open Office Math : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Math : Internet;presentations +Oracle Open Office Math : Internet;starting searches +Oracle Open Office Math : Internet glossary +Oracle Open Office Math : intersection of sets +Oracle Open Office Math : invert filter +Oracle Open Office Math : invisible areas +Oracle Open Office Math : italic attribute in Oracle Open Office Math +Oracle Open Office Math : italic text +Oracle Open Office Math : iterative references in spreadsheets +Oracle Open Office Math : Java +Oracle Open Office Math : Java;definition +Oracle Open Office Math : Java;setting options +Oracle Open Office Math : JDBC +Oracle Open Office Math : JDBC;databases (Base) +Oracle Open Office Math : JDBC;definition +Oracle Open Office Math : joining +Oracle Open Office Math : joining;paragraphs +Oracle Open Office Math : joining;tables (Base) +Oracle Open Office Math : joins in databases (Base) +Oracle Open Office Math : justifying text +Oracle Open Office Math : kerning +Oracle Open Office Math : kerning;Asian texts +Oracle Open Office Math : kerning;definition +Oracle Open Office Math : kerning;in characters +Oracle Open Office Math : key fields for relations (Base) +Oracle Open Office Math : keyboard +Oracle Open Office Math : keyboard;assigning/editing shortcut keys +Oracle Open Office Math : keyboard;general commands +Oracle Open Office Math : keyboard;removing numbering +Oracle Open Office Math : keys +Oracle Open Office Math : keys;adding push buttons +Oracle Open Office Math : keys;primary keys (Base) +Oracle Open Office Math : kiosk export +Oracle Open Office Math : labels +Oracle Open Office Math : labels;creating and synchronizing +Oracle Open Office Math : labels;for draw objects +Oracle Open Office Math : labels;form functions +Oracle Open Office Math : labels;from databases +Oracle Open Office Math : labels, see also names/callouts +Oracle Open Office Math : lambda-bar symbol +Oracle Open Office Math : languages +Oracle Open Office Math : languages;activating modules +Oracle Open Office Math : languages;Asian support +Oracle Open Office Math : languages;complex text layout +Oracle Open Office Math : languages;locale settings +Oracle Open Office Math : languages;selecting for text +Oracle Open Office Math : languages;setting options +Oracle Open Office Math : languages;spellcheck +Oracle Open Office Math : languages;spellchecking and formatting +Oracle Open Office Math : large handles (Writer) +Oracle Open Office Math : large icons +Oracle Open Office Math : layer arrangement +Oracle Open Office Math : layout +Oracle Open Office Math : layout;importing Word documents +Oracle Open Office Math : layout;pages +Oracle Open Office Math : LDAP server +Oracle Open Office Math : LDAP server;address books (Base) +Oracle Open Office Math : LDAP server;sign on options +Oracle Open Office Math : leading between paragraphs +Oracle Open Office Math : left alignment of paragraphs +Oracle Open Office Math : left arrow symbol +Oracle Open Office Math : left joins (Base) +Oracle Open Office Math : left-justified alignment (Math) +Oracle Open Office Math : legends +Oracle Open Office Math : legends;charts +Oracle Open Office Math : legends;draw objects +Oracle Open Office Math : legends;rounding corners +Oracle Open Office Math : less than or equal to signs +Oracle Open Office Math : less than relations +Oracle Open Office Math : Letter Wizard +Oracle Open Office Math : levels +Oracle Open Office Math : levels;depth stagger +Oracle Open Office Math : levels;macro security +Oracle Open Office Math : limits +Oracle Open Office Math : limits;in Oracle Open Office Math +Oracle Open Office Math : limits;in sums/integrals +Oracle Open Office Math : limits of tables (Writer) +Oracle Open Office Math : line above attribute +Oracle Open Office Math : line breaks +Oracle Open Office Math : line breaks;in cells +Oracle Open Office Math : line breaks;in formulas +Oracle Open Office Math : line spacing +Oracle Open Office Math : line spacing;context menu in paragraphs +Oracle Open Office Math : line spacing;paragraph +Oracle Open Office Math : line styles +Oracle Open Office Math : line styles;applying +Oracle Open Office Math : line styles;defining +Oracle Open Office Math : line through attribute +Oracle Open Office Math : lines +Oracle Open Office Math : lines;defining ends +Oracle Open Office Math : lines;draw functions +Oracle Open Office Math : lines;drawing in text +Oracle Open Office Math : lines;editing points +Oracle Open Office Math : lines;inserting in formulas +Oracle Open Office Math : lines;removing automatic lines +Oracle Open Office Math : lines;scalable +Oracle Open Office Math : lines;with edges +Oracle Open Office Math : lines of text +Oracle Open Office Math : lines of text;alignment +Oracle Open Office Math : links +Oracle Open Office Math : links;between cells and controls +Oracle Open Office Math : links;by drag and drop +Oracle Open Office Math : links;character formats +Oracle Open Office Math : links;definition +Oracle Open Office Math : links;editing hyperlinks +Oracle Open Office Math : links;inserting +Oracle Open Office Math : links;modifying +Oracle Open Office Math : links;opening files with +Oracle Open Office Math : links;relational databases (Base) +Oracle Open Office Math : links;turning off automatic recognition +Oracle Open Office Math : links;updating options (Writer) +Oracle Open Office Math : links;updating specific links +Oracle Open Office Math : list box creation +Oracle Open Office Math : lists +Oracle Open Office Math : lists;data assigned to controls +Oracle Open Office Math : lists;registered databases (Base) +Oracle Open Office Math : lists;regular expressions +Oracle Open Office Math : live presentations on the Internet +Oracle Open Office Math : loading +Oracle Open Office Math : loading;documents +Oracle Open Office Math : loading;documents from other formats +Oracle Open Office Math : loading;HTML documents, automatically +Oracle Open Office Math : loading;Microsoft Office documents with VBA code +Oracle Open Office Math : loading;reloading +Oracle Open Office Math : loading;XML files +Oracle Open Office Math : locale settings +Oracle Open Office Math : logarithms +Oracle Open Office Math : logic symbols +Oracle Open Office Math : logical operators +Oracle Open Office Math : lower limits +Oracle Open Office Math : lowercase letters +Oracle Open Office Math : lowercase letters;font effects +Oracle Open Office Math : Macro Wizard (Base) +Oracle Open Office Math : macros +Oracle Open Office Math : macros;assigning to events in forms +Oracle Open Office Math : macros;attaching new (Base) +Oracle Open Office Math : macros;in MS Office documents +Oracle Open Office Math : macros;interrupting +Oracle Open Office Math : macros;organizing +Oracle Open Office Math : macros;recording +Oracle Open Office Math : macros;security +Oracle Open Office Math : macros;security levels +Oracle Open Office Math : macros;security warning dialog +Oracle Open Office Math : macros;selecting security warnings +Oracle Open Office Math : magnifiers +Oracle Open Office Math : margins +Oracle Open Office Math : margins;pages +Oracle Open Office Math : margins;setting with the mouse +Oracle Open Office Math : margins;shadows +Oracle Open Office Math : markers +Oracle Open Office Math : markers;definition +Oracle Open Office Math : markers;next +Oracle Open Office Math : markers;previous +Oracle Open Office Math : marking changes +Oracle Open Office Math : marking, see selecting +Oracle Open Office Math : Math formula editor +Oracle Open Office Math : mathematical symbols +Oracle Open Office Math : mathematical symbols;catalog +Oracle Open Office Math : mathematical symbols;other +Oracle Open Office Math : matrices +Oracle Open Office Math : matrices;arranging +Oracle Open Office Math : maximum formula size +Oracle Open Office Math : measurement units +Oracle Open Office Math : measurement units;changing on rulers +Oracle Open Office Math : measurement units;converting +Oracle Open Office Math : measurement units;selecting +Oracle Open Office Math : Media Player window +Oracle Open Office Math : menus +Oracle Open Office Math : menus;activating context menus +Oracle Open Office Math : menus;assigning macros +Oracle Open Office Math : menus;customizing +Oracle Open Office Math : merging +Oracle Open Office Math : merging;documents +Oracle Open Office Math : merging;formula parts +Oracle Open Office Math : META tags +Oracle Open Office Math : metrics +Oracle Open Office Math : metrics;converting +Oracle Open Office Math : metrics;document formatting (Writer) +Oracle Open Office Math : metrics;in sheets +Oracle Open Office Math : Microsoft Office +Oracle Open Office Math : Microsoft Office;Access databases (base) +Oracle Open Office Math : Microsoft Office;as default file format +Oracle Open Office Math : Microsoft Office;document import restrictions +Oracle Open Office Math : Microsoft Office;feature comparisons +Oracle Open Office Math : Microsoft Office;importing password protected files +Oracle Open Office Math : Microsoft Office;importing Word documents +Oracle Open Office Math : Microsoft Office;importing/exporting VBA code +Oracle Open Office Math : Microsoft Office;new users information +Oracle Open Office Math : Microsoft Office;opening Microsoft documents +Oracle Open Office Math : Microsoft Office;reassigning document types +Oracle Open Office Math : migrating macros (Base) +Oracle Open Office Math : minus signs +Oracle Open Office Math : minus/plus signs +Oracle Open Office Math : mobile device filters +Oracle Open Office Math : models in XForms +Oracle Open Office Math : modifying, see changing +Oracle Open Office Math : more controls +Oracle Open Office Math : mosaic filter +Oracle Open Office Math : mouse +Oracle Open Office Math : mouse;pointers when using drag and drop +Oracle Open Office Math : mouse;positioning +Oracle Open Office Math : movies +Oracle Open Office Math : moving +Oracle Open Office Math : moving;tab stops on ruler +Oracle Open Office Math : moving;toolbars +Oracle Open Office Math : moving;using guide lines in presentations +Oracle Open Office Math : MS ADO interface (Base) +Oracle Open Office Math : much greater than relation +Oracle Open Office Math : much less than relation +Oracle Open Office Math : multi-line formulas +Oracle Open Office Math : multi-line formulas;aligning +Oracle Open Office Math : multi-line titles in forms +Oracle Open Office Math : multiple documents +Oracle Open Office Math : multiple documents;opening +Oracle Open Office Math : multiple selection +Oracle Open Office Math : multiplication signs +Oracle Open Office Math : music +Oracle Open Office Math : My Documents folder +Oracle Open Office Math : My Documents folder;changing work directory +Oracle Open Office Math : My Documents folder;opening +Oracle Open Office Math : MySQL databases (Base) +Oracle Open Office Math : Nabla operator +Oracle Open Office Math : names +Oracle Open Office Math : names;multi-line titles +Oracle Open Office Math : names;objects +Oracle Open Office Math : names, see also labels/callouts +Oracle Open Office Math : namespace organization in XForms +Oracle Open Office Math : native SQL (Base) +Oracle Open Office Math : natural exponential functions +Oracle Open Office Math : natural logarithms +Oracle Open Office Math : natural numbers +Oracle Open Office Math : navigating +Oracle Open Office Math : navigating;in documents +Oracle Open Office Math : Navigation bar +Oracle Open Office Math : Navigation bar;controls +Oracle Open Office Math : Navigation bar;forms +Oracle Open Office Math : Navigator +Oracle Open Office Math : Navigator;comments +Oracle Open Office Math : Navigator;contents as lists +Oracle Open Office Math : Navigator;docking +Oracle Open Office Math : Navigator;working with +Oracle Open Office Math : network identity options +Oracle Open Office Math : new databases +Oracle Open Office Math : new documents +Oracle Open Office Math : new lines in cells +Oracle Open Office Math : new symbols in Oracle Open Office Math +Oracle Open Office Math : new windows +Oracle Open Office Math : non-breaking dashes +Oracle Open Office Math : non-breaking spaces (Writer) +Oracle Open Office Math : non-printing characters (Writer) +Oracle Open Office Math : not included in set operator +Oracle Open Office Math : NOT operator +Oracle Open Office Math : not subset set operators +Oracle Open Office Math : not superset set operators +Oracle Open Office Math : number formats +Oracle Open Office Math : number formats;codes +Oracle Open Office Math : number formats;formats +Oracle Open Office Math : number formats;recognition in text tables +Oracle Open Office Math : number of pages +Oracle Open Office Math : number of sheets +Oracle Open Office Math : number of tables +Oracle Open Office Math : numbering +Oracle Open Office Math : numbering;options +Oracle Open Office Math : numbering;turning off +Oracle Open Office Math : numbering;using automatically +Oracle Open Office Math : numbers +Oracle Open Office Math : numbers;date, time and currency formats +Oracle Open Office Math : numbers;decimal places (Calc) +Oracle Open Office Math : numerical fields in forms +Oracle Open Office Math : objects +Oracle Open Office Math : objects;always moveable (Impress/Draw) +Oracle Open Office Math : objects;arranging within stacks +Oracle Open Office Math : objects;copying when moving in presentations +Oracle Open Office Math : objects;definition +Oracle Open Office Math : objects;displaying in spreadsheets +Oracle Open Office Math : objects;displaying in text documents +Oracle Open Office Math : objects;editing +Oracle Open Office Math : objects;inserting from Gallery +Oracle Open Office Math : objects;inserting OLE objects +Oracle Open Office Math : objects;moving and resizing with mouse +Oracle Open Office Math : objects;naming +Oracle Open Office Math : objects;opening +Oracle Open Office Math : objects;quickly moving to +Oracle Open Office Math : objects;titles and descriptions +Oracle Open Office Math : ODBC +Oracle Open Office Math : ODBC;database (Base) +Oracle Open Office Math : ODBC;definition +Oracle Open Office Math : ODF file formats +Oracle Open Office Math : Office +Oracle Open Office Math : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Math : OLE +Oracle Open Office Math : OLE;definition +Oracle Open Office Math : OLE objects +Oracle Open Office Math : OLE objects;arranging within stacks +Oracle Open Office Math : OLE objects;captions (Writer) +Oracle Open Office Math : OLE objects;inserting +Oracle Open Office Math : OLE objects;number of +Oracle Open Office Math : OLE objects;protecting +Oracle Open Office Math : one and a half line spacing in text +Oracle Open Office Math : online feedback options +Oracle Open Office Math : online registration +Oracle Open Office Math : online update options +Oracle Open Office Math : online updates +Oracle Open Office Math : online updates;checking automatically +Oracle Open Office Math : online updates;checking manually +Oracle Open Office Math : Open/Save dialogs +Oracle Open Office Math : OpenDocument file formats +Oracle Open Office Math : OpenGL +Oracle Open Office Math : OpenGL;definition +Oracle Open Office Math : opening +Oracle Open Office Math : opening;context menus +Oracle Open Office Math : opening;database files +Oracle Open Office Math : opening;dialog settings +Oracle Open Office Math : opening;documents +Oracle Open Office Math : opening;documents from other formats +Oracle Open Office Math : opening;documents on WebDAV server +Oracle Open Office Math : opening;files with links +Oracle Open Office Math : opening;files, with placeholders +Oracle Open Office Math : opening;forms +Oracle Open Office Math : opening;Microsoft Office files +Oracle Open Office Math : opening;mobile device documents +Oracle Open Office Math : opening;objects +Oracle Open Office Math : opening;reports +Oracle Open Office Math : opening;several files +Oracle Open Office Math : opening;XForms +Oracle Open Office Math : operator brackets +Oracle Open Office Math : operators +Oracle Open Office Math : operators;default filters +Oracle Open Office Math : operators;general +Oracle Open Office Math : operators;in Math +Oracle Open Office Math : operators;list of +Oracle Open Office Math : operators;unary and binary +Oracle Open Office Math : optional hyphens (Writer) +Oracle Open Office Math : options +Oracle Open Office Math : options;accessibility +Oracle Open Office Math : options;appearance +Oracle Open Office Math : options;compatibility (Writer) +Oracle Open Office Math : options;improvement program +Oracle Open Office Math : options;network identity +Oracle Open Office Math : options;online update +Oracle Open Office Math : options;tools +Oracle Open Office Math : OR operator +Oracle Open Office Math : Oracle databases (base) +Oracle Open Office Math : Oracle Open Office Base data sources +Oracle Open Office Math : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Math : Oracle Open Office documents +Oracle Open Office Math : Oracle Open Office documents;mobile device filters +Oracle Open Office Math : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Math : Oracle Open Office Math +Oracle Open Office Math : Oracle Open Office Math;entering symbols in +Oracle Open Office Math : Oracle Open Office Math;examples +Oracle Open Office Math : Oracle Open Office Math;formatting +Oracle Open Office Math : Oracle Open Office Math;general instructions +Oracle Open Office Math : Oracle Open Office Math;reference list +Oracle Open Office Math : Oracle Open Office Math;relations +Oracle Open Office Math : Oracle Open Office Math start +Oracle Open Office Math : ordering +Oracle Open Office Math : ordering;objects +Oracle Open Office Math : organizing +Oracle Open Office Math : organizing;macros and scripts +Oracle Open Office Math : organizing;namespaces in XForms +Oracle Open Office Math : organizing;styles +Oracle Open Office Math : organizing;templates +Oracle Open Office Math : original by correspondence +Oracle Open Office Math : original size +Oracle Open Office Math : original size;printing in Oracle Open Office Math +Oracle Open Office Math : original size;restoring after cropping +Oracle Open Office Math : orphaned brackets +Oracle Open Office Math : orthogonal relations +Oracle Open Office Math : other operators +Oracle Open Office Math : other operators;list of +Oracle Open Office Math : outlines +Oracle Open Office Math : outlines;font effects +Oracle Open Office Math : outlines;outline symbols +Oracle Open Office Math : outlines;sending to presentations +Oracle Open Office Math : overline attribute +Oracle Open Office Math : overwrite mode +Oracle Open Office Math : owns command +Oracle Open Office Math : packages, see extensions +Oracle Open Office Math : page breaks +Oracle Open Office Math : page breaks;displaying (Calc) +Oracle Open Office Math : page formats +Oracle Open Office Math : page formats;maximizing +Oracle Open Office Math : page formats;restriction +Oracle Open Office Math : page styles +Oracle Open Office Math : page styles;editing/applying with statusbar +Oracle Open Office Math : pages +Oracle Open Office Math : pages;backgrounds in all applications +Oracle Open Office Math : pages;formatting and numbering +Oracle Open Office Math : pages;printing page names in presentations +Oracle Open Office Math : pages;scaling +Oracle Open Office Math : pages;selecting one to print +Oracle Open Office Math : paint box +Oracle Open Office Math : paint can symbol +Oracle Open Office Math : pair kerning +Oracle Open Office Math : Palm file filters +Oracle Open Office Math : paper formats +Oracle Open Office Math : paper size warning +Oracle Open Office Math : paper trays +Oracle Open Office Math : paragraph marks +Oracle Open Office Math : paragraph marks;displaying (Writer) +Oracle Open Office Math : paragraph styles +Oracle Open Office Math : paragraph styles;languages +Oracle Open Office Math : paragraph styles;modifying basic fonts +Oracle Open Office Math : paragraphs +Oracle Open Office Math : paragraphs;alignment +Oracle Open Office Math : paragraphs;Asian typography +Oracle Open Office Math : paragraphs;defining borders +Oracle Open Office Math : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Math : paragraphs;increasing indents of +Oracle Open Office Math : paragraphs;indents, margins and columns +Oracle Open Office Math : paragraphs;inserting bullets +Oracle Open Office Math : paragraphs;joining +Oracle Open Office Math : paragraphs;numbering automatically +Oracle Open Office Math : paragraphs;removing blank ones +Oracle Open Office Math : paragraphs;spacing +Oracle Open Office Math : paragraphs;tab stops +Oracle Open Office Math : parallel relation +Oracle Open Office Math : parameters +Oracle Open Office Math : parameters;command line +Oracle Open Office Math : parameters;queries (Base) +Oracle Open Office Math : parentheses (Math) +Oracle Open Office Math : partial differentiation symbol +Oracle Open Office Math : passwords for protecting contents +Oracle Open Office Math : pasting +Oracle Open Office Math : pasting;cell ranges +Oracle Open Office Math : pasting;cell ranges from spreadsheets +Oracle Open Office Math : pasting;data from text documents +Oracle Open Office Math : pasting;draw objects +Oracle Open Office Math : pasting;draw objects from other documents +Oracle Open Office Math : pasting;formatted/unformatted text +Oracle Open Office Math : pasting;from data source view +Oracle Open Office Math : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Math : pasting;pictures from other documents +Oracle Open Office Math : pasting;sheet areas in text documents +Oracle Open Office Math : pasting;to Gallery +Oracle Open Office Math : paths +Oracle Open Office Math : paths;changing work directory +Oracle Open Office Math : paths;defaults +Oracle Open Office Math : pattern editor +Oracle Open Office Math : pattern fields +Oracle Open Office Math : pattern fields;form functions +Oracle Open Office Math : patterns for objects +Oracle Open Office Math : PDF +Oracle Open Office Math : PDF;export +Oracle Open Office Math : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Math : personal data input +Oracle Open Office Math : phonetic guide +Oracle Open Office Math : picklist creation +Oracle Open Office Math : picture by correspondence +Oracle Open Office Math : pictures +Oracle Open Office Math : pictures;adding to Gallery +Oracle Open Office Math : pictures;arranging within stacks +Oracle Open Office Math : pictures;assigning macros +Oracle Open Office Math : pictures;backgrounds +Oracle Open Office Math : pictures;captions (Writer) +Oracle Open Office Math : pictures;changing paths +Oracle Open Office Math : pictures;cropping and zooming +Oracle Open Office Math : pictures;displaying in Calc +Oracle Open Office Math : pictures;displaying in Writer (Writer) +Oracle Open Office Math : pictures;drag and drop between documents +Oracle Open Office Math : pictures;drawing +Oracle Open Office Math : pictures;editing +Oracle Open Office Math : pictures;filters +Oracle Open Office Math : pictures;ImageMap +Oracle Open Office Math : pictures;inserting automatically +Oracle Open Office Math : pictures;inserting from Gallery +Oracle Open Office Math : pictures;number of +Oracle Open Office Math : pictures;printing +Oracle Open Office Math : pictures;scaling/resizing +Oracle Open Office Math : pixel editor +Oracle Open Office Math : pixel graphics +Oracle Open Office Math : pixel graphics;inserting and editing +Oracle Open Office Math : pixel patterns +Oracle Open Office Math : placeholders +Oracle Open Office Math : placeholders;in SQL queries +Oracle Open Office Math : placeholders;inserting in formulas +Oracle Open Office Math : placeholders;on opening files +Oracle Open Office Math : placeholders;position of next +Oracle Open Office Math : placeholders;previous marker +Oracle Open Office Math : placing toolbars +Oracle Open Office Math : playing movies and sound files +Oracle Open Office Math : plotting data as charts +Oracle Open Office Math : plug-ins +Oracle Open Office Math : plug-ins;activating and deactivating +Oracle Open Office Math : plug-ins;definition +Oracle Open Office Math : plug-ins;inserting +Oracle Open Office Math : plus signs +Oracle Open Office Math : plus/minus signs +Oracle Open Office Math : pocket device appliances +Oracle Open Office Math : Pocket PC file filters +Oracle Open Office Math : points +Oracle Open Office Math : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Math : polygon drawing +Oracle Open Office Math : pop-art filter +Oracle Open Office Math : portable document format +Oracle Open Office Math : positioning +Oracle Open Office Math : positioning;draw objects and controls +Oracle Open Office Math : positioning;fonts +Oracle Open Office Math : positioning;objects +Oracle Open Office Math : positioning;toolbars +Oracle Open Office Math : post method for form transmissions +Oracle Open Office Math : posterizing filter +Oracle Open Office Math : PostScript +Oracle Open Office Math : PostScript;creating files +Oracle Open Office Math : PostScript;PDF converter, UNIX +Oracle Open Office Math : PowerPoint export +Oracle Open Office Math : powers +Oracle Open Office Math : precision as shown (Calc) +Oracle Open Office Math : predefining fonts +Oracle Open Office Math : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Math : presentations +Oracle Open Office Math : presentations;creating/opening +Oracle Open Office Math : presentations;inserting spreadsheet cells +Oracle Open Office Math : presentations;live on the Internet +Oracle Open Office Math : presentations;print menu +Oracle Open Office Math : presentations;saving +Oracle Open Office Math : presentations;saving automatically +Oracle Open Office Math : presentations;saving in other formats +Oracle Open Office Math : presentations;sending as e-mail +Oracle Open Office Math : presentations;starting with wizard +Oracle Open Office Math : presentations;wizards +Oracle Open Office Math : Presenter Console shortcuts +Oracle Open Office Math : press buttons, see push buttons +Oracle Open Office Math : previews +Oracle Open Office Math : previews;fonts lists +Oracle Open Office Math : primary keys +Oracle Open Office Math : primary keys;defining +Oracle Open Office Math : primary keys;design view +Oracle Open Office Math : primary keys;inserting (Base) +Oracle Open Office Math : print area selection +Oracle Open Office Math : printer metrics for document formatting (Writer) +Oracle Open Office Math : printers +Oracle Open Office Math : printers;adding, UNIX +Oracle Open Office Math : printers;choosing +Oracle Open Office Math : printers;default printer +Oracle Open Office Math : printers;faxes under UNIX +Oracle Open Office Math : printers;maximum page formats +Oracle Open Office Math : printers;paper trays +Oracle Open Office Math : printers;properties +Oracle Open Office Math : printing +Oracle Open Office Math : printing;black and white +Oracle Open Office Math : printing;brochures +Oracle Open Office Math : printing;colors in grayscale +Oracle Open Office Math : printing;comments +Oracle Open Office Math : printing;copies +Oracle Open Office Math : printing;creating individual jobs +Oracle Open Office Math : printing;dates in presentations +Oracle Open Office Math : printing;directly +Oracle Open Office Math : printing;documents +Oracle Open Office Math : printing;drawings defaults +Oracle Open Office Math : printing;elements in text documents +Oracle Open Office Math : printing;faster +Oracle Open Office Math : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Math : printing;fitting to pages in presentations +Oracle Open Office Math : printing;formulas in Oracle Open Office Math +Oracle Open Office Math : printing;hidden pages of presentations +Oracle Open Office Math : printing;in original size in Oracle Open Office Math +Oracle Open Office Math : printing;left/right pages +Oracle Open Office Math : printing;queries (Base) +Oracle Open Office Math : printing;scaling in Oracle Open Office Math +Oracle Open Office Math : printing;selections +Oracle Open Office Math : printing;text always in black +Oracle Open Office Math : printing;text in reverse order +Oracle Open Office Math : printing;tiling pages in presentations +Oracle Open Office Math : printing;transparencies +Oracle Open Office Math : printing;warnings +Oracle Open Office Math : printing;without scaling in presentations +Oracle Open Office Math : printing speed +Oracle Open Office Math : product +Oracle Open Office Math : programming +Oracle Open Office Math : programming;Oracle Open Office +Oracle Open Office Math : programming;scripting +Oracle Open Office Math : properties +Oracle Open Office Math : properties;fields in databases +Oracle Open Office Math : properties;files +Oracle Open Office Math : properties;form controls +Oracle Open Office Math : properties;forms +Oracle Open Office Math : properties;printers +Oracle Open Office Math : proportional to relation +Oracle Open Office Math : protected contents +Oracle Open Office Math : protected dashes +Oracle Open Office Math : protected database tables +Oracle Open Office Math : protected documents +Oracle Open Office Math : protected spaces +Oracle Open Office Math : protected spaces;inserting +Oracle Open Office Math : protected spaces;showing (Writer) +Oracle Open Office Math : protecting +Oracle Open Office Math : protecting;contents +Oracle Open Office Math : protecting;recorded changes +Oracle Open Office Math : proxy settings +Oracle Open Office Math : push buttons +Oracle Open Office Math : push buttons;adding to documents +Oracle Open Office Math : push buttons;creating +Oracle Open Office Math : queries +Oracle Open Office Math : queries;copying (Base) +Oracle Open Office Math : queries;creating in design view (Base) +Oracle Open Office Math : queries;creating in SQL view +Oracle Open Office Math : queries;defining (Base) +Oracle Open Office Math : queries;deleting table links (Base) +Oracle Open Office Math : queries;editing in data source view +Oracle Open Office Math : queries;formulating filter conditions (Base) +Oracle Open Office Math : queries;joining tables (Base) +Oracle Open Office Math : queries;missing elements (Base) +Oracle Open Office Math : queries;overview (Base) +Oracle Open Office Math : queries;parameter queries (Base) +Oracle Open Office Math : queries;printing (Base) +Oracle Open Office Math : Query Wizard (Base) +Oracle Open Office Math : Quickstarter +Oracle Open Office Math : quotation marks +Oracle Open Office Math : quotation marks;replacing +Oracle Open Office Math : quotes +Oracle Open Office Math : quotes;custom +Oracle Open Office Math : quotient set +Oracle Open Office Math : radio button creation +Oracle Open Office Math : range of integral example +Oracle Open Office Math : rational numbers +Oracle Open Office Math : read-only documents +Oracle Open Office Math : read-only documents;cursor +Oracle Open Office Math : read-only documents;database tables on/off +Oracle Open Office Math : read-only documents;editing +Oracle Open Office Math : read-only documents;opening documents as +Oracle Open Office Math : read-only items in Data Navigator +Oracle Open Office Math : real numbers +Oracle Open Office Math : real part of complex numbers +Oracle Open Office Math : recognizing URLs automatically +Oracle Open Office Math : recording +Oracle Open Office Math : recording;changes +Oracle Open Office Math : recording;macros +Oracle Open Office Math : records +Oracle Open Office Math : records;inserting comments +Oracle Open Office Math : records;protecting +Oracle Open Office Math : records;saving +Oracle Open Office Math : records;searching in databases +Oracle Open Office Math : rectangles with round corners +Oracle Open Office Math : recursions in spreadsheets +Oracle Open Office Math : redo command +Oracle Open Office Math : reduced printing +Oracle Open Office Math : reference lines +Oracle Open Office Math : reference tables +Oracle Open Office Math : reference tables;formulas +Oracle Open Office Math : references +Oracle Open Office Math : references;displaying in color (Calc) +Oracle Open Office Math : references;expanding (Calc) +Oracle Open Office Math : references;iterative (Calc) +Oracle Open Office Math : refreshing formula view +Oracle Open Office Math : register-true +Oracle Open Office Math : register-true;definition +Oracle Open Office Math : registering +Oracle Open Office Math : registering;address books +Oracle Open Office Math : registering;databases (Base) +Oracle Open Office Math : registering;Oracle Open Office +Oracle Open Office Math : regular expressions +Oracle Open Office Math : regular expressions;list of +Oracle Open Office Math : regular expressions;opening files +Oracle Open Office Math : relational databases (Base) +Oracle Open Office Math : relations +Oracle Open Office Math : relations;creating and deleting (Base) +Oracle Open Office Math : relations;in Oracle Open Office Math +Oracle Open Office Math : relations;joining tables (Base) +Oracle Open Office Math : relations;properties (Base) +Oracle Open Office Math : relations operators +Oracle Open Office Math : relations operators;list of +Oracle Open Office Math : relative hyperlinks +Oracle Open Office Math : relative saving of URLs +Oracle Open Office Math : reloading +Oracle Open Office Math : reloading;documents +Oracle Open Office Math : reloading;HTML documents, automatically +Oracle Open Office Math : remarks, see also comments +Oracle Open Office Math : remote configurations +Oracle Open Office Math : remove noise filter +Oracle Open Office Math : removing +Oracle Open Office Math : removing;bullets and numbering +Oracle Open Office Math : removing;form filters +Oracle Open Office Math : removing, see also deleting +Oracle Open Office Math : repeating +Oracle Open Office Math : repeating;commands +Oracle Open Office Math : replacement options +Oracle Open Office Math : replacement table +Oracle Open Office Math : replacing +Oracle Open Office Math : replacing;AutoCorrect function +Oracle Open Office Math : replacing;dashes +Oracle Open Office Math : replacing;tab stops (regular expressions) +Oracle Open Office Math : Report Builder +Oracle Open Office Math : reports +Oracle Open Office Math : reports;creating +Oracle Open Office Math : reports;error reports +Oracle Open Office Math : reports;opening and editing +Oracle Open Office Math : reports;templates +Oracle Open Office Math : resetting +Oracle Open Office Math : resetting;templates +Oracle Open Office Math : resizing +Oracle Open Office Math : resizing;fonts +Oracle Open Office Math : resizing;objects, by mouse +Oracle Open Office Math : resizing, see also scaling/zooming +Oracle Open Office Math : resolution when printing bitmaps +Oracle Open Office Math : restoring +Oracle Open Office Math : restoring;default formatting +Oracle Open Office Math : restoring;editing +Oracle Open Office Math : reversed circumflex attribute +Oracle Open Office Math : reversing printing order +Oracle Open Office Math : review function +Oracle Open Office Math : review function;accepting or rejecting changes +Oracle Open Office Math : review function;comparing documents +Oracle Open Office Math : review function;protecting records +Oracle Open Office Math : review function;recording changes example +Oracle Open Office Math : rich text control +Oracle Open Office Math : right alignment of paragraphs +Oracle Open Office Math : right angled relations +Oracle Open Office Math : right arrow symbol +Oracle Open Office Math : right joins (Base) +Oracle Open Office Math : right-justified alignment in Oracle Open Office Math +Oracle Open Office Math : right-to-left text +Oracle Open Office Math : roots +Oracle Open Office Math : rotating +Oracle Open Office Math : rotating;3D text +Oracle Open Office Math : round brackets +Oracle Open Office Math : round corners +Oracle Open Office Math : rounding precision (Calc) +Oracle Open Office Math : row headers +Oracle Open Office Math : row headers;displaying (Calc) +Oracle Open Office Math : row headers;highlighting (Calc) +Oracle Open Office Math : rulers +Oracle Open Office Math : rulers;default settings +Oracle Open Office Math : rulers;measurement units +Oracle Open Office Math : rulers;visible in presentations +Oracle Open Office Math : samples and templates +Oracle Open Office Math : saving +Oracle Open Office Math : saving;default file formats +Oracle Open Office Math : saving;dialog settings +Oracle Open Office Math : saving;documents +Oracle Open Office Math : saving;documents for mobile devices +Oracle Open Office Math : saving;documents in other formats +Oracle Open Office Math : saving;documents, automatically +Oracle Open Office Math : saving;in Microsoft Office file format +Oracle Open Office Math : saving;options +Oracle Open Office Math : saving;templates +Oracle Open Office Math : saving;to XML +Oracle Open Office Math : saving;VBA code in Microsoft Office documents +Oracle Open Office Math : saving;with password by default +Oracle Open Office Math : saving as command +Oracle Open Office Math : saving as command;precautions +Oracle Open Office Math : scalable braces +Oracle Open Office Math : scalable lines with ceiling +Oracle Open Office Math : scalable round brackets +Oracle Open Office Math : scaling +Oracle Open Office Math : scaling;font sizes in user interface +Oracle Open Office Math : scaling;fonts +Oracle Open Office Math : scaling;in Oracle Open Office Math +Oracle Open Office Math : scaling;objects +Oracle Open Office Math : scaling;pictures +Oracle Open Office Math : scaling;printing in Oracle Open Office Math +Oracle Open Office Math : scaling;when printing presentations +Oracle Open Office Math : scaling, see also zooming +Oracle Open Office Math : screen +Oracle Open Office Math : screen;full screen views +Oracle Open Office Math : screen;scaling +Oracle Open Office Math : screen magnifiers +Oracle Open Office Math : screen readers +Oracle Open Office Math : script organization +Oracle Open Office Math : scrollbars +Oracle Open Office Math : scrollbars;controls +Oracle Open Office Math : scrollbars;displaying (Calc) +Oracle Open Office Math : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Math : search criteria for database functions in cells +Oracle Open Office Math : search engines +Oracle Open Office Math : search engines;definition +Oracle Open Office Math : search engines;selecting +Oracle Open Office Math : searching +Oracle Open Office Math : searching;all sheets +Oracle Open Office Math : searching;databases +Oracle Open Office Math : searching;form filters +Oracle Open Office Math : searching;Internet +Oracle Open Office Math : searching;tables and forms +Oracle Open Office Math : sections +Oracle Open Office Math : sections;backgrounds +Oracle Open Office Math : security +Oracle Open Office Math : security;digital signatures +Oracle Open Office Math : security;options for documents with macros +Oracle Open Office Math : security;protecting contents +Oracle Open Office Math : security;security levels for macros +Oracle Open Office Math : security;warning dialogs with macros +Oracle Open Office Math : selecting +Oracle Open Office Math : selecting;controls +Oracle Open Office Math : selecting;measurement units +Oracle Open Office Math : selecting;objects +Oracle Open Office Math : selecting;print areas +Oracle Open Office Math : selecting;several files +Oracle Open Office Math : selection clipboard +Oracle Open Office Math : selection frames +Oracle Open Office Math : selection modes in text +Oracle Open Office Math : selection options in formulas +Oracle Open Office Math : sending +Oracle Open Office Math : sending;AutoAbstract function in presentations +Oracle Open Office Math : sending;documents as e-mail +Oracle Open Office Math : sending;documents as faxes +Oracle Open Office Math : separator lines +Oracle Open Office Math : separator lines;defining +Oracle Open Office Math : separators +Oracle Open Office Math : separators;conditional +Oracle Open Office Math : Server Side ImageMap +Oracle Open Office Math : set operations in Oracle Open OfficeMath +Oracle Open Office Math : set operators +Oracle Open Office Math : set operators;list of +Oracle Open Office Math : sets of numbers +Oracle Open Office Math : settings +Oracle Open Office Math : settings;printers +Oracle Open Office Math : settings;program configuration +Oracle Open Office Math : settings;proxies +Oracle Open Office Math : settings;tracking changes +Oracle Open Office Math : settings;views +Oracle Open Office Math : SGML +Oracle Open Office Math : SGML;definition +Oracle Open Office Math : shadows +Oracle Open Office Math : shadows;areas +Oracle Open Office Math : shadows;borders +Oracle Open Office Math : shadows;characters +Oracle Open Office Math : shadows;characters, using context menu +Oracle Open Office Math : sharing documents +Oracle Open Office Math : sharpening filter +Oracle Open Office Math : sheet tabs +Oracle Open Office Math : sheet tabs;displaying +Oracle Open Office Math : sheets +Oracle Open Office Math : sheets;searching all +Oracle Open Office Math : shortcut keys +Oracle Open Office Math : shortcut keys;assigning macros +Oracle Open Office Math : shortcut keys;general +Oracle Open Office Math : shortcut keys;in databases +Oracle Open Office Math : shortcut keys;in formulas +Oracle Open Office Math : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Math : showing +Oracle Open Office Math : showing;changes +Oracle Open Office Math : showing;docked windows +Oracle Open Office Math : showing;drawings and controls (Writer) +Oracle Open Office Math : showing;live presentations on the Internet +Oracle Open Office Math : showing;toolbars +Oracle Open Office Math : signing documents with digital signatures +Oracle Open Office Math : similar to relations +Oracle Open Office Math : similarity search +Oracle Open Office Math : simple handles (Writer) +Oracle Open Office Math : simplified Chinese +Oracle Open Office Math : simplified Chinese;translating to traditional Chinese +Oracle Open Office Math : sine function +Oracle Open Office Math : single brackets without group function +Oracle Open Office Math : single sign on options +Oracle Open Office Math : single-line spacing in text +Oracle Open Office Math : sizes +Oracle Open Office Math : sizes;draw objects +Oracle Open Office Math : sizes;of fonts in Oracle Open Office Math +Oracle Open Office Math : sizes;pictures +Oracle Open Office Math : slanting draw objects +Oracle Open Office Math : slash division sign +Oracle Open Office Math : small capitals +Oracle Open Office Math : small gaps +Oracle Open Office Math : small icons +Oracle Open Office Math : smart tag configuration +Oracle Open Office Math : smooth scrolling (Writer) +Oracle Open Office Math : smoothing filter +Oracle Open Office Math : snap grid defaults (Writer/Calc) +Oracle Open Office Math : snapping in presentations and drawings +Oracle Open Office Math : solarization filter +Oracle Open Office Math : sort lists +Oracle Open Office Math : sort lists;copying to in Calc +Oracle Open Office Math : sorting +Oracle Open Office Math : sorting;data in forms +Oracle Open Office Math : sorting;databases +Oracle Open Office Math : sound files +Oracle Open Office Math : spaces +Oracle Open Office Math : spaces;displaying (Writer) +Oracle Open Office Math : spaces;ignoring double +Oracle Open Office Math : spaces;inserting protected spaces +Oracle Open Office Math : spaces;showing protected spaces (Writer) +Oracle Open Office Math : spaces in formulas +Oracle Open Office Math : spacing +Oracle Open Office Math : spacing;between paragraphs in footnotes +Oracle Open Office Math : spacing;font effects +Oracle Open Office Math : spacing;formula elements +Oracle Open Office Math : spacing;lines and paragraphs +Oracle Open Office Math : spacing;tab stops in text documents +Oracle Open Office Math : spacing;tabs in presentations +Oracle Open Office Math : spadmin +Oracle Open Office Math : special characters +Oracle Open Office Math : speech bubbles +Oracle Open Office Math : speed of printing +Oracle Open Office Math : spellcheck +Oracle Open Office Math : spellcheck;activating for a language +Oracle Open Office Math : spellcheck;context menus +Oracle Open Office Math : spellcheck;default languages +Oracle Open Office Math : spellcheck;dialog +Oracle Open Office Math : spellcheck;dictionary of exceptions +Oracle Open Office Math : spellcheck;ignore list +Oracle Open Office Math : spin button creation +Oracle Open Office Math : spoolfiles with Xprinter +Oracle Open Office Math : spreadsheets +Oracle Open Office Math : spreadsheets;as databases (base) +Oracle Open Office Math : spreadsheets;copying areas to text documents +Oracle Open Office Math : spreadsheets;creating/opening +Oracle Open Office Math : spreadsheets;inserting charts +Oracle Open Office Math : spreadsheets;inserting database records +Oracle Open Office Math : spreadsheets;printing +Oracle Open Office Math : spreadsheets;saving +Oracle Open Office Math : spreadsheets;saving automatically +Oracle Open Office Math : spreadsheets;saving in other formats +Oracle Open Office Math : spreadsheets;sending as e-mail +Oracle Open Office Math : SQL +Oracle Open Office Math : SQL;definition +Oracle Open Office Math : SQL;DISTINCT parameter +Oracle Open Office Math : SQL;executing SQL commands +Oracle Open Office Math : SQL;executing SQL statements (Base) +Oracle Open Office Math : SQL;queries (Base) +Oracle Open Office Math : square brackets +Oracle Open Office Math : square drawings +Oracle Open Office Math : square roots +Oracle Open Office Math : stacks +Oracle Open Office Math : standard bar on/off +Oracle Open Office Math : standard filters in databases +Oracle Open Office Math : standard printer under UNIX +Oracle Open Office Math : start center +Oracle Open Office Math : start parameters +Oracle Open Office Math : status bar on/off +Oracle Open Office Math : stickers +Oracle Open Office Math : strikethrough +Oracle Open Office Math : strikethrough;characters +Oracle Open Office Math : strikethrough;font effects +Oracle Open Office Math : styles +Oracle Open Office Math : styles;'changed' message +Oracle Open Office Math : styles;copying between documents +Oracle Open Office Math : styles;keyboard shortcuts +Oracle Open Office Math : styles;organizing +Oracle Open Office Math : styles;printing styles used in a document +Oracle Open Office Math : styles;replacing automatically +Oracle Open Office Math : Styles and Formatting window +Oracle Open Office Math : Styles and Formatting window;docking +Oracle Open Office Math : subforms +Oracle Open Office Math : subforms;creating +Oracle Open Office Math : subforms;description +Oracle Open Office Math : submitting forms +Oracle Open Office Math : subscripts +Oracle Open Office Math : subset set operators +Oracle Open Office Math : subtraction signs +Oracle Open Office Math : suffixes in file formats +Oracle Open Office Math : sum range example +Oracle Open Office Math : summation +Oracle Open Office Math : superscripts +Oracle Open Office Math : superset set operators +Oracle Open Office Math : support on the Web +Oracle Open Office Math : symbols +Oracle Open Office Math : symbols;adding in Oracle Open Office Math +Oracle Open Office Math : symbols;entering in Oracle Open Office Math +Oracle Open Office Math : symbols;for complex numbers +Oracle Open Office Math : synchronizing +Oracle Open Office Math : synchronizing;labels and business cards +Oracle Open Office Math : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Math : system address book registration +Oracle Open Office Math : tab stops +Oracle Open Office Math : tab stops;displaying (Writer) +Oracle Open Office Math : tab stops;inserting and editing +Oracle Open Office Math : tab stops;regular expressions +Oracle Open Office Math : tab stops;setting in sheets +Oracle Open Office Math : tab stops;settings +Oracle Open Office Math : tab stops;spacing in presentations +Oracle Open Office Math : tab stops;spacing in text documents +Oracle Open Office Math : table controls +Oracle Open Office Math : table controls;form functions +Oracle Open Office Math : table controls;keyboard-only edit mode +Oracle Open Office Math : table controls;properties +Oracle Open Office Math : table views of databases +Oracle Open Office Math : Table Wizard (Base) +Oracle Open Office Math : tables +Oracle Open Office Math : tables;inserting line breaks +Oracle Open Office Math : tables in databases +Oracle Open Office Math : tables in databases;access rights to (Base) +Oracle Open Office Math : tables in databases;adding to queries +Oracle Open Office Math : tables in databases;browsing and editing +Oracle Open Office Math : tables in databases;copying database tables (Base) +Oracle Open Office Math : tables in databases;creating +Oracle Open Office Math : tables in databases;creating in design view (manually) +Oracle Open Office Math : tables in databases;importing text formats (Base) +Oracle Open Office Math : tables in databases;joining for queries (Base) +Oracle Open Office Math : tables in databases;printing queries (Base) +Oracle Open Office Math : tables in databases;relations (Base) +Oracle Open Office Math : tables in databases;searching +Oracle Open Office Math : tables in spreadsheets +Oracle Open Office Math : tables in spreadsheets;copying data to other applications +Oracle Open Office Math : tables in spreadsheets;defining borders +Oracle Open Office Math : tables in spreadsheets;value highlighting +Oracle Open Office Math : tables in text +Oracle Open Office Math : tables in text;captions +Oracle Open Office Math : tables in text;creating automatically +Oracle Open Office Math : tables in text;default settings +Oracle Open Office Math : tables in text;defining borders +Oracle Open Office Math : tables in text;displaying +Oracle Open Office Math : tables in text;printing +Oracle Open Office Math : tabs +Oracle Open Office Math : tabs;displaying sheet tabs +Oracle Open Office Math : tags +Oracle Open Office Math : tags;definition +Oracle Open Office Math : tags;META tags +Oracle Open Office Math : tangent function +Oracle Open Office Math : templates +Oracle Open Office Math : templates;agendas +Oracle Open Office Math : templates;changing basic fonts +Oracle Open Office Math : templates;database reports +Oracle Open Office Math : templates;deleting +Oracle Open Office Math : templates;editing and saving +Oracle Open Office Math : templates;faxes +Oracle Open Office Math : templates;importing and exporting +Oracle Open Office Math : templates;letters +Oracle Open Office Math : templates;new documents from templates +Oracle Open Office Math : templates;opening documents with +Oracle Open Office Math : templates;organizing +Oracle Open Office Math : terminology +Oracle Open Office Math : terminology;general glossary +Oracle Open Office Math : terminology;Internet glossary +Oracle Open Office Math : testing XML filters +Oracle Open Office Math : text +Oracle Open Office Math : text;animating +Oracle Open Office Math : text;Asian layout +Oracle Open Office Math : text;bold +Oracle Open Office Math : text;coloring +Oracle Open Office Math : text;copying by drag and drop +Oracle Open Office Math : text;CTL languages +Oracle Open Office Math : text;drawing pictures +Oracle Open Office Math : text;font effects +Oracle Open Office Math : text;font sizes +Oracle Open Office Math : text;font styles +Oracle Open Office Math : text;fonts and formats +Oracle Open Office Math : text;Fontwork icons +Oracle Open Office Math : text;hyperlinks +Oracle Open Office Math : text;inserting special characters +Oracle Open Office Math : text;italics +Oracle Open Office Math : text;kerning +Oracle Open Office Math : text;language selection +Oracle Open Office Math : text;line spacing +Oracle Open Office Math : text;overwriting or inserting +Oracle Open Office Math : text;printing in black +Oracle Open Office Math : text;replacing with format +Oracle Open Office Math : text;selection modes +Oracle Open Office Math : text;shadowed +Oracle Open Office Math : text;text/draw objects +Oracle Open Office Math : text attributes +Oracle Open Office Math : text attributes;hyperlinks +Oracle Open Office Math : text attributes;undoing +Oracle Open Office Math : text boxes +Oracle Open Office Math : text boxes;form functions +Oracle Open Office Math : text boxes;positioning +Oracle Open Office Math : text breaks in cells +Oracle Open Office Math : text colors for better accessibility +Oracle Open Office Math : text databases (Base) +Oracle Open Office Math : text documents +Oracle Open Office Math : text documents;creating/opening +Oracle Open Office Math : text documents;importing/exporting +Oracle Open Office Math : text documents;inserting spreadsheet cells +Oracle Open Office Math : text documents;print settings +Oracle Open Office Math : text documents;printing +Oracle Open Office Math : text documents;saving +Oracle Open Office Math : text documents;saving automatically +Oracle Open Office Math : text documents;saving in other formats +Oracle Open Office Math : text documents;sending as e-mail +Oracle Open Office Math : text effects +Oracle Open Office Math : text flow +Oracle Open Office Math : text flow;in cells +Oracle Open Office Math : text formats +Oracle Open Office Math : text formats;databases +Oracle Open Office Math : text formats;pasting +Oracle Open Office Math : text input fields +Oracle Open Office Math : text layout for special languages +Oracle Open Office Math : text mode in Oracle Open Office Math +Oracle Open Office Math : text objects +Oracle Open Office Math : text objects;alignment +Oracle Open Office Math : text objects;draw functions +Oracle Open Office Math : text objects;fonts +Oracle Open Office Math : text objects;in presentations and drawings +Oracle Open Office Math : text overflow in spreadsheet cells +Oracle Open Office Math : text strings +Oracle Open Office Math : text strings;entering in Oracle Open Office Math +Oracle Open Office Math : text, see also text documents, paragraphs and characters +Oracle Open Office Math : TextArt, see Fontwork +Oracle Open Office Math : textures +Oracle Open Office Math : textures;inserting from Gallery +Oracle Open Office Math : textures;on chart bars +Oracle Open Office Math : Thai +Oracle Open Office Math : Thai;entering text +Oracle Open Office Math : Thai;language settings +Oracle Open Office Math : there exists symbol +Oracle Open Office Math : thesaurus +Oracle Open Office Math : thesaurus;activating for a language +Oracle Open Office Math : ticker text +Oracle Open Office Math : tilde as attribute +Oracle Open Office Math : time fields +Oracle Open Office Math : time fields;form functions +Oracle Open Office Math : times +Oracle Open Office Math : times;inserting when printing presentations +Oracle Open Office Math : times, formats +Oracle Open Office Math : tips +Oracle Open Office Math : tips;extended tips in Help +Oracle Open Office Math : title rows +Oracle Open Office Math : title rows;printing in Oracle Open Office Math +Oracle Open Office Math : titles +Oracle Open Office Math : titles;changing +Oracle Open Office Math : titles;editing in charts +Oracle Open Office Math : titles;font effects +Oracle Open Office Math : titles;formatting automatically +Oracle Open Office Math : titles;objects +Oracle Open Office Math : toolbars +Oracle Open Office Math : toolbars;adding buttons +Oracle Open Office Math : toolbars;docking/undocking +Oracle Open Office Math : toolbars;Form Navigation bar +Oracle Open Office Math : toolbars;viewing/closing +Oracle Open Office Math : tools bar +Oracle Open Office Math : tooltips +Oracle Open Office Math : tooltips;extended tips +Oracle Open Office Math : tooltips;help +Oracle Open Office Math : toward relation +Oracle Open Office Math : traditional Chinese +Oracle Open Office Math : traditional Chinese;translating to simplified chinese +Oracle Open Office Math : transparency +Oracle Open Office Math : transparency;areas +Oracle Open Office Math : transparency;off for faster printing +Oracle Open Office Math : transparency;saving +Oracle Open Office Math : transparent character as attribute +Oracle Open Office Math : tree view of Help +Oracle Open Office Math : trigonometrical functions +Oracle Open Office Math : triple dot attribute +Oracle Open Office Math : typefaces +Oracle Open Office Math : typefaces;adding under UNIX +Oracle Open Office Math : typefaces;formats +Oracle Open Office Math : typographical quotes in Oracle Open Office Writer +Oracle Open Office Math : typography +Oracle Open Office Math : typography;Asian +Oracle Open Office Math : unary operators +Oracle Open Office Math : unary operators;list of +Oracle Open Office Math : unary operators +Oracle Open Office Math : underline attribute +Oracle Open Office Math : underlining +Oracle Open Office Math : underlining;AutoFormat function +Oracle Open Office Math : underlining;characters +Oracle Open Office Math : underlining;text +Oracle Open Office Math : undocking windows +Oracle Open Office Math : undoing +Oracle Open Office Math : undoing;direct formatting +Oracle Open Office Math : undoing;editing +Oracle Open Office Math : undoing;number of steps +Oracle Open Office Math : unequal sign +Oracle Open Office Math : ungrouping groups +Oracle Open Office Math : union of sets +Oracle Open Office Math : units +Oracle Open Office Math : units;converting +Oracle Open Office Math : units;measurement units +Oracle Open Office Math : universal quantifier symbol +Oracle Open Office Math : UNO components +Oracle Open Office Math : UNO components;Extension Manager +Oracle Open Office Math : UNO components;integrating new +Oracle Open Office Math : up arrow symbol +Oracle Open Office Math : update options +Oracle Open Office Math : updates +Oracle Open Office Math : updates;checking automatically +Oracle Open Office Math : updates;checking manually +Oracle Open Office Math : updating +Oracle Open Office Math : updating;fields and charts, automatically (Writer) +Oracle Open Office Math : updating;links in text documents +Oracle Open Office Math : updating;links, on opening +Oracle Open Office Math : updating;templates +Oracle Open Office Math : upper limits +Oracle Open Office Math : URL +Oracle Open Office Math : URL;changing hyperlink URLs +Oracle Open Office Math : URL;definition +Oracle Open Office Math : URL;in pictures +Oracle Open Office Math : URL;saving absolute/relative paths +Oracle Open Office Math : URL;turning off URL recognition +Oracle Open Office Math : user data +Oracle Open Office Math : user data;input +Oracle Open Office Math : user data;removing when saving +Oracle Open Office Math : user feedback +Oracle Open Office Math : user feedback;automatically +Oracle Open Office Math : user-defined dictionaries +Oracle Open Office Math : user-defined dictionaries;creating +Oracle Open Office Math : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Math : user-defined dictionaries;editing +Oracle Open Office Math : user-defined operators +Oracle Open Office Math : user-defined operators;general +Oracle Open Office Math : user-defined operators;unary and binary +Oracle Open Office Math : user-defined styles +Oracle Open Office Math : user-defined styles;automatically replacing +Oracle Open Office Math : UTF-8/UCS2 support +Oracle Open Office Math : values +Oracle Open Office Math : values;absolute +Oracle Open Office Math : values;rounded as shown (Calc) +Oracle Open Office Math : variables +Oracle Open Office Math : variables;for paths +Oracle Open Office Math : variables;with right exponents +Oracle Open Office Math : VBA code +Oracle Open Office Math : VBA code;loading/saving documents with VBA code +Oracle Open Office Math : vector arrows as attributes +Oracle Open Office Math : version management +Oracle Open Office Math : version numbers of documents +Oracle Open Office Math : versions +Oracle Open Office Math : versions;comparing documents +Oracle Open Office Math : versions;file saving as, restriction +Oracle Open Office Math : versions;merging document versions +Oracle Open Office Math : versions;of a document +Oracle Open Office Math : versions;Oracle Open Office +Oracle Open Office Math : vertical arrangement of elements +Oracle Open Office Math : vertical bars +Oracle Open Office Math : vertical callouts +Oracle Open Office Math : vertical dots symbol +Oracle Open Office Math : vertical elements +Oracle Open Office Math : vertical scrollbars (Writer) +Oracle Open Office Math : vertical text boxes +Oracle Open Office Math : videos +Oracle Open Office Math : viewing +Oracle Open Office Math : viewing;databases +Oracle Open Office Math : viewing;file properties +Oracle Open Office Math : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Math : viewing;toolbars +Oracle Open Office Math : views +Oracle Open Office Math : views;creating database views (Base) +Oracle Open Office Math : views;defaults +Oracle Open Office Math : views;full screen +Oracle Open Office Math : views;icons +Oracle Open Office Math : views;maximum size +Oracle Open Office Math : views;scaling +Oracle Open Office Math : views;zooming out Oracle Open Office Math +Oracle Open Office Math : Visual Basic for Applications +Oracle Open Office Math : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Math : watermarks +Oracle Open Office Math : web documents +Oracle Open Office Math : web documents;XForms +Oracle Open Office Math : Web support +Oracle Open Office Math : WebCast export +Oracle Open Office Math : WebDAV over HTTPS +Oracle Open Office Math : weierstrass p symbol +Oracle Open Office Math : whole numbers +Oracle Open Office Math : wide circumflex attribute +Oracle Open Office Math : wide tilde attribute +Oracle Open Office Math : wide vector arrow attribute +Oracle Open Office Math : widowed brackets +Oracle Open Office Math : windows +Oracle Open Office Math : windows;docking +Oracle Open Office Math : windows;docking definition +Oracle Open Office Math : windows;hiding/showing/docking +Oracle Open Office Math : windows;new +Oracle Open Office Math : wizards +Oracle Open Office Math : wizards;agendas +Oracle Open Office Math : wizards;database queries +Oracle Open Office Math : wizards;database tables (Base) +Oracle Open Office Math : wizards;databases (Base) +Oracle Open Office Math : wizards;document converter +Oracle Open Office Math : wizards;Euro Converter +Oracle Open Office Math : wizards;faxes +Oracle Open Office Math : wizards;forms +Oracle Open Office Math : wizards;letters +Oracle Open Office Math : wizards;macros (Base) +Oracle Open Office Math : wizards;overview +Oracle Open Office Math : wizards;presentations +Oracle Open Office Math : wizards;reports +Oracle Open Office Math : Word documents +Oracle Open Office Math : Word documents;compatibility +Oracle Open Office Math : Word documents;saving as +Oracle Open Office Math : WordArt, see Fontwork +Oracle Open Office Math : words +Oracle Open Office Math : words;automatically replacing +Oracle Open Office Math : words;wrapping in cells +Oracle Open Office Math : words;wrapping in CTL +Oracle Open Office Math : working directory change +Oracle Open Office Math : wrapping text +Oracle Open Office Math : wrapping text;in cells +Oracle Open Office Math : wrapping text;in formulas +Oracle Open Office Math : write protection on/off +Oracle Open Office Math : writing aids options +Oracle Open Office Math : WYSIWYG in fonts lists +Oracle Open Office Math : XForms +Oracle Open Office Math : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Math : XForms;conditions +Oracle Open Office Math : XForms;opening/editing +Oracle Open Office Math : XML converters +Oracle Open Office Math : XML file formats +Oracle Open Office Math : XML filters +Oracle Open Office Math : XML filters;creating/testing +Oracle Open Office Math : XML filters;saving as package/installing/deleting +Oracle Open Office Math : XML filters;settings +Oracle Open Office Math : XML Forms, see XForms +Oracle Open Office Math : XSLT filters, see also XML filters +Oracle Open Office Math : years +Oracle Open Office Math : years;2-digit options +Oracle Open Office Math : zero values +Oracle Open Office Math : zero values;displaying (Calc) +Oracle Open Office Math : zooming +Oracle Open Office Math : zooming;page views +Oracle Open Office Math : zooming;pictures +Oracle Open Office Math : zooming;status bar +Oracle Open Office Math : zooming in on formula display +Oracle Open Office Math : zooming out on formula display +Oracle Open Office Writer : 1/2 replacement +Oracle Open Office Writer : 3D charts +Oracle Open Office Writer : 3D text creation +Oracle Open Office Writer : abbreviation replacement +Oracle Open Office Writer : abbreviations +Oracle Open Office Writer : absolute hyperlinks +Oracle Open Office Writer : absolute saving of URLs +Oracle Open Office Writer : accents +Oracle Open Office Writer : Access databases (base) +Oracle Open Office Writer : access rights for database tables (Base) +Oracle Open Office Writer : accessibility +Oracle Open Office Writer : accessibility;general shortcuts +Oracle Open Office Writer : accessibility;options +Oracle Open Office Writer : accessibility;Oracle Open Office assistive technology +Oracle Open Office Writer : accessibility;Oracle Open Office features +Oracle Open Office Writer : accessibility;Oracle Open Office Writer +Oracle Open Office Writer : activating +Oracle Open Office Writer : activating;context menus +Oracle Open Office Writer : activating;Error Report Tool +Oracle Open Office Writer : activating;extended help tips +Oracle Open Office Writer : activating;plug-ins +Oracle Open Office Writer : ActiveX control +Oracle Open Office Writer : Adabas D databases (base) +Oracle Open Office Writer : add-ons, see UNO components +Oracle Open Office Writer : additional selection mode +Oracle Open Office Writer : address books +Oracle Open Office Writer : address books;exchanging +Oracle Open Office Writer : address books;LDAP server (Base) +Oracle Open Office Writer : address books;registering +Oracle Open Office Writer : address labels from databases +Oracle Open Office Writer : adjusting page margins and cell widths +Oracle Open Office Writer : ADO databases (Base) +Oracle Open Office Writer : Agenda Wizard +Oracle Open Office Writer : aging filter +Oracle Open Office Writer : aligning +Oracle Open Office Writer : aligning;2D charts +Oracle Open Office Writer : aligning;cells +Oracle Open Office Writer : aligning;objects +Oracle Open Office Writer : aligning;paragraphs +Oracle Open Office Writer : aligning;tables in text +Oracle Open Office Writer : aligning;text objects +Oracle Open Office Writer : aligning;titles in charts +Oracle Open Office Writer : alphabetical indexes +Oracle Open Office Writer : alternative fonts +Oracle Open Office Writer : ampersand symbol, see also operators +Oracle Open Office Writer : anchors +Oracle Open Office Writer : anchors;changing +Oracle Open Office Writer : anchors;displaying (Calc) +Oracle Open Office Writer : anchors;options +Oracle Open Office Writer : anchors;types/positions for draw objects +Oracle Open Office Writer : animations +Oracle Open Office Writer : animations;accessibility options +Oracle Open Office Writer : animations;text +Oracle Open Office Writer : appearance options +Oracle Open Office Writer : Arabic +Oracle Open Office Writer : Arabic;entering text +Oracle Open Office Writer : Arabic;language settings +Oracle Open Office Writer : area charts +Oracle Open Office Writer : areas +Oracle Open Office Writer : areas;bitmap patterns +Oracle Open Office Writer : areas;hatched/dotted +Oracle Open Office Writer : areas;shadows +Oracle Open Office Writer : areas;slanting +Oracle Open Office Writer : areas;styles +Oracle Open Office Writer : areas;transparency +Oracle Open Office Writer : arguments in command line +Oracle Open Office Writer : arithmetical operators in formulas +Oracle Open Office Writer : arranging +Oracle Open Office Writer : arranging;headings +Oracle Open Office Writer : arranging;objects +Oracle Open Office Writer : arrows +Oracle Open Office Writer : arrows;defining arrow heads +Oracle Open Office Writer : arrows;defining arrow lines +Oracle Open Office Writer : arrows;drawing in text +Oracle Open Office Writer : ASCII +Oracle Open Office Writer : ASCII;definition +Oracle Open Office Writer : Asian languages +Oracle Open Office Writer : Asian languages;enabling +Oracle Open Office Writer : Asian languages;search options +Oracle Open Office Writer : Asian languages;sorting paragraphs/table rows +Oracle Open Office Writer : Asian Phonetic Guide +Oracle Open Office Writer : Asian typography +Oracle Open Office Writer : aspect ratio +Oracle Open Office Writer : aspect ratio;resizing objects +Oracle Open Office Writer : assigning scripts +Oracle Open Office Writer : assistive technology in Oracle Open Office +Oracle Open Office Writer : attaching toolbars +Oracle Open Office Writer : attachments in e-mails +Oracle Open Office Writer : audio +Oracle Open Office Writer : auto reloading HTML documents +Oracle Open Office Writer : AutoAbstract function for sending text to presentations +Oracle Open Office Writer : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Writer : AutoComplete function in text and list boxes +Oracle Open Office Writer : AutoCorrect function +Oracle Open Office Writer : AutoCorrect function;adding exceptions +Oracle Open Office Writer : AutoCorrect function;context menu +Oracle Open Office Writer : AutoCorrect function;options +Oracle Open Office Writer : AutoCorrect function;pictures and frames +Oracle Open Office Writer : AutoCorrect function;quotes +Oracle Open Office Writer : AutoCorrect function;replacement table +Oracle Open Office Writer : AutoCorrect function;smart tags +Oracle Open Office Writer : AutoCorrect function;switching on and off in Calc +Oracle Open Office Writer : AutoCorrect function;turning off +Oracle Open Office Writer : AutoCorrect function;URL recognition +Oracle Open Office Writer : AutoCorrect function;word completion +Oracle Open Office Writer : AutoFormat function +Oracle Open Office Writer : AutoFormat function;applying to text tables +Oracle Open Office Writer : AutoFormat function;headings +Oracle Open Office Writer : AutoFormat function;switching on and off +Oracle Open Office Writer : AutoFormat function;text documents +Oracle Open Office Writer : automatic bullets/numbers +Oracle Open Office Writer : automatic bullets/numbers;AutoCorrect function +Oracle Open Office Writer : automatic captions (Writer) +Oracle Open Office Writer : automatic changes on/off +Oracle Open Office Writer : automatic control focus +Oracle Open Office Writer : automatic heading formatting +Oracle Open Office Writer : automatic hyperlink formatting +Oracle Open Office Writer : automatic hyphenation in text +Oracle Open Office Writer : automatic line breaks +Oracle Open Office Writer : automatic lines/borders in text +Oracle Open Office Writer : automatic numbering +Oracle Open Office Writer : automatic numbering;of objects +Oracle Open Office Writer : automatic saving +Oracle Open Office Writer : automatic spellcheck +Oracle Open Office Writer : automatic word completion +Oracle Open Office Writer : AutoPilots, see wizards +Oracle Open Office Writer : AutoText +Oracle Open Office Writer : AutoValue (Base) +Oracle Open Office Writer : averages in charts +Oracle Open Office Writer : axes +Oracle Open Office Writer : axes;better scaling +Oracle Open Office Writer : axes;formatting +Oracle Open Office Writer : axes;formatting grids +Oracle Open Office Writer : axes;inserting grids +Oracle Open Office Writer : axes;interval marks +Oracle Open Office Writer : axes;showing axes in charts +Oracle Open Office Writer : axes in charts +Oracle Open Office Writer : backgrounds +Oracle Open Office Writer : backgrounds;defining colors/pictures +Oracle Open Office Writer : backgrounds;different pages +Oracle Open Office Writer : backgrounds;frames/sections/indexes +Oracle Open Office Writer : backgrounds;inserting from Gallery +Oracle Open Office Writer : backgrounds;printing +Oracle Open Office Writer : backgrounds;text objects +Oracle Open Office Writer : backing window +Oracle Open Office Writer : backups +Oracle Open Office Writer : backups;automatic +Oracle Open Office Writer : backups;documents +Oracle Open Office Writer : bar charts +Oracle Open Office Writer : Basic +Oracle Open Office Writer : Basic;fonts for source display +Oracle Open Office Writer : Basic;programming +Oracle Open Office Writer : Basic;recording macros +Oracle Open Office Writer : basic fonts +Oracle Open Office Writer : behavior of rows/columns +Oracle Open Office Writer : Bézier curves +Oracle Open Office Writer : Bézier curves;control points in presentations +Oracle Open Office Writer : bi-directional writing +Oracle Open Office Writer : bibliographies +Oracle Open Office Writer : binding space +Oracle Open Office Writer : bitmaps +Oracle Open Office Writer : bitmaps;inserting and editing +Oracle Open Office Writer : bitmaps;off for faster printing +Oracle Open Office Writer : bitmaps;patterns +Oracle Open Office Writer : black and white printing +Oracle Open Office Writer : black printing in Calc +Oracle Open Office Writer : blank pages with alternating page styles +Oracle Open Office Writer : block protect, see also widows or orphans +Oracle Open Office Writer : block selection mode +Oracle Open Office Writer : blocks of text +Oracle Open Office Writer : bold +Oracle Open Office Writer : bold;AutoFormat function +Oracle Open Office Writer : bold;formatting while typing +Oracle Open Office Writer : bold;text +Oracle Open Office Writer : book previews +Oracle Open Office Writer : book view +Oracle Open Office Writer : booklet printing +Oracle Open Office Writer : bookmarks +Oracle Open Office Writer : bookmarks;Help +Oracle Open Office Writer : bookmarks;inserting +Oracle Open Office Writer : bookmarks;positioning cursor +Oracle Open Office Writer : borders +Oracle Open Office Writer : borders;arranging +Oracle Open Office Writer : borders;automatic drawing on/off +Oracle Open Office Writer : borders;cells on screen (Calc) +Oracle Open Office Writer : borders;for footnotes/endnotes +Oracle Open Office Writer : borders;for headers/footers +Oracle Open Office Writer : borders;for objects +Oracle Open Office Writer : borders;for pages +Oracle Open Office Writer : borders;for paragraphs +Oracle Open Office Writer : borders;for tables +Oracle Open Office Writer : borders;for text tables +Oracle Open Office Writer : borders;shadows +Oracle Open Office Writer : borders;table boundaries (Writer) +Oracle Open Office Writer : borders, see also frames +Oracle Open Office Writer : bound fields +Oracle Open Office Writer : bound fields;controls +Oracle Open Office Writer : boundaries of tables (Writer) +Oracle Open Office Writer : break display (Writer) +Oracle Open Office Writer : brochures +Oracle Open Office Writer : brochures;printing individual +Oracle Open Office Writer : brochures;printing several +Oracle Open Office Writer : brush for copying styles +Oracle Open Office Writer : bubble charts +Oracle Open Office Writer : build numbers of Oracle Open Office +Oracle Open Office Writer : bullet lists +Oracle Open Office Writer : bullet lists;changing levels +Oracle Open Office Writer : bullet lists;creating while typing +Oracle Open Office Writer : bullet lists;formatting options +Oracle Open Office Writer : bullet lists;interrupting +Oracle Open Office Writer : bullet lists;turning on and off +Oracle Open Office Writer : bullets +Oracle Open Office Writer : bullets;adding and editing +Oracle Open Office Writer : bullets;paragraphs +Oracle Open Office Writer : bullets;replacing +Oracle Open Office Writer : bullets;turning off +Oracle Open Office Writer : bullets;using automatically +Oracle Open Office Writer : business cards +Oracle Open Office Writer : business cards;creating and synchronizing +Oracle Open Office Writer : business cards;using templates +Oracle Open Office Writer : button bars, see toolbars +Oracle Open Office Writer : buttons +Oracle Open Office Writer : buttons;adding push buttons +Oracle Open Office Writer : buttons;big/small +Oracle Open Office Writer : buttons;editing hyperlink buttons +Oracle Open Office Writer : buttons;form functions +Oracle Open Office Writer : buttons;toolbars +Oracle Open Office Writer : cache for graphics +Oracle Open Office Writer : calculating +Oracle Open Office Writer : calculating;across multiple text tables +Oracle Open Office Writer : calculating;formulas/mean values +Oracle Open Office Writer : calculating;in text +Oracle Open Office Writer : calculating;in text tables +Oracle Open Office Writer : calculating;iterative references (Calc) +Oracle Open Office Writer : calculating;regression curves +Oracle Open Office Writer : calculating;sums in text tables +Oracle Open Office Writer : callouts +Oracle Open Office Writer : callouts;drawings +Oracle Open Office Writer : capital letters +Oracle Open Office Writer : capital letters;AutoCorrect function +Oracle Open Office Writer : capital letters;avoiding after specific abbreviations +Oracle Open Office Writer : capital letters;changing to small letters +Oracle Open Office Writer : capital letters;changing to small letters after periods +Oracle Open Office Writer : capital letters;font effects +Oracle Open Office Writer : capital letters;starting paragraphs +Oracle Open Office Writer : captions +Oracle Open Office Writer : captions;adding chapter numbers +Oracle Open Office Writer : captions;automatic captions (Writer) +Oracle Open Office Writer : captions;inserting and editing +Oracle Open Office Writer : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Writer : captions, see also labels/callouts +Oracle Open Office Writer : cascading update (Base) +Oracle Open Office Writer : case sensitivity +Oracle Open Office Writer : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Writer : case sensitivity;searching +Oracle Open Office Writer : cell merges +Oracle Open Office Writer : cells +Oracle Open Office Writer : cells;adapting the width by keyboard +Oracle Open Office Writer : cells;aligning +Oracle Open Office Writer : cells;backgrounds +Oracle Open Office Writer : cells;borders in text tables +Oracle Open Office Writer : cells;calculating sums +Oracle Open Office Writer : cells;coloring (Calc) +Oracle Open Office Writer : cells;cursor positions after input (Calc) +Oracle Open Office Writer : cells;enlarging and reducing in text tables +Oracle Open Office Writer : cells;formatting without effect (Calc) +Oracle Open Office Writer : cells;inserting from spreadsheets +Oracle Open Office Writer : cells;line breaks +Oracle Open Office Writer : cells;linked to controls +Oracle Open Office Writer : cells;merging/splitting +Oracle Open Office Writer : cells;number of +Oracle Open Office Writer : cells;pasting +Oracle Open Office Writer : cells;protecting/unprotecting +Oracle Open Office Writer : cells;resetting formats +Oracle Open Office Writer : cells;showing grid lines (Calc) +Oracle Open Office Writer : centered text +Oracle Open Office Writer : centering +Oracle Open Office Writer : centering;images on HTML pages +Oracle Open Office Writer : centering;text frames on pages +Oracle Open Office Writer : centimeters +Oracle Open Office Writer : central documents +Oracle Open Office Writer : certificates +Oracle Open Office Writer : changes +Oracle Open Office Writer : changes;accepting or rejecting +Oracle Open Office Writer : changes;automatic +Oracle Open Office Writer : changes;comparing to original +Oracle Open Office Writer : changes;protecting +Oracle Open Office Writer : changes;recording +Oracle Open Office Writer : changes;review function +Oracle Open Office Writer : changes;showing +Oracle Open Office Writer : changing +Oracle Open Office Writer : changing;bulleting symbols +Oracle Open Office Writer : changing;cases of text +Oracle Open Office Writer : changing;document titles +Oracle Open Office Writer : changing;field shadings +Oracle Open Office Writer : changing;fields, into text +Oracle Open Office Writer : changing;file associations in Setup program +Oracle Open Office Writer : changing;icon sizes +Oracle Open Office Writer : changing;indents +Oracle Open Office Writer : changing;links +Oracle Open Office Writer : changing;outline levels +Oracle Open Office Writer : changing;page backgrounds +Oracle Open Office Writer : changing;starting numbers in lists +Oracle Open Office Writer : changing;work directory +Oracle Open Office Writer : changing, see also editing and replacing +Oracle Open Office Writer : chapter names in headers +Oracle Open Office Writer : chapter numbering +Oracle Open Office Writer : chapter numbers in captions +Oracle Open Office Writer : character styles +Oracle Open Office Writer : character styles;language selection +Oracle Open Office Writer : character styles;style categories +Oracle Open Office Writer : characters +Oracle Open Office Writer : characters;alternative fonts +Oracle Open Office Writer : characters;Asian layout +Oracle Open Office Writer : characters;bold +Oracle Open Office Writer : characters;coloring +Oracle Open Office Writer : characters;counting +Oracle Open Office Writer : characters;displaying only on screen (Writer) +Oracle Open Office Writer : characters;enabling CTL and Asian characters +Oracle Open Office Writer : characters;finding all +Oracle Open Office Writer : characters;font effects +Oracle Open Office Writer : characters;fonts and formats +Oracle Open Office Writer : characters;hyperlinks +Oracle Open Office Writer : characters;italics +Oracle Open Office Writer : characters;language selection +Oracle Open Office Writer : characters;shadowed +Oracle Open Office Writer : characters;spacing +Oracle Open Office Writer : characters;special +Oracle Open Office Writer : characters;subscript and superscript +Oracle Open Office Writer : characters;underlining +Oracle Open Office Writer : characters;uppercase or lowercase +Oracle Open Office Writer : charcoal sketches filter +Oracle Open Office Writer : chart legends +Oracle Open Office Writer : chart legends;hiding +Oracle Open Office Writer : chart legends;showing icons with labels +Oracle Open Office Writer : chart types +Oracle Open Office Writer : chart types;area +Oracle Open Office Writer : chart types;bubble +Oracle Open Office Writer : chart types;column and bar +Oracle Open Office Writer : chart types;column and line +Oracle Open Office Writer : chart types;line +Oracle Open Office Writer : chart types;net +Oracle Open Office Writer : chart types;pie/donut +Oracle Open Office Writer : chart types;stock +Oracle Open Office Writer : chart types;XY (scatter) +Oracle Open Office Writer : charts +Oracle Open Office Writer : charts;3D views +Oracle Open Office Writer : charts;aligning +Oracle Open Office Writer : charts;arranging within stacks +Oracle Open Office Writer : charts;bars with textures +Oracle Open Office Writer : charts;borders +Oracle Open Office Writer : charts;choosing chart types +Oracle Open Office Writer : charts;colors +Oracle Open Office Writer : charts;copying from Calc into Writer +Oracle Open Office Writer : charts;copying with link to source cell range +Oracle Open Office Writer : charts;data labels +Oracle Open Office Writer : charts;displaying (Calc) +Oracle Open Office Writer : charts;editing axes +Oracle Open Office Writer : charts;editing data +Oracle Open Office Writer : charts;editing legends +Oracle Open Office Writer : charts;editing titles +Oracle Open Office Writer : charts;formatting areas +Oracle Open Office Writer : charts;formatting floors +Oracle Open Office Writer : charts;formatting walls +Oracle Open Office Writer : charts;inserting +Oracle Open Office Writer : charts;labeling +Oracle Open Office Writer : charts;overview +Oracle Open Office Writer : charts;positioning axes +Oracle Open Office Writer : charts;properties +Oracle Open Office Writer : charts;reorganizing +Oracle Open Office Writer : charts;scaling axes +Oracle Open Office Writer : charts;scaling text +Oracle Open Office Writer : charts;shortcuts +Oracle Open Office Writer : charts;showing axes +Oracle Open Office Writer : charts;updating automatically (Writer) +Oracle Open Office Writer : check box creation +Oracle Open Office Writer : checking spelling +Oracle Open Office Writer : checking spelling;all languages +Oracle Open Office Writer : checking spelling;manually +Oracle Open Office Writer : checking spelling;while typing +Oracle Open Office Writer : Chinese writing systems +Oracle Open Office Writer : choosing printers +Oracle Open Office Writer : circle drawings +Oracle Open Office Writer : Client Side ImageMap +Oracle Open Office Writer : clipboard +Oracle Open Office Writer : clipboard;calculating in text +Oracle Open Office Writer : clipboard;cutting +Oracle Open Office Writer : clipboard;pasting +Oracle Open Office Writer : clipboard;pasting formatted/unformatted text +Oracle Open Office Writer : clipboard;selection clipboard +Oracle Open Office Writer : clipboard;Unix +Oracle Open Office Writer : closing +Oracle Open Office Writer : closing;documents +Oracle Open Office Writer : closing;toolbars +Oracle Open Office Writer : collaboration +Oracle Open Office Writer : color bar +Oracle Open Office Writer : colors +Oracle Open Office Writer : colors;adding +Oracle Open Office Writer : colors;appearance +Oracle Open Office Writer : colors;backgrounds +Oracle Open Office Writer : colors;charts +Oracle Open Office Writer : colors;fill format +Oracle Open Office Writer : colors;fonts +Oracle Open Office Writer : colors;grid lines and cells (Calc) +Oracle Open Office Writer : colors;models +Oracle Open Office Writer : colors;not printing +Oracle Open Office Writer : colors;printing in grayscale +Oracle Open Office Writer : colors;restriction (Calc) +Oracle Open Office Writer : colors;selection +Oracle Open Office Writer : column and line charts +Oracle Open Office Writer : column charts +Oracle Open Office Writer : column headers +Oracle Open Office Writer : column headers;displaying (Calc) +Oracle Open Office Writer : column headers;highlighting (Calc) +Oracle Open Office Writer : columns +Oracle Open Office Writer : columns;breaks in text tables +Oracle Open Office Writer : columns;inserting in tables +Oracle Open Office Writer : columns;inserting/deleting in tables by keyboard +Oracle Open Office Writer : columns;on text pages +Oracle Open Office Writer : columns;selecting +Oracle Open Office Writer : columns;setting with the mouse +Oracle Open Office Writer : combination charts +Oracle Open Office Writer : combo box creation +Oracle Open Office Writer : command button creation +Oracle Open Office Writer : command buttons, see push buttons +Oracle Open Office Writer : command line parameters +Oracle Open Office Writer : commands +Oracle Open Office Writer : commands;repeating +Oracle Open Office Writer : commands;SQL +Oracle Open Office Writer : comments +Oracle Open Office Writer : comments;displaying (Calc) +Oracle Open Office Writer : comments;inserting/editing/deleting/printing +Oracle Open Office Writer : comments;on changes +Oracle Open Office Writer : comments;printing in text +Oracle Open Office Writer : common terms +Oracle Open Office Writer : common terms;Chinese dictionary +Oracle Open Office Writer : common terms;glossaries +Oracle Open Office Writer : common terms;Internet glossary +Oracle Open Office Writer : comparisons +Oracle Open Office Writer : comparisons;document versions +Oracle Open Office Writer : comparisons;operators in default filter dialog +Oracle Open Office Writer : compatibility settings for MS Word import +Oracle Open Office Writer : complete screen view +Oracle Open Office Writer : completion of words +Oracle Open Office Writer : complex text layout +Oracle Open Office Writer : complex text layout;definition +Oracle Open Office Writer : complex text layout;enabling +Oracle Open Office Writer : complex text layout, see CTL +Oracle Open Office Writer : compose key to insert special characters +Oracle Open Office Writer : concatenation, see ampersand symbol +Oracle Open Office Writer : concordance files +Oracle Open Office Writer : concordance files;definition +Oracle Open Office Writer : concordance files;indexes +Oracle Open Office Writer : conditional separators +Oracle Open Office Writer : conditional styles +Oracle Open Office Writer : conditional text +Oracle Open Office Writer : conditional text;page counts +Oracle Open Office Writer : conditional text;setting up +Oracle Open Office Writer : conditions +Oracle Open Office Writer : conditions;in fields and sections +Oracle Open Office Writer : conditions;in number formats +Oracle Open Office Writer : conditions;items in Data Navigator +Oracle Open Office Writer : conditions;user data fields +Oracle Open Office Writer : Configuration Manager +Oracle Open Office Writer : configuring +Oracle Open Office Writer : configuring;fax icon +Oracle Open Office Writer : configuring;Oracle Open Office +Oracle Open Office Writer : configuring;toolbars +Oracle Open Office Writer : connections to data sources (Base) +Oracle Open Office Writer : contents protection +Oracle Open Office Writer : context menus +Oracle Open Office Writer : continuation pages +Oracle Open Office Writer : contour editor +Oracle Open Office Writer : contour wrap +Oracle Open Office Writer : control point display in presentations +Oracle Open Office Writer : controls +Oracle Open Office Writer : controls;activating in forms +Oracle Open Office Writer : controls;adding to documents +Oracle Open Office Writer : controls;arranging in forms +Oracle Open Office Writer : controls;arranging within stacks +Oracle Open Office Writer : controls;assigning data sources +Oracle Open Office Writer : controls;assigning macros (Basic) +Oracle Open Office Writer : controls;bound fields/list contents/linked cells +Oracle Open Office Writer : controls;events +Oracle Open Office Writer : controls;focus +Oracle Open Office Writer : controls;formatted fields +Oracle Open Office Writer : controls;grouping +Oracle Open Office Writer : controls;hidden +Oracle Open Office Writer : controls;inserting +Oracle Open Office Writer : controls;multi-line titles +Oracle Open Office Writer : controls;positions and sizes +Oracle Open Office Writer : controls;printing +Oracle Open Office Writer : controls;properties of form controls +Oracle Open Office Writer : controls;properties of table controls +Oracle Open Office Writer : controls;reference by SQL +Oracle Open Office Writer : controls;rich text control +Oracle Open Office Writer : controls;select mode +Oracle Open Office Writer : controls;showing (Writer) +Oracle Open Office Writer : converters +Oracle Open Office Writer : converters;Euro converter +Oracle Open Office Writer : converters;PostScript, UNIX +Oracle Open Office Writer : converters;XML +Oracle Open Office Writer : converting +Oracle Open Office Writer : converting;fields, into text +Oracle Open Office Writer : converting;Hangul/Hanja +Oracle Open Office Writer : converting;metrics +Oracle Open Office Writer : converting;Microsoft documents +Oracle Open Office Writer : converting;Oracle Open Office documents +Oracle Open Office Writer : converting;Pocket PC formats +Oracle Open Office Writer : converting;sections, into normal text +Oracle Open Office Writer : converting;text, into tables +Oracle Open Office Writer : copies +Oracle Open Office Writer : copies;printing +Oracle Open Office Writer : copies;removing line breaks +Oracle Open Office Writer : copying +Oracle Open Office Writer : copying;by drag and drop +Oracle Open Office Writer : copying;charts from Oracle Open Office Calc +Oracle Open Office Writer : copying;data from text documents +Oracle Open Office Writer : copying;datasource records in spreadsheets +Oracle Open Office Writer : copying;draw objects +Oracle Open Office Writer : copying;draw objects between documents +Oracle Open Office Writer : copying;formatting +Oracle Open Office Writer : copying;from data source view +Oracle Open Office Writer : copying;from Gallery +Oracle Open Office Writer : copying;in Unix +Oracle Open Office Writer : copying;pictures, between documents +Oracle Open Office Writer : copying;sheet areas, to text documents +Oracle Open Office Writer : copying;styles, by fill format mode +Oracle Open Office Writer : copying;styles, from selections +Oracle Open Office Writer : copying;text sections +Oracle Open Office Writer : copying;to Gallery +Oracle Open Office Writer : copyright for Oracle Open Office +Oracle Open Office Writer : corner roundings +Oracle Open Office Writer : counting words +Oracle Open Office Writer : crash reports +Oracle Open Office Writer : criteria of query design (Base) +Oracle Open Office Writer : cropping pictures +Oracle Open Office Writer : cross-references +Oracle Open Office Writer : cross-references;inserting and updating +Oracle Open Office Writer : cross-references;inserting with Navigator +Oracle Open Office Writer : cross-references;modifying +Oracle Open Office Writer : CTL +Oracle Open Office Writer : CTL;(not) wrapping words +Oracle Open Office Writer : CTL;complex text layout languages +Oracle Open Office Writer : CTL;definition +Oracle Open Office Writer : CTL;options +Oracle Open Office Writer : currencies +Oracle Open Office Writer : currencies;converters +Oracle Open Office Writer : currencies;format codes +Oracle Open Office Writer : currency field creation +Oracle Open Office Writer : currency formats +Oracle Open Office Writer : cursor +Oracle Open Office Writer : cursor;allowing in protected areas (Writer) +Oracle Open Office Writer : cursor;direct cursor +Oracle Open Office Writer : cursor;in read-only text +Oracle Open Office Writer : cursor;quickly moving to an object +Oracle Open Office Writer : curves +Oracle Open Office Writer : curves;editing points +Oracle Open Office Writer : curves;properties in line charts/XY charts +Oracle Open Office Writer : custom dictionaries +Oracle Open Office Writer : custom dictionaries;editing +Oracle Open Office Writer : custom dictionaries;removing words from +Oracle Open Office Writer : custom hyphens (Writer) +Oracle Open Office Writer : custom quotes +Oracle Open Office Writer : custom templates +Oracle Open Office Writer : customizing +Oracle Open Office Writer : customizing;events +Oracle Open Office Writer : customizing;keyboard +Oracle Open Office Writer : customizing;menus +Oracle Open Office Writer : customizing;Oracle Open Office +Oracle Open Office Writer : customizing;round corners +Oracle Open Office Writer : customizing;toolbars +Oracle Open Office Writer : cutting +Oracle Open Office Writer : dashes +Oracle Open Office Writer : data +Oracle Open Office Writer : data;filtering in forms +Oracle Open Office Writer : data;forms and subforms +Oracle Open Office Writer : data;read-only +Oracle Open Office Writer : data;sorting in forms +Oracle Open Office Writer : data;user data +Oracle Open Office Writer : data binding change in XForms +Oracle Open Office Writer : data labels in charts +Oracle Open Office Writer : Data Navigator +Oracle Open Office Writer : Data Navigator;adding/editing items +Oracle Open Office Writer : Data Navigator;display options +Oracle Open Office Writer : data ranges in charts +Oracle Open Office Writer : data series +Oracle Open Office Writer : data source browser +Oracle Open Office Writer : data source explorer +Oracle Open Office Writer : data source view +Oracle Open Office Writer : data source view;drag and drop +Oracle Open Office Writer : data source view;overview +Oracle Open Office Writer : data source view;showing +Oracle Open Office Writer : data sources +Oracle Open Office Writer : data sources;as tables +Oracle Open Office Writer : data sources;connection settings (Base) +Oracle Open Office Writer : data sources;copying records to spreadsheets +Oracle Open Office Writer : data sources;displaying current +Oracle Open Office Writer : data sources;LDAP server (Base) +Oracle Open Office Writer : data sources;Oracle Open Office Base +Oracle Open Office Writer : data sources;registering address books +Oracle Open Office Writer : data sources;reports +Oracle Open Office Writer : data sources;setting for stock charts +Oracle Open Office Writer : data sources;viewing +Oracle Open Office Writer : data structure of XForms +Oracle Open Office Writer : data values in charts +Oracle Open Office Writer : data, see also values +Oracle Open Office Writer : database contents +Oracle Open Office Writer : database contents;inserting as tables +Oracle Open Office Writer : database contents;inserting as text +Oracle Open Office Writer : database reports +Oracle Open Office Writer : Database Wizard (Base) +Oracle Open Office Writer : databases +Oracle Open Office Writer : databases;administration through SQL (Base) +Oracle Open Office Writer : databases;ADO (Base) +Oracle Open Office Writer : databases;connecting (Base) +Oracle Open Office Writer : databases;creating +Oracle Open Office Writer : databases;creating bibliographies +Oracle Open Office Writer : databases;creating labels +Oracle Open Office Writer : databases;creating queries +Oracle Open Office Writer : databases;creating reports +Oracle Open Office Writer : databases;creating tables +Oracle Open Office Writer : databases;deleting (Base) +Oracle Open Office Writer : databases;drag and drop (Base) +Oracle Open Office Writer : databases;editing tables +Oracle Open Office Writer : databases;exchanging +Oracle Open Office Writer : databases;form filters +Oracle Open Office Writer : databases;formats (Base) +Oracle Open Office Writer : databases;importing/exporting +Oracle Open Office Writer : databases;in conditions +Oracle Open Office Writer : databases;JDBC (Base) +Oracle Open Office Writer : databases;main page (Base) +Oracle Open Office Writer : databases;ODBC (Base) +Oracle Open Office Writer : databases;overview +Oracle Open Office Writer : databases;registering (Base) +Oracle Open Office Writer : databases;searching records +Oracle Open Office Writer : databases;shortcut keys +Oracle Open Office Writer : databases;sorting +Oracle Open Office Writer : databases;standard filters +Oracle Open Office Writer : databases;text formats +Oracle Open Office Writer : databases;viewing +Oracle Open Office Writer : date fields +Oracle Open Office Writer : date fields;creating +Oracle Open Office Writer : date fields;fixed/variable +Oracle Open Office Writer : date fields;HTML +Oracle Open Office Writer : date fields;properties +Oracle Open Office Writer : date formats +Oracle Open Office Writer : dates +Oracle Open Office Writer : dates;default (Calc) +Oracle Open Office Writer : dates;formatting automatically in tables +Oracle Open Office Writer : dates;inserting +Oracle Open Office Writer : dates;printing in presentations +Oracle Open Office Writer : dates;start 1900/01/01 (Calc) +Oracle Open Office Writer : dates;start 1904/01/01 (Calc) +Oracle Open Office Writer : dBASE +Oracle Open Office Writer : dBASE;database settings (Base) +Oracle Open Office Writer : DDE +Oracle Open Office Writer : DDE;command for inserting sections +Oracle Open Office Writer : DDE;definition +Oracle Open Office Writer : DDE;inserting tables +Oracle Open Office Writer : deactivating +Oracle Open Office Writer : deactivating;plug-ins +Oracle Open Office Writer : deactivating;word completion +Oracle Open Office Writer : decimal places displayed (Calc) +Oracle Open Office Writer : decimal separator key +Oracle Open Office Writer : decimal tab stops +Oracle Open Office Writer : default directories +Oracle Open Office Writer : default filters +Oracle Open Office Writer : default filters;comparison operators +Oracle Open Office Writer : default filters;databases +Oracle Open Office Writer : default printer +Oracle Open Office Writer : default printer;setting up +Oracle Open Office Writer : default printer;UNIX +Oracle Open Office Writer : default templates +Oracle Open Office Writer : default templates;changing +Oracle Open Office Writer : default templates;defining/resetting +Oracle Open Office Writer : default templates;organizing +Oracle Open Office Writer : defaults +Oracle Open Office Writer : defaults;documents +Oracle Open Office Writer : defaults;file formats in file dialogs +Oracle Open Office Writer : defaults;file formats in Oracle Open Office +Oracle Open Office Writer : defaults;fonts +Oracle Open Office Writer : defaults;grids (Writer/Calc) +Oracle Open Office Writer : defaults;languages +Oracle Open Office Writer : defaults;number formats +Oracle Open Office Writer : defaults;of saving +Oracle Open Office Writer : defaults;program configuration +Oracle Open Office Writer : defaults;tab stops in text +Oracle Open Office Writer : defaults;templates +Oracle Open Office Writer : defaults;views +Oracle Open Office Writer : defining +Oracle Open Office Writer : defining;arrowheads and other line ends +Oracle Open Office Writer : defining;colors +Oracle Open Office Writer : defining;conditions +Oracle Open Office Writer : defining;headers/footers +Oracle Open Office Writer : defining;line styles +Oracle Open Office Writer : defining;object borders +Oracle Open Office Writer : defining;page borders +Oracle Open Office Writer : defining;page styles +Oracle Open Office Writer : defining;paragraph borders +Oracle Open Office Writer : defining;queries (Base) +Oracle Open Office Writer : defining;starting page numbers +Oracle Open Office Writer : defining;table borders +Oracle Open Office Writer : defining;table borders in Writer +Oracle Open Office Writer : deleting +Oracle Open Office Writer : deleting;all direct formatting +Oracle Open Office Writer : deleting;comments +Oracle Open Office Writer : deleting;databases (Base) +Oracle Open Office Writer : deleting;entries of indexes/tables of contents +Oracle Open Office Writer : deleting;footnotes +Oracle Open Office Writer : deleting;heading numbers +Oracle Open Office Writer : deleting;hyperlinks +Oracle Open Office Writer : deleting;indexes/tables of contents +Oracle Open Office Writer : deleting;line breaks +Oracle Open Office Writer : deleting;lines in text +Oracle Open Office Writer : deleting;models/instances +Oracle Open Office Writer : deleting;namespaces in XForms +Oracle Open Office Writer : deleting;numbers in lists +Oracle Open Office Writer : deleting;page breaks +Oracle Open Office Writer : deleting;rows/columns, by keyboard +Oracle Open Office Writer : deleting;tab stops +Oracle Open Office Writer : deleting;tables or table contents +Oracle Open Office Writer : deleting;templates +Oracle Open Office Writer : deleting;words in user-defined dictionaries +Oracle Open Office Writer : deleting;XML filters +Oracle Open Office Writer : demoting heading levels +Oracle Open Office Writer : depth stagger +Oracle Open Office Writer : descriptions for objects +Oracle Open Office Writer : design mode after saving +Oracle Open Office Writer : design view +Oracle Open Office Writer : design view;creating forms +Oracle Open Office Writer : design view;queries/views (Base) +Oracle Open Office Writer : designing +Oracle Open Office Writer : designing;database tables +Oracle Open Office Writer : designing;fonts +Oracle Open Office Writer : designing;queries (Base) +Oracle Open Office Writer : detaching toolbars +Oracle Open Office Writer : dictionaries +Oracle Open Office Writer : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Writer : dictionaries;creating +Oracle Open Office Writer : dictionaries;editing user-defined +Oracle Open Office Writer : dictionaries;spellcheck +Oracle Open Office Writer : dictionaries;thesaurus +Oracle Open Office Writer : dictionaries, see also languages +Oracle Open Office Writer : digital signatures +Oracle Open Office Writer : digital signatures;getting/managing/applying +Oracle Open Office Writer : digital signatures;overview +Oracle Open Office Writer : digital signatures;WebDAV over HTTPS +Oracle Open Office Writer : direct cursor +Oracle Open Office Writer : direct cursor;restriction +Oracle Open Office Writer : direct cursor;settings +Oracle Open Office Writer : direct formatting +Oracle Open Office Writer : direct formatting;exiting +Oracle Open Office Writer : direct formatting;undoing all +Oracle Open Office Writer : directories +Oracle Open Office Writer : directories;creating new +Oracle Open Office Writer : directories;directory structure +Oracle Open Office Writer : disabled persons +Oracle Open Office Writer : disabling +Oracle Open Office Writer : disabling;field highlighting +Oracle Open Office Writer : disabling;smart tags +Oracle Open Office Writer : disabling;word completion +Oracle Open Office Writer : displaying +Oracle Open Office Writer : displaying;comments (Calc) +Oracle Open Office Writer : displaying;comments in text documents +Oracle Open Office Writer : displaying;hidden text +Oracle Open Office Writer : displaying;non-printing characters (Writer) +Oracle Open Office Writer : displaying;pictures and objects (Writer) +Oracle Open Office Writer : displaying;tables (Writer) +Oracle Open Office Writer : displaying;zero values (Calc) +Oracle Open Office Writer : distances +Oracle Open Office Writer : distinct values in SQL queries +Oracle Open Office Writer : distorting in drawings +Oracle Open Office Writer : distributing XML filters +Oracle Open Office Writer : dividing tables +Oracle Open Office Writer : DocInformation fields +Oracle Open Office Writer : docking +Oracle Open Office Writer : docking;definition +Oracle Open Office Writer : docking;Navigator window +Oracle Open Office Writer : docking;toolbars +Oracle Open Office Writer : docking;windows +Oracle Open Office Writer : Document Converter Wizard +Oracle Open Office Writer : Document Map, see Navigator +Oracle Open Office Writer : document templates +Oracle Open Office Writer : document types in Oracle Open Office +Oracle Open Office Writer : documents +Oracle Open Office Writer : documents;changing titles +Oracle Open Office Writer : documents;closing +Oracle Open Office Writer : documents;comparing +Oracle Open Office Writer : documents;contents as lists +Oracle Open Office Writer : documents;editing time +Oracle Open Office Writer : documents;exporting +Oracle Open Office Writer : documents;importing +Oracle Open Office Writer : documents;languages +Oracle Open Office Writer : documents;master documents and subdocuments +Oracle Open Office Writer : documents;measurement units in +Oracle Open Office Writer : documents;merging +Oracle Open Office Writer : documents;number of pages/tables/sheets +Oracle Open Office Writer : documents;number of words/characters +Oracle Open Office Writer : documents;opening +Oracle Open Office Writer : documents;opening in design mode +Oracle Open Office Writer : documents;opening with templates +Oracle Open Office Writer : documents;organizing +Oracle Open Office Writer : documents;printing +Oracle Open Office Writer : documents;read-only +Oracle Open Office Writer : documents;reloading +Oracle Open Office Writer : documents;saving +Oracle Open Office Writer : documents;saving automatically +Oracle Open Office Writer : documents;saving in other formats +Oracle Open Office Writer : documents;sending as e-mail +Oracle Open Office Writer : documents;styles changed +Oracle Open Office Writer : documents;version management +Oracle Open Office Writer : documents;version numbers +Oracle Open Office Writer : donut charts +Oracle Open Office Writer : dotted areas +Oracle Open Office Writer : double-line spacing in paragraphs +Oracle Open Office Writer : double-line writing in Asian layout +Oracle Open Office Writer : drag and drop +Oracle Open Office Writer : drag and drop;copying and pasting text +Oracle Open Office Writer : drag and drop;creating new styles +Oracle Open Office Writer : drag and drop;data source view +Oracle Open Office Writer : drag and drop;from Gallery to draw objects +Oracle Open Office Writer : drag and drop;overview +Oracle Open Office Writer : drag and drop;pictures +Oracle Open Office Writer : drag and drop;to Gallery +Oracle Open Office Writer : draw objects +Oracle Open Office Writer : draw objects;adding/editing/copying +Oracle Open Office Writer : draw objects;anchoring +Oracle Open Office Writer : draw objects;arranging within stacks +Oracle Open Office Writer : draw objects;copying between documents +Oracle Open Office Writer : draw objects;cross-referencing +Oracle Open Office Writer : draw objects;displaying (Calc) +Oracle Open Office Writer : draw objects;dropping Gallery pictures +Oracle Open Office Writer : draw objects;flipping +Oracle Open Office Writer : draw objects;inserting captions +Oracle Open Office Writer : draw objects;legends +Oracle Open Office Writer : draw objects;positioning and resizing +Oracle Open Office Writer : draw objects;protecting +Oracle Open Office Writer : draw objects;slanting +Oracle Open Office Writer : draw objects;text in +Oracle Open Office Writer : Drawing bar +Oracle Open Office Writer : drawing lines in text +Oracle Open Office Writer : drawings +Oracle Open Office Writer : drawings;creating/opening +Oracle Open Office Writer : drawings;languages +Oracle Open Office Writer : drawings;printing +Oracle Open Office Writer : drawings;printing defaults +Oracle Open Office Writer : drawings;printing in text documents +Oracle Open Office Writer : drawings;saving +Oracle Open Office Writer : drawings;saving automatically +Oracle Open Office Writer : drawings;saving in other formats +Oracle Open Office Writer : drawings;sending as e-mail +Oracle Open Office Writer : drawings;showing (Writer) +Oracle Open Office Writer : drawings, see also draw objects +Oracle Open Office Writer : drop caps insertion +Oracle Open Office Writer : drop-down lists in form functions +Oracle Open Office Writer : e-mail attachments +Oracle Open Office Writer : Edit File icon +Oracle Open Office Writer : edit mode +Oracle Open Office Writer : edit mode;after opening +Oracle Open Office Writer : edit mode;through Enter key (Calc) +Oracle Open Office Writer : Edit Points bar +Oracle Open Office Writer : editing +Oracle Open Office Writer : editing;captions +Oracle Open Office Writer : editing;chart axes +Oracle Open Office Writer : editing;chart data +Oracle Open Office Writer : editing;chart legends +Oracle Open Office Writer : editing;chart titles +Oracle Open Office Writer : editing;comments +Oracle Open Office Writer : editing;concordance files +Oracle Open Office Writer : editing;cross-references +Oracle Open Office Writer : editing;data binding of XForms +Oracle Open Office Writer : editing;database tables and queries +Oracle Open Office Writer : editing;draw objects +Oracle Open Office Writer : editing;Fontwork objects +Oracle Open Office Writer : editing;footnotes/endnotes +Oracle Open Office Writer : editing;hyperlinks +Oracle Open Office Writer : editing;index format +Oracle Open Office Writer : editing;indexes/tables of contents +Oracle Open Office Writer : editing;menus +Oracle Open Office Writer : editing;objects +Oracle Open Office Writer : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Writer : editing;pictures +Oracle Open Office Writer : editing;reports +Oracle Open Office Writer : editing;sections +Oracle Open Office Writer : editing;shortcut keys +Oracle Open Office Writer : editing;tab stops +Oracle Open Office Writer : editing;table/index entries +Oracle Open Office Writer : editing;templates +Oracle Open Office Writer : editing;text frames +Oracle Open Office Writer : editing;titles +Oracle Open Office Writer : editing;toolbars +Oracle Open Office Writer : editing;undoing +Oracle Open Office Writer : editing;XForms +Oracle Open Office Writer : editing time of documents +Oracle Open Office Writer : editors +Oracle Open Office Writer : editors;contour editor +Oracle Open Office Writer : editors;formula editor +Oracle Open Office Writer : editors;ImageMap editor +Oracle Open Office Writer : effects +Oracle Open Office Writer : effects;font positions +Oracle Open Office Writer : effects;fonts +Oracle Open Office Writer : effects;Fontwork icons +Oracle Open Office Writer : effects;text animation +Oracle Open Office Writer : emphasizing text +Oracle Open Office Writer : empty documents +Oracle Open Office Writer : empty page with alternating page styles +Oracle Open Office Writer : empty paragraph removal +Oracle Open Office Writer : encryption of contents +Oracle Open Office Writer : endnotes +Oracle Open Office Writer : endnotes;inserting and editing +Oracle Open Office Writer : endnotes;spacing +Oracle Open Office Writer : enlarging columns,cells and table rows +Oracle Open Office Writer : entering groups +Oracle Open Office Writer : entering text from right to left +Oracle Open Office Writer : entering text with direct cursor +Oracle Open Office Writer : entries +Oracle Open Office Writer : entries;bibliographies +Oracle Open Office Writer : entries;defining in indexes/tables of contents +Oracle Open Office Writer : entries;in tables of contents, as hyperlinks +Oracle Open Office Writer : envelopes +Oracle Open Office Writer : equal sign, see also operators +Oracle Open Office Writer : equations in formula editor +Oracle Open Office Writer : error bars in charts +Oracle Open Office Writer : error indicators in charts +Oracle Open Office Writer : Error Report Tool +Oracle Open Office Writer : Euro +Oracle Open Office Writer : Euro;currency formats +Oracle Open Office Writer : Euro;Euro Converter Wizard +Oracle Open Office Writer : even/odd pages +Oracle Open Office Writer : even/odd pages;formatting +Oracle Open Office Writer : even/odd pages;printing +Oracle Open Office Writer : events +Oracle Open Office Writer : events;assigning scripts +Oracle Open Office Writer : events;controls +Oracle Open Office Writer : events;customizing +Oracle Open Office Writer : events;in forms +Oracle Open Office Writer : examples for regular expressions +Oracle Open Office Writer : Excel +Oracle Open Office Writer : Excel;saving as +Oracle Open Office Writer : Excel;search criteria +Oracle Open Office Writer : exceptions +Oracle Open Office Writer : exceptions;AutoCorrect function +Oracle Open Office Writer : exceptions;user-defined dictionaries +Oracle Open Office Writer : exchanging databases +Oracle Open Office Writer : exchanging, see also replacing +Oracle Open Office Writer : executing SQL commands +Oracle Open Office Writer : exiting +Oracle Open Office Writer : exiting;direct formatting +Oracle Open Office Writer : exiting;groups +Oracle Open Office Writer : exiting;Oracle Open Office +Oracle Open Office Writer : expanding formatting (Calc) +Oracle Open Office Writer : explorer of data sources +Oracle Open Office Writer : export filters +Oracle Open Office Writer : exporting +Oracle Open Office Writer : exporting;bitmaps +Oracle Open Office Writer : exporting;HTML and text documents +Oracle Open Office Writer : exporting;Microsoft Office documents with VBA code +Oracle Open Office Writer : exporting;spreadsheets to text format +Oracle Open Office Writer : exporting;templates +Oracle Open Office Writer : exporting;to foreign formats +Oracle Open Office Writer : exporting;to HTML +Oracle Open Office Writer : exporting;to Microsoft Office formats +Oracle Open Office Writer : exporting;to PDF +Oracle Open Office Writer : exporting;to PostScript format +Oracle Open Office Writer : exporting;to XML +Oracle Open Office Writer : exporting;XML files +Oracle Open Office Writer : extended tips in Help +Oracle Open Office Writer : extension mode in text +Oracle Open Office Writer : extensions +Oracle Open Office Writer : extensions;Extension Manager +Oracle Open Office Writer : extensions;file formats +Oracle Open Office Writer : external keys (Base) +Oracle Open Office Writer : faster printing +Oracle Open Office Writer : faxes +Oracle Open Office Writer : faxes;configuring Oracle Open Office +Oracle Open Office Writer : faxes;fax programs/fax printers under UNIX +Oracle Open Office Writer : faxes;selecting a fax machine +Oracle Open Office Writer : faxes;sending +Oracle Open Office Writer : faxes;wizards +Oracle Open Office Writer : feedback +Oracle Open Office Writer : feedback;automatically +Oracle Open Office Writer : fields +Oracle Open Office Writer : fields;converting into text +Oracle Open Office Writer : fields;database tables +Oracle Open Office Writer : fields;defining conditions +Oracle Open Office Writer : fields;displaying field codes (Writer) +Oracle Open Office Writer : fields;formatted fields +Oracle Open Office Writer : fields;HTML import and export +Oracle Open Office Writer : fields;input fields in text +Oracle Open Office Writer : fields;inserting time +Oracle Open Office Writer : fields;subject +Oracle Open Office Writer : fields;updating automatically (Writer) +Oracle Open Office Writer : fields;updating/viewing +Oracle Open Office Writer : fields;user data +Oracle Open Office Writer : file associations for Microsoft Office +Oracle Open Office Writer : file filters +Oracle Open Office Writer : file filters;mobile devices +Oracle Open Office Writer : file filters;XML +Oracle Open Office Writer : file formats +Oracle Open Office Writer : file formats;changing Oracle Open Office defaults +Oracle Open Office Writer : file formats;OpenDocument/XML +Oracle Open Office Writer : file formats;saving always in other formats +Oracle Open Office Writer : file selection button +Oracle Open Office Writer : file sharing options for current document +Oracle Open Office Writer : files +Oracle Open Office Writer : files;filters and formats +Oracle Open Office Writer : files;importing +Oracle Open Office Writer : files;opening +Oracle Open Office Writer : files;opening with placeholders +Oracle Open Office Writer : files;properties +Oracle Open Office Writer : files;saving +Oracle Open Office Writer : files;saving automatically +Oracle Open Office Writer : files;saving in other formats +Oracle Open Office Writer : files;sending as e-mail +Oracle Open Office Writer : files;version numbers +Oracle Open Office Writer : files and folders in Oracle Open Office +Oracle Open Office Writer : fill characters with tabulators +Oracle Open Office Writer : fill colors for areas +Oracle Open Office Writer : fill format mode +Oracle Open Office Writer : fill patterns for areas +Oracle Open Office Writer : filter conditions +Oracle Open Office Writer : filter conditions;connecting +Oracle Open Office Writer : filter conditions;in queries (Base) +Oracle Open Office Writer : filtering +Oracle Open Office Writer : filtering;data in databases +Oracle Open Office Writer : filtering;data in forms +Oracle Open Office Writer : filters +Oracle Open Office Writer : filters;comparison operators +Oracle Open Office Writer : filters;for import and export +Oracle Open Office Writer : filters;Navigator +Oracle Open Office Writer : filters;pictures +Oracle Open Office Writer : filters;XML filter settings +Oracle Open Office Writer : Find tab in Help +Oracle Open Office Writer : finding +Oracle Open Office Writer : finding;in all sheets +Oracle Open Office Writer : finding;records in form documents +Oracle Open Office Writer : finding;selections +Oracle Open Office Writer : finding;similarity search +Oracle Open Office Writer : finding;text/text formats/styles/objects +Oracle Open Office Writer : first letters as large capital letters +Oracle Open Office Writer : First Page page style +Oracle Open Office Writer : fitting to pages +Oracle Open Office Writer : fitting to pages;print settings in Math +Oracle Open Office Writer : fitting to pages;print settings in presentations +Oracle Open Office Writer : fixed dates +Oracle Open Office Writer : fixed text +Oracle Open Office Writer : fixed text;form functions +Oracle Open Office Writer : fixing toolbars +Oracle Open Office Writer : flipping draw objects +Oracle Open Office Writer : floating frames in HTML documents +Oracle Open Office Writer : floating titles in headers +Oracle Open Office Writer : floating toolbars +Oracle Open Office Writer : focus of controls +Oracle Open Office Writer : folder creation +Oracle Open Office Writer : font attributes +Oracle Open Office Writer : font attributes;resetting +Oracle Open Office Writer : font lists +Oracle Open Office Writer : font name box +Oracle Open Office Writer : font sizes +Oracle Open Office Writer : font sizes;bullets +Oracle Open Office Writer : font sizes;relative changes +Oracle Open Office Writer : font sizes;scaling on screen +Oracle Open Office Writer : font sizes;text +Oracle Open Office Writer : fonts +Oracle Open Office Writer : fonts;adding under UNIX +Oracle Open Office Writer : fonts;changing in templates +Oracle Open Office Writer : fonts;colors +Oracle Open Office Writer : fonts;default settings +Oracle Open Office Writer : fonts;effects +Oracle Open Office Writer : fonts;for HTML and Basic +Oracle Open Office Writer : fonts;formats +Oracle Open Office Writer : fonts;outlines +Oracle Open Office Writer : fonts;positions in text +Oracle Open Office Writer : fonts;resetting +Oracle Open Office Writer : fonts;shadows +Oracle Open Office Writer : fonts;specifying several +Oracle Open Office Writer : fonts;strikethrough +Oracle Open Office Writer : fonts;styles +Oracle Open Office Writer : fonts;text objects +Oracle Open Office Writer : Fontwork icons +Oracle Open Office Writer : footers +Oracle Open Office Writer : footers;about +Oracle Open Office Writer : footers;backgrounds +Oracle Open Office Writer : footers;defining for left and right pages +Oracle Open Office Writer : footers;formatting +Oracle Open Office Writer : footers;inserting +Oracle Open Office Writer : footers;with page numbers +Oracle Open Office Writer : footnotes +Oracle Open Office Writer : footnotes;inserting and editing +Oracle Open Office Writer : footnotes;spacing +Oracle Open Office Writer : form controls +Oracle Open Office Writer : form controls;assigning macros +Oracle Open Office Writer : form controls;protecting +Oracle Open Office Writer : form controls;toolbars +Oracle Open Office Writer : form fields +Oracle Open Office Writer : form filters +Oracle Open Office Writer : form letters +Oracle Open Office Writer : Form Navigator +Oracle Open Office Writer : format codes +Oracle Open Office Writer : format codes;numbers +Oracle Open Office Writer : format filling printing in Oracle Open Office Math +Oracle Open Office Writer : Format Paintbrush +Oracle Open Office Writer : formats +Oracle Open Office Writer : formats;Asian layout +Oracle Open Office Writer : formats;copying and pasting +Oracle Open Office Writer : formats;finding and replacing +Oracle Open Office Writer : formats;fonts +Oracle Open Office Writer : formats;maximizing page formats +Oracle Open Office Writer : formats;number and currency formats +Oracle Open Office Writer : formats;of currencies/date/time +Oracle Open Office Writer : formats;on opening and saving +Oracle Open Office Writer : formats;pasting in special formats +Oracle Open Office Writer : formats;positions +Oracle Open Office Writer : formats;resetting +Oracle Open Office Writer : formats;tabulators +Oracle Open Office Writer : formatted fields +Oracle Open Office Writer : formatted fields;form functions +Oracle Open Office Writer : formatted fields;properties +Oracle Open Office Writer : formatting +Oracle Open Office Writer : formatting;Asian typography +Oracle Open Office Writer : formatting;axes in charts +Oracle Open Office Writer : formatting;bold, while typing +Oracle Open Office Writer : formatting;bullets +Oracle Open Office Writer : formatting;changing individual pages +Oracle Open Office Writer : formatting;chart areas +Oracle Open Office Writer : formatting;chart floors +Oracle Open Office Writer : formatting;chart legends +Oracle Open Office Writer : formatting;chart titles +Oracle Open Office Writer : formatting;chart walls +Oracle Open Office Writer : formatting;contour wrap +Oracle Open Office Writer : formatting;copying +Oracle Open Office Writer : formatting;definition +Oracle Open Office Writer : formatting;even/odd pages +Oracle Open Office Writer : formatting;exiting direct formatting +Oracle Open Office Writer : formatting;expanding (Calc) +Oracle Open Office Writer : formatting;font effects +Oracle Open Office Writer : formatting;hyperlinks +Oracle Open Office Writer : formatting;indenting paragraphs +Oracle Open Office Writer : formatting;indexes and tables of contents +Oracle Open Office Writer : formatting;numbered lists +Oracle Open Office Writer : formatting;page numbers +Oracle Open Office Writer : formatting;pages +Oracle Open Office Writer : formatting;printer metrics (Writer) +Oracle Open Office Writer : formatting;register-true text +Oracle Open Office Writer : formatting;undoing +Oracle Open Office Writer : formatting;undoing when writing +Oracle Open Office Writer : formatting styles +Oracle Open Office Writer : formatting styles;importing +Oracle Open Office Writer : formatting styles;styles and templates +Oracle Open Office Writer : forms +Oracle Open Office Writer : forms;browsing +Oracle Open Office Writer : forms;Combo Box/List Box Wizard +Oracle Open Office Writer : forms;creating +Oracle Open Office Writer : forms;data +Oracle Open Office Writer : forms;designing (Base) +Oracle Open Office Writer : forms;events +Oracle Open Office Writer : forms;filtering data +Oracle Open Office Writer : forms;finding records +Oracle Open Office Writer : forms;focus after opening +Oracle Open Office Writer : forms;general information (Base) +Oracle Open Office Writer : forms;grouping controls +Oracle Open Office Writer : forms;HTML filters +Oracle Open Office Writer : forms;Navigator +Oracle Open Office Writer : forms;opening in design mode +Oracle Open Office Writer : forms;properties +Oracle Open Office Writer : forms;sorting data +Oracle Open Office Writer : forms;subforms +Oracle Open Office Writer : forms;wizards +Oracle Open Office Writer : forms;XForms +Oracle Open Office Writer : formula texts +Oracle Open Office Writer : formula texts;printing in Oracle Open Office Math +Oracle Open Office Writer : formulas +Oracle Open Office Writer : formulas;calculating in text +Oracle Open Office Writer : formulas;complex formulas in text +Oracle Open Office Writer : formulas;new +Oracle Open Office Writer : formulas;pasting results in text documents +Oracle Open Office Writer : formulas;starting formula editor +Oracle Open Office Writer : formulas in reports +Oracle Open Office Writer : formulas in reports;editing +Oracle Open Office Writer : formulating conditions +Oracle Open Office Writer : forums and support +Oracle Open Office Writer : frames +Oracle Open Office Writer : frames;anchoring options +Oracle Open Office Writer : frames;around objects +Oracle Open Office Writer : frames;around pages +Oracle Open Office Writer : frames;around paragraphs +Oracle Open Office Writer : frames;around tables +Oracle Open Office Writer : frames;around text tables +Oracle Open Office Writer : frames;AutoCorrect function +Oracle Open Office Writer : frames;backgrounds +Oracle Open Office Writer : frames;captions (Writer) +Oracle Open Office Writer : frames;defining hyperlinks +Oracle Open Office Writer : frames;jumping to +Oracle Open Office Writer : frames;labeling +Oracle Open Office Writer : frames;linking +Oracle Open Office Writer : frames;printing in Oracle Open Office Math +Oracle Open Office Writer : frames;protecting +Oracle Open Office Writer : frames;selection frames +Oracle Open Office Writer : frames;styles +Oracle Open Office Writer : frames;text fitting to frames +Oracle Open Office Writer : frames;unlinking +Oracle Open Office Writer : freeform lines +Oracle Open Office Writer : freeform lines;draw functions +Oracle Open Office Writer : FTP +Oracle Open Office Writer : FTP;opening documents +Oracle Open Office Writer : FTP;saving documents +Oracle Open Office Writer : full joins (Base) +Oracle Open Office Writer : full screen view +Oracle Open Office Writer : full-text search in Help +Oracle Open Office Writer : functions in reports +Oracle Open Office Writer : functions in reports;editing +Oracle Open Office Writer : Gallery +Oracle Open Office Writer : Gallery;adding pictures +Oracle Open Office Writer : Gallery;docking and resizing +Oracle Open Office Writer : Gallery;dragging pictures to draw objects +Oracle Open Office Writer : Gallery;hiding/showing +Oracle Open Office Writer : Gallery;inserting pictures from +Oracle Open Office Writer : get method for form transmissions +Oracle Open Office Writer : getting support +Oracle Open Office Writer : GIF format +Oracle Open Office Writer : glossaries +Oracle Open Office Writer : glossaries;common terms +Oracle Open Office Writer : glossaries;Internet terms +Oracle Open Office Writer : gradients off for faster printing +Oracle Open Office Writer : grammar checker +Oracle Open Office Writer : graphic objects, see draw objects +Oracle Open Office Writer : graphical text art +Oracle Open Office Writer : graphics +Oracle Open Office Writer : graphics;cache +Oracle Open Office Writer : graphics;do not show +Oracle Open Office Writer : graphics;protecting +Oracle Open Office Writer : graphics, see also pictures +Oracle Open Office Writer : grayscale printing +Oracle Open Office Writer : grid controls +Oracle Open Office Writer : grid controls;form functions +Oracle Open Office Writer : grids +Oracle Open Office Writer : grids;defaults (Writer/Calc) +Oracle Open Office Writer : grids;display options (Impress/Draw) +Oracle Open Office Writer : grids;displaying lines (Calc) +Oracle Open Office Writer : grids;formatting axes +Oracle Open Office Writer : grids;inserting in charts +Oracle Open Office Writer : group box creation +Oracle Open Office Writer : groups +Oracle Open Office Writer : groups;entering/exiting/ungrouping +Oracle Open Office Writer : groups;naming +Oracle Open Office Writer : groups;of controls +Oracle Open Office Writer : guides +Oracle Open Office Writer : guides;display options (Impress/Draw) +Oracle Open Office Writer : guides;displaying when moving objects (Impress) +Oracle Open Office Writer : guides;showing (Calc) +Oracle Open Office Writer : guides;showing when moving frames (Writer) +Oracle Open Office Writer : gutter +Oracle Open Office Writer : handles +Oracle Open Office Writer : handles;displaying (Writer) +Oracle Open Office Writer : handles;scaling +Oracle Open Office Writer : handles;showing simple/large handles (Calc) +Oracle Open Office Writer : hanging indents in paragraphs +Oracle Open Office Writer : Hangul/Hanja +Oracle Open Office Writer : hard returns in pasted text +Oracle Open Office Writer : hatching +Oracle Open Office Writer : headers +Oracle Open Office Writer : headers;about +Oracle Open Office Writer : headers;backgrounds +Oracle Open Office Writer : headers;chapter information +Oracle Open Office Writer : headers;defining for left and right pages +Oracle Open Office Writer : headers;formatting +Oracle Open Office Writer : headers;inserting +Oracle Open Office Writer : headings +Oracle Open Office Writer : headings;automatic +Oracle Open Office Writer : headings;entering as text box +Oracle Open Office Writer : headings;jumping to +Oracle Open Office Writer : headings;numbering/paragraph styles +Oracle Open Office Writer : headings;rearranging +Oracle Open Office Writer : headings;repeating in tables +Oracle Open Office Writer : headings;starting with tab stops +Oracle Open Office Writer : headings;switching levels by keyboard +Oracle Open Office Writer : Hebrew +Oracle Open Office Writer : Hebrew;entering text +Oracle Open Office Writer : Hebrew;language settings +Oracle Open Office Writer : Help +Oracle Open Office Writer : Help;bookmarks +Oracle Open Office Writer : Help;extended tips on/off +Oracle Open Office Writer : Help;full-text search +Oracle Open Office Writer : Help;Help tips +Oracle Open Office Writer : Help;keywords +Oracle Open Office Writer : Help;navigation pane showing/hiding +Oracle Open Office Writer : Help;style sheets +Oracle Open Office Writer : Help;topics +Oracle Open Office Writer : Help Agent +Oracle Open Office Writer : Help Agent;help +Oracle Open Office Writer : Help Agent;options +Oracle Open Office Writer : Help tips +Oracle Open Office Writer : Help tips;fields +Oracle Open Office Writer : Help tips;hiding +Oracle Open Office Writer : hidden controls in Form Navigator +Oracle Open Office Writer : hidden fields display (Writer) +Oracle Open Office Writer : hidden pages +Oracle Open Office Writer : hidden pages;printing in presentations +Oracle Open Office Writer : hidden text +Oracle Open Office Writer : hidden text;displaying +Oracle Open Office Writer : hidden text;showing (Writer) +Oracle Open Office Writer : hiding +Oracle Open Office Writer : hiding;changes +Oracle Open Office Writer : hiding;chart legends +Oracle Open Office Writer : hiding;database fields +Oracle Open Office Writer : hiding;docked windows +Oracle Open Office Writer : hiding;navigation pane in Help window +Oracle Open Office Writer : hiding;rulers +Oracle Open Office Writer : hiding;sections +Oracle Open Office Writer : hiding;text, from specific users +Oracle Open Office Writer : hiding;text, with conditions +Oracle Open Office Writer : high contrast mode +Oracle Open Office Writer : Hindi +Oracle Open Office Writer : Hindi;entering text +Oracle Open Office Writer : Hindi;language settings +Oracle Open Office Writer : homepage creation +Oracle Open Office Writer : horizontal lines +Oracle Open Office Writer : horizontal rulers +Oracle Open Office Writer : horizontal scrollbars (Writer) +Oracle Open Office Writer : hotspots +Oracle Open Office Writer : HowTos for charts +Oracle Open Office Writer : HTML +Oracle Open Office Writer : HTML;definition +Oracle Open Office Writer : HTML;export character set +Oracle Open Office Writer : HTML;fonts for source display +Oracle Open Office Writer : HTML;importing META tags +Oracle Open Office Writer : HTML;live presentations +Oracle Open Office Writer : HTML;special tags for fields +Oracle Open Office Writer : HTML documents +Oracle Open Office Writer : HTML documents;auto reloading +Oracle Open Office Writer : HTML documents;creating from text documents +Oracle Open Office Writer : HTML documents;headers and footers +Oracle Open Office Writer : HTML documents;importing/exporting +Oracle Open Office Writer : HTML documents;inserting linked sections +Oracle Open Office Writer : HTML documents;META tags in +Oracle Open Office Writer : HTML documents;new +Oracle Open Office Writer : HTML documents;source text +Oracle Open Office Writer : hyperlinks +Oracle Open Office Writer : hyperlinks;assigning macros +Oracle Open Office Writer : hyperlinks;character formats +Oracle Open Office Writer : hyperlinks;definition +Oracle Open Office Writer : hyperlinks;deleting +Oracle Open Office Writer : hyperlinks;editing +Oracle Open Office Writer : hyperlinks;for objects +Oracle Open Office Writer : hyperlinks;in tables of contents and indexes +Oracle Open Office Writer : hyperlinks;inserting +Oracle Open Office Writer : hyperlinks;inserting from Navigator +Oracle Open Office Writer : hyperlinks;jumping to +Oracle Open Office Writer : hyperlinks;relative and absolute +Oracle Open Office Writer : hyperlinks;turning off automatic recognition +Oracle Open Office Writer : hyperlinks, see also links +Oracle Open Office Writer : hyphenation +Oracle Open Office Writer : hyphenation;activating for a language +Oracle Open Office Writer : hyphenation;manual/automatic +Oracle Open Office Writer : hyphenation;minimal number of characters +Oracle Open Office Writer : hyphenation;preventing for specific words +Oracle Open Office Writer : hyphens +Oracle Open Office Writer : hyphens;displaying custom (Writer) +Oracle Open Office Writer : hyphens;inserting custom +Oracle Open Office Writer : icon bars, see toolbars +Oracle Open Office Writer : icon sizes +Oracle Open Office Writer : if-then queries as fields +Oracle Open Office Writer : ignore list for spellcheck +Oracle Open Office Writer : illumination +Oracle Open Office Writer : illumination;3D charts +Oracle Open Office Writer : illustrations, see pictures +Oracle Open Office Writer : image button creation +Oracle Open Office Writer : image control creation +Oracle Open Office Writer : ImageMap +Oracle Open Office Writer : ImageMap;definition +Oracle Open Office Writer : ImageMap;editor +Oracle Open Office Writer : images +Oracle Open Office Writer : images;do not show +Oracle Open Office Writer : images;ImageMap +Oracle Open Office Writer : images;inserting and editing bitmaps +Oracle Open Office Writer : images;inserting in text +Oracle Open Office Writer : images, see also pictures +Oracle Open Office Writer : IME +Oracle Open Office Writer : IME;definition +Oracle Open Office Writer : IME;showing/hiding +Oracle Open Office Writer : import filters +Oracle Open Office Writer : import restrictions for Microsoft Office +Oracle Open Office Writer : importing +Oracle Open Office Writer : importing;bitmaps +Oracle Open Office Writer : importing;compatibility settings for text import +Oracle Open Office Writer : importing;databases +Oracle Open Office Writer : importing;documents in other formats +Oracle Open Office Writer : importing;from XML +Oracle Open Office Writer : importing;HTML and text documents +Oracle Open Office Writer : importing;HTML with META tags +Oracle Open Office Writer : importing;Microsoft Office documents with VBA code +Oracle Open Office Writer : importing;styles from other files +Oracle Open Office Writer : importing;tables in text format +Oracle Open Office Writer : importing;templates +Oracle Open Office Writer : improvement program +Oracle Open Office Writer : inches +Oracle Open Office Writer : indents +Oracle Open Office Writer : indents;in text +Oracle Open Office Writer : indents;setting on rulers +Oracle Open Office Writer : Index tab in Help +Oracle Open Office Writer : indexes +Oracle Open Office Writer : indexes;alphabetical indexes +Oracle Open Office Writer : indexes;backgrounds +Oracle Open Office Writer : indexes;creating bibliographies +Oracle Open Office Writer : indexes;creating user-defined indexes +Oracle Open Office Writer : indexes;defining entries in +Oracle Open Office Writer : indexes;editing or deleting entries +Oracle Open Office Writer : indexes;editing/updating/deleting +Oracle Open Office Writer : indexes;formatting +Oracle Open Office Writer : indexes;master documents +Oracle Open Office Writer : indexes;multiple documents +Oracle Open Office Writer : indexes;showing/hiding Help index tab +Oracle Open Office Writer : indexes;unprotecting +Oracle Open Office Writer : indicator lines in text +Oracle Open Office Writer : initial capitals in titles +Oracle Open Office Writer : inner joins (Base) +Oracle Open Office Writer : input fields in text +Oracle Open Office Writer : input method window +Oracle Open Office Writer : insert mode for entering text +Oracle Open Office Writer : inserting +Oracle Open Office Writer : inserting;buttons in toolbars +Oracle Open Office Writer : inserting;captions +Oracle Open Office Writer : inserting;cell ranges from spreadsheets +Oracle Open Office Writer : inserting;chapter numbers in captions +Oracle Open Office Writer : inserting;charts +Oracle Open Office Writer : inserting;clipboard options +Oracle Open Office Writer : inserting;comments +Oracle Open Office Writer : inserting;cross-references +Oracle Open Office Writer : inserting;data from text documents +Oracle Open Office Writer : inserting;datasource records in spreadsheets +Oracle Open Office Writer : inserting;date fields +Oracle Open Office Writer : inserting;drawings +Oracle Open Office Writer : inserting;envelopes +Oracle Open Office Writer : inserting;floating frames +Oracle Open Office Writer : inserting;Fontwork objects +Oracle Open Office Writer : inserting;footnotes/endnotes +Oracle Open Office Writer : inserting;form fields +Oracle Open Office Writer : inserting;from Gallery into text +Oracle Open Office Writer : inserting;horizontal lines +Oracle Open Office Writer : inserting;hyperlinks +Oracle Open Office Writer : inserting;hyperlinks from Navigator +Oracle Open Office Writer : inserting;input fields +Oracle Open Office Writer : inserting;line breaks in cells +Oracle Open Office Writer : inserting;lines under headers/above footers +Oracle Open Office Writer : inserting;movies/sounds +Oracle Open Office Writer : inserting;new text tables defaults +Oracle Open Office Writer : inserting;numbering +Oracle Open Office Writer : inserting;objects from Gallery +Oracle Open Office Writer : inserting;OLE objects +Oracle Open Office Writer : inserting;page breaks +Oracle Open Office Writer : inserting;page numbers +Oracle Open Office Writer : inserting;paragraph borders +Oracle Open Office Writer : inserting;paragraph bullets +Oracle Open Office Writer : inserting;paragraphs before/after tables +Oracle Open Office Writer : inserting;pictures +Oracle Open Office Writer : inserting;pictures in Gallery +Oracle Open Office Writer : inserting;pictures, by dialog +Oracle Open Office Writer : inserting;plug-ins +Oracle Open Office Writer : inserting;push buttons +Oracle Open Office Writer : inserting;rows/columns, by keyboard +Oracle Open Office Writer : inserting;scanned images +Oracle Open Office Writer : inserting;sections +Oracle Open Office Writer : inserting;special characters +Oracle Open Office Writer : inserting;tab stops +Oracle Open Office Writer : inserting;tables in text +Oracle Open Office Writer : inserting;text blocks +Oracle Open Office Writer : inserting;text documents +Oracle Open Office Writer : inserting;text frames +Oracle Open Office Writer : inserting;textures on chart bars +Oracle Open Office Writer : installing +Oracle Open Office Writer : installing;ActiveX control +Oracle Open Office Writer : installing;mobile device filters +Oracle Open Office Writer : installing;smart tags +Oracle Open Office Writer : installing;UNO components +Oracle Open Office Writer : installing;XML filters +Oracle Open Office Writer : instructions +Oracle Open Office Writer : instructions;general +Oracle Open Office Writer : instructions;Oracle Open Office Writer +Oracle Open Office Writer : Internet +Oracle Open Office Writer : Internet;checking for updates +Oracle Open Office Writer : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Writer : Internet;presentations +Oracle Open Office Writer : Internet;starting searches +Oracle Open Office Writer : Internet glossary +Oracle Open Office Writer : interrupting numbered lists +Oracle Open Office Writer : invert filter +Oracle Open Office Writer : invisible areas +Oracle Open Office Writer : invisible characters +Oracle Open Office Writer : invisible characters;finding +Oracle Open Office Writer : italic text +Oracle Open Office Writer : iterative references in spreadsheets +Oracle Open Office Writer : Java +Oracle Open Office Writer : Java;definition +Oracle Open Office Writer : Java;setting options +Oracle Open Office Writer : JDBC +Oracle Open Office Writer : JDBC;databases (Base) +Oracle Open Office Writer : JDBC;definition +Oracle Open Office Writer : joining +Oracle Open Office Writer : joining;numbered lists +Oracle Open Office Writer : joining;paragraphs +Oracle Open Office Writer : joining;tables (Base) +Oracle Open Office Writer : joins in databases (Base) +Oracle Open Office Writer : jumping +Oracle Open Office Writer : jumping;to bookmarks +Oracle Open Office Writer : jumping;to text elements +Oracle Open Office Writer : justifying text +Oracle Open Office Writer : juxtaposing tables +Oracle Open Office Writer : kerning +Oracle Open Office Writer : kerning;Asian texts +Oracle Open Office Writer : kerning;definition +Oracle Open Office Writer : kerning;in characters +Oracle Open Office Writer : key fields for relations (Base) +Oracle Open Office Writer : keyboard +Oracle Open Office Writer : keyboard;accessibility Oracle Open Office Writer +Oracle Open Office Writer : keyboard;adding or deleting rows/columns +Oracle Open Office Writer : keyboard;assigning/editing shortcut keys +Oracle Open Office Writer : keyboard;bold formatting +Oracle Open Office Writer : keyboard;general commands +Oracle Open Office Writer : keyboard;modifying the behavior of rows/columns +Oracle Open Office Writer : keyboard;navigating and selecting in text +Oracle Open Office Writer : keyboard;removing numbering +Oracle Open Office Writer : keyboard;resizing rows/columns +Oracle Open Office Writer : keys +Oracle Open Office Writer : keys;adding push buttons +Oracle Open Office Writer : keys;primary keys (Base) +Oracle Open Office Writer : kiosk export +Oracle Open Office Writer : labels +Oracle Open Office Writer : labels;creating and synchronizing +Oracle Open Office Writer : labels;for charts +Oracle Open Office Writer : labels;for draw objects +Oracle Open Office Writer : labels;form functions +Oracle Open Office Writer : labels;from databases +Oracle Open Office Writer : labels, see also names/callouts +Oracle Open Office Writer : landscape and portrait +Oracle Open Office Writer : languages +Oracle Open Office Writer : languages;activating modules +Oracle Open Office Writer : languages;Asian support +Oracle Open Office Writer : languages;complex text layout +Oracle Open Office Writer : languages;locale settings +Oracle Open Office Writer : languages;recognition of +Oracle Open Office Writer : languages;selecting for text +Oracle Open Office Writer : languages;setting options +Oracle Open Office Writer : languages;spellcheck +Oracle Open Office Writer : languages;spellchecking and formatting +Oracle Open Office Writer : large handles (Writer) +Oracle Open Office Writer : large icons +Oracle Open Office Writer : layer arrangement +Oracle Open Office Writer : layout +Oracle Open Office Writer : layout;importing Word documents +Oracle Open Office Writer : layout;pages +Oracle Open Office Writer : LDAP server +Oracle Open Office Writer : LDAP server;address books (Base) +Oracle Open Office Writer : LDAP server;sign on options +Oracle Open Office Writer : leading between paragraphs +Oracle Open Office Writer : left alignment of paragraphs +Oracle Open Office Writer : left joins (Base) +Oracle Open Office Writer : Left Page page style +Oracle Open Office Writer : legends +Oracle Open Office Writer : legends;charts +Oracle Open Office Writer : legends;draw objects +Oracle Open Office Writer : legends;rounding corners +Oracle Open Office Writer : legends, see also captions +Oracle Open Office Writer : Letter Wizard +Oracle Open Office Writer : letters +Oracle Open Office Writer : letters;creating form letters +Oracle Open Office Writer : letters;inserting envelopes +Oracle Open Office Writer : levels +Oracle Open Office Writer : levels;changing outline levels +Oracle Open Office Writer : levels;depth stagger +Oracle Open Office Writer : levels;macro security +Oracle Open Office Writer : lexicon, see thesaurus +Oracle Open Office Writer : limits of tables (Writer) +Oracle Open Office Writer : line breaks +Oracle Open Office Writer : line breaks;in cells +Oracle Open Office Writer : line breaks;removing +Oracle Open Office Writer : line charts +Oracle Open Office Writer : line numbers +Oracle Open Office Writer : line spacing +Oracle Open Office Writer : line spacing;context menu in paragraphs +Oracle Open Office Writer : line spacing;paragraph +Oracle Open Office Writer : line styles +Oracle Open Office Writer : line styles;applying +Oracle Open Office Writer : line styles;defining +Oracle Open Office Writer : lines +Oracle Open Office Writer : lines;automatic drawing on/off +Oracle Open Office Writer : lines;defining ends +Oracle Open Office Writer : lines;draw functions +Oracle Open Office Writer : lines;drawing in text +Oracle Open Office Writer : lines;editing points +Oracle Open Office Writer : lines;footnotes/endnotes +Oracle Open Office Writer : lines;inserting horizontal lines +Oracle Open Office Writer : lines;removing automatic lines +Oracle Open Office Writer : lines;under headers/above footers +Oracle Open Office Writer : lines of text +Oracle Open Office Writer : lines of text;alignment +Oracle Open Office Writer : lines of text;indents +Oracle Open Office Writer : lines of text;numbering +Oracle Open Office Writer : lines of text;register-true +Oracle Open Office Writer : lines of text;sorting paragraphs +Oracle Open Office Writer : links +Oracle Open Office Writer : links;between cells and controls +Oracle Open Office Writer : links;by drag and drop +Oracle Open Office Writer : links;character formats +Oracle Open Office Writer : links;definition +Oracle Open Office Writer : links;editing hyperlinks +Oracle Open Office Writer : links;inserting +Oracle Open Office Writer : links;inserting sections +Oracle Open Office Writer : links;inserting text documents as +Oracle Open Office Writer : links;modifying +Oracle Open Office Writer : links;opening files with +Oracle Open Office Writer : links;relational databases (Base) +Oracle Open Office Writer : links;text frames +Oracle Open Office Writer : links;turning off automatic recognition +Oracle Open Office Writer : links;updating options (Writer) +Oracle Open Office Writer : links;updating specific links +Oracle Open Office Writer : list box creation +Oracle Open Office Writer : lists +Oracle Open Office Writer : lists;automatic numbering +Oracle Open Office Writer : lists;AutoText shortcuts +Oracle Open Office Writer : lists;changing levels +Oracle Open Office Writer : lists;combining numbered lists +Oracle Open Office Writer : lists;data assigned to controls +Oracle Open Office Writer : lists;registered databases (Base) +Oracle Open Office Writer : lists;regular expressions +Oracle Open Office Writer : lists;removing/interrupting numbering +Oracle Open Office Writer : live presentations on the Internet +Oracle Open Office Writer : loading +Oracle Open Office Writer : loading;documents +Oracle Open Office Writer : loading;documents from other formats +Oracle Open Office Writer : loading;HTML documents, automatically +Oracle Open Office Writer : loading;Microsoft Office documents with VBA code +Oracle Open Office Writer : loading;reloading +Oracle Open Office Writer : loading;styles from other files +Oracle Open Office Writer : loading;XML files +Oracle Open Office Writer : locale settings +Oracle Open Office Writer : logarithmic scaling along axes +Oracle Open Office Writer : logical expressions +Oracle Open Office Writer : lowercase letters +Oracle Open Office Writer : lowercase letters;font effects +Oracle Open Office Writer : lowercase letters;text +Oracle Open Office Writer : lowering outline levels +Oracle Open Office Writer : Macro Wizard (Base) +Oracle Open Office Writer : macros +Oracle Open Office Writer : macros;assigning to events in forms +Oracle Open Office Writer : macros;attaching new (Base) +Oracle Open Office Writer : macros;in MS Office documents +Oracle Open Office Writer : macros;interrupting +Oracle Open Office Writer : macros;organizing +Oracle Open Office Writer : macros;recording +Oracle Open Office Writer : macros;security +Oracle Open Office Writer : macros;security levels +Oracle Open Office Writer : macros;security warning dialog +Oracle Open Office Writer : macros;selecting security warnings +Oracle Open Office Writer : magnifiers +Oracle Open Office Writer : mail merge +Oracle Open Office Writer : manual hyphenation in text +Oracle Open Office Writer : manual numbering in text +Oracle Open Office Writer : manual page breaks +Oracle Open Office Writer : marginal numbers on text pages +Oracle Open Office Writer : margins +Oracle Open Office Writer : margins;pages +Oracle Open Office Writer : margins;setting with the mouse +Oracle Open Office Writer : margins;shadows +Oracle Open Office Writer : marking changes +Oracle Open Office Writer : marking, see selecting +Oracle Open Office Writer : master documents +Oracle Open Office Writer : master documents;creating/editing/exporting +Oracle Open Office Writer : master documents;indexes +Oracle Open Office Writer : master documents;properties +Oracle Open Office Writer : matching conditional text in fields +Oracle Open Office Writer : Math formula editor +Oracle Open Office Writer : mean value lines in charts +Oracle Open Office Writer : measurement units +Oracle Open Office Writer : measurement units;changing on rulers +Oracle Open Office Writer : measurement units;converting +Oracle Open Office Writer : measurement units;selecting +Oracle Open Office Writer : Media Player window +Oracle Open Office Writer : menus +Oracle Open Office Writer : menus;activating context menus +Oracle Open Office Writer : menus;assigning macros +Oracle Open Office Writer : menus;customizing +Oracle Open Office Writer : merging +Oracle Open Office Writer : merging;cells +Oracle Open Office Writer : merging;cells, by keyboard +Oracle Open Office Writer : merging;documents +Oracle Open Office Writer : merging;indexes +Oracle Open Office Writer : merging;numbered lists +Oracle Open Office Writer : merging;tables +Oracle Open Office Writer : META tags +Oracle Open Office Writer : metrics +Oracle Open Office Writer : metrics;converting +Oracle Open Office Writer : metrics;document formatting (Writer) +Oracle Open Office Writer : metrics;in sheets +Oracle Open Office Writer : Microsoft Office +Oracle Open Office Writer : Microsoft Office;Access databases (base) +Oracle Open Office Writer : Microsoft Office;as default file format +Oracle Open Office Writer : Microsoft Office;document import restrictions +Oracle Open Office Writer : Microsoft Office;feature comparisons +Oracle Open Office Writer : Microsoft Office;importing password protected files +Oracle Open Office Writer : Microsoft Office;importing Word documents +Oracle Open Office Writer : Microsoft Office;importing/exporting VBA code +Oracle Open Office Writer : Microsoft Office;new users information +Oracle Open Office Writer : Microsoft Office;opening Microsoft documents +Oracle Open Office Writer : Microsoft Office;reassigning document types +Oracle Open Office Writer : migrating macros (Base) +Oracle Open Office Writer : mirrored page layout +Oracle Open Office Writer : mobile device filters +Oracle Open Office Writer : models in XForms +Oracle Open Office Writer : modifying, see changing +Oracle Open Office Writer : months +Oracle Open Office Writer : months;automatically completing +Oracle Open Office Writer : more controls +Oracle Open Office Writer : mosaic filter +Oracle Open Office Writer : mouse +Oracle Open Office Writer : mouse;moving and copying text +Oracle Open Office Writer : mouse;pointers when using drag and drop +Oracle Open Office Writer : mouse;positioning +Oracle Open Office Writer : movies +Oracle Open Office Writer : moving +Oracle Open Office Writer : moving;headings +Oracle Open Office Writer : moving;objects and frames +Oracle Open Office Writer : moving;tab stops on ruler +Oracle Open Office Writer : moving;text sections +Oracle Open Office Writer : moving;toolbars +Oracle Open Office Writer : moving;using guide lines in presentations +Oracle Open Office Writer : MS ADO interface (Base) +Oracle Open Office Writer : multi-column text +Oracle Open Office Writer : multi-line titles in forms +Oracle Open Office Writer : multi-page tables +Oracle Open Office Writer : multi-page view of documents +Oracle Open Office Writer : multiple documents +Oracle Open Office Writer : multiple documents;indexes +Oracle Open Office Writer : multiple documents;opening +Oracle Open Office Writer : multiple selection +Oracle Open Office Writer : music +Oracle Open Office Writer : My Documents folder +Oracle Open Office Writer : My Documents folder;changing work directory +Oracle Open Office Writer : My Documents folder;opening +Oracle Open Office Writer : MySQL databases (Base) +Oracle Open Office Writer : names +Oracle Open Office Writer : names;chapter names in headers +Oracle Open Office Writer : names;multi-line titles +Oracle Open Office Writer : names;objects +Oracle Open Office Writer : names, see also labels/callouts +Oracle Open Office Writer : namespace organization in XForms +Oracle Open Office Writer : native SQL (Base) +Oracle Open Office Writer : navigating +Oracle Open Office Writer : navigating;in documents +Oracle Open Office Writer : navigating;in text, with keyboard +Oracle Open Office Writer : Navigation bar +Oracle Open Office Writer : Navigation bar;controls +Oracle Open Office Writer : Navigation bar;forms +Oracle Open Office Writer : Navigator +Oracle Open Office Writer : Navigator;comments +Oracle Open Office Writer : Navigator;contents as lists +Oracle Open Office Writer : Navigator;docking +Oracle Open Office Writer : Navigator;docking and resizing +Oracle Open Office Writer : Navigator;heading levels and chapters +Oracle Open Office Writer : Navigator;inserting hyperlinks +Oracle Open Office Writer : Navigator;master documents +Oracle Open Office Writer : Navigator;overview in texts +Oracle Open Office Writer : Navigator;working with +Oracle Open Office Writer : net charts +Oracle Open Office Writer : network identity options +Oracle Open Office Writer : networks and AutoText directories +Oracle Open Office Writer : new databases +Oracle Open Office Writer : new documents +Oracle Open Office Writer : new lines in cells +Oracle Open Office Writer : new page styles from selection +Oracle Open Office Writer : new windows +Oracle Open Office Writer : next page number in footers +Oracle Open Office Writer : non-breaking dashes +Oracle Open Office Writer : non-breaking spaces (Writer) +Oracle Open Office Writer : non-printing characters (Writer) +Oracle Open Office Writer : non-printing text +Oracle Open Office Writer : number formats +Oracle Open Office Writer : number formats;codes +Oracle Open Office Writer : number formats;formats +Oracle Open Office Writer : number formats;recognition in text tables +Oracle Open Office Writer : number of characters +Oracle Open Office Writer : number of pages +Oracle Open Office Writer : number of sheets +Oracle Open Office Writer : number of tables +Oracle Open Office Writer : number of words +Oracle Open Office Writer : numbering +Oracle Open Office Writer : numbering;captions +Oracle Open Office Writer : numbering;changing the level of +Oracle Open Office Writer : numbering;combining +Oracle Open Office Writer : numbering;headings +Oracle Open Office Writer : numbering;lines +Oracle Open Office Writer : numbering;lists, while typing +Oracle Open Office Writer : numbering;manually/by styles +Oracle Open Office Writer : numbering;options +Oracle Open Office Writer : numbering;pages +Oracle Open Office Writer : numbering;paragraphs, on and off +Oracle Open Office Writer : numbering;quotations/similar items +Oracle Open Office Writer : numbering;removing/interrupting +Oracle Open Office Writer : numbering;style categories +Oracle Open Office Writer : numbering;turning off +Oracle Open Office Writer : numbering;using automatically +Oracle Open Office Writer : numbers +Oracle Open Office Writer : numbers;automatic recognition in text tables +Oracle Open Office Writer : numbers;date, time and currency formats +Oracle Open Office Writer : numbers;decimal places (Calc) +Oracle Open Office Writer : numbers;line numbering +Oracle Open Office Writer : numbers;lists +Oracle Open Office Writer : numerical fields in forms +Oracle Open Office Writer : objects +Oracle Open Office Writer : objects;always moveable (Impress/Draw) +Oracle Open Office Writer : objects;anchoring options +Oracle Open Office Writer : objects;arranging within stacks +Oracle Open Office Writer : objects;captioning +Oracle Open Office Writer : objects;captioning automatically +Oracle Open Office Writer : objects;contour wrap +Oracle Open Office Writer : objects;copying when moving in presentations +Oracle Open Office Writer : objects;cross-referencing +Oracle Open Office Writer : objects;defining borders +Oracle Open Office Writer : objects;defining hyperlinks +Oracle Open Office Writer : objects;definition +Oracle Open Office Writer : objects;displaying in spreadsheets +Oracle Open Office Writer : objects;displaying in text documents +Oracle Open Office Writer : objects;editing +Oracle Open Office Writer : objects;finding by Navigator +Oracle Open Office Writer : objects;inserting from Gallery +Oracle Open Office Writer : objects;inserting OLE objects +Oracle Open Office Writer : objects;moving and resizing with keyboard +Oracle Open Office Writer : objects;moving and resizing with mouse +Oracle Open Office Writer : objects;naming +Oracle Open Office Writer : objects;opening +Oracle Open Office Writer : objects;properties of charts +Oracle Open Office Writer : objects;quickly moving to +Oracle Open Office Writer : objects;quickly moving to, within text +Oracle Open Office Writer : objects;titles and descriptions +Oracle Open Office Writer : ODBC +Oracle Open Office Writer : ODBC;database (Base) +Oracle Open Office Writer : ODBC;definition +Oracle Open Office Writer : ODF file formats +Oracle Open Office Writer : Office +Oracle Open Office Writer : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Writer : OLE +Oracle Open Office Writer : OLE;definition +Oracle Open Office Writer : OLE objects +Oracle Open Office Writer : OLE objects;arranging within stacks +Oracle Open Office Writer : OLE objects;borders +Oracle Open Office Writer : OLE objects;captions (Writer) +Oracle Open Office Writer : OLE objects;cross-referencing +Oracle Open Office Writer : OLE objects;inserting +Oracle Open Office Writer : OLE objects;inserting tables in +Oracle Open Office Writer : OLE objects;number of +Oracle Open Office Writer : OLE objects;protecting +Oracle Open Office Writer : one and a half line spacing in text +Oracle Open Office Writer : online feedback options +Oracle Open Office Writer : online registration +Oracle Open Office Writer : online update options +Oracle Open Office Writer : online updates +Oracle Open Office Writer : online updates;checking automatically +Oracle Open Office Writer : online updates;checking manually +Oracle Open Office Writer : Open/Save dialogs +Oracle Open Office Writer : OpenDocument file formats +Oracle Open Office Writer : OpenGL +Oracle Open Office Writer : OpenGL;definition +Oracle Open Office Writer : opening +Oracle Open Office Writer : opening;context menus +Oracle Open Office Writer : opening;database files +Oracle Open Office Writer : opening;dialog settings +Oracle Open Office Writer : opening;documents +Oracle Open Office Writer : opening;documents from other formats +Oracle Open Office Writer : opening;documents on WebDAV server +Oracle Open Office Writer : opening;files with links +Oracle Open Office Writer : opening;files, with placeholders +Oracle Open Office Writer : opening;forms +Oracle Open Office Writer : opening;Microsoft Office files +Oracle Open Office Writer : opening;mobile device documents +Oracle Open Office Writer : opening;objects +Oracle Open Office Writer : opening;reports +Oracle Open Office Writer : opening;several files +Oracle Open Office Writer : opening;XForms +Oracle Open Office Writer : operators +Oracle Open Office Writer : operators;default filters +Oracle Open Office Writer : operators;in formulas +Oracle Open Office Writer : optional hyphens (Writer) +Oracle Open Office Writer : options +Oracle Open Office Writer : options;accessibility +Oracle Open Office Writer : options;appearance +Oracle Open Office Writer : options;compatibility (Writer) +Oracle Open Office Writer : options;improvement program +Oracle Open Office Writer : options;network identity +Oracle Open Office Writer : options;online update +Oracle Open Office Writer : options;smart tags +Oracle Open Office Writer : options;tools +Oracle Open Office Writer : Oracle databases (base) +Oracle Open Office Writer : Oracle Open Office Base data sources +Oracle Open Office Writer : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Writer : Oracle Open Office documents +Oracle Open Office Writer : Oracle Open Office documents;mobile device filters +Oracle Open Office Writer : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Writer : Oracle Open Office Math start +Oracle Open Office Writer : Oracle Open Office Writer +Oracle Open Office Writer : Oracle Open Office Writer;instructions +Oracle Open Office Writer : Oracle Open Office Writer;special HTML tags +Oracle Open Office Writer : order of chart data +Oracle Open Office Writer : ordering +Oracle Open Office Writer : ordering;objects +Oracle Open Office Writer : ordering;printing in reverse order +Oracle Open Office Writer : organizing +Oracle Open Office Writer : organizing;footnotes +Oracle Open Office Writer : organizing;macros and scripts +Oracle Open Office Writer : organizing;namespaces in XForms +Oracle Open Office Writer : organizing;styles +Oracle Open Office Writer : organizing;templates +Oracle Open Office Writer : organizing;templates (guide) +Oracle Open Office Writer : orientation of pages +Oracle Open Office Writer : original size +Oracle Open Office Writer : original size;printing in Oracle Open Office Math +Oracle Open Office Writer : original size;restoring after cropping +Oracle Open Office Writer : orphans +Oracle Open Office Writer : outlines +Oracle Open Office Writer : outlines;arranging chapters +Oracle Open Office Writer : outlines;font effects +Oracle Open Office Writer : outlines;numbering +Oracle Open Office Writer : outlines;outline symbols +Oracle Open Office Writer : outlines;sending to presentations +Oracle Open Office Writer : overviews +Oracle Open Office Writer : overviews;Navigator in text documents +Oracle Open Office Writer : overviews;printing multi-page view +Oracle Open Office Writer : overwrite mode +Oracle Open Office Writer : packages, see extensions +Oracle Open Office Writer : page breaks +Oracle Open Office Writer : page breaks;displaying (Calc) +Oracle Open Office Writer : page breaks;inserting and deleting +Oracle Open Office Writer : page breaks;tables +Oracle Open Office Writer : page counts +Oracle Open Office Writer : page formats +Oracle Open Office Writer : page formats;changing individual pages +Oracle Open Office Writer : page formats;maximizing +Oracle Open Office Writer : page formats;restriction +Oracle Open Office Writer : page margins on rulers +Oracle Open Office Writer : page numbers +Oracle Open Office Writer : page numbers;continuation pages +Oracle Open Office Writer : page numbers;footers +Oracle Open Office Writer : page numbers;inserting/defining/formatting +Oracle Open Office Writer : page styles +Oracle Open Office Writer : page styles;backgrounds +Oracle Open Office Writer : page styles;changing +Oracle Open Office Writer : page styles;changing from selection +Oracle Open Office Writer : page styles;creating and applying +Oracle Open Office Writer : page styles;editing/applying with statusbar +Oracle Open Office Writer : page styles;left and right pages +Oracle Open Office Writer : page styles;orientation/scope +Oracle Open Office Writer : page styles;page numbering +Oracle Open Office Writer : page styles;style categories +Oracle Open Office Writer : pages +Oracle Open Office Writer : pages;backgrounds +Oracle Open Office Writer : pages;backgrounds in all applications +Oracle Open Office Writer : pages;continuation pages +Oracle Open Office Writer : pages;defining borders +Oracle Open Office Writer : pages;formatting and numbering +Oracle Open Office Writer : pages;inserting/deleting page breaks +Oracle Open Office Writer : pages;jumping to +Oracle Open Office Writer : pages;left and right pages +Oracle Open Office Writer : pages;number of +Oracle Open Office Writer : pages;numbers and count of +Oracle Open Office Writer : pages;orientation +Oracle Open Office Writer : pages;previews +Oracle Open Office Writer : pages;printing multiple on one sheet +Oracle Open Office Writer : pages;printing page names in presentations +Oracle Open Office Writer : pages;register-true +Oracle Open Office Writer : pages;scaling +Oracle Open Office Writer : pages;selecting one to print +Oracle Open Office Writer : paint box +Oracle Open Office Writer : paint can symbol +Oracle Open Office Writer : pair kerning +Oracle Open Office Writer : Palm file filters +Oracle Open Office Writer : paper formats +Oracle Open Office Writer : paper orientation +Oracle Open Office Writer : paper size warning +Oracle Open Office Writer : paper tray selection +Oracle Open Office Writer : paper trays +Oracle Open Office Writer : paragraph marks +Oracle Open Office Writer : paragraph marks;displaying (Writer) +Oracle Open Office Writer : paragraph marks;finding & replacing +Oracle Open Office Writer : paragraph styles +Oracle Open Office Writer : paragraph styles;languages +Oracle Open Office Writer : paragraph styles;modifying basic fonts +Oracle Open Office Writer : paragraph styles;numbering +Oracle Open Office Writer : paragraph styles;style categories +Oracle Open Office Writer : paragraphs +Oracle Open Office Writer : paragraphs;alignment +Oracle Open Office Writer : paragraphs;Asian typography +Oracle Open Office Writer : paragraphs;automatic numbering +Oracle Open Office Writer : paragraphs;backgrounds +Oracle Open Office Writer : paragraphs;bulleted +Oracle Open Office Writer : paragraphs;defining borders +Oracle Open Office Writer : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Writer : paragraphs;hiding +Oracle Open Office Writer : paragraphs;increasing indents of +Oracle Open Office Writer : paragraphs;indents +Oracle Open Office Writer : paragraphs;indents, margins and columns +Oracle Open Office Writer : paragraphs;inserting before/after tables +Oracle Open Office Writer : paragraphs;inserting bullets +Oracle Open Office Writer : paragraphs;joining +Oracle Open Office Writer : paragraphs;keeping together at breaks +Oracle Open Office Writer : paragraphs;line numbers +Oracle Open Office Writer : paragraphs;moving by keyboard +Oracle Open Office Writer : paragraphs;numbering automatically +Oracle Open Office Writer : paragraphs;numbering non-consecutive +Oracle Open Office Writer : paragraphs;numbering on/off +Oracle Open Office Writer : paragraphs;register-true +Oracle Open Office Writer : paragraphs;removing blank ones +Oracle Open Office Writer : paragraphs;spacing +Oracle Open Office Writer : paragraphs;tab stops +Oracle Open Office Writer : parameters +Oracle Open Office Writer : parameters;command line +Oracle Open Office Writer : parameters;queries (Base) +Oracle Open Office Writer : passwords for protecting contents +Oracle Open Office Writer : pasting +Oracle Open Office Writer : pasting;cell ranges +Oracle Open Office Writer : pasting;cell ranges from spreadsheets +Oracle Open Office Writer : pasting;cut/copied text sections +Oracle Open Office Writer : pasting;data from text documents +Oracle Open Office Writer : pasting;draw objects +Oracle Open Office Writer : pasting;draw objects from other documents +Oracle Open Office Writer : pasting;formatted/unformatted text +Oracle Open Office Writer : pasting;from data source view +Oracle Open Office Writer : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Writer : pasting;pictures from other documents +Oracle Open Office Writer : pasting;results of formulas +Oracle Open Office Writer : pasting;sheet areas in text documents +Oracle Open Office Writer : pasting;to Gallery +Oracle Open Office Writer : paths +Oracle Open Office Writer : paths;changing work directory +Oracle Open Office Writer : paths;defaults +Oracle Open Office Writer : pattern editor +Oracle Open Office Writer : pattern fields +Oracle Open Office Writer : pattern fields;form functions +Oracle Open Office Writer : patterns for objects +Oracle Open Office Writer : PDF +Oracle Open Office Writer : PDF;export +Oracle Open Office Writer : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Writer : personal data input +Oracle Open Office Writer : phonetic guide +Oracle Open Office Writer : picklist creation +Oracle Open Office Writer : pictures +Oracle Open Office Writer : pictures;adding to Gallery +Oracle Open Office Writer : pictures;anchoring options +Oracle Open Office Writer : pictures;arranging within stacks +Oracle Open Office Writer : pictures;assigning macros +Oracle Open Office Writer : pictures;backgrounds +Oracle Open Office Writer : pictures;borders +Oracle Open Office Writer : pictures;captions (Writer) +Oracle Open Office Writer : pictures;changing paths +Oracle Open Office Writer : pictures;cropping and zooming +Oracle Open Office Writer : pictures;cross-referencing +Oracle Open Office Writer : pictures;defining hyperlinks +Oracle Open Office Writer : pictures;displaying in Calc +Oracle Open Office Writer : pictures;displaying in Writer (Writer) +Oracle Open Office Writer : pictures;do not show +Oracle Open Office Writer : pictures;drag and drop between documents +Oracle Open Office Writer : pictures;drawing +Oracle Open Office Writer : pictures;editing +Oracle Open Office Writer : pictures;filters +Oracle Open Office Writer : pictures;ImageMap +Oracle Open Office Writer : pictures;inserting automatically +Oracle Open Office Writer : pictures;inserting by dialog +Oracle Open Office Writer : pictures;inserting from Draw +Oracle Open Office Writer : pictures;inserting from Gallery +Oracle Open Office Writer : pictures;inserting from Gallery into text +Oracle Open Office Writer : pictures;inserting options +Oracle Open Office Writer : pictures;number of +Oracle Open Office Writer : pictures;printing +Oracle Open Office Writer : pictures;scaling/resizing +Oracle Open Office Writer : pictures;scanning +Oracle Open Office Writer : pie charts +Oracle Open Office Writer : pie charts;options +Oracle Open Office Writer : pie charts;types +Oracle Open Office Writer : pixel editor +Oracle Open Office Writer : pixel graphics +Oracle Open Office Writer : pixel graphics;inserting and editing +Oracle Open Office Writer : pixel patterns +Oracle Open Office Writer : placeholders +Oracle Open Office Writer : placeholders;in SQL queries +Oracle Open Office Writer : placeholders;on opening files +Oracle Open Office Writer : placing toolbars +Oracle Open Office Writer : playing movies and sound files +Oracle Open Office Writer : plotting data as charts +Oracle Open Office Writer : plug-ins +Oracle Open Office Writer : plug-ins;activating and deactivating +Oracle Open Office Writer : plug-ins;definition +Oracle Open Office Writer : plug-ins;inserting +Oracle Open Office Writer : pocket device appliances +Oracle Open Office Writer : Pocket PC file filters +Oracle Open Office Writer : points +Oracle Open Office Writer : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Writer : polygon drawing +Oracle Open Office Writer : pop-art filter +Oracle Open Office Writer : portable document format +Oracle Open Office Writer : portrait and landscape +Oracle Open Office Writer : positioning +Oracle Open Office Writer : positioning;axes +Oracle Open Office Writer : positioning;draw objects and controls +Oracle Open Office Writer : positioning;fonts +Oracle Open Office Writer : positioning;objects +Oracle Open Office Writer : positioning;objects (guide) +Oracle Open Office Writer : positioning;toolbars +Oracle Open Office Writer : post method for form transmissions +Oracle Open Office Writer : posterizing filter +Oracle Open Office Writer : PostScript +Oracle Open Office Writer : PostScript;creating files +Oracle Open Office Writer : PostScript;PDF converter, UNIX +Oracle Open Office Writer : PowerPoint export +Oracle Open Office Writer : precision as shown (Calc) +Oracle Open Office Writer : predefining fonts +Oracle Open Office Writer : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Writer : presentations +Oracle Open Office Writer : presentations;creating/opening +Oracle Open Office Writer : presentations;inserting spreadsheet cells +Oracle Open Office Writer : presentations;live on the Internet +Oracle Open Office Writer : presentations;print menu +Oracle Open Office Writer : presentations;saving +Oracle Open Office Writer : presentations;saving automatically +Oracle Open Office Writer : presentations;saving in other formats +Oracle Open Office Writer : presentations;sending as e-mail +Oracle Open Office Writer : presentations;starting with wizard +Oracle Open Office Writer : presentations;wizards +Oracle Open Office Writer : Presenter Console shortcuts +Oracle Open Office Writer : press buttons, see push buttons +Oracle Open Office Writer : previews +Oracle Open Office Writer : previews;book preview +Oracle Open Office Writer : previews;fonts lists +Oracle Open Office Writer : previews;print layouts +Oracle Open Office Writer : primary keys +Oracle Open Office Writer : primary keys;defining +Oracle Open Office Writer : primary keys;design view +Oracle Open Office Writer : primary keys;inserting (Base) +Oracle Open Office Writer : print area selection +Oracle Open Office Writer : print layout checks +Oracle Open Office Writer : printer metrics for document formatting (Writer) +Oracle Open Office Writer : printers +Oracle Open Office Writer : printers;adding, UNIX +Oracle Open Office Writer : printers;choosing +Oracle Open Office Writer : printers;default printer +Oracle Open Office Writer : printers;faxes under UNIX +Oracle Open Office Writer : printers;maximum page formats +Oracle Open Office Writer : printers;paper trays +Oracle Open Office Writer : printers;properties +Oracle Open Office Writer : printing +Oracle Open Office Writer : printing;AutoText shortcuts +Oracle Open Office Writer : printing;black and white +Oracle Open Office Writer : printing;brochures +Oracle Open Office Writer : printing;colors in grayscale +Oracle Open Office Writer : printing;comments +Oracle Open Office Writer : printing;copies +Oracle Open Office Writer : printing;creating individual jobs +Oracle Open Office Writer : printing;dates in presentations +Oracle Open Office Writer : printing;directly +Oracle Open Office Writer : printing;documents +Oracle Open Office Writer : printing;drawings defaults +Oracle Open Office Writer : printing;elements in text documents +Oracle Open Office Writer : printing;faster +Oracle Open Office Writer : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Writer : printing;fitting to pages in presentations +Oracle Open Office Writer : printing;formulas in Oracle Open Office Math +Oracle Open Office Writer : printing;hidden pages of presentations +Oracle Open Office Writer : printing;hiding text frames from printing +Oracle Open Office Writer : printing;in original size in Oracle Open Office Math +Oracle Open Office Writer : printing;individual brochures +Oracle Open Office Writer : printing;left/right pages +Oracle Open Office Writer : printing;multiple pages per sheet +Oracle Open Office Writer : printing;portrait/landscape format +Oracle Open Office Writer : printing;previews +Oracle Open Office Writer : printing;queries (Base) +Oracle Open Office Writer : printing;reverse order +Oracle Open Office Writer : printing;scaling in Oracle Open Office Math +Oracle Open Office Writer : printing;selections +Oracle Open Office Writer : printing;text always in black +Oracle Open Office Writer : printing;text in reverse order +Oracle Open Office Writer : printing;tiling pages in presentations +Oracle Open Office Writer : printing;transparencies +Oracle Open Office Writer : printing;warnings +Oracle Open Office Writer : printing;without scaling in presentations +Oracle Open Office Writer : printing speed +Oracle Open Office Writer : programming +Oracle Open Office Writer : programming;Oracle Open Office +Oracle Open Office Writer : programming;scripting +Oracle Open Office Writer : promoting heading levels +Oracle Open Office Writer : properties +Oracle Open Office Writer : properties;charts +Oracle Open Office Writer : properties;fields +Oracle Open Office Writer : properties;fields in databases +Oracle Open Office Writer : properties;files +Oracle Open Office Writer : properties;form controls +Oracle Open Office Writer : properties;forms +Oracle Open Office Writer : properties;printers +Oracle Open Office Writer : properties;smooth lines in line charts/XY charts +Oracle Open Office Writer : proportional distribution of tables +Oracle Open Office Writer : protected contents +Oracle Open Office Writer : protected dashes +Oracle Open Office Writer : protected database tables +Oracle Open Office Writer : protected documents +Oracle Open Office Writer : protected spaces +Oracle Open Office Writer : protected spaces;inserting +Oracle Open Office Writer : protected spaces;showing (Writer) +Oracle Open Office Writer : protecting +Oracle Open Office Writer : protecting;contents +Oracle Open Office Writer : protecting;recorded changes +Oracle Open Office Writer : protecting;sections +Oracle Open Office Writer : protecting;tables and sections +Oracle Open Office Writer : protecting;text flow +Oracle Open Office Writer : proxy settings +Oracle Open Office Writer : push buttons +Oracle Open Office Writer : push buttons;adding to documents +Oracle Open Office Writer : push buttons;creating +Oracle Open Office Writer : queries +Oracle Open Office Writer : queries;copying (Base) +Oracle Open Office Writer : queries;creating in design view (Base) +Oracle Open Office Writer : queries;creating in SQL view +Oracle Open Office Writer : queries;defining (Base) +Oracle Open Office Writer : queries;deleting table links (Base) +Oracle Open Office Writer : queries;editing in data source view +Oracle Open Office Writer : queries;formulating filter conditions (Base) +Oracle Open Office Writer : queries;joining tables (Base) +Oracle Open Office Writer : queries;missing elements (Base) +Oracle Open Office Writer : queries;overview (Base) +Oracle Open Office Writer : queries;parameter queries (Base) +Oracle Open Office Writer : queries;printing (Base) +Oracle Open Office Writer : Query Wizard (Base) +Oracle Open Office Writer : Quickstarter +Oracle Open Office Writer : quotation marks +Oracle Open Office Writer : quotation marks;changing automatically +Oracle Open Office Writer : quotation marks;replacing +Oracle Open Office Writer : quotes +Oracle Open Office Writer : quotes;custom +Oracle Open Office Writer : radar charts, see net charts +Oracle Open Office Writer : radio button creation +Oracle Open Office Writer : read-only documents +Oracle Open Office Writer : read-only documents;cursor +Oracle Open Office Writer : read-only documents;database tables on/off +Oracle Open Office Writer : read-only documents;editing +Oracle Open Office Writer : read-only documents;opening documents as +Oracle Open Office Writer : read-only items in Data Navigator +Oracle Open Office Writer : read-only sections +Oracle Open Office Writer : rearranging headings +Oracle Open Office Writer : recognition +Oracle Open Office Writer : recognition;languages +Oracle Open Office Writer : recognition;numbers +Oracle Open Office Writer : recognizing URLs automatically +Oracle Open Office Writer : recording +Oracle Open Office Writer : recording;changes +Oracle Open Office Writer : recording;macros +Oracle Open Office Writer : records +Oracle Open Office Writer : records;inserting comments +Oracle Open Office Writer : records;protecting +Oracle Open Office Writer : records;saving +Oracle Open Office Writer : records;searching in databases +Oracle Open Office Writer : rectangles with round corners +Oracle Open Office Writer : recursions in spreadsheets +Oracle Open Office Writer : redo command +Oracle Open Office Writer : reduced printing +Oracle Open Office Writer : reduced printing of multiple pages +Oracle Open Office Writer : reducing rows and columns in text tables +Oracle Open Office Writer : reference lines +Oracle Open Office Writer : references +Oracle Open Office Writer : references;displaying in color (Calc) +Oracle Open Office Writer : references;expanding (Calc) +Oracle Open Office Writer : references;in Writer tables +Oracle Open Office Writer : references;inserting cross-references +Oracle Open Office Writer : references;iterative (Calc) +Oracle Open Office Writer : references;modifying cross-references +Oracle Open Office Writer : refusing word completions +Oracle Open Office Writer : register-true +Oracle Open Office Writer : register-true;definition +Oracle Open Office Writer : register-true;pages and paragraphs +Oracle Open Office Writer : registering +Oracle Open Office Writer : registering;address books +Oracle Open Office Writer : registering;databases (Base) +Oracle Open Office Writer : registering;Oracle Open Office +Oracle Open Office Writer : regression curves in charts +Oracle Open Office Writer : regular expressions +Oracle Open Office Writer : regular expressions;list of +Oracle Open Office Writer : regular expressions;opening files +Oracle Open Office Writer : regular expressions;searching +Oracle Open Office Writer : rejecting word completions +Oracle Open Office Writer : related words in thesaurus +Oracle Open Office Writer : relational databases (Base) +Oracle Open Office Writer : relations +Oracle Open Office Writer : relations;creating and deleting (Base) +Oracle Open Office Writer : relations;joining tables (Base) +Oracle Open Office Writer : relations;properties (Base) +Oracle Open Office Writer : relative distribution of table cells +Oracle Open Office Writer : relative hyperlinks +Oracle Open Office Writer : relative saving of URLs +Oracle Open Office Writer : reloading +Oracle Open Office Writer : reloading;documents +Oracle Open Office Writer : reloading;HTML documents, automatically +Oracle Open Office Writer : remarks, see also comments +Oracle Open Office Writer : remote configurations +Oracle Open Office Writer : remove noise filter +Oracle Open Office Writer : removing +Oracle Open Office Writer : removing;bullets and numbering +Oracle Open Office Writer : removing;bullets in text documents +Oracle Open Office Writer : removing;cell protection in text documents +Oracle Open Office Writer : removing;form filters +Oracle Open Office Writer : removing;subdocuments +Oracle Open Office Writer : removing, see also deleting +Oracle Open Office Writer : reorganizing charts +Oracle Open Office Writer : repeating +Oracle Open Office Writer : repeating;commands +Oracle Open Office Writer : repeating;table headings after page breaks +Oracle Open Office Writer : replacement options +Oracle Open Office Writer : replacement table +Oracle Open Office Writer : replacing +Oracle Open Office Writer : replacing;AutoCorrect function +Oracle Open Office Writer : replacing;dashes +Oracle Open Office Writer : replacing;databases +Oracle Open Office Writer : replacing;fields, by text +Oracle Open Office Writer : replacing;objects from Gallery +Oracle Open Office Writer : replacing;tab stops (regular expressions) +Oracle Open Office Writer : replacing;text and text formats +Oracle Open Office Writer : Report Builder +Oracle Open Office Writer : reports +Oracle Open Office Writer : reports;creating +Oracle Open Office Writer : reports;error reports +Oracle Open Office Writer : reports;opening and editing +Oracle Open Office Writer : reports;templates +Oracle Open Office Writer : resetting +Oracle Open Office Writer : resetting;fonts +Oracle Open Office Writer : resetting;templates +Oracle Open Office Writer : resizing +Oracle Open Office Writer : resizing;aspect ratio +Oracle Open Office Writer : resizing;objects and frames, by keyboard +Oracle Open Office Writer : resizing;objects, by mouse +Oracle Open Office Writer : resizing;rows and columns in text tables +Oracle Open Office Writer : resizing;text frames, by mouse +Oracle Open Office Writer : resizing;windows +Oracle Open Office Writer : resizing, see also scaling/zooming +Oracle Open Office Writer : resolution when printing bitmaps +Oracle Open Office Writer : restoring +Oracle Open Office Writer : restoring;default formatting +Oracle Open Office Writer : restoring;editing +Oracle Open Office Writer : reversing printing order +Oracle Open Office Writer : review function +Oracle Open Office Writer : review function;accepting or rejecting changes +Oracle Open Office Writer : review function;comparing documents +Oracle Open Office Writer : review function;protecting records +Oracle Open Office Writer : review function;recording changes example +Oracle Open Office Writer : rich text control +Oracle Open Office Writer : right alignment of paragraphs +Oracle Open Office Writer : right indents in paragraphs +Oracle Open Office Writer : right joins (Base) +Oracle Open Office Writer : right pages +Oracle Open Office Writer : right-to-left text +Oracle Open Office Writer : rising outline levels +Oracle Open Office Writer : rotating +Oracle Open Office Writer : rotating;3D text +Oracle Open Office Writer : rotating;text +Oracle Open Office Writer : round corners +Oracle Open Office Writer : rounding precision (Calc) +Oracle Open Office Writer : row breaks in text tables +Oracle Open Office Writer : row headers +Oracle Open Office Writer : row headers;displaying (Calc) +Oracle Open Office Writer : row headers;highlighting (Calc) +Oracle Open Office Writer : rows +Oracle Open Office Writer : rows;inserting in tables, using icon +Oracle Open Office Writer : rows;inserting/deleting in tables by keyboard +Oracle Open Office Writer : rows;register-true text +Oracle Open Office Writer : rows;selecting +Oracle Open Office Writer : rulers +Oracle Open Office Writer : rulers;default settings +Oracle Open Office Writer : rulers;measurement units +Oracle Open Office Writer : rulers;using rulers +Oracle Open Office Writer : rulers;visible in presentations +Oracle Open Office Writer : rules +Oracle Open Office Writer : running titles in headers +Oracle Open Office Writer : samples and templates +Oracle Open Office Writer : saving +Oracle Open Office Writer : saving;default file formats +Oracle Open Office Writer : saving;dialog settings +Oracle Open Office Writer : saving;documents +Oracle Open Office Writer : saving;documents for mobile devices +Oracle Open Office Writer : saving;documents in other formats +Oracle Open Office Writer : saving;documents, automatically +Oracle Open Office Writer : saving;in HTML format +Oracle Open Office Writer : saving;in Microsoft Office file format +Oracle Open Office Writer : saving;options +Oracle Open Office Writer : saving;templates +Oracle Open Office Writer : saving;to XML +Oracle Open Office Writer : saving;VBA code in Microsoft Office documents +Oracle Open Office Writer : saving;with password by default +Oracle Open Office Writer : saving as command +Oracle Open Office Writer : saving as command;precautions +Oracle Open Office Writer : scaling +Oracle Open Office Writer : scaling;axes +Oracle Open Office Writer : scaling;font sizes in user interface +Oracle Open Office Writer : scaling;objects +Oracle Open Office Writer : scaling;pictures +Oracle Open Office Writer : scaling;printing in Oracle Open Office Math +Oracle Open Office Writer : scaling;text frames, by mouse +Oracle Open Office Writer : scaling;text in charts +Oracle Open Office Writer : scaling;when printing presentations +Oracle Open Office Writer : scaling, see also zooming +Oracle Open Office Writer : scanning pictures +Oracle Open Office Writer : scatter charts +Oracle Open Office Writer : scope of page styles +Oracle Open Office Writer : screen +Oracle Open Office Writer : screen;full screen views +Oracle Open Office Writer : screen;scaling +Oracle Open Office Writer : screen magnifiers +Oracle Open Office Writer : screen readers +Oracle Open Office Writer : script organization +Oracle Open Office Writer : scrollbars +Oracle Open Office Writer : scrollbars;controls +Oracle Open Office Writer : scrollbars;displaying (Calc) +Oracle Open Office Writer : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Writer : search criteria for database functions in cells +Oracle Open Office Writer : search engines +Oracle Open Office Writer : search engines;definition +Oracle Open Office Writer : search engines;selecting +Oracle Open Office Writer : searching +Oracle Open Office Writer : searching;all sheets +Oracle Open Office Writer : searching;cross-references +Oracle Open Office Writer : searching;databases +Oracle Open Office Writer : searching;form filters +Oracle Open Office Writer : searching;formats +Oracle Open Office Writer : searching;Internet +Oracle Open Office Writer : searching;repeating a search +Oracle Open Office Writer : searching;synonyms +Oracle Open Office Writer : searching;tables and forms +Oracle Open Office Writer : searching;with wildcards +Oracle Open Office Writer : searching, see also finding +Oracle Open Office Writer : secondary axes in charts +Oracle Open Office Writer : sections +Oracle Open Office Writer : sections;backgrounds +Oracle Open Office Writer : sections;columns in/use of +Oracle Open Office Writer : sections;defining conditions +Oracle Open Office Writer : sections;editing +Oracle Open Office Writer : sections;hiding +Oracle Open Office Writer : sections;inserting +Oracle Open Office Writer : sections;inserting external content +Oracle Open Office Writer : sections;inserting sections by DDE +Oracle Open Office Writer : sections;moving and copying +Oracle Open Office Writer : sections;protecting/unprotecting +Oracle Open Office Writer : security +Oracle Open Office Writer : security;digital signatures +Oracle Open Office Writer : security;options for documents with macros +Oracle Open Office Writer : security;protecting contents +Oracle Open Office Writer : security;security levels for macros +Oracle Open Office Writer : security;warning dialogs with macros +Oracle Open Office Writer : selecting +Oracle Open Office Writer : selecting;controls +Oracle Open Office Writer : selecting;measurement units +Oracle Open Office Writer : selecting;objects +Oracle Open Office Writer : selecting;paper trays +Oracle Open Office Writer : selecting;print areas +Oracle Open Office Writer : selecting;several files +Oracle Open Office Writer : selecting;tables +Oracle Open Office Writer : selecting;text, with keyboard +Oracle Open Office Writer : selection clipboard +Oracle Open Office Writer : selection frames +Oracle Open Office Writer : selection modes in text +Oracle Open Office Writer : sending +Oracle Open Office Writer : sending;AutoAbstract function in presentations +Oracle Open Office Writer : sending;documents as e-mail +Oracle Open Office Writer : sending;documents as faxes +Oracle Open Office Writer : separation, see hyphenation +Oracle Open Office Writer : separator lines +Oracle Open Office Writer : separator lines;AutoFormat function +Oracle Open Office Writer : separator lines;defining +Oracle Open Office Writer : separators +Oracle Open Office Writer : separators;conditional +Oracle Open Office Writer : serial letters +Oracle Open Office Writer : Server Side ImageMap +Oracle Open Office Writer : settings +Oracle Open Office Writer : settings;direct cursor +Oracle Open Office Writer : settings;printers +Oracle Open Office Writer : settings;program configuration +Oracle Open Office Writer : settings;proxies +Oracle Open Office Writer : settings;tracking changes +Oracle Open Office Writer : settings;views +Oracle Open Office Writer : settings;word completion +Oracle Open Office Writer : SGML +Oracle Open Office Writer : SGML;definition +Oracle Open Office Writer : shadows +Oracle Open Office Writer : shadows;areas +Oracle Open Office Writer : shadows;borders +Oracle Open Office Writer : shadows;characters +Oracle Open Office Writer : shadows;characters, using context menu +Oracle Open Office Writer : shadows;headers/footers +Oracle Open Office Writer : sharing documents +Oracle Open Office Writer : sharpening filter +Oracle Open Office Writer : sheet tabs +Oracle Open Office Writer : sheet tabs;displaying +Oracle Open Office Writer : sheets +Oracle Open Office Writer : sheets;searching all +Oracle Open Office Writer : shortcut keys +Oracle Open Office Writer : shortcut keys;assigning macros +Oracle Open Office Writer : shortcut keys;bold formatting +Oracle Open Office Writer : shortcut keys;charts +Oracle Open Office Writer : shortcut keys;general +Oracle Open Office Writer : shortcut keys;in databases +Oracle Open Office Writer : shortcut keys;in text documents +Oracle Open Office Writer : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Writer : showing +Oracle Open Office Writer : showing;changes +Oracle Open Office Writer : showing;docked windows +Oracle Open Office Writer : showing;drawings and controls (Writer) +Oracle Open Office Writer : showing;live presentations on the Internet +Oracle Open Office Writer : showing;rulers +Oracle Open Office Writer : showing;toolbars +Oracle Open Office Writer : sideways orientation of pages +Oracle Open Office Writer : signing documents with digital signatures +Oracle Open Office Writer : similarity search +Oracle Open Office Writer : simple handles (Writer) +Oracle Open Office Writer : simplified Chinese +Oracle Open Office Writer : simplified Chinese;translating to traditional Chinese +Oracle Open Office Writer : single sign on options +Oracle Open Office Writer : single-line spacing in text +Oracle Open Office Writer : sizes +Oracle Open Office Writer : sizes;draw objects +Oracle Open Office Writer : sizes;pictures +Oracle Open Office Writer : slanting draw objects +Oracle Open Office Writer : small capitals +Oracle Open Office Writer : small capitals (guide) +Oracle Open Office Writer : small icons +Oracle Open Office Writer : smart tag configuration +Oracle Open Office Writer : smart tags +Oracle Open Office Writer : smooth scrolling (Writer) +Oracle Open Office Writer : smoothing filter +Oracle Open Office Writer : snap grid defaults (Writer/Calc) +Oracle Open Office Writer : snapping in presentations and drawings +Oracle Open Office Writer : solarization filter +Oracle Open Office Writer : sort lists +Oracle Open Office Writer : sort lists;copying to in Calc +Oracle Open Office Writer : sorting +Oracle Open Office Writer : sorting;data in forms +Oracle Open Office Writer : sorting;databases +Oracle Open Office Writer : sorting;paragraphs in special languages +Oracle Open Office Writer : sorting;paragraphs/table rows +Oracle Open Office Writer : sound files +Oracle Open Office Writer : spaces +Oracle Open Office Writer : spaces;displaying (Writer) +Oracle Open Office Writer : spaces;ignoring double +Oracle Open Office Writer : spaces;inserting protected spaces +Oracle Open Office Writer : spaces;showing protected spaces (Writer) +Oracle Open Office Writer : spacing +Oracle Open Office Writer : spacing;between paragraphs in footnotes +Oracle Open Office Writer : spacing;endnotes/footnotes +Oracle Open Office Writer : spacing;font effects +Oracle Open Office Writer : spacing;lines and paragraphs +Oracle Open Office Writer : spacing;register-true text +Oracle Open Office Writer : spacing;tab stops in text documents +Oracle Open Office Writer : spacing;tabs in presentations +Oracle Open Office Writer : spadmin +Oracle Open Office Writer : special characters +Oracle Open Office Writer : speech bubbles +Oracle Open Office Writer : speed of printing +Oracle Open Office Writer : spellcheck +Oracle Open Office Writer : spellcheck;activating for a language +Oracle Open Office Writer : spellcheck;activating for all languages +Oracle Open Office Writer : spellcheck;AutoSpellcheck on/off +Oracle Open Office Writer : spellcheck;checking text documents manually +Oracle Open Office Writer : spellcheck;context menus +Oracle Open Office Writer : spellcheck;default languages +Oracle Open Office Writer : spellcheck;dialog +Oracle Open Office Writer : spellcheck;dictionary of exceptions +Oracle Open Office Writer : spellcheck;ignore list +Oracle Open Office Writer : spelling in thesaurus +Oracle Open Office Writer : spin button creation +Oracle Open Office Writer : splitting cells +Oracle Open Office Writer : splitting cells;by keyboard +Oracle Open Office Writer : splitting cells;by menu command +Oracle Open Office Writer : splitting tables +Oracle Open Office Writer : splitting tables;at cursor position +Oracle Open Office Writer : splitting tables;row breaks +Oracle Open Office Writer : spoolfiles with Xprinter +Oracle Open Office Writer : spreadsheets +Oracle Open Office Writer : spreadsheets;as databases (base) +Oracle Open Office Writer : spreadsheets;copying areas to text documents +Oracle Open Office Writer : spreadsheets;creating/opening +Oracle Open Office Writer : spreadsheets;inserting charts +Oracle Open Office Writer : spreadsheets;inserting database records +Oracle Open Office Writer : spreadsheets;inserting tables from +Oracle Open Office Writer : spreadsheets;printing +Oracle Open Office Writer : spreadsheets;saving +Oracle Open Office Writer : spreadsheets;saving automatically +Oracle Open Office Writer : spreadsheets;saving in other formats +Oracle Open Office Writer : spreadsheets;sending as e-mail +Oracle Open Office Writer : SQL +Oracle Open Office Writer : SQL;definition +Oracle Open Office Writer : SQL;DISTINCT parameter +Oracle Open Office Writer : SQL;executing SQL commands +Oracle Open Office Writer : SQL;executing SQL statements (Base) +Oracle Open Office Writer : SQL;queries (Base) +Oracle Open Office Writer : square drawings +Oracle Open Office Writer : standard bar on/off +Oracle Open Office Writer : standard deviation in charts +Oracle Open Office Writer : standard filters in databases +Oracle Open Office Writer : standard printer under UNIX +Oracle Open Office Writer : start center +Oracle Open Office Writer : start parameters +Oracle Open Office Writer : starting page numbers +Oracle Open Office Writer : statistical functions +Oracle Open Office Writer : statistics in charts +Oracle Open Office Writer : status bar on/off +Oracle Open Office Writer : stickers +Oracle Open Office Writer : stock charts +Oracle Open Office Writer : storing bibliographic information +Oracle Open Office Writer : strikethrough +Oracle Open Office Writer : strikethrough;characters +Oracle Open Office Writer : strikethrough;font effects +Oracle Open Office Writer : styles +Oracle Open Office Writer : styles;'changed' message +Oracle Open Office Writer : styles;categories +Oracle Open Office Writer : styles;conditional +Oracle Open Office Writer : styles;copying between documents +Oracle Open Office Writer : styles;creating from selections +Oracle Open Office Writer : styles;finding +Oracle Open Office Writer : styles;for pages +Oracle Open Office Writer : styles;importing from other files +Oracle Open Office Writer : styles;keyboard shortcuts +Oracle Open Office Writer : styles;master documents +Oracle Open Office Writer : styles;organizing +Oracle Open Office Writer : styles;page numbers +Oracle Open Office Writer : styles;printing styles used in a document +Oracle Open Office Writer : styles;replacing automatically +Oracle Open Office Writer : styles;styles and templates +Oracle Open Office Writer : styles;table styles +Oracle Open Office Writer : styles;transferring +Oracle Open Office Writer : styles;updating from selections +Oracle Open Office Writer : Styles and Formatting window +Oracle Open Office Writer : Styles and Formatting window;applying styles +Oracle Open Office Writer : Styles and Formatting window;docking +Oracle Open Office Writer : Styles and Formatting window;docking and resizing +Oracle Open Office Writer : Styles and Formatting window;updating from selections +Oracle Open Office Writer : Stylist, see Styles and Formatting window +Oracle Open Office Writer : subdocuments +Oracle Open Office Writer : subdocuments;creating/editing/removing +Oracle Open Office Writer : subdocuments;properties +Oracle Open Office Writer : subforms +Oracle Open Office Writer : subforms;creating +Oracle Open Office Writer : subforms;description +Oracle Open Office Writer : subject fields +Oracle Open Office Writer : submitting forms +Oracle Open Office Writer : subscript text +Oracle Open Office Writer : subsidiary documents +Oracle Open Office Writer : suffixes in file formats +Oracle Open Office Writer : sums of table cell series +Oracle Open Office Writer : superscript text +Oracle Open Office Writer : support on the Web +Oracle Open Office Writer : switching off +Oracle Open Office Writer : switching off;hyphenation for specific words +Oracle Open Office Writer : switching off;word completion +Oracle Open Office Writer : synchronizing +Oracle Open Office Writer : synchronizing;labels and business cards +Oracle Open Office Writer : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Writer : synonyms in thesaurus +Oracle Open Office Writer : system address book registration +Oracle Open Office Writer : tab stops +Oracle Open Office Writer : tab stops;before headings +Oracle Open Office Writer : tab stops;displaying (Writer) +Oracle Open Office Writer : tab stops;inserting and editing +Oracle Open Office Writer : tab stops;inserting in lists +Oracle Open Office Writer : tab stops;regular expressions +Oracle Open Office Writer : tab stops;setting in sheets +Oracle Open Office Writer : tab stops;settings +Oracle Open Office Writer : tab stops;spacing in presentations +Oracle Open Office Writer : tab stops;spacing in text documents +Oracle Open Office Writer : table cells +Oracle Open Office Writer : table cells;adjusting the width on rulers +Oracle Open Office Writer : table cells;calculating sums +Oracle Open Office Writer : table cells;enlarging/reducing in text +Oracle Open Office Writer : table controls +Oracle Open Office Writer : table controls;form functions +Oracle Open Office Writer : table controls;keyboard-only edit mode +Oracle Open Office Writer : table controls;properties +Oracle Open Office Writer : table mode selection +Oracle Open Office Writer : table views of databases +Oracle Open Office Writer : Table Wizard (Base) +Oracle Open Office Writer : tables +Oracle Open Office Writer : tables;adapting the width by keyboard +Oracle Open Office Writer : tables;allowing page breaks +Oracle Open Office Writer : tables;AutoFormat function +Oracle Open Office Writer : tables;backgrounds +Oracle Open Office Writer : tables;calculating across +Oracle Open Office Writer : tables;calculating sums +Oracle Open Office Writer : tables;converting to text +Oracle Open Office Writer : tables;cross-referencing +Oracle Open Office Writer : tables;defining borders +Oracle Open Office Writer : tables;deleting +Oracle Open Office Writer : tables;deleting page breaks before +Oracle Open Office Writer : tables;editing by keyboard +Oracle Open Office Writer : tables;editing with the keyboard +Oracle Open Office Writer : tables;heading repetition after page breaks +Oracle Open Office Writer : tables;inserting columns in +Oracle Open Office Writer : tables;inserting line breaks +Oracle Open Office Writer : tables;inserting rows +Oracle Open Office Writer : tables;inserting text before +Oracle Open Office Writer : tables;inserting text tables +Oracle Open Office Writer : tables;jumping to +Oracle Open Office Writer : tables;labeling +Oracle Open Office Writer : tables;merging +Oracle Open Office Writer : tables;merging cells +Oracle Open Office Writer : tables;number recognition +Oracle Open Office Writer : tables;performing calculations in +Oracle Open Office Writer : tables;positioning +Oracle Open Office Writer : tables;protecting/unprotecting cells +Oracle Open Office Writer : tables;resizing/juxtaposing +Oracle Open Office Writer : tables;selecting +Oracle Open Office Writer : tables;sorting rows +Oracle Open Office Writer : tables;splitting +Oracle Open Office Writer : tables;start/end of document +Oracle Open Office Writer : tables;text flow around text tables +Oracle Open Office Writer : tables in databases +Oracle Open Office Writer : tables in databases;access rights to (Base) +Oracle Open Office Writer : tables in databases;adding to queries +Oracle Open Office Writer : tables in databases;browsing and editing +Oracle Open Office Writer : tables in databases;copying database tables (Base) +Oracle Open Office Writer : tables in databases;creating +Oracle Open Office Writer : tables in databases;creating in design view (manually) +Oracle Open Office Writer : tables in databases;importing text formats (Base) +Oracle Open Office Writer : tables in databases;joining for queries (Base) +Oracle Open Office Writer : tables in databases;printing queries (Base) +Oracle Open Office Writer : tables in databases;relations (Base) +Oracle Open Office Writer : tables in databases;searching +Oracle Open Office Writer : tables in spreadsheets +Oracle Open Office Writer : tables in spreadsheets;copying data to other applications +Oracle Open Office Writer : tables in spreadsheets;defining borders +Oracle Open Office Writer : tables in spreadsheets;inserting in text +Oracle Open Office Writer : tables in spreadsheets;value highlighting +Oracle Open Office Writer : tables in text +Oracle Open Office Writer : tables in text;captions +Oracle Open Office Writer : tables in text;creating automatically +Oracle Open Office Writer : tables in text;default settings +Oracle Open Office Writer : tables in text;defining borders +Oracle Open Office Writer : tables in text;displaying +Oracle Open Office Writer : tables in text;printing +Oracle Open Office Writer : tables of contents +Oracle Open Office Writer : tables of contents;creating and updating +Oracle Open Office Writer : tables of contents;defining entries in +Oracle Open Office Writer : tables of contents;editing and deleting +Oracle Open Office Writer : tables of contents;editing or deleting entries +Oracle Open Office Writer : tables of contents;formatting +Oracle Open Office Writer : tables of contents;hyperlinks as entries +Oracle Open Office Writer : tables of contents;unprotecting +Oracle Open Office Writer : tabs +Oracle Open Office Writer : tabs;displaying sheet tabs +Oracle Open Office Writer : tags +Oracle Open Office Writer : tags;definition +Oracle Open Office Writer : tags;in Oracle Open Office Writer +Oracle Open Office Writer : tags;META tags +Oracle Open Office Writer : templates +Oracle Open Office Writer : templates;agendas +Oracle Open Office Writer : templates;changing basic fonts +Oracle Open Office Writer : templates;creating document templates +Oracle Open Office Writer : templates;database reports +Oracle Open Office Writer : templates;default templates +Oracle Open Office Writer : templates;deleting +Oracle Open Office Writer : templates;editing and saving +Oracle Open Office Writer : templates;faxes +Oracle Open Office Writer : templates;importing and exporting +Oracle Open Office Writer : templates;letters +Oracle Open Office Writer : templates;new documents from templates +Oracle Open Office Writer : templates;opening documents with +Oracle Open Office Writer : templates;organizing +Oracle Open Office Writer : templates;organizing (guide) +Oracle Open Office Writer : templates;updating from selections +Oracle Open Office Writer : terminology +Oracle Open Office Writer : terminology;general glossary +Oracle Open Office Writer : terminology;Internet glossary +Oracle Open Office Writer : testing XML filters +Oracle Open Office Writer : text +Oracle Open Office Writer : text;animating +Oracle Open Office Writer : text;Asian layout +Oracle Open Office Writer : text;backgrounds +Oracle Open Office Writer : text;bold +Oracle Open Office Writer : text;coloring +Oracle Open Office Writer : text;conditional text +Oracle Open Office Writer : text;converting to tables +Oracle Open Office Writer : text;copying by drag and drop +Oracle Open Office Writer : text;CTL languages +Oracle Open Office Writer : text;cursor +Oracle Open Office Writer : text;drawing pictures +Oracle Open Office Writer : text;emphasizing +Oracle Open Office Writer : text;font effects +Oracle Open Office Writer : text;font sizes +Oracle Open Office Writer : text;font styles +Oracle Open Office Writer : text;fonts and formats +Oracle Open Office Writer : text;Fontwork icons +Oracle Open Office Writer : text;formatting around objects +Oracle Open Office Writer : text;formatting bold while typing +Oracle Open Office Writer : text;hiding +Oracle Open Office Writer : text;hiding from specific users, with conditions +Oracle Open Office Writer : text;hyperlinks +Oracle Open Office Writer : text;input fields +Oracle Open Office Writer : text;inserting pictures from Draw +Oracle Open Office Writer : text;inserting pictures in +Oracle Open Office Writer : text;inserting special characters +Oracle Open Office Writer : text;italics +Oracle Open Office Writer : text;kerning +Oracle Open Office Writer : text;language selection +Oracle Open Office Writer : text;line numbers +Oracle Open Office Writer : text;line spacing +Oracle Open Office Writer : text;multi-column +Oracle Open Office Writer : text;navigating and selecting with keyboard +Oracle Open Office Writer : text;non-printable +Oracle Open Office Writer : text;number of words/characters +Oracle Open Office Writer : text;overwriting or inserting +Oracle Open Office Writer : text;printing in black +Oracle Open Office Writer : text;replacing with format +Oracle Open Office Writer : text;rotating +Oracle Open Office Writer : text;selection modes +Oracle Open Office Writer : text;shadowed +Oracle Open Office Writer : text;sorting paragraphs +Oracle Open Office Writer : text;subscript and superscript +Oracle Open Office Writer : text;text/draw objects +Oracle Open Office Writer : text;turning off automatic correction +Oracle Open Office Writer : text;uppercase or lowercase +Oracle Open Office Writer : text animation +Oracle Open Office Writer : text attributes +Oracle Open Office Writer : text attributes;hyperlinks +Oracle Open Office Writer : text attributes;undoing +Oracle Open Office Writer : text blocks +Oracle Open Office Writer : text boxes +Oracle Open Office Writer : text boxes;form functions +Oracle Open Office Writer : text boxes;positioning +Oracle Open Office Writer : text breaks in cells +Oracle Open Office Writer : text colors for better accessibility +Oracle Open Office Writer : text columns +Oracle Open Office Writer : text databases (Base) +Oracle Open Office Writer : text documents +Oracle Open Office Writer : text documents;creating/opening +Oracle Open Office Writer : text documents;default templates +Oracle Open Office Writer : text documents;importing/exporting +Oracle Open Office Writer : text documents;inserting Calc charts +Oracle Open Office Writer : text documents;inserting spreadsheet cells +Oracle Open Office Writer : text documents;merging +Oracle Open Office Writer : text documents;print settings +Oracle Open Office Writer : text documents;printing +Oracle Open Office Writer : text documents;publishing in HTML +Oracle Open Office Writer : text documents;saving +Oracle Open Office Writer : text documents;saving automatically +Oracle Open Office Writer : text documents;saving in other formats +Oracle Open Office Writer : text documents;sending as e-mail +Oracle Open Office Writer : text documents;shortcut keys in +Oracle Open Office Writer : text documents;word completion settings +Oracle Open Office Writer : text effects +Oracle Open Office Writer : text flow +Oracle Open Office Writer : text flow;around text tables +Oracle Open Office Writer : text flow;at breaks +Oracle Open Office Writer : text flow;from frame to frame +Oracle Open Office Writer : text flow;in cells +Oracle Open Office Writer : text formats +Oracle Open Office Writer : text formats;copying and pasting +Oracle Open Office Writer : text formats;databases +Oracle Open Office Writer : text formats;finding +Oracle Open Office Writer : text formats;pasting +Oracle Open Office Writer : text frames +Oracle Open Office Writer : text frames;centering on pages +Oracle Open Office Writer : text frames;inserting/editing/linking +Oracle Open Office Writer : text frames;labeling +Oracle Open Office Writer : text grid for Asian layout +Oracle Open Office Writer : text input fields +Oracle Open Office Writer : text layout for special languages +Oracle Open Office Writer : text objects +Oracle Open Office Writer : text objects;alignment +Oracle Open Office Writer : text objects;draw functions +Oracle Open Office Writer : text objects;fonts +Oracle Open Office Writer : text objects;in presentations and drawings +Oracle Open Office Writer : text overflow in spreadsheet cells +Oracle Open Office Writer : text scaling in charts +Oracle Open Office Writer : text wrap around objects +Oracle Open Office Writer : text, see also text documents, paragraphs and characters +Oracle Open Office Writer : TextArt, see Fontwork +Oracle Open Office Writer : textures +Oracle Open Office Writer : textures;inserting from Gallery +Oracle Open Office Writer : textures;on chart bars +Oracle Open Office Writer : Thai +Oracle Open Office Writer : Thai;entering text +Oracle Open Office Writer : Thai;language settings +Oracle Open Office Writer : thesaurus +Oracle Open Office Writer : thesaurus;activating for a language +Oracle Open Office Writer : thesaurus;related words +Oracle Open Office Writer : ticker text +Oracle Open Office Writer : time fields +Oracle Open Office Writer : time fields;form functions +Oracle Open Office Writer : time fields;HTML +Oracle Open Office Writer : time fields;inserting +Oracle Open Office Writer : times +Oracle Open Office Writer : times;inserting when printing presentations +Oracle Open Office Writer : times, formats +Oracle Open Office Writer : tips +Oracle Open Office Writer : tips;extended tips in Help +Oracle Open Office Writer : title pages +Oracle Open Office Writer : title pages;centering text on +Oracle Open Office Writer : title pages;page styles +Oracle Open Office Writer : title rows +Oracle Open Office Writer : title rows;printing in Oracle Open Office Math +Oracle Open Office Writer : titles +Oracle Open Office Writer : titles;alignment (charts) +Oracle Open Office Writer : titles;changing +Oracle Open Office Writer : titles;editing in charts +Oracle Open Office Writer : titles;font effects +Oracle Open Office Writer : titles;formatting automatically +Oracle Open Office Writer : titles;formatting charts +Oracle Open Office Writer : titles;objects +Oracle Open Office Writer : toolbars +Oracle Open Office Writer : toolbars;adding buttons +Oracle Open Office Writer : toolbars;docking/undocking +Oracle Open Office Writer : toolbars;Form Navigation bar +Oracle Open Office Writer : toolbars;viewing/closing +Oracle Open Office Writer : tools bar +Oracle Open Office Writer : tooltips +Oracle Open Office Writer : tooltips;extended tips +Oracle Open Office Writer : tooltips;help +Oracle Open Office Writer : totals in text tables +Oracle Open Office Writer : traditional Chinese +Oracle Open Office Writer : traditional Chinese;translating to simplified chinese +Oracle Open Office Writer : transparency +Oracle Open Office Writer : transparency;areas +Oracle Open Office Writer : transparency;off for faster printing +Oracle Open Office Writer : transparency;saving +Oracle Open Office Writer : tree view of Help +Oracle Open Office Writer : trend lines in charts +Oracle Open Office Writer : trigonometric functions +Oracle Open Office Writer : turning off automatic correction +Oracle Open Office Writer : typefaces +Oracle Open Office Writer : typefaces;adding under UNIX +Oracle Open Office Writer : typefaces;formats +Oracle Open Office Writer : typographical quotes in Oracle Open Office Writer +Oracle Open Office Writer : typography +Oracle Open Office Writer : typography;Asian +Oracle Open Office Writer : underlining +Oracle Open Office Writer : underlining;AutoFormat function +Oracle Open Office Writer : underlining;characters +Oracle Open Office Writer : underlining;quick +Oracle Open Office Writer : underlining;text +Oracle Open Office Writer : undocking windows +Oracle Open Office Writer : undoing +Oracle Open Office Writer : undoing;direct formatting +Oracle Open Office Writer : undoing;editing +Oracle Open Office Writer : undoing;number of steps +Oracle Open Office Writer : ungrouping groups +Oracle Open Office Writer : units +Oracle Open Office Writer : units;converting +Oracle Open Office Writer : units;measurement units +Oracle Open Office Writer : unlinking frames +Oracle Open Office Writer : UNO components +Oracle Open Office Writer : UNO components;Extension Manager +Oracle Open Office Writer : UNO components;integrating new +Oracle Open Office Writer : unprotecting tables of contents and indexes +Oracle Open Office Writer : update options +Oracle Open Office Writer : updates +Oracle Open Office Writer : updates;checking automatically +Oracle Open Office Writer : updates;checking manually +Oracle Open Office Writer : updating +Oracle Open Office Writer : updating;cross-references +Oracle Open Office Writer : updating;fields +Oracle Open Office Writer : updating;fields and charts, automatically (Writer) +Oracle Open Office Writer : updating;indexes/tables of contents +Oracle Open Office Writer : updating;linked sections, manually +Oracle Open Office Writer : updating;links in text documents +Oracle Open Office Writer : updating;links, on opening +Oracle Open Office Writer : updating;styles, from selections +Oracle Open Office Writer : updating;tables of contents +Oracle Open Office Writer : updating;templates +Oracle Open Office Writer : updating;text documents +Oracle Open Office Writer : uppercase +Oracle Open Office Writer : uppercase;changing to lowercase +Oracle Open Office Writer : uppercase;formatting text +Oracle Open Office Writer : URL +Oracle Open Office Writer : URL;changing hyperlink URLs +Oracle Open Office Writer : URL;definition +Oracle Open Office Writer : URL;in pictures +Oracle Open Office Writer : URL;saving absolute/relative paths +Oracle Open Office Writer : URL;turning off URL recognition +Oracle Open Office Writer : user data +Oracle Open Office Writer : user data;in conditions +Oracle Open Office Writer : user data;input +Oracle Open Office Writer : user data;querying +Oracle Open Office Writer : user data;removing when saving +Oracle Open Office Writer : user feedback +Oracle Open Office Writer : user feedback;automatically +Oracle Open Office Writer : user variables in conditions/fields +Oracle Open Office Writer : user-defined dictionaries +Oracle Open Office Writer : user-defined dictionaries;creating +Oracle Open Office Writer : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Writer : user-defined dictionaries;editing +Oracle Open Office Writer : user-defined dictionaries;removing words from +Oracle Open Office Writer : user-defined fields, restriction +Oracle Open Office Writer : user-defined indexes +Oracle Open Office Writer : user-defined styles +Oracle Open Office Writer : user-defined styles;automatically replacing +Oracle Open Office Writer : UTF-8/UCS2 support +Oracle Open Office Writer : values +Oracle Open Office Writer : values;rounded as shown (Calc) +Oracle Open Office Writer : variable dates +Oracle Open Office Writer : variables +Oracle Open Office Writer : variables;document properties +Oracle Open Office Writer : variables;for hiding text +Oracle Open Office Writer : variables;for paths +Oracle Open Office Writer : variables;in conditions +Oracle Open Office Writer : variances in charts +Oracle Open Office Writer : VBA code +Oracle Open Office Writer : VBA code;loading/saving documents with VBA code +Oracle Open Office Writer : version management +Oracle Open Office Writer : version numbers of documents +Oracle Open Office Writer : versions +Oracle Open Office Writer : versions;comparing documents +Oracle Open Office Writer : versions;file saving as, restriction +Oracle Open Office Writer : versions;merging document versions +Oracle Open Office Writer : versions;of a document +Oracle Open Office Writer : versions;Oracle Open Office +Oracle Open Office Writer : vertical callouts +Oracle Open Office Writer : vertical rulers +Oracle Open Office Writer : vertical scrollbars (Writer) +Oracle Open Office Writer : vertical text boxes +Oracle Open Office Writer : videos +Oracle Open Office Writer : viewing +Oracle Open Office Writer : viewing;databases +Oracle Open Office Writer : viewing;fields +Oracle Open Office Writer : viewing;file properties +Oracle Open Office Writer : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Writer : viewing;toolbars +Oracle Open Office Writer : views +Oracle Open Office Writer : views;creating database views (Base) +Oracle Open Office Writer : views;defaults +Oracle Open Office Writer : views;full screen +Oracle Open Office Writer : views;icons +Oracle Open Office Writer : views;scaling +Oracle Open Office Writer : Visual Basic for Applications +Oracle Open Office Writer : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Writer : watermarks +Oracle Open Office Writer : web documents +Oracle Open Office Writer : web documents;XForms +Oracle Open Office Writer : Web support +Oracle Open Office Writer : WebCast export +Oracle Open Office Writer : WebDAV over HTTPS +Oracle Open Office Writer : weekdays +Oracle Open Office Writer : weekdays;automatically completing +Oracle Open Office Writer : widows +Oracle Open Office Writer : wildcards, see regular expressions +Oracle Open Office Writer : windows +Oracle Open Office Writer : windows;docking +Oracle Open Office Writer : windows;docking definition +Oracle Open Office Writer : windows;hiding/showing/docking +Oracle Open Office Writer : windows;new +Oracle Open Office Writer : wizards +Oracle Open Office Writer : wizards;agendas +Oracle Open Office Writer : wizards;database queries +Oracle Open Office Writer : wizards;database tables (Base) +Oracle Open Office Writer : wizards;databases (Base) +Oracle Open Office Writer : wizards;document converter +Oracle Open Office Writer : wizards;Euro Converter +Oracle Open Office Writer : wizards;faxes +Oracle Open Office Writer : wizards;form letters +Oracle Open Office Writer : wizards;forms +Oracle Open Office Writer : wizards;letters +Oracle Open Office Writer : wizards;macros (Base) +Oracle Open Office Writer : wizards;overview +Oracle Open Office Writer : wizards;presentations +Oracle Open Office Writer : wizards;reports +Oracle Open Office Writer : word completion +Oracle Open Office Writer : word completion;settings +Oracle Open Office Writer : word completion;using/disabling +Oracle Open Office Writer : word counts +Oracle Open Office Writer : Word documents +Oracle Open Office Writer : Word documents;compatibility +Oracle Open Office Writer : Word documents;saving as +Oracle Open Office Writer : WordArt, see Fontwork +Oracle Open Office Writer : words +Oracle Open Office Writer : words;automatic replacement on/off +Oracle Open Office Writer : words;automatically replacing +Oracle Open Office Writer : words;backgrounds +Oracle Open Office Writer : words;counting in text +Oracle Open Office Writer : words;disabling spellcheck +Oracle Open Office Writer : words;wrapping in cells +Oracle Open Office Writer : words;wrapping in CTL +Oracle Open Office Writer : words;wrapping/not wrapping in text +Oracle Open Office Writer : working directory change +Oracle Open Office Writer : wrapping text +Oracle Open Office Writer : wrapping text;editing contours +Oracle Open Office Writer : wrapping text;in cells +Oracle Open Office Writer : write protection on/off +Oracle Open Office Writer : writing aids options +Oracle Open Office Writer : writing with direct cursor +Oracle Open Office Writer : WYSIWYG in fonts lists +Oracle Open Office Writer : X axes +Oracle Open Office Writer : X axes;grid formatting +Oracle Open Office Writer : X axes;positioning +Oracle Open Office Writer : X axes;scaling +Oracle Open Office Writer : X axes;showing +Oracle Open Office Writer : XForms +Oracle Open Office Writer : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Writer : XForms;conditions +Oracle Open Office Writer : XForms;opening/editing +Oracle Open Office Writer : XML converters +Oracle Open Office Writer : XML file formats +Oracle Open Office Writer : XML filters +Oracle Open Office Writer : XML filters;creating/testing +Oracle Open Office Writer : XML filters;saving as package/installing/deleting +Oracle Open Office Writer : XML filters;settings +Oracle Open Office Writer : XML Forms, see XForms +Oracle Open Office Writer : XSLT filters, see also XML filters +Oracle Open Office Writer : XY charts +Oracle Open Office Writer : Y axes +Oracle Open Office Writer : Y axes;formatting +Oracle Open Office Writer : Y axes;grid formatting +Oracle Open Office Writer : Y axes;positioning +Oracle Open Office Writer : Y axes;scaling +Oracle Open Office Writer : Y axes;showing +Oracle Open Office Writer : years +Oracle Open Office Writer : years;2-digit options +Oracle Open Office Writer : Z axes +Oracle Open Office Writer : Z axes;grid formatting +Oracle Open Office Writer : Z axes;showing +Oracle Open Office Writer : zero values +Oracle Open Office Writer : zero values;displaying (Calc) +Oracle Open Office Writer : zooming +Oracle Open Office Writer : zooming;page views +Oracle Open Office Writer : zooming;pictures +Oracle Open Office Writer : zooming;status bar diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt new file mode 100644 index 000000000000..5c04d7985c0e --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt @@ -0,0 +1,6 @@ +Java Platform Support +Java +Start Parameters +MySQL Connection +Oracle Open Office +Glossary of Internet Terms diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt new file mode 100644 index 000000000000..4ad00920a409 --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt @@ -0,0 +1,7 @@ +Java Platform Support +Java +Organize Macros +Start Parameters +MySQL Connection +Oracle Open Office +Glossary of Internet Terms diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt new file mode 100644 index 000000000000..53006536b79b --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt @@ -0,0 +1,16 @@ +Java +Java Platform Support +Class Path +Assistive Tools in Oracle Open Office +Mail Merge Wizard - Document Type +Start Parameters +MySQL Connection +Accessibility in Oracle Open Office +Oracle Open Office +Report Builder +Glossary of Internet Terms +Accessibility +Mobile Device Filters for Pocket Device Appliances +JDBC Connection +Scripting Oracle Open Office +General Glossary diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt new file mode 100644 index 000000000000..801677749685 --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt @@ -0,0 +1,22 @@ +Mail Merge Wizard - Document Type +Java Platform Support +Java +Class Path +HTML Filters and Forms +Assistive Tools in Oracle Open Office +Start Parameters +Organize Macros +JDBC Connection +MySQL Connection +Insert Script +Accessibility in Oracle Open Office +Oracle Open Office +Scripting Oracle Open Office +Macro +Report Builder +Glossary of Internet Terms +Accessibility +Mobile Device Filters for Pocket Device Appliances +HTML Export - Page 2 +Data +General Glossary -- cgit From c288dd322747e11a5c779f155ba39e799a9920c2 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Mon, 10 May 2010 17:35:24 +0200 Subject: jl152: #i108704# allow to restart the office --- desktop/scripts/soffice.sh | 9 +++++++-- desktop/source/app/app.cxx | 21 ++++++++++++++++++++- desktop/source/inc/exithelper.hxx | 2 ++ desktop/unx/source/officeloader/officeloader.cxx | 2 +- desktop/win32/source/officeloader/officeloader.cxx | 3 ++- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh index ebbdeb9eabdb..fae9dbe4d695 100644 --- a/desktop/scripts/soffice.sh +++ b/desktop/scripts/soffice.sh @@ -120,9 +120,14 @@ trap 'kill -9 $!' TERM wait $! sd_ret=$? -while [ $sd_ret -eq 79 ] +while [ $sd_ret -eq 79 -o $sd_ret -eq 81 ] do - "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" & + if [ $sd_ret -eq 79 ]; then + "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" & + elif if [ $sd_ret -eq 81 ]; then + "$sd_prog/$sd_binary" "$@" & + fi + wait $! sd_ret=$? done diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 8e610fb0e141..3b0a1ea0dcf8 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -84,6 +84,7 @@ #include #include #include +#include #ifndef _COM_SUN_STAR_TASK_XJOBEXECUTOR_HPP_ #include #endif @@ -103,6 +104,7 @@ #include #include #include +#include #include #ifndef _UTL__HXX_ #include @@ -140,6 +142,7 @@ #include #include #include +#include #include "vos/process.hxx" @@ -1615,6 +1618,7 @@ void Desktop::Main() // call Application::Execute to process messages in vcl message loop RTL_LOGFILE_PRODUCT_TRACE( "PERFORMANCE - enter Application::Execute()" ); + Reference< ::com::sun::star::task::XRestartManager > xRestartManager; try { // The JavaContext contains an interaction handler which is used when @@ -1622,7 +1626,11 @@ void Desktop::Main() com::sun::star::uno::ContextLayer layer2( new svt::JavaContext( com::sun::star::uno::getCurrentContext() ) ); - Execute(); + ::comphelper::ComponentContext aContext( xSMgr ); + xRestartManager.set( aContext.getSingleton( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.OfficeRestartManager" ) ) ), UNO_QUERY ); + + if ( !xRestartManager.is() || !xRestartManager->isRestartRequested( sal_True ) ) + Execute(); } catch(const com::sun::star::document::CorruptedFilterConfigurationException& exFilterCfg) { @@ -1635,6 +1643,9 @@ void Desktop::Main() FatalError( MakeStartupErrorMessage(exAnyCfg.Message) ); } + // check whether the shutdown is caused by restart + sal_Bool bRestartRequested = ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) ); + if (xGlobalBroadcaster.is()) { css::document::EventObject aEvent; @@ -1671,6 +1682,14 @@ void Desktop::Main() RTL_LOGFILE_CONTEXT_TRACE( aLog, "<- deinit ucb" ); RTL_LOGFILE_CONTEXT_TRACE( aLog, "FINISHED WITH Destop::Main" ); + if ( bRestartRequested ) + { +#ifdef MACOSX + DoRestart(); +#endif + // wouldn't the solution be more clean if SalMain returns the exit code to the system? + _exit( ExitHelper::E_NORMAL_RESTART ); + } } IMPL_LINK( Desktop, ImplInitFilterHdl, ConvertData*, pData ) diff --git a/desktop/source/inc/exithelper.hxx b/desktop/source/inc/exithelper.hxx index 2e6d7e774d98..e2604ce49b68 100644 --- a/desktop/source/inc/exithelper.hxx +++ b/desktop/source/inc/exithelper.hxx @@ -58,6 +58,8 @@ class ExitHelper E_FATAL_ERROR = 333, // Only the low 8 bits are significant 333 % 256 = 77 /// user force automatic restart after crash E_CRASH_WITH_RESTART = 79, + /// the office restarts itself + E_NORMAL_RESTART = 81 }; }; diff --git a/desktop/unx/source/officeloader/officeloader.cxx b/desktop/unx/source/officeloader/officeloader.cxx index de84985cdea6..87621960c61a 100755 --- a/desktop/unx/source/officeloader/officeloader.cxx +++ b/desktop/unx/source/officeloader/officeloader.cxx @@ -93,7 +93,7 @@ SAL_IMPLEMENT_MAIN() if ( info.Fields & osl_Process_EXITCODE ) { exitcode = info.Code; - bRestart = (ExitHelper::E_CRASH_WITH_RESTART == exitcode); + bRestart = (ExitHelper::E_CRASH_WITH_RESTART == exitcode || ExitHelper::E_NORMAL_RESTART == exitcode); } else break; diff --git a/desktop/win32/source/officeloader/officeloader.cxx b/desktop/win32/source/officeloader/officeloader.cxx index f36bfc134ded..2d602a6d6507 100644 --- a/desktop/win32/source/officeloader/officeloader.cxx +++ b/desktop/win32/source/officeloader/officeloader.cxx @@ -416,7 +416,8 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) CloseHandle( aProcessInfo.hProcess ); CloseHandle( aProcessInfo.hThread ); } - } while ( fSuccess && ::desktop::ExitHelper::E_CRASH_WITH_RESTART == dwExitCode ); + } while ( fSuccess + && ( ::desktop::ExitHelper::E_CRASH_WITH_RESTART == dwExitCode || ::desktop::ExitHelper::E_NORMAL_RESTART == dwExitCode ); delete[] lpCommandLine; return fSuccess ? dwExitCode : -1; -- cgit From 3d7ab366ba0002f0971af4afc8c2af786db9b927 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Mon, 10 May 2010 17:35:24 +0200 Subject: jl152: #i108704# allow to restart the office --- offapi/com/sun/star/task/OfficeRestartManager.idl | 53 ++++++++++++ offapi/com/sun/star/task/XRestartManager.idl | 99 +++++++++++++++++++++++ offapi/com/sun/star/task/makefile.mk | 2 + 3 files changed, 154 insertions(+) create mode 100644 offapi/com/sun/star/task/OfficeRestartManager.idl create mode 100644 offapi/com/sun/star/task/XRestartManager.idl diff --git a/offapi/com/sun/star/task/OfficeRestartManager.idl b/offapi/com/sun/star/task/OfficeRestartManager.idl new file mode 100644 index 000000000000..9205992d169f --- /dev/null +++ b/offapi/com/sun/star/task/OfficeRestartManager.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_task_OfficeRestartManager_idl__ +#define __com_sun_star_task_OfficeRestartManager_idl__ + +//============================================================================= + +module com { module sun { module star { module task { + +interface XRestartManager; + +//============================================================================= + +/** This singleton is intended to allow to restart the office asynchronously. + + @since OOo 3.3 + */ +singleton OfficeRestartManager : XRestartManager; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + + +#endif + diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl new file mode 100644 index 000000000000..102a1044d2e8 --- /dev/null +++ b/offapi/com/sun/star/task/XRestartManager.idl @@ -0,0 +1,99 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_task_XRestartManager_idl__ +#define __com_sun_star_task_XRestartManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include +#endif + +#ifndef __com_sun_star_task_XInteractionHandler_idl__ +#include +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include +#endif + +//============================================================================ + +module com { module sun { module star { module task { + +//============================================================================= +/** allows to try to restart the office. + + @since OOo3.3 +*/ +published interface XRestartManager : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** let the office restart asynchronously + @param xInteractionHandler + the InteractionHandler + service implementation, that is used in case a problem is detected + during requesting the restart. + + @throws com::sun::star::uno::Exception + to notify the caller about possible failures + */ + void requestRestart( + [in] com::sun::star::task::XInteractionHandler xInteractionHandler ) + raises( com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------ + /** allows to get info whether the restart has been requested and provide + the initialization status. + +

                + The office has to call this method just before the main loop has been + started, with the as argument, so that the implementation + knows that the office is initialized. If the method returns , + the office should restart without starting the main loop. +

                + + @param bInitialized + specifies whether the office process is initialized already, + if the caller does not have this information, he should provide + . + + @returns + if the office restart has been requested, + otherwise + + @throws com::sun::star::uno::Exception + to notify the caller about possible failures + */ + boolean isRestartRequested( + [in] boolean bInitialized ) + raises( com::sun::star::uno::Exception ); +}; + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk index 3b622b469b63..32af74ad8426 100644 --- a/offapi/com/sun/star/task/makefile.mk +++ b/offapi/com/sun/star/task/makefile.mk @@ -57,6 +57,7 @@ IDLFILES=\ PasswordContainerInteractionHandler.idl\ PasswordRequest.idl\ PasswordRequestMode.idl\ + OfficeRestartManager.idl\ UnsupportedOverwriteRequest.idl\ UrlRecord.idl\ UserRecord.idl\ @@ -71,6 +72,7 @@ IDLFILES=\ XMasterPasswordHandling.idl\ XMasterPasswordHandling2.idl\ XPasswordContainer.idl\ + XRestartManager.idl\ XStatusIndicator.idl\ XStatusIndicatorFactory.idl\ XStatusIndicatorSupplier.idl\ -- cgit From 0ddbd71a7ac5a25aa92666d26d5f264821c3bad8 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Mon, 10 May 2010 17:35:24 +0200 Subject: jl152: #i108704# allow to restart the office --- comphelper/source/misc/comphelper_services.cxx | 2 + comphelper/source/misc/makefile.mk | 1 + comphelper/source/misc/officerestartmanager.cxx | 210 ++++++++++++++++++++++++ comphelper/source/misc/officerestartmanager.hxx | 91 ++++++++++ 4 files changed, 304 insertions(+) create mode 100644 comphelper/source/misc/officerestartmanager.cxx create mode 100644 comphelper/source/misc/officerestartmanager.hxx diff --git a/comphelper/source/misc/comphelper_services.cxx b/comphelper/source/misc/comphelper_services.cxx index a2d4dd8fc0de..b46dcea68ba7 100644 --- a/comphelper/source/misc/comphelper_services.cxx +++ b/comphelper/source/misc/comphelper_services.cxx @@ -41,6 +41,7 @@ extern void createRegistryInfo_OfficeInstallationDirectories(); extern void createRegistryInfo_OInstanceLocker(); extern void createRegistryInfo_Map(); extern void createRegistryInfo_OSimpleLogRing(); +extern void createRegistryInfo_OOfficeRestartManager(); //........................................................................ namespace comphelper { namespace module @@ -66,6 +67,7 @@ namespace comphelper { namespace module createRegistryInfo_OInstanceLocker(); createRegistryInfo_Map(); createRegistryInfo_OSimpleLogRing(); + createRegistryInfo_OOfficeRestartManager(); } } } diff --git a/comphelper/source/misc/makefile.mk b/comphelper/source/misc/makefile.mk index 94837ce49df9..a49c2eb59c84 100644 --- a/comphelper/source/misc/makefile.mk +++ b/comphelper/source/misc/makefile.mk @@ -72,6 +72,7 @@ SLOFILES= \ $(SLO)$/numberedcollection.obj \ $(SLO)$/numbers.obj \ $(SLO)$/officeresourcebundle.obj \ + $(SLO)$/officerestartmanager.obj \ $(SLO)$/proxyaggregation.obj \ $(SLO)$/querydeep.obj \ $(SLO)$/regpathhelper.obj \ diff --git a/comphelper/source/misc/officerestartmanager.cxx b/comphelper/source/misc/officerestartmanager.cxx new file mode 100644 index 000000000000..1a98ddfce8da --- /dev/null +++ b/comphelper/source/misc/officerestartmanager.cxx @@ -0,0 +1,210 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_comphelper.hxx" + +#include +#include +#include +#include + +#include +#include "officerestartmanager.hxx" + +using namespace ::com::sun::star; + +namespace comphelper +{ + +// ---------------------------------------------------------- +uno::Sequence< ::rtl::OUString > SAL_CALL OOfficeRestartManager::getSupportedServiceNames_static() +{ + uno::Sequence< rtl::OUString > aResult( 1 ); + aResult[0] = getServiceName_static(); + return aResult; +} + +// ---------------------------------------------------------- +::rtl::OUString SAL_CALL OOfficeRestartManager::getImplementationName_static() +{ + return rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.task.OfficeRestartManager" ) ); +} + +// ---------------------------------------------------------- +::rtl::OUString SAL_CALL OOfficeRestartManager::getSingletonName_static() +{ + return rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.OfficeRestartManager" ) ); +} + +// ---------------------------------------------------------- +::rtl::OUString SAL_CALL OOfficeRestartManager::getServiceName_static() +{ + return rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.task.OfficeRestartManager" ) ); +} + +// ---------------------------------------------------------- +uno::Reference< uno::XInterface > SAL_CALL OOfficeRestartManager::Create( const uno::Reference< uno::XComponentContext >& rxContext ) +{ + return static_cast< cppu::OWeakObject* >( new OOfficeRestartManager( rxContext ) ); +} + +// XRestartManager +// ---------------------------------------------------------- +void SAL_CALL OOfficeRestartManager::requestRestart( const uno::Reference< task::XInteractionHandler >& /* xInteractionHandler */ ) + throw (uno::Exception, uno::RuntimeException) +{ + if ( !m_xContext.is() ) + throw uno::RuntimeException(); + + { + ::osl::MutexGuard aGuard( m_aMutex ); + + // if the restart already running there is no need to trigger it again + if ( m_bRestartRequested ) + return; + + m_bRestartRequested = sal_True; + + // the office is still not initialized, no need to terminate, changing the state is enough + if ( !m_bOfficeInitialized ) + return; + } + + // TODO: use InteractionHandler to report errors + try + { + // register itself as a job that should be executed asynchronously + uno::Reference< lang::XMultiComponentFactory > xFactory( m_xContext->getServiceManager(), uno::UNO_SET_THROW ); + + uno::Reference< awt::XRequestCallback > xRequestCallback( + xFactory->createInstanceWithContext( + ::rtl::OUString::createFromAscii("com.sun.star.awt.AsyncCallback"), + m_xContext ), + uno::UNO_QUERY_THROW ); + + xRequestCallback->addCallback( this, uno::Any() ); + } + catch ( uno::Exception& ) + { + // the try to request restart has failed + m_bRestartRequested = sal_False; + } +} + +// ---------------------------------------------------------- +::sal_Bool SAL_CALL OOfficeRestartManager::isRestartRequested( ::sal_Bool bOfficeInitialized ) + throw (uno::Exception, uno::RuntimeException) +{ + ::osl::MutexGuard aGuard( m_aMutex ); + + if ( bOfficeInitialized && !m_bOfficeInitialized ) + m_bOfficeInitialized = bOfficeInitialized; + + return m_bRestartRequested; +} + +// XCallback +// ---------------------------------------------------------- +void SAL_CALL OOfficeRestartManager::notify( const uno::Any& /* aData */ ) + throw ( uno::RuntimeException ) +{ + try + { + sal_Bool bSuccess = sal_False; + + if ( m_xContext.is() ) + { + uno::Reference< lang::XMultiComponentFactory > xFactory( m_xContext->getServiceManager(), uno::UNO_SET_THROW ); + uno::Reference< frame::XDesktop > xDesktop( + xFactory->createInstanceWithContext( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ), m_xContext ), + uno::UNO_QUERY_THROW ); + + // Turn Quickstarter veto off + uno::Reference< beans::XPropertySet > xPropertySet( xDesktop, uno::UNO_QUERY_THROW ); + ::rtl::OUString aVetoPropName( RTL_CONSTASCII_USTRINGPARAM( "SuspendQuickstartVeto" ) ); + uno::Any aValue; + aValue <<= (sal_Bool)sal_True; + xPropertySet->setPropertyValue( aVetoPropName, aValue ); + + try + { + bSuccess = xDesktop->terminate(); + } catch( uno::Exception& ) + {} + + if ( !bSuccess ) + { + aValue <<= (sal_Bool)sal_False; + xPropertySet->setPropertyValue( aVetoPropName, aValue ); + } + } + + if ( !bSuccess ) + m_bRestartRequested = sal_False; + } + catch( uno::Exception& ) + { + // the try to restart has failed + m_bRestartRequested = sal_False; + } +} + +// XServiceInfo +// ---------------------------------------------------------- +::rtl::OUString SAL_CALL OOfficeRestartManager::getImplementationName() throw (uno::RuntimeException) +{ + return getImplementationName_static(); +} + +// ---------------------------------------------------------- +::sal_Bool SAL_CALL OOfficeRestartManager::supportsService( const ::rtl::OUString& aServiceName ) throw (uno::RuntimeException) +{ + const uno::Sequence< rtl::OUString > & aSupportedNames = getSupportedServiceNames_static(); + for ( sal_Int32 nInd = 0; nInd < aSupportedNames.getLength(); nInd++ ) + { + if ( aSupportedNames[ nInd ].equals( aServiceName ) ) + return sal_True; + } + + return sal_False; +} + +// ---------------------------------------------------------- +uno::Sequence< ::rtl::OUString > SAL_CALL OOfficeRestartManager::getSupportedServiceNames() throw (uno::RuntimeException) +{ + return getSupportedServiceNames_static(); +} + +} // namespace comphelper + +void createRegistryInfo_OOfficeRestartManager() +{ + static ::comphelper::module::OAutoRegistration< ::comphelper::OOfficeRestartManager > aAutoRegistration; + static ::comphelper::module::OSingletonRegistration< ::comphelper::OOfficeRestartManager > aSingletonRegistration; +} diff --git a/comphelper/source/misc/officerestartmanager.hxx b/comphelper/source/misc/officerestartmanager.hxx new file mode 100644 index 000000000000..2317d0217060 --- /dev/null +++ b/comphelper/source/misc/officerestartmanager.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __OFFICESTARTMANAGER_HXX_ +#define __OFFICESTARTMANAGER_HXX_ + +#include +#include +#include +#include + +#include +#include + +namespace comphelper +{ + +class OOfficeRestartManager : public ::cppu::WeakImplHelper3< ::com::sun::star::task::XRestartManager + , ::com::sun::star::awt::XCallback + , ::com::sun::star::lang::XServiceInfo > +{ + ::osl::Mutex m_aMutex; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext; + + sal_Bool m_bOfficeInitialized; + sal_Bool m_bRestartRequested; + +public: + OOfficeRestartManager( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext ) + : m_xContext( xContext ) + , m_bOfficeInitialized( sal_False ) + , m_bRestartRequested( sal_False ) + {} + + virtual ~OOfficeRestartManager() + {} + + static ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL + getSupportedServiceNames_static(); + + static ::rtl::OUString SAL_CALL getImplementationName_static(); + + static ::rtl::OUString SAL_CALL getSingletonName_static(); + + static ::rtl::OUString SAL_CALL getServiceName_static(); + + static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL + Create( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ); + +// XRestartManager + virtual void SAL_CALL requestRestart( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xInteractionHandler ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isRestartRequested( ::sal_Bool bInitialized ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + +// XCallback + virtual void SAL_CALL notify( const ::com::sun::star::uno::Any& aData ) throw (::com::sun::star::uno::RuntimeException); + +// XServiceInfo + virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException); + +}; + +} // namespace comphelper + +#endif + -- cgit From d3fa4e4b471979d44494079aafa2a1018cc91fa0 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Mon, 10 May 2010 17:55:28 +0200 Subject: jl152: #i108704# fix typo --- desktop/scripts/soffice.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh index fae9dbe4d695..0215f88d1ff0 100644 --- a/desktop/scripts/soffice.sh +++ b/desktop/scripts/soffice.sh @@ -124,7 +124,7 @@ while [ $sd_ret -eq 79 -o $sd_ret -eq 81 ] do if [ $sd_ret -eq 79 ]; then "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" & - elif if [ $sd_ret -eq 81 ]; then + elif [ $sd_ret -eq 81 ]; then "$sd_prog/$sd_binary" "$@" & fi -- cgit From c1979d19e6221f05f79565b67733b6521ada2d93 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Tue, 11 May 2010 11:52:13 +0200 Subject: cws tl78: #i109634# changes to password to open/modify dialog --- cui/source/dialogs/passwdomdlg.cxx | 79 +++++++++++++++++++++++++++++++++----- cui/source/dialogs/passwdomdlg.hrc | 3 ++ cui/source/dialogs/passwdomdlg.src | 31 +++++++++++---- 3 files changed, 96 insertions(+), 17 deletions(-) diff --git a/cui/source/dialogs/passwdomdlg.cxx b/cui/source/dialogs/passwdomdlg.cxx index d330ed1655f8..6f2f275c16fd 100755 --- a/cui/source/dialogs/passwdomdlg.cxx +++ b/cui/source/dialogs/passwdomdlg.cxx @@ -43,6 +43,7 @@ #include #include #include +#include ////////////////////////////////////////////////////////////////////// @@ -67,7 +68,8 @@ public: PasswordReenterEdit_Impl::PasswordReenterEdit_Impl( Window * pParent, const ResId &rResId ) : Edit( pParent, rResId ) { - m_aDefaultTxt = String( CUI_RES( STR_PASSWD_MUST_BE_CONFIRMED ) ); +// currently the spec does not want to display this text anymore... +// m_aDefaultTxt = String( CUI_RES( STR_PASSWD_MUST_BE_CONFIRMED ) ); } @@ -104,7 +106,7 @@ void PasswordReenterEdit_Impl::Paint( const Rectangle& rRect ) struct PasswordToOpenModifyDialog_Impl { - Window * m_pParent; + PasswordToOpenModifyDialog * m_pParent; FixedLine m_aFileEncryptionFL; FixedText m_aPasswdToOpenFT; @@ -125,16 +127,21 @@ struct PasswordToOpenModifyDialog_Impl PasswordReenterEdit_Impl m_aReenterPasswdToModifyED; // FixedImage m_aPasswdToModifyMatchFI; + String m_aOneMismatch; + String m_aTwoMismatch; + String m_aInvalidStateForOkButton; - DECL_LINK( ModifyHdl, Edit * ); - PasswordToOpenModifyDialog_Impl( Window * pParent, sal_uInt16 nMinPasswdLen, sal_uInt16 nMaxPasswdLen ); +// DECL_LINK( ModifyHdl, Edit * ); + DECL_LINK( OkBtnClickHdl, OKButton * ); + + PasswordToOpenModifyDialog_Impl( PasswordToOpenModifyDialog * pParent, sal_uInt16 nMinPasswdLen, sal_uInt16 nMaxPasswdLen ); ~PasswordToOpenModifyDialog_Impl(); }; PasswordToOpenModifyDialog_Impl::PasswordToOpenModifyDialog_Impl( - Window * pParent, + PasswordToOpenModifyDialog * pParent, sal_uInt16 nMinPasswdLen, sal_uInt16 nMaxPasswdLen ) : m_pParent( pParent ), @@ -154,8 +161,11 @@ PasswordToOpenModifyDialog_Impl::PasswordToOpenModifyDialog_Impl( m_aPasswdToModifyFT ( pParent, CUI_RES( FT_PASSWD_TO_MODIFY ) ), m_aPasswdToModifyED ( pParent, CUI_RES( ED_PASSWD_TO_MODIFY ) ), m_aReenterPasswdToModifyFT ( pParent, CUI_RES( FT_REENTER_PASSWD_TO_MODIFY ) ), - m_aReenterPasswdToModifyED ( pParent, CUI_RES( ED_REENTER_PASSWD_TO_MODIFY ) ) + m_aReenterPasswdToModifyED ( pParent, CUI_RES( ED_REENTER_PASSWD_TO_MODIFY ) ), // m_aPasswdToModifyMatchFI ( pParent, CUI_RES( FI_PASSWD_TO_MODIFY_MATCH ) ) + m_aOneMismatch( CUI_RES( STR_ONE_PASSWORD_MISMATCH ) ), + m_aTwoMismatch( CUI_RES( STR_TWO_PASSWORDS_MISMATCH ) ), + m_aInvalidStateForOkButton( CUI_RES( STR_INVALID_STATE_FOR_OK_BUTTON ) ) { /* const sal_Bool bHighContrast = pParent->GetSettings().GetStyleSettings().GetHighContrastMode(); @@ -167,13 +177,17 @@ PasswordToOpenModifyDialog_Impl::PasswordToOpenModifyDialog_Impl( m_aMoreFewerOptionsBTN.SetMoreText( String( CUI_RES( STR_MORE_OPTIONS ) ) ); m_aMoreFewerOptionsBTN.SetLessText( String( CUI_RES( STR_FEWER_OPTIONS ) ) ); +#if 0 Link aModifyLink = LINK( this, PasswordToOpenModifyDialog_Impl, ModifyHdl ); m_aPasswdToOpenED.SetModifyHdl( aModifyLink ); m_aReenterPasswdToOpenED.SetModifyHdl( aModifyLink ); m_aPasswdToModifyED.SetModifyHdl( aModifyLink ); m_aReenterPasswdToModifyED.SetModifyHdl( aModifyLink ); +#endif - m_aOk.Enable( FALSE ); + m_aOk.SetClickHdl( LINK( this, PasswordToOpenModifyDialog_Impl, OkBtnClickHdl ) ); + +// m_aOk.Enable( FALSE ); if (nMaxPasswdLen) { @@ -187,7 +201,7 @@ PasswordToOpenModifyDialog_Impl::PasswordToOpenModifyDialog_Impl( m_aPasswdToOpenED.GrabFocus(); - ModifyHdl( NULL ); +// ModifyHdl( NULL ); } @@ -195,7 +209,7 @@ PasswordToOpenModifyDialog_Impl::~PasswordToOpenModifyDialog_Impl() { } - +#if 0 IMPL_LINK( PasswordToOpenModifyDialog_Impl, ModifyHdl, Edit *, EMPTYARG /*pEdit*/ ) { // force repaints to get the m_aDefaultTxt displayed again @@ -218,8 +232,55 @@ IMPL_LINK( PasswordToOpenModifyDialog_Impl, ModifyHdl, Edit *, EMPTYARG /*pEdit* return 0; } +#endif +IMPL_LINK( PasswordToOpenModifyDialog_Impl, OkBtnClickHdl, OKButton *, EMPTYARG /*pBtn*/ ) +{ + bool bInvalidState = !m_aOpenReadonlyCB.IsChecked() && + m_aPasswdToOpenED.GetText().Len() == 0 && + m_aPasswdToModifyED.GetText().Len() == 0; + if (bInvalidState) + { + ErrorBox aErrorBox( m_pParent, WB_OK, m_aInvalidStateForOkButton ); + aErrorBox.Execute(); + } + else // check for mismatched passwords... + { + const bool bToOpenMatch = m_aPasswdToOpenED.GetText() == m_aReenterPasswdToOpenED.GetText(); + const bool bToModifyMatch = m_aPasswdToModifyED.GetText() == m_aReenterPasswdToModifyED.GetText(); + const int nMismatch = (bToOpenMatch? 0 : 1) + (bToModifyMatch? 0 : 1); + if (nMismatch > 0) + { + ErrorBox aErrorBox( m_pParent, WB_OK, nMismatch == 1 ? m_aOneMismatch : m_aTwoMismatch ); + aErrorBox.Execute(); + + Edit &rEdit = !bToOpenMatch? m_aPasswdToOpenED : m_aPasswdToModifyED; + PasswordReenterEdit_Impl &rRepeatEdit = !bToOpenMatch? m_aReenterPasswdToOpenED : m_aReenterPasswdToModifyED; + String aEmpty; + if (nMismatch == 1) + { + rEdit.SetText( aEmpty ); + rRepeatEdit.SetText( aEmpty ); + } + else if (nMismatch == 2) + { + m_aPasswdToOpenED.SetText( aEmpty ); + m_aReenterPasswdToOpenED.SetText( aEmpty ); + m_aPasswdToModifyED.SetText( aEmpty ); + m_aReenterPasswdToModifyED.SetText( aEmpty ); + } + rEdit.GrabFocus(); + } + else + { + m_pParent->EndDialog( RET_OK ); + } + } + + return 0; +} + ////////////////////////////////////////////////////////////////////// diff --git a/cui/source/dialogs/passwdomdlg.hrc b/cui/source/dialogs/passwdomdlg.hrc index e0111aed0084..f8229711e2c9 100755 --- a/cui/source/dialogs/passwdomdlg.hrc +++ b/cui/source/dialogs/passwdomdlg.hrc @@ -52,6 +52,9 @@ #define STR_MORE_OPTIONS 51 #define STR_FEWER_OPTIONS 52 #define STR_PASSWD_MUST_BE_CONFIRMED 53 +#define STR_ONE_PASSWORD_MISMATCH 54 +#define STR_TWO_PASSWORDS_MISMATCH 55 +#define STR_INVALID_STATE_FOR_OK_BUTTON 56 #endif diff --git a/cui/source/dialogs/passwdomdlg.src b/cui/source/dialogs/passwdomdlg.src index 9cdd215a6ff5..a2c522083891 100755 --- a/cui/source/dialogs/passwdomdlg.src +++ b/cui/source/dialogs/passwdomdlg.src @@ -44,7 +44,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 3, 3 ); Size = MAP_APPFONT( 165, 8 ); - Text [ en-US ] = "File encryption"; + Text [ en-US ] = "File encryption password"; }; FixedText FT_PASSWD_TO_OPEN @@ -67,7 +67,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 6, 45 ); Size = MAP_APPFONT( 159, 8 ); - Text [ en-US ] = "~Reenter password to open"; + Text [ en-US ] = "Confirm password"; WordBreak = TRUE; }; @@ -89,9 +89,9 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 6, 80 ); Size = MAP_APPFONT( 159, 4*8 ); // some extra space for translation in other languages - Text [ en-US ] = "Note: If you lose or forget the password, it can not be recovered. "\ - "It is advisable to keep passwords in a safe place. Passwords are "\ - "case-sensitive."; + Text [ en-US ] = "Note: After a password has been set, the document will only open with "\ + "the password. Should you lose the password, there will be no way to "\ + "recover the document. Please also note that this password is case-sensitive."; WordBreak = TRUE; }; @@ -127,7 +127,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 3, 154 ); Size = MAP_APPFONT( 165, 8 ); - Text [ en-US ] = "File sharing options"; + Text [ en-US ] = "File sharing password"; }; CheckBox CB_OPEN_READONLY @@ -142,7 +142,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 6, 186 ); Size = MAP_APPFONT( 159, 8 ); - Text [ en-US ] = "Enter password to modify"; + Text [ en-US ] = "Enter password to allow editing"; WordBreak = TRUE; }; @@ -158,7 +158,7 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Pos = MAP_APPFONT( 6, 214 ); Size = MAP_APPFONT( 159, 8 ); - Text [ en-US ] = "Reenter password to modify"; + Text [ en-US ] = "Confirm password"; WordBreak = TRUE; }; @@ -191,6 +191,21 @@ ModalDialog RID_DLG_PASSWORD_TO_OPEN_MODIFY { Text [ en-US ] = "Fewer ~Options" ; }; + + String STR_ONE_PASSWORD_MISMATCH + { + Text [ en-US ] = "The confirmation password did not match the password. Set the password again by entering the same password in both boxes." ; + }; + + String STR_TWO_PASSWORDS_MISMATCH + { + Text [ en-US ] = "The confirmation passwords did not match the original passwords. Set the passwords again." ; + }; + + String STR_INVALID_STATE_FOR_OK_BUTTON + { + Text [ en-US ] = "Please enter a password to open or to modify, or check the open read-only option to continue." ; + }; /* Image IMG_PASSWD_MATCH { -- cgit From 67fd074aa55fabfa223d33895801ff3a9eff965e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 11 May 2010 14:42:08 +0200 Subject: vitomation01: #i109562 Removed code duplication and very costly sleep statements in ch2_losa.inc, brings 20 minutes per testcase (grand total of about 2hrs). Reformatted ch2_xml_format.inc --- .../chart2/optional/includes/loadsave/ch2_losa.inc | 315 +++++++++++---------- .../optional/includes/loadsave/ch2_xml_format.inc | 74 ++--- 2 files changed, 197 insertions(+), 192 deletions(-) mode change 100644 => 100755 testautomation/chart2/optional/includes/loadsave/ch2_losa.inc diff --git a/testautomation/chart2/optional/includes/loadsave/ch2_losa.inc b/testautomation/chart2/optional/includes/loadsave/ch2_losa.inc old mode 100644 new mode 100755 index c2cb96636557..34b84e85250e --- a/testautomation/chart2/optional/includes/loadsave/ch2_losa.inc +++ b/testautomation/chart2/optional/includes/loadsave/ch2_losa.inc @@ -23,192 +23,197 @@ ' ' for a copy of the LGPLv3 License. ' -'/************************************************************************ +'/****************************************************************************** '* '* owner : oliver.craemer@sun.com '* '* short description : Load file of one Spreadsheet format and save to another '* -'************************************************************************ -'* -' #1 subLoSaFromTo ' Initial routine -' #1 tLoadSaveFromTo -'* -'\************************************************************************ +'\****************************************************************************** sub subLoSaFromTo - Dim sSourcePath as STRING - Dim lsInputFileList ( 500 ) as STRING - Dim iFilesInList as INTEGER - Dim sCurrentFileInList as STRING - Dim iMainIndex as INTEGER - + + dim sSourcePath as string + dim lsInputFileList ( 500 ) as string + dim iFilesInList as integer + dim sCurrentFileInList as string + dim iMainIndex as integer + + dim cRelativePath as string + cRelativePath = "chart2\optional\input\" & gsDirectoryInSourcePath &"\" + '///Load/Save files with charts printLog Chr(13) + "--------- Save with filter: " & gsFileFormat & " ----------" - sSourcePath = convertPath ( gtesttoolpath & "chart2\optional\input\" & gsDirectoryInSourcePath &"\" ) + sSourcePath = convertPath ( gtesttoolpath & cRelativePath ) + '///+
                • Determine list of files to test (All files in 'chart2\loadsave\input\\')
                • - Call GetAllFileList( sSourcePath , "*." & gsDirectoryInSourcePath , lsInputFileList() ) - '///+
                • Determine number of files found
                • - iFilesInList = cInt( lsInputFileList(0) ) + GetAllFileList( sSourcePath , "*." & gsDirectoryInSourcePath , lsInputFileList() ) + iFilesInList = ListCount( lsInputFileList() ) '///+
                • Run testcase 'tLoadSaveFromTo' for each file in list
                for iMainIndex = 2 to iFilesInList + sCurrentFileInList = lsInputFileList( iMainIndex ) printlog "* * * * * * *" printlog "Loop " & ( iMainIndex - 1 ) & " of " & ( iFilesInList - 1 ) printlog "Test document: " & sCurrentFileInList call tLoadSaveFromTo ( sCurrentFileInList ) + next iMainIndex -End Sub - -'******************************************************************* - -testcase tLoadSaveFromTo ( sCurrentFile as STRING ) - Dim sCurrentFileLength as INTEGER - Dim iCurrentPostionInFileName as INTEGER - Dim iLastPathSignePositon as INTEGER - Dim sExtractedFileName as STRING - Dim sExtractedExtension as STRING - Dim sTemporaryFile as STRING - Dim sOutputFile as STRING - Dim iIndex as INTEGER - - '///Load file - SaveAs... - Close - Relaod + +end sub + +'******************************************************************************* + +function hLoSaEscape() as boolean + + ' Fine grained function to send Escape-keystroke to a spreadsheet document + + const MAX_TRIES = 12 + dim iTry as integer + + for iTry = 1 to MAX_TRIES + + wait( 250 ) + + Kontext "DocumentCalc" + try + DocumentCalc.TypeKeys( "" ) + hLoSaEscape() = true + exit for + catch + if ( iTry = MAX_TRIES ) then + warnlog( "hLoSaEscape(): Sending to document failed." ) + hLoSaEscape() = false + endif + endcatch + + next iTry + +end function + +'******************************************************************************* + +function hLoSaInplaceEditing() as boolean + + ' Enter in-place editing mode + + const RC_TIMEOUT = -1 + + Kontext "DocumentCalc" + printlog( "Enable in-place editing by slot " ) + if ( hUseAsyncSlot( "EditObjectEdit" ) <> RC_TIMEOUT ) then + + printlog( "Clicked menuitem: Format->Charttype" ) + if ( hUseAsyncSlot( "FormatChartType" ) <> RC_TIMEOUT ) then + + Kontext "ChartType" + if ChartType.exists(2) then + + printlog( "Chart type dialog open, Chart object was found." ) + Kontext "ChartType" + if ( hCloseDialog( ChartType, "cancel" ) ) then + printlog( "Chart type dialog closed successfully" ) + hLoSaInplaceEditing() = true + else + warnlog( "hLoSaInplaceEditing(): Failed to close dialog " ) + hLoSaInplaceEditing() = false + endif + else + warnlog( "hLoSaInplaceEditing(): Chart type dialog not open, please check the Chart object" ) + hLoSaInplaceEditing() = false + endif + + else + warnlog( "hLoSaInplaceEditing(): Failed to execute slot " ) + hLoSaInplaceEditing() = false + endif + else + warnlog( "hLoSaInplaceEditing(): Failed to execute slot " ) + hLoSaInplaceEditing() = false + endif + +end function + +'******************************************************************************* + +testcase tLoadSaveFromTo ( sCurrentFile as string ) + + printlog( "Load/Save files containing Chart OLE objects in multiple file-formats" ) + + dim sCurrentFileLength as integer + dim iCurrentPostionInFileName as integer + dim iLastPathSignePositon as integer : iLastPathSignePositon = 0 + dim sExtractedFileName as string + dim sExtractedExtension as string + dim sTemporaryFile as string + dim sOutputFile as string + dim iIndex as integer + sCurrentFileLength = len ( sCurrentFile ) - iCurrentPostionInFileName = 0 - iLastPathSignePositon = 0 + 'Remove path and extension from file name - DO + do iCurrentPostionInFileName = instr ( iCurrentPostionInFileName + 1 , sCurrentFile , gPathSigne ) if iCurrentPostionInFileName = 0 then - Exit DO + exit do endif iLastPathSignePositon = iCurrentPostionInFileName - LOOP + loop + sExtractedFileName = right ( sCurrentFile , sCurrentFileLength - iLastPathSignePositon ) sCurrentFileLength = len ( sExtractedFileName ) - sExtractedExtension = right ( sExtractedFileName , 4 ) + sExtractedExtension = right ( sExtractedFileName , 4 ) sExtractedFileName = left ( sExtractedFileName , sCurrentFileLength - 4 ) sTemporaryFile = ( gOfficePath & ConvertPath("user\work\TemporaryFileToAvoidLocking" ) ) - sOutputFile = ( gOfficePath & ConvertPath("user\work\") & sExtractedFileName & "_" & gsDirectoryInSourcePath & "_to" & gsOutputFileCustomExtension ) - '///+
                • Open test document
                • - try - call hFileOpen(sCurrentFile) - catch - warnlog "Serious Problem occured while loading the input file -> Quit" + sOutputFile = ( gOfficePath & ConvertPath("user\work\" & sExtractedFileName & "_" & gsDirectoryInSourcePath & "_to" & gsOutputFileCustomExtension ) ) + + printlog( "Open file: " & sCurrentFile ) + if ( not hFileOpen( sCurrentFile ) ) then + warnlog( "Unable to read file" ) goto endsub - endcatch - - '///+
                • Save file localy to avoid locking issues
                • - if hFileSaveAsKill ( sTemporaryFile & sExtractedExtension ) then - printlog ">> OK, successfully saved the test document localy!" - else - warnlog "Saving the testdocument localy in source format failed!" - endif - sleep (2) - - '///+
                • Check existence of chart in file using following steps
                • - '///+
                • 1. Select Chart
                • - printlog ">> Check if chart exist after loading file" - call fSelectFirstOLE - - Kontext "DocumentCalc" - try - '///+
                • 2. Invoke 'Edit::Object::Edit' to enter inplace mode
                • - EditObjectEdit - sleep(2) - '///+
                • 3. Invoke Chart Type
                • - FormatChartType - '///+
                • 4. Check if Chart Type came up
                • - Kontext "ChartType" - if ChartType.exists(2) then - printlog ">> OK, found a Chart object after loading the file." - else - warnlog "Chart Type did not appear -> Check this out!" - endif - '///+
                • 5. Close Chart Type
                • - Kontext "ChartType" - ChartType.Cancel - catch - warnlog "Chart does not exist in file or a serious problem occured -> Check this out!" - endcatch - sleep(3) - - '///+
                • Hit 'ESCAPE' key to leave inplace mode
                • - Kontext "DocumentCalc" - try - DocumentCalc.TypeKeys "" - catch - warnlog "CRASH???" - goto endsub - endcatch - - '///+
                • Save file using ODS format
                • - printlog "Save file as " & sOutputFile - try - if hFileSaveAsWithFilter ( sOutputFile , gsFileFormat ) then - printlog ">> OK, successfully saved the test document!" - else - warnlog "Saving the testdocument failed!" - endif - catch - warnlog "A serious problem occured while saving file to target format -> Check this out!" - goto endsub - endcatch - sleep(2) - - '///+
                • Close document
                • - printlog "Closing test document" - call hCloseDocument - sleep(5) - - '///+
                • Open document again
                • - printlog "Reloading saved document" - try - call hFileOpen(sOutputFile) - catch - warnlog "Serious Problem occured while reloading the output file -> Quit" + endif + + printlog( "Save file locally, overwriting existing" ) + if ( not hFileSaveAsKill( sTemporaryFile & sExtractedExtension ) ) then + warnlog( "Unable to save file locally" ) goto endsub - endcatch - sleep(2) - - '///+
                • Check existence of chart after saving to target format in file using following steps
                • - '///+
                • 1. Select Chart
                • - printlog ">> Check if chart exist after saving file to target format" - call fSelectFirstOLE - - Kontext "DocumentCalc" - try - '///+
                • 2. Invoke 'Edit::Object::Edit' to enter inplace mode
                • - EditObjectEdit - '///+
                • 3. Invoke Chart Type
                • - FormatChartType - '///+
                • 4. Check if Chart Type came up
                • - Kontext "ChartType" - if ChartType.exists(2) then - printlog ">> OK, found a Chart object after saving the file to target format." - else - warnlog "Chart Type did not appear after saving the file to target format -> Check this out!" - endif - '///+
                • 5. Close Chart Type
                • - Kontext "ChartType" - ChartType.Cancel - catch - warnlog "Chart does not exist in file or a serious problem occured after saving the file to target format -> Check this out!" - endcatch - sleep(3) + endif - '///+
                • Hit 'ESCAPE' key to leave inplace mode
                • - Kontext "DocumentCalc" - try - DocumentCalc.TypeKeys "" - catch - warnlog "CRASH???" - goto endsub - endcatch + printlog( "Select the first OLE object via Navigator" ) + call fSelectFirstOLE + + printlog( "Enter in-place editing mode" ) + hLoSaInplaceEditing() + + printlog( "Type to exit in-place editing mode" ) + hLoSaEscape() + + printlog( "Save file as " & sOutputFile & " using filter: " & gsFileFormat ) + if ( not hFileSaveAsWithFilterKill ( sOutputFile , gsFileFormat ) ) then + warnlog( "Saving the document failed using filter: " & gsFileFormat ) + goto endsub + endif + + printlog( "Close the document" ) + hCloseDocument() - '///+
                • Close document
                • - printlog "Closing test document" - call hCloseDocument - '///+
                • END
                + printlog( "Reload document" ) + if ( not hFileOpen(sOutputFile) ) then + warnlog( "Failed to reload document" ) + goto endsub + endif + + printlog( "Select the first (and only) OLE object" ) + call fSelectFirstOLE + + printlog( "Enter in-place editing mode" ) + hLoSaInplaceEditing() + + printlog( "Type to exit in-place editing mode" ) + hLoSaEscape() + + printlog( "Close the document" ) + call hCloseDocument() + endcase diff --git a/testautomation/chart2/optional/includes/loadsave/ch2_xml_format.inc b/testautomation/chart2/optional/includes/loadsave/ch2_xml_format.inc index 515d9fe55ca6..0cf868bacaaf 100644 --- a/testautomation/chart2/optional/includes/loadsave/ch2_xml_format.inc +++ b/testautomation/chart2/optional/includes/loadsave/ch2_xml_format.inc @@ -37,17 +37,17 @@ '\*********************************************************************** testcase tCompareXMLFormatCreate -'///+ Test purpose: Verify within three characteristics that there is really a chart + '///+ Test purpose: Verify within three characteristics that there is really a chart dim sOutputFile as string dim sUnpackedStorageDir as string dim sChartContentXML as string - + gApplication = "WRITER" sOutputFile = convertpath(gOfficepath & "user\work\Chart2_XML.odt") sUnpackedStorageDir = (gOfficePath & ConvertPath("user\work\chart2_XML2")) sChartContentXML = (gOfficePath & ConvertPath("user\work\chart2_XML2") & ConvertPath("\Object 1\content.xml")) - + '/// File / New / Text printlog " Open new Writer document" call hNewDocument @@ -62,25 +62,25 @@ testcase tCompareXMLFormatCreate goto endsub else printlog "File saved successfully." - endif + endif '/// File / Close call hCloseDocument sleep(3) - printlog "File closed" - '/// Uncompress with unzip or jar the + printlog "File closed" + '/// Uncompress with unzip or jar the '///+ gOfficepath/user/work/verySimpleChart.ods document '///+ into gOfficePath/user/work/chart2_XML-directory printlog "Unpack storage of test document." UnpackStorage(sOutputFile, sUnpackedStorageDir) - printlog "Read the test documents DOM." + printlog "Read the test documents DOM." '/// Load the XML file gOfficePath/user/work/chart2_XML/Object 1/content.xml '///+ in an XML editor - SAXReadFile(sChartContentXML) + SAXReadFile(sChartContentXML) printlog "Set the DOM pointer to document root" printlog "|-/" SAXSeekElement("/") printlog " |-office:document-content" - '/// Open the element 'office:document-content' + '/// Open the element 'office:document-content' SAXSeekElement("office:document-content") printlog " |-office:body" '/// Open the element 'office:body' @@ -96,9 +96,9 @@ testcase tCompareXMLFormatCreate '///+ passed. if SAXGetAttributeValue("chart:class") = "chart:bar" then printlog "This is a bar chart as expected" - else + else warnlog "This is no bar chart, it is a " & SaxGetAttributeValue("chart:class") - endif + endif printlog "Seek for chart:plot-area" printlog " |-chart:plot-area" '/// Open the element 'chart:plot-area' @@ -107,9 +107,9 @@ testcase tCompareXMLFormatCreate '///+ the second characteristics validation has been passed. if SAXGetAttributeValue("chart:data-source-has-labels") = "both" then printlog "The label attribute for chart:plot-area is correct" - else + else warnlog "The lable attribute is not both, it is " & SaxGetAttributeValue("chart:data-source-has-labels") - endif + endif printlog "Seek for chart:series" printlog " |-chart:series" '/// Open the element 'chart:series' @@ -118,51 +118,51 @@ testcase tCompareXMLFormatCreate '///+ the hird characteristics validation has been passed. if SAXGetAttributeValue("chart:values-cell-range-address") = "local-table.$B$2:.$B$5" then printlog "The cell range for chart:series is correct" - else + else warnlog "The cell range is not local-table.$B$2:.$B$5, it is " & SaxGetAttributeValue("chart:values-cell-range-address") endif - ' DEBUG: printlog "I'm here: " & SAXGetElementName + ' DEBUG: printlog "I'm here: " & SAXGetElementName '/// Close the XML editor. - SAXRelease + SAXRelease endcase ' '-------------------------------------------------------------------- ' testcase tCompareXMLFormatLoad -'///+ Test purpose: Verify within three characteristics that there is really a chart + '///+ Test purpose: Verify within three characteristics that there is really a chart dim sOutputFile as string dim sUnpackedStorageDir as string dim sChartContentXML as string - + gApplication = "CALC" sOutputFile = convertpath(gOfficepath & "user\work\verySimpleChart.ods") sUnpackedStorageDir = (gOfficePath & ConvertPath("user\work\chart2_XML")) sChartContentXML = (gOfficePath & ConvertPath("user\work\chart2_XML") & ConvertPath("\Object 1\content.xml")) - + '/// File / Open / gTestToolPath/chart2/update/input/verySimpleChart.ods - '/// File / Save As / gOfficepath/user/work/verySimpleChart.ods + '/// File / Save As / gOfficepath/user/work/verySimpleChart.ods if fLoadVerySimpleChartAndSaveLocal() > 0 then warnlog "Loading test document failed!" goto endsub else printlog "Test document has successfully been loaded." endif - + '/// Select the chart object using the navigator printlog "Select chart using navigator" if fSelectFirstOLE = 0 then printlog "Chart is selected" - else + else warnlog "Chart could not be selected" call hCloseDocument goto endsub endif - + '/// Activate chart with Edit / Object / Edit printlog "Activate chart by Edit / Object / Edit" EditObjectEdit - + 'Save document localy Kontext "DocumentCalc" '/// Press twice to leave the chart object @@ -178,25 +178,25 @@ testcase tCompareXMLFormatLoad goto endsub else printlog "File with very simple chart saved successfully." - endif + endif '/// File / Close call hCloseDocument sleep(3) - printlog "File with very simple chart closed" - '/// Uncompress with unzip or jar the + printlog "File with very simple chart closed" + '/// Uncompress with unzip or jar the '///+ gOfficepath/user/work/verySimpleChart.ods document '///+ into gOfficePath/user/work/chart2_XML-directory printlog "Unpack storage of test document." UnpackStorage(sOutputFile, sUnpackedStorageDir) - printlog "Read the test documents DOM." + printlog "Read the test documents DOM." '/// Load the XML file gOfficePath/user/work/chart2_XML/Object 1/content.xml '///+ in an XML editor - SAXReadFile(sChartContentXML) + SAXReadFile(sChartContentXML) printlog "Set the DOM pointer to document root" printlog "|-/" SAXSeekElement("/") printlog " |-office:document-content" - '/// Open the element 'office:document-content' + '/// Open the element 'office:document-content' SAXSeekElement("office:document-content") printlog " |-office:body" '/// Open the element 'office:body' @@ -212,9 +212,9 @@ testcase tCompareXMLFormatLoad '///+ passed. if SAXGetAttributeValue("chart:class") = "chart:bar" then printlog "This is a bar chart as expected" - else + else warnlog "This is no bar chart, it is a " & SaxGetAttributeValue("chart:class") - endif + endif printlog "Seek for chart:plot-area" printlog " |-chart:plot-area" '/// Open the element 'chart:plot-area' @@ -223,9 +223,9 @@ testcase tCompareXMLFormatLoad '///+ the second characteristics validation has been passed. if SAXGetAttributeValue("table:cell-range-address") = "Sheet1.A1:B2" then printlog "The cell range for chart:plot-area is correct" - else + else warnlog "#i100780#: The cell range is not Sheet1.A1:B2, it is " & SaxGetAttributeValue("table:cell-range-address") - endif + endif printlog "Seek for chart:series" printlog " |-chart:series" '/// Open the element 'chart:series' @@ -234,10 +234,10 @@ testcase tCompareXMLFormatLoad '///+ the hird characteristics validation has been passed. if SAXGetAttributeValue("chart:values-cell-range-address") = "Sheet1.A1:A2" then printlog "The cell range for chart:series is correct" - else + else warnlog "#i100780#: The cell range is not Sheet1.A1:A2, it is " & SaxGetAttributeValue("chart:values-cell-range-address") endif - ' DEBUG: printlog "I'm here: " & SAXGetElementName + ' DEBUG: printlog "I'm here: " & SAXGetElementName '/// Close the XML editor. - SAXRelease + SAXRelease endcase -- cgit From ddd3ac4abb2054e30440198bc9ab54ae227d1f82 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 11 May 2010 14:48:15 +0200 Subject: CWS mba33issues01: #i111452#: allow to call getController() at disposed frames without assertion --- framework/source/services/frame.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx index 18d5a1c31bef..08a7c522831b 100644 --- a/framework/source/services/frame.cxx +++ b/framework/source/services/frame.cxx @@ -1551,8 +1551,9 @@ css::uno::Reference< css::awt::XWindow > SAL_CALL Frame::getComponentWindow() th css::uno::Reference< css::frame::XController > SAL_CALL Frame::getController() throw( css::uno::RuntimeException ) { /* UNSAFE AREA --------------------------------------------------------------------------------------------- */ + // It seems to be unavoidable that disposed frames allow to ask for a Controller (#111452) // Register transaction and reject wrong calls. - TransactionGuard aTransaction( m_aTransactionManager, E_HARDEXCEPTIONS ); + // TransactionGuard aTransaction( m_aTransactionManager, E_HARDEXCEPTIONS ); /* SAFE AREA ----------------------------------------------------------------------------------------------- */ ReadGuard aReadLock( m_aLock ); -- cgit -- cgit From cd50d383f645aa1d188331039d334faebfa1add0 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Wed, 12 May 2010 08:38:13 +0200 Subject: CWS mba33issues01: #i105239#: safe way to access SfxApplication in IMEStatusWindow --- sfx2/inc/sfx2/app.hxx | 2 +- sfx2/source/appl/appdata.cxx | 5 ++--- sfx2/source/appl/imestatuswindow.cxx | 6 +++--- sfx2/source/appl/imestatuswindow.hxx | 7 +------ sfx2/source/bastyp/progress.cxx | 2 +- sfx2/source/control/unoctitm.cxx | 2 +- sfx2/source/view/viewfrm.cxx | 2 +- 7 files changed, 10 insertions(+), 16 deletions(-) diff --git a/sfx2/inc/sfx2/app.hxx b/sfx2/inc/sfx2/app.hxx index 17b2dee417cd..e38a2e9dbe7f 100644 --- a/sfx2/inc/sfx2/app.hxx +++ b/sfx2/inc/sfx2/app.hxx @@ -258,7 +258,7 @@ public: void ResetLastDir(); //#if 0 // _SOLAR__PRIVATE - SAL_DLLPRIVATE static SfxApplication* Is_Impl() { return pApp;} + SAL_DLLPRIVATE static SfxApplication* Get() { return pApp;} SAL_DLLPRIVATE SfxDispatcher* GetAppDispatcher_Impl(); SAL_DLLPRIVATE SfxDispatcher* GetDispatcher_Impl(); diff --git a/sfx2/source/appl/appdata.cxx b/sfx2/source/appl/appdata.cxx index a07623df46b1..38ea69280c49 100644 --- a/sfx2/source/appl/appdata.cxx +++ b/sfx2/source/appl/appdata.cxx @@ -89,7 +89,7 @@ void SfxBasicManagerCreationListener::onBasicManagerCreated( const Reference< XM m_rAppData.OnApplicationBasicManagerCreated( _rBasicManager ); } -SfxAppData_Impl::SfxAppData_Impl( SfxApplication* pApp ) : +SfxAppData_Impl::SfxAppData_Impl( SfxApplication* ) : pDdeService( 0 ), pDocTopics( 0 ), pTriggerTopic(0), @@ -116,8 +116,7 @@ SfxAppData_Impl::SfxAppData_Impl( SfxApplication* pApp ) : nRescheduleLocks(0), nInReschedule(0), nAsynchronCalls(0), - m_xImeStatusWindow(new sfx2::appl::ImeStatusWindow( - *pApp, comphelper::getProcessServiceFactory())) + m_xImeStatusWindow(new sfx2::appl::ImeStatusWindow(comphelper::getProcessServiceFactory())) , pTbxCtrlFac(0) , pStbCtrlFac(0) , pViewFrames(0) diff --git a/sfx2/source/appl/imestatuswindow.cxx b/sfx2/source/appl/imestatuswindow.cxx index 3cdc3064fb81..07eb47bd92ad 100644 --- a/sfx2/source/appl/imestatuswindow.cxx +++ b/sfx2/source/appl/imestatuswindow.cxx @@ -57,10 +57,8 @@ namespace css = com::sun::star; using sfx2::appl::ImeStatusWindow; ImeStatusWindow::ImeStatusWindow( - SfxApplication & rApplication, css::uno::Reference< css::lang::XMultiServiceFactory > const & rServiceFactory): - m_rApplication(rApplication), m_xServiceFactory(rServiceFactory), m_bDisposed(false) {} @@ -161,7 +159,9 @@ ImeStatusWindow::propertyChange(css::beans::PropertyChangeEvent const & ) throw (css::uno::RuntimeException) { vos::OGuard aGuard(Application::GetSolarMutex()); - m_rApplication.Invalidate(SID_SHOW_IME_STATUS_WINDOW); + SfxApplication* pApp = SfxApplication::Get(); + if (pApp) + pApp->Invalidate(SID_SHOW_IME_STATUS_WINDOW); } css::uno::Reference< css::beans::XPropertySet > ImeStatusWindow::getConfig() diff --git a/sfx2/source/appl/imestatuswindow.hxx b/sfx2/source/appl/imestatuswindow.hxx index 71c0b371f796..4edba523ed30 100644 --- a/sfx2/source/appl/imestatuswindow.hxx +++ b/sfx2/source/appl/imestatuswindow.hxx @@ -37,7 +37,6 @@ namespace com { namespace sun { namespace star { namespace beans { class XPropertySet; } namespace lang { class XMultiServiceFactory; } } } } -class SfxApplication; namespace sfx2 { namespace appl { @@ -56,10 +55,7 @@ ImeStatusWindow_Impl; class ImeStatusWindow: private ImeStatusWindow_Impl { public: - ImeStatusWindow(SfxApplication & rApplication, - com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory > const & - rServiceFactory); + ImeStatusWindow( com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > const& rServiceFactory ); /** Set up VCL according to the configuration. @@ -115,7 +111,6 @@ private: com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > getConfig(); - SfxApplication & m_rApplication; com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory; diff --git a/sfx2/source/bastyp/progress.cxx b/sfx2/source/bastyp/progress.cxx index 649ae121c274..3af0ba2b0a6f 100644 --- a/sfx2/source/bastyp/progress.cxx +++ b/sfx2/source/bastyp/progress.cxx @@ -706,7 +706,7 @@ SfxProgress* SfxProgress::GetActiveProgress */ { - if ( !SfxApplication::Is_Impl() ) + if ( !SfxApplication::Get() ) return 0; SfxProgress *pProgress = 0; diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx index d2ad8c645eb7..e53f1766b7b9 100644 --- a/sfx2/source/control/unoctitm.cxx +++ b/sfx2/source/control/unoctitm.cxx @@ -823,7 +823,7 @@ void SAL_CALL SfxDispatchController_Impl::dispatch( const ::com::sun::star::util pItem = pDispatcher->Execute( GetId(), nCall, 0, &aInternalSet, nModifier ); // no bindings, no invalidate ( usually done in SfxDispatcher::Call_Impl()! ) - if ( SfxApplication::Is_Impl() ) + if ( SfxApplication::Get() ) { SfxDispatcher* pAppDispat = SFX_APP()->GetAppDispatcher_Impl(); if ( pAppDispat ) diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 66af0d7ac8ba..0d3c1f727e5b 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -1510,7 +1510,7 @@ void SfxViewFrame::KillDispatcher_Impl() //------------------------------------------------------------------------ SfxViewFrame* SfxViewFrame::Current() { - return SfxApplication::Is_Impl() ? SFX_APP()->Get_Impl()->pViewFrame : NULL; + return SfxApplication::Get() ? SFX_APP()->Get_Impl()->pViewFrame : NULL; } //-------------------------------------------------------------------- -- cgit From defd78c476f1dc496bfa98c1701740a957803270 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 12 May 2010 08:55:24 +0100 Subject: cmcfixes75: #i111551# remove unused getGlobalTransactionManager --- framework/inc/threadhelp/transactionmanager.hxx | 1 - framework/source/threadhelp/transactionmanager.cxx | 36 ---------------------- 2 files changed, 37 deletions(-) diff --git a/framework/inc/threadhelp/transactionmanager.hxx b/framework/inc/threadhelp/transactionmanager.hxx index a3ce7e67ea8a..eca13d63103c 100644 --- a/framework/inc/threadhelp/transactionmanager.hxx +++ b/framework/inc/threadhelp/transactionmanager.hxx @@ -93,7 +93,6 @@ class TransactionManager : public ITransactionManager virtual sal_Bool isCallRejected ( ERejectReason& eReason ) const; virtual void registerTransaction ( EExceptionMode eMode, ERejectReason& eReason ) throw( css::uno::RuntimeException, css::lang::DisposedException ); virtual void unregisterTransaction ( ) throw( css::uno::RuntimeException, css::lang::DisposedException ); - static TransactionManager& getGlobalTransactionManager ( ); //------------------------------------------------------------------------------------------------------------- // private methods diff --git a/framework/source/threadhelp/transactionmanager.cxx b/framework/source/threadhelp/transactionmanager.cxx index 34b4892ccebe..a42c871c176e 100644 --- a/framework/source/threadhelp/transactionmanager.cxx +++ b/framework/source/threadhelp/transactionmanager.cxx @@ -318,42 +318,6 @@ sal_Bool TransactionManager::isCallRejected( ERejectReason& eReason ) const return( eReason!=E_NOREASON ); } -/*-****************************************************************************************************//** - @short return a reference to a static manager - @descr Sometimes we need the global member! (e.g. in our own static methods) - We create our own "class global static" member threadsafe. - It will be created at first call only! - All other requests use these created one then directly. - - @seealso - - - @param - - @return A reference to a static member. - - @onerror No error should occure. -*//*-*****************************************************************************************************/ -TransactionManager& TransactionManager::getGlobalTransactionManager() -{ - // Initialize static member only for one time! - static TransactionManager* pManager = NULL; - // If these method first called (member not already exist!) ... - if( pManager == NULL ) - { - // ... we must create a new one. Protect follow code with the global mutex - - // It must be - we create a static variable! - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - // We must check our pointer again - because ... another instance of ouer class could be faster then these one! - if( pManager == NULL ) - { - // Create the new manager and set it for return on static variable. - static TransactionManager aManager; - pManager = &aManager; - } - } - // Return new created or already existing object. - return *pManager; -} - /*-****************************************************************************************************//** @short throw any exceptions for rejected calls @descr If user whish to use our automaticly exception mode we use this impl-method. -- cgit From 2559ef0f64b7a9a593d60edfcc8107f3a13ee5e1 Mon Sep 17 00:00:00 2001 From: Henning Brinkmann Date: Wed, 12 May 2010 12:42:08 +0200 Subject: tl78: get/set password to modify from SwDocShell --- sw/source/filter/ww8/wrtww8.cxx | 22 +++++++++++++++++++--- sw/source/filter/ww8/ww8par.cxx | 13 +++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index 6bf7ecbb8cdf..cbdf467ed61a 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -255,11 +255,28 @@ static void WriteDop( WW8Export& rWrt ) SwDocShell *pDocShell(rWrt.pDoc->GetDocShell()); DBG_ASSERT(pDocShell, "no SwDocShell"); uno::Reference xDocProps; + uno::Reference xProps; if (pDocShell) { + uno::Reference xModelComp(pDocShell->GetModel(), + uno::UNO_QUERY); + xProps = uno::Reference(xModelComp, + uno::UNO_QUERY); uno::Reference xDPS( - pDocShell->GetModel(), uno::UNO_QUERY_THROW); + xModelComp, uno::UNO_QUERY_THROW); xDocProps = xDPS->getDocumentProperties(); DBG_ASSERT(xDocProps.is(), "DocumentProperties is null"); + + rDop.lKeyProtDoc = pDocShell->GetModifyPasswordHash(); + } + + if ((rWrt.pSepx && rWrt.pSepx->DocumentIsProtected()) || + rDop.lKeyProtDoc != 0) + { + rDop.fProtEnabled = 1; + } + else + { + rDop.fProtEnabled = 0; } if (!xDocProps.is()) { @@ -277,9 +294,8 @@ static void WriteDop( WW8Export& rWrt ) Date aD3(uDT.Day, uDT.Month, uDT.Year); Time aT3(uDT.Hours, uDT.Minutes, uDT.Seconds, uDT.HundredthSeconds); rDop.dttmLastPrint = sw::ms::DateTime2DTTM(DateTime(aD3,aT3)); - } - rDop.fProtEnabled = rWrt.pSepx ? rWrt.pSepx->DocumentIsProtected() : 0; + } // auch damit werden die DocStat-Felder in Kopf-/Fusszeilen nicht korrekt // berechnet. diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index a290e8f30790..dc8f80aa111a 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -1387,14 +1387,19 @@ void SwWW8ImplReader::ImportDop() uno::Reference xInfo = xDocProps->getPropertySetInfo(); sal_Bool bValue = false; - if (xInfo.is() && - xInfo->hasPropertyByName(C2U("ApplyFormDesignMode"))) + if (xInfo.is()) { - xDocProps->setPropertyValue(C2U("ApplyFormDesignMode"), - cppu::bool2any(bValue)); + if (xInfo->hasPropertyByName(C2U("ApplyFormDesignMode"))) + { + xDocProps->setPropertyValue(C2U("ApplyFormDesignMode"), + cppu::bool2any(bValue)); + } } } } + + mpDocShell->SetModifyPasswordHash(pWDop->lKeyProtDoc); + const SvtFilterOptions* pOpt = SvtFilterOptions::Get(); sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields()); if (bUseEnhFields) { -- cgit From 2af4a389327fbf8640fdb5f69eb8d1637f0e86bf Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Wed, 12 May 2010 16:11:41 +0200 Subject: jl152 #i77196# restarting at startup when shared/bundled extensions were changed, fixed typo in win32/source/officeloader/officeloader.cxx --- desktop/source/app/check_ext_deps.cxx | 2 +- desktop/source/deployment/misc/dp_misc.cxx | 23 ++- .../deployment/registry/component/dp_component.cxx | 195 +++++++++++---------- .../registry/configuration/dp_configuration.cxx | 5 +- .../deployment/registry/script/dp_script.cxx | 99 ++++++----- desktop/win32/source/officeloader/officeloader.cxx | 2 +- 6 files changed, 178 insertions(+), 148 deletions(-) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index 7629a5c5cf83..757135a7e2d3 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -395,7 +395,7 @@ sal_Bool Desktop::CheckExtensionDependencies() void Desktop::SynchronizeExtensionRepositories() { - RTL_LOGFILE_CONTEXT(aLog,"desktop (jl97489) ::Desktop::SynchronizeExtensionRepositories"); + RTL_LOGFILE_CONTEXT(aLog,"desktop (jl) ::Desktop::SynchronizeExtensionRepositories"); OUString sDisable; ::rtl::Bootstrap::get( UNISTRING( "DISABLE_SYNC_EXTENSIONS" ), sDisable, OUString() ); if (sDisable.getLength() > 0) diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 799542a4757f..b68593c7f174 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -42,9 +42,11 @@ #include "osl/thread.hxx" #include "osl/mutex.hxx" #include "com/sun/star/ucb/CommandAbortedException.hpp" +#include "com/sun/star/task/XInteractionHandler.hpp" #include "com/sun/star/bridge/UnoUrlResolver.hpp" #include "com/sun/star/bridge/XUnoUrlResolver.hpp" #include "com/sun/star/deployment/ExtensionManager.hpp" +#include "com/sun/star/task/XRestartManager.hpp" #include "boost/scoped_array.hpp" #include "boost/shared_ptr.hpp" #include @@ -600,7 +602,8 @@ void syncRepositories(Reference const & xCmdEnv) Reference xExtensionManager; //synchronize shared before bundled otherewise there are //more revoke and registration calls. - OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); + bool bSynced = false; + const OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); if (needToSyncRepostitory(sShared)) { xExtensionManager = @@ -611,10 +614,11 @@ void syncRepositories(Reference const & xCmdEnv) { xExtensionManager->synchronize( sShared, Reference(), xCmdEnv); + bSynced = true; } } - OUString sBundled(RTL_CONSTASCII_USTRINGPARAM("bundled")); + const OUString sBundled(RTL_CONSTASCII_USTRINGPARAM("bundled")); if (needToSyncRepostitory( sBundled)) { if (!xExtensionManager.is()) @@ -627,9 +631,22 @@ void syncRepositories(Reference const & xCmdEnv) { xExtensionManager->synchronize( sBundled, Reference(), xCmdEnv); - + bSynced = true; } } + + if (bSynced) + { + Reference restarter( + comphelper_getProcessComponentContext()->getValueByName( + OUSTR( "/singletons/com.sun.star.task.OfficeRestartManager") ), UNO_QUERY ); + if (restarter.is()) + { + fprintf(stdout, "\nrestarting\n"); + restarter->requestRestart(xCmdEnv.is() == sal_True ? xCmdEnv->getInteractionHandler() : + Reference()); + } + } } diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx index fc9880438bac..e0844c227669 100644 --- a/desktop/source/deployment/registry/component/dp_component.cxx +++ b/desktop/source/deployment/registry/component/dp_component.cxx @@ -1275,63 +1275,66 @@ void BackendImpl::ComponentPackageImpl::processPackage_( data.implementationNames = implNames; data.singletons = singletons; - // factories live insertion: - const Reference xSet( - that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW ); - for ( t_stringlist::const_iterator iPos( implNames.begin() ); - iPos != implNames.end(); ++iPos ) + if (!startup) { - checkAborted( abortChannel ); - OUString const & implName = *iPos; - // activate factory: - const Reference xFactory( - xLoader->activate( - implName, OUString(), url, - xServicesRDB->getRootKey()->openKey( - OUSTR("/IMPLEMENTATIONS/") + implName ) ) ); - try { - xSet->insert( Any(xFactory) ); - } // ignore if factory has already been inserted: - catch (container::ElementExistException &) { - OSL_ENSURE( 0, "### factory already registered?" ); + // factories live insertion: + const Reference xSet( + that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW ); + for ( t_stringlist::const_iterator iPos( implNames.begin() ); + iPos != implNames.end(); ++iPos ) + { + checkAborted( abortChannel ); + OUString const & implName = *iPos; + // activate factory: + const Reference xFactory( + xLoader->activate( + implName, OUString(), url, + xServicesRDB->getRootKey()->openKey( + OUSTR("/IMPLEMENTATIONS/") + implName ) ) ); + try { + xSet->insert( Any(xFactory) ); + } // ignore if factory has already been inserted: + catch (container::ElementExistException &) { + OSL_ENSURE( 0, "### factory already registered?" ); + } } - } - if (! singletons.empty()) - { - // singletons live insertion: - const Reference xRootContext( - that->getComponentContext()->getValueByName( - OUSTR("_root") ), UNO_QUERY ); - if (xRootContext.is()) + if (! singletons.empty()) { - for ( t_stringpairvec::const_iterator iPos( - singletons.begin() ); - iPos != singletons.end(); ++iPos ) + // singletons live insertion: + const Reference xRootContext( + that->getComponentContext()->getValueByName( + OUSTR("_root") ), UNO_QUERY ); + if (xRootContext.is()) { - ::std::pair const & sp = *iPos; - const OUString name( OUSTR("/singletons/") + sp.first ); - // assure no arguments: - try { - xRootContext->removeByName( name + OUSTR("/arguments")); - } catch (container::NoSuchElementException &) {} - // used service: - try { - xRootContext->insertByName( - name + OUSTR("/service"), Any(sp.second) ); - } catch (container::ElementExistException &) { - xRootContext->replaceByName( - name + OUSTR("/service"), Any(sp.second) ); - } - // singleton entry: - try { - xRootContext->insertByName( name, Any() ); - } catch (container::ElementExistException & exc) { - (void) exc; // avoid warnings - OSL_ENSURE( - 0, OUStringToOString( - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - xRootContext->replaceByName( name, Any() ); + for ( t_stringpairvec::const_iterator iPos( + singletons.begin() ); + iPos != singletons.end(); ++iPos ) + { + ::std::pair const & sp = *iPos; + const OUString name( OUSTR("/singletons/") + sp.first ); + // assure no arguments: + try { + xRootContext->removeByName( name + OUSTR("/arguments")); + } catch (container::NoSuchElementException &) {} + // used service: + try { + xRootContext->insertByName( + name + OUSTR("/service"), Any(sp.second) ); + } catch (container::ElementExistException &) { + xRootContext->replaceByName( + name + OUSTR("/service"), Any(sp.second) ); + } + // singleton entry: + try { + xRootContext->insertByName( name, Any() ); + } catch (container::ElementExistException & exc) { + (void) exc; // avoid warnings + OSL_ENSURE( + 0, OUStringToOString( + exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); + xRootContext->replaceByName( name, Any() ); + } } } } @@ -1365,53 +1368,57 @@ void BackendImpl::ComponentPackageImpl::processPackage_( { getComponentInfo( &implNames, &singletons, xContext ); } - // factories live removal: - const Reference xSet( - that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW ); - for ( t_stringlist::const_iterator iPos( implNames.begin() ); - iPos != implNames.end(); ++iPos ) + + if (!startup) { - OUString const & implName = *iPos; - try { - xSet->remove( Any(implName) ); - } // ignore if factory has not been live deployed: - catch (container::NoSuchElementException &) { + // factories live removal: + const Reference xSet( + that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW ); + for ( t_stringlist::const_iterator iPos( implNames.begin() ); + iPos != implNames.end(); ++iPos ) + { + OUString const & implName = *iPos; + try { + xSet->remove( Any(implName) ); + } // ignore if factory has not been live deployed: + catch (container::NoSuchElementException &) { + } } - } - if (! singletons.empty()) - { - // singletons live removal: - const Reference xRootContext( - that->getComponentContext()->getValueByName( - OUSTR("_root") ), UNO_QUERY ); - if (xRootContext.is()) + if (! singletons.empty()) { - for ( t_stringpairvec::const_iterator iPos( - singletons.begin() ); - iPos != singletons.end(); ++iPos ) + // singletons live removal: + const Reference xRootContext( + that->getComponentContext()->getValueByName( + OUSTR("_root") ), UNO_QUERY ); + if (xRootContext.is()) { - ::std::pair const & sp = *iPos; - const OUString name( OUSTR("/singletons/") + sp.first ); - // arguments: - try { - xRootContext->removeByName( name + OUSTR("/arguments")); - } - catch (container::NoSuchElementException &) {} - // used service: - try { - xRootContext->removeByName( name + OUSTR("/service") ); - } - catch (container::NoSuchElementException &) {} - // singleton entry: - try { - xRootContext->removeByName( name ); - } - catch (container::NoSuchElementException & exc) { - (void) exc; // avoid warnings - OSL_ENSURE( - 0, OUStringToOString( - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); + for ( t_stringpairvec::const_iterator iPos( + singletons.begin() ); + iPos != singletons.end(); ++iPos ) + { + ::std::pair const & sp = *iPos; + const OUString name( OUSTR("/singletons/") + sp.first ); + // arguments: + try { + xRootContext->removeByName( name + OUSTR("/arguments")); + } + catch (container::NoSuchElementException &) {} + // used service: + try { + xRootContext->removeByName( name + OUSTR("/service") ); + } + catch (container::NoSuchElementException &) {} + // singleton entry: + try { + xRootContext->removeByName( name ); + } + catch (container::NoSuchElementException & exc) { + (void) exc; // avoid warnings + OSL_ENSURE( + 0, OUStringToOString( + exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); + } } } } diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index 1a6738b0270b..f892c21a6a6b 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -680,7 +680,7 @@ OUString replaceOrigin( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, - bool /*startup*/, + bool startup, ::rtl::Reference const &, Reference const & xCmdEnv ) { @@ -702,7 +702,8 @@ void BackendImpl::PackageImpl::processPackage_( } //No need for live-deployment for bundled extension, because OOo //restarts after installation - if (that->m_eContext != CONTEXT_BUNDLED) + if (that->m_eContext != CONTEXT_BUNDLED + && !startup) { if (m_isSchema) { diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index 414d4c1c61cd..3a43e916e39e 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -331,7 +331,7 @@ BackendImpl::PackageImpl::isRegistered_( void BackendImpl::PackageImpl::processPackage_( ::osl::ResettableMutexGuard &, bool doRegisterPackage, - bool /* startup */, + bool startup, ::rtl::Reference const &, Reference const & xCmdEnv ) { @@ -382,7 +382,8 @@ void BackendImpl::PackageImpl::processPackage_( if (bRegistered) { - if (!isRemoved()) + //we also prevent and live deployment at startup + if (!isRemoved() && !startup) { if (bScript && xScriptLibs.is() && xScriptLibs->hasByName(m_name)) { @@ -409,66 +410,70 @@ void BackendImpl::PackageImpl::processPackage_( bool bScriptSuccess = false; const bool bReadOnly = false; - //If there is a bundled extension, and the user installes the same extension - //then the script from the bundled extension must be removed. If this does not work - //then live deployment does not work for scripts. - if (bScript && xScriptLibs.is()) + bool bDialogSuccess = false; + if (!startup) { - bool bCanAdd = true; - if (xScriptLibs->hasByName(m_name)) + //If there is a bundled extension, and the user installes the same extension + //then the script from the bundled extension must be removed. If this does not work + //then live deployment does not work for scripts. + if (bScript && xScriptLibs.is()) { - const OUString sOriginalUrl = xScriptLibs->getOriginalLibraryLinkURL(m_name); - //We assume here that library names in extensions are unique, which may not be the case - //ToDo: If the script exist in another extension, then both extensions must have the - //same id - if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) - || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) - || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + bool bCanAdd = true; + if (xScriptLibs->hasByName(m_name)) { - xScriptLibs->removeLibrary(m_name); - bCanAdd = true; + const OUString sOriginalUrl = xScriptLibs->getOriginalLibraryLinkURL(m_name); + //We assume here that library names in extensions are unique, which may not be the case + //ToDo: If the script exist in another extension, then both extensions must have the + //same id + if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + { + xScriptLibs->removeLibrary(m_name); + bCanAdd = true; + } + else + { + bCanAdd = false; + } } - else + + if (bCanAdd) { - bCanAdd = false; + xScriptLibs->createLibraryLink( m_name, m_scriptURL, bReadOnly ); + bScriptSuccess = xScriptLibs->hasByName( m_name ); } } - if (bCanAdd) - { - xScriptLibs->createLibraryLink( m_name, m_scriptURL, bReadOnly ); - bScriptSuccess = xScriptLibs->hasByName( m_name ); - } - } - bool bDialogSuccess = false; - if (bDialog && xDialogLibs.is()) - { - bool bCanAdd = true; - if (xDialogLibs->hasByName(m_dialogName)) + if (bDialog && xDialogLibs.is()) { - const OUString sOriginalUrl = xDialogLibs->getOriginalLibraryLinkURL(m_dialogName); - //We assume here that library names in extensions are unique, which may not be the case - //ToDo: If the script exist in another extension, then both extensions must have the - //same id - if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) - || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) - || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + bool bCanAdd = true; + if (xDialogLibs->hasByName(m_dialogName)) { - xDialogLibs->removeLibrary(m_dialogName); - bCanAdd = true; + const OUString sOriginalUrl = xDialogLibs->getOriginalLibraryLinkURL(m_dialogName); + //We assume here that library names in extensions are unique, which may not be the case + //ToDo: If the script exist in another extension, then both extensions must have the + //same id + if (sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_USER_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$UNO_SHARED_PACKAGES_CACHE")) + || sOriginalUrl.match(OUSTR("vnd.sun.star.expand:$BUNDLED_EXTENSIONS"))) + { + xDialogLibs->removeLibrary(m_dialogName); + bCanAdd = true; + } + else + { + bCanAdd = false; + } } - else + + if (bCanAdd) { - bCanAdd = false; + xDialogLibs->createLibraryLink( m_dialogName, m_dialogURL, bReadOnly ); + bDialogSuccess = xDialogLibs->hasByName(m_dialogName); } } - - if (bCanAdd) - { - xDialogLibs->createLibraryLink( m_dialogName, m_dialogURL, bReadOnly ); - bDialogSuccess = xDialogLibs->hasByName(m_dialogName); - } } bool bSuccess = bScript || bDialog; // Something must have happened if( bRunning ) diff --git a/desktop/win32/source/officeloader/officeloader.cxx b/desktop/win32/source/officeloader/officeloader.cxx index 2d602a6d6507..ef980e1e994e 100644 --- a/desktop/win32/source/officeloader/officeloader.cxx +++ b/desktop/win32/source/officeloader/officeloader.cxx @@ -417,7 +417,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) CloseHandle( aProcessInfo.hThread ); } } while ( fSuccess - && ( ::desktop::ExitHelper::E_CRASH_WITH_RESTART == dwExitCode || ::desktop::ExitHelper::E_NORMAL_RESTART == dwExitCode ); + && ( ::desktop::ExitHelper::E_CRASH_WITH_RESTART == dwExitCode || ::desktop::ExitHelper::E_NORMAL_RESTART == dwExitCode )); delete[] lpCommandLine; return fSuccess ? dwExitCode : -1; -- cgit From c3ce609304a00e589482dd0a4cac75e2aa8b138f Mon Sep 17 00:00:00 2001 From: sb Date: Wed, 12 May 2010 16:12:42 +0200 Subject: jl152: #i110548# adapted relative paths to fix for issue 77196 --- solenv/bin/macosx-change-install-names.pl | 2 +- solenv/inc/unxlng.mk | 2 +- solenv/inc/unxsoli4.mk | 2 +- solenv/inc/unxsols4.mk | 2 +- solenv/inc/unxsolu4.mk | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/solenv/bin/macosx-change-install-names.pl b/solenv/bin/macosx-change-install-names.pl index 5ccedccb6027..05fa12f06070 100644 --- a/solenv/bin/macosx-change-install-names.pl +++ b/solenv/bin/macosx-change-install-names.pl @@ -45,7 +45,7 @@ sub action($$$) 'shl/OOO/OOO' => '@loader_path', 'shl/OXT/URELIB' => '@executable_path/urelibs', 'shl/BOXT/URELIB' => '@executable_path/urelibs', - 'shl/BOXT/OOO' => '@loader_path/../../../../../../basis-link/program', + 'shl/BOXT/OOO' => '@loader_path/../../../basis-link/program', 'shl/NONE/URELIB' => '@__VIA_LIBRARY_PATH__', 'shl/NONE/OOO' => '@__VIA_LIBRARY_PATH__', 'shl/NONE/NONE' => '@__VIA_LIBRARY_PATH__'); diff --git a/solenv/inc/unxlng.mk b/solenv/inc/unxlng.mk index 62a96f9c5f49..be8c5d01b714 100644 --- a/solenv/inc/unxlng.mk +++ b/solenv/inc/unxlng.mk @@ -151,7 +151,7 @@ LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\' LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\' LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\' LINKFLAGSRUNPATH_OXT= -LINKFLAGSRUNPATH_BOXT=-Wl,-rpath,\''$$ORIGIN/../../../../../../basis-link/program'\' +LINKFLAGSRUNPATH_BOXT=-Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\' LINKFLAGSRUNPATH_NONE= # flag -Wl,-z,noexecstack sets the NX bit on the stack LINKFLAGS=-Wl,-z,noexecstack -Wl,-z,combreloc $(LINKFLAGSDEFS) diff --git a/solenv/inc/unxsoli4.mk b/solenv/inc/unxsoli4.mk index 5ddbe058b299..b1778a0edfde 100644 --- a/solenv/inc/unxsoli4.mk +++ b/solenv/inc/unxsoli4.mk @@ -137,7 +137,7 @@ LINKFLAGSRUNPATH_OOO=-R\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\' LINKFLAGSRUNPATH_SDK=-R\''$$ORIGIN/../../ure-link/lib'\' LINKFLAGSRUNPATH_BRAND=-R\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\' LINKFLAGSRUNPATH_OXT= -LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../../../../basis-link/program'\' +LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../basis-link/program'\' LINKFLAGSRUNPATH_NONE= LINKFLAGS=-w -mt -z combreloc -PIC -temp=/tmp -norunpath -library=no%Cstd LINKCFLAGS=-w -mt -z combreloc -norunpath diff --git a/solenv/inc/unxsols4.mk b/solenv/inc/unxsols4.mk index 92720da3de47..4febb67d446a 100644 --- a/solenv/inc/unxsols4.mk +++ b/solenv/inc/unxsols4.mk @@ -143,7 +143,7 @@ LINKFLAGSRUNPATH_OOO=-R\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\' LINKFLAGSRUNPATH_SDK=-R\''$$ORIGIN/../../ure-link/lib'\' LINKFLAGSRUNPATH_BRAND=-R\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\' LINKFLAGSRUNPATH_OXT= -LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../../../../basis-link/program'\' +LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../basis-link/program'\' LINKFLAGSRUNPATH_NONE= LINKFLAGS=-w -mt -z combreloc -PIC -temp=/tmp -norunpath -library=no%Cstd LINKCFLAGS=-w -mt -z combreloc -norunpath diff --git a/solenv/inc/unxsolu4.mk b/solenv/inc/unxsolu4.mk index 45dadc53f533..c73d6fc37283 100644 --- a/solenv/inc/unxsolu4.mk +++ b/solenv/inc/unxsolu4.mk @@ -137,7 +137,7 @@ LINKFLAGSRUNPATH_UREBIN=-R\''$$ORIGIN/../lib:$$ORIGIN'\' LINKFLAGSRUNPATH_OOO=-R\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\' LINKFLAGSRUNPATH_BRAND=-R\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\' LINKFLAGSRUNPATH_OXT= -LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../../../../basis-link/program'\' +LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../basis-link/program'\' LINKFLAGSRUNPATH_NONE= LINKFLAGS=-m64 -w -mt -z combreloc -PIC -temp=/tmp -norunpath -library=stlport4 LINKCFLAGS=-m64 -w -mt -z combreloc -norunpath -- cgit From 8c0d1c18d0cee550fcee22c6e1e28d766d9f260d Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 13 May 2010 10:12:41 -0400 Subject: calctabcolor: Removed code that was not intended. --- svtools/source/control/tabbar.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index 5773a482768f..e5e2e0c8eb69 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -1633,7 +1633,6 @@ void TabBar::SetTabBgColor( USHORT nPageId, const Color& aTabBgColor ) if ( nPos != PAGE_NOT_FOUND ) { pItem = mpItemList->GetObject( nPos ); - // TODO: Need to take the text color specification out of this code! if ( aTabBgColor != Color( COL_AUTO ) ) { pItem->maTabBgColor = aTabBgColor; -- cgit From e767d294ce8d998c07b1b942d3460a2271f56e65 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 13 May 2010 10:12:41 -0400 Subject: calctabcolor: Removed code that was not intended. --- sc/source/ui/docshell/docsh.cxx | 42 ----------------------------------------- sc/source/ui/undo/undotab.cxx | 4 +--- 2 files changed, 1 insertion(+), 45 deletions(-) diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 26d534416500..821b2a6ad880 100644 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -129,47 +129,6 @@ using namespace com::sun::star; using ::rtl::OUString; using ::rtl::OUStringBuffer; -#include -#include -#include - -namespace { - -class StackPrinter -{ -public: - explicit StackPrinter(const char* msg) : - msMsg(msg) - { - fprintf(stdout, "%s: --begin\n", msMsg.c_str()); - mfStartTime = getTime(); - } - - ~StackPrinter() - { - double fEndTime = getTime(); - fprintf(stdout, "%s: --end (duration: %g sec)\n", msMsg.c_str(), (fEndTime-mfStartTime)); - } - - void printTime(int line) const - { - double fEndTime = getTime(); - fprintf(stdout, "%s: --(%d) (duration: %g sec)\n", msMsg.c_str(), line, (fEndTime-mfStartTime)); - } - -private: - double getTime() const - { - timeval tv; - gettimeofday(&tv, NULL); - return tv.tv_sec + tv.tv_usec / 1000000.0; - } - - ::std::string msMsg; - double mfStartTime; -}; - -} // STATIC DATA ----------------------------------------------------------- // Stream-Namen im Storage @@ -438,7 +397,6 @@ void ScDocShell::AfterXMLLoading(sal_Bool bRet) BOOL ScDocShell::LoadXML( SfxMedium* pLoadMedium, const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStor ) { - StackPrinter __stack_printer__("ScDocShell::LoadXML"); RTL_LOGFILE_CONTEXT_AUTHOR ( aLog, "sc", "sb99857", "ScDocShell::LoadXML" ); // MacroCallMode is no longer needed, state is kept in SfxObjectShell now diff --git a/sc/source/ui/undo/undotab.cxx b/sc/source/ui/undo/undotab.cxx index fbc39ad62da5..953af0fe0695 100644 --- a/sc/source/ui/undo/undotab.cxx +++ b/sc/source/ui/undo/undotab.cxx @@ -59,6 +59,7 @@ #include "printfun.hxx" #include "chgtrack.hxx" #include "tabprotection.hxx" +#include "viewdata.hxx" // for ScUndoRenameObject - might me moved to another file later #include @@ -67,9 +68,6 @@ #include "drwlayer.hxx" #include "scresid.hxx" -// for set tab bg color -#include "viewdata.hxx" - extern BOOL bDrawIsInUndo; //! irgendwo als Member !!! using namespace com::sun::star; -- cgit From a2c557f7fa002c2b52a103ec910f454d10a17ecf Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 13 May 2010 14:46:13 -0400 Subject: calctabcolor: added header. --- svtools/source/control/tabbar.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index e5e2e0c8eb69..7a927f57e7e2 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -39,6 +39,8 @@ #include #include "svtaccessiblefactory.hxx" +#include + // ======================================================================= #define TABBAR_OFFSET_X 7 -- cgit -- cgit From 2b97429922636a07f922f2141136e07feb67f9cf Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Fri, 14 May 2010 18:02:32 +0200 Subject: mythes12: revert last commit and patch mythes instead to have our th_gen_idx.pl --- mythes/makefile.mk | 2 +- mythes/mythes-1.2.0-vanilla-th-gen-idx.patch | 97 ++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 mythes/mythes-1.2.0-vanilla-th-gen-idx.patch diff --git a/mythes/makefile.mk b/mythes/makefile.mk index 43eedd412414..fe67f8f5aa21 100644 --- a/mythes/makefile.mk +++ b/mythes/makefile.mk @@ -41,7 +41,7 @@ TARFILE_MD5=067201ea8b126597670b5eff72e1f66c ADDITIONAL_FILES += makefile.mk -#PATCH_FILES=mythes-1.2.0.patch +PATCH_FILES=mythes-1.2.0-vanilla-th-gen-idx.patch .IF "$(GUI)"=="UNX" CONFIGURE_DIR=$(BUILD_DIR) diff --git a/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch b/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch new file mode 100644 index 000000000000..776fac46a08e --- /dev/null +++ b/mythes/mythes-1.2.0-vanilla-th-gen-idx.patch @@ -0,0 +1,97 @@ +--- misc/mythes-1.2.0.orig/th_gen_idx.pl ++++ misc/build/mythes-1.2.0/th_gen_idx.pl +@@ -1,11 +1,32 @@ +-#!/usr/bin/perl +- +-# perl program to take a thesaurus structured text data file +-# and create the proper sorted index file (.idx) ++: ++eval 'exec perl -wS $0 ${1+"$@"}' ++ if 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). + # +-# typcially invoked as follows: +-# cat th_en_US_new.dat | ./th_gen_idx.pl > th_en_US_new.idx ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# ++# for a copy of the LGPLv3 License. + # ++#************************************************************************* + + sub by_entry { + my ($aent, $aoff) = split('\|',$a); +@@ -13,6 +34,27 @@ sub by_entry { + $aent cmp $bent; + } + ++#FIXME: someone may want "infile" or even parameter parsing ++sub get_outfile { ++ my $next_is_file = 0; ++ foreach ( @ARGV ) { ++ if ( $next_is_file ) { ++ return $_ ++ } ++ if ( $_ eq "-o" ) { ++ $next_is_file = 1; ++ } ++ } ++ return ""; ++} ++ ++sub usage { ++ print "usage:\n"; ++ print "$0 -o outfile < input\n"; ++ ++ exit 99; ++} ++ + # main routine + my $ne = 0; # number of entries in index + my @tindex=(); # the index itself +@@ -24,6 +66,10 @@ my $nm=0; # number of meaning fo + my $meaning=""; # current meaning and synonyms + my $p; # misc uses + my $encoding; # encoding used by text file ++my $outfile = ""; ++ ++$outfile = get_outfile(); ++usage() if ( $outfile eq "" ); + + # top line of thesaurus provides encoding + $encoding=; +@@ -51,9 +97,13 @@ while ($rec=){ + # now we have all of the information + # so sort it and then output the encoding, count and index data + @tindex = sort by_entry @tindex; +-print STDOUT "$encoding\n"; +-print STDOUT "$ne\n"; ++ ++print "$outfile\n"; ++open OUTFILE, ">$outfile" or die "ERROR: Can't open $outfile for writing!"; ++print OUTFILE "$encoding\n"; ++print OUTFILE "$ne\n"; + foreach $one (@tindex) { +- print STDOUT "$one\n"; ++ print OUTFILE "$one\n"; + } ++close OUTFILE; + -- cgit -- cgit From 5025e2acbba31177c0effc46227ad1e00457ed43 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 14 May 2010 19:33:04 +0200 Subject: dr76: #i111404# remaining problems with the FastSaxParser --- sax/source/fastparser/fastparser.cxx | 81 ++++++++++++++++++++++-------------- sax/source/fastparser/fastparser.hxx | 31 +++++++++----- 2 files changed, 71 insertions(+), 41 deletions(-) diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx index e80a36b2d127..1a4cc9278e1e 100644 --- a/sax/source/fastparser/fastparser.cxx +++ b/sax/source/fastparser/fastparser.cxx @@ -175,19 +175,39 @@ OUString SAL_CALL FastLocatorImpl::getSystemId(void) throw (RuntimeException) return mpParser->getEntity().maStructSource.sSystemId; } -// -------------------------------------------------------------------- -// FastSaxParser implementation // -------------------------------------------------------------------- -FastSaxParser::FastSaxParser() +ParserData::ParserData() { - mxDocumentLocator.set( new FastLocatorImpl( this ) ); +} + +ParserData::~ParserData() +{ +} + +// -------------------------------------------------------------------- +Entity::Entity( const ParserData& rData ) : + ParserData( rData ) +{ // performance-Improvment. Reference is needed when calling the startTag callback. // Handing out the same object with every call is allowed (see sax-specification) mxAttributes.set( new FastAttributeList( mxTokenHandler ) ); } +Entity::~Entity() +{ +} + +// -------------------------------------------------------------------- +// FastSaxParser implementation +// -------------------------------------------------------------------- + +FastSaxParser::FastSaxParser() +{ + mxDocumentLocator.set( new FastLocatorImpl( this ) ); +} + // -------------------------------------------------------------------- FastSaxParser::~FastSaxParser() @@ -246,7 +266,7 @@ sal_Int32 FastSaxParser::GetToken( const OString& rToken ) { Sequence< sal_Int8 > aSeq( (sal_Int8*)rToken.getStr(), rToken.getLength() ); - return mxTokenHandler->getTokenFromUTF8( aSeq ); + return getEntity().mxTokenHandler->getTokenFromUTF8( aSeq ); } sal_Int32 FastSaxParser::GetToken( const sal_Char* pToken, sal_Int32 nLen /* = 0 */ ) @@ -256,7 +276,7 @@ sal_Int32 FastSaxParser::GetToken( const sal_Char* pToken, sal_Int32 nLen /* = 0 Sequence< sal_Int8 > aSeq( (sal_Int8*)pToken, nLen ); - return mxTokenHandler->getTokenFromUTF8( aSeq ); + return getEntity().mxTokenHandler->getTokenFromUTF8( aSeq ); } // -------------------------------------------------------------------- @@ -422,7 +442,7 @@ void FastSaxParser::parseStream( const InputSource& maStructSource) throw (SAXEx // Only one text at one time MutexGuard guard( maMutex ); - Entity entity; + Entity entity( maData ); entity.maStructSource = maStructSource; if( !entity.maStructSource.aInputStream.is() ) @@ -447,19 +467,19 @@ void FastSaxParser::parseStream( const InputSource& maStructSource) throw (SAXEx try { // start the document - if( mxDocumentHandler.is() ) + if( entity.mxDocumentHandler.is() ) { Reference< XLocator > xLoc( mxDocumentLocator.get() ); - mxDocumentHandler->setDocumentLocator( xLoc ); - mxDocumentHandler->startDocument(); + entity.mxDocumentHandler->setDocumentLocator( xLoc ); + entity.mxDocumentHandler->startDocument(); } parse(); // finish document - if( mxDocumentHandler.is() ) + if( entity.mxDocumentHandler.is() ) { - mxDocumentHandler->endDocument(); + entity.mxDocumentHandler->endDocument(); } } catch( SAXException & ) @@ -487,13 +507,12 @@ void FastSaxParser::parseStream( const InputSource& maStructSource) throw (SAXEx void FastSaxParser::setFastDocumentHandler( const Reference< XFastDocumentHandler >& Handler ) throw (RuntimeException) { - mxDocumentHandler = Handler; + maData.mxDocumentHandler = Handler; } void SAL_CALL FastSaxParser::setTokenHandler( const Reference< XFastTokenHandler >& Handler ) throw (RuntimeException) { - mxTokenHandler = Handler; - mxAttributes.set( new FastAttributeList( mxTokenHandler ) ); + maData.mxTokenHandler = Handler; } void SAL_CALL FastSaxParser::registerNamespace( const OUString& NamespaceURL, sal_Int32 NamespaceToken ) throw (IllegalArgumentException, RuntimeException) @@ -511,17 +530,17 @@ void SAL_CALL FastSaxParser::registerNamespace( const OUString& NamespaceURL, sa void FastSaxParser::setErrorHandler(const Reference< XErrorHandler > & Handler) throw (RuntimeException) { - mxErrorHandler = Handler; + maData.mxErrorHandler = Handler; } void FastSaxParser::setEntityResolver(const Reference < XEntityResolver > & Resolver) throw (RuntimeException) { - mxEntityResolver = Resolver; + maData.mxEntityResolver = Resolver; } void FastSaxParser::setLocale( const Locale & Locale ) throw (RuntimeException) { - maLocale = Locale; + maData.maLocale = Locale; } Sequence< OUString > FastSaxParser::getSupportedServiceNames_Static(void) @@ -648,8 +667,8 @@ void FastSaxParser::parse() ); // error handler is set, it may throw the exception - if( mxErrorHandler.is() ) - mxErrorHandler->fatalError( Any( aExcept ) ); + if( rEntity.mxErrorHandler.is() ) + rEntity.mxErrorHandler->fatalError( Any( aExcept ) ); // error handler has not thrown, but parsing cannot go on, the // exception MUST be thrown @@ -693,7 +712,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char pushContext(); - mxAttributes->clear(); + rEntity.mxAttributes->clear(); // create attribute map and process namespace instructions int i = 0; @@ -752,17 +771,17 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char { sal_Int32 nAttributeToken = GetTokenWithPrefix( aIt->maPrefix, aIt->maName ); if( nAttributeToken != FastToken::DONTKNOW ) - mxAttributes->add( nAttributeToken, aIt->maValue ); + rEntity.mxAttributes->add( nAttributeToken, aIt->maValue ); else - mxAttributes->addUnknown( GetNamespaceURL( aIt->maPrefix ), aIt->maName, aIt->maValue ); + rEntity.mxAttributes->addUnknown( GetNamespaceURL( aIt->maPrefix ), aIt->maName, aIt->maValue ); } else { sal_Int32 nAttributeToken = GetToken( aIt->maName ); if( nAttributeToken != FastToken::DONTKNOW ) - mxAttributes->add( nAttributeToken, aIt->maValue ); + rEntity.mxAttributes->add( nAttributeToken, aIt->maValue ); else - mxAttributes->addUnknown( aIt->maName, aIt->maValue ); + rEntity.mxAttributes->addUnknown( aIt->maName, aIt->maValue ); } } @@ -776,7 +795,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char nElementToken = GetToken( pName ); rEntity.maContextStack.top()->mnElementToken = nElementToken; - Reference< XFastAttributeList > xAttr( mxAttributes.get() ); + Reference< XFastAttributeList > xAttr( rEntity.mxAttributes.get() ); Reference< XFastContextHandler > xContext; if( nElementToken == FastToken::DONTKNOW ) { @@ -790,7 +809,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char if( xParentContext.is() ) xContext = xParentContext->createUnknownChildContext( aNamespace, aElementName, xAttr ); else - xContext = mxDocumentHandler->createUnknownChildContext( aNamespace, aElementName, xAttr ); + xContext = rEntity.mxDocumentHandler->createUnknownChildContext( aNamespace, aElementName, xAttr ); if( xContext.is() ) { @@ -803,7 +822,7 @@ void FastSaxParser::callbackStartElement( const XML_Char* pwName, const XML_Char if( xParentContext.is() ) xContext = xParentContext->createFastChildContext( nElementToken, xAttr ); else - xContext = mxDocumentHandler->createFastChildContext( nElementToken, xAttr ); + xContext = rEntity.mxDocumentHandler->createFastChildContext( nElementToken, xAttr ); if( xContext.is() ) @@ -866,11 +885,11 @@ int FastSaxParser::callbackExternalEntityRef( XML_Parser parser, InputSource source; Entity& rCurrEntity = getEntity(); - Entity aNewEntity; + Entity aNewEntity( rCurrEntity ); - if( mxEntityResolver.is() ) try + if( rCurrEntity.mxEntityResolver.is() ) try { - aNewEntity.maStructSource = mxEntityResolver->resolveEntity( + aNewEntity.maStructSource = rCurrEntity.mxEntityResolver->resolveEntity( OUString( publicId, strlen( publicId ), RTL_TEXTENCODING_UTF8 ) , OUString( systemId, strlen( systemId ), RTL_TEXTENCODING_UTF8 ) ); } diff --git a/sax/source/fastparser/fastparser.hxx b/sax/source/fastparser/fastparser.hxx index 4802702bf098..a0331fe4035a 100644 --- a/sax/source/fastparser/fastparser.hxx +++ b/sax/source/fastparser/fastparser.hxx @@ -61,12 +61,27 @@ typedef ::std::hash_map< ::rtl::OUString, sal_Int32, // -------------------------------------------------------------------- +struct ParserData +{ + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastDocumentHandler > mxDocumentHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastTokenHandler > mxTokenHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XErrorHandler > mxErrorHandler; + ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XEntityResolver > mxEntityResolver; + ::com::sun::star::lang::Locale maLocale; + + ParserData(); + ~ParserData(); +}; + +// -------------------------------------------------------------------- + // Entity binds all information needed for a single file -struct Entity +struct Entity : public ParserData { ::com::sun::star::xml::sax::InputSource maStructSource; XML_Parser mpParser; ::sax_expatwrap::XMLFile2UTFConverter maConverter; + ::rtl::Reference< FastAttributeList > mxAttributes; // Exceptions cannot be thrown through the C-XmlParser (possible resource leaks), // therefore the exception must be saved somewhere. @@ -74,6 +89,9 @@ struct Entity ::std::stack< SaxContextImplPtr > maContextStack; ::std::vector< NamespaceDefineRef > maNamespaceDefines; + + explicit Entity( const ParserData& rData ); + ~Entity(); }; // -------------------------------------------------------------------- @@ -134,18 +152,11 @@ private: private: ::osl::Mutex maMutex; - ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastDocumentHandler > mxDocumentHandler; - ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastTokenHandler > mxTokenHandler; - ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XErrorHandler > mxErrorHandler; - ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XEntityResolver > mxEntityResolver; - ::rtl::Reference< FastLocatorImpl > mxDocumentLocator; - ::rtl::Reference< FastAttributeList > mxAttributes; - ::com::sun::star::lang::Locale maLocale; NamespaceMap maNamespaceMap; - // External entity stack - ::std::stack< Entity > maEntities; + ParserData maData; /// Cached parser configuration for next call of parseStream(). + ::std::stack< Entity > maEntities; /// Entity stack for each call of parseStream(). }; } -- cgit From ea70788f5bdf23c3687390bce487d2d752cbe218 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Fri, 14 May 2010 23:39:40 +0200 Subject: fix build needing makefile.mk here (Windows?) --- mythes/makefile.mk | 3 +- mythes/mythes-1.2.0-makefile-mk.diff | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 mythes/mythes-1.2.0-makefile-mk.diff diff --git a/mythes/makefile.mk b/mythes/makefile.mk index fe67f8f5aa21..94fa611f1dd0 100644 --- a/mythes/makefile.mk +++ b/mythes/makefile.mk @@ -41,7 +41,8 @@ TARFILE_MD5=067201ea8b126597670b5eff72e1f66c ADDITIONAL_FILES += makefile.mk -PATCH_FILES=mythes-1.2.0-vanilla-th-gen-idx.patch +PATCH_FILES=mythes-1.2.0-vanilla-th-gen-idx.patch \ + mythes-1.2.0-makefile-mk.diff .IF "$(GUI)"=="UNX" CONFIGURE_DIR=$(BUILD_DIR) diff --git a/mythes/mythes-1.2.0-makefile-mk.diff b/mythes/mythes-1.2.0-makefile-mk.diff new file mode 100644 index 000000000000..79c6bb7fa70b --- /dev/null +++ b/mythes/mythes-1.2.0-makefile-mk.diff @@ -0,0 +1,93 @@ +--- misc/mythes-1.2.0/makefile.mk 2010-05-14 23:36:09.000000000 +0200 ++++ misc/build/mythes-1.2.0/makefile.mk 2010-05-14 23:35:14.000000000 +0200 +@@ -1 +1,89 @@ +-dummy ++#************************************************************************* ++# ++# $RCSfile: makefile.mk,v $ ++# ++# $Revision: 1.1.1.1 $ ++# ++# last change: $Author: caolan $ $Date: 2010/02/27 15:52:17 $ ++# ++# The Contents of this file are made available subject to the terms of ++# either of the following licenses ++# ++# - GNU Lesser General Public License Version 2.1 ++# - Sun Industry Standards Source License Version 1.1 ++# ++# Sun Microsystems Inc., October, 2000 ++# ++# GNU Lesser General Public License Version 2.1 ++# ============================================= ++# Copyright 2000 by Sun Microsystems, Inc. ++# 901 San Antonio Road, Palo Alto, CA 94303, USA ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License version 2.1, as published by the Free Software Foundation. ++# ++# This library 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 for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++# ++# Sun Industry Standards Source License Version 1.1 ++# ================================================= ++# The contents of this file are subject to the Sun Industry Standards ++# Source License Version 1.1 (the "License"); You may not use this file ++# except in compliance with the License. You may obtain a copy of the ++# License at http://www.openoffice.org/license.html. ++# ++# Software provided under this License is provided on an "AS IS" basis, ++# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, ++# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, ++# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. ++# See the License for the specific provisions governing your rights and ++# obligations concerning the Software. ++# ++# The Initial Developer of the Original Code is: Sun Microsystems, Inc. ++# ++# Copyright: 2000 by Sun Microsystems, Inc. ++# ++# All Rights Reserved. ++# ++# Contributor(s): _______________________________________ ++# ++# ++# ++#************************************************************************* ++ ++PRJ = ../../../.. ++ ++PRJNAME = mythes ++TARGET = mythes-1.2 ++LIBTARGET=YES ++ ++#----- Settings --------------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++# --- Files -------------------------------------------------------- ++ ++all_target: ALLTAR ++ ++ ++ ++SLOFILES= \ ++ $(SLO)$/mythes.obj ++ ++LIB1TARGET= $(SLB)$/lib$(TARGET).lib ++LIB1ARCHIV= $(LB)/lib$(TARGET).a ++LIB1OBJFILES= $(SLOFILES) ++ ++# --- Targets ------------------------------------------------------ ++ ++.INCLUDE : target.mk ++ -- cgit From 6f6cb071772a9cfd66060b5c32ce9d1a0b842984 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Fri, 14 May 2010 23:41:02 +0200 Subject: EXTERNAL_WARNINGS_NOT_ERRORS := TRUE in mythes' makefile.mk --- mythes/mythes-1.2.0-makefile-mk.diff | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mythes/mythes-1.2.0-makefile-mk.diff b/mythes/mythes-1.2.0-makefile-mk.diff index 79c6bb7fa70b..ac6ff8f19ee5 100644 --- a/mythes/mythes-1.2.0-makefile-mk.diff +++ b/mythes/mythes-1.2.0-makefile-mk.diff @@ -1,6 +1,6 @@ --- misc/mythes-1.2.0/makefile.mk 2010-05-14 23:36:09.000000000 +0200 +++ misc/build/mythes-1.2.0/makefile.mk 2010-05-14 23:35:14.000000000 +0200 -@@ -1 +1,89 @@ +@@ -1 +1,90 @@ -dummy +#************************************************************************* +# @@ -69,6 +69,7 @@ +PRJNAME = mythes +TARGET = mythes-1.2 +LIBTARGET=YES ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +#----- Settings --------------------------------------------------------- + -- cgit From 6b675d212c99e2cc56768adbffe7dcc6eab132fb Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Fri, 14 May 2010 23:44:34 +0200 Subject: mythes12: deliver libmythes-1.2.a also from unx*/lib --- mythes/prj/d.lst | 1 + 1 file changed, 1 insertion(+) diff --git a/mythes/prj/d.lst b/mythes/prj/d.lst index aabfa19d0598..5372b5bcd430 100644 --- a/mythes/prj/d.lst +++ b/mythes/prj/d.lst @@ -2,5 +2,6 @@ ..\%__SRC%\inc\mythes.hxx %_DEST%\inc%_EXT%\mythes.hxx ..\%__SRC%\misc\build\mythes-1.2.0\.libs\libmythes-1.2.a %_DEST%\lib%_EXT%\libmythes-1.2.a +..\%__SRC%\lib\libmythes-1.2.a %_DEST%\lib%_EXT%\libmythes-1.2.a ..\%__SRC%\misc\build\mythes-1.2.0\th_gen_idx.pl %_DEST%\bin%_EXT%\th_gen_idx.pl -- cgit From d0a3afc82beed2c1d2e0035a0cc5d43bb6acf774 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 17 May 2010 10:40:52 +0200 Subject: jl152 #i77196# only restarting if a extension was added/removed, XextensionManager.getSupportedArguments: removed repository argument --- desktop/source/app/app.cxx | 10 ++------ desktop/source/deployment/gui/dp_gui_dialog2.cxx | 3 ++- .../deployment/manager/dp_extensionmanager.cxx | 30 ++++++++++------------ .../deployment/manager/dp_extensionmanager.hxx | 4 +-- desktop/source/deployment/manager/dp_manager.cxx | 24 +++++++++++------ desktop/source/deployment/manager/dp_manager.h | 6 ++--- desktop/source/deployment/misc/dp_misc.cxx | 15 +++++------ 7 files changed, 45 insertions(+), 47 deletions(-) diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 3b0a1ea0dcf8..ebc0ab743125 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1399,11 +1399,9 @@ void Desktop::Main() // and process those extensions (has to be done before checking // the extension dependencies! SynchronizeExtensionRepositories(); - bool bAbort = CheckExtensionDependencies(); if ( bAbort ) return; - // First Start Wizard allowed ? if ( ! pCmdLineArgs->IsNoFirstStartWizard()) { @@ -1447,7 +1445,6 @@ void Desktop::Main() } SetSplashScreenProgress(50); - // Backing Component sal_Bool bCrashed = sal_False; sal_Bool bExistsRecoveryData = sal_False; @@ -1628,7 +1625,6 @@ void Desktop::Main() ::comphelper::ComponentContext aContext( xSMgr ); xRestartManager.set( aContext.getSingleton( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.OfficeRestartManager" ) ) ), UNO_QUERY ); - if ( !xRestartManager.is() || !xRestartManager->isRestartRequested( sal_True ) ) Execute(); } @@ -1654,22 +1650,20 @@ void Desktop::Main() } delete pResMgr; - // Restore old value if ( pCmdLineArgs->IsHeadless() ) SvtMiscOptions().SetUseSystemFileDialog( bUseSystemFileDialog ); // remove temp directory RemoveTemporaryDirectory(); - // The acceptors in the AcceptorMap must be released (in DeregisterServices) // with the solar mutex unlocked, to avoid deadlock: nAcquireCount = Application::ReleaseSolarMutex(); + printf("###1\n"); DeregisterServices(); + printf("###2\n"); Application::AcquireSolarMutex(nAcquireCount); - tools::DeInitTestToolLib(); - // be sure that path/language options gets destroyed before // UCB is deinitialized RTL_LOGFILE_CONTEXT_TRACE( aLog, "-> dispose path/language options" ); diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx index 164bb833fd6d..086e39e5f18c 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -877,7 +877,8 @@ uno::Sequence< OUString > ExtMgrDialog::raiseAddPicker() t_string2string title2filter; OUString sDefaultFilter( StrAllFiles::get() ); - const uno::Sequence< uno::Reference< deployment::XPackageTypeInfo > > packageTypes( m_pManager->getExtensionManager()->getSupportedPackageTypes( OUSTR("user") ) ); + const uno::Sequence< uno::Reference< deployment::XPackageTypeInfo > > packageTypes( + m_pManager->getExtensionManager()->getSupportedPackageTypes() ); for ( sal_Int32 pos = 0; pos < packageTypes.getLength(); ++pos ) { diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 83e68dff255e..edc414dc6f5d 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -402,16 +402,19 @@ Reference ExtensionManager::backupExtension( return xBackup; } +//The supported package types are actually determined by the registry. However +//creating a registry +//(desktop/source/deployment/registry/dp_registry.cxx:PackageRegistryImpl) will +//create all the backends, so that the registry can obtain from them the package +//types. Creating the registry will also set up the registry folder containing +//all the subfolders for the respective backends. +//Because all repositories support the same backends, we can just delegate this +//call to one of the repositories. uno::Sequence< Reference > -ExtensionManager::getSupportedPackageTypes(OUString const & repository) +ExtensionManager::getSupportedPackageTypes() throw (uno::RuntimeException) { - if (repository.equals(OUSTR("user"))) - return m_userRepository->getSupportedPackageTypes(); - else if (repository.equals(OUSTR("shared"))) - return m_sharedRepository->getSupportedPackageTypes(); - else - return uno::Sequence< Reference >(); + return m_userRepository->getSupportedPackageTypes(); } // Only add to shared and user repository @@ -437,7 +440,6 @@ Reference ExtensionManager::addExtension( throw lang::IllegalArgumentException( OUSTR("No valid repository name provided."), static_cast(this), 0); - ::osl::MutexGuard guard(getMutex()); Reference xTmpExtension = getTempExtension(url, xAbortChannel, xCmdEnv); @@ -448,7 +450,6 @@ Reference ExtensionManager::addExtension( dp_misc::DescriptionInfoset info(dp_misc::getDescriptionInfoset(xTmpExtension->getURL())); const ::boost::optional licenseAttributes = info.getSimpleLicenseAttributes(); - Reference xOldExtension; Reference xExtensionBackup; @@ -481,14 +482,12 @@ Reference ExtensionManager::addExtension( //the action. checkInstall(sDisplayName, xCmdEnv); } - //Prevent showing the license if requested. Reference _xCmdEnv(xCmdEnv); ExtensionProperties props(OUString(), properties, Reference()); if (licenseAttributes && licenseAttributes->suppressIfRequired && props.isSuppressedLicense()) _xCmdEnv = Reference(new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler())); - bCanInstall = xTmpExtension->checkPrerequisites( xAbortChannel, _xCmdEnv, xOldExtension.is()) == 0 ? true : false; } @@ -528,10 +527,8 @@ Reference ExtensionManager::addExtension( xOldExtension, Reference(), tmpCmdEnv); } - xNewExtension = xPackageManager->addPackage( url, properties, OUString(), xAbortChannel, xCmdEnv); - //If we add a user extension and there is already one which was //disabled by a user, then the newly installed one is enabled. If we //add to another repository then the user extension remains @@ -1023,7 +1020,7 @@ void ExtensionManager::reinstallDeployedExtensions( } } -void ExtensionManager::synchronize( +sal_Bool ExtensionManager::synchronize( OUString const & repository, Reference const & xAbortChannel, Reference const & xCmdEnv ) @@ -1035,6 +1032,7 @@ void ExtensionManager::synchronize( { try { + sal_Bool bModified = sal_False; Reference xPackageManager; OUString file; if (repository.equals(OUSTR("user"))) @@ -1065,7 +1063,7 @@ void ExtensionManager::synchronize( sSynchronizing.SearchAndReplaceAllAscii( "%NAME", repository ); dp_misc::ProgressLevel progress(xCmdEnv, sSynchronizing); - xPackageManager->synchronize(xAbortChannel, xCmdEnv); + bModified = xPackageManager->synchronize(xAbortChannel, xCmdEnv); try { const uno::Sequence > > @@ -1109,6 +1107,7 @@ void ExtensionManager::synchronize( static_cast(this), exc); } + return bModified; } catch (deploy::DeploymentException& ) { throw; } catch (ucb::CommandFailedException & ) { @@ -1202,7 +1201,6 @@ Reference ExtensionManager::getTempExtension( Reference tmpCmdEnvA(new TmpRepositoryCommandEnv()); Reference xTmpPackage = m_tmpRepository->addPackage( url, uno::Sequence(),OUString(), xAbortChannel, tmpCmdEnvA); - if (!xTmpPackage.is()) { throw deploy::DeploymentException( diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index e6c9ca3aa915..4367770945aa 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -78,7 +78,7 @@ public: //XExtensionManager virtual css::uno::Sequence< css::uno::Reference > SAL_CALL - getSupportedPackageTypes(::rtl::OUString const & repository) + getSupportedPackageTypes() throw (css::uno::RuntimeException); virtual css::uno::Reference SAL_CALL @@ -185,7 +185,7 @@ public: css::lang::IllegalArgumentException, css::uno::RuntimeException); - virtual void SAL_CALL synchronize( + virtual sal_Bool SAL_CALL synchronize( ::rtl::OUString const & repository, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 69b2baab8878..7844e11b0651 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -1245,7 +1245,7 @@ void PackageManagerImpl::reinstallDeployedPackages( { return m_readOnly; } -void PackageManagerImpl::synchronizeRemovedExtensions( +bool PackageManagerImpl::synchronizeRemovedExtensions( Reference const & xAbortChannel, Reference const & xCmdEnv) { @@ -1253,6 +1253,7 @@ void PackageManagerImpl::synchronizeRemovedExtensions( //find all which are in the extension data base but which //are removed already. OSL_ASSERT(!m_context.equals(OUSTR("user"))); + bool bModified = false; ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); typedef ActivePackages::Entries::const_iterator ITActive; @@ -1322,6 +1323,7 @@ void PackageManagerImpl::synchronizeRemovedExtensions( xPackage->revokePackage(xAbortChannel, xCmdEnv); removePackage(xPackage->getIdentifier().Value, xPackage->getName(), xAbortChannel, xCmdEnv); + bModified |= true; } } catch( uno::Exception & ) @@ -1329,14 +1331,15 @@ void PackageManagerImpl::synchronizeRemovedExtensions( OSL_ASSERT(0); } } + return bModified; } -void PackageManagerImpl::synchronizeAddedExtensions( +bool PackageManagerImpl::synchronizeAddedExtensions( Reference const & xAbortChannel, Reference const & xCmdEnv) { - // clean up activation layer, scan for zombie temp dirs: + bool bModified = false; ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); ::ucbhelper::Content tempFolder( @@ -1441,6 +1444,7 @@ void PackageManagerImpl::synchronizeAddedExtensions( //try to install the extension again. dbData.failedPrerequisites = OUString::valueOf(failedPrereq); insertToActivationLayerDB(id, dbData); + bModified |= true; } } } @@ -1449,9 +1453,10 @@ void PackageManagerImpl::synchronizeAddedExtensions( OSL_ASSERT(0); } } + return bModified; } -void PackageManagerImpl::synchronize( +sal_Bool PackageManagerImpl::synchronize( Reference const & xAbortChannel, Reference const & xCmdEnv) throw (css::deployment::DeploymentException, @@ -1459,12 +1464,15 @@ void PackageManagerImpl::synchronize( css::ucb::CommandAbortedException, css::uno::RuntimeException) { - check(); + bool bModified = false; if (m_context.equals(OUSTR("user"))) - return; - synchronizeRemovedExtensions(xAbortChannel, xCmdEnv); - synchronizeAddedExtensions(xAbortChannel, xCmdEnv); + return bModified; + bModified |= + synchronizeRemovedExtensions(xAbortChannel, xCmdEnv); + bModified |= synchronizeAddedExtensions(xAbortChannel, xCmdEnv); + + return bModified; } Sequence< Reference > PackageManagerImpl::getExtensionsWithUnacceptedLicenses( diff --git a/desktop/source/deployment/manager/dp_manager.h b/desktop/source/deployment/manager/dp_manager.h index 2e13c56ae968..8fe0f662011b 100644 --- a/desktop/source/deployment/manager/dp_manager.h +++ b/desktop/source/deployment/manager/dp_manager.h @@ -89,11 +89,11 @@ class PackageManagerImpl : private ::dp_misc::MutexHolder, public t_pm_helper bool isInstalled( css::uno::Reference const & package); - void synchronizeRemovedExtensions( + bool synchronizeRemovedExtensions( css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); - void synchronizeAddedExtensions( + bool synchronizeAddedExtensions( css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv); @@ -246,7 +246,7 @@ public: virtual ::sal_Bool SAL_CALL isReadOnly( ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL synchronize( + virtual ::sal_Bool SAL_CALL synchronize( css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index b68593c7f174..5ccc3d7225d4 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -602,7 +602,7 @@ void syncRepositories(Reference const & xCmdEnv) Reference xExtensionManager; //synchronize shared before bundled otherewise there are //more revoke and registration calls. - bool bSynced = false; + bool bModified = false; const OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); if (needToSyncRepostitory(sShared)) { @@ -612,9 +612,8 @@ void syncRepositories(Reference const & xCmdEnv) if (xExtensionManager.is()) { - xExtensionManager->synchronize( + bModified = xExtensionManager->synchronize( sShared, Reference(), xCmdEnv); - bSynced = true; } } @@ -629,24 +628,22 @@ void syncRepositories(Reference const & xCmdEnv) } if (xExtensionManager.is()) { - xExtensionManager->synchronize( + bModified |= xExtensionManager->synchronize( sBundled, Reference(), xCmdEnv); - bSynced = true; } } - if (bSynced) + if (bModified) { Reference restarter( comphelper_getProcessComponentContext()->getValueByName( OUSTR( "/singletons/com.sun.star.task.OfficeRestartManager") ), UNO_QUERY ); if (restarter.is()) { - fprintf(stdout, "\nrestarting\n"); restarter->requestRestart(xCmdEnv.is() == sal_True ? xCmdEnv->getInteractionHandler() : Reference()); - } - } + } + } } -- cgit From 78e682e70e7cb0fab5faf7dfa85ef6e77d126e21 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 17 May 2010 10:40:52 +0200 Subject: jl152 #i77196# only restarting if a extension was added/removed, XextensionManager.getSupportedArguments: removed repository argument --- offapi/com/sun/star/deployment/XExtensionManager.idl | 8 +++++--- offapi/com/sun/star/deployment/XPackageManager.idl | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 57acc85eab66..1a19bd651f3c 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -81,8 +81,7 @@ interface XExtensionManager @return supported XPackageTypeInfos. */ - sequence getSupportedPackageTypes( - [in] string repository); + sequence getSupportedPackageTypes(); /** creates a command channel to be used to asynchronously abort a command. @@ -283,8 +282,11 @@ interface XExtensionManager @param repository the repository which is to be synchronized + @return + If true - then at least one extension was removed or added. Otherwise + nothing was chaned. */ - void synchronize( + boolean synchronize( [in] string repository, [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl index c7fe077ff65c..fde1505ffac0 100644 --- a/offapi/com/sun/star/deployment/XPackageManager.idl +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -262,8 +262,11 @@ interface XPackageManager @param removed extensions which must be revoked + @return + If true - then at least one extension was removed or added. Otherwise + nothing was chaned. */ - void synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel, + boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) raises (DeploymentException, com::sun::star::ucb::CommandFailedException, -- cgit From 2c205e682ffbc40f3c971891e939a3133c8e5868 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Mon, 17 May 2010 11:11:05 +0200 Subject: cws tl78: feedme build problem with 'touch' command fixed --- oox/source/token/makefile.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oox/source/token/makefile.mk b/oox/source/token/makefile.mk index 3c2e9201ea33..7884c375fde6 100644 --- a/oox/source/token/makefile.mk +++ b/oox/source/token/makefile.mk @@ -51,6 +51,7 @@ $(MISC)$/tokens.gperf $(INCCOM)$/tokenwords.inc $(INCCOM)$/tokens.hxx $(INCCOM)$ @@noop $(assign do_phony:=.PHONY) $(MISC)$/do_tokens $(do_phony) : tokens.txt gentoken.pl $(MISC)$/tokens.gperf $(INCCOM)$/tokenwords.inc $(INCCOM)$/tokens.hxx + @@-$(RM) $@ $(PERL) gentoken.pl tokens.txt $(INCCOM)$/tokens.hxx $(INCCOM)$/tokenwords.inc $(MISC)$/tokens.gperf && $(TOUCH) $@ $(INCCOM)$/oox: @@ -60,6 +61,7 @@ $(INCCOM)$/oox$/core: $(INCCOM)$/oox $(MKDIR) $(INCCOM)$/oox$/core $(MISC)$/do_namespaces $(do_phony) : namespaces.txt gennamespaces.pl + @@-$(RM) $@ $(MKDIRHIER) $(INCCOM)$/oox$/core $(PERL) gennamespaces.pl namespaces.txt $(INCCOM)$/oox$/core$/namespaces.hxx && $(TOUCH) $@ @@ -69,7 +71,8 @@ $(INCCOM)$/tokens.inc : $(MISC)$/tokens.gperf $(MISC)$/do_tokens $(SLO)$/tokenmap.obj : $(INCCOM)$/tokens.inc $(INCCOM)$/tokenwords.inc $(INCCOM)$/tokens.hxx $(INCCOM)$/oox$/core$/namespaces.hxx $(MISC)$/do_tokens $(MISC)$/do_namespaces $(MISC)$/do_properties $(do_phony) : properties.txt genproperties.pl $(INCCOM)$/properties.hxx $(INCCOM)$/propertywords.inc - $(PERL) genproperties.pl properties.txt $(INCCOM)$/properties.hxx $(INCCOM)$/propertywords.inc && $(TOUCH) $@ + @@-$(RM) $@ + $(PERL) genproperties.pl properties.txt $(INCCOM)$/properties.hxx $(INCCOM)$/propertywords.inc && $(TOUCH) $@ $(SLO)$/propertylist.obj : $(INCCOM)$/propertywords.inc $(INCCOM)$/properties.hxx $(MISC)$/do_properties -- cgit From 885511f9be6f9e437687216affc1fb5c7d99054b Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Mon, 17 May 2010 16:42:05 +0200 Subject: jl152 #i77196# office hangs in smoketest when it is about to restart itself --- desktop/source/deployment/misc/dp_misc.cxx | 2 +- desktop/source/offacc/acceptor.cxx | 6 ++++++ desktop/source/offacc/acceptor.hxx | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 5ccc3d7225d4..3867f741f982 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -602,7 +602,7 @@ void syncRepositories(Reference const & xCmdEnv) Reference xExtensionManager; //synchronize shared before bundled otherewise there are //more revoke and registration calls. - bool bModified = false; + sal_Bool bModified = false; const OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); if (needToSyncRepostitory(sShared)) { diff --git a/desktop/source/offacc/acceptor.cxx b/desktop/source/offacc/acceptor.cxx index 4eee12f5949a..4e100fd99665 100644 --- a/desktop/source/offacc/acceptor.cxx +++ b/desktop/source/offacc/acceptor.cxx @@ -67,6 +67,7 @@ Acceptor::Acceptor( const Reference< XMultiServiceFactory >& rFactory ) , m_aConnectString() , m_aProtocol() , m_bInit(sal_False) + , m_bDying(false) { m_rSMgr = rFactory; m_rAcceptor = Reference< XAcceptor > (m_rSMgr->createInstance( @@ -88,6 +89,9 @@ Acceptor::~Acceptor() osl::MutexGuard g(m_aMutex); t = m_thread; } + //prevent locking if the thread is still waiting + m_bDying = true; + m_cEnable.set(); osl_joinWithThread(t); { // Make the final state of m_bridges visible to this thread (since @@ -117,6 +121,8 @@ void SAL_CALL Acceptor::run() RTL_LOGFILE_CONTEXT_TRACE( aLog, "desktop (lo119109)"\ "Acceptor::run waiting for office to come up"); m_cEnable.wait(); + if (m_bDying) //see destructor + break; RTL_LOGFILE_CONTEXT_TRACE( aLog, "desktop (lo119109)"\ "Acceptor::run now enabled and continuing"); diff --git a/desktop/source/offacc/acceptor.hxx b/desktop/source/offacc/acceptor.hxx index 1693dd8b75d0..87f50db032dd 100644 --- a/desktop/source/offacc/acceptor.hxx +++ b/desktop/source/offacc/acceptor.hxx @@ -83,6 +83,7 @@ private: OUString m_aProtocol; sal_Bool m_bInit; + bool m_bDying; public: Acceptor( const Reference< XMultiServiceFactory >& aFactory ); -- cgit From 769873c6224c0e03757d2ddb4b5a60d11411f025 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 18 May 2010 14:05:20 +0200 Subject: systemlibc: migrate systemlibc to hg; try again from scratch --- configure | 26571 +++++++++++++++++-------------------------- configure.in | 9 + set_soenv.in | 3 + soltools/cpp/_getopt.c | 71 - soltools/cpp/_nlist.c | 3 - soltools/cpp/_unix.c | 6 +- soltools/cpp/makefile.mk | 1 - soltools/javadep/javadep.c | 48 +- 8 files changed, 10198 insertions(+), 16514 deletions(-) delete mode 100644 soltools/cpp/_getopt.c diff --git a/configure b/configure index 758b170295e1..45742ea27794 100755 --- a/configure +++ b/configure @@ -1,82 +1,416 @@ #! /bin/sh # From configure.in Revision: 1.290 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. +# Generated by GNU Autoconf 2.65. +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# # -# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi -DUALCASE=1; export DUALCASE # for MKS sh -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_unset $as_var + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." fi -done + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -84,146 +418,107 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file else - as_expr=false + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -232,38 +527,25 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -exec 6>&1 - # # Initializations. # ac_default_prefix=/usr/local +ac_clean_files= ac_config_libobj_dir=. +LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= @@ -271,50 +553,651 @@ PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= +PACKAGE_URL= # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG BUILD_QADEVOOO SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB SYSTEM_MYTHES SYSTEM_LPSOLVE PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS' +ac_subst_vars='LTLIBOBJS +LIBOBJS +BUILD_TYPE +LOCAL_SOLVER +VERBOSE +ENABLE_LAYOUT +ENABLE_STATIC_GTK +UNIXWRAPPERNAME +OOO_VENDOR +ABOUT_BITMAPS +INTRO_BITMAPS +WITH_DICT +WITH_POOR_HELP_LOCALIZATIONS +WITH_LANG +OOO_JUNIT_JAR +ANT_LIB +ANT_HOME +ANT +XINERAMA_LINK +USE_XINERAMA +SCPDEFS +WITHOUT_AFMS +WITHOUT_PPDS +WITH_FONTS +ENABLE_KAB +ENABLE_EVOAB2 +GOBJECT_LIBS +GOBJECT_CFLAGS +ENABLE_LOCKDOWN +KDE4_LIBS +KDE4_CFLAGS +MOC4 +KDE_LIBS +KDE_CFLAGS +MOC +COMMONS_LOGGING_JAR +COMMONS_HTTPCLIENT_JAR +COMMONS_LANG_JAR +COMMONS_CODEC_JAR +SYSTEM_APACHE_COMMONS +LIBSERIALIZER_JAR +LIBFONTS_JAR +LIBREPOSITORY_JAR +LIBFORMULA_JAR +LIBLOADER_JAR +LIBLAYOUT_JAR +LIBBASE_JAR +JFREEREPORT_JAR +FLUTE_JAR +LIBXML_JAR +SAC_JAR +SYSTEM_JFREEREPORT +ENABLE_REPORTBUILDER +SERVLETAPI_JAR +SYSTEM_SERVLETAPI +ENABLE_MEDIAWIKI +SYSTEM_POPPLER +ENABLE_PDFIMPORT +POPPLER_LIBS +POPPLER_CFLAGS +ENABLE_PRESENTER_SCREEN +ENABLE_MINIMIZER +ENABLE_PRESENTER_EXTRA_UI +ENABLE_OPENGL +SYSTEM_CAIRO +BUILD_PIXMAN +ENABLE_CAIRO +CAIRO_LIBS +CAIRO_CFLAGS +ENABLE_SYSTRAY_GTK +ENABLE_DBUS +ENABLE_GIO +GIO_LIBS +GIO_CFLAGS +DBUS_LIBS +DBUS_CFLAGS +GTK_LIBS +GTK_CFLAGS +ENABLE_GNOMEVFS +GNOMEVFS_LIBS +GNOMEVFS_CFLAGS +ENABLE_GCONF +GCONF_LIBS +GCONF_CFLAGS +ENABLE_KDE4 +ENABLE_KDE +ENABLE_GTK +ZIP_HOME +UNZIP +ZIP +ASM_HOME +ML_EXE +CYGWIN_PATH +GNUPATCH +GNUCP +PATCH +FLEX +BISON +NSIS_PATH +DIRECTXSDK_LIB +DIRECTXSDK_HOME +WINDOWS_VISTA_PSDK +PSDK_HOME +SYSTEM_GLIBC +SYSTEM_READDIR_R +SYSTEM_GETOPT +SYSTEM_LPSOLVE +SYSTEM_MYTHES +HYPHEN_LIB +SYSTEM_HYPH +SYSTEM_HUNSPELL +HUNSPELL_LIBS +HUNSPELL_CFLAGS +SYSTEM_REDLAND +REDLAND_LIBS +REDLAND_CFLAGS +AGG_VERSION +SYSTEM_AGG +AGG_LIBS +AGG_CFLAGS +ENABLE_AGG +SYSTEM_OPENSSL +OPENSSL_LIBS +OPENSSL_CFLAGS +NEON_VERSION +SYSTEM_NEON +NEON_LIBS +NEON_CFLAGS +DISABLE_NEON +ENABLE_RANDR +XRANDR_DLOPEN +XRANDR_LIBS +XRANDR_CFLAGS +XRENDER_LINK +SYSTEM_XRENDER_HEADERS +DISABLE_XAW +XAU_LIBS +XLIB +XINC +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +SYSTEM_GRAPHITE +ENABLE_GRAPHITE +GRAPHITE_LIBS +GRAPHITE_CFLAGS +SYSTEM_ICU +SYSTEM_GENCMN +SYSTEM_GENCCODE +SYSTEM_GENBRK +SYSTEM_SANE_HEADER +MOZ_LDAP_CFLAGS +MOZ_LIB_XPCOM +MOZ_LIB +MOZ_INC +MOZ_FLAVOUR +SYSTEM_MOZILLA +MOZILLABUILD +ENABLE_NSS_MODULE +BUILD_MOZAB +MOZLIBREQ_LIBS +MOZLIBREQ_CFLAGS +MOZGTK2_LIBS +MOZGTK2_CFLAGS +MOZILLA_TOOLKIT +MOZILLA_VERSION +MOZILLAXPCOM_LIBS +MOZILLAXPCOM_CFLAGS +NSPR_LIB +MOZ_NSPR_LIBS +MOZ_NSPR_CFLAGS +NSS_LIB +MOZ_NSS_LIBS +MOZ_NSS_CFLAGS +WITH_OPENLDAP +WITH_LDAP +WITH_MOZILLA +SYSTEM_ODBC_HEADERS +SYSTEM_VIGRA +SYSTEM_BOOST +CURL_LIBS +CURL_CFLAGS +SYSTEM_CURL +CURLCONFIG +SAXON_JAR +SYSTEM_SAXON +SERIALIZER_JAR +BSH_JAR +SYSTEM_BSH +HSQLDB_JAR +SYSTEM_HSQLDB +SYSTEM_MYSQL_CPPCONN +LIBMYSQL_PATH +MYSQL_DEFINES +MYSQL_LIB +MYSQL_INC +SYSTEM_MYSQL +MYSQLCONFIG +ENABLE_MYSQLC +LUCENE_ANALYZERS_JAR +LUCENE_CORE_JAR +SYSTEM_LUCENE +DB_JAR +DB_INCLUDES +DB_VERSION +SYSTEM_DB +HOME +PYTHON_LIBS +PYTHON_CFLAGS +SYSTEM_PYTHON +BZIP2 +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON +SYSTEM_LIBXML +LIBXML_LIBS +LIBXML_CFLAGS +SYSTEM_LIBXSLT +XSLTPROC +LIBXSLT_LIBS +LIBXSLT_CFLAGS +USE_FT_EMBOLDEN +FREETYPE_LIBS +FREETYPE_CFLAGS +SYSTEM_CPPUNIT +CPPUNIT_LIBS +CPPUNIT_CFLAGS +SYSTEM_LIBWPD +LIBWPD_LIBS +LIBWPD_CFLAGS +PKG_CONFIG +SYSTEM_EXPAT +SYSTEM_JPEG +SYSTEM_ZLIB +SYSTEM_STDLIBS +BUILD_QADEVOOO +BUILD_UNOWINREG +MINGWSTRIP +MINGWCXX +GPERF +RPM +PKGFORMAT +BUILD_EPM +PKGMK +DPKG +EPM +BUILD_DMAKE +DMAKE +JAVAIFLAGS +JAVAFLAGS +JDK +JAVA_HOME +JAVAAOTCOMPILER +AWTLIB +JAVADOC +JAVACISGCJ +JAVACOMPILER +JAVAINTERPRETER +SOLAR_JAVA +BUILD_VER_STRING +ALLOC +HAVE_GCC_VISIBILITY_FEATURE +CCACHE +USE_CCACHE +USE_SYSTEM_STL +STLPORT_VER +STLPORT4 +EXCEPTIONS +MINGW_GXXDLL +MINGW_GCCDLL +MINGW_SHARED_GXXLIB +MINGW_GCCLIB_EH +MINGW_SHARED_GCCLIB +MINGW_CLIB_DIR +MINGW_BACKWARD_INCLUDE_PATH +MINGW_LIB_INCLUDE_PATH +GXX_INCLUDE_PATH +CRYPT_LINK +PAM_LINK +NEW_SHADOW_API +PAM +VBA_EXTENSION +ENABLE_VBA +LFS_CFLAGS +WORDS_BIGENDIAN +SIZEOF_LONG +CXXCPP +ac_ct_CXX +CXXFLAGS +CXX +CPP +FRAME_HOME +CSC_PATH +MIDL_PATH +USE_MINGW +COMEX +MSPDB_PATH +PERL +HAVE_LD_HASH_STYLE +_cc +GNUMAKE +NO_HIDS +ENABLE_PCH +HAVE_LD_BSYMBOLIC_FUNCTIONS +GCCVER +COMPATH +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +GCC_HOME +SHELLPATH +WITH_MINGWIN +THES_SYSTEM_DIR +HYPH_SYSTEM_DIR +DICT_SYSTEM_DIR +SYSTEM_DICTS +WITH_MYSPELL_DICTS +ENABLE_RPATH +DISABLE_ATL +DISABLE_ACTIVEX +ENABLE_DIRECTX +WITH_BINFILTER +DO_FETCH_TARBALLS +TARFILE_LOCATION +ENABLE_FONTCONFIG +ENABLE_CUPS +DISABLE_STRIP +ENABLE_SYMBOLS +PROEXT +PROFULLSWITCH +PRODUCT +ENABLE_DEBUG +ENABLE_WERROR +VC_STANDARD +ENABLE_CRASHDUMP +PTHREAD_LIBS +PTHREAD_CFLAGS +OSVERSION +GNUTAR +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +SOURCEVERSION +UPD +_solenv +LOCAL_SOLENV +SED +AWK +EGREP +GREP +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_gnu_patch +with_agg +with_gnu_cp +enable_graphite +with_system_graphite +enable_ldap +enable_fetch_external +with_external_tar +with_openldap +enable_lockdown +enable_vba +with_vba_package_format +enable_pch +enable_hids +enable_mozilla +with_fonts +with_ppds +with_afms +enable_epm +with_epm +with_package_format +enable_odk +enable_qadevooo +enable_mathmldtd +enable_evolution2 +with_system_stdlibs +enable_cups +enable_fontconfig +enable_directx +enable_activex +enable_atl +enable_symbols +enable_strip_solver +enable_werror +enable_debug +enable_dbgutil +enable_crashdump +enable_cl_standard +enable_gtk +enable_systray +enable_cairo +with_system_cairo +enable_opengl +enable_dbus +enable_gconf +enable_gnome_vfs +enable_gio +enable_static_gtk +enable_layout +enable_build_mozilla +with_mozilla_version +with_mozilla_toolkit +enable_nss_module +enable_kde +enable_kdeab +enable_kde4 +enable_binfilter +enable_rpath +enable_pam +enable_pam_link +enable_crypt_link +enable_xrender_link +enable_randr +enable_randr_link +with_myspell_dicts +with_system_dicts +with_external_dict_dir +with_external_hyph_dir +with_external_thes_dir +with_system_libs +with_system_headers +with_system_jars +with_system_zlib +with_system_openssl +with_system_jpeg +with_system_expat +with_system_libwpd +with_system_libxml +with_system_python +with_system_icu +with_system_poppler +with_system_db +with_system_lucene +with_lucene_core_jar +with_lucene_analyzers_jar +enable_mysql_connector +with_system_mysql +with_libmysql_path +with_system_mysql_cppconn +with_system_hsqldb +with_hsqldb_jar +with_system_beanshell +with_beanshell_jar +enable_presenter_extra_ui +enable_minimizer +enable_presenter_console +enable_pdfimport +enable_wiki_publisher +with_commons_codec_jar +with_commons_lang_jar +with_commons_httpclient_jar +with_commons_logging_jar +with_servlet_api_jar +enable_report_builder +with_system_jfreereport +with_sac_jar +with_libxml_jar +with_flute_jar +with_jfreereport_jar +with_liblayout_jar +with_libloader_jar +with_libformula_jar +with_librepository_jar +with_libfonts_jar +with_libserializer_jar +with_libbase_jar +with_system_saxon +with_saxon_jar +with_system_libxslt +with_system_odbc +with_system_sane +with_system_xrender +with_system_curl +with_system_boost +with_system_vigra +enable_neon +enable_Xaw +with_system_neon +with_system_agg +with_system_hunspell +with_system_mythes +with_system_altlinuxhyph +with_system_lpsolve +with_system_cppunit +with_system_mozilla +with_stlport +with_jdk_home +with_gxx_include_path +with_java +enable_gcjaot +with_ant_home +with_junit +with_perl_home +with_cl_home +with_mspdb_path +with_midl_path +with_csc_path +with_nsis_path +with_frame_home +with_psdk_home +with_directx_home +with_mozilla_build +with_local_solenv +with_local_solver +enable_check_only +enable_ccache_skip +with_lang +with_poor_help_localizations +with_dict +with_intro_bitmaps +with_about_bitmaps +with_vendor +with_unix_wrapper +with_asm_home +with_os_version +with_unzip_home +with_zip_home +with_mingwin +with_build_version +with_alloc +enable_verbose +enable_largefile +with_x +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +XMKMF' + # Initialize some variables set by options. ac_init_help= ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -337,34 +1220,48 @@ x_libraries=NONE # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' ac_prev= +ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -386,33 +1283,59 @@ do --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "enable_$ac_feature='$ac_optarg'" ;; + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -439,6 +1362,12 @@ do -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -463,13 +1392,16 @@ do | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -534,6 +1466,16 @@ do | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -584,26 +1526,36 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; esac - eval "with_$ac_package='$ac_optarg'" ;; + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. @@ -623,26 +1575,25 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -651,31 +1602,36 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac -done +fi -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir do - eval ac_val=$`echo $ac_var` + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -689,7 +1645,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -702,86 +1658,72 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error "pwd does not report name of working directory" + + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done # # Report the --help message. @@ -810,14 +1752,11 @@ Configuration: -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] -_ACEOF - - cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -827,18 +1766,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -859,6 +1805,7 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-graphite Enables the compilation of Graphite smart font rendering @@ -1450,170 +2397,980 @@ Some influential environment variables: CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. +Report bugs to the package provider. _ACEOF +ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. - ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } done fi -test -n "$ac_init_help" && exit 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF +configure +generated by GNU Autoconf 2.65 -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -_ASUNAME +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -} >&5 +} # ac_fn_c_try_link -cat >&5 <<_ACEOF +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval -## ----------- ## -## Core tests. ## -## ----------- ## +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_func + +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_cxx_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_mongrel + +# ac_fn_cxx_try_run LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_cxx_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_run + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_member +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.65. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## _ACEOF @@ -1626,7 +3383,6 @@ _ACEOF ac_configure_args= ac_configure_args0= ac_configure_args1= -ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -1637,13 +3393,13 @@ do -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -1659,21 +3415,19 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { @@ -1686,20 +3440,35 @@ trap 'exit_status=$? _ASBOX echo # The following way of writing the cache mishandles newlines in values, -{ +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) echo cat <<\_ASBOX @@ -1710,22 +3479,28 @@ _ASBOX echo for ac_var in $ac_subst_vars do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## +## ------------------- ## +## File substitutions. ## +## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -1737,26 +3512,26 @@ _ASBOX ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h | sort + cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status - ' 0 +' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. @@ -1764,112 +3539,128 @@ cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -1878,1082 +3669,1065 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$@" >config.parms +# Check whether --with-gnu-patch was given. +if test "${with_gnu_patch+set}" = set; then : + withval=$with_gnu_patch; +fi +# Check whether --with-agg was given. +if test "${with_agg+set}" = set; then : + withval=$with_agg; +else + with_agg=yes +fi +# Check whether --with-gnu-cp was given. +if test "${with_gnu_cp+set}" = set; then : + withval=$with_gnu_cp; +fi +# Check whether --enable-graphite was given. +if test "${enable_graphite+set}" = set; then : + enableval=$enable_graphite; +fi +# Check whether --with-system-graphite was given. +if test "${with_system_graphite+set}" = set; then : + withval=$with_system_graphite; +fi +# Check whether --enable-ldap was given. +if test "${enable_ldap+set}" = set; then : + enableval=$enable_ldap; +fi +# Check whether --enable-fetch-external was given. +if test "${enable_fetch_external+set}" = set; then : + enableval=$enable_fetch_external; +fi +# Check whether --with-external-tar was given. +if test "${with_external_tar+set}" = set; then : + withval=$with_external_tar; TARFILE_LOCATION="$withval" +fi +# Check whether --with-openldap was given. +if test "${with_openldap+set}" = set; then : + withval=$with_openldap; +fi +# Check whether --enable-lockdown was given. +if test "${enable_lockdown+set}" = set; then : + enableval=$enable_lockdown; +fi -echo "$@" >config.parms +# Check whether --enable-vba was given. +if test "${enable_vba+set}" = set; then : + enableval=$enable_vba; +fi -# Check whether --with-gnu-patch or --without-gnu-patch was given. -if test "${with_gnu_patch+set}" = set; then - withval="$with_gnu_patch" -fi; +# Check whether --with-vba-package-format was given. +if test "${with_vba_package_format+set}" = set; then : + withval=$with_vba_package_format; +fi + +# Check whether --enable-pch was given. +if test "${enable_pch+set}" = set; then : + enableval=$enable_pch; +fi -# Check whether --with-agg or --without-agg was given. -if test "${with_agg+set}" = set; then - withval="$with_agg" +# Check whether --enable-hids was given. +if test "${enable_hids+set}" = set; then : + enableval=$enable_hids; +fi +# Check whether --enable-mozilla was given. +if test "${enable_mozilla+set}" = set; then : + enableval=$enable_mozilla; else - with_agg=yes -fi; + enable_mozilla="yes" +fi -# Check whether --with-gnu-cp or --without-gnu-cp was given. -if test "${with_gnu_cp+set}" = set; then - withval="$with_gnu_cp" -fi; -# Check whether --enable-graphite or --disable-graphite was given. -if test "${enable_graphite+set}" = set; then - enableval="$enable_graphite" +# Check whether --with-fonts was given. +if test "${with_fonts+set}" = set; then : + withval=$with_fonts; +fi -fi; -# Check whether --with-system-graphite or --without-system-graphite was given. -if test "${with_system_graphite+set}" = set; then - withval="$with_system_graphite" +# Check whether --with-ppds was given. +if test "${with_ppds+set}" = set; then : + withval=$with_ppds; +fi -fi; -# Check whether --enable-ldap or --disable-ldap was given. -if test "${enable_ldap+set}" = set; then - enableval="$enable_ldap" -fi; -# Check whether --enable-fetch-external or --disable-fetch-external was given. -if test "${enable_fetch_external+set}" = set; then - enableval="$enable_fetch_external" +# Check whether --with-afms was given. +if test "${with_afms+set}" = set; then : + withval=$with_afms; +fi -fi; +# Check whether --enable-epm was given. +if test "${enable_epm+set}" = set; then : + enableval=$enable_epm; +else + enable_epm="yes" +fi -# Check whether --with-external-tar or --without-external-tar was given. -if test "${with_external_tar+set}" = set; then - withval="$with_external_tar" - TARFILE_LOCATION="$withval" -fi; +# Check whether --with-epm was given. +if test "${with_epm+set}" = set; then : + withval=$with_epm; +fi -# Check whether --with-openldap or --without-openldap was given. -if test "${with_openldap+set}" = set; then - withval="$with_openldap" -fi; -# Check whether --enable-lockdown or --disable-lockdown was given. -if test "${enable_lockdown+set}" = set; then - enableval="$enable_lockdown" +# Check whether --with-package-format was given. +if test "${with_package_format+set}" = set; then : + withval=$with_package_format; +fi -fi; -# Check whether --enable-vba or --disable-vba was given. -if test "${enable_vba+set}" = set; then - enableval="$enable_vba" +# Check whether --enable-odk was given. +if test "${enable_odk+set}" = set; then : + enableval=$enable_odk; +else + enable_odk="yes" +fi -fi; +# Check whether --enable-qadevooo was given. +if test "${enable_qadevooo+set}" = set; then : + enableval=$enable_qadevooo; +else + enable_qadevooo="yes" +fi -# Check whether --with-vba-package-format or --without-vba-package-format was given. -if test "${with_vba_package_format+set}" = set; then - withval="$with_vba_package_format" +# Check whether --enable-mathmldtd was given. +if test "${enable_mathmldtd+set}" = set; then : + enableval=$enable_mathmldtd; +else + enable_mathmldtd="yes" +fi -fi; -# Check whether --enable-pch or --disable-pch was given. -if test "${enable_pch+set}" = set; then - enableval="$enable_pch" +# Check whether --enable-evolution2 was given. +if test "${enable_evolution2+set}" = set; then : + enableval=$enable_evolution2; +fi -fi; -# Check whether --enable-hids or --disable-hids was given. -if test "${enable_hids+set}" = set; then - enableval="$enable_hids" -fi; -# Check whether --enable-mozilla or --disable-mozilla was given. -if test "${enable_mozilla+set}" = set; then - enableval="$enable_mozilla" +# Check whether --with-system-stdlibs was given. +if test "${with_system_stdlibs+set}" = set; then : + withval=$with_system_stdlibs; +else + checkforstdlibproblems=yes +fi +# Check whether --enable-cups was given. +if test "${enable_cups+set}" = set; then : + enableval=$enable_cups; else - enable_mozilla="yes" -fi; + enable_cups=yes +fi -# Check whether --with-fonts or --without-fonts was given. -if test "${with_fonts+set}" = set; then - withval="$with_fonts" +# Check whether --enable-fontconfig was given. +if test "${enable_fontconfig+set}" = set; then : + enableval=$enable_fontconfig; +else + enable_fontconfig=yes +fi -fi; +# Check whether --enable-directx was given. +if test "${enable_directx+set}" = set; then : + enableval=$enable_directx; +else + enable_directx=yes +fi -# Check whether --with-ppds or --without-ppds was given. -if test "${with_ppds+set}" = set; then - withval="$with_ppds" +# Check whether --enable-activex was given. +if test "${enable_activex+set}" = set; then : + enableval=$enable_activex; +fi -fi; -# Check whether --with-afms or --without-afms was given. -if test "${with_afms+set}" = set; then - withval="$with_afms" +# Check whether --enable-atl was given. +if test "${enable_atl+set}" = set; then : + enableval=$enable_atl; +fi -fi; -# Check whether --enable-epm or --disable-epm was given. -if test "${enable_epm+set}" = set; then - enableval="$enable_epm" -else - enable_epm="yes" -fi; +# Check whether --enable-symbols was given. +if test "${enable_symbols+set}" = set; then : + enableval=$enable_symbols; +fi -# Check whether --with-epm or --without-epm was given. -if test "${with_epm+set}" = set; then - withval="$with_epm" +# Check whether --enable-strip-solver was given. +if test "${enable_strip_solver+set}" = set; then : + enableval=$enable_strip_solver; +fi -fi; +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi -# Check whether --with-package-format or --without-package-format was given. -if test "${with_package_format+set}" = set; then - withval="$with_package_format" +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; +fi -fi; -# Check whether --enable-odk or --disable-odk was given. -if test "${enable_odk+set}" = set; then - enableval="$enable_odk" +# Check whether --enable-dbgutil was given. +if test "${enable_dbgutil+set}" = set; then : + enableval=$enable_dbgutil; +fi + +# Check whether --enable-crashdump was given. +if test "${enable_crashdump+set}" = set; then : + enableval=$enable_crashdump; +fi + +# Check whether --enable-cl-standard was given. +if test "${enable_cl_standard+set}" = set; then : + enableval=$enable_cl_standard; +fi +# Check whether --enable-gtk was given. +if test "${enable_gtk+set}" = set; then : + enableval=$enable_gtk; else - enable_odk="yes" -fi; -# Check whether --enable-qadevooo or --disable-qadevooo was given. -if test "${enable_qadevooo+set}" = set; then - enableval="$enable_qadevooo" + enable_gtk=yes +fi +# Check whether --enable-systray was given. +if test "${enable_systray+set}" = set; then : + enableval=$enable_systray; else - enable_qadevooo="yes" -fi; -# Check whether --enable-mathmldtd or --disable-mathmldtd was given. -if test "${enable_mathmldtd+set}" = set; then - enableval="$enable_mathmldtd" + enable_systray=yes +fi +# Check whether --enable-cairo was given. +if test "${enable_cairo+set}" = set; then : + enableval=$enable_cairo; else - enable_mathmldtd="yes" -fi; -# Check whether --enable-evolution2 or --disable-evolution2 was given. -if test "${enable_evolution2+set}" = set; then - enableval="$enable_evolution2" + enable_cairo=no +fi -fi; -# Check whether --with-system-stdlibs or --without-system-stdlibs was given. -if test "${with_system_stdlibs+set}" = set; then - withval="$with_system_stdlibs" +# Check whether --with-system-cairo was given. +if test "${with_system_cairo+set}" = set; then : + withval=$with_system_cairo; +fi +# Check whether --enable-opengl was given. +if test "${enable_opengl+set}" = set; then : + enableval=$enable_opengl; else - checkforstdlibproblems=yes -fi; -# Check whether --enable-cups or --disable-cups was given. -if test "${enable_cups+set}" = set; then - enableval="$enable_cups" + enable_opengl=no +fi +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then : + enableval=$enable_dbus; else - enable_cups=yes -fi; -# Check whether --enable-fontconfig or --disable-fontconfig was given. -if test "${enable_fontconfig+set}" = set; then - enableval="$enable_fontconfig" + enable_dbus=no +fi +# Check whether --enable-gconf was given. +if test "${enable_gconf+set}" = set; then : + enableval=$enable_gconf; else - enable_fontconfig=yes -fi; -# Check whether --enable-directx or --disable-directx was given. -if test "${enable_directx+set}" = set; then - enableval="$enable_directx" + enable_gconf=yes +fi +# Check whether --enable-gnome-vfs was given. +if test "${enable_gnome_vfs+set}" = set; then : + enableval=$enable_gnome_vfs; else - enable_directx=yes -fi; -# Check whether --enable-activex or --disable-activex was given. -if test "${enable_activex+set}" = set; then - enableval="$enable_activex" - -fi; + enable_gnome_vfs=yes +fi -# Check whether --enable-atl or --disable-atl was given. -if test "${enable_atl+set}" = set; then - enableval="$enable_atl" +# Check whether --enable-gio was given. +if test "${enable_gio+set}" = set; then : + enableval=$enable_gio; +else + enable_gio=no +fi -fi; +# Check whether --enable-static-gtk was given. +if test "${enable_static_gtk+set}" = set; then : + enableval=$enable_static_gtk; +fi -# Check whether --enable-symbols or --disable-symbols was given. -if test "${enable_symbols+set}" = set; then - enableval="$enable_symbols" +# Check whether --enable-layout was given. +if test "${enable_layout+set}" = set; then : + enableval=$enable_layout; +fi -fi; -# Check whether --enable-strip-solver or --disable-strip-solver was given. -if test "${enable_strip_solver+set}" = set; then - enableval="$enable_strip_solver" +# Check whether --enable-build-mozilla was given. +if test "${enable_build_mozilla+set}" = set; then : + enableval=$enable_build_mozilla; +fi -fi; -# Check whether --enable-werror or --disable-werror was given. -if test "${enable_werror+set}" = set; then - enableval="$enable_werror" -fi; -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" +# Check whether --with-mozilla-version was given. +if test "${with_mozilla_version+set}" = set; then : + withval=$with_mozilla_version; +fi -fi; -# Check whether --enable-dbgutil or --disable-dbgutil was given. -if test "${enable_dbgutil+set}" = set; then - enableval="$enable_dbgutil" -fi; -# Check whether --enable-crashdump or --disable-crashdump was given. -if test "${enable_crashdump+set}" = set; then - enableval="$enable_crashdump" +# Check whether --with-mozilla-toolkit was given. +if test "${with_mozilla_toolkit+set}" = set; then : + withval=$with_mozilla_toolkit; +fi -fi; -# Check whether --enable-cl-standard or --disable-cl-standard was given. -if test "${enable_cl_standard+set}" = set; then - enableval="$enable_cl_standard" +# Check whether --enable-nss_module was given. +if test "${enable_nss_module+set}" = set; then : + enableval=$enable_nss_module; +else + enable_nss_module=yes +fi -fi; -# Check whether --enable-gtk or --disable-gtk was given. -if test "${enable_gtk+set}" = set; then - enableval="$enable_gtk" +# Check whether --enable-kde was given. +if test "${enable_kde+set}" = set; then : + enableval=$enable_kde; +fi +# Check whether --enable-kdeab was given. +if test "${enable_kdeab+set}" = set; then : + enableval=$enable_kdeab; else - enable_gtk=yes -fi; -# Check whether --enable-systray or --disable-systray was given. -if test "${enable_systray+set}" = set; then - enableval="$enable_systray" + if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi +fi -else - enable_systray=yes -fi; -# Check whether --enable-cairo or --disable-cairo was given. -if test "${enable_cairo+set}" = set; then - enableval="$enable_cairo" +# Check whether --enable-kde4 was given. +if test "${enable_kde4+set}" = set; then : + enableval=$enable_kde4; +fi +# Check whether --enable-binfilter was given. +if test "${enable_binfilter+set}" = set; then : + enableval=$enable_binfilter; else - enable_cairo=no -fi; + if ! test -d ./binfilter; then enable_binfilter=no; fi +fi + +# Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; +fi + +# Check whether --enable-pam was given. +if test "${enable_pam+set}" = set; then : + enableval=$enable_pam; +fi -# Check whether --with-system-cairo or --without-system-cairo was given. -if test "${with_system_cairo+set}" = set; then - withval="$with_system_cairo" +# Check whether --enable-pam-link was given. +if test "${enable_pam_link+set}" = set; then : + enableval=$enable_pam_link; +fi -fi; -# Check whether --enable-opengl or --disable-opengl was given. -if test "${enable_opengl+set}" = set; then - enableval="$enable_opengl" +# Check whether --enable-crypt-link was given. +if test "${enable_crypt_link+set}" = set; then : + enableval=$enable_crypt_link; +else + enable_crypt_link=yes +fi + +# Check whether --enable-xrender-link was given. +if test "${enable_xrender_link+set}" = set; then : + enableval=$enable_xrender_link; +fi +# Check whether --enable-randr was given. +if test "${enable_randr+set}" = set; then : + enableval=$enable_randr; else - enable_opengl=no -fi; -# Check whether --enable-dbus or --disable-dbus was given. -if test "${enable_dbus+set}" = set; then - enableval="$enable_dbus" + enable_randr=yes +fi +# Check whether --enable-randr-link was given. +if test "${enable_randr_link+set}" = set; then : + enableval=$enable_randr_link; else - enable_dbus=no -fi; -# Check whether --enable-gconf or --disable-gconf was given. -if test "${enable_gconf+set}" = set; then - enableval="$enable_gconf" + enable_randr_link=yes +fi -else - enable_gconf=yes -fi; -# Check whether --enable-gnome-vfs or --disable-gnome-vfs was given. -if test "${enable_gnome_vfs+set}" = set; then - enableval="$enable_gnome_vfs" -else - enable_gnome_vfs=yes -fi; -# Check whether --enable-gio or --disable-gio was given. -if test "${enable_gio+set}" = set; then - enableval="$enable_gio" +# Check whether --with-myspell-dicts was given. +if test "${with_myspell_dicts+set}" = set; then : + withval=$with_myspell_dicts; +fi -else - enable_gio=no -fi; -# Check whether --enable-static-gtk or --disable-static-gtk was given. -if test "${enable_static_gtk+set}" = set; then - enableval="$enable_static_gtk" -fi; -# Check whether --enable-layout or --disable-layout was given. -if test "${enable_layout+set}" = set; then - enableval="$enable_layout" +# Check whether --with-system-dicts was given. +if test "${with_system_dicts+set}" = set; then : + withval=$with_system_dicts; +fi -fi; -# Check whether --enable-build-mozilla or --disable-build-mozilla was given. -if test "${enable_build_mozilla+set}" = set; then - enableval="$enable_build_mozilla" -fi; +# Check whether --with-external-dict-dir was given. +if test "${with_external_dict_dir+set}" = set; then : + withval=$with_external_dict_dir; +fi -# Check whether --with-mozilla-version or --without-mozilla-version was given. -if test "${with_mozilla_version+set}" = set; then - withval="$with_mozilla_version" -fi; +# Check whether --with-external-hyph-dir was given. +if test "${with_external_hyph_dir+set}" = set; then : + withval=$with_external_hyph_dir; +fi -# Check whether --with-mozilla-toolkit or --without-mozilla-toolkit was given. -if test "${with_mozilla_toolkit+set}" = set; then - withval="$with_mozilla_toolkit" -fi; -# Check whether --enable-nss_module or --disable-nss_module was given. -if test "${enable_nss_module+set}" = set; then - enableval="$enable_nss_module" +# Check whether --with-external-thes-dir was given. +if test "${with_external_thes_dir+set}" = set; then : + withval=$with_external_thes_dir; +fi -else - enable_nss_module=yes -fi; -# Check whether --enable-kde or --disable-kde was given. -if test "${enable_kde+set}" = set; then - enableval="$enable_kde" -fi; -# Check whether --enable-kdeab or --disable-kdeab was given. -if test "${enable_kdeab+set}" = set; then - enableval="$enable_kdeab" +# Check whether --with-system-libs was given. +if test "${with_system_libs+set}" = set; then : + withval=$with_system_libs; +fi -else - if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi -fi; -# Check whether --enable-kde4 or --disable-kde4 was given. -if test "${enable_kde4+set}" = set; then - enableval="$enable_kde4" -fi; -# Check whether --enable-binfilter or --disable-binfilter was given. -if test "${enable_binfilter+set}" = set; then - enableval="$enable_binfilter" +# Check whether --with-system-headers was given. +if test "${with_system_headers+set}" = set; then : + withval=$with_system_headers; +fi -else - if ! test -d ./binfilter; then enable_binfilter=no; fi -fi; -# Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" -fi; -# Check whether --enable-pam or --disable-pam was given. -if test "${enable_pam+set}" = set; then - enableval="$enable_pam" +# Check whether --with-system-jars was given. +if test "${with_system_jars+set}" = set; then : + withval=$with_system_jars; +fi -fi; -# Check whether --enable-pam-link or --disable-pam-link was given. -if test "${enable_pam_link+set}" = set; then - enableval="$enable_pam_link" -fi; -# Check whether --enable-crypt-link or --disable-crypt-link was given. -if test "${enable_crypt_link+set}" = set; then - enableval="$enable_crypt_link" +# Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; +fi -else - enable_crypt_link=yes -fi; -# Check whether --enable-xrender-link or --disable-xrender-link was given. -if test "${enable_xrender_link+set}" = set; then - enableval="$enable_xrender_link" -fi; -# Check whether --enable-randr or --disable-randr was given. -if test "${enable_randr+set}" = set; then - enableval="$enable_randr" +# Check whether --with-system-openssl was given. +if test "${with_system_openssl+set}" = set; then : + withval=$with_system_openssl; +fi -else - enable_randr=yes -fi; -# Check whether --enable-randr-link or --disable-randr-link was given. -if test "${enable_randr_link+set}" = set; then - enableval="$enable_randr_link" -else - enable_randr_link=yes -fi; +# Check whether --with-system-jpeg was given. +if test "${with_system_jpeg+set}" = set; then : + withval=$with_system_jpeg; +fi + -# Check whether --with-myspell-dicts or --without-myspell-dicts was given. -if test "${with_myspell_dicts+set}" = set; then - withval="$with_myspell_dicts" +# Check whether --with-system-expat was given. +if test "${with_system_expat+set}" = set; then : + withval=$with_system_expat; +fi -fi; -# Check whether --with-system-dicts or --without-system-dicts was given. -if test "${with_system_dicts+set}" = set; then - withval="$with_system_dicts" +# Check whether --with-system-libwpd was given. +if test "${with_system_libwpd+set}" = set; then : + withval=$with_system_libwpd; +fi -fi; -# Check whether --with-external-dict-dir or --without-external-dict-dir was given. -if test "${with_external_dict_dir+set}" = set; then - withval="$with_external_dict_dir" +# Check whether --with-system-libxml was given. +if test "${with_system_libxml+set}" = set; then : + withval=$with_system_libxml; +fi -fi; -# Check whether --with-external-hyph-dir or --without-external-hyph-dir was given. -if test "${with_external_hyph_dir+set}" = set; then - withval="$with_external_hyph_dir" +# Check whether --with-system-python was given. +if test "${with_system_python+set}" = set; then : + withval=$with_system_python; +fi -fi; -# Check whether --with-external-thes-dir or --without-external-thes-dir was given. -if test "${with_external_thes_dir+set}" = set; then - withval="$with_external_thes_dir" +# Check whether --with-system-icu was given. +if test "${with_system_icu+set}" = set; then : + withval=$with_system_icu; +fi -fi; -# Check whether --with-system-libs or --without-system-libs was given. -if test "${with_system_libs+set}" = set; then - withval="$with_system_libs" +# Check whether --with-system-poppler was given. +if test "${with_system_poppler+set}" = set; then : + withval=$with_system_poppler; +fi -fi; -# Check whether --with-system-headers or --without-system-headers was given. -if test "${with_system_headers+set}" = set; then - withval="$with_system_headers" +# Check whether --with-system-db was given. +if test "${with_system_db+set}" = set; then : + withval=$with_system_db; +fi -fi; -# Check whether --with-system-jars or --without-system-jars was given. -if test "${with_system_jars+set}" = set; then - withval="$with_system_jars" +# Check whether --with-system-lucene was given. +if test "${with_system_lucene+set}" = set; then : + withval=$with_system_lucene; +fi -fi; -# Check whether --with-system-zlib or --without-system-zlib was given. -if test "${with_system_zlib+set}" = set; then - withval="$with_system_zlib" +# Check whether --with-lucene-core-jar was given. +if test "${with_lucene_core_jar+set}" = set; then : + withval=$with_lucene_core_jar; LUCENE_CORE_JAR="$withval" -fi; +fi -# Check whether --with-system-openssl or --without-system-openssl was given. -if test "${with_system_openssl+set}" = set; then - withval="$with_system_openssl" -fi; +# Check whether --with-lucene-analyzers-jar was given. +if test "${with_lucene_analyzers_jar+set}" = set; then : + withval=$with_lucene_analyzers_jar; LUCENE_ANALYZERS_JAR="$withval" -# Check whether --with-system-jpeg or --without-system-jpeg was given. -if test "${with_system_jpeg+set}" = set; then - withval="$with_system_jpeg" +fi -fi; +# Check whether --enable-mysql-connector was given. +if test "${enable_mysql_connector+set}" = set; then : + enableval=$enable_mysql_connector; +fi -# Check whether --with-system-expat or --without-system-expat was given. -if test "${with_system_expat+set}" = set; then - withval="$with_system_expat" -fi; +# Check whether --with-system-mysql was given. +if test "${with_system_mysql+set}" = set; then : + withval=$with_system_mysql; +fi -# Check whether --with-system-libwpd or --without-system-libwpd was given. -if test "${with_system_libwpd+set}" = set; then - withval="$with_system_libwpd" -fi; +# Check whether --with-libmysql-path was given. +if test "${with_libmysql_path+set}" = set; then : + withval=$with_libmysql_path; +fi -# Check whether --with-system-libxml or --without-system-libxml was given. -if test "${with_system_libxml+set}" = set; then - withval="$with_system_libxml" -fi; +# Check whether --with-system-mysql-cppconn was given. +if test "${with_system_mysql_cppconn+set}" = set; then : + withval=$with_system_mysql_cppconn; +fi -# Check whether --with-system-python or --without-system-python was given. -if test "${with_system_python+set}" = set; then - withval="$with_system_python" -fi; +# Check whether --with-system-hsqldb was given. +if test "${with_system_hsqldb+set}" = set; then : + withval=$with_system_hsqldb; +fi -# Check whether --with-system-icu or --without-system-icu was given. -if test "${with_system_icu+set}" = set; then - withval="$with_system_icu" -fi; +# Check whether --with-hsqldb-jar was given. +if test "${with_hsqldb_jar+set}" = set; then : + withval=$with_hsqldb_jar; HSQLDB_JAR="$withval" -# Check whether --with-system-poppler or --without-system-poppler was given. -if test "${with_system_poppler+set}" = set; then - withval="$with_system_poppler" +fi -fi; -# Check whether --with-system-db or --without-system-db was given. -if test "${with_system_db+set}" = set; then - withval="$with_system_db" +# Check whether --with-system-beanshell was given. +if test "${with_system_beanshell+set}" = set; then : + withval=$with_system_beanshell; +fi -fi; -# Check whether --with-system-lucene or --without-system-lucene was given. -if test "${with_system_lucene+set}" = set; then - withval="$with_system_lucene" +# Check whether --with-beanshell-jar was given. +if test "${with_beanshell_jar+set}" = set; then : + withval=$with_beanshell_jar; BSH_JAR="$withval" -fi; +fi -# Check whether --with-lucene-core-jar or --without-lucene-core-jar was given. -if test "${with_lucene_core_jar+set}" = set; then - withval="$with_lucene_core_jar" - LUCENE_CORE_JAR="$withval" +# Check whether --enable-presenter-extra-ui was given. +if test "${enable_presenter_extra_ui+set}" = set; then : + enableval=$enable_presenter_extra_ui; +else + enable_presenter_extra_ui=no +fi -fi; +# Check whether --enable-minimizer was given. +if test "${enable_minimizer+set}" = set; then : + enableval=$enable_minimizer; +fi -# Check whether --with-lucene-analyzers-jar or --without-lucene-analyzers-jar was given. -if test "${with_lucene_analyzers_jar+set}" = set; then - withval="$with_lucene_analyzers_jar" - LUCENE_ANALYZERS_JAR="$withval" +# Check whether --enable-presenter-console was given. +if test "${enable_presenter_console+set}" = set; then : + enableval=$enable_presenter_console; +fi -fi; -# Check whether --enable-mysql-connector or --disable-mysql-connector was given. -if test "${enable_mysql_connector+set}" = set; then - enableval="$enable_mysql_connector" +# Check whether --enable-pdfimport was given. +if test "${enable_pdfimport+set}" = set; then : + enableval=$enable_pdfimport; +fi -fi; +# Check whether --enable-wiki-publisher was given. +if test "${enable_wiki_publisher+set}" = set; then : + enableval=$enable_wiki_publisher; +fi -# Check whether --with-system-mysql or --without-system-mysql was given. -if test "${with_system_mysql+set}" = set; then - withval="$with_system_mysql" -fi; +# Check whether --with-commons-codec-jar was given. +if test "${with_commons_codec_jar+set}" = set; then : + withval=$with_commons_codec_jar; COMMONS_CODEC_JAR="$withval" -# Check whether --with-libmysql-path or --without-libmysql-path was given. -if test "${with_libmysql_path+set}" = set; then - withval="$with_libmysql_path" +fi -fi; -# Check whether --with-system-mysql-cppconn or --without-system-mysql-cppconn was given. -if test "${with_system_mysql_cppconn+set}" = set; then - withval="$with_system_mysql_cppconn" +# Check whether --with-commons-lang-jar was given. +if test "${with_commons_lang_jar+set}" = set; then : + withval=$with_commons_lang_jar; COMMONS_LANG_JAR="$withval" -fi; +fi -# Check whether --with-system-hsqldb or --without-system-hsqldb was given. -if test "${with_system_hsqldb+set}" = set; then - withval="$with_system_hsqldb" -fi; +# Check whether --with-commons-httpclient-jar was given. +if test "${with_commons_httpclient_jar+set}" = set; then : + withval=$with_commons_httpclient_jar; COMMONS_HTTPCLIENT_JAR="$withval" -# Check whether --with-hsqldb-jar or --without-hsqldb-jar was given. -if test "${with_hsqldb_jar+set}" = set; then - withval="$with_hsqldb_jar" - HSQLDB_JAR="$withval" +fi -fi; -# Check whether --with-system-beanshell or --without-system-beanshell was given. -if test "${with_system_beanshell+set}" = set; then - withval="$with_system_beanshell" +# Check whether --with-commons-logging-jar was given. +if test "${with_commons_logging_jar+set}" = set; then : + withval=$with_commons_logging_jar; COMMONS_LOGGING_JAR="$withval" -fi; +fi -# Check whether --with-beanshell-jar or --without-beanshell-jar was given. -if test "${with_beanshell_jar+set}" = set; then - withval="$with_beanshell_jar" - BSH_JAR="$withval" -fi; -# Check whether --enable-presenter-extra-ui or --disable-presenter-extra-ui was given. -if test "${enable_presenter_extra_ui+set}" = set; then - enableval="$enable_presenter_extra_ui" +# Check whether --with-servlet-api-jar was given. +if test "${with_servlet_api_jar+set}" = set; then : + withval=$with_servlet_api_jar; SERVLETAPI_JAR="$withval" -else - enable_presenter_extra_ui=no -fi; -# Check whether --enable-minimizer or --disable-minimizer was given. -if test "${enable_minimizer+set}" = set; then - enableval="$enable_minimizer" +fi -fi; -# Check whether --enable-presenter-console or --disable-presenter-console was given. -if test "${enable_presenter_console+set}" = set; then - enableval="$enable_presenter_console" +# Check whether --enable-report-builder was given. +if test "${enable_report_builder+set}" = set; then : + enableval=$enable_report_builder; +fi -fi; -# Check whether --enable-pdfimport or --disable-pdfimport was given. -if test "${enable_pdfimport+set}" = set; then - enableval="$enable_pdfimport" -fi; -# Check whether --enable-wiki-publisher or --disable-wiki-publisher was given. -if test "${enable_wiki_publisher+set}" = set; then - enableval="$enable_wiki_publisher" +# Check whether --with-system-jfreereport was given. +if test "${with_system_jfreereport+set}" = set; then : + withval=$with_system_jfreereport; +fi -fi; -# Check whether --with-commons-codec-jar or --without-commons-codec-jar was given. -if test "${with_commons_codec_jar+set}" = set; then - withval="$with_commons_codec_jar" - COMMONS_CODEC_JAR="$withval" +# Check whether --with-sac-jar was given. +if test "${with_sac_jar+set}" = set; then : + withval=$with_sac_jar; SAC_JAR="$withval" -fi; +fi -# Check whether --with-commons-lang-jar or --without-commons-lang-jar was given. -if test "${with_commons_lang_jar+set}" = set; then - withval="$with_commons_lang_jar" - COMMONS_LANG_JAR="$withval" -fi; +# Check whether --with-libxml-jar was given. +if test "${with_libxml_jar+set}" = set; then : + withval=$with_libxml_jar; LIBXML_JAR="$withval" -# Check whether --with-commons-httpclient-jar or --without-commons-httpclient-jar was given. -if test "${with_commons_httpclient_jar+set}" = set; then - withval="$with_commons_httpclient_jar" - COMMONS_HTTPCLIENT_JAR="$withval" +fi -fi; -# Check whether --with-commons-logging-jar or --without-commons-logging-jar was given. -if test "${with_commons_logging_jar+set}" = set; then - withval="$with_commons_logging_jar" - COMMONS_LOGGING_JAR="$withval" +# Check whether --with-flute-jar was given. +if test "${with_flute_jar+set}" = set; then : + withval=$with_flute_jar; FLUTE_JAR="$withval" -fi; +fi -# Check whether --with-servlet-api-jar or --without-servlet-api-jar was given. -if test "${with_servlet_api_jar+set}" = set; then - withval="$with_servlet_api_jar" - SERVLETAPI_JAR="$withval" -fi; -# Check whether --enable-report-builder or --disable-report-builder was given. -if test "${enable_report_builder+set}" = set; then - enableval="$enable_report_builder" +# Check whether --with-jfreereport-jar was given. +if test "${with_jfreereport_jar+set}" = set; then : + withval=$with_jfreereport_jar; JFREEREPORT_JAR="$withval" -fi; +fi -# Check whether --with-system-jfreereport or --without-system-jfreereport was given. -if test "${with_system_jfreereport+set}" = set; then - withval="$with_system_jfreereport" -fi; +# Check whether --with-liblayout-jar was given. +if test "${with_liblayout_jar+set}" = set; then : + withval=$with_liblayout_jar; LIBLAYOUT_JAR="$withval" -# Check whether --with-sac-jar or --without-sac-jar was given. -if test "${with_sac_jar+set}" = set; then - withval="$with_sac_jar" - SAC_JAR="$withval" +fi -fi; -# Check whether --with-libxml-jar or --without-libxml-jar was given. -if test "${with_libxml_jar+set}" = set; then - withval="$with_libxml_jar" - LIBXML_JAR="$withval" +# Check whether --with-libloader-jar was given. +if test "${with_libloader_jar+set}" = set; then : + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" -fi; +fi -# Check whether --with-flute-jar or --without-flute-jar was given. -if test "${with_flute_jar+set}" = set; then - withval="$with_flute_jar" - FLUTE_JAR="$withval" -fi; +# Check whether --with-libloader-jar was given. +if test "${with_libloader_jar+set}" = set; then : + withval=$with_libloader_jar; LIBLOADER_JAR="$withval" -# Check whether --with-jfreereport-jar or --without-jfreereport-jar was given. -if test "${with_jfreereport_jar+set}" = set; then - withval="$with_jfreereport_jar" - JFREEREPORT_JAR="$withval" +fi -fi; -# Check whether --with-liblayout-jar or --without-liblayout-jar was given. -if test "${with_liblayout_jar+set}" = set; then - withval="$with_liblayout_jar" - LIBLAYOUT_JAR="$withval" +# Check whether --with-libformula-jar was given. +if test "${with_libformula_jar+set}" = set; then : + withval=$with_libformula_jar; LIBFORMULA_JAR="$withval" -fi; +fi -# Check whether --with-libloader-jar or --without-libloader-jar was given. -if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" -fi; +# Check whether --with-librepository-jar was given. +if test "${with_librepository_jar+set}" = set; then : + withval=$with_librepository_jar; LIBREPOSITORY_JAR="$withval" -# Check whether --with-libloader-jar or --without-libloader-jar was given. -if test "${with_libloader_jar+set}" = set; then - withval="$with_libloader_jar" - LIBLOADER_JAR="$withval" +fi -fi; -# Check whether --with-libformula-jar or --without-libformula-jar was given. -if test "${with_libformula_jar+set}" = set; then - withval="$with_libformula_jar" - LIBFORMULA_JAR="$withval" +# Check whether --with-libfonts-jar was given. +if test "${with_libfonts_jar+set}" = set; then : + withval=$with_libfonts_jar; LIBFONTS_JAR="$withval" -fi; +fi -# Check whether --with-librepository-jar or --without-librepository-jar was given. -if test "${with_librepository_jar+set}" = set; then - withval="$with_librepository_jar" - LIBREPOSITORY_JAR="$withval" -fi; +# Check whether --with-libserializer-jar was given. +if test "${with_libserializer_jar+set}" = set; then : + withval=$with_libserializer_jar; LIBSERIALIZER_JAR="$withval" -# Check whether --with-libfonts-jar or --without-libfonts-jar was given. -if test "${with_libfonts_jar+set}" = set; then - withval="$with_libfonts_jar" - LIBFONTS_JAR="$withval" +fi -fi; -# Check whether --with-libserializer-jar or --without-libserializer-jar was given. -if test "${with_libserializer_jar+set}" = set; then - withval="$with_libserializer_jar" - LIBSERIALIZER_JAR="$withval" +# Check whether --with-libbase-jar was given. +if test "${with_libbase_jar+set}" = set; then : + withval=$with_libbase_jar; LIBBASE_JAR="$withval" -fi; +fi -# Check whether --with-libbase-jar or --without-libbase-jar was given. -if test "${with_libbase_jar+set}" = set; then - withval="$with_libbase_jar" - LIBBASE_JAR="$withval" -fi; +# Check whether --with-system-saxon was given. +if test "${with_system_saxon+set}" = set; then : + withval=$with_system_saxon; +fi -# Check whether --with-system-saxon or --without-system-saxon was given. -if test "${with_system_saxon+set}" = set; then - withval="$with_system_saxon" -fi; +# Check whether --with-saxon-jar was given. +if test "${with_saxon_jar+set}" = set; then : + withval=$with_saxon_jar; SAXON_JAR="$withval" -# Check whether --with-saxon-jar or --without-saxon-jar was given. -if test "${with_saxon_jar+set}" = set; then - withval="$with_saxon_jar" - SAXON_JAR="$withval" +fi -fi; -# Check whether --with-system-libxslt or --without-system-libxslt was given. -if test "${with_system_libxslt+set}" = set; then - withval="$with_system_libxslt" +# Check whether --with-system-libxslt was given. +if test "${with_system_libxslt+set}" = set; then : + withval=$with_system_libxslt; +fi -fi; -# Check whether --with-system-odbc or --without-system-odbc was given. -if test "${with_system_odbc+set}" = set; then - withval="$with_system_odbc" +# Check whether --with-system-odbc was given. +if test "${with_system_odbc+set}" = set; then : + withval=$with_system_odbc; +fi -fi; -# Check whether --with-system-sane or --without-system-sane was given. -if test "${with_system_sane+set}" = set; then - withval="$with_system_sane" +# Check whether --with-system-sane was given. +if test "${with_system_sane+set}" = set; then : + withval=$with_system_sane; +fi -fi; -# Check whether --with-system-xrender or --without-system-xrender was given. -if test "${with_system_xrender+set}" = set; then - withval="$with_system_xrender" +# Check whether --with-system-xrender was given. +if test "${with_system_xrender+set}" = set; then : + withval=$with_system_xrender; +fi -fi; -# Check whether --with-system-curl or --without-system-curl was given. -if test "${with_system_curl+set}" = set; then - withval="$with_system_curl" +# Check whether --with-system-curl was given. +if test "${with_system_curl+set}" = set; then : + withval=$with_system_curl; +fi -fi; -# Check whether --with-system-boost or --without-system-boost was given. -if test "${with_system_boost+set}" = set; then - withval="$with_system_boost" +# Check whether --with-system-boost was given. +if test "${with_system_boost+set}" = set; then : + withval=$with_system_boost; +fi -fi; -# Check whether --with-system-vigra or --without-system-vigra was given. -if test "${with_system_vigra+set}" = set; then - withval="$with_system_vigra" +# Check whether --with-system-vigra was given. +if test "${with_system_vigra+set}" = set; then : + withval=$with_system_vigra; +fi -fi; -# Check whether --enable-neon or --disable-neon was given. -if test "${enable_neon+set}" = set; then - enableval="$enable_neon" +# Check whether --enable-neon was given. +if test "${enable_neon+set}" = set; then : + enableval=$enable_neon; +fi -fi; -# Check whether --enable-Xaw or --disable-Xaw was given. -if test "${enable_Xaw+set}" = set; then - enableval="$enable_Xaw" +# Check whether --enable-Xaw was given. +if test "${enable_Xaw+set}" = set; then : + enableval=$enable_Xaw; +fi -fi; -# Check whether --with-system-neon or --without-system-neon was given. -if test "${with_system_neon+set}" = set; then - withval="$with_system_neon" +# Check whether --with-system-neon was given. +if test "${with_system_neon+set}" = set; then : + withval=$with_system_neon; +fi -fi; -# Check whether --with-system-agg or --without-system-agg was given. -if test "${with_system_agg+set}" = set; then - withval="$with_system_agg" +# Check whether --with-system-agg was given. +if test "${with_system_agg+set}" = set; then : + withval=$with_system_agg; +fi -fi; -# Check whether --with-system-hunspell or --without-system-hunspell was given. -if test "${with_system_hunspell+set}" = set; then - withval="$with_system_hunspell" +# Check whether --with-system-hunspell was given. +if test "${with_system_hunspell+set}" = set; then : + withval=$with_system_hunspell; +fi -fi; -# Check whether --with-system-mythes or --without-system-mythes was given. -if test "${with_system_mythes+set}" = set; then - withval="$with_system_mythes" +# Check whether --with-system-mythes was given. +if test "${with_system_mythes+set}" = set; then : + withval=$with_system_mythes; +fi -fi; -# Check whether --with-system-altlinuxhyph or --without-system-altlinuxhyph was given. -if test "${with_system_altlinuxhyph+set}" = set; then - withval="$with_system_altlinuxhyph" +# Check whether --with-system-altlinuxhyph was given. +if test "${with_system_altlinuxhyph+set}" = set; then : + withval=$with_system_altlinuxhyph; +fi -fi; -# Check whether --with-system-lpsolve or --without-system-lpsolve was given. -if test "${with_system_lpsolve+set}" = set; then - withval="$with_system_lpsolve" +# Check whether --with-system-lpsolve was given. +if test "${with_system_lpsolve+set}" = set; then : + withval=$with_system_lpsolve; +fi -fi; -# Check whether --with-system-cppunit or --without-system-cppunit was given. -if test "${with_system_cppunit+set}" = set; then - withval="$with_system_cppunit" +# Check whether --with-system-cppunit was given. +if test "${with_system_cppunit+set}" = set; then : + withval=$with_system_cppunit; +fi -fi; -# Check whether --with-system-mozilla or --without-system-mozilla was given. -if test "${with_system_mozilla+set}" = set; then - withval="$with_system_mozilla" - WITH_SYSTEM_MOZILLA=$withval +# Check whether --with-system-mozilla was given. +if test "${with_system_mozilla+set}" = set; then : + withval=$with_system_mozilla; WITH_SYSTEM_MOZILLA=$withval else WITH_SYSTEM_MOZILLA=no -fi; +fi + -# Check whether --with-stlport or --without-stlport was given. -if test "${with_stlport+set}" = set; then - withval="$with_stlport" - WITH_STLPORT=$withval +# Check whether --with-stlport was given. +if test "${with_stlport+set}" = set; then : + withval=$with_stlport; WITH_STLPORT=$withval else WITH_STLPORT=auto -fi; +fi + -# Check whether --with-jdk-home or --without-jdk-home was given. -if test "${with_jdk_home+set}" = set; then - withval="$with_jdk_home" +# Check whether --with-jdk-home was given. +if test "${with_jdk_home+set}" = set; then : + withval=$with_jdk_home; +fi -fi; -# Check whether --with-gxx_include_path or --without-gxx_include_path was given. -if test "${with_gxx_include_path+set}" = set; then - withval="$with_gxx_include_path" +# Check whether --with-gxx_include_path was given. +if test "${with_gxx_include_path+set}" = set; then : + withval=$with_gxx_include_path; +fi -fi; -# Check whether --with-java or --without-java was given. -if test "${with_java+set}" = set; then - withval="$with_java" - if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi +# Check whether --with-java was given. +if test "${with_java+set}" = set; then : + withval=$with_java; if test "$withval" = "yes"; then WITH_JAVA=java; else WITH_JAVA=$withval; fi else WITH_JAVA=java -fi; -# Check whether --enable-gcjaot or --disable-gcjaot was given. -if test "${enable_gcjaot+set}" = set; then - enableval="$enable_gcjaot" +fi -fi; +# Check whether --enable-gcjaot was given. +if test "${enable_gcjaot+set}" = set; then : + enableval=$enable_gcjaot; +fi -# Check whether --with-ant-home or --without-ant-home was given. -if test "${with_ant_home+set}" = set; then - withval="$with_ant_home" -fi; +# Check whether --with-ant-home was given. +if test "${with_ant_home+set}" = set; then : + withval=$with_ant_home; +fi -# Check whether --with-junit or --without-junit was given. -if test "${with_junit+set}" = set; then - withval="$with_junit" +# Check whether --with-junit was given. +if test "${with_junit+set}" = set; then : + withval=$with_junit; else with_junit=yes -fi; +fi -# Check whether --with-perl-home or --without-perl-home was given. -if test "${with_perl_home+set}" = set; then - withval="$with_perl_home" -fi; +# Check whether --with-perl-home was given. +if test "${with_perl_home+set}" = set; then : + withval=$with_perl_home; +fi + -# Check whether --with-cl-home or --without-cl-home was given. -if test "${with_cl_home+set}" = set; then - withval="$with_cl_home" +# Check whether --with-cl-home was given. +if test "${with_cl_home+set}" = set; then : + withval=$with_cl_home; +fi -fi; -# Check whether --with-mspdb-path or --without-mspdb-path was given. -if test "${with_mspdb_path+set}" = set; then - withval="$with_mspdb_path" +# Check whether --with-mspdb-path was given. +if test "${with_mspdb_path+set}" = set; then : + withval=$with_mspdb_path; +fi -fi; -# Check whether --with-midl-path or --without-midl-path was given. -if test "${with_midl_path+set}" = set; then - withval="$with_midl_path" +# Check whether --with-midl-path was given. +if test "${with_midl_path+set}" = set; then : + withval=$with_midl_path; +fi -fi; -# Check whether --with-csc-path or --without-csc-path was given. -if test "${with_csc_path+set}" = set; then - withval="$with_csc_path" +# Check whether --with-csc-path was given. +if test "${with_csc_path+set}" = set; then : + withval=$with_csc_path; +fi -fi; -# Check whether --with-nsis-path or --without-nsis-path was given. -if test "${with_nsis_path+set}" = set; then - withval="$with_nsis_path" +# Check whether --with-nsis-path was given. +if test "${with_nsis_path+set}" = set; then : + withval=$with_nsis_path; +fi -fi; -# Check whether --with-frame-home or --without-frame-home was given. -if test "${with_frame_home+set}" = set; then - withval="$with_frame_home" +# Check whether --with-frame-home was given. +if test "${with_frame_home+set}" = set; then : + withval=$with_frame_home; +fi -fi; -# Check whether --with-psdk-home or --without-psdk-home was given. -if test "${with_psdk_home+set}" = set; then - withval="$with_psdk_home" +# Check whether --with-psdk-home was given. +if test "${with_psdk_home+set}" = set; then : + withval=$with_psdk_home; +fi -fi; -# Check whether --with-directx-home or --without-directx-home was given. -if test "${with_directx_home+set}" = set; then - withval="$with_directx_home" +# Check whether --with-directx-home was given. +if test "${with_directx_home+set}" = set; then : + withval=$with_directx_home; +fi -fi; -# Check whether --with-mozilla-build or --without-mozilla-build was given. -if test "${with_mozilla_build+set}" = set; then - withval="$with_mozilla_build" - MOZILLABUILD=$withval -fi; +# Check whether --with-mozilla-build was given. +if test "${with_mozilla_build+set}" = set; then : + withval=$with_mozilla_build; MOZILLABUILD=$withval +fi -# Check whether --with-local-solenv or --without-local-solenv was given. -if test "${with_local_solenv+set}" = set; then - withval="$with_local_solenv" -fi; +# Check whether --with-local-solenv was given. +if test "${with_local_solenv+set}" = set; then : + withval=$with_local_solenv; +fi -# Check whether --with-local-solver or --without-local-solver was given. -if test "${with_local_solver+set}" = set; then - withval="$with_local_solver" -fi; -# Check whether --enable-check-only or --disable-check-only was given. -if test "${enable_check_only+set}" = set; then - enableval="$enable_check_only" +# Check whether --with-local-solver was given. +if test "${with_local_solver+set}" = set; then : + withval=$with_local_solver; +fi -fi; -# Check whether --enable-ccache-skip or --disable-ccache-skip was given. -if test "${enable_ccache_skip+set}" = set; then - enableval="$enable_ccache_skip" +# Check whether --enable-check-only was given. +if test "${enable_check_only+set}" = set; then : + enableval=$enable_check_only; +fi +# Check whether --enable-ccache-skip was given. +if test "${enable_ccache_skip+set}" = set; then : + enableval=$enable_ccache_skip; else enable_ccache_skip=auto -fi; +fi + -# Check whether --with-lang or --without-lang was given. -if test "${with_lang+set}" = set; then - withval="$with_lang" +# Check whether --with-lang was given. +if test "${with_lang+set}" = set; then : + withval=$with_lang; +fi -fi; -# Check whether --with-poor-help-localizations or --without-poor-help-localizations was given. -if test "${with_poor_help_localizations+set}" = set; then - withval="$with_poor_help_localizations" +# Check whether --with-poor-help-localizations was given. +if test "${with_poor_help_localizations+set}" = set; then : + withval=$with_poor_help_localizations; +fi -fi; -# Check whether --with-dict or --without-dict was given. -if test "${with_dict+set}" = set; then - withval="$with_dict" +# Check whether --with-dict was given. +if test "${with_dict+set}" = set; then : + withval=$with_dict; +fi -fi; -# Check whether --with-intro-bitmaps or --without-intro-bitmaps was given. -if test "${with_intro_bitmaps+set}" = set; then - withval="$with_intro_bitmaps" +# Check whether --with-intro-bitmaps was given. +if test "${with_intro_bitmaps+set}" = set; then : + withval=$with_intro_bitmaps; +fi -fi; -# Check whether --with-about-bitmaps or --without-about-bitmaps was given. -if test "${with_about_bitmaps+set}" = set; then - withval="$with_about_bitmaps" +# Check whether --with-about-bitmaps was given. +if test "${with_about_bitmaps+set}" = set; then : + withval=$with_about_bitmaps; +fi -fi; -# Check whether --with-vendor or --without-vendor was given. -if test "${with_vendor+set}" = set; then - withval="$with_vendor" +# Check whether --with-vendor was given. +if test "${with_vendor+set}" = set; then : + withval=$with_vendor; +fi -fi; -# Check whether --with-unix-wrapper or --without-unix-wrapper was given. -if test "${with_unix_wrapper+set}" = set; then - withval="$with_unix_wrapper" +# Check whether --with-unix-wrapper was given. +if test "${with_unix_wrapper+set}" = set; then : + withval=$with_unix_wrapper; +fi -fi; -# Check whether --with-asm-home or --without-asm-home was given. -if test "${with_asm_home+set}" = set; then - withval="$with_asm_home" +# Check whether --with-asm-home was given. +if test "${with_asm_home+set}" = set; then : + withval=$with_asm_home; +fi -fi; -# Check whether --with-os-version or --without-os-version was given. -if test "${with_os_version+set}" = set; then - withval="$with_os_version" +# Check whether --with-os-version was given. +if test "${with_os_version+set}" = set; then : + withval=$with_os_version; +fi -fi; -# Check whether --with-unzip-home or --without-unzip-home was given. -if test "${with_unzip_home+set}" = set; then - withval="$with_unzip_home" +# Check whether --with-unzip-home was given. +if test "${with_unzip_home+set}" = set; then : + withval=$with_unzip_home; +fi -fi; -# Check whether --with-zip-home or --without-zip-home was given. -if test "${with_zip_home+set}" = set; then - withval="$with_zip_home" +# Check whether --with-zip-home was given. +if test "${with_zip_home+set}" = set; then : + withval=$with_zip_home; +fi -fi; -# Check whether --with-mingwin or --without-mingwin was given. -if test "${with_mingwin+set}" = set; then - withval="$with_mingwin" - WITH_MINGWIN=$withval +# Check whether --with-mingwin was given. +if test "${with_mingwin+set}" = set; then : + withval=$with_mingwin; WITH_MINGWIN=$withval else WITH_MINGWIN=0 -fi; +fi + + +# Check whether --with-build-version was given. +if test "${with_build_version+set}" = set; then : + withval=$with_build_version; with_build_version=$withval +fi -# Check whether --with-build-version or --without-build-version was given. -if test "${with_build_version+set}" = set; then - withval="$with_build_version" - with_build_version=$withval -fi; -# Check whether --with-alloc or --without-alloc was given. -if test "${with_alloc+set}" = set; then - withval="$with_alloc" +# Check whether --with-alloc was given. +if test "${with_alloc+set}" = set; then : + withval=$with_alloc; +fi -fi; -# Check whether --enable-verbose or --disable-verbose was given. -if test "${enable_verbose+set}" = set; then - enableval="$enable_verbose" +# Check whether --enable-verbose was given. +if test "${enable_verbose+set}" = set; then : + enableval=$enable_verbose; +fi -fi; BUILD_TYPE="OOo" @@ -2980,29 +4754,144 @@ echo "* *" echo "********************************************************************" echo "" cat /dev/null > warn -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -3012,35 +4901,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break done # Extract the first word of "$AWK", so it can be a program name with args. set dummy $AWK; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $AWK in [\\/]* | ?:[\\/]*) @@ -3052,42 +4943,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi AWK=$ac_cv_path_AWK - if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$AWK"; then - { { echo "$as_me:$LINENO: error: install awk to run this script" >&5 -echo "$as_me: error: install awk to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install awk to run this script" "$LINENO" 5 fi for ac_prog in sed do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SED+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SED in [\\/]* | ?:[\\/]*) @@ -3099,47 +4989,46 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SED=$ac_cv_path_SED - if test -n "$SED"; then - echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 +$as_echo "$SED" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$SED" && break done if test -z "$SED"; then - { { echo "$as_me:$LINENO: error: install sed to run this script" >&5 -echo "$as_me: error: install sed to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install sed to run this script" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking for solenv environment" >&5 -echo $ECHO_N "checking for solenv environment... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for solenv environment" >&5 +$as_echo_n "checking for solenv environment... " >&6; } if test -z "$with_local_solenv"; then LOCAL_SOLENV="DEFAULT" - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLENV=$with_local_solenv - echo "$as_me:$LINENO: result: $with_local_solenv" >&5 -echo "${ECHO_T}$with_local_solenv" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_local_solenv" >&5 +$as_echo "$with_local_solenv" >&6; } fi @@ -3157,110 +5046,134 @@ if test -e $_solenv/inc/minor.mk; then SOURCEVERSION="`grep SOURCEVERSION= $_solenv/inc/minor.mk | $AWK -F"=" '{ print $2 }'`" else - { { echo "$as_me:$LINENO: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&5 -echo "$as_me: error: $_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_solenv/inc/minor.mk missing but needed for architecture/os detecion and proper environment script generation..." "$LINENO" 5 fi ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + # Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +esac build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +esac host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -echo "$as_me:$LINENO: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if test "${ac_cv_target+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi fi -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error "invalid value of canonical target" "$LINENO" 5;; +esac target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. @@ -3269,23 +5182,22 @@ test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- + if test "$build" != "$host" -o "$build" != "$target" \ -o "$host" != "$target"; then - { echo "$as_me:$LINENO: WARNING: cross-compiling by any means is not supported (yet)!" >&5 -echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling by any means is not supported (yet)!" >&5 +$as_echo "$as_me: WARNING: cross-compiling by any means is not supported (yet)!" >&2;} echo "cross-compiling by any means is not supported (yet)!" >> warn fi if echo "$build_os" | grep cygwin; then - echo "$as_me:$LINENO: checking Cygwin version" >&5 -echo $ECHO_N "checking Cygwin version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Cygwin version" >&5 +$as_echo_n "checking Cygwin version... " >&6; } CygwinVer=`uname -r` - echo "$as_me:$LINENO: result: $CygwinVer" >&5 -echo "${ECHO_T}$CygwinVer" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CygwinVer" >&5 +$as_echo "$CygwinVer" >&6; } if test "`echo $CygwinVer | $AWK -F . '{ print $1$2 }'`" -lt "15"; then - { { echo "$as_me:$LINENO: error: You need at least Cygwin V1.5.x" >&5 -echo "$as_me: error: You need at least Cygwin V1.5.x" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "You need at least Cygwin V1.5.x" "$LINENO" 5 fi else CygwinVer="false" @@ -3302,10 +5214,10 @@ case "$build_os" in _os=SunOS # Extract the first word of "gtar", so it can be a program name with args. set dummy gtar; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GNUTAR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GNUTAR+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GNUTAR in [\\/]* | ?:[\\/]*) @@ -3318,56 +5230,51 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUTAR="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GNUTAR=$ac_cv_path_GNUTAR - if test -n "$GNUTAR"; then - echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&5 -echo "$as_me: error: gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gtar (gnu tar) not found but needed. Install it (SUN Freeware package)." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking the Solaris operating system release" >&5 -echo $ECHO_N "checking the Solaris operating system release... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Solaris operating system release" >&5 +$as_echo_n "checking the Solaris operating system release... " >&6; } _os_release=`echo $build_os | $SED -e s/solaris2\.//` if test "$_os_release" -lt "6"; then - { { echo "$as_me:$LINENO: error: use solaris >= 6 to build OpenOffice.org" >&5 -echo "$as_me: error: use solaris >= 6 to build OpenOffice.org" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "use solaris >= 6 to build OpenOffice.org" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok ($_os_release)" >&5 -echo "${ECHO_T}ok ($_os_release)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok ($_os_release)" >&5 +$as_echo "ok ($_os_release)" >&6; } fi - echo "$as_me:$LINENO: checking the processor type" >&5 -echo $ECHO_N "checking the processor type... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the processor type" >&5 +$as_echo_n "checking the processor type... " >&6; } if test "$build_cpu" = "sparc" -o "$build_cpu" = "i386"; then - echo "$as_me:$LINENO: result: ok ($build_cpu)" >&5 -echo "${ECHO_T}ok ($build_cpu)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok ($build_cpu)" >&5 +$as_echo "ok ($build_cpu)" >&6; } else - { { echo "$as_me:$LINENO: error: only sparc and i386 processors are supported" >&5 -echo "$as_me: error: only sparc and i386 processors are supported" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "only sparc and i386 processors are supported" "$LINENO" 5 fi ;; linux-gnu*) @@ -3398,8 +5305,8 @@ echo "$as_me: error: only sparc and i386 processors are supported" >&2;} test_freetype=no _os=Darwin if test "$enable_systray" = "yes" && test "$enable_gtk" != "no"; then - { echo "$as_me:$LINENO: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 -echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&5 +$as_echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >&2;} echo "Disabling gtk-quickstarter - not supported on Mac. Use --disable-systray" >>warn enable_systray=no fi @@ -3420,17 +5327,17 @@ echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Use -- test_cups=yes test_randr=yes test_freetype=yes - echo "$as_me:$LINENO: checking the FreeBSD operating system release" >&5 -echo $ECHO_N "checking the FreeBSD operating system release... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the FreeBSD operating system release" >&5 +$as_echo_n "checking the FreeBSD operating system release... " >&6; } if test -n "$with_os_version"; then OSVERSION="$with_os_version" else OSVERSION=`/sbin/sysctl -n kern.osreldate` fi - echo "$as_me:$LINENO: result: found OSVERSION=$OSVERSION" >&5 -echo "${ECHO_T}found OSVERSION=$OSVERSION" >&6 - echo "$as_me:$LINENO: checking which thread library to use" >&5 -echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found OSVERSION=$OSVERSION" >&5 +$as_echo "found OSVERSION=$OSVERSION" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which thread library to use" >&5 +$as_echo_n "checking which thread library to use... " >&6; } if test "$OSVERSION" -lt "500016"; then PTHREAD_CFLAGS="-D_THREAD_SAFE" PTHREAD_LIBS="-pthread" @@ -3441,8 +5348,8 @@ echo $ECHO_N "checking which thread library to use... $ECHO_C" >&6 PTHREAD_CFLAGS="" PTHREAD_LIBS="-pthread" fi - echo "$as_me:$LINENO: result: $PTHREAD_LIBS" >&5 -echo "${ECHO_T}$PTHREAD_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_LIBS" >&5 +$as_echo "$PTHREAD_LIBS" >&6; } _os=FreeBSD ;; osf) @@ -3471,9 +5378,7 @@ echo "${ECHO_T}$PTHREAD_LIBS" >&6 _os=AIX ;; *) - { { echo "$as_me:$LINENO: error: $_os operating system is not suitable to build OpenOffice.org!" >&5 -echo "$as_me: error: $_os operating system is not suitable to build OpenOffice.org!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_os operating system is not suitable to build OpenOffice.org!" "$LINENO" 5 ;; esac @@ -3481,17 +5386,17 @@ esac -echo "$as_me:$LINENO: checking whether to enable crashdump feature" >&5 -echo $ECHO_N "checking whether to enable crashdump feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable crashdump feature" >&5 +$as_echo_n "checking whether to enable crashdump feature... " >&6; } if test "$enable_crashdump" = "yes"; then ENABLE_CRASHDUMP="TRUE" BUILD_TYPE="$BUILD_TYPE CRASHREP" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_CRASHDUMP="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -3500,90 +5405,88 @@ if test "$_os" = "WINNT"; then fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking whether to use the standard non-optimizing compiler" >&5 -echo $ECHO_N "checking whether to use the standard non-optimizing compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the standard non-optimizing compiler" >&5 +$as_echo_n "checking whether to use the standard non-optimizing compiler... " >&6; } if test "$enable_cl_standard" = "" -o "$enable_cl_standard" = "no"; then VC_STANDARD="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else VC_STANDARD="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi fi -echo "$as_me:$LINENO: checking whether to turn warnings to errors" >&5 -echo $ECHO_N "checking whether to turn warnings to errors... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to turn warnings to errors" >&5 +$as_echo_n "checking whether to turn warnings to errors... " >&6; } if test -n "$enable_werror" && test "$enable_werror" != "no"; then ENABLE_WERROR="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - { echo "$as_me:$LINENO: WARNING: Turning warnings to errors has no effect in modules or" >&5 -echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} - { echo "$as_me:$LINENO: WARNING: on platforms where it has been disabled explicitely" >&5 -echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Turning warnings to errors has no effect in modules or" >&5 +$as_echo "$as_me: WARNING: Turning warnings to errors has no effect in modules or" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: on platforms where it has been disabled explicitely" >&5 +$as_echo "$as_me: WARNING: on platforms where it has been disabled explicitely" >&2;} echo "Turning warnings to errors has no effect in modules or on platforms where it has been disabled explicitely" >> warn else ENABLE_WERROR="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to do a debug build" >&5 -echo $ECHO_N "checking whether to do a debug build... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to do a debug build" >&5 +$as_echo_n "checking whether to do a debug build... " >&6; } if test -n "$enable_debug" && test "$enable_debug" != "no"; then ENABLE_DEBUG="TRUE" if test -z "$enable_symbols"; then enable_symbols="yes" fi - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DEBUG="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build with additional debug utilities" >&5 -echo $ECHO_N "checking whether to build with additional debug utilities... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with additional debug utilities" >&5 +$as_echo_n "checking whether to build with additional debug utilities... " >&6; } if test -n "$enable_dbgutil" && test "$enable_dbgutil" != "no"; then PROEXT="" PRODUCT="" PROFULLSWITCH="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else PRODUCT="full" PROFULLSWITCH="product=full" PROEXT=".pro" - echo "$as_me:$LINENO: result: no, full product build" >&5 -echo "${ECHO_T}no, full product build" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, full product build" >&5 +$as_echo "no, full product build" >&6; } fi -echo "$as_me:$LINENO: checking whether to include symbols into final build" >&5 -echo $ECHO_N "checking whether to include symbols into final build... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include symbols into final build" >&5 +$as_echo_n "checking whether to include symbols into final build... " >&6; } if test -n "$enable_symbols" && test "$enable_symbols" != "no"; then if test "$enable_symbols" = "yes" -o "$enable_symbols" = "TRUE"; then ENABLE_SYMBOLS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$enable_symbols" = "SMALL" -o "$enable_symbols" = "small"; then ENABLE_SYMBOLS="SMALL" - echo "$as_me:$LINENO: result: yes, small ones" >&5 -echo "${ECHO_T}yes, small ones" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, small ones" >&5 +$as_echo "yes, small ones" >&6; } else if test "$enable_symbols" != "no" ; then echo enable symbols is: $enable_symbols - { { echo "$as_me:$LINENO: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&5 -echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as parameter." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--enable-symbols only accepts yes, TRUE or SMALL as parameter." "$LINENO" 5 else ENABLE_SYMBOLS= fi @@ -3591,22 +5494,20 @@ echo "$as_me: error: --enable-symbols only accepts yes, TRUE or SMALL as paramet fi else ENABLE_SYMBOLS= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to strip the solver or not." >&5 -echo $ECHO_N "checking whether to strip the solver or not.... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to strip the solver or not." >&5 +$as_echo_n "checking whether to strip the solver or not.... " >&6; } if test -n "$enable_strip_solver"; then if test "$enable_strip_solver" = "yes"; then DISABLE_STRIP= else if test "$enable_strip_solver" = "no"; then DISABLE_STRIP="TRUE" else - { { echo "$as_me:$LINENO: error: --disable-strip-solver only accepts yes or no as parameter." >&5 -echo "$as_me: error: --disable-strip-solver only accepts yes or no as parameter." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--disable-strip-solver only accepts yes or no as parameter." "$LINENO" 5 fi fi else @@ -3618,29 +5519,29 @@ else fi -echo "$as_me:$LINENO: checking whether to enable native CUPS support" >&5 -echo $ECHO_N "checking whether to enable native CUPS support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable native CUPS support" >&5 +$as_echo_n "checking whether to enable native CUPS support... " >&6; } if test "$test_cups" = "yes" -a \( "$enable_cups" = "yes" -o "$enable_cups" = "TRUE" \) ; then ENABLE_CUPS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_CUPS="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable fontconfig support" >&5 -echo $ECHO_N "checking whether to enable fontconfig support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable fontconfig support" >&5 +$as_echo_n "checking whether to enable fontconfig support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a \( "$enable_fontconfig" = "yes" -o "$enable_fontconfig" = "TRUE" \); then ENABLE_FONTCONFIG="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_FONTCONFIG="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -3655,124 +5556,124 @@ if test -z "$enable_fetch_external" || test "$enable_fetch_external" = "yes" \ fi -echo "$as_me:$LINENO: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 -echo $ECHO_N "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable filters for legacy binary file formats (StarOffice 5.2)" >&5 +$as_echo_n "checking whether to enable filters for legacy binary file formats (StarOffice 5.2)... " >&6; } if test "$enable_binfilter" = "no"; then WITH_BINFILTER="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else WITH_BINFILTER="YES" BUILD_TYPE="$BUILD_TYPE BINFILTER" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking whether to use DirectX" >&5 -echo $ECHO_N "checking whether to use DirectX... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use DirectX" >&5 +$as_echo_n "checking whether to use DirectX... " >&6; } if test "$enable_directx" = "yes" -o "$enable_directx" = "TRUE" -o "$enable_directx" = ""; then ENABLE_DIRECTX="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_DIRECTX="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to use ActiveX" >&5 -echo $ECHO_N "checking whether to use ActiveX... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use ActiveX" >&5 +$as_echo_n "checking whether to use ActiveX... " >&6; } if test "$enable_activex" = "yes" -o "$enable_activex" = "TRUE" -o "$enable_activex" = ""; then DISABLE_ACTIVEX="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ACTIVEX="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to use ATL" >&5 -echo $ECHO_N "checking whether to use ATL... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use ATL" >&5 +$as_echo_n "checking whether to use ATL... " >&6; } if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then DISABLE_ATL="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else DISABLE_ATL="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi -echo "$as_me:$LINENO: checking whether to use RPATH in shared libraries" >&5 -echo $ECHO_N "checking whether to use RPATH in shared libraries... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use RPATH in shared libraries" >&5 +$as_echo_n "checking whether to use RPATH in shared libraries... " >&6; } if test "$enable_rpath" = "no"; then ENABLE_RPATH="no" else ENABLE_RPATH="yes" fi -echo "$as_me:$LINENO: result: $ENABLE_RPATH" >&5 -echo "${ECHO_T}$ENABLE_RPATH" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_RPATH" >&5 +$as_echo "$ENABLE_RPATH" >&6; } -echo "$as_me:$LINENO: checking whether to include MySpell dictionaries" >&5 -echo $ECHO_N "checking whether to include MySpell dictionaries... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include MySpell dictionaries" >&5 +$as_echo_n "checking whether to include MySpell dictionaries... " >&6; } if test -z "$with_myspell_dicts" || test "$with_myspell_dicts" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MYSPELL_DICTS=YES BUILD_TYPE="$BUILD_TYPE DICTIONARIES" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_MYSPELL_DICTS=NO fi if test "$WITH_MYSPELL_DICTS" = "NO"; then - echo "$as_me:$LINENO: checking whether to use dicts from external paths" >&5 -echo $ECHO_N "checking whether to use dicts from external paths... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dicts from external paths" >&5 +$as_echo_n "checking whether to use dicts from external paths... " >&6; } if test -n "$with_system_dicts" -a "$with_system_dicts" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_DICTS=YES - echo "$as_me:$LINENO: checking for spelling dictionary directory" >&5 -echo $ECHO_N "checking for spelling dictionary directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for spelling dictionary directory" >&5 +$as_echo_n "checking for spelling dictionary directory... " >&6; } if test -n "$with_external_dict_dir"; then DICT_SYSTEM_DIR=file://$with_external_dict_dir else DICT_SYSTEM_DIR=file:///usr/share/hunspell fi - echo "$as_me:$LINENO: result: $DICT_SYSTEM_DIR" >&5 -echo "${ECHO_T}$DICT_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for hyphenation patterns directory" >&5 -echo $ECHO_N "checking for hyphenation patterns directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DICT_SYSTEM_DIR" >&5 +$as_echo "$DICT_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hyphenation patterns directory" >&5 +$as_echo_n "checking for hyphenation patterns directory... " >&6; } if test -n "$with_external_hyph_dir"; then HYPH_SYSTEM_DIR=file://$with_external_hyph_dir else HYPH_SYSTEM_DIR=file:///usr/share/hyphen fi - echo "$as_me:$LINENO: result: $HYPH_SYSTEM_DIR" >&5 -echo "${ECHO_T}$HYPH_SYSTEM_DIR" >&6 - echo "$as_me:$LINENO: checking for thesaurus directory" >&5 -echo $ECHO_N "checking for thesaurus directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HYPH_SYSTEM_DIR" >&5 +$as_echo "$HYPH_SYSTEM_DIR" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thesaurus directory" >&5 +$as_echo_n "checking for thesaurus directory... " >&6; } if test -n "$with_external_thes_dir"; then THES_SYSTEM_DIR=file://$with_external_thes_dir else THES_SYSTEM_DIR=file:///usr/share/mythes fi - echo "$as_me:$LINENO: result: $THES_SYSTEM_DIR" >&5 -echo "${ECHO_T}$THES_SYSTEM_DIR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $THES_SYSTEM_DIR" >&5 +$as_echo "$THES_SYSTEM_DIR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_DICTS=NO fi fi @@ -3782,16 +5683,12 @@ fi if test $_os = "WINNT"; then - echo "$as_me:$LINENO: checking Windows build environment sanity" >&5 -echo $ECHO_N "checking Windows build environment sanity... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Windows build environment sanity" >&5 +$as_echo_n "checking Windows build environment sanity... " >&6; } if test -L $AWK -o -L `which awk` -o -L `which tar` -o -L `which gunzip` ; then - { { echo "$as_me:$LINENO: error: $AWK, awk, tar or gunzip is a cygwin symlink! + as_fn_error "$AWK, awk, tar or gunzip is a cygwin symlink! Native windows programs cannot use cygwin symlinks. Remove the symbolic -link, and copy the program to the name of the link." >&5 -echo "$as_me: error: $AWK, awk, tar or gunzip is a cygwin symlink! -Native windows programs cannot use cygwin symlinks. Remove the symbolic -link, and copy the program to the name of the link." >&2;} - { (exit 1); exit 1; }; } +link, and copy the program to the name of the link." "$LINENO" 5 fi CC=`echo $CC | $SED "s/^guw.exe //"` CXX=`echo $CXX | $SED "s/^guw.exe //"` @@ -3806,31 +5703,29 @@ link, and copy the program to the name of the link." >&2;} CXX="g++ -mno-cygwin" fi fi - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi if test "$_os" = "WINNT" ; then - echo "$as_me:$LINENO: checking for cygwin gcc/g++" >&5 -echo $ECHO_N "checking for cygwin gcc/g++... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin gcc/g++" >&5 +$as_echo_n "checking for cygwin gcc/g++... " >&6; } if which gcc > /dev/null && which g++ > /dev/null ; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: cygwin gcc and g++ are needed, please install them." >&5 -echo "$as_me: error: cygwin gcc and g++ are needed, please install them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cygwin gcc and g++ are needed, please install them." "$LINENO" 5 fi fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SHELLPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SHELLPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SHELLPATH in [\\/]* | ?:[\\/]*) @@ -3842,46 +5737,45 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELLPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SHELLPATH=$ac_cv_path_SHELLPATH - if test -n "$SHELLPATH"; then - echo "$as_me:$LINENO: result: $SHELLPATH" >&5 -echo "${ECHO_T}$SHELLPATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHELLPATH" >&5 +$as_echo "$SHELLPATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SHELLPATH"; then - { { echo "$as_me:$LINENO: error: bash not found in \$PATH" >&5 -echo "$as_me: error: bash not found in \$PATH" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "bash not found in \$PATH" "$LINENO" 5 else SHELLPATH=`echo $SHELLPATH | $SED -n "s/\/bash$//p"` fi -echo "$as_me:$LINENO: checking gcc home" >&5 -echo $ECHO_N "checking gcc home... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc home" >&5 +$as_echo_n "checking gcc home... " >&6; } if test -z "$with_gcc_home"; then GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,` else GCC_HOME="$with_gcc_home" fi -echo "$as_me:$LINENO: result: $GCC_HOME" >&5 -echo "${ECHO_T}$GCC_HOME" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_HOME" >&5 +$as_echo "$GCC_HOME" >&6; } if test -n "$with_gcc_home"; then @@ -3899,10 +5793,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -3912,35 +5806,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -3950,39 +5846,50 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -3992,77 +5899,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi + fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -4073,18 +5940,19 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. @@ -4102,24 +5970,25 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -4129,39 +5998,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -4171,66 +6042,78 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CC" && break done - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi fi fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4242,112 +6125,109 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. break;; * ) break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else - echo "$as_me: failed program was:" >&5 + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -4355,38 +6235,90 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4398,45 +6330,46 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4450,55 +6383,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -4509,39 +6421,49 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ -ac_cv_prog_cc_g=no + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -4557,18 +6479,14 @@ else CFLAGS= fi fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_stdc=no + ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -4596,12 +6514,17 @@ static char *f (char * (*g) (char **, int), char **p, ...) /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get + as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ + that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -4616,205 +6539,37 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -#include -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4829,10 +6584,10 @@ if test "$COMPATH" = "." ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_COMPATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_COMPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $COMPATH in [\\/]* | ?:[\\/]*) @@ -4844,28 +6599,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_COMPATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi COMPATH=$ac_cv_path_COMPATH - if test -n "$COMPATH"; then - echo "$as_me:$LINENO: result: $COMPATH" >&5 -echo "${ECHO_T}$COMPATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPATH" >&5 +$as_echo "$COMPATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$COMPATH" && break done @@ -4875,54 +6631,44 @@ COMPATH=`echo $COMPATH | $SED "s@/[Bb][Ii][Nn]\\\$@@"`; echo $COMPATH GCCVER=20995 if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5 -echo $ECHO_N "checking the GNU gcc compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU gcc compiler version" >&5 +$as_echo_n "checking the GNU gcc compiler version... " >&6; } _gcc_version=`$CC -dumpversion` _gcc_major=`echo $_gcc_version | $AWK -F. '{ print \$1 }'` _gcc_longver=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` GCCVER=`echo $_gcc_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_gcc_major" -lt "3"; then - { { echo "$as_me:$LINENO: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&5 -echo "$as_me: error: found version \"$_gcc_version\", use version 3+ of the gcc compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_gcc_version\", use version 3+ of the gcc compiler" "$LINENO" 5 else if test "$GCCVER" -eq "030203"; then if test "$ENABLE_SYMBOLS" = "SMALL"; then - { { echo "$as_me:$LINENO: error: version \"$_gcc_version\" gives internal error with small." >&5 -echo "$as_me: error: version \"$_gcc_version\" gives internal error with small." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "version \"$_gcc_version\" gives internal error with small." "$LINENO" 5 fi fi fi - echo "$as_me:$LINENO: result: checked (gcc $_gcc_version)" >&5 -echo "${ECHO_T}checked (gcc $_gcc_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (gcc $_gcc_version)" >&5 +$as_echo "checked (gcc $_gcc_version)" >&6; } if test "$_os" = "SunOS"; then - echo "$as_me:$LINENO: checking gcc linker" >&5 -echo $ECHO_N "checking gcc linker... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc linker" >&5 +$as_echo_n "checking gcc linker... " >&6; } if $CC -Wl,--version 2>&1 |head -n 1| grep -v GNU > /dev/null;then - { { echo "$as_me:$LINENO: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&5 -echo "$as_me: error: failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed (not GNU ld). Use GNU ld instead of Sun ld on Solaris" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: ok (GNU ld)" >&5 -echo "${ECHO_T}ok (GNU ld)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (GNU ld)" >&5 +$as_echo "ok (GNU ld)" >&6; } fi fi HAVE_LD_BSYMBOLIC_FUNCTIONS= if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking for -Bsymbolic-functions linker support " >&5 -echo $ECHO_N "checking for -Bsymbolic-functions linker support ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bsymbolic-functions linker support " >&5 +$as_echo_n "checking for -Bsymbolic-functions linker support ... " >&6; } bsymbolic_functions_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -4937,85 +6683,60 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_LD_BSYMBOLIC_FUNCTIONS=TRUE -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_BSYMBOLIC_FUNCTIONS" = "zTRUE"; then - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found " >&5 +$as_echo "found " >&6; } else - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$bsymbolic_functions_ldflags_save fi -echo "$as_me:$LINENO: checking whether to enable pch feature" >&5 -echo $ECHO_N "checking whether to enable pch feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pch feature" >&5 +$as_echo_n "checking whether to enable pch feature... " >&6; } if test -n "$enable_pch" && test "$enable_pch" != "no"; then if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then ENABLE_PCH="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$GCC" = "yes" -a "$GCCVER" -gt "030400"; then ENABLE_PCH="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_PCH="" - { echo "$as_me:$LINENO: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 -echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Precompiled header not yet supported for your platform/compiler" >&5 +$as_echo "$as_me: WARNING: Precompiled header not yet supported for your platform/compiler" >&2;} fi else ENABLE_PCH="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable hid list feature" >&5 -echo $ECHO_N "checking whether to enable hid list feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable hid list feature" >&5 +$as_echo_n "checking whether to enable hid list feature... " >&6; } if test -n "$enable_hids" && test "$enable_hids" != "no"; then NO_HIDS="" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else NO_HIDS="TRUE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking for GNU make" >&5 -echo $ECHO_N "checking for GNU make... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 +$as_echo_n "checking for GNU make... " >&6; } for a in "$MAKE" $GNUMAKE make gmake gnumake; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -5023,40 +6744,36 @@ for a in "$MAKE" $GNUMAKE make gmake gnumake; do break fi done -echo "$as_me:$LINENO: result: $GNUMAKE" >&5 -echo "${ECHO_T}$GNUMAKE" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE" >&5 +$as_echo "$GNUMAKE" >&6; } if test -z "$GNUMAKE"; then - { { echo "$as_me:$LINENO: error: not found. install GNU make." >&5 -echo "$as_me: error: not found. install GNU make." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. install GNU make." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking the GNU make version" >&5 -echo $ECHO_N "checking the GNU make version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU make version" >&5 +$as_echo_n "checking the GNU make version... " >&6; } _make_version=`$GNUMAKE --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _make_longver=`echo $_make_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` if test "$_make_longver" -ge "037901" ; then - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else if test "$_os" = "Darwin"; then if test "$_make_longver" -ge "037900" ; then - echo "$as_me:$LINENO: result: $GNUMAKE $_make_version" >&5 -echo "${ECHO_T}$GNUMAKE $_make_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUMAKE $_make_version" >&5 +$as_echo "$GNUMAKE $_make_version" >&6; } else - { echo "$as_me:$LINENO: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 -echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&5 +$as_echo "$as_me: WARNING: failed ($GNUMAKE $_make_version need 3.79.0+)" >&2;} fi else - { { echo "$as_me:$LINENO: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&5 -echo "$as_me: error: failed ($GNUMAKE $_make_version need 3.79.1+)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed ($GNUMAKE $_make_version need 3.79.1+)" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking for GNU tar" >&5 -echo $ECHO_N "checking for GNU tar... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU tar" >&5 +$as_echo_n "checking for GNU tar... " >&6; } for a in $GNUTAR gtar gnutar tar; do $a --version 2> /dev/null | grep GNU 2>&1 > /dev/null if test $? -eq 0; then @@ -5064,12 +6781,10 @@ for a in $GNUTAR gtar gnutar tar; do break fi done -echo "$as_me:$LINENO: result: $GNUTAR" >&5 -echo "${ECHO_T}$GNUTAR" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUTAR" >&5 +$as_echo "$GNUTAR" >&6; } if test -z "$GNUTAR"; then - { { echo "$as_me:$LINENO: error: not found. install GNU tar." >&5 -echo "$as_me: error: not found. install GNU tar." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. install GNU tar." "$LINENO" 5 fi @@ -5080,10 +6795,10 @@ if test "$_os" = "SunOS"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path__cc+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -5095,65 +6810,58 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cc" >&5 +$as_echo "$_cc" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"` - echo "$as_me:$LINENO: checking the SunStudio C/C++ compiler version" >&5 -echo $ECHO_N "checking the SunStudio C/C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the SunStudio C/C++ compiler version" >&5 +$as_echo_n "checking the SunStudio C/C++ compiler version... " >&6; } _sunstudio_string=`$CC -V 2>&1 | grep '^cc' | sed -e 's/.* C //'` _sunstudio_version=`echo $_sunstudio_string | $AWK '{ print $1 }'` _sunstudio_major=`echo $_sunstudio_version | $AWK -F. '{ print $1 }'` if test "$_sunstudio_major" != "5"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" "$LINENO" 5 else _sunstudio_minor=`echo $_sunstudio_version | $AWK -F. '{ if ($2 == 5) print "true"; else if ($2 == 7) print "true"; else if ($2 == 8) print "true"; else if ($2 == 9) print "true"; else print "false" }'` if test "$_sunstudio_minor" = "false"; then - { { echo "$as_me:$LINENO: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&5 -echo "$as_me: error: found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_sunstudio_version\", use version 5.5, 5.7, 5.8 or 5.9 of the SunStudio C/C++ compiler" "$LINENO" 5 else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi fi if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking for --hash-style=both linker support " >&5 -echo $ECHO_N "checking for --hash-style=both linker support ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style=both linker support " >&5 +$as_echo_n "checking for --hash-style=both linker support ... " >&6; } hash_style_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--hash-style=both" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -5168,43 +6876,19 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_LD_HASH_STYLE=TRUE else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -HAVE_LD_HASH_STYLE=FALSE + HAVE_LD_HASH_STYLE=FALSE fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "z$HAVE_LD_HASH_STYLE" = "zTRUE"; then - echo "$as_me:$LINENO: result: found " >&5 -echo "${ECHO_T}found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found " >&5 +$as_echo "found " >&6; } else - echo "$as_me:$LINENO: result: not found " >&5 -echo "${ECHO_T}not found " >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found " >&5 +$as_echo "not found " >&6; } fi LDFLAGS=$hash_style_ldflags_save fi @@ -5216,10 +6900,10 @@ if test "$_os" = "OSF1"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path__cc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path__cc+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $_cc in [\\/]* | ?:[\\/]*) @@ -5231,45 +6915,44 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__cc="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi _cc=$ac_cv_path__cc - if test -n "$_cc"; then - echo "$as_me:$LINENO: result: $_cc" >&5 -echo "${ECHO_T}$_cc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cc" >&5 +$as_echo "$_cc" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$_cc" && break done COMPATH=`echo $_cc | $SED -n "s/\/bin\/cc//p"` - { echo "$as_me:$LINENO: WARNING: ******* $_cc , $COMPATH" >&5 -echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} - echo "$as_me:$LINENO: checking the Compaq C compiler version" >&5 -echo $ECHO_N "checking the Compaq C compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ******* $_cc , $COMPATH" >&5 +$as_echo "$as_me: WARNING: ******* $_cc , $COMPATH" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Compaq C compiler version" >&5 +$as_echo_n "checking the Compaq C compiler version... " >&6; } _compaqc_version=`$CC -V 2>&1 | $AWK '{ print $3 }'` _compaqc_major=`echo $_compaqc_version | $AWK -F. '{ print $1 }'` if test "$_compaqc_major" != "T6"; then - { { echo "$as_me:$LINENO: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&5 -echo "$as_me: error: found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found version \"$_compaqc_version\", use version 6 of the Compaq C compiler" "$LINENO" 5 else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi @@ -5277,10 +6960,10 @@ fi if test -z "$with_perl_home"; then # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PERL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PERL+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) @@ -5292,28 +6975,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PERL=$ac_cv_path_PERL - if test -n "$PERL"; then - echo "$as_me:$LINENO: result: $PERL" >&5 -echo "${ECHO_T}$PERL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +$as_echo "$PERL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else if test "$_os" = "WINNT"; then with_perl_home=`cygpath -u "$with_perl_home"` @@ -5322,46 +7006,38 @@ else if test -x "$_perl_path"; then PERL=$_perl_path else - { { echo "$as_me:$LINENO: error: $_perl_path not found" >&5 -echo "$as_me: error: $_perl_path not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_perl_path not found" "$LINENO" 5 fi fi if test "$PERL"; then - echo "$as_me:$LINENO: checking the Perl version" >&5 -echo $ECHO_N "checking the Perl version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Perl version" >&5 +$as_echo_n "checking the Perl version... " >&6; } ${PERL} -e "exit($]);" _perl_version=$? if test "$_perl_version" -lt 5; then - { { echo "$as_me:$LINENO: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&5 -echo "$as_me: error: found Perl version \"$_perl_version\", use version 5 of Perl" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "found Perl version \"$_perl_version\", use version 5 of Perl" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (perl $_perl_version)" >&5 -echo "${ECHO_T}checked (perl $_perl_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (perl $_perl_version)" >&5 +$as_echo "checked (perl $_perl_version)" >&6; } else - { { echo "$as_me:$LINENO: error: Perl not found, install version 5 of Perl" >&5 -echo "$as_me: error: Perl not found, install version 5 of Perl" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Perl not found, install version 5 of Perl" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking for required Perl modules" >&5 -echo $ECHO_N "checking for required Perl modules... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for required Perl modules" >&5 +$as_echo_n "checking for required Perl modules... " >&6; } if `$PERL -e 'use Archive::Zip;'`; then - echo "$as_me:$LINENO: result: all modules found" >&5 -echo "${ECHO_T}all modules found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: all modules found" >&5 +$as_echo "all modules found" >&6; } else - { { echo "$as_me:$LINENO: error: Failed to find some modules" >&5 -echo "$as_me: error: Failed to find some modules" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Failed to find some modules" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" != "yes"; then - echo "$as_me:$LINENO: checking for friendly registry keys" >&5 -echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for friendly registry keys" >&5 +$as_echo_n "checking for friendly registry keys... " >&6; } # VS.Net 2003, VS.Net 2005 if test -z "$with_cl_home"; then vctest=`./oowintool --msvc-productdir`; @@ -5371,8 +7047,8 @@ echo $ECHO_N "checking for friendly registry keys... $ECHO_C" >&6 else with_cl_home=`cygpath -u "$with_cl_home"` fi - echo "$as_me:$LINENO: result: done" >&5 -echo "${ECHO_T}done" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$with_mspdb_path";then with_mspdb_path=`cygpath -u "$with_mspdb_path"` @@ -5393,10 +7069,10 @@ echo "${ECHO_T}done" >&6 if test -z "$MSPDB_PATH";then # Extract the first word of "mspdb80.dll", so it can be a program name with args. set dummy mspdb80.dll; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSPDB_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -5408,34 +7084,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "mspdb71.dll", so it can be a program name with args. set dummy mspdb71.dll; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSPDB_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSPDB_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MSPDB_PATH in [\\/]* | ?:[\\/]*) @@ -5447,51 +7124,50 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MSPDB_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MSPDB_PATH=$ac_cv_path_MSPDB_PATH - if test -n "$MSPDB_PATH"; then - echo "$as_me:$LINENO: result: $MSPDB_PATH" >&5 -echo "${ECHO_T}$MSPDB_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSPDB_PATH" >&5 +$as_echo "$MSPDB_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -z "$MSPDB_PATH"; then - { { echo "$as_me:$LINENO: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&5 -echo "$as_me: error: You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path" "$LINENO" 5 fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` PATH="$MSPDB_PATH:$PATH" - echo "$as_me:$LINENO: checking the Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Microsoft C/C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Microsoft C/C++ Compiler... " >&6; } if test -x "$with_cl_home/bin/cl.exe"; then CC="$with_cl_home/bin/cl.exe" else # Extract the first word of "cl.exe", so it can be a program name with args. set dummy cl.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CC in [\\/]* | ?:[\\/]*) @@ -5503,40 +7179,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CC=$ac_cv_path_CC - if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -e "$CC"; then # This gives us a posix path with 8.3 filename restrictions CC=`cygpath -d "$CC"` CC=`cygpath -u "$CC"` # Remove /cl.exe from CC case insensitive - echo "$as_me:$LINENO: result: found ($CC)" >&5 -echo "${ECHO_T}found ($CC)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($CC)" >&5 +$as_echo "found ($CC)" >&6; } COMPATH=`echo $CC | $SED 's@\/[Bb][Ii][Nn]\/[cC][lL]\.[eE][xX][eE]@@'` export INCLUDE=`cygpath -d "$COMPATH/Include"` - echo "$as_me:$LINENO: checking the Version of Microsoft C/C++ Compiler" >&5 -echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Version of Microsoft C/C++ Compiler" >&5 +$as_echo_n "checking the Version of Microsoft C/C++ Compiler... " >&6; } CCNUMVER=`$CC 2>&1 | $AWK "/Microsoft/ && /..\\...\\...../ { x = match( \\\$0, /..\\...\\...../ ) CCversion = substr( \\\$0, RSTART, RLENGTH) @@ -5545,48 +7222,42 @@ echo $ECHO_N "checking the Version of Microsoft C/C++ Compiler... $ECHO_C" >&6 printf (\"%04d\",vertoken[i] ) } }"` - echo "$as_me:$LINENO: result: found Compiler version $CCNUMVER." >&5 -echo "${ECHO_T}found Compiler version $CCNUMVER." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found Compiler version $CCNUMVER." >&5 +$as_echo "found Compiler version $CCNUMVER." >&6; } if test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 - echo "$as_me:$LINENO: result: found .NET 2008 / VS 9.0." >&5 -echo "${ECHO_T}found .NET 2008 / VS 9.0." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2008 / VS 9.0." >&5 +$as_echo "found .NET 2008 / VS 9.0." >&6; } elif test "$CCNUMVER" -ge "001400000000"; then COMEX=11 MSVSVER=2005 - echo "$as_me:$LINENO: result: found .NET 2005." >&5 -echo "${ECHO_T}found .NET 2005." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2005." >&5 +$as_echo "found .NET 2005." >&6; } elif test "$CCNUMVER" -ge "001300102240"; then COMEX=10 MSVSVER=2003 - echo "$as_me:$LINENO: result: found .NET 2003." >&5 -echo "${ECHO_T}found .NET 2003." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found .NET 2003." >&5 +$as_echo "found .NET 2003." >&6; } else - { { echo "$as_me:$LINENO: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&5 -echo "$as_me: error: Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler." "$LINENO" 5 fi else - { { echo "$as_me:$LINENO: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&5 -echo "$as_me: error: Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe." "$LINENO" 5 fi else - echo "$as_me:$LINENO: checking the Mingwin32 C++ Compiler" >&5 -echo $ECHO_N "checking the Mingwin32 C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the Mingwin32 C++ Compiler" >&5 +$as_echo_n "checking the Mingwin32 C++ Compiler... " >&6; } if test `$CC -dumpmachine | $SED -e 's/^.*-//'` = "mingw32"; then - echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found." >&5 +$as_echo "found." >&6; } if $CC -dumpspecs | grep -q "mno-cygwin"; then USE_MINGW="cygwin" else USE_MINGW="pure-mingw" fi else - { { echo "$as_me:$LINENO: error: Mingwin32 C++ Compiler not found." >&5 -echo "$as_me: error: Mingwin32 C++ Compiler not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Mingwin32 C++ Compiler not found." "$LINENO" 5 fi fi fi @@ -5598,10 +7269,10 @@ if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then # Extract the first word of "midl.exe", so it can be a program name with args. set dummy midl.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MIDL_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MIDL_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MIDL_PATH in [\\/]* | ?:[\\/]*) @@ -5613,28 +7284,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MIDL_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MIDL_PATH=$ac_cv_path_MIDL_PATH - if test -n "$MIDL_PATH"; then - echo "$as_me:$LINENO: result: $MIDL_PATH" >&5 -echo "${ECHO_T}$MIDL_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MIDL_PATH" >&5 +$as_echo "$MIDL_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$MIDL_PATH";then MIDL_PATH=`dirname "$MIDL_PATH"` fi @@ -5660,9 +7332,7 @@ fi fi fi if test ! -x "$MIDL_PATH/midl.exe"; then - { { echo "$as_me:$LINENO: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&5 -echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --with-midl-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "midl.exe not found. Make sure it's in the path or use --with-midl-path" "$LINENO" 5 fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) MIDL_PATH=`cygpath -d "$MIDL_PATH"` @@ -5670,10 +7340,10 @@ echo "$as_me: error: midl.exe not found. Make sure it's in the path or use --wit # Extract the first word of "csc.exe", so it can be a program name with args. set dummy csc.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CSC_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CSC_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CSC_PATH in [\\/]* | ?:[\\/]*) @@ -5685,28 +7355,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CSC_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CSC_PATH=$ac_cv_path_CSC_PATH - if test -n "$CSC_PATH"; then - echo "$as_me:$LINENO: result: $CSC_PATH" >&5 -echo "${ECHO_T}$CSC_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CSC_PATH" >&5 +$as_echo "$CSC_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$CSC_PATH";then CSC_PATH=`dirname "$CSC_PATH"` fi @@ -5722,16 +7393,14 @@ fi fi fi if test ! -x "$CSC_PATH/csc.exe"; then - { { echo "$as_me:$LINENO: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&5 -echo "$as_me: error: csc.exe not found. Make sure it's in the path or use --with-csc-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "csc.exe not found. Make sure it's in the path or use --with-csc-path" "$LINENO" 5 fi # Convert to posix path with 8.3 filename restrictions ( No spaces ) CSC_PATH=`cygpath -d "$CSC_PATH"` CSC_PATH=`cygpath -u "$CSC_PATH"` - echo "$as_me:$LINENO: checking .NET Framework" >&5 -echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking .NET Framework" >&5 +$as_echo_n "checking .NET Framework... " >&6; } if test -n "$with_frame_home"; then with_frame_home=`cygpath -u "$with_frame_home"` fi @@ -5753,12 +7422,10 @@ echo $ECHO_N "checking .NET Framework... $ECHO_C" >&6 fi fi if test ! -f "$FRAME_HOME/lib/mscoree.lib"; then - { { echo "$as_me:$LINENO: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&5 -echo "$as_me: error: mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mscoree.lib (.NET Framework) not found. Make sure you use --with-frame-home" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } # Convert to posix path with 8.3 filename restrictions ( No spaces ) FRAME_HOME=`cygpath -d "$FRAME_HOME"` FRAME_HOME=`cygpath -u "$FRAME_HOME"` @@ -5774,15 +7441,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -5796,11 +7463,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5809,68 +7472,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +else # Passes both tests. ac_preproc_ok=: break @@ -5880,7 +7499,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -5892,8 +7511,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -5903,11 +7522,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5916,68 +7531,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -5987,14 +7558,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -6004,16 +7574,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -6028,51 +7594,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -6082,18 +7620,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -6103,16 +7637,13 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -6132,61 +7663,50 @@ main () for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + return 2; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -6196,39 +7716,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -6238,64 +7760,77 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -6309,55 +7844,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -6368,176 +7882,80 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_compile "$LINENO"; then : -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CXXCPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" @@ -6551,11 +7969,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6564,68 +7978,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6635,7 +8005,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -6647,8 +8017,8 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -6658,11 +8028,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6671,68 +8037,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6742,14 +8064,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -6767,15 +8088,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -6789,11 +8110,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6802,68 +8119,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6873,7 +8146,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -6885,8 +8158,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -6896,11 +8169,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6909,68 +8178,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break @@ -6980,90 +8205,35 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - fi -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default +if $ac_preproc_ok; then : -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -7071,678 +8241,288 @@ fi done -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if test "${ac_cv_sizeof_long+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_long=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : -echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; -test_array [0] = 0 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_long=0 + fi +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +SIZEOF_LONG=$ac_cv_sizeof_long -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + #include + int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } -#include -#include +#include + #include + int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (long))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes else - ac_cv_sizeof_long=0 + ac_cv_c_bigendian=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6 -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - - -SIZEOF_LONG=$ac_cv_sizeof_long - -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include +#include int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif +#ifndef _BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_bigendian=no + ac_cv_c_bigendian=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -# It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + int main () { - _ascii (); _ebcdic (); +return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then - ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +$ac_includes_default int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long l; - char c[sizeof (long)]; - } u; - u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + ac_cv_c_bigendian=yes fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + + fi fi -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -case $ac_cv_c_bigendian in - yes) +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) -cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 -_ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; -esac +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac WORDS_BIGENDIAN=$ac_cv_c_bigendian -# Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi -fi; if test "$enable_largefile" != no; then - echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if test "${ac_cv_sys_largefile_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7761,89 +8541,34 @@ main () return 0; } _ACEOF - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + if ac_fn_c_try_compile "$LINENO"; then : break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi -echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi - echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test "${ac_cv_sys_file_offset_bits+set}" = set; then : + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7862,40 +8587,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include @@ -7915,60 +8611,33 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown break done fi -echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF - -fi -rm -f conftest* - echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if test "${ac_cv_sys_large_files+set}" = set; then : + $as_echo_n "(cached) " >&6 else while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -7987,40 +8656,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include @@ -8040,48 +8680,26 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown break done fi -echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF - -fi -rm -f conftest* +;; +esac +rm -rf conftest* + fi fi if test -n "$ac_cv_sys_file_offset_bits"; then @@ -8092,44 +8710,42 @@ if test -n "$ac_cv_sys_large_files" && test "$ac_cv_sys_large_files" != "no"; th fi -echo "$as_me:$LINENO: checking whether to disable vba feature" >&5 -echo $ECHO_N "checking whether to disable vba feature... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable vba feature" >&5 +$as_echo_n "checking whether to disable vba feature... " >&6; } if test -n "$enable_vba" && test "$enable_vba" = "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_VBA=NO else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_VBA=YES fi if test "$ENABLE_VBA" = "YES"; then - echo "$as_me:$LINENO: checking how to package the vba compatibility api" >&5 -echo $ECHO_N "checking how to package the vba compatibility api... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to package the vba compatibility api" >&5 +$as_echo_n "checking how to package the vba compatibility api... " >&6; } if test -n "$with_vba_package_format"; then if test "$with_vba_package_format" = "extn"; then VBA_EXTENSION=YES - echo "$as_me:$LINENO: result: uno extension" >&5 -echo "${ECHO_T}uno extension" >&6 - { echo "$as_me:$LINENO: WARNING: --with-vba-package-format=extn can cause problems" >&5 -echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: uno extension" >&5 +$as_echo "uno extension" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-vba-package-format=extn can cause problems" >&5 +$as_echo "$as_me: WARNING: --with-vba-package-format=extn can cause problems" >&2;} else if test "$with_vba_package_format" = "builtin"; then VBA_EXTENSION=NO - echo "$as_me:$LINENO: result: build into installset" >&5 -echo "${ECHO_T}build into installset" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: build into installset" >&5 +$as_echo "build into installset" >&6; } else - { { echo "$as_me:$LINENO: error: unknown packaging method" >&5 -echo "$as_me: error: unknown packaging method" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "unknown packaging method" "$LINENO" 5 fi fi else VBA_EXTENSION=NO - echo "$as_me:$LINENO: result: defaulting to build into installset" >&5 -echo "${ECHO_T}defaulting to build into installset" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: defaulting to build into installset" >&5 +$as_echo "defaulting to build into installset" >&6; } fi else VBA_EXTENSION=NO @@ -8139,379 +8755,74 @@ fi if test "$test_cups" = "yes" -a "$ENABLE_CUPS" = "TRUE" ; then - if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 -if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking cups/cups.h usability" >&5 -echo $ECHO_N "checking cups/cups.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking cups/cups.h presence" >&5 -echo $ECHO_N "checking cups/cups.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: cups/cups.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: cups/cups.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for cups/cups.h" >&5 -echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6 -if test "${ac_cv_header_cups_cups_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_cups_cups_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5 -echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "cups/cups.h" "ac_cv_header_cups_cups_h" "$ac_includes_default" +if test "x$ac_cv_header_cups_cups_h" = x""yes; then : -fi -if test $ac_cv_header_cups_cups_h = yes; then - : else - { { echo "$as_me:$LINENO: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&5 -echo "$as_me: error: cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cups/cups.h could not be found. libcupsys2-dev or cups???-devel missing?" "$LINENO" 5 fi fi if test "$_os" = "Linux" -o "$_os" = "FreeBSD" -o "$_os" = "GNU"; then - echo "$as_me:$LINENO: checking whether to enable pam support" >&5 -echo $ECHO_N "checking whether to enable pam support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable pam support" >&5 +$as_echo_n "checking whether to enable pam support... " >&6; } if test -z "$enable_pam" || test "$enable_pam" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } PAM=YES - if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking security/pam_appl.h usability" >&5 -echo $ECHO_N "checking security/pam_appl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking security/pam_appl.h presence" >&5 -echo $ECHO_N "checking security/pam_appl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: security/pam_appl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: security/pam_appl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: security/pam_appl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: security/pam_appl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: security/pam_appl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: security/pam_appl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: security/pam_appl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for security/pam_appl.h" >&5 -echo $ECHO_N "checking for security/pam_appl.h... $ECHO_C" >&6 -if test "${ac_cv_header_security_pam_appl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_security_pam_appl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_security_pam_appl_h" >&5 -echo "${ECHO_T}$ac_cv_header_security_pam_appl_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "security/pam_appl.h" "ac_cv_header_security_pam_appl_h" "$ac_includes_default" +if test "x$ac_cv_header_security_pam_appl_h" = x""yes; then : -fi -if test $ac_cv_header_security_pam_appl_h = yes; then - : else - { { echo "$as_me:$LINENO: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&5 -echo "$as_me: error: pam_appl.h could not be found. libpam-dev or pam-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "pam_appl.h could not be found. libpam-dev or pam-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether to link to libpam" >&5 -echo $ECHO_N "checking whether to link to libpam... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to libpam" >&5 +$as_echo_n "checking whether to link to libpam... " >&6; } if test -n "$enable_pam_link" -a "$enable_pam_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } PAM_LINK=YES - -echo "$as_me:$LINENO: checking for pam_start in -lpam" >&5 -echo $ECHO_N "checking for pam_start in -lpam... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_pam_start+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5 +$as_echo_n "checking for pam_start in -lpam... " >&6; } +if test "${ac_cv_lib_pam_pam_start+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpam $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char pam_start (); int main () { -pam_start (); +return pam_start (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pam_pam_start=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_pam_pam_start=no + ac_cv_lib_pam_pam_start=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pam_pam_start" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_start" >&6 -if test $ac_cv_lib_pam_pam_start = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_start" >&5 +$as_echo "$ac_cv_lib_pam_pam_start" >&6; } +if test "x$ac_cv_lib_pam_pam_start" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPAM 1 _ACEOF @@ -8519,19 +8830,17 @@ _ACEOF LIBS="-lpam $LIBS" else - { { echo "$as_me:$LINENO: error: libpam not found or functional" >&5 -echo "$as_me: error: libpam not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libpam not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } PAM_LINK=NO fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PAM=NO PAM_LINK=NO @@ -8542,11 +8851,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - echo "$as_me:$LINENO: checking how many arguments getspnam_r() takes" >&5 -echo $ECHO_N "checking how many arguments getspnam_r() takes... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how many arguments getspnam_r() takes" >&5 +$as_echo_n "checking how many arguments getspnam_r() takes... " >&6; } - if test "${ac_cv_func_which_getspnam_r+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_func_which_getspnam_r+set}" = set; then : + $as_echo_n "(cached) " >&6 else @@ -8563,11 +8872,7 @@ ac_cv_func_which_getspnam_r=unknown # netdb.h is not declaring the function, and the compiler is thereby # assuming an implicit prototype. In which case, we're out of luck. # -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8584,35 +8889,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=no -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # # FIVE ARGUMENTS @@ -8620,11 +8900,7 @@ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_func_which_getspnam_r" = "unknown"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8643,35 +8919,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=five -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8681,11 +8932,7 @@ fi if test "$ac_cv_func_which_getspnam_r" = "unknown"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -8704,35 +8951,10 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_which_getspnam_r=four -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8743,30 +8965,28 @@ fi case "$ac_cv_func_which_getspnam_r" in five) - echo "$as_me:$LINENO: result: five" >&5 -echo "${ECHO_T}five" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: five" >&5 +$as_echo "five" >&6; } NEW_SHADOW_API=YES ;; four) - echo "$as_me:$LINENO: result: four" >&5 -echo "${ECHO_T}four" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: four" >&5 +$as_echo "four" >&6; } ;; no) - echo "$as_me:$LINENO: result: cannot find function declaration in shadow.h" >&5 -echo "${ECHO_T}cannot find function declaration in shadow.h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot find function declaration in shadow.h" >&5 +$as_echo "cannot find function declaration in shadow.h" >&6; } ;; unknown) - echo "$as_me:$LINENO: result: can't tell" >&5 -echo "${ECHO_T}can't tell" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: can't tell" >&5 +$as_echo "can't tell" >&6; } ;; *) - { { echo "$as_me:$LINENO: error: internal error" >&5 -echo "$as_me: error: internal error" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "internal error" "$LINENO" 5 ;; esac @@ -8785,78 +9005,49 @@ fi if test "$_os" = "Linux"; then - echo "$as_me:$LINENO: checking whether to link to libcrypt" >&5 -echo $ECHO_N "checking whether to link to libcrypt... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to libcrypt" >&5 +$as_echo_n "checking whether to link to libcrypt... " >&6; } if test -n "$enable_crypt_link" -a "$enable_crypt_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } CRYPT_LINK=YES - -echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5 -echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 -if test "${ac_cv_lib_crypt_crypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 +$as_echo_n "checking for crypt in -lcrypt... " >&6; } +if test "${ac_cv_lib_crypt_crypt+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrypt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char crypt (); int main () { -crypt (); +return crypt (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_crypt_crypt=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_crypt_crypt=no + ac_cv_lib_crypt_crypt=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5 -echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6 -if test $ac_cv_lib_crypt_crypt = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 +$as_echo "$ac_cv_lib_crypt_crypt" >&6; } +if test "x$ac_cv_lib_crypt_crypt" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBCRYPT 1 _ACEOF @@ -8864,14 +9055,12 @@ _ACEOF LIBS="-lcrypt $LIBS" else - { { echo "$as_me:$LINENO: error: libcrypt not found or functional" >&5 -echo "$as_me: error: libcrypt not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libcrypt not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } CRYPT_LINK=NO fi fi @@ -8890,20 +9079,24 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -8913,39 +9106,41 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -8955,64 +9150,77 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9026,55 +9234,34 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9085,160 +9272,64 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_prog_cxx_g=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - '' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration -#include + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_compile "$LINENO"; then : -continue -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_declaration + int main () { -exit (42); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9248,32 +9339,27 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi if test "$GXX" = "yes"; then - echo "$as_me:$LINENO: checking the GNU C++ compiler version" >&5 -echo $ECHO_N "checking the GNU C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the GNU C++ compiler version" >&5 +$as_echo_n "checking the GNU C++ compiler version... " >&6; } _gpp_version=`$CXX -dumpversion` _gpp_major=`echo $_gpp_version | $AWK -F. '{ print \$1 }'` _gpp_minor=`echo $_gpp_version | $AWK -F. '{ print \$2 }'` - echo "$as_me:$LINENO: result: checked (g++ $_gpp_version)" >&5 -echo "${ECHO_T}checked (g++ $_gpp_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (g++ $_gpp_version)" >&5 +$as_echo "checked (g++ $_gpp_version)" >&6; } if test "$_gpp_major" = "3"; then if test "$_gpp_minor" = "4"; then - echo "$as_me:$LINENO: checking whether $CXX has the enum bug" >&5 -echo $ECHO_N "checking whether $CXX has the enum bug... $ECHO_C" >&6 -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX has the enum bug" >&5 +$as_echo_n "checking whether $CXX has the enum bug... " >&6; } +if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern "C" void abort (void); @@ -9298,31 +9384,16 @@ main (void) } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { { echo "$as_me:$LINENO: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&5 -echo "$as_me: error: your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." >&2;} - { (exit 1); exit 1; }; } -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 +if ac_fn_c_try_run "$LINENO"; then : + as_fn_error "your version of the GNU C++ compile has a bug which prevents OpenOffice.org from being compiled correctly - please check http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00968.html for details." "$LINENO" 5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi fi fi @@ -9330,8 +9401,8 @@ fi # Removed the special FreeBSD treatment. The problem was that with_gxx_include_path # often contains an i386 which is expanded as a macro. Solved in stlport. if test "$GXX" = "yes"; then - echo "$as_me:$LINENO: checking for g++ include path" >&5 -echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ include path" >&5 +$as_echo_n "checking for g++ include path... " >&6; } if test -z "$with_gxx_include_path"; then with_gxx_include_path=`echo "#include " | $CXX -E -xc++ - | $SED -n '/.*1*"\(.*\)\/cstring".*/s//\1/p' | head -n 1` if test "$with_gxx_include_path" = "/usr/libexec/(null)/include"; then @@ -9349,18 +9420,18 @@ echo $ECHO_N "checking for g++ include path... $ECHO_C" >&6 fi if test -z "$with_gxx_include_path"; then with_gxx_include_path="NO_GXX_INCLUDE" - echo "$as_me:$LINENO: result: no g++ includes" >&5 -echo "${ECHO_T}no g++ includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no g++ includes" >&5 +$as_echo "no g++ includes" >&6; } else - echo "$as_me:$LINENO: result: $with_gxx_include_path" >&5 -echo "${ECHO_T}$with_gxx_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_gxx_include_path" >&5 +$as_echo "$with_gxx_include_path" >&6; } fi GXX_INCLUDE_PATH="$with_gxx_include_path" if test "$WITH_MINGWIN" = "yes"; then - echo "$as_me:$LINENO: checking for mingwin runtime include path" >&5 -echo $ECHO_N "checking for mingwin runtime include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mingwin runtime include path" >&5 +$as_echo_n "checking for mingwin runtime include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include #include @@ -9378,16 +9449,16 @@ _ACEOF fi if test -z "$_mingw_lib_include_path"; then _mingw_lib_include_path="NO_LIB_INCLUDE" - echo "$as_me:$LINENO: result: no mingwin runtime includes" >&5 -echo "${ECHO_T}no mingwin runtime includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no mingwin runtime includes" >&5 +$as_echo "no mingwin runtime includes" >&6; } else - echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5 -echo "${ECHO_T}$_mingw_lib_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_mingw_lib_include_path" >&5 +$as_echo "$_mingw_lib_include_path" >&6; } fi MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path" - echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5 -echo $ECHO_N "checking for mingwin c++ backward include path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mingwin c++ backward include path" >&5 +$as_echo_n "checking for mingwin c++ backward include path... " >&6; } cat >conftest.$ac_ext <<_ACEOF #include _ACEOF @@ -9396,57 +9467,57 @@ _ACEOF if test -n "$_mingw_backward_include_path"; then _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path` _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path` - echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5 -echo "${ECHO_T}$_mingw_backward_include_path" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_mingw_backward_include_path" >&5 +$as_echo "$_mingw_backward_include_path" >&6; } else _mingw_backward_include_path="NO_BACKWARD_INCLUDE" - echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5 -echo "${ECHO_T}no mingwin c++ backward includes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no mingwin c++ backward includes" >&5 +$as_echo "no mingwin c++ backward includes" >&6; } fi MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path" mingw_crtbegin=`$CC -print-file-name=crtbegin.o` MINGW_CLIB_DIR=`dirname $mingw_crtbegin` - echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5 -echo $ECHO_N "checking whether to use dynamic libgcc... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dynamic libgcc" >&5 +$as_echo_n "checking whether to use dynamic libgcc... " >&6; } if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then - echo "$as_me:$LINENO: checking dynamic libgcc name" >&5 -echo $ECHO_N "checking dynamic libgcc name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic libgcc name" >&5 +$as_echo_n "checking dynamic libgcc name... " >&6; } MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GCCDLL=`cd $COMPATH/bin && ls $MINGW_GCCDLL_pattern 2>/dev/null` if test -n "$MINGW_GCCDLL"; then MINGW_SHARED_GCCLIB=YES - echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5 -echo "${ECHO_T}use $MINGW_GCCDLL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: use $MINGW_GCCDLL" >&5 +$as_echo "use $MINGW_GCCDLL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then MINGW_GCCLIB_EH=YES fi - echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5 -echo $ECHO_N "checking whether to use dynamic libstdc++... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use dynamic libstdc++" >&5 +$as_echo_n "checking whether to use dynamic libstdc++... " >&6; } if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then - echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5 -echo $ECHO_N "checking dynamic libstdc++ name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic libstdc++ name" >&5 +$as_echo_n "checking dynamic libstdc++ name... " >&6; } MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'` MINGW_GXXDLL=`cd $COMPATH/bin && ls $MINGW_GXXDLL_pattern 2>/dev/null` if test -n "$MINGW_GXXDLL"; then MINGW_SHARED_GXXLIB=YES - echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5 -echo "${ECHO_T}use $MINGW_GXXDLL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: use $MINGW_GXXDLL" >&5 +$as_echo "use $MINGW_GXXDLL" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR` @@ -9459,50 +9530,50 @@ fi if test "$_os" = "SunOS"; then if test "$CC" = "cc"; then - echo "$as_me:$LINENO: checking SunStudio C++ Compiler" >&5 -echo $ECHO_N "checking SunStudio C++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking SunStudio C++ Compiler" >&5 +$as_echo_n "checking SunStudio C++ Compiler... " >&6; } if test "$CXX" != "CC"; then - { echo "$as_me:$LINENO: WARNING: SunStudio C++ was not found" >&5 -echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SunStudio C++ was not found" >&5 +$as_echo "$as_me: WARNING: SunStudio C++ was not found" >&2;} echo "SunStudio C++ was not found" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "Darwin"; then if test "$CC" = "cc"; then - echo "$as_me:$LINENO: checking Macosx c++ Compiler" >&5 -echo $ECHO_N "checking Macosx c++ Compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Macosx c++ Compiler" >&5 +$as_echo_n "checking Macosx c++ Compiler... " >&6; } if test "$CXX" != "c++"; then - { echo "$as_me:$LINENO: WARNING: Macosx C++ was not found" >&5 -echo "$as_me: WARNING: Macosx C++ was not found" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Macosx C++ was not found" >&5 +$as_echo "$as_me: WARNING: Macosx C++ was not found" >&2;} echo "Macosx C++ was not found" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi fi if test "$_os" = "OSF1"; then - echo "$as_me:$LINENO: checking Compaq C++ compiler version" >&5 -echo $ECHO_N "checking Compaq C++ compiler version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Compaq C++ compiler version" >&5 +$as_echo_n "checking Compaq C++ compiler version... " >&6; } _compaqcxx_version=`$CXX -V 2>&1 | $AWK '{ print $3 }'` _compaqcxx_major=`echo $_compaqcxx_version | $AWK -F. '{ print $1 }'` if test "$_compaqcxx_major" != "V6"; then - { echo "$as_me:$LINENO: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 -echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&5 +$as_echo "$as_me: WARNING: found version \"$_compaqc_version\", use version 6 of the Compaq C++ compiler" >&2;} echo "found version $_compaqc_version, use version 6 of the Compaq C++ compiler" >> warn else - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } fi fi -echo "$as_me:$LINENO: checking exception type" >&5 -echo $ECHO_N "checking exception type... $ECHO_C" >&6 -ac_ext=cc +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking exception type" >&5 +$as_echo_n "checking exception type... " >&6; } +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -9510,11 +9581,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$WITH_MINGWIN" = "yes"; then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -9529,42 +9596,18 @@ _Unwind_SjLj_RaiseException() return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : exceptions_type="sjlj" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -exceptions_type="dwarf2" + exceptions_type="dwarf2" fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $exceptions_type" >&5 -echo "${ECHO_T}$exceptions_type" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $exceptions_type" >&5 +$as_echo "$exceptions_type" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9577,8 +9620,8 @@ EXCEPTIONS="$exceptions_type" if test "$_os" = "SunOS"; then _temp=`showrev -p | $AWK -F" " '{ print $2 }'` if test "$_os_release" = "7"; then - echo "$as_me:$LINENO: checking for patch 106327-06 or greater" >&5 -echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 106327-06 or greater" >&5 +$as_echo_n "checking for patch 106327-06 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106327-06/ { print "found" }'` _patch="false" for i in $_temp @@ -9592,15 +9635,15 @@ echo $ECHO_N "checking for patch 106327-06 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 -echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106327-06 not found, please install compiler patch 106327-06 or greater" >&2;} echo "patch 106327-06 not found, please install compiler patch 106327-06 or greater" >> warn fi - echo "$as_me:$LINENO: checking for patch 106950-11 or greater" >&5 -echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 106950-11 or greater" >&5 +$as_echo_n "checking for patch 106950-11 or greater... " >&6; } _patch=`echo $_temp | $AWK '/106950-11/ { print "found" }'` _patch="false" for i in $_temp @@ -9614,17 +9657,17 @@ echo $ECHO_N "checking for patch 106950-11 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 -echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&5 +$as_echo "$as_me: WARNING: patch 106950-11 not found, please install linker patch 106950-11 or greater" >&2;} echo "patch 106950-11 not found, please install linker patch 106950-11 or greater" >> warn fi else if test "$_os_release" = "6"; then - echo "$as_me:$LINENO: checking for patch 105591-09 or greater" >&5 -echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 105591-09 or greater" >&5 +$as_echo_n "checking for patch 105591-09 or greater... " >&6; } _patch=`echo $_temp | $AWK '/105591-09/ { print "found" }'` _patch="false" for i in $_temp @@ -9638,15 +9681,15 @@ echo $ECHO_N "checking for patch 105591-09 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 -echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&5 +$as_echo "$as_me: WARNING: patch 105591-09 not found, please install compiler patch 105591-09 or greater" >&2;} echo "patch 105591-09 not found, please install compiler patch 105591-09 or greater" >> warn fi - echo "$as_me:$LINENO: checking for patch 107733-08 or greater" >&5 -echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for patch 107733-08 or greater" >&5 +$as_echo_n "checking for patch 107733-08 or greater... " >&6; } _patch=`echo $_temp | $AWK '/107733-08/ { print "found" }'` _patch="false" for i in $_temp @@ -9660,19 +9703,19 @@ echo $ECHO_N "checking for patch 107733-08 or greater... $ECHO_C" >&6 fi done if test "$_patch" = "found"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { echo "$as_me:$LINENO: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 -echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&5 +$as_echo "$as_me: WARNING: patch 107733-06 not found, please install linker patch 107733-08 or greater" >&2;} echo "patch 107733-06 not found, please install linker patch 107733-08 or greater" >> warn fi fi fi fi - echo "$as_me:$LINENO: checking what the default STL should be" >&5 -echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what the default STL should be" >&5 +$as_echo_n "checking what the default STL should be... " >&6; } DEFAULT_TO_STLPORT="no" if test "$_os" = "Linux"; then case "$build_cpu" in @@ -9693,134 +9736,100 @@ echo $ECHO_N "checking what the default STL should be... $ECHO_C" >&6 DEFAULT_TO_STLPORT="yes" fi if test "$DEFAULT_TO_STLPORT" = "yes"; then - echo "$as_me:$LINENO: result: stlport" >&5 -echo "${ECHO_T}stlport" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: stlport" >&5 +$as_echo "stlport" >&6; } else - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5 +$as_echo "system" >&6; } fi if test "$WITH_STLPORT" = "auto"; then WITH_STLPORT=$DEFAULT_TO_STLPORT fi - echo "$as_me:$LINENO: checking for STL providing headers" >&5 -echo $ECHO_N "checking for STL providing headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STL providing headers" >&5 +$as_echo_n "checking for STL providing headers... " >&6; } STLPORT4="" USE_SYSTEM_STL="" if test "$WITH_STLPORT" = "yes"; then - echo "$as_me:$LINENO: result: using internal stlport." >&5 -echo "${ECHO_T}using internal stlport." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using internal stlport." >&5 +$as_echo "using internal stlport." >&6; } if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi elif test "$WITH_STLPORT" = "no"; then - echo "$as_me:$LINENO: result: using system STL" >&5 -echo "${ECHO_T}using system STL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using system STL" >&5 +$as_echo "using system STL" >&6; } USE_SYSTEM_STL="YES" if test "$DEFAULT_TO_STLPORT" != "no"; then - { echo "$as_me:$LINENO: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using system STL. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using system STL. Warning, breaks your ABI compatability!" >&2;} echo "using system STL. Warning, breaks your ABI compatability!" >>warn fi else STLPORT4=$WITH_STLPORT if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $STLPORT4/stlport/hash_map _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 +if ac_fn_c_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport headers not found." "$LINENO" 5 fi rm -f conftest.err conftest.$ac_ext else if test -f "$STLPORT4/stlport/hash_map"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - { { echo "$as_me:$LINENO: error: STLport headers not found." >&5 -echo "$as_me: error: STLport headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport headers not found." "$LINENO" 5 fi fi if test "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes"; then - echo "$as_me:$LINENO: checking for STLport libraries" >&5 -echo $ECHO_N "checking for STLport libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STLport libraries" >&5 +$as_echo_n "checking for STLport libraries... " >&6; } if test "$_os" = "SunOS"; then if test -f "$STLPORT4/lib/libstlport_sunpro.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi elif test "$_os" = "Darwin"; then if test -f "$STLPORT4/lib/libstlport_gcc.dylib"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.dylib"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi else if test -f "$STLPORT4/lib/libstlport_gcc.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } elif test -f "$STLPORT4/lib/libstlport.so"; then - echo "$as_me:$LINENO: result: checked" >&5 -echo "${ECHO_T}checked" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked" >&5 +$as_echo "checked" >&6; } STLPORT_VER=500 else - { { echo "$as_me:$LINENO: error: STLport libraries not found" >&5 -echo "$as_me: error: STLport libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "STLport libraries not found" "$LINENO" 5 fi fi fi if test "$DEFAULT_TO_STLPORT" != "yes"; then - { echo "$as_me:$LINENO: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 -echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using stlport. Warning, breaks your ABI compatability!" >&5 +$as_echo "$as_me: WARNING: using stlport. Warning, breaks your ABI compatability!" >&2;} echo "using stlport. Warning, breaks your ABI compatability!" >>warn fi fi @@ -9836,15 +9845,11 @@ fi if test "$GCC" = "yes"; then - echo "$as_me:$LINENO: checking whether $CC supports -fvisibility=hidden" >&5 -echo $ECHO_N "checking whether $CC supports -fvisibility=hidden... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fvisibility=hidden" >&5 +$as_echo_n "checking whether $CC supports -fvisibility=hidden... " >&6; } save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -fvisibility=hidden" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9855,72 +9860,47 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : HAVE_GCC_VISIBILITY_FEATURE=TRUE -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$save_CFLAGS if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi # =================================================================== # use --ccache-skip? # =================================================================== -echo "$as_me:$LINENO: checking whether we are allowed and able to use --ccache-skip" >&5 -echo $ECHO_N "checking whether we are allowed and able to use --ccache-skip... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are allowed and able to use --ccache-skip" >&5 +$as_echo_n "checking whether we are allowed and able to use --ccache-skip... " >&6; } if test "$_os" != "Darwin" ; then - echo "$as_me:$LINENO: result: only used on Mac currently, skipping" >&5 -echo "${ECHO_T}only used on Mac currently, skipping" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: only used on Mac currently, skipping" >&5 +$as_echo "only used on Mac currently, skipping" >&6; } elif test "$enable_ccache_skip" = "no" ; then - echo "$as_me:$LINENO: result: no - diabled explicitly" >&5 -echo "${ECHO_T}no - diabled explicitly" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no - diabled explicitly" >&5 +$as_echo "no - diabled explicitly" >&6; } elif test "$enable_ccache_skip" = "yes" ; then - echo "$as_me:$LINENO: result: yes - enabled explicitly, skipping checks" >&5 -echo "${ECHO_T}yes - enabled explicitly, skipping checks" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - enabled explicitly, skipping checks" >&5 +$as_echo "yes - enabled explicitly, skipping checks" >&6; } USE_CCACHE=YES elif test "$enable_ccache_skip" = "auto" ; then # checking for ccache presence/version - echo "$as_me:$LINENO: result: probing..." >&5 -echo "${ECHO_T}probing..." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: probing..." >&5 +$as_echo "probing..." >&6; } # Extract the first word of "ccache", so it can be a program name with args. set dummy ccache; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CCACHE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CCACHE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CCACHE in [\\/]* | ?:[\\/]*) @@ -9932,43 +9912,44 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CCACHE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_CCACHE" && ac_cv_path_CCACHE="not_found" ;; esac fi CCACHE=$ac_cv_path_CCACHE - if test -n "$CCACHE"; then - echo "$as_me:$LINENO: result: $CCACHE" >&5 -echo "${ECHO_T}$CCACHE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCACHE" >&5 +$as_echo "$CCACHE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$CCACHE" = "not_found" ; then - { echo "$as_me:$LINENO: not enabling --ccache-skip (ccache not found)" >&5 -echo "$as_me: not enabling --ccache-skip (ccache not found)" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: not enabling --ccache-skip (ccache not found)" >&5 +$as_echo "$as_me: not enabling --ccache-skip (ccache not found)" >&6;} else # check ccache version - echo "$as_me:$LINENO: checking whether version of ccache is suitable" >&5 -echo $ECHO_N "checking whether version of ccache is suitable... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether version of ccache is suitable" >&5 +$as_echo_n "checking whether version of ccache is suitable... " >&6; } CCACHE_VERSION=`"$CCACHE" -V | "$AWK" '/^ccache version/{print $3}'` if test "$CCACHE_VERSION" = "2.4_OOo"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking whether ccache is actually used for the build" >&5 -echo $ECHO_N "checking whether ccache is actually used for the build... $ECHO_C" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ccache is actually used for the build" >&5 +$as_echo_n "checking whether ccache is actually used for the build... " >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -9976,11 +9957,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS --ccache-skip -O2" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -9991,44 +9968,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : use_ccache=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -use_ccache=no + use_ccache=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $use_ccache = yes ; then - echo "$as_me:$LINENO: result: yes, will enable --ccache-skip" >&5 -echo "${ECHO_T}yes, will enable --ccache-skip" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, will enable --ccache-skip" >&5 +$as_echo "yes, will enable --ccache-skip" >&6; } USE_CCACHE=YES else - echo "$as_me:$LINENO: result: no, will not enable --ccache-skip" >&5 -echo "${ECHO_T}no, will not enable --ccache-skip" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, will not enable --ccache-skip" >&5 +$as_echo "no, will not enable --ccache-skip" >&6; } fi CXXFLAGS=$save_CXXFLAGS ac_ext=c @@ -10038,33 +9991,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { echo "$as_me:$LINENO: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&5 -echo "$as_me: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&5 +$as_echo "$as_me: ccache version $CCACHE_VERSION not accepted. See description for --enable-ccache-skip" >&6;} fi fi else - { { echo "$as_me:$LINENO: error: invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" >&5 -echo "$as_me: error: invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "invalid option to --enable-ccache-skip. Valid values are \"auto\", \"yes\" and \"no\"" "$LINENO" 5 fi if test "$USE_SYSTEM_STL" = "YES"; then - echo "$as_me:$LINENO: checking if hash_map will be in __gnu_cxx namespace" >&5 -echo $ECHO_N "checking if hash_map will be in __gnu_cxx namespace... $ECHO_C" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if hash_map will be in __gnu_cxx namespace" >&5 +$as_echo_n "checking if hash_map will be in __gnu_cxx namespace... " >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using namespace __gnu_cxx; @@ -10077,72 +10024,42 @@ hash_map t; return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_cxx_have_ext_hash_map=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_cxx_have_ext_hash_map=no + ac_cv_cxx_have_ext_hash_map=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_cxx_have_ext_hash_map" = "no"; then - { { echo "$as_me:$LINENO: error: Can't find hash_map. Try with --with-stlport" >&5 -echo "$as_me: error: Can't find hash_map. Try with --with-stlport" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Can't find hash_map. Try with --with-stlport" "$LINENO" 5 else - echo "$as_me:$LINENO: result: $ac_cv_cxx_have_ext_hash_map" >&5 -echo "${ECHO_T}$ac_cv_cxx_have_ext_hash_map" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_ext_hash_map" >&5 +$as_echo "$ac_cv_cxx_have_ext_hash_map" >&6; } fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: checking if STL headers are visibility safe" >&5 -echo $ECHO_N "checking if STL headers are visibility safe... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if STL headers are visibility safe" >&5 +$as_echo_n "checking if STL headers are visibility safe... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "visibility push" >/dev/null 2>&1; then + $EGREP "visibility push" >/dev/null 2>&1; then : stlvisok=yes else stlvisok=no fi rm -f conftest* - echo "$as_me:$LINENO: result: $stlvisok" >&5 -echo "${ECHO_T}$stlvisok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $stlvisok" >&5 +$as_echo "$stlvisok" >&6; } if test "$stlvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling visibility" >&2;} echo "Your gcc STL headers are not visibility safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10152,13 +10069,9 @@ echo "$as_me: WARNING: Your gcc STL headers are not visibility safe. Disabling v sharedlink_ldflags_save=$LDFLAGS LDFLAGS="$LDFLAGS -fvisibility-inlines-hidden -fpic -shared" - echo "$as_me:$LINENO: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 -echo $ECHO_N "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc is -fvisibility-inlines-hidden safe with STL headers" >&5 +$as_echo_n "checking if gcc is -fvisibility-inlines-hidden safe with STL headers... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include using namespace std; @@ -10171,43 +10084,19 @@ istringstream strm( "test" ); return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : $EGREP -q unresolvable conftest.err; if test $? -eq 0; then gccvisok=no; else gccvisok=yes; fi else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -gccvisok=no + gccvisok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $gccvisok" >&5 -echo "${ECHO_T}$gccvisok" >&6 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gccvisok" >&5 +$as_echo "$gccvisok" >&6; } if test "$gccvisok" = "no"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility-inlines-hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10216,8 +10105,8 @@ echo "$as_me: WARNING: Your gcc is not -fvisibility-inlines-hidden safe. Disabli fi if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then - echo "$as_me:$LINENO: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 -echo $ECHO_N "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)" >&5 +$as_echo_n "checking if gcc has a visibility bug with class-level attributes (GCC bug 26905)... " >&6; } cat >visibility.cxx <<_ACEOF #pragma GCC visibility push(hidden) struct __attribute__ ((visibility ("default"))) TestStruct { @@ -10245,11 +10134,11 @@ _ACEOF fi rm -f visibility.s - echo "$as_me:$LINENO: result: $gccvisbroken" >&5 -echo "${ECHO_T}$gccvisbroken" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gccvisbroken" >&5 +$as_echo "$gccvisbroken" >&6; } if test "$gccvisbroken" = "yes"; then - { echo "$as_me:$LINENO: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 -echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&5 +$as_echo "$as_me: WARNING: Your gcc is not -fvisibility=hidden safe. Disabling visibility" >&2;} echo "Your gcc is not -fvisibility=hidden safe. Disabling visibility" >> warn unset HAVE_GCC_VISIBILITY_FEATURE fi @@ -10265,112 +10154,20 @@ fi -echo "$as_me:$LINENO: checking which memory allocator to use" >&5 -echo $ECHO_N "checking which memory allocator to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which memory allocator to use" >&5 +$as_echo_n "checking which memory allocator to use... " >&6; } if test "$with_alloc" = "system"; then - echo "$as_me:$LINENO: result: system" >&5 -echo "${ECHO_T}system" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: system" >&5 +$as_echo "system" >&6; } ALLOC="SYS_ALLOC"; - - - - -for ac_func in malloc realloc calloc free -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then + for ac_func in malloc realloc calloc free +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -10378,79 +10175,48 @@ done fi if test "$with_alloc" = "tcmalloc"; then - echo "$as_me:$LINENO: result: tcmalloc" >&5 -echo "${ECHO_T}tcmalloc" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: tcmalloc" >&5 +$as_echo "tcmalloc" >&6; } if ! echo $build_cpu | grep -E 'i[3456]86' 2>/dev/null >/dev/null; then - { { echo "$as_me:$LINENO: error: tcmalloc only available/usable on ix86" >&5 -echo "$as_me: error: tcmalloc only available/usable on ix86" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "tcmalloc only available/usable on ix86" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for malloc in -ltcmalloc" >&5 -echo $ECHO_N "checking for malloc in -ltcmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_tcmalloc_malloc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for malloc in -ltcmalloc" >&5 +$as_echo_n "checking for malloc in -ltcmalloc... " >&6; } +if test "${ac_cv_lib_tcmalloc_malloc+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltcmalloc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char malloc (); int main () { -malloc (); +return malloc (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_tcmalloc_malloc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_tcmalloc_malloc=no + ac_cv_lib_tcmalloc_malloc=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_tcmalloc_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_tcmalloc_malloc" >&6 -if test $ac_cv_lib_tcmalloc_malloc = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tcmalloc_malloc" >&5 +$as_echo "$ac_cv_lib_tcmalloc_malloc" >&6; } +if test "x$ac_cv_lib_tcmalloc_malloc" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBTCMALLOC 1 _ACEOF @@ -10458,46 +10224,44 @@ _ACEOF LIBS="-ltcmalloc $LIBS" else - { { echo "$as_me:$LINENO: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&5 -echo "$as_me: error: tcmalloc not found or functional. Install the Google Profiling Tools" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "tcmalloc not found or functional. Install the Google Profiling Tools" "$LINENO" 5 fi ALLOC="TCMALLOC"; fi if test "$with_alloc" = "internal" -o -z "$with_alloc"; then - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } fi -echo "$as_me:$LINENO: checking whether to add custom build version" >&5 -echo $ECHO_N "checking whether to add custom build version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to add custom build version" >&5 +$as_echo_n "checking whether to add custom build version... " >&6; } if test "z$with_build_version" != "z"; then BUILD_VER_STRING=$with_build_version - echo "$as_me:$LINENO: result: yes, $BUILD_VER_STRING" >&5 -echo "${ECHO_T}yes, $BUILD_VER_STRING" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $BUILD_VER_STRING" >&5 +$as_echo "yes, $BUILD_VER_STRING" >&6; } else BUILD_VER_STRING= - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build with Java support" >&5 -echo $ECHO_N "checking whether to build with Java support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with Java support" >&5 +$as_echo_n "checking whether to build with Java support... " >&6; } if test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SOLAR_JAVA="TRUE" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SOLAR_JAVA="" - { echo "$as_me:$LINENO: WARNING: building without java will mean some features will not be available" >&5 -echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: building without java will mean some features will not be available" >&5 +$as_echo "$as_me: WARNING: building without java will mean some features will not be available" >&2;} echo "building without java will mean some features will not be available" >>warn fi @@ -10524,10 +10288,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$WITH_JAVA", so it can be a program name with args. set dummy $WITH_JAVA; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVAINTERPRETER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVAINTERPRETER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVAINTERPRETER in [\\/]* | ?:[\\/]*) @@ -10539,36 +10303,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAINTERPRETER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVAINTERPRETER=$ac_cv_path_JAVAINTERPRETER - if test -n "$JAVAINTERPRETER"; then - echo "$as_me:$LINENO: result: $JAVAINTERPRETER" >&5 -echo "${ECHO_T}$JAVAINTERPRETER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAINTERPRETER" >&5 +$as_echo "$JAVAINTERPRETER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _java_path="$with_jdk_home/bin/$WITH_JAVA" if test -x "$_java_path"; then JAVAINTERPRETER=$_java_path else - { { echo "$as_me:$LINENO: error: $_java_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_java_path not found set with_jdk_home" "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then @@ -10578,28 +10341,26 @@ echo "$as_me: error: $_java_path not found set with_jdk_home" >&2;} JAVAINTERPRETER=`cygpath -d "$JAVAINTERPRETER"` JAVAINTERPRETER=`cygpath -u "$JAVAINTERPRETER"` elif test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking whether to pass -d32 to Java interpreter" >&5 -echo $ECHO_N "checking whether to pass -d32 to Java interpreter... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to pass -d32 to Java interpreter" >&5 +$as_echo_n "checking whether to pass -d32 to Java interpreter... " >&6; } if "$JAVAINTERPRETER" -d32 >&5 2>&5; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } JAVAIFLAGS=-d32 else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi fi if test "$SOLAR_JAVA" != ""; then _gij_longver=0 - echo "$as_me:$LINENO: checking the installed JDK" >&5 -echo $ECHO_N "checking the installed JDK... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the installed JDK" >&5 +$as_echo_n "checking the installed JDK... " >&6; } if test -n "$JAVAINTERPRETER"; then if test `$JAVAINTERPRETER -version 2>&1 | grep -c "Kaffe"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No valid check available. Please check the block for your desired java in configure.in" "$LINENO" 5 # dnl Kaffe specific tests # KAFFE_VER=`$JAVAINTERPRETER -version 2>&1 | $EGREP " Version:" | $SED -r "s/.* Version: ([[0-9\.]]*).*/\1/"` # if test -z "$KAFFE_VER"; then @@ -10619,15 +10380,13 @@ echo "$as_me: error: No valid check available. Please check the block for your d # JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` elif test `$JAVAINTERPRETER --version 2>&1 | grep -c "GNU libgcj"` -gt 0; then JDK=gcj - echo "$as_me:$LINENO: result: checked (gcj)" >&5 -echo "${ECHO_T}checked (gcj)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (gcj)" >&5 +$as_echo "checked (gcj)" >&6; } _gij_version=`$JAVAINTERPRETER --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _gij_longver=`echo $_gij_version | $AWK -F. '{ print \$1*10000+\$2*100+\$3 }'` elif test `$JAVAINTERPRETER -version 2>&1 | awk '{ print }' | grep -c "BEA"` -gt 0; then - { { echo "$as_me:$LINENO: error: No valid check available. Please check the block for your desired java in configure.in" >&5 -echo "$as_me: error: No valid check available. Please check the block for your desired java in configure.in" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No valid check available. Please check the block for your desired java in configure.in" "$LINENO" 5 # JDK=bea # # dnl BEA JDK specific tests @@ -10657,20 +10416,15 @@ echo "$as_me: error: No valid check available. Please check the block for your d _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then - { { echo "$as_me:$LINENO: error: IBM JDK is too old, you need at least 1.5" >&5 -echo "$as_me: error: IBM JDK is too old, you need at least 1.5" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "IBM JDK is too old, you need at least 1.5" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (IBM JDK $_jdk)" >&5 -echo "${ECHO_T}checked (IBM JDK $_jdk)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (IBM JDK $_jdk)" >&5 +$as_echo "checked (IBM JDK $_jdk)" >&6; } if test "$with_jdk_home" = ""; then - { { echo "$as_me:$LINENO: error: In order to successfully build OpenOffice.org using the IBM JDK, -you must use the \"--with-jdk-home\" configure option explicitly" >&5 -echo "$as_me: error: In order to successfully build OpenOffice.org using the IBM JDK, -you must use the \"--with-jdk-home\" configure option explicitly" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "In order to successfully build OpenOffice.org using the IBM JDK, +you must use the \"--with-jdk-home\" configure option explicitly" "$LINENO" 5 fi JAVA_HOME=$with_jdk_home @@ -10682,12 +10436,10 @@ you must use the \"--with-jdk-home\" configure option explicitly" >&2;} _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'` if test "$_jdk_ver" -lt 10500; then - { { echo "$as_me:$LINENO: error: JDK is too old, you need at least 1.5" >&5 -echo "$as_me: error: JDK is too old, you need at least 1.5" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "JDK is too old, you need at least 1.5" "$LINENO" 5 fi - echo "$as_me:$LINENO: result: checked (JDK $_jdk)" >&5 -echo "${ECHO_T}checked (JDK $_jdk)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (JDK $_jdk)" >&5 +$as_echo "checked (JDK $_jdk)" >&6; } JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"` if test "$_os" = "WINNT"; then JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[eE][xX][eE]$,,"` @@ -10697,9 +10449,7 @@ echo "${ECHO_T}checked (JDK $_jdk)" >&6 fi fi else - { { echo "$as_me:$LINENO: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&5 -echo "$as_me: error: JAVA not found. You need at least jdk-1.5, or gcj-4" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "JAVA not found. You need at least jdk-1.5, or gcj-4" "$LINENO" 5 fi else JAVA_HOME=NO_JAVA_HOME ; export JAVA_HOME @@ -10719,10 +10469,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "$javacompiler", so it can be a program name with args. set dummy $javacompiler; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVACOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVACOMPILER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVACOMPILER in [\\/]* | ?:[\\/]*) @@ -10734,28 +10484,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVACOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVACOMPILER=$ac_cv_path_JAVACOMPILER - if test -n "$JAVACOMPILER"; then - echo "$as_me:$LINENO: result: $JAVACOMPILER" >&5 -echo "${ECHO_T}$JAVACOMPILER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVACOMPILER" >&5 +$as_echo "$JAVACOMPILER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _javac_path="$with_jdk_home/bin/$javacompiler" if test -x "$_javac_path"; then @@ -10763,9 +10514,7 @@ fi fi fi if test -z "$JAVACOMPILER"; then - { { echo "$as_me:$LINENO: error: $javacompiler not found set with_jdk_home" >&5 -echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$javacompiler not found set with_jdk_home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test x`echo "$JAVACOMPILER" | grep -i '\.exe$'` = x; then @@ -10781,11 +10530,11 @@ echo "$as_me: error: $javacompiler not found set with_jdk_home" >&2;} fi if test `$JAVACOMPILER -version 2>&1 | grep -c "Eclipse Java Compiler"` -gt 0; then - echo "$as_me:$LINENO: checking re-checking JDK" >&5 -echo $ECHO_N "checking re-checking JDK... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking re-checking JDK" >&5 +$as_echo_n "checking re-checking JDK... " >&6; } JDK=gcj - echo "$as_me:$LINENO: result: checked (ecj)" >&5 -echo "${ECHO_T}checked (ecj)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked (ecj)" >&5 +$as_echo "checked (ecj)" >&6; } #TODO: what's to do here? some switch to do 1.5 compiling? JAVAFLAGS="-source 1.5 -target 1.5" _gij_longver="40200" @@ -10804,10 +10553,10 @@ if test "$SOLAR_JAVA" != ""; then if test -z "$with_jdk_home"; then # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVADOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -10819,28 +10568,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + else _javadoc_path="$with_jdk_home/bin/javadoc" if test "$_os" = "OS2"; then @@ -10853,10 +10603,10 @@ fi else # Extract the first word of "javadoc", so it can be a program name with args. set dummy javadoc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVADOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVADOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVADOC in [\\/]* | ?:[\\/]*) @@ -10868,34 +10618,33 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVADOC=$ac_cv_path_JAVADOC - if test -n "$JAVADOC"; then - echo "$as_me:$LINENO: result: $JAVADOC" >&5 -echo "${ECHO_T}$JAVADOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi fi if test -z "$JAVADOC"; then - { { echo "$as_me:$LINENO: error: $_javadoc_path not found set with_jdk_home" >&5 -echo "$as_me: error: $_javadoc_path not found set with_jdk_home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_javadoc_path not found set with_jdk_home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test x`echo "$JAVADOC" | grep -i '\.exe$'` = x; then @@ -10927,37 +10676,33 @@ class findhome } } _ACEOF - echo "$as_me:$LINENO: checking if javac works" >&5 -echo $ECHO_N "checking if javac works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if javac works" >&5 +$as_echo_n "checking if javac works... " >&6; } javac_cmd="$JAVACOMPILER findhome.java 1>&2" - { (eval echo "$as_me:$LINENO: \"$javac_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$javac_cmd\""; } >&5 (eval $javac_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./findhome.class ; then - echo "$as_me:$LINENO: result: javac works" >&5 -echo "${ECHO_T}javac works" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: javac works" >&5 +$as_echo "javac works" >&6; } else echo "configure: javac test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: javac does not work - java projects will not build!" >&5 -echo "$as_me: error: javac does not work - java projects will not build!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "javac does not work - java projects will not build!" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking if gij knows its java.home" >&5 -echo $ECHO_N "checking if gij knows its java.home... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gij knows its java.home" >&5 +$as_echo_n "checking if gij knows its java.home... " >&6; } JAVA_HOME=`$JAVAINTERPRETER findhome` if test $? = 0 && test "$JAVA_HOME" != "" ; then - echo "$as_me:$LINENO: result: $JAVA_HOME" >&5 -echo "${ECHO_T}$JAVA_HOME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_HOME" >&5 +$as_echo "$JAVA_HOME" >&6; } else echo "configure: java test failed" >&5 cat findhome.java >&5 - { { echo "$as_me:$LINENO: error: gij does not know its java.home - use --with-jdk-home" >&5 -echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gij does not know its java.home - use --with-jdk-home" "$LINENO" 5 fi else JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*$WITH_JAVA,,p"` @@ -10979,10 +10724,10 @@ echo "$as_me: error: gij does not know its java.home - use --with-jdk-home" >&2; JAVA_HOME=$(readlink $JAVACOMPILER) else # else warn - { echo "$as_me:$LINENO: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 -echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} - { echo "$as_me:$LINENO: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 -echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME is set to /usr - this is very likely to be incorrect" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&5 +$as_echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >&2;} echo "JAVA_HOME is set to /usr - this is very likely to be incorrect" >> warn echo "if this is the case, please inform the correct JAVA_HOME with --with-jdk-home" >> warn fi @@ -11004,12 +10749,12 @@ echo "$as_me: WARNING: if this is the case, please inform the correct JAVA_HOME JAVA_HOME_OK="NO" fi if test "$JAVA_HOME_OK" = "NO"; then - { echo "$as_me:$LINENO: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 -echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} - { echo "$as_me:$LINENO: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 -echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} - { echo "$as_me:$LINENO: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 -echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&5 +$as_echo "$as_me: WARNING: JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&5 +$as_echo "$as_me: WARNING: attempted to find JAVA_HOME automatically, but apparently it failed" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&5 +$as_echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >&2;} echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn @@ -11022,524 +10767,164 @@ fi AWTLIB= if test "$SOLAR_JAVA" != ""; then - echo "$as_me:$LINENO: checking for jawt lib name" >&5 -echo $ECHO_N "checking for jawt lib name... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jawt lib name" >&5 +$as_echo_n "checking for jawt lib name... " >&6; } if test "$JDK" = "gcj"; then save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS -I$JAVA_HOME/include" LDFLAGS="$LDFLAGS -L$JAVA_HOME/lib -lgcj" exec 6>/dev/null # no output - if test "${ac_cv_header_jni_h+set}" = set; then - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default" +if test "x$ac_cv_header_jni_h" = x""yes; then : -# Is the header present? -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jni_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 - -fi -if test $ac_cv_header_jni_h = yes; then - : else - { { echo "$as_me:$LINENO: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&5 -echo "$as_me: error: jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jni.h could not be found. Mismatch between gcc and libgcj or libgcj-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lgcjawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lgcjawt... $ECHO_C" >&6 -if test "${ac_cv_lib_gcjawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -lgcjawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lgcjawt... " >&6; } +if test "${ac_cv_lib_gcjawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgcjawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gcjawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_gcjawt_JAWT_GetAWT=no + ac_cv_lib_gcjawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_gcjawt_JAWT_GetAWT = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gcjawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_gcjawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_gcjawt_JAWT_GetAWT" = x""yes; then : AWTLIB="-lgcjawt -lgcj" fi exec 6>&1 # output on again CFLAGS=$save_CFLAGS - LDFLAGS=$save_LDFLAGS - fi - # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols. - # A workaround is to link also against libpmawt.so - if test "$JDK" = "ibm" ; then - save_CFLAGS=$CFLAGS - save_LDFLAGS=$LDFLAGS - save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH - CFLAGS="$CFLAGS -I$JAVA_HOME/include" - LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin" - LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH - export LD_LIBRARY_PATH - exec 6>/dev/null # no output - if test "${ac_cv_header_jni_h+set}" = set; then - echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jni.h usability" >&5 -echo $ECHO_N "checking jni.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking jni.h presence" >&5 -echo $ECHO_N "checking jni.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jni.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jni.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jni.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jni.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jni.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jni.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jni.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jni.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jni.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jni.h" >&5 -echo $ECHO_N "checking for jni.h... $ECHO_C" >&6 -if test "${ac_cv_header_jni_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jni_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jni_h" >&5 -echo "${ECHO_T}$ac_cv_header_jni_h" >&6 + LDFLAGS=$save_LDFLAGS + fi + # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols. + # A workaround is to link also against libpmawt.so + if test "$JDK" = "ibm" ; then + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH + CFLAGS="$CFLAGS -I$JAVA_HOME/include" + LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin" + LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + exec 6>/dev/null # no output + ac_fn_c_check_header_mongrel "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default" +if test "x$ac_cv_header_jni_h" = x""yes; then : -fi -if test $ac_cv_header_jni_h = yes; then - : else - { { echo "$as_me:$LINENO: error: jni.h could not be found." >&5 -echo "$as_me: error: jni.h could not be found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jni.h could not be found." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -ljawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -ljawt... $ECHO_C" >&6 -if test "${ac_cv_lib_jawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -ljawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -ljawt... " >&6; } +if test "${ac_cv_lib_jawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_jawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_jawt_JAWT_GetAWT=no + ac_cv_lib_jawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_jawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_jawt_JAWT_GetAWT = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_jawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_jawt_JAWT_GetAWT" = x""yes; then : AWTLIB="-ljawt" fi if test -z "$AWTLIB"; then LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt" - echo "$as_me:$LINENO: checking for JAWT_GetAWT in -lmawt" >&5 -echo $ECHO_N "checking for JAWT_GetAWT in -lmawt... $ECHO_C" >&6 -if test "${ac_cv_lib_mawt_JAWT_GetAWT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAWT_GetAWT in -lmawt" >&5 +$as_echo_n "checking for JAWT_GetAWT in -lmawt... " >&6; } +if test "${ac_cv_lib_mawt_JAWT_GetAWT+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmawt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char JAWT_GetAWT (); int main () { -JAWT_GetAWT (); +return JAWT_GetAWT (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mawt_JAWT_GetAWT=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mawt_JAWT_GetAWT=no + ac_cv_lib_mawt_JAWT_GetAWT=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 -echo "${ECHO_T}$ac_cv_lib_mawt_JAWT_GetAWT" >&6 -if test $ac_cv_lib_mawt_JAWT_GetAWT = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mawt_JAWT_GetAWT" >&5 +$as_echo "$ac_cv_lib_mawt_JAWT_GetAWT" >&6; } +if test "x$ac_cv_lib_mawt_JAWT_GetAWT" = x""yes; then : AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt" fi @@ -11552,24 +10937,24 @@ fi if test -z "$AWTLIB"; then AWTLIB=-ljawt fi - echo "$as_me:$LINENO: result: $AWTLIB" >&5 -echo "${ECHO_T}$AWTLIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWTLIB" >&5 +$as_echo "$AWTLIB" >&6; } fi if test "$SOLAR_JAVA" != ""; then - echo "$as_me:$LINENO: checking whether to enable gcj aot compilation" >&5 -echo $ECHO_N "checking whether to enable gcj aot compilation... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable gcj aot compilation" >&5 +$as_echo_n "checking whether to enable gcj aot compilation... " >&6; } if test -n "$enable_gcjaot" && test "$enable_gcjaot" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test `echo $WITH_JAVA | grep -c "gij"` -eq 0; then gcjaot="gcj" else gcjaot=`echo $WITH_JAVA | $SED -e "s/gij/gcj/g"` fi - echo "$as_me:$LINENO: result: $gcjaot" >&5 -echo "${ECHO_T}$gcjaot" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcjaot" >&5 +$as_echo "$gcjaot" >&6; } if test -n "$with_jdk_home"; then _javac_path="$with_jdk_home/bin/$gcjaot" if test -x "$_javac_path"; then @@ -11579,10 +10964,10 @@ echo "${ECHO_T}$gcjaot" >&6 if test -z "$JAVAAOTCOMPILER"; then # Extract the first word of "$gcjaot", so it can be a program name with args. set dummy $gcjaot; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_JAVAAOTCOMPILER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVAAOTCOMPILER+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $JAVAAOTCOMPILER in [\\/]* | ?:[\\/]*) @@ -11594,36 +10979,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_JAVAAOTCOMPILER="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi JAVAAOTCOMPILER=$ac_cv_path_JAVAAOTCOMPILER - if test -n "$JAVAAOTCOMPILER"; then - echo "$as_me:$LINENO: result: $JAVAAOTCOMPILER" >&5 -echo "${ECHO_T}$JAVAAOTCOMPILER" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAAOTCOMPILER" >&5 +$as_echo "$JAVAAOTCOMPILER" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$JAVAAOTCOMPILER"; then - { echo "$as_me:$LINENO: WARNING: $gcjaot not found, set with_jdk_home" >&5 -echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $gcjaot not found, set with_jdk_home" >&5 +$as_echo "$as_me: WARNING: $gcjaot not found, set with_jdk_home" >&2;} fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -11640,10 +11026,10 @@ fi # Extract the first word of "dmake", so it can be a program name with args. set dummy dmake; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_DMAKE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DMAKE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $DMAKE in [\\/]* | ?:[\\/]*) @@ -11655,35 +11041,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DMAKE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_DMAKE" && ac_cv_path_DMAKE="no" ;; esac fi DMAKE=$ac_cv_path_DMAKE - if test -n "$DMAKE"; then - echo "$as_me:$LINENO: result: $DMAKE" >&5 -echo "${ECHO_T}$DMAKE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DMAKE" >&5 +$as_echo "$DMAKE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DMAKE" = "no"; then BUILD_DMAKE=YES echo "dmake will be built on ./bootstrap" else - echo "$as_me:$LINENO: checking whether the found dmake is the right dmake" >&5 -echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the found dmake is the right dmake" >&5 +$as_echo_n "checking whether the found dmake is the right dmake... " >&6; } # we need to find out whether that dmake we found is "our" dmake # or the dmake from Sun's SunStudio Compiler which is something # different @@ -11692,48 +11079,48 @@ echo $ECHO_N "checking whether the found dmake is the right dmake... $ECHO_C" >& $DMAKE -V 2>/dev/null | grep 'dmake .* Version .*' >/dev/null if test $? -eq 0; then BUILD_DMAKE=NO - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking the dmake version" >&5 -echo $ECHO_N "checking the dmake version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the dmake version" >&5 +$as_echo_n "checking the dmake version... " >&6; } DMAKE_VERSION=`$DMAKE -V | $AWK '$3 == "Version" {print $4}'` if test "`echo $DMAKE_VERSION | cut -d'.' -f1`" -gt "4"; then - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } elif test "`echo $DMAKE_VERSION | cut -d'.' -f1`" = "4" && \ test "`echo $DMAKE_VERSION | cut -d'.' -f2`" -ge "11"; then - echo "$as_me:$LINENO: result: OK, >= 4.11" >&5 -echo "${ECHO_T}OK, >= 4.11" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 4.11" >&5 +$as_echo "OK, >= 4.11" >&6; } else - echo "$as_me:$LINENO: result: too old. >= 4.11 is needed" >&5 -echo "${ECHO_T}too old. >= 4.11 is needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: too old. >= 4.11 is needed" >&5 +$as_echo "too old. >= 4.11 is needed" >&6; } echo "A newer dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } echo "dmake will be built on ./bootstrap" BUILD_DMAKE=YES fi fi -echo "$as_me:$LINENO: checking whether to enable EPM for packing" >&5 -echo $ECHO_N "checking whether to enable EPM for packing... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable EPM for packing" >&5 +$as_echo_n "checking whether to enable EPM for packing... " >&6; } if test "$enable_epm" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" != "WINNT"; then if test -n "$with_epm"; then EPM=$with_epm else # Extract the first word of "epm", so it can be a program name with args. set dummy epm; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_EPM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_EPM+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $EPM in [\\/]* | ?:[\\/]*) @@ -11745,29 +11132,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_EPM="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_EPM" && ac_cv_path_EPM="no" ;; esac fi EPM=$ac_cv_path_EPM - if test -n "$EPM"; then - echo "$as_me:$LINENO: result: $EPM" >&5 -echo "${ECHO_T}$EPM" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EPM" >&5 +$as_echo "$EPM" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$EPM" = "no" || test "$EPM" = "internal"; then echo "EPM will be built." @@ -11775,44 +11163,38 @@ fi BUILD_TYPE="$BUILD_TYPE EPM" else # Gentoo has some epm which is something different... - echo "$as_me:$LINENO: checking whether the found epm is the right epm" >&5 -echo $ECHO_N "checking whether the found epm is the right epm... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the found epm is the right epm" >&5 +$as_echo_n "checking whether the found epm is the right epm... " >&6; } if $EPM | grep "ESP Package Manager" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&5 -echo "$as_me: error: no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. Install ESP Package Manager (www.easysw.com/epm) and/or specify the path to the right epm" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking epm version" >&5 -echo $ECHO_N "checking epm version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking epm version" >&5 +$as_echo_n "checking epm version... " >&6; } EPM_VERSION=`$EPM | grep 'ESP Package Manager' | cut -d' ' -f4 | $SED -e s/v//` if test "`echo $EPM_VERSION | cut -d'.' -f1`" -gt "3" || \ test "`echo $EPM_VERSION | cut -d'.' -f1`" -eq "3" -a "`echo $EPM_VERSION | cut -d'.' -f2`" -ge "7"; then - echo "$as_me:$LINENO: result: OK, >= 3.7" >&5 -echo "${ECHO_T}OK, >= 3.7" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK, >= 3.7" >&5 +$as_echo "OK, >= 3.7" >&6; } BUILD_EPM=NO if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking which PackageMaker EPM thinks to use" >&5 -echo $ECHO_N "checking which PackageMaker EPM thinks to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which PackageMaker EPM thinks to use" >&5 +$as_echo_n "checking which PackageMaker EPM thinks to use... " >&6; } _pm=`strings $EPM | grep PackageMaker | cut -d" " -f1` if test "$_pm" = "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker"; then - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_pm; PackageMaker expected in wrong path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" "$LINENO" 5 elif test "$_pm" = "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"; then - echo "$as_me:$LINENO: result: $_pm, ok" >&5 -echo "${ECHO_T}$_pm, ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_pm, ok" >&5 +$as_echo "$_pm, ok" >&6; } else # we never should get here, but go safe - { { echo "$as_me:$LINENO: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&5 -echo "$as_me: error: $_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$_pm; PackageMaker expected in unknown path. Either patch your epm with the right path (/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker) or use internal patched epm (--with-epm=internal)" "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: too old. epm >= 3.7 is required." >&5 -echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: too old. epm >= 3.7 is required." >&5 +$as_echo "too old. epm >= 3.7 is required." >&6; } echo "EPM will be built." BUILD_EPM=YES BUILD_TYPE="$BUILD_TYPE EPM" @@ -11821,8 +11203,8 @@ echo "${ECHO_T}too old. epm >= 3.7 is required." >&6 fi # test which package format to use - echo "$as_me:$LINENO: checking which package format to use" >&5 -echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which package format to use" >&5 +$as_echo_n "checking which package format to use... " >&6; } # defaults case "$_os" in @@ -11858,9 +11240,7 @@ echo $ECHO_N "checking which package format to use... $ECHO_C" >&6 # we never should get here since we check the arciecture/os at the beginning, # but go sure... *) - { { echo "$as_me:$LINENO: error: unknown system" >&5 -echo "$as_me: error: unknown system" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "unknown system" "$LINENO" 5 esac if test -n "$with_package_format"; then for i in $with_package_format; do @@ -11868,25 +11248,7 @@ echo "$as_me: error: unknown system" >&2;} aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi) ;; *) - { { echo "$as_me:$LINENO: error: unsupported format $i. Supported by EPM are: -aix - AIX software distribution -bsd - FreeBSD, NetBSD, or OpenBSD software distribution -depot or swinstall - HP-UX software distribution -deb - Debian software distribution -inst or tardist - IRIX software distribution -osx - MacOS X software distribution -pkg - Solaris software distribution -rpm - RedHat software distribution -setld - Tru64 (setld) software distribution -native - \"Native\" software distribution for the platform -portable - Portable software distribution -OOo additionally supports: -archive - .tar.gz or .zip -dmg - Mac OS X .dmg -installed - installation tree -msi - Windows .msi - " >&5 -echo "$as_me: error: unsupported format $i. Supported by EPM are: + as_fn_error "unsupported format $i. Supported by EPM are: aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution depot or swinstall - HP-UX software distribution @@ -11903,18 +11265,17 @@ archive - .tar.gz or .zip dmg - Mac OS X .dmg installed - installation tree msi - Windows .msi - " >&2;} - { (exit 1); exit 1; }; } + " "$LINENO" 5 ;; esac done PKGFORMAT="$with_package_format" fi - echo "$as_me:$LINENO: result: $PKGFORMAT" >&5 -echo "${ECHO_T}$PKGFORMAT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGFORMAT" >&5 +$as_echo "$PKGFORMAT" >&6; } if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then - echo "$as_me:$LINENO: checking for rpm" >&5 -echo $ECHO_N "checking for rpm... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpm" >&5 +$as_echo_n "checking for rpm... " >&6; } for a in "$RPM" rpmbuild rpm; do $a --usage >/dev/null 2> /dev/null if test $? -eq 0; then @@ -11929,22 +11290,20 @@ echo $ECHO_N "checking for rpm... $ECHO_C" >&6 fi done if test -z "$RPM" ; then - { { echo "$as_me:$LINENO: error: not found" >&5 -echo "$as_me: error: not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found" "$LINENO" 5 else RPM_PATH=`which $RPM` - echo "$as_me:$LINENO: result: $RPM_PATH" >&5 -echo "${ECHO_T}$RPM_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RPM_PATH" >&5 +$as_echo "$RPM_PATH" >&6; } fi fi if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then # Extract the first word of "dpkg", so it can be a program name with args. set dummy dpkg; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_DPKG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DPKG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $DPKG in [\\/]* | ?:[\\/]*) @@ -11956,81 +11315,76 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DPKG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_DPKG" && ac_cv_path_DPKG="no" ;; esac fi DPKG=$ac_cv_path_DPKG - if test -n "$DPKG"; then - echo "$as_me:$LINENO: result: $DPKG" >&5 -echo "${ECHO_T}$DPKG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DPKG" >&5 +$as_echo "$DPKG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$DPKG" = "no"; then - { { echo "$as_me:$LINENO: error: dpkg needed for deb creation. Install dpkg." >&5 -echo "$as_me: error: dpkg needed for deb creation. Install dpkg." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "dpkg needed for deb creation. Install dpkg." "$LINENO" 5 fi fi if echo "PKGFORMAT" | $EGREP osx 2>&1 >/dev/null; then if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking for PackageMaker availability" >&5 -echo $ECHO_N "checking for PackageMaker availability... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PackageMaker availability" >&5 +$as_echo_n "checking for PackageMaker availability... " >&6; } if ! test -x /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker; then - { { echo "$as_me:$LINENO: error: not installed. Please install Apples Dev Tools" >&5 -echo "$as_me: error: not installed. Please install Apples Dev Tools" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not installed. Please install Apples Dev Tools" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi else - { { echo "$as_me:$LINENO: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&5 -echo "$as_me: error: PackageMaker needed to build OSX packages and you are not on OSX..." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "PackageMaker needed to build OSX packages and you are not on OSX..." "$LINENO" 5 fi fi if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \ echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then if test "$EPM" != "no" && test "$EPM" != "internal"; then if test "`echo $EPM_VERSION | cut -d'.' -f1`" -lt "4"; then - echo "$as_me:$LINENO: checking whether epm is patched for OOos needs" >&5 -echo $ECHO_N "checking whether epm is patched for OOos needs... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether epm is patched for OOos needs" >&5 +$as_echo_n "checking whether epm is patched for OOos needs... " >&6; } if grep "Patched for OpenOffice.org" $EPM >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if echo "$PKGFORMAT" | grep -q rpm; then _pt="rpm" - { echo "$as_me:$LINENO: WARNING: the rpms will need to be installed with --nodeps" >&5 -echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the rpms will need to be installed with --nodeps" >&5 +$as_echo "$as_me: WARNING: the rpms will need to be installed with --nodeps" >&2;} echo "the rpms will need to be installed with --nodeps" >> warn else _pt="pkg" fi - { echo "$as_me:$LINENO: WARNING: the ${_pt}s will not be relocateable" >&5 -echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the ${_pt}s will not be relocateable" >&5 +$as_echo "$as_me: WARNING: the ${_pt}s will not be relocateable" >&2;} echo "the ${_pt}s will not be relocateable" >> warn - { echo "$as_me:$LINENO: WARNING: if you want to make sure installation without --nodeps and + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&5 -echo "$as_me: WARNING: if you want to make sure installation without --nodeps and +$as_echo "$as_me: WARNING: if you want to make sure installation without --nodeps and relocation will work, you need to patch your epm with the patch in epm/epm-3.7.patch or build with --with-epm=internal which will build a suitable epm" >&2;} @@ -12041,10 +11395,10 @@ echo "$as_me: WARNING: if you want to make sure installation without --nodeps an if echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then # Extract the first word of "pkgmk", so it can be a program name with args. set dummy pkgmk; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKGMK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKGMK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKGMK in [\\/]* | ?:[\\/]*) @@ -12056,33 +11410,32 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKGMK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKGMK" && ac_cv_path_PKGMK="no" ;; esac fi PKGMK=$ac_cv_path_PKGMK - if test -n "$PKGMK"; then - echo "$as_me:$LINENO: result: $PKGMK" >&5 -echo "${ECHO_T}$PKGMK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGMK" >&5 +$as_echo "$PKGMK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$PKGMK" = "no"; then - { { echo "$as_me:$LINENO: error: pkgmk needed for Solaris pkg creation. Install it." >&5 -echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "pkgmk needed for Solaris pkg creation. Install it." "$LINENO" 5 fi fi @@ -12091,18 +11444,18 @@ echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;} else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } EPM=NO fi # Extract the first word of "gperf", so it can be a program name with args. set dummy gperf; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GPERF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GPERF+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GPERF in [\\/]* | ?:[\\/]*) @@ -12114,82 +11467,74 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GPERF="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GPERF=$ac_cv_path_GPERF - if test -n "$GPERF"; then - echo "$as_me:$LINENO: result: $GPERF" >&5 -echo "${ECHO_T}$GPERF" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPERF" >&5 +$as_echo "$GPERF" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$GPERF"; then - { { echo "$as_me:$LINENO: error: gperf not found but needed. Install it." >&5 -echo "$as_me: error: gperf not found but needed. Install it." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gperf not found but needed. Install it." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking gperf version" >&5 -echo $ECHO_N "checking gperf version... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking gperf version" >&5 +$as_echo_n "checking gperf version... " >&6; } if test "`$GPERF --version | $EGREP ^GNU\ gperf | $AWK '{ print $3 }' | cut -d. -f1`" -ge "3"; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: too old, you need at least 3.0.0" >&5 -echo "$as_me: error: too old, you need at least 3.0.0" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old, you need at least 3.0.0" "$LINENO" 5 fi -echo "$as_me:$LINENO: checking whether to build the ODK" >&5 -echo $ECHO_N "checking whether to build the ODK... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ODK" >&5 +$as_echo_n "checking whether to build the ODK... " >&6; } if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: checking for external/unowinreg/unowinreg.dll" >&5 -echo $ECHO_N "checking for external/unowinreg/unowinreg.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for external/unowinreg/unowinreg.dll" >&5 +$as_echo_n "checking for external/unowinreg/unowinreg.dll... " >&6; } if ! test -f "./external/unowinreg/unowinreg.dll"; then HAVE_UNOWINREG_DLL=no else HAVE_UNOWINREG_DLL=yes fi if test "$HAVE_UNOWINREG_DLL" = "yes"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } BUILD_UNOWINREG=NO else if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: result: not found, will be built" >&5 -echo "${ECHO_T}not found, will be built" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, will be built" >&5 +$as_echo "not found, will be built" >&6; } else - { echo "$as_me:$LINENO: WARNING: not found, will be cross-built using mingw32" >&5 -echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: not found, will be cross-built using mingw32" >&5 +$as_echo "$as_me: WARNING: not found, will be cross-built using mingw32" >&2;} fi BUILD_UNOWINREG=YES fi if test "$_os" != "WINNT" && test "$BUILD_UNOWINREG" = "YES"; then if test -z "$WITH_MINGWIN" || test "$WITH_MINGWIN" = "0"; then - { { echo "$as_me:$LINENO: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. - Specify mingw32 g++ executable name with --with-mingwin. - Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and - put it into external/unowinreg" >&5 -echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compiler. + as_fn_error "for rebuilding unowinreg.dll you need the mingw32 C++ compiler. Specify mingw32 g++ executable name with --with-mingwin. Or use prebuilt one from http://tools.openoffice.org/unowinreg_prebuild/680/ and - put it into external/unowinreg" >&2;} - { (exit 1); exit 1; }; } + put it into external/unowinreg" "$LINENO" 5 fi if echo "$WITH_MINGWIN" | $EGREP -q "/"; then if ! test -x "$WITH_MINGWIN"; then MINGWCXX=false; else MINGWCXX=`basename $WITH_MINGWIN`; fi @@ -12197,10 +11542,10 @@ echo "$as_me: error: for rebuilding unowinreg.dll you need the mingw32 C++ compi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}$WITH_MINGWIN", so it can be a program name with args. set dummy ${ac_tool_prefix}$WITH_MINGWIN; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_MINGWCXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$MINGWCXX"; then ac_cv_prog_MINGWCXX="$MINGWCXX" # Let the user override the test. @@ -12210,35 +11555,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWCXX="${ac_tool_prefix}$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi MINGWCXX=$ac_cv_prog_MINGWCXX if test -n "$MINGWCXX"; then - echo "$as_me:$LINENO: result: $MINGWCXX" >&5 -echo "${ECHO_T}$MINGWCXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MINGWCXX" >&5 +$as_echo "$MINGWCXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWCXX"; then ac_ct_MINGWCXX=$MINGWCXX # Extract the first word of "$WITH_MINGWIN", so it can be a program name with args. set dummy $WITH_MINGWIN; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_MINGWCXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_MINGWCXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWCXX"; then ac_cv_prog_ac_ct_MINGWCXX="$ac_ct_MINGWCXX" # Let the user override the test. @@ -12248,47 +11595,53 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWCXX="$WITH_MINGWIN" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWCXX" && ac_cv_prog_ac_ct_MINGWCXX="false" fi fi ac_ct_MINGWCXX=$ac_cv_prog_ac_ct_MINGWCXX if test -n "$ac_ct_MINGWCXX"; then - echo "$as_me:$LINENO: result: $ac_ct_MINGWCXX" >&5 -echo "${ECHO_T}$ac_ct_MINGWCXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MINGWCXX" >&5 +$as_echo "$ac_ct_MINGWCXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - MINGWCXX=$ac_ct_MINGWCXX + if test "x$ac_ct_MINGWCXX" = x; then + MINGWCXX="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MINGWCXX=$ac_ct_MINGWCXX + fi else MINGWCXX="$ac_cv_prog_MINGWCXX" fi fi if test "$MINGWCXX" = "false"; then - { { echo "$as_me:$LINENO: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&5 -echo "$as_me: error: specified MinGW32 C++ cross-compiler not found. Install it or correct name." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "specified MinGW32 C++ cross-compiler not found. Install it or correct name." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether we are using the MinGW32 cross C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the MinGW32 cross C++ compiler... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the MinGW32 cross C++ compiler" >&5 +$as_echo_n "checking whether we are using the MinGW32 cross C++ compiler... " >&6; } if ! echo "`$MINGWCXX -dumpmachine`" | grep -q mingw32; then - { { echo "$as_me:$LINENO: error: no" >&5 -echo "$as_me: error: no" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi if echo "$WITH_MINGWIN" | $EGREP -q "/"; then if ! test -x "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`"; then MINGSTRIP=false; else MINGWSTRIP=$(basename $(echo $WITH_MINGWIN | $SED -e s/g++/strip/)); fi @@ -12296,10 +11649,10 @@ echo "${ECHO_T}yes" >&6 if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy ${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_MINGWSTRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$MINGWSTRIP"; then ac_cv_prog_MINGWSTRIP="$MINGWSTRIP" # Let the user override the test. @@ -12309,35 +11662,37 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MINGWSTRIP="${ac_tool_prefix}`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi MINGWSTRIP=$ac_cv_prog_MINGWSTRIP if test -n "$MINGWSTRIP"; then - echo "$as_me:$LINENO: result: $MINGWSTRIP" >&5 -echo "${ECHO_T}$MINGWSTRIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MINGWSTRIP" >&5 +$as_echo "$MINGWSTRIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$ac_cv_prog_MINGWSTRIP"; then ac_ct_MINGWSTRIP=$MINGWSTRIP # Extract the first word of "`echo $WITH_MINGWIN | $SED -e s/g++/strip/`", so it can be a program name with args. set dummy `echo $WITH_MINGWIN | $SED -e s/g++/strip/`; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_MINGWSTRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_MINGWSTRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MINGWSTRIP"; then ac_cv_prog_ac_ct_MINGWSTRIP="$ac_ct_MINGWSTRIP" # Let the user override the test. @@ -12347,39 +11702,47 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_MINGWSTRIP="`echo $WITH_MINGWIN | $SED -e s/g++/strip/`" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_MINGWSTRIP" && ac_cv_prog_ac_ct_MINGWSTRIP="false" fi fi ac_ct_MINGWSTRIP=$ac_cv_prog_ac_ct_MINGWSTRIP if test -n "$ac_ct_MINGWSTRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_MINGWSTRIP" >&5 -echo "${ECHO_T}$ac_ct_MINGWSTRIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MINGWSTRIP" >&5 +$as_echo "$ac_ct_MINGWSTRIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - MINGWSTRIP=$ac_ct_MINGWSTRIP + if test "x$ac_ct_MINGWSTRIP" = x; then + MINGWSTRIP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MINGWSTRIP=$ac_ct_MINGWSTRIP + fi else MINGWSTRIP="$ac_cv_prog_MINGWSTRIP" fi fi if test "$MINGWSTRIP" = "false"; then - { { echo "$as_me:$LINENO: error: MinGW32 binutils needed. Install them." >&5 -echo "$as_me: error: MinGW32 binutils needed. Install them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "MinGW32 binutils needed. Install them." "$LINENO" 5 fi - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -12397,66 +11760,37 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # do not make sense here (and 'd make the check fail) save_LIBS=$LIBS LIBS="" - -echo "$as_me:$LINENO: checking for main in -lkernel32" >&5 -echo $ECHO_N "checking for main in -lkernel32... $ECHO_C" >&6 -if test "${ac_cv_lib_kernel32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkernel32" >&5 +$as_echo_n "checking for main in -lkernel32... " >&6; } +if test "${ac_cv_lib_kernel32_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkernel32 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_kernel32_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_kernel32_main=no + ac_cv_lib_kernel32_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_kernel32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_kernel32_main" >&6 -if test $ac_cv_lib_kernel32_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kernel32_main" >&5 +$as_echo "$ac_cv_lib_kernel32_main" >&6; } +if test "x$ac_cv_lib_kernel32_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBKERNEL32 1 _ACEOF @@ -12466,66 +11800,37 @@ _ACEOF fi ac_cv_lib_kernel32=ac_cv_lib_kernel32_main - -echo "$as_me:$LINENO: checking for main in -ladvapi32" >&5 -echo $ECHO_N "checking for main in -ladvapi32... $ECHO_C" >&6 -if test "${ac_cv_lib_advapi32_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ladvapi32" >&5 +$as_echo_n "checking for main in -ladvapi32... " >&6; } +if test "${ac_cv_lib_advapi32_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ladvapi32 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_advapi32_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_advapi32_main=no + ac_cv_lib_advapi32_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_advapi32_main" >&5 -echo "${ECHO_T}$ac_cv_lib_advapi32_main" >&6 -if test $ac_cv_lib_advapi32_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_advapi32_main" >&5 +$as_echo "$ac_cv_lib_advapi32_main" >&6; } +if test "x$ac_cv_lib_advapi32_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBADVAPI32 1 _ACEOF @@ -12535,149 +11840,11 @@ _ACEOF fi ac_cv_lib_advapi32=ac_cv_lib_advapi32_main - if test "${ac_cv_header_windows_h+set}" = set; then - echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 -if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking windows.h usability" >&5 -echo $ECHO_N "checking windows.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking windows.h presence" >&5 -echo $ECHO_N "checking windows.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: windows.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: windows.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: windows.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: windows.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: windows.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: windows.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: windows.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: windows.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: windows.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for windows.h" >&5 -echo $ECHO_N "checking for windows.h... $ECHO_C" >&6 -if test "${ac_cv_header_windows_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_windows_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_windows_h" >&5 -echo "${ECHO_T}$ac_cv_header_windows_h" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" +if test "x$ac_cv_header_windows_h" = x""yes; then : -fi -if test $ac_cv_header_windows_h = yes; then - : else - { { echo "$as_me:$LINENO: error: windows.h missing" >&5 -echo "$as_me: error: windows.h missing" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "windows.h missing" "$LINENO" 5 fi @@ -12696,25 +11863,25 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi BUILD_TYPE="$BUILD_TYPE ODK" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } BUILD_UNOWINREG=NO fi -echo "$as_me:$LINENO: checking whether to build qadevOOo" >&5 -echo $ECHO_N "checking whether to build qadevOOo... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build qadevOOo" >&5 +$as_echo_n "checking whether to build qadevOOo... " >&6; } if test "z$enable_qadevooo" = "z" -o "$enable_qadevooo" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_QADEVOOO="YES" BUILD_TYPE="$BUILD_TYPE QADEVOOO" else BUILD_QADEVOOO="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -12722,28 +11889,28 @@ if test "$_os" = "Linux" -a -z "$with_system_stdlibs" -a -z "$with_system_libs"; if test -n "$checkforstdlibproblems"; then if test -f /etc/rpm/macros.prelink; then with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 +$as_echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn elif test "$GCC" = "yes" -a ! -e `$CC -print-file-name=libgcc_s.so.1`; then with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 +$as_echo "$as_me: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} echo "platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn fi fi fi -echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 -echo $ECHO_N "checking whether to provide libstdc++/libgcc_s in the installset... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to provide libstdc++/libgcc_s in the installset" >&5 +$as_echo_n "checking whether to provide libstdc++/libgcc_s in the installset... " >&6; } if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \ test "$with_system_stdlibs" != "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SYSTEM_STDLIBS=YES else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } SYSTEM_STDLIBS=NO fi @@ -12751,690 +11918,189 @@ fi if test "$_os" = "Darwin" && test "$with_system_zlib" != "no"; then with_system_zlib=yes fi -echo "$as_me:$LINENO: checking which zlib to use" >&5 -echo $ECHO_N "checking which zlib to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which zlib to use" >&5 +$as_echo_n "checking which zlib to use... " >&6; } if test -n "$with_system_zlib" -o -n "$with_system_libs" && \ test "$with_system_zlib" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ZLIB=YES - if test "${ac_cv_header_zlib_h+set}" = set; then - echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking zlib.h usability" >&5 -echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking zlib.h presence" >&5 -echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for zlib.h" >&5 -echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6 -if test "${ac_cv_header_zlib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_zlib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -echo "${ECHO_T}$ac_cv_header_zlib_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = x""yes; then : -fi -if test $ac_cv_header_zlib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: zlib.h not found. install zlib" >&5 -echo "$as_me: error: zlib.h not found. install zlib" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "zlib.h not found. install zlib" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for deflate in -lz" >&5 -echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6 -if test "${ac_cv_lib_z_deflate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 +$as_echo_n "checking for deflate in -lz... " >&6; } +if test "${ac_cv_lib_z_deflate+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char deflate (); int main () { -deflate (); +return deflate (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_deflate=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_z_deflate=no + ac_cv_lib_z_deflate=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5 -echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6 -if test $ac_cv_lib_z_deflate = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 +$as_echo "$ac_cv_lib_z_deflate" >&6; } +if test "x$ac_cv_lib_z_deflate" = x""yes; then : ZLIB=-lz else - { { echo "$as_me:$LINENO: error: zlib not found or functional" >&5 -echo "$as_me: error: zlib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "zlib not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ZLIB=NO BUILD_TYPE="$BUILD_TYPE ZLIB" fi -echo "$as_me:$LINENO: checking which jpeg to use" >&5 -echo $ECHO_N "checking which jpeg to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which jpeg to use" >&5 +$as_echo_n "checking which jpeg to use... " >&6; } if test -n "$with_system_jpeg" -o -n "$with_system_libs" && \ test "$with_system_jpeg" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_JPEG=YES - if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 -if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking jpeglib.h usability" >&5 -echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking jpeglib.h presence" >&5 -echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for jpeglib.h" >&5 -echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6 -if test "${ac_cv_header_jpeglib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_jpeglib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5 -echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default" +if test "x$ac_cv_header_jpeglib_h" = x""yes; then : -fi -if test $ac_cv_header_jpeglib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: jpeg.h not found. install libjpeg" >&5 -echo "$as_me: error: jpeg.h not found. install libjpeg" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jpeg.h not found. install libjpeg" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for jpeg_resync_to_restart in -ljpeg" >&5 -echo $ECHO_N "checking for jpeg_resync_to_restart in -ljpeg... $ECHO_C" >&6 -if test "${ac_cv_lib_jpeg_jpeg_resync_to_restart+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_resync_to_restart in -ljpeg" >&5 +$as_echo_n "checking for jpeg_resync_to_restart in -ljpeg... " >&6; } +if test "${ac_cv_lib_jpeg_jpeg_resync_to_restart+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljpeg $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char jpeg_resync_to_restart (); int main () { -jpeg_resync_to_restart (); +return jpeg_resync_to_restart (); ; return 0; } -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_jpeg_jpeg_resync_to_restart=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_jpeg_jpeg_resync_to_restart=no + ac_cv_lib_jpeg_jpeg_resync_to_restart=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 -echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6 -if test $ac_cv_lib_jpeg_jpeg_resync_to_restart = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_resync_to_restart" >&5 +$as_echo "$ac_cv_lib_jpeg_jpeg_resync_to_restart" >&6; } +if test "x$ac_cv_lib_jpeg_jpeg_resync_to_restart" = x""yes; then : JPEG3RDLIB=-ljpeg else - echo "$as_me:$LINENO: checking jpeg library not found or fuctional" >&5 -echo $ECHO_N "checking jpeg library not found or fuctional... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking jpeg library not found or fuctional" >&5 +$as_echo_n "checking jpeg library not found or fuctional... " >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_JPEG=NO BUILD_TYPE="$BUILD_TYPE JPEG" fi -echo "$as_me:$LINENO: checking which expat to use" >&5 -echo $ECHO_N "checking which expat to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which expat to use" >&5 +$as_echo_n "checking which expat to use... " >&6; } if test -n "$with_system_expat" -o -n "$with_system_libs" && \ test "$with_system_expat" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_EXPAT=YES - if test "${ac_cv_header_expat_h+set}" = set; then - echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 -if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking expat.h usability" >&5 -echo $ECHO_N "checking expat.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking expat.h presence" >&5 -echo $ECHO_N "checking expat.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" +if test "x$ac_cv_header_expat_h" = x""yes; then : - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: expat.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: expat.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: expat.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: expat.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: expat.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: expat.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: expat.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: expat.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: expat.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for expat.h" >&5 -echo $ECHO_N "checking for expat.h... $ECHO_C" >&6 -if test "${ac_cv_header_expat_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_expat_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_expat_h" >&5 -echo "${ECHO_T}$ac_cv_header_expat_h" >&6 - -fi -if test $ac_cv_header_expat_h = yes; then - : else - { { echo "$as_me:$LINENO: error: expat.h not found. install expat" >&5 -echo "$as_me: error: expat.h not found. install expat" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "expat.h not found. install expat" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for XML_ParserCreate in -lexpat" >&5 -echo $ECHO_N "checking for XML_ParserCreate in -lexpat... $ECHO_C" >&6 -if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 +$as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } +if test "${ac_cv_lib_expat_XML_ParserCreate+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexpat $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XML_ParserCreate (); int main () { -XML_ParserCreate (); +return XML_ParserCreate (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_expat_XML_ParserCreate=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_expat_XML_ParserCreate=no + ac_cv_lib_expat_XML_ParserCreate=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -echo "${ECHO_T}$ac_cv_lib_expat_XML_ParserCreate" >&6 -if test $ac_cv_lib_expat_XML_ParserCreate = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 +$as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } +if test "x$ac_cv_lib_expat_XML_ParserCreate" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBEXPAT 1 _ACEOF @@ -13442,24 +12108,24 @@ _ACEOF LIBS="-lexpat $LIBS" else - echo "$as_me:$LINENO: result: expat library not found or functional." >&5 -echo "${ECHO_T}expat library not found or functional." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: expat library not found or functional." >&5 +$as_echo "expat library not found or functional." >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_EXPAT=NO BUILD_TYPE="$BUILD_TYPE EXPAT" fi -echo "$as_me:$LINENO: checking which libwpd to use" >&5 -echo $ECHO_N "checking which libwpd to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libwpd to use" >&5 +$as_echo_n "checking which libwpd to use... " >&6; } if test -n "$with_system_libwpd" -o -n "$with_system_libs" && \ test "$with_system_libwpd" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBWPD=YES succeeded=no @@ -13467,10 +12133,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13482,29 +12148,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13515,25 +12182,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libwpd-0.8 " >&5 -echo $ECHO_N "checking for libwpd-0.8 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libwpd-0.8 " >&5 +$as_echo_n "checking for libwpd-0.8 ... " >&6; } if $PKG_CONFIG --exists "libwpd-0.8 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBWPD_CFLAGS" >&5 -echo $ECHO_N "checking LIBWPD_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBWPD_CFLAGS" >&5 +$as_echo_n "checking LIBWPD_CFLAGS... " >&6; } LIBWPD_CFLAGS=`$PKG_CONFIG --cflags "libwpd-0.8 "` - echo "$as_me:$LINENO: result: $LIBWPD_CFLAGS" >&5 -echo "${ECHO_T}$LIBWPD_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBWPD_CFLAGS" >&5 +$as_echo "$LIBWPD_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBWPD_LIBS" >&5 -echo $ECHO_N "checking LIBWPD_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBWPD_LIBS" >&5 +$as_echo_n "checking LIBWPD_LIBS... " >&6; } LIBWPD_LIBS=`$PKG_CONFIG --libs "libwpd-0.8 "` - echo "$as_me:$LINENO: result: $LIBWPD_LIBS" >&5 -echo "${ECHO_T}$LIBWPD_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBWPD_LIBS" >&5 +$as_echo "$LIBWPD_LIBS" >&6; } else LIBWPD_CFLAGS="" LIBWPD_LIBS="" @@ -13554,14 +12221,12 @@ echo "${ECHO_T}$LIBWPD_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libwpd-0.8 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBWPD=NO BUILD_TYPE="$BUILD_TYPE LIBWPD" fi @@ -13569,12 +12234,12 @@ fi -echo "$as_me:$LINENO: checking which cppunit to use" >&5 -echo $ECHO_N "checking which cppunit to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which cppunit to use" >&5 +$as_echo_n "checking which cppunit to use... " >&6; } if test -n "$with_system_cppunit" -o -n "$with_system_libs" && \ test "$with_system_cppunit" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CPPUNIT=YES # might work for earlier, too but go sure. We didn't have # a system-cppunit before the first version using a proper cppunit @@ -13585,10 +12250,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13600,29 +12265,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13633,25 +12299,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for cppunit >= 1.12.1 " >&5 -echo $ECHO_N "checking for cppunit >= 1.12.1 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cppunit >= 1.12.1 " >&5 +$as_echo_n "checking for cppunit >= 1.12.1 ... " >&6; } if $PKG_CONFIG --exists "cppunit >= 1.12.1 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking CPPUNIT_CFLAGS" >&5 -echo $ECHO_N "checking CPPUNIT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CPPUNIT_CFLAGS" >&5 +$as_echo_n "checking CPPUNIT_CFLAGS... " >&6; } CPPUNIT_CFLAGS=`$PKG_CONFIG --cflags "cppunit >= 1.12.1 "` - echo "$as_me:$LINENO: result: $CPPUNIT_CFLAGS" >&5 -echo "${ECHO_T}$CPPUNIT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_CFLAGS" >&5 +$as_echo "$CPPUNIT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking CPPUNIT_LIBS" >&5 -echo $ECHO_N "checking CPPUNIT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CPPUNIT_LIBS" >&5 +$as_echo_n "checking CPPUNIT_LIBS... " >&6; } CPPUNIT_LIBS=`$PKG_CONFIG --libs "cppunit >= 1.12.1 "` - echo "$as_me:$LINENO: result: $CPPUNIT_LIBS" >&5 -echo "${ECHO_T}$CPPUNIT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_LIBS" >&5 +$as_echo "$CPPUNIT_LIBS" >&6; } else CPPUNIT_CFLAGS="" CPPUNIT_LIBS="" @@ -13672,24 +12338,20 @@ echo "${ECHO_T}$CPPUNIT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (cppunit >= 1.12.1 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking STL compatibility" >&5 -echo $ECHO_N "checking STL compatibility... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking STL compatibility" >&5 +$as_echo_n "checking STL compatibility... " >&6; } if test "$WITH_STLPORT" != "no"; then - { { echo "$as_me:$LINENO: error: to use system cppunit you need to use --without-stlport" >&5 -echo "$as_me: error: to use system cppunit you need to use --without-stlport" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "to use system cppunit you need to use --without-stlport" "$LINENO" 5 else - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_CPPUNIT=NO BUILD_TYPE="$BUILD_TYPE CPPUNIT" fi @@ -13698,18 +12360,18 @@ fi if test "$test_freetype" = "yes"; then - echo "$as_me:$LINENO: checking whether freetype is available" >&5 -echo $ECHO_N "checking whether freetype is available... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether freetype is available" >&5 +$as_echo_n "checking whether freetype is available... " >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13721,29 +12383,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13754,25 +12417,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for freetype2 >= 2.0 " >&5 -echo $ECHO_N "checking for freetype2 >= 2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2 >= 2.0 " >&5 +$as_echo_n "checking for freetype2 >= 2.0 ... " >&6; } if $PKG_CONFIG --exists "freetype2 >= 2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking FREETYPE_CFLAGS" >&5 -echo $ECHO_N "checking FREETYPE_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking FREETYPE_CFLAGS" >&5 +$as_echo_n "checking FREETYPE_CFLAGS... " >&6; } FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 2.0 "` - echo "$as_me:$LINENO: result: $FREETYPE_CFLAGS" >&5 -echo "${ECHO_T}$FREETYPE_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_CFLAGS" >&5 +$as_echo "$FREETYPE_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking FREETYPE_LIBS" >&5 -echo $ECHO_N "checking FREETYPE_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking FREETYPE_LIBS" >&5 +$as_echo_n "checking FREETYPE_LIBS... " >&6; } FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 2.0 "` - echo "$as_me:$LINENO: result: $FREETYPE_LIBS" >&5 -echo "${ECHO_T}$FREETYPE_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE_LIBS" >&5 +$as_echo "$FREETYPE_LIBS" >&6; } else FREETYPE_CFLAGS="" FREETYPE_LIBS="" @@ -13793,9 +12456,7 @@ echo "${ECHO_T}$FREETYPE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (freetype2 >= 2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -13808,71 +12469,43 @@ if test "$test_freetype" = "yes"; then save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" LDFLAGS="$LDFLAGS $FREETYPE_LIBS" - echo "$as_me:$LINENO: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 -echo $ECHO_N "checking for FT_GlyphSlot_Embolden in -lfreetype... $ECHO_C" >&6 -if test "${ac_cv_lib_freetype_FT_GlyphSlot_Embolden+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_GlyphSlot_Embolden in -lfreetype" >&5 +$as_echo_n "checking for FT_GlyphSlot_Embolden in -lfreetype... " >&6; } +if test "${ac_cv_lib_freetype_FT_GlyphSlot_Embolden+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfreetype $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char FT_GlyphSlot_Embolden (); int main () { -FT_GlyphSlot_Embolden (); +return FT_GlyphSlot_Embolden (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_freetype_FT_GlyphSlot_Embolden=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no + ac_cv_lib_freetype_FT_GlyphSlot_Embolden=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 -echo "${ECHO_T}$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6 -if test $ac_cv_lib_freetype_FT_GlyphSlot_Embolden = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&5 +$as_echo "$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" >&6; } +if test "x$ac_cv_lib_freetype_FT_GlyphSlot_Embolden" = x""yes; then : USE_FT_EMBOLDEN="YES" else USE_FT_EMBOLDEN="NO" @@ -13905,26 +12538,26 @@ if test -n "$with_system_libxml" -o -n "$with_system_libs" && \ fi fi -echo "$as_me:$LINENO: checking which libxslt to use" >&5 -echo $ECHO_N "checking which libxslt to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libxslt to use" >&5 +$as_echo_n "checking which libxslt to use... " >&6; } if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxslt" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXSLT=YES if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`xslt-config --cflags` - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`xslt-config --libs` - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else @@ -13934,10 +12567,10 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -13949,29 +12582,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -13982,25 +12616,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxslt" >&5 -echo $ECHO_N "checking for libxslt... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxslt" >&5 +$as_echo_n "checking for libxslt... " >&6; } if $PKG_CONFIG --exists "libxslt" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBXSLT_CFLAGS" >&5 -echo $ECHO_N "checking LIBXSLT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_CFLAGS" >&5 +$as_echo_n "checking LIBXSLT_CFLAGS... " >&6; } LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt"` - echo "$as_me:$LINENO: result: $LIBXSLT_CFLAGS" >&5 -echo "${ECHO_T}$LIBXSLT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_CFLAGS" >&5 +$as_echo "$LIBXSLT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBXSLT_LIBS" >&5 -echo $ECHO_N "checking LIBXSLT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXSLT_LIBS" >&5 +$as_echo_n "checking LIBXSLT_LIBS... " >&6; } LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt"` - echo "$as_me:$LINENO: result: $LIBXSLT_LIBS" >&5 -echo "${ECHO_T}$LIBXSLT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_LIBS" >&5 +$as_echo "$LIBXSLT_LIBS" >&6; } else LIBXSLT_CFLAGS="" LIBXSLT_LIBS="" @@ -14021,9 +12655,7 @@ echo "${ECHO_T}$LIBXSLT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxslt) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -14031,10 +12663,10 @@ echo "$as_me: error: Library requirements (libxslt) not met; consider adjusting # Extract the first word of "xsltproc", so it can be a program name with args. set dummy xsltproc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XSLTPROC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XSLTPROC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $XSLTPROC in [\\/]* | ?:[\\/]*) @@ -14046,37 +12678,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="no" ;; esac fi XSLTPROC=$ac_cv_path_XSLTPROC - if test -n "$XSLTPROC"; then - echo "$as_me:$LINENO: result: $XSLTPROC" >&5 -echo "${ECHO_T}$XSLTPROC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5 +$as_echo "$XSLTPROC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$XSLTPROC" = "no"; then - { { echo "$as_me:$LINENO: error: xsltproc is required" >&5 -echo "$as_me: error: xsltproc is required" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "xsltproc is required" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXSLT=NO BUILD_TYPE="$BUILD_TYPE LIBXSLT" fi @@ -14085,25 +12716,25 @@ fi -echo "$as_me:$LINENO: checking which libxml to use" >&5 -echo $ECHO_N "checking which libxml to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libxml to use" >&5 +$as_echo_n "checking which libxml to use... " >&6; } if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \ "$_os" = "Darwin" && \ test "$with_system_libxml" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LIBXML=YES if test "$_os" = "Darwin"; then - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`xml2-config --cflags` - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`xml2-config --libs` - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else @@ -14113,10 +12744,10 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -14128,29 +12759,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -14161,25 +12793,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxml-2.0 >= 2.0" >&5 -echo $ECHO_N "checking for libxml-2.0 >= 2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.0" >&5 +$as_echo_n "checking for libxml-2.0 >= 2.0... " >&6; } if $PKG_CONFIG --exists "libxml-2.0 >= 2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking LIBXML_CFLAGS" >&5 -echo $ECHO_N "checking LIBXML_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_CFLAGS" >&5 +$as_echo_n "checking LIBXML_CFLAGS... " >&6; } LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.0"` - echo "$as_me:$LINENO: result: $LIBXML_CFLAGS" >&5 -echo "${ECHO_T}$LIBXML_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_CFLAGS" >&5 +$as_echo "$LIBXML_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking LIBXML_LIBS" >&5 -echo $ECHO_N "checking LIBXML_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML_LIBS" >&5 +$as_echo_n "checking LIBXML_LIBS... " >&6; } LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.0"` - echo "$as_me:$LINENO: result: $LIBXML_LIBS" >&5 -echo "${ECHO_T}$LIBXML_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_LIBS" >&5 +$as_echo "$LIBXML_LIBS" >&6; } else LIBXML_CFLAGS="" LIBXML_LIBS="" @@ -14200,17 +12832,15 @@ echo "${ECHO_T}$LIBXML_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxml-2.0 >= 2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi BUILD_TYPE="$BUILD_TYPE LIBXMLSEC" else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LIBXML=NO BUILD_TYPE="$BUILD_TYPE LIBXML2 LIBXMLSEC" fi @@ -14221,21 +12851,21 @@ fi if test "$_os" = "Darwin" && test "$with_system_python" != "no"; then with_system_python=yes fi -echo "$as_me:$LINENO: checking which python to use" >&5 -echo $ECHO_N "checking which python to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which python to use" >&5 +$as_echo_n "checking which python to use... " >&6; } if test -n "$with_system_python" -o -n "$with_system_libs" && \ test "$with_system_python" != "no"; then SYSTEM_PYTHON=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. - echo "$as_me:$LINENO: checking whether $PYTHON version >= 2.2" >&5 -echo $ECHO_N "checking whether $PYTHON version >= 2.2... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.2" >&5 +$as_echo_n "checking whether $PYTHON version >= 2.2... " >&6; } prog="import sys, string # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. @@ -14247,23 +12877,20 @@ sys.exit(sys.hexversion < minverhex)" ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: too old" >&5 -echo "$as_me: error: too old" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old" "$LINENO" 5 fi - am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. - echo "$as_me:$LINENO: checking for a Python interpreter with version >= 2.2" >&5 -echo $ECHO_N "checking for a Python interpreter with version >= 2.2... $ECHO_C" >&6 -if test "${am_cv_pathless_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.2" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.2... " >&6; } +if test "${am_cv_pathless_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 else for am_cv_pathless_PYTHON in python python2 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 none; do @@ -14279,24 +12906,23 @@ sys.exit(sys.hexversion < minverhex)" ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + (exit $ac_status); }; then : break fi - done fi -echo "$as_me:$LINENO: result: $am_cv_pathless_PYTHON" >&5 -echo "${ECHO_T}$am_cv_pathless_PYTHON" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PYTHON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PYTHON+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PYTHON in [\\/]* | ?:[\\/]*) @@ -14308,49 +12934,48 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PYTHON=$ac_cv_path_PYTHON - if test -n "$PYTHON"; then - echo "$as_me:$LINENO: result: $PYTHON" >&5 -echo "${ECHO_T}$PYTHON" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then - { { echo "$as_me:$LINENO: error: no suitable Python interpreter found" >&5 -echo "$as_me: error: no suitable Python interpreter found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no suitable Python interpreter found" "$LINENO" 5 else - echo "$as_me:$LINENO: checking for $am_display_PYTHON version" >&5 -echo $ECHO_N "checking for $am_display_PYTHON version... $ECHO_C" >&6 -if test "${am_cv_python_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } +if test "${am_cv_python_version+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_version=`$PYTHON -c "import sys; print sys.version[:3]"` fi -echo "$as_me:$LINENO: result: $am_cv_python_version" >&5 -echo "${ECHO_T}$am_cv_python_version" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version @@ -14361,30 +12986,30 @@ echo "${ECHO_T}$am_cv_python_version" >&6 - echo "$as_me:$LINENO: checking for $am_display_PYTHON platform" >&5 -echo $ECHO_N "checking for $am_display_PYTHON platform... $ECHO_C" >&6 -if test "${am_cv_python_platform+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } +if test "${am_cv_python_platform+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"` fi -echo "$as_me:$LINENO: result: $am_cv_python_platform" >&5 -echo "${ECHO_T}$am_cv_python_platform" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform - echo "$as_me:$LINENO: checking for $am_display_PYTHON script directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON script directory... $ECHO_C" >&6 -if test "${am_cv_python_pythondir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } +if test "${am_cv_python_pythondir+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` fi -echo "$as_me:$LINENO: result: $am_cv_python_pythondir" >&5 -echo "${ECHO_T}$am_cv_python_pythondir" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir @@ -14392,16 +13017,16 @@ echo "${ECHO_T}$am_cv_python_pythondir" >&6 pkgpythondir=\${pythondir}/$PACKAGE - echo "$as_me:$LINENO: checking for $am_display_PYTHON extension module directory" >&5 -echo $ECHO_N "checking for $am_display_PYTHON extension module directory... $ECHO_C" >&6 -if test "${am_cv_python_pyexecdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } +if test "${am_cv_python_pyexecdir+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"` fi -echo "$as_me:$LINENO: result: $am_cv_python_pyexecdir" >&5 -echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir @@ -14426,149 +13051,11 @@ echo "${ECHO_T}$am_cv_python_pyexecdir" >&6 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS" - if test "${ac_cv_header_Python_h+set}" = set; then - echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 -if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking Python.h usability" >&5 -echo $ECHO_N "checking Python.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking Python.h presence" >&5 -echo $ECHO_N "checking Python.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: Python.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: Python.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: Python.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: Python.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: Python.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: Python.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: Python.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: Python.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: Python.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for Python.h" >&5 -echo $ECHO_N "checking for Python.h... $ECHO_C" >&6 -if test "${ac_cv_header_Python_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_Python_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_Python_h" >&5 -echo "${ECHO_T}$ac_cv_header_Python_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "Python.h" "ac_cv_header_Python_h" "$ac_includes_default" +if test "x$ac_cv_header_Python_h" = x""yes; then : -fi -if test $ac_cv_header_Python_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Python headers not found" >&5 -echo "$as_me: error: Python headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Python headers not found" "$LINENO" 5 fi @@ -14576,8 +13063,8 @@ fi else SYSTEM_PYTHON=NO BUILD_TYPE="$BUILD_TYPE PYTHON" - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } # Embedded python dies without Home set if test "z$HOME" = "z"; then export HOME=""; @@ -14586,10 +13073,10 @@ echo "${ECHO_T}internal" >&6 if test -z "$BZIP2"; then # Extract the first word of "bzip2", so it can be a program name with args. set dummy bzip2; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_BZIP2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_BZIP2+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $BZIP2 in [\\/]* | ?:[\\/]*) @@ -14601,32 +13088,31 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi BZIP2=$ac_cv_path_BZIP2 - if test -n "$BZIP2"; then - echo "$as_me:$LINENO: result: $BZIP2" >&5 -echo "${ECHO_T}$BZIP2" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BZIP2" >&5 +$as_echo "$BZIP2" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BZIP2"; then - { { echo "$as_me:$LINENO: error: the internal Python module has a .tar.bz2. You need bzip2" >&5 -echo "$as_me: error: the internal Python module has a .tar.bz2. You need bzip2" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "the internal Python module has a .tar.bz2. You need bzip2" "$LINENO" 5 fi fi fi @@ -14636,121 +13122,27 @@ fi HOME=`echo $HOME | sed 's:\\\\:/:g'` -echo "$as_me:$LINENO: checking which db to use" >&5 -echo $ECHO_N "checking which db to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which db to use" >&5 +$as_echo_n "checking which db to use... " >&6; } if test -n "$with_system_db" -o -n "$with_system_libs" && \ test "$with_system_db" != "no"; then SYSTEM_DB=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - echo "$as_me:$LINENO: checking for db.h" >&5 -echo $ECHO_N "checking for db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_db_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } + ac_fn_c_check_header_compile "$LINENO" "db.h" "ac_cv_header_db_h" " -ac_cv_header_db_h=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db_h" >&6 -if test $ac_cv_header_db_h = yes; then +" +if test "x$ac_cv_header_db_h" = x""yes; then : DB_INCLUDES=/usr/include else CFLAGS=-I/usr/include/db4 - echo "$as_me:$LINENO: checking for db4/db.h" >&5 -echo $ECHO_N "checking for db4/db.h... $ECHO_C" >&6 -if test "${ac_cv_header_db4_db_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -+ - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_db4_db_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_db4_db_h=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_header_db4_db_h" >&5 -echo "${ECHO_T}$ac_cv_header_db4_db_h" >&6 -if test $ac_cv_header_db4_db_h = yes; then + ac_fn_c_check_header_compile "$LINENO" "db4/db.h" "ac_cv_header_db4_db_h" "+ +" +if test "x$ac_cv_header_db4_db_h" = x""yes; then : DB_INCLUDES=/usr/include/db4 else - { { echo "$as_me:$LINENO: error: no. install the db4 libraries" >&5 -echo "$as_me: error: no. install the db4 libraries" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. install the db4 libraries" "$LINENO" 5 fi @@ -14758,20 +13150,15 @@ fi fi - echo "$as_me:$LINENO: checking whether db is at least 4.1" >&5 -echo $ECHO_N "checking whether db is at least 4.1... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether db is at least 4.1" >&5 +$as_echo_n "checking whether db is at least 4.1... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14782,91 +13169,47 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no. you need at least db 4.1" >&5 -echo "$as_me: error: no. you need at least db 4.1" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. you need at least db 4.1" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -echo "$as_me:$LINENO: checking for main in -ldb" >&5 -echo $ECHO_N "checking for main in -ldb... $ECHO_C" >&6 -if test "${ac_cv_lib_db_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ldb" >&5 +$as_echo_n "checking for main in -ldb... " >&6; } +if test "${ac_cv_lib_db_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldb $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_db_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_db_main=no + ac_cv_lib_db_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_db_main" >&5 -echo "${ECHO_T}$ac_cv_lib_db_main" >&6 -if test $ac_cv_lib_db_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_db_main" >&5 +$as_echo "$ac_cv_lib_db_main" >&6; } +if test "x$ac_cv_lib_db_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDB 1 _ACEOF @@ -14874,16 +13217,14 @@ _ACEOF LIBS="-ldb $LIBS" else - { { echo "$as_me:$LINENO: error: db not installed or functional" >&5 -echo "$as_me: error: db not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "db not installed or functional" "$LINENO" 5 fi ac_cv_lib_db=ac_cv_lib_db_main SCPDEFS="$SCPDEFS -DSYSTEM_DB" else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_DB=NO BUILD_TYPE="$BUILD_TYPE BERKELEYDB" fi @@ -14892,58 +13233,52 @@ fi -echo "$as_me:$LINENO: checking which lucene to use" >&5 -echo $ECHO_N "checking which lucene to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which lucene to use" >&5 +$as_echo_n "checking which lucene to use... " >&6; } if test -n "$with_system_lucene" -o -n "$with_system_libs" && \ test "$with_system_lucene" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LUCENE=YES if test -z $LUCENE_CORE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-core-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_core_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-core-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-core-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_core_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-core-2.3.jar"; then ac_cv_file__usr_share_java_lucene_core_2_3_jar=yes else ac_cv_file__usr_share_java_lucene_core_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_core_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_core_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_core_2_3_jar" = x""yes; then : LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene.jar"; then ac_cv_file__usr_share_java_lucene_jar=yes else ac_cv_file__usr_share_java_lucene_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_jar" = x""yes; then : LUCENE_CORE_JAR=/usr/share/java/lucene.jar else - { { echo "$as_me:$LINENO: error: lucene-core.jar replacement not found" >&5 -echo "$as_me: error: lucene-core.jar replacement not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-core.jar replacement not found" "$LINENO" 5 fi @@ -14952,79 +13287,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: lucene-core.jar not found." >&5 -echo "$as_me: error: lucene-core.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-core.jar not found." "$LINENO" 5 fi fi if test -z $LUCENE_ANALYZERS_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-analyzers-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-analyzers-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-analyzers-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-analyzers-2.3.jar"; then ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=yes else ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_analyzers_2_3_jar" = x""yes; then : LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-analyzers-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar" >&5 +$as_echo_n "checking for /usr/share/java/lucene-contrib/lucene-analyzers.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/lucene-contrib/lucene-analyzers.jar"; then ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=yes else ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6 -if test $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_lucene_contrib_lucene_analyzers_jar" = x""yes; then : LUCENE_ANALYZERS_JAR=/usr/share/java/lucene-contrib/lucene-analyzers.jar else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar replacement not found." >&5 -echo "$as_me: error: lucene-analyzers.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-analyzers.jar replacement not found." "$LINENO" 5 fi @@ -15033,36 +13360,34 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LUCENE_CORE_JAR" >&5 -echo $ECHO_N "checking for $LUCENE_CORE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LUCENE_CORE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LUCENE_CORE_JAR" >&5 +$as_echo_n "checking for $LUCENE_CORE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LUCENE_CORE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: lucene-analyzers.jar not found." >&5 -echo "$as_me: error: lucene-analyzers.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lucene-analyzers.jar not found." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LUCENE=NO BUILD_TYPE="$BUILD_TYPE LUCENE" fi @@ -15070,44 +13395,42 @@ fi -echo "$as_me:$LINENO: checking whether to build the MySQL Connector extension" >&5 -echo $ECHO_N "checking whether to build the MySQL Connector extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the MySQL Connector extension" >&5 +$as_echo_n "checking whether to build the MySQL Connector extension... " >&6; } if test -n "$enable_mysql_connector" -a "$enable_mysql_connector" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_MYSQLC=YES - echo "$as_me:$LINENO: checking for mysqlc module" >&5 -echo $ECHO_N "checking for mysqlc module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysqlc module" >&5 +$as_echo_n "checking for mysqlc module... " >&6; } if test -d mysqlc; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE MYSQLC" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MYSQLC=NO fi if test "$ENABLE_MYSQLC" = "YES"; then -echo "$as_me:$LINENO: checking for mysql pre-requisites" >&5 -echo $ECHO_N "checking for mysql pre-requisites... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysql pre-requisites" >&5 +$as_echo_n "checking for mysql pre-requisites... " >&6; } if test -n "$with_system_mysql" -o -n "$with_system_libs" && \ test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then - echo "$as_me:$LINENO: result: external MySQL" >&5 -echo "${ECHO_T}external MySQL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external MySQL" >&5 +$as_echo "external MySQL" >&6; } SYSTEM_MYSQL=YES # Extract the first word of "mysql_config", so it can be a program name with args. set dummy mysql_config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MYSQLCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MYSQLCONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MYSQLCONFIG in [\\/]* | ?:[\\/]*) @@ -15119,73 +13442,68 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MYSQLCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi MYSQLCONFIG=$ac_cv_path_MYSQLCONFIG - if test -n "$MYSQLCONFIG"; then - echo "$as_me:$LINENO: result: $MYSQLCONFIG" >&5 -echo "${ECHO_T}$MYSQLCONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MYSQLCONFIG" >&5 +$as_echo "$MYSQLCONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking MySQL version" >&5 -echo $ECHO_N "checking MySQL version... $ECHO_C" >&6 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MySQL version" >&5 +$as_echo_n "checking MySQL version... " >&6; } MYSQL_VERSION=`$MYSQLCONFIG --version` MYSQL_MAJOR=`$MYSQLCONFIG --version | cut -d"." -f1` if test "$MYSQL_MAJOR" -ge "5"; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: too old, use 5.0.x or 5.1.x" >&5 -echo "$as_me: error: too old, use 5.0.x or 5.1.x" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "too old, use 5.0.x or 5.1.x" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for MySQL Client library" >&5 -echo $ECHO_N "checking for MySQL Client library... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MySQL Client library" >&5 +$as_echo_n "checking for MySQL Client library... " >&6; } MYSQL_INC=`$MYSQLCONFIG --include` MYSQL_LIB=`$MYSQLCONFIG --libs` MYSQL_DEFINES=`$MYSQLCONFIG --cflags | sed -e s,$MYSQL_INC,,` - echo "$as_me:$LINENO: result: includes $MYSQL_INC, libraries $MYSQL_LIB" >&5 -echo "${ECHO_T}includes $MYSQL_INC, libraries $MYSQL_LIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: includes $MYSQL_INC, libraries $MYSQL_LIB" >&5 +$as_echo "includes $MYSQL_INC, libraries $MYSQL_LIB" >&6; } else SYSTEM_MYSQL=NO if test -n "$with_libmysql_path"; then - echo "$as_me:$LINENO: result: external Connector/C (libmysql)" >&5 -echo "${ECHO_T}external Connector/C (libmysql)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external Connector/C (libmysql)" >&5 +$as_echo "external Connector/C (libmysql)" >&6; } LIBMYSQL=libmysql.so if test "$_os" = "Darwin"; then LIBMYSQL=libmysql.dylib elif test "$_os" = "WINNT"; then LIBMYSQL=libmysql.dll fi - echo "$as_me:$LINENO: checking for $LIBMYSQL" >&5 -echo $ECHO_N "checking for $LIBMYSQL... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBMYSQL" >&5 +$as_echo_n "checking for $LIBMYSQL... " >&6; } if test -e "$with_libmysql_path/lib/$LIBMYSQL"; then - echo "$as_me:$LINENO: result: found." >&5 -echo "${ECHO_T}found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found." >&5 +$as_echo "found." >&6; } LIBMYSQL_PATH=$with_libmysql_path else - { { echo "$as_me:$LINENO: error: not found. Please specify proper path in --with-libmysql-path." >&5 -echo "$as_me: error: not found. Please specify proper path in --with-libmysql-path." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not found. Please specify proper path in --with-libmysql-path." "$LINENO" 5 fi else - { { echo "$as_me:$LINENO: error: not given. Please specify either --with-system-mysql or --with-libmysql-path" >&5 -echo "$as_me: error: not given. Please specify either --with-system-mysql or --with-libmysql-path" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not given. Please specify either --with-system-mysql or --with-libmysql-path" "$LINENO" 5 fi fi @@ -15194,7 +13512,7 @@ fi -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -15202,225 +13520,58 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # FIXME! # who thought this too-generic cppconn dir was a good idea? -echo "$as_me:$LINENO: checking MySQL Connector/C++" >&5 -echo $ECHO_N "checking MySQL Connector/C++... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking MySQL Connector/C++" >&5 +$as_echo_n "checking MySQL Connector/C++... " >&6; } if test -n "$with_system_mysql_cppconn" -o -n "$with_system_libs" && \ test "$with_system_mysql_cppconn" != "no" && test "$with_system_libs" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MYSQL_CPPCONN=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo "$as_me:$LINENO: checking for mysql_driver.h" >&5 -echo $ECHO_N "checking for mysql_driver.h... $ECHO_C" >&6 -if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mysql_driver_h" >&5 -echo "${ECHO_T}$ac_cv_header_mysql_driver_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking mysql_driver.h usability" >&5 -echo $ECHO_N "checking mysql_driver.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking mysql_driver.h presence" >&5 -echo $ECHO_N "checking mysql_driver.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mysql_driver.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mysql_driver.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mysql_driver.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mysql_driver.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mysql_driver.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mysql_driver.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mysql_driver.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mysql_driver.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mysql_driver.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for mysql_driver.h" >&5 -echo $ECHO_N "checking for mysql_driver.h... $ECHO_C" >&6 -if test "${ac_cv_header_mysql_driver_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_mysql_driver_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mysql_driver_h" >&5 -echo "${ECHO_T}$ac_cv_header_mysql_driver_h" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "mysql_driver.h" "ac_cv_header_mysql_driver_h" "$ac_includes_default" +if test "x$ac_cv_header_mysql_driver_h" = x""yes; then : -fi -if test $ac_cv_header_mysql_driver_h = yes; then - : else - { { echo "$as_me:$LINENO: error: mysql_driver.h not found. install MySQL C++ Connectivity" >&5 -echo "$as_me: error: mysql_driver.h not found. install MySQL C++ Connectivity" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mysql_driver.h not found. install MySQL C++ Connectivity" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lmysqlcppconn" >&5 -echo $ECHO_N "checking for main in -lmysqlcppconn... $ECHO_C" >&6 -if test "${ac_cv_lib_mysqlcppconn_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmysqlcppconn" >&5 +$as_echo_n "checking for main in -lmysqlcppconn... " >&6; } +if test "${ac_cv_lib_mysqlcppconn_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmysqlcppconn $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_mysqlcppconn_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mysqlcppconn_main=no + ac_cv_lib_mysqlcppconn_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlcppconn_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mysqlcppconn_main" >&6 -if test $ac_cv_lib_mysqlcppconn_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mysqlcppconn_main" >&5 +$as_echo "$ac_cv_lib_mysqlcppconn_main" >&6; } +if test "x$ac_cv_lib_mysqlcppconn_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBMYSQLCPPCONN 1 _ACEOF @@ -15428,25 +13579,18 @@ _ACEOF LIBS="-lmysqlcppconn $LIBS" else - { { echo "$as_me:$LINENO: error: MySQL C++ Connectivity lib not found or functional" >&5 -echo "$as_me: error: MySQL C++ Connectivity lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "MySQL C++ Connectivity lib not found or functional" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking version" >&5 -echo $ECHO_N "checking version... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking version" >&5 +$as_echo_n "checking version... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -15463,32 +13607,17 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: not suitable, we need >= 1.0.6" >&5 -echo "$as_me: error: not suitable, we need >= 1.0.6" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not suitable, we need >= 1.0.6" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - ac_ext=cc + + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -15496,17 +13625,15 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - echo "$as_me:$LINENO: checking for mysqlcppconn module" >&5 -echo $ECHO_N "checking for mysqlcppconn module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysqlcppconn module" >&5 +$as_echo_n "checking for mysqlcppconn module... " >&6; } if test -d mysqlcppconn; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE MYSQLCPPCONN" SYSTEM_MYSQL_CPPCONN=NO @@ -15520,44 +13647,42 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -echo "$as_me:$LINENO: checking which hsqldb to use" >&5 -echo $ECHO_N "checking which hsqldb to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which hsqldb to use" >&5 +$as_echo_n "checking which hsqldb to use... " >&6; } if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \ test "$with_system_hsqldb" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HSQLDB=YES if test -z $HSQLDB_JAR; then HSQLDB_JAR=/usr/share/java/hsqldb.jar fi - as_ac_File=`echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $HSQLDB_JAR" >&5 -echo $ECHO_N "checking for $HSQLDB_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$HSQLDB_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $HSQLDB_JAR" >&5 +$as_echo_n "checking for $HSQLDB_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$HSQLDB_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: hsqldb.jar not found." >&5 -echo "$as_me: error: hsqldb.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "hsqldb.jar not found." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5 -echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hsqldb is >= 1.8.0.9" >&5 +$as_echo_n "checking whether hsqldb is >= 1.8.0.9... " >&6; } export HSQLDB_JAR if $PERL -e 'use Archive::Zip; my $file = "$ENV{'HSQLDB_JAR'}"; @@ -15580,61 +13705,57 @@ echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6 } else { exit 1; }'; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, hsqldb >= 1.8.0.9 is needed" >&5 -echo "$as_me: error: no, hsqldb >= 1.8.0.9 is needed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, hsqldb >= 1.8.0.9 is needed" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HSQLDB=NO BUILD_TYPE="$BUILD_TYPE HSQLDB" fi -echo "$as_me:$LINENO: checking which beanshell to use" >&5 -echo $ECHO_N "checking which beanshell to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which beanshell to use" >&5 +$as_echo_n "checking which beanshell to use... " >&6; } if test -n "$with_system_beanshell" -o -n "$with_system_libs" && \ test "$with_system_beanshell" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BSH=YES if test -z $BSH_JAR; then BSH_JAR=/usr/share/java/bsh.jar fi - as_ac_File=`echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $BSH_JAR" >&5 -echo $ECHO_N "checking for $BSH_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$BSH_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $BSH_JAR" >&5 +$as_echo_n "checking for $BSH_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$BSH_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: bsh.jar not found." >&5 -echo "$as_me: error: bsh.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "bsh.jar not found." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_BSH=NO BUILD_TYPE="$BUILD_TYPE BSH" fi @@ -15642,78 +13763,70 @@ fi -echo "$as_me:$LINENO: checking which saxon to use" >&5 -echo $ECHO_N "checking which saxon to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which saxon to use" >&5 +$as_echo_n "checking which saxon to use... " >&6; } if test -n "$with_system_saxon" -o -n "$with_system_libs" && \ test "$with_system_saxon" != "no" && test "$with_system_jars" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SAXON=YES if test -z $SAXON_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon9.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/saxon.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon.jar"; then ac_cv_file__usr_share_java_saxon_jar=yes else ac_cv_file__usr_share_java_saxon_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/saxon9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/saxon9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/saxon9.jar" >&5 +$as_echo_n "checking for /usr/share/java/saxon9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_saxon9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/saxon9.jar"; then ac_cv_file__usr_share_java_saxon9_jar=yes else ac_cv_file__usr_share_java_saxon9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_saxon9_jar" >&6 -if test $ac_cv_file__usr_share_java_saxon9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_saxon9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_saxon9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_saxon9_jar" = x""yes; then : SAXON_JAR=/usr/share/java/saxon9.jar else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found" >&5 -echo "$as_me: error: saxon.jar replacement not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxon.jar replacement not found" "$LINENO" 5 fi @@ -15726,66 +13839,62 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAXON_JAR" >&5 -echo $ECHO_N "checking for $SAXON_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SAXON_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SAXON_JAR" >&5 +$as_echo_n "checking for $SAXON_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SAXON_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: saxon.jar replacement not found." >&5 -echo "$as_me: error: saxon.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxon.jar replacement not found." "$LINENO" 5 fi fi if test -n "$SERIALIZER_JAR"; then - as_ac_File=`echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $SERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SERIALIZER_JAR" >&5 +$as_echo_n "checking for $SERIALIZER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SERIALIZER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: serializer.jar not found." >&5 -echo "$as_me: error: serializer.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "serializer.jar not found." "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking if saxon works" >&5 -echo $ECHO_N "checking if saxon works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if saxon works" >&5 +$as_echo_n "checking if saxon works... " >&6; } cat > saxontest.java <<_ACEOF import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; @@ -15826,40 +13935,36 @@ _ACEOF _ACEOF javac_cmd="$JAVACOMPILER -cp $SAXON_JAR saxontest.java 1>&2" - { (eval echo "$as_me:$LINENO: \"$javac_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$javac_cmd\""; } >&5 (eval $javac_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./saxontest.class ; then java_cmd="$JAVAINTERPRETER -cp $SAXON_JAR:. saxontest saxontest.xsl 1>&2" - { (eval echo "$as_me:$LINENO: \"$java_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$java_cmd\""; } >&5 (eval $java_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else cat saxontest.java >&5 - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" >&5 -echo "$as_me: error: Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error "Non-functional saxon jar, e.g. crippled saxon-he instead of saxonb" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } cat saxontest.java >&5 - { { echo "$as_me:$LINENO: error: saxontest could not be compiled, non-functional saxon jar" >&5 -echo "$as_me: error: saxontest could not be compiled, non-functional saxon jar" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "saxontest could not be compiled, non-functional saxon jar" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SAXON=NO NEED_SAXON=TRUE fi @@ -15873,20 +13978,20 @@ fi if test "$_os" = "Darwin" && test "$with_system_curl" != "no"; then with_system_curl=yes fi -echo "$as_me:$LINENO: checking which curl to use" >&5 -echo $ECHO_N "checking which curl to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which curl to use" >&5 +$as_echo_n "checking which curl to use... " >&6; } if test -n "$with_system_curl" -o -n "$with_system_libs" && \ test "$with_system_curl" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CURL=YES # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CURLCONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CURLCONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CURLCONFIG in [\\/]* | ?:[\\/]*) @@ -15898,52 +14003,49 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CURLCONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CURLCONFIG=$ac_cv_path_CURLCONFIG - if test -n "$CURLCONFIG"; then - echo "$as_me:$LINENO: result: $CURLCONFIG" >&5 -echo "${ECHO_T}$CURLCONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURLCONFIG" >&5 +$as_echo "$CURLCONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$CURLCONFIG"; then - { { echo "$as_me:$LINENO: error: install curl to run this script" >&5 -echo "$as_me: error: install curl to run this script" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "install curl to run this script" "$LINENO" 5 fi # check curl version - echo "$as_me:$LINENO: checking whether curl is >= 7.13.1" >&5 -echo $ECHO_N "checking whether curl is >= 7.13.1... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether curl is >= 7.13.1" >&5 +$as_echo_n "checking whether curl is >= 7.13.1... " >&6; } if test "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $1 }'`" -gt "7" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $2 }'`" -gt "13" -a \ "`$CURLCONFIG --version | $AWK -F' ' '{print $2}' | $AWK -F. '{ print $3 }'`" -gt "1"; then - { { echo "$as_me:$LINENO: error: no, you need at least curl 7.13,1" >&5 -echo "$as_me: error: no, you need at least curl 7.13,1" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, you need at least curl 7.13,1" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi CURL_LIBS=`$CURLCONFIG --libs` CURL_CFLAGS=`$CURLCONFIG --cflags` else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_CURL=NO BUILD_TYPE="$BUILD_TYPE CURL" fi @@ -15951,467 +14053,49 @@ fi -echo "$as_me:$LINENO: checking which boost to use" >&5 -echo $ECHO_N "checking which boost to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which boost to use" >&5 +$as_echo_n "checking which boost to use... " >&6; } if test -n "$with_system_boost" -o -n "$with_system_headers" && \ test "$with_system_boost" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_BOOST=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp usability" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking boost/shared_ptr.hpp presence" >&5 -echo $ECHO_N "checking boost/shared_ptr.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/shared_ptr.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/shared_ptr.hpp" >&5 -echo $ECHO_N "checking for boost/shared_ptr.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_shared_ptr_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_shared_ptr_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_shared_ptr_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_shared_ptr_hpp" >&6 - -fi -if test $ac_cv_header_boost_shared_ptr_hpp = yes; then - : -else - { { echo "$as_me:$LINENO: error: boost/shared_ptr.hpp not found. install boost" >&5 -echo "$as_me: error: boost/shared_ptr.hpp not found. install boost" >&2;} - { (exit 1); exit 1; }; } -fi - - - if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/spirit/include/classic_core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/include/classic_core.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_include_classic_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_include_classic_core_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/spirit/include/classic_core.hpp usability" >&5 -echo $ECHO_N "checking boost/spirit/include/classic_core.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking boost/spirit/include/classic_core.hpp presence" >&5 -echo $ECHO_N "checking boost/spirit/include/classic_core.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/spirit/include/classic_core.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/spirit/include/classic_core.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/spirit/include/classic_core.hpp" >&5 -echo $ECHO_N "checking for boost/spirit/include/classic_core.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_spirit_include_classic_core_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_spirit_include_classic_core_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_spirit_include_classic_core_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_spirit_include_classic_core_hpp" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/shared_ptr.hpp" "ac_cv_header_boost_shared_ptr_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_shared_ptr_hpp" = x""yes; then : -fi -if test $ac_cv_header_boost_spirit_include_classic_core_hpp = yes; then - : else - { { echo "$as_me:$LINENO: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&5 -echo "$as_me: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "boost/shared_ptr.hpp not found. install boost" "$LINENO" 5 fi - if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo "$as_me:$LINENO: checking for boost/function.hpp" >&5 -echo $ECHO_N "checking for boost/function.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_function_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_function_hpp" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking boost/function.hpp usability" >&5 -echo $ECHO_N "checking boost/function.hpp usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/spirit/include/classic_core.hpp" "ac_cv_header_boost_spirit_include_classic_core_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_spirit_include_classic_core_hpp" = x""yes; then : -# Is the header present? -echo "$as_me:$LINENO: checking boost/function.hpp presence" >&5 -echo $ECHO_N "checking boost/function.hpp presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi else - ac_cpp_err=yes + as_fn_error "boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" "$LINENO" 5 fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: boost/function.hpp: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: boost/function.hpp: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: present but cannot be compiled" >&5 -echo "$as_me: WARNING: boost/function.hpp: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: boost/function.hpp: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: boost/function.hpp: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: boost/function.hpp: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: boost/function.hpp: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: boost/function.hpp: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: boost/function.hpp: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for boost/function.hpp" >&5 -echo $ECHO_N "checking for boost/function.hpp... $ECHO_C" >&6 -if test "${ac_cv_header_boost_function_hpp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_boost_function_hpp=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_boost_function_hpp" >&5 -echo "${ECHO_T}$ac_cv_header_boost_function_hpp" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "boost/function.hpp" "ac_cv_header_boost_function_hpp" "$ac_includes_default" +if test "x$ac_cv_header_boost_function_hpp" = x""yes; then : -fi -if test $ac_cv_header_boost_function_hpp = yes; then - : else - { { echo "$as_me:$LINENO: error: boost/function.hpp not found. install boost" >&5 -echo "$as_me: error: boost/function.hpp not found. install boost" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "boost/function.hpp not found. install boost" "$LINENO" 5 fi save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS -fno-exceptions" - echo "$as_me:$LINENO: checking whether boost/function.hpp compiles with -fno-exceptions" >&5 -echo $ECHO_N "checking whether boost/function.hpp compiles with -fno-exceptions... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether boost/function.hpp compiles with -fno-exceptions" >&5 +$as_echo_n "checking whether boost/function.hpp compiles with -fno-exceptions... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -16423,44 +14107,18 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_cxx_boost_no_exceptons_broken=no else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_cxx_boost_no_exceptons_broken=yes + ac_cv_cxx_boost_no_exceptons_broken=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "$ac_cv_cxx_boost_no_exceptons_broken" = "yes"; then - { { echo "$as_me:$LINENO: error: no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" >&5 -echo "$as_me: error: no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, see https://bugzilla.redhat.com/show_bug.cgi?id=477131" "$LINENO" 5 else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi CXXFLAGS=$save_CXXFLAGS ac_ext=c @@ -16470,169 +14128,31 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE BOOST" SYSTEM_BOOST=NO fi -echo "$as_me:$LINENO: checking which vigra to use" >&5 -echo $ECHO_N "checking which vigra to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which vigra to use" >&5 +$as_echo_n "checking which vigra to use... " >&6; } if test -n "$with_system_vigra" -o -n "$with_system_headers" && \ test "$with_system_vigra" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_VIGRA=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking vigra/copyimage.hxx usability" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking vigra/copyimage.hxx presence" >&5 -echo $ECHO_N "checking vigra/copyimage.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: vigra/copyimage.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for vigra/copyimage.hxx" >&5 -echo $ECHO_N "checking for vigra/copyimage.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_vigra_copyimage_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_vigra_copyimage_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_vigra_copyimage_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_vigra_copyimage_hxx" >&6 + ac_fn_cxx_check_header_mongrel "$LINENO" "vigra/copyimage.hxx" "ac_cv_header_vigra_copyimage_hxx" "$ac_includes_default" +if test "x$ac_cv_header_vigra_copyimage_hxx" = x""yes; then : -fi -if test $ac_cv_header_vigra_copyimage_hxx = yes; then - : else - { { echo "$as_me:$LINENO: error: vigra/copyimage.hxx not found. install vigra" >&5 -echo "$as_me: error: vigra/copyimage.hxx not found. install vigra" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "vigra/copyimage.hxx not found. install vigra" "$LINENO" 5 fi @@ -16640,460 +14160,153 @@ fi ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - BUILD_TYPE="$BUILD_TYPE VIGRA" - SYSTEM_VIGRA=NO -fi - - -echo "$as_me:$LINENO: checking which odbc headers to use" >&5 -echo $ECHO_N "checking which odbc headers to use... $ECHO_C" >&6 -if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \ - test "$with_system_odbc_headers" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - SYSTEM_ODBC_HEADERS=YES - - if test "${ac_cv_header_sqlext_h+set}" = set; then - echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 -if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking sqlext.h usability" >&5 -echo $ECHO_N "checking sqlext.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking sqlext.h presence" >&5 -echo $ECHO_N "checking sqlext.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sqlext.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: sqlext.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sqlext.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sqlext.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sqlext.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sqlext.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sqlext.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sqlext.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sqlext.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for sqlext.h" >&5 -echo $ECHO_N "checking for sqlext.h... $ECHO_C" >&6 -if test "${ac_cv_header_sqlext_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +ac_compiler_gnu=$ac_cv_c_compiler_gnu + else - ac_cv_header_sqlext_h=$ac_header_preproc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + BUILD_TYPE="$BUILD_TYPE VIGRA" + SYSTEM_VIGRA=NO fi -echo "$as_me:$LINENO: result: $ac_cv_header_sqlext_h" >&5 -echo "${ECHO_T}$ac_cv_header_sqlext_h" >&6 -fi -if test $ac_cv_header_sqlext_h = yes; then - : + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which odbc headers to use" >&5 +$as_echo_n "checking which odbc headers to use... " >&6; } +if test -n "$with_system_odbc_headers" -o -n "$with_system_headers" && \ + test "$with_system_odbc_headers" != "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } + SYSTEM_ODBC_HEADERS=YES + + ac_fn_c_check_header_mongrel "$LINENO" "sqlext.h" "ac_cv_header_sqlext_h" "$ac_includes_default" +if test "x$ac_cv_header_sqlext_h" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: odbc not found. install odbc" >&5 -echo "$as_me: error: odbc not found. install odbc" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "odbc not found. install odbc" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ODBC_HEADERS=NO BUILD_TYPE="$BUILD_TYPE UNIXODBC" fi -echo "$as_me:$LINENO: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 -echo $ECHO_N "checking whether to enable build of Mozilla/Mozilla NSS-using components... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable build of Mozilla/Mozilla NSS-using components" >&5 +$as_echo_n "checking whether to enable build of Mozilla/Mozilla NSS-using components... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_MOZILLA=YES fi -echo "$as_me:$LINENO: checking whether to build Mozilla addressbook connectivity" >&5 -echo $ECHO_N "checking whether to build Mozilla addressbook connectivity... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Mozilla addressbook connectivity" >&5 +$as_echo_n "checking whether to build Mozilla addressbook connectivity... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } elif test "$with_system_mozilla" = "yes"; then - echo "$as_me:$LINENO: result: no, not possible with system-mozilla" >&5 -echo "${ECHO_T}no, not possible with system-mozilla" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, not possible with system-mozilla" >&5 +$as_echo "no, not possible with system-mozilla" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi -echo "$as_me:$LINENO: checking whether to build XML Security support" >&5 -echo $ECHO_N "checking whether to build XML Security support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build XML Security support" >&5 +$as_echo_n "checking whether to build XML Security support... " >&6; } if test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: no, since Mozilla (NSS) disabled but needed" >&5 -echo "${ECHO_T}no, since Mozilla (NSS) disabled but needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, since Mozilla (NSS) disabled but needed" >&5 +$as_echo "no, since Mozilla (NSS) disabled but needed" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } fi -echo "$as_me:$LINENO: checking whether to build LDAP configuration backend" >&5 -echo $ECHO_N "checking whether to build LDAP configuration backend... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build LDAP configuration backend" >&5 +$as_echo_n "checking whether to build LDAP configuration backend... " >&6; } if test -z "$enable_ldap" || test "$enable_ldap" = "yes"; then if test "$enable_mozilla" = "yes" || test "$with_openldap" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_LDAP=YES else - echo "$as_me:$LINENO: result: no. Either Mozilla or OpenLDAP needed" >&5 -echo "${ECHO_T}no. Either Mozilla or OpenLDAP needed" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no. Either Mozilla or OpenLDAP needed" >&5 +$as_echo "no. Either Mozilla or OpenLDAP needed" >&6; } WITH_LDAP=NO fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_LDAP=NO fi if test "$WITH_LDAP" = "YES"; then - echo "$as_me:$LINENO: checking which LDAP SDK to use" >&5 -echo $ECHO_N "checking which LDAP SDK to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which LDAP SDK to use" >&5 +$as_echo_n "checking which LDAP SDK to use... " >&6; } if test -n "$with_openldap" && test "$with_openldap" != "no"; then - echo "$as_me:$LINENO: result: OpenLDAP" >&5 -echo "${ECHO_T}OpenLDAP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenLDAP" >&5 +$as_echo "OpenLDAP" >&6; } WITH_OPENLDAP=YES - -for ac_header in ldap.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then + for ac_header in ldap.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default" +if test "x$ac_cv_header_ldap_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_LDAP_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: ldap.h not found. install openldap libs" >&5 -echo "$as_me: error: ldap.h not found. install openldap libs" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "ldap.h not found. install openldap libs" "$LINENO" 5 fi done - -echo "$as_me:$LINENO: checking for ldap_simple_bind_s in -lldap" >&5 -echo $ECHO_N "checking for ldap_simple_bind_s in -lldap... $ECHO_C" >&6 -if test "${ac_cv_lib_ldap_ldap_simple_bind_s+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_simple_bind_s in -lldap" >&5 +$as_echo_n "checking for ldap_simple_bind_s in -lldap... " >&6; } +if test "${ac_cv_lib_ldap_ldap_simple_bind_s+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_simple_bind_s (); int main () { -ldap_simple_bind_s (); +return ldap_simple_bind_s (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ldap_ldap_simple_bind_s=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ldap_ldap_simple_bind_s=no + ac_cv_lib_ldap_ldap_simple_bind_s=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_simple_bind_s" >&6 -if test $ac_cv_lib_ldap_ldap_simple_bind_s = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_simple_bind_s" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_simple_bind_s" >&6; } +if test "x$ac_cv_lib_ldap_ldap_simple_bind_s" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -17101,79 +14314,48 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "openldap lib not found or functional" "$LINENO" 5 fi # rumours say that OpenLDAP doesn't have that function. I looked and # it has it. Test for it to be sure - -echo "$as_me:$LINENO: checking for ldap_set_option in -lldap" >&5 -echo $ECHO_N "checking for ldap_set_option in -lldap... $ECHO_C" >&6 -if test "${ac_cv_lib_ldap_ldap_set_option+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldap_set_option in -lldap" >&5 +$as_echo_n "checking for ldap_set_option in -lldap... " >&6; } +if test "${ac_cv_lib_ldap_ldap_set_option+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char ldap_set_option (); int main () { -ldap_set_option (); +return ldap_set_option (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ldap_ldap_set_option=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ldap_ldap_set_option=no + ac_cv_lib_ldap_ldap_set_option=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ldap_ldap_set_option" >&5 -echo "${ECHO_T}$ac_cv_lib_ldap_ldap_set_option" >&6 -if test $ac_cv_lib_ldap_ldap_set_option = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_set_option" >&5 +$as_echo "$ac_cv_lib_ldap_ldap_set_option" >&6; } +if test "x$ac_cv_lib_ldap_ldap_set_option" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDAP 1 _ACEOF @@ -17181,14 +14363,12 @@ _ACEOF LIBS="-lldap $LIBS" else - { { echo "$as_me:$LINENO: error: openldap lib not found or functional" >&5 -echo "$as_me: error: openldap lib not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "openldap lib not found or functional" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: Netscape/Mozilla" >&5 -echo "${ECHO_T}Netscape/Mozilla" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Netscape/Mozilla" >&5 +$as_echo "Netscape/Mozilla" >&6; } # TODO. Actually do a sanity check and check for # LDAP_OPT_SIZELIMIT and LDAP_X_OPT_CONNECT_TIMEOUT WITH_OPENLDAP=NO @@ -17197,16 +14377,16 @@ fi -echo "$as_me:$LINENO: checking which mozilla to use" >&5 -echo $ECHO_N "checking which mozilla to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which mozilla to use" >&5 +$as_echo_n "checking which mozilla to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MOZILLA=YES ENABLE_NSS_MODULE=NO enable_nss_module=no - echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5 -echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Mozilla flavour to use" >&5 +$as_echo_n "checking which Mozilla flavour to use... " >&6; } if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then MOZ_FLAVOUR=libxul elif test -n "$with_system_mozilla" && test "$with_system_mozilla" = "xulrunner"; then @@ -17221,8 +14401,8 @@ echo $ECHO_N "checking which Mozilla flavour to use... $ECHO_C" >&6 MOZ_FLAVOUR=libxul fi tmp=`echo $MOZ_FLAVOUR | $PERL -e 'print ucfirst();'` - echo "$as_me:$LINENO: result: $tmp" >&5 -echo "${ECHO_T}$tmp" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tmp" >&5 +$as_echo "$tmp" >&6; } succeeded=no @@ -17230,10 +14410,10 @@ echo "${ECHO_T}$tmp" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17245,29 +14425,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17278,25 +14459,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for nss" >&5 -echo $ECHO_N "checking for nss... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nss" >&5 +$as_echo_n "checking for nss... " >&6; } if $PKG_CONFIG --exists "nss" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "nss"` - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "nss"` - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -17327,10 +14508,10 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17342,29 +14523,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17375,25 +14557,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nss " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nss ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-nss " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nss ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nss " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSS_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSS_CFLAGS... " >&6; } MOZ_NSS_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nss "` - echo "$as_me:$LINENO: result: $MOZ_NSS_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_CFLAGS" >&5 +$as_echo "$MOZ_NSS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSS_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSS_LIBS" >&5 +$as_echo_n "checking MOZ_NSS_LIBS... " >&6; } MOZ_NSS_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nss "` - echo "$as_me:$LINENO: result: $MOZ_NSS_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSS_LIBS" >&5 +$as_echo "$MOZ_NSS_LIBS" >&6; } else MOZ_NSS_CFLAGS="" MOZ_NSS_LIBS="" @@ -17414,9 +14596,7 @@ echo "${ECHO_T}$MOZ_NSS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements ($MOZ_FLAVOUR-nss ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else @@ -17431,10 +14611,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nss ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17446,29 +14626,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17479,25 +14660,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for nspr " >&5 -echo $ECHO_N "checking for nspr ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nspr " >&5 +$as_echo_n "checking for nspr ... " >&6; } if $PKG_CONFIG --exists "nspr " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -17518,9 +14699,7 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi NSPR_LIB="-L`$PKG_CONFIG --variable=libdir nspr`" @@ -17532,10 +14711,10 @@ echo "$as_me: error: Library requirements (nspr ) not met; consider adjusting th if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17547,29 +14726,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17580,25 +14760,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-nspr " >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-nspr ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-nspr " >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-nspr ... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-nspr " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZ_NSPR_CFLAGS" >&5 -echo $ECHO_N "checking MOZ_NSPR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_CFLAGS" >&5 +$as_echo_n "checking MOZ_NSPR_CFLAGS... " >&6; } MOZ_NSPR_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_CFLAGS" >&5 -echo "${ECHO_T}$MOZ_NSPR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_CFLAGS" >&5 +$as_echo "$MOZ_NSPR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZ_NSPR_LIBS" >&5 -echo $ECHO_N "checking MOZ_NSPR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZ_NSPR_LIBS" >&5 +$as_echo_n "checking MOZ_NSPR_LIBS... " >&6; } MOZ_NSPR_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-nspr "` - echo "$as_me:$LINENO: result: $MOZ_NSPR_LIBS" >&5 -echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZ_NSPR_LIBS" >&5 +$as_echo "$MOZ_NSPR_LIBS" >&6; } else MOZ_NSPR_CFLAGS="" MOZ_NSPR_LIBS="" @@ -17619,9 +14799,7 @@ echo "${ECHO_T}$MOZ_NSPR_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi @@ -17633,10 +14811,10 @@ echo "$as_me: error: Library requirements ($MOZ_FLAVOUR-nspr ) not met; consider if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17648,29 +14826,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17681,25 +14860,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for $MOZ_FLAVOUR-xpcom" >&5 -echo $ECHO_N "checking for $MOZ_FLAVOUR-xpcom... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZ_FLAVOUR-xpcom" >&5 +$as_echo_n "checking for $MOZ_FLAVOUR-xpcom... " >&6; } if $PKG_CONFIG --exists "$MOZ_FLAVOUR-xpcom" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "$MOZ_FLAVOUR-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "$MOZ_FLAVOUR-xpcom"` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -17734,10 +14913,10 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -17749,29 +14928,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -17782,25 +14962,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libxul " >&5 -echo $ECHO_N "checking for libxul ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxul " >&5 +$as_echo_n "checking for libxul ... " >&6; } if $PKG_CONFIG --exists "libxul " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZILLAXPCOM_CFLAGS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_CFLAGS" >&5 +$as_echo_n "checking MOZILLAXPCOM_CFLAGS... " >&6; } MOZILLAXPCOM_CFLAGS=`$PKG_CONFIG --cflags "libxul "` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_CFLAGS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_CFLAGS" >&5 +$as_echo "$MOZILLAXPCOM_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZILLAXPCOM_LIBS" >&5 -echo $ECHO_N "checking MOZILLAXPCOM_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZILLAXPCOM_LIBS" >&5 +$as_echo_n "checking MOZILLAXPCOM_LIBS... " >&6; } MOZILLAXPCOM_LIBS=`$PKG_CONFIG --libs "libxul "` - echo "$as_me:$LINENO: result: $MOZILLAXPCOM_LIBS" >&5 -echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLAXPCOM_LIBS" >&5 +$as_echo "$MOZILLAXPCOM_LIBS" >&6; } else MOZILLAXPCOM_CFLAGS="" MOZILLAXPCOM_LIBS="" @@ -17821,9 +15001,7 @@ echo "${ECHO_T}$MOZILLAXPCOM_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libxul ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi MOZ_INC=`$PKG_CONFIG --variable=includedir libxul` @@ -17841,72 +15019,43 @@ echo "$as_me: error: Library requirements (libxul ) not met; consider adjusting save_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $MOZ_NSS_CFLAGS" LDFLAGS="$LDFLAGS $MOZ_NSS_LIBS" - -echo "$as_me:$LINENO: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 -echo $ECHO_N "checking for PK11_GetCertFromPrivateKey in -lnss3... $ECHO_C" >&6 -if test "${ac_cv_lib_nss3_PK11_GetCertFromPrivateKey+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PK11_GetCertFromPrivateKey in -lnss3" >&5 +$as_echo_n "checking for PK11_GetCertFromPrivateKey in -lnss3... " >&6; } +if test "${ac_cv_lib_nss3_PK11_GetCertFromPrivateKey+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnss3 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char PK11_GetCertFromPrivateKey (); int main () { -PK11_GetCertFromPrivateKey (); +return PK11_GetCertFromPrivateKey (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no + ac_cv_lib_nss3_PK11_GetCertFromPrivateKey=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 -echo "${ECHO_T}$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6 -if test $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&5 +$as_echo "$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" >&6; } +if test "x$ac_cv_lib_nss3_PK11_GetCertFromPrivateKey" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBNSS3 1 _ACEOF @@ -17914,13 +15063,9 @@ _ACEOF LIBS="-lnss3 $LIBS" else - { { echo "$as_me:$LINENO: error: PK11_GetCertFromPrivateKey missing but needed. -See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. -Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&5 -echo "$as_me: error: PK11_GetCertFromPrivateKey missing but needed. + as_fn_error "PK11_GetCertFromPrivateKey missing but needed. See https://bugzilla.mozilla.org/show_bug.cgi?id=262274. -Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" >&2;} - { (exit 1); exit 1; }; } +Fixed since nss 3.9.3 (contained by e.g. mozilla >= 1.7.5)" "$LINENO" 5 fi LDFLAGS="$save_LDFLAGS" @@ -17929,20 +15074,16 @@ fi MOZ_LIB_XPCOM=$MOZILLAXPCOM_LIBS if test "$WITH_LDAP" != "NO" && test "$WITH_OPENLDAP" != "YES"; then - echo "$as_me:$LINENO: checking whether $tmp was compiled with --enable-ldap" >&5 -echo $ECHO_N "checking whether $tmp was compiled with --enable-ldap... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $tmp was compiled with --enable-ldap" >&5 +$as_echo_n "checking whether $tmp was compiled with --enable-ldap... " >&6; } if test -d "$MOZ_INC/ldap"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } MOZ_LDAP_CFLAGS="-I$MOZ_INC" else - { { echo "$as_me:$LINENO: error: no. + as_fn_error "no. Could not find LDAP header include files in $MOZ_INC/ldap. -Please recompile $tmp with --enable-ldap or use --with-openldap." >&5 -echo "$as_me: error: no. -Could not find LDAP header include files in $MOZ_INC/ldap. -Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} - { (exit 1); exit 1; }; } +Please recompile $tmp with --enable-ldap or use --with-openldap." "$LINENO" 5 fi fi @@ -17953,48 +15094,48 @@ Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;} fi elif test "$enable_mozilla" = "no"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } WITH_MOZILLA=NO ENABLE_NSS_MODULE=NO enable_nss_module=no else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MOZILLA=NO BUILD_TYPE="$BUILD_TYPE MOZ" if test -z "$with_mozilla_version"; then MOZILLA_VERSION= else - echo "$as_me:$LINENO: checking which mozilla version to build" >&5 -echo $ECHO_N "checking which mozilla version to build... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which mozilla version to build" >&5 +$as_echo_n "checking which mozilla version to build... " >&6; } MOZILLA_VERSION=$with_mozilla_version enable_build_mozilla=1 - echo "$as_me:$LINENO: result: $MOZILLA_VERSION" >&5 -echo "${ECHO_T}$MOZILLA_VERSION" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLA_VERSION" >&5 +$as_echo "$MOZILLA_VERSION" >&6; } fi -echo "$as_me:$LINENO: checking for toolkit mozilla should use" >&5 -echo $ECHO_N "checking for toolkit mozilla should use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for toolkit mozilla should use" >&5 +$as_echo_n "checking for toolkit mozilla should use... " >&6; } if test -z "$with_mozilla_toolkit"; then if test "$_os" != "WINNT" ; then if test "$_os" = "Darwin" ; then MOZILLA_TOOLKIT=mac - echo "$as_me:$LINENO: result: mac" >&5 -echo "${ECHO_T}mac" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: mac" >&5 +$as_echo "mac" >&6; } else MOZILLA_TOOLKIT=gtk2 - echo "$as_me:$LINENO: result: gtk2" >&5 -echo "${ECHO_T}gtk2" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: gtk2" >&5 +$as_echo "gtk2" >&6; } fi fi else MOZILLA_TOOLKIT=$with_mozilla_toolkit enable_build_mozilla=1 - echo "$as_me:$LINENO: result: $MOZILLA_TOOLKIT" >&5 -echo "${ECHO_T}$MOZILLA_TOOLKIT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZILLA_TOOLKIT" >&5 +$as_echo "$MOZILLA_TOOLKIT" >&6; } fi #if test "$_os" = "Darwin" && test "$MOZILLA_TOOLKIT" != "gtk2"; then # #only gtk2 toolkit supported - xlib or cocoa nees glib1 and libIDL1 - the latter is not @@ -18011,63 +15152,55 @@ else enable_build_mozilla= fi -echo "$as_me:$LINENO: checking whether to build Mozilla/SeaMonkey" >&5 -echo $ECHO_N "checking whether to build Mozilla/SeaMonkey... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Mozilla/SeaMonkey" >&5 +$as_echo_n "checking whether to build Mozilla/SeaMonkey... " >&6; } if test -n "$enable_build_mozilla"; then BUILD_MOZAB="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else BUILD_MOZAB="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5 -echo $ECHO_N "checking whether to build provided NSS module... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build provided NSS module" >&5 +$as_echo_n "checking whether to build provided NSS module... " >&6; } if test "$enable_nss_module" != "no"; then ENABLE_NSS_MODULE="YES" BUILD_TYPE="$BUILD_TYPE NSS" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5 -echo $ECHO_N "checking for Mozilla build tooling... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mozilla build tooling" >&5 +$as_echo_n "checking for Mozilla build tooling... " >&6; } if test -z "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling not found. -Use the --with-mozilla-build option after installling the tools obtained -from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" >&5 -echo "$as_me: error: Mozilla build tooling not found. +as_fn_error "Mozilla build tooling not found. Use the --with-mozilla-build option after installling the tools obtained -from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" >&2;} - { (exit 1); exit 1; }; } +from http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32" "$LINENO" 5 else if test \( "$WITH_MINGWIN" = "yes" \) ; then if test ! -d "$MOZILLABUILD" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} - { (exit 1); exit 1; }; } +as_fn_error "Mozilla build tooling incomplete!" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi else if test ! -d "$MOZILLABUILD/moztools" \ -o ! -d "$MOZILLABUILD/msys" ; then -{ { echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5 -echo "$as_me: error: Mozilla build tooling incomplete!" >&2;} - { (exit 1); exit 1; }; } +as_fn_error "Mozilla build tooling incomplete!" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi fi fi fi else ENABLE_NSS_MODULE="NO" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi if test "$BUILD_MOZAB" = "TRUE"; then @@ -18075,13 +15208,11 @@ if test "$BUILD_MOZAB" = "TRUE"; then if test "$WITH_MINGWIN" != "yes"; then # compiling with MSVC. Only supported platform here is MSVS2005 at the moment. if test "$MSVSVER" != "2005"; then - { { echo "$as_me:$LINENO: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&5 -echo "$as_me: error: Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Building SeaMonkey is supported with Microsoft Visual Studio .NET 2005 only." "$LINENO" 5 fi else - { echo "$as_me:$LINENO: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 -echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&5 +$as_echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely to break." >&2;} echo "Building SeaMonkey with mingwin is not tested, and likely to break." >> warn fi fi @@ -18091,65 +15222,59 @@ echo "$as_me: WARNING: Building SeaMonkey with mingwin is not tested, and likely fi MOZILLA_SOURCE_VERSION="seamonkey-${MOZILLA_VERSION}.source" MOZILLA_FETCH_FILE=`grep $MOZILLA_SOURCE_VERSION ooo.lst` - echo "$as_me:$LINENO: checking for mozilla sources" >&5 -echo $ECHO_N "checking for mozilla sources... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mozilla sources" >&5 +$as_echo_n "checking for mozilla sources... " >&6; } if test -z "$MOZILLA_FETCH_FILE"; then - echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } HAVE_MOZILLA_TARBALL=n else - echo "$as_me:$LINENO: checking for $MOZILLA_FETCH_FILE" >&5 -echo $ECHO_N "checking for $MOZILLA_FETCH_FILE... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $MOZILLA_FETCH_FILE" >&5 +$as_echo_n "checking for $MOZILLA_FETCH_FILE... " >&6; } if test ! -e "$TARFILE_LOCATION/$MOZILLA_FETCH_FILE"; then if test -z "$DO_FETCH"; then - echo "$as_me:$LINENO: result: will be fetched" >&5 -echo "${ECHO_T}will be fetched" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: will be fetched" >&5 +$as_echo "will be fetched" >&6; } HAVE_MOZILLA_TARBALL=y else - echo "$as_me:$LINENO: result: not found" >&5 -echo "${ECHO_T}not found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } HAVE_MOZILLA_TARBALL=n fi else - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } HAVE_MOZILLA_TARBALL=y fi fi if test "$HAVE_MOZILLA_TARBALL" != "y"; then - { { echo "$as_me:$LINENO: error: Mozilla/SeaMonkey source archive not found. -Use \"./fetch_tarballs.sh ooo.lst\" to download." >&5 -echo "$as_me: error: Mozilla/SeaMonkey source archive not found. -Use \"./fetch_tarballs.sh ooo.lst\" to download." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Mozilla/SeaMonkey source archive not found. +Use \"./fetch_tarballs.sh ooo.lst\" to download." "$LINENO" 5 fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for moztools binaries" >&5 -echo $ECHO_N "checking for moztools binaries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for moztools binaries" >&5 +$as_echo_n "checking for moztools binaries... " >&6; } if test ! -e "$TARFILE_LOCATION/vc8-moztools.zip" ; then - { { echo "$as_me:$LINENO: error: The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip -(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&5 -echo "$as_me: error: The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip -(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "The following file is missing in $TARFILE_LOCATION: vc8-moztools.zip +(from ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic/vc8/)" "$LINENO" 5 else - echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi elif test "$_os" = "Darwin"; then if test "$MOZILLA_TOOLKIT" = "gtk2"; then - { echo "$as_me:$LINENO: checking whether mozilla can be built..." >&5 -echo "$as_me: checking whether mozilla can be built..." >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mozilla can be built..." >&5 +$as_echo "$as_me: checking whether mozilla can be built..." >&6;} succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18161,29 +15286,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18194,25 +15320,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZGTK2_CFLAGS" >&5 -echo $ECHO_N "checking MOZGTK2_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZGTK2_CFLAGS" >&5 +$as_echo_n "checking MOZGTK2_CFLAGS... " >&6; } MOZGTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` - echo "$as_me:$LINENO: result: $MOZGTK2_CFLAGS" >&5 -echo "${ECHO_T}$MOZGTK2_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZGTK2_CFLAGS" >&5 +$as_echo "$MOZGTK2_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZGTK2_LIBS" >&5 -echo $ECHO_N "checking MOZGTK2_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZGTK2_LIBS" >&5 +$as_echo_n "checking MOZGTK2_LIBS... " >&6; } MOZGTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 libIDL-2.0 >= 0.8"` - echo "$as_me:$LINENO: result: $MOZGTK2_LIBS" >&5 -echo "${ECHO_T}$MOZGTK2_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZGTK2_LIBS" >&5 +$as_echo "$MOZGTK2_LIBS" >&6; } else MOZGTK2_CFLAGS="" MOZGTK2_LIBS="" @@ -18231,12 +15357,10 @@ echo "${ECHO_T}$MOZGTK2_LIBS" >&6 fi if test $succeeded = yes; then - { echo "$as_me:$LINENO: OK - can build mozilla" >&5 -echo "$as_me: OK - can build mozilla" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: OK - can build mozilla" >&5 +$as_echo "$as_me: OK - can build mozilla" >&6;} else - { { echo "$as_me:$LINENO: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&5 -echo "$as_me: error: Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Prerequisites to build mozilla not met. Either use the precompiled mozilla binaries or install the missing packages" "$LINENO" 5 fi else @@ -18246,10 +15370,10 @@ echo "$as_me: error: Prerequisites to build mozilla not met. Either use the prec if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18261,29 +15385,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18294,25 +15419,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.6.3" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.6.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libIDL-2.0 >= 0.6.3" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.6.3... " >&6; } if $PKG_CONFIG --exists "libIDL-2.0 >= 0.6.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.6.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18337,9 +15462,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&5 -echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL 0.6.3 or newer is needed to build mozilla with mac toolkit." "$LINENO" 5 fi fi else @@ -18351,10 +15474,10 @@ echo "$as_me: error: libIDL 0.6.3 or newer is needed to build mozilla with mac t if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18366,29 +15489,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18399,25 +15523,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0" >&5 -echo $ECHO_N "checking for gtk+-2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0" >&5 +$as_echo_n "checking for gtk+-2.0... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+-2.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18442,9 +15566,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: GTK2 is needed to build mozilla." >&5 -echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "GTK2 is needed to build mozilla." "$LINENO" 5 fi succeeded=no @@ -18452,10 +15574,10 @@ echo "$as_me: error: GTK2 is needed to build mozilla." >&2;} if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18467,29 +15589,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18500,25 +15623,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libIDL-2.0 >= 0.8.0" >&5 -echo $ECHO_N "checking for libIDL-2.0 >= 0.8.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libIDL-2.0 >= 0.8.0" >&5 +$as_echo_n "checking for libIDL-2.0 >= 0.8.0... " >&6; } if $PKG_CONFIG --exists "libIDL-2.0 >= 0.8.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libIDL-2.0 >= 0.8.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libIDL-2.0 >= 0.8.0"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18543,9 +15666,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL >= 0.8.0 is needed when using GTK2 to build mozilla." "$LINENO" 5 fi else @@ -18554,10 +15675,10 @@ echo "$as_me: error: libIDL >= 0.8.0 is needed when using GTK2 to build mozilla. if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18569,29 +15690,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18602,25 +15724,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+ >= 1.2.3" >&5 -echo $ECHO_N "checking for gtk+ >= 1.2.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+ >= 1.2.3" >&5 +$as_echo_n "checking for gtk+ >= 1.2.3... " >&6; } if $PKG_CONFIG --exists "gtk+ >= 1.2.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "gtk+ >= 1.2.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "gtk+ >= 1.2.3"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18645,9 +15767,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZGTK"; then - { { echo "$as_me:$LINENO: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "gtk 1.2 is needed when not using GTK2 to build mozilla." "$LINENO" 5 fi succeeded=no @@ -18655,10 +15775,10 @@ echo "$as_me: error: gtk 1.2 is needed when not using GTK2 to build mozilla." >& if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -18670,29 +15790,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -18703,25 +15824,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 -echo $ECHO_N "checking for libidl >= 0.6.3 libidl <= 0.6.8... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidl >= 0.6.3 libidl <= 0.6.8" >&5 +$as_echo_n "checking for libidl >= 0.6.3 libidl <= 0.6.8... " >&6; } if $PKG_CONFIG --exists "libidl >= 0.6.3 libidl <= 0.6.8" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking MOZLIBREQ_CFLAGS" >&5 -echo $ECHO_N "checking MOZLIBREQ_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_CFLAGS" >&5 +$as_echo_n "checking MOZLIBREQ_CFLAGS... " >&6; } MOZLIBREQ_CFLAGS=`$PKG_CONFIG --cflags "libidl >= 0.6.3 libidl <= 0.6.8"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_CFLAGS" >&5 -echo "${ECHO_T}$MOZLIBREQ_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_CFLAGS" >&5 +$as_echo "$MOZLIBREQ_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking MOZLIBREQ_LIBS" >&5 -echo $ECHO_N "checking MOZLIBREQ_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking MOZLIBREQ_LIBS" >&5 +$as_echo_n "checking MOZLIBREQ_LIBS... " >&6; } MOZLIBREQ_LIBS=`$PKG_CONFIG --libs "libidl >= 0.6.3 libidl <= 0.6.8"` - echo "$as_me:$LINENO: result: $MOZLIBREQ_LIBS" >&5 -echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOZLIBREQ_LIBS" >&5 +$as_echo "$MOZLIBREQ_LIBS" >&6; } else MOZLIBREQ_CFLAGS="" MOZLIBREQ_LIBS="" @@ -18746,9 +15867,7 @@ echo "${ECHO_T}$MOZLIBREQ_LIBS" >&6 fi if test -z "$MOZIDL"; then - { { echo "$as_me:$LINENO: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&5 -echo "$as_me: error: libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libIDL 0.6.3 - 0.6.8 is needed when not using GTK2 to build mozilla." "$LINENO" 5 fi fi fi @@ -18768,225 +15887,61 @@ fi -echo "$as_me:$LINENO: checking which sane header to use" >&5 -echo $ECHO_N "checking which sane header to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which sane header to use" >&5 +$as_echo_n "checking which sane header to use... " >&6; } if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \ test "$with_system_sane_header" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SANE_HEADER=YES - if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 -if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking sane/sane.h usability" >&5 -echo $ECHO_N "checking sane/sane.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking sane/sane.h presence" >&5 -echo $ECHO_N "checking sane/sane.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: sane/sane.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: sane/sane.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: sane/sane.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: sane/sane.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: sane/sane.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: sane/sane.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: sane/sane.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: sane/sane.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for sane/sane.h" >&5 -echo $ECHO_N "checking for sane/sane.h... $ECHO_C" >&6 -if test "${ac_cv_header_sane_sane_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_sane_sane_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_sane_sane_h" >&5 -echo "${ECHO_T}$ac_cv_header_sane_sane_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "sane/sane.h" "ac_cv_header_sane_sane_h" "$ac_includes_default" +if test "x$ac_cv_header_sane_sane_h" = x""yes; then : -fi -if test $ac_cv_header_sane_sane_h = yes; then - : else - { { echo "$as_me:$LINENO: error: sane not found. install sane" >&5 -echo "$as_me: error: sane not found. install sane" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "sane not found. install sane" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SANE_HEADER=NO BUILD_TYPE="$BUILD_TYPE SANE" fi -echo "$as_me:$LINENO: checking which icu to use" >&5 -echo $ECHO_N "checking which icu to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which icu to use" >&5 +$as_echo_n "checking which icu to use... " >&6; } if test -n "$with_system_icu" -o -n "$with_system_libs" && \ test "$with_system_icu" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_ICU=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - echo "$as_me:$LINENO: checking for unicode/rbbi.h" >&5 -echo $ECHO_N "checking for unicode/rbbi.h... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unicode/rbbi.h" >&5 +$as_echo_n "checking for unicode/rbbi.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unicode/rbbi.h _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - echo "$as_me:$LINENO: result: checked." >&5 -echo "${ECHO_T}checked." >&6 +if ac_fn_cxx_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked." >&5 +$as_echo "checked." >&6; } else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { { echo "$as_me:$LINENO: error: icu headers not found." >&5 -echo "$as_me: error: icu headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "icu headers not found." "$LINENO" 5 fi rm -f conftest.err conftest.$ac_ext # Extract the first word of "genbrk", so it can be a program name with args. set dummy genbrk; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENBRK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENBRK+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENBRK in [\\/]* | ?:[\\/]*) @@ -18999,39 +15954,38 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENBRK="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENBRK=$ac_cv_path_SYSTEM_GENBRK - if test -n "$SYSTEM_GENBRK"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENBRK" >&5 -echo "${ECHO_T}$SYSTEM_GENBRK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENBRK" >&5 +$as_echo "$SYSTEM_GENBRK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENBRK"; then - { { echo "$as_me:$LINENO: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&5 -echo "$as_me: error: \\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"genbrk\\" not found in \$PATH, install the icu development tool \\"genbrk\"\" "$LINENO" 5 fi # Extract the first word of "genccode", so it can be a program name with args. set dummy genccode; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENCCODE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENCCODE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCCODE in [\\/]* | ?:[\\/]*) @@ -19044,39 +15998,38 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCCODE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCCODE=$ac_cv_path_SYSTEM_GENCCODE - if test -n "$SYSTEM_GENCCODE"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENCCODE" >&5 -echo "${ECHO_T}$SYSTEM_GENCCODE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENCCODE" >&5 +$as_echo "$SYSTEM_GENCCODE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCCODE"; then - { { echo "$as_me:$LINENO: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&5 -echo "$as_me: error: \\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"genccode\\" not found in \$PATH, install the icu development tool \\"genccode\"\" "$LINENO" 5 fi # Extract the first word of "gencmn", so it can be a program name with args. set dummy gencmn; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_SYSTEM_GENCMN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SYSTEM_GENCMN+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $SYSTEM_GENCMN in [\\/]* | ?:[\\/]*) @@ -19089,47 +16042,41 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SYSTEM_GENCMN="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi SYSTEM_GENCMN=$ac_cv_path_SYSTEM_GENCMN - if test -n "$SYSTEM_GENCMN"; then - echo "$as_me:$LINENO: result: $SYSTEM_GENCMN" >&5 -echo "${ECHO_T}$SYSTEM_GENCMN" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSTEM_GENCMN" >&5 +$as_echo "$SYSTEM_GENCMN" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$SYSTEM_GENCMN"; then - { { echo "$as_me:$LINENO: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&5 -echo "$as_me: error: \\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"gencmn\\" not found in \$PATH, install the icu development tool \\"gencmn\"\" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking ICU version" >&5 -echo $ECHO_N "checking ICU version... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ICU version" >&5 +$as_echo_n "checking ICU version... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -19142,31 +16089,16 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: not suitable, only >= 4.0 supported currently" >&5 -echo "$as_me: error: not suitable, only >= 4.0 supported currently" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not suitable, only >= 4.0 supported currently" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -19174,8 +16106,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_ICU=NO BUILD_TYPE="$BUILD_TYPE ICU" fi @@ -19185,18 +16117,18 @@ fi -echo "$as_me:$LINENO: checking whether to enable graphite support" >&5 -echo $ECHO_N "checking whether to enable graphite support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable graphite support" >&5 +$as_echo_n "checking whether to enable graphite support... " >&6; } if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_GRAPHITE="TRUE" - echo "$as_me:$LINENO: checking which graphite to use" >&5 -echo $ECHO_N "checking which graphite to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which graphite to use" >&5 +$as_echo_n "checking which graphite to use... " >&6; } if test -n "$with_system_graphite" -o -n "$with_system_libs" && \ test "$with_system_graphite" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_GRAPHITE=YES succeeded=no @@ -19204,10 +16136,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -19219,29 +16151,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -19252,25 +16185,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for silgraphite " >&5 -echo $ECHO_N "checking for silgraphite ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for silgraphite " >&5 +$as_echo_n "checking for silgraphite ... " >&6; } if $PKG_CONFIG --exists "silgraphite " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5 -echo $ECHO_N "checking GRAPHITE_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GRAPHITE_CFLAGS" >&5 +$as_echo_n "checking GRAPHITE_CFLAGS... " >&6; } GRAPHITE_CFLAGS=`$PKG_CONFIG --cflags "silgraphite "` - echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5 -echo "${ECHO_T}$GRAPHITE_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GRAPHITE_CFLAGS" >&5 +$as_echo "$GRAPHITE_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5 -echo $ECHO_N "checking GRAPHITE_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GRAPHITE_LIBS" >&5 +$as_echo_n "checking GRAPHITE_LIBS... " >&6; } GRAPHITE_LIBS=`$PKG_CONFIG --libs "silgraphite "` - echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5 -echo "${ECHO_T}$GRAPHITE_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GRAPHITE_LIBS" >&5 +$as_echo "$GRAPHITE_LIBS" >&6; } else GRAPHITE_CFLAGS="" GRAPHITE_LIBS="" @@ -19291,20 +16224,18 @@ echo "${ECHO_T}$GRAPHITE_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_GRAPHITE=NO BUILD_TYPE="$BUILD_TYPE GRAPHITE" fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -19314,15 +16245,13 @@ fi if test "$_os" = "Darwin"; then if test "x$with_x" = "xyes"; then - { { echo "$as_me:$LINENO: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&5 -echo "$as_me: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X11 build is no longer supported on MacOSX, please use the native aqua build" "$LINENO" 5 else - echo "$as_me:$LINENO: checking for /System/Library/Frameworks/AppKit.framework" >&5 -echo $ECHO_N "checking for /System/Library/Frameworks/AppKit.framework... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /System/Library/Frameworks/AppKit.framework" >&5 +$as_echo_n "checking for /System/Library/Frameworks/AppKit.framework... " >&6; } if test -d "/System/Library/Frameworks/AppKit.framework/"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } x_includes="no_x_includes" x_libraries="no_x_libraries" enable_gtk=no @@ -19330,9 +16259,7 @@ echo "${ECHO_T}yes" >&6 ENABLE_CUPS="" else - { { echo "$as_me:$LINENO: error: No AppKit.framewrok found" >&5 -echo "$as_me: error: No AppKit.framewrok found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No AppKit.framewrok found" "$LINENO" 5 fi fi fi @@ -19344,44 +16271,47 @@ elif test "$_os" = "OS2" ; then echo "Do Nothing for _os = OS2. Don't check for X11." : elif test "$_os" != "WINNT" ; then - echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi -fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else - if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + case $x_includes,$x_libraries in #( + *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : + $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no -rm -fr conftest.dir +rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -_ACEOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done @@ -19389,37 +16319,41 @@ _ACEOF # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in - /usr/include) ;; + /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in - /usr/lib | /lib) ;; + /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. - rm -fr conftest.dir + rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include +/usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 +/usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include +/usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 +/usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 @@ -19439,42 +16373,18 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +if ac_fn_c_try_cpp "$LINENO"; then : # We can compile using X headers with no special include directory. ac_x_includes= else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then + if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi @@ -19488,102 +16398,76 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lXt $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include int main () { -XtMalloc (0) +XrmInitialize () ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r $ac_dir/libXt.$ac_extension; then + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no -if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac fi - - fi +;; #( + *) have_x=yes;; + esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then - echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. -cat >>confdefs.h <<\_ACEOF -#define X_DISPLAY_MISSING 1 -_ACEOF +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else @@ -19596,16 +16480,12 @@ else X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . - case `(uname -sr) 2>/dev/null` in - "SunOS 5"*) - echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 - ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -19616,48 +16496,13 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_nospace=yes +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_R_nospace=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $ac_R_nospace = yes; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - X_LIBS="$X_LIBS -R$x_libraries" - else - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -19668,48 +16513,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_R_space=yes +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_R_space=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $ac_R_space = yes; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$as_me:$LINENO: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6 - fi - fi - LIBS=$ac_xsave_LIBS - esac +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS fi # Check for system-dependent libraries X programs must link with. @@ -19723,196 +16541,112 @@ echo "${ECHO_T}neither works" >&6 # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_link "$LINENO"; then : -echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dnet_dnet_ntoa=no + ac_cv_lib_dnet_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_dnet_ntoa = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char dnet_ntoa (); int main () { -dnet_ntoa (); +return dnet_ntoa (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dnet_stub_dnet_ntoa=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_dnet_stub_dnet_ntoa=no + ac_cv_lib_dnet_stub_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 -if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi fi fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, @@ -19923,232 +16657,90 @@ rm -f conftest.err conftest.$ac_objext \ # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. - echo "$as_me:$LINENO: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. - For example, HP-UX 11i declares gettimeofday. */ -#define gethostbyname innocuous_gethostbyname - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef gethostbyname - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -char (*f) () = gethostbyname; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != gethostbyname; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = x""yes; then : -ac_cv_func_gethostbyname=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_nsl_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_nsl_gethostbyname=no + ac_cv_lib_nsl_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -if test $ac_cv_lib_nsl_gethostbyname = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gethostbyname (); int main () { -gethostbyname (); +return gethostbyname (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_gethostbyname=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_bsd_gethostbyname=no + ac_cv_lib_bsd_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 -if test $ac_cv_lib_bsd_gethostbyname = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi @@ -20162,489 +16754,147 @@ fi # variants that don't use the name server (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. - echo "$as_me:$LINENO: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6 -if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define connect to an innocuous variant, in case declares connect. - For example, HP-UX 11i declares gettimeofday. */ -#define connect innocuous_connect - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef connect - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -choke me -#else -char (*f) () = connect; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != connect; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_connect=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = x""yes; then : -ac_cv_func_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then - echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if test "${ac_cv_lib_socket_connect+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char connect (); int main () { -connect (); +return connect (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_socket_connect=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_socket_connect=no + ac_cv_lib_socket_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test $ac_cv_lib_socket_connect = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = x""yes; then : X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi fi # Guillermo Gomez says -lposix is necessary on A/UX. - echo "$as_me:$LINENO: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6 -if test "${ac_cv_func_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define remove to an innocuous variant, in case declares remove. - For example, HP-UX 11i declares gettimeofday. */ -#define remove innocuous_remove - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char remove (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef remove - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) -choke me -#else -char (*f) () = remove; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != remove; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = x""yes; then : -ac_cv_func_remove=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6 if test $ac_cv_func_remove = no; then - echo "$as_me:$LINENO: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 -if test "${ac_cv_lib_posix_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (); -int -main () -{ -remove (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_posix_remove=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_posix_remove=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 -if test $ac_cv_lib_posix_remove = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -fi - - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo "$as_me:$LINENO: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6 -if test "${ac_cv_func_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shmat to an innocuous variant, in case declares shmat. - For example, HP-UX 11i declares gettimeofday. */ -#define shmat innocuous_shmat - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shmat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shmat - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) -choke me -#else -char (*f) () = shmat; -#endif + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if test "${ac_cv_lib_posix_remove+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus -} +extern "C" #endif - +char remove (); int main () { -return f != shmat; +return remove (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shmat=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_shmat=no + ac_cv_lib_posix_remove=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = x""yes; then : + fi -echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then - echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 -if test "${ac_cv_lib_ipc_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if test "${ac_cv_lib_ipc_shmat+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char shmat (); int main () { -shmat (); +return shmat (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ipc_shmat=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ipc_shmat=no + ac_cv_lib_ipc_shmat=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 -if test $ac_cv_lib_ipc_shmat = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi @@ -20660,71 +16910,43 @@ fi # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry - echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 -if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char IceConnectionNumber (); int main () { -IceConnectionNumber (); +return IceConnectionNumber (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ICE_IceConnectionNumber=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_ICE_IceConnectionNumber=no + ac_cv_lib_ICE_IceConnectionNumber=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 -if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then : X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi @@ -20741,154 +16963,92 @@ fi x_libraries="default_x_libraries" fi if test -z "$x_libraries"; then - { { echo "$as_me:$LINENO: error: No X libraries found" >&5 -echo "$as_me: error: No X libraries found" >&2;} - { (exit 1); exit 1; }; } # Exit + as_fn_error "No X libraries found" "$LINENO" 5 # Exit fi if test -z "$x_includes"; then - { { echo "$as_me:$LINENO: error: No X includes found" >&5 -echo "$as_me: error: No X includes found" >&2;} - { (exit 1); exit 1; }; } # Exit + as_fn_error "No X includes found" "$LINENO" 5 # Exit fi CFLAGS=$X_CFLAGS LDFLAGS="$X_LDFLAGS $X_LIBS" - echo "$as_me:$LINENO: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XOpenDisplay in -lX11" >&5 +$as_echo_n "checking for XOpenDisplay in -lX11... " >&6; } +if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XOpenDisplay (); int main () { -XOpenDisplay (); +return XOpenDisplay (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_X11_XOpenDisplay=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_X11_XOpenDisplay=no + ac_cv_lib_X11_XOpenDisplay=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 -if test $ac_cv_lib_X11_XOpenDisplay = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XOpenDisplay" >&5 +$as_echo "$ac_cv_lib_X11_XOpenDisplay" >&6; } +if test "x$ac_cv_lib_X11_XOpenDisplay" = x""yes; then : x_libs="-lX11 $X_EXTRA_LIBS" else - { { echo "$as_me:$LINENO: error: X Development libraries not found" >&5 -echo "$as_me: error: X Development libraries not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X Development libraries not found" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for XauDisposeAuth in -lXau" >&5 -echo $ECHO_N "checking for XauDisposeAuth in -lXau... $ECHO_C" >&6 -if test "${ac_cv_lib_Xau_XauDisposeAuth+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XauDisposeAuth in -lXau" >&5 +$as_echo_n "checking for XauDisposeAuth in -lXau... " >&6; } +if test "${ac_cv_lib_Xau_XauDisposeAuth+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXau $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XauDisposeAuth (); int main () { -XauDisposeAuth (); +return XauDisposeAuth (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xau_XauDisposeAuth=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xau_XauDisposeAuth=no + ac_cv_lib_Xau_XauDisposeAuth=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 -echo "${ECHO_T}$ac_cv_lib_Xau_XauDisposeAuth" >&6 -if test $ac_cv_lib_Xau_XauDisposeAuth = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xau_XauDisposeAuth" >&5 +$as_echo "$ac_cv_lib_Xau_XauDisposeAuth" >&6; } +if test "x$ac_cv_lib_Xau_XauDisposeAuth" = x""yes; then : XAU_LIBS="-lXau" fi @@ -20920,205 +17080,76 @@ fi if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then - echo "$as_me:$LINENO: checking whether to use Xaw" >&5 -echo $ECHO_N "checking whether to use Xaw... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Xaw" >&5 +$as_echo_n "checking whether to use Xaw... " >&6; } if test "$enable_Xaw" = "no"; then DISABLE_XAW=TRUE - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - -for ac_header in X11/Composite.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + for ac_header in X11/Composite.h +do : + ac_fn_c_check_header_compile "$LINENO" "X11/Composite.h" "ac_cv_header_X11_Composite_h" "#include +" +if test "x$ac_cv_header_X11_Composite_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_X11_COMPOSITE_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xt include headers not found" >&5 -echo "$as_me: error: Xt include headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xt include headers not found" "$LINENO" 5 fi done else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -for ac_header in X11/Xaw/Label.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + for ac_header in X11/Xaw/Label.h +do : + ac_fn_c_check_header_compile "$LINENO" "X11/Xaw/Label.h" "ac_cv_header_X11_Xaw_Label_h" "#include +" +if test "x$ac_cv_header_X11_Xaw_Label_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_X11_XAW_LABEL_H 1 _ACEOF else - { { echo "$as_me:$LINENO: error: Xaw include headers not found" >&5 -echo "$as_me: error: Xaw include headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xaw include headers not found" "$LINENO" 5 fi done - -echo "$as_me:$LINENO: checking for main in -lXaw" >&5 -echo $ECHO_N "checking for main in -lXaw... $ECHO_C" >&6 -if test "${ac_cv_lib_Xaw_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lXaw" >&5 +$as_echo_n "checking for main in -lXaw... " >&6; } +if test "${ac_cv_lib_Xaw_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXaw $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xaw_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xaw_main=no + ac_cv_lib_Xaw_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xaw_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xaw_main" >&6 -if test $ac_cv_lib_Xaw_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xaw_main" >&5 +$as_echo "$ac_cv_lib_Xaw_main" >&6; } +if test "x$ac_cv_lib_Xaw_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXAW 1 _ACEOF @@ -21126,9 +17157,7 @@ _ACEOF LIBS="-lXaw $LIBS" else - { { echo "$as_me:$LINENO: error: Xaw library not found or functional" >&5 -echo "$as_me: error: Xaw library not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xaw library not found or functional" "$LINENO" 5 fi fi @@ -21138,166 +17167,23 @@ fi if test "$ENABLE_FONTCONFIG" = "TRUE" ; then - if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 -if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h usability" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking fontconfig/fontconfig.h presence" >&5 -echo $ECHO_N "checking fontconfig/fontconfig.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: fontconfig/fontconfig.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for fontconfig/fontconfig.h" >&5 -echo $ECHO_N "checking for fontconfig/fontconfig.h... $ECHO_C" >&6 -if test "${ac_cv_header_fontconfig_fontconfig_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_fontconfig_fontconfig_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_fontconfig_fontconfig_h" >&5 -echo "${ECHO_T}$ac_cv_header_fontconfig_fontconfig_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "fontconfig/fontconfig.h" "ac_cv_header_fontconfig_fontconfig_h" "$ac_includes_default" +if test "x$ac_cv_header_fontconfig_fontconfig_h" = x""yes; then : -fi -if test $ac_cv_header_fontconfig_fontconfig_h = yes; then - : else - { { echo "$as_me:$LINENO: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&5 -echo "$as_me: error: fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "fontconfig/fontconfig.h could not be found. libfontconfig1-dev or fontconfig???-devel missing?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking whether fontconfig is >= 2.2.0" >&5 -echo $ECHO_N "checking whether fontconfig is >= 2.2.0... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fontconfig is >= 2.2.0" >&5 +$as_echo_n "checking whether fontconfig is >= 2.2.0... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -21308,271 +17194,89 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, fontconfig >= 2.2.0 needed" >&5 -echo "$as_me: error: no, fontconfig >= 2.2.0 needed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, fontconfig >= 2.2.0 needed" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi -echo "$as_me:$LINENO: checking whether to link to Xrender" >&5 -echo $ECHO_N "checking whether to link to Xrender... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to link to Xrender" >&5 +$as_echo_n "checking whether to link to Xrender... " >&6; } if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } XRENDER_LINK=YES with_system_xrender_headers=yes else - echo "$as_me:$LINENO: result: no, dynamically open it" >&5 -echo "${ECHO_T}no, dynamically open it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, dynamically open it" >&5 +$as_echo "no, dynamically open it" >&6; } XRENDER_LINK=NO fi -echo "$as_me:$LINENO: checking which Xrender headers to use" >&5 -echo $ECHO_N "checking which Xrender headers to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which Xrender headers to use" >&5 +$as_echo_n "checking which Xrender headers to use... " >&6; } if test -n "$with_system_xrender_headers" -o -n "$with_system_headers" && \ test "$with_system_xrender_headers" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_XRENDER_HEADERS=YES - if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xrender.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrender.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrender.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xrender.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrender.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrender_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xrender_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrender_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrender_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrender.h" "ac_cv_header_X11_extensions_Xrender_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xrender_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xrender_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Xrender not found. install X" >&5 -echo "$as_me: error: Xrender not found. install X" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xrender not found. install X" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_XRENDER_HEADERS=NO BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" fi if test "$XRENDER_LINK" = "YES"; then - -echo "$as_me:$LINENO: checking for XRenderQueryVersion in -lXrender" >&5 -echo $ECHO_N "checking for XRenderQueryVersion in -lXrender... $ECHO_C" >&6 -if test "${ac_cv_lib_Xrender_XRenderQueryVersion+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRenderQueryVersion in -lXrender" >&5 +$as_echo_n "checking for XRenderQueryVersion in -lXrender... " >&6; } +if test "${ac_cv_lib_Xrender_XRenderQueryVersion+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrender $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRenderQueryVersion (); int main () { -XRenderQueryVersion (); +return XRenderQueryVersion (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xrender_XRenderQueryVersion=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xrender_XRenderQueryVersion=no + ac_cv_lib_Xrender_XRenderQueryVersion=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrender_XRenderQueryVersion" >&6 -if test $ac_cv_lib_Xrender_XRenderQueryVersion = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrender_XRenderQueryVersion" >&5 +$as_echo "$ac_cv_lib_Xrender_XRenderQueryVersion" >&6; } +if test "x$ac_cv_lib_Xrender_XRenderQueryVersion" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRENDER 1 _ACEOF @@ -21580,22 +17284,20 @@ _ACEOF LIBS="-lXrender $LIBS" else - { { echo "$as_me:$LINENO: error: libXrender not found or functional" >&5 -echo "$as_me: error: libXrender not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libXrender not found or functional" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking whether to enable RandR support" >&5 -echo $ECHO_N "checking whether to enable RandR support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable RandR support" >&5 +$as_echo_n "checking whether to enable RandR support... " >&6; } if test "$test_randr" = "yes" -a \( "$enable_randr" = "yes" -o "$enable_randr" = "TRUE" \) ; then if test -z "$enable_randr_link" -o "$enable_randr_link" = "no"; then XRANDR_DLOPEN="TRUE" - echo "$as_me:$LINENO: result: resorting to dlopen libXrandr at runtime" >&5 -echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: resorting to dlopen libXrandr at runtime" >&5 +$as_echo "resorting to dlopen libXrandr at runtime" >&6; } else XRANDR_DLOPEN="FALSE" @@ -21604,10 +17306,10 @@ echo "${ECHO_T}resorting to dlopen libXrandr at runtime" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -21619,29 +17321,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -21652,25 +17355,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for xrandr >= 1.2" >&5 -echo $ECHO_N "checking for xrandr >= 1.2... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xrandr >= 1.2" >&5 +$as_echo_n "checking for xrandr >= 1.2... " >&6; } if $PKG_CONFIG --exists "xrandr >= 1.2" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking XRANDR_CFLAGS" >&5 -echo $ECHO_N "checking XRANDR_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking XRANDR_CFLAGS" >&5 +$as_echo_n "checking XRANDR_CFLAGS... " >&6; } XRANDR_CFLAGS=`$PKG_CONFIG --cflags "xrandr >= 1.2"` - echo "$as_me:$LINENO: result: $XRANDR_CFLAGS" >&5 -echo "${ECHO_T}$XRANDR_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XRANDR_CFLAGS" >&5 +$as_echo "$XRANDR_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking XRANDR_LIBS" >&5 -echo $ECHO_N "checking XRANDR_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking XRANDR_LIBS" >&5 +$as_echo_n "checking XRANDR_LIBS... " >&6; } XRANDR_LIBS=`$PKG_CONFIG --libs "xrandr >= 1.2"` - echo "$as_me:$LINENO: result: $XRANDR_LIBS" >&5 -echo "${ECHO_T}$XRANDR_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XRANDR_LIBS" >&5 +$as_echo "$XRANDR_LIBS" >&6; } else XRANDR_CFLAGS="" XRANDR_LIBS="" @@ -21690,224 +17393,57 @@ echo "${ECHO_T}$XRANDR_LIBS" >&6 if test $succeeded = yes; then ENABLE_RANDR="TRUE" - else - ENABLE_RANDR="" - fi - - if test "$ENABLE_RANDR" != "TRUE"; then - if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xrandr.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xrandr.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xrandr.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xrandr.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xrandr_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xrandr_h" >&6 + else + ENABLE_RANDR="" + fi + + if test "$ENABLE_RANDR" != "TRUE"; then + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xrandr_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xrandr_h = yes; then - : else - { { echo "$as_me:$LINENO: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&5 -echo "$as_me: error: X11/extensions/Xrandr.h could not be found. X11 dev missing?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "X11/extensions/Xrandr.h could not be found. X11 dev missing?" "$LINENO" 5 fi XRANDR_CFLAGS=" " - -echo "$as_me:$LINENO: checking for XRRQueryExtension in -lXrandr" >&5 -echo $ECHO_N "checking for XRRQueryExtension in -lXrandr... $ECHO_C" >&6 -if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRQueryExtension in -lXrandr" >&5 +$as_echo_n "checking for XRRQueryExtension in -lXrandr... " >&6; } +if test "${ac_cv_lib_Xrandr_XRRQueryExtension+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXrandr $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XRRQueryExtension (); int main () { -XRRQueryExtension (); +return XRRQueryExtension (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xrandr_XRRQueryExtension=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xrandr_XRRQueryExtension=no + ac_cv_lib_Xrandr_XRRQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 -echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRQueryExtension" >&6 -if test $ac_cv_lib_Xrandr_XRRQueryExtension = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrandr_XRRQueryExtension" >&5 +$as_echo "$ac_cv_lib_Xrandr_XRRQueryExtension" >&6; } +if test "x$ac_cv_lib_Xrandr_XRRQueryExtension" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXRANDR 1 _ACEOF @@ -21915,53 +17451,51 @@ _ACEOF LIBS="-lXrandr $LIBS" else - { { echo "$as_me:$LINENO: error: libXrandr not found or functional" >&5 -echo "$as_me: error: libXrandr not found or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libXrandr not found or functional" "$LINENO" 5 fi XRANDR_LIBS="-lXrandr " ENABLE_RANDR="TRUE" - echo "$as_me:$LINENO: result: enabling RandR support" >&5 -echo "${ECHO_T}enabling RandR support" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabling RandR support" >&5 +$as_echo "enabling RandR support" >&6; } fi fi else ENABLE_RANDR="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to use neon" >&5 -echo $ECHO_N "checking whether to use neon... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use neon" >&5 +$as_echo_n "checking whether to use neon... " >&6; } if test "$enable_neon" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } DISABLE_NEON=TRUE else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -echo "$as_me:$LINENO: checking which neon to use" >&5 -echo $ECHO_N "checking which neon to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which neon to use" >&5 +$as_echo_n "checking which neon to use... " >&6; } if test -n "$with_system_neon" -o -n "$with_system_libs" && \ test "$with_system_neon" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -21973,29 +17507,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22006,25 +17541,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for neon >= 0.24.0" >&5 -echo $ECHO_N "checking for neon >= 0.24.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for neon >= 0.24.0" >&5 +$as_echo_n "checking for neon >= 0.24.0... " >&6; } if $PKG_CONFIG --exists "neon >= 0.24.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking NEON_CFLAGS" >&5 -echo $ECHO_N "checking NEON_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking NEON_CFLAGS" >&5 +$as_echo_n "checking NEON_CFLAGS... " >&6; } NEON_CFLAGS=`$PKG_CONFIG --cflags "neon >= 0.24.0"` - echo "$as_me:$LINENO: result: $NEON_CFLAGS" >&5 -echo "${ECHO_T}$NEON_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEON_CFLAGS" >&5 +$as_echo "$NEON_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking NEON_LIBS" >&5 -echo $ECHO_N "checking NEON_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking NEON_LIBS" >&5 +$as_echo_n "checking NEON_LIBS... " >&6; } NEON_LIBS=`$PKG_CONFIG --libs "neon >= 0.24.0"` - echo "$as_me:$LINENO: result: $NEON_LIBS" >&5 -echo "${ECHO_T}$NEON_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEON_LIBS" >&5 +$as_echo "$NEON_LIBS" >&6; } else NEON_CFLAGS="" NEON_LIBS="" @@ -22045,17 +17580,15 @@ echo "${ECHO_T}$NEON_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: you need neon >= 0.24.x for system-neon" >&5 -echo "$as_me: error: you need neon >= 0.24.x for system-neon" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "you need neon >= 0.24.x for system-neon" "$LINENO" 5 fi NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`" NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1" SYSTEM_NEON=YES else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_NEON=NO NEON_LIBS=-lneon NEON_CFLAGS= @@ -22070,12 +17603,12 @@ fi if test "$_os" = "Darwin" && test "$with_system_openssl" != "no"; then with_system_openssl=yes fi -echo "$as_me:$LINENO: checking which libssl to use" >&5 -echo $ECHO_N "checking which libssl to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libssl to use" >&5 +$as_echo_n "checking which libssl to use... " >&6; } if test -n "$with_system_openssl" -o -n "$with_system_libs" && \ test "$with_system_openssl" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } # Mac OS builds should get out without extra stuff is the Mac porters' # wish. And pkg-config is although Xcode ships a .pc for openssl if test "$_os" = "Darwin"; then @@ -22088,10 +17621,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22103,29 +17636,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22136,25 +17670,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for openssl " >&5 -echo $ECHO_N "checking for openssl ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl " >&5 +$as_echo_n "checking for openssl ... " >&6; } if $PKG_CONFIG --exists "openssl " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking OPENSSL_CFLAGS" >&5 -echo $ECHO_N "checking OPENSSL_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OPENSSL_CFLAGS" >&5 +$as_echo_n "checking OPENSSL_CFLAGS... " >&6; } OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl "` - echo "$as_me:$LINENO: result: $OPENSSL_CFLAGS" >&5 -echo "${ECHO_T}$OPENSSL_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL_CFLAGS" >&5 +$as_echo "$OPENSSL_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking OPENSSL_LIBS" >&5 -echo $ECHO_N "checking OPENSSL_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OPENSSL_LIBS" >&5 +$as_echo_n "checking OPENSSL_LIBS... " >&6; } OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl "` - echo "$as_me:$LINENO: result: $OPENSSL_LIBS" >&5 -echo "${ECHO_T}$OPENSSL_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL_LIBS" >&5 +$as_echo "$OPENSSL_LIBS" >&6; } else OPENSSL_CFLAGS="" OPENSSL_LIBS="" @@ -22175,16 +17709,14 @@ echo "${ECHO_T}$OPENSSL_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (openssl ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi SYSTEM_OPENSSL=YES else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_OPENSSL=NO BUILD_TYPE="$BUILD_TYPE OPENSSL" fi @@ -22192,33 +17724,33 @@ fi -echo "$as_me:$LINENO: checking whether to enable agg" >&5 -echo $ECHO_N "checking whether to enable agg... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable agg" >&5 +$as_echo_n "checking whether to enable agg... " >&6; } if test "$with_agg" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_AGG=YES - echo "$as_me:$LINENO: checking which AGG to use" >&5 -echo $ECHO_N "checking which AGG to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which AGG to use" >&5 +$as_echo_n "checking which AGG to use... " >&6; } if test -n "$with_system_agg" -o -n "$with_system_libs" && \ test "$with_system_agg" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22230,29 +17762,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22263,25 +17796,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for libagg >= 2.3" >&5 -echo $ECHO_N "checking for libagg >= 2.3... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libagg >= 2.3" >&5 +$as_echo_n "checking for libagg >= 2.3... " >&6; } if $PKG_CONFIG --exists "libagg >= 2.3" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking AGG_CFLAGS" >&5 -echo $ECHO_N "checking AGG_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking AGG_CFLAGS" >&5 +$as_echo_n "checking AGG_CFLAGS... " >&6; } AGG_CFLAGS=`$PKG_CONFIG --cflags "libagg >= 2.3"` - echo "$as_me:$LINENO: result: $AGG_CFLAGS" >&5 -echo "${ECHO_T}$AGG_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AGG_CFLAGS" >&5 +$as_echo "$AGG_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking AGG_LIBS" >&5 -echo $ECHO_N "checking AGG_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking AGG_LIBS" >&5 +$as_echo_n "checking AGG_LIBS... " >&6; } AGG_LIBS=`$PKG_CONFIG --libs "libagg >= 2.3"` - echo "$as_me:$LINENO: result: $AGG_LIBS" >&5 -echo "${ECHO_T}$AGG_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AGG_LIBS" >&5 +$as_echo "$AGG_LIBS" >&6; } else AGG_CFLAGS="" AGG_LIBS="" @@ -22302,13 +17835,11 @@ echo "${ECHO_T}$AGG_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (libagg >= 2.3) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking agg version" >&5 -echo $ECHO_N "checking agg version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking agg version" >&5 +$as_echo_n "checking agg version... " >&6; } # workaround; if AGG_CFLAGS is empty (broken libagg.pc in 2.3), add /usr/include/agg2 anyway # (/usr/include gets stripped from pkg-config output) if test -z "$AGG_CFLAGS" || test "$AGG_CFLAGS" = " "; then @@ -22320,23 +17851,21 @@ echo $ECHO_N "checking agg version... $ECHO_C" >&6 $PKG_CONFIG --modversion libagg | grep -q 2.4; then # 2.4's libagg.pc.in still contains 2.3 :/ if $EGREP -q "Version 2.4" `echo $AGG_INCDIR`/agg_basics.h; then - echo "$as_me:$LINENO: result: 2.4" >&5 -echo "${ECHO_T}2.4" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.4" >&5 +$as_echo "2.4" >&6; } AGG_VERSION=2400 else - echo "$as_me:$LINENO: result: 2.3" >&5 -echo "${ECHO_T}2.3" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.3" >&5 +$as_echo "2.3" >&6; } AGG_VERSION=2300 fi SYSTEM_AGG=YES else - { { echo "$as_me:$LINENO: error: only agg 2.3 and 2.4 are supported" >&5 -echo "$as_me: error: only agg 2.3 and 2.4 are supported" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "only agg 2.3 and 2.4 are supported" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_AGG=NO AGG_VERSION=2300 BUILD_TYPE="$BUILD_TYPE AGG" @@ -22345,12 +17874,12 @@ echo "${ECHO_T}internal" >&6 fi -echo "$as_me:$LINENO: checking which redland library to use" >&5 -echo $ECHO_N "checking which redland library to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which redland library to use" >&5 +$as_echo_n "checking which redland library to use... " >&6; } if test -n "$with_system_redland" && \ test "$with_system_redland" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_REDLAND=YES succeeded=no @@ -22358,10 +17887,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22373,29 +17902,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22406,25 +17936,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for redland" >&5 -echo $ECHO_N "checking for redland... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for redland" >&5 +$as_echo_n "checking for redland... " >&6; } if $PKG_CONFIG --exists "redland" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking REDLAND_CFLAGS" >&5 -echo $ECHO_N "checking REDLAND_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking REDLAND_CFLAGS" >&5 +$as_echo_n "checking REDLAND_CFLAGS... " >&6; } REDLAND_CFLAGS=`$PKG_CONFIG --cflags "redland"` - echo "$as_me:$LINENO: result: $REDLAND_CFLAGS" >&5 -echo "${ECHO_T}$REDLAND_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REDLAND_CFLAGS" >&5 +$as_echo "$REDLAND_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking REDLAND_LIBS" >&5 -echo $ECHO_N "checking REDLAND_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking REDLAND_LIBS" >&5 +$as_echo_n "checking REDLAND_LIBS... " >&6; } REDLAND_LIBS=`$PKG_CONFIG --libs "redland"` - echo "$as_me:$LINENO: result: $REDLAND_LIBS" >&5 -echo "${ECHO_T}$REDLAND_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REDLAND_LIBS" >&5 +$as_echo "$REDLAND_LIBS" >&6; } else REDLAND_CFLAGS="" REDLAND_LIBS="" @@ -22445,28 +17975,26 @@ echo "${ECHO_T}$REDLAND_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (redland) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } BUILD_TYPE="$BUILD_TYPE REDLAND" SYSTEM_REDLAND=NO fi -echo "$as_me:$LINENO: checking which libhunspell to use" >&5 -echo $ECHO_N "checking which libhunspell to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which libhunspell to use" >&5 +$as_echo_n "checking which libhunspell to use... " >&6; } if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \ test "$with_system_hunspell" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_HUNSPELL=YES - ac_ext=cc + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -22478,10 +18006,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -22493,29 +18021,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -22526,25 +18055,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for hunspell" >&5 -echo $ECHO_N "checking for hunspell... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hunspell" >&5 +$as_echo_n "checking for hunspell... " >&6; } if $PKG_CONFIG --exists "hunspell" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking HUNSPELL_CFLAGS" >&5 -echo $ECHO_N "checking HUNSPELL_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking HUNSPELL_CFLAGS" >&5 +$as_echo_n "checking HUNSPELL_CFLAGS... " >&6; } HUNSPELL_CFLAGS=`$PKG_CONFIG --cflags "hunspell"` - echo "$as_me:$LINENO: result: $HUNSPELL_CFLAGS" >&5 -echo "${ECHO_T}$HUNSPELL_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HUNSPELL_CFLAGS" >&5 +$as_echo "$HUNSPELL_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking HUNSPELL_LIBS" >&5 -echo $ECHO_N "checking HUNSPELL_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking HUNSPELL_LIBS" >&5 +$as_echo_n "checking HUNSPELL_LIBS... " >&6; } HUNSPELL_LIBS=`$PKG_CONFIG --libs "hunspell"` - echo "$as_me:$LINENO: result: $HUNSPELL_LIBS" >&5 -echo "${ECHO_T}$HUNSPELL_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HUNSPELL_LIBS" >&5 +$as_echo "$HUNSPELL_LIBS" >&6; } else HUNSPELL_CFLAGS="" HUNSPELL_LIBS="" @@ -22569,1092 +18098,289 @@ echo "${ECHO_T}$HUNSPELL_LIBS" >&6 fi if test "$HUNSPELL_PC" != "TRUE"; then - if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_hunspell_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hxx" >&6 - -fi -if test $ac_cv_header_hunspell_hxx = yes; then - : -else - - if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx usability" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking hunspell/hunspell.hxx presence" >&5 -echo $ECHO_N "checking hunspell/hunspell.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hunspell/hunspell.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hunspell/hunspell.hxx" >&5 -echo $ECHO_N "checking for hunspell/hunspell.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_hunspell_hunspell_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_hunspell_hunspell_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hunspell_hunspell_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_hunspell_hunspell_hxx" >&6 - -fi -if test $ac_cv_header_hunspell_hunspell_hxx = yes; then - HUNSPELL_CFLAGS=-I/usr/include/hunspell -else - { { echo "$as_me:$LINENO: error: hunspell headers not found." >&5 -echo "$as_me: error: hunspell headers not found." >&2;} - { (exit 1); exit 1; }; } -fi - - - -fi - - - -echo "$as_me:$LINENO: checking for main in -lhunspell" >&5 -echo $ECHO_N "checking for main in -lhunspell... $ECHO_C" >&6 -if test "${ac_cv_lib_hunspell_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lhunspell $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_hunspell_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hunspell_main=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hunspell_main" >&5 -echo "${ECHO_T}$ac_cv_lib_hunspell_main" >&6 -if test $ac_cv_lib_hunspell_main = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBHUNSPELL 1 -_ACEOF - - LIBS="-lhunspell $LIBS" - -else - { { echo "$as_me:$LINENO: error: hunspell library not found." >&5 -echo "$as_me: error: hunspell library not found." >&2;} - { (exit 1); exit 1; }; } -fi - - HUNSPELL_LIBS=-lhunspell - fi - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - SYSTEM_HUNSPELL=NO - BUILD_TYPE="$BUILD_TYPE HUNSPELL" -fi - - - - -echo "$as_me:$LINENO: checking which altlinuxhyph to use" >&5 -echo $ECHO_N "checking which altlinuxhyph to use... $ECHO_C" >&6 -if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \ - test "$with_system_altlinuxhyph" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 - SYSTEM_HYPH=YES - if test "${ac_cv_header_hyphen_h+set}" = set; then - echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 -if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking hyphen.h usability" >&5 -echo $ECHO_N "checking hyphen.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking hyphen.h presence" >&5 -echo $ECHO_N "checking hyphen.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: hyphen.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: hyphen.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: hyphen.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: hyphen.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: hyphen.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: hyphen.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: hyphen.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: hyphen.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: hyphen.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for hyphen.h" >&5 -echo $ECHO_N "checking for hyphen.h... $ECHO_C" >&6 -if test "${ac_cv_header_hyphen_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_hyphen_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_hyphen_h" >&5 -echo "${ECHO_T}$ac_cv_header_hyphen_h" >&6 - -fi -if test $ac_cv_header_hyphen_h = yes; then - : -else - { { echo "$as_me:$LINENO: error: altlinuxhyph headers not found." >&5 -echo "$as_me: error: altlinuxhyph headers not found." >&2;} - { (exit 1); exit 1; }; } -fi + ac_fn_cxx_check_header_mongrel "$LINENO" "hunspell.hxx" "ac_cv_header_hunspell_hxx" "$ac_includes_default" +if test "x$ac_cv_header_hunspell_hxx" = x""yes; then : - - echo "$as_me:$LINENO: checking for struct _HyphenDict.cset" >&5 -echo $ECHO_N "checking for struct _HyphenDict.cset... $ECHO_C" >&6 -if test "${ac_cv_member_struct__HyphenDict_cset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -static struct _HyphenDict ac_aggr; -if (ac_aggr.cset) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct__HyphenDict_cset=yes + ac_fn_cxx_check_header_mongrel "$LINENO" "hunspell/hunspell.hxx" "ac_cv_header_hunspell_hunspell_hxx" "$ac_includes_default" +if test "x$ac_cv_header_hunspell_hunspell_hxx" = x""yes; then : + HUNSPELL_CFLAGS=-I/usr/include/hunspell else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_fn_error "hunspell headers not found." "$LINENO" 5 +fi -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + + +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lhunspell" >&5 +$as_echo_n "checking for main in -lhunspell... " >&6; } +if test "${ac_cv_lib_hunspell_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lhunspell $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + int main () { -static struct _HyphenDict ac_aggr; -if (sizeof ac_aggr.cset) -return 0; +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct__HyphenDict_cset=yes +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_hunspell_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_lib_hunspell_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hunspell_main" >&5 +$as_echo "$ac_cv_lib_hunspell_main" >&6; } +if test "x$ac_cv_lib_hunspell_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBHUNSPELL 1 +_ACEOF + + LIBS="-lhunspell $LIBS" -ac_cv_member_struct__HyphenDict_cset=no +else + as_fn_error "hunspell library not found." "$LINENO" 5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + + HUNSPELL_LIBS=-lhunspell + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + SYSTEM_HUNSPELL=NO + BUILD_TYPE="$BUILD_TYPE HUNSPELL" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which altlinuxhyph to use" >&5 +$as_echo_n "checking which altlinuxhyph to use... " >&6; } +if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \ + test "$with_system_altlinuxhyph" != "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } + SYSTEM_HYPH=YES + ac_fn_c_check_header_mongrel "$LINENO" "hyphen.h" "ac_cv_header_hyphen_h" "$ac_includes_default" +if test "x$ac_cv_header_hyphen_h" = x""yes; then : + +else + as_fn_error "altlinuxhyph headers not found." "$LINENO" 5 fi -echo "$as_me:$LINENO: result: $ac_cv_member_struct__HyphenDict_cset" >&5 -echo "${ECHO_T}$ac_cv_member_struct__HyphenDict_cset" >&6 -if test $ac_cv_member_struct__HyphenDict_cset = yes; then - : + + + ac_fn_c_check_member "$LINENO" "struct _HyphenDict" "cset" "ac_cv_member_struct__HyphenDict_cset" "#include +" +if test "x$ac_cv_member_struct__HyphenDict_cset" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: no. You are sure you have altlinuyhyph headers?" >&5 -echo "$as_me: error: no. You are sure you have altlinuyhyph headers?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. You are sure you have altlinuyhyph headers?" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyphen... $ECHO_C" >&6 -if test "${ac_cv_lib_hyphen_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhyphen" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyphen... " >&6; } +if test "${ac_cv_lib_hyphen_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyphen $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyphen_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyphen_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhyphen else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi if test -z "$HYPHEN_LIB"; then - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhyph... $ECHO_C" >&6 -if test "${ac_cv_lib_hyph_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhyph" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhyph... " >&6; } +if test "${ac_cv_lib_hyph_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhyph $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hyph_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no + ac_cv_lib_hyph_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hyph_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hyph_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhyph else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi fi if test -z "$HYPHEN_LIB"; then - echo "$as_me:$LINENO: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 -echo $ECHO_N "checking for hnj_hyphen_hyphenate2 in -lhnj... $ECHO_C" >&6 -if test "${ac_cv_lib_hnj_hnj_hyphen_hyphenate2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hnj_hyphen_hyphenate2 in -lhnj" >&5 +$as_echo_n "checking for hnj_hyphen_hyphenate2 in -lhnj... " >&6; } +if test "${ac_cv_lib_hnj_hnj_hyphen_hyphenate2+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhnj $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char hnj_hyphen_hyphenate2 (); int main () { -hnj_hyphen_hyphenate2 (); +return hnj_hyphen_hyphenate2 (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_hnj_hnj_hyphen_hyphenate2=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no + ac_cv_lib_hnj_hnj_hyphen_hyphenate2=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 -echo "${ECHO_T}$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6 -if test $ac_cv_lib_hnj_hnj_hyphen_hyphenate2 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&5 +$as_echo "$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" >&6; } +if test "x$ac_cv_lib_hnj_hnj_hyphen_hyphenate2" = x""yes; then : HYPHEN_LIB=-lhnj else - { { echo "$as_me:$LINENO: error: altlinuxhyph library not found or too old." >&5 -echo "$as_me: error: altlinuxhyph library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "altlinuxhyph library not found or too old." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_HYPH=NO BUILD_TYPE="$BUILD_TYPE HYPHEN" fi -echo "$as_me:$LINENO: checking which mythes to use" >&5 -echo $ECHO_N "checking which mythes to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which mythes to use" >&5 +$as_echo_n "checking which mythes to use... " >&6; } if test -n "$with_system_mythes" && test "$with_system_mythes" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_MYTHES=YES - if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking mythes.hxx usability" >&5 -echo $ECHO_N "checking mythes.hxx usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking mythes.hxx presence" >&5 -echo $ECHO_N "checking mythes.hxx presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mythes.hxx: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: mythes.hxx: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mythes.hxx: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mythes.hxx: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mythes.hxx: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mythes.hxx: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mythes.hxx: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mythes.hxx: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for mythes.hxx" >&5 -echo $ECHO_N "checking for mythes.hxx... $ECHO_C" >&6 -if test "${ac_cv_header_mythes_hxx+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_mythes_hxx=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_mythes_hxx" >&5 -echo "${ECHO_T}$ac_cv_header_mythes_hxx" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "mythes.hxx" "ac_cv_header_mythes_hxx" "$ac_includes_default" +if test "x$ac_cv_header_mythes_hxx" = x""yes; then : -fi -if test $ac_cv_header_mythes_hxx = yes; then - : else - { { echo "$as_me:$LINENO: error: mythes.hxx headers not found." >&5 -echo "$as_me: error: mythes.hxx headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mythes.hxx headers not found." "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lmythes" >&5 -echo $ECHO_N "checking for main in -lmythes... $ECHO_C" >&6 -if test "${ac_cv_lib_mythes_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmythes" >&5 +$as_echo_n "checking for main in -lmythes... " >&6; } +if test "${ac_cv_lib_mythes_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmythes $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mythes_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_mythes_main=no + ac_cv_lib_mythes_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_mythes_main" >&5 -echo "${ECHO_T}$ac_cv_lib_mythes_main" >&6 -if test $ac_cv_lib_mythes_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mythes_main" >&5 +$as_echo "$ac_cv_lib_mythes_main" >&6; } +if test "x$ac_cv_lib_mythes_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBMYTHES 1 _ACEOF @@ -23662,237 +18388,68 @@ _ACEOF LIBS="-lmythes $LIBS" else - { { echo "$as_me:$LINENO: error: mythes library not found." >&5 -echo "$as_me: error: mythes library not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "mythes library not found." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_MYTHES=NO fi -echo "$as_me:$LINENO: checking which lpsolve to use" >&5 -echo $ECHO_N "checking which lpsolve to use... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which lpsolve to use" >&5 +$as_echo_n "checking which lpsolve to use... " >&6; } if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \ test "$with_system_lpsolve" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_LPSOLVE=YES - if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 -if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h usability" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking lpsolve/lp_lib.h presence" >&5 -echo $ECHO_N "checking lpsolve/lp_lib.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: lpsolve/lp_lib.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for lpsolve/lp_lib.h" >&5 -echo $ECHO_N "checking for lpsolve/lp_lib.h... $ECHO_C" >&6 -if test "${ac_cv_header_lpsolve_lp_lib_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_lpsolve_lp_lib_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_lpsolve_lp_lib_h" >&5 -echo "${ECHO_T}$ac_cv_header_lpsolve_lp_lib_h" >&6 + ac_fn_c_check_header_mongrel "$LINENO" "lpsolve/lp_lib.h" "ac_cv_header_lpsolve_lp_lib_h" "$ac_includes_default" +if test "x$ac_cv_header_lpsolve_lp_lib_h" = x""yes; then : -fi -if test $ac_cv_header_lpsolve_lp_lib_h = yes; then - : else - { { echo "$as_me:$LINENO: error: lpsolve headers not found." >&5 -echo "$as_me: error: lpsolve headers not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lpsolve headers not found." "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5 -echo $ECHO_N "checking for make_lp in -llpsolve55... $ECHO_C" >&6 -if test "${ac_cv_lib_lpsolve55_make_lp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for make_lp in -llpsolve55" >&5 +$as_echo_n "checking for make_lp in -llpsolve55... " >&6; } +if test "${ac_cv_lib_lpsolve55_make_lp+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llpsolve55 $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char make_lp (); int main () { -make_lp (); +return make_lp (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lpsolve55_make_lp=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_lpsolve55_make_lp=no + ac_cv_lib_lpsolve55_make_lp=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_lpsolve55_make_lp" >&5 -echo "${ECHO_T}$ac_cv_lib_lpsolve55_make_lp" >&6 -if test $ac_cv_lib_lpsolve55_make_lp = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lpsolve55_make_lp" >&5 +$as_echo "$ac_cv_lib_lpsolve55_make_lp" >&6; } +if test "x$ac_cv_lib_lpsolve55_make_lp" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLPSOLVE55 1 _ACEOF @@ -23900,105 +18457,106 @@ _ACEOF LIBS="-llpsolve55 $LIBS" else - { { echo "$as_me:$LINENO: error: lpsolve library not found or too old." >&5 -echo "$as_me: error: lpsolve library not found or too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "lpsolve library not found or too old." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_LPSOLVE=NO BUILD_TYPE="$BUILD_TYPE LPSOLVE" fi if test "$_os" = "Linux"; then - echo "$as_me:$LINENO: checking whether libc is >= 2.1.1" >&5 -echo $ECHO_N "checking whether libc is >= 2.1.1... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libc is >= 2.1.1" >&5 +$as_echo_n "checking whether libc is >= 2.1.1... " >&6; } exec 6>/dev/null # no output - echo "$as_me:$LINENO: checking for gnu_get_libc_version in -lc" >&5 -echo $ECHO_N "checking for gnu_get_libc_version in -lc... $ECHO_C" >&6 -if test "${ac_cv_lib_c_gnu_get_libc_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnu_get_libc_version in -lc" >&5 +$as_echo_n "checking for gnu_get_libc_version in -lc... " >&6; } +if test "${ac_cv_lib_c_gnu_get_libc_version+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char gnu_get_libc_version (); int main () { -gnu_get_libc_version (); +return gnu_get_libc_version (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_gnu_get_libc_version=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_c_gnu_get_libc_version=no + ac_cv_lib_c_gnu_get_libc_version=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 -echo "${ECHO_T}$ac_cv_lib_c_gnu_get_libc_version" >&6 -if test $ac_cv_lib_c_gnu_get_libc_version = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_gnu_get_libc_version" >&5 +$as_echo "$ac_cv_lib_c_gnu_get_libc_version" >&6; } +if test "x$ac_cv_lib_c_gnu_get_libc_version" = x""yes; then : HAVE_LIBC=yes; export HAVE_LIBC fi exec 6>&1 # output on again if test "$HAVE_LIBC"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, upgrade libc" >&5 -echo "$as_me: error: no, upgrade libc" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, upgrade libc" "$LINENO" 5 fi fi +for ac_func in getopt +do : + ac_fn_c_check_func "$LINENO" "getopt" "ac_cv_func_getopt" +if test "x$ac_cv_func_getopt" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT 1 +_ACEOF + SYSTEM_GETOPT=YES +else + SYSTEM_GETOPT=NO +fi +done + +for ac_func in readdir_r +do : + ac_fn_c_check_func "$LINENO" "readdir_r" "ac_cv_func_readdir_r" +if test "x$ac_cv_func_readdir_r" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_READDIR_R 1 +_ACEOF + SYSTEM_READDIR_R=YES +else + SYSTEM_READDIR_R=NO +fi +done + +if test "$SYSTEM_GETOPT" = "YES" -a "$SYSTEM_READDIR_R" = "YES"; then + SYSTEM_GLIBC=YES +fi + + + + if test \( "$_os" = "WINNT" \) ; then - echo "$as_me:$LINENO: checking for PSDK files" >&5 -echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PSDK files" >&5 +$as_echo_n "checking for PSDK files... " >&6; } if test -z "$with_psdk_home"; then # This first line will detect a February 2003 Microsoft Platform SDK PSDK_HOME=`./oowintool --psdk-home` @@ -24019,19 +18577,12 @@ echo $ECHO_N "checking for PSDK files... $ECHO_C" >&6 PSDK_HOME=`echo $PSDK_HOME | $SED 's/\/$//'` # Problem with current PSDK (iz 49865) if test -f "$PSDK_HOME/Lib/libcp.lib"; then - { { echo "$as_me:$LINENO: error: - -Some modules do not build correctly with MS Platform SDK - April 2005 -Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. -Remove/rename/backup that file and restart configure. Details about this -problem can be found in issue 49856." >&5 -echo "$as_me: error: + as_fn_error " Some modules do not build correctly with MS Platform SDK - April 2005 Edition if the library ($PSDK_HOME/Lib/libcp.lib) is found. Remove/rename/backup that file and restart configure. Details about this -problem can be found in issue 49856." >&2;} - { (exit 1); exit 1; }; } +problem can be found in issue 49856." "$LINENO" 5 fi # WIndows SDK has different headers if test \( -f "$PSDK_HOME/Include/adoint.h" \) \ @@ -24047,41 +18598,36 @@ problem can be found in issue 49856." >&2;} HAVE_PSDK_LIB="no" fi if test "$HAVE_PSDK_H" = "no" -o "$HAVE_PSDK_LIB" = "no"; then - { { echo "$as_me:$LINENO: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs -are installed or use --with-psdk-home ." >&5 -echo "$as_me: error: Some (all?) PSDK files not found, please check if all needed Platform SDKs -are installed or use --with-psdk-home ." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Some (all?) PSDK files not found, please check if all needed Platform SDKs +are installed or use --with-psdk-home ." "$LINENO" 5 fi if test ! -x "$PSDK_HOME/bin/msiinfo.exe" \ -o ! -x "$PSDK_HOME/bin/msidb.exe" \ -o ! -x "$PSDK_HOME/bin/uuidgen.exe" \ -o ! -x "$PSDK_HOME/bin/msitran.exe" ; then - { { echo "$as_me:$LINENO: error: Some (all) files of the Windows Installer SDK are missing, please install." >&5 -echo "$as_me: error: Some (all) files of the Windows Installer SDK are missing, please install." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Some (all) files of the Windows Installer SDK are missing, please install." "$LINENO" 5 fi - echo "$as_me:$LINENO: result: SDK files found ...)" >&5 -echo "${ECHO_T}SDK files found ...)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: SDK files found ...)" >&5 +$as_echo "SDK files found ...)" >&6; } if echo $PSDK_HOME | grep "v6.1" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.1 ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Windows SDK 6.1 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.1 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE elif echo $PSDK_HOME | grep "v6.0" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Windows SDK 6.0 ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Windows SDK 6.0 ($PSDK_HOME)" >&5 +$as_echo "Found Windows SDK 6.0 ($PSDK_HOME)" >&6; } WINDOWS_VISTA_PSDK=TRUE else - echo "$as_me:$LINENO: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 -echo "${ECHO_T}Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found Legacy Windows Platform SDK ($PSDK_HOME)" >&5 +$as_echo "Found Legacy Windows Platform SDK ($PSDK_HOME)" >&6; } fi fi if test \( "$_os" = "WINNT" \) ; then - echo "$as_me:$LINENO: checking for DirectX SDK files" >&5 -echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DirectX SDK files" >&5 +$as_echo_n "checking for DirectX SDK files... " >&6; } if test -z "$with_directx_home"; then if test -n "$DXSDK_DIR"; then DIRECTXSDK_HOME=`cygpath -d "$DXSDK_DIR"` @@ -24113,17 +18659,15 @@ echo $ECHO_N "checking for DirectX SDK files... $ECHO_C" >&6 fi if test -n "$ENABLE_DIRECTX"; then if test "$HAVE_DIRECTXSDK_H" = "yes" -a "$HAVE_DIRECTXSDK_LIB" = "yes"; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&5 -echo "$as_me: error: DirectX SDK files not found, please use --with-directx-home or -disable-directx." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "DirectX SDK files not found, please use --with-directx-home or -disable-directx." "$LINENO" 5 fi else DIRECTXSDK_HOME="" - echo "$as_me:$LINENO: result: disabled" >&5 -echo "${ECHO_T}disabled" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 +$as_echo "disabled" >&6; } fi fi @@ -24131,14 +18675,14 @@ fi NSIS_PATH="" if test "$_os" = "WINNT" ; then - echo "$as_me:$LINENO: checking for NSIS" >&5 -echo $ECHO_N "checking for NSIS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NSIS" >&5 +$as_echo_n "checking for NSIS... " >&6; } # Extract the first word of "nsis.exe", so it can be a program name with args. set dummy nsis.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_NSIS_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_NSIS_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $NSIS_PATH in [\\/]* | ?:[\\/]*) @@ -24150,28 +18694,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_NSIS_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi NSIS_PATH=$ac_cv_path_NSIS_PATH - if test -n "$NSIS_PATH"; then - echo "$as_me:$LINENO: result: $NSIS_PATH" >&5 -echo "${ECHO_T}$NSIS_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NSIS_PATH" >&5 +$as_echo "$NSIS_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -n "$NSIS_PATH"; then NSIS_PATH=`dirname "$NSIS_PATH"` fi @@ -24186,24 +18731,24 @@ fi NSIS_PATH="$nsistest" fi if test -z "$NSIS_PATH"; then - { echo "$as_me:$LINENO: WARNING: NSIS not found, no self contained installer will be build." >&5 -echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: NSIS not found, no self contained installer will be build." >&5 +$as_echo "$as_me: WARNING: NSIS not found, no self contained installer will be build." >&2;} echo "NSIS not found, no self contained installer will be build." >> warn else NSIS_PATH=`cygpath -d "$NSIS_PATH"` NSIS_PATH=`cygpath -u "$NSIS_PATH"` - echo "$as_me:$LINENO: result: found ($NSIS_PATH)" >&5 -echo "${ECHO_T}found ($NSIS_PATH)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($NSIS_PATH)" >&5 +$as_echo "found ($NSIS_PATH)" >&6; } fi fi # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_BISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_BISON+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $BISON in [\\/]* | ?:[\\/]*) @@ -24215,59 +18760,56 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi BISON=$ac_cv_path_BISON - if test -n "$BISON"; then - echo "$as_me:$LINENO: result: $BISON" >&5 -echo "${ECHO_T}$BISON" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 +$as_echo "$BISON" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$BISON"; then - { { echo "$as_me:$LINENO: error: no bison found in \$PATH, install bison" >&5 -echo "$as_me: error: no bison found in \$PATH, install bison" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no bison found in \$PATH, install bison" "$LINENO" 5 else - echo "$as_me:$LINENO: checking the bison version" >&5 -echo $ECHO_N "checking the bison version... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking the bison version" >&5 +$as_echo_n "checking the bison version... " >&6; } _bison_version=`$BISON --version | grep GNU | $SED -e 's@^[^0-9]*@@' -e 's@ .*@@' -e 's@,.*@@'`; _bison_longver=`echo $_bison_version | $AWK -F. '{ print \$1*1000+\$2}'` # Accept newer than 1.875 or older(equal) than 1.75 if test "$_bison_longver" -ge 1875 -o "$_bison_longver" -le 1075; then if test "$_bison_version" = "1.875" ; then - { echo "$as_me:$LINENO: WARNING: suspect ($BISON $_bison_version)" >&5 -echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: suspect ($BISON $_bison_version)" >&5 +$as_echo "$as_me: WARNING: suspect ($BISON $_bison_version)" >&2;} echo "Suspect ($BISON $_bison_version) suggest upgrade" >> warn else - echo "$as_me:$LINENO: result: checked ($BISON $_bison_version)" >&5 -echo "${ECHO_T}checked ($BISON $_bison_version)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checked ($BISON $_bison_version)" >&5 +$as_echo "checked ($BISON $_bison_version)" >&6; } fi else - { { echo "$as_me:$LINENO: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&5 -echo "$as_me: error: failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "failed ($BISON $_bison_version need 1.875+ (or 1.75 and older))" "$LINENO" 5 fi fi # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_FLEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_FLEX+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $FLEX in [\\/]* | ?:[\\/]*) @@ -24279,39 +18821,38 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi FLEX=$ac_cv_path_FLEX - if test -n "$FLEX"; then - echo "$as_me:$LINENO: result: $FLEX" >&5 -echo "${ECHO_T}$FLEX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5 +$as_echo "$FLEX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$FLEX"; then - { { echo "$as_me:$LINENO: error: no flex found in \$PATH, install flex" >&5 -echo "$as_me: error: no flex found in \$PATH, install flex" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no flex found in \$PATH, install flex" "$LINENO" 5 fi # Extract the first word of "patch", so it can be a program name with args. set dummy patch; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PATCH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PATCH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PATCH in [\\/]* | ?:[\\/]*) @@ -24323,32 +18864,31 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PATCH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi PATCH=$ac_cv_path_PATCH - if test -n "$PATCH"; then - echo "$as_me:$LINENO: result: $PATCH" >&5 -echo "${ECHO_T}$PATCH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5 +$as_echo "$PATCH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$PATCH"; then - { { echo "$as_me:$LINENO: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&5 -echo "$as_me: error: \\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "\\"patch\\" not found in \$PATH, install the development tool named\\"patch\"\" "$LINENO" 5 fi if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then @@ -24358,21 +18898,17 @@ if test "$_os" = "SunOS" -o "$_os" = "FreeBSD" -o "$_os" = "Darwin"; then if test -x "$with_gnu_patch"; then GNUPATCH=$with_gnu_patch else - { { echo "$as_me:$LINENO: error: --with-gnu-patch did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-patch did not point to an executable" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--with-gnu-patch did not point to an executable" "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking whether $GNUPATCH is GNU patch" >&5 -echo $ECHO_N "checking whether $GNUPATCH is GNU patch... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $GNUPATCH is GNU patch" >&5 +$as_echo_n "checking whether $GNUPATCH is GNU patch... " >&6; } if $GNUPATCH --version | grep "Free Software Foundation" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&5 -echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it" "$LINENO" 5 fi @@ -24381,10 +18917,10 @@ echo "$as_me: error: no, GNU patch needed. install or specify with --with-gnu-pa do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GNUCP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GNUCP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GNUCP in [\\/]* | ?:[\\/]*) @@ -24396,64 +18932,59 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GNUCP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi GNUCP=$ac_cv_path_GNUCP - if test -n "$GNUCP"; then - echo "$as_me:$LINENO: result: $GNUCP" >&5 -echo "${ECHO_T}$GNUCP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNUCP" >&5 +$as_echo "$GNUCP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$GNUCP" && break done if test -z $GNUCP; then - { { echo "$as_me:$LINENO: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Neither gnucp nor cp found. Install GNU cp and/or specify --with-gnu-cp=/path/to/it" "$LINENO" 5 fi else if test -x "$with_gnu_cp"; then GNUCP=$with_gnu_cp else - { { echo "$as_me:$LINENO: error: --with-gnu-cp did not point to an executable" >&5 -echo "$as_me: error: --with-gnu-cp did not point to an executable" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "--with-gnu-cp did not point to an executable" "$LINENO" 5 fi fi - echo "$as_me:$LINENO: checking whether $GNUCP is GNU cp" >&5 -echo $ECHO_N "checking whether $GNUCP is GNU cp... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $GNUCP is GNU cp" >&5 +$as_echo_n "checking whether $GNUCP is GNU cp... " >&6; } if $GNUCP --version 2>/dev/null | grep "Free Software Foundation" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else if test "$_os" = "Darwin"; then GNUCP='' - echo "$as_me:$LINENO: result: no gnucp found - using the system's cp command" >&5 -echo "${ECHO_T}no gnucp found - using the system's cp command" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no gnucp found - using the system's cp command" >&5 +$as_echo "no gnucp found - using the system's cp command" >&6; } else - { { echo "$as_me:$LINENO: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&5 -echo "$as_me: error: no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, GNU cp needed. install or specify with --with-gnu-cp=/path/to/it" "$LINENO" 5 fi fi fi @@ -24466,10 +18997,10 @@ if test "$_os" = "WINNT"; then CYGWIN_PATH="" # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_CYGWIN_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CYGWIN_PATH+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $CYGWIN_PATH in [\\/]* | ?:[\\/]*) @@ -24481,28 +19012,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CYGWIN_PATH="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi CYGWIN_PATH=$ac_cv_path_CYGWIN_PATH - if test -n "$CYGWIN_PATH"; then - echo "$as_me:$LINENO: result: $CYGWIN_PATH" >&5 -echo "${ECHO_T}$CYGWIN_PATH" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGWIN_PATH" >&5 +$as_echo "$CYGWIN_PATH" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + CYGWIN_PATH=`dirname "$CYGWIN_PATH"` fi if test -z "$CYGWIN_PATH"; then @@ -24511,18 +19043,18 @@ fi if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then - echo "$as_me:$LINENO: checking ml.exe assembler path" >&5 -echo $ECHO_N "checking ml.exe assembler path... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ml.exe assembler path" >&5 +$as_echo_n "checking ml.exe assembler path... " >&6; } if test -n "$with_asm_home"; then with_asm_home=`cygpath -u "$with_asm_home"` fi if test ! -x "$with_asm_home/ml.exe"; then # Extract the first word of "ml.exe", so it can be a program name with args. set dummy ml.exe; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ML_EXE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ML_EXE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ML_EXE in [\\/]* | ?:[\\/]*) @@ -24534,37 +19066,36 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ML_EXE="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ML_EXE=$ac_cv_path_ML_EXE - if test -n "$ML_EXE"; then - echo "$as_me:$LINENO: result: $ML_EXE" >&5 -echo "${ECHO_T}$ML_EXE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ML_EXE" >&5 +$as_echo "$ML_EXE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test -z "$ML_EXE"; then if test -x "$with_cl_home/bin/ml.exe"; then with_asm_home=$with_cl_home/bin - echo "$as_me:$LINENO: result: found ($with_asm_home)" >&5 -echo "${ECHO_T}found ($with_asm_home)" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ($with_asm_home)" >&5 +$as_echo "found ($with_asm_home)" >&6; } else - { { echo "$as_me:$LINENO: error: Configure did not find ml.exe assembler." >&5 -echo "$as_me: error: Configure did not find ml.exe assembler." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Configure did not find ml.exe assembler." "$LINENO" 5 fi else with_asm_home="ASM_IN_PATH" @@ -24575,8 +19106,8 @@ else fi ASM_HOME="$with_asm_home" if test -n "$ASM_HOME"; then - echo "$as_me:$LINENO: result: $ASM_HOME" >&5 -echo "${ECHO_T}$ASM_HOME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ASM_HOME" >&5 +$as_echo "$ASM_HOME" >&6; } fi @@ -24593,10 +19124,10 @@ if test -n "$with_zip_home" ; then else # Extract the first word of "zip", so it can be a program name with args. set dummy zip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ZIP in [\\/]* | ?:[\\/]*) @@ -24608,34 +19139,35 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ZIP=$ac_cv_path_ZIP - if test -n "$ZIP"; then - echo "$as_me:$LINENO: result: $ZIP" >&5 -echo "${ECHO_T}$ZIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 +$as_echo "$ZIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "unzip", so it can be a program name with args. set dummy unzip; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_UNZIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_UNZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $UNZIP in [\\/]* | ?:[\\/]*) @@ -24647,84 +19179,69 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi UNZIP=$ac_cv_path_UNZIP - if test -n "$UNZIP"; then - echo "$as_me:$LINENO: result: $UNZIP" >&5 -echo "${ECHO_T}$UNZIP" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +$as_echo "$UNZIP" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + ZIP_HOME=`dirname "$ZIP"` fi if test -z "$ZIP" -o -z "$UNZIP"; then - { { echo "$as_me:$LINENO: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&5 -echo "$as_me: error: Zip/Unzip are required to build, please install or use --with-zip-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Zip/Unzip are required to build, please install or use --with-zip-home" "$LINENO" 5 fi if test "$_os" = "WINNT"; then if test -n "`$ZIP -h | grep -i WinNT`" ; then -{ { echo "$as_me:$LINENO: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&5 -echo "$as_me: error: $ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." >&2;} - { (exit 1); exit 1; }; } +as_fn_error "$ZIP found in the path is not the required cygwin version of Info-ZIPs zip.exe." "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for unicows.dll" >&5 -echo $ECHO_N "checking for unicows.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unicows.dll" >&5 +$as_echo_n "checking for unicows.dll... " >&6; } if test -x ./external/unicows/unicows.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. -Get it from the Microsoft site and put it into external/unicows. -(Note: Microsoft seems to enjoy changing the exact location of this file. You -may have to search Microsoft's website.) Last time it was seen at: -." >&5 -echo "$as_me: error: The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. + as_fn_error "The Microsoft Layer for Unicode (unicows.dll) is missing in external/unicows/. Get it from the Microsoft site and put it into external/unicows. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for dbghelp.dll" >&5 -echo $ECHO_N "checking for dbghelp.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbghelp.dll" >&5 +$as_echo_n "checking for dbghelp.dll... " >&6; } if test -x ./external/dbghelp/dbghelp.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: dbghelp.dll is missing in external/dbghelp/. -Get it from the Microsoft site and put it into external/dbghelp. -(Note: Microsoft seems to enjoy changing the exact location of this file. You -may have to search Microsoft's website.) Last time it was seen at: -." >&5 -echo "$as_me: error: dbghelp.dll is missing in external/dbghelp/. + as_fn_error "dbghelp.dll is missing in external/dbghelp/. Get it from the Microsoft site and put it into external/dbghelp. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi @@ -24732,28 +19249,21 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then if ./oowintool --msvc-copy-dlls ./external/msvcp ; then : else - { { echo "$as_me:$LINENO: error: oowintool failed to copy CRT" >&5 -echo "$as_me: error: oowintool failed to copy CRT" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "oowintool failed to copy CRT" "$LINENO" 5 fi fi if test "$_os" = "WINNT"; then - echo "$as_me:$LINENO: checking for gdiplus.dll" >&5 -echo $ECHO_N "checking for gdiplus.dll... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdiplus.dll" >&5 +$as_echo_n "checking for gdiplus.dll... " >&6; } if test -x ./external/gdiplus/gdiplus.dll; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else - { { echo "$as_me:$LINENO: error: gdiplus.dll is missing in external/gdiplus/. + as_fn_error "gdiplus.dll is missing in external/gdiplus/. Get it from the Microsoft site and put it into external/gdiplus. You may have to search Microsoft's website. Last time it was seen at: -." >&5 -echo "$as_me: error: gdiplus.dll is missing in external/gdiplus/. -Get it from the Microsoft site and put it into external/gdiplus. -You may have to search Microsoft's website. Last time it was seen at: -." >&2;} - { (exit 1); exit 1; }; } +." "$LINENO" 5 fi fi @@ -24763,11 +19273,11 @@ fi if test "$_os" = "WINNT"; then if test "$WITH_MINGWIN" = "yes" || test "$COMEX" -ge "10"; then - echo "$as_me:$LINENO: checking for instmsia.exe/instmsiw.exe" >&5 -echo $ECHO_N "checking for instmsia.exe/instmsiw.exe... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for instmsia.exe/instmsiw.exe" >&5 +$as_echo_n "checking for instmsia.exe/instmsiw.exe... " >&6; } if test -x ./external/msi/instmsia.exe -a -x ./external/msi/instmsiw.exe; then - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } else MSIAPATH=`/bin/find "$COMPATH/.." -iname instmsia.exe | head -n 1` MSIWPATH=`/bin/find "$COMPATH/.." -iname instmsiw.exe | head -n 1` @@ -24776,27 +19286,21 @@ echo "${ECHO_T}found" >&6 cp "$MSIWPATH" ./external/msi/ && chmod +x ./external/msi/instmsiw.exe && MSIWCOPY="OK" fi if test -z "$MSIACOPY" -o -z "$MSIWCOPY"; then - { { echo "$as_me:$LINENO: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. -These programs are part of the Visual Studio installation and should be found in a -directory similar to: -\"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" -As the automatic detection fails please copy the files to external/msi/." >&5 -echo "$as_me: error: instmsia.exe and/or instmsiw.exe are/is missing in the default location. + as_fn_error "instmsia.exe and/or instmsiw.exe are/is missing in the default location. These programs are part of the Visual Studio installation and should be found in a directory similar to: \"c:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\Deployment\\MsiRedist\\\" -As the automatic detection fails please copy the files to external/msi/." >&2;} - { (exit 1); exit 1; }; } +As the automatic detection fails please copy the files to external/msi/." "$LINENO" 5 else - echo "$as_me:$LINENO: result: found and copied" >&5 -echo "${ECHO_T}found and copied" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found and copied" >&5 +$as_echo "found and copied" >&6; } fi fi fi fi -echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5 -echo $ECHO_N "checking which VCLplugs shall be built... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which VCLplugs shall be built" >&5 +$as_echo_n "checking which VCLplugs shall be built... " >&6; } ENABLE_GTK="" if test "x$enable_gtk" = "xyes"; then ENABLE_GTK="TRUE" @@ -24819,31 +19323,31 @@ fi if test -z "$R"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else - echo "$as_me:$LINENO: result: $R" >&5 -echo "${ECHO_T}$R" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $R" >&5 +$as_echo "$R" >&6; } fi ENABLE_GCONF="" -echo "$as_me:$LINENO: checking whether to enable GConf support" >&5 -echo $ECHO_N "checking whether to enable GConf support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GConf support" >&5 +$as_echo_n "checking whether to enable GConf support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then ENABLE_GCONF="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24855,29 +19359,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -24888,25 +19393,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -24927,35 +19432,33 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi ENABLE_GNOMEVFS="" -echo "$as_me:$LINENO: checking whether to enable GNOME VFS support" >&5 -echo $ECHO_N "checking whether to enable GNOME VFS support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GNOME VFS support" >&5 +$as_echo_n "checking whether to enable GNOME VFS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then ENABLE_GNOMEVFS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -24967,29 +19470,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25000,25 +19504,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 -echo $ECHO_N "checking for gnome-vfs-2.0 >= 2.6.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnome-vfs-2.0 >= 2.6.0 " >&5 +$as_echo_n "checking for gnome-vfs-2.0 >= 2.6.0 ... " >&6; } if $PKG_CONFIG --exists "gnome-vfs-2.0 >= 2.6.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GNOMEVFS_CFLAGS" >&5 -echo $ECHO_N "checking GNOMEVFS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GNOMEVFS_CFLAGS" >&5 +$as_echo_n "checking GNOMEVFS_CFLAGS... " >&6; } GNOMEVFS_CFLAGS=`$PKG_CONFIG --cflags "gnome-vfs-2.0 >= 2.6.0 "` - echo "$as_me:$LINENO: result: $GNOMEVFS_CFLAGS" >&5 -echo "${ECHO_T}$GNOMEVFS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNOMEVFS_CFLAGS" >&5 +$as_echo "$GNOMEVFS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GNOMEVFS_LIBS" >&5 -echo $ECHO_N "checking GNOMEVFS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GNOMEVFS_LIBS" >&5 +$as_echo_n "checking GNOMEVFS_LIBS... " >&6; } GNOMEVFS_LIBS=`$PKG_CONFIG --libs "gnome-vfs-2.0 >= 2.6.0 "` - echo "$as_me:$LINENO: result: $GNOMEVFS_LIBS" >&5 -echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNOMEVFS_LIBS" >&5 +$as_echo "$GNOMEVFS_LIBS" >&6; } else GNOMEVFS_CFLAGS="" GNOMEVFS_LIBS="" @@ -25039,9 +19543,7 @@ echo "${ECHO_T}$GNOMEVFS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi if test "$ENABLE_GCONF" != "TRUE"; then @@ -25051,10 +19553,10 @@ echo "$as_me: error: Library requirements (gnome-vfs-2.0 >= 2.6.0 ) not met; con if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25066,29 +19568,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25099,25 +19602,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 " >&5 -echo $ECHO_N "checking for gconf-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 " >&5 +$as_echo_n "checking for gconf-2.0 ... " >&6; } if $PKG_CONFIG --exists "gconf-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 -echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 -echo "${ECHO_T}$GCONF_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 -echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 "` - echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 -echo "${ECHO_T}$GCONF_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } else GCONF_CFLAGS="" GCONF_LIBS="" @@ -25138,15 +19641,13 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gconf-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -25164,10 +19665,10 @@ if test "$test_gtk" = "yes"; then if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25179,29 +19680,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25212,25 +19714,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 -echo $ECHO_N "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 ... " >&6; } if $PKG_CONFIG --exists "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 -echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_CFLAGS" >&5 +$as_echo_n "checking GTK_CFLAGS... " >&6; } GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` - echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 -echo "${ECHO_T}$GTK_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_CFLAGS" >&5 +$as_echo "$GTK_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GTK_LIBS" >&5 -echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_LIBS" >&5 +$as_echo_n "checking GTK_LIBS... " >&6; } GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4 gdk-pixbuf-xlib-2.0 >= 2.2 "` - echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 -echo "${ECHO_T}$GTK_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_LIBS" >&5 +$as_echo "$GTK_LIBS" >&6; } else GTK_CFLAGS="" GTK_LIBS="" @@ -25251,9 +19753,7 @@ echo "${ECHO_T}$GTK_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&5 -echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "requirements to build the gtk-plugin not met. Use --disable-gtk or install the missing packages" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE GTK" @@ -25263,22 +19763,22 @@ echo "$as_me: error: requirements to build the gtk-plugin not met. Use --disable BUILD_TYPE="$BUILD_TYPE SYSTRAY_GTK" fi - echo "$as_me:$LINENO: checking whether to enable DBUS support" >&5 -echo $ECHO_N "checking whether to enable DBUS support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable DBUS support" >&5 +$as_echo_n "checking whether to enable DBUS support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_dbus" = "yes"; then ENABLE_DBUS="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25290,29 +19790,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25323,25 +19824,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.70 " >&5 -echo $ECHO_N "checking for dbus-glib-1 >= 0.70 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbus-glib-1 >= 0.70 " >&5 +$as_echo_n "checking for dbus-glib-1 >= 0.70 ... " >&6; } if $PKG_CONFIG --exists "dbus-glib-1 >= 0.70 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5 -echo $ECHO_N "checking DBUS_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking DBUS_CFLAGS" >&5 +$as_echo_n "checking DBUS_CFLAGS... " >&6; } DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= 0.70 "` - echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5 -echo "${ECHO_T}$DBUS_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBUS_CFLAGS" >&5 +$as_echo "$DBUS_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking DBUS_LIBS" >&5 -echo $ECHO_N "checking DBUS_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking DBUS_LIBS" >&5 +$as_echo_n "checking DBUS_LIBS... " >&6; } DBUS_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= 0.70 "` - echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5 -echo "${ECHO_T}$DBUS_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DBUS_LIBS" >&5 +$as_echo "$DBUS_LIBS" >&6; } else DBUS_CFLAGS="" DBUS_LIBS="" @@ -25362,37 +19863,33 @@ echo "${ECHO_T}$DBUS_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (dbus-glib-1 >= 0.70 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - echo "$as_me:$LINENO: checking whether to enable GIO support" >&5 -echo $ECHO_N "checking whether to enable GIO support... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable GIO support" >&5 +$as_echo_n "checking whether to enable GIO support... " >&6; } if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gio" = "yes"; then if test "$ENABLE_GNOMEVFS" = "TRUE" ; then - { { echo "$as_me:$LINENO: error: please use --enable-gio only together with --disable-gnome-vfs." >&5 -echo "$as_me: error: please use --enable-gio only together with --disable-gnome-vfs." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "please use --enable-gio only together with --disable-gnome-vfs." "$LINENO" 5 fi ENABLE_GIO="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25404,29 +19901,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25437,25 +19935,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gio-2.0 " >&5 -echo $ECHO_N "checking for gio-2.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gio-2.0 " >&5 +$as_echo_n "checking for gio-2.0 ... " >&6; } if $PKG_CONFIG --exists "gio-2.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GIO_CFLAGS" >&5 -echo $ECHO_N "checking GIO_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIO_CFLAGS" >&5 +$as_echo_n "checking GIO_CFLAGS... " >&6; } GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 "` - echo "$as_me:$LINENO: result: $GIO_CFLAGS" >&5 -echo "${ECHO_T}$GIO_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIO_CFLAGS" >&5 +$as_echo "$GIO_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GIO_LIBS" >&5 -echo $ECHO_N "checking GIO_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GIO_LIBS" >&5 +$as_echo_n "checking GIO_LIBS... " >&6; } GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0 "` - echo "$as_me:$LINENO: result: $GIO_LIBS" >&5 -echo "${ECHO_T}$GIO_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIO_LIBS" >&5 +$as_echo "$GIO_LIBS" >&6; } else GIO_CFLAGS="" GIO_LIBS="" @@ -25476,14 +19974,12 @@ echo "${ECHO_T}$GIO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gio-2.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -25502,18 +19998,18 @@ SYSTEM_CAIRO="" if test "$test_cairo" = "yes"; then - echo "$as_me:$LINENO: checking whether to use cairo" >&5 -echo $ECHO_N "checking whether to use cairo... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use cairo" >&5 +$as_echo_n "checking whether to use cairo... " >&6; } if test "x$enable_cairo" != "xno" ; then ENABLE_CAIRO="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking which cairo to use" >&5 -echo $ECHO_N "checking which cairo to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which cairo to use" >&5 +$as_echo_n "checking which cairo to use... " >&6; } if test -n "$with_system_cairo" -o -n "$with_system_libs" && \ test "$with_system_cairo" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_CAIRO=YES @@ -25522,10 +20018,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -25537,29 +20033,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -25570,25 +20067,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for cairo >= 1.0.2 " >&5 -echo $ECHO_N "checking for cairo >= 1.0.2 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cairo >= 1.0.2 " >&5 +$as_echo_n "checking for cairo >= 1.0.2 ... " >&6; } if $PKG_CONFIG --exists "cairo >= 1.0.2 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 -echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CAIRO_CFLAGS" >&5 +$as_echo_n "checking CAIRO_CFLAGS... " >&6; } CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0.2 "` - echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 -echo "${ECHO_T}$CAIRO_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAIRO_CFLAGS" >&5 +$as_echo "$CAIRO_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 -echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking CAIRO_LIBS" >&5 +$as_echo_n "checking CAIRO_LIBS... " >&6; } CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0.2 "` - echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 -echo "${ECHO_T}$CAIRO_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAIRO_LIBS" >&5 +$as_echo "$CAIRO_LIBS" >&6; } else CAIRO_CFLAGS="" CAIRO_LIBS="" @@ -25609,31 +20106,22 @@ echo "${ECHO_T}$CAIRO_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (cairo >= 1.0.2 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$ENABLE_FONTCONFIG" != "TRUE" ; then - { { echo "$as_me:$LINENO: error: Cairo library requires fontconfig." >&5 -echo "$as_me: error: Cairo library requires fontconfig." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Cairo library requires fontconfig." "$LINENO" 5 fi if test "$with_system_xrender_headers" = "yes"; then - echo "$as_me:$LINENO: checking whether Xrender.h defines PictStandardA8" >&5 -echo $ECHO_N "checking whether Xrender.h defines PictStandardA8... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Xrender.h defines PictStandardA8" >&5 +$as_echo_n "checking whether Xrender.h defines PictStandardA8... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -25647,43 +20135,28 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: no, X headers too old." >&5 -echo "$as_me: error: no, X headers too old." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, X headers too old." "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi else BUILD_TYPE="$BUILD_TYPE CAIRO" if test "$build_cpu" != "x86_64"; then BUILD_PIXMAN=YES fi - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi fi @@ -25694,219 +20167,52 @@ fi -echo "$as_me:$LINENO: checking whether to build the OpenGL Transitions component" >&5 -echo $ECHO_N "checking whether to build the OpenGL Transitions component... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the OpenGL Transitions component" >&5 +$as_echo_n "checking whether to build the OpenGL Transitions component... " >&6; } ENABLE_OPENGL= if test "x$enable_opengl" != "xno" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 -if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking GL/gl.h usability" >&5 -echo $ECHO_N "checking GL/gl.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking GL/gl.h presence" >&5 -echo $ECHO_N "checking GL/gl.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: GL/gl.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: GL/gl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for GL/gl.h" >&5 -echo $ECHO_N "checking for GL/gl.h... $ECHO_C" >&6 -if test "${ac_cv_header_GL_gl_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_GL_gl_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5 -echo "${ECHO_T}$ac_cv_header_GL_gl_h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default" +if test "x$ac_cv_header_GL_gl_h" = x""yes; then : -fi -if test $ac_cv_header_GL_gl_h = yes; then - : else - { { echo "$as_me:$LINENO: error: OpenGL headers not found" >&5 -echo "$as_me: error: OpenGL headers not found" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "OpenGL headers not found" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lGL" >&5 -echo $ECHO_N "checking for main in -lGL... $ECHO_C" >&6 -if test "${ac_cv_lib_GL_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lGL" >&5 +$as_echo_n "checking for main in -lGL... " >&6; } +if test "${ac_cv_lib_GL_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGL $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_GL_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_GL_main=no + ac_cv_lib_GL_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_GL_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GL_main" >&6 -if test $ac_cv_lib_GL_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GL_main" >&5 +$as_echo "$ac_cv_lib_GL_main" >&6; } +if test "x$ac_cv_lib_GL_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGL 1 _ACEOF @@ -25914,71 +20220,40 @@ _ACEOF LIBS="-lGL $LIBS" else - { { echo "$as_me:$LINENO: error: libGL not installed or functional" >&5 -echo "$as_me: error: libGL not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libGL not installed or functional" "$LINENO" 5 fi - -echo "$as_me:$LINENO: checking for main in -lGLU" >&5 -echo $ECHO_N "checking for main in -lGLU... $ECHO_C" >&6 -if test "${ac_cv_lib_GLU_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lGLU" >&5 +$as_echo_n "checking for main in -lGLU... " >&6; } +if test "${ac_cv_lib_GLU_main+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lGLU $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { -main (); +return main (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_GLU_main=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_GLU_main=no + ac_cv_lib_GLU_main=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_GLU_main" >&5 -echo "${ECHO_T}$ac_cv_lib_GLU_main" >&6 -if test $ac_cv_lib_GLU_main = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLU_main" >&5 +$as_echo "$ac_cv_lib_GLU_main" >&6; } +if test "x$ac_cv_lib_GLU_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGLU 1 _ACEOF @@ -25986,71 +20261,69 @@ _ACEOF LIBS="-lGLU $LIBS" else - { { echo "$as_me:$LINENO: error: libGLU not installed or functional" >&5 -echo "$as_me: error: libGLU not installed or functional" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libGLU not installed or functional" "$LINENO" 5 fi ENABLE_OPENGL=TRUE else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to build extra presenter ui" >&5 -echo $ECHO_N "checking whether to build extra presenter ui... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build extra presenter ui" >&5 +$as_echo_n "checking whether to build extra presenter ui... " >&6; } if test -n "$enable_presenter_extra_ui" -a "$enable_presenter_extra_ui" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PRESENTER_EXTRA_UI=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PRESENTER_EXTRA_UI=NO fi -echo "$as_me:$LINENO: checking whether to build the Presentation Minimizer extension" >&5 -echo $ECHO_N "checking whether to build the Presentation Minimizer extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Presentation Minimizer extension" >&5 +$as_echo_n "checking whether to build the Presentation Minimizer extension... " >&6; } if test -n "$enable_minimizer" -a "$enable_minimizer" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_MINIMIZER=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MINIMIZER=NO fi -echo "$as_me:$LINENO: checking whether to build the Presenter Screen extension" >&5 -echo $ECHO_N "checking whether to build the Presenter Screen extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Presenter Screen extension" >&5 +$as_echo_n "checking whether to build the Presenter Screen extension... " >&6; } if test -n "$enable_presenter_console" -a "$enable_presenter_screen" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PRESENTER_SCREEN=YES else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PRESENTER_SCREEN=NO fi -echo "$as_me:$LINENO: checking whether to build the PDF Import extension" >&5 -echo $ECHO_N "checking whether to build the PDF Import extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the PDF Import extension" >&5 +$as_echo_n "checking whether to build the PDF Import extension... " >&6; } if test -n "$enable_pdfimport" -a "$enable_pdfimport" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_PDFIMPORT=YES - echo "$as_me:$LINENO: checking which pdf backend to use" >&5 -echo $ECHO_N "checking which pdf backend to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which pdf backend to use" >&5 +$as_echo_n "checking which pdf backend to use... " >&6; } if test -n "$with_system_poppler" -o -n "$with_system_libs" && \ test "$with_system_poppler" != "no"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_POPPLER=YES succeeded=no @@ -26058,10 +20331,10 @@ echo "${ECHO_T}external" >&6 if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -26073,29 +20346,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -26106,25 +20380,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for poppler >= 0.8.0 " >&5 -echo $ECHO_N "checking for poppler >= 0.8.0 ... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for poppler >= 0.8.0 " >&5 +$as_echo_n "checking for poppler >= 0.8.0 ... " >&6; } if $PKG_CONFIG --exists "poppler >= 0.8.0 " ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking POPPLER_CFLAGS" >&5 -echo $ECHO_N "checking POPPLER_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking POPPLER_CFLAGS" >&5 +$as_echo_n "checking POPPLER_CFLAGS... " >&6; } POPPLER_CFLAGS=`$PKG_CONFIG --cflags "poppler >= 0.8.0 "` - echo "$as_me:$LINENO: result: $POPPLER_CFLAGS" >&5 -echo "${ECHO_T}$POPPLER_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POPPLER_CFLAGS" >&5 +$as_echo "$POPPLER_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking POPPLER_LIBS" >&5 -echo $ECHO_N "checking POPPLER_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking POPPLER_LIBS" >&5 +$as_echo_n "checking POPPLER_LIBS... " >&6; } POPPLER_LIBS=`$PKG_CONFIG --libs "poppler >= 0.8.0 "` - echo "$as_me:$LINENO: result: $POPPLER_LIBS" >&5 -echo "${ECHO_T}$POPPLER_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POPPLER_LIBS" >&5 +$as_echo "$POPPLER_LIBS" >&6; } else POPPLER_CFLAGS="" POPPLER_LIBS="" @@ -26145,30 +20419,26 @@ echo "${ECHO_T}$POPPLER_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (poppler >= 0.8.0 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_POPPLER=NO BUILD_TYPE="$BUILD_TYPE XPDF" - echo "$as_me:$LINENO: checking for xpdf module" >&5 -echo $ECHO_N "checking for xpdf module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xpdf module" >&5 +$as_echo_n "checking for xpdf module... " >&6; } if test -d ./xpdf; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_PDFIMPORT=NO fi @@ -26177,82 +20447,76 @@ fi if test "$ENABLE_PRESENTER_SCREEN" = "YES" -o "$ENABLE_MINIMIZER" = "YES" -o "$ENABLE_PDFIMPORT" = "YES"; then - echo "$as_me:$LINENO: checking for sdext module" >&5 -echo $ECHO_N "checking for sdext module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sdext module" >&5 +$as_echo_n "checking for sdext module... " >&6; } if test -d ./sdext; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi BUILD_TYPE="$BUILD_TYPE SDEXT" fi -echo "$as_me:$LINENO: checking whether to build the Wiki Publisher extension" >&5 -echo $ECHO_N "checking whether to build the Wiki Publisher extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Wiki Publisher extension" >&5 +$as_echo_n "checking whether to build the Wiki Publisher extension... " >&6; } if test -n "$enable_wiki_publisher" -a "$enable_wiki_publisher" != "no" && test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - echo "$as_me:$LINENO: checking for swext module" >&5 -echo $ECHO_N "checking for swext module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for swext module" >&5 +$as_echo_n "checking for swext module... " >&6; } if test -d ./swext; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi ENABLE_MEDIAWIKI=YES BUILD_TYPE="$BUILD_TYPE SWEXT" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_MEDIAWIKI=NO fi if test "$ENABLE_MEDIAWIKI" == "YES"; then - echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5 -echo $ECHO_N "checking which Servlet API Jar to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Servlet API Jar to use" >&5 +$as_echo_n "checking which Servlet API Jar to use... " >&6; } if test -n "$with_system_servlet_api"; then - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } SYSTEM_SERVLETAPI=YES if test -z "$SERVLETAPI_JAR"; then SERVLETAPI_JAR=/usr/share/java/servlet-api.jar fi - as_ac_File=`echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SERVLETAPI_JAR" >&5 -echo $ECHO_N "checking for $SERVLETAPI_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SERVLETAPI_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SERVLETAPI_JAR" >&5 +$as_echo_n "checking for $SERVLETAPI_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SERVLETAPI_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: servlet-api.jar not found." >&5 -echo "$as_me: error: servlet-api.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "servlet-api.jar not found." "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_SERVLETAPI=NO BUILD_TYPE="$BUILD_TYPE TOMCAT" fi @@ -26260,103 +20524,93 @@ fi -echo "$as_me:$LINENO: checking whether to build the Report Builder extension" >&5 -echo $ECHO_N "checking whether to build the Report Builder extension... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Report Builder extension" >&5 +$as_echo_n "checking whether to build the Report Builder extension... " >&6; } if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test "$WITH_JAVA" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } ENABLE_REPORTBUILDER=YES - echo "$as_me:$LINENO: checking for reportbuilder module" >&5 -echo $ECHO_N "checking for reportbuilder module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for reportbuilder module" >&5 +$as_echo_n "checking for reportbuilder module... " >&6; } if test -d ./reportbuilder; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5 -echo $ECHO_N "checking which jfreereport libs to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which jfreereport libs to use" >&5 +$as_echo_n "checking which jfreereport libs to use... " >&6; } if test "$with_system_jfreereport" == "yes"; then SYSTEM_JFREEREPORT=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test -z $SAC_JAR; then SAC_JAR=/usr/share/java/sac.jar fi - as_ac_File=`echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $SAC_JAR" >&5 -echo $ECHO_N "checking for $SAC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$SAC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $SAC_JAR" >&5 +$as_echo_n "checking for $SAC_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$SAC_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: sac.jar not found." >&5 -echo "$as_me: error: sac.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "sac.jar not found." "$LINENO" 5 fi if test -z $LIBXML_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libxml-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libxml_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libxml-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libxml_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libxml-1.0.0.jar"; then ac_cv_file__usr_share_java_libxml_1_0_0_jar=yes else ac_cv_file__usr_share_java_libxml_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_1_0_0_jar" = x""yes; then : LIBXML_JAR=/usr/share/java/libxml-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libxml.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libxml.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libxml_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libxml.jar" >&5 +$as_echo_n "checking for /usr/share/java/libxml.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libxml_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libxml.jar"; then ac_cv_file__usr_share_java_libxml_jar=yes else ac_cv_file__usr_share_java_libxml_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libxml_jar" >&6 -if test $ac_cv_file__usr_share_java_libxml_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libxml_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libxml_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libxml_jar" = x""yes; then : LIBXML_JAR=/usr/share/java/libxml.jar else - { { echo "$as_me:$LINENO: error: libxml.jar replacement not found." >&5 -echo "$as_me: error: libxml.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libxml.jar replacement not found." "$LINENO" 5 fi @@ -26365,79 +20619,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBXML_JAR" >&5 -echo $ECHO_N "checking for $LIBXML_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBXML_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBXML_JAR" >&5 +$as_echo_n "checking for $LIBXML_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBXML_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libxml.jar not found." >&5 -echo "$as_me: error: libxml.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libxml.jar not found." "$LINENO" 5 fi fi if test -z $FLUTE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/flute-1.3.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute-1.3.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flute_1_3_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flute-1.3.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute-1.3.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flute_1_3_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flute-1.3.0.jar"; then ac_cv_file__usr_share_java_flute_1_3_0_jar=yes else ac_cv_file__usr_share_java_flute_1_3_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_1_3_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flute_1_3_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_1_3_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_1_3_0_jar" = x""yes; then : FLUTE_JAR=/usr/share/java/flute-1.3.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/flute.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flute.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flute_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flute.jar" >&5 +$as_echo_n "checking for /usr/share/java/flute.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flute_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flute.jar"; then ac_cv_file__usr_share_java_flute_jar=yes else ac_cv_file__usr_share_java_flute_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flute_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flute_jar" >&6 -if test $ac_cv_file__usr_share_java_flute_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flute_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flute_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flute_jar" = x""yes; then : FLUTE_JAR=/usr/share/java/flute.jar else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar replacement not found." >&5 -echo "$as_me: error: flute-1.3.0.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "flute-1.3.0.jar replacement not found." "$LINENO" 5 fi @@ -26446,79 +20692,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $FLUTE_JAR" >&5 -echo $ECHO_N "checking for $FLUTE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$FLUTE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $FLUTE_JAR" >&5 +$as_echo_n "checking for $FLUTE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$FLUTE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: flute-1.3.0.jar not found." >&5 -echo "$as_me: error: flute-1.3.0.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "flute-1.3.0.jar not found." "$LINENO" 5 fi fi if test -z $JFREEREPORT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine-0.9.2.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flow_engine_0_9_2_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flow-engine-0.9.2.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine-0.9.2.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flow_engine_0_9_2_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flow-engine-0.9.2.jar"; then ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=yes else ac_cv_file__usr_share_java_flow_engine_0_9_2_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_0_9_2_jar" = x""yes; then : JFREEREPORT_JAR=/usr/share/java/flow-engine-0.9.2.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/flow-engine.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/flow-engine.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_flow_engine_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/flow-engine.jar" >&5 +$as_echo_n "checking for /usr/share/java/flow-engine.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_flow_engine_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/flow-engine.jar"; then ac_cv_file__usr_share_java_flow_engine_jar=yes else ac_cv_file__usr_share_java_flow_engine_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_flow_engine_jar" >&6 -if test $ac_cv_file__usr_share_java_flow_engine_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_flow_engine_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_flow_engine_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_flow_engine_jar" = x""yes; then : JFREEREPORT_JAR=/usr/share/java/flow-engine.jar else - { { echo "$as_me:$LINENO: error: jfreereport.jar replacement not found." >&5 -echo "$as_me: error: jfreereport.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jfreereport.jar replacement not found." "$LINENO" 5 fi @@ -26527,79 +20765,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $JFREEREPORT_JAR" >&5 -echo $ECHO_N "checking for $JFREEREPORT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$JFREEREPORT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $JFREEREPORT_JAR" >&5 +$as_echo_n "checking for $JFREEREPORT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$JFREEREPORT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: jfreereport.jar not found." >&5 -echo "$as_me: error: jfreereport.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "jfreereport.jar not found." "$LINENO" 5 fi fi if test -z $LIBLAYOUT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout-0.2.9.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_liblayout_0_2_9_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/liblayout-0.2.9.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout-0.2.9.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_liblayout_0_2_9_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/liblayout-0.2.9.jar"; then ac_cv_file__usr_share_java_liblayout_0_2_9_jar=yes else ac_cv_file__usr_share_java_liblayout_0_2_9_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_0_2_9_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_0_2_9_jar" = x""yes; then : LIBLAYOUT_JAR=/usr/share/java/liblayout-0.2.9.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/liblayout.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/liblayout.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_liblayout_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/liblayout.jar" >&5 +$as_echo_n "checking for /usr/share/java/liblayout.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_liblayout_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/liblayout.jar"; then ac_cv_file__usr_share_java_liblayout_jar=yes else ac_cv_file__usr_share_java_liblayout_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_liblayout_jar" >&6 -if test $ac_cv_file__usr_share_java_liblayout_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_liblayout_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_liblayout_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_liblayout_jar" = x""yes; then : LIBLAYOUT_JAR=/usr/share/java/liblayout.jar else - { { echo "$as_me:$LINENO: error: liblayout.jar replacement not found." >&5 -echo "$as_me: error: liblayout.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "liblayout.jar replacement not found." "$LINENO" 5 fi @@ -26608,79 +20838,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLAYOUT_JAR" >&5 -echo $ECHO_N "checking for $LIBLAYOUT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBLAYOUT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBLAYOUT_JAR" >&5 +$as_echo_n "checking for $LIBLAYOUT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBLAYOUT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: liblayout.jar not found." >&5 -echo "$as_me: error: liblayout.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "liblayout.jar not found." "$LINENO" 5 fi fi if test -z $LIBLOADER_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libloader-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libloader_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libloader-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libloader_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libloader-1.0.0.jar"; then ac_cv_file__usr_share_java_libloader_1_0_0_jar=yes else ac_cv_file__usr_share_java_libloader_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_1_0_0_jar" = x""yes; then : LIBLOADER_JAR=/usr/share/java/libloader-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libloader.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libloader.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libloader_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libloader.jar" >&5 +$as_echo_n "checking for /usr/share/java/libloader.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libloader_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libloader.jar"; then ac_cv_file__usr_share_java_libloader_jar=yes else ac_cv_file__usr_share_java_libloader_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libloader_jar" >&6 -if test $ac_cv_file__usr_share_java_libloader_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libloader_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libloader_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libloader_jar" = x""yes; then : LIBLOADER_JAR=/usr/share/java/libloader.jar else - { { echo "$as_me:$LINENO: error: libloader.jar replacement not found." >&5 -echo "$as_me: error: libloader.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libloader.jar replacement not found." "$LINENO" 5 fi @@ -26689,79 +20911,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBLOADER_JAR" >&5 -echo $ECHO_N "checking for $LIBLOADER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBLOADER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBLOADER_JAR" >&5 +$as_echo_n "checking for $LIBLOADER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBLOADER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libloader.jar not found." >&5 -echo "$as_me: error: libloader.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libloader.jar not found." "$LINENO" 5 fi fi if test -z $LIBFORMULA_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libformula-0.2.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula-0.2.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libformula_0_2_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libformula-0.2.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula-0.2.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libformula_0_2_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libformula-0.2.0.jar"; then ac_cv_file__usr_share_java_libformula_0_2_0_jar=yes else ac_cv_file__usr_share_java_libformula_0_2_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_0_2_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_0_2_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_0_2_0_jar" = x""yes; then : LIBFORMULA_JAR=/usr/share/java/libformula-0.2.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libformula.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libformula.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libformula_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libformula.jar" >&5 +$as_echo_n "checking for /usr/share/java/libformula.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libformula_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libformula.jar"; then ac_cv_file__usr_share_java_libformula_jar=yes else ac_cv_file__usr_share_java_libformula_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libformula_jar" >&6 -if test $ac_cv_file__usr_share_java_libformula_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libformula_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libformula_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libformula_jar" = x""yes; then : LIBFORMULA_JAR=/usr/share/java/libformula.jar else - { { echo "$as_me:$LINENO: error: libformula.jar replacement not found." >&5 -echo "$as_me: error: libformula.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libformula.jar replacement not found." "$LINENO" 5 fi @@ -26770,79 +20984,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFORMULA_JAR" >&5 -echo $ECHO_N "checking for $LIBFORMULA_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBFORMULA_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBFORMULA_JAR" >&5 +$as_echo_n "checking for $LIBFORMULA_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBFORMULA_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libformula.jar not found." >&5 -echo "$as_me: error: libformula.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libformula.jar not found." "$LINENO" 5 fi fi if test -z $LIBREPOSITORY_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/librepository-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_librepository_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/librepository-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_librepository_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/librepository-1.0.0.jar"; then ac_cv_file__usr_share_java_librepository_1_0_0_jar=yes else ac_cv_file__usr_share_java_librepository_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_1_0_0_jar" = x""yes; then : LIBREPOSITORY_JAR=/usr/share/java/librepository-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/librepository.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/librepository.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_librepository_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/librepository.jar" >&5 +$as_echo_n "checking for /usr/share/java/librepository.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_librepository_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/librepository.jar"; then ac_cv_file__usr_share_java_librepository_jar=yes else ac_cv_file__usr_share_java_librepository_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_librepository_jar" >&6 -if test $ac_cv_file__usr_share_java_librepository_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_librepository_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_librepository_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_librepository_jar" = x""yes; then : LIBREPOSITORY_JAR=/usr/share/java/librepository.jar else - { { echo "$as_me:$LINENO: error: librepository.jar replacement not found." >&5 -echo "$as_me: error: librepository.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "librepository.jar replacement not found." "$LINENO" 5 fi @@ -26851,79 +21057,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBREPOSITORY_JAR" >&5 -echo $ECHO_N "checking for $LIBREPOSITORY_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBREPOSITORY_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBREPOSITORY_JAR" >&5 +$as_echo_n "checking for $LIBREPOSITORY_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBREPOSITORY_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: librepository.jar not found." >&5 -echo "$as_me: error: librepository.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "librepository.jar not found." "$LINENO" 5 fi fi if test -z $LIBFONTS_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libfonts_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libfonts-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libfonts_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libfonts-1.0.0.jar"; then ac_cv_file__usr_share_java_libfonts_1_0_0_jar=yes else ac_cv_file__usr_share_java_libfonts_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_1_0_0_jar" = x""yes; then : LIBFONTS_JAR=/usr/share/java/libfonts-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libfonts.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libfonts.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libfonts_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libfonts.jar" >&5 +$as_echo_n "checking for /usr/share/java/libfonts.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libfonts_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libfonts.jar"; then ac_cv_file__usr_share_java_libfonts_jar=yes else ac_cv_file__usr_share_java_libfonts_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libfonts_jar" >&6 -if test $ac_cv_file__usr_share_java_libfonts_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libfonts_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libfonts_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libfonts_jar" = x""yes; then : LIBFONTS_JAR=/usr/share/java/libfonts.jar else - { { echo "$as_me:$LINENO: error: libfonts.jar replacement not found." >&5 -echo "$as_me: error: libfonts.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libfonts.jar replacement not found." "$LINENO" 5 fi @@ -26932,79 +21130,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBFONTS_JAR" >&5 -echo $ECHO_N "checking for $LIBFONTS_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBFONTS_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBFONTS_JAR" >&5 +$as_echo_n "checking for $LIBFONTS_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBFONTS_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libfonts.jar not found." >&5 -echo "$as_me: error: libfonts.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libfonts.jar not found." "$LINENO" 5 fi fi if test -z $LIBSERIALIZER_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libserializer_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libserializer-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libserializer_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libserializer-1.0.0.jar"; then ac_cv_file__usr_share_java_libserializer_1_0_0_jar=yes else ac_cv_file__usr_share_java_libserializer_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_1_0_0_jar" = x""yes; then : LIBSERIALIZER_JAR=/usr/share/java/libserializer-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libserializer.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libserializer.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libserializer_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libserializer.jar" >&5 +$as_echo_n "checking for /usr/share/java/libserializer.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libserializer_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libserializer.jar"; then ac_cv_file__usr_share_java_libserializer_jar=yes else ac_cv_file__usr_share_java_libserializer_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libserializer_jar" >&6 -if test $ac_cv_file__usr_share_java_libserializer_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libserializer_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libserializer_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libserializer_jar" = x""yes; then : LIBSERIALIZER_JAR=/usr/share/java/libserializer.jar else - { { echo "$as_me:$LINENO: error: libserializer.jar replacement not found." >&5 -echo "$as_me: error: libserializer.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libserializer.jar replacement not found." "$LINENO" 5 fi @@ -27013,80 +21203,72 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBSERIALIZER_JAR" >&5 -echo $ECHO_N "checking for $LIBSERIALIZER_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBSERIALIZER_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBSERIALIZER_JAR" >&5 +$as_echo_n "checking for $LIBSERIALIZER_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBSERIALIZER_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libserializer.jar not found." >&5 -echo "$as_me: error: libserializer.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libserializer.jar not found." "$LINENO" 5 fi fi if test -z $LIBBASE_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/libbase-1.0.0.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase-1.0.0.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libbase_1_0_0_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libbase-1.0.0.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase-1.0.0.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libbase_1_0_0_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libbase-1.0.0.jar"; then ac_cv_file__usr_share_java_libbase_1_0_0_jar=yes else ac_cv_file__usr_share_java_libbase_1_0_0_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_1_0_0_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_1_0_0_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_1_0_0_jar" = x""yes; then : LIBBASE_JAR=/usr/share/java/libbase-1.0.0.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/libbase.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/libbase.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_libbase_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/libbase.jar" >&5 +$as_echo_n "checking for /usr/share/java/libbase.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_libbase_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/libbase.jar"; then ac_cv_file__usr_share_java_libbase_jar=yes else ac_cv_file__usr_share_java_libbase_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_libbase_jar" >&6 -if test $ac_cv_file__usr_share_java_libbase_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_libbase_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_libbase_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_libbase_jar" = x""yes; then : LIBBASE_JAR=/usr/share/java/libbase.jar else - { { echo "$as_me:$LINENO: error: libbase.jar replacement not found." >&5 -echo "$as_me: error: libbase.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libbase.jar replacement not found." "$LINENO" 5 fi @@ -27095,54 +21277,50 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $LIBBASE_JAR" >&5 -echo $ECHO_N "checking for $LIBBASE_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$LIBBASE_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LIBBASE_JAR" >&5 +$as_echo_n "checking for $LIBBASE_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$LIBBASE_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: libbase.jar not found." >&5 -echo "$as_me: error: libbase.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "libbase.jar not found." "$LINENO" 5 fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 - echo "$as_me:$LINENO: checking for jfreereport module" >&5 -echo $ECHO_N "checking for jfreereport module... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jfreereport module" >&5 +$as_echo_n "checking for jfreereport module... " >&6; } if test -d ./jfreereport; then - echo "$as_me:$LINENO: result: OK" >&5 -echo "${ECHO_T}OK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 +$as_echo "OK" >&6; } else - { { echo "$as_me:$LINENO: error: not existing. get it (did you get the -extensions tarball?)" >&5 -echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "not existing. get it (did you get the -extensions tarball?)" "$LINENO" 5 fi SYSTEM_JFREEREPORT=NO BUILD_TYPE="$BUILD_TYPE JFREEREPORT" fi BUILD_TYPE="$BUILD_TYPE REPORTBUILDER" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_REPORTBUILDER=NO SYSTEM_JFREEREPORT=NO fi @@ -27163,58 +21341,52 @@ fi # this has to be here because both the wiki publisher and the SRB use # commons-logging if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then - echo "$as_me:$LINENO: checking which Apache commons-* libs to use" >&5 -echo $ECHO_N "checking which Apache commons-* libs to use... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which Apache commons-* libs to use" >&5 +$as_echo_n "checking which Apache commons-* libs to use... " >&6; } if test "$with_system_apache_commons" = "yes"; then SYSTEM_APACHE_COMMONS=YES - echo "$as_me:$LINENO: result: external" >&5 -echo "${ECHO_T}external" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: external" >&5 +$as_echo "external" >&6; } if test "$ENABLE_MEDIAWIKI" = "YES"; then if test -z $COMMONS_CODEC_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-codec-1.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-codec-1.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_codec_1_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-codec-1.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-codec-1.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_codec_1_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-codec-1.3.jar"; then ac_cv_file__usr_share_java_commons_codec_1_3_jar=yes else ac_cv_file__usr_share_java_commons_codec_1_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_codec_1_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_codec_1_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_codec_1_3_jar" = x""yes; then : COMMONS_CODEC_JAR=/usr/share/java/commons-codec-1.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-codec.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-codec.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_codec_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-codec.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-codec.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_codec_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-codec.jar"; then ac_cv_file__usr_share_java_commons_codec_jar=yes else ac_cv_file__usr_share_java_commons_codec_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_codec_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_codec_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_codec_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_codec_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_codec_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_codec_jar" = x""yes; then : COMMONS_CODEC_JAR=/usr/share/java/commons-codecs.jar else - { { echo "$as_me:$LINENO: error: commons-codec.jar replacement not found." >&5 -echo "$as_me: error: commons-codec.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-codec.jar replacement not found." "$LINENO" 5 fi @@ -27223,79 +21395,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_CODEC_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_CODEC_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_CODEC_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_CODEC_JAR" >&5 +$as_echo_n "checking for $COMMONS_CODEC_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_CODEC_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-codec.jar not found." >&5 -echo "$as_me: error: commons-codec.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-codec.jar not found." "$LINENO" 5 fi fi if test -z $COMMONS_LANG_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-lang-2.3.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-lang-2.3.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_lang_2_3_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-lang-2.3.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-lang-2.3.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_lang_2_3_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-lang-2.3.jar"; then ac_cv_file__usr_share_java_commons_lang_2_3_jar=yes else ac_cv_file__usr_share_java_commons_lang_2_3_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_lang_2_3_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_lang_2_3_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_lang_2_3_jar" = x""yes; then : COMMONS_LANG_JAR=/usr/share/java/commons-lang-2.3.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-lang.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-lang.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_lang_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-lang.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-lang.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_lang_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-lang.jar"; then ac_cv_file__usr_share_java_commons_lang_jar=yes else ac_cv_file__usr_share_java_commons_lang_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_lang_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_lang_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_lang_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_lang_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_lang_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_lang_jar" = x""yes; then : COMMONS_LANG_JAR=/usr/share/java/commons-lang.jar else - { { echo "$as_me:$LINENO: error: commons-lang.jar replacement not found." >&5 -echo "$as_me: error: commons-lang.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-lang.jar replacement not found." "$LINENO" 5 fi @@ -27304,79 +21468,71 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LANG_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LANG_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LANG_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_LANG_JAR" >&5 +$as_echo_n "checking for $COMMONS_LANG_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_LANG_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-lang.jar not found." >&5 -echo "$as_me: error: commons-lang.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-lang.jar not found." "$LINENO" 5 fi fi if test -z $COMMONS_HTTPCLIENT_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-httpclient-3.1.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-httpclient-3.1.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_httpclient_3_1_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-httpclient-3.1.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-httpclient-3.1.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_httpclient_3_1_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-httpclient-3.1.jar"; then ac_cv_file__usr_share_java_commons_httpclient_3_1_jar=yes else ac_cv_file__usr_share_java_commons_httpclient_3_1_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_httpclient_3_1_jar" = x""yes; then : COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient-3.1.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-httpclient.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-httpclient.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_httpclient_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-httpclient.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-httpclient.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_httpclient_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-httpclient.jar"; then ac_cv_file__usr_share_java_commons_httpclient_jar=yes else ac_cv_file__usr_share_java_commons_httpclient_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_httpclient_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_httpclient_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_httpclient_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_httpclient_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_httpclient_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_httpclient_jar" = x""yes; then : COMMONS_HTTPCLIENT_JAR=/usr/share/java/commons-httpclient.jar else - { { echo "$as_me:$LINENO: error: commons-httpclient.jar replacement not found." >&5 -echo "$as_me: error: commons-httpclient.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-httpclient.jar replacement not found." "$LINENO" 5 fi @@ -27385,80 +21541,72 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_HTTPCLIENT_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_HTTPCLIENT_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_HTTPCLIENT_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_HTTPCLIENT_JAR" >&5 +$as_echo_n "checking for $COMMONS_HTTPCLIENT_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_HTTPCLIENT_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-httpclient.jar not found." >&5 -echo "$as_me: error: commons-httpclient.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-httpclient.jar not found." "$LINENO" 5 fi fi fi if test "$ENABLE_MEDIAWIKI" = "YES" -o "$ENABLE_REPORTBUILDER" = "YES"; then if test -z $COMMONS_LOGGING_JAR; then - echo "$as_me:$LINENO: checking for /usr/share/java/commons-logging-1.1.1.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-logging-1.1.1.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_logging_1_1_1_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-logging-1.1.1.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-logging-1.1.1.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_logging_1_1_1_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-logging-1.1.1.jar"; then ac_cv_file__usr_share_java_commons_logging_1_1_1_jar=yes else ac_cv_file__usr_share_java_commons_logging_1_1_1_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_logging_1_1_1_jar" = x""yes; then : COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-1.1.1.jar else - echo "$as_me:$LINENO: checking for /usr/share/java/commons-logging.jar" >&5 -echo $ECHO_N "checking for /usr/share/java/commons-logging.jar... $ECHO_C" >&6 -if test "${ac_cv_file__usr_share_java_commons_logging_jar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/java/commons-logging.jar" >&5 +$as_echo_n "checking for /usr/share/java/commons-logging.jar... " >&6; } +if test "${ac_cv_file__usr_share_java_commons_logging_jar+set}" = set; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/usr/share/java/commons-logging.jar"; then ac_cv_file__usr_share_java_commons_logging_jar=yes else ac_cv_file__usr_share_java_commons_logging_jar=no fi fi -echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_commons_logging_jar" >&5 -echo "${ECHO_T}$ac_cv_file__usr_share_java_commons_logging_jar" >&6 -if test $ac_cv_file__usr_share_java_commons_logging_jar = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_java_commons_logging_jar" >&5 +$as_echo "$ac_cv_file__usr_share_java_commons_logging_jar" >&6; } +if test "x$ac_cv_file__usr_share_java_commons_logging_jar" = x""yes; then : COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar else - { { echo "$as_me:$LINENO: error: commons-logging.jar replacement not found." >&5 -echo "$as_me: error: commons-logging.jar replacement not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-logging.jar replacement not found." "$LINENO" 5 fi @@ -27467,37 +21615,35 @@ fi fi else - as_ac_File=`echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $COMMONS_LOGGING_JAR" >&5 -echo $ECHO_N "checking for $COMMONS_LOGGING_JAR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_File+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + as_ac_File=`$as_echo "ac_cv_file_$COMMONS_LOGGING_JAR" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $COMMONS_LOGGING_JAR" >&5 +$as_echo_n "checking for $COMMONS_LOGGING_JAR... " >&6; } +if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "$COMMONS_LOGGING_JAR"; then eval "$as_ac_File=yes" else eval "$as_ac_File=no" fi fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6 -if test `eval echo '${'$as_ac_File'}'` = yes; then - : +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_File + if test "x$as_val" = x""yes; then : + else - { { echo "$as_me:$LINENO: error: commons-logging.jar not found." >&5 -echo "$as_me: error: commons-logging.jar not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "commons-logging.jar not found." "$LINENO" 5 fi fi fi else - echo "$as_me:$LINENO: result: internal" >&5 -echo "${ECHO_T}internal" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: internal" >&5 +$as_echo "internal" >&6; } SYSTEM_APACHE_COMMONS=NO BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS TOMCAT" fi @@ -27549,8 +21695,8 @@ if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" - echo "$as_me:$LINENO: checking for Qt headers" >&5 -echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt headers" >&5 +$as_echo_n "checking for Qt headers... " >&6; } qt_incdir="no" for kde_check in $qt_incdirs ; do if test -r "$kde_check/$qt_test_include" ; then @@ -27558,18 +21704,15 @@ echo $ECHO_N "checking for Qt headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $qt_incdir" >&5 -echo "${ECHO_T}$qt_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_incdir" >&5 +$as_echo "$qt_incdir" >&6; } if test "x$qt_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt headers not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt headers not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt headers not found. Please specify the root of +your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for Qt libraries" >&5 -echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt libraries" >&5 +$as_echo_n "checking for Qt libraries... " >&6; } qt_libdir="no" for qt_check in $qt_libdirs ; do if test -r "$qt_check/$qt_test_library" ; then @@ -27577,22 +21720,19 @@ echo $ECHO_N "checking for Qt libraries... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $qt_libdir" >&5 -echo "${ECHO_T}$qt_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_libdir" >&5 +$as_echo "$qt_libdir" >&6; } if test "x$qt_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt libraries not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt libraries not found. Please specify the root of -your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt libraries not found. Please specify the root of +your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MOC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MOC+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MOC in [\\/]* | ?:[\\/]*) @@ -27605,39 +21745,37 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC" && ac_cv_path_MOC="no" ;; esac fi MOC=$ac_cv_path_MOC - if test -n "$MOC"; then - echo "$as_me:$LINENO: result: $MOC" >&5 -echo "${ECHO_T}$MOC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 +$as_echo "$MOC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt Meta Object Compiler not found. Please specify +the root of your Qt installation by exporting QTDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE headers" >&5 -echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE headers" >&5 +$as_echo_n "checking for KDE headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -27645,18 +21783,15 @@ echo $ECHO_N "checking for KDE headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE headers not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE headers not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE headers not found. Please specify the root of +your KDE installation by exporting KDEDIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE libraries" >&5 -echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE libraries" >&5 +$as_echo_n "checking for KDE libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -27664,14 +21799,11 @@ echo $ECHO_N "checking for KDE libraries... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE libraries not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&5 -echo "$as_me: error: KDE libraries not found. Please specify the root of -your KDE installation by exporting KDEDIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE libraries not found. Please specify the root of +your KDE installation by exporting KDEDIR before running \"configure\"." "$LINENO" 5 fi KDE_CFLAGS="-I$qt_incdir -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" @@ -27711,8 +21843,8 @@ if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then kde_test_include="ksharedptr.h" kde_test_library="libkdeui.so" - echo "$as_me:$LINENO: checking for Qt4 headers" >&5 -echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt4 headers" >&5 +$as_echo_n "checking for Qt4 headers... " >&6; } qt_header_dir="no" for inc_dir in $qt_incdirs ; do if test -r "$inc_dir/$qt_test_include" ; then @@ -27721,16 +21853,14 @@ echo $ECHO_N "checking for Qt4 headers... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $qt_header_dir" >&5 -echo "${ECHO_T}$qt_header_dir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_header_dir" >&5 +$as_echo "$qt_header_dir" >&6; } if test "x$qt_header_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for Qt4 libraries" >&5 -echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt4 libraries" >&5 +$as_echo_n "checking for Qt4 libraries... " >&6; } qt_lib_dir="no" for lib_dir in $qt_libdirs ; do if test -r "$lib_dir/$qt_test_library" ; then @@ -27739,21 +21869,19 @@ echo $ECHO_N "checking for Qt4 libraries... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $qt_lib_dir" >&5 -echo "${ECHO_T}$qt_lib_dir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $qt_lib_dir" >&5 +$as_echo "$qt_lib_dir" >&6; } if test "x$qt_lib_dir" = "xno" ; then - { { echo "$as_me:$LINENO: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MOC4+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MOC4+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $MOC4 in [\\/]* | ?:[\\/]*) @@ -27766,39 +21894,37 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MOC4="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_MOC4" && ac_cv_path_MOC4="no" ;; esac fi MOC4=$ac_cv_path_MOC4 - if test -n "$MOC4"; then - echo "$as_me:$LINENO: result: $MOC4" >&5 -echo "${ECHO_T}$MOC4" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5 +$as_echo "$MOC4" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + if test "$MOC4" = "no" ; then - { { echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QT4DIR before running \"configure\"." >&5 -echo "$as_me: error: Qt Meta Object Compiler not found. Please specify -the root of your Qt installation by exporting QT4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Qt Meta Object Compiler not found. Please specify +the root of your Qt installation by exporting QT4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE4 headers" >&5 -echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE4 headers" >&5 +$as_echo_n "checking for KDE4 headers... " >&6; } kde_incdir="no" for kde_check in $kde_incdirs ; do if test -r "$kde_check/$kde_test_include" ; then @@ -27806,16 +21932,14 @@ echo $ECHO_N "checking for KDE4 headers... $ECHO_C" >&6 break fi done - echo "$as_me:$LINENO: result: $kde_incdir" >&5 -echo "${ECHO_T}$kde_incdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_incdir" >&5 +$as_echo "$kde_incdir" >&6; } if test "x$kde_incdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." "$LINENO" 5 fi - echo "$as_me:$LINENO: checking for KDE4 libraries" >&5 -echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for KDE4 libraries" >&5 +$as_echo_n "checking for KDE4 libraries... " >&6; } kde_libdir="no" for kde_check in $kde_libdirs ; do if test -r "$kde_check/$kde_test_library" ; then @@ -27824,12 +21948,10 @@ echo $ECHO_N "checking for KDE4 libraries... $ECHO_C" >&6 fi done - echo "$as_me:$LINENO: result: $kde_libdir" >&5 -echo "${ECHO_T}$kde_libdir" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $kde_libdir" >&5 +$as_echo "$kde_libdir" >&6; } if test "x$kde_libdir" = "xno" ; then - { { echo "$as_me:$LINENO: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&5 -echo "$as_me: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDE4DIR before running \"configure\"." "$LINENO" 5 fi KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT" @@ -27839,34 +21961,34 @@ fi -echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5 -echo $ECHO_N "checking whether to enable the lockdown pieces... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable the lockdown pieces" >&5 +$as_echo_n "checking whether to enable the lockdown pieces... " >&6; } ENABLE_LOCKDOWN="" if test -n "$enable_lockdown" && test "$enable_lockdown" != "no"; then ENABLE_LOCKDOWN=YES - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable evolution 2 support" >&5 -echo $ECHO_N "checking whether to enable evolution 2 support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable evolution 2 support" >&5 +$as_echo_n "checking whether to enable evolution 2 support... " >&6; } if test "$enable_evolution2" = "yes" -o "$enable_evolution2" = "TRUE"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) @@ -27878,29 +22000,30 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG - if test -n "$PKG_CONFIG"; then - echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -27911,25 +22034,25 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gobject-2.0" >&5 -echo $ECHO_N "checking for gobject-2.0... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-2.0" >&5 +$as_echo_n "checking for gobject-2.0... " >&6; } if $PKG_CONFIG --exists "gobject-2.0" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } succeeded=yes - echo "$as_me:$LINENO: checking GOBJECT_CFLAGS" >&5 -echo $ECHO_N "checking GOBJECT_CFLAGS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GOBJECT_CFLAGS" >&5 +$as_echo_n "checking GOBJECT_CFLAGS... " >&6; } GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0"` - echo "$as_me:$LINENO: result: $GOBJECT_CFLAGS" >&5 -echo "${ECHO_T}$GOBJECT_CFLAGS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOBJECT_CFLAGS" >&5 +$as_echo "$GOBJECT_CFLAGS" >&6; } - echo "$as_me:$LINENO: checking GOBJECT_LIBS" >&5 -echo $ECHO_N "checking GOBJECT_LIBS... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GOBJECT_LIBS" >&5 +$as_echo_n "checking GOBJECT_LIBS... " >&6; } GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0"` - echo "$as_me:$LINENO: result: $GOBJECT_LIBS" >&5 -echo "${ECHO_T}$GOBJECT_LIBS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOBJECT_LIBS" >&5 +$as_echo "$GOBJECT_LIBS" >&6; } else GOBJECT_CFLAGS="" GOBJECT_LIBS="" @@ -27950,27 +22073,25 @@ echo "${ECHO_T}$GOBJECT_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Library requirements (gobject-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." "$LINENO" 5 fi ENABLE_EVOAB2="TRUE" else ENABLE_EVOAB2="" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to enable KDE address book support" >&5 -echo $ECHO_N "checking whether to enable KDE address book support... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable KDE address book support" >&5 +$as_echo_n "checking whether to enable KDE address book support... " >&6; } if test "$enable_kdeab" = "yes" && test "$enable_kde" = "yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - ac_ext=cc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -27978,20 +22099,15 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS=$CXXFLAGS CXXFLAGS="$CXXFLAGS $KDE_CFLAGS" - echo "$as_me:$LINENO: checking whether KDE is between 3.2 and 3.6" >&5 -echo $ECHO_N "checking whether KDE is between 3.2 and 3.6... $ECHO_C" >&6 - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether KDE is between 3.2 and 3.6" >&5 +$as_echo_n "checking whether KDE is between 3.2 and 3.6... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -28002,31 +22118,16 @@ int main(int argc, char **argv) { } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +if ac_fn_cxx_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&5 -echo "$as_me: error: KDE version too old or too recent, please use another version of KDE or disable KDE address book support" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "KDE version too old or too recent, please use another version of KDE or disable KDE address book support" "$LINENO" 5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + CXXFLAGS=$save_CXXFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -28036,66 +22137,66 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ENABLE_KAB=TRUE else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } ENABLE_KAB= fi -echo "$as_me:$LINENO: checking whether to include MathMLDTD" >&5 -echo $ECHO_N "checking whether to include MathMLDTD... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include MathMLDTD" >&5 +$as_echo_n "checking whether to include MathMLDTD... " >&6; } if test -n "$enable_mathmldtd"; then if test "$enable_mathmldtd" = "no"; then - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" else - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } BUILD_TYPE="$BUILD_TYPE MATHMLDTD" fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SCPDEFS="$SCPDEFS -DWITHOUT_MATHMLDTD" fi -echo "$as_me:$LINENO: checking whether to include Bitstream Vera fonts" >&5 -echo $ECHO_N "checking whether to include Bitstream Vera fonts... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include Bitstream Vera fonts" >&5 +$as_echo_n "checking whether to include Bitstream Vera fonts... " >&6; } if test "$with_fonts" != "no" ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } WITH_FONTS=YES BUILD_TYPE="$BUILD_TYPE BITSTREAM_VERA_FONTS" else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITH_FONTS=NO SCPDEFS="$SCPDEFS -DWITHOUT_FONTS" fi -echo "$as_me:$LINENO: checking whether to include PPDs" >&5 -echo $ECHO_N "checking whether to include PPDs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include PPDs" >&5 +$as_echo_n "checking whether to include PPDs... " >&6; } if test "$with_ppds" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_PPDS=YES SCPDEFS="$SCPDEFS -DWITHOUT_PPDS" fi -echo "$as_me:$LINENO: checking whether to include AFMs" >&5 -echo $ECHO_N "checking whether to include AFMs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include AFMs" >&5 +$as_echo_n "checking whether to include AFMs... " >&6; } if test "$with_afms" != "no"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } WITHOUT_AFMS=YES SCPDEFS="$SCPDEFS -DWITHOUT_AFMS" fi @@ -28103,13 +22204,13 @@ fi -echo "$as_me:$LINENO: checking whether and how to use Xinerama" >&5 -echo $ECHO_N "checking whether and how to use Xinerama... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether and how to use Xinerama" >&5 +$as_echo_n "checking whether and how to use Xinerama... " >&6; } if test "$_os" = "Darwin"; then USE_XINERAMA=YES XINERAMA_LINK=dynamic - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then if test -e "$XLIB/libXinerama.so" -a -e "$XLIB/libXinerama.a"; then # we have both versions, let the user decide but use the dynamic one @@ -28139,151 +22240,13 @@ elif test "$_os" = "Linux" -o "$_os" = "FreeBSD"; then XINERAMA_LINK=none fi if test "$USE_XINERAMA" = "YES"; then - echo "$as_me:$LINENO: result: yes, with $XINERAMA_LINK linking" >&5 -echo "${ECHO_T}yes, with $XINERAMA_LINK linking" >&6 - if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h usability" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking X11/extensions/Xinerama.h presence" >&5 -echo $ECHO_N "checking X11/extensions/Xinerama.h presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: X11/extensions/Xinerama.h: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5 -echo $ECHO_N "checking for X11/extensions/Xinerama.h... $ECHO_C" >&6 -if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_X11_extensions_Xinerama_h=$ac_header_preproc -fi -echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5 -echo "${ECHO_T}$ac_cv_header_X11_extensions_Xinerama_h" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, with $XINERAMA_LINK linking" >&5 +$as_echo "yes, with $XINERAMA_LINK linking" >&6; } + ac_fn_c_check_header_mongrel "$LINENO" "X11/extensions/Xinerama.h" "ac_cv_header_X11_extensions_Xinerama_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xinerama_h" = x""yes; then : -fi -if test $ac_cv_header_X11_extensions_Xinerama_h = yes; then - : else - { { echo "$as_me:$LINENO: error: Xinerama header not found." >&5 -echo "$as_me: error: Xinerama header not found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xinerama header not found." "$LINENO" 5 fi @@ -28294,72 +22257,43 @@ fi if test "$_os" = "Linux"; then XINERAMA_EXTRA_LIBS="$XINERAMA_EXTRA_LIBS -ldl" fi - -echo "$as_me:$LINENO: checking for XineramaIsActive in -lXinerama" >&5 -echo $ECHO_N "checking for XineramaIsActive in -lXinerama... $ECHO_C" >&6 -if test "${ac_cv_lib_Xinerama_XineramaIsActive+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XineramaIsActive in -lXinerama" >&5 +$as_echo_n "checking for XineramaIsActive in -lXinerama... " >&6; } +if test "${ac_cv_lib_Xinerama_XineramaIsActive+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lXinerama $XINERAMA_EXTRA_LIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char XineramaIsActive (); int main () { -XineramaIsActive (); +return XineramaIsActive (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_Xinerama_XineramaIsActive=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_Xinerama_XineramaIsActive=no + ac_cv_lib_Xinerama_XineramaIsActive=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 -echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaIsActive" >&6 -if test $ac_cv_lib_Xinerama_XineramaIsActive = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xinerama_XineramaIsActive" >&5 +$as_echo "$ac_cv_lib_Xinerama_XineramaIsActive" >&6; } +if test "x$ac_cv_lib_Xinerama_XineramaIsActive" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBXINERAMA 1 _ACEOF @@ -28367,18 +22301,16 @@ _ACEOF LIBS="-lXinerama $LIBS" else - { { echo "$as_me:$LINENO: error: Xinerama not functional?" >&5 -echo "$as_me: error: Xinerama not functional?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Xinerama not functional?" "$LINENO" 5 fi else - echo "$as_me:$LINENO: result: no, libXinerama not found or wrong architecture." >&5 -echo "${ECHO_T}no, libXinerama not found or wrong architecture." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, libXinerama not found or wrong architecture." >&5 +$as_echo "no, libXinerama not found or wrong architecture." >&6; } fi else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -28392,10 +22324,10 @@ if test -z "$with_ant_home"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ANT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -28407,28 +22339,29 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANT" >&5 +$as_echo "$ANT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -28440,10 +22373,10 @@ else do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ANT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ANT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $ANT in [\\/]* | ?:[\\/]*) @@ -28456,28 +22389,29 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ANT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS ;; esac fi ANT=$ac_cv_path_ANT - if test -n "$ANT"; then - echo "$as_me:$LINENO: result: $ANT" >&5 -echo "${ECHO_T}$ANT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANT" >&5 +$as_echo "$ANT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ANT" && break done @@ -28486,9 +22420,7 @@ done fi if test -z "$ANT"; then - { { echo "$as_me:$LINENO: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&5 -echo "$as_me: error: Ant not found - Make sure it's in the path or use --with-ant-home" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Ant not found - Make sure it's in the path or use --with-ant-home" "$LINENO" 5 else # resolve relative or absolute symlink while test -h "$ANT"; do @@ -28513,8 +22445,8 @@ else fi ant_minminor1=`echo $ant_minver | cut -d"." -f2` - echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5 -echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ant is >= $ant_minver" >&5 +$as_echo_n "checking whether ant is >= $ant_minver... " >&6; } ant_version=`$ANT -version | $AWK '{ print $4; }'` ant_version_major=`echo $ant_version | cut -d. -f1` ant_version_minor=`echo $ant_version | cut -d. -f2` @@ -28522,18 +22454,16 @@ echo "configure: ant_version $ant_version " >&5 echo "configure: ant_version_major $ant_version_major " >&5 echo "configure: ant_version_minor $ant_version_minor " >&5 if test "$ant_version_major" -ge "2"; then - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then - echo "$as_me:$LINENO: result: yes, $ant_version" >&5 -echo "${ECHO_T}yes, $ant_version" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, $ant_version" >&5 +$as_echo "yes, $ant_version" >&6; } else - { { echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5 -echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no, you need at least ant >= $ant_minver" "$LINENO" 5 fi - echo "$as_me:$LINENO: checking if $ANT works" >&5 -echo $ECHO_N "checking if $ANT works... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $ANT works" >&5 +$as_echo_n "checking if $ANT works... " >&6; } cat > conftest.java << EOF public class conftest { int testmethod(int a, int b) { @@ -28557,14 +22487,14 @@ EOF else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi - { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ant_cmd\""; } >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./conftest.class ; then - echo "$as_me:$LINENO: result: Ant works" >&5 -echo "${ECHO_T}Ant works" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Ant works" >&5 +$as_echo "Ant works" >&6; } if test -z "$WITH_ANT_HOME"; then ANT_HOME=`$ANT -diagnostics | $EGREP "ant.home :" | $SED -e "s#ant.home : ##g"` if test -z "$ANT_HOME"; then @@ -28577,8 +22507,8 @@ echo "${ECHO_T}Ant works" >&6 echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 - { echo "$as_me:$LINENO: WARNING: Ant does not work - Some Java projects will not build!" >&5 -echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ant does not work - Some Java projects will not build!" >&5 +$as_echo "$as_me: WARNING: Ant does not work - Some Java projects will not build!" >&2;} ANT_HOME="" echo "Ant does not work - Some Java projects will not build!" >>warn fi @@ -28591,8 +22521,8 @@ fi if test "$ANT_HOME" != "NO_ANT_HOME"; then - echo "$as_me:$LINENO: checking Ant lib directory" >&5 -echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Ant lib directory" >&5 +$as_echo_n "checking Ant lib directory... " >&6; } if test -f $ANT_HOME/lib/ant.jar; then ANT_LIB="$ANT_HOME/lib" else @@ -28608,23 +22538,21 @@ echo $ECHO_N "checking Ant lib directory... $ECHO_C" >&6 if test -f $ANT_HOME/lib/ant/ant.jar; then ANT_LIB="$ANT_HOME/lib/ant" else - { { echo "$as_me:$LINENO: error: Ant libraries not found!" >&5 -echo "$as_me: error: Ant libraries not found!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "Ant libraries not found!" "$LINENO" 5 fi fi fi fi fi - echo "$as_me:$LINENO: result: Ant lib directory found." >&5 -echo "${ECHO_T}Ant lib directory found." >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Ant lib directory found." >&5 +$as_echo "Ant lib directory found." >&6; } fi fi if test "$ENABLE_MEDIAWIKI" = "YES"; then -echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5 -echo $ECHO_N "checking whether ant supports mapper type=\"regexp\"... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ant supports mapper type=\"regexp\"" >&5 +$as_echo_n "checking whether ant supports mapper type=\"regexp\"... " >&6; } rm -rf confdir mkdir confdir cat > conftest.java << EOF @@ -28656,31 +22584,29 @@ EOF else ant_cmd="$ANT -buildfile conftest.xml 1>&2" fi - { (eval echo "$as_me:$LINENO: \"$ant_cmd\"") >&5 + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ant_cmd\""; } >&5 (eval $ant_cmd) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } if test $? = 0 && test -f ./conftest.class ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } rm -rf confdir else echo "configure: Ant test failed" >&5 cat conftest.java >&5 cat conftest.xml >&5 rm -rf confdir - { { echo "$as_me:$LINENO: error: no. Did you install ant-apache-regexp?" >&5 -echo "$as_me: error: no. Did you install ant-apache-regexp?" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no. Did you install ant-apache-regexp?" "$LINENO" 5 fi fi rm -f conftest* core core.* *.core OOO_JUNIT_JAR= if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then - echo "$as_me:$LINENO: checking for JUnit 4" >&5 -echo $ECHO_N "checking for JUnit 4... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JUnit 4" >&5 +$as_echo_n "checking for JUnit 4... " >&6; } if test "$with_junit" == "yes"; then if test -e /usr/share/java/junit4.jar; then OOO_JUNIT_JAR=/usr/share/java/junit4.jar @@ -28696,176 +22622,172 @@ echo $ECHO_N "checking for JUnit 4... $ECHO_C" >&6 "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \ grep org/junit/Before.class > /dev/null 2>&5 if test $? -eq 0; then - echo "$as_me:$LINENO: result: $OOO_JUNIT_JAR" >&5 -echo "${ECHO_T}$OOO_JUNIT_JAR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OOO_JUNIT_JAR" >&5 +$as_echo "$OOO_JUNIT_JAR" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { { echo "$as_me:$LINENO: error: cannot find JUnit 4 jar at $OOO_JUNIT_JAR; + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error "cannot find JUnit 4 jar at $OOO_JUNIT_JAR; please install one and/or specify its pathname via --with-junit=..., -or disable it via --without-junit" >&5 -echo "$as_me: error: cannot find JUnit 4 jar at $OOO_JUNIT_JAR; -please install one and/or specify its pathname via --with-junit=..., -or disable it via --without-junit" >&2;} - { (exit 1); exit 1; }; } +or disable it via --without-junit" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: checking which languages to be built" >&5 -echo $ECHO_N "checking which languages to be built... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which languages to be built" >&5 +$as_echo_n "checking which languages to be built... " >&6; } WITH_LANG="$with_lang" if test -z "$WITH_LANG"; then - echo "$as_me:$LINENO: result: en-US" >&5 -echo "${ECHO_T}en-US" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: en-US" >&5 +$as_echo "en-US" >&6; } else - echo "$as_me:$LINENO: result: $WITH_LANG" >&5 -echo "${ECHO_T}$WITH_LANG" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_LANG" >&5 +$as_echo "$WITH_LANG" >&6; } fi -echo "$as_me:$LINENO: checking which languages have poor help localizations" >&5 -echo $ECHO_N "checking which languages have poor help localizations... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which languages have poor help localizations" >&5 +$as_echo_n "checking which languages have poor help localizations... " >&6; } WITH_POOR_HELP_LOCALIZATIONS="$with_poor_help_localizations" if test -z "$WITH_POOR_HELP_LOCALIZATIONS"; then - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else - echo "$as_me:$LINENO: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 -echo "${ECHO_T}$WITH_POOR_HELP_LOCALIZATIONS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WITH_POOR_HELP_LOCALIZATIONS" >&5 +$as_echo "$WITH_POOR_HELP_LOCALIZATIONS" >&6; } fi -echo "$as_me:$LINENO: checking which dictionaries to include" >&5 -echo $ECHO_N "checking which dictionaries to include... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which dictionaries to include" >&5 +$as_echo_n "checking which dictionaries to include... " >&6; } if test -z "$with_dict"; then WITH_DICT=,ALL, - echo "$as_me:$LINENO: result: ALL" >&5 -echo "${ECHO_T}ALL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ALL" >&5 +$as_echo "ALL" >&6; } else WITH_DICT=","$with_dict"," - echo "$as_me:$LINENO: result: $with_dict" >&5 -echo "${ECHO_T}$with_dict" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_dict" >&5 +$as_echo "$with_dict" >&6; } fi -echo "$as_me:$LINENO: checking for additional 'intro' bitmaps" >&5 -echo $ECHO_N "checking for additional 'intro' bitmaps... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional 'intro' bitmaps" >&5 +$as_echo_n "checking for additional 'intro' bitmaps... " >&6; } INTRO_BITMAPS= if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then INTRO_BITMAPS= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: Intro bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Intro bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: Intro bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then INTRO_BITMAPS="$INTRO_BITMAPS $bitmap" fi done - echo "$as_me:$LINENO: result: $INTRO_BITMAPS" >&5 -echo "${ECHO_T}$INTRO_BITMAPS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTRO_BITMAPS" >&5 +$as_echo "$INTRO_BITMAPS" >&6; } fi -echo "$as_me:$LINENO: checking for additional 'about' bitmaps" >&5 -echo $ECHO_N "checking for additional 'about' bitmaps... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional 'about' bitmaps" >&5 +$as_echo_n "checking for additional 'about' bitmaps... " >&6; } ABOUT_BITMAPS= if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then ABOUT_BITMAPS= - echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } else for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do case "$bitmap" in *.bmp) ;; - *) bitmap= ; { echo "$as_me:$LINENO: WARNING: About bitmaps should be .bmp files!" >&5 -echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; + *) bitmap= ; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: About bitmaps should be .bmp files!" >&5 +$as_echo "$as_me: WARNING: About bitmaps should be .bmp files!" >&2;} ;; esac if test -n "$bitmap" ; then ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap" fi done - echo "$as_me:$LINENO: result: $ABOUT_BITMAPS" >&5 -echo "${ECHO_T}$ABOUT_BITMAPS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ABOUT_BITMAPS" >&5 +$as_echo "$ABOUT_BITMAPS" >&6; } fi OOO_VENDOR= -echo "$as_me:$LINENO: checking for vendor" >&5 -echo $ECHO_N "checking for vendor... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vendor" >&5 +$as_echo_n "checking for vendor... " >&6; } if test -z "$with_vendor" -o "$with_vendor" = "no" ; then - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } else OOO_VENDOR="$with_vendor" - echo "$as_me:$LINENO: result: $OOO_VENDOR" >&5 -echo "${ECHO_T}$OOO_VENDOR" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OOO_VENDOR" >&5 +$as_echo "$OOO_VENDOR" >&6; } fi UNIXWRAPPERNAME= -echo "$as_me:$LINENO: checking for UNIX wrapper name" >&5 -echo $ECHO_N "checking for UNIX wrapper name... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UNIX wrapper name" >&5 +$as_echo_n "checking for UNIX wrapper name... " >&6; } if test -z "$with_unix_wrapper" -o "$with_unix_wrapper" = "no" -o "$with_unix_wrapper" = "yes" ; then - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } else UNIXWRAPPERNAME="$with_unix_wrapper" - echo "$as_me:$LINENO: result: $UNIXWRAPPERNAME" >&5 -echo "${ECHO_T}$UNIXWRAPPERNAME" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIXWRAPPERNAME" >&5 +$as_echo "$UNIXWRAPPERNAME" >&6; } fi -echo "$as_me:$LINENO: checking whether to statically link to Gtk" >&5 -echo $ECHO_N "checking whether to statically link to Gtk... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to statically link to Gtk" >&5 +$as_echo_n "checking whether to statically link to Gtk... " >&6; } if test -n "$enable_static_gtk" && test "$enable_static_gtk" != "no"; then ENABLE_STATIC_GTK="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_STATIC_GTK="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -echo "$as_me:$LINENO: checking whether to use layout dialogs" >&5 -echo $ECHO_N "checking whether to use layout dialogs... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use layout dialogs" >&5 +$as_echo_n "checking whether to use layout dialogs... " >&6; } if test -n "$enable_layout" && test "$enable_layout" != "no"; then ENABLE_LAYOUT="TRUE" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else ENABLE_LAYOUT="FALSE" - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi # =================================================================== # De- or increase default verbosity of build process # =================================================================== -echo "$as_me:$LINENO: checking build verbosity" >&5 -echo $ECHO_N "checking build verbosity... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build verbosity" >&5 +$as_echo_n "checking build verbosity... " >&6; } if test -n "$enable_verbose"; then if test "$enable_verbose" == "yes"; then VERBOSE="TRUE" - echo "$as_me:$LINENO: result: high" >&5 -echo "${ECHO_T}high" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: high" >&5 +$as_echo "high" >&6; } fi if test "$enable_verbose" == "no"; then VERBOSE="FALSE" - echo "$as_me:$LINENO: result: low" >&5 -echo "${ECHO_T}low" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: low" >&5 +$as_echo "low" >&6; } fi else - echo "$as_me:$LINENO: result: not set" >&5 -echo "${ECHO_T}not set" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5 +$as_echo "not set" >&6; } fi @@ -28876,22 +22798,20 @@ echo "* *" echo "********************************************************************" if test -z "$COMPATH"; then - { { echo "$as_me:$LINENO: error: No compiler found." >&5 -echo "$as_me: error: No compiler found." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "No compiler found." "$LINENO" 5 fi -echo "$as_me:$LINENO: checking solver path" >&5 -echo $ECHO_N "checking solver path... $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking solver path" >&5 +$as_echo_n "checking solver path... " >&6; } if test -z "$with_local_solver"; then LOCAL_SOLVER="DEFAULT" - echo "$as_me:$LINENO: result: default" >&5 -echo "${ECHO_T}default" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5 +$as_echo "default" >&6; } else LOCAL_SOLVER=$with_local_solver - echo "$as_me:$LINENO: result: $with_local_solver" >&5 -echo "${ECHO_T}$with_local_solver" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_local_solver" >&5 +$as_echo "$with_local_solver" >&6; } fi @@ -28900,7 +22820,8 @@ fi # make sure config.guess is +x; we execute config.guess, so it has to be so; chmod +x ./config.guess - ac_config_files="$ac_config_files set_soenv Makefile" +ac_config_files="$ac_config_files set_soenv Makefile" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -28919,39 +22840,59 @@ _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -{ +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; + ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -28960,63 +22901,54 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, +# take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. - ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -29024,12 +22956,15 @@ LTLIBOBJS=$ac_ltlibobjs + : ${CONFIG_STATUS=./config.status} +ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -29039,81 +22974,252 @@ cat >$CONFIG_STATUS <<_ACEOF debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -DUALCASE=1; export DUALCASE # for MKS sh -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi -done + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - -# PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -29121,148 +23227,123 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file else - as_expr=false + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -29271,31 +23352,20 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH - exec 6>&1 - -# Open the log real soon, to keep \$[0] and so on meaningful, and to +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - +# values after options handling. +ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -29303,124 +23373,111 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + _ACEOF -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" -cat >>$CONFIG_STATUS <<\_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE Configuration files: $config_files -Report bugs to ." -_ACEOF +Report bugs to the package provider." -cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +AWK='$AWK' +test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - -*) + *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_option=$1 - ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; + -*) as_fn_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; esac shift @@ -29434,31 +23491,45 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" fi _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - - -cat >>$CONFIG_STATUS <<\_ACEOF +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "set_soenv" ) CONFIG_FILES="$CONFIG_FILES set_soenv" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + case $ac_config_target in + "set_soenv") CONFIG_FILES="$CONFIG_FILES set_soenv" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -29468,683 +23539,403 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} { - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi -# -# CONFIG_FILES section. -# +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@EGREP@,$EGREP,;t t -s,@AWK@,$AWK,;t t -s,@SED@,$SED,;t t -s,@LOCAL_SOLENV@,$LOCAL_SOLENV,;t t -s,@_solenv@,$_solenv,;t t -s,@UPD@,$UPD,;t t -s,@SOURCEVERSION@,$SOURCEVERSION,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@GNUTAR@,$GNUTAR,;t t -s,@OSVERSION@,$OSVERSION,;t t -s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t -s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t -s,@ENABLE_CRASHDUMP@,$ENABLE_CRASHDUMP,;t t -s,@VC_STANDARD@,$VC_STANDARD,;t t -s,@ENABLE_WERROR@,$ENABLE_WERROR,;t t -s,@ENABLE_DEBUG@,$ENABLE_DEBUG,;t t -s,@PRODUCT@,$PRODUCT,;t t -s,@PROFULLSWITCH@,$PROFULLSWITCH,;t t -s,@PROEXT@,$PROEXT,;t t -s,@ENABLE_SYMBOLS@,$ENABLE_SYMBOLS,;t t -s,@DISABLE_STRIP@,$DISABLE_STRIP,;t t -s,@ENABLE_CUPS@,$ENABLE_CUPS,;t t -s,@ENABLE_FONTCONFIG@,$ENABLE_FONTCONFIG,;t t -s,@TARFILE_LOCATION@,$TARFILE_LOCATION,;t t -s,@DO_FETCH_TARBALLS@,$DO_FETCH_TARBALLS,;t t -s,@WITH_BINFILTER@,$WITH_BINFILTER,;t t -s,@ENABLE_DIRECTX@,$ENABLE_DIRECTX,;t t -s,@DISABLE_ACTIVEX@,$DISABLE_ACTIVEX,;t t -s,@DISABLE_ATL@,$DISABLE_ATL,;t t -s,@ENABLE_RPATH@,$ENABLE_RPATH,;t t -s,@WITH_MYSPELL_DICTS@,$WITH_MYSPELL_DICTS,;t t -s,@SYSTEM_DICTS@,$SYSTEM_DICTS,;t t -s,@DICT_SYSTEM_DIR@,$DICT_SYSTEM_DIR,;t t -s,@HYPH_SYSTEM_DIR@,$HYPH_SYSTEM_DIR,;t t -s,@THES_SYSTEM_DIR@,$THES_SYSTEM_DIR,;t t -s,@WITH_MINGWIN@,$WITH_MINGWIN,;t t -s,@SHELLPATH@,$SHELLPATH,;t t -s,@GCC_HOME@,$GCC_HOME,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@COMPATH@,$COMPATH,;t t -s,@GCCVER@,$GCCVER,;t t -s,@HAVE_LD_BSYMBOLIC_FUNCTIONS@,$HAVE_LD_BSYMBOLIC_FUNCTIONS,;t t -s,@ENABLE_PCH@,$ENABLE_PCH,;t t -s,@NO_HIDS@,$NO_HIDS,;t t -s,@GNUMAKE@,$GNUMAKE,;t t -s,@_cc@,$_cc,;t t -s,@HAVE_LD_HASH_STYLE@,$HAVE_LD_HASH_STYLE,;t t -s,@PERL@,$PERL,;t t -s,@MSPDB_PATH@,$MSPDB_PATH,;t t -s,@COMEX@,$COMEX,;t t -s,@USE_MINGW@,$USE_MINGW,;t t -s,@MIDL_PATH@,$MIDL_PATH,;t t -s,@CSC_PATH@,$CSC_PATH,;t t -s,@FRAME_HOME@,$FRAME_HOME,;t t -s,@CPP@,$CPP,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@SIZEOF_LONG@,$SIZEOF_LONG,;t t -s,@WORDS_BIGENDIAN@,$WORDS_BIGENDIAN,;t t -s,@LFS_CFLAGS@,$LFS_CFLAGS,;t t -s,@ENABLE_VBA@,$ENABLE_VBA,;t t -s,@VBA_EXTENSION@,$VBA_EXTENSION,;t t -s,@PAM@,$PAM,;t t -s,@NEW_SHADOW_API@,$NEW_SHADOW_API,;t t -s,@PAM_LINK@,$PAM_LINK,;t t -s,@CRYPT_LINK@,$CRYPT_LINK,;t t -s,@GXX_INCLUDE_PATH@,$GXX_INCLUDE_PATH,;t t -s,@MINGW_LIB_INCLUDE_PATH@,$MINGW_LIB_INCLUDE_PATH,;t t -s,@MINGW_BACKWARD_INCLUDE_PATH@,$MINGW_BACKWARD_INCLUDE_PATH,;t t -s,@MINGW_CLIB_DIR@,$MINGW_CLIB_DIR,;t t -s,@MINGW_SHARED_GCCLIB@,$MINGW_SHARED_GCCLIB,;t t -s,@MINGW_GCCLIB_EH@,$MINGW_GCCLIB_EH,;t t -s,@MINGW_SHARED_GXXLIB@,$MINGW_SHARED_GXXLIB,;t t -s,@MINGW_GCCDLL@,$MINGW_GCCDLL,;t t -s,@MINGW_GXXDLL@,$MINGW_GXXDLL,;t t -s,@EXCEPTIONS@,$EXCEPTIONS,;t t -s,@STLPORT4@,$STLPORT4,;t t -s,@STLPORT_VER@,$STLPORT_VER,;t t -s,@USE_SYSTEM_STL@,$USE_SYSTEM_STL,;t t -s,@USE_CCACHE@,$USE_CCACHE,;t t -s,@CCACHE@,$CCACHE,;t t -s,@HAVE_GCC_VISIBILITY_FEATURE@,$HAVE_GCC_VISIBILITY_FEATURE,;t t -s,@ALLOC@,$ALLOC,;t t -s,@BUILD_VER_STRING@,$BUILD_VER_STRING,;t t -s,@SOLAR_JAVA@,$SOLAR_JAVA,;t t -s,@JAVAINTERPRETER@,$JAVAINTERPRETER,;t t -s,@JAVACOMPILER@,$JAVACOMPILER,;t t -s,@JAVACISGCJ@,$JAVACISGCJ,;t t -s,@JAVADOC@,$JAVADOC,;t t -s,@AWTLIB@,$AWTLIB,;t t -s,@JAVAAOTCOMPILER@,$JAVAAOTCOMPILER,;t t -s,@JAVA_HOME@,$JAVA_HOME,;t t -s,@JDK@,$JDK,;t t -s,@JAVAFLAGS@,$JAVAFLAGS,;t t -s,@JAVAIFLAGS@,$JAVAIFLAGS,;t t -s,@DMAKE@,$DMAKE,;t t -s,@BUILD_DMAKE@,$BUILD_DMAKE,;t t -s,@EPM@,$EPM,;t t -s,@DPKG@,$DPKG,;t t -s,@PKGMK@,$PKGMK,;t t -s,@BUILD_EPM@,$BUILD_EPM,;t t -s,@PKGFORMAT@,$PKGFORMAT,;t t -s,@RPM@,$RPM,;t t -s,@GPERF@,$GPERF,;t t -s,@MINGWCXX@,$MINGWCXX,;t t -s,@ac_ct_MINGWCXX@,$ac_ct_MINGWCXX,;t t -s,@MINGWSTRIP@,$MINGWSTRIP,;t t -s,@ac_ct_MINGWSTRIP@,$ac_ct_MINGWSTRIP,;t t -s,@BUILD_UNOWINREG@,$BUILD_UNOWINREG,;t t -s,@BUILD_QADEVOOO@,$BUILD_QADEVOOO,;t t -s,@SYSTEM_STDLIBS@,$SYSTEM_STDLIBS,;t t -s,@SYSTEM_ZLIB@,$SYSTEM_ZLIB,;t t -s,@SYSTEM_JPEG@,$SYSTEM_JPEG,;t t -s,@SYSTEM_EXPAT@,$SYSTEM_EXPAT,;t t -s,@PKG_CONFIG@,$PKG_CONFIG,;t t -s,@LIBWPD_CFLAGS@,$LIBWPD_CFLAGS,;t t -s,@LIBWPD_LIBS@,$LIBWPD_LIBS,;t t -s,@SYSTEM_LIBWPD@,$SYSTEM_LIBWPD,;t t -s,@CPPUNIT_CFLAGS@,$CPPUNIT_CFLAGS,;t t -s,@CPPUNIT_LIBS@,$CPPUNIT_LIBS,;t t -s,@SYSTEM_CPPUNIT@,$SYSTEM_CPPUNIT,;t t -s,@FREETYPE_CFLAGS@,$FREETYPE_CFLAGS,;t t -s,@FREETYPE_LIBS@,$FREETYPE_LIBS,;t t -s,@USE_FT_EMBOLDEN@,$USE_FT_EMBOLDEN,;t t -s,@LIBXSLT_CFLAGS@,$LIBXSLT_CFLAGS,;t t -s,@LIBXSLT_LIBS@,$LIBXSLT_LIBS,;t t -s,@XSLTPROC@,$XSLTPROC,;t t -s,@SYSTEM_LIBXSLT@,$SYSTEM_LIBXSLT,;t t -s,@LIBXML_CFLAGS@,$LIBXML_CFLAGS,;t t -s,@LIBXML_LIBS@,$LIBXML_LIBS,;t t -s,@SYSTEM_LIBXML@,$SYSTEM_LIBXML,;t t -s,@PYTHON@,$PYTHON,;t t -s,@PYTHON_VERSION@,$PYTHON_VERSION,;t t -s,@PYTHON_PREFIX@,$PYTHON_PREFIX,;t t -s,@PYTHON_EXEC_PREFIX@,$PYTHON_EXEC_PREFIX,;t t -s,@PYTHON_PLATFORM@,$PYTHON_PLATFORM,;t t -s,@pythondir@,$pythondir,;t t -s,@pkgpythondir@,$pkgpythondir,;t t -s,@pyexecdir@,$pyexecdir,;t t -s,@pkgpyexecdir@,$pkgpyexecdir,;t t -s,@BZIP2@,$BZIP2,;t t -s,@SYSTEM_PYTHON@,$SYSTEM_PYTHON,;t t -s,@PYTHON_CFLAGS@,$PYTHON_CFLAGS,;t t -s,@PYTHON_LIBS@,$PYTHON_LIBS,;t t -s,@HOME@,$HOME,;t t -s,@SYSTEM_DB@,$SYSTEM_DB,;t t -s,@DB_VERSION@,$DB_VERSION,;t t -s,@DB_INCLUDES@,$DB_INCLUDES,;t t -s,@DB_JAR@,$DB_JAR,;t t -s,@SYSTEM_LUCENE@,$SYSTEM_LUCENE,;t t -s,@LUCENE_CORE_JAR@,$LUCENE_CORE_JAR,;t t -s,@LUCENE_ANALYZERS_JAR@,$LUCENE_ANALYZERS_JAR,;t t -s,@ENABLE_MYSQLC@,$ENABLE_MYSQLC,;t t -s,@MYSQLCONFIG@,$MYSQLCONFIG,;t t -s,@SYSTEM_MYSQL@,$SYSTEM_MYSQL,;t t -s,@MYSQL_INC@,$MYSQL_INC,;t t -s,@MYSQL_LIB@,$MYSQL_LIB,;t t -s,@MYSQL_DEFINES@,$MYSQL_DEFINES,;t t -s,@LIBMYSQL_PATH@,$LIBMYSQL_PATH,;t t -s,@SYSTEM_MYSQL_CPPCONN@,$SYSTEM_MYSQL_CPPCONN,;t t -s,@SYSTEM_HSQLDB@,$SYSTEM_HSQLDB,;t t -s,@HSQLDB_JAR@,$HSQLDB_JAR,;t t -s,@SYSTEM_BSH@,$SYSTEM_BSH,;t t -s,@BSH_JAR@,$BSH_JAR,;t t -s,@SERIALIZER_JAR@,$SERIALIZER_JAR,;t t -s,@SYSTEM_SAXON@,$SYSTEM_SAXON,;t t -s,@SAXON_JAR@,$SAXON_JAR,;t t -s,@CURLCONFIG@,$CURLCONFIG,;t t -s,@SYSTEM_CURL@,$SYSTEM_CURL,;t t -s,@CURL_CFLAGS@,$CURL_CFLAGS,;t t -s,@CURL_LIBS@,$CURL_LIBS,;t t -s,@SYSTEM_BOOST@,$SYSTEM_BOOST,;t t -s,@SYSTEM_VIGRA@,$SYSTEM_VIGRA,;t t -s,@SYSTEM_ODBC_HEADERS@,$SYSTEM_ODBC_HEADERS,;t t -s,@WITH_MOZILLA@,$WITH_MOZILLA,;t t -s,@WITH_LDAP@,$WITH_LDAP,;t t -s,@WITH_OPENLDAP@,$WITH_OPENLDAP,;t t -s,@MOZ_NSS_CFLAGS@,$MOZ_NSS_CFLAGS,;t t -s,@MOZ_NSS_LIBS@,$MOZ_NSS_LIBS,;t t -s,@NSS_LIB@,$NSS_LIB,;t t -s,@MOZ_NSPR_CFLAGS@,$MOZ_NSPR_CFLAGS,;t t -s,@MOZ_NSPR_LIBS@,$MOZ_NSPR_LIBS,;t t -s,@NSPR_LIB@,$NSPR_LIB,;t t -s,@MOZILLAXPCOM_CFLAGS@,$MOZILLAXPCOM_CFLAGS,;t t -s,@MOZILLAXPCOM_LIBS@,$MOZILLAXPCOM_LIBS,;t t -s,@MOZILLA_VERSION@,$MOZILLA_VERSION,;t t -s,@MOZILLA_TOOLKIT@,$MOZILLA_TOOLKIT,;t t -s,@MOZGTK2_CFLAGS@,$MOZGTK2_CFLAGS,;t t -s,@MOZGTK2_LIBS@,$MOZGTK2_LIBS,;t t -s,@MOZLIBREQ_CFLAGS@,$MOZLIBREQ_CFLAGS,;t t -s,@MOZLIBREQ_LIBS@,$MOZLIBREQ_LIBS,;t t -s,@BUILD_MOZAB@,$BUILD_MOZAB,;t t -s,@ENABLE_NSS_MODULE@,$ENABLE_NSS_MODULE,;t t -s,@MOZILLABUILD@,$MOZILLABUILD,;t t -s,@SYSTEM_MOZILLA@,$SYSTEM_MOZILLA,;t t -s,@MOZ_FLAVOUR@,$MOZ_FLAVOUR,;t t -s,@MOZ_INC@,$MOZ_INC,;t t -s,@MOZ_LIB@,$MOZ_LIB,;t t -s,@MOZ_LIB_XPCOM@,$MOZ_LIB_XPCOM,;t t -s,@MOZ_LDAP_CFLAGS@,$MOZ_LDAP_CFLAGS,;t t -s,@SYSTEM_SANE_HEADER@,$SYSTEM_SANE_HEADER,;t t -s,@SYSTEM_GENBRK@,$SYSTEM_GENBRK,;t t -s,@SYSTEM_GENCCODE@,$SYSTEM_GENCCODE,;t t -s,@SYSTEM_GENCMN@,$SYSTEM_GENCMN,;t t -s,@SYSTEM_ICU@,$SYSTEM_ICU,;t t -s,@GRAPHITE_CFLAGS@,$GRAPHITE_CFLAGS,;t t -s,@GRAPHITE_LIBS@,$GRAPHITE_LIBS,;t t -s,@ENABLE_GRAPHITE@,$ENABLE_GRAPHITE,;t t -s,@SYSTEM_GRAPHITE@,$SYSTEM_GRAPHITE,;t t -s,@X_CFLAGS@,$X_CFLAGS,;t t -s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t -s,@X_LIBS@,$X_LIBS,;t t -s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t -s,@XINC@,$XINC,;t t -s,@XLIB@,$XLIB,;t t -s,@XAU_LIBS@,$XAU_LIBS,;t t -s,@DISABLE_XAW@,$DISABLE_XAW,;t t -s,@SYSTEM_XRENDER_HEADERS@,$SYSTEM_XRENDER_HEADERS,;t t -s,@XRENDER_LINK@,$XRENDER_LINK,;t t -s,@XRANDR_CFLAGS@,$XRANDR_CFLAGS,;t t -s,@XRANDR_LIBS@,$XRANDR_LIBS,;t t -s,@XRANDR_DLOPEN@,$XRANDR_DLOPEN,;t t -s,@ENABLE_RANDR@,$ENABLE_RANDR,;t t -s,@DISABLE_NEON@,$DISABLE_NEON,;t t -s,@NEON_CFLAGS@,$NEON_CFLAGS,;t t -s,@NEON_LIBS@,$NEON_LIBS,;t t -s,@SYSTEM_NEON@,$SYSTEM_NEON,;t t -s,@NEON_VERSION@,$NEON_VERSION,;t t -s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t -s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t -s,@SYSTEM_OPENSSL@,$SYSTEM_OPENSSL,;t t -s,@ENABLE_AGG@,$ENABLE_AGG,;t t -s,@AGG_CFLAGS@,$AGG_CFLAGS,;t t -s,@AGG_LIBS@,$AGG_LIBS,;t t -s,@SYSTEM_AGG@,$SYSTEM_AGG,;t t -s,@AGG_VERSION@,$AGG_VERSION,;t t -s,@REDLAND_CFLAGS@,$REDLAND_CFLAGS,;t t -s,@REDLAND_LIBS@,$REDLAND_LIBS,;t t -s,@SYSTEM_REDLAND@,$SYSTEM_REDLAND,;t t -s,@HUNSPELL_CFLAGS@,$HUNSPELL_CFLAGS,;t t -s,@HUNSPELL_LIBS@,$HUNSPELL_LIBS,;t t -s,@SYSTEM_HUNSPELL@,$SYSTEM_HUNSPELL,;t t -s,@SYSTEM_HYPH@,$SYSTEM_HYPH,;t t -s,@HYPHEN_LIB@,$HYPHEN_LIB,;t t -s,@SYSTEM_MYTHES@,$SYSTEM_MYTHES,;t t -s,@SYSTEM_LPSOLVE@,$SYSTEM_LPSOLVE,;t t -s,@PSDK_HOME@,$PSDK_HOME,;t t -s,@WINDOWS_VISTA_PSDK@,$WINDOWS_VISTA_PSDK,;t t -s,@DIRECTXSDK_HOME@,$DIRECTXSDK_HOME,;t t -s,@DIRECTXSDK_LIB@,$DIRECTXSDK_LIB,;t t -s,@NSIS_PATH@,$NSIS_PATH,;t t -s,@BISON@,$BISON,;t t -s,@FLEX@,$FLEX,;t t -s,@PATCH@,$PATCH,;t t -s,@GNUCP@,$GNUCP,;t t -s,@GNUPATCH@,$GNUPATCH,;t t -s,@CYGWIN_PATH@,$CYGWIN_PATH,;t t -s,@ML_EXE@,$ML_EXE,;t t -s,@ASM_HOME@,$ASM_HOME,;t t -s,@ZIP@,$ZIP,;t t -s,@UNZIP@,$UNZIP,;t t -s,@ZIP_HOME@,$ZIP_HOME,;t t -s,@ENABLE_GTK@,$ENABLE_GTK,;t t -s,@ENABLE_KDE@,$ENABLE_KDE,;t t -s,@ENABLE_KDE4@,$ENABLE_KDE4,;t t -s,@GCONF_CFLAGS@,$GCONF_CFLAGS,;t t -s,@GCONF_LIBS@,$GCONF_LIBS,;t t -s,@ENABLE_GCONF@,$ENABLE_GCONF,;t t -s,@GNOMEVFS_CFLAGS@,$GNOMEVFS_CFLAGS,;t t -s,@GNOMEVFS_LIBS@,$GNOMEVFS_LIBS,;t t -s,@ENABLE_GNOMEVFS@,$ENABLE_GNOMEVFS,;t t -s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t -s,@GTK_LIBS@,$GTK_LIBS,;t t -s,@DBUS_CFLAGS@,$DBUS_CFLAGS,;t t -s,@DBUS_LIBS@,$DBUS_LIBS,;t t -s,@GIO_CFLAGS@,$GIO_CFLAGS,;t t -s,@GIO_LIBS@,$GIO_LIBS,;t t -s,@ENABLE_GIO@,$ENABLE_GIO,;t t -s,@ENABLE_DBUS@,$ENABLE_DBUS,;t t -s,@ENABLE_SYSTRAY_GTK@,$ENABLE_SYSTRAY_GTK,;t t -s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t -s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t -s,@ENABLE_CAIRO@,$ENABLE_CAIRO,;t t -s,@BUILD_PIXMAN@,$BUILD_PIXMAN,;t t -s,@SYSTEM_CAIRO@,$SYSTEM_CAIRO,;t t -s,@ENABLE_OPENGL@,$ENABLE_OPENGL,;t t -s,@ENABLE_PRESENTER_EXTRA_UI@,$ENABLE_PRESENTER_EXTRA_UI,;t t -s,@ENABLE_MINIMIZER@,$ENABLE_MINIMIZER,;t t -s,@ENABLE_PRESENTER_SCREEN@,$ENABLE_PRESENTER_SCREEN,;t t -s,@POPPLER_CFLAGS@,$POPPLER_CFLAGS,;t t -s,@POPPLER_LIBS@,$POPPLER_LIBS,;t t -s,@ENABLE_PDFIMPORT@,$ENABLE_PDFIMPORT,;t t -s,@SYSTEM_POPPLER@,$SYSTEM_POPPLER,;t t -s,@ENABLE_MEDIAWIKI@,$ENABLE_MEDIAWIKI,;t t -s,@SYSTEM_SERVLETAPI@,$SYSTEM_SERVLETAPI,;t t -s,@SERVLETAPI_JAR@,$SERVLETAPI_JAR,;t t -s,@ENABLE_REPORTBUILDER@,$ENABLE_REPORTBUILDER,;t t -s,@SYSTEM_JFREEREPORT@,$SYSTEM_JFREEREPORT,;t t -s,@SAC_JAR@,$SAC_JAR,;t t -s,@LIBXML_JAR@,$LIBXML_JAR,;t t -s,@FLUTE_JAR@,$FLUTE_JAR,;t t -s,@JFREEREPORT_JAR@,$JFREEREPORT_JAR,;t t -s,@LIBBASE_JAR@,$LIBBASE_JAR,;t t -s,@LIBLAYOUT_JAR@,$LIBLAYOUT_JAR,;t t -s,@LIBLOADER_JAR@,$LIBLOADER_JAR,;t t -s,@LIBFORMULA_JAR@,$LIBFORMULA_JAR,;t t -s,@LIBREPOSITORY_JAR@,$LIBREPOSITORY_JAR,;t t -s,@LIBFONTS_JAR@,$LIBFONTS_JAR,;t t -s,@LIBSERIALIZER_JAR@,$LIBSERIALIZER_JAR,;t t -s,@SYSTEM_APACHE_COMMONS@,$SYSTEM_APACHE_COMMONS,;t t -s,@COMMONS_CODEC_JAR@,$COMMONS_CODEC_JAR,;t t -s,@COMMONS_LANG_JAR@,$COMMONS_LANG_JAR,;t t -s,@COMMONS_HTTPCLIENT_JAR@,$COMMONS_HTTPCLIENT_JAR,;t t -s,@COMMONS_LOGGING_JAR@,$COMMONS_LOGGING_JAR,;t t -s,@MOC@,$MOC,;t t -s,@KDE_CFLAGS@,$KDE_CFLAGS,;t t -s,@KDE_LIBS@,$KDE_LIBS,;t t -s,@MOC4@,$MOC4,;t t -s,@KDE4_CFLAGS@,$KDE4_CFLAGS,;t t -s,@KDE4_LIBS@,$KDE4_LIBS,;t t -s,@ENABLE_LOCKDOWN@,$ENABLE_LOCKDOWN,;t t -s,@GOBJECT_CFLAGS@,$GOBJECT_CFLAGS,;t t -s,@GOBJECT_LIBS@,$GOBJECT_LIBS,;t t -s,@ENABLE_EVOAB2@,$ENABLE_EVOAB2,;t t -s,@ENABLE_KAB@,$ENABLE_KAB,;t t -s,@WITH_FONTS@,$WITH_FONTS,;t t -s,@WITHOUT_PPDS@,$WITHOUT_PPDS,;t t -s,@WITHOUT_AFMS@,$WITHOUT_AFMS,;t t -s,@SCPDEFS@,$SCPDEFS,;t t -s,@USE_XINERAMA@,$USE_XINERAMA,;t t -s,@XINERAMA_LINK@,$XINERAMA_LINK,;t t -s,@ANT@,$ANT,;t t -s,@ANT_HOME@,$ANT_HOME,;t t -s,@ANT_LIB@,$ANT_LIB,;t t -s,@OOO_JUNIT_JAR@,$OOO_JUNIT_JAR,;t t -s,@WITH_LANG@,$WITH_LANG,;t t -s,@WITH_POOR_HELP_LOCALIZATIONS@,$WITH_POOR_HELP_LOCALIZATIONS,;t t -s,@WITH_DICT@,$WITH_DICT,;t t -s,@INTRO_BITMAPS@,$INTRO_BITMAPS,;t t -s,@ABOUT_BITMAPS@,$ABOUT_BITMAPS,;t t -s,@OOO_VENDOR@,$OOO_VENDOR,;t t -s,@UNIXWRAPPERNAME@,$UNIXWRAPPERNAME,;t t -s,@ENABLE_STATIC_GTK@,$ENABLE_STATIC_GTK,;t t -s,@ENABLE_LAYOUT@,$ENABLE_LAYOUT,;t t -s,@VERBOSE@,$VERBOSE,;t t -s,@LOCAL_SOLVER@,$LOCAL_SOLVER,;t t -s,@BUILD_TYPE@,$BUILD_TYPE,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF -_ACEOF +eval set X " :F $CONFIG_FILES " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || + ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac + case $ac_mode in + :F) + # + # CONFIG_FILE + # +_ACEOF - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo "$f";; - *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + ;; -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -{ (exit 0); exit 0; } + esac + +done # for ac_tag + + +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save +test $ac_write_fail = 0 || + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -30164,7 +23955,11 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/configure.in b/configure.in index 91ff5806fbe5..4f2b991427fe 100644 --- a/configure.in +++ b/configure.in @@ -5134,6 +5134,15 @@ if test "$_os" = "Linux"; then fi fi +AC_CHECK_FUNCS(getopt, SYSTEM_GETOPT=YES, [SYSTEM_GETOPT=NO]) +AC_CHECK_FUNCS(readdir_r, SYSTEM_READDIR_R=YES, [SYSTEM_READDIR_R=NO]) +if test "$SYSTEM_GETOPT" = "YES" -a "$SYSTEM_READDIR_R" = "YES"; then + SYSTEM_GLIBC=YES +fi +AC_SUBST(SYSTEM_GETOPT) +AC_SUBST(SYSTEM_READDIR_R) +AC_SUBST(SYSTEM_GLIBC) + dnl ========================================= dnl Check for the Microsoft Platform SDK. dnl ========================================= diff --git a/set_soenv.in b/set_soenv.in index 64815d418f99..44c162dcf105 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -1875,6 +1875,9 @@ ToFile( "SYSTEM_HUNSPELL", "@SYSTEM_HUNSPELL@", "e" ); ToFile( "HUNSPELL_CFLAGS", "@HUNSPELL_CFLAGS@", "e" ); ToFile( "HUNSPELL_LIBS", "@HUNSPELL_LIBS@", "e" ); ToFile( "SYSTEM_LPSOLVE", "@SYSTEM_LPSOLVE@", "e" ); +ToFile( "SYSTEM_GETOPT", "@SYSTEM_GETOPT@", "e" ); +ToFile( "SYSTEM_READDIR_R", "@SYSTEM_READDIR_R@", "e" ); +ToFile( "SYSTEM_GLIBC", "@SYSTEM_GLIBC@", "e" ); ToFile( "SYSTEM_HYPH", "@SYSTEM_HYPH@", "e" ); ToFile( "HYPHEN_LIB", "@HYPHEN_LIB@", "e" ); ToFile( "SYSTEM_MYTHES", "@SYSTEM_MYTHES@", "e" ); diff --git a/soltools/cpp/_getopt.c b/soltools/cpp/_getopt.c deleted file mode 100644 index 589638936efb..000000000000 --- a/soltools/cpp/_getopt.c +++ /dev/null @@ -1,71 +0,0 @@ -#include -#include - -#define EPR fprintf(stderr, -#define ERR(str, chr) if(opterr) { EPR "%s%c\n", str, chr); } - -int opterr = 1; -int optind = 1; -int optopt; -char *optarg; - -int - stgetopt(int argc, char *const argv[], const char *opts) -{ - static int sp = 1; - register int c; - register char *cp; - - if (sp == 1) - { - if (optind >= argc || - argv[optind][0] != '-' || argv[optind][1] == '\0') - return -1; - else if (strcmp(argv[optind], "--") == 0) - { - optind++; - return -1; - } - else if (strcmp(argv[optind], "-isysroot") == 0) - { - // skip Mac OS X SDK selection flags - optind++; optind++; - } - } - optopt = c = argv[optind][sp]; - if (c == ':' || (cp = strchr(opts, c)) == 0) - { - ERR(": illegal option -- ", c); - if (argv[optind][++sp] == '\0') - { - optind++; - sp = 1; - } - return '?'; - } - if (*++cp == ':') - { - if (argv[optind][sp + 1] != '\0') - optarg = &argv[optind++][sp + 1]; - else - if (++optind >= argc) - { - ERR(": option requires an argument -- ", c); - sp = 1; - return '?'; - } - else - optarg = argv[optind++]; - sp = 1; - } - else - { - if (argv[optind][++sp] == '\0') - { - sp = 1; - optind++; - } - optarg = 0; - } - return c; -} diff --git a/soltools/cpp/_nlist.c b/soltools/cpp/_nlist.c index 9144f2b7e15e..a71085bfbbf9 100644 --- a/soltools/cpp/_nlist.c +++ b/soltools/cpp/_nlist.c @@ -3,9 +3,6 @@ #include #include "cpp.h" -extern int stgetopt(int, char *const *, const char *); -extern char *optarg; -extern int optind; extern int Cplusplus; Nlist *kwdefined; char wd[128]; diff --git a/soltools/cpp/_unix.c b/soltools/cpp/_unix.c index 5574bb3ecef7..1b58c00b6edb 100644 --- a/soltools/cpp/_unix.c +++ b/soltools/cpp/_unix.c @@ -12,9 +12,7 @@ #include "cpp.h" -extern int stgetopt(int, char *const *, const char *); -extern char *optarg, rcsid[]; -extern int optind; +extern char rcsid[]; int Pflag = 0; /* print no line information */ int Iflag = 0; /* print includes */ @@ -36,7 +34,7 @@ void Tokenrow tr; setup_kwtab(); - while ((c = stgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) + while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) switch (c) { case 'N': diff --git a/soltools/cpp/makefile.mk b/soltools/cpp/makefile.mk index 818c27028345..5143e01e1d1f 100644 --- a/soltools/cpp/makefile.mk +++ b/soltools/cpp/makefile.mk @@ -45,7 +45,6 @@ LIBSALCPPRT=$(0) OBJFILES= \ $(OBJ)$/_cpp.obj \ $(OBJ)$/_eval.obj \ - $(OBJ)$/_getopt.obj \ $(OBJ)$/_include.obj \ $(OBJ)$/_lex.obj \ $(OBJ)$/_macro.obj \ diff --git a/soltools/javadep/javadep.c b/soltools/javadep/javadep.c index d840e6606689..cb752940941d 100644 --- a/soltools/javadep/javadep.c +++ b/soltools/javadep/javadep.c @@ -138,13 +138,6 @@ void usage(void); void err_quit(const char *, ...); void silent_quit(void); -/* poor man's getopt() */ -int simple_getopt(char *pargv[], const char *poptstring); -char *optarg = NULL; -int optind = 1; -int optopt = 0; -int opterr = 0; - uint8 read_uint8(const file_t *pfile) { @@ -731,45 +724,6 @@ usage() pprogname); } -/* my very simple minded implementation of getopt() - * it's to sad that getopt() is not available everywhere - * note: this is not a full POSIX conforming getopt() - */ -int simple_getopt(char *pargv[], const char *poptstring) -{ - char *parg = pargv[optind]; - - /* skip all response file arguments */ - if ( parg ) { - while ( *parg == '@' ) - parg = pargv[++optind]; - - if ( parg[0] == '-' && parg[1] != '\0' ) { - char *popt; - int c = parg[1]; - if ( (popt = strchr(poptstring, c)) == NULL ) { - optopt = c; - if ( opterr ) - fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt); - return '?'; - } - if ( *(++popt) == ':') { - if ( parg[2] != '\0' ) { - optarg = ++parg; - } else { - optarg = pargv[++optind]; - } - } else { - optarg = NULL; - } - ++optind; - return c; - } - } - return -1; -} - - int CDECL main(int argc, char *argv[]) { @@ -817,7 +771,7 @@ main(int argc, char *argv[]) opterr = 0; pincs = allocate_growable(); - while( (c = simple_getopt(pall_argv, ":i:I:s:S:o:OhHvV")) != -1 ) { + while( (c = getopt(nall_argc, pall_argv, ":i:I:s:S:o:OhHvV")) != -1 ) { switch(c) { case 'i': case 'I': -- cgit From 36ff8423c3656890b4a7a5b187b566403376e2dd Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 18 May 2010 14:05:20 +0200 Subject: systemlibc: migrate systemlibc to hg; try again from scratch --- external/glibc-2.1.3.patch | 11 +++++++++-- external/glibc/makefile.mk | 10 +++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/external/glibc-2.1.3.patch b/external/glibc-2.1.3.patch index 57aae6a9c0fd..8820943a0ee0 100644 --- a/external/glibc-2.1.3.patch +++ b/external/glibc-2.1.3.patch @@ -76,7 +76,7 @@ extern int getopt (); --- misc/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:50 2008 +++ misc/build/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:38 2008 -@@ -1 +1,63 @@ +@@ -1 +1,69 @@ -dummy +#************************************************************************* +# @@ -123,14 +123,16 @@ + +# --- Files -------------------------------------------------------- + ++.IF "$(SYSTEM_GETOPT)" != "YES" +OBJFILES= $(OBJ)$/getopt.obj \ + $(OBJ)$/getopt1.obj + +LIB1TARGET=$(SLB)$/$(TARGET).lib +LIB1ARCHIV=$(LB)$/lib$(TARGET).a +LIB1OBJFILES=$(OBJFILES) ++.ENDIF + -+.IF "$(OS)"=="NETBSD" ++.IF "$(SYSTEM_READDIR_R)" != "YES" +TARGET2=gnu_readdir_r +OBJFILES+= $(OBJ)$/readdir_r.obj +LIB2TARGET=$(SLB)$/$(TARGET2).lib @@ -138,6 +140,11 @@ +LIB2OBJFILES= $(OBJ)$/readdir_r.obj +.ENDIF + ++.IF "$(SYSTEM_READDIR_R)" == "YES" && "$(SYSTEM_GETOPT)" == "YES" ++@all: ++ @echo "Nothing to do here. ++.ENDIF ++ +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/external/glibc/makefile.mk b/external/glibc/makefile.mk index cf4516515a67..ecd064e44ebd 100644 --- a/external/glibc/makefile.mk +++ b/external/glibc/makefile.mk @@ -36,10 +36,14 @@ TARGET=getopt # --- Files -------------------------------------------------------- +.IF "$(SYSTEM_GETOPT)" != "YES" || "$(SYSTEM_READDIR_R)" != "YES" TARFILE_NAME=glibc-2.1.3-stub TARFILE_MD5=4a660ce8466c9df01f19036435425c3a TARFILE_ROOTDIR=glibc-2.1.3 -ADDITIONAL_FILES=posix$/makefile.mk posix$/config.h posix$/readdir_r.c +ADDITIONAL_FILES=posix$/makefile.mk posix$/config.h +.IF "$(SYSTEM_READDIR_R)" != "YES" +ADDITIONAL_FILES += posix$/readdir_r.c +.ENDIF PATCH_FILES=$(PRJ)$/glibc-2.1.3.patch @@ -48,6 +52,10 @@ CONFIGURE_ACTION= BUILD_DIR=posix BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) +.ELSE +@all: + @echo "Nothing to do here." +.ENDIF # --- Targets ------------------------------------------------------ -- cgit From 7eba4ceaf574246d971ae01a8f52c5f075aca35a Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 18 May 2010 14:05:20 +0200 Subject: systemlibc: migrate systemlibc to hg; try again from scratch --- tools/bootstrp/rscdep.cxx | 49 +---------------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/tools/bootstrp/rscdep.cxx b/tools/bootstrp/rscdep.cxx index 5c18793c9833..ebe1e2f412e2 100644 --- a/tools/bootstrp/rscdep.cxx +++ b/tools/bootstrp/rscdep.cxx @@ -70,15 +70,6 @@ void RscHrcDep::Execute() //static String aDelim; -/* poor man's getopt() */ -int simple_getopt(char *argv[], const char *optstring); -#if defined(WNT) || defined(OS2) -static char *optarg = NULL; -static int optind = 1; -static int optopt = 0; -static int opterr = 0; -#endif - SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) { int c; @@ -179,7 +170,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) while( 1 ) { - c = simple_getopt( argv, + c = getopt( argc, argv, "_abcdefghi:jklmnopqrstuvwxyzABCDEFGHI:JKLMNOPQRSTUVWXYZ1234567890/-+=.\\()\""); if ( c == -1 ) break; @@ -296,41 +287,3 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) return 0; } -/* my very simple minded implementation of getopt() - * it's too sad that getopt() is not available everywhere - * note: this is not a full POSIX conforming getopt() - */ -int simple_getopt(char *argv[], const char *optstring) -{ - char *arg = argv[optind]; - - /* skip all response file arguments */ - if ( arg ) { - while ( *arg == '@' ) - arg = argv[++optind]; - - if ( arg[0] == '-' && arg[1] != '\0' ) { - const char *popt; - int c = arg[1]; - if ( (popt = strchr(optstring, c)) == NULL ) { - optopt = c; - if ( opterr ) - fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt); - return '?'; - } - if ( *(++popt) == ':') { - if ( arg[2] != '\0' ) { - optarg = ++arg; - } else { - optarg = argv[++optind]; - } - } else { - optarg = NULL; - } - ++optind; - return c; - } - } - return -1; -} - -- cgit From e377be798f4b35c76a4611d153255c43203921e2 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 18 May 2010 14:05:20 +0200 Subject: systemlibc: migrate systemlibc to hg; try again from scratch --- idlc/source/preproc/getopt.c | 94 ----------------------------------------- idlc/source/preproc/makefile.mk | 1 - idlc/source/preproc/nlist.c | 3 -- idlc/source/preproc/unix.c | 6 +-- 4 files changed, 2 insertions(+), 102 deletions(-) delete mode 100644 idlc/source/preproc/getopt.c diff --git a/idlc/source/preproc/getopt.c b/idlc/source/preproc/getopt.c deleted file mode 100644 index a6163e75075c..000000000000 --- a/idlc/source/preproc/getopt.c +++ /dev/null @@ -1,94 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include -#include - -#define EPR fprintf(stderr, -#define ERR(str, chr) if(opterr) { EPR "%s%c\n", str, chr); } - -int opterr = 1; -int optind = 1; -int optopt; -char *optarg; - -int - cppgetopt(int argc, char *const argv[], const char *opts) -{ - static int sp = 1; - register int c; - register char *cp; - - if (sp == 1) - { - if (optind >= argc || - argv[optind][0] != '-' || argv[optind][1] == '\0') - return -1; - else - if (strcmp(argv[optind], "--") == 0) - { - optind++; - return -1; - } - } - optopt = c = argv[optind][sp]; - if (c == ':' || (cp = strchr(opts, c)) == 0) - { - ERR(": illegal option -- ", c); - if (argv[optind][++sp] == '\0') - { - optind++; - sp = 1; - } - return '?'; - } - if (*++cp == ':') - { - if (argv[optind][sp + 1] != '\0') - optarg = &argv[optind++][sp + 1]; - else - if (++optind >= argc) - { - ERR(": option requires an argument -- ", c); - sp = 1; - return '?'; - } - else - optarg = argv[optind++]; - sp = 1; - } - else - { - if (argv[optind][++sp] == '\0') - { - sp = 1; - optind++; - } - optarg = 0; - } - return c; -} diff --git a/idlc/source/preproc/makefile.mk b/idlc/source/preproc/makefile.mk index 7347f815a23f..f65f37e941fb 100644 --- a/idlc/source/preproc/makefile.mk +++ b/idlc/source/preproc/makefile.mk @@ -43,7 +43,6 @@ LIBSALCPPRT=$(0) OBJFILES= \ $(OBJ)$/cpp.obj \ $(OBJ)$/eval.obj \ - $(OBJ)$/getopt.obj \ $(OBJ)$/include.obj \ $(OBJ)$/lex.obj \ $(OBJ)$/macro.obj \ diff --git a/idlc/source/preproc/nlist.c b/idlc/source/preproc/nlist.c index 3f32fd4cca28..f41313c22aac 100644 --- a/idlc/source/preproc/nlist.c +++ b/idlc/source/preproc/nlist.c @@ -29,9 +29,6 @@ #include #include "cpp.h" -extern int cppgetopt(int, char *const *, const char *); -extern char *optarg; -extern int optind; extern int Cplusplus; Nlist *kwdefined; char wd[128]; diff --git a/idlc/source/preproc/unix.c b/idlc/source/preproc/unix.c index a1b52ce72f06..2f40bd696015 100644 --- a/idlc/source/preproc/unix.c +++ b/idlc/source/preproc/unix.c @@ -39,9 +39,7 @@ #include "cpp.h" -extern int cppgetopt(int, char *const *, const char *); -extern char *optarg, rcsid[]; -extern int optind; +extern char rcsid[]; int Pflag = 0; /* print no line information */ int Iflag = 0; /* print includes */ @@ -62,7 +60,7 @@ void Tokenrow tr; setup_kwtab(); - while ((c = cppgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) + while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) switch (c) { case 'N': -- cgit From eef1fd8ab2966ee3b2934d9050b0a14c4478e1f6 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 18 May 2010 14:59:37 +0200 Subject: jl152 #i77196# smoketest now uses new extension manager service --- desktop/source/app/app.cxx | 2 -- 1 file changed, 2 deletions(-) diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index ebc0ab743125..5e0460891c30 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1659,9 +1659,7 @@ void Desktop::Main() // The acceptors in the AcceptorMap must be released (in DeregisterServices) // with the solar mutex unlocked, to avoid deadlock: nAcquireCount = Application::ReleaseSolarMutex(); - printf("###1\n"); DeregisterServices(); - printf("###2\n"); Application::AcquireSolarMutex(nAcquireCount); tools::DeInitTestToolLib(); // be sure that path/language options gets destroyed before -- cgit From 52fd37966e1d92b515a75b38011309479c7089e5 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 18 May 2010 14:59:37 +0200 Subject: jl152 #i77196# smoketest now uses new extension manager service --- smoketestoo_native/data/smoketestdoc.sxw | Bin 35384 -> 35814 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/smoketestoo_native/data/smoketestdoc.sxw b/smoketestoo_native/data/smoketestdoc.sxw index fa67968addec..6368911cdbf6 100755 Binary files a/smoketestoo_native/data/smoketestdoc.sxw and b/smoketestoo_native/data/smoketestdoc.sxw differ -- cgit From e6d9970ba08599dfaf13998b9cc0908554f00176 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 18 May 2010 15:50:04 +0200 Subject: jl152 #i77196# adapted migration code to use new extension manager, removed old unused migration code, adapted ooo improvement dialog to appear after third start, taking into account the restarting after extension installation --- desktop/prj/build.lst | 3 +- desktop/source/deployment/dp_services.cxx | 6 - desktop/source/deployment/makefile.mk | 1 - .../source/deployment/migration/dp_migration.cxx | 251 ---------- desktop/source/deployment/migration/makefile.mk | 41 -- desktop/source/migration/services/cexports.cxx | 12 +- .../migration/services/extensionmigration.cxx | 540 --------------------- .../migration/services/extensionmigration.hxx | 130 ----- desktop/source/migration/services/makefile.mk | 2 - .../migration/services/oo3extensionmigration.cxx | 33 +- .../migration/services/oo3extensionmigration.hxx | 8 +- .../openoffice/Office/OOoImprovement/Settings.xcs | 2 +- 12 files changed, 28 insertions(+), 1001 deletions(-) delete mode 100644 desktop/source/deployment/migration/dp_migration.cxx delete mode 100644 desktop/source/deployment/migration/makefile.mk delete mode 100755 desktop/source/migration/services/extensionmigration.cxx delete mode 100755 desktop/source/migration/services/extensionmigration.hxx diff --git a/desktop/prj/build.lst b/desktop/prj/build.lst index 6f611926a0df..8029b6ecc9f7 100644 --- a/desktop/prj/build.lst +++ b/desktop/prj/build.lst @@ -21,10 +21,9 @@ dt desktop\os2\source\applauncher nmake - p dt_applauncher dt_inc NULL dt desktop\unx\source\officeloader nmake - u dt_officeloader_unx dt_inc NULL dt desktop\source\pagein nmake - u dt_pagein dt_inc NULL dt desktop\source\pkgchk\unopkg nmake - all dt_unopkg dt_dp_misc dt_app dt_inc dt_guiloader.w NULL -dt desktop\source\deployment nmake - all dt_deployment dt_dp_manager dt_dp_registry dt_dp_registry_package dt_dp_registry_executable dt_dp_registry_help dt_dp_registry_script dt_dp_registry_sfwk dt_dp_registry_component dt_dp_registry_configuration dt_dp_migration dt_dp_unopkg dt_inc dt_dp_misc NULL +dt desktop\source\deployment nmake - all dt_deployment dt_dp_manager dt_dp_registry dt_dp_registry_package dt_dp_registry_executable dt_dp_registry_help dt_dp_registry_script dt_dp_registry_sfwk dt_dp_registry_component dt_dp_registry_configuration dt_dp_unopkg dt_inc dt_dp_misc NULL dt desktop\source\deployment\misc nmake - all dt_dp_misc dt_inc NULL dt desktop\source\deployment\unopkg nmake - all dt_dp_unopkg dt_inc NULL -dt desktop\source\deployment\migration nmake - all dt_dp_migration dt_inc NULL dt desktop\source\deployment\gui nmake - all dt_dp_gui dt_dp_misc dt_inc NULL dt desktop\source\deployment\manager nmake - all dt_dp_manager dt_inc NULL dt desktop\source\deployment\registry nmake - all dt_dp_registry dt_inc NULL diff --git a/desktop/source/deployment/dp_services.cxx b/desktop/source/deployment/dp_services.cxx index 05b9a2a1971a..f7ebf66355ba 100644 --- a/desktop/source/deployment/dp_services.cxx +++ b/desktop/source/deployment/dp_services.cxx @@ -77,10 +77,6 @@ namespace dp_log { extern sdecl::ServiceDecl const serviceDecl; } -namespace dp_migration { -extern sdecl::ServiceDecl const serviceDecl; -} - namespace dp_info { extern sdecl::ServiceDecl const serviceDecl; bool singleton_entries( uno::Reference const& ); @@ -110,7 +106,6 @@ sal_Bool SAL_CALL component_writeInfo( dp_registry::backend::executable::serviceDecl, dp_manager::factory::serviceDecl, dp_log::serviceDecl, - dp_migration::serviceDecl, dp_info::serviceDecl, dp_manager::serviceDecl) && dp_manager::factory::singleton_entries( pRegistryKey ) && @@ -133,7 +128,6 @@ void * SAL_CALL component_getFactory( dp_registry::backend::executable::serviceDecl, dp_manager::factory::serviceDecl, dp_log::serviceDecl, - dp_migration::serviceDecl, dp_info::serviceDecl, dp_manager::serviceDecl); } diff --git a/desktop/source/deployment/makefile.mk b/desktop/source/deployment/makefile.mk index 173ff35bec1d..6d83a5c1004b 100644 --- a/desktop/source/deployment/makefile.mk +++ b/desktop/source/deployment/makefile.mk @@ -53,7 +53,6 @@ SHL1VERSIONMAP = $(SOLARENV)/src/component.map SHL1LIBS = \ $(SLB)$/deployment_manager.lib \ - $(SLB)$/deployment_migration.lib \ $(SLB)$/deployment_registry.lib \ $(SLB)$/deployment_registry_executable.lib \ $(SLB)$/deployment_registry_component.lib \ diff --git a/desktop/source/deployment/migration/dp_migration.cxx b/desktop/source/deployment/migration/dp_migration.cxx deleted file mode 100644 index c2d0b0dc6bb8..000000000000 --- a/desktop/source/deployment/migration/dp_migration.cxx +++ /dev/null @@ -1,251 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_desktop.hxx" - -#include "dp_misc.h" -#include "dp_ucb.h" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/implbase2.hxx" -#include "cppuhelper/exc_hlp.hxx" -#include "ucbhelper/content.hxx" -#include "comphelper/anytostring.hxx" -#include "comphelper/servicedecl.hxx" -#include "com/sun/star/lang/WrappedTargetException.hpp" -#include "com/sun/star/task/XJob.hpp" -#include "com/sun/star/task/XInteractionAbort.hpp" -#include "com/sun/star/task/XInteractionApprove.hpp" -#include "com/sun/star/sdbc/XResultSet.hpp" -#include "com/sun/star/sdbc/XRow.hpp" -#include "com/sun/star/ucb/XContentAccess.hpp" -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" - - -using namespace ::com::sun::star; -using namespace ::com::sun::star::ucb; -using namespace ::com::sun::star::uno; -using namespace ::dp_misc; -using ::rtl::OUString; - -namespace dp_migration { - -class MigrationImpl : public ::cppu::WeakImplHelper1 -{ - struct CommandEnvironmentImpl - : public ::cppu::WeakImplHelper2< XCommandEnvironment, - task::XInteractionHandler > - { - // XCommandEnvironment - virtual Reference SAL_CALL - getInteractionHandler() throw (RuntimeException); - virtual Reference SAL_CALL getProgressHandler() - throw (RuntimeException); - // XInteractionHandler - virtual void SAL_CALL handle( - Reference const & xRequest ) - throw (RuntimeException); - }; - - const Reference m_xContext; - OUString m_userData; - -protected: - virtual ~MigrationImpl(); -public: - MigrationImpl( Sequence const & args, - Reference const & xComponentContext ); - - // XJob - virtual Any SAL_CALL execute( Sequence const & args ) - throw (lang::IllegalArgumentException, Exception, RuntimeException); -}; - -MigrationImpl::~MigrationImpl() -{ -} - -MigrationImpl::MigrationImpl( - Sequence const & args, Reference const & xContext ) - : m_xContext(xContext) -{ - for ( sal_Int32 pos = args.getLength(); pos--; ) - { - const beans::NamedValue nv(args[pos].get()); - if (nv.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("UserData") )) - m_userData = nv.Value.get(); - } - if (m_userData.getLength() == 0) - throw lang::IllegalArgumentException( OUSTR("missing UserData!"), 0, - static_cast(-1) ); -} - -// XJob -Any MigrationImpl::execute( Sequence const & ) - throw (lang::IllegalArgumentException, Exception, RuntimeException) -{ - const Reference xManager( - deployment::thePackageManagerFactory::get( - m_xContext )->getPackageManager( OUSTR("user") ) ); - ::ucbhelper::Content packagesDir; - if (create_ucb_content( &packagesDir, - makeURL( m_userData, OUSTR("user/uno_packages") ), - Reference(), - false /* no throw */ )) - { - const Reference xCmdEnv( - new CommandEnvironmentImpl ); - OUString const & strTitle = StrTitle::get(); - const Reference xResultSet( - packagesDir.createCursor( Sequence( &strTitle, 1 ), - ::ucbhelper::INCLUDE_DOCUMENTS_ONLY ) ); - while (xResultSet->next()) - { - Reference xRow( xResultSet, UNO_QUERY_THROW ); - const OUString title( xRow->getString( 1 /* Title */ ) ); - // exclude stampIt, not migratable to OOo 2.0: - if (title.matchIgnoreAsciiCaseAsciiL( - RTL_CONSTASCII_STRINGPARAM("SSICONCT.") )) - continue; - const OUString sourceURL( Reference( - xResultSet, UNO_QUERY_THROW ) - ->queryContentIdentifierString() ); - try { - xManager->addPackage( - sourceURL, uno::Sequence(),OUString() /* detect media-type */, - Reference(), xCmdEnv ); - } - catch (RuntimeException &) { - throw; - } - catch (Exception &) { - OSL_ENSURE( 0, ::rtl::OUStringToOString( - ::comphelper::anyToString( - ::cppu::getCaughtException() ), - RTL_TEXTENCODING_UTF8 ).getStr() ); - } - } - } - return Any(); -} - -// XCommandEnvironment -Reference -MigrationImpl::CommandEnvironmentImpl::getInteractionHandler() - throw (RuntimeException) -{ - return this; -} - -Reference -MigrationImpl::CommandEnvironmentImpl::getProgressHandler() - throw (RuntimeException) -{ - return Reference(); -} - -// XInteractionHandler -void MigrationImpl::CommandEnvironmentImpl::handle( - Reference const & xRequest ) - throw (RuntimeException) -{ - Any request( xRequest->getRequest() ); - OSL_ASSERT( request.getValueTypeClass() == TypeClass_EXCEPTION ); -#if OSL_DEBUG_LEVEL > 1 - OSL_TRACE( "[dp_migration.cxx] incoming request:\n%s\n", - ::rtl::OUStringToOString( ::comphelper::anyToString(request), - RTL_TEXTENCODING_UTF8 ).getStr() ); -#endif - - // selections: - bool approve = false; - bool abort = false; - - lang::WrappedTargetException wtExc; - if (request >>= wtExc) { - OSL_ENSURE( 0, ::rtl::OUStringToOString( - ::comphelper::anyToString(wtExc.TargetException), - RTL_TEXTENCODING_UTF8 ).getStr() ); - - // ignore intermediate errors of legacy packages, i.e. - // former pkgchk behaviour: - const Reference xPackage( - wtExc.Context, UNO_QUERY ); - OSL_ASSERT( xPackage.is() ); - if (xPackage.is()) { - const Reference xPackageType( - xPackage->getPackageType() ); - OSL_ASSERT( xPackageType.is() ); - if (xPackageType.is()) { - approve = (xPackage->isBundle() && - xPackageType->getMediaType().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "application/" - "vnd.sun.star.legacy-package-bundle") )); - } - } - abort = !approve; - } - else - return; // unknown request => no selection at all - - // select: - const Sequence< Reference > conts( - xRequest->getContinuations() ); - for ( sal_Int32 pos = 0; pos < conts.getLength(); ++pos ) - { - if (approve) { - const Reference xInteractionApprove( - conts[ pos ], UNO_QUERY ); - if (xInteractionApprove.is()) { - xInteractionApprove->select(); - // don't query again for ongoing continuations: - approve = false; - } - } - else if (abort) { - const Reference xInteractionAbort( - conts[ pos ], UNO_QUERY ); - if (xInteractionAbort.is()) { - xInteractionAbort->select(); - // don't query again for ongoing continuations: - abort = false; - } - } - } -} - -namespace sdecl = comphelper::service_decl; -sdecl::class_ > serviceMI; -extern sdecl::ServiceDecl const serviceDecl( - serviceMI, - // a private one (config entry): - "com.sun.star.comp.deployment.migration.Migration_2_0", - "com.sun.star.comp.deployment.migration.Migration_2_0" ); - -} // namespace dp_migration - diff --git a/desktop/source/deployment/migration/makefile.mk b/desktop/source/deployment/migration/makefile.mk deleted file mode 100644 index a37b7e5bebf8..000000000000 --- a/desktop/source/deployment/migration/makefile.mk +++ /dev/null @@ -1,41 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ = ..$/..$/.. - -PRJNAME = desktop -TARGET = deployment_migration -ENABLE_EXCEPTIONS = TRUE - -.INCLUDE : settings.mk - -SLOFILES = \ - $(SLO)$/dp_migration.obj - -.INCLUDE : ..$/target.pmk -.INCLUDE : target.mk - diff --git a/desktop/source/migration/services/cexports.cxx b/desktop/source/migration/services/cexports.cxx index c1971e9d4d00..cf9a9ab30b0c 100644 --- a/desktop/source/migration/services/cexports.cxx +++ b/desktop/source/migration/services/cexports.cxx @@ -31,7 +31,7 @@ #include "cppuhelper/implementationentry.hxx" #include "basicmigration.hxx" #include "wordbookmigration.hxx" -#include "extensionmigration.hxx" +//#include "extensionmigration.hxx" extern "C" { @@ -48,11 +48,11 @@ extern "C" migration::WordbookMigration_getSupportedServiceNames, ::cppu::createSingleComponentFactory, 0, 0 }, - { - migration::ExtensionMigration_create, migration::ExtensionMigration_getImplementationName, - migration::ExtensionMigration_getSupportedServiceNames, ::cppu::createSingleComponentFactory, - 0, 0 - }, +// { +// migration::ExtensionMigration_create, migration::ExtensionMigration_getImplementationName, +// migration::ExtensionMigration_getSupportedServiceNames, ::cppu::createSingleComponentFactory, +// 0, 0 +// }, { 0, 0, 0, 0, 0, 0 } }; diff --git a/desktop/source/migration/services/extensionmigration.cxx b/desktop/source/migration/services/extensionmigration.cxx deleted file mode 100755 index 66f32744a782..000000000000 --- a/desktop/source/migration/services/extensionmigration.cxx +++ /dev/null @@ -1,540 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_desktop.hxx" -#include "extensionmigration.hxx" -#include -#include -#include -#include -#include -#include -#include -#include "comphelper/processfactory.hxx" -#include "com/sun/star/deployment/XPackageManagerFactory.hpp" -#include "com/sun/star/ucb/XCommandEnvironment.hpp" -#include "com/sun/star/xml/sax/XParser.hpp" -#include "rtl/instance.hxx" -#include "osl/file.hxx" -#include "osl/thread.h" - -#include "xmlscript/xmllib_imexp.hxx" -#include "../../deployment/inc/dp_ucb.h" - -#ifdef SYSTEM_DB -#include -#else -#include -#endif - -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace { - - struct LibDescriptor : - public rtl::StaticWithInit { - const ::xmlscript::LibDescriptorArray operator () () { - - - return ::xmlscript::LibDescriptorArray(); - } -}; -} -//......................................................................... -namespace migration -{ -//......................................................................... - - - static ::rtl::OUString sExtensionSubDir = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/user/uno_packages/" ) ); - static ::rtl::OUString sSubDirName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "cache" ) ); - static ::rtl::OUString sConfigDir = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/user/registry/data" ) ); - static ::rtl::OUString sOrgDir = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/user/registry/data/org" ) ); - static ::rtl::OUString sExcludeDir1 = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/user/registry/data/org" ) ); - static ::rtl::OUString sExcludeDir2 = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/user/registry/data/org/openoffice" ) ); - - static ::rtl::OUString sBasicType = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("application/vnd.sun.star.basic-library")); - static ::rtl::OUString sDialogType = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("application/vnd.sun.star.dialog-library")); - - static ::rtl::OUString sConfigurationDataType = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("application/vnd.sun.star.configuration-data")); - static ::rtl::OUString sConfigurationSchemaType = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("application/vnd.sun.star.configuration-schema")); - - // ============================================================================= - // component operations - // ============================================================================= - - ::rtl::OUString ExtensionMigration_getImplementationName() - { - static ::rtl::OUString* pImplName = 0; - if ( !pImplName ) - { - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - if ( !pImplName ) - { - static ::rtl::OUString aImplName( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.desktop.migration.Extensions" ) ); - pImplName = &aImplName; - } - } - return *pImplName; - } - - // ----------------------------------------------------------------------------- - - Sequence< ::rtl::OUString > ExtensionMigration_getSupportedServiceNames() - { - static Sequence< ::rtl::OUString >* pNames = 0; - if ( !pNames ) - { - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - if ( !pNames ) - { - static Sequence< ::rtl::OUString > aNames(1); - aNames.getArray()[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.migration.Extensions" ) ); - pNames = &aNames; - } - } - return *pNames; - } - - // ============================================================================= - // ExtensionMigration - // ============================================================================= - - ExtensionMigration::ExtensionMigration(Reference< XComponentContext > const & ctx) : - m_ctx(ctx) - { - } - - // ----------------------------------------------------------------------------- - - ExtensionMigration::~ExtensionMigration() - { - } - - ::osl::FileBase::RC ExtensionMigration::checkAndCreateDirectory( INetURLObject& rDirURL ) - { - ::osl::FileBase::RC aResult = ::osl::Directory::create( rDirURL.GetMainURL( INetURLObject::DECODE_TO_IURI ) ); - if ( aResult == ::osl::FileBase::E_NOENT ) - { - INetURLObject aBaseURL( rDirURL ); - aBaseURL.removeSegment(); - checkAndCreateDirectory( aBaseURL ); - return ::osl::Directory::create( rDirURL.GetMainURL( INetURLObject::DECODE_TO_IURI ) ); - } - else - { - return aResult; - } - } - - void ExtensionMigration::prepareBasicLibs() - { - prepareBasicLibs(m_sSourceDir + ::rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("/user/basic/script.xlc")), m_scriptElements); - prepareBasicLibs(m_sSourceDir + ::rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("/user/basic/dialog.xlc")), m_dialogElements); - } - - void ExtensionMigration::prepareBasicLibs(const ::rtl::OUString & sURL, - ::xmlscript::LibDescriptorArray & out_elements) - { - - ::ucbhelper::Content ucb_content; - if (dp_misc::create_ucb_content( &ucb_content, sURL, - uno::Reference< ucb::XCommandEnvironment>(), false /* no throw */ )) - { - uno::Reference xParser( - m_ctx->getServiceManager()->createInstanceWithContext( - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.xml.sax.Parser")), - m_ctx ), UNO_QUERY_THROW ); - - xParser->setDocumentHandler( ::xmlscript::importLibraryContainer( &out_elements ) ); - xml::sax::InputSource source; - source.aInputStream = ucb_content.openStream(); - source.sSystemId = ucb_content.getURL(); - xParser->parseStream( source ); - } - //else - //The file need not exists - } - /* Checks if basic package is enabled in StarOffice 8. This is the case when the dialog.xlc or - the script.xlc in the user installation contains an entry for this package. - The passed package MUST be a basic package. - */ - bool ExtensionMigration::isBasicPackageEnabled( const uno::Reference< deployment::XPackage > & xPkg) - { - ::rtl::OUString sScriptURL = xPkg->getURL(); - if ( sScriptURL[ sScriptURL.getLength()-1 ] != '/' ) - sScriptURL += ::rtl::OUString::createFromAscii("/"); - sScriptURL += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("script.xlb") ); - - bool bEntryFound = false; - for ( sal_Int32 nPos = m_scriptElements.mnLibCount; nPos--; ) - { - ::xmlscript::LibDescriptor const & descr = - m_scriptElements.mpLibs[ nPos ]; - - if (descr.aStorageURL.equals(sScriptURL)) - { - bEntryFound = true; - break; - } - } - - ::rtl::OUString sDialogURL = xPkg->getURL(); - if ( sDialogURL[ sDialogURL.getLength()-1 ] != '/' ) - sDialogURL += ::rtl::OUString::createFromAscii("/"); - sScriptURL += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("dialog.xlb") ); - - if (!bEntryFound) - { - for ( sal_Int32 nPos = m_dialogElements.mnLibCount; nPos--; ) - { - ::xmlscript::LibDescriptor const & descr = - m_dialogElements.mpLibs[ nPos ]; - - if (descr.aStorageURL.equals(sDialogURL)) - { - bEntryFound = true; - break; - } - } - } - return bEntryFound; - } - /* This function only registers basic and dialog packages. - */ - void ExtensionMigration::registerBasicPackage( const uno::Reference< deployment::XPackage > & xPkg) - { - const ::rtl::OUString sMediaType = xPkg->getPackageType()->getMediaType(); - if ( (sMediaType.equals(sBasicType) || sMediaType.equals(sDialogType)) - && isBasicPackageEnabled(xPkg)) - { - xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), - uno::Reference< ucb::XCommandEnvironment> ()); - } - } - - bool ExtensionMigration::processExtensions( const ::rtl::OUString& sSourceDir, const ::rtl::OUString& sTargetDir ) - { - if (!copy(sSourceDir, sTargetDir)) - return false; - - // Find all basic and script packages and reregister them - uno::Reference< deployment::XPackageManagerFactory > xPMF; - if (! ( m_ctx->getValueByName( ::rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.deployment.thePackageManagerFactory"))) - >>= xPMF)) - throw uno::RuntimeException(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "ExtensionsMigration: could not get thePackageManagerFactory")), 0); - - const uno::Reference< deployment::XPackageManager > xPackageMgr = - xPMF->getPackageManager(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("user"))); - - if (!xPackageMgr.is()) - throw uno::RuntimeException(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "ExtensionsMigration: could not get XPackageManager")), 0); - - const uno::Sequence< uno::Reference< deployment::XPackage > > allPackages = - xPackageMgr->getDeployedPackages( - uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - - for (int i = 0; i < allPackages.getLength(); i ++) - { - const uno::Reference< deployment::XPackage > aPackage = allPackages[i]; - if ( aPackage->isBundle() ) - { - const uno::Sequence< uno::Reference < deployment::XPackage > > seqPkg = - aPackage->getBundle( - uno::Reference< task::XAbortChannel >(), - uno::Reference< ucb::XCommandEnvironment> ()); - - for ( int k = 0; k < seqPkg.getLength(); k++ ) - registerBasicPackage(seqPkg[k]); - - for (int l = 0; l < seqPkg.getLength(); l++) - { - const ::rtl::OUString sMediaType = seqPkg[l]->getPackageType()->getMediaType(); - beans::Optional > opt = - seqPkg[l]->isRegistered(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - bool bRegistered = opt.IsPresent && opt.Value.IsAmbiguous == sal_False && opt.Value.Value == sal_True ? true : false; - - if ( bRegistered && !sMediaType.equals(sBasicType) && !sMediaType.equals(sDialogType) ) - { - seqPkg[l]->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - seqPkg[l]->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - } - } - } - else - { - registerBasicPackage(aPackage); - { - aPackage->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - aPackage->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - } - } - } - - - return true; - - } - -bool ExtensionMigration::isCompatibleBerkleyDb(const ::rtl::OUString& sSourceDir) -{ - try - { - ::rtl::OUString sDb(sSourceDir + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "/uno_packages.db"))); - //check if the db exist at all. If not then the call to db_create would create - //the file. - ::osl::File f(sDb); - if (::osl::File::E_None != f.open(OpenFlag_Read)) - { - f.close(); - return false; - } - f.close(); - - //create a system path - ::rtl::OUString sSysPath; - if (::osl::File::getSystemPathFromFileURL(sDb, sSysPath ) != ::osl::File::E_None) - return false; - - ::rtl::OString cstr_sysPath( - ::rtl::OUStringToOString( sSysPath, osl_getThreadTextEncoding() ) ); - char const * pcstr_sysPath = cstr_sysPath.getStr(); - - //Open the db. If it works then we assume that the file was written with a - //compatible version of Berkeley Db - DB* pDB = NULL; - //using DB_RDONLY will return an "Invalid argument" error. - //DB_CREATE: only creates the file if it does not exist. - //An existing db is not modified. - if (0 != db_create(& pDB, 0, DB_CREATE)) - return false; - - if (0 != pDB->open(pDB, 0, pcstr_sysPath , 0, DB_HASH, DB_RDONLY, 0664 /* fs mode */)) - return false; - - pDB->close(pDB, 0); - } - catch (uno::Exception& ) - { - return false; - } - - return true; -} - -bool ExtensionMigration::copy( const ::rtl::OUString& sSourceDir, const ::rtl::OUString& sTargetDir ) -{ - bool bRet = false; - if (! isCompatibleBerkleyDb(sSourceDir)) - return false; - - INetURLObject aSourceObj( sSourceDir ); - INetURLObject aDestObj( sTargetDir ); - String aName = aDestObj.getName(); - aDestObj.removeSegment(); - aDestObj.setFinalSlash(); - - try - { - ::ucbhelper::Content aDestPath( aDestObj.GetMainURL( INetURLObject::NO_DECODE ), uno::Reference< ucb::XCommandEnvironment > () ); - uno::Reference< ucb::XCommandInfo > xInfo = aDestPath.getCommands(); - ::rtl::OUString aTransferName = ::rtl::OUString::createFromAscii( "transfer" ); - if ( xInfo->hasCommandByName( aTransferName ) ) - { - aDestPath.executeCommand( aTransferName, uno::makeAny( - ucb::TransferInfo( sal_False, aSourceObj.GetMainURL( INetURLObject::NO_DECODE ), aName, ucb::NameClash::OVERWRITE ) ) ); - bRet = true; - } - } - catch( uno::Exception& ) - { - } - - return bRet; -} - - - // ----------------------------------------------------------------------------- - // XServiceInfo - // ----------------------------------------------------------------------------- - - ::rtl::OUString ExtensionMigration::getImplementationName() throw (RuntimeException) - { - return ExtensionMigration_getImplementationName(); - } - - // ----------------------------------------------------------------------------- - - sal_Bool ExtensionMigration::supportsService( const ::rtl::OUString& rServiceName ) throw (RuntimeException) - { - Sequence< ::rtl::OUString > aNames( getSupportedServiceNames() ); - const ::rtl::OUString* pNames = aNames.getConstArray(); - const ::rtl::OUString* pEnd = pNames + aNames.getLength(); - for ( ; pNames != pEnd && !pNames->equals( rServiceName ); ++pNames ) - ; - - return pNames != pEnd; - } - - // ----------------------------------------------------------------------------- - - Sequence< ::rtl::OUString > ExtensionMigration::getSupportedServiceNames() throw (RuntimeException) - { - return ExtensionMigration_getSupportedServiceNames(); - } - - // ----------------------------------------------------------------------------- - // XInitialization - // ----------------------------------------------------------------------------- - - void ExtensionMigration::initialize( const Sequence< Any >& aArguments ) throw (Exception, RuntimeException) - { - ::osl::MutexGuard aGuard( m_aMutex ); - - const Any* pIter = aArguments.getConstArray(); - const Any* pEnd = pIter + aArguments.getLength(); - for ( ; pIter != pEnd ; ++pIter ) - { - beans::NamedValue aValue; - *pIter >>= aValue; - if ( aValue.Name.equalsAscii( "UserData" ) ) - { - if ( !(aValue.Value >>= m_sSourceDir) ) - { - OSL_ENSURE( false, "ExtensionMigration::initialize: argument UserData has wrong type!" ); - } - break; - } - } - prepareBasicLibs(); - } - - TStringVectorPtr getContent( const ::rtl::OUString& rBaseURL ) - { - TStringVectorPtr aResult( new TStringVector ); - ::osl::Directory aDir( rBaseURL); - if ( aDir.open() == ::osl::FileBase::E_None ) - { - // iterate over directory content - TStringVector aSubDirs; - ::osl::DirectoryItem aItem; - while ( aDir.getNextItem( aItem ) == ::osl::FileBase::E_None ) - { - ::osl::FileStatus aFileStatus( FileStatusMask_Type | FileStatusMask_FileURL ); - if ( aItem.getFileStatus( aFileStatus ) == ::osl::FileBase::E_None ) - aResult->push_back( aFileStatus.getFileURL() ); - } - } - - return aResult; - } - - // ----------------------------------------------------------------------------- - // XJob - // ----------------------------------------------------------------------------- - -void ExtensionMigration::copyConfig( const ::rtl::OUString& sSourceDir, const ::rtl::OUString& sTargetDir ) -{ - ::rtl::OUString sEx1( m_sSourceDir ); - sEx1 += sExcludeDir1; - ::rtl::OUString sEx2( m_sSourceDir ); - sEx2 += sExcludeDir2; - - TStringVectorPtr aList = getContent( sSourceDir ); - TStringVector::const_iterator aI = aList->begin(); - while ( aI != aList->end() ) - { - ::rtl::OUString sSourceLocalName = aI->copy( sSourceDir.getLength() ); - ::rtl::OUString aTemp = aI->copy( m_sSourceDir.getLength() ); - if ( aTemp != sExcludeDir1 && aTemp != sExcludeDir2 ) - { - ::rtl::OUString sTargetName = sTargetDir + sSourceLocalName; - copy( (*aI), sTargetName ); - } - ++aI; - } -} - - Any ExtensionMigration::execute( const Sequence< beans::NamedValue >& ) - throw (lang::IllegalArgumentException, Exception, RuntimeException) - { - ::osl::MutexGuard aGuard( m_aMutex ); - - ::utl::Bootstrap::PathStatus aStatus = ::utl::Bootstrap::locateUserInstallation( m_sTargetDir ); - if ( aStatus == ::utl::Bootstrap::PATH_EXISTS ) - { - // copy all extensions - ::rtl::OUString sTargetDir(m_sTargetDir), sSourceDir( m_sSourceDir ); - sTargetDir += sExtensionSubDir; - sSourceDir += sExtensionSubDir; - sSourceDir += sSubDirName; - sTargetDir += sSubDirName; - processExtensions( sSourceDir, sTargetDir ); - - // copy all user config settings in user/registry/data (except user/registry/data/org) - sSourceDir = m_sSourceDir; - sSourceDir += sConfigDir; - sTargetDir = m_sTargetDir; - sTargetDir += sConfigDir; - copyConfig( sSourceDir, sTargetDir ); - - // copy all user config settings in user/registry/data/org (except user/registry/data/org/openoffice) - sSourceDir = m_sSourceDir; - sSourceDir += sOrgDir; - sTargetDir = m_sTargetDir; - sTargetDir += sOrgDir; - copyConfig( sSourceDir, sTargetDir ); - } - - return Any(); - } - - // ============================================================================= - // component operations - // ============================================================================= - - Reference< XInterface > SAL_CALL ExtensionMigration_create( - Reference< XComponentContext > const & ctx ) - SAL_THROW( () ) - { - return static_cast< lang::XTypeProvider * >( new ExtensionMigration( - ctx) ); - } - - // ----------------------------------------------------------------------------- - -//......................................................................... -} // namespace migration -//......................................................................... diff --git a/desktop/source/migration/services/extensionmigration.hxx b/desktop/source/migration/services/extensionmigration.hxx deleted file mode 100755 index 70f6a4c44c9b..000000000000 --- a/desktop/source/migration/services/extensionmigration.hxx +++ /dev/null @@ -1,130 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _DESKTOP_EXTENSIONMIGRATION_HXX_ -#define _DESKTOP_EXTENSIONMIGRATION_HXX_ - -#include "misc.hxx" -#include -#include -#include -#include -#include -#include -#include "xmlscript/xmllib_imexp.hxx" - -namespace com { namespace sun { namespace star { - namespace uno { - class XComponentContext; - } - namespace deployment { - class XPackage; - } -}}} - - - -class INetURLObject; - - -//......................................................................... -namespace migration -{ -//......................................................................... - - ::rtl::OUString SAL_CALL ExtensionMigration_getImplementationName(); - ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL ExtensionMigration_getSupportedServiceNames(); - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ExtensionMigration_create( - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - - - // ============================================================================= - // class ExtensionMigration - // ============================================================================= - - typedef ::cppu::WeakImplHelper3< - ::com::sun::star::lang::XServiceInfo, - ::com::sun::star::lang::XInitialization, - ::com::sun::star::task::XJob > ExtensionMigration_BASE; - - class ExtensionMigration : public ExtensionMigration_BASE - { - private: - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_ctx; - ::osl::Mutex m_aMutex; - ::rtl::OUString m_sSourceDir; - ::rtl::OUString m_sTargetDir; - - ::xmlscript::LibDescriptorArray m_scriptElements; - ::xmlscript::LibDescriptorArray m_dialogElements; - - ::osl::FileBase::RC checkAndCreateDirectory( INetURLObject& rDirURL ); - void copyConfig( const ::rtl::OUString& sSourceDir, const ::rtl::OUString& sTargetDir ); - bool isCompatibleBerkleyDb(const ::rtl::OUString& sSourceDir); - bool copy( const ::rtl::OUString& sSourceDir, const ::rtl::OUString& sTargetDir ); - bool processExtensions( const ::rtl::OUString& sSourceDir, - const ::rtl::OUString& sTargetDir ); - /* fills m_scriptElements and m_dialogElements - */ - void prepareBasicLibs(); - void prepareBasicLibs(const ::rtl::OUString & sURL, - ::xmlscript::LibDescriptorArray & out_elements); - bool isBasicPackageEnabled( const ::com::sun::star::uno::Reference< - ::com::sun::star::deployment::XPackage > & xPkg); - void registerBasicPackage( - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & xPkg); - - public: - ExtensionMigration(::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext > const & ctx); - virtual ~ExtensionMigration(); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName() - throw (::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& rServiceName ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() - throw (::com::sun::star::uno::RuntimeException); - - // XInitialization - virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) - throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - - // XJob - virtual ::com::sun::star::uno::Any SAL_CALL execute( - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& Arguments ) - throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, - ::com::sun::star::uno::RuntimeException); - }; - -//......................................................................... -} // namespace migration -//......................................................................... - -#endif // _DESKTOP_AUTOCORRMIGRATION_HXX_ diff --git a/desktop/source/migration/services/makefile.mk b/desktop/source/migration/services/makefile.mk index 55ecff6bc06f..2f3eb9308ebd 100644 --- a/desktop/source/migration/services/makefile.mk +++ b/desktop/source/migration/services/makefile.mk @@ -51,7 +51,6 @@ SLOFILES= \ $(SLO)$/cexports.obj \ $(SLO)$/basicmigration.obj \ $(SLO)$/wordbookmigration.obj \ - $(SLO)$/extensionmigration.obj \ $(SLO)$/autocorrmigration.obj \ $(SLO)$/oo3extensionmigration.obj \ $(SLO)$/cexportsoo3.obj @@ -61,7 +60,6 @@ SHL1OBJS= \ $(SLO)$/cexports.obj \ $(SLO)$/basicmigration.obj \ $(SLO)$/wordbookmigration.obj \ - $(SLO)$/extensionmigration.obj \ $(SLO)$/autocorrmigration.obj SHL1TARGET=$(TARGET) diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx index 2d17a654b29b..37608a7b1276 100755 --- a/desktop/source/migration/services/oo3extensionmigration.cxx +++ b/desktop/source/migration/services/oo3extensionmigration.cxx @@ -43,8 +43,6 @@ #include #include -#include -#include #include #include #include @@ -53,6 +51,7 @@ #include #include #include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -140,15 +139,15 @@ OO3ExtensionMigration::~OO3ExtensionMigration() } } -void OO3ExtensionMigration::registerConfigurationPackage( const uno::Reference< deployment::XPackage > & xPkg) -{ - const ::rtl::OUString sMediaType = xPkg->getPackageType()->getMediaType(); - if ( (sMediaType.equals(sConfigurationDataType) || sMediaType.equals(sConfigurationSchemaType) ) ) - { - xPkg->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); - } -} +//void OO3ExtensionMigration::registerConfigurationPackage( const uno::Reference< deployment::XPackage > & xPkg) +//{ +// const ::rtl::OUString sMediaType = xPkg->getPackageType()->getMediaType(); +// if ( (sMediaType.equals(sConfigurationDataType) || sMediaType.equals(sConfigurationSchemaType) ) ) +// { +// xPkg->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); +// xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); +// } +//} void OO3ExtensionMigration::scanUserExtensions( const ::rtl::OUString& sSourceDir, TStringVector& aMigrateExtensions ) { @@ -343,18 +342,17 @@ bool OO3ExtensionMigration::scanDescriptionXml( const ::rtl::OUString& sDescript bool OO3ExtensionMigration::migrateExtension( const ::rtl::OUString& sSourceDir ) { - if ( !m_xPackageManager.is() ) + if ( !m_xExtensionManager.is() ) { try { - m_xPackageManager = deployment::thePackageManagerFactory::get( m_ctx )->getPackageManager( - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "user" )) ); + m_xExtensionManager = deployment::ExtensionManager::get( m_ctx ); } catch ( ucb::CommandFailedException & ){} catch ( uno::RuntimeException & ) {} } - if ( m_xPackageManager.is() ) + if ( m_xExtensionManager.is() ) { try { @@ -364,8 +362,9 @@ bool OO3ExtensionMigration::migrateExtension( const ::rtl::OUString& sSourceDir static_cast< cppu::OWeakObject* >( pCmdEnv ), uno::UNO_QUERY ); uno::Reference< task::XAbortChannel > xAbortChannel; uno::Reference< deployment::XPackage > xPackage = - m_xPackageManager->addPackage( - sSourceDir, uno::Sequence(),::rtl::OUString(), xAbortChannel, xCmdEnv ); + m_xExtensionManager->addExtension( + sSourceDir, uno::Sequence(), + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("user")), xAbortChannel, xCmdEnv ); if ( xPackage.is() ) return true; diff --git a/desktop/source/migration/services/oo3extensionmigration.hxx b/desktop/source/migration/services/oo3extensionmigration.hxx index a001f41d92c5..7890eb86a75c 100755 --- a/desktop/source/migration/services/oo3extensionmigration.hxx +++ b/desktop/source/migration/services/oo3extensionmigration.hxx @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include @@ -83,7 +83,7 @@ namespace migration ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_ctx; ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XDocumentBuilder > m_xDocBuilder; ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > m_xSimpleFileAccess; - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackageManager > m_xPackageManager; + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager; ::osl::Mutex m_aMutex; ::rtl::OUString m_sSourceDir; ::rtl::OUString m_sTargetDir; @@ -105,8 +105,8 @@ namespace migration bool migrateExtension( const ::rtl::OUString& sSourceDir ); /* fills m_scriptElements and m_dialogElements */ - void registerConfigurationPackage( - const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & xPkg); + //void registerConfigurationPackage( + // const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & xPkg); public: OO3ExtensionMigration(::com::sun::star::uno::Reference< diff --git a/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs b/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs index 7ff91464727d..7b0b221f15a9 100755 --- a/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs @@ -15,7 +15,7 @@ OpenOffice.org Improvement Program. If this is zero the user will get asked. - 1 + 2 -- cgit From 6c9861ba9afd7039fb4fdbc780b4240dd850ade6 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:08:01 +0200 Subject: CWS mba33issues01: #i83367#: pass object name correctly --- sc/source/ui/unoobj/chartuno.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sc/source/ui/unoobj/chartuno.cxx b/sc/source/ui/unoobj/chartuno.cxx index 201c411ea45c..3b396d508238 100644 --- a/sc/source/ui/unoobj/chartuno.cxx +++ b/sc/source/ui/unoobj/chartuno.cxx @@ -222,7 +222,7 @@ void SAL_CALL ScChartsObj::addNewByName( const rtl::OUString& aName, xObj = pDocShell->GetEmbeddedObjectContainer().CreateEmbeddedObject( SvGlobalName( SO3_SCH_CLASSID ).GetByteSequence(), aTmp ); if ( xObj.is() ) { - String aObjName = aNameString; // wirklich eingefuegter Name... + String aObjName = aTmp; // wirklich eingefuegter Name... // Rechteck anpassen //! Fehler/Exception, wenn leer/ungueltig ??? -- cgit From a160fd3ad982d22040d9048f2b1a5c9e831ed296 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:08:55 +0200 Subject: CWS mba33issues01: #i99402#: typo RapairPackage --- starmath/source/smdetect.cxx | 2 +- sw/source/ui/uno/swdetect.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/starmath/source/smdetect.cxx b/starmath/source/smdetect.cxx index aef4df112431..583098b6d8a2 100644 --- a/starmath/source/smdetect.cxx +++ b/starmath/source/smdetect.cxx @@ -168,7 +168,7 @@ SmFilterDetect::~SmFilterDetect() } else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("InteractionHandler")) ) lDescriptor[nProperty].Value >>= xInteraction; - else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RapairPackage")) ) + else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RepairPackage")) ) lDescriptor[nProperty].Value >>= bRepairPackage; else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("DocumentTitle")) ) nIndexOfDocumentTitle = nProperty; diff --git a/sw/source/ui/uno/swdetect.cxx b/sw/source/ui/uno/swdetect.cxx index c33d7428b630..cbde03479433 100644 --- a/sw/source/ui/uno/swdetect.cxx +++ b/sw/source/ui/uno/swdetect.cxx @@ -167,7 +167,7 @@ SwFilterDetect::~SwFilterDetect() lDescriptor[nProperty].Value >>= xInteraction; nIndexOfInteractionHandler = nProperty; } - else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RapairPackage")) ) + else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RepairPackage")) ) lDescriptor[nProperty].Value >>= bRepairPackage; else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("DocumentTitle")) ) nIndexOfDocumentTitle = nProperty; -- cgit From 83e811244a6dc0902137df91cf3125a67c69b1b5 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:08:55 +0200 Subject: CWS mba33issues01: #i99402#: typo RapairPackage --- sc/source/ui/unoobj/scdetect.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sc/source/ui/unoobj/scdetect.cxx b/sc/source/ui/unoobj/scdetect.cxx index cded62efa3a8..00390b081ccc 100644 --- a/sc/source/ui/unoobj/scdetect.cxx +++ b/sc/source/ui/unoobj/scdetect.cxx @@ -297,7 +297,7 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) } else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("InteractionHandler")) ) lDescriptor[nProperty].Value >>= xInteraction; - else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RapairPackage")) ) + else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RepairPackage")) ) lDescriptor[nProperty].Value >>= bRepairPackage; else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("DocumentTitle")) ) nIndexOfDocumentTitle = nProperty; -- cgit From ef650c5d2f7f870ad2cd8965f6f6ab9900b68704 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:08:55 +0200 Subject: CWS mba33issues01: #i99402#: typo RapairPackage --- sd/source/ui/unoidl/sddetect.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx index 90767a332609..9f268dec0cfa 100644 --- a/sd/source/ui/unoidl/sddetect.cxx +++ b/sd/source/ui/unoidl/sddetect.cxx @@ -167,7 +167,7 @@ SdFilterDetect::~SdFilterDetect() } else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("InteractionHandler")) ) lDescriptor[nProperty].Value >>= xInteraction; - else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RapairPackage")) ) + else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("RepairPackage")) ) lDescriptor[nProperty].Value >>= bRepairPackage; else if( lDescriptor[nProperty].Name == OUString(RTL_CONSTASCII_USTRINGPARAM("DocumentTitle")) ) nIndexOfDocumentTitle = nProperty; -- cgit From d310e6479f4db1c86629ca98f6e0f7480a0fa5e4 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:10:29 +0200 Subject: CWS mba33issues01: #i109842#: missing typedef --- sfx2/source/appl/appmain.cxx | 3 --- 1 file changed, 3 deletions(-) diff --git a/sfx2/source/appl/appmain.cxx b/sfx2/source/appl/appmain.cxx index 020f68d01e8d..cf097b900b52 100644 --- a/sfx2/source/appl/appmain.cxx +++ b/sfx2/source/appl/appmain.cxx @@ -93,9 +93,6 @@ static SfxItemInfo __READONLY_DATA aItemInfos[] = //=================================================================== -typedef Link* LinkPtr; -SV_DECL_PTRARR(SfxInitLinkList, LinkPtr, 4, 4) - TYPEINIT2(SfxApplication,SfxShell,SfxBroadcaster); //-------------------------------------------------------------------- -- cgit From 74efe21718537220ec16adab9964a00fc13cd9fd Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:10:57 +0200 Subject: CWS mba33issues01: #i109842#: missing typedef --- sfx2/source/inc/appdata.hxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sfx2/source/inc/appdata.hxx b/sfx2/source/inc/appdata.hxx index 91305eb95cce..bd12f3db80dc 100644 --- a/sfx2/source/inc/appdata.hxx +++ b/sfx2/source/inc/appdata.hxx @@ -82,6 +82,9 @@ class SfxBasicManagerCreationListener; namespace sfx2 { namespace appl { class ImeStatusWindow; } } +typedef Link* LinkPtr; +SV_DECL_PTRARR(SfxInitLinkList, LinkPtr, 4, 4) + //========================================================================= // SfxAppData_Impl //========================================================================= -- cgit From 9a4d07cc52534a40cf1cd68efdef1464475e694b Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 18 May 2010 17:19:21 +0200 Subject: CWS mba33issues01: #i107576#: make code safe against releasing of external references to client site --- sfx2/source/view/ipclient.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx index 6d61f4182bbb..328d88d8b2b9 100644 --- a/sfx2/source/view/ipclient.cxx +++ b/sfx2/source/view/ipclient.cxx @@ -131,6 +131,8 @@ public: , m_bResizeNoScale( sal_False ) {} + ~SfxInPlaceClient_Impl(); + void SizeHasChanged(); DECL_LINK (TimerHdl, Timer*); uno::Reference < frame::XFrame > GetFrame() const; @@ -168,6 +170,10 @@ public: virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException); }; +SfxInPlaceClient_Impl::~SfxInPlaceClient_Impl() +{ +} + void SAL_CALL SfxInPlaceClient_Impl::changingState( const ::com::sun::star::lang::EventObject& /*aEvent*/, ::sal_Int32 /*nOldState*/, @@ -645,6 +651,7 @@ SfxInPlaceClient::SfxInPlaceClient( SfxViewShell* pViewShell, Window *pDraw, sal m_pViewSh( pViewShell ), m_pEditWin( pDraw ) { + m_pImp->acquire(); m_pImp->m_pClient = this; m_pImp->m_nAspect = nAspect; m_pImp->m_aScaleWidth = m_pImp->m_aScaleHeight = Fraction(1,1); @@ -668,6 +675,7 @@ SfxInPlaceClient::~SfxInPlaceClient() // the next call will destroy m_pImp if no other reference to it exists m_pImp->m_xClient = uno::Reference < embed::XEmbeddedClient >(); + m_pImp->release(); // TODO/LATER: // the class is not intended to be used in multithreaded environment; -- cgit From fa29f56e6a2f9babb37ba3b0ea8da60a4274f1b8 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 08:43:43 +0200 Subject: vitomation01: #i109562 - Remove files containing whitespaces as suggested by RE --- .../Oracle Open Office_help_applications_en-US.txt | 8 - .../Oracle Open Office_help_topics_en-US.txt | 22002 ------------------- ...ffice_search_headings_and_whole_words_en-US.txt | 6 - ...acle Open Office_search_headings_only_en-US.txt | 7 - ...e Open Office_search_whole_words_only_en-US.txt | 16 - ...cle Open Office_search_without_filter_en-US.txt | 22 - .../Oracle_Open_Office_help_applications_en-US.txt | 0 .../Oracle_Open_Office_help_topics_en-US.txt | 0 ...ffice_search_headings_and_whole_words_en-US.txt | 0 ...acle_Open_Office_search_headings_only_en-US.txt | 0 ...e_Open_Office_search_whole_words_only_en-US.txt | 0 ...cle_Open_Office_search_without_filter_en-US.txt | 0 12 files changed, 22061 deletions(-) delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_help_applications_en-US.txt delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_help_topics_en-US.txt delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_and_whole_words_en-US.txt delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_only_en-US.txt delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_search_whole_words_only_en-US.txt delete mode 100644 testautomation/framework/optional/input/help_browser/Oracle Open Office_search_without_filter_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt mode change 100644 => 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_applications_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_applications_en-US.txt deleted file mode 100644 index 7a97fdb0f025..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_applications_en-US.txt +++ /dev/null @@ -1,8 +0,0 @@ -Oracle Open Office Impress -Oracle Open Office Basic -Oracle Open Office Math -Oracle Open Office Chart -Oracle Open Office Base -Oracle Open Office Draw -Oracle Open Office Writer -Oracle Open Office Calc diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_topics_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_topics_en-US.txt deleted file mode 100644 index a7640272ec27..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_help_topics_en-US.txt +++ /dev/null @@ -1,22002 +0,0 @@ -Oracle Open Office Basic : "^" operator (mathematical) -Oracle Open Office Basic : "-" operator (mathematical) -Oracle Open Office Basic : "*" operator (mathematical) -Oracle Open Office Basic : "/" operator (mathematical) -Oracle Open Office Basic : "+" operator (mathematical) -Oracle Open Office Basic : 1/2 replacement -Oracle Open Office Basic : 3D text creation -Oracle Open Office Basic : abbreviation replacement -Oracle Open Office Basic : Abs function -Oracle Open Office Basic : absolute hyperlinks -Oracle Open Office Basic : absolute saving of URLs -Oracle Open Office Basic : accents -Oracle Open Office Basic : Access databases (base) -Oracle Open Office Basic : access rights for database tables (Base) -Oracle Open Office Basic : accessibility -Oracle Open Office Basic : accessibility;general shortcuts -Oracle Open Office Basic : accessibility;options -Oracle Open Office Basic : accessibility;Oracle Open Office assistive technology -Oracle Open Office Basic : accessibility;Oracle Open Office features -Oracle Open Office Basic : activating -Oracle Open Office Basic : activating;context menus -Oracle Open Office Basic : activating;Error Report Tool -Oracle Open Office Basic : activating;extended help tips -Oracle Open Office Basic : activating;plug-ins -Oracle Open Office Basic : ActiveX control -Oracle Open Office Basic : Adabas D databases (base) -Oracle Open Office Basic : add-ons, see UNO components -Oracle Open Office Basic : adding libraries -Oracle Open Office Basic : additional selection mode -Oracle Open Office Basic : address books -Oracle Open Office Basic : address books;LDAP server (Base) -Oracle Open Office Basic : address books;registering -Oracle Open Office Basic : address labels from databases -Oracle Open Office Basic : ADO databases (Base) -Oracle Open Office Basic : Agenda Wizard -Oracle Open Office Basic : aging filter -Oracle Open Office Basic : aligning -Oracle Open Office Basic : aligning;cells -Oracle Open Office Basic : aligning;objects -Oracle Open Office Basic : aligning;paragraphs -Oracle Open Office Basic : aligning;tables in text -Oracle Open Office Basic : aligning;text objects -Oracle Open Office Basic : alternative fonts -Oracle Open Office Basic : ampersand symbol in StarBasic -Oracle Open Office Basic : ampersand symbol, see also operators -Oracle Open Office Basic : anchors -Oracle Open Office Basic : anchors;changing -Oracle Open Office Basic : anchors;displaying (Calc) -Oracle Open Office Basic : anchors;types/positions for draw objects -Oracle Open Office Basic : AND operator (logical) -Oracle Open Office Basic : animations -Oracle Open Office Basic : animations;accessibility options -Oracle Open Office Basic : appearance options -Oracle Open Office Basic : Arabic -Oracle Open Office Basic : Arabic;entering text -Oracle Open Office Basic : Arabic;language settings -Oracle Open Office Basic : areas -Oracle Open Office Basic : areas;bitmap patterns -Oracle Open Office Basic : areas;hatched/dotted -Oracle Open Office Basic : areas;shadows -Oracle Open Office Basic : areas;slanting -Oracle Open Office Basic : areas;styles -Oracle Open Office Basic : areas;transparency -Oracle Open Office Basic : arguments in command line -Oracle Open Office Basic : arranging -Oracle Open Office Basic : arranging;objects -Oracle Open Office Basic : Array function -Oracle Open Office Basic : arrays -Oracle Open Office Basic : arrays;declaring -Oracle Open Office Basic : arrays;dimensioning -Oracle Open Office Basic : arrows -Oracle Open Office Basic : arrows;defining arrow heads -Oracle Open Office Basic : arrows;defining arrow lines -Oracle Open Office Basic : arrows;drawing in text -Oracle Open Office Basic : Asc function -Oracle Open Office Basic : ASCII -Oracle Open Office Basic : ASCII;definition -Oracle Open Office Basic : Asian languages -Oracle Open Office Basic : Asian languages;enabling -Oracle Open Office Basic : Asian Phonetic Guide -Oracle Open Office Basic : Asian typography -Oracle Open Office Basic : assigning macros to events -Oracle Open Office Basic : assigning scripts -Oracle Open Office Basic : assistive technology in Oracle Open Office -Oracle Open Office Basic : Atn function -Oracle Open Office Basic : attaching toolbars -Oracle Open Office Basic : attachments in e-mails -Oracle Open Office Basic : audio -Oracle Open Office Basic : auto reloading HTML documents -Oracle Open Office Basic : AutoAbstract function for sending text to presentations -Oracle Open Office Basic : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Basic : AutoComplete function in text and list boxes -Oracle Open Office Basic : AutoCorrect function -Oracle Open Office Basic : AutoCorrect function;context menu -Oracle Open Office Basic : AutoCorrect function;options -Oracle Open Office Basic : AutoCorrect function;pictures and frames -Oracle Open Office Basic : AutoCorrect function;quotes -Oracle Open Office Basic : AutoCorrect function;replacement table -Oracle Open Office Basic : AutoCorrect function;switching on and off in Calc -Oracle Open Office Basic : AutoCorrect function;URL recognition -Oracle Open Office Basic : AutoFormat function -Oracle Open Office Basic : AutoFormat function;switching on and off -Oracle Open Office Basic : automatic captions (Writer) -Oracle Open Office Basic : automatic control focus -Oracle Open Office Basic : automatic hyperlink formatting -Oracle Open Office Basic : automatic line breaks -Oracle Open Office Basic : automatic lines/borders in text -Oracle Open Office Basic : automatic saving -Oracle Open Office Basic : AutoPilots, see wizards -Oracle Open Office Basic : AutoValue (Base) -Oracle Open Office Basic : axes in charts -Oracle Open Office Basic : backgrounds -Oracle Open Office Basic : backgrounds;defining colors/pictures -Oracle Open Office Basic : backgrounds;frames/sections/indexes -Oracle Open Office Basic : backgrounds;inserting from Gallery -Oracle Open Office Basic : backgrounds;printing -Oracle Open Office Basic : backing window -Oracle Open Office Basic : backups -Oracle Open Office Basic : backups;automatic -Oracle Open Office Basic : backups;documents -Oracle Open Office Basic : Basic -Oracle Open Office Basic : Basic;fonts for source display -Oracle Open Office Basic : Basic;programming -Oracle Open Office Basic : Basic;recording macros -Oracle Open Office Basic : Basic editor -Oracle Open Office Basic : basic fonts -Oracle Open Office Basic : Basic IDE -Oracle Open Office Basic : Basic IDE;Integrated Development Environment -Oracle Open Office Basic : Basic IDE;macros -Oracle Open Office Basic : BasicLibraries (LibraryContainer) -Oracle Open Office Basic : Beep statement -Oracle Open Office Basic : Bézier curves -Oracle Open Office Basic : Bézier curves;control points in presentations -Oracle Open Office Basic : bi-directional writing -Oracle Open Office Basic : binding space -Oracle Open Office Basic : bitmaps -Oracle Open Office Basic : bitmaps;inserting and editing -Oracle Open Office Basic : bitmaps;off for faster printing -Oracle Open Office Basic : bitmaps;patterns -Oracle Open Office Basic : black and white printing -Oracle Open Office Basic : black printing in Calc -Oracle Open Office Basic : block selection mode -Oracle Open Office Basic : Blue function -Oracle Open Office Basic : bold -Oracle Open Office Basic : bold;AutoFormat function -Oracle Open Office Basic : bold;text -Oracle Open Office Basic : bookmarks -Oracle Open Office Basic : bookmarks;Help -Oracle Open Office Basic : borders -Oracle Open Office Basic : borders;arranging -Oracle Open Office Basic : borders;cells on screen (Calc) -Oracle Open Office Basic : borders;for paragraphs -Oracle Open Office Basic : borders;for tables -Oracle Open Office Basic : borders;shadows -Oracle Open Office Basic : borders;table boundaries (Writer) -Oracle Open Office Basic : borders, see also frames -Oracle Open Office Basic : bound fields -Oracle Open Office Basic : bound fields;controls -Oracle Open Office Basic : boundaries of tables (Writer) -Oracle Open Office Basic : break display (Writer) -Oracle Open Office Basic : breakpoints -Oracle Open Office Basic : brochures -Oracle Open Office Basic : brochures;printing several -Oracle Open Office Basic : build numbers of Oracle Open Office -Oracle Open Office Basic : bullet lists -Oracle Open Office Basic : bullet lists;formatting options -Oracle Open Office Basic : bullets -Oracle Open Office Basic : bullets;paragraphs -Oracle Open Office Basic : bullets;replacing -Oracle Open Office Basic : bullets;turning off -Oracle Open Office Basic : business cards -Oracle Open Office Basic : business cards;creating and synchronizing -Oracle Open Office Basic : business cards;using templates -Oracle Open Office Basic : button bars, see toolbars -Oracle Open Office Basic : buttons -Oracle Open Office Basic : buttons;adding push buttons -Oracle Open Office Basic : buttons;big/small -Oracle Open Office Basic : buttons;controls -Oracle Open Office Basic : buttons;editing hyperlink buttons -Oracle Open Office Basic : buttons;form functions -Oracle Open Office Basic : buttons;toolbars -Oracle Open Office Basic : cache for graphics -Oracle Open Office Basic : calculating -Oracle Open Office Basic : calculating;iterative references (Calc) -Oracle Open Office Basic : Call Stack window -Oracle Open Office Basic : Call statement -Oracle Open Office Basic : callouts -Oracle Open Office Basic : callouts;drawings -Oracle Open Office Basic : capital letters -Oracle Open Office Basic : capital letters;AutoCorrect function -Oracle Open Office Basic : capital letters;font effects -Oracle Open Office Basic : captions -Oracle Open Office Basic : captions;automatic captions (Writer) -Oracle Open Office Basic : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Basic : captions, see also labels/callouts -Oracle Open Office Basic : cascading update (Base) -Oracle Open Office Basic : case sensitivity -Oracle Open Office Basic : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Basic : case sensitivity;searching -Oracle Open Office Basic : Case statement -Oracle Open Office Basic : CBool function -Oracle Open Office Basic : CByte function -Oracle Open Office Basic : CCur function -Oracle Open Office Basic : CDate function -Oracle Open Office Basic : CdateFromIso function -Oracle Open Office Basic : CdateToIso function -Oracle Open Office Basic : CDbl function -Oracle Open Office Basic : CDec function -Oracle Open Office Basic : cells -Oracle Open Office Basic : cells;aligning -Oracle Open Office Basic : cells;coloring (Calc) -Oracle Open Office Basic : cells;cursor positions after input (Calc) -Oracle Open Office Basic : cells;formatting without effect (Calc) -Oracle Open Office Basic : cells;line breaks -Oracle Open Office Basic : cells;linked to controls -Oracle Open Office Basic : cells;number of -Oracle Open Office Basic : cells;pasting -Oracle Open Office Basic : cells;resetting formats -Oracle Open Office Basic : cells;showing grid lines (Calc) -Oracle Open Office Basic : centered text -Oracle Open Office Basic : centimeters -Oracle Open Office Basic : certificates -Oracle Open Office Basic : changes -Oracle Open Office Basic : changes;accepting or rejecting -Oracle Open Office Basic : changes;comparing to original -Oracle Open Office Basic : changes;protecting -Oracle Open Office Basic : changes;recording -Oracle Open Office Basic : changes;review function -Oracle Open Office Basic : changes;showing -Oracle Open Office Basic : changing -Oracle Open Office Basic : changing;control properties -Oracle Open Office Basic : changing;document titles -Oracle Open Office Basic : changing;file associations in Setup program -Oracle Open Office Basic : changing;icon sizes -Oracle Open Office Basic : changing;links -Oracle Open Office Basic : changing;work directory -Oracle Open Office Basic : changing, see also editing and replacing -Oracle Open Office Basic : character styles -Oracle Open Office Basic : character styles;language selection -Oracle Open Office Basic : characters -Oracle Open Office Basic : characters;alternative fonts -Oracle Open Office Basic : characters;Asian layout -Oracle Open Office Basic : characters;bold -Oracle Open Office Basic : characters;coloring -Oracle Open Office Basic : characters;displaying only on screen (Writer) -Oracle Open Office Basic : characters;enabling CTL and Asian characters -Oracle Open Office Basic : characters;font effects -Oracle Open Office Basic : characters;fonts and formats -Oracle Open Office Basic : characters;hyperlinks -Oracle Open Office Basic : characters;italics -Oracle Open Office Basic : characters;language selection -Oracle Open Office Basic : characters;shadowed -Oracle Open Office Basic : characters;spacing -Oracle Open Office Basic : characters;special -Oracle Open Office Basic : characters;underlining -Oracle Open Office Basic : charcoal sketches filter -Oracle Open Office Basic : charts -Oracle Open Office Basic : charts;arranging within stacks -Oracle Open Office Basic : charts;bars with textures -Oracle Open Office Basic : charts;colors -Oracle Open Office Basic : charts;copying with link to source cell range -Oracle Open Office Basic : charts;displaying (Calc) -Oracle Open Office Basic : charts;editing axes -Oracle Open Office Basic : charts;editing data -Oracle Open Office Basic : charts;editing legends -Oracle Open Office Basic : charts;editing titles -Oracle Open Office Basic : charts;inserting -Oracle Open Office Basic : charts;updating automatically (Writer) -Oracle Open Office Basic : ChDir statement -Oracle Open Office Basic : ChDrive statement -Oracle Open Office Basic : check box control -Oracle Open Office Basic : check box creation -Oracle Open Office Basic : Chinese writing systems -Oracle Open Office Basic : Choose function -Oracle Open Office Basic : choosing printers -Oracle Open Office Basic : Chr function -Oracle Open Office Basic : CInt function -Oracle Open Office Basic : circle drawings -Oracle Open Office Basic : Client Side ImageMap -Oracle Open Office Basic : clipboard -Oracle Open Office Basic : clipboard;cutting -Oracle Open Office Basic : clipboard;pasting -Oracle Open Office Basic : clipboard;pasting formatted/unformatted text -Oracle Open Office Basic : clipboard;selection clipboard -Oracle Open Office Basic : clipboard;Unix -Oracle Open Office Basic : CLng function -Oracle Open Office Basic : Close statement -Oracle Open Office Basic : closing -Oracle Open Office Basic : closing;documents -Oracle Open Office Basic : closing;toolbars -Oracle Open Office Basic : collaboration -Oracle Open Office Basic : color bar -Oracle Open Office Basic : colors -Oracle Open Office Basic : colors;adding -Oracle Open Office Basic : colors;appearance -Oracle Open Office Basic : colors;backgrounds -Oracle Open Office Basic : colors;charts -Oracle Open Office Basic : colors;fill format -Oracle Open Office Basic : colors;fonts -Oracle Open Office Basic : colors;grid lines and cells (Calc) -Oracle Open Office Basic : colors;models -Oracle Open Office Basic : colors;not printing -Oracle Open Office Basic : colors;printing in grayscale -Oracle Open Office Basic : colors;restriction (Calc) -Oracle Open Office Basic : colors;selection -Oracle Open Office Basic : column headers -Oracle Open Office Basic : column headers;displaying (Calc) -Oracle Open Office Basic : column headers;highlighting (Calc) -Oracle Open Office Basic : columns -Oracle Open Office Basic : columns;setting with the mouse -Oracle Open Office Basic : combo box control -Oracle Open Office Basic : combo box creation -Oracle Open Office Basic : command button creation -Oracle Open Office Basic : command buttons, see push buttons -Oracle Open Office Basic : command line parameters -Oracle Open Office Basic : commands -Oracle Open Office Basic : commands;repeating -Oracle Open Office Basic : commands;SQL -Oracle Open Office Basic : comments -Oracle Open Office Basic : comments;displaying (Calc) -Oracle Open Office Basic : comments;inserting/editing/deleting/printing -Oracle Open Office Basic : comments;on changes -Oracle Open Office Basic : comments;printing in text -Oracle Open Office Basic : comments;Rem statement -Oracle Open Office Basic : common terms -Oracle Open Office Basic : common terms;Chinese dictionary -Oracle Open Office Basic : common terms;glossaries -Oracle Open Office Basic : common terms;Internet glossary -Oracle Open Office Basic : comparison operators -Oracle Open Office Basic : comparison operators;Oracle Open Office Basic -Oracle Open Office Basic : comparisons -Oracle Open Office Basic : comparisons;document versions -Oracle Open Office Basic : comparisons;operators in default filter dialog -Oracle Open Office Basic : compatibility settings for MS Word import -Oracle Open Office Basic : complete screen view -Oracle Open Office Basic : complex text layout -Oracle Open Office Basic : complex text layout;definition -Oracle Open Office Basic : complex text layout;enabling -Oracle Open Office Basic : complex text layout, see CTL -Oracle Open Office Basic : components -Oracle Open Office Basic : components;addressing -Oracle Open Office Basic : compose key to insert special characters -Oracle Open Office Basic : concatenation, see ampersand symbol -Oracle Open Office Basic : conditional separators -Oracle Open Office Basic : conditions -Oracle Open Office Basic : conditions;in number formats -Oracle Open Office Basic : conditions;items in Data Navigator -Oracle Open Office Basic : Configuration Manager -Oracle Open Office Basic : configuring -Oracle Open Office Basic : configuring;fax icon -Oracle Open Office Basic : configuring;Oracle Open Office -Oracle Open Office Basic : configuring;toolbars -Oracle Open Office Basic : connections to data sources (Base) -Oracle Open Office Basic : Const statement -Oracle Open Office Basic : constants -Oracle Open Office Basic : contents protection -Oracle Open Office Basic : context menus -Oracle Open Office Basic : continuation -Oracle Open Office Basic : continuation;long lines in editor -Oracle Open Office Basic : control point display in presentations -Oracle Open Office Basic : controls -Oracle Open Office Basic : controls;activating in forms -Oracle Open Office Basic : controls;adding to documents -Oracle Open Office Basic : controls;arranging in forms -Oracle Open Office Basic : controls;arranging within stacks -Oracle Open Office Basic : controls;assigning data sources -Oracle Open Office Basic : controls;assigning macros (Basic) -Oracle Open Office Basic : controls;bound fields/list contents/linked cells -Oracle Open Office Basic : controls;changing properties -Oracle Open Office Basic : controls;creating in the dialog editor -Oracle Open Office Basic : controls;events -Oracle Open Office Basic : controls;focus -Oracle Open Office Basic : controls;formatted fields -Oracle Open Office Basic : controls;grouping -Oracle Open Office Basic : controls;hidden -Oracle Open Office Basic : controls;in dialog editor -Oracle Open Office Basic : controls;inserting -Oracle Open Office Basic : controls;multi-line titles -Oracle Open Office Basic : controls;positions and sizes -Oracle Open Office Basic : controls;printing -Oracle Open Office Basic : controls;properties -Oracle Open Office Basic : controls;properties of form controls -Oracle Open Office Basic : controls;properties of table controls -Oracle Open Office Basic : controls;reading or editing properties (example) -Oracle Open Office Basic : controls;reference by SQL -Oracle Open Office Basic : controls;rich text control -Oracle Open Office Basic : controls;select mode -Oracle Open Office Basic : controls;showing (Writer) -Oracle Open Office Basic : converters -Oracle Open Office Basic : converters;Euro converter -Oracle Open Office Basic : converters;PostScript, UNIX -Oracle Open Office Basic : converters;XML -Oracle Open Office Basic : ConvertFromURL function -Oracle Open Office Basic : converting -Oracle Open Office Basic : converting;Hangul/Hanja -Oracle Open Office Basic : converting;metrics -Oracle Open Office Basic : converting;Microsoft documents -Oracle Open Office Basic : converting;Oracle Open Office documents -Oracle Open Office Basic : converting;Pocket PC formats -Oracle Open Office Basic : ConvertToURL function -Oracle Open Office Basic : copies -Oracle Open Office Basic : copies;printing -Oracle Open Office Basic : copying -Oracle Open Office Basic : copying;by drag and drop -Oracle Open Office Basic : copying;data from text documents -Oracle Open Office Basic : copying;datasource records in spreadsheets -Oracle Open Office Basic : copying;draw objects -Oracle Open Office Basic : copying;draw objects between documents -Oracle Open Office Basic : copying;formatting -Oracle Open Office Basic : copying;from data source view -Oracle Open Office Basic : copying;from Gallery -Oracle Open Office Basic : copying;in Unix -Oracle Open Office Basic : copying;modules -Oracle Open Office Basic : copying;pictures, between documents -Oracle Open Office Basic : copying;sheet areas, to text documents -Oracle Open Office Basic : copying;to Gallery -Oracle Open Office Basic : copyright for Oracle Open Office -Oracle Open Office Basic : corner roundings -Oracle Open Office Basic : Cos function -Oracle Open Office Basic : crash reports -Oracle Open Office Basic : CreateObject function -Oracle Open Office Basic : CreateUnoDialog function -Oracle Open Office Basic : CreateUnoListener function -Oracle Open Office Basic : CreateUnoService function -Oracle Open Office Basic : CreateUnoStruct function -Oracle Open Office Basic : CreateUnoValue function -Oracle Open Office Basic : criteria of query design (Base) -Oracle Open Office Basic : cropping pictures -Oracle Open Office Basic : CSng function -Oracle Open Office Basic : CStr function -Oracle Open Office Basic : CTL -Oracle Open Office Basic : CTL;(not) wrapping words -Oracle Open Office Basic : CTL;complex text layout languages -Oracle Open Office Basic : CTL;definition -Oracle Open Office Basic : CTL;options -Oracle Open Office Basic : CurDir function -Oracle Open Office Basic : currencies -Oracle Open Office Basic : currencies;converters -Oracle Open Office Basic : currencies;format codes -Oracle Open Office Basic : currency field control -Oracle Open Office Basic : currency field creation -Oracle Open Office Basic : currency formats -Oracle Open Office Basic : cursor -Oracle Open Office Basic : cursor;allowing in protected areas (Writer) -Oracle Open Office Basic : cursor;in read-only text -Oracle Open Office Basic : cursor;quickly moving to an object -Oracle Open Office Basic : curves -Oracle Open Office Basic : curves;editing points -Oracle Open Office Basic : custom dictionaries -Oracle Open Office Basic : custom dictionaries;editing -Oracle Open Office Basic : custom hyphens (Writer) -Oracle Open Office Basic : custom quotes -Oracle Open Office Basic : custom templates -Oracle Open Office Basic : customizing -Oracle Open Office Basic : customizing;events -Oracle Open Office Basic : customizing;keyboard -Oracle Open Office Basic : customizing;menus -Oracle Open Office Basic : customizing;Oracle Open Office -Oracle Open Office Basic : customizing;round corners -Oracle Open Office Basic : customizing;toolbars -Oracle Open Office Basic : cutting -Oracle Open Office Basic : CVar function -Oracle Open Office Basic : CVErr function -Oracle Open Office Basic : dashes -Oracle Open Office Basic : data -Oracle Open Office Basic : data;filtering in forms -Oracle Open Office Basic : data;forms and subforms -Oracle Open Office Basic : data;read-only -Oracle Open Office Basic : data;sorting in forms -Oracle Open Office Basic : data;user data -Oracle Open Office Basic : data binding change in XForms -Oracle Open Office Basic : Data Navigator -Oracle Open Office Basic : Data Navigator;adding/editing items -Oracle Open Office Basic : Data Navigator;display options -Oracle Open Office Basic : data source browser -Oracle Open Office Basic : data source explorer -Oracle Open Office Basic : data source view -Oracle Open Office Basic : data source view;drag and drop -Oracle Open Office Basic : data source view;overview -Oracle Open Office Basic : data source view;showing -Oracle Open Office Basic : data sources -Oracle Open Office Basic : data sources;as tables -Oracle Open Office Basic : data sources;connection settings (Base) -Oracle Open Office Basic : data sources;copying records to spreadsheets -Oracle Open Office Basic : data sources;displaying current -Oracle Open Office Basic : data sources;LDAP server (Base) -Oracle Open Office Basic : data sources;Oracle Open Office Base -Oracle Open Office Basic : data sources;registering address books -Oracle Open Office Basic : data sources;reports -Oracle Open Office Basic : data sources;viewing -Oracle Open Office Basic : data structure of XForms -Oracle Open Office Basic : data, see also values -Oracle Open Office Basic : database contents -Oracle Open Office Basic : database contents;inserting as tables -Oracle Open Office Basic : database contents;inserting as text -Oracle Open Office Basic : database reports -Oracle Open Office Basic : Database Wizard (Base) -Oracle Open Office Basic : databases -Oracle Open Office Basic : databases;administration through SQL (Base) -Oracle Open Office Basic : databases;ADO (Base) -Oracle Open Office Basic : databases;connecting (Base) -Oracle Open Office Basic : databases;creating -Oracle Open Office Basic : databases;creating labels -Oracle Open Office Basic : databases;creating queries -Oracle Open Office Basic : databases;creating reports -Oracle Open Office Basic : databases;creating tables -Oracle Open Office Basic : databases;deleting (Base) -Oracle Open Office Basic : databases;drag and drop (Base) -Oracle Open Office Basic : databases;editing tables -Oracle Open Office Basic : databases;form filters -Oracle Open Office Basic : databases;formats (Base) -Oracle Open Office Basic : databases;importing/exporting -Oracle Open Office Basic : databases;JDBC (Base) -Oracle Open Office Basic : databases;main page (Base) -Oracle Open Office Basic : databases;ODBC (Base) -Oracle Open Office Basic : databases;overview -Oracle Open Office Basic : databases;registering (Base) -Oracle Open Office Basic : databases;searching records -Oracle Open Office Basic : databases;shortcut keys -Oracle Open Office Basic : databases;sorting -Oracle Open Office Basic : databases;standard filters -Oracle Open Office Basic : databases;text formats -Oracle Open Office Basic : databases;viewing -Oracle Open Office Basic : date field control -Oracle Open Office Basic : date fields -Oracle Open Office Basic : date fields;creating -Oracle Open Office Basic : date fields;properties -Oracle Open Office Basic : date formats -Oracle Open Office Basic : Date statement -Oracle Open Office Basic : DateAdd function -Oracle Open Office Basic : DateDiff function -Oracle Open Office Basic : DatePart function -Oracle Open Office Basic : dates -Oracle Open Office Basic : dates;default (Calc) -Oracle Open Office Basic : dates;printing in presentations -Oracle Open Office Basic : dates;start 1900/01/01 (Calc) -Oracle Open Office Basic : dates;start 1904/01/01 (Calc) -Oracle Open Office Basic : DateSerial function -Oracle Open Office Basic : DateValue function -Oracle Open Office Basic : Day function -Oracle Open Office Basic : dBASE -Oracle Open Office Basic : dBASE;database settings (Base) -Oracle Open Office Basic : DDE -Oracle Open Office Basic : DDE;definition -Oracle Open Office Basic : deactivating -Oracle Open Office Basic : deactivating;plug-ins -Oracle Open Office Basic : debugging Basic programs -Oracle Open Office Basic : decimal places displayed (Calc) -Oracle Open Office Basic : decimal separator key -Oracle Open Office Basic : decimal tab stops -Oracle Open Office Basic : Declare statement -Oracle Open Office Basic : declaring variables -Oracle Open Office Basic : default directories -Oracle Open Office Basic : default filters -Oracle Open Office Basic : default filters;comparison operators -Oracle Open Office Basic : default filters;databases -Oracle Open Office Basic : default printer -Oracle Open Office Basic : default printer;setting up -Oracle Open Office Basic : default printer;UNIX -Oracle Open Office Basic : default templates -Oracle Open Office Basic : default templates;changing -Oracle Open Office Basic : default templates;organizing -Oracle Open Office Basic : defaults -Oracle Open Office Basic : defaults;documents -Oracle Open Office Basic : defaults;file formats in file dialogs -Oracle Open Office Basic : defaults;file formats in Oracle Open Office -Oracle Open Office Basic : defaults;fonts -Oracle Open Office Basic : defaults;grids (Writer/Calc) -Oracle Open Office Basic : defaults;languages -Oracle Open Office Basic : defaults;number formats -Oracle Open Office Basic : defaults;of saving -Oracle Open Office Basic : defaults;program configuration -Oracle Open Office Basic : defaults;tab stops in text -Oracle Open Office Basic : defaults;views -Oracle Open Office Basic : DefBool statement -Oracle Open Office Basic : DefCur statement -Oracle Open Office Basic : DefDate statement -Oracle Open Office Basic : DefDbl statement -Oracle Open Office Basic : DefErr statement -Oracle Open Office Basic : defining -Oracle Open Office Basic : defining;arrowheads and other line ends -Oracle Open Office Basic : defining;colors -Oracle Open Office Basic : defining;constants -Oracle Open Office Basic : defining;line styles -Oracle Open Office Basic : defining;paragraph borders -Oracle Open Office Basic : defining;queries (Base) -Oracle Open Office Basic : defining;table borders -Oracle Open Office Basic : DefInt statement -Oracle Open Office Basic : DefLng statement -Oracle Open Office Basic : DefObj statement -Oracle Open Office Basic : DefSng statement -Oracle Open Office Basic : DefStr statement -Oracle Open Office Basic : DefVar statement -Oracle Open Office Basic : deleting -Oracle Open Office Basic : deleting;all direct formatting -Oracle Open Office Basic : deleting;comments -Oracle Open Office Basic : deleting;databases (Base) -Oracle Open Office Basic : deleting;hyperlinks -Oracle Open Office Basic : deleting;libraries/modules/dialogs -Oracle Open Office Basic : deleting;lines in text -Oracle Open Office Basic : deleting;macro assignments to events -Oracle Open Office Basic : deleting;models/instances -Oracle Open Office Basic : deleting;namespaces in XForms -Oracle Open Office Basic : deleting;tab stops -Oracle Open Office Basic : deleting;templates -Oracle Open Office Basic : deleting;XML filters -Oracle Open Office Basic : depth stagger -Oracle Open Office Basic : descriptions for objects -Oracle Open Office Basic : design mode after saving -Oracle Open Office Basic : design view -Oracle Open Office Basic : design view;creating forms -Oracle Open Office Basic : design view;queries/views (Base) -Oracle Open Office Basic : designing -Oracle Open Office Basic : designing;database tables -Oracle Open Office Basic : designing;fonts -Oracle Open Office Basic : designing;queries (Base) -Oracle Open Office Basic : detaching toolbars -Oracle Open Office Basic : dialog editor -Oracle Open Office Basic : dialog editor;changing control properties -Oracle Open Office Basic : dialog editor;creating controls -Oracle Open Office Basic : dialog editor;programming examples for controls -Oracle Open Office Basic : DialogLibraries (LibraryContainer) -Oracle Open Office Basic : dialogs -Oracle Open Office Basic : dialogs;creating Basic dialogs -Oracle Open Office Basic : dialogs;displaying (example) -Oracle Open Office Basic : dialogs;loading (example) -Oracle Open Office Basic : dialogs;organizing -Oracle Open Office Basic : dialogs;properties -Oracle Open Office Basic : dialogs;translating -Oracle Open Office Basic : dialogs;using program code to show (example) -Oracle Open Office Basic : dictionaries -Oracle Open Office Basic : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Basic : dictionaries;creating -Oracle Open Office Basic : dictionaries;editing user-defined -Oracle Open Office Basic : dictionaries;spellcheck -Oracle Open Office Basic : dictionaries, see also languages -Oracle Open Office Basic : digital signatures -Oracle Open Office Basic : digital signatures;getting/managing/applying -Oracle Open Office Basic : digital signatures;overview -Oracle Open Office Basic : digital signatures;WebDAV over HTTPS -Oracle Open Office Basic : Dim statement -Oracle Open Office Basic : DimArray function -Oracle Open Office Basic : dimensioning arrays -Oracle Open Office Basic : Dir function -Oracle Open Office Basic : direct formatting -Oracle Open Office Basic : direct formatting;undoing all -Oracle Open Office Basic : directories -Oracle Open Office Basic : directories;creating new -Oracle Open Office Basic : directories;directory structure -Oracle Open Office Basic : disabled persons -Oracle Open Office Basic : displaying -Oracle Open Office Basic : displaying;comments (Calc) -Oracle Open Office Basic : displaying;comments in text documents -Oracle Open Office Basic : displaying;non-printing characters (Writer) -Oracle Open Office Basic : displaying;pictures and objects (Writer) -Oracle Open Office Basic : displaying;tables (Writer) -Oracle Open Office Basic : displaying;zero values (Calc) -Oracle Open Office Basic : distances -Oracle Open Office Basic : distinct values in SQL queries -Oracle Open Office Basic : distorting in drawings -Oracle Open Office Basic : distributing XML filters -Oracle Open Office Basic : DLL (Dynamic Link Library) -Oracle Open Office Basic : Do...Loop statement -Oracle Open Office Basic : docking -Oracle Open Office Basic : docking;definition -Oracle Open Office Basic : docking;toolbars -Oracle Open Office Basic : docking;windows -Oracle Open Office Basic : Document Converter Wizard -Oracle Open Office Basic : Document Map, see Navigator -Oracle Open Office Basic : document types in Oracle Open Office -Oracle Open Office Basic : documents -Oracle Open Office Basic : documents;changing titles -Oracle Open Office Basic : documents;closing -Oracle Open Office Basic : documents;comparing -Oracle Open Office Basic : documents;contents as lists -Oracle Open Office Basic : documents;editing time -Oracle Open Office Basic : documents;exporting -Oracle Open Office Basic : documents;importing -Oracle Open Office Basic : documents;languages -Oracle Open Office Basic : documents;measurement units in -Oracle Open Office Basic : documents;merging -Oracle Open Office Basic : documents;number of pages/tables/sheets -Oracle Open Office Basic : documents;opening -Oracle Open Office Basic : documents;opening in design mode -Oracle Open Office Basic : documents;opening with templates -Oracle Open Office Basic : documents;organizing -Oracle Open Office Basic : documents;printing -Oracle Open Office Basic : documents;read-only -Oracle Open Office Basic : documents;reloading -Oracle Open Office Basic : documents;saving -Oracle Open Office Basic : documents;saving automatically -Oracle Open Office Basic : documents;saving in other formats -Oracle Open Office Basic : documents;sending as e-mail -Oracle Open Office Basic : documents;styles changed -Oracle Open Office Basic : documents;version management -Oracle Open Office Basic : documents;version numbers -Oracle Open Office Basic : dotted areas -Oracle Open Office Basic : double-line spacing in paragraphs -Oracle Open Office Basic : double-line writing in Asian layout -Oracle Open Office Basic : drag and drop -Oracle Open Office Basic : drag and drop;copying and pasting text -Oracle Open Office Basic : drag and drop;data source view -Oracle Open Office Basic : drag and drop;from Gallery to draw objects -Oracle Open Office Basic : drag and drop;overview -Oracle Open Office Basic : drag and drop;pictures -Oracle Open Office Basic : drag and drop;to Gallery -Oracle Open Office Basic : draw objects -Oracle Open Office Basic : draw objects;adding/editing/copying -Oracle Open Office Basic : draw objects;anchoring -Oracle Open Office Basic : draw objects;arranging within stacks -Oracle Open Office Basic : draw objects;copying between documents -Oracle Open Office Basic : draw objects;displaying (Calc) -Oracle Open Office Basic : draw objects;dropping Gallery pictures -Oracle Open Office Basic : draw objects;flipping -Oracle Open Office Basic : draw objects;legends -Oracle Open Office Basic : draw objects;positioning and resizing -Oracle Open Office Basic : draw objects;protecting -Oracle Open Office Basic : draw objects;slanting -Oracle Open Office Basic : draw objects;text in -Oracle Open Office Basic : Drawing bar -Oracle Open Office Basic : drawing lines in text -Oracle Open Office Basic : drawings -Oracle Open Office Basic : drawings;creating/opening -Oracle Open Office Basic : drawings;languages -Oracle Open Office Basic : drawings;printing -Oracle Open Office Basic : drawings;printing defaults -Oracle Open Office Basic : drawings;printing in text documents -Oracle Open Office Basic : drawings;saving -Oracle Open Office Basic : drawings;saving automatically -Oracle Open Office Basic : drawings;saving in other formats -Oracle Open Office Basic : drawings;sending as e-mail -Oracle Open Office Basic : drawings;showing (Writer) -Oracle Open Office Basic : drawings, see also draw objects -Oracle Open Office Basic : drop-down lists in form functions -Oracle Open Office Basic : e-mail attachments -Oracle Open Office Basic : Edit File icon -Oracle Open Office Basic : edit mode -Oracle Open Office Basic : edit mode;after opening -Oracle Open Office Basic : edit mode;through Enter key (Calc) -Oracle Open Office Basic : Edit Points bar -Oracle Open Office Basic : editing -Oracle Open Office Basic : editing;chart axes -Oracle Open Office Basic : editing;chart data -Oracle Open Office Basic : editing;chart legends -Oracle Open Office Basic : editing;chart titles -Oracle Open Office Basic : editing;comments -Oracle Open Office Basic : editing;controls -Oracle Open Office Basic : editing;data binding of XForms -Oracle Open Office Basic : editing;database tables and queries -Oracle Open Office Basic : editing;draw objects -Oracle Open Office Basic : editing;Fontwork objects -Oracle Open Office Basic : editing;hyperlinks -Oracle Open Office Basic : editing;menus -Oracle Open Office Basic : editing;objects -Oracle Open Office Basic : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Basic : editing;pictures -Oracle Open Office Basic : editing;reports -Oracle Open Office Basic : editing;shortcut keys -Oracle Open Office Basic : editing;tab stops -Oracle Open Office Basic : editing;templates -Oracle Open Office Basic : editing;toolbars -Oracle Open Office Basic : editing;undoing -Oracle Open Office Basic : editing;XForms -Oracle Open Office Basic : editing time of documents -Oracle Open Office Basic : editors -Oracle Open Office Basic : editors;formula editor -Oracle Open Office Basic : editors;ImageMap editor -Oracle Open Office Basic : effects -Oracle Open Office Basic : effects;font positions -Oracle Open Office Basic : effects;fonts -Oracle Open Office Basic : effects;Fontwork icons -Oracle Open Office Basic : empty documents -Oracle Open Office Basic : empty paragraph removal -Oracle Open Office Basic : encryption of contents -Oracle Open Office Basic : End statement -Oracle Open Office Basic : entering groups -Oracle Open Office Basic : entering text from right to left -Oracle Open Office Basic : Environ function -Oracle Open Office Basic : Eof function -Oracle Open Office Basic : equal sign, see also operators -Oracle Open Office Basic : EqualUnoObjects function -Oracle Open Office Basic : equations in formula editor -Oracle Open Office Basic : Eqv operator (logical) -Oracle Open Office Basic : Erase function -Oracle Open Office Basic : Erl function -Oracle Open Office Basic : Err function -Oracle Open Office Basic : error codes in Basic -Oracle Open Office Basic : Error function -Oracle Open Office Basic : Error Report Tool -Oracle Open Office Basic : Euro -Oracle Open Office Basic : Euro;currency formats -Oracle Open Office Basic : Euro;Euro Converter Wizard -Oracle Open Office Basic : even/odd pages -Oracle Open Office Basic : even/odd pages;printing -Oracle Open Office Basic : events -Oracle Open Office Basic : events;assigning macros -Oracle Open Office Basic : events;assigning scripts -Oracle Open Office Basic : events;controls -Oracle Open Office Basic : events;customizing -Oracle Open Office Basic : events;in forms -Oracle Open Office Basic : events;linked to objects -Oracle Open Office Basic : examples -Oracle Open Office Basic : examples;programming controls -Oracle Open Office Basic : examples;showing a dialog using program code -Oracle Open Office Basic : Excel -Oracle Open Office Basic : Excel;saving as -Oracle Open Office Basic : Excel;search criteria -Oracle Open Office Basic : exceptions -Oracle Open Office Basic : exceptions;user-defined dictionaries -Oracle Open Office Basic : exchanging, see also replacing -Oracle Open Office Basic : executing SQL commands -Oracle Open Office Basic : Exit statement -Oracle Open Office Basic : exiting -Oracle Open Office Basic : exiting;groups -Oracle Open Office Basic : exiting;Oracle Open Office -Oracle Open Office Basic : Exp function -Oracle Open Office Basic : expanding formatting (Calc) -Oracle Open Office Basic : explorer of data sources -Oracle Open Office Basic : export filters -Oracle Open Office Basic : exporting -Oracle Open Office Basic : exporting;bitmaps -Oracle Open Office Basic : exporting;HTML and text documents -Oracle Open Office Basic : exporting;Microsoft Office documents with VBA code -Oracle Open Office Basic : exporting;spreadsheets to text format -Oracle Open Office Basic : exporting;templates -Oracle Open Office Basic : exporting;to foreign formats -Oracle Open Office Basic : exporting;to HTML -Oracle Open Office Basic : exporting;to Microsoft Office formats -Oracle Open Office Basic : exporting;to PDF -Oracle Open Office Basic : exporting;to PostScript format -Oracle Open Office Basic : exporting;to XML -Oracle Open Office Basic : exporting;XML files -Oracle Open Office Basic : extended tips in Help -Oracle Open Office Basic : extension mode in text -Oracle Open Office Basic : extensions -Oracle Open Office Basic : extensions;Extension Manager -Oracle Open Office Basic : extensions;file formats -Oracle Open Office Basic : external keys (Base) -Oracle Open Office Basic : faster printing -Oracle Open Office Basic : faxes -Oracle Open Office Basic : faxes;configuring Oracle Open Office -Oracle Open Office Basic : faxes;fax programs/fax printers under UNIX -Oracle Open Office Basic : faxes;selecting a fax machine -Oracle Open Office Basic : faxes;sending -Oracle Open Office Basic : faxes;wizards -Oracle Open Office Basic : feedback -Oracle Open Office Basic : feedback;automatically -Oracle Open Office Basic : fields -Oracle Open Office Basic : fields;database tables -Oracle Open Office Basic : fields;displaying field codes (Writer) -Oracle Open Office Basic : fields;formatted fields -Oracle Open Office Basic : fields;updating automatically (Writer) -Oracle Open Office Basic : file associations for Microsoft Office -Oracle Open Office Basic : file filters -Oracle Open Office Basic : file filters;mobile devices -Oracle Open Office Basic : file filters;XML -Oracle Open Office Basic : file formats -Oracle Open Office Basic : file formats;changing Oracle Open Office defaults -Oracle Open Office Basic : file formats;OpenDocument/XML -Oracle Open Office Basic : file formats;saving always in other formats -Oracle Open Office Basic : file selection button -Oracle Open Office Basic : file selection control -Oracle Open Office Basic : file sharing options for current document -Oracle Open Office Basic : FileAttr function -Oracle Open Office Basic : FileCopy statement -Oracle Open Office Basic : FileDateTime function -Oracle Open Office Basic : FileExists function -Oracle Open Office Basic : FileLen function -Oracle Open Office Basic : filepicker -Oracle Open Office Basic : filepicker;API service -Oracle Open Office Basic : files -Oracle Open Office Basic : files;filters and formats -Oracle Open Office Basic : files;importing -Oracle Open Office Basic : files;opening -Oracle Open Office Basic : files;opening with placeholders -Oracle Open Office Basic : files;properties -Oracle Open Office Basic : files;saving -Oracle Open Office Basic : files;saving automatically -Oracle Open Office Basic : files;saving in other formats -Oracle Open Office Basic : files;sending as e-mail -Oracle Open Office Basic : files;version numbers -Oracle Open Office Basic : files and folders in Oracle Open Office -Oracle Open Office Basic : fill characters with tabulators -Oracle Open Office Basic : fill colors for areas -Oracle Open Office Basic : fill patterns for areas -Oracle Open Office Basic : filter conditions -Oracle Open Office Basic : filter conditions;connecting -Oracle Open Office Basic : filter conditions;in queries (Base) -Oracle Open Office Basic : filtering -Oracle Open Office Basic : filtering;data in databases -Oracle Open Office Basic : filtering;data in forms -Oracle Open Office Basic : filters -Oracle Open Office Basic : filters;comparison operators -Oracle Open Office Basic : filters;for import and export -Oracle Open Office Basic : filters;Navigator -Oracle Open Office Basic : filters;pictures -Oracle Open Office Basic : filters;XML filter settings -Oracle Open Office Basic : Find tab in Help -Oracle Open Office Basic : finding -Oracle Open Office Basic : finding;in all sheets -Oracle Open Office Basic : finding;records in form documents -Oracle Open Office Basic : finding;selections -Oracle Open Office Basic : finding;similarity search -Oracle Open Office Basic : FindObject function -Oracle Open Office Basic : FindPropertyObject function -Oracle Open Office Basic : fitting to pages -Oracle Open Office Basic : fitting to pages;print settings in Math -Oracle Open Office Basic : fitting to pages;print settings in presentations -Oracle Open Office Basic : Fix function -Oracle Open Office Basic : fixed line control -Oracle Open Office Basic : fixed text -Oracle Open Office Basic : fixed text;form functions -Oracle Open Office Basic : fixed text control -Oracle Open Office Basic : fixing toolbars -Oracle Open Office Basic : flipping draw objects -Oracle Open Office Basic : floating frames in HTML documents -Oracle Open Office Basic : floating toolbars -Oracle Open Office Basic : focus of controls -Oracle Open Office Basic : folder creation -Oracle Open Office Basic : font lists -Oracle Open Office Basic : font name box -Oracle Open Office Basic : font sizes -Oracle Open Office Basic : font sizes;bullets -Oracle Open Office Basic : font sizes;relative changes -Oracle Open Office Basic : font sizes;scaling on screen -Oracle Open Office Basic : font sizes;text -Oracle Open Office Basic : fonts -Oracle Open Office Basic : fonts;adding under UNIX -Oracle Open Office Basic : fonts;changing in templates -Oracle Open Office Basic : fonts;colors -Oracle Open Office Basic : fonts;default settings -Oracle Open Office Basic : fonts;effects -Oracle Open Office Basic : fonts;for HTML and Basic -Oracle Open Office Basic : fonts;formats -Oracle Open Office Basic : fonts;outlines -Oracle Open Office Basic : fonts;positions in text -Oracle Open Office Basic : fonts;shadows -Oracle Open Office Basic : fonts;specifying several -Oracle Open Office Basic : fonts;strikethrough -Oracle Open Office Basic : fonts;styles -Oracle Open Office Basic : fonts;text objects -Oracle Open Office Basic : Fontwork icons -Oracle Open Office Basic : footers -Oracle Open Office Basic : footers;backgrounds -Oracle Open Office Basic : For statement -Oracle Open Office Basic : form controls -Oracle Open Office Basic : form controls;assigning macros -Oracle Open Office Basic : form controls;protecting -Oracle Open Office Basic : form controls;toolbars -Oracle Open Office Basic : form fields -Oracle Open Office Basic : form filters -Oracle Open Office Basic : Form Navigator -Oracle Open Office Basic : format codes -Oracle Open Office Basic : format codes;numbers -Oracle Open Office Basic : format filling printing in Oracle Open Office Math -Oracle Open Office Basic : Format function -Oracle Open Office Basic : Format Paintbrush -Oracle Open Office Basic : formats -Oracle Open Office Basic : formats;Asian layout -Oracle Open Office Basic : formats;fonts -Oracle Open Office Basic : formats;maximizing page formats -Oracle Open Office Basic : formats;number and currency formats -Oracle Open Office Basic : formats;of currencies/date/time -Oracle Open Office Basic : formats;on opening and saving -Oracle Open Office Basic : formats;pasting in special formats -Oracle Open Office Basic : formats;positions -Oracle Open Office Basic : formats;tabulators -Oracle Open Office Basic : formatted field control -Oracle Open Office Basic : formatted fields -Oracle Open Office Basic : formatted fields;form functions -Oracle Open Office Basic : formatted fields;properties -Oracle Open Office Basic : formatting -Oracle Open Office Basic : formatting;Asian typography -Oracle Open Office Basic : formatting;axes in charts -Oracle Open Office Basic : formatting;chart legends -Oracle Open Office Basic : formatting;copying -Oracle Open Office Basic : formatting;definition -Oracle Open Office Basic : formatting;expanding (Calc) -Oracle Open Office Basic : formatting;font effects -Oracle Open Office Basic : formatting;hyperlinks -Oracle Open Office Basic : formatting;pages -Oracle Open Office Basic : formatting;printer metrics (Writer) -Oracle Open Office Basic : formatting;undoing -Oracle Open Office Basic : formatting;undoing when writing -Oracle Open Office Basic : forms -Oracle Open Office Basic : forms;browsing -Oracle Open Office Basic : forms;Combo Box/List Box Wizard -Oracle Open Office Basic : forms;creating -Oracle Open Office Basic : forms;data -Oracle Open Office Basic : forms;designing (Base) -Oracle Open Office Basic : forms;events -Oracle Open Office Basic : forms;filtering data -Oracle Open Office Basic : forms;finding records -Oracle Open Office Basic : forms;focus after opening -Oracle Open Office Basic : forms;general information (Base) -Oracle Open Office Basic : forms;grouping controls -Oracle Open Office Basic : forms;HTML filters -Oracle Open Office Basic : forms;Navigator -Oracle Open Office Basic : forms;opening in design mode -Oracle Open Office Basic : forms;properties -Oracle Open Office Basic : forms;sorting data -Oracle Open Office Basic : forms;subforms -Oracle Open Office Basic : forms;wizards -Oracle Open Office Basic : forms;XForms -Oracle Open Office Basic : formula texts -Oracle Open Office Basic : formula texts;printing in Oracle Open Office Math -Oracle Open Office Basic : formulas -Oracle Open Office Basic : formulas;new -Oracle Open Office Basic : formulas;starting formula editor -Oracle Open Office Basic : formulas in reports -Oracle Open Office Basic : formulas in reports;editing -Oracle Open Office Basic : forums and support -Oracle Open Office Basic : frames -Oracle Open Office Basic : frames;around paragraphs -Oracle Open Office Basic : frames;around tables -Oracle Open Office Basic : frames;AutoCorrect function -Oracle Open Office Basic : frames;backgrounds -Oracle Open Office Basic : frames;captions (Writer) -Oracle Open Office Basic : frames;printing in Oracle Open Office Math -Oracle Open Office Basic : frames;protecting -Oracle Open Office Basic : frames;selection frames -Oracle Open Office Basic : frames;text fitting to frames -Oracle Open Office Basic : FreeFile function -Oracle Open Office Basic : freeform lines -Oracle Open Office Basic : freeform lines;draw functions -Oracle Open Office Basic : FreeLibrary function -Oracle Open Office Basic : FTP -Oracle Open Office Basic : FTP;opening documents -Oracle Open Office Basic : FTP;saving documents -Oracle Open Office Basic : full joins (Base) -Oracle Open Office Basic : full screen view -Oracle Open Office Basic : full-text search in Help -Oracle Open Office Basic : Function statement -Oracle Open Office Basic : functions -Oracle Open Office Basic : functions;return value type -Oracle Open Office Basic : functions;using -Oracle Open Office Basic : functions in reports -Oracle Open Office Basic : functions in reports;editing -Oracle Open Office Basic : fundamentals -Oracle Open Office Basic : Gallery -Oracle Open Office Basic : Gallery;adding pictures -Oracle Open Office Basic : Gallery;dragging pictures to draw objects -Oracle Open Office Basic : Gallery;hiding/showing -Oracle Open Office Basic : Gallery;inserting pictures from -Oracle Open Office Basic : get method for form transmissions -Oracle Open Office Basic : Get statement -Oracle Open Office Basic : GetAttr function -Oracle Open Office Basic : GetDefaultContext function -Oracle Open Office Basic : GetGuiType function -Oracle Open Office Basic : GetProcessServiceManager function -Oracle Open Office Basic : GetSolarVersion function -Oracle Open Office Basic : GetSystemTicks function -Oracle Open Office Basic : getting support -Oracle Open Office Basic : GIF format -Oracle Open Office Basic : Global statement -Oracle Open Office Basic : GLOBAL variables -Oracle Open Office Basic : GlobalScope function -Oracle Open Office Basic : glossaries -Oracle Open Office Basic : glossaries;common terms -Oracle Open Office Basic : glossaries;Internet terms -Oracle Open Office Basic : GoSub...Return statement -Oracle Open Office Basic : GoTo statement -Oracle Open Office Basic : gradients off for faster printing -Oracle Open Office Basic : graphic objects, see draw objects -Oracle Open Office Basic : graphical text art -Oracle Open Office Basic : graphics -Oracle Open Office Basic : graphics;cache -Oracle Open Office Basic : graphics;protecting -Oracle Open Office Basic : graphics, see also pictures -Oracle Open Office Basic : grayscale printing -Oracle Open Office Basic : Green function -Oracle Open Office Basic : grid controls -Oracle Open Office Basic : grid controls;form functions -Oracle Open Office Basic : grids -Oracle Open Office Basic : grids;defaults (Writer/Calc) -Oracle Open Office Basic : grids;display options (Impress/Draw) -Oracle Open Office Basic : grids;displaying lines (Calc) -Oracle Open Office Basic : group box control -Oracle Open Office Basic : group box creation -Oracle Open Office Basic : groups -Oracle Open Office Basic : groups;entering/exiting/ungrouping -Oracle Open Office Basic : groups;naming -Oracle Open Office Basic : groups;of controls -Oracle Open Office Basic : guides -Oracle Open Office Basic : guides;display options (Impress/Draw) -Oracle Open Office Basic : guides;displaying when moving objects (Impress) -Oracle Open Office Basic : guides;showing (Calc) -Oracle Open Office Basic : guides;showing when moving frames (Writer) -Oracle Open Office Basic : gutter -Oracle Open Office Basic : handles -Oracle Open Office Basic : handles;displaying (Writer) -Oracle Open Office Basic : handles;scaling -Oracle Open Office Basic : handles;showing simple/large handles (Calc) -Oracle Open Office Basic : Hangul/Hanja -Oracle Open Office Basic : HasUnoInterfaces function -Oracle Open Office Basic : hatching -Oracle Open Office Basic : headers -Oracle Open Office Basic : headers;backgrounds -Oracle Open Office Basic : headings -Oracle Open Office Basic : headings;entering as text box -Oracle Open Office Basic : Hebrew -Oracle Open Office Basic : Hebrew;entering text -Oracle Open Office Basic : Hebrew;language settings -Oracle Open Office Basic : Help -Oracle Open Office Basic : Help;bookmarks -Oracle Open Office Basic : Help;extended tips on/off -Oracle Open Office Basic : Help;full-text search -Oracle Open Office Basic : Help;Help tips -Oracle Open Office Basic : Help;keywords -Oracle Open Office Basic : Help;navigation pane showing/hiding -Oracle Open Office Basic : Help;style sheets -Oracle Open Office Basic : Help;topics -Oracle Open Office Basic : Help Agent -Oracle Open Office Basic : Help Agent;help -Oracle Open Office Basic : Help Agent;options -Oracle Open Office Basic : Help tips -Oracle Open Office Basic : Help tips;hiding -Oracle Open Office Basic : Hex function -Oracle Open Office Basic : hidden controls in Form Navigator -Oracle Open Office Basic : hidden fields display (Writer) -Oracle Open Office Basic : hidden pages -Oracle Open Office Basic : hidden pages;printing in presentations -Oracle Open Office Basic : hidden text -Oracle Open Office Basic : hidden text;showing (Writer) -Oracle Open Office Basic : hiding -Oracle Open Office Basic : hiding;changes -Oracle Open Office Basic : hiding;docked windows -Oracle Open Office Basic : hiding;navigation pane in Help window -Oracle Open Office Basic : high contrast mode -Oracle Open Office Basic : Hindi -Oracle Open Office Basic : Hindi;entering text -Oracle Open Office Basic : Hindi;language settings -Oracle Open Office Basic : horizontal line control -Oracle Open Office Basic : horizontal scrollbar control -Oracle Open Office Basic : horizontal scrollbars (Writer) -Oracle Open Office Basic : hotspots -Oracle Open Office Basic : Hour function -Oracle Open Office Basic : HTML -Oracle Open Office Basic : HTML;definition -Oracle Open Office Basic : HTML;export character set -Oracle Open Office Basic : HTML;fonts for source display -Oracle Open Office Basic : HTML;importing META tags -Oracle Open Office Basic : HTML;live presentations -Oracle Open Office Basic : HTML documents -Oracle Open Office Basic : HTML documents;auto reloading -Oracle Open Office Basic : HTML documents;importing/exporting -Oracle Open Office Basic : HTML documents;META tags in -Oracle Open Office Basic : HTML documents;new -Oracle Open Office Basic : HTML documents;source text -Oracle Open Office Basic : hyperlinks -Oracle Open Office Basic : hyperlinks;assigning macros -Oracle Open Office Basic : hyperlinks;character formats -Oracle Open Office Basic : hyperlinks;definition -Oracle Open Office Basic : hyperlinks;deleting -Oracle Open Office Basic : hyperlinks;editing -Oracle Open Office Basic : hyperlinks;inserting -Oracle Open Office Basic : hyperlinks;relative and absolute -Oracle Open Office Basic : hyperlinks;turning off automatic recognition -Oracle Open Office Basic : hyperlinks, see also links -Oracle Open Office Basic : hyphenation -Oracle Open Office Basic : hyphenation;activating for a language -Oracle Open Office Basic : hyphenation;minimal number of characters -Oracle Open Office Basic : hyphens -Oracle Open Office Basic : hyphens;displaying custom (Writer) -Oracle Open Office Basic : hyphens;inserting custom -Oracle Open Office Basic : icon bars, see toolbars -Oracle Open Office Basic : icon control -Oracle Open Office Basic : icon sizes -Oracle Open Office Basic : IDE -Oracle Open Office Basic : IDE;Integrated Development Environment -Oracle Open Office Basic : IDE;keyboard shortcuts -Oracle Open Office Basic : If statement -Oracle Open Office Basic : ignore list for spellcheck -Oracle Open Office Basic : IIf statement -Oracle Open Office Basic : illustrations, see pictures -Oracle Open Office Basic : image button creation -Oracle Open Office Basic : image control -Oracle Open Office Basic : image control creation -Oracle Open Office Basic : ImageMap -Oracle Open Office Basic : ImageMap;definition -Oracle Open Office Basic : ImageMap;editor -Oracle Open Office Basic : images -Oracle Open Office Basic : images;ImageMap -Oracle Open Office Basic : images;inserting and editing bitmaps -Oracle Open Office Basic : images, see also pictures -Oracle Open Office Basic : IME -Oracle Open Office Basic : IME;definition -Oracle Open Office Basic : IME;showing/hiding -Oracle Open Office Basic : Imp operator (logical) -Oracle Open Office Basic : import filters -Oracle Open Office Basic : import restrictions for Microsoft Office -Oracle Open Office Basic : importing -Oracle Open Office Basic : importing;bitmaps -Oracle Open Office Basic : importing;compatibility settings for text import -Oracle Open Office Basic : importing;databases -Oracle Open Office Basic : importing;documents in other formats -Oracle Open Office Basic : importing;from XML -Oracle Open Office Basic : importing;HTML and text documents -Oracle Open Office Basic : importing;HTML with META tags -Oracle Open Office Basic : importing;Microsoft Office documents with VBA code -Oracle Open Office Basic : importing;tables in text format -Oracle Open Office Basic : importing;templates -Oracle Open Office Basic : improvement program -Oracle Open Office Basic : inches -Oracle Open Office Basic : Index tab in Help -Oracle Open Office Basic : indexes -Oracle Open Office Basic : indexes;backgrounds -Oracle Open Office Basic : indexes;showing/hiding Help index tab -Oracle Open Office Basic : indicator lines in text -Oracle Open Office Basic : inner joins (Base) -Oracle Open Office Basic : input method window -Oracle Open Office Basic : Input statement -Oracle Open Office Basic : InputBox function -Oracle Open Office Basic : insert mode for entering text -Oracle Open Office Basic : inserting -Oracle Open Office Basic : inserting;Basic libraries -Oracle Open Office Basic : inserting;buttons in toolbars -Oracle Open Office Basic : inserting;cell ranges from spreadsheets -Oracle Open Office Basic : inserting;charts -Oracle Open Office Basic : inserting;clipboard options -Oracle Open Office Basic : inserting;comments -Oracle Open Office Basic : inserting;data from text documents -Oracle Open Office Basic : inserting;datasource records in spreadsheets -Oracle Open Office Basic : inserting;drawings -Oracle Open Office Basic : inserting;floating frames -Oracle Open Office Basic : inserting;Fontwork objects -Oracle Open Office Basic : inserting;form fields -Oracle Open Office Basic : inserting;hyperlinks -Oracle Open Office Basic : inserting;line breaks in cells -Oracle Open Office Basic : inserting;movies/sounds -Oracle Open Office Basic : inserting;new text tables defaults -Oracle Open Office Basic : inserting;objects from Gallery -Oracle Open Office Basic : inserting;OLE objects -Oracle Open Office Basic : inserting;paragraph borders -Oracle Open Office Basic : inserting;paragraph bullets -Oracle Open Office Basic : inserting;pictures in Gallery -Oracle Open Office Basic : inserting;plug-ins -Oracle Open Office Basic : inserting;push buttons -Oracle Open Office Basic : inserting;special characters -Oracle Open Office Basic : inserting;tab stops -Oracle Open Office Basic : inserting;textures on chart bars -Oracle Open Office Basic : installing -Oracle Open Office Basic : installing;ActiveX control -Oracle Open Office Basic : installing;mobile device filters -Oracle Open Office Basic : installing;UNO components -Oracle Open Office Basic : installing;XML filters -Oracle Open Office Basic : InStr function -Oracle Open Office Basic : instructions -Oracle Open Office Basic : instructions;general -Oracle Open Office Basic : Int function -Oracle Open Office Basic : Internet -Oracle Open Office Basic : Internet;checking for updates -Oracle Open Office Basic : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Basic : Internet;presentations -Oracle Open Office Basic : Internet;starting searches -Oracle Open Office Basic : Internet glossary -Oracle Open Office Basic : invert filter -Oracle Open Office Basic : invisible areas -Oracle Open Office Basic : IsArray function -Oracle Open Office Basic : IsDate function -Oracle Open Office Basic : IsEmpty function -Oracle Open Office Basic : IsError function -Oracle Open Office Basic : IsMissing function -Oracle Open Office Basic : IsNull function -Oracle Open Office Basic : IsNumeric function -Oracle Open Office Basic : IsObject function -Oracle Open Office Basic : IsUnoStruct function -Oracle Open Office Basic : italic text -Oracle Open Office Basic : iterative references in spreadsheets -Oracle Open Office Basic : Java -Oracle Open Office Basic : Java;definition -Oracle Open Office Basic : Java;setting options -Oracle Open Office Basic : JDBC -Oracle Open Office Basic : JDBC;databases (Base) -Oracle Open Office Basic : JDBC;definition -Oracle Open Office Basic : Join function -Oracle Open Office Basic : joining -Oracle Open Office Basic : joining;paragraphs -Oracle Open Office Basic : joining;tables (Base) -Oracle Open Office Basic : joins in databases (Base) -Oracle Open Office Basic : justifying text -Oracle Open Office Basic : kerning -Oracle Open Office Basic : kerning;Asian texts -Oracle Open Office Basic : kerning;definition -Oracle Open Office Basic : kerning;in characters -Oracle Open Office Basic : key fields for relations (Base) -Oracle Open Office Basic : keyboard -Oracle Open Office Basic : keyboard;assigning/editing shortcut keys -Oracle Open Office Basic : keyboard;general commands -Oracle Open Office Basic : keyboard;in IDE -Oracle Open Office Basic : keyboard;removing numbering -Oracle Open Office Basic : keys -Oracle Open Office Basic : keys;adding push buttons -Oracle Open Office Basic : keys;primary keys (Base) -Oracle Open Office Basic : Kill statement -Oracle Open Office Basic : kiosk export -Oracle Open Office Basic : label field control -Oracle Open Office Basic : labels -Oracle Open Office Basic : labels;creating and synchronizing -Oracle Open Office Basic : labels;for draw objects -Oracle Open Office Basic : labels;form functions -Oracle Open Office Basic : labels;from databases -Oracle Open Office Basic : labels, see also names/callouts -Oracle Open Office Basic : languages -Oracle Open Office Basic : languages;activating modules -Oracle Open Office Basic : languages;Asian support -Oracle Open Office Basic : languages;complex text layout -Oracle Open Office Basic : languages;locale settings -Oracle Open Office Basic : languages;selecting for text -Oracle Open Office Basic : languages;setting options -Oracle Open Office Basic : languages;spellcheck -Oracle Open Office Basic : languages;spellchecking and formatting -Oracle Open Office Basic : large handles (Writer) -Oracle Open Office Basic : large icons -Oracle Open Office Basic : layer arrangement -Oracle Open Office Basic : layout -Oracle Open Office Basic : layout;importing Word documents -Oracle Open Office Basic : layout;pages -Oracle Open Office Basic : LBound function -Oracle Open Office Basic : LCase function -Oracle Open Office Basic : LDAP server -Oracle Open Office Basic : LDAP server;address books (Base) -Oracle Open Office Basic : LDAP server;sign on options -Oracle Open Office Basic : leading between paragraphs -Oracle Open Office Basic : left alignment of paragraphs -Oracle Open Office Basic : Left function -Oracle Open Office Basic : left joins (Base) -Oracle Open Office Basic : legends -Oracle Open Office Basic : legends;charts -Oracle Open Office Basic : legends;draw objects -Oracle Open Office Basic : legends;rounding corners -Oracle Open Office Basic : Len function -Oracle Open Office Basic : Let statement -Oracle Open Office Basic : Letter Wizard -Oracle Open Office Basic : levels -Oracle Open Office Basic : levels;depth stagger -Oracle Open Office Basic : levels;macro security -Oracle Open Office Basic : libraries -Oracle Open Office Basic : libraries;adding -Oracle Open Office Basic : libraries;organizing -Oracle Open Office Basic : library systems -Oracle Open Office Basic : LibraryContainer -Oracle Open Office Basic : limits of tables (Writer) -Oracle Open Office Basic : line breaks -Oracle Open Office Basic : line breaks;in cells -Oracle Open Office Basic : line control -Oracle Open Office Basic : Line Input statement -Oracle Open Office Basic : line spacing -Oracle Open Office Basic : line spacing;context menu in paragraphs -Oracle Open Office Basic : line spacing;paragraph -Oracle Open Office Basic : line styles -Oracle Open Office Basic : line styles;applying -Oracle Open Office Basic : line styles;defining -Oracle Open Office Basic : lines -Oracle Open Office Basic : lines;defining ends -Oracle Open Office Basic : lines;draw functions -Oracle Open Office Basic : lines;drawing in text -Oracle Open Office Basic : lines;editing points -Oracle Open Office Basic : lines;removing automatic lines -Oracle Open Office Basic : lines of text -Oracle Open Office Basic : lines of text;alignment -Oracle Open Office Basic : lines of text;in Basic editor -Oracle Open Office Basic : links -Oracle Open Office Basic : links;between cells and controls -Oracle Open Office Basic : links;by drag and drop -Oracle Open Office Basic : links;character formats -Oracle Open Office Basic : links;definition -Oracle Open Office Basic : links;editing hyperlinks -Oracle Open Office Basic : links;inserting -Oracle Open Office Basic : links;modifying -Oracle Open Office Basic : links;opening files with -Oracle Open Office Basic : links;relational databases (Base) -Oracle Open Office Basic : links;turning off automatic recognition -Oracle Open Office Basic : links;updating options (Writer) -Oracle Open Office Basic : links;updating specific links -Oracle Open Office Basic : list box creation -Oracle Open Office Basic : list boxes -Oracle Open Office Basic : list boxes;adding entries to (example) -Oracle Open Office Basic : list boxes;controls -Oracle Open Office Basic : list boxes;removing entries from (example) -Oracle Open Office Basic : lists -Oracle Open Office Basic : lists;data assigned to controls -Oracle Open Office Basic : lists;registered databases (Base) -Oracle Open Office Basic : lists;regular expressions -Oracle Open Office Basic : live presentations on the Internet -Oracle Open Office Basic : loading -Oracle Open Office Basic : loading;Basic code -Oracle Open Office Basic : loading;documents -Oracle Open Office Basic : loading;documents from other formats -Oracle Open Office Basic : loading;HTML documents, automatically -Oracle Open Office Basic : loading;Microsoft Office documents with VBA code -Oracle Open Office Basic : loading;reloading -Oracle Open Office Basic : loading;XML files -Oracle Open Office Basic : Loc function -Oracle Open Office Basic : locale settings -Oracle Open Office Basic : localizing dialogs -Oracle Open Office Basic : Lof function -Oracle Open Office Basic : Log function -Oracle Open Office Basic : long lines -Oracle Open Office Basic : long lines;in Basic editor -Oracle Open Office Basic : loops -Oracle Open Office Basic : lowercase letters -Oracle Open Office Basic : lowercase letters;font effects -Oracle Open Office Basic : LSet statement -Oracle Open Office Basic : LTrim function -Oracle Open Office Basic : macro toolbar -Oracle Open Office Basic : Macro Wizard (Base) -Oracle Open Office Basic : macros -Oracle Open Office Basic : macros;assigning to events -Oracle Open Office Basic : macros;assigning to events in forms -Oracle Open Office Basic : macros;attaching new (Base) -Oracle Open Office Basic : macros;Basic IDE -Oracle Open Office Basic : macros;in MS Office documents -Oracle Open Office Basic : macros;interrupting -Oracle Open Office Basic : macros;organizing -Oracle Open Office Basic : macros;recording -Oracle Open Office Basic : macros;security -Oracle Open Office Basic : macros;security levels -Oracle Open Office Basic : macros;security warning dialog -Oracle Open Office Basic : macros;selecting security warnings -Oracle Open Office Basic : macros;stopping -Oracle Open Office Basic : magnifiers -Oracle Open Office Basic : margins -Oracle Open Office Basic : margins;pages -Oracle Open Office Basic : margins;setting with the mouse -Oracle Open Office Basic : margins;shadows -Oracle Open Office Basic : marking changes -Oracle Open Office Basic : marking, see selecting -Oracle Open Office Basic : masked field control -Oracle Open Office Basic : Math formula editor -Oracle Open Office Basic : measurement units -Oracle Open Office Basic : measurement units;changing on rulers -Oracle Open Office Basic : measurement units;converting -Oracle Open Office Basic : measurement units;selecting -Oracle Open Office Basic : Media Player window -Oracle Open Office Basic : menus -Oracle Open Office Basic : menus;activating context menus -Oracle Open Office Basic : menus;assigning macros -Oracle Open Office Basic : menus;customizing -Oracle Open Office Basic : merging -Oracle Open Office Basic : merging;documents -Oracle Open Office Basic : META tags -Oracle Open Office Basic : metrics -Oracle Open Office Basic : metrics;converting -Oracle Open Office Basic : metrics;document formatting (Writer) -Oracle Open Office Basic : metrics;in sheets -Oracle Open Office Basic : Microsoft Office -Oracle Open Office Basic : Microsoft Office;Access databases (base) -Oracle Open Office Basic : Microsoft Office;as default file format -Oracle Open Office Basic : Microsoft Office;document import restrictions -Oracle Open Office Basic : Microsoft Office;feature comparisons -Oracle Open Office Basic : Microsoft Office;importing password protected files -Oracle Open Office Basic : Microsoft Office;importing Word documents -Oracle Open Office Basic : Microsoft Office;importing/exporting VBA code -Oracle Open Office Basic : Microsoft Office;new users information -Oracle Open Office Basic : Microsoft Office;opening Microsoft documents -Oracle Open Office Basic : Microsoft Office;reassigning document types -Oracle Open Office Basic : Mid function -Oracle Open Office Basic : Mid statement -Oracle Open Office Basic : migrating macros (Base) -Oracle Open Office Basic : Minute function -Oracle Open Office Basic : MkDir statement -Oracle Open Office Basic : mobile device filters -Oracle Open Office Basic : MOD operator (mathematical) -Oracle Open Office Basic : models in XForms -Oracle Open Office Basic : modifying, see changing -Oracle Open Office Basic : module/dialog toggle -Oracle Open Office Basic : modules -Oracle Open Office Basic : modules;organizing -Oracle Open Office Basic : modules;subroutines and functions -Oracle Open Office Basic : Month function -Oracle Open Office Basic : more controls -Oracle Open Office Basic : mosaic filter -Oracle Open Office Basic : mouse -Oracle Open Office Basic : mouse;pointers when using drag and drop -Oracle Open Office Basic : mouse;positioning -Oracle Open Office Basic : movies -Oracle Open Office Basic : moving -Oracle Open Office Basic : moving;modules -Oracle Open Office Basic : moving;tab stops on ruler -Oracle Open Office Basic : moving;toolbars -Oracle Open Office Basic : moving;using guide lines in presentations -Oracle Open Office Basic : MS ADO interface (Base) -Oracle Open Office Basic : MsgBox function -Oracle Open Office Basic : MsgBox statement -Oracle Open Office Basic : multi-line titles in forms -Oracle Open Office Basic : multiple documents -Oracle Open Office Basic : multiple documents;opening -Oracle Open Office Basic : multiple selection -Oracle Open Office Basic : music -Oracle Open Office Basic : My Documents folder -Oracle Open Office Basic : My Documents folder;changing work directory -Oracle Open Office Basic : My Documents folder;opening -Oracle Open Office Basic : MySQL databases (Base) -Oracle Open Office Basic : Name statement -Oracle Open Office Basic : names -Oracle Open Office Basic : names;multi-line titles -Oracle Open Office Basic : names;objects -Oracle Open Office Basic : names of variables -Oracle Open Office Basic : names, see also labels/callouts -Oracle Open Office Basic : namespace organization in XForms -Oracle Open Office Basic : native SQL (Base) -Oracle Open Office Basic : navigating -Oracle Open Office Basic : navigating;in Basic projects -Oracle Open Office Basic : navigating;in documents -Oracle Open Office Basic : Navigation bar -Oracle Open Office Basic : Navigation bar;controls -Oracle Open Office Basic : Navigation bar;forms -Oracle Open Office Basic : Navigator -Oracle Open Office Basic : Navigator;comments -Oracle Open Office Basic : Navigator;contents as lists -Oracle Open Office Basic : Navigator;docking -Oracle Open Office Basic : Navigator;working with -Oracle Open Office Basic : network identity options -Oracle Open Office Basic : new databases -Oracle Open Office Basic : new documents -Oracle Open Office Basic : new lines in cells -Oracle Open Office Basic : new windows -Oracle Open Office Basic : Next statement -Oracle Open Office Basic : non-breaking dashes -Oracle Open Office Basic : non-breaking spaces (Writer) -Oracle Open Office Basic : non-printing characters (Writer) -Oracle Open Office Basic : Not operator (logical) -Oracle Open Office Basic : Nothing object -Oracle Open Office Basic : Now function -Oracle Open Office Basic : Null value -Oracle Open Office Basic : number formats -Oracle Open Office Basic : number formats;codes -Oracle Open Office Basic : number formats;formats -Oracle Open Office Basic : number formats;recognition in text tables -Oracle Open Office Basic : number of pages -Oracle Open Office Basic : number of sheets -Oracle Open Office Basic : number of tables -Oracle Open Office Basic : numbering -Oracle Open Office Basic : numbering;options -Oracle Open Office Basic : numbering;turning off -Oracle Open Office Basic : numbering;using automatically -Oracle Open Office Basic : numbers -Oracle Open Office Basic : numbers;date, time and currency formats -Oracle Open Office Basic : numbers;decimal places (Calc) -Oracle Open Office Basic : numerical field control -Oracle Open Office Basic : numerical fields in forms -Oracle Open Office Basic : objects -Oracle Open Office Basic : objects;always moveable (Impress/Draw) -Oracle Open Office Basic : objects;arranging within stacks -Oracle Open Office Basic : objects;copying when moving in presentations -Oracle Open Office Basic : objects;definition -Oracle Open Office Basic : objects;displaying in spreadsheets -Oracle Open Office Basic : objects;displaying in text documents -Oracle Open Office Basic : objects;editing -Oracle Open Office Basic : objects;inserting from Gallery -Oracle Open Office Basic : objects;inserting OLE objects -Oracle Open Office Basic : objects;moving and resizing with mouse -Oracle Open Office Basic : objects;naming -Oracle Open Office Basic : objects;opening -Oracle Open Office Basic : objects;quickly moving to -Oracle Open Office Basic : objects;titles and descriptions -Oracle Open Office Basic : Oct function -Oracle Open Office Basic : ODBC -Oracle Open Office Basic : ODBC;database (Base) -Oracle Open Office Basic : ODBC;definition -Oracle Open Office Basic : ODF file formats -Oracle Open Office Basic : Office -Oracle Open Office Basic : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Basic : OLE -Oracle Open Office Basic : OLE;definition -Oracle Open Office Basic : OLE objects -Oracle Open Office Basic : OLE objects;arranging within stacks -Oracle Open Office Basic : OLE objects;captions (Writer) -Oracle Open Office Basic : OLE objects;inserting -Oracle Open Office Basic : OLE objects;number of -Oracle Open Office Basic : OLE objects;protecting -Oracle Open Office Basic : On Error GoTo ... Resume statement -Oracle Open Office Basic : On...GoSub statement -Oracle Open Office Basic : On...GoTo statement -Oracle Open Office Basic : one and a half line spacing in text -Oracle Open Office Basic : online feedback options -Oracle Open Office Basic : online registration -Oracle Open Office Basic : online update options -Oracle Open Office Basic : online updates -Oracle Open Office Basic : online updates;checking automatically -Oracle Open Office Basic : online updates;checking manually -Oracle Open Office Basic : Open statement -Oracle Open Office Basic : Open/Save dialogs -Oracle Open Office Basic : OpenDocument file formats -Oracle Open Office Basic : OpenGL -Oracle Open Office Basic : OpenGL;definition -Oracle Open Office Basic : opening -Oracle Open Office Basic : opening;context menus -Oracle Open Office Basic : opening;database files -Oracle Open Office Basic : opening;dialog settings -Oracle Open Office Basic : opening;documents -Oracle Open Office Basic : opening;documents from other formats -Oracle Open Office Basic : opening;documents on WebDAV server -Oracle Open Office Basic : opening;files with links -Oracle Open Office Basic : opening;files, with placeholders -Oracle Open Office Basic : opening;forms -Oracle Open Office Basic : opening;Microsoft Office files -Oracle Open Office Basic : opening;mobile device documents -Oracle Open Office Basic : opening;objects -Oracle Open Office Basic : opening;reports -Oracle Open Office Basic : opening;several files -Oracle Open Office Basic : opening;XForms -Oracle Open Office Basic : operators -Oracle Open Office Basic : operators;comparisons -Oracle Open Office Basic : operators;default filters -Oracle Open Office Basic : Option Base statement -Oracle Open Office Basic : option button control -Oracle Open Office Basic : Option Explicit statement -Oracle Open Office Basic : Optional function -Oracle Open Office Basic : optional hyphens (Writer) -Oracle Open Office Basic : options -Oracle Open Office Basic : options;accessibility -Oracle Open Office Basic : options;appearance -Oracle Open Office Basic : options;compatibility (Writer) -Oracle Open Office Basic : options;improvement program -Oracle Open Office Basic : options;network identity -Oracle Open Office Basic : options;online update -Oracle Open Office Basic : options;tools -Oracle Open Office Basic : Or operator (logical) -Oracle Open Office Basic : Oracle databases (base) -Oracle Open Office Basic : Oracle Open Office Base data sources -Oracle Open Office Basic : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Basic : Oracle Open Office documents -Oracle Open Office Basic : Oracle Open Office documents;mobile device filters -Oracle Open Office Basic : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Basic : Oracle Open Office Math start -Oracle Open Office Basic : ordering -Oracle Open Office Basic : ordering;objects -Oracle Open Office Basic : organizing -Oracle Open Office Basic : organizing;macros and scripts -Oracle Open Office Basic : organizing;modules/libraries/dialogs -Oracle Open Office Basic : organizing;namespaces in XForms -Oracle Open Office Basic : organizing;styles -Oracle Open Office Basic : organizing;templates -Oracle Open Office Basic : original size -Oracle Open Office Basic : original size;printing in Oracle Open Office Math -Oracle Open Office Basic : original size;restoring after cropping -Oracle Open Office Basic : outlines -Oracle Open Office Basic : outlines;font effects -Oracle Open Office Basic : outlines;outline symbols -Oracle Open Office Basic : outlines;sending to presentations -Oracle Open Office Basic : overwrite mode -Oracle Open Office Basic : packages, see extensions -Oracle Open Office Basic : page breaks -Oracle Open Office Basic : page breaks;displaying (Calc) -Oracle Open Office Basic : page formats -Oracle Open Office Basic : page formats;maximizing -Oracle Open Office Basic : page formats;restriction -Oracle Open Office Basic : page styles -Oracle Open Office Basic : page styles;editing/applying with statusbar -Oracle Open Office Basic : pages -Oracle Open Office Basic : pages;backgrounds in all applications -Oracle Open Office Basic : pages;formatting and numbering -Oracle Open Office Basic : pages;printing page names in presentations -Oracle Open Office Basic : pages;scaling -Oracle Open Office Basic : pages;selecting one to print -Oracle Open Office Basic : paint box -Oracle Open Office Basic : paint can symbol -Oracle Open Office Basic : pair kerning -Oracle Open Office Basic : Palm file filters -Oracle Open Office Basic : paper formats -Oracle Open Office Basic : paper size warning -Oracle Open Office Basic : paper trays -Oracle Open Office Basic : paragraph marks -Oracle Open Office Basic : paragraph marks;displaying (Writer) -Oracle Open Office Basic : paragraph styles -Oracle Open Office Basic : paragraph styles;languages -Oracle Open Office Basic : paragraph styles;modifying basic fonts -Oracle Open Office Basic : paragraphs -Oracle Open Office Basic : paragraphs;alignment -Oracle Open Office Basic : paragraphs;Asian typography -Oracle Open Office Basic : paragraphs;defining borders -Oracle Open Office Basic : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Basic : paragraphs;increasing indents of -Oracle Open Office Basic : paragraphs;indents, margins and columns -Oracle Open Office Basic : paragraphs;inserting bullets -Oracle Open Office Basic : paragraphs;joining -Oracle Open Office Basic : paragraphs;numbering automatically -Oracle Open Office Basic : paragraphs;removing blank ones -Oracle Open Office Basic : paragraphs;spacing -Oracle Open Office Basic : paragraphs;tab stops -Oracle Open Office Basic : parameters -Oracle Open Office Basic : parameters;command line -Oracle Open Office Basic : parameters;for procedures and functions -Oracle Open Office Basic : parameters;passing by reference or value -Oracle Open Office Basic : parameters;queries (Base) -Oracle Open Office Basic : passwords for protecting contents -Oracle Open Office Basic : pasting -Oracle Open Office Basic : pasting;cell ranges -Oracle Open Office Basic : pasting;cell ranges from spreadsheets -Oracle Open Office Basic : pasting;data from text documents -Oracle Open Office Basic : pasting;draw objects -Oracle Open Office Basic : pasting;draw objects from other documents -Oracle Open Office Basic : pasting;formatted/unformatted text -Oracle Open Office Basic : pasting;from data source view -Oracle Open Office Basic : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Basic : pasting;pictures from other documents -Oracle Open Office Basic : pasting;sheet areas in text documents -Oracle Open Office Basic : pasting;to Gallery -Oracle Open Office Basic : paths -Oracle Open Office Basic : paths;changing work directory -Oracle Open Office Basic : paths;defaults -Oracle Open Office Basic : pattern editor -Oracle Open Office Basic : pattern field control -Oracle Open Office Basic : pattern fields -Oracle Open Office Basic : pattern fields;form functions -Oracle Open Office Basic : patterns for objects -Oracle Open Office Basic : PDF -Oracle Open Office Basic : PDF;export -Oracle Open Office Basic : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Basic : personal data input -Oracle Open Office Basic : phonetic guide -Oracle Open Office Basic : picklist creation -Oracle Open Office Basic : pictures -Oracle Open Office Basic : pictures;adding to Gallery -Oracle Open Office Basic : pictures;arranging within stacks -Oracle Open Office Basic : pictures;assigning macros -Oracle Open Office Basic : pictures;backgrounds -Oracle Open Office Basic : pictures;captions (Writer) -Oracle Open Office Basic : pictures;changing paths -Oracle Open Office Basic : pictures;cropping and zooming -Oracle Open Office Basic : pictures;displaying in Calc -Oracle Open Office Basic : pictures;displaying in Writer (Writer) -Oracle Open Office Basic : pictures;drag and drop between documents -Oracle Open Office Basic : pictures;drawing -Oracle Open Office Basic : pictures;editing -Oracle Open Office Basic : pictures;filters -Oracle Open Office Basic : pictures;ImageMap -Oracle Open Office Basic : pictures;inserting automatically -Oracle Open Office Basic : pictures;inserting from Gallery -Oracle Open Office Basic : pictures;number of -Oracle Open Office Basic : pictures;printing -Oracle Open Office Basic : pictures;scaling/resizing -Oracle Open Office Basic : pixel editor -Oracle Open Office Basic : pixel graphics -Oracle Open Office Basic : pixel graphics;inserting and editing -Oracle Open Office Basic : pixel patterns -Oracle Open Office Basic : placeholders -Oracle Open Office Basic : placeholders;in SQL queries -Oracle Open Office Basic : placeholders;on opening files -Oracle Open Office Basic : placing toolbars -Oracle Open Office Basic : playing movies and sound files -Oracle Open Office Basic : plotting data as charts -Oracle Open Office Basic : plug-ins -Oracle Open Office Basic : plug-ins;activating and deactivating -Oracle Open Office Basic : plug-ins;definition -Oracle Open Office Basic : plug-ins;inserting -Oracle Open Office Basic : pocket device appliances -Oracle Open Office Basic : Pocket PC file filters -Oracle Open Office Basic : points -Oracle Open Office Basic : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Basic : polygon drawing -Oracle Open Office Basic : pop-art filter -Oracle Open Office Basic : portable document format -Oracle Open Office Basic : positioning -Oracle Open Office Basic : positioning;draw objects and controls -Oracle Open Office Basic : positioning;fonts -Oracle Open Office Basic : positioning;objects -Oracle Open Office Basic : positioning;toolbars -Oracle Open Office Basic : post method for form transmissions -Oracle Open Office Basic : posterizing filter -Oracle Open Office Basic : PostScript -Oracle Open Office Basic : PostScript;creating files -Oracle Open Office Basic : PostScript;PDF converter, UNIX -Oracle Open Office Basic : PowerPoint export -Oracle Open Office Basic : precision as shown (Calc) -Oracle Open Office Basic : predefining fonts -Oracle Open Office Basic : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Basic : presentations -Oracle Open Office Basic : presentations;creating/opening -Oracle Open Office Basic : presentations;inserting spreadsheet cells -Oracle Open Office Basic : presentations;live on the Internet -Oracle Open Office Basic : presentations;print menu -Oracle Open Office Basic : presentations;saving -Oracle Open Office Basic : presentations;saving automatically -Oracle Open Office Basic : presentations;saving in other formats -Oracle Open Office Basic : presentations;sending as e-mail -Oracle Open Office Basic : presentations;starting with wizard -Oracle Open Office Basic : presentations;wizards -Oracle Open Office Basic : Presenter Console shortcuts -Oracle Open Office Basic : press buttons, see push buttons -Oracle Open Office Basic : previews -Oracle Open Office Basic : previews;fonts lists -Oracle Open Office Basic : primary keys -Oracle Open Office Basic : primary keys;defining -Oracle Open Office Basic : primary keys;design view -Oracle Open Office Basic : primary keys;inserting (Base) -Oracle Open Office Basic : print area selection -Oracle Open Office Basic : Print statement -Oracle Open Office Basic : printer metrics for document formatting (Writer) -Oracle Open Office Basic : printers -Oracle Open Office Basic : printers;adding, UNIX -Oracle Open Office Basic : printers;choosing -Oracle Open Office Basic : printers;default printer -Oracle Open Office Basic : printers;faxes under UNIX -Oracle Open Office Basic : printers;maximum page formats -Oracle Open Office Basic : printers;paper trays -Oracle Open Office Basic : printers;properties -Oracle Open Office Basic : printing -Oracle Open Office Basic : printing;black and white -Oracle Open Office Basic : printing;brochures -Oracle Open Office Basic : printing;colors in grayscale -Oracle Open Office Basic : printing;comments -Oracle Open Office Basic : printing;copies -Oracle Open Office Basic : printing;creating individual jobs -Oracle Open Office Basic : printing;dates in presentations -Oracle Open Office Basic : printing;directly -Oracle Open Office Basic : printing;documents -Oracle Open Office Basic : printing;drawings defaults -Oracle Open Office Basic : printing;elements in text documents -Oracle Open Office Basic : printing;faster -Oracle Open Office Basic : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Basic : printing;fitting to pages in presentations -Oracle Open Office Basic : printing;formulas in Oracle Open Office Math -Oracle Open Office Basic : printing;hidden pages of presentations -Oracle Open Office Basic : printing;in original size in Oracle Open Office Math -Oracle Open Office Basic : printing;left/right pages -Oracle Open Office Basic : printing;queries (Base) -Oracle Open Office Basic : printing;scaling in Oracle Open Office Math -Oracle Open Office Basic : printing;selections -Oracle Open Office Basic : printing;text always in black -Oracle Open Office Basic : printing;text in reverse order -Oracle Open Office Basic : printing;tiling pages in presentations -Oracle Open Office Basic : printing;transparencies -Oracle Open Office Basic : printing;warnings -Oracle Open Office Basic : printing;without scaling in presentations -Oracle Open Office Basic : printing speed -Oracle Open Office Basic : PRIVATE variables -Oracle Open Office Basic : procedures -Oracle Open Office Basic : ProcessServiceManager -Oracle Open Office Basic : program stops -Oracle Open Office Basic : programming -Oracle Open Office Basic : programming;Oracle Open Office -Oracle Open Office Basic : programming;scripting -Oracle Open Office Basic : programming examples for controls -Oracle Open Office Basic : progress bar control -Oracle Open Office Basic : properties -Oracle Open Office Basic : properties;controls and dialogs -Oracle Open Office Basic : properties;controls in dialog editor -Oracle Open Office Basic : properties;fields in databases -Oracle Open Office Basic : properties;files -Oracle Open Office Basic : properties;form controls -Oracle Open Office Basic : properties;forms -Oracle Open Office Basic : properties;printers -Oracle Open Office Basic : protected contents -Oracle Open Office Basic : protected dashes -Oracle Open Office Basic : protected database tables -Oracle Open Office Basic : protected documents -Oracle Open Office Basic : protected spaces -Oracle Open Office Basic : protected spaces;inserting -Oracle Open Office Basic : protected spaces;showing (Writer) -Oracle Open Office Basic : protecting -Oracle Open Office Basic : protecting;contents -Oracle Open Office Basic : protecting;recorded changes -Oracle Open Office Basic : proxy settings -Oracle Open Office Basic : Public statement -Oracle Open Office Basic : PUBLIC variables -Oracle Open Office Basic : push button control in dialog editor -Oracle Open Office Basic : push buttons -Oracle Open Office Basic : push buttons;adding to documents -Oracle Open Office Basic : push buttons;creating -Oracle Open Office Basic : Put statement -Oracle Open Office Basic : queries -Oracle Open Office Basic : queries;copying (Base) -Oracle Open Office Basic : queries;creating in design view (Base) -Oracle Open Office Basic : queries;creating in SQL view -Oracle Open Office Basic : queries;defining (Base) -Oracle Open Office Basic : queries;deleting table links (Base) -Oracle Open Office Basic : queries;editing in data source view -Oracle Open Office Basic : queries;formulating filter conditions (Base) -Oracle Open Office Basic : queries;joining tables (Base) -Oracle Open Office Basic : queries;missing elements (Base) -Oracle Open Office Basic : queries;overview (Base) -Oracle Open Office Basic : queries;parameter queries (Base) -Oracle Open Office Basic : queries;printing (Base) -Oracle Open Office Basic : Query Wizard (Base) -Oracle Open Office Basic : Quickstarter -Oracle Open Office Basic : quotation marks -Oracle Open Office Basic : quotation marks;replacing -Oracle Open Office Basic : quotes -Oracle Open Office Basic : quotes;custom -Oracle Open Office Basic : radio button control -Oracle Open Office Basic : radio button creation -Oracle Open Office Basic : Randomize statement -Oracle Open Office Basic : read-only documents -Oracle Open Office Basic : read-only documents;cursor -Oracle Open Office Basic : read-only documents;database tables on/off -Oracle Open Office Basic : read-only documents;editing -Oracle Open Office Basic : read-only documents;opening documents as -Oracle Open Office Basic : read-only items in Data Navigator -Oracle Open Office Basic : recognizing URLs automatically -Oracle Open Office Basic : recording -Oracle Open Office Basic : recording;changes -Oracle Open Office Basic : recording;macros -Oracle Open Office Basic : records -Oracle Open Office Basic : records;inserting comments -Oracle Open Office Basic : records;protecting -Oracle Open Office Basic : records;saving -Oracle Open Office Basic : records;searching in databases -Oracle Open Office Basic : rectangles with round corners -Oracle Open Office Basic : recursions in spreadsheets -Oracle Open Office Basic : Red function -Oracle Open Office Basic : ReDim statement -Oracle Open Office Basic : redo command -Oracle Open Office Basic : reduced printing -Oracle Open Office Basic : reference lines -Oracle Open Office Basic : references -Oracle Open Office Basic : references;displaying in color (Calc) -Oracle Open Office Basic : references;expanding (Calc) -Oracle Open Office Basic : references;iterative (Calc) -Oracle Open Office Basic : register-true -Oracle Open Office Basic : register-true;definition -Oracle Open Office Basic : registering -Oracle Open Office Basic : registering;address books -Oracle Open Office Basic : registering;databases (Base) -Oracle Open Office Basic : registering;Oracle Open Office -Oracle Open Office Basic : regular expressions -Oracle Open Office Basic : regular expressions;list of -Oracle Open Office Basic : regular expressions;opening files -Oracle Open Office Basic : relational databases (Base) -Oracle Open Office Basic : relations -Oracle Open Office Basic : relations;creating and deleting (Base) -Oracle Open Office Basic : relations;joining tables (Base) -Oracle Open Office Basic : relations;properties (Base) -Oracle Open Office Basic : relative hyperlinks -Oracle Open Office Basic : relative saving of URLs -Oracle Open Office Basic : reloading -Oracle Open Office Basic : reloading;documents -Oracle Open Office Basic : reloading;HTML documents, automatically -Oracle Open Office Basic : Rem statement -Oracle Open Office Basic : remarks, see also comments -Oracle Open Office Basic : remote configurations -Oracle Open Office Basic : remove noise filter -Oracle Open Office Basic : removing -Oracle Open Office Basic : removing;bullets and numbering -Oracle Open Office Basic : removing;form filters -Oracle Open Office Basic : removing, see also deleting -Oracle Open Office Basic : renaming modules and dialogs -Oracle Open Office Basic : repeating -Oracle Open Office Basic : repeating;commands -Oracle Open Office Basic : replacement options -Oracle Open Office Basic : replacement table -Oracle Open Office Basic : replacing -Oracle Open Office Basic : replacing;AutoCorrect function -Oracle Open Office Basic : replacing;dashes -Oracle Open Office Basic : replacing;tab stops (regular expressions) -Oracle Open Office Basic : Report Builder -Oracle Open Office Basic : reports -Oracle Open Office Basic : reports;creating -Oracle Open Office Basic : reports;error reports -Oracle Open Office Basic : reports;opening and editing -Oracle Open Office Basic : reports;templates -Oracle Open Office Basic : Reset statement -Oracle Open Office Basic : resetting -Oracle Open Office Basic : resetting;templates -Oracle Open Office Basic : resizing -Oracle Open Office Basic : resizing;objects, by mouse -Oracle Open Office Basic : resizing, see also scaling/zooming -Oracle Open Office Basic : resolution when printing bitmaps -Oracle Open Office Basic : restoring -Oracle Open Office Basic : restoring;default formatting -Oracle Open Office Basic : restoring;editing -Oracle Open Office Basic : Resume Next parameter -Oracle Open Office Basic : return value type of functions -Oracle Open Office Basic : reversing printing order -Oracle Open Office Basic : review function -Oracle Open Office Basic : review function;accepting or rejecting changes -Oracle Open Office Basic : review function;comparing documents -Oracle Open Office Basic : review function;protecting records -Oracle Open Office Basic : review function;recording changes example -Oracle Open Office Basic : rich text control -Oracle Open Office Basic : right alignment of paragraphs -Oracle Open Office Basic : Right function -Oracle Open Office Basic : right joins (Base) -Oracle Open Office Basic : right-to-left text -Oracle Open Office Basic : RmDir statement -Oracle Open Office Basic : Rnd function -Oracle Open Office Basic : rotating -Oracle Open Office Basic : rotating;3D text -Oracle Open Office Basic : round corners -Oracle Open Office Basic : rounding precision (Calc) -Oracle Open Office Basic : row headers -Oracle Open Office Basic : row headers;displaying (Calc) -Oracle Open Office Basic : row headers;highlighting (Calc) -Oracle Open Office Basic : RSet statement -Oracle Open Office Basic : RTrim function -Oracle Open Office Basic : rulers -Oracle Open Office Basic : rulers;default settings -Oracle Open Office Basic : rulers;measurement units -Oracle Open Office Basic : rulers;visible in presentations -Oracle Open Office Basic : run-time errors in Basic -Oracle Open Office Basic : samples and templates -Oracle Open Office Basic : saving -Oracle Open Office Basic : saving;Basic code -Oracle Open Office Basic : saving;default file formats -Oracle Open Office Basic : saving;dialog settings -Oracle Open Office Basic : saving;documents -Oracle Open Office Basic : saving;documents for mobile devices -Oracle Open Office Basic : saving;documents in other formats -Oracle Open Office Basic : saving;documents, automatically -Oracle Open Office Basic : saving;in Microsoft Office file format -Oracle Open Office Basic : saving;options -Oracle Open Office Basic : saving;templates -Oracle Open Office Basic : saving;to XML -Oracle Open Office Basic : saving;VBA code in Microsoft Office documents -Oracle Open Office Basic : saving;with password by default -Oracle Open Office Basic : saving as command -Oracle Open Office Basic : saving as command;precautions -Oracle Open Office Basic : scaling -Oracle Open Office Basic : scaling;font sizes in user interface -Oracle Open Office Basic : scaling;objects -Oracle Open Office Basic : scaling;pictures -Oracle Open Office Basic : scaling;printing in Oracle Open Office Math -Oracle Open Office Basic : scaling;when printing presentations -Oracle Open Office Basic : scaling, see also zooming -Oracle Open Office Basic : scope of variables -Oracle Open Office Basic : screen -Oracle Open Office Basic : screen;full screen views -Oracle Open Office Basic : screen;scaling -Oracle Open Office Basic : screen magnifiers -Oracle Open Office Basic : screen readers -Oracle Open Office Basic : script organization -Oracle Open Office Basic : scroll bar control -Oracle Open Office Basic : scrollbars -Oracle Open Office Basic : scrollbars;controls -Oracle Open Office Basic : scrollbars;displaying (Calc) -Oracle Open Office Basic : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Basic : search criteria for database functions in cells -Oracle Open Office Basic : search engines -Oracle Open Office Basic : search engines;definition -Oracle Open Office Basic : search engines;selecting -Oracle Open Office Basic : searching -Oracle Open Office Basic : searching;all sheets -Oracle Open Office Basic : searching;databases -Oracle Open Office Basic : searching;form filters -Oracle Open Office Basic : searching;Internet -Oracle Open Office Basic : searching;tables and forms -Oracle Open Office Basic : Second function -Oracle Open Office Basic : sections -Oracle Open Office Basic : sections;backgrounds -Oracle Open Office Basic : security -Oracle Open Office Basic : security;digital signatures -Oracle Open Office Basic : security;options for documents with macros -Oracle Open Office Basic : security;protecting contents -Oracle Open Office Basic : security;security levels for macros -Oracle Open Office Basic : security;warning dialogs with macros -Oracle Open Office Basic : Seek function -Oracle Open Office Basic : Seek statement -Oracle Open Office Basic : Select...Case statement -Oracle Open Office Basic : selecting -Oracle Open Office Basic : selecting;controls -Oracle Open Office Basic : selecting;measurement units -Oracle Open Office Basic : selecting;objects -Oracle Open Office Basic : selecting;print areas -Oracle Open Office Basic : selecting;several files -Oracle Open Office Basic : selection clipboard -Oracle Open Office Basic : selection frames -Oracle Open Office Basic : selection modes in text -Oracle Open Office Basic : selection options for controls -Oracle Open Office Basic : sending -Oracle Open Office Basic : sending;AutoAbstract function in presentations -Oracle Open Office Basic : sending;documents as e-mail -Oracle Open Office Basic : sending;documents as faxes -Oracle Open Office Basic : separator lines -Oracle Open Office Basic : separator lines;defining -Oracle Open Office Basic : separators -Oracle Open Office Basic : separators;conditional -Oracle Open Office Basic : Server Side ImageMap -Oracle Open Office Basic : Set statement -Oracle Open Office Basic : SetAttr statement -Oracle Open Office Basic : settings -Oracle Open Office Basic : settings;printers -Oracle Open Office Basic : settings;program configuration -Oracle Open Office Basic : settings;proxies -Oracle Open Office Basic : settings;tracking changes -Oracle Open Office Basic : settings;views -Oracle Open Office Basic : SGML -Oracle Open Office Basic : SGML;definition -Oracle Open Office Basic : Sgn function -Oracle Open Office Basic : shadows -Oracle Open Office Basic : shadows;areas -Oracle Open Office Basic : shadows;borders -Oracle Open Office Basic : shadows;characters -Oracle Open Office Basic : shadows;characters, using context menu -Oracle Open Office Basic : sharing documents -Oracle Open Office Basic : sharpening filter -Oracle Open Office Basic : sheet tabs -Oracle Open Office Basic : sheet tabs;displaying -Oracle Open Office Basic : sheets -Oracle Open Office Basic : sheets;searching all -Oracle Open Office Basic : Shell function -Oracle Open Office Basic : shortcut keys -Oracle Open Office Basic : shortcut keys;assigning macros -Oracle Open Office Basic : shortcut keys;Basic IDE -Oracle Open Office Basic : shortcut keys;general -Oracle Open Office Basic : shortcut keys;in databases -Oracle Open Office Basic : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Basic : showing -Oracle Open Office Basic : showing;changes -Oracle Open Office Basic : showing;docked windows -Oracle Open Office Basic : showing;drawings and controls (Writer) -Oracle Open Office Basic : showing;live presentations on the Internet -Oracle Open Office Basic : showing;toolbars -Oracle Open Office Basic : signing documents with digital signatures -Oracle Open Office Basic : similarity search -Oracle Open Office Basic : simple handles (Writer) -Oracle Open Office Basic : simplified Chinese -Oracle Open Office Basic : simplified Chinese;translating to traditional Chinese -Oracle Open Office Basic : Sin function -Oracle Open Office Basic : single sign on options -Oracle Open Office Basic : single-line spacing in text -Oracle Open Office Basic : sizes -Oracle Open Office Basic : sizes;draw objects -Oracle Open Office Basic : sizes;pictures -Oracle Open Office Basic : slanting draw objects -Oracle Open Office Basic : small capitals -Oracle Open Office Basic : small icons -Oracle Open Office Basic : smart tag configuration -Oracle Open Office Basic : smooth scrolling (Writer) -Oracle Open Office Basic : smoothing filter -Oracle Open Office Basic : snap grid defaults (Writer/Calc) -Oracle Open Office Basic : snapping in presentations and drawings -Oracle Open Office Basic : solarization filter -Oracle Open Office Basic : sort lists -Oracle Open Office Basic : sort lists;copying to in Calc -Oracle Open Office Basic : sorting -Oracle Open Office Basic : sorting;data in forms -Oracle Open Office Basic : sorting;databases -Oracle Open Office Basic : sound files -Oracle Open Office Basic : Space function -Oracle Open Office Basic : spaces -Oracle Open Office Basic : spaces;displaying (Writer) -Oracle Open Office Basic : spaces;ignoring double -Oracle Open Office Basic : spaces;inserting protected spaces -Oracle Open Office Basic : spaces;showing protected spaces (Writer) -Oracle Open Office Basic : spacing -Oracle Open Office Basic : spacing;between paragraphs in footnotes -Oracle Open Office Basic : spacing;font effects -Oracle Open Office Basic : spacing;lines and paragraphs -Oracle Open Office Basic : spacing;tab stops in text documents -Oracle Open Office Basic : spacing;tabs in presentations -Oracle Open Office Basic : spadmin -Oracle Open Office Basic : special characters -Oracle Open Office Basic : speech bubbles -Oracle Open Office Basic : speed of printing -Oracle Open Office Basic : spellcheck -Oracle Open Office Basic : spellcheck;activating for a language -Oracle Open Office Basic : spellcheck;context menus -Oracle Open Office Basic : spellcheck;default languages -Oracle Open Office Basic : spellcheck;dialog -Oracle Open Office Basic : spellcheck;dictionary of exceptions -Oracle Open Office Basic : spellcheck;ignore list -Oracle Open Office Basic : spin button creation -Oracle Open Office Basic : Split function -Oracle Open Office Basic : spoolfiles with Xprinter -Oracle Open Office Basic : spreadsheets -Oracle Open Office Basic : spreadsheets;as databases (base) -Oracle Open Office Basic : spreadsheets;copying areas to text documents -Oracle Open Office Basic : spreadsheets;creating/opening -Oracle Open Office Basic : spreadsheets;inserting charts -Oracle Open Office Basic : spreadsheets;inserting database records -Oracle Open Office Basic : spreadsheets;printing -Oracle Open Office Basic : spreadsheets;saving -Oracle Open Office Basic : spreadsheets;saving automatically -Oracle Open Office Basic : spreadsheets;saving in other formats -Oracle Open Office Basic : spreadsheets;sending as e-mail -Oracle Open Office Basic : SQL -Oracle Open Office Basic : SQL;definition -Oracle Open Office Basic : SQL;DISTINCT parameter -Oracle Open Office Basic : SQL;executing SQL commands -Oracle Open Office Basic : SQL;executing SQL statements (Base) -Oracle Open Office Basic : SQL;queries (Base) -Oracle Open Office Basic : Sqr function -Oracle Open Office Basic : square drawings -Oracle Open Office Basic : standard bar on/off -Oracle Open Office Basic : standard filters in databases -Oracle Open Office Basic : standard printer under UNIX -Oracle Open Office Basic : start center -Oracle Open Office Basic : start parameters -Oracle Open Office Basic : Static statement -Oracle Open Office Basic : status bar on/off -Oracle Open Office Basic : Step statement -Oracle Open Office Basic : stickers -Oracle Open Office Basic : Stop statement -Oracle Open Office Basic : stopping macros -Oracle Open Office Basic : Str function -Oracle Open Office Basic : StrComp function -Oracle Open Office Basic : strikethrough -Oracle Open Office Basic : strikethrough;characters -Oracle Open Office Basic : strikethrough;font effects -Oracle Open Office Basic : String function -Oracle Open Office Basic : styles -Oracle Open Office Basic : styles;'changed' message -Oracle Open Office Basic : styles;copying between documents -Oracle Open Office Basic : styles;keyboard shortcuts -Oracle Open Office Basic : styles;organizing -Oracle Open Office Basic : styles;printing styles used in a document -Oracle Open Office Basic : styles;replacing automatically -Oracle Open Office Basic : Styles and Formatting window -Oracle Open Office Basic : Styles and Formatting window;docking -Oracle Open Office Basic : Sub statement -Oracle Open Office Basic : subforms -Oracle Open Office Basic : subforms;creating -Oracle Open Office Basic : subforms;description -Oracle Open Office Basic : submitting forms -Oracle Open Office Basic : subroutines -Oracle Open Office Basic : suffixes in file formats -Oracle Open Office Basic : support on the Web -Oracle Open Office Basic : Switch function -Oracle Open Office Basic : synchronizing -Oracle Open Office Basic : synchronizing;labels and business cards -Oracle Open Office Basic : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Basic : system address book registration -Oracle Open Office Basic : tab stops -Oracle Open Office Basic : tab stops;displaying (Writer) -Oracle Open Office Basic : tab stops;inserting and editing -Oracle Open Office Basic : tab stops;regular expressions -Oracle Open Office Basic : tab stops;setting in sheets -Oracle Open Office Basic : tab stops;settings -Oracle Open Office Basic : tab stops;spacing in presentations -Oracle Open Office Basic : tab stops;spacing in text documents -Oracle Open Office Basic : table controls -Oracle Open Office Basic : table controls;form functions -Oracle Open Office Basic : table controls;keyboard-only edit mode -Oracle Open Office Basic : table controls;properties -Oracle Open Office Basic : table views of databases -Oracle Open Office Basic : Table Wizard (Base) -Oracle Open Office Basic : tables -Oracle Open Office Basic : tables;inserting line breaks -Oracle Open Office Basic : tables in databases -Oracle Open Office Basic : tables in databases;access rights to (Base) -Oracle Open Office Basic : tables in databases;adding to queries -Oracle Open Office Basic : tables in databases;browsing and editing -Oracle Open Office Basic : tables in databases;copying database tables (Base) -Oracle Open Office Basic : tables in databases;creating -Oracle Open Office Basic : tables in databases;creating in design view (manually) -Oracle Open Office Basic : tables in databases;importing text formats (Base) -Oracle Open Office Basic : tables in databases;joining for queries (Base) -Oracle Open Office Basic : tables in databases;printing queries (Base) -Oracle Open Office Basic : tables in databases;relations (Base) -Oracle Open Office Basic : tables in databases;searching -Oracle Open Office Basic : tables in spreadsheets -Oracle Open Office Basic : tables in spreadsheets;copying data to other applications -Oracle Open Office Basic : tables in spreadsheets;defining borders -Oracle Open Office Basic : tables in spreadsheets;value highlighting -Oracle Open Office Basic : tables in text -Oracle Open Office Basic : tables in text;captions -Oracle Open Office Basic : tables in text;creating automatically -Oracle Open Office Basic : tables in text;default settings -Oracle Open Office Basic : tables in text;defining borders -Oracle Open Office Basic : tables in text;displaying -Oracle Open Office Basic : tables in text;printing -Oracle Open Office Basic : tabs -Oracle Open Office Basic : tabs;displaying sheet tabs -Oracle Open Office Basic : tags -Oracle Open Office Basic : tags;definition -Oracle Open Office Basic : tags;META tags -Oracle Open Office Basic : Tan function -Oracle Open Office Basic : templates -Oracle Open Office Basic : templates;agendas -Oracle Open Office Basic : templates;changing basic fonts -Oracle Open Office Basic : templates;database reports -Oracle Open Office Basic : templates;deleting -Oracle Open Office Basic : templates;editing and saving -Oracle Open Office Basic : templates;faxes -Oracle Open Office Basic : templates;importing and exporting -Oracle Open Office Basic : templates;letters -Oracle Open Office Basic : templates;new documents from templates -Oracle Open Office Basic : templates;opening documents with -Oracle Open Office Basic : templates;organizing -Oracle Open Office Basic : terminology -Oracle Open Office Basic : terminology;general glossary -Oracle Open Office Basic : terminology;Internet glossary -Oracle Open Office Basic : test mode control -Oracle Open Office Basic : testing XML filters -Oracle Open Office Basic : text -Oracle Open Office Basic : text;animating -Oracle Open Office Basic : text;Asian layout -Oracle Open Office Basic : text;bold -Oracle Open Office Basic : text;coloring -Oracle Open Office Basic : text;copying by drag and drop -Oracle Open Office Basic : text;CTL languages -Oracle Open Office Basic : text;drawing pictures -Oracle Open Office Basic : text;font effects -Oracle Open Office Basic : text;font sizes -Oracle Open Office Basic : text;font styles -Oracle Open Office Basic : text;fonts and formats -Oracle Open Office Basic : text;Fontwork icons -Oracle Open Office Basic : text;hyperlinks -Oracle Open Office Basic : text;inserting special characters -Oracle Open Office Basic : text;italics -Oracle Open Office Basic : text;kerning -Oracle Open Office Basic : text;language selection -Oracle Open Office Basic : text;line spacing -Oracle Open Office Basic : text;overwriting or inserting -Oracle Open Office Basic : text;printing in black -Oracle Open Office Basic : text;replacing with format -Oracle Open Office Basic : text;selection modes -Oracle Open Office Basic : text;shadowed -Oracle Open Office Basic : text;text/draw objects -Oracle Open Office Basic : text attributes -Oracle Open Office Basic : text attributes;hyperlinks -Oracle Open Office Basic : text attributes;undoing -Oracle Open Office Basic : text boxes -Oracle Open Office Basic : text boxes;controls -Oracle Open Office Basic : text boxes;form functions -Oracle Open Office Basic : text boxes;positioning -Oracle Open Office Basic : text breaks in cells -Oracle Open Office Basic : text colors for better accessibility -Oracle Open Office Basic : text databases (Base) -Oracle Open Office Basic : text documents -Oracle Open Office Basic : text documents;creating/opening -Oracle Open Office Basic : text documents;importing/exporting -Oracle Open Office Basic : text documents;inserting spreadsheet cells -Oracle Open Office Basic : text documents;print settings -Oracle Open Office Basic : text documents;printing -Oracle Open Office Basic : text documents;saving -Oracle Open Office Basic : text documents;saving automatically -Oracle Open Office Basic : text documents;saving in other formats -Oracle Open Office Basic : text documents;sending as e-mail -Oracle Open Office Basic : text effects -Oracle Open Office Basic : text flow -Oracle Open Office Basic : text flow;in cells -Oracle Open Office Basic : text formats -Oracle Open Office Basic : text formats;databases -Oracle Open Office Basic : text formats;pasting -Oracle Open Office Basic : text input fields -Oracle Open Office Basic : text layout for special languages -Oracle Open Office Basic : text objects -Oracle Open Office Basic : text objects;alignment -Oracle Open Office Basic : text objects;draw functions -Oracle Open Office Basic : text objects;fonts -Oracle Open Office Basic : text objects;in presentations and drawings -Oracle Open Office Basic : text overflow in spreadsheet cells -Oracle Open Office Basic : text, see also text documents, paragraphs and characters -Oracle Open Office Basic : TextArt, see Fontwork -Oracle Open Office Basic : textures -Oracle Open Office Basic : textures;inserting from Gallery -Oracle Open Office Basic : textures;on chart bars -Oracle Open Office Basic : Thai -Oracle Open Office Basic : Thai;entering text -Oracle Open Office Basic : Thai;language settings -Oracle Open Office Basic : thesaurus -Oracle Open Office Basic : thesaurus;activating for a language -Oracle Open Office Basic : ThisComponent property -Oracle Open Office Basic : ticker text -Oracle Open Office Basic : time field control -Oracle Open Office Basic : time fields -Oracle Open Office Basic : time fields;form functions -Oracle Open Office Basic : Time statement -Oracle Open Office Basic : Timer function -Oracle Open Office Basic : times -Oracle Open Office Basic : times;inserting when printing presentations -Oracle Open Office Basic : times, formats -Oracle Open Office Basic : TimeSerial function -Oracle Open Office Basic : TimeValue function -Oracle Open Office Basic : tips -Oracle Open Office Basic : tips;extended tips in Help -Oracle Open Office Basic : title rows -Oracle Open Office Basic : title rows;printing in Oracle Open Office Math -Oracle Open Office Basic : titles -Oracle Open Office Basic : titles;changing -Oracle Open Office Basic : titles;editing in charts -Oracle Open Office Basic : titles;font effects -Oracle Open Office Basic : titles;formatting automatically -Oracle Open Office Basic : titles;objects -Oracle Open Office Basic : To statement -Oracle Open Office Basic : toolbars -Oracle Open Office Basic : toolbars;adding buttons -Oracle Open Office Basic : toolbars;Basic IDE -Oracle Open Office Basic : toolbars;docking/undocking -Oracle Open Office Basic : toolbars;Form Navigation bar -Oracle Open Office Basic : toolbars;viewing/closing -Oracle Open Office Basic : tools bar -Oracle Open Office Basic : tooltips -Oracle Open Office Basic : tooltips;extended tips -Oracle Open Office Basic : tooltips;help -Oracle Open Office Basic : traditional Chinese -Oracle Open Office Basic : traditional Chinese;translating to simplified chinese -Oracle Open Office Basic : translating dialogs -Oracle Open Office Basic : transparency -Oracle Open Office Basic : transparency;areas -Oracle Open Office Basic : transparency;off for faster printing -Oracle Open Office Basic : transparency;saving -Oracle Open Office Basic : tree view of Help -Oracle Open Office Basic : Trim function -Oracle Open Office Basic : twips -Oracle Open Office Basic : twips;definition -Oracle Open Office Basic : TwipsPerPixelX function -Oracle Open Office Basic : TwipsPerPixelY function -Oracle Open Office Basic : typefaces -Oracle Open Office Basic : typefaces;adding under UNIX -Oracle Open Office Basic : typefaces;formats -Oracle Open Office Basic : TypeName function -Oracle Open Office Basic : types of variables -Oracle Open Office Basic : typographical quotes in Oracle Open Office Writer -Oracle Open Office Basic : typography -Oracle Open Office Basic : typography;Asian -Oracle Open Office Basic : UBound function -Oracle Open Office Basic : UCase function -Oracle Open Office Basic : underlining -Oracle Open Office Basic : underlining;AutoFormat function -Oracle Open Office Basic : underlining;characters -Oracle Open Office Basic : underlining;text -Oracle Open Office Basic : undocking windows -Oracle Open Office Basic : undoing -Oracle Open Office Basic : undoing;direct formatting -Oracle Open Office Basic : undoing;editing -Oracle Open Office Basic : undoing;number of steps -Oracle Open Office Basic : ungrouping groups -Oracle Open Office Basic : units -Oracle Open Office Basic : units;converting -Oracle Open Office Basic : units;measurement units -Oracle Open Office Basic : UNO components -Oracle Open Office Basic : UNO components;Extension Manager -Oracle Open Office Basic : UNO components;integrating new -Oracle Open Office Basic : Until -Oracle Open Office Basic : update options -Oracle Open Office Basic : updates -Oracle Open Office Basic : updates;checking automatically -Oracle Open Office Basic : updates;checking manually -Oracle Open Office Basic : updating -Oracle Open Office Basic : updating;fields and charts, automatically (Writer) -Oracle Open Office Basic : updating;links in text documents -Oracle Open Office Basic : updating;links, on opening -Oracle Open Office Basic : updating;templates -Oracle Open Office Basic : URL -Oracle Open Office Basic : URL;changing hyperlink URLs -Oracle Open Office Basic : URL;definition -Oracle Open Office Basic : URL;in pictures -Oracle Open Office Basic : URL;saving absolute/relative paths -Oracle Open Office Basic : URL;turning off URL recognition -Oracle Open Office Basic : user data -Oracle Open Office Basic : user data;input -Oracle Open Office Basic : user data;removing when saving -Oracle Open Office Basic : user feedback -Oracle Open Office Basic : user feedback;automatically -Oracle Open Office Basic : user-defined dictionaries -Oracle Open Office Basic : user-defined dictionaries;creating -Oracle Open Office Basic : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Basic : user-defined dictionaries;editing -Oracle Open Office Basic : user-defined styles -Oracle Open Office Basic : user-defined styles;automatically replacing -Oracle Open Office Basic : UTF-8/UCS2 support -Oracle Open Office Basic : Val function -Oracle Open Office Basic : values -Oracle Open Office Basic : values;of variables -Oracle Open Office Basic : values;rounded as shown (Calc) -Oracle Open Office Basic : variables -Oracle Open Office Basic : variables;for paths -Oracle Open Office Basic : variables;global and local -Oracle Open Office Basic : variables;observing values -Oracle Open Office Basic : variables;passing to procedures and functions -Oracle Open Office Basic : variables;scope -Oracle Open Office Basic : variables;using -Oracle Open Office Basic : VarType function -Oracle Open Office Basic : VBA code -Oracle Open Office Basic : VBA code;loading/saving documents with VBA code -Oracle Open Office Basic : version management -Oracle Open Office Basic : version numbers of documents -Oracle Open Office Basic : versions -Oracle Open Office Basic : versions;comparing documents -Oracle Open Office Basic : versions;file saving as, restriction -Oracle Open Office Basic : versions;merging document versions -Oracle Open Office Basic : versions;of a document -Oracle Open Office Basic : versions;Oracle Open Office -Oracle Open Office Basic : vertical callouts -Oracle Open Office Basic : vertical line control -Oracle Open Office Basic : vertical scrollbar control -Oracle Open Office Basic : vertical scrollbars (Writer) -Oracle Open Office Basic : vertical text boxes -Oracle Open Office Basic : videos -Oracle Open Office Basic : viewing -Oracle Open Office Basic : viewing;databases -Oracle Open Office Basic : viewing;file properties -Oracle Open Office Basic : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Basic : viewing;toolbars -Oracle Open Office Basic : views -Oracle Open Office Basic : views;creating database views (Base) -Oracle Open Office Basic : views;defaults -Oracle Open Office Basic : views;full screen -Oracle Open Office Basic : views;icons -Oracle Open Office Basic : views;scaling -Oracle Open Office Basic : Visual Basic for Applications -Oracle Open Office Basic : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Basic : Wait statement -Oracle Open Office Basic : watching variables -Oracle Open Office Basic : watermarks -Oracle Open Office Basic : web documents -Oracle Open Office Basic : web documents;XForms -Oracle Open Office Basic : Web support -Oracle Open Office Basic : WebCast export -Oracle Open Office Basic : WebDAV over HTTPS -Oracle Open Office Basic : WeekDay function -Oracle Open Office Basic : While -Oracle Open Office Basic : While;Do loop -Oracle Open Office Basic : While;While...Wend loop -Oracle Open Office Basic : windows -Oracle Open Office Basic : windows;docking -Oracle Open Office Basic : windows;docking definition -Oracle Open Office Basic : windows;hiding/showing/docking -Oracle Open Office Basic : windows;new -Oracle Open Office Basic : With statement -Oracle Open Office Basic : wizards -Oracle Open Office Basic : wizards;agendas -Oracle Open Office Basic : wizards;database queries -Oracle Open Office Basic : wizards;database tables (Base) -Oracle Open Office Basic : wizards;databases (Base) -Oracle Open Office Basic : wizards;document converter -Oracle Open Office Basic : wizards;Euro Converter -Oracle Open Office Basic : wizards;faxes -Oracle Open Office Basic : wizards;forms -Oracle Open Office Basic : wizards;letters -Oracle Open Office Basic : wizards;macros (Base) -Oracle Open Office Basic : wizards;overview -Oracle Open Office Basic : wizards;presentations -Oracle Open Office Basic : wizards;reports -Oracle Open Office Basic : Word documents -Oracle Open Office Basic : Word documents;compatibility -Oracle Open Office Basic : Word documents;saving as -Oracle Open Office Basic : WordArt, see Fontwork -Oracle Open Office Basic : words -Oracle Open Office Basic : words;automatically replacing -Oracle Open Office Basic : words;wrapping in cells -Oracle Open Office Basic : words;wrapping in CTL -Oracle Open Office Basic : working directory change -Oracle Open Office Basic : wrapping text -Oracle Open Office Basic : wrapping text;in cells -Oracle Open Office Basic : write protection on/off -Oracle Open Office Basic : Write statement -Oracle Open Office Basic : writing aids options -Oracle Open Office Basic : WYSIWYG in fonts lists -Oracle Open Office Basic : XForms -Oracle Open Office Basic : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Basic : XForms;conditions -Oracle Open Office Basic : XForms;opening/editing -Oracle Open Office Basic : XML converters -Oracle Open Office Basic : XML file formats -Oracle Open Office Basic : XML filters -Oracle Open Office Basic : XML filters;creating/testing -Oracle Open Office Basic : XML filters;saving as package/installing/deleting -Oracle Open Office Basic : XML filters;settings -Oracle Open Office Basic : XML Forms, see XForms -Oracle Open Office Basic : Xor operator (logical) -Oracle Open Office Basic : XSLT filters, see also XML filters -Oracle Open Office Basic : Year function -Oracle Open Office Basic : years -Oracle Open Office Basic : years;2-digit options -Oracle Open Office Basic : zero values -Oracle Open Office Basic : zero values;displaying (Calc) -Oracle Open Office Basic : zooming -Oracle Open Office Basic : zooming;page views -Oracle Open Office Basic : zooming;pictures -Oracle Open Office Basic : zooming;status bar -Oracle Open Office Calc : #N/A error -Oracle Open Office Calc : #N/A error;assigning to a cell -Oracle Open Office Calc : #N/A error;recognizing -Oracle Open Office Calc : #NAME error message -Oracle Open Office Calc : #REF error message -Oracle Open Office Calc : 1/2 replacement -Oracle Open Office Calc : 3D charts -Oracle Open Office Calc : 3D text creation -Oracle Open Office Calc : abbreviation replacement -Oracle Open Office Calc : ABS function -Oracle Open Office Calc : absolute addresses in spreadsheets -Oracle Open Office Calc : absolute hyperlinks -Oracle Open Office Calc : absolute references in spreadsheets -Oracle Open Office Calc : absolute saving of URLs -Oracle Open Office Calc : absolute values -Oracle Open Office Calc : accents -Oracle Open Office Calc : Access databases (base) -Oracle Open Office Calc : access rights for database tables (Base) -Oracle Open Office Calc : accessibility -Oracle Open Office Calc : accessibility;general shortcuts -Oracle Open Office Calc : accessibility;options -Oracle Open Office Calc : accessibility;Oracle Open Office assistive technology -Oracle Open Office Calc : accessibility;Oracle Open Office Calc shortcuts -Oracle Open Office Calc : accessibility;Oracle Open Office features -Oracle Open Office Calc : ACCRINT function -Oracle Open Office Calc : ACCRINTM function -Oracle Open Office Calc : accrued interests -Oracle Open Office Calc : accrued interests;one-off payments -Oracle Open Office Calc : accrued interests;periodic payments -Oracle Open Office Calc : accumulated interests -Oracle Open Office Calc : ACOS function -Oracle Open Office Calc : ACOSH function -Oracle Open Office Calc : ACOT function -Oracle Open Office Calc : ACOTH function -Oracle Open Office Calc : actions in case of incorrect input -Oracle Open Office Calc : activating -Oracle Open Office Calc : activating;context menus -Oracle Open Office Calc : activating;Error Report Tool -Oracle Open Office Calc : activating;extended help tips -Oracle Open Office Calc : activating;plug-ins -Oracle Open Office Calc : ActiveX control -Oracle Open Office Calc : Adabas D databases (base) -Oracle Open Office Calc : add-ins -Oracle Open Office Calc : add-ins;analysis functions -Oracle Open Office Calc : add-ins;for programming -Oracle Open Office Calc : add-ins;functions -Oracle Open Office Calc : add-ons, see UNO components -Oracle Open Office Calc : adding -Oracle Open Office Calc : adding;numbers in cell ranges -Oracle Open Office Calc : adding;specified numbers -Oracle Open Office Calc : additional selection mode -Oracle Open Office Calc : address books -Oracle Open Office Calc : address books;LDAP server (Base) -Oracle Open Office Calc : address books;registering -Oracle Open Office Calc : ADDRESS function -Oracle Open Office Calc : address labels from databases -Oracle Open Office Calc : addressing -Oracle Open Office Calc : addressing;automatic -Oracle Open Office Calc : addressing;by defined names -Oracle Open Office Calc : addressing;relative and absolute -Oracle Open Office Calc : adjusting array ranges -Oracle Open Office Calc : ADO databases (Base) -Oracle Open Office Calc : advanced filters -Oracle Open Office Calc : Agenda Wizard -Oracle Open Office Calc : aging filter -Oracle Open Office Calc : algebraic signs -Oracle Open Office Calc : aligning -Oracle Open Office Calc : aligning;2D charts -Oracle Open Office Calc : aligning;cells -Oracle Open Office Calc : aligning;objects -Oracle Open Office Calc : aligning;paragraphs -Oracle Open Office Calc : aligning;tables in text -Oracle Open Office Calc : aligning;text objects -Oracle Open Office Calc : aligning;titles in charts -Oracle Open Office Calc : allowances -Oracle Open Office Calc : allowed cell names -Oracle Open Office Calc : alternative fonts -Oracle Open Office Calc : AMORDEGRC function -Oracle Open Office Calc : AMORLINC function -Oracle Open Office Calc : amortization installment -Oracle Open Office Calc : amortizations, see also depreciations -Oracle Open Office Calc : amount received for fixed-interest securities -Oracle Open Office Calc : ampersand symbol, see also operators -Oracle Open Office Calc : analysis functions -Oracle Open Office Calc : anchors -Oracle Open Office Calc : anchors;changing -Oracle Open Office Calc : anchors;displaying (Calc) -Oracle Open Office Calc : anchors;types/positions for draw objects -Oracle Open Office Calc : AND function -Oracle Open Office Calc : animations -Oracle Open Office Calc : animations;accessibility options -Oracle Open Office Calc : annual net interest rates -Oracle Open Office Calc : annual return on treasury bills -Oracle Open Office Calc : annuities -Oracle Open Office Calc : appearance options -Oracle Open Office Calc : appending sheets -Oracle Open Office Calc : Arabic -Oracle Open Office Calc : Arabic;entering text -Oracle Open Office Calc : Arabic;language settings -Oracle Open Office Calc : ARABIC function -Oracle Open Office Calc : area charts -Oracle Open Office Calc : areas -Oracle Open Office Calc : areas;bitmap patterns -Oracle Open Office Calc : areas;hatched/dotted -Oracle Open Office Calc : areas;shadows -Oracle Open Office Calc : areas;slanting -Oracle Open Office Calc : areas;styles -Oracle Open Office Calc : areas;transparency -Oracle Open Office Calc : AREAS function -Oracle Open Office Calc : areas, see also cell ranges -Oracle Open Office Calc : arguments in command line -Oracle Open Office Calc : arithmetic declining depreciations -Oracle Open Office Calc : arithmetic lists -Oracle Open Office Calc : arithmetic-degressive depreciations -Oracle Open Office Calc : arithmetical operators -Oracle Open Office Calc : arranging -Oracle Open Office Calc : arranging;objects -Oracle Open Office Calc : array formulas -Oracle Open Office Calc : arrows -Oracle Open Office Calc : arrows;defining arrow heads -Oracle Open Office Calc : arrows;defining arrow lines -Oracle Open Office Calc : arrows;drawing in text -Oracle Open Office Calc : ASC function -Oracle Open Office Calc : ASCII -Oracle Open Office Calc : ASCII;definition -Oracle Open Office Calc : Asian languages -Oracle Open Office Calc : Asian languages;enabling -Oracle Open Office Calc : Asian languages;sorting -Oracle Open Office Calc : Asian Phonetic Guide -Oracle Open Office Calc : Asian typography -Oracle Open Office Calc : ASIN function -Oracle Open Office Calc : ASINH function -Oracle Open Office Calc : assigning scripts -Oracle Open Office Calc : assistive technology in Oracle Open Office -Oracle Open Office Calc : ATAN function -Oracle Open Office Calc : ATAN2 function -Oracle Open Office Calc : ATANH function -Oracle Open Office Calc : attaching toolbars -Oracle Open Office Calc : attachments in e-mails -Oracle Open Office Calc : attributes -Oracle Open Office Calc : attributes;cells -Oracle Open Office Calc : audio -Oracle Open Office Calc : auto reloading HTML documents -Oracle Open Office Calc : AutoAbstract function for sending text to presentations -Oracle Open Office Calc : AutoCalculate function in sheets -Oracle Open Office Calc : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Calc : AutoComplete function in text and list boxes -Oracle Open Office Calc : AutoCorrect function -Oracle Open Office Calc : AutoCorrect function;cell contents -Oracle Open Office Calc : AutoCorrect function;context menu -Oracle Open Office Calc : AutoCorrect function;options -Oracle Open Office Calc : AutoCorrect function;pictures and frames -Oracle Open Office Calc : AutoCorrect function;quotes -Oracle Open Office Calc : AutoCorrect function;replacement table -Oracle Open Office Calc : AutoCorrect function;switching on and off in Calc -Oracle Open Office Calc : AutoCorrect function;URL recognition -Oracle Open Office Calc : AutoFill function -Oracle Open Office Calc : AutoFilter function -Oracle Open Office Calc : AutoFilter function;applying -Oracle Open Office Calc : AutoFilter function;subtotals -Oracle Open Office Calc : AutoFormat function -Oracle Open Office Calc : AutoFormat function;defining and applying formats -Oracle Open Office Calc : AutoFormat function;switching on and off -Oracle Open Office Calc : AutoInput function on/off -Oracle Open Office Calc : automatic addressing in tables -Oracle Open Office Calc : automatic captions (Writer) -Oracle Open Office Calc : automatic cell filling -Oracle Open Office Calc : automatic control focus -Oracle Open Office Calc : automatic date updates -Oracle Open Office Calc : automatic formatting in spreadsheets -Oracle Open Office Calc : automatic hyperlink formatting -Oracle Open Office Calc : automatic hyphenation in spreadsheets -Oracle Open Office Calc : automatic line breaks -Oracle Open Office Calc : automatic lines/borders in text -Oracle Open Office Calc : automatic saving -Oracle Open Office Calc : AutoPilots, see wizards -Oracle Open Office Calc : AutoValue (Base) -Oracle Open Office Calc : AVEDEV function -Oracle Open Office Calc : AVERAGE function -Oracle Open Office Calc : AVERAGEA function -Oracle Open Office Calc : averages -Oracle Open Office Calc : averages;in Calc databases -Oracle Open Office Calc : averages;statistical functions -Oracle Open Office Calc : averages in charts -Oracle Open Office Calc : axes -Oracle Open Office Calc : axes;better scaling -Oracle Open Office Calc : axes;formatting -Oracle Open Office Calc : axes;formatting grids -Oracle Open Office Calc : axes;inserting grids -Oracle Open Office Calc : axes;interval marks -Oracle Open Office Calc : axes;showing axes in charts -Oracle Open Office Calc : axes in charts -Oracle Open Office Calc : B function -Oracle Open Office Calc : back-solving -Oracle Open Office Calc : backgrounds -Oracle Open Office Calc : backgrounds;cell ranges -Oracle Open Office Calc : backgrounds;cells and pages -Oracle Open Office Calc : backgrounds;defining colors/pictures -Oracle Open Office Calc : backgrounds;frames/sections/indexes -Oracle Open Office Calc : backgrounds;inserting from Gallery -Oracle Open Office Calc : backgrounds;printing -Oracle Open Office Calc : backing window -Oracle Open Office Calc : backups -Oracle Open Office Calc : backups;automatic -Oracle Open Office Calc : backups;documents -Oracle Open Office Calc : BAHTTEXT function -Oracle Open Office Calc : bar charts -Oracle Open Office Calc : BASE function -Oracle Open Office Calc : base-10 logarithm -Oracle Open Office Calc : Basic -Oracle Open Office Calc : Basic;fonts for source display -Oracle Open Office Calc : Basic;programming -Oracle Open Office Calc : Basic;recording macros -Oracle Open Office Calc : basic fonts -Oracle Open Office Calc : Basic IDE for user-defined functions -Oracle Open Office Calc : Bessel functions -Oracle Open Office Calc : BETADIST function -Oracle Open Office Calc : BETAINV function -Oracle Open Office Calc : Bézier curves -Oracle Open Office Calc : Bézier curves;control points in presentations -Oracle Open Office Calc : bi-directional writing -Oracle Open Office Calc : BIN2DEC function -Oracle Open Office Calc : BIN2HEX function -Oracle Open Office Calc : BIN2OCT function -Oracle Open Office Calc : binary system -Oracle Open Office Calc : binary system;converting to -Oracle Open Office Calc : binding space -Oracle Open Office Calc : BINOMDIST function -Oracle Open Office Calc : bitmaps -Oracle Open Office Calc : bitmaps;inserting and editing -Oracle Open Office Calc : bitmaps;off for faster printing -Oracle Open Office Calc : bitmaps;patterns -Oracle Open Office Calc : black and white printing -Oracle Open Office Calc : black printing in Calc -Oracle Open Office Calc : blank cell contents -Oracle Open Office Calc : block selection mode -Oracle Open Office Calc : bold -Oracle Open Office Calc : bold;AutoFormat function -Oracle Open Office Calc : bold;text -Oracle Open Office Calc : bookmarks -Oracle Open Office Calc : bookmarks;Help -Oracle Open Office Calc : borders -Oracle Open Office Calc : borders;arranging -Oracle Open Office Calc : borders;cells -Oracle Open Office Calc : borders;cells and pages -Oracle Open Office Calc : borders;cells on screen (Calc) -Oracle Open Office Calc : borders;for paragraphs -Oracle Open Office Calc : borders;for tables -Oracle Open Office Calc : borders;printing cells -Oracle Open Office Calc : borders;shadows -Oracle Open Office Calc : borders;table boundaries (Writer) -Oracle Open Office Calc : borders, see also frames -Oracle Open Office Calc : bound fields -Oracle Open Office Calc : bound fields;controls -Oracle Open Office Calc : boundaries of tables (Writer) -Oracle Open Office Calc : break display (Writer) -Oracle Open Office Calc : breaks in cells -Oracle Open Office Calc : brochures -Oracle Open Office Calc : brochures;printing several -Oracle Open Office Calc : bubble charts -Oracle Open Office Calc : build numbers of Oracle Open Office -Oracle Open Office Calc : bullet lists -Oracle Open Office Calc : bullet lists;formatting options -Oracle Open Office Calc : bullets -Oracle Open Office Calc : bullets;paragraphs -Oracle Open Office Calc : bullets;replacing -Oracle Open Office Calc : bullets;turning off -Oracle Open Office Calc : business cards -Oracle Open Office Calc : business cards;creating and synchronizing -Oracle Open Office Calc : business cards;using templates -Oracle Open Office Calc : button bars, see toolbars -Oracle Open Office Calc : buttons -Oracle Open Office Calc : buttons;adding push buttons -Oracle Open Office Calc : buttons;big/small -Oracle Open Office Calc : buttons;editing hyperlink buttons -Oracle Open Office Calc : buttons;form functions -Oracle Open Office Calc : buttons;toolbars -Oracle Open Office Calc : cache for graphics -Oracle Open Office Calc : calculating -Oracle Open Office Calc : calculating;accumulated interests -Oracle Open Office Calc : calculating;annual net interest rates -Oracle Open Office Calc : calculating;annuities -Oracle Open Office Calc : calculating;arithmetic-degressive depreciations -Oracle Open Office Calc : calculating;auto calculating sheets -Oracle Open Office Calc : calculating;averages in Calc databases -Oracle Open Office Calc : calculating;conditional calculations -Oracle Open Office Calc : calculating;constant interest rates -Oracle Open Office Calc : calculating;Data Pilot -Oracle Open Office Calc : calculating;depreciations -Oracle Open Office Calc : calculating;durations -Oracle Open Office Calc : calculating;future values -Oracle Open Office Calc : calculating;geometric-degressive depreciations -Oracle Open Office Calc : calculating;interests for unchanged amortization installments -Oracle Open Office Calc : calculating;internal rates of return, irregular payments -Oracle Open Office Calc : calculating;internal rates of return, regular payments -Oracle Open Office Calc : calculating;iterative references (Calc) -Oracle Open Office Calc : calculating;linear depreciations -Oracle Open Office Calc : calculating;modified internal rates of return -Oracle Open Office Calc : calculating;multiple sheets -Oracle Open Office Calc : calculating;net present values -Oracle Open Office Calc : calculating;nominal interest rates -Oracle Open Office Calc : calculating;number of payment periods -Oracle Open Office Calc : calculating;present values -Oracle Open Office Calc : calculating;rates of return -Oracle Open Office Calc : calculating;regression curves -Oracle Open Office Calc : calculating;rounded off values -Oracle Open Office Calc : calculating;series -Oracle Open Office Calc : calculating;spreadsheets -Oracle Open Office Calc : calculating;sums in Calc databases -Oracle Open Office Calc : calculating;time differences -Oracle Open Office Calc : calculating;total amortizement rates -Oracle Open Office Calc : calculating;variable declining depreciations -Oracle Open Office Calc : calculating;variables in equations -Oracle Open Office Calc : calculating;with formulas -Oracle Open Office Calc : callouts -Oracle Open Office Calc : callouts;drawings -Oracle Open Office Calc : capital letters -Oracle Open Office Calc : capital letters;AutoCorrect function -Oracle Open Office Calc : capital letters;AutoInput function -Oracle Open Office Calc : capital letters;AutoInput function (in cells) -Oracle Open Office Calc : capital letters;font effects -Oracle Open Office Calc : captions -Oracle Open Office Calc : captions;automatic captions (Writer) -Oracle Open Office Calc : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Calc : captions, see also labels/callouts -Oracle Open Office Calc : cascading update (Base) -Oracle Open Office Calc : case sensitivity -Oracle Open Office Calc : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Calc : case sensitivity;searching -Oracle Open Office Calc : categories of functions -Oracle Open Office Calc : CEILING function -Oracle Open Office Calc : cell attributes -Oracle Open Office Calc : cell contents -Oracle Open Office Calc : cell contents;AutoCalculate function -Oracle Open Office Calc : cell contents;deleting -Oracle Open Office Calc : cell contents;no text -Oracle Open Office Calc : cell contents;numbers -Oracle Open Office Calc : cell contents;recalculating -Oracle Open Office Calc : cell contents;searching in Calc databases -Oracle Open Office Calc : cell contents;testing for references -Oracle Open Office Calc : cell contents;text -Oracle Open Office Calc : cell formats -Oracle Open Office Calc : cell formats;assigning by formulas -Oracle Open Office Calc : cell formats;conditional -Oracle Open Office Calc : cell formats;text/numbers -Oracle Open Office Calc : CELL function -Oracle Open Office Calc : cell heights -Oracle Open Office Calc : cell information -Oracle Open Office Calc : cell input -Oracle Open Office Calc : cell input;AutoInput function -Oracle Open Office Calc : cell links search -Oracle Open Office Calc : cell merges -Oracle Open Office Calc : cell names -Oracle Open Office Calc : cell names;defining/addressing -Oracle Open Office Calc : cell protection -Oracle Open Office Calc : cell protection;enabling -Oracle Open Office Calc : cell protection;unprotecting -Oracle Open Office Calc : cell ranges -Oracle Open Office Calc : cell ranges;applying/removing filters -Oracle Open Office Calc : cell ranges;creating names automatically -Oracle Open Office Calc : cell ranges;defining names -Oracle Open Office Calc : cell ranges;inserting named ranges -Oracle Open Office Calc : cell ranges;printing -Oracle Open Office Calc : cell ranges;selecting for data entries -Oracle Open Office Calc : cell references -Oracle Open Office Calc : cell references;showing -Oracle Open Office Calc : cell styles -Oracle Open Office Calc : cell styles;assigning by formulas -Oracle Open Office Calc : cell styles;copying -Oracle Open Office Calc : cell styles;selecting -Oracle Open Office Calc : cell widths -Oracle Open Office Calc : cells -Oracle Open Office Calc : cells;aligning -Oracle Open Office Calc : cells;AutoInput function of text -Oracle Open Office Calc : cells;autorefreshing traces -Oracle Open Office Calc : cells;backgrounds -Oracle Open Office Calc : cells;borders -Oracle Open Office Calc : cells;changing text/number formats -Oracle Open Office Calc : cells;coloring (Calc) -Oracle Open Office Calc : cells;comments -Oracle Open Office Calc : cells;conditional formatting -Oracle Open Office Calc : cells;copying/deleting/formatting/moving -Oracle Open Office Calc : cells;currency formats -Oracle Open Office Calc : cells;cursor positions after input (Calc) -Oracle Open Office Calc : cells;date and time formats -Oracle Open Office Calc : cells;defining input help -Oracle Open Office Calc : cells;defining names -Oracle Open Office Calc : cells;deleting cells -Oracle Open Office Calc : cells;deleting contents -Oracle Open Office Calc : cells;filling automatically -Oracle Open Office Calc : cells;formatting dialog -Oracle Open Office Calc : cells;formatting without effect (Calc) -Oracle Open Office Calc : cells;heights and widths -Oracle Open Office Calc : cells;hiding for printing -Oracle Open Office Calc : cells;inserting -Oracle Open Office Calc : cells;Internet references -Oracle Open Office Calc : cells;invalid data -Oracle Open Office Calc : cells;line breaks -Oracle Open Office Calc : cells;linked to controls -Oracle Open Office Calc : cells;merging/unmerging -Oracle Open Office Calc : cells;moving by drag and drop -Oracle Open Office Calc : cells;number formats -Oracle Open Office Calc : cells;number of -Oracle Open Office Calc : cells;operating in another document -Oracle Open Office Calc : cells;pasting -Oracle Open Office Calc : cells;print ranges -Oracle Open Office Calc : cells;printing grids -Oracle Open Office Calc : cells;protecting -Oracle Open Office Calc : cells;references -Oracle Open Office Calc : cells;referencing by drag and drop -Oracle Open Office Calc : cells;refreshing traces -Oracle Open Office Calc : cells;removing dependents -Oracle Open Office Calc : cells;removing precedents -Oracle Open Office Calc : cells;removing traces -Oracle Open Office Calc : cells;resetting formats -Oracle Open Office Calc : cells;rotating text -Oracle Open Office Calc : cells;selecting -Oracle Open Office Calc : cells;showing grid lines (Calc) -Oracle Open Office Calc : cells;text breaks -Oracle Open Office Calc : cells;text super/sub -Oracle Open Office Calc : cells;trace fill mode -Oracle Open Office Calc : cells;tracing dependents -Oracle Open Office Calc : cells;tracing errors -Oracle Open Office Calc : cells;tracing precedents -Oracle Open Office Calc : cells;validity -Oracle Open Office Calc : centered text -Oracle Open Office Calc : centimeters -Oracle Open Office Calc : certificates -Oracle Open Office Calc : changes -Oracle Open Office Calc : changes;accepting or rejecting -Oracle Open Office Calc : changes;comparing to original -Oracle Open Office Calc : changes;protecting -Oracle Open Office Calc : changes;recording -Oracle Open Office Calc : changes;review function -Oracle Open Office Calc : changes;showing -Oracle Open Office Calc : changing -Oracle Open Office Calc : changing;currency formats -Oracle Open Office Calc : changing;dates, automatically -Oracle Open Office Calc : changing;document titles -Oracle Open Office Calc : changing;file associations in Setup program -Oracle Open Office Calc : changing;icon sizes -Oracle Open Office Calc : changing;input in cells -Oracle Open Office Calc : changing;links -Oracle Open Office Calc : changing;number of decimal places -Oracle Open Office Calc : changing;row heights/column widths -Oracle Open Office Calc : changing;sheet names -Oracle Open Office Calc : changing;sheet protection -Oracle Open Office Calc : changing;table views -Oracle Open Office Calc : changing;work directory -Oracle Open Office Calc : changing, see also editing and replacing -Oracle Open Office Calc : CHAR function -Oracle Open Office Calc : character styles -Oracle Open Office Calc : character styles;language selection -Oracle Open Office Calc : characters -Oracle Open Office Calc : characters;alternative fonts -Oracle Open Office Calc : characters;Asian layout -Oracle Open Office Calc : characters;bold -Oracle Open Office Calc : characters;coloring -Oracle Open Office Calc : characters;displaying only on screen (Writer) -Oracle Open Office Calc : characters;enabling CTL and Asian characters -Oracle Open Office Calc : characters;font effects -Oracle Open Office Calc : characters;fonts and formats -Oracle Open Office Calc : characters;hyperlinks -Oracle Open Office Calc : characters;italics -Oracle Open Office Calc : characters;language selection -Oracle Open Office Calc : characters;shadowed -Oracle Open Office Calc : characters;spacing -Oracle Open Office Calc : characters;special -Oracle Open Office Calc : characters;superscript/subscript -Oracle Open Office Calc : characters;underlining -Oracle Open Office Calc : charcoal sketches filter -Oracle Open Office Calc : chart legends -Oracle Open Office Calc : chart legends;hiding -Oracle Open Office Calc : chart legends;showing icons with labels -Oracle Open Office Calc : chart types -Oracle Open Office Calc : chart types;area -Oracle Open Office Calc : chart types;bubble -Oracle Open Office Calc : chart types;column and bar -Oracle Open Office Calc : chart types;column and line -Oracle Open Office Calc : chart types;line -Oracle Open Office Calc : chart types;net -Oracle Open Office Calc : chart types;pie/donut -Oracle Open Office Calc : chart types;stock -Oracle Open Office Calc : chart types;XY (scatter) -Oracle Open Office Calc : charts -Oracle Open Office Calc : charts;3D views -Oracle Open Office Calc : charts;aligning -Oracle Open Office Calc : charts;arranging within stacks -Oracle Open Office Calc : charts;bars with textures -Oracle Open Office Calc : charts;choosing chart types -Oracle Open Office Calc : charts;colors -Oracle Open Office Calc : charts;copying with link to source cell range -Oracle Open Office Calc : charts;data labels -Oracle Open Office Calc : charts;displaying (Calc) -Oracle Open Office Calc : charts;editing axes -Oracle Open Office Calc : charts;editing data -Oracle Open Office Calc : charts;editing legends -Oracle Open Office Calc : charts;editing titles -Oracle Open Office Calc : charts;formatting areas -Oracle Open Office Calc : charts;formatting floors -Oracle Open Office Calc : charts;formatting walls -Oracle Open Office Calc : charts;inserting -Oracle Open Office Calc : charts;overview -Oracle Open Office Calc : charts;positioning axes -Oracle Open Office Calc : charts;printing -Oracle Open Office Calc : charts;properties -Oracle Open Office Calc : charts;reorganizing -Oracle Open Office Calc : charts;scaling axes -Oracle Open Office Calc : charts;scaling text -Oracle Open Office Calc : charts;shortcuts -Oracle Open Office Calc : charts;showing axes -Oracle Open Office Calc : charts;updating automatically (Writer) -Oracle Open Office Calc : check box creation -Oracle Open Office Calc : chi-square distribution -Oracle Open Office Calc : CHIDIST function -Oracle Open Office Calc : CHIINV function -Oracle Open Office Calc : Chinese writing systems -Oracle Open Office Calc : CHISQDIST function -Oracle Open Office Calc : CHISQINV function -Oracle Open Office Calc : CHITEST function -Oracle Open Office Calc : CHOOSE function -Oracle Open Office Calc : choosing printers -Oracle Open Office Calc : circle drawings -Oracle Open Office Calc : CLEAN function -Oracle Open Office Calc : clearing, see also deleting/removing -Oracle Open Office Calc : Client Side ImageMap -Oracle Open Office Calc : clipboard -Oracle Open Office Calc : clipboard;cutting -Oracle Open Office Calc : clipboard;pasting -Oracle Open Office Calc : clipboard;pasting formatted/unformatted text -Oracle Open Office Calc : clipboard;selection clipboard -Oracle Open Office Calc : clipboard;Unix -Oracle Open Office Calc : closing -Oracle Open Office Calc : closing;documents -Oracle Open Office Calc : closing;toolbars -Oracle Open Office Calc : CODE function -Oracle Open Office Calc : coefficient of correlation -Oracle Open Office Calc : collaboration -Oracle Open Office Calc : color bar -Oracle Open Office Calc : colors -Oracle Open Office Calc : colors;adding -Oracle Open Office Calc : colors;appearance -Oracle Open Office Calc : colors;backgrounds -Oracle Open Office Calc : colors;charts -Oracle Open Office Calc : colors;fill format -Oracle Open Office Calc : colors;fonts -Oracle Open Office Calc : colors;grid lines and cells (Calc) -Oracle Open Office Calc : colors;models -Oracle Open Office Calc : colors;negative numbers -Oracle Open Office Calc : colors;not printing -Oracle Open Office Calc : colors;printing in grayscale -Oracle Open Office Calc : colors;restriction (Calc) -Oracle Open Office Calc : colors;selection -Oracle Open Office Calc : column and line charts -Oracle Open Office Calc : column breaks -Oracle Open Office Calc : column breaks;deleting -Oracle Open Office Calc : column breaks;inserting -Oracle Open Office Calc : column charts -Oracle Open Office Calc : COLUMN function -Oracle Open Office Calc : column headers -Oracle Open Office Calc : column headers;displaying (Calc) -Oracle Open Office Calc : column headers;hiding -Oracle Open Office Calc : column headers;highlighting (Calc) -Oracle Open Office Calc : column headers;using in formulas -Oracle Open Office Calc : column widths -Oracle Open Office Calc : columns -Oracle Open Office Calc : columns;AutoFilter function -Oracle Open Office Calc : columns;deleting -Oracle Open Office Calc : columns;finding labels automatically -Oracle Open Office Calc : columns;freezing -Oracle Open Office Calc : columns;hiding -Oracle Open Office Calc : columns;inserting -Oracle Open Office Calc : columns;moving by drag and drop -Oracle Open Office Calc : columns;optimal widths -Oracle Open Office Calc : columns;repeating when printing -Oracle Open Office Calc : columns;setting with the mouse -Oracle Open Office Calc : columns;swap with rows -Oracle Open Office Calc : columns;widths -Oracle Open Office Calc : COLUMNS function -Oracle Open Office Calc : columns, see also cells -Oracle Open Office Calc : COMBIN function -Oracle Open Office Calc : COMBINA function -Oracle Open Office Calc : combination charts -Oracle Open Office Calc : combining -Oracle Open Office Calc : combining;cell ranges -Oracle Open Office Calc : combo box creation -Oracle Open Office Calc : comma separated files and values -Oracle Open Office Calc : command button creation -Oracle Open Office Calc : command buttons, see push buttons -Oracle Open Office Calc : command line parameters -Oracle Open Office Calc : commands -Oracle Open Office Calc : commands;repeating -Oracle Open Office Calc : commands;SQL -Oracle Open Office Calc : comments -Oracle Open Office Calc : comments;displaying (Calc) -Oracle Open Office Calc : comments;help text for cells -Oracle Open Office Calc : comments;inserting/editing/deleting/printing -Oracle Open Office Calc : comments;on cells -Oracle Open Office Calc : comments;on cells - Inserting and Editing Comments -Oracle Open Office Calc : comments;on changes -Oracle Open Office Calc : comments;printing -Oracle Open Office Calc : comments;printing in text -Oracle Open Office Calc : common terms -Oracle Open Office Calc : common terms;Chinese dictionary -Oracle Open Office Calc : common terms;glossaries -Oracle Open Office Calc : common terms;Internet glossary -Oracle Open Office Calc : comparisons -Oracle Open Office Calc : comparisons;document versions -Oracle Open Office Calc : comparisons;operators in Calc -Oracle Open Office Calc : comparisons;operators in default filter dialog -Oracle Open Office Calc : compatibility settings for MS Word import -Oracle Open Office Calc : complete screen view -Oracle Open Office Calc : COMPLEX function -Oracle Open Office Calc : complex numbers in analysis functions -Oracle Open Office Calc : complex text layout -Oracle Open Office Calc : complex text layout;definition -Oracle Open Office Calc : complex text layout;enabling -Oracle Open Office Calc : complex text layout, see CTL -Oracle Open Office Calc : compose key to insert special characters -Oracle Open Office Calc : CONCATENATE function -Oracle Open Office Calc : concatenation, see ampersand symbol -Oracle Open Office Calc : conditional calculations with arrays -Oracle Open Office Calc : conditional formatting -Oracle Open Office Calc : conditional formatting;cells -Oracle Open Office Calc : conditional formatting;conditions -Oracle Open Office Calc : conditional separators -Oracle Open Office Calc : conditions -Oracle Open Office Calc : conditions;in number formats -Oracle Open Office Calc : conditions;items in Data Navigator -Oracle Open Office Calc : CONFIDENCE function -Oracle Open Office Calc : Configuration Manager -Oracle Open Office Calc : configuring -Oracle Open Office Calc : configuring;fax icon -Oracle Open Office Calc : configuring;Oracle Open Office -Oracle Open Office Calc : configuring;toolbars -Oracle Open Office Calc : connections to data sources (Base) -Oracle Open Office Calc : consolidating data -Oracle Open Office Calc : constant interest rates -Oracle Open Office Calc : constants definition -Oracle Open Office Calc : contents protection -Oracle Open Office Calc : context menus -Oracle Open Office Calc : control point display in presentations -Oracle Open Office Calc : controls -Oracle Open Office Calc : controls;activating in forms -Oracle Open Office Calc : controls;adding to documents -Oracle Open Office Calc : controls;arranging in forms -Oracle Open Office Calc : controls;arranging within stacks -Oracle Open Office Calc : controls;assigning data sources -Oracle Open Office Calc : controls;assigning macros (Basic) -Oracle Open Office Calc : controls;bound fields/list contents/linked cells -Oracle Open Office Calc : controls;events -Oracle Open Office Calc : controls;focus -Oracle Open Office Calc : controls;formatted fields -Oracle Open Office Calc : controls;grouping -Oracle Open Office Calc : controls;hidden -Oracle Open Office Calc : controls;inserting -Oracle Open Office Calc : controls;multi-line titles -Oracle Open Office Calc : controls;positions and sizes -Oracle Open Office Calc : controls;printing -Oracle Open Office Calc : controls;properties of form controls -Oracle Open Office Calc : controls;properties of table controls -Oracle Open Office Calc : controls;reference by SQL -Oracle Open Office Calc : controls;rich text control -Oracle Open Office Calc : controls;select mode -Oracle Open Office Calc : controls;showing (Writer) -Oracle Open Office Calc : CONVERT function -Oracle Open Office Calc : CONVERT_ADD function -Oracle Open Office Calc : converters -Oracle Open Office Calc : converters;Euro converter -Oracle Open Office Calc : converters;PostScript, UNIX -Oracle Open Office Calc : converters;XML -Oracle Open Office Calc : converting -Oracle Open Office Calc : converting;binary numbers, into decimal numbers -Oracle Open Office Calc : converting;binary numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;binary numbers, into octal numbers -Oracle Open Office Calc : converting;decimal fractions, into decimal numbers -Oracle Open Office Calc : converting;decimal fractions, into mixed decimal fractions -Oracle Open Office Calc : converting;decimal numbers, into binary numbers -Oracle Open Office Calc : converting;decimal numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;decimal numbers, into octal numbers -Oracle Open Office Calc : converting;degrees, into radians -Oracle Open Office Calc : converting;Hangul/Hanja -Oracle Open Office Calc : converting;hexadecimal numbers, into binary numbers -Oracle Open Office Calc : converting;hexadecimal numbers, into decimal numbers -Oracle Open Office Calc : converting;hexadecimal numbers, into octal numbers -Oracle Open Office Calc : converting;metrics -Oracle Open Office Calc : converting;Microsoft documents -Oracle Open Office Calc : converting;octal numbers, into binary numbers -Oracle Open Office Calc : converting;octal numbers, into decimal numbers -Oracle Open Office Calc : converting;octal numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;Oracle Open Office documents -Oracle Open Office Calc : converting;Pocket PC formats -Oracle Open Office Calc : converting;radians, into degrees -Oracle Open Office Calc : converting;random variables, into normalized values -Oracle Open Office Calc : converting;text to numbers -Oracle Open Office Calc : copies -Oracle Open Office Calc : copies;printing -Oracle Open Office Calc : copying -Oracle Open Office Calc : copying;array formulas -Oracle Open Office Calc : copying;by drag and drop -Oracle Open Office Calc : copying;cell styles -Oracle Open Office Calc : copying;data from text documents -Oracle Open Office Calc : copying;datasource records in spreadsheets -Oracle Open Office Calc : copying;draw objects -Oracle Open Office Calc : copying;draw objects between documents -Oracle Open Office Calc : copying;formatting -Oracle Open Office Calc : copying;formulas -Oracle Open Office Calc : copying;from data source view -Oracle Open Office Calc : copying;from Gallery -Oracle Open Office Calc : copying;in Unix -Oracle Open Office Calc : copying;pictures, between documents -Oracle Open Office Calc : copying;sheet areas, to text documents -Oracle Open Office Calc : copying;spreadsheets -Oracle Open Office Calc : copying;to Gallery -Oracle Open Office Calc : copying;values, to multiple sheets -Oracle Open Office Calc : copying;visible cells only -Oracle Open Office Calc : copyright for Oracle Open Office -Oracle Open Office Calc : corner roundings -Oracle Open Office Calc : correcting sheets automatically -Oracle Open Office Calc : CORREL function -Oracle Open Office Calc : COS function -Oracle Open Office Calc : COSH function -Oracle Open Office Calc : COT function -Oracle Open Office Calc : COTH function -Oracle Open Office Calc : COUNT function -Oracle Open Office Calc : COUNTA function -Oracle Open Office Calc : COUNTBLANK function -Oracle Open Office Calc : COUNTIF function -Oracle Open Office Calc : counting -Oracle Open Office Calc : counting;empty cells -Oracle Open Office Calc : counting;specified cells -Oracle Open Office Calc : counting rows -Oracle Open Office Calc : counting rows;with numeric or alphanumeric values -Oracle Open Office Calc : counting rows;with numeric values -Oracle Open Office Calc : COUPDAYBS function -Oracle Open Office Calc : COUPDAYS function -Oracle Open Office Calc : COUPDAYSNC function -Oracle Open Office Calc : COUPNCD function -Oracle Open Office Calc : COUPNUM function -Oracle Open Office Calc : COUPPCD function -Oracle Open Office Calc : COVAR function -Oracle Open Office Calc : crash reports -Oracle Open Office Calc : CRITBINOM function -Oracle Open Office Calc : criteria of query design (Base) -Oracle Open Office Calc : cropping pictures -Oracle Open Office Calc : cross-classified tables -Oracle Open Office Calc : csv files -Oracle Open Office Calc : csv files;formulas -Oracle Open Office Calc : csv files;importing and exporting -Oracle Open Office Calc : CTL -Oracle Open Office Calc : CTL;(not) wrapping words -Oracle Open Office Calc : CTL;complex text layout languages -Oracle Open Office Calc : CTL;definition -Oracle Open Office Calc : CTL;options -Oracle Open Office Calc : CTL;right-to-left sheets -Oracle Open Office Calc : CUMIPMT function -Oracle Open Office Calc : CUMIPMT_ADD function -Oracle Open Office Calc : CUMPRINC function -Oracle Open Office Calc : CUMPRINC_ADD function -Oracle Open Office Calc : cumulative lognormal distribution -Oracle Open Office Calc : cumulative probability density function -Oracle Open Office Calc : cumulative probability density function;calculating -Oracle Open Office Calc : cumulative probability density function;inverse of -Oracle Open Office Calc : currencies -Oracle Open Office Calc : currencies;converters -Oracle Open Office Calc : currencies;default currencies -Oracle Open Office Calc : currencies;format codes -Oracle Open Office Calc : currencies;formats -Oracle Open Office Calc : currency field creation -Oracle Open Office Calc : currency formats -Oracle Open Office Calc : currency formats -Oracle Open Office Calc : currency formats;spreadsheets -Oracle Open Office Calc : current date and time values -Oracle Open Office Calc : CURRENT function -Oracle Open Office Calc : cursor -Oracle Open Office Calc : cursor;allowing in protected areas (Writer) -Oracle Open Office Calc : cursor;in read-only text -Oracle Open Office Calc : cursor;quickly moving to an object -Oracle Open Office Calc : curves -Oracle Open Office Calc : curves;editing points -Oracle Open Office Calc : curves;properties in line charts/XY charts -Oracle Open Office Calc : custom dictionaries -Oracle Open Office Calc : custom dictionaries;editing -Oracle Open Office Calc : custom hyphens (Writer) -Oracle Open Office Calc : custom quotes -Oracle Open Office Calc : custom templates -Oracle Open Office Calc : customized lists -Oracle Open Office Calc : customizing -Oracle Open Office Calc : customizing;events -Oracle Open Office Calc : customizing;keyboard -Oracle Open Office Calc : customizing;menus -Oracle Open Office Calc : customizing;Oracle Open Office -Oracle Open Office Calc : customizing;round corners -Oracle Open Office Calc : customizing;toolbars -Oracle Open Office Calc : cutting -Oracle Open Office Calc : dashes -Oracle Open Office Calc : data -Oracle Open Office Calc : data;filtering in forms -Oracle Open Office Calc : data;forms and subforms -Oracle Open Office Calc : data;inserting in multiple sheets -Oracle Open Office Calc : data;merging cell ranges -Oracle Open Office Calc : data;read-only -Oracle Open Office Calc : data;showing invalid data -Oracle Open Office Calc : data;sorting in databases -Oracle Open Office Calc : data;sorting in forms -Oracle Open Office Calc : data;user data -Oracle Open Office Calc : data;validity check -Oracle Open Office Calc : data binding change in XForms -Oracle Open Office Calc : data field options for Data Pilot -Oracle Open Office Calc : data labels in charts -Oracle Open Office Calc : Data Navigator -Oracle Open Office Calc : Data Navigator;adding/editing items -Oracle Open Office Calc : Data Navigator;display options -Oracle Open Office Calc : data ranges in charts -Oracle Open Office Calc : data series -Oracle Open Office Calc : data series import -Oracle Open Office Calc : data source browser -Oracle Open Office Calc : data source explorer -Oracle Open Office Calc : data source view -Oracle Open Office Calc : data source view;drag and drop -Oracle Open Office Calc : data source view;overview -Oracle Open Office Calc : data source view;showing -Oracle Open Office Calc : data sources -Oracle Open Office Calc : data sources;as tables -Oracle Open Office Calc : data sources;connection settings (Base) -Oracle Open Office Calc : data sources;copying records to spreadsheets -Oracle Open Office Calc : data sources;displaying current -Oracle Open Office Calc : data sources;external data -Oracle Open Office Calc : data sources;LDAP server (Base) -Oracle Open Office Calc : data sources;Oracle Open Office Base -Oracle Open Office Calc : data sources;registering address books -Oracle Open Office Calc : data sources;reports -Oracle Open Office Calc : data sources;setting for stock charts -Oracle Open Office Calc : data sources;viewing -Oracle Open Office Calc : data structure of XForms -Oracle Open Office Calc : data tables -Oracle Open Office Calc : data tables;multiple operations in -Oracle Open Office Calc : data validity -Oracle Open Office Calc : data values in charts -Oracle Open Office Calc : data, see also values -Oracle Open Office Calc : database contents -Oracle Open Office Calc : database contents;inserting as tables -Oracle Open Office Calc : database contents;inserting as text -Oracle Open Office Calc : database ranges -Oracle Open Office Calc : database ranges;advanced filters -Oracle Open Office Calc : database ranges;applying/removing filters -Oracle Open Office Calc : database ranges;AutoFilter function -Oracle Open Office Calc : database ranges;defining -Oracle Open Office Calc : database ranges;hiding AutoFilter -Oracle Open Office Calc : database ranges;refreshing -Oracle Open Office Calc : database ranges;sorting -Oracle Open Office Calc : database reports -Oracle Open Office Calc : Database Wizard (Base) -Oracle Open Office Calc : databases -Oracle Open Office Calc : databases;administration through SQL (Base) -Oracle Open Office Calc : databases;ADO (Base) -Oracle Open Office Calc : databases;connecting (Base) -Oracle Open Office Calc : databases;creating -Oracle Open Office Calc : databases;creating labels -Oracle Open Office Calc : databases;creating queries -Oracle Open Office Calc : databases;creating reports -Oracle Open Office Calc : databases;creating tables -Oracle Open Office Calc : databases;deleting (Base) -Oracle Open Office Calc : databases;drag and drop (Base) -Oracle Open Office Calc : databases;editing tables -Oracle Open Office Calc : databases;form filters -Oracle Open Office Calc : databases;formats (Base) -Oracle Open Office Calc : databases;functions in Oracle Open Office Calc -Oracle Open Office Calc : databases;importing/exporting -Oracle Open Office Calc : databases;JDBC (Base) -Oracle Open Office Calc : databases;main page (Base) -Oracle Open Office Calc : databases;ODBC (Base) -Oracle Open Office Calc : databases;overview -Oracle Open Office Calc : databases;registering (Base) -Oracle Open Office Calc : databases;searching records -Oracle Open Office Calc : databases;selecting (Calc) -Oracle Open Office Calc : databases;shortcut keys -Oracle Open Office Calc : databases;sorting -Oracle Open Office Calc : databases;standard filters -Oracle Open Office Calc : databases;text formats -Oracle Open Office Calc : databases;viewing -Oracle Open Office Calc : DataPilot function -Oracle Open Office Calc : DataPilot function;calling up and applying -Oracle Open Office Calc : DataPilot function;deleting tables -Oracle Open Office Calc : DataPilot function;drill down -Oracle Open Office Calc : DataPilot function;editing tables -Oracle Open Office Calc : DataPilot function;filtering tables -Oracle Open Office Calc : DataPilot function;grouping table entries -Oracle Open Office Calc : DataPilot function;introduction -Oracle Open Office Calc : DataPilot function;preventing data overwriting -Oracle Open Office Calc : DataPilot function;refreshing tables -Oracle Open Office Calc : DataPilot function;show details -Oracle Open Office Calc : DataPilot tables -Oracle Open Office Calc : date and time functions -Oracle Open Office Calc : date fields -Oracle Open Office Calc : date fields;creating -Oracle Open Office Calc : date fields;properties -Oracle Open Office Calc : date formats -Oracle Open Office Calc : date formats;avoiding conversion to -Oracle Open Office Calc : date formats -Oracle Open Office Calc : DATE function -Oracle Open Office Calc : date series -Oracle Open Office Calc : dates -Oracle Open Office Calc : dates;19xx/20xx -Oracle Open Office Calc : dates;default (Calc) -Oracle Open Office Calc : dates;in cells -Oracle Open Office Calc : dates;interest date prior to settlement date -Oracle Open Office Calc : dates;printing in presentations -Oracle Open Office Calc : dates;start 1900/01/01 (Calc) -Oracle Open Office Calc : dates;start 1904/01/01 (Calc) -Oracle Open Office Calc : dates;updating automatically -Oracle Open Office Calc : DATEVALUE function -Oracle Open Office Calc : DAVERAGE function -Oracle Open Office Calc : DAY function -Oracle Open Office Calc : DAYS function -Oracle Open Office Calc : DAYS360 function -Oracle Open Office Calc : DAYSINMONTH function -Oracle Open Office Calc : DAYSINYEAR function -Oracle Open Office Calc : DB function -Oracle Open Office Calc : dBASE -Oracle Open Office Calc : dBASE;database settings (Base) -Oracle Open Office Calc : dBASE import/export -Oracle Open Office Calc : DCOUNT function -Oracle Open Office Calc : DCOUNTA function -Oracle Open Office Calc : DDB function -Oracle Open Office Calc : DDE -Oracle Open Office Calc : DDE;definition -Oracle Open Office Calc : DDE function -Oracle Open Office Calc : deactivating -Oracle Open Office Calc : deactivating;automatic changes -Oracle Open Office Calc : deactivating;plug-ins -Oracle Open Office Calc : DEC2BIN function -Oracle Open Office Calc : DEC2HEX function -Oracle Open Office Calc : DEC2OCT function -Oracle Open Office Calc : DECIMAL function -Oracle Open Office Calc : decimal places -Oracle Open Office Calc : decimal places;adding/deleting -Oracle Open Office Calc : decimal places;cutting off -Oracle Open Office Calc : decimal places;formatting numbers -Oracle Open Office Calc : decimal places;showing -Oracle Open Office Calc : decimal places displayed (Calc) -Oracle Open Office Calc : decimal separator key -Oracle Open Office Calc : decimal system -Oracle Open Office Calc : decimal system;converting to -Oracle Open Office Calc : decimal tab stops -Oracle Open Office Calc : default directories -Oracle Open Office Calc : default filters -Oracle Open Office Calc : default filters;comparison operators -Oracle Open Office Calc : default filters;databases -Oracle Open Office Calc : default printer -Oracle Open Office Calc : default printer;setting up -Oracle Open Office Calc : default printer;UNIX -Oracle Open Office Calc : default templates -Oracle Open Office Calc : default templates;changing -Oracle Open Office Calc : default templates;organizing -Oracle Open Office Calc : defaults -Oracle Open Office Calc : defaults;currency formats -Oracle Open Office Calc : defaults;documents -Oracle Open Office Calc : defaults;file formats in file dialogs -Oracle Open Office Calc : defaults;file formats in Oracle Open Office -Oracle Open Office Calc : defaults;fonts -Oracle Open Office Calc : defaults;grids (Writer/Calc) -Oracle Open Office Calc : defaults;languages -Oracle Open Office Calc : defaults;number formats -Oracle Open Office Calc : defaults;number formats in spreadsheets -Oracle Open Office Calc : defaults;of saving -Oracle Open Office Calc : defaults;program configuration -Oracle Open Office Calc : defaults;tab stops in text -Oracle Open Office Calc : defaults;views -Oracle Open Office Calc : defining -Oracle Open Office Calc : defining;advanced filters -Oracle Open Office Calc : defining;arrowheads and other line ends -Oracle Open Office Calc : defining;AutoFormat function for tables -Oracle Open Office Calc : defining;colors -Oracle Open Office Calc : defining;database ranges -Oracle Open Office Calc : defining;line styles -Oracle Open Office Calc : defining;names for cell ranges -Oracle Open Office Calc : defining;paragraph borders -Oracle Open Office Calc : defining;print ranges -Oracle Open Office Calc : defining;queries (Base) -Oracle Open Office Calc : defining;sort lists -Oracle Open Office Calc : defining;table borders -Oracle Open Office Calc : DEGREES function -Oracle Open Office Calc : deleting -Oracle Open Office Calc : deleting;all direct formatting -Oracle Open Office Calc : deleting;cell contents -Oracle Open Office Calc : deleting;cells/rows/columns -Oracle Open Office Calc : deleting;comments -Oracle Open Office Calc : deleting;databases (Base) -Oracle Open Office Calc : deleting;DataPilot tables -Oracle Open Office Calc : deleting;decimal places -Oracle Open Office Calc : deleting;hyperlinks -Oracle Open Office Calc : deleting;lines in text -Oracle Open Office Calc : deleting;manual column breaks -Oracle Open Office Calc : deleting;manual row breaks -Oracle Open Office Calc : deleting;models/instances -Oracle Open Office Calc : deleting;namespaces in XForms -Oracle Open Office Calc : deleting;print ranges -Oracle Open Office Calc : deleting;spreadsheets -Oracle Open Office Calc : deleting;tab stops -Oracle Open Office Calc : deleting;templates -Oracle Open Office Calc : deleting;visible cells only -Oracle Open Office Calc : deleting;XML filters -Oracle Open Office Calc : delimited values and files -Oracle Open Office Calc : DELTA function -Oracle Open Office Calc : density function -Oracle Open Office Calc : depreciations -Oracle Open Office Calc : depreciations;arithmetic declining -Oracle Open Office Calc : depreciations;arithmetic-degressive -Oracle Open Office Calc : depreciations;degressive amortizations -Oracle Open Office Calc : depreciations;geometric-degressive -Oracle Open Office Calc : depreciations;linear -Oracle Open Office Calc : depreciations;linear amortizations -Oracle Open Office Calc : depreciations;variable declining -Oracle Open Office Calc : depth stagger -Oracle Open Office Calc : descriptions for objects -Oracle Open Office Calc : design mode after saving -Oracle Open Office Calc : design view -Oracle Open Office Calc : design view;creating forms -Oracle Open Office Calc : design view;queries/views (Base) -Oracle Open Office Calc : designing -Oracle Open Office Calc : designing;database tables -Oracle Open Office Calc : designing;fonts -Oracle Open Office Calc : designing;queries (Base) -Oracle Open Office Calc : detaching toolbars -Oracle Open Office Calc : determinants -Oracle Open Office Calc : determination coefficients -Oracle Open Office Calc : DEVSQ function -Oracle Open Office Calc : DGET function -Oracle Open Office Calc : dictionaries -Oracle Open Office Calc : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Calc : dictionaries;creating -Oracle Open Office Calc : dictionaries;editing user-defined -Oracle Open Office Calc : dictionaries;spellcheck -Oracle Open Office Calc : dictionaries, see also languages -Oracle Open Office Calc : digital signatures -Oracle Open Office Calc : digital signatures;getting/managing/applying -Oracle Open Office Calc : digital signatures;overview -Oracle Open Office Calc : digital signatures;WebDAV over HTTPS -Oracle Open Office Calc : direct formatting -Oracle Open Office Calc : direct formatting;undoing all -Oracle Open Office Calc : directories -Oracle Open Office Calc : directories;creating new -Oracle Open Office Calc : directories;directory structure -Oracle Open Office Calc : disabled persons -Oracle Open Office Calc : DISC function -Oracle Open Office Calc : discounts -Oracle Open Office Calc : display options in Data Pilot -Oracle Open Office Calc : displaying -Oracle Open Office Calc : displaying;comments (Calc) -Oracle Open Office Calc : displaying;comments in text documents -Oracle Open Office Calc : displaying;formulas at any position -Oracle Open Office Calc : displaying;formulas instead of results -Oracle Open Office Calc : displaying;headers of columns/rows -Oracle Open Office Calc : displaying;non-printing characters (Writer) -Oracle Open Office Calc : displaying;pictures and objects (Writer) -Oracle Open Office Calc : displaying;scenario names -Oracle Open Office Calc : displaying;sheets -Oracle Open Office Calc : displaying;tables (Writer) -Oracle Open Office Calc : displaying;zero values (Calc) -Oracle Open Office Calc : distances -Oracle Open Office Calc : distinct values in SQL queries -Oracle Open Office Calc : distorting in drawings -Oracle Open Office Calc : distributing XML filters -Oracle Open Office Calc : division sign, see also operators -Oracle Open Office Calc : divisions -Oracle Open Office Calc : DMAX function -Oracle Open Office Calc : DMIN function -Oracle Open Office Calc : docking -Oracle Open Office Calc : docking;definition -Oracle Open Office Calc : docking;toolbars -Oracle Open Office Calc : docking;windows -Oracle Open Office Calc : Document Converter Wizard -Oracle Open Office Calc : Document Map, see Navigator -Oracle Open Office Calc : document types in Oracle Open Office -Oracle Open Office Calc : documents -Oracle Open Office Calc : documents;changing titles -Oracle Open Office Calc : documents;closing -Oracle Open Office Calc : documents;comparing -Oracle Open Office Calc : documents;contents as lists -Oracle Open Office Calc : documents;editing time -Oracle Open Office Calc : documents;exporting -Oracle Open Office Calc : documents;importing -Oracle Open Office Calc : documents;languages -Oracle Open Office Calc : documents;measurement units in -Oracle Open Office Calc : documents;merging -Oracle Open Office Calc : documents;number of pages/tables/sheets -Oracle Open Office Calc : documents;opening -Oracle Open Office Calc : documents;opening in design mode -Oracle Open Office Calc : documents;opening with templates -Oracle Open Office Calc : documents;organizing -Oracle Open Office Calc : documents;printing -Oracle Open Office Calc : documents;protecting -Oracle Open Office Calc : documents;read-only -Oracle Open Office Calc : documents;references -Oracle Open Office Calc : documents;reloading -Oracle Open Office Calc : documents;saving -Oracle Open Office Calc : documents;saving automatically -Oracle Open Office Calc : documents;saving in other formats -Oracle Open Office Calc : documents;sending as e-mail -Oracle Open Office Calc : documents;styles changed -Oracle Open Office Calc : documents;version management -Oracle Open Office Calc : documents;version numbers -Oracle Open Office Calc : DOLLAR function -Oracle Open Office Calc : DOLLARDE function -Oracle Open Office Calc : DOLLARFR function -Oracle Open Office Calc : donut charts -Oracle Open Office Calc : dot products -Oracle Open Office Calc : dotted areas -Oracle Open Office Calc : double-line spacing in paragraphs -Oracle Open Office Calc : double-line writing in Asian layout -Oracle Open Office Calc : DPRODUCT function -Oracle Open Office Calc : drag and drop -Oracle Open Office Calc : drag and drop;copying and pasting text -Oracle Open Office Calc : drag and drop;data source view -Oracle Open Office Calc : drag and drop;from Gallery to draw objects -Oracle Open Office Calc : drag and drop;moving cells -Oracle Open Office Calc : drag and drop;overview -Oracle Open Office Calc : drag and drop;pictures -Oracle Open Office Calc : drag and drop;referencing cells -Oracle Open Office Calc : drag and drop;to Gallery -Oracle Open Office Calc : draw objects -Oracle Open Office Calc : draw objects;adding/editing/copying -Oracle Open Office Calc : draw objects;anchoring -Oracle Open Office Calc : draw objects;arranging within stacks -Oracle Open Office Calc : draw objects;copying between documents -Oracle Open Office Calc : draw objects;displaying (Calc) -Oracle Open Office Calc : draw objects;dropping Gallery pictures -Oracle Open Office Calc : draw objects;flipping -Oracle Open Office Calc : draw objects;legends -Oracle Open Office Calc : draw objects;positioning and resizing -Oracle Open Office Calc : draw objects;printing -Oracle Open Office Calc : draw objects;protecting -Oracle Open Office Calc : draw objects;slanting -Oracle Open Office Calc : draw objects;text in -Oracle Open Office Calc : Drawing bar -Oracle Open Office Calc : drawing lines in text -Oracle Open Office Calc : drawings -Oracle Open Office Calc : drawings;creating/opening -Oracle Open Office Calc : drawings;languages -Oracle Open Office Calc : drawings;printing -Oracle Open Office Calc : drawings;printing defaults -Oracle Open Office Calc : drawings;printing in text documents -Oracle Open Office Calc : drawings;saving -Oracle Open Office Calc : drawings;saving automatically -Oracle Open Office Calc : drawings;saving in other formats -Oracle Open Office Calc : drawings;sending as e-mail -Oracle Open Office Calc : drawings;showing (Writer) -Oracle Open Office Calc : drawings, see also draw objects -Oracle Open Office Calc : drop-down lists in form functions -Oracle Open Office Calc : drop-down menus in sheet columns -Oracle Open Office Calc : DSTDEV function -Oracle Open Office Calc : DSTDEVP function -Oracle Open Office Calc : DSUM function -Oracle Open Office Calc : DURATION function -Oracle Open Office Calc : DURATION_ADD function -Oracle Open Office Calc : durations -Oracle Open Office Calc : durations;calculating -Oracle Open Office Calc : durations;first interest payment until settlement date -Oracle Open Office Calc : durations;fixed interest securities -Oracle Open Office Calc : DVAR function -Oracle Open Office Calc : DVARP function -Oracle Open Office Calc : e-mail attachments -Oracle Open Office Calc : EASTERSUNDAY function -Oracle Open Office Calc : EDATE function -Oracle Open Office Calc : Edit File icon -Oracle Open Office Calc : edit mode -Oracle Open Office Calc : edit mode;after opening -Oracle Open Office Calc : edit mode;through Enter key (Calc) -Oracle Open Office Calc : Edit Points bar -Oracle Open Office Calc : editing -Oracle Open Office Calc : editing;array formulas -Oracle Open Office Calc : editing;chart axes -Oracle Open Office Calc : editing;chart data -Oracle Open Office Calc : editing;chart legends -Oracle Open Office Calc : editing;chart titles -Oracle Open Office Calc : editing;comments -Oracle Open Office Calc : editing;data binding of XForms -Oracle Open Office Calc : editing;database tables and queries -Oracle Open Office Calc : editing;DataPilot tables -Oracle Open Office Calc : editing;draw objects -Oracle Open Office Calc : editing;Fontwork objects -Oracle Open Office Calc : editing;hyperlinks -Oracle Open Office Calc : editing;menus -Oracle Open Office Calc : editing;objects -Oracle Open Office Calc : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Calc : editing;pictures -Oracle Open Office Calc : editing;print ranges -Oracle Open Office Calc : editing;reports -Oracle Open Office Calc : editing;shortcut keys -Oracle Open Office Calc : editing;tab stops -Oracle Open Office Calc : editing;templates -Oracle Open Office Calc : editing;titles -Oracle Open Office Calc : editing;toolbars -Oracle Open Office Calc : editing;undoing -Oracle Open Office Calc : editing;XForms -Oracle Open Office Calc : editing time of documents -Oracle Open Office Calc : editors -Oracle Open Office Calc : editors;formula editor -Oracle Open Office Calc : editors;ImageMap editor -Oracle Open Office Calc : EFFECT_ADD function -Oracle Open Office Calc : EFFECTIVE function -Oracle Open Office Calc : effective interest rates -Oracle Open Office Calc : effects -Oracle Open Office Calc : effects;font positions -Oracle Open Office Calc : effects;fonts -Oracle Open Office Calc : effects;Fontwork icons -Oracle Open Office Calc : empty cells -Oracle Open Office Calc : empty cells;counting -Oracle Open Office Calc : empty cells;handling of -Oracle Open Office Calc : empty cells;recognizing -Oracle Open Office Calc : empty documents -Oracle Open Office Calc : empty paragraph removal -Oracle Open Office Calc : encrypting text -Oracle Open Office Calc : encryption of contents -Oracle Open Office Calc : entering entries with AutoInput function -Oracle Open Office Calc : entering groups -Oracle Open Office Calc : entering text from right to left -Oracle Open Office Calc : EOMONTH function -Oracle Open Office Calc : equal sign, see also operators -Oracle Open Office Calc : equations in formula editor -Oracle Open Office Calc : equations in goal seek -Oracle Open Office Calc : ERF function -Oracle Open Office Calc : ERFC function -Oracle Open Office Calc : error bars in charts -Oracle Open Office Calc : error codes -Oracle Open Office Calc : error codes;controlling -Oracle Open Office Calc : error codes;list of -Oracle Open Office Calc : error indicators in charts -Oracle Open Office Calc : error messages -Oracle Open Office Calc : error messages;defining for incorrect input -Oracle Open Office Calc : error messages;invalid references -Oracle Open Office Calc : Error Report Tool -Oracle Open Office Calc : error tracing -Oracle Open Office Calc : ERRORTYPE function -Oracle Open Office Calc : Euro -Oracle Open Office Calc : Euro;converting -Oracle Open Office Calc : Euro;currency formats -Oracle Open Office Calc : Euro;Euro Converter Wizard -Oracle Open Office Calc : EUROCONVERT function -Oracle Open Office Calc : EVEN function -Oracle Open Office Calc : even integers -Oracle Open Office Calc : even/odd pages -Oracle Open Office Calc : even/odd pages;printing -Oracle Open Office Calc : events -Oracle Open Office Calc : events;assigning scripts -Oracle Open Office Calc : events;controls -Oracle Open Office Calc : events;customizing -Oracle Open Office Calc : events;in forms -Oracle Open Office Calc : EXACT function -Oracle Open Office Calc : exact numbers in Oracle Open Office Calc -Oracle Open Office Calc : examples -Oracle Open Office Calc : examples;formula calculation -Oracle Open Office Calc : examples;goal seek -Oracle Open Office Calc : Excel -Oracle Open Office Calc : Excel;saving as -Oracle Open Office Calc : Excel;search criteria -Oracle Open Office Calc : exceptions -Oracle Open Office Calc : exceptions;user-defined dictionaries -Oracle Open Office Calc : exchanging, see also replacing -Oracle Open Office Calc : executing SQL commands -Oracle Open Office Calc : exiting -Oracle Open Office Calc : exiting;groups -Oracle Open Office Calc : exiting;Oracle Open Office -Oracle Open Office Calc : EXP function -Oracle Open Office Calc : expanding formatting (Calc) -Oracle Open Office Calc : explorer of data sources -Oracle Open Office Calc : EXPONDIST function -Oracle Open Office Calc : exponential distributions -Oracle Open Office Calc : exponential trends in arrays -Oracle Open Office Calc : export filters -Oracle Open Office Calc : exporting -Oracle Open Office Calc : exporting;bitmaps -Oracle Open Office Calc : exporting;cells -Oracle Open Office Calc : exporting;formulas as csv files -Oracle Open Office Calc : exporting;HTML and text documents -Oracle Open Office Calc : exporting;Microsoft Office documents with VBA code -Oracle Open Office Calc : exporting;spreadsheets to dBASE -Oracle Open Office Calc : exporting;spreadsheets to text format -Oracle Open Office Calc : exporting;tables as text -Oracle Open Office Calc : exporting;templates -Oracle Open Office Calc : exporting;to foreign formats -Oracle Open Office Calc : exporting;to HTML -Oracle Open Office Calc : exporting;to Microsoft Office formats -Oracle Open Office Calc : exporting;to PDF -Oracle Open Office Calc : exporting;to PostScript format -Oracle Open Office Calc : exporting;to XML -Oracle Open Office Calc : exporting;XML files -Oracle Open Office Calc : extended tips in Help -Oracle Open Office Calc : extending print ranges -Oracle Open Office Calc : extension mode in text -Oracle Open Office Calc : extensions -Oracle Open Office Calc : extensions;Extension Manager -Oracle Open Office Calc : extensions;file formats -Oracle Open Office Calc : external data -Oracle Open Office Calc : external data;inserting -Oracle Open Office Calc : external DLL functions -Oracle Open Office Calc : external keys (Base) -Oracle Open Office Calc : extrapolations -Oracle Open Office Calc : FACT function -Oracle Open Office Calc : FACTDOUBLE function -Oracle Open Office Calc : factorials -Oracle Open Office Calc : factorials;numbers -Oracle Open Office Calc : factorials;numbers with increments of two -Oracle Open Office Calc : FALSE function -Oracle Open Office Calc : faster printing -Oracle Open Office Calc : faxes -Oracle Open Office Calc : faxes;configuring Oracle Open Office -Oracle Open Office Calc : faxes;fax programs/fax printers under UNIX -Oracle Open Office Calc : faxes;selecting a fax machine -Oracle Open Office Calc : faxes;sending -Oracle Open Office Calc : faxes;wizards -Oracle Open Office Calc : FDIST function -Oracle Open Office Calc : feedback -Oracle Open Office Calc : feedback;automatically -Oracle Open Office Calc : fields -Oracle Open Office Calc : fields;database tables -Oracle Open Office Calc : fields;displaying field codes (Writer) -Oracle Open Office Calc : fields;formatted fields -Oracle Open Office Calc : fields;updating automatically (Writer) -Oracle Open Office Calc : file associations for Microsoft Office -Oracle Open Office Calc : file filters -Oracle Open Office Calc : file filters;mobile devices -Oracle Open Office Calc : file filters;XML -Oracle Open Office Calc : file formats -Oracle Open Office Calc : file formats;changing Oracle Open Office defaults -Oracle Open Office Calc : file formats;OpenDocument/XML -Oracle Open Office Calc : file formats;saving always in other formats -Oracle Open Office Calc : file names in headers/footers -Oracle Open Office Calc : file selection button -Oracle Open Office Calc : file sharing options for current document -Oracle Open Office Calc : files -Oracle Open Office Calc : files;filters and formats -Oracle Open Office Calc : files;importing -Oracle Open Office Calc : files;opening -Oracle Open Office Calc : files;opening with placeholders -Oracle Open Office Calc : files;properties -Oracle Open Office Calc : files;saving -Oracle Open Office Calc : files;saving automatically -Oracle Open Office Calc : files;saving in other formats -Oracle Open Office Calc : files;sending as e-mail -Oracle Open Office Calc : files;version numbers -Oracle Open Office Calc : files and folders in Oracle Open Office -Oracle Open Office Calc : fill characters with tabulators -Oracle Open Office Calc : fill colors for areas -Oracle Open Office Calc : fill patterns for areas -Oracle Open Office Calc : filling -Oracle Open Office Calc : filling;cells, automatically -Oracle Open Office Calc : filling;customized lists -Oracle Open Office Calc : filling;selection lists -Oracle Open Office Calc : filter conditions -Oracle Open Office Calc : filter conditions;connecting -Oracle Open Office Calc : filter conditions;in queries (Base) -Oracle Open Office Calc : filtered data -Oracle Open Office Calc : filtered data;sums -Oracle Open Office Calc : filtering -Oracle Open Office Calc : filtering;cell ranges/database ranges -Oracle Open Office Calc : filtering;data in databases -Oracle Open Office Calc : filtering;data in forms -Oracle Open Office Calc : filtering;DataPilot tables -Oracle Open Office Calc : filters -Oracle Open Office Calc : filters;applying/removing -Oracle Open Office Calc : filters;comparison operators -Oracle Open Office Calc : filters;copying visible cells only -Oracle Open Office Calc : filters;defining advanced filters -Oracle Open Office Calc : filters;for import and export -Oracle Open Office Calc : filters;Navigator -Oracle Open Office Calc : filters;pictures -Oracle Open Office Calc : filters;XML filter settings -Oracle Open Office Calc : filters, see also AutoFilter function -Oracle Open Office Calc : financial functions -Oracle Open Office Calc : FIND function -Oracle Open Office Calc : Find tab in Help -Oracle Open Office Calc : finding -Oracle Open Office Calc : finding;formulas/values/text/objects -Oracle Open Office Calc : finding;in all sheets -Oracle Open Office Calc : finding;records in form documents -Oracle Open Office Calc : finding;selections -Oracle Open Office Calc : finding;similarity search -Oracle Open Office Calc : FINV function -Oracle Open Office Calc : FISHER function -Oracle Open Office Calc : FISHERINV function -Oracle Open Office Calc : fitting to pages -Oracle Open Office Calc : fitting to pages;print settings in Math -Oracle Open Office Calc : fitting to pages;print settings in presentations -Oracle Open Office Calc : FIXED function -Oracle Open Office Calc : fixed text -Oracle Open Office Calc : fixed text;form functions -Oracle Open Office Calc : fixing toolbars -Oracle Open Office Calc : flipping draw objects -Oracle Open Office Calc : floating frames in HTML documents -Oracle Open Office Calc : floating toolbars -Oracle Open Office Calc : FLOOR function -Oracle Open Office Calc : focus of controls -Oracle Open Office Calc : folder creation -Oracle Open Office Calc : font lists -Oracle Open Office Calc : font name box -Oracle Open Office Calc : font sizes -Oracle Open Office Calc : font sizes;bullets -Oracle Open Office Calc : font sizes;relative changes -Oracle Open Office Calc : font sizes;scaling on screen -Oracle Open Office Calc : font sizes;text -Oracle Open Office Calc : fonts -Oracle Open Office Calc : fonts;adding under UNIX -Oracle Open Office Calc : fonts;changing in templates -Oracle Open Office Calc : fonts;colors -Oracle Open Office Calc : fonts;default settings -Oracle Open Office Calc : fonts;effects -Oracle Open Office Calc : fonts;for HTML and Basic -Oracle Open Office Calc : fonts;formats -Oracle Open Office Calc : fonts;outlines -Oracle Open Office Calc : fonts;positions in text -Oracle Open Office Calc : fonts;shadows -Oracle Open Office Calc : fonts;specifying several -Oracle Open Office Calc : fonts;strikethrough -Oracle Open Office Calc : fonts;styles -Oracle Open Office Calc : fonts;text objects -Oracle Open Office Calc : Fontwork icons -Oracle Open Office Calc : footers -Oracle Open Office Calc : footers;backgrounds -Oracle Open Office Calc : footers;defining -Oracle Open Office Calc : footers;printing on sheets -Oracle Open Office Calc : forced array handling -Oracle Open Office Calc : FORECAST function -Oracle Open Office Calc : form controls -Oracle Open Office Calc : form controls;assigning macros -Oracle Open Office Calc : form controls;protecting -Oracle Open Office Calc : form controls;toolbars -Oracle Open Office Calc : form fields -Oracle Open Office Calc : form filters -Oracle Open Office Calc : Form Navigator -Oracle Open Office Calc : format codes -Oracle Open Office Calc : format codes;numbers -Oracle Open Office Calc : format codes;user-defined number formats -Oracle Open Office Calc : format filling printing in Oracle Open Office Math -Oracle Open Office Calc : Format Paintbrush -Oracle Open Office Calc : formats -Oracle Open Office Calc : formats;Asian layout -Oracle Open Office Calc : formats;assigning by formulas -Oracle Open Office Calc : formats;automatically formatting spreadsheets -Oracle Open Office Calc : formats;changing text/number -Oracle Open Office Calc : formats;currency formats in cells -Oracle Open Office Calc : formats;fonts -Oracle Open Office Calc : formats;maximizing page formats -Oracle Open Office Calc : formats;number and currency formats -Oracle Open Office Calc : formats;numbers as text -Oracle Open Office Calc : formats;numbers in tables -Oracle Open Office Calc : formats;of currencies/date/time -Oracle Open Office Calc : formats;on opening and saving -Oracle Open Office Calc : formats;pasting in special formats -Oracle Open Office Calc : formats;positions -Oracle Open Office Calc : formats;Styles and Formatting window -Oracle Open Office Calc : formats;tabulators -Oracle Open Office Calc : formats;themes for sheets -Oracle Open Office Calc : formatted fields -Oracle Open Office Calc : formatted fields;form functions -Oracle Open Office Calc : formatted fields;properties -Oracle Open Office Calc : formatting -Oracle Open Office Calc : formatting;adding/deleting decimal places -Oracle Open Office Calc : formatting;Asian typography -Oracle Open Office Calc : formatting;axes in charts -Oracle Open Office Calc : formatting;cells -Oracle Open Office Calc : formatting;chart areas -Oracle Open Office Calc : formatting;chart floors -Oracle Open Office Calc : formatting;chart legends -Oracle Open Office Calc : formatting;chart titles -Oracle Open Office Calc : formatting;chart walls -Oracle Open Office Calc : formatting;comments on cells -Oracle Open Office Calc : formatting;conditional formatting -Oracle Open Office Calc : formatting;copying -Oracle Open Office Calc : formatting;definition -Oracle Open Office Calc : formatting;expanding (Calc) -Oracle Open Office Calc : formatting;font effects -Oracle Open Office Calc : formatting;hyperlinks -Oracle Open Office Calc : formatting;multiple cell texts -Oracle Open Office Calc : formatting;numbers as text -Oracle Open Office Calc : formatting;numbers with decimals -Oracle Open Office Calc : formatting;pages -Oracle Open Office Calc : formatting;printer metrics (Writer) -Oracle Open Office Calc : formatting;spreadsheets -Oracle Open Office Calc : formatting;Styles and Formatting window -Oracle Open Office Calc : formatting;themes for sheets -Oracle Open Office Calc : formatting;undoing -Oracle Open Office Calc : formatting;undoing when writing -Oracle Open Office Calc : formatting;user-defined numbers -Oracle Open Office Calc : formatting;visible cells only -Oracle Open Office Calc : forms -Oracle Open Office Calc : forms;browsing -Oracle Open Office Calc : forms;Combo Box/List Box Wizard -Oracle Open Office Calc : forms;creating -Oracle Open Office Calc : forms;data -Oracle Open Office Calc : forms;designing (Base) -Oracle Open Office Calc : forms;events -Oracle Open Office Calc : forms;filtering data -Oracle Open Office Calc : forms;finding records -Oracle Open Office Calc : forms;focus after opening -Oracle Open Office Calc : forms;general information (Base) -Oracle Open Office Calc : forms;grouping controls -Oracle Open Office Calc : forms;HTML filters -Oracle Open Office Calc : forms;Navigator -Oracle Open Office Calc : forms;opening in design mode -Oracle Open Office Calc : forms;properties -Oracle Open Office Calc : forms;sorting data -Oracle Open Office Calc : forms;subforms -Oracle Open Office Calc : forms;wizards -Oracle Open Office Calc : forms;XForms -Oracle Open Office Calc : formula bar -Oracle Open Office Calc : formula bar;accepting inputs -Oracle Open Office Calc : formula bar;canceling inputs -Oracle Open Office Calc : formula bar;functions -Oracle Open Office Calc : formula bar;input line -Oracle Open Office Calc : formula bar;sheet area names -Oracle Open Office Calc : formula bar;spreadsheets -Oracle Open Office Calc : formula bar;sum function -Oracle Open Office Calc : formula cells -Oracle Open Office Calc : formula cells;displaying formulas in other cells -Oracle Open Office Calc : formula cells;recognizing -Oracle Open Office Calc : formula cells;removing precedents -Oracle Open Office Calc : formula cells;tracing precedents -Oracle Open Office Calc : FORMULA function -Oracle Open Office Calc : formula list window -Oracle Open Office Calc : formula texts -Oracle Open Office Calc : formula texts;printing in Oracle Open Office Math -Oracle Open Office Calc : formulas -Oracle Open Office Calc : formulas;arrays -Oracle Open Office Calc : formulas;assigning cell formats -Oracle Open Office Calc : formulas;AutoCalculate function -Oracle Open Office Calc : formulas;calculating -Oracle Open Office Calc : formulas;calculating with -Oracle Open Office Calc : formulas;copying and pasting -Oracle Open Office Calc : formulas;defining names -Oracle Open Office Calc : formulas;displaying in cells -Oracle Open Office Calc : formulas;hiding -Oracle Open Office Calc : formulas;importing/exporting as csv files -Oracle Open Office Calc : formulas;inputting -Oracle Open Office Calc : formulas;matrix formulas -Oracle Open Office Calc : formulas;new -Oracle Open Office Calc : formulas;operators -Oracle Open Office Calc : formulas;printing, instead of results -Oracle Open Office Calc : formulas;recalculating manually -Oracle Open Office Calc : formulas;starting formula editor -Oracle Open Office Calc : formulas;status bar -Oracle Open Office Calc : formulas;using row/column labels -Oracle Open Office Calc : formulas in reports -Oracle Open Office Calc : formulas in reports;editing -Oracle Open Office Calc : forums and support -Oracle Open Office Calc : fractions -Oracle Open Office Calc : fractions;converting -Oracle Open Office Calc : fractions;entering -Oracle Open Office Calc : frames -Oracle Open Office Calc : frames;around paragraphs -Oracle Open Office Calc : frames;around tables -Oracle Open Office Calc : frames;AutoCorrect function -Oracle Open Office Calc : frames;backgrounds -Oracle Open Office Calc : frames;captions (Writer) -Oracle Open Office Calc : frames;printing in Oracle Open Office Math -Oracle Open Office Calc : frames;protecting -Oracle Open Office Calc : frames;selection frames -Oracle Open Office Calc : frames;text fitting to frames -Oracle Open Office Calc : freeform lines -Oracle Open Office Calc : freeform lines;draw functions -Oracle Open Office Calc : freezing rows or columns -Oracle Open Office Calc : FREQUENCY function -Oracle Open Office Calc : FTEST function -Oracle Open Office Calc : FTP -Oracle Open Office Calc : FTP;opening documents -Oracle Open Office Calc : FTP;saving documents -Oracle Open Office Calc : full joins (Base) -Oracle Open Office Calc : full screen view -Oracle Open Office Calc : full-text search in Help -Oracle Open Office Calc : function list window -Oracle Open Office Calc : Function Wizard -Oracle Open Office Calc : Function Wizard;add-ins -Oracle Open Office Calc : Function Wizard;arrays -Oracle Open Office Calc : Function Wizard;databases -Oracle Open Office Calc : Function Wizard;date & time -Oracle Open Office Calc : Function Wizard;financial -Oracle Open Office Calc : Function Wizard;information -Oracle Open Office Calc : Function Wizard;logical -Oracle Open Office Calc : Function Wizard;mathematical -Oracle Open Office Calc : Function Wizard;spreadsheets -Oracle Open Office Calc : Function Wizard;statistics -Oracle Open Office Calc : Function Wizard;text -Oracle Open Office Calc : functions -Oracle Open Office Calc : functions;accepting input icon -Oracle Open Office Calc : functions;add-in functions -Oracle Open Office Calc : functions;array functions -Oracle Open Office Calc : functions;canceling input icon -Oracle Open Office Calc : functions;database functions -Oracle Open Office Calc : functions;date & time -Oracle Open Office Calc : functions;financial functions -Oracle Open Office Calc : functions;formula bar icon -Oracle Open Office Calc : functions;Function Wizard -Oracle Open Office Calc : functions;information functions -Oracle Open Office Calc : functions;listed by category -Oracle Open Office Calc : functions;logical functions -Oracle Open Office Calc : functions;mathematical functions -Oracle Open Office Calc : functions;Oracle Open Office Calc add-in DLL -Oracle Open Office Calc : functions;spreadsheets -Oracle Open Office Calc : functions;statistics functions -Oracle Open Office Calc : functions;sum function icon -Oracle Open Office Calc : functions;text functions -Oracle Open Office Calc : functions;user-defined -Oracle Open Office Calc : functions in reports -Oracle Open Office Calc : functions in reports;editing -Oracle Open Office Calc : future values -Oracle Open Office Calc : future values;constant interest rates -Oracle Open Office Calc : future values;varying interest rates -Oracle Open Office Calc : FV function -Oracle Open Office Calc : FVSCHEDULE function -Oracle Open Office Calc : Gallery -Oracle Open Office Calc : Gallery;adding pictures -Oracle Open Office Calc : Gallery;dragging pictures to draw objects -Oracle Open Office Calc : Gallery;hiding/showing -Oracle Open Office Calc : Gallery;inserting pictures from -Oracle Open Office Calc : GAMMA function -Oracle Open Office Calc : GAMMADIST function -Oracle Open Office Calc : GAMMAINV function -Oracle Open Office Calc : GAMMALN function -Oracle Open Office Calc : GAUSS function -Oracle Open Office Calc : Gaussian error integral -Oracle Open Office Calc : GCD function -Oracle Open Office Calc : GCD_ADD function -Oracle Open Office Calc : GEOMEAN function -Oracle Open Office Calc : geometric lists -Oracle Open Office Calc : geometric-degressive depreciations -Oracle Open Office Calc : GESTEP function -Oracle Open Office Calc : get method for form transmissions -Oracle Open Office Calc : GETPIVOTDATA function -Oracle Open Office Calc : getting support -Oracle Open Office Calc : GIF format -Oracle Open Office Calc : glossaries -Oracle Open Office Calc : glossaries;common terms -Oracle Open Office Calc : glossaries;Internet terms -Oracle Open Office Calc : goal seeking -Oracle Open Office Calc : goal seeking;example -Oracle Open Office Calc : goal seeking;solver -Oracle Open Office Calc : gradients off for faster printing -Oracle Open Office Calc : graphic objects, see draw objects -Oracle Open Office Calc : graphical text art -Oracle Open Office Calc : graphics -Oracle Open Office Calc : graphics;cache -Oracle Open Office Calc : graphics;protecting -Oracle Open Office Calc : graphics, see also pictures -Oracle Open Office Calc : grayscale printing -Oracle Open Office Calc : greatest common divisor -Oracle Open Office Calc : grid controls -Oracle Open Office Calc : grid controls;form functions -Oracle Open Office Calc : grids -Oracle Open Office Calc : grids;defaults (Writer/Calc) -Oracle Open Office Calc : grids;display options (Impress/Draw) -Oracle Open Office Calc : grids;displaying lines (Calc) -Oracle Open Office Calc : grids;formatting axes -Oracle Open Office Calc : grids;hiding lines in sheets -Oracle Open Office Calc : grids;inserting in charts -Oracle Open Office Calc : grids;printing sheet grids -Oracle Open Office Calc : group box creation -Oracle Open Office Calc : grouping -Oracle Open Office Calc : grouping;cells -Oracle Open Office Calc : grouping;DataPilot tables -Oracle Open Office Calc : groups -Oracle Open Office Calc : groups;entering/exiting/ungrouping -Oracle Open Office Calc : groups;naming -Oracle Open Office Calc : groups;of controls -Oracle Open Office Calc : GROWTH function -Oracle Open Office Calc : growth series -Oracle Open Office Calc : guides -Oracle Open Office Calc : guides;display options (Impress/Draw) -Oracle Open Office Calc : guides;displaying when moving objects (Impress) -Oracle Open Office Calc : guides;showing (Calc) -Oracle Open Office Calc : guides;showing when moving frames (Writer) -Oracle Open Office Calc : gutter -Oracle Open Office Calc : handles -Oracle Open Office Calc : handles;displaying (Writer) -Oracle Open Office Calc : handles;scaling -Oracle Open Office Calc : handles;showing simple/large handles (Calc) -Oracle Open Office Calc : Hangul/Hanja -Oracle Open Office Calc : HARMEAN function -Oracle Open Office Calc : hatching -Oracle Open Office Calc : headers -Oracle Open Office Calc : headers;backgrounds -Oracle Open Office Calc : headers;defining -Oracle Open Office Calc : headers;freezing during table split -Oracle Open Office Calc : headers;printing on sheets -Oracle Open Office Calc : headings -Oracle Open Office Calc : headings;entering as text box -Oracle Open Office Calc : headings;repeating rows/columns as -Oracle Open Office Calc : Hebrew -Oracle Open Office Calc : Hebrew;entering text -Oracle Open Office Calc : Hebrew;language settings -Oracle Open Office Calc : heights of cells -Oracle Open Office Calc : Help -Oracle Open Office Calc : Help;bookmarks -Oracle Open Office Calc : Help;extended tips on/off -Oracle Open Office Calc : Help;full-text search -Oracle Open Office Calc : Help;Help tips -Oracle Open Office Calc : Help;keywords -Oracle Open Office Calc : Help;navigation pane showing/hiding -Oracle Open Office Calc : Help;style sheets -Oracle Open Office Calc : Help;topics -Oracle Open Office Calc : Help Agent -Oracle Open Office Calc : Help Agent;help -Oracle Open Office Calc : Help Agent;options -Oracle Open Office Calc : Help tips -Oracle Open Office Calc : Help tips;defining text for cell input -Oracle Open Office Calc : Help tips;hiding -Oracle Open Office Calc : HEX2BIN function -Oracle Open Office Calc : HEX2DEC function -Oracle Open Office Calc : HEX2OCT function -Oracle Open Office Calc : hexadecimal system -Oracle Open Office Calc : hexadecimal system;converting to -Oracle Open Office Calc : hidden cells -Oracle Open Office Calc : hidden controls in Form Navigator -Oracle Open Office Calc : hidden fields display (Writer) -Oracle Open Office Calc : hidden pages -Oracle Open Office Calc : hidden pages;printing in presentations -Oracle Open Office Calc : hidden text -Oracle Open Office Calc : hidden text;showing (Writer) -Oracle Open Office Calc : hiding -Oracle Open Office Calc : hiding;changes -Oracle Open Office Calc : hiding;chart legends -Oracle Open Office Calc : hiding;columns -Oracle Open Office Calc : hiding;data fields, from calculations in Data Pilot -Oracle Open Office Calc : hiding;docked windows -Oracle Open Office Calc : hiding;formulas -Oracle Open Office Calc : hiding;headers/grid lines -Oracle Open Office Calc : hiding;navigation pane in Help window -Oracle Open Office Calc : hiding;rows -Oracle Open Office Calc : hiding;sheet details -Oracle Open Office Calc : hiding;sheets -Oracle Open Office Calc : high contrast mode -Oracle Open Office Calc : highlighting -Oracle Open Office Calc : highlighting;negative numbers -Oracle Open Office Calc : highlighting;values in sheets -Oracle Open Office Calc : Hindi -Oracle Open Office Calc : Hindi;entering text -Oracle Open Office Calc : Hindi;language settings -Oracle Open Office Calc : HLOOKUP function -Oracle Open Office Calc : horizontal scrollbars (Writer) -Oracle Open Office Calc : hotspots -Oracle Open Office Calc : HOUR function -Oracle Open Office Calc : HowTos for Calc -Oracle Open Office Calc : HowTos for charts -Oracle Open Office Calc : HTML -Oracle Open Office Calc : HTML;definition -Oracle Open Office Calc : HTML;export character set -Oracle Open Office Calc : HTML;fonts for source display -Oracle Open Office Calc : HTML;importing META tags -Oracle Open Office Calc : HTML;in sheet cells -Oracle Open Office Calc : HTML;live presentations -Oracle Open Office Calc : HTML;sheets -Oracle Open Office Calc : HTML documents -Oracle Open Office Calc : HTML documents;auto reloading -Oracle Open Office Calc : HTML documents;importing/exporting -Oracle Open Office Calc : HTML documents;META tags in -Oracle Open Office Calc : HTML documents;new -Oracle Open Office Calc : HTML documents;source text -Oracle Open Office Calc : HTML WebQuery -Oracle Open Office Calc : HYPERLINK function -Oracle Open Office Calc : hyperlinks -Oracle Open Office Calc : hyperlinks;assigning macros -Oracle Open Office Calc : hyperlinks;character formats -Oracle Open Office Calc : hyperlinks;definition -Oracle Open Office Calc : hyperlinks;deleting -Oracle Open Office Calc : hyperlinks;editing -Oracle Open Office Calc : hyperlinks;inserting -Oracle Open Office Calc : hyperlinks;relative and absolute -Oracle Open Office Calc : hyperlinks;turning off automatic recognition -Oracle Open Office Calc : hyperlinks, see also links -Oracle Open Office Calc : HYPGEOMDIST function -Oracle Open Office Calc : hyphenation -Oracle Open Office Calc : hyphenation;activating for a language -Oracle Open Office Calc : hyphenation;in spreadsheets -Oracle Open Office Calc : hyphenation;minimal number of characters -Oracle Open Office Calc : hyphens -Oracle Open Office Calc : hyphens;displaying custom (Writer) -Oracle Open Office Calc : hyphens;inserting custom -Oracle Open Office Calc : icon bars, see toolbars -Oracle Open Office Calc : icon sizes -Oracle Open Office Calc : IDE -Oracle Open Office Calc : IDE;Basic IDE -Oracle Open Office Calc : IF function -Oracle Open Office Calc : ignore list for spellcheck -Oracle Open Office Calc : illumination -Oracle Open Office Calc : illumination;3D charts -Oracle Open Office Calc : illustrations, see pictures -Oracle Open Office Calc : IMABS function -Oracle Open Office Calc : image button creation -Oracle Open Office Calc : image control creation -Oracle Open Office Calc : ImageMap -Oracle Open Office Calc : ImageMap;definition -Oracle Open Office Calc : ImageMap;editor -Oracle Open Office Calc : images -Oracle Open Office Calc : images;ImageMap -Oracle Open Office Calc : images;inserting and editing bitmaps -Oracle Open Office Calc : images, see also pictures -Oracle Open Office Calc : IMAGINARY function -Oracle Open Office Calc : imaginary numbers in analysis functions -Oracle Open Office Calc : IMARGUMENT function -Oracle Open Office Calc : IMCONJUGATE function -Oracle Open Office Calc : IMCOS function -Oracle Open Office Calc : IMDIV function -Oracle Open Office Calc : IME -Oracle Open Office Calc : IME;definition -Oracle Open Office Calc : IME;showing/hiding -Oracle Open Office Calc : IMEXP function -Oracle Open Office Calc : IMLN function -Oracle Open Office Calc : IMLOG10 function -Oracle Open Office Calc : IMLOG2 function -Oracle Open Office Calc : implicit array handling -Oracle Open Office Calc : import filters -Oracle Open Office Calc : import restrictions for Microsoft Office -Oracle Open Office Calc : importing -Oracle Open Office Calc : importing;bitmaps -Oracle Open Office Calc : importing;compatibility settings for text import -Oracle Open Office Calc : importing;csv files with formulas -Oracle Open Office Calc : importing;databases -Oracle Open Office Calc : importing;dBASE files -Oracle Open Office Calc : importing;documents in other formats -Oracle Open Office Calc : importing;from XML -Oracle Open Office Calc : importing;HTML and text documents -Oracle Open Office Calc : importing;HTML with META tags -Oracle Open Office Calc : importing;Microsoft Office documents with VBA code -Oracle Open Office Calc : importing;tables as text -Oracle Open Office Calc : importing;tables in text format -Oracle Open Office Calc : importing;templates -Oracle Open Office Calc : IMPOWER function -Oracle Open Office Calc : IMPRODUCT function -Oracle Open Office Calc : improvement program -Oracle Open Office Calc : IMREAL function -Oracle Open Office Calc : IMSIN function -Oracle Open Office Calc : IMSQRT function -Oracle Open Office Calc : IMSUB function -Oracle Open Office Calc : IMSUM function -Oracle Open Office Calc : inches -Oracle Open Office Calc : increasing scales in page view -Oracle Open Office Calc : INDEX function -Oracle Open Office Calc : Index tab in Help -Oracle Open Office Calc : indexes -Oracle Open Office Calc : indexes;backgrounds -Oracle Open Office Calc : indexes;showing/hiding Help index tab -Oracle Open Office Calc : indicator lines in text -Oracle Open Office Calc : INDIRECT function -Oracle Open Office Calc : INFO function -Oracle Open Office Calc : information functions -Oracle Open Office Calc : information on cells -Oracle Open Office Calc : inline array constants -Oracle Open Office Calc : inner joins (Base) -Oracle Open Office Calc : inner products -Oracle Open Office Calc : input line in formula bar -Oracle Open Office Calc : input method window -Oracle Open Office Calc : input support in spreadsheets -Oracle Open Office Calc : insert mode for entering text -Oracle Open Office Calc : inserting -Oracle Open Office Calc : inserting;breaks -Oracle Open Office Calc : inserting;buttons in toolbars -Oracle Open Office Calc : inserting;cell ranges -Oracle Open Office Calc : inserting;cell ranges from spreadsheets -Oracle Open Office Calc : inserting;cells -Oracle Open Office Calc : inserting;cells, by drag and drop -Oracle Open Office Calc : inserting;cells, toolbar icon -Oracle Open Office Calc : inserting;charts -Oracle Open Office Calc : inserting;clipboard options -Oracle Open Office Calc : inserting;columns -Oracle Open Office Calc : inserting;comments -Oracle Open Office Calc : inserting;data from text documents -Oracle Open Office Calc : inserting;datasource records in spreadsheets -Oracle Open Office Calc : inserting;drawings -Oracle Open Office Calc : inserting;external data -Oracle Open Office Calc : inserting;floating frames -Oracle Open Office Calc : inserting;Fontwork objects -Oracle Open Office Calc : inserting;form fields -Oracle Open Office Calc : inserting;formulas -Oracle Open Office Calc : inserting;fractions -Oracle Open Office Calc : inserting;hyperlinks -Oracle Open Office Calc : inserting;line breaks in cells -Oracle Open Office Calc : inserting;manual column breaks -Oracle Open Office Calc : inserting;manual row breaks -Oracle Open Office Calc : inserting;matrix formulas -Oracle Open Office Calc : inserting;movies/sounds -Oracle Open Office Calc : inserting;new text tables defaults -Oracle Open Office Calc : inserting;objects from Gallery -Oracle Open Office Calc : inserting;objects, toolbar icon -Oracle Open Office Calc : inserting;OLE objects -Oracle Open Office Calc : inserting;paragraph borders -Oracle Open Office Calc : inserting;paragraph bullets -Oracle Open Office Calc : inserting;pictures in Gallery -Oracle Open Office Calc : inserting;plug-ins -Oracle Open Office Calc : inserting;push buttons -Oracle Open Office Calc : inserting;references, by drag and drop -Oracle Open Office Calc : inserting;rows -Oracle Open Office Calc : inserting;sheets -Oracle Open Office Calc : inserting;special characters -Oracle Open Office Calc : inserting;tab stops -Oracle Open Office Calc : inserting;textures on chart bars -Oracle Open Office Calc : inserting;values -Oracle Open Office Calc : inserting functions -Oracle Open Office Calc : inserting functions;function list window -Oracle Open Office Calc : inserting functions;Function Wizard -Oracle Open Office Calc : installing -Oracle Open Office Calc : installing;ActiveX control -Oracle Open Office Calc : installing;mobile device filters -Oracle Open Office Calc : installing;UNO components -Oracle Open Office Calc : installing;XML filters -Oracle Open Office Calc : instructions -Oracle Open Office Calc : instructions;general -Oracle Open Office Calc : instructions;Oracle Open Office Calc -Oracle Open Office Calc : INT function -Oracle Open Office Calc : integers with leading zeros -Oracle Open Office Calc : INTERCEPT function -Oracle Open Office Calc : interests for unchanged amortization installments -Oracle Open Office Calc : internal rates of return -Oracle Open Office Calc : internal rates of return;irregular payments -Oracle Open Office Calc : internal rates of return;modified -Oracle Open Office Calc : internal rates of return;regular payments -Oracle Open Office Calc : international currency formats -Oracle Open Office Calc : Internet -Oracle Open Office Calc : Internet;checking for updates -Oracle Open Office Calc : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Calc : Internet;presentations -Oracle Open Office Calc : Internet;starting searches -Oracle Open Office Calc : Internet glossary -Oracle Open Office Calc : intersection operator -Oracle Open Office Calc : intersections -Oracle Open Office Calc : INTRATE function -Oracle Open Office Calc : invalid data -Oracle Open Office Calc : invalid data;marking -Oracle Open Office Calc : invalid names -Oracle Open Office Calc : invalid names;error messages -Oracle Open Office Calc : invalid references -Oracle Open Office Calc : invalid references;error messages -Oracle Open Office Calc : inverse arrays -Oracle Open Office Calc : inverse F probability distribution -Oracle Open Office Calc : inverse of Fisher transformation -Oracle Open Office Calc : inverse of lognormal distribution -Oracle Open Office Calc : inverse of t-distribution -Oracle Open Office Calc : invert filter -Oracle Open Office Calc : inverting tables -Oracle Open Office Calc : invisible areas -Oracle Open Office Calc : invisible cells -Oracle Open Office Calc : IPMT function -Oracle Open Office Calc : IRR function -Oracle Open Office Calc : ISBLANK function -Oracle Open Office Calc : ISERR function -Oracle Open Office Calc : ISERROR function -Oracle Open Office Calc : ISEVEN function -Oracle Open Office Calc : ISEVEN_ADD function -Oracle Open Office Calc : ISFORMULA function -Oracle Open Office Calc : ISLEAPYEAR function -Oracle Open Office Calc : ISLOGICAL function -Oracle Open Office Calc : ISNA function -Oracle Open Office Calc : ISNONTEXT function -Oracle Open Office Calc : ISNUMBER function -Oracle Open Office Calc : ISODD function -Oracle Open Office Calc : ISODD_ADD function -Oracle Open Office Calc : ISPMT function -Oracle Open Office Calc : ISREF function -Oracle Open Office Calc : ISTEXT function -Oracle Open Office Calc : italic text -Oracle Open Office Calc : iterative references in spreadsheets -Oracle Open Office Calc : Java -Oracle Open Office Calc : Java;definition -Oracle Open Office Calc : Java;setting options -Oracle Open Office Calc : JDBC -Oracle Open Office Calc : JDBC;databases (Base) -Oracle Open Office Calc : JDBC;definition -Oracle Open Office Calc : JIS function -Oracle Open Office Calc : joining -Oracle Open Office Calc : joining;paragraphs -Oracle Open Office Calc : joining;tables (Base) -Oracle Open Office Calc : joins in databases (Base) -Oracle Open Office Calc : justifying text -Oracle Open Office Calc : kerning -Oracle Open Office Calc : kerning;Asian texts -Oracle Open Office Calc : kerning;definition -Oracle Open Office Calc : kerning;in characters -Oracle Open Office Calc : key fields for relations (Base) -Oracle Open Office Calc : keyboard -Oracle Open Office Calc : keyboard;assigning/editing shortcut keys -Oracle Open Office Calc : keyboard;general commands -Oracle Open Office Calc : keyboard;removing numbering -Oracle Open Office Calc : keys -Oracle Open Office Calc : keys;adding push buttons -Oracle Open Office Calc : keys;primary keys (Base) -Oracle Open Office Calc : kiosk export -Oracle Open Office Calc : KURT function -Oracle Open Office Calc : label ranges in sheets -Oracle Open Office Calc : labels -Oracle Open Office Calc : labels;creating and synchronizing -Oracle Open Office Calc : labels;for charts -Oracle Open Office Calc : labels;for draw objects -Oracle Open Office Calc : labels;form functions -Oracle Open Office Calc : labels;from databases -Oracle Open Office Calc : labels, see also names/callouts -Oracle Open Office Calc : landscape printing -Oracle Open Office Calc : languages -Oracle Open Office Calc : languages;activating modules -Oracle Open Office Calc : languages;Asian support -Oracle Open Office Calc : languages;complex text layout -Oracle Open Office Calc : languages;locale settings -Oracle Open Office Calc : languages;selecting for text -Oracle Open Office Calc : languages;setting options -Oracle Open Office Calc : languages;spellcheck -Oracle Open Office Calc : languages;spellchecking and formatting -Oracle Open Office Calc : LARGE function -Oracle Open Office Calc : large handles (Writer) -Oracle Open Office Calc : large icons -Oracle Open Office Calc : layer arrangement -Oracle Open Office Calc : layout -Oracle Open Office Calc : layout;importing Word documents -Oracle Open Office Calc : layout;pages -Oracle Open Office Calc : layout;spreadsheets -Oracle Open Office Calc : LCM function -Oracle Open Office Calc : LCM_ADD function -Oracle Open Office Calc : LDAP server -Oracle Open Office Calc : LDAP server;address books (Base) -Oracle Open Office Calc : LDAP server;sign on options -Oracle Open Office Calc : leading between paragraphs -Oracle Open Office Calc : leading zeros -Oracle Open Office Calc : leap year determination -Oracle Open Office Calc : least common multiples -Oracle Open Office Calc : left alignment of paragraphs -Oracle Open Office Calc : LEFT function -Oracle Open Office Calc : left joins (Base) -Oracle Open Office Calc : legends -Oracle Open Office Calc : legends;charts -Oracle Open Office Calc : legends;draw objects -Oracle Open Office Calc : legends;rounding corners -Oracle Open Office Calc : LEN function -Oracle Open Office Calc : Letter Wizard -Oracle Open Office Calc : levels -Oracle Open Office Calc : levels;depth stagger -Oracle Open Office Calc : levels;macro security -Oracle Open Office Calc : limits -Oracle Open Office Calc : limits;specifying value limits on input -Oracle Open Office Calc : limits of tables (Writer) -Oracle Open Office Calc : line arrangements with cells -Oracle Open Office Calc : line breaks -Oracle Open Office Calc : line breaks;in cells -Oracle Open Office Calc : line charts -Oracle Open Office Calc : line spacing -Oracle Open Office Calc : line spacing;context menu in paragraphs -Oracle Open Office Calc : line spacing;paragraph -Oracle Open Office Calc : line styles -Oracle Open Office Calc : line styles;applying -Oracle Open Office Calc : line styles;defining -Oracle Open Office Calc : linear depreciations -Oracle Open Office Calc : linear series -Oracle Open Office Calc : lines -Oracle Open Office Calc : lines;defining ends -Oracle Open Office Calc : lines;draw functions -Oracle Open Office Calc : lines;drawing in text -Oracle Open Office Calc : lines;editing points -Oracle Open Office Calc : lines;removing automatic lines -Oracle Open Office Calc : lines of text -Oracle Open Office Calc : lines of text;alignment -Oracle Open Office Calc : LINEST function -Oracle Open Office Calc : links -Oracle Open Office Calc : links;between cells and controls -Oracle Open Office Calc : links;by drag and drop -Oracle Open Office Calc : links;character formats -Oracle Open Office Calc : links;definition -Oracle Open Office Calc : links;editing hyperlinks -Oracle Open Office Calc : links;inserting -Oracle Open Office Calc : links;modifying -Oracle Open Office Calc : links;opening files with -Oracle Open Office Calc : links;relational databases (Base) -Oracle Open Office Calc : links;turning off automatic recognition -Oracle Open Office Calc : links;updating options (Writer) -Oracle Open Office Calc : links;updating specific links -Oracle Open Office Calc : list box creation -Oracle Open Office Calc : list of functions -Oracle Open Office Calc : lists -Oracle Open Office Calc : lists;data assigned to controls -Oracle Open Office Calc : lists;registered databases (Base) -Oracle Open Office Calc : lists;regular expressions -Oracle Open Office Calc : lists;user-defined -Oracle Open Office Calc : live presentations on the Internet -Oracle Open Office Calc : LN function -Oracle Open Office Calc : loading -Oracle Open Office Calc : loading;documents -Oracle Open Office Calc : loading;documents from other formats -Oracle Open Office Calc : loading;HTML documents, automatically -Oracle Open Office Calc : loading;Microsoft Office documents with VBA code -Oracle Open Office Calc : loading;reloading -Oracle Open Office Calc : loading;XML files -Oracle Open Office Calc : locale settings -Oracle Open Office Calc : LOG function -Oracle Open Office Calc : LOG10 function -Oracle Open Office Calc : logarithmic scaling along axes -Oracle Open Office Calc : logarithms -Oracle Open Office Calc : LOGEST function -Oracle Open Office Calc : logical functions -Oracle Open Office Calc : logical number formats -Oracle Open Office Calc : LOGINV function -Oracle Open Office Calc : LOGNORMDIST function -Oracle Open Office Calc : LOOKUP function -Oracle Open Office Calc : LOWER function -Oracle Open Office Calc : lowercase letters -Oracle Open Office Calc : lowercase letters;AutoInput function (in cells) -Oracle Open Office Calc : lowercase letters;font effects -Oracle Open Office Calc : lowest common multiples -Oracle Open Office Calc : Macauley duration -Oracle Open Office Calc : Macro Wizard (Base) -Oracle Open Office Calc : macros -Oracle Open Office Calc : macros;assigning to events in forms -Oracle Open Office Calc : macros;attaching new (Base) -Oracle Open Office Calc : macros;in MS Office documents -Oracle Open Office Calc : macros;interrupting -Oracle Open Office Calc : macros;organizing -Oracle Open Office Calc : macros;recording -Oracle Open Office Calc : macros;running when incorrect input -Oracle Open Office Calc : macros;security -Oracle Open Office Calc : macros;security levels -Oracle Open Office Calc : macros;security warning dialog -Oracle Open Office Calc : macros;selecting security warnings -Oracle Open Office Calc : magnifiers -Oracle Open Office Calc : manual column breaks -Oracle Open Office Calc : manual row breaks -Oracle Open Office Calc : margins -Oracle Open Office Calc : margins;pages -Oracle Open Office Calc : margins;setting with the mouse -Oracle Open Office Calc : margins;shadows -Oracle Open Office Calc : marking cells -Oracle Open Office Calc : marking changes -Oracle Open Office Calc : marking, see selecting -Oracle Open Office Calc : MATCH function -Oracle Open Office Calc : Math formula editor -Oracle Open Office Calc : mathematical functions -Oracle Open Office Calc : matrices -Oracle Open Office Calc : matrices;calculations -Oracle Open Office Calc : matrices;entering matrix formulas -Oracle Open Office Calc : matrices;functions -Oracle Open Office Calc : MAX function -Oracle Open Office Calc : MAXA function -Oracle Open Office Calc : maximum values in Calc databases -Oracle Open Office Calc : MDETERM function -Oracle Open Office Calc : MDURATION function -Oracle Open Office Calc : mean value lines in charts -Oracle Open Office Calc : means -Oracle Open Office Calc : means;geometric -Oracle Open Office Calc : means;harmonic -Oracle Open Office Calc : means;of data set without margin data -Oracle Open Office Calc : measurement units -Oracle Open Office Calc : measurement units;changing on rulers -Oracle Open Office Calc : measurement units;converting -Oracle Open Office Calc : measurement units;selecting -Oracle Open Office Calc : Media Player window -Oracle Open Office Calc : MEDIAN function -Oracle Open Office Calc : menus -Oracle Open Office Calc : menus;activating context menus -Oracle Open Office Calc : menus;assigning macros -Oracle Open Office Calc : menus;customizing -Oracle Open Office Calc : merging -Oracle Open Office Calc : merging;cells -Oracle Open Office Calc : merging;data ranges -Oracle Open Office Calc : merging;documents -Oracle Open Office Calc : META tags -Oracle Open Office Calc : metrics -Oracle Open Office Calc : metrics;converting -Oracle Open Office Calc : metrics;document formatting (Writer) -Oracle Open Office Calc : metrics;in sheets -Oracle Open Office Calc : Microsoft Excel functions -Oracle Open Office Calc : Microsoft Office -Oracle Open Office Calc : Microsoft Office;Access databases (base) -Oracle Open Office Calc : Microsoft Office;as default file format -Oracle Open Office Calc : Microsoft Office;document import restrictions -Oracle Open Office Calc : Microsoft Office;feature comparisons -Oracle Open Office Calc : Microsoft Office;importing password protected files -Oracle Open Office Calc : Microsoft Office;importing Word documents -Oracle Open Office Calc : Microsoft Office;importing/exporting VBA code -Oracle Open Office Calc : Microsoft Office;new users information -Oracle Open Office Calc : Microsoft Office;opening Microsoft documents -Oracle Open Office Calc : Microsoft Office;reassigning document types -Oracle Open Office Calc : MID function -Oracle Open Office Calc : migrating macros (Base) -Oracle Open Office Calc : MIN function -Oracle Open Office Calc : MINA function -Oracle Open Office Calc : minimum values in Calc databases -Oracle Open Office Calc : minus sign, see also operators -Oracle Open Office Calc : MINUTE function -Oracle Open Office Calc : MINVERSE function -Oracle Open Office Calc : MIRR function -Oracle Open Office Calc : MMULT function -Oracle Open Office Calc : mobile device filters -Oracle Open Office Calc : MOD function -Oracle Open Office Calc : MODE function -Oracle Open Office Calc : models in XForms -Oracle Open Office Calc : modified internal rates of return -Oracle Open Office Calc : modifying, see changing -Oracle Open Office Calc : MONTH function -Oracle Open Office Calc : MONTHS function -Oracle Open Office Calc : more controls -Oracle Open Office Calc : mosaic filter -Oracle Open Office Calc : most common value -Oracle Open Office Calc : mouse -Oracle Open Office Calc : mouse;pointers when using drag and drop -Oracle Open Office Calc : mouse;positioning -Oracle Open Office Calc : movies -Oracle Open Office Calc : moving -Oracle Open Office Calc : moving;cells by drag and drop -Oracle Open Office Calc : moving;spreadsheets -Oracle Open Office Calc : moving;tab stops on ruler -Oracle Open Office Calc : moving;toolbars -Oracle Open Office Calc : moving;using guide lines in presentations -Oracle Open Office Calc : moving;visible cells only -Oracle Open Office Calc : MROUND function -Oracle Open Office Calc : MS ADO interface (Base) -Oracle Open Office Calc : multi-line text in cells -Oracle Open Office Calc : multi-line titles in forms -Oracle Open Office Calc : MULTINOMIAL function -Oracle Open Office Calc : multiple cells selection -Oracle Open Office Calc : multiple documents -Oracle Open Office Calc : multiple documents;opening -Oracle Open Office Calc : multiple operations -Oracle Open Office Calc : multiple selection -Oracle Open Office Calc : multiple sheets -Oracle Open Office Calc : multiplication sign, see also operators -Oracle Open Office Calc : multiplying -Oracle Open Office Calc : multiplying;cell contents in Calc databases -Oracle Open Office Calc : multiplying;numbers -Oracle Open Office Calc : MUNIT function -Oracle Open Office Calc : music -Oracle Open Office Calc : My Documents folder -Oracle Open Office Calc : My Documents folder;changing work directory -Oracle Open Office Calc : My Documents folder;opening -Oracle Open Office Calc : MySQL databases (Base) -Oracle Open Office Calc : N function -Oracle Open Office Calc : NA function -Oracle Open Office Calc : name recognition on/off -Oracle Open Office Calc : names -Oracle Open Office Calc : names;defining for cells -Oracle Open Office Calc : names;for cell ranges -Oracle Open Office Calc : names;multi-line titles -Oracle Open Office Calc : names;objects -Oracle Open Office Calc : names;sheets -Oracle Open Office Calc : names, see also labels/callouts -Oracle Open Office Calc : namespace organization in XForms -Oracle Open Office Calc : native SQL (Base) -Oracle Open Office Calc : natural language addressing -Oracle Open Office Calc : natural logarithm -Oracle Open Office Calc : natural logarithm of Gamma function -Oracle Open Office Calc : natural sort algorithm -Oracle Open Office Calc : navigating -Oracle Open Office Calc : navigating;in documents -Oracle Open Office Calc : navigating;in spreadsheets -Oracle Open Office Calc : Navigation bar -Oracle Open Office Calc : Navigation bar;controls -Oracle Open Office Calc : Navigation bar;forms -Oracle Open Office Calc : Navigator -Oracle Open Office Calc : Navigator;comments -Oracle Open Office Calc : Navigator;contents as lists -Oracle Open Office Calc : Navigator;docking -Oracle Open Office Calc : Navigator;for sheets -Oracle Open Office Calc : Navigator;working with -Oracle Open Office Calc : nearest multiple -Oracle Open Office Calc : negative binomial distribution -Oracle Open Office Calc : negative numbers -Oracle Open Office Calc : NEGBINOMDIST function -Oracle Open Office Calc : net annual interest rates -Oracle Open Office Calc : net charts -Oracle Open Office Calc : net present values -Oracle Open Office Calc : network identity options -Oracle Open Office Calc : NETWORKDAYS function -Oracle Open Office Calc : new databases -Oracle Open Office Calc : new documents -Oracle Open Office Calc : new lines in cells -Oracle Open Office Calc : new windows -Oracle Open Office Calc : NOMINAL function -Oracle Open Office Calc : nominal interest rates -Oracle Open Office Calc : NOMINAL_ADD function -Oracle Open Office Calc : non-breaking dashes -Oracle Open Office Calc : non-breaking spaces (Writer) -Oracle Open Office Calc : non-printing characters (Writer) -Oracle Open Office Calc : normal distribution -Oracle Open Office Calc : normal distribution;inverse of -Oracle Open Office Calc : normal distribution;inverse of standard -Oracle Open Office Calc : normal distribution;standard -Oracle Open Office Calc : normal distribution;statistics -Oracle Open Office Calc : NORMDIST function -Oracle Open Office Calc : NORMINV function -Oracle Open Office Calc : NORMSDIST function -Oracle Open Office Calc : NORMSINV function -Oracle Open Office Calc : NOT function -Oracle Open Office Calc : NOW function -Oracle Open Office Calc : NPER function -Oracle Open Office Calc : NPV function -Oracle Open Office Calc : null values -Oracle Open Office Calc : null values;printing -Oracle Open Office Calc : number completion on/off -Oracle Open Office Calc : number formats -Oracle Open Office Calc : number formats;adding/deleting decimal places in cells -Oracle Open Office Calc : number formats;codes -Oracle Open Office Calc : number formats;colors for negative numbers -Oracle Open Office Calc : number formats;formats -Oracle Open Office Calc : number formats;logical -Oracle Open Office Calc : number formats;millions -Oracle Open Office Calc : number formats;recognition in text tables -Oracle Open Office Calc : number of combinations -Oracle Open Office Calc : number of combinations with repetitions -Oracle Open Office Calc : number of coupons -Oracle Open Office Calc : number of days -Oracle Open Office Calc : number of days;in a specific month of a year -Oracle Open Office Calc : number of days;in a specific year -Oracle Open Office Calc : number of entries -Oracle Open Office Calc : number of months between two dates -Oracle Open Office Calc : number of pages -Oracle Open Office Calc : number of payment periods -Oracle Open Office Calc : number of permutations -Oracle Open Office Calc : number of sheets -Oracle Open Office Calc : number of sheets;function -Oracle Open Office Calc : number of sheets -Oracle Open Office Calc : number of tables -Oracle Open Office Calc : number of weeks -Oracle Open Office Calc : number of weeks;between two dates -Oracle Open Office Calc : number of weeks;in a specific year -Oracle Open Office Calc : number of years between two dates -Oracle Open Office Calc : number series import -Oracle Open Office Calc : numbering -Oracle Open Office Calc : numbering;options -Oracle Open Office Calc : numbering;turning off -Oracle Open Office Calc : numbering;using automatically -Oracle Open Office Calc : numbers -Oracle Open Office Calc : numbers;as text -Oracle Open Office Calc : numbers;changing text/number formats -Oracle Open Office Calc : numbers;counting -Oracle Open Office Calc : numbers;date, time and currency formats -Oracle Open Office Calc : numbers;decimal places -Oracle Open Office Calc : numbers;decimal places (Calc) -Oracle Open Office Calc : numbers;determining ranks -Oracle Open Office Calc : numbers;entering fractions -Oracle Open Office Calc : numbers;entering without number formats -Oracle Open Office Calc : numbers;filter sheets -Oracle Open Office Calc : numbers;formatting in tables -Oracle Open Office Calc : numbers;formatting options for selected cells -Oracle Open Office Calc : numbers;greater than or equal to -Oracle Open Office Calc : numbers;highlighting negative numbers -Oracle Open Office Calc : numbers;multiplying -Oracle Open Office Calc : numbers;rounded off -Oracle Open Office Calc : numbers;rounding down to next integer -Oracle Open Office Calc : numbers;rounding up/down to even integers -Oracle Open Office Calc : numbers;user-defined formatting in tables -Oracle Open Office Calc : numbers;with leading zeros -Oracle Open Office Calc : numerical fields in forms -Oracle Open Office Calc : objects -Oracle Open Office Calc : objects;always moveable (Impress/Draw) -Oracle Open Office Calc : objects;arranging within stacks -Oracle Open Office Calc : objects;copying when moving in presentations -Oracle Open Office Calc : objects;definition -Oracle Open Office Calc : objects;displaying in spreadsheets -Oracle Open Office Calc : objects;displaying in text documents -Oracle Open Office Calc : objects;editing -Oracle Open Office Calc : objects;inserting from Gallery -Oracle Open Office Calc : objects;inserting OLE objects -Oracle Open Office Calc : objects;moving and resizing with mouse -Oracle Open Office Calc : objects;naming -Oracle Open Office Calc : objects;opening -Oracle Open Office Calc : objects;properties of charts -Oracle Open Office Calc : objects;quickly moving to -Oracle Open Office Calc : objects;titles and descriptions -Oracle Open Office Calc : OCT2BIN function -Oracle Open Office Calc : OCT2DEC function -Oracle Open Office Calc : OCT2HEX function -Oracle Open Office Calc : ODBC -Oracle Open Office Calc : ODBC;database (Base) -Oracle Open Office Calc : ODBC;definition -Oracle Open Office Calc : ODD function -Oracle Open Office Calc : odd integers -Oracle Open Office Calc : ODDFPRICE function -Oracle Open Office Calc : ODDFYIELD function -Oracle Open Office Calc : ODDLPRICE function -Oracle Open Office Calc : ODDLYIELD function -Oracle Open Office Calc : ODF file formats -Oracle Open Office Calc : Office -Oracle Open Office Calc : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Calc : OFFSET function -Oracle Open Office Calc : OLE -Oracle Open Office Calc : OLE;definition -Oracle Open Office Calc : OLE objects -Oracle Open Office Calc : OLE objects;arranging within stacks -Oracle Open Office Calc : OLE objects;captions (Writer) -Oracle Open Office Calc : OLE objects;inserting -Oracle Open Office Calc : OLE objects;number of -Oracle Open Office Calc : OLE objects;protecting -Oracle Open Office Calc : one and a half line spacing in text -Oracle Open Office Calc : online feedback options -Oracle Open Office Calc : online registration -Oracle Open Office Calc : online update options -Oracle Open Office Calc : online updates -Oracle Open Office Calc : online updates;checking automatically -Oracle Open Office Calc : online updates;checking manually -Oracle Open Office Calc : Open/Save dialogs -Oracle Open Office Calc : OpenDocument file formats -Oracle Open Office Calc : OpenGL -Oracle Open Office Calc : OpenGL;definition -Oracle Open Office Calc : opening -Oracle Open Office Calc : opening;context menus -Oracle Open Office Calc : opening;database files -Oracle Open Office Calc : opening;dialog settings -Oracle Open Office Calc : opening;documents -Oracle Open Office Calc : opening;documents from other formats -Oracle Open Office Calc : opening;documents on WebDAV server -Oracle Open Office Calc : opening;files with links -Oracle Open Office Calc : opening;files, with placeholders -Oracle Open Office Calc : opening;forms -Oracle Open Office Calc : opening;Microsoft Office files -Oracle Open Office Calc : opening;mobile device documents -Oracle Open Office Calc : opening;objects -Oracle Open Office Calc : opening;reports -Oracle Open Office Calc : opening;scenarios -Oracle Open Office Calc : opening;several files -Oracle Open Office Calc : opening;sheets in HTML -Oracle Open Office Calc : opening;text csv files -Oracle Open Office Calc : opening;XForms -Oracle Open Office Calc : operators -Oracle Open Office Calc : operators;default filters -Oracle Open Office Calc : operators;formula functions -Oracle Open Office Calc : optimal column widths -Oracle Open Office Calc : optimal row heights -Oracle Open Office Calc : optional hyphens (Writer) -Oracle Open Office Calc : options -Oracle Open Office Calc : options;accessibility -Oracle Open Office Calc : options;appearance -Oracle Open Office Calc : options;compatibility (Writer) -Oracle Open Office Calc : options;improvement program -Oracle Open Office Calc : options;network identity -Oracle Open Office Calc : options;online update -Oracle Open Office Calc : options;tools -Oracle Open Office Calc : OR function -Oracle Open Office Calc : Oracle databases (base) -Oracle Open Office Calc : Oracle Open Office Base data sources -Oracle Open Office Calc : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Calc : Oracle Open Office documents -Oracle Open Office Calc : Oracle Open Office documents;mobile device filters -Oracle Open Office Calc : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Calc : Oracle Open Office Math start -Oracle Open Office Calc : order of chart data -Oracle Open Office Calc : ordering -Oracle Open Office Calc : ordering;objects -Oracle Open Office Calc : organizing -Oracle Open Office Calc : organizing;macros and scripts -Oracle Open Office Calc : organizing;namespaces in XForms -Oracle Open Office Calc : organizing;styles -Oracle Open Office Calc : organizing;templates -Oracle Open Office Calc : original size -Oracle Open Office Calc : original size;printing in Oracle Open Office Math -Oracle Open Office Calc : original size;restoring after cropping -Oracle Open Office Calc : outlines -Oracle Open Office Calc : outlines;font effects -Oracle Open Office Calc : outlines;outline symbols -Oracle Open Office Calc : outlines;sending to presentations -Oracle Open Office Calc : outlines;sheets -Oracle Open Office Calc : output ranges of DataPilot tables -Oracle Open Office Calc : overwrite mode -Oracle Open Office Calc : packages, see extensions -Oracle Open Office Calc : page breaks -Oracle Open Office Calc : page breaks;displaying (Calc) -Oracle Open Office Calc : page breaks;inserting in spreadsheets -Oracle Open Office Calc : page breaks;spreadsheet preview -Oracle Open Office Calc : page formats -Oracle Open Office Calc : page formats;maximizing -Oracle Open Office Calc : page formats;restriction -Oracle Open Office Calc : page styles -Oracle Open Office Calc : page styles;editing/applying with statusbar -Oracle Open Office Calc : page styles;footers -Oracle Open Office Calc : page styles;headers -Oracle Open Office Calc : page views -Oracle Open Office Calc : page views;increasing scales -Oracle Open Office Calc : page views;reducing scales -Oracle Open Office Calc : pages -Oracle Open Office Calc : pages;backgrounds in all applications -Oracle Open Office Calc : pages;formatting and numbering -Oracle Open Office Calc : pages;order when printing -Oracle Open Office Calc : pages;printing page names in presentations -Oracle Open Office Calc : pages;scaling -Oracle Open Office Calc : pages;selecting one to print -Oracle Open Office Calc : paint box -Oracle Open Office Calc : paint can for applying styles -Oracle Open Office Calc : paint can symbol -Oracle Open Office Calc : pair kerning -Oracle Open Office Calc : Palm file filters -Oracle Open Office Calc : paper formats -Oracle Open Office Calc : paper size warning -Oracle Open Office Calc : paper trays -Oracle Open Office Calc : paragraph marks -Oracle Open Office Calc : paragraph marks;displaying (Writer) -Oracle Open Office Calc : paragraph styles -Oracle Open Office Calc : paragraph styles;languages -Oracle Open Office Calc : paragraph styles;modifying basic fonts -Oracle Open Office Calc : paragraphs -Oracle Open Office Calc : paragraphs;alignment -Oracle Open Office Calc : paragraphs;Asian typography -Oracle Open Office Calc : paragraphs;defining borders -Oracle Open Office Calc : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Calc : paragraphs;increasing indents of -Oracle Open Office Calc : paragraphs;indents, margins and columns -Oracle Open Office Calc : paragraphs;inserting bullets -Oracle Open Office Calc : paragraphs;joining -Oracle Open Office Calc : paragraphs;numbering automatically -Oracle Open Office Calc : paragraphs;removing blank ones -Oracle Open Office Calc : paragraphs;spacing -Oracle Open Office Calc : paragraphs;tab stops -Oracle Open Office Calc : parameters -Oracle Open Office Calc : parameters;command line -Oracle Open Office Calc : parameters;queries (Base) -Oracle Open Office Calc : passwords for protecting contents -Oracle Open Office Calc : pasting -Oracle Open Office Calc : pasting;cell ranges -Oracle Open Office Calc : pasting;cell ranges from spreadsheets -Oracle Open Office Calc : pasting;data from text documents -Oracle Open Office Calc : pasting;draw objects -Oracle Open Office Calc : pasting;draw objects from other documents -Oracle Open Office Calc : pasting;formatted/unformatted text -Oracle Open Office Calc : pasting;formulas -Oracle Open Office Calc : pasting;from data source view -Oracle Open Office Calc : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Calc : pasting;pictures from other documents -Oracle Open Office Calc : pasting;sheet areas in text documents -Oracle Open Office Calc : pasting;to Gallery -Oracle Open Office Calc : pasting;values in multiple sheets -Oracle Open Office Calc : paths -Oracle Open Office Calc : paths;changing work directory -Oracle Open Office Calc : paths;defaults -Oracle Open Office Calc : pattern editor -Oracle Open Office Calc : pattern fields -Oracle Open Office Calc : pattern fields;form functions -Oracle Open Office Calc : patterns for objects -Oracle Open Office Calc : payment periods -Oracle Open Office Calc : payment periods;number of -Oracle Open Office Calc : PDF -Oracle Open Office Calc : PDF;export -Oracle Open Office Calc : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Calc : PDF export of print ranges -Oracle Open Office Calc : PEARSON function -Oracle Open Office Calc : percentage calculations -Oracle Open Office Calc : PERCENTILE function -Oracle Open Office Calc : PERCENTRANK function -Oracle Open Office Calc : periodic amortizement rates -Oracle Open Office Calc : permitted cell contents -Oracle Open Office Calc : PERMUT function -Oracle Open Office Calc : PERMUTATIONA function -Oracle Open Office Calc : personal data input -Oracle Open Office Calc : PHI function -Oracle Open Office Calc : phonebook sorting rules -Oracle Open Office Calc : phonetic guide -Oracle Open Office Calc : PI function -Oracle Open Office Calc : picklist creation -Oracle Open Office Calc : pictures -Oracle Open Office Calc : pictures;adding to Gallery -Oracle Open Office Calc : pictures;arranging within stacks -Oracle Open Office Calc : pictures;assigning macros -Oracle Open Office Calc : pictures;backgrounds -Oracle Open Office Calc : pictures;captions (Writer) -Oracle Open Office Calc : pictures;changing paths -Oracle Open Office Calc : pictures;cropping and zooming -Oracle Open Office Calc : pictures;displaying in Calc -Oracle Open Office Calc : pictures;displaying in Writer (Writer) -Oracle Open Office Calc : pictures;drag and drop between documents -Oracle Open Office Calc : pictures;drawing -Oracle Open Office Calc : pictures;editing -Oracle Open Office Calc : pictures;filters -Oracle Open Office Calc : pictures;ImageMap -Oracle Open Office Calc : pictures;inserting automatically -Oracle Open Office Calc : pictures;inserting from Gallery -Oracle Open Office Calc : pictures;number of -Oracle Open Office Calc : pictures;printing -Oracle Open Office Calc : pictures;scaling/resizing -Oracle Open Office Calc : pie charts -Oracle Open Office Calc : pie charts;options -Oracle Open Office Calc : pie charts;types -Oracle Open Office Calc : Pivot table import -Oracle Open Office Calc : Pivot table, see DataPilot function -Oracle Open Office Calc : pixel editor -Oracle Open Office Calc : pixel graphics -Oracle Open Office Calc : pixel graphics;inserting and editing -Oracle Open Office Calc : pixel patterns -Oracle Open Office Calc : placeholders -Oracle Open Office Calc : placeholders;in SQL queries -Oracle Open Office Calc : placeholders;on opening files -Oracle Open Office Calc : placing toolbars -Oracle Open Office Calc : playing movies and sound files -Oracle Open Office Calc : plotting data as charts -Oracle Open Office Calc : plug-ins -Oracle Open Office Calc : plug-ins;activating and deactivating -Oracle Open Office Calc : plug-ins;definition -Oracle Open Office Calc : plug-ins;inserting -Oracle Open Office Calc : plus sign, see also operators -Oracle Open Office Calc : PMT function -Oracle Open Office Calc : pocket device appliances -Oracle Open Office Calc : Pocket PC file filters -Oracle Open Office Calc : points -Oracle Open Office Calc : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Calc : points of intersection -Oracle Open Office Calc : POISSON function -Oracle Open Office Calc : polygon drawing -Oracle Open Office Calc : pop-art filter -Oracle Open Office Calc : portable document format -Oracle Open Office Calc : positioning -Oracle Open Office Calc : positioning;axes -Oracle Open Office Calc : positioning;draw objects and controls -Oracle Open Office Calc : positioning;fonts -Oracle Open Office Calc : positioning;objects -Oracle Open Office Calc : positioning;toolbars -Oracle Open Office Calc : post method for form transmissions -Oracle Open Office Calc : posterizing filter -Oracle Open Office Calc : PostScript -Oracle Open Office Calc : PostScript;creating files -Oracle Open Office Calc : PostScript;PDF converter, UNIX -Oracle Open Office Calc : POWER function -Oracle Open Office Calc : PowerPoint export -Oracle Open Office Calc : powers of 2 calculations -Oracle Open Office Calc : PPMT function -Oracle Open Office Calc : precision as shown -Oracle Open Office Calc : precision as shown (Calc) -Oracle Open Office Calc : predefining fonts -Oracle Open Office Calc : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Calc : present values -Oracle Open Office Calc : presentations -Oracle Open Office Calc : presentations;creating/opening -Oracle Open Office Calc : presentations;inserting spreadsheet cells -Oracle Open Office Calc : presentations;live on the Internet -Oracle Open Office Calc : presentations;print menu -Oracle Open Office Calc : presentations;saving -Oracle Open Office Calc : presentations;saving automatically -Oracle Open Office Calc : presentations;saving in other formats -Oracle Open Office Calc : presentations;sending as e-mail -Oracle Open Office Calc : presentations;starting with wizard -Oracle Open Office Calc : presentations;wizards -Oracle Open Office Calc : Presenter Console shortcuts -Oracle Open Office Calc : press buttons, see push buttons -Oracle Open Office Calc : previews -Oracle Open Office Calc : previews;fonts lists -Oracle Open Office Calc : previews;page breaks for printing -Oracle Open Office Calc : PRICE function -Oracle Open Office Calc : PRICEDISC function -Oracle Open Office Calc : PRICEMAT function -Oracle Open Office Calc : prices -Oracle Open Office Calc : prices;fixed interest securities -Oracle Open Office Calc : prices;interest-bearing securities -Oracle Open Office Calc : prices;non-interest-bearing securities -Oracle Open Office Calc : prices;securities with irregular first interest date -Oracle Open Office Calc : prices;treasury bills -Oracle Open Office Calc : primary keys -Oracle Open Office Calc : primary keys;defining -Oracle Open Office Calc : primary keys;design view -Oracle Open Office Calc : primary keys;inserting (Base) -Oracle Open Office Calc : print area selection -Oracle Open Office Calc : print ranges -Oracle Open Office Calc : printer metrics for document formatting (Writer) -Oracle Open Office Calc : printers -Oracle Open Office Calc : printers;adding, UNIX -Oracle Open Office Calc : printers;choosing -Oracle Open Office Calc : printers;default printer -Oracle Open Office Calc : printers;faxes under UNIX -Oracle Open Office Calc : printers;maximum page formats -Oracle Open Office Calc : printers;paper trays -Oracle Open Office Calc : printers;properties -Oracle Open Office Calc : printing -Oracle Open Office Calc : printing;black and white -Oracle Open Office Calc : printing;brochures -Oracle Open Office Calc : printing;cells -Oracle Open Office Calc : printing;colors in grayscale -Oracle Open Office Calc : printing;comments -Oracle Open Office Calc : printing;copies -Oracle Open Office Calc : printing;creating individual jobs -Oracle Open Office Calc : printing;dates in presentations -Oracle Open Office Calc : printing;directly -Oracle Open Office Calc : printing;documents -Oracle Open Office Calc : printing;drawings defaults -Oracle Open Office Calc : printing;elements in text documents -Oracle Open Office Calc : printing;faster -Oracle Open Office Calc : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Calc : printing;fitting to pages in presentations -Oracle Open Office Calc : printing;formulas in Oracle Open Office Math -Oracle Open Office Calc : printing;hidden pages of presentations -Oracle Open Office Calc : printing;in original size in Oracle Open Office Math -Oracle Open Office Calc : printing;landscape -Oracle Open Office Calc : printing;left/right pages -Oracle Open Office Calc : printing;page order -Oracle Open Office Calc : printing;queries (Base) -Oracle Open Office Calc : printing;rows/columns as table headings -Oracle Open Office Calc : printing;scaling in Oracle Open Office Math -Oracle Open Office Calc : printing;selections -Oracle Open Office Calc : printing;sheet counts -Oracle Open Office Calc : printing;sheet details -Oracle Open Office Calc : printing;sheet selections -Oracle Open Office Calc : printing;sheets on multiple pages -Oracle Open Office Calc : printing;text always in black -Oracle Open Office Calc : printing;text in reverse order -Oracle Open Office Calc : printing;tiling pages in presentations -Oracle Open Office Calc : printing;transparencies -Oracle Open Office Calc : printing;warnings -Oracle Open Office Calc : printing;without scaling in presentations -Oracle Open Office Calc : printing speed -Oracle Open Office Calc : PROB function -Oracle Open Office Calc : probabilities of samples with binomial distribution -Oracle Open Office Calc : PRODUCT function -Oracle Open Office Calc : programming -Oracle Open Office Calc : programming;add-ins -Oracle Open Office Calc : programming;functions -Oracle Open Office Calc : programming;Oracle Open Office -Oracle Open Office Calc : programming;scripting -Oracle Open Office Calc : PROPER function -Oracle Open Office Calc : properties -Oracle Open Office Calc : properties;charts -Oracle Open Office Calc : properties;fields in databases -Oracle Open Office Calc : properties;files -Oracle Open Office Calc : properties;form controls -Oracle Open Office Calc : properties;forms -Oracle Open Office Calc : properties;printers -Oracle Open Office Calc : properties;smooth lines in line charts/XY charts -Oracle Open Office Calc : protected contents -Oracle Open Office Calc : protected dashes -Oracle Open Office Calc : protected database tables -Oracle Open Office Calc : protected documents -Oracle Open Office Calc : protected spaces -Oracle Open Office Calc : protected spaces;inserting -Oracle Open Office Calc : protected spaces;showing (Writer) -Oracle Open Office Calc : protecting -Oracle Open Office Calc : protecting;cells and sheets -Oracle Open Office Calc : protecting;contents -Oracle Open Office Calc : protecting;recorded changes -Oracle Open Office Calc : protecting;unprotecting cells -Oracle Open Office Calc : proxy settings -Oracle Open Office Calc : push buttons -Oracle Open Office Calc : push buttons;adding to documents -Oracle Open Office Calc : push buttons;creating -Oracle Open Office Calc : PV function -Oracle Open Office Calc : QUARTILE function -Oracle Open Office Calc : queries -Oracle Open Office Calc : queries;copying (Base) -Oracle Open Office Calc : queries;creating in design view (Base) -Oracle Open Office Calc : queries;creating in SQL view -Oracle Open Office Calc : queries;defining (Base) -Oracle Open Office Calc : queries;deleting table links (Base) -Oracle Open Office Calc : queries;editing in data source view -Oracle Open Office Calc : queries;formulating filter conditions (Base) -Oracle Open Office Calc : queries;joining tables (Base) -Oracle Open Office Calc : queries;missing elements (Base) -Oracle Open Office Calc : queries;overview (Base) -Oracle Open Office Calc : queries;parameter queries (Base) -Oracle Open Office Calc : queries;printing (Base) -Oracle Open Office Calc : Query Wizard (Base) -Oracle Open Office Calc : Quickstarter -Oracle Open Office Calc : quotation marks -Oracle Open Office Calc : quotation marks;replacing -Oracle Open Office Calc : quotes -Oracle Open Office Calc : quotes;custom -Oracle Open Office Calc : QUOTIENT function -Oracle Open Office Calc : radar charts, see net charts -Oracle Open Office Calc : RADIANS function -Oracle Open Office Calc : radio button creation -Oracle Open Office Calc : RAND function -Oracle Open Office Calc : RANDBETWEEN function -Oracle Open Office Calc : random numbers -Oracle Open Office Calc : random numbers;between 0 and 1 -Oracle Open Office Calc : random numbers;between limits -Oracle Open Office Calc : random numbers;examples -Oracle Open Office Calc : ranges -Oracle Open Office Calc : ranges;combining -Oracle Open Office Calc : ranges;defining database ranges -Oracle Open Office Calc : ranges;inserting in tables -Oracle Open Office Calc : ranges;print ranges -Oracle Open Office Calc : RANK function -Oracle Open Office Calc : RATE function -Oracle Open Office Calc : rates of return -Oracle Open Office Calc : rates of return;non-interest-bearing securities -Oracle Open Office Calc : rates of return;securities -Oracle Open Office Calc : rates of return;securities with interest paid on maturity -Oracle Open Office Calc : rates of return of treasury bills -Oracle Open Office Calc : read-only documents -Oracle Open Office Calc : read-only documents;cursor -Oracle Open Office Calc : read-only documents;database tables on/off -Oracle Open Office Calc : read-only documents;editing -Oracle Open Office Calc : read-only documents;opening documents as -Oracle Open Office Calc : read-only items in Data Navigator -Oracle Open Office Calc : recalculating -Oracle Open Office Calc : recalculating;all formulas in sheets -Oracle Open Office Calc : recalculating;auto calculating sheets -Oracle Open Office Calc : recalculating;DataPilot tables -Oracle Open Office Calc : RECEIVED function -Oracle Open Office Calc : recognizing -Oracle Open Office Calc : recognizing;column and row labels -Oracle Open Office Calc : recognizing;equal numbers -Oracle Open Office Calc : recognizing;general errors -Oracle Open Office Calc : recognizing formula cells -Oracle Open Office Calc : recognizing URLs automatically -Oracle Open Office Calc : recording -Oracle Open Office Calc : recording;changes -Oracle Open Office Calc : recording;macros -Oracle Open Office Calc : records -Oracle Open Office Calc : records;counting in Calc databases -Oracle Open Office Calc : records;inserting comments -Oracle Open Office Calc : records;protecting -Oracle Open Office Calc : records;saving -Oracle Open Office Calc : records;searching in databases -Oracle Open Office Calc : rectangles with round corners -Oracle Open Office Calc : recursions in spreadsheets -Oracle Open Office Calc : redo command -Oracle Open Office Calc : reduced printing -Oracle Open Office Calc : reference lines -Oracle Open Office Calc : reference operators -Oracle Open Office Calc : references -Oracle Open Office Calc : references;absolute/relative -Oracle Open Office Calc : references;by defined names -Oracle Open Office Calc : references;displaying in color (Calc) -Oracle Open Office Calc : references;expanding (Calc) -Oracle Open Office Calc : references;inserting by drag and drop -Oracle Open Office Calc : references;iterative (Calc) -Oracle Open Office Calc : references;testing cell contents -Oracle Open Office Calc : references;to cells -Oracle Open Office Calc : references;to cells in other sheets/documents -Oracle Open Office Calc : references;URL in cells -Oracle Open Office Calc : register-true -Oracle Open Office Calc : register-true;definition -Oracle Open Office Calc : registering -Oracle Open Office Calc : registering;address books -Oracle Open Office Calc : registering;databases (Base) -Oracle Open Office Calc : registering;Oracle Open Office -Oracle Open Office Calc : regression analysis -Oracle Open Office Calc : regression curves in charts -Oracle Open Office Calc : regression lines -Oracle Open Office Calc : regression lines;FORECAST function -Oracle Open Office Calc : regression lines;LINEST function -Oracle Open Office Calc : regular expressions -Oracle Open Office Calc : regular expressions;list of -Oracle Open Office Calc : regular expressions;opening files -Oracle Open Office Calc : relational databases (Base) -Oracle Open Office Calc : relations -Oracle Open Office Calc : relations;creating and deleting (Base) -Oracle Open Office Calc : relations;joining tables (Base) -Oracle Open Office Calc : relations;properties (Base) -Oracle Open Office Calc : relative addresses -Oracle Open Office Calc : relative hyperlinks -Oracle Open Office Calc : relative references -Oracle Open Office Calc : relative saving of URLs -Oracle Open Office Calc : reloading -Oracle Open Office Calc : reloading;documents -Oracle Open Office Calc : reloading;HTML documents, automatically -Oracle Open Office Calc : remainders of divisions -Oracle Open Office Calc : remarks on cells -Oracle Open Office Calc : remarks, see also comments -Oracle Open Office Calc : remote configurations -Oracle Open Office Calc : remove noise filter -Oracle Open Office Calc : removing -Oracle Open Office Calc : removing;bullets and numbering -Oracle Open Office Calc : removing;cell range filters -Oracle Open Office Calc : removing;filters -Oracle Open Office Calc : removing;form filters -Oracle Open Office Calc : removing, see also deleting -Oracle Open Office Calc : renaming -Oracle Open Office Calc : renaming;cells -Oracle Open Office Calc : renaming;sheets -Oracle Open Office Calc : reorganizing charts -Oracle Open Office Calc : repayment installment -Oracle Open Office Calc : repeating -Oracle Open Office Calc : repeating;columns/rows on printed pages -Oracle Open Office Calc : repeating;commands -Oracle Open Office Calc : REPLACE function -Oracle Open Office Calc : replacement options -Oracle Open Office Calc : replacement table -Oracle Open Office Calc : replacing -Oracle Open Office Calc : replacing;AutoCorrect function -Oracle Open Office Calc : replacing;cell contents -Oracle Open Office Calc : replacing;dashes -Oracle Open Office Calc : replacing;tab stops (regular expressions) -Oracle Open Office Calc : Report Builder -Oracle Open Office Calc : reports -Oracle Open Office Calc : reports;creating -Oracle Open Office Calc : reports;error reports -Oracle Open Office Calc : reports;opening and editing -Oracle Open Office Calc : reports;templates -Oracle Open Office Calc : REPT function -Oracle Open Office Calc : resetting -Oracle Open Office Calc : resetting;templates -Oracle Open Office Calc : resizing -Oracle Open Office Calc : resizing;objects, by mouse -Oracle Open Office Calc : resizing, see also scaling/zooming -Oracle Open Office Calc : resolution when printing bitmaps -Oracle Open Office Calc : restoring -Oracle Open Office Calc : restoring;default formatting -Oracle Open Office Calc : restoring;editing -Oracle Open Office Calc : results display vs. formulas display -Oracle Open Office Calc : reversing printing order -Oracle Open Office Calc : review function -Oracle Open Office Calc : review function;accepting or rejecting changes -Oracle Open Office Calc : review function;comparing documents -Oracle Open Office Calc : review function;protecting records -Oracle Open Office Calc : review function;recording changes example -Oracle Open Office Calc : rich text control -Oracle Open Office Calc : right alignment of paragraphs -Oracle Open Office Calc : RIGHT function -Oracle Open Office Calc : right joins (Base) -Oracle Open Office Calc : right-to-left text -Oracle Open Office Calc : right-to-left text -Oracle Open Office Calc : right-to-left text;spreadsheets -Oracle Open Office Calc : ROMAN function -Oracle Open Office Calc : ROT13 function -Oracle Open Office Calc : rotating -Oracle Open Office Calc : rotating;3D text -Oracle Open Office Calc : rotating;tables -Oracle Open Office Calc : rotating;text in cells -Oracle Open Office Calc : round corners -Oracle Open Office Calc : ROUND function -Oracle Open Office Calc : ROUNDDOWN function -Oracle Open Office Calc : rounded off numbers -Oracle Open Office Calc : rounding -Oracle Open Office Calc : rounding;down to nearest multiple of significance -Oracle Open Office Calc : rounding;down to next integer -Oracle Open Office Calc : rounding;up to multiples of significance -Oracle Open Office Calc : rounding;up/down to even integers -Oracle Open Office Calc : rounding;up/down to nearest odd integer -Oracle Open Office Calc : rounding precision -Oracle Open Office Calc : rounding precision (Calc) -Oracle Open Office Calc : ROUNDUP function -Oracle Open Office Calc : row breaks -Oracle Open Office Calc : row breaks;deleting -Oracle Open Office Calc : row breaks;inserting -Oracle Open Office Calc : ROW function -Oracle Open Office Calc : row headers -Oracle Open Office Calc : row headers;displaying (Calc) -Oracle Open Office Calc : row headers;hiding -Oracle Open Office Calc : row headers;highlighting (Calc) -Oracle Open Office Calc : row headers;using in formulas -Oracle Open Office Calc : rows -Oracle Open Office Calc : rows;deleting -Oracle Open Office Calc : rows;finding labels automatically -Oracle Open Office Calc : rows;freezing -Oracle Open Office Calc : rows;heights -Oracle Open Office Calc : rows;hiding -Oracle Open Office Calc : rows;inserting -Oracle Open Office Calc : rows;optimal heights -Oracle Open Office Calc : rows;removing/redisplaying with filters -Oracle Open Office Calc : rows;repeating when printing -Oracle Open Office Calc : rows;swapping with columns -Oracle Open Office Calc : rows;visible and invisible -Oracle Open Office Calc : ROWS function -Oracle Open Office Calc : rows, see also cells -Oracle Open Office Calc : RRI function -Oracle Open Office Calc : RSQ calculations -Oracle Open Office Calc : RSQ function -Oracle Open Office Calc : rulers -Oracle Open Office Calc : rulers;default settings -Oracle Open Office Calc : rulers;measurement units -Oracle Open Office Calc : rulers;visible in presentations -Oracle Open Office Calc : sales values -Oracle Open Office Calc : sales values;fixed interest securities -Oracle Open Office Calc : sales values;non-interest-bearing securities -Oracle Open Office Calc : samples and templates -Oracle Open Office Calc : sampling without replacement -Oracle Open Office Calc : saving -Oracle Open Office Calc : saving;as text csv -Oracle Open Office Calc : saving;default file formats -Oracle Open Office Calc : saving;dialog settings -Oracle Open Office Calc : saving;documents -Oracle Open Office Calc : saving;documents for mobile devices -Oracle Open Office Calc : saving;documents in other formats -Oracle Open Office Calc : saving;documents, automatically -Oracle Open Office Calc : saving;in Microsoft Office file format -Oracle Open Office Calc : saving;options -Oracle Open Office Calc : saving;sheets in HTML -Oracle Open Office Calc : saving;templates -Oracle Open Office Calc : saving;to XML -Oracle Open Office Calc : saving;VBA code in Microsoft Office documents -Oracle Open Office Calc : saving;with password by default -Oracle Open Office Calc : saving as command -Oracle Open Office Calc : saving as command;precautions -Oracle Open Office Calc : scalar products -Oracle Open Office Calc : scaling -Oracle Open Office Calc : scaling;axes -Oracle Open Office Calc : scaling;font sizes in user interface -Oracle Open Office Calc : scaling;objects -Oracle Open Office Calc : scaling;pictures -Oracle Open Office Calc : scaling;printing in Oracle Open Office Math -Oracle Open Office Calc : scaling;text in charts -Oracle Open Office Calc : scaling;when printing presentations -Oracle Open Office Calc : scaling, see also zooming -Oracle Open Office Calc : scatter charts -Oracle Open Office Calc : scenarios -Oracle Open Office Calc : scenarios;creating/editing/deleting -Oracle Open Office Calc : scenarios;displaying names -Oracle Open Office Calc : screen -Oracle Open Office Calc : screen;full screen views -Oracle Open Office Calc : screen;scaling -Oracle Open Office Calc : screen magnifiers -Oracle Open Office Calc : screen readers -Oracle Open Office Calc : script organization -Oracle Open Office Calc : scrollbars -Oracle Open Office Calc : scrollbars;controls -Oracle Open Office Calc : scrollbars;displaying (Calc) -Oracle Open Office Calc : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Calc : scrolling prevention in tables -Oracle Open Office Calc : search criteria for database functions in cells -Oracle Open Office Calc : search engines -Oracle Open Office Calc : search engines;definition -Oracle Open Office Calc : search engines;selecting -Oracle Open Office Calc : SEARCH function -Oracle Open Office Calc : searching -Oracle Open Office Calc : searching;all sheets -Oracle Open Office Calc : searching;cell contents in Calc databases -Oracle Open Office Calc : searching;databases -Oracle Open Office Calc : searching;form filters -Oracle Open Office Calc : searching;Internet -Oracle Open Office Calc : searching;links in cells -Oracle Open Office Calc : searching;maximum values in columns -Oracle Open Office Calc : searching;minimum values in columns -Oracle Open Office Calc : searching;tables and forms -Oracle Open Office Calc : searching, see also finding -Oracle Open Office Calc : SECOND function -Oracle Open Office Calc : secondary axes in charts -Oracle Open Office Calc : sections -Oracle Open Office Calc : sections;backgrounds -Oracle Open Office Calc : securities -Oracle Open Office Calc : securities;first interest payment until settlement date -Oracle Open Office Calc : security -Oracle Open Office Calc : security;digital signatures -Oracle Open Office Calc : security;options for documents with macros -Oracle Open Office Calc : security;protecting contents -Oracle Open Office Calc : security;security levels for macros -Oracle Open Office Calc : security;warning dialogs with macros -Oracle Open Office Calc : selecting -Oracle Open Office Calc : selecting;cells -Oracle Open Office Calc : selecting;controls -Oracle Open Office Calc : selecting;formatting themes -Oracle Open Office Calc : selecting;measurement units -Oracle Open Office Calc : selecting;multiple sheets -Oracle Open Office Calc : selecting;objects -Oracle Open Office Calc : selecting;print areas -Oracle Open Office Calc : selecting;scenarios in Navigator -Oracle Open Office Calc : selecting;several files -Oracle Open Office Calc : selection clipboard -Oracle Open Office Calc : selection frames -Oracle Open Office Calc : selection lists -Oracle Open Office Calc : selection lists;filling cells -Oracle Open Office Calc : selection lists;validity -Oracle Open Office Calc : selection modes in spreadsheets -Oracle Open Office Calc : selection modes in text -Oracle Open Office Calc : sending -Oracle Open Office Calc : sending;AutoAbstract function in presentations -Oracle Open Office Calc : sending;documents as e-mail -Oracle Open Office Calc : sending;documents as faxes -Oracle Open Office Calc : separator lines -Oracle Open Office Calc : separator lines;defining -Oracle Open Office Calc : separators -Oracle Open Office Calc : separators;conditional -Oracle Open Office Calc : series -Oracle Open Office Calc : series;calculating -Oracle Open Office Calc : series;sort lists -Oracle Open Office Calc : SERIESSUM function -Oracle Open Office Calc : Server Side ImageMap -Oracle Open Office Calc : settings -Oracle Open Office Calc : settings;printers -Oracle Open Office Calc : settings;program configuration -Oracle Open Office Calc : settings;proxies -Oracle Open Office Calc : settings;tracking changes -Oracle Open Office Calc : settings;views -Oracle Open Office Calc : SGML -Oracle Open Office Calc : SGML;definition -Oracle Open Office Calc : shadows -Oracle Open Office Calc : shadows;areas -Oracle Open Office Calc : shadows;borders -Oracle Open Office Calc : shadows;characters -Oracle Open Office Calc : shadows;characters, using context menu -Oracle Open Office Calc : shared libraries -Oracle Open Office Calc : shared libraries;programming -Oracle Open Office Calc : sharing documents -Oracle Open Office Calc : sharpening filter -Oracle Open Office Calc : sheet area names -Oracle Open Office Calc : SHEET function -Oracle Open Office Calc : sheet grids -Oracle Open Office Calc : sheet grids;printing -Oracle Open Office Calc : sheet numbers -Oracle Open Office Calc : sheet numbers;looking up -Oracle Open Office Calc : sheet ranges -Oracle Open Office Calc : sheet ranges;filling -Oracle Open Office Calc : sheet references -Oracle Open Office Calc : sheet tabs -Oracle Open Office Calc : sheet tabs;displaying -Oracle Open Office Calc : sheet tabs;renaming -Oracle Open Office Calc : sheet tabs;using -Oracle Open Office Calc : sheets -Oracle Open Office Calc : sheets;AutoFormat function -Oracle Open Office Calc : sheets;creating -Oracle Open Office Calc : sheets;defining label ranges -Oracle Open Office Calc : sheets;deleting -Oracle Open Office Calc : sheets;displaying -Oracle Open Office Calc : sheets;filter values -Oracle Open Office Calc : sheets;formatting themes -Oracle Open Office Calc : sheets;hiding -Oracle Open Office Calc : sheets;hiding details -Oracle Open Office Calc : sheets;HTML -Oracle Open Office Calc : sheets;inserting -Oracle Open Office Calc : sheets;inserting row breaks -Oracle Open Office Calc : sheets;optimal row heights -Oracle Open Office Calc : sheets;outlines -Oracle Open Office Calc : sheets;printing details -Oracle Open Office Calc : sheets;printing in landscape -Oracle Open Office Calc : sheets;printing on multiple pages -Oracle Open Office Calc : sheets;printing sheet counts -Oracle Open Office Calc : sheets;protecting -Oracle Open Office Calc : sheets;renaming -Oracle Open Office Calc : sheets;right-to-left -Oracle Open Office Calc : sheets;searching all -Oracle Open Office Calc : sheets;selecting multiple -Oracle Open Office Calc : sheets;showing multiple -Oracle Open Office Calc : sheets;simultaneous multiple filling -Oracle Open Office Calc : SHEETS function -Oracle Open Office Calc : shortcut keys -Oracle Open Office Calc : shortcut keys;assigning macros -Oracle Open Office Calc : shortcut keys;charts -Oracle Open Office Calc : shortcut keys;general -Oracle Open Office Calc : shortcut keys;in databases -Oracle Open Office Calc : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Calc : shortcut keys;Oracle Open Office Calc accessibility -Oracle Open Office Calc : shortcut keys;spreadsheets -Oracle Open Office Calc : showing -Oracle Open Office Calc : showing;cell references -Oracle Open Office Calc : showing;changes -Oracle Open Office Calc : showing;columns -Oracle Open Office Calc : showing;docked windows -Oracle Open Office Calc : showing;drawings and controls (Writer) -Oracle Open Office Calc : showing;live presentations on the Internet -Oracle Open Office Calc : showing;rows -Oracle Open Office Calc : showing;sheet details -Oracle Open Office Calc : showing;toolbars -Oracle Open Office Calc : SIGN function -Oracle Open Office Calc : signing documents with digital signatures -Oracle Open Office Calc : similarity search -Oracle Open Office Calc : simple handles (Writer) -Oracle Open Office Calc : simplified Chinese -Oracle Open Office Calc : simplified Chinese;translating to traditional Chinese -Oracle Open Office Calc : SIN function -Oracle Open Office Calc : single sign on options -Oracle Open Office Calc : single-line spacing in text -Oracle Open Office Calc : SINH function -Oracle Open Office Calc : sizes -Oracle Open Office Calc : sizes;draw objects -Oracle Open Office Calc : sizes;pictures -Oracle Open Office Calc : SKEW function -Oracle Open Office Calc : slanting draw objects -Oracle Open Office Calc : SLN function -Oracle Open Office Calc : SLOPE function -Oracle Open Office Calc : slopes, see also regression lines -Oracle Open Office Calc : small capitals -Oracle Open Office Calc : SMALL function -Oracle Open Office Calc : small icons -Oracle Open Office Calc : smart tag configuration -Oracle Open Office Calc : smooth scrolling (Writer) -Oracle Open Office Calc : smoothing filter -Oracle Open Office Calc : snap grid defaults (Writer/Calc) -Oracle Open Office Calc : snapping in presentations and drawings -Oracle Open Office Calc : solarization filter -Oracle Open Office Calc : solver -Oracle Open Office Calc : sort lists -Oracle Open Office Calc : sort lists;applying -Oracle Open Office Calc : sort lists;copying to in Calc -Oracle Open Office Calc : sorting -Oracle Open Office Calc : sorting;Asian languages -Oracle Open Office Calc : sorting;data in forms -Oracle Open Office Calc : sorting;database ranges -Oracle Open Office Calc : sorting;databases -Oracle Open Office Calc : sorting;options for database ranges -Oracle Open Office Calc : sorting;options in Data Pilot -Oracle Open Office Calc : sorting;sort criteria for database ranges -Oracle Open Office Calc : sound files -Oracle Open Office Calc : spaces -Oracle Open Office Calc : spaces;displaying (Writer) -Oracle Open Office Calc : spaces;ignoring double -Oracle Open Office Calc : spaces;inserting protected spaces -Oracle Open Office Calc : spaces;showing protected spaces (Writer) -Oracle Open Office Calc : spacing -Oracle Open Office Calc : spacing;between paragraphs in footnotes -Oracle Open Office Calc : spacing;font effects -Oracle Open Office Calc : spacing;lines and paragraphs -Oracle Open Office Calc : spacing;tab stops in text documents -Oracle Open Office Calc : spacing;tabs in presentations -Oracle Open Office Calc : spadmin -Oracle Open Office Calc : special characters -Oracle Open Office Calc : speech bubbles -Oracle Open Office Calc : speed of printing -Oracle Open Office Calc : spellcheck -Oracle Open Office Calc : spellcheck;activating for a language -Oracle Open Office Calc : spellcheck;context menus -Oracle Open Office Calc : spellcheck;default languages -Oracle Open Office Calc : spellcheck;dialog -Oracle Open Office Calc : spellcheck;dictionary of exceptions -Oracle Open Office Calc : spellcheck;ignore list -Oracle Open Office Calc : spin button creation -Oracle Open Office Calc : spoolfiles with Xprinter -Oracle Open Office Calc : spreadsheets -Oracle Open Office Calc : spreadsheets;as databases (base) -Oracle Open Office Calc : spreadsheets;backgrounds -Oracle Open Office Calc : spreadsheets;calculating -Oracle Open Office Calc : spreadsheets;copying -Oracle Open Office Calc : spreadsheets;copying areas to text documents -Oracle Open Office Calc : spreadsheets;creating/opening -Oracle Open Office Calc : spreadsheets;deleting -Oracle Open Office Calc : spreadsheets;deleting cell contents -Oracle Open Office Calc : spreadsheets;deleting cells -Oracle Open Office Calc : spreadsheets;deleting column breaks -Oracle Open Office Calc : spreadsheets;deleting row breaks -Oracle Open Office Calc : spreadsheets;displaying headers of columns/rows -Oracle Open Office Calc : spreadsheets;formatting -Oracle Open Office Calc : spreadsheets;formula bar -Oracle Open Office Calc : spreadsheets;functions -Oracle Open Office Calc : spreadsheets;hiding functions -Oracle Open Office Calc : spreadsheets;importing from/exporting to dBASE files -Oracle Open Office Calc : spreadsheets;inserting breaks in -Oracle Open Office Calc : spreadsheets;inserting cells -Oracle Open Office Calc : spreadsheets;inserting charts -Oracle Open Office Calc : spreadsheets;inserting column breaks -Oracle Open Office Calc : spreadsheets;inserting columns -Oracle Open Office Calc : spreadsheets;inserting database records -Oracle Open Office Calc : spreadsheets;inserting rows -Oracle Open Office Calc : spreadsheets;moving -Oracle Open Office Calc : spreadsheets;optimal column widths -Oracle Open Office Calc : spreadsheets;printing -Oracle Open Office Calc : spreadsheets;saving -Oracle Open Office Calc : spreadsheets;saving automatically -Oracle Open Office Calc : spreadsheets;saving in other formats -Oracle Open Office Calc : spreadsheets;sending as e-mail -Oracle Open Office Calc : spreadsheets;shortcut keys in -Oracle Open Office Calc : spreadsheets;showing columns -Oracle Open Office Calc : spreadsheets;value highlighting -Oracle Open Office Calc : spreadsheets;values as shown -Oracle Open Office Calc : SQL -Oracle Open Office Calc : SQL;definition -Oracle Open Office Calc : SQL;DISTINCT parameter -Oracle Open Office Calc : SQL;executing SQL commands -Oracle Open Office Calc : SQL;executing SQL statements (Base) -Oracle Open Office Calc : SQL;queries (Base) -Oracle Open Office Calc : SQRT function -Oracle Open Office Calc : SQRTPI function -Oracle Open Office Calc : square drawings -Oracle Open Office Calc : square number additions -Oracle Open Office Calc : square roots -Oracle Open Office Calc : square roots;positive numbers -Oracle Open Office Calc : square roots;products of Pi -Oracle Open Office Calc : standard bar on/off -Oracle Open Office Calc : standard deviation in charts -Oracle Open Office Calc : standard deviations in databases -Oracle Open Office Calc : standard deviations in databases;based on a sample -Oracle Open Office Calc : standard deviations in databases;based on populations -Oracle Open Office Calc : standard deviations in statistics -Oracle Open Office Calc : standard deviations in statistics;based on a population -Oracle Open Office Calc : standard deviations in statistics;based on a sample -Oracle Open Office Calc : standard errors -Oracle Open Office Calc : standard errors;array functions -Oracle Open Office Calc : standard errors;statistical functions -Oracle Open Office Calc : standard filters in databases -Oracle Open Office Calc : standard printer under UNIX -Oracle Open Office Calc : STANDARDIZE function -Oracle Open Office Calc : start center -Oracle Open Office Calc : start parameters -Oracle Open Office Calc : statistics functions -Oracle Open Office Calc : statistics in charts -Oracle Open Office Calc : status bar on/off -Oracle Open Office Calc : STDEV function -Oracle Open Office Calc : STDEVA function -Oracle Open Office Calc : STDEVP function -Oracle Open Office Calc : STDEVPA function -Oracle Open Office Calc : STEYX function -Oracle Open Office Calc : stickers -Oracle Open Office Calc : stock charts -Oracle Open Office Calc : straight-line depreciations -Oracle Open Office Calc : strikethrough -Oracle Open Office Calc : strikethrough;characters -Oracle Open Office Calc : strikethrough;font effects -Oracle Open Office Calc : STYLE function -Oracle Open Office Calc : STYLE function example -Oracle Open Office Calc : styles -Oracle Open Office Calc : styles;'changed' message -Oracle Open Office Calc : styles;conditional styles -Oracle Open Office Calc : styles;copying between documents -Oracle Open Office Calc : styles;keyboard shortcuts -Oracle Open Office Calc : styles;organizing -Oracle Open Office Calc : styles;printing styles used in a document -Oracle Open Office Calc : styles;replacing automatically -Oracle Open Office Calc : Styles and Formatting window -Oracle Open Office Calc : Styles and Formatting window;docking -Oracle Open Office Calc : Styles and Formatting window -Oracle Open Office Calc : Stylist, see Styles and Formatting window -Oracle Open Office Calc : subforms -Oracle Open Office Calc : subforms;creating -Oracle Open Office Calc : subforms;description -Oracle Open Office Calc : submitting forms -Oracle Open Office Calc : subscript text in cells -Oracle Open Office Calc : SUBSTITUTE function -Oracle Open Office Calc : SUBTOTAL function -Oracle Open Office Calc : subtotals -Oracle Open Office Calc : subtotals;sorting options -Oracle Open Office Calc : suffixes in file formats -Oracle Open Office Calc : SUM function -Oracle Open Office Calc : sum icon -Oracle Open Office Calc : SUMIF function -Oracle Open Office Calc : SUMPRODUCT function -Oracle Open Office Calc : sums -Oracle Open Office Calc : sums;cells in Calc databases -Oracle Open Office Calc : sums;of filtered data -Oracle Open Office Calc : sums;of square numbers -Oracle Open Office Calc : sums;of squares of deviations -Oracle Open Office Calc : SUMSQ function -Oracle Open Office Calc : SUMX2MY2 function -Oracle Open Office Calc : SUMX2PY2 function -Oracle Open Office Calc : SUMXMY2 function -Oracle Open Office Calc : superscript text in cells -Oracle Open Office Calc : support on the Web -Oracle Open Office Calc : swapping tables -Oracle Open Office Calc : SYD function -Oracle Open Office Calc : syllables in spreadsheets -Oracle Open Office Calc : synchronizing -Oracle Open Office Calc : synchronizing;labels and business cards -Oracle Open Office Calc : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Calc : system address book registration -Oracle Open Office Calc : T function -Oracle Open Office Calc : t-distribution -Oracle Open Office Calc : tab stops -Oracle Open Office Calc : tab stops;displaying (Writer) -Oracle Open Office Calc : tab stops;inserting and editing -Oracle Open Office Calc : tab stops;regular expressions -Oracle Open Office Calc : tab stops;setting in sheets -Oracle Open Office Calc : tab stops;settings -Oracle Open Office Calc : tab stops;spacing in presentations -Oracle Open Office Calc : tab stops;spacing in text documents -Oracle Open Office Calc : table controls -Oracle Open Office Calc : table controls;form functions -Oracle Open Office Calc : table controls;keyboard-only edit mode -Oracle Open Office Calc : table controls;properties -Oracle Open Office Calc : table views of databases -Oracle Open Office Calc : Table Wizard (Base) -Oracle Open Office Calc : tables -Oracle Open Office Calc : tables;AutoFormat function -Oracle Open Office Calc : tables;backgrounds -Oracle Open Office Calc : tables;combining -Oracle Open Office Calc : tables;copying cell styles -Oracle Open Office Calc : tables;database ranges -Oracle Open Office Calc : tables;deactivating automatic changes in -Oracle Open Office Calc : tables;displaying formulas/values -Oracle Open Office Calc : tables;freezing -Oracle Open Office Calc : tables;importing/exporting as text -Oracle Open Office Calc : tables;inserting external data -Oracle Open Office Calc : tables;inserting line breaks -Oracle Open Office Calc : tables;merging cells -Oracle Open Office Calc : tables;multiple operations in -Oracle Open Office Calc : tables;number formats -Oracle Open Office Calc : tables;renaming -Oracle Open Office Calc : tables;rotating -Oracle Open Office Calc : tables;selecting ranges -Oracle Open Office Calc : tables;showing details -Oracle Open Office Calc : tables;splitting windows -Oracle Open Office Calc : tables;transposing -Oracle Open Office Calc : tables;views -Oracle Open Office Calc : tables in databases -Oracle Open Office Calc : tables in databases;access rights to (Base) -Oracle Open Office Calc : tables in databases;adding to queries -Oracle Open Office Calc : tables in databases;browsing and editing -Oracle Open Office Calc : tables in databases;copying database tables (Base) -Oracle Open Office Calc : tables in databases;creating -Oracle Open Office Calc : tables in databases;creating in design view (manually) -Oracle Open Office Calc : tables in databases;importing dBASE files -Oracle Open Office Calc : tables in databases;importing text formats (Base) -Oracle Open Office Calc : tables in databases;joining for queries (Base) -Oracle Open Office Calc : tables in databases;printing queries (Base) -Oracle Open Office Calc : tables in databases;relations (Base) -Oracle Open Office Calc : tables in databases;searching -Oracle Open Office Calc : tables in spreadsheets -Oracle Open Office Calc : tables in spreadsheets;copying data to other applications -Oracle Open Office Calc : tables in spreadsheets;defining borders -Oracle Open Office Calc : tables in spreadsheets;value highlighting -Oracle Open Office Calc : tables in text -Oracle Open Office Calc : tables in text;captions -Oracle Open Office Calc : tables in text;creating automatically -Oracle Open Office Calc : tables in text;default settings -Oracle Open Office Calc : tables in text;defining borders -Oracle Open Office Calc : tables in text;displaying -Oracle Open Office Calc : tables in text;printing -Oracle Open Office Calc : tabs -Oracle Open Office Calc : tabs;displaying sheet tabs -Oracle Open Office Calc : tags -Oracle Open Office Calc : tags;definition -Oracle Open Office Calc : tags;META tags -Oracle Open Office Calc : TAN function -Oracle Open Office Calc : TANH function -Oracle Open Office Calc : TBILLEQ function -Oracle Open Office Calc : TBILLPRICE function -Oracle Open Office Calc : TBILLYIELD function -Oracle Open Office Calc : TDIST function -Oracle Open Office Calc : templates -Oracle Open Office Calc : templates;agendas -Oracle Open Office Calc : templates;changing basic fonts -Oracle Open Office Calc : templates;database reports -Oracle Open Office Calc : templates;deleting -Oracle Open Office Calc : templates;editing and saving -Oracle Open Office Calc : templates;faxes -Oracle Open Office Calc : templates;importing and exporting -Oracle Open Office Calc : templates;letters -Oracle Open Office Calc : templates;new documents from templates -Oracle Open Office Calc : templates;opening documents with -Oracle Open Office Calc : templates;organizing -Oracle Open Office Calc : terminology -Oracle Open Office Calc : terminology;general glossary -Oracle Open Office Calc : terminology;Internet glossary -Oracle Open Office Calc : testing XML filters -Oracle Open Office Calc : text -Oracle Open Office Calc : text;animating -Oracle Open Office Calc : text;Asian layout -Oracle Open Office Calc : text;bold -Oracle Open Office Calc : text;coloring -Oracle Open Office Calc : text;copying by drag and drop -Oracle Open Office Calc : text;CTL languages -Oracle Open Office Calc : text;drawing pictures -Oracle Open Office Calc : text;font effects -Oracle Open Office Calc : text;font sizes -Oracle Open Office Calc : text;font styles -Oracle Open Office Calc : text;fonts and formats -Oracle Open Office Calc : text;Fontwork icons -Oracle Open Office Calc : text;hyperlinks -Oracle Open Office Calc : text;inserting special characters -Oracle Open Office Calc : text;italics -Oracle Open Office Calc : text;kerning -Oracle Open Office Calc : text;language selection -Oracle Open Office Calc : text;line spacing -Oracle Open Office Calc : text;overwriting or inserting -Oracle Open Office Calc : text;printing in black -Oracle Open Office Calc : text;replacing with format -Oracle Open Office Calc : text;selection modes -Oracle Open Office Calc : text;shadowed -Oracle Open Office Calc : text;text/draw objects -Oracle Open Office Calc : text attributes -Oracle Open Office Calc : text attributes;hyperlinks -Oracle Open Office Calc : text attributes;undoing -Oracle Open Office Calc : text boxes -Oracle Open Office Calc : text boxes;form functions -Oracle Open Office Calc : text boxes;positioning -Oracle Open Office Calc : text breaks in cells -Oracle Open Office Calc : text colors for better accessibility -Oracle Open Office Calc : text completion on/off -Oracle Open Office Calc : text concatenation AND -Oracle Open Office Calc : text databases (Base) -Oracle Open Office Calc : text documents -Oracle Open Office Calc : text documents;creating/opening -Oracle Open Office Calc : text documents;importing to spreadsheets -Oracle Open Office Calc : text documents;importing/exporting -Oracle Open Office Calc : text documents;inserting spreadsheet cells -Oracle Open Office Calc : text documents;print settings -Oracle Open Office Calc : text documents;printing -Oracle Open Office Calc : text documents;saving -Oracle Open Office Calc : text documents;saving automatically -Oracle Open Office Calc : text documents;saving in other formats -Oracle Open Office Calc : text documents;sending as e-mail -Oracle Open Office Calc : text effects -Oracle Open Office Calc : text file import and export -Oracle Open Office Calc : text flow -Oracle Open Office Calc : text flow;in cells -Oracle Open Office Calc : text formats -Oracle Open Office Calc : text formats;databases -Oracle Open Office Calc : text formats;for numbers -Oracle Open Office Calc : text formats;pasting -Oracle Open Office Calc : TEXT function -Oracle Open Office Calc : text in cells -Oracle Open Office Calc : text in cells;as addressing -Oracle Open Office Calc : text in cells;AutoInput function -Oracle Open Office Calc : text in cells;changing to numbers -Oracle Open Office Calc : text in cells;formatting -Oracle Open Office Calc : text in cells;functions -Oracle Open Office Calc : text in cells;multi-line -Oracle Open Office Calc : text in cells;writing vertically -Oracle Open Office Calc : text input fields -Oracle Open Office Calc : text layout for special languages -Oracle Open Office Calc : text objects -Oracle Open Office Calc : text objects;alignment -Oracle Open Office Calc : text objects;draw functions -Oracle Open Office Calc : text objects;fonts -Oracle Open Office Calc : text objects;in presentations and drawings -Oracle Open Office Calc : text operators -Oracle Open Office Calc : text overflow in spreadsheet cells -Oracle Open Office Calc : text scaling in charts -Oracle Open Office Calc : text to columns -Oracle Open Office Calc : text, see also text documents, paragraphs and characters -Oracle Open Office Calc : TextArt, see Fontwork -Oracle Open Office Calc : textures -Oracle Open Office Calc : textures;inserting from Gallery -Oracle Open Office Calc : textures;on chart bars -Oracle Open Office Calc : Thai -Oracle Open Office Calc : Thai;entering text -Oracle Open Office Calc : Thai;language settings -Oracle Open Office Calc : theme selection for sheets -Oracle Open Office Calc : thesaurus -Oracle Open Office Calc : thesaurus;activating for a language -Oracle Open Office Calc : ticker text -Oracle Open Office Calc : time differences -Oracle Open Office Calc : time fields -Oracle Open Office Calc : time fields;form functions -Oracle Open Office Calc : TIME function -Oracle Open Office Calc : times -Oracle Open Office Calc : times;in cells -Oracle Open Office Calc : times;inserting when printing presentations -Oracle Open Office Calc : times, formats -Oracle Open Office Calc : TIMEVALUE function -Oracle Open Office Calc : TINV function -Oracle Open Office Calc : tips -Oracle Open Office Calc : tips;extended tips in Help -Oracle Open Office Calc : title rows -Oracle Open Office Calc : title rows;freezing during table split -Oracle Open Office Calc : title rows;printing in Oracle Open Office Math -Oracle Open Office Calc : title rows;printing on all sheets -Oracle Open Office Calc : titles -Oracle Open Office Calc : titles;alignment (charts) -Oracle Open Office Calc : titles;changing -Oracle Open Office Calc : titles;editing in charts -Oracle Open Office Calc : titles;font effects -Oracle Open Office Calc : titles;formatting automatically -Oracle Open Office Calc : titles;formatting charts -Oracle Open Office Calc : titles;objects -Oracle Open Office Calc : TODAY function -Oracle Open Office Calc : toolbars -Oracle Open Office Calc : toolbars;adding buttons -Oracle Open Office Calc : toolbars;docking/undocking -Oracle Open Office Calc : toolbars;Form Navigation bar -Oracle Open Office Calc : toolbars;viewing/closing -Oracle Open Office Calc : tools bar -Oracle Open Office Calc : tooltips -Oracle Open Office Calc : tooltips;extended tips -Oracle Open Office Calc : tooltips;help -Oracle Open Office Calc : total amortizement rates -Oracle Open Office Calc : traces -Oracle Open Office Calc : traces;autorefreshing -Oracle Open Office Calc : traces;precedents and dependents -Oracle Open Office Calc : traces;precedents for multiple cells -Oracle Open Office Calc : traces;refreshing -Oracle Open Office Calc : tracing errors -Oracle Open Office Calc : traditional Chinese -Oracle Open Office Calc : traditional Chinese;translating to simplified chinese -Oracle Open Office Calc : transparency -Oracle Open Office Calc : transparency;areas -Oracle Open Office Calc : transparency;off for faster printing -Oracle Open Office Calc : transparency;saving -Oracle Open Office Calc : TRANSPOSE function -Oracle Open Office Calc : transposing tables -Oracle Open Office Calc : treasury bills -Oracle Open Office Calc : treasury bills;annual return -Oracle Open Office Calc : treasury bills;prices -Oracle Open Office Calc : treasury bills;rates of return -Oracle Open Office Calc : tree view of Help -Oracle Open Office Calc : TREND function -Oracle Open Office Calc : trend lines in charts -Oracle Open Office Calc : trigonometric functions -Oracle Open Office Calc : TRIM function -Oracle Open Office Calc : TRIMMEAN function -Oracle Open Office Calc : TRUE function -Oracle Open Office Calc : TRUNC function -Oracle Open Office Calc : TTEST function -Oracle Open Office Calc : TYPE function -Oracle Open Office Calc : typefaces -Oracle Open Office Calc : typefaces;adding under UNIX -Oracle Open Office Calc : typefaces;formats -Oracle Open Office Calc : typographical quotes in Oracle Open Office Writer -Oracle Open Office Calc : typography -Oracle Open Office Calc : typography;Asian -Oracle Open Office Calc : underlining -Oracle Open Office Calc : underlining;AutoFormat function -Oracle Open Office Calc : underlining;characters -Oracle Open Office Calc : underlining;text -Oracle Open Office Calc : undocking windows -Oracle Open Office Calc : undoing -Oracle Open Office Calc : undoing;direct formatting -Oracle Open Office Calc : undoing;editing -Oracle Open Office Calc : undoing;number of steps -Oracle Open Office Calc : ungrouping entries in DataPilot tables -Oracle Open Office Calc : ungrouping groups -Oracle Open Office Calc : UNICHAR function -Oracle Open Office Calc : UNICODE function -Oracle Open Office Calc : units -Oracle Open Office Calc : units;converting -Oracle Open Office Calc : units;measurement units -Oracle Open Office Calc : unmerging cells -Oracle Open Office Calc : UNO components -Oracle Open Office Calc : UNO components;Extension Manager -Oracle Open Office Calc : UNO components;integrating new -Oracle Open Office Calc : unprotecting cells -Oracle Open Office Calc : update options -Oracle Open Office Calc : updates -Oracle Open Office Calc : updates;checking automatically -Oracle Open Office Calc : updates;checking manually -Oracle Open Office Calc : updating -Oracle Open Office Calc : updating;DataPilot tables -Oracle Open Office Calc : updating;fields and charts, automatically (Writer) -Oracle Open Office Calc : updating;links in text documents -Oracle Open Office Calc : updating;links, on opening -Oracle Open Office Calc : updating;templates -Oracle Open Office Calc : updating;traces -Oracle Open Office Calc : UPPER function -Oracle Open Office Calc : URL -Oracle Open Office Calc : URL;changing hyperlink URLs -Oracle Open Office Calc : URL;definition -Oracle Open Office Calc : URL;in Calc -Oracle Open Office Calc : URL;in pictures -Oracle Open Office Calc : URL;saving absolute/relative paths -Oracle Open Office Calc : URL;turning off URL recognition -Oracle Open Office Calc : user data -Oracle Open Office Calc : user data;input -Oracle Open Office Calc : user data;removing when saving -Oracle Open Office Calc : user feedback -Oracle Open Office Calc : user feedback;automatically -Oracle Open Office Calc : user-defined dictionaries -Oracle Open Office Calc : user-defined dictionaries;creating -Oracle Open Office Calc : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Calc : user-defined dictionaries;editing -Oracle Open Office Calc : user-defined functions -Oracle Open Office Calc : user-defined styles -Oracle Open Office Calc : user-defined styles;automatically replacing -Oracle Open Office Calc : UTF-8/UCS2 support -Oracle Open Office Calc : validity -Oracle Open Office Calc : VALUE function -Oracle Open Office Calc : values -Oracle Open Office Calc : values;absolute -Oracle Open Office Calc : values;defining names -Oracle Open Office Calc : values;displaying in tables -Oracle Open Office Calc : values;highlighting -Oracle Open Office Calc : values;inserting in multiple cells -Oracle Open Office Calc : values;limiting on input -Oracle Open Office Calc : values;rounded as shown (Calc) -Oracle Open Office Calc : values;rounded in calculations -Oracle Open Office Calc : VAR function -Oracle Open Office Calc : VARA function -Oracle Open Office Calc : variables -Oracle Open Office Calc : variables;calculating equations -Oracle Open Office Calc : variables;defining names -Oracle Open Office Calc : variables;for paths -Oracle Open Office Calc : variances -Oracle Open Office Calc : variances;based on populations -Oracle Open Office Calc : variances;based on samples -Oracle Open Office Calc : variances -Oracle Open Office Calc : variances in charts -Oracle Open Office Calc : VARP function -Oracle Open Office Calc : VARPA function -Oracle Open Office Calc : VBA code -Oracle Open Office Calc : VBA code;loading/saving documents with VBA code -Oracle Open Office Calc : VDB function -Oracle Open Office Calc : version management -Oracle Open Office Calc : version numbers of documents -Oracle Open Office Calc : versions -Oracle Open Office Calc : versions;comparing documents -Oracle Open Office Calc : versions;file saving as, restriction -Oracle Open Office Calc : versions;merging document versions -Oracle Open Office Calc : versions;of a document -Oracle Open Office Calc : versions;Oracle Open Office -Oracle Open Office Calc : vertical callouts -Oracle Open Office Calc : vertical scrollbars (Writer) -Oracle Open Office Calc : vertical search function -Oracle Open Office Calc : vertical text boxes -Oracle Open Office Calc : videos -Oracle Open Office Calc : viewing -Oracle Open Office Calc : viewing;comments on cells -Oracle Open Office Calc : viewing;databases -Oracle Open Office Calc : viewing;file properties -Oracle Open Office Calc : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Calc : viewing;print ranges -Oracle Open Office Calc : viewing;toolbars -Oracle Open Office Calc : views -Oracle Open Office Calc : views;creating database views (Base) -Oracle Open Office Calc : views;defaults -Oracle Open Office Calc : views;full screen -Oracle Open Office Calc : views;icons -Oracle Open Office Calc : views;multiple sheets -Oracle Open Office Calc : views;scaling -Oracle Open Office Calc : views;tables -Oracle Open Office Calc : Visual Basic for Applications -Oracle Open Office Calc : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Calc : VLOOKUP function -Oracle Open Office Calc : watermarks -Oracle Open Office Calc : web documents -Oracle Open Office Calc : web documents;XForms -Oracle Open Office Calc : web pages -Oracle Open Office Calc : web pages;importing data -Oracle Open Office Calc : Web support -Oracle Open Office Calc : WebCast export -Oracle Open Office Calc : WebDAV over HTTPS -Oracle Open Office Calc : WebQuery filter -Oracle Open Office Calc : WEEKDAY function -Oracle Open Office Calc : WEEKNUM function -Oracle Open Office Calc : WEEKNUM_ADD function -Oracle Open Office Calc : WEEKS function -Oracle Open Office Calc : WEEKSINYEAR function -Oracle Open Office Calc : WEIBULL function -Oracle Open Office Calc : what if operations -Oracle Open Office Calc : what if operations;solver -Oracle Open Office Calc : what if operations;two variables -Oracle Open Office Calc : widths of cells -Oracle Open Office Calc : windows -Oracle Open Office Calc : windows;docking -Oracle Open Office Calc : windows;docking definition -Oracle Open Office Calc : windows;hiding/showing/docking -Oracle Open Office Calc : windows;new -Oracle Open Office Calc : windows;splitting -Oracle Open Office Calc : wizards -Oracle Open Office Calc : wizards;agendas -Oracle Open Office Calc : wizards;database queries -Oracle Open Office Calc : wizards;database tables (Base) -Oracle Open Office Calc : wizards;databases (Base) -Oracle Open Office Calc : wizards;document converter -Oracle Open Office Calc : wizards;Euro Converter -Oracle Open Office Calc : wizards;faxes -Oracle Open Office Calc : wizards;forms -Oracle Open Office Calc : wizards;functions -Oracle Open Office Calc : wizards;letters -Oracle Open Office Calc : wizards;macros (Base) -Oracle Open Office Calc : wizards;overview -Oracle Open Office Calc : wizards;presentations -Oracle Open Office Calc : wizards;reports -Oracle Open Office Calc : word completion on/off -Oracle Open Office Calc : Word documents -Oracle Open Office Calc : Word documents;compatibility -Oracle Open Office Calc : Word documents;saving as -Oracle Open Office Calc : WordArt, see Fontwork -Oracle Open Office Calc : words -Oracle Open Office Calc : words;automatically replacing -Oracle Open Office Calc : words;wrapping in cells -Oracle Open Office Calc : words;wrapping in CTL -Oracle Open Office Calc : WORKDAY function -Oracle Open Office Calc : working directory change -Oracle Open Office Calc : worksheet names -Oracle Open Office Calc : wrapping text -Oracle Open Office Calc : wrapping text;in cells -Oracle Open Office Calc : write protection on/off -Oracle Open Office Calc : writing aids options -Oracle Open Office Calc : WYSIWYG in fonts lists -Oracle Open Office Calc : X axes -Oracle Open Office Calc : X axes;grid formatting -Oracle Open Office Calc : X axes;positioning -Oracle Open Office Calc : X axes;scaling -Oracle Open Office Calc : X axes;showing -Oracle Open Office Calc : XForms -Oracle Open Office Calc : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Calc : XForms;conditions -Oracle Open Office Calc : XForms;opening/editing -Oracle Open Office Calc : XIRR function -Oracle Open Office Calc : XML converters -Oracle Open Office Calc : XML file formats -Oracle Open Office Calc : XML filters -Oracle Open Office Calc : XML filters;creating/testing -Oracle Open Office Calc : XML filters;saving as package/installing/deleting -Oracle Open Office Calc : XML filters;settings -Oracle Open Office Calc : XML Forms, see XForms -Oracle Open Office Calc : XNPV function -Oracle Open Office Calc : XSLT filters, see also XML filters -Oracle Open Office Calc : XY charts -Oracle Open Office Calc : Y axes -Oracle Open Office Calc : Y axes;formatting -Oracle Open Office Calc : Y axes;grid formatting -Oracle Open Office Calc : Y axes;positioning -Oracle Open Office Calc : Y axes;scaling -Oracle Open Office Calc : Y axes;showing -Oracle Open Office Calc : YEAR function -Oracle Open Office Calc : YEARFRAC function -Oracle Open Office Calc : years -Oracle Open Office Calc : years;2-digit options -Oracle Open Office Calc : years;2-digits -Oracle Open Office Calc : YEARS function -Oracle Open Office Calc : YIELD function -Oracle Open Office Calc : YIELDDISC function -Oracle Open Office Calc : YIELDMAT function -Oracle Open Office Calc : yields, see also rates of return -Oracle Open Office Calc : Z axes -Oracle Open Office Calc : Z axes;grid formatting -Oracle Open Office Calc : Z axes;showing -Oracle Open Office Calc : zero values -Oracle Open Office Calc : zero values;displaying (Calc) -Oracle Open Office Calc : zero values;entering leading zeros -Oracle Open Office Calc : zero values;printing -Oracle Open Office Calc : zooming -Oracle Open Office Calc : zooming;enlarging page views -Oracle Open Office Calc : zooming;page views -Oracle Open Office Calc : zooming;pictures -Oracle Open Office Calc : zooming;reducing page views -Oracle Open Office Calc : zooming;status bar -Oracle Open Office Calc : ZTEST function -Oracle Open Office Chart : 1/2 replacement -Oracle Open Office Chart : 3D charts -Oracle Open Office Chart : 3D text creation -Oracle Open Office Chart : abbreviation replacement -Oracle Open Office Chart : absolute hyperlinks -Oracle Open Office Chart : absolute saving of URLs -Oracle Open Office Chart : accents -Oracle Open Office Chart : Access databases (base) -Oracle Open Office Chart : access rights for database tables (Base) -Oracle Open Office Chart : accessibility -Oracle Open Office Chart : accessibility;general shortcuts -Oracle Open Office Chart : accessibility;options -Oracle Open Office Chart : accessibility;Oracle Open Office assistive technology -Oracle Open Office Chart : accessibility;Oracle Open Office features -Oracle Open Office Chart : activating -Oracle Open Office Chart : activating;context menus -Oracle Open Office Chart : activating;Error Report Tool -Oracle Open Office Chart : activating;extended help tips -Oracle Open Office Chart : activating;plug-ins -Oracle Open Office Chart : ActiveX control -Oracle Open Office Chart : Adabas D databases (base) -Oracle Open Office Chart : add-ons, see UNO components -Oracle Open Office Chart : additional selection mode -Oracle Open Office Chart : address books -Oracle Open Office Chart : address books;LDAP server (Base) -Oracle Open Office Chart : address books;registering -Oracle Open Office Chart : address labels from databases -Oracle Open Office Chart : ADO databases (Base) -Oracle Open Office Chart : Agenda Wizard -Oracle Open Office Chart : aging filter -Oracle Open Office Chart : aligning -Oracle Open Office Chart : aligning;2D charts -Oracle Open Office Chart : aligning;cells -Oracle Open Office Chart : aligning;objects -Oracle Open Office Chart : aligning;paragraphs -Oracle Open Office Chart : aligning;tables in text -Oracle Open Office Chart : aligning;text objects -Oracle Open Office Chart : aligning;titles in charts -Oracle Open Office Chart : alternative fonts -Oracle Open Office Chart : ampersand symbol, see also operators -Oracle Open Office Chart : anchors -Oracle Open Office Chart : anchors;changing -Oracle Open Office Chart : anchors;displaying (Calc) -Oracle Open Office Chart : anchors;types/positions for draw objects -Oracle Open Office Chart : animations -Oracle Open Office Chart : animations;accessibility options -Oracle Open Office Chart : appearance options -Oracle Open Office Chart : Arabic -Oracle Open Office Chart : Arabic;entering text -Oracle Open Office Chart : Arabic;language settings -Oracle Open Office Chart : area charts -Oracle Open Office Chart : areas -Oracle Open Office Chart : areas;bitmap patterns -Oracle Open Office Chart : areas;hatched/dotted -Oracle Open Office Chart : areas;shadows -Oracle Open Office Chart : areas;slanting -Oracle Open Office Chart : areas;styles -Oracle Open Office Chart : areas;transparency -Oracle Open Office Chart : arguments in command line -Oracle Open Office Chart : arranging -Oracle Open Office Chart : arranging;objects -Oracle Open Office Chart : arrows -Oracle Open Office Chart : arrows;defining arrow heads -Oracle Open Office Chart : arrows;defining arrow lines -Oracle Open Office Chart : arrows;drawing in text -Oracle Open Office Chart : ASCII -Oracle Open Office Chart : ASCII;definition -Oracle Open Office Chart : Asian languages -Oracle Open Office Chart : Asian languages;enabling -Oracle Open Office Chart : Asian Phonetic Guide -Oracle Open Office Chart : Asian typography -Oracle Open Office Chart : assigning scripts -Oracle Open Office Chart : assistive technology in Oracle Open Office -Oracle Open Office Chart : attaching toolbars -Oracle Open Office Chart : attachments in e-mails -Oracle Open Office Chart : audio -Oracle Open Office Chart : auto reloading HTML documents -Oracle Open Office Chart : AutoAbstract function for sending text to presentations -Oracle Open Office Chart : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Chart : AutoComplete function in text and list boxes -Oracle Open Office Chart : AutoCorrect function -Oracle Open Office Chart : AutoCorrect function;context menu -Oracle Open Office Chart : AutoCorrect function;options -Oracle Open Office Chart : AutoCorrect function;pictures and frames -Oracle Open Office Chart : AutoCorrect function;quotes -Oracle Open Office Chart : AutoCorrect function;replacement table -Oracle Open Office Chart : AutoCorrect function;switching on and off in Calc -Oracle Open Office Chart : AutoCorrect function;URL recognition -Oracle Open Office Chart : AutoFormat function -Oracle Open Office Chart : AutoFormat function;switching on and off -Oracle Open Office Chart : automatic captions (Writer) -Oracle Open Office Chart : automatic control focus -Oracle Open Office Chart : automatic hyperlink formatting -Oracle Open Office Chart : automatic line breaks -Oracle Open Office Chart : automatic lines/borders in text -Oracle Open Office Chart : automatic saving -Oracle Open Office Chart : AutoPilots, see wizards -Oracle Open Office Chart : AutoValue (Base) -Oracle Open Office Chart : averages in charts -Oracle Open Office Chart : axes -Oracle Open Office Chart : axes;better scaling -Oracle Open Office Chart : axes;formatting -Oracle Open Office Chart : axes;formatting grids -Oracle Open Office Chart : axes;inserting grids -Oracle Open Office Chart : axes;interval marks -Oracle Open Office Chart : axes;showing axes in charts -Oracle Open Office Chart : axes in charts -Oracle Open Office Chart : backgrounds -Oracle Open Office Chart : backgrounds;defining colors/pictures -Oracle Open Office Chart : backgrounds;frames/sections/indexes -Oracle Open Office Chart : backgrounds;inserting from Gallery -Oracle Open Office Chart : backgrounds;printing -Oracle Open Office Chart : backing window -Oracle Open Office Chart : backups -Oracle Open Office Chart : backups;automatic -Oracle Open Office Chart : backups;documents -Oracle Open Office Chart : bar charts -Oracle Open Office Chart : Basic -Oracle Open Office Chart : Basic;fonts for source display -Oracle Open Office Chart : Basic;programming -Oracle Open Office Chart : Basic;recording macros -Oracle Open Office Chart : basic fonts -Oracle Open Office Chart : Bézier curves -Oracle Open Office Chart : Bézier curves;control points in presentations -Oracle Open Office Chart : bi-directional writing -Oracle Open Office Chart : binding space -Oracle Open Office Chart : bitmaps -Oracle Open Office Chart : bitmaps;inserting and editing -Oracle Open Office Chart : bitmaps;off for faster printing -Oracle Open Office Chart : bitmaps;patterns -Oracle Open Office Chart : black and white printing -Oracle Open Office Chart : black printing in Calc -Oracle Open Office Chart : block selection mode -Oracle Open Office Chart : bold -Oracle Open Office Chart : bold;AutoFormat function -Oracle Open Office Chart : bold;text -Oracle Open Office Chart : bookmarks -Oracle Open Office Chart : bookmarks;Help -Oracle Open Office Chart : borders -Oracle Open Office Chart : borders;arranging -Oracle Open Office Chart : borders;cells on screen (Calc) -Oracle Open Office Chart : borders;for paragraphs -Oracle Open Office Chart : borders;for tables -Oracle Open Office Chart : borders;shadows -Oracle Open Office Chart : borders;table boundaries (Writer) -Oracle Open Office Chart : borders, see also frames -Oracle Open Office Chart : bound fields -Oracle Open Office Chart : bound fields;controls -Oracle Open Office Chart : boundaries of tables (Writer) -Oracle Open Office Chart : break display (Writer) -Oracle Open Office Chart : brochures -Oracle Open Office Chart : brochures;printing several -Oracle Open Office Chart : bubble charts -Oracle Open Office Chart : build numbers of Oracle Open Office -Oracle Open Office Chart : bullet lists -Oracle Open Office Chart : bullet lists;formatting options -Oracle Open Office Chart : bullets -Oracle Open Office Chart : bullets;paragraphs -Oracle Open Office Chart : bullets;replacing -Oracle Open Office Chart : bullets;turning off -Oracle Open Office Chart : business cards -Oracle Open Office Chart : business cards;creating and synchronizing -Oracle Open Office Chart : business cards;using templates -Oracle Open Office Chart : button bars, see toolbars -Oracle Open Office Chart : buttons -Oracle Open Office Chart : buttons;adding push buttons -Oracle Open Office Chart : buttons;big/small -Oracle Open Office Chart : buttons;editing hyperlink buttons -Oracle Open Office Chart : buttons;form functions -Oracle Open Office Chart : buttons;toolbars -Oracle Open Office Chart : cache for graphics -Oracle Open Office Chart : calculating -Oracle Open Office Chart : calculating;iterative references (Calc) -Oracle Open Office Chart : calculating;regression curves -Oracle Open Office Chart : callouts -Oracle Open Office Chart : callouts;drawings -Oracle Open Office Chart : capital letters -Oracle Open Office Chart : capital letters;AutoCorrect function -Oracle Open Office Chart : capital letters;font effects -Oracle Open Office Chart : captions -Oracle Open Office Chart : captions;automatic captions (Writer) -Oracle Open Office Chart : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Chart : captions, see also labels/callouts -Oracle Open Office Chart : cascading update (Base) -Oracle Open Office Chart : case sensitivity -Oracle Open Office Chart : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Chart : case sensitivity;searching -Oracle Open Office Chart : cells -Oracle Open Office Chart : cells;aligning -Oracle Open Office Chart : cells;coloring (Calc) -Oracle Open Office Chart : cells;cursor positions after input (Calc) -Oracle Open Office Chart : cells;formatting without effect (Calc) -Oracle Open Office Chart : cells;line breaks -Oracle Open Office Chart : cells;linked to controls -Oracle Open Office Chart : cells;number of -Oracle Open Office Chart : cells;pasting -Oracle Open Office Chart : cells;resetting formats -Oracle Open Office Chart : cells;showing grid lines (Calc) -Oracle Open Office Chart : centered text -Oracle Open Office Chart : centimeters -Oracle Open Office Chart : certificates -Oracle Open Office Chart : changes -Oracle Open Office Chart : changes;accepting or rejecting -Oracle Open Office Chart : changes;comparing to original -Oracle Open Office Chart : changes;protecting -Oracle Open Office Chart : changes;recording -Oracle Open Office Chart : changes;review function -Oracle Open Office Chart : changes;showing -Oracle Open Office Chart : changing -Oracle Open Office Chart : changing;document titles -Oracle Open Office Chart : changing;file associations in Setup program -Oracle Open Office Chart : changing;icon sizes -Oracle Open Office Chart : changing;links -Oracle Open Office Chart : changing;work directory -Oracle Open Office Chart : changing, see also editing and replacing -Oracle Open Office Chart : character styles -Oracle Open Office Chart : character styles;language selection -Oracle Open Office Chart : characters -Oracle Open Office Chart : characters;alternative fonts -Oracle Open Office Chart : characters;Asian layout -Oracle Open Office Chart : characters;bold -Oracle Open Office Chart : characters;coloring -Oracle Open Office Chart : characters;displaying only on screen (Writer) -Oracle Open Office Chart : characters;enabling CTL and Asian characters -Oracle Open Office Chart : characters;font effects -Oracle Open Office Chart : characters;fonts and formats -Oracle Open Office Chart : characters;hyperlinks -Oracle Open Office Chart : characters;italics -Oracle Open Office Chart : characters;language selection -Oracle Open Office Chart : characters;shadowed -Oracle Open Office Chart : characters;spacing -Oracle Open Office Chart : characters;special -Oracle Open Office Chart : characters;underlining -Oracle Open Office Chart : charcoal sketches filter -Oracle Open Office Chart : chart legends -Oracle Open Office Chart : chart legends;hiding -Oracle Open Office Chart : chart legends;showing icons with labels -Oracle Open Office Chart : chart types -Oracle Open Office Chart : chart types;area -Oracle Open Office Chart : chart types;bubble -Oracle Open Office Chart : chart types;column and bar -Oracle Open Office Chart : chart types;column and line -Oracle Open Office Chart : chart types;line -Oracle Open Office Chart : chart types;net -Oracle Open Office Chart : chart types;pie/donut -Oracle Open Office Chart : chart types;stock -Oracle Open Office Chart : chart types;XY (scatter) -Oracle Open Office Chart : charts -Oracle Open Office Chart : charts;3D views -Oracle Open Office Chart : charts;aligning -Oracle Open Office Chart : charts;arranging within stacks -Oracle Open Office Chart : charts;bars with textures -Oracle Open Office Chart : charts;choosing chart types -Oracle Open Office Chart : charts;colors -Oracle Open Office Chart : charts;copying with link to source cell range -Oracle Open Office Chart : charts;data labels -Oracle Open Office Chart : charts;displaying (Calc) -Oracle Open Office Chart : charts;editing axes -Oracle Open Office Chart : charts;editing data -Oracle Open Office Chart : charts;editing legends -Oracle Open Office Chart : charts;editing titles -Oracle Open Office Chart : charts;formatting areas -Oracle Open Office Chart : charts;formatting floors -Oracle Open Office Chart : charts;formatting walls -Oracle Open Office Chart : charts;inserting -Oracle Open Office Chart : charts;overview -Oracle Open Office Chart : charts;positioning axes -Oracle Open Office Chart : charts;properties -Oracle Open Office Chart : charts;reorganizing -Oracle Open Office Chart : charts;scaling axes -Oracle Open Office Chart : charts;scaling text -Oracle Open Office Chart : charts;shortcuts -Oracle Open Office Chart : charts;showing axes -Oracle Open Office Chart : charts;updating automatically (Writer) -Oracle Open Office Chart : check box creation -Oracle Open Office Chart : Chinese writing systems -Oracle Open Office Chart : choosing printers -Oracle Open Office Chart : circle drawings -Oracle Open Office Chart : Client Side ImageMap -Oracle Open Office Chart : clipboard -Oracle Open Office Chart : clipboard;cutting -Oracle Open Office Chart : clipboard;pasting -Oracle Open Office Chart : clipboard;pasting formatted/unformatted text -Oracle Open Office Chart : clipboard;selection clipboard -Oracle Open Office Chart : clipboard;Unix -Oracle Open Office Chart : closing -Oracle Open Office Chart : closing;documents -Oracle Open Office Chart : closing;toolbars -Oracle Open Office Chart : collaboration -Oracle Open Office Chart : color bar -Oracle Open Office Chart : colors -Oracle Open Office Chart : colors;adding -Oracle Open Office Chart : colors;appearance -Oracle Open Office Chart : colors;backgrounds -Oracle Open Office Chart : colors;charts -Oracle Open Office Chart : colors;fill format -Oracle Open Office Chart : colors;fonts -Oracle Open Office Chart : colors;grid lines and cells (Calc) -Oracle Open Office Chart : colors;models -Oracle Open Office Chart : colors;not printing -Oracle Open Office Chart : colors;printing in grayscale -Oracle Open Office Chart : colors;restriction (Calc) -Oracle Open Office Chart : colors;selection -Oracle Open Office Chart : column and line charts -Oracle Open Office Chart : column charts -Oracle Open Office Chart : column headers -Oracle Open Office Chart : column headers;displaying (Calc) -Oracle Open Office Chart : column headers;highlighting (Calc) -Oracle Open Office Chart : columns -Oracle Open Office Chart : columns;setting with the mouse -Oracle Open Office Chart : combination charts -Oracle Open Office Chart : combo box creation -Oracle Open Office Chart : command button creation -Oracle Open Office Chart : command buttons, see push buttons -Oracle Open Office Chart : command line parameters -Oracle Open Office Chart : commands -Oracle Open Office Chart : commands;repeating -Oracle Open Office Chart : commands;SQL -Oracle Open Office Chart : comments -Oracle Open Office Chart : comments;displaying (Calc) -Oracle Open Office Chart : comments;inserting/editing/deleting/printing -Oracle Open Office Chart : comments;on changes -Oracle Open Office Chart : comments;printing in text -Oracle Open Office Chart : common terms -Oracle Open Office Chart : common terms;Chinese dictionary -Oracle Open Office Chart : common terms;glossaries -Oracle Open Office Chart : common terms;Internet glossary -Oracle Open Office Chart : comparisons -Oracle Open Office Chart : comparisons;document versions -Oracle Open Office Chart : comparisons;operators in default filter dialog -Oracle Open Office Chart : compatibility settings for MS Word import -Oracle Open Office Chart : complete screen view -Oracle Open Office Chart : complex text layout -Oracle Open Office Chart : complex text layout;definition -Oracle Open Office Chart : complex text layout;enabling -Oracle Open Office Chart : complex text layout, see CTL -Oracle Open Office Chart : compose key to insert special characters -Oracle Open Office Chart : concatenation, see ampersand symbol -Oracle Open Office Chart : conditional separators -Oracle Open Office Chart : conditions -Oracle Open Office Chart : conditions;in number formats -Oracle Open Office Chart : conditions;items in Data Navigator -Oracle Open Office Chart : Configuration Manager -Oracle Open Office Chart : configuring -Oracle Open Office Chart : configuring;fax icon -Oracle Open Office Chart : configuring;Oracle Open Office -Oracle Open Office Chart : configuring;toolbars -Oracle Open Office Chart : connections to data sources (Base) -Oracle Open Office Chart : contents protection -Oracle Open Office Chart : context menus -Oracle Open Office Chart : control point display in presentations -Oracle Open Office Chart : controls -Oracle Open Office Chart : controls;activating in forms -Oracle Open Office Chart : controls;adding to documents -Oracle Open Office Chart : controls;arranging in forms -Oracle Open Office Chart : controls;arranging within stacks -Oracle Open Office Chart : controls;assigning data sources -Oracle Open Office Chart : controls;assigning macros (Basic) -Oracle Open Office Chart : controls;bound fields/list contents/linked cells -Oracle Open Office Chart : controls;events -Oracle Open Office Chart : controls;focus -Oracle Open Office Chart : controls;formatted fields -Oracle Open Office Chart : controls;grouping -Oracle Open Office Chart : controls;hidden -Oracle Open Office Chart : controls;inserting -Oracle Open Office Chart : controls;multi-line titles -Oracle Open Office Chart : controls;positions and sizes -Oracle Open Office Chart : controls;printing -Oracle Open Office Chart : controls;properties of form controls -Oracle Open Office Chart : controls;properties of table controls -Oracle Open Office Chart : controls;reference by SQL -Oracle Open Office Chart : controls;rich text control -Oracle Open Office Chart : controls;select mode -Oracle Open Office Chart : controls;showing (Writer) -Oracle Open Office Chart : converters -Oracle Open Office Chart : converters;Euro converter -Oracle Open Office Chart : converters;PostScript, UNIX -Oracle Open Office Chart : converters;XML -Oracle Open Office Chart : converting -Oracle Open Office Chart : converting;Hangul/Hanja -Oracle Open Office Chart : converting;metrics -Oracle Open Office Chart : converting;Microsoft documents -Oracle Open Office Chart : converting;Oracle Open Office documents -Oracle Open Office Chart : converting;Pocket PC formats -Oracle Open Office Chart : copies -Oracle Open Office Chart : copies;printing -Oracle Open Office Chart : copying -Oracle Open Office Chart : copying;by drag and drop -Oracle Open Office Chart : copying;data from text documents -Oracle Open Office Chart : copying;datasource records in spreadsheets -Oracle Open Office Chart : copying;draw objects -Oracle Open Office Chart : copying;draw objects between documents -Oracle Open Office Chart : copying;formatting -Oracle Open Office Chart : copying;from data source view -Oracle Open Office Chart : copying;from Gallery -Oracle Open Office Chart : copying;in Unix -Oracle Open Office Chart : copying;pictures, between documents -Oracle Open Office Chart : copying;sheet areas, to text documents -Oracle Open Office Chart : copying;to Gallery -Oracle Open Office Chart : copyright for Oracle Open Office -Oracle Open Office Chart : corner roundings -Oracle Open Office Chart : crash reports -Oracle Open Office Chart : criteria of query design (Base) -Oracle Open Office Chart : cropping pictures -Oracle Open Office Chart : CTL -Oracle Open Office Chart : CTL;(not) wrapping words -Oracle Open Office Chart : CTL;complex text layout languages -Oracle Open Office Chart : CTL;definition -Oracle Open Office Chart : CTL;options -Oracle Open Office Chart : currencies -Oracle Open Office Chart : currencies;converters -Oracle Open Office Chart : currencies;format codes -Oracle Open Office Chart : currency field creation -Oracle Open Office Chart : currency formats -Oracle Open Office Chart : cursor -Oracle Open Office Chart : cursor;allowing in protected areas (Writer) -Oracle Open Office Chart : cursor;in read-only text -Oracle Open Office Chart : cursor;quickly moving to an object -Oracle Open Office Chart : curves -Oracle Open Office Chart : curves;editing points -Oracle Open Office Chart : curves;properties in line charts/XY charts -Oracle Open Office Chart : custom dictionaries -Oracle Open Office Chart : custom dictionaries;editing -Oracle Open Office Chart : custom hyphens (Writer) -Oracle Open Office Chart : custom quotes -Oracle Open Office Chart : custom templates -Oracle Open Office Chart : customizing -Oracle Open Office Chart : customizing;events -Oracle Open Office Chart : customizing;keyboard -Oracle Open Office Chart : customizing;menus -Oracle Open Office Chart : customizing;Oracle Open Office -Oracle Open Office Chart : customizing;round corners -Oracle Open Office Chart : customizing;toolbars -Oracle Open Office Chart : cutting -Oracle Open Office Chart : dashes -Oracle Open Office Chart : data -Oracle Open Office Chart : data;filtering in forms -Oracle Open Office Chart : data;forms and subforms -Oracle Open Office Chart : data;read-only -Oracle Open Office Chart : data;sorting in forms -Oracle Open Office Chart : data;user data -Oracle Open Office Chart : data binding change in XForms -Oracle Open Office Chart : data labels in charts -Oracle Open Office Chart : Data Navigator -Oracle Open Office Chart : Data Navigator;adding/editing items -Oracle Open Office Chart : Data Navigator;display options -Oracle Open Office Chart : data ranges in charts -Oracle Open Office Chart : data series -Oracle Open Office Chart : data source browser -Oracle Open Office Chart : data source explorer -Oracle Open Office Chart : data source view -Oracle Open Office Chart : data source view;drag and drop -Oracle Open Office Chart : data source view;overview -Oracle Open Office Chart : data source view;showing -Oracle Open Office Chart : data sources -Oracle Open Office Chart : data sources;as tables -Oracle Open Office Chart : data sources;connection settings (Base) -Oracle Open Office Chart : data sources;copying records to spreadsheets -Oracle Open Office Chart : data sources;displaying current -Oracle Open Office Chart : data sources;LDAP server (Base) -Oracle Open Office Chart : data sources;Oracle Open Office Base -Oracle Open Office Chart : data sources;registering address books -Oracle Open Office Chart : data sources;reports -Oracle Open Office Chart : data sources;setting for stock charts -Oracle Open Office Chart : data sources;viewing -Oracle Open Office Chart : data structure of XForms -Oracle Open Office Chart : data values in charts -Oracle Open Office Chart : data, see also values -Oracle Open Office Chart : database contents -Oracle Open Office Chart : database contents;inserting as tables -Oracle Open Office Chart : database contents;inserting as text -Oracle Open Office Chart : database reports -Oracle Open Office Chart : Database Wizard (Base) -Oracle Open Office Chart : databases -Oracle Open Office Chart : databases;administration through SQL (Base) -Oracle Open Office Chart : databases;ADO (Base) -Oracle Open Office Chart : databases;connecting (Base) -Oracle Open Office Chart : databases;creating -Oracle Open Office Chart : databases;creating labels -Oracle Open Office Chart : databases;creating queries -Oracle Open Office Chart : databases;creating reports -Oracle Open Office Chart : databases;creating tables -Oracle Open Office Chart : databases;deleting (Base) -Oracle Open Office Chart : databases;drag and drop (Base) -Oracle Open Office Chart : databases;editing tables -Oracle Open Office Chart : databases;form filters -Oracle Open Office Chart : databases;formats (Base) -Oracle Open Office Chart : databases;importing/exporting -Oracle Open Office Chart : databases;JDBC (Base) -Oracle Open Office Chart : databases;main page (Base) -Oracle Open Office Chart : databases;ODBC (Base) -Oracle Open Office Chart : databases;overview -Oracle Open Office Chart : databases;registering (Base) -Oracle Open Office Chart : databases;searching records -Oracle Open Office Chart : databases;shortcut keys -Oracle Open Office Chart : databases;sorting -Oracle Open Office Chart : databases;standard filters -Oracle Open Office Chart : databases;text formats -Oracle Open Office Chart : databases;viewing -Oracle Open Office Chart : date fields -Oracle Open Office Chart : date fields;creating -Oracle Open Office Chart : date fields;properties -Oracle Open Office Chart : date formats -Oracle Open Office Chart : dates -Oracle Open Office Chart : dates;default (Calc) -Oracle Open Office Chart : dates;printing in presentations -Oracle Open Office Chart : dates;start 1900/01/01 (Calc) -Oracle Open Office Chart : dates;start 1904/01/01 (Calc) -Oracle Open Office Chart : dBASE -Oracle Open Office Chart : dBASE;database settings (Base) -Oracle Open Office Chart : DDE -Oracle Open Office Chart : DDE;definition -Oracle Open Office Chart : deactivating -Oracle Open Office Chart : deactivating;plug-ins -Oracle Open Office Chart : decimal places displayed (Calc) -Oracle Open Office Chart : decimal separator key -Oracle Open Office Chart : decimal tab stops -Oracle Open Office Chart : default directories -Oracle Open Office Chart : default filters -Oracle Open Office Chart : default filters;comparison operators -Oracle Open Office Chart : default filters;databases -Oracle Open Office Chart : default printer -Oracle Open Office Chart : default printer;setting up -Oracle Open Office Chart : default printer;UNIX -Oracle Open Office Chart : default templates -Oracle Open Office Chart : default templates;changing -Oracle Open Office Chart : default templates;organizing -Oracle Open Office Chart : defaults -Oracle Open Office Chart : defaults;documents -Oracle Open Office Chart : defaults;file formats in file dialogs -Oracle Open Office Chart : defaults;file formats in Oracle Open Office -Oracle Open Office Chart : defaults;fonts -Oracle Open Office Chart : defaults;grids (Writer/Calc) -Oracle Open Office Chart : defaults;languages -Oracle Open Office Chart : defaults;number formats -Oracle Open Office Chart : defaults;of saving -Oracle Open Office Chart : defaults;program configuration -Oracle Open Office Chart : defaults;tab stops in text -Oracle Open Office Chart : defaults;views -Oracle Open Office Chart : defining -Oracle Open Office Chart : defining;arrowheads and other line ends -Oracle Open Office Chart : defining;colors -Oracle Open Office Chart : defining;line styles -Oracle Open Office Chart : defining;paragraph borders -Oracle Open Office Chart : defining;queries (Base) -Oracle Open Office Chart : defining;table borders -Oracle Open Office Chart : deleting -Oracle Open Office Chart : deleting;all direct formatting -Oracle Open Office Chart : deleting;comments -Oracle Open Office Chart : deleting;databases (Base) -Oracle Open Office Chart : deleting;hyperlinks -Oracle Open Office Chart : deleting;lines in text -Oracle Open Office Chart : deleting;models/instances -Oracle Open Office Chart : deleting;namespaces in XForms -Oracle Open Office Chart : deleting;tab stops -Oracle Open Office Chart : deleting;templates -Oracle Open Office Chart : deleting;XML filters -Oracle Open Office Chart : depth stagger -Oracle Open Office Chart : descriptions for objects -Oracle Open Office Chart : design mode after saving -Oracle Open Office Chart : design view -Oracle Open Office Chart : design view;creating forms -Oracle Open Office Chart : design view;queries/views (Base) -Oracle Open Office Chart : designing -Oracle Open Office Chart : designing;database tables -Oracle Open Office Chart : designing;fonts -Oracle Open Office Chart : designing;queries (Base) -Oracle Open Office Chart : detaching toolbars -Oracle Open Office Chart : dictionaries -Oracle Open Office Chart : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Chart : dictionaries;creating -Oracle Open Office Chart : dictionaries;editing user-defined -Oracle Open Office Chart : dictionaries;spellcheck -Oracle Open Office Chart : dictionaries, see also languages -Oracle Open Office Chart : digital signatures -Oracle Open Office Chart : digital signatures;getting/managing/applying -Oracle Open Office Chart : digital signatures;overview -Oracle Open Office Chart : digital signatures;WebDAV over HTTPS -Oracle Open Office Chart : direct formatting -Oracle Open Office Chart : direct formatting;undoing all -Oracle Open Office Chart : directories -Oracle Open Office Chart : directories;creating new -Oracle Open Office Chart : directories;directory structure -Oracle Open Office Chart : disabled persons -Oracle Open Office Chart : displaying -Oracle Open Office Chart : displaying;comments (Calc) -Oracle Open Office Chart : displaying;comments in text documents -Oracle Open Office Chart : displaying;non-printing characters (Writer) -Oracle Open Office Chart : displaying;pictures and objects (Writer) -Oracle Open Office Chart : displaying;tables (Writer) -Oracle Open Office Chart : displaying;zero values (Calc) -Oracle Open Office Chart : distances -Oracle Open Office Chart : distinct values in SQL queries -Oracle Open Office Chart : distorting in drawings -Oracle Open Office Chart : distributing XML filters -Oracle Open Office Chart : docking -Oracle Open Office Chart : docking;definition -Oracle Open Office Chart : docking;toolbars -Oracle Open Office Chart : docking;windows -Oracle Open Office Chart : Document Converter Wizard -Oracle Open Office Chart : Document Map, see Navigator -Oracle Open Office Chart : document types in Oracle Open Office -Oracle Open Office Chart : documents -Oracle Open Office Chart : documents;changing titles -Oracle Open Office Chart : documents;closing -Oracle Open Office Chart : documents;comparing -Oracle Open Office Chart : documents;contents as lists -Oracle Open Office Chart : documents;editing time -Oracle Open Office Chart : documents;exporting -Oracle Open Office Chart : documents;importing -Oracle Open Office Chart : documents;languages -Oracle Open Office Chart : documents;measurement units in -Oracle Open Office Chart : documents;merging -Oracle Open Office Chart : documents;number of pages/tables/sheets -Oracle Open Office Chart : documents;opening -Oracle Open Office Chart : documents;opening in design mode -Oracle Open Office Chart : documents;opening with templates -Oracle Open Office Chart : documents;organizing -Oracle Open Office Chart : documents;printing -Oracle Open Office Chart : documents;read-only -Oracle Open Office Chart : documents;reloading -Oracle Open Office Chart : documents;saving -Oracle Open Office Chart : documents;saving automatically -Oracle Open Office Chart : documents;saving in other formats -Oracle Open Office Chart : documents;sending as e-mail -Oracle Open Office Chart : documents;styles changed -Oracle Open Office Chart : documents;version management -Oracle Open Office Chart : documents;version numbers -Oracle Open Office Chart : donut charts -Oracle Open Office Chart : dotted areas -Oracle Open Office Chart : double-line spacing in paragraphs -Oracle Open Office Chart : double-line writing in Asian layout -Oracle Open Office Chart : drag and drop -Oracle Open Office Chart : drag and drop;copying and pasting text -Oracle Open Office Chart : drag and drop;data source view -Oracle Open Office Chart : drag and drop;from Gallery to draw objects -Oracle Open Office Chart : drag and drop;overview -Oracle Open Office Chart : drag and drop;pictures -Oracle Open Office Chart : drag and drop;to Gallery -Oracle Open Office Chart : draw objects -Oracle Open Office Chart : draw objects;adding/editing/copying -Oracle Open Office Chart : draw objects;anchoring -Oracle Open Office Chart : draw objects;arranging within stacks -Oracle Open Office Chart : draw objects;copying between documents -Oracle Open Office Chart : draw objects;displaying (Calc) -Oracle Open Office Chart : draw objects;dropping Gallery pictures -Oracle Open Office Chart : draw objects;flipping -Oracle Open Office Chart : draw objects;legends -Oracle Open Office Chart : draw objects;positioning and resizing -Oracle Open Office Chart : draw objects;protecting -Oracle Open Office Chart : draw objects;slanting -Oracle Open Office Chart : draw objects;text in -Oracle Open Office Chart : Drawing bar -Oracle Open Office Chart : drawing lines in text -Oracle Open Office Chart : drawings -Oracle Open Office Chart : drawings;creating/opening -Oracle Open Office Chart : drawings;languages -Oracle Open Office Chart : drawings;printing -Oracle Open Office Chart : drawings;printing defaults -Oracle Open Office Chart : drawings;printing in text documents -Oracle Open Office Chart : drawings;saving -Oracle Open Office Chart : drawings;saving automatically -Oracle Open Office Chart : drawings;saving in other formats -Oracle Open Office Chart : drawings;sending as e-mail -Oracle Open Office Chart : drawings;showing (Writer) -Oracle Open Office Chart : drawings, see also draw objects -Oracle Open Office Chart : drop-down lists in form functions -Oracle Open Office Chart : e-mail attachments -Oracle Open Office Chart : Edit File icon -Oracle Open Office Chart : edit mode -Oracle Open Office Chart : edit mode;after opening -Oracle Open Office Chart : edit mode;through Enter key (Calc) -Oracle Open Office Chart : Edit Points bar -Oracle Open Office Chart : editing -Oracle Open Office Chart : editing;chart axes -Oracle Open Office Chart : editing;chart data -Oracle Open Office Chart : editing;chart legends -Oracle Open Office Chart : editing;chart titles -Oracle Open Office Chart : editing;comments -Oracle Open Office Chart : editing;data binding of XForms -Oracle Open Office Chart : editing;database tables and queries -Oracle Open Office Chart : editing;draw objects -Oracle Open Office Chart : editing;Fontwork objects -Oracle Open Office Chart : editing;hyperlinks -Oracle Open Office Chart : editing;menus -Oracle Open Office Chart : editing;objects -Oracle Open Office Chart : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Chart : editing;pictures -Oracle Open Office Chart : editing;reports -Oracle Open Office Chart : editing;shortcut keys -Oracle Open Office Chart : editing;tab stops -Oracle Open Office Chart : editing;templates -Oracle Open Office Chart : editing;titles -Oracle Open Office Chart : editing;toolbars -Oracle Open Office Chart : editing;undoing -Oracle Open Office Chart : editing;XForms -Oracle Open Office Chart : editing time of documents -Oracle Open Office Chart : editors -Oracle Open Office Chart : editors;formula editor -Oracle Open Office Chart : editors;ImageMap editor -Oracle Open Office Chart : effects -Oracle Open Office Chart : effects;font positions -Oracle Open Office Chart : effects;fonts -Oracle Open Office Chart : effects;Fontwork icons -Oracle Open Office Chart : empty documents -Oracle Open Office Chart : empty paragraph removal -Oracle Open Office Chart : encryption of contents -Oracle Open Office Chart : entering groups -Oracle Open Office Chart : entering text from right to left -Oracle Open Office Chart : equal sign, see also operators -Oracle Open Office Chart : equations in formula editor -Oracle Open Office Chart : error bars in charts -Oracle Open Office Chart : error indicators in charts -Oracle Open Office Chart : Error Report Tool -Oracle Open Office Chart : Euro -Oracle Open Office Chart : Euro;currency formats -Oracle Open Office Chart : Euro;Euro Converter Wizard -Oracle Open Office Chart : even/odd pages -Oracle Open Office Chart : even/odd pages;printing -Oracle Open Office Chart : events -Oracle Open Office Chart : events;assigning scripts -Oracle Open Office Chart : events;controls -Oracle Open Office Chart : events;customizing -Oracle Open Office Chart : events;in forms -Oracle Open Office Chart : Excel -Oracle Open Office Chart : Excel;saving as -Oracle Open Office Chart : Excel;search criteria -Oracle Open Office Chart : exceptions -Oracle Open Office Chart : exceptions;user-defined dictionaries -Oracle Open Office Chart : exchanging, see also replacing -Oracle Open Office Chart : executing SQL commands -Oracle Open Office Chart : exiting -Oracle Open Office Chart : exiting;groups -Oracle Open Office Chart : exiting;Oracle Open Office -Oracle Open Office Chart : expanding formatting (Calc) -Oracle Open Office Chart : explorer of data sources -Oracle Open Office Chart : export filters -Oracle Open Office Chart : exporting -Oracle Open Office Chart : exporting;bitmaps -Oracle Open Office Chart : exporting;HTML and text documents -Oracle Open Office Chart : exporting;Microsoft Office documents with VBA code -Oracle Open Office Chart : exporting;spreadsheets to text format -Oracle Open Office Chart : exporting;templates -Oracle Open Office Chart : exporting;to foreign formats -Oracle Open Office Chart : exporting;to HTML -Oracle Open Office Chart : exporting;to Microsoft Office formats -Oracle Open Office Chart : exporting;to PDF -Oracle Open Office Chart : exporting;to PostScript format -Oracle Open Office Chart : exporting;to XML -Oracle Open Office Chart : exporting;XML files -Oracle Open Office Chart : extended tips in Help -Oracle Open Office Chart : extension mode in text -Oracle Open Office Chart : extensions -Oracle Open Office Chart : extensions;Extension Manager -Oracle Open Office Chart : extensions;file formats -Oracle Open Office Chart : external keys (Base) -Oracle Open Office Chart : faster printing -Oracle Open Office Chart : faxes -Oracle Open Office Chart : faxes;configuring Oracle Open Office -Oracle Open Office Chart : faxes;fax programs/fax printers under UNIX -Oracle Open Office Chart : faxes;selecting a fax machine -Oracle Open Office Chart : faxes;sending -Oracle Open Office Chart : faxes;wizards -Oracle Open Office Chart : feedback -Oracle Open Office Chart : feedback;automatically -Oracle Open Office Chart : fields -Oracle Open Office Chart : fields;database tables -Oracle Open Office Chart : fields;displaying field codes (Writer) -Oracle Open Office Chart : fields;formatted fields -Oracle Open Office Chart : fields;updating automatically (Writer) -Oracle Open Office Chart : file associations for Microsoft Office -Oracle Open Office Chart : file filters -Oracle Open Office Chart : file filters;mobile devices -Oracle Open Office Chart : file filters;XML -Oracle Open Office Chart : file formats -Oracle Open Office Chart : file formats;changing Oracle Open Office defaults -Oracle Open Office Chart : file formats;OpenDocument/XML -Oracle Open Office Chart : file formats;saving always in other formats -Oracle Open Office Chart : file selection button -Oracle Open Office Chart : file sharing options for current document -Oracle Open Office Chart : files -Oracle Open Office Chart : files;filters and formats -Oracle Open Office Chart : files;importing -Oracle Open Office Chart : files;opening -Oracle Open Office Chart : files;opening with placeholders -Oracle Open Office Chart : files;properties -Oracle Open Office Chart : files;saving -Oracle Open Office Chart : files;saving automatically -Oracle Open Office Chart : files;saving in other formats -Oracle Open Office Chart : files;sending as e-mail -Oracle Open Office Chart : files;version numbers -Oracle Open Office Chart : files and folders in Oracle Open Office -Oracle Open Office Chart : fill characters with tabulators -Oracle Open Office Chart : fill colors for areas -Oracle Open Office Chart : fill patterns for areas -Oracle Open Office Chart : filter conditions -Oracle Open Office Chart : filter conditions;connecting -Oracle Open Office Chart : filter conditions;in queries (Base) -Oracle Open Office Chart : filtering -Oracle Open Office Chart : filtering;data in databases -Oracle Open Office Chart : filtering;data in forms -Oracle Open Office Chart : filters -Oracle Open Office Chart : filters;comparison operators -Oracle Open Office Chart : filters;for import and export -Oracle Open Office Chart : filters;Navigator -Oracle Open Office Chart : filters;pictures -Oracle Open Office Chart : filters;XML filter settings -Oracle Open Office Chart : Find tab in Help -Oracle Open Office Chart : finding -Oracle Open Office Chart : finding;in all sheets -Oracle Open Office Chart : finding;records in form documents -Oracle Open Office Chart : finding;selections -Oracle Open Office Chart : finding;similarity search -Oracle Open Office Chart : fitting to pages -Oracle Open Office Chart : fitting to pages;print settings in Math -Oracle Open Office Chart : fitting to pages;print settings in presentations -Oracle Open Office Chart : fixed text -Oracle Open Office Chart : fixed text;form functions -Oracle Open Office Chart : fixing toolbars -Oracle Open Office Chart : flipping draw objects -Oracle Open Office Chart : floating frames in HTML documents -Oracle Open Office Chart : floating toolbars -Oracle Open Office Chart : focus of controls -Oracle Open Office Chart : folder creation -Oracle Open Office Chart : font lists -Oracle Open Office Chart : font name box -Oracle Open Office Chart : font sizes -Oracle Open Office Chart : font sizes;bullets -Oracle Open Office Chart : font sizes;relative changes -Oracle Open Office Chart : font sizes;scaling on screen -Oracle Open Office Chart : font sizes;text -Oracle Open Office Chart : fonts -Oracle Open Office Chart : fonts;adding under UNIX -Oracle Open Office Chart : fonts;changing in templates -Oracle Open Office Chart : fonts;colors -Oracle Open Office Chart : fonts;default settings -Oracle Open Office Chart : fonts;effects -Oracle Open Office Chart : fonts;for HTML and Basic -Oracle Open Office Chart : fonts;formats -Oracle Open Office Chart : fonts;outlines -Oracle Open Office Chart : fonts;positions in text -Oracle Open Office Chart : fonts;shadows -Oracle Open Office Chart : fonts;specifying several -Oracle Open Office Chart : fonts;strikethrough -Oracle Open Office Chart : fonts;styles -Oracle Open Office Chart : fonts;text objects -Oracle Open Office Chart : Fontwork icons -Oracle Open Office Chart : footers -Oracle Open Office Chart : footers;backgrounds -Oracle Open Office Chart : form controls -Oracle Open Office Chart : form controls;assigning macros -Oracle Open Office Chart : form controls;protecting -Oracle Open Office Chart : form controls;toolbars -Oracle Open Office Chart : form fields -Oracle Open Office Chart : form filters -Oracle Open Office Chart : Form Navigator -Oracle Open Office Chart : format codes -Oracle Open Office Chart : format codes;numbers -Oracle Open Office Chart : format filling printing in Oracle Open Office Math -Oracle Open Office Chart : Format Paintbrush -Oracle Open Office Chart : formats -Oracle Open Office Chart : formats;Asian layout -Oracle Open Office Chart : formats;fonts -Oracle Open Office Chart : formats;maximizing page formats -Oracle Open Office Chart : formats;number and currency formats -Oracle Open Office Chart : formats;of currencies/date/time -Oracle Open Office Chart : formats;on opening and saving -Oracle Open Office Chart : formats;pasting in special formats -Oracle Open Office Chart : formats;positions -Oracle Open Office Chart : formats;tabulators -Oracle Open Office Chart : formatted fields -Oracle Open Office Chart : formatted fields;form functions -Oracle Open Office Chart : formatted fields;properties -Oracle Open Office Chart : formatting -Oracle Open Office Chart : formatting;Asian typography -Oracle Open Office Chart : formatting;axes in charts -Oracle Open Office Chart : formatting;chart areas -Oracle Open Office Chart : formatting;chart floors -Oracle Open Office Chart : formatting;chart legends -Oracle Open Office Chart : formatting;chart titles -Oracle Open Office Chart : formatting;chart walls -Oracle Open Office Chart : formatting;copying -Oracle Open Office Chart : formatting;definition -Oracle Open Office Chart : formatting;expanding (Calc) -Oracle Open Office Chart : formatting;font effects -Oracle Open Office Chart : formatting;hyperlinks -Oracle Open Office Chart : formatting;pages -Oracle Open Office Chart : formatting;printer metrics (Writer) -Oracle Open Office Chart : formatting;undoing -Oracle Open Office Chart : formatting;undoing when writing -Oracle Open Office Chart : forms -Oracle Open Office Chart : forms;browsing -Oracle Open Office Chart : forms;Combo Box/List Box Wizard -Oracle Open Office Chart : forms;creating -Oracle Open Office Chart : forms;data -Oracle Open Office Chart : forms;designing (Base) -Oracle Open Office Chart : forms;events -Oracle Open Office Chart : forms;filtering data -Oracle Open Office Chart : forms;finding records -Oracle Open Office Chart : forms;focus after opening -Oracle Open Office Chart : forms;general information (Base) -Oracle Open Office Chart : forms;grouping controls -Oracle Open Office Chart : forms;HTML filters -Oracle Open Office Chart : forms;Navigator -Oracle Open Office Chart : forms;opening in design mode -Oracle Open Office Chart : forms;properties -Oracle Open Office Chart : forms;sorting data -Oracle Open Office Chart : forms;subforms -Oracle Open Office Chart : forms;wizards -Oracle Open Office Chart : forms;XForms -Oracle Open Office Chart : formula texts -Oracle Open Office Chart : formula texts;printing in Oracle Open Office Math -Oracle Open Office Chart : formulas -Oracle Open Office Chart : formulas;new -Oracle Open Office Chart : formulas;starting formula editor -Oracle Open Office Chart : formulas in reports -Oracle Open Office Chart : formulas in reports;editing -Oracle Open Office Chart : forums and support -Oracle Open Office Chart : frames -Oracle Open Office Chart : frames;around paragraphs -Oracle Open Office Chart : frames;around tables -Oracle Open Office Chart : frames;AutoCorrect function -Oracle Open Office Chart : frames;backgrounds -Oracle Open Office Chart : frames;captions (Writer) -Oracle Open Office Chart : frames;printing in Oracle Open Office Math -Oracle Open Office Chart : frames;protecting -Oracle Open Office Chart : frames;selection frames -Oracle Open Office Chart : frames;text fitting to frames -Oracle Open Office Chart : freeform lines -Oracle Open Office Chart : freeform lines;draw functions -Oracle Open Office Chart : FTP -Oracle Open Office Chart : FTP;opening documents -Oracle Open Office Chart : FTP;saving documents -Oracle Open Office Chart : full joins (Base) -Oracle Open Office Chart : full screen view -Oracle Open Office Chart : full-text search in Help -Oracle Open Office Chart : functions in reports -Oracle Open Office Chart : functions in reports;editing -Oracle Open Office Chart : Gallery -Oracle Open Office Chart : Gallery;adding pictures -Oracle Open Office Chart : Gallery;dragging pictures to draw objects -Oracle Open Office Chart : Gallery;hiding/showing -Oracle Open Office Chart : Gallery;inserting pictures from -Oracle Open Office Chart : get method for form transmissions -Oracle Open Office Chart : getting support -Oracle Open Office Chart : GIF format -Oracle Open Office Chart : glossaries -Oracle Open Office Chart : glossaries;common terms -Oracle Open Office Chart : glossaries;Internet terms -Oracle Open Office Chart : gradients off for faster printing -Oracle Open Office Chart : graphic objects, see draw objects -Oracle Open Office Chart : graphical text art -Oracle Open Office Chart : graphics -Oracle Open Office Chart : graphics;cache -Oracle Open Office Chart : graphics;protecting -Oracle Open Office Chart : graphics, see also pictures -Oracle Open Office Chart : grayscale printing -Oracle Open Office Chart : grid controls -Oracle Open Office Chart : grid controls;form functions -Oracle Open Office Chart : grids -Oracle Open Office Chart : grids;defaults (Writer/Calc) -Oracle Open Office Chart : grids;display options (Impress/Draw) -Oracle Open Office Chart : grids;displaying lines (Calc) -Oracle Open Office Chart : grids;formatting axes -Oracle Open Office Chart : grids;inserting in charts -Oracle Open Office Chart : group box creation -Oracle Open Office Chart : groups -Oracle Open Office Chart : groups;entering/exiting/ungrouping -Oracle Open Office Chart : groups;naming -Oracle Open Office Chart : groups;of controls -Oracle Open Office Chart : guides -Oracle Open Office Chart : guides;display options (Impress/Draw) -Oracle Open Office Chart : guides;displaying when moving objects (Impress) -Oracle Open Office Chart : guides;showing (Calc) -Oracle Open Office Chart : guides;showing when moving frames (Writer) -Oracle Open Office Chart : gutter -Oracle Open Office Chart : handles -Oracle Open Office Chart : handles;displaying (Writer) -Oracle Open Office Chart : handles;scaling -Oracle Open Office Chart : handles;showing simple/large handles (Calc) -Oracle Open Office Chart : Hangul/Hanja -Oracle Open Office Chart : hatching -Oracle Open Office Chart : headers -Oracle Open Office Chart : headers;backgrounds -Oracle Open Office Chart : headings -Oracle Open Office Chart : headings;entering as text box -Oracle Open Office Chart : Hebrew -Oracle Open Office Chart : Hebrew;entering text -Oracle Open Office Chart : Hebrew;language settings -Oracle Open Office Chart : Help -Oracle Open Office Chart : Help;bookmarks -Oracle Open Office Chart : Help;extended tips on/off -Oracle Open Office Chart : Help;full-text search -Oracle Open Office Chart : Help;Help tips -Oracle Open Office Chart : Help;keywords -Oracle Open Office Chart : Help;navigation pane showing/hiding -Oracle Open Office Chart : Help;style sheets -Oracle Open Office Chart : Help;topics -Oracle Open Office Chart : Help Agent -Oracle Open Office Chart : Help Agent;help -Oracle Open Office Chart : Help Agent;options -Oracle Open Office Chart : Help tips -Oracle Open Office Chart : Help tips;hiding -Oracle Open Office Chart : hidden controls in Form Navigator -Oracle Open Office Chart : hidden fields display (Writer) -Oracle Open Office Chart : hidden pages -Oracle Open Office Chart : hidden pages;printing in presentations -Oracle Open Office Chart : hidden text -Oracle Open Office Chart : hidden text;showing (Writer) -Oracle Open Office Chart : hiding -Oracle Open Office Chart : hiding;changes -Oracle Open Office Chart : hiding;chart legends -Oracle Open Office Chart : hiding;docked windows -Oracle Open Office Chart : hiding;navigation pane in Help window -Oracle Open Office Chart : high contrast mode -Oracle Open Office Chart : Hindi -Oracle Open Office Chart : Hindi;entering text -Oracle Open Office Chart : Hindi;language settings -Oracle Open Office Chart : horizontal scrollbars (Writer) -Oracle Open Office Chart : hotspots -Oracle Open Office Chart : HowTos for charts -Oracle Open Office Chart : HTML -Oracle Open Office Chart : HTML;definition -Oracle Open Office Chart : HTML;export character set -Oracle Open Office Chart : HTML;fonts for source display -Oracle Open Office Chart : HTML;importing META tags -Oracle Open Office Chart : HTML;live presentations -Oracle Open Office Chart : HTML documents -Oracle Open Office Chart : HTML documents;auto reloading -Oracle Open Office Chart : HTML documents;importing/exporting -Oracle Open Office Chart : HTML documents;META tags in -Oracle Open Office Chart : HTML documents;new -Oracle Open Office Chart : HTML documents;source text -Oracle Open Office Chart : hyperlinks -Oracle Open Office Chart : hyperlinks;assigning macros -Oracle Open Office Chart : hyperlinks;character formats -Oracle Open Office Chart : hyperlinks;definition -Oracle Open Office Chart : hyperlinks;deleting -Oracle Open Office Chart : hyperlinks;editing -Oracle Open Office Chart : hyperlinks;inserting -Oracle Open Office Chart : hyperlinks;relative and absolute -Oracle Open Office Chart : hyperlinks;turning off automatic recognition -Oracle Open Office Chart : hyperlinks, see also links -Oracle Open Office Chart : hyphenation -Oracle Open Office Chart : hyphenation;activating for a language -Oracle Open Office Chart : hyphenation;minimal number of characters -Oracle Open Office Chart : hyphens -Oracle Open Office Chart : hyphens;displaying custom (Writer) -Oracle Open Office Chart : hyphens;inserting custom -Oracle Open Office Chart : icon bars, see toolbars -Oracle Open Office Chart : icon sizes -Oracle Open Office Chart : ignore list for spellcheck -Oracle Open Office Chart : illumination -Oracle Open Office Chart : illumination;3D charts -Oracle Open Office Chart : illustrations, see pictures -Oracle Open Office Chart : image button creation -Oracle Open Office Chart : image control creation -Oracle Open Office Chart : ImageMap -Oracle Open Office Chart : ImageMap;definition -Oracle Open Office Chart : ImageMap;editor -Oracle Open Office Chart : images -Oracle Open Office Chart : images;ImageMap -Oracle Open Office Chart : images;inserting and editing bitmaps -Oracle Open Office Chart : images, see also pictures -Oracle Open Office Chart : IME -Oracle Open Office Chart : IME;definition -Oracle Open Office Chart : IME;showing/hiding -Oracle Open Office Chart : import filters -Oracle Open Office Chart : import restrictions for Microsoft Office -Oracle Open Office Chart : importing -Oracle Open Office Chart : importing;bitmaps -Oracle Open Office Chart : importing;compatibility settings for text import -Oracle Open Office Chart : importing;databases -Oracle Open Office Chart : importing;documents in other formats -Oracle Open Office Chart : importing;from XML -Oracle Open Office Chart : importing;HTML and text documents -Oracle Open Office Chart : importing;HTML with META tags -Oracle Open Office Chart : importing;Microsoft Office documents with VBA code -Oracle Open Office Chart : importing;tables in text format -Oracle Open Office Chart : importing;templates -Oracle Open Office Chart : improvement program -Oracle Open Office Chart : inches -Oracle Open Office Chart : Index tab in Help -Oracle Open Office Chart : indexes -Oracle Open Office Chart : indexes;backgrounds -Oracle Open Office Chart : indexes;showing/hiding Help index tab -Oracle Open Office Chart : indicator lines in text -Oracle Open Office Chart : inner joins (Base) -Oracle Open Office Chart : input method window -Oracle Open Office Chart : insert mode for entering text -Oracle Open Office Chart : inserting -Oracle Open Office Chart : inserting;buttons in toolbars -Oracle Open Office Chart : inserting;cell ranges from spreadsheets -Oracle Open Office Chart : inserting;charts -Oracle Open Office Chart : inserting;clipboard options -Oracle Open Office Chart : inserting;comments -Oracle Open Office Chart : inserting;data from text documents -Oracle Open Office Chart : inserting;datasource records in spreadsheets -Oracle Open Office Chart : inserting;drawings -Oracle Open Office Chart : inserting;floating frames -Oracle Open Office Chart : inserting;Fontwork objects -Oracle Open Office Chart : inserting;form fields -Oracle Open Office Chart : inserting;hyperlinks -Oracle Open Office Chart : inserting;line breaks in cells -Oracle Open Office Chart : inserting;movies/sounds -Oracle Open Office Chart : inserting;new text tables defaults -Oracle Open Office Chart : inserting;objects from Gallery -Oracle Open Office Chart : inserting;OLE objects -Oracle Open Office Chart : inserting;paragraph borders -Oracle Open Office Chart : inserting;paragraph bullets -Oracle Open Office Chart : inserting;pictures in Gallery -Oracle Open Office Chart : inserting;plug-ins -Oracle Open Office Chart : inserting;push buttons -Oracle Open Office Chart : inserting;special characters -Oracle Open Office Chart : inserting;tab stops -Oracle Open Office Chart : inserting;textures on chart bars -Oracle Open Office Chart : installing -Oracle Open Office Chart : installing;ActiveX control -Oracle Open Office Chart : installing;mobile device filters -Oracle Open Office Chart : installing;UNO components -Oracle Open Office Chart : installing;XML filters -Oracle Open Office Chart : instructions -Oracle Open Office Chart : instructions;general -Oracle Open Office Chart : Internet -Oracle Open Office Chart : Internet;checking for updates -Oracle Open Office Chart : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Chart : Internet;presentations -Oracle Open Office Chart : Internet;starting searches -Oracle Open Office Chart : Internet glossary -Oracle Open Office Chart : invert filter -Oracle Open Office Chart : invisible areas -Oracle Open Office Chart : italic text -Oracle Open Office Chart : iterative references in spreadsheets -Oracle Open Office Chart : Java -Oracle Open Office Chart : Java;definition -Oracle Open Office Chart : Java;setting options -Oracle Open Office Chart : JDBC -Oracle Open Office Chart : JDBC;databases (Base) -Oracle Open Office Chart : JDBC;definition -Oracle Open Office Chart : joining -Oracle Open Office Chart : joining;paragraphs -Oracle Open Office Chart : joining;tables (Base) -Oracle Open Office Chart : joins in databases (Base) -Oracle Open Office Chart : justifying text -Oracle Open Office Chart : kerning -Oracle Open Office Chart : kerning;Asian texts -Oracle Open Office Chart : kerning;definition -Oracle Open Office Chart : kerning;in characters -Oracle Open Office Chart : key fields for relations (Base) -Oracle Open Office Chart : keyboard -Oracle Open Office Chart : keyboard;assigning/editing shortcut keys -Oracle Open Office Chart : keyboard;general commands -Oracle Open Office Chart : keyboard;removing numbering -Oracle Open Office Chart : keys -Oracle Open Office Chart : keys;adding push buttons -Oracle Open Office Chart : keys;primary keys (Base) -Oracle Open Office Chart : kiosk export -Oracle Open Office Chart : labels -Oracle Open Office Chart : labels;creating and synchronizing -Oracle Open Office Chart : labels;for charts -Oracle Open Office Chart : labels;for draw objects -Oracle Open Office Chart : labels;form functions -Oracle Open Office Chart : labels;from databases -Oracle Open Office Chart : labels, see also names/callouts -Oracle Open Office Chart : languages -Oracle Open Office Chart : languages;activating modules -Oracle Open Office Chart : languages;Asian support -Oracle Open Office Chart : languages;complex text layout -Oracle Open Office Chart : languages;locale settings -Oracle Open Office Chart : languages;selecting for text -Oracle Open Office Chart : languages;setting options -Oracle Open Office Chart : languages;spellcheck -Oracle Open Office Chart : languages;spellchecking and formatting -Oracle Open Office Chart : large handles (Writer) -Oracle Open Office Chart : large icons -Oracle Open Office Chart : layer arrangement -Oracle Open Office Chart : layout -Oracle Open Office Chart : layout;importing Word documents -Oracle Open Office Chart : layout;pages -Oracle Open Office Chart : LDAP server -Oracle Open Office Chart : LDAP server;address books (Base) -Oracle Open Office Chart : LDAP server;sign on options -Oracle Open Office Chart : leading between paragraphs -Oracle Open Office Chart : left alignment of paragraphs -Oracle Open Office Chart : left joins (Base) -Oracle Open Office Chart : legends -Oracle Open Office Chart : legends;charts -Oracle Open Office Chart : legends;draw objects -Oracle Open Office Chart : legends;rounding corners -Oracle Open Office Chart : Letter Wizard -Oracle Open Office Chart : levels -Oracle Open Office Chart : levels;depth stagger -Oracle Open Office Chart : levels;macro security -Oracle Open Office Chart : limits of tables (Writer) -Oracle Open Office Chart : line breaks -Oracle Open Office Chart : line breaks;in cells -Oracle Open Office Chart : line charts -Oracle Open Office Chart : line spacing -Oracle Open Office Chart : line spacing;context menu in paragraphs -Oracle Open Office Chart : line spacing;paragraph -Oracle Open Office Chart : line styles -Oracle Open Office Chart : line styles;applying -Oracle Open Office Chart : line styles;defining -Oracle Open Office Chart : lines -Oracle Open Office Chart : lines;defining ends -Oracle Open Office Chart : lines;draw functions -Oracle Open Office Chart : lines;drawing in text -Oracle Open Office Chart : lines;editing points -Oracle Open Office Chart : lines;removing automatic lines -Oracle Open Office Chart : lines of text -Oracle Open Office Chart : lines of text;alignment -Oracle Open Office Chart : links -Oracle Open Office Chart : links;between cells and controls -Oracle Open Office Chart : links;by drag and drop -Oracle Open Office Chart : links;character formats -Oracle Open Office Chart : links;definition -Oracle Open Office Chart : links;editing hyperlinks -Oracle Open Office Chart : links;inserting -Oracle Open Office Chart : links;modifying -Oracle Open Office Chart : links;opening files with -Oracle Open Office Chart : links;relational databases (Base) -Oracle Open Office Chart : links;turning off automatic recognition -Oracle Open Office Chart : links;updating options (Writer) -Oracle Open Office Chart : links;updating specific links -Oracle Open Office Chart : list box creation -Oracle Open Office Chart : lists -Oracle Open Office Chart : lists;data assigned to controls -Oracle Open Office Chart : lists;registered databases (Base) -Oracle Open Office Chart : lists;regular expressions -Oracle Open Office Chart : live presentations on the Internet -Oracle Open Office Chart : loading -Oracle Open Office Chart : loading;documents -Oracle Open Office Chart : loading;documents from other formats -Oracle Open Office Chart : loading;HTML documents, automatically -Oracle Open Office Chart : loading;Microsoft Office documents with VBA code -Oracle Open Office Chart : loading;reloading -Oracle Open Office Chart : loading;XML files -Oracle Open Office Chart : locale settings -Oracle Open Office Chart : logarithmic scaling along axes -Oracle Open Office Chart : lowercase letters -Oracle Open Office Chart : lowercase letters;font effects -Oracle Open Office Chart : Macro Wizard (Base) -Oracle Open Office Chart : macros -Oracle Open Office Chart : macros;assigning to events in forms -Oracle Open Office Chart : macros;attaching new (Base) -Oracle Open Office Chart : macros;in MS Office documents -Oracle Open Office Chart : macros;interrupting -Oracle Open Office Chart : macros;organizing -Oracle Open Office Chart : macros;recording -Oracle Open Office Chart : macros;security -Oracle Open Office Chart : macros;security levels -Oracle Open Office Chart : macros;security warning dialog -Oracle Open Office Chart : macros;selecting security warnings -Oracle Open Office Chart : magnifiers -Oracle Open Office Chart : margins -Oracle Open Office Chart : margins;pages -Oracle Open Office Chart : margins;setting with the mouse -Oracle Open Office Chart : margins;shadows -Oracle Open Office Chart : marking changes -Oracle Open Office Chart : marking, see selecting -Oracle Open Office Chart : Math formula editor -Oracle Open Office Chart : mean value lines in charts -Oracle Open Office Chart : measurement units -Oracle Open Office Chart : measurement units;changing on rulers -Oracle Open Office Chart : measurement units;converting -Oracle Open Office Chart : measurement units;selecting -Oracle Open Office Chart : Media Player window -Oracle Open Office Chart : menus -Oracle Open Office Chart : menus;activating context menus -Oracle Open Office Chart : menus;assigning macros -Oracle Open Office Chart : menus;customizing -Oracle Open Office Chart : merging -Oracle Open Office Chart : merging;documents -Oracle Open Office Chart : META tags -Oracle Open Office Chart : metrics -Oracle Open Office Chart : metrics;converting -Oracle Open Office Chart : metrics;document formatting (Writer) -Oracle Open Office Chart : metrics;in sheets -Oracle Open Office Chart : Microsoft Office -Oracle Open Office Chart : Microsoft Office;Access databases (base) -Oracle Open Office Chart : Microsoft Office;as default file format -Oracle Open Office Chart : Microsoft Office;document import restrictions -Oracle Open Office Chart : Microsoft Office;feature comparisons -Oracle Open Office Chart : Microsoft Office;importing password protected files -Oracle Open Office Chart : Microsoft Office;importing Word documents -Oracle Open Office Chart : Microsoft Office;importing/exporting VBA code -Oracle Open Office Chart : Microsoft Office;new users information -Oracle Open Office Chart : Microsoft Office;opening Microsoft documents -Oracle Open Office Chart : Microsoft Office;reassigning document types -Oracle Open Office Chart : migrating macros (Base) -Oracle Open Office Chart : mobile device filters -Oracle Open Office Chart : models in XForms -Oracle Open Office Chart : modifying, see changing -Oracle Open Office Chart : more controls -Oracle Open Office Chart : mosaic filter -Oracle Open Office Chart : mouse -Oracle Open Office Chart : mouse;pointers when using drag and drop -Oracle Open Office Chart : mouse;positioning -Oracle Open Office Chart : movies -Oracle Open Office Chart : moving -Oracle Open Office Chart : moving;tab stops on ruler -Oracle Open Office Chart : moving;toolbars -Oracle Open Office Chart : moving;using guide lines in presentations -Oracle Open Office Chart : MS ADO interface (Base) -Oracle Open Office Chart : multi-line titles in forms -Oracle Open Office Chart : multiple documents -Oracle Open Office Chart : multiple documents;opening -Oracle Open Office Chart : multiple selection -Oracle Open Office Chart : music -Oracle Open Office Chart : My Documents folder -Oracle Open Office Chart : My Documents folder;changing work directory -Oracle Open Office Chart : My Documents folder;opening -Oracle Open Office Chart : MySQL databases (Base) -Oracle Open Office Chart : names -Oracle Open Office Chart : names;multi-line titles -Oracle Open Office Chart : names;objects -Oracle Open Office Chart : names, see also labels/callouts -Oracle Open Office Chart : namespace organization in XForms -Oracle Open Office Chart : native SQL (Base) -Oracle Open Office Chart : navigating -Oracle Open Office Chart : navigating;in documents -Oracle Open Office Chart : Navigation bar -Oracle Open Office Chart : Navigation bar;controls -Oracle Open Office Chart : Navigation bar;forms -Oracle Open Office Chart : Navigator -Oracle Open Office Chart : Navigator;comments -Oracle Open Office Chart : Navigator;contents as lists -Oracle Open Office Chart : Navigator;docking -Oracle Open Office Chart : Navigator;working with -Oracle Open Office Chart : net charts -Oracle Open Office Chart : network identity options -Oracle Open Office Chart : new databases -Oracle Open Office Chart : new documents -Oracle Open Office Chart : new lines in cells -Oracle Open Office Chart : new windows -Oracle Open Office Chart : non-breaking dashes -Oracle Open Office Chart : non-breaking spaces (Writer) -Oracle Open Office Chart : non-printing characters (Writer) -Oracle Open Office Chart : number formats -Oracle Open Office Chart : number formats;codes -Oracle Open Office Chart : number formats;formats -Oracle Open Office Chart : number formats;recognition in text tables -Oracle Open Office Chart : number of pages -Oracle Open Office Chart : number of sheets -Oracle Open Office Chart : number of tables -Oracle Open Office Chart : numbering -Oracle Open Office Chart : numbering;options -Oracle Open Office Chart : numbering;turning off -Oracle Open Office Chart : numbering;using automatically -Oracle Open Office Chart : numbers -Oracle Open Office Chart : numbers;date, time and currency formats -Oracle Open Office Chart : numbers;decimal places (Calc) -Oracle Open Office Chart : numerical fields in forms -Oracle Open Office Chart : objects -Oracle Open Office Chart : objects;always moveable (Impress/Draw) -Oracle Open Office Chart : objects;arranging within stacks -Oracle Open Office Chart : objects;copying when moving in presentations -Oracle Open Office Chart : objects;definition -Oracle Open Office Chart : objects;displaying in spreadsheets -Oracle Open Office Chart : objects;displaying in text documents -Oracle Open Office Chart : objects;editing -Oracle Open Office Chart : objects;inserting from Gallery -Oracle Open Office Chart : objects;inserting OLE objects -Oracle Open Office Chart : objects;moving and resizing with mouse -Oracle Open Office Chart : objects;naming -Oracle Open Office Chart : objects;opening -Oracle Open Office Chart : objects;properties of charts -Oracle Open Office Chart : objects;quickly moving to -Oracle Open Office Chart : objects;titles and descriptions -Oracle Open Office Chart : ODBC -Oracle Open Office Chart : ODBC;database (Base) -Oracle Open Office Chart : ODBC;definition -Oracle Open Office Chart : ODF file formats -Oracle Open Office Chart : Office -Oracle Open Office Chart : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Chart : OLE -Oracle Open Office Chart : OLE;definition -Oracle Open Office Chart : OLE objects -Oracle Open Office Chart : OLE objects;arranging within stacks -Oracle Open Office Chart : OLE objects;captions (Writer) -Oracle Open Office Chart : OLE objects;inserting -Oracle Open Office Chart : OLE objects;number of -Oracle Open Office Chart : OLE objects;protecting -Oracle Open Office Chart : one and a half line spacing in text -Oracle Open Office Chart : online feedback options -Oracle Open Office Chart : online registration -Oracle Open Office Chart : online update options -Oracle Open Office Chart : online updates -Oracle Open Office Chart : online updates;checking automatically -Oracle Open Office Chart : online updates;checking manually -Oracle Open Office Chart : Open/Save dialogs -Oracle Open Office Chart : OpenDocument file formats -Oracle Open Office Chart : OpenGL -Oracle Open Office Chart : OpenGL;definition -Oracle Open Office Chart : opening -Oracle Open Office Chart : opening;context menus -Oracle Open Office Chart : opening;database files -Oracle Open Office Chart : opening;dialog settings -Oracle Open Office Chart : opening;documents -Oracle Open Office Chart : opening;documents from other formats -Oracle Open Office Chart : opening;documents on WebDAV server -Oracle Open Office Chart : opening;files with links -Oracle Open Office Chart : opening;files, with placeholders -Oracle Open Office Chart : opening;forms -Oracle Open Office Chart : opening;Microsoft Office files -Oracle Open Office Chart : opening;mobile device documents -Oracle Open Office Chart : opening;objects -Oracle Open Office Chart : opening;reports -Oracle Open Office Chart : opening;several files -Oracle Open Office Chart : opening;XForms -Oracle Open Office Chart : operators -Oracle Open Office Chart : operators;default filters -Oracle Open Office Chart : optional hyphens (Writer) -Oracle Open Office Chart : options -Oracle Open Office Chart : options;accessibility -Oracle Open Office Chart : options;appearance -Oracle Open Office Chart : options;compatibility (Writer) -Oracle Open Office Chart : options;improvement program -Oracle Open Office Chart : options;network identity -Oracle Open Office Chart : options;online update -Oracle Open Office Chart : options;tools -Oracle Open Office Chart : Oracle databases (base) -Oracle Open Office Chart : Oracle Open Office Base data sources -Oracle Open Office Chart : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Chart : Oracle Open Office documents -Oracle Open Office Chart : Oracle Open Office documents;mobile device filters -Oracle Open Office Chart : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Chart : Oracle Open Office Math start -Oracle Open Office Chart : order of chart data -Oracle Open Office Chart : ordering -Oracle Open Office Chart : ordering;objects -Oracle Open Office Chart : organizing -Oracle Open Office Chart : organizing;macros and scripts -Oracle Open Office Chart : organizing;namespaces in XForms -Oracle Open Office Chart : organizing;styles -Oracle Open Office Chart : organizing;templates -Oracle Open Office Chart : original size -Oracle Open Office Chart : original size;printing in Oracle Open Office Math -Oracle Open Office Chart : original size;restoring after cropping -Oracle Open Office Chart : outlines -Oracle Open Office Chart : outlines;font effects -Oracle Open Office Chart : outlines;outline symbols -Oracle Open Office Chart : outlines;sending to presentations -Oracle Open Office Chart : overwrite mode -Oracle Open Office Chart : packages, see extensions -Oracle Open Office Chart : page breaks -Oracle Open Office Chart : page breaks;displaying (Calc) -Oracle Open Office Chart : page formats -Oracle Open Office Chart : page formats;maximizing -Oracle Open Office Chart : page formats;restriction -Oracle Open Office Chart : page styles -Oracle Open Office Chart : page styles;editing/applying with statusbar -Oracle Open Office Chart : pages -Oracle Open Office Chart : pages;backgrounds in all applications -Oracle Open Office Chart : pages;formatting and numbering -Oracle Open Office Chart : pages;printing page names in presentations -Oracle Open Office Chart : pages;scaling -Oracle Open Office Chart : pages;selecting one to print -Oracle Open Office Chart : paint box -Oracle Open Office Chart : paint can symbol -Oracle Open Office Chart : pair kerning -Oracle Open Office Chart : Palm file filters -Oracle Open Office Chart : paper formats -Oracle Open Office Chart : paper size warning -Oracle Open Office Chart : paper trays -Oracle Open Office Chart : paragraph marks -Oracle Open Office Chart : paragraph marks;displaying (Writer) -Oracle Open Office Chart : paragraph styles -Oracle Open Office Chart : paragraph styles;languages -Oracle Open Office Chart : paragraph styles;modifying basic fonts -Oracle Open Office Chart : paragraphs -Oracle Open Office Chart : paragraphs;alignment -Oracle Open Office Chart : paragraphs;Asian typography -Oracle Open Office Chart : paragraphs;defining borders -Oracle Open Office Chart : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Chart : paragraphs;increasing indents of -Oracle Open Office Chart : paragraphs;indents, margins and columns -Oracle Open Office Chart : paragraphs;inserting bullets -Oracle Open Office Chart : paragraphs;joining -Oracle Open Office Chart : paragraphs;numbering automatically -Oracle Open Office Chart : paragraphs;removing blank ones -Oracle Open Office Chart : paragraphs;spacing -Oracle Open Office Chart : paragraphs;tab stops -Oracle Open Office Chart : parameters -Oracle Open Office Chart : parameters;command line -Oracle Open Office Chart : parameters;queries (Base) -Oracle Open Office Chart : passwords for protecting contents -Oracle Open Office Chart : pasting -Oracle Open Office Chart : pasting;cell ranges -Oracle Open Office Chart : pasting;cell ranges from spreadsheets -Oracle Open Office Chart : pasting;data from text documents -Oracle Open Office Chart : pasting;draw objects -Oracle Open Office Chart : pasting;draw objects from other documents -Oracle Open Office Chart : pasting;formatted/unformatted text -Oracle Open Office Chart : pasting;from data source view -Oracle Open Office Chart : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Chart : pasting;pictures from other documents -Oracle Open Office Chart : pasting;sheet areas in text documents -Oracle Open Office Chart : pasting;to Gallery -Oracle Open Office Chart : paths -Oracle Open Office Chart : paths;changing work directory -Oracle Open Office Chart : paths;defaults -Oracle Open Office Chart : pattern editor -Oracle Open Office Chart : pattern fields -Oracle Open Office Chart : pattern fields;form functions -Oracle Open Office Chart : patterns for objects -Oracle Open Office Chart : PDF -Oracle Open Office Chart : PDF;export -Oracle Open Office Chart : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Chart : personal data input -Oracle Open Office Chart : phonetic guide -Oracle Open Office Chart : picklist creation -Oracle Open Office Chart : pictures -Oracle Open Office Chart : pictures;adding to Gallery -Oracle Open Office Chart : pictures;arranging within stacks -Oracle Open Office Chart : pictures;assigning macros -Oracle Open Office Chart : pictures;backgrounds -Oracle Open Office Chart : pictures;captions (Writer) -Oracle Open Office Chart : pictures;changing paths -Oracle Open Office Chart : pictures;cropping and zooming -Oracle Open Office Chart : pictures;displaying in Calc -Oracle Open Office Chart : pictures;displaying in Writer (Writer) -Oracle Open Office Chart : pictures;drag and drop between documents -Oracle Open Office Chart : pictures;drawing -Oracle Open Office Chart : pictures;editing -Oracle Open Office Chart : pictures;filters -Oracle Open Office Chart : pictures;ImageMap -Oracle Open Office Chart : pictures;inserting automatically -Oracle Open Office Chart : pictures;inserting from Gallery -Oracle Open Office Chart : pictures;number of -Oracle Open Office Chart : pictures;printing -Oracle Open Office Chart : pictures;scaling/resizing -Oracle Open Office Chart : pie charts -Oracle Open Office Chart : pie charts;options -Oracle Open Office Chart : pie charts;types -Oracle Open Office Chart : pixel editor -Oracle Open Office Chart : pixel graphics -Oracle Open Office Chart : pixel graphics;inserting and editing -Oracle Open Office Chart : pixel patterns -Oracle Open Office Chart : placeholders -Oracle Open Office Chart : placeholders;in SQL queries -Oracle Open Office Chart : placeholders;on opening files -Oracle Open Office Chart : placing toolbars -Oracle Open Office Chart : playing movies and sound files -Oracle Open Office Chart : plotting data as charts -Oracle Open Office Chart : plug-ins -Oracle Open Office Chart : plug-ins;activating and deactivating -Oracle Open Office Chart : plug-ins;definition -Oracle Open Office Chart : plug-ins;inserting -Oracle Open Office Chart : pocket device appliances -Oracle Open Office Chart : Pocket PC file filters -Oracle Open Office Chart : points -Oracle Open Office Chart : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Chart : polygon drawing -Oracle Open Office Chart : pop-art filter -Oracle Open Office Chart : portable document format -Oracle Open Office Chart : positioning -Oracle Open Office Chart : positioning;axes -Oracle Open Office Chart : positioning;draw objects and controls -Oracle Open Office Chart : positioning;fonts -Oracle Open Office Chart : positioning;objects -Oracle Open Office Chart : positioning;toolbars -Oracle Open Office Chart : post method for form transmissions -Oracle Open Office Chart : posterizing filter -Oracle Open Office Chart : PostScript -Oracle Open Office Chart : PostScript;creating files -Oracle Open Office Chart : PostScript;PDF converter, UNIX -Oracle Open Office Chart : PowerPoint export -Oracle Open Office Chart : precision as shown (Calc) -Oracle Open Office Chart : predefining fonts -Oracle Open Office Chart : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Chart : presentations -Oracle Open Office Chart : presentations;creating/opening -Oracle Open Office Chart : presentations;inserting spreadsheet cells -Oracle Open Office Chart : presentations;live on the Internet -Oracle Open Office Chart : presentations;print menu -Oracle Open Office Chart : presentations;saving -Oracle Open Office Chart : presentations;saving automatically -Oracle Open Office Chart : presentations;saving in other formats -Oracle Open Office Chart : presentations;sending as e-mail -Oracle Open Office Chart : presentations;starting with wizard -Oracle Open Office Chart : presentations;wizards -Oracle Open Office Chart : Presenter Console shortcuts -Oracle Open Office Chart : press buttons, see push buttons -Oracle Open Office Chart : previews -Oracle Open Office Chart : previews;fonts lists -Oracle Open Office Chart : primary keys -Oracle Open Office Chart : primary keys;defining -Oracle Open Office Chart : primary keys;design view -Oracle Open Office Chart : primary keys;inserting (Base) -Oracle Open Office Chart : print area selection -Oracle Open Office Chart : printer metrics for document formatting (Writer) -Oracle Open Office Chart : printers -Oracle Open Office Chart : printers;adding, UNIX -Oracle Open Office Chart : printers;choosing -Oracle Open Office Chart : printers;default printer -Oracle Open Office Chart : printers;faxes under UNIX -Oracle Open Office Chart : printers;maximum page formats -Oracle Open Office Chart : printers;paper trays -Oracle Open Office Chart : printers;properties -Oracle Open Office Chart : printing -Oracle Open Office Chart : printing;black and white -Oracle Open Office Chart : printing;brochures -Oracle Open Office Chart : printing;colors in grayscale -Oracle Open Office Chart : printing;comments -Oracle Open Office Chart : printing;copies -Oracle Open Office Chart : printing;creating individual jobs -Oracle Open Office Chart : printing;dates in presentations -Oracle Open Office Chart : printing;directly -Oracle Open Office Chart : printing;documents -Oracle Open Office Chart : printing;drawings defaults -Oracle Open Office Chart : printing;elements in text documents -Oracle Open Office Chart : printing;faster -Oracle Open Office Chart : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Chart : printing;fitting to pages in presentations -Oracle Open Office Chart : printing;formulas in Oracle Open Office Math -Oracle Open Office Chart : printing;hidden pages of presentations -Oracle Open Office Chart : printing;in original size in Oracle Open Office Math -Oracle Open Office Chart : printing;left/right pages -Oracle Open Office Chart : printing;queries (Base) -Oracle Open Office Chart : printing;scaling in Oracle Open Office Math -Oracle Open Office Chart : printing;selections -Oracle Open Office Chart : printing;text always in black -Oracle Open Office Chart : printing;text in reverse order -Oracle Open Office Chart : printing;tiling pages in presentations -Oracle Open Office Chart : printing;transparencies -Oracle Open Office Chart : printing;warnings -Oracle Open Office Chart : printing;without scaling in presentations -Oracle Open Office Chart : printing speed -Oracle Open Office Chart : programming -Oracle Open Office Chart : programming;Oracle Open Office -Oracle Open Office Chart : programming;scripting -Oracle Open Office Chart : properties -Oracle Open Office Chart : properties;charts -Oracle Open Office Chart : properties;fields in databases -Oracle Open Office Chart : properties;files -Oracle Open Office Chart : properties;form controls -Oracle Open Office Chart : properties;forms -Oracle Open Office Chart : properties;printers -Oracle Open Office Chart : properties;smooth lines in line charts/XY charts -Oracle Open Office Chart : protected contents -Oracle Open Office Chart : protected dashes -Oracle Open Office Chart : protected database tables -Oracle Open Office Chart : protected documents -Oracle Open Office Chart : protected spaces -Oracle Open Office Chart : protected spaces;inserting -Oracle Open Office Chart : protected spaces;showing (Writer) -Oracle Open Office Chart : protecting -Oracle Open Office Chart : protecting;contents -Oracle Open Office Chart : protecting;recorded changes -Oracle Open Office Chart : proxy settings -Oracle Open Office Chart : push buttons -Oracle Open Office Chart : push buttons;adding to documents -Oracle Open Office Chart : push buttons;creating -Oracle Open Office Chart : queries -Oracle Open Office Chart : queries;copying (Base) -Oracle Open Office Chart : queries;creating in design view (Base) -Oracle Open Office Chart : queries;creating in SQL view -Oracle Open Office Chart : queries;defining (Base) -Oracle Open Office Chart : queries;deleting table links (Base) -Oracle Open Office Chart : queries;editing in data source view -Oracle Open Office Chart : queries;formulating filter conditions (Base) -Oracle Open Office Chart : queries;joining tables (Base) -Oracle Open Office Chart : queries;missing elements (Base) -Oracle Open Office Chart : queries;overview (Base) -Oracle Open Office Chart : queries;parameter queries (Base) -Oracle Open Office Chart : queries;printing (Base) -Oracle Open Office Chart : Query Wizard (Base) -Oracle Open Office Chart : Quickstarter -Oracle Open Office Chart : quotation marks -Oracle Open Office Chart : quotation marks;replacing -Oracle Open Office Chart : quotes -Oracle Open Office Chart : quotes;custom -Oracle Open Office Chart : radar charts, see net charts -Oracle Open Office Chart : radio button creation -Oracle Open Office Chart : read-only documents -Oracle Open Office Chart : read-only documents;cursor -Oracle Open Office Chart : read-only documents;database tables on/off -Oracle Open Office Chart : read-only documents;editing -Oracle Open Office Chart : read-only documents;opening documents as -Oracle Open Office Chart : read-only items in Data Navigator -Oracle Open Office Chart : recognizing URLs automatically -Oracle Open Office Chart : recording -Oracle Open Office Chart : recording;changes -Oracle Open Office Chart : recording;macros -Oracle Open Office Chart : records -Oracle Open Office Chart : records;inserting comments -Oracle Open Office Chart : records;protecting -Oracle Open Office Chart : records;saving -Oracle Open Office Chart : records;searching in databases -Oracle Open Office Chart : rectangles with round corners -Oracle Open Office Chart : recursions in spreadsheets -Oracle Open Office Chart : redo command -Oracle Open Office Chart : reduced printing -Oracle Open Office Chart : reference lines -Oracle Open Office Chart : references -Oracle Open Office Chart : references;displaying in color (Calc) -Oracle Open Office Chart : references;expanding (Calc) -Oracle Open Office Chart : references;iterative (Calc) -Oracle Open Office Chart : register-true -Oracle Open Office Chart : register-true;definition -Oracle Open Office Chart : registering -Oracle Open Office Chart : registering;address books -Oracle Open Office Chart : registering;databases (Base) -Oracle Open Office Chart : registering;Oracle Open Office -Oracle Open Office Chart : regression curves in charts -Oracle Open Office Chart : regular expressions -Oracle Open Office Chart : regular expressions;list of -Oracle Open Office Chart : regular expressions;opening files -Oracle Open Office Chart : relational databases (Base) -Oracle Open Office Chart : relations -Oracle Open Office Chart : relations;creating and deleting (Base) -Oracle Open Office Chart : relations;joining tables (Base) -Oracle Open Office Chart : relations;properties (Base) -Oracle Open Office Chart : relative hyperlinks -Oracle Open Office Chart : relative saving of URLs -Oracle Open Office Chart : reloading -Oracle Open Office Chart : reloading;documents -Oracle Open Office Chart : reloading;HTML documents, automatically -Oracle Open Office Chart : remarks, see also comments -Oracle Open Office Chart : remote configurations -Oracle Open Office Chart : remove noise filter -Oracle Open Office Chart : removing -Oracle Open Office Chart : removing;bullets and numbering -Oracle Open Office Chart : removing;form filters -Oracle Open Office Chart : removing, see also deleting -Oracle Open Office Chart : reorganizing charts -Oracle Open Office Chart : repeating -Oracle Open Office Chart : repeating;commands -Oracle Open Office Chart : replacement options -Oracle Open Office Chart : replacement table -Oracle Open Office Chart : replacing -Oracle Open Office Chart : replacing;AutoCorrect function -Oracle Open Office Chart : replacing;dashes -Oracle Open Office Chart : replacing;tab stops (regular expressions) -Oracle Open Office Chart : Report Builder -Oracle Open Office Chart : reports -Oracle Open Office Chart : reports;creating -Oracle Open Office Chart : reports;error reports -Oracle Open Office Chart : reports;opening and editing -Oracle Open Office Chart : reports;templates -Oracle Open Office Chart : resetting -Oracle Open Office Chart : resetting;templates -Oracle Open Office Chart : resizing -Oracle Open Office Chart : resizing;objects, by mouse -Oracle Open Office Chart : resizing, see also scaling/zooming -Oracle Open Office Chart : resolution when printing bitmaps -Oracle Open Office Chart : restoring -Oracle Open Office Chart : restoring;default formatting -Oracle Open Office Chart : restoring;editing -Oracle Open Office Chart : reversing printing order -Oracle Open Office Chart : review function -Oracle Open Office Chart : review function;accepting or rejecting changes -Oracle Open Office Chart : review function;comparing documents -Oracle Open Office Chart : review function;protecting records -Oracle Open Office Chart : review function;recording changes example -Oracle Open Office Chart : rich text control -Oracle Open Office Chart : right alignment of paragraphs -Oracle Open Office Chart : right joins (Base) -Oracle Open Office Chart : right-to-left text -Oracle Open Office Chart : rotating -Oracle Open Office Chart : rotating;3D text -Oracle Open Office Chart : round corners -Oracle Open Office Chart : rounding precision (Calc) -Oracle Open Office Chart : row headers -Oracle Open Office Chart : row headers;displaying (Calc) -Oracle Open Office Chart : row headers;highlighting (Calc) -Oracle Open Office Chart : rulers -Oracle Open Office Chart : rulers;default settings -Oracle Open Office Chart : rulers;measurement units -Oracle Open Office Chart : rulers;visible in presentations -Oracle Open Office Chart : samples and templates -Oracle Open Office Chart : saving -Oracle Open Office Chart : saving;default file formats -Oracle Open Office Chart : saving;dialog settings -Oracle Open Office Chart : saving;documents -Oracle Open Office Chart : saving;documents for mobile devices -Oracle Open Office Chart : saving;documents in other formats -Oracle Open Office Chart : saving;documents, automatically -Oracle Open Office Chart : saving;in Microsoft Office file format -Oracle Open Office Chart : saving;options -Oracle Open Office Chart : saving;templates -Oracle Open Office Chart : saving;to XML -Oracle Open Office Chart : saving;VBA code in Microsoft Office documents -Oracle Open Office Chart : saving;with password by default -Oracle Open Office Chart : saving as command -Oracle Open Office Chart : saving as command;precautions -Oracle Open Office Chart : scaling -Oracle Open Office Chart : scaling;axes -Oracle Open Office Chart : scaling;font sizes in user interface -Oracle Open Office Chart : scaling;objects -Oracle Open Office Chart : scaling;pictures -Oracle Open Office Chart : scaling;printing in Oracle Open Office Math -Oracle Open Office Chart : scaling;text in charts -Oracle Open Office Chart : scaling;when printing presentations -Oracle Open Office Chart : scaling, see also zooming -Oracle Open Office Chart : scatter charts -Oracle Open Office Chart : screen -Oracle Open Office Chart : screen;full screen views -Oracle Open Office Chart : screen;scaling -Oracle Open Office Chart : screen magnifiers -Oracle Open Office Chart : screen readers -Oracle Open Office Chart : script organization -Oracle Open Office Chart : scrollbars -Oracle Open Office Chart : scrollbars;controls -Oracle Open Office Chart : scrollbars;displaying (Calc) -Oracle Open Office Chart : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Chart : search criteria for database functions in cells -Oracle Open Office Chart : search engines -Oracle Open Office Chart : search engines;definition -Oracle Open Office Chart : search engines;selecting -Oracle Open Office Chart : searching -Oracle Open Office Chart : searching;all sheets -Oracle Open Office Chart : searching;databases -Oracle Open Office Chart : searching;form filters -Oracle Open Office Chart : searching;Internet -Oracle Open Office Chart : searching;tables and forms -Oracle Open Office Chart : secondary axes in charts -Oracle Open Office Chart : sections -Oracle Open Office Chart : sections;backgrounds -Oracle Open Office Chart : security -Oracle Open Office Chart : security;digital signatures -Oracle Open Office Chart : security;options for documents with macros -Oracle Open Office Chart : security;protecting contents -Oracle Open Office Chart : security;security levels for macros -Oracle Open Office Chart : security;warning dialogs with macros -Oracle Open Office Chart : selecting -Oracle Open Office Chart : selecting;controls -Oracle Open Office Chart : selecting;measurement units -Oracle Open Office Chart : selecting;objects -Oracle Open Office Chart : selecting;print areas -Oracle Open Office Chart : selecting;several files -Oracle Open Office Chart : selection clipboard -Oracle Open Office Chart : selection frames -Oracle Open Office Chart : selection modes in text -Oracle Open Office Chart : sending -Oracle Open Office Chart : sending;AutoAbstract function in presentations -Oracle Open Office Chart : sending;documents as e-mail -Oracle Open Office Chart : sending;documents as faxes -Oracle Open Office Chart : separator lines -Oracle Open Office Chart : separator lines;defining -Oracle Open Office Chart : separators -Oracle Open Office Chart : separators;conditional -Oracle Open Office Chart : Server Side ImageMap -Oracle Open Office Chart : settings -Oracle Open Office Chart : settings;printers -Oracle Open Office Chart : settings;program configuration -Oracle Open Office Chart : settings;proxies -Oracle Open Office Chart : settings;tracking changes -Oracle Open Office Chart : settings;views -Oracle Open Office Chart : SGML -Oracle Open Office Chart : SGML;definition -Oracle Open Office Chart : shadows -Oracle Open Office Chart : shadows;areas -Oracle Open Office Chart : shadows;borders -Oracle Open Office Chart : shadows;characters -Oracle Open Office Chart : shadows;characters, using context menu -Oracle Open Office Chart : sharing documents -Oracle Open Office Chart : sharpening filter -Oracle Open Office Chart : sheet tabs -Oracle Open Office Chart : sheet tabs;displaying -Oracle Open Office Chart : sheets -Oracle Open Office Chart : sheets;searching all -Oracle Open Office Chart : shortcut keys -Oracle Open Office Chart : shortcut keys;assigning macros -Oracle Open Office Chart : shortcut keys;charts -Oracle Open Office Chart : shortcut keys;general -Oracle Open Office Chart : shortcut keys;in databases -Oracle Open Office Chart : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Chart : showing -Oracle Open Office Chart : showing;changes -Oracle Open Office Chart : showing;docked windows -Oracle Open Office Chart : showing;drawings and controls (Writer) -Oracle Open Office Chart : showing;live presentations on the Internet -Oracle Open Office Chart : showing;toolbars -Oracle Open Office Chart : signing documents with digital signatures -Oracle Open Office Chart : similarity search -Oracle Open Office Chart : simple handles (Writer) -Oracle Open Office Chart : simplified Chinese -Oracle Open Office Chart : simplified Chinese;translating to traditional Chinese -Oracle Open Office Chart : single sign on options -Oracle Open Office Chart : single-line spacing in text -Oracle Open Office Chart : sizes -Oracle Open Office Chart : sizes;draw objects -Oracle Open Office Chart : sizes;pictures -Oracle Open Office Chart : slanting draw objects -Oracle Open Office Chart : small capitals -Oracle Open Office Chart : small icons -Oracle Open Office Chart : smart tag configuration -Oracle Open Office Chart : smooth scrolling (Writer) -Oracle Open Office Chart : smoothing filter -Oracle Open Office Chart : snap grid defaults (Writer/Calc) -Oracle Open Office Chart : snapping in presentations and drawings -Oracle Open Office Chart : solarization filter -Oracle Open Office Chart : sort lists -Oracle Open Office Chart : sort lists;copying to in Calc -Oracle Open Office Chart : sorting -Oracle Open Office Chart : sorting;data in forms -Oracle Open Office Chart : sorting;databases -Oracle Open Office Chart : sound files -Oracle Open Office Chart : spaces -Oracle Open Office Chart : spaces;displaying (Writer) -Oracle Open Office Chart : spaces;ignoring double -Oracle Open Office Chart : spaces;inserting protected spaces -Oracle Open Office Chart : spaces;showing protected spaces (Writer) -Oracle Open Office Chart : spacing -Oracle Open Office Chart : spacing;between paragraphs in footnotes -Oracle Open Office Chart : spacing;font effects -Oracle Open Office Chart : spacing;lines and paragraphs -Oracle Open Office Chart : spacing;tab stops in text documents -Oracle Open Office Chart : spacing;tabs in presentations -Oracle Open Office Chart : spadmin -Oracle Open Office Chart : special characters -Oracle Open Office Chart : speech bubbles -Oracle Open Office Chart : speed of printing -Oracle Open Office Chart : spellcheck -Oracle Open Office Chart : spellcheck;activating for a language -Oracle Open Office Chart : spellcheck;context menus -Oracle Open Office Chart : spellcheck;default languages -Oracle Open Office Chart : spellcheck;dialog -Oracle Open Office Chart : spellcheck;dictionary of exceptions -Oracle Open Office Chart : spellcheck;ignore list -Oracle Open Office Chart : spin button creation -Oracle Open Office Chart : spoolfiles with Xprinter -Oracle Open Office Chart : spreadsheets -Oracle Open Office Chart : spreadsheets;as databases (base) -Oracle Open Office Chart : spreadsheets;copying areas to text documents -Oracle Open Office Chart : spreadsheets;creating/opening -Oracle Open Office Chart : spreadsheets;inserting charts -Oracle Open Office Chart : spreadsheets;inserting database records -Oracle Open Office Chart : spreadsheets;printing -Oracle Open Office Chart : spreadsheets;saving -Oracle Open Office Chart : spreadsheets;saving automatically -Oracle Open Office Chart : spreadsheets;saving in other formats -Oracle Open Office Chart : spreadsheets;sending as e-mail -Oracle Open Office Chart : SQL -Oracle Open Office Chart : SQL;definition -Oracle Open Office Chart : SQL;DISTINCT parameter -Oracle Open Office Chart : SQL;executing SQL commands -Oracle Open Office Chart : SQL;executing SQL statements (Base) -Oracle Open Office Chart : SQL;queries (Base) -Oracle Open Office Chart : square drawings -Oracle Open Office Chart : standard bar on/off -Oracle Open Office Chart : standard deviation in charts -Oracle Open Office Chart : standard filters in databases -Oracle Open Office Chart : standard printer under UNIX -Oracle Open Office Chart : start center -Oracle Open Office Chart : start parameters -Oracle Open Office Chart : statistics in charts -Oracle Open Office Chart : status bar on/off -Oracle Open Office Chart : stickers -Oracle Open Office Chart : stock charts -Oracle Open Office Chart : strikethrough -Oracle Open Office Chart : strikethrough;characters -Oracle Open Office Chart : strikethrough;font effects -Oracle Open Office Chart : styles -Oracle Open Office Chart : styles;'changed' message -Oracle Open Office Chart : styles;copying between documents -Oracle Open Office Chart : styles;keyboard shortcuts -Oracle Open Office Chart : styles;organizing -Oracle Open Office Chart : styles;printing styles used in a document -Oracle Open Office Chart : styles;replacing automatically -Oracle Open Office Chart : Styles and Formatting window -Oracle Open Office Chart : Styles and Formatting window;docking -Oracle Open Office Chart : subforms -Oracle Open Office Chart : subforms;creating -Oracle Open Office Chart : subforms;description -Oracle Open Office Chart : submitting forms -Oracle Open Office Chart : suffixes in file formats -Oracle Open Office Chart : support on the Web -Oracle Open Office Chart : synchronizing -Oracle Open Office Chart : synchronizing;labels and business cards -Oracle Open Office Chart : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Chart : system address book registration -Oracle Open Office Chart : tab stops -Oracle Open Office Chart : tab stops;displaying (Writer) -Oracle Open Office Chart : tab stops;inserting and editing -Oracle Open Office Chart : tab stops;regular expressions -Oracle Open Office Chart : tab stops;setting in sheets -Oracle Open Office Chart : tab stops;settings -Oracle Open Office Chart : tab stops;spacing in presentations -Oracle Open Office Chart : tab stops;spacing in text documents -Oracle Open Office Chart : table controls -Oracle Open Office Chart : table controls;form functions -Oracle Open Office Chart : table controls;keyboard-only edit mode -Oracle Open Office Chart : table controls;properties -Oracle Open Office Chart : table views of databases -Oracle Open Office Chart : Table Wizard (Base) -Oracle Open Office Chart : tables -Oracle Open Office Chart : tables;inserting line breaks -Oracle Open Office Chart : tables in databases -Oracle Open Office Chart : tables in databases;access rights to (Base) -Oracle Open Office Chart : tables in databases;adding to queries -Oracle Open Office Chart : tables in databases;browsing and editing -Oracle Open Office Chart : tables in databases;copying database tables (Base) -Oracle Open Office Chart : tables in databases;creating -Oracle Open Office Chart : tables in databases;creating in design view (manually) -Oracle Open Office Chart : tables in databases;importing text formats (Base) -Oracle Open Office Chart : tables in databases;joining for queries (Base) -Oracle Open Office Chart : tables in databases;printing queries (Base) -Oracle Open Office Chart : tables in databases;relations (Base) -Oracle Open Office Chart : tables in databases;searching -Oracle Open Office Chart : tables in spreadsheets -Oracle Open Office Chart : tables in spreadsheets;copying data to other applications -Oracle Open Office Chart : tables in spreadsheets;defining borders -Oracle Open Office Chart : tables in spreadsheets;value highlighting -Oracle Open Office Chart : tables in text -Oracle Open Office Chart : tables in text;captions -Oracle Open Office Chart : tables in text;creating automatically -Oracle Open Office Chart : tables in text;default settings -Oracle Open Office Chart : tables in text;defining borders -Oracle Open Office Chart : tables in text;displaying -Oracle Open Office Chart : tables in text;printing -Oracle Open Office Chart : tabs -Oracle Open Office Chart : tabs;displaying sheet tabs -Oracle Open Office Chart : tags -Oracle Open Office Chart : tags;definition -Oracle Open Office Chart : tags;META tags -Oracle Open Office Chart : templates -Oracle Open Office Chart : templates;agendas -Oracle Open Office Chart : templates;changing basic fonts -Oracle Open Office Chart : templates;database reports -Oracle Open Office Chart : templates;deleting -Oracle Open Office Chart : templates;editing and saving -Oracle Open Office Chart : templates;faxes -Oracle Open Office Chart : templates;importing and exporting -Oracle Open Office Chart : templates;letters -Oracle Open Office Chart : templates;new documents from templates -Oracle Open Office Chart : templates;opening documents with -Oracle Open Office Chart : templates;organizing -Oracle Open Office Chart : terminology -Oracle Open Office Chart : terminology;general glossary -Oracle Open Office Chart : terminology;Internet glossary -Oracle Open Office Chart : testing XML filters -Oracle Open Office Chart : text -Oracle Open Office Chart : text;animating -Oracle Open Office Chart : text;Asian layout -Oracle Open Office Chart : text;bold -Oracle Open Office Chart : text;coloring -Oracle Open Office Chart : text;copying by drag and drop -Oracle Open Office Chart : text;CTL languages -Oracle Open Office Chart : text;drawing pictures -Oracle Open Office Chart : text;font effects -Oracle Open Office Chart : text;font sizes -Oracle Open Office Chart : text;font styles -Oracle Open Office Chart : text;fonts and formats -Oracle Open Office Chart : text;Fontwork icons -Oracle Open Office Chart : text;hyperlinks -Oracle Open Office Chart : text;inserting special characters -Oracle Open Office Chart : text;italics -Oracle Open Office Chart : text;kerning -Oracle Open Office Chart : text;language selection -Oracle Open Office Chart : text;line spacing -Oracle Open Office Chart : text;overwriting or inserting -Oracle Open Office Chart : text;printing in black -Oracle Open Office Chart : text;replacing with format -Oracle Open Office Chart : text;selection modes -Oracle Open Office Chart : text;shadowed -Oracle Open Office Chart : text;text/draw objects -Oracle Open Office Chart : text attributes -Oracle Open Office Chart : text attributes;hyperlinks -Oracle Open Office Chart : text attributes;undoing -Oracle Open Office Chart : text boxes -Oracle Open Office Chart : text boxes;form functions -Oracle Open Office Chart : text boxes;positioning -Oracle Open Office Chart : text breaks in cells -Oracle Open Office Chart : text colors for better accessibility -Oracle Open Office Chart : text databases (Base) -Oracle Open Office Chart : text documents -Oracle Open Office Chart : text documents;creating/opening -Oracle Open Office Chart : text documents;importing/exporting -Oracle Open Office Chart : text documents;inserting spreadsheet cells -Oracle Open Office Chart : text documents;print settings -Oracle Open Office Chart : text documents;printing -Oracle Open Office Chart : text documents;saving -Oracle Open Office Chart : text documents;saving automatically -Oracle Open Office Chart : text documents;saving in other formats -Oracle Open Office Chart : text documents;sending as e-mail -Oracle Open Office Chart : text effects -Oracle Open Office Chart : text flow -Oracle Open Office Chart : text flow;in cells -Oracle Open Office Chart : text formats -Oracle Open Office Chart : text formats;databases -Oracle Open Office Chart : text formats;pasting -Oracle Open Office Chart : text input fields -Oracle Open Office Chart : text layout for special languages -Oracle Open Office Chart : text objects -Oracle Open Office Chart : text objects;alignment -Oracle Open Office Chart : text objects;draw functions -Oracle Open Office Chart : text objects;fonts -Oracle Open Office Chart : text objects;in presentations and drawings -Oracle Open Office Chart : text overflow in spreadsheet cells -Oracle Open Office Chart : text scaling in charts -Oracle Open Office Chart : text, see also text documents, paragraphs and characters -Oracle Open Office Chart : TextArt, see Fontwork -Oracle Open Office Chart : textures -Oracle Open Office Chart : textures;inserting from Gallery -Oracle Open Office Chart : textures;on chart bars -Oracle Open Office Chart : Thai -Oracle Open Office Chart : Thai;entering text -Oracle Open Office Chart : Thai;language settings -Oracle Open Office Chart : thesaurus -Oracle Open Office Chart : thesaurus;activating for a language -Oracle Open Office Chart : ticker text -Oracle Open Office Chart : time fields -Oracle Open Office Chart : time fields;form functions -Oracle Open Office Chart : times -Oracle Open Office Chart : times;inserting when printing presentations -Oracle Open Office Chart : times, formats -Oracle Open Office Chart : tips -Oracle Open Office Chart : tips;extended tips in Help -Oracle Open Office Chart : title rows -Oracle Open Office Chart : title rows;printing in Oracle Open Office Math -Oracle Open Office Chart : titles -Oracle Open Office Chart : titles;alignment (charts) -Oracle Open Office Chart : titles;changing -Oracle Open Office Chart : titles;editing in charts -Oracle Open Office Chart : titles;font effects -Oracle Open Office Chart : titles;formatting automatically -Oracle Open Office Chart : titles;formatting charts -Oracle Open Office Chart : titles;objects -Oracle Open Office Chart : toolbars -Oracle Open Office Chart : toolbars;adding buttons -Oracle Open Office Chart : toolbars;docking/undocking -Oracle Open Office Chart : toolbars;Form Navigation bar -Oracle Open Office Chart : toolbars;viewing/closing -Oracle Open Office Chart : tools bar -Oracle Open Office Chart : tooltips -Oracle Open Office Chart : tooltips;extended tips -Oracle Open Office Chart : tooltips;help -Oracle Open Office Chart : traditional Chinese -Oracle Open Office Chart : traditional Chinese;translating to simplified chinese -Oracle Open Office Chart : transparency -Oracle Open Office Chart : transparency;areas -Oracle Open Office Chart : transparency;off for faster printing -Oracle Open Office Chart : transparency;saving -Oracle Open Office Chart : tree view of Help -Oracle Open Office Chart : trend lines in charts -Oracle Open Office Chart : typefaces -Oracle Open Office Chart : typefaces;adding under UNIX -Oracle Open Office Chart : typefaces;formats -Oracle Open Office Chart : typographical quotes in Oracle Open Office Writer -Oracle Open Office Chart : typography -Oracle Open Office Chart : typography;Asian -Oracle Open Office Chart : underlining -Oracle Open Office Chart : underlining;AutoFormat function -Oracle Open Office Chart : underlining;characters -Oracle Open Office Chart : underlining;text -Oracle Open Office Chart : undocking windows -Oracle Open Office Chart : undoing -Oracle Open Office Chart : undoing;direct formatting -Oracle Open Office Chart : undoing;editing -Oracle Open Office Chart : undoing;number of steps -Oracle Open Office Chart : ungrouping groups -Oracle Open Office Chart : units -Oracle Open Office Chart : units;converting -Oracle Open Office Chart : units;measurement units -Oracle Open Office Chart : UNO components -Oracle Open Office Chart : UNO components;Extension Manager -Oracle Open Office Chart : UNO components;integrating new -Oracle Open Office Chart : update options -Oracle Open Office Chart : updates -Oracle Open Office Chart : updates;checking automatically -Oracle Open Office Chart : updates;checking manually -Oracle Open Office Chart : updating -Oracle Open Office Chart : updating;fields and charts, automatically (Writer) -Oracle Open Office Chart : updating;links in text documents -Oracle Open Office Chart : updating;links, on opening -Oracle Open Office Chart : updating;templates -Oracle Open Office Chart : URL -Oracle Open Office Chart : URL;changing hyperlink URLs -Oracle Open Office Chart : URL;definition -Oracle Open Office Chart : URL;in pictures -Oracle Open Office Chart : URL;saving absolute/relative paths -Oracle Open Office Chart : URL;turning off URL recognition -Oracle Open Office Chart : user data -Oracle Open Office Chart : user data;input -Oracle Open Office Chart : user data;removing when saving -Oracle Open Office Chart : user feedback -Oracle Open Office Chart : user feedback;automatically -Oracle Open Office Chart : user-defined dictionaries -Oracle Open Office Chart : user-defined dictionaries;creating -Oracle Open Office Chart : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Chart : user-defined dictionaries;editing -Oracle Open Office Chart : user-defined styles -Oracle Open Office Chart : user-defined styles;automatically replacing -Oracle Open Office Chart : UTF-8/UCS2 support -Oracle Open Office Chart : values -Oracle Open Office Chart : values;rounded as shown (Calc) -Oracle Open Office Chart : variables -Oracle Open Office Chart : variables;for paths -Oracle Open Office Chart : variances in charts -Oracle Open Office Chart : VBA code -Oracle Open Office Chart : VBA code;loading/saving documents with VBA code -Oracle Open Office Chart : version management -Oracle Open Office Chart : version numbers of documents -Oracle Open Office Chart : versions -Oracle Open Office Chart : versions;comparing documents -Oracle Open Office Chart : versions;file saving as, restriction -Oracle Open Office Chart : versions;merging document versions -Oracle Open Office Chart : versions;of a document -Oracle Open Office Chart : versions;Oracle Open Office -Oracle Open Office Chart : vertical callouts -Oracle Open Office Chart : vertical scrollbars (Writer) -Oracle Open Office Chart : vertical text boxes -Oracle Open Office Chart : videos -Oracle Open Office Chart : viewing -Oracle Open Office Chart : viewing;databases -Oracle Open Office Chart : viewing;file properties -Oracle Open Office Chart : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Chart : viewing;toolbars -Oracle Open Office Chart : views -Oracle Open Office Chart : views;creating database views (Base) -Oracle Open Office Chart : views;defaults -Oracle Open Office Chart : views;full screen -Oracle Open Office Chart : views;icons -Oracle Open Office Chart : views;scaling -Oracle Open Office Chart : Visual Basic for Applications -Oracle Open Office Chart : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Chart : watermarks -Oracle Open Office Chart : web documents -Oracle Open Office Chart : web documents;XForms -Oracle Open Office Chart : Web support -Oracle Open Office Chart : WebCast export -Oracle Open Office Chart : WebDAV over HTTPS -Oracle Open Office Chart : windows -Oracle Open Office Chart : windows;docking -Oracle Open Office Chart : windows;docking definition -Oracle Open Office Chart : windows;hiding/showing/docking -Oracle Open Office Chart : windows;new -Oracle Open Office Chart : wizards -Oracle Open Office Chart : wizards;agendas -Oracle Open Office Chart : wizards;database queries -Oracle Open Office Chart : wizards;database tables (Base) -Oracle Open Office Chart : wizards;databases (Base) -Oracle Open Office Chart : wizards;document converter -Oracle Open Office Chart : wizards;Euro Converter -Oracle Open Office Chart : wizards;faxes -Oracle Open Office Chart : wizards;forms -Oracle Open Office Chart : wizards;letters -Oracle Open Office Chart : wizards;macros (Base) -Oracle Open Office Chart : wizards;overview -Oracle Open Office Chart : wizards;presentations -Oracle Open Office Chart : wizards;reports -Oracle Open Office Chart : Word documents -Oracle Open Office Chart : Word documents;compatibility -Oracle Open Office Chart : Word documents;saving as -Oracle Open Office Chart : WordArt, see Fontwork -Oracle Open Office Chart : words -Oracle Open Office Chart : words;automatically replacing -Oracle Open Office Chart : words;wrapping in cells -Oracle Open Office Chart : words;wrapping in CTL -Oracle Open Office Chart : working directory change -Oracle Open Office Chart : wrapping text -Oracle Open Office Chart : wrapping text;in cells -Oracle Open Office Chart : write protection on/off -Oracle Open Office Chart : writing aids options -Oracle Open Office Chart : WYSIWYG in fonts lists -Oracle Open Office Chart : X axes -Oracle Open Office Chart : X axes;grid formatting -Oracle Open Office Chart : X axes;positioning -Oracle Open Office Chart : X axes;scaling -Oracle Open Office Chart : X axes;showing -Oracle Open Office Chart : XForms -Oracle Open Office Chart : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Chart : XForms;conditions -Oracle Open Office Chart : XForms;opening/editing -Oracle Open Office Chart : XML converters -Oracle Open Office Chart : XML file formats -Oracle Open Office Chart : XML filters -Oracle Open Office Chart : XML filters;creating/testing -Oracle Open Office Chart : XML filters;saving as package/installing/deleting -Oracle Open Office Chart : XML filters;settings -Oracle Open Office Chart : XML Forms, see XForms -Oracle Open Office Chart : XSLT filters, see also XML filters -Oracle Open Office Chart : XY charts -Oracle Open Office Chart : Y axes -Oracle Open Office Chart : Y axes;formatting -Oracle Open Office Chart : Y axes;grid formatting -Oracle Open Office Chart : Y axes;positioning -Oracle Open Office Chart : Y axes;scaling -Oracle Open Office Chart : Y axes;showing -Oracle Open Office Chart : years -Oracle Open Office Chart : years;2-digit options -Oracle Open Office Chart : Z axes -Oracle Open Office Chart : Z axes;grid formatting -Oracle Open Office Chart : Z axes;showing -Oracle Open Office Chart : zero values -Oracle Open Office Chart : zero values;displaying (Calc) -Oracle Open Office Chart : zooming -Oracle Open Office Chart : zooming;page views -Oracle Open Office Chart : zooming;pictures -Oracle Open Office Chart : zooming;status bar -Oracle Open Office Base : 1/2 replacement -Oracle Open Office Base : 3D text creation -Oracle Open Office Base : abbreviation replacement -Oracle Open Office Base : absolute hyperlinks -Oracle Open Office Base : absolute saving of URLs -Oracle Open Office Base : accents -Oracle Open Office Base : Access databases (base) -Oracle Open Office Base : access rights for database tables (Base) -Oracle Open Office Base : accessibility -Oracle Open Office Base : accessibility;general shortcuts -Oracle Open Office Base : accessibility;options -Oracle Open Office Base : accessibility;Oracle Open Office assistive technology -Oracle Open Office Base : accessibility;Oracle Open Office features -Oracle Open Office Base : activating -Oracle Open Office Base : activating;context menus -Oracle Open Office Base : activating;Error Report Tool -Oracle Open Office Base : activating;extended help tips -Oracle Open Office Base : activating;plug-ins -Oracle Open Office Base : ActiveX control -Oracle Open Office Base : Adabas D databases (base) -Oracle Open Office Base : add-ons, see UNO components -Oracle Open Office Base : additional selection mode -Oracle Open Office Base : address books -Oracle Open Office Base : address books;LDAP server (Base) -Oracle Open Office Base : address books;registering -Oracle Open Office Base : address labels from databases -Oracle Open Office Base : ADO databases (Base) -Oracle Open Office Base : Agenda Wizard -Oracle Open Office Base : aging filter -Oracle Open Office Base : aligning -Oracle Open Office Base : aligning;cells -Oracle Open Office Base : aligning;objects -Oracle Open Office Base : aligning;paragraphs -Oracle Open Office Base : aligning;tables in text -Oracle Open Office Base : aligning;text objects -Oracle Open Office Base : alternative fonts -Oracle Open Office Base : ampersand symbol, see also operators -Oracle Open Office Base : anchors -Oracle Open Office Base : anchors;changing -Oracle Open Office Base : anchors;displaying (Calc) -Oracle Open Office Base : anchors;types/positions for draw objects -Oracle Open Office Base : animations -Oracle Open Office Base : animations;accessibility options -Oracle Open Office Base : appearance options -Oracle Open Office Base : Arabic -Oracle Open Office Base : Arabic;entering text -Oracle Open Office Base : Arabic;language settings -Oracle Open Office Base : areas -Oracle Open Office Base : areas;bitmap patterns -Oracle Open Office Base : areas;hatched/dotted -Oracle Open Office Base : areas;shadows -Oracle Open Office Base : areas;slanting -Oracle Open Office Base : areas;styles -Oracle Open Office Base : areas;transparency -Oracle Open Office Base : arguments in command line -Oracle Open Office Base : arranging -Oracle Open Office Base : arranging;objects -Oracle Open Office Base : arrows -Oracle Open Office Base : arrows;defining arrow heads -Oracle Open Office Base : arrows;defining arrow lines -Oracle Open Office Base : arrows;drawing in text -Oracle Open Office Base : ASCII -Oracle Open Office Base : ASCII;definition -Oracle Open Office Base : Asian languages -Oracle Open Office Base : Asian languages;enabling -Oracle Open Office Base : Asian Phonetic Guide -Oracle Open Office Base : Asian typography -Oracle Open Office Base : assigning scripts -Oracle Open Office Base : assistive technology in Oracle Open Office -Oracle Open Office Base : attaching toolbars -Oracle Open Office Base : attachments in e-mails -Oracle Open Office Base : audio -Oracle Open Office Base : auto reloading HTML documents -Oracle Open Office Base : AutoAbstract function for sending text to presentations -Oracle Open Office Base : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Base : AutoComplete function in text and list boxes -Oracle Open Office Base : AutoCorrect function -Oracle Open Office Base : AutoCorrect function;context menu -Oracle Open Office Base : AutoCorrect function;options -Oracle Open Office Base : AutoCorrect function;pictures and frames -Oracle Open Office Base : AutoCorrect function;quotes -Oracle Open Office Base : AutoCorrect function;replacement table -Oracle Open Office Base : AutoCorrect function;switching on and off in Calc -Oracle Open Office Base : AutoCorrect function;URL recognition -Oracle Open Office Base : AutoFormat function -Oracle Open Office Base : AutoFormat function;switching on and off -Oracle Open Office Base : automatic captions (Writer) -Oracle Open Office Base : automatic control focus -Oracle Open Office Base : automatic hyperlink formatting -Oracle Open Office Base : automatic line breaks -Oracle Open Office Base : automatic lines/borders in text -Oracle Open Office Base : automatic saving -Oracle Open Office Base : AutoPilots, see wizards -Oracle Open Office Base : AutoValue (Base) -Oracle Open Office Base : axes in charts -Oracle Open Office Base : backgrounds -Oracle Open Office Base : backgrounds;defining colors/pictures -Oracle Open Office Base : backgrounds;frames/sections/indexes -Oracle Open Office Base : backgrounds;inserting from Gallery -Oracle Open Office Base : backgrounds;printing -Oracle Open Office Base : backing window -Oracle Open Office Base : backups -Oracle Open Office Base : backups;automatic -Oracle Open Office Base : backups;documents -Oracle Open Office Base : Basic -Oracle Open Office Base : Basic;fonts for source display -Oracle Open Office Base : Basic;programming -Oracle Open Office Base : Basic;recording macros -Oracle Open Office Base : basic fonts -Oracle Open Office Base : Bézier curves -Oracle Open Office Base : Bézier curves;control points in presentations -Oracle Open Office Base : bi-directional writing -Oracle Open Office Base : binding space -Oracle Open Office Base : bitmaps -Oracle Open Office Base : bitmaps;inserting and editing -Oracle Open Office Base : bitmaps;off for faster printing -Oracle Open Office Base : bitmaps;patterns -Oracle Open Office Base : black and white printing -Oracle Open Office Base : black printing in Calc -Oracle Open Office Base : block selection mode -Oracle Open Office Base : bold -Oracle Open Office Base : bold;AutoFormat function -Oracle Open Office Base : bold;text -Oracle Open Office Base : bookmarks -Oracle Open Office Base : bookmarks;Help -Oracle Open Office Base : borders -Oracle Open Office Base : borders;arranging -Oracle Open Office Base : borders;cells on screen (Calc) -Oracle Open Office Base : borders;for paragraphs -Oracle Open Office Base : borders;for tables -Oracle Open Office Base : borders;shadows -Oracle Open Office Base : borders;table boundaries (Writer) -Oracle Open Office Base : borders, see also frames -Oracle Open Office Base : bound fields -Oracle Open Office Base : bound fields;controls -Oracle Open Office Base : boundaries of tables (Writer) -Oracle Open Office Base : break display (Writer) -Oracle Open Office Base : brochures -Oracle Open Office Base : brochures;printing several -Oracle Open Office Base : build numbers of Oracle Open Office -Oracle Open Office Base : bullet lists -Oracle Open Office Base : bullet lists;formatting options -Oracle Open Office Base : bullets -Oracle Open Office Base : bullets;paragraphs -Oracle Open Office Base : bullets;replacing -Oracle Open Office Base : bullets;turning off -Oracle Open Office Base : business cards -Oracle Open Office Base : business cards;creating and synchronizing -Oracle Open Office Base : business cards;using templates -Oracle Open Office Base : button bars, see toolbars -Oracle Open Office Base : buttons -Oracle Open Office Base : buttons;adding push buttons -Oracle Open Office Base : buttons;big/small -Oracle Open Office Base : buttons;editing hyperlink buttons -Oracle Open Office Base : buttons;form functions -Oracle Open Office Base : buttons;toolbars -Oracle Open Office Base : cache for graphics -Oracle Open Office Base : calculating -Oracle Open Office Base : calculating;iterative references (Calc) -Oracle Open Office Base : callouts -Oracle Open Office Base : callouts;drawings -Oracle Open Office Base : capital letters -Oracle Open Office Base : capital letters;AutoCorrect function -Oracle Open Office Base : capital letters;font effects -Oracle Open Office Base : captions -Oracle Open Office Base : captions;automatic captions (Writer) -Oracle Open Office Base : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Base : captions, see also labels/callouts -Oracle Open Office Base : cascading update (Base) -Oracle Open Office Base : case sensitivity -Oracle Open Office Base : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Base : case sensitivity;searching -Oracle Open Office Base : cells -Oracle Open Office Base : cells;aligning -Oracle Open Office Base : cells;coloring (Calc) -Oracle Open Office Base : cells;cursor positions after input (Calc) -Oracle Open Office Base : cells;formatting without effect (Calc) -Oracle Open Office Base : cells;line breaks -Oracle Open Office Base : cells;linked to controls -Oracle Open Office Base : cells;number of -Oracle Open Office Base : cells;pasting -Oracle Open Office Base : cells;resetting formats -Oracle Open Office Base : cells;showing grid lines (Calc) -Oracle Open Office Base : centered text -Oracle Open Office Base : centimeters -Oracle Open Office Base : certificates -Oracle Open Office Base : changes -Oracle Open Office Base : changes;accepting or rejecting -Oracle Open Office Base : changes;comparing to original -Oracle Open Office Base : changes;protecting -Oracle Open Office Base : changes;recording -Oracle Open Office Base : changes;review function -Oracle Open Office Base : changes;showing -Oracle Open Office Base : changing -Oracle Open Office Base : changing;document titles -Oracle Open Office Base : changing;file associations in Setup program -Oracle Open Office Base : changing;icon sizes -Oracle Open Office Base : changing;links -Oracle Open Office Base : changing;work directory -Oracle Open Office Base : changing, see also editing and replacing -Oracle Open Office Base : character styles -Oracle Open Office Base : character styles;language selection -Oracle Open Office Base : characters -Oracle Open Office Base : characters;alternative fonts -Oracle Open Office Base : characters;Asian layout -Oracle Open Office Base : characters;bold -Oracle Open Office Base : characters;coloring -Oracle Open Office Base : characters;displaying only on screen (Writer) -Oracle Open Office Base : characters;enabling CTL and Asian characters -Oracle Open Office Base : characters;font effects -Oracle Open Office Base : characters;fonts and formats -Oracle Open Office Base : characters;hyperlinks -Oracle Open Office Base : characters;italics -Oracle Open Office Base : characters;language selection -Oracle Open Office Base : characters;shadowed -Oracle Open Office Base : characters;spacing -Oracle Open Office Base : characters;special -Oracle Open Office Base : characters;underlining -Oracle Open Office Base : charcoal sketches filter -Oracle Open Office Base : charts -Oracle Open Office Base : charts;arranging within stacks -Oracle Open Office Base : charts;bars with textures -Oracle Open Office Base : charts;colors -Oracle Open Office Base : charts;copying with link to source cell range -Oracle Open Office Base : charts;displaying (Calc) -Oracle Open Office Base : charts;editing axes -Oracle Open Office Base : charts;editing data -Oracle Open Office Base : charts;editing legends -Oracle Open Office Base : charts;editing titles -Oracle Open Office Base : charts;inserting -Oracle Open Office Base : charts;updating automatically (Writer) -Oracle Open Office Base : check box creation -Oracle Open Office Base : Chinese writing systems -Oracle Open Office Base : choosing printers -Oracle Open Office Base : circle drawings -Oracle Open Office Base : Client Side ImageMap -Oracle Open Office Base : clipboard -Oracle Open Office Base : clipboard;cutting -Oracle Open Office Base : clipboard;pasting -Oracle Open Office Base : clipboard;pasting formatted/unformatted text -Oracle Open Office Base : clipboard;selection clipboard -Oracle Open Office Base : clipboard;Unix -Oracle Open Office Base : closing -Oracle Open Office Base : closing;documents -Oracle Open Office Base : closing;toolbars -Oracle Open Office Base : collaboration -Oracle Open Office Base : color bar -Oracle Open Office Base : colors -Oracle Open Office Base : colors;adding -Oracle Open Office Base : colors;appearance -Oracle Open Office Base : colors;backgrounds -Oracle Open Office Base : colors;charts -Oracle Open Office Base : colors;fill format -Oracle Open Office Base : colors;fonts -Oracle Open Office Base : colors;grid lines and cells (Calc) -Oracle Open Office Base : colors;models -Oracle Open Office Base : colors;not printing -Oracle Open Office Base : colors;printing in grayscale -Oracle Open Office Base : colors;restriction (Calc) -Oracle Open Office Base : colors;selection -Oracle Open Office Base : column headers -Oracle Open Office Base : column headers;displaying (Calc) -Oracle Open Office Base : column headers;highlighting (Calc) -Oracle Open Office Base : columns -Oracle Open Office Base : columns;setting with the mouse -Oracle Open Office Base : combo box creation -Oracle Open Office Base : command button creation -Oracle Open Office Base : command buttons, see push buttons -Oracle Open Office Base : command line parameters -Oracle Open Office Base : commands -Oracle Open Office Base : commands;repeating -Oracle Open Office Base : commands;SQL -Oracle Open Office Base : comments -Oracle Open Office Base : comments;displaying (Calc) -Oracle Open Office Base : comments;inserting/editing/deleting/printing -Oracle Open Office Base : comments;on changes -Oracle Open Office Base : comments;printing in text -Oracle Open Office Base : common terms -Oracle Open Office Base : common terms;Chinese dictionary -Oracle Open Office Base : common terms;glossaries -Oracle Open Office Base : common terms;Internet glossary -Oracle Open Office Base : comparisons -Oracle Open Office Base : comparisons;document versions -Oracle Open Office Base : comparisons;operators in default filter dialog -Oracle Open Office Base : compatibility settings for MS Word import -Oracle Open Office Base : complete screen view -Oracle Open Office Base : complex text layout -Oracle Open Office Base : complex text layout;definition -Oracle Open Office Base : complex text layout;enabling -Oracle Open Office Base : complex text layout, see CTL -Oracle Open Office Base : compose key to insert special characters -Oracle Open Office Base : concatenation, see ampersand symbol -Oracle Open Office Base : conditional separators -Oracle Open Office Base : conditions -Oracle Open Office Base : conditions;in number formats -Oracle Open Office Base : conditions;items in Data Navigator -Oracle Open Office Base : Configuration Manager -Oracle Open Office Base : configuring -Oracle Open Office Base : configuring;fax icon -Oracle Open Office Base : configuring;Oracle Open Office -Oracle Open Office Base : configuring;toolbars -Oracle Open Office Base : connections to data sources (Base) -Oracle Open Office Base : contents protection -Oracle Open Office Base : context menus -Oracle Open Office Base : control point display in presentations -Oracle Open Office Base : controls -Oracle Open Office Base : controls;activating in forms -Oracle Open Office Base : controls;adding to documents -Oracle Open Office Base : controls;arranging in forms -Oracle Open Office Base : controls;arranging within stacks -Oracle Open Office Base : controls;assigning data sources -Oracle Open Office Base : controls;assigning macros (Basic) -Oracle Open Office Base : controls;bound fields/list contents/linked cells -Oracle Open Office Base : controls;events -Oracle Open Office Base : controls;focus -Oracle Open Office Base : controls;formatted fields -Oracle Open Office Base : controls;grouping -Oracle Open Office Base : controls;hidden -Oracle Open Office Base : controls;inserting -Oracle Open Office Base : controls;multi-line titles -Oracle Open Office Base : controls;positions and sizes -Oracle Open Office Base : controls;printing -Oracle Open Office Base : controls;properties of form controls -Oracle Open Office Base : controls;properties of table controls -Oracle Open Office Base : controls;reference by SQL -Oracle Open Office Base : controls;rich text control -Oracle Open Office Base : controls;select mode -Oracle Open Office Base : controls;showing (Writer) -Oracle Open Office Base : converters -Oracle Open Office Base : converters;Euro converter -Oracle Open Office Base : converters;PostScript, UNIX -Oracle Open Office Base : converters;XML -Oracle Open Office Base : converting -Oracle Open Office Base : converting;Hangul/Hanja -Oracle Open Office Base : converting;metrics -Oracle Open Office Base : converting;Microsoft documents -Oracle Open Office Base : converting;Oracle Open Office documents -Oracle Open Office Base : converting;Pocket PC formats -Oracle Open Office Base : copies -Oracle Open Office Base : copies;printing -Oracle Open Office Base : copying -Oracle Open Office Base : copying;by drag and drop -Oracle Open Office Base : copying;data from text documents -Oracle Open Office Base : copying;datasource records in spreadsheets -Oracle Open Office Base : copying;draw objects -Oracle Open Office Base : copying;draw objects between documents -Oracle Open Office Base : copying;formatting -Oracle Open Office Base : copying;from data source view -Oracle Open Office Base : copying;from Gallery -Oracle Open Office Base : copying;in Unix -Oracle Open Office Base : copying;pictures, between documents -Oracle Open Office Base : copying;sheet areas, to text documents -Oracle Open Office Base : copying;to Gallery -Oracle Open Office Base : copyright for Oracle Open Office -Oracle Open Office Base : corner roundings -Oracle Open Office Base : crash reports -Oracle Open Office Base : criteria of query design (Base) -Oracle Open Office Base : cropping pictures -Oracle Open Office Base : CTL -Oracle Open Office Base : CTL;(not) wrapping words -Oracle Open Office Base : CTL;complex text layout languages -Oracle Open Office Base : CTL;definition -Oracle Open Office Base : CTL;options -Oracle Open Office Base : currencies -Oracle Open Office Base : currencies;converters -Oracle Open Office Base : currencies;format codes -Oracle Open Office Base : currency field creation -Oracle Open Office Base : currency formats -Oracle Open Office Base : cursor -Oracle Open Office Base : cursor;allowing in protected areas (Writer) -Oracle Open Office Base : cursor;in read-only text -Oracle Open Office Base : cursor;quickly moving to an object -Oracle Open Office Base : curves -Oracle Open Office Base : curves;editing points -Oracle Open Office Base : custom dictionaries -Oracle Open Office Base : custom dictionaries;editing -Oracle Open Office Base : custom hyphens (Writer) -Oracle Open Office Base : custom quotes -Oracle Open Office Base : custom templates -Oracle Open Office Base : customizing -Oracle Open Office Base : customizing;events -Oracle Open Office Base : customizing;keyboard -Oracle Open Office Base : customizing;menus -Oracle Open Office Base : customizing;Oracle Open Office -Oracle Open Office Base : customizing;round corners -Oracle Open Office Base : customizing;toolbars -Oracle Open Office Base : cutting -Oracle Open Office Base : dashes -Oracle Open Office Base : data -Oracle Open Office Base : data;filtering in forms -Oracle Open Office Base : data;forms and subforms -Oracle Open Office Base : data;read-only -Oracle Open Office Base : data;sorting in forms -Oracle Open Office Base : data;user data -Oracle Open Office Base : data binding change in XForms -Oracle Open Office Base : Data Navigator -Oracle Open Office Base : Data Navigator;adding/editing items -Oracle Open Office Base : Data Navigator;display options -Oracle Open Office Base : data source browser -Oracle Open Office Base : data source explorer -Oracle Open Office Base : data source view -Oracle Open Office Base : data source view;drag and drop -Oracle Open Office Base : data source view;overview -Oracle Open Office Base : data source view;showing -Oracle Open Office Base : data sources -Oracle Open Office Base : data sources;as tables -Oracle Open Office Base : data sources;connection settings (Base) -Oracle Open Office Base : data sources;copying records to spreadsheets -Oracle Open Office Base : data sources;displaying current -Oracle Open Office Base : data sources;LDAP server (Base) -Oracle Open Office Base : data sources;Oracle Open Office Base -Oracle Open Office Base : data sources;registering address books -Oracle Open Office Base : data sources;reports -Oracle Open Office Base : data sources;viewing -Oracle Open Office Base : data structure of XForms -Oracle Open Office Base : data, see also values -Oracle Open Office Base : database contents -Oracle Open Office Base : database contents;inserting as tables -Oracle Open Office Base : database contents;inserting as text -Oracle Open Office Base : database reports -Oracle Open Office Base : Database Wizard (Base) -Oracle Open Office Base : databases -Oracle Open Office Base : databases;administration through SQL (Base) -Oracle Open Office Base : databases;ADO (Base) -Oracle Open Office Base : databases;connecting (Base) -Oracle Open Office Base : databases;creating -Oracle Open Office Base : databases;creating labels -Oracle Open Office Base : databases;creating queries -Oracle Open Office Base : databases;creating reports -Oracle Open Office Base : databases;creating tables -Oracle Open Office Base : databases;deleting (Base) -Oracle Open Office Base : databases;drag and drop (Base) -Oracle Open Office Base : databases;editing tables -Oracle Open Office Base : databases;form filters -Oracle Open Office Base : databases;formats (Base) -Oracle Open Office Base : databases;importing/exporting -Oracle Open Office Base : databases;JDBC (Base) -Oracle Open Office Base : databases;main page (Base) -Oracle Open Office Base : databases;ODBC (Base) -Oracle Open Office Base : databases;overview -Oracle Open Office Base : databases;registering (Base) -Oracle Open Office Base : databases;searching records -Oracle Open Office Base : databases;shortcut keys -Oracle Open Office Base : databases;sorting -Oracle Open Office Base : databases;standard filters -Oracle Open Office Base : databases;text formats -Oracle Open Office Base : databases;viewing -Oracle Open Office Base : date fields -Oracle Open Office Base : date fields;creating -Oracle Open Office Base : date fields;properties -Oracle Open Office Base : date formats -Oracle Open Office Base : dates -Oracle Open Office Base : dates;default (Calc) -Oracle Open Office Base : dates;printing in presentations -Oracle Open Office Base : dates;start 1900/01/01 (Calc) -Oracle Open Office Base : dates;start 1904/01/01 (Calc) -Oracle Open Office Base : dBASE -Oracle Open Office Base : dBASE;database settings (Base) -Oracle Open Office Base : DDE -Oracle Open Office Base : DDE;definition -Oracle Open Office Base : deactivating -Oracle Open Office Base : deactivating;plug-ins -Oracle Open Office Base : decimal places displayed (Calc) -Oracle Open Office Base : decimal separator key -Oracle Open Office Base : decimal tab stops -Oracle Open Office Base : default directories -Oracle Open Office Base : default filters -Oracle Open Office Base : default filters;comparison operators -Oracle Open Office Base : default filters;databases -Oracle Open Office Base : default printer -Oracle Open Office Base : default printer;setting up -Oracle Open Office Base : default printer;UNIX -Oracle Open Office Base : default templates -Oracle Open Office Base : default templates;changing -Oracle Open Office Base : default templates;organizing -Oracle Open Office Base : defaults -Oracle Open Office Base : defaults;documents -Oracle Open Office Base : defaults;file formats in file dialogs -Oracle Open Office Base : defaults;file formats in Oracle Open Office -Oracle Open Office Base : defaults;fonts -Oracle Open Office Base : defaults;grids (Writer/Calc) -Oracle Open Office Base : defaults;languages -Oracle Open Office Base : defaults;number formats -Oracle Open Office Base : defaults;of saving -Oracle Open Office Base : defaults;program configuration -Oracle Open Office Base : defaults;tab stops in text -Oracle Open Office Base : defaults;views -Oracle Open Office Base : defining -Oracle Open Office Base : defining;arrowheads and other line ends -Oracle Open Office Base : defining;colors -Oracle Open Office Base : defining;line styles -Oracle Open Office Base : defining;paragraph borders -Oracle Open Office Base : defining;queries (Base) -Oracle Open Office Base : defining;table borders -Oracle Open Office Base : deleting -Oracle Open Office Base : deleting;all direct formatting -Oracle Open Office Base : deleting;comments -Oracle Open Office Base : deleting;databases (Base) -Oracle Open Office Base : deleting;hyperlinks -Oracle Open Office Base : deleting;lines in text -Oracle Open Office Base : deleting;models/instances -Oracle Open Office Base : deleting;namespaces in XForms -Oracle Open Office Base : deleting;tab stops -Oracle Open Office Base : deleting;templates -Oracle Open Office Base : deleting;XML filters -Oracle Open Office Base : depth stagger -Oracle Open Office Base : descriptions for objects -Oracle Open Office Base : design mode after saving -Oracle Open Office Base : design view -Oracle Open Office Base : design view;creating forms -Oracle Open Office Base : design view;queries/views (Base) -Oracle Open Office Base : designing -Oracle Open Office Base : designing;database tables -Oracle Open Office Base : designing;fonts -Oracle Open Office Base : designing;queries (Base) -Oracle Open Office Base : detaching toolbars -Oracle Open Office Base : dictionaries -Oracle Open Office Base : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Base : dictionaries;creating -Oracle Open Office Base : dictionaries;editing user-defined -Oracle Open Office Base : dictionaries;spellcheck -Oracle Open Office Base : dictionaries, see also languages -Oracle Open Office Base : digital signatures -Oracle Open Office Base : digital signatures;getting/managing/applying -Oracle Open Office Base : digital signatures;overview -Oracle Open Office Base : digital signatures;WebDAV over HTTPS -Oracle Open Office Base : direct formatting -Oracle Open Office Base : direct formatting;undoing all -Oracle Open Office Base : directories -Oracle Open Office Base : directories;creating new -Oracle Open Office Base : directories;directory structure -Oracle Open Office Base : disabled persons -Oracle Open Office Base : displaying -Oracle Open Office Base : displaying;comments (Calc) -Oracle Open Office Base : displaying;comments in text documents -Oracle Open Office Base : displaying;non-printing characters (Writer) -Oracle Open Office Base : displaying;pictures and objects (Writer) -Oracle Open Office Base : displaying;tables (Writer) -Oracle Open Office Base : displaying;zero values (Calc) -Oracle Open Office Base : distances -Oracle Open Office Base : distinct values in SQL queries -Oracle Open Office Base : distorting in drawings -Oracle Open Office Base : distributing XML filters -Oracle Open Office Base : docking -Oracle Open Office Base : docking;definition -Oracle Open Office Base : docking;toolbars -Oracle Open Office Base : docking;windows -Oracle Open Office Base : Document Converter Wizard -Oracle Open Office Base : Document Map, see Navigator -Oracle Open Office Base : document types in Oracle Open Office -Oracle Open Office Base : documents -Oracle Open Office Base : documents;changing titles -Oracle Open Office Base : documents;closing -Oracle Open Office Base : documents;comparing -Oracle Open Office Base : documents;contents as lists -Oracle Open Office Base : documents;editing time -Oracle Open Office Base : documents;exporting -Oracle Open Office Base : documents;importing -Oracle Open Office Base : documents;languages -Oracle Open Office Base : documents;measurement units in -Oracle Open Office Base : documents;merging -Oracle Open Office Base : documents;number of pages/tables/sheets -Oracle Open Office Base : documents;opening -Oracle Open Office Base : documents;opening in design mode -Oracle Open Office Base : documents;opening with templates -Oracle Open Office Base : documents;organizing -Oracle Open Office Base : documents;printing -Oracle Open Office Base : documents;read-only -Oracle Open Office Base : documents;reloading -Oracle Open Office Base : documents;saving -Oracle Open Office Base : documents;saving automatically -Oracle Open Office Base : documents;saving in other formats -Oracle Open Office Base : documents;sending as e-mail -Oracle Open Office Base : documents;styles changed -Oracle Open Office Base : documents;version management -Oracle Open Office Base : documents;version numbers -Oracle Open Office Base : dotted areas -Oracle Open Office Base : double-line spacing in paragraphs -Oracle Open Office Base : double-line writing in Asian layout -Oracle Open Office Base : drag and drop -Oracle Open Office Base : drag and drop;copying and pasting text -Oracle Open Office Base : drag and drop;data source view -Oracle Open Office Base : drag and drop;from Gallery to draw objects -Oracle Open Office Base : drag and drop;overview -Oracle Open Office Base : drag and drop;pictures -Oracle Open Office Base : drag and drop;to Gallery -Oracle Open Office Base : draw objects -Oracle Open Office Base : draw objects;adding/editing/copying -Oracle Open Office Base : draw objects;anchoring -Oracle Open Office Base : draw objects;arranging within stacks -Oracle Open Office Base : draw objects;copying between documents -Oracle Open Office Base : draw objects;displaying (Calc) -Oracle Open Office Base : draw objects;dropping Gallery pictures -Oracle Open Office Base : draw objects;flipping -Oracle Open Office Base : draw objects;legends -Oracle Open Office Base : draw objects;positioning and resizing -Oracle Open Office Base : draw objects;protecting -Oracle Open Office Base : draw objects;slanting -Oracle Open Office Base : draw objects;text in -Oracle Open Office Base : Drawing bar -Oracle Open Office Base : drawing lines in text -Oracle Open Office Base : drawings -Oracle Open Office Base : drawings;creating/opening -Oracle Open Office Base : drawings;languages -Oracle Open Office Base : drawings;printing -Oracle Open Office Base : drawings;printing defaults -Oracle Open Office Base : drawings;printing in text documents -Oracle Open Office Base : drawings;saving -Oracle Open Office Base : drawings;saving automatically -Oracle Open Office Base : drawings;saving in other formats -Oracle Open Office Base : drawings;sending as e-mail -Oracle Open Office Base : drawings;showing (Writer) -Oracle Open Office Base : drawings, see also draw objects -Oracle Open Office Base : drop-down lists in form functions -Oracle Open Office Base : e-mail attachments -Oracle Open Office Base : Edit File icon -Oracle Open Office Base : edit mode -Oracle Open Office Base : edit mode;after opening -Oracle Open Office Base : edit mode;through Enter key (Calc) -Oracle Open Office Base : Edit Points bar -Oracle Open Office Base : editing -Oracle Open Office Base : editing;chart axes -Oracle Open Office Base : editing;chart data -Oracle Open Office Base : editing;chart legends -Oracle Open Office Base : editing;chart titles -Oracle Open Office Base : editing;comments -Oracle Open Office Base : editing;data binding of XForms -Oracle Open Office Base : editing;database tables and queries -Oracle Open Office Base : editing;draw objects -Oracle Open Office Base : editing;Fontwork objects -Oracle Open Office Base : editing;hyperlinks -Oracle Open Office Base : editing;menus -Oracle Open Office Base : editing;objects -Oracle Open Office Base : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Base : editing;pictures -Oracle Open Office Base : editing;reports -Oracle Open Office Base : editing;shortcut keys -Oracle Open Office Base : editing;tab stops -Oracle Open Office Base : editing;templates -Oracle Open Office Base : editing;toolbars -Oracle Open Office Base : editing;undoing -Oracle Open Office Base : editing;XForms -Oracle Open Office Base : editing time of documents -Oracle Open Office Base : editors -Oracle Open Office Base : editors;formula editor -Oracle Open Office Base : editors;ImageMap editor -Oracle Open Office Base : effects -Oracle Open Office Base : effects;font positions -Oracle Open Office Base : effects;fonts -Oracle Open Office Base : effects;Fontwork icons -Oracle Open Office Base : empty documents -Oracle Open Office Base : empty paragraph removal -Oracle Open Office Base : encryption of contents -Oracle Open Office Base : entering groups -Oracle Open Office Base : entering text from right to left -Oracle Open Office Base : equal sign, see also operators -Oracle Open Office Base : equations in formula editor -Oracle Open Office Base : Error Report Tool -Oracle Open Office Base : Euro -Oracle Open Office Base : Euro;currency formats -Oracle Open Office Base : Euro;Euro Converter Wizard -Oracle Open Office Base : even/odd pages -Oracle Open Office Base : even/odd pages;printing -Oracle Open Office Base : events -Oracle Open Office Base : events;assigning scripts -Oracle Open Office Base : events;controls -Oracle Open Office Base : events;customizing -Oracle Open Office Base : events;in forms -Oracle Open Office Base : Excel -Oracle Open Office Base : Excel;saving as -Oracle Open Office Base : Excel;search criteria -Oracle Open Office Base : exceptions -Oracle Open Office Base : exceptions;user-defined dictionaries -Oracle Open Office Base : exchanging, see also replacing -Oracle Open Office Base : executing SQL commands -Oracle Open Office Base : exiting -Oracle Open Office Base : exiting;groups -Oracle Open Office Base : exiting;Oracle Open Office -Oracle Open Office Base : expanding formatting (Calc) -Oracle Open Office Base : explorer of data sources -Oracle Open Office Base : export filters -Oracle Open Office Base : exporting -Oracle Open Office Base : exporting;bitmaps -Oracle Open Office Base : exporting;HTML and text documents -Oracle Open Office Base : exporting;Microsoft Office documents with VBA code -Oracle Open Office Base : exporting;spreadsheets to text format -Oracle Open Office Base : exporting;templates -Oracle Open Office Base : exporting;to foreign formats -Oracle Open Office Base : exporting;to HTML -Oracle Open Office Base : exporting;to Microsoft Office formats -Oracle Open Office Base : exporting;to PDF -Oracle Open Office Base : exporting;to PostScript format -Oracle Open Office Base : exporting;to XML -Oracle Open Office Base : exporting;XML files -Oracle Open Office Base : extended tips in Help -Oracle Open Office Base : extension mode in text -Oracle Open Office Base : extensions -Oracle Open Office Base : extensions;Extension Manager -Oracle Open Office Base : extensions;file formats -Oracle Open Office Base : external keys (Base) -Oracle Open Office Base : faster printing -Oracle Open Office Base : faxes -Oracle Open Office Base : faxes;configuring Oracle Open Office -Oracle Open Office Base : faxes;fax programs/fax printers under UNIX -Oracle Open Office Base : faxes;selecting a fax machine -Oracle Open Office Base : faxes;sending -Oracle Open Office Base : faxes;wizards -Oracle Open Office Base : feedback -Oracle Open Office Base : feedback;automatically -Oracle Open Office Base : fields -Oracle Open Office Base : fields;database tables -Oracle Open Office Base : fields;displaying field codes (Writer) -Oracle Open Office Base : fields;formatted fields -Oracle Open Office Base : fields;updating automatically (Writer) -Oracle Open Office Base : file associations for Microsoft Office -Oracle Open Office Base : file filters -Oracle Open Office Base : file filters;mobile devices -Oracle Open Office Base : file filters;XML -Oracle Open Office Base : file formats -Oracle Open Office Base : file formats;changing Oracle Open Office defaults -Oracle Open Office Base : file formats;OpenDocument/XML -Oracle Open Office Base : file formats;saving always in other formats -Oracle Open Office Base : file selection button -Oracle Open Office Base : file sharing options for current document -Oracle Open Office Base : files -Oracle Open Office Base : files;filters and formats -Oracle Open Office Base : files;importing -Oracle Open Office Base : files;opening -Oracle Open Office Base : files;opening with placeholders -Oracle Open Office Base : files;properties -Oracle Open Office Base : files;saving -Oracle Open Office Base : files;saving automatically -Oracle Open Office Base : files;saving in other formats -Oracle Open Office Base : files;sending as e-mail -Oracle Open Office Base : files;version numbers -Oracle Open Office Base : files and folders in Oracle Open Office -Oracle Open Office Base : fill characters with tabulators -Oracle Open Office Base : fill colors for areas -Oracle Open Office Base : fill patterns for areas -Oracle Open Office Base : filter conditions -Oracle Open Office Base : filter conditions;connecting -Oracle Open Office Base : filter conditions;in queries (Base) -Oracle Open Office Base : filtering -Oracle Open Office Base : filtering;data in databases -Oracle Open Office Base : filtering;data in forms -Oracle Open Office Base : filters -Oracle Open Office Base : filters;comparison operators -Oracle Open Office Base : filters;for import and export -Oracle Open Office Base : filters;Navigator -Oracle Open Office Base : filters;pictures -Oracle Open Office Base : filters;XML filter settings -Oracle Open Office Base : Find tab in Help -Oracle Open Office Base : finding -Oracle Open Office Base : finding;in all sheets -Oracle Open Office Base : finding;records in form documents -Oracle Open Office Base : finding;selections -Oracle Open Office Base : finding;similarity search -Oracle Open Office Base : fitting to pages -Oracle Open Office Base : fitting to pages;print settings in Math -Oracle Open Office Base : fitting to pages;print settings in presentations -Oracle Open Office Base : fixed text -Oracle Open Office Base : fixed text;form functions -Oracle Open Office Base : fixing toolbars -Oracle Open Office Base : flipping draw objects -Oracle Open Office Base : floating frames in HTML documents -Oracle Open Office Base : floating toolbars -Oracle Open Office Base : focus of controls -Oracle Open Office Base : folder creation -Oracle Open Office Base : font lists -Oracle Open Office Base : font name box -Oracle Open Office Base : font sizes -Oracle Open Office Base : font sizes;bullets -Oracle Open Office Base : font sizes;relative changes -Oracle Open Office Base : font sizes;scaling on screen -Oracle Open Office Base : font sizes;text -Oracle Open Office Base : fonts -Oracle Open Office Base : fonts;adding under UNIX -Oracle Open Office Base : fonts;changing in templates -Oracle Open Office Base : fonts;colors -Oracle Open Office Base : fonts;default settings -Oracle Open Office Base : fonts;effects -Oracle Open Office Base : fonts;for HTML and Basic -Oracle Open Office Base : fonts;formats -Oracle Open Office Base : fonts;outlines -Oracle Open Office Base : fonts;positions in text -Oracle Open Office Base : fonts;shadows -Oracle Open Office Base : fonts;specifying several -Oracle Open Office Base : fonts;strikethrough -Oracle Open Office Base : fonts;styles -Oracle Open Office Base : fonts;text objects -Oracle Open Office Base : Fontwork icons -Oracle Open Office Base : footers -Oracle Open Office Base : footers;backgrounds -Oracle Open Office Base : form controls -Oracle Open Office Base : form controls;assigning macros -Oracle Open Office Base : form controls;protecting -Oracle Open Office Base : form controls;toolbars -Oracle Open Office Base : form fields -Oracle Open Office Base : form filters -Oracle Open Office Base : Form Navigator -Oracle Open Office Base : format codes -Oracle Open Office Base : format codes;numbers -Oracle Open Office Base : format filling printing in Oracle Open Office Math -Oracle Open Office Base : Format Paintbrush -Oracle Open Office Base : formats -Oracle Open Office Base : formats;Asian layout -Oracle Open Office Base : formats;fonts -Oracle Open Office Base : formats;maximizing page formats -Oracle Open Office Base : formats;number and currency formats -Oracle Open Office Base : formats;of currencies/date/time -Oracle Open Office Base : formats;on opening and saving -Oracle Open Office Base : formats;pasting in special formats -Oracle Open Office Base : formats;positions -Oracle Open Office Base : formats;tabulators -Oracle Open Office Base : formatted fields -Oracle Open Office Base : formatted fields;form functions -Oracle Open Office Base : formatted fields;properties -Oracle Open Office Base : formatting -Oracle Open Office Base : formatting;Asian typography -Oracle Open Office Base : formatting;axes in charts -Oracle Open Office Base : formatting;chart legends -Oracle Open Office Base : formatting;copying -Oracle Open Office Base : formatting;definition -Oracle Open Office Base : formatting;expanding (Calc) -Oracle Open Office Base : formatting;font effects -Oracle Open Office Base : formatting;hyperlinks -Oracle Open Office Base : formatting;pages -Oracle Open Office Base : formatting;printer metrics (Writer) -Oracle Open Office Base : formatting;undoing -Oracle Open Office Base : formatting;undoing when writing -Oracle Open Office Base : forms -Oracle Open Office Base : forms;browsing -Oracle Open Office Base : forms;Combo Box/List Box Wizard -Oracle Open Office Base : forms;creating -Oracle Open Office Base : forms;data -Oracle Open Office Base : forms;designing (Base) -Oracle Open Office Base : forms;events -Oracle Open Office Base : forms;filtering data -Oracle Open Office Base : forms;finding records -Oracle Open Office Base : forms;focus after opening -Oracle Open Office Base : forms;general information (Base) -Oracle Open Office Base : forms;grouping controls -Oracle Open Office Base : forms;HTML filters -Oracle Open Office Base : forms;Navigator -Oracle Open Office Base : forms;opening in design mode -Oracle Open Office Base : forms;properties -Oracle Open Office Base : forms;sorting data -Oracle Open Office Base : forms;subforms -Oracle Open Office Base : forms;wizards -Oracle Open Office Base : forms;XForms -Oracle Open Office Base : formula texts -Oracle Open Office Base : formula texts;printing in Oracle Open Office Math -Oracle Open Office Base : formulas -Oracle Open Office Base : formulas;new -Oracle Open Office Base : formulas;starting formula editor -Oracle Open Office Base : formulas in reports -Oracle Open Office Base : formulas in reports;editing -Oracle Open Office Base : forums and support -Oracle Open Office Base : frames -Oracle Open Office Base : frames;around paragraphs -Oracle Open Office Base : frames;around tables -Oracle Open Office Base : frames;AutoCorrect function -Oracle Open Office Base : frames;backgrounds -Oracle Open Office Base : frames;captions (Writer) -Oracle Open Office Base : frames;printing in Oracle Open Office Math -Oracle Open Office Base : frames;protecting -Oracle Open Office Base : frames;selection frames -Oracle Open Office Base : frames;text fitting to frames -Oracle Open Office Base : freeform lines -Oracle Open Office Base : freeform lines;draw functions -Oracle Open Office Base : FTP -Oracle Open Office Base : FTP;opening documents -Oracle Open Office Base : FTP;saving documents -Oracle Open Office Base : full joins (Base) -Oracle Open Office Base : full screen view -Oracle Open Office Base : full-text search in Help -Oracle Open Office Base : functions in reports -Oracle Open Office Base : functions in reports;editing -Oracle Open Office Base : Gallery -Oracle Open Office Base : Gallery;adding pictures -Oracle Open Office Base : Gallery;dragging pictures to draw objects -Oracle Open Office Base : Gallery;hiding/showing -Oracle Open Office Base : Gallery;inserting pictures from -Oracle Open Office Base : get method for form transmissions -Oracle Open Office Base : getting support -Oracle Open Office Base : GIF format -Oracle Open Office Base : glossaries -Oracle Open Office Base : glossaries;common terms -Oracle Open Office Base : glossaries;Internet terms -Oracle Open Office Base : gradients off for faster printing -Oracle Open Office Base : graphic objects, see draw objects -Oracle Open Office Base : graphical text art -Oracle Open Office Base : graphics -Oracle Open Office Base : graphics;cache -Oracle Open Office Base : graphics;protecting -Oracle Open Office Base : graphics, see also pictures -Oracle Open Office Base : grayscale printing -Oracle Open Office Base : grid controls -Oracle Open Office Base : grid controls;form functions -Oracle Open Office Base : grids -Oracle Open Office Base : grids;defaults (Writer/Calc) -Oracle Open Office Base : grids;display options (Impress/Draw) -Oracle Open Office Base : grids;displaying lines (Calc) -Oracle Open Office Base : group box creation -Oracle Open Office Base : groups -Oracle Open Office Base : groups;entering/exiting/ungrouping -Oracle Open Office Base : groups;naming -Oracle Open Office Base : groups;of controls -Oracle Open Office Base : guides -Oracle Open Office Base : guides;display options (Impress/Draw) -Oracle Open Office Base : guides;displaying when moving objects (Impress) -Oracle Open Office Base : guides;showing (Calc) -Oracle Open Office Base : guides;showing when moving frames (Writer) -Oracle Open Office Base : gutter -Oracle Open Office Base : handles -Oracle Open Office Base : handles;displaying (Writer) -Oracle Open Office Base : handles;scaling -Oracle Open Office Base : handles;showing simple/large handles (Calc) -Oracle Open Office Base : Hangul/Hanja -Oracle Open Office Base : hatching -Oracle Open Office Base : headers -Oracle Open Office Base : headers;backgrounds -Oracle Open Office Base : headings -Oracle Open Office Base : headings;entering as text box -Oracle Open Office Base : Hebrew -Oracle Open Office Base : Hebrew;entering text -Oracle Open Office Base : Hebrew;language settings -Oracle Open Office Base : Help -Oracle Open Office Base : Help;bookmarks -Oracle Open Office Base : Help;extended tips on/off -Oracle Open Office Base : Help;full-text search -Oracle Open Office Base : Help;Help tips -Oracle Open Office Base : Help;keywords -Oracle Open Office Base : Help;navigation pane showing/hiding -Oracle Open Office Base : Help;style sheets -Oracle Open Office Base : Help;topics -Oracle Open Office Base : Help Agent -Oracle Open Office Base : Help Agent;help -Oracle Open Office Base : Help Agent;options -Oracle Open Office Base : Help tips -Oracle Open Office Base : Help tips;hiding -Oracle Open Office Base : hidden controls in Form Navigator -Oracle Open Office Base : hidden fields display (Writer) -Oracle Open Office Base : hidden pages -Oracle Open Office Base : hidden pages;printing in presentations -Oracle Open Office Base : hidden text -Oracle Open Office Base : hidden text;showing (Writer) -Oracle Open Office Base : hiding -Oracle Open Office Base : hiding;changes -Oracle Open Office Base : hiding;docked windows -Oracle Open Office Base : hiding;navigation pane in Help window -Oracle Open Office Base : high contrast mode -Oracle Open Office Base : Hindi -Oracle Open Office Base : Hindi;entering text -Oracle Open Office Base : Hindi;language settings -Oracle Open Office Base : horizontal scrollbars (Writer) -Oracle Open Office Base : hotspots -Oracle Open Office Base : HTML -Oracle Open Office Base : HTML;definition -Oracle Open Office Base : HTML;export character set -Oracle Open Office Base : HTML;fonts for source display -Oracle Open Office Base : HTML;importing META tags -Oracle Open Office Base : HTML;live presentations -Oracle Open Office Base : HTML documents -Oracle Open Office Base : HTML documents;auto reloading -Oracle Open Office Base : HTML documents;importing/exporting -Oracle Open Office Base : HTML documents;META tags in -Oracle Open Office Base : HTML documents;new -Oracle Open Office Base : HTML documents;source text -Oracle Open Office Base : hyperlinks -Oracle Open Office Base : hyperlinks;assigning macros -Oracle Open Office Base : hyperlinks;character formats -Oracle Open Office Base : hyperlinks;definition -Oracle Open Office Base : hyperlinks;deleting -Oracle Open Office Base : hyperlinks;editing -Oracle Open Office Base : hyperlinks;inserting -Oracle Open Office Base : hyperlinks;relative and absolute -Oracle Open Office Base : hyperlinks;turning off automatic recognition -Oracle Open Office Base : hyperlinks, see also links -Oracle Open Office Base : hyphenation -Oracle Open Office Base : hyphenation;activating for a language -Oracle Open Office Base : hyphenation;minimal number of characters -Oracle Open Office Base : hyphens -Oracle Open Office Base : hyphens;displaying custom (Writer) -Oracle Open Office Base : hyphens;inserting custom -Oracle Open Office Base : icon bars, see toolbars -Oracle Open Office Base : icon sizes -Oracle Open Office Base : ignore list for spellcheck -Oracle Open Office Base : illustrations, see pictures -Oracle Open Office Base : image button creation -Oracle Open Office Base : image control creation -Oracle Open Office Base : ImageMap -Oracle Open Office Base : ImageMap;definition -Oracle Open Office Base : ImageMap;editor -Oracle Open Office Base : images -Oracle Open Office Base : images;ImageMap -Oracle Open Office Base : images;inserting and editing bitmaps -Oracle Open Office Base : images, see also pictures -Oracle Open Office Base : IME -Oracle Open Office Base : IME;definition -Oracle Open Office Base : IME;showing/hiding -Oracle Open Office Base : import filters -Oracle Open Office Base : import restrictions for Microsoft Office -Oracle Open Office Base : importing -Oracle Open Office Base : importing;bitmaps -Oracle Open Office Base : importing;compatibility settings for text import -Oracle Open Office Base : importing;databases -Oracle Open Office Base : importing;documents in other formats -Oracle Open Office Base : importing;from XML -Oracle Open Office Base : importing;HTML and text documents -Oracle Open Office Base : importing;HTML with META tags -Oracle Open Office Base : importing;Microsoft Office documents with VBA code -Oracle Open Office Base : importing;tables in text format -Oracle Open Office Base : importing;templates -Oracle Open Office Base : improvement program -Oracle Open Office Base : inches -Oracle Open Office Base : Index tab in Help -Oracle Open Office Base : indexes -Oracle Open Office Base : indexes;backgrounds -Oracle Open Office Base : indexes;showing/hiding Help index tab -Oracle Open Office Base : indicator lines in text -Oracle Open Office Base : inner joins (Base) -Oracle Open Office Base : input method window -Oracle Open Office Base : insert mode for entering text -Oracle Open Office Base : inserting -Oracle Open Office Base : inserting;buttons in toolbars -Oracle Open Office Base : inserting;cell ranges from spreadsheets -Oracle Open Office Base : inserting;charts -Oracle Open Office Base : inserting;clipboard options -Oracle Open Office Base : inserting;comments -Oracle Open Office Base : inserting;data from text documents -Oracle Open Office Base : inserting;datasource records in spreadsheets -Oracle Open Office Base : inserting;drawings -Oracle Open Office Base : inserting;floating frames -Oracle Open Office Base : inserting;Fontwork objects -Oracle Open Office Base : inserting;form fields -Oracle Open Office Base : inserting;hyperlinks -Oracle Open Office Base : inserting;line breaks in cells -Oracle Open Office Base : inserting;movies/sounds -Oracle Open Office Base : inserting;new text tables defaults -Oracle Open Office Base : inserting;objects from Gallery -Oracle Open Office Base : inserting;OLE objects -Oracle Open Office Base : inserting;paragraph borders -Oracle Open Office Base : inserting;paragraph bullets -Oracle Open Office Base : inserting;pictures in Gallery -Oracle Open Office Base : inserting;plug-ins -Oracle Open Office Base : inserting;push buttons -Oracle Open Office Base : inserting;special characters -Oracle Open Office Base : inserting;tab stops -Oracle Open Office Base : inserting;textures on chart bars -Oracle Open Office Base : installing -Oracle Open Office Base : installing;ActiveX control -Oracle Open Office Base : installing;mobile device filters -Oracle Open Office Base : installing;UNO components -Oracle Open Office Base : installing;XML filters -Oracle Open Office Base : instructions -Oracle Open Office Base : instructions;general -Oracle Open Office Base : Internet -Oracle Open Office Base : Internet;checking for updates -Oracle Open Office Base : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Base : Internet;presentations -Oracle Open Office Base : Internet;starting searches -Oracle Open Office Base : Internet glossary -Oracle Open Office Base : invert filter -Oracle Open Office Base : invisible areas -Oracle Open Office Base : italic text -Oracle Open Office Base : iterative references in spreadsheets -Oracle Open Office Base : Java -Oracle Open Office Base : Java;definition -Oracle Open Office Base : Java;setting options -Oracle Open Office Base : JDBC -Oracle Open Office Base : JDBC;databases (Base) -Oracle Open Office Base : JDBC;definition -Oracle Open Office Base : joining -Oracle Open Office Base : joining;paragraphs -Oracle Open Office Base : joining;tables (Base) -Oracle Open Office Base : joins in databases (Base) -Oracle Open Office Base : justifying text -Oracle Open Office Base : kerning -Oracle Open Office Base : kerning;Asian texts -Oracle Open Office Base : kerning;definition -Oracle Open Office Base : kerning;in characters -Oracle Open Office Base : key fields for relations (Base) -Oracle Open Office Base : keyboard -Oracle Open Office Base : keyboard;assigning/editing shortcut keys -Oracle Open Office Base : keyboard;general commands -Oracle Open Office Base : keyboard;removing numbering -Oracle Open Office Base : keys -Oracle Open Office Base : keys;adding push buttons -Oracle Open Office Base : keys;primary keys (Base) -Oracle Open Office Base : kiosk export -Oracle Open Office Base : labels -Oracle Open Office Base : labels;creating and synchronizing -Oracle Open Office Base : labels;for draw objects -Oracle Open Office Base : labels;form functions -Oracle Open Office Base : labels;from databases -Oracle Open Office Base : labels, see also names/callouts -Oracle Open Office Base : languages -Oracle Open Office Base : languages;activating modules -Oracle Open Office Base : languages;Asian support -Oracle Open Office Base : languages;complex text layout -Oracle Open Office Base : languages;locale settings -Oracle Open Office Base : languages;selecting for text -Oracle Open Office Base : languages;setting options -Oracle Open Office Base : languages;spellcheck -Oracle Open Office Base : languages;spellchecking and formatting -Oracle Open Office Base : large handles (Writer) -Oracle Open Office Base : large icons -Oracle Open Office Base : layer arrangement -Oracle Open Office Base : layout -Oracle Open Office Base : layout;importing Word documents -Oracle Open Office Base : layout;pages -Oracle Open Office Base : LDAP server -Oracle Open Office Base : LDAP server;address books (Base) -Oracle Open Office Base : LDAP server;sign on options -Oracle Open Office Base : leading between paragraphs -Oracle Open Office Base : left alignment of paragraphs -Oracle Open Office Base : left joins (Base) -Oracle Open Office Base : legends -Oracle Open Office Base : legends;charts -Oracle Open Office Base : legends;draw objects -Oracle Open Office Base : legends;rounding corners -Oracle Open Office Base : Letter Wizard -Oracle Open Office Base : levels -Oracle Open Office Base : levels;depth stagger -Oracle Open Office Base : levels;macro security -Oracle Open Office Base : limits of tables (Writer) -Oracle Open Office Base : line breaks -Oracle Open Office Base : line breaks;in cells -Oracle Open Office Base : line spacing -Oracle Open Office Base : line spacing;context menu in paragraphs -Oracle Open Office Base : line spacing;paragraph -Oracle Open Office Base : line styles -Oracle Open Office Base : line styles;applying -Oracle Open Office Base : line styles;defining -Oracle Open Office Base : lines -Oracle Open Office Base : lines;defining ends -Oracle Open Office Base : lines;draw functions -Oracle Open Office Base : lines;drawing in text -Oracle Open Office Base : lines;editing points -Oracle Open Office Base : lines;removing automatic lines -Oracle Open Office Base : lines of text -Oracle Open Office Base : lines of text;alignment -Oracle Open Office Base : links -Oracle Open Office Base : links;between cells and controls -Oracle Open Office Base : links;by drag and drop -Oracle Open Office Base : links;character formats -Oracle Open Office Base : links;definition -Oracle Open Office Base : links;editing hyperlinks -Oracle Open Office Base : links;inserting -Oracle Open Office Base : links;modifying -Oracle Open Office Base : links;opening files with -Oracle Open Office Base : links;relational databases (Base) -Oracle Open Office Base : links;turning off automatic recognition -Oracle Open Office Base : links;updating options (Writer) -Oracle Open Office Base : links;updating specific links -Oracle Open Office Base : list box creation -Oracle Open Office Base : lists -Oracle Open Office Base : lists;data assigned to controls -Oracle Open Office Base : lists;registered databases (Base) -Oracle Open Office Base : lists;regular expressions -Oracle Open Office Base : live presentations on the Internet -Oracle Open Office Base : loading -Oracle Open Office Base : loading;documents -Oracle Open Office Base : loading;documents from other formats -Oracle Open Office Base : loading;HTML documents, automatically -Oracle Open Office Base : loading;Microsoft Office documents with VBA code -Oracle Open Office Base : loading;reloading -Oracle Open Office Base : loading;XML files -Oracle Open Office Base : locale settings -Oracle Open Office Base : lowercase letters -Oracle Open Office Base : lowercase letters;font effects -Oracle Open Office Base : Macro Wizard (Base) -Oracle Open Office Base : macros -Oracle Open Office Base : macros;assigning to events in forms -Oracle Open Office Base : macros;attaching new (Base) -Oracle Open Office Base : macros;in MS Office documents -Oracle Open Office Base : macros;interrupting -Oracle Open Office Base : macros;organizing -Oracle Open Office Base : macros;recording -Oracle Open Office Base : macros;security -Oracle Open Office Base : macros;security levels -Oracle Open Office Base : macros;security warning dialog -Oracle Open Office Base : macros;selecting security warnings -Oracle Open Office Base : magnifiers -Oracle Open Office Base : margins -Oracle Open Office Base : margins;pages -Oracle Open Office Base : margins;setting with the mouse -Oracle Open Office Base : margins;shadows -Oracle Open Office Base : marking changes -Oracle Open Office Base : marking, see selecting -Oracle Open Office Base : Math formula editor -Oracle Open Office Base : measurement units -Oracle Open Office Base : measurement units;changing on rulers -Oracle Open Office Base : measurement units;converting -Oracle Open Office Base : measurement units;selecting -Oracle Open Office Base : Media Player window -Oracle Open Office Base : menus -Oracle Open Office Base : menus;activating context menus -Oracle Open Office Base : menus;assigning macros -Oracle Open Office Base : menus;customizing -Oracle Open Office Base : merging -Oracle Open Office Base : merging;documents -Oracle Open Office Base : META tags -Oracle Open Office Base : metrics -Oracle Open Office Base : metrics;converting -Oracle Open Office Base : metrics;document formatting (Writer) -Oracle Open Office Base : metrics;in sheets -Oracle Open Office Base : Microsoft Office -Oracle Open Office Base : Microsoft Office;Access databases (base) -Oracle Open Office Base : Microsoft Office;as default file format -Oracle Open Office Base : Microsoft Office;document import restrictions -Oracle Open Office Base : Microsoft Office;feature comparisons -Oracle Open Office Base : Microsoft Office;importing password protected files -Oracle Open Office Base : Microsoft Office;importing Word documents -Oracle Open Office Base : Microsoft Office;importing/exporting VBA code -Oracle Open Office Base : Microsoft Office;new users information -Oracle Open Office Base : Microsoft Office;opening Microsoft documents -Oracle Open Office Base : Microsoft Office;reassigning document types -Oracle Open Office Base : migrating macros (Base) -Oracle Open Office Base : mobile device filters -Oracle Open Office Base : models in XForms -Oracle Open Office Base : modifying, see changing -Oracle Open Office Base : more controls -Oracle Open Office Base : mosaic filter -Oracle Open Office Base : mouse -Oracle Open Office Base : mouse;pointers when using drag and drop -Oracle Open Office Base : mouse;positioning -Oracle Open Office Base : movies -Oracle Open Office Base : moving -Oracle Open Office Base : moving;tab stops on ruler -Oracle Open Office Base : moving;toolbars -Oracle Open Office Base : moving;using guide lines in presentations -Oracle Open Office Base : MS ADO interface (Base) -Oracle Open Office Base : multi-line titles in forms -Oracle Open Office Base : multiple documents -Oracle Open Office Base : multiple documents;opening -Oracle Open Office Base : multiple selection -Oracle Open Office Base : music -Oracle Open Office Base : My Documents folder -Oracle Open Office Base : My Documents folder;changing work directory -Oracle Open Office Base : My Documents folder;opening -Oracle Open Office Base : MySQL databases (Base) -Oracle Open Office Base : names -Oracle Open Office Base : names;multi-line titles -Oracle Open Office Base : names;objects -Oracle Open Office Base : names, see also labels/callouts -Oracle Open Office Base : namespace organization in XForms -Oracle Open Office Base : native SQL (Base) -Oracle Open Office Base : navigating -Oracle Open Office Base : navigating;in documents -Oracle Open Office Base : Navigation bar -Oracle Open Office Base : Navigation bar;controls -Oracle Open Office Base : Navigation bar;forms -Oracle Open Office Base : Navigator -Oracle Open Office Base : Navigator;comments -Oracle Open Office Base : Navigator;contents as lists -Oracle Open Office Base : Navigator;docking -Oracle Open Office Base : Navigator;working with -Oracle Open Office Base : network identity options -Oracle Open Office Base : new databases -Oracle Open Office Base : new documents -Oracle Open Office Base : new lines in cells -Oracle Open Office Base : new windows -Oracle Open Office Base : non-breaking dashes -Oracle Open Office Base : non-breaking spaces (Writer) -Oracle Open Office Base : non-printing characters (Writer) -Oracle Open Office Base : number formats -Oracle Open Office Base : number formats;codes -Oracle Open Office Base : number formats;formats -Oracle Open Office Base : number formats;recognition in text tables -Oracle Open Office Base : number of pages -Oracle Open Office Base : number of sheets -Oracle Open Office Base : number of tables -Oracle Open Office Base : numbering -Oracle Open Office Base : numbering;options -Oracle Open Office Base : numbering;turning off -Oracle Open Office Base : numbering;using automatically -Oracle Open Office Base : numbers -Oracle Open Office Base : numbers;date, time and currency formats -Oracle Open Office Base : numbers;decimal places (Calc) -Oracle Open Office Base : numerical fields in forms -Oracle Open Office Base : objects -Oracle Open Office Base : objects;always moveable (Impress/Draw) -Oracle Open Office Base : objects;arranging within stacks -Oracle Open Office Base : objects;copying when moving in presentations -Oracle Open Office Base : objects;definition -Oracle Open Office Base : objects;displaying in spreadsheets -Oracle Open Office Base : objects;displaying in text documents -Oracle Open Office Base : objects;editing -Oracle Open Office Base : objects;inserting from Gallery -Oracle Open Office Base : objects;inserting OLE objects -Oracle Open Office Base : objects;moving and resizing with mouse -Oracle Open Office Base : objects;naming -Oracle Open Office Base : objects;opening -Oracle Open Office Base : objects;quickly moving to -Oracle Open Office Base : objects;titles and descriptions -Oracle Open Office Base : ODBC -Oracle Open Office Base : ODBC;database (Base) -Oracle Open Office Base : ODBC;definition -Oracle Open Office Base : ODF file formats -Oracle Open Office Base : Office -Oracle Open Office Base : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Base : OLE -Oracle Open Office Base : OLE;definition -Oracle Open Office Base : OLE objects -Oracle Open Office Base : OLE objects;arranging within stacks -Oracle Open Office Base : OLE objects;captions (Writer) -Oracle Open Office Base : OLE objects;inserting -Oracle Open Office Base : OLE objects;number of -Oracle Open Office Base : OLE objects;protecting -Oracle Open Office Base : one and a half line spacing in text -Oracle Open Office Base : online feedback options -Oracle Open Office Base : online registration -Oracle Open Office Base : online update options -Oracle Open Office Base : online updates -Oracle Open Office Base : online updates;checking automatically -Oracle Open Office Base : online updates;checking manually -Oracle Open Office Base : Open/Save dialogs -Oracle Open Office Base : OpenDocument file formats -Oracle Open Office Base : OpenGL -Oracle Open Office Base : OpenGL;definition -Oracle Open Office Base : opening -Oracle Open Office Base : opening;context menus -Oracle Open Office Base : opening;database files -Oracle Open Office Base : opening;dialog settings -Oracle Open Office Base : opening;documents -Oracle Open Office Base : opening;documents from other formats -Oracle Open Office Base : opening;documents on WebDAV server -Oracle Open Office Base : opening;files with links -Oracle Open Office Base : opening;files, with placeholders -Oracle Open Office Base : opening;forms -Oracle Open Office Base : opening;Microsoft Office files -Oracle Open Office Base : opening;mobile device documents -Oracle Open Office Base : opening;objects -Oracle Open Office Base : opening;reports -Oracle Open Office Base : opening;several files -Oracle Open Office Base : opening;XForms -Oracle Open Office Base : operators -Oracle Open Office Base : operators;default filters -Oracle Open Office Base : optional hyphens (Writer) -Oracle Open Office Base : options -Oracle Open Office Base : options;accessibility -Oracle Open Office Base : options;appearance -Oracle Open Office Base : options;compatibility (Writer) -Oracle Open Office Base : options;improvement program -Oracle Open Office Base : options;network identity -Oracle Open Office Base : options;online update -Oracle Open Office Base : options;tools -Oracle Open Office Base : Oracle databases (base) -Oracle Open Office Base : Oracle Open Office Base data sources -Oracle Open Office Base : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Base : Oracle Open Office documents -Oracle Open Office Base : Oracle Open Office documents;mobile device filters -Oracle Open Office Base : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Base : Oracle Open Office Math start -Oracle Open Office Base : ordering -Oracle Open Office Base : ordering;objects -Oracle Open Office Base : organizing -Oracle Open Office Base : organizing;macros and scripts -Oracle Open Office Base : organizing;namespaces in XForms -Oracle Open Office Base : organizing;styles -Oracle Open Office Base : organizing;templates -Oracle Open Office Base : original size -Oracle Open Office Base : original size;printing in Oracle Open Office Math -Oracle Open Office Base : original size;restoring after cropping -Oracle Open Office Base : outlines -Oracle Open Office Base : outlines;font effects -Oracle Open Office Base : outlines;outline symbols -Oracle Open Office Base : outlines;sending to presentations -Oracle Open Office Base : overwrite mode -Oracle Open Office Base : packages, see extensions -Oracle Open Office Base : page breaks -Oracle Open Office Base : page breaks;displaying (Calc) -Oracle Open Office Base : page formats -Oracle Open Office Base : page formats;maximizing -Oracle Open Office Base : page formats;restriction -Oracle Open Office Base : page styles -Oracle Open Office Base : page styles;editing/applying with statusbar -Oracle Open Office Base : pages -Oracle Open Office Base : pages;backgrounds in all applications -Oracle Open Office Base : pages;formatting and numbering -Oracle Open Office Base : pages;printing page names in presentations -Oracle Open Office Base : pages;scaling -Oracle Open Office Base : pages;selecting one to print -Oracle Open Office Base : paint box -Oracle Open Office Base : paint can symbol -Oracle Open Office Base : pair kerning -Oracle Open Office Base : Palm file filters -Oracle Open Office Base : paper formats -Oracle Open Office Base : paper size warning -Oracle Open Office Base : paper trays -Oracle Open Office Base : paragraph marks -Oracle Open Office Base : paragraph marks;displaying (Writer) -Oracle Open Office Base : paragraph styles -Oracle Open Office Base : paragraph styles;languages -Oracle Open Office Base : paragraph styles;modifying basic fonts -Oracle Open Office Base : paragraphs -Oracle Open Office Base : paragraphs;alignment -Oracle Open Office Base : paragraphs;Asian typography -Oracle Open Office Base : paragraphs;defining borders -Oracle Open Office Base : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Base : paragraphs;increasing indents of -Oracle Open Office Base : paragraphs;indents, margins and columns -Oracle Open Office Base : paragraphs;inserting bullets -Oracle Open Office Base : paragraphs;joining -Oracle Open Office Base : paragraphs;numbering automatically -Oracle Open Office Base : paragraphs;removing blank ones -Oracle Open Office Base : paragraphs;spacing -Oracle Open Office Base : paragraphs;tab stops -Oracle Open Office Base : parameters -Oracle Open Office Base : parameters;command line -Oracle Open Office Base : parameters;queries (Base) -Oracle Open Office Base : passwords for protecting contents -Oracle Open Office Base : pasting -Oracle Open Office Base : pasting;cell ranges -Oracle Open Office Base : pasting;cell ranges from spreadsheets -Oracle Open Office Base : pasting;data from text documents -Oracle Open Office Base : pasting;draw objects -Oracle Open Office Base : pasting;draw objects from other documents -Oracle Open Office Base : pasting;formatted/unformatted text -Oracle Open Office Base : pasting;from data source view -Oracle Open Office Base : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Base : pasting;pictures from other documents -Oracle Open Office Base : pasting;sheet areas in text documents -Oracle Open Office Base : pasting;to Gallery -Oracle Open Office Base : paths -Oracle Open Office Base : paths;changing work directory -Oracle Open Office Base : paths;defaults -Oracle Open Office Base : pattern editor -Oracle Open Office Base : pattern fields -Oracle Open Office Base : pattern fields;form functions -Oracle Open Office Base : patterns for objects -Oracle Open Office Base : PDF -Oracle Open Office Base : PDF;export -Oracle Open Office Base : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Base : personal data input -Oracle Open Office Base : phonetic guide -Oracle Open Office Base : picklist creation -Oracle Open Office Base : pictures -Oracle Open Office Base : pictures;adding to Gallery -Oracle Open Office Base : pictures;arranging within stacks -Oracle Open Office Base : pictures;assigning macros -Oracle Open Office Base : pictures;backgrounds -Oracle Open Office Base : pictures;captions (Writer) -Oracle Open Office Base : pictures;changing paths -Oracle Open Office Base : pictures;cropping and zooming -Oracle Open Office Base : pictures;displaying in Calc -Oracle Open Office Base : pictures;displaying in Writer (Writer) -Oracle Open Office Base : pictures;drag and drop between documents -Oracle Open Office Base : pictures;drawing -Oracle Open Office Base : pictures;editing -Oracle Open Office Base : pictures;filters -Oracle Open Office Base : pictures;ImageMap -Oracle Open Office Base : pictures;inserting automatically -Oracle Open Office Base : pictures;inserting from Gallery -Oracle Open Office Base : pictures;number of -Oracle Open Office Base : pictures;printing -Oracle Open Office Base : pictures;scaling/resizing -Oracle Open Office Base : pixel editor -Oracle Open Office Base : pixel graphics -Oracle Open Office Base : pixel graphics;inserting and editing -Oracle Open Office Base : pixel patterns -Oracle Open Office Base : placeholders -Oracle Open Office Base : placeholders;in SQL queries -Oracle Open Office Base : placeholders;on opening files -Oracle Open Office Base : placing toolbars -Oracle Open Office Base : playing movies and sound files -Oracle Open Office Base : plotting data as charts -Oracle Open Office Base : plug-ins -Oracle Open Office Base : plug-ins;activating and deactivating -Oracle Open Office Base : plug-ins;definition -Oracle Open Office Base : plug-ins;inserting -Oracle Open Office Base : pocket device appliances -Oracle Open Office Base : Pocket PC file filters -Oracle Open Office Base : points -Oracle Open Office Base : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Base : polygon drawing -Oracle Open Office Base : pop-art filter -Oracle Open Office Base : portable document format -Oracle Open Office Base : positioning -Oracle Open Office Base : positioning;draw objects and controls -Oracle Open Office Base : positioning;fonts -Oracle Open Office Base : positioning;objects -Oracle Open Office Base : positioning;toolbars -Oracle Open Office Base : post method for form transmissions -Oracle Open Office Base : posterizing filter -Oracle Open Office Base : PostScript -Oracle Open Office Base : PostScript;creating files -Oracle Open Office Base : PostScript;PDF converter, UNIX -Oracle Open Office Base : PowerPoint export -Oracle Open Office Base : precision as shown (Calc) -Oracle Open Office Base : predefining fonts -Oracle Open Office Base : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Base : presentations -Oracle Open Office Base : presentations;creating/opening -Oracle Open Office Base : presentations;inserting spreadsheet cells -Oracle Open Office Base : presentations;live on the Internet -Oracle Open Office Base : presentations;print menu -Oracle Open Office Base : presentations;saving -Oracle Open Office Base : presentations;saving automatically -Oracle Open Office Base : presentations;saving in other formats -Oracle Open Office Base : presentations;sending as e-mail -Oracle Open Office Base : presentations;starting with wizard -Oracle Open Office Base : presentations;wizards -Oracle Open Office Base : Presenter Console shortcuts -Oracle Open Office Base : press buttons, see push buttons -Oracle Open Office Base : previews -Oracle Open Office Base : previews;fonts lists -Oracle Open Office Base : primary keys -Oracle Open Office Base : primary keys;defining -Oracle Open Office Base : primary keys;design view -Oracle Open Office Base : primary keys;inserting (Base) -Oracle Open Office Base : print area selection -Oracle Open Office Base : printer metrics for document formatting (Writer) -Oracle Open Office Base : printers -Oracle Open Office Base : printers;adding, UNIX -Oracle Open Office Base : printers;choosing -Oracle Open Office Base : printers;default printer -Oracle Open Office Base : printers;faxes under UNIX -Oracle Open Office Base : printers;maximum page formats -Oracle Open Office Base : printers;paper trays -Oracle Open Office Base : printers;properties -Oracle Open Office Base : printing -Oracle Open Office Base : printing;black and white -Oracle Open Office Base : printing;brochures -Oracle Open Office Base : printing;colors in grayscale -Oracle Open Office Base : printing;comments -Oracle Open Office Base : printing;copies -Oracle Open Office Base : printing;creating individual jobs -Oracle Open Office Base : printing;dates in presentations -Oracle Open Office Base : printing;directly -Oracle Open Office Base : printing;documents -Oracle Open Office Base : printing;drawings defaults -Oracle Open Office Base : printing;elements in text documents -Oracle Open Office Base : printing;faster -Oracle Open Office Base : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Base : printing;fitting to pages in presentations -Oracle Open Office Base : printing;formulas in Oracle Open Office Math -Oracle Open Office Base : printing;hidden pages of presentations -Oracle Open Office Base : printing;in original size in Oracle Open Office Math -Oracle Open Office Base : printing;left/right pages -Oracle Open Office Base : printing;queries (Base) -Oracle Open Office Base : printing;scaling in Oracle Open Office Math -Oracle Open Office Base : printing;selections -Oracle Open Office Base : printing;text always in black -Oracle Open Office Base : printing;text in reverse order -Oracle Open Office Base : printing;tiling pages in presentations -Oracle Open Office Base : printing;transparencies -Oracle Open Office Base : printing;warnings -Oracle Open Office Base : printing;without scaling in presentations -Oracle Open Office Base : printing speed -Oracle Open Office Base : programming -Oracle Open Office Base : programming;Oracle Open Office -Oracle Open Office Base : programming;scripting -Oracle Open Office Base : properties -Oracle Open Office Base : properties;fields in databases -Oracle Open Office Base : properties;files -Oracle Open Office Base : properties;form controls -Oracle Open Office Base : properties;forms -Oracle Open Office Base : properties;printers -Oracle Open Office Base : protected contents -Oracle Open Office Base : protected dashes -Oracle Open Office Base : protected database tables -Oracle Open Office Base : protected documents -Oracle Open Office Base : protected spaces -Oracle Open Office Base : protected spaces;inserting -Oracle Open Office Base : protected spaces;showing (Writer) -Oracle Open Office Base : protecting -Oracle Open Office Base : protecting;contents -Oracle Open Office Base : protecting;recorded changes -Oracle Open Office Base : proxy settings -Oracle Open Office Base : push buttons -Oracle Open Office Base : push buttons;adding to documents -Oracle Open Office Base : push buttons;creating -Oracle Open Office Base : queries -Oracle Open Office Base : queries;copying (Base) -Oracle Open Office Base : queries;creating in design view (Base) -Oracle Open Office Base : queries;creating in SQL view -Oracle Open Office Base : queries;defining (Base) -Oracle Open Office Base : queries;deleting table links (Base) -Oracle Open Office Base : queries;editing in data source view -Oracle Open Office Base : queries;formulating filter conditions (Base) -Oracle Open Office Base : queries;joining tables (Base) -Oracle Open Office Base : queries;missing elements (Base) -Oracle Open Office Base : queries;overview (Base) -Oracle Open Office Base : queries;parameter queries (Base) -Oracle Open Office Base : queries;printing (Base) -Oracle Open Office Base : Query Wizard (Base) -Oracle Open Office Base : Quickstarter -Oracle Open Office Base : quotation marks -Oracle Open Office Base : quotation marks;replacing -Oracle Open Office Base : quotes -Oracle Open Office Base : quotes;custom -Oracle Open Office Base : radio button creation -Oracle Open Office Base : read-only documents -Oracle Open Office Base : read-only documents;cursor -Oracle Open Office Base : read-only documents;database tables on/off -Oracle Open Office Base : read-only documents;editing -Oracle Open Office Base : read-only documents;opening documents as -Oracle Open Office Base : read-only items in Data Navigator -Oracle Open Office Base : recognizing URLs automatically -Oracle Open Office Base : recording -Oracle Open Office Base : recording;changes -Oracle Open Office Base : recording;macros -Oracle Open Office Base : records -Oracle Open Office Base : records;inserting comments -Oracle Open Office Base : records;protecting -Oracle Open Office Base : records;saving -Oracle Open Office Base : records;searching in databases -Oracle Open Office Base : rectangles with round corners -Oracle Open Office Base : recursions in spreadsheets -Oracle Open Office Base : redo command -Oracle Open Office Base : reduced printing -Oracle Open Office Base : reference lines -Oracle Open Office Base : references -Oracle Open Office Base : references;displaying in color (Calc) -Oracle Open Office Base : references;expanding (Calc) -Oracle Open Office Base : references;iterative (Calc) -Oracle Open Office Base : register-true -Oracle Open Office Base : register-true;definition -Oracle Open Office Base : registering -Oracle Open Office Base : registering;address books -Oracle Open Office Base : registering;databases (Base) -Oracle Open Office Base : registering;Oracle Open Office -Oracle Open Office Base : regular expressions -Oracle Open Office Base : regular expressions;list of -Oracle Open Office Base : regular expressions;opening files -Oracle Open Office Base : relational databases (Base) -Oracle Open Office Base : relations -Oracle Open Office Base : relations;creating and deleting (Base) -Oracle Open Office Base : relations;joining tables (Base) -Oracle Open Office Base : relations;properties (Base) -Oracle Open Office Base : relative hyperlinks -Oracle Open Office Base : relative saving of URLs -Oracle Open Office Base : reloading -Oracle Open Office Base : reloading;documents -Oracle Open Office Base : reloading;HTML documents, automatically -Oracle Open Office Base : remarks, see also comments -Oracle Open Office Base : remote configurations -Oracle Open Office Base : remove noise filter -Oracle Open Office Base : removing -Oracle Open Office Base : removing;bullets and numbering -Oracle Open Office Base : removing;form filters -Oracle Open Office Base : removing, see also deleting -Oracle Open Office Base : repeating -Oracle Open Office Base : repeating;commands -Oracle Open Office Base : replacement options -Oracle Open Office Base : replacement table -Oracle Open Office Base : replacing -Oracle Open Office Base : replacing;AutoCorrect function -Oracle Open Office Base : replacing;dashes -Oracle Open Office Base : replacing;tab stops (regular expressions) -Oracle Open Office Base : Report Builder -Oracle Open Office Base : reports -Oracle Open Office Base : reports;creating -Oracle Open Office Base : reports;error reports -Oracle Open Office Base : reports;opening and editing -Oracle Open Office Base : reports;templates -Oracle Open Office Base : resetting -Oracle Open Office Base : resetting;templates -Oracle Open Office Base : resizing -Oracle Open Office Base : resizing;objects, by mouse -Oracle Open Office Base : resizing, see also scaling/zooming -Oracle Open Office Base : resolution when printing bitmaps -Oracle Open Office Base : restoring -Oracle Open Office Base : restoring;default formatting -Oracle Open Office Base : restoring;editing -Oracle Open Office Base : reversing printing order -Oracle Open Office Base : review function -Oracle Open Office Base : review function;accepting or rejecting changes -Oracle Open Office Base : review function;comparing documents -Oracle Open Office Base : review function;protecting records -Oracle Open Office Base : review function;recording changes example -Oracle Open Office Base : rich text control -Oracle Open Office Base : right alignment of paragraphs -Oracle Open Office Base : right joins (Base) -Oracle Open Office Base : right-to-left text -Oracle Open Office Base : rotating -Oracle Open Office Base : rotating;3D text -Oracle Open Office Base : round corners -Oracle Open Office Base : rounding precision (Calc) -Oracle Open Office Base : row headers -Oracle Open Office Base : row headers;displaying (Calc) -Oracle Open Office Base : row headers;highlighting (Calc) -Oracle Open Office Base : rulers -Oracle Open Office Base : rulers;default settings -Oracle Open Office Base : rulers;measurement units -Oracle Open Office Base : rulers;visible in presentations -Oracle Open Office Base : samples and templates -Oracle Open Office Base : saving -Oracle Open Office Base : saving;default file formats -Oracle Open Office Base : saving;dialog settings -Oracle Open Office Base : saving;documents -Oracle Open Office Base : saving;documents for mobile devices -Oracle Open Office Base : saving;documents in other formats -Oracle Open Office Base : saving;documents, automatically -Oracle Open Office Base : saving;in Microsoft Office file format -Oracle Open Office Base : saving;options -Oracle Open Office Base : saving;templates -Oracle Open Office Base : saving;to XML -Oracle Open Office Base : saving;VBA code in Microsoft Office documents -Oracle Open Office Base : saving;with password by default -Oracle Open Office Base : saving as command -Oracle Open Office Base : saving as command;precautions -Oracle Open Office Base : scaling -Oracle Open Office Base : scaling;font sizes in user interface -Oracle Open Office Base : scaling;objects -Oracle Open Office Base : scaling;pictures -Oracle Open Office Base : scaling;printing in Oracle Open Office Math -Oracle Open Office Base : scaling;when printing presentations -Oracle Open Office Base : scaling, see also zooming -Oracle Open Office Base : screen -Oracle Open Office Base : screen;full screen views -Oracle Open Office Base : screen;scaling -Oracle Open Office Base : screen magnifiers -Oracle Open Office Base : screen readers -Oracle Open Office Base : script organization -Oracle Open Office Base : scrollbars -Oracle Open Office Base : scrollbars;controls -Oracle Open Office Base : scrollbars;displaying (Calc) -Oracle Open Office Base : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Base : search criteria for database functions in cells -Oracle Open Office Base : search engines -Oracle Open Office Base : search engines;definition -Oracle Open Office Base : search engines;selecting -Oracle Open Office Base : searching -Oracle Open Office Base : searching;all sheets -Oracle Open Office Base : searching;databases -Oracle Open Office Base : searching;form filters -Oracle Open Office Base : searching;Internet -Oracle Open Office Base : searching;tables and forms -Oracle Open Office Base : sections -Oracle Open Office Base : sections;backgrounds -Oracle Open Office Base : security -Oracle Open Office Base : security;digital signatures -Oracle Open Office Base : security;options for documents with macros -Oracle Open Office Base : security;protecting contents -Oracle Open Office Base : security;security levels for macros -Oracle Open Office Base : security;warning dialogs with macros -Oracle Open Office Base : selecting -Oracle Open Office Base : selecting;controls -Oracle Open Office Base : selecting;measurement units -Oracle Open Office Base : selecting;objects -Oracle Open Office Base : selecting;print areas -Oracle Open Office Base : selecting;several files -Oracle Open Office Base : selection clipboard -Oracle Open Office Base : selection frames -Oracle Open Office Base : selection modes in text -Oracle Open Office Base : sending -Oracle Open Office Base : sending;AutoAbstract function in presentations -Oracle Open Office Base : sending;documents as e-mail -Oracle Open Office Base : sending;documents as faxes -Oracle Open Office Base : separator lines -Oracle Open Office Base : separator lines;defining -Oracle Open Office Base : separators -Oracle Open Office Base : separators;conditional -Oracle Open Office Base : Server Side ImageMap -Oracle Open Office Base : settings -Oracle Open Office Base : settings;printers -Oracle Open Office Base : settings;program configuration -Oracle Open Office Base : settings;proxies -Oracle Open Office Base : settings;tracking changes -Oracle Open Office Base : settings;views -Oracle Open Office Base : SGML -Oracle Open Office Base : SGML;definition -Oracle Open Office Base : shadows -Oracle Open Office Base : shadows;areas -Oracle Open Office Base : shadows;borders -Oracle Open Office Base : shadows;characters -Oracle Open Office Base : shadows;characters, using context menu -Oracle Open Office Base : sharing documents -Oracle Open Office Base : sharpening filter -Oracle Open Office Base : sheet tabs -Oracle Open Office Base : sheet tabs;displaying -Oracle Open Office Base : sheets -Oracle Open Office Base : sheets;searching all -Oracle Open Office Base : shortcut keys -Oracle Open Office Base : shortcut keys;assigning macros -Oracle Open Office Base : shortcut keys;general -Oracle Open Office Base : shortcut keys;in databases -Oracle Open Office Base : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Base : showing -Oracle Open Office Base : showing;changes -Oracle Open Office Base : showing;docked windows -Oracle Open Office Base : showing;drawings and controls (Writer) -Oracle Open Office Base : showing;live presentations on the Internet -Oracle Open Office Base : showing;toolbars -Oracle Open Office Base : signing documents with digital signatures -Oracle Open Office Base : similarity search -Oracle Open Office Base : simple handles (Writer) -Oracle Open Office Base : simplified Chinese -Oracle Open Office Base : simplified Chinese;translating to traditional Chinese -Oracle Open Office Base : single sign on options -Oracle Open Office Base : single-line spacing in text -Oracle Open Office Base : sizes -Oracle Open Office Base : sizes;draw objects -Oracle Open Office Base : sizes;pictures -Oracle Open Office Base : slanting draw objects -Oracle Open Office Base : small capitals -Oracle Open Office Base : small icons -Oracle Open Office Base : smart tag configuration -Oracle Open Office Base : smooth scrolling (Writer) -Oracle Open Office Base : smoothing filter -Oracle Open Office Base : snap grid defaults (Writer/Calc) -Oracle Open Office Base : snapping in presentations and drawings -Oracle Open Office Base : solarization filter -Oracle Open Office Base : sort lists -Oracle Open Office Base : sort lists;copying to in Calc -Oracle Open Office Base : sorting -Oracle Open Office Base : sorting;data in forms -Oracle Open Office Base : sorting;databases -Oracle Open Office Base : sound files -Oracle Open Office Base : spaces -Oracle Open Office Base : spaces;displaying (Writer) -Oracle Open Office Base : spaces;ignoring double -Oracle Open Office Base : spaces;inserting protected spaces -Oracle Open Office Base : spaces;showing protected spaces (Writer) -Oracle Open Office Base : spacing -Oracle Open Office Base : spacing;between paragraphs in footnotes -Oracle Open Office Base : spacing;font effects -Oracle Open Office Base : spacing;lines and paragraphs -Oracle Open Office Base : spacing;tab stops in text documents -Oracle Open Office Base : spacing;tabs in presentations -Oracle Open Office Base : spadmin -Oracle Open Office Base : special characters -Oracle Open Office Base : speech bubbles -Oracle Open Office Base : speed of printing -Oracle Open Office Base : spellcheck -Oracle Open Office Base : spellcheck;activating for a language -Oracle Open Office Base : spellcheck;context menus -Oracle Open Office Base : spellcheck;default languages -Oracle Open Office Base : spellcheck;dialog -Oracle Open Office Base : spellcheck;dictionary of exceptions -Oracle Open Office Base : spellcheck;ignore list -Oracle Open Office Base : spin button creation -Oracle Open Office Base : spoolfiles with Xprinter -Oracle Open Office Base : spreadsheets -Oracle Open Office Base : spreadsheets;as databases (base) -Oracle Open Office Base : spreadsheets;copying areas to text documents -Oracle Open Office Base : spreadsheets;creating/opening -Oracle Open Office Base : spreadsheets;inserting charts -Oracle Open Office Base : spreadsheets;inserting database records -Oracle Open Office Base : spreadsheets;printing -Oracle Open Office Base : spreadsheets;saving -Oracle Open Office Base : spreadsheets;saving automatically -Oracle Open Office Base : spreadsheets;saving in other formats -Oracle Open Office Base : spreadsheets;sending as e-mail -Oracle Open Office Base : SQL -Oracle Open Office Base : SQL;definition -Oracle Open Office Base : SQL;DISTINCT parameter -Oracle Open Office Base : SQL;executing SQL commands -Oracle Open Office Base : SQL;executing SQL statements (Base) -Oracle Open Office Base : SQL;queries (Base) -Oracle Open Office Base : square drawings -Oracle Open Office Base : standard bar on/off -Oracle Open Office Base : standard filters in databases -Oracle Open Office Base : standard printer under UNIX -Oracle Open Office Base : start center -Oracle Open Office Base : start parameters -Oracle Open Office Base : status bar on/off -Oracle Open Office Base : stickers -Oracle Open Office Base : strikethrough -Oracle Open Office Base : strikethrough;characters -Oracle Open Office Base : strikethrough;font effects -Oracle Open Office Base : styles -Oracle Open Office Base : styles;'changed' message -Oracle Open Office Base : styles;copying between documents -Oracle Open Office Base : styles;keyboard shortcuts -Oracle Open Office Base : styles;organizing -Oracle Open Office Base : styles;printing styles used in a document -Oracle Open Office Base : styles;replacing automatically -Oracle Open Office Base : Styles and Formatting window -Oracle Open Office Base : Styles and Formatting window;docking -Oracle Open Office Base : subforms -Oracle Open Office Base : subforms;creating -Oracle Open Office Base : subforms;description -Oracle Open Office Base : submitting forms -Oracle Open Office Base : suffixes in file formats -Oracle Open Office Base : support on the Web -Oracle Open Office Base : synchronizing -Oracle Open Office Base : synchronizing;labels and business cards -Oracle Open Office Base : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Base : system address book registration -Oracle Open Office Base : tab stops -Oracle Open Office Base : tab stops;displaying (Writer) -Oracle Open Office Base : tab stops;inserting and editing -Oracle Open Office Base : tab stops;regular expressions -Oracle Open Office Base : tab stops;setting in sheets -Oracle Open Office Base : tab stops;settings -Oracle Open Office Base : tab stops;spacing in presentations -Oracle Open Office Base : tab stops;spacing in text documents -Oracle Open Office Base : table controls -Oracle Open Office Base : table controls;form functions -Oracle Open Office Base : table controls;keyboard-only edit mode -Oracle Open Office Base : table controls;properties -Oracle Open Office Base : table views of databases -Oracle Open Office Base : Table Wizard (Base) -Oracle Open Office Base : tables -Oracle Open Office Base : tables;inserting line breaks -Oracle Open Office Base : tables in databases -Oracle Open Office Base : tables in databases;access rights to (Base) -Oracle Open Office Base : tables in databases;adding to queries -Oracle Open Office Base : tables in databases;browsing and editing -Oracle Open Office Base : tables in databases;copying database tables (Base) -Oracle Open Office Base : tables in databases;creating -Oracle Open Office Base : tables in databases;creating in design view (manually) -Oracle Open Office Base : tables in databases;importing text formats (Base) -Oracle Open Office Base : tables in databases;joining for queries (Base) -Oracle Open Office Base : tables in databases;printing queries (Base) -Oracle Open Office Base : tables in databases;relations (Base) -Oracle Open Office Base : tables in databases;searching -Oracle Open Office Base : tables in spreadsheets -Oracle Open Office Base : tables in spreadsheets;copying data to other applications -Oracle Open Office Base : tables in spreadsheets;defining borders -Oracle Open Office Base : tables in spreadsheets;value highlighting -Oracle Open Office Base : tables in text -Oracle Open Office Base : tables in text;captions -Oracle Open Office Base : tables in text;creating automatically -Oracle Open Office Base : tables in text;default settings -Oracle Open Office Base : tables in text;defining borders -Oracle Open Office Base : tables in text;displaying -Oracle Open Office Base : tables in text;printing -Oracle Open Office Base : tabs -Oracle Open Office Base : tabs;displaying sheet tabs -Oracle Open Office Base : tags -Oracle Open Office Base : tags;definition -Oracle Open Office Base : tags;META tags -Oracle Open Office Base : templates -Oracle Open Office Base : templates;agendas -Oracle Open Office Base : templates;changing basic fonts -Oracle Open Office Base : templates;database reports -Oracle Open Office Base : templates;deleting -Oracle Open Office Base : templates;editing and saving -Oracle Open Office Base : templates;faxes -Oracle Open Office Base : templates;importing and exporting -Oracle Open Office Base : templates;letters -Oracle Open Office Base : templates;new documents from templates -Oracle Open Office Base : templates;opening documents with -Oracle Open Office Base : templates;organizing -Oracle Open Office Base : terminology -Oracle Open Office Base : terminology;general glossary -Oracle Open Office Base : terminology;Internet glossary -Oracle Open Office Base : testing XML filters -Oracle Open Office Base : text -Oracle Open Office Base : text;animating -Oracle Open Office Base : text;Asian layout -Oracle Open Office Base : text;bold -Oracle Open Office Base : text;coloring -Oracle Open Office Base : text;copying by drag and drop -Oracle Open Office Base : text;CTL languages -Oracle Open Office Base : text;drawing pictures -Oracle Open Office Base : text;font effects -Oracle Open Office Base : text;font sizes -Oracle Open Office Base : text;font styles -Oracle Open Office Base : text;fonts and formats -Oracle Open Office Base : text;Fontwork icons -Oracle Open Office Base : text;hyperlinks -Oracle Open Office Base : text;inserting special characters -Oracle Open Office Base : text;italics -Oracle Open Office Base : text;kerning -Oracle Open Office Base : text;language selection -Oracle Open Office Base : text;line spacing -Oracle Open Office Base : text;overwriting or inserting -Oracle Open Office Base : text;printing in black -Oracle Open Office Base : text;replacing with format -Oracle Open Office Base : text;selection modes -Oracle Open Office Base : text;shadowed -Oracle Open Office Base : text;text/draw objects -Oracle Open Office Base : text attributes -Oracle Open Office Base : text attributes;hyperlinks -Oracle Open Office Base : text attributes;undoing -Oracle Open Office Base : text boxes -Oracle Open Office Base : text boxes;form functions -Oracle Open Office Base : text boxes;positioning -Oracle Open Office Base : text breaks in cells -Oracle Open Office Base : text colors for better accessibility -Oracle Open Office Base : text databases (Base) -Oracle Open Office Base : text documents -Oracle Open Office Base : text documents;creating/opening -Oracle Open Office Base : text documents;importing/exporting -Oracle Open Office Base : text documents;inserting spreadsheet cells -Oracle Open Office Base : text documents;print settings -Oracle Open Office Base : text documents;printing -Oracle Open Office Base : text documents;saving -Oracle Open Office Base : text documents;saving automatically -Oracle Open Office Base : text documents;saving in other formats -Oracle Open Office Base : text documents;sending as e-mail -Oracle Open Office Base : text effects -Oracle Open Office Base : text flow -Oracle Open Office Base : text flow;in cells -Oracle Open Office Base : text formats -Oracle Open Office Base : text formats;databases -Oracle Open Office Base : text formats;pasting -Oracle Open Office Base : text input fields -Oracle Open Office Base : text layout for special languages -Oracle Open Office Base : text objects -Oracle Open Office Base : text objects;alignment -Oracle Open Office Base : text objects;draw functions -Oracle Open Office Base : text objects;fonts -Oracle Open Office Base : text objects;in presentations and drawings -Oracle Open Office Base : text overflow in spreadsheet cells -Oracle Open Office Base : text, see also text documents, paragraphs and characters -Oracle Open Office Base : TextArt, see Fontwork -Oracle Open Office Base : textures -Oracle Open Office Base : textures;inserting from Gallery -Oracle Open Office Base : textures;on chart bars -Oracle Open Office Base : Thai -Oracle Open Office Base : Thai;entering text -Oracle Open Office Base : Thai;language settings -Oracle Open Office Base : thesaurus -Oracle Open Office Base : thesaurus;activating for a language -Oracle Open Office Base : ticker text -Oracle Open Office Base : time fields -Oracle Open Office Base : time fields;form functions -Oracle Open Office Base : times -Oracle Open Office Base : times;inserting when printing presentations -Oracle Open Office Base : times, formats -Oracle Open Office Base : tips -Oracle Open Office Base : tips;extended tips in Help -Oracle Open Office Base : title rows -Oracle Open Office Base : title rows;printing in Oracle Open Office Math -Oracle Open Office Base : titles -Oracle Open Office Base : titles;changing -Oracle Open Office Base : titles;editing in charts -Oracle Open Office Base : titles;font effects -Oracle Open Office Base : titles;formatting automatically -Oracle Open Office Base : titles;objects -Oracle Open Office Base : toolbars -Oracle Open Office Base : toolbars;adding buttons -Oracle Open Office Base : toolbars;docking/undocking -Oracle Open Office Base : toolbars;Form Navigation bar -Oracle Open Office Base : toolbars;viewing/closing -Oracle Open Office Base : tools bar -Oracle Open Office Base : tooltips -Oracle Open Office Base : tooltips;extended tips -Oracle Open Office Base : tooltips;help -Oracle Open Office Base : traditional Chinese -Oracle Open Office Base : traditional Chinese;translating to simplified chinese -Oracle Open Office Base : transparency -Oracle Open Office Base : transparency;areas -Oracle Open Office Base : transparency;off for faster printing -Oracle Open Office Base : transparency;saving -Oracle Open Office Base : tree view of Help -Oracle Open Office Base : typefaces -Oracle Open Office Base : typefaces;adding under UNIX -Oracle Open Office Base : typefaces;formats -Oracle Open Office Base : typographical quotes in Oracle Open Office Writer -Oracle Open Office Base : typography -Oracle Open Office Base : typography;Asian -Oracle Open Office Base : underlining -Oracle Open Office Base : underlining;AutoFormat function -Oracle Open Office Base : underlining;characters -Oracle Open Office Base : underlining;text -Oracle Open Office Base : undocking windows -Oracle Open Office Base : undoing -Oracle Open Office Base : undoing;direct formatting -Oracle Open Office Base : undoing;editing -Oracle Open Office Base : undoing;number of steps -Oracle Open Office Base : ungrouping groups -Oracle Open Office Base : units -Oracle Open Office Base : units;converting -Oracle Open Office Base : units;measurement units -Oracle Open Office Base : UNO components -Oracle Open Office Base : UNO components;Extension Manager -Oracle Open Office Base : UNO components;integrating new -Oracle Open Office Base : update options -Oracle Open Office Base : updates -Oracle Open Office Base : updates;checking automatically -Oracle Open Office Base : updates;checking manually -Oracle Open Office Base : updating -Oracle Open Office Base : updating;fields and charts, automatically (Writer) -Oracle Open Office Base : updating;links in text documents -Oracle Open Office Base : updating;links, on opening -Oracle Open Office Base : updating;templates -Oracle Open Office Base : URL -Oracle Open Office Base : URL;changing hyperlink URLs -Oracle Open Office Base : URL;definition -Oracle Open Office Base : URL;in pictures -Oracle Open Office Base : URL;saving absolute/relative paths -Oracle Open Office Base : URL;turning off URL recognition -Oracle Open Office Base : user data -Oracle Open Office Base : user data;input -Oracle Open Office Base : user data;removing when saving -Oracle Open Office Base : user feedback -Oracle Open Office Base : user feedback;automatically -Oracle Open Office Base : user-defined dictionaries -Oracle Open Office Base : user-defined dictionaries;creating -Oracle Open Office Base : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Base : user-defined dictionaries;editing -Oracle Open Office Base : user-defined styles -Oracle Open Office Base : user-defined styles;automatically replacing -Oracle Open Office Base : UTF-8/UCS2 support -Oracle Open Office Base : values -Oracle Open Office Base : values;rounded as shown (Calc) -Oracle Open Office Base : variables -Oracle Open Office Base : variables;for paths -Oracle Open Office Base : VBA code -Oracle Open Office Base : VBA code;loading/saving documents with VBA code -Oracle Open Office Base : version management -Oracle Open Office Base : version numbers of documents -Oracle Open Office Base : versions -Oracle Open Office Base : versions;comparing documents -Oracle Open Office Base : versions;file saving as, restriction -Oracle Open Office Base : versions;merging document versions -Oracle Open Office Base : versions;of a document -Oracle Open Office Base : versions;Oracle Open Office -Oracle Open Office Base : vertical callouts -Oracle Open Office Base : vertical scrollbars (Writer) -Oracle Open Office Base : vertical text boxes -Oracle Open Office Base : videos -Oracle Open Office Base : viewing -Oracle Open Office Base : viewing;databases -Oracle Open Office Base : viewing;file properties -Oracle Open Office Base : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Base : viewing;toolbars -Oracle Open Office Base : views -Oracle Open Office Base : views;creating database views (Base) -Oracle Open Office Base : views;defaults -Oracle Open Office Base : views;full screen -Oracle Open Office Base : views;icons -Oracle Open Office Base : views;scaling -Oracle Open Office Base : Visual Basic for Applications -Oracle Open Office Base : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Base : watermarks -Oracle Open Office Base : web documents -Oracle Open Office Base : web documents;XForms -Oracle Open Office Base : Web support -Oracle Open Office Base : WebCast export -Oracle Open Office Base : WebDAV over HTTPS -Oracle Open Office Base : windows -Oracle Open Office Base : windows;docking -Oracle Open Office Base : windows;docking definition -Oracle Open Office Base : windows;hiding/showing/docking -Oracle Open Office Base : windows;new -Oracle Open Office Base : wizards -Oracle Open Office Base : wizards;agendas -Oracle Open Office Base : wizards;database queries -Oracle Open Office Base : wizards;database tables (Base) -Oracle Open Office Base : wizards;databases (Base) -Oracle Open Office Base : wizards;document converter -Oracle Open Office Base : wizards;Euro Converter -Oracle Open Office Base : wizards;faxes -Oracle Open Office Base : wizards;forms -Oracle Open Office Base : wizards;letters -Oracle Open Office Base : wizards;macros (Base) -Oracle Open Office Base : wizards;overview -Oracle Open Office Base : wizards;presentations -Oracle Open Office Base : wizards;reports -Oracle Open Office Base : Word documents -Oracle Open Office Base : Word documents;compatibility -Oracle Open Office Base : Word documents;saving as -Oracle Open Office Base : WordArt, see Fontwork -Oracle Open Office Base : words -Oracle Open Office Base : words;automatically replacing -Oracle Open Office Base : words;wrapping in cells -Oracle Open Office Base : words;wrapping in CTL -Oracle Open Office Base : working directory change -Oracle Open Office Base : wrapping text -Oracle Open Office Base : wrapping text;in cells -Oracle Open Office Base : write protection on/off -Oracle Open Office Base : writing aids options -Oracle Open Office Base : WYSIWYG in fonts lists -Oracle Open Office Base : XForms -Oracle Open Office Base : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Base : XForms;conditions -Oracle Open Office Base : XForms;opening/editing -Oracle Open Office Base : XML converters -Oracle Open Office Base : XML file formats -Oracle Open Office Base : XML filters -Oracle Open Office Base : XML filters;creating/testing -Oracle Open Office Base : XML filters;saving as package/installing/deleting -Oracle Open Office Base : XML filters;settings -Oracle Open Office Base : XML Forms, see XForms -Oracle Open Office Base : XSLT filters, see also XML filters -Oracle Open Office Base : years -Oracle Open Office Base : years;2-digit options -Oracle Open Office Base : zero values -Oracle Open Office Base : zero values;displaying (Calc) -Oracle Open Office Base : zooming -Oracle Open Office Base : zooming;page views -Oracle Open Office Base : zooming;pictures -Oracle Open Office Base : zooming;status bar -Oracle Open Office Draw : 1/2 replacement -Oracle Open Office Draw : 3D charts -Oracle Open Office Draw : 3D objects -Oracle Open Office Draw : 3D objects;assembling -Oracle Open Office Draw : 3D objects;generating -Oracle Open Office Draw : 3D objects;inserting -Oracle Open Office Draw : 3D rotation objects -Oracle Open Office Draw : 3D rotation objects;converting to -Oracle Open Office Draw : 3D rotation objects;generating -Oracle Open Office Draw : 3D text creation -Oracle Open Office Draw : abbreviation replacement -Oracle Open Office Draw : absolute hyperlinks -Oracle Open Office Draw : absolute saving of URLs -Oracle Open Office Draw : accents -Oracle Open Office Draw : Access databases (base) -Oracle Open Office Draw : access rights for database tables (Base) -Oracle Open Office Draw : accessibility -Oracle Open Office Draw : accessibility;general shortcuts -Oracle Open Office Draw : accessibility;options -Oracle Open Office Draw : accessibility;Oracle Open Office assistive technology -Oracle Open Office Draw : accessibility;Oracle Open Office Draw -Oracle Open Office Draw : accessibility;Oracle Open Office features -Oracle Open Office Draw : accessibility;Oracle Open Office Impress -Oracle Open Office Draw : activating -Oracle Open Office Draw : activating;context menus -Oracle Open Office Draw : activating;Error Report Tool -Oracle Open Office Draw : activating;extended help tips -Oracle Open Office Draw : activating;plug-ins -Oracle Open Office Draw : ActiveX control -Oracle Open Office Draw : Adabas D databases (base) -Oracle Open Office Draw : add-ons, see UNO components -Oracle Open Office Draw : additional selection mode -Oracle Open Office Draw : address books -Oracle Open Office Draw : address books;LDAP server (Base) -Oracle Open Office Draw : address books;registering -Oracle Open Office Draw : address labels from databases -Oracle Open Office Draw : ADO databases (Base) -Oracle Open Office Draw : Agenda Wizard -Oracle Open Office Draw : aging filter -Oracle Open Office Draw : aligning -Oracle Open Office Draw : aligning;2D charts -Oracle Open Office Draw : aligning;cells -Oracle Open Office Draw : aligning;draw objects -Oracle Open Office Draw : aligning;objects -Oracle Open Office Draw : aligning;paragraphs -Oracle Open Office Draw : aligning;tables in text -Oracle Open Office Draw : aligning;text objects -Oracle Open Office Draw : aligning;titles in charts -Oracle Open Office Draw : allowing -Oracle Open Office Draw : allowing;effects -Oracle Open Office Draw : allowing;interaction -Oracle Open Office Draw : alternative fonts -Oracle Open Office Draw : ampersand symbol, see also operators -Oracle Open Office Draw : anchors -Oracle Open Office Draw : anchors;changing -Oracle Open Office Draw : anchors;displaying (Calc) -Oracle Open Office Draw : anchors;types/positions for draw objects -Oracle Open Office Draw : animated GIFs -Oracle Open Office Draw : animated slide transitions -Oracle Open Office Draw : animation effects -Oracle Open Office Draw : animations -Oracle Open Office Draw : animations;accessibility options -Oracle Open Office Draw : animations;editing -Oracle Open Office Draw : animations;list of -Oracle Open Office Draw : animations;saving as GIFs -Oracle Open Office Draw : appearance options -Oracle Open Office Draw : Arabic -Oracle Open Office Draw : Arabic;entering text -Oracle Open Office Draw : Arabic;language settings -Oracle Open Office Draw : area charts -Oracle Open Office Draw : areas -Oracle Open Office Draw : areas;bitmap patterns -Oracle Open Office Draw : areas;from connected lines -Oracle Open Office Draw : areas;hatched/dotted -Oracle Open Office Draw : areas;shadows -Oracle Open Office Draw : areas;slanting -Oracle Open Office Draw : areas;styles -Oracle Open Office Draw : areas;transparency -Oracle Open Office Draw : arguments in command line -Oracle Open Office Draw : arranging -Oracle Open Office Draw : arranging;objects -Oracle Open Office Draw : arranging;objects (guide) -Oracle Open Office Draw : arranging;slides -Oracle Open Office Draw : arrows -Oracle Open Office Draw : arrows;defining arrow heads -Oracle Open Office Draw : arrows;defining arrow lines -Oracle Open Office Draw : arrows;drawing in text -Oracle Open Office Draw : arrows;inserting -Oracle Open Office Draw : arrows;loading arrow styles -Oracle Open Office Draw : ASCII -Oracle Open Office Draw : ASCII;definition -Oracle Open Office Draw : Asian languages -Oracle Open Office Draw : Asian languages;enabling -Oracle Open Office Draw : Asian Phonetic Guide -Oracle Open Office Draw : Asian typography -Oracle Open Office Draw : assembled objects in 3D -Oracle Open Office Draw : assigning scripts -Oracle Open Office Draw : assistive technology in Oracle Open Office -Oracle Open Office Draw : attaching toolbars -Oracle Open Office Draw : attachments in e-mails -Oracle Open Office Draw : attributes -Oracle Open Office Draw : attributes;objects with -Oracle Open Office Draw : audio -Oracle Open Office Draw : authors -Oracle Open Office Draw : auto reloading HTML documents -Oracle Open Office Draw : AutoAbstract function for sending text to presentations -Oracle Open Office Draw : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Draw : AutoComplete function in text and list boxes -Oracle Open Office Draw : AutoCorrect function -Oracle Open Office Draw : AutoCorrect function;context menu -Oracle Open Office Draw : AutoCorrect function;options -Oracle Open Office Draw : AutoCorrect function;pictures and frames -Oracle Open Office Draw : AutoCorrect function;quotes -Oracle Open Office Draw : AutoCorrect function;replacement table -Oracle Open Office Draw : AutoCorrect function;switching on and off in Calc -Oracle Open Office Draw : AutoCorrect function;URL recognition -Oracle Open Office Draw : AutoFormat function -Oracle Open Office Draw : AutoFormat function;switching on and off -Oracle Open Office Draw : automatic captions (Writer) -Oracle Open Office Draw : automatic control focus -Oracle Open Office Draw : automatic hyperlink formatting -Oracle Open Office Draw : automatic line breaks -Oracle Open Office Draw : automatic lines/borders in text -Oracle Open Office Draw : automatic saving -Oracle Open Office Draw : automatic slide changes -Oracle Open Office Draw : automatic slide changes;rehearse timings -Oracle Open Office Draw : automatic slide shows -Oracle Open Office Draw : automatic slide transition -Oracle Open Office Draw : AutoPilots, see wizards -Oracle Open Office Draw : AutoValue (Base) -Oracle Open Office Draw : averages in charts -Oracle Open Office Draw : axes -Oracle Open Office Draw : axes;better scaling -Oracle Open Office Draw : axes;formatting -Oracle Open Office Draw : axes;formatting grids -Oracle Open Office Draw : axes;inserting grids -Oracle Open Office Draw : axes;interval marks -Oracle Open Office Draw : axes;showing axes in charts -Oracle Open Office Draw : axes in charts -Oracle Open Office Draw : backgrounds -Oracle Open Office Draw : backgrounds;changing -Oracle Open Office Draw : backgrounds;defining colors/pictures -Oracle Open Office Draw : backgrounds;deleting unused -Oracle Open Office Draw : backgrounds;frames/sections/indexes -Oracle Open Office Draw : backgrounds;inserting from Gallery -Oracle Open Office Draw : backgrounds;normal view -Oracle Open Office Draw : backgrounds;notes -Oracle Open Office Draw : backgrounds;printing -Oracle Open Office Draw : backgrounds;slides -Oracle Open Office Draw : backing window -Oracle Open Office Draw : backups -Oracle Open Office Draw : backups;automatic -Oracle Open Office Draw : backups;documents -Oracle Open Office Draw : bar charts -Oracle Open Office Draw : Basic -Oracle Open Office Draw : Basic;fonts for source display -Oracle Open Office Draw : Basic;programming -Oracle Open Office Draw : Basic;recording macros -Oracle Open Office Draw : basic fonts -Oracle Open Office Draw : behind object command -Oracle Open Office Draw : Bézier curves -Oracle Open Office Draw : Bézier curves;control points in presentations -Oracle Open Office Draw : bi-directional writing -Oracle Open Office Draw : binding space -Oracle Open Office Draw : bitmaps -Oracle Open Office Draw : bitmaps;converting to -Oracle Open Office Draw : bitmaps;converting to vector graphics -Oracle Open Office Draw : bitmaps;inserting and editing -Oracle Open Office Draw : bitmaps;off for faster printing -Oracle Open Office Draw : bitmaps;patterns -Oracle Open Office Draw : bitmaps;replacing colors -Oracle Open Office Draw : black and white display -Oracle Open Office Draw : black and white printing -Oracle Open Office Draw : black and white view -Oracle Open Office Draw : black printing in Calc -Oracle Open Office Draw : block selection mode -Oracle Open Office Draw : bold -Oracle Open Office Draw : bold;AutoFormat function -Oracle Open Office Draw : bold;text -Oracle Open Office Draw : bookmarks -Oracle Open Office Draw : bookmarks;Help -Oracle Open Office Draw : borders -Oracle Open Office Draw : borders;arranging -Oracle Open Office Draw : borders;cells on screen (Calc) -Oracle Open Office Draw : borders;for paragraphs -Oracle Open Office Draw : borders;for tables -Oracle Open Office Draw : borders;shadows -Oracle Open Office Draw : borders;table boundaries (Writer) -Oracle Open Office Draw : borders, see also frames -Oracle Open Office Draw : bound fields -Oracle Open Office Draw : bound fields;controls -Oracle Open Office Draw : boundaries of tables (Writer) -Oracle Open Office Draw : break display (Writer) -Oracle Open Office Draw : breaking object connections -Oracle Open Office Draw : brochures -Oracle Open Office Draw : brochures;printing several -Oracle Open Office Draw : bubble charts -Oracle Open Office Draw : build numbers of Oracle Open Office -Oracle Open Office Draw : bullet lists -Oracle Open Office Draw : bullet lists;formatting options -Oracle Open Office Draw : bullets -Oracle Open Office Draw : bullets;paragraphs -Oracle Open Office Draw : bullets;replacing -Oracle Open Office Draw : bullets;turning off -Oracle Open Office Draw : business cards -Oracle Open Office Draw : business cards;creating and synchronizing -Oracle Open Office Draw : business cards;using templates -Oracle Open Office Draw : button bars, see toolbars -Oracle Open Office Draw : buttons -Oracle Open Office Draw : buttons;adding push buttons -Oracle Open Office Draw : buttons;big/small -Oracle Open Office Draw : buttons;editing hyperlink buttons -Oracle Open Office Draw : buttons;form functions -Oracle Open Office Draw : buttons;toolbars -Oracle Open Office Draw : cache for graphics -Oracle Open Office Draw : calculating -Oracle Open Office Draw : calculating;iterative references (Calc) -Oracle Open Office Draw : calculating;regression curves -Oracle Open Office Draw : callouts -Oracle Open Office Draw : callouts;drawings -Oracle Open Office Draw : callouts;inserting in presentations -Oracle Open Office Draw : capital letters -Oracle Open Office Draw : capital letters;AutoCorrect function -Oracle Open Office Draw : capital letters;font effects -Oracle Open Office Draw : captions -Oracle Open Office Draw : captions;automatic captions (Writer) -Oracle Open Office Draw : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Draw : captions, see also labels/callouts -Oracle Open Office Draw : cascading update (Base) -Oracle Open Office Draw : case sensitivity -Oracle Open Office Draw : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Draw : case sensitivity;searching -Oracle Open Office Draw : cells -Oracle Open Office Draw : cells;aligning -Oracle Open Office Draw : cells;coloring (Calc) -Oracle Open Office Draw : cells;cursor positions after input (Calc) -Oracle Open Office Draw : cells;formatting without effect (Calc) -Oracle Open Office Draw : cells;line breaks -Oracle Open Office Draw : cells;linked to controls -Oracle Open Office Draw : cells;number of -Oracle Open Office Draw : cells;pasting -Oracle Open Office Draw : cells;resetting formats -Oracle Open Office Draw : cells;showing grid lines (Calc) -Oracle Open Office Draw : centered text -Oracle Open Office Draw : centimeters -Oracle Open Office Draw : certificates -Oracle Open Office Draw : changes -Oracle Open Office Draw : changes;accepting or rejecting -Oracle Open Office Draw : changes;comparing to original -Oracle Open Office Draw : changes;protecting -Oracle Open Office Draw : changes;recording -Oracle Open Office Draw : changes;review function -Oracle Open Office Draw : changes;showing -Oracle Open Office Draw : changing -Oracle Open Office Draw : changing;document titles -Oracle Open Office Draw : changing;file associations in Setup program -Oracle Open Office Draw : changing;icon sizes -Oracle Open Office Draw : changing;layer properties -Oracle Open Office Draw : changing;layout for handouts -Oracle Open Office Draw : changing;links -Oracle Open Office Draw : changing;order of slides -Oracle Open Office Draw : changing;slide layouts -Oracle Open Office Draw : changing;work directory -Oracle Open Office Draw : changing, see also editing and replacing -Oracle Open Office Draw : character styles -Oracle Open Office Draw : character styles;language selection -Oracle Open Office Draw : characters -Oracle Open Office Draw : characters;alternative fonts -Oracle Open Office Draw : characters;Asian layout -Oracle Open Office Draw : characters;bold -Oracle Open Office Draw : characters;coloring -Oracle Open Office Draw : characters;converting to curves -Oracle Open Office Draw : characters;displaying only on screen (Writer) -Oracle Open Office Draw : characters;enabling CTL and Asian characters -Oracle Open Office Draw : characters;font effects -Oracle Open Office Draw : characters;fonts and formats -Oracle Open Office Draw : characters;hyperlinks -Oracle Open Office Draw : characters;italics -Oracle Open Office Draw : characters;language selection -Oracle Open Office Draw : characters;shadowed -Oracle Open Office Draw : characters;spacing -Oracle Open Office Draw : characters;special -Oracle Open Office Draw : characters;underlining -Oracle Open Office Draw : charcoal sketches filter -Oracle Open Office Draw : chart legends -Oracle Open Office Draw : chart legends;hiding -Oracle Open Office Draw : chart legends;showing icons with labels -Oracle Open Office Draw : chart types -Oracle Open Office Draw : chart types;area -Oracle Open Office Draw : chart types;bubble -Oracle Open Office Draw : chart types;column and bar -Oracle Open Office Draw : chart types;column and line -Oracle Open Office Draw : chart types;line -Oracle Open Office Draw : chart types;net -Oracle Open Office Draw : chart types;pie/donut -Oracle Open Office Draw : chart types;stock -Oracle Open Office Draw : chart types;XY (scatter) -Oracle Open Office Draw : charts -Oracle Open Office Draw : charts;3D views -Oracle Open Office Draw : charts;aligning -Oracle Open Office Draw : charts;arranging within stacks -Oracle Open Office Draw : charts;bars with textures -Oracle Open Office Draw : charts;choosing chart types -Oracle Open Office Draw : charts;colors -Oracle Open Office Draw : charts;copying with link to source cell range -Oracle Open Office Draw : charts;data labels -Oracle Open Office Draw : charts;displaying (Calc) -Oracle Open Office Draw : charts;editing axes -Oracle Open Office Draw : charts;editing data -Oracle Open Office Draw : charts;editing legends -Oracle Open Office Draw : charts;editing titles -Oracle Open Office Draw : charts;formatting areas -Oracle Open Office Draw : charts;formatting floors -Oracle Open Office Draw : charts;formatting walls -Oracle Open Office Draw : charts;inserting -Oracle Open Office Draw : charts;overview -Oracle Open Office Draw : charts;positioning axes -Oracle Open Office Draw : charts;properties -Oracle Open Office Draw : charts;reorganizing -Oracle Open Office Draw : charts;scaling axes -Oracle Open Office Draw : charts;scaling text -Oracle Open Office Draw : charts;shortcuts -Oracle Open Office Draw : charts;showing axes -Oracle Open Office Draw : charts;updating automatically (Writer) -Oracle Open Office Draw : check box creation -Oracle Open Office Draw : Chinese writing systems -Oracle Open Office Draw : choosing printers -Oracle Open Office Draw : circle drawings -Oracle Open Office Draw : circle segments -Oracle Open Office Draw : circles -Oracle Open Office Draw : circles;of objects -Oracle Open Office Draw : Client Side ImageMap -Oracle Open Office Draw : clipboard -Oracle Open Office Draw : clipboard;cutting -Oracle Open Office Draw : clipboard;pasting -Oracle Open Office Draw : clipboard;pasting formatted/unformatted text -Oracle Open Office Draw : clipboard;selection clipboard -Oracle Open Office Draw : clipboard;Unix -Oracle Open Office Draw : closing -Oracle Open Office Draw : closing;documents -Oracle Open Office Draw : closing;shapes -Oracle Open Office Draw : closing;toolbars -Oracle Open Office Draw : collaboration -Oracle Open Office Draw : color bar -Oracle Open Office Draw : colors -Oracle Open Office Draw : colors;adding -Oracle Open Office Draw : colors;appearance -Oracle Open Office Draw : colors;backgrounds -Oracle Open Office Draw : colors;charts -Oracle Open Office Draw : colors;default colors -Oracle Open Office Draw : colors;defining and saving -Oracle Open Office Draw : colors;defining gradients interactively -Oracle Open Office Draw : colors;displaying presentations -Oracle Open Office Draw : colors;fill format -Oracle Open Office Draw : colors;fonts -Oracle Open Office Draw : colors;grid lines and cells (Calc) -Oracle Open Office Draw : colors;loading lists -Oracle Open Office Draw : colors;models -Oracle Open Office Draw : colors;not printing -Oracle Open Office Draw : colors;printing in grayscale -Oracle Open Office Draw : colors;replacing -Oracle Open Office Draw : colors;restriction (Calc) -Oracle Open Office Draw : colors;selection -Oracle Open Office Draw : column and line charts -Oracle Open Office Draw : column charts -Oracle Open Office Draw : column headers -Oracle Open Office Draw : column headers;displaying (Calc) -Oracle Open Office Draw : column headers;highlighting (Calc) -Oracle Open Office Draw : columns -Oracle Open Office Draw : columns;inserting -Oracle Open Office Draw : columns;setting with the mouse -Oracle Open Office Draw : combination charts -Oracle Open Office Draw : combining -Oracle Open Office Draw : combining;3D objects -Oracle Open Office Draw : combining;draw objects -Oracle Open Office Draw : combining;undoing -Oracle Open Office Draw : combo box creation -Oracle Open Office Draw : command button creation -Oracle Open Office Draw : command buttons, see push buttons -Oracle Open Office Draw : command line parameters -Oracle Open Office Draw : commands -Oracle Open Office Draw : commands;repeating -Oracle Open Office Draw : commands;SQL -Oracle Open Office Draw : comments -Oracle Open Office Draw : comments;displaying (Calc) -Oracle Open Office Draw : comments;inserting/editing/deleting/printing -Oracle Open Office Draw : comments;on changes -Oracle Open Office Draw : comments;printing in text -Oracle Open Office Draw : common terms -Oracle Open Office Draw : common terms;Chinese dictionary -Oracle Open Office Draw : common terms;glossaries -Oracle Open Office Draw : common terms;Internet glossary -Oracle Open Office Draw : comparisons -Oracle Open Office Draw : comparisons;document versions -Oracle Open Office Draw : comparisons;operators in default filter dialog -Oracle Open Office Draw : compatibility settings for MS Word import -Oracle Open Office Draw : complete screen view -Oracle Open Office Draw : complex text layout -Oracle Open Office Draw : complex text layout;definition -Oracle Open Office Draw : complex text layout;enabling -Oracle Open Office Draw : complex text layout, see CTL -Oracle Open Office Draw : compose key to insert special characters -Oracle Open Office Draw : concatenation, see ampersand symbol -Oracle Open Office Draw : conditional separators -Oracle Open Office Draw : conditions -Oracle Open Office Draw : conditions;in number formats -Oracle Open Office Draw : conditions;items in Data Navigator -Oracle Open Office Draw : cones -Oracle Open Office Draw : Configuration Manager -Oracle Open Office Draw : configuring -Oracle Open Office Draw : configuring;fax icon -Oracle Open Office Draw : configuring;Oracle Open Office -Oracle Open Office Draw : configuring;toolbars -Oracle Open Office Draw : connecting -Oracle Open Office Draw : connecting;draw objects -Oracle Open Office Draw : connecting;lines -Oracle Open Office Draw : connecting;paths and objects -Oracle Open Office Draw : connections to data sources (Base) -Oracle Open Office Draw : connectors -Oracle Open Office Draw : connectors;properties of -Oracle Open Office Draw : connectors;using -Oracle Open Office Draw : constructing shapes -Oracle Open Office Draw : contents protection -Oracle Open Office Draw : context menus -Oracle Open Office Draw : contours -Oracle Open Office Draw : contours;converting to -Oracle Open Office Draw : control point display in presentations -Oracle Open Office Draw : control points definition -Oracle Open Office Draw : controls -Oracle Open Office Draw : controls;activating in forms -Oracle Open Office Draw : controls;adding to documents -Oracle Open Office Draw : controls;arranging in forms -Oracle Open Office Draw : controls;arranging within stacks -Oracle Open Office Draw : controls;assigning data sources -Oracle Open Office Draw : controls;assigning macros (Basic) -Oracle Open Office Draw : controls;bound fields/list contents/linked cells -Oracle Open Office Draw : controls;events -Oracle Open Office Draw : controls;focus -Oracle Open Office Draw : controls;formatted fields -Oracle Open Office Draw : controls;grouping -Oracle Open Office Draw : controls;hidden -Oracle Open Office Draw : controls;inserting -Oracle Open Office Draw : controls;multi-line titles -Oracle Open Office Draw : controls;positions and sizes -Oracle Open Office Draw : controls;printing -Oracle Open Office Draw : controls;properties of form controls -Oracle Open Office Draw : controls;properties of table controls -Oracle Open Office Draw : controls;reference by SQL -Oracle Open Office Draw : controls;rich text control -Oracle Open Office Draw : controls;select mode -Oracle Open Office Draw : controls;showing (Writer) -Oracle Open Office Draw : converters -Oracle Open Office Draw : converters;Euro converter -Oracle Open Office Draw : converters;PostScript, UNIX -Oracle Open Office Draw : converters;XML -Oracle Open Office Draw : converting -Oracle Open Office Draw : converting;bitmaps to polygons -Oracle Open Office Draw : converting;Hangul/Hanja -Oracle Open Office Draw : converting;metrics -Oracle Open Office Draw : converting;Microsoft documents -Oracle Open Office Draw : converting;Oracle Open Office documents -Oracle Open Office Draw : converting;Pocket PC formats -Oracle Open Office Draw : converting;points -Oracle Open Office Draw : converting;text to curves -Oracle Open Office Draw : converting;to bitmaps -Oracle Open Office Draw : converting;to contours -Oracle Open Office Draw : converting;to curves, polygons, 3D -Oracle Open Office Draw : converting;to metafile format (WMF) -Oracle Open Office Draw : copies -Oracle Open Office Draw : copies;printing -Oracle Open Office Draw : copying -Oracle Open Office Draw : copying;by drag and drop -Oracle Open Office Draw : copying;data from text documents -Oracle Open Office Draw : copying;datasource records in spreadsheets -Oracle Open Office Draw : copying;draw objects -Oracle Open Office Draw : copying;draw objects between documents -Oracle Open Office Draw : copying;formatting -Oracle Open Office Draw : copying;from data source view -Oracle Open Office Draw : copying;from Gallery -Oracle Open Office Draw : copying;in Unix -Oracle Open Office Draw : copying;pictures, between documents -Oracle Open Office Draw : copying;sheet areas, to text documents -Oracle Open Office Draw : copying;slides -Oracle Open Office Draw : copying;text from other documents -Oracle Open Office Draw : copying;to Gallery -Oracle Open Office Draw : copyright for Oracle Open Office -Oracle Open Office Draw : corner points -Oracle Open Office Draw : corner roundings -Oracle Open Office Draw : covered objects -Oracle Open Office Draw : crash reports -Oracle Open Office Draw : criteria of query design (Base) -Oracle Open Office Draw : cropping pictures -Oracle Open Office Draw : cross-fading -Oracle Open Office Draw : cross-fading;creating cross-fades -Oracle Open Office Draw : cross-fading;slides -Oracle Open Office Draw : cross-fading;two draw objects -Oracle Open Office Draw : CTL -Oracle Open Office Draw : CTL;(not) wrapping words -Oracle Open Office Draw : CTL;complex text layout languages -Oracle Open Office Draw : CTL;definition -Oracle Open Office Draw : CTL;options -Oracle Open Office Draw : cubes -Oracle Open Office Draw : currencies -Oracle Open Office Draw : currencies;converters -Oracle Open Office Draw : currencies;format codes -Oracle Open Office Draw : currency field creation -Oracle Open Office Draw : currency formats -Oracle Open Office Draw : cursor -Oracle Open Office Draw : cursor;allowing in protected areas (Writer) -Oracle Open Office Draw : cursor;in read-only text -Oracle Open Office Draw : cursor;quickly moving to an object -Oracle Open Office Draw : curves -Oracle Open Office Draw : curves;converting text to -Oracle Open Office Draw : curves;drawing -Oracle Open Office Draw : curves;editing -Oracle Open Office Draw : curves;editing points -Oracle Open Office Draw : curves;properties in line charts/XY charts -Oracle Open Office Draw : curves;toolbar -Oracle Open Office Draw : custom animation -Oracle Open Office Draw : custom colors -Oracle Open Office Draw : custom dictionaries -Oracle Open Office Draw : custom dictionaries;editing -Oracle Open Office Draw : custom gradients -Oracle Open Office Draw : custom hyphens (Writer) -Oracle Open Office Draw : custom quotes -Oracle Open Office Draw : custom slide shows -Oracle Open Office Draw : custom templates -Oracle Open Office Draw : customizing -Oracle Open Office Draw : customizing;events -Oracle Open Office Draw : customizing;keyboard -Oracle Open Office Draw : customizing;menus -Oracle Open Office Draw : customizing;Oracle Open Office -Oracle Open Office Draw : customizing;round corners -Oracle Open Office Draw : customizing;toolbars -Oracle Open Office Draw : cutting -Oracle Open Office Draw : cylinders -Oracle Open Office Draw : dashes -Oracle Open Office Draw : data -Oracle Open Office Draw : data;filtering in forms -Oracle Open Office Draw : data;forms and subforms -Oracle Open Office Draw : data;read-only -Oracle Open Office Draw : data;sorting in forms -Oracle Open Office Draw : data;user data -Oracle Open Office Draw : data binding change in XForms -Oracle Open Office Draw : data labels in charts -Oracle Open Office Draw : Data Navigator -Oracle Open Office Draw : Data Navigator;adding/editing items -Oracle Open Office Draw : Data Navigator;display options -Oracle Open Office Draw : data ranges in charts -Oracle Open Office Draw : data series -Oracle Open Office Draw : data source browser -Oracle Open Office Draw : data source explorer -Oracle Open Office Draw : data source view -Oracle Open Office Draw : data source view;drag and drop -Oracle Open Office Draw : data source view;overview -Oracle Open Office Draw : data source view;showing -Oracle Open Office Draw : data sources -Oracle Open Office Draw : data sources;as tables -Oracle Open Office Draw : data sources;connection settings (Base) -Oracle Open Office Draw : data sources;copying records to spreadsheets -Oracle Open Office Draw : data sources;displaying current -Oracle Open Office Draw : data sources;LDAP server (Base) -Oracle Open Office Draw : data sources;Oracle Open Office Base -Oracle Open Office Draw : data sources;registering address books -Oracle Open Office Draw : data sources;reports -Oracle Open Office Draw : data sources;setting for stock charts -Oracle Open Office Draw : data sources;viewing -Oracle Open Office Draw : data structure of XForms -Oracle Open Office Draw : data values in charts -Oracle Open Office Draw : data, see also values -Oracle Open Office Draw : database contents -Oracle Open Office Draw : database contents;inserting as tables -Oracle Open Office Draw : database contents;inserting as text -Oracle Open Office Draw : database reports -Oracle Open Office Draw : Database Wizard (Base) -Oracle Open Office Draw : databases -Oracle Open Office Draw : databases;administration through SQL (Base) -Oracle Open Office Draw : databases;ADO (Base) -Oracle Open Office Draw : databases;connecting (Base) -Oracle Open Office Draw : databases;creating -Oracle Open Office Draw : databases;creating labels -Oracle Open Office Draw : databases;creating queries -Oracle Open Office Draw : databases;creating reports -Oracle Open Office Draw : databases;creating tables -Oracle Open Office Draw : databases;deleting (Base) -Oracle Open Office Draw : databases;drag and drop (Base) -Oracle Open Office Draw : databases;editing tables -Oracle Open Office Draw : databases;form filters -Oracle Open Office Draw : databases;formats (Base) -Oracle Open Office Draw : databases;importing/exporting -Oracle Open Office Draw : databases;JDBC (Base) -Oracle Open Office Draw : databases;main page (Base) -Oracle Open Office Draw : databases;ODBC (Base) -Oracle Open Office Draw : databases;overview -Oracle Open Office Draw : databases;registering (Base) -Oracle Open Office Draw : databases;searching records -Oracle Open Office Draw : databases;shortcut keys -Oracle Open Office Draw : databases;sorting -Oracle Open Office Draw : databases;standard filters -Oracle Open Office Draw : databases;text formats -Oracle Open Office Draw : databases;viewing -Oracle Open Office Draw : date fields -Oracle Open Office Draw : date fields;creating -Oracle Open Office Draw : date fields;properties -Oracle Open Office Draw : date formats -Oracle Open Office Draw : date on all slides -Oracle Open Office Draw : dates -Oracle Open Office Draw : dates;default (Calc) -Oracle Open Office Draw : dates;fixed -Oracle Open Office Draw : dates;printing in presentations -Oracle Open Office Draw : dates;start 1900/01/01 (Calc) -Oracle Open Office Draw : dates;start 1904/01/01 (Calc) -Oracle Open Office Draw : dates;variable -Oracle Open Office Draw : dBASE -Oracle Open Office Draw : dBASE;database settings (Base) -Oracle Open Office Draw : DDE -Oracle Open Office Draw : DDE;definition -Oracle Open Office Draw : deactivating -Oracle Open Office Draw : deactivating;plug-ins -Oracle Open Office Draw : decimal places displayed (Calc) -Oracle Open Office Draw : decimal separator key -Oracle Open Office Draw : decimal tab stops -Oracle Open Office Draw : decreasing sizes of views -Oracle Open Office Draw : default directories -Oracle Open Office Draw : default filters -Oracle Open Office Draw : default filters;comparison operators -Oracle Open Office Draw : default filters;databases -Oracle Open Office Draw : default printer -Oracle Open Office Draw : default printer;setting up -Oracle Open Office Draw : default printer;UNIX -Oracle Open Office Draw : default templates -Oracle Open Office Draw : default templates;changing -Oracle Open Office Draw : default templates;organizing -Oracle Open Office Draw : defaults -Oracle Open Office Draw : defaults;documents -Oracle Open Office Draw : defaults;file formats in file dialogs -Oracle Open Office Draw : defaults;file formats in Oracle Open Office -Oracle Open Office Draw : defaults;fonts -Oracle Open Office Draw : defaults;grids (Writer/Calc) -Oracle Open Office Draw : defaults;languages -Oracle Open Office Draw : defaults;number formats -Oracle Open Office Draw : defaults;of saving -Oracle Open Office Draw : defaults;program configuration -Oracle Open Office Draw : defaults;tab stops in text -Oracle Open Office Draw : defaults;views -Oracle Open Office Draw : defining -Oracle Open Office Draw : defining;arrowheads and other line ends -Oracle Open Office Draw : defining;colors -Oracle Open Office Draw : defining;gradients -Oracle Open Office Draw : defining;line styles -Oracle Open Office Draw : defining;paragraph borders -Oracle Open Office Draw : defining;queries (Base) -Oracle Open Office Draw : defining;table borders -Oracle Open Office Draw : deleting -Oracle Open Office Draw : deleting;all direct formatting -Oracle Open Office Draw : deleting;animation effects -Oracle Open Office Draw : deleting;comments -Oracle Open Office Draw : deleting;databases (Base) -Oracle Open Office Draw : deleting;hyperlinks -Oracle Open Office Draw : deleting;layers -Oracle Open Office Draw : deleting;lines in text -Oracle Open Office Draw : deleting;models/instances -Oracle Open Office Draw : deleting;namespaces in XForms -Oracle Open Office Draw : deleting;points -Oracle Open Office Draw : deleting;slide transition effects -Oracle Open Office Draw : deleting;slides -Oracle Open Office Draw : deleting;tab stops -Oracle Open Office Draw : deleting;templates -Oracle Open Office Draw : deleting;XML filters -Oracle Open Office Draw : depth stagger -Oracle Open Office Draw : descriptions for objects -Oracle Open Office Draw : design mode after saving -Oracle Open Office Draw : design view -Oracle Open Office Draw : design view;creating forms -Oracle Open Office Draw : design view;queries/views (Base) -Oracle Open Office Draw : designing -Oracle Open Office Draw : designing;database tables -Oracle Open Office Draw : designing;fonts -Oracle Open Office Draw : designing;queries (Base) -Oracle Open Office Draw : detaching toolbars -Oracle Open Office Draw : dictionaries -Oracle Open Office Draw : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Draw : dictionaries;creating -Oracle Open Office Draw : dictionaries;editing user-defined -Oracle Open Office Draw : dictionaries;spellcheck -Oracle Open Office Draw : dictionaries, see also languages -Oracle Open Office Draw : digital signatures -Oracle Open Office Draw : digital signatures;getting/managing/applying -Oracle Open Office Draw : digital signatures;overview -Oracle Open Office Draw : digital signatures;WebDAV over HTTPS -Oracle Open Office Draw : dimension lines -Oracle Open Office Draw : dimension lines;drawing -Oracle Open Office Draw : dimension lines;properties of -Oracle Open Office Draw : direct formatting -Oracle Open Office Draw : direct formatting;undoing all -Oracle Open Office Draw : directories -Oracle Open Office Draw : directories;creating new -Oracle Open Office Draw : directories;directory structure -Oracle Open Office Draw : disabled persons -Oracle Open Office Draw : display qualities of presentations -Oracle Open Office Draw : displaying -Oracle Open Office Draw : displaying;comments (Calc) -Oracle Open Office Draw : displaying;comments in text documents -Oracle Open Office Draw : displaying;non-printing characters (Writer) -Oracle Open Office Draw : displaying;pictures and objects (Writer) -Oracle Open Office Draw : displaying;tables (Writer) -Oracle Open Office Draw : displaying;zero values (Calc) -Oracle Open Office Draw : distances -Oracle Open Office Draw : distinct values in SQL queries -Oracle Open Office Draw : distorting in drawings -Oracle Open Office Draw : distorting objects -Oracle Open Office Draw : distributing draw objects -Oracle Open Office Draw : distributing XML filters -Oracle Open Office Draw : docking -Oracle Open Office Draw : docking;definition -Oracle Open Office Draw : docking;toolbars -Oracle Open Office Draw : docking;windows -Oracle Open Office Draw : Document Converter Wizard -Oracle Open Office Draw : Document Map, see Navigator -Oracle Open Office Draw : document types in Oracle Open Office -Oracle Open Office Draw : documents -Oracle Open Office Draw : documents;changing titles -Oracle Open Office Draw : documents;closing -Oracle Open Office Draw : documents;comparing -Oracle Open Office Draw : documents;contents as lists -Oracle Open Office Draw : documents;editing time -Oracle Open Office Draw : documents;exporting -Oracle Open Office Draw : documents;importing -Oracle Open Office Draw : documents;languages -Oracle Open Office Draw : documents;measurement units in -Oracle Open Office Draw : documents;merging -Oracle Open Office Draw : documents;number of pages/tables/sheets -Oracle Open Office Draw : documents;opening -Oracle Open Office Draw : documents;opening in design mode -Oracle Open Office Draw : documents;opening with templates -Oracle Open Office Draw : documents;organizing -Oracle Open Office Draw : documents;printing -Oracle Open Office Draw : documents;read-only -Oracle Open Office Draw : documents;reloading -Oracle Open Office Draw : documents;saving -Oracle Open Office Draw : documents;saving automatically -Oracle Open Office Draw : documents;saving in other formats -Oracle Open Office Draw : documents;sending as e-mail -Oracle Open Office Draw : documents;styles changed -Oracle Open Office Draw : documents;version management -Oracle Open Office Draw : documents;version numbers -Oracle Open Office Draw : donut charts -Oracle Open Office Draw : dotted areas -Oracle Open Office Draw : double-line spacing in paragraphs -Oracle Open Office Draw : double-line writing in Asian layout -Oracle Open Office Draw : doubling draw objects -Oracle Open Office Draw : drag and drop -Oracle Open Office Draw : drag and drop;copying and pasting text -Oracle Open Office Draw : drag and drop;data source view -Oracle Open Office Draw : drag and drop;from Gallery to draw objects -Oracle Open Office Draw : drag and drop;overview -Oracle Open Office Draw : drag and drop;pictures -Oracle Open Office Draw : drag and drop;to Gallery -Oracle Open Office Draw : Draw instructions -Oracle Open Office Draw : draw objects -Oracle Open Office Draw : draw objects;adding/editing/copying -Oracle Open Office Draw : draw objects;anchoring -Oracle Open Office Draw : draw objects;arranging within stacks -Oracle Open Office Draw : draw objects;combining -Oracle Open Office Draw : draw objects;connecting lines to -Oracle Open Office Draw : draw objects;converting text to -Oracle Open Office Draw : draw objects;copying between documents -Oracle Open Office Draw : draw objects;cross-fading two objects -Oracle Open Office Draw : draw objects;displaying (Calc) -Oracle Open Office Draw : draw objects;dropping Gallery pictures -Oracle Open Office Draw : draw objects;duplicating -Oracle Open Office Draw : draw objects;flipping -Oracle Open Office Draw : draw objects;grouping -Oracle Open Office Draw : draw objects;legends -Oracle Open Office Draw : draw objects;positioning and resizing -Oracle Open Office Draw : draw objects;protecting -Oracle Open Office Draw : draw objects;rotating -Oracle Open Office Draw : draw objects;slanting -Oracle Open Office Draw : draw objects;text entry mode -Oracle Open Office Draw : draw objects;text in -Oracle Open Office Draw : drawing -Oracle Open Office Draw : drawing;3D objects -Oracle Open Office Draw : drawing;freeform lines -Oracle Open Office Draw : drawing;lines -Oracle Open Office Draw : drawing;sectors and segments -Oracle Open Office Draw : Drawing bar -Oracle Open Office Draw : drawing lines in text -Oracle Open Office Draw : drawings -Oracle Open Office Draw : drawings;creating/opening -Oracle Open Office Draw : drawings;languages -Oracle Open Office Draw : drawings;printing -Oracle Open Office Draw : drawings;printing defaults -Oracle Open Office Draw : drawings;printing in text documents -Oracle Open Office Draw : drawings;saving -Oracle Open Office Draw : drawings;saving automatically -Oracle Open Office Draw : drawings;saving in other formats -Oracle Open Office Draw : drawings;sending as e-mail -Oracle Open Office Draw : drawings;shortcut keys -Oracle Open Office Draw : drawings;showing (Writer) -Oracle Open Office Draw : drawings;zoom function in -Oracle Open Office Draw : drawings, see also draw objects -Oracle Open Office Draw : drop-down lists in form functions -Oracle Open Office Draw : duplicating draw objects -Oracle Open Office Draw : e-mail attachments -Oracle Open Office Draw : Edit File icon -Oracle Open Office Draw : edit mode -Oracle Open Office Draw : edit mode;after opening -Oracle Open Office Draw : edit mode;through Enter key (Calc) -Oracle Open Office Draw : Edit Points bar -Oracle Open Office Draw : editing -Oracle Open Office Draw : editing;chart axes -Oracle Open Office Draw : editing;chart data -Oracle Open Office Draw : editing;chart legends -Oracle Open Office Draw : editing;chart titles -Oracle Open Office Draw : editing;comments -Oracle Open Office Draw : editing;curves -Oracle Open Office Draw : editing;data binding of XForms -Oracle Open Office Draw : editing;database tables and queries -Oracle Open Office Draw : editing;draw objects -Oracle Open Office Draw : editing;fields -Oracle Open Office Draw : editing;Fontwork objects -Oracle Open Office Draw : editing;gradients -Oracle Open Office Draw : editing;guides and snap points -Oracle Open Office Draw : editing;hyperlinks -Oracle Open Office Draw : editing;menus -Oracle Open Office Draw : editing;objects -Oracle Open Office Draw : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Draw : editing;pictures -Oracle Open Office Draw : editing;reports -Oracle Open Office Draw : editing;shortcut keys -Oracle Open Office Draw : editing;slide titles -Oracle Open Office Draw : editing;tab stops -Oracle Open Office Draw : editing;templates -Oracle Open Office Draw : editing;titles -Oracle Open Office Draw : editing;toolbars -Oracle Open Office Draw : editing;undoing -Oracle Open Office Draw : editing;XForms -Oracle Open Office Draw : editing time of documents -Oracle Open Office Draw : editors -Oracle Open Office Draw : editors;formula editor -Oracle Open Office Draw : editors;ImageMap editor -Oracle Open Office Draw : effects -Oracle Open Office Draw : effects;animated slide transitions -Oracle Open Office Draw : effects;applying to/removing from objects -Oracle Open Office Draw : effects;font positions -Oracle Open Office Draw : effects;fonts -Oracle Open Office Draw : effects;Fontwork icons -Oracle Open Office Draw : effects;preview -Oracle Open Office Draw : effects;sounds -Oracle Open Office Draw : ellipses -Oracle Open Office Draw : ellipses;segments -Oracle Open Office Draw : ellipses;toolbars -Oracle Open Office Draw : empty documents -Oracle Open Office Draw : empty paragraph removal -Oracle Open Office Draw : encryption of contents -Oracle Open Office Draw : entering groups -Oracle Open Office Draw : entering text from right to left -Oracle Open Office Draw : equal sign, see also operators -Oracle Open Office Draw : equations in formula editor -Oracle Open Office Draw : error bars in charts -Oracle Open Office Draw : error indicators in charts -Oracle Open Office Draw : Error Report Tool -Oracle Open Office Draw : Euro -Oracle Open Office Draw : Euro;currency formats -Oracle Open Office Draw : Euro;Euro Converter Wizard -Oracle Open Office Draw : even/odd pages -Oracle Open Office Draw : even/odd pages;printing -Oracle Open Office Draw : events -Oracle Open Office Draw : events;assigning scripts -Oracle Open Office Draw : events;controls -Oracle Open Office Draw : events;customizing -Oracle Open Office Draw : events;in forms -Oracle Open Office Draw : Excel -Oracle Open Office Draw : Excel;saving as -Oracle Open Office Draw : Excel;search criteria -Oracle Open Office Draw : exceptions -Oracle Open Office Draw : exceptions;user-defined dictionaries -Oracle Open Office Draw : exchanging, see also replacing -Oracle Open Office Draw : executing SQL commands -Oracle Open Office Draw : exiting -Oracle Open Office Draw : exiting;by clicking objects -Oracle Open Office Draw : exiting;groups -Oracle Open Office Draw : exiting;Oracle Open Office -Oracle Open Office Draw : expanding -Oracle Open Office Draw : expanding;slides -Oracle Open Office Draw : expanding formatting (Calc) -Oracle Open Office Draw : explorer of data sources -Oracle Open Office Draw : export filters -Oracle Open Office Draw : exporting -Oracle Open Office Draw : exporting;animations to GIF format -Oracle Open Office Draw : exporting;bitmaps -Oracle Open Office Draw : exporting;HTML and text documents -Oracle Open Office Draw : exporting;Microsoft Office documents with VBA code -Oracle Open Office Draw : exporting;presentations to HTML -Oracle Open Office Draw : exporting;spreadsheets to text format -Oracle Open Office Draw : exporting;templates -Oracle Open Office Draw : exporting;to foreign formats -Oracle Open Office Draw : exporting;to HTML -Oracle Open Office Draw : exporting;to Macromedia Flash format -Oracle Open Office Draw : exporting;to Microsoft Office formats -Oracle Open Office Draw : exporting;to PDF -Oracle Open Office Draw : exporting;to PostScript format -Oracle Open Office Draw : exporting;to XML -Oracle Open Office Draw : exporting;XML files -Oracle Open Office Draw : extended tips in Help -Oracle Open Office Draw : extension mode in text -Oracle Open Office Draw : extensions -Oracle Open Office Draw : extensions;Extension Manager -Oracle Open Office Draw : extensions;file formats -Oracle Open Office Draw : external keys (Base) -Oracle Open Office Draw : extrusion objects -Oracle Open Office Draw : eyedropper tool -Oracle Open Office Draw : faster printing -Oracle Open Office Draw : faxes -Oracle Open Office Draw : faxes;configuring Oracle Open Office -Oracle Open Office Draw : faxes;fax programs/fax printers under UNIX -Oracle Open Office Draw : faxes;selecting a fax machine -Oracle Open Office Draw : faxes;sending -Oracle Open Office Draw : faxes;wizards -Oracle Open Office Draw : feedback -Oracle Open Office Draw : feedback;automatically -Oracle Open Office Draw : fields -Oracle Open Office Draw : fields;authors -Oracle Open Office Draw : fields;database tables -Oracle Open Office Draw : fields;dates (fixed) -Oracle Open Office Draw : fields;dates (variable) -Oracle Open Office Draw : fields;displaying field codes (Writer) -Oracle Open Office Draw : fields;editing -Oracle Open Office Draw : fields;file names -Oracle Open Office Draw : fields;formatted fields -Oracle Open Office Draw : fields;formatting -Oracle Open Office Draw : fields;in slides -Oracle Open Office Draw : fields;page numbers -Oracle Open Office Draw : fields;times (fixed) -Oracle Open Office Draw : fields;times (variable) -Oracle Open Office Draw : fields;updating automatically (Writer) -Oracle Open Office Draw : file associations for Microsoft Office -Oracle Open Office Draw : file filters -Oracle Open Office Draw : file filters;mobile devices -Oracle Open Office Draw : file filters;XML -Oracle Open Office Draw : file formats -Oracle Open Office Draw : file formats;changing Oracle Open Office defaults -Oracle Open Office Draw : file formats;OpenDocument/XML -Oracle Open Office Draw : file formats;saving always in other formats -Oracle Open Office Draw : file selection button -Oracle Open Office Draw : file sharing options for current document -Oracle Open Office Draw : files -Oracle Open Office Draw : files;filters and formats -Oracle Open Office Draw : files;importing -Oracle Open Office Draw : files;inserting -Oracle Open Office Draw : files;inserting pictures -Oracle Open Office Draw : files;opening -Oracle Open Office Draw : files;opening with placeholders -Oracle Open Office Draw : files;properties -Oracle Open Office Draw : files;saving -Oracle Open Office Draw : files;saving automatically -Oracle Open Office Draw : files;saving in other formats -Oracle Open Office Draw : files;sending as e-mail -Oracle Open Office Draw : files;version numbers -Oracle Open Office Draw : files and folders in Oracle Open Office -Oracle Open Office Draw : fill characters with tabulators -Oracle Open Office Draw : fill colors for areas -Oracle Open Office Draw : fill format mode -Oracle Open Office Draw : fill format mode;styles -Oracle Open Office Draw : fill patterns for areas -Oracle Open Office Draw : filter conditions -Oracle Open Office Draw : filter conditions;connecting -Oracle Open Office Draw : filter conditions;in queries (Base) -Oracle Open Office Draw : filtering -Oracle Open Office Draw : filtering;data in databases -Oracle Open Office Draw : filtering;data in forms -Oracle Open Office Draw : filters -Oracle Open Office Draw : filters;comparison operators -Oracle Open Office Draw : filters;for import and export -Oracle Open Office Draw : filters;Navigator -Oracle Open Office Draw : filters;pictures -Oracle Open Office Draw : filters;XML filter settings -Oracle Open Office Draw : Find tab in Help -Oracle Open Office Draw : finding -Oracle Open Office Draw : finding;in all sheets -Oracle Open Office Draw : finding;records in form documents -Oracle Open Office Draw : finding;selections -Oracle Open Office Draw : finding;similarity search -Oracle Open Office Draw : fitting to pages -Oracle Open Office Draw : fitting to pages;individual slides -Oracle Open Office Draw : fitting to pages;print settings in Math -Oracle Open Office Draw : fitting to pages;print settings in presentations -Oracle Open Office Draw : fixed text -Oracle Open Office Draw : fixed text;form functions -Oracle Open Office Draw : fixing toolbars -Oracle Open Office Draw : flipping around a flip line -Oracle Open Office Draw : flipping draw objects -Oracle Open Office Draw : floating frames in HTML documents -Oracle Open Office Draw : floating text -Oracle Open Office Draw : floating toolbars -Oracle Open Office Draw : flowcharts -Oracle Open Office Draw : focus of controls -Oracle Open Office Draw : folder creation -Oracle Open Office Draw : font lists -Oracle Open Office Draw : font name box -Oracle Open Office Draw : font sizes -Oracle Open Office Draw : font sizes;bullets -Oracle Open Office Draw : font sizes;relative changes -Oracle Open Office Draw : font sizes;scaling on screen -Oracle Open Office Draw : font sizes;text -Oracle Open Office Draw : fonts -Oracle Open Office Draw : fonts;adding under UNIX -Oracle Open Office Draw : fonts;changing in templates -Oracle Open Office Draw : fonts;colors -Oracle Open Office Draw : fonts;default settings -Oracle Open Office Draw : fonts;effects -Oracle Open Office Draw : fonts;for HTML and Basic -Oracle Open Office Draw : fonts;formats -Oracle Open Office Draw : fonts;outlines -Oracle Open Office Draw : fonts;positions in text -Oracle Open Office Draw : fonts;shadows -Oracle Open Office Draw : fonts;specifying several -Oracle Open Office Draw : fonts;strikethrough -Oracle Open Office Draw : fonts;styles -Oracle Open Office Draw : fonts;text objects -Oracle Open Office Draw : Fontwork icons -Oracle Open Office Draw : footers -Oracle Open Office Draw : footers;backgrounds -Oracle Open Office Draw : footers;slide masters -Oracle Open Office Draw : footers;slides -Oracle Open Office Draw : form controls -Oracle Open Office Draw : form controls;assigning macros -Oracle Open Office Draw : form controls;protecting -Oracle Open Office Draw : form controls;toolbars -Oracle Open Office Draw : form fields -Oracle Open Office Draw : form filters -Oracle Open Office Draw : Form Navigator -Oracle Open Office Draw : format codes -Oracle Open Office Draw : format codes;numbers -Oracle Open Office Draw : format filling printing in Oracle Open Office Math -Oracle Open Office Draw : Format Paintbrush -Oracle Open Office Draw : formats -Oracle Open Office Draw : formats;Asian layout -Oracle Open Office Draw : formats;fonts -Oracle Open Office Draw : formats;maximizing page formats -Oracle Open Office Draw : formats;number and currency formats -Oracle Open Office Draw : formats;of currencies/date/time -Oracle Open Office Draw : formats;on opening and saving -Oracle Open Office Draw : formats;pasting in special formats -Oracle Open Office Draw : formats;positions -Oracle Open Office Draw : formats;tabulators -Oracle Open Office Draw : formatted fields -Oracle Open Office Draw : formatted fields;form functions -Oracle Open Office Draw : formatted fields;properties -Oracle Open Office Draw : formatting -Oracle Open Office Draw : formatting;Asian typography -Oracle Open Office Draw : formatting;axes in charts -Oracle Open Office Draw : formatting;chart areas -Oracle Open Office Draw : formatting;chart floors -Oracle Open Office Draw : formatting;chart legends -Oracle Open Office Draw : formatting;chart titles -Oracle Open Office Draw : formatting;chart walls -Oracle Open Office Draw : formatting;copying -Oracle Open Office Draw : formatting;definition -Oracle Open Office Draw : formatting;expanding (Calc) -Oracle Open Office Draw : formatting;fields -Oracle Open Office Draw : formatting;font effects -Oracle Open Office Draw : formatting;hyperlinks -Oracle Open Office Draw : formatting;pages -Oracle Open Office Draw : formatting;printer metrics (Writer) -Oracle Open Office Draw : formatting;slides -Oracle Open Office Draw : formatting;slides headings -Oracle Open Office Draw : formatting;undoing -Oracle Open Office Draw : formatting;undoing when writing -Oracle Open Office Draw : forms -Oracle Open Office Draw : forms;browsing -Oracle Open Office Draw : forms;Combo Box/List Box Wizard -Oracle Open Office Draw : forms;creating -Oracle Open Office Draw : forms;data -Oracle Open Office Draw : forms;designing (Base) -Oracle Open Office Draw : forms;events -Oracle Open Office Draw : forms;filtering data -Oracle Open Office Draw : forms;finding records -Oracle Open Office Draw : forms;focus after opening -Oracle Open Office Draw : forms;general information (Base) -Oracle Open Office Draw : forms;grouping controls -Oracle Open Office Draw : forms;HTML filters -Oracle Open Office Draw : forms;inserting -Oracle Open Office Draw : forms;Navigator -Oracle Open Office Draw : forms;opening in design mode -Oracle Open Office Draw : forms;properties -Oracle Open Office Draw : forms;sorting data -Oracle Open Office Draw : forms;subforms -Oracle Open Office Draw : forms;wizards -Oracle Open Office Draw : forms;XForms -Oracle Open Office Draw : formula texts -Oracle Open Office Draw : formula texts;printing in Oracle Open Office Math -Oracle Open Office Draw : formulas -Oracle Open Office Draw : formulas;new -Oracle Open Office Draw : formulas;starting formula editor -Oracle Open Office Draw : formulas in reports -Oracle Open Office Draw : formulas in reports;editing -Oracle Open Office Draw : forums and support -Oracle Open Office Draw : frames -Oracle Open Office Draw : frames;around paragraphs -Oracle Open Office Draw : frames;around tables -Oracle Open Office Draw : frames;AutoCorrect function -Oracle Open Office Draw : frames;backgrounds -Oracle Open Office Draw : frames;captions (Writer) -Oracle Open Office Draw : frames;printing in Oracle Open Office Math -Oracle Open Office Draw : frames;protecting -Oracle Open Office Draw : frames;selection frames -Oracle Open Office Draw : frames;text fitting to frames -Oracle Open Office Draw : freeform lines -Oracle Open Office Draw : freeform lines;draw functions -Oracle Open Office Draw : freeform lines;drawing -Oracle Open Office Draw : FTP -Oracle Open Office Draw : FTP;opening documents -Oracle Open Office Draw : FTP;saving documents -Oracle Open Office Draw : full joins (Base) -Oracle Open Office Draw : full screen view -Oracle Open Office Draw : full-text search in Help -Oracle Open Office Draw : functions in reports -Oracle Open Office Draw : functions in reports;editing -Oracle Open Office Draw : Gallery -Oracle Open Office Draw : Gallery;adding pictures -Oracle Open Office Draw : Gallery;dragging pictures to draw objects -Oracle Open Office Draw : Gallery;hiding/showing -Oracle Open Office Draw : Gallery;inserting pictures from -Oracle Open Office Draw : geometric forms -Oracle Open Office Draw : get method for form transmissions -Oracle Open Office Draw : getting support -Oracle Open Office Draw : GIF format -Oracle Open Office Draw : GIF images -Oracle Open Office Draw : GIF images;animating -Oracle Open Office Draw : GIF images;replacing colors -Oracle Open Office Draw : glossaries -Oracle Open Office Draw : glossaries;common terms -Oracle Open Office Draw : glossaries;Internet terms -Oracle Open Office Draw : glue points -Oracle Open Office Draw : glue points;using -Oracle Open Office Draw : gradients -Oracle Open Office Draw : gradients;applying and defining -Oracle Open Office Draw : gradients;defining colors -Oracle Open Office Draw : gradients;loading lists -Oracle Open Office Draw : gradients;transparent -Oracle Open Office Draw : gradients off for faster printing -Oracle Open Office Draw : graphic objects, see draw objects -Oracle Open Office Draw : graphical text art -Oracle Open Office Draw : graphics -Oracle Open Office Draw : graphics;cache -Oracle Open Office Draw : graphics;protecting -Oracle Open Office Draw : graphics, see also pictures -Oracle Open Office Draw : grayscale display -Oracle Open Office Draw : grayscale printing -Oracle Open Office Draw : grid controls -Oracle Open Office Draw : grid controls;form functions -Oracle Open Office Draw : grids -Oracle Open Office Draw : grids;defaults (Writer/Calc) -Oracle Open Office Draw : grids;display options (Impress/Draw) -Oracle Open Office Draw : grids;displaying lines (Calc) -Oracle Open Office Draw : grids;formatting axes -Oracle Open Office Draw : grids;inserting in charts -Oracle Open Office Draw : group box creation -Oracle Open Office Draw : grouping -Oracle Open Office Draw : grouping;draw objects -Oracle Open Office Draw : groups -Oracle Open Office Draw : groups;entering/exiting/ungrouping -Oracle Open Office Draw : groups;naming -Oracle Open Office Draw : groups;of controls -Oracle Open Office Draw : guides -Oracle Open Office Draw : guides;display options (Impress/Draw) -Oracle Open Office Draw : guides;displaying when moving objects (Impress) -Oracle Open Office Draw : guides;editing -Oracle Open Office Draw : guides;inserting -Oracle Open Office Draw : guides;show snap lines icon -Oracle Open Office Draw : guides;showing (Calc) -Oracle Open Office Draw : guides;showing when moving frames (Writer) -Oracle Open Office Draw : gutter -Oracle Open Office Draw : half-spheres -Oracle Open Office Draw : hand icon for moving slides -Oracle Open Office Draw : handles -Oracle Open Office Draw : handles;displaying (Writer) -Oracle Open Office Draw : handles;large -Oracle Open Office Draw : handles;scaling -Oracle Open Office Draw : handles;showing simple/large handles (Calc) -Oracle Open Office Draw : handles;simple -Oracle Open Office Draw : handout printing -Oracle Open Office Draw : Hangul/Hanja -Oracle Open Office Draw : hatching -Oracle Open Office Draw : hatching -Oracle Open Office Draw : hatching;loading lists -Oracle Open Office Draw : headers -Oracle Open Office Draw : headers;backgrounds -Oracle Open Office Draw : headers and footers -Oracle Open Office Draw : headers and footers;master layouts -Oracle Open Office Draw : headers and footers;slide masters -Oracle Open Office Draw : headers and footers;slides -Oracle Open Office Draw : headings -Oracle Open Office Draw : headings;entering as text box -Oracle Open Office Draw : Hebrew -Oracle Open Office Draw : Hebrew;entering text -Oracle Open Office Draw : Hebrew;language settings -Oracle Open Office Draw : Help -Oracle Open Office Draw : Help;bookmarks -Oracle Open Office Draw : Help;extended tips on/off -Oracle Open Office Draw : Help;full-text search -Oracle Open Office Draw : Help;Help tips -Oracle Open Office Draw : Help;keywords -Oracle Open Office Draw : Help;navigation pane showing/hiding -Oracle Open Office Draw : Help;style sheets -Oracle Open Office Draw : Help;topics -Oracle Open Office Draw : Help Agent -Oracle Open Office Draw : Help Agent;help -Oracle Open Office Draw : Help Agent;options -Oracle Open Office Draw : Help tips -Oracle Open Office Draw : Help tips;hiding -Oracle Open Office Draw : hidden controls in Form Navigator -Oracle Open Office Draw : hidden fields display (Writer) -Oracle Open Office Draw : hidden pages -Oracle Open Office Draw : hidden pages;printing in presentations -Oracle Open Office Draw : hidden pages;showing -Oracle Open Office Draw : hidden text -Oracle Open Office Draw : hidden text;showing (Writer) -Oracle Open Office Draw : hiding -Oracle Open Office Draw : hiding;changes -Oracle Open Office Draw : hiding;chart legends -Oracle Open Office Draw : hiding;docked windows -Oracle Open Office Draw : hiding;layers -Oracle Open Office Draw : hiding;levels -Oracle Open Office Draw : hiding;navigation pane in Help window -Oracle Open Office Draw : hiding;slides -Oracle Open Office Draw : hiding;subpoints -Oracle Open Office Draw : high contrast mode -Oracle Open Office Draw : Hindi -Oracle Open Office Draw : Hindi;entering text -Oracle Open Office Draw : Hindi;language settings -Oracle Open Office Draw : horizontal scrollbars (Writer) -Oracle Open Office Draw : hot spots in flowcharts -Oracle Open Office Draw : hotspots -Oracle Open Office Draw : HowTos for charts -Oracle Open Office Draw : Howtos for Draw -Oracle Open Office Draw : HTML -Oracle Open Office Draw : HTML;definition -Oracle Open Office Draw : HTML;export character set -Oracle Open Office Draw : HTML;exporting from presentations -Oracle Open Office Draw : HTML;fonts for source display -Oracle Open Office Draw : HTML;importing into presentations -Oracle Open Office Draw : HTML;importing META tags -Oracle Open Office Draw : HTML;inserting files -Oracle Open Office Draw : HTML;live presentations -Oracle Open Office Draw : HTML documents -Oracle Open Office Draw : HTML documents;auto reloading -Oracle Open Office Draw : HTML documents;importing/exporting -Oracle Open Office Draw : HTML documents;META tags in -Oracle Open Office Draw : HTML documents;new -Oracle Open Office Draw : HTML documents;source text -Oracle Open Office Draw : hyperlinks -Oracle Open Office Draw : hyperlinks;assigning macros -Oracle Open Office Draw : hyperlinks;character formats -Oracle Open Office Draw : hyperlinks;definition -Oracle Open Office Draw : hyperlinks;deleting -Oracle Open Office Draw : hyperlinks;editing -Oracle Open Office Draw : hyperlinks;inserting -Oracle Open Office Draw : hyperlinks;relative and absolute -Oracle Open Office Draw : hyperlinks;turning off automatic recognition -Oracle Open Office Draw : hyperlinks, see also links -Oracle Open Office Draw : hyphenation -Oracle Open Office Draw : hyphenation;activating for a language -Oracle Open Office Draw : hyphenation;minimal number of characters -Oracle Open Office Draw : hyphens -Oracle Open Office Draw : hyphens;displaying custom (Writer) -Oracle Open Office Draw : hyphens;inserting custom -Oracle Open Office Draw : icon bars, see toolbars -Oracle Open Office Draw : icon sizes -Oracle Open Office Draw : ignore list for spellcheck -Oracle Open Office Draw : illumination -Oracle Open Office Draw : illumination;3D charts -Oracle Open Office Draw : illustrations, see pictures -Oracle Open Office Draw : image button creation -Oracle Open Office Draw : image control creation -Oracle Open Office Draw : ImageMap -Oracle Open Office Draw : ImageMap;definition -Oracle Open Office Draw : ImageMap;editor -Oracle Open Office Draw : images -Oracle Open Office Draw : images;ImageMap -Oracle Open Office Draw : images;inserting -Oracle Open Office Draw : images;inserting and editing bitmaps -Oracle Open Office Draw : images, see also pictures -Oracle Open Office Draw : IME -Oracle Open Office Draw : IME;definition -Oracle Open Office Draw : IME;showing/hiding -Oracle Open Office Draw : import filters -Oracle Open Office Draw : import restrictions for Microsoft Office -Oracle Open Office Draw : importing -Oracle Open Office Draw : importing;bitmaps -Oracle Open Office Draw : importing;compatibility settings for text import -Oracle Open Office Draw : importing;databases -Oracle Open Office Draw : importing;documents in other formats -Oracle Open Office Draw : importing;from XML -Oracle Open Office Draw : importing;HTML and text documents -Oracle Open Office Draw : importing;HTML with META tags -Oracle Open Office Draw : importing;Microsoft Office documents with VBA code -Oracle Open Office Draw : importing;presentations with HTML -Oracle Open Office Draw : importing;tables in text format -Oracle Open Office Draw : importing;templates -Oracle Open Office Draw : improvement program -Oracle Open Office Draw : in front of object command -Oracle Open Office Draw : inches -Oracle Open Office Draw : including spreadsheets -Oracle Open Office Draw : increasing sizes of views -Oracle Open Office Draw : Index tab in Help -Oracle Open Office Draw : indexes -Oracle Open Office Draw : indexes;backgrounds -Oracle Open Office Draw : indexes;showing/hiding Help index tab -Oracle Open Office Draw : indicator lines in text -Oracle Open Office Draw : inner joins (Base) -Oracle Open Office Draw : input method window -Oracle Open Office Draw : insert mode for entering text -Oracle Open Office Draw : inserting -Oracle Open Office Draw : inserting;3D objects -Oracle Open Office Draw : inserting;arrows -Oracle Open Office Draw : inserting;buttons in toolbars -Oracle Open Office Draw : inserting;callouts in presentations -Oracle Open Office Draw : inserting;cell ranges from spreadsheets -Oracle Open Office Draw : inserting;charts -Oracle Open Office Draw : inserting;clipboard options -Oracle Open Office Draw : inserting;columns -Oracle Open Office Draw : inserting;comments -Oracle Open Office Draw : inserting;data from text documents -Oracle Open Office Draw : inserting;datasource records in spreadsheets -Oracle Open Office Draw : inserting;drawings -Oracle Open Office Draw : inserting;ellipses -Oracle Open Office Draw : inserting;files -Oracle Open Office Draw : inserting;floating frames -Oracle Open Office Draw : inserting;Fontwork objects -Oracle Open Office Draw : inserting;form fields -Oracle Open Office Draw : inserting;headers/footers in all slides -Oracle Open Office Draw : inserting;hyperlinks -Oracle Open Office Draw : inserting;layers -Oracle Open Office Draw : inserting;line breaks in cells -Oracle Open Office Draw : inserting;lines -Oracle Open Office Draw : inserting;movies/sounds -Oracle Open Office Draw : inserting;new text tables defaults -Oracle Open Office Draw : inserting;objects from files -Oracle Open Office Draw : inserting;objects from Gallery -Oracle Open Office Draw : inserting;OLE objects -Oracle Open Office Draw : inserting;paragraph borders -Oracle Open Office Draw : inserting;paragraph bullets -Oracle Open Office Draw : inserting;pictures -Oracle Open Office Draw : inserting;pictures in Gallery -Oracle Open Office Draw : inserting;plug-ins -Oracle Open Office Draw : inserting;polygons -Oracle Open Office Draw : inserting;push buttons -Oracle Open Office Draw : inserting;rectangles -Oracle Open Office Draw : inserting;rows -Oracle Open Office Draw : inserting;slides -Oracle Open Office Draw : inserting;slides as links -Oracle Open Office Draw : inserting;slides from files -Oracle Open Office Draw : inserting;special characters -Oracle Open Office Draw : inserting;tab stops -Oracle Open Office Draw : inserting;text frames -Oracle Open Office Draw : inserting;text in presentations -Oracle Open Office Draw : inserting;textures on chart bars -Oracle Open Office Draw : installing -Oracle Open Office Draw : installing;ActiveX control -Oracle Open Office Draw : installing;mobile device filters -Oracle Open Office Draw : installing;UNO components -Oracle Open Office Draw : installing;XML filters -Oracle Open Office Draw : instructions -Oracle Open Office Draw : instructions;general -Oracle Open Office Draw : instructions;Oracle Open Office Draw -Oracle Open Office Draw : instructions;Oracle Open Office Impress -Oracle Open Office Draw : interactions -Oracle Open Office Draw : interactions;hot spots -Oracle Open Office Draw : interactions;objects in interactive presentations -Oracle Open Office Draw : interactions;preview -Oracle Open Office Draw : Internet -Oracle Open Office Draw : Internet;checking for updates -Oracle Open Office Draw : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Draw : Internet;presentations -Oracle Open Office Draw : Internet;starting searches -Oracle Open Office Draw : Internet glossary -Oracle Open Office Draw : intersecting draw objects -Oracle Open Office Draw : invert filter -Oracle Open Office Draw : invisible areas -Oracle Open Office Draw : italic text -Oracle Open Office Draw : iterative references in spreadsheets -Oracle Open Office Draw : Java -Oracle Open Office Draw : Java;definition -Oracle Open Office Draw : Java;setting options -Oracle Open Office Draw : JDBC -Oracle Open Office Draw : JDBC;databases (Base) -Oracle Open Office Draw : JDBC;definition -Oracle Open Office Draw : joining -Oracle Open Office Draw : joining;3D objects -Oracle Open Office Draw : joining;paragraphs -Oracle Open Office Draw : joining;tables (Base) -Oracle Open Office Draw : joins in databases (Base) -Oracle Open Office Draw : justifying text -Oracle Open Office Draw : kerning -Oracle Open Office Draw : kerning;Asian texts -Oracle Open Office Draw : kerning;definition -Oracle Open Office Draw : kerning;in characters -Oracle Open Office Draw : key fields for relations (Base) -Oracle Open Office Draw : keyboard -Oracle Open Office Draw : keyboard;assigning/editing shortcut keys -Oracle Open Office Draw : keyboard;general commands -Oracle Open Office Draw : keyboard;removing numbering -Oracle Open Office Draw : keyboard;zooming -Oracle Open Office Draw : keys -Oracle Open Office Draw : keys;adding push buttons -Oracle Open Office Draw : keys;primary keys (Base) -Oracle Open Office Draw : kiosk export -Oracle Open Office Draw : labels -Oracle Open Office Draw : labels;creating and synchronizing -Oracle Open Office Draw : labels;for charts -Oracle Open Office Draw : labels;for draw objects -Oracle Open Office Draw : labels;form functions -Oracle Open Office Draw : labels;from databases -Oracle Open Office Draw : labels, see also names/callouts -Oracle Open Office Draw : languages -Oracle Open Office Draw : languages;activating modules -Oracle Open Office Draw : languages;Asian support -Oracle Open Office Draw : languages;complex text layout -Oracle Open Office Draw : languages;locale settings -Oracle Open Office Draw : languages;selecting for text -Oracle Open Office Draw : languages;setting options -Oracle Open Office Draw : languages;spellcheck -Oracle Open Office Draw : languages;spellchecking and formatting -Oracle Open Office Draw : large handles (Writer) -Oracle Open Office Draw : large icons -Oracle Open Office Draw : layer arrangement -Oracle Open Office Draw : layers -Oracle Open Office Draw : layers;definition -Oracle Open Office Draw : layers;deleting -Oracle Open Office Draw : layers;inserting and editing -Oracle Open Office Draw : layers;moving objects -Oracle Open Office Draw : layers;renaming -Oracle Open Office Draw : layers;working with -Oracle Open Office Draw : layout -Oracle Open Office Draw : layout;importing Word documents -Oracle Open Office Draw : layout;pages -Oracle Open Office Draw : layout;printing handouts -Oracle Open Office Draw : LDAP server -Oracle Open Office Draw : LDAP server;address books (Base) -Oracle Open Office Draw : LDAP server;sign on options -Oracle Open Office Draw : leading between paragraphs -Oracle Open Office Draw : left alignment of paragraphs -Oracle Open Office Draw : left joins (Base) -Oracle Open Office Draw : legends -Oracle Open Office Draw : legends;charts -Oracle Open Office Draw : legends;draw objects -Oracle Open Office Draw : legends;drawings -Oracle Open Office Draw : legends;rounding corners -Oracle Open Office Draw : Letter Wizard -Oracle Open Office Draw : levels -Oracle Open Office Draw : levels;depth stagger -Oracle Open Office Draw : levels;hiding -Oracle Open Office Draw : levels;macro security -Oracle Open Office Draw : levels;showing -Oracle Open Office Draw : limits of tables (Writer) -Oracle Open Office Draw : line breaks -Oracle Open Office Draw : line breaks;in cells -Oracle Open Office Draw : line charts -Oracle Open Office Draw : line spacing -Oracle Open Office Draw : line spacing;context menu in paragraphs -Oracle Open Office Draw : line spacing;paragraph -Oracle Open Office Draw : line styles -Oracle Open Office Draw : line styles;applying -Oracle Open Office Draw : line styles;defining -Oracle Open Office Draw : line styles;loading -Oracle Open Office Draw : lines -Oracle Open Office Draw : lines;about line ends -Oracle Open Office Draw : lines;connecting objects -Oracle Open Office Draw : lines;defining ends -Oracle Open Office Draw : lines;draw functions -Oracle Open Office Draw : lines;drawing -Oracle Open Office Draw : lines;drawing in text -Oracle Open Office Draw : lines;editing points -Oracle Open Office Draw : lines;inserting -Oracle Open Office Draw : lines;removing automatic lines -Oracle Open Office Draw : lines of text -Oracle Open Office Draw : lines of text;alignment -Oracle Open Office Draw : links -Oracle Open Office Draw : links;between cells and controls -Oracle Open Office Draw : links;by drag and drop -Oracle Open Office Draw : links;character formats -Oracle Open Office Draw : links;definition -Oracle Open Office Draw : links;editing hyperlinks -Oracle Open Office Draw : links;inserting -Oracle Open Office Draw : links;modifying -Oracle Open Office Draw : links;opening files with -Oracle Open Office Draw : links;relational databases (Base) -Oracle Open Office Draw : links;turning off automatic recognition -Oracle Open Office Draw : links;updating options (Writer) -Oracle Open Office Draw : links;updating specific links -Oracle Open Office Draw : list box creation -Oracle Open Office Draw : lists -Oracle Open Office Draw : lists;animations -Oracle Open Office Draw : lists;data assigned to controls -Oracle Open Office Draw : lists;registered databases (Base) -Oracle Open Office Draw : lists;regular expressions -Oracle Open Office Draw : live presentations on the Internet -Oracle Open Office Draw : loading -Oracle Open Office Draw : loading;arrow and line styles -Oracle Open Office Draw : loading;colors/gradients/hatchings -Oracle Open Office Draw : loading;documents -Oracle Open Office Draw : loading;documents from other formats -Oracle Open Office Draw : loading;HTML documents, automatically -Oracle Open Office Draw : loading;Microsoft Office documents with VBA code -Oracle Open Office Draw : loading;reloading -Oracle Open Office Draw : loading;XML files -Oracle Open Office Draw : locale settings -Oracle Open Office Draw : locking layers -Oracle Open Office Draw : logarithmic scaling along axes -Oracle Open Office Draw : lowercase letters -Oracle Open Office Draw : lowercase letters;font effects -Oracle Open Office Draw : Macro Wizard (Base) -Oracle Open Office Draw : Macromedia Flash export -Oracle Open Office Draw : macros -Oracle Open Office Draw : macros;assigning to events in forms -Oracle Open Office Draw : macros;attaching new (Base) -Oracle Open Office Draw : macros;in MS Office documents -Oracle Open Office Draw : macros;interrupting -Oracle Open Office Draw : macros;organizing -Oracle Open Office Draw : macros;recording -Oracle Open Office Draw : macros;running in presentations -Oracle Open Office Draw : macros;security -Oracle Open Office Draw : macros;security levels -Oracle Open Office Draw : macros;security warning dialog -Oracle Open Office Draw : macros;selecting security warnings -Oracle Open Office Draw : magnetic lines in presentations -Oracle Open Office Draw : magnifiers -Oracle Open Office Draw : margins -Oracle Open Office Draw : margins;pages -Oracle Open Office Draw : margins;setting with the mouse -Oracle Open Office Draw : margins;shadows -Oracle Open Office Draw : marking changes -Oracle Open Office Draw : marking, see selecting -Oracle Open Office Draw : master layouts with headers and footers -Oracle Open Office Draw : master pages, see slide masters -Oracle Open Office Draw : master views -Oracle Open Office Draw : Math formula editor -Oracle Open Office Draw : mean value lines in charts -Oracle Open Office Draw : measurement units -Oracle Open Office Draw : measurement units;changing on rulers -Oracle Open Office Draw : measurement units;converting -Oracle Open Office Draw : measurement units;selecting -Oracle Open Office Draw : Media Player window -Oracle Open Office Draw : menus -Oracle Open Office Draw : menus;activating context menus -Oracle Open Office Draw : menus;assigning macros -Oracle Open Office Draw : menus;customizing -Oracle Open Office Draw : merging -Oracle Open Office Draw : merging;documents -Oracle Open Office Draw : merging;draw objects -Oracle Open Office Draw : META tags -Oracle Open Office Draw : metafiles -Oracle Open Office Draw : metafiles;converting to -Oracle Open Office Draw : metafiles;replacing colors -Oracle Open Office Draw : metrics -Oracle Open Office Draw : metrics;converting -Oracle Open Office Draw : metrics;document formatting (Writer) -Oracle Open Office Draw : metrics;in sheets -Oracle Open Office Draw : Microsoft Office -Oracle Open Office Draw : Microsoft Office;Access databases (base) -Oracle Open Office Draw : Microsoft Office;as default file format -Oracle Open Office Draw : Microsoft Office;document import restrictions -Oracle Open Office Draw : Microsoft Office;feature comparisons -Oracle Open Office Draw : Microsoft Office;importing password protected files -Oracle Open Office Draw : Microsoft Office;importing Word documents -Oracle Open Office Draw : Microsoft Office;importing/exporting VBA code -Oracle Open Office Draw : Microsoft Office;new users information -Oracle Open Office Draw : Microsoft Office;opening Microsoft documents -Oracle Open Office Draw : Microsoft Office;reassigning document types -Oracle Open Office Draw : migrating macros (Base) -Oracle Open Office Draw : mirroring objects -Oracle Open Office Draw : mobile device filters -Oracle Open Office Draw : models in XForms -Oracle Open Office Draw : modifying, see changing -Oracle Open Office Draw : more controls -Oracle Open Office Draw : mosaic filter -Oracle Open Office Draw : motion paths -Oracle Open Office Draw : mouse -Oracle Open Office Draw : mouse;pointers when using drag and drop -Oracle Open Office Draw : mouse;positioning -Oracle Open Office Draw : movies -Oracle Open Office Draw : moving -Oracle Open Office Draw : moving;between layers -Oracle Open Office Draw : moving;objects in slides -Oracle Open Office Draw : moving;tab stops on ruler -Oracle Open Office Draw : moving;toolbars -Oracle Open Office Draw : moving;using guide lines in presentations -Oracle Open Office Draw : MS ADO interface (Base) -Oracle Open Office Draw : multi-line titles in forms -Oracle Open Office Draw : multiple documents -Oracle Open Office Draw : multiple documents;opening -Oracle Open Office Draw : multiple monitors -Oracle Open Office Draw : multiple selection -Oracle Open Office Draw : multiplying draw objects -Oracle Open Office Draw : music -Oracle Open Office Draw : My Documents folder -Oracle Open Office Draw : My Documents folder;changing work directory -Oracle Open Office Draw : My Documents folder;opening -Oracle Open Office Draw : MySQL databases (Base) -Oracle Open Office Draw : names -Oracle Open Office Draw : names;multi-line titles -Oracle Open Office Draw : names;objects -Oracle Open Office Draw : names, see also labels/callouts -Oracle Open Office Draw : namespace organization in XForms -Oracle Open Office Draw : native SQL (Base) -Oracle Open Office Draw : navigating -Oracle Open Office Draw : navigating;in documents -Oracle Open Office Draw : Navigation bar -Oracle Open Office Draw : Navigation bar;controls -Oracle Open Office Draw : Navigation bar;forms -Oracle Open Office Draw : Navigator -Oracle Open Office Draw : Navigator;comments -Oracle Open Office Draw : Navigator;contents as lists -Oracle Open Office Draw : Navigator;docking -Oracle Open Office Draw : Navigator;presentations -Oracle Open Office Draw : Navigator;working with -Oracle Open Office Draw : net charts -Oracle Open Office Draw : network identity options -Oracle Open Office Draw : new databases -Oracle Open Office Draw : new documents -Oracle Open Office Draw : new lines in cells -Oracle Open Office Draw : new windows -Oracle Open Office Draw : non-breaking dashes -Oracle Open Office Draw : non-breaking spaces (Writer) -Oracle Open Office Draw : non-printing characters (Writer) -Oracle Open Office Draw : normal view -Oracle Open Office Draw : normal view;backgrounds -Oracle Open Office Draw : normal view;presentations -Oracle Open Office Draw : notes -Oracle Open Office Draw : notes;adding to slides -Oracle Open Office Draw : notes;default formatting -Oracle Open Office Draw : notes;printing in presentations -Oracle Open Office Draw : number formats -Oracle Open Office Draw : number formats;codes -Oracle Open Office Draw : number formats;formats -Oracle Open Office Draw : number formats;recognition in text tables -Oracle Open Office Draw : number of pages -Oracle Open Office Draw : number of sheets -Oracle Open Office Draw : number of tables -Oracle Open Office Draw : numbering -Oracle Open Office Draw : numbering;options -Oracle Open Office Draw : numbering;turning off -Oracle Open Office Draw : numbering;using automatically -Oracle Open Office Draw : numbers -Oracle Open Office Draw : numbers;date, time and currency formats -Oracle Open Office Draw : numbers;decimal places (Calc) -Oracle Open Office Draw : numerical fields in forms -Oracle Open Office Draw : object bars -Oracle Open Office Draw : object bars;editing glue points -Oracle Open Office Draw : objects -Oracle Open Office Draw : objects;aligning -Oracle Open Office Draw : objects;always moveable (Impress/Draw) -Oracle Open Office Draw : objects;arranging within stacks -Oracle Open Office Draw : objects;behind object command -Oracle Open Office Draw : objects;breaking connections -Oracle Open Office Draw : objects;copying when moving in presentations -Oracle Open Office Draw : objects;definition -Oracle Open Office Draw : objects;displaying in spreadsheets -Oracle Open Office Draw : objects;displaying in text documents -Oracle Open Office Draw : objects;editing -Oracle Open Office Draw : objects;effects -Oracle Open Office Draw : objects;in front of object command -Oracle Open Office Draw : objects;inserting from files -Oracle Open Office Draw : objects;inserting from Gallery -Oracle Open Office Draw : objects;inserting OLE objects -Oracle Open Office Draw : objects;moving along paths -Oracle Open Office Draw : objects;moving and resizing with mouse -Oracle Open Office Draw : objects;moving in layers -Oracle Open Office Draw : objects;moving in slides -Oracle Open Office Draw : objects;naming -Oracle Open Office Draw : objects;opening -Oracle Open Office Draw : objects;properties of charts -Oracle Open Office Draw : objects;quickly moving to -Oracle Open Office Draw : objects;reversing -Oracle Open Office Draw : objects;selecting -Oracle Open Office Draw : objects;titles and descriptions -Oracle Open Office Draw : objects;with attributes -Oracle Open Office Draw : ODBC -Oracle Open Office Draw : ODBC;database (Base) -Oracle Open Office Draw : ODBC;definition -Oracle Open Office Draw : ODF file formats -Oracle Open Office Draw : Office -Oracle Open Office Draw : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Draw : OLE -Oracle Open Office Draw : OLE;definition -Oracle Open Office Draw : OLE objects -Oracle Open Office Draw : OLE objects;arranging within stacks -Oracle Open Office Draw : OLE objects;captions (Writer) -Oracle Open Office Draw : OLE objects;inserting -Oracle Open Office Draw : OLE objects;number of -Oracle Open Office Draw : OLE objects;protecting -Oracle Open Office Draw : one and a half line spacing in text -Oracle Open Office Draw : online feedback options -Oracle Open Office Draw : online registration -Oracle Open Office Draw : online update options -Oracle Open Office Draw : online updates -Oracle Open Office Draw : online updates;checking automatically -Oracle Open Office Draw : online updates;checking manually -Oracle Open Office Draw : Open/Save dialogs -Oracle Open Office Draw : OpenDocument file formats -Oracle Open Office Draw : OpenGL -Oracle Open Office Draw : OpenGL;definition -Oracle Open Office Draw : opening -Oracle Open Office Draw : opening;context menus -Oracle Open Office Draw : opening;database files -Oracle Open Office Draw : opening;dialog settings -Oracle Open Office Draw : opening;documents -Oracle Open Office Draw : opening;documents from other formats -Oracle Open Office Draw : opening;documents on WebDAV server -Oracle Open Office Draw : opening;files with links -Oracle Open Office Draw : opening;files, with placeholders -Oracle Open Office Draw : opening;forms -Oracle Open Office Draw : opening;Microsoft Office files -Oracle Open Office Draw : opening;mobile device documents -Oracle Open Office Draw : opening;objects -Oracle Open Office Draw : opening;reports -Oracle Open Office Draw : opening;several files -Oracle Open Office Draw : opening;XForms -Oracle Open Office Draw : operators -Oracle Open Office Draw : operators;default filters -Oracle Open Office Draw : optional hyphens (Writer) -Oracle Open Office Draw : options -Oracle Open Office Draw : options;accessibility -Oracle Open Office Draw : options;appearance -Oracle Open Office Draw : options;compatibility (Writer) -Oracle Open Office Draw : options;improvement program -Oracle Open Office Draw : options;network identity -Oracle Open Office Draw : options;online update -Oracle Open Office Draw : options;tools -Oracle Open Office Draw : Oracle databases (base) -Oracle Open Office Draw : Oracle Open Office Base data sources -Oracle Open Office Draw : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Draw : Oracle Open Office documents -Oracle Open Office Draw : Oracle Open Office documents;mobile device filters -Oracle Open Office Draw : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Draw : Oracle Open Office Impress instructions -Oracle Open Office Draw : Oracle Open Office Math start -Oracle Open Office Draw : order of chart data -Oracle Open Office Draw : ordering -Oracle Open Office Draw : ordering;objects -Oracle Open Office Draw : ordering;slides -Oracle Open Office Draw : organization charts -Oracle Open Office Draw : organizing -Oracle Open Office Draw : organizing;macros and scripts -Oracle Open Office Draw : organizing;namespaces in XForms -Oracle Open Office Draw : organizing;styles -Oracle Open Office Draw : organizing;templates -Oracle Open Office Draw : origin of rulers -Oracle Open Office Draw : original size -Oracle Open Office Draw : original size;printing in Oracle Open Office Math -Oracle Open Office Draw : original size;restoring after cropping -Oracle Open Office Draw : outline view -Oracle Open Office Draw : outlines -Oracle Open Office Draw : outlines;font effects -Oracle Open Office Draw : outlines;outline symbols -Oracle Open Office Draw : outlines;printing -Oracle Open Office Draw : outlines;sending to presentations -Oracle Open Office Draw : overwrite mode -Oracle Open Office Draw : packages, see extensions -Oracle Open Office Draw : page breaks -Oracle Open Office Draw : page breaks;displaying (Calc) -Oracle Open Office Draw : page formats -Oracle Open Office Draw : page formats;maximizing -Oracle Open Office Draw : page formats;restriction -Oracle Open Office Draw : page number field -Oracle Open Office Draw : page numbers on all slides -Oracle Open Office Draw : page styles -Oracle Open Office Draw : page styles;editing/applying with statusbar -Oracle Open Office Draw : pages -Oracle Open Office Draw : pages;backgrounds in all applications -Oracle Open Office Draw : pages;copying -Oracle Open Office Draw : pages;fitting to printed pages -Oracle Open Office Draw : pages;formatting and numbering -Oracle Open Office Draw : pages;printing page names in presentations -Oracle Open Office Draw : pages;scaling -Oracle Open Office Draw : pages;selecting one to print -Oracle Open Office Draw : paint box -Oracle Open Office Draw : paint can symbol -Oracle Open Office Draw : pair kerning -Oracle Open Office Draw : Palm file filters -Oracle Open Office Draw : paper formats -Oracle Open Office Draw : paper size warning -Oracle Open Office Draw : paper trays -Oracle Open Office Draw : paragraph marks -Oracle Open Office Draw : paragraph marks;displaying (Writer) -Oracle Open Office Draw : paragraph styles -Oracle Open Office Draw : paragraph styles;languages -Oracle Open Office Draw : paragraph styles;modifying basic fonts -Oracle Open Office Draw : paragraphs -Oracle Open Office Draw : paragraphs;alignment -Oracle Open Office Draw : paragraphs;Asian typography -Oracle Open Office Draw : paragraphs;defining borders -Oracle Open Office Draw : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Draw : paragraphs;increasing indents of -Oracle Open Office Draw : paragraphs;indents, margins and columns -Oracle Open Office Draw : paragraphs;inserting bullets -Oracle Open Office Draw : paragraphs;joining -Oracle Open Office Draw : paragraphs;numbering automatically -Oracle Open Office Draw : paragraphs;removing blank ones -Oracle Open Office Draw : paragraphs;spacing -Oracle Open Office Draw : paragraphs;tab stops -Oracle Open Office Draw : parameters -Oracle Open Office Draw : parameters;command line -Oracle Open Office Draw : parameters;queries (Base) -Oracle Open Office Draw : passwords for protecting contents -Oracle Open Office Draw : pasting -Oracle Open Office Draw : pasting;cell ranges -Oracle Open Office Draw : pasting;cell ranges from spreadsheets -Oracle Open Office Draw : pasting;data from text documents -Oracle Open Office Draw : pasting;draw objects -Oracle Open Office Draw : pasting;draw objects from other documents -Oracle Open Office Draw : pasting;formatted/unformatted text -Oracle Open Office Draw : pasting;from data source view -Oracle Open Office Draw : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Draw : pasting;pictures from other documents -Oracle Open Office Draw : pasting;sheet areas in text documents -Oracle Open Office Draw : pasting;slides from other presentations -Oracle Open Office Draw : pasting;text from other documents -Oracle Open Office Draw : pasting;to Gallery -Oracle Open Office Draw : paths -Oracle Open Office Draw : paths;changing work directory -Oracle Open Office Draw : paths;defaults -Oracle Open Office Draw : paths;moving objects along -Oracle Open Office Draw : pattern editor -Oracle Open Office Draw : pattern fields -Oracle Open Office Draw : pattern fields;form functions -Oracle Open Office Draw : patterns for objects -Oracle Open Office Draw : PDF -Oracle Open Office Draw : PDF;export -Oracle Open Office Draw : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Draw : personal data input -Oracle Open Office Draw : phonetic guide -Oracle Open Office Draw : picklist creation -Oracle Open Office Draw : pictures -Oracle Open Office Draw : pictures;adding to Gallery -Oracle Open Office Draw : pictures;arranging within stacks -Oracle Open Office Draw : pictures;assigning macros -Oracle Open Office Draw : pictures;backgrounds -Oracle Open Office Draw : pictures;captions (Writer) -Oracle Open Office Draw : pictures;changing paths -Oracle Open Office Draw : pictures;cropping and zooming -Oracle Open Office Draw : pictures;displaying in Calc -Oracle Open Office Draw : pictures;displaying in Writer (Writer) -Oracle Open Office Draw : pictures;drag and drop between documents -Oracle Open Office Draw : pictures;drawing -Oracle Open Office Draw : pictures;editing -Oracle Open Office Draw : pictures;filters -Oracle Open Office Draw : pictures;ImageMap -Oracle Open Office Draw : pictures;inserting -Oracle Open Office Draw : pictures;inserting automatically -Oracle Open Office Draw : pictures;inserting from Gallery -Oracle Open Office Draw : pictures;number of -Oracle Open Office Draw : pictures;printing -Oracle Open Office Draw : pictures;scaling/resizing -Oracle Open Office Draw : pie charts -Oracle Open Office Draw : pie charts;options -Oracle Open Office Draw : pie charts;types -Oracle Open Office Draw : pivot points of draw objects -Oracle Open Office Draw : pixel editor -Oracle Open Office Draw : pixel graphics -Oracle Open Office Draw : pixel graphics;inserting and editing -Oracle Open Office Draw : pixel patterns -Oracle Open Office Draw : placeholders -Oracle Open Office Draw : placeholders;in SQL queries -Oracle Open Office Draw : placeholders;on opening files -Oracle Open Office Draw : placing toolbars -Oracle Open Office Draw : playing movies and sound files -Oracle Open Office Draw : plotting data as charts -Oracle Open Office Draw : plug-ins -Oracle Open Office Draw : plug-ins;activating and deactivating -Oracle Open Office Draw : plug-ins;definition -Oracle Open Office Draw : plug-ins;inserting -Oracle Open Office Draw : pocket device appliances -Oracle Open Office Draw : Pocket PC file filters -Oracle Open Office Draw : points -Oracle Open Office Draw : points;adding/converting/deleting -Oracle Open Office Draw : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Draw : polygon drawing -Oracle Open Office Draw : polygons -Oracle Open Office Draw : polygons;inserting -Oracle Open Office Draw : polygons;intersecting/subtracting/merging -Oracle Open Office Draw : pop-art filter -Oracle Open Office Draw : portable document format -Oracle Open Office Draw : positioning -Oracle Open Office Draw : positioning;axes -Oracle Open Office Draw : positioning;draw objects and controls -Oracle Open Office Draw : positioning;fonts -Oracle Open Office Draw : positioning;objects -Oracle Open Office Draw : positioning;toolbars -Oracle Open Office Draw : post method for form transmissions -Oracle Open Office Draw : posterizing filter -Oracle Open Office Draw : PostScript -Oracle Open Office Draw : PostScript;creating files -Oracle Open Office Draw : PostScript;PDF converter, UNIX -Oracle Open Office Draw : PowerPoint export -Oracle Open Office Draw : precision as shown (Calc) -Oracle Open Office Draw : predefining fonts -Oracle Open Office Draw : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Draw : presentations -Oracle Open Office Draw : presentations;arranging slides -Oracle Open Office Draw : presentations;creating/opening -Oracle Open Office Draw : presentations;exiting by interaction -Oracle Open Office Draw : presentations;exporting to HTML -Oracle Open Office Draw : presentations;importing HTML -Oracle Open Office Draw : presentations;inserting spreadsheet cells -Oracle Open Office Draw : presentations;inserting spreadsheets -Oracle Open Office Draw : presentations;live on the Internet -Oracle Open Office Draw : presentations;navigating -Oracle Open Office Draw : presentations;numbering slides in -Oracle Open Office Draw : presentations;ordering of effects -Oracle Open Office Draw : presentations;print menu -Oracle Open Office Draw : presentations;printing -Oracle Open Office Draw : presentations;rehearse timings -Oracle Open Office Draw : presentations;saving -Oracle Open Office Draw : presentations;saving automatically -Oracle Open Office Draw : presentations;saving in other formats -Oracle Open Office Draw : presentations;sending as e-mail -Oracle Open Office Draw : presentations;settings for -Oracle Open Office Draw : presentations;shortcut keys -Oracle Open Office Draw : presentations;starting -Oracle Open Office Draw : presentations;starting with wizard -Oracle Open Office Draw : presentations;window / full screen -Oracle Open Office Draw : presentations;wizards -Oracle Open Office Draw : Presenter Console shortcuts -Oracle Open Office Draw : press buttons, see push buttons -Oracle Open Office Draw : previews -Oracle Open Office Draw : previews;fonts lists -Oracle Open Office Draw : primary keys -Oracle Open Office Draw : primary keys;defining -Oracle Open Office Draw : primary keys;design view -Oracle Open Office Draw : primary keys;inserting (Base) -Oracle Open Office Draw : print area selection -Oracle Open Office Draw : printer metrics for document formatting (Writer) -Oracle Open Office Draw : printers -Oracle Open Office Draw : printers;adding, UNIX -Oracle Open Office Draw : printers;choosing -Oracle Open Office Draw : printers;default printer -Oracle Open Office Draw : printers;faxes under UNIX -Oracle Open Office Draw : printers;maximum page formats -Oracle Open Office Draw : printers;paper trays -Oracle Open Office Draw : printers;properties -Oracle Open Office Draw : printing -Oracle Open Office Draw : printing;black and white -Oracle Open Office Draw : printing;brochures -Oracle Open Office Draw : printing;colors in grayscale -Oracle Open Office Draw : printing;comments -Oracle Open Office Draw : printing;copies -Oracle Open Office Draw : printing;creating individual jobs -Oracle Open Office Draw : printing;dates in presentations -Oracle Open Office Draw : printing;directly -Oracle Open Office Draw : printing;documents -Oracle Open Office Draw : printing;drawings defaults -Oracle Open Office Draw : printing;elements in text documents -Oracle Open Office Draw : printing;faster -Oracle Open Office Draw : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Draw : printing;fitting to pages in presentations -Oracle Open Office Draw : printing;fitting to paper -Oracle Open Office Draw : printing;formulas in Oracle Open Office Math -Oracle Open Office Draw : printing;hidden pages of presentations -Oracle Open Office Draw : printing;in original size in Oracle Open Office Math -Oracle Open Office Draw : printing;left/right pages -Oracle Open Office Draw : printing;presentations -Oracle Open Office Draw : printing;queries (Base) -Oracle Open Office Draw : printing;scaling in Oracle Open Office Math -Oracle Open Office Draw : printing;selections -Oracle Open Office Draw : printing;text always in black -Oracle Open Office Draw : printing;text in reverse order -Oracle Open Office Draw : printing;tiling pages in presentations -Oracle Open Office Draw : printing;transparencies -Oracle Open Office Draw : printing;warnings -Oracle Open Office Draw : printing;without scaling in presentations -Oracle Open Office Draw : printing speed -Oracle Open Office Draw : programming -Oracle Open Office Draw : programming;Oracle Open Office -Oracle Open Office Draw : programming;scripting -Oracle Open Office Draw : programs run by mouse click in presentations -Oracle Open Office Draw : properties -Oracle Open Office Draw : properties;charts -Oracle Open Office Draw : properties;fields in databases -Oracle Open Office Draw : properties;files -Oracle Open Office Draw : properties;form controls -Oracle Open Office Draw : properties;forms -Oracle Open Office Draw : properties;printers -Oracle Open Office Draw : properties;smooth lines in line charts/XY charts -Oracle Open Office Draw : protected contents -Oracle Open Office Draw : protected dashes -Oracle Open Office Draw : protected database tables -Oracle Open Office Draw : protected documents -Oracle Open Office Draw : protected spaces -Oracle Open Office Draw : protected spaces;inserting -Oracle Open Office Draw : protected spaces;showing (Writer) -Oracle Open Office Draw : protecting -Oracle Open Office Draw : protecting;contents -Oracle Open Office Draw : protecting;recorded changes -Oracle Open Office Draw : proxy settings -Oracle Open Office Draw : push buttons -Oracle Open Office Draw : push buttons;adding to documents -Oracle Open Office Draw : push buttons;creating -Oracle Open Office Draw : pyramids -Oracle Open Office Draw : queries -Oracle Open Office Draw : queries;copying (Base) -Oracle Open Office Draw : queries;creating in design view (Base) -Oracle Open Office Draw : queries;creating in SQL view -Oracle Open Office Draw : queries;defining (Base) -Oracle Open Office Draw : queries;deleting table links (Base) -Oracle Open Office Draw : queries;editing in data source view -Oracle Open Office Draw : queries;formulating filter conditions (Base) -Oracle Open Office Draw : queries;joining tables (Base) -Oracle Open Office Draw : queries;missing elements (Base) -Oracle Open Office Draw : queries;overview (Base) -Oracle Open Office Draw : queries;parameter queries (Base) -Oracle Open Office Draw : queries;printing (Base) -Oracle Open Office Draw : Query Wizard (Base) -Oracle Open Office Draw : Quickstarter -Oracle Open Office Draw : quotation marks -Oracle Open Office Draw : quotation marks;replacing -Oracle Open Office Draw : quotes -Oracle Open Office Draw : quotes;custom -Oracle Open Office Draw : radar charts, see net charts -Oracle Open Office Draw : radio button creation -Oracle Open Office Draw : read-only documents -Oracle Open Office Draw : read-only documents;cursor -Oracle Open Office Draw : read-only documents;database tables on/off -Oracle Open Office Draw : read-only documents;editing -Oracle Open Office Draw : read-only documents;opening documents as -Oracle Open Office Draw : read-only items in Data Navigator -Oracle Open Office Draw : recognizing URLs automatically -Oracle Open Office Draw : recording -Oracle Open Office Draw : recording;changes -Oracle Open Office Draw : recording;display times for slides -Oracle Open Office Draw : recording;macros -Oracle Open Office Draw : records -Oracle Open Office Draw : records;inserting comments -Oracle Open Office Draw : records;protecting -Oracle Open Office Draw : records;saving -Oracle Open Office Draw : records;searching in databases -Oracle Open Office Draw : rectangles -Oracle Open Office Draw : rectangles with round corners -Oracle Open Office Draw : recursions in spreadsheets -Oracle Open Office Draw : redo command -Oracle Open Office Draw : reduced printing -Oracle Open Office Draw : reference lines -Oracle Open Office Draw : references -Oracle Open Office Draw : references;displaying in color (Calc) -Oracle Open Office Draw : references;expanding (Calc) -Oracle Open Office Draw : references;iterative (Calc) -Oracle Open Office Draw : register-true -Oracle Open Office Draw : register-true;definition -Oracle Open Office Draw : registering -Oracle Open Office Draw : registering;address books -Oracle Open Office Draw : registering;databases (Base) -Oracle Open Office Draw : registering;Oracle Open Office -Oracle Open Office Draw : regression curves in charts -Oracle Open Office Draw : regular expressions -Oracle Open Office Draw : regular expressions;list of -Oracle Open Office Draw : regular expressions;opening files -Oracle Open Office Draw : rehearse timings -Oracle Open Office Draw : relational databases (Base) -Oracle Open Office Draw : relations -Oracle Open Office Draw : relations;creating and deleting (Base) -Oracle Open Office Draw : relations;joining tables (Base) -Oracle Open Office Draw : relations;properties (Base) -Oracle Open Office Draw : relative hyperlinks -Oracle Open Office Draw : relative saving of URLs -Oracle Open Office Draw : reloading -Oracle Open Office Draw : reloading;documents -Oracle Open Office Draw : reloading;HTML documents, automatically -Oracle Open Office Draw : remarks, see also comments -Oracle Open Office Draw : remote configurations -Oracle Open Office Draw : remove noise filter -Oracle Open Office Draw : removing -Oracle Open Office Draw : removing;bullets and numbering -Oracle Open Office Draw : removing;form filters -Oracle Open Office Draw : removing, see also deleting -Oracle Open Office Draw : renaming layers -Oracle Open Office Draw : reorganizing charts -Oracle Open Office Draw : repeating -Oracle Open Office Draw : repeating;commands -Oracle Open Office Draw : replacement options -Oracle Open Office Draw : replacement table -Oracle Open Office Draw : replacing -Oracle Open Office Draw : replacing;AutoCorrect function -Oracle Open Office Draw : replacing;colors in bitmaps -Oracle Open Office Draw : replacing;dashes -Oracle Open Office Draw : replacing;tab stops (regular expressions) -Oracle Open Office Draw : Report Builder -Oracle Open Office Draw : reports -Oracle Open Office Draw : reports;creating -Oracle Open Office Draw : reports;error reports -Oracle Open Office Draw : reports;opening and editing -Oracle Open Office Draw : reports;templates -Oracle Open Office Draw : resetting -Oracle Open Office Draw : resetting;templates -Oracle Open Office Draw : resizing -Oracle Open Office Draw : resizing;objects, by mouse -Oracle Open Office Draw : resizing, see also scaling/zooming -Oracle Open Office Draw : resolution when printing bitmaps -Oracle Open Office Draw : restoring -Oracle Open Office Draw : restoring;default formatting -Oracle Open Office Draw : restoring;editing -Oracle Open Office Draw : reversing objects -Oracle Open Office Draw : reversing printing order -Oracle Open Office Draw : review function -Oracle Open Office Draw : review function;accepting or rejecting changes -Oracle Open Office Draw : review function;comparing documents -Oracle Open Office Draw : review function;protecting records -Oracle Open Office Draw : review function;recording changes example -Oracle Open Office Draw : rich text control -Oracle Open Office Draw : right alignment of paragraphs -Oracle Open Office Draw : right joins (Base) -Oracle Open Office Draw : right-to-left text -Oracle Open Office Draw : rotating -Oracle Open Office Draw : rotating;3D text -Oracle Open Office Draw : rotating;draw objects -Oracle Open Office Draw : rotation mode -Oracle Open Office Draw : round corners -Oracle Open Office Draw : rounding precision (Calc) -Oracle Open Office Draw : row headers -Oracle Open Office Draw : row headers;displaying (Calc) -Oracle Open Office Draw : row headers;highlighting (Calc) -Oracle Open Office Draw : rows -Oracle Open Office Draw : rows;inserting -Oracle Open Office Draw : rulers -Oracle Open Office Draw : rulers;default settings -Oracle Open Office Draw : rulers;in presentations -Oracle Open Office Draw : rulers;measurement units -Oracle Open Office Draw : rulers;visible in presentations -Oracle Open Office Draw : running macros/programs in presentations -Oracle Open Office Draw : running slide shows -Oracle Open Office Draw : samples and templates -Oracle Open Office Draw : saving -Oracle Open Office Draw : saving;as HTML -Oracle Open Office Draw : saving;default file formats -Oracle Open Office Draw : saving;dialog settings -Oracle Open Office Draw : saving;documents -Oracle Open Office Draw : saving;documents for mobile devices -Oracle Open Office Draw : saving;documents in other formats -Oracle Open Office Draw : saving;documents, automatically -Oracle Open Office Draw : saving;in Microsoft Office file format -Oracle Open Office Draw : saving;options -Oracle Open Office Draw : saving;templates -Oracle Open Office Draw : saving;to XML -Oracle Open Office Draw : saving;VBA code in Microsoft Office documents -Oracle Open Office Draw : saving;with password by default -Oracle Open Office Draw : saving as command -Oracle Open Office Draw : saving as command;precautions -Oracle Open Office Draw : scaling -Oracle Open Office Draw : scaling;axes -Oracle Open Office Draw : scaling;font sizes in user interface -Oracle Open Office Draw : scaling;objects -Oracle Open Office Draw : scaling;pictures -Oracle Open Office Draw : scaling;printing in Oracle Open Office Math -Oracle Open Office Draw : scaling;text in charts -Oracle Open Office Draw : scaling;when printing presentations -Oracle Open Office Draw : scaling, see also zooming -Oracle Open Office Draw : scatter charts -Oracle Open Office Draw : screen -Oracle Open Office Draw : screen;full screen views -Oracle Open Office Draw : screen;scaling -Oracle Open Office Draw : screen magnifiers -Oracle Open Office Draw : screen readers -Oracle Open Office Draw : script organization -Oracle Open Office Draw : scrollbars -Oracle Open Office Draw : scrollbars;controls -Oracle Open Office Draw : scrollbars;displaying (Calc) -Oracle Open Office Draw : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Draw : search criteria for database functions in cells -Oracle Open Office Draw : search engines -Oracle Open Office Draw : search engines;definition -Oracle Open Office Draw : search engines;selecting -Oracle Open Office Draw : searching -Oracle Open Office Draw : searching;all sheets -Oracle Open Office Draw : searching;databases -Oracle Open Office Draw : searching;form filters -Oracle Open Office Draw : searching;Internet -Oracle Open Office Draw : searching;tables and forms -Oracle Open Office Draw : secondary axes in charts -Oracle Open Office Draw : sections -Oracle Open Office Draw : sections;backgrounds -Oracle Open Office Draw : sectors of circles/ellipses -Oracle Open Office Draw : security -Oracle Open Office Draw : security;digital signatures -Oracle Open Office Draw : security;options for documents with macros -Oracle Open Office Draw : security;protecting contents -Oracle Open Office Draw : security;security levels for macros -Oracle Open Office Draw : security;warning dialogs with macros -Oracle Open Office Draw : segments of circles/ellipses -Oracle Open Office Draw : selecting -Oracle Open Office Draw : selecting;controls -Oracle Open Office Draw : selecting;hidden objects -Oracle Open Office Draw : selecting;layers -Oracle Open Office Draw : selecting;measurement units -Oracle Open Office Draw : selecting;objects -Oracle Open Office Draw : selecting;print areas -Oracle Open Office Draw : selecting;several files -Oracle Open Office Draw : selection clipboard -Oracle Open Office Draw : selection frames -Oracle Open Office Draw : selection modes in text -Oracle Open Office Draw : sending -Oracle Open Office Draw : sending;AutoAbstract function in presentations -Oracle Open Office Draw : sending;documents as e-mail -Oracle Open Office Draw : sending;documents as faxes -Oracle Open Office Draw : separator lines -Oracle Open Office Draw : separator lines;defining -Oracle Open Office Draw : separators -Oracle Open Office Draw : separators;conditional -Oracle Open Office Draw : Server Side ImageMap -Oracle Open Office Draw : settings -Oracle Open Office Draw : settings;printers -Oracle Open Office Draw : settings;program configuration -Oracle Open Office Draw : settings;proxies -Oracle Open Office Draw : settings;tracking changes -Oracle Open Office Draw : settings;views -Oracle Open Office Draw : SGML -Oracle Open Office Draw : SGML;definition -Oracle Open Office Draw : shadows -Oracle Open Office Draw : shadows;areas -Oracle Open Office Draw : shadows;borders -Oracle Open Office Draw : shadows;characters -Oracle Open Office Draw : shadows;characters, using context menu -Oracle Open Office Draw : sharing documents -Oracle Open Office Draw : sharpening filter -Oracle Open Office Draw : shearing objects -Oracle Open Office Draw : sheet tabs -Oracle Open Office Draw : sheet tabs;displaying -Oracle Open Office Draw : sheets -Oracle Open Office Draw : sheets;searching all -Oracle Open Office Draw : shells -Oracle Open Office Draw : shortcut keys -Oracle Open Office Draw : shortcut keys;assigning macros -Oracle Open Office Draw : shortcut keys;charts -Oracle Open Office Draw : shortcut keys;general -Oracle Open Office Draw : shortcut keys;in databases -Oracle Open Office Draw : shortcut keys;in drawings -Oracle Open Office Draw : shortcut keys;in presentations -Oracle Open Office Draw : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Draw : showing -Oracle Open Office Draw : showing;changes -Oracle Open Office Draw : showing;docked windows -Oracle Open Office Draw : showing;drawings and controls (Writer) -Oracle Open Office Draw : showing;guides -Oracle Open Office Draw : showing;hidden layers -Oracle Open Office Draw : showing;hidden slides -Oracle Open Office Draw : showing;levels -Oracle Open Office Draw : showing;live presentations on the Internet -Oracle Open Office Draw : showing;slide shows -Oracle Open Office Draw : showing;subpoints -Oracle Open Office Draw : showing;toolbars -Oracle Open Office Draw : sign conversion to curves -Oracle Open Office Draw : signing documents with digital signatures -Oracle Open Office Draw : similarity search -Oracle Open Office Draw : simple handles (Writer) -Oracle Open Office Draw : simplified Chinese -Oracle Open Office Draw : simplified Chinese;translating to traditional Chinese -Oracle Open Office Draw : single sign on options -Oracle Open Office Draw : single-line spacing in text -Oracle Open Office Draw : sizes -Oracle Open Office Draw : sizes;draw objects -Oracle Open Office Draw : sizes;pictures -Oracle Open Office Draw : skewing draw objects -Oracle Open Office Draw : slanting draw objects -Oracle Open Office Draw : slanting objects -Oracle Open Office Draw : slide designs -Oracle Open Office Draw : slide layouts -Oracle Open Office Draw : slide master view -Oracle Open Office Draw : slide masters -Oracle Open Office Draw : slide masters;changing backgrounds -Oracle Open Office Draw : slide masters;designing -Oracle Open Office Draw : slide masters;headers and footers -Oracle Open Office Draw : slide numbers -Oracle Open Office Draw : slide numbers on all slides -Oracle Open Office Draw : slide shows -Oracle Open Office Draw : slide shows;custom -Oracle Open Office Draw : slide shows;settings for -Oracle Open Office Draw : slide shows;starting -Oracle Open Office Draw : slide transitions -Oracle Open Office Draw : slide transitions;applying effects -Oracle Open Office Draw : slide transitions;automatic -Oracle Open Office Draw : slide transitions;manual -Oracle Open Office Draw : slide transitions;sounds -Oracle Open Office Draw : slides -Oracle Open Office Draw : slides;arranging -Oracle Open Office Draw : slides;backgrounds -Oracle Open Office Draw : slides;changing backgrounds -Oracle Open Office Draw : slides;copying between documents -Oracle Open Office Draw : slides;deleting -Oracle Open Office Draw : slides;expanding -Oracle Open Office Draw : slides;formatting -Oracle Open Office Draw : slides;headers and footers -Oracle Open Office Draw : slides;inserting -Oracle Open Office Draw : slides;inserting as links -Oracle Open Office Draw : slides;inserting speaker notes -Oracle Open Office Draw : slides;page numbers -Oracle Open Office Draw : slides;printing -Oracle Open Office Draw : small capitals -Oracle Open Office Draw : small icons -Oracle Open Office Draw : smart tag configuration -Oracle Open Office Draw : smooth scrolling (Writer) -Oracle Open Office Draw : smoothing filter -Oracle Open Office Draw : snap grid defaults (Writer/Calc) -Oracle Open Office Draw : snap lines, see also guides -Oracle Open Office Draw : snap points -Oracle Open Office Draw : snap points;editing -Oracle Open Office Draw : snap points;inserting -Oracle Open Office Draw : snapping in presentations and drawings -Oracle Open Office Draw : solarization filter -Oracle Open Office Draw : sort lists -Oracle Open Office Draw : sort lists;copying to in Calc -Oracle Open Office Draw : sorting -Oracle Open Office Draw : sorting;data in forms -Oracle Open Office Draw : sorting;databases -Oracle Open Office Draw : sound files -Oracle Open Office Draw : sounds -Oracle Open Office Draw : sounds;for effects -Oracle Open Office Draw : sounds;formats -Oracle Open Office Draw : sounds;on slide transitions -Oracle Open Office Draw : spaces -Oracle Open Office Draw : spaces;displaying (Writer) -Oracle Open Office Draw : spaces;ignoring double -Oracle Open Office Draw : spaces;inserting protected spaces -Oracle Open Office Draw : spaces;showing protected spaces (Writer) -Oracle Open Office Draw : spacing -Oracle Open Office Draw : spacing;between paragraphs in footnotes -Oracle Open Office Draw : spacing;font effects -Oracle Open Office Draw : spacing;lines and paragraphs -Oracle Open Office Draw : spacing;tab stops in text documents -Oracle Open Office Draw : spacing;tabs in presentations -Oracle Open Office Draw : spadmin -Oracle Open Office Draw : speaker notes -Oracle Open Office Draw : speaker notes;defaults -Oracle Open Office Draw : speaker notes;inserting -Oracle Open Office Draw : special characters -Oracle Open Office Draw : speech bubbles -Oracle Open Office Draw : speed of printing -Oracle Open Office Draw : spellcheck -Oracle Open Office Draw : spellcheck;activating for a language -Oracle Open Office Draw : spellcheck;context menus -Oracle Open Office Draw : spellcheck;default languages -Oracle Open Office Draw : spellcheck;dialog -Oracle Open Office Draw : spellcheck;dictionary of exceptions -Oracle Open Office Draw : spellcheck;ignore list -Oracle Open Office Draw : spheres -Oracle Open Office Draw : spin button creation -Oracle Open Office Draw : splitting -Oracle Open Office Draw : splitting;combinations -Oracle Open Office Draw : splitting;curves -Oracle Open Office Draw : spoolfiles with Xprinter -Oracle Open Office Draw : spreadsheets -Oracle Open Office Draw : spreadsheets;as databases (base) -Oracle Open Office Draw : spreadsheets;copying areas to text documents -Oracle Open Office Draw : spreadsheets;creating/opening -Oracle Open Office Draw : spreadsheets;in presentations -Oracle Open Office Draw : spreadsheets;inserting charts -Oracle Open Office Draw : spreadsheets;inserting database records -Oracle Open Office Draw : spreadsheets;printing -Oracle Open Office Draw : spreadsheets;saving -Oracle Open Office Draw : spreadsheets;saving automatically -Oracle Open Office Draw : spreadsheets;saving in other formats -Oracle Open Office Draw : spreadsheets;sending as e-mail -Oracle Open Office Draw : SQL -Oracle Open Office Draw : SQL;definition -Oracle Open Office Draw : SQL;DISTINCT parameter -Oracle Open Office Draw : SQL;executing SQL commands -Oracle Open Office Draw : SQL;executing SQL statements (Base) -Oracle Open Office Draw : SQL;queries (Base) -Oracle Open Office Draw : square drawings -Oracle Open Office Draw : standard bar on/off -Oracle Open Office Draw : standard deviation in charts -Oracle Open Office Draw : standard filters in databases -Oracle Open Office Draw : standard printer under UNIX -Oracle Open Office Draw : start center -Oracle Open Office Draw : start parameters -Oracle Open Office Draw : starting -Oracle Open Office Draw : starting;always with the current slide -Oracle Open Office Draw : starting;custom slide shows -Oracle Open Office Draw : starting;slide shows -Oracle Open Office Draw : statistics in charts -Oracle Open Office Draw : status bar on/off -Oracle Open Office Draw : stickers -Oracle Open Office Draw : stock charts -Oracle Open Office Draw : strikethrough -Oracle Open Office Draw : strikethrough;characters -Oracle Open Office Draw : strikethrough;font effects -Oracle Open Office Draw : styles -Oracle Open Office Draw : styles;'changed' message -Oracle Open Office Draw : styles;arrow and line styles -Oracle Open Office Draw : styles;copying between documents -Oracle Open Office Draw : styles;keyboard shortcuts -Oracle Open Office Draw : styles;organizing -Oracle Open Office Draw : styles;printing styles used in a document -Oracle Open Office Draw : styles;replacing automatically -Oracle Open Office Draw : Styles and Formatting window -Oracle Open Office Draw : Styles and Formatting window;docking -Oracle Open Office Draw : Styles and Formatting window;graphics documents -Oracle Open Office Draw : subforms -Oracle Open Office Draw : subforms;creating -Oracle Open Office Draw : subforms;description -Oracle Open Office Draw : submitting forms -Oracle Open Office Draw : subpoints -Oracle Open Office Draw : subpoints;hiding -Oracle Open Office Draw : subpoints;showing -Oracle Open Office Draw : subtracting polygons -Oracle Open Office Draw : suffixes in file formats -Oracle Open Office Draw : summary slide -Oracle Open Office Draw : support on the Web -Oracle Open Office Draw : synchronizing -Oracle Open Office Draw : synchronizing;labels and business cards -Oracle Open Office Draw : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Draw : system address book registration -Oracle Open Office Draw : tab stops -Oracle Open Office Draw : tab stops;displaying (Writer) -Oracle Open Office Draw : tab stops;inserting and editing -Oracle Open Office Draw : tab stops;regular expressions -Oracle Open Office Draw : tab stops;setting in sheets -Oracle Open Office Draw : tab stops;settings -Oracle Open Office Draw : tab stops;spacing in presentations -Oracle Open Office Draw : tab stops;spacing in text documents -Oracle Open Office Draw : table controls -Oracle Open Office Draw : table controls;form functions -Oracle Open Office Draw : table controls;keyboard-only edit mode -Oracle Open Office Draw : table controls;properties -Oracle Open Office Draw : table views of databases -Oracle Open Office Draw : Table Wizard (Base) -Oracle Open Office Draw : tables -Oracle Open Office Draw : tables;inserting line breaks -Oracle Open Office Draw : tables in databases -Oracle Open Office Draw : tables in databases;access rights to (Base) -Oracle Open Office Draw : tables in databases;adding to queries -Oracle Open Office Draw : tables in databases;browsing and editing -Oracle Open Office Draw : tables in databases;copying database tables (Base) -Oracle Open Office Draw : tables in databases;creating -Oracle Open Office Draw : tables in databases;creating in design view (manually) -Oracle Open Office Draw : tables in databases;importing text formats (Base) -Oracle Open Office Draw : tables in databases;joining for queries (Base) -Oracle Open Office Draw : tables in databases;printing queries (Base) -Oracle Open Office Draw : tables in databases;relations (Base) -Oracle Open Office Draw : tables in databases;searching -Oracle Open Office Draw : tables in spreadsheets -Oracle Open Office Draw : tables in spreadsheets;copying data to other applications -Oracle Open Office Draw : tables in spreadsheets;defining borders -Oracle Open Office Draw : tables in spreadsheets;value highlighting -Oracle Open Office Draw : tables in text -Oracle Open Office Draw : tables in text;captions -Oracle Open Office Draw : tables in text;creating automatically -Oracle Open Office Draw : tables in text;default settings -Oracle Open Office Draw : tables in text;defining borders -Oracle Open Office Draw : tables in text;displaying -Oracle Open Office Draw : tables in text;printing -Oracle Open Office Draw : tabs -Oracle Open Office Draw : tabs;displaying sheet tabs -Oracle Open Office Draw : tags -Oracle Open Office Draw : tags;definition -Oracle Open Office Draw : tags;META tags -Oracle Open Office Draw : task pane -Oracle Open Office Draw : templates -Oracle Open Office Draw : templates;agendas -Oracle Open Office Draw : templates;changing basic fonts -Oracle Open Office Draw : templates;database reports -Oracle Open Office Draw : templates;deleting -Oracle Open Office Draw : templates;editing and saving -Oracle Open Office Draw : templates;faxes -Oracle Open Office Draw : templates;importing and exporting -Oracle Open Office Draw : templates;letters -Oracle Open Office Draw : templates;new documents from templates -Oracle Open Office Draw : templates;opening documents with -Oracle Open Office Draw : templates;organizing -Oracle Open Office Draw : terminology -Oracle Open Office Draw : terminology;general glossary -Oracle Open Office Draw : terminology;Internet glossary -Oracle Open Office Draw : testing XML filters -Oracle Open Office Draw : text -Oracle Open Office Draw : text;animating -Oracle Open Office Draw : text;Asian layout -Oracle Open Office Draw : text;bold -Oracle Open Office Draw : text;coloring -Oracle Open Office Draw : text;converting to curves -Oracle Open Office Draw : text;copying by drag and drop -Oracle Open Office Draw : text;CTL languages -Oracle Open Office Draw : text;double-clicking to edit -Oracle Open Office Draw : text;drawing pictures -Oracle Open Office Draw : text;font effects -Oracle Open Office Draw : text;font sizes -Oracle Open Office Draw : text;font styles -Oracle Open Office Draw : text;fonts and formats -Oracle Open Office Draw : text;Fontwork icons -Oracle Open Office Draw : text;hyperlinks -Oracle Open Office Draw : text;inserting special characters -Oracle Open Office Draw : text;italics -Oracle Open Office Draw : text;kerning -Oracle Open Office Draw : text;language selection -Oracle Open Office Draw : text;line spacing -Oracle Open Office Draw : text;overwriting or inserting -Oracle Open Office Draw : text;printing in black -Oracle Open Office Draw : text;replacing with format -Oracle Open Office Draw : text;selection modes -Oracle Open Office Draw : text;shadowed -Oracle Open Office Draw : text;text/draw objects -Oracle Open Office Draw : text;toolbar -Oracle Open Office Draw : text attributes -Oracle Open Office Draw : text attributes;hyperlinks -Oracle Open Office Draw : text attributes;undoing -Oracle Open Office Draw : text boxes -Oracle Open Office Draw : text boxes;form functions -Oracle Open Office Draw : text boxes;positioning -Oracle Open Office Draw : text breaks in cells -Oracle Open Office Draw : text colors for better accessibility -Oracle Open Office Draw : text databases (Base) -Oracle Open Office Draw : text documents -Oracle Open Office Draw : text documents;creating/opening -Oracle Open Office Draw : text documents;importing/exporting -Oracle Open Office Draw : text documents;inserting in slides -Oracle Open Office Draw : text documents;inserting spreadsheet cells -Oracle Open Office Draw : text documents;print settings -Oracle Open Office Draw : text documents;printing -Oracle Open Office Draw : text documents;saving -Oracle Open Office Draw : text documents;saving automatically -Oracle Open Office Draw : text documents;saving in other formats -Oracle Open Office Draw : text documents;sending as e-mail -Oracle Open Office Draw : text effects -Oracle Open Office Draw : text entry mode for draw objects -Oracle Open Office Draw : text flow -Oracle Open Office Draw : text flow;in cells -Oracle Open Office Draw : text formats -Oracle Open Office Draw : text formats;databases -Oracle Open Office Draw : text formats;pasting -Oracle Open Office Draw : text frames -Oracle Open Office Draw : text input fields -Oracle Open Office Draw : text layout for special languages -Oracle Open Office Draw : text objects -Oracle Open Office Draw : text objects;alignment -Oracle Open Office Draw : text objects;draw functions -Oracle Open Office Draw : text objects;fonts -Oracle Open Office Draw : text objects;in presentations and drawings -Oracle Open Office Draw : text overflow in spreadsheet cells -Oracle Open Office Draw : text scaling in charts -Oracle Open Office Draw : text, see also text documents, paragraphs and characters -Oracle Open Office Draw : TextArt, see Fontwork -Oracle Open Office Draw : textures -Oracle Open Office Draw : textures;inserting from Gallery -Oracle Open Office Draw : textures;on chart bars -Oracle Open Office Draw : Thai -Oracle Open Office Draw : Thai;entering text -Oracle Open Office Draw : Thai;language settings -Oracle Open Office Draw : thesaurus -Oracle Open Office Draw : thesaurus;activating for a language -Oracle Open Office Draw : ticker text -Oracle Open Office Draw : tiled printing of slides -Oracle Open Office Draw : time and date on all slides -Oracle Open Office Draw : time fields -Oracle Open Office Draw : time fields;form functions -Oracle Open Office Draw : times -Oracle Open Office Draw : times;fixed -Oracle Open Office Draw : times;inserting when printing presentations -Oracle Open Office Draw : times;variable -Oracle Open Office Draw : times, formats -Oracle Open Office Draw : timings -Oracle Open Office Draw : timings;rehearse timings -Oracle Open Office Draw : tips -Oracle Open Office Draw : tips;extended tips in Help -Oracle Open Office Draw : title rows -Oracle Open Office Draw : title rows;printing in Oracle Open Office Math -Oracle Open Office Draw : titles -Oracle Open Office Draw : titles;alignment (charts) -Oracle Open Office Draw : titles;changing -Oracle Open Office Draw : titles;editing in charts -Oracle Open Office Draw : titles;font effects -Oracle Open Office Draw : titles;formatting automatically -Oracle Open Office Draw : titles;formatting charts -Oracle Open Office Draw : titles;objects -Oracle Open Office Draw : toolbars -Oracle Open Office Draw : toolbars;3D objects -Oracle Open Office Draw : toolbars;adding buttons -Oracle Open Office Draw : toolbars;curves -Oracle Open Office Draw : toolbars;docking/undocking -Oracle Open Office Draw : toolbars;ellipses -Oracle Open Office Draw : toolbars;Form Navigation bar -Oracle Open Office Draw : toolbars;viewing/closing -Oracle Open Office Draw : tools bar -Oracle Open Office Draw : tooltips -Oracle Open Office Draw : tooltips;extended tips -Oracle Open Office Draw : tooltips;help -Oracle Open Office Draw : torus -Oracle Open Office Draw : traditional Chinese -Oracle Open Office Draw : traditional Chinese;translating to simplified chinese -Oracle Open Office Draw : transition effects -Oracle Open Office Draw : transparency -Oracle Open Office Draw : transparency;adjusting -Oracle Open Office Draw : transparency;areas -Oracle Open Office Draw : transparency;of objects -Oracle Open Office Draw : transparency;off for faster printing -Oracle Open Office Draw : transparency;saving -Oracle Open Office Draw : tree view of Help -Oracle Open Office Draw : trend lines in charts -Oracle Open Office Draw : typefaces -Oracle Open Office Draw : typefaces;adding under UNIX -Oracle Open Office Draw : typefaces;formats -Oracle Open Office Draw : typographical quotes in Oracle Open Office Writer -Oracle Open Office Draw : typography -Oracle Open Office Draw : typography;Asian -Oracle Open Office Draw : underlining -Oracle Open Office Draw : underlining;AutoFormat function -Oracle Open Office Draw : underlining;characters -Oracle Open Office Draw : underlining;text -Oracle Open Office Draw : underlying objects -Oracle Open Office Draw : undocking windows -Oracle Open Office Draw : undoing -Oracle Open Office Draw : undoing;direct formatting -Oracle Open Office Draw : undoing;editing -Oracle Open Office Draw : undoing;number of steps -Oracle Open Office Draw : ungrouping groups -Oracle Open Office Draw : units -Oracle Open Office Draw : units;converting -Oracle Open Office Draw : units;measurement units -Oracle Open Office Draw : unlocking layers -Oracle Open Office Draw : UNO components -Oracle Open Office Draw : UNO components;Extension Manager -Oracle Open Office Draw : UNO components;integrating new -Oracle Open Office Draw : update options -Oracle Open Office Draw : updates -Oracle Open Office Draw : updates;checking automatically -Oracle Open Office Draw : updates;checking manually -Oracle Open Office Draw : updating -Oracle Open Office Draw : updating;fields and charts, automatically (Writer) -Oracle Open Office Draw : updating;links in text documents -Oracle Open Office Draw : updating;links, on opening -Oracle Open Office Draw : updating;templates -Oracle Open Office Draw : URL -Oracle Open Office Draw : URL;changing hyperlink URLs -Oracle Open Office Draw : URL;definition -Oracle Open Office Draw : URL;in pictures -Oracle Open Office Draw : URL;saving absolute/relative paths -Oracle Open Office Draw : URL;turning off URL recognition -Oracle Open Office Draw : user data -Oracle Open Office Draw : user data;input -Oracle Open Office Draw : user data;removing when saving -Oracle Open Office Draw : user feedback -Oracle Open Office Draw : user feedback;automatically -Oracle Open Office Draw : user-defined colors -Oracle Open Office Draw : user-defined dictionaries -Oracle Open Office Draw : user-defined dictionaries;creating -Oracle Open Office Draw : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Draw : user-defined dictionaries;editing -Oracle Open Office Draw : user-defined styles -Oracle Open Office Draw : user-defined styles;automatically replacing -Oracle Open Office Draw : UTF-8/UCS2 support -Oracle Open Office Draw : values -Oracle Open Office Draw : values;rounded as shown (Calc) -Oracle Open Office Draw : variables -Oracle Open Office Draw : variables;for paths -Oracle Open Office Draw : variances in charts -Oracle Open Office Draw : VBA code -Oracle Open Office Draw : VBA code;loading/saving documents with VBA code -Oracle Open Office Draw : vector graphics -Oracle Open Office Draw : vector graphics;converting bitmaps -Oracle Open Office Draw : vectorizing bitmaps -Oracle Open Office Draw : version management -Oracle Open Office Draw : version numbers of documents -Oracle Open Office Draw : versions -Oracle Open Office Draw : versions;comparing documents -Oracle Open Office Draw : versions;file saving as, restriction -Oracle Open Office Draw : versions;merging document versions -Oracle Open Office Draw : versions;of a document -Oracle Open Office Draw : versions;Oracle Open Office -Oracle Open Office Draw : vertical callouts -Oracle Open Office Draw : vertical scrollbars (Writer) -Oracle Open Office Draw : vertical text boxes -Oracle Open Office Draw : videos -Oracle Open Office Draw : viewing -Oracle Open Office Draw : viewing;databases -Oracle Open Office Draw : viewing;file properties -Oracle Open Office Draw : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Draw : viewing;toolbars -Oracle Open Office Draw : views -Oracle Open Office Draw : views;black and white -Oracle Open Office Draw : views;creating database views (Base) -Oracle Open Office Draw : views;defaults -Oracle Open Office Draw : views;display sizes -Oracle Open Office Draw : views;full screen -Oracle Open Office Draw : views;icons -Oracle Open Office Draw : views;scaling -Oracle Open Office Draw : views;shift function -Oracle Open Office Draw : views;slide master view -Oracle Open Office Draw : Visual Basic for Applications -Oracle Open Office Draw : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Draw : watermarks -Oracle Open Office Draw : web documents -Oracle Open Office Draw : web documents;XForms -Oracle Open Office Draw : Web support -Oracle Open Office Draw : WebCast export -Oracle Open Office Draw : WebDAV over HTTPS -Oracle Open Office Draw : windows -Oracle Open Office Draw : windows;docking -Oracle Open Office Draw : windows;docking definition -Oracle Open Office Draw : windows;hiding/showing/docking -Oracle Open Office Draw : windows;new -Oracle Open Office Draw : wizards -Oracle Open Office Draw : wizards;agendas -Oracle Open Office Draw : wizards;database queries -Oracle Open Office Draw : wizards;database tables (Base) -Oracle Open Office Draw : wizards;databases (Base) -Oracle Open Office Draw : wizards;document converter -Oracle Open Office Draw : wizards;Euro Converter -Oracle Open Office Draw : wizards;faxes -Oracle Open Office Draw : wizards;forms -Oracle Open Office Draw : wizards;letters -Oracle Open Office Draw : wizards;macros (Base) -Oracle Open Office Draw : wizards;overview -Oracle Open Office Draw : wizards;presentations -Oracle Open Office Draw : wizards;reports -Oracle Open Office Draw : Word documents -Oracle Open Office Draw : Word documents;compatibility -Oracle Open Office Draw : Word documents;saving as -Oracle Open Office Draw : WordArt, see Fontwork -Oracle Open Office Draw : words -Oracle Open Office Draw : words;automatically replacing -Oracle Open Office Draw : words;wrapping in cells -Oracle Open Office Draw : words;wrapping in CTL -Oracle Open Office Draw : working directory change -Oracle Open Office Draw : wrapping text -Oracle Open Office Draw : wrapping text;in cells -Oracle Open Office Draw : write protection on/off -Oracle Open Office Draw : writing aids options -Oracle Open Office Draw : WYSIWYG in fonts lists -Oracle Open Office Draw : X axes -Oracle Open Office Draw : X axes;grid formatting -Oracle Open Office Draw : X axes;positioning -Oracle Open Office Draw : X axes;scaling -Oracle Open Office Draw : X axes;showing -Oracle Open Office Draw : XForms -Oracle Open Office Draw : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Draw : XForms;conditions -Oracle Open Office Draw : XForms;opening/editing -Oracle Open Office Draw : XML converters -Oracle Open Office Draw : XML file formats -Oracle Open Office Draw : XML filters -Oracle Open Office Draw : XML filters;creating/testing -Oracle Open Office Draw : XML filters;saving as package/installing/deleting -Oracle Open Office Draw : XML filters;settings -Oracle Open Office Draw : XML Forms, see XForms -Oracle Open Office Draw : XSLT filters, see also XML filters -Oracle Open Office Draw : XY charts -Oracle Open Office Draw : Y axes -Oracle Open Office Draw : Y axes;formatting -Oracle Open Office Draw : Y axes;grid formatting -Oracle Open Office Draw : Y axes;positioning -Oracle Open Office Draw : Y axes;scaling -Oracle Open Office Draw : Y axes;showing -Oracle Open Office Draw : years -Oracle Open Office Draw : years;2-digit options -Oracle Open Office Draw : Z axes -Oracle Open Office Draw : Z axes;grid formatting -Oracle Open Office Draw : Z axes;showing -Oracle Open Office Draw : zero values -Oracle Open Office Draw : zero values;displaying (Calc) -Oracle Open Office Draw : zooming -Oracle Open Office Draw : zooming;in presentations -Oracle Open Office Draw : zooming;keyboard -Oracle Open Office Draw : zooming;page views -Oracle Open Office Draw : zooming;pictures -Oracle Open Office Draw : zooming;shortcut keys -Oracle Open Office Draw : zooming;status bar -Oracle Open Office Impress : 1/2 replacement -Oracle Open Office Impress : 3D charts -Oracle Open Office Impress : 3D objects -Oracle Open Office Impress : 3D objects;assembling -Oracle Open Office Impress : 3D objects;generating -Oracle Open Office Impress : 3D objects;inserting -Oracle Open Office Impress : 3D rotation objects -Oracle Open Office Impress : 3D rotation objects;converting to -Oracle Open Office Impress : 3D rotation objects;generating -Oracle Open Office Impress : 3D text creation -Oracle Open Office Impress : abbreviation replacement -Oracle Open Office Impress : absolute hyperlinks -Oracle Open Office Impress : absolute saving of URLs -Oracle Open Office Impress : accents -Oracle Open Office Impress : Access databases (base) -Oracle Open Office Impress : access rights for database tables (Base) -Oracle Open Office Impress : accessibility -Oracle Open Office Impress : accessibility;general shortcuts -Oracle Open Office Impress : accessibility;options -Oracle Open Office Impress : accessibility;Oracle Open Office assistive technology -Oracle Open Office Impress : accessibility;Oracle Open Office Draw -Oracle Open Office Impress : accessibility;Oracle Open Office features -Oracle Open Office Impress : accessibility;Oracle Open Office Impress -Oracle Open Office Impress : activating -Oracle Open Office Impress : activating;context menus -Oracle Open Office Impress : activating;Error Report Tool -Oracle Open Office Impress : activating;extended help tips -Oracle Open Office Impress : activating;plug-ins -Oracle Open Office Impress : ActiveX control -Oracle Open Office Impress : Adabas D databases (base) -Oracle Open Office Impress : add-ons, see UNO components -Oracle Open Office Impress : additional selection mode -Oracle Open Office Impress : address books -Oracle Open Office Impress : address books;LDAP server (Base) -Oracle Open Office Impress : address books;registering -Oracle Open Office Impress : address labels from databases -Oracle Open Office Impress : ADO databases (Base) -Oracle Open Office Impress : Agenda Wizard -Oracle Open Office Impress : aging filter -Oracle Open Office Impress : aligning -Oracle Open Office Impress : aligning;2D charts -Oracle Open Office Impress : aligning;cells -Oracle Open Office Impress : aligning;draw objects -Oracle Open Office Impress : aligning;objects -Oracle Open Office Impress : aligning;paragraphs -Oracle Open Office Impress : aligning;tables in text -Oracle Open Office Impress : aligning;text objects -Oracle Open Office Impress : aligning;titles in charts -Oracle Open Office Impress : allowing -Oracle Open Office Impress : allowing;effects -Oracle Open Office Impress : allowing;interaction -Oracle Open Office Impress : alternative fonts -Oracle Open Office Impress : ampersand symbol, see also operators -Oracle Open Office Impress : anchors -Oracle Open Office Impress : anchors;changing -Oracle Open Office Impress : anchors;displaying (Calc) -Oracle Open Office Impress : anchors;types/positions for draw objects -Oracle Open Office Impress : animated GIFs -Oracle Open Office Impress : animated slide transitions -Oracle Open Office Impress : animation effects -Oracle Open Office Impress : animations -Oracle Open Office Impress : animations;accessibility options -Oracle Open Office Impress : animations;editing -Oracle Open Office Impress : animations;list of -Oracle Open Office Impress : animations;saving as GIFs -Oracle Open Office Impress : appearance options -Oracle Open Office Impress : Arabic -Oracle Open Office Impress : Arabic;entering text -Oracle Open Office Impress : Arabic;language settings -Oracle Open Office Impress : area charts -Oracle Open Office Impress : areas -Oracle Open Office Impress : areas;bitmap patterns -Oracle Open Office Impress : areas;from connected lines -Oracle Open Office Impress : areas;hatched/dotted -Oracle Open Office Impress : areas;shadows -Oracle Open Office Impress : areas;slanting -Oracle Open Office Impress : areas;styles -Oracle Open Office Impress : areas;transparency -Oracle Open Office Impress : arguments in command line -Oracle Open Office Impress : arranging -Oracle Open Office Impress : arranging;objects -Oracle Open Office Impress : arranging;objects (guide) -Oracle Open Office Impress : arranging;slides -Oracle Open Office Impress : arrows -Oracle Open Office Impress : arrows;defining arrow heads -Oracle Open Office Impress : arrows;defining arrow lines -Oracle Open Office Impress : arrows;drawing in text -Oracle Open Office Impress : arrows;inserting -Oracle Open Office Impress : arrows;loading arrow styles -Oracle Open Office Impress : ASCII -Oracle Open Office Impress : ASCII;definition -Oracle Open Office Impress : Asian languages -Oracle Open Office Impress : Asian languages;enabling -Oracle Open Office Impress : Asian Phonetic Guide -Oracle Open Office Impress : Asian typography -Oracle Open Office Impress : assembled objects in 3D -Oracle Open Office Impress : assigning scripts -Oracle Open Office Impress : assistive technology in Oracle Open Office -Oracle Open Office Impress : attaching toolbars -Oracle Open Office Impress : attachments in e-mails -Oracle Open Office Impress : attributes -Oracle Open Office Impress : attributes;objects with -Oracle Open Office Impress : audio -Oracle Open Office Impress : authors -Oracle Open Office Impress : auto reloading HTML documents -Oracle Open Office Impress : AutoAbstract function for sending text to presentations -Oracle Open Office Impress : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Impress : AutoComplete function in text and list boxes -Oracle Open Office Impress : AutoCorrect function -Oracle Open Office Impress : AutoCorrect function;context menu -Oracle Open Office Impress : AutoCorrect function;options -Oracle Open Office Impress : AutoCorrect function;pictures and frames -Oracle Open Office Impress : AutoCorrect function;quotes -Oracle Open Office Impress : AutoCorrect function;replacement table -Oracle Open Office Impress : AutoCorrect function;switching on and off in Calc -Oracle Open Office Impress : AutoCorrect function;URL recognition -Oracle Open Office Impress : AutoFormat function -Oracle Open Office Impress : AutoFormat function;switching on and off -Oracle Open Office Impress : automatic captions (Writer) -Oracle Open Office Impress : automatic control focus -Oracle Open Office Impress : automatic hyperlink formatting -Oracle Open Office Impress : automatic line breaks -Oracle Open Office Impress : automatic lines/borders in text -Oracle Open Office Impress : automatic saving -Oracle Open Office Impress : automatic slide changes -Oracle Open Office Impress : automatic slide changes;rehearse timings -Oracle Open Office Impress : automatic slide shows -Oracle Open Office Impress : automatic slide transition -Oracle Open Office Impress : AutoPilots, see wizards -Oracle Open Office Impress : AutoValue (Base) -Oracle Open Office Impress : averages in charts -Oracle Open Office Impress : axes -Oracle Open Office Impress : axes;better scaling -Oracle Open Office Impress : axes;formatting -Oracle Open Office Impress : axes;formatting grids -Oracle Open Office Impress : axes;inserting grids -Oracle Open Office Impress : axes;interval marks -Oracle Open Office Impress : axes;showing axes in charts -Oracle Open Office Impress : axes in charts -Oracle Open Office Impress : backgrounds -Oracle Open Office Impress : backgrounds;changing -Oracle Open Office Impress : backgrounds;defining colors/pictures -Oracle Open Office Impress : backgrounds;deleting unused -Oracle Open Office Impress : backgrounds;frames/sections/indexes -Oracle Open Office Impress : backgrounds;inserting from Gallery -Oracle Open Office Impress : backgrounds;normal view -Oracle Open Office Impress : backgrounds;notes -Oracle Open Office Impress : backgrounds;printing -Oracle Open Office Impress : backgrounds;slides -Oracle Open Office Impress : backing window -Oracle Open Office Impress : backups -Oracle Open Office Impress : backups;automatic -Oracle Open Office Impress : backups;documents -Oracle Open Office Impress : bar charts -Oracle Open Office Impress : Basic -Oracle Open Office Impress : Basic;fonts for source display -Oracle Open Office Impress : Basic;programming -Oracle Open Office Impress : Basic;recording macros -Oracle Open Office Impress : basic fonts -Oracle Open Office Impress : behind object command -Oracle Open Office Impress : Bézier curves -Oracle Open Office Impress : Bézier curves;control points in presentations -Oracle Open Office Impress : bi-directional writing -Oracle Open Office Impress : binding space -Oracle Open Office Impress : bitmaps -Oracle Open Office Impress : bitmaps;converting to -Oracle Open Office Impress : bitmaps;converting to vector graphics -Oracle Open Office Impress : bitmaps;inserting and editing -Oracle Open Office Impress : bitmaps;off for faster printing -Oracle Open Office Impress : bitmaps;patterns -Oracle Open Office Impress : bitmaps;replacing colors -Oracle Open Office Impress : black and white display -Oracle Open Office Impress : black and white printing -Oracle Open Office Impress : black and white view -Oracle Open Office Impress : black printing in Calc -Oracle Open Office Impress : block selection mode -Oracle Open Office Impress : bold -Oracle Open Office Impress : bold;AutoFormat function -Oracle Open Office Impress : bold;text -Oracle Open Office Impress : bookmarks -Oracle Open Office Impress : bookmarks;Help -Oracle Open Office Impress : borders -Oracle Open Office Impress : borders;arranging -Oracle Open Office Impress : borders;cells on screen (Calc) -Oracle Open Office Impress : borders;for paragraphs -Oracle Open Office Impress : borders;for tables -Oracle Open Office Impress : borders;shadows -Oracle Open Office Impress : borders;table boundaries (Writer) -Oracle Open Office Impress : borders, see also frames -Oracle Open Office Impress : bound fields -Oracle Open Office Impress : bound fields;controls -Oracle Open Office Impress : boundaries of tables (Writer) -Oracle Open Office Impress : break display (Writer) -Oracle Open Office Impress : breaking object connections -Oracle Open Office Impress : brochures -Oracle Open Office Impress : brochures;printing several -Oracle Open Office Impress : bubble charts -Oracle Open Office Impress : build numbers of Oracle Open Office -Oracle Open Office Impress : bullet lists -Oracle Open Office Impress : bullet lists;formatting options -Oracle Open Office Impress : bullets -Oracle Open Office Impress : bullets;paragraphs -Oracle Open Office Impress : bullets;replacing -Oracle Open Office Impress : bullets;turning off -Oracle Open Office Impress : business cards -Oracle Open Office Impress : business cards;creating and synchronizing -Oracle Open Office Impress : business cards;using templates -Oracle Open Office Impress : button bars, see toolbars -Oracle Open Office Impress : buttons -Oracle Open Office Impress : buttons;adding push buttons -Oracle Open Office Impress : buttons;big/small -Oracle Open Office Impress : buttons;editing hyperlink buttons -Oracle Open Office Impress : buttons;form functions -Oracle Open Office Impress : buttons;toolbars -Oracle Open Office Impress : cache for graphics -Oracle Open Office Impress : calculating -Oracle Open Office Impress : calculating;iterative references (Calc) -Oracle Open Office Impress : calculating;regression curves -Oracle Open Office Impress : callouts -Oracle Open Office Impress : callouts;drawings -Oracle Open Office Impress : callouts;inserting in presentations -Oracle Open Office Impress : capital letters -Oracle Open Office Impress : capital letters;AutoCorrect function -Oracle Open Office Impress : capital letters;font effects -Oracle Open Office Impress : captions -Oracle Open Office Impress : captions;automatic captions (Writer) -Oracle Open Office Impress : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Impress : captions, see also labels/callouts -Oracle Open Office Impress : cascading update (Base) -Oracle Open Office Impress : case sensitivity -Oracle Open Office Impress : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Impress : case sensitivity;searching -Oracle Open Office Impress : cells -Oracle Open Office Impress : cells;aligning -Oracle Open Office Impress : cells;coloring (Calc) -Oracle Open Office Impress : cells;cursor positions after input (Calc) -Oracle Open Office Impress : cells;formatting without effect (Calc) -Oracle Open Office Impress : cells;line breaks -Oracle Open Office Impress : cells;linked to controls -Oracle Open Office Impress : cells;number of -Oracle Open Office Impress : cells;pasting -Oracle Open Office Impress : cells;resetting formats -Oracle Open Office Impress : cells;showing grid lines (Calc) -Oracle Open Office Impress : centered text -Oracle Open Office Impress : centimeters -Oracle Open Office Impress : certificates -Oracle Open Office Impress : changes -Oracle Open Office Impress : changes;accepting or rejecting -Oracle Open Office Impress : changes;comparing to original -Oracle Open Office Impress : changes;protecting -Oracle Open Office Impress : changes;recording -Oracle Open Office Impress : changes;review function -Oracle Open Office Impress : changes;showing -Oracle Open Office Impress : changing -Oracle Open Office Impress : changing;document titles -Oracle Open Office Impress : changing;file associations in Setup program -Oracle Open Office Impress : changing;icon sizes -Oracle Open Office Impress : changing;layer properties -Oracle Open Office Impress : changing;layout for handouts -Oracle Open Office Impress : changing;links -Oracle Open Office Impress : changing;order of slides -Oracle Open Office Impress : changing;slide layouts -Oracle Open Office Impress : changing;work directory -Oracle Open Office Impress : changing, see also editing and replacing -Oracle Open Office Impress : character styles -Oracle Open Office Impress : character styles;language selection -Oracle Open Office Impress : characters -Oracle Open Office Impress : characters;alternative fonts -Oracle Open Office Impress : characters;Asian layout -Oracle Open Office Impress : characters;bold -Oracle Open Office Impress : characters;coloring -Oracle Open Office Impress : characters;converting to curves -Oracle Open Office Impress : characters;displaying only on screen (Writer) -Oracle Open Office Impress : characters;enabling CTL and Asian characters -Oracle Open Office Impress : characters;font effects -Oracle Open Office Impress : characters;fonts and formats -Oracle Open Office Impress : characters;hyperlinks -Oracle Open Office Impress : characters;italics -Oracle Open Office Impress : characters;language selection -Oracle Open Office Impress : characters;shadowed -Oracle Open Office Impress : characters;spacing -Oracle Open Office Impress : characters;special -Oracle Open Office Impress : characters;underlining -Oracle Open Office Impress : charcoal sketches filter -Oracle Open Office Impress : chart legends -Oracle Open Office Impress : chart legends;hiding -Oracle Open Office Impress : chart legends;showing icons with labels -Oracle Open Office Impress : chart types -Oracle Open Office Impress : chart types;area -Oracle Open Office Impress : chart types;bubble -Oracle Open Office Impress : chart types;column and bar -Oracle Open Office Impress : chart types;column and line -Oracle Open Office Impress : chart types;line -Oracle Open Office Impress : chart types;net -Oracle Open Office Impress : chart types;pie/donut -Oracle Open Office Impress : chart types;stock -Oracle Open Office Impress : chart types;XY (scatter) -Oracle Open Office Impress : charts -Oracle Open Office Impress : charts;3D views -Oracle Open Office Impress : charts;aligning -Oracle Open Office Impress : charts;arranging within stacks -Oracle Open Office Impress : charts;bars with textures -Oracle Open Office Impress : charts;choosing chart types -Oracle Open Office Impress : charts;colors -Oracle Open Office Impress : charts;copying with link to source cell range -Oracle Open Office Impress : charts;data labels -Oracle Open Office Impress : charts;displaying (Calc) -Oracle Open Office Impress : charts;editing axes -Oracle Open Office Impress : charts;editing data -Oracle Open Office Impress : charts;editing legends -Oracle Open Office Impress : charts;editing titles -Oracle Open Office Impress : charts;formatting areas -Oracle Open Office Impress : charts;formatting floors -Oracle Open Office Impress : charts;formatting walls -Oracle Open Office Impress : charts;inserting -Oracle Open Office Impress : charts;overview -Oracle Open Office Impress : charts;positioning axes -Oracle Open Office Impress : charts;properties -Oracle Open Office Impress : charts;reorganizing -Oracle Open Office Impress : charts;scaling axes -Oracle Open Office Impress : charts;scaling text -Oracle Open Office Impress : charts;shortcuts -Oracle Open Office Impress : charts;showing axes -Oracle Open Office Impress : charts;updating automatically (Writer) -Oracle Open Office Impress : check box creation -Oracle Open Office Impress : Chinese writing systems -Oracle Open Office Impress : choosing printers -Oracle Open Office Impress : circle drawings -Oracle Open Office Impress : circle segments -Oracle Open Office Impress : circles -Oracle Open Office Impress : circles;of objects -Oracle Open Office Impress : Client Side ImageMap -Oracle Open Office Impress : clipboard -Oracle Open Office Impress : clipboard;cutting -Oracle Open Office Impress : clipboard;pasting -Oracle Open Office Impress : clipboard;pasting formatted/unformatted text -Oracle Open Office Impress : clipboard;selection clipboard -Oracle Open Office Impress : clipboard;Unix -Oracle Open Office Impress : closing -Oracle Open Office Impress : closing;documents -Oracle Open Office Impress : closing;shapes -Oracle Open Office Impress : closing;toolbars -Oracle Open Office Impress : collaboration -Oracle Open Office Impress : color bar -Oracle Open Office Impress : colors -Oracle Open Office Impress : colors;adding -Oracle Open Office Impress : colors;appearance -Oracle Open Office Impress : colors;backgrounds -Oracle Open Office Impress : colors;charts -Oracle Open Office Impress : colors;default colors -Oracle Open Office Impress : colors;defining and saving -Oracle Open Office Impress : colors;defining gradients interactively -Oracle Open Office Impress : colors;displaying presentations -Oracle Open Office Impress : colors;fill format -Oracle Open Office Impress : colors;fonts -Oracle Open Office Impress : colors;grid lines and cells (Calc) -Oracle Open Office Impress : colors;loading lists -Oracle Open Office Impress : colors;models -Oracle Open Office Impress : colors;not printing -Oracle Open Office Impress : colors;printing in grayscale -Oracle Open Office Impress : colors;replacing -Oracle Open Office Impress : colors;restriction (Calc) -Oracle Open Office Impress : colors;selection -Oracle Open Office Impress : column and line charts -Oracle Open Office Impress : column charts -Oracle Open Office Impress : column headers -Oracle Open Office Impress : column headers;displaying (Calc) -Oracle Open Office Impress : column headers;highlighting (Calc) -Oracle Open Office Impress : columns -Oracle Open Office Impress : columns;inserting -Oracle Open Office Impress : columns;setting with the mouse -Oracle Open Office Impress : combination charts -Oracle Open Office Impress : combining -Oracle Open Office Impress : combining;3D objects -Oracle Open Office Impress : combining;draw objects -Oracle Open Office Impress : combining;undoing -Oracle Open Office Impress : combo box creation -Oracle Open Office Impress : command button creation -Oracle Open Office Impress : command buttons, see push buttons -Oracle Open Office Impress : command line parameters -Oracle Open Office Impress : commands -Oracle Open Office Impress : commands;repeating -Oracle Open Office Impress : commands;SQL -Oracle Open Office Impress : comments -Oracle Open Office Impress : comments;displaying (Calc) -Oracle Open Office Impress : comments;inserting/editing/deleting/printing -Oracle Open Office Impress : comments;on changes -Oracle Open Office Impress : comments;printing in text -Oracle Open Office Impress : common terms -Oracle Open Office Impress : common terms;Chinese dictionary -Oracle Open Office Impress : common terms;glossaries -Oracle Open Office Impress : common terms;Internet glossary -Oracle Open Office Impress : comparisons -Oracle Open Office Impress : comparisons;document versions -Oracle Open Office Impress : comparisons;operators in default filter dialog -Oracle Open Office Impress : compatibility settings for MS Word import -Oracle Open Office Impress : complete screen view -Oracle Open Office Impress : complex text layout -Oracle Open Office Impress : complex text layout;definition -Oracle Open Office Impress : complex text layout;enabling -Oracle Open Office Impress : complex text layout, see CTL -Oracle Open Office Impress : compose key to insert special characters -Oracle Open Office Impress : concatenation, see ampersand symbol -Oracle Open Office Impress : conditional separators -Oracle Open Office Impress : conditions -Oracle Open Office Impress : conditions;in number formats -Oracle Open Office Impress : conditions;items in Data Navigator -Oracle Open Office Impress : cones -Oracle Open Office Impress : Configuration Manager -Oracle Open Office Impress : configuring -Oracle Open Office Impress : configuring;fax icon -Oracle Open Office Impress : configuring;Oracle Open Office -Oracle Open Office Impress : configuring;toolbars -Oracle Open Office Impress : connecting -Oracle Open Office Impress : connecting;draw objects -Oracle Open Office Impress : connecting;lines -Oracle Open Office Impress : connecting;paths and objects -Oracle Open Office Impress : connections to data sources (Base) -Oracle Open Office Impress : connectors -Oracle Open Office Impress : connectors;properties of -Oracle Open Office Impress : connectors;using -Oracle Open Office Impress : constructing shapes -Oracle Open Office Impress : contents protection -Oracle Open Office Impress : context menus -Oracle Open Office Impress : contours -Oracle Open Office Impress : contours;converting to -Oracle Open Office Impress : control point display in presentations -Oracle Open Office Impress : control points definition -Oracle Open Office Impress : controls -Oracle Open Office Impress : controls;activating in forms -Oracle Open Office Impress : controls;adding to documents -Oracle Open Office Impress : controls;arranging in forms -Oracle Open Office Impress : controls;arranging within stacks -Oracle Open Office Impress : controls;assigning data sources -Oracle Open Office Impress : controls;assigning macros (Basic) -Oracle Open Office Impress : controls;bound fields/list contents/linked cells -Oracle Open Office Impress : controls;events -Oracle Open Office Impress : controls;focus -Oracle Open Office Impress : controls;formatted fields -Oracle Open Office Impress : controls;grouping -Oracle Open Office Impress : controls;hidden -Oracle Open Office Impress : controls;inserting -Oracle Open Office Impress : controls;multi-line titles -Oracle Open Office Impress : controls;positions and sizes -Oracle Open Office Impress : controls;printing -Oracle Open Office Impress : controls;properties of form controls -Oracle Open Office Impress : controls;properties of table controls -Oracle Open Office Impress : controls;reference by SQL -Oracle Open Office Impress : controls;rich text control -Oracle Open Office Impress : controls;select mode -Oracle Open Office Impress : controls;showing (Writer) -Oracle Open Office Impress : converters -Oracle Open Office Impress : converters;Euro converter -Oracle Open Office Impress : converters;PostScript, UNIX -Oracle Open Office Impress : converters;XML -Oracle Open Office Impress : converting -Oracle Open Office Impress : converting;bitmaps to polygons -Oracle Open Office Impress : converting;Hangul/Hanja -Oracle Open Office Impress : converting;metrics -Oracle Open Office Impress : converting;Microsoft documents -Oracle Open Office Impress : converting;Oracle Open Office documents -Oracle Open Office Impress : converting;Pocket PC formats -Oracle Open Office Impress : converting;points -Oracle Open Office Impress : converting;text to curves -Oracle Open Office Impress : converting;to bitmaps -Oracle Open Office Impress : converting;to contours -Oracle Open Office Impress : converting;to curves, polygons, 3D -Oracle Open Office Impress : converting;to metafile format (WMF) -Oracle Open Office Impress : copies -Oracle Open Office Impress : copies;printing -Oracle Open Office Impress : copying -Oracle Open Office Impress : copying;by drag and drop -Oracle Open Office Impress : copying;data from text documents -Oracle Open Office Impress : copying;datasource records in spreadsheets -Oracle Open Office Impress : copying;draw objects -Oracle Open Office Impress : copying;draw objects between documents -Oracle Open Office Impress : copying;formatting -Oracle Open Office Impress : copying;from data source view -Oracle Open Office Impress : copying;from Gallery -Oracle Open Office Impress : copying;in Unix -Oracle Open Office Impress : copying;pictures, between documents -Oracle Open Office Impress : copying;sheet areas, to text documents -Oracle Open Office Impress : copying;slides -Oracle Open Office Impress : copying;text from other documents -Oracle Open Office Impress : copying;to Gallery -Oracle Open Office Impress : copyright for Oracle Open Office -Oracle Open Office Impress : corner points -Oracle Open Office Impress : corner roundings -Oracle Open Office Impress : covered objects -Oracle Open Office Impress : crash reports -Oracle Open Office Impress : criteria of query design (Base) -Oracle Open Office Impress : cropping pictures -Oracle Open Office Impress : cross-fading -Oracle Open Office Impress : cross-fading;creating cross-fades -Oracle Open Office Impress : cross-fading;slides -Oracle Open Office Impress : cross-fading;two draw objects -Oracle Open Office Impress : CTL -Oracle Open Office Impress : CTL;(not) wrapping words -Oracle Open Office Impress : CTL;complex text layout languages -Oracle Open Office Impress : CTL;definition -Oracle Open Office Impress : CTL;options -Oracle Open Office Impress : cubes -Oracle Open Office Impress : currencies -Oracle Open Office Impress : currencies;converters -Oracle Open Office Impress : currencies;format codes -Oracle Open Office Impress : currency field creation -Oracle Open Office Impress : currency formats -Oracle Open Office Impress : cursor -Oracle Open Office Impress : cursor;allowing in protected areas (Writer) -Oracle Open Office Impress : cursor;in read-only text -Oracle Open Office Impress : cursor;quickly moving to an object -Oracle Open Office Impress : curves -Oracle Open Office Impress : curves;converting text to -Oracle Open Office Impress : curves;drawing -Oracle Open Office Impress : curves;editing -Oracle Open Office Impress : curves;editing points -Oracle Open Office Impress : curves;properties in line charts/XY charts -Oracle Open Office Impress : curves;toolbar -Oracle Open Office Impress : custom animation -Oracle Open Office Impress : custom colors -Oracle Open Office Impress : custom dictionaries -Oracle Open Office Impress : custom dictionaries;editing -Oracle Open Office Impress : custom gradients -Oracle Open Office Impress : custom hyphens (Writer) -Oracle Open Office Impress : custom quotes -Oracle Open Office Impress : custom slide shows -Oracle Open Office Impress : custom templates -Oracle Open Office Impress : customizing -Oracle Open Office Impress : customizing;events -Oracle Open Office Impress : customizing;keyboard -Oracle Open Office Impress : customizing;menus -Oracle Open Office Impress : customizing;Oracle Open Office -Oracle Open Office Impress : customizing;round corners -Oracle Open Office Impress : customizing;toolbars -Oracle Open Office Impress : cutting -Oracle Open Office Impress : cylinders -Oracle Open Office Impress : dashes -Oracle Open Office Impress : data -Oracle Open Office Impress : data;filtering in forms -Oracle Open Office Impress : data;forms and subforms -Oracle Open Office Impress : data;read-only -Oracle Open Office Impress : data;sorting in forms -Oracle Open Office Impress : data;user data -Oracle Open Office Impress : data binding change in XForms -Oracle Open Office Impress : data labels in charts -Oracle Open Office Impress : Data Navigator -Oracle Open Office Impress : Data Navigator;adding/editing items -Oracle Open Office Impress : Data Navigator;display options -Oracle Open Office Impress : data ranges in charts -Oracle Open Office Impress : data series -Oracle Open Office Impress : data source browser -Oracle Open Office Impress : data source explorer -Oracle Open Office Impress : data source view -Oracle Open Office Impress : data source view;drag and drop -Oracle Open Office Impress : data source view;overview -Oracle Open Office Impress : data source view;showing -Oracle Open Office Impress : data sources -Oracle Open Office Impress : data sources;as tables -Oracle Open Office Impress : data sources;connection settings (Base) -Oracle Open Office Impress : data sources;copying records to spreadsheets -Oracle Open Office Impress : data sources;displaying current -Oracle Open Office Impress : data sources;LDAP server (Base) -Oracle Open Office Impress : data sources;Oracle Open Office Base -Oracle Open Office Impress : data sources;registering address books -Oracle Open Office Impress : data sources;reports -Oracle Open Office Impress : data sources;setting for stock charts -Oracle Open Office Impress : data sources;viewing -Oracle Open Office Impress : data structure of XForms -Oracle Open Office Impress : data values in charts -Oracle Open Office Impress : data, see also values -Oracle Open Office Impress : database contents -Oracle Open Office Impress : database contents;inserting as tables -Oracle Open Office Impress : database contents;inserting as text -Oracle Open Office Impress : database reports -Oracle Open Office Impress : Database Wizard (Base) -Oracle Open Office Impress : databases -Oracle Open Office Impress : databases;administration through SQL (Base) -Oracle Open Office Impress : databases;ADO (Base) -Oracle Open Office Impress : databases;connecting (Base) -Oracle Open Office Impress : databases;creating -Oracle Open Office Impress : databases;creating labels -Oracle Open Office Impress : databases;creating queries -Oracle Open Office Impress : databases;creating reports -Oracle Open Office Impress : databases;creating tables -Oracle Open Office Impress : databases;deleting (Base) -Oracle Open Office Impress : databases;drag and drop (Base) -Oracle Open Office Impress : databases;editing tables -Oracle Open Office Impress : databases;form filters -Oracle Open Office Impress : databases;formats (Base) -Oracle Open Office Impress : databases;importing/exporting -Oracle Open Office Impress : databases;JDBC (Base) -Oracle Open Office Impress : databases;main page (Base) -Oracle Open Office Impress : databases;ODBC (Base) -Oracle Open Office Impress : databases;overview -Oracle Open Office Impress : databases;registering (Base) -Oracle Open Office Impress : databases;searching records -Oracle Open Office Impress : databases;shortcut keys -Oracle Open Office Impress : databases;sorting -Oracle Open Office Impress : databases;standard filters -Oracle Open Office Impress : databases;text formats -Oracle Open Office Impress : databases;viewing -Oracle Open Office Impress : date fields -Oracle Open Office Impress : date fields;creating -Oracle Open Office Impress : date fields;properties -Oracle Open Office Impress : date formats -Oracle Open Office Impress : date on all slides -Oracle Open Office Impress : dates -Oracle Open Office Impress : dates;default (Calc) -Oracle Open Office Impress : dates;fixed -Oracle Open Office Impress : dates;printing in presentations -Oracle Open Office Impress : dates;start 1900/01/01 (Calc) -Oracle Open Office Impress : dates;start 1904/01/01 (Calc) -Oracle Open Office Impress : dates;variable -Oracle Open Office Impress : dBASE -Oracle Open Office Impress : dBASE;database settings (Base) -Oracle Open Office Impress : DDE -Oracle Open Office Impress : DDE;definition -Oracle Open Office Impress : deactivating -Oracle Open Office Impress : deactivating;plug-ins -Oracle Open Office Impress : decimal places displayed (Calc) -Oracle Open Office Impress : decimal separator key -Oracle Open Office Impress : decimal tab stops -Oracle Open Office Impress : decreasing sizes of views -Oracle Open Office Impress : default directories -Oracle Open Office Impress : default filters -Oracle Open Office Impress : default filters;comparison operators -Oracle Open Office Impress : default filters;databases -Oracle Open Office Impress : default printer -Oracle Open Office Impress : default printer;setting up -Oracle Open Office Impress : default printer;UNIX -Oracle Open Office Impress : default templates -Oracle Open Office Impress : default templates;changing -Oracle Open Office Impress : default templates;organizing -Oracle Open Office Impress : defaults -Oracle Open Office Impress : defaults;documents -Oracle Open Office Impress : defaults;file formats in file dialogs -Oracle Open Office Impress : defaults;file formats in Oracle Open Office -Oracle Open Office Impress : defaults;fonts -Oracle Open Office Impress : defaults;grids (Writer/Calc) -Oracle Open Office Impress : defaults;languages -Oracle Open Office Impress : defaults;number formats -Oracle Open Office Impress : defaults;of saving -Oracle Open Office Impress : defaults;program configuration -Oracle Open Office Impress : defaults;tab stops in text -Oracle Open Office Impress : defaults;views -Oracle Open Office Impress : defining -Oracle Open Office Impress : defining;arrowheads and other line ends -Oracle Open Office Impress : defining;colors -Oracle Open Office Impress : defining;gradients -Oracle Open Office Impress : defining;line styles -Oracle Open Office Impress : defining;paragraph borders -Oracle Open Office Impress : defining;queries (Base) -Oracle Open Office Impress : defining;table borders -Oracle Open Office Impress : deleting -Oracle Open Office Impress : deleting;all direct formatting -Oracle Open Office Impress : deleting;animation effects -Oracle Open Office Impress : deleting;comments -Oracle Open Office Impress : deleting;databases (Base) -Oracle Open Office Impress : deleting;hyperlinks -Oracle Open Office Impress : deleting;layers -Oracle Open Office Impress : deleting;lines in text -Oracle Open Office Impress : deleting;models/instances -Oracle Open Office Impress : deleting;namespaces in XForms -Oracle Open Office Impress : deleting;points -Oracle Open Office Impress : deleting;slide transition effects -Oracle Open Office Impress : deleting;slides -Oracle Open Office Impress : deleting;tab stops -Oracle Open Office Impress : deleting;templates -Oracle Open Office Impress : deleting;XML filters -Oracle Open Office Impress : depth stagger -Oracle Open Office Impress : descriptions for objects -Oracle Open Office Impress : design mode after saving -Oracle Open Office Impress : design view -Oracle Open Office Impress : design view;creating forms -Oracle Open Office Impress : design view;queries/views (Base) -Oracle Open Office Impress : designing -Oracle Open Office Impress : designing;database tables -Oracle Open Office Impress : designing;fonts -Oracle Open Office Impress : designing;queries (Base) -Oracle Open Office Impress : detaching toolbars -Oracle Open Office Impress : dictionaries -Oracle Open Office Impress : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Impress : dictionaries;creating -Oracle Open Office Impress : dictionaries;editing user-defined -Oracle Open Office Impress : dictionaries;spellcheck -Oracle Open Office Impress : dictionaries, see also languages -Oracle Open Office Impress : digital signatures -Oracle Open Office Impress : digital signatures;getting/managing/applying -Oracle Open Office Impress : digital signatures;overview -Oracle Open Office Impress : digital signatures;WebDAV over HTTPS -Oracle Open Office Impress : dimension lines -Oracle Open Office Impress : dimension lines;drawing -Oracle Open Office Impress : dimension lines;properties of -Oracle Open Office Impress : direct formatting -Oracle Open Office Impress : direct formatting;undoing all -Oracle Open Office Impress : directories -Oracle Open Office Impress : directories;creating new -Oracle Open Office Impress : directories;directory structure -Oracle Open Office Impress : disabled persons -Oracle Open Office Impress : display qualities of presentations -Oracle Open Office Impress : displaying -Oracle Open Office Impress : displaying;comments (Calc) -Oracle Open Office Impress : displaying;comments in text documents -Oracle Open Office Impress : displaying;non-printing characters (Writer) -Oracle Open Office Impress : displaying;pictures and objects (Writer) -Oracle Open Office Impress : displaying;tables (Writer) -Oracle Open Office Impress : displaying;zero values (Calc) -Oracle Open Office Impress : distances -Oracle Open Office Impress : distinct values in SQL queries -Oracle Open Office Impress : distorting in drawings -Oracle Open Office Impress : distorting objects -Oracle Open Office Impress : distributing draw objects -Oracle Open Office Impress : distributing XML filters -Oracle Open Office Impress : docking -Oracle Open Office Impress : docking;definition -Oracle Open Office Impress : docking;toolbars -Oracle Open Office Impress : docking;windows -Oracle Open Office Impress : Document Converter Wizard -Oracle Open Office Impress : Document Map, see Navigator -Oracle Open Office Impress : document types in Oracle Open Office -Oracle Open Office Impress : documents -Oracle Open Office Impress : documents;changing titles -Oracle Open Office Impress : documents;closing -Oracle Open Office Impress : documents;comparing -Oracle Open Office Impress : documents;contents as lists -Oracle Open Office Impress : documents;editing time -Oracle Open Office Impress : documents;exporting -Oracle Open Office Impress : documents;importing -Oracle Open Office Impress : documents;languages -Oracle Open Office Impress : documents;measurement units in -Oracle Open Office Impress : documents;merging -Oracle Open Office Impress : documents;number of pages/tables/sheets -Oracle Open Office Impress : documents;opening -Oracle Open Office Impress : documents;opening in design mode -Oracle Open Office Impress : documents;opening with templates -Oracle Open Office Impress : documents;organizing -Oracle Open Office Impress : documents;printing -Oracle Open Office Impress : documents;read-only -Oracle Open Office Impress : documents;reloading -Oracle Open Office Impress : documents;saving -Oracle Open Office Impress : documents;saving automatically -Oracle Open Office Impress : documents;saving in other formats -Oracle Open Office Impress : documents;sending as e-mail -Oracle Open Office Impress : documents;styles changed -Oracle Open Office Impress : documents;version management -Oracle Open Office Impress : documents;version numbers -Oracle Open Office Impress : donut charts -Oracle Open Office Impress : dotted areas -Oracle Open Office Impress : double-line spacing in paragraphs -Oracle Open Office Impress : double-line writing in Asian layout -Oracle Open Office Impress : doubling draw objects -Oracle Open Office Impress : drag and drop -Oracle Open Office Impress : drag and drop;copying and pasting text -Oracle Open Office Impress : drag and drop;data source view -Oracle Open Office Impress : drag and drop;from Gallery to draw objects -Oracle Open Office Impress : drag and drop;overview -Oracle Open Office Impress : drag and drop;pictures -Oracle Open Office Impress : drag and drop;to Gallery -Oracle Open Office Impress : Draw instructions -Oracle Open Office Impress : draw objects -Oracle Open Office Impress : draw objects;adding/editing/copying -Oracle Open Office Impress : draw objects;anchoring -Oracle Open Office Impress : draw objects;arranging within stacks -Oracle Open Office Impress : draw objects;combining -Oracle Open Office Impress : draw objects;connecting lines to -Oracle Open Office Impress : draw objects;converting text to -Oracle Open Office Impress : draw objects;copying between documents -Oracle Open Office Impress : draw objects;cross-fading two objects -Oracle Open Office Impress : draw objects;displaying (Calc) -Oracle Open Office Impress : draw objects;dropping Gallery pictures -Oracle Open Office Impress : draw objects;duplicating -Oracle Open Office Impress : draw objects;flipping -Oracle Open Office Impress : draw objects;grouping -Oracle Open Office Impress : draw objects;legends -Oracle Open Office Impress : draw objects;positioning and resizing -Oracle Open Office Impress : draw objects;protecting -Oracle Open Office Impress : draw objects;rotating -Oracle Open Office Impress : draw objects;slanting -Oracle Open Office Impress : draw objects;text entry mode -Oracle Open Office Impress : draw objects;text in -Oracle Open Office Impress : drawing -Oracle Open Office Impress : drawing;3D objects -Oracle Open Office Impress : drawing;freeform lines -Oracle Open Office Impress : drawing;lines -Oracle Open Office Impress : drawing;sectors and segments -Oracle Open Office Impress : Drawing bar -Oracle Open Office Impress : drawing lines in text -Oracle Open Office Impress : drawings -Oracle Open Office Impress : drawings;creating/opening -Oracle Open Office Impress : drawings;languages -Oracle Open Office Impress : drawings;printing -Oracle Open Office Impress : drawings;printing defaults -Oracle Open Office Impress : drawings;printing in text documents -Oracle Open Office Impress : drawings;saving -Oracle Open Office Impress : drawings;saving automatically -Oracle Open Office Impress : drawings;saving in other formats -Oracle Open Office Impress : drawings;sending as e-mail -Oracle Open Office Impress : drawings;shortcut keys -Oracle Open Office Impress : drawings;showing (Writer) -Oracle Open Office Impress : drawings;zoom function in -Oracle Open Office Impress : drawings, see also draw objects -Oracle Open Office Impress : drop-down lists in form functions -Oracle Open Office Impress : duplicating draw objects -Oracle Open Office Impress : e-mail attachments -Oracle Open Office Impress : Edit File icon -Oracle Open Office Impress : edit mode -Oracle Open Office Impress : edit mode;after opening -Oracle Open Office Impress : edit mode;through Enter key (Calc) -Oracle Open Office Impress : Edit Points bar -Oracle Open Office Impress : editing -Oracle Open Office Impress : editing;chart axes -Oracle Open Office Impress : editing;chart data -Oracle Open Office Impress : editing;chart legends -Oracle Open Office Impress : editing;chart titles -Oracle Open Office Impress : editing;comments -Oracle Open Office Impress : editing;curves -Oracle Open Office Impress : editing;data binding of XForms -Oracle Open Office Impress : editing;database tables and queries -Oracle Open Office Impress : editing;draw objects -Oracle Open Office Impress : editing;fields -Oracle Open Office Impress : editing;Fontwork objects -Oracle Open Office Impress : editing;gradients -Oracle Open Office Impress : editing;guides and snap points -Oracle Open Office Impress : editing;hyperlinks -Oracle Open Office Impress : editing;menus -Oracle Open Office Impress : editing;objects -Oracle Open Office Impress : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Impress : editing;pictures -Oracle Open Office Impress : editing;reports -Oracle Open Office Impress : editing;shortcut keys -Oracle Open Office Impress : editing;slide titles -Oracle Open Office Impress : editing;tab stops -Oracle Open Office Impress : editing;templates -Oracle Open Office Impress : editing;titles -Oracle Open Office Impress : editing;toolbars -Oracle Open Office Impress : editing;undoing -Oracle Open Office Impress : editing;XForms -Oracle Open Office Impress : editing time of documents -Oracle Open Office Impress : editors -Oracle Open Office Impress : editors;formula editor -Oracle Open Office Impress : editors;ImageMap editor -Oracle Open Office Impress : effects -Oracle Open Office Impress : effects;animated slide transitions -Oracle Open Office Impress : effects;applying to/removing from objects -Oracle Open Office Impress : effects;font positions -Oracle Open Office Impress : effects;fonts -Oracle Open Office Impress : effects;Fontwork icons -Oracle Open Office Impress : effects;preview -Oracle Open Office Impress : effects;sounds -Oracle Open Office Impress : ellipses -Oracle Open Office Impress : ellipses;segments -Oracle Open Office Impress : ellipses;toolbars -Oracle Open Office Impress : empty documents -Oracle Open Office Impress : empty paragraph removal -Oracle Open Office Impress : encryption of contents -Oracle Open Office Impress : entering groups -Oracle Open Office Impress : entering text from right to left -Oracle Open Office Impress : equal sign, see also operators -Oracle Open Office Impress : equations in formula editor -Oracle Open Office Impress : error bars in charts -Oracle Open Office Impress : error indicators in charts -Oracle Open Office Impress : Error Report Tool -Oracle Open Office Impress : Euro -Oracle Open Office Impress : Euro;currency formats -Oracle Open Office Impress : Euro;Euro Converter Wizard -Oracle Open Office Impress : even/odd pages -Oracle Open Office Impress : even/odd pages;printing -Oracle Open Office Impress : events -Oracle Open Office Impress : events;assigning scripts -Oracle Open Office Impress : events;controls -Oracle Open Office Impress : events;customizing -Oracle Open Office Impress : events;in forms -Oracle Open Office Impress : Excel -Oracle Open Office Impress : Excel;saving as -Oracle Open Office Impress : Excel;search criteria -Oracle Open Office Impress : exceptions -Oracle Open Office Impress : exceptions;user-defined dictionaries -Oracle Open Office Impress : exchanging, see also replacing -Oracle Open Office Impress : executing SQL commands -Oracle Open Office Impress : exiting -Oracle Open Office Impress : exiting;by clicking objects -Oracle Open Office Impress : exiting;groups -Oracle Open Office Impress : exiting;Oracle Open Office -Oracle Open Office Impress : expanding -Oracle Open Office Impress : expanding;slides -Oracle Open Office Impress : expanding formatting (Calc) -Oracle Open Office Impress : explorer of data sources -Oracle Open Office Impress : export filters -Oracle Open Office Impress : exporting -Oracle Open Office Impress : exporting;animations to GIF format -Oracle Open Office Impress : exporting;bitmaps -Oracle Open Office Impress : exporting;HTML and text documents -Oracle Open Office Impress : exporting;Microsoft Office documents with VBA code -Oracle Open Office Impress : exporting;presentations to HTML -Oracle Open Office Impress : exporting;spreadsheets to text format -Oracle Open Office Impress : exporting;templates -Oracle Open Office Impress : exporting;to foreign formats -Oracle Open Office Impress : exporting;to HTML -Oracle Open Office Impress : exporting;to Macromedia Flash format -Oracle Open Office Impress : exporting;to Microsoft Office formats -Oracle Open Office Impress : exporting;to PDF -Oracle Open Office Impress : exporting;to PostScript format -Oracle Open Office Impress : exporting;to XML -Oracle Open Office Impress : exporting;XML files -Oracle Open Office Impress : extended tips in Help -Oracle Open Office Impress : extension mode in text -Oracle Open Office Impress : extensions -Oracle Open Office Impress : extensions;Extension Manager -Oracle Open Office Impress : extensions;file formats -Oracle Open Office Impress : external keys (Base) -Oracle Open Office Impress : extrusion objects -Oracle Open Office Impress : eyedropper tool -Oracle Open Office Impress : faster printing -Oracle Open Office Impress : faxes -Oracle Open Office Impress : faxes;configuring Oracle Open Office -Oracle Open Office Impress : faxes;fax programs/fax printers under UNIX -Oracle Open Office Impress : faxes;selecting a fax machine -Oracle Open Office Impress : faxes;sending -Oracle Open Office Impress : faxes;wizards -Oracle Open Office Impress : feedback -Oracle Open Office Impress : feedback;automatically -Oracle Open Office Impress : fields -Oracle Open Office Impress : fields;authors -Oracle Open Office Impress : fields;database tables -Oracle Open Office Impress : fields;dates (fixed) -Oracle Open Office Impress : fields;dates (variable) -Oracle Open Office Impress : fields;displaying field codes (Writer) -Oracle Open Office Impress : fields;editing -Oracle Open Office Impress : fields;file names -Oracle Open Office Impress : fields;formatted fields -Oracle Open Office Impress : fields;formatting -Oracle Open Office Impress : fields;in slides -Oracle Open Office Impress : fields;page numbers -Oracle Open Office Impress : fields;times (fixed) -Oracle Open Office Impress : fields;times (variable) -Oracle Open Office Impress : fields;updating automatically (Writer) -Oracle Open Office Impress : file associations for Microsoft Office -Oracle Open Office Impress : file filters -Oracle Open Office Impress : file filters;mobile devices -Oracle Open Office Impress : file filters;XML -Oracle Open Office Impress : file formats -Oracle Open Office Impress : file formats;changing Oracle Open Office defaults -Oracle Open Office Impress : file formats;OpenDocument/XML -Oracle Open Office Impress : file formats;saving always in other formats -Oracle Open Office Impress : file selection button -Oracle Open Office Impress : file sharing options for current document -Oracle Open Office Impress : files -Oracle Open Office Impress : files;filters and formats -Oracle Open Office Impress : files;importing -Oracle Open Office Impress : files;inserting -Oracle Open Office Impress : files;inserting pictures -Oracle Open Office Impress : files;opening -Oracle Open Office Impress : files;opening with placeholders -Oracle Open Office Impress : files;properties -Oracle Open Office Impress : files;saving -Oracle Open Office Impress : files;saving automatically -Oracle Open Office Impress : files;saving in other formats -Oracle Open Office Impress : files;sending as e-mail -Oracle Open Office Impress : files;version numbers -Oracle Open Office Impress : files and folders in Oracle Open Office -Oracle Open Office Impress : fill characters with tabulators -Oracle Open Office Impress : fill colors for areas -Oracle Open Office Impress : fill format mode -Oracle Open Office Impress : fill format mode;styles -Oracle Open Office Impress : fill patterns for areas -Oracle Open Office Impress : filter conditions -Oracle Open Office Impress : filter conditions;connecting -Oracle Open Office Impress : filter conditions;in queries (Base) -Oracle Open Office Impress : filtering -Oracle Open Office Impress : filtering;data in databases -Oracle Open Office Impress : filtering;data in forms -Oracle Open Office Impress : filters -Oracle Open Office Impress : filters;comparison operators -Oracle Open Office Impress : filters;for import and export -Oracle Open Office Impress : filters;Navigator -Oracle Open Office Impress : filters;pictures -Oracle Open Office Impress : filters;XML filter settings -Oracle Open Office Impress : Find tab in Help -Oracle Open Office Impress : finding -Oracle Open Office Impress : finding;in all sheets -Oracle Open Office Impress : finding;records in form documents -Oracle Open Office Impress : finding;selections -Oracle Open Office Impress : finding;similarity search -Oracle Open Office Impress : fitting to pages -Oracle Open Office Impress : fitting to pages;individual slides -Oracle Open Office Impress : fitting to pages;print settings in Math -Oracle Open Office Impress : fitting to pages;print settings in presentations -Oracle Open Office Impress : fixed text -Oracle Open Office Impress : fixed text;form functions -Oracle Open Office Impress : fixing toolbars -Oracle Open Office Impress : flipping around a flip line -Oracle Open Office Impress : flipping draw objects -Oracle Open Office Impress : floating frames in HTML documents -Oracle Open Office Impress : floating text -Oracle Open Office Impress : floating toolbars -Oracle Open Office Impress : flowcharts -Oracle Open Office Impress : focus of controls -Oracle Open Office Impress : folder creation -Oracle Open Office Impress : font lists -Oracle Open Office Impress : font name box -Oracle Open Office Impress : font sizes -Oracle Open Office Impress : font sizes;bullets -Oracle Open Office Impress : font sizes;relative changes -Oracle Open Office Impress : font sizes;scaling on screen -Oracle Open Office Impress : font sizes;text -Oracle Open Office Impress : fonts -Oracle Open Office Impress : fonts;adding under UNIX -Oracle Open Office Impress : fonts;changing in templates -Oracle Open Office Impress : fonts;colors -Oracle Open Office Impress : fonts;default settings -Oracle Open Office Impress : fonts;effects -Oracle Open Office Impress : fonts;for HTML and Basic -Oracle Open Office Impress : fonts;formats -Oracle Open Office Impress : fonts;outlines -Oracle Open Office Impress : fonts;positions in text -Oracle Open Office Impress : fonts;shadows -Oracle Open Office Impress : fonts;specifying several -Oracle Open Office Impress : fonts;strikethrough -Oracle Open Office Impress : fonts;styles -Oracle Open Office Impress : fonts;text objects -Oracle Open Office Impress : Fontwork icons -Oracle Open Office Impress : footers -Oracle Open Office Impress : footers;backgrounds -Oracle Open Office Impress : footers;slide masters -Oracle Open Office Impress : footers;slides -Oracle Open Office Impress : form controls -Oracle Open Office Impress : form controls;assigning macros -Oracle Open Office Impress : form controls;protecting -Oracle Open Office Impress : form controls;toolbars -Oracle Open Office Impress : form fields -Oracle Open Office Impress : form filters -Oracle Open Office Impress : Form Navigator -Oracle Open Office Impress : format codes -Oracle Open Office Impress : format codes;numbers -Oracle Open Office Impress : format filling printing in Oracle Open Office Math -Oracle Open Office Impress : Format Paintbrush -Oracle Open Office Impress : formats -Oracle Open Office Impress : formats;Asian layout -Oracle Open Office Impress : formats;fonts -Oracle Open Office Impress : formats;maximizing page formats -Oracle Open Office Impress : formats;number and currency formats -Oracle Open Office Impress : formats;of currencies/date/time -Oracle Open Office Impress : formats;on opening and saving -Oracle Open Office Impress : formats;pasting in special formats -Oracle Open Office Impress : formats;positions -Oracle Open Office Impress : formats;tabulators -Oracle Open Office Impress : formatted fields -Oracle Open Office Impress : formatted fields;form functions -Oracle Open Office Impress : formatted fields;properties -Oracle Open Office Impress : formatting -Oracle Open Office Impress : formatting;Asian typography -Oracle Open Office Impress : formatting;axes in charts -Oracle Open Office Impress : formatting;chart areas -Oracle Open Office Impress : formatting;chart floors -Oracle Open Office Impress : formatting;chart legends -Oracle Open Office Impress : formatting;chart titles -Oracle Open Office Impress : formatting;chart walls -Oracle Open Office Impress : formatting;copying -Oracle Open Office Impress : formatting;definition -Oracle Open Office Impress : formatting;expanding (Calc) -Oracle Open Office Impress : formatting;fields -Oracle Open Office Impress : formatting;font effects -Oracle Open Office Impress : formatting;hyperlinks -Oracle Open Office Impress : formatting;pages -Oracle Open Office Impress : formatting;printer metrics (Writer) -Oracle Open Office Impress : formatting;slides -Oracle Open Office Impress : formatting;slides headings -Oracle Open Office Impress : formatting;undoing -Oracle Open Office Impress : formatting;undoing when writing -Oracle Open Office Impress : forms -Oracle Open Office Impress : forms;browsing -Oracle Open Office Impress : forms;Combo Box/List Box Wizard -Oracle Open Office Impress : forms;creating -Oracle Open Office Impress : forms;data -Oracle Open Office Impress : forms;designing (Base) -Oracle Open Office Impress : forms;events -Oracle Open Office Impress : forms;filtering data -Oracle Open Office Impress : forms;finding records -Oracle Open Office Impress : forms;focus after opening -Oracle Open Office Impress : forms;general information (Base) -Oracle Open Office Impress : forms;grouping controls -Oracle Open Office Impress : forms;HTML filters -Oracle Open Office Impress : forms;inserting -Oracle Open Office Impress : forms;Navigator -Oracle Open Office Impress : forms;opening in design mode -Oracle Open Office Impress : forms;properties -Oracle Open Office Impress : forms;sorting data -Oracle Open Office Impress : forms;subforms -Oracle Open Office Impress : forms;wizards -Oracle Open Office Impress : forms;XForms -Oracle Open Office Impress : formula texts -Oracle Open Office Impress : formula texts;printing in Oracle Open Office Math -Oracle Open Office Impress : formulas -Oracle Open Office Impress : formulas;new -Oracle Open Office Impress : formulas;starting formula editor -Oracle Open Office Impress : formulas in reports -Oracle Open Office Impress : formulas in reports;editing -Oracle Open Office Impress : forums and support -Oracle Open Office Impress : frames -Oracle Open Office Impress : frames;around paragraphs -Oracle Open Office Impress : frames;around tables -Oracle Open Office Impress : frames;AutoCorrect function -Oracle Open Office Impress : frames;backgrounds -Oracle Open Office Impress : frames;captions (Writer) -Oracle Open Office Impress : frames;printing in Oracle Open Office Math -Oracle Open Office Impress : frames;protecting -Oracle Open Office Impress : frames;selection frames -Oracle Open Office Impress : frames;text fitting to frames -Oracle Open Office Impress : freeform lines -Oracle Open Office Impress : freeform lines;draw functions -Oracle Open Office Impress : freeform lines;drawing -Oracle Open Office Impress : FTP -Oracle Open Office Impress : FTP;opening documents -Oracle Open Office Impress : FTP;saving documents -Oracle Open Office Impress : full joins (Base) -Oracle Open Office Impress : full screen view -Oracle Open Office Impress : full-text search in Help -Oracle Open Office Impress : functions in reports -Oracle Open Office Impress : functions in reports;editing -Oracle Open Office Impress : Gallery -Oracle Open Office Impress : Gallery;adding pictures -Oracle Open Office Impress : Gallery;dragging pictures to draw objects -Oracle Open Office Impress : Gallery;hiding/showing -Oracle Open Office Impress : Gallery;inserting pictures from -Oracle Open Office Impress : geometric forms -Oracle Open Office Impress : get method for form transmissions -Oracle Open Office Impress : getting support -Oracle Open Office Impress : GIF format -Oracle Open Office Impress : GIF images -Oracle Open Office Impress : GIF images;animating -Oracle Open Office Impress : GIF images;replacing colors -Oracle Open Office Impress : glossaries -Oracle Open Office Impress : glossaries;common terms -Oracle Open Office Impress : glossaries;Internet terms -Oracle Open Office Impress : glue points -Oracle Open Office Impress : glue points;using -Oracle Open Office Impress : gradients -Oracle Open Office Impress : gradients;applying and defining -Oracle Open Office Impress : gradients;defining colors -Oracle Open Office Impress : gradients;loading lists -Oracle Open Office Impress : gradients;transparent -Oracle Open Office Impress : gradients off for faster printing -Oracle Open Office Impress : graphic objects, see draw objects -Oracle Open Office Impress : graphical text art -Oracle Open Office Impress : graphics -Oracle Open Office Impress : graphics;cache -Oracle Open Office Impress : graphics;protecting -Oracle Open Office Impress : graphics, see also pictures -Oracle Open Office Impress : grayscale display -Oracle Open Office Impress : grayscale printing -Oracle Open Office Impress : grid controls -Oracle Open Office Impress : grid controls;form functions -Oracle Open Office Impress : grids -Oracle Open Office Impress : grids;defaults (Writer/Calc) -Oracle Open Office Impress : grids;display options (Impress/Draw) -Oracle Open Office Impress : grids;displaying lines (Calc) -Oracle Open Office Impress : grids;formatting axes -Oracle Open Office Impress : grids;inserting in charts -Oracle Open Office Impress : group box creation -Oracle Open Office Impress : grouping -Oracle Open Office Impress : grouping;draw objects -Oracle Open Office Impress : groups -Oracle Open Office Impress : groups;entering/exiting/ungrouping -Oracle Open Office Impress : groups;naming -Oracle Open Office Impress : groups;of controls -Oracle Open Office Impress : guides -Oracle Open Office Impress : guides;display options (Impress/Draw) -Oracle Open Office Impress : guides;displaying when moving objects (Impress) -Oracle Open Office Impress : guides;editing -Oracle Open Office Impress : guides;inserting -Oracle Open Office Impress : guides;show snap lines icon -Oracle Open Office Impress : guides;showing (Calc) -Oracle Open Office Impress : guides;showing when moving frames (Writer) -Oracle Open Office Impress : gutter -Oracle Open Office Impress : half-spheres -Oracle Open Office Impress : hand icon for moving slides -Oracle Open Office Impress : handles -Oracle Open Office Impress : handles;displaying (Writer) -Oracle Open Office Impress : handles;large -Oracle Open Office Impress : handles;scaling -Oracle Open Office Impress : handles;showing simple/large handles (Calc) -Oracle Open Office Impress : handles;simple -Oracle Open Office Impress : handout printing -Oracle Open Office Impress : Hangul/Hanja -Oracle Open Office Impress : hatching -Oracle Open Office Impress : hatching -Oracle Open Office Impress : hatching;loading lists -Oracle Open Office Impress : headers -Oracle Open Office Impress : headers;backgrounds -Oracle Open Office Impress : headers and footers -Oracle Open Office Impress : headers and footers;master layouts -Oracle Open Office Impress : headers and footers;slide masters -Oracle Open Office Impress : headers and footers;slides -Oracle Open Office Impress : headings -Oracle Open Office Impress : headings;entering as text box -Oracle Open Office Impress : Hebrew -Oracle Open Office Impress : Hebrew;entering text -Oracle Open Office Impress : Hebrew;language settings -Oracle Open Office Impress : Help -Oracle Open Office Impress : Help;bookmarks -Oracle Open Office Impress : Help;extended tips on/off -Oracle Open Office Impress : Help;full-text search -Oracle Open Office Impress : Help;Help tips -Oracle Open Office Impress : Help;keywords -Oracle Open Office Impress : Help;navigation pane showing/hiding -Oracle Open Office Impress : Help;style sheets -Oracle Open Office Impress : Help;topics -Oracle Open Office Impress : Help Agent -Oracle Open Office Impress : Help Agent;help -Oracle Open Office Impress : Help Agent;options -Oracle Open Office Impress : Help tips -Oracle Open Office Impress : Help tips;hiding -Oracle Open Office Impress : hidden controls in Form Navigator -Oracle Open Office Impress : hidden fields display (Writer) -Oracle Open Office Impress : hidden pages -Oracle Open Office Impress : hidden pages;printing in presentations -Oracle Open Office Impress : hidden pages;showing -Oracle Open Office Impress : hidden text -Oracle Open Office Impress : hidden text;showing (Writer) -Oracle Open Office Impress : hiding -Oracle Open Office Impress : hiding;changes -Oracle Open Office Impress : hiding;chart legends -Oracle Open Office Impress : hiding;docked windows -Oracle Open Office Impress : hiding;layers -Oracle Open Office Impress : hiding;levels -Oracle Open Office Impress : hiding;navigation pane in Help window -Oracle Open Office Impress : hiding;slides -Oracle Open Office Impress : hiding;subpoints -Oracle Open Office Impress : high contrast mode -Oracle Open Office Impress : Hindi -Oracle Open Office Impress : Hindi;entering text -Oracle Open Office Impress : Hindi;language settings -Oracle Open Office Impress : horizontal scrollbars (Writer) -Oracle Open Office Impress : hot spots in flowcharts -Oracle Open Office Impress : hotspots -Oracle Open Office Impress : HowTos for charts -Oracle Open Office Impress : Howtos for Draw -Oracle Open Office Impress : HTML -Oracle Open Office Impress : HTML;definition -Oracle Open Office Impress : HTML;export character set -Oracle Open Office Impress : HTML;exporting from presentations -Oracle Open Office Impress : HTML;fonts for source display -Oracle Open Office Impress : HTML;importing into presentations -Oracle Open Office Impress : HTML;importing META tags -Oracle Open Office Impress : HTML;inserting files -Oracle Open Office Impress : HTML;live presentations -Oracle Open Office Impress : HTML documents -Oracle Open Office Impress : HTML documents;auto reloading -Oracle Open Office Impress : HTML documents;importing/exporting -Oracle Open Office Impress : HTML documents;META tags in -Oracle Open Office Impress : HTML documents;new -Oracle Open Office Impress : HTML documents;source text -Oracle Open Office Impress : hyperlinks -Oracle Open Office Impress : hyperlinks;assigning macros -Oracle Open Office Impress : hyperlinks;character formats -Oracle Open Office Impress : hyperlinks;definition -Oracle Open Office Impress : hyperlinks;deleting -Oracle Open Office Impress : hyperlinks;editing -Oracle Open Office Impress : hyperlinks;inserting -Oracle Open Office Impress : hyperlinks;relative and absolute -Oracle Open Office Impress : hyperlinks;turning off automatic recognition -Oracle Open Office Impress : hyperlinks, see also links -Oracle Open Office Impress : hyphenation -Oracle Open Office Impress : hyphenation;activating for a language -Oracle Open Office Impress : hyphenation;minimal number of characters -Oracle Open Office Impress : hyphens -Oracle Open Office Impress : hyphens;displaying custom (Writer) -Oracle Open Office Impress : hyphens;inserting custom -Oracle Open Office Impress : icon bars, see toolbars -Oracle Open Office Impress : icon sizes -Oracle Open Office Impress : ignore list for spellcheck -Oracle Open Office Impress : illumination -Oracle Open Office Impress : illumination;3D charts -Oracle Open Office Impress : illustrations, see pictures -Oracle Open Office Impress : image button creation -Oracle Open Office Impress : image control creation -Oracle Open Office Impress : ImageMap -Oracle Open Office Impress : ImageMap;definition -Oracle Open Office Impress : ImageMap;editor -Oracle Open Office Impress : images -Oracle Open Office Impress : images;ImageMap -Oracle Open Office Impress : images;inserting -Oracle Open Office Impress : images;inserting and editing bitmaps -Oracle Open Office Impress : images, see also pictures -Oracle Open Office Impress : IME -Oracle Open Office Impress : IME;definition -Oracle Open Office Impress : IME;showing/hiding -Oracle Open Office Impress : import filters -Oracle Open Office Impress : import restrictions for Microsoft Office -Oracle Open Office Impress : importing -Oracle Open Office Impress : importing;bitmaps -Oracle Open Office Impress : importing;compatibility settings for text import -Oracle Open Office Impress : importing;databases -Oracle Open Office Impress : importing;documents in other formats -Oracle Open Office Impress : importing;from XML -Oracle Open Office Impress : importing;HTML and text documents -Oracle Open Office Impress : importing;HTML with META tags -Oracle Open Office Impress : importing;Microsoft Office documents with VBA code -Oracle Open Office Impress : importing;presentations with HTML -Oracle Open Office Impress : importing;tables in text format -Oracle Open Office Impress : importing;templates -Oracle Open Office Impress : improvement program -Oracle Open Office Impress : in front of object command -Oracle Open Office Impress : inches -Oracle Open Office Impress : including spreadsheets -Oracle Open Office Impress : increasing sizes of views -Oracle Open Office Impress : Index tab in Help -Oracle Open Office Impress : indexes -Oracle Open Office Impress : indexes;backgrounds -Oracle Open Office Impress : indexes;showing/hiding Help index tab -Oracle Open Office Impress : indicator lines in text -Oracle Open Office Impress : inner joins (Base) -Oracle Open Office Impress : input method window -Oracle Open Office Impress : insert mode for entering text -Oracle Open Office Impress : inserting -Oracle Open Office Impress : inserting;3D objects -Oracle Open Office Impress : inserting;arrows -Oracle Open Office Impress : inserting;buttons in toolbars -Oracle Open Office Impress : inserting;callouts in presentations -Oracle Open Office Impress : inserting;cell ranges from spreadsheets -Oracle Open Office Impress : inserting;charts -Oracle Open Office Impress : inserting;clipboard options -Oracle Open Office Impress : inserting;columns -Oracle Open Office Impress : inserting;comments -Oracle Open Office Impress : inserting;data from text documents -Oracle Open Office Impress : inserting;datasource records in spreadsheets -Oracle Open Office Impress : inserting;drawings -Oracle Open Office Impress : inserting;ellipses -Oracle Open Office Impress : inserting;files -Oracle Open Office Impress : inserting;floating frames -Oracle Open Office Impress : inserting;Fontwork objects -Oracle Open Office Impress : inserting;form fields -Oracle Open Office Impress : inserting;headers/footers in all slides -Oracle Open Office Impress : inserting;hyperlinks -Oracle Open Office Impress : inserting;layers -Oracle Open Office Impress : inserting;line breaks in cells -Oracle Open Office Impress : inserting;lines -Oracle Open Office Impress : inserting;movies/sounds -Oracle Open Office Impress : inserting;new text tables defaults -Oracle Open Office Impress : inserting;objects from files -Oracle Open Office Impress : inserting;objects from Gallery -Oracle Open Office Impress : inserting;OLE objects -Oracle Open Office Impress : inserting;paragraph borders -Oracle Open Office Impress : inserting;paragraph bullets -Oracle Open Office Impress : inserting;pictures -Oracle Open Office Impress : inserting;pictures in Gallery -Oracle Open Office Impress : inserting;plug-ins -Oracle Open Office Impress : inserting;polygons -Oracle Open Office Impress : inserting;push buttons -Oracle Open Office Impress : inserting;rectangles -Oracle Open Office Impress : inserting;rows -Oracle Open Office Impress : inserting;slides -Oracle Open Office Impress : inserting;slides as links -Oracle Open Office Impress : inserting;slides from files -Oracle Open Office Impress : inserting;special characters -Oracle Open Office Impress : inserting;tab stops -Oracle Open Office Impress : inserting;text frames -Oracle Open Office Impress : inserting;text in presentations -Oracle Open Office Impress : inserting;textures on chart bars -Oracle Open Office Impress : installing -Oracle Open Office Impress : installing;ActiveX control -Oracle Open Office Impress : installing;mobile device filters -Oracle Open Office Impress : installing;UNO components -Oracle Open Office Impress : installing;XML filters -Oracle Open Office Impress : instructions -Oracle Open Office Impress : instructions;general -Oracle Open Office Impress : instructions;Oracle Open Office Draw -Oracle Open Office Impress : instructions;Oracle Open Office Impress -Oracle Open Office Impress : interactions -Oracle Open Office Impress : interactions;hot spots -Oracle Open Office Impress : interactions;objects in interactive presentations -Oracle Open Office Impress : interactions;preview -Oracle Open Office Impress : Internet -Oracle Open Office Impress : Internet;checking for updates -Oracle Open Office Impress : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Impress : Internet;presentations -Oracle Open Office Impress : Internet;starting searches -Oracle Open Office Impress : Internet glossary -Oracle Open Office Impress : intersecting draw objects -Oracle Open Office Impress : invert filter -Oracle Open Office Impress : invisible areas -Oracle Open Office Impress : italic text -Oracle Open Office Impress : iterative references in spreadsheets -Oracle Open Office Impress : Java -Oracle Open Office Impress : Java;definition -Oracle Open Office Impress : Java;setting options -Oracle Open Office Impress : JDBC -Oracle Open Office Impress : JDBC;databases (Base) -Oracle Open Office Impress : JDBC;definition -Oracle Open Office Impress : joining -Oracle Open Office Impress : joining;3D objects -Oracle Open Office Impress : joining;paragraphs -Oracle Open Office Impress : joining;tables (Base) -Oracle Open Office Impress : joins in databases (Base) -Oracle Open Office Impress : justifying text -Oracle Open Office Impress : kerning -Oracle Open Office Impress : kerning;Asian texts -Oracle Open Office Impress : kerning;definition -Oracle Open Office Impress : kerning;in characters -Oracle Open Office Impress : key fields for relations (Base) -Oracle Open Office Impress : keyboard -Oracle Open Office Impress : keyboard;assigning/editing shortcut keys -Oracle Open Office Impress : keyboard;general commands -Oracle Open Office Impress : keyboard;removing numbering -Oracle Open Office Impress : keyboard;zooming -Oracle Open Office Impress : keys -Oracle Open Office Impress : keys;adding push buttons -Oracle Open Office Impress : keys;primary keys (Base) -Oracle Open Office Impress : kiosk export -Oracle Open Office Impress : labels -Oracle Open Office Impress : labels;creating and synchronizing -Oracle Open Office Impress : labels;for charts -Oracle Open Office Impress : labels;for draw objects -Oracle Open Office Impress : labels;form functions -Oracle Open Office Impress : labels;from databases -Oracle Open Office Impress : labels, see also names/callouts -Oracle Open Office Impress : languages -Oracle Open Office Impress : languages;activating modules -Oracle Open Office Impress : languages;Asian support -Oracle Open Office Impress : languages;complex text layout -Oracle Open Office Impress : languages;locale settings -Oracle Open Office Impress : languages;selecting for text -Oracle Open Office Impress : languages;setting options -Oracle Open Office Impress : languages;spellcheck -Oracle Open Office Impress : languages;spellchecking and formatting -Oracle Open Office Impress : large handles (Writer) -Oracle Open Office Impress : large icons -Oracle Open Office Impress : layer arrangement -Oracle Open Office Impress : layers -Oracle Open Office Impress : layers;definition -Oracle Open Office Impress : layers;deleting -Oracle Open Office Impress : layers;inserting and editing -Oracle Open Office Impress : layers;moving objects -Oracle Open Office Impress : layers;renaming -Oracle Open Office Impress : layers;working with -Oracle Open Office Impress : layout -Oracle Open Office Impress : layout;importing Word documents -Oracle Open Office Impress : layout;pages -Oracle Open Office Impress : layout;printing handouts -Oracle Open Office Impress : LDAP server -Oracle Open Office Impress : LDAP server;address books (Base) -Oracle Open Office Impress : LDAP server;sign on options -Oracle Open Office Impress : leading between paragraphs -Oracle Open Office Impress : left alignment of paragraphs -Oracle Open Office Impress : left joins (Base) -Oracle Open Office Impress : legends -Oracle Open Office Impress : legends;charts -Oracle Open Office Impress : legends;draw objects -Oracle Open Office Impress : legends;drawings -Oracle Open Office Impress : legends;rounding corners -Oracle Open Office Impress : Letter Wizard -Oracle Open Office Impress : levels -Oracle Open Office Impress : levels;depth stagger -Oracle Open Office Impress : levels;hiding -Oracle Open Office Impress : levels;macro security -Oracle Open Office Impress : levels;showing -Oracle Open Office Impress : limits of tables (Writer) -Oracle Open Office Impress : line breaks -Oracle Open Office Impress : line breaks;in cells -Oracle Open Office Impress : line charts -Oracle Open Office Impress : line spacing -Oracle Open Office Impress : line spacing;context menu in paragraphs -Oracle Open Office Impress : line spacing;paragraph -Oracle Open Office Impress : line styles -Oracle Open Office Impress : line styles;applying -Oracle Open Office Impress : line styles;defining -Oracle Open Office Impress : line styles;loading -Oracle Open Office Impress : lines -Oracle Open Office Impress : lines;about line ends -Oracle Open Office Impress : lines;connecting objects -Oracle Open Office Impress : lines;defining ends -Oracle Open Office Impress : lines;draw functions -Oracle Open Office Impress : lines;drawing -Oracle Open Office Impress : lines;drawing in text -Oracle Open Office Impress : lines;editing points -Oracle Open Office Impress : lines;inserting -Oracle Open Office Impress : lines;removing automatic lines -Oracle Open Office Impress : lines of text -Oracle Open Office Impress : lines of text;alignment -Oracle Open Office Impress : links -Oracle Open Office Impress : links;between cells and controls -Oracle Open Office Impress : links;by drag and drop -Oracle Open Office Impress : links;character formats -Oracle Open Office Impress : links;definition -Oracle Open Office Impress : links;editing hyperlinks -Oracle Open Office Impress : links;inserting -Oracle Open Office Impress : links;modifying -Oracle Open Office Impress : links;opening files with -Oracle Open Office Impress : links;relational databases (Base) -Oracle Open Office Impress : links;turning off automatic recognition -Oracle Open Office Impress : links;updating options (Writer) -Oracle Open Office Impress : links;updating specific links -Oracle Open Office Impress : list box creation -Oracle Open Office Impress : lists -Oracle Open Office Impress : lists;animations -Oracle Open Office Impress : lists;data assigned to controls -Oracle Open Office Impress : lists;registered databases (Base) -Oracle Open Office Impress : lists;regular expressions -Oracle Open Office Impress : live presentations on the Internet -Oracle Open Office Impress : loading -Oracle Open Office Impress : loading;arrow and line styles -Oracle Open Office Impress : loading;colors/gradients/hatchings -Oracle Open Office Impress : loading;documents -Oracle Open Office Impress : loading;documents from other formats -Oracle Open Office Impress : loading;HTML documents, automatically -Oracle Open Office Impress : loading;Microsoft Office documents with VBA code -Oracle Open Office Impress : loading;reloading -Oracle Open Office Impress : loading;XML files -Oracle Open Office Impress : locale settings -Oracle Open Office Impress : locking layers -Oracle Open Office Impress : logarithmic scaling along axes -Oracle Open Office Impress : lowercase letters -Oracle Open Office Impress : lowercase letters;font effects -Oracle Open Office Impress : Macro Wizard (Base) -Oracle Open Office Impress : Macromedia Flash export -Oracle Open Office Impress : macros -Oracle Open Office Impress : macros;assigning to events in forms -Oracle Open Office Impress : macros;attaching new (Base) -Oracle Open Office Impress : macros;in MS Office documents -Oracle Open Office Impress : macros;interrupting -Oracle Open Office Impress : macros;organizing -Oracle Open Office Impress : macros;recording -Oracle Open Office Impress : macros;running in presentations -Oracle Open Office Impress : macros;security -Oracle Open Office Impress : macros;security levels -Oracle Open Office Impress : macros;security warning dialog -Oracle Open Office Impress : macros;selecting security warnings -Oracle Open Office Impress : magnetic lines in presentations -Oracle Open Office Impress : magnifiers -Oracle Open Office Impress : margins -Oracle Open Office Impress : margins;pages -Oracle Open Office Impress : margins;setting with the mouse -Oracle Open Office Impress : margins;shadows -Oracle Open Office Impress : marking changes -Oracle Open Office Impress : marking, see selecting -Oracle Open Office Impress : master layouts with headers and footers -Oracle Open Office Impress : master pages, see slide masters -Oracle Open Office Impress : master views -Oracle Open Office Impress : Math formula editor -Oracle Open Office Impress : mean value lines in charts -Oracle Open Office Impress : measurement units -Oracle Open Office Impress : measurement units;changing on rulers -Oracle Open Office Impress : measurement units;converting -Oracle Open Office Impress : measurement units;selecting -Oracle Open Office Impress : Media Player window -Oracle Open Office Impress : menus -Oracle Open Office Impress : menus;activating context menus -Oracle Open Office Impress : menus;assigning macros -Oracle Open Office Impress : menus;customizing -Oracle Open Office Impress : merging -Oracle Open Office Impress : merging;documents -Oracle Open Office Impress : merging;draw objects -Oracle Open Office Impress : META tags -Oracle Open Office Impress : metafiles -Oracle Open Office Impress : metafiles;converting to -Oracle Open Office Impress : metafiles;replacing colors -Oracle Open Office Impress : metrics -Oracle Open Office Impress : metrics;converting -Oracle Open Office Impress : metrics;document formatting (Writer) -Oracle Open Office Impress : metrics;in sheets -Oracle Open Office Impress : Microsoft Office -Oracle Open Office Impress : Microsoft Office;Access databases (base) -Oracle Open Office Impress : Microsoft Office;as default file format -Oracle Open Office Impress : Microsoft Office;document import restrictions -Oracle Open Office Impress : Microsoft Office;feature comparisons -Oracle Open Office Impress : Microsoft Office;importing password protected files -Oracle Open Office Impress : Microsoft Office;importing Word documents -Oracle Open Office Impress : Microsoft Office;importing/exporting VBA code -Oracle Open Office Impress : Microsoft Office;new users information -Oracle Open Office Impress : Microsoft Office;opening Microsoft documents -Oracle Open Office Impress : Microsoft Office;reassigning document types -Oracle Open Office Impress : migrating macros (Base) -Oracle Open Office Impress : mirroring objects -Oracle Open Office Impress : mobile device filters -Oracle Open Office Impress : models in XForms -Oracle Open Office Impress : modifying, see changing -Oracle Open Office Impress : more controls -Oracle Open Office Impress : mosaic filter -Oracle Open Office Impress : motion paths -Oracle Open Office Impress : mouse -Oracle Open Office Impress : mouse;pointers when using drag and drop -Oracle Open Office Impress : mouse;positioning -Oracle Open Office Impress : movies -Oracle Open Office Impress : moving -Oracle Open Office Impress : moving;between layers -Oracle Open Office Impress : moving;objects in slides -Oracle Open Office Impress : moving;tab stops on ruler -Oracle Open Office Impress : moving;toolbars -Oracle Open Office Impress : moving;using guide lines in presentations -Oracle Open Office Impress : MS ADO interface (Base) -Oracle Open Office Impress : multi-line titles in forms -Oracle Open Office Impress : multiple documents -Oracle Open Office Impress : multiple documents;opening -Oracle Open Office Impress : multiple monitors -Oracle Open Office Impress : multiple selection -Oracle Open Office Impress : multiplying draw objects -Oracle Open Office Impress : music -Oracle Open Office Impress : My Documents folder -Oracle Open Office Impress : My Documents folder;changing work directory -Oracle Open Office Impress : My Documents folder;opening -Oracle Open Office Impress : MySQL databases (Base) -Oracle Open Office Impress : names -Oracle Open Office Impress : names;multi-line titles -Oracle Open Office Impress : names;objects -Oracle Open Office Impress : names, see also labels/callouts -Oracle Open Office Impress : namespace organization in XForms -Oracle Open Office Impress : native SQL (Base) -Oracle Open Office Impress : navigating -Oracle Open Office Impress : navigating;in documents -Oracle Open Office Impress : Navigation bar -Oracle Open Office Impress : Navigation bar;controls -Oracle Open Office Impress : Navigation bar;forms -Oracle Open Office Impress : Navigator -Oracle Open Office Impress : Navigator;comments -Oracle Open Office Impress : Navigator;contents as lists -Oracle Open Office Impress : Navigator;docking -Oracle Open Office Impress : Navigator;presentations -Oracle Open Office Impress : Navigator;working with -Oracle Open Office Impress : net charts -Oracle Open Office Impress : network identity options -Oracle Open Office Impress : new databases -Oracle Open Office Impress : new documents -Oracle Open Office Impress : new lines in cells -Oracle Open Office Impress : new windows -Oracle Open Office Impress : non-breaking dashes -Oracle Open Office Impress : non-breaking spaces (Writer) -Oracle Open Office Impress : non-printing characters (Writer) -Oracle Open Office Impress : normal view -Oracle Open Office Impress : normal view;backgrounds -Oracle Open Office Impress : normal view;presentations -Oracle Open Office Impress : notes -Oracle Open Office Impress : notes;adding to slides -Oracle Open Office Impress : notes;default formatting -Oracle Open Office Impress : notes;printing in presentations -Oracle Open Office Impress : number formats -Oracle Open Office Impress : number formats;codes -Oracle Open Office Impress : number formats;formats -Oracle Open Office Impress : number formats;recognition in text tables -Oracle Open Office Impress : number of pages -Oracle Open Office Impress : number of sheets -Oracle Open Office Impress : number of tables -Oracle Open Office Impress : numbering -Oracle Open Office Impress : numbering;options -Oracle Open Office Impress : numbering;turning off -Oracle Open Office Impress : numbering;using automatically -Oracle Open Office Impress : numbers -Oracle Open Office Impress : numbers;date, time and currency formats -Oracle Open Office Impress : numbers;decimal places (Calc) -Oracle Open Office Impress : numerical fields in forms -Oracle Open Office Impress : object bars -Oracle Open Office Impress : object bars;editing glue points -Oracle Open Office Impress : objects -Oracle Open Office Impress : objects;aligning -Oracle Open Office Impress : objects;always moveable (Impress/Draw) -Oracle Open Office Impress : objects;arranging within stacks -Oracle Open Office Impress : objects;behind object command -Oracle Open Office Impress : objects;breaking connections -Oracle Open Office Impress : objects;copying when moving in presentations -Oracle Open Office Impress : objects;definition -Oracle Open Office Impress : objects;displaying in spreadsheets -Oracle Open Office Impress : objects;displaying in text documents -Oracle Open Office Impress : objects;editing -Oracle Open Office Impress : objects;effects -Oracle Open Office Impress : objects;in front of object command -Oracle Open Office Impress : objects;inserting from files -Oracle Open Office Impress : objects;inserting from Gallery -Oracle Open Office Impress : objects;inserting OLE objects -Oracle Open Office Impress : objects;moving along paths -Oracle Open Office Impress : objects;moving and resizing with mouse -Oracle Open Office Impress : objects;moving in layers -Oracle Open Office Impress : objects;moving in slides -Oracle Open Office Impress : objects;naming -Oracle Open Office Impress : objects;opening -Oracle Open Office Impress : objects;properties of charts -Oracle Open Office Impress : objects;quickly moving to -Oracle Open Office Impress : objects;reversing -Oracle Open Office Impress : objects;selecting -Oracle Open Office Impress : objects;titles and descriptions -Oracle Open Office Impress : objects;with attributes -Oracle Open Office Impress : ODBC -Oracle Open Office Impress : ODBC;database (Base) -Oracle Open Office Impress : ODBC;definition -Oracle Open Office Impress : ODF file formats -Oracle Open Office Impress : Office -Oracle Open Office Impress : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Impress : OLE -Oracle Open Office Impress : OLE;definition -Oracle Open Office Impress : OLE objects -Oracle Open Office Impress : OLE objects;arranging within stacks -Oracle Open Office Impress : OLE objects;captions (Writer) -Oracle Open Office Impress : OLE objects;inserting -Oracle Open Office Impress : OLE objects;number of -Oracle Open Office Impress : OLE objects;protecting -Oracle Open Office Impress : one and a half line spacing in text -Oracle Open Office Impress : online feedback options -Oracle Open Office Impress : online registration -Oracle Open Office Impress : online update options -Oracle Open Office Impress : online updates -Oracle Open Office Impress : online updates;checking automatically -Oracle Open Office Impress : online updates;checking manually -Oracle Open Office Impress : Open/Save dialogs -Oracle Open Office Impress : OpenDocument file formats -Oracle Open Office Impress : OpenGL -Oracle Open Office Impress : OpenGL;definition -Oracle Open Office Impress : opening -Oracle Open Office Impress : opening;context menus -Oracle Open Office Impress : opening;database files -Oracle Open Office Impress : opening;dialog settings -Oracle Open Office Impress : opening;documents -Oracle Open Office Impress : opening;documents from other formats -Oracle Open Office Impress : opening;documents on WebDAV server -Oracle Open Office Impress : opening;files with links -Oracle Open Office Impress : opening;files, with placeholders -Oracle Open Office Impress : opening;forms -Oracle Open Office Impress : opening;Microsoft Office files -Oracle Open Office Impress : opening;mobile device documents -Oracle Open Office Impress : opening;objects -Oracle Open Office Impress : opening;reports -Oracle Open Office Impress : opening;several files -Oracle Open Office Impress : opening;XForms -Oracle Open Office Impress : operators -Oracle Open Office Impress : operators;default filters -Oracle Open Office Impress : optional hyphens (Writer) -Oracle Open Office Impress : options -Oracle Open Office Impress : options;accessibility -Oracle Open Office Impress : options;appearance -Oracle Open Office Impress : options;compatibility (Writer) -Oracle Open Office Impress : options;improvement program -Oracle Open Office Impress : options;network identity -Oracle Open Office Impress : options;online update -Oracle Open Office Impress : options;tools -Oracle Open Office Impress : Oracle databases (base) -Oracle Open Office Impress : Oracle Open Office Base data sources -Oracle Open Office Impress : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Impress : Oracle Open Office documents -Oracle Open Office Impress : Oracle Open Office documents;mobile device filters -Oracle Open Office Impress : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Impress : Oracle Open Office Impress instructions -Oracle Open Office Impress : Oracle Open Office Math start -Oracle Open Office Impress : order of chart data -Oracle Open Office Impress : ordering -Oracle Open Office Impress : ordering;objects -Oracle Open Office Impress : ordering;slides -Oracle Open Office Impress : organization charts -Oracle Open Office Impress : organizing -Oracle Open Office Impress : organizing;macros and scripts -Oracle Open Office Impress : organizing;namespaces in XForms -Oracle Open Office Impress : organizing;styles -Oracle Open Office Impress : organizing;templates -Oracle Open Office Impress : origin of rulers -Oracle Open Office Impress : original size -Oracle Open Office Impress : original size;printing in Oracle Open Office Math -Oracle Open Office Impress : original size;restoring after cropping -Oracle Open Office Impress : outline view -Oracle Open Office Impress : outlines -Oracle Open Office Impress : outlines;font effects -Oracle Open Office Impress : outlines;outline symbols -Oracle Open Office Impress : outlines;printing -Oracle Open Office Impress : outlines;sending to presentations -Oracle Open Office Impress : overwrite mode -Oracle Open Office Impress : packages, see extensions -Oracle Open Office Impress : page breaks -Oracle Open Office Impress : page breaks;displaying (Calc) -Oracle Open Office Impress : page formats -Oracle Open Office Impress : page formats;maximizing -Oracle Open Office Impress : page formats;restriction -Oracle Open Office Impress : page number field -Oracle Open Office Impress : page numbers on all slides -Oracle Open Office Impress : page styles -Oracle Open Office Impress : page styles;editing/applying with statusbar -Oracle Open Office Impress : pages -Oracle Open Office Impress : pages;backgrounds in all applications -Oracle Open Office Impress : pages;copying -Oracle Open Office Impress : pages;fitting to printed pages -Oracle Open Office Impress : pages;formatting and numbering -Oracle Open Office Impress : pages;printing page names in presentations -Oracle Open Office Impress : pages;scaling -Oracle Open Office Impress : pages;selecting one to print -Oracle Open Office Impress : paint box -Oracle Open Office Impress : paint can symbol -Oracle Open Office Impress : pair kerning -Oracle Open Office Impress : Palm file filters -Oracle Open Office Impress : paper formats -Oracle Open Office Impress : paper size warning -Oracle Open Office Impress : paper trays -Oracle Open Office Impress : paragraph marks -Oracle Open Office Impress : paragraph marks;displaying (Writer) -Oracle Open Office Impress : paragraph styles -Oracle Open Office Impress : paragraph styles;languages -Oracle Open Office Impress : paragraph styles;modifying basic fonts -Oracle Open Office Impress : paragraphs -Oracle Open Office Impress : paragraphs;alignment -Oracle Open Office Impress : paragraphs;Asian typography -Oracle Open Office Impress : paragraphs;defining borders -Oracle Open Office Impress : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Impress : paragraphs;increasing indents of -Oracle Open Office Impress : paragraphs;indents, margins and columns -Oracle Open Office Impress : paragraphs;inserting bullets -Oracle Open Office Impress : paragraphs;joining -Oracle Open Office Impress : paragraphs;numbering automatically -Oracle Open Office Impress : paragraphs;removing blank ones -Oracle Open Office Impress : paragraphs;spacing -Oracle Open Office Impress : paragraphs;tab stops -Oracle Open Office Impress : parameters -Oracle Open Office Impress : parameters;command line -Oracle Open Office Impress : parameters;queries (Base) -Oracle Open Office Impress : passwords for protecting contents -Oracle Open Office Impress : pasting -Oracle Open Office Impress : pasting;cell ranges -Oracle Open Office Impress : pasting;cell ranges from spreadsheets -Oracle Open Office Impress : pasting;data from text documents -Oracle Open Office Impress : pasting;draw objects -Oracle Open Office Impress : pasting;draw objects from other documents -Oracle Open Office Impress : pasting;formatted/unformatted text -Oracle Open Office Impress : pasting;from data source view -Oracle Open Office Impress : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Impress : pasting;pictures from other documents -Oracle Open Office Impress : pasting;sheet areas in text documents -Oracle Open Office Impress : pasting;slides from other presentations -Oracle Open Office Impress : pasting;text from other documents -Oracle Open Office Impress : pasting;to Gallery -Oracle Open Office Impress : paths -Oracle Open Office Impress : paths;changing work directory -Oracle Open Office Impress : paths;defaults -Oracle Open Office Impress : paths;moving objects along -Oracle Open Office Impress : pattern editor -Oracle Open Office Impress : pattern fields -Oracle Open Office Impress : pattern fields;form functions -Oracle Open Office Impress : patterns for objects -Oracle Open Office Impress : PDF -Oracle Open Office Impress : PDF;export -Oracle Open Office Impress : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Impress : personal data input -Oracle Open Office Impress : phonetic guide -Oracle Open Office Impress : picklist creation -Oracle Open Office Impress : pictures -Oracle Open Office Impress : pictures;adding to Gallery -Oracle Open Office Impress : pictures;arranging within stacks -Oracle Open Office Impress : pictures;assigning macros -Oracle Open Office Impress : pictures;backgrounds -Oracle Open Office Impress : pictures;captions (Writer) -Oracle Open Office Impress : pictures;changing paths -Oracle Open Office Impress : pictures;cropping and zooming -Oracle Open Office Impress : pictures;displaying in Calc -Oracle Open Office Impress : pictures;displaying in Writer (Writer) -Oracle Open Office Impress : pictures;drag and drop between documents -Oracle Open Office Impress : pictures;drawing -Oracle Open Office Impress : pictures;editing -Oracle Open Office Impress : pictures;filters -Oracle Open Office Impress : pictures;ImageMap -Oracle Open Office Impress : pictures;inserting -Oracle Open Office Impress : pictures;inserting automatically -Oracle Open Office Impress : pictures;inserting from Gallery -Oracle Open Office Impress : pictures;number of -Oracle Open Office Impress : pictures;printing -Oracle Open Office Impress : pictures;scaling/resizing -Oracle Open Office Impress : pie charts -Oracle Open Office Impress : pie charts;options -Oracle Open Office Impress : pie charts;types -Oracle Open Office Impress : pivot points of draw objects -Oracle Open Office Impress : pixel editor -Oracle Open Office Impress : pixel graphics -Oracle Open Office Impress : pixel graphics;inserting and editing -Oracle Open Office Impress : pixel patterns -Oracle Open Office Impress : placeholders -Oracle Open Office Impress : placeholders;in SQL queries -Oracle Open Office Impress : placeholders;on opening files -Oracle Open Office Impress : placing toolbars -Oracle Open Office Impress : playing movies and sound files -Oracle Open Office Impress : plotting data as charts -Oracle Open Office Impress : plug-ins -Oracle Open Office Impress : plug-ins;activating and deactivating -Oracle Open Office Impress : plug-ins;definition -Oracle Open Office Impress : plug-ins;inserting -Oracle Open Office Impress : pocket device appliances -Oracle Open Office Impress : Pocket PC file filters -Oracle Open Office Impress : points -Oracle Open Office Impress : points;adding/converting/deleting -Oracle Open Office Impress : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Impress : polygon drawing -Oracle Open Office Impress : polygons -Oracle Open Office Impress : polygons;inserting -Oracle Open Office Impress : polygons;intersecting/subtracting/merging -Oracle Open Office Impress : pop-art filter -Oracle Open Office Impress : portable document format -Oracle Open Office Impress : positioning -Oracle Open Office Impress : positioning;axes -Oracle Open Office Impress : positioning;draw objects and controls -Oracle Open Office Impress : positioning;fonts -Oracle Open Office Impress : positioning;objects -Oracle Open Office Impress : positioning;toolbars -Oracle Open Office Impress : post method for form transmissions -Oracle Open Office Impress : posterizing filter -Oracle Open Office Impress : PostScript -Oracle Open Office Impress : PostScript;creating files -Oracle Open Office Impress : PostScript;PDF converter, UNIX -Oracle Open Office Impress : PowerPoint export -Oracle Open Office Impress : precision as shown (Calc) -Oracle Open Office Impress : predefining fonts -Oracle Open Office Impress : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Impress : presentations -Oracle Open Office Impress : presentations;arranging slides -Oracle Open Office Impress : presentations;creating/opening -Oracle Open Office Impress : presentations;exiting by interaction -Oracle Open Office Impress : presentations;exporting to HTML -Oracle Open Office Impress : presentations;importing HTML -Oracle Open Office Impress : presentations;inserting spreadsheet cells -Oracle Open Office Impress : presentations;inserting spreadsheets -Oracle Open Office Impress : presentations;live on the Internet -Oracle Open Office Impress : presentations;navigating -Oracle Open Office Impress : presentations;numbering slides in -Oracle Open Office Impress : presentations;ordering of effects -Oracle Open Office Impress : presentations;print menu -Oracle Open Office Impress : presentations;printing -Oracle Open Office Impress : presentations;rehearse timings -Oracle Open Office Impress : presentations;saving -Oracle Open Office Impress : presentations;saving automatically -Oracle Open Office Impress : presentations;saving in other formats -Oracle Open Office Impress : presentations;sending as e-mail -Oracle Open Office Impress : presentations;settings for -Oracle Open Office Impress : presentations;shortcut keys -Oracle Open Office Impress : presentations;starting -Oracle Open Office Impress : presentations;starting with wizard -Oracle Open Office Impress : presentations;window / full screen -Oracle Open Office Impress : presentations;wizards -Oracle Open Office Impress : Presenter Console shortcuts -Oracle Open Office Impress : press buttons, see push buttons -Oracle Open Office Impress : previews -Oracle Open Office Impress : previews;fonts lists -Oracle Open Office Impress : primary keys -Oracle Open Office Impress : primary keys;defining -Oracle Open Office Impress : primary keys;design view -Oracle Open Office Impress : primary keys;inserting (Base) -Oracle Open Office Impress : print area selection -Oracle Open Office Impress : printer metrics for document formatting (Writer) -Oracle Open Office Impress : printers -Oracle Open Office Impress : printers;adding, UNIX -Oracle Open Office Impress : printers;choosing -Oracle Open Office Impress : printers;default printer -Oracle Open Office Impress : printers;faxes under UNIX -Oracle Open Office Impress : printers;maximum page formats -Oracle Open Office Impress : printers;paper trays -Oracle Open Office Impress : printers;properties -Oracle Open Office Impress : printing -Oracle Open Office Impress : printing;black and white -Oracle Open Office Impress : printing;brochures -Oracle Open Office Impress : printing;colors in grayscale -Oracle Open Office Impress : printing;comments -Oracle Open Office Impress : printing;copies -Oracle Open Office Impress : printing;creating individual jobs -Oracle Open Office Impress : printing;dates in presentations -Oracle Open Office Impress : printing;directly -Oracle Open Office Impress : printing;documents -Oracle Open Office Impress : printing;drawings defaults -Oracle Open Office Impress : printing;elements in text documents -Oracle Open Office Impress : printing;faster -Oracle Open Office Impress : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Impress : printing;fitting to pages in presentations -Oracle Open Office Impress : printing;fitting to paper -Oracle Open Office Impress : printing;formulas in Oracle Open Office Math -Oracle Open Office Impress : printing;hidden pages of presentations -Oracle Open Office Impress : printing;in original size in Oracle Open Office Math -Oracle Open Office Impress : printing;left/right pages -Oracle Open Office Impress : printing;presentations -Oracle Open Office Impress : printing;queries (Base) -Oracle Open Office Impress : printing;scaling in Oracle Open Office Math -Oracle Open Office Impress : printing;selections -Oracle Open Office Impress : printing;text always in black -Oracle Open Office Impress : printing;text in reverse order -Oracle Open Office Impress : printing;tiling pages in presentations -Oracle Open Office Impress : printing;transparencies -Oracle Open Office Impress : printing;warnings -Oracle Open Office Impress : printing;without scaling in presentations -Oracle Open Office Impress : printing speed -Oracle Open Office Impress : programming -Oracle Open Office Impress : programming;Oracle Open Office -Oracle Open Office Impress : programming;scripting -Oracle Open Office Impress : programs run by mouse click in presentations -Oracle Open Office Impress : properties -Oracle Open Office Impress : properties;charts -Oracle Open Office Impress : properties;fields in databases -Oracle Open Office Impress : properties;files -Oracle Open Office Impress : properties;form controls -Oracle Open Office Impress : properties;forms -Oracle Open Office Impress : properties;printers -Oracle Open Office Impress : properties;smooth lines in line charts/XY charts -Oracle Open Office Impress : protected contents -Oracle Open Office Impress : protected dashes -Oracle Open Office Impress : protected database tables -Oracle Open Office Impress : protected documents -Oracle Open Office Impress : protected spaces -Oracle Open Office Impress : protected spaces;inserting -Oracle Open Office Impress : protected spaces;showing (Writer) -Oracle Open Office Impress : protecting -Oracle Open Office Impress : protecting;contents -Oracle Open Office Impress : protecting;recorded changes -Oracle Open Office Impress : proxy settings -Oracle Open Office Impress : push buttons -Oracle Open Office Impress : push buttons;adding to documents -Oracle Open Office Impress : push buttons;creating -Oracle Open Office Impress : pyramids -Oracle Open Office Impress : queries -Oracle Open Office Impress : queries;copying (Base) -Oracle Open Office Impress : queries;creating in design view (Base) -Oracle Open Office Impress : queries;creating in SQL view -Oracle Open Office Impress : queries;defining (Base) -Oracle Open Office Impress : queries;deleting table links (Base) -Oracle Open Office Impress : queries;editing in data source view -Oracle Open Office Impress : queries;formulating filter conditions (Base) -Oracle Open Office Impress : queries;joining tables (Base) -Oracle Open Office Impress : queries;missing elements (Base) -Oracle Open Office Impress : queries;overview (Base) -Oracle Open Office Impress : queries;parameter queries (Base) -Oracle Open Office Impress : queries;printing (Base) -Oracle Open Office Impress : Query Wizard (Base) -Oracle Open Office Impress : Quickstarter -Oracle Open Office Impress : quotation marks -Oracle Open Office Impress : quotation marks;replacing -Oracle Open Office Impress : quotes -Oracle Open Office Impress : quotes;custom -Oracle Open Office Impress : radar charts, see net charts -Oracle Open Office Impress : radio button creation -Oracle Open Office Impress : read-only documents -Oracle Open Office Impress : read-only documents;cursor -Oracle Open Office Impress : read-only documents;database tables on/off -Oracle Open Office Impress : read-only documents;editing -Oracle Open Office Impress : read-only documents;opening documents as -Oracle Open Office Impress : read-only items in Data Navigator -Oracle Open Office Impress : recognizing URLs automatically -Oracle Open Office Impress : recording -Oracle Open Office Impress : recording;changes -Oracle Open Office Impress : recording;display times for slides -Oracle Open Office Impress : recording;macros -Oracle Open Office Impress : records -Oracle Open Office Impress : records;inserting comments -Oracle Open Office Impress : records;protecting -Oracle Open Office Impress : records;saving -Oracle Open Office Impress : records;searching in databases -Oracle Open Office Impress : rectangles -Oracle Open Office Impress : rectangles with round corners -Oracle Open Office Impress : recursions in spreadsheets -Oracle Open Office Impress : redo command -Oracle Open Office Impress : reduced printing -Oracle Open Office Impress : reference lines -Oracle Open Office Impress : references -Oracle Open Office Impress : references;displaying in color (Calc) -Oracle Open Office Impress : references;expanding (Calc) -Oracle Open Office Impress : references;iterative (Calc) -Oracle Open Office Impress : register-true -Oracle Open Office Impress : register-true;definition -Oracle Open Office Impress : registering -Oracle Open Office Impress : registering;address books -Oracle Open Office Impress : registering;databases (Base) -Oracle Open Office Impress : registering;Oracle Open Office -Oracle Open Office Impress : regression curves in charts -Oracle Open Office Impress : regular expressions -Oracle Open Office Impress : regular expressions;list of -Oracle Open Office Impress : regular expressions;opening files -Oracle Open Office Impress : rehearse timings -Oracle Open Office Impress : relational databases (Base) -Oracle Open Office Impress : relations -Oracle Open Office Impress : relations;creating and deleting (Base) -Oracle Open Office Impress : relations;joining tables (Base) -Oracle Open Office Impress : relations;properties (Base) -Oracle Open Office Impress : relative hyperlinks -Oracle Open Office Impress : relative saving of URLs -Oracle Open Office Impress : reloading -Oracle Open Office Impress : reloading;documents -Oracle Open Office Impress : reloading;HTML documents, automatically -Oracle Open Office Impress : remarks, see also comments -Oracle Open Office Impress : remote configurations -Oracle Open Office Impress : remove noise filter -Oracle Open Office Impress : removing -Oracle Open Office Impress : removing;bullets and numbering -Oracle Open Office Impress : removing;form filters -Oracle Open Office Impress : removing, see also deleting -Oracle Open Office Impress : renaming layers -Oracle Open Office Impress : reorganizing charts -Oracle Open Office Impress : repeating -Oracle Open Office Impress : repeating;commands -Oracle Open Office Impress : replacement options -Oracle Open Office Impress : replacement table -Oracle Open Office Impress : replacing -Oracle Open Office Impress : replacing;AutoCorrect function -Oracle Open Office Impress : replacing;colors in bitmaps -Oracle Open Office Impress : replacing;dashes -Oracle Open Office Impress : replacing;tab stops (regular expressions) -Oracle Open Office Impress : Report Builder -Oracle Open Office Impress : reports -Oracle Open Office Impress : reports;creating -Oracle Open Office Impress : reports;error reports -Oracle Open Office Impress : reports;opening and editing -Oracle Open Office Impress : reports;templates -Oracle Open Office Impress : resetting -Oracle Open Office Impress : resetting;templates -Oracle Open Office Impress : resizing -Oracle Open Office Impress : resizing;objects, by mouse -Oracle Open Office Impress : resizing, see also scaling/zooming -Oracle Open Office Impress : resolution when printing bitmaps -Oracle Open Office Impress : restoring -Oracle Open Office Impress : restoring;default formatting -Oracle Open Office Impress : restoring;editing -Oracle Open Office Impress : reversing objects -Oracle Open Office Impress : reversing printing order -Oracle Open Office Impress : review function -Oracle Open Office Impress : review function;accepting or rejecting changes -Oracle Open Office Impress : review function;comparing documents -Oracle Open Office Impress : review function;protecting records -Oracle Open Office Impress : review function;recording changes example -Oracle Open Office Impress : rich text control -Oracle Open Office Impress : right alignment of paragraphs -Oracle Open Office Impress : right joins (Base) -Oracle Open Office Impress : right-to-left text -Oracle Open Office Impress : rotating -Oracle Open Office Impress : rotating;3D text -Oracle Open Office Impress : rotating;draw objects -Oracle Open Office Impress : rotation mode -Oracle Open Office Impress : round corners -Oracle Open Office Impress : rounding precision (Calc) -Oracle Open Office Impress : row headers -Oracle Open Office Impress : row headers;displaying (Calc) -Oracle Open Office Impress : row headers;highlighting (Calc) -Oracle Open Office Impress : rows -Oracle Open Office Impress : rows;inserting -Oracle Open Office Impress : rulers -Oracle Open Office Impress : rulers;default settings -Oracle Open Office Impress : rulers;in presentations -Oracle Open Office Impress : rulers;measurement units -Oracle Open Office Impress : rulers;visible in presentations -Oracle Open Office Impress : running macros/programs in presentations -Oracle Open Office Impress : running slide shows -Oracle Open Office Impress : samples and templates -Oracle Open Office Impress : saving -Oracle Open Office Impress : saving;as HTML -Oracle Open Office Impress : saving;default file formats -Oracle Open Office Impress : saving;dialog settings -Oracle Open Office Impress : saving;documents -Oracle Open Office Impress : saving;documents for mobile devices -Oracle Open Office Impress : saving;documents in other formats -Oracle Open Office Impress : saving;documents, automatically -Oracle Open Office Impress : saving;in Microsoft Office file format -Oracle Open Office Impress : saving;options -Oracle Open Office Impress : saving;templates -Oracle Open Office Impress : saving;to XML -Oracle Open Office Impress : saving;VBA code in Microsoft Office documents -Oracle Open Office Impress : saving;with password by default -Oracle Open Office Impress : saving as command -Oracle Open Office Impress : saving as command;precautions -Oracle Open Office Impress : scaling -Oracle Open Office Impress : scaling;axes -Oracle Open Office Impress : scaling;font sizes in user interface -Oracle Open Office Impress : scaling;objects -Oracle Open Office Impress : scaling;pictures -Oracle Open Office Impress : scaling;printing in Oracle Open Office Math -Oracle Open Office Impress : scaling;text in charts -Oracle Open Office Impress : scaling;when printing presentations -Oracle Open Office Impress : scaling, see also zooming -Oracle Open Office Impress : scatter charts -Oracle Open Office Impress : screen -Oracle Open Office Impress : screen;full screen views -Oracle Open Office Impress : screen;scaling -Oracle Open Office Impress : screen magnifiers -Oracle Open Office Impress : screen readers -Oracle Open Office Impress : script organization -Oracle Open Office Impress : scrollbars -Oracle Open Office Impress : scrollbars;controls -Oracle Open Office Impress : scrollbars;displaying (Calc) -Oracle Open Office Impress : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Impress : search criteria for database functions in cells -Oracle Open Office Impress : search engines -Oracle Open Office Impress : search engines;definition -Oracle Open Office Impress : search engines;selecting -Oracle Open Office Impress : searching -Oracle Open Office Impress : searching;all sheets -Oracle Open Office Impress : searching;databases -Oracle Open Office Impress : searching;form filters -Oracle Open Office Impress : searching;Internet -Oracle Open Office Impress : searching;tables and forms -Oracle Open Office Impress : secondary axes in charts -Oracle Open Office Impress : sections -Oracle Open Office Impress : sections;backgrounds -Oracle Open Office Impress : sectors of circles/ellipses -Oracle Open Office Impress : security -Oracle Open Office Impress : security;digital signatures -Oracle Open Office Impress : security;options for documents with macros -Oracle Open Office Impress : security;protecting contents -Oracle Open Office Impress : security;security levels for macros -Oracle Open Office Impress : security;warning dialogs with macros -Oracle Open Office Impress : segments of circles/ellipses -Oracle Open Office Impress : selecting -Oracle Open Office Impress : selecting;controls -Oracle Open Office Impress : selecting;hidden objects -Oracle Open Office Impress : selecting;layers -Oracle Open Office Impress : selecting;measurement units -Oracle Open Office Impress : selecting;objects -Oracle Open Office Impress : selecting;print areas -Oracle Open Office Impress : selecting;several files -Oracle Open Office Impress : selection clipboard -Oracle Open Office Impress : selection frames -Oracle Open Office Impress : selection modes in text -Oracle Open Office Impress : sending -Oracle Open Office Impress : sending;AutoAbstract function in presentations -Oracle Open Office Impress : sending;documents as e-mail -Oracle Open Office Impress : sending;documents as faxes -Oracle Open Office Impress : separator lines -Oracle Open Office Impress : separator lines;defining -Oracle Open Office Impress : separators -Oracle Open Office Impress : separators;conditional -Oracle Open Office Impress : Server Side ImageMap -Oracle Open Office Impress : settings -Oracle Open Office Impress : settings;printers -Oracle Open Office Impress : settings;program configuration -Oracle Open Office Impress : settings;proxies -Oracle Open Office Impress : settings;tracking changes -Oracle Open Office Impress : settings;views -Oracle Open Office Impress : SGML -Oracle Open Office Impress : SGML;definition -Oracle Open Office Impress : shadows -Oracle Open Office Impress : shadows;areas -Oracle Open Office Impress : shadows;borders -Oracle Open Office Impress : shadows;characters -Oracle Open Office Impress : shadows;characters, using context menu -Oracle Open Office Impress : sharing documents -Oracle Open Office Impress : sharpening filter -Oracle Open Office Impress : shearing objects -Oracle Open Office Impress : sheet tabs -Oracle Open Office Impress : sheet tabs;displaying -Oracle Open Office Impress : sheets -Oracle Open Office Impress : sheets;searching all -Oracle Open Office Impress : shells -Oracle Open Office Impress : shortcut keys -Oracle Open Office Impress : shortcut keys;assigning macros -Oracle Open Office Impress : shortcut keys;charts -Oracle Open Office Impress : shortcut keys;general -Oracle Open Office Impress : shortcut keys;in databases -Oracle Open Office Impress : shortcut keys;in drawings -Oracle Open Office Impress : shortcut keys;in presentations -Oracle Open Office Impress : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Impress : showing -Oracle Open Office Impress : showing;changes -Oracle Open Office Impress : showing;docked windows -Oracle Open Office Impress : showing;drawings and controls (Writer) -Oracle Open Office Impress : showing;guides -Oracle Open Office Impress : showing;hidden layers -Oracle Open Office Impress : showing;hidden slides -Oracle Open Office Impress : showing;levels -Oracle Open Office Impress : showing;live presentations on the Internet -Oracle Open Office Impress : showing;slide shows -Oracle Open Office Impress : showing;subpoints -Oracle Open Office Impress : showing;toolbars -Oracle Open Office Impress : sign conversion to curves -Oracle Open Office Impress : signing documents with digital signatures -Oracle Open Office Impress : similarity search -Oracle Open Office Impress : simple handles (Writer) -Oracle Open Office Impress : simplified Chinese -Oracle Open Office Impress : simplified Chinese;translating to traditional Chinese -Oracle Open Office Impress : single sign on options -Oracle Open Office Impress : single-line spacing in text -Oracle Open Office Impress : sizes -Oracle Open Office Impress : sizes;draw objects -Oracle Open Office Impress : sizes;pictures -Oracle Open Office Impress : skewing draw objects -Oracle Open Office Impress : slanting draw objects -Oracle Open Office Impress : slanting objects -Oracle Open Office Impress : slide designs -Oracle Open Office Impress : slide layouts -Oracle Open Office Impress : slide master view -Oracle Open Office Impress : slide masters -Oracle Open Office Impress : slide masters;changing backgrounds -Oracle Open Office Impress : slide masters;designing -Oracle Open Office Impress : slide masters;headers and footers -Oracle Open Office Impress : slide numbers -Oracle Open Office Impress : slide numbers on all slides -Oracle Open Office Impress : slide shows -Oracle Open Office Impress : slide shows;custom -Oracle Open Office Impress : slide shows;settings for -Oracle Open Office Impress : slide shows;starting -Oracle Open Office Impress : slide transitions -Oracle Open Office Impress : slide transitions;applying effects -Oracle Open Office Impress : slide transitions;automatic -Oracle Open Office Impress : slide transitions;manual -Oracle Open Office Impress : slide transitions;sounds -Oracle Open Office Impress : slides -Oracle Open Office Impress : slides;arranging -Oracle Open Office Impress : slides;backgrounds -Oracle Open Office Impress : slides;changing backgrounds -Oracle Open Office Impress : slides;copying between documents -Oracle Open Office Impress : slides;deleting -Oracle Open Office Impress : slides;expanding -Oracle Open Office Impress : slides;formatting -Oracle Open Office Impress : slides;headers and footers -Oracle Open Office Impress : slides;inserting -Oracle Open Office Impress : slides;inserting as links -Oracle Open Office Impress : slides;inserting speaker notes -Oracle Open Office Impress : slides;page numbers -Oracle Open Office Impress : slides;printing -Oracle Open Office Impress : small capitals -Oracle Open Office Impress : small icons -Oracle Open Office Impress : smart tag configuration -Oracle Open Office Impress : smooth scrolling (Writer) -Oracle Open Office Impress : smoothing filter -Oracle Open Office Impress : snap grid defaults (Writer/Calc) -Oracle Open Office Impress : snap lines, see also guides -Oracle Open Office Impress : snap points -Oracle Open Office Impress : snap points;editing -Oracle Open Office Impress : snap points;inserting -Oracle Open Office Impress : snapping in presentations and drawings -Oracle Open Office Impress : solarization filter -Oracle Open Office Impress : sort lists -Oracle Open Office Impress : sort lists;copying to in Calc -Oracle Open Office Impress : sorting -Oracle Open Office Impress : sorting;data in forms -Oracle Open Office Impress : sorting;databases -Oracle Open Office Impress : sound files -Oracle Open Office Impress : sounds -Oracle Open Office Impress : sounds;for effects -Oracle Open Office Impress : sounds;formats -Oracle Open Office Impress : sounds;on slide transitions -Oracle Open Office Impress : spaces -Oracle Open Office Impress : spaces;displaying (Writer) -Oracle Open Office Impress : spaces;ignoring double -Oracle Open Office Impress : spaces;inserting protected spaces -Oracle Open Office Impress : spaces;showing protected spaces (Writer) -Oracle Open Office Impress : spacing -Oracle Open Office Impress : spacing;between paragraphs in footnotes -Oracle Open Office Impress : spacing;font effects -Oracle Open Office Impress : spacing;lines and paragraphs -Oracle Open Office Impress : spacing;tab stops in text documents -Oracle Open Office Impress : spacing;tabs in presentations -Oracle Open Office Impress : spadmin -Oracle Open Office Impress : speaker notes -Oracle Open Office Impress : speaker notes;defaults -Oracle Open Office Impress : speaker notes;inserting -Oracle Open Office Impress : special characters -Oracle Open Office Impress : speech bubbles -Oracle Open Office Impress : speed of printing -Oracle Open Office Impress : spellcheck -Oracle Open Office Impress : spellcheck;activating for a language -Oracle Open Office Impress : spellcheck;context menus -Oracle Open Office Impress : spellcheck;default languages -Oracle Open Office Impress : spellcheck;dialog -Oracle Open Office Impress : spellcheck;dictionary of exceptions -Oracle Open Office Impress : spellcheck;ignore list -Oracle Open Office Impress : spheres -Oracle Open Office Impress : spin button creation -Oracle Open Office Impress : splitting -Oracle Open Office Impress : splitting;combinations -Oracle Open Office Impress : splitting;curves -Oracle Open Office Impress : spoolfiles with Xprinter -Oracle Open Office Impress : spreadsheets -Oracle Open Office Impress : spreadsheets;as databases (base) -Oracle Open Office Impress : spreadsheets;copying areas to text documents -Oracle Open Office Impress : spreadsheets;creating/opening -Oracle Open Office Impress : spreadsheets;in presentations -Oracle Open Office Impress : spreadsheets;inserting charts -Oracle Open Office Impress : spreadsheets;inserting database records -Oracle Open Office Impress : spreadsheets;printing -Oracle Open Office Impress : spreadsheets;saving -Oracle Open Office Impress : spreadsheets;saving automatically -Oracle Open Office Impress : spreadsheets;saving in other formats -Oracle Open Office Impress : spreadsheets;sending as e-mail -Oracle Open Office Impress : SQL -Oracle Open Office Impress : SQL;definition -Oracle Open Office Impress : SQL;DISTINCT parameter -Oracle Open Office Impress : SQL;executing SQL commands -Oracle Open Office Impress : SQL;executing SQL statements (Base) -Oracle Open Office Impress : SQL;queries (Base) -Oracle Open Office Impress : square drawings -Oracle Open Office Impress : standard bar on/off -Oracle Open Office Impress : standard deviation in charts -Oracle Open Office Impress : standard filters in databases -Oracle Open Office Impress : standard printer under UNIX -Oracle Open Office Impress : start center -Oracle Open Office Impress : start parameters -Oracle Open Office Impress : starting -Oracle Open Office Impress : starting;always with the current slide -Oracle Open Office Impress : starting;custom slide shows -Oracle Open Office Impress : starting;slide shows -Oracle Open Office Impress : statistics in charts -Oracle Open Office Impress : status bar on/off -Oracle Open Office Impress : stickers -Oracle Open Office Impress : stock charts -Oracle Open Office Impress : strikethrough -Oracle Open Office Impress : strikethrough;characters -Oracle Open Office Impress : strikethrough;font effects -Oracle Open Office Impress : styles -Oracle Open Office Impress : styles;'changed' message -Oracle Open Office Impress : styles;arrow and line styles -Oracle Open Office Impress : styles;copying between documents -Oracle Open Office Impress : styles;keyboard shortcuts -Oracle Open Office Impress : styles;organizing -Oracle Open Office Impress : styles;printing styles used in a document -Oracle Open Office Impress : styles;replacing automatically -Oracle Open Office Impress : Styles and Formatting window -Oracle Open Office Impress : Styles and Formatting window;docking -Oracle Open Office Impress : Styles and Formatting window;graphics documents -Oracle Open Office Impress : subforms -Oracle Open Office Impress : subforms;creating -Oracle Open Office Impress : subforms;description -Oracle Open Office Impress : submitting forms -Oracle Open Office Impress : subpoints -Oracle Open Office Impress : subpoints;hiding -Oracle Open Office Impress : subpoints;showing -Oracle Open Office Impress : subtracting polygons -Oracle Open Office Impress : suffixes in file formats -Oracle Open Office Impress : summary slide -Oracle Open Office Impress : support on the Web -Oracle Open Office Impress : synchronizing -Oracle Open Office Impress : synchronizing;labels and business cards -Oracle Open Office Impress : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Impress : system address book registration -Oracle Open Office Impress : tab stops -Oracle Open Office Impress : tab stops;displaying (Writer) -Oracle Open Office Impress : tab stops;inserting and editing -Oracle Open Office Impress : tab stops;regular expressions -Oracle Open Office Impress : tab stops;setting in sheets -Oracle Open Office Impress : tab stops;settings -Oracle Open Office Impress : tab stops;spacing in presentations -Oracle Open Office Impress : tab stops;spacing in text documents -Oracle Open Office Impress : table controls -Oracle Open Office Impress : table controls;form functions -Oracle Open Office Impress : table controls;keyboard-only edit mode -Oracle Open Office Impress : table controls;properties -Oracle Open Office Impress : table views of databases -Oracle Open Office Impress : Table Wizard (Base) -Oracle Open Office Impress : tables -Oracle Open Office Impress : tables;inserting line breaks -Oracle Open Office Impress : tables in databases -Oracle Open Office Impress : tables in databases;access rights to (Base) -Oracle Open Office Impress : tables in databases;adding to queries -Oracle Open Office Impress : tables in databases;browsing and editing -Oracle Open Office Impress : tables in databases;copying database tables (Base) -Oracle Open Office Impress : tables in databases;creating -Oracle Open Office Impress : tables in databases;creating in design view (manually) -Oracle Open Office Impress : tables in databases;importing text formats (Base) -Oracle Open Office Impress : tables in databases;joining for queries (Base) -Oracle Open Office Impress : tables in databases;printing queries (Base) -Oracle Open Office Impress : tables in databases;relations (Base) -Oracle Open Office Impress : tables in databases;searching -Oracle Open Office Impress : tables in spreadsheets -Oracle Open Office Impress : tables in spreadsheets;copying data to other applications -Oracle Open Office Impress : tables in spreadsheets;defining borders -Oracle Open Office Impress : tables in spreadsheets;value highlighting -Oracle Open Office Impress : tables in text -Oracle Open Office Impress : tables in text;captions -Oracle Open Office Impress : tables in text;creating automatically -Oracle Open Office Impress : tables in text;default settings -Oracle Open Office Impress : tables in text;defining borders -Oracle Open Office Impress : tables in text;displaying -Oracle Open Office Impress : tables in text;printing -Oracle Open Office Impress : tabs -Oracle Open Office Impress : tabs;displaying sheet tabs -Oracle Open Office Impress : tags -Oracle Open Office Impress : tags;definition -Oracle Open Office Impress : tags;META tags -Oracle Open Office Impress : task pane -Oracle Open Office Impress : templates -Oracle Open Office Impress : templates;agendas -Oracle Open Office Impress : templates;changing basic fonts -Oracle Open Office Impress : templates;database reports -Oracle Open Office Impress : templates;deleting -Oracle Open Office Impress : templates;editing and saving -Oracle Open Office Impress : templates;faxes -Oracle Open Office Impress : templates;importing and exporting -Oracle Open Office Impress : templates;letters -Oracle Open Office Impress : templates;new documents from templates -Oracle Open Office Impress : templates;opening documents with -Oracle Open Office Impress : templates;organizing -Oracle Open Office Impress : terminology -Oracle Open Office Impress : terminology;general glossary -Oracle Open Office Impress : terminology;Internet glossary -Oracle Open Office Impress : testing XML filters -Oracle Open Office Impress : text -Oracle Open Office Impress : text;animating -Oracle Open Office Impress : text;Asian layout -Oracle Open Office Impress : text;bold -Oracle Open Office Impress : text;coloring -Oracle Open Office Impress : text;converting to curves -Oracle Open Office Impress : text;copying by drag and drop -Oracle Open Office Impress : text;CTL languages -Oracle Open Office Impress : text;double-clicking to edit -Oracle Open Office Impress : text;drawing pictures -Oracle Open Office Impress : text;font effects -Oracle Open Office Impress : text;font sizes -Oracle Open Office Impress : text;font styles -Oracle Open Office Impress : text;fonts and formats -Oracle Open Office Impress : text;Fontwork icons -Oracle Open Office Impress : text;hyperlinks -Oracle Open Office Impress : text;inserting special characters -Oracle Open Office Impress : text;italics -Oracle Open Office Impress : text;kerning -Oracle Open Office Impress : text;language selection -Oracle Open Office Impress : text;line spacing -Oracle Open Office Impress : text;overwriting or inserting -Oracle Open Office Impress : text;printing in black -Oracle Open Office Impress : text;replacing with format -Oracle Open Office Impress : text;selection modes -Oracle Open Office Impress : text;shadowed -Oracle Open Office Impress : text;text/draw objects -Oracle Open Office Impress : text;toolbar -Oracle Open Office Impress : text attributes -Oracle Open Office Impress : text attributes;hyperlinks -Oracle Open Office Impress : text attributes;undoing -Oracle Open Office Impress : text boxes -Oracle Open Office Impress : text boxes;form functions -Oracle Open Office Impress : text boxes;positioning -Oracle Open Office Impress : text breaks in cells -Oracle Open Office Impress : text colors for better accessibility -Oracle Open Office Impress : text databases (Base) -Oracle Open Office Impress : text documents -Oracle Open Office Impress : text documents;creating/opening -Oracle Open Office Impress : text documents;importing/exporting -Oracle Open Office Impress : text documents;inserting in slides -Oracle Open Office Impress : text documents;inserting spreadsheet cells -Oracle Open Office Impress : text documents;print settings -Oracle Open Office Impress : text documents;printing -Oracle Open Office Impress : text documents;saving -Oracle Open Office Impress : text documents;saving automatically -Oracle Open Office Impress : text documents;saving in other formats -Oracle Open Office Impress : text documents;sending as e-mail -Oracle Open Office Impress : text effects -Oracle Open Office Impress : text entry mode for draw objects -Oracle Open Office Impress : text flow -Oracle Open Office Impress : text flow;in cells -Oracle Open Office Impress : text formats -Oracle Open Office Impress : text formats;databases -Oracle Open Office Impress : text formats;pasting -Oracle Open Office Impress : text frames -Oracle Open Office Impress : text input fields -Oracle Open Office Impress : text layout for special languages -Oracle Open Office Impress : text objects -Oracle Open Office Impress : text objects;alignment -Oracle Open Office Impress : text objects;draw functions -Oracle Open Office Impress : text objects;fonts -Oracle Open Office Impress : text objects;in presentations and drawings -Oracle Open Office Impress : text overflow in spreadsheet cells -Oracle Open Office Impress : text scaling in charts -Oracle Open Office Impress : text, see also text documents, paragraphs and characters -Oracle Open Office Impress : TextArt, see Fontwork -Oracle Open Office Impress : textures -Oracle Open Office Impress : textures;inserting from Gallery -Oracle Open Office Impress : textures;on chart bars -Oracle Open Office Impress : Thai -Oracle Open Office Impress : Thai;entering text -Oracle Open Office Impress : Thai;language settings -Oracle Open Office Impress : thesaurus -Oracle Open Office Impress : thesaurus;activating for a language -Oracle Open Office Impress : ticker text -Oracle Open Office Impress : tiled printing of slides -Oracle Open Office Impress : time and date on all slides -Oracle Open Office Impress : time fields -Oracle Open Office Impress : time fields;form functions -Oracle Open Office Impress : times -Oracle Open Office Impress : times;fixed -Oracle Open Office Impress : times;inserting when printing presentations -Oracle Open Office Impress : times;variable -Oracle Open Office Impress : times, formats -Oracle Open Office Impress : timings -Oracle Open Office Impress : timings;rehearse timings -Oracle Open Office Impress : tips -Oracle Open Office Impress : tips;extended tips in Help -Oracle Open Office Impress : title rows -Oracle Open Office Impress : title rows;printing in Oracle Open Office Math -Oracle Open Office Impress : titles -Oracle Open Office Impress : titles;alignment (charts) -Oracle Open Office Impress : titles;changing -Oracle Open Office Impress : titles;editing in charts -Oracle Open Office Impress : titles;font effects -Oracle Open Office Impress : titles;formatting automatically -Oracle Open Office Impress : titles;formatting charts -Oracle Open Office Impress : titles;objects -Oracle Open Office Impress : toolbars -Oracle Open Office Impress : toolbars;3D objects -Oracle Open Office Impress : toolbars;adding buttons -Oracle Open Office Impress : toolbars;curves -Oracle Open Office Impress : toolbars;docking/undocking -Oracle Open Office Impress : toolbars;ellipses -Oracle Open Office Impress : toolbars;Form Navigation bar -Oracle Open Office Impress : toolbars;viewing/closing -Oracle Open Office Impress : tools bar -Oracle Open Office Impress : tooltips -Oracle Open Office Impress : tooltips;extended tips -Oracle Open Office Impress : tooltips;help -Oracle Open Office Impress : torus -Oracle Open Office Impress : traditional Chinese -Oracle Open Office Impress : traditional Chinese;translating to simplified chinese -Oracle Open Office Impress : transition effects -Oracle Open Office Impress : transparency -Oracle Open Office Impress : transparency;adjusting -Oracle Open Office Impress : transparency;areas -Oracle Open Office Impress : transparency;of objects -Oracle Open Office Impress : transparency;off for faster printing -Oracle Open Office Impress : transparency;saving -Oracle Open Office Impress : tree view of Help -Oracle Open Office Impress : trend lines in charts -Oracle Open Office Impress : typefaces -Oracle Open Office Impress : typefaces;adding under UNIX -Oracle Open Office Impress : typefaces;formats -Oracle Open Office Impress : typographical quotes in Oracle Open Office Writer -Oracle Open Office Impress : typography -Oracle Open Office Impress : typography;Asian -Oracle Open Office Impress : underlining -Oracle Open Office Impress : underlining;AutoFormat function -Oracle Open Office Impress : underlining;characters -Oracle Open Office Impress : underlining;text -Oracle Open Office Impress : underlying objects -Oracle Open Office Impress : undocking windows -Oracle Open Office Impress : undoing -Oracle Open Office Impress : undoing;direct formatting -Oracle Open Office Impress : undoing;editing -Oracle Open Office Impress : undoing;number of steps -Oracle Open Office Impress : ungrouping groups -Oracle Open Office Impress : units -Oracle Open Office Impress : units;converting -Oracle Open Office Impress : units;measurement units -Oracle Open Office Impress : unlocking layers -Oracle Open Office Impress : UNO components -Oracle Open Office Impress : UNO components;Extension Manager -Oracle Open Office Impress : UNO components;integrating new -Oracle Open Office Impress : update options -Oracle Open Office Impress : updates -Oracle Open Office Impress : updates;checking automatically -Oracle Open Office Impress : updates;checking manually -Oracle Open Office Impress : updating -Oracle Open Office Impress : updating;fields and charts, automatically (Writer) -Oracle Open Office Impress : updating;links in text documents -Oracle Open Office Impress : updating;links, on opening -Oracle Open Office Impress : updating;templates -Oracle Open Office Impress : URL -Oracle Open Office Impress : URL;changing hyperlink URLs -Oracle Open Office Impress : URL;definition -Oracle Open Office Impress : URL;in pictures -Oracle Open Office Impress : URL;saving absolute/relative paths -Oracle Open Office Impress : URL;turning off URL recognition -Oracle Open Office Impress : user data -Oracle Open Office Impress : user data;input -Oracle Open Office Impress : user data;removing when saving -Oracle Open Office Impress : user feedback -Oracle Open Office Impress : user feedback;automatically -Oracle Open Office Impress : user-defined colors -Oracle Open Office Impress : user-defined dictionaries -Oracle Open Office Impress : user-defined dictionaries;creating -Oracle Open Office Impress : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Impress : user-defined dictionaries;editing -Oracle Open Office Impress : user-defined styles -Oracle Open Office Impress : user-defined styles;automatically replacing -Oracle Open Office Impress : UTF-8/UCS2 support -Oracle Open Office Impress : values -Oracle Open Office Impress : values;rounded as shown (Calc) -Oracle Open Office Impress : variables -Oracle Open Office Impress : variables;for paths -Oracle Open Office Impress : variances in charts -Oracle Open Office Impress : VBA code -Oracle Open Office Impress : VBA code;loading/saving documents with VBA code -Oracle Open Office Impress : vector graphics -Oracle Open Office Impress : vector graphics;converting bitmaps -Oracle Open Office Impress : vectorizing bitmaps -Oracle Open Office Impress : version management -Oracle Open Office Impress : version numbers of documents -Oracle Open Office Impress : versions -Oracle Open Office Impress : versions;comparing documents -Oracle Open Office Impress : versions;file saving as, restriction -Oracle Open Office Impress : versions;merging document versions -Oracle Open Office Impress : versions;of a document -Oracle Open Office Impress : versions;Oracle Open Office -Oracle Open Office Impress : vertical callouts -Oracle Open Office Impress : vertical scrollbars (Writer) -Oracle Open Office Impress : vertical text boxes -Oracle Open Office Impress : videos -Oracle Open Office Impress : viewing -Oracle Open Office Impress : viewing;databases -Oracle Open Office Impress : viewing;file properties -Oracle Open Office Impress : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Impress : viewing;toolbars -Oracle Open Office Impress : views -Oracle Open Office Impress : views;black and white -Oracle Open Office Impress : views;creating database views (Base) -Oracle Open Office Impress : views;defaults -Oracle Open Office Impress : views;display sizes -Oracle Open Office Impress : views;full screen -Oracle Open Office Impress : views;icons -Oracle Open Office Impress : views;scaling -Oracle Open Office Impress : views;shift function -Oracle Open Office Impress : views;slide master view -Oracle Open Office Impress : Visual Basic for Applications -Oracle Open Office Impress : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Impress : watermarks -Oracle Open Office Impress : web documents -Oracle Open Office Impress : web documents;XForms -Oracle Open Office Impress : Web support -Oracle Open Office Impress : WebCast export -Oracle Open Office Impress : WebDAV over HTTPS -Oracle Open Office Impress : windows -Oracle Open Office Impress : windows;docking -Oracle Open Office Impress : windows;docking definition -Oracle Open Office Impress : windows;hiding/showing/docking -Oracle Open Office Impress : windows;new -Oracle Open Office Impress : wizards -Oracle Open Office Impress : wizards;agendas -Oracle Open Office Impress : wizards;database queries -Oracle Open Office Impress : wizards;database tables (Base) -Oracle Open Office Impress : wizards;databases (Base) -Oracle Open Office Impress : wizards;document converter -Oracle Open Office Impress : wizards;Euro Converter -Oracle Open Office Impress : wizards;faxes -Oracle Open Office Impress : wizards;forms -Oracle Open Office Impress : wizards;letters -Oracle Open Office Impress : wizards;macros (Base) -Oracle Open Office Impress : wizards;overview -Oracle Open Office Impress : wizards;presentations -Oracle Open Office Impress : wizards;reports -Oracle Open Office Impress : Word documents -Oracle Open Office Impress : Word documents;compatibility -Oracle Open Office Impress : Word documents;saving as -Oracle Open Office Impress : WordArt, see Fontwork -Oracle Open Office Impress : words -Oracle Open Office Impress : words;automatically replacing -Oracle Open Office Impress : words;wrapping in cells -Oracle Open Office Impress : words;wrapping in CTL -Oracle Open Office Impress : working directory change -Oracle Open Office Impress : wrapping text -Oracle Open Office Impress : wrapping text;in cells -Oracle Open Office Impress : write protection on/off -Oracle Open Office Impress : writing aids options -Oracle Open Office Impress : WYSIWYG in fonts lists -Oracle Open Office Impress : X axes -Oracle Open Office Impress : X axes;grid formatting -Oracle Open Office Impress : X axes;positioning -Oracle Open Office Impress : X axes;scaling -Oracle Open Office Impress : X axes;showing -Oracle Open Office Impress : XForms -Oracle Open Office Impress : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Impress : XForms;conditions -Oracle Open Office Impress : XForms;opening/editing -Oracle Open Office Impress : XML converters -Oracle Open Office Impress : XML file formats -Oracle Open Office Impress : XML filters -Oracle Open Office Impress : XML filters;creating/testing -Oracle Open Office Impress : XML filters;saving as package/installing/deleting -Oracle Open Office Impress : XML filters;settings -Oracle Open Office Impress : XML Forms, see XForms -Oracle Open Office Impress : XSLT filters, see also XML filters -Oracle Open Office Impress : XY charts -Oracle Open Office Impress : Y axes -Oracle Open Office Impress : Y axes;formatting -Oracle Open Office Impress : Y axes;grid formatting -Oracle Open Office Impress : Y axes;positioning -Oracle Open Office Impress : Y axes;scaling -Oracle Open Office Impress : Y axes;showing -Oracle Open Office Impress : years -Oracle Open Office Impress : years;2-digit options -Oracle Open Office Impress : Z axes -Oracle Open Office Impress : Z axes;grid formatting -Oracle Open Office Impress : Z axes;showing -Oracle Open Office Impress : zero values -Oracle Open Office Impress : zero values;displaying (Calc) -Oracle Open Office Impress : zooming -Oracle Open Office Impress : zooming;in presentations -Oracle Open Office Impress : zooming;keyboard -Oracle Open Office Impress : zooming;page views -Oracle Open Office Impress : zooming;pictures -Oracle Open Office Impress : zooming;shortcut keys -Oracle Open Office Impress : zooming;status bar -Oracle Open Office Math : 1/2 replacement -Oracle Open Office Math : 3D text creation -Oracle Open Office Math : abbreviation replacement -Oracle Open Office Math : absolute hyperlinks -Oracle Open Office Math : absolute saving of URLs -Oracle Open Office Math : absolute values -Oracle Open Office Math : accents -Oracle Open Office Math : accents -Oracle Open Office Math : accents;in Oracle Open Office Math -Oracle Open Office Math : Access databases (base) -Oracle Open Office Math : access rights for database tables (Base) -Oracle Open Office Math : accessibility -Oracle Open Office Math : accessibility;general shortcuts -Oracle Open Office Math : accessibility;options -Oracle Open Office Math : accessibility;Oracle Open Office assistive technology -Oracle Open Office Math : accessibility;Oracle Open Office features -Oracle Open Office Math : accessibility;Oracle Open Office Math shortcuts -Oracle Open Office Math : activating -Oracle Open Office Math : activating;context menus -Oracle Open Office Math : activating;Error Report Tool -Oracle Open Office Math : activating;extended help tips -Oracle Open Office Math : activating;plug-ins -Oracle Open Office Math : ActiveX control -Oracle Open Office Math : Adabas D databases (base) -Oracle Open Office Math : add-ons, see UNO components -Oracle Open Office Math : addition signs -Oracle Open Office Math : additional selection mode -Oracle Open Office Math : address books -Oracle Open Office Math : address books;LDAP server (Base) -Oracle Open Office Math : address books;registering -Oracle Open Office Math : address labels from databases -Oracle Open Office Math : ADO databases (Base) -Oracle Open Office Math : Agenda Wizard -Oracle Open Office Math : aging filter -Oracle Open Office Math : aligning -Oracle Open Office Math : aligning;cells -Oracle Open Office Math : aligning;characters in Oracle Open Office Math -Oracle Open Office Math : aligning;multi-line formulas -Oracle Open Office Math : aligning;objects -Oracle Open Office Math : aligning;paragraphs -Oracle Open Office Math : aligning;tables in text -Oracle Open Office Math : aligning;text objects -Oracle Open Office Math : aligning formulas -Oracle Open Office Math : alignment -Oracle Open Office Math : alignment;horizontally centered (Math) -Oracle Open Office Math : alignment;left (Math) -Oracle Open Office Math : alignment;right (Math) -Oracle Open Office Math : alternative fonts -Oracle Open Office Math : ampersand symbol, see also operators -Oracle Open Office Math : anchors -Oracle Open Office Math : anchors;changing -Oracle Open Office Math : anchors;displaying (Calc) -Oracle Open Office Math : anchors;types/positions for draw objects -Oracle Open Office Math : AND operator -Oracle Open Office Math : animations -Oracle Open Office Math : animations;accessibility options -Oracle Open Office Math : appearance options -Oracle Open Office Math : approximately equal to relation -Oracle Open Office Math : Arabic -Oracle Open Office Math : Arabic;entering text -Oracle Open Office Math : Arabic;language settings -Oracle Open Office Math : arc cosine function -Oracle Open Office Math : arc cotangent function -Oracle Open Office Math : arc sine function -Oracle Open Office Math : area hyperbolic cosine function -Oracle Open Office Math : area hyperbolic cotangent function -Oracle Open Office Math : area hyperbolic tangent function -Oracle Open Office Math : areas -Oracle Open Office Math : areas;bitmap patterns -Oracle Open Office Math : areas;hatched/dotted -Oracle Open Office Math : areas;shadows -Oracle Open Office Math : areas;slanting -Oracle Open Office Math : areas;styles -Oracle Open Office Math : areas;transparency -Oracle Open Office Math : arguments in command line -Oracle Open Office Math : arranging -Oracle Open Office Math : arranging;matrices -Oracle Open Office Math : arranging;objects -Oracle Open Office Math : arrows -Oracle Open Office Math : arrows;defining arrow heads -Oracle Open Office Math : arrows;defining arrow lines -Oracle Open Office Math : arrows;drawing in text -Oracle Open Office Math : arrows;symbols in Oracle Open Office Math -Oracle Open Office Math : ASCII -Oracle Open Office Math : ASCII;definition -Oracle Open Office Math : Asian languages -Oracle Open Office Math : Asian languages;enabling -Oracle Open Office Math : Asian Phonetic Guide -Oracle Open Office Math : Asian typography -Oracle Open Office Math : assigning scripts -Oracle Open Office Math : assistive technology in Oracle Open Office -Oracle Open Office Math : attaching toolbars -Oracle Open Office Math : attachments in e-mails -Oracle Open Office Math : attributes -Oracle Open Office Math : attributes;accents -Oracle Open Office Math : attributes;additional information -Oracle Open Office Math : attributes;changing defaults -Oracle Open Office Math : attributes;changing fonts -Oracle Open Office Math : attributes;changing in Oracle Open Office Math -Oracle Open Office Math : attributes;colored characters -Oracle Open Office Math : attributes;in Oracle Open Office Math -Oracle Open Office Math : attributes;list of -Oracle Open Office Math : audio -Oracle Open Office Math : auto reloading HTML documents -Oracle Open Office Math : AutoAbstract function for sending text to presentations -Oracle Open Office Math : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Math : AutoComplete function in text and list boxes -Oracle Open Office Math : AutoCorrect function -Oracle Open Office Math : AutoCorrect function;context menu -Oracle Open Office Math : AutoCorrect function;options -Oracle Open Office Math : AutoCorrect function;pictures and frames -Oracle Open Office Math : AutoCorrect function;quotes -Oracle Open Office Math : AutoCorrect function;replacement table -Oracle Open Office Math : AutoCorrect function;switching on and off in Calc -Oracle Open Office Math : AutoCorrect function;URL recognition -Oracle Open Office Math : AutoFormat function -Oracle Open Office Math : AutoFormat function;switching on and off -Oracle Open Office Math : automatic captions (Writer) -Oracle Open Office Math : automatic control focus -Oracle Open Office Math : automatic hyperlink formatting -Oracle Open Office Math : automatic line breaks -Oracle Open Office Math : automatic lines/borders in text -Oracle Open Office Math : automatic saving -Oracle Open Office Math : AutoPilots, see wizards -Oracle Open Office Math : AutoValue (Base) -Oracle Open Office Math : axes in charts -Oracle Open Office Math : axis-ellipsis -Oracle Open Office Math : back epsilon symbol -Oracle Open Office Math : backgrounds -Oracle Open Office Math : backgrounds;defining colors/pictures -Oracle Open Office Math : backgrounds;frames/sections/indexes -Oracle Open Office Math : backgrounds;inserting from Gallery -Oracle Open Office Math : backgrounds;printing -Oracle Open Office Math : backing window -Oracle Open Office Math : backslash division sign -Oracle Open Office Math : backups -Oracle Open Office Math : backups;automatic -Oracle Open Office Math : backups;documents -Oracle Open Office Math : Basic -Oracle Open Office Math : Basic;fonts for source display -Oracle Open Office Math : Basic;programming -Oracle Open Office Math : Basic;recording macros -Oracle Open Office Math : basic fonts -Oracle Open Office Math : Bézier curves -Oracle Open Office Math : Bézier curves;control points in presentations -Oracle Open Office Math : bi-directional writing -Oracle Open Office Math : binary operators -Oracle Open Office Math : binary operators -Oracle Open Office Math : binary operators;list of -Oracle Open Office Math : binding space -Oracle Open Office Math : binomials -Oracle Open Office Math : bitmaps -Oracle Open Office Math : bitmaps;inserting and editing -Oracle Open Office Math : bitmaps;off for faster printing -Oracle Open Office Math : bitmaps;patterns -Oracle Open Office Math : black and white printing -Oracle Open Office Math : black printing in Calc -Oracle Open Office Math : block selection mode -Oracle Open Office Math : bold -Oracle Open Office Math : bold;AutoFormat function -Oracle Open Office Math : bold;text -Oracle Open Office Math : bold attribute -Oracle Open Office Math : bookmarks -Oracle Open Office Math : bookmarks;Help -Oracle Open Office Math : Boolean operators -Oracle Open Office Math : borders -Oracle Open Office Math : borders;arranging -Oracle Open Office Math : borders;cells on screen (Calc) -Oracle Open Office Math : borders;for paragraphs -Oracle Open Office Math : borders;for tables -Oracle Open Office Math : borders;shadows -Oracle Open Office Math : borders;table boundaries (Writer) -Oracle Open Office Math : borders, see also frames -Oracle Open Office Math : bound fields -Oracle Open Office Math : bound fields;controls -Oracle Open Office Math : boundaries of tables (Writer) -Oracle Open Office Math : braces in Oracle Open Office Math -Oracle Open Office Math : brackets -Oracle Open Office Math : brackets;angle (Math) -Oracle Open Office Math : brackets;angle with operator -Oracle Open Office Math : brackets;double square (Math) -Oracle Open Office Math : brackets;group -Oracle Open Office Math : brackets;in Oracle Open Office Math -Oracle Open Office Math : brackets;inserting in Oracle Open Office Math -Oracle Open Office Math : brackets;merging formula parts -Oracle Open Office Math : brackets;operator (Math) -Oracle Open Office Math : brackets;reference list -Oracle Open Office Math : brackets;round (Math) -Oracle Open Office Math : brackets;scalable -Oracle Open Office Math : brackets;single, without group function -Oracle Open Office Math : brackets;square (Math) -Oracle Open Office Math : brackets;widowed -Oracle Open Office Math : brackets and grouping in Oracle Open Office Math -Oracle Open Office Math : break display (Writer) -Oracle Open Office Math : brochures -Oracle Open Office Math : brochures;printing several -Oracle Open Office Math : build numbers of Oracle Open Office -Oracle Open Office Math : bullet lists -Oracle Open Office Math : bullet lists;formatting options -Oracle Open Office Math : bullets -Oracle Open Office Math : bullets;paragraphs -Oracle Open Office Math : bullets;replacing -Oracle Open Office Math : bullets;turning off -Oracle Open Office Math : business cards -Oracle Open Office Math : business cards;creating and synchronizing -Oracle Open Office Math : business cards;using templates -Oracle Open Office Math : button bars, see toolbars -Oracle Open Office Math : buttons -Oracle Open Office Math : buttons;adding push buttons -Oracle Open Office Math : buttons;big/small -Oracle Open Office Math : buttons;editing hyperlink buttons -Oracle Open Office Math : buttons;form functions -Oracle Open Office Math : buttons;toolbars -Oracle Open Office Math : cache for graphics -Oracle Open Office Math : calculating -Oracle Open Office Math : calculating;iterative references (Calc) -Oracle Open Office Math : callouts -Oracle Open Office Math : callouts;drawings -Oracle Open Office Math : capital letters -Oracle Open Office Math : capital letters;AutoCorrect function -Oracle Open Office Math : capital letters;font effects -Oracle Open Office Math : captions -Oracle Open Office Math : captions;automatic captions (Writer) -Oracle Open Office Math : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Math : captions, see also labels/callouts -Oracle Open Office Math : cardinal numbers -Oracle Open Office Math : cascading update (Base) -Oracle Open Office Math : case sensitivity -Oracle Open Office Math : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Math : case sensitivity;searching -Oracle Open Office Math : catalog for mathematical symbols -Oracle Open Office Math : ceiling brackets -Oracle Open Office Math : ceiling brackets;lines with -Oracle Open Office Math : ceiling brackets;scalable lines with -Oracle Open Office Math : cells -Oracle Open Office Math : cells;aligning -Oracle Open Office Math : cells;coloring (Calc) -Oracle Open Office Math : cells;cursor positions after input (Calc) -Oracle Open Office Math : cells;formatting without effect (Calc) -Oracle Open Office Math : cells;line breaks -Oracle Open Office Math : cells;linked to controls -Oracle Open Office Math : cells;number of -Oracle Open Office Math : cells;pasting -Oracle Open Office Math : cells;resetting formats -Oracle Open Office Math : cells;showing grid lines (Calc) -Oracle Open Office Math : center dots symbol -Oracle Open Office Math : centered horizontally -Oracle Open Office Math : centered horizontally;alignment (Math) -Oracle Open Office Math : centered text -Oracle Open Office Math : centimeters -Oracle Open Office Math : certificates -Oracle Open Office Math : changes -Oracle Open Office Math : changes;accepting automatically -Oracle Open Office Math : changes;accepting or rejecting -Oracle Open Office Math : changes;comparing to original -Oracle Open Office Math : changes;protecting -Oracle Open Office Math : changes;recording -Oracle Open Office Math : changes;review function -Oracle Open Office Math : changes;showing -Oracle Open Office Math : changing -Oracle Open Office Math : changing;default formatting -Oracle Open Office Math : changing;document titles -Oracle Open Office Math : changing;file associations in Setup program -Oracle Open Office Math : changing;fonts -Oracle Open Office Math : changing;icon sizes -Oracle Open Office Math : changing;links -Oracle Open Office Math : changing;work directory -Oracle Open Office Math : changing, see also editing and replacing -Oracle Open Office Math : character styles -Oracle Open Office Math : character styles;language selection -Oracle Open Office Math : characters -Oracle Open Office Math : characters;alternative fonts -Oracle Open Office Math : characters;Asian layout -Oracle Open Office Math : characters;bold -Oracle Open Office Math : characters;coloring -Oracle Open Office Math : characters;displaying only on screen (Writer) -Oracle Open Office Math : characters;enabling CTL and Asian characters -Oracle Open Office Math : characters;font effects -Oracle Open Office Math : characters;fonts and formats -Oracle Open Office Math : characters;hyperlinks -Oracle Open Office Math : characters;italics -Oracle Open Office Math : characters;language selection -Oracle Open Office Math : characters;shadowed -Oracle Open Office Math : characters;spacing -Oracle Open Office Math : characters;special -Oracle Open Office Math : characters;underlining -Oracle Open Office Math : charcoal sketches filter -Oracle Open Office Math : charts -Oracle Open Office Math : charts;arranging within stacks -Oracle Open Office Math : charts;bars with textures -Oracle Open Office Math : charts;colors -Oracle Open Office Math : charts;copying with link to source cell range -Oracle Open Office Math : charts;displaying (Calc) -Oracle Open Office Math : charts;editing axes -Oracle Open Office Math : charts;editing data -Oracle Open Office Math : charts;editing legends -Oracle Open Office Math : charts;editing titles -Oracle Open Office Math : charts;inserting -Oracle Open Office Math : charts;updating automatically (Writer) -Oracle Open Office Math : check box creation -Oracle Open Office Math : Chinese writing systems -Oracle Open Office Math : choosing printers -Oracle Open Office Math : circle attribute -Oracle Open Office Math : circle drawings -Oracle Open Office Math : circumflex attribute -Oracle Open Office Math : Client Side ImageMap -Oracle Open Office Math : clipboard -Oracle Open Office Math : clipboard;cutting -Oracle Open Office Math : clipboard;pasting -Oracle Open Office Math : clipboard;pasting formatted/unformatted text -Oracle Open Office Math : clipboard;selection clipboard -Oracle Open Office Math : clipboard;Unix -Oracle Open Office Math : closing -Oracle Open Office Math : closing;documents -Oracle Open Office Math : closing;toolbars -Oracle Open Office Math : collaboration -Oracle Open Office Math : color bar -Oracle Open Office Math : colored characters -Oracle Open Office Math : colors -Oracle Open Office Math : colors;adding -Oracle Open Office Math : colors;appearance -Oracle Open Office Math : colors;backgrounds -Oracle Open Office Math : colors;charts -Oracle Open Office Math : colors;fill format -Oracle Open Office Math : colors;fonts -Oracle Open Office Math : colors;grid lines and cells (Calc) -Oracle Open Office Math : colors;in formulas -Oracle Open Office Math : colors;models -Oracle Open Office Math : colors;not printing -Oracle Open Office Math : colors;printing in grayscale -Oracle Open Office Math : colors;restriction (Calc) -Oracle Open Office Math : colors;selection -Oracle Open Office Math : column headers -Oracle Open Office Math : column headers;displaying (Calc) -Oracle Open Office Math : column headers;highlighting (Calc) -Oracle Open Office Math : columns -Oracle Open Office Math : columns;setting with the mouse -Oracle Open Office Math : combo box creation -Oracle Open Office Math : command button creation -Oracle Open Office Math : command buttons, see push buttons -Oracle Open Office Math : command line parameters -Oracle Open Office Math : commands -Oracle Open Office Math : commands;repeating -Oracle Open Office Math : commands;SQL -Oracle Open Office Math : comments -Oracle Open Office Math : comments;displaying (Calc) -Oracle Open Office Math : comments;entering in Oracle Open Office Math -Oracle Open Office Math : comments;inserting/editing/deleting/printing -Oracle Open Office Math : comments;on changes -Oracle Open Office Math : comments;printing in text -Oracle Open Office Math : common terms -Oracle Open Office Math : common terms;Chinese dictionary -Oracle Open Office Math : common terms;glossaries -Oracle Open Office Math : common terms;Internet glossary -Oracle Open Office Math : comparisons -Oracle Open Office Math : comparisons;document versions -Oracle Open Office Math : comparisons;operators in default filter dialog -Oracle Open Office Math : compatibility settings for MS Word import -Oracle Open Office Math : complete screen view -Oracle Open Office Math : complex numbers -Oracle Open Office Math : complex numbers;set -Oracle Open Office Math : complex numbers;symbols -Oracle Open Office Math : complex text layout -Oracle Open Office Math : complex text layout;definition -Oracle Open Office Math : complex text layout;enabling -Oracle Open Office Math : complex text layout, see CTL -Oracle Open Office Math : compose key to insert special characters -Oracle Open Office Math : concatenating math symbols -Oracle Open Office Math : concatenation, see ampersand symbol -Oracle Open Office Math : conditional separators -Oracle Open Office Math : conditions -Oracle Open Office Math : conditions;in number formats -Oracle Open Office Math : conditions;items in Data Navigator -Oracle Open Office Math : Configuration Manager -Oracle Open Office Math : configuring -Oracle Open Office Math : configuring;fax icon -Oracle Open Office Math : configuring;Oracle Open Office -Oracle Open Office Math : configuring;toolbars -Oracle Open Office Math : congruent relation -Oracle Open Office Math : connections to data sources (Base) -Oracle Open Office Math : considerably greater than relation -Oracle Open Office Math : considerably less than relation -Oracle Open Office Math : contents protection -Oracle Open Office Math : context menus -Oracle Open Office Math : control point display in presentations -Oracle Open Office Math : controls -Oracle Open Office Math : controls;activating in forms -Oracle Open Office Math : controls;adding to documents -Oracle Open Office Math : controls;arranging in forms -Oracle Open Office Math : controls;arranging within stacks -Oracle Open Office Math : controls;assigning data sources -Oracle Open Office Math : controls;assigning macros (Basic) -Oracle Open Office Math : controls;bound fields/list contents/linked cells -Oracle Open Office Math : controls;events -Oracle Open Office Math : controls;focus -Oracle Open Office Math : controls;formatted fields -Oracle Open Office Math : controls;grouping -Oracle Open Office Math : controls;hidden -Oracle Open Office Math : controls;inserting -Oracle Open Office Math : controls;multi-line titles -Oracle Open Office Math : controls;positions and sizes -Oracle Open Office Math : controls;printing -Oracle Open Office Math : controls;properties of form controls -Oracle Open Office Math : controls;properties of table controls -Oracle Open Office Math : controls;reference by SQL -Oracle Open Office Math : controls;rich text control -Oracle Open Office Math : controls;select mode -Oracle Open Office Math : controls;showing (Writer) -Oracle Open Office Math : converters -Oracle Open Office Math : converters;Euro converter -Oracle Open Office Math : converters;PostScript, UNIX -Oracle Open Office Math : converters;XML -Oracle Open Office Math : converting -Oracle Open Office Math : converting;Hangul/Hanja -Oracle Open Office Math : converting;metrics -Oracle Open Office Math : converting;Microsoft documents -Oracle Open Office Math : converting;Oracle Open Office documents -Oracle Open Office Math : converting;Pocket PC formats -Oracle Open Office Math : copies -Oracle Open Office Math : copies;printing -Oracle Open Office Math : coproduct -Oracle Open Office Math : copying -Oracle Open Office Math : copying;by drag and drop -Oracle Open Office Math : copying;data from text documents -Oracle Open Office Math : copying;datasource records in spreadsheets -Oracle Open Office Math : copying;draw objects -Oracle Open Office Math : copying;draw objects between documents -Oracle Open Office Math : copying;formatting -Oracle Open Office Math : copying;from data source view -Oracle Open Office Math : copying;from Gallery -Oracle Open Office Math : copying;in Unix -Oracle Open Office Math : copying;pictures, between documents -Oracle Open Office Math : copying;sheet areas, to text documents -Oracle Open Office Math : copying;to Gallery -Oracle Open Office Math : copyright for Oracle Open Office -Oracle Open Office Math : corner roundings -Oracle Open Office Math : correspondence -Oracle Open Office Math : correspondence;original by -Oracle Open Office Math : correspondence;picture by -Oracle Open Office Math : cosine function -Oracle Open Office Math : cotangent function -Oracle Open Office Math : crash reports -Oracle Open Office Math : criteria of query design (Base) -Oracle Open Office Math : cropping pictures -Oracle Open Office Math : CTL -Oracle Open Office Math : CTL;(not) wrapping words -Oracle Open Office Math : CTL;complex text layout languages -Oracle Open Office Math : CTL;definition -Oracle Open Office Math : CTL;options -Oracle Open Office Math : currencies -Oracle Open Office Math : currencies;converters -Oracle Open Office Math : currencies;format codes -Oracle Open Office Math : currency field creation -Oracle Open Office Math : currency formats -Oracle Open Office Math : cursor -Oracle Open Office Math : cursor;allowing in protected areas (Writer) -Oracle Open Office Math : cursor;in Oracle Open Office Math -Oracle Open Office Math : cursor;in read-only text -Oracle Open Office Math : cursor;quickly moving to an object -Oracle Open Office Math : curve integrals -Oracle Open Office Math : curves -Oracle Open Office Math : curves;editing points -Oracle Open Office Math : custom dictionaries -Oracle Open Office Math : custom dictionaries;editing -Oracle Open Office Math : custom hyphens (Writer) -Oracle Open Office Math : custom quotes -Oracle Open Office Math : custom templates -Oracle Open Office Math : customizing -Oracle Open Office Math : customizing;events -Oracle Open Office Math : customizing;keyboard -Oracle Open Office Math : customizing;menus -Oracle Open Office Math : customizing;Oracle Open Office -Oracle Open Office Math : customizing;round corners -Oracle Open Office Math : customizing;toolbars -Oracle Open Office Math : cutting -Oracle Open Office Math : dashes -Oracle Open Office Math : data -Oracle Open Office Math : data;filtering in forms -Oracle Open Office Math : data;forms and subforms -Oracle Open Office Math : data;read-only -Oracle Open Office Math : data;sorting in forms -Oracle Open Office Math : data;user data -Oracle Open Office Math : data binding change in XForms -Oracle Open Office Math : Data Navigator -Oracle Open Office Math : Data Navigator;adding/editing items -Oracle Open Office Math : Data Navigator;display options -Oracle Open Office Math : data source browser -Oracle Open Office Math : data source explorer -Oracle Open Office Math : data source view -Oracle Open Office Math : data source view;drag and drop -Oracle Open Office Math : data source view;overview -Oracle Open Office Math : data source view;showing -Oracle Open Office Math : data sources -Oracle Open Office Math : data sources;as tables -Oracle Open Office Math : data sources;connection settings (Base) -Oracle Open Office Math : data sources;copying records to spreadsheets -Oracle Open Office Math : data sources;displaying current -Oracle Open Office Math : data sources;LDAP server (Base) -Oracle Open Office Math : data sources;Oracle Open Office Base -Oracle Open Office Math : data sources;registering address books -Oracle Open Office Math : data sources;reports -Oracle Open Office Math : data sources;viewing -Oracle Open Office Math : data structure of XForms -Oracle Open Office Math : data, see also values -Oracle Open Office Math : database contents -Oracle Open Office Math : database contents;inserting as tables -Oracle Open Office Math : database contents;inserting as text -Oracle Open Office Math : database reports -Oracle Open Office Math : Database Wizard (Base) -Oracle Open Office Math : databases -Oracle Open Office Math : databases;administration through SQL (Base) -Oracle Open Office Math : databases;ADO (Base) -Oracle Open Office Math : databases;connecting (Base) -Oracle Open Office Math : databases;creating -Oracle Open Office Math : databases;creating labels -Oracle Open Office Math : databases;creating queries -Oracle Open Office Math : databases;creating reports -Oracle Open Office Math : databases;creating tables -Oracle Open Office Math : databases;deleting (Base) -Oracle Open Office Math : databases;drag and drop (Base) -Oracle Open Office Math : databases;editing tables -Oracle Open Office Math : databases;form filters -Oracle Open Office Math : databases;formats (Base) -Oracle Open Office Math : databases;importing/exporting -Oracle Open Office Math : databases;JDBC (Base) -Oracle Open Office Math : databases;main page (Base) -Oracle Open Office Math : databases;ODBC (Base) -Oracle Open Office Math : databases;overview -Oracle Open Office Math : databases;registering (Base) -Oracle Open Office Math : databases;searching records -Oracle Open Office Math : databases;shortcut keys -Oracle Open Office Math : databases;sorting -Oracle Open Office Math : databases;standard filters -Oracle Open Office Math : databases;text formats -Oracle Open Office Math : databases;viewing -Oracle Open Office Math : date fields -Oracle Open Office Math : date fields;creating -Oracle Open Office Math : date fields;properties -Oracle Open Office Math : date formats -Oracle Open Office Math : dates -Oracle Open Office Math : dates;default (Calc) -Oracle Open Office Math : dates;printing in presentations -Oracle Open Office Math : dates;start 1900/01/01 (Calc) -Oracle Open Office Math : dates;start 1904/01/01 (Calc) -Oracle Open Office Math : dBASE -Oracle Open Office Math : dBASE;database settings (Base) -Oracle Open Office Math : DDE -Oracle Open Office Math : DDE;definition -Oracle Open Office Math : deactivating -Oracle Open Office Math : deactivating;plug-ins -Oracle Open Office Math : decimal places displayed (Calc) -Oracle Open Office Math : decimal separator key -Oracle Open Office Math : decimal tab stops -Oracle Open Office Math : default directories -Oracle Open Office Math : default filters -Oracle Open Office Math : default filters;comparison operators -Oracle Open Office Math : default filters;databases -Oracle Open Office Math : default printer -Oracle Open Office Math : default printer;setting up -Oracle Open Office Math : default printer;UNIX -Oracle Open Office Math : default templates -Oracle Open Office Math : default templates;changing -Oracle Open Office Math : default templates;organizing -Oracle Open Office Math : defaults -Oracle Open Office Math : defaults;changing default formatting -Oracle Open Office Math : defaults;documents -Oracle Open Office Math : defaults;file formats in file dialogs -Oracle Open Office Math : defaults;file formats in Oracle Open Office -Oracle Open Office Math : defaults;fonts -Oracle Open Office Math : defaults;grids (Writer/Calc) -Oracle Open Office Math : defaults;languages -Oracle Open Office Math : defaults;number formats -Oracle Open Office Math : defaults;of saving -Oracle Open Office Math : defaults;program configuration -Oracle Open Office Math : defaults;tab stops in text -Oracle Open Office Math : defaults;views -Oracle Open Office Math : defined as relation -Oracle Open Office Math : defining -Oracle Open Office Math : defining;arrowheads and other line ends -Oracle Open Office Math : defining;colors -Oracle Open Office Math : defining;formula fonts -Oracle Open Office Math : defining;line styles -Oracle Open Office Math : defining;paragraph borders -Oracle Open Office Math : defining;queries (Base) -Oracle Open Office Math : defining;table borders -Oracle Open Office Math : deleting -Oracle Open Office Math : deleting;all direct formatting -Oracle Open Office Math : deleting;comments -Oracle Open Office Math : deleting;databases (Base) -Oracle Open Office Math : deleting;hyperlinks -Oracle Open Office Math : deleting;lines in text -Oracle Open Office Math : deleting;models/instances -Oracle Open Office Math : deleting;namespaces in XForms -Oracle Open Office Math : deleting;tab stops -Oracle Open Office Math : deleting;templates -Oracle Open Office Math : deleting;XML filters -Oracle Open Office Math : depth stagger -Oracle Open Office Math : descriptions for objects -Oracle Open Office Math : design mode after saving -Oracle Open Office Math : design view -Oracle Open Office Math : design view;creating forms -Oracle Open Office Math : design view;queries/views (Base) -Oracle Open Office Math : designing -Oracle Open Office Math : designing;database tables -Oracle Open Office Math : designing;fonts -Oracle Open Office Math : designing;queries (Base) -Oracle Open Office Math : detaching toolbars -Oracle Open Office Math : diagonal downward dots -Oracle Open Office Math : diagonal downward dots;symbol -Oracle Open Office Math : diagonal upward dots -Oracle Open Office Math : diagonal upward dots;symbol -Oracle Open Office Math : dictionaries -Oracle Open Office Math : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Math : dictionaries;creating -Oracle Open Office Math : dictionaries;editing user-defined -Oracle Open Office Math : dictionaries;spellcheck -Oracle Open Office Math : dictionaries, see also languages -Oracle Open Office Math : difference set operator -Oracle Open Office Math : digital signatures -Oracle Open Office Math : digital signatures;getting/managing/applying -Oracle Open Office Math : digital signatures;overview -Oracle Open Office Math : digital signatures;WebDAV over HTTPS -Oracle Open Office Math : direct formatting -Oracle Open Office Math : direct formatting;undoing all -Oracle Open Office Math : direct text -Oracle Open Office Math : direct text;entering in Oracle Open Office Math -Oracle Open Office Math : directories -Oracle Open Office Math : directories;creating new -Oracle Open Office Math : directories;directory structure -Oracle Open Office Math : disabled persons -Oracle Open Office Math : displaying -Oracle Open Office Math : displaying;comments (Calc) -Oracle Open Office Math : displaying;comments in text documents -Oracle Open Office Math : displaying;non-printing characters (Writer) -Oracle Open Office Math : displaying;pictures and objects (Writer) -Oracle Open Office Math : displaying;tables (Writer) -Oracle Open Office Math : displaying;zero values (Calc) -Oracle Open Office Math : distances -Oracle Open Office Math : distances between brackets -Oracle Open Office Math : distinct values in SQL queries -Oracle Open Office Math : distorting in drawings -Oracle Open Office Math : distributing XML filters -Oracle Open Office Math : divides relation -Oracle Open Office Math : division signs -Oracle Open Office Math : docking -Oracle Open Office Math : docking;definition -Oracle Open Office Math : docking;toolbars -Oracle Open Office Math : docking;windows -Oracle Open Office Math : Document Converter Wizard -Oracle Open Office Math : Document Map, see Navigator -Oracle Open Office Math : document types in Oracle Open Office -Oracle Open Office Math : documents -Oracle Open Office Math : documents;changing titles -Oracle Open Office Math : documents;closing -Oracle Open Office Math : documents;comparing -Oracle Open Office Math : documents;contents as lists -Oracle Open Office Math : documents;editing time -Oracle Open Office Math : documents;exporting -Oracle Open Office Math : documents;importing -Oracle Open Office Math : documents;languages -Oracle Open Office Math : documents;measurement units in -Oracle Open Office Math : documents;merging -Oracle Open Office Math : documents;number of pages/tables/sheets -Oracle Open Office Math : documents;opening -Oracle Open Office Math : documents;opening in design mode -Oracle Open Office Math : documents;opening with templates -Oracle Open Office Math : documents;organizing -Oracle Open Office Math : documents;printing -Oracle Open Office Math : documents;read-only -Oracle Open Office Math : documents;reloading -Oracle Open Office Math : documents;saving -Oracle Open Office Math : documents;saving automatically -Oracle Open Office Math : documents;saving in other formats -Oracle Open Office Math : documents;sending as e-mail -Oracle Open Office Math : documents;styles changed -Oracle Open Office Math : documents;version management -Oracle Open Office Math : documents;version numbers -Oracle Open Office Math : does not divide relation -Oracle Open Office Math : dot attribute -Oracle Open Office Math : dotted areas -Oracle Open Office Math : double arrow symbols -Oracle Open Office Math : double dot attribute -Oracle Open Office Math : double square brackets -Oracle Open Office Math : double square brackets;scalable -Oracle Open Office Math : double-line spacing in paragraphs -Oracle Open Office Math : double-line writing in Asian layout -Oracle Open Office Math : down arrow symbol -Oracle Open Office Math : drag and drop -Oracle Open Office Math : drag and drop;copying and pasting text -Oracle Open Office Math : drag and drop;data source view -Oracle Open Office Math : drag and drop;from Gallery to draw objects -Oracle Open Office Math : drag and drop;overview -Oracle Open Office Math : drag and drop;pictures -Oracle Open Office Math : drag and drop;to Gallery -Oracle Open Office Math : draw objects -Oracle Open Office Math : draw objects;adding/editing/copying -Oracle Open Office Math : draw objects;anchoring -Oracle Open Office Math : draw objects;arranging within stacks -Oracle Open Office Math : draw objects;copying between documents -Oracle Open Office Math : draw objects;displaying (Calc) -Oracle Open Office Math : draw objects;dropping Gallery pictures -Oracle Open Office Math : draw objects;flipping -Oracle Open Office Math : draw objects;legends -Oracle Open Office Math : draw objects;positioning and resizing -Oracle Open Office Math : draw objects;protecting -Oracle Open Office Math : draw objects;slanting -Oracle Open Office Math : draw objects;text in -Oracle Open Office Math : Drawing bar -Oracle Open Office Math : drawing lines in text -Oracle Open Office Math : drawings -Oracle Open Office Math : drawings;creating/opening -Oracle Open Office Math : drawings;languages -Oracle Open Office Math : drawings;printing -Oracle Open Office Math : drawings;printing defaults -Oracle Open Office Math : drawings;printing in text documents -Oracle Open Office Math : drawings;saving -Oracle Open Office Math : drawings;saving automatically -Oracle Open Office Math : drawings;saving in other formats -Oracle Open Office Math : drawings;sending as e-mail -Oracle Open Office Math : drawings;showing (Writer) -Oracle Open Office Math : drawings, see also draw objects -Oracle Open Office Math : drop-down lists in form functions -Oracle Open Office Math : e-mail attachments -Oracle Open Office Math : Edit File icon -Oracle Open Office Math : edit mode -Oracle Open Office Math : edit mode;after opening -Oracle Open Office Math : edit mode;through Enter key (Calc) -Oracle Open Office Math : Edit Points bar -Oracle Open Office Math : editing -Oracle Open Office Math : editing;chart axes -Oracle Open Office Math : editing;chart data -Oracle Open Office Math : editing;chart legends -Oracle Open Office Math : editing;chart titles -Oracle Open Office Math : editing;comments -Oracle Open Office Math : editing;data binding of XForms -Oracle Open Office Math : editing;database tables and queries -Oracle Open Office Math : editing;draw objects -Oracle Open Office Math : editing;Fontwork objects -Oracle Open Office Math : editing;hyperlinks -Oracle Open Office Math : editing;menus -Oracle Open Office Math : editing;objects -Oracle Open Office Math : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Math : editing;pictures -Oracle Open Office Math : editing;reports -Oracle Open Office Math : editing;shortcut keys -Oracle Open Office Math : editing;tab stops -Oracle Open Office Math : editing;templates -Oracle Open Office Math : editing;toolbars -Oracle Open Office Math : editing;undoing -Oracle Open Office Math : editing;XForms -Oracle Open Office Math : editing time of documents -Oracle Open Office Math : editors -Oracle Open Office Math : editors;formula editor -Oracle Open Office Math : editors;ImageMap editor -Oracle Open Office Math : effects -Oracle Open Office Math : effects;font positions -Oracle Open Office Math : effects;fonts -Oracle Open Office Math : effects;Fontwork icons -Oracle Open Office Math : ellipsis symbols -Oracle Open Office Math : empty documents -Oracle Open Office Math : empty paragraph removal -Oracle Open Office Math : empty set -Oracle Open Office Math : encryption of contents -Oracle Open Office Math : entering groups -Oracle Open Office Math : entering text from right to left -Oracle Open Office Math : epsilon -Oracle Open Office Math : epsilon;back -Oracle Open Office Math : equal sign -Oracle Open Office Math : equal sign, see also operators -Oracle Open Office Math : Equation Editor, see Oracle Open Office Math -Oracle Open Office Math : equations in formula editor -Oracle Open Office Math : Error Report Tool -Oracle Open Office Math : error search -Oracle Open Office Math : error search;next error -Oracle Open Office Math : error search;previous error -Oracle Open Office Math : Euro -Oracle Open Office Math : Euro;currency formats -Oracle Open Office Math : Euro;Euro Converter Wizard -Oracle Open Office Math : even/odd pages -Oracle Open Office Math : even/odd pages;printing -Oracle Open Office Math : events -Oracle Open Office Math : events;assigning scripts -Oracle Open Office Math : events;controls -Oracle Open Office Math : events;customizing -Oracle Open Office Math : events;in forms -Oracle Open Office Math : examples -Oracle Open Office Math : examples;integral -Oracle Open Office Math : examples;Oracle Open Office Math formulas -Oracle Open Office Math : Excel -Oracle Open Office Math : Excel;saving as -Oracle Open Office Math : Excel;search criteria -Oracle Open Office Math : exceptions -Oracle Open Office Math : exceptions;user-defined dictionaries -Oracle Open Office Math : exchanging, see also replacing -Oracle Open Office Math : executing SQL commands -Oracle Open Office Math : existence quantor symbol -Oracle Open Office Math : exiting -Oracle Open Office Math : exiting;groups -Oracle Open Office Math : exiting;Oracle Open Office -Oracle Open Office Math : expanding formatting (Calc) -Oracle Open Office Math : explorer of data sources -Oracle Open Office Math : exponential functions -Oracle Open Office Math : exponents -Oracle Open Office Math : exponents;variables with right -Oracle Open Office Math : exponents and indexes in Oracle Open Office Math -Oracle Open Office Math : export filters -Oracle Open Office Math : exporting -Oracle Open Office Math : exporting;bitmaps -Oracle Open Office Math : exporting;HTML and text documents -Oracle Open Office Math : exporting;Microsoft Office documents with VBA code -Oracle Open Office Math : exporting;spreadsheets to text format -Oracle Open Office Math : exporting;templates -Oracle Open Office Math : exporting;to foreign formats -Oracle Open Office Math : exporting;to HTML -Oracle Open Office Math : exporting;to Microsoft Office formats -Oracle Open Office Math : exporting;to PDF -Oracle Open Office Math : exporting;to PostScript format -Oracle Open Office Math : exporting;to XML -Oracle Open Office Math : exporting;XML files -Oracle Open Office Math : extended tips in Help -Oracle Open Office Math : extension mode in text -Oracle Open Office Math : extensions -Oracle Open Office Math : extensions;Extension Manager -Oracle Open Office Math : extensions;file formats -Oracle Open Office Math : external keys (Base) -Oracle Open Office Math : factorial -Oracle Open Office Math : faster printing -Oracle Open Office Math : faxes -Oracle Open Office Math : faxes;configuring Oracle Open Office -Oracle Open Office Math : faxes;fax programs/fax printers under UNIX -Oracle Open Office Math : faxes;selecting a fax machine -Oracle Open Office Math : faxes;sending -Oracle Open Office Math : faxes;wizards -Oracle Open Office Math : feedback -Oracle Open Office Math : feedback;automatically -Oracle Open Office Math : fields -Oracle Open Office Math : fields;database tables -Oracle Open Office Math : fields;displaying field codes (Writer) -Oracle Open Office Math : fields;formatted fields -Oracle Open Office Math : fields;updating automatically (Writer) -Oracle Open Office Math : file associations for Microsoft Office -Oracle Open Office Math : file filters -Oracle Open Office Math : file filters;mobile devices -Oracle Open Office Math : file filters;XML -Oracle Open Office Math : file formats -Oracle Open Office Math : file formats;changing Oracle Open Office defaults -Oracle Open Office Math : file formats;OpenDocument/XML -Oracle Open Office Math : file formats;saving always in other formats -Oracle Open Office Math : file selection button -Oracle Open Office Math : file sharing options for current document -Oracle Open Office Math : files -Oracle Open Office Math : files;filters and formats -Oracle Open Office Math : files;importing -Oracle Open Office Math : files;opening -Oracle Open Office Math : files;opening with placeholders -Oracle Open Office Math : files;properties -Oracle Open Office Math : files;saving -Oracle Open Office Math : files;saving automatically -Oracle Open Office Math : files;saving in other formats -Oracle Open Office Math : files;sending as e-mail -Oracle Open Office Math : files;version numbers -Oracle Open Office Math : files and folders in Oracle Open Office -Oracle Open Office Math : fill characters with tabulators -Oracle Open Office Math : fill colors for areas -Oracle Open Office Math : fill patterns for areas -Oracle Open Office Math : filter conditions -Oracle Open Office Math : filter conditions;connecting -Oracle Open Office Math : filter conditions;in queries (Base) -Oracle Open Office Math : filtering -Oracle Open Office Math : filtering;data in databases -Oracle Open Office Math : filtering;data in forms -Oracle Open Office Math : filters -Oracle Open Office Math : filters;comparison operators -Oracle Open Office Math : filters;for import and export -Oracle Open Office Math : filters;Navigator -Oracle Open Office Math : filters;pictures -Oracle Open Office Math : filters;XML filter settings -Oracle Open Office Math : Find tab in Help -Oracle Open Office Math : finding -Oracle Open Office Math : finding;errors in Oracle Open Office Math -Oracle Open Office Math : finding;in all sheets -Oracle Open Office Math : finding;records in form documents -Oracle Open Office Math : finding;selections -Oracle Open Office Math : finding;similarity search -Oracle Open Office Math : fitting to pages -Oracle Open Office Math : fitting to pages;print settings in Math -Oracle Open Office Math : fitting to pages;print settings in presentations -Oracle Open Office Math : fixed text -Oracle Open Office Math : fixed text;form functions -Oracle Open Office Math : fixing toolbars -Oracle Open Office Math : flipping draw objects -Oracle Open Office Math : floating frames in HTML documents -Oracle Open Office Math : floating toolbars -Oracle Open Office Math : floor brackets -Oracle Open Office Math : focus of controls -Oracle Open Office Math : folder creation -Oracle Open Office Math : font attributes -Oracle Open Office Math : font attributes;changing defaults -Oracle Open Office Math : font lists -Oracle Open Office Math : font name box -Oracle Open Office Math : font sizes -Oracle Open Office Math : font sizes;bullets -Oracle Open Office Math : font sizes;example -Oracle Open Office Math : font sizes;in Oracle Open Office Math -Oracle Open Office Math : font sizes;relative changes -Oracle Open Office Math : font sizes;scaling on screen -Oracle Open Office Math : font sizes;text -Oracle Open Office Math : fonts -Oracle Open Office Math : fonts;adding under UNIX -Oracle Open Office Math : fonts;changing in templates -Oracle Open Office Math : fonts;colors -Oracle Open Office Math : fonts;default settings -Oracle Open Office Math : fonts;effects -Oracle Open Office Math : fonts;for HTML and Basic -Oracle Open Office Math : fonts;formats -Oracle Open Office Math : fonts;in Oracle Open Office Math -Oracle Open Office Math : fonts;outlines -Oracle Open Office Math : fonts;positions in text -Oracle Open Office Math : fonts;shadows -Oracle Open Office Math : fonts;specifying several -Oracle Open Office Math : fonts;strikethrough -Oracle Open Office Math : fonts;styles -Oracle Open Office Math : fonts;text objects -Oracle Open Office Math : Fontwork icons -Oracle Open Office Math : footers -Oracle Open Office Math : footers;backgrounds -Oracle Open Office Math : for all symbol -Oracle Open Office Math : form controls -Oracle Open Office Math : form controls;assigning macros -Oracle Open Office Math : form controls;protecting -Oracle Open Office Math : form controls;toolbars -Oracle Open Office Math : form fields -Oracle Open Office Math : form filters -Oracle Open Office Math : Form Navigator -Oracle Open Office Math : format codes -Oracle Open Office Math : format codes;numbers -Oracle Open Office Math : format filling printing in Oracle Open Office Math -Oracle Open Office Math : Format Paintbrush -Oracle Open Office Math : formats -Oracle Open Office Math : formats;Asian layout -Oracle Open Office Math : formats;fonts -Oracle Open Office Math : formats;maximizing page formats -Oracle Open Office Math : formats;number and currency formats -Oracle Open Office Math : formats;of currencies/date/time -Oracle Open Office Math : formats;on opening and saving -Oracle Open Office Math : formats;pasting in special formats -Oracle Open Office Math : formats;positions -Oracle Open Office Math : formats;tabulators -Oracle Open Office Math : formatted fields -Oracle Open Office Math : formatted fields;form functions -Oracle Open Office Math : formatted fields;properties -Oracle Open Office Math : formatting -Oracle Open Office Math : formatting;Asian typography -Oracle Open Office Math : formatting;axes in charts -Oracle Open Office Math : formatting;changing default attributes -Oracle Open Office Math : formatting;chart legends -Oracle Open Office Math : formatting;copying -Oracle Open Office Math : formatting;definition -Oracle Open Office Math : formatting;expanding (Calc) -Oracle Open Office Math : formatting;font effects -Oracle Open Office Math : formatting;hyperlinks -Oracle Open Office Math : formatting;in Oracle Open Office Math -Oracle Open Office Math : formatting;pages -Oracle Open Office Math : formatting;printer metrics (Writer) -Oracle Open Office Math : formatting;reference list (Math) -Oracle Open Office Math : formatting;undoing -Oracle Open Office Math : formatting;undoing when writing -Oracle Open Office Math : forms -Oracle Open Office Math : forms;browsing -Oracle Open Office Math : forms;Combo Box/List Box Wizard -Oracle Open Office Math : forms;creating -Oracle Open Office Math : forms;data -Oracle Open Office Math : forms;designing (Base) -Oracle Open Office Math : forms;events -Oracle Open Office Math : forms;filtering data -Oracle Open Office Math : forms;finding records -Oracle Open Office Math : forms;focus after opening -Oracle Open Office Math : forms;general information (Base) -Oracle Open Office Math : forms;grouping controls -Oracle Open Office Math : forms;HTML filters -Oracle Open Office Math : forms;Navigator -Oracle Open Office Math : forms;opening in design mode -Oracle Open Office Math : forms;properties -Oracle Open Office Math : forms;sorting data -Oracle Open Office Math : forms;subforms -Oracle Open Office Math : forms;wizards -Oracle Open Office Math : forms;XForms -Oracle Open Office Math : formula cursor in Oracle Open Office Math -Oracle Open Office Math : formula display sizes -Oracle Open Office Math : formula fonts -Oracle Open Office Math : formula fonts;defining -Oracle Open Office Math : formula parts -Oracle Open Office Math : formula parts;manually aligning -Oracle Open Office Math : formula parts;merging -Oracle Open Office Math : formula texts -Oracle Open Office Math : formula texts;printing in Oracle Open Office Math -Oracle Open Office Math : formula view -Oracle Open Office Math : formula view;refreshing -Oracle Open Office Math : formulas -Oracle Open Office Math : formulas;aligning -Oracle Open Office Math : formulas;attributes in -Oracle Open Office Math : formulas;element spacing -Oracle Open Office Math : formulas;entering symbols in -Oracle Open Office Math : formulas;examples -Oracle Open Office Math : formulas;fit to text -Oracle Open Office Math : formulas;in color -Oracle Open Office Math : formulas;increasing size of display -Oracle Open Office Math : formulas;line breaks -Oracle Open Office Math : formulas;maximum size -Oracle Open Office Math : formulas;new -Oracle Open Office Math : formulas;reference tables -Oracle Open Office Math : formulas;selections -Oracle Open Office Math : formulas;starting formula editor -Oracle Open Office Math : formulas;zooming out -Oracle Open Office Math : formulas in reports -Oracle Open Office Math : formulas in reports;editing -Oracle Open Office Math : forums and support -Oracle Open Office Math : fractions in formulas -Oracle Open Office Math : frames -Oracle Open Office Math : frames;around paragraphs -Oracle Open Office Math : frames;around tables -Oracle Open Office Math : frames;AutoCorrect function -Oracle Open Office Math : frames;backgrounds -Oracle Open Office Math : frames;captions (Writer) -Oracle Open Office Math : frames;printing in Oracle Open Office Math -Oracle Open Office Math : frames;protecting -Oracle Open Office Math : frames;selection frames -Oracle Open Office Math : frames;text fitting to frames -Oracle Open Office Math : freeform lines -Oracle Open Office Math : freeform lines;draw functions -Oracle Open Office Math : FTP -Oracle Open Office Math : FTP;opening documents -Oracle Open Office Math : FTP;saving documents -Oracle Open Office Math : full joins (Base) -Oracle Open Office Math : full screen view -Oracle Open Office Math : full-text search in Help -Oracle Open Office Math : functions -Oracle Open Office Math : functions;in Oracle Open Office Math -Oracle Open Office Math : functions in reports -Oracle Open Office Math : functions in reports;editing -Oracle Open Office Math : functions operators -Oracle Open Office Math : functions operators;list of -Oracle Open Office Math : Gallery -Oracle Open Office Math : Gallery;adding pictures -Oracle Open Office Math : Gallery;dragging pictures to draw objects -Oracle Open Office Math : Gallery;hiding/showing -Oracle Open Office Math : Gallery;inserting pictures from -Oracle Open Office Math : gaps in formulas -Oracle Open Office Math : get method for form transmissions -Oracle Open Office Math : getting support -Oracle Open Office Math : GIF format -Oracle Open Office Math : glossaries -Oracle Open Office Math : glossaries;common terms -Oracle Open Office Math : glossaries;Internet terms -Oracle Open Office Math : gradients off for faster printing -Oracle Open Office Math : graphic objects, see draw objects -Oracle Open Office Math : graphical text art -Oracle Open Office Math : graphics -Oracle Open Office Math : graphics;cache -Oracle Open Office Math : graphics;protecting -Oracle Open Office Math : graphics, see also pictures -Oracle Open Office Math : grayscale printing -Oracle Open Office Math : greater than or equal to signs -Oracle Open Office Math : greater than relations -Oracle Open Office Math : Greek symbols in formulas -Oracle Open Office Math : grid controls -Oracle Open Office Math : grid controls;form functions -Oracle Open Office Math : grids -Oracle Open Office Math : grids;defaults (Writer/Calc) -Oracle Open Office Math : grids;display options (Impress/Draw) -Oracle Open Office Math : grids;displaying lines (Calc) -Oracle Open Office Math : group box creation -Oracle Open Office Math : grouping and brackets in Oracle Open Office Math -Oracle Open Office Math : grouping brackets -Oracle Open Office Math : groups -Oracle Open Office Math : groups;entering/exiting/ungrouping -Oracle Open Office Math : groups;naming -Oracle Open Office Math : groups;of controls -Oracle Open Office Math : guides -Oracle Open Office Math : guides;display options (Impress/Draw) -Oracle Open Office Math : guides;displaying when moving objects (Impress) -Oracle Open Office Math : guides;showing (Calc) -Oracle Open Office Math : guides;showing when moving frames (Writer) -Oracle Open Office Math : gutter -Oracle Open Office Math : h-bar symbol -Oracle Open Office Math : handles -Oracle Open Office Math : handles;displaying (Writer) -Oracle Open Office Math : handles;scaling -Oracle Open Office Math : handles;showing simple/large handles (Calc) -Oracle Open Office Math : Hangul/Hanja -Oracle Open Office Math : hatching -Oracle Open Office Math : headers -Oracle Open Office Math : headers;backgrounds -Oracle Open Office Math : headings -Oracle Open Office Math : headings;entering as text box -Oracle Open Office Math : Hebrew -Oracle Open Office Math : Hebrew;entering text -Oracle Open Office Math : Hebrew;language settings -Oracle Open Office Math : Help -Oracle Open Office Math : Help;bookmarks -Oracle Open Office Math : Help;extended tips on/off -Oracle Open Office Math : Help;full-text search -Oracle Open Office Math : Help;Help tips -Oracle Open Office Math : Help;keywords -Oracle Open Office Math : Help;navigation pane showing/hiding -Oracle Open Office Math : Help;style sheets -Oracle Open Office Math : Help;topics -Oracle Open Office Math : Help Agent -Oracle Open Office Math : Help Agent;help -Oracle Open Office Math : Help Agent;options -Oracle Open Office Math : Help tips -Oracle Open Office Math : Help tips;hiding -Oracle Open Office Math : hidden controls in Form Navigator -Oracle Open Office Math : hidden fields display (Writer) -Oracle Open Office Math : hidden pages -Oracle Open Office Math : hidden pages;printing in presentations -Oracle Open Office Math : hidden text -Oracle Open Office Math : hidden text;showing (Writer) -Oracle Open Office Math : hiding -Oracle Open Office Math : hiding;changes -Oracle Open Office Math : hiding;docked windows -Oracle Open Office Math : hiding;navigation pane in Help window -Oracle Open Office Math : high contrast mode -Oracle Open Office Math : Hindi -Oracle Open Office Math : Hindi;entering text -Oracle Open Office Math : Hindi;language settings -Oracle Open Office Math : horizontal scrollbars (Writer) -Oracle Open Office Math : hotspots -Oracle Open Office Math : HTML -Oracle Open Office Math : HTML;definition -Oracle Open Office Math : HTML;export character set -Oracle Open Office Math : HTML;fonts for source display -Oracle Open Office Math : HTML;importing META tags -Oracle Open Office Math : HTML;live presentations -Oracle Open Office Math : HTML documents -Oracle Open Office Math : HTML documents;auto reloading -Oracle Open Office Math : HTML documents;importing/exporting -Oracle Open Office Math : HTML documents;META tags in -Oracle Open Office Math : HTML documents;new -Oracle Open Office Math : HTML documents;source text -Oracle Open Office Math : hyperbolic cosine function -Oracle Open Office Math : hyperbolic cotangent function -Oracle Open Office Math : hyperbolic sine function -Oracle Open Office Math : hyperbolic tangent function -Oracle Open Office Math : hyperlinks -Oracle Open Office Math : hyperlinks;assigning macros -Oracle Open Office Math : hyperlinks;character formats -Oracle Open Office Math : hyperlinks;definition -Oracle Open Office Math : hyperlinks;deleting -Oracle Open Office Math : hyperlinks;editing -Oracle Open Office Math : hyperlinks;inserting -Oracle Open Office Math : hyperlinks;relative and absolute -Oracle Open Office Math : hyperlinks;turning off automatic recognition -Oracle Open Office Math : hyperlinks, see also links -Oracle Open Office Math : hyphenation -Oracle Open Office Math : hyphenation;activating for a language -Oracle Open Office Math : hyphenation;minimal number of characters -Oracle Open Office Math : hyphens -Oracle Open Office Math : hyphens;displaying custom (Writer) -Oracle Open Office Math : hyphens;inserting custom -Oracle Open Office Math : icon bars, see toolbars -Oracle Open Office Math : icon sizes -Oracle Open Office Math : identical to relation -Oracle Open Office Math : ignore list for spellcheck -Oracle Open Office Math : illustrations, see pictures -Oracle Open Office Math : image button creation -Oracle Open Office Math : image control creation -Oracle Open Office Math : image of relation -Oracle Open Office Math : ImageMap -Oracle Open Office Math : ImageMap;definition -Oracle Open Office Math : ImageMap;editor -Oracle Open Office Math : images -Oracle Open Office Math : images;ImageMap -Oracle Open Office Math : images;inserting and editing bitmaps -Oracle Open Office Math : images, see also pictures -Oracle Open Office Math : imaginary part of a complex number -Oracle Open Office Math : IME -Oracle Open Office Math : IME;definition -Oracle Open Office Math : IME;showing/hiding -Oracle Open Office Math : import filters -Oracle Open Office Math : import restrictions for Microsoft Office -Oracle Open Office Math : importing -Oracle Open Office Math : importing;bitmaps -Oracle Open Office Math : importing;compatibility settings for text import -Oracle Open Office Math : importing;databases -Oracle Open Office Math : importing;documents in other formats -Oracle Open Office Math : importing;from XML -Oracle Open Office Math : importing;HTML and text documents -Oracle Open Office Math : importing;HTML with META tags -Oracle Open Office Math : importing;Microsoft Office documents with VBA code -Oracle Open Office Math : importing;Oracle Open Office Math formulas -Oracle Open Office Math : importing;tables in text format -Oracle Open Office Math : importing;templates -Oracle Open Office Math : improvement program -Oracle Open Office Math : inches -Oracle Open Office Math : included in set operator -Oracle Open Office Math : includes set operator -Oracle Open Office Math : Index tab in Help -Oracle Open Office Math : indexes -Oracle Open Office Math : indexes;adding to formulas -Oracle Open Office Math : indexes;backgrounds -Oracle Open Office Math : indexes;showing/hiding Help index tab -Oracle Open Office Math : indexes and exponents in Oracle Open Office Math -Oracle Open Office Math : indicator lines in text -Oracle Open Office Math : inequation -Oracle Open Office Math : infinity symbol -Oracle Open Office Math : inner joins (Base) -Oracle Open Office Math : input method window -Oracle Open Office Math : insert mode for entering text -Oracle Open Office Math : inserting -Oracle Open Office Math : inserting;brackets -Oracle Open Office Math : inserting;buttons in toolbars -Oracle Open Office Math : inserting;cell ranges from spreadsheets -Oracle Open Office Math : inserting;charts -Oracle Open Office Math : inserting;clipboard options -Oracle Open Office Math : inserting;comments -Oracle Open Office Math : inserting;comments in Oracle Open Office Math -Oracle Open Office Math : inserting;data from text documents -Oracle Open Office Math : inserting;datasource records in spreadsheets -Oracle Open Office Math : inserting;drawings -Oracle Open Office Math : inserting;floating frames -Oracle Open Office Math : inserting;Fontwork objects -Oracle Open Office Math : inserting;form fields -Oracle Open Office Math : inserting;gaps -Oracle Open Office Math : inserting;hyperlinks -Oracle Open Office Math : inserting;line breaks in cells -Oracle Open Office Math : inserting;movies/sounds -Oracle Open Office Math : inserting;new text tables defaults -Oracle Open Office Math : inserting;objects from Gallery -Oracle Open Office Math : inserting;OLE objects -Oracle Open Office Math : inserting;paragraph borders -Oracle Open Office Math : inserting;paragraph bullets -Oracle Open Office Math : inserting;pictures in Gallery -Oracle Open Office Math : inserting;plug-ins -Oracle Open Office Math : inserting;push buttons -Oracle Open Office Math : inserting;special characters -Oracle Open Office Math : inserting;tab stops -Oracle Open Office Math : inserting;text in Oracle Open Office Math -Oracle Open Office Math : inserting;textures on chart bars -Oracle Open Office Math : installing -Oracle Open Office Math : installing;ActiveX control -Oracle Open Office Math : installing;mobile device filters -Oracle Open Office Math : installing;UNO components -Oracle Open Office Math : installing;XML filters -Oracle Open Office Math : instructions -Oracle Open Office Math : instructions;general -Oracle Open Office Math : instructions;Oracle Open Office Math -Oracle Open Office Math : integral limits -Oracle Open Office Math : integrals -Oracle Open Office Math : integrals;example -Oracle Open Office Math : integrals;signs -Oracle Open Office Math : Internet -Oracle Open Office Math : Internet;checking for updates -Oracle Open Office Math : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Math : Internet;presentations -Oracle Open Office Math : Internet;starting searches -Oracle Open Office Math : Internet glossary -Oracle Open Office Math : intersection of sets -Oracle Open Office Math : invert filter -Oracle Open Office Math : invisible areas -Oracle Open Office Math : italic attribute in Oracle Open Office Math -Oracle Open Office Math : italic text -Oracle Open Office Math : iterative references in spreadsheets -Oracle Open Office Math : Java -Oracle Open Office Math : Java;definition -Oracle Open Office Math : Java;setting options -Oracle Open Office Math : JDBC -Oracle Open Office Math : JDBC;databases (Base) -Oracle Open Office Math : JDBC;definition -Oracle Open Office Math : joining -Oracle Open Office Math : joining;paragraphs -Oracle Open Office Math : joining;tables (Base) -Oracle Open Office Math : joins in databases (Base) -Oracle Open Office Math : justifying text -Oracle Open Office Math : kerning -Oracle Open Office Math : kerning;Asian texts -Oracle Open Office Math : kerning;definition -Oracle Open Office Math : kerning;in characters -Oracle Open Office Math : key fields for relations (Base) -Oracle Open Office Math : keyboard -Oracle Open Office Math : keyboard;assigning/editing shortcut keys -Oracle Open Office Math : keyboard;general commands -Oracle Open Office Math : keyboard;removing numbering -Oracle Open Office Math : keys -Oracle Open Office Math : keys;adding push buttons -Oracle Open Office Math : keys;primary keys (Base) -Oracle Open Office Math : kiosk export -Oracle Open Office Math : labels -Oracle Open Office Math : labels;creating and synchronizing -Oracle Open Office Math : labels;for draw objects -Oracle Open Office Math : labels;form functions -Oracle Open Office Math : labels;from databases -Oracle Open Office Math : labels, see also names/callouts -Oracle Open Office Math : lambda-bar symbol -Oracle Open Office Math : languages -Oracle Open Office Math : languages;activating modules -Oracle Open Office Math : languages;Asian support -Oracle Open Office Math : languages;complex text layout -Oracle Open Office Math : languages;locale settings -Oracle Open Office Math : languages;selecting for text -Oracle Open Office Math : languages;setting options -Oracle Open Office Math : languages;spellcheck -Oracle Open Office Math : languages;spellchecking and formatting -Oracle Open Office Math : large handles (Writer) -Oracle Open Office Math : large icons -Oracle Open Office Math : layer arrangement -Oracle Open Office Math : layout -Oracle Open Office Math : layout;importing Word documents -Oracle Open Office Math : layout;pages -Oracle Open Office Math : LDAP server -Oracle Open Office Math : LDAP server;address books (Base) -Oracle Open Office Math : LDAP server;sign on options -Oracle Open Office Math : leading between paragraphs -Oracle Open Office Math : left alignment of paragraphs -Oracle Open Office Math : left arrow symbol -Oracle Open Office Math : left joins (Base) -Oracle Open Office Math : left-justified alignment (Math) -Oracle Open Office Math : legends -Oracle Open Office Math : legends;charts -Oracle Open Office Math : legends;draw objects -Oracle Open Office Math : legends;rounding corners -Oracle Open Office Math : less than or equal to signs -Oracle Open Office Math : less than relations -Oracle Open Office Math : Letter Wizard -Oracle Open Office Math : levels -Oracle Open Office Math : levels;depth stagger -Oracle Open Office Math : levels;macro security -Oracle Open Office Math : limits -Oracle Open Office Math : limits;in Oracle Open Office Math -Oracle Open Office Math : limits;in sums/integrals -Oracle Open Office Math : limits of tables (Writer) -Oracle Open Office Math : line above attribute -Oracle Open Office Math : line breaks -Oracle Open Office Math : line breaks;in cells -Oracle Open Office Math : line breaks;in formulas -Oracle Open Office Math : line spacing -Oracle Open Office Math : line spacing;context menu in paragraphs -Oracle Open Office Math : line spacing;paragraph -Oracle Open Office Math : line styles -Oracle Open Office Math : line styles;applying -Oracle Open Office Math : line styles;defining -Oracle Open Office Math : line through attribute -Oracle Open Office Math : lines -Oracle Open Office Math : lines;defining ends -Oracle Open Office Math : lines;draw functions -Oracle Open Office Math : lines;drawing in text -Oracle Open Office Math : lines;editing points -Oracle Open Office Math : lines;inserting in formulas -Oracle Open Office Math : lines;removing automatic lines -Oracle Open Office Math : lines;scalable -Oracle Open Office Math : lines;with edges -Oracle Open Office Math : lines of text -Oracle Open Office Math : lines of text;alignment -Oracle Open Office Math : links -Oracle Open Office Math : links;between cells and controls -Oracle Open Office Math : links;by drag and drop -Oracle Open Office Math : links;character formats -Oracle Open Office Math : links;definition -Oracle Open Office Math : links;editing hyperlinks -Oracle Open Office Math : links;inserting -Oracle Open Office Math : links;modifying -Oracle Open Office Math : links;opening files with -Oracle Open Office Math : links;relational databases (Base) -Oracle Open Office Math : links;turning off automatic recognition -Oracle Open Office Math : links;updating options (Writer) -Oracle Open Office Math : links;updating specific links -Oracle Open Office Math : list box creation -Oracle Open Office Math : lists -Oracle Open Office Math : lists;data assigned to controls -Oracle Open Office Math : lists;registered databases (Base) -Oracle Open Office Math : lists;regular expressions -Oracle Open Office Math : live presentations on the Internet -Oracle Open Office Math : loading -Oracle Open Office Math : loading;documents -Oracle Open Office Math : loading;documents from other formats -Oracle Open Office Math : loading;HTML documents, automatically -Oracle Open Office Math : loading;Microsoft Office documents with VBA code -Oracle Open Office Math : loading;reloading -Oracle Open Office Math : loading;XML files -Oracle Open Office Math : locale settings -Oracle Open Office Math : logarithms -Oracle Open Office Math : logic symbols -Oracle Open Office Math : logical operators -Oracle Open Office Math : lower limits -Oracle Open Office Math : lowercase letters -Oracle Open Office Math : lowercase letters;font effects -Oracle Open Office Math : Macro Wizard (Base) -Oracle Open Office Math : macros -Oracle Open Office Math : macros;assigning to events in forms -Oracle Open Office Math : macros;attaching new (Base) -Oracle Open Office Math : macros;in MS Office documents -Oracle Open Office Math : macros;interrupting -Oracle Open Office Math : macros;organizing -Oracle Open Office Math : macros;recording -Oracle Open Office Math : macros;security -Oracle Open Office Math : macros;security levels -Oracle Open Office Math : macros;security warning dialog -Oracle Open Office Math : macros;selecting security warnings -Oracle Open Office Math : magnifiers -Oracle Open Office Math : margins -Oracle Open Office Math : margins;pages -Oracle Open Office Math : margins;setting with the mouse -Oracle Open Office Math : margins;shadows -Oracle Open Office Math : markers -Oracle Open Office Math : markers;definition -Oracle Open Office Math : markers;next -Oracle Open Office Math : markers;previous -Oracle Open Office Math : marking changes -Oracle Open Office Math : marking, see selecting -Oracle Open Office Math : Math formula editor -Oracle Open Office Math : mathematical symbols -Oracle Open Office Math : mathematical symbols;catalog -Oracle Open Office Math : mathematical symbols;other -Oracle Open Office Math : matrices -Oracle Open Office Math : matrices;arranging -Oracle Open Office Math : maximum formula size -Oracle Open Office Math : measurement units -Oracle Open Office Math : measurement units;changing on rulers -Oracle Open Office Math : measurement units;converting -Oracle Open Office Math : measurement units;selecting -Oracle Open Office Math : Media Player window -Oracle Open Office Math : menus -Oracle Open Office Math : menus;activating context menus -Oracle Open Office Math : menus;assigning macros -Oracle Open Office Math : menus;customizing -Oracle Open Office Math : merging -Oracle Open Office Math : merging;documents -Oracle Open Office Math : merging;formula parts -Oracle Open Office Math : META tags -Oracle Open Office Math : metrics -Oracle Open Office Math : metrics;converting -Oracle Open Office Math : metrics;document formatting (Writer) -Oracle Open Office Math : metrics;in sheets -Oracle Open Office Math : Microsoft Office -Oracle Open Office Math : Microsoft Office;Access databases (base) -Oracle Open Office Math : Microsoft Office;as default file format -Oracle Open Office Math : Microsoft Office;document import restrictions -Oracle Open Office Math : Microsoft Office;feature comparisons -Oracle Open Office Math : Microsoft Office;importing password protected files -Oracle Open Office Math : Microsoft Office;importing Word documents -Oracle Open Office Math : Microsoft Office;importing/exporting VBA code -Oracle Open Office Math : Microsoft Office;new users information -Oracle Open Office Math : Microsoft Office;opening Microsoft documents -Oracle Open Office Math : Microsoft Office;reassigning document types -Oracle Open Office Math : migrating macros (Base) -Oracle Open Office Math : minus signs -Oracle Open Office Math : minus/plus signs -Oracle Open Office Math : mobile device filters -Oracle Open Office Math : models in XForms -Oracle Open Office Math : modifying, see changing -Oracle Open Office Math : more controls -Oracle Open Office Math : mosaic filter -Oracle Open Office Math : mouse -Oracle Open Office Math : mouse;pointers when using drag and drop -Oracle Open Office Math : mouse;positioning -Oracle Open Office Math : movies -Oracle Open Office Math : moving -Oracle Open Office Math : moving;tab stops on ruler -Oracle Open Office Math : moving;toolbars -Oracle Open Office Math : moving;using guide lines in presentations -Oracle Open Office Math : MS ADO interface (Base) -Oracle Open Office Math : much greater than relation -Oracle Open Office Math : much less than relation -Oracle Open Office Math : multi-line formulas -Oracle Open Office Math : multi-line formulas;aligning -Oracle Open Office Math : multi-line titles in forms -Oracle Open Office Math : multiple documents -Oracle Open Office Math : multiple documents;opening -Oracle Open Office Math : multiple selection -Oracle Open Office Math : multiplication signs -Oracle Open Office Math : music -Oracle Open Office Math : My Documents folder -Oracle Open Office Math : My Documents folder;changing work directory -Oracle Open Office Math : My Documents folder;opening -Oracle Open Office Math : MySQL databases (Base) -Oracle Open Office Math : Nabla operator -Oracle Open Office Math : names -Oracle Open Office Math : names;multi-line titles -Oracle Open Office Math : names;objects -Oracle Open Office Math : names, see also labels/callouts -Oracle Open Office Math : namespace organization in XForms -Oracle Open Office Math : native SQL (Base) -Oracle Open Office Math : natural exponential functions -Oracle Open Office Math : natural logarithms -Oracle Open Office Math : natural numbers -Oracle Open Office Math : navigating -Oracle Open Office Math : navigating;in documents -Oracle Open Office Math : Navigation bar -Oracle Open Office Math : Navigation bar;controls -Oracle Open Office Math : Navigation bar;forms -Oracle Open Office Math : Navigator -Oracle Open Office Math : Navigator;comments -Oracle Open Office Math : Navigator;contents as lists -Oracle Open Office Math : Navigator;docking -Oracle Open Office Math : Navigator;working with -Oracle Open Office Math : network identity options -Oracle Open Office Math : new databases -Oracle Open Office Math : new documents -Oracle Open Office Math : new lines in cells -Oracle Open Office Math : new symbols in Oracle Open Office Math -Oracle Open Office Math : new windows -Oracle Open Office Math : non-breaking dashes -Oracle Open Office Math : non-breaking spaces (Writer) -Oracle Open Office Math : non-printing characters (Writer) -Oracle Open Office Math : not included in set operator -Oracle Open Office Math : NOT operator -Oracle Open Office Math : not subset set operators -Oracle Open Office Math : not superset set operators -Oracle Open Office Math : number formats -Oracle Open Office Math : number formats;codes -Oracle Open Office Math : number formats;formats -Oracle Open Office Math : number formats;recognition in text tables -Oracle Open Office Math : number of pages -Oracle Open Office Math : number of sheets -Oracle Open Office Math : number of tables -Oracle Open Office Math : numbering -Oracle Open Office Math : numbering;options -Oracle Open Office Math : numbering;turning off -Oracle Open Office Math : numbering;using automatically -Oracle Open Office Math : numbers -Oracle Open Office Math : numbers;date, time and currency formats -Oracle Open Office Math : numbers;decimal places (Calc) -Oracle Open Office Math : numerical fields in forms -Oracle Open Office Math : objects -Oracle Open Office Math : objects;always moveable (Impress/Draw) -Oracle Open Office Math : objects;arranging within stacks -Oracle Open Office Math : objects;copying when moving in presentations -Oracle Open Office Math : objects;definition -Oracle Open Office Math : objects;displaying in spreadsheets -Oracle Open Office Math : objects;displaying in text documents -Oracle Open Office Math : objects;editing -Oracle Open Office Math : objects;inserting from Gallery -Oracle Open Office Math : objects;inserting OLE objects -Oracle Open Office Math : objects;moving and resizing with mouse -Oracle Open Office Math : objects;naming -Oracle Open Office Math : objects;opening -Oracle Open Office Math : objects;quickly moving to -Oracle Open Office Math : objects;titles and descriptions -Oracle Open Office Math : ODBC -Oracle Open Office Math : ODBC;database (Base) -Oracle Open Office Math : ODBC;definition -Oracle Open Office Math : ODF file formats -Oracle Open Office Math : Office -Oracle Open Office Math : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Math : OLE -Oracle Open Office Math : OLE;definition -Oracle Open Office Math : OLE objects -Oracle Open Office Math : OLE objects;arranging within stacks -Oracle Open Office Math : OLE objects;captions (Writer) -Oracle Open Office Math : OLE objects;inserting -Oracle Open Office Math : OLE objects;number of -Oracle Open Office Math : OLE objects;protecting -Oracle Open Office Math : one and a half line spacing in text -Oracle Open Office Math : online feedback options -Oracle Open Office Math : online registration -Oracle Open Office Math : online update options -Oracle Open Office Math : online updates -Oracle Open Office Math : online updates;checking automatically -Oracle Open Office Math : online updates;checking manually -Oracle Open Office Math : Open/Save dialogs -Oracle Open Office Math : OpenDocument file formats -Oracle Open Office Math : OpenGL -Oracle Open Office Math : OpenGL;definition -Oracle Open Office Math : opening -Oracle Open Office Math : opening;context menus -Oracle Open Office Math : opening;database files -Oracle Open Office Math : opening;dialog settings -Oracle Open Office Math : opening;documents -Oracle Open Office Math : opening;documents from other formats -Oracle Open Office Math : opening;documents on WebDAV server -Oracle Open Office Math : opening;files with links -Oracle Open Office Math : opening;files, with placeholders -Oracle Open Office Math : opening;forms -Oracle Open Office Math : opening;Microsoft Office files -Oracle Open Office Math : opening;mobile device documents -Oracle Open Office Math : opening;objects -Oracle Open Office Math : opening;reports -Oracle Open Office Math : opening;several files -Oracle Open Office Math : opening;XForms -Oracle Open Office Math : operator brackets -Oracle Open Office Math : operators -Oracle Open Office Math : operators;default filters -Oracle Open Office Math : operators;general -Oracle Open Office Math : operators;in Math -Oracle Open Office Math : operators;list of -Oracle Open Office Math : operators;unary and binary -Oracle Open Office Math : optional hyphens (Writer) -Oracle Open Office Math : options -Oracle Open Office Math : options;accessibility -Oracle Open Office Math : options;appearance -Oracle Open Office Math : options;compatibility (Writer) -Oracle Open Office Math : options;improvement program -Oracle Open Office Math : options;network identity -Oracle Open Office Math : options;online update -Oracle Open Office Math : options;tools -Oracle Open Office Math : OR operator -Oracle Open Office Math : Oracle databases (base) -Oracle Open Office Math : Oracle Open Office Base data sources -Oracle Open Office Math : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Math : Oracle Open Office documents -Oracle Open Office Math : Oracle Open Office documents;mobile device filters -Oracle Open Office Math : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Math : Oracle Open Office Math -Oracle Open Office Math : Oracle Open Office Math;entering symbols in -Oracle Open Office Math : Oracle Open Office Math;examples -Oracle Open Office Math : Oracle Open Office Math;formatting -Oracle Open Office Math : Oracle Open Office Math;general instructions -Oracle Open Office Math : Oracle Open Office Math;reference list -Oracle Open Office Math : Oracle Open Office Math;relations -Oracle Open Office Math : Oracle Open Office Math start -Oracle Open Office Math : ordering -Oracle Open Office Math : ordering;objects -Oracle Open Office Math : organizing -Oracle Open Office Math : organizing;macros and scripts -Oracle Open Office Math : organizing;namespaces in XForms -Oracle Open Office Math : organizing;styles -Oracle Open Office Math : organizing;templates -Oracle Open Office Math : original by correspondence -Oracle Open Office Math : original size -Oracle Open Office Math : original size;printing in Oracle Open Office Math -Oracle Open Office Math : original size;restoring after cropping -Oracle Open Office Math : orphaned brackets -Oracle Open Office Math : orthogonal relations -Oracle Open Office Math : other operators -Oracle Open Office Math : other operators;list of -Oracle Open Office Math : outlines -Oracle Open Office Math : outlines;font effects -Oracle Open Office Math : outlines;outline symbols -Oracle Open Office Math : outlines;sending to presentations -Oracle Open Office Math : overline attribute -Oracle Open Office Math : overwrite mode -Oracle Open Office Math : owns command -Oracle Open Office Math : packages, see extensions -Oracle Open Office Math : page breaks -Oracle Open Office Math : page breaks;displaying (Calc) -Oracle Open Office Math : page formats -Oracle Open Office Math : page formats;maximizing -Oracle Open Office Math : page formats;restriction -Oracle Open Office Math : page styles -Oracle Open Office Math : page styles;editing/applying with statusbar -Oracle Open Office Math : pages -Oracle Open Office Math : pages;backgrounds in all applications -Oracle Open Office Math : pages;formatting and numbering -Oracle Open Office Math : pages;printing page names in presentations -Oracle Open Office Math : pages;scaling -Oracle Open Office Math : pages;selecting one to print -Oracle Open Office Math : paint box -Oracle Open Office Math : paint can symbol -Oracle Open Office Math : pair kerning -Oracle Open Office Math : Palm file filters -Oracle Open Office Math : paper formats -Oracle Open Office Math : paper size warning -Oracle Open Office Math : paper trays -Oracle Open Office Math : paragraph marks -Oracle Open Office Math : paragraph marks;displaying (Writer) -Oracle Open Office Math : paragraph styles -Oracle Open Office Math : paragraph styles;languages -Oracle Open Office Math : paragraph styles;modifying basic fonts -Oracle Open Office Math : paragraphs -Oracle Open Office Math : paragraphs;alignment -Oracle Open Office Math : paragraphs;Asian typography -Oracle Open Office Math : paragraphs;defining borders -Oracle Open Office Math : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Math : paragraphs;increasing indents of -Oracle Open Office Math : paragraphs;indents, margins and columns -Oracle Open Office Math : paragraphs;inserting bullets -Oracle Open Office Math : paragraphs;joining -Oracle Open Office Math : paragraphs;numbering automatically -Oracle Open Office Math : paragraphs;removing blank ones -Oracle Open Office Math : paragraphs;spacing -Oracle Open Office Math : paragraphs;tab stops -Oracle Open Office Math : parallel relation -Oracle Open Office Math : parameters -Oracle Open Office Math : parameters;command line -Oracle Open Office Math : parameters;queries (Base) -Oracle Open Office Math : parentheses (Math) -Oracle Open Office Math : partial differentiation symbol -Oracle Open Office Math : passwords for protecting contents -Oracle Open Office Math : pasting -Oracle Open Office Math : pasting;cell ranges -Oracle Open Office Math : pasting;cell ranges from spreadsheets -Oracle Open Office Math : pasting;data from text documents -Oracle Open Office Math : pasting;draw objects -Oracle Open Office Math : pasting;draw objects from other documents -Oracle Open Office Math : pasting;formatted/unformatted text -Oracle Open Office Math : pasting;from data source view -Oracle Open Office Math : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Math : pasting;pictures from other documents -Oracle Open Office Math : pasting;sheet areas in text documents -Oracle Open Office Math : pasting;to Gallery -Oracle Open Office Math : paths -Oracle Open Office Math : paths;changing work directory -Oracle Open Office Math : paths;defaults -Oracle Open Office Math : pattern editor -Oracle Open Office Math : pattern fields -Oracle Open Office Math : pattern fields;form functions -Oracle Open Office Math : patterns for objects -Oracle Open Office Math : PDF -Oracle Open Office Math : PDF;export -Oracle Open Office Math : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Math : personal data input -Oracle Open Office Math : phonetic guide -Oracle Open Office Math : picklist creation -Oracle Open Office Math : picture by correspondence -Oracle Open Office Math : pictures -Oracle Open Office Math : pictures;adding to Gallery -Oracle Open Office Math : pictures;arranging within stacks -Oracle Open Office Math : pictures;assigning macros -Oracle Open Office Math : pictures;backgrounds -Oracle Open Office Math : pictures;captions (Writer) -Oracle Open Office Math : pictures;changing paths -Oracle Open Office Math : pictures;cropping and zooming -Oracle Open Office Math : pictures;displaying in Calc -Oracle Open Office Math : pictures;displaying in Writer (Writer) -Oracle Open Office Math : pictures;drag and drop between documents -Oracle Open Office Math : pictures;drawing -Oracle Open Office Math : pictures;editing -Oracle Open Office Math : pictures;filters -Oracle Open Office Math : pictures;ImageMap -Oracle Open Office Math : pictures;inserting automatically -Oracle Open Office Math : pictures;inserting from Gallery -Oracle Open Office Math : pictures;number of -Oracle Open Office Math : pictures;printing -Oracle Open Office Math : pictures;scaling/resizing -Oracle Open Office Math : pixel editor -Oracle Open Office Math : pixel graphics -Oracle Open Office Math : pixel graphics;inserting and editing -Oracle Open Office Math : pixel patterns -Oracle Open Office Math : placeholders -Oracle Open Office Math : placeholders;in SQL queries -Oracle Open Office Math : placeholders;inserting in formulas -Oracle Open Office Math : placeholders;on opening files -Oracle Open Office Math : placeholders;position of next -Oracle Open Office Math : placeholders;previous marker -Oracle Open Office Math : placing toolbars -Oracle Open Office Math : playing movies and sound files -Oracle Open Office Math : plotting data as charts -Oracle Open Office Math : plug-ins -Oracle Open Office Math : plug-ins;activating and deactivating -Oracle Open Office Math : plug-ins;definition -Oracle Open Office Math : plug-ins;inserting -Oracle Open Office Math : plus signs -Oracle Open Office Math : plus/minus signs -Oracle Open Office Math : pocket device appliances -Oracle Open Office Math : Pocket PC file filters -Oracle Open Office Math : points -Oracle Open Office Math : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Math : polygon drawing -Oracle Open Office Math : pop-art filter -Oracle Open Office Math : portable document format -Oracle Open Office Math : positioning -Oracle Open Office Math : positioning;draw objects and controls -Oracle Open Office Math : positioning;fonts -Oracle Open Office Math : positioning;objects -Oracle Open Office Math : positioning;toolbars -Oracle Open Office Math : post method for form transmissions -Oracle Open Office Math : posterizing filter -Oracle Open Office Math : PostScript -Oracle Open Office Math : PostScript;creating files -Oracle Open Office Math : PostScript;PDF converter, UNIX -Oracle Open Office Math : PowerPoint export -Oracle Open Office Math : powers -Oracle Open Office Math : precision as shown (Calc) -Oracle Open Office Math : predefining fonts -Oracle Open Office Math : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Math : presentations -Oracle Open Office Math : presentations;creating/opening -Oracle Open Office Math : presentations;inserting spreadsheet cells -Oracle Open Office Math : presentations;live on the Internet -Oracle Open Office Math : presentations;print menu -Oracle Open Office Math : presentations;saving -Oracle Open Office Math : presentations;saving automatically -Oracle Open Office Math : presentations;saving in other formats -Oracle Open Office Math : presentations;sending as e-mail -Oracle Open Office Math : presentations;starting with wizard -Oracle Open Office Math : presentations;wizards -Oracle Open Office Math : Presenter Console shortcuts -Oracle Open Office Math : press buttons, see push buttons -Oracle Open Office Math : previews -Oracle Open Office Math : previews;fonts lists -Oracle Open Office Math : primary keys -Oracle Open Office Math : primary keys;defining -Oracle Open Office Math : primary keys;design view -Oracle Open Office Math : primary keys;inserting (Base) -Oracle Open Office Math : print area selection -Oracle Open Office Math : printer metrics for document formatting (Writer) -Oracle Open Office Math : printers -Oracle Open Office Math : printers;adding, UNIX -Oracle Open Office Math : printers;choosing -Oracle Open Office Math : printers;default printer -Oracle Open Office Math : printers;faxes under UNIX -Oracle Open Office Math : printers;maximum page formats -Oracle Open Office Math : printers;paper trays -Oracle Open Office Math : printers;properties -Oracle Open Office Math : printing -Oracle Open Office Math : printing;black and white -Oracle Open Office Math : printing;brochures -Oracle Open Office Math : printing;colors in grayscale -Oracle Open Office Math : printing;comments -Oracle Open Office Math : printing;copies -Oracle Open Office Math : printing;creating individual jobs -Oracle Open Office Math : printing;dates in presentations -Oracle Open Office Math : printing;directly -Oracle Open Office Math : printing;documents -Oracle Open Office Math : printing;drawings defaults -Oracle Open Office Math : printing;elements in text documents -Oracle Open Office Math : printing;faster -Oracle Open Office Math : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Math : printing;fitting to pages in presentations -Oracle Open Office Math : printing;formulas in Oracle Open Office Math -Oracle Open Office Math : printing;hidden pages of presentations -Oracle Open Office Math : printing;in original size in Oracle Open Office Math -Oracle Open Office Math : printing;left/right pages -Oracle Open Office Math : printing;queries (Base) -Oracle Open Office Math : printing;scaling in Oracle Open Office Math -Oracle Open Office Math : printing;selections -Oracle Open Office Math : printing;text always in black -Oracle Open Office Math : printing;text in reverse order -Oracle Open Office Math : printing;tiling pages in presentations -Oracle Open Office Math : printing;transparencies -Oracle Open Office Math : printing;warnings -Oracle Open Office Math : printing;without scaling in presentations -Oracle Open Office Math : printing speed -Oracle Open Office Math : product -Oracle Open Office Math : programming -Oracle Open Office Math : programming;Oracle Open Office -Oracle Open Office Math : programming;scripting -Oracle Open Office Math : properties -Oracle Open Office Math : properties;fields in databases -Oracle Open Office Math : properties;files -Oracle Open Office Math : properties;form controls -Oracle Open Office Math : properties;forms -Oracle Open Office Math : properties;printers -Oracle Open Office Math : proportional to relation -Oracle Open Office Math : protected contents -Oracle Open Office Math : protected dashes -Oracle Open Office Math : protected database tables -Oracle Open Office Math : protected documents -Oracle Open Office Math : protected spaces -Oracle Open Office Math : protected spaces;inserting -Oracle Open Office Math : protected spaces;showing (Writer) -Oracle Open Office Math : protecting -Oracle Open Office Math : protecting;contents -Oracle Open Office Math : protecting;recorded changes -Oracle Open Office Math : proxy settings -Oracle Open Office Math : push buttons -Oracle Open Office Math : push buttons;adding to documents -Oracle Open Office Math : push buttons;creating -Oracle Open Office Math : queries -Oracle Open Office Math : queries;copying (Base) -Oracle Open Office Math : queries;creating in design view (Base) -Oracle Open Office Math : queries;creating in SQL view -Oracle Open Office Math : queries;defining (Base) -Oracle Open Office Math : queries;deleting table links (Base) -Oracle Open Office Math : queries;editing in data source view -Oracle Open Office Math : queries;formulating filter conditions (Base) -Oracle Open Office Math : queries;joining tables (Base) -Oracle Open Office Math : queries;missing elements (Base) -Oracle Open Office Math : queries;overview (Base) -Oracle Open Office Math : queries;parameter queries (Base) -Oracle Open Office Math : queries;printing (Base) -Oracle Open Office Math : Query Wizard (Base) -Oracle Open Office Math : Quickstarter -Oracle Open Office Math : quotation marks -Oracle Open Office Math : quotation marks;replacing -Oracle Open Office Math : quotes -Oracle Open Office Math : quotes;custom -Oracle Open Office Math : quotient set -Oracle Open Office Math : radio button creation -Oracle Open Office Math : range of integral example -Oracle Open Office Math : rational numbers -Oracle Open Office Math : read-only documents -Oracle Open Office Math : read-only documents;cursor -Oracle Open Office Math : read-only documents;database tables on/off -Oracle Open Office Math : read-only documents;editing -Oracle Open Office Math : read-only documents;opening documents as -Oracle Open Office Math : read-only items in Data Navigator -Oracle Open Office Math : real numbers -Oracle Open Office Math : real part of complex numbers -Oracle Open Office Math : recognizing URLs automatically -Oracle Open Office Math : recording -Oracle Open Office Math : recording;changes -Oracle Open Office Math : recording;macros -Oracle Open Office Math : records -Oracle Open Office Math : records;inserting comments -Oracle Open Office Math : records;protecting -Oracle Open Office Math : records;saving -Oracle Open Office Math : records;searching in databases -Oracle Open Office Math : rectangles with round corners -Oracle Open Office Math : recursions in spreadsheets -Oracle Open Office Math : redo command -Oracle Open Office Math : reduced printing -Oracle Open Office Math : reference lines -Oracle Open Office Math : reference tables -Oracle Open Office Math : reference tables;formulas -Oracle Open Office Math : references -Oracle Open Office Math : references;displaying in color (Calc) -Oracle Open Office Math : references;expanding (Calc) -Oracle Open Office Math : references;iterative (Calc) -Oracle Open Office Math : refreshing formula view -Oracle Open Office Math : register-true -Oracle Open Office Math : register-true;definition -Oracle Open Office Math : registering -Oracle Open Office Math : registering;address books -Oracle Open Office Math : registering;databases (Base) -Oracle Open Office Math : registering;Oracle Open Office -Oracle Open Office Math : regular expressions -Oracle Open Office Math : regular expressions;list of -Oracle Open Office Math : regular expressions;opening files -Oracle Open Office Math : relational databases (Base) -Oracle Open Office Math : relations -Oracle Open Office Math : relations;creating and deleting (Base) -Oracle Open Office Math : relations;in Oracle Open Office Math -Oracle Open Office Math : relations;joining tables (Base) -Oracle Open Office Math : relations;properties (Base) -Oracle Open Office Math : relations operators -Oracle Open Office Math : relations operators;list of -Oracle Open Office Math : relative hyperlinks -Oracle Open Office Math : relative saving of URLs -Oracle Open Office Math : reloading -Oracle Open Office Math : reloading;documents -Oracle Open Office Math : reloading;HTML documents, automatically -Oracle Open Office Math : remarks, see also comments -Oracle Open Office Math : remote configurations -Oracle Open Office Math : remove noise filter -Oracle Open Office Math : removing -Oracle Open Office Math : removing;bullets and numbering -Oracle Open Office Math : removing;form filters -Oracle Open Office Math : removing, see also deleting -Oracle Open Office Math : repeating -Oracle Open Office Math : repeating;commands -Oracle Open Office Math : replacement options -Oracle Open Office Math : replacement table -Oracle Open Office Math : replacing -Oracle Open Office Math : replacing;AutoCorrect function -Oracle Open Office Math : replacing;dashes -Oracle Open Office Math : replacing;tab stops (regular expressions) -Oracle Open Office Math : Report Builder -Oracle Open Office Math : reports -Oracle Open Office Math : reports;creating -Oracle Open Office Math : reports;error reports -Oracle Open Office Math : reports;opening and editing -Oracle Open Office Math : reports;templates -Oracle Open Office Math : resetting -Oracle Open Office Math : resetting;templates -Oracle Open Office Math : resizing -Oracle Open Office Math : resizing;fonts -Oracle Open Office Math : resizing;objects, by mouse -Oracle Open Office Math : resizing, see also scaling/zooming -Oracle Open Office Math : resolution when printing bitmaps -Oracle Open Office Math : restoring -Oracle Open Office Math : restoring;default formatting -Oracle Open Office Math : restoring;editing -Oracle Open Office Math : reversed circumflex attribute -Oracle Open Office Math : reversing printing order -Oracle Open Office Math : review function -Oracle Open Office Math : review function;accepting or rejecting changes -Oracle Open Office Math : review function;comparing documents -Oracle Open Office Math : review function;protecting records -Oracle Open Office Math : review function;recording changes example -Oracle Open Office Math : rich text control -Oracle Open Office Math : right alignment of paragraphs -Oracle Open Office Math : right angled relations -Oracle Open Office Math : right arrow symbol -Oracle Open Office Math : right joins (Base) -Oracle Open Office Math : right-justified alignment in Oracle Open Office Math -Oracle Open Office Math : right-to-left text -Oracle Open Office Math : roots -Oracle Open Office Math : rotating -Oracle Open Office Math : rotating;3D text -Oracle Open Office Math : round brackets -Oracle Open Office Math : round corners -Oracle Open Office Math : rounding precision (Calc) -Oracle Open Office Math : row headers -Oracle Open Office Math : row headers;displaying (Calc) -Oracle Open Office Math : row headers;highlighting (Calc) -Oracle Open Office Math : rulers -Oracle Open Office Math : rulers;default settings -Oracle Open Office Math : rulers;measurement units -Oracle Open Office Math : rulers;visible in presentations -Oracle Open Office Math : samples and templates -Oracle Open Office Math : saving -Oracle Open Office Math : saving;default file formats -Oracle Open Office Math : saving;dialog settings -Oracle Open Office Math : saving;documents -Oracle Open Office Math : saving;documents for mobile devices -Oracle Open Office Math : saving;documents in other formats -Oracle Open Office Math : saving;documents, automatically -Oracle Open Office Math : saving;in Microsoft Office file format -Oracle Open Office Math : saving;options -Oracle Open Office Math : saving;templates -Oracle Open Office Math : saving;to XML -Oracle Open Office Math : saving;VBA code in Microsoft Office documents -Oracle Open Office Math : saving;with password by default -Oracle Open Office Math : saving as command -Oracle Open Office Math : saving as command;precautions -Oracle Open Office Math : scalable braces -Oracle Open Office Math : scalable lines with ceiling -Oracle Open Office Math : scalable round brackets -Oracle Open Office Math : scaling -Oracle Open Office Math : scaling;font sizes in user interface -Oracle Open Office Math : scaling;fonts -Oracle Open Office Math : scaling;in Oracle Open Office Math -Oracle Open Office Math : scaling;objects -Oracle Open Office Math : scaling;pictures -Oracle Open Office Math : scaling;printing in Oracle Open Office Math -Oracle Open Office Math : scaling;when printing presentations -Oracle Open Office Math : scaling, see also zooming -Oracle Open Office Math : screen -Oracle Open Office Math : screen;full screen views -Oracle Open Office Math : screen;scaling -Oracle Open Office Math : screen magnifiers -Oracle Open Office Math : screen readers -Oracle Open Office Math : script organization -Oracle Open Office Math : scrollbars -Oracle Open Office Math : scrollbars;controls -Oracle Open Office Math : scrollbars;displaying (Calc) -Oracle Open Office Math : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Math : search criteria for database functions in cells -Oracle Open Office Math : search engines -Oracle Open Office Math : search engines;definition -Oracle Open Office Math : search engines;selecting -Oracle Open Office Math : searching -Oracle Open Office Math : searching;all sheets -Oracle Open Office Math : searching;databases -Oracle Open Office Math : searching;form filters -Oracle Open Office Math : searching;Internet -Oracle Open Office Math : searching;tables and forms -Oracle Open Office Math : sections -Oracle Open Office Math : sections;backgrounds -Oracle Open Office Math : security -Oracle Open Office Math : security;digital signatures -Oracle Open Office Math : security;options for documents with macros -Oracle Open Office Math : security;protecting contents -Oracle Open Office Math : security;security levels for macros -Oracle Open Office Math : security;warning dialogs with macros -Oracle Open Office Math : selecting -Oracle Open Office Math : selecting;controls -Oracle Open Office Math : selecting;measurement units -Oracle Open Office Math : selecting;objects -Oracle Open Office Math : selecting;print areas -Oracle Open Office Math : selecting;several files -Oracle Open Office Math : selection clipboard -Oracle Open Office Math : selection frames -Oracle Open Office Math : selection modes in text -Oracle Open Office Math : selection options in formulas -Oracle Open Office Math : sending -Oracle Open Office Math : sending;AutoAbstract function in presentations -Oracle Open Office Math : sending;documents as e-mail -Oracle Open Office Math : sending;documents as faxes -Oracle Open Office Math : separator lines -Oracle Open Office Math : separator lines;defining -Oracle Open Office Math : separators -Oracle Open Office Math : separators;conditional -Oracle Open Office Math : Server Side ImageMap -Oracle Open Office Math : set operations in Oracle Open OfficeMath -Oracle Open Office Math : set operators -Oracle Open Office Math : set operators;list of -Oracle Open Office Math : sets of numbers -Oracle Open Office Math : settings -Oracle Open Office Math : settings;printers -Oracle Open Office Math : settings;program configuration -Oracle Open Office Math : settings;proxies -Oracle Open Office Math : settings;tracking changes -Oracle Open Office Math : settings;views -Oracle Open Office Math : SGML -Oracle Open Office Math : SGML;definition -Oracle Open Office Math : shadows -Oracle Open Office Math : shadows;areas -Oracle Open Office Math : shadows;borders -Oracle Open Office Math : shadows;characters -Oracle Open Office Math : shadows;characters, using context menu -Oracle Open Office Math : sharing documents -Oracle Open Office Math : sharpening filter -Oracle Open Office Math : sheet tabs -Oracle Open Office Math : sheet tabs;displaying -Oracle Open Office Math : sheets -Oracle Open Office Math : sheets;searching all -Oracle Open Office Math : shortcut keys -Oracle Open Office Math : shortcut keys;assigning macros -Oracle Open Office Math : shortcut keys;general -Oracle Open Office Math : shortcut keys;in databases -Oracle Open Office Math : shortcut keys;in formulas -Oracle Open Office Math : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Math : showing -Oracle Open Office Math : showing;changes -Oracle Open Office Math : showing;docked windows -Oracle Open Office Math : showing;drawings and controls (Writer) -Oracle Open Office Math : showing;live presentations on the Internet -Oracle Open Office Math : showing;toolbars -Oracle Open Office Math : signing documents with digital signatures -Oracle Open Office Math : similar to relations -Oracle Open Office Math : similarity search -Oracle Open Office Math : simple handles (Writer) -Oracle Open Office Math : simplified Chinese -Oracle Open Office Math : simplified Chinese;translating to traditional Chinese -Oracle Open Office Math : sine function -Oracle Open Office Math : single brackets without group function -Oracle Open Office Math : single sign on options -Oracle Open Office Math : single-line spacing in text -Oracle Open Office Math : sizes -Oracle Open Office Math : sizes;draw objects -Oracle Open Office Math : sizes;of fonts in Oracle Open Office Math -Oracle Open Office Math : sizes;pictures -Oracle Open Office Math : slanting draw objects -Oracle Open Office Math : slash division sign -Oracle Open Office Math : small capitals -Oracle Open Office Math : small gaps -Oracle Open Office Math : small icons -Oracle Open Office Math : smart tag configuration -Oracle Open Office Math : smooth scrolling (Writer) -Oracle Open Office Math : smoothing filter -Oracle Open Office Math : snap grid defaults (Writer/Calc) -Oracle Open Office Math : snapping in presentations and drawings -Oracle Open Office Math : solarization filter -Oracle Open Office Math : sort lists -Oracle Open Office Math : sort lists;copying to in Calc -Oracle Open Office Math : sorting -Oracle Open Office Math : sorting;data in forms -Oracle Open Office Math : sorting;databases -Oracle Open Office Math : sound files -Oracle Open Office Math : spaces -Oracle Open Office Math : spaces;displaying (Writer) -Oracle Open Office Math : spaces;ignoring double -Oracle Open Office Math : spaces;inserting protected spaces -Oracle Open Office Math : spaces;showing protected spaces (Writer) -Oracle Open Office Math : spaces in formulas -Oracle Open Office Math : spacing -Oracle Open Office Math : spacing;between paragraphs in footnotes -Oracle Open Office Math : spacing;font effects -Oracle Open Office Math : spacing;formula elements -Oracle Open Office Math : spacing;lines and paragraphs -Oracle Open Office Math : spacing;tab stops in text documents -Oracle Open Office Math : spacing;tabs in presentations -Oracle Open Office Math : spadmin -Oracle Open Office Math : special characters -Oracle Open Office Math : speech bubbles -Oracle Open Office Math : speed of printing -Oracle Open Office Math : spellcheck -Oracle Open Office Math : spellcheck;activating for a language -Oracle Open Office Math : spellcheck;context menus -Oracle Open Office Math : spellcheck;default languages -Oracle Open Office Math : spellcheck;dialog -Oracle Open Office Math : spellcheck;dictionary of exceptions -Oracle Open Office Math : spellcheck;ignore list -Oracle Open Office Math : spin button creation -Oracle Open Office Math : spoolfiles with Xprinter -Oracle Open Office Math : spreadsheets -Oracle Open Office Math : spreadsheets;as databases (base) -Oracle Open Office Math : spreadsheets;copying areas to text documents -Oracle Open Office Math : spreadsheets;creating/opening -Oracle Open Office Math : spreadsheets;inserting charts -Oracle Open Office Math : spreadsheets;inserting database records -Oracle Open Office Math : spreadsheets;printing -Oracle Open Office Math : spreadsheets;saving -Oracle Open Office Math : spreadsheets;saving automatically -Oracle Open Office Math : spreadsheets;saving in other formats -Oracle Open Office Math : spreadsheets;sending as e-mail -Oracle Open Office Math : SQL -Oracle Open Office Math : SQL;definition -Oracle Open Office Math : SQL;DISTINCT parameter -Oracle Open Office Math : SQL;executing SQL commands -Oracle Open Office Math : SQL;executing SQL statements (Base) -Oracle Open Office Math : SQL;queries (Base) -Oracle Open Office Math : square brackets -Oracle Open Office Math : square drawings -Oracle Open Office Math : square roots -Oracle Open Office Math : stacks -Oracle Open Office Math : standard bar on/off -Oracle Open Office Math : standard filters in databases -Oracle Open Office Math : standard printer under UNIX -Oracle Open Office Math : start center -Oracle Open Office Math : start parameters -Oracle Open Office Math : status bar on/off -Oracle Open Office Math : stickers -Oracle Open Office Math : strikethrough -Oracle Open Office Math : strikethrough;characters -Oracle Open Office Math : strikethrough;font effects -Oracle Open Office Math : styles -Oracle Open Office Math : styles;'changed' message -Oracle Open Office Math : styles;copying between documents -Oracle Open Office Math : styles;keyboard shortcuts -Oracle Open Office Math : styles;organizing -Oracle Open Office Math : styles;printing styles used in a document -Oracle Open Office Math : styles;replacing automatically -Oracle Open Office Math : Styles and Formatting window -Oracle Open Office Math : Styles and Formatting window;docking -Oracle Open Office Math : subforms -Oracle Open Office Math : subforms;creating -Oracle Open Office Math : subforms;description -Oracle Open Office Math : submitting forms -Oracle Open Office Math : subscripts -Oracle Open Office Math : subset set operators -Oracle Open Office Math : subtraction signs -Oracle Open Office Math : suffixes in file formats -Oracle Open Office Math : sum range example -Oracle Open Office Math : summation -Oracle Open Office Math : superscripts -Oracle Open Office Math : superset set operators -Oracle Open Office Math : support on the Web -Oracle Open Office Math : symbols -Oracle Open Office Math : symbols;adding in Oracle Open Office Math -Oracle Open Office Math : symbols;entering in Oracle Open Office Math -Oracle Open Office Math : symbols;for complex numbers -Oracle Open Office Math : synchronizing -Oracle Open Office Math : synchronizing;labels and business cards -Oracle Open Office Math : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Math : system address book registration -Oracle Open Office Math : tab stops -Oracle Open Office Math : tab stops;displaying (Writer) -Oracle Open Office Math : tab stops;inserting and editing -Oracle Open Office Math : tab stops;regular expressions -Oracle Open Office Math : tab stops;setting in sheets -Oracle Open Office Math : tab stops;settings -Oracle Open Office Math : tab stops;spacing in presentations -Oracle Open Office Math : tab stops;spacing in text documents -Oracle Open Office Math : table controls -Oracle Open Office Math : table controls;form functions -Oracle Open Office Math : table controls;keyboard-only edit mode -Oracle Open Office Math : table controls;properties -Oracle Open Office Math : table views of databases -Oracle Open Office Math : Table Wizard (Base) -Oracle Open Office Math : tables -Oracle Open Office Math : tables;inserting line breaks -Oracle Open Office Math : tables in databases -Oracle Open Office Math : tables in databases;access rights to (Base) -Oracle Open Office Math : tables in databases;adding to queries -Oracle Open Office Math : tables in databases;browsing and editing -Oracle Open Office Math : tables in databases;copying database tables (Base) -Oracle Open Office Math : tables in databases;creating -Oracle Open Office Math : tables in databases;creating in design view (manually) -Oracle Open Office Math : tables in databases;importing text formats (Base) -Oracle Open Office Math : tables in databases;joining for queries (Base) -Oracle Open Office Math : tables in databases;printing queries (Base) -Oracle Open Office Math : tables in databases;relations (Base) -Oracle Open Office Math : tables in databases;searching -Oracle Open Office Math : tables in spreadsheets -Oracle Open Office Math : tables in spreadsheets;copying data to other applications -Oracle Open Office Math : tables in spreadsheets;defining borders -Oracle Open Office Math : tables in spreadsheets;value highlighting -Oracle Open Office Math : tables in text -Oracle Open Office Math : tables in text;captions -Oracle Open Office Math : tables in text;creating automatically -Oracle Open Office Math : tables in text;default settings -Oracle Open Office Math : tables in text;defining borders -Oracle Open Office Math : tables in text;displaying -Oracle Open Office Math : tables in text;printing -Oracle Open Office Math : tabs -Oracle Open Office Math : tabs;displaying sheet tabs -Oracle Open Office Math : tags -Oracle Open Office Math : tags;definition -Oracle Open Office Math : tags;META tags -Oracle Open Office Math : tangent function -Oracle Open Office Math : templates -Oracle Open Office Math : templates;agendas -Oracle Open Office Math : templates;changing basic fonts -Oracle Open Office Math : templates;database reports -Oracle Open Office Math : templates;deleting -Oracle Open Office Math : templates;editing and saving -Oracle Open Office Math : templates;faxes -Oracle Open Office Math : templates;importing and exporting -Oracle Open Office Math : templates;letters -Oracle Open Office Math : templates;new documents from templates -Oracle Open Office Math : templates;opening documents with -Oracle Open Office Math : templates;organizing -Oracle Open Office Math : terminology -Oracle Open Office Math : terminology;general glossary -Oracle Open Office Math : terminology;Internet glossary -Oracle Open Office Math : testing XML filters -Oracle Open Office Math : text -Oracle Open Office Math : text;animating -Oracle Open Office Math : text;Asian layout -Oracle Open Office Math : text;bold -Oracle Open Office Math : text;coloring -Oracle Open Office Math : text;copying by drag and drop -Oracle Open Office Math : text;CTL languages -Oracle Open Office Math : text;drawing pictures -Oracle Open Office Math : text;font effects -Oracle Open Office Math : text;font sizes -Oracle Open Office Math : text;font styles -Oracle Open Office Math : text;fonts and formats -Oracle Open Office Math : text;Fontwork icons -Oracle Open Office Math : text;hyperlinks -Oracle Open Office Math : text;inserting special characters -Oracle Open Office Math : text;italics -Oracle Open Office Math : text;kerning -Oracle Open Office Math : text;language selection -Oracle Open Office Math : text;line spacing -Oracle Open Office Math : text;overwriting or inserting -Oracle Open Office Math : text;printing in black -Oracle Open Office Math : text;replacing with format -Oracle Open Office Math : text;selection modes -Oracle Open Office Math : text;shadowed -Oracle Open Office Math : text;text/draw objects -Oracle Open Office Math : text attributes -Oracle Open Office Math : text attributes;hyperlinks -Oracle Open Office Math : text attributes;undoing -Oracle Open Office Math : text boxes -Oracle Open Office Math : text boxes;form functions -Oracle Open Office Math : text boxes;positioning -Oracle Open Office Math : text breaks in cells -Oracle Open Office Math : text colors for better accessibility -Oracle Open Office Math : text databases (Base) -Oracle Open Office Math : text documents -Oracle Open Office Math : text documents;creating/opening -Oracle Open Office Math : text documents;importing/exporting -Oracle Open Office Math : text documents;inserting spreadsheet cells -Oracle Open Office Math : text documents;print settings -Oracle Open Office Math : text documents;printing -Oracle Open Office Math : text documents;saving -Oracle Open Office Math : text documents;saving automatically -Oracle Open Office Math : text documents;saving in other formats -Oracle Open Office Math : text documents;sending as e-mail -Oracle Open Office Math : text effects -Oracle Open Office Math : text flow -Oracle Open Office Math : text flow;in cells -Oracle Open Office Math : text formats -Oracle Open Office Math : text formats;databases -Oracle Open Office Math : text formats;pasting -Oracle Open Office Math : text input fields -Oracle Open Office Math : text layout for special languages -Oracle Open Office Math : text mode in Oracle Open Office Math -Oracle Open Office Math : text objects -Oracle Open Office Math : text objects;alignment -Oracle Open Office Math : text objects;draw functions -Oracle Open Office Math : text objects;fonts -Oracle Open Office Math : text objects;in presentations and drawings -Oracle Open Office Math : text overflow in spreadsheet cells -Oracle Open Office Math : text strings -Oracle Open Office Math : text strings;entering in Oracle Open Office Math -Oracle Open Office Math : text, see also text documents, paragraphs and characters -Oracle Open Office Math : TextArt, see Fontwork -Oracle Open Office Math : textures -Oracle Open Office Math : textures;inserting from Gallery -Oracle Open Office Math : textures;on chart bars -Oracle Open Office Math : Thai -Oracle Open Office Math : Thai;entering text -Oracle Open Office Math : Thai;language settings -Oracle Open Office Math : there exists symbol -Oracle Open Office Math : thesaurus -Oracle Open Office Math : thesaurus;activating for a language -Oracle Open Office Math : ticker text -Oracle Open Office Math : tilde as attribute -Oracle Open Office Math : time fields -Oracle Open Office Math : time fields;form functions -Oracle Open Office Math : times -Oracle Open Office Math : times;inserting when printing presentations -Oracle Open Office Math : times, formats -Oracle Open Office Math : tips -Oracle Open Office Math : tips;extended tips in Help -Oracle Open Office Math : title rows -Oracle Open Office Math : title rows;printing in Oracle Open Office Math -Oracle Open Office Math : titles -Oracle Open Office Math : titles;changing -Oracle Open Office Math : titles;editing in charts -Oracle Open Office Math : titles;font effects -Oracle Open Office Math : titles;formatting automatically -Oracle Open Office Math : titles;objects -Oracle Open Office Math : toolbars -Oracle Open Office Math : toolbars;adding buttons -Oracle Open Office Math : toolbars;docking/undocking -Oracle Open Office Math : toolbars;Form Navigation bar -Oracle Open Office Math : toolbars;viewing/closing -Oracle Open Office Math : tools bar -Oracle Open Office Math : tooltips -Oracle Open Office Math : tooltips;extended tips -Oracle Open Office Math : tooltips;help -Oracle Open Office Math : toward relation -Oracle Open Office Math : traditional Chinese -Oracle Open Office Math : traditional Chinese;translating to simplified chinese -Oracle Open Office Math : transparency -Oracle Open Office Math : transparency;areas -Oracle Open Office Math : transparency;off for faster printing -Oracle Open Office Math : transparency;saving -Oracle Open Office Math : transparent character as attribute -Oracle Open Office Math : tree view of Help -Oracle Open Office Math : trigonometrical functions -Oracle Open Office Math : triple dot attribute -Oracle Open Office Math : typefaces -Oracle Open Office Math : typefaces;adding under UNIX -Oracle Open Office Math : typefaces;formats -Oracle Open Office Math : typographical quotes in Oracle Open Office Writer -Oracle Open Office Math : typography -Oracle Open Office Math : typography;Asian -Oracle Open Office Math : unary operators -Oracle Open Office Math : unary operators;list of -Oracle Open Office Math : unary operators -Oracle Open Office Math : underline attribute -Oracle Open Office Math : underlining -Oracle Open Office Math : underlining;AutoFormat function -Oracle Open Office Math : underlining;characters -Oracle Open Office Math : underlining;text -Oracle Open Office Math : undocking windows -Oracle Open Office Math : undoing -Oracle Open Office Math : undoing;direct formatting -Oracle Open Office Math : undoing;editing -Oracle Open Office Math : undoing;number of steps -Oracle Open Office Math : unequal sign -Oracle Open Office Math : ungrouping groups -Oracle Open Office Math : union of sets -Oracle Open Office Math : units -Oracle Open Office Math : units;converting -Oracle Open Office Math : units;measurement units -Oracle Open Office Math : universal quantifier symbol -Oracle Open Office Math : UNO components -Oracle Open Office Math : UNO components;Extension Manager -Oracle Open Office Math : UNO components;integrating new -Oracle Open Office Math : up arrow symbol -Oracle Open Office Math : update options -Oracle Open Office Math : updates -Oracle Open Office Math : updates;checking automatically -Oracle Open Office Math : updates;checking manually -Oracle Open Office Math : updating -Oracle Open Office Math : updating;fields and charts, automatically (Writer) -Oracle Open Office Math : updating;links in text documents -Oracle Open Office Math : updating;links, on opening -Oracle Open Office Math : updating;templates -Oracle Open Office Math : upper limits -Oracle Open Office Math : URL -Oracle Open Office Math : URL;changing hyperlink URLs -Oracle Open Office Math : URL;definition -Oracle Open Office Math : URL;in pictures -Oracle Open Office Math : URL;saving absolute/relative paths -Oracle Open Office Math : URL;turning off URL recognition -Oracle Open Office Math : user data -Oracle Open Office Math : user data;input -Oracle Open Office Math : user data;removing when saving -Oracle Open Office Math : user feedback -Oracle Open Office Math : user feedback;automatically -Oracle Open Office Math : user-defined dictionaries -Oracle Open Office Math : user-defined dictionaries;creating -Oracle Open Office Math : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Math : user-defined dictionaries;editing -Oracle Open Office Math : user-defined operators -Oracle Open Office Math : user-defined operators;general -Oracle Open Office Math : user-defined operators;unary and binary -Oracle Open Office Math : user-defined styles -Oracle Open Office Math : user-defined styles;automatically replacing -Oracle Open Office Math : UTF-8/UCS2 support -Oracle Open Office Math : values -Oracle Open Office Math : values;absolute -Oracle Open Office Math : values;rounded as shown (Calc) -Oracle Open Office Math : variables -Oracle Open Office Math : variables;for paths -Oracle Open Office Math : variables;with right exponents -Oracle Open Office Math : VBA code -Oracle Open Office Math : VBA code;loading/saving documents with VBA code -Oracle Open Office Math : vector arrows as attributes -Oracle Open Office Math : version management -Oracle Open Office Math : version numbers of documents -Oracle Open Office Math : versions -Oracle Open Office Math : versions;comparing documents -Oracle Open Office Math : versions;file saving as, restriction -Oracle Open Office Math : versions;merging document versions -Oracle Open Office Math : versions;of a document -Oracle Open Office Math : versions;Oracle Open Office -Oracle Open Office Math : vertical arrangement of elements -Oracle Open Office Math : vertical bars -Oracle Open Office Math : vertical callouts -Oracle Open Office Math : vertical dots symbol -Oracle Open Office Math : vertical elements -Oracle Open Office Math : vertical scrollbars (Writer) -Oracle Open Office Math : vertical text boxes -Oracle Open Office Math : videos -Oracle Open Office Math : viewing -Oracle Open Office Math : viewing;databases -Oracle Open Office Math : viewing;file properties -Oracle Open Office Math : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Math : viewing;toolbars -Oracle Open Office Math : views -Oracle Open Office Math : views;creating database views (Base) -Oracle Open Office Math : views;defaults -Oracle Open Office Math : views;full screen -Oracle Open Office Math : views;icons -Oracle Open Office Math : views;maximum size -Oracle Open Office Math : views;scaling -Oracle Open Office Math : views;zooming out Oracle Open Office Math -Oracle Open Office Math : Visual Basic for Applications -Oracle Open Office Math : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Math : watermarks -Oracle Open Office Math : web documents -Oracle Open Office Math : web documents;XForms -Oracle Open Office Math : Web support -Oracle Open Office Math : WebCast export -Oracle Open Office Math : WebDAV over HTTPS -Oracle Open Office Math : weierstrass p symbol -Oracle Open Office Math : whole numbers -Oracle Open Office Math : wide circumflex attribute -Oracle Open Office Math : wide tilde attribute -Oracle Open Office Math : wide vector arrow attribute -Oracle Open Office Math : widowed brackets -Oracle Open Office Math : windows -Oracle Open Office Math : windows;docking -Oracle Open Office Math : windows;docking definition -Oracle Open Office Math : windows;hiding/showing/docking -Oracle Open Office Math : windows;new -Oracle Open Office Math : wizards -Oracle Open Office Math : wizards;agendas -Oracle Open Office Math : wizards;database queries -Oracle Open Office Math : wizards;database tables (Base) -Oracle Open Office Math : wizards;databases (Base) -Oracle Open Office Math : wizards;document converter -Oracle Open Office Math : wizards;Euro Converter -Oracle Open Office Math : wizards;faxes -Oracle Open Office Math : wizards;forms -Oracle Open Office Math : wizards;letters -Oracle Open Office Math : wizards;macros (Base) -Oracle Open Office Math : wizards;overview -Oracle Open Office Math : wizards;presentations -Oracle Open Office Math : wizards;reports -Oracle Open Office Math : Word documents -Oracle Open Office Math : Word documents;compatibility -Oracle Open Office Math : Word documents;saving as -Oracle Open Office Math : WordArt, see Fontwork -Oracle Open Office Math : words -Oracle Open Office Math : words;automatically replacing -Oracle Open Office Math : words;wrapping in cells -Oracle Open Office Math : words;wrapping in CTL -Oracle Open Office Math : working directory change -Oracle Open Office Math : wrapping text -Oracle Open Office Math : wrapping text;in cells -Oracle Open Office Math : wrapping text;in formulas -Oracle Open Office Math : write protection on/off -Oracle Open Office Math : writing aids options -Oracle Open Office Math : WYSIWYG in fonts lists -Oracle Open Office Math : XForms -Oracle Open Office Math : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Math : XForms;conditions -Oracle Open Office Math : XForms;opening/editing -Oracle Open Office Math : XML converters -Oracle Open Office Math : XML file formats -Oracle Open Office Math : XML filters -Oracle Open Office Math : XML filters;creating/testing -Oracle Open Office Math : XML filters;saving as package/installing/deleting -Oracle Open Office Math : XML filters;settings -Oracle Open Office Math : XML Forms, see XForms -Oracle Open Office Math : XSLT filters, see also XML filters -Oracle Open Office Math : years -Oracle Open Office Math : years;2-digit options -Oracle Open Office Math : zero values -Oracle Open Office Math : zero values;displaying (Calc) -Oracle Open Office Math : zooming -Oracle Open Office Math : zooming;page views -Oracle Open Office Math : zooming;pictures -Oracle Open Office Math : zooming;status bar -Oracle Open Office Math : zooming in on formula display -Oracle Open Office Math : zooming out on formula display -Oracle Open Office Writer : 1/2 replacement -Oracle Open Office Writer : 3D charts -Oracle Open Office Writer : 3D text creation -Oracle Open Office Writer : abbreviation replacement -Oracle Open Office Writer : abbreviations -Oracle Open Office Writer : absolute hyperlinks -Oracle Open Office Writer : absolute saving of URLs -Oracle Open Office Writer : accents -Oracle Open Office Writer : Access databases (base) -Oracle Open Office Writer : access rights for database tables (Base) -Oracle Open Office Writer : accessibility -Oracle Open Office Writer : accessibility;general shortcuts -Oracle Open Office Writer : accessibility;options -Oracle Open Office Writer : accessibility;Oracle Open Office assistive technology -Oracle Open Office Writer : accessibility;Oracle Open Office features -Oracle Open Office Writer : accessibility;Oracle Open Office Writer -Oracle Open Office Writer : activating -Oracle Open Office Writer : activating;context menus -Oracle Open Office Writer : activating;Error Report Tool -Oracle Open Office Writer : activating;extended help tips -Oracle Open Office Writer : activating;plug-ins -Oracle Open Office Writer : ActiveX control -Oracle Open Office Writer : Adabas D databases (base) -Oracle Open Office Writer : add-ons, see UNO components -Oracle Open Office Writer : additional selection mode -Oracle Open Office Writer : address books -Oracle Open Office Writer : address books;exchanging -Oracle Open Office Writer : address books;LDAP server (Base) -Oracle Open Office Writer : address books;registering -Oracle Open Office Writer : address labels from databases -Oracle Open Office Writer : adjusting page margins and cell widths -Oracle Open Office Writer : ADO databases (Base) -Oracle Open Office Writer : Agenda Wizard -Oracle Open Office Writer : aging filter -Oracle Open Office Writer : aligning -Oracle Open Office Writer : aligning;2D charts -Oracle Open Office Writer : aligning;cells -Oracle Open Office Writer : aligning;objects -Oracle Open Office Writer : aligning;paragraphs -Oracle Open Office Writer : aligning;tables in text -Oracle Open Office Writer : aligning;text objects -Oracle Open Office Writer : aligning;titles in charts -Oracle Open Office Writer : alphabetical indexes -Oracle Open Office Writer : alternative fonts -Oracle Open Office Writer : ampersand symbol, see also operators -Oracle Open Office Writer : anchors -Oracle Open Office Writer : anchors;changing -Oracle Open Office Writer : anchors;displaying (Calc) -Oracle Open Office Writer : anchors;options -Oracle Open Office Writer : anchors;types/positions for draw objects -Oracle Open Office Writer : animations -Oracle Open Office Writer : animations;accessibility options -Oracle Open Office Writer : animations;text -Oracle Open Office Writer : appearance options -Oracle Open Office Writer : Arabic -Oracle Open Office Writer : Arabic;entering text -Oracle Open Office Writer : Arabic;language settings -Oracle Open Office Writer : area charts -Oracle Open Office Writer : areas -Oracle Open Office Writer : areas;bitmap patterns -Oracle Open Office Writer : areas;hatched/dotted -Oracle Open Office Writer : areas;shadows -Oracle Open Office Writer : areas;slanting -Oracle Open Office Writer : areas;styles -Oracle Open Office Writer : areas;transparency -Oracle Open Office Writer : arguments in command line -Oracle Open Office Writer : arithmetical operators in formulas -Oracle Open Office Writer : arranging -Oracle Open Office Writer : arranging;headings -Oracle Open Office Writer : arranging;objects -Oracle Open Office Writer : arrows -Oracle Open Office Writer : arrows;defining arrow heads -Oracle Open Office Writer : arrows;defining arrow lines -Oracle Open Office Writer : arrows;drawing in text -Oracle Open Office Writer : ASCII -Oracle Open Office Writer : ASCII;definition -Oracle Open Office Writer : Asian languages -Oracle Open Office Writer : Asian languages;enabling -Oracle Open Office Writer : Asian languages;search options -Oracle Open Office Writer : Asian languages;sorting paragraphs/table rows -Oracle Open Office Writer : Asian Phonetic Guide -Oracle Open Office Writer : Asian typography -Oracle Open Office Writer : aspect ratio -Oracle Open Office Writer : aspect ratio;resizing objects -Oracle Open Office Writer : assigning scripts -Oracle Open Office Writer : assistive technology in Oracle Open Office -Oracle Open Office Writer : attaching toolbars -Oracle Open Office Writer : attachments in e-mails -Oracle Open Office Writer : audio -Oracle Open Office Writer : auto reloading HTML documents -Oracle Open Office Writer : AutoAbstract function for sending text to presentations -Oracle Open Office Writer : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Writer : AutoComplete function in text and list boxes -Oracle Open Office Writer : AutoCorrect function -Oracle Open Office Writer : AutoCorrect function;adding exceptions -Oracle Open Office Writer : AutoCorrect function;context menu -Oracle Open Office Writer : AutoCorrect function;options -Oracle Open Office Writer : AutoCorrect function;pictures and frames -Oracle Open Office Writer : AutoCorrect function;quotes -Oracle Open Office Writer : AutoCorrect function;replacement table -Oracle Open Office Writer : AutoCorrect function;smart tags -Oracle Open Office Writer : AutoCorrect function;switching on and off in Calc -Oracle Open Office Writer : AutoCorrect function;turning off -Oracle Open Office Writer : AutoCorrect function;URL recognition -Oracle Open Office Writer : AutoCorrect function;word completion -Oracle Open Office Writer : AutoFormat function -Oracle Open Office Writer : AutoFormat function;applying to text tables -Oracle Open Office Writer : AutoFormat function;headings -Oracle Open Office Writer : AutoFormat function;switching on and off -Oracle Open Office Writer : AutoFormat function;text documents -Oracle Open Office Writer : automatic bullets/numbers -Oracle Open Office Writer : automatic bullets/numbers;AutoCorrect function -Oracle Open Office Writer : automatic captions (Writer) -Oracle Open Office Writer : automatic changes on/off -Oracle Open Office Writer : automatic control focus -Oracle Open Office Writer : automatic heading formatting -Oracle Open Office Writer : automatic hyperlink formatting -Oracle Open Office Writer : automatic hyphenation in text -Oracle Open Office Writer : automatic line breaks -Oracle Open Office Writer : automatic lines/borders in text -Oracle Open Office Writer : automatic numbering -Oracle Open Office Writer : automatic numbering;of objects -Oracle Open Office Writer : automatic saving -Oracle Open Office Writer : automatic spellcheck -Oracle Open Office Writer : automatic word completion -Oracle Open Office Writer : AutoPilots, see wizards -Oracle Open Office Writer : AutoText -Oracle Open Office Writer : AutoValue (Base) -Oracle Open Office Writer : averages in charts -Oracle Open Office Writer : axes -Oracle Open Office Writer : axes;better scaling -Oracle Open Office Writer : axes;formatting -Oracle Open Office Writer : axes;formatting grids -Oracle Open Office Writer : axes;inserting grids -Oracle Open Office Writer : axes;interval marks -Oracle Open Office Writer : axes;showing axes in charts -Oracle Open Office Writer : axes in charts -Oracle Open Office Writer : backgrounds -Oracle Open Office Writer : backgrounds;defining colors/pictures -Oracle Open Office Writer : backgrounds;different pages -Oracle Open Office Writer : backgrounds;frames/sections/indexes -Oracle Open Office Writer : backgrounds;inserting from Gallery -Oracle Open Office Writer : backgrounds;printing -Oracle Open Office Writer : backgrounds;text objects -Oracle Open Office Writer : backing window -Oracle Open Office Writer : backups -Oracle Open Office Writer : backups;automatic -Oracle Open Office Writer : backups;documents -Oracle Open Office Writer : bar charts -Oracle Open Office Writer : Basic -Oracle Open Office Writer : Basic;fonts for source display -Oracle Open Office Writer : Basic;programming -Oracle Open Office Writer : Basic;recording macros -Oracle Open Office Writer : basic fonts -Oracle Open Office Writer : behavior of rows/columns -Oracle Open Office Writer : Bézier curves -Oracle Open Office Writer : Bézier curves;control points in presentations -Oracle Open Office Writer : bi-directional writing -Oracle Open Office Writer : bibliographies -Oracle Open Office Writer : binding space -Oracle Open Office Writer : bitmaps -Oracle Open Office Writer : bitmaps;inserting and editing -Oracle Open Office Writer : bitmaps;off for faster printing -Oracle Open Office Writer : bitmaps;patterns -Oracle Open Office Writer : black and white printing -Oracle Open Office Writer : black printing in Calc -Oracle Open Office Writer : blank pages with alternating page styles -Oracle Open Office Writer : block protect, see also widows or orphans -Oracle Open Office Writer : block selection mode -Oracle Open Office Writer : blocks of text -Oracle Open Office Writer : bold -Oracle Open Office Writer : bold;AutoFormat function -Oracle Open Office Writer : bold;formatting while typing -Oracle Open Office Writer : bold;text -Oracle Open Office Writer : book previews -Oracle Open Office Writer : book view -Oracle Open Office Writer : booklet printing -Oracle Open Office Writer : bookmarks -Oracle Open Office Writer : bookmarks;Help -Oracle Open Office Writer : bookmarks;inserting -Oracle Open Office Writer : bookmarks;positioning cursor -Oracle Open Office Writer : borders -Oracle Open Office Writer : borders;arranging -Oracle Open Office Writer : borders;automatic drawing on/off -Oracle Open Office Writer : borders;cells on screen (Calc) -Oracle Open Office Writer : borders;for footnotes/endnotes -Oracle Open Office Writer : borders;for headers/footers -Oracle Open Office Writer : borders;for objects -Oracle Open Office Writer : borders;for pages -Oracle Open Office Writer : borders;for paragraphs -Oracle Open Office Writer : borders;for tables -Oracle Open Office Writer : borders;for text tables -Oracle Open Office Writer : borders;shadows -Oracle Open Office Writer : borders;table boundaries (Writer) -Oracle Open Office Writer : borders, see also frames -Oracle Open Office Writer : bound fields -Oracle Open Office Writer : bound fields;controls -Oracle Open Office Writer : boundaries of tables (Writer) -Oracle Open Office Writer : break display (Writer) -Oracle Open Office Writer : brochures -Oracle Open Office Writer : brochures;printing individual -Oracle Open Office Writer : brochures;printing several -Oracle Open Office Writer : brush for copying styles -Oracle Open Office Writer : bubble charts -Oracle Open Office Writer : build numbers of Oracle Open Office -Oracle Open Office Writer : bullet lists -Oracle Open Office Writer : bullet lists;changing levels -Oracle Open Office Writer : bullet lists;creating while typing -Oracle Open Office Writer : bullet lists;formatting options -Oracle Open Office Writer : bullet lists;interrupting -Oracle Open Office Writer : bullet lists;turning on and off -Oracle Open Office Writer : bullets -Oracle Open Office Writer : bullets;adding and editing -Oracle Open Office Writer : bullets;paragraphs -Oracle Open Office Writer : bullets;replacing -Oracle Open Office Writer : bullets;turning off -Oracle Open Office Writer : bullets;using automatically -Oracle Open Office Writer : business cards -Oracle Open Office Writer : business cards;creating and synchronizing -Oracle Open Office Writer : business cards;using templates -Oracle Open Office Writer : button bars, see toolbars -Oracle Open Office Writer : buttons -Oracle Open Office Writer : buttons;adding push buttons -Oracle Open Office Writer : buttons;big/small -Oracle Open Office Writer : buttons;editing hyperlink buttons -Oracle Open Office Writer : buttons;form functions -Oracle Open Office Writer : buttons;toolbars -Oracle Open Office Writer : cache for graphics -Oracle Open Office Writer : calculating -Oracle Open Office Writer : calculating;across multiple text tables -Oracle Open Office Writer : calculating;formulas/mean values -Oracle Open Office Writer : calculating;in text -Oracle Open Office Writer : calculating;in text tables -Oracle Open Office Writer : calculating;iterative references (Calc) -Oracle Open Office Writer : calculating;regression curves -Oracle Open Office Writer : calculating;sums in text tables -Oracle Open Office Writer : callouts -Oracle Open Office Writer : callouts;drawings -Oracle Open Office Writer : capital letters -Oracle Open Office Writer : capital letters;AutoCorrect function -Oracle Open Office Writer : capital letters;avoiding after specific abbreviations -Oracle Open Office Writer : capital letters;changing to small letters -Oracle Open Office Writer : capital letters;changing to small letters after periods -Oracle Open Office Writer : capital letters;font effects -Oracle Open Office Writer : capital letters;starting paragraphs -Oracle Open Office Writer : captions -Oracle Open Office Writer : captions;adding chapter numbers -Oracle Open Office Writer : captions;automatic captions (Writer) -Oracle Open Office Writer : captions;inserting and editing -Oracle Open Office Writer : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Writer : captions, see also labels/callouts -Oracle Open Office Writer : cascading update (Base) -Oracle Open Office Writer : case sensitivity -Oracle Open Office Writer : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Writer : case sensitivity;searching -Oracle Open Office Writer : cell merges -Oracle Open Office Writer : cells -Oracle Open Office Writer : cells;adapting the width by keyboard -Oracle Open Office Writer : cells;aligning -Oracle Open Office Writer : cells;backgrounds -Oracle Open Office Writer : cells;borders in text tables -Oracle Open Office Writer : cells;calculating sums -Oracle Open Office Writer : cells;coloring (Calc) -Oracle Open Office Writer : cells;cursor positions after input (Calc) -Oracle Open Office Writer : cells;enlarging and reducing in text tables -Oracle Open Office Writer : cells;formatting without effect (Calc) -Oracle Open Office Writer : cells;inserting from spreadsheets -Oracle Open Office Writer : cells;line breaks -Oracle Open Office Writer : cells;linked to controls -Oracle Open Office Writer : cells;merging/splitting -Oracle Open Office Writer : cells;number of -Oracle Open Office Writer : cells;pasting -Oracle Open Office Writer : cells;protecting/unprotecting -Oracle Open Office Writer : cells;resetting formats -Oracle Open Office Writer : cells;showing grid lines (Calc) -Oracle Open Office Writer : centered text -Oracle Open Office Writer : centering -Oracle Open Office Writer : centering;images on HTML pages -Oracle Open Office Writer : centering;text frames on pages -Oracle Open Office Writer : centimeters -Oracle Open Office Writer : central documents -Oracle Open Office Writer : certificates -Oracle Open Office Writer : changes -Oracle Open Office Writer : changes;accepting or rejecting -Oracle Open Office Writer : changes;automatic -Oracle Open Office Writer : changes;comparing to original -Oracle Open Office Writer : changes;protecting -Oracle Open Office Writer : changes;recording -Oracle Open Office Writer : changes;review function -Oracle Open Office Writer : changes;showing -Oracle Open Office Writer : changing -Oracle Open Office Writer : changing;bulleting symbols -Oracle Open Office Writer : changing;cases of text -Oracle Open Office Writer : changing;document titles -Oracle Open Office Writer : changing;field shadings -Oracle Open Office Writer : changing;fields, into text -Oracle Open Office Writer : changing;file associations in Setup program -Oracle Open Office Writer : changing;icon sizes -Oracle Open Office Writer : changing;indents -Oracle Open Office Writer : changing;links -Oracle Open Office Writer : changing;outline levels -Oracle Open Office Writer : changing;page backgrounds -Oracle Open Office Writer : changing;starting numbers in lists -Oracle Open Office Writer : changing;work directory -Oracle Open Office Writer : changing, see also editing and replacing -Oracle Open Office Writer : chapter names in headers -Oracle Open Office Writer : chapter numbering -Oracle Open Office Writer : chapter numbers in captions -Oracle Open Office Writer : character styles -Oracle Open Office Writer : character styles;language selection -Oracle Open Office Writer : character styles;style categories -Oracle Open Office Writer : characters -Oracle Open Office Writer : characters;alternative fonts -Oracle Open Office Writer : characters;Asian layout -Oracle Open Office Writer : characters;bold -Oracle Open Office Writer : characters;coloring -Oracle Open Office Writer : characters;counting -Oracle Open Office Writer : characters;displaying only on screen (Writer) -Oracle Open Office Writer : characters;enabling CTL and Asian characters -Oracle Open Office Writer : characters;finding all -Oracle Open Office Writer : characters;font effects -Oracle Open Office Writer : characters;fonts and formats -Oracle Open Office Writer : characters;hyperlinks -Oracle Open Office Writer : characters;italics -Oracle Open Office Writer : characters;language selection -Oracle Open Office Writer : characters;shadowed -Oracle Open Office Writer : characters;spacing -Oracle Open Office Writer : characters;special -Oracle Open Office Writer : characters;subscript and superscript -Oracle Open Office Writer : characters;underlining -Oracle Open Office Writer : characters;uppercase or lowercase -Oracle Open Office Writer : charcoal sketches filter -Oracle Open Office Writer : chart legends -Oracle Open Office Writer : chart legends;hiding -Oracle Open Office Writer : chart legends;showing icons with labels -Oracle Open Office Writer : chart types -Oracle Open Office Writer : chart types;area -Oracle Open Office Writer : chart types;bubble -Oracle Open Office Writer : chart types;column and bar -Oracle Open Office Writer : chart types;column and line -Oracle Open Office Writer : chart types;line -Oracle Open Office Writer : chart types;net -Oracle Open Office Writer : chart types;pie/donut -Oracle Open Office Writer : chart types;stock -Oracle Open Office Writer : chart types;XY (scatter) -Oracle Open Office Writer : charts -Oracle Open Office Writer : charts;3D views -Oracle Open Office Writer : charts;aligning -Oracle Open Office Writer : charts;arranging within stacks -Oracle Open Office Writer : charts;bars with textures -Oracle Open Office Writer : charts;borders -Oracle Open Office Writer : charts;choosing chart types -Oracle Open Office Writer : charts;colors -Oracle Open Office Writer : charts;copying from Calc into Writer -Oracle Open Office Writer : charts;copying with link to source cell range -Oracle Open Office Writer : charts;data labels -Oracle Open Office Writer : charts;displaying (Calc) -Oracle Open Office Writer : charts;editing axes -Oracle Open Office Writer : charts;editing data -Oracle Open Office Writer : charts;editing legends -Oracle Open Office Writer : charts;editing titles -Oracle Open Office Writer : charts;formatting areas -Oracle Open Office Writer : charts;formatting floors -Oracle Open Office Writer : charts;formatting walls -Oracle Open Office Writer : charts;inserting -Oracle Open Office Writer : charts;labeling -Oracle Open Office Writer : charts;overview -Oracle Open Office Writer : charts;positioning axes -Oracle Open Office Writer : charts;properties -Oracle Open Office Writer : charts;reorganizing -Oracle Open Office Writer : charts;scaling axes -Oracle Open Office Writer : charts;scaling text -Oracle Open Office Writer : charts;shortcuts -Oracle Open Office Writer : charts;showing axes -Oracle Open Office Writer : charts;updating automatically (Writer) -Oracle Open Office Writer : check box creation -Oracle Open Office Writer : checking spelling -Oracle Open Office Writer : checking spelling;all languages -Oracle Open Office Writer : checking spelling;manually -Oracle Open Office Writer : checking spelling;while typing -Oracle Open Office Writer : Chinese writing systems -Oracle Open Office Writer : choosing printers -Oracle Open Office Writer : circle drawings -Oracle Open Office Writer : Client Side ImageMap -Oracle Open Office Writer : clipboard -Oracle Open Office Writer : clipboard;calculating in text -Oracle Open Office Writer : clipboard;cutting -Oracle Open Office Writer : clipboard;pasting -Oracle Open Office Writer : clipboard;pasting formatted/unformatted text -Oracle Open Office Writer : clipboard;selection clipboard -Oracle Open Office Writer : clipboard;Unix -Oracle Open Office Writer : closing -Oracle Open Office Writer : closing;documents -Oracle Open Office Writer : closing;toolbars -Oracle Open Office Writer : collaboration -Oracle Open Office Writer : color bar -Oracle Open Office Writer : colors -Oracle Open Office Writer : colors;adding -Oracle Open Office Writer : colors;appearance -Oracle Open Office Writer : colors;backgrounds -Oracle Open Office Writer : colors;charts -Oracle Open Office Writer : colors;fill format -Oracle Open Office Writer : colors;fonts -Oracle Open Office Writer : colors;grid lines and cells (Calc) -Oracle Open Office Writer : colors;models -Oracle Open Office Writer : colors;not printing -Oracle Open Office Writer : colors;printing in grayscale -Oracle Open Office Writer : colors;restriction (Calc) -Oracle Open Office Writer : colors;selection -Oracle Open Office Writer : column and line charts -Oracle Open Office Writer : column charts -Oracle Open Office Writer : column headers -Oracle Open Office Writer : column headers;displaying (Calc) -Oracle Open Office Writer : column headers;highlighting (Calc) -Oracle Open Office Writer : columns -Oracle Open Office Writer : columns;breaks in text tables -Oracle Open Office Writer : columns;inserting in tables -Oracle Open Office Writer : columns;inserting/deleting in tables by keyboard -Oracle Open Office Writer : columns;on text pages -Oracle Open Office Writer : columns;selecting -Oracle Open Office Writer : columns;setting with the mouse -Oracle Open Office Writer : combination charts -Oracle Open Office Writer : combo box creation -Oracle Open Office Writer : command button creation -Oracle Open Office Writer : command buttons, see push buttons -Oracle Open Office Writer : command line parameters -Oracle Open Office Writer : commands -Oracle Open Office Writer : commands;repeating -Oracle Open Office Writer : commands;SQL -Oracle Open Office Writer : comments -Oracle Open Office Writer : comments;displaying (Calc) -Oracle Open Office Writer : comments;inserting/editing/deleting/printing -Oracle Open Office Writer : comments;on changes -Oracle Open Office Writer : comments;printing in text -Oracle Open Office Writer : common terms -Oracle Open Office Writer : common terms;Chinese dictionary -Oracle Open Office Writer : common terms;glossaries -Oracle Open Office Writer : common terms;Internet glossary -Oracle Open Office Writer : comparisons -Oracle Open Office Writer : comparisons;document versions -Oracle Open Office Writer : comparisons;operators in default filter dialog -Oracle Open Office Writer : compatibility settings for MS Word import -Oracle Open Office Writer : complete screen view -Oracle Open Office Writer : completion of words -Oracle Open Office Writer : complex text layout -Oracle Open Office Writer : complex text layout;definition -Oracle Open Office Writer : complex text layout;enabling -Oracle Open Office Writer : complex text layout, see CTL -Oracle Open Office Writer : compose key to insert special characters -Oracle Open Office Writer : concatenation, see ampersand symbol -Oracle Open Office Writer : concordance files -Oracle Open Office Writer : concordance files;definition -Oracle Open Office Writer : concordance files;indexes -Oracle Open Office Writer : conditional separators -Oracle Open Office Writer : conditional styles -Oracle Open Office Writer : conditional text -Oracle Open Office Writer : conditional text;page counts -Oracle Open Office Writer : conditional text;setting up -Oracle Open Office Writer : conditions -Oracle Open Office Writer : conditions;in fields and sections -Oracle Open Office Writer : conditions;in number formats -Oracle Open Office Writer : conditions;items in Data Navigator -Oracle Open Office Writer : conditions;user data fields -Oracle Open Office Writer : Configuration Manager -Oracle Open Office Writer : configuring -Oracle Open Office Writer : configuring;fax icon -Oracle Open Office Writer : configuring;Oracle Open Office -Oracle Open Office Writer : configuring;toolbars -Oracle Open Office Writer : connections to data sources (Base) -Oracle Open Office Writer : contents protection -Oracle Open Office Writer : context menus -Oracle Open Office Writer : continuation pages -Oracle Open Office Writer : contour editor -Oracle Open Office Writer : contour wrap -Oracle Open Office Writer : control point display in presentations -Oracle Open Office Writer : controls -Oracle Open Office Writer : controls;activating in forms -Oracle Open Office Writer : controls;adding to documents -Oracle Open Office Writer : controls;arranging in forms -Oracle Open Office Writer : controls;arranging within stacks -Oracle Open Office Writer : controls;assigning data sources -Oracle Open Office Writer : controls;assigning macros (Basic) -Oracle Open Office Writer : controls;bound fields/list contents/linked cells -Oracle Open Office Writer : controls;events -Oracle Open Office Writer : controls;focus -Oracle Open Office Writer : controls;formatted fields -Oracle Open Office Writer : controls;grouping -Oracle Open Office Writer : controls;hidden -Oracle Open Office Writer : controls;inserting -Oracle Open Office Writer : controls;multi-line titles -Oracle Open Office Writer : controls;positions and sizes -Oracle Open Office Writer : controls;printing -Oracle Open Office Writer : controls;properties of form controls -Oracle Open Office Writer : controls;properties of table controls -Oracle Open Office Writer : controls;reference by SQL -Oracle Open Office Writer : controls;rich text control -Oracle Open Office Writer : controls;select mode -Oracle Open Office Writer : controls;showing (Writer) -Oracle Open Office Writer : converters -Oracle Open Office Writer : converters;Euro converter -Oracle Open Office Writer : converters;PostScript, UNIX -Oracle Open Office Writer : converters;XML -Oracle Open Office Writer : converting -Oracle Open Office Writer : converting;fields, into text -Oracle Open Office Writer : converting;Hangul/Hanja -Oracle Open Office Writer : converting;metrics -Oracle Open Office Writer : converting;Microsoft documents -Oracle Open Office Writer : converting;Oracle Open Office documents -Oracle Open Office Writer : converting;Pocket PC formats -Oracle Open Office Writer : converting;sections, into normal text -Oracle Open Office Writer : converting;text, into tables -Oracle Open Office Writer : copies -Oracle Open Office Writer : copies;printing -Oracle Open Office Writer : copies;removing line breaks -Oracle Open Office Writer : copying -Oracle Open Office Writer : copying;by drag and drop -Oracle Open Office Writer : copying;charts from Oracle Open Office Calc -Oracle Open Office Writer : copying;data from text documents -Oracle Open Office Writer : copying;datasource records in spreadsheets -Oracle Open Office Writer : copying;draw objects -Oracle Open Office Writer : copying;draw objects between documents -Oracle Open Office Writer : copying;formatting -Oracle Open Office Writer : copying;from data source view -Oracle Open Office Writer : copying;from Gallery -Oracle Open Office Writer : copying;in Unix -Oracle Open Office Writer : copying;pictures, between documents -Oracle Open Office Writer : copying;sheet areas, to text documents -Oracle Open Office Writer : copying;styles, by fill format mode -Oracle Open Office Writer : copying;styles, from selections -Oracle Open Office Writer : copying;text sections -Oracle Open Office Writer : copying;to Gallery -Oracle Open Office Writer : copyright for Oracle Open Office -Oracle Open Office Writer : corner roundings -Oracle Open Office Writer : counting words -Oracle Open Office Writer : crash reports -Oracle Open Office Writer : criteria of query design (Base) -Oracle Open Office Writer : cropping pictures -Oracle Open Office Writer : cross-references -Oracle Open Office Writer : cross-references;inserting and updating -Oracle Open Office Writer : cross-references;inserting with Navigator -Oracle Open Office Writer : cross-references;modifying -Oracle Open Office Writer : CTL -Oracle Open Office Writer : CTL;(not) wrapping words -Oracle Open Office Writer : CTL;complex text layout languages -Oracle Open Office Writer : CTL;definition -Oracle Open Office Writer : CTL;options -Oracle Open Office Writer : currencies -Oracle Open Office Writer : currencies;converters -Oracle Open Office Writer : currencies;format codes -Oracle Open Office Writer : currency field creation -Oracle Open Office Writer : currency formats -Oracle Open Office Writer : cursor -Oracle Open Office Writer : cursor;allowing in protected areas (Writer) -Oracle Open Office Writer : cursor;direct cursor -Oracle Open Office Writer : cursor;in read-only text -Oracle Open Office Writer : cursor;quickly moving to an object -Oracle Open Office Writer : curves -Oracle Open Office Writer : curves;editing points -Oracle Open Office Writer : curves;properties in line charts/XY charts -Oracle Open Office Writer : custom dictionaries -Oracle Open Office Writer : custom dictionaries;editing -Oracle Open Office Writer : custom dictionaries;removing words from -Oracle Open Office Writer : custom hyphens (Writer) -Oracle Open Office Writer : custom quotes -Oracle Open Office Writer : custom templates -Oracle Open Office Writer : customizing -Oracle Open Office Writer : customizing;events -Oracle Open Office Writer : customizing;keyboard -Oracle Open Office Writer : customizing;menus -Oracle Open Office Writer : customizing;Oracle Open Office -Oracle Open Office Writer : customizing;round corners -Oracle Open Office Writer : customizing;toolbars -Oracle Open Office Writer : cutting -Oracle Open Office Writer : dashes -Oracle Open Office Writer : data -Oracle Open Office Writer : data;filtering in forms -Oracle Open Office Writer : data;forms and subforms -Oracle Open Office Writer : data;read-only -Oracle Open Office Writer : data;sorting in forms -Oracle Open Office Writer : data;user data -Oracle Open Office Writer : data binding change in XForms -Oracle Open Office Writer : data labels in charts -Oracle Open Office Writer : Data Navigator -Oracle Open Office Writer : Data Navigator;adding/editing items -Oracle Open Office Writer : Data Navigator;display options -Oracle Open Office Writer : data ranges in charts -Oracle Open Office Writer : data series -Oracle Open Office Writer : data source browser -Oracle Open Office Writer : data source explorer -Oracle Open Office Writer : data source view -Oracle Open Office Writer : data source view;drag and drop -Oracle Open Office Writer : data source view;overview -Oracle Open Office Writer : data source view;showing -Oracle Open Office Writer : data sources -Oracle Open Office Writer : data sources;as tables -Oracle Open Office Writer : data sources;connection settings (Base) -Oracle Open Office Writer : data sources;copying records to spreadsheets -Oracle Open Office Writer : data sources;displaying current -Oracle Open Office Writer : data sources;LDAP server (Base) -Oracle Open Office Writer : data sources;Oracle Open Office Base -Oracle Open Office Writer : data sources;registering address books -Oracle Open Office Writer : data sources;reports -Oracle Open Office Writer : data sources;setting for stock charts -Oracle Open Office Writer : data sources;viewing -Oracle Open Office Writer : data structure of XForms -Oracle Open Office Writer : data values in charts -Oracle Open Office Writer : data, see also values -Oracle Open Office Writer : database contents -Oracle Open Office Writer : database contents;inserting as tables -Oracle Open Office Writer : database contents;inserting as text -Oracle Open Office Writer : database reports -Oracle Open Office Writer : Database Wizard (Base) -Oracle Open Office Writer : databases -Oracle Open Office Writer : databases;administration through SQL (Base) -Oracle Open Office Writer : databases;ADO (Base) -Oracle Open Office Writer : databases;connecting (Base) -Oracle Open Office Writer : databases;creating -Oracle Open Office Writer : databases;creating bibliographies -Oracle Open Office Writer : databases;creating labels -Oracle Open Office Writer : databases;creating queries -Oracle Open Office Writer : databases;creating reports -Oracle Open Office Writer : databases;creating tables -Oracle Open Office Writer : databases;deleting (Base) -Oracle Open Office Writer : databases;drag and drop (Base) -Oracle Open Office Writer : databases;editing tables -Oracle Open Office Writer : databases;exchanging -Oracle Open Office Writer : databases;form filters -Oracle Open Office Writer : databases;formats (Base) -Oracle Open Office Writer : databases;importing/exporting -Oracle Open Office Writer : databases;in conditions -Oracle Open Office Writer : databases;JDBC (Base) -Oracle Open Office Writer : databases;main page (Base) -Oracle Open Office Writer : databases;ODBC (Base) -Oracle Open Office Writer : databases;overview -Oracle Open Office Writer : databases;registering (Base) -Oracle Open Office Writer : databases;searching records -Oracle Open Office Writer : databases;shortcut keys -Oracle Open Office Writer : databases;sorting -Oracle Open Office Writer : databases;standard filters -Oracle Open Office Writer : databases;text formats -Oracle Open Office Writer : databases;viewing -Oracle Open Office Writer : date fields -Oracle Open Office Writer : date fields;creating -Oracle Open Office Writer : date fields;fixed/variable -Oracle Open Office Writer : date fields;HTML -Oracle Open Office Writer : date fields;properties -Oracle Open Office Writer : date formats -Oracle Open Office Writer : dates -Oracle Open Office Writer : dates;default (Calc) -Oracle Open Office Writer : dates;formatting automatically in tables -Oracle Open Office Writer : dates;inserting -Oracle Open Office Writer : dates;printing in presentations -Oracle Open Office Writer : dates;start 1900/01/01 (Calc) -Oracle Open Office Writer : dates;start 1904/01/01 (Calc) -Oracle Open Office Writer : dBASE -Oracle Open Office Writer : dBASE;database settings (Base) -Oracle Open Office Writer : DDE -Oracle Open Office Writer : DDE;command for inserting sections -Oracle Open Office Writer : DDE;definition -Oracle Open Office Writer : DDE;inserting tables -Oracle Open Office Writer : deactivating -Oracle Open Office Writer : deactivating;plug-ins -Oracle Open Office Writer : deactivating;word completion -Oracle Open Office Writer : decimal places displayed (Calc) -Oracle Open Office Writer : decimal separator key -Oracle Open Office Writer : decimal tab stops -Oracle Open Office Writer : default directories -Oracle Open Office Writer : default filters -Oracle Open Office Writer : default filters;comparison operators -Oracle Open Office Writer : default filters;databases -Oracle Open Office Writer : default printer -Oracle Open Office Writer : default printer;setting up -Oracle Open Office Writer : default printer;UNIX -Oracle Open Office Writer : default templates -Oracle Open Office Writer : default templates;changing -Oracle Open Office Writer : default templates;defining/resetting -Oracle Open Office Writer : default templates;organizing -Oracle Open Office Writer : defaults -Oracle Open Office Writer : defaults;documents -Oracle Open Office Writer : defaults;file formats in file dialogs -Oracle Open Office Writer : defaults;file formats in Oracle Open Office -Oracle Open Office Writer : defaults;fonts -Oracle Open Office Writer : defaults;grids (Writer/Calc) -Oracle Open Office Writer : defaults;languages -Oracle Open Office Writer : defaults;number formats -Oracle Open Office Writer : defaults;of saving -Oracle Open Office Writer : defaults;program configuration -Oracle Open Office Writer : defaults;tab stops in text -Oracle Open Office Writer : defaults;templates -Oracle Open Office Writer : defaults;views -Oracle Open Office Writer : defining -Oracle Open Office Writer : defining;arrowheads and other line ends -Oracle Open Office Writer : defining;colors -Oracle Open Office Writer : defining;conditions -Oracle Open Office Writer : defining;headers/footers -Oracle Open Office Writer : defining;line styles -Oracle Open Office Writer : defining;object borders -Oracle Open Office Writer : defining;page borders -Oracle Open Office Writer : defining;page styles -Oracle Open Office Writer : defining;paragraph borders -Oracle Open Office Writer : defining;queries (Base) -Oracle Open Office Writer : defining;starting page numbers -Oracle Open Office Writer : defining;table borders -Oracle Open Office Writer : defining;table borders in Writer -Oracle Open Office Writer : deleting -Oracle Open Office Writer : deleting;all direct formatting -Oracle Open Office Writer : deleting;comments -Oracle Open Office Writer : deleting;databases (Base) -Oracle Open Office Writer : deleting;entries of indexes/tables of contents -Oracle Open Office Writer : deleting;footnotes -Oracle Open Office Writer : deleting;heading numbers -Oracle Open Office Writer : deleting;hyperlinks -Oracle Open Office Writer : deleting;indexes/tables of contents -Oracle Open Office Writer : deleting;line breaks -Oracle Open Office Writer : deleting;lines in text -Oracle Open Office Writer : deleting;models/instances -Oracle Open Office Writer : deleting;namespaces in XForms -Oracle Open Office Writer : deleting;numbers in lists -Oracle Open Office Writer : deleting;page breaks -Oracle Open Office Writer : deleting;rows/columns, by keyboard -Oracle Open Office Writer : deleting;tab stops -Oracle Open Office Writer : deleting;tables or table contents -Oracle Open Office Writer : deleting;templates -Oracle Open Office Writer : deleting;words in user-defined dictionaries -Oracle Open Office Writer : deleting;XML filters -Oracle Open Office Writer : demoting heading levels -Oracle Open Office Writer : depth stagger -Oracle Open Office Writer : descriptions for objects -Oracle Open Office Writer : design mode after saving -Oracle Open Office Writer : design view -Oracle Open Office Writer : design view;creating forms -Oracle Open Office Writer : design view;queries/views (Base) -Oracle Open Office Writer : designing -Oracle Open Office Writer : designing;database tables -Oracle Open Office Writer : designing;fonts -Oracle Open Office Writer : designing;queries (Base) -Oracle Open Office Writer : detaching toolbars -Oracle Open Office Writer : dictionaries -Oracle Open Office Writer : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Writer : dictionaries;creating -Oracle Open Office Writer : dictionaries;editing user-defined -Oracle Open Office Writer : dictionaries;spellcheck -Oracle Open Office Writer : dictionaries;thesaurus -Oracle Open Office Writer : dictionaries, see also languages -Oracle Open Office Writer : digital signatures -Oracle Open Office Writer : digital signatures;getting/managing/applying -Oracle Open Office Writer : digital signatures;overview -Oracle Open Office Writer : digital signatures;WebDAV over HTTPS -Oracle Open Office Writer : direct cursor -Oracle Open Office Writer : direct cursor;restriction -Oracle Open Office Writer : direct cursor;settings -Oracle Open Office Writer : direct formatting -Oracle Open Office Writer : direct formatting;exiting -Oracle Open Office Writer : direct formatting;undoing all -Oracle Open Office Writer : directories -Oracle Open Office Writer : directories;creating new -Oracle Open Office Writer : directories;directory structure -Oracle Open Office Writer : disabled persons -Oracle Open Office Writer : disabling -Oracle Open Office Writer : disabling;field highlighting -Oracle Open Office Writer : disabling;smart tags -Oracle Open Office Writer : disabling;word completion -Oracle Open Office Writer : displaying -Oracle Open Office Writer : displaying;comments (Calc) -Oracle Open Office Writer : displaying;comments in text documents -Oracle Open Office Writer : displaying;hidden text -Oracle Open Office Writer : displaying;non-printing characters (Writer) -Oracle Open Office Writer : displaying;pictures and objects (Writer) -Oracle Open Office Writer : displaying;tables (Writer) -Oracle Open Office Writer : displaying;zero values (Calc) -Oracle Open Office Writer : distances -Oracle Open Office Writer : distinct values in SQL queries -Oracle Open Office Writer : distorting in drawings -Oracle Open Office Writer : distributing XML filters -Oracle Open Office Writer : dividing tables -Oracle Open Office Writer : DocInformation fields -Oracle Open Office Writer : docking -Oracle Open Office Writer : docking;definition -Oracle Open Office Writer : docking;Navigator window -Oracle Open Office Writer : docking;toolbars -Oracle Open Office Writer : docking;windows -Oracle Open Office Writer : Document Converter Wizard -Oracle Open Office Writer : Document Map, see Navigator -Oracle Open Office Writer : document templates -Oracle Open Office Writer : document types in Oracle Open Office -Oracle Open Office Writer : documents -Oracle Open Office Writer : documents;changing titles -Oracle Open Office Writer : documents;closing -Oracle Open Office Writer : documents;comparing -Oracle Open Office Writer : documents;contents as lists -Oracle Open Office Writer : documents;editing time -Oracle Open Office Writer : documents;exporting -Oracle Open Office Writer : documents;importing -Oracle Open Office Writer : documents;languages -Oracle Open Office Writer : documents;master documents and subdocuments -Oracle Open Office Writer : documents;measurement units in -Oracle Open Office Writer : documents;merging -Oracle Open Office Writer : documents;number of pages/tables/sheets -Oracle Open Office Writer : documents;number of words/characters -Oracle Open Office Writer : documents;opening -Oracle Open Office Writer : documents;opening in design mode -Oracle Open Office Writer : documents;opening with templates -Oracle Open Office Writer : documents;organizing -Oracle Open Office Writer : documents;printing -Oracle Open Office Writer : documents;read-only -Oracle Open Office Writer : documents;reloading -Oracle Open Office Writer : documents;saving -Oracle Open Office Writer : documents;saving automatically -Oracle Open Office Writer : documents;saving in other formats -Oracle Open Office Writer : documents;sending as e-mail -Oracle Open Office Writer : documents;styles changed -Oracle Open Office Writer : documents;version management -Oracle Open Office Writer : documents;version numbers -Oracle Open Office Writer : donut charts -Oracle Open Office Writer : dotted areas -Oracle Open Office Writer : double-line spacing in paragraphs -Oracle Open Office Writer : double-line writing in Asian layout -Oracle Open Office Writer : drag and drop -Oracle Open Office Writer : drag and drop;copying and pasting text -Oracle Open Office Writer : drag and drop;creating new styles -Oracle Open Office Writer : drag and drop;data source view -Oracle Open Office Writer : drag and drop;from Gallery to draw objects -Oracle Open Office Writer : drag and drop;overview -Oracle Open Office Writer : drag and drop;pictures -Oracle Open Office Writer : drag and drop;to Gallery -Oracle Open Office Writer : draw objects -Oracle Open Office Writer : draw objects;adding/editing/copying -Oracle Open Office Writer : draw objects;anchoring -Oracle Open Office Writer : draw objects;arranging within stacks -Oracle Open Office Writer : draw objects;copying between documents -Oracle Open Office Writer : draw objects;cross-referencing -Oracle Open Office Writer : draw objects;displaying (Calc) -Oracle Open Office Writer : draw objects;dropping Gallery pictures -Oracle Open Office Writer : draw objects;flipping -Oracle Open Office Writer : draw objects;inserting captions -Oracle Open Office Writer : draw objects;legends -Oracle Open Office Writer : draw objects;positioning and resizing -Oracle Open Office Writer : draw objects;protecting -Oracle Open Office Writer : draw objects;slanting -Oracle Open Office Writer : draw objects;text in -Oracle Open Office Writer : Drawing bar -Oracle Open Office Writer : drawing lines in text -Oracle Open Office Writer : drawings -Oracle Open Office Writer : drawings;creating/opening -Oracle Open Office Writer : drawings;languages -Oracle Open Office Writer : drawings;printing -Oracle Open Office Writer : drawings;printing defaults -Oracle Open Office Writer : drawings;printing in text documents -Oracle Open Office Writer : drawings;saving -Oracle Open Office Writer : drawings;saving automatically -Oracle Open Office Writer : drawings;saving in other formats -Oracle Open Office Writer : drawings;sending as e-mail -Oracle Open Office Writer : drawings;showing (Writer) -Oracle Open Office Writer : drawings, see also draw objects -Oracle Open Office Writer : drop caps insertion -Oracle Open Office Writer : drop-down lists in form functions -Oracle Open Office Writer : e-mail attachments -Oracle Open Office Writer : Edit File icon -Oracle Open Office Writer : edit mode -Oracle Open Office Writer : edit mode;after opening -Oracle Open Office Writer : edit mode;through Enter key (Calc) -Oracle Open Office Writer : Edit Points bar -Oracle Open Office Writer : editing -Oracle Open Office Writer : editing;captions -Oracle Open Office Writer : editing;chart axes -Oracle Open Office Writer : editing;chart data -Oracle Open Office Writer : editing;chart legends -Oracle Open Office Writer : editing;chart titles -Oracle Open Office Writer : editing;comments -Oracle Open Office Writer : editing;concordance files -Oracle Open Office Writer : editing;cross-references -Oracle Open Office Writer : editing;data binding of XForms -Oracle Open Office Writer : editing;database tables and queries -Oracle Open Office Writer : editing;draw objects -Oracle Open Office Writer : editing;Fontwork objects -Oracle Open Office Writer : editing;footnotes/endnotes -Oracle Open Office Writer : editing;hyperlinks -Oracle Open Office Writer : editing;index format -Oracle Open Office Writer : editing;indexes/tables of contents -Oracle Open Office Writer : editing;menus -Oracle Open Office Writer : editing;objects -Oracle Open Office Writer : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Writer : editing;pictures -Oracle Open Office Writer : editing;reports -Oracle Open Office Writer : editing;sections -Oracle Open Office Writer : editing;shortcut keys -Oracle Open Office Writer : editing;tab stops -Oracle Open Office Writer : editing;table/index entries -Oracle Open Office Writer : editing;templates -Oracle Open Office Writer : editing;text frames -Oracle Open Office Writer : editing;titles -Oracle Open Office Writer : editing;toolbars -Oracle Open Office Writer : editing;undoing -Oracle Open Office Writer : editing;XForms -Oracle Open Office Writer : editing time of documents -Oracle Open Office Writer : editors -Oracle Open Office Writer : editors;contour editor -Oracle Open Office Writer : editors;formula editor -Oracle Open Office Writer : editors;ImageMap editor -Oracle Open Office Writer : effects -Oracle Open Office Writer : effects;font positions -Oracle Open Office Writer : effects;fonts -Oracle Open Office Writer : effects;Fontwork icons -Oracle Open Office Writer : effects;text animation -Oracle Open Office Writer : emphasizing text -Oracle Open Office Writer : empty documents -Oracle Open Office Writer : empty page with alternating page styles -Oracle Open Office Writer : empty paragraph removal -Oracle Open Office Writer : encryption of contents -Oracle Open Office Writer : endnotes -Oracle Open Office Writer : endnotes;inserting and editing -Oracle Open Office Writer : endnotes;spacing -Oracle Open Office Writer : enlarging columns,cells and table rows -Oracle Open Office Writer : entering groups -Oracle Open Office Writer : entering text from right to left -Oracle Open Office Writer : entering text with direct cursor -Oracle Open Office Writer : entries -Oracle Open Office Writer : entries;bibliographies -Oracle Open Office Writer : entries;defining in indexes/tables of contents -Oracle Open Office Writer : entries;in tables of contents, as hyperlinks -Oracle Open Office Writer : envelopes -Oracle Open Office Writer : equal sign, see also operators -Oracle Open Office Writer : equations in formula editor -Oracle Open Office Writer : error bars in charts -Oracle Open Office Writer : error indicators in charts -Oracle Open Office Writer : Error Report Tool -Oracle Open Office Writer : Euro -Oracle Open Office Writer : Euro;currency formats -Oracle Open Office Writer : Euro;Euro Converter Wizard -Oracle Open Office Writer : even/odd pages -Oracle Open Office Writer : even/odd pages;formatting -Oracle Open Office Writer : even/odd pages;printing -Oracle Open Office Writer : events -Oracle Open Office Writer : events;assigning scripts -Oracle Open Office Writer : events;controls -Oracle Open Office Writer : events;customizing -Oracle Open Office Writer : events;in forms -Oracle Open Office Writer : examples for regular expressions -Oracle Open Office Writer : Excel -Oracle Open Office Writer : Excel;saving as -Oracle Open Office Writer : Excel;search criteria -Oracle Open Office Writer : exceptions -Oracle Open Office Writer : exceptions;AutoCorrect function -Oracle Open Office Writer : exceptions;user-defined dictionaries -Oracle Open Office Writer : exchanging databases -Oracle Open Office Writer : exchanging, see also replacing -Oracle Open Office Writer : executing SQL commands -Oracle Open Office Writer : exiting -Oracle Open Office Writer : exiting;direct formatting -Oracle Open Office Writer : exiting;groups -Oracle Open Office Writer : exiting;Oracle Open Office -Oracle Open Office Writer : expanding formatting (Calc) -Oracle Open Office Writer : explorer of data sources -Oracle Open Office Writer : export filters -Oracle Open Office Writer : exporting -Oracle Open Office Writer : exporting;bitmaps -Oracle Open Office Writer : exporting;HTML and text documents -Oracle Open Office Writer : exporting;Microsoft Office documents with VBA code -Oracle Open Office Writer : exporting;spreadsheets to text format -Oracle Open Office Writer : exporting;templates -Oracle Open Office Writer : exporting;to foreign formats -Oracle Open Office Writer : exporting;to HTML -Oracle Open Office Writer : exporting;to Microsoft Office formats -Oracle Open Office Writer : exporting;to PDF -Oracle Open Office Writer : exporting;to PostScript format -Oracle Open Office Writer : exporting;to XML -Oracle Open Office Writer : exporting;XML files -Oracle Open Office Writer : extended tips in Help -Oracle Open Office Writer : extension mode in text -Oracle Open Office Writer : extensions -Oracle Open Office Writer : extensions;Extension Manager -Oracle Open Office Writer : extensions;file formats -Oracle Open Office Writer : external keys (Base) -Oracle Open Office Writer : faster printing -Oracle Open Office Writer : faxes -Oracle Open Office Writer : faxes;configuring Oracle Open Office -Oracle Open Office Writer : faxes;fax programs/fax printers under UNIX -Oracle Open Office Writer : faxes;selecting a fax machine -Oracle Open Office Writer : faxes;sending -Oracle Open Office Writer : faxes;wizards -Oracle Open Office Writer : feedback -Oracle Open Office Writer : feedback;automatically -Oracle Open Office Writer : fields -Oracle Open Office Writer : fields;converting into text -Oracle Open Office Writer : fields;database tables -Oracle Open Office Writer : fields;defining conditions -Oracle Open Office Writer : fields;displaying field codes (Writer) -Oracle Open Office Writer : fields;formatted fields -Oracle Open Office Writer : fields;HTML import and export -Oracle Open Office Writer : fields;input fields in text -Oracle Open Office Writer : fields;inserting time -Oracle Open Office Writer : fields;subject -Oracle Open Office Writer : fields;updating automatically (Writer) -Oracle Open Office Writer : fields;updating/viewing -Oracle Open Office Writer : fields;user data -Oracle Open Office Writer : file associations for Microsoft Office -Oracle Open Office Writer : file filters -Oracle Open Office Writer : file filters;mobile devices -Oracle Open Office Writer : file filters;XML -Oracle Open Office Writer : file formats -Oracle Open Office Writer : file formats;changing Oracle Open Office defaults -Oracle Open Office Writer : file formats;OpenDocument/XML -Oracle Open Office Writer : file formats;saving always in other formats -Oracle Open Office Writer : file selection button -Oracle Open Office Writer : file sharing options for current document -Oracle Open Office Writer : files -Oracle Open Office Writer : files;filters and formats -Oracle Open Office Writer : files;importing -Oracle Open Office Writer : files;opening -Oracle Open Office Writer : files;opening with placeholders -Oracle Open Office Writer : files;properties -Oracle Open Office Writer : files;saving -Oracle Open Office Writer : files;saving automatically -Oracle Open Office Writer : files;saving in other formats -Oracle Open Office Writer : files;sending as e-mail -Oracle Open Office Writer : files;version numbers -Oracle Open Office Writer : files and folders in Oracle Open Office -Oracle Open Office Writer : fill characters with tabulators -Oracle Open Office Writer : fill colors for areas -Oracle Open Office Writer : fill format mode -Oracle Open Office Writer : fill patterns for areas -Oracle Open Office Writer : filter conditions -Oracle Open Office Writer : filter conditions;connecting -Oracle Open Office Writer : filter conditions;in queries (Base) -Oracle Open Office Writer : filtering -Oracle Open Office Writer : filtering;data in databases -Oracle Open Office Writer : filtering;data in forms -Oracle Open Office Writer : filters -Oracle Open Office Writer : filters;comparison operators -Oracle Open Office Writer : filters;for import and export -Oracle Open Office Writer : filters;Navigator -Oracle Open Office Writer : filters;pictures -Oracle Open Office Writer : filters;XML filter settings -Oracle Open Office Writer : Find tab in Help -Oracle Open Office Writer : finding -Oracle Open Office Writer : finding;in all sheets -Oracle Open Office Writer : finding;records in form documents -Oracle Open Office Writer : finding;selections -Oracle Open Office Writer : finding;similarity search -Oracle Open Office Writer : finding;text/text formats/styles/objects -Oracle Open Office Writer : first letters as large capital letters -Oracle Open Office Writer : First Page page style -Oracle Open Office Writer : fitting to pages -Oracle Open Office Writer : fitting to pages;print settings in Math -Oracle Open Office Writer : fitting to pages;print settings in presentations -Oracle Open Office Writer : fixed dates -Oracle Open Office Writer : fixed text -Oracle Open Office Writer : fixed text;form functions -Oracle Open Office Writer : fixing toolbars -Oracle Open Office Writer : flipping draw objects -Oracle Open Office Writer : floating frames in HTML documents -Oracle Open Office Writer : floating titles in headers -Oracle Open Office Writer : floating toolbars -Oracle Open Office Writer : focus of controls -Oracle Open Office Writer : folder creation -Oracle Open Office Writer : font attributes -Oracle Open Office Writer : font attributes;resetting -Oracle Open Office Writer : font lists -Oracle Open Office Writer : font name box -Oracle Open Office Writer : font sizes -Oracle Open Office Writer : font sizes;bullets -Oracle Open Office Writer : font sizes;relative changes -Oracle Open Office Writer : font sizes;scaling on screen -Oracle Open Office Writer : font sizes;text -Oracle Open Office Writer : fonts -Oracle Open Office Writer : fonts;adding under UNIX -Oracle Open Office Writer : fonts;changing in templates -Oracle Open Office Writer : fonts;colors -Oracle Open Office Writer : fonts;default settings -Oracle Open Office Writer : fonts;effects -Oracle Open Office Writer : fonts;for HTML and Basic -Oracle Open Office Writer : fonts;formats -Oracle Open Office Writer : fonts;outlines -Oracle Open Office Writer : fonts;positions in text -Oracle Open Office Writer : fonts;resetting -Oracle Open Office Writer : fonts;shadows -Oracle Open Office Writer : fonts;specifying several -Oracle Open Office Writer : fonts;strikethrough -Oracle Open Office Writer : fonts;styles -Oracle Open Office Writer : fonts;text objects -Oracle Open Office Writer : Fontwork icons -Oracle Open Office Writer : footers -Oracle Open Office Writer : footers;about -Oracle Open Office Writer : footers;backgrounds -Oracle Open Office Writer : footers;defining for left and right pages -Oracle Open Office Writer : footers;formatting -Oracle Open Office Writer : footers;inserting -Oracle Open Office Writer : footers;with page numbers -Oracle Open Office Writer : footnotes -Oracle Open Office Writer : footnotes;inserting and editing -Oracle Open Office Writer : footnotes;spacing -Oracle Open Office Writer : form controls -Oracle Open Office Writer : form controls;assigning macros -Oracle Open Office Writer : form controls;protecting -Oracle Open Office Writer : form controls;toolbars -Oracle Open Office Writer : form fields -Oracle Open Office Writer : form filters -Oracle Open Office Writer : form letters -Oracle Open Office Writer : Form Navigator -Oracle Open Office Writer : format codes -Oracle Open Office Writer : format codes;numbers -Oracle Open Office Writer : format filling printing in Oracle Open Office Math -Oracle Open Office Writer : Format Paintbrush -Oracle Open Office Writer : formats -Oracle Open Office Writer : formats;Asian layout -Oracle Open Office Writer : formats;copying and pasting -Oracle Open Office Writer : formats;finding and replacing -Oracle Open Office Writer : formats;fonts -Oracle Open Office Writer : formats;maximizing page formats -Oracle Open Office Writer : formats;number and currency formats -Oracle Open Office Writer : formats;of currencies/date/time -Oracle Open Office Writer : formats;on opening and saving -Oracle Open Office Writer : formats;pasting in special formats -Oracle Open Office Writer : formats;positions -Oracle Open Office Writer : formats;resetting -Oracle Open Office Writer : formats;tabulators -Oracle Open Office Writer : formatted fields -Oracle Open Office Writer : formatted fields;form functions -Oracle Open Office Writer : formatted fields;properties -Oracle Open Office Writer : formatting -Oracle Open Office Writer : formatting;Asian typography -Oracle Open Office Writer : formatting;axes in charts -Oracle Open Office Writer : formatting;bold, while typing -Oracle Open Office Writer : formatting;bullets -Oracle Open Office Writer : formatting;changing individual pages -Oracle Open Office Writer : formatting;chart areas -Oracle Open Office Writer : formatting;chart floors -Oracle Open Office Writer : formatting;chart legends -Oracle Open Office Writer : formatting;chart titles -Oracle Open Office Writer : formatting;chart walls -Oracle Open Office Writer : formatting;contour wrap -Oracle Open Office Writer : formatting;copying -Oracle Open Office Writer : formatting;definition -Oracle Open Office Writer : formatting;even/odd pages -Oracle Open Office Writer : formatting;exiting direct formatting -Oracle Open Office Writer : formatting;expanding (Calc) -Oracle Open Office Writer : formatting;font effects -Oracle Open Office Writer : formatting;hyperlinks -Oracle Open Office Writer : formatting;indenting paragraphs -Oracle Open Office Writer : formatting;indexes and tables of contents -Oracle Open Office Writer : formatting;numbered lists -Oracle Open Office Writer : formatting;page numbers -Oracle Open Office Writer : formatting;pages -Oracle Open Office Writer : formatting;printer metrics (Writer) -Oracle Open Office Writer : formatting;register-true text -Oracle Open Office Writer : formatting;undoing -Oracle Open Office Writer : formatting;undoing when writing -Oracle Open Office Writer : formatting styles -Oracle Open Office Writer : formatting styles;importing -Oracle Open Office Writer : formatting styles;styles and templates -Oracle Open Office Writer : forms -Oracle Open Office Writer : forms;browsing -Oracle Open Office Writer : forms;Combo Box/List Box Wizard -Oracle Open Office Writer : forms;creating -Oracle Open Office Writer : forms;data -Oracle Open Office Writer : forms;designing (Base) -Oracle Open Office Writer : forms;events -Oracle Open Office Writer : forms;filtering data -Oracle Open Office Writer : forms;finding records -Oracle Open Office Writer : forms;focus after opening -Oracle Open Office Writer : forms;general information (Base) -Oracle Open Office Writer : forms;grouping controls -Oracle Open Office Writer : forms;HTML filters -Oracle Open Office Writer : forms;Navigator -Oracle Open Office Writer : forms;opening in design mode -Oracle Open Office Writer : forms;properties -Oracle Open Office Writer : forms;sorting data -Oracle Open Office Writer : forms;subforms -Oracle Open Office Writer : forms;wizards -Oracle Open Office Writer : forms;XForms -Oracle Open Office Writer : formula texts -Oracle Open Office Writer : formula texts;printing in Oracle Open Office Math -Oracle Open Office Writer : formulas -Oracle Open Office Writer : formulas;calculating in text -Oracle Open Office Writer : formulas;complex formulas in text -Oracle Open Office Writer : formulas;new -Oracle Open Office Writer : formulas;pasting results in text documents -Oracle Open Office Writer : formulas;starting formula editor -Oracle Open Office Writer : formulas in reports -Oracle Open Office Writer : formulas in reports;editing -Oracle Open Office Writer : formulating conditions -Oracle Open Office Writer : forums and support -Oracle Open Office Writer : frames -Oracle Open Office Writer : frames;anchoring options -Oracle Open Office Writer : frames;around objects -Oracle Open Office Writer : frames;around pages -Oracle Open Office Writer : frames;around paragraphs -Oracle Open Office Writer : frames;around tables -Oracle Open Office Writer : frames;around text tables -Oracle Open Office Writer : frames;AutoCorrect function -Oracle Open Office Writer : frames;backgrounds -Oracle Open Office Writer : frames;captions (Writer) -Oracle Open Office Writer : frames;defining hyperlinks -Oracle Open Office Writer : frames;jumping to -Oracle Open Office Writer : frames;labeling -Oracle Open Office Writer : frames;linking -Oracle Open Office Writer : frames;printing in Oracle Open Office Math -Oracle Open Office Writer : frames;protecting -Oracle Open Office Writer : frames;selection frames -Oracle Open Office Writer : frames;styles -Oracle Open Office Writer : frames;text fitting to frames -Oracle Open Office Writer : frames;unlinking -Oracle Open Office Writer : freeform lines -Oracle Open Office Writer : freeform lines;draw functions -Oracle Open Office Writer : FTP -Oracle Open Office Writer : FTP;opening documents -Oracle Open Office Writer : FTP;saving documents -Oracle Open Office Writer : full joins (Base) -Oracle Open Office Writer : full screen view -Oracle Open Office Writer : full-text search in Help -Oracle Open Office Writer : functions in reports -Oracle Open Office Writer : functions in reports;editing -Oracle Open Office Writer : Gallery -Oracle Open Office Writer : Gallery;adding pictures -Oracle Open Office Writer : Gallery;docking and resizing -Oracle Open Office Writer : Gallery;dragging pictures to draw objects -Oracle Open Office Writer : Gallery;hiding/showing -Oracle Open Office Writer : Gallery;inserting pictures from -Oracle Open Office Writer : get method for form transmissions -Oracle Open Office Writer : getting support -Oracle Open Office Writer : GIF format -Oracle Open Office Writer : glossaries -Oracle Open Office Writer : glossaries;common terms -Oracle Open Office Writer : glossaries;Internet terms -Oracle Open Office Writer : gradients off for faster printing -Oracle Open Office Writer : grammar checker -Oracle Open Office Writer : graphic objects, see draw objects -Oracle Open Office Writer : graphical text art -Oracle Open Office Writer : graphics -Oracle Open Office Writer : graphics;cache -Oracle Open Office Writer : graphics;do not show -Oracle Open Office Writer : graphics;protecting -Oracle Open Office Writer : graphics, see also pictures -Oracle Open Office Writer : grayscale printing -Oracle Open Office Writer : grid controls -Oracle Open Office Writer : grid controls;form functions -Oracle Open Office Writer : grids -Oracle Open Office Writer : grids;defaults (Writer/Calc) -Oracle Open Office Writer : grids;display options (Impress/Draw) -Oracle Open Office Writer : grids;displaying lines (Calc) -Oracle Open Office Writer : grids;formatting axes -Oracle Open Office Writer : grids;inserting in charts -Oracle Open Office Writer : group box creation -Oracle Open Office Writer : groups -Oracle Open Office Writer : groups;entering/exiting/ungrouping -Oracle Open Office Writer : groups;naming -Oracle Open Office Writer : groups;of controls -Oracle Open Office Writer : guides -Oracle Open Office Writer : guides;display options (Impress/Draw) -Oracle Open Office Writer : guides;displaying when moving objects (Impress) -Oracle Open Office Writer : guides;showing (Calc) -Oracle Open Office Writer : guides;showing when moving frames (Writer) -Oracle Open Office Writer : gutter -Oracle Open Office Writer : handles -Oracle Open Office Writer : handles;displaying (Writer) -Oracle Open Office Writer : handles;scaling -Oracle Open Office Writer : handles;showing simple/large handles (Calc) -Oracle Open Office Writer : hanging indents in paragraphs -Oracle Open Office Writer : Hangul/Hanja -Oracle Open Office Writer : hard returns in pasted text -Oracle Open Office Writer : hatching -Oracle Open Office Writer : headers -Oracle Open Office Writer : headers;about -Oracle Open Office Writer : headers;backgrounds -Oracle Open Office Writer : headers;chapter information -Oracle Open Office Writer : headers;defining for left and right pages -Oracle Open Office Writer : headers;formatting -Oracle Open Office Writer : headers;inserting -Oracle Open Office Writer : headings -Oracle Open Office Writer : headings;automatic -Oracle Open Office Writer : headings;entering as text box -Oracle Open Office Writer : headings;jumping to -Oracle Open Office Writer : headings;numbering/paragraph styles -Oracle Open Office Writer : headings;rearranging -Oracle Open Office Writer : headings;repeating in tables -Oracle Open Office Writer : headings;starting with tab stops -Oracle Open Office Writer : headings;switching levels by keyboard -Oracle Open Office Writer : Hebrew -Oracle Open Office Writer : Hebrew;entering text -Oracle Open Office Writer : Hebrew;language settings -Oracle Open Office Writer : Help -Oracle Open Office Writer : Help;bookmarks -Oracle Open Office Writer : Help;extended tips on/off -Oracle Open Office Writer : Help;full-text search -Oracle Open Office Writer : Help;Help tips -Oracle Open Office Writer : Help;keywords -Oracle Open Office Writer : Help;navigation pane showing/hiding -Oracle Open Office Writer : Help;style sheets -Oracle Open Office Writer : Help;topics -Oracle Open Office Writer : Help Agent -Oracle Open Office Writer : Help Agent;help -Oracle Open Office Writer : Help Agent;options -Oracle Open Office Writer : Help tips -Oracle Open Office Writer : Help tips;fields -Oracle Open Office Writer : Help tips;hiding -Oracle Open Office Writer : hidden controls in Form Navigator -Oracle Open Office Writer : hidden fields display (Writer) -Oracle Open Office Writer : hidden pages -Oracle Open Office Writer : hidden pages;printing in presentations -Oracle Open Office Writer : hidden text -Oracle Open Office Writer : hidden text;displaying -Oracle Open Office Writer : hidden text;showing (Writer) -Oracle Open Office Writer : hiding -Oracle Open Office Writer : hiding;changes -Oracle Open Office Writer : hiding;chart legends -Oracle Open Office Writer : hiding;database fields -Oracle Open Office Writer : hiding;docked windows -Oracle Open Office Writer : hiding;navigation pane in Help window -Oracle Open Office Writer : hiding;rulers -Oracle Open Office Writer : hiding;sections -Oracle Open Office Writer : hiding;text, from specific users -Oracle Open Office Writer : hiding;text, with conditions -Oracle Open Office Writer : high contrast mode -Oracle Open Office Writer : Hindi -Oracle Open Office Writer : Hindi;entering text -Oracle Open Office Writer : Hindi;language settings -Oracle Open Office Writer : homepage creation -Oracle Open Office Writer : horizontal lines -Oracle Open Office Writer : horizontal rulers -Oracle Open Office Writer : horizontal scrollbars (Writer) -Oracle Open Office Writer : hotspots -Oracle Open Office Writer : HowTos for charts -Oracle Open Office Writer : HTML -Oracle Open Office Writer : HTML;definition -Oracle Open Office Writer : HTML;export character set -Oracle Open Office Writer : HTML;fonts for source display -Oracle Open Office Writer : HTML;importing META tags -Oracle Open Office Writer : HTML;live presentations -Oracle Open Office Writer : HTML;special tags for fields -Oracle Open Office Writer : HTML documents -Oracle Open Office Writer : HTML documents;auto reloading -Oracle Open Office Writer : HTML documents;creating from text documents -Oracle Open Office Writer : HTML documents;headers and footers -Oracle Open Office Writer : HTML documents;importing/exporting -Oracle Open Office Writer : HTML documents;inserting linked sections -Oracle Open Office Writer : HTML documents;META tags in -Oracle Open Office Writer : HTML documents;new -Oracle Open Office Writer : HTML documents;source text -Oracle Open Office Writer : hyperlinks -Oracle Open Office Writer : hyperlinks;assigning macros -Oracle Open Office Writer : hyperlinks;character formats -Oracle Open Office Writer : hyperlinks;definition -Oracle Open Office Writer : hyperlinks;deleting -Oracle Open Office Writer : hyperlinks;editing -Oracle Open Office Writer : hyperlinks;for objects -Oracle Open Office Writer : hyperlinks;in tables of contents and indexes -Oracle Open Office Writer : hyperlinks;inserting -Oracle Open Office Writer : hyperlinks;inserting from Navigator -Oracle Open Office Writer : hyperlinks;jumping to -Oracle Open Office Writer : hyperlinks;relative and absolute -Oracle Open Office Writer : hyperlinks;turning off automatic recognition -Oracle Open Office Writer : hyperlinks, see also links -Oracle Open Office Writer : hyphenation -Oracle Open Office Writer : hyphenation;activating for a language -Oracle Open Office Writer : hyphenation;manual/automatic -Oracle Open Office Writer : hyphenation;minimal number of characters -Oracle Open Office Writer : hyphenation;preventing for specific words -Oracle Open Office Writer : hyphens -Oracle Open Office Writer : hyphens;displaying custom (Writer) -Oracle Open Office Writer : hyphens;inserting custom -Oracle Open Office Writer : icon bars, see toolbars -Oracle Open Office Writer : icon sizes -Oracle Open Office Writer : if-then queries as fields -Oracle Open Office Writer : ignore list for spellcheck -Oracle Open Office Writer : illumination -Oracle Open Office Writer : illumination;3D charts -Oracle Open Office Writer : illustrations, see pictures -Oracle Open Office Writer : image button creation -Oracle Open Office Writer : image control creation -Oracle Open Office Writer : ImageMap -Oracle Open Office Writer : ImageMap;definition -Oracle Open Office Writer : ImageMap;editor -Oracle Open Office Writer : images -Oracle Open Office Writer : images;do not show -Oracle Open Office Writer : images;ImageMap -Oracle Open Office Writer : images;inserting and editing bitmaps -Oracle Open Office Writer : images;inserting in text -Oracle Open Office Writer : images, see also pictures -Oracle Open Office Writer : IME -Oracle Open Office Writer : IME;definition -Oracle Open Office Writer : IME;showing/hiding -Oracle Open Office Writer : import filters -Oracle Open Office Writer : import restrictions for Microsoft Office -Oracle Open Office Writer : importing -Oracle Open Office Writer : importing;bitmaps -Oracle Open Office Writer : importing;compatibility settings for text import -Oracle Open Office Writer : importing;databases -Oracle Open Office Writer : importing;documents in other formats -Oracle Open Office Writer : importing;from XML -Oracle Open Office Writer : importing;HTML and text documents -Oracle Open Office Writer : importing;HTML with META tags -Oracle Open Office Writer : importing;Microsoft Office documents with VBA code -Oracle Open Office Writer : importing;styles from other files -Oracle Open Office Writer : importing;tables in text format -Oracle Open Office Writer : importing;templates -Oracle Open Office Writer : improvement program -Oracle Open Office Writer : inches -Oracle Open Office Writer : indents -Oracle Open Office Writer : indents;in text -Oracle Open Office Writer : indents;setting on rulers -Oracle Open Office Writer : Index tab in Help -Oracle Open Office Writer : indexes -Oracle Open Office Writer : indexes;alphabetical indexes -Oracle Open Office Writer : indexes;backgrounds -Oracle Open Office Writer : indexes;creating bibliographies -Oracle Open Office Writer : indexes;creating user-defined indexes -Oracle Open Office Writer : indexes;defining entries in -Oracle Open Office Writer : indexes;editing or deleting entries -Oracle Open Office Writer : indexes;editing/updating/deleting -Oracle Open Office Writer : indexes;formatting -Oracle Open Office Writer : indexes;master documents -Oracle Open Office Writer : indexes;multiple documents -Oracle Open Office Writer : indexes;showing/hiding Help index tab -Oracle Open Office Writer : indexes;unprotecting -Oracle Open Office Writer : indicator lines in text -Oracle Open Office Writer : initial capitals in titles -Oracle Open Office Writer : inner joins (Base) -Oracle Open Office Writer : input fields in text -Oracle Open Office Writer : input method window -Oracle Open Office Writer : insert mode for entering text -Oracle Open Office Writer : inserting -Oracle Open Office Writer : inserting;buttons in toolbars -Oracle Open Office Writer : inserting;captions -Oracle Open Office Writer : inserting;cell ranges from spreadsheets -Oracle Open Office Writer : inserting;chapter numbers in captions -Oracle Open Office Writer : inserting;charts -Oracle Open Office Writer : inserting;clipboard options -Oracle Open Office Writer : inserting;comments -Oracle Open Office Writer : inserting;cross-references -Oracle Open Office Writer : inserting;data from text documents -Oracle Open Office Writer : inserting;datasource records in spreadsheets -Oracle Open Office Writer : inserting;date fields -Oracle Open Office Writer : inserting;drawings -Oracle Open Office Writer : inserting;envelopes -Oracle Open Office Writer : inserting;floating frames -Oracle Open Office Writer : inserting;Fontwork objects -Oracle Open Office Writer : inserting;footnotes/endnotes -Oracle Open Office Writer : inserting;form fields -Oracle Open Office Writer : inserting;from Gallery into text -Oracle Open Office Writer : inserting;horizontal lines -Oracle Open Office Writer : inserting;hyperlinks -Oracle Open Office Writer : inserting;hyperlinks from Navigator -Oracle Open Office Writer : inserting;input fields -Oracle Open Office Writer : inserting;line breaks in cells -Oracle Open Office Writer : inserting;lines under headers/above footers -Oracle Open Office Writer : inserting;movies/sounds -Oracle Open Office Writer : inserting;new text tables defaults -Oracle Open Office Writer : inserting;numbering -Oracle Open Office Writer : inserting;objects from Gallery -Oracle Open Office Writer : inserting;OLE objects -Oracle Open Office Writer : inserting;page breaks -Oracle Open Office Writer : inserting;page numbers -Oracle Open Office Writer : inserting;paragraph borders -Oracle Open Office Writer : inserting;paragraph bullets -Oracle Open Office Writer : inserting;paragraphs before/after tables -Oracle Open Office Writer : inserting;pictures -Oracle Open Office Writer : inserting;pictures in Gallery -Oracle Open Office Writer : inserting;pictures, by dialog -Oracle Open Office Writer : inserting;plug-ins -Oracle Open Office Writer : inserting;push buttons -Oracle Open Office Writer : inserting;rows/columns, by keyboard -Oracle Open Office Writer : inserting;scanned images -Oracle Open Office Writer : inserting;sections -Oracle Open Office Writer : inserting;special characters -Oracle Open Office Writer : inserting;tab stops -Oracle Open Office Writer : inserting;tables in text -Oracle Open Office Writer : inserting;text blocks -Oracle Open Office Writer : inserting;text documents -Oracle Open Office Writer : inserting;text frames -Oracle Open Office Writer : inserting;textures on chart bars -Oracle Open Office Writer : installing -Oracle Open Office Writer : installing;ActiveX control -Oracle Open Office Writer : installing;mobile device filters -Oracle Open Office Writer : installing;smart tags -Oracle Open Office Writer : installing;UNO components -Oracle Open Office Writer : installing;XML filters -Oracle Open Office Writer : instructions -Oracle Open Office Writer : instructions;general -Oracle Open Office Writer : instructions;Oracle Open Office Writer -Oracle Open Office Writer : Internet -Oracle Open Office Writer : Internet;checking for updates -Oracle Open Office Writer : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Writer : Internet;presentations -Oracle Open Office Writer : Internet;starting searches -Oracle Open Office Writer : Internet glossary -Oracle Open Office Writer : interrupting numbered lists -Oracle Open Office Writer : invert filter -Oracle Open Office Writer : invisible areas -Oracle Open Office Writer : invisible characters -Oracle Open Office Writer : invisible characters;finding -Oracle Open Office Writer : italic text -Oracle Open Office Writer : iterative references in spreadsheets -Oracle Open Office Writer : Java -Oracle Open Office Writer : Java;definition -Oracle Open Office Writer : Java;setting options -Oracle Open Office Writer : JDBC -Oracle Open Office Writer : JDBC;databases (Base) -Oracle Open Office Writer : JDBC;definition -Oracle Open Office Writer : joining -Oracle Open Office Writer : joining;numbered lists -Oracle Open Office Writer : joining;paragraphs -Oracle Open Office Writer : joining;tables (Base) -Oracle Open Office Writer : joins in databases (Base) -Oracle Open Office Writer : jumping -Oracle Open Office Writer : jumping;to bookmarks -Oracle Open Office Writer : jumping;to text elements -Oracle Open Office Writer : justifying text -Oracle Open Office Writer : juxtaposing tables -Oracle Open Office Writer : kerning -Oracle Open Office Writer : kerning;Asian texts -Oracle Open Office Writer : kerning;definition -Oracle Open Office Writer : kerning;in characters -Oracle Open Office Writer : key fields for relations (Base) -Oracle Open Office Writer : keyboard -Oracle Open Office Writer : keyboard;accessibility Oracle Open Office Writer -Oracle Open Office Writer : keyboard;adding or deleting rows/columns -Oracle Open Office Writer : keyboard;assigning/editing shortcut keys -Oracle Open Office Writer : keyboard;bold formatting -Oracle Open Office Writer : keyboard;general commands -Oracle Open Office Writer : keyboard;modifying the behavior of rows/columns -Oracle Open Office Writer : keyboard;navigating and selecting in text -Oracle Open Office Writer : keyboard;removing numbering -Oracle Open Office Writer : keyboard;resizing rows/columns -Oracle Open Office Writer : keys -Oracle Open Office Writer : keys;adding push buttons -Oracle Open Office Writer : keys;primary keys (Base) -Oracle Open Office Writer : kiosk export -Oracle Open Office Writer : labels -Oracle Open Office Writer : labels;creating and synchronizing -Oracle Open Office Writer : labels;for charts -Oracle Open Office Writer : labels;for draw objects -Oracle Open Office Writer : labels;form functions -Oracle Open Office Writer : labels;from databases -Oracle Open Office Writer : labels, see also names/callouts -Oracle Open Office Writer : landscape and portrait -Oracle Open Office Writer : languages -Oracle Open Office Writer : languages;activating modules -Oracle Open Office Writer : languages;Asian support -Oracle Open Office Writer : languages;complex text layout -Oracle Open Office Writer : languages;locale settings -Oracle Open Office Writer : languages;recognition of -Oracle Open Office Writer : languages;selecting for text -Oracle Open Office Writer : languages;setting options -Oracle Open Office Writer : languages;spellcheck -Oracle Open Office Writer : languages;spellchecking and formatting -Oracle Open Office Writer : large handles (Writer) -Oracle Open Office Writer : large icons -Oracle Open Office Writer : layer arrangement -Oracle Open Office Writer : layout -Oracle Open Office Writer : layout;importing Word documents -Oracle Open Office Writer : layout;pages -Oracle Open Office Writer : LDAP server -Oracle Open Office Writer : LDAP server;address books (Base) -Oracle Open Office Writer : LDAP server;sign on options -Oracle Open Office Writer : leading between paragraphs -Oracle Open Office Writer : left alignment of paragraphs -Oracle Open Office Writer : left joins (Base) -Oracle Open Office Writer : Left Page page style -Oracle Open Office Writer : legends -Oracle Open Office Writer : legends;charts -Oracle Open Office Writer : legends;draw objects -Oracle Open Office Writer : legends;rounding corners -Oracle Open Office Writer : legends, see also captions -Oracle Open Office Writer : Letter Wizard -Oracle Open Office Writer : letters -Oracle Open Office Writer : letters;creating form letters -Oracle Open Office Writer : letters;inserting envelopes -Oracle Open Office Writer : levels -Oracle Open Office Writer : levels;changing outline levels -Oracle Open Office Writer : levels;depth stagger -Oracle Open Office Writer : levels;macro security -Oracle Open Office Writer : lexicon, see thesaurus -Oracle Open Office Writer : limits of tables (Writer) -Oracle Open Office Writer : line breaks -Oracle Open Office Writer : line breaks;in cells -Oracle Open Office Writer : line breaks;removing -Oracle Open Office Writer : line charts -Oracle Open Office Writer : line numbers -Oracle Open Office Writer : line spacing -Oracle Open Office Writer : line spacing;context menu in paragraphs -Oracle Open Office Writer : line spacing;paragraph -Oracle Open Office Writer : line styles -Oracle Open Office Writer : line styles;applying -Oracle Open Office Writer : line styles;defining -Oracle Open Office Writer : lines -Oracle Open Office Writer : lines;automatic drawing on/off -Oracle Open Office Writer : lines;defining ends -Oracle Open Office Writer : lines;draw functions -Oracle Open Office Writer : lines;drawing in text -Oracle Open Office Writer : lines;editing points -Oracle Open Office Writer : lines;footnotes/endnotes -Oracle Open Office Writer : lines;inserting horizontal lines -Oracle Open Office Writer : lines;removing automatic lines -Oracle Open Office Writer : lines;under headers/above footers -Oracle Open Office Writer : lines of text -Oracle Open Office Writer : lines of text;alignment -Oracle Open Office Writer : lines of text;indents -Oracle Open Office Writer : lines of text;numbering -Oracle Open Office Writer : lines of text;register-true -Oracle Open Office Writer : lines of text;sorting paragraphs -Oracle Open Office Writer : links -Oracle Open Office Writer : links;between cells and controls -Oracle Open Office Writer : links;by drag and drop -Oracle Open Office Writer : links;character formats -Oracle Open Office Writer : links;definition -Oracle Open Office Writer : links;editing hyperlinks -Oracle Open Office Writer : links;inserting -Oracle Open Office Writer : links;inserting sections -Oracle Open Office Writer : links;inserting text documents as -Oracle Open Office Writer : links;modifying -Oracle Open Office Writer : links;opening files with -Oracle Open Office Writer : links;relational databases (Base) -Oracle Open Office Writer : links;text frames -Oracle Open Office Writer : links;turning off automatic recognition -Oracle Open Office Writer : links;updating options (Writer) -Oracle Open Office Writer : links;updating specific links -Oracle Open Office Writer : list box creation -Oracle Open Office Writer : lists -Oracle Open Office Writer : lists;automatic numbering -Oracle Open Office Writer : lists;AutoText shortcuts -Oracle Open Office Writer : lists;changing levels -Oracle Open Office Writer : lists;combining numbered lists -Oracle Open Office Writer : lists;data assigned to controls -Oracle Open Office Writer : lists;registered databases (Base) -Oracle Open Office Writer : lists;regular expressions -Oracle Open Office Writer : lists;removing/interrupting numbering -Oracle Open Office Writer : live presentations on the Internet -Oracle Open Office Writer : loading -Oracle Open Office Writer : loading;documents -Oracle Open Office Writer : loading;documents from other formats -Oracle Open Office Writer : loading;HTML documents, automatically -Oracle Open Office Writer : loading;Microsoft Office documents with VBA code -Oracle Open Office Writer : loading;reloading -Oracle Open Office Writer : loading;styles from other files -Oracle Open Office Writer : loading;XML files -Oracle Open Office Writer : locale settings -Oracle Open Office Writer : logarithmic scaling along axes -Oracle Open Office Writer : logical expressions -Oracle Open Office Writer : lowercase letters -Oracle Open Office Writer : lowercase letters;font effects -Oracle Open Office Writer : lowercase letters;text -Oracle Open Office Writer : lowering outline levels -Oracle Open Office Writer : Macro Wizard (Base) -Oracle Open Office Writer : macros -Oracle Open Office Writer : macros;assigning to events in forms -Oracle Open Office Writer : macros;attaching new (Base) -Oracle Open Office Writer : macros;in MS Office documents -Oracle Open Office Writer : macros;interrupting -Oracle Open Office Writer : macros;organizing -Oracle Open Office Writer : macros;recording -Oracle Open Office Writer : macros;security -Oracle Open Office Writer : macros;security levels -Oracle Open Office Writer : macros;security warning dialog -Oracle Open Office Writer : macros;selecting security warnings -Oracle Open Office Writer : magnifiers -Oracle Open Office Writer : mail merge -Oracle Open Office Writer : manual hyphenation in text -Oracle Open Office Writer : manual numbering in text -Oracle Open Office Writer : manual page breaks -Oracle Open Office Writer : marginal numbers on text pages -Oracle Open Office Writer : margins -Oracle Open Office Writer : margins;pages -Oracle Open Office Writer : margins;setting with the mouse -Oracle Open Office Writer : margins;shadows -Oracle Open Office Writer : marking changes -Oracle Open Office Writer : marking, see selecting -Oracle Open Office Writer : master documents -Oracle Open Office Writer : master documents;creating/editing/exporting -Oracle Open Office Writer : master documents;indexes -Oracle Open Office Writer : master documents;properties -Oracle Open Office Writer : matching conditional text in fields -Oracle Open Office Writer : Math formula editor -Oracle Open Office Writer : mean value lines in charts -Oracle Open Office Writer : measurement units -Oracle Open Office Writer : measurement units;changing on rulers -Oracle Open Office Writer : measurement units;converting -Oracle Open Office Writer : measurement units;selecting -Oracle Open Office Writer : Media Player window -Oracle Open Office Writer : menus -Oracle Open Office Writer : menus;activating context menus -Oracle Open Office Writer : menus;assigning macros -Oracle Open Office Writer : menus;customizing -Oracle Open Office Writer : merging -Oracle Open Office Writer : merging;cells -Oracle Open Office Writer : merging;cells, by keyboard -Oracle Open Office Writer : merging;documents -Oracle Open Office Writer : merging;indexes -Oracle Open Office Writer : merging;numbered lists -Oracle Open Office Writer : merging;tables -Oracle Open Office Writer : META tags -Oracle Open Office Writer : metrics -Oracle Open Office Writer : metrics;converting -Oracle Open Office Writer : metrics;document formatting (Writer) -Oracle Open Office Writer : metrics;in sheets -Oracle Open Office Writer : Microsoft Office -Oracle Open Office Writer : Microsoft Office;Access databases (base) -Oracle Open Office Writer : Microsoft Office;as default file format -Oracle Open Office Writer : Microsoft Office;document import restrictions -Oracle Open Office Writer : Microsoft Office;feature comparisons -Oracle Open Office Writer : Microsoft Office;importing password protected files -Oracle Open Office Writer : Microsoft Office;importing Word documents -Oracle Open Office Writer : Microsoft Office;importing/exporting VBA code -Oracle Open Office Writer : Microsoft Office;new users information -Oracle Open Office Writer : Microsoft Office;opening Microsoft documents -Oracle Open Office Writer : Microsoft Office;reassigning document types -Oracle Open Office Writer : migrating macros (Base) -Oracle Open Office Writer : mirrored page layout -Oracle Open Office Writer : mobile device filters -Oracle Open Office Writer : models in XForms -Oracle Open Office Writer : modifying, see changing -Oracle Open Office Writer : months -Oracle Open Office Writer : months;automatically completing -Oracle Open Office Writer : more controls -Oracle Open Office Writer : mosaic filter -Oracle Open Office Writer : mouse -Oracle Open Office Writer : mouse;moving and copying text -Oracle Open Office Writer : mouse;pointers when using drag and drop -Oracle Open Office Writer : mouse;positioning -Oracle Open Office Writer : movies -Oracle Open Office Writer : moving -Oracle Open Office Writer : moving;headings -Oracle Open Office Writer : moving;objects and frames -Oracle Open Office Writer : moving;tab stops on ruler -Oracle Open Office Writer : moving;text sections -Oracle Open Office Writer : moving;toolbars -Oracle Open Office Writer : moving;using guide lines in presentations -Oracle Open Office Writer : MS ADO interface (Base) -Oracle Open Office Writer : multi-column text -Oracle Open Office Writer : multi-line titles in forms -Oracle Open Office Writer : multi-page tables -Oracle Open Office Writer : multi-page view of documents -Oracle Open Office Writer : multiple documents -Oracle Open Office Writer : multiple documents;indexes -Oracle Open Office Writer : multiple documents;opening -Oracle Open Office Writer : multiple selection -Oracle Open Office Writer : music -Oracle Open Office Writer : My Documents folder -Oracle Open Office Writer : My Documents folder;changing work directory -Oracle Open Office Writer : My Documents folder;opening -Oracle Open Office Writer : MySQL databases (Base) -Oracle Open Office Writer : names -Oracle Open Office Writer : names;chapter names in headers -Oracle Open Office Writer : names;multi-line titles -Oracle Open Office Writer : names;objects -Oracle Open Office Writer : names, see also labels/callouts -Oracle Open Office Writer : namespace organization in XForms -Oracle Open Office Writer : native SQL (Base) -Oracle Open Office Writer : navigating -Oracle Open Office Writer : navigating;in documents -Oracle Open Office Writer : navigating;in text, with keyboard -Oracle Open Office Writer : Navigation bar -Oracle Open Office Writer : Navigation bar;controls -Oracle Open Office Writer : Navigation bar;forms -Oracle Open Office Writer : Navigator -Oracle Open Office Writer : Navigator;comments -Oracle Open Office Writer : Navigator;contents as lists -Oracle Open Office Writer : Navigator;docking -Oracle Open Office Writer : Navigator;docking and resizing -Oracle Open Office Writer : Navigator;heading levels and chapters -Oracle Open Office Writer : Navigator;inserting hyperlinks -Oracle Open Office Writer : Navigator;master documents -Oracle Open Office Writer : Navigator;overview in texts -Oracle Open Office Writer : Navigator;working with -Oracle Open Office Writer : net charts -Oracle Open Office Writer : network identity options -Oracle Open Office Writer : networks and AutoText directories -Oracle Open Office Writer : new databases -Oracle Open Office Writer : new documents -Oracle Open Office Writer : new lines in cells -Oracle Open Office Writer : new page styles from selection -Oracle Open Office Writer : new windows -Oracle Open Office Writer : next page number in footers -Oracle Open Office Writer : non-breaking dashes -Oracle Open Office Writer : non-breaking spaces (Writer) -Oracle Open Office Writer : non-printing characters (Writer) -Oracle Open Office Writer : non-printing text -Oracle Open Office Writer : number formats -Oracle Open Office Writer : number formats;codes -Oracle Open Office Writer : number formats;formats -Oracle Open Office Writer : number formats;recognition in text tables -Oracle Open Office Writer : number of characters -Oracle Open Office Writer : number of pages -Oracle Open Office Writer : number of sheets -Oracle Open Office Writer : number of tables -Oracle Open Office Writer : number of words -Oracle Open Office Writer : numbering -Oracle Open Office Writer : numbering;captions -Oracle Open Office Writer : numbering;changing the level of -Oracle Open Office Writer : numbering;combining -Oracle Open Office Writer : numbering;headings -Oracle Open Office Writer : numbering;lines -Oracle Open Office Writer : numbering;lists, while typing -Oracle Open Office Writer : numbering;manually/by styles -Oracle Open Office Writer : numbering;options -Oracle Open Office Writer : numbering;pages -Oracle Open Office Writer : numbering;paragraphs, on and off -Oracle Open Office Writer : numbering;quotations/similar items -Oracle Open Office Writer : numbering;removing/interrupting -Oracle Open Office Writer : numbering;style categories -Oracle Open Office Writer : numbering;turning off -Oracle Open Office Writer : numbering;using automatically -Oracle Open Office Writer : numbers -Oracle Open Office Writer : numbers;automatic recognition in text tables -Oracle Open Office Writer : numbers;date, time and currency formats -Oracle Open Office Writer : numbers;decimal places (Calc) -Oracle Open Office Writer : numbers;line numbering -Oracle Open Office Writer : numbers;lists -Oracle Open Office Writer : numerical fields in forms -Oracle Open Office Writer : objects -Oracle Open Office Writer : objects;always moveable (Impress/Draw) -Oracle Open Office Writer : objects;anchoring options -Oracle Open Office Writer : objects;arranging within stacks -Oracle Open Office Writer : objects;captioning -Oracle Open Office Writer : objects;captioning automatically -Oracle Open Office Writer : objects;contour wrap -Oracle Open Office Writer : objects;copying when moving in presentations -Oracle Open Office Writer : objects;cross-referencing -Oracle Open Office Writer : objects;defining borders -Oracle Open Office Writer : objects;defining hyperlinks -Oracle Open Office Writer : objects;definition -Oracle Open Office Writer : objects;displaying in spreadsheets -Oracle Open Office Writer : objects;displaying in text documents -Oracle Open Office Writer : objects;editing -Oracle Open Office Writer : objects;finding by Navigator -Oracle Open Office Writer : objects;inserting from Gallery -Oracle Open Office Writer : objects;inserting OLE objects -Oracle Open Office Writer : objects;moving and resizing with keyboard -Oracle Open Office Writer : objects;moving and resizing with mouse -Oracle Open Office Writer : objects;naming -Oracle Open Office Writer : objects;opening -Oracle Open Office Writer : objects;properties of charts -Oracle Open Office Writer : objects;quickly moving to -Oracle Open Office Writer : objects;quickly moving to, within text -Oracle Open Office Writer : objects;titles and descriptions -Oracle Open Office Writer : ODBC -Oracle Open Office Writer : ODBC;database (Base) -Oracle Open Office Writer : ODBC;definition -Oracle Open Office Writer : ODF file formats -Oracle Open Office Writer : Office -Oracle Open Office Writer : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Writer : OLE -Oracle Open Office Writer : OLE;definition -Oracle Open Office Writer : OLE objects -Oracle Open Office Writer : OLE objects;arranging within stacks -Oracle Open Office Writer : OLE objects;borders -Oracle Open Office Writer : OLE objects;captions (Writer) -Oracle Open Office Writer : OLE objects;cross-referencing -Oracle Open Office Writer : OLE objects;inserting -Oracle Open Office Writer : OLE objects;inserting tables in -Oracle Open Office Writer : OLE objects;number of -Oracle Open Office Writer : OLE objects;protecting -Oracle Open Office Writer : one and a half line spacing in text -Oracle Open Office Writer : online feedback options -Oracle Open Office Writer : online registration -Oracle Open Office Writer : online update options -Oracle Open Office Writer : online updates -Oracle Open Office Writer : online updates;checking automatically -Oracle Open Office Writer : online updates;checking manually -Oracle Open Office Writer : Open/Save dialogs -Oracle Open Office Writer : OpenDocument file formats -Oracle Open Office Writer : OpenGL -Oracle Open Office Writer : OpenGL;definition -Oracle Open Office Writer : opening -Oracle Open Office Writer : opening;context menus -Oracle Open Office Writer : opening;database files -Oracle Open Office Writer : opening;dialog settings -Oracle Open Office Writer : opening;documents -Oracle Open Office Writer : opening;documents from other formats -Oracle Open Office Writer : opening;documents on WebDAV server -Oracle Open Office Writer : opening;files with links -Oracle Open Office Writer : opening;files, with placeholders -Oracle Open Office Writer : opening;forms -Oracle Open Office Writer : opening;Microsoft Office files -Oracle Open Office Writer : opening;mobile device documents -Oracle Open Office Writer : opening;objects -Oracle Open Office Writer : opening;reports -Oracle Open Office Writer : opening;several files -Oracle Open Office Writer : opening;XForms -Oracle Open Office Writer : operators -Oracle Open Office Writer : operators;default filters -Oracle Open Office Writer : operators;in formulas -Oracle Open Office Writer : optional hyphens (Writer) -Oracle Open Office Writer : options -Oracle Open Office Writer : options;accessibility -Oracle Open Office Writer : options;appearance -Oracle Open Office Writer : options;compatibility (Writer) -Oracle Open Office Writer : options;improvement program -Oracle Open Office Writer : options;network identity -Oracle Open Office Writer : options;online update -Oracle Open Office Writer : options;smart tags -Oracle Open Office Writer : options;tools -Oracle Open Office Writer : Oracle databases (base) -Oracle Open Office Writer : Oracle Open Office Base data sources -Oracle Open Office Writer : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Writer : Oracle Open Office documents -Oracle Open Office Writer : Oracle Open Office documents;mobile device filters -Oracle Open Office Writer : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Writer : Oracle Open Office Math start -Oracle Open Office Writer : Oracle Open Office Writer -Oracle Open Office Writer : Oracle Open Office Writer;instructions -Oracle Open Office Writer : Oracle Open Office Writer;special HTML tags -Oracle Open Office Writer : order of chart data -Oracle Open Office Writer : ordering -Oracle Open Office Writer : ordering;objects -Oracle Open Office Writer : ordering;printing in reverse order -Oracle Open Office Writer : organizing -Oracle Open Office Writer : organizing;footnotes -Oracle Open Office Writer : organizing;macros and scripts -Oracle Open Office Writer : organizing;namespaces in XForms -Oracle Open Office Writer : organizing;styles -Oracle Open Office Writer : organizing;templates -Oracle Open Office Writer : organizing;templates (guide) -Oracle Open Office Writer : orientation of pages -Oracle Open Office Writer : original size -Oracle Open Office Writer : original size;printing in Oracle Open Office Math -Oracle Open Office Writer : original size;restoring after cropping -Oracle Open Office Writer : orphans -Oracle Open Office Writer : outlines -Oracle Open Office Writer : outlines;arranging chapters -Oracle Open Office Writer : outlines;font effects -Oracle Open Office Writer : outlines;numbering -Oracle Open Office Writer : outlines;outline symbols -Oracle Open Office Writer : outlines;sending to presentations -Oracle Open Office Writer : overviews -Oracle Open Office Writer : overviews;Navigator in text documents -Oracle Open Office Writer : overviews;printing multi-page view -Oracle Open Office Writer : overwrite mode -Oracle Open Office Writer : packages, see extensions -Oracle Open Office Writer : page breaks -Oracle Open Office Writer : page breaks;displaying (Calc) -Oracle Open Office Writer : page breaks;inserting and deleting -Oracle Open Office Writer : page breaks;tables -Oracle Open Office Writer : page counts -Oracle Open Office Writer : page formats -Oracle Open Office Writer : page formats;changing individual pages -Oracle Open Office Writer : page formats;maximizing -Oracle Open Office Writer : page formats;restriction -Oracle Open Office Writer : page margins on rulers -Oracle Open Office Writer : page numbers -Oracle Open Office Writer : page numbers;continuation pages -Oracle Open Office Writer : page numbers;footers -Oracle Open Office Writer : page numbers;inserting/defining/formatting -Oracle Open Office Writer : page styles -Oracle Open Office Writer : page styles;backgrounds -Oracle Open Office Writer : page styles;changing -Oracle Open Office Writer : page styles;changing from selection -Oracle Open Office Writer : page styles;creating and applying -Oracle Open Office Writer : page styles;editing/applying with statusbar -Oracle Open Office Writer : page styles;left and right pages -Oracle Open Office Writer : page styles;orientation/scope -Oracle Open Office Writer : page styles;page numbering -Oracle Open Office Writer : page styles;style categories -Oracle Open Office Writer : pages -Oracle Open Office Writer : pages;backgrounds -Oracle Open Office Writer : pages;backgrounds in all applications -Oracle Open Office Writer : pages;continuation pages -Oracle Open Office Writer : pages;defining borders -Oracle Open Office Writer : pages;formatting and numbering -Oracle Open Office Writer : pages;inserting/deleting page breaks -Oracle Open Office Writer : pages;jumping to -Oracle Open Office Writer : pages;left and right pages -Oracle Open Office Writer : pages;number of -Oracle Open Office Writer : pages;numbers and count of -Oracle Open Office Writer : pages;orientation -Oracle Open Office Writer : pages;previews -Oracle Open Office Writer : pages;printing multiple on one sheet -Oracle Open Office Writer : pages;printing page names in presentations -Oracle Open Office Writer : pages;register-true -Oracle Open Office Writer : pages;scaling -Oracle Open Office Writer : pages;selecting one to print -Oracle Open Office Writer : paint box -Oracle Open Office Writer : paint can symbol -Oracle Open Office Writer : pair kerning -Oracle Open Office Writer : Palm file filters -Oracle Open Office Writer : paper formats -Oracle Open Office Writer : paper orientation -Oracle Open Office Writer : paper size warning -Oracle Open Office Writer : paper tray selection -Oracle Open Office Writer : paper trays -Oracle Open Office Writer : paragraph marks -Oracle Open Office Writer : paragraph marks;displaying (Writer) -Oracle Open Office Writer : paragraph marks;finding & replacing -Oracle Open Office Writer : paragraph styles -Oracle Open Office Writer : paragraph styles;languages -Oracle Open Office Writer : paragraph styles;modifying basic fonts -Oracle Open Office Writer : paragraph styles;numbering -Oracle Open Office Writer : paragraph styles;style categories -Oracle Open Office Writer : paragraphs -Oracle Open Office Writer : paragraphs;alignment -Oracle Open Office Writer : paragraphs;Asian typography -Oracle Open Office Writer : paragraphs;automatic numbering -Oracle Open Office Writer : paragraphs;backgrounds -Oracle Open Office Writer : paragraphs;bulleted -Oracle Open Office Writer : paragraphs;defining borders -Oracle Open Office Writer : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Writer : paragraphs;hiding -Oracle Open Office Writer : paragraphs;increasing indents of -Oracle Open Office Writer : paragraphs;indents -Oracle Open Office Writer : paragraphs;indents, margins and columns -Oracle Open Office Writer : paragraphs;inserting before/after tables -Oracle Open Office Writer : paragraphs;inserting bullets -Oracle Open Office Writer : paragraphs;joining -Oracle Open Office Writer : paragraphs;keeping together at breaks -Oracle Open Office Writer : paragraphs;line numbers -Oracle Open Office Writer : paragraphs;moving by keyboard -Oracle Open Office Writer : paragraphs;numbering automatically -Oracle Open Office Writer : paragraphs;numbering non-consecutive -Oracle Open Office Writer : paragraphs;numbering on/off -Oracle Open Office Writer : paragraphs;register-true -Oracle Open Office Writer : paragraphs;removing blank ones -Oracle Open Office Writer : paragraphs;spacing -Oracle Open Office Writer : paragraphs;tab stops -Oracle Open Office Writer : parameters -Oracle Open Office Writer : parameters;command line -Oracle Open Office Writer : parameters;queries (Base) -Oracle Open Office Writer : passwords for protecting contents -Oracle Open Office Writer : pasting -Oracle Open Office Writer : pasting;cell ranges -Oracle Open Office Writer : pasting;cell ranges from spreadsheets -Oracle Open Office Writer : pasting;cut/copied text sections -Oracle Open Office Writer : pasting;data from text documents -Oracle Open Office Writer : pasting;draw objects -Oracle Open Office Writer : pasting;draw objects from other documents -Oracle Open Office Writer : pasting;formatted/unformatted text -Oracle Open Office Writer : pasting;from data source view -Oracle Open Office Writer : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Writer : pasting;pictures from other documents -Oracle Open Office Writer : pasting;results of formulas -Oracle Open Office Writer : pasting;sheet areas in text documents -Oracle Open Office Writer : pasting;to Gallery -Oracle Open Office Writer : paths -Oracle Open Office Writer : paths;changing work directory -Oracle Open Office Writer : paths;defaults -Oracle Open Office Writer : pattern editor -Oracle Open Office Writer : pattern fields -Oracle Open Office Writer : pattern fields;form functions -Oracle Open Office Writer : patterns for objects -Oracle Open Office Writer : PDF -Oracle Open Office Writer : PDF;export -Oracle Open Office Writer : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Writer : personal data input -Oracle Open Office Writer : phonetic guide -Oracle Open Office Writer : picklist creation -Oracle Open Office Writer : pictures -Oracle Open Office Writer : pictures;adding to Gallery -Oracle Open Office Writer : pictures;anchoring options -Oracle Open Office Writer : pictures;arranging within stacks -Oracle Open Office Writer : pictures;assigning macros -Oracle Open Office Writer : pictures;backgrounds -Oracle Open Office Writer : pictures;borders -Oracle Open Office Writer : pictures;captions (Writer) -Oracle Open Office Writer : pictures;changing paths -Oracle Open Office Writer : pictures;cropping and zooming -Oracle Open Office Writer : pictures;cross-referencing -Oracle Open Office Writer : pictures;defining hyperlinks -Oracle Open Office Writer : pictures;displaying in Calc -Oracle Open Office Writer : pictures;displaying in Writer (Writer) -Oracle Open Office Writer : pictures;do not show -Oracle Open Office Writer : pictures;drag and drop between documents -Oracle Open Office Writer : pictures;drawing -Oracle Open Office Writer : pictures;editing -Oracle Open Office Writer : pictures;filters -Oracle Open Office Writer : pictures;ImageMap -Oracle Open Office Writer : pictures;inserting automatically -Oracle Open Office Writer : pictures;inserting by dialog -Oracle Open Office Writer : pictures;inserting from Draw -Oracle Open Office Writer : pictures;inserting from Gallery -Oracle Open Office Writer : pictures;inserting from Gallery into text -Oracle Open Office Writer : pictures;inserting options -Oracle Open Office Writer : pictures;number of -Oracle Open Office Writer : pictures;printing -Oracle Open Office Writer : pictures;scaling/resizing -Oracle Open Office Writer : pictures;scanning -Oracle Open Office Writer : pie charts -Oracle Open Office Writer : pie charts;options -Oracle Open Office Writer : pie charts;types -Oracle Open Office Writer : pixel editor -Oracle Open Office Writer : pixel graphics -Oracle Open Office Writer : pixel graphics;inserting and editing -Oracle Open Office Writer : pixel patterns -Oracle Open Office Writer : placeholders -Oracle Open Office Writer : placeholders;in SQL queries -Oracle Open Office Writer : placeholders;on opening files -Oracle Open Office Writer : placing toolbars -Oracle Open Office Writer : playing movies and sound files -Oracle Open Office Writer : plotting data as charts -Oracle Open Office Writer : plug-ins -Oracle Open Office Writer : plug-ins;activating and deactivating -Oracle Open Office Writer : plug-ins;definition -Oracle Open Office Writer : plug-ins;inserting -Oracle Open Office Writer : pocket device appliances -Oracle Open Office Writer : Pocket PC file filters -Oracle Open Office Writer : points -Oracle Open Office Writer : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Writer : polygon drawing -Oracle Open Office Writer : pop-art filter -Oracle Open Office Writer : portable document format -Oracle Open Office Writer : portrait and landscape -Oracle Open Office Writer : positioning -Oracle Open Office Writer : positioning;axes -Oracle Open Office Writer : positioning;draw objects and controls -Oracle Open Office Writer : positioning;fonts -Oracle Open Office Writer : positioning;objects -Oracle Open Office Writer : positioning;objects (guide) -Oracle Open Office Writer : positioning;toolbars -Oracle Open Office Writer : post method for form transmissions -Oracle Open Office Writer : posterizing filter -Oracle Open Office Writer : PostScript -Oracle Open Office Writer : PostScript;creating files -Oracle Open Office Writer : PostScript;PDF converter, UNIX -Oracle Open Office Writer : PowerPoint export -Oracle Open Office Writer : precision as shown (Calc) -Oracle Open Office Writer : predefining fonts -Oracle Open Office Writer : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Writer : presentations -Oracle Open Office Writer : presentations;creating/opening -Oracle Open Office Writer : presentations;inserting spreadsheet cells -Oracle Open Office Writer : presentations;live on the Internet -Oracle Open Office Writer : presentations;print menu -Oracle Open Office Writer : presentations;saving -Oracle Open Office Writer : presentations;saving automatically -Oracle Open Office Writer : presentations;saving in other formats -Oracle Open Office Writer : presentations;sending as e-mail -Oracle Open Office Writer : presentations;starting with wizard -Oracle Open Office Writer : presentations;wizards -Oracle Open Office Writer : Presenter Console shortcuts -Oracle Open Office Writer : press buttons, see push buttons -Oracle Open Office Writer : previews -Oracle Open Office Writer : previews;book preview -Oracle Open Office Writer : previews;fonts lists -Oracle Open Office Writer : previews;print layouts -Oracle Open Office Writer : primary keys -Oracle Open Office Writer : primary keys;defining -Oracle Open Office Writer : primary keys;design view -Oracle Open Office Writer : primary keys;inserting (Base) -Oracle Open Office Writer : print area selection -Oracle Open Office Writer : print layout checks -Oracle Open Office Writer : printer metrics for document formatting (Writer) -Oracle Open Office Writer : printers -Oracle Open Office Writer : printers;adding, UNIX -Oracle Open Office Writer : printers;choosing -Oracle Open Office Writer : printers;default printer -Oracle Open Office Writer : printers;faxes under UNIX -Oracle Open Office Writer : printers;maximum page formats -Oracle Open Office Writer : printers;paper trays -Oracle Open Office Writer : printers;properties -Oracle Open Office Writer : printing -Oracle Open Office Writer : printing;AutoText shortcuts -Oracle Open Office Writer : printing;black and white -Oracle Open Office Writer : printing;brochures -Oracle Open Office Writer : printing;colors in grayscale -Oracle Open Office Writer : printing;comments -Oracle Open Office Writer : printing;copies -Oracle Open Office Writer : printing;creating individual jobs -Oracle Open Office Writer : printing;dates in presentations -Oracle Open Office Writer : printing;directly -Oracle Open Office Writer : printing;documents -Oracle Open Office Writer : printing;drawings defaults -Oracle Open Office Writer : printing;elements in text documents -Oracle Open Office Writer : printing;faster -Oracle Open Office Writer : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Writer : printing;fitting to pages in presentations -Oracle Open Office Writer : printing;formulas in Oracle Open Office Math -Oracle Open Office Writer : printing;hidden pages of presentations -Oracle Open Office Writer : printing;hiding text frames from printing -Oracle Open Office Writer : printing;in original size in Oracle Open Office Math -Oracle Open Office Writer : printing;individual brochures -Oracle Open Office Writer : printing;left/right pages -Oracle Open Office Writer : printing;multiple pages per sheet -Oracle Open Office Writer : printing;portrait/landscape format -Oracle Open Office Writer : printing;previews -Oracle Open Office Writer : printing;queries (Base) -Oracle Open Office Writer : printing;reverse order -Oracle Open Office Writer : printing;scaling in Oracle Open Office Math -Oracle Open Office Writer : printing;selections -Oracle Open Office Writer : printing;text always in black -Oracle Open Office Writer : printing;text in reverse order -Oracle Open Office Writer : printing;tiling pages in presentations -Oracle Open Office Writer : printing;transparencies -Oracle Open Office Writer : printing;warnings -Oracle Open Office Writer : printing;without scaling in presentations -Oracle Open Office Writer : printing speed -Oracle Open Office Writer : programming -Oracle Open Office Writer : programming;Oracle Open Office -Oracle Open Office Writer : programming;scripting -Oracle Open Office Writer : promoting heading levels -Oracle Open Office Writer : properties -Oracle Open Office Writer : properties;charts -Oracle Open Office Writer : properties;fields -Oracle Open Office Writer : properties;fields in databases -Oracle Open Office Writer : properties;files -Oracle Open Office Writer : properties;form controls -Oracle Open Office Writer : properties;forms -Oracle Open Office Writer : properties;printers -Oracle Open Office Writer : properties;smooth lines in line charts/XY charts -Oracle Open Office Writer : proportional distribution of tables -Oracle Open Office Writer : protected contents -Oracle Open Office Writer : protected dashes -Oracle Open Office Writer : protected database tables -Oracle Open Office Writer : protected documents -Oracle Open Office Writer : protected spaces -Oracle Open Office Writer : protected spaces;inserting -Oracle Open Office Writer : protected spaces;showing (Writer) -Oracle Open Office Writer : protecting -Oracle Open Office Writer : protecting;contents -Oracle Open Office Writer : protecting;recorded changes -Oracle Open Office Writer : protecting;sections -Oracle Open Office Writer : protecting;tables and sections -Oracle Open Office Writer : protecting;text flow -Oracle Open Office Writer : proxy settings -Oracle Open Office Writer : push buttons -Oracle Open Office Writer : push buttons;adding to documents -Oracle Open Office Writer : push buttons;creating -Oracle Open Office Writer : queries -Oracle Open Office Writer : queries;copying (Base) -Oracle Open Office Writer : queries;creating in design view (Base) -Oracle Open Office Writer : queries;creating in SQL view -Oracle Open Office Writer : queries;defining (Base) -Oracle Open Office Writer : queries;deleting table links (Base) -Oracle Open Office Writer : queries;editing in data source view -Oracle Open Office Writer : queries;formulating filter conditions (Base) -Oracle Open Office Writer : queries;joining tables (Base) -Oracle Open Office Writer : queries;missing elements (Base) -Oracle Open Office Writer : queries;overview (Base) -Oracle Open Office Writer : queries;parameter queries (Base) -Oracle Open Office Writer : queries;printing (Base) -Oracle Open Office Writer : Query Wizard (Base) -Oracle Open Office Writer : Quickstarter -Oracle Open Office Writer : quotation marks -Oracle Open Office Writer : quotation marks;changing automatically -Oracle Open Office Writer : quotation marks;replacing -Oracle Open Office Writer : quotes -Oracle Open Office Writer : quotes;custom -Oracle Open Office Writer : radar charts, see net charts -Oracle Open Office Writer : radio button creation -Oracle Open Office Writer : read-only documents -Oracle Open Office Writer : read-only documents;cursor -Oracle Open Office Writer : read-only documents;database tables on/off -Oracle Open Office Writer : read-only documents;editing -Oracle Open Office Writer : read-only documents;opening documents as -Oracle Open Office Writer : read-only items in Data Navigator -Oracle Open Office Writer : read-only sections -Oracle Open Office Writer : rearranging headings -Oracle Open Office Writer : recognition -Oracle Open Office Writer : recognition;languages -Oracle Open Office Writer : recognition;numbers -Oracle Open Office Writer : recognizing URLs automatically -Oracle Open Office Writer : recording -Oracle Open Office Writer : recording;changes -Oracle Open Office Writer : recording;macros -Oracle Open Office Writer : records -Oracle Open Office Writer : records;inserting comments -Oracle Open Office Writer : records;protecting -Oracle Open Office Writer : records;saving -Oracle Open Office Writer : records;searching in databases -Oracle Open Office Writer : rectangles with round corners -Oracle Open Office Writer : recursions in spreadsheets -Oracle Open Office Writer : redo command -Oracle Open Office Writer : reduced printing -Oracle Open Office Writer : reduced printing of multiple pages -Oracle Open Office Writer : reducing rows and columns in text tables -Oracle Open Office Writer : reference lines -Oracle Open Office Writer : references -Oracle Open Office Writer : references;displaying in color (Calc) -Oracle Open Office Writer : references;expanding (Calc) -Oracle Open Office Writer : references;in Writer tables -Oracle Open Office Writer : references;inserting cross-references -Oracle Open Office Writer : references;iterative (Calc) -Oracle Open Office Writer : references;modifying cross-references -Oracle Open Office Writer : refusing word completions -Oracle Open Office Writer : register-true -Oracle Open Office Writer : register-true;definition -Oracle Open Office Writer : register-true;pages and paragraphs -Oracle Open Office Writer : registering -Oracle Open Office Writer : registering;address books -Oracle Open Office Writer : registering;databases (Base) -Oracle Open Office Writer : registering;Oracle Open Office -Oracle Open Office Writer : regression curves in charts -Oracle Open Office Writer : regular expressions -Oracle Open Office Writer : regular expressions;list of -Oracle Open Office Writer : regular expressions;opening files -Oracle Open Office Writer : regular expressions;searching -Oracle Open Office Writer : rejecting word completions -Oracle Open Office Writer : related words in thesaurus -Oracle Open Office Writer : relational databases (Base) -Oracle Open Office Writer : relations -Oracle Open Office Writer : relations;creating and deleting (Base) -Oracle Open Office Writer : relations;joining tables (Base) -Oracle Open Office Writer : relations;properties (Base) -Oracle Open Office Writer : relative distribution of table cells -Oracle Open Office Writer : relative hyperlinks -Oracle Open Office Writer : relative saving of URLs -Oracle Open Office Writer : reloading -Oracle Open Office Writer : reloading;documents -Oracle Open Office Writer : reloading;HTML documents, automatically -Oracle Open Office Writer : remarks, see also comments -Oracle Open Office Writer : remote configurations -Oracle Open Office Writer : remove noise filter -Oracle Open Office Writer : removing -Oracle Open Office Writer : removing;bullets and numbering -Oracle Open Office Writer : removing;bullets in text documents -Oracle Open Office Writer : removing;cell protection in text documents -Oracle Open Office Writer : removing;form filters -Oracle Open Office Writer : removing;subdocuments -Oracle Open Office Writer : removing, see also deleting -Oracle Open Office Writer : reorganizing charts -Oracle Open Office Writer : repeating -Oracle Open Office Writer : repeating;commands -Oracle Open Office Writer : repeating;table headings after page breaks -Oracle Open Office Writer : replacement options -Oracle Open Office Writer : replacement table -Oracle Open Office Writer : replacing -Oracle Open Office Writer : replacing;AutoCorrect function -Oracle Open Office Writer : replacing;dashes -Oracle Open Office Writer : replacing;databases -Oracle Open Office Writer : replacing;fields, by text -Oracle Open Office Writer : replacing;objects from Gallery -Oracle Open Office Writer : replacing;tab stops (regular expressions) -Oracle Open Office Writer : replacing;text and text formats -Oracle Open Office Writer : Report Builder -Oracle Open Office Writer : reports -Oracle Open Office Writer : reports;creating -Oracle Open Office Writer : reports;error reports -Oracle Open Office Writer : reports;opening and editing -Oracle Open Office Writer : reports;templates -Oracle Open Office Writer : resetting -Oracle Open Office Writer : resetting;fonts -Oracle Open Office Writer : resetting;templates -Oracle Open Office Writer : resizing -Oracle Open Office Writer : resizing;aspect ratio -Oracle Open Office Writer : resizing;objects and frames, by keyboard -Oracle Open Office Writer : resizing;objects, by mouse -Oracle Open Office Writer : resizing;rows and columns in text tables -Oracle Open Office Writer : resizing;text frames, by mouse -Oracle Open Office Writer : resizing;windows -Oracle Open Office Writer : resizing, see also scaling/zooming -Oracle Open Office Writer : resolution when printing bitmaps -Oracle Open Office Writer : restoring -Oracle Open Office Writer : restoring;default formatting -Oracle Open Office Writer : restoring;editing -Oracle Open Office Writer : reversing printing order -Oracle Open Office Writer : review function -Oracle Open Office Writer : review function;accepting or rejecting changes -Oracle Open Office Writer : review function;comparing documents -Oracle Open Office Writer : review function;protecting records -Oracle Open Office Writer : review function;recording changes example -Oracle Open Office Writer : rich text control -Oracle Open Office Writer : right alignment of paragraphs -Oracle Open Office Writer : right indents in paragraphs -Oracle Open Office Writer : right joins (Base) -Oracle Open Office Writer : right pages -Oracle Open Office Writer : right-to-left text -Oracle Open Office Writer : rising outline levels -Oracle Open Office Writer : rotating -Oracle Open Office Writer : rotating;3D text -Oracle Open Office Writer : rotating;text -Oracle Open Office Writer : round corners -Oracle Open Office Writer : rounding precision (Calc) -Oracle Open Office Writer : row breaks in text tables -Oracle Open Office Writer : row headers -Oracle Open Office Writer : row headers;displaying (Calc) -Oracle Open Office Writer : row headers;highlighting (Calc) -Oracle Open Office Writer : rows -Oracle Open Office Writer : rows;inserting in tables, using icon -Oracle Open Office Writer : rows;inserting/deleting in tables by keyboard -Oracle Open Office Writer : rows;register-true text -Oracle Open Office Writer : rows;selecting -Oracle Open Office Writer : rulers -Oracle Open Office Writer : rulers;default settings -Oracle Open Office Writer : rulers;measurement units -Oracle Open Office Writer : rulers;using rulers -Oracle Open Office Writer : rulers;visible in presentations -Oracle Open Office Writer : rules -Oracle Open Office Writer : running titles in headers -Oracle Open Office Writer : samples and templates -Oracle Open Office Writer : saving -Oracle Open Office Writer : saving;default file formats -Oracle Open Office Writer : saving;dialog settings -Oracle Open Office Writer : saving;documents -Oracle Open Office Writer : saving;documents for mobile devices -Oracle Open Office Writer : saving;documents in other formats -Oracle Open Office Writer : saving;documents, automatically -Oracle Open Office Writer : saving;in HTML format -Oracle Open Office Writer : saving;in Microsoft Office file format -Oracle Open Office Writer : saving;options -Oracle Open Office Writer : saving;templates -Oracle Open Office Writer : saving;to XML -Oracle Open Office Writer : saving;VBA code in Microsoft Office documents -Oracle Open Office Writer : saving;with password by default -Oracle Open Office Writer : saving as command -Oracle Open Office Writer : saving as command;precautions -Oracle Open Office Writer : scaling -Oracle Open Office Writer : scaling;axes -Oracle Open Office Writer : scaling;font sizes in user interface -Oracle Open Office Writer : scaling;objects -Oracle Open Office Writer : scaling;pictures -Oracle Open Office Writer : scaling;printing in Oracle Open Office Math -Oracle Open Office Writer : scaling;text frames, by mouse -Oracle Open Office Writer : scaling;text in charts -Oracle Open Office Writer : scaling;when printing presentations -Oracle Open Office Writer : scaling, see also zooming -Oracle Open Office Writer : scanning pictures -Oracle Open Office Writer : scatter charts -Oracle Open Office Writer : scope of page styles -Oracle Open Office Writer : screen -Oracle Open Office Writer : screen;full screen views -Oracle Open Office Writer : screen;scaling -Oracle Open Office Writer : screen magnifiers -Oracle Open Office Writer : screen readers -Oracle Open Office Writer : script organization -Oracle Open Office Writer : scrollbars -Oracle Open Office Writer : scrollbars;controls -Oracle Open Office Writer : scrollbars;displaying (Calc) -Oracle Open Office Writer : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Writer : search criteria for database functions in cells -Oracle Open Office Writer : search engines -Oracle Open Office Writer : search engines;definition -Oracle Open Office Writer : search engines;selecting -Oracle Open Office Writer : searching -Oracle Open Office Writer : searching;all sheets -Oracle Open Office Writer : searching;cross-references -Oracle Open Office Writer : searching;databases -Oracle Open Office Writer : searching;form filters -Oracle Open Office Writer : searching;formats -Oracle Open Office Writer : searching;Internet -Oracle Open Office Writer : searching;repeating a search -Oracle Open Office Writer : searching;synonyms -Oracle Open Office Writer : searching;tables and forms -Oracle Open Office Writer : searching;with wildcards -Oracle Open Office Writer : searching, see also finding -Oracle Open Office Writer : secondary axes in charts -Oracle Open Office Writer : sections -Oracle Open Office Writer : sections;backgrounds -Oracle Open Office Writer : sections;columns in/use of -Oracle Open Office Writer : sections;defining conditions -Oracle Open Office Writer : sections;editing -Oracle Open Office Writer : sections;hiding -Oracle Open Office Writer : sections;inserting -Oracle Open Office Writer : sections;inserting external content -Oracle Open Office Writer : sections;inserting sections by DDE -Oracle Open Office Writer : sections;moving and copying -Oracle Open Office Writer : sections;protecting/unprotecting -Oracle Open Office Writer : security -Oracle Open Office Writer : security;digital signatures -Oracle Open Office Writer : security;options for documents with macros -Oracle Open Office Writer : security;protecting contents -Oracle Open Office Writer : security;security levels for macros -Oracle Open Office Writer : security;warning dialogs with macros -Oracle Open Office Writer : selecting -Oracle Open Office Writer : selecting;controls -Oracle Open Office Writer : selecting;measurement units -Oracle Open Office Writer : selecting;objects -Oracle Open Office Writer : selecting;paper trays -Oracle Open Office Writer : selecting;print areas -Oracle Open Office Writer : selecting;several files -Oracle Open Office Writer : selecting;tables -Oracle Open Office Writer : selecting;text, with keyboard -Oracle Open Office Writer : selection clipboard -Oracle Open Office Writer : selection frames -Oracle Open Office Writer : selection modes in text -Oracle Open Office Writer : sending -Oracle Open Office Writer : sending;AutoAbstract function in presentations -Oracle Open Office Writer : sending;documents as e-mail -Oracle Open Office Writer : sending;documents as faxes -Oracle Open Office Writer : separation, see hyphenation -Oracle Open Office Writer : separator lines -Oracle Open Office Writer : separator lines;AutoFormat function -Oracle Open Office Writer : separator lines;defining -Oracle Open Office Writer : separators -Oracle Open Office Writer : separators;conditional -Oracle Open Office Writer : serial letters -Oracle Open Office Writer : Server Side ImageMap -Oracle Open Office Writer : settings -Oracle Open Office Writer : settings;direct cursor -Oracle Open Office Writer : settings;printers -Oracle Open Office Writer : settings;program configuration -Oracle Open Office Writer : settings;proxies -Oracle Open Office Writer : settings;tracking changes -Oracle Open Office Writer : settings;views -Oracle Open Office Writer : settings;word completion -Oracle Open Office Writer : SGML -Oracle Open Office Writer : SGML;definition -Oracle Open Office Writer : shadows -Oracle Open Office Writer : shadows;areas -Oracle Open Office Writer : shadows;borders -Oracle Open Office Writer : shadows;characters -Oracle Open Office Writer : shadows;characters, using context menu -Oracle Open Office Writer : shadows;headers/footers -Oracle Open Office Writer : sharing documents -Oracle Open Office Writer : sharpening filter -Oracle Open Office Writer : sheet tabs -Oracle Open Office Writer : sheet tabs;displaying -Oracle Open Office Writer : sheets -Oracle Open Office Writer : sheets;searching all -Oracle Open Office Writer : shortcut keys -Oracle Open Office Writer : shortcut keys;assigning macros -Oracle Open Office Writer : shortcut keys;bold formatting -Oracle Open Office Writer : shortcut keys;charts -Oracle Open Office Writer : shortcut keys;general -Oracle Open Office Writer : shortcut keys;in databases -Oracle Open Office Writer : shortcut keys;in text documents -Oracle Open Office Writer : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Writer : showing -Oracle Open Office Writer : showing;changes -Oracle Open Office Writer : showing;docked windows -Oracle Open Office Writer : showing;drawings and controls (Writer) -Oracle Open Office Writer : showing;live presentations on the Internet -Oracle Open Office Writer : showing;rulers -Oracle Open Office Writer : showing;toolbars -Oracle Open Office Writer : sideways orientation of pages -Oracle Open Office Writer : signing documents with digital signatures -Oracle Open Office Writer : similarity search -Oracle Open Office Writer : simple handles (Writer) -Oracle Open Office Writer : simplified Chinese -Oracle Open Office Writer : simplified Chinese;translating to traditional Chinese -Oracle Open Office Writer : single sign on options -Oracle Open Office Writer : single-line spacing in text -Oracle Open Office Writer : sizes -Oracle Open Office Writer : sizes;draw objects -Oracle Open Office Writer : sizes;pictures -Oracle Open Office Writer : slanting draw objects -Oracle Open Office Writer : small capitals -Oracle Open Office Writer : small capitals (guide) -Oracle Open Office Writer : small icons -Oracle Open Office Writer : smart tag configuration -Oracle Open Office Writer : smart tags -Oracle Open Office Writer : smooth scrolling (Writer) -Oracle Open Office Writer : smoothing filter -Oracle Open Office Writer : snap grid defaults (Writer/Calc) -Oracle Open Office Writer : snapping in presentations and drawings -Oracle Open Office Writer : solarization filter -Oracle Open Office Writer : sort lists -Oracle Open Office Writer : sort lists;copying to in Calc -Oracle Open Office Writer : sorting -Oracle Open Office Writer : sorting;data in forms -Oracle Open Office Writer : sorting;databases -Oracle Open Office Writer : sorting;paragraphs in special languages -Oracle Open Office Writer : sorting;paragraphs/table rows -Oracle Open Office Writer : sound files -Oracle Open Office Writer : spaces -Oracle Open Office Writer : spaces;displaying (Writer) -Oracle Open Office Writer : spaces;ignoring double -Oracle Open Office Writer : spaces;inserting protected spaces -Oracle Open Office Writer : spaces;showing protected spaces (Writer) -Oracle Open Office Writer : spacing -Oracle Open Office Writer : spacing;between paragraphs in footnotes -Oracle Open Office Writer : spacing;endnotes/footnotes -Oracle Open Office Writer : spacing;font effects -Oracle Open Office Writer : spacing;lines and paragraphs -Oracle Open Office Writer : spacing;register-true text -Oracle Open Office Writer : spacing;tab stops in text documents -Oracle Open Office Writer : spacing;tabs in presentations -Oracle Open Office Writer : spadmin -Oracle Open Office Writer : special characters -Oracle Open Office Writer : speech bubbles -Oracle Open Office Writer : speed of printing -Oracle Open Office Writer : spellcheck -Oracle Open Office Writer : spellcheck;activating for a language -Oracle Open Office Writer : spellcheck;activating for all languages -Oracle Open Office Writer : spellcheck;AutoSpellcheck on/off -Oracle Open Office Writer : spellcheck;checking text documents manually -Oracle Open Office Writer : spellcheck;context menus -Oracle Open Office Writer : spellcheck;default languages -Oracle Open Office Writer : spellcheck;dialog -Oracle Open Office Writer : spellcheck;dictionary of exceptions -Oracle Open Office Writer : spellcheck;ignore list -Oracle Open Office Writer : spelling in thesaurus -Oracle Open Office Writer : spin button creation -Oracle Open Office Writer : splitting cells -Oracle Open Office Writer : splitting cells;by keyboard -Oracle Open Office Writer : splitting cells;by menu command -Oracle Open Office Writer : splitting tables -Oracle Open Office Writer : splitting tables;at cursor position -Oracle Open Office Writer : splitting tables;row breaks -Oracle Open Office Writer : spoolfiles with Xprinter -Oracle Open Office Writer : spreadsheets -Oracle Open Office Writer : spreadsheets;as databases (base) -Oracle Open Office Writer : spreadsheets;copying areas to text documents -Oracle Open Office Writer : spreadsheets;creating/opening -Oracle Open Office Writer : spreadsheets;inserting charts -Oracle Open Office Writer : spreadsheets;inserting database records -Oracle Open Office Writer : spreadsheets;inserting tables from -Oracle Open Office Writer : spreadsheets;printing -Oracle Open Office Writer : spreadsheets;saving -Oracle Open Office Writer : spreadsheets;saving automatically -Oracle Open Office Writer : spreadsheets;saving in other formats -Oracle Open Office Writer : spreadsheets;sending as e-mail -Oracle Open Office Writer : SQL -Oracle Open Office Writer : SQL;definition -Oracle Open Office Writer : SQL;DISTINCT parameter -Oracle Open Office Writer : SQL;executing SQL commands -Oracle Open Office Writer : SQL;executing SQL statements (Base) -Oracle Open Office Writer : SQL;queries (Base) -Oracle Open Office Writer : square drawings -Oracle Open Office Writer : standard bar on/off -Oracle Open Office Writer : standard deviation in charts -Oracle Open Office Writer : standard filters in databases -Oracle Open Office Writer : standard printer under UNIX -Oracle Open Office Writer : start center -Oracle Open Office Writer : start parameters -Oracle Open Office Writer : starting page numbers -Oracle Open Office Writer : statistical functions -Oracle Open Office Writer : statistics in charts -Oracle Open Office Writer : status bar on/off -Oracle Open Office Writer : stickers -Oracle Open Office Writer : stock charts -Oracle Open Office Writer : storing bibliographic information -Oracle Open Office Writer : strikethrough -Oracle Open Office Writer : strikethrough;characters -Oracle Open Office Writer : strikethrough;font effects -Oracle Open Office Writer : styles -Oracle Open Office Writer : styles;'changed' message -Oracle Open Office Writer : styles;categories -Oracle Open Office Writer : styles;conditional -Oracle Open Office Writer : styles;copying between documents -Oracle Open Office Writer : styles;creating from selections -Oracle Open Office Writer : styles;finding -Oracle Open Office Writer : styles;for pages -Oracle Open Office Writer : styles;importing from other files -Oracle Open Office Writer : styles;keyboard shortcuts -Oracle Open Office Writer : styles;master documents -Oracle Open Office Writer : styles;organizing -Oracle Open Office Writer : styles;page numbers -Oracle Open Office Writer : styles;printing styles used in a document -Oracle Open Office Writer : styles;replacing automatically -Oracle Open Office Writer : styles;styles and templates -Oracle Open Office Writer : styles;table styles -Oracle Open Office Writer : styles;transferring -Oracle Open Office Writer : styles;updating from selections -Oracle Open Office Writer : Styles and Formatting window -Oracle Open Office Writer : Styles and Formatting window;applying styles -Oracle Open Office Writer : Styles and Formatting window;docking -Oracle Open Office Writer : Styles and Formatting window;docking and resizing -Oracle Open Office Writer : Styles and Formatting window;updating from selections -Oracle Open Office Writer : Stylist, see Styles and Formatting window -Oracle Open Office Writer : subdocuments -Oracle Open Office Writer : subdocuments;creating/editing/removing -Oracle Open Office Writer : subdocuments;properties -Oracle Open Office Writer : subforms -Oracle Open Office Writer : subforms;creating -Oracle Open Office Writer : subforms;description -Oracle Open Office Writer : subject fields -Oracle Open Office Writer : submitting forms -Oracle Open Office Writer : subscript text -Oracle Open Office Writer : subsidiary documents -Oracle Open Office Writer : suffixes in file formats -Oracle Open Office Writer : sums of table cell series -Oracle Open Office Writer : superscript text -Oracle Open Office Writer : support on the Web -Oracle Open Office Writer : switching off -Oracle Open Office Writer : switching off;hyphenation for specific words -Oracle Open Office Writer : switching off;word completion -Oracle Open Office Writer : synchronizing -Oracle Open Office Writer : synchronizing;labels and business cards -Oracle Open Office Writer : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Writer : synonyms in thesaurus -Oracle Open Office Writer : system address book registration -Oracle Open Office Writer : tab stops -Oracle Open Office Writer : tab stops;before headings -Oracle Open Office Writer : tab stops;displaying (Writer) -Oracle Open Office Writer : tab stops;inserting and editing -Oracle Open Office Writer : tab stops;inserting in lists -Oracle Open Office Writer : tab stops;regular expressions -Oracle Open Office Writer : tab stops;setting in sheets -Oracle Open Office Writer : tab stops;settings -Oracle Open Office Writer : tab stops;spacing in presentations -Oracle Open Office Writer : tab stops;spacing in text documents -Oracle Open Office Writer : table cells -Oracle Open Office Writer : table cells;adjusting the width on rulers -Oracle Open Office Writer : table cells;calculating sums -Oracle Open Office Writer : table cells;enlarging/reducing in text -Oracle Open Office Writer : table controls -Oracle Open Office Writer : table controls;form functions -Oracle Open Office Writer : table controls;keyboard-only edit mode -Oracle Open Office Writer : table controls;properties -Oracle Open Office Writer : table mode selection -Oracle Open Office Writer : table views of databases -Oracle Open Office Writer : Table Wizard (Base) -Oracle Open Office Writer : tables -Oracle Open Office Writer : tables;adapting the width by keyboard -Oracle Open Office Writer : tables;allowing page breaks -Oracle Open Office Writer : tables;AutoFormat function -Oracle Open Office Writer : tables;backgrounds -Oracle Open Office Writer : tables;calculating across -Oracle Open Office Writer : tables;calculating sums -Oracle Open Office Writer : tables;converting to text -Oracle Open Office Writer : tables;cross-referencing -Oracle Open Office Writer : tables;defining borders -Oracle Open Office Writer : tables;deleting -Oracle Open Office Writer : tables;deleting page breaks before -Oracle Open Office Writer : tables;editing by keyboard -Oracle Open Office Writer : tables;editing with the keyboard -Oracle Open Office Writer : tables;heading repetition after page breaks -Oracle Open Office Writer : tables;inserting columns in -Oracle Open Office Writer : tables;inserting line breaks -Oracle Open Office Writer : tables;inserting rows -Oracle Open Office Writer : tables;inserting text before -Oracle Open Office Writer : tables;inserting text tables -Oracle Open Office Writer : tables;jumping to -Oracle Open Office Writer : tables;labeling -Oracle Open Office Writer : tables;merging -Oracle Open Office Writer : tables;merging cells -Oracle Open Office Writer : tables;number recognition -Oracle Open Office Writer : tables;performing calculations in -Oracle Open Office Writer : tables;positioning -Oracle Open Office Writer : tables;protecting/unprotecting cells -Oracle Open Office Writer : tables;resizing/juxtaposing -Oracle Open Office Writer : tables;selecting -Oracle Open Office Writer : tables;sorting rows -Oracle Open Office Writer : tables;splitting -Oracle Open Office Writer : tables;start/end of document -Oracle Open Office Writer : tables;text flow around text tables -Oracle Open Office Writer : tables in databases -Oracle Open Office Writer : tables in databases;access rights to (Base) -Oracle Open Office Writer : tables in databases;adding to queries -Oracle Open Office Writer : tables in databases;browsing and editing -Oracle Open Office Writer : tables in databases;copying database tables (Base) -Oracle Open Office Writer : tables in databases;creating -Oracle Open Office Writer : tables in databases;creating in design view (manually) -Oracle Open Office Writer : tables in databases;importing text formats (Base) -Oracle Open Office Writer : tables in databases;joining for queries (Base) -Oracle Open Office Writer : tables in databases;printing queries (Base) -Oracle Open Office Writer : tables in databases;relations (Base) -Oracle Open Office Writer : tables in databases;searching -Oracle Open Office Writer : tables in spreadsheets -Oracle Open Office Writer : tables in spreadsheets;copying data to other applications -Oracle Open Office Writer : tables in spreadsheets;defining borders -Oracle Open Office Writer : tables in spreadsheets;inserting in text -Oracle Open Office Writer : tables in spreadsheets;value highlighting -Oracle Open Office Writer : tables in text -Oracle Open Office Writer : tables in text;captions -Oracle Open Office Writer : tables in text;creating automatically -Oracle Open Office Writer : tables in text;default settings -Oracle Open Office Writer : tables in text;defining borders -Oracle Open Office Writer : tables in text;displaying -Oracle Open Office Writer : tables in text;printing -Oracle Open Office Writer : tables of contents -Oracle Open Office Writer : tables of contents;creating and updating -Oracle Open Office Writer : tables of contents;defining entries in -Oracle Open Office Writer : tables of contents;editing and deleting -Oracle Open Office Writer : tables of contents;editing or deleting entries -Oracle Open Office Writer : tables of contents;formatting -Oracle Open Office Writer : tables of contents;hyperlinks as entries -Oracle Open Office Writer : tables of contents;unprotecting -Oracle Open Office Writer : tabs -Oracle Open Office Writer : tabs;displaying sheet tabs -Oracle Open Office Writer : tags -Oracle Open Office Writer : tags;definition -Oracle Open Office Writer : tags;in Oracle Open Office Writer -Oracle Open Office Writer : tags;META tags -Oracle Open Office Writer : templates -Oracle Open Office Writer : templates;agendas -Oracle Open Office Writer : templates;changing basic fonts -Oracle Open Office Writer : templates;creating document templates -Oracle Open Office Writer : templates;database reports -Oracle Open Office Writer : templates;default templates -Oracle Open Office Writer : templates;deleting -Oracle Open Office Writer : templates;editing and saving -Oracle Open Office Writer : templates;faxes -Oracle Open Office Writer : templates;importing and exporting -Oracle Open Office Writer : templates;letters -Oracle Open Office Writer : templates;new documents from templates -Oracle Open Office Writer : templates;opening documents with -Oracle Open Office Writer : templates;organizing -Oracle Open Office Writer : templates;organizing (guide) -Oracle Open Office Writer : templates;updating from selections -Oracle Open Office Writer : terminology -Oracle Open Office Writer : terminology;general glossary -Oracle Open Office Writer : terminology;Internet glossary -Oracle Open Office Writer : testing XML filters -Oracle Open Office Writer : text -Oracle Open Office Writer : text;animating -Oracle Open Office Writer : text;Asian layout -Oracle Open Office Writer : text;backgrounds -Oracle Open Office Writer : text;bold -Oracle Open Office Writer : text;coloring -Oracle Open Office Writer : text;conditional text -Oracle Open Office Writer : text;converting to tables -Oracle Open Office Writer : text;copying by drag and drop -Oracle Open Office Writer : text;CTL languages -Oracle Open Office Writer : text;cursor -Oracle Open Office Writer : text;drawing pictures -Oracle Open Office Writer : text;emphasizing -Oracle Open Office Writer : text;font effects -Oracle Open Office Writer : text;font sizes -Oracle Open Office Writer : text;font styles -Oracle Open Office Writer : text;fonts and formats -Oracle Open Office Writer : text;Fontwork icons -Oracle Open Office Writer : text;formatting around objects -Oracle Open Office Writer : text;formatting bold while typing -Oracle Open Office Writer : text;hiding -Oracle Open Office Writer : text;hiding from specific users, with conditions -Oracle Open Office Writer : text;hyperlinks -Oracle Open Office Writer : text;input fields -Oracle Open Office Writer : text;inserting pictures from Draw -Oracle Open Office Writer : text;inserting pictures in -Oracle Open Office Writer : text;inserting special characters -Oracle Open Office Writer : text;italics -Oracle Open Office Writer : text;kerning -Oracle Open Office Writer : text;language selection -Oracle Open Office Writer : text;line numbers -Oracle Open Office Writer : text;line spacing -Oracle Open Office Writer : text;multi-column -Oracle Open Office Writer : text;navigating and selecting with keyboard -Oracle Open Office Writer : text;non-printable -Oracle Open Office Writer : text;number of words/characters -Oracle Open Office Writer : text;overwriting or inserting -Oracle Open Office Writer : text;printing in black -Oracle Open Office Writer : text;replacing with format -Oracle Open Office Writer : text;rotating -Oracle Open Office Writer : text;selection modes -Oracle Open Office Writer : text;shadowed -Oracle Open Office Writer : text;sorting paragraphs -Oracle Open Office Writer : text;subscript and superscript -Oracle Open Office Writer : text;text/draw objects -Oracle Open Office Writer : text;turning off automatic correction -Oracle Open Office Writer : text;uppercase or lowercase -Oracle Open Office Writer : text animation -Oracle Open Office Writer : text attributes -Oracle Open Office Writer : text attributes;hyperlinks -Oracle Open Office Writer : text attributes;undoing -Oracle Open Office Writer : text blocks -Oracle Open Office Writer : text boxes -Oracle Open Office Writer : text boxes;form functions -Oracle Open Office Writer : text boxes;positioning -Oracle Open Office Writer : text breaks in cells -Oracle Open Office Writer : text colors for better accessibility -Oracle Open Office Writer : text columns -Oracle Open Office Writer : text databases (Base) -Oracle Open Office Writer : text documents -Oracle Open Office Writer : text documents;creating/opening -Oracle Open Office Writer : text documents;default templates -Oracle Open Office Writer : text documents;importing/exporting -Oracle Open Office Writer : text documents;inserting Calc charts -Oracle Open Office Writer : text documents;inserting spreadsheet cells -Oracle Open Office Writer : text documents;merging -Oracle Open Office Writer : text documents;print settings -Oracle Open Office Writer : text documents;printing -Oracle Open Office Writer : text documents;publishing in HTML -Oracle Open Office Writer : text documents;saving -Oracle Open Office Writer : text documents;saving automatically -Oracle Open Office Writer : text documents;saving in other formats -Oracle Open Office Writer : text documents;sending as e-mail -Oracle Open Office Writer : text documents;shortcut keys in -Oracle Open Office Writer : text documents;word completion settings -Oracle Open Office Writer : text effects -Oracle Open Office Writer : text flow -Oracle Open Office Writer : text flow;around text tables -Oracle Open Office Writer : text flow;at breaks -Oracle Open Office Writer : text flow;from frame to frame -Oracle Open Office Writer : text flow;in cells -Oracle Open Office Writer : text formats -Oracle Open Office Writer : text formats;copying and pasting -Oracle Open Office Writer : text formats;databases -Oracle Open Office Writer : text formats;finding -Oracle Open Office Writer : text formats;pasting -Oracle Open Office Writer : text frames -Oracle Open Office Writer : text frames;centering on pages -Oracle Open Office Writer : text frames;inserting/editing/linking -Oracle Open Office Writer : text frames;labeling -Oracle Open Office Writer : text grid for Asian layout -Oracle Open Office Writer : text input fields -Oracle Open Office Writer : text layout for special languages -Oracle Open Office Writer : text objects -Oracle Open Office Writer : text objects;alignment -Oracle Open Office Writer : text objects;draw functions -Oracle Open Office Writer : text objects;fonts -Oracle Open Office Writer : text objects;in presentations and drawings -Oracle Open Office Writer : text overflow in spreadsheet cells -Oracle Open Office Writer : text scaling in charts -Oracle Open Office Writer : text wrap around objects -Oracle Open Office Writer : text, see also text documents, paragraphs and characters -Oracle Open Office Writer : TextArt, see Fontwork -Oracle Open Office Writer : textures -Oracle Open Office Writer : textures;inserting from Gallery -Oracle Open Office Writer : textures;on chart bars -Oracle Open Office Writer : Thai -Oracle Open Office Writer : Thai;entering text -Oracle Open Office Writer : Thai;language settings -Oracle Open Office Writer : thesaurus -Oracle Open Office Writer : thesaurus;activating for a language -Oracle Open Office Writer : thesaurus;related words -Oracle Open Office Writer : ticker text -Oracle Open Office Writer : time fields -Oracle Open Office Writer : time fields;form functions -Oracle Open Office Writer : time fields;HTML -Oracle Open Office Writer : time fields;inserting -Oracle Open Office Writer : times -Oracle Open Office Writer : times;inserting when printing presentations -Oracle Open Office Writer : times, formats -Oracle Open Office Writer : tips -Oracle Open Office Writer : tips;extended tips in Help -Oracle Open Office Writer : title pages -Oracle Open Office Writer : title pages;centering text on -Oracle Open Office Writer : title pages;page styles -Oracle Open Office Writer : title rows -Oracle Open Office Writer : title rows;printing in Oracle Open Office Math -Oracle Open Office Writer : titles -Oracle Open Office Writer : titles;alignment (charts) -Oracle Open Office Writer : titles;changing -Oracle Open Office Writer : titles;editing in charts -Oracle Open Office Writer : titles;font effects -Oracle Open Office Writer : titles;formatting automatically -Oracle Open Office Writer : titles;formatting charts -Oracle Open Office Writer : titles;objects -Oracle Open Office Writer : toolbars -Oracle Open Office Writer : toolbars;adding buttons -Oracle Open Office Writer : toolbars;docking/undocking -Oracle Open Office Writer : toolbars;Form Navigation bar -Oracle Open Office Writer : toolbars;viewing/closing -Oracle Open Office Writer : tools bar -Oracle Open Office Writer : tooltips -Oracle Open Office Writer : tooltips;extended tips -Oracle Open Office Writer : tooltips;help -Oracle Open Office Writer : totals in text tables -Oracle Open Office Writer : traditional Chinese -Oracle Open Office Writer : traditional Chinese;translating to simplified chinese -Oracle Open Office Writer : transparency -Oracle Open Office Writer : transparency;areas -Oracle Open Office Writer : transparency;off for faster printing -Oracle Open Office Writer : transparency;saving -Oracle Open Office Writer : tree view of Help -Oracle Open Office Writer : trend lines in charts -Oracle Open Office Writer : trigonometric functions -Oracle Open Office Writer : turning off automatic correction -Oracle Open Office Writer : typefaces -Oracle Open Office Writer : typefaces;adding under UNIX -Oracle Open Office Writer : typefaces;formats -Oracle Open Office Writer : typographical quotes in Oracle Open Office Writer -Oracle Open Office Writer : typography -Oracle Open Office Writer : typography;Asian -Oracle Open Office Writer : underlining -Oracle Open Office Writer : underlining;AutoFormat function -Oracle Open Office Writer : underlining;characters -Oracle Open Office Writer : underlining;quick -Oracle Open Office Writer : underlining;text -Oracle Open Office Writer : undocking windows -Oracle Open Office Writer : undoing -Oracle Open Office Writer : undoing;direct formatting -Oracle Open Office Writer : undoing;editing -Oracle Open Office Writer : undoing;number of steps -Oracle Open Office Writer : ungrouping groups -Oracle Open Office Writer : units -Oracle Open Office Writer : units;converting -Oracle Open Office Writer : units;measurement units -Oracle Open Office Writer : unlinking frames -Oracle Open Office Writer : UNO components -Oracle Open Office Writer : UNO components;Extension Manager -Oracle Open Office Writer : UNO components;integrating new -Oracle Open Office Writer : unprotecting tables of contents and indexes -Oracle Open Office Writer : update options -Oracle Open Office Writer : updates -Oracle Open Office Writer : updates;checking automatically -Oracle Open Office Writer : updates;checking manually -Oracle Open Office Writer : updating -Oracle Open Office Writer : updating;cross-references -Oracle Open Office Writer : updating;fields -Oracle Open Office Writer : updating;fields and charts, automatically (Writer) -Oracle Open Office Writer : updating;indexes/tables of contents -Oracle Open Office Writer : updating;linked sections, manually -Oracle Open Office Writer : updating;links in text documents -Oracle Open Office Writer : updating;links, on opening -Oracle Open Office Writer : updating;styles, from selections -Oracle Open Office Writer : updating;tables of contents -Oracle Open Office Writer : updating;templates -Oracle Open Office Writer : updating;text documents -Oracle Open Office Writer : uppercase -Oracle Open Office Writer : uppercase;changing to lowercase -Oracle Open Office Writer : uppercase;formatting text -Oracle Open Office Writer : URL -Oracle Open Office Writer : URL;changing hyperlink URLs -Oracle Open Office Writer : URL;definition -Oracle Open Office Writer : URL;in pictures -Oracle Open Office Writer : URL;saving absolute/relative paths -Oracle Open Office Writer : URL;turning off URL recognition -Oracle Open Office Writer : user data -Oracle Open Office Writer : user data;in conditions -Oracle Open Office Writer : user data;input -Oracle Open Office Writer : user data;querying -Oracle Open Office Writer : user data;removing when saving -Oracle Open Office Writer : user feedback -Oracle Open Office Writer : user feedback;automatically -Oracle Open Office Writer : user variables in conditions/fields -Oracle Open Office Writer : user-defined dictionaries -Oracle Open Office Writer : user-defined dictionaries;creating -Oracle Open Office Writer : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Writer : user-defined dictionaries;editing -Oracle Open Office Writer : user-defined dictionaries;removing words from -Oracle Open Office Writer : user-defined fields, restriction -Oracle Open Office Writer : user-defined indexes -Oracle Open Office Writer : user-defined styles -Oracle Open Office Writer : user-defined styles;automatically replacing -Oracle Open Office Writer : UTF-8/UCS2 support -Oracle Open Office Writer : values -Oracle Open Office Writer : values;rounded as shown (Calc) -Oracle Open Office Writer : variable dates -Oracle Open Office Writer : variables -Oracle Open Office Writer : variables;document properties -Oracle Open Office Writer : variables;for hiding text -Oracle Open Office Writer : variables;for paths -Oracle Open Office Writer : variables;in conditions -Oracle Open Office Writer : variances in charts -Oracle Open Office Writer : VBA code -Oracle Open Office Writer : VBA code;loading/saving documents with VBA code -Oracle Open Office Writer : version management -Oracle Open Office Writer : version numbers of documents -Oracle Open Office Writer : versions -Oracle Open Office Writer : versions;comparing documents -Oracle Open Office Writer : versions;file saving as, restriction -Oracle Open Office Writer : versions;merging document versions -Oracle Open Office Writer : versions;of a document -Oracle Open Office Writer : versions;Oracle Open Office -Oracle Open Office Writer : vertical callouts -Oracle Open Office Writer : vertical rulers -Oracle Open Office Writer : vertical scrollbars (Writer) -Oracle Open Office Writer : vertical text boxes -Oracle Open Office Writer : videos -Oracle Open Office Writer : viewing -Oracle Open Office Writer : viewing;databases -Oracle Open Office Writer : viewing;fields -Oracle Open Office Writer : viewing;file properties -Oracle Open Office Writer : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Writer : viewing;toolbars -Oracle Open Office Writer : views -Oracle Open Office Writer : views;creating database views (Base) -Oracle Open Office Writer : views;defaults -Oracle Open Office Writer : views;full screen -Oracle Open Office Writer : views;icons -Oracle Open Office Writer : views;scaling -Oracle Open Office Writer : Visual Basic for Applications -Oracle Open Office Writer : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Writer : watermarks -Oracle Open Office Writer : web documents -Oracle Open Office Writer : web documents;XForms -Oracle Open Office Writer : Web support -Oracle Open Office Writer : WebCast export -Oracle Open Office Writer : WebDAV over HTTPS -Oracle Open Office Writer : weekdays -Oracle Open Office Writer : weekdays;automatically completing -Oracle Open Office Writer : widows -Oracle Open Office Writer : wildcards, see regular expressions -Oracle Open Office Writer : windows -Oracle Open Office Writer : windows;docking -Oracle Open Office Writer : windows;docking definition -Oracle Open Office Writer : windows;hiding/showing/docking -Oracle Open Office Writer : windows;new -Oracle Open Office Writer : wizards -Oracle Open Office Writer : wizards;agendas -Oracle Open Office Writer : wizards;database queries -Oracle Open Office Writer : wizards;database tables (Base) -Oracle Open Office Writer : wizards;databases (Base) -Oracle Open Office Writer : wizards;document converter -Oracle Open Office Writer : wizards;Euro Converter -Oracle Open Office Writer : wizards;faxes -Oracle Open Office Writer : wizards;form letters -Oracle Open Office Writer : wizards;forms -Oracle Open Office Writer : wizards;letters -Oracle Open Office Writer : wizards;macros (Base) -Oracle Open Office Writer : wizards;overview -Oracle Open Office Writer : wizards;presentations -Oracle Open Office Writer : wizards;reports -Oracle Open Office Writer : word completion -Oracle Open Office Writer : word completion;settings -Oracle Open Office Writer : word completion;using/disabling -Oracle Open Office Writer : word counts -Oracle Open Office Writer : Word documents -Oracle Open Office Writer : Word documents;compatibility -Oracle Open Office Writer : Word documents;saving as -Oracle Open Office Writer : WordArt, see Fontwork -Oracle Open Office Writer : words -Oracle Open Office Writer : words;automatic replacement on/off -Oracle Open Office Writer : words;automatically replacing -Oracle Open Office Writer : words;backgrounds -Oracle Open Office Writer : words;counting in text -Oracle Open Office Writer : words;disabling spellcheck -Oracle Open Office Writer : words;wrapping in cells -Oracle Open Office Writer : words;wrapping in CTL -Oracle Open Office Writer : words;wrapping/not wrapping in text -Oracle Open Office Writer : working directory change -Oracle Open Office Writer : wrapping text -Oracle Open Office Writer : wrapping text;editing contours -Oracle Open Office Writer : wrapping text;in cells -Oracle Open Office Writer : write protection on/off -Oracle Open Office Writer : writing aids options -Oracle Open Office Writer : writing with direct cursor -Oracle Open Office Writer : WYSIWYG in fonts lists -Oracle Open Office Writer : X axes -Oracle Open Office Writer : X axes;grid formatting -Oracle Open Office Writer : X axes;positioning -Oracle Open Office Writer : X axes;scaling -Oracle Open Office Writer : X axes;showing -Oracle Open Office Writer : XForms -Oracle Open Office Writer : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Writer : XForms;conditions -Oracle Open Office Writer : XForms;opening/editing -Oracle Open Office Writer : XML converters -Oracle Open Office Writer : XML file formats -Oracle Open Office Writer : XML filters -Oracle Open Office Writer : XML filters;creating/testing -Oracle Open Office Writer : XML filters;saving as package/installing/deleting -Oracle Open Office Writer : XML filters;settings -Oracle Open Office Writer : XML Forms, see XForms -Oracle Open Office Writer : XSLT filters, see also XML filters -Oracle Open Office Writer : XY charts -Oracle Open Office Writer : Y axes -Oracle Open Office Writer : Y axes;formatting -Oracle Open Office Writer : Y axes;grid formatting -Oracle Open Office Writer : Y axes;positioning -Oracle Open Office Writer : Y axes;scaling -Oracle Open Office Writer : Y axes;showing -Oracle Open Office Writer : years -Oracle Open Office Writer : years;2-digit options -Oracle Open Office Writer : Z axes -Oracle Open Office Writer : Z axes;grid formatting -Oracle Open Office Writer : Z axes;showing -Oracle Open Office Writer : zero values -Oracle Open Office Writer : zero values;displaying (Calc) -Oracle Open Office Writer : zooming -Oracle Open Office Writer : zooming;page views -Oracle Open Office Writer : zooming;pictures -Oracle Open Office Writer : zooming;status bar diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_and_whole_words_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_and_whole_words_en-US.txt deleted file mode 100644 index 5c04d7985c0e..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_and_whole_words_en-US.txt +++ /dev/null @@ -1,6 +0,0 @@ -Java Platform Support -Java -Start Parameters -MySQL Connection -Oracle Open Office -Glossary of Internet Terms diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_only_en-US.txt deleted file mode 100644 index 4ad00920a409..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_headings_only_en-US.txt +++ /dev/null @@ -1,7 +0,0 @@ -Java Platform Support -Java -Organize Macros -Start Parameters -MySQL Connection -Oracle Open Office -Glossary of Internet Terms diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_whole_words_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_whole_words_only_en-US.txt deleted file mode 100644 index 53006536b79b..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_whole_words_only_en-US.txt +++ /dev/null @@ -1,16 +0,0 @@ -Java -Java Platform Support -Class Path -Assistive Tools in Oracle Open Office -Mail Merge Wizard - Document Type -Start Parameters -MySQL Connection -Accessibility in Oracle Open Office -Oracle Open Office -Report Builder -Glossary of Internet Terms -Accessibility -Mobile Device Filters for Pocket Device Appliances -JDBC Connection -Scripting Oracle Open Office -General Glossary diff --git a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_without_filter_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_without_filter_en-US.txt deleted file mode 100644 index 801677749685..000000000000 --- a/testautomation/framework/optional/input/help_browser/Oracle Open Office_search_without_filter_en-US.txt +++ /dev/null @@ -1,22 +0,0 @@ -Mail Merge Wizard - Document Type -Java Platform Support -Java -Class Path -HTML Filters and Forms -Assistive Tools in Oracle Open Office -Start Parameters -Organize Macros -JDBC Connection -MySQL Connection -Insert Script -Accessibility in Oracle Open Office -Oracle Open Office -Scripting Oracle Open Office -Macro -Report Builder -Glossary of Internet Terms -Accessibility -Mobile Device Filters for Pocket Device Appliances -HTML Export - Page 2 -Data -General Glossary diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_applications_en-US.txt old mode 100644 new mode 100755 diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt old mode 100644 new mode 100755 diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_and_whole_words_en-US.txt old mode 100644 new mode 100755 diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_headings_only_en-US.txt old mode 100644 new mode 100755 diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_whole_words_only_en-US.txt old mode 100644 new mode 100755 diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_search_without_filter_en-US.txt old mode 100644 new mode 100755 -- cgit From d4db93dec417f931b87657250e966a56ed98f5bf Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 08:53:36 +0200 Subject: vitomation01: #i109562 - removed blanks from filenames as suggested by RE --- .../optional/includes/filedlg_filternames.inc | 5 ++ .../Oracle_Open_Office_Filternames_add_en-US.txt | 87 ++++++++++++++++++++++ .../Oracle_Open_Office_Filternames_en-US.txt | 85 +++++++++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_add_en-US.txt create mode 100644 testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_en-US.txt diff --git a/testautomation/framework/optional/includes/filedlg_filternames.inc b/testautomation/framework/optional/includes/filedlg_filternames.inc index 6dd8c68e74ad..393476cd58c7 100755 --- a/testautomation/framework/optional/includes/filedlg_filternames.inc +++ b/testautomation/framework/optional/includes/filedlg_filternames.inc @@ -64,6 +64,8 @@ testcase tVerifyFilterNames else cFile = cFile & gIsoLang & ".txt" endif + + dim cFileIn as string cFileIn = gTesttoolPath & "framework\optional\input\filternames\" & cFile @@ -71,6 +73,9 @@ testcase tVerifyFilterNames dim cFileOut as string cFileOut = hGetWorkPath() & cFile + + ' Replace blanks with underscores + cFile = hStringReplaceChar( sFile, " ", "_" ) printlog( "Create a new document" ) hCreateDocument() diff --git a/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_add_en-US.txt b/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_add_en-US.txt new file mode 100644 index 000000000000..bf0c1e00851e --- /dev/null +++ b/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_add_en-US.txt @@ -0,0 +1,87 @@ +All files (*.*) +Text documents +Spreadsheets +Presentations +Drawings +Web pages +Master documents +Formulas +Database documents +------------------------------------------ +ODF Text Document (*.odt) +ODF Text Document Template (*.ott) +StarOffice 6.0/7 Text Document (*.sxw) +StarOffice 6.0/7 Text Document Template (*.stw) +Microsoft Word 97/2000/XP (*.doc) +Microsoft Word 97/2000/XP Template (*.dot) +Microsoft Word 6.0 / 95 (*.doc) +Microsoft Word 95 Template (*.dot) +Rich Text Format (*.rtf) +StarWriter 3.0 - 5.0 (*.sdw) +StarWriter 3.0 - 5.0 Templates (*.vor) +Text (*.txt) +Text Encoded (*.txt) +HTML Document (StarOffice Writer) (*.html;*.htm) +AportisDoc (Palm) (*.pdb) +DocBook (*.xml) +Microsoft WinWord 5 (*.doc) +Microsoft Word 2003 XML (*.xml) +Microsoft Word 2007 XML (*.docx;*.docm) +Microsoft Word 2007 XML Template (*.dotx;*.dotm) +Pocket Word (*.psw) +StarWriter 1.0 (*.sdw) +StarWriter 2.0 (*.sdw) +StarWriter DOS (*.txt) +T602 Document (*.602;*.txt) +Unified Office Format text (*.uot;*.uof) +WordPerfect Document (*.wpd) +Ichitaro 8/9/10/11 (*.jtd) +Ichitaro 8/9/10/11 Template (*.jtt) +Hangul WP 97 (*.hwp) +PDF - Portable Document Format (*.pdf) +------------------------------------------ +ODF Spreadsheet (*.ods) +ODF Spreadsheet Template (*.ots) +StarOffice 6.0/7 Spreadsheet (*.sxc) +StarOffice 6.0/7 Spreadsheet Template (*.stc) +Data Interchange Format (*.dif) +dBASE (*.dbf) +Microsoft Excel 97/2000/XP (*.xls;*.xlc;*.xlm;*.xlw) +Microsoft Excel 97/2000/XP Template (*.xlt) +Microsoft Excel 4.x - 5.0 / 95 (*.xls;*.xlc;*.xlm;*.xlw) +Microsoft Excel 4.x - 5.0 / 95 Templates (*.xlt) +Rich Text Format (StarOffice Calc) (*.rtf) +StarCalc 3.0 - 5.0 (*.sdc) +StarCalc 3.0 - 5.0 Templates (*.vor) +StarCalc 1.0 (*.sdc) +SYLK (*.slk) +Text CSV (*.csv;*.txt;*.xls) +HTML Document (StarOffice Calc) (*.html;*.htm) +Microsoft Excel 2007 Binary (*.xlsb) +Microsoft Excel 2007 XML (*.xlsm;*.xlsx) +Microsoft Excel 2007 XML Template (*.xltm;*.xltx) +Lotus 1-2-3 (*.wk1;*.wks;*.123) +Microsoft Excel 2003 XML (*.xml) +Pocket Excel (*.pxl) +Quattro Pro 6.0 (*.wb2) +Unified Office Format spreadsheet (*.uos;*.uof) +Web Page Query (StarOffice Calc) (*.html;*.htm) +------------------------------------------ +HTML Document (*.html;*.htm) +StarOffice 6.0/7 HTML Template (*.stw) +StarWriter/Web 4.0 / 5.0 Templates (*.vor) +Text (StarWriter/Web) (*.txt) +Text Encoded (StarOffice Writer/Web) (*.txt) +HTML Document Template (*.oth) +------------------------------------------ +ODF Master Document (*.odm) +StarOffice 6.0/7 Master Document (*.sxg) +StarWriter 4.0 / 5.0 Master Documents (*.sgl) +Text Encoded (StarOffice Master Document) (*.txt) +------------------------------------------ +ODF Database (*.odb) +------------------------------------------ +ODF Formula (*.odf) +StarOffice 6.0/7 Formula (*.sxm) +StarMath 2.0 - 5.0 (*.smf) +MathML 1.01 (*.mml) diff --git a/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_en-US.txt b/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_en-US.txt new file mode 100644 index 000000000000..85d580c71554 --- /dev/null +++ b/testautomation/framework/optional/input/filternames/Oracle_Open_Office_Filternames_en-US.txt @@ -0,0 +1,85 @@ +All files (*.*) +Text documents +Spreadsheets +Presentations +Drawings +Web pages +Master documents +Formulas +Database documents +------------------------------------------ +ODF Text Document (*.odt) +ODF Text Document Template (*.ott) +StarOffice 6.0/7 Text Document (*.sxw) +StarOffice 6.0/7 Text Document Template (*.stw) +Microsoft Word 97/2000/XP (*.doc) +Microsoft Word 97/2000/XP Template (*.dot) +Microsoft Word 6.0 / 95 (*.doc) +Microsoft Word 95 Template (*.dot) +Rich Text Format (*.rtf) +StarWriter 3.0 - 5.0 (*.sdw) +StarWriter 3.0 - 5.0 Templates (*.vor) +Text (*.txt) +Text Encoded (*.txt) +HTML Document (StarOffice Writer) (*.html;*.htm) +AportisDoc (Palm) (*.pdb) +DocBook (*.xml) +Microsoft WinWord 5 (*.doc) +Microsoft Word 2003 XML (*.xml) +Microsoft Word 2007 XML (*.docx;*.docm) +Microsoft Word 2007 XML Template (*.dotx;*.dotm) +Pocket Word (*.psw) +StarWriter 1.0 (*.sdw) +StarWriter 2.0 (*.sdw) +StarWriter DOS (*.txt) +T602 Document (*.602;*.txt) +Unified Office Format text (*.uot;*.uof) +WordPerfect Document (*.wpd) +Hangul WP 97 (*.hwp) +PDF - Portable Document Format (*.pdf) +------------------------------------------ +ODF Spreadsheet (*.ods) +ODF Spreadsheet Template (*.ots) +StarOffice 6.0/7 Spreadsheet (*.sxc) +StarOffice 6.0/7 Spreadsheet Template (*.stc) +Data Interchange Format (*.dif) +dBASE (*.dbf) +Microsoft Excel 97/2000/XP (*.xls;*.xlc;*.xlm;*.xlw) +Microsoft Excel 97/2000/XP Template (*.xlt) +Microsoft Excel 4.x - 5.0 / 95 (*.xls;*.xlc;*.xlm;*.xlw) +Microsoft Excel 4.x - 5.0 / 95 Templates (*.xlt) +Rich Text Format (StarOffice Calc) (*.rtf) +StarCalc 3.0 - 5.0 (*.sdc) +StarCalc 3.0 - 5.0 Templates (*.vor) +StarCalc 1.0 (*.sdc) +SYLK (*.slk) +Text CSV (*.csv;*.txt;*.xls) +HTML Document (StarOffice Calc) (*.html;*.htm) +Microsoft Excel 2007 Binary (*.xlsb) +Microsoft Excel 2007 XML (*.xlsm;*.xlsx) +Microsoft Excel 2007 XML Template (*.xltm;*.xltx) +Lotus 1-2-3 (*.wk1;*.wks;*.123) +Microsoft Excel 2003 XML (*.xml) +Pocket Excel (*.pxl) +Quattro Pro 6.0 (*.wb2) +Unified Office Format spreadsheet (*.uos;*.uof) +Web Page Query (StarOffice Calc) (*.html;*.htm) +------------------------------------------ +HTML Document (*.html;*.htm) +StarOffice 6.0/7 HTML Template (*.stw) +StarWriter/Web 4.0 / 5.0 Templates (*.vor) +Text (StarWriter/Web) (*.txt) +Text Encoded (StarOffice Writer/Web) (*.txt) +HTML Document Template (*.oth) +------------------------------------------ +ODF Master Document (*.odm) +StarOffice 6.0/7 Master Document (*.sxg) +StarWriter 4.0 / 5.0 Master Documents (*.sgl) +Text Encoded (StarOffice Master Document) (*.txt) +------------------------------------------ +ODF Database (*.odb) +------------------------------------------ +ODF Formula (*.odf) +StarOffice 6.0/7 Formula (*.sxm) +StarMath 2.0 - 5.0 (*.smf) +MathML 1.01 (*.mml) -- cgit From fc05fb607569bf4eff1b37c7eba1fc4369702744 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Wed, 19 May 2010 11:00:36 +0200 Subject: jl152: #i108704# use all the arguments when restarting on Windows --- desktop/win32/source/officeloader/officeloader.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desktop/win32/source/officeloader/officeloader.cxx b/desktop/win32/source/officeloader/officeloader.cxx index ef980e1e994e..7c2dafc79bbb 100644 --- a/desktop/win32/source/officeloader/officeloader.cxx +++ b/desktop/win32/source/officeloader/officeloader.cxx @@ -212,7 +212,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) LPTSTR lpCommandLine = NULL; int argc = 0; LPTSTR * argv = NULL; - bool first = true; + bool bFirst = true; WCHAR cwd[MAX_PATH]; DWORD cwdLen = GetCurrentDirectoryW(MAX_PATH, cwd); if (cwdLen >= MAX_PATH) { @@ -318,7 +318,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) } } - if (first) { + if ( bFirst ) { argv = GetCommandArgs(&argc); std::size_t n = wcslen(argv[0]) + 2; for (int i = 1; i < argc; ++i) { @@ -334,7 +334,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) lpCommandLine, MY_STRING(L"\"")); p = desktop_win32::commandLineAppend(p, argv[0]); for (int i = 1; i < argc; ++i) { - if (first || wcsncmp(argv[i], MY_STRING(L"-env:")) == 0) { + if (bFirst || ::desktop::ExitHelper::E_NORMAL_RESTART == dwExitCode || wcsncmp(argv[i], MY_STRING(L"-env:")) == 0) { p = desktop_win32::commandLineAppend(p, MY_STRING(L"\" \"")); p = desktop_win32::commandLineAppend(p, argv[i]); } @@ -348,7 +348,7 @@ int WINAPI _tWinMain( HINSTANCE, HINSTANCE, LPTSTR, int ) p = desktop_win32::commandLineAppendEncoded(p, cwd); } desktop_win32::commandLineAppend(p, MY_STRING(L"\"")); - first = false; + bFirst = false; TCHAR szParentProcessId[64]; // This is more than large enough for a 128 bit decimal value BOOL bHeadlessMode( FALSE ); -- cgit From 2e3a78da2be8c409bf5e366947830002f9fdd368 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 12:44:31 +0200 Subject: vitomation01: #i109562 - Modify handling of messgeboxes to suit the needs of the extras_xxx_open-tests which have to deal with an I/O error for some documents now. --- .../global/tools/includes/optional/t_docfuncs.inc | 137 +++++++-------------- .../global/tools/includes/required/t_tools3.inc | 47 ++++--- 2 files changed, 73 insertions(+), 111 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_docfuncs.inc b/testautomation/global/tools/includes/optional/t_docfuncs.inc index 921879a80759..8e98fbef378f 100755 --- a/testautomation/global/tools/includes/optional/t_docfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_docfuncs.inc @@ -153,27 +153,23 @@ function hChangeDoc() as string Kontext "DocumentWriter" DocumentWriter.TypeKeys "This doc is changed!" hChangeDoc() = "Changed WRITER/HTML/MASTERDOC" - 'DocumentWriter.typeKeys( "" ) '///+
              • CALC: Write some text into the current location (usually A1)
              • case "CALC" : Kontext "DocumentCalc" DocumentCalc.TypeKeys "This doc is changed!" hChangeDoc() = "Changed CALC" - 'DocumentWriter.typeKeys( "" ) '///+
              • DRAW: Draw a rectangle
              • case "DRAW" : Kontext "DocumentDraw" hRechteckErstellen ( 20, 20, 25, 25 ) gMouseClick ( 1, 1 ) hChangeDoc() = "Changed DRAW" - 'DocumentWriter.typeKeys( "" ) '///+
              • IMPRESS: Draw a rectangle
              • case "IMPRESS": Kontext "DocumentImpress" hRechteckErstellen ( 20, 20, 25, 25 ) gMouseClick ( 1, 1 ) hChangeDoc() = "Changed IMPRESS" - 'DocumentWriter.typeKeys( "" ) '///+
              • MATH: Create a simple formaula
              • case "MATH" : SchreibenInMathdok( "b over c" ) @@ -235,12 +231,9 @@ function hIdentifyWriterDoc( cString as string, bWarn as boolean ) as boolean '///+
              • Write the result to the printlog if desired
              • if ( irc = 0 ) then - - if ( bWarn ) then - warnlog ( CFN & "The focus is not on the expected document" ) - else - if ( GVERBOSE ) then printlog( CFN & "The focus is not on the expected document" ) - endif + + if ( GVERBOSE ) then printlog( CFN & "The focus is not on the expected document" ) + if ( bWarn ) then warnlog ( CFN & "The focus is not on the expected document" ) printlog( CFN & "Expected: " & cString ) printlog( CFN & "Found...: " & cIdentifier ) @@ -366,12 +359,14 @@ function hDestroyDocument() as boolean Kontext "Active" if ( Active.Exists( 2 ) ) then - printlog( "Msgbox: " & Active.getText() ) - try - hCloseDialog( Active, "no" ) - catch - hCloseDialog( Active, "202" ) - endcatch + printlog( CFN & "Msgbox: " & Active.getText() ) + hCloseDialog( Active, "no" ) + hCloseDialog( Active, "202,optional" ) + + ' This could be the "Error saving document" warning. + if ( hCloseDialog( Active, "ok,optional" ) ) then + warnlog( CFN & "An unexpected message has been handled" ) + endif end if if ( getDocumentCount() = iDocCount ) then hCloseDocument() @@ -384,55 +379,16 @@ end function function hInitSingleDoc() as boolean - '///

                Make sure exactly one single writer document is open

                - '///The wizards cannot be triggered correctly from the backing window. - '///+ As a workaround this function checks the amount of open documents and - '///+ creates exactly one unchanged Writer document

                - - '///Parameter(s):
                - '///
                  - '///+
                1. No input parameters
                2. - '///
                - - - '///Returns:
                - '///
                  - '///+
                1. Errorcondition (Boolean)
                2. - '///
                    - '///+
                  • TRUE: Exactly one Writer document is open
                  • - '///+
                  • FALSE: Any error
                  • - '///
                  - '///
                + hFileCloseAll() + hCreateDocument() - const CFN = "global::tools::includes::optional::t_docfuncs.inc::hInitSingleDoc::" - dim cOldApplication as string + if ( GVERBOSE ) then printlog( "hInitSingleDoc(): Opening document: " & gApplication ) - '///Description: - '///
                  - '///+
                • Close all documents until we are on the backing window
                • - hFileCloseAll() - - '///+
                • Save the previous gApplication
                • - cOldApplication = gApplication - - '///+
                • Set gApplication to WRITER
                • - gApplication = "WRITER" - - '///+
                • Open one new Writer document
                • - call hNewDocument() - - '///+
                • Verify that exactly one document is open
                • - if ( getDocumentCount = 1 ) then - printlog( "One single unchanged writer document is open" ) + if ( getDocumentCount = 1 ) then hInitSingleDoc() = true else - printlog( CFN & "Failed to open just one single writer document" ) hInitSingleDoc() = false endif - - '///+
                • Restore gApplication
                • - gApplication = cOldApplication - '///
                end function @@ -468,42 +424,37 @@ function hInitWriteDocIdentifier( cString as string ) as boolean '/// const CFN = "global::tools::includes::optional::t_docfuncs.inc::hInitWriteDocIdentifier::" + const RC_TIMEOUT = -1 - '///Description: - '///
                  - '///+
                • Verify number of open documents
                • - if ( getDocumentCount <> 1 ) then - printlog( CFN & "Incorrect document count" ) - hInitWriteDocIdentifier() = false - exit function - endif - - '///+
                • Verify that it is a writer document
                • - kontext "DocumentWriter" - if ( not DocumentWriter.exists() ) then - printlog( CFN & "Open document is not a text document" ) - hInitWriteDocIdentifier() = false - exit function - endif - - '///+
                • Write the string
                • - kontext "DocumentWriter" - DocumentWriter.typeKeys( "" ) - DocumentWriter.typeKeys( "" ) - DocumentWriter.typeKeys( "" ) - DocumentWriter.typekeys( cString ) - - '///+
                • Verify the string
                • - DocumentWriter.typeKeys( "" ) - DocumentWriter.typeKeys( "" ) - EditCopy - if ( getClipboardText = cString ) then - printlog( CFN & "Document has been successfully modified." ) - hInitWriteDocIdentifier() = true + if ( getDocumentCount = 1 and gApplication = "WRITER" ) then + + kontext "DocumentWriter" + DocumentWriter.typeKeys( "" ) + DocumentWriter.typeKeys( "" ) + DocumentWriter.typeKeys( "" ) + DocumentWriter.typekeys( cString ) + + DocumentWriter.typeKeys( "" ) + DocumentWriter.typeKeys( "" ) + + if ( hUseAsyncSlot( "EditCopy" ) <> RC_TIMEOUT ) then + + if ( getClipboardText = cString ) then + printlog( CFN & "Writer document has been successfully modified." ) + hInitWriteDocIdentifier() = true + else + warnlog( CFN & "Could not verify document identification string" ) + hInitWriteDocIdentifier() = false + endif + else + warnlog( CFN & "Unable to copy text to clipboard using " ) + hInitWriteDocIdentifier() = false + endif else - printlog( CFN & "Could not verify document identification string" ) + warnlog ( CFN & "Only one single writer document may be open" ) + printlog( CFN & "Number of documents: " & getDocumentCount ) + printlog( CFN & "Application........: " & gApplication ) hInitWriteDocIdentifier() = false - endif - '///
                + endif end function diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index a1a5bdc61df3..39bdf6b8a160 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -978,14 +978,18 @@ end function function hUseAsyncSlot( cSlot as string ) as integer + ' These are a selection of slots that take time to get enabled after + ' actions have been performed on a document. Although they might appear + ' to be ready in the UI we still need to probe them. + dim iRetries as integer : iRetries = 0 dim iTime as integer : iTime = 0 dim slot as string : slot = lcase( cSlot ) - const MAX_RETRIES = 100 ' Number of time we try to call the slot - const DELAY = 100 ' 100ms delay to wait between retries - const RETVAL_TIMEOUT = -1 ' Returnvalue if slot is not available + const MAX_RETRIES = 100 ' Number of time we try to call the slot + const DELAY = 100 ' 100ms delay to wait between retries + const RC_TIMEOUT = -1 ' Returnvalue if slot is not available const CFN = "global::tools::includes::required::hUseAsyncSlot(): " if ( GVERBOSE ) then printlog( "Execute <" & cSlot & ">" ) @@ -1092,7 +1096,7 @@ function hUseAsyncSlot( cSlot as string ) as integer iTime = iRetries * DELAY ' Timeout is -1 - if ( iRetries = MAX_RETRIES ) then iTime = RETVAL_TIMEOUT + if ( iRetries = MAX_RETRIES ) then iTime = RC_TIMEOUT if ( GVERBOSE ) then printlog( CFN & "Exit with rc=" & iTime ) hUseAsyncSlot() = iTime @@ -1108,7 +1112,7 @@ function hClickButton( oButton as object ) as integer const MAX_RETRIES = 50 ' Try to click the button max 50 times const DELAY = 100 ' 100ms wait between retries - const RETVAL_TIMEOUT = -1 ' Return -1 if the button is not available + const RC_TIMEOUT = -1 ' Return -1 if the button is not available const CFN = "global::tools::includes::required::hClickButton(): " if ( GVERBOSE ) then printlog( "Click <" & oButton.name() & ">" ) @@ -1126,7 +1130,7 @@ function hClickButton( oButton as object ) as integer ' Total time used iTime = iRetries * DELAY - if ( iRetries = MAX_RETRIES ) then iTime = RETVAL_TIMEOUT + if ( iRetries = MAX_RETRIES ) then iTime = RC_TIMEOUT if ( GVERBOSE ) then printlog( CFN & "Exit with rc=" & iTime ) hClickButton() = iTime @@ -1177,17 +1181,22 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean printlog( "Closing dialog <" & oDialog.name() & "> using the flags <" & sFlags & ">.") endif - if ( oDialog.exists() ) then - select case( iClosingMethod ) - case METHOD_CLOSE : oDialog.close() - case METHOD_CANCEL : oDialog.cancel() - case METHOD_OK : oDialog.ok() - case METHOD_202 : oDialog.click( 202 ) - case METHOD_YES : oDialog.yes() - case METHOD_NO : oDialog.no() - case else : - warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) - end select + if ( oDialog.exists( 1 ) ) then + try + select case( iClosingMethod ) + case METHOD_CLOSE : oDialog.close() + case METHOD_CANCEL : oDialog.cancel() + case METHOD_202 : oDialog.click( 202 ) + case METHOD_YES : oDialog.yes() + case METHOD_NO : oDialog.no() + case METHOD_OK : oDialog.ok() + case else : + warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) + end select + catch + printlog( CFN & "Could not execute action with provided flags: " & sFlags ) + hCloseDialog() = FALSE + endcatch else if ( bDialogMustExist ) then warnlog( CFN & "The requested dialog is not available, no action taken" ) @@ -1206,6 +1215,8 @@ end function function hWaitForObject( oControl as object, iTime as integer ) as integer const CFN = "global::tools::includes::required::t_tools3.inc::hWaitForObject(): " + const RC_TIMEOUT = -1 + dim iWait as integer if ( GVERBOSE ) then printlog( CFN & "Entering function for control: " & oControl.name() ) @@ -1227,6 +1238,6 @@ function hWaitForObject( oControl as object, iTime as integer ) as integer next iWait printlog( CFN & "Control not found or not enabled, timeout reached" ) - hWaitForObject() = -1 + hWaitForObject() = RC_TIMEOUT end function -- cgit From cdbc7121ae801eccd1fa35f219dea06472dbdaaa Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 14:24:10 +0200 Subject: vitomation01: #i109562 - Modify handling of messgeboxes - more enhancements for flexibility --- .../global/tools/includes/optional/t_docfuncs.inc | 37 +++++++++++++++------- .../global/tools/includes/required/t_tools3.inc | 27 +++++++--------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/testautomation/global/tools/includes/optional/t_docfuncs.inc b/testautomation/global/tools/includes/optional/t_docfuncs.inc index 8e98fbef378f..c544db3111fa 100755 --- a/testautomation/global/tools/includes/optional/t_docfuncs.inc +++ b/testautomation/global/tools/includes/optional/t_docfuncs.inc @@ -351,23 +351,38 @@ function hDestroyDocument() as boolean const CFN = "global::tools::includes::optional::t_docfuncs.inc::hDestroyDocument: " dim iDocCount as integer : iDocCount = getDocumentCount() hDestroyDocument() = false + + dim method( 3 ) as string + method( 1 ) = "no,optional" + method( 2 ) = "202,optional" + method( 3 ) = "ok,optional" ' This could be a File I/O error + + dim iCurrentMethod as integer + dim bDialogClosed as boolean if ( iDocCount = 0 ) then exit function if ( GVERBOSE ) then printlog( CFN & "In.: Open: " & iDocCount ) hUseAsyncSlot( "FileClose" ) - - Kontext "Active" - if ( Active.Exists( 2 ) ) then - printlog( CFN & "Msgbox: " & Active.getText() ) - hCloseDialog( Active, "no" ) - hCloseDialog( Active, "202,optional" ) - - ' This could be the "Error saving document" warning. - if ( hCloseDialog( Active, "ok,optional" ) ) then - warnlog( CFN & "An unexpected message has been handled" ) + + for iCurrentMethod = 1 to 3 + + bDialogClosed = false + + Kontext "Active" + if ( Active.exists( 1 ) ) then + printlog( CFN & "Msgbox: " & Active.getText() ) + if ( GVERBOSE ) then printlog( CFN & "Method: " & method( iCurrentMethod ) ) + bDialogClosed = hCloseDialog( Active, method( iCurrentMethod ) ) + else + exit for endif - end if + + if ( iCurrentMethod = 3 and bDialogClosed ) then + warnlog( "Unexpected messagebox was handled" ) + endif + + next iCurrentMethod if ( getDocumentCount() = iDocCount ) then hCloseDocument() if ( getDocumentCount() = iDocCount - 1 ) then hDestroyDocument() = true diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index 39bdf6b8a160..a60843b38b32 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1181,22 +1181,17 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean printlog( "Closing dialog <" & oDialog.name() & "> using the flags <" & sFlags & ">.") endif - if ( oDialog.exists( 1 ) ) then - try - select case( iClosingMethod ) - case METHOD_CLOSE : oDialog.close() - case METHOD_CANCEL : oDialog.cancel() - case METHOD_202 : oDialog.click( 202 ) - case METHOD_YES : oDialog.yes() - case METHOD_NO : oDialog.no() - case METHOD_OK : oDialog.ok() - case else : - warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) - end select - catch - printlog( CFN & "Could not execute action with provided flags: " & sFlags ) - hCloseDialog() = FALSE - endcatch + if ( oDialog.exists() ) then + select case( iClosingMethod ) + case METHOD_CLOSE : oDialog.close() + case METHOD_CANCEL : oDialog.cancel() + case METHOD_202 : oDialog.click( 202 ) + case METHOD_YES : oDialog.yes() + case METHOD_NO : oDialog.no() + case METHOD_OK : oDialog.ok() + case else : + warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) + end select else if ( bDialogMustExist ) then warnlog( CFN & "The requested dialog is not available, no action taken" ) -- cgit From 4659d84eb4e0e8038ac21044ddd3c390e2585581 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 19 May 2010 14:28:33 +0200 Subject: cws tl79: #i110254# new security tap page in 'File/Properties' --- desktop/source/migration/migration.cxx | 1 + sfx2/inc/sfx2/objsh.hxx | 7 + sfx2/inc/sfx2/sfx.hrc | 2 + sfx2/sdi/sfx.sdi | 2 +- sfx2/source/dialog/securitypage.cxx | 320 ++++++++++++++++++++++----------- sfx2/source/dialog/securitypage.hrc | 6 +- sfx2/source/dialog/securitypage.src | 19 +- sfx2/source/doc/objxtor.cxx | 24 +++ 8 files changed, 262 insertions(+), 119 deletions(-) mode change 100644 => 100755 desktop/source/migration/migration.cxx mode change 100644 => 100755 sfx2/inc/sfx2/objsh.hxx mode change 100644 => 100755 sfx2/sdi/sfx.sdi mode change 100644 => 100755 sfx2/source/doc/objxtor.cxx diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx old mode 100644 new mode 100755 index 2181daab7454..b9be788ebd4b --- a/desktop/source/migration/migration.cxx +++ b/desktop/source/migration/migration.cxx @@ -232,6 +232,7 @@ static void insertSorted(migrations_available& rAvailableMigrations, supported_m { rAvailableMigrations.insert(pIter, aSupportedMigration ); bInserted = true; + break; } ++pIter; } diff --git a/sfx2/inc/sfx2/objsh.hxx b/sfx2/inc/sfx2/objsh.hxx old mode 100644 new mode 100755 index 5fc5a641fd44..7984fae956cb --- a/sfx2/inc/sfx2/objsh.hxx +++ b/sfx2/inc/sfx2/objsh.hxx @@ -683,6 +683,13 @@ public: sal_Int32 nVersion, sal_Bool bTemplate = sal_False) const = 0; + // change recording and respective passwword protection for Writer and Calc + // slots available for Writer: FN_REDLINE_ON, FN_REDLINE_ON + // slots used for Calc: FID_CHG_RECORD, SID_CHG_PROTECT + virtual void SetChangeRecording( bool bActivate ); + virtual bool SetProtectionPassword( const String &rPassword ); + virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); + // ================================= //#if 0 // _SOLAR__PRIVATE diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc index 137218e3c117..3ed7f34ee3b8 100755 --- a/sfx2/inc/sfx2/sfx.hrc +++ b/sfx2/inc/sfx2/sfx.hrc @@ -234,6 +234,8 @@ #define TP_MANAGE_STYLES (RID_SFX_START+7) #define DLG_STYLE_DESIGNER (RID_SFX_START+8) +#define RID_SFX_INCORRECT_PASSWORD (RID_SFX_START+216) + #define STR_STYLE_FILTER_AUTO (RID_SFX_START+9) #define STR_STYLE_FILTER_USED (RID_SFX_START+10) #define STR_STYLE_FILTER_USERDEF (RID_SFX_START+11) diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi old mode 100644 new mode 100755 index 10a920852848..e4ff0dc8d2b5 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -31,7 +31,7 @@ SfxBoolItem _SwitchViewShell0 SID_VIEWSHELL0 [ /* flags: */ AutoUpdate = FALSE, - Cachable = Cachable, + Cachable = Cachable,  FastCall = FALSE, HasCoreId = FALSE, HasDialog = FALSE, diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx index d6351143c51e..d4f217671d6e 100755 --- a/sfx2/source/dialog/securitypage.cxx +++ b/sfx2/source/dialog/securitypage.cxx @@ -38,64 +38,70 @@ #include #include #include +#include #include #include #include +#include #include #include #include +#include #include +using namespace ::com::sun::star; ////////////////////////////////////////////////////////////////////// -namespace +static short lcl_GetPassword( Window *pParent, bool bShowConfirm, /*out*/String &rPassword ) { - enum RedliningMode { RL_NONE, RL_WRITER, RL_CALC }; + bool bRes = false; + SfxPasswordDialog aPasswdDlg( pParent ); + if (bShowConfirm) + aPasswdDlg.ShowExtras( SHOWEXTRAS_CONFIRM ); + if (RET_OK == aPasswdDlg.Execute() && aPasswdDlg.GetPassword().Len() > 0) + { + rPassword = aPasswdDlg.GetPassword(); + bRes = true; + } + return bRes; +} - enum RedlineFunc { RF_ON, RF_PROTECT }; - const SfxBoolItem* ExecuteRecordChangesFunc( RedliningMode _eMode, RedlineFunc _eFunc, BOOL _bVal, Window* _pParent = NULL ) - { - const SfxBoolItem* pRet = NULL; +static bool lcl_IsPasswordCorrect( const String &rPassword ) +{ + bool bRes = false; - if (_eMode != RL_NONE) - { - USHORT nSlot; - if (_eMode == RL_WRITER) - nSlot = _eFunc == RF_ON ? FN_REDLINE_ON : FN_REDLINE_PROTECT; - else - nSlot = _eFunc == RF_ON ? FID_CHG_RECORD : SID_CHG_PROTECT; + SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); + uno::Sequence< sal_Int8 > aPasswordHash; + bool bHasPassword = pCurDocShell->GetProtectionHash( aPasswordHash ); + + // check if supplied password was correct + uno::Sequence< sal_Int8 > aNewPasswd( aPasswordHash ); + SvPasswordHelper::GetHashPassword( aNewPasswd, rPassword ); + if (SvPasswordHelper::CompareHashPassword( aPasswordHash, rPassword )) + bRes = true; // password was correct + else + InfoBox( NULL, String( SfxResId( RID_SFX_INCORRECT_PASSWORD ) ) ).Execute(); - // execute - SfxViewShell* pViewSh = SfxViewShell::Current(); - if (pViewSh) - { - bool bNeedItem = _eMode == RL_WRITER || _eFunc != RF_ON; - SfxBoolItem* pItem = bNeedItem ? new SfxBoolItem( nSlot, _bVal ) : NULL; - SfxDispatcher* pDisp = pViewSh->GetDispatcher(); - if (_pParent) - { - XWindowItem aParentItem( SID_ATTR_XWINDOW, _pParent ); - pRet = static_cast< const SfxBoolItem* >( - pDisp->Execute( nSlot, SFX_CALLMODE_SYNCHRON, &aParentItem, pItem, 0L ) ); - } - else - pRet = static_cast< const SfxBoolItem* >( - pDisp->Execute( nSlot, SFX_CALLMODE_SYNCHRON, pItem, 0L ) ); - delete pItem; - } - } + return bRes; +} + + +////////////////////////////////////////////////////////////////////// + + +namespace +{ + enum RedliningMode { RL_NONE, RL_WRITER, RL_CALC }; + enum RedlineFunc { RF_ON, RF_PROTECT }; - return pRet; - } bool QueryState( USHORT _nSlot, bool& _rValue ) { bool bRet = false; - SfxViewShell* pViewSh = SfxViewShell::Current(); if (pViewSh) { @@ -105,33 +111,30 @@ namespace if (bRet) _rValue = ( static_cast< const SfxBoolItem* >( pItem ) )->GetValue(); } - return bRet; } + bool QueryRecordChangesProtectionState( RedliningMode _eMode, bool& _rValue ) { bool bRet = false; - if (_eMode != RL_NONE) { USHORT nSlot = _eMode == RL_WRITER ? FN_REDLINE_PROTECT : SID_CHG_PROTECT; bRet = QueryState( nSlot, _rValue ); } - return bRet; } + bool QueryRecordChangesState( RedliningMode _eMode, bool& _rValue ) { bool bRet = false; - if (_eMode != RL_NONE) { USHORT nSlot = _eMode == RL_WRITER ? FN_REDLINE_ON : FID_CHG_RECORD; bRet = QueryState( nSlot, _rValue ); } - return bRet; } } @@ -142,64 +145,71 @@ namespace struct SfxSecurityPage_Impl { - SfxSecurityPage & m_rDialog; + SfxSecurityPage & m_rMyTabPage; - FixedLine m_aPasswordToOpenFL; - FixedText m_aPasswordToOpenFT; - Edit m_aPasswordToOpenED; + FixedLine m_aNewPasswordToOpenFL; + FixedText m_aNewPasswordToOpenFT; + Edit m_aNewPasswordToOpenED; FixedText m_aConfirmPasswordToOpenFT; Edit m_aConfirmPasswordToOpenED; - FixedText m_aPasswordInfoFT; + FixedText m_aNewPasswordInfoFT; - FixedLine m_aPasswordToModifyFL; - FixedText m_aPasswordToModifyFT; - Edit m_aPasswordToModifyED; + FixedLine m_aNewPasswordToModifyFL; + FixedText m_aNewPasswordToModifyFT; + Edit m_aNewPasswordToModifyED; FixedText m_aConfirmPasswordToModifyFT; Edit m_aConfirmPasswordToModifyED; FixedLine m_aOptionsFL; CheckBox m_aOpenReadonlyCB; - CheckBox m_aRemoveInfoOnSavingCB; CheckBox m_aRecordChangesCB; // for record changes PushButton m_aChangeProtectionPB; // for record changes String m_aProtectSTR; // for record changes String m_aUnProtectSTR; // for record changes RedliningMode m_eRedlingMode; // for record changes + bool m_bOrigPasswordIsConfirmed; + bool m_bNewPasswordIsValid; + String m_aNewPassword; + + String m_aEndRedliningWarning; + bool m_bEndRedliningWarningDone; + DECL_LINK( RecordChangesCBHdl, void* ); DECL_LINK( ChangeProtectionPBHdl, void* ); SfxSecurityPage_Impl( SfxSecurityPage &rDlg, const SfxItemSet &rItemSet ); ~SfxSecurityPage_Impl(); - void CheckRecordChangesState( void ); - BOOL FillItemSet_Impl( SfxItemSet & ); void Reset_Impl( const SfxItemSet & ); }; -SfxSecurityPage_Impl::SfxSecurityPage_Impl( SfxSecurityPage &rDlg, const SfxItemSet & ) : - m_rDialog (rDlg), - m_aPasswordToOpenFL (&rDlg, SfxResId( PASSWORD_TO_OPEN_FL ) ), - m_aPasswordToOpenFT (&rDlg, SfxResId( PASSWORD_TO_OPEN_FT ) ), - m_aPasswordToOpenED (&rDlg, SfxResId( PASSWORD_TO_OPEN_ED ) ), - m_aConfirmPasswordToOpenFT (&rDlg, SfxResId( CONFIRM_PASSWORD_TO_OPEN_FT ) ), - m_aConfirmPasswordToOpenED (&rDlg, SfxResId( CONFIRM_PASSWORD_TO_OPEN_ED ) ), - m_aPasswordInfoFT (&rDlg, SfxResId( PASSWORD_INFO_FT ) ), - m_aPasswordToModifyFL (&rDlg, SfxResId( PASSWORD_TO_MODIFY_FL ) ), - m_aPasswordToModifyFT (&rDlg, SfxResId( PASSWORD_TO_MODIFY_FT ) ), - m_aPasswordToModifyED (&rDlg, SfxResId( PASSWORD_TO_MODIFY_ED ) ), - m_aConfirmPasswordToModifyFT (&rDlg, SfxResId( CONFIRM_PASSWORD_TO_MODIFY_FT ) ), - m_aConfirmPasswordToModifyED (&rDlg, SfxResId( CONFIRM_PASSWORD_TO_MODIFY_ED ) ), - m_aOptionsFL (&rDlg, SfxResId( OPTIONS_FL ) ), - m_aOpenReadonlyCB (&rDlg, SfxResId( OPEN_READONLY_CB ) ), - m_aRemoveInfoOnSavingCB (&rDlg, SfxResId( REMOVE_INFO_ON_SAVING_CB ) ), - m_aRecordChangesCB (&rDlg, SfxResId( RECORD_CHANGES_CB ) ), - m_aChangeProtectionPB (&rDlg, SfxResId( CHANGE_PROTECTION_PB ) ), +SfxSecurityPage_Impl::SfxSecurityPage_Impl( SfxSecurityPage &rTabPage, const SfxItemSet & ) : + m_rMyTabPage (rTabPage), + m_aNewPasswordToOpenFL (&rTabPage, SfxResId( PASSWORD_TO_OPEN_FL ) ), + m_aNewPasswordToOpenFT (&rTabPage, SfxResId( PASSWORD_TO_OPEN_FT ) ), + m_aNewPasswordToOpenED (&rTabPage, SfxResId( PASSWORD_TO_OPEN_ED ) ), + m_aConfirmPasswordToOpenFT (&rTabPage, SfxResId( CONFIRM_PASSWORD_TO_OPEN_FT ) ), + m_aConfirmPasswordToOpenED (&rTabPage, SfxResId( CONFIRM_PASSWORD_TO_OPEN_ED ) ), + m_aNewPasswordInfoFT (&rTabPage, SfxResId( PASSWORD_INFO_FT ) ), + m_aNewPasswordToModifyFL (&rTabPage, SfxResId( PASSWORD_TO_MODIFY_FL ) ), + m_aNewPasswordToModifyFT (&rTabPage, SfxResId( PASSWORD_TO_MODIFY_FT ) ), + m_aNewPasswordToModifyED (&rTabPage, SfxResId( PASSWORD_TO_MODIFY_ED ) ), + m_aConfirmPasswordToModifyFT (&rTabPage, SfxResId( CONFIRM_PASSWORD_TO_MODIFY_FT ) ), + m_aConfirmPasswordToModifyED (&rTabPage, SfxResId( CONFIRM_PASSWORD_TO_MODIFY_ED ) ), + m_aOptionsFL (&rTabPage, SfxResId( OPTIONS_FL ) ), + m_aOpenReadonlyCB (&rTabPage, SfxResId( OPEN_READONLY_CB ) ), + m_aRecordChangesCB (&rTabPage, SfxResId( RECORD_CHANGES_CB ) ), + m_aChangeProtectionPB (&rTabPage, SfxResId( CHANGE_PROTECTION_PB ) ), m_aProtectSTR ( SfxResId( STR_PROTECT ) ), m_aUnProtectSTR ( SfxResId( STR_UNPROTECT ) ), - m_eRedlingMode ( RL_NONE ) + m_eRedlingMode ( RL_NONE ), + m_bOrigPasswordIsConfirmed ( false ), + m_bNewPasswordIsValid ( false ), + m_aEndRedliningWarning ( SfxResId( STR_END_REDLINING_WARNING ) ), + m_bEndRedliningWarningDone ( false ) { m_aChangeProtectionPB.SetText( m_aProtectSTR ); // adjust button width if necessary @@ -218,30 +228,46 @@ SfxSecurityPage_Impl::~SfxSecurityPage_Impl() } -void SfxSecurityPage_Impl::CheckRecordChangesState( void ) -{ - bool bVal; - if (QueryRecordChangesState( m_eRedlingMode, bVal )) - { - m_aRecordChangesCB.Enable(); - m_aRecordChangesCB.Check( bVal ); - } - else - m_aRecordChangesCB.Disable(); // because now we don't know the state! - - m_aChangeProtectionPB.Enable( QueryRecordChangesProtectionState( m_eRedlingMode, bVal ) ); -} - - BOOL SfxSecurityPage_Impl::FillItemSet_Impl( SfxItemSet & ) { - BOOL bModified = FALSE; + bool bModified = false; SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); if (pCurDocShell) { + if (m_eRedlingMode != RL_NONE && !pCurDocShell->IsReadOnly()) + { + // change recording + const bool bDoRecordChanges = m_aRecordChangesCB.IsChecked(); + pCurDocShell->SetChangeRecording( bDoRecordChanges ); + + // no change recording should imply no password protection + if (!bDoRecordChanges && (!m_bNewPasswordIsValid || m_aNewPassword.Len() != 0)) + { + // actually this should not be possible. Thus just as 'coded comment': + DBG_ASSERT( 0, "unexpected state of UI" ); + m_bNewPasswordIsValid = true; + m_aNewPassword = String(); + } + + // change record protection + if (m_bNewPasswordIsValid) + { + const bool bDoChangeProtection = m_aChangeProtectionPB.GetText() != m_aProtectSTR; + DBG_ASSERT( !bDoChangeProtection || bDoRecordChanges, + "change protection requires record changes to be active!" ); + pCurDocShell->SetProtectionPassword( m_aNewPassword ); + } + + bModified = true; + } + + // open read-only? if (pCurDocShell->HasSecurityOptOpenReadOnly()) + { pCurDocShell->SetSecurityOptOpenReadOnly( m_aOpenReadonlyCB.IsChecked() ); + bModified = true; + } } return bModified; @@ -284,23 +310,37 @@ void SfxSecurityPage_Impl::Reset_Impl( const SfxItemSet & ) else m_aOpenReadonlyCB.Disable(); - bool bVal; - if (QueryRecordChangesState( RL_WRITER, bVal ) && !bIsHTMLDoc) + bool bRecordChanges; + if (QueryRecordChangesState( RL_WRITER, bRecordChanges ) && !bIsHTMLDoc) m_eRedlingMode = RL_WRITER; - else if (QueryRecordChangesState( RL_CALC, bVal )) + else if (QueryRecordChangesState( RL_CALC, bRecordChanges )) m_eRedlingMode = RL_CALC; else m_eRedlingMode = RL_NONE; if (m_eRedlingMode != RL_NONE) { - m_aRecordChangesCB.Check( bVal ); - m_aRecordChangesCB.Enable( !bVal && !bIsReadonly ); - m_aChangeProtectionPB.Enable( - QueryRecordChangesProtectionState( m_eRedlingMode, bVal ) && !bIsReadonly ); + bool bProtection; + QueryRecordChangesProtectionState( m_eRedlingMode, bProtection ); + + m_aChangeProtectionPB.Enable( !bIsReadonly ); // set the right text - if (bVal) + if (bProtection) sNewText = m_aUnProtectSTR; + + m_aRecordChangesCB.Check( bRecordChanges ); + m_aRecordChangesCB.Enable( /*!bProtection && */!bIsReadonly ); + + DBG_ASSERT( pCurDocShell, "doc shell missing" ); + if (pCurDocShell) + { + m_bOrigPasswordIsConfirmed = true; // default case if no password is set + uno::Sequence< sal_Int8 > aPasswordHash; + // check if password is available + if (pCurDocShell->GetProtectionHash( aPasswordHash ) && + aPasswordHash.getLength() > 0) + m_bOrigPasswordIsConfirmed = false; // password found, needs to be confirmed later on + } } } @@ -310,27 +350,94 @@ void SfxSecurityPage_Impl::Reset_Impl( const SfxItemSet & ) IMPL_LINK( SfxSecurityPage_Impl, RecordChangesCBHdl, void*, EMPTYARG ) { - ExecuteRecordChangesFunc( m_eRedlingMode, RF_ON, m_aRecordChangesCB.IsChecked(), &m_rDialog ); - CheckRecordChangesState(); + // when change recording gets disabled protection must be disabled as well + if (!m_aRecordChangesCB.IsChecked()) // the new check state is already present, thus the '!' + { + bool bAlreadyDone = false; + if (!m_bEndRedliningWarningDone) + { + WarningBox aBox( m_rMyTabPage.GetParent(), WinBits(WB_YES_NO | WB_DEF_NO), + m_aEndRedliningWarning ); + if (aBox.Execute() != RET_YES) + bAlreadyDone = true; + else + m_bEndRedliningWarningDone = true; + } + + const bool bNeedPasssword = !m_bOrigPasswordIsConfirmed + && m_aChangeProtectionPB.GetText() != m_aProtectSTR; + if (!bAlreadyDone && bNeedPasssword) + { + String aPasswordText; + + // dialog canceled or no password provided + if (!lcl_GetPassword( m_rMyTabPage.GetParent(), false, aPasswordText )) + bAlreadyDone = true; + + // ask for password and if dialog is canceled or no password provided return + if (lcl_IsPasswordCorrect( aPasswordText )) + m_bOrigPasswordIsConfirmed = true; + else + bAlreadyDone = true; + } + + if (bAlreadyDone) + m_aRecordChangesCB.Check( true ); // restore original state + else + { + // remember required values to change protection and change recording in + // FillItemSet_Impl later on if password was correct. + m_bNewPasswordIsValid = true; + m_aNewPassword = String(); + + m_aChangeProtectionPB.SetText( m_aProtectSTR ); + } + } + return 0; } IMPL_LINK( SfxSecurityPage_Impl, ChangeProtectionPBHdl, void*, EMPTYARG ) { - bool bProt; - QueryRecordChangesProtectionState( m_eRedlingMode, bProt ); - ExecuteRecordChangesFunc( m_eRedlingMode, RF_PROTECT, !bProt, &m_rDialog ); - CheckRecordChangesState(); + if (m_eRedlingMode == RL_NONE) + return 0; + + // the push button text is always the opposite of the current state. Thus: + const bool bCurrentProtection = m_aChangeProtectionPB.GetText() != m_aProtectSTR; - if (QueryRecordChangesProtectionState( m_eRedlingMode, bProt )) + // ask user for password (if still necessary) + String aPasswordText; + bool bNewProtection = !bCurrentProtection; + const bool bNeedPassword = bNewProtection || !m_bOrigPasswordIsConfirmed; + if (bNeedPassword) { - // RecordChangesCB is enabled if protection is off - m_aRecordChangesCB.Enable( !bProt ); - // toggle text of button "Protect" <-> "Unprotect" - String sNewText = bProt ? m_aUnProtectSTR : m_aProtectSTR; - m_aChangeProtectionPB.SetText( sNewText ); + // ask for password and if dialog is canceled or no password provided return + if (!lcl_GetPassword( m_rMyTabPage.GetParent(), bNewProtection, aPasswordText )) + return 0; + + // provided password still needs to be checked? + if (!bNewProtection && !m_bOrigPasswordIsConfirmed) + { + if (lcl_IsPasswordCorrect( aPasswordText )) + m_bOrigPasswordIsConfirmed = true; + else + return 0; + } } + DBG_ASSERT( m_bOrigPasswordIsConfirmed, "ooops... this should not have happened!" ); + + // remember required values to change protection and change recording in + // FillItemSet_Impl later on if password was correct. + m_bNewPasswordIsValid = true; + m_aNewPassword = bNewProtection? aPasswordText : String(); + +// // RecordChangesCB is enabled if protection is off +// m_aRecordChangesCB.Enable( !bNewProtection ); + m_aRecordChangesCB.Check( bNewProtection ); + // toggle text of button "Protect" <-> "Unprotect" + m_aChangeProtectionPB.SetText( bNewProtection ? m_aUnProtectSTR : m_aProtectSTR ); + return 0; } @@ -378,3 +485,4 @@ void SfxSecurityPage::Reset( const SfxItemSet & rItemSet ) ////////////////////////////////////////////////////////////////////// + diff --git a/sfx2/source/dialog/securitypage.hrc b/sfx2/source/dialog/securitypage.hrc index 820dab538b9f..d425131b4772 100755 --- a/sfx2/source/dialog/securitypage.hrc +++ b/sfx2/source/dialog/securitypage.hrc @@ -41,12 +41,12 @@ #define CONFIRM_PASSWORD_TO_MODIFY_ED 11 #define OPTIONS_FL 12 #define OPEN_READONLY_CB 13 -#define REMOVE_INFO_ON_SAVING_CB 14 -#define RECORD_CHANGES_CB 15 -#define CHANGE_PROTECTION_PB 16 +#define RECORD_CHANGES_CB 14 +#define CHANGE_PROTECTION_PB 15 #define STR_PROTECT 101 #define STR_UNPROTECT 102 +#define STR_END_REDLINING_WARNING 103 #endif diff --git a/sfx2/source/dialog/securitypage.src b/sfx2/source/dialog/securitypage.src index 32f5fac704a4..4bf8cdaf58a9 100755 --- a/sfx2/source/dialog/securitypage.src +++ b/sfx2/source/dialog/securitypage.src @@ -125,21 +125,15 @@ TabPage TP_DOCINFOSECURITY Size = MAP_APPFONT( 176, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "~Open file read-only"; }; - CheckBox REMOVE_INFO_ON_SAVING_CB - { - Pos = MAP_APPFONT( 12, 147 ); - Size = MAP_APPFONT( 176, RSC_CD_CHECKBOX_HEIGHT ); - Text [ en-US ] = "Remove personal ~information on saving"; - }; CheckBox RECORD_CHANGES_CB { - Pos = MAP_APPFONT( 12, 162 ); + Pos = MAP_APPFONT( 12, 147 ); Size = MAP_APPFONT( 176, RSC_CD_CHECKBOX_HEIGHT ); Text [ en-US ] = "Record ~changes"; }; PushButton CHANGE_PROTECTION_PB { - Pos = MAP_APPFONT( 194, 160 ); + Pos = MAP_APPFONT( 194, 145 ); Size = MAP_APPFONT( 60, RSC_CD_PUSHBUTTON_HEIGHT ); }; String STR_PROTECT @@ -150,7 +144,14 @@ TabPage TP_DOCINFOSECURITY { Text [ en-US ] = "~Unprotect..."; }; - + String STR_END_REDLINING_WARNING + { + Text [ en-US ] = "This action will exit the change recording mode.\nAny information about changes will be lost.\n\nExit change recording mode?\n\n" ; + }; }; +String RID_SFX_INCORRECT_PASSWORD +{ + Text [ en-US ] = "Incorrect password" ; +}; diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx old mode 100644 new mode 100755 index 6502eeaeb78c..751525910958 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -1074,3 +1074,27 @@ void SfxObjectShell::SetInitialized_Impl( const bool i_fromInitNew ) SFX_APP()->NotifyEvent( SfxEventHint( SFX_EVENT_LOADFINISHED, GlobalEventConfig::GetEventName(STR_EVENT_LOADFINISHED), this ) ); } } + + +void SfxObjectShell::SetChangeRecording( bool /*bActivate*/ ) +{ + // currently this function needs to be overwritten by Writer and Calc only + DBG_ASSERT( 0, "function not implemented" ); +} + + +bool SfxObjectShell::SetProtectionPassword( const String &rPassword ) +{ + // currently this function needs to be overwritten by Writer and Calc only + DBG_ASSERT( 0, "function not implemented" ); + return false; +} + + +bool SfxObjectShell::GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > & /*rPasswordHash*/ ) +{ + // currently this function needs to be overwritten by Writer and Calc only + DBG_ASSERT( 0, "function not implemented" ); + return false; +} + -- cgit From f4385ed8bf1da56c716bd4e48c5f5d739127c0d9 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 19 May 2010 14:28:33 +0200 Subject: cws tl79: #i110254# new security tap page in 'File/Properties' --- sc/source/ui/docshell/docsh.cxx | 56 +++++++++++++++++++++++++++++++++++++++++ sc/source/ui/inc/docsh.hxx | 6 +++++ 2 files changed, 62 insertions(+) mode change 100644 => 100755 sc/source/ui/docshell/docsh.cxx mode change 100644 => 100755 sc/source/ui/inc/docsh.hxx diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx old mode 100644 new mode 100755 index 821b2a6ad880..4c808764b349 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -2632,3 +2633,58 @@ sal_Bool ScDocShell::AcceptStateUpdate() const return sal_False; } //-->Added by PengYunQuan for Validity Cell Range Picker + + +void ScDocShell::SetChangeRecording( bool bActivate ) +{ + ScDocument * pDoc = GetDocument(); + DBG_ASSERT( pDoc, "ScDocument missing" ); + if (pDoc) + { + if (bActivate) + pDoc->StartChangeTracking(); + else + pDoc->EndChangeTracking(); + } +} + + +bool ScDocShell::SetProtectionPassword( const String &rNewPassword ) +{ + bool bRes = false; + ScChangeTrack* pChangeTrack = aDocument.GetChangeTrack(); + if (pChangeTrack) + { + if (rNewPassword.Len()) + { + // when password protection is applied change tracking must always be active + SetChangeRecording( true ); + + ::com::sun::star::uno::Sequence< sal_Int8 > aProtectionHash; + SvPasswordHelper::GetHashPassword( aProtectionHash, rNewPassword ); + pChangeTrack->SetProtection( aProtectionHash ); + } + else + { + pChangeTrack->SetProtection( ::com::sun::star::uno::Sequence< sal_Int8 >() ); + } + bRes = true; + } + + return bRes; +} + + +bool ScDocShell::GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ) +{ + bool bRes = false; + ScChangeTrack* pChangeTrack = aDocument.GetChangeTrack(); + if (pChangeTrack && pChangeTrack->IsProtected()) + { + rPasswordHash = pChangeTrack->GetProtection(); + bRes = true; + } + return bRes; +} + + diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx old mode 100644 new mode 100755 index 09d34c661995..2c28663d107d --- a/sc/source/ui/inc/docsh.hxx +++ b/sc/source/ui/inc/docsh.hxx @@ -418,6 +418,12 @@ public: sal_Bool AcceptStateUpdate() const; //-->Added by PengYunQuan for Validity Cell Range Picker ScSheetSaveData* GetSheetSaveData(); + + // passwword protection for Calc (derived from SfxObjectShell) + // see also: FID_CHG_RECORD, SID_CHG_PROTECT + virtual void SetChangeRecording( bool bActivate ); + virtual bool SetProtectionPassword( const String &rPassword ); + virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); }; SO2_DECL_REF(ScDocShell) -- cgit From 9c4d0fbe73cf1311aa82cc986206fdb9ddd9c6c3 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 19 May 2010 14:28:33 +0200 Subject: cws tl79: #i110254# new security tap page in 'File/Properties' --- sw/inc/docsh.hxx | 7 +++++ sw/sdi/swriter.sdi | 2 +- sw/source/filter/ww8/wrtww8.cxx | 6 +++- sw/source/ui/app/docsh.cxx | 66 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 2 deletions(-) mode change 100644 => 100755 sw/sdi/swriter.sdi mode change 100644 => 100755 sw/source/filter/ww8/wrtww8.cxx mode change 100644 => 100755 sw/source/ui/app/docsh.cxx diff --git a/sw/inc/docsh.hxx b/sw/inc/docsh.hxx index 16e6cd047fb6..75d32b1b7f1d 100755 --- a/sw/inc/docsh.hxx +++ b/sw/inc/docsh.hxx @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -302,6 +303,12 @@ public: SfxInPlaceClient* GetIPClient( const ::svt::EmbeddedObjectRef& xObjRef ); virtual const ::sfx2::IXmlIdRegistry* GetXmlIdRegistry() const; + + // passwword protection for Writer (derived from SfxObjectShell) + // see also: FN_REDLINE_ON, FN_REDLINE_ON + virtual void SetChangeRecording( bool bActivate ); + virtual bool SetProtectionPassword( const String &rPassword ); + virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); }; class Graphic; diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi old mode 100644 new mode 100755 index aede24688e1e..7d7bb04db35d --- a/sw/sdi/swriter.sdi +++ b/sw/sdi/swriter.sdi @@ -6623,7 +6623,7 @@ SfxBoolItem ProtectTraceChangeMode FN_REDLINE_PROTECT FastCall = FALSE, HasCoreId = FALSE, HasDialog = FALSE, - ReadOnlyDoc = TRUE, + ReadOnlyDoc = FALSE, Toggle = FALSE, Container = FALSE, RecordAbsolute = FALSE, diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx old mode 100644 new mode 100755 index 6bf7ecbb8cdf..0bfea1a484f6 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -2434,11 +2434,13 @@ typedef ::std::deque SwNodeDeque; void MSWordExportBase::WriteText() { #ifdef DEBUG +#if 0 ::std::clog << "" << ::std::endl; ::std::clog << dbg_out(pCurPam->GetDoc()->GetNodes()) << ::std::endl; SwNodeHashSet aNodeSet; SwNodeDeque aNodeDeque; +#endif #endif while( pCurPam->GetPoint()->nNode < pCurPam->GetMark()->nNode || @@ -2448,6 +2450,7 @@ void MSWordExportBase::WriteText() SwNode * pNd = pCurPam->GetNode(); #ifdef DEBUG +#if 0 if (aNodeSet.find(pNd) == aNodeSet.end()) { aNodeSet.insert(pNd); @@ -2468,6 +2471,7 @@ void MSWordExportBase::WriteText() ::std::clog << "" << ::std::endl; } +#endif #endif if ( pNd->IsTxtNode() ) @@ -3722,7 +3726,7 @@ void WW8AttributeOutput::TableNodeInfoInner( ww8::WW8TableNodeInfoInner::Pointer void MSWordExportBase::OutputEndNode( const SwEndNode &rNode ) { #ifdef DEBUG - ::std::clog << "" << dbg_out(&rNode) << ::std::endl; +// ::std::clog << "" << dbg_out(&rNode) << ::std::endl; #endif ww8::WW8TableNodeInfo::Pointer_t pNodeInfo = mpTableInfo->getTableNodeInfo( &rNode ); diff --git a/sw/source/ui/app/docsh.cxx b/sw/source/ui/app/docsh.cxx old mode 100644 new mode 100755 index 1f932e6a93bd..6b4473fbee99 --- a/sw/source/ui/app/docsh.cxx +++ b/sw/source/ui/app/docsh.cxx @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -1361,3 +1362,68 @@ const ::sfx2::IXmlIdRegistry* SwDocShell::GetXmlIdRegistry() const { return pDoc ? &pDoc->GetXmlIdRegistry() : 0; } + + +void SwDocShell::SetChangeRecording( bool bActivate ) +{ + USHORT nOn = bActivate ? nsRedlineMode_t::REDLINE_ON : 0; + USHORT nMode = pWrtShell->GetRedlineMode(); + pWrtShell->SetRedlineModeAndCheckInsMode( (nMode & ~nsRedlineMode_t::REDLINE_ON) | nOn); +} + + +bool SwDocShell::SetProtectionPassword( const String &rNewPassword ) +{ + const SfxAllItemSet aSet( GetPool() ); + const SfxItemSet* pArgs = &aSet; + const SfxPoolItem* pItem = NULL; + + IDocumentRedlineAccess* pIDRA = pWrtShell->getIDocumentRedlineAccess(); + + Sequence< sal_Int8 > aPasswd = pIDRA->GetRedlinePassword(); + if (pArgs && SFX_ITEM_SET == pArgs->GetItemState( FN_REDLINE_PROTECT, FALSE, &pItem ) + && ((SfxBoolItem*)pItem)->GetValue() == (aPasswd.getLength() != 0)) + return false; + + bool bRes = false; + + if (rNewPassword.Len()) + { + // when password protection is applied change tracking must always be active + SetChangeRecording( true ); + + Sequence< sal_Int8 > aNewPasswd; + SvPasswordHelper::GetHashPassword( aNewPasswd, rNewPassword ); + pIDRA->SetRedlinePassword( aNewPasswd ); + bRes = true; + } + else + { + pIDRA->SetRedlinePassword( Sequence< sal_Int8 >() ); + bRes = true; + } + + return bRes; +} + + +bool SwDocShell::GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ) +{ + bool bRes = false; + + const SfxAllItemSet aSet( GetPool() ); + const SfxItemSet* pArgs = &aSet; + const SfxPoolItem* pItem = NULL; + + IDocumentRedlineAccess* pIDRA = pWrtShell->getIDocumentRedlineAccess(); + Sequence< sal_Int8 > aPasswdHash( pIDRA->GetRedlinePassword() ); + if (pArgs && SFX_ITEM_SET == pArgs->GetItemState( FN_REDLINE_PROTECT, FALSE, &pItem ) + && ((SfxBoolItem*)pItem)->GetValue() == (aPasswdHash.getLength() != 0)) + return false; + rPasswordHash = aPasswdHash; + bRes = true; + + return bRes; +} + + -- cgit From 75cff005c9d2e7273631d575fa3cc81412df6d17 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 19 May 2010 14:28:33 +0200 Subject: cws tl79: #i110254# new security tap page in 'File/Properties' --- .../inc/xmlsecurity/digitalsignaturesdialog.hxx | 1 - .../source/dialogs/digitalsignaturesdialog.cxx | 6 +- .../source/dialogs/digitalsignaturesdialog.src | 78 ++++++++++------------ 3 files changed, 41 insertions(+), 44 deletions(-) diff --git a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx index 60093fc37137..4d48aad47555 100644 --- a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx +++ b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx @@ -94,7 +94,6 @@ private: FixedLine maBottomSepFL; OKButton maOKBtn; - CancelButton maCancelBtn; HelpButton maHelpBtn; ::rtl::OUString m_sODFVersion; diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx index 5ea3fbb47a38..df032dcbe5ef 100644 --- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx +++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx @@ -203,7 +203,6 @@ DigitalSignaturesDialog::DigitalSignaturesDialog( ,maRemoveBtn ( this, XMLSEC_RES( BTN_REMOVECERT ) ) ,maBottomSepFL ( this, XMLSEC_RES( FL_BOTTOM_SEP ) ) ,maOKBtn ( this, XMLSEC_RES( BTN_OK ) ) - ,maCancelBtn ( this, XMLSEC_RES( BTN_CANCEL ) ) ,maHelpBtn ( this, XMLSEC_RES( BTN_HELP ) ) ,m_sODFVersion (sODFVersion) ,m_bHasDocumentSignature(bHasDocumentSignature) @@ -212,7 +211,10 @@ DigitalSignaturesDialog::DigitalSignaturesDialog( // --> PB #i48253 the tablistbox needs its own unique id maSignaturesLB.Window::SetUniqueId( HID_XMLSEC_TREE_SIGNATURESDLG ); // <-- - static long nTabs[] = { 4, 0, 6*DS_LB_WIDTH/100, 36*DS_LB_WIDTH/100, 74*DS_LB_WIDTH/100 }; + Size aControlSize( maSignaturesLB.GetSizePixel() ); + aControlSize = maSignaturesLB.PixelToLogic( aControlSize, MapMode( MAP_APPFONT ) ); + const long nControlWidth = aControlSize.Width(); + static long nTabs[] = { 4, 0, 6*nControlWidth/100, 36*nControlWidth/100, 74*nControlWidth/100 }; maSignaturesLB.SetTabs( &nTabs[ 0 ] ); maSignaturesLB.InsertHeaderEntry( String( XMLSEC_RES( STR_HEADERBAR ) ) ); diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src b/xmlsecurity/source/dialogs/digitalsignaturesdialog.src index e0cada1d0d5c..87d2de520103 100644 --- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.src +++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.src @@ -32,7 +32,7 @@ ModalDialog RID_XMLSECDLG_DIGSIG { HelpId = HID_XMLSEC_DLG_DIGSIG; - Size = MAP_APPFONT( DS_WIDTH, DS_HEIGHT ); + Size = MAP_APPFONT( 234, 191 ); OutputSize = TRUE; Closeable = TRUE; Moveable = TRUE; @@ -42,30 +42,30 @@ ModalDialog RID_XMLSECDLG_DIGSIG FixedText FT_HINT_DOC { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_0 ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 3 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "The following have signed the document content:"; }; FixedText FT_HINT_BASIC { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_0 ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 3 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "The following have signed the document macro:"; }; FixedText FT_HINT_PACK { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_0 ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 3 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "The following have signed this package:"; }; Control LB_SIGNATURES { HelpId = HID_XMLSEC_CTRL_SIGNATURESDLG; - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_1 ); - Size = MAP_APPFONT( DS_LB_WIDTH, DS_ROW_2-DS_ROW_1 ); + Pos = MAP_APPFONT( 6, 14 ); + Size = MAP_APPFONT( 222, 109 ); SVLook = TRUE; Border = TRUE; }; @@ -88,8 +88,8 @@ ModalDialog RID_XMLSECDLG_DIGSIG FixedImage IMG_STATE_VALID { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( IMG1_WIDTH, IMG1_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 33, 22 ); Fixed = Image { ImageBitmap = Bitmap { File = "signet_11x16.png"; }; @@ -98,22 +98,22 @@ ModalDialog RID_XMLSECDLG_DIGSIG }; FixedText FI_STATE_VALID { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "The signatures in this document are valid"; }; FixedText FI_STATE_OLDSIGNATURE { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "Not all parts of the document are signed"; }; FixedImage IMG_STATE_BROKEN { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( IMG1_WIDTH, IMG1_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 33, 22 ); Fixed = Image { ImageBitmap = Bitmap { File = "caution_11x16.png"; }; @@ -122,15 +122,15 @@ ModalDialog RID_XMLSECDLG_DIGSIG }; FixedText FI_STATE_BROKEN { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; Text [ en-US ] = "The signatures in this document are invalid"; }; FixedImage IMG_STATE_NOTVALIDATED { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( IMG1_WIDTH, IMG1_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 33, 22 ); Fixed = Image { ImageBitmap = Bitmap { File = "notcertificate_16.png"; }; @@ -139,48 +139,44 @@ ModalDialog RID_XMLSECDLG_DIGSIG }; FixedText FI_STATE_NOTVALIDATED { - Pos = MAP_APPFONT( DS_COL_0, DS_ROW_2A ); - Size = MAP_APPFONT( DS_COL_7-DS_COL_0, RSC_CD_FIXEDTEXT_HEIGHT ); + Pos = MAP_APPFONT( 6, 127 ); + Size = MAP_APPFONT( 222, 8 ); Hide = TRUE; }; PushButton BTN_VIEWCERT { - Pos = MAP_APPFONT( DS_COL_1, DS_ROW_3 ); - Size = MAP_APPFONT( DS_COL_2-DS_COL_1, RSC_CD_PUSHBUTTON_HEIGHT ); + Pos = MAP_APPFONT( 6, 142 ); + Size = MAP_APPFONT( 70, 14 ); Text [ en-US ] = "View Certificate..."; }; PushButton BTN_ADDCERT { - Pos = MAP_APPFONT( DS_COL_3, DS_ROW_3 ); - Size = MAP_APPFONT( DS_COL_4-DS_COL_3, RSC_CD_PUSHBUTTON_HEIGHT ); - Text [ en-US ] = "Add..."; + Pos = MAP_APPFONT( 82, 142 ); + Size = MAP_APPFONT( 70, 14 ); + Text [ en-US ] = "Sign Document..."; }; PushButton BTN_REMOVECERT { - Pos = MAP_APPFONT( DS_COL_5, DS_ROW_3 ); - Size = MAP_APPFONT( DS_COL_6-DS_COL_5, RSC_CD_PUSHBUTTON_HEIGHT ); + Pos = MAP_APPFONT( 158, 142 ); + Size = MAP_APPFONT( 70, 14 ); Text [ en-US ] = "Remove"; }; FixedLine FL_BOTTOM_SEP { - Pos = MAP_APPFONT( 0, DLGS_BOTTOM_FL_Y( DS_HEIGHT ) ); - Size = MAP_APPFONT( DS_WIDTH, RSC_CD_FIXEDLINE_HEIGHT ); + Pos = MAP_APPFONT( 0, 160 ); + Size = MAP_APPFONT( 234, 8 ); }; OKButton BTN_OK { DefButton = TRUE; - Pos = MAP_APPFONT( DLGS_BOTTOM_OK_X( DS_WIDTH ), DLGS_BOTTOM_BTN_Y( DS_HEIGHT ) ); - Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ); - }; - CancelButton BTN_CANCEL - { - Pos = MAP_APPFONT( DLGS_BOTTOM_CANCEL_X( DS_WIDTH ), DLGS_BOTTOM_BTN_Y( DS_HEIGHT ) ); - Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ); + Pos = MAP_APPFONT( 178, 171 ); + Size = MAP_APPFONT( 50, 14 ); + Text [ en-US ] = "Close"; }; HelpButton BTN_HELP { - Pos = MAP_APPFONT( DLGS_BOTTOM_HELP_X( DS_WIDTH ), DLGS_BOTTOM_BTN_Y( DS_HEIGHT ) ); - Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT ); + Pos = MAP_APPFONT( 6, 171 ); + Size = MAP_APPFONT( 50, 14 ); }; Image IMG_STATE_VALID_HC { -- cgit From 0b8a9c8adb1589c5cd680bee5065416a02471b77 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 14:42:01 +0200 Subject: vitomation01: #i109562 - tModifyObjects should complete without the need for a number of restarts. --- .../framework/optional/includes/extras_modify_objects.inc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/testautomation/framework/optional/includes/extras_modify_objects.inc b/testautomation/framework/optional/includes/extras_modify_objects.inc index 70695d6341a0..274590d5c0bf 100755 --- a/testautomation/framework/optional/includes/extras_modify_objects.inc +++ b/testautomation/framework/optional/includes/extras_modify_objects.inc @@ -111,11 +111,14 @@ testcase tModifyObjects( iMode as integer, cCategory as string, sVer as string ) printlog( "Folder index = " & iObjectFolder & ", Object index = " & iObject ) hFileCloseAll() - - if ( iReset = 10 ) then - call exitRestartTheOffice() - iReset = 0 - endif + + ' every now and then the office becomes a little unstable. + ' Enable the if()-block then, otherwise you might miss some broken + ' documents (because the test aborts too early) + 'if ( iReset = 10 ) then + ' call exitRestartTheOffice() + ' iReset = 0 + 'endif printlog( "Select the item we want to load" ) FileNewFromTemplate -- cgit From 5a529704881cc4e021575ebedbc0ccf14cbc532a Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 14:44:28 +0200 Subject: vitomation01: #i109562 - tModifyObjects has StarOffice branding, fixed. --- .../framework/optional/includes/extras_modify_objects.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testautomation/framework/optional/includes/extras_modify_objects.inc b/testautomation/framework/optional/includes/extras_modify_objects.inc index 274590d5c0bf..1eb34f786e5f 100755 --- a/testautomation/framework/optional/includes/extras_modify_objects.inc +++ b/testautomation/framework/optional/includes/extras_modify_objects.inc @@ -81,12 +81,12 @@ testcase tModifyObjects( iMode as integer, cCategory as string, sVer as string ) next iObject printlog( "Verify object count (en_US only)" ) - if ( gProductName = "StarOffice" and gISOLang = "en-US" ) then + if ( gProductName = "Oracle Open Office" and gISOLang = "en-US" ) then if ( iObjectSum <> iObjectCountExpected ) then warnlog( "Number of objects has changed. OLD: " & iObjectCountExpected &_ " NEW: " & iObjectSum ) else - printlog( "Object count is ok for en-US / StarOffice" ) + printlog( "Object count is ok for en-US / Oracle Open Office" ) endif else printlog( "Template count testing skipped for non-en_US/StarOffice" ) @@ -95,7 +95,7 @@ testcase tModifyObjects( iMode as integer, cCategory as string, sVer as string ) Kontext "TemplateAndDocuments" printlog( "Switch from preview to document info" ) docinfo.click() - TemplateAndDocuments.cancel() + hCloseDialog( TemplateAndDocuments, "cancel" ) printlog( "" ) printlog( "Starting to load/save/close/reload/close all Objects" ) @@ -141,7 +141,7 @@ testcase tModifyObjects( iMode as integer, cCategory as string, sVer as string ) if ( hFileWait( false ) = -6 ) then warnlog( "Load failure: ASCII filter dialog displayed, recovering" ) kontext "FilterAuswahl" - FilterAuswahl.cancel() + hCloseDialog( FilterAuswahl, "cancel" ) hDestroyDocument() else printlog( "Build filename; save, reload and delete" ) -- cgit From 1778298eb695174aad2f6a981f560f0e4e2b229a Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 19 May 2010 14:59:46 +0200 Subject: cws tl79 : random typo in sfx.sdi fixed --- sfx2/sdi/sfx.sdi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index e4ff0dc8d2b5..10a920852848 100755 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -31,7 +31,7 @@ SfxBoolItem _SwitchViewShell0 SID_VIEWSHELL0 [ /* flags: */ AutoUpdate = FALSE, - Cachable = Cachable,  + Cachable = Cachable, FastCall = FALSE, HasCoreId = FALSE, HasDialog = FALSE, -- cgit From c5bd3affe5e1dae2c4ee0fcb9d51a0d910d9d82d Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 15:11:15 +0200 Subject: vitomation01: #i109562 - Another modification for one more yet unknown situation to hDestroyDocument() / hCloseDialog() --- .../global/tools/includes/required/t_tools3.inc | 26 +++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index a60843b38b32..ac3b5eafb331 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1182,16 +1182,22 @@ function hCloseDialog( oDialog as object, sUserFlags as string ) as boolean endif if ( oDialog.exists() ) then - select case( iClosingMethod ) - case METHOD_CLOSE : oDialog.close() - case METHOD_CANCEL : oDialog.cancel() - case METHOD_202 : oDialog.click( 202 ) - case METHOD_YES : oDialog.yes() - case METHOD_NO : oDialog.no() - case METHOD_OK : oDialog.ok() - case else : - warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) - end select + try + select case( iClosingMethod ) + case METHOD_CLOSE : oDialog.close() + case METHOD_CANCEL : oDialog.cancel() + case METHOD_202 : oDialog.click( 202 ) + case METHOD_YES : oDialog.yes() + case METHOD_NO : oDialog.no() + case METHOD_OK : oDialog.ok() + case else : + warnlog( CFN & " Script error: Allowed closing methods are cancel, close, ok, yes, no and 202" ) + end select + catch + warnlog( CFN & "This dialog does not provide the requested closing method" ) + hCloseDialog() = FALSE + exit function + endcatch else if ( bDialogMustExist ) then warnlog( CFN & "The requested dialog is not available, no action taken" ) -- cgit From 500417f9dcc423c447b26277e3626858b27024ed Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 19 May 2010 15:17:32 +0200 Subject: vitomation01: #i109562 - Remove invalid reference files --- .../Oracle Open Office_Filternames_add_en-US.txt | 87 ---------------------- .../Oracle Open Office_Filternames_en-US.txt | 85 --------------------- 2 files changed, 172 deletions(-) delete mode 100644 testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_add_en-US.txt delete mode 100644 testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_en-US.txt diff --git a/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_add_en-US.txt b/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_add_en-US.txt deleted file mode 100644 index bf0c1e00851e..000000000000 --- a/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_add_en-US.txt +++ /dev/null @@ -1,87 +0,0 @@ -All files (*.*) -Text documents -Spreadsheets -Presentations -Drawings -Web pages -Master documents -Formulas -Database documents ------------------------------------------- -ODF Text Document (*.odt) -ODF Text Document Template (*.ott) -StarOffice 6.0/7 Text Document (*.sxw) -StarOffice 6.0/7 Text Document Template (*.stw) -Microsoft Word 97/2000/XP (*.doc) -Microsoft Word 97/2000/XP Template (*.dot) -Microsoft Word 6.0 / 95 (*.doc) -Microsoft Word 95 Template (*.dot) -Rich Text Format (*.rtf) -StarWriter 3.0 - 5.0 (*.sdw) -StarWriter 3.0 - 5.0 Templates (*.vor) -Text (*.txt) -Text Encoded (*.txt) -HTML Document (StarOffice Writer) (*.html;*.htm) -AportisDoc (Palm) (*.pdb) -DocBook (*.xml) -Microsoft WinWord 5 (*.doc) -Microsoft Word 2003 XML (*.xml) -Microsoft Word 2007 XML (*.docx;*.docm) -Microsoft Word 2007 XML Template (*.dotx;*.dotm) -Pocket Word (*.psw) -StarWriter 1.0 (*.sdw) -StarWriter 2.0 (*.sdw) -StarWriter DOS (*.txt) -T602 Document (*.602;*.txt) -Unified Office Format text (*.uot;*.uof) -WordPerfect Document (*.wpd) -Ichitaro 8/9/10/11 (*.jtd) -Ichitaro 8/9/10/11 Template (*.jtt) -Hangul WP 97 (*.hwp) -PDF - Portable Document Format (*.pdf) ------------------------------------------- -ODF Spreadsheet (*.ods) -ODF Spreadsheet Template (*.ots) -StarOffice 6.0/7 Spreadsheet (*.sxc) -StarOffice 6.0/7 Spreadsheet Template (*.stc) -Data Interchange Format (*.dif) -dBASE (*.dbf) -Microsoft Excel 97/2000/XP (*.xls;*.xlc;*.xlm;*.xlw) -Microsoft Excel 97/2000/XP Template (*.xlt) -Microsoft Excel 4.x - 5.0 / 95 (*.xls;*.xlc;*.xlm;*.xlw) -Microsoft Excel 4.x - 5.0 / 95 Templates (*.xlt) -Rich Text Format (StarOffice Calc) (*.rtf) -StarCalc 3.0 - 5.0 (*.sdc) -StarCalc 3.0 - 5.0 Templates (*.vor) -StarCalc 1.0 (*.sdc) -SYLK (*.slk) -Text CSV (*.csv;*.txt;*.xls) -HTML Document (StarOffice Calc) (*.html;*.htm) -Microsoft Excel 2007 Binary (*.xlsb) -Microsoft Excel 2007 XML (*.xlsm;*.xlsx) -Microsoft Excel 2007 XML Template (*.xltm;*.xltx) -Lotus 1-2-3 (*.wk1;*.wks;*.123) -Microsoft Excel 2003 XML (*.xml) -Pocket Excel (*.pxl) -Quattro Pro 6.0 (*.wb2) -Unified Office Format spreadsheet (*.uos;*.uof) -Web Page Query (StarOffice Calc) (*.html;*.htm) ------------------------------------------- -HTML Document (*.html;*.htm) -StarOffice 6.0/7 HTML Template (*.stw) -StarWriter/Web 4.0 / 5.0 Templates (*.vor) -Text (StarWriter/Web) (*.txt) -Text Encoded (StarOffice Writer/Web) (*.txt) -HTML Document Template (*.oth) ------------------------------------------- -ODF Master Document (*.odm) -StarOffice 6.0/7 Master Document (*.sxg) -StarWriter 4.0 / 5.0 Master Documents (*.sgl) -Text Encoded (StarOffice Master Document) (*.txt) ------------------------------------------- -ODF Database (*.odb) ------------------------------------------- -ODF Formula (*.odf) -StarOffice 6.0/7 Formula (*.sxm) -StarMath 2.0 - 5.0 (*.smf) -MathML 1.01 (*.mml) diff --git a/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_en-US.txt b/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_en-US.txt deleted file mode 100644 index 85d580c71554..000000000000 --- a/testautomation/framework/optional/input/filternames/Oracle Open Office_Filternames_en-US.txt +++ /dev/null @@ -1,85 +0,0 @@ -All files (*.*) -Text documents -Spreadsheets -Presentations -Drawings -Web pages -Master documents -Formulas -Database documents ------------------------------------------- -ODF Text Document (*.odt) -ODF Text Document Template (*.ott) -StarOffice 6.0/7 Text Document (*.sxw) -StarOffice 6.0/7 Text Document Template (*.stw) -Microsoft Word 97/2000/XP (*.doc) -Microsoft Word 97/2000/XP Template (*.dot) -Microsoft Word 6.0 / 95 (*.doc) -Microsoft Word 95 Template (*.dot) -Rich Text Format (*.rtf) -StarWriter 3.0 - 5.0 (*.sdw) -StarWriter 3.0 - 5.0 Templates (*.vor) -Text (*.txt) -Text Encoded (*.txt) -HTML Document (StarOffice Writer) (*.html;*.htm) -AportisDoc (Palm) (*.pdb) -DocBook (*.xml) -Microsoft WinWord 5 (*.doc) -Microsoft Word 2003 XML (*.xml) -Microsoft Word 2007 XML (*.docx;*.docm) -Microsoft Word 2007 XML Template (*.dotx;*.dotm) -Pocket Word (*.psw) -StarWriter 1.0 (*.sdw) -StarWriter 2.0 (*.sdw) -StarWriter DOS (*.txt) -T602 Document (*.602;*.txt) -Unified Office Format text (*.uot;*.uof) -WordPerfect Document (*.wpd) -Hangul WP 97 (*.hwp) -PDF - Portable Document Format (*.pdf) ------------------------------------------- -ODF Spreadsheet (*.ods) -ODF Spreadsheet Template (*.ots) -StarOffice 6.0/7 Spreadsheet (*.sxc) -StarOffice 6.0/7 Spreadsheet Template (*.stc) -Data Interchange Format (*.dif) -dBASE (*.dbf) -Microsoft Excel 97/2000/XP (*.xls;*.xlc;*.xlm;*.xlw) -Microsoft Excel 97/2000/XP Template (*.xlt) -Microsoft Excel 4.x - 5.0 / 95 (*.xls;*.xlc;*.xlm;*.xlw) -Microsoft Excel 4.x - 5.0 / 95 Templates (*.xlt) -Rich Text Format (StarOffice Calc) (*.rtf) -StarCalc 3.0 - 5.0 (*.sdc) -StarCalc 3.0 - 5.0 Templates (*.vor) -StarCalc 1.0 (*.sdc) -SYLK (*.slk) -Text CSV (*.csv;*.txt;*.xls) -HTML Document (StarOffice Calc) (*.html;*.htm) -Microsoft Excel 2007 Binary (*.xlsb) -Microsoft Excel 2007 XML (*.xlsm;*.xlsx) -Microsoft Excel 2007 XML Template (*.xltm;*.xltx) -Lotus 1-2-3 (*.wk1;*.wks;*.123) -Microsoft Excel 2003 XML (*.xml) -Pocket Excel (*.pxl) -Quattro Pro 6.0 (*.wb2) -Unified Office Format spreadsheet (*.uos;*.uof) -Web Page Query (StarOffice Calc) (*.html;*.htm) ------------------------------------------- -HTML Document (*.html;*.htm) -StarOffice 6.0/7 HTML Template (*.stw) -StarWriter/Web 4.0 / 5.0 Templates (*.vor) -Text (StarWriter/Web) (*.txt) -Text Encoded (StarOffice Writer/Web) (*.txt) -HTML Document Template (*.oth) ------------------------------------------- -ODF Master Document (*.odm) -StarOffice 6.0/7 Master Document (*.sxg) -StarWriter 4.0 / 5.0 Master Documents (*.sgl) -Text Encoded (StarOffice Master Document) (*.txt) ------------------------------------------- -ODF Database (*.odb) ------------------------------------------- -ODF Formula (*.odf) -StarOffice 6.0/7 Formula (*.sxm) -StarMath 2.0 - 5.0 (*.smf) -MathML 1.01 (*.mml) -- cgit From 3ff45fd2d5b0bbf8318a5559fa66aba45b5c4040 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Thu, 20 May 2010 11:04:13 +0200 Subject: cws tl79: #i111422# pre-notify for 'Toggle' of check box --- sfx2/source/dialog/securitypage.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx index d4f217671d6e..f88525107f1c 100755 --- a/sfx2/source/dialog/securitypage.cxx +++ b/sfx2/source/dialog/securitypage.cxx @@ -175,7 +175,7 @@ struct SfxSecurityPage_Impl String m_aEndRedliningWarning; bool m_bEndRedliningWarningDone; - DECL_LINK( RecordChangesCBHdl, void* ); + DECL_LINK( RecordChangesCBToggleHdl, void* ); DECL_LINK( ChangeProtectionPBHdl, void* ); SfxSecurityPage_Impl( SfxSecurityPage &rDlg, const SfxItemSet &rItemSet ); @@ -218,7 +218,9 @@ SfxSecurityPage_Impl::SfxSecurityPage_Impl( SfxSecurityPage &rTabPage, const Sfx if (nTemp > nBtnTextWidth) nBtnTextWidth = nTemp; - m_aRecordChangesCB.SetClickHdl( LINK( this, SfxSecurityPage_Impl, RecordChangesCBHdl ) ); + // force toggle hdl called before visual change of checkbox + m_aRecordChangesCB.SetStyle( m_aRecordChangesCB.GetStyle() | WB_EARLYTOGGLE ); + m_aRecordChangesCB.SetToggleHdl( LINK( this, SfxSecurityPage_Impl, RecordChangesCBToggleHdl ) ); m_aChangeProtectionPB.SetClickHdl( LINK( this, SfxSecurityPage_Impl, ChangeProtectionPBHdl ) ); } @@ -348,7 +350,7 @@ void SfxSecurityPage_Impl::Reset_Impl( const SfxItemSet & ) } -IMPL_LINK( SfxSecurityPage_Impl, RecordChangesCBHdl, void*, EMPTYARG ) +IMPL_LINK( SfxSecurityPage_Impl, RecordChangesCBToggleHdl, void*, EMPTYARG ) { // when change recording gets disabled protection must be disabled as well if (!m_aRecordChangesCB.IsChecked()) // the new check state is already present, thus the '!' -- cgit From 6641398317d5f6681b2cf1715e834a1393038fe1 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Thu, 20 May 2010 11:04:13 +0200 Subject: cws tl79: #i111422# pre-notify for 'Toggle' of check box --- tools/inc/tools/wintypes.hxx | 1 + vcl/source/control/button.cxx | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/inc/tools/wintypes.hxx b/tools/inc/tools/wintypes.hxx index 8f13af8fd842..7d6296b76e8c 100644 --- a/tools/inc/tools/wintypes.hxx +++ b/tools/inc/tools/wintypes.hxx @@ -215,6 +215,7 @@ typedef sal_Int64 WinBits; // Window-Bits for CheckBox #define WB_CBLINESTYLE ((WinBits)SAL_CONST_INT64(0x2000000000)) +#define WB_EARLYTOGGLE ((WinBits)SAL_CONST_INT64(0x4000000000)) // Window-Bits for Edit #define WB_PASSWORD ((WinBits)0x01000000) diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 1f45b5902381..5b15330ed927 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -3675,11 +3675,14 @@ void CheckBox::ImplCheck() else eNewState = STATE_NOCHECK; meState = eNewState; - ImplInvalidateOrDrawCheckBoxState(); ImplDelData aDelData; ImplAddDel( &aDelData ); - Toggle(); + if( (GetStyle() & WB_EARLYTOGGLE) ) + Toggle(); + ImplInvalidateOrDrawCheckBoxState(); + if( ! (GetStyle() & WB_EARLYTOGGLE) ) + Toggle(); if ( aDelData.IsDelete() ) return; ImplRemoveDel( &aDelData ); -- cgit From 7df75b6fe4c992f61c593dc33bb84ba537f05f99 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Thu, 20 May 2010 11:27:05 +0200 Subject: jl152 #i77196# registering basic item at startup did not work --- .../deployment/registry/configuration/dp_configuration.cxx | 1 - desktop/source/deployment/registry/script/dp_script.cxx | 2 +- desktop/source/migration/services/oo3extensionmigration.cxx | 12 +----------- desktop/source/migration/services/oo3extensionmigration.hxx | 4 ---- 4 files changed, 2 insertions(+), 17 deletions(-) diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx index f892c21a6a6b..9ea6e8227340 100644 --- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx +++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx @@ -35,7 +35,6 @@ #include "dp_backend.h" #include "dp_persmap.h" #include "dp_ucb.h" -#include "dp_xml.h" #include "rtl/string.hxx" #include "rtl/ustrbuf.hxx" #include "rtl/uri.hxx" diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index 3a43e916e39e..edeae256cbaf 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -476,7 +476,7 @@ void BackendImpl::PackageImpl::processPackage_( } } bool bSuccess = bScript || bDialog; // Something must have happened - if( bRunning ) + if( bRunning && !startup) if( (bScript && !bScriptSuccess) || (bDialog && !bDialogSuccess) ) bSuccess = false; diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx index 37608a7b1276..0b757212eaa6 100755 --- a/desktop/source/migration/services/oo3extensionmigration.cxx +++ b/desktop/source/migration/services/oo3extensionmigration.cxx @@ -139,17 +139,7 @@ OO3ExtensionMigration::~OO3ExtensionMigration() } } -//void OO3ExtensionMigration::registerConfigurationPackage( const uno::Reference< deployment::XPackage > & xPkg) -//{ -// const ::rtl::OUString sMediaType = xPkg->getPackageType()->getMediaType(); -// if ( (sMediaType.equals(sConfigurationDataType) || sMediaType.equals(sConfigurationSchemaType) ) ) -// { -// xPkg->revokePackage(uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); -// xPkg->registerPackage(false, uno::Reference< task::XAbortChannel >(), uno::Reference< ucb::XCommandEnvironment> ()); -// } -//} - - void OO3ExtensionMigration::scanUserExtensions( const ::rtl::OUString& sSourceDir, TStringVector& aMigrateExtensions ) +void OO3ExtensionMigration::scanUserExtensions( const ::rtl::OUString& sSourceDir, TStringVector& aMigrateExtensions ) { osl::Directory aScanRootDir( sSourceDir ); osl::FileStatus fs(FileStatusMask_Type | FileStatusMask_FileURL); diff --git a/desktop/source/migration/services/oo3extensionmigration.hxx b/desktop/source/migration/services/oo3extensionmigration.hxx index 7890eb86a75c..7962da177217 100755 --- a/desktop/source/migration/services/oo3extensionmigration.hxx +++ b/desktop/source/migration/services/oo3extensionmigration.hxx @@ -103,10 +103,6 @@ namespace migration void scanUserExtensions( const ::rtl::OUString& sSourceDir, TStringVector& aMigrateExtensions ); bool scanDescriptionXml( const ::rtl::OUString& sDescriptionXmlFilePath ); bool migrateExtension( const ::rtl::OUString& sSourceDir ); - /* fills m_scriptElements and m_dialogElements - */ - //void registerConfigurationPackage( - // const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & xPkg); public: OO3ExtensionMigration(::com::sun::star::uno::Reference< -- cgit From d8b873beb717df820251dc68e869a97ab3998fe2 Mon Sep 17 00:00:00 2001 From: Frank Peters Date: Thu, 20 May 2010 15:23:05 +0200 Subject: #i111721# --- readlicense_oo/docs/readme.xsl | 334 +++++--------- readlicense_oo/docs/readme/readme.xrm | 819 +++++++++++++--------------------- 2 files changed, 419 insertions(+), 734 deletions(-) mode change 100755 => 100644 readlicense_oo/docs/readme.xsl diff --git a/readlicense_oo/docs/readme.xsl b/readlicense_oo/docs/readme.xsl old mode 100755 new mode 100644 index 2c98b011c315..cb13fb08ff83 --- a/readlicense_oo/docs/readme.xsl +++ b/readlicense_oo/docs/readme.xsl @@ -1,232 +1,128 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - - - - - ------------------------------------------------------------ - - - ------------------------------------------------------------ - - - - - - - - - - - - - - - - - - - ------------------------------------------------------------ - - - ------------------------------------------------------------ - - - + + + + - - - - - - - - - - -
                  - -
                -
                - -
                  - -
                -
                -
                -
                - - - - - -
              • -
                -
                - - - - - - - - - - - - - - - -
                - - - - - - - - - + + + + + + + + + + + + + + + + + + + +---------------------------------------------------------------------------------------------------------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +* + + + + + + + - - - - - - - - - - - - file://localhost/ - - - http:// - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +====================================================================== + +====================================================================== + + + +---------------------------------------------------------------------- + +---------------------------------------------------------------------- + + + + + +---------------------------------------------------------------------- + + + + + + +
                diff --git a/readlicense_oo/docs/readme/readme.xrm b/readlicense_oo/docs/readme/readme.xrm index 2a8a409b4eff..43603ed2159b 100755 --- a/readlicense_oo/docs/readme/readme.xrm +++ b/readlicense_oo/docs/readme/readme.xrm @@ -1,524 +1,313 @@ - - - - -
                - - - Welcome - - - - ${PRODUCTNAME} ${PRODUCTVERSION} ReadMe - - - - For latest updates to this readme file, see - http://www.openoffice.org/welcome/readme.html - - - - Dear User - - - - This file contains important information about this program. Please read this information very carefully before starting work. - - - - The OpenOffice.org Community, responsible for the development of this product, would like to invite you to participate as a community member. As a new user, you can check out the ${PRODUCTNAME} site with helpful user information at - - - - - http://www.openoffice.org/about_us/introduction.html - - - - - Also read the sections below about getting involved in the OpenOffice.org project. - - - - Is ${PRODUCTNAME} really free for any user? - - - - - ${PRODUCTNAME} is free for use by everybody. You may take this copy of ${PRODUCTNAME} and install it on as many computers as you like, and use it for any purpose you like (including commercial, government, public administration and educational use). For further details see the license text delivered together with ${PRODUCTNAME} or - http://www.openoffice.org/license.html - - - - - Why is ${PRODUCTNAME} free for any user? - - - - - - You can use this copy of ${PRODUCTNAME} today free of charge because individual contributors and corporate sponsors have designed, developed, tested, translated, documented, supported, marketed, and helped in many other ways to make ${PRODUCTNAME} what it is today - the world's leading open-source office software. - If you appreciate their efforts, and would like to ensure OpenOffice.org continues into the future, please consider contributing to the project - see - http://contributing.openoffice.org - for details. Everyone has a contribution to make. - - -
                - -
                - - - Notes on Installation - - - - System Requirements: - - - - - MacOSX 10.4 (Tiger) or higher - Intel processor - 512 MB RAM - 500 MB available hard disk space - Chinese, Japanese and Korean versions: 600 MB (multi-language version: 800 MB) available hard disk space) - 1024 x 768 graphic device with 256 colors (higher resolution recommended) - - - - - - Microsoft Windows 2000 (Service Pack 4 or higher), XP, or Vista - Pentium compatible PC (Pentium III or Athlon recommended) - 256 MB RAM (512 MB RAM recommended) - 370 MB available hard disk space - Chinese, Japanese and Korean versions: 650 MB available hard disk space - 1024x768 resolution (higher resolution recommended), at least 256 colors - - - - - - Solaris 10 operating system (SPARC platform) or higher - 256 MB RAM (512 MB RAM recommended) - 480 MB available hard disk space - Chinese, Japanese and Korean versions: 480 MB available hard disk space - X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors - Window Manager - Gnome 2.6 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools) - - - - - - Solaris 10 operating system (x86 platform) or higher - 256 MB RAM (512 MB RAM recommended) - 480 MB available hard disk space - Chinese, Japanese and Korean versions: 480 MB available hard disk space - X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors - Window Manager - Gnome 2.6 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools) - - - - - - Linux Kernel version 2.4 or higher - glibc2 version 2.3.2 or higher - gtk version 2.2.0 or higher - Pentium compatible PC (Pentium III or Athlon recommended) - 256 MB RAM (512 MB RAM recommended) - 440 MB available hard disk space - Chinese, Japanese and Korean versions: 440 MB available hard disk space - X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors - Window Manager - Gnome 2.6 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools) - - - - - There is a wide variety of Linux distributions, and even within the same distribution there may be different installation options (KDE vs Gnome, etc.). Some distributions ship with their own ‘native’ version of ${PRODUCTNAME}, which may have different features from this Community ${PRODUCTNAME}. Sometimes you can install the Community ${PRODUCTNAME} alongside the ‘native’ version. However, it’s usually safer to remove the ‘native’ version before installing this Community version. Consult the documentation for your distribution for details of how to do this. - - - - It is recommended that you always backup your system before you remove or install software. - - - - Registration of ${PRODUCTNAME} as default application for Microsoft Office formats can be forced or suppressed by using the following command line switches with the installer: - - /msoreg=1 will force registration of ${PRODUCTNAME} as default application for Microsoft Office formats. - /msoreg=0 will suppress registration of ${PRODUCTNAME} as default application for Microsoft Office formats. - - - - - If you perform an administrative installation using setup /a, you need to make sure that the file msvc90.dll is installed on the system. This file is required for ${PRODUCTNAME} to start after an administrative installation. You can get the file from - http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF - - + + + + + ${PRODUCTNAME} Readme File + + + +
                -
                - - Extension Database Incompatibility - -
                - - - The Berkeley database engine has been upgraded in this version of ${PRODUCTNAME}. The database engine upgrade introduces an incompatibility with user data for installed extensions for ${PRODUCTNAME} versions prior to 3.2 that may require your action if you downgrade your version of ${PRODUCTNAME}. - - - - This version of ${PRODUCTNAME} will convert your extension database to the new Berkeley database format when extensions are installed or removed. After this conversion, the database can no longer be read by earlier versions of ${PRODUCTNAME}. Downgrading to an earlier version may result in a dysfunctional installation. - - - - If you downgrade to an earlier version of ${PRODUCTNAME}, you must remove the user data directory {user data}/uno_packages, for example ~/.openoffice.org/3/user/uno_packages, and reinstall all extensions. - - - - - Problems During Program Startup - - - - If you experience ${PRODUCTNAME} startup problems (most notably while using Gnome) please 'unset' the SESSION_MANAGER environment variable inside the shell you use to start ${PRODUCTNAME}. This can be done by adding the line "unset SESSION_MANAGER" to the beginning of the soffice shell script found in the "[office folder]/program" directory. - - - - Difficulties starting ${PRODUCTNAME} (e.g. applications hang) as well as problems with the screen display are often caused by the graphics card driver. If these problems occur, please update your graphics card driver or try using the graphics driver delivered with your operating system. Difficulties displaying 3D objects can often be solved by deactivating the option "Use OpenGL" under 'Tools - Options - ${PRODUCTNAME} - View - 3D view'. - - - - Difficulties starting ${PRODUCTNAME} (e.g. applications hang) as well as problems with the screen display are often caused by the graphics card driver. If these problems occur, please update your graphics card driver or try using the graphics driver delivered with your operating system. Difficulties displaying 3D objects can often be solved by deactivating the option "Use OpenGL" under 'Tools - Options - ${PRODUCTNAME} - View - 3D view'. - - - +

                ${PRODUCTNAME} ${PRODUCTVERSION} ReadMe

                +

                For latest updates to this readme file, see http://www.openoffice.org/welcome/readme.html

                +

                This file contains important information about this program. Please read this information very carefully before starting work.

                +

                The OpenOffice.org Community, responsible for the development of this product, would like to invite you to participate as a community member. As a new user, you can check out the ${PRODUCTNAME} site with helpful user information at http://www.openoffice.org/about_us/introduction.html

                +

                Also read the sections below about getting involved in the OpenOffice.org project.

                + +

                Is ${PRODUCTNAME} really free for any user?

                +

                ${PRODUCTNAME} is free for use by everybody. You may take this copy of ${PRODUCTNAME} and install it on as many computers as you like, and use it for any purpose you like (including commercial, government, public administration and educational use). For further details see the license text delivered together with ${PRODUCTNAME} or http://www.openoffice.org/license.html

                + +

                Why is ${PRODUCTNAME} free for any user?

                +

                You can use this copy of ${PRODUCTNAME} today free of charge because individual contributors and corporate sponsors have designed, developed, tested, translated, documented, supported, marketed, and helped in many other ways to make ${PRODUCTNAME} what it is today - the world's leading open-source office software.

                +

                If you appreciate their efforts, and would like to ensure OpenOffice.org continues into the future, please consider contributing to the project - see http://contributing.openoffice.org for details. Everyone has a contribution to make.

                + +
                + +
                - - - - Please note that copy and paste via clipboard between ${PRODUCTNAME} 1.x and ${PRODUCTNAME} ${PRODUCTVERSION} might not work in OpenOffice.org format. If that happens, choose 'Edit - Paste Special' and choose a format other than ${PRODUCTNAME}, or open the document in ${PRODUCTNAME} ${PRODUCTVERSION} directly. - - - - Please make sure you have enough free memory in the temporary directory on your system and that read, write and run access rights have been granted. Close all other programs before starting the installation. - - - - Note: Please be aware that administrator rights are needed for the installation process. - +

                Notes on Installation

                + +

                System Requirements

                +
                +
                  +
                • +

                  MacOSX 10.4 (Tiger) or higher

                  +
                • +
                • +

                  Intel processor

                  +
                • +
                • +

                  512 MB RAM

                  +
                • +
                • +

                  Up to 1.5 GB available hard disk space

                  +
                • +
                • +

                  1024 x 768 graphic device with 256 colors (higher resolution recommended)

                  +
                • +
                +
                +
                +
                  +
                • +

                  Microsoft Windows 2000 (Service Pack 4 or higher), XP, Vista, or Windows 7

                  +
                • +
                • +

                  Pentium compatible PC (Pentium III or Athlon recommended)

                  +
                • +
                • +

                  256 MB RAM (512 MB RAM recommended)

                  +
                • +
                • +

                  Up to 1.5 GB available hard disk space

                  +
                • +
                • +

                  1024x768 resolution (higher resolution recommended), at least 256 colors

                  +
                • +
                +

                Please be aware that administrator rights are needed for the installation process.

                + +

                Registration of ${PRODUCTNAME} as default application for Microsoft Office formats can be forced or suppressed by using the following command line switches with the installer:

                +
                  +
                • +

                  /msoreg=1 will force registration of ${PRODUCTNAME} as default application for Microsoft Office formats.

                  +
                • +
                • +

                  /msoreg=0 will suppress registration of ${PRODUCTNAME} as default application for Microsoft Office formats.

                  +
                • +
                +

                If you perform an administrative installation using setup /a, you need to make sure that the file msvc90.dll is installed on the system. This file is required for ${PRODUCTNAME} to start after an administrative installation. You can get the file from http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF

                +

                Please be aware that administrator rights are needed for the installation process.

                +
                +
                +
                  +
                • +

                  Solaris 10 operating system (SPARC platform) or higher

                  +
                • +
                • +

                  256 MB RAM (512 MB RAM recommended)

                  +
                • +
                • +

                  Up to 1.55 GB available hard disk space

                  +
                • +
                • +

                  X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors

                  +
                • +
                • +

                  Window Manager

                  +
                • +
                • +

                  Gnome 2.6 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools)

                  +
                • +
                +
                +
                +
                  +
                • +

                  Solaris 10 operating system (x86 platform) or higher

                  +
                • +
                • +

                  256 MB RAM (512 MB RAM recommended)

                  +
                • +
                • +

                  Up to 1.55 GB available hard disk space

                  +
                • +
                • +

                  X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors

                  +
                • +
                • +

                  Window Manager

                  +
                • +
                • +

                  Gnome 2.6 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools)

                  +
                • +
                +
                +
                +
                  +
                • +

                  Linux Kernel version 2.6.18 or higher

                  +
                • +
                • +

                  glibc2 version 2.5 or higher

                  +
                • +
                • +

                  gtk version 2.10.4 or higher

                  +
                • +
                • +

                  Pentium compatible PC (Pentium III or Athlon recommended)

                  +
                • +
                • +

                  256 MB RAM (512 MB RAM recommended)

                  +
                • +
                • +

                  Up to 1.55 GB available hard disk space

                  +
                • +
                • +

                  X Server with 1024x768 resolution (higher resolution recommended), with at least 256 colors

                  +
                • +
                • +

                  Window Manager

                  +
                • +
                • +

                  Gnome 2.16 or higher, with the gail 1.8.6 and the at-spi 1.7 packages, required for support of assistive technology tools (AT tools)

                  +
                • +
                +

                There is a wide variety of Linux distributions, and even within the same distribution there may be different installation options (KDE vs Gnome, etc.). Some distributions ship with their own ‘native’ version of ${PRODUCTNAME}, which may have different features from this Community ${PRODUCTNAME}. Sometimes you can install the Community ${PRODUCTNAME} alongside the ‘native’ version. However, it’s usually safer to remove the ‘native’ version before installing this Community version. Consult the documentation for your distribution for details of how to do this.

                +

                It is recommended that you always backup your system before you remove or install software.

                +
                + +

                Please make sure you have enough free memory in the temporary directory on your system and that read, write and run access rights have been granted. Close all other programs before starting the installation.

                +
                -
                - -
                - - - ALPS/Synaptics notebook touchpads in Windows - - - - Due to a Windows driver issue, you cannot scroll through ${PRODUCTNAME} documents when you slide your finger across an ALPS/Synaptics touchpad. - - - - To enable touchpad scrolling, add the following lines to the "C:\Program Files\Synaptics\SynTP\SynTPEnh.ini" configuration file, and restart your computer: - - - - [${PRODUCTNAME}] - FC = "SALFRAME" - SF = 0x10000000 - SF |= 0x00004000 - - - - Note: The location of the configuration file might vary on different versions of Windows. - -
                - -
                - - - Mozilla Address Book Driver - - - - The Mozilla address book driver requires the SUNWzlib package. This package is not part of the minimum Solaris operating system installation. If you require access to the Mozilla address book, then add this package to your Solaris operating system using the command "pkgadd" from the installation CD. - -
                - -
                - - - Shortcut Keys - - - - Only shortcut keys (key combinations) not used by the operating system can be used in ${PRODUCTNAME}. If a key combination in ${PRODUCTNAME} does not work as described in the ${PRODUCTNAME} Help, check if that shortcut is already used by the operating system. To rectify such conflicts, you can change the keys assigned by your operating system. Alternatively, you can change almost any key assignment in ${PRODUCTNAME}. For more information on this topic, refer to the ${PRODUCTNAME} Help or the Help documentation of your operating system. - - - - The application help of ${PRODUCTNAME} may use shortcut combinations for PC keyboards only. - - - - Due to a conflict with input method switching on multiple platforms, the following shortcut keys required to be changed at last minute: - - - - - Cmd-Space is now Cmd-Shift-Space - Cmd-Shift-Space is now Cmd-M - - - - - - Ctrl-Space is now Ctrl-Shift-Space - Ctrl-Shift-Space is now Ctrl-M - - - - - - Ctrl-Space is now Ctrl-Shift-Space - Ctrl-Shift-Space is now Ctrl-M - - +
                +

                Extension Database Incompatibility

                +

                The Berkeley database engine has been upgraded in this version of ${PRODUCTNAME}. The database engine upgrade introduces an incompatibility with user data for installed extensions for ${PRODUCTNAME} versions prior to 3.2 that may require your action if you downgrade your version of ${PRODUCTNAME}.

                +

                This version of ${PRODUCTNAME} will convert your extension database to the new Berkeley database format when extensions are installed or removed. After this conversion, the database can no longer be read by earlier versions of ${PRODUCTNAME}. Downgrading to an earlier version may result in a dysfunctional installation.

                +

                If you downgrade to an earlier version of ${PRODUCTNAME}, you must remove the user data directory {user data}/uno_packages, for example ~/.openoffice.org/3/user/uno_packages, and reinstall all extensions.

                +
                - - - Ctrl-Space is now Ctrl-Shift-Space - Ctrl-Shift-Space is now Ctrl-M - - - -
                - -
                - - - File Locking - - - - In the default setting, file locking is turned on in ${PRODUCTNAME}. To deactivate it, you have to set the appropriate environment variables SAL_ENABLE_FILE_LOCKING=0 and export SAL_ENABLE_FILE_LOCKING. These entries are already in enabled form in the soffice script file. - - - - Warning: The activated file locking feature can cause problems with Solaris 2.5.1 and 2.7 used in conjunction with Linux NFS 2.0. If your system environment has these parameters, we strongly recommend that you avoid using the file locking feature. Otherwise, ${PRODUCTNAME} will hang when you try to open a file from a NFS mounted directory from a Linux computer. - -
                - -
                - - - Problems When Sending Documents as E-mails From ${PRODUCTNAME} - - - - When sending a document via 'File - Send - Document as E-mail' or 'Document as PDF Attachment' problems might occur (program crashes or hangs). This is due to the Windows system file "Mapi" (Messaging Application Programming Interface) which causes problems in some file versions. Unfortunately, the problem cannot be narrowed down to a certain version number. For more information visit http://www.microsoft.com to search the Microsoft Knowledge Base for "mapi dll". - -
                - -
                - - Important Accessibility Notes - - - - For information on the accessibility features in ${PRODUCTNAME}, see - http://www.openoffice.org/access/ - . - +
                +

                Problems During Program Startup

                + +
                +

                If you experience ${PRODUCTNAME} startup problems (most notably while using Gnome) please 'unset' the SESSION_MANAGER environment variable inside the shell you use to start ${PRODUCTNAME}. This can be done by adding the line "unset SESSION_MANAGER" to the beginning of the soffice shell script found in the "[office folder]/program" directory.

                +
                + +

                Difficulties starting ${PRODUCTNAME} (e.g. applications hang) as well as problems with the screen display are often caused by the graphics card driver. If these problems occur, please update your graphics card driver or try using the graphics driver delivered with your operating system. Difficulties displaying 3D objects can often be solved by deactivating the option "Use OpenGL" under 'Tools - Options - ${PRODUCTNAME} - View - 3D view'.

                +
                -
                - -
                - - - Registration - - - - Please take a little time to complete the minimal Product Registration process when you install the software. While registration is optional, we encourage you to register, since the information enables the community to make an even better software suite and address user needs directly. Through its Privacy Policy, the ${PRODUCTNAME} Community takes every precaution to safeguard your personal data. If you missed the registration at installation, you can return and register at any time at by choosing "Help > Registration" from the main menu. - -
                - -
                - - - User Survey - - - - There is also a User Survey located online which we encourage you to fill out. The User Survey results will help ${PRODUCTNAME} move more rapidly in setting new standards for the creation of the next-generation office suite. Through its Privacy Policy, the ${PRODUCTNAME} Community takes every precaution to safeguard your personal data. - -
                - -
                - - - User Support - - - - The main support page - http://support.openoffice.org/ - offers various possibilities for help with ${PRODUCTNAME}. Your question may have already been answered - check the Community Forum. - http://user.services.openoffice.org - or search the archives of the 'users@openoffice.org' mailing list at - http://www.openoffice.org/mail_list.html - . Alternatively, you can send in your questions to - users@openoffice.org - . How to subscribe to the list (to get an email response) is explained on this page: - http://wiki.services.openoffice.org/wiki/Website/Content/help/mailinglists - . - - - - Also check the FAQ section at - http://wiki.services.openoffice.org/wiki/Documentation/FAQ - . - -
                +
                +

                ALPS/Synaptics notebook touchpads in Windows

                +

                Due to a Windows driver issue, you cannot scroll through ${PRODUCTNAME} documents when you slide your finger across an ALPS/Synaptics touchpad.

                +

                To enable touchpad scrolling, add the following lines to the "C:\Program Files\Synaptics\SynTP\SynTPEnh.ini" configuration file, and restart your computer:

                +

                [${PRODUCTNAME}]

                +

                FC = "SALFRAME"

                +

                SF = 0x10000000

                +

                SF |= 0x00004000

                +

                The location of the configuration file might vary on different versions of Windows.

                +
                + +
                +

                Mozilla Address Book Driver

                +

                The Mozilla address book driver requires the SUNWzlib package. This package is not part of the minimum Solaris operating system installation. If you require access to the Mozilla address book, then add this package to your Solaris operating system using the command "pkgadd" from the installation CD.

                +
                + +
                +

                Shortcut Keys

                +

                Only shortcut keys (key combinations) not used by the operating system can be used in ${PRODUCTNAME}. If a key combination in ${PRODUCTNAME} does not work as described in the ${PRODUCTNAME} Help, check if that shortcut is already used by the operating system. To rectify such conflicts, you can change the keys assigned by your operating system. Alternatively, you can change almost any key assignment in ${PRODUCTNAME}. For more information on this topic, refer to the ${PRODUCTNAME} Help or the Help documention of your operating system.

                + +
                +

                The application help of ${PRODUCTNAME} may use shortcut combinations for PC keyboards only.

                +
                + +

                Due to a conflict with input method switching on multiple platforms, the following shortcut keys required to be changed at last minute:

                + +
                +
                  +
                • +

                  Cmd-Space is now Cmd-Shift-Space

                  +
                • +
                • +

                  Cmd-Shift-Space is now Cmd-M

                  +
                • +
                +
                + +
                +
                  +
                • +

                  Ctrl-Space is now Ctrl-Shift-Space

                  +
                • +
                • +

                  Ctrl-Shift-Space is now Ctrl-M

                  +
                • +
                +
                +
                + +
                +

                File Locking

                +

                File locking is enabled by default in ${PRODUCTNAME}. On a network that uses the Network File System protocol (NFS), the locking daemon for NFS clients must be active. To disable file locking, edit the soffice script and change the line "export SAL_ENABLE_FILE_LOCKING" to "# export SAL_ENABLE_FILE_LOCKING". If you disable file locking, the write access of a document is not restricted to the user who first opens the document.

                +

                Warning: The activated file locking feature can cause problems with Solaris 2.5.1 and 2.7 used in conjunction with Linux NFS 2.0. If your system environment has these parameters, we strongly recommend that you avoid using the file locking feature. Otherwise, ${PRODUCTNAME} will hang when you try to open a file from a NFS mounted directory from a Linux computer.

                +
                + +
                +

                Problems When Sending Documents as E-mails From ${PRODUCTNAME}

                +

                When sending a document via 'File - Send - Document as E-mail' or 'Document as PDF Attachment' problems might occur (program crashes or hangs). This is due to the Windows system file "Mapi" (Messaging Application Programming Interface) which causes problems in some file versions. Unfortunately, the problem cannot be narrowed down to a certain version number. For more information visit http://www.microsoft.com to search the Microsoft Knowledge Base for "mapi dll".

                +
                + +
                +

                Important Accessibility Notes

                +

                For more information on the accessibility features in ${PRODUCTNAME}, see http://www.openoffice.org/access/

                +
                -
                - - - Report Bugs & Issues - - - - The ${PRODUCTNAME} Web site hosts IssueZilla, our mechanism for reporting, tracking and solving bugs and issues. We encourage all users to feel entitled and welcome to report issues that may arise on your particular platform. Energetic reporting of issues is one of the most important contributions that the user community can make to the ongoing development and improvement of the suite. - -
                - -
                - - - Getting Involved - - - - The ${PRODUCTNAME} Community would very much benefit from your active participation in the development of this important open source project. - - - - As a user, you are already a valuable part of the suite's development process and we would like to encourage you to take an even more active role with a view to being a long-term contributor to the community. Please join and check out the user page at: - http://www.openoffice.org - - - - - - Way to Start - - - - The best way to start contributing is to subscribe to one or more of the mailing lists, lurk for a while, and gradually use the mail archives to familiarize yourself with many of the topics covered since the ${PRODUCTNAME} source code was released back in October 2000. When you're comfortable, all you need to do is send an email self-introduction and jump right in. If you are familiar with Open Source Projects, check out our To-Dos list and see if there is anything you would like to help with at - http://development.openoffice.org/todo.html - . - - +
                +

                Registration

                +

                Please take a little time to complete the minimal Product Registration process when you install the software. While registration is optional, we encourage you to register, since the information enables the community to make an even better software suite and address user needs directly. Through its Privacy Policy, the ${PRODUCTNAME} Community takes every precaution to safeguard your personal data. If you missed the registration at installation, you can return and register at any time at by choosing "Help - Registration" from the main menu.

                +
                + +
                +

                User Survey

                +

                There is also a User Survey located online which we encourage you to fill out. The User Survey results will help ${PRODUCTNAME} move more rapidly in setting new standards for the creation of the next-generation office suite. Through its Privacy Policy, the ${PRODUCTNAME} Community takes every precaution to safeguard your personal data.

                +
                + +
                +

                User Support

                +

                The main support page http://support.openoffice.org/ offers various possibilities for help with ${PRODUCTNAME}. Your question may have already been answered - check the Community Forum at http://user.services.openoffice.org or search the archives of the 'users@openoffice.org' mailing list at http://www.openoffice.org/mail_list.html. Alternatively, you can send in your questions to users@openoffice.org. How to subscribe to the list (to get an email response) is explained on this page: http://wiki.services.openoffice.org/wiki/Website/Content/help/mailinglists.

                +

                Also check the FAQ section at http://wiki.services.openoffice.org/wiki/Documentation/FAQ.

                +
                - - Subscribe - - - - Here are a few of the Project mailing lists to which you can subscribe at - http://www.openoffice.org/mail_list.html - - - - - News: announce@openoffice.org *recommended to all users* (light traffic) - Main user forum: user@openoffice.org *easy way to lurk on discussions* (heavy traffic) - Marketing project: dev@marketing.openoffice.org *beyond development* (getting heavy) - General code contributor list: dev@openoffice.org (moderate/heavy) - - - +
                +

                Reporting Bugs & Issues

                +

                The ${PRODUCTNAME} Web site hosts IssueZilla, our mechanism for reporting, tracking and solving bugs and issues. We encourage all users to feel entitled and welcome to report issues that may arise on your particular platform. Energetic reporting of issues is one of the most important contributions that the user community can make to the ongoing development and improvement of the suite.

                +
                + +
                +

                Getting Involved

                +

                The ${PRODUCTNAME} Community would very much benefit from your active participation in the development of this important open source project.

                +

                As a user, you are already a valuable part of the suite's development process and we would like to encourage you to take an even more active role with a view to being a long-term contributor to the community. Please join and check out the user page at http://www.openoffice.org

                + +

                How to Start

                +

                The best way to start contributing is to subscribe to one or more of the mailing lists, lurk for a while, and gradually use the mail archives to familiarize yourself with many of the topics covered since the ${PRODUCTNAME} source code was released back in October 2000. When you're comfortable, all you need to do is send an email self-introduction and jump right in. If you are familiar with Open Source Projects, check out our To-Dos list and see if there is anything you would like to help with at http://development.openoffice.org/todo.html.

                + +

                Subscribe

                +

                Here are a few of the Project mailing lists to which you can subscribe at http://www.openoffice.org/mail_list.html

                +
                  +
                • +

                  News: announce@openoffice.org *recommended to all users* (light traffic)

                  +
                • +
                • +

                  Main user forum: user@openoffice.org *easy way to lurk on discussions* (heavy traffic)

                  +
                • +
                • +

                  Marketing project: dev@marketing.openoffice.org *beyond development* (getting heavy)

                  +
                • +
                • +

                  General code contributor list: dev@openoffice.org (moderate/heavy)

                  +
                • +
                + +

                Joining one or more Projects

                +

                You can make major contributions to this important open source project even if you have limited software design or coding experience. Yes, you!

                +

                At http://projects.openoffice.org/index.html you will find projects ranging from Localization, Porting and Groupware to some real core coding projects. If you are not a developer, try the Documentation or the Marketing Project. The OpenOffice.org Marketing Project is applying both guerilla and traditional commercial techniques to marketing open source software, and we are doing it across language and cultural barriers, so you can help just by spreading the word and telling a friend about this office suite.

                +

                You can help by joining the Marketing Communications & Information Network on http://marketing.openoffice.org/contacts.html where you can provide point communication contact with press, media, government agencies, consultants, schools, Linux Users Groups and developers in your country and local community.

                +
                - - Join one or more Projects - - - - You can make major contributions to this important open source project even if you have limited software design or coding experience. Yes, you! - - - - At - http://projects.openoffice.org/index.html - you will find projects ranging from Localization, Porting and Groupware to some real core coding projects. If you are not a developer, try the Documentation or the Marketing Project. The OpenOffice.org Marketing Project is applying both guerrilla and traditional commercial techniques to marketing open source software, and we are doing it across language and cultural barriers, so you can help just by spreading the word and telling a friend about this office suite. - - - - You can help by joining the Marketing Communications & Information Network here: - http://marketing.openoffice.org/contacts.html - where you can provide point communication contact with press, media, government agencies, consultants, schools, Linux Users Groups and developers in your country and local community. - -
                +
                +

                We hope you enjoy working with the new ${PRODUCTNAME} ${PRODUCTVERSION} and will join us online.

                +

                The OpenOffice.org Community

                +
                + +
                +

                Used / Modified Source Code

                +

                Portions Copyright 1998, 1999 James Clark. Portions Copyright 1996, 1998 Netscape Communications Corporation.

                +
                - -
                - - - - - We hope you enjoy working with the new ${PRODUCTNAME} ${PRODUCTVERSION} and will join us online. - - - - The OpenOffice.org Community - - - - - - -
                - -
                - - - Used / Modified Source Code - - - - Portions Copyright 1998, 1999 James Clark. Portions Copyright 1996, 1998 Netscape Communications Corporation. - -
                -
                + + -- cgit From cb1d7d8828cdaad3510bf57d06252f1eeb937940 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 20 May 2010 16:10:52 +0100 Subject: cmcfixes75: #i111728# overly const warnings --- sw/inc/SidebarWin.hxx | 2 +- sw/source/ui/docvw/AnchorOverlayObject.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sw/inc/SidebarWin.hxx b/sw/inc/SidebarWin.hxx index e8e918763b7b..468f744ac8da 100644 --- a/sw/inc/SidebarWin.hxx +++ b/sw/inc/SidebarWin.hxx @@ -168,7 +168,7 @@ class SwSidebarWin : public Window virtual bool IsProtected() {return mbReadonly;}; DECL_LINK( WindowEventListener, VclSimpleEvent* ); - inline const bool IsMouseOverSidebarWin() const { return mbMouseOver; } + inline bool IsMouseOverSidebarWin() const { return mbMouseOver; } void SetLanguage(const SvxLanguageItem aNewItem); diff --git a/sw/source/ui/docvw/AnchorOverlayObject.cxx b/sw/source/ui/docvw/AnchorOverlayObject.cxx index 53afaf625710..5ed5b076a967 100644 --- a/sw/source/ui/docvw/AnchorOverlayObject.cxx +++ b/sw/source/ui/docvw/AnchorOverlayObject.cxx @@ -95,7 +95,7 @@ public: const basegfx::B2DPolygon& getTriangle() const { return maTriangle; } const basegfx::B2DPolygon& getLine() const { return maLine; } const basegfx::B2DPolygon& getLineTop() const { return maLineTop; } - const AnchorState getAnchorState() const { return maAnchorState; } + AnchorState getAnchorState() const { return maAnchorState; } const basegfx::BColor& getColor() const { return maColor; } double getLogicLineWidth() const { return mfLogicLineWidth; } bool getShadow() const { return mbShadow; } -- cgit From 89b704f9db9ebbff43f6a423d2a1f17314de7a5c Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 21 May 2010 09:42:27 +0200 Subject: jl152 #i77196# XExtensionManager::synchronize now has no repository argument; adapted PackageInformationProvider to use bundled extensions --- .../deployment/manager/dp_extensionmanager.cxx | 90 +++++------ .../deployment/manager/dp_extensionmanager.hxx | 1 - .../deployment/manager/dp_informationprovider.cxx | 174 +++++++++------------ desktop/source/deployment/misc/dp_misc.cxx | 22 +-- 4 files changed, 109 insertions(+), 178 deletions(-) diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index edc414dc6f5d..2781231b8f5e 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -116,6 +116,29 @@ OUString CompIdentifiers::getName(::std::vector > co OSL_ASSERT(extension.is()); return extension->getDisplayName(); } + +void writeLastModified(OUString & url, Reference const & xCmdEnv) +{ + //Write the lastmodified file + try { + ::rtl::Bootstrap::expandMacros(url); + ::ucbhelper::Content ucbStamp(url, xCmdEnv ); + dp_misc::erase_path( url, xCmdEnv ); + ::rtl::OString stamp("1" ); + Reference xData( + ::xmlscript::createInputStream( + ::rtl::ByteSequence( + reinterpret_cast(stamp.getStr()), + stamp.getLength() ) ) ); + ucbStamp.writeStream( xData, true /* replace existing */ ); + } + catch(...) + { + uno::Any exc(::cppu::getCaughtException()); + throw deploy::DeploymentException( + OUSTR("Failed to update") + url, 0, exc); + } +} } //end namespace namespace dp_manager { @@ -1021,7 +1044,6 @@ void ExtensionManager::reinstallDeployedExtensions( } sal_Bool ExtensionManager::synchronize( - OUString const & repository, Reference const & xAbortChannel, Reference const & xCmdEnv ) throw (deploy::DeploymentException, @@ -1033,37 +1055,20 @@ sal_Bool ExtensionManager::synchronize( try { sal_Bool bModified = sal_False; - Reference xPackageManager; - OUString file; - if (repository.equals(OUSTR("user"))) - { - xPackageManager = m_userRepository; - } - else if (repository.equals(OUSTR("shared"))) - { - xPackageManager = m_sharedRepository; - file = OUString ( - RTL_CONSTASCII_USTRINGPARAM( - "$SHARED_EXTENSIONS_USER/lastsynchronized")); - } - else if (repository.equals(OUSTR("bundled"))) - { - xPackageManager = m_bundledRepository; - file = OUString ( - RTL_CONSTASCII_USTRINGPARAM( - "$BUNDLED_EXTENSIONS_USER/lastsynchronized")); - } - else - throw lang::IllegalArgumentException( - OUSTR("No valid repository name provided."), - static_cast(this), 0); ::osl::MutexGuard guard(getMutex()); - String sSynchronizing(StrSyncRepository::get()); - sSynchronizing.SearchAndReplaceAllAscii( "%NAME", repository ); - dp_misc::ProgressLevel progress(xCmdEnv, sSynchronizing); + String sSynchronizingShared(StrSyncRepository::get()); + sSynchronizingShared.SearchAndReplaceAllAscii( "%NAME", OUSTR("shared")); + dp_misc::ProgressLevel progressShared(xCmdEnv, sSynchronizingShared); + bModified = m_sharedRepository->synchronize(xAbortChannel, xCmdEnv); + progressShared.update(OUSTR("\n\n")); + + String sSynchronizingBundled(StrSyncRepository::get()); + sSynchronizingBundled.SearchAndReplaceAllAscii( "%NAME", OUSTR("bundled")); + dp_misc::ProgressLevel progressBundled(xCmdEnv, sSynchronizingBundled); + bModified |= m_bundledRepository->synchronize(xAbortChannel, xCmdEnv); + progressBundled.update(OUSTR("\n\n")); - bModified = xPackageManager->synchronize(xAbortChannel, xCmdEnv); try { const uno::Sequence > > @@ -1082,31 +1087,8 @@ sal_Bool ExtensionManager::synchronize( //so we will no repeat this everytime OOo starts. OSL_ENSURE(0, "Extensions Manager: synchronize"); } - - - progress.update(OUSTR("\n\n")); - - //Write the lastmodified file - try { - ::rtl::Bootstrap::expandMacros(file); - ::ucbhelper::Content ucbStamp(file, xCmdEnv ); - dp_misc::erase_path( file, xCmdEnv ); - ::rtl::OString stamp("1" ); - Reference xData( - ::xmlscript::createInputStream( - ::rtl::ByteSequence( - reinterpret_cast(stamp.getStr()), - stamp.getLength() ) ) ); - ucbStamp.writeStream( xData, true /* replace existing */ ); - } - catch(...) - { - uno::Any exc(::cppu::getCaughtException()); - throw deploy::DeploymentException( - OUSTR("Failed to update") + file, - static_cast(this), exc); - - } + writeLastModified(OUSTR("$BUNDLED_EXTENSIONS_USER/lastsynchronized"), xCmdEnv); + writeLastModified(OUSTR("$SHARED_EXTENSIONS_USER/lastsynchronized"), xCmdEnv); return bModified; } catch (deploy::DeploymentException& ) { throw; diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index 4367770945aa..ad0e7d95df7e 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -186,7 +186,6 @@ public: css::uno::RuntimeException); virtual sal_Bool SAL_CALL synchronize( - ::rtl::OUString const & repository, css::uno::Reference const & xAbortChannel, css::uno::Reference const & xCmdEnv ) throw (css::deployment::DeploymentException, diff --git a/desktop/source/deployment/manager/dp_informationprovider.cxx b/desktop/source/deployment/manager/dp_informationprovider.cxx index 9f2e0c9e1177..537b7233ef77 100644 --- a/desktop/source/deployment/manager/dp_informationprovider.cxx +++ b/desktop/source/deployment/manager/dp_informationprovider.cxx @@ -32,11 +32,10 @@ #include "comphelper/servicedecl.hxx" -#include "com/sun/star/deployment/thePackageManagerFactory.hpp" #include "com/sun/star/deployment/UpdateInformationProvider.hpp" #include "com/sun/star/deployment/XPackage.hpp" #include "com/sun/star/deployment/XPackageInformationProvider.hpp" -#include "com/sun/star/deployment/XPackageManager.hpp" +#include "com/sun/star/deployment/ExtensionManager.hpp" #include "com/sun/star/deployment/XUpdateInformationProvider.hpp" #include "com/sun/star/lang/XServiceInfo.hpp" #include "com/sun/star/registry/XRegistryKey.hpp" @@ -104,7 +103,7 @@ private: uno::Reference< uno::XComponentContext> mxContext; - rtl::OUString getPackageLocation( const uno::Reference< deployment::XPackageManager > _xManager, + rtl::OUString getPackageLocation( const rtl::OUString& repository, const rtl::OUString& _sExtensionId ); uno::Reference< deployment::XUpdateInformationProvider > mxUpdateInformation; @@ -113,10 +112,9 @@ private: getUpdateInformation( uno::Sequence< rtl::OUString > const & urls, rtl::OUString const & identifier ) const; uno::Sequence< uno::Reference< deployment::XPackage > > - getPackages( const uno::Reference< deployment::XPackageManager > _xManager ); - uno::Sequence< uno::Sequence< rtl::OUString > > isUpdateAvailable( const uno::Reference< deployment::XPackageManager > _xManager, - const rtl::OUString& _sExtensionId ); - uno::Sequence< uno::Sequence< rtl::OUString > > getExtensionList( const uno::Reference< deployment::XPackageManager > _xManager ); + getPackages(rtl::OUString const & repository); + uno::Sequence< uno::Sequence< rtl::OUString > > isUpdateAvailable( + rtl::OUString const & repository, const rtl::OUString& _sExtensionId ); uno::Sequence< uno::Sequence< rtl::OUString > > concatLists( uno::Sequence< uno::Sequence< rtl::OUString > > aFirst, uno::Sequence< uno::Sequence< rtl::OUString > > aSecond ); }; @@ -148,15 +146,18 @@ void SAL_CALL PackageInformationProvider::handle( uno::Reference< task::XInterac //------------------------------------------------------------------------------ rtl::OUString PackageInformationProvider::getPackageLocation( - const uno::Reference< deployment::XPackageManager > _xManager, - const rtl::OUString& _rExtensionId ) + const rtl::OUString & repository, + const rtl::OUString& _rExtensionId ) { rtl::OUString aLocationURL; + uno::Reference xManager = + deployment::ExtensionManager::get(mxContext); - if ( _xManager.is() ) + if ( xManager.is() ) { const uno::Sequence< uno::Reference< deployment::XPackage > > packages( - _xManager->getDeployedPackages( + xManager->getDeployedExtensions( + repository, uno::Reference< task::XAbortChannel >(), static_cast < XCommandEnvironment *> (this) ) ); @@ -187,32 +188,21 @@ rtl::OUString SAL_CALL PackageInformationProvider::getPackageLocation( const rtl::OUString& _sExtensionId ) throw ( uno::RuntimeException ) { - uno::Reference< deployment::XPackageManager > xManager; - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("user") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} - - rtl::OUString aLocationURL = getPackageLocation( xManager, _sExtensionId ); + rtl::OUString aLocationURL = getPackageLocation( UNISTRING("user"), _sExtensionId ); if ( aLocationURL.getLength() == 0 ) { - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("shared") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} - - aLocationURL = getPackageLocation( xManager, _sExtensionId ); + aLocationURL = getPackageLocation( UNISTRING("shared"), _sExtensionId ); + } + if ( aLocationURL.getLength() == 0 ) + { + aLocationURL = getPackageLocation( UNISTRING("bundled"), _sExtensionId ); } - if ( aLocationURL.getLength() ) { ::ucbhelper::Content aContent( aLocationURL, NULL ); aLocationURL = aContent.getURL(); } - return aLocationURL; } @@ -222,75 +212,76 @@ uno::Sequence< uno::Sequence< rtl::OUString > > SAL_CALL PackageInformationProvider::isUpdateAvailable( const rtl::OUString& _sExtensionId ) throw ( uno::RuntimeException ) { - uno::Sequence< uno::Sequence< rtl::OUString > > aUpdateListUser; + uno::Sequence< uno::Sequence< rtl::OUString > > + aUpdateListUser = isUpdateAvailable( UNISTRING("user"), _sExtensionId ); - uno::Reference< deployment::XPackageManager > xManager; - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("user") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} + uno::Sequence< uno::Sequence< rtl::OUString > > + aUpdateListShared = isUpdateAvailable( UNISTRING("shared"), _sExtensionId ); - aUpdateListUser = isUpdateAvailable( xManager, _sExtensionId ); + uno::Sequence< uno::Sequence< rtl::OUString > > + aUpdateListBundled = isUpdateAvailable( UNISTRING("bundled"), _sExtensionId ); - uno::Sequence< uno::Sequence< rtl::OUString > > aUpdateListShared; - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("shared") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} - - aUpdateListShared = isUpdateAvailable( xManager, _sExtensionId ); - - if ( !aUpdateListUser.hasElements() ) - return aUpdateListShared; - else if ( !aUpdateListShared.hasElements() ) - return aUpdateListUser; - else - return concatLists( aUpdateListUser, aUpdateListShared ); + uno::Sequence< uno::Sequence< rtl::OUString > > user_shared = + concatLists( aUpdateListUser, aUpdateListShared ); + return concatLists(user_shared, aUpdateListBundled); } //------------------------------------------------------------------------------ uno::Sequence< uno::Sequence< rtl::OUString > > SAL_CALL PackageInformationProvider::getExtensionList() throw ( uno::RuntimeException ) { - uno::Sequence< uno::Sequence< rtl::OUString > > aListUser; + const uno::Reference mgr = + deployment::ExtensionManager::get(mxContext); - uno::Reference< deployment::XPackageManager > xManager; - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("user") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} + if (!mgr.is()) + return uno::Sequence< uno::Sequence< rtl::OUString > >(); - aListUser = getExtensionList( xManager ); + const uno::Sequence< uno::Sequence< uno::Reference > > + allExt = mgr->getAllExtensions( + uno::Reference< task::XAbortChannel >(), + static_cast < XCommandEnvironment *> (this) ); - uno::Sequence< uno::Sequence< rtl::OUString > > aListShared; - try { - xManager = deployment::thePackageManagerFactory::get( mxContext )->getPackageManager( UNISTRING("shared") ); - } - catch ( css_ucb::CommandFailedException & ){} - catch ( uno::RuntimeException & ) {} + uno::Sequence< uno::Sequence< rtl::OUString > > retList; - aListShared = getExtensionList( xManager ); + sal_Int32 cAllIds = allExt.getLength(); + retList.realloc(cAllIds); - if ( !aListUser.hasElements() ) - return aListShared; - else if ( !aListShared.hasElements() ) - return aListUser; - else - return concatLists( aListUser, aListShared ); + for (sal_Int32 i = 0; i < cAllIds; i++) + { + //The inner sequence contains extensions with the same identifier from + //all the different repositories, that is user, share, bundled. + const uno::Sequence< uno::Reference< deployment::XPackage > > & + seqExtension = allExt[i]; + sal_Int32 cExt = seqExtension.getLength(); + OSL_ASSERT(cExt == 3); + for (sal_Int32 j = 0; j < cExt; j++) + { + //ToDo according to the old code the first found extenions is used + //even if another one with the same id has a better version. Design flaw? + uno::Reference< deployment::XPackage > const & xExtension( seqExtension[j] ); + if (xExtension.is()) + { + rtl::OUString aNewEntry[2]; + aNewEntry[0] = dp_misc::getIdentifier(xExtension); + aNewEntry[1] = xExtension->getVersion(); + retList[i] = ::uno::Sequence< rtl::OUString >( aNewEntry, 2 ); + break; + } + } + } + return retList; } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ uno::Sequence< uno::Reference< deployment::XPackage > > - PackageInformationProvider::getPackages( const uno::Reference< deployment::XPackageManager > _xMgr ) +PackageInformationProvider::getPackages( const rtl::OUString & repository ) { uno::Sequence< uno::Reference< deployment::XPackage > > packages; try { - packages = _xMgr->getDeployedPackages( uno::Reference< task::XAbortChannel >(), + uno::Reference xMgr = deployment::ExtensionManager::get(mxContext); + packages = xMgr->getDeployedExtensions(repository, uno::Reference< task::XAbortChannel >(), static_cast < XCommandEnvironment *> (this) ); } catch ( deployment::DeploymentException & ) @@ -329,18 +320,19 @@ uno::Sequence< uno::Reference< xml::dom::XElement > > //------------------------------------------------------------------------------ uno::Sequence< uno::Sequence< rtl::OUString > > PackageInformationProvider::isUpdateAvailable( - const uno::Reference< deployment::XPackageManager > _xManager, - const rtl::OUString& _sExtensionId ) + const rtl::OUString& repository, + const rtl::OUString& _sExtensionId ) { uno::Sequence< uno::Sequence< rtl::OUString > > aList; sal_Int32 nCount = 0; bool bPackageFound = false; + uno::Reference xManager = deployment::ExtensionManager::get(mxContext); // If the package manager is readonly then the user cannot modify anything anyway // so we can abort the search here - if ( _xManager.is() && ! _xManager->isReadOnly() ) + if ( xManager.is() && ! xManager->isReadOnlyRepository(repository) ) { - uno::Sequence< uno::Reference< deployment::XPackage > > packages( getPackages( _xManager ) ); + uno::Sequence< uno::Reference< deployment::XPackage > > packages( getPackages( repository ) ); uno::Sequence< uno::Reference< xml::dom::XElement > > defaultInfos; for ( int pos = packages.getLength(); pos-- && !bPackageFound; ) @@ -412,32 +404,6 @@ uno::Sequence< uno::Sequence< rtl::OUString > > return aList; } -//------------------------------------------------------------------------------ -uno::Sequence< uno::Sequence< rtl::OUString > > - PackageInformationProvider::getExtensionList( - const uno::Reference< deployment::XPackageManager > _xManager ) -{ - uno::Sequence< uno::Sequence< rtl::OUString > > aList; - - if ( _xManager.is() ) - { - uno::Sequence< uno::Reference< deployment::XPackage > > packages( getPackages( _xManager ) ); - - aList.realloc( packages.getLength() ); - - for ( int pos = packages.getLength(); pos--; ) - { - uno::Reference< deployment::XPackage > package( packages[ pos ] ); - rtl::OUString aNewEntry[2]; - - aNewEntry[0] = dp_misc::getIdentifier( package ); - aNewEntry[1] = package->getVersion(); - aList[ pos ] = ::uno::Sequence< rtl::OUString >( aNewEntry, 2 ); - } - } - return aList; -} - //------------------------------------------------------------------------------ uno::Sequence< uno::Sequence< rtl::OUString > > PackageInformationProvider::concatLists( uno::Sequence< uno::Sequence< rtl::OUString > > aFirst, diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 3867f741f982..5269e3d8aac5 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -603,8 +603,8 @@ void syncRepositories(Reference const & xCmdEnv) //synchronize shared before bundled otherewise there are //more revoke and registration calls. sal_Bool bModified = false; - const OUString sShared(RTL_CONSTASCII_USTRINGPARAM("shared")); - if (needToSyncRepostitory(sShared)) + if (needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("shared"))) + || needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("bundled")))) { xExtensionManager = deployment::ExtensionManager::get( @@ -613,23 +613,7 @@ void syncRepositories(Reference const & xCmdEnv) if (xExtensionManager.is()) { bModified = xExtensionManager->synchronize( - sShared, Reference(), xCmdEnv); - } - } - - const OUString sBundled(RTL_CONSTASCII_USTRINGPARAM("bundled")); - if (needToSyncRepostitory( sBundled)) - { - if (!xExtensionManager.is()) - { - xExtensionManager = - deployment::ExtensionManager::get( - comphelper_getProcessComponentContext()); - } - if (xExtensionManager.is()) - { - bModified |= xExtensionManager->synchronize( - sBundled, Reference(), xCmdEnv); + Reference(), xCmdEnv); } } -- cgit From 52d983cc7fcc5259f11ff48e538148e7cedfec9a Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 21 May 2010 09:42:27 +0200 Subject: jl152 #i77196# XExtensionManager::synchronize now has no repository argument; adapted PackageInformationProvider to use bundled extensions --- offapi/com/sun/star/deployment/XExtensionManager.idl | 3 --- 1 file changed, 3 deletions(-) diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 1a19bd651f3c..8eaa8a05f976 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -280,14 +280,11 @@ interface XExtensionManager Added extensions will be added to the database and removed extensions will be removed from the database. - @param repository - the repository which is to be synchronized @return If true - then at least one extension was removed or added. Otherwise nothing was chaned. */ boolean synchronize( - [in] string repository, [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) raises (DeploymentException, -- cgit From cb138c5084772a580a09bc5470e3e42ddef78151 Mon Sep 17 00:00:00 2001 From: Malte Timmermann Date: Fri, 21 May 2010 13:21:37 +0200 Subject: mtclip01: #i111749# Removed SwMod::pClipboard, introduced SwTransferable::GetSWTransferable(...) --- sw/inc/swmodule.hxx | 2 +- sw/source/ui/app/swmodule.cxx | 1 - sw/source/ui/dochdl/swdtflvr.cxx | 109 +++++++++++++++++++-------------------- sw/source/ui/inc/swdtflvr.hxx | 1 + sw/source/ui/uiview/srcview.cxx | 14 ++--- 5 files changed, 59 insertions(+), 68 deletions(-) diff --git a/sw/inc/swmodule.hxx b/sw/inc/swmodule.hxx index 8ad108513297..c8e601143877 100644 --- a/sw/inc/swmodule.hxx +++ b/sw/inc/swmodule.hxx @@ -133,7 +133,7 @@ protected: public: // public Data - used for internal Clipboard / Drag & Drop / XSelection - SwTransferable *pClipboard, *pDragDrop, *pXSelection; + SwTransferable *pDragDrop, *pXSelection; TYPEINFO(); SFX_DECL_INTERFACE(SW_INTERFACE_MODULE) diff --git a/sw/source/ui/app/swmodule.cxx b/sw/source/ui/app/swmodule.cxx index a72d935f3796..60eaed4e223f 100644 --- a/sw/source/ui/app/swmodule.cxx +++ b/sw/source/ui/app/swmodule.cxx @@ -206,7 +206,6 @@ SwModule::SwModule( SfxObjectFactory* pWebFact, pView(0), bAuthorInitialised(sal_False), bEmbeddedLoadSave( sal_False ), - pClipboard( 0 ), pDragDrop( 0 ), pXSelection( 0 ) { diff --git a/sw/source/ui/dochdl/swdtflvr.cxx b/sw/source/ui/dochdl/swdtflvr.cxx index 7778b3848f45..e46b7a41af39 100644 --- a/sw/source/ui/dochdl/swdtflvr.cxx +++ b/sw/source/ui/dochdl/swdtflvr.cxx @@ -300,9 +300,7 @@ SwTransferable::~SwTransferable() SwModule* pMod = SW_MOD(); if(pMod) { - if ( pMod->pClipboard == this ) - pMod->pClipboard = 0; - else if ( pMod->pDragDrop == this ) + if ( pMod->pDragDrop == this ) pMod->pDragDrop = 0; else if ( pMod->pXSelection == this ) pMod->pXSelection = 0; @@ -325,9 +323,7 @@ SwTransferable::~SwTransferable() void SwTransferable::ObjectReleased() { SwModule *pMod = SW_MOD(); - if( this == pMod->pClipboard ) - pMod->pClipboard = 0; - else if( this == pMod->pDragDrop ) + if( this == pMod->pDragDrop ) pMod->pDragDrop = 0; else if( this == pMod->pXSelection ) pMod->pXSelection = 0; @@ -1000,7 +996,6 @@ int SwTransferable::Copy( BOOL bIsCut ) int nRet = PrepareForCopy( bIsCut ); if ( nRet ) { - SW_MOD()->pClipboard = this; CopyToClipboard( &pWrtShell->GetView().GetEditWin() ); } return nRet; @@ -1021,7 +1016,6 @@ int SwTransferable::CalculateAndCopy() eBufferType = TRNSFR_DOCUMENT; AddFormat( FORMAT_STRING ); - SW_MOD()->pClipboard = this; CopyToClipboard( &pWrtShell->GetView().GetEditWin() ); return 1; @@ -1072,7 +1066,6 @@ int SwTransferable::CopyGlossary( SwTextBlocks& rGlossary, PrepareOLE( aObjDesc ); AddFormat( SOT_FORMATSTR_ID_OBJECTDESCRIPTOR ); - SW_MOD()->pClipboard = this; CopyToClipboard( &pWrtShell->GetView().GetEditWin() ); return 1; @@ -1090,20 +1083,14 @@ BOOL SwTransferable::IsPaste( const SwWrtShell& rSh, // Check the common case first: We can always paste our own data! // #106503#: If _only_ the internal format can be pasted, this check will // yield 'true', while the one below would give a (wrong) result 'false'. - bool bIsPaste = ( SW_MOD()->pClipboard != NULL ); + + bool bIsPaste = ( GetSwTransferable( rData ) != NULL ); // if it's not our own data, we need to have a closer look: if( ! bIsPaste ) { // determine the proper paste action, and return true if we find one uno::Reference xTransferable( rData.GetXTransferable() ); - uno::Reference xTunnel( xTransferable, UNO_QUERY ); - if ( xTunnel.is() ) - { - sal_Int64 nHandle = xTunnel->getSomething( getUnoTunnelId() ); - if ( nHandle ) - return TRUE; - } USHORT nDestination = SwTransferable::GetSotDestination( rSh ); USHORT nSourceOptions = @@ -1139,36 +1126,27 @@ int SwTransferable::Paste( SwWrtShell& rSh, TransferableDataHelper& rData ) nDestination = SwTransferable::GetSotDestination( rSh ); ULONG nFormat = 0; - if( SW_MOD()->pClipboard ) + if( GetSwTransferable( rData ) ) + { nAction = EXCHG_OUT_ACTION_INSERT_PRIVATE; + } else { - uno::Reference xTunnel( rData.GetTransferable(), UNO_QUERY ); - if ( xTunnel.is() ) - { - sal_Int64 nHandle = xTunnel->getSomething( getUnoTunnelId() ); - if ( nHandle ) - nAction = EXCHG_OUT_ACTION_INSERT_PRIVATE; - } - - if ( !nAction ) - { - USHORT nSourceOptions = - (( EXCHG_DEST_DOC_TEXTFRAME == nDestination || - EXCHG_DEST_SWDOC_FREE_AREA == nDestination || - EXCHG_DEST_DOC_TEXTFRAME_WEB == nDestination || - EXCHG_DEST_SWDOC_FREE_AREA_WEB == nDestination ) - ? EXCHG_IN_ACTION_COPY - : EXCHG_IN_ACTION_MOVE); - uno::Reference xTransferable( rData.GetXTransferable() ); - nAction = SotExchange::GetExchangeAction( - rData.GetDataFlavorExVector(), - nDestination, - nSourceOptions, /* ?? */ - EXCHG_IN_ACTION_DEFAULT, /* ?? */ - nFormat, nEventAction, 0, - lcl_getTransferPointer ( xTransferable ) ); - } + USHORT nSourceOptions = + (( EXCHG_DEST_DOC_TEXTFRAME == nDestination || + EXCHG_DEST_SWDOC_FREE_AREA == nDestination || + EXCHG_DEST_DOC_TEXTFRAME_WEB == nDestination || + EXCHG_DEST_SWDOC_FREE_AREA_WEB == nDestination ) + ? EXCHG_IN_ACTION_COPY + : EXCHG_IN_ACTION_MOVE); + uno::Reference xTransferable( rData.GetXTransferable() ); + nAction = SotExchange::GetExchangeAction( + rData.GetDataFlavorExVector(), + nDestination, + nSourceOptions, /* ?? */ + EXCHG_IN_ACTION_DEFAULT, /* ?? */ + nFormat, nEventAction, 0, + lcl_getTransferPointer ( xTransferable ) ); } // special case for tables from draw application @@ -1231,7 +1209,7 @@ int SwTransferable::PasteData( TransferableDataHelper& rData, } } } - else if( ( !pMod->pClipboard || bIsPasteFmt ) && + else if( ( !GetSwTransferable( rData ) || bIsPasteFmt ) && !rSh.IsTableMode() && rSh.HasSelection() ) { // dann die Selektionen loeschen @@ -1259,14 +1237,14 @@ int SwTransferable::PasteData( TransferableDataHelper& rData, // <-- } - SwTransferable *pTrans=0, *pTunneledTrans=0; - uno::Reference xTunnel( rData.GetTransferable(), UNO_QUERY ); - if ( xTunnel.is() ) - { - sal_Int64 nHandle = xTunnel->getSomething( getUnoTunnelId() ); - if ( nHandle ) - pTunneledTrans = (SwTransferable*) (sal_IntPtr) nHandle; - } + SwTransferable *pTrans=0, *pTunneledTrans=GetSwTransferable( rData ); +// uno::Reference xTunnel( rData.GetTransferable(), UNO_QUERY ); +// if ( xTunnel.is() ) +// { +// sal_Int64 nHandle = xTunnel->getSomething( getUnoTunnelId() ); +// if ( nHandle ) +// pTunneledTrans = (SwTransferable*) (sal_IntPtr) nHandle; +// } if( pPt && ( bPasteSelection ? 0 != ( pTrans = pMod->pXSelection ) : 0 != ( pTrans = pMod->pDragDrop) )) @@ -1275,7 +1253,7 @@ int SwTransferable::PasteData( TransferableDataHelper& rData, nRet = pTrans->PrivateDrop( rSh, *pPt, DND_ACTION_MOVE == nDropAction, bPasteSelection ); } - else if( !pPt && ( pTunneledTrans || 0 != ( pTunneledTrans = pMod->pClipboard ) ) && + else if( !pPt && pTunneledTrans && EXCHG_OUT_ACTION_INSERT_PRIVATE == nAction ) { // then internal paste @@ -2801,7 +2779,7 @@ int SwTransferable::PasteFormat( SwWrtShell& rSh, int nRet = 0; ULONG nPrivateFmt = FORMAT_PRIVATE; - SwTransferable *pClipboard = SW_MOD()->pClipboard; + SwTransferable *pClipboard = GetSwTransferable( rData ); if( pClipboard && ((TRNSFR_DOCUMENT|TRNSFR_GRAPHIC|TRNSFR_OLE) & pClipboard->eBufferType )) nPrivateFmt = SOT_FORMATSTR_ID_EMBED_SOURCE; @@ -2897,7 +2875,7 @@ int SwTransferable::PasteSpecial( SwWrtShell& rSh, TransferableDataHelper& rData USHORT nDest = SwTransferable::GetSotDestination( rSh ); - SwTransferable *pClipboard = SW_MOD()->pClipboard; + SwTransferable *pClipboard = GetSwTransferable( rData ); if( pClipboard ) { aDesc = pClipboard->aObjDesc; @@ -2963,7 +2941,8 @@ void SwTransferable::FillClipFmtItem( const SwWrtShell& rSh, SvxClipboardFmtItem & rToFill ) { USHORT nDest = SwTransferable::GetSotDestination( rSh ); - SwTransferable *pClipboard = SW_MOD()->pClipboard; + + SwTransferable *pClipboard = GetSwTransferable( rData ); if( pClipboard ) { USHORT nResId; @@ -3619,6 +3598,22 @@ sal_Int64 SwTransferable::getSomething( const Sequence< sal_Int8 >& rId ) throw( return nRet; } +SwTransferable* SwTransferable::GetSwTransferable( const TransferableDataHelper& rData ) +{ + SwTransferable* pSwTransferable = NULL; + + uno::Reference xTunnel( rData.GetTransferable(), UNO_QUERY ); + if ( xTunnel.is() ) + { + sal_Int64 nHandle = xTunnel->getSomething( getUnoTunnelId() ); + if ( nHandle ) + pSwTransferable = (SwTransferable*) (sal_IntPtr) nHandle; + } + + return pSwTransferable; + +} + /* */ // ----------------------------------------------------------------------- diff --git a/sw/source/ui/inc/swdtflvr.hxx b/sw/source/ui/inc/swdtflvr.hxx index 84b3309f70bc..bbf994b5251c 100644 --- a/sw/source/ui/inc/swdtflvr.hxx +++ b/sw/source/ui/inc/swdtflvr.hxx @@ -93,6 +93,7 @@ class SwTransferable : public TransferableHelper void DeleteSelection(); // helper methods for the paste + static SwTransferable* GetSwTransferable( const TransferableDataHelper& rData ); static void SetSelInShell( SwWrtShell& , BOOL , const Point* ); static BOOL _CheckForURLOrLNKFile( TransferableDataHelper& rData, String& rFileName, String* pTitle = 0 ); diff --git a/sw/source/ui/uiview/srcview.cxx b/sw/source/ui/uiview/srcview.cxx index c7c52e3f53ff..801ecba22c73 100644 --- a/sw/source/ui/uiview/srcview.cxx +++ b/sw/source/ui/uiview/srcview.cxx @@ -599,15 +599,11 @@ void SwSrcView::GetState(SfxItemSet& rSet) break; case SID_PASTE: { - BOOL bDisable = 0 == SW_MOD()->pClipboard; - if( bDisable ) - { - TransferableDataHelper aDataHelper( - TransferableDataHelper::CreateFromSystemClipboard( - &aEditWin) ); - bDisable = !aDataHelper.GetXTransferable().is() || - 0 == aDataHelper.GetFormatCount(); - } + TransferableDataHelper aDataHelper( + TransferableDataHelper::CreateFromSystemClipboard( + &aEditWin) ); + BOOL bDisable = !aDataHelper.GetXTransferable().is() || + 0 == aDataHelper.GetFormatCount(); if( bDisable ) rSet.DisableItem(nWhich); } -- cgit From bceb0afba091cf5a9ccddb363aafb1d490bedaf6 Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Fri, 21 May 2010 14:16:31 +0200 Subject: vcl112: #i111735# fix a leaked file handle (thanks cmc !) --- vcl/unx/source/app/keysymnames.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/vcl/unx/source/app/keysymnames.cxx b/vcl/unx/source/app/keysymnames.cxx index cf7f7e082e69..c9515f016433 100644 --- a/vcl/unx/source/app/keysymnames.cxx +++ b/vcl/unx/source/app/keysymnames.cxx @@ -637,6 +637,7 @@ const char* SalDisplay::GetKeyboardName( BOOL bRefresh ) } } } + close(kbd); } } #else -- cgit From 0b4adf0acb50662e8bb625e9cadaf70f4e88bb33 Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Fri, 21 May 2010 14:26:40 +0200 Subject: vcl112: #i111735# fix a memory leak (thanks cmc !) --- vcl/source/gdi/pdfwriter_impl.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 6a24775219d9..ee9ca373d145 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -4081,15 +4081,15 @@ bool PDFWriterImpl::emitFonts() } else if( (aSubsetInfo.m_nFontType & FontSubsetInfo::TYPE1_PFB) != 0 ) // TODO: also support PFA? { - unsigned char* pBuffer = new unsigned char[ (int)nLength1 ]; + boost::shared_array pBuffer( new unsigned char[ nLength1 ] ); sal_uInt64 nBytesRead = 0; - CHECK_RETURN( (osl_File_E_None == osl_readFile( aFontFile, pBuffer, nLength1, &nBytesRead ) ) ); + CHECK_RETURN( (osl_File_E_None == osl_readFile( aFontFile, pBuffer.get(), nLength1, &nBytesRead ) ) ); DBG_ASSERT( nBytesRead==nLength1, "PDF-FontSubset read incomplete!" ); CHECK_RETURN( (osl_File_E_None == osl_setFilePos( aFontFile, osl_Pos_Absolut, 0 ) ) ); // get the PFB-segment lengths ThreeInts aSegmentLengths = {0,0,0}; - getPfbSegmentLengths( pBuffer, (int)nBytesRead, aSegmentLengths ); + getPfbSegmentLengths( pBuffer.get(), (int)nBytesRead, aSegmentLengths ); // the lengths below are mandatory for PDF-exported Type1 fonts // because the PFB segment headers get stripped! WhyOhWhy. aLine.append( (sal_Int32)aSegmentLengths[0] ); @@ -4106,11 +4106,9 @@ bool PDFWriterImpl::emitFonts() // emit PFB-sections without section headers beginCompression(); checkAndEnableStreamEncryption( nFontStream ); - CHECK_RETURN( writeBuffer( pBuffer+ 6, aSegmentLengths[0] ) ); - CHECK_RETURN( writeBuffer( pBuffer+12 + aSegmentLengths[0], aSegmentLengths[1] ) ); - CHECK_RETURN( writeBuffer( pBuffer+18 + aSegmentLengths[0] + aSegmentLengths[1], aSegmentLengths[2] ) ); - - delete[] pBuffer; + CHECK_RETURN( writeBuffer( &pBuffer[6], aSegmentLengths[0] ) ); + CHECK_RETURN( writeBuffer( &pBuffer[12] + aSegmentLengths[0], aSegmentLengths[1] ) ); + CHECK_RETURN( writeBuffer( &pBuffer[18] + aSegmentLengths[0] + aSegmentLengths[1], aSegmentLengths[2] ) ); } else { -- cgit From 7668f1f0a853091d9e24d8dcce104e6081789a55 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 21 May 2010 15:13:26 +0200 Subject: jl152 #i77196# unopkg reinstall works now --- .../deployment/manager/dp_extensionmanager.cxx | 12 ++++++-- desktop/source/pkgchk/unopkg/unopkg_app.cxx | 34 ++++++++++++++++++---- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 2781231b8f5e..fddefb5ad277 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -994,6 +994,7 @@ uno::Sequence< uno::Sequence > > } } +//only to be called from unopkg!!! void ExtensionManager::reinstallDeployedExtensions( OUString const & repository, Reference const & xAbortChannel, @@ -1009,6 +1010,9 @@ void ExtensionManager::reinstallDeployedExtensions( ::osl::MutexGuard guard(getMutex()); xPackageManager->reinstallDeployedPackages(xAbortChannel, xCmdEnv); + //We must sync here, otherwise we will get exceptions when extensions + //are removed. + dp_misc::syncRepositories(xCmdEnv); const uno::Sequence< Reference > extensions( xPackageManager->getDeployedPackages(xAbortChannel, xCmdEnv)); @@ -1087,8 +1091,12 @@ sal_Bool ExtensionManager::synchronize( //so we will no repeat this everytime OOo starts. OSL_ENSURE(0, "Extensions Manager: synchronize"); } - writeLastModified(OUSTR("$BUNDLED_EXTENSIONS_USER/lastsynchronized"), xCmdEnv); - writeLastModified(OUSTR("$SHARED_EXTENSIONS_USER/lastsynchronized"), xCmdEnv); + OUString lastSyncBundled(RTL_CONSTASCII_USTRINGPARAM( + "$BUNDLED_EXTENSIONS_USER/lastsynchronized")); + writeLastModified(lastSyncBundled, xCmdEnv); + OUString lastSyncShared(RTL_CONSTASCII_USTRINGPARAM( + "$SHARED_EXTENSIONS_USER/lastsynchronized")); + writeLastModified(lastSyncShared, xCmdEnv); return bModified; } catch (deploy::DeploymentException& ) { throw; diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx index 2f4a7f1d7146..621b8b0bac7c 100644 --- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx +++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx @@ -35,6 +35,7 @@ #include "tools/extendapplicationenvironment.hxx" #include "rtl/ustrbuf.hxx" #include "rtl/uri.hxx" +#include "rtl/bootstrap.hxx" #include "osl/thread.h" #include "osl/process.h" #include "osl/conditn.hxx" @@ -331,10 +332,6 @@ extern "C" int unopkg_main() } } - xComponentContext = getUNO( - disposeGuard, option_verbose, option_shared, subcmd_gui, - xLocalComponentContext ); - if (repository.getLength() == 0) { if (option_shared) @@ -359,6 +356,29 @@ extern "C" int unopkg_main() } } + if (subCommand.equals(OUSTR("reinstall"))) + { + //We must prevent that services and types are loaded by UNO, + //otherwise we cannot delete the registry data folder. + OUString extensionUnorc; + if (repository.equals(OUSTR("user"))) + extensionUnorc = OUSTR("$UNO_USER_PACKAGES_CACHE/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"); + else if (repository.equals(OUSTR("shared"))) + extensionUnorc = OUSTR("$SHARED_EXTENSIONS_USER/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"); + else if (repository.equals(OUSTR("bundled"))) + extensionUnorc = OUSTR("$BUNDLED_EXTENSIONS_USER/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"); + else + OSL_ASSERT(0); + + ::rtl::Bootstrap::expandMacros(extensionUnorc); + oslFileError e = osl_removeFile(extensionUnorc.pData); + if (e != osl_File_E_None && e != osl_File_E_NOENT) + throw Exception(OUSTR("Could not delete ") + extensionUnorc, 0); + } + + xComponentContext = getUNO( + disposeGuard, option_verbose, option_shared, subcmd_gui, + xLocalComponentContext ); Reference xExtensionManager( deployment::ExtensionManager::get( xComponentContext ) ); @@ -368,7 +388,11 @@ extern "C" int unopkg_main() option_force, option_verbose) ); //synchronize bundled/shared extensions - if (!subcmd_gui && ! dp_misc::office_is_running()) + //Do not synchronize when command is "reinstall". This could add types and services to UNO and + //prevent the deletion of the registry data folder + //synching is done in XExtensionManager.reinstall + if (!subcmd_gui && ! subCommand.equals(OUSTR("reinstall")) + && ! dp_misc::office_is_running()) dp_misc::syncRepositories(xCmdEnv); if (subcmd_add || -- cgit From 3d3b46bb623c859265d2b95068845b18a1b64716 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 21 May 2010 16:17:24 +0200 Subject: jl152 #i77196# dp_misc::sycnRepositories cannot be switched off with bootstrap variable, because it is not necessary fro the perfomance test --- desktop/source/app/check_ext_deps.cxx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx index 757135a7e2d3..e9c71bc1ea36 100644 --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -396,10 +396,5 @@ sal_Bool Desktop::CheckExtensionDependencies() void Desktop::SynchronizeExtensionRepositories() { RTL_LOGFILE_CONTEXT(aLog,"desktop (jl) ::Desktop::SynchronizeExtensionRepositories"); - OUString sDisable; - ::rtl::Bootstrap::get( UNISTRING( "DISABLE_SYNC_EXTENSIONS" ), sDisable, OUString() ); - if (sDisable.getLength() > 0) - return; - dp_misc::syncRepositories( new SilentCommandEnv( this ) ); } -- cgit From f7961a7f856f7ff6d1db953756afaa1bad413943 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 21 May 2010 16:46:32 +0200 Subject: dr76: #i103453# import visual area for embedded documents --- oox/inc/oox/helper/attributelist.hxx | 91 ++++++++------- oox/inc/oox/vml/vmldrawing.hxx | 10 +- oox/inc/oox/vml/vmlshape.hxx | 20 ++-- oox/inc/oox/vml/vmlshapecontainer.hxx | 4 +- oox/inc/oox/xls/biffhelper.hxx | 2 + oox/inc/oox/xls/drawingfragment.hxx | 5 + oox/inc/oox/xls/viewsettings.hxx | 20 +++- oox/inc/oox/xls/workbooksettings.hxx | 4 +- oox/inc/oox/xls/worksheethelper.hxx | 11 +- oox/source/docprop/docprophandler.cxx | 2 +- oox/source/dump/biffdumper.cxx | 5 + oox/source/dump/xlsbdumper.cxx | 4 + oox/source/dump/xlsbdumper.ini | 2 +- oox/source/helper/attributelist.cxx | 174 ++++++++++++++-------------- oox/source/ole/axcontrol.cxx | 126 ++++++++++----------- oox/source/vml/vmldrawing.cxx | 5 + oox/source/vml/vmldrawingfragment.cxx | 1 + oox/source/vml/vmlshape.cxx | 25 +++-- oox/source/vml/vmlshapecontainer.cxx | 2 +- oox/source/xls/drawingfragment.cxx | 17 ++- oox/source/xls/sheetdatacontext.cxx | 11 ++ oox/source/xls/viewsettings.cxx | 72 ++++++++++-- oox/source/xls/workbookfragment.cxx | 4 + oox/source/xls/workbooksettings.cxx | 34 +++--- oox/source/xls/worksheetfragment.cxx | 36 ++++-- oox/source/xls/worksheethelper.cxx | 206 ++++++++++++++++++++++++++-------- 26 files changed, 591 insertions(+), 302 deletions(-) diff --git a/oox/inc/oox/helper/attributelist.hxx b/oox/inc/oox/helper/attributelist.hxx index 89981160b699..631d7ec4b66e 100644 --- a/oox/inc/oox/helper/attributelist.hxx +++ b/oox/inc/oox/helper/attributelist.hxx @@ -37,27 +37,12 @@ namespace oox { // ============================================================================ -/** Provides access to attribute values of an element. - - Wraps a com.sun.star.xml.sax.XFastAttributeList object. Provides - convenience functions that convert the string value of an attribute to - various other data types. +/** Static helpers for conversion of strings to attribute values of various + different data types. */ -class AttributeList +class AttributeConversion { public: - explicit AttributeList( - const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& rxAttribs ); - - /** Returns the wrapped com.sun.star.xml.sax.XFastAttributeList object. */ - inline ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > - getFastAttributeList() const { return mxAttribs; } - - /** Returns true, if the specified attribute is present. */ - bool hasAttribute( sal_Int32 nElement ) const; - - // static string conversion ----------------------------------------------- - /** Returns the decoded string value. All characters in the format '_xHHHH_' (H being a hexadecimal digit), will be decoded. */ static ::rtl::OUString decodeXString( const ::rtl::OUString& rValue ); @@ -82,95 +67,117 @@ public: /** Returns the 64-bit signed integer value from the passed string (hexadecimal). */ static sal_Int64 decodeHyperHex( const ::rtl::OUString& rValue ); +}; + +// ============================================================================ + +/** Provides access to attribute values of an element. + + Wraps a com.sun.star.xml.sax.XFastAttributeList object. Provides + convenience functions that convert the string value of an attribute to + various other data types. + */ +class AttributeList +{ +public: + explicit AttributeList( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& rxAttribs ); + + /** Returns the wrapped com.sun.star.xml.sax.XFastAttributeList object. */ + inline ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > + getFastAttributeList() const { return mxAttribs; } + + /** Returns true, if the specified attribute is present. */ + bool hasAttribute( sal_Int32 nAttrToken ) const; // optional return values ------------------------------------------------- /** Returns the token identifier of the value of the specified attribute. */ - OptValue< sal_Int32 > getToken( sal_Int32 nElement ) const; + OptValue< sal_Int32 > getToken( sal_Int32 nAttrToken ) const; /** Returns the string value of the specified attribute. */ - OptValue< ::rtl::OUString > getString( sal_Int32 nElement ) const; + OptValue< ::rtl::OUString > getString( sal_Int32 nAttrToken ) const; /** Returns the string value of the specified attribute. All characters in the format '_xHHHH_' (H being a hexadecimal digit), will be decoded. */ - OptValue< ::rtl::OUString > getXString( sal_Int32 nElement ) const; + OptValue< ::rtl::OUString > getXString( sal_Int32 nAttrToken ) const; /** Returns the double value of the specified attribute. */ - OptValue< double > getDouble( sal_Int32 nElement ) const; + OptValue< double > getDouble( sal_Int32 nAttrToken ) const; /** Returns the 32-bit signed integer value of the specified attribute (decimal). */ - OptValue< sal_Int32 > getInteger( sal_Int32 nElement ) const; + OptValue< sal_Int32 > getInteger( sal_Int32 nAttrToken ) const; /** Returns the 32-bit unsigned integer value of the specified attribute (decimal). */ - OptValue< sal_uInt32 > getUnsigned( sal_Int32 nElement ) const; + OptValue< sal_uInt32 > getUnsigned( sal_Int32 nAttrToken ) const; /** Returns the 64-bit signed integer value of the specified attribute (decimal). */ - OptValue< sal_Int64 > getHyper( sal_Int32 nElement ) const; + OptValue< sal_Int64 > getHyper( sal_Int32 nAttrToken ) const; /** Returns the 32-bit signed integer value of the specified attribute (hexadecimal). */ - OptValue< sal_Int32 > getIntegerHex( sal_Int32 nElement ) const; + OptValue< sal_Int32 > getIntegerHex( sal_Int32 nAttrToken ) const; /** Returns the 32-bit unsigned integer value of the specified attribute (hexadecimal). */ - OptValue< sal_uInt32 > getUnsignedHex( sal_Int32 nElement ) const; + OptValue< sal_uInt32 > getUnsignedHex( sal_Int32 nAttrToken ) const; /** Returns the 64-bit signed integer value of the specified attribute (hexadecimal). */ - OptValue< sal_Int64 > getHyperHex( sal_Int32 nElement ) const; + OptValue< sal_Int64 > getHyperHex( sal_Int32 nAttrToken ) const; /** Returns the boolean value of the specified attribute. */ - OptValue< bool > getBool( sal_Int32 nElement ) const; + OptValue< bool > getBool( sal_Int32 nAttrToken ) const; /** Returns the date/time value of the specified attribute. */ - OptValue< ::com::sun::star::util::DateTime > getDateTime( sal_Int32 nElement ) const; + OptValue< ::com::sun::star::util::DateTime > getDateTime( sal_Int32 nAttrToken ) const; // defaulted return values ------------------------------------------------ /** Returns the token identifier of the value of the specified attribute, or the passed default identifier if the attribute is missing. */ - sal_Int32 getToken( sal_Int32 nElement, sal_Int32 nDefault ) const; + sal_Int32 getToken( sal_Int32 nAttrToken, sal_Int32 nDefault ) const; /** Returns the string value of the specified attribute, or the passed default string if the attribute is missing. */ - ::rtl::OUString getString( sal_Int32 nElement, const ::rtl::OUString& rDefault ) const; + ::rtl::OUString getString( sal_Int32 nAttrToken, const ::rtl::OUString& rDefault ) const; /** Returns the decoded string value of the specified attribute, or the passed default string if the attribute is missing. */ - ::rtl::OUString getXString( sal_Int32 nElement, const ::rtl::OUString& rDefault ) const; + ::rtl::OUString getXString( sal_Int32 nAttrToken, const ::rtl::OUString& rDefault ) const; /** Returns the double value of the specified attribute, or the passed default value if the attribute is missing or not convertible to a double. */ - double getDouble( sal_Int32 nElement, double fDefault ) const; + double getDouble( sal_Int32 nAttrToken, double fDefault ) const; /** Returns the 32-bit signed integer value of the specified attribute, or the passed default value if the attribute is missing or not convertible to integer. */ - sal_Int32 getInteger( sal_Int32 nElement, sal_Int32 nDefault ) const; + sal_Int32 getInteger( sal_Int32 nAttrToken, sal_Int32 nDefault ) const; /** Returns the 32-bit unsigned integer value of the specified attribute, or the passed default value if the attribute is missing or not convertible to unsigned. */ - sal_uInt32 getUnsigned( sal_Int32 nElement, sal_uInt32 nDefault ) const; + sal_uInt32 getUnsigned( sal_Int32 nAttrToken, sal_uInt32 nDefault ) const; /** Returns the 64-bit signed integer value of the specified attribute, or the passed default value if the attribute is missing or not convertible to integer. */ - sal_Int64 getHyper( sal_Int32 nElement, sal_Int64 nDefault ) const; + sal_Int64 getHyper( sal_Int32 nAttrToken, sal_Int64 nDefault ) const; /** Returns the 32-bit signed integer value of the specified attribute (hexadecimal), or the passed default value if the attribute is missing or not convertible. */ - sal_Int32 getIntegerHex( sal_Int32 nElement, sal_Int32 nDefault ) const; + sal_Int32 getIntegerHex( sal_Int32 nAttrToken, sal_Int32 nDefault ) const; /** Returns the 32-bit unsigned integer value of the specified attribute (hexadecimal), or the passed default value if the attribute is missing or not convertible. */ - sal_uInt32 getUnsignedHex( sal_Int32 nElement, sal_uInt32 nDefault ) const; + sal_uInt32 getUnsignedHex( sal_Int32 nAttrToken, sal_uInt32 nDefault ) const; /** Returns the 64-bit signed integer value of the specified attribute (hexadecimal), or the passed default value if the attribute is missing or not convertible. */ - sal_Int64 getHyperHex( sal_Int32 nElement, sal_Int64 nDefault ) const; + sal_Int64 getHyperHex( sal_Int32 nAttrToken, sal_Int64 nDefault ) const; /** Returns the boolean value of the specified attribute, or the passed default value if the attribute is missing or not convertible to bool. */ - bool getBool( sal_Int32 nElement, bool bDefault ) const; + bool getBool( sal_Int32 nAttrToken, bool bDefault ) const; /** Returns the date/time value of the specified attribute, or the default value if the attribute is missing or not convertible to a date/time value. */ - ::com::sun::star::util::DateTime getDateTime( sal_Int32 nElement, const ::com::sun::star::util::DateTime& rDefault ) const; + ::com::sun::star::util::DateTime getDateTime( sal_Int32 nAttrToken, const ::com::sun::star::util::DateTime& rDefault ) const; private: ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > diff --git a/oox/inc/oox/vml/vmldrawing.hxx b/oox/inc/oox/vml/vmldrawing.hxx index 1af14903793b..c8b2d54aeb02 100644 --- a/oox/inc/oox/vml/vmldrawing.hxx +++ b/oox/inc/oox/vml/vmldrawing.hxx @@ -36,6 +36,7 @@ namespace com { namespace sun { namespace star { namespace awt { struct Rectangle; } namespace awt { class XControlModel; } namespace drawing { class XDrawPage; } + namespace drawing { class XShape; } } } } namespace oox { namespace core { class XmlFilterBase; } } @@ -123,7 +124,8 @@ public: /** Final processing after import of the fragment. */ void finalizeFragmentImport(); - /** Creates and inserts all UNO shapes into the passed container. */ + /** Creates and inserts all UNO shapes into the passed container. The virtual + function notifyShapeInserted() will be called for each new shape. */ void convertAndInsert() const; /** Returns the registered info structure for an OLE object, if extant. */ @@ -146,6 +148,12 @@ public: const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel, const ShapeClientData& rClientData ) const; + /** Derived classes may want to know that a shape has been inserted. Will + be called from the convertAndInsert() implementation. */ + virtual void notifyShapeInserted( + const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rxShape, + const ::com::sun::star::awt::Rectangle& rShapeRect ); + protected: /** Derived classes may create a specialized form control helper object. */ virtual ::oox::ole::AxControlHelper* createControlHelper() const; diff --git a/oox/inc/oox/vml/vmlshape.hxx b/oox/inc/oox/vml/vmlshape.hxx index 18eaa7513fc5..7c770df28477 100644 --- a/oox/inc/oox/vml/vmlshape.hxx +++ b/oox/inc/oox/vml/vmlshape.hxx @@ -83,7 +83,7 @@ struct ShapeTypeModel class ShapeType { public: - explicit ShapeType( const Drawing& rDrawing ); + explicit ShapeType( Drawing& rDrawing ); virtual ~ShapeType(); /** Returns read/write access to the shape template model structure. */ @@ -109,7 +109,7 @@ private: ::com::sun::star::awt::Rectangle getRelRectangle() const; protected: - const Drawing& mrDrawing; /// The VML drawing page that contains this shape. + Drawing& mrDrawing; /// The VML drawing page that contains this shape. ShapeTypeModel maTypeModel; /// The model structure containing shape type data. }; @@ -180,7 +180,7 @@ public: const ShapeParentAnchor* pParentAnchor = 0 ) const; protected: - explicit ShapeBase( const Drawing& rDrawing ); + explicit ShapeBase( Drawing& rDrawing ); /** Derived classes create the corresponding XShape and insert it into the passed container. */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > @@ -207,7 +207,7 @@ protected: class SimpleShape : public ShapeBase { public: - explicit SimpleShape( const Drawing& rDrawing, const ::rtl::OUString& rService ); + explicit SimpleShape( Drawing& rDrawing, const ::rtl::OUString& rService ); protected: /** Creates the corresponding XShape and inserts it into the passed container. */ @@ -226,7 +226,7 @@ private: class RectangleShape : public SimpleShape { public: - explicit RectangleShape( const Drawing& rDrawing ); + explicit RectangleShape( Drawing& rDrawing ); }; // ============================================================================ @@ -235,7 +235,7 @@ public: class EllipseShape : public SimpleShape { public: - explicit EllipseShape( const Drawing& rDrawing ); + explicit EllipseShape( Drawing& rDrawing ); }; // ============================================================================ @@ -244,7 +244,7 @@ public: class PolyLineShape : public SimpleShape { public: - explicit PolyLineShape( const Drawing& rDrawing ); + explicit PolyLineShape( Drawing& rDrawing ); protected: /** Creates the corresponding XShape and inserts it into the passed container. */ @@ -260,7 +260,7 @@ protected: class CustomShape : public SimpleShape { public: - explicit CustomShape( const Drawing& rDrawing ); + explicit CustomShape( Drawing& rDrawing ); protected: /** Creates the corresponding XShape and inserts it into the passed container. */ @@ -277,7 +277,7 @@ protected: class ComplexShape : public CustomShape { public: - explicit ComplexShape( const Drawing& rDrawing ); + explicit ComplexShape( Drawing& rDrawing ); protected: /** Creates the corresponding XShape and inserts it into the passed container. */ @@ -293,7 +293,7 @@ protected: class GroupShape : public ShapeBase { public: - explicit GroupShape( const Drawing& rDrawing ); + explicit GroupShape( Drawing& rDrawing ); virtual ~GroupShape(); /** Returns read/write access to the container of child shapes and templates. */ diff --git a/oox/inc/oox/vml/vmlshapecontainer.hxx b/oox/inc/oox/vml/vmlshapecontainer.hxx index d2682c89fd6c..a878fda2b74c 100644 --- a/oox/inc/oox/vml/vmlshapecontainer.hxx +++ b/oox/inc/oox/vml/vmlshapecontainer.hxx @@ -56,7 +56,7 @@ struct ShapeParentAnchor class ShapeContainer { public: - explicit ShapeContainer( const Drawing& rDrawing ); + explicit ShapeContainer( Drawing& rDrawing ); ~ShapeContainer(); /** Creates and returns a new shape template object. */ @@ -101,7 +101,7 @@ private: typedef RefMap< ::rtl::OUString, ShapeType > ShapeTypeMap; typedef RefMap< ::rtl::OUString, ShapeBase > ShapeMap; - const Drawing& mrDrawing; /// The VML drawing page that contains this shape. + Drawing& mrDrawing; /// The VML drawing page that contains this shape. ShapeTypeVector maTypes; /// All shape templates. ShapeVector maShapes; /// All shape definitions. ShapeTypeMap maTypesById; /// All shape templates mapped by identifier. diff --git a/oox/inc/oox/xls/biffhelper.hxx b/oox/inc/oox/xls/biffhelper.hxx index f425b983ada2..062e72030663 100644 --- a/oox/inc/oox/xls/biffhelper.hxx +++ b/oox/inc/oox/xls/biffhelper.hxx @@ -151,6 +151,7 @@ const sal_Int32 OOBIN_ID_NUMFMT = 0x002C; const sal_Int32 OOBIN_ID_NUMFMTS = 0x0267; const sal_Int32 OOBIN_ID_OLEOBJECT = 0x027F; const sal_Int32 OOBIN_ID_OLEOBJECTS = 0x027E; +const sal_Int32 OOBIN_ID_OLESIZE = 0x0225; const sal_Int32 OOBIN_ID_PAGEMARGINS = 0x01DC; const sal_Int32 OOBIN_ID_PAGESETUP = 0x01DE; const sal_Int32 OOBIN_ID_PANE = 0x0097; @@ -421,6 +422,7 @@ const sal_uInt16 BIFF2_ID_NUMBER = 0x0003; const sal_uInt16 BIFF3_ID_NUMBER = 0x0203; const sal_uInt16 BIFF_ID_OBJ = 0x005D; const sal_uInt16 BIFF_ID_OBJECTPROTECT = 0x0063; +const sal_uInt16 BIFF_ID_OLESIZE = 0x00DE; const sal_uInt16 BIFF_ID_PAGELAYOUTVIEW = 0x088B; const sal_uInt16 BIFF_ID_PAGESETUP = 0x00A1; const sal_uInt16 BIFF_ID_PALETTE = 0x0092; diff --git a/oox/inc/oox/xls/drawingfragment.hxx b/oox/inc/oox/xls/drawingfragment.hxx index 22fddd373a86..66d716220b8a 100644 --- a/oox/inc/oox/xls/drawingfragment.hxx +++ b/oox/inc/oox/xls/drawingfragment.hxx @@ -177,6 +177,11 @@ public: virtual void convertControlClientData( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& rxCtrlModel, const ::oox::vml::ShapeClientData& rClientData ) const; + + /** Updates the bounding box covering all shapes of this drawing. */ + virtual void notifyShapeInserted( + const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rxShape, + const ::com::sun::star::awt::Rectangle& rShapeRect ); }; // ============================================================================ diff --git a/oox/inc/oox/xls/viewsettings.hxx b/oox/inc/oox/xls/viewsettings.hxx index 9715644cd54c..1f82aedeef91 100644 --- a/oox/inc/oox/xls/viewsettings.hxx +++ b/oox/inc/oox/xls/viewsettings.hxx @@ -179,15 +179,24 @@ public: /** Imports the workbookView element containing workbook view settings. */ void importWorkbookView( const AttributeList& rAttribs ); + /** Imports the oleSize element containing the visible size of the workbook. */ + void importOleSize( const AttributeList& rAttribs ); /** Imports the WORKBOOKVIEW record containing workbook view settings. */ void importWorkbookView( RecordInputStream& rStrm ); + /** Imports the OLESIZE record containing the visible size of the workbook. */ + void importOleSize( RecordInputStream& rStrm ); /** Imports the WINDOW1 record containing workbook view settings. */ void importWindow1( BiffInputStream& rStrm ); + /** Imports the OLESIZE record containing the visible size of the workbook. */ + void importOleSize( BiffInputStream& rStrm ); /** Stores converted view settings for a specific worksheet. */ void setSheetViewSettings( sal_Int16 nSheet, const SheetViewModelRef& rxSheetView, const ::com::sun::star::uno::Any& rProperties ); + /** Stores the used area for a specific worksheet. */ + void setSheetUsedArea( + const ::com::sun::star::table::CellRangeAddress& rUsedArea ); /** Converts all imported document view settings. */ void finalizeImport(); @@ -199,13 +208,18 @@ private: WorkbookViewModel& createWorkbookView(); private: - typedef RefVector< WorkbookViewModel > WorkbookViewModelVec; - typedef RefMap< sal_Int16, SheetViewModel > SheetViewModelMap; - typedef ::std::map< sal_Int16, ::com::sun::star::uno::Any > SheetPropertiesMap; + typedef RefVector< WorkbookViewModel > WorkbookViewModelVec; + typedef RefMap< sal_Int16, SheetViewModel > SheetViewModelMap; + typedef ::std::map< sal_Int16, ::com::sun::star::uno::Any > SheetPropertiesMap; + typedef ::std::map< sal_Int16, ::com::sun::star::table::CellRangeAddress > SheetUsedAreaMap; WorkbookViewModelVec maBookViews; /// Workbook view models. SheetViewModelMap maSheetViews; /// Active view model for each sheet. SheetPropertiesMap maSheetProps; /// Converted property sequences for each sheet. + SheetUsedAreaMap maSheetUsedAreas; /// Used area (cell range) of every sheet. + ::com::sun::star::table::CellRangeAddress + maOleSize; /// Visible area if this is an embedded OLE object. + bool mbValidOleSize; /// True = imported OLE size is a valid cell range. }; // ============================================================================ diff --git a/oox/inc/oox/xls/workbooksettings.hxx b/oox/inc/oox/xls/workbooksettings.hxx index d0f4ca17e73e..8ba322103955 100644 --- a/oox/inc/oox/xls/workbooksettings.hxx +++ b/oox/inc/oox/xls/workbooksettings.hxx @@ -109,8 +109,6 @@ public: /** Sets the save external linked values flag, e.g. from the WSBOOL record. */ void setSaveExtLinkValues( bool bSaveExtLinks ); - /** Imports the FILESHARING record. */ - void importFileSharing( BiffInputStream& rStrm ); /** Imports the BOOKBOOL record. */ void importBookBool( BiffInputStream& rStrm ); /** Imports the CALCCOUNT record. */ @@ -123,6 +121,8 @@ public: void importDateMode( BiffInputStream& rStrm ); /** Imports the DELTA record. */ void importDelta( BiffInputStream& rStrm ); + /** Imports the FILESHARING record. */ + void importFileSharing( BiffInputStream& rStrm ); /** Imports the HIDEOBJ record. */ void importHideObj( BiffInputStream& rStrm ); /** Imports the ITERATION record. */ diff --git a/oox/inc/oox/xls/worksheethelper.hxx b/oox/inc/oox/xls/worksheethelper.hxx index 4fdd827ff648..632d7027403f 100644 --- a/oox/inc/oox/xls/worksheethelper.hxx +++ b/oox/inc/oox/xls/worksheethelper.hxx @@ -35,6 +35,7 @@ namespace com { namespace sun { namespace star { namespace awt { struct Point; } + namespace awt { struct Rectangle; } namespace awt { struct Size; } namespace util { struct DateTime; } namespace drawing { class XDrawPage; } @@ -355,8 +356,6 @@ public: /** Changes the current sheet type. */ void setSheetType( WorksheetType eSheetType ); - /** Sets the dimension (used area) of the sheet. */ - void setDimension( const ::com::sun::star::table::CellRangeAddress& rRange ); /** Stores the cell formatting data of the current cell. */ void setCellFormat( const CellModel& rModel ); /** Merges the cells in the passed cell range. */ @@ -380,6 +379,14 @@ public: /** Sets the path to the legacy VML drawing fragment of this sheet. */ void setVmlDrawingPath( const ::rtl::OUString& rVmlDrawingPath ); + /** Extends the used area of this sheet by the passed cell position. */ + void extendUsedArea( const ::com::sun::star::table::CellAddress& rAddress ); + /** Extends the used area of this sheet by the passed cell range. */ + void extendUsedArea( const ::com::sun::star::table::CellRangeAddress& rRange ); + /** Extends the shape bounding box by the position and size of the passed rectangle. */ + void extendShapeBoundingBox( + const ::com::sun::star::awt::Rectangle& rShapeRect ); + /** Sets base width for all columns (without padding pixels). This value is only used, if width has not been set with setDefaultColumnWidth(). */ void setBaseColumnWidth( sal_Int32 nWidth ); diff --git a/oox/source/docprop/docprophandler.cxx b/oox/source/docprop/docprophandler.cxx index da7daa9a058e..70b970cc3063 100644 --- a/oox/source/docprop/docprophandler.cxx +++ b/oox/source/docprop/docprophandler.cxx @@ -618,7 +618,7 @@ void SAL_CALL OOXMLDocPropHandler::characters( const ::rtl::OUString& aChars ) case XML_bstr|NMSP_VT: case XML_lpstr|NMSP_VT: case XML_lpwstr|NMSP_VT: - AddCustomProperty( uno::makeAny( AttributeList::decodeXString( aChars ) ) ); // the property has string type + AddCustomProperty( uno::makeAny( AttributeConversion::decodeXString( aChars ) ) ); // the property has string type break; case XML_date|NMSP_VT: diff --git a/oox/source/dump/biffdumper.cxx b/oox/source/dump/biffdumper.cxx index 21aa341107fa..50f249520aad 100644 --- a/oox/source/dump/biffdumper.cxx +++ b/oox/source/dump/biffdumper.cxx @@ -2477,6 +2477,11 @@ void WorkbookStreamObject::implDumpRecordBody() dumpObjRec(); break; + case BIFF_ID_OLESIZE: + dumpUnused( 2 ); + dumpRange( "visible-range", false ); + break; + case BIFF_ID_PAGELAYOUTVIEW: dumpFrHeader( true, true ); dumpDec< sal_uInt16 >( "scaling", "CONV-PERCENT" ); diff --git a/oox/source/dump/xlsbdumper.cxx b/oox/source/dump/xlsbdumper.cxx index a9674951225b..ef8e9e84fd3a 100644 --- a/oox/source/dump/xlsbdumper.cxx +++ b/oox/source/dump/xlsbdumper.cxx @@ -1632,6 +1632,10 @@ void RecordStreamObject::implDumpRecordBody() } break; + case OOBIN_ID_OLESIZE: + dumpRange( "visible-range" ); + break; + case OOBIN_ID_PAGEMARGINS: dumpDec< double >( "left-margin" ); dumpDec< double >( "right-margin" ); diff --git a/oox/source/dump/xlsbdumper.ini b/oox/source/dump/xlsbdumper.ini index d8bc97ddb6bc..f2ac3b49b4d6 100644 --- a/oox/source/dump/xlsbdumper.ini +++ b/oox/source/dump/xlsbdumper.ini @@ -216,7 +216,7 @@ multilist=RECORD-NAMES 0x0208=VOLTYPETP,VOLTYPETP_END,VOLTYPESTP,VOLTYPETR,,VOLTYPE_ERROR,, 0x0210=CALCCHAIN,CALCCHAIN_END,,,,,,SHEETPROTECTION 0x0218=,PHONETICPR,,,,,, - 0x0220=,,,,,,DRAWING,LEGACYDRAWING + 0x0220=,,,,,OLESIZE,DRAWING,LEGACYDRAWING 0x0230=,,PICTURE,,CFCOLOR,INDEXEDCOLORS,INDEXEDCOLORS_END, 0x0238=,MRUCOLORS,MRUCOLORS_END,,COLOR,DATAVALIDATIONS,DATAVALIDATIONS_END, diff --git a/oox/source/helper/attributelist.cxx b/oox/source/helper/attributelist.cxx index 4e121497c452..5479fae46f82 100644 --- a/oox/source/helper/attributelist.cxx +++ b/oox/source/helper/attributelist.cxx @@ -72,22 +72,9 @@ sal_Unicode lclGetXChar( const sal_Unicode*& rpcStr, const sal_Unicode* pcEnd ) } // namespace -// ============================================================================ - -AttributeList::AttributeList( const Reference< XFastAttributeList >& rxAttribs ) : - mxAttribs( rxAttribs ) -{ - OSL_ENSURE( mxAttribs.is(), "AttributeList::AttributeList - missing attribute list interface" ); -} - -bool AttributeList::hasAttribute( sal_Int32 nElement ) const -{ - return mxAttribs->hasAttribute( nElement ); -} - -// static string conversion ----------------------------------------------- +// ---------------------------------------------------------------------------- -OUString AttributeList::decodeXString( const OUString& rValue ) +OUString AttributeConversion::decodeXString( const OUString& rValue ) { // string shorter than one encoded character - no need to decode if( rValue.getLength() < XSTRING_ENCCHAR_LEN ) @@ -100,127 +87,146 @@ OUString AttributeList::decodeXString( const OUString& rValue ) return aBuffer.makeStringAndClear(); } -double AttributeList::decodeDouble( const OUString& rValue ) +double AttributeConversion::decodeDouble( const OUString& rValue ) { return rValue.toDouble(); } -sal_Int32 AttributeList::decodeInteger( const OUString& rValue ) +sal_Int32 AttributeConversion::decodeInteger( const OUString& rValue ) { return rValue.toInt32(); } -sal_uInt32 AttributeList::decodeUnsigned( const OUString& rValue ) +sal_uInt32 AttributeConversion::decodeUnsigned( const OUString& rValue ) { return getLimitedValue< sal_uInt32, sal_Int64 >( rValue.toInt64(), 0, SAL_MAX_UINT32 ); } -sal_Int64 AttributeList::decodeHyper( const OUString& rValue ) +sal_Int64 AttributeConversion::decodeHyper( const OUString& rValue ) { return rValue.toInt64(); } -sal_Int32 AttributeList::decodeIntegerHex( const OUString& rValue ) +sal_Int32 AttributeConversion::decodeIntegerHex( const OUString& rValue ) { return rValue.toInt32( 16 ); } -sal_uInt32 AttributeList::decodeUnsignedHex( const OUString& rValue ) +sal_uInt32 AttributeConversion::decodeUnsignedHex( const OUString& rValue ) { return getLimitedValue< sal_uInt32, sal_Int64 >( rValue.toInt64( 16 ), 0, SAL_MAX_UINT32 ); } -sal_Int64 AttributeList::decodeHyperHex( const OUString& rValue ) +sal_Int64 AttributeConversion::decodeHyperHex( const OUString& rValue ) { return rValue.toInt64( 16 ); } +// ============================================================================ + +AttributeList::AttributeList( const Reference< XFastAttributeList >& rxAttribs ) : + mxAttribs( rxAttribs ) +{ + OSL_ENSURE( mxAttribs.is(), "AttributeList::AttributeList - missing attribute list interface" ); +} + +bool AttributeList::hasAttribute( sal_Int32 nAttrToken ) const +{ + return mxAttribs->hasAttribute( nAttrToken ); +} + // optional return values ----------------------------------------------------- -OptValue< sal_Int32 > AttributeList::getToken( sal_Int32 nElement ) const +OptValue< sal_Int32 > AttributeList::getToken( sal_Int32 nAttrToken ) const { - sal_Int32 nToken = mxAttribs->getOptionalValueToken( nElement, XML_TOKEN_INVALID ); + sal_Int32 nToken = mxAttribs->getOptionalValueToken( nAttrToken, XML_TOKEN_INVALID ); return OptValue< sal_Int32 >( nToken != XML_TOKEN_INVALID, nToken ); } -OptValue< OUString > AttributeList::getString( sal_Int32 nElement ) const +OptValue< OUString > AttributeList::getString( sal_Int32 nAttrToken ) const { - return OptValue< OUString >( mxAttribs->hasAttribute( nElement ), mxAttribs->getOptionalValue( nElement ) ); + // check if the attribute exists (empty string may be different to missing attribute) + if( mxAttribs->hasAttribute( nAttrToken ) ) + return OptValue< OUString >( mxAttribs->getOptionalValue( nAttrToken ) ); + return OptValue< OUString >(); } -OptValue< OUString > AttributeList::getXString( sal_Int32 nElement ) const +OptValue< OUString > AttributeList::getXString( sal_Int32 nAttrToken ) const { - return OptValue< OUString >( mxAttribs->hasAttribute( nElement ), decodeXString( mxAttribs->getOptionalValue( nElement ) ) ); + // check if the attribute exists (empty string may be different to missing attribute) + if( mxAttribs->hasAttribute( nAttrToken ) ) + return OptValue< OUString >( AttributeConversion::decodeXString( mxAttribs->getOptionalValue( nAttrToken ) ) ); + return OptValue< OUString >(); } -OptValue< double > AttributeList::getDouble( sal_Int32 nElement ) const +OptValue< double > AttributeList::getDouble( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< double >( bValid, bValid ? decodeDouble( aValue ) : 0.0 ); + return OptValue< double >( bValid, bValid ? AttributeConversion::decodeDouble( aValue ) : 0.0 ); } -OptValue< sal_Int32 > AttributeList::getInteger( sal_Int32 nElement ) const +OptValue< sal_Int32 > AttributeList::getInteger( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_Int32 >( bValid, bValid ? decodeInteger( aValue ) : 0 ); + return OptValue< sal_Int32 >( bValid, bValid ? AttributeConversion::decodeInteger( aValue ) : 0 ); } -OptValue< sal_uInt32 > AttributeList::getUnsigned( sal_Int32 nElement ) const +OptValue< sal_uInt32 > AttributeList::getUnsigned( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_uInt32 >( bValid, decodeUnsigned( aValue ) ); + return OptValue< sal_uInt32 >( bValid, AttributeConversion::decodeUnsigned( aValue ) ); } -OptValue< sal_Int64 > AttributeList::getHyper( sal_Int32 nElement ) const +OptValue< sal_Int64 > AttributeList::getHyper( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_Int64 >( bValid, bValid ? decodeHyper( aValue ) : 0 ); + return OptValue< sal_Int64 >( bValid, bValid ? AttributeConversion::decodeHyper( aValue ) : 0 ); } -OptValue< sal_Int32 > AttributeList::getIntegerHex( sal_Int32 nElement ) const +OptValue< sal_Int32 > AttributeList::getIntegerHex( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_Int32 >( bValid, bValid ? decodeIntegerHex( aValue ) : 0 ); + return OptValue< sal_Int32 >( bValid, bValid ? AttributeConversion::decodeIntegerHex( aValue ) : 0 ); } -OptValue< sal_uInt32 > AttributeList::getUnsignedHex( sal_Int32 nElement ) const +OptValue< sal_uInt32 > AttributeList::getUnsignedHex( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_uInt32 >( bValid, bValid ? decodeUnsignedHex( aValue ) : 0 ); + return OptValue< sal_uInt32 >( bValid, bValid ? AttributeConversion::decodeUnsignedHex( aValue ) : 0 ); } -OptValue< sal_Int64 > AttributeList::getHyperHex( sal_Int32 nElement ) const +OptValue< sal_Int64 > AttributeList::getHyperHex( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); bool bValid = aValue.getLength() > 0; - return OptValue< sal_Int64 >( bValid, bValid ? decodeHyperHex( aValue ) : 0 ); + return OptValue< sal_Int64 >( bValid, bValid ? AttributeConversion::decodeHyperHex( aValue ) : 0 ); } -OptValue< bool > AttributeList::getBool( sal_Int32 nElement ) const +OptValue< bool > AttributeList::getBool( sal_Int32 nAttrToken ) const { // boolean attributes may be "t", "f", "true", "false", "on", "off", "1", or "0" - switch( getToken( nElement, -1 ) ) + switch( getToken( nAttrToken, XML_TOKEN_INVALID ) ) { - case XML_t: return OptValue< bool >( true, true ); // used in VML - case XML_true: return OptValue< bool >( true, true ); - case XML_on: return OptValue< bool >( true, true ); - case XML_f: return OptValue< bool >( true, false ); // used in VML - case XML_false: return OptValue< bool >( true, false ); - case XML_off: return OptValue< bool >( true, false ); + case XML_t: return OptValue< bool >( true ); // used in VML + case XML_true: return OptValue< bool >( true ); + case XML_on: return OptValue< bool >( true ); + case XML_f: return OptValue< bool >( false ); // used in VML + case XML_false: return OptValue< bool >( false ); + case XML_off: return OptValue< bool >( false ); } - OptValue< sal_Int32 > onValue = getInteger( nElement ); + OptValue< sal_Int32 > onValue = getInteger( nAttrToken ); return OptValue< bool >( onValue.has(), onValue.get() != 0 ); } -OptValue< DateTime > AttributeList::getDateTime( sal_Int32 nElement ) const +OptValue< DateTime > AttributeList::getDateTime( sal_Int32 nAttrToken ) const { - OUString aValue = mxAttribs->getOptionalValue( nElement ); + OUString aValue = mxAttribs->getOptionalValue( nAttrToken ); DateTime aDateTime; bool bValid = (aValue.getLength() == 19) && (aValue[ 4 ] == '-') && (aValue[ 7 ] == '-') && (aValue[ 10 ] == 'T') && (aValue[ 13 ] == ':') && (aValue[ 16 ] == ':'); @@ -238,16 +244,16 @@ OptValue< DateTime > AttributeList::getDateTime( sal_Int32 nElement ) const // defaulted return values ---------------------------------------------------- -sal_Int32 AttributeList::getToken( sal_Int32 nElement, sal_Int32 nDefault ) const +sal_Int32 AttributeList::getToken( sal_Int32 nAttrToken, sal_Int32 nDefault ) const { - return mxAttribs->getOptionalValueToken( nElement, nDefault ); + return mxAttribs->getOptionalValueToken( nAttrToken, nDefault ); } -OUString AttributeList::getString( sal_Int32 nElement, const OUString& rDefault ) const +OUString AttributeList::getString( sal_Int32 nAttrToken, const OUString& rDefault ) const { try { - return mxAttribs->getValue( nElement ); + return mxAttribs->getValue( nAttrToken ); } catch( Exception& ) { @@ -255,54 +261,54 @@ OUString AttributeList::getString( sal_Int32 nElement, const OUString& rDefault return rDefault; } -OUString AttributeList::getXString( sal_Int32 nElement, const OUString& rDefault ) const +OUString AttributeList::getXString( sal_Int32 nAttrToken, const OUString& rDefault ) const { - return getXString( nElement ).get( rDefault ); + return getXString( nAttrToken ).get( rDefault ); } -double AttributeList::getDouble( sal_Int32 nElement, double fDefault ) const +double AttributeList::getDouble( sal_Int32 nAttrToken, double fDefault ) const { - return getDouble( nElement ).get( fDefault ); + return getDouble( nAttrToken ).get( fDefault ); } -sal_Int32 AttributeList::getInteger( sal_Int32 nElement, sal_Int32 nDefault ) const +sal_Int32 AttributeList::getInteger( sal_Int32 nAttrToken, sal_Int32 nDefault ) const { - return getInteger( nElement ).get( nDefault ); + return getInteger( nAttrToken ).get( nDefault ); } -sal_uInt32 AttributeList::getUnsigned( sal_Int32 nElement, sal_uInt32 nDefault ) const +sal_uInt32 AttributeList::getUnsigned( sal_Int32 nAttrToken, sal_uInt32 nDefault ) const { - return getUnsigned( nElement ).get( nDefault ); + return getUnsigned( nAttrToken ).get( nDefault ); } -sal_Int64 AttributeList::getHyper( sal_Int32 nElement, sal_Int64 nDefault ) const +sal_Int64 AttributeList::getHyper( sal_Int32 nAttrToken, sal_Int64 nDefault ) const { - return getHyper( nElement ).get( nDefault ); + return getHyper( nAttrToken ).get( nDefault ); } -sal_Int32 AttributeList::getIntegerHex( sal_Int32 nElement, sal_Int32 nDefault ) const +sal_Int32 AttributeList::getIntegerHex( sal_Int32 nAttrToken, sal_Int32 nDefault ) const { - return getIntegerHex( nElement ).get( nDefault ); + return getIntegerHex( nAttrToken ).get( nDefault ); } -sal_uInt32 AttributeList::getUnsignedHex( sal_Int32 nElement, sal_uInt32 nDefault ) const +sal_uInt32 AttributeList::getUnsignedHex( sal_Int32 nAttrToken, sal_uInt32 nDefault ) const { - return getUnsignedHex( nElement ).get( nDefault ); + return getUnsignedHex( nAttrToken ).get( nDefault ); } -sal_Int64 AttributeList::getHyperHex( sal_Int32 nElement, sal_Int64 nDefault ) const +sal_Int64 AttributeList::getHyperHex( sal_Int32 nAttrToken, sal_Int64 nDefault ) const { - return getHyperHex( nElement ).get( nDefault ); + return getHyperHex( nAttrToken ).get( nDefault ); } -bool AttributeList::getBool( sal_Int32 nElement, bool bDefault ) const +bool AttributeList::getBool( sal_Int32 nAttrToken, bool bDefault ) const { - return getBool( nElement ).get( bDefault ); + return getBool( nAttrToken ).get( bDefault ); } -DateTime AttributeList::getDateTime( sal_Int32 nElement, const DateTime& rDefault ) const +DateTime AttributeList::getDateTime( sal_Int32 nAttrToken, const DateTime& rDefault ) const { - return getDateTime( nElement ).get( rDefault ); + return getDateTime( nAttrToken ).get( rDefault ); } // ============================================================================ diff --git a/oox/source/ole/axcontrol.cxx b/oox/source/ole/axcontrol.cxx index 96baaab4bb36..4a94f9849bd2 100644 --- a/oox/source/ole/axcontrol.cxx +++ b/oox/source/ole/axcontrol.cxx @@ -427,11 +427,11 @@ void AxFontDataModel::importProperty( sal_Int32 nPropId, const OUString& rValue { switch( nPropId ) { - case XML_FontName: maFontName = rValue; break; - case XML_FontEffects: mnFontEffects = AttributeList::decodeUnsigned( rValue ); break; - case XML_FontHeight: mnFontHeight = AttributeList::decodeInteger( rValue ); break; - case XML_FontCharSet: mnFontCharSet = AttributeList::decodeInteger( rValue ); break; - case XML_ParagraphAlign: mnHorAlign = AttributeList::decodeInteger( rValue ); break; + case XML_FontName: maFontName = rValue; break; + case XML_FontEffects: mnFontEffects = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_FontHeight: mnFontHeight = AttributeConversion::decodeInteger( rValue ); break; + case XML_FontCharSet: mnFontCharSet = AttributeConversion::decodeInteger( rValue ); break; + case XML_ParagraphAlign: mnHorAlign = AttributeConversion::decodeInteger( rValue ); break; default: AxControlModelBase::importProperty( nPropId, rValue ); } } @@ -508,12 +508,12 @@ void AxCommandButtonModel::importProperty( sal_Int32 nPropId, const OUString& rV { switch( nPropId ) { - case XML_Caption: maCaption = rValue; break; - case XML_ForeColor: mnTextColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_PicturePosition: mnPicturePos = AttributeList::decodeUnsigned( rValue ); break; - case XML_TakeFocusOnClick: mbFocusOnClick = AttributeList::decodeInteger( rValue ) != 0; break; + case XML_Caption: maCaption = rValue; break; + case XML_ForeColor: mnTextColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_PicturePosition: mnPicturePos = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_TakeFocusOnClick: mbFocusOnClick = AttributeConversion::decodeInteger( rValue ) != 0; break; default: AxFontDataModel::importProperty( nPropId, rValue ); } } @@ -580,12 +580,12 @@ void AxLabelModel::importProperty( sal_Int32 nPropId, const OUString& rValue ) switch( nPropId ) { case XML_Caption: maCaption = rValue; break; - case XML_ForeColor: mnTextColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderColor: mnBorderColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderStyle: mnBorderStyle = AttributeList::decodeInteger( rValue ); break; - case XML_SpecialEffect: mnSpecialEffect = AttributeList::decodeInteger( rValue ); break; + case XML_ForeColor: mnTextColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderColor: mnBorderColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderStyle: mnBorderStyle = AttributeConversion::decodeInteger( rValue ); break; + case XML_SpecialEffect: mnSpecialEffect = AttributeConversion::decodeInteger( rValue ); break; default: AxFontDataModel::importProperty( nPropId, rValue ); } } @@ -645,14 +645,14 @@ void AxImageModel::importProperty( sal_Int32 nPropId, const OUString& rValue ) { switch( nPropId ) { - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderColor: mnBorderColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderStyle: mnBorderStyle = AttributeList::decodeInteger( rValue ); break; - case XML_SpecialEffect: mnSpecialEffect = AttributeList::decodeInteger( rValue ); break; - case XML_SizeMode: mnPicSizeMode = AttributeList::decodeInteger( rValue ); break; - case XML_PictureAlignment: mnPicAlign = AttributeList::decodeInteger( rValue ); break; - case XML_PictureTiling: mbPicTiling = AttributeList::decodeInteger( rValue ) != 0; break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderColor: mnBorderColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderStyle: mnBorderStyle = AttributeConversion::decodeInteger( rValue ); break; + case XML_SpecialEffect: mnSpecialEffect = AttributeConversion::decodeInteger( rValue ); break; + case XML_SizeMode: mnPicSizeMode = AttributeConversion::decodeInteger( rValue ); break; + case XML_PictureAlignment: mnPicAlign = AttributeConversion::decodeInteger( rValue ); break; + case XML_PictureTiling: mbPicTiling = AttributeConversion::decodeInteger( rValue ) != 0; break; default: AxControlModelBase::importProperty( nPropId, rValue ); } } @@ -726,24 +726,24 @@ void AxMorphDataModel::importProperty( sal_Int32 nPropId, const OUString& rValue { switch( nPropId ) { - case XML_Caption: maCaption = rValue; break; - case XML_Value: maValue = rValue; break; - case XML_GroupName: maGroupName = rValue; break; - case XML_ForeColor: mnTextColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_PicturePosition: mnPicturePos = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderColor: mnBorderColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BorderStyle: mnBorderStyle = AttributeList::decodeInteger( rValue ); break; - case XML_SpecialEffect: mnSpecialEffect = AttributeList::decodeInteger( rValue ); break; - case XML_DisplayStyle: mnDisplayStyle = AttributeList::decodeInteger( rValue ); break; - case XML_MultiSelect: mnMultiSelect = AttributeList::decodeInteger( rValue ); break; - case XML_ScrollBars: mnScrollBars = AttributeList::decodeInteger( rValue ); break; - case XML_MatchEntry: mnMatchEntry = AttributeList::decodeInteger( rValue ); break; - case XML_ShowDropButtonWhen: mnShowDropButton = AttributeList::decodeInteger( rValue ); break; - case XML_MaxLength: mnMaxLength = AttributeList::decodeInteger( rValue ); break; - case XML_PasswordChar: mnPasswordChar = AttributeList::decodeInteger( rValue ); break; - case XML_ListRows: mnListRows = AttributeList::decodeInteger( rValue ); break; + case XML_Caption: maCaption = rValue; break; + case XML_Value: maValue = rValue; break; + case XML_GroupName: maGroupName = rValue; break; + case XML_ForeColor: mnTextColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_PicturePosition: mnPicturePos = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderColor: mnBorderColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BorderStyle: mnBorderStyle = AttributeConversion::decodeInteger( rValue ); break; + case XML_SpecialEffect: mnSpecialEffect = AttributeConversion::decodeInteger( rValue ); break; + case XML_DisplayStyle: mnDisplayStyle = AttributeConversion::decodeInteger( rValue ); break; + case XML_MultiSelect: mnMultiSelect = AttributeConversion::decodeInteger( rValue ); break; + case XML_ScrollBars: mnScrollBars = AttributeConversion::decodeInteger( rValue ); break; + case XML_MatchEntry: mnMatchEntry = AttributeConversion::decodeInteger( rValue ); break; + case XML_ShowDropButtonWhen: mnShowDropButton = AttributeConversion::decodeInteger( rValue );break; + case XML_MaxLength: mnMaxLength = AttributeConversion::decodeInteger( rValue ); break; + case XML_PasswordChar: mnPasswordChar = AttributeConversion::decodeInteger( rValue ); break; + case XML_ListRows: mnListRows = AttributeConversion::decodeInteger( rValue ); break; default: AxFontDataModel::importProperty( nPropId, rValue ); } } @@ -979,15 +979,15 @@ void AxSpinButtonModel::importProperty( sal_Int32 nPropId, const OUString& rValu { switch( nPropId ) { - case XML_ForeColor: mnArrowColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_Orientation: mnOrientation = AttributeList::decodeInteger( rValue ); break; - case XML_Min: mnMin = AttributeList::decodeInteger( rValue ); break; - case XML_Max: mnMax = AttributeList::decodeInteger( rValue ); break; - case XML_Position: mnPosition = AttributeList::decodeInteger( rValue ); break; - case XML_SmallChange: mnSmallChange = AttributeList::decodeInteger( rValue ); break; - case XML_Delay: mnDelay = AttributeList::decodeInteger( rValue ); break; + case XML_ForeColor: mnArrowColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_Orientation: mnOrientation = AttributeConversion::decodeInteger( rValue ); break; + case XML_Min: mnMin = AttributeConversion::decodeInteger( rValue ); break; + case XML_Max: mnMax = AttributeConversion::decodeInteger( rValue ); break; + case XML_Position: mnPosition = AttributeConversion::decodeInteger( rValue ); break; + case XML_SmallChange: mnSmallChange = AttributeConversion::decodeInteger( rValue ); break; + case XML_Delay: mnDelay = AttributeConversion::decodeInteger( rValue ); break; default: AxControlModelBase::importProperty( nPropId, rValue ); } } @@ -1057,17 +1057,17 @@ void AxScrollBarModel::importProperty( sal_Int32 nPropId, const OUString& rValue { switch( nPropId ) { - case XML_ForeColor: mnArrowColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_BackColor: mnBackColor = AttributeList::decodeUnsigned( rValue ); break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; - case XML_Orientation: mnOrientation = AttributeList::decodeInteger( rValue ); break; - case XML_ProportionalThumb: mnPropThumb = AttributeList::decodeInteger( rValue ); break; - case XML_Min: mnMin = AttributeList::decodeInteger( rValue ); break; - case XML_Max: mnMax = AttributeList::decodeInteger( rValue ); break; - case XML_Position: mnPosition = AttributeList::decodeInteger( rValue ); break; - case XML_SmallChange: mnSmallChange = AttributeList::decodeInteger( rValue ); break; - case XML_LargeChange: mnLargeChange = AttributeList::decodeInteger( rValue ); break; - case XML_Delay: mnDelay = AttributeList::decodeInteger( rValue ); break; + case XML_ForeColor: mnArrowColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_BackColor: mnBackColor = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; + case XML_Orientation: mnOrientation = AttributeConversion::decodeInteger( rValue ); break; + case XML_ProportionalThumb: mnPropThumb = AttributeConversion::decodeInteger( rValue ); break; + case XML_Min: mnMin = AttributeConversion::decodeInteger( rValue ); break; + case XML_Max: mnMax = AttributeConversion::decodeInteger( rValue ); break; + case XML_Position: mnPosition = AttributeConversion::decodeInteger( rValue ); break; + case XML_SmallChange: mnSmallChange = AttributeConversion::decodeInteger( rValue ); break; + case XML_LargeChange: mnLargeChange = AttributeConversion::decodeInteger( rValue ); break; + case XML_Delay: mnDelay = AttributeConversion::decodeInteger( rValue ); break; default: AxControlModelBase::importProperty( nPropId, rValue ); } } diff --git a/oox/source/vml/vmldrawing.cxx b/oox/source/vml/vmldrawing.cxx index 9c1bb761532a..21e313288dfa 100644 --- a/oox/source/vml/vmldrawing.cxx +++ b/oox/source/vml/vmldrawing.cxx @@ -39,6 +39,7 @@ using ::com::sun::star::uno::UNO_QUERY; using ::com::sun::star::awt::Rectangle; using ::com::sun::star::awt::XControlModel; using ::com::sun::star::drawing::XDrawPage; +using ::com::sun::star::drawing::XShape; using ::com::sun::star::drawing::XShapes; using ::oox::core::XmlFilterBase; @@ -158,6 +159,10 @@ void Drawing::convertControlClientData( const Reference< XControlModel >& /*rxCt { } +void Drawing::notifyShapeInserted( const Reference< XShape >& /*rxShape*/, const Rectangle& /*rShapeRect*/ ) +{ +} + ::oox::ole::AxControlHelper* Drawing::createControlHelper() const { return new ::oox::ole::AxEmbeddedControlHelper( mrFilter, mxDrawPage ); diff --git a/oox/source/vml/vmldrawingfragment.cxx b/oox/source/vml/vmldrawingfragment.cxx index aae5b5c40556..333df72bbaf7 100644 --- a/oox/source/vml/vmldrawingfragment.cxx +++ b/oox/source/vml/vmldrawingfragment.cxx @@ -50,6 +50,7 @@ DrawingFragment::DrawingFragment( XmlFilterBase& rFilter, const OUString& rFragm Reference< XInputStream > DrawingFragment::openFragmentStream() const { + // #i104719# create an input stream that preprocesses the VML data return new InputStream( FragmentHandler2::openFragmentStream() ); } diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 014f1edf4c45..6a9bd1cbc94b 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -165,7 +165,7 @@ void ShapeTypeModel::assignUsed( const ShapeTypeModel& rSource ) // ---------------------------------------------------------------------------- -ShapeType::ShapeType( const Drawing& rDrawing ) : +ShapeType::ShapeType( Drawing& rDrawing ) : mrDrawing( rDrawing ) { } @@ -237,7 +237,7 @@ ShapeClientData& ShapeModel::createClientData() // ---------------------------------------------------------------------------- -ShapeBase::ShapeBase( const Drawing& rDrawing ) : +ShapeBase::ShapeBase( Drawing& rDrawing ) : ShapeType( rDrawing ) { } @@ -270,7 +270,14 @@ Reference< XShape > ShapeBase::convertAndInsert( const Reference< XShapes >& rxS Rectangle aShapeRect = calcShapeRectangle( pParentAnchor ); // convert the shape, if the calculated rectangle is not empty if( ((aShapeRect.Width > 0) || (aShapeRect.Height > 0)) && rxShapes.is() ) + { xShape = implConvertAndInsert( rxShapes, aShapeRect ); + /* Notify the drawing that a new shape has been inserted (but not + for children of group shapes). For convenience, pass the + rectangle that contains position and size of the shape. */ + if( !pParentAnchor && xShape.is() ) + mrDrawing.notifyShapeInserted( xShape, aShapeRect ); + } } return xShape; } @@ -316,7 +323,7 @@ void ShapeBase::convertShapeProperties( const Reference< XShape >& rxShape ) con // ============================================================================ -SimpleShape::SimpleShape( const Drawing& rDrawing, const OUString& rService ) : +SimpleShape::SimpleShape( Drawing& rDrawing, const OUString& rService ) : ShapeBase( rDrawing ), maService( rService ) { @@ -331,21 +338,21 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes // ============================================================================ -RectangleShape::RectangleShape( const Drawing& rDrawing ) : +RectangleShape::RectangleShape( Drawing& rDrawing ) : SimpleShape( rDrawing, CREATE_OUSTRING( "com.sun.star.drawing.RectangleShape" ) ) { } // ============================================================================ -EllipseShape::EllipseShape( const Drawing& rDrawing ) : +EllipseShape::EllipseShape( Drawing& rDrawing ) : SimpleShape( rDrawing, CREATE_OUSTRING( "com.sun.star.drawing.EllipseShape" ) ) { } // ============================================================================ -PolyLineShape::PolyLineShape( const Drawing& rDrawing ) : +PolyLineShape::PolyLineShape( Drawing& rDrawing ) : SimpleShape( rDrawing, CREATE_OUSTRING( "com.sun.star.drawing.PolyLineShape" ) ) { } @@ -370,7 +377,7 @@ Reference< XShape > PolyLineShape::implConvertAndInsert( const Reference< XShape // ============================================================================ -CustomShape::CustomShape( const Drawing& rDrawing ) : +CustomShape::CustomShape( Drawing& rDrawing ) : SimpleShape( rDrawing, CREATE_OUSTRING( "com.sun.star.drawing.CustomShape" ) ) { } @@ -395,7 +402,7 @@ Reference< XShape > CustomShape::implConvertAndInsert( const Reference< XShapes // ============================================================================ -ComplexShape::ComplexShape( const Drawing& rDrawing ) : +ComplexShape::ComplexShape( Drawing& rDrawing ) : CustomShape( rDrawing ) { } @@ -485,7 +492,7 @@ Reference< XShape > ComplexShape::implConvertAndInsert( const Reference< XShapes // ============================================================================ -GroupShape::GroupShape( const Drawing& rDrawing ) : +GroupShape::GroupShape( Drawing& rDrawing ) : ShapeBase( rDrawing ), mxChildren( new ShapeContainer( rDrawing ) ) { diff --git a/oox/source/vml/vmlshapecontainer.cxx b/oox/source/vml/vmlshapecontainer.cxx index 6b1711f3c0f9..1968cd567acd 100644 --- a/oox/source/vml/vmlshapecontainer.cxx +++ b/oox/source/vml/vmlshapecontainer.cxx @@ -61,7 +61,7 @@ void lclMapShapesById( RefMap< OUString, ShapeType >& orMap, const RefVector< Sh // ============================================================================ -ShapeContainer::ShapeContainer( const Drawing& rDrawing ) : +ShapeContainer::ShapeContainer( Drawing& rDrawing ) : mrDrawing( rDrawing ) { } diff --git a/oox/source/xls/drawingfragment.cxx b/oox/source/xls/drawingfragment.cxx index 28687ba92da7..172530692923 100644 --- a/oox/source/xls/drawingfragment.cxx +++ b/oox/source/xls/drawingfragment.cxx @@ -62,6 +62,7 @@ using ::com::sun::star::form::binding::XBindableValue; using ::com::sun::star::form::binding::XListEntrySink; using ::com::sun::star::form::binding::XListEntrySource; using ::com::sun::star::form::binding::XValueBinding; +using ::com::sun::star::drawing::XShape; using ::com::sun::star::table::CellAddress; using ::com::sun::star::table::CellRangeAddress; using ::oox::core::ContextHandlerRef; @@ -508,9 +509,13 @@ void OoxDrawingFragment::onEndElement( const OUString& rChars ) case XDR_TOKEN( twoCellAnchor ): if( mxDrawPage.is() && mxShape.get() && mxAnchor.get() && mxAnchor->isValidAnchor() ) { - Rectangle aLoc = mxAnchor->calcEmuLocation( maEmuSheetSize ); - if( (aLoc.X >= 0) && (aLoc.Y >= 0) && (aLoc.Width >= 0) && (aLoc.Height >= 0) ) - mxShape->addShape( getOoxFilter(), &getTheme(), mxDrawPage, &aLoc ); + Rectangle aShapeRect = mxAnchor->calcEmuLocation( maEmuSheetSize ); + if( (aShapeRect.X >= 0) && (aShapeRect.Y >= 0) && (aShapeRect.Width >= 0) && (aShapeRect.Height >= 0) ) + { + mxShape->addShape( getOoxFilter(), &getTheme(), mxDrawPage, &aShapeRect ); + // collect all shape positions in the WorksheetHelper base class + extendShapeBoundingBox( aShapeRect ); + } } mxShape.reset(); mxAnchor.reset(); @@ -648,6 +653,12 @@ void VmlDrawing::convertControlClientData( const Reference< XControlModel >& rxC } } +void VmlDrawing::notifyShapeInserted( const Reference< XShape >& /*rxShape*/, const Rectangle& rShapeRect ) +{ + // collect all shape positions in the WorksheetHelper base class + extendShapeBoundingBox( rShapeRect ); +} + // ============================================================================ OoxVmlDrawingFragment::OoxVmlDrawingFragment( const WorksheetHelper& rHelper, const OUString& rFragmentPath ) : diff --git a/oox/source/xls/sheetdatacontext.cxx b/oox/source/xls/sheetdatacontext.cxx index be5644554d6d..9b501c64e359 100644 --- a/oox/source/xls/sheetdatacontext.cxx +++ b/oox/source/xls/sheetdatacontext.cxx @@ -368,6 +368,10 @@ void OoxSheetDataContext::importCell( const AttributeList& rAttribs ) maCurrCell.mnXfId = rAttribs.getInteger( XML_s, -1 ); maCurrCell.mbShowPhonetic = rAttribs.getBool( XML_ph, false ); mxInlineStr.reset(); + + // update used area of the sheet + if( maCurrCell.mxCell.is() ) + extendUsedArea( maCurrCell.maAddress ); } void OoxSheetDataContext::importFormula( const AttributeList& rAttribs ) @@ -400,6 +404,10 @@ void OoxSheetDataContext::importCellHeader( RecordInputStream& rStrm, CellType e maCurrCell.mxCell = getCell( maCurrPos, &maCurrCell.maAddress ); maCurrCell.mnXfId = extractValue< sal_Int32 >( nXfId, 0, 24 ); maCurrCell.mbShowPhonetic = getFlag( nXfId, OOBIN_CELL_SHOWPHONETIC ); + + // update used area of the sheet + if( maCurrCell.mxCell.is() ) + extendUsedArea( maCurrCell.maAddress ); } void OoxSheetDataContext::importCellBool( RecordInputStream& rStrm, CellType eCellType ) @@ -705,6 +713,9 @@ void BiffSheetDataContext::setCurrCell( const BinAddress& rAddr ) { maCurrCell.reset(); maCurrCell.mxCell = getCell( rAddr, &maCurrCell.maAddress ); + // update used area of the sheet + if( maCurrCell.mxCell.is() ) + extendUsedArea( maCurrCell.maAddress ); } void BiffSheetDataContext::importXfId( bool bBiff2 ) diff --git a/oox/source/xls/viewsettings.cxx b/oox/source/xls/viewsettings.cxx index 69af326c2471..c5a9442dbace 100644 --- a/oox/source/xls/viewsettings.cxx +++ b/oox/source/xls/viewsettings.cxx @@ -26,11 +26,14 @@ ************************************************************************/ #include "oox/xls/viewsettings.hxx" +#include +#include #include #include #include #include #include +#include #include "properties.hxx" #include "oox/helper/attributelist.hxx" #include "oox/helper/containerhelper.hxx" @@ -38,22 +41,26 @@ #include "oox/helper/propertyset.hxx" #include "oox/helper/recordinputstream.hxx" #include "oox/core/filterbase.hxx" +#include "oox/xls/addressconverter.hxx" #include "oox/xls/biffinputstream.hxx" #include "oox/xls/unitconverter.hxx" #include "oox/xls/workbooksettings.hxx" #include "oox/xls/worksheetbuffer.hxx" using ::rtl::OUString; -using ::com::sun::star::uno::Any; -using ::com::sun::star::uno::Reference; -using ::com::sun::star::uno::Sequence; -using ::com::sun::star::uno::Exception; -using ::com::sun::star::uno::UNO_QUERY_THROW; +using ::com::sun::star::awt::Point; +using ::com::sun::star::awt::Size; using ::com::sun::star::container::XNameContainer; using ::com::sun::star::container::XIndexContainer; using ::com::sun::star::container::XIndexAccess; using ::com::sun::star::document::XViewDataSupplier; using ::com::sun::star::table::CellAddress; +using ::com::sun::star::table::CellRangeAddress; +using ::com::sun::star::uno::Any; +using ::com::sun::star::uno::Exception; +using ::com::sun::star::uno::Reference; +using ::com::sun::star::uno::Sequence; +using ::com::sun::star::uno::UNO_QUERY_THROW; using ::oox::core::FilterBase; namespace oox { @@ -622,7 +629,8 @@ WorkbookViewModel::WorkbookViewModel() : // ---------------------------------------------------------------------------- ViewSettings::ViewSettings( const WorkbookHelper& rHelper ) : - WorkbookHelper( rHelper ) + WorkbookHelper( rHelper ), + mbValidOleSize( false ) { } @@ -643,6 +651,12 @@ void ViewSettings::importWorkbookView( const AttributeList& rAttribs ) rModel.mbMinimized = rAttribs.getBool( XML_minimized, false ); } +void ViewSettings::importOleSize( const AttributeList& rAttribs ) +{ + OUString aRange = rAttribs.getString( XML_ref, OUString() ); + mbValidOleSize = getAddressConverter().convertToCellRange( maOleSize, aRange, 0, true, false ); +} + void ViewSettings::importWorkbookView( RecordInputStream& rStrm ) { WorkbookViewModel& rModel = createWorkbookView(); @@ -655,6 +669,13 @@ void ViewSettings::importWorkbookView( RecordInputStream& rStrm ) rModel.mbMinimized = getFlag( nFlags, OOBIN_WBVIEW_MINIMIZED ); } +void ViewSettings::importOleSize( RecordInputStream& rStrm ) +{ + BinRange aBinRange; + rStrm >> aBinRange; + mbValidOleSize = getAddressConverter().convertToCellRange( maOleSize, aBinRange, 0, true, false ); +} + void ViewSettings::importWindow1( BiffInputStream& rStrm ) { sal_uInt16 nWinX, nWinY, nWinWidth, nWinHeight; @@ -691,12 +712,25 @@ void ViewSettings::importWindow1( BiffInputStream& rStrm ) } } +void ViewSettings::importOleSize( BiffInputStream& rStrm ) +{ + rStrm.skip( 2 ); + BinRange aBinRange; + aBinRange.read( rStrm, false ); + mbValidOleSize = getAddressConverter().convertToCellRange( maOleSize, aBinRange, 0, true, false ); +} + void ViewSettings::setSheetViewSettings( sal_Int16 nSheet, const SheetViewModelRef& rxSheetView, const Any& rProperties ) { maSheetViews[ nSheet ] = rxSheetView; maSheetProps[ nSheet ] = rProperties; } +void ViewSettings::setSheetUsedArea( const CellRangeAddress& rUsedArea ) +{ + maSheetUsedAreas[ rUsedArea.Sheet ] = rUsedArea; +} + void ViewSettings::finalizeImport() { const WorksheetBuffer& rWorksheets = getWorksheets(); @@ -751,6 +785,31 @@ void ViewSettings::finalizeImport() { OSL_ENSURE( false, "ViewSettings::finalizeImport - cannot create document view settings" ); } + + /* Set visible area to be used if this document is an embedded OLE object. + #i44077# If a new OLE object is inserted from file, there is no OLESIZE + record in the Excel file. In this case, use the used area calculated + from file contents (used cells and drawing objects). */ + maOleSize.Sheet = nActiveSheet; + const CellRangeAddress* pVisibleArea = mbValidOleSize ? + &maOleSize : ContainerHelper::getMapElement( maSheetUsedAreas, nActiveSheet ); + if( pVisibleArea ) + { + // calculate the visible area in units of 1/100 mm + PropertySet aRangeProp( getCellRangeFromDoc( *pVisibleArea ) ); + Point aPos; + Size aSize; + if( aRangeProp.getProperty( aPos, PROP_Position ) && aRangeProp.getProperty( aSize, PROP_Size ) ) + { + // set the visible area as sequence of long at the media descriptor + Sequence< sal_Int32 > aWinExtent( 4 ); + aWinExtent[ 0 ] = aPos.X; + aWinExtent[ 1 ] = aPos.Y; + aWinExtent[ 2 ] = aPos.X + aSize.Width; + aWinExtent[ 3 ] = aPos.Y + aSize.Height; + getBaseFilter().getMediaDescriptor()[ CREATE_OUSTRING( "WinExtent" ) ] <<= aWinExtent; + } + } } sal_Int16 ViewSettings::getActiveCalcSheet() const @@ -771,4 +830,3 @@ WorkbookViewModel& ViewSettings::createWorkbookView() } // namespace xls } // namespace oox - diff --git a/oox/source/xls/workbookfragment.cxx b/oox/source/xls/workbookfragment.cxx index e61820a2e620..ef62990605f9 100644 --- a/oox/source/xls/workbookfragment.cxx +++ b/oox/source/xls/workbookfragment.cxx @@ -101,6 +101,7 @@ ContextHandlerRef OoxWorkbookFragment::onCreateContext( sal_Int32 nElement, cons case XLS_TOKEN( fileSharing ): getWorkbookSettings().importFileSharing( rAttribs ); break; case XLS_TOKEN( workbookPr ): getWorkbookSettings().importWorkbookPr( rAttribs ); break; case XLS_TOKEN( calcPr ): getWorkbookSettings().importCalcPr( rAttribs ); break; + case XLS_TOKEN( oleSize ): getViewSettings().importOleSize( rAttribs ); break; } break; @@ -152,6 +153,7 @@ ContextHandlerRef OoxWorkbookFragment::onCreateRecordContext( sal_Int32 nRecId, case OOBIN_ID_FILESHARING: getWorkbookSettings().importFileSharing( rStrm ); break; case OOBIN_ID_WORKBOOKPR: getWorkbookSettings().importWorkbookPr( rStrm ); break; case OOBIN_ID_CALCPR: getWorkbookSettings().importCalcPr( rStrm ); break; + case OOBIN_ID_OLESIZE: getViewSettings().importOleSize( rStrm ); break; case OOBIN_ID_DEFINEDNAME: getDefinedNames().importDefinedName( rStrm ); break; } break; @@ -551,6 +553,7 @@ bool BiffWorkbookFragment::importGlobalsFragment( ISegmentProgressBar& rProgress case BIFF5_ID_FONT: rStyles.importFont( mrStrm ); break; case BIFF4_ID_FORMAT: rStyles.importFormat( mrStrm ); break; case BIFF_ID_HIDEOBJ: rWorkbookSett.importHideObj( mrStrm ); break; + case BIFF_ID_OLESIZE: rViewSett.importOleSize( mrStrm ); break; case BIFF_ID_PALETTE: rStyles.importPalette( mrStrm ); break; case BIFF_ID_PIVOTCACHE: rPivotCaches.importPivotCacheRef( mrStrm ); break; case BIFF_ID_SHEET: rWorksheets.importSheet( mrStrm ); break; @@ -573,6 +576,7 @@ bool BiffWorkbookFragment::importGlobalsFragment( ISegmentProgressBar& rProgress case BIFF5_ID_FONT: rStyles.importFont( mrStrm ); break; case BIFF4_ID_FORMAT: rStyles.importFormat( mrStrm ); break; case BIFF_ID_HIDEOBJ: rWorkbookSett.importHideObj( mrStrm ); break; + case BIFF_ID_OLESIZE: rViewSett.importOleSize( mrStrm ); break; case BIFF_ID_PALETTE: rStyles.importPalette( mrStrm ); break; case BIFF_ID_PIVOTCACHE: rPivotCaches.importPivotCacheRef( mrStrm ); break; case BIFF_ID_SHEET: rWorksheets.importSheet( mrStrm ); break; diff --git a/oox/source/xls/workbooksettings.cxx b/oox/source/xls/workbooksettings.cxx index 1277b0879e7a..a4b59d86b865 100644 --- a/oox/source/xls/workbooksettings.cxx +++ b/oox/source/xls/workbooksettings.cxx @@ -191,23 +191,6 @@ void WorkbookSettings::setSaveExtLinkValues( bool bSaveExtLinks ) maBookSettings.mbSaveExtLinkValues = bSaveExtLinks; } -void WorkbookSettings::importFileSharing( BiffInputStream& rStrm ) -{ - maFileSharing.mbRecommendReadOnly = rStrm.readuInt16() != 0; - rStrm >> maFileSharing.mnPasswordHash; - if( getBiff() == BIFF8 ) - { - sal_uInt16 nStrLen = rStrm.readuInt16(); - // there is no string flags field if string is empty - if( nStrLen > 0 ) - maFileSharing.maUserName = rStrm.readUniStringBody( nStrLen ); - } - else - { - maFileSharing.maUserName = rStrm.readByteStringUC( false, getTextEncoding() ); - } -} - void WorkbookSettings::importBookBool( BiffInputStream& rStrm ) { // value of 0 means save external values, value of 1 means strip external values @@ -241,6 +224,23 @@ void WorkbookSettings::importDelta( BiffInputStream& rStrm ) rStrm >> maCalcSettings.mfIterateDelta; } +void WorkbookSettings::importFileSharing( BiffInputStream& rStrm ) +{ + maFileSharing.mbRecommendReadOnly = rStrm.readuInt16() != 0; + rStrm >> maFileSharing.mnPasswordHash; + if( getBiff() == BIFF8 ) + { + sal_uInt16 nStrLen = rStrm.readuInt16(); + // there is no string flags field if string is empty + if( nStrLen > 0 ) + maFileSharing.maUserName = rStrm.readUniStringBody( nStrLen ); + } + else + { + maFileSharing.maUserName = rStrm.readByteStringUC( false, getTextEncoding() ); + } +} + void WorkbookSettings::importHideObj( BiffInputStream& rStrm ) { maBookSettings.setBinObjectMode( rStrm.readuInt16() ); diff --git a/oox/source/xls/worksheetfragment.cxx b/oox/source/xls/worksheetfragment.cxx index ff42c6afb704..6849503308b6 100644 --- a/oox/source/xls/worksheetfragment.cxx +++ b/oox/source/xls/worksheetfragment.cxx @@ -514,7 +514,12 @@ void OoxWorksheetFragment::importDimension( const AttributeList& rAttribs ) { CellRangeAddress aRange; getAddressConverter().convertToCellRangeUnchecked( aRange, rAttribs.getString( XML_ref, OUString() ), getSheetIndex() ); - setDimension( aRange ); + /* OOXML stores the used area, if existing, or "A1" if the sheet is empty. + In case of "A1", the dimension at the WorksheetHelper object will not + be set. If the cell A1 exists, the used area will be updated while + importing the cell. */ + if( (aRange.EndColumn > 0) || (aRange.EndRow > 0) ) + extendUsedArea( aRange ); } void OoxWorksheetFragment::importSheetFormatPr( const AttributeList& rAttribs ) @@ -619,7 +624,12 @@ void OoxWorksheetFragment::importDimension( RecordInputStream& rStrm ) aBinRange.read( rStrm ); CellRangeAddress aRange; getAddressConverter().convertToCellRangeUnchecked( aRange, aBinRange, getSheetIndex() ); - setDimension( aRange ); + /* BIFF12 stores the used area, if existing, or "A1" if the sheet is + empty. In case of "A1", the dimension at the WorksheetHelper object + will not be set. If the cell A1 exists, the used area will be updated + while importing the cell. */ + if( (aRange.EndColumn > 0) || (aRange.EndRow > 0) ) + extendUsedArea( aRange ); } void OoxWorksheetFragment::importSheetFormatPr( RecordInputStream& rStrm ) @@ -1055,15 +1065,21 @@ void BiffWorksheetFragment::importDataValidation() void BiffWorksheetFragment::importDimension() { + // 32-bit row indexes in BIFF8 + bool bInt32Rows = (mrStrm.getRecId() == BIFF3_ID_DIMENSION) && (getBiff() == BIFF8); BinRange aBinRange; - aBinRange.read( mrStrm, true, (mrStrm.getRecId() == BIFF3_ID_DIMENSION) && (getBiff() == BIFF8) ); - // first unused row/column index in BIFF, not last used - if( aBinRange.maFirst.mnCol < aBinRange.maLast.mnCol ) --aBinRange.maLast.mnCol; - if( aBinRange.maFirst.mnRow < aBinRange.maLast.mnRow ) --aBinRange.maLast.mnRow; - // set dimension - CellRangeAddress aRange; - getAddressConverter().convertToCellRangeUnchecked( aRange, aBinRange, getSheetIndex() ); - setDimension( aRange ); + aBinRange.read( mrStrm, true, bInt32Rows ); + /* BIFF stores the used area with end column and end row increased by 1 + (first unused column and row). */ + if( (aBinRange.maFirst.mnCol < aBinRange.maLast.mnCol) && (aBinRange.maFirst.mnRow < aBinRange.maLast.mnRow) ) + { + // reduce range to used area + --aBinRange.maLast.mnCol; + --aBinRange.maLast.mnRow; + CellRangeAddress aRange; + getAddressConverter().convertToCellRangeUnchecked( aRange, aBinRange, getSheetIndex() ); + extendUsedArea( aRange ); + } } void BiffWorksheetFragment::importHyperlink() diff --git a/oox/source/xls/worksheethelper.cxx b/oox/source/xls/worksheethelper.cxx index e28df89cd7b3..ff0fa515ddc0 100644 --- a/oox/source/xls/worksheethelper.cxx +++ b/oox/source/xls/worksheethelper.cxx @@ -88,6 +88,7 @@ using ::com::sun::star::util::XMergeable; using ::com::sun::star::util::XNumberFormatsSupplier; using ::com::sun::star::util::XNumberFormatTypes; using ::com::sun::star::awt::Point; +using ::com::sun::star::awt::Rectangle; using ::com::sun::star::awt::Size; using ::com::sun::star::drawing::XDrawPage; using ::com::sun::star::drawing::XDrawPageSupplier; @@ -124,11 +125,11 @@ namespace xls { namespace { -void lclUpdateProgressBar( ISegmentProgressBarRef xProgressBar, const CellRangeAddress& rDimension, sal_Int32 nRow ) +void lclUpdateProgressBar( ISegmentProgressBarRef xProgressBar, const CellRangeAddress& rUsedArea, sal_Int32 nRow ) { - if( xProgressBar.get() && (rDimension.StartRow <= nRow) && (nRow <= rDimension.EndRow) ) + if( xProgressBar.get() && (rUsedArea.StartRow <= nRow) && (nRow <= rUsedArea.EndRow) ) { - double fPosition = static_cast< double >( nRow - rDimension.StartRow + 1 ) / (rDimension.EndRow - rDimension.StartRow + 1); + double fPosition = static_cast< double >( nRow - rUsedArea.StartRow + 1 ) / (rUsedArea.EndRow - rUsedArea.StartRow + 1); if( xProgressBar->getPosition() < fPosition ) xProgressBar->setPosition( fPosition ); } @@ -370,7 +371,7 @@ public: /** Returns the type of this sheet. */ inline WorksheetType getSheetType() const { return meSheetType; } /** Returns the index of the current sheet. */ - inline sal_Int16 getSheetIndex() const { return mnSheet; } + inline sal_Int16 getSheetIndex() const { return maUsedArea.Sheet; } /** Returns the XSpreadsheet interface of the current sheet. */ inline const ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet >& getSheet() const { return mxSheet; } @@ -394,13 +395,18 @@ public: /** Returns the XDrawPage interface of the draw page of the current sheet. */ Reference< XDrawPage > getDrawPage() const; + /** Returns the size of the entire drawing page in 1/100 mm. */ + Size getDrawPageSize() const; - /** Returns the absolute cell position in 1/100 mm. */ + /** Returns the absolute position of the top-left corner of the cell in 1/100 mm. */ Point getCellPosition( sal_Int32 nCol, sal_Int32 nRow ) const; - /** Returns the cell size in 1/100 mm. */ + /** Returns the size of the cell in 1/100 mm. */ Size getCellSize( sal_Int32 nCol, sal_Int32 nRow ) const; - /** Returns the size of the entire drawing page in 1/100 mm. */ - Size getDrawPageSize() const; + + /** Returns the address of the cell that contains the passed point in 1/100 mm. */ + CellAddress getCellAddressFromPosition( const Point& rPosition, const CellAddress* pStartAddr = 0 ) const; + /** Returns the cell range address that contains the passed rectangle in 1/100 mm. */ + CellRangeAddress getCellRangeFromRectangle( const Rectangle& rRect ) const; /** Returns the worksheet settings object. */ inline WorksheetSettings& getWorksheetSettings() { return maSheetSett; } @@ -419,8 +425,6 @@ public: /** Changes the current sheet type. */ inline void setSheetType( WorksheetType eSheetType ) { meSheetType = eSheetType; } - /** Sets the dimension (used area) of the sheet. */ - void setDimension( const CellRangeAddress& rRange ); /** Stores the cell format at the passed address. */ void setCellFormat( const CellModel& rModel ); /** Merges the cells in the passed cell range. */ @@ -436,6 +440,13 @@ public: /** Sets the path to the legacy VML drawing fragment of this sheet. */ void setVmlDrawingPath( const OUString& rVmlDrawingPath ); + /** Extends the used area of this sheet by the passed cell position. */ + void extendUsedArea( const CellAddress& rAddress ); + /** Extends the used area of this sheet by the passed cell range. */ + void extendUsedArea( const CellRangeAddress& rRange ); + /** Extends the shape bounding box by the position and size of the passed rectangle. */ + void extendShapeBoundingBox( const Rectangle& rShapeRect ); + /** Sets base width for all columns (without padding pixels). This value is only used, if base width has not been set with setDefaultColumnWidth(). */ void setBaseColumnWidth( sal_Int32 nWidth ); @@ -536,6 +547,8 @@ private: void finalizeDrawing(); /** Imports the drawing layer of the sheet (VML part). */ void finalizeVmlDrawing(); + /** Extends the used cell area with the area used by drawing objects. */ + void finalizeUsedArea(); /** Converts column properties for all columns in the sheet. */ void convertColumns(); @@ -560,7 +573,7 @@ private: const OUString maSheetCellRanges; /// Service name for a SheetCellRanges object. const OUString maUrlTextField; /// Service name for a URL text field. const CellAddress& mrMaxApiPos; /// Reference to maximum Calc cell address from address converter. - CellRangeAddress maDimension; /// Dimension (used) area of the sheet. + CellRangeAddress maUsedArea; /// Used area of the sheet, and sheet index of the sheet. ColumnModel maDefColModel; /// Default column formatting. ColumnModelMap maColModels; /// Columns sorted by first column index. RowModel maDefRowModel; /// Default row formatting. @@ -581,12 +594,12 @@ private: VmlDrawingPtr mxVmlDrawing; /// Collection of all VML shapes. OUString maDrawingPath; /// Path to DrawingML fragment. OUString maVmlDrawingPath; /// Path to legacy VML drawing fragment. + Rectangle maShapeBoundingBox; /// Bounding box for all shapes from all drawings. ISegmentProgressBarRef mxProgressBar; /// Sheet progress bar. ISegmentProgressBarRef mxRowProgress; /// Progress bar for row/cell processing. ISegmentProgressBarRef mxFinalProgress; /// Progress bar for finalization. WorksheetType meSheetType; /// Type of this sheet. Reference< XSpreadsheet > mxSheet; /// Reference to the current sheet. - sal_Int16 mnSheet; /// Index of the current sheet. bool mbHasDefWidth; /// True = default column width is set from defaultColWidth attribute. }; @@ -599,6 +612,7 @@ WorksheetData::WorksheetData( const WorkbookHelper& rHelper, ISegmentProgressBar maSheetCellRanges( CREATE_OUSTRING( "com.sun.star.sheet.SheetCellRanges" ) ), maUrlTextField( CREATE_OUSTRING( "com.sun.star.text.TextField.URL" ) ), mrMaxApiPos( rHelper.getAddressConverter().getMaxApiAddress() ), + maUsedArea( nSheet, SAL_MAX_INT32, SAL_MAX_INT32, -1, -1 ), maSheetSett( *this ), maSharedFmlas( *this ), maCondFormats( *this ), @@ -607,14 +621,11 @@ WorksheetData::WorksheetData( const WorkbookHelper& rHelper, ISegmentProgressBar maSheetViewSett( *this ), mxProgressBar( xProgressBar ), meSheetType( eSheetType ), - mnSheet( nSheet ), mbHasDefWidth( false ) { mxSheet = getSheetFromDoc( nSheet ); if( !mxSheet.is() ) - mnSheet = -1; - - maDimension.Sheet = mnSheet; + maUsedArea.Sheet = -1; // default column settings (width and hidden state may be updated later) maDefColModel.mfWidth = 8.5; @@ -727,7 +738,7 @@ Reference< XTableColumns > WorksheetData::getColumns( sal_Int32 nFirstCol, sal_I nLastCol = ::std::min( nLastCol, mrMaxApiPos.Column ); if( (0 <= nFirstCol) && (nFirstCol <= nLastCol) ) { - Reference< XColumnRowRange > xRange( getCellRange( CellRangeAddress( mnSheet, nFirstCol, 0, nLastCol, 0 ) ), UNO_QUERY ); + Reference< XColumnRowRange > xRange( getCellRange( CellRangeAddress( getSheetIndex(), nFirstCol, 0, nLastCol, 0 ) ), UNO_QUERY ); if( xRange.is() ) xColumns = xRange->getColumns(); } @@ -740,7 +751,7 @@ Reference< XTableRows > WorksheetData::getRows( sal_Int32 nFirstRow, sal_Int32 n nLastRow = ::std::min( nLastRow, mrMaxApiPos.Row ); if( (0 <= nFirstRow) && (nFirstRow <= nLastRow) ) { - Reference< XColumnRowRange > xRange( getCellRange( CellRangeAddress( mnSheet, 0, nFirstRow, 0, nLastRow ) ), UNO_QUERY ); + Reference< XColumnRowRange > xRange( getCellRange( CellRangeAddress( getSheetIndex(), 0, nFirstRow, 0, nLastRow ) ), UNO_QUERY ); if( xRange.is() ) xRows = xRange->getRows(); } @@ -752,8 +763,7 @@ Reference< XDrawPage > WorksheetData::getDrawPage() const Reference< XDrawPage > xDrawPage; try { - Reference< XDrawPageSupplier > xDrawPageSupp( mxSheet, UNO_QUERY_THROW ); - xDrawPage = xDrawPageSupp->getDrawPage(); + xDrawPage = Reference< XDrawPageSupplier >( mxSheet, UNO_QUERY_THROW )->getDrawPage(); } catch( Exception& ) { @@ -761,10 +771,18 @@ Reference< XDrawPage > WorksheetData::getDrawPage() const return xDrawPage; } +Size WorksheetData::getDrawPageSize() const +{ + Size aSize; + PropertySet aRangeProp( getCellRange( CellRangeAddress( getSheetIndex(), 0, 0, mrMaxApiPos.Column, mrMaxApiPos.Row ) ) ); + aRangeProp.getProperty( aSize, PROP_Size ); + return aSize; +} + Point WorksheetData::getCellPosition( sal_Int32 nCol, sal_Int32 nRow ) const { Point aPoint; - PropertySet aCellProp( getCell( CellAddress( mnSheet, nCol, nRow ) ) ); + PropertySet aCellProp( getCell( CellAddress( getSheetIndex(), nCol, nRow ) ) ); aCellProp.getProperty( aPoint, PROP_Position ); return aPoint; } @@ -772,22 +790,59 @@ Point WorksheetData::getCellPosition( sal_Int32 nCol, sal_Int32 nRow ) const Size WorksheetData::getCellSize( sal_Int32 nCol, sal_Int32 nRow ) const { Size aSize; - PropertySet aCellProp( getCell( CellAddress( mnSheet, nCol, nRow ) ) ); + PropertySet aCellProp( getCell( CellAddress( getSheetIndex(), nCol, nRow ) ) ); aCellProp.getProperty( aSize, PROP_Size ); return aSize; } -Size WorksheetData::getDrawPageSize() const +CellAddress WorksheetData::getCellAddressFromPosition( const Point& rPosition, const CellAddress* pStartAddr ) const { - Size aSize; - PropertySet aRangeProp( getCellRange( CellRangeAddress( mnSheet, 0, 0, mrMaxApiPos.Column, mrMaxApiPos.Row ) ) ); - aRangeProp.getProperty( aSize, PROP_Size ); - return aSize; + // prepare start address for search loop + sal_Int32 nCol = pStartAddr ? ::std::min< sal_Int32 >( pStartAddr->Column + 1, mrMaxApiPos.Column ) : 1; + sal_Int32 nRow = pStartAddr ? ::std::min< sal_Int32 >( pStartAddr->Row + 1, mrMaxApiPos.Row ) : 1; + + /* The loop will find the column/row index of the cell right of/below + the cell containing the passed point, unless the point is located at + the top or left border of the containing cell. */ + bool bNextCol = true; + bool bNextRow = true; + Point aCellPos; + do + { + aCellPos = getCellPosition( nCol, nRow ); + if( bNextCol && ((bNextCol = (aCellPos.X < rPosition.X) && (nCol < mrMaxApiPos.Column)) == true) ) + ++nCol; + if( bNextRow && ((bNextRow = (aCellPos.Y < rPosition.Y) && (nRow < mrMaxApiPos.Row)) == true) ) + ++nRow; + } + while( bNextCol || bNextRow ); + + /* The cell left of/above the current search position contains the passed + point, unless the point is located on the top/left border of the cell, + or the last column/row of the sheet has been reached. */ + if( aCellPos.X > rPosition.X ) --nCol; + if( aCellPos.Y > rPosition.Y ) --nRow; + return CellAddress( getSheetIndex(), nCol, nRow ); } -void WorksheetData::setDimension( const CellRangeAddress& rRange ) +CellRangeAddress WorksheetData::getCellRangeFromRectangle( const Rectangle& rRect ) const { - maDimension = rRange; + CellAddress aStartAddr = getCellAddressFromPosition( Point( rRect.X, rRect.Y ) ); + Point aBotRight( rRect.X + rRect.Width, rRect.Y + rRect.Height ); + CellAddress aEndAddr = getCellAddressFromPosition( aBotRight ); + bool bMultiCols = aStartAddr.Column < aEndAddr.Column; + bool bMultiRows = aStartAddr.Row < aEndAddr.Row; + if( bMultiCols || bMultiRows ) + { + /* Reduce end position of the cell range to previous column or row, if + the rectangle ends exactly between two columns or rows. */ + Point aEndPos = getCellPosition( aEndAddr.Column, aEndAddr.Row ); + if( bMultiCols && (aBotRight.X <= aEndPos.X) ) + --aEndAddr.Column; + if( bMultiRows && (aBotRight.Y <= aEndPos.Y) ) + --aEndAddr.Row; + } + return CellRangeAddress( getSheetIndex(), aStartAddr.Column, aStartAddr.Row, aEndAddr.Column, aEndAddr.Row ); } void WorksheetData::setCellFormat( const CellModel& rModel ) @@ -875,6 +930,38 @@ void WorksheetData::setVmlDrawingPath( const OUString& rVmlDrawingPath ) maVmlDrawingPath = rVmlDrawingPath; } +void WorksheetData::extendUsedArea( const CellAddress& rAddress ) +{ + maUsedArea.StartColumn = ::std::min( maUsedArea.StartColumn, rAddress.Column ); + maUsedArea.StartRow = ::std::min( maUsedArea.StartRow, rAddress.Row ); + maUsedArea.EndColumn = ::std::max( maUsedArea.EndColumn, rAddress.Column ); + maUsedArea.EndRow = ::std::max( maUsedArea.EndRow, rAddress.Row ); +} + +void WorksheetData::extendUsedArea( const CellRangeAddress& rRange ) +{ + extendUsedArea( CellAddress( rRange.Sheet, rRange.StartColumn, rRange.StartRow ) ); + extendUsedArea( CellAddress( rRange.Sheet, rRange.EndColumn, rRange.EndRow ) ); +} + +void WorksheetData::extendShapeBoundingBox( const Rectangle& rShapeRect ) +{ + if( (maShapeBoundingBox.Width == 0) && (maShapeBoundingBox.Height == 0) ) + { + // width and height of maShapeBoundingBox are assumed to be zero on first cell + maShapeBoundingBox = rShapeRect; + } + else + { + sal_Int32 nEndX = ::std::max( maShapeBoundingBox.X + maShapeBoundingBox.Width, rShapeRect.X + rShapeRect.Width ); + sal_Int32 nEndY = ::std::max( maShapeBoundingBox.Y + maShapeBoundingBox.Height, rShapeRect.Y + rShapeRect.Height ); + maShapeBoundingBox.X = ::std::min( maShapeBoundingBox.X, rShapeRect.X ); + maShapeBoundingBox.Y = ::std::min( maShapeBoundingBox.Y, rShapeRect.Y ); + maShapeBoundingBox.Width = nEndX - maShapeBoundingBox.X; + maShapeBoundingBox.Height = nEndY - maShapeBoundingBox.Y; + } +} + void WorksheetData::setBaseColumnWidth( sal_Int32 nWidth ) { // do not modify width, if setDefaultColumnWidth() has been used @@ -949,13 +1036,13 @@ void WorksheetData::setRowModel( const RowModel& rModel ) if( maRowModels.empty() || !maRowModels.rbegin()->second.tryExpand( rModel ) ) maRowModels[ nFirstRow ] = rModel; } - lclUpdateProgressBar( mxRowProgress, maDimension, nLastRow ); + lclUpdateProgressBar( mxRowProgress, maUsedArea, nLastRow ); } void WorksheetData::convertColumnFormat( sal_Int32 nFirstCol, sal_Int32 nLastCol, sal_Int32 nXfId ) const { OOX_LOADSAVE_TIMER( CONVERTCOLUMNFORMAT ); - CellRangeAddress aRange( mnSheet, nFirstCol, 0, nLastCol, mrMaxApiPos.Row ); + CellRangeAddress aRange( getSheetIndex(), nFirstCol, 0, nLastCol, mrMaxApiPos.Row ); if( getAddressConverter().validateCellRange( aRange, true, false ) ) { PropertySet aPropSet( getCellRange( aRange ) ); @@ -966,7 +1053,7 @@ void WorksheetData::convertColumnFormat( sal_Int32 nFirstCol, sal_Int32 nLastCol void WorksheetData::convertRowFormat( sal_Int32 nFirstRow, sal_Int32 nLastRow, sal_Int32 nXfId ) const { OOX_LOADSAVE_TIMER( CONVERTROWFORMAT ); - CellRangeAddress aRange( mnSheet, 0, nFirstRow, mrMaxApiPos.Column, nLastRow ); + CellRangeAddress aRange( getSheetIndex(), 0, nFirstRow, mrMaxApiPos.Column, nLastRow ); if( getAddressConverter().validateCellRange( aRange, true, false ) ) { PropertySet aPropSet( getCellRange( aRange ) ); @@ -982,7 +1069,7 @@ void WorksheetData::initializeWorksheetImport() /* Remember current sheet index in global data, needed by some global objects, e.g. the chart converter. */ - setCurrentSheetIndex( mnSheet ); + setCurrentSheetIndex( getSheetIndex() ); } void WorksheetData::finalizeWorksheetImport() @@ -1004,6 +1091,7 @@ void WorksheetData::finalizeWorksheetImport() finalizeDrawing(); finalizeVmlDrawing(); maComments.finalizeImport(); // after VML drawing + finalizeUsedArea(); // after DML and VML drawing lclUpdateProgressBar( mxFinalProgress, 1.0 ); // reset current sheet index in global data @@ -1167,7 +1255,7 @@ void WorksheetData::finalizeHyperlinkRanges() const OUString aUrl = getHyperlinkUrl( *aIt ); // try to insert URL into each cell of the range if( aUrl.getLength() > 0 ) - for( CellAddress aAddress( mnSheet, aIt->maRange.StartColumn, aIt->maRange.StartRow ); aAddress.Row <= aIt->maRange.EndRow; ++aAddress.Row ) + for( CellAddress aAddress( getSheetIndex(), aIt->maRange.StartColumn, aIt->maRange.StartRow ); aAddress.Row <= aIt->maRange.EndRow; ++aAddress.Row ) for( aAddress.Column = aIt->maRange.StartColumn; aAddress.Column <= aIt->maRange.EndColumn; ++aAddress.Column ) insertHyperlink( aAddress, aUrl ); } @@ -1353,13 +1441,13 @@ void WorksheetData::finalizeMergedRange( const CellRangeAddress& rRange ) xMerge->merge( sal_True ); // if merging this range worked (no overlapping merged ranges), update cell borders - Reference< XCell > xTopLeft( getCell( CellAddress( mnSheet, rRange.StartColumn, rRange.StartRow ) ), UNO_SET_THROW ); + Reference< XCell > xTopLeft( getCell( CellAddress( getSheetIndex(), rRange.StartColumn, rRange.StartRow ) ), UNO_SET_THROW ); PropertySet aTopLeftProp( xTopLeft ); // copy right border of top-right cell to right border of top-left cell if( bMultiCol ) { - PropertySet aTopRightProp( getCell( CellAddress( mnSheet, rRange.EndColumn, rRange.StartRow ) ) ); + PropertySet aTopRightProp( getCell( CellAddress( getSheetIndex(), rRange.EndColumn, rRange.StartRow ) ) ); BorderLine aLine; if( aTopRightProp.getProperty( aLine, PROP_RightBorder ) ) aTopLeftProp.setProperty( PROP_RightBorder, aLine ); @@ -1368,7 +1456,7 @@ void WorksheetData::finalizeMergedRange( const CellRangeAddress& rRange ) // copy bottom border of bottom-left cell to bottom border of top-left cell if( bMultiRow ) { - PropertySet aBottomLeftProp( getCell( CellAddress( mnSheet, rRange.StartColumn, rRange.EndRow ) ) ); + PropertySet aBottomLeftProp( getCell( CellAddress( getSheetIndex(), rRange.StartColumn, rRange.EndRow ) ) ); BorderLine aLine; if( aBottomLeftProp.getProperty( aLine, PROP_BottomBorder ) ) aTopLeftProp.setProperty( PROP_BottomBorder, aLine ); @@ -1411,6 +1499,26 @@ void WorksheetData::finalizeVmlDrawing() importOoxFragment( new OoxVmlDrawingFragment( *this, maVmlDrawingPath ) ); } +void WorksheetData::finalizeUsedArea() +{ + /* Extend used area of the sheet by cells covered with drawing objects. + Needed if the imported document is inserted as "OLE object from file" + and thus does not provide an OLE size property by itself. */ + if( (maShapeBoundingBox.Width > 0) || (maShapeBoundingBox.Height > 0) ) + extendUsedArea( getCellRangeFromRectangle( maShapeBoundingBox ) ); + + // if no used area is set, default to A1 + if( maUsedArea.StartColumn > maUsedArea.EndColumn ) + maUsedArea.StartColumn = maUsedArea.EndColumn = 0; + if( maUsedArea.StartRow > maUsedArea.EndRow ) + maUsedArea.StartRow = maUsedArea.EndRow = 0; + + /* Register the used area of this sheet in global view settings. The + global view settings will set the visible area if this document is an + embedded OLE object. */ + getViewSettings().setSheetUsedArea( maUsedArea ); +} + void WorksheetData::convertColumns() { sal_Int32 nNextCol = 0; @@ -1557,14 +1665,14 @@ void WorksheetData::groupColumnsOrRows( sal_Int32 nFirstColRow, sal_Int32 nLastC Reference< XSheetOutline > xOutline( mxSheet, UNO_QUERY_THROW ); if( bRows ) { - CellRangeAddress aRange( mnSheet, 0, nFirstColRow, 0, nLastColRow ); + CellRangeAddress aRange( getSheetIndex(), 0, nFirstColRow, 0, nLastColRow ); xOutline->group( aRange, ::com::sun::star::table::TableOrientation_ROWS ); if( bCollapse ) xOutline->hideDetail( aRange ); } else { - CellRangeAddress aRange( mnSheet, nFirstColRow, 0, nLastColRow, 0 ); + CellRangeAddress aRange( getSheetIndex(), nFirstColRow, 0, nLastColRow, 0 ); xOutline->group( aRange, ::com::sun::star::table::TableOrientation_COLUMNS ); if( bCollapse ) xOutline->hideDetail( aRange ); @@ -1865,11 +1973,6 @@ void WorksheetHelper::setSheetType( WorksheetType eSheetType ) mrSheetData.setSheetType( eSheetType ); } -void WorksheetHelper::setDimension( const CellRangeAddress& rRange ) -{ - mrSheetData.setDimension( rRange ); -} - void WorksheetHelper::setCellFormat( const CellModel& rModel ) { mrSheetData.setCellFormat( rModel ); @@ -2012,6 +2115,21 @@ void WorksheetHelper::setVmlDrawingPath( const OUString& rVmlDrawingPath ) mrSheetData.setVmlDrawingPath( rVmlDrawingPath ); } +void WorksheetHelper::extendUsedArea( const CellAddress& rAddress ) +{ + mrSheetData.extendUsedArea( rAddress ); +} + +void WorksheetHelper::extendUsedArea( const CellRangeAddress& rRange ) +{ + mrSheetData.extendUsedArea( rRange ); +} + +void WorksheetHelper::extendShapeBoundingBox( const Rectangle& rShapeRect ) +{ + mrSheetData.extendShapeBoundingBox( rShapeRect ); +} + void WorksheetHelper::setBaseColumnWidth( sal_Int32 nWidth ) { mrSheetData.setBaseColumnWidth( nWidth ); -- cgit From 8d8f9bc029e9dec0bcc74846095661e9090a8789 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 21 May 2010 16:46:32 +0200 Subject: dr76: #i103453# import visual area for embedded documents --- desktop/source/migration/migration.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx index 2181daab7454..b9be788ebd4b 100644 --- a/desktop/source/migration/migration.cxx +++ b/desktop/source/migration/migration.cxx @@ -232,6 +232,7 @@ static void insertSorted(migrations_available& rAvailableMigrations, supported_m { rAvailableMigrations.insert(pIter, aSupportedMigration ); bInserted = true; + break; } ++pIter; } -- cgit From cbedc2f760a642cfb2c19bea504fdea940edb48a Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 21 May 2010 16:46:32 +0200 Subject: dr76: #i103453# import visual area for embedded documents --- sc/inc/scextopt.hxx | 1 - sc/source/filter/excel/impop.cxx | 67 +++++++++++++++++++--------------------- sc/source/filter/inc/imp_op.hxx | 1 + sc/source/ui/view/scextopt.cxx | 1 - 4 files changed, 32 insertions(+), 38 deletions(-) diff --git a/sc/inc/scextopt.hxx b/sc/inc/scextopt.hxx index b02df9816ef4..d7586fb8df95 100644 --- a/sc/inc/scextopt.hxx +++ b/sc/inc/scextopt.hxx @@ -38,7 +38,6 @@ /** Extended settings for the document, used in import/export filters. */ struct ScExtDocSettings { - ScRange maOleSize; /// Visible range if embedded. String maGlobCodeName; /// Global codename (VBA module name). double mfTabBarWidth; /// Width of the tabbar, relative to frame window width (0.0 ... 1.0). sal_uInt32 mnLinkCnt; /// Recursive counter for loading external documents. diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx index e62f050f2351..bddd99984ada 100644 --- a/sc/source/filter/excel/impop.cxx +++ b/sc/source/filter/excel/impop.cxx @@ -122,7 +122,8 @@ ImportExcel::ImportExcel( XclImpRootData& rImpData, SvStream& rStrm ): ImportTyp( &rImpData.mrDoc, rImpData.meTextEnc ), XclImpRoot( rImpData ), maStrm( rStrm, GetRoot() ), - aIn( maStrm ) + aIn( maStrm ), + maScOleSize( ScAddress::INITIALIZE_INVALID ) { mnLastRefIdx = 0; nBdshtTab = 0; @@ -919,8 +920,7 @@ void ImportExcel::Olesize( void ) aXclOleSize.Read( maStrm, false ); SCTAB nScTab = GetCurrScTab(); - ScRange& rOleSize = GetExtDocOptions().GetDocSettings().maOleSize; - GetAddressConverter().ConvertRange( rOleSize, aXclOleSize, nScTab, nScTab, false ); + GetAddressConverter().ConvertRange( maScOleSize, aXclOleSize, nScTab, nScTab, false ); } @@ -1204,45 +1204,40 @@ void ImportExcel::PostDocLoad( void ) // process all drawing objects (including OLE, charts, controls; after hiding rows/columns; before visible OLE area) GetObjectManager().ConvertObjects(); - // visible area if embedded OLE - if( ScModelObj* pDocObj = GetDocModelObj() ) + // visible area (used if this document is an embedded OLE object) + if( SfxObjectShell* pDocShell = GetDocShell() ) { - if( SfxObjectShell* pEmbObj = pDocObj->GetEmbeddedObject() ) + // visible area if embedded + const ScExtDocSettings& rDocSett = GetExtDocOptions().GetDocSettings(); + SCTAB nDisplScTab = rDocSett.mnDisplTab; + + /* #i44077# If a new OLE object is inserted from file, there is no + OLESIZE record in the Excel file. Calculate used area from file + contents (used cells and drawing objects). */ + if( !maScOleSize.IsValid() ) { - // visible area if embedded - const ScExtDocSettings& rDocSett = GetExtDocOptions().GetDocSettings(); - SCTAB nDisplScTab = rDocSett.mnDisplTab; - - // first try if there was an OLESIZE record - ScRange aScOleSize = rDocSett.maOleSize; - - /* #i44077# If a new OLE object is inserted from file, there - is no OLESIZE record in the Excel file. Calculate used area - from file contents (used cells and drawing objects). */ - if( !aScOleSize.IsValid() ) - { - // used area of displayed sheet (cell contents) - if( const ScExtTabSettings* pTabSett = GetExtDocOptions().GetTabSettings( nDisplScTab ) ) - aScOleSize = pTabSett->maUsedArea; - // add all valid drawing objects - ScRange aScObjArea = GetObjectManager().GetUsedArea( nDisplScTab ); - if( aScObjArea.IsValid() ) - aScOleSize.ExtendTo( aScObjArea ); - } + // used area of displayed sheet (cell contents) + if( const ScExtTabSettings* pTabSett = GetExtDocOptions().GetTabSettings( nDisplScTab ) ) + maScOleSize = pTabSett->maUsedArea; + // add all valid drawing objects + ScRange aScObjArea = GetObjectManager().GetUsedArea( nDisplScTab ); + if( aScObjArea.IsValid() ) + maScOleSize.ExtendTo( aScObjArea ); + } - // valid size found - set it at the document - if( aScOleSize.IsValid() ) - { - pEmbObj->SetVisArea( GetDoc().GetMMRect( - aScOleSize.aStart.Col(), aScOleSize.aStart.Row(), - aScOleSize.aEnd.Col(), aScOleSize.aEnd.Row(), nDisplScTab ) ); - GetDoc().SetVisibleTab( nDisplScTab ); - } + // valid size found - set it at the document + if( maScOleSize.IsValid() ) + { + pDocShell->SetVisArea( GetDoc().GetMMRect( + maScOleSize.aStart.Col(), maScOleSize.aStart.Row(), + maScOleSize.aEnd.Col(), maScOleSize.aEnd.Row(), nDisplScTab ) ); + GetDoc().SetVisibleTab( nDisplScTab ); } + } - // #111099# open forms in alive mode (has no effect, if no controls in document) + // #111099# open forms in alive mode (has no effect, if no controls in document) + if( ScModelObj* pDocObj = GetDocModelObj() ) pDocObj->setPropertyValue( CREATE_OUSTRING( SC_UNO_APPLYFMDES ), uno::Any( false ) ); - } // enables extended options to be set to the view after import GetExtDocOptions().SetChanged( true ); diff --git a/sc/source/filter/inc/imp_op.hxx b/sc/source/filter/inc/imp_op.hxx index 065678d5c792..2df58173a63a 100644 --- a/sc/source/filter/inc/imp_op.hxx +++ b/sc/source/filter/inc/imp_op.hxx @@ -97,6 +97,7 @@ protected: XclImpStream& aIn; // input stream ScfUInt32Vec maSheetOffsets; + ScRange maScOleSize; /// Visible range if embedded. NameBuffer* pExtNameBuff; // ... externe Namen (Ind.-Basis=1) ExcelToSc* pFormConv; // Formel-Konverter diff --git a/sc/source/ui/view/scextopt.cxx b/sc/source/ui/view/scextopt.cxx index bead62419bb3..1faa105d2bd7 100644 --- a/sc/source/ui/view/scextopt.cxx +++ b/sc/source/ui/view/scextopt.cxx @@ -36,7 +36,6 @@ // ============================================================================ ScExtDocSettings::ScExtDocSettings() : - maOleSize( ScAddress::INITIALIZE_INVALID ), mfTabBarWidth( -1.0 ), mnLinkCnt( 0 ), mnDisplTab( 0 ) -- cgit From 0bc91d439a85305b7f074ee98ed5d0fdc6343559 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 21 May 2010 16:46:32 +0200 Subject: dr76: #i103453# import visual area for embedded documents --- offapi/com/sun/star/embed/XVisualObject.idl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/offapi/com/sun/star/embed/XVisualObject.idl b/offapi/com/sun/star/embed/XVisualObject.idl index 62430e41778a..97c8addf30b9 100644 --- a/offapi/com/sun/star/embed/XVisualObject.idl +++ b/offapi/com/sun/star/embed/XVisualObject.idl @@ -71,13 +71,13 @@ interface XVisualObject: ::com::sun::star::uno::XInterface

                @param nAspect - the aspect specifying the form of object representation - can take values from Aspects constant set + the aspect specifying the form of object representation. + Can take values from Aspects constant set. @param aSize the new size of the visual area - @thrown ::com::sun::star::lang::IllegalArgumentException + @throws ::com::sun::star::lang::IllegalArgumentException one of arguments is illegal @throws ::com::sun::star::embed::WrongStateException @@ -101,13 +101,13 @@ interface XVisualObject: ::com::sun::star::uno::XInterface

                @param nAspect - the aspect specifying the form of object representation - can take values from Aspects constant set + the aspect specifying the form of object representation. + Can take values from Aspects constant set. @return the size of visual area - @thrown ::com::sun::star::lang::IllegalArgumentException + @throws ::com::sun::star::lang::IllegalArgumentException one of arguments is illegal @throws ::com::sun::star::embed::WrongStateException @@ -127,7 +127,8 @@ interface XVisualObject: ::com::sun::star::uno::XInterface

                @param nAspect - the aspect the representation is requested for + the aspect the representation is requested for. + Can take values from Aspects constant set. @return the visual representation of the object in the default format and @@ -153,7 +154,8 @@ interface XVisualObject: ::com::sun::star::uno::XInterface /** retrieves map mode the object communicates in. @param nAspect - the aspect the map mode is requested for + the aspect the map mode is requested for. + Can take values from Aspects constant set. @return the map mode the object communicates in, it can take values from -- cgit From e46b02d99de966eaf3edb0801dd4d403d59b4cfa Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sat, 22 May 2010 15:59:46 +0100 Subject: cmcfixes75: #i111770# remove configure.in hacks and handle prelinked system-stdlibs properly and fix the so.1 -> so.2 for hppa and m68k --- configure | 675 +++++++++++++++++++---------------------------- configure.in | 19 +- scp2/source/ooo/ure.scp | 2 +- solenv/bin/gccinstlib.pl | 9 + solenv/inc/settings.mk | 2 +- solenv/inc/target.mk | 1 + solenv/inc/tg_compv.mk | 6 + 7 files changed, 287 insertions(+), 427 deletions(-) diff --git a/configure b/configure index 03db67238bc4..7a6619759b15 100755 --- a/configure +++ b/configure @@ -1550,7 +1550,7 @@ esac else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi - cd "$ac_popdir" + cd $ac_popdir done fi @@ -2053,8 +2053,6 @@ fi; if test "${with_system_stdlibs+set}" = set; then withval="$with_system_stdlibs" -else - checkforstdlibproblems=yes fi; # Check whether --enable-cups or --disable-cups was given. if test "${enable_cups+set}" = set; then @@ -4470,7 +4468,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4528,7 +4527,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4644,7 +4644,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4698,7 +4699,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4743,7 +4745,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4787,7 +4790,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4968,7 +4972,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5198,7 +5203,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6057,7 +6063,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6337,7 +6344,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6395,7 +6403,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6466,7 +6475,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6510,7 +6520,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7052,7 +7063,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7117,7 +7129,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7179,7 +7192,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7219,7 +7233,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7275,7 +7290,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7315,7 +7331,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7379,7 +7396,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7410,8 +7428,10 @@ See \`config.log' for more details." >&2;} esac else if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5 -echo "$as_me: error: internal error: not reached in cross-compile" >&2;} + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF @@ -7528,7 +7548,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7570,7 +7591,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7627,7 +7649,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7773,7 +7796,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7802,7 +7826,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7872,7 +7897,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7924,7 +7950,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7995,7 +8022,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8047,7 +8075,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8166,7 +8195,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8320,7 +8350,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8480,7 +8511,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8587,7 +8619,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8645,7 +8678,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8705,7 +8739,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8821,7 +8856,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9025,7 +9061,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9083,7 +9120,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9154,7 +9192,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9198,7 +9237,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9525,7 +9565,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9850,7 +9891,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -9985,7 +10027,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10070,7 +10113,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10163,7 +10207,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10325,7 +10370,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -10405,7 +10451,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11040,7 +11087,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11193,7 +11241,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11267,7 +11316,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11420,7 +11470,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -11489,7 +11540,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12405,7 +12457,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12473,7 +12526,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12538,7 +12592,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12690,22 +12745,6 @@ echo "${ECHO_T}no" >&6 fi -if test "$_os" = "Linux" -a -z "$with_system_stdlibs" -a -z "$with_system_libs"; then - if test -n "$checkforstdlibproblems"; then - if test -f /etc/rpm/macros.prelink; then - with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} - echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn - elif test "$GCC" = "yes" -a ! -e `$CC -print-file-name=libgcc_s.so.1`; then - with_system_stdlibs=yes - { echo "$as_me:$LINENO: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&5 -echo "$as_me: WARNING: platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >&2;} - echo "platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn - fi - fi -fi - echo "$as_me:$LINENO: checking whether to provide libstdc++/libgcc_s in the installset" >&5 echo $ECHO_N "checking whether to provide libstdc++/libgcc_s in the installset... $ECHO_C" >&6 if test -n "$with_system_stdlibs" -o -n "$with_system_libs" && \ @@ -12760,7 +12799,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12913,7 +12953,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -12991,7 +13032,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13144,7 +13186,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13221,7 +13264,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13375,7 +13419,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -13812,7 +13857,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14421,7 +14467,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14632,7 +14679,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14684,7 +14732,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -14802,7 +14851,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15206,7 +15256,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15354,7 +15405,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -15953,7 +16005,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16098,7 +16151,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16243,7 +16297,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16388,7 +16443,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16475,7 +16531,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16642,7 +16699,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -16861,7 +16919,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17019,7 +17078,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17098,7 +17158,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -17830,7 +17891,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -18754,7 +18816,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19295,247 +19358,6 @@ elif test "$_os" != "WINNT" ; then echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 -ac_path_x_has_been_run=yes - -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" - -fi; -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else - if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=no ac_x_libraries=no -rm -fr conftest.dir -if mkdir conftest.dir; then - cd conftest.dir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat >Imakefile <<'_ACEOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -_ACEOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case $ac_im_incroot in - /usr/include) ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi - cd .. - rm -fr conftest.dir -fi - -# Standard set of common directories for X headers. -# Check X11 before X11Rn because it is often a symlink to the current release. -ac_x_header_dirs=' -/usr/X11/include -/usr/X11R6/include -/usr/X11R5/include -/usr/X11R4/include - -/usr/include/X11 -/usr/include/X11R6 -/usr/include/X11R5 -/usr/include/X11R4 - -/usr/local/X11/include -/usr/local/X11R6/include -/usr/local/X11R5/include -/usr/local/X11R4/include - -/usr/local/include/X11 -/usr/local/include/X11R6 -/usr/local/include/X11R5 -/usr/local/include/X11R4 - -/usr/X386/include -/usr/x386/include -/usr/XFree86/include/X11 - -/usr/include -/usr/local/include -/usr/unsupported/include -/usr/athena/include -/usr/local/x11r5/include -/usr/lpp/Xamples/include - -/usr/openwin/include -/usr/openwin/share/include' - -if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for a specified header file. - # First, try using that file with no special directory specified. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # We can compile using X headers with no special include directory. -ac_x_includes= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then - ac_x_includes=$ac_dir - break - fi -done -fi -rm -f conftest.err conftest.$ac_ext -fi # $ac_x_includes = no - -if test "$ac_x_libraries" = no; then - # Check for the libraries. - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -XrmInitialize () - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - LIBS=$ac_save_LIBS -# We can link X programs with no special library path. -ac_x_libraries= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -do - # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r $ac_dir/libX11.$ac_extension; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi # $ac_x_libraries = no - -if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi -fi - - fi - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6 - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - # It might be that x_includes is empty (headers are found in the - # standard search path. Then output the corresponding message - ac_out_x_includes=$x_includes - test "x$x_includes" = x && ac_out_x_includes="in standard search path" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6 -fi - - -if test "x$ac_path_x_has_been_run" != xyes; then - echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6 - -ac_path_x_has_been_run=yes # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -19628,7 +19450,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for a specified header file. + # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -19636,7 +19458,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -19663,7 +19485,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then + if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi @@ -19677,18 +19499,18 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" + LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XrmInitialize () +XtMalloc (0) ; return 0; } @@ -19702,7 +19524,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19726,7 +19549,7 @@ for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do - if test -r $ac_dir/libX11.$ac_extension; then + if test -r $ac_dir/libXt.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi @@ -19762,16 +19585,11 @@ else # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - # It might be that x_includes is empty (headers are found in the - # standard search path. Then output the corresponding message - ac_out_x_includes=$x_includes - test "x$x_includes" = x && ac_out_x_includes="in standard search path" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6 + echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi -fi -if test "$no_x" = yes; then + if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >>confdefs.h <<\_ACEOF @@ -19818,7 +19636,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19869,7 +19688,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -19945,7 +19765,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20000,7 +19821,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20068,7 +19890,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20176,7 +19999,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20240,7 +20064,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20308,7 +20133,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20412,7 +20238,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20476,7 +20303,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20573,7 +20401,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20637,7 +20466,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20734,7 +20564,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20798,7 +20629,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20877,7 +20709,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -20968,7 +20801,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21039,7 +20873,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21130,7 +20965,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21197,7 +21033,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21266,7 +21103,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21341,7 +21179,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21556,7 +21395,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21717,7 +21557,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -21895,7 +21736,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -22050,7 +21892,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -22767,7 +22610,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -22907,7 +22751,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23059,7 +22904,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23152,7 +22998,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23299,7 +23146,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23343,7 +23191,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23414,7 +23263,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23486,7 +23336,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23559,7 +23410,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23638,7 +23490,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23786,7 +23639,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -23868,7 +23722,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -24022,7 +23877,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -24110,7 +23966,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -25885,7 +25742,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -26033,7 +25891,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -26104,7 +25963,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -28322,7 +28182,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -28483,7 +28344,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -30215,6 +30077,11 @@ esac + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ @@ -30253,12 +30120,6 @@ echo "$as_me: error: cannot find input file: $f" >&2;} fi;; esac done` || { (exit 1); exit 1; } - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub diff --git a/configure.in b/configure.in index 928e08275213..2a09bc5ff9f6 100644 --- a/configure.in +++ b/configure.in @@ -133,7 +133,7 @@ AC_ARG_ENABLE(evolution2, ],,) AC_ARG_WITH(system-stdlibs, [ --with-system-stdlibs use libstdc++/libgcc_s already on system -],,checkforstdlibproblems=yes) +],,) AC_ARG_ENABLE(cups, [ --disable-cups disable cups support in the psprint project ],,enable_cups=yes) @@ -3509,23 +3509,6 @@ else fi AC_SUBST(BUILD_QADEVOOO) -dnl =================================================================== -dnl Check for prelinked libgcc_s.so.1 -dnl =================================================================== -if test "$_os" = "Linux" -a -z "$with_system_stdlibs" -a -z "$with_system_libs"; then - if test -n "$checkforstdlibproblems"; then - if test -f /etc/rpm/macros.prelink; then - with_system_stdlibs=yes - AC_MSG_WARN([prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override]) - echo "prelinked libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn - elif test "$GCC" = "yes" -a ! -e `$CC -print-file-name=libgcc_s.so.1`; then - with_system_stdlibs=yes - AC_MSG_WARN([platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override]) - echo "platform doesn't have a libgcc_s.so.1, enabling --with-system-stdlibs, use --without-system-stdlibs to override" >> warn - fi - fi -fi - dnl =================================================================== dnl Check for system stdlibs dnl =================================================================== diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp index ca7a7222b074..d53fba12ebca 100755 --- a/scp2/source/ooo/ure.scp +++ b/scp2/source/ooo/ure.scp @@ -887,7 +887,7 @@ End File gid_File_Dl_GccS TXT_FILE_BODY; Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_VER("gcc_s", "1"); + Name = SCP2_URE_DL_VER("gcc_s", STRING(SHORTSTDC3)); Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID); // CompID = "C601D04B-2194-4F1B-BB09-7B4930D6E1DB"; End diff --git a/solenv/bin/gccinstlib.pl b/solenv/bin/gccinstlib.pl index 7c9ac4b24c2e..90c8f02a3e06 100755 --- a/solenv/bin/gccinstlib.pl +++ b/solenv/bin/gccinstlib.pl @@ -53,4 +53,13 @@ foreach $Src (@CopySrc) { system ("/bin/cp $Src $Dest") && die "copy failed: $!"; } + +foreach $File (@ARGV) { + #https://bugzilla.redhat.com/show_bug.cgi?id=149465 + printf "unprelinking $Dest/$File\n"; + #If it's already unprelinked .i.e. no .gnu.prelink_undo section, that's fine + #If prelink is not installed, it's massively unlikely that it's prelinked + system ("prelink -u $Dest/$File > /dev/null 2>&1"); +} + exit (0); diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk index d2fcafa3fe13..dd5592c40267 100644 --- a/solenv/inc/settings.mk +++ b/solenv/inc/settings.mk @@ -865,7 +865,7 @@ SCPDEFS+=-DUDK_MAJOR=$(UDK_MAJOR) SCPDEFS+=-U$(COMID) -DCOMID=$(COMID) -DCOMNAME=$(COMNAME) -D_$(COMID) SCPDEFS+=-DCCNUMVER=$(CCNUMVER) .IF "$(COM)"=="GCC" -SCPDEFS+=-DSHORTSTDCPP3=$(SHORTSTDCPP3) +SCPDEFS+=-DSHORTSTDCPP3=$(SHORTSTDCPP3) -DSHORTSTDC3=$(SHORTSTDC3) .ENDIF # "$(SHORTSTDCPP3)"!="" # extend library path for OS/2 gcc/wlink .IF "$(GUI)"=="OS2" diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk index 0319e92f3418..05ef9c6395a4 100644 --- a/solenv/inc/target.mk +++ b/solenv/inc/target.mk @@ -1461,6 +1461,7 @@ COMPVTMP:=$(mktmp iii) @echo COMID:=$(COMID) >> $(COMPVTMP) .IF "$(COM)"=="GCC" @echo SHORTSTDCPP3:=$(SHORTSTDCPP3) >> $(COMPVTMP) + @echo SHORTSTDC3:=$(SHORTSTDC3) >> $(COMPVTMP) .ENDIF @echo CCNUMVER:=$(CCNUMVER) >> $(COMPVTMP) @echo CCVER:=$(CCVER:s/-/ /:1) >> $(COMPVTMP) diff --git a/solenv/inc/tg_compv.mk b/solenv/inc/tg_compv.mk index 8218887528fe..619d392b2650 100644 --- a/solenv/inc/tg_compv.mk +++ b/solenv/inc/tg_compv.mk @@ -77,6 +77,7 @@ COMNAME=msci .IF "$(COM)"=="GCC" SHORTSTDCPP3:= +SHORTSTDC3:="1" .IF "$(CCNUMVER)">="000200910000" COMID=GCC @@ -101,6 +102,11 @@ SHORTSTDCPP3="5" .ENDIF .IF "$(CCNUMVER)">="000300040000" +.IF "$(OS)$(CPU)" == "LINUXH" || "$(OS)$(CPU)" == "LINUX6" +#gcc >= 3.4.0: on m68k-linux and hppa-linux this is libgcc_s.so.2. For all +#others, this is libgcc_s.so.1. +SHORTSTDC3:="2" +.ENDIF SHORTSTDCPP3="6" .ENDIF -- cgit From 458067db24e3cfc0ffa37419d8ed659e0fb53c47 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sat, 22 May 2010 15:59:46 +0100 Subject: cmcfixes75: #i111770# remove configure.in hacks and handle prelinked system-stdlibs properly and fix the so.1 -> so.2 for hppa and m68k --- external/gcc3_specific/makefile.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/external/gcc3_specific/makefile.mk b/external/gcc3_specific/makefile.mk index 4ad02335c8ea..23940c30f8d1 100644 --- a/external/gcc3_specific/makefile.mk +++ b/external/gcc3_specific/makefile.mk @@ -47,14 +47,14 @@ $(MINGWGXXDLL) : .EXPORT : CC -all .SEQUENTIAL : $(LB)$/libstdc++.so.$(SHORTSTDCPP3) $(LB)$/libgcc_s.so.1 +all .SEQUENTIAL : $(LB)$/libstdc++.so.$(SHORTSTDCPP3) $(LB)$/libgcc_s.so.$(SHORTSTDC3) $(LB)$/libstdc++.so.$(SHORTSTDCPP3) : - $(GCCINSTLIB) libstdc++.so.$(SHORTSTDCPP3) $(LB) + $(GCCINSTLIB) libstdc++.so.$(SHORTSTDCPP3) $(LB) -$(LB)$/libgcc_s.so.1 : - $(GCCINSTLIB) libgcc_s.so.1 $(LB) +$(LB)$/libgcc_s.so.$(SHORTSTDC3) : + $(GCCINSTLIB) libgcc_s.so.$(SHORTSTDC3) $(LB) .ENDIF .ENDIF -- cgit From ac739dbe9939e6ab40548546563faba14e276f02 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sat, 22 May 2010 16:23:01 +0100 Subject: cmcfixes75: #i111771# hook nodep to --disable-dependency-tracking --- configure | 22 +++++++++++++++++++++- configure.in | 16 ++++++++++++++++ set_soenv.in | 1 + 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 7a6619759b15..6c3bec21a71b 100755 --- a/configure +++ b/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG BUILD_QADEVOOO SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB SYSTEM_MYTHES SYSTEM_LPSOLVE PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG BUILD_QADEVOOO SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB SYSTEM_MYTHES SYSTEM_LPSOLVE PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE nodep LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1053,6 +1053,8 @@ Optional Features: --enable-verbose Increase build verbosity. --disable-verbose Decrease build verbosity. + --disable-dependency-tracking Disables generation of dependency information. + --disable-largefile omit support for large files Optional Packages: @@ -2959,6 +2961,11 @@ fi; if test "${enable_verbose+set}" = set; then enableval="$enable_verbose" +fi; +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + fi; BUILD_TYPE="OOo" @@ -28880,6 +28887,18 @@ echo "${ECHO_T}not set" >&6 fi +echo "$as_me:$LINENO: checking whether to enable dependency tracking" >&5 +echo $ECHO_N "checking whether to enable dependency tracking... $ECHO_C" >&6 +if test "$enable_dependency_tracking" = "no"; then + nodep=TRUE + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +else + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +fi + + echo "********************************************************************" echo "* *" echo "* Setting up the build environment variables. *" @@ -29911,6 +29930,7 @@ s,@UNIXWRAPPERNAME@,$UNIXWRAPPERNAME,;t t s,@ENABLE_STATIC_GTK@,$ENABLE_STATIC_GTK,;t t s,@ENABLE_LAYOUT@,$ENABLE_LAYOUT,;t t s,@VERBOSE@,$VERBOSE,;t t +s,@nodep@,$nodep,;t t s,@LOCAL_SOLVER@,$LOCAL_SOLVER,;t t s,@BUILD_TYPE@,$BUILD_TYPE,;t t s,@LIBOBJS@,$LIBOBJS,;t t diff --git a/configure.in b/configure.in index 2a09bc5ff9f6..afe5c4d5da47 100644 --- a/configure.in +++ b/configure.in @@ -817,6 +817,9 @@ AC_ARG_ENABLE(verbose, [ --enable-verbose Increase build verbosity. --disable-verbose Decrease build verbosity. ],,) +AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking Disables generation of dependency information. +],,) BUILD_TYPE="OOo" @@ -6862,6 +6865,19 @@ else fi AC_SUBST(VERBOSE) +dnl =================================================================== +dnl Hook up OOos nodep environmental variable to automake's equivalent +dnl --enable-dependency-tracking configure option +dnl =================================================================== +AC_MSG_CHECKING([whether to enable dependency tracking]) +if test "$enable_dependency_tracking" = "no"; then + nodep=TRUE + AC_MSG_RESULT([no]) +else + AC_MSG_RESULT([yes]) +fi +AC_SUBST(nodep) + dnl =================================================================== dnl Setting up the environment. dnl =================================================================== diff --git a/set_soenv.in b/set_soenv.in index 58c81ee568f1..3698a92d399f 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -1621,6 +1621,7 @@ ToFile( "MOC4", "@MOC4@", "e" ); ToFile( "ENABLE_KAB", "@ENABLE_KAB@", "e" ); ToFile( "PSPRINT", "TRUE", "e" ); ToFile( "MKDEPENDSOLVER", "TRUE", "e" ); +ToFile( "nodep", "@nodep@", "e" ); ToFile( "TARFILE_LOCATION", $TARFILE_LOCATION, "e" ); ToFile( "DO_FETCH_TARBALLS", "@DO_FETCH_TARBALLS@", "e" ); # -- cgit From 06ab23297b84d0168d27e6dd0d9b0423117be075 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 10:18:45 +0100 Subject: cmcfixes75: #i111791# use hunspell api to free list --- lingucomponent/source/spellcheck/spell/sspellimp.cxx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx b/lingucomponent/source/spellcheck/spell/sspellimp.cxx index 8486f4fb38fd..0cb6ad8ec3da 100644 --- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx +++ b/lingucomponent/source/spellcheck/spell/sspellimp.cxx @@ -452,17 +452,14 @@ Reference< XSpellAlternatives > count = pMS->suggest(&suglst, (const char *) aWrd.getStr()); if (count) { - aStr.realloc( numsug + count ); OUString *pStr = aStr.getArray(); - for (int ii=0; ii < count; ii++) + for (int ii=0; ii < count; ++ii) { - // if needed add: if (suglst[ii] == NULL) continue; OUString cvtwrd(suglst[ii],strlen(suglst[ii]),aEnc); pStr[numsug + ii] = cvtwrd; - free(suglst[ii]); } - free(suglst); + pMS->free_list(&suglst, count); numsug += count; } } -- cgit From c938b8a6908c27d74738b097d35092abc7329ef0 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 10:24:59 +0100 Subject: cmcfixes75: #i111792# check fread return value --- i18npool/source/localedata/saxparser.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/i18npool/source/localedata/saxparser.cxx b/i18npool/source/localedata/saxparser.cxx index 083d2097a54a..9787b9c810a6 100644 --- a/i18npool/source/localedata/saxparser.cxx +++ b/i18npool/source/localedata/saxparser.cxx @@ -125,13 +125,14 @@ Reference< XInputStream > createStreamFromFile( if( f ) { fseek( f , 0 , SEEK_END ); - int nLength = ftell( f ); + size_t nLength = ftell( f ); fseek( f , 0 , SEEK_SET ); Sequence seqIn(nLength); - fread( seqIn.getArray() , nLength , 1 , f ); - - r = Reference< XInputStream > ( new OInputStream( seqIn ) ); + if (fread( seqIn.getArray() , nLength , 1 , f ) == 1) + r = Reference< XInputStream > ( new OInputStream( seqIn ) ); + else + fprintf(stderr, "failure reading %s\n", pcFile); fclose( f ); } return r; -- cgit From 44f61dccc4b92e203427e8b488cd6ad97308b271 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 11:01:58 +0100 Subject: cmcfixes75: #i111795# check write return value --- idlc/source/preproc/tokens.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/idlc/source/preproc/tokens.c b/idlc/source/preproc/tokens.c index 6df35ae1f238..23ab88a5a9e3 100644 --- a/idlc/source/preproc/tokens.c +++ b/idlc/source/preproc/tokens.c @@ -474,7 +474,8 @@ void if (wbp >= &wbuf[OBS]) { - write(1, wbuf, OBS); + if (write(1, wbuf, OBS) != OBS) + error(ERROR, "short write!"); if (wbp > &wbuf[OBS]) memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]); wbp -= OBS; @@ -490,7 +491,8 @@ void { if (wbp > wbuf) { - write(1, wbuf, wbp - wbuf); + if (write(1, wbuf, wbp - wbuf) != wbp - wbuf) + error(ERROR, "short write!"); wbp = wbuf; } } -- cgit From 5186da3ad7783a49efb08064f9cf380754c3f4bd Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 11:28:33 +0100 Subject: cmcfixes75: #i111796# check ftruncate return value --- shell/source/unix/sysshell/recently_used_file.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shell/source/unix/sysshell/recently_used_file.cxx b/shell/source/unix/sysshell/recently_used_file.cxx index cc4fbf75adcc..8a9de90c8b16 100644 --- a/shell/source/unix/sysshell/recently_used_file.cxx +++ b/shell/source/unix/sysshell/recently_used_file.cxx @@ -114,7 +114,8 @@ void recently_used_file::reset() const //------------------------------------------------ void recently_used_file::truncate(off_t length) { - ftruncate(fileno(file_), length); + if (ftruncate(fileno(file_), length) == -1) + throw "I/O error: ftruncate failed"; } //------------------------------------------------ -- cgit From 9ed2c82775ddaf0643bbf124720f132b2d104e2b Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 14:13:37 +0100 Subject: cmcfixes75: #i111801# bracket up precedence --- filter/source/msfilter/svdfppt.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 8d8e48832dc9..131d39ba9109 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -5376,7 +5376,7 @@ void PPTStyleTextPropReader::Init( SvStream& rIn, SdrPowerPointImport& rMan, con if ( nInstance == TSS_TYPE_PAGETITLE ) *pPtr = 0xb; else - aSpecMarkerList.Insert( (void*)( pPtr - pBuf | PPT_SPEC_NEWLINE ), LIST_APPEND ); + aSpecMarkerList.Insert( (void*)( (pPtr - pBuf) | PPT_SPEC_NEWLINE ), LIST_APPEND ); } pPtr++; } -- cgit From 395d428defc86abfd2a936a0572c8086b3e6dbe1 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 24 May 2010 14:50:22 +0100 Subject: cmcfixes75: #i111803# array out of bounds --- bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx index 0e1df437b0e1..c80e20feb18a 100644 --- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx @@ -552,7 +552,7 @@ extern "C" void privateSnippetExecutor( ... ) "mr %0, 1\n\t" : "=r" (sp) : ); - volatile long nRegReturn[0]; + volatile long nRegReturn[1]; typelib_TypeClass aType = cpp_mediate( nOffsetAndIndex, (void**)gpreg, (void**)fpreg, sp, (sal_Int64*)nRegReturn); -- cgit From 593efd10b43af2db28333e3601d9abf94ce53bc6 Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Tue, 25 May 2010 11:02:07 +0200 Subject: vcl112: #i111798# assert failed system() call (thanks cmc!) --- vcl/unx/source/printergfx/printerjob.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vcl/unx/source/printergfx/printerjob.cxx b/vcl/unx/source/printergfx/printerjob.cxx index 3e885d8af5b4..5e18849b8dfe 100644 --- a/vcl/unx/source/printergfx/printerjob.cxx +++ b/vcl/unx/source/printergfx/printerjob.cxx @@ -284,7 +284,8 @@ removeSpoolDir (const rtl::OUString& rSpoolDir) nChar = psp::appendStr ("rm -rf ", pSystem); nChar += psp::appendStr (aSysPathByte.getStr(), pSystem + nChar); - system (pSystem); + if (system (pSystem) == -1) + OSL_ENSURE( 0, "psprint: couldn't remove spool directory" ); } /* creates a spool directory with a "pidgin random" value based on -- cgit From de8796345a26ebc4607cfd0fd10b303c20b866e9 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Tue, 25 May 2010 11:45:06 +0200 Subject: cws tl79: #i110254# security tab page in 'File/Properties' --- sfx2/inc/sfx2/objsh.hxx | 2 + sfx2/inc/sfx2/sfx.hrc | 4 +- sfx2/source/dialog/securitypage.cxx | 163 ++++++++++++++++++++++-------------- sfx2/source/dialog/securitypage.src | 8 ++ sfx2/source/doc/objxtor.cxx | 16 ++++ 5 files changed, 127 insertions(+), 66 deletions(-) diff --git a/sfx2/inc/sfx2/objsh.hxx b/sfx2/inc/sfx2/objsh.hxx index 7984fae956cb..3e3448de4753 100755 --- a/sfx2/inc/sfx2/objsh.hxx +++ b/sfx2/inc/sfx2/objsh.hxx @@ -686,6 +686,8 @@ public: // change recording and respective passwword protection for Writer and Calc // slots available for Writer: FN_REDLINE_ON, FN_REDLINE_ON // slots used for Calc: FID_CHG_RECORD, SID_CHG_PROTECT + virtual bool IsChangeRecording() const; + virtual bool HasChangeRecordProtection() const; virtual void SetChangeRecording( bool bActivate ); virtual bool SetProtectionPassword( const String &rPassword ); virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc index 3ed7f34ee3b8..a49b003b5b49 100755 --- a/sfx2/inc/sfx2/sfx.hrc +++ b/sfx2/inc/sfx2/sfx.hrc @@ -234,7 +234,9 @@ #define TP_MANAGE_STYLES (RID_SFX_START+7) #define DLG_STYLE_DESIGNER (RID_SFX_START+8) -#define RID_SFX_INCORRECT_PASSWORD (RID_SFX_START+216) +#define RID_SFX_PROTECT_RECORDS (RID_SFX_START+216) +#define RID_SFX_UNPROTECT_RECORDS (RID_SFX_START+217) +#define RID_SFX_INCORRECT_PASSWORD (RID_SFX_START+218) #define STR_STYLE_FILTER_AUTO (RID_SFX_START+9) #define STR_STYLE_FILTER_USED (RID_SFX_START+10) diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx index f88525107f1c..0c6688ab1229 100755 --- a/sfx2/source/dialog/securitypage.cxx +++ b/sfx2/source/dialog/securitypage.cxx @@ -53,43 +53,6 @@ using namespace ::com::sun::star; -////////////////////////////////////////////////////////////////////// - -static short lcl_GetPassword( Window *pParent, bool bShowConfirm, /*out*/String &rPassword ) -{ - bool bRes = false; - SfxPasswordDialog aPasswdDlg( pParent ); - if (bShowConfirm) - aPasswdDlg.ShowExtras( SHOWEXTRAS_CONFIRM ); - if (RET_OK == aPasswdDlg.Execute() && aPasswdDlg.GetPassword().Len() > 0) - { - rPassword = aPasswdDlg.GetPassword(); - bRes = true; - } - return bRes; -} - - -static bool lcl_IsPasswordCorrect( const String &rPassword ) -{ - bool bRes = false; - - SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); - uno::Sequence< sal_Int8 > aPasswordHash; - bool bHasPassword = pCurDocShell->GetProtectionHash( aPasswordHash ); - - // check if supplied password was correct - uno::Sequence< sal_Int8 > aNewPasswd( aPasswordHash ); - SvPasswordHelper::GetHashPassword( aNewPasswd, rPassword ); - if (SvPasswordHelper::CompareHashPassword( aPasswordHash, rPassword )) - bRes = true; // password was correct - else - InfoBox( NULL, String( SfxResId( RID_SFX_INCORRECT_PASSWORD ) ) ).Execute(); - - return bRes; -} - - ////////////////////////////////////////////////////////////////////// @@ -98,6 +61,21 @@ namespace enum RedliningMode { RL_NONE, RL_WRITER, RL_CALC }; enum RedlineFunc { RF_ON, RF_PROTECT }; +/* + bool QueryIsEnabled( USHORT _nSlot ) + { + bool bRes = false; + SfxViewShell* pViewSh = SfxViewShell::Current(); + if (pViewSh) + { + const SfxPoolItem* pItem; + SfxDispatcher* pDisp = pViewSh->GetDispatcher(); + SfxItemState eState = pDisp->QueryState( _nSlot, pItem ); + bRes = (eState & SFX_ITEM_DISABLED) == 0; + } + return bRes; + } +*/ bool QueryState( USHORT _nSlot, bool& _rValue ) { @@ -107,7 +85,8 @@ namespace { const SfxPoolItem* pItem; SfxDispatcher* pDisp = pViewSh->GetDispatcher(); - bRet = SFX_ITEM_AVAILABLE <= pDisp->QueryState( _nSlot, pItem ); + SfxItemState nState = pDisp->QueryState( _nSlot, pItem ); + bRet = SFX_ITEM_AVAILABLE <= nState; if (bRet) _rValue = ( static_cast< const SfxBoolItem* >( pItem ) )->GetValue(); } @@ -143,6 +122,50 @@ namespace ////////////////////////////////////////////////////////////////////// +static short lcl_GetPassword( + Window *pParent, + bool bProtect, + /*out*/String &rPassword ) +{ + bool bRes = false; + SfxPasswordDialog aPasswdDlg( pParent ); + const String aTitle( SfxResId( bProtect ? RID_SFX_PROTECT_RECORDS : RID_SFX_UNPROTECT_RECORDS ) ); + aPasswdDlg.SetText( aTitle ); + aPasswdDlg.SetMinLen( 1 ); + if (bProtect) + aPasswdDlg.ShowExtras( SHOWEXTRAS_CONFIRM ); + if (RET_OK == aPasswdDlg.Execute() && aPasswdDlg.GetPassword().Len() > 0) + { + rPassword = aPasswdDlg.GetPassword(); + bRes = true; + } + return bRes; +} + + +static bool lcl_IsPasswordCorrect( const String &rPassword ) +{ + bool bRes = false; + + SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); + uno::Sequence< sal_Int8 > aPasswordHash; + bool bHasPassword = pCurDocShell->GetProtectionHash( aPasswordHash ); + + // check if supplied password was correct + uno::Sequence< sal_Int8 > aNewPasswd( aPasswordHash ); + SvPasswordHelper::GetHashPassword( aNewPasswd, rPassword ); + if (SvPasswordHelper::CompareHashPassword( aPasswordHash, rPassword )) + bRes = true; // password was correct + else + InfoBox( NULL, String( SfxResId( RID_SFX_INCORRECT_PASSWORD ) ) ).Execute(); + + return bRes; +} + + +////////////////////////////////////////////////////////////////////// + + struct SfxSecurityPage_Impl { SfxSecurityPage & m_rMyTabPage; @@ -235,39 +258,43 @@ BOOL SfxSecurityPage_Impl::FillItemSet_Impl( SfxItemSet & ) bool bModified = false; SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); - if (pCurDocShell) + if (pCurDocShell&& !pCurDocShell->IsReadOnly()) { - if (m_eRedlingMode != RL_NONE && !pCurDocShell->IsReadOnly()) + if (m_eRedlingMode != RL_NONE ) { - // change recording - const bool bDoRecordChanges = m_aRecordChangesCB.IsChecked(); - pCurDocShell->SetChangeRecording( bDoRecordChanges ); + const bool bDoRecordChanges = m_aRecordChangesCB.IsChecked(); + const bool bDoChangeProtection = m_aChangeProtectionPB.GetText() != m_aProtectSTR; + + // sanity checks + DBG_ASSERT( bDoRecordChanges || !bDoChangeProtection, "no change recording should imply no change protection" ); + DBG_ASSERT( bDoChangeProtection || !bDoRecordChanges, "no change protection should imply no change recording" ); + DBG_ASSERT( !bDoChangeProtection || m_aNewPassword.Len() > 0, "change protection should imply password length is > 0" ); + DBG_ASSERT( bDoChangeProtection || m_aNewPassword.Len() == 0, "no change protection should imply password length is 0" ); - // no change recording should imply no password protection - if (!bDoRecordChanges && (!m_bNewPasswordIsValid || m_aNewPassword.Len() != 0)) + // change recording + if (bDoRecordChanges != pCurDocShell->IsChangeRecording()) { - // actually this should not be possible. Thus just as 'coded comment': - DBG_ASSERT( 0, "unexpected state of UI" ); - m_bNewPasswordIsValid = true; - m_aNewPassword = String(); + pCurDocShell->SetChangeRecording( bDoRecordChanges ); + bModified = true; } // change record protection - if (m_bNewPasswordIsValid) + if (m_bNewPasswordIsValid && + bDoChangeProtection != pCurDocShell->HasChangeRecordProtection()) { - const bool bDoChangeProtection = m_aChangeProtectionPB.GetText() != m_aProtectSTR; DBG_ASSERT( !bDoChangeProtection || bDoRecordChanges, "change protection requires record changes to be active!" ); pCurDocShell->SetProtectionPassword( m_aNewPassword ); + bModified = true; } - - bModified = true; } // open read-only? - if (pCurDocShell->HasSecurityOptOpenReadOnly()) + const sal_Bool bDoOpenReadonly = m_aOpenReadonlyCB.IsChecked(); + if (pCurDocShell->HasSecurityOptOpenReadOnly() && + bDoOpenReadonly != pCurDocShell->IsSecurityOptOpenReadOnly()) { - pCurDocShell->SetSecurityOptOpenReadOnly( m_aOpenReadonlyCB.IsChecked() ); + pCurDocShell->SetSecurityOptOpenReadOnly( bDoOpenReadonly ); bModified = true; } } @@ -333,16 +360,22 @@ void SfxSecurityPage_Impl::Reset_Impl( const SfxItemSet & ) m_aRecordChangesCB.Check( bRecordChanges ); m_aRecordChangesCB.Enable( /*!bProtection && */!bIsReadonly ); - DBG_ASSERT( pCurDocShell, "doc shell missing" ); - if (pCurDocShell) - { - m_bOrigPasswordIsConfirmed = true; // default case if no password is set - uno::Sequence< sal_Int8 > aPasswordHash; - // check if password is available - if (pCurDocShell->GetProtectionHash( aPasswordHash ) && - aPasswordHash.getLength() > 0) - m_bOrigPasswordIsConfirmed = false; // password found, needs to be confirmed later on - } + m_bOrigPasswordIsConfirmed = true; // default case if no password is set + uno::Sequence< sal_Int8 > aPasswordHash; + // check if password is available + if (pCurDocShell->GetProtectionHash( aPasswordHash ) && + aPasswordHash.getLength() > 0) + m_bOrigPasswordIsConfirmed = false; // password found, needs to be confirmed later on + } + else + { + // A Calc document that is shared will have 'm_eRedlingMode == RL_NONE' + // In shared documents change recording and protection must be disabled, + // similar to documents that do not support change recording at all. + m_aRecordChangesCB.Check( FALSE ); + m_aRecordChangesCB.Disable(); + m_aChangeProtectionPB.Check( FALSE ); + m_aChangeProtectionPB.Disable(); } } diff --git a/sfx2/source/dialog/securitypage.src b/sfx2/source/dialog/securitypage.src index 4bf8cdaf58a9..7c0fffd96057 100755 --- a/sfx2/source/dialog/securitypage.src +++ b/sfx2/source/dialog/securitypage.src @@ -150,6 +150,14 @@ TabPage TP_DOCINFOSECURITY }; }; +String RID_SFX_PROTECT_RECORDS +{ + Text [ en-US ] = "Protect Records" ; +}; +String RID_SFX_UNPROTECT_RECORDS +{ + Text [ en-US ] = "Unprotect Records" ; +}; String RID_SFX_INCORRECT_PASSWORD { Text [ en-US ] = "Incorrect password" ; diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index 751525910958..fdbd2b6a5cf0 100755 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -1076,6 +1076,22 @@ void SfxObjectShell::SetInitialized_Impl( const bool i_fromInitNew ) } +bool SfxObjectShell::IsChangeRecording() const +{ + // currently this function needs to be overwritten by Writer and Calc only + DBG_ASSERT( 0, "function not implemented" ); + return false; +} + + +bool SfxObjectShell::HasChangeRecordProtection() const +{ + // currently this function needs to be overwritten by Writer and Calc only + DBG_ASSERT( 0, "function not implemented" ); + return false; +} + + void SfxObjectShell::SetChangeRecording( bool /*bActivate*/ ) { // currently this function needs to be overwritten by Writer and Calc only -- cgit From 584157c19d5cac970b305645e6a478c6a2af3bef Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Tue, 25 May 2010 11:45:06 +0200 Subject: cws tl79: #i110254# security tab page in 'File/Properties' --- sc/source/ui/docshell/docsh.cxx | 53 ++++++++++++++++++++++++++++++++++------ sc/source/ui/docshell/docsh4.cxx | 37 +++++++++++++--------------- sc/source/ui/inc/docsh.hxx | 6 +++++ 3 files changed, 69 insertions(+), 27 deletions(-) diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 4c808764b349..ca9771904fda 100755 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -2635,16 +2635,47 @@ sal_Bool ScDocShell::AcceptStateUpdate() const //-->Added by PengYunQuan for Validity Cell Range Picker +bool ScDocShell::IsChangeRecording() const +{ + ScChangeTrack* pChangeTrack = aDocument.GetChangeTrack(); + return pChangeTrack != NULL; +} + + +bool ScDocShell::HasChangeRecordProtection() const +{ + bool bRes = false; + ScChangeTrack* pChangeTrack = aDocument.GetChangeTrack(); + if (pChangeTrack) + bRes = pChangeTrack->IsProtected(); + return bRes; +} + + void ScDocShell::SetChangeRecording( bool bActivate ) { - ScDocument * pDoc = GetDocument(); - DBG_ASSERT( pDoc, "ScDocument missing" ); - if (pDoc) + bool bOldChangeRecording = IsChangeRecording(); + + if (bActivate) { - if (bActivate) - pDoc->StartChangeTracking(); - else - pDoc->EndChangeTracking(); + aDocument.StartChangeTracking(); + ScChangeViewSettings aChangeViewSet; + aChangeViewSet.SetShowChanges(TRUE); + aDocument.SetChangeViewSettings(aChangeViewSet); + } + else + { + aDocument.EndChangeTracking(); + PostPaintGridAll(); + } + + if (bOldChangeRecording != IsChangeRecording()) + { + UpdateAcceptChangesDialog(); + // Slots invalidieren + SfxBindings* pBindings = GetViewBindings(); + if (pBindings) + pBindings->InvalidateAll(FALSE); } } @@ -2655,6 +2686,8 @@ bool ScDocShell::SetProtectionPassword( const String &rNewPassword ) ScChangeTrack* pChangeTrack = aDocument.GetChangeTrack(); if (pChangeTrack) { + sal_Bool bProtected = pChangeTrack->IsProtected(); + if (rNewPassword.Len()) { // when password protection is applied change tracking must always be active @@ -2669,6 +2702,12 @@ bool ScDocShell::SetProtectionPassword( const String &rNewPassword ) pChangeTrack->SetProtection( ::com::sun::star::uno::Sequence< sal_Int8 >() ); } bRes = true; + + if ( bProtected != pChangeTrack->IsProtected() ) + { + UpdateAcceptChangesDialog(); + SetDocumentModified(); + } } return bRes; diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index eb308b67271e..1fe5cc7a74ba 100755 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -665,17 +665,7 @@ void ScDocShell::Execute( SfxRequest& rReq ) if ( bDo ) { - // update "accept changes" dialog - //! notify all views - SfxViewFrame* pViewFrm = SfxViewFrame::Current(); - if ( pViewFrm && pViewFrm->HasChildWindow(FID_CHG_ACCEPT) ) - { - SfxChildWindow* pChild = pViewFrm->GetChildWindow(FID_CHG_ACCEPT); - if (pChild) - { - ((ScAcceptChgDlgWrapper*)pChild)->ReInitDlg(); - } - } + UpdateAcceptChangesDialog(); // Slots invalidieren if (pBindings) @@ -1163,6 +1153,21 @@ void ScDocShell::Execute( SfxRequest& rReq ) } +//------------------------------------------------------------------ + +void UpdateAcceptChangesDialog() +{ + // update "accept changes" dialog + //! notify all views + SfxViewFrame* pViewFrm = SfxViewFrame::Current(); + if ( pViewFrm && pViewFrm->HasChildWindow( FID_CHG_ACCEPT ) ) + { + SfxChildWindow* pChild = pViewFrm->GetChildWindow( FID_CHG_ACCEPT ); + if ( pChild ) + ((ScAcceptChgDlgWrapper*)pChild)->ReInitDlg(); + } +} + //------------------------------------------------------------------ BOOL ScDocShell::ExecuteChangeProtectionDialog( Window* _pParent, BOOL bJustQueryIfProtected ) @@ -1218,15 +1223,7 @@ BOOL ScDocShell::ExecuteChangeProtectionDialog( Window* _pParent, BOOL bJustQuer } if ( bProtected != pChangeTrack->IsProtected() ) { - // update "accept changes" dialog - //! notify all views - SfxViewFrame* pViewFrm = SfxViewFrame::Current(); - if ( pViewFrm && pViewFrm->HasChildWindow( FID_CHG_ACCEPT ) ) - { - SfxChildWindow* pChild = pViewFrm->GetChildWindow( FID_CHG_ACCEPT ); - if ( pChild ) - ((ScAcceptChgDlgWrapper*)pChild)->ReInitDlg(); - } + UpdateAcceptChangesDialog(); bDone = TRUE; } } diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx index 2c28663d107d..e4c02458ec6e 100755 --- a/sc/source/ui/inc/docsh.hxx +++ b/sc/source/ui/inc/docsh.hxx @@ -421,11 +421,17 @@ public: // passwword protection for Calc (derived from SfxObjectShell) // see also: FID_CHG_RECORD, SID_CHG_PROTECT + virtual bool IsChangeRecording() const; + virtual bool HasChangeRecordProtection() const; virtual void SetChangeRecording( bool bActivate ); virtual bool SetProtectionPassword( const String &rPassword ); virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); }; + +void UpdateAcceptChangesDialog(); + + SO2_DECL_REF(ScDocShell) SO2_IMPL_REF(ScDocShell) -- cgit From c1a5e74fa9d1a364cd85049cf32f650e92851ee1 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Tue, 25 May 2010 11:45:06 +0200 Subject: cws tl79: #i110254# security tab page in 'File/Properties' --- sw/inc/docsh.hxx | 2 ++ sw/source/ui/app/docsh.cxx | 15 +++++++++++++-- sw/source/ui/uiview/view2.cxx | 2 ++ sw/source/ui/uiview/viewstat.cxx | 8 +++----- 4 files changed, 20 insertions(+), 7 deletions(-) mode change 100644 => 100755 sw/source/ui/uiview/viewstat.cxx diff --git a/sw/inc/docsh.hxx b/sw/inc/docsh.hxx index 75d32b1b7f1d..3dd338a5e129 100755 --- a/sw/inc/docsh.hxx +++ b/sw/inc/docsh.hxx @@ -306,6 +306,8 @@ public: // passwword protection for Writer (derived from SfxObjectShell) // see also: FN_REDLINE_ON, FN_REDLINE_ON + virtual bool IsChangeRecording() const; + virtual bool HasChangeRecordProtection() const; virtual void SetChangeRecording( bool bActivate ); virtual bool SetProtectionPassword( const String &rPassword ); virtual bool GetProtectionHash( /*out*/ ::com::sun::star::uno::Sequence< sal_Int8 > &rPasswordHash ); diff --git a/sw/source/ui/app/docsh.cxx b/sw/source/ui/app/docsh.cxx index 6b4473fbee99..538c984c1fc8 100755 --- a/sw/source/ui/app/docsh.cxx +++ b/sw/source/ui/app/docsh.cxx @@ -1364,6 +1364,18 @@ const ::sfx2::IXmlIdRegistry* SwDocShell::GetXmlIdRegistry() const } +bool SwDocShell::IsChangeRecording() const +{ + return (pWrtShell->GetRedlineMode() & nsRedlineMode_t::REDLINE_ON) != 0; +} + + +bool SwDocShell::HasChangeRecordProtection() const +{ + return pWrtShell->getIDocumentRedlineAccess()->GetRedlinePassword().getLength() > 0; +} + + void SwDocShell::SetChangeRecording( bool bActivate ) { USHORT nOn = bActivate ? nsRedlineMode_t::REDLINE_ON : 0; @@ -1379,10 +1391,9 @@ bool SwDocShell::SetProtectionPassword( const String &rNewPassword ) const SfxPoolItem* pItem = NULL; IDocumentRedlineAccess* pIDRA = pWrtShell->getIDocumentRedlineAccess(); - Sequence< sal_Int8 > aPasswd = pIDRA->GetRedlinePassword(); if (pArgs && SFX_ITEM_SET == pArgs->GetItemState( FN_REDLINE_PROTECT, FALSE, &pItem ) - && ((SfxBoolItem*)pItem)->GetValue() == (aPasswd.getLength() != 0)) + && ((SfxBoolItem*)pItem)->GetValue() == aPasswd.getLength() > 0) return false; bool bRes = false; diff --git a/sw/source/ui/uiview/view2.cxx b/sw/source/ui/uiview/view2.cxx index f8106bedd994..5ba782d8ef89 100755 --- a/sw/source/ui/uiview/view2.cxx +++ b/sw/source/ui/uiview/view2.cxx @@ -545,6 +545,7 @@ void __EXPORT SwView::Execute(SfxRequest &rReq) else pParent = &GetViewFrame()->GetWindow(); SfxPasswordDialog aPasswdDlg( pParent ); + aPasswdDlg.SetMinLen( 1 ); //#i69751# the result of Execute() can be ignored aPasswdDlg.Execute(); String sNewPasswd( aPasswdDlg.GetPassword() ); @@ -581,6 +582,7 @@ void __EXPORT SwView::Execute(SfxRequest &rReq) else pParent = &GetViewFrame()->GetWindow(); SfxPasswordDialog aPasswdDlg( pParent ); + aPasswdDlg.SetMinLen( 1 ); if(!aPasswd.getLength()) aPasswdDlg.ShowExtras(SHOWEXTRAS_CONFIRM); if (aPasswdDlg.Execute()) diff --git a/sw/source/ui/uiview/viewstat.cxx b/sw/source/ui/uiview/viewstat.cxx old mode 100644 new mode 100755 index 23415b630252..6fc8b86eb3da --- a/sw/source/ui/uiview/viewstat.cxx +++ b/sw/source/ui/uiview/viewstat.cxx @@ -269,12 +269,10 @@ void SwView::GetState(SfxItemSet &rSet) } break; case FN_REDLINE_ON: - rSet.Put( SfxBoolItem( nWhich, (pWrtShell->GetRedlineMode() & nsRedlineMode_t::REDLINE_ON) != 0 ) ); - break; + rSet.Put( SfxBoolItem( nWhich, GetDocShell()->IsChangeRecording() ) ); + break; case FN_REDLINE_PROTECT : - { - rSet.Put( SfxBoolItem( nWhich, pWrtShell->getIDocumentRedlineAccess()->GetRedlinePassword().getLength() > 0 ) ); - } + rSet.Put( SfxBoolItem( nWhich, GetDocShell()->HasChangeRecordProtection() ) ); break; case FN_REDLINE_SHOW: { -- cgit From 1214da3e1c5fae3fd46571d5523644d00844ec35 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 25 May 2010 11:56:39 +0200 Subject: systemlibc: rename new SYSTEM_* variables to better names )SYSTEM_LIBC,HAVE_{GETOPT,READDIR_R). Unconditionally set to NO if $_os = WINNT --- configure | 28 +++++++++++++++++----------- configure.in | 22 ++++++++++++++-------- set_soenv.in | 6 +++--- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/configure b/configure index 45742ea27794..200bf44aafbc 100755 --- a/configure +++ b/configure @@ -694,9 +694,9 @@ DIRECTXSDK_LIB DIRECTXSDK_HOME WINDOWS_VISTA_PSDK PSDK_HOME -SYSTEM_GLIBC -SYSTEM_READDIR_R -SYSTEM_GETOPT +SYSTEM_LIBC +HAVE_READDIR_R +HAVE_GETOPT SYSTEM_LPSOLVE SYSTEM_MYTHES HYPHEN_LIB @@ -18521,34 +18521,40 @@ $as_echo "yes" >&6; } fi fi -for ac_func in getopt +if "$_os" != "WNT"; then + for ac_func in getopt do : ac_fn_c_check_func "$LINENO" "getopt" "ac_cv_func_getopt" if test "x$ac_cv_func_getopt" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT 1 _ACEOF - SYSTEM_GETOPT=YES + HAVE_GETOPT=YES else - SYSTEM_GETOPT=NO + HAVE_GETOPT=NO fi done -for ac_func in readdir_r + for ac_func in readdir_r do : ac_fn_c_check_func "$LINENO" "readdir_r" "ac_cv_func_readdir_r" if test "x$ac_cv_func_readdir_r" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_READDIR_R 1 _ACEOF - SYSTEM_READDIR_R=YES + HAVE_READDIR_R=YES else - SYSTEM_READDIR_R=NO + HAVE_READDIR_R=NO fi done -if test "$SYSTEM_GETOPT" = "YES" -a "$SYSTEM_READDIR_R" = "YES"; then - SYSTEM_GLIBC=YES + if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then + SYSTEM_LIBC=YES + fi +else + HAVE_GETOPT=NO + HAVE_READDIR_R=NO + SYSTEM_LIBC=YES fi diff --git a/configure.in b/configure.in index 4f2b991427fe..4c935380adaa 100644 --- a/configure.in +++ b/configure.in @@ -5134,14 +5134,20 @@ if test "$_os" = "Linux"; then fi fi -AC_CHECK_FUNCS(getopt, SYSTEM_GETOPT=YES, [SYSTEM_GETOPT=NO]) -AC_CHECK_FUNCS(readdir_r, SYSTEM_READDIR_R=YES, [SYSTEM_READDIR_R=NO]) -if test "$SYSTEM_GETOPT" = "YES" -a "$SYSTEM_READDIR_R" = "YES"; then - SYSTEM_GLIBC=YES -fi -AC_SUBST(SYSTEM_GETOPT) -AC_SUBST(SYSTEM_READDIR_R) -AC_SUBST(SYSTEM_GLIBC) +if "$_os" != "WNT"; then + AC_CHECK_FUNCS(getopt, HAVE_GETOPT=YES, [HAVE_GETOPT=NO]) + AC_CHECK_FUNCS(readdir_r, HAVE_READDIR_R=YES, [HAVE_READDIR_R=NO]) + if test "$HAVE_GETOPT" = "YES" -a "$HAVE_READDIR_R" = "YES"; then + SYSTEM_LIBC=YES + fi +else + HAVE_GETOPT=NO + HAVE_READDIR_R=NO + SYSTEM_LIBC=YES +fi +AC_SUBST(HAVE_GETOPT) +AC_SUBST(HAVE_READDIR_R) +AC_SUBST(SYSTEM_LIBC) dnl ========================================= dnl Check for the Microsoft Platform SDK. diff --git a/set_soenv.in b/set_soenv.in index 44c162dcf105..ac3e1172ee13 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -1875,9 +1875,9 @@ ToFile( "SYSTEM_HUNSPELL", "@SYSTEM_HUNSPELL@", "e" ); ToFile( "HUNSPELL_CFLAGS", "@HUNSPELL_CFLAGS@", "e" ); ToFile( "HUNSPELL_LIBS", "@HUNSPELL_LIBS@", "e" ); ToFile( "SYSTEM_LPSOLVE", "@SYSTEM_LPSOLVE@", "e" ); -ToFile( "SYSTEM_GETOPT", "@SYSTEM_GETOPT@", "e" ); -ToFile( "SYSTEM_READDIR_R", "@SYSTEM_READDIR_R@", "e" ); -ToFile( "SYSTEM_GLIBC", "@SYSTEM_GLIBC@", "e" ); +ToFile( "HAVE_GETOPT", "@HAVE_GETOPT@", "e" ); +ToFile( "HAVE_READDIR_R", "@HAVE_READDIR_R@", "e" ); +ToFile( "SYSTEM_LIBC", "@SYSTEM_LIBC@", "e" ); ToFile( "SYSTEM_HYPH", "@SYSTEM_HYPH@", "e" ); ToFile( "HYPHEN_LIB", "@HYPHEN_LIB@", "e" ); ToFile( "SYSTEM_MYTHES", "@SYSTEM_MYTHES@", "e" ); -- cgit From 2d56605a7e3b79750d0d64aee5442b5de6decfd8 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Tue, 25 May 2010 11:56:39 +0200 Subject: systemlibc: rename new SYSTEM_* variables to better names )SYSTEM_LIBC,HAVE_{GETOPT,READDIR_R). Unconditionally set to NO if $_os = WINNT --- external/glibc-2.1.3.patch | 6 +++--- external/glibc/makefile.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/external/glibc-2.1.3.patch b/external/glibc-2.1.3.patch index 8820943a0ee0..a9c7e7be3597 100644 --- a/external/glibc-2.1.3.patch +++ b/external/glibc-2.1.3.patch @@ -123,7 +123,7 @@ + +# --- Files -------------------------------------------------------- + -+.IF "$(SYSTEM_GETOPT)" != "YES" ++.IF "$(HAVE_GETOPT)" != "YES" +OBJFILES= $(OBJ)$/getopt.obj \ + $(OBJ)$/getopt1.obj + @@ -132,7 +132,7 @@ +LIB1OBJFILES=$(OBJFILES) +.ENDIF + -+.IF "$(SYSTEM_READDIR_R)" != "YES" ++.IF "$(HAVE_READDIR_R)" != "YES" +TARGET2=gnu_readdir_r +OBJFILES+= $(OBJ)$/readdir_r.obj +LIB2TARGET=$(SLB)$/$(TARGET2).lib @@ -140,7 +140,7 @@ +LIB2OBJFILES= $(OBJ)$/readdir_r.obj +.ENDIF + -+.IF "$(SYSTEM_READDIR_R)" == "YES" && "$(SYSTEM_GETOPT)" == "YES" ++.IF "$(HAVE_READDIR_R)" == "YES" && "$(HAVE_GETOPT)" == "YES" +@all: + @echo "Nothing to do here. +.ENDIF diff --git a/external/glibc/makefile.mk b/external/glibc/makefile.mk index ecd064e44ebd..084752f1aaa7 100644 --- a/external/glibc/makefile.mk +++ b/external/glibc/makefile.mk @@ -36,12 +36,12 @@ TARGET=getopt # --- Files -------------------------------------------------------- -.IF "$(SYSTEM_GETOPT)" != "YES" || "$(SYSTEM_READDIR_R)" != "YES" +.IF "$(HAVE_GETOPT)" != "YES" || "$(HAVE_READDIR_R)" != "YES" TARFILE_NAME=glibc-2.1.3-stub TARFILE_MD5=4a660ce8466c9df01f19036435425c3a TARFILE_ROOTDIR=glibc-2.1.3 ADDITIONAL_FILES=posix$/makefile.mk posix$/config.h -.IF "$(SYSTEM_READDIR_R)" != "YES" +.IF "$(HAVE_READDIR_R)" != "YES" ADDITIONAL_FILES += posix$/readdir_r.c .ENDIF -- cgit From 399ce461f7286bbda68cf5a34d8ada72062cbd17 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 25 May 2010 11:05:48 +0100 Subject: cmcfixes75: #i111770# fix the so.2 -> so.4 for hppa --- solenv/inc/tg_compv.mk | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/solenv/inc/tg_compv.mk b/solenv/inc/tg_compv.mk index 619d392b2650..68dc60b5c6e5 100644 --- a/solenv/inc/tg_compv.mk +++ b/solenv/inc/tg_compv.mk @@ -102,10 +102,12 @@ SHORTSTDCPP3="5" .ENDIF .IF "$(CCNUMVER)">="000300040000" -.IF "$(OS)$(CPU)" == "LINUXH" || "$(OS)$(CPU)" == "LINUX6" -#gcc >= 3.4.0: on m68k-linux and hppa-linux this is libgcc_s.so.2. For all -#others, this is libgcc_s.so.1. +.IF "$(OS)$(CPU)" == "LINUX6" +#for gcc >= 3.4.0 on m68k-linux this is libgcc_s.so.2. SHORTSTDC3:="2" +.ELIF "$(OS)$(CPU)" == "LINUXH" +#for gcc >= 3.4.0 on hppa-linux this is libgcc_s.so.4. +SHORTSTDC3:="4" .ENDIF SHORTSTDCPP3="6" .ENDIF -- cgit From 78ea5e20c82ea85ae8eb37ada42a85cea84269ac Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 13:07:48 +0200 Subject: vitomation01: #i109562 - Update help references and add one missing --- .../framework/optional/includes/help_search.inc | 2 +- .../Oracle_Open_Office_help_content_en-US.txt | 868 + .../Oracle_Open_Office_help_topics_en-US.txt | 32661 +++++++++---------- 3 files changed, 17181 insertions(+), 16350 deletions(-) create mode 100755 testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_content_en-US.txt diff --git a/testautomation/framework/optional/includes/help_search.inc b/testautomation/framework/optional/includes/help_search.inc index f58d3a823b5e..297047c47398 100755 --- a/testautomation/framework/optional/includes/help_search.inc +++ b/testautomation/framework/optional/includes/help_search.inc @@ -142,7 +142,7 @@ testcase tHelpSearch ListAllDelete( aUIList() ) hGetListItems( Result, aUIList() ) - cDataFile = gProductName & "_search_headings_and_whole_words_" & gIsoLang & ".txt" + cDataFile = sProductName & "_search_headings_and_whole_words_" & gIsoLang & ".txt" sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_content_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_content_en-US.txt new file mode 100755 index 000000000000..6f11d8fd4313 --- /dev/null +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_content_en-US.txt @@ -0,0 +1,868 @@ +Formulas +General Information and User Interface Usage +Welcome to the Oracle Open Office Math Help +Oracle Open Office Math Features +Instructions for Using Oracle Open Office Math +Shortcuts (Oracle Open Office Math Accessibility) +Command and Menu Reference +Menus +Toolbars +Working with Formulas +Manually Aligning Formula Parts +Changing Default Attributes +Merging Formula Parts in Brackets +Entering Comments +Entering Line Breaks +Inserting Brackets +Spreadsheets +General Information and User Interface Usage +Welcome to the Oracle Open Office Calc Help +Oracle Open Office Calc Features +Shortcut Keys (Oracle Open Office Calc Accessibility) +Shortcut Keys for Spreadsheets +Error Codes in Oracle Open Office Calc +Add-in for Programming in Oracle Open Office Calc +Instructions for Using Oracle Open Office Calc +Command and Menu Reference +Menus +Menus +File +Edit +View +Insert +Format +Tools +Window +Data +Toolbars +Toolbars +Formatting Bar +Drawing Object Properties Bar +Text Formatting Bar +Formula Bar +Status Bar +Page Preview Bar +Picture Bar +Tools Bar +Standard Bar +Hyperlink Bar +Table Data Bar +Form Navigation Bar +Query Design Bar +Form Design Toolbar +Functions Types and Operators +Function Wizard +Functions by Category +Database Functions +Date + Time Functions +Financial Functions Part One +Financial Functions Part Two +Financial Functions Part Three +Information Functions +Logical Functions +Mathematical Functions +Array Functions +Statistics Functions +Statistical Functions Part One +Statistical Functions Part Two +Statistical Functions Part Three +Statistical Functions Part Four +Statistical Functions Part Five +Spreadsheet Functions +Text Functions +Add-in Functions +Add-in Functions, List of Analysis Functions Part One +Add-in Functions, List of Analysis Functions Part Two +Operators in Oracle Open Office Calc +User-Defined Functions +Loading, Saving, Importing, and Exporting +Inserting External Data in Table (WebQuery) +Saving and Opening Sheets in HTML +Importing and Exporting Text Files +Formatting +Rotating Text +Writing Multi-line Text +Formatting Numbers as Text +Text Superscript / Subscript +Changing Row Height or Column Width +Applying Conditional Formatting +Highlighting Negative Numbers +Assigning Formats by Formula +Entering a Number with Leading Zeros +Formatting Spreadsheets +Formatting Numbers With Decimals +Naming Cells +Rotating Tables (Transposing) +Renaming Sheets +19xx/20xx Years +Using Rounded Off Numbers +Cells in Currency Format +Using AutoFormat for Tables +Inserting and Editing Comments +Selecting Themes for Sheets +Entering Fractions +Filtering and Sorting +Applying Filters +Filter: Applying Advanced Filters +Applying AutoFilter +Applying Sort Lists +Printing +Printing Rows or Columns on Every Page +Printing Sheets in Landscape Format +Printing Sheet Details +Defining Number of Pages for Printing +Data Ranges +Defining Database Ranges +Filtering Cell Ranges +Sorting Data +Data Pilot +DataPilot +Creating DataPilot Tables +Deleting DataPilot Tables +Editing DataPilot Tables +Filtering DataPilot Tables +Selecting DataPilot Output Ranges +Updating DataPilot Tables +Scenarios +Using Scenarios +References +Addresses and References, Absolute and Relative +Referencing a Cell in Another Document +References to Other Sheets and Referencing URLs +Referencing Cells by Drag-and-Drop +Recognizing Names as Addressing +Viewing, Selecting, Copying +Changing Table Views +Displaying Formulas or Values +Freezing Rows or Columns as Headers +Navigating Through Sheets Tabs +Copying to Multiple Sheets +Only Copy Visible Cells +Selecting Multiple Cells +Formulas and Calculations +Calculating With Formulas +Copying Formulas +Entering Formulas +Displaying Formulas or Values +Calculating in Spreadsheets +Calculating With Dates and Times +Automatically Calculating Series +Calculating Time Differences +Entering Matrix Formulas +Protection +Protecting Cells from Changes +Unprotecting Cells +Miscellaneous +Deactivating Automatic Changes +Consolidating Data +Applying Goal Seek +Applying Multiple Operations +Applying Multiple Sheets +Validity of Cell Contents +Installation +Changing the Association of Microsoft Office Document Types +Common Help Topics +General Information +Shortcut Keys +General Glossary +Glossary of Internet Terms +Accessibility in Oracle Open Office +Shortcuts (Oracle Open Office Accessibility) +General Shortcut Keys in Oracle Open Office +Versions and Build Numbers +Oracle Open Office and Microsoft Office +Using Microsoft Office and Oracle Open Office +Comparing Microsoft Office and Oracle Open Office Terms +About Converting Microsoft Office Documents +Changing the Association of Microsoft Office Document Types +Oracle Open Office Options +Options +User Data +General +Paths +Writing Aids +Colors +General +Fonts +View +Print Options +Memory +Appearance +Accessibility +Load/Save options +Internet options +Text Document Options +HTML Document Options +Spreadsheet Options +Presentation Options +Drawing Options +Formula +Chart options +VBA Properties +Microsoft Office +Languages +Language Setting Options +Data sources options +Wizards +Wizard +Letter Wizard +Letter Wizard +Fax Wizard +Fax Wizard +Agenda Wizard +Agenda Wizard +Presentation Wizard +Presentation Wizard +HTML Export Wizard +HTML Export +Document Converter Wizard +Document Converter +Euro Converter Wizard +Configuring Oracle Open Office +Configuring Oracle Open Office +Extension Manager +Changing Icon Views +Adding Buttons to Toolbars +Changing Your Working Directory +Changing Default Templates +Registering an Address Book +Inserting and Editing Buttons +Working with the User Interface +Navigation to Quickly Reach Objects +Navigator for Document Overview +Showing, Docking and Hiding Windows +Showing Navigation Pane of the Help +Switching Between Insert Mode and Overwrite Mode +Using Toolbars +Printing, Faxing, Sending +Printing Address Labels +Printing in Black and White +Sending Documents as E-mail +Sending Faxes and Configuring Oracle Open Office for Faxing +Drag & Drop +Dragging and Dropping Within a Oracle Open Office Document +Moving and Copying Text in Documents +Copying Spreadsheet Areas to Text Documents +Copying Graphics Between Documents +Copying Graphics From the Gallery +Drag-and-Drop With the Data Source View +Copy and Paste +Copying Drawing Objects Into Other Documents +Copying Graphics Between Documents +Copying Graphics From the Gallery +Copying Spreadsheet Areas to Text Documents +Charts and Diagrams +Inserting Charts +Charts in Oracle Open Office +Load, Save, Import, Export +Opening Documents +Opening documents saved in other formats +Saving Documents +Saving Documents Automatically +Saving Documents in Other Formats +Importing and Exporting Data in Text Format +Links and References +Inserting Hyperlinks +Relative and Absolute Links +Editing Hyperlinks +Document Version Tracking +Comparing Versions of a Document +Merging Versions +Recording Changes +Recording and Displaying Changes +Accepting or Rejecting Changes +Version Management +Labels and Business Cards +Creating and Printing Labels and Business Cards +Inserting External Data +Inserting Data From Spreadsheets +Inserting Data From Text Documents +Inserting, Editing, Saving Bitmaps +Adding Graphics to the Gallery +Automatic Functions +Turning off Automatic URL Recognition +Searching and Replacing +Searching With a Form Filter +Searching With the Hyperlink Bar +Searching Tables and Form Documents +List of Regular Expressions +Guides +Applying Line Styles +Changing the Color of Text +Changing the Title of a Document +Creating Round Corners +Defining Background Colors or Background Graphics +Defining Line Ends +Defining Line Styles +Editing Graphic Objects +Drawing Lines in Text +First Steps +Inserting Objects From the Gallery +Inserting Protected Spaces, Hyphens and Conditional Separators +Inserting Special Characters +Inserting and Editing Tab Stops +Protecting Content in Oracle Open Office +Protecting Records +Selecting the Maximum Printable Area on a Page +Selecting Measurement Units +Selecting the Document Language +Table Design +Turning off Bullets and Numbering for Individual Paragraphs +Database Functionality +General Information +Oracle Open Office Database +Database Overview +Creating a New Database +Working with Tables +Working with Queries +Working with Forms +Creating Reports +Registering and Deleting a Database +Importing and Exporting Data in Base +Executing SQL Commands +Text Documents +General Information and User Interface Usage +Welcome to the Oracle Open Office Writer Help +Oracle Open Office Writer Features +Instructions for Using Oracle Open Office Writer +Docking and Resizing Windows +Shortcut Keys for Oracle Open Office Writer +Counting Words +Using Shortcut Keys (Oracle Open Office Writer Accessibility) +Command and Menu Reference +Menus +Menus +File +Edit +View +Insert +Format +Tools +Window +Toolbars +Toolbars +Formatting Bar +Picture Bar +Table Bar +Drawing Object Properties Bar +Bullets and Numbering Bar +Status Bar +Page Preview +Rulers +Formula Bar +Frame Bar +OLE-Object Bar +Text Object Bar +Standard Bar +Hyperlink Bar +Table Data Bar +Form Navigation Bar +Query Design Bar +Form Design Toolbar +Creating Text Documents +Navigating and Selecting With the Keyboard +Using the Direct Cursor +Graphics in Text Documents +Inserting Graphics +Inserting a Graphic From a File +Inserting Graphics From the Gallery With Drag-and-Drop +Inserting a Scanned Image +Inserting a Calc Chart into a Text Document +Inserting Graphics From Oracle Open Office Draw or Impress +Inserting a Horizontal Line +Tables in Text Documents +Turning Number Recognition On or Off in Tables +Modifying Rows and Columns by Keyboard +Deleting Tables or the Contents of a Table +Inserting Tables +Repeating a Table Header on a New Page +Resizing Rows and Columns in a Text Table +Adding or Deleting a Row or Column to a Table Using the Keyboard +Objects in Text Documents +Positioning Objects +Wrapping Text Around Objects +Sections and Frames in Text Documents +Using Sections +Inserting, Editing, and Linking Text Frames +Editing Sections +Inserting Sections +Tables of Contents and Indexes +Outline Numbering +User-Defined Indexes +Creating a Table of Contents +Creating Alphabetical Indexes +Indexes Covering Several Documents +Creating a Bibliography +Editing or Deleting Index and Table Entries +Updating, Editing and Deleting Indexes and Tables of Contents +Defining Index or Table of Contents Entries +Formatting an Index or a Table of Contents +Fields in Text Documents +About Fields +Inserting a Fixed or Variable Date Field +Converting a Field into Text +Navigating Text Documents +Moving and Copying Text in Documents +Rearranging a Document by Using the Navigator +Inserting Hyperlinks With the Navigator +Navigator for Text Documents +Calculating in Text Documents +Calculating Across Tables +Calculating in Text Documents +Calculating and Pasting the Result of a Formula in a Text Document +Calculating Cell Totals in Tables +Calculating Complex Formulas in Text Documents +Displaying the Result of a Table Calculation in a Different Table +Formatting Text Documents +Templates and Styles +Templates and Styles +Alternating Page Styles on Odd and Even Pages +Creating a Page Style Based on the Current Page +Using Styles From Another Document or Template +Creating New Styles From Selections +Updating Styles From Selections +Creating a Document Template +Changing the Default Template +Changing the Case of Text +Hiding Text +Defining Different Headers and Footers +Inserting a Chapter Name and Number in a Header or a Footer +Applying Text Formatting While You Type +Resetting Font Attributes +Applying Styles in Fill Format Mode +Wrapping Text Around Objects +Using a Frame to Center Text on a Page +Emphasizing Text +Rotating Text +Inserting and Deleting Page Breaks +Creating and Applying Page Styles +Making Text Superscript or Subscript +Special Text Elements +Using Captions +Conditional Text +Conditional Text for Page Counts +Inserting a Fixed or Variable Date Field +Adding Input Fields +Inserting Page Numbers of Continuation Pages +Inserting Page Numbers in Footers +Hiding Text +Defining Different Headers and Footers +Inserting a Chapter Name and Number in a Header or a Footer +Querying User Data in Fields or Conditions +Inserting and Editing Footnotes or Endnotes +Spacing Between Footnotes +About Headers and Footers +Formatting Headers or Footers +Animating Text +Creating a Form Letter +Automatic Functions +Adding Exceptions to the AutoCorrect List +Using AutoText +Creating Numbered or Bulleted Lists as You Type +Turning Off AutoCorrect +Automatically Check Spelling +Turning Number Recognition On or Off in Tables +Checking Spelling in Other Languages +Hyphenation +Numbering and Lists +Adding Chapter Numbers to Captions +Creating Numbered or Bulleted Lists as You Type +Outline Numbering +Changing the Outline Level of Numbered and Bulleted Lists +Combining Numbered Lists +Adding Line Numbers +Modifying Numbering in a Numbered List +Defining Number Ranges +Adding Numbering +Numbering and Numbering Styles +Adding Bullets +Spellchecking, Thesaurus, and Languages +Automatically Check Spelling +Removing Words From a User-Defined Dictionary +Thesaurus +Checking Spelling in Other Languages +Checking Spelling and Grammar +Troubleshooting Tips +Inserting Text Before a Table at the Top of Page +Going to Specific Bookmark +Loading, Saving, Importing, and Exporting +Saving Text Documents in HTML Format +Inserting an Entire Text Document +Master Documents +Master Documents and Subdocuments +Links and References +Inserting Cross-References +Inserting Hyperlinks With the Navigator +Printing +Selecting printer paper trays +Previewing a Page Before Printing +Printing Multiple Pages on One Sheet +Creating and Applying Page Styles +Searching and Replacing +Using Wildcards in Text Searches +List of Regular Expressions +HTML Documents +Web Pages +HTML Filters and Forms +Saving Text Documents in HTML Format +Macros and Programming +General Information and User Interface Usage +Oracle Open Office Basic Help +Programming with Oracle Open Office Basic +Oracle Open Office Basic Glossary +Basics +Syntax +Oracle Open Office Basic IDE +IDE Overview +The Basic Editor +Watch Window +Macro Toolbar +Macro +Command Reference +Using Procedures and Functions +Libraries, Modules and Dialogs +Run-Time Functions, Statements, and Operators +Screen I/O Functions +File I/O Functions +Date and Time Functions +Error-Handling Functions +Logical Operators +Mathematical Operators +Numeric Functions +Controlling Program Execution +Variables +Comparison Operators +Strings +Other Commands +Alphabetic List of Functions, Statements, and Operators +Abs Function [Runtime] +AND Operator [Runtime] +Array Function [Runtime] +Asc Function [Runtime] +Atn Function [Runtime] +Beep Statement [Runtime] +Blue Function [Runtime] +CBool Function [Runtime] +CByte Function [Runtime] +CDateFromIso Function [Runtime] +CDateToIso Function [Runtime] +CDate Function [Runtime] +CDbl Function [Runtime] +CInt Function [Runtime] +CLng Function [Runtime] +CSng Function[Runtime] +CStr Function [Runtime] +Call Statement [Runtime] +ChDir Statement [Runtime] +ChDrive Statement [Runtime] +Choose Function [Runtime] +Chr Function [Runtime] +Close Statement [Runtime] +Comparison Operators [Runtime] +Const Statement [Runtime] +ConvertFromURL Function [Runtime] +ConvertToURL Function [Runtime] +Cos Function [Runtime] +CreateUnoDialog Function [Runtime] +CreateUnoListener Function [Runtime] +CreateUnoService Function [Runtime] +CreateUnoStruct Function [Runtime] +CurDir Function [Runtime] +DateSerial Function [Runtime] +DateValue Function [Runtime] +Date Statement [Runtime] +Day Function [Runtime] +Declare Statement [Runtime] +DefBool Statement [Runtime] +DefDate Statement [Runtime] +DefDbl Statement [Runtime] +DefInt Statement [Runtime] +DefLng Statement [Runtime] +DefObj Statement [Runtime] +DefVar Statement [Runtime] +DimArray Function [Runtime] +Dim Statement [Runtime] +Dir Function [Runtime] +Do...Loop Statement [Runtime] +Comparison Operators [Runtime] +End Statement [Runtime] +Environ Function [Runtime] +Eof Function [Runtime] +EqualUnoObjects Function [Runtime] +Eqv Operator [Runtime] +Erl Function [Runtime] +Err Function [Runtime] +Error Function [Runtime] +Error-Handling Functions +Exit Statement [Runtime] +Exp Function [Runtime] +FileAttr-Function [Runtime] +FileCopy Statement [Runtime] +FileDateTime Function [Runtime] +FileExists Function [Runtime] +FileLen-Function [Runtime] +FindObject Function [Runtime] +FindPropertyObject Function [Runtime] +Fix Function [Runtime] +For...Next Statement [Runtime] +Format Function [Runtime] +FreeFile Function[Runtime] +FreeLibrary Function [Runtime] +Function Statement [Runtime] +Further Statements +Generating Random Numbers +GetAttr Function [Runtime] +GetProcessServiceManager Function [Runtime] +GetSolarVersion Function [Runtime] +GetSystemTicks Function [Runtime] +Get Statement [Runtime] +GlobalScope [Runtime] +GoSub...Return Statement [Runtime] +GoTo Statement [Runtime] +Green Function [Runtime] +HasUnoInterfaces Function [Runtime] +Hex Function [Runtime] +Hour Function [Runtime] +IIf Statement [Runtime] +If...Then...Else Statement [Runtime] +Imp-Operator [Runtime] +InStr Function [Runtime] +InputBox Function [Runtime] +Input# Statement [Runtime] +Int Function [Runtime] +IsArray Function [Runtime] +IsDate Function [Runtime] +IsEmpty Function [Runtime] +IsMissing function [Runtime] +IsNull Function [Runtime] +IsNumeric Function [Runtime] +IsObject Function [Runtime] +IsUnoStruct Function [Runtime] +Join Function [Runtime] +Kill Statement [Runtime] +LBound Function [Runtime] +LCase Function [Runtime] +LSet Statement [Runtime] +LTrim Function [Runtime] +Left Function [Runtime] +Len Function [Runtime] +Let Statement [Runtime] +Line Input # Statement [Runtime] +Loc Function [Runtime] +Lof Function [Runtime] +Log Function [Runtime] +Mid Function, Mid Statement [Runtime] +Minute Function [Runtime] +MkDir Statement [Runtime] +Mod-Operator [Runtime] +Month Function [Runtime] +MsgBox Function [Runtime] +MsgBox Statement [Runtime] +Name Statement [Runtime] +Not-Operator [Runtime] +Now Function [Runtime] +Numeric Functions +Oct Function [Runtime] +On Error GoTo ... Resume Statement [Runtime] +On...GoSub Statement; On...GoTo Statement [Runtime] +Open Statement[Runtime] +Option Base Statement [Runtime] +Option Explicit Statement [Runtime] +Optional (in Function Statement) [Runtime] +Or-Operator [Runtime] +Print Statement [Runtime] +Public Statement [Runtime] +Put Statement [Runtime] +QBColor Function [Runtime] +RGB Function [Runtime] +RSet Statement [Runtime] +RTrim Function [Runtime] +Randomize Statement [Runtime] +ReDim Statement [Runtime] +Red Function [Runtime] +Rem Statement [Runtime] +Reset Statement [Runtime] +Right Function [Runtime] +RmDir Statement [Runtime] +Rnd Function [Runtime] +Second Function [Runtime] +Seek Function [Runtime] +Seek Statement [Runtime] +Select...Case Statement [Runtime] +SetAttr Statement [Runtime] +Set Statement[Runtime] +Sgn Function [Runtime] +Shell Function [Runtime] +Sin Function [Runtime] +Space Function [Runtime] +Split Function [Runtime] +Sqr Function [Runtime] +Square Root Calculation +Static Statement [Runtime] +Stop Statement [Runtime] +StrComp Function [Runtime] +Str Function [Runtime] +String Function [Runtime] +Sub Statement [Runtime] +Switch Function [Runtime] +Tan Function [Runtime] +TimeSerial Function [Runtime] +TimeValue Function [Runtime] +Time Statement [Runtime] +Timer Function [Runtime] +Trigonometric Functions +Trim Function [Runtime] +TwipsPerPixelX Function [Runtime] +TwipsPerPixelY Function [Runtime] +TypeName Function; VarType Function[Runtime] +UBound Function [Runtime] +UCase Function [Runtime] +Val Function [Runtime] +Wait Statement [Runtime] +WeekDay Function [Runtime] +While...Wend Statement[Runtime] +With Statement [Runtime] +Write Statement [Runtime] +Xor-Operator [Runtime] +Year Function [Runtime] +"-" Operator [Runtime] +"*" Operator [Runtime] +"+" Operator [Runtime] +"/" Operator [Runtime] +"^" Operator [Runtime] +Guides +Changing the Properties of Controls in the Dialog Editor +Creating Controls in the Dialog Editor +Programming Examples for Controls in the Dialog Editor +Opening a Dialog With Program Code +Creating a Basic Dialog +Organizing Libraries and Modules +Using Variables +Using Objects +Debugging a Basic Program +Event-Driven Macros +Presentations and Drawings +General Information and User Interface Usage +Welcome to the Oracle Open Office Impress Help +Welcome to the Oracle Open Office Draw Help +Oracle Open Office Impress Features +Oracle Open Office Draw Features +Using Shortcut Keys in Oracle Open Office Impress +Shortcut Keys for Drawing Objects +Shortcut Keys for Oracle Open Office Impress +Shortcut Keys for Drawings +Instructions for Using Oracle Open Office Impress +Instructions for Using Oracle Open Office Draw +Command and Menu Reference +Presentations (Oracle Open Office Impress) +Menus +Menus +File +Edit +View +Insert +Format +Tools +Window +Slide Show +Toolbars +Toolbars +Line and Filling Bar +Text Formatting Bar +Slide View Bar +Status Bar +Rulers +Drawing Bar +Outline Bar +Slide Sorter Bar +Options Bar +Picture Bar +Standard Bar +Hyperlink Bar +Form Navigation Bar +Form Design Toolbar +Edit Points Bar +Drawings (Oracle Open Office Draw) +Menus +Menus +File +Edit +View +Insert +Format +Tools +Modify +Toolbars +Toolbars +Drawing Bar +Options Bar +Standard Bar +Hyperlink Bar +Form Navigation Bar +Form Design Toolbar +Edit Points Bar +Loading, Saving, Importing, and Exporting +Saving a Presentation in HTML Format +Importing HTML Pages Into Presentations +Loading Color, Gradient, and Hatching Lists +Exporting Animations in GIF Format +Including Spreadsheets in Slides +Inserting Graphics +Copying Slides From Other Presentations +Formatting +Loading Color, Gradient, and Hatching Lists +Loading Line and Arrow Styles +Defining Custom Colors +Creating Gradient Fills +Replacing Colors +Arranging, Aligning and Distributing Objects +Changing the Slide Background Fill +Adding a Header or a Footer to All Slides +Applying a Slide Design to a Slide Master +Moving Objects +Printing +Printing Presentations +Printing a Slide to Fit a Paper Size +Effects +Exporting Animations in GIF Format +Animating Objects in Presentation Slides +Animating Slide Transitions +Cross-Fading Two Objects +Creating Animated GIF Images +Objects, Graphics, and Bitmaps +Combining Objects and Constructing Shapes +Drawing Sectors and Segments +Duplicating Objects +Rotating Objects +Assembling 3D Objects +Connecting Lines +Converting Text Characters into Drawing Objects +Converting Bitmap Images into Vector Graphics +Converting 2D Objects to Curves, Polygons, and 3D Objects +Loading Line and Arrow Styles +Drawing Curves +Editing Curves +Inserting Graphics +Including Spreadsheets in Slides +Moving Objects +Selecting Underlying Objects +Creating a Flowchart +Groups and Layers +Grouping Objects +About Layers +Inserting Layers +Working With Layers +Moving Objects to a Different Layer +Text in Presentations and Drawings +Adding Text +Converting Text Characters into Drawing Objects +Viewing +Creating a Custom Slide Show +Changing the Slide Order +Zooming With the Keypad +Rehearse Timings of Slide Changes +Charts and Diagrams +General Information +Charts in Oracle Open Office +Oracle Open Office Chart Features +Shortcuts for Charts diff --git a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt index a7640272ec27..24c206de5308 100755 --- a/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt +++ b/testautomation/framework/optional/input/help_browser/Oracle_Open_Office_help_topics_en-US.txt @@ -1,16338 +1,3 @@ -Oracle Open Office Basic : "^" operator (mathematical) -Oracle Open Office Basic : "-" operator (mathematical) -Oracle Open Office Basic : "*" operator (mathematical) -Oracle Open Office Basic : "/" operator (mathematical) -Oracle Open Office Basic : "+" operator (mathematical) -Oracle Open Office Basic : 1/2 replacement -Oracle Open Office Basic : 3D text creation -Oracle Open Office Basic : abbreviation replacement -Oracle Open Office Basic : Abs function -Oracle Open Office Basic : absolute hyperlinks -Oracle Open Office Basic : absolute saving of URLs -Oracle Open Office Basic : accents -Oracle Open Office Basic : Access databases (base) -Oracle Open Office Basic : access rights for database tables (Base) -Oracle Open Office Basic : accessibility -Oracle Open Office Basic : accessibility;general shortcuts -Oracle Open Office Basic : accessibility;options -Oracle Open Office Basic : accessibility;Oracle Open Office assistive technology -Oracle Open Office Basic : accessibility;Oracle Open Office features -Oracle Open Office Basic : activating -Oracle Open Office Basic : activating;context menus -Oracle Open Office Basic : activating;Error Report Tool -Oracle Open Office Basic : activating;extended help tips -Oracle Open Office Basic : activating;plug-ins -Oracle Open Office Basic : ActiveX control -Oracle Open Office Basic : Adabas D databases (base) -Oracle Open Office Basic : add-ons, see UNO components -Oracle Open Office Basic : adding libraries -Oracle Open Office Basic : additional selection mode -Oracle Open Office Basic : address books -Oracle Open Office Basic : address books;LDAP server (Base) -Oracle Open Office Basic : address books;registering -Oracle Open Office Basic : address labels from databases -Oracle Open Office Basic : ADO databases (Base) -Oracle Open Office Basic : Agenda Wizard -Oracle Open Office Basic : aging filter -Oracle Open Office Basic : aligning -Oracle Open Office Basic : aligning;cells -Oracle Open Office Basic : aligning;objects -Oracle Open Office Basic : aligning;paragraphs -Oracle Open Office Basic : aligning;tables in text -Oracle Open Office Basic : aligning;text objects -Oracle Open Office Basic : alternative fonts -Oracle Open Office Basic : ampersand symbol in StarBasic -Oracle Open Office Basic : ampersand symbol, see also operators -Oracle Open Office Basic : anchors -Oracle Open Office Basic : anchors;changing -Oracle Open Office Basic : anchors;displaying (Calc) -Oracle Open Office Basic : anchors;types/positions for draw objects -Oracle Open Office Basic : AND operator (logical) -Oracle Open Office Basic : animations -Oracle Open Office Basic : animations;accessibility options -Oracle Open Office Basic : appearance options -Oracle Open Office Basic : Arabic -Oracle Open Office Basic : Arabic;entering text -Oracle Open Office Basic : Arabic;language settings -Oracle Open Office Basic : areas -Oracle Open Office Basic : areas;bitmap patterns -Oracle Open Office Basic : areas;hatched/dotted -Oracle Open Office Basic : areas;shadows -Oracle Open Office Basic : areas;slanting -Oracle Open Office Basic : areas;styles -Oracle Open Office Basic : areas;transparency -Oracle Open Office Basic : arguments in command line -Oracle Open Office Basic : arranging -Oracle Open Office Basic : arranging;objects -Oracle Open Office Basic : Array function -Oracle Open Office Basic : arrays -Oracle Open Office Basic : arrays;declaring -Oracle Open Office Basic : arrays;dimensioning -Oracle Open Office Basic : arrows -Oracle Open Office Basic : arrows;defining arrow heads -Oracle Open Office Basic : arrows;defining arrow lines -Oracle Open Office Basic : arrows;drawing in text -Oracle Open Office Basic : Asc function -Oracle Open Office Basic : ASCII -Oracle Open Office Basic : ASCII;definition -Oracle Open Office Basic : Asian languages -Oracle Open Office Basic : Asian languages;enabling -Oracle Open Office Basic : Asian Phonetic Guide -Oracle Open Office Basic : Asian typography -Oracle Open Office Basic : assigning macros to events -Oracle Open Office Basic : assigning scripts -Oracle Open Office Basic : assistive technology in Oracle Open Office -Oracle Open Office Basic : Atn function -Oracle Open Office Basic : attaching toolbars -Oracle Open Office Basic : attachments in e-mails -Oracle Open Office Basic : audio -Oracle Open Office Basic : auto reloading HTML documents -Oracle Open Office Basic : AutoAbstract function for sending text to presentations -Oracle Open Office Basic : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Basic : AutoComplete function in text and list boxes -Oracle Open Office Basic : AutoCorrect function -Oracle Open Office Basic : AutoCorrect function;context menu -Oracle Open Office Basic : AutoCorrect function;options -Oracle Open Office Basic : AutoCorrect function;pictures and frames -Oracle Open Office Basic : AutoCorrect function;quotes -Oracle Open Office Basic : AutoCorrect function;replacement table -Oracle Open Office Basic : AutoCorrect function;switching on and off in Calc -Oracle Open Office Basic : AutoCorrect function;URL recognition -Oracle Open Office Basic : AutoFormat function -Oracle Open Office Basic : AutoFormat function;switching on and off -Oracle Open Office Basic : automatic captions (Writer) -Oracle Open Office Basic : automatic control focus -Oracle Open Office Basic : automatic hyperlink formatting -Oracle Open Office Basic : automatic line breaks -Oracle Open Office Basic : automatic lines/borders in text -Oracle Open Office Basic : automatic saving -Oracle Open Office Basic : AutoPilots, see wizards -Oracle Open Office Basic : AutoValue (Base) -Oracle Open Office Basic : axes in charts -Oracle Open Office Basic : backgrounds -Oracle Open Office Basic : backgrounds;defining colors/pictures -Oracle Open Office Basic : backgrounds;frames/sections/indexes -Oracle Open Office Basic : backgrounds;inserting from Gallery -Oracle Open Office Basic : backgrounds;printing -Oracle Open Office Basic : backing window -Oracle Open Office Basic : backups -Oracle Open Office Basic : backups;automatic -Oracle Open Office Basic : backups;documents -Oracle Open Office Basic : Basic -Oracle Open Office Basic : Basic;fonts for source display -Oracle Open Office Basic : Basic;programming -Oracle Open Office Basic : Basic;recording macros -Oracle Open Office Basic : Basic editor -Oracle Open Office Basic : basic fonts -Oracle Open Office Basic : Basic IDE -Oracle Open Office Basic : Basic IDE;Integrated Development Environment -Oracle Open Office Basic : Basic IDE;macros -Oracle Open Office Basic : BasicLibraries (LibraryContainer) -Oracle Open Office Basic : Beep statement -Oracle Open Office Basic : Bézier curves -Oracle Open Office Basic : Bézier curves;control points in presentations -Oracle Open Office Basic : bi-directional writing -Oracle Open Office Basic : binding space -Oracle Open Office Basic : bitmaps -Oracle Open Office Basic : bitmaps;inserting and editing -Oracle Open Office Basic : bitmaps;off for faster printing -Oracle Open Office Basic : bitmaps;patterns -Oracle Open Office Basic : black and white printing -Oracle Open Office Basic : black printing in Calc -Oracle Open Office Basic : block selection mode -Oracle Open Office Basic : Blue function -Oracle Open Office Basic : bold -Oracle Open Office Basic : bold;AutoFormat function -Oracle Open Office Basic : bold;text -Oracle Open Office Basic : bookmarks -Oracle Open Office Basic : bookmarks;Help -Oracle Open Office Basic : borders -Oracle Open Office Basic : borders;arranging -Oracle Open Office Basic : borders;cells on screen (Calc) -Oracle Open Office Basic : borders;for paragraphs -Oracle Open Office Basic : borders;for tables -Oracle Open Office Basic : borders;shadows -Oracle Open Office Basic : borders;table boundaries (Writer) -Oracle Open Office Basic : borders, see also frames -Oracle Open Office Basic : bound fields -Oracle Open Office Basic : bound fields;controls -Oracle Open Office Basic : boundaries of tables (Writer) -Oracle Open Office Basic : break display (Writer) -Oracle Open Office Basic : breakpoints -Oracle Open Office Basic : brochures -Oracle Open Office Basic : brochures;printing several -Oracle Open Office Basic : build numbers of Oracle Open Office -Oracle Open Office Basic : bullet lists -Oracle Open Office Basic : bullet lists;formatting options -Oracle Open Office Basic : bullets -Oracle Open Office Basic : bullets;paragraphs -Oracle Open Office Basic : bullets;replacing -Oracle Open Office Basic : bullets;turning off -Oracle Open Office Basic : business cards -Oracle Open Office Basic : business cards;creating and synchronizing -Oracle Open Office Basic : business cards;using templates -Oracle Open Office Basic : button bars, see toolbars -Oracle Open Office Basic : buttons -Oracle Open Office Basic : buttons;adding push buttons -Oracle Open Office Basic : buttons;big/small -Oracle Open Office Basic : buttons;controls -Oracle Open Office Basic : buttons;editing hyperlink buttons -Oracle Open Office Basic : buttons;form functions -Oracle Open Office Basic : buttons;toolbars -Oracle Open Office Basic : cache for graphics -Oracle Open Office Basic : calculating -Oracle Open Office Basic : calculating;iterative references (Calc) -Oracle Open Office Basic : Call Stack window -Oracle Open Office Basic : Call statement -Oracle Open Office Basic : callouts -Oracle Open Office Basic : callouts;drawings -Oracle Open Office Basic : capital letters -Oracle Open Office Basic : capital letters;AutoCorrect function -Oracle Open Office Basic : capital letters;font effects -Oracle Open Office Basic : captions -Oracle Open Office Basic : captions;automatic captions (Writer) -Oracle Open Office Basic : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Basic : captions, see also labels/callouts -Oracle Open Office Basic : cascading update (Base) -Oracle Open Office Basic : case sensitivity -Oracle Open Office Basic : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Basic : case sensitivity;searching -Oracle Open Office Basic : Case statement -Oracle Open Office Basic : CBool function -Oracle Open Office Basic : CByte function -Oracle Open Office Basic : CCur function -Oracle Open Office Basic : CDate function -Oracle Open Office Basic : CdateFromIso function -Oracle Open Office Basic : CdateToIso function -Oracle Open Office Basic : CDbl function -Oracle Open Office Basic : CDec function -Oracle Open Office Basic : cells -Oracle Open Office Basic : cells;aligning -Oracle Open Office Basic : cells;coloring (Calc) -Oracle Open Office Basic : cells;cursor positions after input (Calc) -Oracle Open Office Basic : cells;formatting without effect (Calc) -Oracle Open Office Basic : cells;line breaks -Oracle Open Office Basic : cells;linked to controls -Oracle Open Office Basic : cells;number of -Oracle Open Office Basic : cells;pasting -Oracle Open Office Basic : cells;resetting formats -Oracle Open Office Basic : cells;showing grid lines (Calc) -Oracle Open Office Basic : centered text -Oracle Open Office Basic : centimeters -Oracle Open Office Basic : certificates -Oracle Open Office Basic : changes -Oracle Open Office Basic : changes;accepting or rejecting -Oracle Open Office Basic : changes;comparing to original -Oracle Open Office Basic : changes;protecting -Oracle Open Office Basic : changes;recording -Oracle Open Office Basic : changes;review function -Oracle Open Office Basic : changes;showing -Oracle Open Office Basic : changing -Oracle Open Office Basic : changing;control properties -Oracle Open Office Basic : changing;document titles -Oracle Open Office Basic : changing;file associations in Setup program -Oracle Open Office Basic : changing;icon sizes -Oracle Open Office Basic : changing;links -Oracle Open Office Basic : changing;work directory -Oracle Open Office Basic : changing, see also editing and replacing -Oracle Open Office Basic : character styles -Oracle Open Office Basic : character styles;language selection -Oracle Open Office Basic : characters -Oracle Open Office Basic : characters;alternative fonts -Oracle Open Office Basic : characters;Asian layout -Oracle Open Office Basic : characters;bold -Oracle Open Office Basic : characters;coloring -Oracle Open Office Basic : characters;displaying only on screen (Writer) -Oracle Open Office Basic : characters;enabling CTL and Asian characters -Oracle Open Office Basic : characters;font effects -Oracle Open Office Basic : characters;fonts and formats -Oracle Open Office Basic : characters;hyperlinks -Oracle Open Office Basic : characters;italics -Oracle Open Office Basic : characters;language selection -Oracle Open Office Basic : characters;shadowed -Oracle Open Office Basic : characters;spacing -Oracle Open Office Basic : characters;special -Oracle Open Office Basic : characters;underlining -Oracle Open Office Basic : charcoal sketches filter -Oracle Open Office Basic : charts -Oracle Open Office Basic : charts;arranging within stacks -Oracle Open Office Basic : charts;bars with textures -Oracle Open Office Basic : charts;colors -Oracle Open Office Basic : charts;copying with link to source cell range -Oracle Open Office Basic : charts;displaying (Calc) -Oracle Open Office Basic : charts;editing axes -Oracle Open Office Basic : charts;editing data -Oracle Open Office Basic : charts;editing legends -Oracle Open Office Basic : charts;editing titles -Oracle Open Office Basic : charts;inserting -Oracle Open Office Basic : charts;updating automatically (Writer) -Oracle Open Office Basic : ChDir statement -Oracle Open Office Basic : ChDrive statement -Oracle Open Office Basic : check box control -Oracle Open Office Basic : check box creation -Oracle Open Office Basic : Chinese writing systems -Oracle Open Office Basic : Choose function -Oracle Open Office Basic : choosing printers -Oracle Open Office Basic : Chr function -Oracle Open Office Basic : CInt function -Oracle Open Office Basic : circle drawings -Oracle Open Office Basic : Client Side ImageMap -Oracle Open Office Basic : clipboard -Oracle Open Office Basic : clipboard;cutting -Oracle Open Office Basic : clipboard;pasting -Oracle Open Office Basic : clipboard;pasting formatted/unformatted text -Oracle Open Office Basic : clipboard;selection clipboard -Oracle Open Office Basic : clipboard;Unix -Oracle Open Office Basic : CLng function -Oracle Open Office Basic : Close statement -Oracle Open Office Basic : closing -Oracle Open Office Basic : closing;documents -Oracle Open Office Basic : closing;toolbars -Oracle Open Office Basic : collaboration -Oracle Open Office Basic : color bar -Oracle Open Office Basic : colors -Oracle Open Office Basic : colors;adding -Oracle Open Office Basic : colors;appearance -Oracle Open Office Basic : colors;backgrounds -Oracle Open Office Basic : colors;charts -Oracle Open Office Basic : colors;fill format -Oracle Open Office Basic : colors;fonts -Oracle Open Office Basic : colors;grid lines and cells (Calc) -Oracle Open Office Basic : colors;models -Oracle Open Office Basic : colors;not printing -Oracle Open Office Basic : colors;printing in grayscale -Oracle Open Office Basic : colors;restriction (Calc) -Oracle Open Office Basic : colors;selection -Oracle Open Office Basic : column headers -Oracle Open Office Basic : column headers;displaying (Calc) -Oracle Open Office Basic : column headers;highlighting (Calc) -Oracle Open Office Basic : columns -Oracle Open Office Basic : columns;setting with the mouse -Oracle Open Office Basic : combo box control -Oracle Open Office Basic : combo box creation -Oracle Open Office Basic : command button creation -Oracle Open Office Basic : command buttons, see push buttons -Oracle Open Office Basic : command line parameters -Oracle Open Office Basic : commands -Oracle Open Office Basic : commands;repeating -Oracle Open Office Basic : commands;SQL -Oracle Open Office Basic : comments -Oracle Open Office Basic : comments;displaying (Calc) -Oracle Open Office Basic : comments;inserting/editing/deleting/printing -Oracle Open Office Basic : comments;on changes -Oracle Open Office Basic : comments;printing in text -Oracle Open Office Basic : comments;Rem statement -Oracle Open Office Basic : common terms -Oracle Open Office Basic : common terms;Chinese dictionary -Oracle Open Office Basic : common terms;glossaries -Oracle Open Office Basic : common terms;Internet glossary -Oracle Open Office Basic : comparison operators -Oracle Open Office Basic : comparison operators;Oracle Open Office Basic -Oracle Open Office Basic : comparisons -Oracle Open Office Basic : comparisons;document versions -Oracle Open Office Basic : comparisons;operators in default filter dialog -Oracle Open Office Basic : compatibility settings for MS Word import -Oracle Open Office Basic : complete screen view -Oracle Open Office Basic : complex text layout -Oracle Open Office Basic : complex text layout;definition -Oracle Open Office Basic : complex text layout;enabling -Oracle Open Office Basic : complex text layout, see CTL -Oracle Open Office Basic : components -Oracle Open Office Basic : components;addressing -Oracle Open Office Basic : compose key to insert special characters -Oracle Open Office Basic : concatenation, see ampersand symbol -Oracle Open Office Basic : conditional separators -Oracle Open Office Basic : conditions -Oracle Open Office Basic : conditions;in number formats -Oracle Open Office Basic : conditions;items in Data Navigator -Oracle Open Office Basic : Configuration Manager -Oracle Open Office Basic : configuring -Oracle Open Office Basic : configuring;fax icon -Oracle Open Office Basic : configuring;Oracle Open Office -Oracle Open Office Basic : configuring;toolbars -Oracle Open Office Basic : connections to data sources (Base) -Oracle Open Office Basic : Const statement -Oracle Open Office Basic : constants -Oracle Open Office Basic : contents protection -Oracle Open Office Basic : context menus -Oracle Open Office Basic : continuation -Oracle Open Office Basic : continuation;long lines in editor -Oracle Open Office Basic : control point display in presentations -Oracle Open Office Basic : controls -Oracle Open Office Basic : controls;activating in forms -Oracle Open Office Basic : controls;adding to documents -Oracle Open Office Basic : controls;arranging in forms -Oracle Open Office Basic : controls;arranging within stacks -Oracle Open Office Basic : controls;assigning data sources -Oracle Open Office Basic : controls;assigning macros (Basic) -Oracle Open Office Basic : controls;bound fields/list contents/linked cells -Oracle Open Office Basic : controls;changing properties -Oracle Open Office Basic : controls;creating in the dialog editor -Oracle Open Office Basic : controls;events -Oracle Open Office Basic : controls;focus -Oracle Open Office Basic : controls;formatted fields -Oracle Open Office Basic : controls;grouping -Oracle Open Office Basic : controls;hidden -Oracle Open Office Basic : controls;in dialog editor -Oracle Open Office Basic : controls;inserting -Oracle Open Office Basic : controls;multi-line titles -Oracle Open Office Basic : controls;positions and sizes -Oracle Open Office Basic : controls;printing -Oracle Open Office Basic : controls;properties -Oracle Open Office Basic : controls;properties of form controls -Oracle Open Office Basic : controls;properties of table controls -Oracle Open Office Basic : controls;reading or editing properties (example) -Oracle Open Office Basic : controls;reference by SQL -Oracle Open Office Basic : controls;rich text control -Oracle Open Office Basic : controls;select mode -Oracle Open Office Basic : controls;showing (Writer) -Oracle Open Office Basic : converters -Oracle Open Office Basic : converters;Euro converter -Oracle Open Office Basic : converters;PostScript, UNIX -Oracle Open Office Basic : converters;XML -Oracle Open Office Basic : ConvertFromURL function -Oracle Open Office Basic : converting -Oracle Open Office Basic : converting;Hangul/Hanja -Oracle Open Office Basic : converting;metrics -Oracle Open Office Basic : converting;Microsoft documents -Oracle Open Office Basic : converting;Oracle Open Office documents -Oracle Open Office Basic : converting;Pocket PC formats -Oracle Open Office Basic : ConvertToURL function -Oracle Open Office Basic : copies -Oracle Open Office Basic : copies;printing -Oracle Open Office Basic : copying -Oracle Open Office Basic : copying;by drag and drop -Oracle Open Office Basic : copying;data from text documents -Oracle Open Office Basic : copying;datasource records in spreadsheets -Oracle Open Office Basic : copying;draw objects -Oracle Open Office Basic : copying;draw objects between documents -Oracle Open Office Basic : copying;formatting -Oracle Open Office Basic : copying;from data source view -Oracle Open Office Basic : copying;from Gallery -Oracle Open Office Basic : copying;in Unix -Oracle Open Office Basic : copying;modules -Oracle Open Office Basic : copying;pictures, between documents -Oracle Open Office Basic : copying;sheet areas, to text documents -Oracle Open Office Basic : copying;to Gallery -Oracle Open Office Basic : copyright for Oracle Open Office -Oracle Open Office Basic : corner roundings -Oracle Open Office Basic : Cos function -Oracle Open Office Basic : crash reports -Oracle Open Office Basic : CreateObject function -Oracle Open Office Basic : CreateUnoDialog function -Oracle Open Office Basic : CreateUnoListener function -Oracle Open Office Basic : CreateUnoService function -Oracle Open Office Basic : CreateUnoStruct function -Oracle Open Office Basic : CreateUnoValue function -Oracle Open Office Basic : criteria of query design (Base) -Oracle Open Office Basic : cropping pictures -Oracle Open Office Basic : CSng function -Oracle Open Office Basic : CStr function -Oracle Open Office Basic : CTL -Oracle Open Office Basic : CTL;(not) wrapping words -Oracle Open Office Basic : CTL;complex text layout languages -Oracle Open Office Basic : CTL;definition -Oracle Open Office Basic : CTL;options -Oracle Open Office Basic : CurDir function -Oracle Open Office Basic : currencies -Oracle Open Office Basic : currencies;converters -Oracle Open Office Basic : currencies;format codes -Oracle Open Office Basic : currency field control -Oracle Open Office Basic : currency field creation -Oracle Open Office Basic : currency formats -Oracle Open Office Basic : cursor -Oracle Open Office Basic : cursor;allowing in protected areas (Writer) -Oracle Open Office Basic : cursor;in read-only text -Oracle Open Office Basic : cursor;quickly moving to an object -Oracle Open Office Basic : curves -Oracle Open Office Basic : curves;editing points -Oracle Open Office Basic : custom dictionaries -Oracle Open Office Basic : custom dictionaries;editing -Oracle Open Office Basic : custom hyphens (Writer) -Oracle Open Office Basic : custom quotes -Oracle Open Office Basic : custom templates -Oracle Open Office Basic : customizing -Oracle Open Office Basic : customizing;events -Oracle Open Office Basic : customizing;keyboard -Oracle Open Office Basic : customizing;menus -Oracle Open Office Basic : customizing;Oracle Open Office -Oracle Open Office Basic : customizing;round corners -Oracle Open Office Basic : customizing;toolbars -Oracle Open Office Basic : cutting -Oracle Open Office Basic : CVar function -Oracle Open Office Basic : CVErr function -Oracle Open Office Basic : dashes -Oracle Open Office Basic : data -Oracle Open Office Basic : data;filtering in forms -Oracle Open Office Basic : data;forms and subforms -Oracle Open Office Basic : data;read-only -Oracle Open Office Basic : data;sorting in forms -Oracle Open Office Basic : data;user data -Oracle Open Office Basic : data binding change in XForms -Oracle Open Office Basic : Data Navigator -Oracle Open Office Basic : Data Navigator;adding/editing items -Oracle Open Office Basic : Data Navigator;display options -Oracle Open Office Basic : data source browser -Oracle Open Office Basic : data source explorer -Oracle Open Office Basic : data source view -Oracle Open Office Basic : data source view;drag and drop -Oracle Open Office Basic : data source view;overview -Oracle Open Office Basic : data source view;showing -Oracle Open Office Basic : data sources -Oracle Open Office Basic : data sources;as tables -Oracle Open Office Basic : data sources;connection settings (Base) -Oracle Open Office Basic : data sources;copying records to spreadsheets -Oracle Open Office Basic : data sources;displaying current -Oracle Open Office Basic : data sources;LDAP server (Base) -Oracle Open Office Basic : data sources;Oracle Open Office Base -Oracle Open Office Basic : data sources;registering address books -Oracle Open Office Basic : data sources;reports -Oracle Open Office Basic : data sources;viewing -Oracle Open Office Basic : data structure of XForms -Oracle Open Office Basic : data, see also values -Oracle Open Office Basic : database contents -Oracle Open Office Basic : database contents;inserting as tables -Oracle Open Office Basic : database contents;inserting as text -Oracle Open Office Basic : database reports -Oracle Open Office Basic : Database Wizard (Base) -Oracle Open Office Basic : databases -Oracle Open Office Basic : databases;administration through SQL (Base) -Oracle Open Office Basic : databases;ADO (Base) -Oracle Open Office Basic : databases;connecting (Base) -Oracle Open Office Basic : databases;creating -Oracle Open Office Basic : databases;creating labels -Oracle Open Office Basic : databases;creating queries -Oracle Open Office Basic : databases;creating reports -Oracle Open Office Basic : databases;creating tables -Oracle Open Office Basic : databases;deleting (Base) -Oracle Open Office Basic : databases;drag and drop (Base) -Oracle Open Office Basic : databases;editing tables -Oracle Open Office Basic : databases;form filters -Oracle Open Office Basic : databases;formats (Base) -Oracle Open Office Basic : databases;importing/exporting -Oracle Open Office Basic : databases;JDBC (Base) -Oracle Open Office Basic : databases;main page (Base) -Oracle Open Office Basic : databases;ODBC (Base) -Oracle Open Office Basic : databases;overview -Oracle Open Office Basic : databases;registering (Base) -Oracle Open Office Basic : databases;searching records -Oracle Open Office Basic : databases;shortcut keys -Oracle Open Office Basic : databases;sorting -Oracle Open Office Basic : databases;standard filters -Oracle Open Office Basic : databases;text formats -Oracle Open Office Basic : databases;viewing -Oracle Open Office Basic : date field control -Oracle Open Office Basic : date fields -Oracle Open Office Basic : date fields;creating -Oracle Open Office Basic : date fields;properties -Oracle Open Office Basic : date formats -Oracle Open Office Basic : Date statement -Oracle Open Office Basic : DateAdd function -Oracle Open Office Basic : DateDiff function -Oracle Open Office Basic : DatePart function -Oracle Open Office Basic : dates -Oracle Open Office Basic : dates;default (Calc) -Oracle Open Office Basic : dates;printing in presentations -Oracle Open Office Basic : dates;start 1900/01/01 (Calc) -Oracle Open Office Basic : dates;start 1904/01/01 (Calc) -Oracle Open Office Basic : DateSerial function -Oracle Open Office Basic : DateValue function -Oracle Open Office Basic : Day function -Oracle Open Office Basic : dBASE -Oracle Open Office Basic : dBASE;database settings (Base) -Oracle Open Office Basic : DDE -Oracle Open Office Basic : DDE;definition -Oracle Open Office Basic : deactivating -Oracle Open Office Basic : deactivating;plug-ins -Oracle Open Office Basic : debugging Basic programs -Oracle Open Office Basic : decimal places displayed (Calc) -Oracle Open Office Basic : decimal separator key -Oracle Open Office Basic : decimal tab stops -Oracle Open Office Basic : Declare statement -Oracle Open Office Basic : declaring variables -Oracle Open Office Basic : default directories -Oracle Open Office Basic : default filters -Oracle Open Office Basic : default filters;comparison operators -Oracle Open Office Basic : default filters;databases -Oracle Open Office Basic : default printer -Oracle Open Office Basic : default printer;setting up -Oracle Open Office Basic : default printer;UNIX -Oracle Open Office Basic : default templates -Oracle Open Office Basic : default templates;changing -Oracle Open Office Basic : default templates;organizing -Oracle Open Office Basic : defaults -Oracle Open Office Basic : defaults;documents -Oracle Open Office Basic : defaults;file formats in file dialogs -Oracle Open Office Basic : defaults;file formats in Oracle Open Office -Oracle Open Office Basic : defaults;fonts -Oracle Open Office Basic : defaults;grids (Writer/Calc) -Oracle Open Office Basic : defaults;languages -Oracle Open Office Basic : defaults;number formats -Oracle Open Office Basic : defaults;of saving -Oracle Open Office Basic : defaults;program configuration -Oracle Open Office Basic : defaults;tab stops in text -Oracle Open Office Basic : defaults;views -Oracle Open Office Basic : DefBool statement -Oracle Open Office Basic : DefCur statement -Oracle Open Office Basic : DefDate statement -Oracle Open Office Basic : DefDbl statement -Oracle Open Office Basic : DefErr statement -Oracle Open Office Basic : defining -Oracle Open Office Basic : defining;arrowheads and other line ends -Oracle Open Office Basic : defining;colors -Oracle Open Office Basic : defining;constants -Oracle Open Office Basic : defining;line styles -Oracle Open Office Basic : defining;paragraph borders -Oracle Open Office Basic : defining;queries (Base) -Oracle Open Office Basic : defining;table borders -Oracle Open Office Basic : DefInt statement -Oracle Open Office Basic : DefLng statement -Oracle Open Office Basic : DefObj statement -Oracle Open Office Basic : DefSng statement -Oracle Open Office Basic : DefStr statement -Oracle Open Office Basic : DefVar statement -Oracle Open Office Basic : deleting -Oracle Open Office Basic : deleting;all direct formatting -Oracle Open Office Basic : deleting;comments -Oracle Open Office Basic : deleting;databases (Base) -Oracle Open Office Basic : deleting;hyperlinks -Oracle Open Office Basic : deleting;libraries/modules/dialogs -Oracle Open Office Basic : deleting;lines in text -Oracle Open Office Basic : deleting;macro assignments to events -Oracle Open Office Basic : deleting;models/instances -Oracle Open Office Basic : deleting;namespaces in XForms -Oracle Open Office Basic : deleting;tab stops -Oracle Open Office Basic : deleting;templates -Oracle Open Office Basic : deleting;XML filters -Oracle Open Office Basic : depth stagger -Oracle Open Office Basic : descriptions for objects -Oracle Open Office Basic : design mode after saving -Oracle Open Office Basic : design view -Oracle Open Office Basic : design view;creating forms -Oracle Open Office Basic : design view;queries/views (Base) -Oracle Open Office Basic : designing -Oracle Open Office Basic : designing;database tables -Oracle Open Office Basic : designing;fonts -Oracle Open Office Basic : designing;queries (Base) -Oracle Open Office Basic : detaching toolbars -Oracle Open Office Basic : dialog editor -Oracle Open Office Basic : dialog editor;changing control properties -Oracle Open Office Basic : dialog editor;creating controls -Oracle Open Office Basic : dialog editor;programming examples for controls -Oracle Open Office Basic : DialogLibraries (LibraryContainer) -Oracle Open Office Basic : dialogs -Oracle Open Office Basic : dialogs;creating Basic dialogs -Oracle Open Office Basic : dialogs;displaying (example) -Oracle Open Office Basic : dialogs;loading (example) -Oracle Open Office Basic : dialogs;organizing -Oracle Open Office Basic : dialogs;properties -Oracle Open Office Basic : dialogs;translating -Oracle Open Office Basic : dialogs;using program code to show (example) -Oracle Open Office Basic : dictionaries -Oracle Open Office Basic : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Basic : dictionaries;creating -Oracle Open Office Basic : dictionaries;editing user-defined -Oracle Open Office Basic : dictionaries;spellcheck -Oracle Open Office Basic : dictionaries, see also languages -Oracle Open Office Basic : digital signatures -Oracle Open Office Basic : digital signatures;getting/managing/applying -Oracle Open Office Basic : digital signatures;overview -Oracle Open Office Basic : digital signatures;WebDAV over HTTPS -Oracle Open Office Basic : Dim statement -Oracle Open Office Basic : DimArray function -Oracle Open Office Basic : dimensioning arrays -Oracle Open Office Basic : Dir function -Oracle Open Office Basic : direct formatting -Oracle Open Office Basic : direct formatting;undoing all -Oracle Open Office Basic : directories -Oracle Open Office Basic : directories;creating new -Oracle Open Office Basic : directories;directory structure -Oracle Open Office Basic : disabled persons -Oracle Open Office Basic : displaying -Oracle Open Office Basic : displaying;comments (Calc) -Oracle Open Office Basic : displaying;comments in text documents -Oracle Open Office Basic : displaying;non-printing characters (Writer) -Oracle Open Office Basic : displaying;pictures and objects (Writer) -Oracle Open Office Basic : displaying;tables (Writer) -Oracle Open Office Basic : displaying;zero values (Calc) -Oracle Open Office Basic : distances -Oracle Open Office Basic : distinct values in SQL queries -Oracle Open Office Basic : distorting in drawings -Oracle Open Office Basic : distributing XML filters -Oracle Open Office Basic : DLL (Dynamic Link Library) -Oracle Open Office Basic : Do...Loop statement -Oracle Open Office Basic : docking -Oracle Open Office Basic : docking;definition -Oracle Open Office Basic : docking;toolbars -Oracle Open Office Basic : docking;windows -Oracle Open Office Basic : Document Converter Wizard -Oracle Open Office Basic : Document Map, see Navigator -Oracle Open Office Basic : document types in Oracle Open Office -Oracle Open Office Basic : documents -Oracle Open Office Basic : documents;changing titles -Oracle Open Office Basic : documents;closing -Oracle Open Office Basic : documents;comparing -Oracle Open Office Basic : documents;contents as lists -Oracle Open Office Basic : documents;editing time -Oracle Open Office Basic : documents;exporting -Oracle Open Office Basic : documents;importing -Oracle Open Office Basic : documents;languages -Oracle Open Office Basic : documents;measurement units in -Oracle Open Office Basic : documents;merging -Oracle Open Office Basic : documents;number of pages/tables/sheets -Oracle Open Office Basic : documents;opening -Oracle Open Office Basic : documents;opening in design mode -Oracle Open Office Basic : documents;opening with templates -Oracle Open Office Basic : documents;organizing -Oracle Open Office Basic : documents;printing -Oracle Open Office Basic : documents;read-only -Oracle Open Office Basic : documents;reloading -Oracle Open Office Basic : documents;saving -Oracle Open Office Basic : documents;saving automatically -Oracle Open Office Basic : documents;saving in other formats -Oracle Open Office Basic : documents;sending as e-mail -Oracle Open Office Basic : documents;styles changed -Oracle Open Office Basic : documents;version management -Oracle Open Office Basic : documents;version numbers -Oracle Open Office Basic : dotted areas -Oracle Open Office Basic : double-line spacing in paragraphs -Oracle Open Office Basic : double-line writing in Asian layout -Oracle Open Office Basic : drag and drop -Oracle Open Office Basic : drag and drop;copying and pasting text -Oracle Open Office Basic : drag and drop;data source view -Oracle Open Office Basic : drag and drop;from Gallery to draw objects -Oracle Open Office Basic : drag and drop;overview -Oracle Open Office Basic : drag and drop;pictures -Oracle Open Office Basic : drag and drop;to Gallery -Oracle Open Office Basic : draw objects -Oracle Open Office Basic : draw objects;adding/editing/copying -Oracle Open Office Basic : draw objects;anchoring -Oracle Open Office Basic : draw objects;arranging within stacks -Oracle Open Office Basic : draw objects;copying between documents -Oracle Open Office Basic : draw objects;displaying (Calc) -Oracle Open Office Basic : draw objects;dropping Gallery pictures -Oracle Open Office Basic : draw objects;flipping -Oracle Open Office Basic : draw objects;legends -Oracle Open Office Basic : draw objects;positioning and resizing -Oracle Open Office Basic : draw objects;protecting -Oracle Open Office Basic : draw objects;slanting -Oracle Open Office Basic : draw objects;text in -Oracle Open Office Basic : Drawing bar -Oracle Open Office Basic : drawing lines in text -Oracle Open Office Basic : drawings -Oracle Open Office Basic : drawings;creating/opening -Oracle Open Office Basic : drawings;languages -Oracle Open Office Basic : drawings;printing -Oracle Open Office Basic : drawings;printing defaults -Oracle Open Office Basic : drawings;printing in text documents -Oracle Open Office Basic : drawings;saving -Oracle Open Office Basic : drawings;saving automatically -Oracle Open Office Basic : drawings;saving in other formats -Oracle Open Office Basic : drawings;sending as e-mail -Oracle Open Office Basic : drawings;showing (Writer) -Oracle Open Office Basic : drawings, see also draw objects -Oracle Open Office Basic : drop-down lists in form functions -Oracle Open Office Basic : e-mail attachments -Oracle Open Office Basic : Edit File icon -Oracle Open Office Basic : edit mode -Oracle Open Office Basic : edit mode;after opening -Oracle Open Office Basic : edit mode;through Enter key (Calc) -Oracle Open Office Basic : Edit Points bar -Oracle Open Office Basic : editing -Oracle Open Office Basic : editing;chart axes -Oracle Open Office Basic : editing;chart data -Oracle Open Office Basic : editing;chart legends -Oracle Open Office Basic : editing;chart titles -Oracle Open Office Basic : editing;comments -Oracle Open Office Basic : editing;controls -Oracle Open Office Basic : editing;data binding of XForms -Oracle Open Office Basic : editing;database tables and queries -Oracle Open Office Basic : editing;draw objects -Oracle Open Office Basic : editing;Fontwork objects -Oracle Open Office Basic : editing;hyperlinks -Oracle Open Office Basic : editing;menus -Oracle Open Office Basic : editing;objects -Oracle Open Office Basic : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Basic : editing;pictures -Oracle Open Office Basic : editing;reports -Oracle Open Office Basic : editing;shortcut keys -Oracle Open Office Basic : editing;tab stops -Oracle Open Office Basic : editing;templates -Oracle Open Office Basic : editing;toolbars -Oracle Open Office Basic : editing;undoing -Oracle Open Office Basic : editing;XForms -Oracle Open Office Basic : editing time of documents -Oracle Open Office Basic : editors -Oracle Open Office Basic : editors;formula editor -Oracle Open Office Basic : editors;ImageMap editor -Oracle Open Office Basic : effects -Oracle Open Office Basic : effects;font positions -Oracle Open Office Basic : effects;fonts -Oracle Open Office Basic : effects;Fontwork icons -Oracle Open Office Basic : empty documents -Oracle Open Office Basic : empty paragraph removal -Oracle Open Office Basic : encryption of contents -Oracle Open Office Basic : End statement -Oracle Open Office Basic : entering groups -Oracle Open Office Basic : entering text from right to left -Oracle Open Office Basic : Environ function -Oracle Open Office Basic : Eof function -Oracle Open Office Basic : equal sign, see also operators -Oracle Open Office Basic : EqualUnoObjects function -Oracle Open Office Basic : equations in formula editor -Oracle Open Office Basic : Eqv operator (logical) -Oracle Open Office Basic : Erase function -Oracle Open Office Basic : Erl function -Oracle Open Office Basic : Err function -Oracle Open Office Basic : error codes in Basic -Oracle Open Office Basic : Error function -Oracle Open Office Basic : Error Report Tool -Oracle Open Office Basic : Euro -Oracle Open Office Basic : Euro;currency formats -Oracle Open Office Basic : Euro;Euro Converter Wizard -Oracle Open Office Basic : even/odd pages -Oracle Open Office Basic : even/odd pages;printing -Oracle Open Office Basic : events -Oracle Open Office Basic : events;assigning macros -Oracle Open Office Basic : events;assigning scripts -Oracle Open Office Basic : events;controls -Oracle Open Office Basic : events;customizing -Oracle Open Office Basic : events;in forms -Oracle Open Office Basic : events;linked to objects -Oracle Open Office Basic : examples -Oracle Open Office Basic : examples;programming controls -Oracle Open Office Basic : examples;showing a dialog using program code -Oracle Open Office Basic : Excel -Oracle Open Office Basic : Excel;saving as -Oracle Open Office Basic : Excel;search criteria -Oracle Open Office Basic : exceptions -Oracle Open Office Basic : exceptions;user-defined dictionaries -Oracle Open Office Basic : exchanging, see also replacing -Oracle Open Office Basic : executing SQL commands -Oracle Open Office Basic : Exit statement -Oracle Open Office Basic : exiting -Oracle Open Office Basic : exiting;groups -Oracle Open Office Basic : exiting;Oracle Open Office -Oracle Open Office Basic : Exp function -Oracle Open Office Basic : expanding formatting (Calc) -Oracle Open Office Basic : explorer of data sources -Oracle Open Office Basic : export filters -Oracle Open Office Basic : exporting -Oracle Open Office Basic : exporting;bitmaps -Oracle Open Office Basic : exporting;HTML and text documents -Oracle Open Office Basic : exporting;Microsoft Office documents with VBA code -Oracle Open Office Basic : exporting;spreadsheets to text format -Oracle Open Office Basic : exporting;templates -Oracle Open Office Basic : exporting;to foreign formats -Oracle Open Office Basic : exporting;to HTML -Oracle Open Office Basic : exporting;to Microsoft Office formats -Oracle Open Office Basic : exporting;to PDF -Oracle Open Office Basic : exporting;to PostScript format -Oracle Open Office Basic : exporting;to XML -Oracle Open Office Basic : exporting;XML files -Oracle Open Office Basic : extended tips in Help -Oracle Open Office Basic : extension mode in text -Oracle Open Office Basic : extensions -Oracle Open Office Basic : extensions;Extension Manager -Oracle Open Office Basic : extensions;file formats -Oracle Open Office Basic : external keys (Base) -Oracle Open Office Basic : faster printing -Oracle Open Office Basic : faxes -Oracle Open Office Basic : faxes;configuring Oracle Open Office -Oracle Open Office Basic : faxes;fax programs/fax printers under UNIX -Oracle Open Office Basic : faxes;selecting a fax machine -Oracle Open Office Basic : faxes;sending -Oracle Open Office Basic : faxes;wizards -Oracle Open Office Basic : feedback -Oracle Open Office Basic : feedback;automatically -Oracle Open Office Basic : fields -Oracle Open Office Basic : fields;database tables -Oracle Open Office Basic : fields;displaying field codes (Writer) -Oracle Open Office Basic : fields;formatted fields -Oracle Open Office Basic : fields;updating automatically (Writer) -Oracle Open Office Basic : file associations for Microsoft Office -Oracle Open Office Basic : file filters -Oracle Open Office Basic : file filters;mobile devices -Oracle Open Office Basic : file filters;XML -Oracle Open Office Basic : file formats -Oracle Open Office Basic : file formats;changing Oracle Open Office defaults -Oracle Open Office Basic : file formats;OpenDocument/XML -Oracle Open Office Basic : file formats;saving always in other formats -Oracle Open Office Basic : file selection button -Oracle Open Office Basic : file selection control -Oracle Open Office Basic : file sharing options for current document -Oracle Open Office Basic : FileAttr function -Oracle Open Office Basic : FileCopy statement -Oracle Open Office Basic : FileDateTime function -Oracle Open Office Basic : FileExists function -Oracle Open Office Basic : FileLen function -Oracle Open Office Basic : filepicker -Oracle Open Office Basic : filepicker;API service -Oracle Open Office Basic : files -Oracle Open Office Basic : files;filters and formats -Oracle Open Office Basic : files;importing -Oracle Open Office Basic : files;opening -Oracle Open Office Basic : files;opening with placeholders -Oracle Open Office Basic : files;properties -Oracle Open Office Basic : files;saving -Oracle Open Office Basic : files;saving automatically -Oracle Open Office Basic : files;saving in other formats -Oracle Open Office Basic : files;sending as e-mail -Oracle Open Office Basic : files;version numbers -Oracle Open Office Basic : files and folders in Oracle Open Office -Oracle Open Office Basic : fill characters with tabulators -Oracle Open Office Basic : fill colors for areas -Oracle Open Office Basic : fill patterns for areas -Oracle Open Office Basic : filter conditions -Oracle Open Office Basic : filter conditions;connecting -Oracle Open Office Basic : filter conditions;in queries (Base) -Oracle Open Office Basic : filtering -Oracle Open Office Basic : filtering;data in databases -Oracle Open Office Basic : filtering;data in forms -Oracle Open Office Basic : filters -Oracle Open Office Basic : filters;comparison operators -Oracle Open Office Basic : filters;for import and export -Oracle Open Office Basic : filters;Navigator -Oracle Open Office Basic : filters;pictures -Oracle Open Office Basic : filters;XML filter settings -Oracle Open Office Basic : Find tab in Help -Oracle Open Office Basic : finding -Oracle Open Office Basic : finding;in all sheets -Oracle Open Office Basic : finding;records in form documents -Oracle Open Office Basic : finding;selections -Oracle Open Office Basic : finding;similarity search -Oracle Open Office Basic : FindObject function -Oracle Open Office Basic : FindPropertyObject function -Oracle Open Office Basic : fitting to pages -Oracle Open Office Basic : fitting to pages;print settings in Math -Oracle Open Office Basic : fitting to pages;print settings in presentations -Oracle Open Office Basic : Fix function -Oracle Open Office Basic : fixed line control -Oracle Open Office Basic : fixed text -Oracle Open Office Basic : fixed text;form functions -Oracle Open Office Basic : fixed text control -Oracle Open Office Basic : fixing toolbars -Oracle Open Office Basic : flipping draw objects -Oracle Open Office Basic : floating frames in HTML documents -Oracle Open Office Basic : floating toolbars -Oracle Open Office Basic : focus of controls -Oracle Open Office Basic : folder creation -Oracle Open Office Basic : font lists -Oracle Open Office Basic : font name box -Oracle Open Office Basic : font sizes -Oracle Open Office Basic : font sizes;bullets -Oracle Open Office Basic : font sizes;relative changes -Oracle Open Office Basic : font sizes;scaling on screen -Oracle Open Office Basic : font sizes;text -Oracle Open Office Basic : fonts -Oracle Open Office Basic : fonts;adding under UNIX -Oracle Open Office Basic : fonts;changing in templates -Oracle Open Office Basic : fonts;colors -Oracle Open Office Basic : fonts;default settings -Oracle Open Office Basic : fonts;effects -Oracle Open Office Basic : fonts;for HTML and Basic -Oracle Open Office Basic : fonts;formats -Oracle Open Office Basic : fonts;outlines -Oracle Open Office Basic : fonts;positions in text -Oracle Open Office Basic : fonts;shadows -Oracle Open Office Basic : fonts;specifying several -Oracle Open Office Basic : fonts;strikethrough -Oracle Open Office Basic : fonts;styles -Oracle Open Office Basic : fonts;text objects -Oracle Open Office Basic : Fontwork icons -Oracle Open Office Basic : footers -Oracle Open Office Basic : footers;backgrounds -Oracle Open Office Basic : For statement -Oracle Open Office Basic : form controls -Oracle Open Office Basic : form controls;assigning macros -Oracle Open Office Basic : form controls;protecting -Oracle Open Office Basic : form controls;toolbars -Oracle Open Office Basic : form fields -Oracle Open Office Basic : form filters -Oracle Open Office Basic : Form Navigator -Oracle Open Office Basic : format codes -Oracle Open Office Basic : format codes;numbers -Oracle Open Office Basic : format filling printing in Oracle Open Office Math -Oracle Open Office Basic : Format function -Oracle Open Office Basic : Format Paintbrush -Oracle Open Office Basic : formats -Oracle Open Office Basic : formats;Asian layout -Oracle Open Office Basic : formats;fonts -Oracle Open Office Basic : formats;maximizing page formats -Oracle Open Office Basic : formats;number and currency formats -Oracle Open Office Basic : formats;of currencies/date/time -Oracle Open Office Basic : formats;on opening and saving -Oracle Open Office Basic : formats;pasting in special formats -Oracle Open Office Basic : formats;positions -Oracle Open Office Basic : formats;tabulators -Oracle Open Office Basic : formatted field control -Oracle Open Office Basic : formatted fields -Oracle Open Office Basic : formatted fields;form functions -Oracle Open Office Basic : formatted fields;properties -Oracle Open Office Basic : formatting -Oracle Open Office Basic : formatting;Asian typography -Oracle Open Office Basic : formatting;axes in charts -Oracle Open Office Basic : formatting;chart legends -Oracle Open Office Basic : formatting;copying -Oracle Open Office Basic : formatting;definition -Oracle Open Office Basic : formatting;expanding (Calc) -Oracle Open Office Basic : formatting;font effects -Oracle Open Office Basic : formatting;hyperlinks -Oracle Open Office Basic : formatting;pages -Oracle Open Office Basic : formatting;printer metrics (Writer) -Oracle Open Office Basic : formatting;undoing -Oracle Open Office Basic : formatting;undoing when writing -Oracle Open Office Basic : forms -Oracle Open Office Basic : forms;browsing -Oracle Open Office Basic : forms;Combo Box/List Box Wizard -Oracle Open Office Basic : forms;creating -Oracle Open Office Basic : forms;data -Oracle Open Office Basic : forms;designing (Base) -Oracle Open Office Basic : forms;events -Oracle Open Office Basic : forms;filtering data -Oracle Open Office Basic : forms;finding records -Oracle Open Office Basic : forms;focus after opening -Oracle Open Office Basic : forms;general information (Base) -Oracle Open Office Basic : forms;grouping controls -Oracle Open Office Basic : forms;HTML filters -Oracle Open Office Basic : forms;Navigator -Oracle Open Office Basic : forms;opening in design mode -Oracle Open Office Basic : forms;properties -Oracle Open Office Basic : forms;sorting data -Oracle Open Office Basic : forms;subforms -Oracle Open Office Basic : forms;wizards -Oracle Open Office Basic : forms;XForms -Oracle Open Office Basic : formula texts -Oracle Open Office Basic : formula texts;printing in Oracle Open Office Math -Oracle Open Office Basic : formulas -Oracle Open Office Basic : formulas;new -Oracle Open Office Basic : formulas;starting formula editor -Oracle Open Office Basic : formulas in reports -Oracle Open Office Basic : formulas in reports;editing -Oracle Open Office Basic : forums and support -Oracle Open Office Basic : frames -Oracle Open Office Basic : frames;around paragraphs -Oracle Open Office Basic : frames;around tables -Oracle Open Office Basic : frames;AutoCorrect function -Oracle Open Office Basic : frames;backgrounds -Oracle Open Office Basic : frames;captions (Writer) -Oracle Open Office Basic : frames;printing in Oracle Open Office Math -Oracle Open Office Basic : frames;protecting -Oracle Open Office Basic : frames;selection frames -Oracle Open Office Basic : frames;text fitting to frames -Oracle Open Office Basic : FreeFile function -Oracle Open Office Basic : freeform lines -Oracle Open Office Basic : freeform lines;draw functions -Oracle Open Office Basic : FreeLibrary function -Oracle Open Office Basic : FTP -Oracle Open Office Basic : FTP;opening documents -Oracle Open Office Basic : FTP;saving documents -Oracle Open Office Basic : full joins (Base) -Oracle Open Office Basic : full screen view -Oracle Open Office Basic : full-text search in Help -Oracle Open Office Basic : Function statement -Oracle Open Office Basic : functions -Oracle Open Office Basic : functions;return value type -Oracle Open Office Basic : functions;using -Oracle Open Office Basic : functions in reports -Oracle Open Office Basic : functions in reports;editing -Oracle Open Office Basic : fundamentals -Oracle Open Office Basic : Gallery -Oracle Open Office Basic : Gallery;adding pictures -Oracle Open Office Basic : Gallery;dragging pictures to draw objects -Oracle Open Office Basic : Gallery;hiding/showing -Oracle Open Office Basic : Gallery;inserting pictures from -Oracle Open Office Basic : get method for form transmissions -Oracle Open Office Basic : Get statement -Oracle Open Office Basic : GetAttr function -Oracle Open Office Basic : GetDefaultContext function -Oracle Open Office Basic : GetGuiType function -Oracle Open Office Basic : GetProcessServiceManager function -Oracle Open Office Basic : GetSolarVersion function -Oracle Open Office Basic : GetSystemTicks function -Oracle Open Office Basic : getting support -Oracle Open Office Basic : GIF format -Oracle Open Office Basic : Global statement -Oracle Open Office Basic : GLOBAL variables -Oracle Open Office Basic : GlobalScope function -Oracle Open Office Basic : glossaries -Oracle Open Office Basic : glossaries;common terms -Oracle Open Office Basic : glossaries;Internet terms -Oracle Open Office Basic : GoSub...Return statement -Oracle Open Office Basic : GoTo statement -Oracle Open Office Basic : gradients off for faster printing -Oracle Open Office Basic : graphic objects, see draw objects -Oracle Open Office Basic : graphical text art -Oracle Open Office Basic : graphics -Oracle Open Office Basic : graphics;cache -Oracle Open Office Basic : graphics;protecting -Oracle Open Office Basic : graphics, see also pictures -Oracle Open Office Basic : grayscale printing -Oracle Open Office Basic : Green function -Oracle Open Office Basic : grid controls -Oracle Open Office Basic : grid controls;form functions -Oracle Open Office Basic : grids -Oracle Open Office Basic : grids;defaults (Writer/Calc) -Oracle Open Office Basic : grids;display options (Impress/Draw) -Oracle Open Office Basic : grids;displaying lines (Calc) -Oracle Open Office Basic : group box control -Oracle Open Office Basic : group box creation -Oracle Open Office Basic : groups -Oracle Open Office Basic : groups;entering/exiting/ungrouping -Oracle Open Office Basic : groups;naming -Oracle Open Office Basic : groups;of controls -Oracle Open Office Basic : guides -Oracle Open Office Basic : guides;display options (Impress/Draw) -Oracle Open Office Basic : guides;displaying when moving objects (Impress) -Oracle Open Office Basic : guides;showing (Calc) -Oracle Open Office Basic : guides;showing when moving frames (Writer) -Oracle Open Office Basic : gutter -Oracle Open Office Basic : handles -Oracle Open Office Basic : handles;displaying (Writer) -Oracle Open Office Basic : handles;scaling -Oracle Open Office Basic : handles;showing simple/large handles (Calc) -Oracle Open Office Basic : Hangul/Hanja -Oracle Open Office Basic : HasUnoInterfaces function -Oracle Open Office Basic : hatching -Oracle Open Office Basic : headers -Oracle Open Office Basic : headers;backgrounds -Oracle Open Office Basic : headings -Oracle Open Office Basic : headings;entering as text box -Oracle Open Office Basic : Hebrew -Oracle Open Office Basic : Hebrew;entering text -Oracle Open Office Basic : Hebrew;language settings -Oracle Open Office Basic : Help -Oracle Open Office Basic : Help;bookmarks -Oracle Open Office Basic : Help;extended tips on/off -Oracle Open Office Basic : Help;full-text search -Oracle Open Office Basic : Help;Help tips -Oracle Open Office Basic : Help;keywords -Oracle Open Office Basic : Help;navigation pane showing/hiding -Oracle Open Office Basic : Help;style sheets -Oracle Open Office Basic : Help;topics -Oracle Open Office Basic : Help Agent -Oracle Open Office Basic : Help Agent;help -Oracle Open Office Basic : Help Agent;options -Oracle Open Office Basic : Help tips -Oracle Open Office Basic : Help tips;hiding -Oracle Open Office Basic : Hex function -Oracle Open Office Basic : hidden controls in Form Navigator -Oracle Open Office Basic : hidden fields display (Writer) -Oracle Open Office Basic : hidden pages -Oracle Open Office Basic : hidden pages;printing in presentations -Oracle Open Office Basic : hidden text -Oracle Open Office Basic : hidden text;showing (Writer) -Oracle Open Office Basic : hiding -Oracle Open Office Basic : hiding;changes -Oracle Open Office Basic : hiding;docked windows -Oracle Open Office Basic : hiding;navigation pane in Help window -Oracle Open Office Basic : high contrast mode -Oracle Open Office Basic : Hindi -Oracle Open Office Basic : Hindi;entering text -Oracle Open Office Basic : Hindi;language settings -Oracle Open Office Basic : horizontal line control -Oracle Open Office Basic : horizontal scrollbar control -Oracle Open Office Basic : horizontal scrollbars (Writer) -Oracle Open Office Basic : hotspots -Oracle Open Office Basic : Hour function -Oracle Open Office Basic : HTML -Oracle Open Office Basic : HTML;definition -Oracle Open Office Basic : HTML;export character set -Oracle Open Office Basic : HTML;fonts for source display -Oracle Open Office Basic : HTML;importing META tags -Oracle Open Office Basic : HTML;live presentations -Oracle Open Office Basic : HTML documents -Oracle Open Office Basic : HTML documents;auto reloading -Oracle Open Office Basic : HTML documents;importing/exporting -Oracle Open Office Basic : HTML documents;META tags in -Oracle Open Office Basic : HTML documents;new -Oracle Open Office Basic : HTML documents;source text -Oracle Open Office Basic : hyperlinks -Oracle Open Office Basic : hyperlinks;assigning macros -Oracle Open Office Basic : hyperlinks;character formats -Oracle Open Office Basic : hyperlinks;definition -Oracle Open Office Basic : hyperlinks;deleting -Oracle Open Office Basic : hyperlinks;editing -Oracle Open Office Basic : hyperlinks;inserting -Oracle Open Office Basic : hyperlinks;relative and absolute -Oracle Open Office Basic : hyperlinks;turning off automatic recognition -Oracle Open Office Basic : hyperlinks, see also links -Oracle Open Office Basic : hyphenation -Oracle Open Office Basic : hyphenation;activating for a language -Oracle Open Office Basic : hyphenation;minimal number of characters -Oracle Open Office Basic : hyphens -Oracle Open Office Basic : hyphens;displaying custom (Writer) -Oracle Open Office Basic : hyphens;inserting custom -Oracle Open Office Basic : icon bars, see toolbars -Oracle Open Office Basic : icon control -Oracle Open Office Basic : icon sizes -Oracle Open Office Basic : IDE -Oracle Open Office Basic : IDE;Integrated Development Environment -Oracle Open Office Basic : IDE;keyboard shortcuts -Oracle Open Office Basic : If statement -Oracle Open Office Basic : ignore list for spellcheck -Oracle Open Office Basic : IIf statement -Oracle Open Office Basic : illustrations, see pictures -Oracle Open Office Basic : image button creation -Oracle Open Office Basic : image control -Oracle Open Office Basic : image control creation -Oracle Open Office Basic : ImageMap -Oracle Open Office Basic : ImageMap;definition -Oracle Open Office Basic : ImageMap;editor -Oracle Open Office Basic : images -Oracle Open Office Basic : images;ImageMap -Oracle Open Office Basic : images;inserting and editing bitmaps -Oracle Open Office Basic : images, see also pictures -Oracle Open Office Basic : IME -Oracle Open Office Basic : IME;definition -Oracle Open Office Basic : IME;showing/hiding -Oracle Open Office Basic : Imp operator (logical) -Oracle Open Office Basic : import filters -Oracle Open Office Basic : import restrictions for Microsoft Office -Oracle Open Office Basic : importing -Oracle Open Office Basic : importing;bitmaps -Oracle Open Office Basic : importing;compatibility settings for text import -Oracle Open Office Basic : importing;databases -Oracle Open Office Basic : importing;documents in other formats -Oracle Open Office Basic : importing;from XML -Oracle Open Office Basic : importing;HTML and text documents -Oracle Open Office Basic : importing;HTML with META tags -Oracle Open Office Basic : importing;Microsoft Office documents with VBA code -Oracle Open Office Basic : importing;tables in text format -Oracle Open Office Basic : importing;templates -Oracle Open Office Basic : improvement program -Oracle Open Office Basic : inches -Oracle Open Office Basic : Index tab in Help -Oracle Open Office Basic : indexes -Oracle Open Office Basic : indexes;backgrounds -Oracle Open Office Basic : indexes;showing/hiding Help index tab -Oracle Open Office Basic : indicator lines in text -Oracle Open Office Basic : inner joins (Base) -Oracle Open Office Basic : input method window -Oracle Open Office Basic : Input statement -Oracle Open Office Basic : InputBox function -Oracle Open Office Basic : insert mode for entering text -Oracle Open Office Basic : inserting -Oracle Open Office Basic : inserting;Basic libraries -Oracle Open Office Basic : inserting;buttons in toolbars -Oracle Open Office Basic : inserting;cell ranges from spreadsheets -Oracle Open Office Basic : inserting;charts -Oracle Open Office Basic : inserting;clipboard options -Oracle Open Office Basic : inserting;comments -Oracle Open Office Basic : inserting;data from text documents -Oracle Open Office Basic : inserting;datasource records in spreadsheets -Oracle Open Office Basic : inserting;drawings -Oracle Open Office Basic : inserting;floating frames -Oracle Open Office Basic : inserting;Fontwork objects -Oracle Open Office Basic : inserting;form fields -Oracle Open Office Basic : inserting;hyperlinks -Oracle Open Office Basic : inserting;line breaks in cells -Oracle Open Office Basic : inserting;movies/sounds -Oracle Open Office Basic : inserting;new text tables defaults -Oracle Open Office Basic : inserting;objects from Gallery -Oracle Open Office Basic : inserting;OLE objects -Oracle Open Office Basic : inserting;paragraph borders -Oracle Open Office Basic : inserting;paragraph bullets -Oracle Open Office Basic : inserting;pictures in Gallery -Oracle Open Office Basic : inserting;plug-ins -Oracle Open Office Basic : inserting;push buttons -Oracle Open Office Basic : inserting;special characters -Oracle Open Office Basic : inserting;tab stops -Oracle Open Office Basic : inserting;textures on chart bars -Oracle Open Office Basic : installing -Oracle Open Office Basic : installing;ActiveX control -Oracle Open Office Basic : installing;mobile device filters -Oracle Open Office Basic : installing;UNO components -Oracle Open Office Basic : installing;XML filters -Oracle Open Office Basic : InStr function -Oracle Open Office Basic : instructions -Oracle Open Office Basic : instructions;general -Oracle Open Office Basic : Int function -Oracle Open Office Basic : Internet -Oracle Open Office Basic : Internet;checking for updates -Oracle Open Office Basic : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Basic : Internet;presentations -Oracle Open Office Basic : Internet;starting searches -Oracle Open Office Basic : Internet glossary -Oracle Open Office Basic : invert filter -Oracle Open Office Basic : invisible areas -Oracle Open Office Basic : IsArray function -Oracle Open Office Basic : IsDate function -Oracle Open Office Basic : IsEmpty function -Oracle Open Office Basic : IsError function -Oracle Open Office Basic : IsMissing function -Oracle Open Office Basic : IsNull function -Oracle Open Office Basic : IsNumeric function -Oracle Open Office Basic : IsObject function -Oracle Open Office Basic : IsUnoStruct function -Oracle Open Office Basic : italic text -Oracle Open Office Basic : iterative references in spreadsheets -Oracle Open Office Basic : Java -Oracle Open Office Basic : Java;definition -Oracle Open Office Basic : Java;setting options -Oracle Open Office Basic : JDBC -Oracle Open Office Basic : JDBC;databases (Base) -Oracle Open Office Basic : JDBC;definition -Oracle Open Office Basic : Join function -Oracle Open Office Basic : joining -Oracle Open Office Basic : joining;paragraphs -Oracle Open Office Basic : joining;tables (Base) -Oracle Open Office Basic : joins in databases (Base) -Oracle Open Office Basic : justifying text -Oracle Open Office Basic : kerning -Oracle Open Office Basic : kerning;Asian texts -Oracle Open Office Basic : kerning;definition -Oracle Open Office Basic : kerning;in characters -Oracle Open Office Basic : key fields for relations (Base) -Oracle Open Office Basic : keyboard -Oracle Open Office Basic : keyboard;assigning/editing shortcut keys -Oracle Open Office Basic : keyboard;general commands -Oracle Open Office Basic : keyboard;in IDE -Oracle Open Office Basic : keyboard;removing numbering -Oracle Open Office Basic : keys -Oracle Open Office Basic : keys;adding push buttons -Oracle Open Office Basic : keys;primary keys (Base) -Oracle Open Office Basic : Kill statement -Oracle Open Office Basic : kiosk export -Oracle Open Office Basic : label field control -Oracle Open Office Basic : labels -Oracle Open Office Basic : labels;creating and synchronizing -Oracle Open Office Basic : labels;for draw objects -Oracle Open Office Basic : labels;form functions -Oracle Open Office Basic : labels;from databases -Oracle Open Office Basic : labels, see also names/callouts -Oracle Open Office Basic : languages -Oracle Open Office Basic : languages;activating modules -Oracle Open Office Basic : languages;Asian support -Oracle Open Office Basic : languages;complex text layout -Oracle Open Office Basic : languages;locale settings -Oracle Open Office Basic : languages;selecting for text -Oracle Open Office Basic : languages;setting options -Oracle Open Office Basic : languages;spellcheck -Oracle Open Office Basic : languages;spellchecking and formatting -Oracle Open Office Basic : large handles (Writer) -Oracle Open Office Basic : large icons -Oracle Open Office Basic : layer arrangement -Oracle Open Office Basic : layout -Oracle Open Office Basic : layout;importing Word documents -Oracle Open Office Basic : layout;pages -Oracle Open Office Basic : LBound function -Oracle Open Office Basic : LCase function -Oracle Open Office Basic : LDAP server -Oracle Open Office Basic : LDAP server;address books (Base) -Oracle Open Office Basic : LDAP server;sign on options -Oracle Open Office Basic : leading between paragraphs -Oracle Open Office Basic : left alignment of paragraphs -Oracle Open Office Basic : Left function -Oracle Open Office Basic : left joins (Base) -Oracle Open Office Basic : legends -Oracle Open Office Basic : legends;charts -Oracle Open Office Basic : legends;draw objects -Oracle Open Office Basic : legends;rounding corners -Oracle Open Office Basic : Len function -Oracle Open Office Basic : Let statement -Oracle Open Office Basic : Letter Wizard -Oracle Open Office Basic : levels -Oracle Open Office Basic : levels;depth stagger -Oracle Open Office Basic : levels;macro security -Oracle Open Office Basic : libraries -Oracle Open Office Basic : libraries;adding -Oracle Open Office Basic : libraries;organizing -Oracle Open Office Basic : library systems -Oracle Open Office Basic : LibraryContainer -Oracle Open Office Basic : limits of tables (Writer) -Oracle Open Office Basic : line breaks -Oracle Open Office Basic : line breaks;in cells -Oracle Open Office Basic : line control -Oracle Open Office Basic : Line Input statement -Oracle Open Office Basic : line spacing -Oracle Open Office Basic : line spacing;context menu in paragraphs -Oracle Open Office Basic : line spacing;paragraph -Oracle Open Office Basic : line styles -Oracle Open Office Basic : line styles;applying -Oracle Open Office Basic : line styles;defining -Oracle Open Office Basic : lines -Oracle Open Office Basic : lines;defining ends -Oracle Open Office Basic : lines;draw functions -Oracle Open Office Basic : lines;drawing in text -Oracle Open Office Basic : lines;editing points -Oracle Open Office Basic : lines;removing automatic lines -Oracle Open Office Basic : lines of text -Oracle Open Office Basic : lines of text;alignment -Oracle Open Office Basic : lines of text;in Basic editor -Oracle Open Office Basic : links -Oracle Open Office Basic : links;between cells and controls -Oracle Open Office Basic : links;by drag and drop -Oracle Open Office Basic : links;character formats -Oracle Open Office Basic : links;definition -Oracle Open Office Basic : links;editing hyperlinks -Oracle Open Office Basic : links;inserting -Oracle Open Office Basic : links;modifying -Oracle Open Office Basic : links;opening files with -Oracle Open Office Basic : links;relational databases (Base) -Oracle Open Office Basic : links;turning off automatic recognition -Oracle Open Office Basic : links;updating options (Writer) -Oracle Open Office Basic : links;updating specific links -Oracle Open Office Basic : list box creation -Oracle Open Office Basic : list boxes -Oracle Open Office Basic : list boxes;adding entries to (example) -Oracle Open Office Basic : list boxes;controls -Oracle Open Office Basic : list boxes;removing entries from (example) -Oracle Open Office Basic : lists -Oracle Open Office Basic : lists;data assigned to controls -Oracle Open Office Basic : lists;registered databases (Base) -Oracle Open Office Basic : lists;regular expressions -Oracle Open Office Basic : live presentations on the Internet -Oracle Open Office Basic : loading -Oracle Open Office Basic : loading;Basic code -Oracle Open Office Basic : loading;documents -Oracle Open Office Basic : loading;documents from other formats -Oracle Open Office Basic : loading;HTML documents, automatically -Oracle Open Office Basic : loading;Microsoft Office documents with VBA code -Oracle Open Office Basic : loading;reloading -Oracle Open Office Basic : loading;XML files -Oracle Open Office Basic : Loc function -Oracle Open Office Basic : locale settings -Oracle Open Office Basic : localizing dialogs -Oracle Open Office Basic : Lof function -Oracle Open Office Basic : Log function -Oracle Open Office Basic : long lines -Oracle Open Office Basic : long lines;in Basic editor -Oracle Open Office Basic : loops -Oracle Open Office Basic : lowercase letters -Oracle Open Office Basic : lowercase letters;font effects -Oracle Open Office Basic : LSet statement -Oracle Open Office Basic : LTrim function -Oracle Open Office Basic : macro toolbar -Oracle Open Office Basic : Macro Wizard (Base) -Oracle Open Office Basic : macros -Oracle Open Office Basic : macros;assigning to events -Oracle Open Office Basic : macros;assigning to events in forms -Oracle Open Office Basic : macros;attaching new (Base) -Oracle Open Office Basic : macros;Basic IDE -Oracle Open Office Basic : macros;in MS Office documents -Oracle Open Office Basic : macros;interrupting -Oracle Open Office Basic : macros;organizing -Oracle Open Office Basic : macros;recording -Oracle Open Office Basic : macros;security -Oracle Open Office Basic : macros;security levels -Oracle Open Office Basic : macros;security warning dialog -Oracle Open Office Basic : macros;selecting security warnings -Oracle Open Office Basic : macros;stopping -Oracle Open Office Basic : magnifiers -Oracle Open Office Basic : margins -Oracle Open Office Basic : margins;pages -Oracle Open Office Basic : margins;setting with the mouse -Oracle Open Office Basic : margins;shadows -Oracle Open Office Basic : marking changes -Oracle Open Office Basic : marking, see selecting -Oracle Open Office Basic : masked field control -Oracle Open Office Basic : Math formula editor -Oracle Open Office Basic : measurement units -Oracle Open Office Basic : measurement units;changing on rulers -Oracle Open Office Basic : measurement units;converting -Oracle Open Office Basic : measurement units;selecting -Oracle Open Office Basic : Media Player window -Oracle Open Office Basic : menus -Oracle Open Office Basic : menus;activating context menus -Oracle Open Office Basic : menus;assigning macros -Oracle Open Office Basic : menus;customizing -Oracle Open Office Basic : merging -Oracle Open Office Basic : merging;documents -Oracle Open Office Basic : META tags -Oracle Open Office Basic : metrics -Oracle Open Office Basic : metrics;converting -Oracle Open Office Basic : metrics;document formatting (Writer) -Oracle Open Office Basic : metrics;in sheets -Oracle Open Office Basic : Microsoft Office -Oracle Open Office Basic : Microsoft Office;Access databases (base) -Oracle Open Office Basic : Microsoft Office;as default file format -Oracle Open Office Basic : Microsoft Office;document import restrictions -Oracle Open Office Basic : Microsoft Office;feature comparisons -Oracle Open Office Basic : Microsoft Office;importing password protected files -Oracle Open Office Basic : Microsoft Office;importing Word documents -Oracle Open Office Basic : Microsoft Office;importing/exporting VBA code -Oracle Open Office Basic : Microsoft Office;new users information -Oracle Open Office Basic : Microsoft Office;opening Microsoft documents -Oracle Open Office Basic : Microsoft Office;reassigning document types -Oracle Open Office Basic : Mid function -Oracle Open Office Basic : Mid statement -Oracle Open Office Basic : migrating macros (Base) -Oracle Open Office Basic : Minute function -Oracle Open Office Basic : MkDir statement -Oracle Open Office Basic : mobile device filters -Oracle Open Office Basic : MOD operator (mathematical) -Oracle Open Office Basic : models in XForms -Oracle Open Office Basic : modifying, see changing -Oracle Open Office Basic : module/dialog toggle -Oracle Open Office Basic : modules -Oracle Open Office Basic : modules;organizing -Oracle Open Office Basic : modules;subroutines and functions -Oracle Open Office Basic : Month function -Oracle Open Office Basic : more controls -Oracle Open Office Basic : mosaic filter -Oracle Open Office Basic : mouse -Oracle Open Office Basic : mouse;pointers when using drag and drop -Oracle Open Office Basic : mouse;positioning -Oracle Open Office Basic : movies -Oracle Open Office Basic : moving -Oracle Open Office Basic : moving;modules -Oracle Open Office Basic : moving;tab stops on ruler -Oracle Open Office Basic : moving;toolbars -Oracle Open Office Basic : moving;using guide lines in presentations -Oracle Open Office Basic : MS ADO interface (Base) -Oracle Open Office Basic : MsgBox function -Oracle Open Office Basic : MsgBox statement -Oracle Open Office Basic : multi-line titles in forms -Oracle Open Office Basic : multiple documents -Oracle Open Office Basic : multiple documents;opening -Oracle Open Office Basic : multiple selection -Oracle Open Office Basic : music -Oracle Open Office Basic : My Documents folder -Oracle Open Office Basic : My Documents folder;changing work directory -Oracle Open Office Basic : My Documents folder;opening -Oracle Open Office Basic : MySQL databases (Base) -Oracle Open Office Basic : Name statement -Oracle Open Office Basic : names -Oracle Open Office Basic : names;multi-line titles -Oracle Open Office Basic : names;objects -Oracle Open Office Basic : names of variables -Oracle Open Office Basic : names, see also labels/callouts -Oracle Open Office Basic : namespace organization in XForms -Oracle Open Office Basic : native SQL (Base) -Oracle Open Office Basic : navigating -Oracle Open Office Basic : navigating;in Basic projects -Oracle Open Office Basic : navigating;in documents -Oracle Open Office Basic : Navigation bar -Oracle Open Office Basic : Navigation bar;controls -Oracle Open Office Basic : Navigation bar;forms -Oracle Open Office Basic : Navigator -Oracle Open Office Basic : Navigator;comments -Oracle Open Office Basic : Navigator;contents as lists -Oracle Open Office Basic : Navigator;docking -Oracle Open Office Basic : Navigator;working with -Oracle Open Office Basic : network identity options -Oracle Open Office Basic : new databases -Oracle Open Office Basic : new documents -Oracle Open Office Basic : new lines in cells -Oracle Open Office Basic : new windows -Oracle Open Office Basic : Next statement -Oracle Open Office Basic : non-breaking dashes -Oracle Open Office Basic : non-breaking spaces (Writer) -Oracle Open Office Basic : non-printing characters (Writer) -Oracle Open Office Basic : Not operator (logical) -Oracle Open Office Basic : Nothing object -Oracle Open Office Basic : Now function -Oracle Open Office Basic : Null value -Oracle Open Office Basic : number formats -Oracle Open Office Basic : number formats;codes -Oracle Open Office Basic : number formats;formats -Oracle Open Office Basic : number formats;recognition in text tables -Oracle Open Office Basic : number of pages -Oracle Open Office Basic : number of sheets -Oracle Open Office Basic : number of tables -Oracle Open Office Basic : numbering -Oracle Open Office Basic : numbering;options -Oracle Open Office Basic : numbering;turning off -Oracle Open Office Basic : numbering;using automatically -Oracle Open Office Basic : numbers -Oracle Open Office Basic : numbers;date, time and currency formats -Oracle Open Office Basic : numbers;decimal places (Calc) -Oracle Open Office Basic : numerical field control -Oracle Open Office Basic : numerical fields in forms -Oracle Open Office Basic : objects -Oracle Open Office Basic : objects;always moveable (Impress/Draw) -Oracle Open Office Basic : objects;arranging within stacks -Oracle Open Office Basic : objects;copying when moving in presentations -Oracle Open Office Basic : objects;definition -Oracle Open Office Basic : objects;displaying in spreadsheets -Oracle Open Office Basic : objects;displaying in text documents -Oracle Open Office Basic : objects;editing -Oracle Open Office Basic : objects;inserting from Gallery -Oracle Open Office Basic : objects;inserting OLE objects -Oracle Open Office Basic : objects;moving and resizing with mouse -Oracle Open Office Basic : objects;naming -Oracle Open Office Basic : objects;opening -Oracle Open Office Basic : objects;quickly moving to -Oracle Open Office Basic : objects;titles and descriptions -Oracle Open Office Basic : Oct function -Oracle Open Office Basic : ODBC -Oracle Open Office Basic : ODBC;database (Base) -Oracle Open Office Basic : ODBC;definition -Oracle Open Office Basic : ODF file formats -Oracle Open Office Basic : Office -Oracle Open Office Basic : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Basic : OLE -Oracle Open Office Basic : OLE;definition -Oracle Open Office Basic : OLE objects -Oracle Open Office Basic : OLE objects;arranging within stacks -Oracle Open Office Basic : OLE objects;captions (Writer) -Oracle Open Office Basic : OLE objects;inserting -Oracle Open Office Basic : OLE objects;number of -Oracle Open Office Basic : OLE objects;protecting -Oracle Open Office Basic : On Error GoTo ... Resume statement -Oracle Open Office Basic : On...GoSub statement -Oracle Open Office Basic : On...GoTo statement -Oracle Open Office Basic : one and a half line spacing in text -Oracle Open Office Basic : online feedback options -Oracle Open Office Basic : online registration -Oracle Open Office Basic : online update options -Oracle Open Office Basic : online updates -Oracle Open Office Basic : online updates;checking automatically -Oracle Open Office Basic : online updates;checking manually -Oracle Open Office Basic : Open statement -Oracle Open Office Basic : Open/Save dialogs -Oracle Open Office Basic : OpenDocument file formats -Oracle Open Office Basic : OpenGL -Oracle Open Office Basic : OpenGL;definition -Oracle Open Office Basic : opening -Oracle Open Office Basic : opening;context menus -Oracle Open Office Basic : opening;database files -Oracle Open Office Basic : opening;dialog settings -Oracle Open Office Basic : opening;documents -Oracle Open Office Basic : opening;documents from other formats -Oracle Open Office Basic : opening;documents on WebDAV server -Oracle Open Office Basic : opening;files with links -Oracle Open Office Basic : opening;files, with placeholders -Oracle Open Office Basic : opening;forms -Oracle Open Office Basic : opening;Microsoft Office files -Oracle Open Office Basic : opening;mobile device documents -Oracle Open Office Basic : opening;objects -Oracle Open Office Basic : opening;reports -Oracle Open Office Basic : opening;several files -Oracle Open Office Basic : opening;XForms -Oracle Open Office Basic : operators -Oracle Open Office Basic : operators;comparisons -Oracle Open Office Basic : operators;default filters -Oracle Open Office Basic : Option Base statement -Oracle Open Office Basic : option button control -Oracle Open Office Basic : Option Explicit statement -Oracle Open Office Basic : Optional function -Oracle Open Office Basic : optional hyphens (Writer) -Oracle Open Office Basic : options -Oracle Open Office Basic : options;accessibility -Oracle Open Office Basic : options;appearance -Oracle Open Office Basic : options;compatibility (Writer) -Oracle Open Office Basic : options;improvement program -Oracle Open Office Basic : options;network identity -Oracle Open Office Basic : options;online update -Oracle Open Office Basic : options;tools -Oracle Open Office Basic : Or operator (logical) -Oracle Open Office Basic : Oracle databases (base) -Oracle Open Office Basic : Oracle Open Office Base data sources -Oracle Open Office Basic : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Basic : Oracle Open Office documents -Oracle Open Office Basic : Oracle Open Office documents;mobile device filters -Oracle Open Office Basic : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Basic : Oracle Open Office Math start -Oracle Open Office Basic : ordering -Oracle Open Office Basic : ordering;objects -Oracle Open Office Basic : organizing -Oracle Open Office Basic : organizing;macros and scripts -Oracle Open Office Basic : organizing;modules/libraries/dialogs -Oracle Open Office Basic : organizing;namespaces in XForms -Oracle Open Office Basic : organizing;styles -Oracle Open Office Basic : organizing;templates -Oracle Open Office Basic : original size -Oracle Open Office Basic : original size;printing in Oracle Open Office Math -Oracle Open Office Basic : original size;restoring after cropping -Oracle Open Office Basic : outlines -Oracle Open Office Basic : outlines;font effects -Oracle Open Office Basic : outlines;outline symbols -Oracle Open Office Basic : outlines;sending to presentations -Oracle Open Office Basic : overwrite mode -Oracle Open Office Basic : packages, see extensions -Oracle Open Office Basic : page breaks -Oracle Open Office Basic : page breaks;displaying (Calc) -Oracle Open Office Basic : page formats -Oracle Open Office Basic : page formats;maximizing -Oracle Open Office Basic : page formats;restriction -Oracle Open Office Basic : page styles -Oracle Open Office Basic : page styles;editing/applying with statusbar -Oracle Open Office Basic : pages -Oracle Open Office Basic : pages;backgrounds in all applications -Oracle Open Office Basic : pages;formatting and numbering -Oracle Open Office Basic : pages;printing page names in presentations -Oracle Open Office Basic : pages;scaling -Oracle Open Office Basic : pages;selecting one to print -Oracle Open Office Basic : paint box -Oracle Open Office Basic : paint can symbol -Oracle Open Office Basic : pair kerning -Oracle Open Office Basic : Palm file filters -Oracle Open Office Basic : paper formats -Oracle Open Office Basic : paper size warning -Oracle Open Office Basic : paper trays -Oracle Open Office Basic : paragraph marks -Oracle Open Office Basic : paragraph marks;displaying (Writer) -Oracle Open Office Basic : paragraph styles -Oracle Open Office Basic : paragraph styles;languages -Oracle Open Office Basic : paragraph styles;modifying basic fonts -Oracle Open Office Basic : paragraphs -Oracle Open Office Basic : paragraphs;alignment -Oracle Open Office Basic : paragraphs;Asian typography -Oracle Open Office Basic : paragraphs;defining borders -Oracle Open Office Basic : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Basic : paragraphs;increasing indents of -Oracle Open Office Basic : paragraphs;indents, margins and columns -Oracle Open Office Basic : paragraphs;inserting bullets -Oracle Open Office Basic : paragraphs;joining -Oracle Open Office Basic : paragraphs;numbering automatically -Oracle Open Office Basic : paragraphs;removing blank ones -Oracle Open Office Basic : paragraphs;spacing -Oracle Open Office Basic : paragraphs;tab stops -Oracle Open Office Basic : parameters -Oracle Open Office Basic : parameters;command line -Oracle Open Office Basic : parameters;for procedures and functions -Oracle Open Office Basic : parameters;passing by reference or value -Oracle Open Office Basic : parameters;queries (Base) -Oracle Open Office Basic : passwords for protecting contents -Oracle Open Office Basic : pasting -Oracle Open Office Basic : pasting;cell ranges -Oracle Open Office Basic : pasting;cell ranges from spreadsheets -Oracle Open Office Basic : pasting;data from text documents -Oracle Open Office Basic : pasting;draw objects -Oracle Open Office Basic : pasting;draw objects from other documents -Oracle Open Office Basic : pasting;formatted/unformatted text -Oracle Open Office Basic : pasting;from data source view -Oracle Open Office Basic : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Basic : pasting;pictures from other documents -Oracle Open Office Basic : pasting;sheet areas in text documents -Oracle Open Office Basic : pasting;to Gallery -Oracle Open Office Basic : paths -Oracle Open Office Basic : paths;changing work directory -Oracle Open Office Basic : paths;defaults -Oracle Open Office Basic : pattern editor -Oracle Open Office Basic : pattern field control -Oracle Open Office Basic : pattern fields -Oracle Open Office Basic : pattern fields;form functions -Oracle Open Office Basic : patterns for objects -Oracle Open Office Basic : PDF -Oracle Open Office Basic : PDF;export -Oracle Open Office Basic : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Basic : personal data input -Oracle Open Office Basic : phonetic guide -Oracle Open Office Basic : picklist creation -Oracle Open Office Basic : pictures -Oracle Open Office Basic : pictures;adding to Gallery -Oracle Open Office Basic : pictures;arranging within stacks -Oracle Open Office Basic : pictures;assigning macros -Oracle Open Office Basic : pictures;backgrounds -Oracle Open Office Basic : pictures;captions (Writer) -Oracle Open Office Basic : pictures;changing paths -Oracle Open Office Basic : pictures;cropping and zooming -Oracle Open Office Basic : pictures;displaying in Calc -Oracle Open Office Basic : pictures;displaying in Writer (Writer) -Oracle Open Office Basic : pictures;drag and drop between documents -Oracle Open Office Basic : pictures;drawing -Oracle Open Office Basic : pictures;editing -Oracle Open Office Basic : pictures;filters -Oracle Open Office Basic : pictures;ImageMap -Oracle Open Office Basic : pictures;inserting automatically -Oracle Open Office Basic : pictures;inserting from Gallery -Oracle Open Office Basic : pictures;number of -Oracle Open Office Basic : pictures;printing -Oracle Open Office Basic : pictures;scaling/resizing -Oracle Open Office Basic : pixel editor -Oracle Open Office Basic : pixel graphics -Oracle Open Office Basic : pixel graphics;inserting and editing -Oracle Open Office Basic : pixel patterns -Oracle Open Office Basic : placeholders -Oracle Open Office Basic : placeholders;in SQL queries -Oracle Open Office Basic : placeholders;on opening files -Oracle Open Office Basic : placing toolbars -Oracle Open Office Basic : playing movies and sound files -Oracle Open Office Basic : plotting data as charts -Oracle Open Office Basic : plug-ins -Oracle Open Office Basic : plug-ins;activating and deactivating -Oracle Open Office Basic : plug-ins;definition -Oracle Open Office Basic : plug-ins;inserting -Oracle Open Office Basic : pocket device appliances -Oracle Open Office Basic : Pocket PC file filters -Oracle Open Office Basic : points -Oracle Open Office Basic : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Basic : polygon drawing -Oracle Open Office Basic : pop-art filter -Oracle Open Office Basic : portable document format -Oracle Open Office Basic : positioning -Oracle Open Office Basic : positioning;draw objects and controls -Oracle Open Office Basic : positioning;fonts -Oracle Open Office Basic : positioning;objects -Oracle Open Office Basic : positioning;toolbars -Oracle Open Office Basic : post method for form transmissions -Oracle Open Office Basic : posterizing filter -Oracle Open Office Basic : PostScript -Oracle Open Office Basic : PostScript;creating files -Oracle Open Office Basic : PostScript;PDF converter, UNIX -Oracle Open Office Basic : PowerPoint export -Oracle Open Office Basic : precision as shown (Calc) -Oracle Open Office Basic : predefining fonts -Oracle Open Office Basic : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Basic : presentations -Oracle Open Office Basic : presentations;creating/opening -Oracle Open Office Basic : presentations;inserting spreadsheet cells -Oracle Open Office Basic : presentations;live on the Internet -Oracle Open Office Basic : presentations;print menu -Oracle Open Office Basic : presentations;saving -Oracle Open Office Basic : presentations;saving automatically -Oracle Open Office Basic : presentations;saving in other formats -Oracle Open Office Basic : presentations;sending as e-mail -Oracle Open Office Basic : presentations;starting with wizard -Oracle Open Office Basic : presentations;wizards -Oracle Open Office Basic : Presenter Console shortcuts -Oracle Open Office Basic : press buttons, see push buttons -Oracle Open Office Basic : previews -Oracle Open Office Basic : previews;fonts lists -Oracle Open Office Basic : primary keys -Oracle Open Office Basic : primary keys;defining -Oracle Open Office Basic : primary keys;design view -Oracle Open Office Basic : primary keys;inserting (Base) -Oracle Open Office Basic : print area selection -Oracle Open Office Basic : Print statement -Oracle Open Office Basic : printer metrics for document formatting (Writer) -Oracle Open Office Basic : printers -Oracle Open Office Basic : printers;adding, UNIX -Oracle Open Office Basic : printers;choosing -Oracle Open Office Basic : printers;default printer -Oracle Open Office Basic : printers;faxes under UNIX -Oracle Open Office Basic : printers;maximum page formats -Oracle Open Office Basic : printers;paper trays -Oracle Open Office Basic : printers;properties -Oracle Open Office Basic : printing -Oracle Open Office Basic : printing;black and white -Oracle Open Office Basic : printing;brochures -Oracle Open Office Basic : printing;colors in grayscale -Oracle Open Office Basic : printing;comments -Oracle Open Office Basic : printing;copies -Oracle Open Office Basic : printing;creating individual jobs -Oracle Open Office Basic : printing;dates in presentations -Oracle Open Office Basic : printing;directly -Oracle Open Office Basic : printing;documents -Oracle Open Office Basic : printing;drawings defaults -Oracle Open Office Basic : printing;elements in text documents -Oracle Open Office Basic : printing;faster -Oracle Open Office Basic : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Basic : printing;fitting to pages in presentations -Oracle Open Office Basic : printing;formulas in Oracle Open Office Math -Oracle Open Office Basic : printing;hidden pages of presentations -Oracle Open Office Basic : printing;in original size in Oracle Open Office Math -Oracle Open Office Basic : printing;left/right pages -Oracle Open Office Basic : printing;queries (Base) -Oracle Open Office Basic : printing;scaling in Oracle Open Office Math -Oracle Open Office Basic : printing;selections -Oracle Open Office Basic : printing;text always in black -Oracle Open Office Basic : printing;text in reverse order -Oracle Open Office Basic : printing;tiling pages in presentations -Oracle Open Office Basic : printing;transparencies -Oracle Open Office Basic : printing;warnings -Oracle Open Office Basic : printing;without scaling in presentations -Oracle Open Office Basic : printing speed -Oracle Open Office Basic : PRIVATE variables -Oracle Open Office Basic : procedures -Oracle Open Office Basic : ProcessServiceManager -Oracle Open Office Basic : program stops -Oracle Open Office Basic : programming -Oracle Open Office Basic : programming;Oracle Open Office -Oracle Open Office Basic : programming;scripting -Oracle Open Office Basic : programming examples for controls -Oracle Open Office Basic : progress bar control -Oracle Open Office Basic : properties -Oracle Open Office Basic : properties;controls and dialogs -Oracle Open Office Basic : properties;controls in dialog editor -Oracle Open Office Basic : properties;fields in databases -Oracle Open Office Basic : properties;files -Oracle Open Office Basic : properties;form controls -Oracle Open Office Basic : properties;forms -Oracle Open Office Basic : properties;printers -Oracle Open Office Basic : protected contents -Oracle Open Office Basic : protected dashes -Oracle Open Office Basic : protected database tables -Oracle Open Office Basic : protected documents -Oracle Open Office Basic : protected spaces -Oracle Open Office Basic : protected spaces;inserting -Oracle Open Office Basic : protected spaces;showing (Writer) -Oracle Open Office Basic : protecting -Oracle Open Office Basic : protecting;contents -Oracle Open Office Basic : protecting;recorded changes -Oracle Open Office Basic : proxy settings -Oracle Open Office Basic : Public statement -Oracle Open Office Basic : PUBLIC variables -Oracle Open Office Basic : push button control in dialog editor -Oracle Open Office Basic : push buttons -Oracle Open Office Basic : push buttons;adding to documents -Oracle Open Office Basic : push buttons;creating -Oracle Open Office Basic : Put statement -Oracle Open Office Basic : queries -Oracle Open Office Basic : queries;copying (Base) -Oracle Open Office Basic : queries;creating in design view (Base) -Oracle Open Office Basic : queries;creating in SQL view -Oracle Open Office Basic : queries;defining (Base) -Oracle Open Office Basic : queries;deleting table links (Base) -Oracle Open Office Basic : queries;editing in data source view -Oracle Open Office Basic : queries;formulating filter conditions (Base) -Oracle Open Office Basic : queries;joining tables (Base) -Oracle Open Office Basic : queries;missing elements (Base) -Oracle Open Office Basic : queries;overview (Base) -Oracle Open Office Basic : queries;parameter queries (Base) -Oracle Open Office Basic : queries;printing (Base) -Oracle Open Office Basic : Query Wizard (Base) -Oracle Open Office Basic : Quickstarter -Oracle Open Office Basic : quotation marks -Oracle Open Office Basic : quotation marks;replacing -Oracle Open Office Basic : quotes -Oracle Open Office Basic : quotes;custom -Oracle Open Office Basic : radio button control -Oracle Open Office Basic : radio button creation -Oracle Open Office Basic : Randomize statement -Oracle Open Office Basic : read-only documents -Oracle Open Office Basic : read-only documents;cursor -Oracle Open Office Basic : read-only documents;database tables on/off -Oracle Open Office Basic : read-only documents;editing -Oracle Open Office Basic : read-only documents;opening documents as -Oracle Open Office Basic : read-only items in Data Navigator -Oracle Open Office Basic : recognizing URLs automatically -Oracle Open Office Basic : recording -Oracle Open Office Basic : recording;changes -Oracle Open Office Basic : recording;macros -Oracle Open Office Basic : records -Oracle Open Office Basic : records;inserting comments -Oracle Open Office Basic : records;protecting -Oracle Open Office Basic : records;saving -Oracle Open Office Basic : records;searching in databases -Oracle Open Office Basic : rectangles with round corners -Oracle Open Office Basic : recursions in spreadsheets -Oracle Open Office Basic : Red function -Oracle Open Office Basic : ReDim statement -Oracle Open Office Basic : redo command -Oracle Open Office Basic : reduced printing -Oracle Open Office Basic : reference lines -Oracle Open Office Basic : references -Oracle Open Office Basic : references;displaying in color (Calc) -Oracle Open Office Basic : references;expanding (Calc) -Oracle Open Office Basic : references;iterative (Calc) -Oracle Open Office Basic : register-true -Oracle Open Office Basic : register-true;definition -Oracle Open Office Basic : registering -Oracle Open Office Basic : registering;address books -Oracle Open Office Basic : registering;databases (Base) -Oracle Open Office Basic : registering;Oracle Open Office -Oracle Open Office Basic : regular expressions -Oracle Open Office Basic : regular expressions;list of -Oracle Open Office Basic : regular expressions;opening files -Oracle Open Office Basic : relational databases (Base) -Oracle Open Office Basic : relations -Oracle Open Office Basic : relations;creating and deleting (Base) -Oracle Open Office Basic : relations;joining tables (Base) -Oracle Open Office Basic : relations;properties (Base) -Oracle Open Office Basic : relative hyperlinks -Oracle Open Office Basic : relative saving of URLs -Oracle Open Office Basic : reloading -Oracle Open Office Basic : reloading;documents -Oracle Open Office Basic : reloading;HTML documents, automatically -Oracle Open Office Basic : Rem statement -Oracle Open Office Basic : remarks, see also comments -Oracle Open Office Basic : remote configurations -Oracle Open Office Basic : remove noise filter -Oracle Open Office Basic : removing -Oracle Open Office Basic : removing;bullets and numbering -Oracle Open Office Basic : removing;form filters -Oracle Open Office Basic : removing, see also deleting -Oracle Open Office Basic : renaming modules and dialogs -Oracle Open Office Basic : repeating -Oracle Open Office Basic : repeating;commands -Oracle Open Office Basic : replacement options -Oracle Open Office Basic : replacement table -Oracle Open Office Basic : replacing -Oracle Open Office Basic : replacing;AutoCorrect function -Oracle Open Office Basic : replacing;dashes -Oracle Open Office Basic : replacing;tab stops (regular expressions) -Oracle Open Office Basic : Report Builder -Oracle Open Office Basic : reports -Oracle Open Office Basic : reports;creating -Oracle Open Office Basic : reports;error reports -Oracle Open Office Basic : reports;opening and editing -Oracle Open Office Basic : reports;templates -Oracle Open Office Basic : Reset statement -Oracle Open Office Basic : resetting -Oracle Open Office Basic : resetting;templates -Oracle Open Office Basic : resizing -Oracle Open Office Basic : resizing;objects, by mouse -Oracle Open Office Basic : resizing, see also scaling/zooming -Oracle Open Office Basic : resolution when printing bitmaps -Oracle Open Office Basic : restoring -Oracle Open Office Basic : restoring;default formatting -Oracle Open Office Basic : restoring;editing -Oracle Open Office Basic : Resume Next parameter -Oracle Open Office Basic : return value type of functions -Oracle Open Office Basic : reversing printing order -Oracle Open Office Basic : review function -Oracle Open Office Basic : review function;accepting or rejecting changes -Oracle Open Office Basic : review function;comparing documents -Oracle Open Office Basic : review function;protecting records -Oracle Open Office Basic : review function;recording changes example -Oracle Open Office Basic : rich text control -Oracle Open Office Basic : right alignment of paragraphs -Oracle Open Office Basic : Right function -Oracle Open Office Basic : right joins (Base) -Oracle Open Office Basic : right-to-left text -Oracle Open Office Basic : RmDir statement -Oracle Open Office Basic : Rnd function -Oracle Open Office Basic : rotating -Oracle Open Office Basic : rotating;3D text -Oracle Open Office Basic : round corners -Oracle Open Office Basic : rounding precision (Calc) -Oracle Open Office Basic : row headers -Oracle Open Office Basic : row headers;displaying (Calc) -Oracle Open Office Basic : row headers;highlighting (Calc) -Oracle Open Office Basic : RSet statement -Oracle Open Office Basic : RTrim function -Oracle Open Office Basic : rulers -Oracle Open Office Basic : rulers;default settings -Oracle Open Office Basic : rulers;measurement units -Oracle Open Office Basic : rulers;visible in presentations -Oracle Open Office Basic : run-time errors in Basic -Oracle Open Office Basic : samples and templates -Oracle Open Office Basic : saving -Oracle Open Office Basic : saving;Basic code -Oracle Open Office Basic : saving;default file formats -Oracle Open Office Basic : saving;dialog settings -Oracle Open Office Basic : saving;documents -Oracle Open Office Basic : saving;documents for mobile devices -Oracle Open Office Basic : saving;documents in other formats -Oracle Open Office Basic : saving;documents, automatically -Oracle Open Office Basic : saving;in Microsoft Office file format -Oracle Open Office Basic : saving;options -Oracle Open Office Basic : saving;templates -Oracle Open Office Basic : saving;to XML -Oracle Open Office Basic : saving;VBA code in Microsoft Office documents -Oracle Open Office Basic : saving;with password by default -Oracle Open Office Basic : saving as command -Oracle Open Office Basic : saving as command;precautions -Oracle Open Office Basic : scaling -Oracle Open Office Basic : scaling;font sizes in user interface -Oracle Open Office Basic : scaling;objects -Oracle Open Office Basic : scaling;pictures -Oracle Open Office Basic : scaling;printing in Oracle Open Office Math -Oracle Open Office Basic : scaling;when printing presentations -Oracle Open Office Basic : scaling, see also zooming -Oracle Open Office Basic : scope of variables -Oracle Open Office Basic : screen -Oracle Open Office Basic : screen;full screen views -Oracle Open Office Basic : screen;scaling -Oracle Open Office Basic : screen magnifiers -Oracle Open Office Basic : screen readers -Oracle Open Office Basic : script organization -Oracle Open Office Basic : scroll bar control -Oracle Open Office Basic : scrollbars -Oracle Open Office Basic : scrollbars;controls -Oracle Open Office Basic : scrollbars;displaying (Calc) -Oracle Open Office Basic : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Basic : search criteria for database functions in cells -Oracle Open Office Basic : search engines -Oracle Open Office Basic : search engines;definition -Oracle Open Office Basic : search engines;selecting -Oracle Open Office Basic : searching -Oracle Open Office Basic : searching;all sheets -Oracle Open Office Basic : searching;databases -Oracle Open Office Basic : searching;form filters -Oracle Open Office Basic : searching;Internet -Oracle Open Office Basic : searching;tables and forms -Oracle Open Office Basic : Second function -Oracle Open Office Basic : sections -Oracle Open Office Basic : sections;backgrounds -Oracle Open Office Basic : security -Oracle Open Office Basic : security;digital signatures -Oracle Open Office Basic : security;options for documents with macros -Oracle Open Office Basic : security;protecting contents -Oracle Open Office Basic : security;security levels for macros -Oracle Open Office Basic : security;warning dialogs with macros -Oracle Open Office Basic : Seek function -Oracle Open Office Basic : Seek statement -Oracle Open Office Basic : Select...Case statement -Oracle Open Office Basic : selecting -Oracle Open Office Basic : selecting;controls -Oracle Open Office Basic : selecting;measurement units -Oracle Open Office Basic : selecting;objects -Oracle Open Office Basic : selecting;print areas -Oracle Open Office Basic : selecting;several files -Oracle Open Office Basic : selection clipboard -Oracle Open Office Basic : selection frames -Oracle Open Office Basic : selection modes in text -Oracle Open Office Basic : selection options for controls -Oracle Open Office Basic : sending -Oracle Open Office Basic : sending;AutoAbstract function in presentations -Oracle Open Office Basic : sending;documents as e-mail -Oracle Open Office Basic : sending;documents as faxes -Oracle Open Office Basic : separator lines -Oracle Open Office Basic : separator lines;defining -Oracle Open Office Basic : separators -Oracle Open Office Basic : separators;conditional -Oracle Open Office Basic : Server Side ImageMap -Oracle Open Office Basic : Set statement -Oracle Open Office Basic : SetAttr statement -Oracle Open Office Basic : settings -Oracle Open Office Basic : settings;printers -Oracle Open Office Basic : settings;program configuration -Oracle Open Office Basic : settings;proxies -Oracle Open Office Basic : settings;tracking changes -Oracle Open Office Basic : settings;views -Oracle Open Office Basic : SGML -Oracle Open Office Basic : SGML;definition -Oracle Open Office Basic : Sgn function -Oracle Open Office Basic : shadows -Oracle Open Office Basic : shadows;areas -Oracle Open Office Basic : shadows;borders -Oracle Open Office Basic : shadows;characters -Oracle Open Office Basic : shadows;characters, using context menu -Oracle Open Office Basic : sharing documents -Oracle Open Office Basic : sharpening filter -Oracle Open Office Basic : sheet tabs -Oracle Open Office Basic : sheet tabs;displaying -Oracle Open Office Basic : sheets -Oracle Open Office Basic : sheets;searching all -Oracle Open Office Basic : Shell function -Oracle Open Office Basic : shortcut keys -Oracle Open Office Basic : shortcut keys;assigning macros -Oracle Open Office Basic : shortcut keys;Basic IDE -Oracle Open Office Basic : shortcut keys;general -Oracle Open Office Basic : shortcut keys;in databases -Oracle Open Office Basic : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Basic : showing -Oracle Open Office Basic : showing;changes -Oracle Open Office Basic : showing;docked windows -Oracle Open Office Basic : showing;drawings and controls (Writer) -Oracle Open Office Basic : showing;live presentations on the Internet -Oracle Open Office Basic : showing;toolbars -Oracle Open Office Basic : signing documents with digital signatures -Oracle Open Office Basic : similarity search -Oracle Open Office Basic : simple handles (Writer) -Oracle Open Office Basic : simplified Chinese -Oracle Open Office Basic : simplified Chinese;translating to traditional Chinese -Oracle Open Office Basic : Sin function -Oracle Open Office Basic : single sign on options -Oracle Open Office Basic : single-line spacing in text -Oracle Open Office Basic : sizes -Oracle Open Office Basic : sizes;draw objects -Oracle Open Office Basic : sizes;pictures -Oracle Open Office Basic : slanting draw objects -Oracle Open Office Basic : small capitals -Oracle Open Office Basic : small icons -Oracle Open Office Basic : smart tag configuration -Oracle Open Office Basic : smooth scrolling (Writer) -Oracle Open Office Basic : smoothing filter -Oracle Open Office Basic : snap grid defaults (Writer/Calc) -Oracle Open Office Basic : snapping in presentations and drawings -Oracle Open Office Basic : solarization filter -Oracle Open Office Basic : sort lists -Oracle Open Office Basic : sort lists;copying to in Calc -Oracle Open Office Basic : sorting -Oracle Open Office Basic : sorting;data in forms -Oracle Open Office Basic : sorting;databases -Oracle Open Office Basic : sound files -Oracle Open Office Basic : Space function -Oracle Open Office Basic : spaces -Oracle Open Office Basic : spaces;displaying (Writer) -Oracle Open Office Basic : spaces;ignoring double -Oracle Open Office Basic : spaces;inserting protected spaces -Oracle Open Office Basic : spaces;showing protected spaces (Writer) -Oracle Open Office Basic : spacing -Oracle Open Office Basic : spacing;between paragraphs in footnotes -Oracle Open Office Basic : spacing;font effects -Oracle Open Office Basic : spacing;lines and paragraphs -Oracle Open Office Basic : spacing;tab stops in text documents -Oracle Open Office Basic : spacing;tabs in presentations -Oracle Open Office Basic : spadmin -Oracle Open Office Basic : special characters -Oracle Open Office Basic : speech bubbles -Oracle Open Office Basic : speed of printing -Oracle Open Office Basic : spellcheck -Oracle Open Office Basic : spellcheck;activating for a language -Oracle Open Office Basic : spellcheck;context menus -Oracle Open Office Basic : spellcheck;default languages -Oracle Open Office Basic : spellcheck;dialog -Oracle Open Office Basic : spellcheck;dictionary of exceptions -Oracle Open Office Basic : spellcheck;ignore list -Oracle Open Office Basic : spin button creation -Oracle Open Office Basic : Split function -Oracle Open Office Basic : spoolfiles with Xprinter -Oracle Open Office Basic : spreadsheets -Oracle Open Office Basic : spreadsheets;as databases (base) -Oracle Open Office Basic : spreadsheets;copying areas to text documents -Oracle Open Office Basic : spreadsheets;creating/opening -Oracle Open Office Basic : spreadsheets;inserting charts -Oracle Open Office Basic : spreadsheets;inserting database records -Oracle Open Office Basic : spreadsheets;printing -Oracle Open Office Basic : spreadsheets;saving -Oracle Open Office Basic : spreadsheets;saving automatically -Oracle Open Office Basic : spreadsheets;saving in other formats -Oracle Open Office Basic : spreadsheets;sending as e-mail -Oracle Open Office Basic : SQL -Oracle Open Office Basic : SQL;definition -Oracle Open Office Basic : SQL;DISTINCT parameter -Oracle Open Office Basic : SQL;executing SQL commands -Oracle Open Office Basic : SQL;executing SQL statements (Base) -Oracle Open Office Basic : SQL;queries (Base) -Oracle Open Office Basic : Sqr function -Oracle Open Office Basic : square drawings -Oracle Open Office Basic : standard bar on/off -Oracle Open Office Basic : standard filters in databases -Oracle Open Office Basic : standard printer under UNIX -Oracle Open Office Basic : start center -Oracle Open Office Basic : start parameters -Oracle Open Office Basic : Static statement -Oracle Open Office Basic : status bar on/off -Oracle Open Office Basic : Step statement -Oracle Open Office Basic : stickers -Oracle Open Office Basic : Stop statement -Oracle Open Office Basic : stopping macros -Oracle Open Office Basic : Str function -Oracle Open Office Basic : StrComp function -Oracle Open Office Basic : strikethrough -Oracle Open Office Basic : strikethrough;characters -Oracle Open Office Basic : strikethrough;font effects -Oracle Open Office Basic : String function -Oracle Open Office Basic : styles -Oracle Open Office Basic : styles;'changed' message -Oracle Open Office Basic : styles;copying between documents -Oracle Open Office Basic : styles;keyboard shortcuts -Oracle Open Office Basic : styles;organizing -Oracle Open Office Basic : styles;printing styles used in a document -Oracle Open Office Basic : styles;replacing automatically -Oracle Open Office Basic : Styles and Formatting window -Oracle Open Office Basic : Styles and Formatting window;docking -Oracle Open Office Basic : Sub statement -Oracle Open Office Basic : subforms -Oracle Open Office Basic : subforms;creating -Oracle Open Office Basic : subforms;description -Oracle Open Office Basic : submitting forms -Oracle Open Office Basic : subroutines -Oracle Open Office Basic : suffixes in file formats -Oracle Open Office Basic : support on the Web -Oracle Open Office Basic : Switch function -Oracle Open Office Basic : synchronizing -Oracle Open Office Basic : synchronizing;labels and business cards -Oracle Open Office Basic : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Basic : system address book registration -Oracle Open Office Basic : tab stops -Oracle Open Office Basic : tab stops;displaying (Writer) -Oracle Open Office Basic : tab stops;inserting and editing -Oracle Open Office Basic : tab stops;regular expressions -Oracle Open Office Basic : tab stops;setting in sheets -Oracle Open Office Basic : tab stops;settings -Oracle Open Office Basic : tab stops;spacing in presentations -Oracle Open Office Basic : tab stops;spacing in text documents -Oracle Open Office Basic : table controls -Oracle Open Office Basic : table controls;form functions -Oracle Open Office Basic : table controls;keyboard-only edit mode -Oracle Open Office Basic : table controls;properties -Oracle Open Office Basic : table views of databases -Oracle Open Office Basic : Table Wizard (Base) -Oracle Open Office Basic : tables -Oracle Open Office Basic : tables;inserting line breaks -Oracle Open Office Basic : tables in databases -Oracle Open Office Basic : tables in databases;access rights to (Base) -Oracle Open Office Basic : tables in databases;adding to queries -Oracle Open Office Basic : tables in databases;browsing and editing -Oracle Open Office Basic : tables in databases;copying database tables (Base) -Oracle Open Office Basic : tables in databases;creating -Oracle Open Office Basic : tables in databases;creating in design view (manually) -Oracle Open Office Basic : tables in databases;importing text formats (Base) -Oracle Open Office Basic : tables in databases;joining for queries (Base) -Oracle Open Office Basic : tables in databases;printing queries (Base) -Oracle Open Office Basic : tables in databases;relations (Base) -Oracle Open Office Basic : tables in databases;searching -Oracle Open Office Basic : tables in spreadsheets -Oracle Open Office Basic : tables in spreadsheets;copying data to other applications -Oracle Open Office Basic : tables in spreadsheets;defining borders -Oracle Open Office Basic : tables in spreadsheets;value highlighting -Oracle Open Office Basic : tables in text -Oracle Open Office Basic : tables in text;captions -Oracle Open Office Basic : tables in text;creating automatically -Oracle Open Office Basic : tables in text;default settings -Oracle Open Office Basic : tables in text;defining borders -Oracle Open Office Basic : tables in text;displaying -Oracle Open Office Basic : tables in text;printing -Oracle Open Office Basic : tabs -Oracle Open Office Basic : tabs;displaying sheet tabs -Oracle Open Office Basic : tags -Oracle Open Office Basic : tags;definition -Oracle Open Office Basic : tags;META tags -Oracle Open Office Basic : Tan function -Oracle Open Office Basic : templates -Oracle Open Office Basic : templates;agendas -Oracle Open Office Basic : templates;changing basic fonts -Oracle Open Office Basic : templates;database reports -Oracle Open Office Basic : templates;deleting -Oracle Open Office Basic : templates;editing and saving -Oracle Open Office Basic : templates;faxes -Oracle Open Office Basic : templates;importing and exporting -Oracle Open Office Basic : templates;letters -Oracle Open Office Basic : templates;new documents from templates -Oracle Open Office Basic : templates;opening documents with -Oracle Open Office Basic : templates;organizing -Oracle Open Office Basic : terminology -Oracle Open Office Basic : terminology;general glossary -Oracle Open Office Basic : terminology;Internet glossary -Oracle Open Office Basic : test mode control -Oracle Open Office Basic : testing XML filters -Oracle Open Office Basic : text -Oracle Open Office Basic : text;animating -Oracle Open Office Basic : text;Asian layout -Oracle Open Office Basic : text;bold -Oracle Open Office Basic : text;coloring -Oracle Open Office Basic : text;copying by drag and drop -Oracle Open Office Basic : text;CTL languages -Oracle Open Office Basic : text;drawing pictures -Oracle Open Office Basic : text;font effects -Oracle Open Office Basic : text;font sizes -Oracle Open Office Basic : text;font styles -Oracle Open Office Basic : text;fonts and formats -Oracle Open Office Basic : text;Fontwork icons -Oracle Open Office Basic : text;hyperlinks -Oracle Open Office Basic : text;inserting special characters -Oracle Open Office Basic : text;italics -Oracle Open Office Basic : text;kerning -Oracle Open Office Basic : text;language selection -Oracle Open Office Basic : text;line spacing -Oracle Open Office Basic : text;overwriting or inserting -Oracle Open Office Basic : text;printing in black -Oracle Open Office Basic : text;replacing with format -Oracle Open Office Basic : text;selection modes -Oracle Open Office Basic : text;shadowed -Oracle Open Office Basic : text;text/draw objects -Oracle Open Office Basic : text attributes -Oracle Open Office Basic : text attributes;hyperlinks -Oracle Open Office Basic : text attributes;undoing -Oracle Open Office Basic : text boxes -Oracle Open Office Basic : text boxes;controls -Oracle Open Office Basic : text boxes;form functions -Oracle Open Office Basic : text boxes;positioning -Oracle Open Office Basic : text breaks in cells -Oracle Open Office Basic : text colors for better accessibility -Oracle Open Office Basic : text databases (Base) -Oracle Open Office Basic : text documents -Oracle Open Office Basic : text documents;creating/opening -Oracle Open Office Basic : text documents;importing/exporting -Oracle Open Office Basic : text documents;inserting spreadsheet cells -Oracle Open Office Basic : text documents;print settings -Oracle Open Office Basic : text documents;printing -Oracle Open Office Basic : text documents;saving -Oracle Open Office Basic : text documents;saving automatically -Oracle Open Office Basic : text documents;saving in other formats -Oracle Open Office Basic : text documents;sending as e-mail -Oracle Open Office Basic : text effects -Oracle Open Office Basic : text flow -Oracle Open Office Basic : text flow;in cells -Oracle Open Office Basic : text formats -Oracle Open Office Basic : text formats;databases -Oracle Open Office Basic : text formats;pasting -Oracle Open Office Basic : text input fields -Oracle Open Office Basic : text layout for special languages -Oracle Open Office Basic : text objects -Oracle Open Office Basic : text objects;alignment -Oracle Open Office Basic : text objects;draw functions -Oracle Open Office Basic : text objects;fonts -Oracle Open Office Basic : text objects;in presentations and drawings -Oracle Open Office Basic : text overflow in spreadsheet cells -Oracle Open Office Basic : text, see also text documents, paragraphs and characters -Oracle Open Office Basic : TextArt, see Fontwork -Oracle Open Office Basic : textures -Oracle Open Office Basic : textures;inserting from Gallery -Oracle Open Office Basic : textures;on chart bars -Oracle Open Office Basic : Thai -Oracle Open Office Basic : Thai;entering text -Oracle Open Office Basic : Thai;language settings -Oracle Open Office Basic : thesaurus -Oracle Open Office Basic : thesaurus;activating for a language -Oracle Open Office Basic : ThisComponent property -Oracle Open Office Basic : ticker text -Oracle Open Office Basic : time field control -Oracle Open Office Basic : time fields -Oracle Open Office Basic : time fields;form functions -Oracle Open Office Basic : Time statement -Oracle Open Office Basic : Timer function -Oracle Open Office Basic : times -Oracle Open Office Basic : times;inserting when printing presentations -Oracle Open Office Basic : times, formats -Oracle Open Office Basic : TimeSerial function -Oracle Open Office Basic : TimeValue function -Oracle Open Office Basic : tips -Oracle Open Office Basic : tips;extended tips in Help -Oracle Open Office Basic : title rows -Oracle Open Office Basic : title rows;printing in Oracle Open Office Math -Oracle Open Office Basic : titles -Oracle Open Office Basic : titles;changing -Oracle Open Office Basic : titles;editing in charts -Oracle Open Office Basic : titles;font effects -Oracle Open Office Basic : titles;formatting automatically -Oracle Open Office Basic : titles;objects -Oracle Open Office Basic : To statement -Oracle Open Office Basic : toolbars -Oracle Open Office Basic : toolbars;adding buttons -Oracle Open Office Basic : toolbars;Basic IDE -Oracle Open Office Basic : toolbars;docking/undocking -Oracle Open Office Basic : toolbars;Form Navigation bar -Oracle Open Office Basic : toolbars;viewing/closing -Oracle Open Office Basic : tools bar -Oracle Open Office Basic : tooltips -Oracle Open Office Basic : tooltips;extended tips -Oracle Open Office Basic : tooltips;help -Oracle Open Office Basic : traditional Chinese -Oracle Open Office Basic : traditional Chinese;translating to simplified chinese -Oracle Open Office Basic : translating dialogs -Oracle Open Office Basic : transparency -Oracle Open Office Basic : transparency;areas -Oracle Open Office Basic : transparency;off for faster printing -Oracle Open Office Basic : transparency;saving -Oracle Open Office Basic : tree view of Help -Oracle Open Office Basic : Trim function -Oracle Open Office Basic : twips -Oracle Open Office Basic : twips;definition -Oracle Open Office Basic : TwipsPerPixelX function -Oracle Open Office Basic : TwipsPerPixelY function -Oracle Open Office Basic : typefaces -Oracle Open Office Basic : typefaces;adding under UNIX -Oracle Open Office Basic : typefaces;formats -Oracle Open Office Basic : TypeName function -Oracle Open Office Basic : types of variables -Oracle Open Office Basic : typographical quotes in Oracle Open Office Writer -Oracle Open Office Basic : typography -Oracle Open Office Basic : typography;Asian -Oracle Open Office Basic : UBound function -Oracle Open Office Basic : UCase function -Oracle Open Office Basic : underlining -Oracle Open Office Basic : underlining;AutoFormat function -Oracle Open Office Basic : underlining;characters -Oracle Open Office Basic : underlining;text -Oracle Open Office Basic : undocking windows -Oracle Open Office Basic : undoing -Oracle Open Office Basic : undoing;direct formatting -Oracle Open Office Basic : undoing;editing -Oracle Open Office Basic : undoing;number of steps -Oracle Open Office Basic : ungrouping groups -Oracle Open Office Basic : units -Oracle Open Office Basic : units;converting -Oracle Open Office Basic : units;measurement units -Oracle Open Office Basic : UNO components -Oracle Open Office Basic : UNO components;Extension Manager -Oracle Open Office Basic : UNO components;integrating new -Oracle Open Office Basic : Until -Oracle Open Office Basic : update options -Oracle Open Office Basic : updates -Oracle Open Office Basic : updates;checking automatically -Oracle Open Office Basic : updates;checking manually -Oracle Open Office Basic : updating -Oracle Open Office Basic : updating;fields and charts, automatically (Writer) -Oracle Open Office Basic : updating;links in text documents -Oracle Open Office Basic : updating;links, on opening -Oracle Open Office Basic : updating;templates -Oracle Open Office Basic : URL -Oracle Open Office Basic : URL;changing hyperlink URLs -Oracle Open Office Basic : URL;definition -Oracle Open Office Basic : URL;in pictures -Oracle Open Office Basic : URL;saving absolute/relative paths -Oracle Open Office Basic : URL;turning off URL recognition -Oracle Open Office Basic : user data -Oracle Open Office Basic : user data;input -Oracle Open Office Basic : user data;removing when saving -Oracle Open Office Basic : user feedback -Oracle Open Office Basic : user feedback;automatically -Oracle Open Office Basic : user-defined dictionaries -Oracle Open Office Basic : user-defined dictionaries;creating -Oracle Open Office Basic : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Basic : user-defined dictionaries;editing -Oracle Open Office Basic : user-defined styles -Oracle Open Office Basic : user-defined styles;automatically replacing -Oracle Open Office Basic : UTF-8/UCS2 support -Oracle Open Office Basic : Val function -Oracle Open Office Basic : values -Oracle Open Office Basic : values;of variables -Oracle Open Office Basic : values;rounded as shown (Calc) -Oracle Open Office Basic : variables -Oracle Open Office Basic : variables;for paths -Oracle Open Office Basic : variables;global and local -Oracle Open Office Basic : variables;observing values -Oracle Open Office Basic : variables;passing to procedures and functions -Oracle Open Office Basic : variables;scope -Oracle Open Office Basic : variables;using -Oracle Open Office Basic : VarType function -Oracle Open Office Basic : VBA code -Oracle Open Office Basic : VBA code;loading/saving documents with VBA code -Oracle Open Office Basic : version management -Oracle Open Office Basic : version numbers of documents -Oracle Open Office Basic : versions -Oracle Open Office Basic : versions;comparing documents -Oracle Open Office Basic : versions;file saving as, restriction -Oracle Open Office Basic : versions;merging document versions -Oracle Open Office Basic : versions;of a document -Oracle Open Office Basic : versions;Oracle Open Office -Oracle Open Office Basic : vertical callouts -Oracle Open Office Basic : vertical line control -Oracle Open Office Basic : vertical scrollbar control -Oracle Open Office Basic : vertical scrollbars (Writer) -Oracle Open Office Basic : vertical text boxes -Oracle Open Office Basic : videos -Oracle Open Office Basic : viewing -Oracle Open Office Basic : viewing;databases -Oracle Open Office Basic : viewing;file properties -Oracle Open Office Basic : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Basic : viewing;toolbars -Oracle Open Office Basic : views -Oracle Open Office Basic : views;creating database views (Base) -Oracle Open Office Basic : views;defaults -Oracle Open Office Basic : views;full screen -Oracle Open Office Basic : views;icons -Oracle Open Office Basic : views;scaling -Oracle Open Office Basic : Visual Basic for Applications -Oracle Open Office Basic : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Basic : Wait statement -Oracle Open Office Basic : watching variables -Oracle Open Office Basic : watermarks -Oracle Open Office Basic : web documents -Oracle Open Office Basic : web documents;XForms -Oracle Open Office Basic : Web support -Oracle Open Office Basic : WebCast export -Oracle Open Office Basic : WebDAV over HTTPS -Oracle Open Office Basic : WeekDay function -Oracle Open Office Basic : While -Oracle Open Office Basic : While;Do loop -Oracle Open Office Basic : While;While...Wend loop -Oracle Open Office Basic : windows -Oracle Open Office Basic : windows;docking -Oracle Open Office Basic : windows;docking definition -Oracle Open Office Basic : windows;hiding/showing/docking -Oracle Open Office Basic : windows;new -Oracle Open Office Basic : With statement -Oracle Open Office Basic : wizards -Oracle Open Office Basic : wizards;agendas -Oracle Open Office Basic : wizards;database queries -Oracle Open Office Basic : wizards;database tables (Base) -Oracle Open Office Basic : wizards;databases (Base) -Oracle Open Office Basic : wizards;document converter -Oracle Open Office Basic : wizards;Euro Converter -Oracle Open Office Basic : wizards;faxes -Oracle Open Office Basic : wizards;forms -Oracle Open Office Basic : wizards;letters -Oracle Open Office Basic : wizards;macros (Base) -Oracle Open Office Basic : wizards;overview -Oracle Open Office Basic : wizards;presentations -Oracle Open Office Basic : wizards;reports -Oracle Open Office Basic : Word documents -Oracle Open Office Basic : Word documents;compatibility -Oracle Open Office Basic : Word documents;saving as -Oracle Open Office Basic : WordArt, see Fontwork -Oracle Open Office Basic : words -Oracle Open Office Basic : words;automatically replacing -Oracle Open Office Basic : words;wrapping in cells -Oracle Open Office Basic : words;wrapping in CTL -Oracle Open Office Basic : working directory change -Oracle Open Office Basic : wrapping text -Oracle Open Office Basic : wrapping text;in cells -Oracle Open Office Basic : write protection on/off -Oracle Open Office Basic : Write statement -Oracle Open Office Basic : writing aids options -Oracle Open Office Basic : WYSIWYG in fonts lists -Oracle Open Office Basic : XForms -Oracle Open Office Basic : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Basic : XForms;conditions -Oracle Open Office Basic : XForms;opening/editing -Oracle Open Office Basic : XML converters -Oracle Open Office Basic : XML file formats -Oracle Open Office Basic : XML filters -Oracle Open Office Basic : XML filters;creating/testing -Oracle Open Office Basic : XML filters;saving as package/installing/deleting -Oracle Open Office Basic : XML filters;settings -Oracle Open Office Basic : XML Forms, see XForms -Oracle Open Office Basic : Xor operator (logical) -Oracle Open Office Basic : XSLT filters, see also XML filters -Oracle Open Office Basic : Year function -Oracle Open Office Basic : years -Oracle Open Office Basic : years;2-digit options -Oracle Open Office Basic : zero values -Oracle Open Office Basic : zero values;displaying (Calc) -Oracle Open Office Basic : zooming -Oracle Open Office Basic : zooming;page views -Oracle Open Office Basic : zooming;pictures -Oracle Open Office Basic : zooming;status bar -Oracle Open Office Calc : #N/A error -Oracle Open Office Calc : #N/A error;assigning to a cell -Oracle Open Office Calc : #N/A error;recognizing -Oracle Open Office Calc : #NAME error message -Oracle Open Office Calc : #REF error message -Oracle Open Office Calc : 1/2 replacement -Oracle Open Office Calc : 3D charts -Oracle Open Office Calc : 3D text creation -Oracle Open Office Calc : abbreviation replacement -Oracle Open Office Calc : ABS function -Oracle Open Office Calc : absolute addresses in spreadsheets -Oracle Open Office Calc : absolute hyperlinks -Oracle Open Office Calc : absolute references in spreadsheets -Oracle Open Office Calc : absolute saving of URLs -Oracle Open Office Calc : absolute values -Oracle Open Office Calc : accents -Oracle Open Office Calc : Access databases (base) -Oracle Open Office Calc : access rights for database tables (Base) -Oracle Open Office Calc : accessibility -Oracle Open Office Calc : accessibility;general shortcuts -Oracle Open Office Calc : accessibility;options -Oracle Open Office Calc : accessibility;Oracle Open Office assistive technology -Oracle Open Office Calc : accessibility;Oracle Open Office Calc shortcuts -Oracle Open Office Calc : accessibility;Oracle Open Office features -Oracle Open Office Calc : ACCRINT function -Oracle Open Office Calc : ACCRINTM function -Oracle Open Office Calc : accrued interests -Oracle Open Office Calc : accrued interests;one-off payments -Oracle Open Office Calc : accrued interests;periodic payments -Oracle Open Office Calc : accumulated interests -Oracle Open Office Calc : ACOS function -Oracle Open Office Calc : ACOSH function -Oracle Open Office Calc : ACOT function -Oracle Open Office Calc : ACOTH function -Oracle Open Office Calc : actions in case of incorrect input -Oracle Open Office Calc : activating -Oracle Open Office Calc : activating;context menus -Oracle Open Office Calc : activating;Error Report Tool -Oracle Open Office Calc : activating;extended help tips -Oracle Open Office Calc : activating;plug-ins -Oracle Open Office Calc : ActiveX control -Oracle Open Office Calc : Adabas D databases (base) -Oracle Open Office Calc : add-ins -Oracle Open Office Calc : add-ins;analysis functions -Oracle Open Office Calc : add-ins;for programming -Oracle Open Office Calc : add-ins;functions -Oracle Open Office Calc : add-ons, see UNO components -Oracle Open Office Calc : adding -Oracle Open Office Calc : adding;numbers in cell ranges -Oracle Open Office Calc : adding;specified numbers -Oracle Open Office Calc : additional selection mode -Oracle Open Office Calc : address books -Oracle Open Office Calc : address books;LDAP server (Base) -Oracle Open Office Calc : address books;registering -Oracle Open Office Calc : ADDRESS function -Oracle Open Office Calc : address labels from databases -Oracle Open Office Calc : addressing -Oracle Open Office Calc : addressing;automatic -Oracle Open Office Calc : addressing;by defined names -Oracle Open Office Calc : addressing;relative and absolute -Oracle Open Office Calc : adjusting array ranges -Oracle Open Office Calc : ADO databases (Base) -Oracle Open Office Calc : advanced filters -Oracle Open Office Calc : Agenda Wizard -Oracle Open Office Calc : aging filter -Oracle Open Office Calc : algebraic signs -Oracle Open Office Calc : aligning -Oracle Open Office Calc : aligning;2D charts -Oracle Open Office Calc : aligning;cells -Oracle Open Office Calc : aligning;objects -Oracle Open Office Calc : aligning;paragraphs -Oracle Open Office Calc : aligning;tables in text -Oracle Open Office Calc : aligning;text objects -Oracle Open Office Calc : aligning;titles in charts -Oracle Open Office Calc : allowances -Oracle Open Office Calc : allowed cell names -Oracle Open Office Calc : alternative fonts -Oracle Open Office Calc : AMORDEGRC function -Oracle Open Office Calc : AMORLINC function -Oracle Open Office Calc : amortization installment -Oracle Open Office Calc : amortizations, see also depreciations -Oracle Open Office Calc : amount received for fixed-interest securities -Oracle Open Office Calc : ampersand symbol, see also operators -Oracle Open Office Calc : analysis functions -Oracle Open Office Calc : anchors -Oracle Open Office Calc : anchors;changing -Oracle Open Office Calc : anchors;displaying (Calc) -Oracle Open Office Calc : anchors;types/positions for draw objects -Oracle Open Office Calc : AND function -Oracle Open Office Calc : animations -Oracle Open Office Calc : animations;accessibility options -Oracle Open Office Calc : annual net interest rates -Oracle Open Office Calc : annual return on treasury bills -Oracle Open Office Calc : annuities -Oracle Open Office Calc : appearance options -Oracle Open Office Calc : appending sheets -Oracle Open Office Calc : Arabic -Oracle Open Office Calc : Arabic;entering text -Oracle Open Office Calc : Arabic;language settings -Oracle Open Office Calc : ARABIC function -Oracle Open Office Calc : area charts -Oracle Open Office Calc : areas -Oracle Open Office Calc : areas;bitmap patterns -Oracle Open Office Calc : areas;hatched/dotted -Oracle Open Office Calc : areas;shadows -Oracle Open Office Calc : areas;slanting -Oracle Open Office Calc : areas;styles -Oracle Open Office Calc : areas;transparency -Oracle Open Office Calc : AREAS function -Oracle Open Office Calc : areas, see also cell ranges -Oracle Open Office Calc : arguments in command line -Oracle Open Office Calc : arithmetic declining depreciations -Oracle Open Office Calc : arithmetic lists -Oracle Open Office Calc : arithmetic-degressive depreciations -Oracle Open Office Calc : arithmetical operators -Oracle Open Office Calc : arranging -Oracle Open Office Calc : arranging;objects -Oracle Open Office Calc : array formulas -Oracle Open Office Calc : arrows -Oracle Open Office Calc : arrows;defining arrow heads -Oracle Open Office Calc : arrows;defining arrow lines -Oracle Open Office Calc : arrows;drawing in text -Oracle Open Office Calc : ASC function -Oracle Open Office Calc : ASCII -Oracle Open Office Calc : ASCII;definition -Oracle Open Office Calc : Asian languages -Oracle Open Office Calc : Asian languages;enabling -Oracle Open Office Calc : Asian languages;sorting -Oracle Open Office Calc : Asian Phonetic Guide -Oracle Open Office Calc : Asian typography -Oracle Open Office Calc : ASIN function -Oracle Open Office Calc : ASINH function -Oracle Open Office Calc : assigning scripts -Oracle Open Office Calc : assistive technology in Oracle Open Office -Oracle Open Office Calc : ATAN function -Oracle Open Office Calc : ATAN2 function -Oracle Open Office Calc : ATANH function -Oracle Open Office Calc : attaching toolbars -Oracle Open Office Calc : attachments in e-mails -Oracle Open Office Calc : attributes -Oracle Open Office Calc : attributes;cells -Oracle Open Office Calc : audio -Oracle Open Office Calc : auto reloading HTML documents -Oracle Open Office Calc : AutoAbstract function for sending text to presentations -Oracle Open Office Calc : AutoCalculate function in sheets -Oracle Open Office Calc : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Calc : AutoComplete function in text and list boxes -Oracle Open Office Calc : AutoCorrect function -Oracle Open Office Calc : AutoCorrect function;cell contents -Oracle Open Office Calc : AutoCorrect function;context menu -Oracle Open Office Calc : AutoCorrect function;options -Oracle Open Office Calc : AutoCorrect function;pictures and frames -Oracle Open Office Calc : AutoCorrect function;quotes -Oracle Open Office Calc : AutoCorrect function;replacement table -Oracle Open Office Calc : AutoCorrect function;switching on and off in Calc -Oracle Open Office Calc : AutoCorrect function;URL recognition -Oracle Open Office Calc : AutoFill function -Oracle Open Office Calc : AutoFilter function -Oracle Open Office Calc : AutoFilter function;applying -Oracle Open Office Calc : AutoFilter function;subtotals -Oracle Open Office Calc : AutoFormat function -Oracle Open Office Calc : AutoFormat function;defining and applying formats -Oracle Open Office Calc : AutoFormat function;switching on and off -Oracle Open Office Calc : AutoInput function on/off -Oracle Open Office Calc : automatic addressing in tables -Oracle Open Office Calc : automatic captions (Writer) -Oracle Open Office Calc : automatic cell filling -Oracle Open Office Calc : automatic control focus -Oracle Open Office Calc : automatic date updates -Oracle Open Office Calc : automatic formatting in spreadsheets -Oracle Open Office Calc : automatic hyperlink formatting -Oracle Open Office Calc : automatic hyphenation in spreadsheets -Oracle Open Office Calc : automatic line breaks -Oracle Open Office Calc : automatic lines/borders in text -Oracle Open Office Calc : automatic saving -Oracle Open Office Calc : AutoPilots, see wizards -Oracle Open Office Calc : AutoValue (Base) -Oracle Open Office Calc : AVEDEV function -Oracle Open Office Calc : AVERAGE function -Oracle Open Office Calc : AVERAGEA function -Oracle Open Office Calc : averages -Oracle Open Office Calc : averages;in Calc databases -Oracle Open Office Calc : averages;statistical functions -Oracle Open Office Calc : averages in charts -Oracle Open Office Calc : axes -Oracle Open Office Calc : axes;better scaling -Oracle Open Office Calc : axes;formatting -Oracle Open Office Calc : axes;formatting grids -Oracle Open Office Calc : axes;inserting grids -Oracle Open Office Calc : axes;interval marks -Oracle Open Office Calc : axes;showing axes in charts -Oracle Open Office Calc : axes in charts -Oracle Open Office Calc : B function -Oracle Open Office Calc : back-solving -Oracle Open Office Calc : backgrounds -Oracle Open Office Calc : backgrounds;cell ranges -Oracle Open Office Calc : backgrounds;cells and pages -Oracle Open Office Calc : backgrounds;defining colors/pictures -Oracle Open Office Calc : backgrounds;frames/sections/indexes -Oracle Open Office Calc : backgrounds;inserting from Gallery -Oracle Open Office Calc : backgrounds;printing -Oracle Open Office Calc : backing window -Oracle Open Office Calc : backups -Oracle Open Office Calc : backups;automatic -Oracle Open Office Calc : backups;documents -Oracle Open Office Calc : BAHTTEXT function -Oracle Open Office Calc : bar charts -Oracle Open Office Calc : BASE function -Oracle Open Office Calc : base-10 logarithm -Oracle Open Office Calc : Basic -Oracle Open Office Calc : Basic;fonts for source display -Oracle Open Office Calc : Basic;programming -Oracle Open Office Calc : Basic;recording macros -Oracle Open Office Calc : basic fonts -Oracle Open Office Calc : Basic IDE for user-defined functions -Oracle Open Office Calc : Bessel functions -Oracle Open Office Calc : BETADIST function -Oracle Open Office Calc : BETAINV function -Oracle Open Office Calc : Bézier curves -Oracle Open Office Calc : Bézier curves;control points in presentations -Oracle Open Office Calc : bi-directional writing -Oracle Open Office Calc : BIN2DEC function -Oracle Open Office Calc : BIN2HEX function -Oracle Open Office Calc : BIN2OCT function -Oracle Open Office Calc : binary system -Oracle Open Office Calc : binary system;converting to -Oracle Open Office Calc : binding space -Oracle Open Office Calc : BINOMDIST function -Oracle Open Office Calc : bitmaps -Oracle Open Office Calc : bitmaps;inserting and editing -Oracle Open Office Calc : bitmaps;off for faster printing -Oracle Open Office Calc : bitmaps;patterns -Oracle Open Office Calc : black and white printing -Oracle Open Office Calc : black printing in Calc -Oracle Open Office Calc : blank cell contents -Oracle Open Office Calc : block selection mode -Oracle Open Office Calc : bold -Oracle Open Office Calc : bold;AutoFormat function -Oracle Open Office Calc : bold;text -Oracle Open Office Calc : bookmarks -Oracle Open Office Calc : bookmarks;Help -Oracle Open Office Calc : borders -Oracle Open Office Calc : borders;arranging -Oracle Open Office Calc : borders;cells -Oracle Open Office Calc : borders;cells and pages -Oracle Open Office Calc : borders;cells on screen (Calc) -Oracle Open Office Calc : borders;for paragraphs -Oracle Open Office Calc : borders;for tables -Oracle Open Office Calc : borders;printing cells -Oracle Open Office Calc : borders;shadows -Oracle Open Office Calc : borders;table boundaries (Writer) -Oracle Open Office Calc : borders, see also frames -Oracle Open Office Calc : bound fields -Oracle Open Office Calc : bound fields;controls -Oracle Open Office Calc : boundaries of tables (Writer) -Oracle Open Office Calc : break display (Writer) -Oracle Open Office Calc : breaks in cells -Oracle Open Office Calc : brochures -Oracle Open Office Calc : brochures;printing several -Oracle Open Office Calc : bubble charts -Oracle Open Office Calc : build numbers of Oracle Open Office -Oracle Open Office Calc : bullet lists -Oracle Open Office Calc : bullet lists;formatting options -Oracle Open Office Calc : bullets -Oracle Open Office Calc : bullets;paragraphs -Oracle Open Office Calc : bullets;replacing -Oracle Open Office Calc : bullets;turning off -Oracle Open Office Calc : business cards -Oracle Open Office Calc : business cards;creating and synchronizing -Oracle Open Office Calc : business cards;using templates -Oracle Open Office Calc : button bars, see toolbars -Oracle Open Office Calc : buttons -Oracle Open Office Calc : buttons;adding push buttons -Oracle Open Office Calc : buttons;big/small -Oracle Open Office Calc : buttons;editing hyperlink buttons -Oracle Open Office Calc : buttons;form functions -Oracle Open Office Calc : buttons;toolbars -Oracle Open Office Calc : cache for graphics -Oracle Open Office Calc : calculating -Oracle Open Office Calc : calculating;accumulated interests -Oracle Open Office Calc : calculating;annual net interest rates -Oracle Open Office Calc : calculating;annuities -Oracle Open Office Calc : calculating;arithmetic-degressive depreciations -Oracle Open Office Calc : calculating;auto calculating sheets -Oracle Open Office Calc : calculating;averages in Calc databases -Oracle Open Office Calc : calculating;conditional calculations -Oracle Open Office Calc : calculating;constant interest rates -Oracle Open Office Calc : calculating;Data Pilot -Oracle Open Office Calc : calculating;depreciations -Oracle Open Office Calc : calculating;durations -Oracle Open Office Calc : calculating;future values -Oracle Open Office Calc : calculating;geometric-degressive depreciations -Oracle Open Office Calc : calculating;interests for unchanged amortization installments -Oracle Open Office Calc : calculating;internal rates of return, irregular payments -Oracle Open Office Calc : calculating;internal rates of return, regular payments -Oracle Open Office Calc : calculating;iterative references (Calc) -Oracle Open Office Calc : calculating;linear depreciations -Oracle Open Office Calc : calculating;modified internal rates of return -Oracle Open Office Calc : calculating;multiple sheets -Oracle Open Office Calc : calculating;net present values -Oracle Open Office Calc : calculating;nominal interest rates -Oracle Open Office Calc : calculating;number of payment periods -Oracle Open Office Calc : calculating;present values -Oracle Open Office Calc : calculating;rates of return -Oracle Open Office Calc : calculating;regression curves -Oracle Open Office Calc : calculating;rounded off values -Oracle Open Office Calc : calculating;series -Oracle Open Office Calc : calculating;spreadsheets -Oracle Open Office Calc : calculating;sums in Calc databases -Oracle Open Office Calc : calculating;time differences -Oracle Open Office Calc : calculating;total amortizement rates -Oracle Open Office Calc : calculating;variable declining depreciations -Oracle Open Office Calc : calculating;variables in equations -Oracle Open Office Calc : calculating;with formulas -Oracle Open Office Calc : callouts -Oracle Open Office Calc : callouts;drawings -Oracle Open Office Calc : capital letters -Oracle Open Office Calc : capital letters;AutoCorrect function -Oracle Open Office Calc : capital letters;AutoInput function -Oracle Open Office Calc : capital letters;AutoInput function (in cells) -Oracle Open Office Calc : capital letters;font effects -Oracle Open Office Calc : captions -Oracle Open Office Calc : captions;automatic captions (Writer) -Oracle Open Office Calc : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Calc : captions, see also labels/callouts -Oracle Open Office Calc : cascading update (Base) -Oracle Open Office Calc : case sensitivity -Oracle Open Office Calc : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Calc : case sensitivity;searching -Oracle Open Office Calc : categories of functions -Oracle Open Office Calc : CEILING function -Oracle Open Office Calc : cell attributes -Oracle Open Office Calc : cell contents -Oracle Open Office Calc : cell contents;AutoCalculate function -Oracle Open Office Calc : cell contents;deleting -Oracle Open Office Calc : cell contents;no text -Oracle Open Office Calc : cell contents;numbers -Oracle Open Office Calc : cell contents;recalculating -Oracle Open Office Calc : cell contents;searching in Calc databases -Oracle Open Office Calc : cell contents;testing for references -Oracle Open Office Calc : cell contents;text -Oracle Open Office Calc : cell formats -Oracle Open Office Calc : cell formats;assigning by formulas -Oracle Open Office Calc : cell formats;conditional -Oracle Open Office Calc : cell formats;text/numbers -Oracle Open Office Calc : CELL function -Oracle Open Office Calc : cell heights -Oracle Open Office Calc : cell information -Oracle Open Office Calc : cell input -Oracle Open Office Calc : cell input;AutoInput function -Oracle Open Office Calc : cell links search -Oracle Open Office Calc : cell merges -Oracle Open Office Calc : cell names -Oracle Open Office Calc : cell names;defining/addressing -Oracle Open Office Calc : cell protection -Oracle Open Office Calc : cell protection;enabling -Oracle Open Office Calc : cell protection;unprotecting -Oracle Open Office Calc : cell ranges -Oracle Open Office Calc : cell ranges;applying/removing filters -Oracle Open Office Calc : cell ranges;creating names automatically -Oracle Open Office Calc : cell ranges;defining names -Oracle Open Office Calc : cell ranges;inserting named ranges -Oracle Open Office Calc : cell ranges;printing -Oracle Open Office Calc : cell ranges;selecting for data entries -Oracle Open Office Calc : cell references -Oracle Open Office Calc : cell references;showing -Oracle Open Office Calc : cell styles -Oracle Open Office Calc : cell styles;assigning by formulas -Oracle Open Office Calc : cell styles;copying -Oracle Open Office Calc : cell styles;selecting -Oracle Open Office Calc : cell widths -Oracle Open Office Calc : cells -Oracle Open Office Calc : cells;aligning -Oracle Open Office Calc : cells;AutoInput function of text -Oracle Open Office Calc : cells;autorefreshing traces -Oracle Open Office Calc : cells;backgrounds -Oracle Open Office Calc : cells;borders -Oracle Open Office Calc : cells;changing text/number formats -Oracle Open Office Calc : cells;coloring (Calc) -Oracle Open Office Calc : cells;comments -Oracle Open Office Calc : cells;conditional formatting -Oracle Open Office Calc : cells;copying/deleting/formatting/moving -Oracle Open Office Calc : cells;currency formats -Oracle Open Office Calc : cells;cursor positions after input (Calc) -Oracle Open Office Calc : cells;date and time formats -Oracle Open Office Calc : cells;defining input help -Oracle Open Office Calc : cells;defining names -Oracle Open Office Calc : cells;deleting cells -Oracle Open Office Calc : cells;deleting contents -Oracle Open Office Calc : cells;filling automatically -Oracle Open Office Calc : cells;formatting dialog -Oracle Open Office Calc : cells;formatting without effect (Calc) -Oracle Open Office Calc : cells;heights and widths -Oracle Open Office Calc : cells;hiding for printing -Oracle Open Office Calc : cells;inserting -Oracle Open Office Calc : cells;Internet references -Oracle Open Office Calc : cells;invalid data -Oracle Open Office Calc : cells;line breaks -Oracle Open Office Calc : cells;linked to controls -Oracle Open Office Calc : cells;merging/unmerging -Oracle Open Office Calc : cells;moving by drag and drop -Oracle Open Office Calc : cells;number formats -Oracle Open Office Calc : cells;number of -Oracle Open Office Calc : cells;operating in another document -Oracle Open Office Calc : cells;pasting -Oracle Open Office Calc : cells;print ranges -Oracle Open Office Calc : cells;printing grids -Oracle Open Office Calc : cells;protecting -Oracle Open Office Calc : cells;references -Oracle Open Office Calc : cells;referencing by drag and drop -Oracle Open Office Calc : cells;refreshing traces -Oracle Open Office Calc : cells;removing dependents -Oracle Open Office Calc : cells;removing precedents -Oracle Open Office Calc : cells;removing traces -Oracle Open Office Calc : cells;resetting formats -Oracle Open Office Calc : cells;rotating text -Oracle Open Office Calc : cells;selecting -Oracle Open Office Calc : cells;showing grid lines (Calc) -Oracle Open Office Calc : cells;text breaks -Oracle Open Office Calc : cells;text super/sub -Oracle Open Office Calc : cells;trace fill mode -Oracle Open Office Calc : cells;tracing dependents -Oracle Open Office Calc : cells;tracing errors -Oracle Open Office Calc : cells;tracing precedents -Oracle Open Office Calc : cells;validity -Oracle Open Office Calc : centered text -Oracle Open Office Calc : centimeters -Oracle Open Office Calc : certificates -Oracle Open Office Calc : changes -Oracle Open Office Calc : changes;accepting or rejecting -Oracle Open Office Calc : changes;comparing to original -Oracle Open Office Calc : changes;protecting -Oracle Open Office Calc : changes;recording -Oracle Open Office Calc : changes;review function -Oracle Open Office Calc : changes;showing -Oracle Open Office Calc : changing -Oracle Open Office Calc : changing;currency formats -Oracle Open Office Calc : changing;dates, automatically -Oracle Open Office Calc : changing;document titles -Oracle Open Office Calc : changing;file associations in Setup program -Oracle Open Office Calc : changing;icon sizes -Oracle Open Office Calc : changing;input in cells -Oracle Open Office Calc : changing;links -Oracle Open Office Calc : changing;number of decimal places -Oracle Open Office Calc : changing;row heights/column widths -Oracle Open Office Calc : changing;sheet names -Oracle Open Office Calc : changing;sheet protection -Oracle Open Office Calc : changing;table views -Oracle Open Office Calc : changing;work directory -Oracle Open Office Calc : changing, see also editing and replacing -Oracle Open Office Calc : CHAR function -Oracle Open Office Calc : character styles -Oracle Open Office Calc : character styles;language selection -Oracle Open Office Calc : characters -Oracle Open Office Calc : characters;alternative fonts -Oracle Open Office Calc : characters;Asian layout -Oracle Open Office Calc : characters;bold -Oracle Open Office Calc : characters;coloring -Oracle Open Office Calc : characters;displaying only on screen (Writer) -Oracle Open Office Calc : characters;enabling CTL and Asian characters -Oracle Open Office Calc : characters;font effects -Oracle Open Office Calc : characters;fonts and formats -Oracle Open Office Calc : characters;hyperlinks -Oracle Open Office Calc : characters;italics -Oracle Open Office Calc : characters;language selection -Oracle Open Office Calc : characters;shadowed -Oracle Open Office Calc : characters;spacing -Oracle Open Office Calc : characters;special -Oracle Open Office Calc : characters;superscript/subscript -Oracle Open Office Calc : characters;underlining -Oracle Open Office Calc : charcoal sketches filter -Oracle Open Office Calc : chart legends -Oracle Open Office Calc : chart legends;hiding -Oracle Open Office Calc : chart legends;showing icons with labels -Oracle Open Office Calc : chart types -Oracle Open Office Calc : chart types;area -Oracle Open Office Calc : chart types;bubble -Oracle Open Office Calc : chart types;column and bar -Oracle Open Office Calc : chart types;column and line -Oracle Open Office Calc : chart types;line -Oracle Open Office Calc : chart types;net -Oracle Open Office Calc : chart types;pie/donut -Oracle Open Office Calc : chart types;stock -Oracle Open Office Calc : chart types;XY (scatter) -Oracle Open Office Calc : charts -Oracle Open Office Calc : charts;3D views -Oracle Open Office Calc : charts;aligning -Oracle Open Office Calc : charts;arranging within stacks -Oracle Open Office Calc : charts;bars with textures -Oracle Open Office Calc : charts;choosing chart types -Oracle Open Office Calc : charts;colors -Oracle Open Office Calc : charts;copying with link to source cell range -Oracle Open Office Calc : charts;data labels -Oracle Open Office Calc : charts;displaying (Calc) -Oracle Open Office Calc : charts;editing axes -Oracle Open Office Calc : charts;editing data -Oracle Open Office Calc : charts;editing legends -Oracle Open Office Calc : charts;editing titles -Oracle Open Office Calc : charts;formatting areas -Oracle Open Office Calc : charts;formatting floors -Oracle Open Office Calc : charts;formatting walls -Oracle Open Office Calc : charts;inserting -Oracle Open Office Calc : charts;overview -Oracle Open Office Calc : charts;positioning axes -Oracle Open Office Calc : charts;printing -Oracle Open Office Calc : charts;properties -Oracle Open Office Calc : charts;reorganizing -Oracle Open Office Calc : charts;scaling axes -Oracle Open Office Calc : charts;scaling text -Oracle Open Office Calc : charts;shortcuts -Oracle Open Office Calc : charts;showing axes -Oracle Open Office Calc : charts;updating automatically (Writer) -Oracle Open Office Calc : check box creation -Oracle Open Office Calc : chi-square distribution -Oracle Open Office Calc : CHIDIST function -Oracle Open Office Calc : CHIINV function -Oracle Open Office Calc : Chinese writing systems -Oracle Open Office Calc : CHISQDIST function -Oracle Open Office Calc : CHISQINV function -Oracle Open Office Calc : CHITEST function -Oracle Open Office Calc : CHOOSE function -Oracle Open Office Calc : choosing printers -Oracle Open Office Calc : circle drawings -Oracle Open Office Calc : CLEAN function -Oracle Open Office Calc : clearing, see also deleting/removing -Oracle Open Office Calc : Client Side ImageMap -Oracle Open Office Calc : clipboard -Oracle Open Office Calc : clipboard;cutting -Oracle Open Office Calc : clipboard;pasting -Oracle Open Office Calc : clipboard;pasting formatted/unformatted text -Oracle Open Office Calc : clipboard;selection clipboard -Oracle Open Office Calc : clipboard;Unix -Oracle Open Office Calc : closing -Oracle Open Office Calc : closing;documents -Oracle Open Office Calc : closing;toolbars -Oracle Open Office Calc : CODE function -Oracle Open Office Calc : coefficient of correlation -Oracle Open Office Calc : collaboration -Oracle Open Office Calc : color bar -Oracle Open Office Calc : colors -Oracle Open Office Calc : colors;adding -Oracle Open Office Calc : colors;appearance -Oracle Open Office Calc : colors;backgrounds -Oracle Open Office Calc : colors;charts -Oracle Open Office Calc : colors;fill format -Oracle Open Office Calc : colors;fonts -Oracle Open Office Calc : colors;grid lines and cells (Calc) -Oracle Open Office Calc : colors;models -Oracle Open Office Calc : colors;negative numbers -Oracle Open Office Calc : colors;not printing -Oracle Open Office Calc : colors;printing in grayscale -Oracle Open Office Calc : colors;restriction (Calc) -Oracle Open Office Calc : colors;selection -Oracle Open Office Calc : column and line charts -Oracle Open Office Calc : column breaks -Oracle Open Office Calc : column breaks;deleting -Oracle Open Office Calc : column breaks;inserting -Oracle Open Office Calc : column charts -Oracle Open Office Calc : COLUMN function -Oracle Open Office Calc : column headers -Oracle Open Office Calc : column headers;displaying (Calc) -Oracle Open Office Calc : column headers;hiding -Oracle Open Office Calc : column headers;highlighting (Calc) -Oracle Open Office Calc : column headers;using in formulas -Oracle Open Office Calc : column widths -Oracle Open Office Calc : columns -Oracle Open Office Calc : columns;AutoFilter function -Oracle Open Office Calc : columns;deleting -Oracle Open Office Calc : columns;finding labels automatically -Oracle Open Office Calc : columns;freezing -Oracle Open Office Calc : columns;hiding -Oracle Open Office Calc : columns;inserting -Oracle Open Office Calc : columns;moving by drag and drop -Oracle Open Office Calc : columns;optimal widths -Oracle Open Office Calc : columns;repeating when printing -Oracle Open Office Calc : columns;setting with the mouse -Oracle Open Office Calc : columns;swap with rows -Oracle Open Office Calc : columns;widths -Oracle Open Office Calc : COLUMNS function -Oracle Open Office Calc : columns, see also cells -Oracle Open Office Calc : COMBIN function -Oracle Open Office Calc : COMBINA function -Oracle Open Office Calc : combination charts -Oracle Open Office Calc : combining -Oracle Open Office Calc : combining;cell ranges -Oracle Open Office Calc : combo box creation -Oracle Open Office Calc : comma separated files and values -Oracle Open Office Calc : command button creation -Oracle Open Office Calc : command buttons, see push buttons -Oracle Open Office Calc : command line parameters -Oracle Open Office Calc : commands -Oracle Open Office Calc : commands;repeating -Oracle Open Office Calc : commands;SQL -Oracle Open Office Calc : comments -Oracle Open Office Calc : comments;displaying (Calc) -Oracle Open Office Calc : comments;help text for cells -Oracle Open Office Calc : comments;inserting/editing/deleting/printing -Oracle Open Office Calc : comments;on cells -Oracle Open Office Calc : comments;on cells - Inserting and Editing Comments -Oracle Open Office Calc : comments;on changes -Oracle Open Office Calc : comments;printing -Oracle Open Office Calc : comments;printing in text -Oracle Open Office Calc : common terms -Oracle Open Office Calc : common terms;Chinese dictionary -Oracle Open Office Calc : common terms;glossaries -Oracle Open Office Calc : common terms;Internet glossary -Oracle Open Office Calc : comparisons -Oracle Open Office Calc : comparisons;document versions -Oracle Open Office Calc : comparisons;operators in Calc -Oracle Open Office Calc : comparisons;operators in default filter dialog -Oracle Open Office Calc : compatibility settings for MS Word import -Oracle Open Office Calc : complete screen view -Oracle Open Office Calc : COMPLEX function -Oracle Open Office Calc : complex numbers in analysis functions -Oracle Open Office Calc : complex text layout -Oracle Open Office Calc : complex text layout;definition -Oracle Open Office Calc : complex text layout;enabling -Oracle Open Office Calc : complex text layout, see CTL -Oracle Open Office Calc : compose key to insert special characters -Oracle Open Office Calc : CONCATENATE function -Oracle Open Office Calc : concatenation, see ampersand symbol -Oracle Open Office Calc : conditional calculations with arrays -Oracle Open Office Calc : conditional formatting -Oracle Open Office Calc : conditional formatting;cells -Oracle Open Office Calc : conditional formatting;conditions -Oracle Open Office Calc : conditional separators -Oracle Open Office Calc : conditions -Oracle Open Office Calc : conditions;in number formats -Oracle Open Office Calc : conditions;items in Data Navigator -Oracle Open Office Calc : CONFIDENCE function -Oracle Open Office Calc : Configuration Manager -Oracle Open Office Calc : configuring -Oracle Open Office Calc : configuring;fax icon -Oracle Open Office Calc : configuring;Oracle Open Office -Oracle Open Office Calc : configuring;toolbars -Oracle Open Office Calc : connections to data sources (Base) -Oracle Open Office Calc : consolidating data -Oracle Open Office Calc : constant interest rates -Oracle Open Office Calc : constants definition -Oracle Open Office Calc : contents protection -Oracle Open Office Calc : context menus -Oracle Open Office Calc : control point display in presentations -Oracle Open Office Calc : controls -Oracle Open Office Calc : controls;activating in forms -Oracle Open Office Calc : controls;adding to documents -Oracle Open Office Calc : controls;arranging in forms -Oracle Open Office Calc : controls;arranging within stacks -Oracle Open Office Calc : controls;assigning data sources -Oracle Open Office Calc : controls;assigning macros (Basic) -Oracle Open Office Calc : controls;bound fields/list contents/linked cells -Oracle Open Office Calc : controls;events -Oracle Open Office Calc : controls;focus -Oracle Open Office Calc : controls;formatted fields -Oracle Open Office Calc : controls;grouping -Oracle Open Office Calc : controls;hidden -Oracle Open Office Calc : controls;inserting -Oracle Open Office Calc : controls;multi-line titles -Oracle Open Office Calc : controls;positions and sizes -Oracle Open Office Calc : controls;printing -Oracle Open Office Calc : controls;properties of form controls -Oracle Open Office Calc : controls;properties of table controls -Oracle Open Office Calc : controls;reference by SQL -Oracle Open Office Calc : controls;rich text control -Oracle Open Office Calc : controls;select mode -Oracle Open Office Calc : controls;showing (Writer) -Oracle Open Office Calc : CONVERT function -Oracle Open Office Calc : CONVERT_ADD function -Oracle Open Office Calc : converters -Oracle Open Office Calc : converters;Euro converter -Oracle Open Office Calc : converters;PostScript, UNIX -Oracle Open Office Calc : converters;XML -Oracle Open Office Calc : converting -Oracle Open Office Calc : converting;binary numbers, into decimal numbers -Oracle Open Office Calc : converting;binary numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;binary numbers, into octal numbers -Oracle Open Office Calc : converting;decimal fractions, into decimal numbers -Oracle Open Office Calc : converting;decimal fractions, into mixed decimal fractions -Oracle Open Office Calc : converting;decimal numbers, into binary numbers -Oracle Open Office Calc : converting;decimal numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;decimal numbers, into octal numbers -Oracle Open Office Calc : converting;degrees, into radians -Oracle Open Office Calc : converting;Hangul/Hanja -Oracle Open Office Calc : converting;hexadecimal numbers, into binary numbers -Oracle Open Office Calc : converting;hexadecimal numbers, into decimal numbers -Oracle Open Office Calc : converting;hexadecimal numbers, into octal numbers -Oracle Open Office Calc : converting;metrics -Oracle Open Office Calc : converting;Microsoft documents -Oracle Open Office Calc : converting;octal numbers, into binary numbers -Oracle Open Office Calc : converting;octal numbers, into decimal numbers -Oracle Open Office Calc : converting;octal numbers, into hexadecimal numbers -Oracle Open Office Calc : converting;Oracle Open Office documents -Oracle Open Office Calc : converting;Pocket PC formats -Oracle Open Office Calc : converting;radians, into degrees -Oracle Open Office Calc : converting;random variables, into normalized values -Oracle Open Office Calc : converting;text to numbers -Oracle Open Office Calc : copies -Oracle Open Office Calc : copies;printing -Oracle Open Office Calc : copying -Oracle Open Office Calc : copying;array formulas -Oracle Open Office Calc : copying;by drag and drop -Oracle Open Office Calc : copying;cell styles -Oracle Open Office Calc : copying;data from text documents -Oracle Open Office Calc : copying;datasource records in spreadsheets -Oracle Open Office Calc : copying;draw objects -Oracle Open Office Calc : copying;draw objects between documents -Oracle Open Office Calc : copying;formatting -Oracle Open Office Calc : copying;formulas -Oracle Open Office Calc : copying;from data source view -Oracle Open Office Calc : copying;from Gallery -Oracle Open Office Calc : copying;in Unix -Oracle Open Office Calc : copying;pictures, between documents -Oracle Open Office Calc : copying;sheet areas, to text documents -Oracle Open Office Calc : copying;spreadsheets -Oracle Open Office Calc : copying;to Gallery -Oracle Open Office Calc : copying;values, to multiple sheets -Oracle Open Office Calc : copying;visible cells only -Oracle Open Office Calc : copyright for Oracle Open Office -Oracle Open Office Calc : corner roundings -Oracle Open Office Calc : correcting sheets automatically -Oracle Open Office Calc : CORREL function -Oracle Open Office Calc : COS function -Oracle Open Office Calc : COSH function -Oracle Open Office Calc : COT function -Oracle Open Office Calc : COTH function -Oracle Open Office Calc : COUNT function -Oracle Open Office Calc : COUNTA function -Oracle Open Office Calc : COUNTBLANK function -Oracle Open Office Calc : COUNTIF function -Oracle Open Office Calc : counting -Oracle Open Office Calc : counting;empty cells -Oracle Open Office Calc : counting;specified cells -Oracle Open Office Calc : counting rows -Oracle Open Office Calc : counting rows;with numeric or alphanumeric values -Oracle Open Office Calc : counting rows;with numeric values -Oracle Open Office Calc : COUPDAYBS function -Oracle Open Office Calc : COUPDAYS function -Oracle Open Office Calc : COUPDAYSNC function -Oracle Open Office Calc : COUPNCD function -Oracle Open Office Calc : COUPNUM function -Oracle Open Office Calc : COUPPCD function -Oracle Open Office Calc : COVAR function -Oracle Open Office Calc : crash reports -Oracle Open Office Calc : CRITBINOM function -Oracle Open Office Calc : criteria of query design (Base) -Oracle Open Office Calc : cropping pictures -Oracle Open Office Calc : cross-classified tables -Oracle Open Office Calc : csv files -Oracle Open Office Calc : csv files;formulas -Oracle Open Office Calc : csv files;importing and exporting -Oracle Open Office Calc : CTL -Oracle Open Office Calc : CTL;(not) wrapping words -Oracle Open Office Calc : CTL;complex text layout languages -Oracle Open Office Calc : CTL;definition -Oracle Open Office Calc : CTL;options -Oracle Open Office Calc : CTL;right-to-left sheets -Oracle Open Office Calc : CUMIPMT function -Oracle Open Office Calc : CUMIPMT_ADD function -Oracle Open Office Calc : CUMPRINC function -Oracle Open Office Calc : CUMPRINC_ADD function -Oracle Open Office Calc : cumulative lognormal distribution -Oracle Open Office Calc : cumulative probability density function -Oracle Open Office Calc : cumulative probability density function;calculating -Oracle Open Office Calc : cumulative probability density function;inverse of -Oracle Open Office Calc : currencies -Oracle Open Office Calc : currencies;converters -Oracle Open Office Calc : currencies;default currencies -Oracle Open Office Calc : currencies;format codes -Oracle Open Office Calc : currencies;formats -Oracle Open Office Calc : currency field creation -Oracle Open Office Calc : currency formats -Oracle Open Office Calc : currency formats -Oracle Open Office Calc : currency formats;spreadsheets -Oracle Open Office Calc : current date and time values -Oracle Open Office Calc : CURRENT function -Oracle Open Office Calc : cursor -Oracle Open Office Calc : cursor;allowing in protected areas (Writer) -Oracle Open Office Calc : cursor;in read-only text -Oracle Open Office Calc : cursor;quickly moving to an object -Oracle Open Office Calc : curves -Oracle Open Office Calc : curves;editing points -Oracle Open Office Calc : curves;properties in line charts/XY charts -Oracle Open Office Calc : custom dictionaries -Oracle Open Office Calc : custom dictionaries;editing -Oracle Open Office Calc : custom hyphens (Writer) -Oracle Open Office Calc : custom quotes -Oracle Open Office Calc : custom templates -Oracle Open Office Calc : customized lists -Oracle Open Office Calc : customizing -Oracle Open Office Calc : customizing;events -Oracle Open Office Calc : customizing;keyboard -Oracle Open Office Calc : customizing;menus -Oracle Open Office Calc : customizing;Oracle Open Office -Oracle Open Office Calc : customizing;round corners -Oracle Open Office Calc : customizing;toolbars -Oracle Open Office Calc : cutting -Oracle Open Office Calc : dashes -Oracle Open Office Calc : data -Oracle Open Office Calc : data;filtering in forms -Oracle Open Office Calc : data;forms and subforms -Oracle Open Office Calc : data;inserting in multiple sheets -Oracle Open Office Calc : data;merging cell ranges -Oracle Open Office Calc : data;read-only -Oracle Open Office Calc : data;showing invalid data -Oracle Open Office Calc : data;sorting in databases -Oracle Open Office Calc : data;sorting in forms -Oracle Open Office Calc : data;user data -Oracle Open Office Calc : data;validity check -Oracle Open Office Calc : data binding change in XForms -Oracle Open Office Calc : data field options for Data Pilot -Oracle Open Office Calc : data labels in charts -Oracle Open Office Calc : Data Navigator -Oracle Open Office Calc : Data Navigator;adding/editing items -Oracle Open Office Calc : Data Navigator;display options -Oracle Open Office Calc : data ranges in charts -Oracle Open Office Calc : data series -Oracle Open Office Calc : data series import -Oracle Open Office Calc : data source browser -Oracle Open Office Calc : data source explorer -Oracle Open Office Calc : data source view -Oracle Open Office Calc : data source view;drag and drop -Oracle Open Office Calc : data source view;overview -Oracle Open Office Calc : data source view;showing -Oracle Open Office Calc : data sources -Oracle Open Office Calc : data sources;as tables -Oracle Open Office Calc : data sources;connection settings (Base) -Oracle Open Office Calc : data sources;copying records to spreadsheets -Oracle Open Office Calc : data sources;displaying current -Oracle Open Office Calc : data sources;external data -Oracle Open Office Calc : data sources;LDAP server (Base) -Oracle Open Office Calc : data sources;Oracle Open Office Base -Oracle Open Office Calc : data sources;registering address books -Oracle Open Office Calc : data sources;reports -Oracle Open Office Calc : data sources;setting for stock charts -Oracle Open Office Calc : data sources;viewing -Oracle Open Office Calc : data structure of XForms -Oracle Open Office Calc : data tables -Oracle Open Office Calc : data tables;multiple operations in -Oracle Open Office Calc : data validity -Oracle Open Office Calc : data values in charts -Oracle Open Office Calc : data, see also values -Oracle Open Office Calc : database contents -Oracle Open Office Calc : database contents;inserting as tables -Oracle Open Office Calc : database contents;inserting as text -Oracle Open Office Calc : database ranges -Oracle Open Office Calc : database ranges;advanced filters -Oracle Open Office Calc : database ranges;applying/removing filters -Oracle Open Office Calc : database ranges;AutoFilter function -Oracle Open Office Calc : database ranges;defining -Oracle Open Office Calc : database ranges;hiding AutoFilter -Oracle Open Office Calc : database ranges;refreshing -Oracle Open Office Calc : database ranges;sorting -Oracle Open Office Calc : database reports -Oracle Open Office Calc : Database Wizard (Base) -Oracle Open Office Calc : databases -Oracle Open Office Calc : databases;administration through SQL (Base) -Oracle Open Office Calc : databases;ADO (Base) -Oracle Open Office Calc : databases;connecting (Base) -Oracle Open Office Calc : databases;creating -Oracle Open Office Calc : databases;creating labels -Oracle Open Office Calc : databases;creating queries -Oracle Open Office Calc : databases;creating reports -Oracle Open Office Calc : databases;creating tables -Oracle Open Office Calc : databases;deleting (Base) -Oracle Open Office Calc : databases;drag and drop (Base) -Oracle Open Office Calc : databases;editing tables -Oracle Open Office Calc : databases;form filters -Oracle Open Office Calc : databases;formats (Base) -Oracle Open Office Calc : databases;functions in Oracle Open Office Calc -Oracle Open Office Calc : databases;importing/exporting -Oracle Open Office Calc : databases;JDBC (Base) -Oracle Open Office Calc : databases;main page (Base) -Oracle Open Office Calc : databases;ODBC (Base) -Oracle Open Office Calc : databases;overview -Oracle Open Office Calc : databases;registering (Base) -Oracle Open Office Calc : databases;searching records -Oracle Open Office Calc : databases;selecting (Calc) -Oracle Open Office Calc : databases;shortcut keys -Oracle Open Office Calc : databases;sorting -Oracle Open Office Calc : databases;standard filters -Oracle Open Office Calc : databases;text formats -Oracle Open Office Calc : databases;viewing -Oracle Open Office Calc : DataPilot function -Oracle Open Office Calc : DataPilot function;calling up and applying -Oracle Open Office Calc : DataPilot function;deleting tables -Oracle Open Office Calc : DataPilot function;drill down -Oracle Open Office Calc : DataPilot function;editing tables -Oracle Open Office Calc : DataPilot function;filtering tables -Oracle Open Office Calc : DataPilot function;grouping table entries -Oracle Open Office Calc : DataPilot function;introduction -Oracle Open Office Calc : DataPilot function;preventing data overwriting -Oracle Open Office Calc : DataPilot function;refreshing tables -Oracle Open Office Calc : DataPilot function;show details -Oracle Open Office Calc : DataPilot tables -Oracle Open Office Calc : date and time functions -Oracle Open Office Calc : date fields -Oracle Open Office Calc : date fields;creating -Oracle Open Office Calc : date fields;properties -Oracle Open Office Calc : date formats -Oracle Open Office Calc : date formats;avoiding conversion to -Oracle Open Office Calc : date formats -Oracle Open Office Calc : DATE function -Oracle Open Office Calc : date series -Oracle Open Office Calc : dates -Oracle Open Office Calc : dates;19xx/20xx -Oracle Open Office Calc : dates;default (Calc) -Oracle Open Office Calc : dates;in cells -Oracle Open Office Calc : dates;interest date prior to settlement date -Oracle Open Office Calc : dates;printing in presentations -Oracle Open Office Calc : dates;start 1900/01/01 (Calc) -Oracle Open Office Calc : dates;start 1904/01/01 (Calc) -Oracle Open Office Calc : dates;updating automatically -Oracle Open Office Calc : DATEVALUE function -Oracle Open Office Calc : DAVERAGE function -Oracle Open Office Calc : DAY function -Oracle Open Office Calc : DAYS function -Oracle Open Office Calc : DAYS360 function -Oracle Open Office Calc : DAYSINMONTH function -Oracle Open Office Calc : DAYSINYEAR function -Oracle Open Office Calc : DB function -Oracle Open Office Calc : dBASE -Oracle Open Office Calc : dBASE;database settings (Base) -Oracle Open Office Calc : dBASE import/export -Oracle Open Office Calc : DCOUNT function -Oracle Open Office Calc : DCOUNTA function -Oracle Open Office Calc : DDB function -Oracle Open Office Calc : DDE -Oracle Open Office Calc : DDE;definition -Oracle Open Office Calc : DDE function -Oracle Open Office Calc : deactivating -Oracle Open Office Calc : deactivating;automatic changes -Oracle Open Office Calc : deactivating;plug-ins -Oracle Open Office Calc : DEC2BIN function -Oracle Open Office Calc : DEC2HEX function -Oracle Open Office Calc : DEC2OCT function -Oracle Open Office Calc : DECIMAL function -Oracle Open Office Calc : decimal places -Oracle Open Office Calc : decimal places;adding/deleting -Oracle Open Office Calc : decimal places;cutting off -Oracle Open Office Calc : decimal places;formatting numbers -Oracle Open Office Calc : decimal places;showing -Oracle Open Office Calc : decimal places displayed (Calc) -Oracle Open Office Calc : decimal separator key -Oracle Open Office Calc : decimal system -Oracle Open Office Calc : decimal system;converting to -Oracle Open Office Calc : decimal tab stops -Oracle Open Office Calc : default directories -Oracle Open Office Calc : default filters -Oracle Open Office Calc : default filters;comparison operators -Oracle Open Office Calc : default filters;databases -Oracle Open Office Calc : default printer -Oracle Open Office Calc : default printer;setting up -Oracle Open Office Calc : default printer;UNIX -Oracle Open Office Calc : default templates -Oracle Open Office Calc : default templates;changing -Oracle Open Office Calc : default templates;organizing -Oracle Open Office Calc : defaults -Oracle Open Office Calc : defaults;currency formats -Oracle Open Office Calc : defaults;documents -Oracle Open Office Calc : defaults;file formats in file dialogs -Oracle Open Office Calc : defaults;file formats in Oracle Open Office -Oracle Open Office Calc : defaults;fonts -Oracle Open Office Calc : defaults;grids (Writer/Calc) -Oracle Open Office Calc : defaults;languages -Oracle Open Office Calc : defaults;number formats -Oracle Open Office Calc : defaults;number formats in spreadsheets -Oracle Open Office Calc : defaults;of saving -Oracle Open Office Calc : defaults;program configuration -Oracle Open Office Calc : defaults;tab stops in text -Oracle Open Office Calc : defaults;views -Oracle Open Office Calc : defining -Oracle Open Office Calc : defining;advanced filters -Oracle Open Office Calc : defining;arrowheads and other line ends -Oracle Open Office Calc : defining;AutoFormat function for tables -Oracle Open Office Calc : defining;colors -Oracle Open Office Calc : defining;database ranges -Oracle Open Office Calc : defining;line styles -Oracle Open Office Calc : defining;names for cell ranges -Oracle Open Office Calc : defining;paragraph borders -Oracle Open Office Calc : defining;print ranges -Oracle Open Office Calc : defining;queries (Base) -Oracle Open Office Calc : defining;sort lists -Oracle Open Office Calc : defining;table borders -Oracle Open Office Calc : DEGREES function -Oracle Open Office Calc : deleting -Oracle Open Office Calc : deleting;all direct formatting -Oracle Open Office Calc : deleting;cell contents -Oracle Open Office Calc : deleting;cells/rows/columns -Oracle Open Office Calc : deleting;comments -Oracle Open Office Calc : deleting;databases (Base) -Oracle Open Office Calc : deleting;DataPilot tables -Oracle Open Office Calc : deleting;decimal places -Oracle Open Office Calc : deleting;hyperlinks -Oracle Open Office Calc : deleting;lines in text -Oracle Open Office Calc : deleting;manual column breaks -Oracle Open Office Calc : deleting;manual row breaks -Oracle Open Office Calc : deleting;models/instances -Oracle Open Office Calc : deleting;namespaces in XForms -Oracle Open Office Calc : deleting;print ranges -Oracle Open Office Calc : deleting;spreadsheets -Oracle Open Office Calc : deleting;tab stops -Oracle Open Office Calc : deleting;templates -Oracle Open Office Calc : deleting;visible cells only -Oracle Open Office Calc : deleting;XML filters -Oracle Open Office Calc : delimited values and files -Oracle Open Office Calc : DELTA function -Oracle Open Office Calc : density function -Oracle Open Office Calc : depreciations -Oracle Open Office Calc : depreciations;arithmetic declining -Oracle Open Office Calc : depreciations;arithmetic-degressive -Oracle Open Office Calc : depreciations;degressive amortizations -Oracle Open Office Calc : depreciations;geometric-degressive -Oracle Open Office Calc : depreciations;linear -Oracle Open Office Calc : depreciations;linear amortizations -Oracle Open Office Calc : depreciations;variable declining -Oracle Open Office Calc : depth stagger -Oracle Open Office Calc : descriptions for objects -Oracle Open Office Calc : design mode after saving -Oracle Open Office Calc : design view -Oracle Open Office Calc : design view;creating forms -Oracle Open Office Calc : design view;queries/views (Base) -Oracle Open Office Calc : designing -Oracle Open Office Calc : designing;database tables -Oracle Open Office Calc : designing;fonts -Oracle Open Office Calc : designing;queries (Base) -Oracle Open Office Calc : detaching toolbars -Oracle Open Office Calc : determinants -Oracle Open Office Calc : determination coefficients -Oracle Open Office Calc : DEVSQ function -Oracle Open Office Calc : DGET function -Oracle Open Office Calc : dictionaries -Oracle Open Office Calc : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Calc : dictionaries;creating -Oracle Open Office Calc : dictionaries;editing user-defined -Oracle Open Office Calc : dictionaries;spellcheck -Oracle Open Office Calc : dictionaries, see also languages -Oracle Open Office Calc : digital signatures -Oracle Open Office Calc : digital signatures;getting/managing/applying -Oracle Open Office Calc : digital signatures;overview -Oracle Open Office Calc : digital signatures;WebDAV over HTTPS -Oracle Open Office Calc : direct formatting -Oracle Open Office Calc : direct formatting;undoing all -Oracle Open Office Calc : directories -Oracle Open Office Calc : directories;creating new -Oracle Open Office Calc : directories;directory structure -Oracle Open Office Calc : disabled persons -Oracle Open Office Calc : DISC function -Oracle Open Office Calc : discounts -Oracle Open Office Calc : display options in Data Pilot -Oracle Open Office Calc : displaying -Oracle Open Office Calc : displaying;comments (Calc) -Oracle Open Office Calc : displaying;comments in text documents -Oracle Open Office Calc : displaying;formulas at any position -Oracle Open Office Calc : displaying;formulas instead of results -Oracle Open Office Calc : displaying;headers of columns/rows -Oracle Open Office Calc : displaying;non-printing characters (Writer) -Oracle Open Office Calc : displaying;pictures and objects (Writer) -Oracle Open Office Calc : displaying;scenario names -Oracle Open Office Calc : displaying;sheets -Oracle Open Office Calc : displaying;tables (Writer) -Oracle Open Office Calc : displaying;zero values (Calc) -Oracle Open Office Calc : distances -Oracle Open Office Calc : distinct values in SQL queries -Oracle Open Office Calc : distorting in drawings -Oracle Open Office Calc : distributing XML filters -Oracle Open Office Calc : division sign, see also operators -Oracle Open Office Calc : divisions -Oracle Open Office Calc : DMAX function -Oracle Open Office Calc : DMIN function -Oracle Open Office Calc : docking -Oracle Open Office Calc : docking;definition -Oracle Open Office Calc : docking;toolbars -Oracle Open Office Calc : docking;windows -Oracle Open Office Calc : Document Converter Wizard -Oracle Open Office Calc : Document Map, see Navigator -Oracle Open Office Calc : document types in Oracle Open Office -Oracle Open Office Calc : documents -Oracle Open Office Calc : documents;changing titles -Oracle Open Office Calc : documents;closing -Oracle Open Office Calc : documents;comparing -Oracle Open Office Calc : documents;contents as lists -Oracle Open Office Calc : documents;editing time -Oracle Open Office Calc : documents;exporting -Oracle Open Office Calc : documents;importing -Oracle Open Office Calc : documents;languages -Oracle Open Office Calc : documents;measurement units in -Oracle Open Office Calc : documents;merging -Oracle Open Office Calc : documents;number of pages/tables/sheets -Oracle Open Office Calc : documents;opening -Oracle Open Office Calc : documents;opening in design mode -Oracle Open Office Calc : documents;opening with templates -Oracle Open Office Calc : documents;organizing -Oracle Open Office Calc : documents;printing -Oracle Open Office Calc : documents;protecting -Oracle Open Office Calc : documents;read-only -Oracle Open Office Calc : documents;references -Oracle Open Office Calc : documents;reloading -Oracle Open Office Calc : documents;saving -Oracle Open Office Calc : documents;saving automatically -Oracle Open Office Calc : documents;saving in other formats -Oracle Open Office Calc : documents;sending as e-mail -Oracle Open Office Calc : documents;styles changed -Oracle Open Office Calc : documents;version management -Oracle Open Office Calc : documents;version numbers -Oracle Open Office Calc : DOLLAR function -Oracle Open Office Calc : DOLLARDE function -Oracle Open Office Calc : DOLLARFR function -Oracle Open Office Calc : donut charts -Oracle Open Office Calc : dot products -Oracle Open Office Calc : dotted areas -Oracle Open Office Calc : double-line spacing in paragraphs -Oracle Open Office Calc : double-line writing in Asian layout -Oracle Open Office Calc : DPRODUCT function -Oracle Open Office Calc : drag and drop -Oracle Open Office Calc : drag and drop;copying and pasting text -Oracle Open Office Calc : drag and drop;data source view -Oracle Open Office Calc : drag and drop;from Gallery to draw objects -Oracle Open Office Calc : drag and drop;moving cells -Oracle Open Office Calc : drag and drop;overview -Oracle Open Office Calc : drag and drop;pictures -Oracle Open Office Calc : drag and drop;referencing cells -Oracle Open Office Calc : drag and drop;to Gallery -Oracle Open Office Calc : draw objects -Oracle Open Office Calc : draw objects;adding/editing/copying -Oracle Open Office Calc : draw objects;anchoring -Oracle Open Office Calc : draw objects;arranging within stacks -Oracle Open Office Calc : draw objects;copying between documents -Oracle Open Office Calc : draw objects;displaying (Calc) -Oracle Open Office Calc : draw objects;dropping Gallery pictures -Oracle Open Office Calc : draw objects;flipping -Oracle Open Office Calc : draw objects;legends -Oracle Open Office Calc : draw objects;positioning and resizing -Oracle Open Office Calc : draw objects;printing -Oracle Open Office Calc : draw objects;protecting -Oracle Open Office Calc : draw objects;slanting -Oracle Open Office Calc : draw objects;text in -Oracle Open Office Calc : Drawing bar -Oracle Open Office Calc : drawing lines in text -Oracle Open Office Calc : drawings -Oracle Open Office Calc : drawings;creating/opening -Oracle Open Office Calc : drawings;languages -Oracle Open Office Calc : drawings;printing -Oracle Open Office Calc : drawings;printing defaults -Oracle Open Office Calc : drawings;printing in text documents -Oracle Open Office Calc : drawings;saving -Oracle Open Office Calc : drawings;saving automatically -Oracle Open Office Calc : drawings;saving in other formats -Oracle Open Office Calc : drawings;sending as e-mail -Oracle Open Office Calc : drawings;showing (Writer) -Oracle Open Office Calc : drawings, see also draw objects -Oracle Open Office Calc : drop-down lists in form functions -Oracle Open Office Calc : drop-down menus in sheet columns -Oracle Open Office Calc : DSTDEV function -Oracle Open Office Calc : DSTDEVP function -Oracle Open Office Calc : DSUM function -Oracle Open Office Calc : DURATION function -Oracle Open Office Calc : DURATION_ADD function -Oracle Open Office Calc : durations -Oracle Open Office Calc : durations;calculating -Oracle Open Office Calc : durations;first interest payment until settlement date -Oracle Open Office Calc : durations;fixed interest securities -Oracle Open Office Calc : DVAR function -Oracle Open Office Calc : DVARP function -Oracle Open Office Calc : e-mail attachments -Oracle Open Office Calc : EASTERSUNDAY function -Oracle Open Office Calc : EDATE function -Oracle Open Office Calc : Edit File icon -Oracle Open Office Calc : edit mode -Oracle Open Office Calc : edit mode;after opening -Oracle Open Office Calc : edit mode;through Enter key (Calc) -Oracle Open Office Calc : Edit Points bar -Oracle Open Office Calc : editing -Oracle Open Office Calc : editing;array formulas -Oracle Open Office Calc : editing;chart axes -Oracle Open Office Calc : editing;chart data -Oracle Open Office Calc : editing;chart legends -Oracle Open Office Calc : editing;chart titles -Oracle Open Office Calc : editing;comments -Oracle Open Office Calc : editing;data binding of XForms -Oracle Open Office Calc : editing;database tables and queries -Oracle Open Office Calc : editing;DataPilot tables -Oracle Open Office Calc : editing;draw objects -Oracle Open Office Calc : editing;Fontwork objects -Oracle Open Office Calc : editing;hyperlinks -Oracle Open Office Calc : editing;menus -Oracle Open Office Calc : editing;objects -Oracle Open Office Calc : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Calc : editing;pictures -Oracle Open Office Calc : editing;print ranges -Oracle Open Office Calc : editing;reports -Oracle Open Office Calc : editing;shortcut keys -Oracle Open Office Calc : editing;tab stops -Oracle Open Office Calc : editing;templates -Oracle Open Office Calc : editing;titles -Oracle Open Office Calc : editing;toolbars -Oracle Open Office Calc : editing;undoing -Oracle Open Office Calc : editing;XForms -Oracle Open Office Calc : editing time of documents -Oracle Open Office Calc : editors -Oracle Open Office Calc : editors;formula editor -Oracle Open Office Calc : editors;ImageMap editor -Oracle Open Office Calc : EFFECT_ADD function -Oracle Open Office Calc : EFFECTIVE function -Oracle Open Office Calc : effective interest rates -Oracle Open Office Calc : effects -Oracle Open Office Calc : effects;font positions -Oracle Open Office Calc : effects;fonts -Oracle Open Office Calc : effects;Fontwork icons -Oracle Open Office Calc : empty cells -Oracle Open Office Calc : empty cells;counting -Oracle Open Office Calc : empty cells;handling of -Oracle Open Office Calc : empty cells;recognizing -Oracle Open Office Calc : empty documents -Oracle Open Office Calc : empty paragraph removal -Oracle Open Office Calc : encrypting text -Oracle Open Office Calc : encryption of contents -Oracle Open Office Calc : entering entries with AutoInput function -Oracle Open Office Calc : entering groups -Oracle Open Office Calc : entering text from right to left -Oracle Open Office Calc : EOMONTH function -Oracle Open Office Calc : equal sign, see also operators -Oracle Open Office Calc : equations in formula editor -Oracle Open Office Calc : equations in goal seek -Oracle Open Office Calc : ERF function -Oracle Open Office Calc : ERFC function -Oracle Open Office Calc : error bars in charts -Oracle Open Office Calc : error codes -Oracle Open Office Calc : error codes;controlling -Oracle Open Office Calc : error codes;list of -Oracle Open Office Calc : error indicators in charts -Oracle Open Office Calc : error messages -Oracle Open Office Calc : error messages;defining for incorrect input -Oracle Open Office Calc : error messages;invalid references -Oracle Open Office Calc : Error Report Tool -Oracle Open Office Calc : error tracing -Oracle Open Office Calc : ERRORTYPE function -Oracle Open Office Calc : Euro -Oracle Open Office Calc : Euro;converting -Oracle Open Office Calc : Euro;currency formats -Oracle Open Office Calc : Euro;Euro Converter Wizard -Oracle Open Office Calc : EUROCONVERT function -Oracle Open Office Calc : EVEN function -Oracle Open Office Calc : even integers -Oracle Open Office Calc : even/odd pages -Oracle Open Office Calc : even/odd pages;printing -Oracle Open Office Calc : events -Oracle Open Office Calc : events;assigning scripts -Oracle Open Office Calc : events;controls -Oracle Open Office Calc : events;customizing -Oracle Open Office Calc : events;in forms -Oracle Open Office Calc : EXACT function -Oracle Open Office Calc : exact numbers in Oracle Open Office Calc -Oracle Open Office Calc : examples -Oracle Open Office Calc : examples;formula calculation -Oracle Open Office Calc : examples;goal seek -Oracle Open Office Calc : Excel -Oracle Open Office Calc : Excel;saving as -Oracle Open Office Calc : Excel;search criteria -Oracle Open Office Calc : exceptions -Oracle Open Office Calc : exceptions;user-defined dictionaries -Oracle Open Office Calc : exchanging, see also replacing -Oracle Open Office Calc : executing SQL commands -Oracle Open Office Calc : exiting -Oracle Open Office Calc : exiting;groups -Oracle Open Office Calc : exiting;Oracle Open Office -Oracle Open Office Calc : EXP function -Oracle Open Office Calc : expanding formatting (Calc) -Oracle Open Office Calc : explorer of data sources -Oracle Open Office Calc : EXPONDIST function -Oracle Open Office Calc : exponential distributions -Oracle Open Office Calc : exponential trends in arrays -Oracle Open Office Calc : export filters -Oracle Open Office Calc : exporting -Oracle Open Office Calc : exporting;bitmaps -Oracle Open Office Calc : exporting;cells -Oracle Open Office Calc : exporting;formulas as csv files -Oracle Open Office Calc : exporting;HTML and text documents -Oracle Open Office Calc : exporting;Microsoft Office documents with VBA code -Oracle Open Office Calc : exporting;spreadsheets to dBASE -Oracle Open Office Calc : exporting;spreadsheets to text format -Oracle Open Office Calc : exporting;tables as text -Oracle Open Office Calc : exporting;templates -Oracle Open Office Calc : exporting;to foreign formats -Oracle Open Office Calc : exporting;to HTML -Oracle Open Office Calc : exporting;to Microsoft Office formats -Oracle Open Office Calc : exporting;to PDF -Oracle Open Office Calc : exporting;to PostScript format -Oracle Open Office Calc : exporting;to XML -Oracle Open Office Calc : exporting;XML files -Oracle Open Office Calc : extended tips in Help -Oracle Open Office Calc : extending print ranges -Oracle Open Office Calc : extension mode in text -Oracle Open Office Calc : extensions -Oracle Open Office Calc : extensions;Extension Manager -Oracle Open Office Calc : extensions;file formats -Oracle Open Office Calc : external data -Oracle Open Office Calc : external data;inserting -Oracle Open Office Calc : external DLL functions -Oracle Open Office Calc : external keys (Base) -Oracle Open Office Calc : extrapolations -Oracle Open Office Calc : FACT function -Oracle Open Office Calc : FACTDOUBLE function -Oracle Open Office Calc : factorials -Oracle Open Office Calc : factorials;numbers -Oracle Open Office Calc : factorials;numbers with increments of two -Oracle Open Office Calc : FALSE function -Oracle Open Office Calc : faster printing -Oracle Open Office Calc : faxes -Oracle Open Office Calc : faxes;configuring Oracle Open Office -Oracle Open Office Calc : faxes;fax programs/fax printers under UNIX -Oracle Open Office Calc : faxes;selecting a fax machine -Oracle Open Office Calc : faxes;sending -Oracle Open Office Calc : faxes;wizards -Oracle Open Office Calc : FDIST function -Oracle Open Office Calc : feedback -Oracle Open Office Calc : feedback;automatically -Oracle Open Office Calc : fields -Oracle Open Office Calc : fields;database tables -Oracle Open Office Calc : fields;displaying field codes (Writer) -Oracle Open Office Calc : fields;formatted fields -Oracle Open Office Calc : fields;updating automatically (Writer) -Oracle Open Office Calc : file associations for Microsoft Office -Oracle Open Office Calc : file filters -Oracle Open Office Calc : file filters;mobile devices -Oracle Open Office Calc : file filters;XML -Oracle Open Office Calc : file formats -Oracle Open Office Calc : file formats;changing Oracle Open Office defaults -Oracle Open Office Calc : file formats;OpenDocument/XML -Oracle Open Office Calc : file formats;saving always in other formats -Oracle Open Office Calc : file names in headers/footers -Oracle Open Office Calc : file selection button -Oracle Open Office Calc : file sharing options for current document -Oracle Open Office Calc : files -Oracle Open Office Calc : files;filters and formats -Oracle Open Office Calc : files;importing -Oracle Open Office Calc : files;opening -Oracle Open Office Calc : files;opening with placeholders -Oracle Open Office Calc : files;properties -Oracle Open Office Calc : files;saving -Oracle Open Office Calc : files;saving automatically -Oracle Open Office Calc : files;saving in other formats -Oracle Open Office Calc : files;sending as e-mail -Oracle Open Office Calc : files;version numbers -Oracle Open Office Calc : files and folders in Oracle Open Office -Oracle Open Office Calc : fill characters with tabulators -Oracle Open Office Calc : fill colors for areas -Oracle Open Office Calc : fill patterns for areas -Oracle Open Office Calc : filling -Oracle Open Office Calc : filling;cells, automatically -Oracle Open Office Calc : filling;customized lists -Oracle Open Office Calc : filling;selection lists -Oracle Open Office Calc : filter conditions -Oracle Open Office Calc : filter conditions;connecting -Oracle Open Office Calc : filter conditions;in queries (Base) -Oracle Open Office Calc : filtered data -Oracle Open Office Calc : filtered data;sums -Oracle Open Office Calc : filtering -Oracle Open Office Calc : filtering;cell ranges/database ranges -Oracle Open Office Calc : filtering;data in databases -Oracle Open Office Calc : filtering;data in forms -Oracle Open Office Calc : filtering;DataPilot tables -Oracle Open Office Calc : filters -Oracle Open Office Calc : filters;applying/removing -Oracle Open Office Calc : filters;comparison operators -Oracle Open Office Calc : filters;copying visible cells only -Oracle Open Office Calc : filters;defining advanced filters -Oracle Open Office Calc : filters;for import and export -Oracle Open Office Calc : filters;Navigator -Oracle Open Office Calc : filters;pictures -Oracle Open Office Calc : filters;XML filter settings -Oracle Open Office Calc : filters, see also AutoFilter function -Oracle Open Office Calc : financial functions -Oracle Open Office Calc : FIND function -Oracle Open Office Calc : Find tab in Help -Oracle Open Office Calc : finding -Oracle Open Office Calc : finding;formulas/values/text/objects -Oracle Open Office Calc : finding;in all sheets -Oracle Open Office Calc : finding;records in form documents -Oracle Open Office Calc : finding;selections -Oracle Open Office Calc : finding;similarity search -Oracle Open Office Calc : FINV function -Oracle Open Office Calc : FISHER function -Oracle Open Office Calc : FISHERINV function -Oracle Open Office Calc : fitting to pages -Oracle Open Office Calc : fitting to pages;print settings in Math -Oracle Open Office Calc : fitting to pages;print settings in presentations -Oracle Open Office Calc : FIXED function -Oracle Open Office Calc : fixed text -Oracle Open Office Calc : fixed text;form functions -Oracle Open Office Calc : fixing toolbars -Oracle Open Office Calc : flipping draw objects -Oracle Open Office Calc : floating frames in HTML documents -Oracle Open Office Calc : floating toolbars -Oracle Open Office Calc : FLOOR function -Oracle Open Office Calc : focus of controls -Oracle Open Office Calc : folder creation -Oracle Open Office Calc : font lists -Oracle Open Office Calc : font name box -Oracle Open Office Calc : font sizes -Oracle Open Office Calc : font sizes;bullets -Oracle Open Office Calc : font sizes;relative changes -Oracle Open Office Calc : font sizes;scaling on screen -Oracle Open Office Calc : font sizes;text -Oracle Open Office Calc : fonts -Oracle Open Office Calc : fonts;adding under UNIX -Oracle Open Office Calc : fonts;changing in templates -Oracle Open Office Calc : fonts;colors -Oracle Open Office Calc : fonts;default settings -Oracle Open Office Calc : fonts;effects -Oracle Open Office Calc : fonts;for HTML and Basic -Oracle Open Office Calc : fonts;formats -Oracle Open Office Calc : fonts;outlines -Oracle Open Office Calc : fonts;positions in text -Oracle Open Office Calc : fonts;shadows -Oracle Open Office Calc : fonts;specifying several -Oracle Open Office Calc : fonts;strikethrough -Oracle Open Office Calc : fonts;styles -Oracle Open Office Calc : fonts;text objects -Oracle Open Office Calc : Fontwork icons -Oracle Open Office Calc : footers -Oracle Open Office Calc : footers;backgrounds -Oracle Open Office Calc : footers;defining -Oracle Open Office Calc : footers;printing on sheets -Oracle Open Office Calc : forced array handling -Oracle Open Office Calc : FORECAST function -Oracle Open Office Calc : form controls -Oracle Open Office Calc : form controls;assigning macros -Oracle Open Office Calc : form controls;protecting -Oracle Open Office Calc : form controls;toolbars -Oracle Open Office Calc : form fields -Oracle Open Office Calc : form filters -Oracle Open Office Calc : Form Navigator -Oracle Open Office Calc : format codes -Oracle Open Office Calc : format codes;numbers -Oracle Open Office Calc : format codes;user-defined number formats -Oracle Open Office Calc : format filling printing in Oracle Open Office Math -Oracle Open Office Calc : Format Paintbrush -Oracle Open Office Calc : formats -Oracle Open Office Calc : formats;Asian layout -Oracle Open Office Calc : formats;assigning by formulas -Oracle Open Office Calc : formats;automatically formatting spreadsheets -Oracle Open Office Calc : formats;changing text/number -Oracle Open Office Calc : formats;currency formats in cells -Oracle Open Office Calc : formats;fonts -Oracle Open Office Calc : formats;maximizing page formats -Oracle Open Office Calc : formats;number and currency formats -Oracle Open Office Calc : formats;numbers as text -Oracle Open Office Calc : formats;numbers in tables -Oracle Open Office Calc : formats;of currencies/date/time -Oracle Open Office Calc : formats;on opening and saving -Oracle Open Office Calc : formats;pasting in special formats -Oracle Open Office Calc : formats;positions -Oracle Open Office Calc : formats;Styles and Formatting window -Oracle Open Office Calc : formats;tabulators -Oracle Open Office Calc : formats;themes for sheets -Oracle Open Office Calc : formatted fields -Oracle Open Office Calc : formatted fields;form functions -Oracle Open Office Calc : formatted fields;properties -Oracle Open Office Calc : formatting -Oracle Open Office Calc : formatting;adding/deleting decimal places -Oracle Open Office Calc : formatting;Asian typography -Oracle Open Office Calc : formatting;axes in charts -Oracle Open Office Calc : formatting;cells -Oracle Open Office Calc : formatting;chart areas -Oracle Open Office Calc : formatting;chart floors -Oracle Open Office Calc : formatting;chart legends -Oracle Open Office Calc : formatting;chart titles -Oracle Open Office Calc : formatting;chart walls -Oracle Open Office Calc : formatting;comments on cells -Oracle Open Office Calc : formatting;conditional formatting -Oracle Open Office Calc : formatting;copying -Oracle Open Office Calc : formatting;definition -Oracle Open Office Calc : formatting;expanding (Calc) -Oracle Open Office Calc : formatting;font effects -Oracle Open Office Calc : formatting;hyperlinks -Oracle Open Office Calc : formatting;multiple cell texts -Oracle Open Office Calc : formatting;numbers as text -Oracle Open Office Calc : formatting;numbers with decimals -Oracle Open Office Calc : formatting;pages -Oracle Open Office Calc : formatting;printer metrics (Writer) -Oracle Open Office Calc : formatting;spreadsheets -Oracle Open Office Calc : formatting;Styles and Formatting window -Oracle Open Office Calc : formatting;themes for sheets -Oracle Open Office Calc : formatting;undoing -Oracle Open Office Calc : formatting;undoing when writing -Oracle Open Office Calc : formatting;user-defined numbers -Oracle Open Office Calc : formatting;visible cells only -Oracle Open Office Calc : forms -Oracle Open Office Calc : forms;browsing -Oracle Open Office Calc : forms;Combo Box/List Box Wizard -Oracle Open Office Calc : forms;creating -Oracle Open Office Calc : forms;data -Oracle Open Office Calc : forms;designing (Base) -Oracle Open Office Calc : forms;events -Oracle Open Office Calc : forms;filtering data -Oracle Open Office Calc : forms;finding records -Oracle Open Office Calc : forms;focus after opening -Oracle Open Office Calc : forms;general information (Base) -Oracle Open Office Calc : forms;grouping controls -Oracle Open Office Calc : forms;HTML filters -Oracle Open Office Calc : forms;Navigator -Oracle Open Office Calc : forms;opening in design mode -Oracle Open Office Calc : forms;properties -Oracle Open Office Calc : forms;sorting data -Oracle Open Office Calc : forms;subforms -Oracle Open Office Calc : forms;wizards -Oracle Open Office Calc : forms;XForms -Oracle Open Office Calc : formula bar -Oracle Open Office Calc : formula bar;accepting inputs -Oracle Open Office Calc : formula bar;canceling inputs -Oracle Open Office Calc : formula bar;functions -Oracle Open Office Calc : formula bar;input line -Oracle Open Office Calc : formula bar;sheet area names -Oracle Open Office Calc : formula bar;spreadsheets -Oracle Open Office Calc : formula bar;sum function -Oracle Open Office Calc : formula cells -Oracle Open Office Calc : formula cells;displaying formulas in other cells -Oracle Open Office Calc : formula cells;recognizing -Oracle Open Office Calc : formula cells;removing precedents -Oracle Open Office Calc : formula cells;tracing precedents -Oracle Open Office Calc : FORMULA function -Oracle Open Office Calc : formula list window -Oracle Open Office Calc : formula texts -Oracle Open Office Calc : formula texts;printing in Oracle Open Office Math -Oracle Open Office Calc : formulas -Oracle Open Office Calc : formulas;arrays -Oracle Open Office Calc : formulas;assigning cell formats -Oracle Open Office Calc : formulas;AutoCalculate function -Oracle Open Office Calc : formulas;calculating -Oracle Open Office Calc : formulas;calculating with -Oracle Open Office Calc : formulas;copying and pasting -Oracle Open Office Calc : formulas;defining names -Oracle Open Office Calc : formulas;displaying in cells -Oracle Open Office Calc : formulas;hiding -Oracle Open Office Calc : formulas;importing/exporting as csv files -Oracle Open Office Calc : formulas;inputting -Oracle Open Office Calc : formulas;matrix formulas -Oracle Open Office Calc : formulas;new -Oracle Open Office Calc : formulas;operators -Oracle Open Office Calc : formulas;printing, instead of results -Oracle Open Office Calc : formulas;recalculating manually -Oracle Open Office Calc : formulas;starting formula editor -Oracle Open Office Calc : formulas;status bar -Oracle Open Office Calc : formulas;using row/column labels -Oracle Open Office Calc : formulas in reports -Oracle Open Office Calc : formulas in reports;editing -Oracle Open Office Calc : forums and support -Oracle Open Office Calc : fractions -Oracle Open Office Calc : fractions;converting -Oracle Open Office Calc : fractions;entering -Oracle Open Office Calc : frames -Oracle Open Office Calc : frames;around paragraphs -Oracle Open Office Calc : frames;around tables -Oracle Open Office Calc : frames;AutoCorrect function -Oracle Open Office Calc : frames;backgrounds -Oracle Open Office Calc : frames;captions (Writer) -Oracle Open Office Calc : frames;printing in Oracle Open Office Math -Oracle Open Office Calc : frames;protecting -Oracle Open Office Calc : frames;selection frames -Oracle Open Office Calc : frames;text fitting to frames -Oracle Open Office Calc : freeform lines -Oracle Open Office Calc : freeform lines;draw functions -Oracle Open Office Calc : freezing rows or columns -Oracle Open Office Calc : FREQUENCY function -Oracle Open Office Calc : FTEST function -Oracle Open Office Calc : FTP -Oracle Open Office Calc : FTP;opening documents -Oracle Open Office Calc : FTP;saving documents -Oracle Open Office Calc : full joins (Base) -Oracle Open Office Calc : full screen view -Oracle Open Office Calc : full-text search in Help -Oracle Open Office Calc : function list window -Oracle Open Office Calc : Function Wizard -Oracle Open Office Calc : Function Wizard;add-ins -Oracle Open Office Calc : Function Wizard;arrays -Oracle Open Office Calc : Function Wizard;databases -Oracle Open Office Calc : Function Wizard;date & time -Oracle Open Office Calc : Function Wizard;financial -Oracle Open Office Calc : Function Wizard;information -Oracle Open Office Calc : Function Wizard;logical -Oracle Open Office Calc : Function Wizard;mathematical -Oracle Open Office Calc : Function Wizard;spreadsheets -Oracle Open Office Calc : Function Wizard;statistics -Oracle Open Office Calc : Function Wizard;text -Oracle Open Office Calc : functions -Oracle Open Office Calc : functions;accepting input icon -Oracle Open Office Calc : functions;add-in functions -Oracle Open Office Calc : functions;array functions -Oracle Open Office Calc : functions;canceling input icon -Oracle Open Office Calc : functions;database functions -Oracle Open Office Calc : functions;date & time -Oracle Open Office Calc : functions;financial functions -Oracle Open Office Calc : functions;formula bar icon -Oracle Open Office Calc : functions;Function Wizard -Oracle Open Office Calc : functions;information functions -Oracle Open Office Calc : functions;listed by category -Oracle Open Office Calc : functions;logical functions -Oracle Open Office Calc : functions;mathematical functions -Oracle Open Office Calc : functions;Oracle Open Office Calc add-in DLL -Oracle Open Office Calc : functions;spreadsheets -Oracle Open Office Calc : functions;statistics functions -Oracle Open Office Calc : functions;sum function icon -Oracle Open Office Calc : functions;text functions -Oracle Open Office Calc : functions;user-defined -Oracle Open Office Calc : functions in reports -Oracle Open Office Calc : functions in reports;editing -Oracle Open Office Calc : future values -Oracle Open Office Calc : future values;constant interest rates -Oracle Open Office Calc : future values;varying interest rates -Oracle Open Office Calc : FV function -Oracle Open Office Calc : FVSCHEDULE function -Oracle Open Office Calc : Gallery -Oracle Open Office Calc : Gallery;adding pictures -Oracle Open Office Calc : Gallery;dragging pictures to draw objects -Oracle Open Office Calc : Gallery;hiding/showing -Oracle Open Office Calc : Gallery;inserting pictures from -Oracle Open Office Calc : GAMMA function -Oracle Open Office Calc : GAMMADIST function -Oracle Open Office Calc : GAMMAINV function -Oracle Open Office Calc : GAMMALN function -Oracle Open Office Calc : GAUSS function -Oracle Open Office Calc : Gaussian error integral -Oracle Open Office Calc : GCD function -Oracle Open Office Calc : GCD_ADD function -Oracle Open Office Calc : GEOMEAN function -Oracle Open Office Calc : geometric lists -Oracle Open Office Calc : geometric-degressive depreciations -Oracle Open Office Calc : GESTEP function -Oracle Open Office Calc : get method for form transmissions -Oracle Open Office Calc : GETPIVOTDATA function -Oracle Open Office Calc : getting support -Oracle Open Office Calc : GIF format -Oracle Open Office Calc : glossaries -Oracle Open Office Calc : glossaries;common terms -Oracle Open Office Calc : glossaries;Internet terms -Oracle Open Office Calc : goal seeking -Oracle Open Office Calc : goal seeking;example -Oracle Open Office Calc : goal seeking;solver -Oracle Open Office Calc : gradients off for faster printing -Oracle Open Office Calc : graphic objects, see draw objects -Oracle Open Office Calc : graphical text art -Oracle Open Office Calc : graphics -Oracle Open Office Calc : graphics;cache -Oracle Open Office Calc : graphics;protecting -Oracle Open Office Calc : graphics, see also pictures -Oracle Open Office Calc : grayscale printing -Oracle Open Office Calc : greatest common divisor -Oracle Open Office Calc : grid controls -Oracle Open Office Calc : grid controls;form functions -Oracle Open Office Calc : grids -Oracle Open Office Calc : grids;defaults (Writer/Calc) -Oracle Open Office Calc : grids;display options (Impress/Draw) -Oracle Open Office Calc : grids;displaying lines (Calc) -Oracle Open Office Calc : grids;formatting axes -Oracle Open Office Calc : grids;hiding lines in sheets -Oracle Open Office Calc : grids;inserting in charts -Oracle Open Office Calc : grids;printing sheet grids -Oracle Open Office Calc : group box creation -Oracle Open Office Calc : grouping -Oracle Open Office Calc : grouping;cells -Oracle Open Office Calc : grouping;DataPilot tables -Oracle Open Office Calc : groups -Oracle Open Office Calc : groups;entering/exiting/ungrouping -Oracle Open Office Calc : groups;naming -Oracle Open Office Calc : groups;of controls -Oracle Open Office Calc : GROWTH function -Oracle Open Office Calc : growth series -Oracle Open Office Calc : guides -Oracle Open Office Calc : guides;display options (Impress/Draw) -Oracle Open Office Calc : guides;displaying when moving objects (Impress) -Oracle Open Office Calc : guides;showing (Calc) -Oracle Open Office Calc : guides;showing when moving frames (Writer) -Oracle Open Office Calc : gutter -Oracle Open Office Calc : handles -Oracle Open Office Calc : handles;displaying (Writer) -Oracle Open Office Calc : handles;scaling -Oracle Open Office Calc : handles;showing simple/large handles (Calc) -Oracle Open Office Calc : Hangul/Hanja -Oracle Open Office Calc : HARMEAN function -Oracle Open Office Calc : hatching -Oracle Open Office Calc : headers -Oracle Open Office Calc : headers;backgrounds -Oracle Open Office Calc : headers;defining -Oracle Open Office Calc : headers;freezing during table split -Oracle Open Office Calc : headers;printing on sheets -Oracle Open Office Calc : headings -Oracle Open Office Calc : headings;entering as text box -Oracle Open Office Calc : headings;repeating rows/columns as -Oracle Open Office Calc : Hebrew -Oracle Open Office Calc : Hebrew;entering text -Oracle Open Office Calc : Hebrew;language settings -Oracle Open Office Calc : heights of cells -Oracle Open Office Calc : Help -Oracle Open Office Calc : Help;bookmarks -Oracle Open Office Calc : Help;extended tips on/off -Oracle Open Office Calc : Help;full-text search -Oracle Open Office Calc : Help;Help tips -Oracle Open Office Calc : Help;keywords -Oracle Open Office Calc : Help;navigation pane showing/hiding -Oracle Open Office Calc : Help;style sheets -Oracle Open Office Calc : Help;topics -Oracle Open Office Calc : Help Agent -Oracle Open Office Calc : Help Agent;help -Oracle Open Office Calc : Help Agent;options -Oracle Open Office Calc : Help tips -Oracle Open Office Calc : Help tips;defining text for cell input -Oracle Open Office Calc : Help tips;hiding -Oracle Open Office Calc : HEX2BIN function -Oracle Open Office Calc : HEX2DEC function -Oracle Open Office Calc : HEX2OCT function -Oracle Open Office Calc : hexadecimal system -Oracle Open Office Calc : hexadecimal system;converting to -Oracle Open Office Calc : hidden cells -Oracle Open Office Calc : hidden controls in Form Navigator -Oracle Open Office Calc : hidden fields display (Writer) -Oracle Open Office Calc : hidden pages -Oracle Open Office Calc : hidden pages;printing in presentations -Oracle Open Office Calc : hidden text -Oracle Open Office Calc : hidden text;showing (Writer) -Oracle Open Office Calc : hiding -Oracle Open Office Calc : hiding;changes -Oracle Open Office Calc : hiding;chart legends -Oracle Open Office Calc : hiding;columns -Oracle Open Office Calc : hiding;data fields, from calculations in Data Pilot -Oracle Open Office Calc : hiding;docked windows -Oracle Open Office Calc : hiding;formulas -Oracle Open Office Calc : hiding;headers/grid lines -Oracle Open Office Calc : hiding;navigation pane in Help window -Oracle Open Office Calc : hiding;rows -Oracle Open Office Calc : hiding;sheet details -Oracle Open Office Calc : hiding;sheets -Oracle Open Office Calc : high contrast mode -Oracle Open Office Calc : highlighting -Oracle Open Office Calc : highlighting;negative numbers -Oracle Open Office Calc : highlighting;values in sheets -Oracle Open Office Calc : Hindi -Oracle Open Office Calc : Hindi;entering text -Oracle Open Office Calc : Hindi;language settings -Oracle Open Office Calc : HLOOKUP function -Oracle Open Office Calc : horizontal scrollbars (Writer) -Oracle Open Office Calc : hotspots -Oracle Open Office Calc : HOUR function -Oracle Open Office Calc : HowTos for Calc -Oracle Open Office Calc : HowTos for charts -Oracle Open Office Calc : HTML -Oracle Open Office Calc : HTML;definition -Oracle Open Office Calc : HTML;export character set -Oracle Open Office Calc : HTML;fonts for source display -Oracle Open Office Calc : HTML;importing META tags -Oracle Open Office Calc : HTML;in sheet cells -Oracle Open Office Calc : HTML;live presentations -Oracle Open Office Calc : HTML;sheets -Oracle Open Office Calc : HTML documents -Oracle Open Office Calc : HTML documents;auto reloading -Oracle Open Office Calc : HTML documents;importing/exporting -Oracle Open Office Calc : HTML documents;META tags in -Oracle Open Office Calc : HTML documents;new -Oracle Open Office Calc : HTML documents;source text -Oracle Open Office Calc : HTML WebQuery -Oracle Open Office Calc : HYPERLINK function -Oracle Open Office Calc : hyperlinks -Oracle Open Office Calc : hyperlinks;assigning macros -Oracle Open Office Calc : hyperlinks;character formats -Oracle Open Office Calc : hyperlinks;definition -Oracle Open Office Calc : hyperlinks;deleting -Oracle Open Office Calc : hyperlinks;editing -Oracle Open Office Calc : hyperlinks;inserting -Oracle Open Office Calc : hyperlinks;relative and absolute -Oracle Open Office Calc : hyperlinks;turning off automatic recognition -Oracle Open Office Calc : hyperlinks, see also links -Oracle Open Office Calc : HYPGEOMDIST function -Oracle Open Office Calc : hyphenation -Oracle Open Office Calc : hyphenation;activating for a language -Oracle Open Office Calc : hyphenation;in spreadsheets -Oracle Open Office Calc : hyphenation;minimal number of characters -Oracle Open Office Calc : hyphens -Oracle Open Office Calc : hyphens;displaying custom (Writer) -Oracle Open Office Calc : hyphens;inserting custom -Oracle Open Office Calc : icon bars, see toolbars -Oracle Open Office Calc : icon sizes -Oracle Open Office Calc : IDE -Oracle Open Office Calc : IDE;Basic IDE -Oracle Open Office Calc : IF function -Oracle Open Office Calc : ignore list for spellcheck -Oracle Open Office Calc : illumination -Oracle Open Office Calc : illumination;3D charts -Oracle Open Office Calc : illustrations, see pictures -Oracle Open Office Calc : IMABS function -Oracle Open Office Calc : image button creation -Oracle Open Office Calc : image control creation -Oracle Open Office Calc : ImageMap -Oracle Open Office Calc : ImageMap;definition -Oracle Open Office Calc : ImageMap;editor -Oracle Open Office Calc : images -Oracle Open Office Calc : images;ImageMap -Oracle Open Office Calc : images;inserting and editing bitmaps -Oracle Open Office Calc : images, see also pictures -Oracle Open Office Calc : IMAGINARY function -Oracle Open Office Calc : imaginary numbers in analysis functions -Oracle Open Office Calc : IMARGUMENT function -Oracle Open Office Calc : IMCONJUGATE function -Oracle Open Office Calc : IMCOS function -Oracle Open Office Calc : IMDIV function -Oracle Open Office Calc : IME -Oracle Open Office Calc : IME;definition -Oracle Open Office Calc : IME;showing/hiding -Oracle Open Office Calc : IMEXP function -Oracle Open Office Calc : IMLN function -Oracle Open Office Calc : IMLOG10 function -Oracle Open Office Calc : IMLOG2 function -Oracle Open Office Calc : implicit array handling -Oracle Open Office Calc : import filters -Oracle Open Office Calc : import restrictions for Microsoft Office -Oracle Open Office Calc : importing -Oracle Open Office Calc : importing;bitmaps -Oracle Open Office Calc : importing;compatibility settings for text import -Oracle Open Office Calc : importing;csv files with formulas -Oracle Open Office Calc : importing;databases -Oracle Open Office Calc : importing;dBASE files -Oracle Open Office Calc : importing;documents in other formats -Oracle Open Office Calc : importing;from XML -Oracle Open Office Calc : importing;HTML and text documents -Oracle Open Office Calc : importing;HTML with META tags -Oracle Open Office Calc : importing;Microsoft Office documents with VBA code -Oracle Open Office Calc : importing;tables as text -Oracle Open Office Calc : importing;tables in text format -Oracle Open Office Calc : importing;templates -Oracle Open Office Calc : IMPOWER function -Oracle Open Office Calc : IMPRODUCT function -Oracle Open Office Calc : improvement program -Oracle Open Office Calc : IMREAL function -Oracle Open Office Calc : IMSIN function -Oracle Open Office Calc : IMSQRT function -Oracle Open Office Calc : IMSUB function -Oracle Open Office Calc : IMSUM function -Oracle Open Office Calc : inches -Oracle Open Office Calc : increasing scales in page view -Oracle Open Office Calc : INDEX function -Oracle Open Office Calc : Index tab in Help -Oracle Open Office Calc : indexes -Oracle Open Office Calc : indexes;backgrounds -Oracle Open Office Calc : indexes;showing/hiding Help index tab -Oracle Open Office Calc : indicator lines in text -Oracle Open Office Calc : INDIRECT function -Oracle Open Office Calc : INFO function -Oracle Open Office Calc : information functions -Oracle Open Office Calc : information on cells -Oracle Open Office Calc : inline array constants -Oracle Open Office Calc : inner joins (Base) -Oracle Open Office Calc : inner products -Oracle Open Office Calc : input line in formula bar -Oracle Open Office Calc : input method window -Oracle Open Office Calc : input support in spreadsheets -Oracle Open Office Calc : insert mode for entering text -Oracle Open Office Calc : inserting -Oracle Open Office Calc : inserting;breaks -Oracle Open Office Calc : inserting;buttons in toolbars -Oracle Open Office Calc : inserting;cell ranges -Oracle Open Office Calc : inserting;cell ranges from spreadsheets -Oracle Open Office Calc : inserting;cells -Oracle Open Office Calc : inserting;cells, by drag and drop -Oracle Open Office Calc : inserting;cells, toolbar icon -Oracle Open Office Calc : inserting;charts -Oracle Open Office Calc : inserting;clipboard options -Oracle Open Office Calc : inserting;columns -Oracle Open Office Calc : inserting;comments -Oracle Open Office Calc : inserting;data from text documents -Oracle Open Office Calc : inserting;datasource records in spreadsheets -Oracle Open Office Calc : inserting;drawings -Oracle Open Office Calc : inserting;external data -Oracle Open Office Calc : inserting;floating frames -Oracle Open Office Calc : inserting;Fontwork objects -Oracle Open Office Calc : inserting;form fields -Oracle Open Office Calc : inserting;formulas -Oracle Open Office Calc : inserting;fractions -Oracle Open Office Calc : inserting;hyperlinks -Oracle Open Office Calc : inserting;line breaks in cells -Oracle Open Office Calc : inserting;manual column breaks -Oracle Open Office Calc : inserting;manual row breaks -Oracle Open Office Calc : inserting;matrix formulas -Oracle Open Office Calc : inserting;movies/sounds -Oracle Open Office Calc : inserting;new text tables defaults -Oracle Open Office Calc : inserting;objects from Gallery -Oracle Open Office Calc : inserting;objects, toolbar icon -Oracle Open Office Calc : inserting;OLE objects -Oracle Open Office Calc : inserting;paragraph borders -Oracle Open Office Calc : inserting;paragraph bullets -Oracle Open Office Calc : inserting;pictures in Gallery -Oracle Open Office Calc : inserting;plug-ins -Oracle Open Office Calc : inserting;push buttons -Oracle Open Office Calc : inserting;references, by drag and drop -Oracle Open Office Calc : inserting;rows -Oracle Open Office Calc : inserting;sheets -Oracle Open Office Calc : inserting;special characters -Oracle Open Office Calc : inserting;tab stops -Oracle Open Office Calc : inserting;textures on chart bars -Oracle Open Office Calc : inserting;values -Oracle Open Office Calc : inserting functions -Oracle Open Office Calc : inserting functions;function list window -Oracle Open Office Calc : inserting functions;Function Wizard -Oracle Open Office Calc : installing -Oracle Open Office Calc : installing;ActiveX control -Oracle Open Office Calc : installing;mobile device filters -Oracle Open Office Calc : installing;UNO components -Oracle Open Office Calc : installing;XML filters -Oracle Open Office Calc : instructions -Oracle Open Office Calc : instructions;general -Oracle Open Office Calc : instructions;Oracle Open Office Calc -Oracle Open Office Calc : INT function -Oracle Open Office Calc : integers with leading zeros -Oracle Open Office Calc : INTERCEPT function -Oracle Open Office Calc : interests for unchanged amortization installments -Oracle Open Office Calc : internal rates of return -Oracle Open Office Calc : internal rates of return;irregular payments -Oracle Open Office Calc : internal rates of return;modified -Oracle Open Office Calc : internal rates of return;regular payments -Oracle Open Office Calc : international currency formats -Oracle Open Office Calc : Internet -Oracle Open Office Calc : Internet;checking for updates -Oracle Open Office Calc : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Calc : Internet;presentations -Oracle Open Office Calc : Internet;starting searches -Oracle Open Office Calc : Internet glossary -Oracle Open Office Calc : intersection operator -Oracle Open Office Calc : intersections -Oracle Open Office Calc : INTRATE function -Oracle Open Office Calc : invalid data -Oracle Open Office Calc : invalid data;marking -Oracle Open Office Calc : invalid names -Oracle Open Office Calc : invalid names;error messages -Oracle Open Office Calc : invalid references -Oracle Open Office Calc : invalid references;error messages -Oracle Open Office Calc : inverse arrays -Oracle Open Office Calc : inverse F probability distribution -Oracle Open Office Calc : inverse of Fisher transformation -Oracle Open Office Calc : inverse of lognormal distribution -Oracle Open Office Calc : inverse of t-distribution -Oracle Open Office Calc : invert filter -Oracle Open Office Calc : inverting tables -Oracle Open Office Calc : invisible areas -Oracle Open Office Calc : invisible cells -Oracle Open Office Calc : IPMT function -Oracle Open Office Calc : IRR function -Oracle Open Office Calc : ISBLANK function -Oracle Open Office Calc : ISERR function -Oracle Open Office Calc : ISERROR function -Oracle Open Office Calc : ISEVEN function -Oracle Open Office Calc : ISEVEN_ADD function -Oracle Open Office Calc : ISFORMULA function -Oracle Open Office Calc : ISLEAPYEAR function -Oracle Open Office Calc : ISLOGICAL function -Oracle Open Office Calc : ISNA function -Oracle Open Office Calc : ISNONTEXT function -Oracle Open Office Calc : ISNUMBER function -Oracle Open Office Calc : ISODD function -Oracle Open Office Calc : ISODD_ADD function -Oracle Open Office Calc : ISPMT function -Oracle Open Office Calc : ISREF function -Oracle Open Office Calc : ISTEXT function -Oracle Open Office Calc : italic text -Oracle Open Office Calc : iterative references in spreadsheets -Oracle Open Office Calc : Java -Oracle Open Office Calc : Java;definition -Oracle Open Office Calc : Java;setting options -Oracle Open Office Calc : JDBC -Oracle Open Office Calc : JDBC;databases (Base) -Oracle Open Office Calc : JDBC;definition -Oracle Open Office Calc : JIS function -Oracle Open Office Calc : joining -Oracle Open Office Calc : joining;paragraphs -Oracle Open Office Calc : joining;tables (Base) -Oracle Open Office Calc : joins in databases (Base) -Oracle Open Office Calc : justifying text -Oracle Open Office Calc : kerning -Oracle Open Office Calc : kerning;Asian texts -Oracle Open Office Calc : kerning;definition -Oracle Open Office Calc : kerning;in characters -Oracle Open Office Calc : key fields for relations (Base) -Oracle Open Office Calc : keyboard -Oracle Open Office Calc : keyboard;assigning/editing shortcut keys -Oracle Open Office Calc : keyboard;general commands -Oracle Open Office Calc : keyboard;removing numbering -Oracle Open Office Calc : keys -Oracle Open Office Calc : keys;adding push buttons -Oracle Open Office Calc : keys;primary keys (Base) -Oracle Open Office Calc : kiosk export -Oracle Open Office Calc : KURT function -Oracle Open Office Calc : label ranges in sheets -Oracle Open Office Calc : labels -Oracle Open Office Calc : labels;creating and synchronizing -Oracle Open Office Calc : labels;for charts -Oracle Open Office Calc : labels;for draw objects -Oracle Open Office Calc : labels;form functions -Oracle Open Office Calc : labels;from databases -Oracle Open Office Calc : labels, see also names/callouts -Oracle Open Office Calc : landscape printing -Oracle Open Office Calc : languages -Oracle Open Office Calc : languages;activating modules -Oracle Open Office Calc : languages;Asian support -Oracle Open Office Calc : languages;complex text layout -Oracle Open Office Calc : languages;locale settings -Oracle Open Office Calc : languages;selecting for text -Oracle Open Office Calc : languages;setting options -Oracle Open Office Calc : languages;spellcheck -Oracle Open Office Calc : languages;spellchecking and formatting -Oracle Open Office Calc : LARGE function -Oracle Open Office Calc : large handles (Writer) -Oracle Open Office Calc : large icons -Oracle Open Office Calc : layer arrangement -Oracle Open Office Calc : layout -Oracle Open Office Calc : layout;importing Word documents -Oracle Open Office Calc : layout;pages -Oracle Open Office Calc : layout;spreadsheets -Oracle Open Office Calc : LCM function -Oracle Open Office Calc : LCM_ADD function -Oracle Open Office Calc : LDAP server -Oracle Open Office Calc : LDAP server;address books (Base) -Oracle Open Office Calc : LDAP server;sign on options -Oracle Open Office Calc : leading between paragraphs -Oracle Open Office Calc : leading zeros -Oracle Open Office Calc : leap year determination -Oracle Open Office Calc : least common multiples -Oracle Open Office Calc : left alignment of paragraphs -Oracle Open Office Calc : LEFT function -Oracle Open Office Calc : left joins (Base) -Oracle Open Office Calc : legends -Oracle Open Office Calc : legends;charts -Oracle Open Office Calc : legends;draw objects -Oracle Open Office Calc : legends;rounding corners -Oracle Open Office Calc : LEN function -Oracle Open Office Calc : Letter Wizard -Oracle Open Office Calc : levels -Oracle Open Office Calc : levels;depth stagger -Oracle Open Office Calc : levels;macro security -Oracle Open Office Calc : limits -Oracle Open Office Calc : limits;specifying value limits on input -Oracle Open Office Calc : limits of tables (Writer) -Oracle Open Office Calc : line arrangements with cells -Oracle Open Office Calc : line breaks -Oracle Open Office Calc : line breaks;in cells -Oracle Open Office Calc : line charts -Oracle Open Office Calc : line spacing -Oracle Open Office Calc : line spacing;context menu in paragraphs -Oracle Open Office Calc : line spacing;paragraph -Oracle Open Office Calc : line styles -Oracle Open Office Calc : line styles;applying -Oracle Open Office Calc : line styles;defining -Oracle Open Office Calc : linear depreciations -Oracle Open Office Calc : linear series -Oracle Open Office Calc : lines -Oracle Open Office Calc : lines;defining ends -Oracle Open Office Calc : lines;draw functions -Oracle Open Office Calc : lines;drawing in text -Oracle Open Office Calc : lines;editing points -Oracle Open Office Calc : lines;removing automatic lines -Oracle Open Office Calc : lines of text -Oracle Open Office Calc : lines of text;alignment -Oracle Open Office Calc : LINEST function -Oracle Open Office Calc : links -Oracle Open Office Calc : links;between cells and controls -Oracle Open Office Calc : links;by drag and drop -Oracle Open Office Calc : links;character formats -Oracle Open Office Calc : links;definition -Oracle Open Office Calc : links;editing hyperlinks -Oracle Open Office Calc : links;inserting -Oracle Open Office Calc : links;modifying -Oracle Open Office Calc : links;opening files with -Oracle Open Office Calc : links;relational databases (Base) -Oracle Open Office Calc : links;turning off automatic recognition -Oracle Open Office Calc : links;updating options (Writer) -Oracle Open Office Calc : links;updating specific links -Oracle Open Office Calc : list box creation -Oracle Open Office Calc : list of functions -Oracle Open Office Calc : lists -Oracle Open Office Calc : lists;data assigned to controls -Oracle Open Office Calc : lists;registered databases (Base) -Oracle Open Office Calc : lists;regular expressions -Oracle Open Office Calc : lists;user-defined -Oracle Open Office Calc : live presentations on the Internet -Oracle Open Office Calc : LN function -Oracle Open Office Calc : loading -Oracle Open Office Calc : loading;documents -Oracle Open Office Calc : loading;documents from other formats -Oracle Open Office Calc : loading;HTML documents, automatically -Oracle Open Office Calc : loading;Microsoft Office documents with VBA code -Oracle Open Office Calc : loading;reloading -Oracle Open Office Calc : loading;XML files -Oracle Open Office Calc : locale settings -Oracle Open Office Calc : LOG function -Oracle Open Office Calc : LOG10 function -Oracle Open Office Calc : logarithmic scaling along axes -Oracle Open Office Calc : logarithms -Oracle Open Office Calc : LOGEST function -Oracle Open Office Calc : logical functions -Oracle Open Office Calc : logical number formats -Oracle Open Office Calc : LOGINV function -Oracle Open Office Calc : LOGNORMDIST function -Oracle Open Office Calc : LOOKUP function -Oracle Open Office Calc : LOWER function -Oracle Open Office Calc : lowercase letters -Oracle Open Office Calc : lowercase letters;AutoInput function (in cells) -Oracle Open Office Calc : lowercase letters;font effects -Oracle Open Office Calc : lowest common multiples -Oracle Open Office Calc : Macauley duration -Oracle Open Office Calc : Macro Wizard (Base) -Oracle Open Office Calc : macros -Oracle Open Office Calc : macros;assigning to events in forms -Oracle Open Office Calc : macros;attaching new (Base) -Oracle Open Office Calc : macros;in MS Office documents -Oracle Open Office Calc : macros;interrupting -Oracle Open Office Calc : macros;organizing -Oracle Open Office Calc : macros;recording -Oracle Open Office Calc : macros;running when incorrect input -Oracle Open Office Calc : macros;security -Oracle Open Office Calc : macros;security levels -Oracle Open Office Calc : macros;security warning dialog -Oracle Open Office Calc : macros;selecting security warnings -Oracle Open Office Calc : magnifiers -Oracle Open Office Calc : manual column breaks -Oracle Open Office Calc : manual row breaks -Oracle Open Office Calc : margins -Oracle Open Office Calc : margins;pages -Oracle Open Office Calc : margins;setting with the mouse -Oracle Open Office Calc : margins;shadows -Oracle Open Office Calc : marking cells -Oracle Open Office Calc : marking changes -Oracle Open Office Calc : marking, see selecting -Oracle Open Office Calc : MATCH function -Oracle Open Office Calc : Math formula editor -Oracle Open Office Calc : mathematical functions -Oracle Open Office Calc : matrices -Oracle Open Office Calc : matrices;calculations -Oracle Open Office Calc : matrices;entering matrix formulas -Oracle Open Office Calc : matrices;functions -Oracle Open Office Calc : MAX function -Oracle Open Office Calc : MAXA function -Oracle Open Office Calc : maximum values in Calc databases -Oracle Open Office Calc : MDETERM function -Oracle Open Office Calc : MDURATION function -Oracle Open Office Calc : mean value lines in charts -Oracle Open Office Calc : means -Oracle Open Office Calc : means;geometric -Oracle Open Office Calc : means;harmonic -Oracle Open Office Calc : means;of data set without margin data -Oracle Open Office Calc : measurement units -Oracle Open Office Calc : measurement units;changing on rulers -Oracle Open Office Calc : measurement units;converting -Oracle Open Office Calc : measurement units;selecting -Oracle Open Office Calc : Media Player window -Oracle Open Office Calc : MEDIAN function -Oracle Open Office Calc : menus -Oracle Open Office Calc : menus;activating context menus -Oracle Open Office Calc : menus;assigning macros -Oracle Open Office Calc : menus;customizing -Oracle Open Office Calc : merging -Oracle Open Office Calc : merging;cells -Oracle Open Office Calc : merging;data ranges -Oracle Open Office Calc : merging;documents -Oracle Open Office Calc : META tags -Oracle Open Office Calc : metrics -Oracle Open Office Calc : metrics;converting -Oracle Open Office Calc : metrics;document formatting (Writer) -Oracle Open Office Calc : metrics;in sheets -Oracle Open Office Calc : Microsoft Excel functions -Oracle Open Office Calc : Microsoft Office -Oracle Open Office Calc : Microsoft Office;Access databases (base) -Oracle Open Office Calc : Microsoft Office;as default file format -Oracle Open Office Calc : Microsoft Office;document import restrictions -Oracle Open Office Calc : Microsoft Office;feature comparisons -Oracle Open Office Calc : Microsoft Office;importing password protected files -Oracle Open Office Calc : Microsoft Office;importing Word documents -Oracle Open Office Calc : Microsoft Office;importing/exporting VBA code -Oracle Open Office Calc : Microsoft Office;new users information -Oracle Open Office Calc : Microsoft Office;opening Microsoft documents -Oracle Open Office Calc : Microsoft Office;reassigning document types -Oracle Open Office Calc : MID function -Oracle Open Office Calc : migrating macros (Base) -Oracle Open Office Calc : MIN function -Oracle Open Office Calc : MINA function -Oracle Open Office Calc : minimum values in Calc databases -Oracle Open Office Calc : minus sign, see also operators -Oracle Open Office Calc : MINUTE function -Oracle Open Office Calc : MINVERSE function -Oracle Open Office Calc : MIRR function -Oracle Open Office Calc : MMULT function -Oracle Open Office Calc : mobile device filters -Oracle Open Office Calc : MOD function -Oracle Open Office Calc : MODE function -Oracle Open Office Calc : models in XForms -Oracle Open Office Calc : modified internal rates of return -Oracle Open Office Calc : modifying, see changing -Oracle Open Office Calc : MONTH function -Oracle Open Office Calc : MONTHS function -Oracle Open Office Calc : more controls -Oracle Open Office Calc : mosaic filter -Oracle Open Office Calc : most common value -Oracle Open Office Calc : mouse -Oracle Open Office Calc : mouse;pointers when using drag and drop -Oracle Open Office Calc : mouse;positioning -Oracle Open Office Calc : movies -Oracle Open Office Calc : moving -Oracle Open Office Calc : moving;cells by drag and drop -Oracle Open Office Calc : moving;spreadsheets -Oracle Open Office Calc : moving;tab stops on ruler -Oracle Open Office Calc : moving;toolbars -Oracle Open Office Calc : moving;using guide lines in presentations -Oracle Open Office Calc : moving;visible cells only -Oracle Open Office Calc : MROUND function -Oracle Open Office Calc : MS ADO interface (Base) -Oracle Open Office Calc : multi-line text in cells -Oracle Open Office Calc : multi-line titles in forms -Oracle Open Office Calc : MULTINOMIAL function -Oracle Open Office Calc : multiple cells selection -Oracle Open Office Calc : multiple documents -Oracle Open Office Calc : multiple documents;opening -Oracle Open Office Calc : multiple operations -Oracle Open Office Calc : multiple selection -Oracle Open Office Calc : multiple sheets -Oracle Open Office Calc : multiplication sign, see also operators -Oracle Open Office Calc : multiplying -Oracle Open Office Calc : multiplying;cell contents in Calc databases -Oracle Open Office Calc : multiplying;numbers -Oracle Open Office Calc : MUNIT function -Oracle Open Office Calc : music -Oracle Open Office Calc : My Documents folder -Oracle Open Office Calc : My Documents folder;changing work directory -Oracle Open Office Calc : My Documents folder;opening -Oracle Open Office Calc : MySQL databases (Base) -Oracle Open Office Calc : N function -Oracle Open Office Calc : NA function -Oracle Open Office Calc : name recognition on/off -Oracle Open Office Calc : names -Oracle Open Office Calc : names;defining for cells -Oracle Open Office Calc : names;for cell ranges -Oracle Open Office Calc : names;multi-line titles -Oracle Open Office Calc : names;objects -Oracle Open Office Calc : names;sheets -Oracle Open Office Calc : names, see also labels/callouts -Oracle Open Office Calc : namespace organization in XForms -Oracle Open Office Calc : native SQL (Base) -Oracle Open Office Calc : natural language addressing -Oracle Open Office Calc : natural logarithm -Oracle Open Office Calc : natural logarithm of Gamma function -Oracle Open Office Calc : natural sort algorithm -Oracle Open Office Calc : navigating -Oracle Open Office Calc : navigating;in documents -Oracle Open Office Calc : navigating;in spreadsheets -Oracle Open Office Calc : Navigation bar -Oracle Open Office Calc : Navigation bar;controls -Oracle Open Office Calc : Navigation bar;forms -Oracle Open Office Calc : Navigator -Oracle Open Office Calc : Navigator;comments -Oracle Open Office Calc : Navigator;contents as lists -Oracle Open Office Calc : Navigator;docking -Oracle Open Office Calc : Navigator;for sheets -Oracle Open Office Calc : Navigator;working with -Oracle Open Office Calc : nearest multiple -Oracle Open Office Calc : negative binomial distribution -Oracle Open Office Calc : negative numbers -Oracle Open Office Calc : NEGBINOMDIST function -Oracle Open Office Calc : net annual interest rates -Oracle Open Office Calc : net charts -Oracle Open Office Calc : net present values -Oracle Open Office Calc : network identity options -Oracle Open Office Calc : NETWORKDAYS function -Oracle Open Office Calc : new databases -Oracle Open Office Calc : new documents -Oracle Open Office Calc : new lines in cells -Oracle Open Office Calc : new windows -Oracle Open Office Calc : NOMINAL function -Oracle Open Office Calc : nominal interest rates -Oracle Open Office Calc : NOMINAL_ADD function -Oracle Open Office Calc : non-breaking dashes -Oracle Open Office Calc : non-breaking spaces (Writer) -Oracle Open Office Calc : non-printing characters (Writer) -Oracle Open Office Calc : normal distribution -Oracle Open Office Calc : normal distribution;inverse of -Oracle Open Office Calc : normal distribution;inverse of standard -Oracle Open Office Calc : normal distribution;standard -Oracle Open Office Calc : normal distribution;statistics -Oracle Open Office Calc : NORMDIST function -Oracle Open Office Calc : NORMINV function -Oracle Open Office Calc : NORMSDIST function -Oracle Open Office Calc : NORMSINV function -Oracle Open Office Calc : NOT function -Oracle Open Office Calc : NOW function -Oracle Open Office Calc : NPER function -Oracle Open Office Calc : NPV function -Oracle Open Office Calc : null values -Oracle Open Office Calc : null values;printing -Oracle Open Office Calc : number completion on/off -Oracle Open Office Calc : number formats -Oracle Open Office Calc : number formats;adding/deleting decimal places in cells -Oracle Open Office Calc : number formats;codes -Oracle Open Office Calc : number formats;colors for negative numbers -Oracle Open Office Calc : number formats;formats -Oracle Open Office Calc : number formats;logical -Oracle Open Office Calc : number formats;millions -Oracle Open Office Calc : number formats;recognition in text tables -Oracle Open Office Calc : number of combinations -Oracle Open Office Calc : number of combinations with repetitions -Oracle Open Office Calc : number of coupons -Oracle Open Office Calc : number of days -Oracle Open Office Calc : number of days;in a specific month of a year -Oracle Open Office Calc : number of days;in a specific year -Oracle Open Office Calc : number of entries -Oracle Open Office Calc : number of months between two dates -Oracle Open Office Calc : number of pages -Oracle Open Office Calc : number of payment periods -Oracle Open Office Calc : number of permutations -Oracle Open Office Calc : number of sheets -Oracle Open Office Calc : number of sheets;function -Oracle Open Office Calc : number of sheets -Oracle Open Office Calc : number of tables -Oracle Open Office Calc : number of weeks -Oracle Open Office Calc : number of weeks;between two dates -Oracle Open Office Calc : number of weeks;in a specific year -Oracle Open Office Calc : number of years between two dates -Oracle Open Office Calc : number series import -Oracle Open Office Calc : numbering -Oracle Open Office Calc : numbering;options -Oracle Open Office Calc : numbering;turning off -Oracle Open Office Calc : numbering;using automatically -Oracle Open Office Calc : numbers -Oracle Open Office Calc : numbers;as text -Oracle Open Office Calc : numbers;changing text/number formats -Oracle Open Office Calc : numbers;counting -Oracle Open Office Calc : numbers;date, time and currency formats -Oracle Open Office Calc : numbers;decimal places -Oracle Open Office Calc : numbers;decimal places (Calc) -Oracle Open Office Calc : numbers;determining ranks -Oracle Open Office Calc : numbers;entering fractions -Oracle Open Office Calc : numbers;entering without number formats -Oracle Open Office Calc : numbers;filter sheets -Oracle Open Office Calc : numbers;formatting in tables -Oracle Open Office Calc : numbers;formatting options for selected cells -Oracle Open Office Calc : numbers;greater than or equal to -Oracle Open Office Calc : numbers;highlighting negative numbers -Oracle Open Office Calc : numbers;multiplying -Oracle Open Office Calc : numbers;rounded off -Oracle Open Office Calc : numbers;rounding down to next integer -Oracle Open Office Calc : numbers;rounding up/down to even integers -Oracle Open Office Calc : numbers;user-defined formatting in tables -Oracle Open Office Calc : numbers;with leading zeros -Oracle Open Office Calc : numerical fields in forms -Oracle Open Office Calc : objects -Oracle Open Office Calc : objects;always moveable (Impress/Draw) -Oracle Open Office Calc : objects;arranging within stacks -Oracle Open Office Calc : objects;copying when moving in presentations -Oracle Open Office Calc : objects;definition -Oracle Open Office Calc : objects;displaying in spreadsheets -Oracle Open Office Calc : objects;displaying in text documents -Oracle Open Office Calc : objects;editing -Oracle Open Office Calc : objects;inserting from Gallery -Oracle Open Office Calc : objects;inserting OLE objects -Oracle Open Office Calc : objects;moving and resizing with mouse -Oracle Open Office Calc : objects;naming -Oracle Open Office Calc : objects;opening -Oracle Open Office Calc : objects;properties of charts -Oracle Open Office Calc : objects;quickly moving to -Oracle Open Office Calc : objects;titles and descriptions -Oracle Open Office Calc : OCT2BIN function -Oracle Open Office Calc : OCT2DEC function -Oracle Open Office Calc : OCT2HEX function -Oracle Open Office Calc : ODBC -Oracle Open Office Calc : ODBC;database (Base) -Oracle Open Office Calc : ODBC;definition -Oracle Open Office Calc : ODD function -Oracle Open Office Calc : odd integers -Oracle Open Office Calc : ODDFPRICE function -Oracle Open Office Calc : ODDFYIELD function -Oracle Open Office Calc : ODDLPRICE function -Oracle Open Office Calc : ODDLYIELD function -Oracle Open Office Calc : ODF file formats -Oracle Open Office Calc : Office -Oracle Open Office Calc : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Calc : OFFSET function -Oracle Open Office Calc : OLE -Oracle Open Office Calc : OLE;definition -Oracle Open Office Calc : OLE objects -Oracle Open Office Calc : OLE objects;arranging within stacks -Oracle Open Office Calc : OLE objects;captions (Writer) -Oracle Open Office Calc : OLE objects;inserting -Oracle Open Office Calc : OLE objects;number of -Oracle Open Office Calc : OLE objects;protecting -Oracle Open Office Calc : one and a half line spacing in text -Oracle Open Office Calc : online feedback options -Oracle Open Office Calc : online registration -Oracle Open Office Calc : online update options -Oracle Open Office Calc : online updates -Oracle Open Office Calc : online updates;checking automatically -Oracle Open Office Calc : online updates;checking manually -Oracle Open Office Calc : Open/Save dialogs -Oracle Open Office Calc : OpenDocument file formats -Oracle Open Office Calc : OpenGL -Oracle Open Office Calc : OpenGL;definition -Oracle Open Office Calc : opening -Oracle Open Office Calc : opening;context menus -Oracle Open Office Calc : opening;database files -Oracle Open Office Calc : opening;dialog settings -Oracle Open Office Calc : opening;documents -Oracle Open Office Calc : opening;documents from other formats -Oracle Open Office Calc : opening;documents on WebDAV server -Oracle Open Office Calc : opening;files with links -Oracle Open Office Calc : opening;files, with placeholders -Oracle Open Office Calc : opening;forms -Oracle Open Office Calc : opening;Microsoft Office files -Oracle Open Office Calc : opening;mobile device documents -Oracle Open Office Calc : opening;objects -Oracle Open Office Calc : opening;reports -Oracle Open Office Calc : opening;scenarios -Oracle Open Office Calc : opening;several files -Oracle Open Office Calc : opening;sheets in HTML -Oracle Open Office Calc : opening;text csv files -Oracle Open Office Calc : opening;XForms -Oracle Open Office Calc : operators -Oracle Open Office Calc : operators;default filters -Oracle Open Office Calc : operators;formula functions -Oracle Open Office Calc : optimal column widths -Oracle Open Office Calc : optimal row heights -Oracle Open Office Calc : optional hyphens (Writer) -Oracle Open Office Calc : options -Oracle Open Office Calc : options;accessibility -Oracle Open Office Calc : options;appearance -Oracle Open Office Calc : options;compatibility (Writer) -Oracle Open Office Calc : options;improvement program -Oracle Open Office Calc : options;network identity -Oracle Open Office Calc : options;online update -Oracle Open Office Calc : options;tools -Oracle Open Office Calc : OR function -Oracle Open Office Calc : Oracle databases (base) -Oracle Open Office Calc : Oracle Open Office Base data sources -Oracle Open Office Calc : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Calc : Oracle Open Office documents -Oracle Open Office Calc : Oracle Open Office documents;mobile device filters -Oracle Open Office Calc : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Calc : Oracle Open Office Math start -Oracle Open Office Calc : order of chart data -Oracle Open Office Calc : ordering -Oracle Open Office Calc : ordering;objects -Oracle Open Office Calc : organizing -Oracle Open Office Calc : organizing;macros and scripts -Oracle Open Office Calc : organizing;namespaces in XForms -Oracle Open Office Calc : organizing;styles -Oracle Open Office Calc : organizing;templates -Oracle Open Office Calc : original size -Oracle Open Office Calc : original size;printing in Oracle Open Office Math -Oracle Open Office Calc : original size;restoring after cropping -Oracle Open Office Calc : outlines -Oracle Open Office Calc : outlines;font effects -Oracle Open Office Calc : outlines;outline symbols -Oracle Open Office Calc : outlines;sending to presentations -Oracle Open Office Calc : outlines;sheets -Oracle Open Office Calc : output ranges of DataPilot tables -Oracle Open Office Calc : overwrite mode -Oracle Open Office Calc : packages, see extensions -Oracle Open Office Calc : page breaks -Oracle Open Office Calc : page breaks;displaying (Calc) -Oracle Open Office Calc : page breaks;inserting in spreadsheets -Oracle Open Office Calc : page breaks;spreadsheet preview -Oracle Open Office Calc : page formats -Oracle Open Office Calc : page formats;maximizing -Oracle Open Office Calc : page formats;restriction -Oracle Open Office Calc : page styles -Oracle Open Office Calc : page styles;editing/applying with statusbar -Oracle Open Office Calc : page styles;footers -Oracle Open Office Calc : page styles;headers -Oracle Open Office Calc : page views -Oracle Open Office Calc : page views;increasing scales -Oracle Open Office Calc : page views;reducing scales -Oracle Open Office Calc : pages -Oracle Open Office Calc : pages;backgrounds in all applications -Oracle Open Office Calc : pages;formatting and numbering -Oracle Open Office Calc : pages;order when printing -Oracle Open Office Calc : pages;printing page names in presentations -Oracle Open Office Calc : pages;scaling -Oracle Open Office Calc : pages;selecting one to print -Oracle Open Office Calc : paint box -Oracle Open Office Calc : paint can for applying styles -Oracle Open Office Calc : paint can symbol -Oracle Open Office Calc : pair kerning -Oracle Open Office Calc : Palm file filters -Oracle Open Office Calc : paper formats -Oracle Open Office Calc : paper size warning -Oracle Open Office Calc : paper trays -Oracle Open Office Calc : paragraph marks -Oracle Open Office Calc : paragraph marks;displaying (Writer) -Oracle Open Office Calc : paragraph styles -Oracle Open Office Calc : paragraph styles;languages -Oracle Open Office Calc : paragraph styles;modifying basic fonts -Oracle Open Office Calc : paragraphs -Oracle Open Office Calc : paragraphs;alignment -Oracle Open Office Calc : paragraphs;Asian typography -Oracle Open Office Calc : paragraphs;defining borders -Oracle Open Office Calc : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Calc : paragraphs;increasing indents of -Oracle Open Office Calc : paragraphs;indents, margins and columns -Oracle Open Office Calc : paragraphs;inserting bullets -Oracle Open Office Calc : paragraphs;joining -Oracle Open Office Calc : paragraphs;numbering automatically -Oracle Open Office Calc : paragraphs;removing blank ones -Oracle Open Office Calc : paragraphs;spacing -Oracle Open Office Calc : paragraphs;tab stops -Oracle Open Office Calc : parameters -Oracle Open Office Calc : parameters;command line -Oracle Open Office Calc : parameters;queries (Base) -Oracle Open Office Calc : passwords for protecting contents -Oracle Open Office Calc : pasting -Oracle Open Office Calc : pasting;cell ranges -Oracle Open Office Calc : pasting;cell ranges from spreadsheets -Oracle Open Office Calc : pasting;data from text documents -Oracle Open Office Calc : pasting;draw objects -Oracle Open Office Calc : pasting;draw objects from other documents -Oracle Open Office Calc : pasting;formatted/unformatted text -Oracle Open Office Calc : pasting;formulas -Oracle Open Office Calc : pasting;from data source view -Oracle Open Office Calc : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Calc : pasting;pictures from other documents -Oracle Open Office Calc : pasting;sheet areas in text documents -Oracle Open Office Calc : pasting;to Gallery -Oracle Open Office Calc : pasting;values in multiple sheets -Oracle Open Office Calc : paths -Oracle Open Office Calc : paths;changing work directory -Oracle Open Office Calc : paths;defaults -Oracle Open Office Calc : pattern editor -Oracle Open Office Calc : pattern fields -Oracle Open Office Calc : pattern fields;form functions -Oracle Open Office Calc : patterns for objects -Oracle Open Office Calc : payment periods -Oracle Open Office Calc : payment periods;number of -Oracle Open Office Calc : PDF -Oracle Open Office Calc : PDF;export -Oracle Open Office Calc : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Calc : PDF export of print ranges -Oracle Open Office Calc : PEARSON function -Oracle Open Office Calc : percentage calculations -Oracle Open Office Calc : PERCENTILE function -Oracle Open Office Calc : PERCENTRANK function -Oracle Open Office Calc : periodic amortizement rates -Oracle Open Office Calc : permitted cell contents -Oracle Open Office Calc : PERMUT function -Oracle Open Office Calc : PERMUTATIONA function -Oracle Open Office Calc : personal data input -Oracle Open Office Calc : PHI function -Oracle Open Office Calc : phonebook sorting rules -Oracle Open Office Calc : phonetic guide -Oracle Open Office Calc : PI function -Oracle Open Office Calc : picklist creation -Oracle Open Office Calc : pictures -Oracle Open Office Calc : pictures;adding to Gallery -Oracle Open Office Calc : pictures;arranging within stacks -Oracle Open Office Calc : pictures;assigning macros -Oracle Open Office Calc : pictures;backgrounds -Oracle Open Office Calc : pictures;captions (Writer) -Oracle Open Office Calc : pictures;changing paths -Oracle Open Office Calc : pictures;cropping and zooming -Oracle Open Office Calc : pictures;displaying in Calc -Oracle Open Office Calc : pictures;displaying in Writer (Writer) -Oracle Open Office Calc : pictures;drag and drop between documents -Oracle Open Office Calc : pictures;drawing -Oracle Open Office Calc : pictures;editing -Oracle Open Office Calc : pictures;filters -Oracle Open Office Calc : pictures;ImageMap -Oracle Open Office Calc : pictures;inserting automatically -Oracle Open Office Calc : pictures;inserting from Gallery -Oracle Open Office Calc : pictures;number of -Oracle Open Office Calc : pictures;printing -Oracle Open Office Calc : pictures;scaling/resizing -Oracle Open Office Calc : pie charts -Oracle Open Office Calc : pie charts;options -Oracle Open Office Calc : pie charts;types -Oracle Open Office Calc : Pivot table import -Oracle Open Office Calc : Pivot table, see DataPilot function -Oracle Open Office Calc : pixel editor -Oracle Open Office Calc : pixel graphics -Oracle Open Office Calc : pixel graphics;inserting and editing -Oracle Open Office Calc : pixel patterns -Oracle Open Office Calc : placeholders -Oracle Open Office Calc : placeholders;in SQL queries -Oracle Open Office Calc : placeholders;on opening files -Oracle Open Office Calc : placing toolbars -Oracle Open Office Calc : playing movies and sound files -Oracle Open Office Calc : plotting data as charts -Oracle Open Office Calc : plug-ins -Oracle Open Office Calc : plug-ins;activating and deactivating -Oracle Open Office Calc : plug-ins;definition -Oracle Open Office Calc : plug-ins;inserting -Oracle Open Office Calc : plus sign, see also operators -Oracle Open Office Calc : PMT function -Oracle Open Office Calc : pocket device appliances -Oracle Open Office Calc : Pocket PC file filters -Oracle Open Office Calc : points -Oracle Open Office Calc : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Calc : points of intersection -Oracle Open Office Calc : POISSON function -Oracle Open Office Calc : polygon drawing -Oracle Open Office Calc : pop-art filter -Oracle Open Office Calc : portable document format -Oracle Open Office Calc : positioning -Oracle Open Office Calc : positioning;axes -Oracle Open Office Calc : positioning;draw objects and controls -Oracle Open Office Calc : positioning;fonts -Oracle Open Office Calc : positioning;objects -Oracle Open Office Calc : positioning;toolbars -Oracle Open Office Calc : post method for form transmissions -Oracle Open Office Calc : posterizing filter -Oracle Open Office Calc : PostScript -Oracle Open Office Calc : PostScript;creating files -Oracle Open Office Calc : PostScript;PDF converter, UNIX -Oracle Open Office Calc : POWER function -Oracle Open Office Calc : PowerPoint export -Oracle Open Office Calc : powers of 2 calculations -Oracle Open Office Calc : PPMT function -Oracle Open Office Calc : precision as shown -Oracle Open Office Calc : precision as shown (Calc) -Oracle Open Office Calc : predefining fonts -Oracle Open Office Calc : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Calc : present values -Oracle Open Office Calc : presentations -Oracle Open Office Calc : presentations;creating/opening -Oracle Open Office Calc : presentations;inserting spreadsheet cells -Oracle Open Office Calc : presentations;live on the Internet -Oracle Open Office Calc : presentations;print menu -Oracle Open Office Calc : presentations;saving -Oracle Open Office Calc : presentations;saving automatically -Oracle Open Office Calc : presentations;saving in other formats -Oracle Open Office Calc : presentations;sending as e-mail -Oracle Open Office Calc : presentations;starting with wizard -Oracle Open Office Calc : presentations;wizards -Oracle Open Office Calc : Presenter Console shortcuts -Oracle Open Office Calc : press buttons, see push buttons -Oracle Open Office Calc : previews -Oracle Open Office Calc : previews;fonts lists -Oracle Open Office Calc : previews;page breaks for printing -Oracle Open Office Calc : PRICE function -Oracle Open Office Calc : PRICEDISC function -Oracle Open Office Calc : PRICEMAT function -Oracle Open Office Calc : prices -Oracle Open Office Calc : prices;fixed interest securities -Oracle Open Office Calc : prices;interest-bearing securities -Oracle Open Office Calc : prices;non-interest-bearing securities -Oracle Open Office Calc : prices;securities with irregular first interest date -Oracle Open Office Calc : prices;treasury bills -Oracle Open Office Calc : primary keys -Oracle Open Office Calc : primary keys;defining -Oracle Open Office Calc : primary keys;design view -Oracle Open Office Calc : primary keys;inserting (Base) -Oracle Open Office Calc : print area selection -Oracle Open Office Calc : print ranges -Oracle Open Office Calc : printer metrics for document formatting (Writer) -Oracle Open Office Calc : printers -Oracle Open Office Calc : printers;adding, UNIX -Oracle Open Office Calc : printers;choosing -Oracle Open Office Calc : printers;default printer -Oracle Open Office Calc : printers;faxes under UNIX -Oracle Open Office Calc : printers;maximum page formats -Oracle Open Office Calc : printers;paper trays -Oracle Open Office Calc : printers;properties -Oracle Open Office Calc : printing -Oracle Open Office Calc : printing;black and white -Oracle Open Office Calc : printing;brochures -Oracle Open Office Calc : printing;cells -Oracle Open Office Calc : printing;colors in grayscale -Oracle Open Office Calc : printing;comments -Oracle Open Office Calc : printing;copies -Oracle Open Office Calc : printing;creating individual jobs -Oracle Open Office Calc : printing;dates in presentations -Oracle Open Office Calc : printing;directly -Oracle Open Office Calc : printing;documents -Oracle Open Office Calc : printing;drawings defaults -Oracle Open Office Calc : printing;elements in text documents -Oracle Open Office Calc : printing;faster -Oracle Open Office Calc : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Calc : printing;fitting to pages in presentations -Oracle Open Office Calc : printing;formulas in Oracle Open Office Math -Oracle Open Office Calc : printing;hidden pages of presentations -Oracle Open Office Calc : printing;in original size in Oracle Open Office Math -Oracle Open Office Calc : printing;landscape -Oracle Open Office Calc : printing;left/right pages -Oracle Open Office Calc : printing;page order -Oracle Open Office Calc : printing;queries (Base) -Oracle Open Office Calc : printing;rows/columns as table headings -Oracle Open Office Calc : printing;scaling in Oracle Open Office Math -Oracle Open Office Calc : printing;selections -Oracle Open Office Calc : printing;sheet counts -Oracle Open Office Calc : printing;sheet details -Oracle Open Office Calc : printing;sheet selections -Oracle Open Office Calc : printing;sheets on multiple pages -Oracle Open Office Calc : printing;text always in black -Oracle Open Office Calc : printing;text in reverse order -Oracle Open Office Calc : printing;tiling pages in presentations -Oracle Open Office Calc : printing;transparencies -Oracle Open Office Calc : printing;warnings -Oracle Open Office Calc : printing;without scaling in presentations -Oracle Open Office Calc : printing speed -Oracle Open Office Calc : PROB function -Oracle Open Office Calc : probabilities of samples with binomial distribution -Oracle Open Office Calc : PRODUCT function -Oracle Open Office Calc : programming -Oracle Open Office Calc : programming;add-ins -Oracle Open Office Calc : programming;functions -Oracle Open Office Calc : programming;Oracle Open Office -Oracle Open Office Calc : programming;scripting -Oracle Open Office Calc : PROPER function -Oracle Open Office Calc : properties -Oracle Open Office Calc : properties;charts -Oracle Open Office Calc : properties;fields in databases -Oracle Open Office Calc : properties;files -Oracle Open Office Calc : properties;form controls -Oracle Open Office Calc : properties;forms -Oracle Open Office Calc : properties;printers -Oracle Open Office Calc : properties;smooth lines in line charts/XY charts -Oracle Open Office Calc : protected contents -Oracle Open Office Calc : protected dashes -Oracle Open Office Calc : protected database tables -Oracle Open Office Calc : protected documents -Oracle Open Office Calc : protected spaces -Oracle Open Office Calc : protected spaces;inserting -Oracle Open Office Calc : protected spaces;showing (Writer) -Oracle Open Office Calc : protecting -Oracle Open Office Calc : protecting;cells and sheets -Oracle Open Office Calc : protecting;contents -Oracle Open Office Calc : protecting;recorded changes -Oracle Open Office Calc : protecting;unprotecting cells -Oracle Open Office Calc : proxy settings -Oracle Open Office Calc : push buttons -Oracle Open Office Calc : push buttons;adding to documents -Oracle Open Office Calc : push buttons;creating -Oracle Open Office Calc : PV function -Oracle Open Office Calc : QUARTILE function -Oracle Open Office Calc : queries -Oracle Open Office Calc : queries;copying (Base) -Oracle Open Office Calc : queries;creating in design view (Base) -Oracle Open Office Calc : queries;creating in SQL view -Oracle Open Office Calc : queries;defining (Base) -Oracle Open Office Calc : queries;deleting table links (Base) -Oracle Open Office Calc : queries;editing in data source view -Oracle Open Office Calc : queries;formulating filter conditions (Base) -Oracle Open Office Calc : queries;joining tables (Base) -Oracle Open Office Calc : queries;missing elements (Base) -Oracle Open Office Calc : queries;overview (Base) -Oracle Open Office Calc : queries;parameter queries (Base) -Oracle Open Office Calc : queries;printing (Base) -Oracle Open Office Calc : Query Wizard (Base) -Oracle Open Office Calc : Quickstarter -Oracle Open Office Calc : quotation marks -Oracle Open Office Calc : quotation marks;replacing -Oracle Open Office Calc : quotes -Oracle Open Office Calc : quotes;custom -Oracle Open Office Calc : QUOTIENT function -Oracle Open Office Calc : radar charts, see net charts -Oracle Open Office Calc : RADIANS function -Oracle Open Office Calc : radio button creation -Oracle Open Office Calc : RAND function -Oracle Open Office Calc : RANDBETWEEN function -Oracle Open Office Calc : random numbers -Oracle Open Office Calc : random numbers;between 0 and 1 -Oracle Open Office Calc : random numbers;between limits -Oracle Open Office Calc : random numbers;examples -Oracle Open Office Calc : ranges -Oracle Open Office Calc : ranges;combining -Oracle Open Office Calc : ranges;defining database ranges -Oracle Open Office Calc : ranges;inserting in tables -Oracle Open Office Calc : ranges;print ranges -Oracle Open Office Calc : RANK function -Oracle Open Office Calc : RATE function -Oracle Open Office Calc : rates of return -Oracle Open Office Calc : rates of return;non-interest-bearing securities -Oracle Open Office Calc : rates of return;securities -Oracle Open Office Calc : rates of return;securities with interest paid on maturity -Oracle Open Office Calc : rates of return of treasury bills -Oracle Open Office Calc : read-only documents -Oracle Open Office Calc : read-only documents;cursor -Oracle Open Office Calc : read-only documents;database tables on/off -Oracle Open Office Calc : read-only documents;editing -Oracle Open Office Calc : read-only documents;opening documents as -Oracle Open Office Calc : read-only items in Data Navigator -Oracle Open Office Calc : recalculating -Oracle Open Office Calc : recalculating;all formulas in sheets -Oracle Open Office Calc : recalculating;auto calculating sheets -Oracle Open Office Calc : recalculating;DataPilot tables -Oracle Open Office Calc : RECEIVED function -Oracle Open Office Calc : recognizing -Oracle Open Office Calc : recognizing;column and row labels -Oracle Open Office Calc : recognizing;equal numbers -Oracle Open Office Calc : recognizing;general errors -Oracle Open Office Calc : recognizing formula cells -Oracle Open Office Calc : recognizing URLs automatically -Oracle Open Office Calc : recording -Oracle Open Office Calc : recording;changes -Oracle Open Office Calc : recording;macros -Oracle Open Office Calc : records -Oracle Open Office Calc : records;counting in Calc databases -Oracle Open Office Calc : records;inserting comments -Oracle Open Office Calc : records;protecting -Oracle Open Office Calc : records;saving -Oracle Open Office Calc : records;searching in databases -Oracle Open Office Calc : rectangles with round corners -Oracle Open Office Calc : recursions in spreadsheets -Oracle Open Office Calc : redo command -Oracle Open Office Calc : reduced printing -Oracle Open Office Calc : reference lines -Oracle Open Office Calc : reference operators -Oracle Open Office Calc : references -Oracle Open Office Calc : references;absolute/relative -Oracle Open Office Calc : references;by defined names -Oracle Open Office Calc : references;displaying in color (Calc) -Oracle Open Office Calc : references;expanding (Calc) -Oracle Open Office Calc : references;inserting by drag and drop -Oracle Open Office Calc : references;iterative (Calc) -Oracle Open Office Calc : references;testing cell contents -Oracle Open Office Calc : references;to cells -Oracle Open Office Calc : references;to cells in other sheets/documents -Oracle Open Office Calc : references;URL in cells -Oracle Open Office Calc : register-true -Oracle Open Office Calc : register-true;definition -Oracle Open Office Calc : registering -Oracle Open Office Calc : registering;address books -Oracle Open Office Calc : registering;databases (Base) -Oracle Open Office Calc : registering;Oracle Open Office -Oracle Open Office Calc : regression analysis -Oracle Open Office Calc : regression curves in charts -Oracle Open Office Calc : regression lines -Oracle Open Office Calc : regression lines;FORECAST function -Oracle Open Office Calc : regression lines;LINEST function -Oracle Open Office Calc : regular expressions -Oracle Open Office Calc : regular expressions;list of -Oracle Open Office Calc : regular expressions;opening files -Oracle Open Office Calc : relational databases (Base) -Oracle Open Office Calc : relations -Oracle Open Office Calc : relations;creating and deleting (Base) -Oracle Open Office Calc : relations;joining tables (Base) -Oracle Open Office Calc : relations;properties (Base) -Oracle Open Office Calc : relative addresses -Oracle Open Office Calc : relative hyperlinks -Oracle Open Office Calc : relative references -Oracle Open Office Calc : relative saving of URLs -Oracle Open Office Calc : reloading -Oracle Open Office Calc : reloading;documents -Oracle Open Office Calc : reloading;HTML documents, automatically -Oracle Open Office Calc : remainders of divisions -Oracle Open Office Calc : remarks on cells -Oracle Open Office Calc : remarks, see also comments -Oracle Open Office Calc : remote configurations -Oracle Open Office Calc : remove noise filter -Oracle Open Office Calc : removing -Oracle Open Office Calc : removing;bullets and numbering -Oracle Open Office Calc : removing;cell range filters -Oracle Open Office Calc : removing;filters -Oracle Open Office Calc : removing;form filters -Oracle Open Office Calc : removing, see also deleting -Oracle Open Office Calc : renaming -Oracle Open Office Calc : renaming;cells -Oracle Open Office Calc : renaming;sheets -Oracle Open Office Calc : reorganizing charts -Oracle Open Office Calc : repayment installment -Oracle Open Office Calc : repeating -Oracle Open Office Calc : repeating;columns/rows on printed pages -Oracle Open Office Calc : repeating;commands -Oracle Open Office Calc : REPLACE function -Oracle Open Office Calc : replacement options -Oracle Open Office Calc : replacement table -Oracle Open Office Calc : replacing -Oracle Open Office Calc : replacing;AutoCorrect function -Oracle Open Office Calc : replacing;cell contents -Oracle Open Office Calc : replacing;dashes -Oracle Open Office Calc : replacing;tab stops (regular expressions) -Oracle Open Office Calc : Report Builder -Oracle Open Office Calc : reports -Oracle Open Office Calc : reports;creating -Oracle Open Office Calc : reports;error reports -Oracle Open Office Calc : reports;opening and editing -Oracle Open Office Calc : reports;templates -Oracle Open Office Calc : REPT function -Oracle Open Office Calc : resetting -Oracle Open Office Calc : resetting;templates -Oracle Open Office Calc : resizing -Oracle Open Office Calc : resizing;objects, by mouse -Oracle Open Office Calc : resizing, see also scaling/zooming -Oracle Open Office Calc : resolution when printing bitmaps -Oracle Open Office Calc : restoring -Oracle Open Office Calc : restoring;default formatting -Oracle Open Office Calc : restoring;editing -Oracle Open Office Calc : results display vs. formulas display -Oracle Open Office Calc : reversing printing order -Oracle Open Office Calc : review function -Oracle Open Office Calc : review function;accepting or rejecting changes -Oracle Open Office Calc : review function;comparing documents -Oracle Open Office Calc : review function;protecting records -Oracle Open Office Calc : review function;recording changes example -Oracle Open Office Calc : rich text control -Oracle Open Office Calc : right alignment of paragraphs -Oracle Open Office Calc : RIGHT function -Oracle Open Office Calc : right joins (Base) -Oracle Open Office Calc : right-to-left text -Oracle Open Office Calc : right-to-left text -Oracle Open Office Calc : right-to-left text;spreadsheets -Oracle Open Office Calc : ROMAN function -Oracle Open Office Calc : ROT13 function -Oracle Open Office Calc : rotating -Oracle Open Office Calc : rotating;3D text -Oracle Open Office Calc : rotating;tables -Oracle Open Office Calc : rotating;text in cells -Oracle Open Office Calc : round corners -Oracle Open Office Calc : ROUND function -Oracle Open Office Calc : ROUNDDOWN function -Oracle Open Office Calc : rounded off numbers -Oracle Open Office Calc : rounding -Oracle Open Office Calc : rounding;down to nearest multiple of significance -Oracle Open Office Calc : rounding;down to next integer -Oracle Open Office Calc : rounding;up to multiples of significance -Oracle Open Office Calc : rounding;up/down to even integers -Oracle Open Office Calc : rounding;up/down to nearest odd integer -Oracle Open Office Calc : rounding precision -Oracle Open Office Calc : rounding precision (Calc) -Oracle Open Office Calc : ROUNDUP function -Oracle Open Office Calc : row breaks -Oracle Open Office Calc : row breaks;deleting -Oracle Open Office Calc : row breaks;inserting -Oracle Open Office Calc : ROW function -Oracle Open Office Calc : row headers -Oracle Open Office Calc : row headers;displaying (Calc) -Oracle Open Office Calc : row headers;hiding -Oracle Open Office Calc : row headers;highlighting (Calc) -Oracle Open Office Calc : row headers;using in formulas -Oracle Open Office Calc : rows -Oracle Open Office Calc : rows;deleting -Oracle Open Office Calc : rows;finding labels automatically -Oracle Open Office Calc : rows;freezing -Oracle Open Office Calc : rows;heights -Oracle Open Office Calc : rows;hiding -Oracle Open Office Calc : rows;inserting -Oracle Open Office Calc : rows;optimal heights -Oracle Open Office Calc : rows;removing/redisplaying with filters -Oracle Open Office Calc : rows;repeating when printing -Oracle Open Office Calc : rows;swapping with columns -Oracle Open Office Calc : rows;visible and invisible -Oracle Open Office Calc : ROWS function -Oracle Open Office Calc : rows, see also cells -Oracle Open Office Calc : RRI function -Oracle Open Office Calc : RSQ calculations -Oracle Open Office Calc : RSQ function -Oracle Open Office Calc : rulers -Oracle Open Office Calc : rulers;default settings -Oracle Open Office Calc : rulers;measurement units -Oracle Open Office Calc : rulers;visible in presentations -Oracle Open Office Calc : sales values -Oracle Open Office Calc : sales values;fixed interest securities -Oracle Open Office Calc : sales values;non-interest-bearing securities -Oracle Open Office Calc : samples and templates -Oracle Open Office Calc : sampling without replacement -Oracle Open Office Calc : saving -Oracle Open Office Calc : saving;as text csv -Oracle Open Office Calc : saving;default file formats -Oracle Open Office Calc : saving;dialog settings -Oracle Open Office Calc : saving;documents -Oracle Open Office Calc : saving;documents for mobile devices -Oracle Open Office Calc : saving;documents in other formats -Oracle Open Office Calc : saving;documents, automatically -Oracle Open Office Calc : saving;in Microsoft Office file format -Oracle Open Office Calc : saving;options -Oracle Open Office Calc : saving;sheets in HTML -Oracle Open Office Calc : saving;templates -Oracle Open Office Calc : saving;to XML -Oracle Open Office Calc : saving;VBA code in Microsoft Office documents -Oracle Open Office Calc : saving;with password by default -Oracle Open Office Calc : saving as command -Oracle Open Office Calc : saving as command;precautions -Oracle Open Office Calc : scalar products -Oracle Open Office Calc : scaling -Oracle Open Office Calc : scaling;axes -Oracle Open Office Calc : scaling;font sizes in user interface -Oracle Open Office Calc : scaling;objects -Oracle Open Office Calc : scaling;pictures -Oracle Open Office Calc : scaling;printing in Oracle Open Office Math -Oracle Open Office Calc : scaling;text in charts -Oracle Open Office Calc : scaling;when printing presentations -Oracle Open Office Calc : scaling, see also zooming -Oracle Open Office Calc : scatter charts -Oracle Open Office Calc : scenarios -Oracle Open Office Calc : scenarios;creating/editing/deleting -Oracle Open Office Calc : scenarios;displaying names -Oracle Open Office Calc : screen -Oracle Open Office Calc : screen;full screen views -Oracle Open Office Calc : screen;scaling -Oracle Open Office Calc : screen magnifiers -Oracle Open Office Calc : screen readers -Oracle Open Office Calc : script organization -Oracle Open Office Calc : scrollbars -Oracle Open Office Calc : scrollbars;controls -Oracle Open Office Calc : scrollbars;displaying (Calc) -Oracle Open Office Calc : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Calc : scrolling prevention in tables -Oracle Open Office Calc : search criteria for database functions in cells -Oracle Open Office Calc : search engines -Oracle Open Office Calc : search engines;definition -Oracle Open Office Calc : search engines;selecting -Oracle Open Office Calc : SEARCH function -Oracle Open Office Calc : searching -Oracle Open Office Calc : searching;all sheets -Oracle Open Office Calc : searching;cell contents in Calc databases -Oracle Open Office Calc : searching;databases -Oracle Open Office Calc : searching;form filters -Oracle Open Office Calc : searching;Internet -Oracle Open Office Calc : searching;links in cells -Oracle Open Office Calc : searching;maximum values in columns -Oracle Open Office Calc : searching;minimum values in columns -Oracle Open Office Calc : searching;tables and forms -Oracle Open Office Calc : searching, see also finding -Oracle Open Office Calc : SECOND function -Oracle Open Office Calc : secondary axes in charts -Oracle Open Office Calc : sections -Oracle Open Office Calc : sections;backgrounds -Oracle Open Office Calc : securities -Oracle Open Office Calc : securities;first interest payment until settlement date -Oracle Open Office Calc : security -Oracle Open Office Calc : security;digital signatures -Oracle Open Office Calc : security;options for documents with macros -Oracle Open Office Calc : security;protecting contents -Oracle Open Office Calc : security;security levels for macros -Oracle Open Office Calc : security;warning dialogs with macros -Oracle Open Office Calc : selecting -Oracle Open Office Calc : selecting;cells -Oracle Open Office Calc : selecting;controls -Oracle Open Office Calc : selecting;formatting themes -Oracle Open Office Calc : selecting;measurement units -Oracle Open Office Calc : selecting;multiple sheets -Oracle Open Office Calc : selecting;objects -Oracle Open Office Calc : selecting;print areas -Oracle Open Office Calc : selecting;scenarios in Navigator -Oracle Open Office Calc : selecting;several files -Oracle Open Office Calc : selection clipboard -Oracle Open Office Calc : selection frames -Oracle Open Office Calc : selection lists -Oracle Open Office Calc : selection lists;filling cells -Oracle Open Office Calc : selection lists;validity -Oracle Open Office Calc : selection modes in spreadsheets -Oracle Open Office Calc : selection modes in text -Oracle Open Office Calc : sending -Oracle Open Office Calc : sending;AutoAbstract function in presentations -Oracle Open Office Calc : sending;documents as e-mail -Oracle Open Office Calc : sending;documents as faxes -Oracle Open Office Calc : separator lines -Oracle Open Office Calc : separator lines;defining -Oracle Open Office Calc : separators -Oracle Open Office Calc : separators;conditional -Oracle Open Office Calc : series -Oracle Open Office Calc : series;calculating -Oracle Open Office Calc : series;sort lists -Oracle Open Office Calc : SERIESSUM function -Oracle Open Office Calc : Server Side ImageMap -Oracle Open Office Calc : settings -Oracle Open Office Calc : settings;printers -Oracle Open Office Calc : settings;program configuration -Oracle Open Office Calc : settings;proxies -Oracle Open Office Calc : settings;tracking changes -Oracle Open Office Calc : settings;views -Oracle Open Office Calc : SGML -Oracle Open Office Calc : SGML;definition -Oracle Open Office Calc : shadows -Oracle Open Office Calc : shadows;areas -Oracle Open Office Calc : shadows;borders -Oracle Open Office Calc : shadows;characters -Oracle Open Office Calc : shadows;characters, using context menu -Oracle Open Office Calc : shared libraries -Oracle Open Office Calc : shared libraries;programming -Oracle Open Office Calc : sharing documents -Oracle Open Office Calc : sharpening filter -Oracle Open Office Calc : sheet area names -Oracle Open Office Calc : SHEET function -Oracle Open Office Calc : sheet grids -Oracle Open Office Calc : sheet grids;printing -Oracle Open Office Calc : sheet numbers -Oracle Open Office Calc : sheet numbers;looking up -Oracle Open Office Calc : sheet ranges -Oracle Open Office Calc : sheet ranges;filling -Oracle Open Office Calc : sheet references -Oracle Open Office Calc : sheet tabs -Oracle Open Office Calc : sheet tabs;displaying -Oracle Open Office Calc : sheet tabs;renaming -Oracle Open Office Calc : sheet tabs;using -Oracle Open Office Calc : sheets -Oracle Open Office Calc : sheets;AutoFormat function -Oracle Open Office Calc : sheets;creating -Oracle Open Office Calc : sheets;defining label ranges -Oracle Open Office Calc : sheets;deleting -Oracle Open Office Calc : sheets;displaying -Oracle Open Office Calc : sheets;filter values -Oracle Open Office Calc : sheets;formatting themes -Oracle Open Office Calc : sheets;hiding -Oracle Open Office Calc : sheets;hiding details -Oracle Open Office Calc : sheets;HTML -Oracle Open Office Calc : sheets;inserting -Oracle Open Office Calc : sheets;inserting row breaks -Oracle Open Office Calc : sheets;optimal row heights -Oracle Open Office Calc : sheets;outlines -Oracle Open Office Calc : sheets;printing details -Oracle Open Office Calc : sheets;printing in landscape -Oracle Open Office Calc : sheets;printing on multiple pages -Oracle Open Office Calc : sheets;printing sheet counts -Oracle Open Office Calc : sheets;protecting -Oracle Open Office Calc : sheets;renaming -Oracle Open Office Calc : sheets;right-to-left -Oracle Open Office Calc : sheets;searching all -Oracle Open Office Calc : sheets;selecting multiple -Oracle Open Office Calc : sheets;showing multiple -Oracle Open Office Calc : sheets;simultaneous multiple filling -Oracle Open Office Calc : SHEETS function -Oracle Open Office Calc : shortcut keys -Oracle Open Office Calc : shortcut keys;assigning macros -Oracle Open Office Calc : shortcut keys;charts -Oracle Open Office Calc : shortcut keys;general -Oracle Open Office Calc : shortcut keys;in databases -Oracle Open Office Calc : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Calc : shortcut keys;Oracle Open Office Calc accessibility -Oracle Open Office Calc : shortcut keys;spreadsheets -Oracle Open Office Calc : showing -Oracle Open Office Calc : showing;cell references -Oracle Open Office Calc : showing;changes -Oracle Open Office Calc : showing;columns -Oracle Open Office Calc : showing;docked windows -Oracle Open Office Calc : showing;drawings and controls (Writer) -Oracle Open Office Calc : showing;live presentations on the Internet -Oracle Open Office Calc : showing;rows -Oracle Open Office Calc : showing;sheet details -Oracle Open Office Calc : showing;toolbars -Oracle Open Office Calc : SIGN function -Oracle Open Office Calc : signing documents with digital signatures -Oracle Open Office Calc : similarity search -Oracle Open Office Calc : simple handles (Writer) -Oracle Open Office Calc : simplified Chinese -Oracle Open Office Calc : simplified Chinese;translating to traditional Chinese -Oracle Open Office Calc : SIN function -Oracle Open Office Calc : single sign on options -Oracle Open Office Calc : single-line spacing in text -Oracle Open Office Calc : SINH function -Oracle Open Office Calc : sizes -Oracle Open Office Calc : sizes;draw objects -Oracle Open Office Calc : sizes;pictures -Oracle Open Office Calc : SKEW function -Oracle Open Office Calc : slanting draw objects -Oracle Open Office Calc : SLN function -Oracle Open Office Calc : SLOPE function -Oracle Open Office Calc : slopes, see also regression lines -Oracle Open Office Calc : small capitals -Oracle Open Office Calc : SMALL function -Oracle Open Office Calc : small icons -Oracle Open Office Calc : smart tag configuration -Oracle Open Office Calc : smooth scrolling (Writer) -Oracle Open Office Calc : smoothing filter -Oracle Open Office Calc : snap grid defaults (Writer/Calc) -Oracle Open Office Calc : snapping in presentations and drawings -Oracle Open Office Calc : solarization filter -Oracle Open Office Calc : solver -Oracle Open Office Calc : sort lists -Oracle Open Office Calc : sort lists;applying -Oracle Open Office Calc : sort lists;copying to in Calc -Oracle Open Office Calc : sorting -Oracle Open Office Calc : sorting;Asian languages -Oracle Open Office Calc : sorting;data in forms -Oracle Open Office Calc : sorting;database ranges -Oracle Open Office Calc : sorting;databases -Oracle Open Office Calc : sorting;options for database ranges -Oracle Open Office Calc : sorting;options in Data Pilot -Oracle Open Office Calc : sorting;sort criteria for database ranges -Oracle Open Office Calc : sound files -Oracle Open Office Calc : spaces -Oracle Open Office Calc : spaces;displaying (Writer) -Oracle Open Office Calc : spaces;ignoring double -Oracle Open Office Calc : spaces;inserting protected spaces -Oracle Open Office Calc : spaces;showing protected spaces (Writer) -Oracle Open Office Calc : spacing -Oracle Open Office Calc : spacing;between paragraphs in footnotes -Oracle Open Office Calc : spacing;font effects -Oracle Open Office Calc : spacing;lines and paragraphs -Oracle Open Office Calc : spacing;tab stops in text documents -Oracle Open Office Calc : spacing;tabs in presentations -Oracle Open Office Calc : spadmin -Oracle Open Office Calc : special characters -Oracle Open Office Calc : speech bubbles -Oracle Open Office Calc : speed of printing -Oracle Open Office Calc : spellcheck -Oracle Open Office Calc : spellcheck;activating for a language -Oracle Open Office Calc : spellcheck;context menus -Oracle Open Office Calc : spellcheck;default languages -Oracle Open Office Calc : spellcheck;dialog -Oracle Open Office Calc : spellcheck;dictionary of exceptions -Oracle Open Office Calc : spellcheck;ignore list -Oracle Open Office Calc : spin button creation -Oracle Open Office Calc : spoolfiles with Xprinter -Oracle Open Office Calc : spreadsheets -Oracle Open Office Calc : spreadsheets;as databases (base) -Oracle Open Office Calc : spreadsheets;backgrounds -Oracle Open Office Calc : spreadsheets;calculating -Oracle Open Office Calc : spreadsheets;copying -Oracle Open Office Calc : spreadsheets;copying areas to text documents -Oracle Open Office Calc : spreadsheets;creating/opening -Oracle Open Office Calc : spreadsheets;deleting -Oracle Open Office Calc : spreadsheets;deleting cell contents -Oracle Open Office Calc : spreadsheets;deleting cells -Oracle Open Office Calc : spreadsheets;deleting column breaks -Oracle Open Office Calc : spreadsheets;deleting row breaks -Oracle Open Office Calc : spreadsheets;displaying headers of columns/rows -Oracle Open Office Calc : spreadsheets;formatting -Oracle Open Office Calc : spreadsheets;formula bar -Oracle Open Office Calc : spreadsheets;functions -Oracle Open Office Calc : spreadsheets;hiding functions -Oracle Open Office Calc : spreadsheets;importing from/exporting to dBASE files -Oracle Open Office Calc : spreadsheets;inserting breaks in -Oracle Open Office Calc : spreadsheets;inserting cells -Oracle Open Office Calc : spreadsheets;inserting charts -Oracle Open Office Calc : spreadsheets;inserting column breaks -Oracle Open Office Calc : spreadsheets;inserting columns -Oracle Open Office Calc : spreadsheets;inserting database records -Oracle Open Office Calc : spreadsheets;inserting rows -Oracle Open Office Calc : spreadsheets;moving -Oracle Open Office Calc : spreadsheets;optimal column widths -Oracle Open Office Calc : spreadsheets;printing -Oracle Open Office Calc : spreadsheets;saving -Oracle Open Office Calc : spreadsheets;saving automatically -Oracle Open Office Calc : spreadsheets;saving in other formats -Oracle Open Office Calc : spreadsheets;sending as e-mail -Oracle Open Office Calc : spreadsheets;shortcut keys in -Oracle Open Office Calc : spreadsheets;showing columns -Oracle Open Office Calc : spreadsheets;value highlighting -Oracle Open Office Calc : spreadsheets;values as shown -Oracle Open Office Calc : SQL -Oracle Open Office Calc : SQL;definition -Oracle Open Office Calc : SQL;DISTINCT parameter -Oracle Open Office Calc : SQL;executing SQL commands -Oracle Open Office Calc : SQL;executing SQL statements (Base) -Oracle Open Office Calc : SQL;queries (Base) -Oracle Open Office Calc : SQRT function -Oracle Open Office Calc : SQRTPI function -Oracle Open Office Calc : square drawings -Oracle Open Office Calc : square number additions -Oracle Open Office Calc : square roots -Oracle Open Office Calc : square roots;positive numbers -Oracle Open Office Calc : square roots;products of Pi -Oracle Open Office Calc : standard bar on/off -Oracle Open Office Calc : standard deviation in charts -Oracle Open Office Calc : standard deviations in databases -Oracle Open Office Calc : standard deviations in databases;based on a sample -Oracle Open Office Calc : standard deviations in databases;based on populations -Oracle Open Office Calc : standard deviations in statistics -Oracle Open Office Calc : standard deviations in statistics;based on a population -Oracle Open Office Calc : standard deviations in statistics;based on a sample -Oracle Open Office Calc : standard errors -Oracle Open Office Calc : standard errors;array functions -Oracle Open Office Calc : standard errors;statistical functions -Oracle Open Office Calc : standard filters in databases -Oracle Open Office Calc : standard printer under UNIX -Oracle Open Office Calc : STANDARDIZE function -Oracle Open Office Calc : start center -Oracle Open Office Calc : start parameters -Oracle Open Office Calc : statistics functions -Oracle Open Office Calc : statistics in charts -Oracle Open Office Calc : status bar on/off -Oracle Open Office Calc : STDEV function -Oracle Open Office Calc : STDEVA function -Oracle Open Office Calc : STDEVP function -Oracle Open Office Calc : STDEVPA function -Oracle Open Office Calc : STEYX function -Oracle Open Office Calc : stickers -Oracle Open Office Calc : stock charts -Oracle Open Office Calc : straight-line depreciations -Oracle Open Office Calc : strikethrough -Oracle Open Office Calc : strikethrough;characters -Oracle Open Office Calc : strikethrough;font effects -Oracle Open Office Calc : STYLE function -Oracle Open Office Calc : STYLE function example -Oracle Open Office Calc : styles -Oracle Open Office Calc : styles;'changed' message -Oracle Open Office Calc : styles;conditional styles -Oracle Open Office Calc : styles;copying between documents -Oracle Open Office Calc : styles;keyboard shortcuts -Oracle Open Office Calc : styles;organizing -Oracle Open Office Calc : styles;printing styles used in a document -Oracle Open Office Calc : styles;replacing automatically -Oracle Open Office Calc : Styles and Formatting window -Oracle Open Office Calc : Styles and Formatting window;docking -Oracle Open Office Calc : Styles and Formatting window -Oracle Open Office Calc : Stylist, see Styles and Formatting window -Oracle Open Office Calc : subforms -Oracle Open Office Calc : subforms;creating -Oracle Open Office Calc : subforms;description -Oracle Open Office Calc : submitting forms -Oracle Open Office Calc : subscript text in cells -Oracle Open Office Calc : SUBSTITUTE function -Oracle Open Office Calc : SUBTOTAL function -Oracle Open Office Calc : subtotals -Oracle Open Office Calc : subtotals;sorting options -Oracle Open Office Calc : suffixes in file formats -Oracle Open Office Calc : SUM function -Oracle Open Office Calc : sum icon -Oracle Open Office Calc : SUMIF function -Oracle Open Office Calc : SUMPRODUCT function -Oracle Open Office Calc : sums -Oracle Open Office Calc : sums;cells in Calc databases -Oracle Open Office Calc : sums;of filtered data -Oracle Open Office Calc : sums;of square numbers -Oracle Open Office Calc : sums;of squares of deviations -Oracle Open Office Calc : SUMSQ function -Oracle Open Office Calc : SUMX2MY2 function -Oracle Open Office Calc : SUMX2PY2 function -Oracle Open Office Calc : SUMXMY2 function -Oracle Open Office Calc : superscript text in cells -Oracle Open Office Calc : support on the Web -Oracle Open Office Calc : swapping tables -Oracle Open Office Calc : SYD function -Oracle Open Office Calc : syllables in spreadsheets -Oracle Open Office Calc : synchronizing -Oracle Open Office Calc : synchronizing;labels and business cards -Oracle Open Office Calc : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Calc : system address book registration -Oracle Open Office Calc : T function -Oracle Open Office Calc : t-distribution -Oracle Open Office Calc : tab stops -Oracle Open Office Calc : tab stops;displaying (Writer) -Oracle Open Office Calc : tab stops;inserting and editing -Oracle Open Office Calc : tab stops;regular expressions -Oracle Open Office Calc : tab stops;setting in sheets -Oracle Open Office Calc : tab stops;settings -Oracle Open Office Calc : tab stops;spacing in presentations -Oracle Open Office Calc : tab stops;spacing in text documents -Oracle Open Office Calc : table controls -Oracle Open Office Calc : table controls;form functions -Oracle Open Office Calc : table controls;keyboard-only edit mode -Oracle Open Office Calc : table controls;properties -Oracle Open Office Calc : table views of databases -Oracle Open Office Calc : Table Wizard (Base) -Oracle Open Office Calc : tables -Oracle Open Office Calc : tables;AutoFormat function -Oracle Open Office Calc : tables;backgrounds -Oracle Open Office Calc : tables;combining -Oracle Open Office Calc : tables;copying cell styles -Oracle Open Office Calc : tables;database ranges -Oracle Open Office Calc : tables;deactivating automatic changes in -Oracle Open Office Calc : tables;displaying formulas/values -Oracle Open Office Calc : tables;freezing -Oracle Open Office Calc : tables;importing/exporting as text -Oracle Open Office Calc : tables;inserting external data -Oracle Open Office Calc : tables;inserting line breaks -Oracle Open Office Calc : tables;merging cells -Oracle Open Office Calc : tables;multiple operations in -Oracle Open Office Calc : tables;number formats -Oracle Open Office Calc : tables;renaming -Oracle Open Office Calc : tables;rotating -Oracle Open Office Calc : tables;selecting ranges -Oracle Open Office Calc : tables;showing details -Oracle Open Office Calc : tables;splitting windows -Oracle Open Office Calc : tables;transposing -Oracle Open Office Calc : tables;views -Oracle Open Office Calc : tables in databases -Oracle Open Office Calc : tables in databases;access rights to (Base) -Oracle Open Office Calc : tables in databases;adding to queries -Oracle Open Office Calc : tables in databases;browsing and editing -Oracle Open Office Calc : tables in databases;copying database tables (Base) -Oracle Open Office Calc : tables in databases;creating -Oracle Open Office Calc : tables in databases;creating in design view (manually) -Oracle Open Office Calc : tables in databases;importing dBASE files -Oracle Open Office Calc : tables in databases;importing text formats (Base) -Oracle Open Office Calc : tables in databases;joining for queries (Base) -Oracle Open Office Calc : tables in databases;printing queries (Base) -Oracle Open Office Calc : tables in databases;relations (Base) -Oracle Open Office Calc : tables in databases;searching -Oracle Open Office Calc : tables in spreadsheets -Oracle Open Office Calc : tables in spreadsheets;copying data to other applications -Oracle Open Office Calc : tables in spreadsheets;defining borders -Oracle Open Office Calc : tables in spreadsheets;value highlighting -Oracle Open Office Calc : tables in text -Oracle Open Office Calc : tables in text;captions -Oracle Open Office Calc : tables in text;creating automatically -Oracle Open Office Calc : tables in text;default settings -Oracle Open Office Calc : tables in text;defining borders -Oracle Open Office Calc : tables in text;displaying -Oracle Open Office Calc : tables in text;printing -Oracle Open Office Calc : tabs -Oracle Open Office Calc : tabs;displaying sheet tabs -Oracle Open Office Calc : tags -Oracle Open Office Calc : tags;definition -Oracle Open Office Calc : tags;META tags -Oracle Open Office Calc : TAN function -Oracle Open Office Calc : TANH function -Oracle Open Office Calc : TBILLEQ function -Oracle Open Office Calc : TBILLPRICE function -Oracle Open Office Calc : TBILLYIELD function -Oracle Open Office Calc : TDIST function -Oracle Open Office Calc : templates -Oracle Open Office Calc : templates;agendas -Oracle Open Office Calc : templates;changing basic fonts -Oracle Open Office Calc : templates;database reports -Oracle Open Office Calc : templates;deleting -Oracle Open Office Calc : templates;editing and saving -Oracle Open Office Calc : templates;faxes -Oracle Open Office Calc : templates;importing and exporting -Oracle Open Office Calc : templates;letters -Oracle Open Office Calc : templates;new documents from templates -Oracle Open Office Calc : templates;opening documents with -Oracle Open Office Calc : templates;organizing -Oracle Open Office Calc : terminology -Oracle Open Office Calc : terminology;general glossary -Oracle Open Office Calc : terminology;Internet glossary -Oracle Open Office Calc : testing XML filters -Oracle Open Office Calc : text -Oracle Open Office Calc : text;animating -Oracle Open Office Calc : text;Asian layout -Oracle Open Office Calc : text;bold -Oracle Open Office Calc : text;coloring -Oracle Open Office Calc : text;copying by drag and drop -Oracle Open Office Calc : text;CTL languages -Oracle Open Office Calc : text;drawing pictures -Oracle Open Office Calc : text;font effects -Oracle Open Office Calc : text;font sizes -Oracle Open Office Calc : text;font styles -Oracle Open Office Calc : text;fonts and formats -Oracle Open Office Calc : text;Fontwork icons -Oracle Open Office Calc : text;hyperlinks -Oracle Open Office Calc : text;inserting special characters -Oracle Open Office Calc : text;italics -Oracle Open Office Calc : text;kerning -Oracle Open Office Calc : text;language selection -Oracle Open Office Calc : text;line spacing -Oracle Open Office Calc : text;overwriting or inserting -Oracle Open Office Calc : text;printing in black -Oracle Open Office Calc : text;replacing with format -Oracle Open Office Calc : text;selection modes -Oracle Open Office Calc : text;shadowed -Oracle Open Office Calc : text;text/draw objects -Oracle Open Office Calc : text attributes -Oracle Open Office Calc : text attributes;hyperlinks -Oracle Open Office Calc : text attributes;undoing -Oracle Open Office Calc : text boxes -Oracle Open Office Calc : text boxes;form functions -Oracle Open Office Calc : text boxes;positioning -Oracle Open Office Calc : text breaks in cells -Oracle Open Office Calc : text colors for better accessibility -Oracle Open Office Calc : text completion on/off -Oracle Open Office Calc : text concatenation AND -Oracle Open Office Calc : text databases (Base) -Oracle Open Office Calc : text documents -Oracle Open Office Calc : text documents;creating/opening -Oracle Open Office Calc : text documents;importing to spreadsheets -Oracle Open Office Calc : text documents;importing/exporting -Oracle Open Office Calc : text documents;inserting spreadsheet cells -Oracle Open Office Calc : text documents;print settings -Oracle Open Office Calc : text documents;printing -Oracle Open Office Calc : text documents;saving -Oracle Open Office Calc : text documents;saving automatically -Oracle Open Office Calc : text documents;saving in other formats -Oracle Open Office Calc : text documents;sending as e-mail -Oracle Open Office Calc : text effects -Oracle Open Office Calc : text file import and export -Oracle Open Office Calc : text flow -Oracle Open Office Calc : text flow;in cells -Oracle Open Office Calc : text formats -Oracle Open Office Calc : text formats;databases -Oracle Open Office Calc : text formats;for numbers -Oracle Open Office Calc : text formats;pasting -Oracle Open Office Calc : TEXT function -Oracle Open Office Calc : text in cells -Oracle Open Office Calc : text in cells;as addressing -Oracle Open Office Calc : text in cells;AutoInput function -Oracle Open Office Calc : text in cells;changing to numbers -Oracle Open Office Calc : text in cells;formatting -Oracle Open Office Calc : text in cells;functions -Oracle Open Office Calc : text in cells;multi-line -Oracle Open Office Calc : text in cells;writing vertically -Oracle Open Office Calc : text input fields -Oracle Open Office Calc : text layout for special languages -Oracle Open Office Calc : text objects -Oracle Open Office Calc : text objects;alignment -Oracle Open Office Calc : text objects;draw functions -Oracle Open Office Calc : text objects;fonts -Oracle Open Office Calc : text objects;in presentations and drawings -Oracle Open Office Calc : text operators -Oracle Open Office Calc : text overflow in spreadsheet cells -Oracle Open Office Calc : text scaling in charts -Oracle Open Office Calc : text to columns -Oracle Open Office Calc : text, see also text documents, paragraphs and characters -Oracle Open Office Calc : TextArt, see Fontwork -Oracle Open Office Calc : textures -Oracle Open Office Calc : textures;inserting from Gallery -Oracle Open Office Calc : textures;on chart bars -Oracle Open Office Calc : Thai -Oracle Open Office Calc : Thai;entering text -Oracle Open Office Calc : Thai;language settings -Oracle Open Office Calc : theme selection for sheets -Oracle Open Office Calc : thesaurus -Oracle Open Office Calc : thesaurus;activating for a language -Oracle Open Office Calc : ticker text -Oracle Open Office Calc : time differences -Oracle Open Office Calc : time fields -Oracle Open Office Calc : time fields;form functions -Oracle Open Office Calc : TIME function -Oracle Open Office Calc : times -Oracle Open Office Calc : times;in cells -Oracle Open Office Calc : times;inserting when printing presentations -Oracle Open Office Calc : times, formats -Oracle Open Office Calc : TIMEVALUE function -Oracle Open Office Calc : TINV function -Oracle Open Office Calc : tips -Oracle Open Office Calc : tips;extended tips in Help -Oracle Open Office Calc : title rows -Oracle Open Office Calc : title rows;freezing during table split -Oracle Open Office Calc : title rows;printing in Oracle Open Office Math -Oracle Open Office Calc : title rows;printing on all sheets -Oracle Open Office Calc : titles -Oracle Open Office Calc : titles;alignment (charts) -Oracle Open Office Calc : titles;changing -Oracle Open Office Calc : titles;editing in charts -Oracle Open Office Calc : titles;font effects -Oracle Open Office Calc : titles;formatting automatically -Oracle Open Office Calc : titles;formatting charts -Oracle Open Office Calc : titles;objects -Oracle Open Office Calc : TODAY function -Oracle Open Office Calc : toolbars -Oracle Open Office Calc : toolbars;adding buttons -Oracle Open Office Calc : toolbars;docking/undocking -Oracle Open Office Calc : toolbars;Form Navigation bar -Oracle Open Office Calc : toolbars;viewing/closing -Oracle Open Office Calc : tools bar -Oracle Open Office Calc : tooltips -Oracle Open Office Calc : tooltips;extended tips -Oracle Open Office Calc : tooltips;help -Oracle Open Office Calc : total amortizement rates -Oracle Open Office Calc : traces -Oracle Open Office Calc : traces;autorefreshing -Oracle Open Office Calc : traces;precedents and dependents -Oracle Open Office Calc : traces;precedents for multiple cells -Oracle Open Office Calc : traces;refreshing -Oracle Open Office Calc : tracing errors -Oracle Open Office Calc : traditional Chinese -Oracle Open Office Calc : traditional Chinese;translating to simplified chinese -Oracle Open Office Calc : transparency -Oracle Open Office Calc : transparency;areas -Oracle Open Office Calc : transparency;off for faster printing -Oracle Open Office Calc : transparency;saving -Oracle Open Office Calc : TRANSPOSE function -Oracle Open Office Calc : transposing tables -Oracle Open Office Calc : treasury bills -Oracle Open Office Calc : treasury bills;annual return -Oracle Open Office Calc : treasury bills;prices -Oracle Open Office Calc : treasury bills;rates of return -Oracle Open Office Calc : tree view of Help -Oracle Open Office Calc : TREND function -Oracle Open Office Calc : trend lines in charts -Oracle Open Office Calc : trigonometric functions -Oracle Open Office Calc : TRIM function -Oracle Open Office Calc : TRIMMEAN function -Oracle Open Office Calc : TRUE function -Oracle Open Office Calc : TRUNC function -Oracle Open Office Calc : TTEST function -Oracle Open Office Calc : TYPE function -Oracle Open Office Calc : typefaces -Oracle Open Office Calc : typefaces;adding under UNIX -Oracle Open Office Calc : typefaces;formats -Oracle Open Office Calc : typographical quotes in Oracle Open Office Writer -Oracle Open Office Calc : typography -Oracle Open Office Calc : typography;Asian -Oracle Open Office Calc : underlining -Oracle Open Office Calc : underlining;AutoFormat function -Oracle Open Office Calc : underlining;characters -Oracle Open Office Calc : underlining;text -Oracle Open Office Calc : undocking windows -Oracle Open Office Calc : undoing -Oracle Open Office Calc : undoing;direct formatting -Oracle Open Office Calc : undoing;editing -Oracle Open Office Calc : undoing;number of steps -Oracle Open Office Calc : ungrouping entries in DataPilot tables -Oracle Open Office Calc : ungrouping groups -Oracle Open Office Calc : UNICHAR function -Oracle Open Office Calc : UNICODE function -Oracle Open Office Calc : units -Oracle Open Office Calc : units;converting -Oracle Open Office Calc : units;measurement units -Oracle Open Office Calc : unmerging cells -Oracle Open Office Calc : UNO components -Oracle Open Office Calc : UNO components;Extension Manager -Oracle Open Office Calc : UNO components;integrating new -Oracle Open Office Calc : unprotecting cells -Oracle Open Office Calc : update options -Oracle Open Office Calc : updates -Oracle Open Office Calc : updates;checking automatically -Oracle Open Office Calc : updates;checking manually -Oracle Open Office Calc : updating -Oracle Open Office Calc : updating;DataPilot tables -Oracle Open Office Calc : updating;fields and charts, automatically (Writer) -Oracle Open Office Calc : updating;links in text documents -Oracle Open Office Calc : updating;links, on opening -Oracle Open Office Calc : updating;templates -Oracle Open Office Calc : updating;traces -Oracle Open Office Calc : UPPER function -Oracle Open Office Calc : URL -Oracle Open Office Calc : URL;changing hyperlink URLs -Oracle Open Office Calc : URL;definition -Oracle Open Office Calc : URL;in Calc -Oracle Open Office Calc : URL;in pictures -Oracle Open Office Calc : URL;saving absolute/relative paths -Oracle Open Office Calc : URL;turning off URL recognition -Oracle Open Office Calc : user data -Oracle Open Office Calc : user data;input -Oracle Open Office Calc : user data;removing when saving -Oracle Open Office Calc : user feedback -Oracle Open Office Calc : user feedback;automatically -Oracle Open Office Calc : user-defined dictionaries -Oracle Open Office Calc : user-defined dictionaries;creating -Oracle Open Office Calc : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Calc : user-defined dictionaries;editing -Oracle Open Office Calc : user-defined functions -Oracle Open Office Calc : user-defined styles -Oracle Open Office Calc : user-defined styles;automatically replacing -Oracle Open Office Calc : UTF-8/UCS2 support -Oracle Open Office Calc : validity -Oracle Open Office Calc : VALUE function -Oracle Open Office Calc : values -Oracle Open Office Calc : values;absolute -Oracle Open Office Calc : values;defining names -Oracle Open Office Calc : values;displaying in tables -Oracle Open Office Calc : values;highlighting -Oracle Open Office Calc : values;inserting in multiple cells -Oracle Open Office Calc : values;limiting on input -Oracle Open Office Calc : values;rounded as shown (Calc) -Oracle Open Office Calc : values;rounded in calculations -Oracle Open Office Calc : VAR function -Oracle Open Office Calc : VARA function -Oracle Open Office Calc : variables -Oracle Open Office Calc : variables;calculating equations -Oracle Open Office Calc : variables;defining names -Oracle Open Office Calc : variables;for paths -Oracle Open Office Calc : variances -Oracle Open Office Calc : variances;based on populations -Oracle Open Office Calc : variances;based on samples -Oracle Open Office Calc : variances -Oracle Open Office Calc : variances in charts -Oracle Open Office Calc : VARP function -Oracle Open Office Calc : VARPA function -Oracle Open Office Calc : VBA code -Oracle Open Office Calc : VBA code;loading/saving documents with VBA code -Oracle Open Office Calc : VDB function -Oracle Open Office Calc : version management -Oracle Open Office Calc : version numbers of documents -Oracle Open Office Calc : versions -Oracle Open Office Calc : versions;comparing documents -Oracle Open Office Calc : versions;file saving as, restriction -Oracle Open Office Calc : versions;merging document versions -Oracle Open Office Calc : versions;of a document -Oracle Open Office Calc : versions;Oracle Open Office -Oracle Open Office Calc : vertical callouts -Oracle Open Office Calc : vertical scrollbars (Writer) -Oracle Open Office Calc : vertical search function -Oracle Open Office Calc : vertical text boxes -Oracle Open Office Calc : videos -Oracle Open Office Calc : viewing -Oracle Open Office Calc : viewing;comments on cells -Oracle Open Office Calc : viewing;databases -Oracle Open Office Calc : viewing;file properties -Oracle Open Office Calc : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Calc : viewing;print ranges -Oracle Open Office Calc : viewing;toolbars -Oracle Open Office Calc : views -Oracle Open Office Calc : views;creating database views (Base) -Oracle Open Office Calc : views;defaults -Oracle Open Office Calc : views;full screen -Oracle Open Office Calc : views;icons -Oracle Open Office Calc : views;multiple sheets -Oracle Open Office Calc : views;scaling -Oracle Open Office Calc : views;tables -Oracle Open Office Calc : Visual Basic for Applications -Oracle Open Office Calc : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Calc : VLOOKUP function -Oracle Open Office Calc : watermarks -Oracle Open Office Calc : web documents -Oracle Open Office Calc : web documents;XForms -Oracle Open Office Calc : web pages -Oracle Open Office Calc : web pages;importing data -Oracle Open Office Calc : Web support -Oracle Open Office Calc : WebCast export -Oracle Open Office Calc : WebDAV over HTTPS -Oracle Open Office Calc : WebQuery filter -Oracle Open Office Calc : WEEKDAY function -Oracle Open Office Calc : WEEKNUM function -Oracle Open Office Calc : WEEKNUM_ADD function -Oracle Open Office Calc : WEEKS function -Oracle Open Office Calc : WEEKSINYEAR function -Oracle Open Office Calc : WEIBULL function -Oracle Open Office Calc : what if operations -Oracle Open Office Calc : what if operations;solver -Oracle Open Office Calc : what if operations;two variables -Oracle Open Office Calc : widths of cells -Oracle Open Office Calc : windows -Oracle Open Office Calc : windows;docking -Oracle Open Office Calc : windows;docking definition -Oracle Open Office Calc : windows;hiding/showing/docking -Oracle Open Office Calc : windows;new -Oracle Open Office Calc : windows;splitting -Oracle Open Office Calc : wizards -Oracle Open Office Calc : wizards;agendas -Oracle Open Office Calc : wizards;database queries -Oracle Open Office Calc : wizards;database tables (Base) -Oracle Open Office Calc : wizards;databases (Base) -Oracle Open Office Calc : wizards;document converter -Oracle Open Office Calc : wizards;Euro Converter -Oracle Open Office Calc : wizards;faxes -Oracle Open Office Calc : wizards;forms -Oracle Open Office Calc : wizards;functions -Oracle Open Office Calc : wizards;letters -Oracle Open Office Calc : wizards;macros (Base) -Oracle Open Office Calc : wizards;overview -Oracle Open Office Calc : wizards;presentations -Oracle Open Office Calc : wizards;reports -Oracle Open Office Calc : word completion on/off -Oracle Open Office Calc : Word documents -Oracle Open Office Calc : Word documents;compatibility -Oracle Open Office Calc : Word documents;saving as -Oracle Open Office Calc : WordArt, see Fontwork -Oracle Open Office Calc : words -Oracle Open Office Calc : words;automatically replacing -Oracle Open Office Calc : words;wrapping in cells -Oracle Open Office Calc : words;wrapping in CTL -Oracle Open Office Calc : WORKDAY function -Oracle Open Office Calc : working directory change -Oracle Open Office Calc : worksheet names -Oracle Open Office Calc : wrapping text -Oracle Open Office Calc : wrapping text;in cells -Oracle Open Office Calc : write protection on/off -Oracle Open Office Calc : writing aids options -Oracle Open Office Calc : WYSIWYG in fonts lists -Oracle Open Office Calc : X axes -Oracle Open Office Calc : X axes;grid formatting -Oracle Open Office Calc : X axes;positioning -Oracle Open Office Calc : X axes;scaling -Oracle Open Office Calc : X axes;showing -Oracle Open Office Calc : XForms -Oracle Open Office Calc : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Calc : XForms;conditions -Oracle Open Office Calc : XForms;opening/editing -Oracle Open Office Calc : XIRR function -Oracle Open Office Calc : XML converters -Oracle Open Office Calc : XML file formats -Oracle Open Office Calc : XML filters -Oracle Open Office Calc : XML filters;creating/testing -Oracle Open Office Calc : XML filters;saving as package/installing/deleting -Oracle Open Office Calc : XML filters;settings -Oracle Open Office Calc : XML Forms, see XForms -Oracle Open Office Calc : XNPV function -Oracle Open Office Calc : XSLT filters, see also XML filters -Oracle Open Office Calc : XY charts -Oracle Open Office Calc : Y axes -Oracle Open Office Calc : Y axes;formatting -Oracle Open Office Calc : Y axes;grid formatting -Oracle Open Office Calc : Y axes;positioning -Oracle Open Office Calc : Y axes;scaling -Oracle Open Office Calc : Y axes;showing -Oracle Open Office Calc : YEAR function -Oracle Open Office Calc : YEARFRAC function -Oracle Open Office Calc : years -Oracle Open Office Calc : years;2-digit options -Oracle Open Office Calc : years;2-digits -Oracle Open Office Calc : YEARS function -Oracle Open Office Calc : YIELD function -Oracle Open Office Calc : YIELDDISC function -Oracle Open Office Calc : YIELDMAT function -Oracle Open Office Calc : yields, see also rates of return -Oracle Open Office Calc : Z axes -Oracle Open Office Calc : Z axes;grid formatting -Oracle Open Office Calc : Z axes;showing -Oracle Open Office Calc : zero values -Oracle Open Office Calc : zero values;displaying (Calc) -Oracle Open Office Calc : zero values;entering leading zeros -Oracle Open Office Calc : zero values;printing -Oracle Open Office Calc : zooming -Oracle Open Office Calc : zooming;enlarging page views -Oracle Open Office Calc : zooming;page views -Oracle Open Office Calc : zooming;pictures -Oracle Open Office Calc : zooming;reducing page views -Oracle Open Office Calc : zooming;status bar -Oracle Open Office Calc : ZTEST function -Oracle Open Office Chart : 1/2 replacement -Oracle Open Office Chart : 3D charts -Oracle Open Office Chart : 3D text creation -Oracle Open Office Chart : abbreviation replacement -Oracle Open Office Chart : absolute hyperlinks -Oracle Open Office Chart : absolute saving of URLs -Oracle Open Office Chart : accents -Oracle Open Office Chart : Access databases (base) -Oracle Open Office Chart : access rights for database tables (Base) -Oracle Open Office Chart : accessibility -Oracle Open Office Chart : accessibility;general shortcuts -Oracle Open Office Chart : accessibility;options -Oracle Open Office Chart : accessibility;Oracle Open Office assistive technology -Oracle Open Office Chart : accessibility;Oracle Open Office features -Oracle Open Office Chart : activating -Oracle Open Office Chart : activating;context menus -Oracle Open Office Chart : activating;Error Report Tool -Oracle Open Office Chart : activating;extended help tips -Oracle Open Office Chart : activating;plug-ins -Oracle Open Office Chart : ActiveX control -Oracle Open Office Chart : Adabas D databases (base) -Oracle Open Office Chart : add-ons, see UNO components -Oracle Open Office Chart : additional selection mode -Oracle Open Office Chart : address books -Oracle Open Office Chart : address books;LDAP server (Base) -Oracle Open Office Chart : address books;registering -Oracle Open Office Chart : address labels from databases -Oracle Open Office Chart : ADO databases (Base) -Oracle Open Office Chart : Agenda Wizard -Oracle Open Office Chart : aging filter -Oracle Open Office Chart : aligning -Oracle Open Office Chart : aligning;2D charts -Oracle Open Office Chart : aligning;cells -Oracle Open Office Chart : aligning;objects -Oracle Open Office Chart : aligning;paragraphs -Oracle Open Office Chart : aligning;tables in text -Oracle Open Office Chart : aligning;text objects -Oracle Open Office Chart : aligning;titles in charts -Oracle Open Office Chart : alternative fonts -Oracle Open Office Chart : ampersand symbol, see also operators -Oracle Open Office Chart : anchors -Oracle Open Office Chart : anchors;changing -Oracle Open Office Chart : anchors;displaying (Calc) -Oracle Open Office Chart : anchors;types/positions for draw objects -Oracle Open Office Chart : animations -Oracle Open Office Chart : animations;accessibility options -Oracle Open Office Chart : appearance options -Oracle Open Office Chart : Arabic -Oracle Open Office Chart : Arabic;entering text -Oracle Open Office Chart : Arabic;language settings -Oracle Open Office Chart : area charts -Oracle Open Office Chart : areas -Oracle Open Office Chart : areas;bitmap patterns -Oracle Open Office Chart : areas;hatched/dotted -Oracle Open Office Chart : areas;shadows -Oracle Open Office Chart : areas;slanting -Oracle Open Office Chart : areas;styles -Oracle Open Office Chart : areas;transparency -Oracle Open Office Chart : arguments in command line -Oracle Open Office Chart : arranging -Oracle Open Office Chart : arranging;objects -Oracle Open Office Chart : arrows -Oracle Open Office Chart : arrows;defining arrow heads -Oracle Open Office Chart : arrows;defining arrow lines -Oracle Open Office Chart : arrows;drawing in text -Oracle Open Office Chart : ASCII -Oracle Open Office Chart : ASCII;definition -Oracle Open Office Chart : Asian languages -Oracle Open Office Chart : Asian languages;enabling -Oracle Open Office Chart : Asian Phonetic Guide -Oracle Open Office Chart : Asian typography -Oracle Open Office Chart : assigning scripts -Oracle Open Office Chart : assistive technology in Oracle Open Office -Oracle Open Office Chart : attaching toolbars -Oracle Open Office Chart : attachments in e-mails -Oracle Open Office Chart : audio -Oracle Open Office Chart : auto reloading HTML documents -Oracle Open Office Chart : AutoAbstract function for sending text to presentations -Oracle Open Office Chart : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Chart : AutoComplete function in text and list boxes -Oracle Open Office Chart : AutoCorrect function -Oracle Open Office Chart : AutoCorrect function;context menu -Oracle Open Office Chart : AutoCorrect function;options -Oracle Open Office Chart : AutoCorrect function;pictures and frames -Oracle Open Office Chart : AutoCorrect function;quotes -Oracle Open Office Chart : AutoCorrect function;replacement table -Oracle Open Office Chart : AutoCorrect function;switching on and off in Calc -Oracle Open Office Chart : AutoCorrect function;URL recognition -Oracle Open Office Chart : AutoFormat function -Oracle Open Office Chart : AutoFormat function;switching on and off -Oracle Open Office Chart : automatic captions (Writer) -Oracle Open Office Chart : automatic control focus -Oracle Open Office Chart : automatic hyperlink formatting -Oracle Open Office Chart : automatic line breaks -Oracle Open Office Chart : automatic lines/borders in text -Oracle Open Office Chart : automatic saving -Oracle Open Office Chart : AutoPilots, see wizards -Oracle Open Office Chart : AutoValue (Base) -Oracle Open Office Chart : averages in charts -Oracle Open Office Chart : axes -Oracle Open Office Chart : axes;better scaling -Oracle Open Office Chart : axes;formatting -Oracle Open Office Chart : axes;formatting grids -Oracle Open Office Chart : axes;inserting grids -Oracle Open Office Chart : axes;interval marks -Oracle Open Office Chart : axes;showing axes in charts -Oracle Open Office Chart : axes in charts -Oracle Open Office Chart : backgrounds -Oracle Open Office Chart : backgrounds;defining colors/pictures -Oracle Open Office Chart : backgrounds;frames/sections/indexes -Oracle Open Office Chart : backgrounds;inserting from Gallery -Oracle Open Office Chart : backgrounds;printing -Oracle Open Office Chart : backing window -Oracle Open Office Chart : backups -Oracle Open Office Chart : backups;automatic -Oracle Open Office Chart : backups;documents -Oracle Open Office Chart : bar charts -Oracle Open Office Chart : Basic -Oracle Open Office Chart : Basic;fonts for source display -Oracle Open Office Chart : Basic;programming -Oracle Open Office Chart : Basic;recording macros -Oracle Open Office Chart : basic fonts -Oracle Open Office Chart : Bézier curves -Oracle Open Office Chart : Bézier curves;control points in presentations -Oracle Open Office Chart : bi-directional writing -Oracle Open Office Chart : binding space -Oracle Open Office Chart : bitmaps -Oracle Open Office Chart : bitmaps;inserting and editing -Oracle Open Office Chart : bitmaps;off for faster printing -Oracle Open Office Chart : bitmaps;patterns -Oracle Open Office Chart : black and white printing -Oracle Open Office Chart : black printing in Calc -Oracle Open Office Chart : block selection mode -Oracle Open Office Chart : bold -Oracle Open Office Chart : bold;AutoFormat function -Oracle Open Office Chart : bold;text -Oracle Open Office Chart : bookmarks -Oracle Open Office Chart : bookmarks;Help -Oracle Open Office Chart : borders -Oracle Open Office Chart : borders;arranging -Oracle Open Office Chart : borders;cells on screen (Calc) -Oracle Open Office Chart : borders;for paragraphs -Oracle Open Office Chart : borders;for tables -Oracle Open Office Chart : borders;shadows -Oracle Open Office Chart : borders;table boundaries (Writer) -Oracle Open Office Chart : borders, see also frames -Oracle Open Office Chart : bound fields -Oracle Open Office Chart : bound fields;controls -Oracle Open Office Chart : boundaries of tables (Writer) -Oracle Open Office Chart : break display (Writer) -Oracle Open Office Chart : brochures -Oracle Open Office Chart : brochures;printing several -Oracle Open Office Chart : bubble charts -Oracle Open Office Chart : build numbers of Oracle Open Office -Oracle Open Office Chart : bullet lists -Oracle Open Office Chart : bullet lists;formatting options -Oracle Open Office Chart : bullets -Oracle Open Office Chart : bullets;paragraphs -Oracle Open Office Chart : bullets;replacing -Oracle Open Office Chart : bullets;turning off -Oracle Open Office Chart : business cards -Oracle Open Office Chart : business cards;creating and synchronizing -Oracle Open Office Chart : business cards;using templates -Oracle Open Office Chart : button bars, see toolbars -Oracle Open Office Chart : buttons -Oracle Open Office Chart : buttons;adding push buttons -Oracle Open Office Chart : buttons;big/small -Oracle Open Office Chart : buttons;editing hyperlink buttons -Oracle Open Office Chart : buttons;form functions -Oracle Open Office Chart : buttons;toolbars -Oracle Open Office Chart : cache for graphics -Oracle Open Office Chart : calculating -Oracle Open Office Chart : calculating;iterative references (Calc) -Oracle Open Office Chart : calculating;regression curves -Oracle Open Office Chart : callouts -Oracle Open Office Chart : callouts;drawings -Oracle Open Office Chart : capital letters -Oracle Open Office Chart : capital letters;AutoCorrect function -Oracle Open Office Chart : capital letters;font effects -Oracle Open Office Chart : captions -Oracle Open Office Chart : captions;automatic captions (Writer) -Oracle Open Office Chart : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Chart : captions, see also labels/callouts -Oracle Open Office Chart : cascading update (Base) -Oracle Open Office Chart : case sensitivity -Oracle Open Office Chart : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Chart : case sensitivity;searching -Oracle Open Office Chart : cells -Oracle Open Office Chart : cells;aligning -Oracle Open Office Chart : cells;coloring (Calc) -Oracle Open Office Chart : cells;cursor positions after input (Calc) -Oracle Open Office Chart : cells;formatting without effect (Calc) -Oracle Open Office Chart : cells;line breaks -Oracle Open Office Chart : cells;linked to controls -Oracle Open Office Chart : cells;number of -Oracle Open Office Chart : cells;pasting -Oracle Open Office Chart : cells;resetting formats -Oracle Open Office Chart : cells;showing grid lines (Calc) -Oracle Open Office Chart : centered text -Oracle Open Office Chart : centimeters -Oracle Open Office Chart : certificates -Oracle Open Office Chart : changes -Oracle Open Office Chart : changes;accepting or rejecting -Oracle Open Office Chart : changes;comparing to original -Oracle Open Office Chart : changes;protecting -Oracle Open Office Chart : changes;recording -Oracle Open Office Chart : changes;review function -Oracle Open Office Chart : changes;showing -Oracle Open Office Chart : changing -Oracle Open Office Chart : changing;document titles -Oracle Open Office Chart : changing;file associations in Setup program -Oracle Open Office Chart : changing;icon sizes -Oracle Open Office Chart : changing;links -Oracle Open Office Chart : changing;work directory -Oracle Open Office Chart : changing, see also editing and replacing -Oracle Open Office Chart : character styles -Oracle Open Office Chart : character styles;language selection -Oracle Open Office Chart : characters -Oracle Open Office Chart : characters;alternative fonts -Oracle Open Office Chart : characters;Asian layout -Oracle Open Office Chart : characters;bold -Oracle Open Office Chart : characters;coloring -Oracle Open Office Chart : characters;displaying only on screen (Writer) -Oracle Open Office Chart : characters;enabling CTL and Asian characters -Oracle Open Office Chart : characters;font effects -Oracle Open Office Chart : characters;fonts and formats -Oracle Open Office Chart : characters;hyperlinks -Oracle Open Office Chart : characters;italics -Oracle Open Office Chart : characters;language selection -Oracle Open Office Chart : characters;shadowed -Oracle Open Office Chart : characters;spacing -Oracle Open Office Chart : characters;special -Oracle Open Office Chart : characters;underlining -Oracle Open Office Chart : charcoal sketches filter -Oracle Open Office Chart : chart legends -Oracle Open Office Chart : chart legends;hiding -Oracle Open Office Chart : chart legends;showing icons with labels -Oracle Open Office Chart : chart types -Oracle Open Office Chart : chart types;area -Oracle Open Office Chart : chart types;bubble -Oracle Open Office Chart : chart types;column and bar -Oracle Open Office Chart : chart types;column and line -Oracle Open Office Chart : chart types;line -Oracle Open Office Chart : chart types;net -Oracle Open Office Chart : chart types;pie/donut -Oracle Open Office Chart : chart types;stock -Oracle Open Office Chart : chart types;XY (scatter) -Oracle Open Office Chart : charts -Oracle Open Office Chart : charts;3D views -Oracle Open Office Chart : charts;aligning -Oracle Open Office Chart : charts;arranging within stacks -Oracle Open Office Chart : charts;bars with textures -Oracle Open Office Chart : charts;choosing chart types -Oracle Open Office Chart : charts;colors -Oracle Open Office Chart : charts;copying with link to source cell range -Oracle Open Office Chart : charts;data labels -Oracle Open Office Chart : charts;displaying (Calc) -Oracle Open Office Chart : charts;editing axes -Oracle Open Office Chart : charts;editing data -Oracle Open Office Chart : charts;editing legends -Oracle Open Office Chart : charts;editing titles -Oracle Open Office Chart : charts;formatting areas -Oracle Open Office Chart : charts;formatting floors -Oracle Open Office Chart : charts;formatting walls -Oracle Open Office Chart : charts;inserting -Oracle Open Office Chart : charts;overview -Oracle Open Office Chart : charts;positioning axes -Oracle Open Office Chart : charts;properties -Oracle Open Office Chart : charts;reorganizing -Oracle Open Office Chart : charts;scaling axes -Oracle Open Office Chart : charts;scaling text -Oracle Open Office Chart : charts;shortcuts -Oracle Open Office Chart : charts;showing axes -Oracle Open Office Chart : charts;updating automatically (Writer) -Oracle Open Office Chart : check box creation -Oracle Open Office Chart : Chinese writing systems -Oracle Open Office Chart : choosing printers -Oracle Open Office Chart : circle drawings -Oracle Open Office Chart : Client Side ImageMap -Oracle Open Office Chart : clipboard -Oracle Open Office Chart : clipboard;cutting -Oracle Open Office Chart : clipboard;pasting -Oracle Open Office Chart : clipboard;pasting formatted/unformatted text -Oracle Open Office Chart : clipboard;selection clipboard -Oracle Open Office Chart : clipboard;Unix -Oracle Open Office Chart : closing -Oracle Open Office Chart : closing;documents -Oracle Open Office Chart : closing;toolbars -Oracle Open Office Chart : collaboration -Oracle Open Office Chart : color bar -Oracle Open Office Chart : colors -Oracle Open Office Chart : colors;adding -Oracle Open Office Chart : colors;appearance -Oracle Open Office Chart : colors;backgrounds -Oracle Open Office Chart : colors;charts -Oracle Open Office Chart : colors;fill format -Oracle Open Office Chart : colors;fonts -Oracle Open Office Chart : colors;grid lines and cells (Calc) -Oracle Open Office Chart : colors;models -Oracle Open Office Chart : colors;not printing -Oracle Open Office Chart : colors;printing in grayscale -Oracle Open Office Chart : colors;restriction (Calc) -Oracle Open Office Chart : colors;selection -Oracle Open Office Chart : column and line charts -Oracle Open Office Chart : column charts -Oracle Open Office Chart : column headers -Oracle Open Office Chart : column headers;displaying (Calc) -Oracle Open Office Chart : column headers;highlighting (Calc) -Oracle Open Office Chart : columns -Oracle Open Office Chart : columns;setting with the mouse -Oracle Open Office Chart : combination charts -Oracle Open Office Chart : combo box creation -Oracle Open Office Chart : command button creation -Oracle Open Office Chart : command buttons, see push buttons -Oracle Open Office Chart : command line parameters -Oracle Open Office Chart : commands -Oracle Open Office Chart : commands;repeating -Oracle Open Office Chart : commands;SQL -Oracle Open Office Chart : comments -Oracle Open Office Chart : comments;displaying (Calc) -Oracle Open Office Chart : comments;inserting/editing/deleting/printing -Oracle Open Office Chart : comments;on changes -Oracle Open Office Chart : comments;printing in text -Oracle Open Office Chart : common terms -Oracle Open Office Chart : common terms;Chinese dictionary -Oracle Open Office Chart : common terms;glossaries -Oracle Open Office Chart : common terms;Internet glossary -Oracle Open Office Chart : comparisons -Oracle Open Office Chart : comparisons;document versions -Oracle Open Office Chart : comparisons;operators in default filter dialog -Oracle Open Office Chart : compatibility settings for MS Word import -Oracle Open Office Chart : complete screen view -Oracle Open Office Chart : complex text layout -Oracle Open Office Chart : complex text layout;definition -Oracle Open Office Chart : complex text layout;enabling -Oracle Open Office Chart : complex text layout, see CTL -Oracle Open Office Chart : compose key to insert special characters -Oracle Open Office Chart : concatenation, see ampersand symbol -Oracle Open Office Chart : conditional separators -Oracle Open Office Chart : conditions -Oracle Open Office Chart : conditions;in number formats -Oracle Open Office Chart : conditions;items in Data Navigator -Oracle Open Office Chart : Configuration Manager -Oracle Open Office Chart : configuring -Oracle Open Office Chart : configuring;fax icon -Oracle Open Office Chart : configuring;Oracle Open Office -Oracle Open Office Chart : configuring;toolbars -Oracle Open Office Chart : connections to data sources (Base) -Oracle Open Office Chart : contents protection -Oracle Open Office Chart : context menus -Oracle Open Office Chart : control point display in presentations -Oracle Open Office Chart : controls -Oracle Open Office Chart : controls;activating in forms -Oracle Open Office Chart : controls;adding to documents -Oracle Open Office Chart : controls;arranging in forms -Oracle Open Office Chart : controls;arranging within stacks -Oracle Open Office Chart : controls;assigning data sources -Oracle Open Office Chart : controls;assigning macros (Basic) -Oracle Open Office Chart : controls;bound fields/list contents/linked cells -Oracle Open Office Chart : controls;events -Oracle Open Office Chart : controls;focus -Oracle Open Office Chart : controls;formatted fields -Oracle Open Office Chart : controls;grouping -Oracle Open Office Chart : controls;hidden -Oracle Open Office Chart : controls;inserting -Oracle Open Office Chart : controls;multi-line titles -Oracle Open Office Chart : controls;positions and sizes -Oracle Open Office Chart : controls;printing -Oracle Open Office Chart : controls;properties of form controls -Oracle Open Office Chart : controls;properties of table controls -Oracle Open Office Chart : controls;reference by SQL -Oracle Open Office Chart : controls;rich text control -Oracle Open Office Chart : controls;select mode -Oracle Open Office Chart : controls;showing (Writer) -Oracle Open Office Chart : converters -Oracle Open Office Chart : converters;Euro converter -Oracle Open Office Chart : converters;PostScript, UNIX -Oracle Open Office Chart : converters;XML -Oracle Open Office Chart : converting -Oracle Open Office Chart : converting;Hangul/Hanja -Oracle Open Office Chart : converting;metrics -Oracle Open Office Chart : converting;Microsoft documents -Oracle Open Office Chart : converting;Oracle Open Office documents -Oracle Open Office Chart : converting;Pocket PC formats -Oracle Open Office Chart : copies -Oracle Open Office Chart : copies;printing -Oracle Open Office Chart : copying -Oracle Open Office Chart : copying;by drag and drop -Oracle Open Office Chart : copying;data from text documents -Oracle Open Office Chart : copying;datasource records in spreadsheets -Oracle Open Office Chart : copying;draw objects -Oracle Open Office Chart : copying;draw objects between documents -Oracle Open Office Chart : copying;formatting -Oracle Open Office Chart : copying;from data source view -Oracle Open Office Chart : copying;from Gallery -Oracle Open Office Chart : copying;in Unix -Oracle Open Office Chart : copying;pictures, between documents -Oracle Open Office Chart : copying;sheet areas, to text documents -Oracle Open Office Chart : copying;to Gallery -Oracle Open Office Chart : copyright for Oracle Open Office -Oracle Open Office Chart : corner roundings -Oracle Open Office Chart : crash reports -Oracle Open Office Chart : criteria of query design (Base) -Oracle Open Office Chart : cropping pictures -Oracle Open Office Chart : CTL -Oracle Open Office Chart : CTL;(not) wrapping words -Oracle Open Office Chart : CTL;complex text layout languages -Oracle Open Office Chart : CTL;definition -Oracle Open Office Chart : CTL;options -Oracle Open Office Chart : currencies -Oracle Open Office Chart : currencies;converters -Oracle Open Office Chart : currencies;format codes -Oracle Open Office Chart : currency field creation -Oracle Open Office Chart : currency formats -Oracle Open Office Chart : cursor -Oracle Open Office Chart : cursor;allowing in protected areas (Writer) -Oracle Open Office Chart : cursor;in read-only text -Oracle Open Office Chart : cursor;quickly moving to an object -Oracle Open Office Chart : curves -Oracle Open Office Chart : curves;editing points -Oracle Open Office Chart : curves;properties in line charts/XY charts -Oracle Open Office Chart : custom dictionaries -Oracle Open Office Chart : custom dictionaries;editing -Oracle Open Office Chart : custom hyphens (Writer) -Oracle Open Office Chart : custom quotes -Oracle Open Office Chart : custom templates -Oracle Open Office Chart : customizing -Oracle Open Office Chart : customizing;events -Oracle Open Office Chart : customizing;keyboard -Oracle Open Office Chart : customizing;menus -Oracle Open Office Chart : customizing;Oracle Open Office -Oracle Open Office Chart : customizing;round corners -Oracle Open Office Chart : customizing;toolbars -Oracle Open Office Chart : cutting -Oracle Open Office Chart : dashes -Oracle Open Office Chart : data -Oracle Open Office Chart : data;filtering in forms -Oracle Open Office Chart : data;forms and subforms -Oracle Open Office Chart : data;read-only -Oracle Open Office Chart : data;sorting in forms -Oracle Open Office Chart : data;user data -Oracle Open Office Chart : data binding change in XForms -Oracle Open Office Chart : data labels in charts -Oracle Open Office Chart : Data Navigator -Oracle Open Office Chart : Data Navigator;adding/editing items -Oracle Open Office Chart : Data Navigator;display options -Oracle Open Office Chart : data ranges in charts -Oracle Open Office Chart : data series -Oracle Open Office Chart : data source browser -Oracle Open Office Chart : data source explorer -Oracle Open Office Chart : data source view -Oracle Open Office Chart : data source view;drag and drop -Oracle Open Office Chart : data source view;overview -Oracle Open Office Chart : data source view;showing -Oracle Open Office Chart : data sources -Oracle Open Office Chart : data sources;as tables -Oracle Open Office Chart : data sources;connection settings (Base) -Oracle Open Office Chart : data sources;copying records to spreadsheets -Oracle Open Office Chart : data sources;displaying current -Oracle Open Office Chart : data sources;LDAP server (Base) -Oracle Open Office Chart : data sources;Oracle Open Office Base -Oracle Open Office Chart : data sources;registering address books -Oracle Open Office Chart : data sources;reports -Oracle Open Office Chart : data sources;setting for stock charts -Oracle Open Office Chart : data sources;viewing -Oracle Open Office Chart : data structure of XForms -Oracle Open Office Chart : data values in charts -Oracle Open Office Chart : data, see also values -Oracle Open Office Chart : database contents -Oracle Open Office Chart : database contents;inserting as tables -Oracle Open Office Chart : database contents;inserting as text -Oracle Open Office Chart : database reports -Oracle Open Office Chart : Database Wizard (Base) -Oracle Open Office Chart : databases -Oracle Open Office Chart : databases;administration through SQL (Base) -Oracle Open Office Chart : databases;ADO (Base) -Oracle Open Office Chart : databases;connecting (Base) -Oracle Open Office Chart : databases;creating -Oracle Open Office Chart : databases;creating labels -Oracle Open Office Chart : databases;creating queries -Oracle Open Office Chart : databases;creating reports -Oracle Open Office Chart : databases;creating tables -Oracle Open Office Chart : databases;deleting (Base) -Oracle Open Office Chart : databases;drag and drop (Base) -Oracle Open Office Chart : databases;editing tables -Oracle Open Office Chart : databases;form filters -Oracle Open Office Chart : databases;formats (Base) -Oracle Open Office Chart : databases;importing/exporting -Oracle Open Office Chart : databases;JDBC (Base) -Oracle Open Office Chart : databases;main page (Base) -Oracle Open Office Chart : databases;ODBC (Base) -Oracle Open Office Chart : databases;overview -Oracle Open Office Chart : databases;registering (Base) -Oracle Open Office Chart : databases;searching records -Oracle Open Office Chart : databases;shortcut keys -Oracle Open Office Chart : databases;sorting -Oracle Open Office Chart : databases;standard filters -Oracle Open Office Chart : databases;text formats -Oracle Open Office Chart : databases;viewing -Oracle Open Office Chart : date fields -Oracle Open Office Chart : date fields;creating -Oracle Open Office Chart : date fields;properties -Oracle Open Office Chart : date formats -Oracle Open Office Chart : dates -Oracle Open Office Chart : dates;default (Calc) -Oracle Open Office Chart : dates;printing in presentations -Oracle Open Office Chart : dates;start 1900/01/01 (Calc) -Oracle Open Office Chart : dates;start 1904/01/01 (Calc) -Oracle Open Office Chart : dBASE -Oracle Open Office Chart : dBASE;database settings (Base) -Oracle Open Office Chart : DDE -Oracle Open Office Chart : DDE;definition -Oracle Open Office Chart : deactivating -Oracle Open Office Chart : deactivating;plug-ins -Oracle Open Office Chart : decimal places displayed (Calc) -Oracle Open Office Chart : decimal separator key -Oracle Open Office Chart : decimal tab stops -Oracle Open Office Chart : default directories -Oracle Open Office Chart : default filters -Oracle Open Office Chart : default filters;comparison operators -Oracle Open Office Chart : default filters;databases -Oracle Open Office Chart : default printer -Oracle Open Office Chart : default printer;setting up -Oracle Open Office Chart : default printer;UNIX -Oracle Open Office Chart : default templates -Oracle Open Office Chart : default templates;changing -Oracle Open Office Chart : default templates;organizing -Oracle Open Office Chart : defaults -Oracle Open Office Chart : defaults;documents -Oracle Open Office Chart : defaults;file formats in file dialogs -Oracle Open Office Chart : defaults;file formats in Oracle Open Office -Oracle Open Office Chart : defaults;fonts -Oracle Open Office Chart : defaults;grids (Writer/Calc) -Oracle Open Office Chart : defaults;languages -Oracle Open Office Chart : defaults;number formats -Oracle Open Office Chart : defaults;of saving -Oracle Open Office Chart : defaults;program configuration -Oracle Open Office Chart : defaults;tab stops in text -Oracle Open Office Chart : defaults;views -Oracle Open Office Chart : defining -Oracle Open Office Chart : defining;arrowheads and other line ends -Oracle Open Office Chart : defining;colors -Oracle Open Office Chart : defining;line styles -Oracle Open Office Chart : defining;paragraph borders -Oracle Open Office Chart : defining;queries (Base) -Oracle Open Office Chart : defining;table borders -Oracle Open Office Chart : deleting -Oracle Open Office Chart : deleting;all direct formatting -Oracle Open Office Chart : deleting;comments -Oracle Open Office Chart : deleting;databases (Base) -Oracle Open Office Chart : deleting;hyperlinks -Oracle Open Office Chart : deleting;lines in text -Oracle Open Office Chart : deleting;models/instances -Oracle Open Office Chart : deleting;namespaces in XForms -Oracle Open Office Chart : deleting;tab stops -Oracle Open Office Chart : deleting;templates -Oracle Open Office Chart : deleting;XML filters -Oracle Open Office Chart : depth stagger -Oracle Open Office Chart : descriptions for objects -Oracle Open Office Chart : design mode after saving -Oracle Open Office Chart : design view -Oracle Open Office Chart : design view;creating forms -Oracle Open Office Chart : design view;queries/views (Base) -Oracle Open Office Chart : designing -Oracle Open Office Chart : designing;database tables -Oracle Open Office Chart : designing;fonts -Oracle Open Office Chart : designing;queries (Base) -Oracle Open Office Chart : detaching toolbars -Oracle Open Office Chart : dictionaries -Oracle Open Office Chart : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Chart : dictionaries;creating -Oracle Open Office Chart : dictionaries;editing user-defined -Oracle Open Office Chart : dictionaries;spellcheck -Oracle Open Office Chart : dictionaries, see also languages -Oracle Open Office Chart : digital signatures -Oracle Open Office Chart : digital signatures;getting/managing/applying -Oracle Open Office Chart : digital signatures;overview -Oracle Open Office Chart : digital signatures;WebDAV over HTTPS -Oracle Open Office Chart : direct formatting -Oracle Open Office Chart : direct formatting;undoing all -Oracle Open Office Chart : directories -Oracle Open Office Chart : directories;creating new -Oracle Open Office Chart : directories;directory structure -Oracle Open Office Chart : disabled persons -Oracle Open Office Chart : displaying -Oracle Open Office Chart : displaying;comments (Calc) -Oracle Open Office Chart : displaying;comments in text documents -Oracle Open Office Chart : displaying;non-printing characters (Writer) -Oracle Open Office Chart : displaying;pictures and objects (Writer) -Oracle Open Office Chart : displaying;tables (Writer) -Oracle Open Office Chart : displaying;zero values (Calc) -Oracle Open Office Chart : distances -Oracle Open Office Chart : distinct values in SQL queries -Oracle Open Office Chart : distorting in drawings -Oracle Open Office Chart : distributing XML filters -Oracle Open Office Chart : docking -Oracle Open Office Chart : docking;definition -Oracle Open Office Chart : docking;toolbars -Oracle Open Office Chart : docking;windows -Oracle Open Office Chart : Document Converter Wizard -Oracle Open Office Chart : Document Map, see Navigator -Oracle Open Office Chart : document types in Oracle Open Office -Oracle Open Office Chart : documents -Oracle Open Office Chart : documents;changing titles -Oracle Open Office Chart : documents;closing -Oracle Open Office Chart : documents;comparing -Oracle Open Office Chart : documents;contents as lists -Oracle Open Office Chart : documents;editing time -Oracle Open Office Chart : documents;exporting -Oracle Open Office Chart : documents;importing -Oracle Open Office Chart : documents;languages -Oracle Open Office Chart : documents;measurement units in -Oracle Open Office Chart : documents;merging -Oracle Open Office Chart : documents;number of pages/tables/sheets -Oracle Open Office Chart : documents;opening -Oracle Open Office Chart : documents;opening in design mode -Oracle Open Office Chart : documents;opening with templates -Oracle Open Office Chart : documents;organizing -Oracle Open Office Chart : documents;printing -Oracle Open Office Chart : documents;read-only -Oracle Open Office Chart : documents;reloading -Oracle Open Office Chart : documents;saving -Oracle Open Office Chart : documents;saving automatically -Oracle Open Office Chart : documents;saving in other formats -Oracle Open Office Chart : documents;sending as e-mail -Oracle Open Office Chart : documents;styles changed -Oracle Open Office Chart : documents;version management -Oracle Open Office Chart : documents;version numbers -Oracle Open Office Chart : donut charts -Oracle Open Office Chart : dotted areas -Oracle Open Office Chart : double-line spacing in paragraphs -Oracle Open Office Chart : double-line writing in Asian layout -Oracle Open Office Chart : drag and drop -Oracle Open Office Chart : drag and drop;copying and pasting text -Oracle Open Office Chart : drag and drop;data source view -Oracle Open Office Chart : drag and drop;from Gallery to draw objects -Oracle Open Office Chart : drag and drop;overview -Oracle Open Office Chart : drag and drop;pictures -Oracle Open Office Chart : drag and drop;to Gallery -Oracle Open Office Chart : draw objects -Oracle Open Office Chart : draw objects;adding/editing/copying -Oracle Open Office Chart : draw objects;anchoring -Oracle Open Office Chart : draw objects;arranging within stacks -Oracle Open Office Chart : draw objects;copying between documents -Oracle Open Office Chart : draw objects;displaying (Calc) -Oracle Open Office Chart : draw objects;dropping Gallery pictures -Oracle Open Office Chart : draw objects;flipping -Oracle Open Office Chart : draw objects;legends -Oracle Open Office Chart : draw objects;positioning and resizing -Oracle Open Office Chart : draw objects;protecting -Oracle Open Office Chart : draw objects;slanting -Oracle Open Office Chart : draw objects;text in -Oracle Open Office Chart : Drawing bar -Oracle Open Office Chart : drawing lines in text -Oracle Open Office Chart : drawings -Oracle Open Office Chart : drawings;creating/opening -Oracle Open Office Chart : drawings;languages -Oracle Open Office Chart : drawings;printing -Oracle Open Office Chart : drawings;printing defaults -Oracle Open Office Chart : drawings;printing in text documents -Oracle Open Office Chart : drawings;saving -Oracle Open Office Chart : drawings;saving automatically -Oracle Open Office Chart : drawings;saving in other formats -Oracle Open Office Chart : drawings;sending as e-mail -Oracle Open Office Chart : drawings;showing (Writer) -Oracle Open Office Chart : drawings, see also draw objects -Oracle Open Office Chart : drop-down lists in form functions -Oracle Open Office Chart : e-mail attachments -Oracle Open Office Chart : Edit File icon -Oracle Open Office Chart : edit mode -Oracle Open Office Chart : edit mode;after opening -Oracle Open Office Chart : edit mode;through Enter key (Calc) -Oracle Open Office Chart : Edit Points bar -Oracle Open Office Chart : editing -Oracle Open Office Chart : editing;chart axes -Oracle Open Office Chart : editing;chart data -Oracle Open Office Chart : editing;chart legends -Oracle Open Office Chart : editing;chart titles -Oracle Open Office Chart : editing;comments -Oracle Open Office Chart : editing;data binding of XForms -Oracle Open Office Chart : editing;database tables and queries -Oracle Open Office Chart : editing;draw objects -Oracle Open Office Chart : editing;Fontwork objects -Oracle Open Office Chart : editing;hyperlinks -Oracle Open Office Chart : editing;menus -Oracle Open Office Chart : editing;objects -Oracle Open Office Chart : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Chart : editing;pictures -Oracle Open Office Chart : editing;reports -Oracle Open Office Chart : editing;shortcut keys -Oracle Open Office Chart : editing;tab stops -Oracle Open Office Chart : editing;templates -Oracle Open Office Chart : editing;titles -Oracle Open Office Chart : editing;toolbars -Oracle Open Office Chart : editing;undoing -Oracle Open Office Chart : editing;XForms -Oracle Open Office Chart : editing time of documents -Oracle Open Office Chart : editors -Oracle Open Office Chart : editors;formula editor -Oracle Open Office Chart : editors;ImageMap editor -Oracle Open Office Chart : effects -Oracle Open Office Chart : effects;font positions -Oracle Open Office Chart : effects;fonts -Oracle Open Office Chart : effects;Fontwork icons -Oracle Open Office Chart : empty documents -Oracle Open Office Chart : empty paragraph removal -Oracle Open Office Chart : encryption of contents -Oracle Open Office Chart : entering groups -Oracle Open Office Chart : entering text from right to left -Oracle Open Office Chart : equal sign, see also operators -Oracle Open Office Chart : equations in formula editor -Oracle Open Office Chart : error bars in charts -Oracle Open Office Chart : error indicators in charts -Oracle Open Office Chart : Error Report Tool -Oracle Open Office Chart : Euro -Oracle Open Office Chart : Euro;currency formats -Oracle Open Office Chart : Euro;Euro Converter Wizard -Oracle Open Office Chart : even/odd pages -Oracle Open Office Chart : even/odd pages;printing -Oracle Open Office Chart : events -Oracle Open Office Chart : events;assigning scripts -Oracle Open Office Chart : events;controls -Oracle Open Office Chart : events;customizing -Oracle Open Office Chart : events;in forms -Oracle Open Office Chart : Excel -Oracle Open Office Chart : Excel;saving as -Oracle Open Office Chart : Excel;search criteria -Oracle Open Office Chart : exceptions -Oracle Open Office Chart : exceptions;user-defined dictionaries -Oracle Open Office Chart : exchanging, see also replacing -Oracle Open Office Chart : executing SQL commands -Oracle Open Office Chart : exiting -Oracle Open Office Chart : exiting;groups -Oracle Open Office Chart : exiting;Oracle Open Office -Oracle Open Office Chart : expanding formatting (Calc) -Oracle Open Office Chart : explorer of data sources -Oracle Open Office Chart : export filters -Oracle Open Office Chart : exporting -Oracle Open Office Chart : exporting;bitmaps -Oracle Open Office Chart : exporting;HTML and text documents -Oracle Open Office Chart : exporting;Microsoft Office documents with VBA code -Oracle Open Office Chart : exporting;spreadsheets to text format -Oracle Open Office Chart : exporting;templates -Oracle Open Office Chart : exporting;to foreign formats -Oracle Open Office Chart : exporting;to HTML -Oracle Open Office Chart : exporting;to Microsoft Office formats -Oracle Open Office Chart : exporting;to PDF -Oracle Open Office Chart : exporting;to PostScript format -Oracle Open Office Chart : exporting;to XML -Oracle Open Office Chart : exporting;XML files -Oracle Open Office Chart : extended tips in Help -Oracle Open Office Chart : extension mode in text -Oracle Open Office Chart : extensions -Oracle Open Office Chart : extensions;Extension Manager -Oracle Open Office Chart : extensions;file formats -Oracle Open Office Chart : external keys (Base) -Oracle Open Office Chart : faster printing -Oracle Open Office Chart : faxes -Oracle Open Office Chart : faxes;configuring Oracle Open Office -Oracle Open Office Chart : faxes;fax programs/fax printers under UNIX -Oracle Open Office Chart : faxes;selecting a fax machine -Oracle Open Office Chart : faxes;sending -Oracle Open Office Chart : faxes;wizards -Oracle Open Office Chart : feedback -Oracle Open Office Chart : feedback;automatically -Oracle Open Office Chart : fields -Oracle Open Office Chart : fields;database tables -Oracle Open Office Chart : fields;displaying field codes (Writer) -Oracle Open Office Chart : fields;formatted fields -Oracle Open Office Chart : fields;updating automatically (Writer) -Oracle Open Office Chart : file associations for Microsoft Office -Oracle Open Office Chart : file filters -Oracle Open Office Chart : file filters;mobile devices -Oracle Open Office Chart : file filters;XML -Oracle Open Office Chart : file formats -Oracle Open Office Chart : file formats;changing Oracle Open Office defaults -Oracle Open Office Chart : file formats;OpenDocument/XML -Oracle Open Office Chart : file formats;saving always in other formats -Oracle Open Office Chart : file selection button -Oracle Open Office Chart : file sharing options for current document -Oracle Open Office Chart : files -Oracle Open Office Chart : files;filters and formats -Oracle Open Office Chart : files;importing -Oracle Open Office Chart : files;opening -Oracle Open Office Chart : files;opening with placeholders -Oracle Open Office Chart : files;properties -Oracle Open Office Chart : files;saving -Oracle Open Office Chart : files;saving automatically -Oracle Open Office Chart : files;saving in other formats -Oracle Open Office Chart : files;sending as e-mail -Oracle Open Office Chart : files;version numbers -Oracle Open Office Chart : files and folders in Oracle Open Office -Oracle Open Office Chart : fill characters with tabulators -Oracle Open Office Chart : fill colors for areas -Oracle Open Office Chart : fill patterns for areas -Oracle Open Office Chart : filter conditions -Oracle Open Office Chart : filter conditions;connecting -Oracle Open Office Chart : filter conditions;in queries (Base) -Oracle Open Office Chart : filtering -Oracle Open Office Chart : filtering;data in databases -Oracle Open Office Chart : filtering;data in forms -Oracle Open Office Chart : filters -Oracle Open Office Chart : filters;comparison operators -Oracle Open Office Chart : filters;for import and export -Oracle Open Office Chart : filters;Navigator -Oracle Open Office Chart : filters;pictures -Oracle Open Office Chart : filters;XML filter settings -Oracle Open Office Chart : Find tab in Help -Oracle Open Office Chart : finding -Oracle Open Office Chart : finding;in all sheets -Oracle Open Office Chart : finding;records in form documents -Oracle Open Office Chart : finding;selections -Oracle Open Office Chart : finding;similarity search -Oracle Open Office Chart : fitting to pages -Oracle Open Office Chart : fitting to pages;print settings in Math -Oracle Open Office Chart : fitting to pages;print settings in presentations -Oracle Open Office Chart : fixed text -Oracle Open Office Chart : fixed text;form functions -Oracle Open Office Chart : fixing toolbars -Oracle Open Office Chart : flipping draw objects -Oracle Open Office Chart : floating frames in HTML documents -Oracle Open Office Chart : floating toolbars -Oracle Open Office Chart : focus of controls -Oracle Open Office Chart : folder creation -Oracle Open Office Chart : font lists -Oracle Open Office Chart : font name box -Oracle Open Office Chart : font sizes -Oracle Open Office Chart : font sizes;bullets -Oracle Open Office Chart : font sizes;relative changes -Oracle Open Office Chart : font sizes;scaling on screen -Oracle Open Office Chart : font sizes;text -Oracle Open Office Chart : fonts -Oracle Open Office Chart : fonts;adding under UNIX -Oracle Open Office Chart : fonts;changing in templates -Oracle Open Office Chart : fonts;colors -Oracle Open Office Chart : fonts;default settings -Oracle Open Office Chart : fonts;effects -Oracle Open Office Chart : fonts;for HTML and Basic -Oracle Open Office Chart : fonts;formats -Oracle Open Office Chart : fonts;outlines -Oracle Open Office Chart : fonts;positions in text -Oracle Open Office Chart : fonts;shadows -Oracle Open Office Chart : fonts;specifying several -Oracle Open Office Chart : fonts;strikethrough -Oracle Open Office Chart : fonts;styles -Oracle Open Office Chart : fonts;text objects -Oracle Open Office Chart : Fontwork icons -Oracle Open Office Chart : footers -Oracle Open Office Chart : footers;backgrounds -Oracle Open Office Chart : form controls -Oracle Open Office Chart : form controls;assigning macros -Oracle Open Office Chart : form controls;protecting -Oracle Open Office Chart : form controls;toolbars -Oracle Open Office Chart : form fields -Oracle Open Office Chart : form filters -Oracle Open Office Chart : Form Navigator -Oracle Open Office Chart : format codes -Oracle Open Office Chart : format codes;numbers -Oracle Open Office Chart : format filling printing in Oracle Open Office Math -Oracle Open Office Chart : Format Paintbrush -Oracle Open Office Chart : formats -Oracle Open Office Chart : formats;Asian layout -Oracle Open Office Chart : formats;fonts -Oracle Open Office Chart : formats;maximizing page formats -Oracle Open Office Chart : formats;number and currency formats -Oracle Open Office Chart : formats;of currencies/date/time -Oracle Open Office Chart : formats;on opening and saving -Oracle Open Office Chart : formats;pasting in special formats -Oracle Open Office Chart : formats;positions -Oracle Open Office Chart : formats;tabulators -Oracle Open Office Chart : formatted fields -Oracle Open Office Chart : formatted fields;form functions -Oracle Open Office Chart : formatted fields;properties -Oracle Open Office Chart : formatting -Oracle Open Office Chart : formatting;Asian typography -Oracle Open Office Chart : formatting;axes in charts -Oracle Open Office Chart : formatting;chart areas -Oracle Open Office Chart : formatting;chart floors -Oracle Open Office Chart : formatting;chart legends -Oracle Open Office Chart : formatting;chart titles -Oracle Open Office Chart : formatting;chart walls -Oracle Open Office Chart : formatting;copying -Oracle Open Office Chart : formatting;definition -Oracle Open Office Chart : formatting;expanding (Calc) -Oracle Open Office Chart : formatting;font effects -Oracle Open Office Chart : formatting;hyperlinks -Oracle Open Office Chart : formatting;pages -Oracle Open Office Chart : formatting;printer metrics (Writer) -Oracle Open Office Chart : formatting;undoing -Oracle Open Office Chart : formatting;undoing when writing -Oracle Open Office Chart : forms -Oracle Open Office Chart : forms;browsing -Oracle Open Office Chart : forms;Combo Box/List Box Wizard -Oracle Open Office Chart : forms;creating -Oracle Open Office Chart : forms;data -Oracle Open Office Chart : forms;designing (Base) -Oracle Open Office Chart : forms;events -Oracle Open Office Chart : forms;filtering data -Oracle Open Office Chart : forms;finding records -Oracle Open Office Chart : forms;focus after opening -Oracle Open Office Chart : forms;general information (Base) -Oracle Open Office Chart : forms;grouping controls -Oracle Open Office Chart : forms;HTML filters -Oracle Open Office Chart : forms;Navigator -Oracle Open Office Chart : forms;opening in design mode -Oracle Open Office Chart : forms;properties -Oracle Open Office Chart : forms;sorting data -Oracle Open Office Chart : forms;subforms -Oracle Open Office Chart : forms;wizards -Oracle Open Office Chart : forms;XForms -Oracle Open Office Chart : formula texts -Oracle Open Office Chart : formula texts;printing in Oracle Open Office Math -Oracle Open Office Chart : formulas -Oracle Open Office Chart : formulas;new -Oracle Open Office Chart : formulas;starting formula editor -Oracle Open Office Chart : formulas in reports -Oracle Open Office Chart : formulas in reports;editing -Oracle Open Office Chart : forums and support -Oracle Open Office Chart : frames -Oracle Open Office Chart : frames;around paragraphs -Oracle Open Office Chart : frames;around tables -Oracle Open Office Chart : frames;AutoCorrect function -Oracle Open Office Chart : frames;backgrounds -Oracle Open Office Chart : frames;captions (Writer) -Oracle Open Office Chart : frames;printing in Oracle Open Office Math -Oracle Open Office Chart : frames;protecting -Oracle Open Office Chart : frames;selection frames -Oracle Open Office Chart : frames;text fitting to frames -Oracle Open Office Chart : freeform lines -Oracle Open Office Chart : freeform lines;draw functions -Oracle Open Office Chart : FTP -Oracle Open Office Chart : FTP;opening documents -Oracle Open Office Chart : FTP;saving documents -Oracle Open Office Chart : full joins (Base) -Oracle Open Office Chart : full screen view -Oracle Open Office Chart : full-text search in Help -Oracle Open Office Chart : functions in reports -Oracle Open Office Chart : functions in reports;editing -Oracle Open Office Chart : Gallery -Oracle Open Office Chart : Gallery;adding pictures -Oracle Open Office Chart : Gallery;dragging pictures to draw objects -Oracle Open Office Chart : Gallery;hiding/showing -Oracle Open Office Chart : Gallery;inserting pictures from -Oracle Open Office Chart : get method for form transmissions -Oracle Open Office Chart : getting support -Oracle Open Office Chart : GIF format -Oracle Open Office Chart : glossaries -Oracle Open Office Chart : glossaries;common terms -Oracle Open Office Chart : glossaries;Internet terms -Oracle Open Office Chart : gradients off for faster printing -Oracle Open Office Chart : graphic objects, see draw objects -Oracle Open Office Chart : graphical text art -Oracle Open Office Chart : graphics -Oracle Open Office Chart : graphics;cache -Oracle Open Office Chart : graphics;protecting -Oracle Open Office Chart : graphics, see also pictures -Oracle Open Office Chart : grayscale printing -Oracle Open Office Chart : grid controls -Oracle Open Office Chart : grid controls;form functions -Oracle Open Office Chart : grids -Oracle Open Office Chart : grids;defaults (Writer/Calc) -Oracle Open Office Chart : grids;display options (Impress/Draw) -Oracle Open Office Chart : grids;displaying lines (Calc) -Oracle Open Office Chart : grids;formatting axes -Oracle Open Office Chart : grids;inserting in charts -Oracle Open Office Chart : group box creation -Oracle Open Office Chart : groups -Oracle Open Office Chart : groups;entering/exiting/ungrouping -Oracle Open Office Chart : groups;naming -Oracle Open Office Chart : groups;of controls -Oracle Open Office Chart : guides -Oracle Open Office Chart : guides;display options (Impress/Draw) -Oracle Open Office Chart : guides;displaying when moving objects (Impress) -Oracle Open Office Chart : guides;showing (Calc) -Oracle Open Office Chart : guides;showing when moving frames (Writer) -Oracle Open Office Chart : gutter -Oracle Open Office Chart : handles -Oracle Open Office Chart : handles;displaying (Writer) -Oracle Open Office Chart : handles;scaling -Oracle Open Office Chart : handles;showing simple/large handles (Calc) -Oracle Open Office Chart : Hangul/Hanja -Oracle Open Office Chart : hatching -Oracle Open Office Chart : headers -Oracle Open Office Chart : headers;backgrounds -Oracle Open Office Chart : headings -Oracle Open Office Chart : headings;entering as text box -Oracle Open Office Chart : Hebrew -Oracle Open Office Chart : Hebrew;entering text -Oracle Open Office Chart : Hebrew;language settings -Oracle Open Office Chart : Help -Oracle Open Office Chart : Help;bookmarks -Oracle Open Office Chart : Help;extended tips on/off -Oracle Open Office Chart : Help;full-text search -Oracle Open Office Chart : Help;Help tips -Oracle Open Office Chart : Help;keywords -Oracle Open Office Chart : Help;navigation pane showing/hiding -Oracle Open Office Chart : Help;style sheets -Oracle Open Office Chart : Help;topics -Oracle Open Office Chart : Help Agent -Oracle Open Office Chart : Help Agent;help -Oracle Open Office Chart : Help Agent;options -Oracle Open Office Chart : Help tips -Oracle Open Office Chart : Help tips;hiding -Oracle Open Office Chart : hidden controls in Form Navigator -Oracle Open Office Chart : hidden fields display (Writer) -Oracle Open Office Chart : hidden pages -Oracle Open Office Chart : hidden pages;printing in presentations -Oracle Open Office Chart : hidden text -Oracle Open Office Chart : hidden text;showing (Writer) -Oracle Open Office Chart : hiding -Oracle Open Office Chart : hiding;changes -Oracle Open Office Chart : hiding;chart legends -Oracle Open Office Chart : hiding;docked windows -Oracle Open Office Chart : hiding;navigation pane in Help window -Oracle Open Office Chart : high contrast mode -Oracle Open Office Chart : Hindi -Oracle Open Office Chart : Hindi;entering text -Oracle Open Office Chart : Hindi;language settings -Oracle Open Office Chart : horizontal scrollbars (Writer) -Oracle Open Office Chart : hotspots -Oracle Open Office Chart : HowTos for charts -Oracle Open Office Chart : HTML -Oracle Open Office Chart : HTML;definition -Oracle Open Office Chart : HTML;export character set -Oracle Open Office Chart : HTML;fonts for source display -Oracle Open Office Chart : HTML;importing META tags -Oracle Open Office Chart : HTML;live presentations -Oracle Open Office Chart : HTML documents -Oracle Open Office Chart : HTML documents;auto reloading -Oracle Open Office Chart : HTML documents;importing/exporting -Oracle Open Office Chart : HTML documents;META tags in -Oracle Open Office Chart : HTML documents;new -Oracle Open Office Chart : HTML documents;source text -Oracle Open Office Chart : hyperlinks -Oracle Open Office Chart : hyperlinks;assigning macros -Oracle Open Office Chart : hyperlinks;character formats -Oracle Open Office Chart : hyperlinks;definition -Oracle Open Office Chart : hyperlinks;deleting -Oracle Open Office Chart : hyperlinks;editing -Oracle Open Office Chart : hyperlinks;inserting -Oracle Open Office Chart : hyperlinks;relative and absolute -Oracle Open Office Chart : hyperlinks;turning off automatic recognition -Oracle Open Office Chart : hyperlinks, see also links -Oracle Open Office Chart : hyphenation -Oracle Open Office Chart : hyphenation;activating for a language -Oracle Open Office Chart : hyphenation;minimal number of characters -Oracle Open Office Chart : hyphens -Oracle Open Office Chart : hyphens;displaying custom (Writer) -Oracle Open Office Chart : hyphens;inserting custom -Oracle Open Office Chart : icon bars, see toolbars -Oracle Open Office Chart : icon sizes -Oracle Open Office Chart : ignore list for spellcheck -Oracle Open Office Chart : illumination -Oracle Open Office Chart : illumination;3D charts -Oracle Open Office Chart : illustrations, see pictures -Oracle Open Office Chart : image button creation -Oracle Open Office Chart : image control creation -Oracle Open Office Chart : ImageMap -Oracle Open Office Chart : ImageMap;definition -Oracle Open Office Chart : ImageMap;editor -Oracle Open Office Chart : images -Oracle Open Office Chart : images;ImageMap -Oracle Open Office Chart : images;inserting and editing bitmaps -Oracle Open Office Chart : images, see also pictures -Oracle Open Office Chart : IME -Oracle Open Office Chart : IME;definition -Oracle Open Office Chart : IME;showing/hiding -Oracle Open Office Chart : import filters -Oracle Open Office Chart : import restrictions for Microsoft Office -Oracle Open Office Chart : importing -Oracle Open Office Chart : importing;bitmaps -Oracle Open Office Chart : importing;compatibility settings for text import -Oracle Open Office Chart : importing;databases -Oracle Open Office Chart : importing;documents in other formats -Oracle Open Office Chart : importing;from XML -Oracle Open Office Chart : importing;HTML and text documents -Oracle Open Office Chart : importing;HTML with META tags -Oracle Open Office Chart : importing;Microsoft Office documents with VBA code -Oracle Open Office Chart : importing;tables in text format -Oracle Open Office Chart : importing;templates -Oracle Open Office Chart : improvement program -Oracle Open Office Chart : inches -Oracle Open Office Chart : Index tab in Help -Oracle Open Office Chart : indexes -Oracle Open Office Chart : indexes;backgrounds -Oracle Open Office Chart : indexes;showing/hiding Help index tab -Oracle Open Office Chart : indicator lines in text -Oracle Open Office Chart : inner joins (Base) -Oracle Open Office Chart : input method window -Oracle Open Office Chart : insert mode for entering text -Oracle Open Office Chart : inserting -Oracle Open Office Chart : inserting;buttons in toolbars -Oracle Open Office Chart : inserting;cell ranges from spreadsheets -Oracle Open Office Chart : inserting;charts -Oracle Open Office Chart : inserting;clipboard options -Oracle Open Office Chart : inserting;comments -Oracle Open Office Chart : inserting;data from text documents -Oracle Open Office Chart : inserting;datasource records in spreadsheets -Oracle Open Office Chart : inserting;drawings -Oracle Open Office Chart : inserting;floating frames -Oracle Open Office Chart : inserting;Fontwork objects -Oracle Open Office Chart : inserting;form fields -Oracle Open Office Chart : inserting;hyperlinks -Oracle Open Office Chart : inserting;line breaks in cells -Oracle Open Office Chart : inserting;movies/sounds -Oracle Open Office Chart : inserting;new text tables defaults -Oracle Open Office Chart : inserting;objects from Gallery -Oracle Open Office Chart : inserting;OLE objects -Oracle Open Office Chart : inserting;paragraph borders -Oracle Open Office Chart : inserting;paragraph bullets -Oracle Open Office Chart : inserting;pictures in Gallery -Oracle Open Office Chart : inserting;plug-ins -Oracle Open Office Chart : inserting;push buttons -Oracle Open Office Chart : inserting;special characters -Oracle Open Office Chart : inserting;tab stops -Oracle Open Office Chart : inserting;textures on chart bars -Oracle Open Office Chart : installing -Oracle Open Office Chart : installing;ActiveX control -Oracle Open Office Chart : installing;mobile device filters -Oracle Open Office Chart : installing;UNO components -Oracle Open Office Chart : installing;XML filters -Oracle Open Office Chart : instructions -Oracle Open Office Chart : instructions;general -Oracle Open Office Chart : Internet -Oracle Open Office Chart : Internet;checking for updates -Oracle Open Office Chart : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Chart : Internet;presentations -Oracle Open Office Chart : Internet;starting searches -Oracle Open Office Chart : Internet glossary -Oracle Open Office Chart : invert filter -Oracle Open Office Chart : invisible areas -Oracle Open Office Chart : italic text -Oracle Open Office Chart : iterative references in spreadsheets -Oracle Open Office Chart : Java -Oracle Open Office Chart : Java;definition -Oracle Open Office Chart : Java;setting options -Oracle Open Office Chart : JDBC -Oracle Open Office Chart : JDBC;databases (Base) -Oracle Open Office Chart : JDBC;definition -Oracle Open Office Chart : joining -Oracle Open Office Chart : joining;paragraphs -Oracle Open Office Chart : joining;tables (Base) -Oracle Open Office Chart : joins in databases (Base) -Oracle Open Office Chart : justifying text -Oracle Open Office Chart : kerning -Oracle Open Office Chart : kerning;Asian texts -Oracle Open Office Chart : kerning;definition -Oracle Open Office Chart : kerning;in characters -Oracle Open Office Chart : key fields for relations (Base) -Oracle Open Office Chart : keyboard -Oracle Open Office Chart : keyboard;assigning/editing shortcut keys -Oracle Open Office Chart : keyboard;general commands -Oracle Open Office Chart : keyboard;removing numbering -Oracle Open Office Chart : keys -Oracle Open Office Chart : keys;adding push buttons -Oracle Open Office Chart : keys;primary keys (Base) -Oracle Open Office Chart : kiosk export -Oracle Open Office Chart : labels -Oracle Open Office Chart : labels;creating and synchronizing -Oracle Open Office Chart : labels;for charts -Oracle Open Office Chart : labels;for draw objects -Oracle Open Office Chart : labels;form functions -Oracle Open Office Chart : labels;from databases -Oracle Open Office Chart : labels, see also names/callouts -Oracle Open Office Chart : languages -Oracle Open Office Chart : languages;activating modules -Oracle Open Office Chart : languages;Asian support -Oracle Open Office Chart : languages;complex text layout -Oracle Open Office Chart : languages;locale settings -Oracle Open Office Chart : languages;selecting for text -Oracle Open Office Chart : languages;setting options -Oracle Open Office Chart : languages;spellcheck -Oracle Open Office Chart : languages;spellchecking and formatting -Oracle Open Office Chart : large handles (Writer) -Oracle Open Office Chart : large icons -Oracle Open Office Chart : layer arrangement -Oracle Open Office Chart : layout -Oracle Open Office Chart : layout;importing Word documents -Oracle Open Office Chart : layout;pages -Oracle Open Office Chart : LDAP server -Oracle Open Office Chart : LDAP server;address books (Base) -Oracle Open Office Chart : LDAP server;sign on options -Oracle Open Office Chart : leading between paragraphs -Oracle Open Office Chart : left alignment of paragraphs -Oracle Open Office Chart : left joins (Base) -Oracle Open Office Chart : legends -Oracle Open Office Chart : legends;charts -Oracle Open Office Chart : legends;draw objects -Oracle Open Office Chart : legends;rounding corners -Oracle Open Office Chart : Letter Wizard -Oracle Open Office Chart : levels -Oracle Open Office Chart : levels;depth stagger -Oracle Open Office Chart : levels;macro security -Oracle Open Office Chart : limits of tables (Writer) -Oracle Open Office Chart : line breaks -Oracle Open Office Chart : line breaks;in cells -Oracle Open Office Chart : line charts -Oracle Open Office Chart : line spacing -Oracle Open Office Chart : line spacing;context menu in paragraphs -Oracle Open Office Chart : line spacing;paragraph -Oracle Open Office Chart : line styles -Oracle Open Office Chart : line styles;applying -Oracle Open Office Chart : line styles;defining -Oracle Open Office Chart : lines -Oracle Open Office Chart : lines;defining ends -Oracle Open Office Chart : lines;draw functions -Oracle Open Office Chart : lines;drawing in text -Oracle Open Office Chart : lines;editing points -Oracle Open Office Chart : lines;removing automatic lines -Oracle Open Office Chart : lines of text -Oracle Open Office Chart : lines of text;alignment -Oracle Open Office Chart : links -Oracle Open Office Chart : links;between cells and controls -Oracle Open Office Chart : links;by drag and drop -Oracle Open Office Chart : links;character formats -Oracle Open Office Chart : links;definition -Oracle Open Office Chart : links;editing hyperlinks -Oracle Open Office Chart : links;inserting -Oracle Open Office Chart : links;modifying -Oracle Open Office Chart : links;opening files with -Oracle Open Office Chart : links;relational databases (Base) -Oracle Open Office Chart : links;turning off automatic recognition -Oracle Open Office Chart : links;updating options (Writer) -Oracle Open Office Chart : links;updating specific links -Oracle Open Office Chart : list box creation -Oracle Open Office Chart : lists -Oracle Open Office Chart : lists;data assigned to controls -Oracle Open Office Chart : lists;registered databases (Base) -Oracle Open Office Chart : lists;regular expressions -Oracle Open Office Chart : live presentations on the Internet -Oracle Open Office Chart : loading -Oracle Open Office Chart : loading;documents -Oracle Open Office Chart : loading;documents from other formats -Oracle Open Office Chart : loading;HTML documents, automatically -Oracle Open Office Chart : loading;Microsoft Office documents with VBA code -Oracle Open Office Chart : loading;reloading -Oracle Open Office Chart : loading;XML files -Oracle Open Office Chart : locale settings -Oracle Open Office Chart : logarithmic scaling along axes -Oracle Open Office Chart : lowercase letters -Oracle Open Office Chart : lowercase letters;font effects -Oracle Open Office Chart : Macro Wizard (Base) -Oracle Open Office Chart : macros -Oracle Open Office Chart : macros;assigning to events in forms -Oracle Open Office Chart : macros;attaching new (Base) -Oracle Open Office Chart : macros;in MS Office documents -Oracle Open Office Chart : macros;interrupting -Oracle Open Office Chart : macros;organizing -Oracle Open Office Chart : macros;recording -Oracle Open Office Chart : macros;security -Oracle Open Office Chart : macros;security levels -Oracle Open Office Chart : macros;security warning dialog -Oracle Open Office Chart : macros;selecting security warnings -Oracle Open Office Chart : magnifiers -Oracle Open Office Chart : margins -Oracle Open Office Chart : margins;pages -Oracle Open Office Chart : margins;setting with the mouse -Oracle Open Office Chart : margins;shadows -Oracle Open Office Chart : marking changes -Oracle Open Office Chart : marking, see selecting -Oracle Open Office Chart : Math formula editor -Oracle Open Office Chart : mean value lines in charts -Oracle Open Office Chart : measurement units -Oracle Open Office Chart : measurement units;changing on rulers -Oracle Open Office Chart : measurement units;converting -Oracle Open Office Chart : measurement units;selecting -Oracle Open Office Chart : Media Player window -Oracle Open Office Chart : menus -Oracle Open Office Chart : menus;activating context menus -Oracle Open Office Chart : menus;assigning macros -Oracle Open Office Chart : menus;customizing -Oracle Open Office Chart : merging -Oracle Open Office Chart : merging;documents -Oracle Open Office Chart : META tags -Oracle Open Office Chart : metrics -Oracle Open Office Chart : metrics;converting -Oracle Open Office Chart : metrics;document formatting (Writer) -Oracle Open Office Chart : metrics;in sheets -Oracle Open Office Chart : Microsoft Office -Oracle Open Office Chart : Microsoft Office;Access databases (base) -Oracle Open Office Chart : Microsoft Office;as default file format -Oracle Open Office Chart : Microsoft Office;document import restrictions -Oracle Open Office Chart : Microsoft Office;feature comparisons -Oracle Open Office Chart : Microsoft Office;importing password protected files -Oracle Open Office Chart : Microsoft Office;importing Word documents -Oracle Open Office Chart : Microsoft Office;importing/exporting VBA code -Oracle Open Office Chart : Microsoft Office;new users information -Oracle Open Office Chart : Microsoft Office;opening Microsoft documents -Oracle Open Office Chart : Microsoft Office;reassigning document types -Oracle Open Office Chart : migrating macros (Base) -Oracle Open Office Chart : mobile device filters -Oracle Open Office Chart : models in XForms -Oracle Open Office Chart : modifying, see changing -Oracle Open Office Chart : more controls -Oracle Open Office Chart : mosaic filter -Oracle Open Office Chart : mouse -Oracle Open Office Chart : mouse;pointers when using drag and drop -Oracle Open Office Chart : mouse;positioning -Oracle Open Office Chart : movies -Oracle Open Office Chart : moving -Oracle Open Office Chart : moving;tab stops on ruler -Oracle Open Office Chart : moving;toolbars -Oracle Open Office Chart : moving;using guide lines in presentations -Oracle Open Office Chart : MS ADO interface (Base) -Oracle Open Office Chart : multi-line titles in forms -Oracle Open Office Chart : multiple documents -Oracle Open Office Chart : multiple documents;opening -Oracle Open Office Chart : multiple selection -Oracle Open Office Chart : music -Oracle Open Office Chart : My Documents folder -Oracle Open Office Chart : My Documents folder;changing work directory -Oracle Open Office Chart : My Documents folder;opening -Oracle Open Office Chart : MySQL databases (Base) -Oracle Open Office Chart : names -Oracle Open Office Chart : names;multi-line titles -Oracle Open Office Chart : names;objects -Oracle Open Office Chart : names, see also labels/callouts -Oracle Open Office Chart : namespace organization in XForms -Oracle Open Office Chart : native SQL (Base) -Oracle Open Office Chart : navigating -Oracle Open Office Chart : navigating;in documents -Oracle Open Office Chart : Navigation bar -Oracle Open Office Chart : Navigation bar;controls -Oracle Open Office Chart : Navigation bar;forms -Oracle Open Office Chart : Navigator -Oracle Open Office Chart : Navigator;comments -Oracle Open Office Chart : Navigator;contents as lists -Oracle Open Office Chart : Navigator;docking -Oracle Open Office Chart : Navigator;working with -Oracle Open Office Chart : net charts -Oracle Open Office Chart : network identity options -Oracle Open Office Chart : new databases -Oracle Open Office Chart : new documents -Oracle Open Office Chart : new lines in cells -Oracle Open Office Chart : new windows -Oracle Open Office Chart : non-breaking dashes -Oracle Open Office Chart : non-breaking spaces (Writer) -Oracle Open Office Chart : non-printing characters (Writer) -Oracle Open Office Chart : number formats -Oracle Open Office Chart : number formats;codes -Oracle Open Office Chart : number formats;formats -Oracle Open Office Chart : number formats;recognition in text tables -Oracle Open Office Chart : number of pages -Oracle Open Office Chart : number of sheets -Oracle Open Office Chart : number of tables -Oracle Open Office Chart : numbering -Oracle Open Office Chart : numbering;options -Oracle Open Office Chart : numbering;turning off -Oracle Open Office Chart : numbering;using automatically -Oracle Open Office Chart : numbers -Oracle Open Office Chart : numbers;date, time and currency formats -Oracle Open Office Chart : numbers;decimal places (Calc) -Oracle Open Office Chart : numerical fields in forms -Oracle Open Office Chart : objects -Oracle Open Office Chart : objects;always moveable (Impress/Draw) -Oracle Open Office Chart : objects;arranging within stacks -Oracle Open Office Chart : objects;copying when moving in presentations -Oracle Open Office Chart : objects;definition -Oracle Open Office Chart : objects;displaying in spreadsheets -Oracle Open Office Chart : objects;displaying in text documents -Oracle Open Office Chart : objects;editing -Oracle Open Office Chart : objects;inserting from Gallery -Oracle Open Office Chart : objects;inserting OLE objects -Oracle Open Office Chart : objects;moving and resizing with mouse -Oracle Open Office Chart : objects;naming -Oracle Open Office Chart : objects;opening -Oracle Open Office Chart : objects;properties of charts -Oracle Open Office Chart : objects;quickly moving to -Oracle Open Office Chart : objects;titles and descriptions -Oracle Open Office Chart : ODBC -Oracle Open Office Chart : ODBC;database (Base) -Oracle Open Office Chart : ODBC;definition -Oracle Open Office Chart : ODF file formats -Oracle Open Office Chart : Office -Oracle Open Office Chart : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Chart : OLE -Oracle Open Office Chart : OLE;definition -Oracle Open Office Chart : OLE objects -Oracle Open Office Chart : OLE objects;arranging within stacks -Oracle Open Office Chart : OLE objects;captions (Writer) -Oracle Open Office Chart : OLE objects;inserting -Oracle Open Office Chart : OLE objects;number of -Oracle Open Office Chart : OLE objects;protecting -Oracle Open Office Chart : one and a half line spacing in text -Oracle Open Office Chart : online feedback options -Oracle Open Office Chart : online registration -Oracle Open Office Chart : online update options -Oracle Open Office Chart : online updates -Oracle Open Office Chart : online updates;checking automatically -Oracle Open Office Chart : online updates;checking manually -Oracle Open Office Chart : Open/Save dialogs -Oracle Open Office Chart : OpenDocument file formats -Oracle Open Office Chart : OpenGL -Oracle Open Office Chart : OpenGL;definition -Oracle Open Office Chart : opening -Oracle Open Office Chart : opening;context menus -Oracle Open Office Chart : opening;database files -Oracle Open Office Chart : opening;dialog settings -Oracle Open Office Chart : opening;documents -Oracle Open Office Chart : opening;documents from other formats -Oracle Open Office Chart : opening;documents on WebDAV server -Oracle Open Office Chart : opening;files with links -Oracle Open Office Chart : opening;files, with placeholders -Oracle Open Office Chart : opening;forms -Oracle Open Office Chart : opening;Microsoft Office files -Oracle Open Office Chart : opening;mobile device documents -Oracle Open Office Chart : opening;objects -Oracle Open Office Chart : opening;reports -Oracle Open Office Chart : opening;several files -Oracle Open Office Chart : opening;XForms -Oracle Open Office Chart : operators -Oracle Open Office Chart : operators;default filters -Oracle Open Office Chart : optional hyphens (Writer) -Oracle Open Office Chart : options -Oracle Open Office Chart : options;accessibility -Oracle Open Office Chart : options;appearance -Oracle Open Office Chart : options;compatibility (Writer) -Oracle Open Office Chart : options;improvement program -Oracle Open Office Chart : options;network identity -Oracle Open Office Chart : options;online update -Oracle Open Office Chart : options;tools -Oracle Open Office Chart : Oracle databases (base) -Oracle Open Office Chart : Oracle Open Office Base data sources -Oracle Open Office Chart : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Chart : Oracle Open Office documents -Oracle Open Office Chart : Oracle Open Office documents;mobile device filters -Oracle Open Office Chart : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Chart : Oracle Open Office Math start -Oracle Open Office Chart : order of chart data -Oracle Open Office Chart : ordering -Oracle Open Office Chart : ordering;objects -Oracle Open Office Chart : organizing -Oracle Open Office Chart : organizing;macros and scripts -Oracle Open Office Chart : organizing;namespaces in XForms -Oracle Open Office Chart : organizing;styles -Oracle Open Office Chart : organizing;templates -Oracle Open Office Chart : original size -Oracle Open Office Chart : original size;printing in Oracle Open Office Math -Oracle Open Office Chart : original size;restoring after cropping -Oracle Open Office Chart : outlines -Oracle Open Office Chart : outlines;font effects -Oracle Open Office Chart : outlines;outline symbols -Oracle Open Office Chart : outlines;sending to presentations -Oracle Open Office Chart : overwrite mode -Oracle Open Office Chart : packages, see extensions -Oracle Open Office Chart : page breaks -Oracle Open Office Chart : page breaks;displaying (Calc) -Oracle Open Office Chart : page formats -Oracle Open Office Chart : page formats;maximizing -Oracle Open Office Chart : page formats;restriction -Oracle Open Office Chart : page styles -Oracle Open Office Chart : page styles;editing/applying with statusbar -Oracle Open Office Chart : pages -Oracle Open Office Chart : pages;backgrounds in all applications -Oracle Open Office Chart : pages;formatting and numbering -Oracle Open Office Chart : pages;printing page names in presentations -Oracle Open Office Chart : pages;scaling -Oracle Open Office Chart : pages;selecting one to print -Oracle Open Office Chart : paint box -Oracle Open Office Chart : paint can symbol -Oracle Open Office Chart : pair kerning -Oracle Open Office Chart : Palm file filters -Oracle Open Office Chart : paper formats -Oracle Open Office Chart : paper size warning -Oracle Open Office Chart : paper trays -Oracle Open Office Chart : paragraph marks -Oracle Open Office Chart : paragraph marks;displaying (Writer) -Oracle Open Office Chart : paragraph styles -Oracle Open Office Chart : paragraph styles;languages -Oracle Open Office Chart : paragraph styles;modifying basic fonts -Oracle Open Office Chart : paragraphs -Oracle Open Office Chart : paragraphs;alignment -Oracle Open Office Chart : paragraphs;Asian typography -Oracle Open Office Chart : paragraphs;defining borders -Oracle Open Office Chart : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Chart : paragraphs;increasing indents of -Oracle Open Office Chart : paragraphs;indents, margins and columns -Oracle Open Office Chart : paragraphs;inserting bullets -Oracle Open Office Chart : paragraphs;joining -Oracle Open Office Chart : paragraphs;numbering automatically -Oracle Open Office Chart : paragraphs;removing blank ones -Oracle Open Office Chart : paragraphs;spacing -Oracle Open Office Chart : paragraphs;tab stops -Oracle Open Office Chart : parameters -Oracle Open Office Chart : parameters;command line -Oracle Open Office Chart : parameters;queries (Base) -Oracle Open Office Chart : passwords for protecting contents -Oracle Open Office Chart : pasting -Oracle Open Office Chart : pasting;cell ranges -Oracle Open Office Chart : pasting;cell ranges from spreadsheets -Oracle Open Office Chart : pasting;data from text documents -Oracle Open Office Chart : pasting;draw objects -Oracle Open Office Chart : pasting;draw objects from other documents -Oracle Open Office Chart : pasting;formatted/unformatted text -Oracle Open Office Chart : pasting;from data source view -Oracle Open Office Chart : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Chart : pasting;pictures from other documents -Oracle Open Office Chart : pasting;sheet areas in text documents -Oracle Open Office Chart : pasting;to Gallery -Oracle Open Office Chart : paths -Oracle Open Office Chart : paths;changing work directory -Oracle Open Office Chart : paths;defaults -Oracle Open Office Chart : pattern editor -Oracle Open Office Chart : pattern fields -Oracle Open Office Chart : pattern fields;form functions -Oracle Open Office Chart : patterns for objects -Oracle Open Office Chart : PDF -Oracle Open Office Chart : PDF;export -Oracle Open Office Chart : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Chart : personal data input -Oracle Open Office Chart : phonetic guide -Oracle Open Office Chart : picklist creation -Oracle Open Office Chart : pictures -Oracle Open Office Chart : pictures;adding to Gallery -Oracle Open Office Chart : pictures;arranging within stacks -Oracle Open Office Chart : pictures;assigning macros -Oracle Open Office Chart : pictures;backgrounds -Oracle Open Office Chart : pictures;captions (Writer) -Oracle Open Office Chart : pictures;changing paths -Oracle Open Office Chart : pictures;cropping and zooming -Oracle Open Office Chart : pictures;displaying in Calc -Oracle Open Office Chart : pictures;displaying in Writer (Writer) -Oracle Open Office Chart : pictures;drag and drop between documents -Oracle Open Office Chart : pictures;drawing -Oracle Open Office Chart : pictures;editing -Oracle Open Office Chart : pictures;filters -Oracle Open Office Chart : pictures;ImageMap -Oracle Open Office Chart : pictures;inserting automatically -Oracle Open Office Chart : pictures;inserting from Gallery -Oracle Open Office Chart : pictures;number of -Oracle Open Office Chart : pictures;printing -Oracle Open Office Chart : pictures;scaling/resizing -Oracle Open Office Chart : pie charts -Oracle Open Office Chart : pie charts;options -Oracle Open Office Chart : pie charts;types -Oracle Open Office Chart : pixel editor -Oracle Open Office Chart : pixel graphics -Oracle Open Office Chart : pixel graphics;inserting and editing -Oracle Open Office Chart : pixel patterns -Oracle Open Office Chart : placeholders -Oracle Open Office Chart : placeholders;in SQL queries -Oracle Open Office Chart : placeholders;on opening files -Oracle Open Office Chart : placing toolbars -Oracle Open Office Chart : playing movies and sound files -Oracle Open Office Chart : plotting data as charts -Oracle Open Office Chart : plug-ins -Oracle Open Office Chart : plug-ins;activating and deactivating -Oracle Open Office Chart : plug-ins;definition -Oracle Open Office Chart : plug-ins;inserting -Oracle Open Office Chart : pocket device appliances -Oracle Open Office Chart : Pocket PC file filters -Oracle Open Office Chart : points -Oracle Open Office Chart : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Chart : polygon drawing -Oracle Open Office Chart : pop-art filter -Oracle Open Office Chart : portable document format -Oracle Open Office Chart : positioning -Oracle Open Office Chart : positioning;axes -Oracle Open Office Chart : positioning;draw objects and controls -Oracle Open Office Chart : positioning;fonts -Oracle Open Office Chart : positioning;objects -Oracle Open Office Chart : positioning;toolbars -Oracle Open Office Chart : post method for form transmissions -Oracle Open Office Chart : posterizing filter -Oracle Open Office Chart : PostScript -Oracle Open Office Chart : PostScript;creating files -Oracle Open Office Chart : PostScript;PDF converter, UNIX -Oracle Open Office Chart : PowerPoint export -Oracle Open Office Chart : precision as shown (Calc) -Oracle Open Office Chart : predefining fonts -Oracle Open Office Chart : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Chart : presentations -Oracle Open Office Chart : presentations;creating/opening -Oracle Open Office Chart : presentations;inserting spreadsheet cells -Oracle Open Office Chart : presentations;live on the Internet -Oracle Open Office Chart : presentations;print menu -Oracle Open Office Chart : presentations;saving -Oracle Open Office Chart : presentations;saving automatically -Oracle Open Office Chart : presentations;saving in other formats -Oracle Open Office Chart : presentations;sending as e-mail -Oracle Open Office Chart : presentations;starting with wizard -Oracle Open Office Chart : presentations;wizards -Oracle Open Office Chart : Presenter Console shortcuts -Oracle Open Office Chart : press buttons, see push buttons -Oracle Open Office Chart : previews -Oracle Open Office Chart : previews;fonts lists -Oracle Open Office Chart : primary keys -Oracle Open Office Chart : primary keys;defining -Oracle Open Office Chart : primary keys;design view -Oracle Open Office Chart : primary keys;inserting (Base) -Oracle Open Office Chart : print area selection -Oracle Open Office Chart : printer metrics for document formatting (Writer) -Oracle Open Office Chart : printers -Oracle Open Office Chart : printers;adding, UNIX -Oracle Open Office Chart : printers;choosing -Oracle Open Office Chart : printers;default printer -Oracle Open Office Chart : printers;faxes under UNIX -Oracle Open Office Chart : printers;maximum page formats -Oracle Open Office Chart : printers;paper trays -Oracle Open Office Chart : printers;properties -Oracle Open Office Chart : printing -Oracle Open Office Chart : printing;black and white -Oracle Open Office Chart : printing;brochures -Oracle Open Office Chart : printing;colors in grayscale -Oracle Open Office Chart : printing;comments -Oracle Open Office Chart : printing;copies -Oracle Open Office Chart : printing;creating individual jobs -Oracle Open Office Chart : printing;dates in presentations -Oracle Open Office Chart : printing;directly -Oracle Open Office Chart : printing;documents -Oracle Open Office Chart : printing;drawings defaults -Oracle Open Office Chart : printing;elements in text documents -Oracle Open Office Chart : printing;faster -Oracle Open Office Chart : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Chart : printing;fitting to pages in presentations -Oracle Open Office Chart : printing;formulas in Oracle Open Office Math -Oracle Open Office Chart : printing;hidden pages of presentations -Oracle Open Office Chart : printing;in original size in Oracle Open Office Math -Oracle Open Office Chart : printing;left/right pages -Oracle Open Office Chart : printing;queries (Base) -Oracle Open Office Chart : printing;scaling in Oracle Open Office Math -Oracle Open Office Chart : printing;selections -Oracle Open Office Chart : printing;text always in black -Oracle Open Office Chart : printing;text in reverse order -Oracle Open Office Chart : printing;tiling pages in presentations -Oracle Open Office Chart : printing;transparencies -Oracle Open Office Chart : printing;warnings -Oracle Open Office Chart : printing;without scaling in presentations -Oracle Open Office Chart : printing speed -Oracle Open Office Chart : programming -Oracle Open Office Chart : programming;Oracle Open Office -Oracle Open Office Chart : programming;scripting -Oracle Open Office Chart : properties -Oracle Open Office Chart : properties;charts -Oracle Open Office Chart : properties;fields in databases -Oracle Open Office Chart : properties;files -Oracle Open Office Chart : properties;form controls -Oracle Open Office Chart : properties;forms -Oracle Open Office Chart : properties;printers -Oracle Open Office Chart : properties;smooth lines in line charts/XY charts -Oracle Open Office Chart : protected contents -Oracle Open Office Chart : protected dashes -Oracle Open Office Chart : protected database tables -Oracle Open Office Chart : protected documents -Oracle Open Office Chart : protected spaces -Oracle Open Office Chart : protected spaces;inserting -Oracle Open Office Chart : protected spaces;showing (Writer) -Oracle Open Office Chart : protecting -Oracle Open Office Chart : protecting;contents -Oracle Open Office Chart : protecting;recorded changes -Oracle Open Office Chart : proxy settings -Oracle Open Office Chart : push buttons -Oracle Open Office Chart : push buttons;adding to documents -Oracle Open Office Chart : push buttons;creating -Oracle Open Office Chart : queries -Oracle Open Office Chart : queries;copying (Base) -Oracle Open Office Chart : queries;creating in design view (Base) -Oracle Open Office Chart : queries;creating in SQL view -Oracle Open Office Chart : queries;defining (Base) -Oracle Open Office Chart : queries;deleting table links (Base) -Oracle Open Office Chart : queries;editing in data source view -Oracle Open Office Chart : queries;formulating filter conditions (Base) -Oracle Open Office Chart : queries;joining tables (Base) -Oracle Open Office Chart : queries;missing elements (Base) -Oracle Open Office Chart : queries;overview (Base) -Oracle Open Office Chart : queries;parameter queries (Base) -Oracle Open Office Chart : queries;printing (Base) -Oracle Open Office Chart : Query Wizard (Base) -Oracle Open Office Chart : Quickstarter -Oracle Open Office Chart : quotation marks -Oracle Open Office Chart : quotation marks;replacing -Oracle Open Office Chart : quotes -Oracle Open Office Chart : quotes;custom -Oracle Open Office Chart : radar charts, see net charts -Oracle Open Office Chart : radio button creation -Oracle Open Office Chart : read-only documents -Oracle Open Office Chart : read-only documents;cursor -Oracle Open Office Chart : read-only documents;database tables on/off -Oracle Open Office Chart : read-only documents;editing -Oracle Open Office Chart : read-only documents;opening documents as -Oracle Open Office Chart : read-only items in Data Navigator -Oracle Open Office Chart : recognizing URLs automatically -Oracle Open Office Chart : recording -Oracle Open Office Chart : recording;changes -Oracle Open Office Chart : recording;macros -Oracle Open Office Chart : records -Oracle Open Office Chart : records;inserting comments -Oracle Open Office Chart : records;protecting -Oracle Open Office Chart : records;saving -Oracle Open Office Chart : records;searching in databases -Oracle Open Office Chart : rectangles with round corners -Oracle Open Office Chart : recursions in spreadsheets -Oracle Open Office Chart : redo command -Oracle Open Office Chart : reduced printing -Oracle Open Office Chart : reference lines -Oracle Open Office Chart : references -Oracle Open Office Chart : references;displaying in color (Calc) -Oracle Open Office Chart : references;expanding (Calc) -Oracle Open Office Chart : references;iterative (Calc) -Oracle Open Office Chart : register-true -Oracle Open Office Chart : register-true;definition -Oracle Open Office Chart : registering -Oracle Open Office Chart : registering;address books -Oracle Open Office Chart : registering;databases (Base) -Oracle Open Office Chart : registering;Oracle Open Office -Oracle Open Office Chart : regression curves in charts -Oracle Open Office Chart : regular expressions -Oracle Open Office Chart : regular expressions;list of -Oracle Open Office Chart : regular expressions;opening files -Oracle Open Office Chart : relational databases (Base) -Oracle Open Office Chart : relations -Oracle Open Office Chart : relations;creating and deleting (Base) -Oracle Open Office Chart : relations;joining tables (Base) -Oracle Open Office Chart : relations;properties (Base) -Oracle Open Office Chart : relative hyperlinks -Oracle Open Office Chart : relative saving of URLs -Oracle Open Office Chart : reloading -Oracle Open Office Chart : reloading;documents -Oracle Open Office Chart : reloading;HTML documents, automatically -Oracle Open Office Chart : remarks, see also comments -Oracle Open Office Chart : remote configurations -Oracle Open Office Chart : remove noise filter -Oracle Open Office Chart : removing -Oracle Open Office Chart : removing;bullets and numbering -Oracle Open Office Chart : removing;form filters -Oracle Open Office Chart : removing, see also deleting -Oracle Open Office Chart : reorganizing charts -Oracle Open Office Chart : repeating -Oracle Open Office Chart : repeating;commands -Oracle Open Office Chart : replacement options -Oracle Open Office Chart : replacement table -Oracle Open Office Chart : replacing -Oracle Open Office Chart : replacing;AutoCorrect function -Oracle Open Office Chart : replacing;dashes -Oracle Open Office Chart : replacing;tab stops (regular expressions) -Oracle Open Office Chart : Report Builder -Oracle Open Office Chart : reports -Oracle Open Office Chart : reports;creating -Oracle Open Office Chart : reports;error reports -Oracle Open Office Chart : reports;opening and editing -Oracle Open Office Chart : reports;templates -Oracle Open Office Chart : resetting -Oracle Open Office Chart : resetting;templates -Oracle Open Office Chart : resizing -Oracle Open Office Chart : resizing;objects, by mouse -Oracle Open Office Chart : resizing, see also scaling/zooming -Oracle Open Office Chart : resolution when printing bitmaps -Oracle Open Office Chart : restoring -Oracle Open Office Chart : restoring;default formatting -Oracle Open Office Chart : restoring;editing -Oracle Open Office Chart : reversing printing order -Oracle Open Office Chart : review function -Oracle Open Office Chart : review function;accepting or rejecting changes -Oracle Open Office Chart : review function;comparing documents -Oracle Open Office Chart : review function;protecting records -Oracle Open Office Chart : review function;recording changes example -Oracle Open Office Chart : rich text control -Oracle Open Office Chart : right alignment of paragraphs -Oracle Open Office Chart : right joins (Base) -Oracle Open Office Chart : right-to-left text -Oracle Open Office Chart : rotating -Oracle Open Office Chart : rotating;3D text -Oracle Open Office Chart : round corners -Oracle Open Office Chart : rounding precision (Calc) -Oracle Open Office Chart : row headers -Oracle Open Office Chart : row headers;displaying (Calc) -Oracle Open Office Chart : row headers;highlighting (Calc) -Oracle Open Office Chart : rulers -Oracle Open Office Chart : rulers;default settings -Oracle Open Office Chart : rulers;measurement units -Oracle Open Office Chart : rulers;visible in presentations -Oracle Open Office Chart : samples and templates -Oracle Open Office Chart : saving -Oracle Open Office Chart : saving;default file formats -Oracle Open Office Chart : saving;dialog settings -Oracle Open Office Chart : saving;documents -Oracle Open Office Chart : saving;documents for mobile devices -Oracle Open Office Chart : saving;documents in other formats -Oracle Open Office Chart : saving;documents, automatically -Oracle Open Office Chart : saving;in Microsoft Office file format -Oracle Open Office Chart : saving;options -Oracle Open Office Chart : saving;templates -Oracle Open Office Chart : saving;to XML -Oracle Open Office Chart : saving;VBA code in Microsoft Office documents -Oracle Open Office Chart : saving;with password by default -Oracle Open Office Chart : saving as command -Oracle Open Office Chart : saving as command;precautions -Oracle Open Office Chart : scaling -Oracle Open Office Chart : scaling;axes -Oracle Open Office Chart : scaling;font sizes in user interface -Oracle Open Office Chart : scaling;objects -Oracle Open Office Chart : scaling;pictures -Oracle Open Office Chart : scaling;printing in Oracle Open Office Math -Oracle Open Office Chart : scaling;text in charts -Oracle Open Office Chart : scaling;when printing presentations -Oracle Open Office Chart : scaling, see also zooming -Oracle Open Office Chart : scatter charts -Oracle Open Office Chart : screen -Oracle Open Office Chart : screen;full screen views -Oracle Open Office Chart : screen;scaling -Oracle Open Office Chart : screen magnifiers -Oracle Open Office Chart : screen readers -Oracle Open Office Chart : script organization -Oracle Open Office Chart : scrollbars -Oracle Open Office Chart : scrollbars;controls -Oracle Open Office Chart : scrollbars;displaying (Calc) -Oracle Open Office Chart : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Chart : search criteria for database functions in cells -Oracle Open Office Chart : search engines -Oracle Open Office Chart : search engines;definition -Oracle Open Office Chart : search engines;selecting -Oracle Open Office Chart : searching -Oracle Open Office Chart : searching;all sheets -Oracle Open Office Chart : searching;databases -Oracle Open Office Chart : searching;form filters -Oracle Open Office Chart : searching;Internet -Oracle Open Office Chart : searching;tables and forms -Oracle Open Office Chart : secondary axes in charts -Oracle Open Office Chart : sections -Oracle Open Office Chart : sections;backgrounds -Oracle Open Office Chart : security -Oracle Open Office Chart : security;digital signatures -Oracle Open Office Chart : security;options for documents with macros -Oracle Open Office Chart : security;protecting contents -Oracle Open Office Chart : security;security levels for macros -Oracle Open Office Chart : security;warning dialogs with macros -Oracle Open Office Chart : selecting -Oracle Open Office Chart : selecting;controls -Oracle Open Office Chart : selecting;measurement units -Oracle Open Office Chart : selecting;objects -Oracle Open Office Chart : selecting;print areas -Oracle Open Office Chart : selecting;several files -Oracle Open Office Chart : selection clipboard -Oracle Open Office Chart : selection frames -Oracle Open Office Chart : selection modes in text -Oracle Open Office Chart : sending -Oracle Open Office Chart : sending;AutoAbstract function in presentations -Oracle Open Office Chart : sending;documents as e-mail -Oracle Open Office Chart : sending;documents as faxes -Oracle Open Office Chart : separator lines -Oracle Open Office Chart : separator lines;defining -Oracle Open Office Chart : separators -Oracle Open Office Chart : separators;conditional -Oracle Open Office Chart : Server Side ImageMap -Oracle Open Office Chart : settings -Oracle Open Office Chart : settings;printers -Oracle Open Office Chart : settings;program configuration -Oracle Open Office Chart : settings;proxies -Oracle Open Office Chart : settings;tracking changes -Oracle Open Office Chart : settings;views -Oracle Open Office Chart : SGML -Oracle Open Office Chart : SGML;definition -Oracle Open Office Chart : shadows -Oracle Open Office Chart : shadows;areas -Oracle Open Office Chart : shadows;borders -Oracle Open Office Chart : shadows;characters -Oracle Open Office Chart : shadows;characters, using context menu -Oracle Open Office Chart : sharing documents -Oracle Open Office Chart : sharpening filter -Oracle Open Office Chart : sheet tabs -Oracle Open Office Chart : sheet tabs;displaying -Oracle Open Office Chart : sheets -Oracle Open Office Chart : sheets;searching all -Oracle Open Office Chart : shortcut keys -Oracle Open Office Chart : shortcut keys;assigning macros -Oracle Open Office Chart : shortcut keys;charts -Oracle Open Office Chart : shortcut keys;general -Oracle Open Office Chart : shortcut keys;in databases -Oracle Open Office Chart : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Chart : showing -Oracle Open Office Chart : showing;changes -Oracle Open Office Chart : showing;docked windows -Oracle Open Office Chart : showing;drawings and controls (Writer) -Oracle Open Office Chart : showing;live presentations on the Internet -Oracle Open Office Chart : showing;toolbars -Oracle Open Office Chart : signing documents with digital signatures -Oracle Open Office Chart : similarity search -Oracle Open Office Chart : simple handles (Writer) -Oracle Open Office Chart : simplified Chinese -Oracle Open Office Chart : simplified Chinese;translating to traditional Chinese -Oracle Open Office Chart : single sign on options -Oracle Open Office Chart : single-line spacing in text -Oracle Open Office Chart : sizes -Oracle Open Office Chart : sizes;draw objects -Oracle Open Office Chart : sizes;pictures -Oracle Open Office Chart : slanting draw objects -Oracle Open Office Chart : small capitals -Oracle Open Office Chart : small icons -Oracle Open Office Chart : smart tag configuration -Oracle Open Office Chart : smooth scrolling (Writer) -Oracle Open Office Chart : smoothing filter -Oracle Open Office Chart : snap grid defaults (Writer/Calc) -Oracle Open Office Chart : snapping in presentations and drawings -Oracle Open Office Chart : solarization filter -Oracle Open Office Chart : sort lists -Oracle Open Office Chart : sort lists;copying to in Calc -Oracle Open Office Chart : sorting -Oracle Open Office Chart : sorting;data in forms -Oracle Open Office Chart : sorting;databases -Oracle Open Office Chart : sound files -Oracle Open Office Chart : spaces -Oracle Open Office Chart : spaces;displaying (Writer) -Oracle Open Office Chart : spaces;ignoring double -Oracle Open Office Chart : spaces;inserting protected spaces -Oracle Open Office Chart : spaces;showing protected spaces (Writer) -Oracle Open Office Chart : spacing -Oracle Open Office Chart : spacing;between paragraphs in footnotes -Oracle Open Office Chart : spacing;font effects -Oracle Open Office Chart : spacing;lines and paragraphs -Oracle Open Office Chart : spacing;tab stops in text documents -Oracle Open Office Chart : spacing;tabs in presentations -Oracle Open Office Chart : spadmin -Oracle Open Office Chart : special characters -Oracle Open Office Chart : speech bubbles -Oracle Open Office Chart : speed of printing -Oracle Open Office Chart : spellcheck -Oracle Open Office Chart : spellcheck;activating for a language -Oracle Open Office Chart : spellcheck;context menus -Oracle Open Office Chart : spellcheck;default languages -Oracle Open Office Chart : spellcheck;dialog -Oracle Open Office Chart : spellcheck;dictionary of exceptions -Oracle Open Office Chart : spellcheck;ignore list -Oracle Open Office Chart : spin button creation -Oracle Open Office Chart : spoolfiles with Xprinter -Oracle Open Office Chart : spreadsheets -Oracle Open Office Chart : spreadsheets;as databases (base) -Oracle Open Office Chart : spreadsheets;copying areas to text documents -Oracle Open Office Chart : spreadsheets;creating/opening -Oracle Open Office Chart : spreadsheets;inserting charts -Oracle Open Office Chart : spreadsheets;inserting database records -Oracle Open Office Chart : spreadsheets;printing -Oracle Open Office Chart : spreadsheets;saving -Oracle Open Office Chart : spreadsheets;saving automatically -Oracle Open Office Chart : spreadsheets;saving in other formats -Oracle Open Office Chart : spreadsheets;sending as e-mail -Oracle Open Office Chart : SQL -Oracle Open Office Chart : SQL;definition -Oracle Open Office Chart : SQL;DISTINCT parameter -Oracle Open Office Chart : SQL;executing SQL commands -Oracle Open Office Chart : SQL;executing SQL statements (Base) -Oracle Open Office Chart : SQL;queries (Base) -Oracle Open Office Chart : square drawings -Oracle Open Office Chart : standard bar on/off -Oracle Open Office Chart : standard deviation in charts -Oracle Open Office Chart : standard filters in databases -Oracle Open Office Chart : standard printer under UNIX -Oracle Open Office Chart : start center -Oracle Open Office Chart : start parameters -Oracle Open Office Chart : statistics in charts -Oracle Open Office Chart : status bar on/off -Oracle Open Office Chart : stickers -Oracle Open Office Chart : stock charts -Oracle Open Office Chart : strikethrough -Oracle Open Office Chart : strikethrough;characters -Oracle Open Office Chart : strikethrough;font effects -Oracle Open Office Chart : styles -Oracle Open Office Chart : styles;'changed' message -Oracle Open Office Chart : styles;copying between documents -Oracle Open Office Chart : styles;keyboard shortcuts -Oracle Open Office Chart : styles;organizing -Oracle Open Office Chart : styles;printing styles used in a document -Oracle Open Office Chart : styles;replacing automatically -Oracle Open Office Chart : Styles and Formatting window -Oracle Open Office Chart : Styles and Formatting window;docking -Oracle Open Office Chart : subforms -Oracle Open Office Chart : subforms;creating -Oracle Open Office Chart : subforms;description -Oracle Open Office Chart : submitting forms -Oracle Open Office Chart : suffixes in file formats -Oracle Open Office Chart : support on the Web -Oracle Open Office Chart : synchronizing -Oracle Open Office Chart : synchronizing;labels and business cards -Oracle Open Office Chart : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Chart : system address book registration -Oracle Open Office Chart : tab stops -Oracle Open Office Chart : tab stops;displaying (Writer) -Oracle Open Office Chart : tab stops;inserting and editing -Oracle Open Office Chart : tab stops;regular expressions -Oracle Open Office Chart : tab stops;setting in sheets -Oracle Open Office Chart : tab stops;settings -Oracle Open Office Chart : tab stops;spacing in presentations -Oracle Open Office Chart : tab stops;spacing in text documents -Oracle Open Office Chart : table controls -Oracle Open Office Chart : table controls;form functions -Oracle Open Office Chart : table controls;keyboard-only edit mode -Oracle Open Office Chart : table controls;properties -Oracle Open Office Chart : table views of databases -Oracle Open Office Chart : Table Wizard (Base) -Oracle Open Office Chart : tables -Oracle Open Office Chart : tables;inserting line breaks -Oracle Open Office Chart : tables in databases -Oracle Open Office Chart : tables in databases;access rights to (Base) -Oracle Open Office Chart : tables in databases;adding to queries -Oracle Open Office Chart : tables in databases;browsing and editing -Oracle Open Office Chart : tables in databases;copying database tables (Base) -Oracle Open Office Chart : tables in databases;creating -Oracle Open Office Chart : tables in databases;creating in design view (manually) -Oracle Open Office Chart : tables in databases;importing text formats (Base) -Oracle Open Office Chart : tables in databases;joining for queries (Base) -Oracle Open Office Chart : tables in databases;printing queries (Base) -Oracle Open Office Chart : tables in databases;relations (Base) -Oracle Open Office Chart : tables in databases;searching -Oracle Open Office Chart : tables in spreadsheets -Oracle Open Office Chart : tables in spreadsheets;copying data to other applications -Oracle Open Office Chart : tables in spreadsheets;defining borders -Oracle Open Office Chart : tables in spreadsheets;value highlighting -Oracle Open Office Chart : tables in text -Oracle Open Office Chart : tables in text;captions -Oracle Open Office Chart : tables in text;creating automatically -Oracle Open Office Chart : tables in text;default settings -Oracle Open Office Chart : tables in text;defining borders -Oracle Open Office Chart : tables in text;displaying -Oracle Open Office Chart : tables in text;printing -Oracle Open Office Chart : tabs -Oracle Open Office Chart : tabs;displaying sheet tabs -Oracle Open Office Chart : tags -Oracle Open Office Chart : tags;definition -Oracle Open Office Chart : tags;META tags -Oracle Open Office Chart : templates -Oracle Open Office Chart : templates;agendas -Oracle Open Office Chart : templates;changing basic fonts -Oracle Open Office Chart : templates;database reports -Oracle Open Office Chart : templates;deleting -Oracle Open Office Chart : templates;editing and saving -Oracle Open Office Chart : templates;faxes -Oracle Open Office Chart : templates;importing and exporting -Oracle Open Office Chart : templates;letters -Oracle Open Office Chart : templates;new documents from templates -Oracle Open Office Chart : templates;opening documents with -Oracle Open Office Chart : templates;organizing -Oracle Open Office Chart : terminology -Oracle Open Office Chart : terminology;general glossary -Oracle Open Office Chart : terminology;Internet glossary -Oracle Open Office Chart : testing XML filters -Oracle Open Office Chart : text -Oracle Open Office Chart : text;animating -Oracle Open Office Chart : text;Asian layout -Oracle Open Office Chart : text;bold -Oracle Open Office Chart : text;coloring -Oracle Open Office Chart : text;copying by drag and drop -Oracle Open Office Chart : text;CTL languages -Oracle Open Office Chart : text;drawing pictures -Oracle Open Office Chart : text;font effects -Oracle Open Office Chart : text;font sizes -Oracle Open Office Chart : text;font styles -Oracle Open Office Chart : text;fonts and formats -Oracle Open Office Chart : text;Fontwork icons -Oracle Open Office Chart : text;hyperlinks -Oracle Open Office Chart : text;inserting special characters -Oracle Open Office Chart : text;italics -Oracle Open Office Chart : text;kerning -Oracle Open Office Chart : text;language selection -Oracle Open Office Chart : text;line spacing -Oracle Open Office Chart : text;overwriting or inserting -Oracle Open Office Chart : text;printing in black -Oracle Open Office Chart : text;replacing with format -Oracle Open Office Chart : text;selection modes -Oracle Open Office Chart : text;shadowed -Oracle Open Office Chart : text;text/draw objects -Oracle Open Office Chart : text attributes -Oracle Open Office Chart : text attributes;hyperlinks -Oracle Open Office Chart : text attributes;undoing -Oracle Open Office Chart : text boxes -Oracle Open Office Chart : text boxes;form functions -Oracle Open Office Chart : text boxes;positioning -Oracle Open Office Chart : text breaks in cells -Oracle Open Office Chart : text colors for better accessibility -Oracle Open Office Chart : text databases (Base) -Oracle Open Office Chart : text documents -Oracle Open Office Chart : text documents;creating/opening -Oracle Open Office Chart : text documents;importing/exporting -Oracle Open Office Chart : text documents;inserting spreadsheet cells -Oracle Open Office Chart : text documents;print settings -Oracle Open Office Chart : text documents;printing -Oracle Open Office Chart : text documents;saving -Oracle Open Office Chart : text documents;saving automatically -Oracle Open Office Chart : text documents;saving in other formats -Oracle Open Office Chart : text documents;sending as e-mail -Oracle Open Office Chart : text effects -Oracle Open Office Chart : text flow -Oracle Open Office Chart : text flow;in cells -Oracle Open Office Chart : text formats -Oracle Open Office Chart : text formats;databases -Oracle Open Office Chart : text formats;pasting -Oracle Open Office Chart : text input fields -Oracle Open Office Chart : text layout for special languages -Oracle Open Office Chart : text objects -Oracle Open Office Chart : text objects;alignment -Oracle Open Office Chart : text objects;draw functions -Oracle Open Office Chart : text objects;fonts -Oracle Open Office Chart : text objects;in presentations and drawings -Oracle Open Office Chart : text overflow in spreadsheet cells -Oracle Open Office Chart : text scaling in charts -Oracle Open Office Chart : text, see also text documents, paragraphs and characters -Oracle Open Office Chart : TextArt, see Fontwork -Oracle Open Office Chart : textures -Oracle Open Office Chart : textures;inserting from Gallery -Oracle Open Office Chart : textures;on chart bars -Oracle Open Office Chart : Thai -Oracle Open Office Chart : Thai;entering text -Oracle Open Office Chart : Thai;language settings -Oracle Open Office Chart : thesaurus -Oracle Open Office Chart : thesaurus;activating for a language -Oracle Open Office Chart : ticker text -Oracle Open Office Chart : time fields -Oracle Open Office Chart : time fields;form functions -Oracle Open Office Chart : times -Oracle Open Office Chart : times;inserting when printing presentations -Oracle Open Office Chart : times, formats -Oracle Open Office Chart : tips -Oracle Open Office Chart : tips;extended tips in Help -Oracle Open Office Chart : title rows -Oracle Open Office Chart : title rows;printing in Oracle Open Office Math -Oracle Open Office Chart : titles -Oracle Open Office Chart : titles;alignment (charts) -Oracle Open Office Chart : titles;changing -Oracle Open Office Chart : titles;editing in charts -Oracle Open Office Chart : titles;font effects -Oracle Open Office Chart : titles;formatting automatically -Oracle Open Office Chart : titles;formatting charts -Oracle Open Office Chart : titles;objects -Oracle Open Office Chart : toolbars -Oracle Open Office Chart : toolbars;adding buttons -Oracle Open Office Chart : toolbars;docking/undocking -Oracle Open Office Chart : toolbars;Form Navigation bar -Oracle Open Office Chart : toolbars;viewing/closing -Oracle Open Office Chart : tools bar -Oracle Open Office Chart : tooltips -Oracle Open Office Chart : tooltips;extended tips -Oracle Open Office Chart : tooltips;help -Oracle Open Office Chart : traditional Chinese -Oracle Open Office Chart : traditional Chinese;translating to simplified chinese -Oracle Open Office Chart : transparency -Oracle Open Office Chart : transparency;areas -Oracle Open Office Chart : transparency;off for faster printing -Oracle Open Office Chart : transparency;saving -Oracle Open Office Chart : tree view of Help -Oracle Open Office Chart : trend lines in charts -Oracle Open Office Chart : typefaces -Oracle Open Office Chart : typefaces;adding under UNIX -Oracle Open Office Chart : typefaces;formats -Oracle Open Office Chart : typographical quotes in Oracle Open Office Writer -Oracle Open Office Chart : typography -Oracle Open Office Chart : typography;Asian -Oracle Open Office Chart : underlining -Oracle Open Office Chart : underlining;AutoFormat function -Oracle Open Office Chart : underlining;characters -Oracle Open Office Chart : underlining;text -Oracle Open Office Chart : undocking windows -Oracle Open Office Chart : undoing -Oracle Open Office Chart : undoing;direct formatting -Oracle Open Office Chart : undoing;editing -Oracle Open Office Chart : undoing;number of steps -Oracle Open Office Chart : ungrouping groups -Oracle Open Office Chart : units -Oracle Open Office Chart : units;converting -Oracle Open Office Chart : units;measurement units -Oracle Open Office Chart : UNO components -Oracle Open Office Chart : UNO components;Extension Manager -Oracle Open Office Chart : UNO components;integrating new -Oracle Open Office Chart : update options -Oracle Open Office Chart : updates -Oracle Open Office Chart : updates;checking automatically -Oracle Open Office Chart : updates;checking manually -Oracle Open Office Chart : updating -Oracle Open Office Chart : updating;fields and charts, automatically (Writer) -Oracle Open Office Chart : updating;links in text documents -Oracle Open Office Chart : updating;links, on opening -Oracle Open Office Chart : updating;templates -Oracle Open Office Chart : URL -Oracle Open Office Chart : URL;changing hyperlink URLs -Oracle Open Office Chart : URL;definition -Oracle Open Office Chart : URL;in pictures -Oracle Open Office Chart : URL;saving absolute/relative paths -Oracle Open Office Chart : URL;turning off URL recognition -Oracle Open Office Chart : user data -Oracle Open Office Chart : user data;input -Oracle Open Office Chart : user data;removing when saving -Oracle Open Office Chart : user feedback -Oracle Open Office Chart : user feedback;automatically -Oracle Open Office Chart : user-defined dictionaries -Oracle Open Office Chart : user-defined dictionaries;creating -Oracle Open Office Chart : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Chart : user-defined dictionaries;editing -Oracle Open Office Chart : user-defined styles -Oracle Open Office Chart : user-defined styles;automatically replacing -Oracle Open Office Chart : UTF-8/UCS2 support -Oracle Open Office Chart : values -Oracle Open Office Chart : values;rounded as shown (Calc) -Oracle Open Office Chart : variables -Oracle Open Office Chart : variables;for paths -Oracle Open Office Chart : variances in charts -Oracle Open Office Chart : VBA code -Oracle Open Office Chart : VBA code;loading/saving documents with VBA code -Oracle Open Office Chart : version management -Oracle Open Office Chart : version numbers of documents -Oracle Open Office Chart : versions -Oracle Open Office Chart : versions;comparing documents -Oracle Open Office Chart : versions;file saving as, restriction -Oracle Open Office Chart : versions;merging document versions -Oracle Open Office Chart : versions;of a document -Oracle Open Office Chart : versions;Oracle Open Office -Oracle Open Office Chart : vertical callouts -Oracle Open Office Chart : vertical scrollbars (Writer) -Oracle Open Office Chart : vertical text boxes -Oracle Open Office Chart : videos -Oracle Open Office Chart : viewing -Oracle Open Office Chart : viewing;databases -Oracle Open Office Chart : viewing;file properties -Oracle Open Office Chart : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Chart : viewing;toolbars -Oracle Open Office Chart : views -Oracle Open Office Chart : views;creating database views (Base) -Oracle Open Office Chart : views;defaults -Oracle Open Office Chart : views;full screen -Oracle Open Office Chart : views;icons -Oracle Open Office Chart : views;scaling -Oracle Open Office Chart : Visual Basic for Applications -Oracle Open Office Chart : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Chart : watermarks -Oracle Open Office Chart : web documents -Oracle Open Office Chart : web documents;XForms -Oracle Open Office Chart : Web support -Oracle Open Office Chart : WebCast export -Oracle Open Office Chart : WebDAV over HTTPS -Oracle Open Office Chart : windows -Oracle Open Office Chart : windows;docking -Oracle Open Office Chart : windows;docking definition -Oracle Open Office Chart : windows;hiding/showing/docking -Oracle Open Office Chart : windows;new -Oracle Open Office Chart : wizards -Oracle Open Office Chart : wizards;agendas -Oracle Open Office Chart : wizards;database queries -Oracle Open Office Chart : wizards;database tables (Base) -Oracle Open Office Chart : wizards;databases (Base) -Oracle Open Office Chart : wizards;document converter -Oracle Open Office Chart : wizards;Euro Converter -Oracle Open Office Chart : wizards;faxes -Oracle Open Office Chart : wizards;forms -Oracle Open Office Chart : wizards;letters -Oracle Open Office Chart : wizards;macros (Base) -Oracle Open Office Chart : wizards;overview -Oracle Open Office Chart : wizards;presentations -Oracle Open Office Chart : wizards;reports -Oracle Open Office Chart : Word documents -Oracle Open Office Chart : Word documents;compatibility -Oracle Open Office Chart : Word documents;saving as -Oracle Open Office Chart : WordArt, see Fontwork -Oracle Open Office Chart : words -Oracle Open Office Chart : words;automatically replacing -Oracle Open Office Chart : words;wrapping in cells -Oracle Open Office Chart : words;wrapping in CTL -Oracle Open Office Chart : working directory change -Oracle Open Office Chart : wrapping text -Oracle Open Office Chart : wrapping text;in cells -Oracle Open Office Chart : write protection on/off -Oracle Open Office Chart : writing aids options -Oracle Open Office Chart : WYSIWYG in fonts lists -Oracle Open Office Chart : X axes -Oracle Open Office Chart : X axes;grid formatting -Oracle Open Office Chart : X axes;positioning -Oracle Open Office Chart : X axes;scaling -Oracle Open Office Chart : X axes;showing -Oracle Open Office Chart : XForms -Oracle Open Office Chart : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Chart : XForms;conditions -Oracle Open Office Chart : XForms;opening/editing -Oracle Open Office Chart : XML converters -Oracle Open Office Chart : XML file formats -Oracle Open Office Chart : XML filters -Oracle Open Office Chart : XML filters;creating/testing -Oracle Open Office Chart : XML filters;saving as package/installing/deleting -Oracle Open Office Chart : XML filters;settings -Oracle Open Office Chart : XML Forms, see XForms -Oracle Open Office Chart : XSLT filters, see also XML filters -Oracle Open Office Chart : XY charts -Oracle Open Office Chart : Y axes -Oracle Open Office Chart : Y axes;formatting -Oracle Open Office Chart : Y axes;grid formatting -Oracle Open Office Chart : Y axes;positioning -Oracle Open Office Chart : Y axes;scaling -Oracle Open Office Chart : Y axes;showing -Oracle Open Office Chart : years -Oracle Open Office Chart : years;2-digit options -Oracle Open Office Chart : Z axes -Oracle Open Office Chart : Z axes;grid formatting -Oracle Open Office Chart : Z axes;showing -Oracle Open Office Chart : zero values -Oracle Open Office Chart : zero values;displaying (Calc) -Oracle Open Office Chart : zooming -Oracle Open Office Chart : zooming;page views -Oracle Open Office Chart : zooming;pictures -Oracle Open Office Chart : zooming;status bar -Oracle Open Office Base : 1/2 replacement -Oracle Open Office Base : 3D text creation -Oracle Open Office Base : abbreviation replacement -Oracle Open Office Base : absolute hyperlinks -Oracle Open Office Base : absolute saving of URLs -Oracle Open Office Base : accents -Oracle Open Office Base : Access databases (base) -Oracle Open Office Base : access rights for database tables (Base) -Oracle Open Office Base : accessibility -Oracle Open Office Base : accessibility;general shortcuts -Oracle Open Office Base : accessibility;options -Oracle Open Office Base : accessibility;Oracle Open Office assistive technology -Oracle Open Office Base : accessibility;Oracle Open Office features -Oracle Open Office Base : activating -Oracle Open Office Base : activating;context menus -Oracle Open Office Base : activating;Error Report Tool -Oracle Open Office Base : activating;extended help tips -Oracle Open Office Base : activating;plug-ins -Oracle Open Office Base : ActiveX control -Oracle Open Office Base : Adabas D databases (base) -Oracle Open Office Base : add-ons, see UNO components -Oracle Open Office Base : additional selection mode -Oracle Open Office Base : address books -Oracle Open Office Base : address books;LDAP server (Base) -Oracle Open Office Base : address books;registering -Oracle Open Office Base : address labels from databases -Oracle Open Office Base : ADO databases (Base) -Oracle Open Office Base : Agenda Wizard -Oracle Open Office Base : aging filter -Oracle Open Office Base : aligning -Oracle Open Office Base : aligning;cells -Oracle Open Office Base : aligning;objects -Oracle Open Office Base : aligning;paragraphs -Oracle Open Office Base : aligning;tables in text -Oracle Open Office Base : aligning;text objects -Oracle Open Office Base : alternative fonts -Oracle Open Office Base : ampersand symbol, see also operators -Oracle Open Office Base : anchors -Oracle Open Office Base : anchors;changing -Oracle Open Office Base : anchors;displaying (Calc) -Oracle Open Office Base : anchors;types/positions for draw objects -Oracle Open Office Base : animations -Oracle Open Office Base : animations;accessibility options -Oracle Open Office Base : appearance options -Oracle Open Office Base : Arabic -Oracle Open Office Base : Arabic;entering text -Oracle Open Office Base : Arabic;language settings -Oracle Open Office Base : areas -Oracle Open Office Base : areas;bitmap patterns -Oracle Open Office Base : areas;hatched/dotted -Oracle Open Office Base : areas;shadows -Oracle Open Office Base : areas;slanting -Oracle Open Office Base : areas;styles -Oracle Open Office Base : areas;transparency -Oracle Open Office Base : arguments in command line -Oracle Open Office Base : arranging -Oracle Open Office Base : arranging;objects -Oracle Open Office Base : arrows -Oracle Open Office Base : arrows;defining arrow heads -Oracle Open Office Base : arrows;defining arrow lines -Oracle Open Office Base : arrows;drawing in text -Oracle Open Office Base : ASCII -Oracle Open Office Base : ASCII;definition -Oracle Open Office Base : Asian languages -Oracle Open Office Base : Asian languages;enabling -Oracle Open Office Base : Asian Phonetic Guide -Oracle Open Office Base : Asian typography -Oracle Open Office Base : assigning scripts -Oracle Open Office Base : assistive technology in Oracle Open Office -Oracle Open Office Base : attaching toolbars -Oracle Open Office Base : attachments in e-mails -Oracle Open Office Base : audio -Oracle Open Office Base : auto reloading HTML documents -Oracle Open Office Base : AutoAbstract function for sending text to presentations -Oracle Open Office Base : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Base : AutoComplete function in text and list boxes -Oracle Open Office Base : AutoCorrect function -Oracle Open Office Base : AutoCorrect function;context menu -Oracle Open Office Base : AutoCorrect function;options -Oracle Open Office Base : AutoCorrect function;pictures and frames -Oracle Open Office Base : AutoCorrect function;quotes -Oracle Open Office Base : AutoCorrect function;replacement table -Oracle Open Office Base : AutoCorrect function;switching on and off in Calc -Oracle Open Office Base : AutoCorrect function;URL recognition -Oracle Open Office Base : AutoFormat function -Oracle Open Office Base : AutoFormat function;switching on and off -Oracle Open Office Base : automatic captions (Writer) -Oracle Open Office Base : automatic control focus -Oracle Open Office Base : automatic hyperlink formatting -Oracle Open Office Base : automatic line breaks -Oracle Open Office Base : automatic lines/borders in text -Oracle Open Office Base : automatic saving -Oracle Open Office Base : AutoPilots, see wizards -Oracle Open Office Base : AutoValue (Base) -Oracle Open Office Base : axes in charts -Oracle Open Office Base : backgrounds -Oracle Open Office Base : backgrounds;defining colors/pictures -Oracle Open Office Base : backgrounds;frames/sections/indexes -Oracle Open Office Base : backgrounds;inserting from Gallery -Oracle Open Office Base : backgrounds;printing -Oracle Open Office Base : backing window -Oracle Open Office Base : backups -Oracle Open Office Base : backups;automatic -Oracle Open Office Base : backups;documents -Oracle Open Office Base : Basic -Oracle Open Office Base : Basic;fonts for source display -Oracle Open Office Base : Basic;programming -Oracle Open Office Base : Basic;recording macros -Oracle Open Office Base : basic fonts -Oracle Open Office Base : Bézier curves -Oracle Open Office Base : Bézier curves;control points in presentations -Oracle Open Office Base : bi-directional writing -Oracle Open Office Base : binding space -Oracle Open Office Base : bitmaps -Oracle Open Office Base : bitmaps;inserting and editing -Oracle Open Office Base : bitmaps;off for faster printing -Oracle Open Office Base : bitmaps;patterns -Oracle Open Office Base : black and white printing -Oracle Open Office Base : black printing in Calc -Oracle Open Office Base : block selection mode -Oracle Open Office Base : bold -Oracle Open Office Base : bold;AutoFormat function -Oracle Open Office Base : bold;text -Oracle Open Office Base : bookmarks -Oracle Open Office Base : bookmarks;Help -Oracle Open Office Base : borders -Oracle Open Office Base : borders;arranging -Oracle Open Office Base : borders;cells on screen (Calc) -Oracle Open Office Base : borders;for paragraphs -Oracle Open Office Base : borders;for tables -Oracle Open Office Base : borders;shadows -Oracle Open Office Base : borders;table boundaries (Writer) -Oracle Open Office Base : borders, see also frames -Oracle Open Office Base : bound fields -Oracle Open Office Base : bound fields;controls -Oracle Open Office Base : boundaries of tables (Writer) -Oracle Open Office Base : break display (Writer) -Oracle Open Office Base : brochures -Oracle Open Office Base : brochures;printing several -Oracle Open Office Base : build numbers of Oracle Open Office -Oracle Open Office Base : bullet lists -Oracle Open Office Base : bullet lists;formatting options -Oracle Open Office Base : bullets -Oracle Open Office Base : bullets;paragraphs -Oracle Open Office Base : bullets;replacing -Oracle Open Office Base : bullets;turning off -Oracle Open Office Base : business cards -Oracle Open Office Base : business cards;creating and synchronizing -Oracle Open Office Base : business cards;using templates -Oracle Open Office Base : button bars, see toolbars -Oracle Open Office Base : buttons -Oracle Open Office Base : buttons;adding push buttons -Oracle Open Office Base : buttons;big/small -Oracle Open Office Base : buttons;editing hyperlink buttons -Oracle Open Office Base : buttons;form functions -Oracle Open Office Base : buttons;toolbars -Oracle Open Office Base : cache for graphics -Oracle Open Office Base : calculating -Oracle Open Office Base : calculating;iterative references (Calc) -Oracle Open Office Base : callouts -Oracle Open Office Base : callouts;drawings -Oracle Open Office Base : capital letters -Oracle Open Office Base : capital letters;AutoCorrect function -Oracle Open Office Base : capital letters;font effects -Oracle Open Office Base : captions -Oracle Open Office Base : captions;automatic captions (Writer) -Oracle Open Office Base : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Base : captions, see also labels/callouts -Oracle Open Office Base : cascading update (Base) -Oracle Open Office Base : case sensitivity -Oracle Open Office Base : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Base : case sensitivity;searching -Oracle Open Office Base : cells -Oracle Open Office Base : cells;aligning -Oracle Open Office Base : cells;coloring (Calc) -Oracle Open Office Base : cells;cursor positions after input (Calc) -Oracle Open Office Base : cells;formatting without effect (Calc) -Oracle Open Office Base : cells;line breaks -Oracle Open Office Base : cells;linked to controls -Oracle Open Office Base : cells;number of -Oracle Open Office Base : cells;pasting -Oracle Open Office Base : cells;resetting formats -Oracle Open Office Base : cells;showing grid lines (Calc) -Oracle Open Office Base : centered text -Oracle Open Office Base : centimeters -Oracle Open Office Base : certificates -Oracle Open Office Base : changes -Oracle Open Office Base : changes;accepting or rejecting -Oracle Open Office Base : changes;comparing to original -Oracle Open Office Base : changes;protecting -Oracle Open Office Base : changes;recording -Oracle Open Office Base : changes;review function -Oracle Open Office Base : changes;showing -Oracle Open Office Base : changing -Oracle Open Office Base : changing;document titles -Oracle Open Office Base : changing;file associations in Setup program -Oracle Open Office Base : changing;icon sizes -Oracle Open Office Base : changing;links -Oracle Open Office Base : changing;work directory -Oracle Open Office Base : changing, see also editing and replacing -Oracle Open Office Base : character styles -Oracle Open Office Base : character styles;language selection -Oracle Open Office Base : characters -Oracle Open Office Base : characters;alternative fonts -Oracle Open Office Base : characters;Asian layout -Oracle Open Office Base : characters;bold -Oracle Open Office Base : characters;coloring -Oracle Open Office Base : characters;displaying only on screen (Writer) -Oracle Open Office Base : characters;enabling CTL and Asian characters -Oracle Open Office Base : characters;font effects -Oracle Open Office Base : characters;fonts and formats -Oracle Open Office Base : characters;hyperlinks -Oracle Open Office Base : characters;italics -Oracle Open Office Base : characters;language selection -Oracle Open Office Base : characters;shadowed -Oracle Open Office Base : characters;spacing -Oracle Open Office Base : characters;special -Oracle Open Office Base : characters;underlining -Oracle Open Office Base : charcoal sketches filter -Oracle Open Office Base : charts -Oracle Open Office Base : charts;arranging within stacks -Oracle Open Office Base : charts;bars with textures -Oracle Open Office Base : charts;colors -Oracle Open Office Base : charts;copying with link to source cell range -Oracle Open Office Base : charts;displaying (Calc) -Oracle Open Office Base : charts;editing axes -Oracle Open Office Base : charts;editing data -Oracle Open Office Base : charts;editing legends -Oracle Open Office Base : charts;editing titles -Oracle Open Office Base : charts;inserting -Oracle Open Office Base : charts;updating automatically (Writer) -Oracle Open Office Base : check box creation -Oracle Open Office Base : Chinese writing systems -Oracle Open Office Base : choosing printers -Oracle Open Office Base : circle drawings -Oracle Open Office Base : Client Side ImageMap -Oracle Open Office Base : clipboard -Oracle Open Office Base : clipboard;cutting -Oracle Open Office Base : clipboard;pasting -Oracle Open Office Base : clipboard;pasting formatted/unformatted text -Oracle Open Office Base : clipboard;selection clipboard -Oracle Open Office Base : clipboard;Unix -Oracle Open Office Base : closing -Oracle Open Office Base : closing;documents -Oracle Open Office Base : closing;toolbars -Oracle Open Office Base : collaboration -Oracle Open Office Base : color bar -Oracle Open Office Base : colors -Oracle Open Office Base : colors;adding -Oracle Open Office Base : colors;appearance -Oracle Open Office Base : colors;backgrounds -Oracle Open Office Base : colors;charts -Oracle Open Office Base : colors;fill format -Oracle Open Office Base : colors;fonts -Oracle Open Office Base : colors;grid lines and cells (Calc) -Oracle Open Office Base : colors;models -Oracle Open Office Base : colors;not printing -Oracle Open Office Base : colors;printing in grayscale -Oracle Open Office Base : colors;restriction (Calc) -Oracle Open Office Base : colors;selection -Oracle Open Office Base : column headers -Oracle Open Office Base : column headers;displaying (Calc) -Oracle Open Office Base : column headers;highlighting (Calc) -Oracle Open Office Base : columns -Oracle Open Office Base : columns;setting with the mouse -Oracle Open Office Base : combo box creation -Oracle Open Office Base : command button creation -Oracle Open Office Base : command buttons, see push buttons -Oracle Open Office Base : command line parameters -Oracle Open Office Base : commands -Oracle Open Office Base : commands;repeating -Oracle Open Office Base : commands;SQL -Oracle Open Office Base : comments -Oracle Open Office Base : comments;displaying (Calc) -Oracle Open Office Base : comments;inserting/editing/deleting/printing -Oracle Open Office Base : comments;on changes -Oracle Open Office Base : comments;printing in text -Oracle Open Office Base : common terms -Oracle Open Office Base : common terms;Chinese dictionary -Oracle Open Office Base : common terms;glossaries -Oracle Open Office Base : common terms;Internet glossary -Oracle Open Office Base : comparisons -Oracle Open Office Base : comparisons;document versions -Oracle Open Office Base : comparisons;operators in default filter dialog -Oracle Open Office Base : compatibility settings for MS Word import -Oracle Open Office Base : complete screen view -Oracle Open Office Base : complex text layout -Oracle Open Office Base : complex text layout;definition -Oracle Open Office Base : complex text layout;enabling -Oracle Open Office Base : complex text layout, see CTL -Oracle Open Office Base : compose key to insert special characters -Oracle Open Office Base : concatenation, see ampersand symbol -Oracle Open Office Base : conditional separators -Oracle Open Office Base : conditions -Oracle Open Office Base : conditions;in number formats -Oracle Open Office Base : conditions;items in Data Navigator -Oracle Open Office Base : Configuration Manager -Oracle Open Office Base : configuring -Oracle Open Office Base : configuring;fax icon -Oracle Open Office Base : configuring;Oracle Open Office -Oracle Open Office Base : configuring;toolbars -Oracle Open Office Base : connections to data sources (Base) -Oracle Open Office Base : contents protection -Oracle Open Office Base : context menus -Oracle Open Office Base : control point display in presentations -Oracle Open Office Base : controls -Oracle Open Office Base : controls;activating in forms -Oracle Open Office Base : controls;adding to documents -Oracle Open Office Base : controls;arranging in forms -Oracle Open Office Base : controls;arranging within stacks -Oracle Open Office Base : controls;assigning data sources -Oracle Open Office Base : controls;assigning macros (Basic) -Oracle Open Office Base : controls;bound fields/list contents/linked cells -Oracle Open Office Base : controls;events -Oracle Open Office Base : controls;focus -Oracle Open Office Base : controls;formatted fields -Oracle Open Office Base : controls;grouping -Oracle Open Office Base : controls;hidden -Oracle Open Office Base : controls;inserting -Oracle Open Office Base : controls;multi-line titles -Oracle Open Office Base : controls;positions and sizes -Oracle Open Office Base : controls;printing -Oracle Open Office Base : controls;properties of form controls -Oracle Open Office Base : controls;properties of table controls -Oracle Open Office Base : controls;reference by SQL -Oracle Open Office Base : controls;rich text control -Oracle Open Office Base : controls;select mode -Oracle Open Office Base : controls;showing (Writer) -Oracle Open Office Base : converters -Oracle Open Office Base : converters;Euro converter -Oracle Open Office Base : converters;PostScript, UNIX -Oracle Open Office Base : converters;XML -Oracle Open Office Base : converting -Oracle Open Office Base : converting;Hangul/Hanja -Oracle Open Office Base : converting;metrics -Oracle Open Office Base : converting;Microsoft documents -Oracle Open Office Base : converting;Oracle Open Office documents -Oracle Open Office Base : converting;Pocket PC formats -Oracle Open Office Base : copies -Oracle Open Office Base : copies;printing -Oracle Open Office Base : copying -Oracle Open Office Base : copying;by drag and drop -Oracle Open Office Base : copying;data from text documents -Oracle Open Office Base : copying;datasource records in spreadsheets -Oracle Open Office Base : copying;draw objects -Oracle Open Office Base : copying;draw objects between documents -Oracle Open Office Base : copying;formatting -Oracle Open Office Base : copying;from data source view -Oracle Open Office Base : copying;from Gallery -Oracle Open Office Base : copying;in Unix -Oracle Open Office Base : copying;pictures, between documents -Oracle Open Office Base : copying;sheet areas, to text documents -Oracle Open Office Base : copying;to Gallery -Oracle Open Office Base : copyright for Oracle Open Office -Oracle Open Office Base : corner roundings -Oracle Open Office Base : crash reports -Oracle Open Office Base : criteria of query design (Base) -Oracle Open Office Base : cropping pictures -Oracle Open Office Base : CTL -Oracle Open Office Base : CTL;(not) wrapping words -Oracle Open Office Base : CTL;complex text layout languages -Oracle Open Office Base : CTL;definition -Oracle Open Office Base : CTL;options -Oracle Open Office Base : currencies -Oracle Open Office Base : currencies;converters -Oracle Open Office Base : currencies;format codes -Oracle Open Office Base : currency field creation -Oracle Open Office Base : currency formats -Oracle Open Office Base : cursor -Oracle Open Office Base : cursor;allowing in protected areas (Writer) -Oracle Open Office Base : cursor;in read-only text -Oracle Open Office Base : cursor;quickly moving to an object -Oracle Open Office Base : curves -Oracle Open Office Base : curves;editing points -Oracle Open Office Base : custom dictionaries -Oracle Open Office Base : custom dictionaries;editing -Oracle Open Office Base : custom hyphens (Writer) -Oracle Open Office Base : custom quotes -Oracle Open Office Base : custom templates -Oracle Open Office Base : customizing -Oracle Open Office Base : customizing;events -Oracle Open Office Base : customizing;keyboard -Oracle Open Office Base : customizing;menus -Oracle Open Office Base : customizing;Oracle Open Office -Oracle Open Office Base : customizing;round corners -Oracle Open Office Base : customizing;toolbars -Oracle Open Office Base : cutting -Oracle Open Office Base : dashes -Oracle Open Office Base : data -Oracle Open Office Base : data;filtering in forms -Oracle Open Office Base : data;forms and subforms -Oracle Open Office Base : data;read-only -Oracle Open Office Base : data;sorting in forms -Oracle Open Office Base : data;user data -Oracle Open Office Base : data binding change in XForms -Oracle Open Office Base : Data Navigator -Oracle Open Office Base : Data Navigator;adding/editing items -Oracle Open Office Base : Data Navigator;display options -Oracle Open Office Base : data source browser -Oracle Open Office Base : data source explorer -Oracle Open Office Base : data source view -Oracle Open Office Base : data source view;drag and drop -Oracle Open Office Base : data source view;overview -Oracle Open Office Base : data source view;showing -Oracle Open Office Base : data sources -Oracle Open Office Base : data sources;as tables -Oracle Open Office Base : data sources;connection settings (Base) -Oracle Open Office Base : data sources;copying records to spreadsheets -Oracle Open Office Base : data sources;displaying current -Oracle Open Office Base : data sources;LDAP server (Base) -Oracle Open Office Base : data sources;Oracle Open Office Base -Oracle Open Office Base : data sources;registering address books -Oracle Open Office Base : data sources;reports -Oracle Open Office Base : data sources;viewing -Oracle Open Office Base : data structure of XForms -Oracle Open Office Base : data, see also values -Oracle Open Office Base : database contents -Oracle Open Office Base : database contents;inserting as tables -Oracle Open Office Base : database contents;inserting as text -Oracle Open Office Base : database reports -Oracle Open Office Base : Database Wizard (Base) -Oracle Open Office Base : databases -Oracle Open Office Base : databases;administration through SQL (Base) -Oracle Open Office Base : databases;ADO (Base) -Oracle Open Office Base : databases;connecting (Base) -Oracle Open Office Base : databases;creating -Oracle Open Office Base : databases;creating labels -Oracle Open Office Base : databases;creating queries -Oracle Open Office Base : databases;creating reports -Oracle Open Office Base : databases;creating tables -Oracle Open Office Base : databases;deleting (Base) -Oracle Open Office Base : databases;drag and drop (Base) -Oracle Open Office Base : databases;editing tables -Oracle Open Office Base : databases;form filters -Oracle Open Office Base : databases;formats (Base) -Oracle Open Office Base : databases;importing/exporting -Oracle Open Office Base : databases;JDBC (Base) -Oracle Open Office Base : databases;main page (Base) -Oracle Open Office Base : databases;ODBC (Base) -Oracle Open Office Base : databases;overview -Oracle Open Office Base : databases;registering (Base) -Oracle Open Office Base : databases;searching records -Oracle Open Office Base : databases;shortcut keys -Oracle Open Office Base : databases;sorting -Oracle Open Office Base : databases;standard filters -Oracle Open Office Base : databases;text formats -Oracle Open Office Base : databases;viewing -Oracle Open Office Base : date fields -Oracle Open Office Base : date fields;creating -Oracle Open Office Base : date fields;properties -Oracle Open Office Base : date formats -Oracle Open Office Base : dates -Oracle Open Office Base : dates;default (Calc) -Oracle Open Office Base : dates;printing in presentations -Oracle Open Office Base : dates;start 1900/01/01 (Calc) -Oracle Open Office Base : dates;start 1904/01/01 (Calc) -Oracle Open Office Base : dBASE -Oracle Open Office Base : dBASE;database settings (Base) -Oracle Open Office Base : DDE -Oracle Open Office Base : DDE;definition -Oracle Open Office Base : deactivating -Oracle Open Office Base : deactivating;plug-ins -Oracle Open Office Base : decimal places displayed (Calc) -Oracle Open Office Base : decimal separator key -Oracle Open Office Base : decimal tab stops -Oracle Open Office Base : default directories -Oracle Open Office Base : default filters -Oracle Open Office Base : default filters;comparison operators -Oracle Open Office Base : default filters;databases -Oracle Open Office Base : default printer -Oracle Open Office Base : default printer;setting up -Oracle Open Office Base : default printer;UNIX -Oracle Open Office Base : default templates -Oracle Open Office Base : default templates;changing -Oracle Open Office Base : default templates;organizing -Oracle Open Office Base : defaults -Oracle Open Office Base : defaults;documents -Oracle Open Office Base : defaults;file formats in file dialogs -Oracle Open Office Base : defaults;file formats in Oracle Open Office -Oracle Open Office Base : defaults;fonts -Oracle Open Office Base : defaults;grids (Writer/Calc) -Oracle Open Office Base : defaults;languages -Oracle Open Office Base : defaults;number formats -Oracle Open Office Base : defaults;of saving -Oracle Open Office Base : defaults;program configuration -Oracle Open Office Base : defaults;tab stops in text -Oracle Open Office Base : defaults;views -Oracle Open Office Base : defining -Oracle Open Office Base : defining;arrowheads and other line ends -Oracle Open Office Base : defining;colors -Oracle Open Office Base : defining;line styles -Oracle Open Office Base : defining;paragraph borders -Oracle Open Office Base : defining;queries (Base) -Oracle Open Office Base : defining;table borders -Oracle Open Office Base : deleting -Oracle Open Office Base : deleting;all direct formatting -Oracle Open Office Base : deleting;comments -Oracle Open Office Base : deleting;databases (Base) -Oracle Open Office Base : deleting;hyperlinks -Oracle Open Office Base : deleting;lines in text -Oracle Open Office Base : deleting;models/instances -Oracle Open Office Base : deleting;namespaces in XForms -Oracle Open Office Base : deleting;tab stops -Oracle Open Office Base : deleting;templates -Oracle Open Office Base : deleting;XML filters -Oracle Open Office Base : depth stagger -Oracle Open Office Base : descriptions for objects -Oracle Open Office Base : design mode after saving -Oracle Open Office Base : design view -Oracle Open Office Base : design view;creating forms -Oracle Open Office Base : design view;queries/views (Base) -Oracle Open Office Base : designing -Oracle Open Office Base : designing;database tables -Oracle Open Office Base : designing;fonts -Oracle Open Office Base : designing;queries (Base) -Oracle Open Office Base : detaching toolbars -Oracle Open Office Base : dictionaries -Oracle Open Office Base : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Base : dictionaries;creating -Oracle Open Office Base : dictionaries;editing user-defined -Oracle Open Office Base : dictionaries;spellcheck -Oracle Open Office Base : dictionaries, see also languages -Oracle Open Office Base : digital signatures -Oracle Open Office Base : digital signatures;getting/managing/applying -Oracle Open Office Base : digital signatures;overview -Oracle Open Office Base : digital signatures;WebDAV over HTTPS -Oracle Open Office Base : direct formatting -Oracle Open Office Base : direct formatting;undoing all -Oracle Open Office Base : directories -Oracle Open Office Base : directories;creating new -Oracle Open Office Base : directories;directory structure -Oracle Open Office Base : disabled persons -Oracle Open Office Base : displaying -Oracle Open Office Base : displaying;comments (Calc) -Oracle Open Office Base : displaying;comments in text documents -Oracle Open Office Base : displaying;non-printing characters (Writer) -Oracle Open Office Base : displaying;pictures and objects (Writer) -Oracle Open Office Base : displaying;tables (Writer) -Oracle Open Office Base : displaying;zero values (Calc) -Oracle Open Office Base : distances -Oracle Open Office Base : distinct values in SQL queries -Oracle Open Office Base : distorting in drawings -Oracle Open Office Base : distributing XML filters -Oracle Open Office Base : docking -Oracle Open Office Base : docking;definition -Oracle Open Office Base : docking;toolbars -Oracle Open Office Base : docking;windows -Oracle Open Office Base : Document Converter Wizard -Oracle Open Office Base : Document Map, see Navigator -Oracle Open Office Base : document types in Oracle Open Office -Oracle Open Office Base : documents -Oracle Open Office Base : documents;changing titles -Oracle Open Office Base : documents;closing -Oracle Open Office Base : documents;comparing -Oracle Open Office Base : documents;contents as lists -Oracle Open Office Base : documents;editing time -Oracle Open Office Base : documents;exporting -Oracle Open Office Base : documents;importing -Oracle Open Office Base : documents;languages -Oracle Open Office Base : documents;measurement units in -Oracle Open Office Base : documents;merging -Oracle Open Office Base : documents;number of pages/tables/sheets -Oracle Open Office Base : documents;opening -Oracle Open Office Base : documents;opening in design mode -Oracle Open Office Base : documents;opening with templates -Oracle Open Office Base : documents;organizing -Oracle Open Office Base : documents;printing -Oracle Open Office Base : documents;read-only -Oracle Open Office Base : documents;reloading -Oracle Open Office Base : documents;saving -Oracle Open Office Base : documents;saving automatically -Oracle Open Office Base : documents;saving in other formats -Oracle Open Office Base : documents;sending as e-mail -Oracle Open Office Base : documents;styles changed -Oracle Open Office Base : documents;version management -Oracle Open Office Base : documents;version numbers -Oracle Open Office Base : dotted areas -Oracle Open Office Base : double-line spacing in paragraphs -Oracle Open Office Base : double-line writing in Asian layout -Oracle Open Office Base : drag and drop -Oracle Open Office Base : drag and drop;copying and pasting text -Oracle Open Office Base : drag and drop;data source view -Oracle Open Office Base : drag and drop;from Gallery to draw objects -Oracle Open Office Base : drag and drop;overview -Oracle Open Office Base : drag and drop;pictures -Oracle Open Office Base : drag and drop;to Gallery -Oracle Open Office Base : draw objects -Oracle Open Office Base : draw objects;adding/editing/copying -Oracle Open Office Base : draw objects;anchoring -Oracle Open Office Base : draw objects;arranging within stacks -Oracle Open Office Base : draw objects;copying between documents -Oracle Open Office Base : draw objects;displaying (Calc) -Oracle Open Office Base : draw objects;dropping Gallery pictures -Oracle Open Office Base : draw objects;flipping -Oracle Open Office Base : draw objects;legends -Oracle Open Office Base : draw objects;positioning and resizing -Oracle Open Office Base : draw objects;protecting -Oracle Open Office Base : draw objects;slanting -Oracle Open Office Base : draw objects;text in -Oracle Open Office Base : Drawing bar -Oracle Open Office Base : drawing lines in text -Oracle Open Office Base : drawings -Oracle Open Office Base : drawings;creating/opening -Oracle Open Office Base : drawings;languages -Oracle Open Office Base : drawings;printing -Oracle Open Office Base : drawings;printing defaults -Oracle Open Office Base : drawings;printing in text documents -Oracle Open Office Base : drawings;saving -Oracle Open Office Base : drawings;saving automatically -Oracle Open Office Base : drawings;saving in other formats -Oracle Open Office Base : drawings;sending as e-mail -Oracle Open Office Base : drawings;showing (Writer) -Oracle Open Office Base : drawings, see also draw objects -Oracle Open Office Base : drop-down lists in form functions -Oracle Open Office Base : e-mail attachments -Oracle Open Office Base : Edit File icon -Oracle Open Office Base : edit mode -Oracle Open Office Base : edit mode;after opening -Oracle Open Office Base : edit mode;through Enter key (Calc) -Oracle Open Office Base : Edit Points bar -Oracle Open Office Base : editing -Oracle Open Office Base : editing;chart axes -Oracle Open Office Base : editing;chart data -Oracle Open Office Base : editing;chart legends -Oracle Open Office Base : editing;chart titles -Oracle Open Office Base : editing;comments -Oracle Open Office Base : editing;data binding of XForms -Oracle Open Office Base : editing;database tables and queries -Oracle Open Office Base : editing;draw objects -Oracle Open Office Base : editing;Fontwork objects -Oracle Open Office Base : editing;hyperlinks -Oracle Open Office Base : editing;menus -Oracle Open Office Base : editing;objects -Oracle Open Office Base : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Base : editing;pictures -Oracle Open Office Base : editing;reports -Oracle Open Office Base : editing;shortcut keys -Oracle Open Office Base : editing;tab stops -Oracle Open Office Base : editing;templates -Oracle Open Office Base : editing;toolbars -Oracle Open Office Base : editing;undoing -Oracle Open Office Base : editing;XForms -Oracle Open Office Base : editing time of documents -Oracle Open Office Base : editors -Oracle Open Office Base : editors;formula editor -Oracle Open Office Base : editors;ImageMap editor -Oracle Open Office Base : effects -Oracle Open Office Base : effects;font positions -Oracle Open Office Base : effects;fonts -Oracle Open Office Base : effects;Fontwork icons -Oracle Open Office Base : empty documents -Oracle Open Office Base : empty paragraph removal -Oracle Open Office Base : encryption of contents -Oracle Open Office Base : entering groups -Oracle Open Office Base : entering text from right to left -Oracle Open Office Base : equal sign, see also operators -Oracle Open Office Base : equations in formula editor -Oracle Open Office Base : Error Report Tool -Oracle Open Office Base : Euro -Oracle Open Office Base : Euro;currency formats -Oracle Open Office Base : Euro;Euro Converter Wizard -Oracle Open Office Base : even/odd pages -Oracle Open Office Base : even/odd pages;printing -Oracle Open Office Base : events -Oracle Open Office Base : events;assigning scripts -Oracle Open Office Base : events;controls -Oracle Open Office Base : events;customizing -Oracle Open Office Base : events;in forms -Oracle Open Office Base : Excel -Oracle Open Office Base : Excel;saving as -Oracle Open Office Base : Excel;search criteria -Oracle Open Office Base : exceptions -Oracle Open Office Base : exceptions;user-defined dictionaries -Oracle Open Office Base : exchanging, see also replacing -Oracle Open Office Base : executing SQL commands -Oracle Open Office Base : exiting -Oracle Open Office Base : exiting;groups -Oracle Open Office Base : exiting;Oracle Open Office -Oracle Open Office Base : expanding formatting (Calc) -Oracle Open Office Base : explorer of data sources -Oracle Open Office Base : export filters -Oracle Open Office Base : exporting -Oracle Open Office Base : exporting;bitmaps -Oracle Open Office Base : exporting;HTML and text documents -Oracle Open Office Base : exporting;Microsoft Office documents with VBA code -Oracle Open Office Base : exporting;spreadsheets to text format -Oracle Open Office Base : exporting;templates -Oracle Open Office Base : exporting;to foreign formats -Oracle Open Office Base : exporting;to HTML -Oracle Open Office Base : exporting;to Microsoft Office formats -Oracle Open Office Base : exporting;to PDF -Oracle Open Office Base : exporting;to PostScript format -Oracle Open Office Base : exporting;to XML -Oracle Open Office Base : exporting;XML files -Oracle Open Office Base : extended tips in Help -Oracle Open Office Base : extension mode in text -Oracle Open Office Base : extensions -Oracle Open Office Base : extensions;Extension Manager -Oracle Open Office Base : extensions;file formats -Oracle Open Office Base : external keys (Base) -Oracle Open Office Base : faster printing -Oracle Open Office Base : faxes -Oracle Open Office Base : faxes;configuring Oracle Open Office -Oracle Open Office Base : faxes;fax programs/fax printers under UNIX -Oracle Open Office Base : faxes;selecting a fax machine -Oracle Open Office Base : faxes;sending -Oracle Open Office Base : faxes;wizards -Oracle Open Office Base : feedback -Oracle Open Office Base : feedback;automatically -Oracle Open Office Base : fields -Oracle Open Office Base : fields;database tables -Oracle Open Office Base : fields;displaying field codes (Writer) -Oracle Open Office Base : fields;formatted fields -Oracle Open Office Base : fields;updating automatically (Writer) -Oracle Open Office Base : file associations for Microsoft Office -Oracle Open Office Base : file filters -Oracle Open Office Base : file filters;mobile devices -Oracle Open Office Base : file filters;XML -Oracle Open Office Base : file formats -Oracle Open Office Base : file formats;changing Oracle Open Office defaults -Oracle Open Office Base : file formats;OpenDocument/XML -Oracle Open Office Base : file formats;saving always in other formats -Oracle Open Office Base : file selection button -Oracle Open Office Base : file sharing options for current document -Oracle Open Office Base : files -Oracle Open Office Base : files;filters and formats -Oracle Open Office Base : files;importing -Oracle Open Office Base : files;opening -Oracle Open Office Base : files;opening with placeholders -Oracle Open Office Base : files;properties -Oracle Open Office Base : files;saving -Oracle Open Office Base : files;saving automatically -Oracle Open Office Base : files;saving in other formats -Oracle Open Office Base : files;sending as e-mail -Oracle Open Office Base : files;version numbers -Oracle Open Office Base : files and folders in Oracle Open Office -Oracle Open Office Base : fill characters with tabulators -Oracle Open Office Base : fill colors for areas -Oracle Open Office Base : fill patterns for areas -Oracle Open Office Base : filter conditions -Oracle Open Office Base : filter conditions;connecting -Oracle Open Office Base : filter conditions;in queries (Base) -Oracle Open Office Base : filtering -Oracle Open Office Base : filtering;data in databases -Oracle Open Office Base : filtering;data in forms -Oracle Open Office Base : filters -Oracle Open Office Base : filters;comparison operators -Oracle Open Office Base : filters;for import and export -Oracle Open Office Base : filters;Navigator -Oracle Open Office Base : filters;pictures -Oracle Open Office Base : filters;XML filter settings -Oracle Open Office Base : Find tab in Help -Oracle Open Office Base : finding -Oracle Open Office Base : finding;in all sheets -Oracle Open Office Base : finding;records in form documents -Oracle Open Office Base : finding;selections -Oracle Open Office Base : finding;similarity search -Oracle Open Office Base : fitting to pages -Oracle Open Office Base : fitting to pages;print settings in Math -Oracle Open Office Base : fitting to pages;print settings in presentations -Oracle Open Office Base : fixed text -Oracle Open Office Base : fixed text;form functions -Oracle Open Office Base : fixing toolbars -Oracle Open Office Base : flipping draw objects -Oracle Open Office Base : floating frames in HTML documents -Oracle Open Office Base : floating toolbars -Oracle Open Office Base : focus of controls -Oracle Open Office Base : folder creation -Oracle Open Office Base : font lists -Oracle Open Office Base : font name box -Oracle Open Office Base : font sizes -Oracle Open Office Base : font sizes;bullets -Oracle Open Office Base : font sizes;relative changes -Oracle Open Office Base : font sizes;scaling on screen -Oracle Open Office Base : font sizes;text -Oracle Open Office Base : fonts -Oracle Open Office Base : fonts;adding under UNIX -Oracle Open Office Base : fonts;changing in templates -Oracle Open Office Base : fonts;colors -Oracle Open Office Base : fonts;default settings -Oracle Open Office Base : fonts;effects -Oracle Open Office Base : fonts;for HTML and Basic -Oracle Open Office Base : fonts;formats -Oracle Open Office Base : fonts;outlines -Oracle Open Office Base : fonts;positions in text -Oracle Open Office Base : fonts;shadows -Oracle Open Office Base : fonts;specifying several -Oracle Open Office Base : fonts;strikethrough -Oracle Open Office Base : fonts;styles -Oracle Open Office Base : fonts;text objects -Oracle Open Office Base : Fontwork icons -Oracle Open Office Base : footers -Oracle Open Office Base : footers;backgrounds -Oracle Open Office Base : form controls -Oracle Open Office Base : form controls;assigning macros -Oracle Open Office Base : form controls;protecting -Oracle Open Office Base : form controls;toolbars -Oracle Open Office Base : form fields -Oracle Open Office Base : form filters -Oracle Open Office Base : Form Navigator -Oracle Open Office Base : format codes -Oracle Open Office Base : format codes;numbers -Oracle Open Office Base : format filling printing in Oracle Open Office Math -Oracle Open Office Base : Format Paintbrush -Oracle Open Office Base : formats -Oracle Open Office Base : formats;Asian layout -Oracle Open Office Base : formats;fonts -Oracle Open Office Base : formats;maximizing page formats -Oracle Open Office Base : formats;number and currency formats -Oracle Open Office Base : formats;of currencies/date/time -Oracle Open Office Base : formats;on opening and saving -Oracle Open Office Base : formats;pasting in special formats -Oracle Open Office Base : formats;positions -Oracle Open Office Base : formats;tabulators -Oracle Open Office Base : formatted fields -Oracle Open Office Base : formatted fields;form functions -Oracle Open Office Base : formatted fields;properties -Oracle Open Office Base : formatting -Oracle Open Office Base : formatting;Asian typography -Oracle Open Office Base : formatting;axes in charts -Oracle Open Office Base : formatting;chart legends -Oracle Open Office Base : formatting;copying -Oracle Open Office Base : formatting;definition -Oracle Open Office Base : formatting;expanding (Calc) -Oracle Open Office Base : formatting;font effects -Oracle Open Office Base : formatting;hyperlinks -Oracle Open Office Base : formatting;pages -Oracle Open Office Base : formatting;printer metrics (Writer) -Oracle Open Office Base : formatting;undoing -Oracle Open Office Base : formatting;undoing when writing -Oracle Open Office Base : forms -Oracle Open Office Base : forms;browsing -Oracle Open Office Base : forms;Combo Box/List Box Wizard -Oracle Open Office Base : forms;creating -Oracle Open Office Base : forms;data -Oracle Open Office Base : forms;designing (Base) -Oracle Open Office Base : forms;events -Oracle Open Office Base : forms;filtering data -Oracle Open Office Base : forms;finding records -Oracle Open Office Base : forms;focus after opening -Oracle Open Office Base : forms;general information (Base) -Oracle Open Office Base : forms;grouping controls -Oracle Open Office Base : forms;HTML filters -Oracle Open Office Base : forms;Navigator -Oracle Open Office Base : forms;opening in design mode -Oracle Open Office Base : forms;properties -Oracle Open Office Base : forms;sorting data -Oracle Open Office Base : forms;subforms -Oracle Open Office Base : forms;wizards -Oracle Open Office Base : forms;XForms -Oracle Open Office Base : formula texts -Oracle Open Office Base : formula texts;printing in Oracle Open Office Math -Oracle Open Office Base : formulas -Oracle Open Office Base : formulas;new -Oracle Open Office Base : formulas;starting formula editor -Oracle Open Office Base : formulas in reports -Oracle Open Office Base : formulas in reports;editing -Oracle Open Office Base : forums and support -Oracle Open Office Base : frames -Oracle Open Office Base : frames;around paragraphs -Oracle Open Office Base : frames;around tables -Oracle Open Office Base : frames;AutoCorrect function -Oracle Open Office Base : frames;backgrounds -Oracle Open Office Base : frames;captions (Writer) -Oracle Open Office Base : frames;printing in Oracle Open Office Math -Oracle Open Office Base : frames;protecting -Oracle Open Office Base : frames;selection frames -Oracle Open Office Base : frames;text fitting to frames -Oracle Open Office Base : freeform lines -Oracle Open Office Base : freeform lines;draw functions -Oracle Open Office Base : FTP -Oracle Open Office Base : FTP;opening documents -Oracle Open Office Base : FTP;saving documents -Oracle Open Office Base : full joins (Base) -Oracle Open Office Base : full screen view -Oracle Open Office Base : full-text search in Help -Oracle Open Office Base : functions in reports -Oracle Open Office Base : functions in reports;editing -Oracle Open Office Base : Gallery -Oracle Open Office Base : Gallery;adding pictures -Oracle Open Office Base : Gallery;dragging pictures to draw objects -Oracle Open Office Base : Gallery;hiding/showing -Oracle Open Office Base : Gallery;inserting pictures from -Oracle Open Office Base : get method for form transmissions -Oracle Open Office Base : getting support -Oracle Open Office Base : GIF format -Oracle Open Office Base : glossaries -Oracle Open Office Base : glossaries;common terms -Oracle Open Office Base : glossaries;Internet terms -Oracle Open Office Base : gradients off for faster printing -Oracle Open Office Base : graphic objects, see draw objects -Oracle Open Office Base : graphical text art -Oracle Open Office Base : graphics -Oracle Open Office Base : graphics;cache -Oracle Open Office Base : graphics;protecting -Oracle Open Office Base : graphics, see also pictures -Oracle Open Office Base : grayscale printing -Oracle Open Office Base : grid controls -Oracle Open Office Base : grid controls;form functions -Oracle Open Office Base : grids -Oracle Open Office Base : grids;defaults (Writer/Calc) -Oracle Open Office Base : grids;display options (Impress/Draw) -Oracle Open Office Base : grids;displaying lines (Calc) -Oracle Open Office Base : group box creation -Oracle Open Office Base : groups -Oracle Open Office Base : groups;entering/exiting/ungrouping -Oracle Open Office Base : groups;naming -Oracle Open Office Base : groups;of controls -Oracle Open Office Base : guides -Oracle Open Office Base : guides;display options (Impress/Draw) -Oracle Open Office Base : guides;displaying when moving objects (Impress) -Oracle Open Office Base : guides;showing (Calc) -Oracle Open Office Base : guides;showing when moving frames (Writer) -Oracle Open Office Base : gutter -Oracle Open Office Base : handles -Oracle Open Office Base : handles;displaying (Writer) -Oracle Open Office Base : handles;scaling -Oracle Open Office Base : handles;showing simple/large handles (Calc) -Oracle Open Office Base : Hangul/Hanja -Oracle Open Office Base : hatching -Oracle Open Office Base : headers -Oracle Open Office Base : headers;backgrounds -Oracle Open Office Base : headings -Oracle Open Office Base : headings;entering as text box -Oracle Open Office Base : Hebrew -Oracle Open Office Base : Hebrew;entering text -Oracle Open Office Base : Hebrew;language settings -Oracle Open Office Base : Help -Oracle Open Office Base : Help;bookmarks -Oracle Open Office Base : Help;extended tips on/off -Oracle Open Office Base : Help;full-text search -Oracle Open Office Base : Help;Help tips -Oracle Open Office Base : Help;keywords -Oracle Open Office Base : Help;navigation pane showing/hiding -Oracle Open Office Base : Help;style sheets -Oracle Open Office Base : Help;topics -Oracle Open Office Base : Help Agent -Oracle Open Office Base : Help Agent;help -Oracle Open Office Base : Help Agent;options -Oracle Open Office Base : Help tips -Oracle Open Office Base : Help tips;hiding -Oracle Open Office Base : hidden controls in Form Navigator -Oracle Open Office Base : hidden fields display (Writer) -Oracle Open Office Base : hidden pages -Oracle Open Office Base : hidden pages;printing in presentations -Oracle Open Office Base : hidden text -Oracle Open Office Base : hidden text;showing (Writer) -Oracle Open Office Base : hiding -Oracle Open Office Base : hiding;changes -Oracle Open Office Base : hiding;docked windows -Oracle Open Office Base : hiding;navigation pane in Help window -Oracle Open Office Base : high contrast mode -Oracle Open Office Base : Hindi -Oracle Open Office Base : Hindi;entering text -Oracle Open Office Base : Hindi;language settings -Oracle Open Office Base : horizontal scrollbars (Writer) -Oracle Open Office Base : hotspots -Oracle Open Office Base : HTML -Oracle Open Office Base : HTML;definition -Oracle Open Office Base : HTML;export character set -Oracle Open Office Base : HTML;fonts for source display -Oracle Open Office Base : HTML;importing META tags -Oracle Open Office Base : HTML;live presentations -Oracle Open Office Base : HTML documents -Oracle Open Office Base : HTML documents;auto reloading -Oracle Open Office Base : HTML documents;importing/exporting -Oracle Open Office Base : HTML documents;META tags in -Oracle Open Office Base : HTML documents;new -Oracle Open Office Base : HTML documents;source text -Oracle Open Office Base : hyperlinks -Oracle Open Office Base : hyperlinks;assigning macros -Oracle Open Office Base : hyperlinks;character formats -Oracle Open Office Base : hyperlinks;definition -Oracle Open Office Base : hyperlinks;deleting -Oracle Open Office Base : hyperlinks;editing -Oracle Open Office Base : hyperlinks;inserting -Oracle Open Office Base : hyperlinks;relative and absolute -Oracle Open Office Base : hyperlinks;turning off automatic recognition -Oracle Open Office Base : hyperlinks, see also links -Oracle Open Office Base : hyphenation -Oracle Open Office Base : hyphenation;activating for a language -Oracle Open Office Base : hyphenation;minimal number of characters -Oracle Open Office Base : hyphens -Oracle Open Office Base : hyphens;displaying custom (Writer) -Oracle Open Office Base : hyphens;inserting custom -Oracle Open Office Base : icon bars, see toolbars -Oracle Open Office Base : icon sizes -Oracle Open Office Base : ignore list for spellcheck -Oracle Open Office Base : illustrations, see pictures -Oracle Open Office Base : image button creation -Oracle Open Office Base : image control creation -Oracle Open Office Base : ImageMap -Oracle Open Office Base : ImageMap;definition -Oracle Open Office Base : ImageMap;editor -Oracle Open Office Base : images -Oracle Open Office Base : images;ImageMap -Oracle Open Office Base : images;inserting and editing bitmaps -Oracle Open Office Base : images, see also pictures -Oracle Open Office Base : IME -Oracle Open Office Base : IME;definition -Oracle Open Office Base : IME;showing/hiding -Oracle Open Office Base : import filters -Oracle Open Office Base : import restrictions for Microsoft Office -Oracle Open Office Base : importing -Oracle Open Office Base : importing;bitmaps -Oracle Open Office Base : importing;compatibility settings for text import -Oracle Open Office Base : importing;databases -Oracle Open Office Base : importing;documents in other formats -Oracle Open Office Base : importing;from XML -Oracle Open Office Base : importing;HTML and text documents -Oracle Open Office Base : importing;HTML with META tags -Oracle Open Office Base : importing;Microsoft Office documents with VBA code -Oracle Open Office Base : importing;tables in text format -Oracle Open Office Base : importing;templates -Oracle Open Office Base : improvement program -Oracle Open Office Base : inches -Oracle Open Office Base : Index tab in Help -Oracle Open Office Base : indexes -Oracle Open Office Base : indexes;backgrounds -Oracle Open Office Base : indexes;showing/hiding Help index tab -Oracle Open Office Base : indicator lines in text -Oracle Open Office Base : inner joins (Base) -Oracle Open Office Base : input method window -Oracle Open Office Base : insert mode for entering text -Oracle Open Office Base : inserting -Oracle Open Office Base : inserting;buttons in toolbars -Oracle Open Office Base : inserting;cell ranges from spreadsheets -Oracle Open Office Base : inserting;charts -Oracle Open Office Base : inserting;clipboard options -Oracle Open Office Base : inserting;comments -Oracle Open Office Base : inserting;data from text documents -Oracle Open Office Base : inserting;datasource records in spreadsheets -Oracle Open Office Base : inserting;drawings -Oracle Open Office Base : inserting;floating frames -Oracle Open Office Base : inserting;Fontwork objects -Oracle Open Office Base : inserting;form fields -Oracle Open Office Base : inserting;hyperlinks -Oracle Open Office Base : inserting;line breaks in cells -Oracle Open Office Base : inserting;movies/sounds -Oracle Open Office Base : inserting;new text tables defaults -Oracle Open Office Base : inserting;objects from Gallery -Oracle Open Office Base : inserting;OLE objects -Oracle Open Office Base : inserting;paragraph borders -Oracle Open Office Base : inserting;paragraph bullets -Oracle Open Office Base : inserting;pictures in Gallery -Oracle Open Office Base : inserting;plug-ins -Oracle Open Office Base : inserting;push buttons -Oracle Open Office Base : inserting;special characters -Oracle Open Office Base : inserting;tab stops -Oracle Open Office Base : inserting;textures on chart bars -Oracle Open Office Base : installing -Oracle Open Office Base : installing;ActiveX control -Oracle Open Office Base : installing;mobile device filters -Oracle Open Office Base : installing;UNO components -Oracle Open Office Base : installing;XML filters -Oracle Open Office Base : instructions -Oracle Open Office Base : instructions;general -Oracle Open Office Base : Internet -Oracle Open Office Base : Internet;checking for updates -Oracle Open Office Base : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Base : Internet;presentations -Oracle Open Office Base : Internet;starting searches -Oracle Open Office Base : Internet glossary -Oracle Open Office Base : invert filter -Oracle Open Office Base : invisible areas -Oracle Open Office Base : italic text -Oracle Open Office Base : iterative references in spreadsheets -Oracle Open Office Base : Java -Oracle Open Office Base : Java;definition -Oracle Open Office Base : Java;setting options -Oracle Open Office Base : JDBC -Oracle Open Office Base : JDBC;databases (Base) -Oracle Open Office Base : JDBC;definition -Oracle Open Office Base : joining -Oracle Open Office Base : joining;paragraphs -Oracle Open Office Base : joining;tables (Base) -Oracle Open Office Base : joins in databases (Base) -Oracle Open Office Base : justifying text -Oracle Open Office Base : kerning -Oracle Open Office Base : kerning;Asian texts -Oracle Open Office Base : kerning;definition -Oracle Open Office Base : kerning;in characters -Oracle Open Office Base : key fields for relations (Base) -Oracle Open Office Base : keyboard -Oracle Open Office Base : keyboard;assigning/editing shortcut keys -Oracle Open Office Base : keyboard;general commands -Oracle Open Office Base : keyboard;removing numbering -Oracle Open Office Base : keys -Oracle Open Office Base : keys;adding push buttons -Oracle Open Office Base : keys;primary keys (Base) -Oracle Open Office Base : kiosk export -Oracle Open Office Base : labels -Oracle Open Office Base : labels;creating and synchronizing -Oracle Open Office Base : labels;for draw objects -Oracle Open Office Base : labels;form functions -Oracle Open Office Base : labels;from databases -Oracle Open Office Base : labels, see also names/callouts -Oracle Open Office Base : languages -Oracle Open Office Base : languages;activating modules -Oracle Open Office Base : languages;Asian support -Oracle Open Office Base : languages;complex text layout -Oracle Open Office Base : languages;locale settings -Oracle Open Office Base : languages;selecting for text -Oracle Open Office Base : languages;setting options -Oracle Open Office Base : languages;spellcheck -Oracle Open Office Base : languages;spellchecking and formatting -Oracle Open Office Base : large handles (Writer) -Oracle Open Office Base : large icons -Oracle Open Office Base : layer arrangement -Oracle Open Office Base : layout -Oracle Open Office Base : layout;importing Word documents -Oracle Open Office Base : layout;pages -Oracle Open Office Base : LDAP server -Oracle Open Office Base : LDAP server;address books (Base) -Oracle Open Office Base : LDAP server;sign on options -Oracle Open Office Base : leading between paragraphs -Oracle Open Office Base : left alignment of paragraphs -Oracle Open Office Base : left joins (Base) -Oracle Open Office Base : legends -Oracle Open Office Base : legends;charts -Oracle Open Office Base : legends;draw objects -Oracle Open Office Base : legends;rounding corners -Oracle Open Office Base : Letter Wizard -Oracle Open Office Base : levels -Oracle Open Office Base : levels;depth stagger -Oracle Open Office Base : levels;macro security -Oracle Open Office Base : limits of tables (Writer) -Oracle Open Office Base : line breaks -Oracle Open Office Base : line breaks;in cells -Oracle Open Office Base : line spacing -Oracle Open Office Base : line spacing;context menu in paragraphs -Oracle Open Office Base : line spacing;paragraph -Oracle Open Office Base : line styles -Oracle Open Office Base : line styles;applying -Oracle Open Office Base : line styles;defining -Oracle Open Office Base : lines -Oracle Open Office Base : lines;defining ends -Oracle Open Office Base : lines;draw functions -Oracle Open Office Base : lines;drawing in text -Oracle Open Office Base : lines;editing points -Oracle Open Office Base : lines;removing automatic lines -Oracle Open Office Base : lines of text -Oracle Open Office Base : lines of text;alignment -Oracle Open Office Base : links -Oracle Open Office Base : links;between cells and controls -Oracle Open Office Base : links;by drag and drop -Oracle Open Office Base : links;character formats -Oracle Open Office Base : links;definition -Oracle Open Office Base : links;editing hyperlinks -Oracle Open Office Base : links;inserting -Oracle Open Office Base : links;modifying -Oracle Open Office Base : links;opening files with -Oracle Open Office Base : links;relational databases (Base) -Oracle Open Office Base : links;turning off automatic recognition -Oracle Open Office Base : links;updating options (Writer) -Oracle Open Office Base : links;updating specific links -Oracle Open Office Base : list box creation -Oracle Open Office Base : lists -Oracle Open Office Base : lists;data assigned to controls -Oracle Open Office Base : lists;registered databases (Base) -Oracle Open Office Base : lists;regular expressions -Oracle Open Office Base : live presentations on the Internet -Oracle Open Office Base : loading -Oracle Open Office Base : loading;documents -Oracle Open Office Base : loading;documents from other formats -Oracle Open Office Base : loading;HTML documents, automatically -Oracle Open Office Base : loading;Microsoft Office documents with VBA code -Oracle Open Office Base : loading;reloading -Oracle Open Office Base : loading;XML files -Oracle Open Office Base : locale settings -Oracle Open Office Base : lowercase letters -Oracle Open Office Base : lowercase letters;font effects -Oracle Open Office Base : Macro Wizard (Base) -Oracle Open Office Base : macros -Oracle Open Office Base : macros;assigning to events in forms -Oracle Open Office Base : macros;attaching new (Base) -Oracle Open Office Base : macros;in MS Office documents -Oracle Open Office Base : macros;interrupting -Oracle Open Office Base : macros;organizing -Oracle Open Office Base : macros;recording -Oracle Open Office Base : macros;security -Oracle Open Office Base : macros;security levels -Oracle Open Office Base : macros;security warning dialog -Oracle Open Office Base : macros;selecting security warnings -Oracle Open Office Base : magnifiers -Oracle Open Office Base : margins -Oracle Open Office Base : margins;pages -Oracle Open Office Base : margins;setting with the mouse -Oracle Open Office Base : margins;shadows -Oracle Open Office Base : marking changes -Oracle Open Office Base : marking, see selecting -Oracle Open Office Base : Math formula editor -Oracle Open Office Base : measurement units -Oracle Open Office Base : measurement units;changing on rulers -Oracle Open Office Base : measurement units;converting -Oracle Open Office Base : measurement units;selecting -Oracle Open Office Base : Media Player window -Oracle Open Office Base : menus -Oracle Open Office Base : menus;activating context menus -Oracle Open Office Base : menus;assigning macros -Oracle Open Office Base : menus;customizing -Oracle Open Office Base : merging -Oracle Open Office Base : merging;documents -Oracle Open Office Base : META tags -Oracle Open Office Base : metrics -Oracle Open Office Base : metrics;converting -Oracle Open Office Base : metrics;document formatting (Writer) -Oracle Open Office Base : metrics;in sheets -Oracle Open Office Base : Microsoft Office -Oracle Open Office Base : Microsoft Office;Access databases (base) -Oracle Open Office Base : Microsoft Office;as default file format -Oracle Open Office Base : Microsoft Office;document import restrictions -Oracle Open Office Base : Microsoft Office;feature comparisons -Oracle Open Office Base : Microsoft Office;importing password protected files -Oracle Open Office Base : Microsoft Office;importing Word documents -Oracle Open Office Base : Microsoft Office;importing/exporting VBA code -Oracle Open Office Base : Microsoft Office;new users information -Oracle Open Office Base : Microsoft Office;opening Microsoft documents -Oracle Open Office Base : Microsoft Office;reassigning document types -Oracle Open Office Base : migrating macros (Base) -Oracle Open Office Base : mobile device filters -Oracle Open Office Base : models in XForms -Oracle Open Office Base : modifying, see changing -Oracle Open Office Base : more controls -Oracle Open Office Base : mosaic filter -Oracle Open Office Base : mouse -Oracle Open Office Base : mouse;pointers when using drag and drop -Oracle Open Office Base : mouse;positioning -Oracle Open Office Base : movies -Oracle Open Office Base : moving -Oracle Open Office Base : moving;tab stops on ruler -Oracle Open Office Base : moving;toolbars -Oracle Open Office Base : moving;using guide lines in presentations -Oracle Open Office Base : MS ADO interface (Base) -Oracle Open Office Base : multi-line titles in forms -Oracle Open Office Base : multiple documents -Oracle Open Office Base : multiple documents;opening -Oracle Open Office Base : multiple selection -Oracle Open Office Base : music -Oracle Open Office Base : My Documents folder -Oracle Open Office Base : My Documents folder;changing work directory -Oracle Open Office Base : My Documents folder;opening -Oracle Open Office Base : MySQL databases (Base) -Oracle Open Office Base : names -Oracle Open Office Base : names;multi-line titles -Oracle Open Office Base : names;objects -Oracle Open Office Base : names, see also labels/callouts -Oracle Open Office Base : namespace organization in XForms -Oracle Open Office Base : native SQL (Base) -Oracle Open Office Base : navigating -Oracle Open Office Base : navigating;in documents -Oracle Open Office Base : Navigation bar -Oracle Open Office Base : Navigation bar;controls -Oracle Open Office Base : Navigation bar;forms -Oracle Open Office Base : Navigator -Oracle Open Office Base : Navigator;comments -Oracle Open Office Base : Navigator;contents as lists -Oracle Open Office Base : Navigator;docking -Oracle Open Office Base : Navigator;working with -Oracle Open Office Base : network identity options -Oracle Open Office Base : new databases -Oracle Open Office Base : new documents -Oracle Open Office Base : new lines in cells -Oracle Open Office Base : new windows -Oracle Open Office Base : non-breaking dashes -Oracle Open Office Base : non-breaking spaces (Writer) -Oracle Open Office Base : non-printing characters (Writer) -Oracle Open Office Base : number formats -Oracle Open Office Base : number formats;codes -Oracle Open Office Base : number formats;formats -Oracle Open Office Base : number formats;recognition in text tables -Oracle Open Office Base : number of pages -Oracle Open Office Base : number of sheets -Oracle Open Office Base : number of tables -Oracle Open Office Base : numbering -Oracle Open Office Base : numbering;options -Oracle Open Office Base : numbering;turning off -Oracle Open Office Base : numbering;using automatically -Oracle Open Office Base : numbers -Oracle Open Office Base : numbers;date, time and currency formats -Oracle Open Office Base : numbers;decimal places (Calc) -Oracle Open Office Base : numerical fields in forms -Oracle Open Office Base : objects -Oracle Open Office Base : objects;always moveable (Impress/Draw) -Oracle Open Office Base : objects;arranging within stacks -Oracle Open Office Base : objects;copying when moving in presentations -Oracle Open Office Base : objects;definition -Oracle Open Office Base : objects;displaying in spreadsheets -Oracle Open Office Base : objects;displaying in text documents -Oracle Open Office Base : objects;editing -Oracle Open Office Base : objects;inserting from Gallery -Oracle Open Office Base : objects;inserting OLE objects -Oracle Open Office Base : objects;moving and resizing with mouse -Oracle Open Office Base : objects;naming -Oracle Open Office Base : objects;opening -Oracle Open Office Base : objects;quickly moving to -Oracle Open Office Base : objects;titles and descriptions -Oracle Open Office Base : ODBC -Oracle Open Office Base : ODBC;database (Base) -Oracle Open Office Base : ODBC;definition -Oracle Open Office Base : ODF file formats -Oracle Open Office Base : Office -Oracle Open Office Base : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Base : OLE -Oracle Open Office Base : OLE;definition -Oracle Open Office Base : OLE objects -Oracle Open Office Base : OLE objects;arranging within stacks -Oracle Open Office Base : OLE objects;captions (Writer) -Oracle Open Office Base : OLE objects;inserting -Oracle Open Office Base : OLE objects;number of -Oracle Open Office Base : OLE objects;protecting -Oracle Open Office Base : one and a half line spacing in text -Oracle Open Office Base : online feedback options -Oracle Open Office Base : online registration -Oracle Open Office Base : online update options -Oracle Open Office Base : online updates -Oracle Open Office Base : online updates;checking automatically -Oracle Open Office Base : online updates;checking manually -Oracle Open Office Base : Open/Save dialogs -Oracle Open Office Base : OpenDocument file formats -Oracle Open Office Base : OpenGL -Oracle Open Office Base : OpenGL;definition -Oracle Open Office Base : opening -Oracle Open Office Base : opening;context menus -Oracle Open Office Base : opening;database files -Oracle Open Office Base : opening;dialog settings -Oracle Open Office Base : opening;documents -Oracle Open Office Base : opening;documents from other formats -Oracle Open Office Base : opening;documents on WebDAV server -Oracle Open Office Base : opening;files with links -Oracle Open Office Base : opening;files, with placeholders -Oracle Open Office Base : opening;forms -Oracle Open Office Base : opening;Microsoft Office files -Oracle Open Office Base : opening;mobile device documents -Oracle Open Office Base : opening;objects -Oracle Open Office Base : opening;reports -Oracle Open Office Base : opening;several files -Oracle Open Office Base : opening;XForms -Oracle Open Office Base : operators -Oracle Open Office Base : operators;default filters -Oracle Open Office Base : optional hyphens (Writer) -Oracle Open Office Base : options -Oracle Open Office Base : options;accessibility -Oracle Open Office Base : options;appearance -Oracle Open Office Base : options;compatibility (Writer) -Oracle Open Office Base : options;improvement program -Oracle Open Office Base : options;network identity -Oracle Open Office Base : options;online update -Oracle Open Office Base : options;tools -Oracle Open Office Base : Oracle databases (base) -Oracle Open Office Base : Oracle Open Office Base data sources -Oracle Open Office Base : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Base : Oracle Open Office documents -Oracle Open Office Base : Oracle Open Office documents;mobile device filters -Oracle Open Office Base : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Base : Oracle Open Office Math start -Oracle Open Office Base : ordering -Oracle Open Office Base : ordering;objects -Oracle Open Office Base : organizing -Oracle Open Office Base : organizing;macros and scripts -Oracle Open Office Base : organizing;namespaces in XForms -Oracle Open Office Base : organizing;styles -Oracle Open Office Base : organizing;templates -Oracle Open Office Base : original size -Oracle Open Office Base : original size;printing in Oracle Open Office Math -Oracle Open Office Base : original size;restoring after cropping -Oracle Open Office Base : outlines -Oracle Open Office Base : outlines;font effects -Oracle Open Office Base : outlines;outline symbols -Oracle Open Office Base : outlines;sending to presentations -Oracle Open Office Base : overwrite mode -Oracle Open Office Base : packages, see extensions -Oracle Open Office Base : page breaks -Oracle Open Office Base : page breaks;displaying (Calc) -Oracle Open Office Base : page formats -Oracle Open Office Base : page formats;maximizing -Oracle Open Office Base : page formats;restriction -Oracle Open Office Base : page styles -Oracle Open Office Base : page styles;editing/applying with statusbar -Oracle Open Office Base : pages -Oracle Open Office Base : pages;backgrounds in all applications -Oracle Open Office Base : pages;formatting and numbering -Oracle Open Office Base : pages;printing page names in presentations -Oracle Open Office Base : pages;scaling -Oracle Open Office Base : pages;selecting one to print -Oracle Open Office Base : paint box -Oracle Open Office Base : paint can symbol -Oracle Open Office Base : pair kerning -Oracle Open Office Base : Palm file filters -Oracle Open Office Base : paper formats -Oracle Open Office Base : paper size warning -Oracle Open Office Base : paper trays -Oracle Open Office Base : paragraph marks -Oracle Open Office Base : paragraph marks;displaying (Writer) -Oracle Open Office Base : paragraph styles -Oracle Open Office Base : paragraph styles;languages -Oracle Open Office Base : paragraph styles;modifying basic fonts -Oracle Open Office Base : paragraphs -Oracle Open Office Base : paragraphs;alignment -Oracle Open Office Base : paragraphs;Asian typography -Oracle Open Office Base : paragraphs;defining borders -Oracle Open Office Base : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Base : paragraphs;increasing indents of -Oracle Open Office Base : paragraphs;indents, margins and columns -Oracle Open Office Base : paragraphs;inserting bullets -Oracle Open Office Base : paragraphs;joining -Oracle Open Office Base : paragraphs;numbering automatically -Oracle Open Office Base : paragraphs;removing blank ones -Oracle Open Office Base : paragraphs;spacing -Oracle Open Office Base : paragraphs;tab stops -Oracle Open Office Base : parameters -Oracle Open Office Base : parameters;command line -Oracle Open Office Base : parameters;queries (Base) -Oracle Open Office Base : passwords for protecting contents -Oracle Open Office Base : pasting -Oracle Open Office Base : pasting;cell ranges -Oracle Open Office Base : pasting;cell ranges from spreadsheets -Oracle Open Office Base : pasting;data from text documents -Oracle Open Office Base : pasting;draw objects -Oracle Open Office Base : pasting;draw objects from other documents -Oracle Open Office Base : pasting;formatted/unformatted text -Oracle Open Office Base : pasting;from data source view -Oracle Open Office Base : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Base : pasting;pictures from other documents -Oracle Open Office Base : pasting;sheet areas in text documents -Oracle Open Office Base : pasting;to Gallery -Oracle Open Office Base : paths -Oracle Open Office Base : paths;changing work directory -Oracle Open Office Base : paths;defaults -Oracle Open Office Base : pattern editor -Oracle Open Office Base : pattern fields -Oracle Open Office Base : pattern fields;form functions -Oracle Open Office Base : patterns for objects -Oracle Open Office Base : PDF -Oracle Open Office Base : PDF;export -Oracle Open Office Base : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Base : personal data input -Oracle Open Office Base : phonetic guide -Oracle Open Office Base : picklist creation -Oracle Open Office Base : pictures -Oracle Open Office Base : pictures;adding to Gallery -Oracle Open Office Base : pictures;arranging within stacks -Oracle Open Office Base : pictures;assigning macros -Oracle Open Office Base : pictures;backgrounds -Oracle Open Office Base : pictures;captions (Writer) -Oracle Open Office Base : pictures;changing paths -Oracle Open Office Base : pictures;cropping and zooming -Oracle Open Office Base : pictures;displaying in Calc -Oracle Open Office Base : pictures;displaying in Writer (Writer) -Oracle Open Office Base : pictures;drag and drop between documents -Oracle Open Office Base : pictures;drawing -Oracle Open Office Base : pictures;editing -Oracle Open Office Base : pictures;filters -Oracle Open Office Base : pictures;ImageMap -Oracle Open Office Base : pictures;inserting automatically -Oracle Open Office Base : pictures;inserting from Gallery -Oracle Open Office Base : pictures;number of -Oracle Open Office Base : pictures;printing -Oracle Open Office Base : pictures;scaling/resizing -Oracle Open Office Base : pixel editor -Oracle Open Office Base : pixel graphics -Oracle Open Office Base : pixel graphics;inserting and editing -Oracle Open Office Base : pixel patterns -Oracle Open Office Base : placeholders -Oracle Open Office Base : placeholders;in SQL queries -Oracle Open Office Base : placeholders;on opening files -Oracle Open Office Base : placing toolbars -Oracle Open Office Base : playing movies and sound files -Oracle Open Office Base : plotting data as charts -Oracle Open Office Base : plug-ins -Oracle Open Office Base : plug-ins;activating and deactivating -Oracle Open Office Base : plug-ins;definition -Oracle Open Office Base : plug-ins;inserting -Oracle Open Office Base : pocket device appliances -Oracle Open Office Base : Pocket PC file filters -Oracle Open Office Base : points -Oracle Open Office Base : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Base : polygon drawing -Oracle Open Office Base : pop-art filter -Oracle Open Office Base : portable document format -Oracle Open Office Base : positioning -Oracle Open Office Base : positioning;draw objects and controls -Oracle Open Office Base : positioning;fonts -Oracle Open Office Base : positioning;objects -Oracle Open Office Base : positioning;toolbars -Oracle Open Office Base : post method for form transmissions -Oracle Open Office Base : posterizing filter -Oracle Open Office Base : PostScript -Oracle Open Office Base : PostScript;creating files -Oracle Open Office Base : PostScript;PDF converter, UNIX -Oracle Open Office Base : PowerPoint export -Oracle Open Office Base : precision as shown (Calc) -Oracle Open Office Base : predefining fonts -Oracle Open Office Base : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Base : presentations -Oracle Open Office Base : presentations;creating/opening -Oracle Open Office Base : presentations;inserting spreadsheet cells -Oracle Open Office Base : presentations;live on the Internet -Oracle Open Office Base : presentations;print menu -Oracle Open Office Base : presentations;saving -Oracle Open Office Base : presentations;saving automatically -Oracle Open Office Base : presentations;saving in other formats -Oracle Open Office Base : presentations;sending as e-mail -Oracle Open Office Base : presentations;starting with wizard -Oracle Open Office Base : presentations;wizards -Oracle Open Office Base : Presenter Console shortcuts -Oracle Open Office Base : press buttons, see push buttons -Oracle Open Office Base : previews -Oracle Open Office Base : previews;fonts lists -Oracle Open Office Base : primary keys -Oracle Open Office Base : primary keys;defining -Oracle Open Office Base : primary keys;design view -Oracle Open Office Base : primary keys;inserting (Base) -Oracle Open Office Base : print area selection -Oracle Open Office Base : printer metrics for document formatting (Writer) -Oracle Open Office Base : printers -Oracle Open Office Base : printers;adding, UNIX -Oracle Open Office Base : printers;choosing -Oracle Open Office Base : printers;default printer -Oracle Open Office Base : printers;faxes under UNIX -Oracle Open Office Base : printers;maximum page formats -Oracle Open Office Base : printers;paper trays -Oracle Open Office Base : printers;properties -Oracle Open Office Base : printing -Oracle Open Office Base : printing;black and white -Oracle Open Office Base : printing;brochures -Oracle Open Office Base : printing;colors in grayscale -Oracle Open Office Base : printing;comments -Oracle Open Office Base : printing;copies -Oracle Open Office Base : printing;creating individual jobs -Oracle Open Office Base : printing;dates in presentations -Oracle Open Office Base : printing;directly -Oracle Open Office Base : printing;documents -Oracle Open Office Base : printing;drawings defaults -Oracle Open Office Base : printing;elements in text documents -Oracle Open Office Base : printing;faster -Oracle Open Office Base : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Base : printing;fitting to pages in presentations -Oracle Open Office Base : printing;formulas in Oracle Open Office Math -Oracle Open Office Base : printing;hidden pages of presentations -Oracle Open Office Base : printing;in original size in Oracle Open Office Math -Oracle Open Office Base : printing;left/right pages -Oracle Open Office Base : printing;queries (Base) -Oracle Open Office Base : printing;scaling in Oracle Open Office Math -Oracle Open Office Base : printing;selections -Oracle Open Office Base : printing;text always in black -Oracle Open Office Base : printing;text in reverse order -Oracle Open Office Base : printing;tiling pages in presentations -Oracle Open Office Base : printing;transparencies -Oracle Open Office Base : printing;warnings -Oracle Open Office Base : printing;without scaling in presentations -Oracle Open Office Base : printing speed -Oracle Open Office Base : programming -Oracle Open Office Base : programming;Oracle Open Office -Oracle Open Office Base : programming;scripting -Oracle Open Office Base : properties -Oracle Open Office Base : properties;fields in databases -Oracle Open Office Base : properties;files -Oracle Open Office Base : properties;form controls -Oracle Open Office Base : properties;forms -Oracle Open Office Base : properties;printers -Oracle Open Office Base : protected contents -Oracle Open Office Base : protected dashes -Oracle Open Office Base : protected database tables -Oracle Open Office Base : protected documents -Oracle Open Office Base : protected spaces -Oracle Open Office Base : protected spaces;inserting -Oracle Open Office Base : protected spaces;showing (Writer) -Oracle Open Office Base : protecting -Oracle Open Office Base : protecting;contents -Oracle Open Office Base : protecting;recorded changes -Oracle Open Office Base : proxy settings -Oracle Open Office Base : push buttons -Oracle Open Office Base : push buttons;adding to documents -Oracle Open Office Base : push buttons;creating -Oracle Open Office Base : queries -Oracle Open Office Base : queries;copying (Base) -Oracle Open Office Base : queries;creating in design view (Base) -Oracle Open Office Base : queries;creating in SQL view -Oracle Open Office Base : queries;defining (Base) -Oracle Open Office Base : queries;deleting table links (Base) -Oracle Open Office Base : queries;editing in data source view -Oracle Open Office Base : queries;formulating filter conditions (Base) -Oracle Open Office Base : queries;joining tables (Base) -Oracle Open Office Base : queries;missing elements (Base) -Oracle Open Office Base : queries;overview (Base) -Oracle Open Office Base : queries;parameter queries (Base) -Oracle Open Office Base : queries;printing (Base) -Oracle Open Office Base : Query Wizard (Base) -Oracle Open Office Base : Quickstarter -Oracle Open Office Base : quotation marks -Oracle Open Office Base : quotation marks;replacing -Oracle Open Office Base : quotes -Oracle Open Office Base : quotes;custom -Oracle Open Office Base : radio button creation -Oracle Open Office Base : read-only documents -Oracle Open Office Base : read-only documents;cursor -Oracle Open Office Base : read-only documents;database tables on/off -Oracle Open Office Base : read-only documents;editing -Oracle Open Office Base : read-only documents;opening documents as -Oracle Open Office Base : read-only items in Data Navigator -Oracle Open Office Base : recognizing URLs automatically -Oracle Open Office Base : recording -Oracle Open Office Base : recording;changes -Oracle Open Office Base : recording;macros -Oracle Open Office Base : records -Oracle Open Office Base : records;inserting comments -Oracle Open Office Base : records;protecting -Oracle Open Office Base : records;saving -Oracle Open Office Base : records;searching in databases -Oracle Open Office Base : rectangles with round corners -Oracle Open Office Base : recursions in spreadsheets -Oracle Open Office Base : redo command -Oracle Open Office Base : reduced printing -Oracle Open Office Base : reference lines -Oracle Open Office Base : references -Oracle Open Office Base : references;displaying in color (Calc) -Oracle Open Office Base : references;expanding (Calc) -Oracle Open Office Base : references;iterative (Calc) -Oracle Open Office Base : register-true -Oracle Open Office Base : register-true;definition -Oracle Open Office Base : registering -Oracle Open Office Base : registering;address books -Oracle Open Office Base : registering;databases (Base) -Oracle Open Office Base : registering;Oracle Open Office -Oracle Open Office Base : regular expressions -Oracle Open Office Base : regular expressions;list of -Oracle Open Office Base : regular expressions;opening files -Oracle Open Office Base : relational databases (Base) -Oracle Open Office Base : relations -Oracle Open Office Base : relations;creating and deleting (Base) -Oracle Open Office Base : relations;joining tables (Base) -Oracle Open Office Base : relations;properties (Base) -Oracle Open Office Base : relative hyperlinks -Oracle Open Office Base : relative saving of URLs -Oracle Open Office Base : reloading -Oracle Open Office Base : reloading;documents -Oracle Open Office Base : reloading;HTML documents, automatically -Oracle Open Office Base : remarks, see also comments -Oracle Open Office Base : remote configurations -Oracle Open Office Base : remove noise filter -Oracle Open Office Base : removing -Oracle Open Office Base : removing;bullets and numbering -Oracle Open Office Base : removing;form filters -Oracle Open Office Base : removing, see also deleting -Oracle Open Office Base : repeating -Oracle Open Office Base : repeating;commands -Oracle Open Office Base : replacement options -Oracle Open Office Base : replacement table -Oracle Open Office Base : replacing -Oracle Open Office Base : replacing;AutoCorrect function -Oracle Open Office Base : replacing;dashes -Oracle Open Office Base : replacing;tab stops (regular expressions) -Oracle Open Office Base : Report Builder -Oracle Open Office Base : reports -Oracle Open Office Base : reports;creating -Oracle Open Office Base : reports;error reports -Oracle Open Office Base : reports;opening and editing -Oracle Open Office Base : reports;templates -Oracle Open Office Base : resetting -Oracle Open Office Base : resetting;templates -Oracle Open Office Base : resizing -Oracle Open Office Base : resizing;objects, by mouse -Oracle Open Office Base : resizing, see also scaling/zooming -Oracle Open Office Base : resolution when printing bitmaps -Oracle Open Office Base : restoring -Oracle Open Office Base : restoring;default formatting -Oracle Open Office Base : restoring;editing -Oracle Open Office Base : reversing printing order -Oracle Open Office Base : review function -Oracle Open Office Base : review function;accepting or rejecting changes -Oracle Open Office Base : review function;comparing documents -Oracle Open Office Base : review function;protecting records -Oracle Open Office Base : review function;recording changes example -Oracle Open Office Base : rich text control -Oracle Open Office Base : right alignment of paragraphs -Oracle Open Office Base : right joins (Base) -Oracle Open Office Base : right-to-left text -Oracle Open Office Base : rotating -Oracle Open Office Base : rotating;3D text -Oracle Open Office Base : round corners -Oracle Open Office Base : rounding precision (Calc) -Oracle Open Office Base : row headers -Oracle Open Office Base : row headers;displaying (Calc) -Oracle Open Office Base : row headers;highlighting (Calc) -Oracle Open Office Base : rulers -Oracle Open Office Base : rulers;default settings -Oracle Open Office Base : rulers;measurement units -Oracle Open Office Base : rulers;visible in presentations -Oracle Open Office Base : samples and templates -Oracle Open Office Base : saving -Oracle Open Office Base : saving;default file formats -Oracle Open Office Base : saving;dialog settings -Oracle Open Office Base : saving;documents -Oracle Open Office Base : saving;documents for mobile devices -Oracle Open Office Base : saving;documents in other formats -Oracle Open Office Base : saving;documents, automatically -Oracle Open Office Base : saving;in Microsoft Office file format -Oracle Open Office Base : saving;options -Oracle Open Office Base : saving;templates -Oracle Open Office Base : saving;to XML -Oracle Open Office Base : saving;VBA code in Microsoft Office documents -Oracle Open Office Base : saving;with password by default -Oracle Open Office Base : saving as command -Oracle Open Office Base : saving as command;precautions -Oracle Open Office Base : scaling -Oracle Open Office Base : scaling;font sizes in user interface -Oracle Open Office Base : scaling;objects -Oracle Open Office Base : scaling;pictures -Oracle Open Office Base : scaling;printing in Oracle Open Office Math -Oracle Open Office Base : scaling;when printing presentations -Oracle Open Office Base : scaling, see also zooming -Oracle Open Office Base : screen -Oracle Open Office Base : screen;full screen views -Oracle Open Office Base : screen;scaling -Oracle Open Office Base : screen magnifiers -Oracle Open Office Base : screen readers -Oracle Open Office Base : script organization -Oracle Open Office Base : scrollbars -Oracle Open Office Base : scrollbars;controls -Oracle Open Office Base : scrollbars;displaying (Calc) -Oracle Open Office Base : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Base : search criteria for database functions in cells -Oracle Open Office Base : search engines -Oracle Open Office Base : search engines;definition -Oracle Open Office Base : search engines;selecting -Oracle Open Office Base : searching -Oracle Open Office Base : searching;all sheets -Oracle Open Office Base : searching;databases -Oracle Open Office Base : searching;form filters -Oracle Open Office Base : searching;Internet -Oracle Open Office Base : searching;tables and forms -Oracle Open Office Base : sections -Oracle Open Office Base : sections;backgrounds -Oracle Open Office Base : security -Oracle Open Office Base : security;digital signatures -Oracle Open Office Base : security;options for documents with macros -Oracle Open Office Base : security;protecting contents -Oracle Open Office Base : security;security levels for macros -Oracle Open Office Base : security;warning dialogs with macros -Oracle Open Office Base : selecting -Oracle Open Office Base : selecting;controls -Oracle Open Office Base : selecting;measurement units -Oracle Open Office Base : selecting;objects -Oracle Open Office Base : selecting;print areas -Oracle Open Office Base : selecting;several files -Oracle Open Office Base : selection clipboard -Oracle Open Office Base : selection frames -Oracle Open Office Base : selection modes in text -Oracle Open Office Base : sending -Oracle Open Office Base : sending;AutoAbstract function in presentations -Oracle Open Office Base : sending;documents as e-mail -Oracle Open Office Base : sending;documents as faxes -Oracle Open Office Base : separator lines -Oracle Open Office Base : separator lines;defining -Oracle Open Office Base : separators -Oracle Open Office Base : separators;conditional -Oracle Open Office Base : Server Side ImageMap -Oracle Open Office Base : settings -Oracle Open Office Base : settings;printers -Oracle Open Office Base : settings;program configuration -Oracle Open Office Base : settings;proxies -Oracle Open Office Base : settings;tracking changes -Oracle Open Office Base : settings;views -Oracle Open Office Base : SGML -Oracle Open Office Base : SGML;definition -Oracle Open Office Base : shadows -Oracle Open Office Base : shadows;areas -Oracle Open Office Base : shadows;borders -Oracle Open Office Base : shadows;characters -Oracle Open Office Base : shadows;characters, using context menu -Oracle Open Office Base : sharing documents -Oracle Open Office Base : sharpening filter -Oracle Open Office Base : sheet tabs -Oracle Open Office Base : sheet tabs;displaying -Oracle Open Office Base : sheets -Oracle Open Office Base : sheets;searching all -Oracle Open Office Base : shortcut keys -Oracle Open Office Base : shortcut keys;assigning macros -Oracle Open Office Base : shortcut keys;general -Oracle Open Office Base : shortcut keys;in databases -Oracle Open Office Base : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Base : showing -Oracle Open Office Base : showing;changes -Oracle Open Office Base : showing;docked windows -Oracle Open Office Base : showing;drawings and controls (Writer) -Oracle Open Office Base : showing;live presentations on the Internet -Oracle Open Office Base : showing;toolbars -Oracle Open Office Base : signing documents with digital signatures -Oracle Open Office Base : similarity search -Oracle Open Office Base : simple handles (Writer) -Oracle Open Office Base : simplified Chinese -Oracle Open Office Base : simplified Chinese;translating to traditional Chinese -Oracle Open Office Base : single sign on options -Oracle Open Office Base : single-line spacing in text -Oracle Open Office Base : sizes -Oracle Open Office Base : sizes;draw objects -Oracle Open Office Base : sizes;pictures -Oracle Open Office Base : slanting draw objects -Oracle Open Office Base : small capitals -Oracle Open Office Base : small icons -Oracle Open Office Base : smart tag configuration -Oracle Open Office Base : smooth scrolling (Writer) -Oracle Open Office Base : smoothing filter -Oracle Open Office Base : snap grid defaults (Writer/Calc) -Oracle Open Office Base : snapping in presentations and drawings -Oracle Open Office Base : solarization filter -Oracle Open Office Base : sort lists -Oracle Open Office Base : sort lists;copying to in Calc -Oracle Open Office Base : sorting -Oracle Open Office Base : sorting;data in forms -Oracle Open Office Base : sorting;databases -Oracle Open Office Base : sound files -Oracle Open Office Base : spaces -Oracle Open Office Base : spaces;displaying (Writer) -Oracle Open Office Base : spaces;ignoring double -Oracle Open Office Base : spaces;inserting protected spaces -Oracle Open Office Base : spaces;showing protected spaces (Writer) -Oracle Open Office Base : spacing -Oracle Open Office Base : spacing;between paragraphs in footnotes -Oracle Open Office Base : spacing;font effects -Oracle Open Office Base : spacing;lines and paragraphs -Oracle Open Office Base : spacing;tab stops in text documents -Oracle Open Office Base : spacing;tabs in presentations -Oracle Open Office Base : spadmin -Oracle Open Office Base : special characters -Oracle Open Office Base : speech bubbles -Oracle Open Office Base : speed of printing -Oracle Open Office Base : spellcheck -Oracle Open Office Base : spellcheck;activating for a language -Oracle Open Office Base : spellcheck;context menus -Oracle Open Office Base : spellcheck;default languages -Oracle Open Office Base : spellcheck;dialog -Oracle Open Office Base : spellcheck;dictionary of exceptions -Oracle Open Office Base : spellcheck;ignore list -Oracle Open Office Base : spin button creation -Oracle Open Office Base : spoolfiles with Xprinter -Oracle Open Office Base : spreadsheets -Oracle Open Office Base : spreadsheets;as databases (base) -Oracle Open Office Base : spreadsheets;copying areas to text documents -Oracle Open Office Base : spreadsheets;creating/opening -Oracle Open Office Base : spreadsheets;inserting charts -Oracle Open Office Base : spreadsheets;inserting database records -Oracle Open Office Base : spreadsheets;printing -Oracle Open Office Base : spreadsheets;saving -Oracle Open Office Base : spreadsheets;saving automatically -Oracle Open Office Base : spreadsheets;saving in other formats -Oracle Open Office Base : spreadsheets;sending as e-mail -Oracle Open Office Base : SQL -Oracle Open Office Base : SQL;definition -Oracle Open Office Base : SQL;DISTINCT parameter -Oracle Open Office Base : SQL;executing SQL commands -Oracle Open Office Base : SQL;executing SQL statements (Base) -Oracle Open Office Base : SQL;queries (Base) -Oracle Open Office Base : square drawings -Oracle Open Office Base : standard bar on/off -Oracle Open Office Base : standard filters in databases -Oracle Open Office Base : standard printer under UNIX -Oracle Open Office Base : start center -Oracle Open Office Base : start parameters -Oracle Open Office Base : status bar on/off -Oracle Open Office Base : stickers -Oracle Open Office Base : strikethrough -Oracle Open Office Base : strikethrough;characters -Oracle Open Office Base : strikethrough;font effects -Oracle Open Office Base : styles -Oracle Open Office Base : styles;'changed' message -Oracle Open Office Base : styles;copying between documents -Oracle Open Office Base : styles;keyboard shortcuts -Oracle Open Office Base : styles;organizing -Oracle Open Office Base : styles;printing styles used in a document -Oracle Open Office Base : styles;replacing automatically -Oracle Open Office Base : Styles and Formatting window -Oracle Open Office Base : Styles and Formatting window;docking -Oracle Open Office Base : subforms -Oracle Open Office Base : subforms;creating -Oracle Open Office Base : subforms;description -Oracle Open Office Base : submitting forms -Oracle Open Office Base : suffixes in file formats -Oracle Open Office Base : support on the Web -Oracle Open Office Base : synchronizing -Oracle Open Office Base : synchronizing;labels and business cards -Oracle Open Office Base : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Base : system address book registration -Oracle Open Office Base : tab stops -Oracle Open Office Base : tab stops;displaying (Writer) -Oracle Open Office Base : tab stops;inserting and editing -Oracle Open Office Base : tab stops;regular expressions -Oracle Open Office Base : tab stops;setting in sheets -Oracle Open Office Base : tab stops;settings -Oracle Open Office Base : tab stops;spacing in presentations -Oracle Open Office Base : tab stops;spacing in text documents -Oracle Open Office Base : table controls -Oracle Open Office Base : table controls;form functions -Oracle Open Office Base : table controls;keyboard-only edit mode -Oracle Open Office Base : table controls;properties -Oracle Open Office Base : table views of databases -Oracle Open Office Base : Table Wizard (Base) -Oracle Open Office Base : tables -Oracle Open Office Base : tables;inserting line breaks -Oracle Open Office Base : tables in databases -Oracle Open Office Base : tables in databases;access rights to (Base) -Oracle Open Office Base : tables in databases;adding to queries -Oracle Open Office Base : tables in databases;browsing and editing -Oracle Open Office Base : tables in databases;copying database tables (Base) -Oracle Open Office Base : tables in databases;creating -Oracle Open Office Base : tables in databases;creating in design view (manually) -Oracle Open Office Base : tables in databases;importing text formats (Base) -Oracle Open Office Base : tables in databases;joining for queries (Base) -Oracle Open Office Base : tables in databases;printing queries (Base) -Oracle Open Office Base : tables in databases;relations (Base) -Oracle Open Office Base : tables in databases;searching -Oracle Open Office Base : tables in spreadsheets -Oracle Open Office Base : tables in spreadsheets;copying data to other applications -Oracle Open Office Base : tables in spreadsheets;defining borders -Oracle Open Office Base : tables in spreadsheets;value highlighting -Oracle Open Office Base : tables in text -Oracle Open Office Base : tables in text;captions -Oracle Open Office Base : tables in text;creating automatically -Oracle Open Office Base : tables in text;default settings -Oracle Open Office Base : tables in text;defining borders -Oracle Open Office Base : tables in text;displaying -Oracle Open Office Base : tables in text;printing -Oracle Open Office Base : tabs -Oracle Open Office Base : tabs;displaying sheet tabs -Oracle Open Office Base : tags -Oracle Open Office Base : tags;definition -Oracle Open Office Base : tags;META tags -Oracle Open Office Base : templates -Oracle Open Office Base : templates;agendas -Oracle Open Office Base : templates;changing basic fonts -Oracle Open Office Base : templates;database reports -Oracle Open Office Base : templates;deleting -Oracle Open Office Base : templates;editing and saving -Oracle Open Office Base : templates;faxes -Oracle Open Office Base : templates;importing and exporting -Oracle Open Office Base : templates;letters -Oracle Open Office Base : templates;new documents from templates -Oracle Open Office Base : templates;opening documents with -Oracle Open Office Base : templates;organizing -Oracle Open Office Base : terminology -Oracle Open Office Base : terminology;general glossary -Oracle Open Office Base : terminology;Internet glossary -Oracle Open Office Base : testing XML filters -Oracle Open Office Base : text -Oracle Open Office Base : text;animating -Oracle Open Office Base : text;Asian layout -Oracle Open Office Base : text;bold -Oracle Open Office Base : text;coloring -Oracle Open Office Base : text;copying by drag and drop -Oracle Open Office Base : text;CTL languages -Oracle Open Office Base : text;drawing pictures -Oracle Open Office Base : text;font effects -Oracle Open Office Base : text;font sizes -Oracle Open Office Base : text;font styles -Oracle Open Office Base : text;fonts and formats -Oracle Open Office Base : text;Fontwork icons -Oracle Open Office Base : text;hyperlinks -Oracle Open Office Base : text;inserting special characters -Oracle Open Office Base : text;italics -Oracle Open Office Base : text;kerning -Oracle Open Office Base : text;language selection -Oracle Open Office Base : text;line spacing -Oracle Open Office Base : text;overwriting or inserting -Oracle Open Office Base : text;printing in black -Oracle Open Office Base : text;replacing with format -Oracle Open Office Base : text;selection modes -Oracle Open Office Base : text;shadowed -Oracle Open Office Base : text;text/draw objects -Oracle Open Office Base : text attributes -Oracle Open Office Base : text attributes;hyperlinks -Oracle Open Office Base : text attributes;undoing -Oracle Open Office Base : text boxes -Oracle Open Office Base : text boxes;form functions -Oracle Open Office Base : text boxes;positioning -Oracle Open Office Base : text breaks in cells -Oracle Open Office Base : text colors for better accessibility -Oracle Open Office Base : text databases (Base) -Oracle Open Office Base : text documents -Oracle Open Office Base : text documents;creating/opening -Oracle Open Office Base : text documents;importing/exporting -Oracle Open Office Base : text documents;inserting spreadsheet cells -Oracle Open Office Base : text documents;print settings -Oracle Open Office Base : text documents;printing -Oracle Open Office Base : text documents;saving -Oracle Open Office Base : text documents;saving automatically -Oracle Open Office Base : text documents;saving in other formats -Oracle Open Office Base : text documents;sending as e-mail -Oracle Open Office Base : text effects -Oracle Open Office Base : text flow -Oracle Open Office Base : text flow;in cells -Oracle Open Office Base : text formats -Oracle Open Office Base : text formats;databases -Oracle Open Office Base : text formats;pasting -Oracle Open Office Base : text input fields -Oracle Open Office Base : text layout for special languages -Oracle Open Office Base : text objects -Oracle Open Office Base : text objects;alignment -Oracle Open Office Base : text objects;draw functions -Oracle Open Office Base : text objects;fonts -Oracle Open Office Base : text objects;in presentations and drawings -Oracle Open Office Base : text overflow in spreadsheet cells -Oracle Open Office Base : text, see also text documents, paragraphs and characters -Oracle Open Office Base : TextArt, see Fontwork -Oracle Open Office Base : textures -Oracle Open Office Base : textures;inserting from Gallery -Oracle Open Office Base : textures;on chart bars -Oracle Open Office Base : Thai -Oracle Open Office Base : Thai;entering text -Oracle Open Office Base : Thai;language settings -Oracle Open Office Base : thesaurus -Oracle Open Office Base : thesaurus;activating for a language -Oracle Open Office Base : ticker text -Oracle Open Office Base : time fields -Oracle Open Office Base : time fields;form functions -Oracle Open Office Base : times -Oracle Open Office Base : times;inserting when printing presentations -Oracle Open Office Base : times, formats -Oracle Open Office Base : tips -Oracle Open Office Base : tips;extended tips in Help -Oracle Open Office Base : title rows -Oracle Open Office Base : title rows;printing in Oracle Open Office Math -Oracle Open Office Base : titles -Oracle Open Office Base : titles;changing -Oracle Open Office Base : titles;editing in charts -Oracle Open Office Base : titles;font effects -Oracle Open Office Base : titles;formatting automatically -Oracle Open Office Base : titles;objects -Oracle Open Office Base : toolbars -Oracle Open Office Base : toolbars;adding buttons -Oracle Open Office Base : toolbars;docking/undocking -Oracle Open Office Base : toolbars;Form Navigation bar -Oracle Open Office Base : toolbars;viewing/closing -Oracle Open Office Base : tools bar -Oracle Open Office Base : tooltips -Oracle Open Office Base : tooltips;extended tips -Oracle Open Office Base : tooltips;help -Oracle Open Office Base : traditional Chinese -Oracle Open Office Base : traditional Chinese;translating to simplified chinese -Oracle Open Office Base : transparency -Oracle Open Office Base : transparency;areas -Oracle Open Office Base : transparency;off for faster printing -Oracle Open Office Base : transparency;saving -Oracle Open Office Base : tree view of Help -Oracle Open Office Base : typefaces -Oracle Open Office Base : typefaces;adding under UNIX -Oracle Open Office Base : typefaces;formats -Oracle Open Office Base : typographical quotes in Oracle Open Office Writer -Oracle Open Office Base : typography -Oracle Open Office Base : typography;Asian -Oracle Open Office Base : underlining -Oracle Open Office Base : underlining;AutoFormat function -Oracle Open Office Base : underlining;characters -Oracle Open Office Base : underlining;text -Oracle Open Office Base : undocking windows -Oracle Open Office Base : undoing -Oracle Open Office Base : undoing;direct formatting -Oracle Open Office Base : undoing;editing -Oracle Open Office Base : undoing;number of steps -Oracle Open Office Base : ungrouping groups -Oracle Open Office Base : units -Oracle Open Office Base : units;converting -Oracle Open Office Base : units;measurement units -Oracle Open Office Base : UNO components -Oracle Open Office Base : UNO components;Extension Manager -Oracle Open Office Base : UNO components;integrating new -Oracle Open Office Base : update options -Oracle Open Office Base : updates -Oracle Open Office Base : updates;checking automatically -Oracle Open Office Base : updates;checking manually -Oracle Open Office Base : updating -Oracle Open Office Base : updating;fields and charts, automatically (Writer) -Oracle Open Office Base : updating;links in text documents -Oracle Open Office Base : updating;links, on opening -Oracle Open Office Base : updating;templates -Oracle Open Office Base : URL -Oracle Open Office Base : URL;changing hyperlink URLs -Oracle Open Office Base : URL;definition -Oracle Open Office Base : URL;in pictures -Oracle Open Office Base : URL;saving absolute/relative paths -Oracle Open Office Base : URL;turning off URL recognition -Oracle Open Office Base : user data -Oracle Open Office Base : user data;input -Oracle Open Office Base : user data;removing when saving -Oracle Open Office Base : user feedback -Oracle Open Office Base : user feedback;automatically -Oracle Open Office Base : user-defined dictionaries -Oracle Open Office Base : user-defined dictionaries;creating -Oracle Open Office Base : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Base : user-defined dictionaries;editing -Oracle Open Office Base : user-defined styles -Oracle Open Office Base : user-defined styles;automatically replacing -Oracle Open Office Base : UTF-8/UCS2 support -Oracle Open Office Base : values -Oracle Open Office Base : values;rounded as shown (Calc) -Oracle Open Office Base : variables -Oracle Open Office Base : variables;for paths -Oracle Open Office Base : VBA code -Oracle Open Office Base : VBA code;loading/saving documents with VBA code -Oracle Open Office Base : version management -Oracle Open Office Base : version numbers of documents -Oracle Open Office Base : versions -Oracle Open Office Base : versions;comparing documents -Oracle Open Office Base : versions;file saving as, restriction -Oracle Open Office Base : versions;merging document versions -Oracle Open Office Base : versions;of a document -Oracle Open Office Base : versions;Oracle Open Office -Oracle Open Office Base : vertical callouts -Oracle Open Office Base : vertical scrollbars (Writer) -Oracle Open Office Base : vertical text boxes -Oracle Open Office Base : videos -Oracle Open Office Base : viewing -Oracle Open Office Base : viewing;databases -Oracle Open Office Base : viewing;file properties -Oracle Open Office Base : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Base : viewing;toolbars -Oracle Open Office Base : views -Oracle Open Office Base : views;creating database views (Base) -Oracle Open Office Base : views;defaults -Oracle Open Office Base : views;full screen -Oracle Open Office Base : views;icons -Oracle Open Office Base : views;scaling -Oracle Open Office Base : Visual Basic for Applications -Oracle Open Office Base : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Base : watermarks -Oracle Open Office Base : web documents -Oracle Open Office Base : web documents;XForms -Oracle Open Office Base : Web support -Oracle Open Office Base : WebCast export -Oracle Open Office Base : WebDAV over HTTPS -Oracle Open Office Base : windows -Oracle Open Office Base : windows;docking -Oracle Open Office Base : windows;docking definition -Oracle Open Office Base : windows;hiding/showing/docking -Oracle Open Office Base : windows;new -Oracle Open Office Base : wizards -Oracle Open Office Base : wizards;agendas -Oracle Open Office Base : wizards;database queries -Oracle Open Office Base : wizards;database tables (Base) -Oracle Open Office Base : wizards;databases (Base) -Oracle Open Office Base : wizards;document converter -Oracle Open Office Base : wizards;Euro Converter -Oracle Open Office Base : wizards;faxes -Oracle Open Office Base : wizards;forms -Oracle Open Office Base : wizards;letters -Oracle Open Office Base : wizards;macros (Base) -Oracle Open Office Base : wizards;overview -Oracle Open Office Base : wizards;presentations -Oracle Open Office Base : wizards;reports -Oracle Open Office Base : Word documents -Oracle Open Office Base : Word documents;compatibility -Oracle Open Office Base : Word documents;saving as -Oracle Open Office Base : WordArt, see Fontwork -Oracle Open Office Base : words -Oracle Open Office Base : words;automatically replacing -Oracle Open Office Base : words;wrapping in cells -Oracle Open Office Base : words;wrapping in CTL -Oracle Open Office Base : working directory change -Oracle Open Office Base : wrapping text -Oracle Open Office Base : wrapping text;in cells -Oracle Open Office Base : write protection on/off -Oracle Open Office Base : writing aids options -Oracle Open Office Base : WYSIWYG in fonts lists -Oracle Open Office Base : XForms -Oracle Open Office Base : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Base : XForms;conditions -Oracle Open Office Base : XForms;opening/editing -Oracle Open Office Base : XML converters -Oracle Open Office Base : XML file formats -Oracle Open Office Base : XML filters -Oracle Open Office Base : XML filters;creating/testing -Oracle Open Office Base : XML filters;saving as package/installing/deleting -Oracle Open Office Base : XML filters;settings -Oracle Open Office Base : XML Forms, see XForms -Oracle Open Office Base : XSLT filters, see also XML filters -Oracle Open Office Base : years -Oracle Open Office Base : years;2-digit options -Oracle Open Office Base : zero values -Oracle Open Office Base : zero values;displaying (Calc) -Oracle Open Office Base : zooming -Oracle Open Office Base : zooming;page views -Oracle Open Office Base : zooming;pictures -Oracle Open Office Base : zooming;status bar -Oracle Open Office Draw : 1/2 replacement -Oracle Open Office Draw : 3D charts -Oracle Open Office Draw : 3D objects -Oracle Open Office Draw : 3D objects;assembling -Oracle Open Office Draw : 3D objects;generating -Oracle Open Office Draw : 3D objects;inserting -Oracle Open Office Draw : 3D rotation objects -Oracle Open Office Draw : 3D rotation objects;converting to -Oracle Open Office Draw : 3D rotation objects;generating -Oracle Open Office Draw : 3D text creation -Oracle Open Office Draw : abbreviation replacement -Oracle Open Office Draw : absolute hyperlinks -Oracle Open Office Draw : absolute saving of URLs -Oracle Open Office Draw : accents -Oracle Open Office Draw : Access databases (base) -Oracle Open Office Draw : access rights for database tables (Base) -Oracle Open Office Draw : accessibility -Oracle Open Office Draw : accessibility;general shortcuts -Oracle Open Office Draw : accessibility;options -Oracle Open Office Draw : accessibility;Oracle Open Office assistive technology -Oracle Open Office Draw : accessibility;Oracle Open Office Draw -Oracle Open Office Draw : accessibility;Oracle Open Office features -Oracle Open Office Draw : accessibility;Oracle Open Office Impress -Oracle Open Office Draw : activating -Oracle Open Office Draw : activating;context menus -Oracle Open Office Draw : activating;Error Report Tool -Oracle Open Office Draw : activating;extended help tips -Oracle Open Office Draw : activating;plug-ins -Oracle Open Office Draw : ActiveX control -Oracle Open Office Draw : Adabas D databases (base) -Oracle Open Office Draw : add-ons, see UNO components -Oracle Open Office Draw : additional selection mode -Oracle Open Office Draw : address books -Oracle Open Office Draw : address books;LDAP server (Base) -Oracle Open Office Draw : address books;registering -Oracle Open Office Draw : address labels from databases -Oracle Open Office Draw : ADO databases (Base) -Oracle Open Office Draw : Agenda Wizard -Oracle Open Office Draw : aging filter -Oracle Open Office Draw : aligning -Oracle Open Office Draw : aligning;2D charts -Oracle Open Office Draw : aligning;cells -Oracle Open Office Draw : aligning;draw objects -Oracle Open Office Draw : aligning;objects -Oracle Open Office Draw : aligning;paragraphs -Oracle Open Office Draw : aligning;tables in text -Oracle Open Office Draw : aligning;text objects -Oracle Open Office Draw : aligning;titles in charts -Oracle Open Office Draw : allowing -Oracle Open Office Draw : allowing;effects -Oracle Open Office Draw : allowing;interaction -Oracle Open Office Draw : alternative fonts -Oracle Open Office Draw : ampersand symbol, see also operators -Oracle Open Office Draw : anchors -Oracle Open Office Draw : anchors;changing -Oracle Open Office Draw : anchors;displaying (Calc) -Oracle Open Office Draw : anchors;types/positions for draw objects -Oracle Open Office Draw : animated GIFs -Oracle Open Office Draw : animated slide transitions -Oracle Open Office Draw : animation effects -Oracle Open Office Draw : animations -Oracle Open Office Draw : animations;accessibility options -Oracle Open Office Draw : animations;editing -Oracle Open Office Draw : animations;list of -Oracle Open Office Draw : animations;saving as GIFs -Oracle Open Office Draw : appearance options -Oracle Open Office Draw : Arabic -Oracle Open Office Draw : Arabic;entering text -Oracle Open Office Draw : Arabic;language settings -Oracle Open Office Draw : area charts -Oracle Open Office Draw : areas -Oracle Open Office Draw : areas;bitmap patterns -Oracle Open Office Draw : areas;from connected lines -Oracle Open Office Draw : areas;hatched/dotted -Oracle Open Office Draw : areas;shadows -Oracle Open Office Draw : areas;slanting -Oracle Open Office Draw : areas;styles -Oracle Open Office Draw : areas;transparency -Oracle Open Office Draw : arguments in command line -Oracle Open Office Draw : arranging -Oracle Open Office Draw : arranging;objects -Oracle Open Office Draw : arranging;objects (guide) -Oracle Open Office Draw : arranging;slides -Oracle Open Office Draw : arrows -Oracle Open Office Draw : arrows;defining arrow heads -Oracle Open Office Draw : arrows;defining arrow lines -Oracle Open Office Draw : arrows;drawing in text -Oracle Open Office Draw : arrows;inserting -Oracle Open Office Draw : arrows;loading arrow styles -Oracle Open Office Draw : ASCII -Oracle Open Office Draw : ASCII;definition -Oracle Open Office Draw : Asian languages -Oracle Open Office Draw : Asian languages;enabling -Oracle Open Office Draw : Asian Phonetic Guide -Oracle Open Office Draw : Asian typography -Oracle Open Office Draw : assembled objects in 3D -Oracle Open Office Draw : assigning scripts -Oracle Open Office Draw : assistive technology in Oracle Open Office -Oracle Open Office Draw : attaching toolbars -Oracle Open Office Draw : attachments in e-mails -Oracle Open Office Draw : attributes -Oracle Open Office Draw : attributes;objects with -Oracle Open Office Draw : audio -Oracle Open Office Draw : authors -Oracle Open Office Draw : auto reloading HTML documents -Oracle Open Office Draw : AutoAbstract function for sending text to presentations -Oracle Open Office Draw : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Draw : AutoComplete function in text and list boxes -Oracle Open Office Draw : AutoCorrect function -Oracle Open Office Draw : AutoCorrect function;context menu -Oracle Open Office Draw : AutoCorrect function;options -Oracle Open Office Draw : AutoCorrect function;pictures and frames -Oracle Open Office Draw : AutoCorrect function;quotes -Oracle Open Office Draw : AutoCorrect function;replacement table -Oracle Open Office Draw : AutoCorrect function;switching on and off in Calc -Oracle Open Office Draw : AutoCorrect function;URL recognition -Oracle Open Office Draw : AutoFormat function -Oracle Open Office Draw : AutoFormat function;switching on and off -Oracle Open Office Draw : automatic captions (Writer) -Oracle Open Office Draw : automatic control focus -Oracle Open Office Draw : automatic hyperlink formatting -Oracle Open Office Draw : automatic line breaks -Oracle Open Office Draw : automatic lines/borders in text -Oracle Open Office Draw : automatic saving -Oracle Open Office Draw : automatic slide changes -Oracle Open Office Draw : automatic slide changes;rehearse timings -Oracle Open Office Draw : automatic slide shows -Oracle Open Office Draw : automatic slide transition -Oracle Open Office Draw : AutoPilots, see wizards -Oracle Open Office Draw : AutoValue (Base) -Oracle Open Office Draw : averages in charts -Oracle Open Office Draw : axes -Oracle Open Office Draw : axes;better scaling -Oracle Open Office Draw : axes;formatting -Oracle Open Office Draw : axes;formatting grids -Oracle Open Office Draw : axes;inserting grids -Oracle Open Office Draw : axes;interval marks -Oracle Open Office Draw : axes;showing axes in charts -Oracle Open Office Draw : axes in charts -Oracle Open Office Draw : backgrounds -Oracle Open Office Draw : backgrounds;changing -Oracle Open Office Draw : backgrounds;defining colors/pictures -Oracle Open Office Draw : backgrounds;deleting unused -Oracle Open Office Draw : backgrounds;frames/sections/indexes -Oracle Open Office Draw : backgrounds;inserting from Gallery -Oracle Open Office Draw : backgrounds;normal view -Oracle Open Office Draw : backgrounds;notes -Oracle Open Office Draw : backgrounds;printing -Oracle Open Office Draw : backgrounds;slides -Oracle Open Office Draw : backing window -Oracle Open Office Draw : backups -Oracle Open Office Draw : backups;automatic -Oracle Open Office Draw : backups;documents -Oracle Open Office Draw : bar charts -Oracle Open Office Draw : Basic -Oracle Open Office Draw : Basic;fonts for source display -Oracle Open Office Draw : Basic;programming -Oracle Open Office Draw : Basic;recording macros -Oracle Open Office Draw : basic fonts -Oracle Open Office Draw : behind object command -Oracle Open Office Draw : Bézier curves -Oracle Open Office Draw : Bézier curves;control points in presentations -Oracle Open Office Draw : bi-directional writing -Oracle Open Office Draw : binding space -Oracle Open Office Draw : bitmaps -Oracle Open Office Draw : bitmaps;converting to -Oracle Open Office Draw : bitmaps;converting to vector graphics -Oracle Open Office Draw : bitmaps;inserting and editing -Oracle Open Office Draw : bitmaps;off for faster printing -Oracle Open Office Draw : bitmaps;patterns -Oracle Open Office Draw : bitmaps;replacing colors -Oracle Open Office Draw : black and white display -Oracle Open Office Draw : black and white printing -Oracle Open Office Draw : black and white view -Oracle Open Office Draw : black printing in Calc -Oracle Open Office Draw : block selection mode -Oracle Open Office Draw : bold -Oracle Open Office Draw : bold;AutoFormat function -Oracle Open Office Draw : bold;text -Oracle Open Office Draw : bookmarks -Oracle Open Office Draw : bookmarks;Help -Oracle Open Office Draw : borders -Oracle Open Office Draw : borders;arranging -Oracle Open Office Draw : borders;cells on screen (Calc) -Oracle Open Office Draw : borders;for paragraphs -Oracle Open Office Draw : borders;for tables -Oracle Open Office Draw : borders;shadows -Oracle Open Office Draw : borders;table boundaries (Writer) -Oracle Open Office Draw : borders, see also frames -Oracle Open Office Draw : bound fields -Oracle Open Office Draw : bound fields;controls -Oracle Open Office Draw : boundaries of tables (Writer) -Oracle Open Office Draw : break display (Writer) -Oracle Open Office Draw : breaking object connections -Oracle Open Office Draw : brochures -Oracle Open Office Draw : brochures;printing several -Oracle Open Office Draw : bubble charts -Oracle Open Office Draw : build numbers of Oracle Open Office -Oracle Open Office Draw : bullet lists -Oracle Open Office Draw : bullet lists;formatting options -Oracle Open Office Draw : bullets -Oracle Open Office Draw : bullets;paragraphs -Oracle Open Office Draw : bullets;replacing -Oracle Open Office Draw : bullets;turning off -Oracle Open Office Draw : business cards -Oracle Open Office Draw : business cards;creating and synchronizing -Oracle Open Office Draw : business cards;using templates -Oracle Open Office Draw : button bars, see toolbars -Oracle Open Office Draw : buttons -Oracle Open Office Draw : buttons;adding push buttons -Oracle Open Office Draw : buttons;big/small -Oracle Open Office Draw : buttons;editing hyperlink buttons -Oracle Open Office Draw : buttons;form functions -Oracle Open Office Draw : buttons;toolbars -Oracle Open Office Draw : cache for graphics -Oracle Open Office Draw : calculating -Oracle Open Office Draw : calculating;iterative references (Calc) -Oracle Open Office Draw : calculating;regression curves -Oracle Open Office Draw : callouts -Oracle Open Office Draw : callouts;drawings -Oracle Open Office Draw : callouts;inserting in presentations -Oracle Open Office Draw : capital letters -Oracle Open Office Draw : capital letters;AutoCorrect function -Oracle Open Office Draw : capital letters;font effects -Oracle Open Office Draw : captions -Oracle Open Office Draw : captions;automatic captions (Writer) -Oracle Open Office Draw : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Draw : captions, see also labels/callouts -Oracle Open Office Draw : cascading update (Base) -Oracle Open Office Draw : case sensitivity -Oracle Open Office Draw : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Draw : case sensitivity;searching -Oracle Open Office Draw : cells -Oracle Open Office Draw : cells;aligning -Oracle Open Office Draw : cells;coloring (Calc) -Oracle Open Office Draw : cells;cursor positions after input (Calc) -Oracle Open Office Draw : cells;formatting without effect (Calc) -Oracle Open Office Draw : cells;line breaks -Oracle Open Office Draw : cells;linked to controls -Oracle Open Office Draw : cells;number of -Oracle Open Office Draw : cells;pasting -Oracle Open Office Draw : cells;resetting formats -Oracle Open Office Draw : cells;showing grid lines (Calc) -Oracle Open Office Draw : centered text -Oracle Open Office Draw : centimeters -Oracle Open Office Draw : certificates -Oracle Open Office Draw : changes -Oracle Open Office Draw : changes;accepting or rejecting -Oracle Open Office Draw : changes;comparing to original -Oracle Open Office Draw : changes;protecting -Oracle Open Office Draw : changes;recording -Oracle Open Office Draw : changes;review function -Oracle Open Office Draw : changes;showing -Oracle Open Office Draw : changing -Oracle Open Office Draw : changing;document titles -Oracle Open Office Draw : changing;file associations in Setup program -Oracle Open Office Draw : changing;icon sizes -Oracle Open Office Draw : changing;layer properties -Oracle Open Office Draw : changing;layout for handouts -Oracle Open Office Draw : changing;links -Oracle Open Office Draw : changing;order of slides -Oracle Open Office Draw : changing;slide layouts -Oracle Open Office Draw : changing;work directory -Oracle Open Office Draw : changing, see also editing and replacing -Oracle Open Office Draw : character styles -Oracle Open Office Draw : character styles;language selection -Oracle Open Office Draw : characters -Oracle Open Office Draw : characters;alternative fonts -Oracle Open Office Draw : characters;Asian layout -Oracle Open Office Draw : characters;bold -Oracle Open Office Draw : characters;coloring -Oracle Open Office Draw : characters;converting to curves -Oracle Open Office Draw : characters;displaying only on screen (Writer) -Oracle Open Office Draw : characters;enabling CTL and Asian characters -Oracle Open Office Draw : characters;font effects -Oracle Open Office Draw : characters;fonts and formats -Oracle Open Office Draw : characters;hyperlinks -Oracle Open Office Draw : characters;italics -Oracle Open Office Draw : characters;language selection -Oracle Open Office Draw : characters;shadowed -Oracle Open Office Draw : characters;spacing -Oracle Open Office Draw : characters;special -Oracle Open Office Draw : characters;underlining -Oracle Open Office Draw : charcoal sketches filter -Oracle Open Office Draw : chart legends -Oracle Open Office Draw : chart legends;hiding -Oracle Open Office Draw : chart legends;showing icons with labels -Oracle Open Office Draw : chart types -Oracle Open Office Draw : chart types;area -Oracle Open Office Draw : chart types;bubble -Oracle Open Office Draw : chart types;column and bar -Oracle Open Office Draw : chart types;column and line -Oracle Open Office Draw : chart types;line -Oracle Open Office Draw : chart types;net -Oracle Open Office Draw : chart types;pie/donut -Oracle Open Office Draw : chart types;stock -Oracle Open Office Draw : chart types;XY (scatter) -Oracle Open Office Draw : charts -Oracle Open Office Draw : charts;3D views -Oracle Open Office Draw : charts;aligning -Oracle Open Office Draw : charts;arranging within stacks -Oracle Open Office Draw : charts;bars with textures -Oracle Open Office Draw : charts;choosing chart types -Oracle Open Office Draw : charts;colors -Oracle Open Office Draw : charts;copying with link to source cell range -Oracle Open Office Draw : charts;data labels -Oracle Open Office Draw : charts;displaying (Calc) -Oracle Open Office Draw : charts;editing axes -Oracle Open Office Draw : charts;editing data -Oracle Open Office Draw : charts;editing legends -Oracle Open Office Draw : charts;editing titles -Oracle Open Office Draw : charts;formatting areas -Oracle Open Office Draw : charts;formatting floors -Oracle Open Office Draw : charts;formatting walls -Oracle Open Office Draw : charts;inserting -Oracle Open Office Draw : charts;overview -Oracle Open Office Draw : charts;positioning axes -Oracle Open Office Draw : charts;properties -Oracle Open Office Draw : charts;reorganizing -Oracle Open Office Draw : charts;scaling axes -Oracle Open Office Draw : charts;scaling text -Oracle Open Office Draw : charts;shortcuts -Oracle Open Office Draw : charts;showing axes -Oracle Open Office Draw : charts;updating automatically (Writer) -Oracle Open Office Draw : check box creation -Oracle Open Office Draw : Chinese writing systems -Oracle Open Office Draw : choosing printers -Oracle Open Office Draw : circle drawings -Oracle Open Office Draw : circle segments -Oracle Open Office Draw : circles -Oracle Open Office Draw : circles;of objects -Oracle Open Office Draw : Client Side ImageMap -Oracle Open Office Draw : clipboard -Oracle Open Office Draw : clipboard;cutting -Oracle Open Office Draw : clipboard;pasting -Oracle Open Office Draw : clipboard;pasting formatted/unformatted text -Oracle Open Office Draw : clipboard;selection clipboard -Oracle Open Office Draw : clipboard;Unix -Oracle Open Office Draw : closing -Oracle Open Office Draw : closing;documents -Oracle Open Office Draw : closing;shapes -Oracle Open Office Draw : closing;toolbars -Oracle Open Office Draw : collaboration -Oracle Open Office Draw : color bar -Oracle Open Office Draw : colors -Oracle Open Office Draw : colors;adding -Oracle Open Office Draw : colors;appearance -Oracle Open Office Draw : colors;backgrounds -Oracle Open Office Draw : colors;charts -Oracle Open Office Draw : colors;default colors -Oracle Open Office Draw : colors;defining and saving -Oracle Open Office Draw : colors;defining gradients interactively -Oracle Open Office Draw : colors;displaying presentations -Oracle Open Office Draw : colors;fill format -Oracle Open Office Draw : colors;fonts -Oracle Open Office Draw : colors;grid lines and cells (Calc) -Oracle Open Office Draw : colors;loading lists -Oracle Open Office Draw : colors;models -Oracle Open Office Draw : colors;not printing -Oracle Open Office Draw : colors;printing in grayscale -Oracle Open Office Draw : colors;replacing -Oracle Open Office Draw : colors;restriction (Calc) -Oracle Open Office Draw : colors;selection -Oracle Open Office Draw : column and line charts -Oracle Open Office Draw : column charts -Oracle Open Office Draw : column headers -Oracle Open Office Draw : column headers;displaying (Calc) -Oracle Open Office Draw : column headers;highlighting (Calc) -Oracle Open Office Draw : columns -Oracle Open Office Draw : columns;inserting -Oracle Open Office Draw : columns;setting with the mouse -Oracle Open Office Draw : combination charts -Oracle Open Office Draw : combining -Oracle Open Office Draw : combining;3D objects -Oracle Open Office Draw : combining;draw objects -Oracle Open Office Draw : combining;undoing -Oracle Open Office Draw : combo box creation -Oracle Open Office Draw : command button creation -Oracle Open Office Draw : command buttons, see push buttons -Oracle Open Office Draw : command line parameters -Oracle Open Office Draw : commands -Oracle Open Office Draw : commands;repeating -Oracle Open Office Draw : commands;SQL -Oracle Open Office Draw : comments -Oracle Open Office Draw : comments;displaying (Calc) -Oracle Open Office Draw : comments;inserting/editing/deleting/printing -Oracle Open Office Draw : comments;on changes -Oracle Open Office Draw : comments;printing in text -Oracle Open Office Draw : common terms -Oracle Open Office Draw : common terms;Chinese dictionary -Oracle Open Office Draw : common terms;glossaries -Oracle Open Office Draw : common terms;Internet glossary -Oracle Open Office Draw : comparisons -Oracle Open Office Draw : comparisons;document versions -Oracle Open Office Draw : comparisons;operators in default filter dialog -Oracle Open Office Draw : compatibility settings for MS Word import -Oracle Open Office Draw : complete screen view -Oracle Open Office Draw : complex text layout -Oracle Open Office Draw : complex text layout;definition -Oracle Open Office Draw : complex text layout;enabling -Oracle Open Office Draw : complex text layout, see CTL -Oracle Open Office Draw : compose key to insert special characters -Oracle Open Office Draw : concatenation, see ampersand symbol -Oracle Open Office Draw : conditional separators -Oracle Open Office Draw : conditions -Oracle Open Office Draw : conditions;in number formats -Oracle Open Office Draw : conditions;items in Data Navigator -Oracle Open Office Draw : cones -Oracle Open Office Draw : Configuration Manager -Oracle Open Office Draw : configuring -Oracle Open Office Draw : configuring;fax icon -Oracle Open Office Draw : configuring;Oracle Open Office -Oracle Open Office Draw : configuring;toolbars -Oracle Open Office Draw : connecting -Oracle Open Office Draw : connecting;draw objects -Oracle Open Office Draw : connecting;lines -Oracle Open Office Draw : connecting;paths and objects -Oracle Open Office Draw : connections to data sources (Base) -Oracle Open Office Draw : connectors -Oracle Open Office Draw : connectors;properties of -Oracle Open Office Draw : connectors;using -Oracle Open Office Draw : constructing shapes -Oracle Open Office Draw : contents protection -Oracle Open Office Draw : context menus -Oracle Open Office Draw : contours -Oracle Open Office Draw : contours;converting to -Oracle Open Office Draw : control point display in presentations -Oracle Open Office Draw : control points definition -Oracle Open Office Draw : controls -Oracle Open Office Draw : controls;activating in forms -Oracle Open Office Draw : controls;adding to documents -Oracle Open Office Draw : controls;arranging in forms -Oracle Open Office Draw : controls;arranging within stacks -Oracle Open Office Draw : controls;assigning data sources -Oracle Open Office Draw : controls;assigning macros (Basic) -Oracle Open Office Draw : controls;bound fields/list contents/linked cells -Oracle Open Office Draw : controls;events -Oracle Open Office Draw : controls;focus -Oracle Open Office Draw : controls;formatted fields -Oracle Open Office Draw : controls;grouping -Oracle Open Office Draw : controls;hidden -Oracle Open Office Draw : controls;inserting -Oracle Open Office Draw : controls;multi-line titles -Oracle Open Office Draw : controls;positions and sizes -Oracle Open Office Draw : controls;printing -Oracle Open Office Draw : controls;properties of form controls -Oracle Open Office Draw : controls;properties of table controls -Oracle Open Office Draw : controls;reference by SQL -Oracle Open Office Draw : controls;rich text control -Oracle Open Office Draw : controls;select mode -Oracle Open Office Draw : controls;showing (Writer) -Oracle Open Office Draw : converters -Oracle Open Office Draw : converters;Euro converter -Oracle Open Office Draw : converters;PostScript, UNIX -Oracle Open Office Draw : converters;XML -Oracle Open Office Draw : converting -Oracle Open Office Draw : converting;bitmaps to polygons -Oracle Open Office Draw : converting;Hangul/Hanja -Oracle Open Office Draw : converting;metrics -Oracle Open Office Draw : converting;Microsoft documents -Oracle Open Office Draw : converting;Oracle Open Office documents -Oracle Open Office Draw : converting;Pocket PC formats -Oracle Open Office Draw : converting;points -Oracle Open Office Draw : converting;text to curves -Oracle Open Office Draw : converting;to bitmaps -Oracle Open Office Draw : converting;to contours -Oracle Open Office Draw : converting;to curves, polygons, 3D -Oracle Open Office Draw : converting;to metafile format (WMF) -Oracle Open Office Draw : copies -Oracle Open Office Draw : copies;printing -Oracle Open Office Draw : copying -Oracle Open Office Draw : copying;by drag and drop -Oracle Open Office Draw : copying;data from text documents -Oracle Open Office Draw : copying;datasource records in spreadsheets -Oracle Open Office Draw : copying;draw objects -Oracle Open Office Draw : copying;draw objects between documents -Oracle Open Office Draw : copying;formatting -Oracle Open Office Draw : copying;from data source view -Oracle Open Office Draw : copying;from Gallery -Oracle Open Office Draw : copying;in Unix -Oracle Open Office Draw : copying;pictures, between documents -Oracle Open Office Draw : copying;sheet areas, to text documents -Oracle Open Office Draw : copying;slides -Oracle Open Office Draw : copying;text from other documents -Oracle Open Office Draw : copying;to Gallery -Oracle Open Office Draw : copyright for Oracle Open Office -Oracle Open Office Draw : corner points -Oracle Open Office Draw : corner roundings -Oracle Open Office Draw : covered objects -Oracle Open Office Draw : crash reports -Oracle Open Office Draw : criteria of query design (Base) -Oracle Open Office Draw : cropping pictures -Oracle Open Office Draw : cross-fading -Oracle Open Office Draw : cross-fading;creating cross-fades -Oracle Open Office Draw : cross-fading;slides -Oracle Open Office Draw : cross-fading;two draw objects -Oracle Open Office Draw : CTL -Oracle Open Office Draw : CTL;(not) wrapping words -Oracle Open Office Draw : CTL;complex text layout languages -Oracle Open Office Draw : CTL;definition -Oracle Open Office Draw : CTL;options -Oracle Open Office Draw : cubes -Oracle Open Office Draw : currencies -Oracle Open Office Draw : currencies;converters -Oracle Open Office Draw : currencies;format codes -Oracle Open Office Draw : currency field creation -Oracle Open Office Draw : currency formats -Oracle Open Office Draw : cursor -Oracle Open Office Draw : cursor;allowing in protected areas (Writer) -Oracle Open Office Draw : cursor;in read-only text -Oracle Open Office Draw : cursor;quickly moving to an object -Oracle Open Office Draw : curves -Oracle Open Office Draw : curves;converting text to -Oracle Open Office Draw : curves;drawing -Oracle Open Office Draw : curves;editing -Oracle Open Office Draw : curves;editing points -Oracle Open Office Draw : curves;properties in line charts/XY charts -Oracle Open Office Draw : curves;toolbar -Oracle Open Office Draw : custom animation -Oracle Open Office Draw : custom colors -Oracle Open Office Draw : custom dictionaries -Oracle Open Office Draw : custom dictionaries;editing -Oracle Open Office Draw : custom gradients -Oracle Open Office Draw : custom hyphens (Writer) -Oracle Open Office Draw : custom quotes -Oracle Open Office Draw : custom slide shows -Oracle Open Office Draw : custom templates -Oracle Open Office Draw : customizing -Oracle Open Office Draw : customizing;events -Oracle Open Office Draw : customizing;keyboard -Oracle Open Office Draw : customizing;menus -Oracle Open Office Draw : customizing;Oracle Open Office -Oracle Open Office Draw : customizing;round corners -Oracle Open Office Draw : customizing;toolbars -Oracle Open Office Draw : cutting -Oracle Open Office Draw : cylinders -Oracle Open Office Draw : dashes -Oracle Open Office Draw : data -Oracle Open Office Draw : data;filtering in forms -Oracle Open Office Draw : data;forms and subforms -Oracle Open Office Draw : data;read-only -Oracle Open Office Draw : data;sorting in forms -Oracle Open Office Draw : data;user data -Oracle Open Office Draw : data binding change in XForms -Oracle Open Office Draw : data labels in charts -Oracle Open Office Draw : Data Navigator -Oracle Open Office Draw : Data Navigator;adding/editing items -Oracle Open Office Draw : Data Navigator;display options -Oracle Open Office Draw : data ranges in charts -Oracle Open Office Draw : data series -Oracle Open Office Draw : data source browser -Oracle Open Office Draw : data source explorer -Oracle Open Office Draw : data source view -Oracle Open Office Draw : data source view;drag and drop -Oracle Open Office Draw : data source view;overview -Oracle Open Office Draw : data source view;showing -Oracle Open Office Draw : data sources -Oracle Open Office Draw : data sources;as tables -Oracle Open Office Draw : data sources;connection settings (Base) -Oracle Open Office Draw : data sources;copying records to spreadsheets -Oracle Open Office Draw : data sources;displaying current -Oracle Open Office Draw : data sources;LDAP server (Base) -Oracle Open Office Draw : data sources;Oracle Open Office Base -Oracle Open Office Draw : data sources;registering address books -Oracle Open Office Draw : data sources;reports -Oracle Open Office Draw : data sources;setting for stock charts -Oracle Open Office Draw : data sources;viewing -Oracle Open Office Draw : data structure of XForms -Oracle Open Office Draw : data values in charts -Oracle Open Office Draw : data, see also values -Oracle Open Office Draw : database contents -Oracle Open Office Draw : database contents;inserting as tables -Oracle Open Office Draw : database contents;inserting as text -Oracle Open Office Draw : database reports -Oracle Open Office Draw : Database Wizard (Base) -Oracle Open Office Draw : databases -Oracle Open Office Draw : databases;administration through SQL (Base) -Oracle Open Office Draw : databases;ADO (Base) -Oracle Open Office Draw : databases;connecting (Base) -Oracle Open Office Draw : databases;creating -Oracle Open Office Draw : databases;creating labels -Oracle Open Office Draw : databases;creating queries -Oracle Open Office Draw : databases;creating reports -Oracle Open Office Draw : databases;creating tables -Oracle Open Office Draw : databases;deleting (Base) -Oracle Open Office Draw : databases;drag and drop (Base) -Oracle Open Office Draw : databases;editing tables -Oracle Open Office Draw : databases;form filters -Oracle Open Office Draw : databases;formats (Base) -Oracle Open Office Draw : databases;importing/exporting -Oracle Open Office Draw : databases;JDBC (Base) -Oracle Open Office Draw : databases;main page (Base) -Oracle Open Office Draw : databases;ODBC (Base) -Oracle Open Office Draw : databases;overview -Oracle Open Office Draw : databases;registering (Base) -Oracle Open Office Draw : databases;searching records -Oracle Open Office Draw : databases;shortcut keys -Oracle Open Office Draw : databases;sorting -Oracle Open Office Draw : databases;standard filters -Oracle Open Office Draw : databases;text formats -Oracle Open Office Draw : databases;viewing -Oracle Open Office Draw : date fields -Oracle Open Office Draw : date fields;creating -Oracle Open Office Draw : date fields;properties -Oracle Open Office Draw : date formats -Oracle Open Office Draw : date on all slides -Oracle Open Office Draw : dates -Oracle Open Office Draw : dates;default (Calc) -Oracle Open Office Draw : dates;fixed -Oracle Open Office Draw : dates;printing in presentations -Oracle Open Office Draw : dates;start 1900/01/01 (Calc) -Oracle Open Office Draw : dates;start 1904/01/01 (Calc) -Oracle Open Office Draw : dates;variable -Oracle Open Office Draw : dBASE -Oracle Open Office Draw : dBASE;database settings (Base) -Oracle Open Office Draw : DDE -Oracle Open Office Draw : DDE;definition -Oracle Open Office Draw : deactivating -Oracle Open Office Draw : deactivating;plug-ins -Oracle Open Office Draw : decimal places displayed (Calc) -Oracle Open Office Draw : decimal separator key -Oracle Open Office Draw : decimal tab stops -Oracle Open Office Draw : decreasing sizes of views -Oracle Open Office Draw : default directories -Oracle Open Office Draw : default filters -Oracle Open Office Draw : default filters;comparison operators -Oracle Open Office Draw : default filters;databases -Oracle Open Office Draw : default printer -Oracle Open Office Draw : default printer;setting up -Oracle Open Office Draw : default printer;UNIX -Oracle Open Office Draw : default templates -Oracle Open Office Draw : default templates;changing -Oracle Open Office Draw : default templates;organizing -Oracle Open Office Draw : defaults -Oracle Open Office Draw : defaults;documents -Oracle Open Office Draw : defaults;file formats in file dialogs -Oracle Open Office Draw : defaults;file formats in Oracle Open Office -Oracle Open Office Draw : defaults;fonts -Oracle Open Office Draw : defaults;grids (Writer/Calc) -Oracle Open Office Draw : defaults;languages -Oracle Open Office Draw : defaults;number formats -Oracle Open Office Draw : defaults;of saving -Oracle Open Office Draw : defaults;program configuration -Oracle Open Office Draw : defaults;tab stops in text -Oracle Open Office Draw : defaults;views -Oracle Open Office Draw : defining -Oracle Open Office Draw : defining;arrowheads and other line ends -Oracle Open Office Draw : defining;colors -Oracle Open Office Draw : defining;gradients -Oracle Open Office Draw : defining;line styles -Oracle Open Office Draw : defining;paragraph borders -Oracle Open Office Draw : defining;queries (Base) -Oracle Open Office Draw : defining;table borders -Oracle Open Office Draw : deleting -Oracle Open Office Draw : deleting;all direct formatting -Oracle Open Office Draw : deleting;animation effects -Oracle Open Office Draw : deleting;comments -Oracle Open Office Draw : deleting;databases (Base) -Oracle Open Office Draw : deleting;hyperlinks -Oracle Open Office Draw : deleting;layers -Oracle Open Office Draw : deleting;lines in text -Oracle Open Office Draw : deleting;models/instances -Oracle Open Office Draw : deleting;namespaces in XForms -Oracle Open Office Draw : deleting;points -Oracle Open Office Draw : deleting;slide transition effects -Oracle Open Office Draw : deleting;slides -Oracle Open Office Draw : deleting;tab stops -Oracle Open Office Draw : deleting;templates -Oracle Open Office Draw : deleting;XML filters -Oracle Open Office Draw : depth stagger -Oracle Open Office Draw : descriptions for objects -Oracle Open Office Draw : design mode after saving -Oracle Open Office Draw : design view -Oracle Open Office Draw : design view;creating forms -Oracle Open Office Draw : design view;queries/views (Base) -Oracle Open Office Draw : designing -Oracle Open Office Draw : designing;database tables -Oracle Open Office Draw : designing;fonts -Oracle Open Office Draw : designing;queries (Base) -Oracle Open Office Draw : detaching toolbars -Oracle Open Office Draw : dictionaries -Oracle Open Office Draw : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Draw : dictionaries;creating -Oracle Open Office Draw : dictionaries;editing user-defined -Oracle Open Office Draw : dictionaries;spellcheck -Oracle Open Office Draw : dictionaries, see also languages -Oracle Open Office Draw : digital signatures -Oracle Open Office Draw : digital signatures;getting/managing/applying -Oracle Open Office Draw : digital signatures;overview -Oracle Open Office Draw : digital signatures;WebDAV over HTTPS -Oracle Open Office Draw : dimension lines -Oracle Open Office Draw : dimension lines;drawing -Oracle Open Office Draw : dimension lines;properties of -Oracle Open Office Draw : direct formatting -Oracle Open Office Draw : direct formatting;undoing all -Oracle Open Office Draw : directories -Oracle Open Office Draw : directories;creating new -Oracle Open Office Draw : directories;directory structure -Oracle Open Office Draw : disabled persons -Oracle Open Office Draw : display qualities of presentations -Oracle Open Office Draw : displaying -Oracle Open Office Draw : displaying;comments (Calc) -Oracle Open Office Draw : displaying;comments in text documents -Oracle Open Office Draw : displaying;non-printing characters (Writer) -Oracle Open Office Draw : displaying;pictures and objects (Writer) -Oracle Open Office Draw : displaying;tables (Writer) -Oracle Open Office Draw : displaying;zero values (Calc) -Oracle Open Office Draw : distances -Oracle Open Office Draw : distinct values in SQL queries -Oracle Open Office Draw : distorting in drawings -Oracle Open Office Draw : distorting objects -Oracle Open Office Draw : distributing draw objects -Oracle Open Office Draw : distributing XML filters -Oracle Open Office Draw : docking -Oracle Open Office Draw : docking;definition -Oracle Open Office Draw : docking;toolbars -Oracle Open Office Draw : docking;windows -Oracle Open Office Draw : Document Converter Wizard -Oracle Open Office Draw : Document Map, see Navigator -Oracle Open Office Draw : document types in Oracle Open Office -Oracle Open Office Draw : documents -Oracle Open Office Draw : documents;changing titles -Oracle Open Office Draw : documents;closing -Oracle Open Office Draw : documents;comparing -Oracle Open Office Draw : documents;contents as lists -Oracle Open Office Draw : documents;editing time -Oracle Open Office Draw : documents;exporting -Oracle Open Office Draw : documents;importing -Oracle Open Office Draw : documents;languages -Oracle Open Office Draw : documents;measurement units in -Oracle Open Office Draw : documents;merging -Oracle Open Office Draw : documents;number of pages/tables/sheets -Oracle Open Office Draw : documents;opening -Oracle Open Office Draw : documents;opening in design mode -Oracle Open Office Draw : documents;opening with templates -Oracle Open Office Draw : documents;organizing -Oracle Open Office Draw : documents;printing -Oracle Open Office Draw : documents;read-only -Oracle Open Office Draw : documents;reloading -Oracle Open Office Draw : documents;saving -Oracle Open Office Draw : documents;saving automatically -Oracle Open Office Draw : documents;saving in other formats -Oracle Open Office Draw : documents;sending as e-mail -Oracle Open Office Draw : documents;styles changed -Oracle Open Office Draw : documents;version management -Oracle Open Office Draw : documents;version numbers -Oracle Open Office Draw : donut charts -Oracle Open Office Draw : dotted areas -Oracle Open Office Draw : double-line spacing in paragraphs -Oracle Open Office Draw : double-line writing in Asian layout -Oracle Open Office Draw : doubling draw objects -Oracle Open Office Draw : drag and drop -Oracle Open Office Draw : drag and drop;copying and pasting text -Oracle Open Office Draw : drag and drop;data source view -Oracle Open Office Draw : drag and drop;from Gallery to draw objects -Oracle Open Office Draw : drag and drop;overview -Oracle Open Office Draw : drag and drop;pictures -Oracle Open Office Draw : drag and drop;to Gallery -Oracle Open Office Draw : Draw instructions -Oracle Open Office Draw : draw objects -Oracle Open Office Draw : draw objects;adding/editing/copying -Oracle Open Office Draw : draw objects;anchoring -Oracle Open Office Draw : draw objects;arranging within stacks -Oracle Open Office Draw : draw objects;combining -Oracle Open Office Draw : draw objects;connecting lines to -Oracle Open Office Draw : draw objects;converting text to -Oracle Open Office Draw : draw objects;copying between documents -Oracle Open Office Draw : draw objects;cross-fading two objects -Oracle Open Office Draw : draw objects;displaying (Calc) -Oracle Open Office Draw : draw objects;dropping Gallery pictures -Oracle Open Office Draw : draw objects;duplicating -Oracle Open Office Draw : draw objects;flipping -Oracle Open Office Draw : draw objects;grouping -Oracle Open Office Draw : draw objects;legends -Oracle Open Office Draw : draw objects;positioning and resizing -Oracle Open Office Draw : draw objects;protecting -Oracle Open Office Draw : draw objects;rotating -Oracle Open Office Draw : draw objects;slanting -Oracle Open Office Draw : draw objects;text entry mode -Oracle Open Office Draw : draw objects;text in -Oracle Open Office Draw : drawing -Oracle Open Office Draw : drawing;3D objects -Oracle Open Office Draw : drawing;freeform lines -Oracle Open Office Draw : drawing;lines -Oracle Open Office Draw : drawing;sectors and segments -Oracle Open Office Draw : Drawing bar -Oracle Open Office Draw : drawing lines in text -Oracle Open Office Draw : drawings -Oracle Open Office Draw : drawings;creating/opening -Oracle Open Office Draw : drawings;languages -Oracle Open Office Draw : drawings;printing -Oracle Open Office Draw : drawings;printing defaults -Oracle Open Office Draw : drawings;printing in text documents -Oracle Open Office Draw : drawings;saving -Oracle Open Office Draw : drawings;saving automatically -Oracle Open Office Draw : drawings;saving in other formats -Oracle Open Office Draw : drawings;sending as e-mail -Oracle Open Office Draw : drawings;shortcut keys -Oracle Open Office Draw : drawings;showing (Writer) -Oracle Open Office Draw : drawings;zoom function in -Oracle Open Office Draw : drawings, see also draw objects -Oracle Open Office Draw : drop-down lists in form functions -Oracle Open Office Draw : duplicating draw objects -Oracle Open Office Draw : e-mail attachments -Oracle Open Office Draw : Edit File icon -Oracle Open Office Draw : edit mode -Oracle Open Office Draw : edit mode;after opening -Oracle Open Office Draw : edit mode;through Enter key (Calc) -Oracle Open Office Draw : Edit Points bar -Oracle Open Office Draw : editing -Oracle Open Office Draw : editing;chart axes -Oracle Open Office Draw : editing;chart data -Oracle Open Office Draw : editing;chart legends -Oracle Open Office Draw : editing;chart titles -Oracle Open Office Draw : editing;comments -Oracle Open Office Draw : editing;curves -Oracle Open Office Draw : editing;data binding of XForms -Oracle Open Office Draw : editing;database tables and queries -Oracle Open Office Draw : editing;draw objects -Oracle Open Office Draw : editing;fields -Oracle Open Office Draw : editing;Fontwork objects -Oracle Open Office Draw : editing;gradients -Oracle Open Office Draw : editing;guides and snap points -Oracle Open Office Draw : editing;hyperlinks -Oracle Open Office Draw : editing;menus -Oracle Open Office Draw : editing;objects -Oracle Open Office Draw : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Draw : editing;pictures -Oracle Open Office Draw : editing;reports -Oracle Open Office Draw : editing;shortcut keys -Oracle Open Office Draw : editing;slide titles -Oracle Open Office Draw : editing;tab stops -Oracle Open Office Draw : editing;templates -Oracle Open Office Draw : editing;titles -Oracle Open Office Draw : editing;toolbars -Oracle Open Office Draw : editing;undoing -Oracle Open Office Draw : editing;XForms -Oracle Open Office Draw : editing time of documents -Oracle Open Office Draw : editors -Oracle Open Office Draw : editors;formula editor -Oracle Open Office Draw : editors;ImageMap editor -Oracle Open Office Draw : effects -Oracle Open Office Draw : effects;animated slide transitions -Oracle Open Office Draw : effects;applying to/removing from objects -Oracle Open Office Draw : effects;font positions -Oracle Open Office Draw : effects;fonts -Oracle Open Office Draw : effects;Fontwork icons -Oracle Open Office Draw : effects;preview -Oracle Open Office Draw : effects;sounds -Oracle Open Office Draw : ellipses -Oracle Open Office Draw : ellipses;segments -Oracle Open Office Draw : ellipses;toolbars -Oracle Open Office Draw : empty documents -Oracle Open Office Draw : empty paragraph removal -Oracle Open Office Draw : encryption of contents -Oracle Open Office Draw : entering groups -Oracle Open Office Draw : entering text from right to left -Oracle Open Office Draw : equal sign, see also operators -Oracle Open Office Draw : equations in formula editor -Oracle Open Office Draw : error bars in charts -Oracle Open Office Draw : error indicators in charts -Oracle Open Office Draw : Error Report Tool -Oracle Open Office Draw : Euro -Oracle Open Office Draw : Euro;currency formats -Oracle Open Office Draw : Euro;Euro Converter Wizard -Oracle Open Office Draw : even/odd pages -Oracle Open Office Draw : even/odd pages;printing -Oracle Open Office Draw : events -Oracle Open Office Draw : events;assigning scripts -Oracle Open Office Draw : events;controls -Oracle Open Office Draw : events;customizing -Oracle Open Office Draw : events;in forms -Oracle Open Office Draw : Excel -Oracle Open Office Draw : Excel;saving as -Oracle Open Office Draw : Excel;search criteria -Oracle Open Office Draw : exceptions -Oracle Open Office Draw : exceptions;user-defined dictionaries -Oracle Open Office Draw : exchanging, see also replacing -Oracle Open Office Draw : executing SQL commands -Oracle Open Office Draw : exiting -Oracle Open Office Draw : exiting;by clicking objects -Oracle Open Office Draw : exiting;groups -Oracle Open Office Draw : exiting;Oracle Open Office -Oracle Open Office Draw : expanding -Oracle Open Office Draw : expanding;slides -Oracle Open Office Draw : expanding formatting (Calc) -Oracle Open Office Draw : explorer of data sources -Oracle Open Office Draw : export filters -Oracle Open Office Draw : exporting -Oracle Open Office Draw : exporting;animations to GIF format -Oracle Open Office Draw : exporting;bitmaps -Oracle Open Office Draw : exporting;HTML and text documents -Oracle Open Office Draw : exporting;Microsoft Office documents with VBA code -Oracle Open Office Draw : exporting;presentations to HTML -Oracle Open Office Draw : exporting;spreadsheets to text format -Oracle Open Office Draw : exporting;templates -Oracle Open Office Draw : exporting;to foreign formats -Oracle Open Office Draw : exporting;to HTML -Oracle Open Office Draw : exporting;to Macromedia Flash format -Oracle Open Office Draw : exporting;to Microsoft Office formats -Oracle Open Office Draw : exporting;to PDF -Oracle Open Office Draw : exporting;to PostScript format -Oracle Open Office Draw : exporting;to XML -Oracle Open Office Draw : exporting;XML files -Oracle Open Office Draw : extended tips in Help -Oracle Open Office Draw : extension mode in text -Oracle Open Office Draw : extensions -Oracle Open Office Draw : extensions;Extension Manager -Oracle Open Office Draw : extensions;file formats -Oracle Open Office Draw : external keys (Base) -Oracle Open Office Draw : extrusion objects -Oracle Open Office Draw : eyedropper tool -Oracle Open Office Draw : faster printing -Oracle Open Office Draw : faxes -Oracle Open Office Draw : faxes;configuring Oracle Open Office -Oracle Open Office Draw : faxes;fax programs/fax printers under UNIX -Oracle Open Office Draw : faxes;selecting a fax machine -Oracle Open Office Draw : faxes;sending -Oracle Open Office Draw : faxes;wizards -Oracle Open Office Draw : feedback -Oracle Open Office Draw : feedback;automatically -Oracle Open Office Draw : fields -Oracle Open Office Draw : fields;authors -Oracle Open Office Draw : fields;database tables -Oracle Open Office Draw : fields;dates (fixed) -Oracle Open Office Draw : fields;dates (variable) -Oracle Open Office Draw : fields;displaying field codes (Writer) -Oracle Open Office Draw : fields;editing -Oracle Open Office Draw : fields;file names -Oracle Open Office Draw : fields;formatted fields -Oracle Open Office Draw : fields;formatting -Oracle Open Office Draw : fields;in slides -Oracle Open Office Draw : fields;page numbers -Oracle Open Office Draw : fields;times (fixed) -Oracle Open Office Draw : fields;times (variable) -Oracle Open Office Draw : fields;updating automatically (Writer) -Oracle Open Office Draw : file associations for Microsoft Office -Oracle Open Office Draw : file filters -Oracle Open Office Draw : file filters;mobile devices -Oracle Open Office Draw : file filters;XML -Oracle Open Office Draw : file formats -Oracle Open Office Draw : file formats;changing Oracle Open Office defaults -Oracle Open Office Draw : file formats;OpenDocument/XML -Oracle Open Office Draw : file formats;saving always in other formats -Oracle Open Office Draw : file selection button -Oracle Open Office Draw : file sharing options for current document -Oracle Open Office Draw : files -Oracle Open Office Draw : files;filters and formats -Oracle Open Office Draw : files;importing -Oracle Open Office Draw : files;inserting -Oracle Open Office Draw : files;inserting pictures -Oracle Open Office Draw : files;opening -Oracle Open Office Draw : files;opening with placeholders -Oracle Open Office Draw : files;properties -Oracle Open Office Draw : files;saving -Oracle Open Office Draw : files;saving automatically -Oracle Open Office Draw : files;saving in other formats -Oracle Open Office Draw : files;sending as e-mail -Oracle Open Office Draw : files;version numbers -Oracle Open Office Draw : files and folders in Oracle Open Office -Oracle Open Office Draw : fill characters with tabulators -Oracle Open Office Draw : fill colors for areas -Oracle Open Office Draw : fill format mode -Oracle Open Office Draw : fill format mode;styles -Oracle Open Office Draw : fill patterns for areas -Oracle Open Office Draw : filter conditions -Oracle Open Office Draw : filter conditions;connecting -Oracle Open Office Draw : filter conditions;in queries (Base) -Oracle Open Office Draw : filtering -Oracle Open Office Draw : filtering;data in databases -Oracle Open Office Draw : filtering;data in forms -Oracle Open Office Draw : filters -Oracle Open Office Draw : filters;comparison operators -Oracle Open Office Draw : filters;for import and export -Oracle Open Office Draw : filters;Navigator -Oracle Open Office Draw : filters;pictures -Oracle Open Office Draw : filters;XML filter settings -Oracle Open Office Draw : Find tab in Help -Oracle Open Office Draw : finding -Oracle Open Office Draw : finding;in all sheets -Oracle Open Office Draw : finding;records in form documents -Oracle Open Office Draw : finding;selections -Oracle Open Office Draw : finding;similarity search -Oracle Open Office Draw : fitting to pages -Oracle Open Office Draw : fitting to pages;individual slides -Oracle Open Office Draw : fitting to pages;print settings in Math -Oracle Open Office Draw : fitting to pages;print settings in presentations -Oracle Open Office Draw : fixed text -Oracle Open Office Draw : fixed text;form functions -Oracle Open Office Draw : fixing toolbars -Oracle Open Office Draw : flipping around a flip line -Oracle Open Office Draw : flipping draw objects -Oracle Open Office Draw : floating frames in HTML documents -Oracle Open Office Draw : floating text -Oracle Open Office Draw : floating toolbars -Oracle Open Office Draw : flowcharts -Oracle Open Office Draw : focus of controls -Oracle Open Office Draw : folder creation -Oracle Open Office Draw : font lists -Oracle Open Office Draw : font name box -Oracle Open Office Draw : font sizes -Oracle Open Office Draw : font sizes;bullets -Oracle Open Office Draw : font sizes;relative changes -Oracle Open Office Draw : font sizes;scaling on screen -Oracle Open Office Draw : font sizes;text -Oracle Open Office Draw : fonts -Oracle Open Office Draw : fonts;adding under UNIX -Oracle Open Office Draw : fonts;changing in templates -Oracle Open Office Draw : fonts;colors -Oracle Open Office Draw : fonts;default settings -Oracle Open Office Draw : fonts;effects -Oracle Open Office Draw : fonts;for HTML and Basic -Oracle Open Office Draw : fonts;formats -Oracle Open Office Draw : fonts;outlines -Oracle Open Office Draw : fonts;positions in text -Oracle Open Office Draw : fonts;shadows -Oracle Open Office Draw : fonts;specifying several -Oracle Open Office Draw : fonts;strikethrough -Oracle Open Office Draw : fonts;styles -Oracle Open Office Draw : fonts;text objects -Oracle Open Office Draw : Fontwork icons -Oracle Open Office Draw : footers -Oracle Open Office Draw : footers;backgrounds -Oracle Open Office Draw : footers;slide masters -Oracle Open Office Draw : footers;slides -Oracle Open Office Draw : form controls -Oracle Open Office Draw : form controls;assigning macros -Oracle Open Office Draw : form controls;protecting -Oracle Open Office Draw : form controls;toolbars -Oracle Open Office Draw : form fields -Oracle Open Office Draw : form filters -Oracle Open Office Draw : Form Navigator -Oracle Open Office Draw : format codes -Oracle Open Office Draw : format codes;numbers -Oracle Open Office Draw : format filling printing in Oracle Open Office Math -Oracle Open Office Draw : Format Paintbrush -Oracle Open Office Draw : formats -Oracle Open Office Draw : formats;Asian layout -Oracle Open Office Draw : formats;fonts -Oracle Open Office Draw : formats;maximizing page formats -Oracle Open Office Draw : formats;number and currency formats -Oracle Open Office Draw : formats;of currencies/date/time -Oracle Open Office Draw : formats;on opening and saving -Oracle Open Office Draw : formats;pasting in special formats -Oracle Open Office Draw : formats;positions -Oracle Open Office Draw : formats;tabulators -Oracle Open Office Draw : formatted fields -Oracle Open Office Draw : formatted fields;form functions -Oracle Open Office Draw : formatted fields;properties -Oracle Open Office Draw : formatting -Oracle Open Office Draw : formatting;Asian typography -Oracle Open Office Draw : formatting;axes in charts -Oracle Open Office Draw : formatting;chart areas -Oracle Open Office Draw : formatting;chart floors -Oracle Open Office Draw : formatting;chart legends -Oracle Open Office Draw : formatting;chart titles -Oracle Open Office Draw : formatting;chart walls -Oracle Open Office Draw : formatting;copying -Oracle Open Office Draw : formatting;definition -Oracle Open Office Draw : formatting;expanding (Calc) -Oracle Open Office Draw : formatting;fields -Oracle Open Office Draw : formatting;font effects -Oracle Open Office Draw : formatting;hyperlinks -Oracle Open Office Draw : formatting;pages -Oracle Open Office Draw : formatting;printer metrics (Writer) -Oracle Open Office Draw : formatting;slides -Oracle Open Office Draw : formatting;slides headings -Oracle Open Office Draw : formatting;undoing -Oracle Open Office Draw : formatting;undoing when writing -Oracle Open Office Draw : forms -Oracle Open Office Draw : forms;browsing -Oracle Open Office Draw : forms;Combo Box/List Box Wizard -Oracle Open Office Draw : forms;creating -Oracle Open Office Draw : forms;data -Oracle Open Office Draw : forms;designing (Base) -Oracle Open Office Draw : forms;events -Oracle Open Office Draw : forms;filtering data -Oracle Open Office Draw : forms;finding records -Oracle Open Office Draw : forms;focus after opening -Oracle Open Office Draw : forms;general information (Base) -Oracle Open Office Draw : forms;grouping controls -Oracle Open Office Draw : forms;HTML filters -Oracle Open Office Draw : forms;inserting -Oracle Open Office Draw : forms;Navigator -Oracle Open Office Draw : forms;opening in design mode -Oracle Open Office Draw : forms;properties -Oracle Open Office Draw : forms;sorting data -Oracle Open Office Draw : forms;subforms -Oracle Open Office Draw : forms;wizards -Oracle Open Office Draw : forms;XForms -Oracle Open Office Draw : formula texts -Oracle Open Office Draw : formula texts;printing in Oracle Open Office Math -Oracle Open Office Draw : formulas -Oracle Open Office Draw : formulas;new -Oracle Open Office Draw : formulas;starting formula editor -Oracle Open Office Draw : formulas in reports -Oracle Open Office Draw : formulas in reports;editing -Oracle Open Office Draw : forums and support -Oracle Open Office Draw : frames -Oracle Open Office Draw : frames;around paragraphs -Oracle Open Office Draw : frames;around tables -Oracle Open Office Draw : frames;AutoCorrect function -Oracle Open Office Draw : frames;backgrounds -Oracle Open Office Draw : frames;captions (Writer) -Oracle Open Office Draw : frames;printing in Oracle Open Office Math -Oracle Open Office Draw : frames;protecting -Oracle Open Office Draw : frames;selection frames -Oracle Open Office Draw : frames;text fitting to frames -Oracle Open Office Draw : freeform lines -Oracle Open Office Draw : freeform lines;draw functions -Oracle Open Office Draw : freeform lines;drawing -Oracle Open Office Draw : FTP -Oracle Open Office Draw : FTP;opening documents -Oracle Open Office Draw : FTP;saving documents -Oracle Open Office Draw : full joins (Base) -Oracle Open Office Draw : full screen view -Oracle Open Office Draw : full-text search in Help -Oracle Open Office Draw : functions in reports -Oracle Open Office Draw : functions in reports;editing -Oracle Open Office Draw : Gallery -Oracle Open Office Draw : Gallery;adding pictures -Oracle Open Office Draw : Gallery;dragging pictures to draw objects -Oracle Open Office Draw : Gallery;hiding/showing -Oracle Open Office Draw : Gallery;inserting pictures from -Oracle Open Office Draw : geometric forms -Oracle Open Office Draw : get method for form transmissions -Oracle Open Office Draw : getting support -Oracle Open Office Draw : GIF format -Oracle Open Office Draw : GIF images -Oracle Open Office Draw : GIF images;animating -Oracle Open Office Draw : GIF images;replacing colors -Oracle Open Office Draw : glossaries -Oracle Open Office Draw : glossaries;common terms -Oracle Open Office Draw : glossaries;Internet terms -Oracle Open Office Draw : glue points -Oracle Open Office Draw : glue points;using -Oracle Open Office Draw : gradients -Oracle Open Office Draw : gradients;applying and defining -Oracle Open Office Draw : gradients;defining colors -Oracle Open Office Draw : gradients;loading lists -Oracle Open Office Draw : gradients;transparent -Oracle Open Office Draw : gradients off for faster printing -Oracle Open Office Draw : graphic objects, see draw objects -Oracle Open Office Draw : graphical text art -Oracle Open Office Draw : graphics -Oracle Open Office Draw : graphics;cache -Oracle Open Office Draw : graphics;protecting -Oracle Open Office Draw : graphics, see also pictures -Oracle Open Office Draw : grayscale display -Oracle Open Office Draw : grayscale printing -Oracle Open Office Draw : grid controls -Oracle Open Office Draw : grid controls;form functions -Oracle Open Office Draw : grids -Oracle Open Office Draw : grids;defaults (Writer/Calc) -Oracle Open Office Draw : grids;display options (Impress/Draw) -Oracle Open Office Draw : grids;displaying lines (Calc) -Oracle Open Office Draw : grids;formatting axes -Oracle Open Office Draw : grids;inserting in charts -Oracle Open Office Draw : group box creation -Oracle Open Office Draw : grouping -Oracle Open Office Draw : grouping;draw objects -Oracle Open Office Draw : groups -Oracle Open Office Draw : groups;entering/exiting/ungrouping -Oracle Open Office Draw : groups;naming -Oracle Open Office Draw : groups;of controls -Oracle Open Office Draw : guides -Oracle Open Office Draw : guides;display options (Impress/Draw) -Oracle Open Office Draw : guides;displaying when moving objects (Impress) -Oracle Open Office Draw : guides;editing -Oracle Open Office Draw : guides;inserting -Oracle Open Office Draw : guides;show snap lines icon -Oracle Open Office Draw : guides;showing (Calc) -Oracle Open Office Draw : guides;showing when moving frames (Writer) -Oracle Open Office Draw : gutter -Oracle Open Office Draw : half-spheres -Oracle Open Office Draw : hand icon for moving slides -Oracle Open Office Draw : handles -Oracle Open Office Draw : handles;displaying (Writer) -Oracle Open Office Draw : handles;large -Oracle Open Office Draw : handles;scaling -Oracle Open Office Draw : handles;showing simple/large handles (Calc) -Oracle Open Office Draw : handles;simple -Oracle Open Office Draw : handout printing -Oracle Open Office Draw : Hangul/Hanja -Oracle Open Office Draw : hatching -Oracle Open Office Draw : hatching -Oracle Open Office Draw : hatching;loading lists -Oracle Open Office Draw : headers -Oracle Open Office Draw : headers;backgrounds -Oracle Open Office Draw : headers and footers -Oracle Open Office Draw : headers and footers;master layouts -Oracle Open Office Draw : headers and footers;slide masters -Oracle Open Office Draw : headers and footers;slides -Oracle Open Office Draw : headings -Oracle Open Office Draw : headings;entering as text box -Oracle Open Office Draw : Hebrew -Oracle Open Office Draw : Hebrew;entering text -Oracle Open Office Draw : Hebrew;language settings -Oracle Open Office Draw : Help -Oracle Open Office Draw : Help;bookmarks -Oracle Open Office Draw : Help;extended tips on/off -Oracle Open Office Draw : Help;full-text search -Oracle Open Office Draw : Help;Help tips -Oracle Open Office Draw : Help;keywords -Oracle Open Office Draw : Help;navigation pane showing/hiding -Oracle Open Office Draw : Help;style sheets -Oracle Open Office Draw : Help;topics -Oracle Open Office Draw : Help Agent -Oracle Open Office Draw : Help Agent;help -Oracle Open Office Draw : Help Agent;options -Oracle Open Office Draw : Help tips -Oracle Open Office Draw : Help tips;hiding -Oracle Open Office Draw : hidden controls in Form Navigator -Oracle Open Office Draw : hidden fields display (Writer) -Oracle Open Office Draw : hidden pages -Oracle Open Office Draw : hidden pages;printing in presentations -Oracle Open Office Draw : hidden pages;showing -Oracle Open Office Draw : hidden text -Oracle Open Office Draw : hidden text;showing (Writer) -Oracle Open Office Draw : hiding -Oracle Open Office Draw : hiding;changes -Oracle Open Office Draw : hiding;chart legends -Oracle Open Office Draw : hiding;docked windows -Oracle Open Office Draw : hiding;layers -Oracle Open Office Draw : hiding;levels -Oracle Open Office Draw : hiding;navigation pane in Help window -Oracle Open Office Draw : hiding;slides -Oracle Open Office Draw : hiding;subpoints -Oracle Open Office Draw : high contrast mode -Oracle Open Office Draw : Hindi -Oracle Open Office Draw : Hindi;entering text -Oracle Open Office Draw : Hindi;language settings -Oracle Open Office Draw : horizontal scrollbars (Writer) -Oracle Open Office Draw : hot spots in flowcharts -Oracle Open Office Draw : hotspots -Oracle Open Office Draw : HowTos for charts -Oracle Open Office Draw : Howtos for Draw -Oracle Open Office Draw : HTML -Oracle Open Office Draw : HTML;definition -Oracle Open Office Draw : HTML;export character set -Oracle Open Office Draw : HTML;exporting from presentations -Oracle Open Office Draw : HTML;fonts for source display -Oracle Open Office Draw : HTML;importing into presentations -Oracle Open Office Draw : HTML;importing META tags -Oracle Open Office Draw : HTML;inserting files -Oracle Open Office Draw : HTML;live presentations -Oracle Open Office Draw : HTML documents -Oracle Open Office Draw : HTML documents;auto reloading -Oracle Open Office Draw : HTML documents;importing/exporting -Oracle Open Office Draw : HTML documents;META tags in -Oracle Open Office Draw : HTML documents;new -Oracle Open Office Draw : HTML documents;source text -Oracle Open Office Draw : hyperlinks -Oracle Open Office Draw : hyperlinks;assigning macros -Oracle Open Office Draw : hyperlinks;character formats -Oracle Open Office Draw : hyperlinks;definition -Oracle Open Office Draw : hyperlinks;deleting -Oracle Open Office Draw : hyperlinks;editing -Oracle Open Office Draw : hyperlinks;inserting -Oracle Open Office Draw : hyperlinks;relative and absolute -Oracle Open Office Draw : hyperlinks;turning off automatic recognition -Oracle Open Office Draw : hyperlinks, see also links -Oracle Open Office Draw : hyphenation -Oracle Open Office Draw : hyphenation;activating for a language -Oracle Open Office Draw : hyphenation;minimal number of characters -Oracle Open Office Draw : hyphens -Oracle Open Office Draw : hyphens;displaying custom (Writer) -Oracle Open Office Draw : hyphens;inserting custom -Oracle Open Office Draw : icon bars, see toolbars -Oracle Open Office Draw : icon sizes -Oracle Open Office Draw : ignore list for spellcheck -Oracle Open Office Draw : illumination -Oracle Open Office Draw : illumination;3D charts -Oracle Open Office Draw : illustrations, see pictures -Oracle Open Office Draw : image button creation -Oracle Open Office Draw : image control creation -Oracle Open Office Draw : ImageMap -Oracle Open Office Draw : ImageMap;definition -Oracle Open Office Draw : ImageMap;editor -Oracle Open Office Draw : images -Oracle Open Office Draw : images;ImageMap -Oracle Open Office Draw : images;inserting -Oracle Open Office Draw : images;inserting and editing bitmaps -Oracle Open Office Draw : images, see also pictures -Oracle Open Office Draw : IME -Oracle Open Office Draw : IME;definition -Oracle Open Office Draw : IME;showing/hiding -Oracle Open Office Draw : import filters -Oracle Open Office Draw : import restrictions for Microsoft Office -Oracle Open Office Draw : importing -Oracle Open Office Draw : importing;bitmaps -Oracle Open Office Draw : importing;compatibility settings for text import -Oracle Open Office Draw : importing;databases -Oracle Open Office Draw : importing;documents in other formats -Oracle Open Office Draw : importing;from XML -Oracle Open Office Draw : importing;HTML and text documents -Oracle Open Office Draw : importing;HTML with META tags -Oracle Open Office Draw : importing;Microsoft Office documents with VBA code -Oracle Open Office Draw : importing;presentations with HTML -Oracle Open Office Draw : importing;tables in text format -Oracle Open Office Draw : importing;templates -Oracle Open Office Draw : improvement program -Oracle Open Office Draw : in front of object command -Oracle Open Office Draw : inches -Oracle Open Office Draw : including spreadsheets -Oracle Open Office Draw : increasing sizes of views -Oracle Open Office Draw : Index tab in Help -Oracle Open Office Draw : indexes -Oracle Open Office Draw : indexes;backgrounds -Oracle Open Office Draw : indexes;showing/hiding Help index tab -Oracle Open Office Draw : indicator lines in text -Oracle Open Office Draw : inner joins (Base) -Oracle Open Office Draw : input method window -Oracle Open Office Draw : insert mode for entering text -Oracle Open Office Draw : inserting -Oracle Open Office Draw : inserting;3D objects -Oracle Open Office Draw : inserting;arrows -Oracle Open Office Draw : inserting;buttons in toolbars -Oracle Open Office Draw : inserting;callouts in presentations -Oracle Open Office Draw : inserting;cell ranges from spreadsheets -Oracle Open Office Draw : inserting;charts -Oracle Open Office Draw : inserting;clipboard options -Oracle Open Office Draw : inserting;columns -Oracle Open Office Draw : inserting;comments -Oracle Open Office Draw : inserting;data from text documents -Oracle Open Office Draw : inserting;datasource records in spreadsheets -Oracle Open Office Draw : inserting;drawings -Oracle Open Office Draw : inserting;ellipses -Oracle Open Office Draw : inserting;files -Oracle Open Office Draw : inserting;floating frames -Oracle Open Office Draw : inserting;Fontwork objects -Oracle Open Office Draw : inserting;form fields -Oracle Open Office Draw : inserting;headers/footers in all slides -Oracle Open Office Draw : inserting;hyperlinks -Oracle Open Office Draw : inserting;layers -Oracle Open Office Draw : inserting;line breaks in cells -Oracle Open Office Draw : inserting;lines -Oracle Open Office Draw : inserting;movies/sounds -Oracle Open Office Draw : inserting;new text tables defaults -Oracle Open Office Draw : inserting;objects from files -Oracle Open Office Draw : inserting;objects from Gallery -Oracle Open Office Draw : inserting;OLE objects -Oracle Open Office Draw : inserting;paragraph borders -Oracle Open Office Draw : inserting;paragraph bullets -Oracle Open Office Draw : inserting;pictures -Oracle Open Office Draw : inserting;pictures in Gallery -Oracle Open Office Draw : inserting;plug-ins -Oracle Open Office Draw : inserting;polygons -Oracle Open Office Draw : inserting;push buttons -Oracle Open Office Draw : inserting;rectangles -Oracle Open Office Draw : inserting;rows -Oracle Open Office Draw : inserting;slides -Oracle Open Office Draw : inserting;slides as links -Oracle Open Office Draw : inserting;slides from files -Oracle Open Office Draw : inserting;special characters -Oracle Open Office Draw : inserting;tab stops -Oracle Open Office Draw : inserting;text frames -Oracle Open Office Draw : inserting;text in presentations -Oracle Open Office Draw : inserting;textures on chart bars -Oracle Open Office Draw : installing -Oracle Open Office Draw : installing;ActiveX control -Oracle Open Office Draw : installing;mobile device filters -Oracle Open Office Draw : installing;UNO components -Oracle Open Office Draw : installing;XML filters -Oracle Open Office Draw : instructions -Oracle Open Office Draw : instructions;general -Oracle Open Office Draw : instructions;Oracle Open Office Draw -Oracle Open Office Draw : instructions;Oracle Open Office Impress -Oracle Open Office Draw : interactions -Oracle Open Office Draw : interactions;hot spots -Oracle Open Office Draw : interactions;objects in interactive presentations -Oracle Open Office Draw : interactions;preview -Oracle Open Office Draw : Internet -Oracle Open Office Draw : Internet;checking for updates -Oracle Open Office Draw : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Draw : Internet;presentations -Oracle Open Office Draw : Internet;starting searches -Oracle Open Office Draw : Internet glossary -Oracle Open Office Draw : intersecting draw objects -Oracle Open Office Draw : invert filter -Oracle Open Office Draw : invisible areas -Oracle Open Office Draw : italic text -Oracle Open Office Draw : iterative references in spreadsheets -Oracle Open Office Draw : Java -Oracle Open Office Draw : Java;definition -Oracle Open Office Draw : Java;setting options -Oracle Open Office Draw : JDBC -Oracle Open Office Draw : JDBC;databases (Base) -Oracle Open Office Draw : JDBC;definition -Oracle Open Office Draw : joining -Oracle Open Office Draw : joining;3D objects -Oracle Open Office Draw : joining;paragraphs -Oracle Open Office Draw : joining;tables (Base) -Oracle Open Office Draw : joins in databases (Base) -Oracle Open Office Draw : justifying text -Oracle Open Office Draw : kerning -Oracle Open Office Draw : kerning;Asian texts -Oracle Open Office Draw : kerning;definition -Oracle Open Office Draw : kerning;in characters -Oracle Open Office Draw : key fields for relations (Base) -Oracle Open Office Draw : keyboard -Oracle Open Office Draw : keyboard;assigning/editing shortcut keys -Oracle Open Office Draw : keyboard;general commands -Oracle Open Office Draw : keyboard;removing numbering -Oracle Open Office Draw : keyboard;zooming -Oracle Open Office Draw : keys -Oracle Open Office Draw : keys;adding push buttons -Oracle Open Office Draw : keys;primary keys (Base) -Oracle Open Office Draw : kiosk export -Oracle Open Office Draw : labels -Oracle Open Office Draw : labels;creating and synchronizing -Oracle Open Office Draw : labels;for charts -Oracle Open Office Draw : labels;for draw objects -Oracle Open Office Draw : labels;form functions -Oracle Open Office Draw : labels;from databases -Oracle Open Office Draw : labels, see also names/callouts -Oracle Open Office Draw : languages -Oracle Open Office Draw : languages;activating modules -Oracle Open Office Draw : languages;Asian support -Oracle Open Office Draw : languages;complex text layout -Oracle Open Office Draw : languages;locale settings -Oracle Open Office Draw : languages;selecting for text -Oracle Open Office Draw : languages;setting options -Oracle Open Office Draw : languages;spellcheck -Oracle Open Office Draw : languages;spellchecking and formatting -Oracle Open Office Draw : large handles (Writer) -Oracle Open Office Draw : large icons -Oracle Open Office Draw : layer arrangement -Oracle Open Office Draw : layers -Oracle Open Office Draw : layers;definition -Oracle Open Office Draw : layers;deleting -Oracle Open Office Draw : layers;inserting and editing -Oracle Open Office Draw : layers;moving objects -Oracle Open Office Draw : layers;renaming -Oracle Open Office Draw : layers;working with -Oracle Open Office Draw : layout -Oracle Open Office Draw : layout;importing Word documents -Oracle Open Office Draw : layout;pages -Oracle Open Office Draw : layout;printing handouts -Oracle Open Office Draw : LDAP server -Oracle Open Office Draw : LDAP server;address books (Base) -Oracle Open Office Draw : LDAP server;sign on options -Oracle Open Office Draw : leading between paragraphs -Oracle Open Office Draw : left alignment of paragraphs -Oracle Open Office Draw : left joins (Base) -Oracle Open Office Draw : legends -Oracle Open Office Draw : legends;charts -Oracle Open Office Draw : legends;draw objects -Oracle Open Office Draw : legends;drawings -Oracle Open Office Draw : legends;rounding corners -Oracle Open Office Draw : Letter Wizard -Oracle Open Office Draw : levels -Oracle Open Office Draw : levels;depth stagger -Oracle Open Office Draw : levels;hiding -Oracle Open Office Draw : levels;macro security -Oracle Open Office Draw : levels;showing -Oracle Open Office Draw : limits of tables (Writer) -Oracle Open Office Draw : line breaks -Oracle Open Office Draw : line breaks;in cells -Oracle Open Office Draw : line charts -Oracle Open Office Draw : line spacing -Oracle Open Office Draw : line spacing;context menu in paragraphs -Oracle Open Office Draw : line spacing;paragraph -Oracle Open Office Draw : line styles -Oracle Open Office Draw : line styles;applying -Oracle Open Office Draw : line styles;defining -Oracle Open Office Draw : line styles;loading -Oracle Open Office Draw : lines -Oracle Open Office Draw : lines;about line ends -Oracle Open Office Draw : lines;connecting objects -Oracle Open Office Draw : lines;defining ends -Oracle Open Office Draw : lines;draw functions -Oracle Open Office Draw : lines;drawing -Oracle Open Office Draw : lines;drawing in text -Oracle Open Office Draw : lines;editing points -Oracle Open Office Draw : lines;inserting -Oracle Open Office Draw : lines;removing automatic lines -Oracle Open Office Draw : lines of text -Oracle Open Office Draw : lines of text;alignment -Oracle Open Office Draw : links -Oracle Open Office Draw : links;between cells and controls -Oracle Open Office Draw : links;by drag and drop -Oracle Open Office Draw : links;character formats -Oracle Open Office Draw : links;definition -Oracle Open Office Draw : links;editing hyperlinks -Oracle Open Office Draw : links;inserting -Oracle Open Office Draw : links;modifying -Oracle Open Office Draw : links;opening files with -Oracle Open Office Draw : links;relational databases (Base) -Oracle Open Office Draw : links;turning off automatic recognition -Oracle Open Office Draw : links;updating options (Writer) -Oracle Open Office Draw : links;updating specific links -Oracle Open Office Draw : list box creation -Oracle Open Office Draw : lists -Oracle Open Office Draw : lists;animations -Oracle Open Office Draw : lists;data assigned to controls -Oracle Open Office Draw : lists;registered databases (Base) -Oracle Open Office Draw : lists;regular expressions -Oracle Open Office Draw : live presentations on the Internet -Oracle Open Office Draw : loading -Oracle Open Office Draw : loading;arrow and line styles -Oracle Open Office Draw : loading;colors/gradients/hatchings -Oracle Open Office Draw : loading;documents -Oracle Open Office Draw : loading;documents from other formats -Oracle Open Office Draw : loading;HTML documents, automatically -Oracle Open Office Draw : loading;Microsoft Office documents with VBA code -Oracle Open Office Draw : loading;reloading -Oracle Open Office Draw : loading;XML files -Oracle Open Office Draw : locale settings -Oracle Open Office Draw : locking layers -Oracle Open Office Draw : logarithmic scaling along axes -Oracle Open Office Draw : lowercase letters -Oracle Open Office Draw : lowercase letters;font effects -Oracle Open Office Draw : Macro Wizard (Base) -Oracle Open Office Draw : Macromedia Flash export -Oracle Open Office Draw : macros -Oracle Open Office Draw : macros;assigning to events in forms -Oracle Open Office Draw : macros;attaching new (Base) -Oracle Open Office Draw : macros;in MS Office documents -Oracle Open Office Draw : macros;interrupting -Oracle Open Office Draw : macros;organizing -Oracle Open Office Draw : macros;recording -Oracle Open Office Draw : macros;running in presentations -Oracle Open Office Draw : macros;security -Oracle Open Office Draw : macros;security levels -Oracle Open Office Draw : macros;security warning dialog -Oracle Open Office Draw : macros;selecting security warnings -Oracle Open Office Draw : magnetic lines in presentations -Oracle Open Office Draw : magnifiers -Oracle Open Office Draw : margins -Oracle Open Office Draw : margins;pages -Oracle Open Office Draw : margins;setting with the mouse -Oracle Open Office Draw : margins;shadows -Oracle Open Office Draw : marking changes -Oracle Open Office Draw : marking, see selecting -Oracle Open Office Draw : master layouts with headers and footers -Oracle Open Office Draw : master pages, see slide masters -Oracle Open Office Draw : master views -Oracle Open Office Draw : Math formula editor -Oracle Open Office Draw : mean value lines in charts -Oracle Open Office Draw : measurement units -Oracle Open Office Draw : measurement units;changing on rulers -Oracle Open Office Draw : measurement units;converting -Oracle Open Office Draw : measurement units;selecting -Oracle Open Office Draw : Media Player window -Oracle Open Office Draw : menus -Oracle Open Office Draw : menus;activating context menus -Oracle Open Office Draw : menus;assigning macros -Oracle Open Office Draw : menus;customizing -Oracle Open Office Draw : merging -Oracle Open Office Draw : merging;documents -Oracle Open Office Draw : merging;draw objects -Oracle Open Office Draw : META tags -Oracle Open Office Draw : metafiles -Oracle Open Office Draw : metafiles;converting to -Oracle Open Office Draw : metafiles;replacing colors -Oracle Open Office Draw : metrics -Oracle Open Office Draw : metrics;converting -Oracle Open Office Draw : metrics;document formatting (Writer) -Oracle Open Office Draw : metrics;in sheets -Oracle Open Office Draw : Microsoft Office -Oracle Open Office Draw : Microsoft Office;Access databases (base) -Oracle Open Office Draw : Microsoft Office;as default file format -Oracle Open Office Draw : Microsoft Office;document import restrictions -Oracle Open Office Draw : Microsoft Office;feature comparisons -Oracle Open Office Draw : Microsoft Office;importing password protected files -Oracle Open Office Draw : Microsoft Office;importing Word documents -Oracle Open Office Draw : Microsoft Office;importing/exporting VBA code -Oracle Open Office Draw : Microsoft Office;new users information -Oracle Open Office Draw : Microsoft Office;opening Microsoft documents -Oracle Open Office Draw : Microsoft Office;reassigning document types -Oracle Open Office Draw : migrating macros (Base) -Oracle Open Office Draw : mirroring objects -Oracle Open Office Draw : mobile device filters -Oracle Open Office Draw : models in XForms -Oracle Open Office Draw : modifying, see changing -Oracle Open Office Draw : more controls -Oracle Open Office Draw : mosaic filter -Oracle Open Office Draw : motion paths -Oracle Open Office Draw : mouse -Oracle Open Office Draw : mouse;pointers when using drag and drop -Oracle Open Office Draw : mouse;positioning -Oracle Open Office Draw : movies -Oracle Open Office Draw : moving -Oracle Open Office Draw : moving;between layers -Oracle Open Office Draw : moving;objects in slides -Oracle Open Office Draw : moving;tab stops on ruler -Oracle Open Office Draw : moving;toolbars -Oracle Open Office Draw : moving;using guide lines in presentations -Oracle Open Office Draw : MS ADO interface (Base) -Oracle Open Office Draw : multi-line titles in forms -Oracle Open Office Draw : multiple documents -Oracle Open Office Draw : multiple documents;opening -Oracle Open Office Draw : multiple monitors -Oracle Open Office Draw : multiple selection -Oracle Open Office Draw : multiplying draw objects -Oracle Open Office Draw : music -Oracle Open Office Draw : My Documents folder -Oracle Open Office Draw : My Documents folder;changing work directory -Oracle Open Office Draw : My Documents folder;opening -Oracle Open Office Draw : MySQL databases (Base) -Oracle Open Office Draw : names -Oracle Open Office Draw : names;multi-line titles -Oracle Open Office Draw : names;objects -Oracle Open Office Draw : names, see also labels/callouts -Oracle Open Office Draw : namespace organization in XForms -Oracle Open Office Draw : native SQL (Base) -Oracle Open Office Draw : navigating -Oracle Open Office Draw : navigating;in documents -Oracle Open Office Draw : Navigation bar -Oracle Open Office Draw : Navigation bar;controls -Oracle Open Office Draw : Navigation bar;forms -Oracle Open Office Draw : Navigator -Oracle Open Office Draw : Navigator;comments -Oracle Open Office Draw : Navigator;contents as lists -Oracle Open Office Draw : Navigator;docking -Oracle Open Office Draw : Navigator;presentations -Oracle Open Office Draw : Navigator;working with -Oracle Open Office Draw : net charts -Oracle Open Office Draw : network identity options -Oracle Open Office Draw : new databases -Oracle Open Office Draw : new documents -Oracle Open Office Draw : new lines in cells -Oracle Open Office Draw : new windows -Oracle Open Office Draw : non-breaking dashes -Oracle Open Office Draw : non-breaking spaces (Writer) -Oracle Open Office Draw : non-printing characters (Writer) -Oracle Open Office Draw : normal view -Oracle Open Office Draw : normal view;backgrounds -Oracle Open Office Draw : normal view;presentations -Oracle Open Office Draw : notes -Oracle Open Office Draw : notes;adding to slides -Oracle Open Office Draw : notes;default formatting -Oracle Open Office Draw : notes;printing in presentations -Oracle Open Office Draw : number formats -Oracle Open Office Draw : number formats;codes -Oracle Open Office Draw : number formats;formats -Oracle Open Office Draw : number formats;recognition in text tables -Oracle Open Office Draw : number of pages -Oracle Open Office Draw : number of sheets -Oracle Open Office Draw : number of tables -Oracle Open Office Draw : numbering -Oracle Open Office Draw : numbering;options -Oracle Open Office Draw : numbering;turning off -Oracle Open Office Draw : numbering;using automatically -Oracle Open Office Draw : numbers -Oracle Open Office Draw : numbers;date, time and currency formats -Oracle Open Office Draw : numbers;decimal places (Calc) -Oracle Open Office Draw : numerical fields in forms -Oracle Open Office Draw : object bars -Oracle Open Office Draw : object bars;editing glue points -Oracle Open Office Draw : objects -Oracle Open Office Draw : objects;aligning -Oracle Open Office Draw : objects;always moveable (Impress/Draw) -Oracle Open Office Draw : objects;arranging within stacks -Oracle Open Office Draw : objects;behind object command -Oracle Open Office Draw : objects;breaking connections -Oracle Open Office Draw : objects;copying when moving in presentations -Oracle Open Office Draw : objects;definition -Oracle Open Office Draw : objects;displaying in spreadsheets -Oracle Open Office Draw : objects;displaying in text documents -Oracle Open Office Draw : objects;editing -Oracle Open Office Draw : objects;effects -Oracle Open Office Draw : objects;in front of object command -Oracle Open Office Draw : objects;inserting from files -Oracle Open Office Draw : objects;inserting from Gallery -Oracle Open Office Draw : objects;inserting OLE objects -Oracle Open Office Draw : objects;moving along paths -Oracle Open Office Draw : objects;moving and resizing with mouse -Oracle Open Office Draw : objects;moving in layers -Oracle Open Office Draw : objects;moving in slides -Oracle Open Office Draw : objects;naming -Oracle Open Office Draw : objects;opening -Oracle Open Office Draw : objects;properties of charts -Oracle Open Office Draw : objects;quickly moving to -Oracle Open Office Draw : objects;reversing -Oracle Open Office Draw : objects;selecting -Oracle Open Office Draw : objects;titles and descriptions -Oracle Open Office Draw : objects;with attributes -Oracle Open Office Draw : ODBC -Oracle Open Office Draw : ODBC;database (Base) -Oracle Open Office Draw : ODBC;definition -Oracle Open Office Draw : ODF file formats -Oracle Open Office Draw : Office -Oracle Open Office Draw : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Draw : OLE -Oracle Open Office Draw : OLE;definition -Oracle Open Office Draw : OLE objects -Oracle Open Office Draw : OLE objects;arranging within stacks -Oracle Open Office Draw : OLE objects;captions (Writer) -Oracle Open Office Draw : OLE objects;inserting -Oracle Open Office Draw : OLE objects;number of -Oracle Open Office Draw : OLE objects;protecting -Oracle Open Office Draw : one and a half line spacing in text -Oracle Open Office Draw : online feedback options -Oracle Open Office Draw : online registration -Oracle Open Office Draw : online update options -Oracle Open Office Draw : online updates -Oracle Open Office Draw : online updates;checking automatically -Oracle Open Office Draw : online updates;checking manually -Oracle Open Office Draw : Open/Save dialogs -Oracle Open Office Draw : OpenDocument file formats -Oracle Open Office Draw : OpenGL -Oracle Open Office Draw : OpenGL;definition -Oracle Open Office Draw : opening -Oracle Open Office Draw : opening;context menus -Oracle Open Office Draw : opening;database files -Oracle Open Office Draw : opening;dialog settings -Oracle Open Office Draw : opening;documents -Oracle Open Office Draw : opening;documents from other formats -Oracle Open Office Draw : opening;documents on WebDAV server -Oracle Open Office Draw : opening;files with links -Oracle Open Office Draw : opening;files, with placeholders -Oracle Open Office Draw : opening;forms -Oracle Open Office Draw : opening;Microsoft Office files -Oracle Open Office Draw : opening;mobile device documents -Oracle Open Office Draw : opening;objects -Oracle Open Office Draw : opening;reports -Oracle Open Office Draw : opening;several files -Oracle Open Office Draw : opening;XForms -Oracle Open Office Draw : operators -Oracle Open Office Draw : operators;default filters -Oracle Open Office Draw : optional hyphens (Writer) -Oracle Open Office Draw : options -Oracle Open Office Draw : options;accessibility -Oracle Open Office Draw : options;appearance -Oracle Open Office Draw : options;compatibility (Writer) -Oracle Open Office Draw : options;improvement program -Oracle Open Office Draw : options;network identity -Oracle Open Office Draw : options;online update -Oracle Open Office Draw : options;tools -Oracle Open Office Draw : Oracle databases (base) -Oracle Open Office Draw : Oracle Open Office Base data sources -Oracle Open Office Draw : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Draw : Oracle Open Office documents -Oracle Open Office Draw : Oracle Open Office documents;mobile device filters -Oracle Open Office Draw : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Draw : Oracle Open Office Impress instructions -Oracle Open Office Draw : Oracle Open Office Math start -Oracle Open Office Draw : order of chart data -Oracle Open Office Draw : ordering -Oracle Open Office Draw : ordering;objects -Oracle Open Office Draw : ordering;slides -Oracle Open Office Draw : organization charts -Oracle Open Office Draw : organizing -Oracle Open Office Draw : organizing;macros and scripts -Oracle Open Office Draw : organizing;namespaces in XForms -Oracle Open Office Draw : organizing;styles -Oracle Open Office Draw : organizing;templates -Oracle Open Office Draw : origin of rulers -Oracle Open Office Draw : original size -Oracle Open Office Draw : original size;printing in Oracle Open Office Math -Oracle Open Office Draw : original size;restoring after cropping -Oracle Open Office Draw : outline view -Oracle Open Office Draw : outlines -Oracle Open Office Draw : outlines;font effects -Oracle Open Office Draw : outlines;outline symbols -Oracle Open Office Draw : outlines;printing -Oracle Open Office Draw : outlines;sending to presentations -Oracle Open Office Draw : overwrite mode -Oracle Open Office Draw : packages, see extensions -Oracle Open Office Draw : page breaks -Oracle Open Office Draw : page breaks;displaying (Calc) -Oracle Open Office Draw : page formats -Oracle Open Office Draw : page formats;maximizing -Oracle Open Office Draw : page formats;restriction -Oracle Open Office Draw : page number field -Oracle Open Office Draw : page numbers on all slides -Oracle Open Office Draw : page styles -Oracle Open Office Draw : page styles;editing/applying with statusbar -Oracle Open Office Draw : pages -Oracle Open Office Draw : pages;backgrounds in all applications -Oracle Open Office Draw : pages;copying -Oracle Open Office Draw : pages;fitting to printed pages -Oracle Open Office Draw : pages;formatting and numbering -Oracle Open Office Draw : pages;printing page names in presentations -Oracle Open Office Draw : pages;scaling -Oracle Open Office Draw : pages;selecting one to print -Oracle Open Office Draw : paint box -Oracle Open Office Draw : paint can symbol -Oracle Open Office Draw : pair kerning -Oracle Open Office Draw : Palm file filters -Oracle Open Office Draw : paper formats -Oracle Open Office Draw : paper size warning -Oracle Open Office Draw : paper trays -Oracle Open Office Draw : paragraph marks -Oracle Open Office Draw : paragraph marks;displaying (Writer) -Oracle Open Office Draw : paragraph styles -Oracle Open Office Draw : paragraph styles;languages -Oracle Open Office Draw : paragraph styles;modifying basic fonts -Oracle Open Office Draw : paragraphs -Oracle Open Office Draw : paragraphs;alignment -Oracle Open Office Draw : paragraphs;Asian typography -Oracle Open Office Draw : paragraphs;defining borders -Oracle Open Office Draw : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Draw : paragraphs;increasing indents of -Oracle Open Office Draw : paragraphs;indents, margins and columns -Oracle Open Office Draw : paragraphs;inserting bullets -Oracle Open Office Draw : paragraphs;joining -Oracle Open Office Draw : paragraphs;numbering automatically -Oracle Open Office Draw : paragraphs;removing blank ones -Oracle Open Office Draw : paragraphs;spacing -Oracle Open Office Draw : paragraphs;tab stops -Oracle Open Office Draw : parameters -Oracle Open Office Draw : parameters;command line -Oracle Open Office Draw : parameters;queries (Base) -Oracle Open Office Draw : passwords for protecting contents -Oracle Open Office Draw : pasting -Oracle Open Office Draw : pasting;cell ranges -Oracle Open Office Draw : pasting;cell ranges from spreadsheets -Oracle Open Office Draw : pasting;data from text documents -Oracle Open Office Draw : pasting;draw objects -Oracle Open Office Draw : pasting;draw objects from other documents -Oracle Open Office Draw : pasting;formatted/unformatted text -Oracle Open Office Draw : pasting;from data source view -Oracle Open Office Draw : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Draw : pasting;pictures from other documents -Oracle Open Office Draw : pasting;sheet areas in text documents -Oracle Open Office Draw : pasting;slides from other presentations -Oracle Open Office Draw : pasting;text from other documents -Oracle Open Office Draw : pasting;to Gallery -Oracle Open Office Draw : paths -Oracle Open Office Draw : paths;changing work directory -Oracle Open Office Draw : paths;defaults -Oracle Open Office Draw : paths;moving objects along -Oracle Open Office Draw : pattern editor -Oracle Open Office Draw : pattern fields -Oracle Open Office Draw : pattern fields;form functions -Oracle Open Office Draw : patterns for objects -Oracle Open Office Draw : PDF -Oracle Open Office Draw : PDF;export -Oracle Open Office Draw : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Draw : personal data input -Oracle Open Office Draw : phonetic guide -Oracle Open Office Draw : picklist creation -Oracle Open Office Draw : pictures -Oracle Open Office Draw : pictures;adding to Gallery -Oracle Open Office Draw : pictures;arranging within stacks -Oracle Open Office Draw : pictures;assigning macros -Oracle Open Office Draw : pictures;backgrounds -Oracle Open Office Draw : pictures;captions (Writer) -Oracle Open Office Draw : pictures;changing paths -Oracle Open Office Draw : pictures;cropping and zooming -Oracle Open Office Draw : pictures;displaying in Calc -Oracle Open Office Draw : pictures;displaying in Writer (Writer) -Oracle Open Office Draw : pictures;drag and drop between documents -Oracle Open Office Draw : pictures;drawing -Oracle Open Office Draw : pictures;editing -Oracle Open Office Draw : pictures;filters -Oracle Open Office Draw : pictures;ImageMap -Oracle Open Office Draw : pictures;inserting -Oracle Open Office Draw : pictures;inserting automatically -Oracle Open Office Draw : pictures;inserting from Gallery -Oracle Open Office Draw : pictures;number of -Oracle Open Office Draw : pictures;printing -Oracle Open Office Draw : pictures;scaling/resizing -Oracle Open Office Draw : pie charts -Oracle Open Office Draw : pie charts;options -Oracle Open Office Draw : pie charts;types -Oracle Open Office Draw : pivot points of draw objects -Oracle Open Office Draw : pixel editor -Oracle Open Office Draw : pixel graphics -Oracle Open Office Draw : pixel graphics;inserting and editing -Oracle Open Office Draw : pixel patterns -Oracle Open Office Draw : placeholders -Oracle Open Office Draw : placeholders;in SQL queries -Oracle Open Office Draw : placeholders;on opening files -Oracle Open Office Draw : placing toolbars -Oracle Open Office Draw : playing movies and sound files -Oracle Open Office Draw : plotting data as charts -Oracle Open Office Draw : plug-ins -Oracle Open Office Draw : plug-ins;activating and deactivating -Oracle Open Office Draw : plug-ins;definition -Oracle Open Office Draw : plug-ins;inserting -Oracle Open Office Draw : pocket device appliances -Oracle Open Office Draw : Pocket PC file filters -Oracle Open Office Draw : points -Oracle Open Office Draw : points;adding/converting/deleting -Oracle Open Office Draw : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Draw : polygon drawing -Oracle Open Office Draw : polygons -Oracle Open Office Draw : polygons;inserting -Oracle Open Office Draw : polygons;intersecting/subtracting/merging -Oracle Open Office Draw : pop-art filter -Oracle Open Office Draw : portable document format -Oracle Open Office Draw : positioning -Oracle Open Office Draw : positioning;axes -Oracle Open Office Draw : positioning;draw objects and controls -Oracle Open Office Draw : positioning;fonts -Oracle Open Office Draw : positioning;objects -Oracle Open Office Draw : positioning;toolbars -Oracle Open Office Draw : post method for form transmissions -Oracle Open Office Draw : posterizing filter -Oracle Open Office Draw : PostScript -Oracle Open Office Draw : PostScript;creating files -Oracle Open Office Draw : PostScript;PDF converter, UNIX -Oracle Open Office Draw : PowerPoint export -Oracle Open Office Draw : precision as shown (Calc) -Oracle Open Office Draw : predefining fonts -Oracle Open Office Draw : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Draw : presentations -Oracle Open Office Draw : presentations;arranging slides -Oracle Open Office Draw : presentations;creating/opening -Oracle Open Office Draw : presentations;exiting by interaction -Oracle Open Office Draw : presentations;exporting to HTML -Oracle Open Office Draw : presentations;importing HTML -Oracle Open Office Draw : presentations;inserting spreadsheet cells -Oracle Open Office Draw : presentations;inserting spreadsheets -Oracle Open Office Draw : presentations;live on the Internet -Oracle Open Office Draw : presentations;navigating -Oracle Open Office Draw : presentations;numbering slides in -Oracle Open Office Draw : presentations;ordering of effects -Oracle Open Office Draw : presentations;print menu -Oracle Open Office Draw : presentations;printing -Oracle Open Office Draw : presentations;rehearse timings -Oracle Open Office Draw : presentations;saving -Oracle Open Office Draw : presentations;saving automatically -Oracle Open Office Draw : presentations;saving in other formats -Oracle Open Office Draw : presentations;sending as e-mail -Oracle Open Office Draw : presentations;settings for -Oracle Open Office Draw : presentations;shortcut keys -Oracle Open Office Draw : presentations;starting -Oracle Open Office Draw : presentations;starting with wizard -Oracle Open Office Draw : presentations;window / full screen -Oracle Open Office Draw : presentations;wizards -Oracle Open Office Draw : Presenter Console shortcuts -Oracle Open Office Draw : press buttons, see push buttons -Oracle Open Office Draw : previews -Oracle Open Office Draw : previews;fonts lists -Oracle Open Office Draw : primary keys -Oracle Open Office Draw : primary keys;defining -Oracle Open Office Draw : primary keys;design view -Oracle Open Office Draw : primary keys;inserting (Base) -Oracle Open Office Draw : print area selection -Oracle Open Office Draw : printer metrics for document formatting (Writer) -Oracle Open Office Draw : printers -Oracle Open Office Draw : printers;adding, UNIX -Oracle Open Office Draw : printers;choosing -Oracle Open Office Draw : printers;default printer -Oracle Open Office Draw : printers;faxes under UNIX -Oracle Open Office Draw : printers;maximum page formats -Oracle Open Office Draw : printers;paper trays -Oracle Open Office Draw : printers;properties -Oracle Open Office Draw : printing -Oracle Open Office Draw : printing;black and white -Oracle Open Office Draw : printing;brochures -Oracle Open Office Draw : printing;colors in grayscale -Oracle Open Office Draw : printing;comments -Oracle Open Office Draw : printing;copies -Oracle Open Office Draw : printing;creating individual jobs -Oracle Open Office Draw : printing;dates in presentations -Oracle Open Office Draw : printing;directly -Oracle Open Office Draw : printing;documents -Oracle Open Office Draw : printing;drawings defaults -Oracle Open Office Draw : printing;elements in text documents -Oracle Open Office Draw : printing;faster -Oracle Open Office Draw : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Draw : printing;fitting to pages in presentations -Oracle Open Office Draw : printing;fitting to paper -Oracle Open Office Draw : printing;formulas in Oracle Open Office Math -Oracle Open Office Draw : printing;hidden pages of presentations -Oracle Open Office Draw : printing;in original size in Oracle Open Office Math -Oracle Open Office Draw : printing;left/right pages -Oracle Open Office Draw : printing;presentations -Oracle Open Office Draw : printing;queries (Base) -Oracle Open Office Draw : printing;scaling in Oracle Open Office Math -Oracle Open Office Draw : printing;selections -Oracle Open Office Draw : printing;text always in black -Oracle Open Office Draw : printing;text in reverse order -Oracle Open Office Draw : printing;tiling pages in presentations -Oracle Open Office Draw : printing;transparencies -Oracle Open Office Draw : printing;warnings -Oracle Open Office Draw : printing;without scaling in presentations -Oracle Open Office Draw : printing speed -Oracle Open Office Draw : programming -Oracle Open Office Draw : programming;Oracle Open Office -Oracle Open Office Draw : programming;scripting -Oracle Open Office Draw : programs run by mouse click in presentations -Oracle Open Office Draw : properties -Oracle Open Office Draw : properties;charts -Oracle Open Office Draw : properties;fields in databases -Oracle Open Office Draw : properties;files -Oracle Open Office Draw : properties;form controls -Oracle Open Office Draw : properties;forms -Oracle Open Office Draw : properties;printers -Oracle Open Office Draw : properties;smooth lines in line charts/XY charts -Oracle Open Office Draw : protected contents -Oracle Open Office Draw : protected dashes -Oracle Open Office Draw : protected database tables -Oracle Open Office Draw : protected documents -Oracle Open Office Draw : protected spaces -Oracle Open Office Draw : protected spaces;inserting -Oracle Open Office Draw : protected spaces;showing (Writer) -Oracle Open Office Draw : protecting -Oracle Open Office Draw : protecting;contents -Oracle Open Office Draw : protecting;recorded changes -Oracle Open Office Draw : proxy settings -Oracle Open Office Draw : push buttons -Oracle Open Office Draw : push buttons;adding to documents -Oracle Open Office Draw : push buttons;creating -Oracle Open Office Draw : pyramids -Oracle Open Office Draw : queries -Oracle Open Office Draw : queries;copying (Base) -Oracle Open Office Draw : queries;creating in design view (Base) -Oracle Open Office Draw : queries;creating in SQL view -Oracle Open Office Draw : queries;defining (Base) -Oracle Open Office Draw : queries;deleting table links (Base) -Oracle Open Office Draw : queries;editing in data source view -Oracle Open Office Draw : queries;formulating filter conditions (Base) -Oracle Open Office Draw : queries;joining tables (Base) -Oracle Open Office Draw : queries;missing elements (Base) -Oracle Open Office Draw : queries;overview (Base) -Oracle Open Office Draw : queries;parameter queries (Base) -Oracle Open Office Draw : queries;printing (Base) -Oracle Open Office Draw : Query Wizard (Base) -Oracle Open Office Draw : Quickstarter -Oracle Open Office Draw : quotation marks -Oracle Open Office Draw : quotation marks;replacing -Oracle Open Office Draw : quotes -Oracle Open Office Draw : quotes;custom -Oracle Open Office Draw : radar charts, see net charts -Oracle Open Office Draw : radio button creation -Oracle Open Office Draw : read-only documents -Oracle Open Office Draw : read-only documents;cursor -Oracle Open Office Draw : read-only documents;database tables on/off -Oracle Open Office Draw : read-only documents;editing -Oracle Open Office Draw : read-only documents;opening documents as -Oracle Open Office Draw : read-only items in Data Navigator -Oracle Open Office Draw : recognizing URLs automatically -Oracle Open Office Draw : recording -Oracle Open Office Draw : recording;changes -Oracle Open Office Draw : recording;display times for slides -Oracle Open Office Draw : recording;macros -Oracle Open Office Draw : records -Oracle Open Office Draw : records;inserting comments -Oracle Open Office Draw : records;protecting -Oracle Open Office Draw : records;saving -Oracle Open Office Draw : records;searching in databases -Oracle Open Office Draw : rectangles -Oracle Open Office Draw : rectangles with round corners -Oracle Open Office Draw : recursions in spreadsheets -Oracle Open Office Draw : redo command -Oracle Open Office Draw : reduced printing -Oracle Open Office Draw : reference lines -Oracle Open Office Draw : references -Oracle Open Office Draw : references;displaying in color (Calc) -Oracle Open Office Draw : references;expanding (Calc) -Oracle Open Office Draw : references;iterative (Calc) -Oracle Open Office Draw : register-true -Oracle Open Office Draw : register-true;definition -Oracle Open Office Draw : registering -Oracle Open Office Draw : registering;address books -Oracle Open Office Draw : registering;databases (Base) -Oracle Open Office Draw : registering;Oracle Open Office -Oracle Open Office Draw : regression curves in charts -Oracle Open Office Draw : regular expressions -Oracle Open Office Draw : regular expressions;list of -Oracle Open Office Draw : regular expressions;opening files -Oracle Open Office Draw : rehearse timings -Oracle Open Office Draw : relational databases (Base) -Oracle Open Office Draw : relations -Oracle Open Office Draw : relations;creating and deleting (Base) -Oracle Open Office Draw : relations;joining tables (Base) -Oracle Open Office Draw : relations;properties (Base) -Oracle Open Office Draw : relative hyperlinks -Oracle Open Office Draw : relative saving of URLs -Oracle Open Office Draw : reloading -Oracle Open Office Draw : reloading;documents -Oracle Open Office Draw : reloading;HTML documents, automatically -Oracle Open Office Draw : remarks, see also comments -Oracle Open Office Draw : remote configurations -Oracle Open Office Draw : remove noise filter -Oracle Open Office Draw : removing -Oracle Open Office Draw : removing;bullets and numbering -Oracle Open Office Draw : removing;form filters -Oracle Open Office Draw : removing, see also deleting -Oracle Open Office Draw : renaming layers -Oracle Open Office Draw : reorganizing charts -Oracle Open Office Draw : repeating -Oracle Open Office Draw : repeating;commands -Oracle Open Office Draw : replacement options -Oracle Open Office Draw : replacement table -Oracle Open Office Draw : replacing -Oracle Open Office Draw : replacing;AutoCorrect function -Oracle Open Office Draw : replacing;colors in bitmaps -Oracle Open Office Draw : replacing;dashes -Oracle Open Office Draw : replacing;tab stops (regular expressions) -Oracle Open Office Draw : Report Builder -Oracle Open Office Draw : reports -Oracle Open Office Draw : reports;creating -Oracle Open Office Draw : reports;error reports -Oracle Open Office Draw : reports;opening and editing -Oracle Open Office Draw : reports;templates -Oracle Open Office Draw : resetting -Oracle Open Office Draw : resetting;templates -Oracle Open Office Draw : resizing -Oracle Open Office Draw : resizing;objects, by mouse -Oracle Open Office Draw : resizing, see also scaling/zooming -Oracle Open Office Draw : resolution when printing bitmaps -Oracle Open Office Draw : restoring -Oracle Open Office Draw : restoring;default formatting -Oracle Open Office Draw : restoring;editing -Oracle Open Office Draw : reversing objects -Oracle Open Office Draw : reversing printing order -Oracle Open Office Draw : review function -Oracle Open Office Draw : review function;accepting or rejecting changes -Oracle Open Office Draw : review function;comparing documents -Oracle Open Office Draw : review function;protecting records -Oracle Open Office Draw : review function;recording changes example -Oracle Open Office Draw : rich text control -Oracle Open Office Draw : right alignment of paragraphs -Oracle Open Office Draw : right joins (Base) -Oracle Open Office Draw : right-to-left text -Oracle Open Office Draw : rotating -Oracle Open Office Draw : rotating;3D text -Oracle Open Office Draw : rotating;draw objects -Oracle Open Office Draw : rotation mode -Oracle Open Office Draw : round corners -Oracle Open Office Draw : rounding precision (Calc) -Oracle Open Office Draw : row headers -Oracle Open Office Draw : row headers;displaying (Calc) -Oracle Open Office Draw : row headers;highlighting (Calc) -Oracle Open Office Draw : rows -Oracle Open Office Draw : rows;inserting -Oracle Open Office Draw : rulers -Oracle Open Office Draw : rulers;default settings -Oracle Open Office Draw : rulers;in presentations -Oracle Open Office Draw : rulers;measurement units -Oracle Open Office Draw : rulers;visible in presentations -Oracle Open Office Draw : running macros/programs in presentations -Oracle Open Office Draw : running slide shows -Oracle Open Office Draw : samples and templates -Oracle Open Office Draw : saving -Oracle Open Office Draw : saving;as HTML -Oracle Open Office Draw : saving;default file formats -Oracle Open Office Draw : saving;dialog settings -Oracle Open Office Draw : saving;documents -Oracle Open Office Draw : saving;documents for mobile devices -Oracle Open Office Draw : saving;documents in other formats -Oracle Open Office Draw : saving;documents, automatically -Oracle Open Office Draw : saving;in Microsoft Office file format -Oracle Open Office Draw : saving;options -Oracle Open Office Draw : saving;templates -Oracle Open Office Draw : saving;to XML -Oracle Open Office Draw : saving;VBA code in Microsoft Office documents -Oracle Open Office Draw : saving;with password by default -Oracle Open Office Draw : saving as command -Oracle Open Office Draw : saving as command;precautions -Oracle Open Office Draw : scaling -Oracle Open Office Draw : scaling;axes -Oracle Open Office Draw : scaling;font sizes in user interface -Oracle Open Office Draw : scaling;objects -Oracle Open Office Draw : scaling;pictures -Oracle Open Office Draw : scaling;printing in Oracle Open Office Math -Oracle Open Office Draw : scaling;text in charts -Oracle Open Office Draw : scaling;when printing presentations -Oracle Open Office Draw : scaling, see also zooming -Oracle Open Office Draw : scatter charts -Oracle Open Office Draw : screen -Oracle Open Office Draw : screen;full screen views -Oracle Open Office Draw : screen;scaling -Oracle Open Office Draw : screen magnifiers -Oracle Open Office Draw : screen readers -Oracle Open Office Draw : script organization -Oracle Open Office Draw : scrollbars -Oracle Open Office Draw : scrollbars;controls -Oracle Open Office Draw : scrollbars;displaying (Calc) -Oracle Open Office Draw : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Draw : search criteria for database functions in cells -Oracle Open Office Draw : search engines -Oracle Open Office Draw : search engines;definition -Oracle Open Office Draw : search engines;selecting -Oracle Open Office Draw : searching -Oracle Open Office Draw : searching;all sheets -Oracle Open Office Draw : searching;databases -Oracle Open Office Draw : searching;form filters -Oracle Open Office Draw : searching;Internet -Oracle Open Office Draw : searching;tables and forms -Oracle Open Office Draw : secondary axes in charts -Oracle Open Office Draw : sections -Oracle Open Office Draw : sections;backgrounds -Oracle Open Office Draw : sectors of circles/ellipses -Oracle Open Office Draw : security -Oracle Open Office Draw : security;digital signatures -Oracle Open Office Draw : security;options for documents with macros -Oracle Open Office Draw : security;protecting contents -Oracle Open Office Draw : security;security levels for macros -Oracle Open Office Draw : security;warning dialogs with macros -Oracle Open Office Draw : segments of circles/ellipses -Oracle Open Office Draw : selecting -Oracle Open Office Draw : selecting;controls -Oracle Open Office Draw : selecting;hidden objects -Oracle Open Office Draw : selecting;layers -Oracle Open Office Draw : selecting;measurement units -Oracle Open Office Draw : selecting;objects -Oracle Open Office Draw : selecting;print areas -Oracle Open Office Draw : selecting;several files -Oracle Open Office Draw : selection clipboard -Oracle Open Office Draw : selection frames -Oracle Open Office Draw : selection modes in text -Oracle Open Office Draw : sending -Oracle Open Office Draw : sending;AutoAbstract function in presentations -Oracle Open Office Draw : sending;documents as e-mail -Oracle Open Office Draw : sending;documents as faxes -Oracle Open Office Draw : separator lines -Oracle Open Office Draw : separator lines;defining -Oracle Open Office Draw : separators -Oracle Open Office Draw : separators;conditional -Oracle Open Office Draw : Server Side ImageMap -Oracle Open Office Draw : settings -Oracle Open Office Draw : settings;printers -Oracle Open Office Draw : settings;program configuration -Oracle Open Office Draw : settings;proxies -Oracle Open Office Draw : settings;tracking changes -Oracle Open Office Draw : settings;views -Oracle Open Office Draw : SGML -Oracle Open Office Draw : SGML;definition -Oracle Open Office Draw : shadows -Oracle Open Office Draw : shadows;areas -Oracle Open Office Draw : shadows;borders -Oracle Open Office Draw : shadows;characters -Oracle Open Office Draw : shadows;characters, using context menu -Oracle Open Office Draw : sharing documents -Oracle Open Office Draw : sharpening filter -Oracle Open Office Draw : shearing objects -Oracle Open Office Draw : sheet tabs -Oracle Open Office Draw : sheet tabs;displaying -Oracle Open Office Draw : sheets -Oracle Open Office Draw : sheets;searching all -Oracle Open Office Draw : shells -Oracle Open Office Draw : shortcut keys -Oracle Open Office Draw : shortcut keys;assigning macros -Oracle Open Office Draw : shortcut keys;charts -Oracle Open Office Draw : shortcut keys;general -Oracle Open Office Draw : shortcut keys;in databases -Oracle Open Office Draw : shortcut keys;in drawings -Oracle Open Office Draw : shortcut keys;in presentations -Oracle Open Office Draw : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Draw : showing -Oracle Open Office Draw : showing;changes -Oracle Open Office Draw : showing;docked windows -Oracle Open Office Draw : showing;drawings and controls (Writer) -Oracle Open Office Draw : showing;guides -Oracle Open Office Draw : showing;hidden layers -Oracle Open Office Draw : showing;hidden slides -Oracle Open Office Draw : showing;levels -Oracle Open Office Draw : showing;live presentations on the Internet -Oracle Open Office Draw : showing;slide shows -Oracle Open Office Draw : showing;subpoints -Oracle Open Office Draw : showing;toolbars -Oracle Open Office Draw : sign conversion to curves -Oracle Open Office Draw : signing documents with digital signatures -Oracle Open Office Draw : similarity search -Oracle Open Office Draw : simple handles (Writer) -Oracle Open Office Draw : simplified Chinese -Oracle Open Office Draw : simplified Chinese;translating to traditional Chinese -Oracle Open Office Draw : single sign on options -Oracle Open Office Draw : single-line spacing in text -Oracle Open Office Draw : sizes -Oracle Open Office Draw : sizes;draw objects -Oracle Open Office Draw : sizes;pictures -Oracle Open Office Draw : skewing draw objects -Oracle Open Office Draw : slanting draw objects -Oracle Open Office Draw : slanting objects -Oracle Open Office Draw : slide designs -Oracle Open Office Draw : slide layouts -Oracle Open Office Draw : slide master view -Oracle Open Office Draw : slide masters -Oracle Open Office Draw : slide masters;changing backgrounds -Oracle Open Office Draw : slide masters;designing -Oracle Open Office Draw : slide masters;headers and footers -Oracle Open Office Draw : slide numbers -Oracle Open Office Draw : slide numbers on all slides -Oracle Open Office Draw : slide shows -Oracle Open Office Draw : slide shows;custom -Oracle Open Office Draw : slide shows;settings for -Oracle Open Office Draw : slide shows;starting -Oracle Open Office Draw : slide transitions -Oracle Open Office Draw : slide transitions;applying effects -Oracle Open Office Draw : slide transitions;automatic -Oracle Open Office Draw : slide transitions;manual -Oracle Open Office Draw : slide transitions;sounds -Oracle Open Office Draw : slides -Oracle Open Office Draw : slides;arranging -Oracle Open Office Draw : slides;backgrounds -Oracle Open Office Draw : slides;changing backgrounds -Oracle Open Office Draw : slides;copying between documents -Oracle Open Office Draw : slides;deleting -Oracle Open Office Draw : slides;expanding -Oracle Open Office Draw : slides;formatting -Oracle Open Office Draw : slides;headers and footers -Oracle Open Office Draw : slides;inserting -Oracle Open Office Draw : slides;inserting as links -Oracle Open Office Draw : slides;inserting speaker notes -Oracle Open Office Draw : slides;page numbers -Oracle Open Office Draw : slides;printing -Oracle Open Office Draw : small capitals -Oracle Open Office Draw : small icons -Oracle Open Office Draw : smart tag configuration -Oracle Open Office Draw : smooth scrolling (Writer) -Oracle Open Office Draw : smoothing filter -Oracle Open Office Draw : snap grid defaults (Writer/Calc) -Oracle Open Office Draw : snap lines, see also guides -Oracle Open Office Draw : snap points -Oracle Open Office Draw : snap points;editing -Oracle Open Office Draw : snap points;inserting -Oracle Open Office Draw : snapping in presentations and drawings -Oracle Open Office Draw : solarization filter -Oracle Open Office Draw : sort lists -Oracle Open Office Draw : sort lists;copying to in Calc -Oracle Open Office Draw : sorting -Oracle Open Office Draw : sorting;data in forms -Oracle Open Office Draw : sorting;databases -Oracle Open Office Draw : sound files -Oracle Open Office Draw : sounds -Oracle Open Office Draw : sounds;for effects -Oracle Open Office Draw : sounds;formats -Oracle Open Office Draw : sounds;on slide transitions -Oracle Open Office Draw : spaces -Oracle Open Office Draw : spaces;displaying (Writer) -Oracle Open Office Draw : spaces;ignoring double -Oracle Open Office Draw : spaces;inserting protected spaces -Oracle Open Office Draw : spaces;showing protected spaces (Writer) -Oracle Open Office Draw : spacing -Oracle Open Office Draw : spacing;between paragraphs in footnotes -Oracle Open Office Draw : spacing;font effects -Oracle Open Office Draw : spacing;lines and paragraphs -Oracle Open Office Draw : spacing;tab stops in text documents -Oracle Open Office Draw : spacing;tabs in presentations -Oracle Open Office Draw : spadmin -Oracle Open Office Draw : speaker notes -Oracle Open Office Draw : speaker notes;defaults -Oracle Open Office Draw : speaker notes;inserting -Oracle Open Office Draw : special characters -Oracle Open Office Draw : speech bubbles -Oracle Open Office Draw : speed of printing -Oracle Open Office Draw : spellcheck -Oracle Open Office Draw : spellcheck;activating for a language -Oracle Open Office Draw : spellcheck;context menus -Oracle Open Office Draw : spellcheck;default languages -Oracle Open Office Draw : spellcheck;dialog -Oracle Open Office Draw : spellcheck;dictionary of exceptions -Oracle Open Office Draw : spellcheck;ignore list -Oracle Open Office Draw : spheres -Oracle Open Office Draw : spin button creation -Oracle Open Office Draw : splitting -Oracle Open Office Draw : splitting;combinations -Oracle Open Office Draw : splitting;curves -Oracle Open Office Draw : spoolfiles with Xprinter -Oracle Open Office Draw : spreadsheets -Oracle Open Office Draw : spreadsheets;as databases (base) -Oracle Open Office Draw : spreadsheets;copying areas to text documents -Oracle Open Office Draw : spreadsheets;creating/opening -Oracle Open Office Draw : spreadsheets;in presentations -Oracle Open Office Draw : spreadsheets;inserting charts -Oracle Open Office Draw : spreadsheets;inserting database records -Oracle Open Office Draw : spreadsheets;printing -Oracle Open Office Draw : spreadsheets;saving -Oracle Open Office Draw : spreadsheets;saving automatically -Oracle Open Office Draw : spreadsheets;saving in other formats -Oracle Open Office Draw : spreadsheets;sending as e-mail -Oracle Open Office Draw : SQL -Oracle Open Office Draw : SQL;definition -Oracle Open Office Draw : SQL;DISTINCT parameter -Oracle Open Office Draw : SQL;executing SQL commands -Oracle Open Office Draw : SQL;executing SQL statements (Base) -Oracle Open Office Draw : SQL;queries (Base) -Oracle Open Office Draw : square drawings -Oracle Open Office Draw : standard bar on/off -Oracle Open Office Draw : standard deviation in charts -Oracle Open Office Draw : standard filters in databases -Oracle Open Office Draw : standard printer under UNIX -Oracle Open Office Draw : start center -Oracle Open Office Draw : start parameters -Oracle Open Office Draw : starting -Oracle Open Office Draw : starting;always with the current slide -Oracle Open Office Draw : starting;custom slide shows -Oracle Open Office Draw : starting;slide shows -Oracle Open Office Draw : statistics in charts -Oracle Open Office Draw : status bar on/off -Oracle Open Office Draw : stickers -Oracle Open Office Draw : stock charts -Oracle Open Office Draw : strikethrough -Oracle Open Office Draw : strikethrough;characters -Oracle Open Office Draw : strikethrough;font effects -Oracle Open Office Draw : styles -Oracle Open Office Draw : styles;'changed' message -Oracle Open Office Draw : styles;arrow and line styles -Oracle Open Office Draw : styles;copying between documents -Oracle Open Office Draw : styles;keyboard shortcuts -Oracle Open Office Draw : styles;organizing -Oracle Open Office Draw : styles;printing styles used in a document -Oracle Open Office Draw : styles;replacing automatically -Oracle Open Office Draw : Styles and Formatting window -Oracle Open Office Draw : Styles and Formatting window;docking -Oracle Open Office Draw : Styles and Formatting window;graphics documents -Oracle Open Office Draw : subforms -Oracle Open Office Draw : subforms;creating -Oracle Open Office Draw : subforms;description -Oracle Open Office Draw : submitting forms -Oracle Open Office Draw : subpoints -Oracle Open Office Draw : subpoints;hiding -Oracle Open Office Draw : subpoints;showing -Oracle Open Office Draw : subtracting polygons -Oracle Open Office Draw : suffixes in file formats -Oracle Open Office Draw : summary slide -Oracle Open Office Draw : support on the Web -Oracle Open Office Draw : synchronizing -Oracle Open Office Draw : synchronizing;labels and business cards -Oracle Open Office Draw : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Draw : system address book registration -Oracle Open Office Draw : tab stops -Oracle Open Office Draw : tab stops;displaying (Writer) -Oracle Open Office Draw : tab stops;inserting and editing -Oracle Open Office Draw : tab stops;regular expressions -Oracle Open Office Draw : tab stops;setting in sheets -Oracle Open Office Draw : tab stops;settings -Oracle Open Office Draw : tab stops;spacing in presentations -Oracle Open Office Draw : tab stops;spacing in text documents -Oracle Open Office Draw : table controls -Oracle Open Office Draw : table controls;form functions -Oracle Open Office Draw : table controls;keyboard-only edit mode -Oracle Open Office Draw : table controls;properties -Oracle Open Office Draw : table views of databases -Oracle Open Office Draw : Table Wizard (Base) -Oracle Open Office Draw : tables -Oracle Open Office Draw : tables;inserting line breaks -Oracle Open Office Draw : tables in databases -Oracle Open Office Draw : tables in databases;access rights to (Base) -Oracle Open Office Draw : tables in databases;adding to queries -Oracle Open Office Draw : tables in databases;browsing and editing -Oracle Open Office Draw : tables in databases;copying database tables (Base) -Oracle Open Office Draw : tables in databases;creating -Oracle Open Office Draw : tables in databases;creating in design view (manually) -Oracle Open Office Draw : tables in databases;importing text formats (Base) -Oracle Open Office Draw : tables in databases;joining for queries (Base) -Oracle Open Office Draw : tables in databases;printing queries (Base) -Oracle Open Office Draw : tables in databases;relations (Base) -Oracle Open Office Draw : tables in databases;searching -Oracle Open Office Draw : tables in spreadsheets -Oracle Open Office Draw : tables in spreadsheets;copying data to other applications -Oracle Open Office Draw : tables in spreadsheets;defining borders -Oracle Open Office Draw : tables in spreadsheets;value highlighting -Oracle Open Office Draw : tables in text -Oracle Open Office Draw : tables in text;captions -Oracle Open Office Draw : tables in text;creating automatically -Oracle Open Office Draw : tables in text;default settings -Oracle Open Office Draw : tables in text;defining borders -Oracle Open Office Draw : tables in text;displaying -Oracle Open Office Draw : tables in text;printing -Oracle Open Office Draw : tabs -Oracle Open Office Draw : tabs;displaying sheet tabs -Oracle Open Office Draw : tags -Oracle Open Office Draw : tags;definition -Oracle Open Office Draw : tags;META tags -Oracle Open Office Draw : task pane -Oracle Open Office Draw : templates -Oracle Open Office Draw : templates;agendas -Oracle Open Office Draw : templates;changing basic fonts -Oracle Open Office Draw : templates;database reports -Oracle Open Office Draw : templates;deleting -Oracle Open Office Draw : templates;editing and saving -Oracle Open Office Draw : templates;faxes -Oracle Open Office Draw : templates;importing and exporting -Oracle Open Office Draw : templates;letters -Oracle Open Office Draw : templates;new documents from templates -Oracle Open Office Draw : templates;opening documents with -Oracle Open Office Draw : templates;organizing -Oracle Open Office Draw : terminology -Oracle Open Office Draw : terminology;general glossary -Oracle Open Office Draw : terminology;Internet glossary -Oracle Open Office Draw : testing XML filters -Oracle Open Office Draw : text -Oracle Open Office Draw : text;animating -Oracle Open Office Draw : text;Asian layout -Oracle Open Office Draw : text;bold -Oracle Open Office Draw : text;coloring -Oracle Open Office Draw : text;converting to curves -Oracle Open Office Draw : text;copying by drag and drop -Oracle Open Office Draw : text;CTL languages -Oracle Open Office Draw : text;double-clicking to edit -Oracle Open Office Draw : text;drawing pictures -Oracle Open Office Draw : text;font effects -Oracle Open Office Draw : text;font sizes -Oracle Open Office Draw : text;font styles -Oracle Open Office Draw : text;fonts and formats -Oracle Open Office Draw : text;Fontwork icons -Oracle Open Office Draw : text;hyperlinks -Oracle Open Office Draw : text;inserting special characters -Oracle Open Office Draw : text;italics -Oracle Open Office Draw : text;kerning -Oracle Open Office Draw : text;language selection -Oracle Open Office Draw : text;line spacing -Oracle Open Office Draw : text;overwriting or inserting -Oracle Open Office Draw : text;printing in black -Oracle Open Office Draw : text;replacing with format -Oracle Open Office Draw : text;selection modes -Oracle Open Office Draw : text;shadowed -Oracle Open Office Draw : text;text/draw objects -Oracle Open Office Draw : text;toolbar -Oracle Open Office Draw : text attributes -Oracle Open Office Draw : text attributes;hyperlinks -Oracle Open Office Draw : text attributes;undoing -Oracle Open Office Draw : text boxes -Oracle Open Office Draw : text boxes;form functions -Oracle Open Office Draw : text boxes;positioning -Oracle Open Office Draw : text breaks in cells -Oracle Open Office Draw : text colors for better accessibility -Oracle Open Office Draw : text databases (Base) -Oracle Open Office Draw : text documents -Oracle Open Office Draw : text documents;creating/opening -Oracle Open Office Draw : text documents;importing/exporting -Oracle Open Office Draw : text documents;inserting in slides -Oracle Open Office Draw : text documents;inserting spreadsheet cells -Oracle Open Office Draw : text documents;print settings -Oracle Open Office Draw : text documents;printing -Oracle Open Office Draw : text documents;saving -Oracle Open Office Draw : text documents;saving automatically -Oracle Open Office Draw : text documents;saving in other formats -Oracle Open Office Draw : text documents;sending as e-mail -Oracle Open Office Draw : text effects -Oracle Open Office Draw : text entry mode for draw objects -Oracle Open Office Draw : text flow -Oracle Open Office Draw : text flow;in cells -Oracle Open Office Draw : text formats -Oracle Open Office Draw : text formats;databases -Oracle Open Office Draw : text formats;pasting -Oracle Open Office Draw : text frames -Oracle Open Office Draw : text input fields -Oracle Open Office Draw : text layout for special languages -Oracle Open Office Draw : text objects -Oracle Open Office Draw : text objects;alignment -Oracle Open Office Draw : text objects;draw functions -Oracle Open Office Draw : text objects;fonts -Oracle Open Office Draw : text objects;in presentations and drawings -Oracle Open Office Draw : text overflow in spreadsheet cells -Oracle Open Office Draw : text scaling in charts -Oracle Open Office Draw : text, see also text documents, paragraphs and characters -Oracle Open Office Draw : TextArt, see Fontwork -Oracle Open Office Draw : textures -Oracle Open Office Draw : textures;inserting from Gallery -Oracle Open Office Draw : textures;on chart bars -Oracle Open Office Draw : Thai -Oracle Open Office Draw : Thai;entering text -Oracle Open Office Draw : Thai;language settings -Oracle Open Office Draw : thesaurus -Oracle Open Office Draw : thesaurus;activating for a language -Oracle Open Office Draw : ticker text -Oracle Open Office Draw : tiled printing of slides -Oracle Open Office Draw : time and date on all slides -Oracle Open Office Draw : time fields -Oracle Open Office Draw : time fields;form functions -Oracle Open Office Draw : times -Oracle Open Office Draw : times;fixed -Oracle Open Office Draw : times;inserting when printing presentations -Oracle Open Office Draw : times;variable -Oracle Open Office Draw : times, formats -Oracle Open Office Draw : timings -Oracle Open Office Draw : timings;rehearse timings -Oracle Open Office Draw : tips -Oracle Open Office Draw : tips;extended tips in Help -Oracle Open Office Draw : title rows -Oracle Open Office Draw : title rows;printing in Oracle Open Office Math -Oracle Open Office Draw : titles -Oracle Open Office Draw : titles;alignment (charts) -Oracle Open Office Draw : titles;changing -Oracle Open Office Draw : titles;editing in charts -Oracle Open Office Draw : titles;font effects -Oracle Open Office Draw : titles;formatting automatically -Oracle Open Office Draw : titles;formatting charts -Oracle Open Office Draw : titles;objects -Oracle Open Office Draw : toolbars -Oracle Open Office Draw : toolbars;3D objects -Oracle Open Office Draw : toolbars;adding buttons -Oracle Open Office Draw : toolbars;curves -Oracle Open Office Draw : toolbars;docking/undocking -Oracle Open Office Draw : toolbars;ellipses -Oracle Open Office Draw : toolbars;Form Navigation bar -Oracle Open Office Draw : toolbars;viewing/closing -Oracle Open Office Draw : tools bar -Oracle Open Office Draw : tooltips -Oracle Open Office Draw : tooltips;extended tips -Oracle Open Office Draw : tooltips;help -Oracle Open Office Draw : torus -Oracle Open Office Draw : traditional Chinese -Oracle Open Office Draw : traditional Chinese;translating to simplified chinese -Oracle Open Office Draw : transition effects -Oracle Open Office Draw : transparency -Oracle Open Office Draw : transparency;adjusting -Oracle Open Office Draw : transparency;areas -Oracle Open Office Draw : transparency;of objects -Oracle Open Office Draw : transparency;off for faster printing -Oracle Open Office Draw : transparency;saving -Oracle Open Office Draw : tree view of Help -Oracle Open Office Draw : trend lines in charts -Oracle Open Office Draw : typefaces -Oracle Open Office Draw : typefaces;adding under UNIX -Oracle Open Office Draw : typefaces;formats -Oracle Open Office Draw : typographical quotes in Oracle Open Office Writer -Oracle Open Office Draw : typography -Oracle Open Office Draw : typography;Asian -Oracle Open Office Draw : underlining -Oracle Open Office Draw : underlining;AutoFormat function -Oracle Open Office Draw : underlining;characters -Oracle Open Office Draw : underlining;text -Oracle Open Office Draw : underlying objects -Oracle Open Office Draw : undocking windows -Oracle Open Office Draw : undoing -Oracle Open Office Draw : undoing;direct formatting -Oracle Open Office Draw : undoing;editing -Oracle Open Office Draw : undoing;number of steps -Oracle Open Office Draw : ungrouping groups -Oracle Open Office Draw : units -Oracle Open Office Draw : units;converting -Oracle Open Office Draw : units;measurement units -Oracle Open Office Draw : unlocking layers -Oracle Open Office Draw : UNO components -Oracle Open Office Draw : UNO components;Extension Manager -Oracle Open Office Draw : UNO components;integrating new -Oracle Open Office Draw : update options -Oracle Open Office Draw : updates -Oracle Open Office Draw : updates;checking automatically -Oracle Open Office Draw : updates;checking manually -Oracle Open Office Draw : updating -Oracle Open Office Draw : updating;fields and charts, automatically (Writer) -Oracle Open Office Draw : updating;links in text documents -Oracle Open Office Draw : updating;links, on opening -Oracle Open Office Draw : updating;templates -Oracle Open Office Draw : URL -Oracle Open Office Draw : URL;changing hyperlink URLs -Oracle Open Office Draw : URL;definition -Oracle Open Office Draw : URL;in pictures -Oracle Open Office Draw : URL;saving absolute/relative paths -Oracle Open Office Draw : URL;turning off URL recognition -Oracle Open Office Draw : user data -Oracle Open Office Draw : user data;input -Oracle Open Office Draw : user data;removing when saving -Oracle Open Office Draw : user feedback -Oracle Open Office Draw : user feedback;automatically -Oracle Open Office Draw : user-defined colors -Oracle Open Office Draw : user-defined dictionaries -Oracle Open Office Draw : user-defined dictionaries;creating -Oracle Open Office Draw : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Draw : user-defined dictionaries;editing -Oracle Open Office Draw : user-defined styles -Oracle Open Office Draw : user-defined styles;automatically replacing -Oracle Open Office Draw : UTF-8/UCS2 support -Oracle Open Office Draw : values -Oracle Open Office Draw : values;rounded as shown (Calc) -Oracle Open Office Draw : variables -Oracle Open Office Draw : variables;for paths -Oracle Open Office Draw : variances in charts -Oracle Open Office Draw : VBA code -Oracle Open Office Draw : VBA code;loading/saving documents with VBA code -Oracle Open Office Draw : vector graphics -Oracle Open Office Draw : vector graphics;converting bitmaps -Oracle Open Office Draw : vectorizing bitmaps -Oracle Open Office Draw : version management -Oracle Open Office Draw : version numbers of documents -Oracle Open Office Draw : versions -Oracle Open Office Draw : versions;comparing documents -Oracle Open Office Draw : versions;file saving as, restriction -Oracle Open Office Draw : versions;merging document versions -Oracle Open Office Draw : versions;of a document -Oracle Open Office Draw : versions;Oracle Open Office -Oracle Open Office Draw : vertical callouts -Oracle Open Office Draw : vertical scrollbars (Writer) -Oracle Open Office Draw : vertical text boxes -Oracle Open Office Draw : videos -Oracle Open Office Draw : viewing -Oracle Open Office Draw : viewing;databases -Oracle Open Office Draw : viewing;file properties -Oracle Open Office Draw : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Draw : viewing;toolbars -Oracle Open Office Draw : views -Oracle Open Office Draw : views;black and white -Oracle Open Office Draw : views;creating database views (Base) -Oracle Open Office Draw : views;defaults -Oracle Open Office Draw : views;display sizes -Oracle Open Office Draw : views;full screen -Oracle Open Office Draw : views;icons -Oracle Open Office Draw : views;scaling -Oracle Open Office Draw : views;shift function -Oracle Open Office Draw : views;slide master view -Oracle Open Office Draw : Visual Basic for Applications -Oracle Open Office Draw : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Draw : watermarks -Oracle Open Office Draw : web documents -Oracle Open Office Draw : web documents;XForms -Oracle Open Office Draw : Web support -Oracle Open Office Draw : WebCast export -Oracle Open Office Draw : WebDAV over HTTPS -Oracle Open Office Draw : windows -Oracle Open Office Draw : windows;docking -Oracle Open Office Draw : windows;docking definition -Oracle Open Office Draw : windows;hiding/showing/docking -Oracle Open Office Draw : windows;new -Oracle Open Office Draw : wizards -Oracle Open Office Draw : wizards;agendas -Oracle Open Office Draw : wizards;database queries -Oracle Open Office Draw : wizards;database tables (Base) -Oracle Open Office Draw : wizards;databases (Base) -Oracle Open Office Draw : wizards;document converter -Oracle Open Office Draw : wizards;Euro Converter -Oracle Open Office Draw : wizards;faxes -Oracle Open Office Draw : wizards;forms -Oracle Open Office Draw : wizards;letters -Oracle Open Office Draw : wizards;macros (Base) -Oracle Open Office Draw : wizards;overview -Oracle Open Office Draw : wizards;presentations -Oracle Open Office Draw : wizards;reports -Oracle Open Office Draw : Word documents -Oracle Open Office Draw : Word documents;compatibility -Oracle Open Office Draw : Word documents;saving as -Oracle Open Office Draw : WordArt, see Fontwork -Oracle Open Office Draw : words -Oracle Open Office Draw : words;automatically replacing -Oracle Open Office Draw : words;wrapping in cells -Oracle Open Office Draw : words;wrapping in CTL -Oracle Open Office Draw : working directory change -Oracle Open Office Draw : wrapping text -Oracle Open Office Draw : wrapping text;in cells -Oracle Open Office Draw : write protection on/off -Oracle Open Office Draw : writing aids options -Oracle Open Office Draw : WYSIWYG in fonts lists -Oracle Open Office Draw : X axes -Oracle Open Office Draw : X axes;grid formatting -Oracle Open Office Draw : X axes;positioning -Oracle Open Office Draw : X axes;scaling -Oracle Open Office Draw : X axes;showing -Oracle Open Office Draw : XForms -Oracle Open Office Draw : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Draw : XForms;conditions -Oracle Open Office Draw : XForms;opening/editing -Oracle Open Office Draw : XML converters -Oracle Open Office Draw : XML file formats -Oracle Open Office Draw : XML filters -Oracle Open Office Draw : XML filters;creating/testing -Oracle Open Office Draw : XML filters;saving as package/installing/deleting -Oracle Open Office Draw : XML filters;settings -Oracle Open Office Draw : XML Forms, see XForms -Oracle Open Office Draw : XSLT filters, see also XML filters -Oracle Open Office Draw : XY charts -Oracle Open Office Draw : Y axes -Oracle Open Office Draw : Y axes;formatting -Oracle Open Office Draw : Y axes;grid formatting -Oracle Open Office Draw : Y axes;positioning -Oracle Open Office Draw : Y axes;scaling -Oracle Open Office Draw : Y axes;showing -Oracle Open Office Draw : years -Oracle Open Office Draw : years;2-digit options -Oracle Open Office Draw : Z axes -Oracle Open Office Draw : Z axes;grid formatting -Oracle Open Office Draw : Z axes;showing -Oracle Open Office Draw : zero values -Oracle Open Office Draw : zero values;displaying (Calc) -Oracle Open Office Draw : zooming -Oracle Open Office Draw : zooming;in presentations -Oracle Open Office Draw : zooming;keyboard -Oracle Open Office Draw : zooming;page views -Oracle Open Office Draw : zooming;pictures -Oracle Open Office Draw : zooming;shortcut keys -Oracle Open Office Draw : zooming;status bar -Oracle Open Office Impress : 1/2 replacement -Oracle Open Office Impress : 3D charts -Oracle Open Office Impress : 3D objects -Oracle Open Office Impress : 3D objects;assembling -Oracle Open Office Impress : 3D objects;generating -Oracle Open Office Impress : 3D objects;inserting -Oracle Open Office Impress : 3D rotation objects -Oracle Open Office Impress : 3D rotation objects;converting to -Oracle Open Office Impress : 3D rotation objects;generating -Oracle Open Office Impress : 3D text creation -Oracle Open Office Impress : abbreviation replacement -Oracle Open Office Impress : absolute hyperlinks -Oracle Open Office Impress : absolute saving of URLs -Oracle Open Office Impress : accents -Oracle Open Office Impress : Access databases (base) -Oracle Open Office Impress : access rights for database tables (Base) -Oracle Open Office Impress : accessibility -Oracle Open Office Impress : accessibility;general shortcuts -Oracle Open Office Impress : accessibility;options -Oracle Open Office Impress : accessibility;Oracle Open Office assistive technology -Oracle Open Office Impress : accessibility;Oracle Open Office Draw -Oracle Open Office Impress : accessibility;Oracle Open Office features -Oracle Open Office Impress : accessibility;Oracle Open Office Impress -Oracle Open Office Impress : activating -Oracle Open Office Impress : activating;context menus -Oracle Open Office Impress : activating;Error Report Tool -Oracle Open Office Impress : activating;extended help tips -Oracle Open Office Impress : activating;plug-ins -Oracle Open Office Impress : ActiveX control -Oracle Open Office Impress : Adabas D databases (base) -Oracle Open Office Impress : add-ons, see UNO components -Oracle Open Office Impress : additional selection mode -Oracle Open Office Impress : address books -Oracle Open Office Impress : address books;LDAP server (Base) -Oracle Open Office Impress : address books;registering -Oracle Open Office Impress : address labels from databases -Oracle Open Office Impress : ADO databases (Base) -Oracle Open Office Impress : Agenda Wizard -Oracle Open Office Impress : aging filter -Oracle Open Office Impress : aligning -Oracle Open Office Impress : aligning;2D charts -Oracle Open Office Impress : aligning;cells -Oracle Open Office Impress : aligning;draw objects -Oracle Open Office Impress : aligning;objects -Oracle Open Office Impress : aligning;paragraphs -Oracle Open Office Impress : aligning;tables in text -Oracle Open Office Impress : aligning;text objects -Oracle Open Office Impress : aligning;titles in charts -Oracle Open Office Impress : allowing -Oracle Open Office Impress : allowing;effects -Oracle Open Office Impress : allowing;interaction -Oracle Open Office Impress : alternative fonts -Oracle Open Office Impress : ampersand symbol, see also operators -Oracle Open Office Impress : anchors -Oracle Open Office Impress : anchors;changing -Oracle Open Office Impress : anchors;displaying (Calc) -Oracle Open Office Impress : anchors;types/positions for draw objects -Oracle Open Office Impress : animated GIFs -Oracle Open Office Impress : animated slide transitions -Oracle Open Office Impress : animation effects -Oracle Open Office Impress : animations -Oracle Open Office Impress : animations;accessibility options -Oracle Open Office Impress : animations;editing -Oracle Open Office Impress : animations;list of -Oracle Open Office Impress : animations;saving as GIFs -Oracle Open Office Impress : appearance options -Oracle Open Office Impress : Arabic -Oracle Open Office Impress : Arabic;entering text -Oracle Open Office Impress : Arabic;language settings -Oracle Open Office Impress : area charts -Oracle Open Office Impress : areas -Oracle Open Office Impress : areas;bitmap patterns -Oracle Open Office Impress : areas;from connected lines -Oracle Open Office Impress : areas;hatched/dotted -Oracle Open Office Impress : areas;shadows -Oracle Open Office Impress : areas;slanting -Oracle Open Office Impress : areas;styles -Oracle Open Office Impress : areas;transparency -Oracle Open Office Impress : arguments in command line -Oracle Open Office Impress : arranging -Oracle Open Office Impress : arranging;objects -Oracle Open Office Impress : arranging;objects (guide) -Oracle Open Office Impress : arranging;slides -Oracle Open Office Impress : arrows -Oracle Open Office Impress : arrows;defining arrow heads -Oracle Open Office Impress : arrows;defining arrow lines -Oracle Open Office Impress : arrows;drawing in text -Oracle Open Office Impress : arrows;inserting -Oracle Open Office Impress : arrows;loading arrow styles -Oracle Open Office Impress : ASCII -Oracle Open Office Impress : ASCII;definition -Oracle Open Office Impress : Asian languages -Oracle Open Office Impress : Asian languages;enabling -Oracle Open Office Impress : Asian Phonetic Guide -Oracle Open Office Impress : Asian typography -Oracle Open Office Impress : assembled objects in 3D -Oracle Open Office Impress : assigning scripts -Oracle Open Office Impress : assistive technology in Oracle Open Office -Oracle Open Office Impress : attaching toolbars -Oracle Open Office Impress : attachments in e-mails -Oracle Open Office Impress : attributes -Oracle Open Office Impress : attributes;objects with -Oracle Open Office Impress : audio -Oracle Open Office Impress : authors -Oracle Open Office Impress : auto reloading HTML documents -Oracle Open Office Impress : AutoAbstract function for sending text to presentations -Oracle Open Office Impress : AutoCaption function in Oracle Open Office Writer -Oracle Open Office Impress : AutoComplete function in text and list boxes -Oracle Open Office Impress : AutoCorrect function -Oracle Open Office Impress : AutoCorrect function;context menu -Oracle Open Office Impress : AutoCorrect function;options -Oracle Open Office Impress : AutoCorrect function;pictures and frames -Oracle Open Office Impress : AutoCorrect function;quotes -Oracle Open Office Impress : AutoCorrect function;replacement table -Oracle Open Office Impress : AutoCorrect function;switching on and off in Calc -Oracle Open Office Impress : AutoCorrect function;URL recognition -Oracle Open Office Impress : AutoFormat function -Oracle Open Office Impress : AutoFormat function;switching on and off -Oracle Open Office Impress : automatic captions (Writer) -Oracle Open Office Impress : automatic control focus -Oracle Open Office Impress : automatic hyperlink formatting -Oracle Open Office Impress : automatic line breaks -Oracle Open Office Impress : automatic lines/borders in text -Oracle Open Office Impress : automatic saving -Oracle Open Office Impress : automatic slide changes -Oracle Open Office Impress : automatic slide changes;rehearse timings -Oracle Open Office Impress : automatic slide shows -Oracle Open Office Impress : automatic slide transition -Oracle Open Office Impress : AutoPilots, see wizards -Oracle Open Office Impress : AutoValue (Base) -Oracle Open Office Impress : averages in charts -Oracle Open Office Impress : axes -Oracle Open Office Impress : axes;better scaling -Oracle Open Office Impress : axes;formatting -Oracle Open Office Impress : axes;formatting grids -Oracle Open Office Impress : axes;inserting grids -Oracle Open Office Impress : axes;interval marks -Oracle Open Office Impress : axes;showing axes in charts -Oracle Open Office Impress : axes in charts -Oracle Open Office Impress : backgrounds -Oracle Open Office Impress : backgrounds;changing -Oracle Open Office Impress : backgrounds;defining colors/pictures -Oracle Open Office Impress : backgrounds;deleting unused -Oracle Open Office Impress : backgrounds;frames/sections/indexes -Oracle Open Office Impress : backgrounds;inserting from Gallery -Oracle Open Office Impress : backgrounds;normal view -Oracle Open Office Impress : backgrounds;notes -Oracle Open Office Impress : backgrounds;printing -Oracle Open Office Impress : backgrounds;slides -Oracle Open Office Impress : backing window -Oracle Open Office Impress : backups -Oracle Open Office Impress : backups;automatic -Oracle Open Office Impress : backups;documents -Oracle Open Office Impress : bar charts -Oracle Open Office Impress : Basic -Oracle Open Office Impress : Basic;fonts for source display -Oracle Open Office Impress : Basic;programming -Oracle Open Office Impress : Basic;recording macros -Oracle Open Office Impress : basic fonts -Oracle Open Office Impress : behind object command -Oracle Open Office Impress : Bézier curves -Oracle Open Office Impress : Bézier curves;control points in presentations -Oracle Open Office Impress : bi-directional writing -Oracle Open Office Impress : binding space -Oracle Open Office Impress : bitmaps -Oracle Open Office Impress : bitmaps;converting to -Oracle Open Office Impress : bitmaps;converting to vector graphics -Oracle Open Office Impress : bitmaps;inserting and editing -Oracle Open Office Impress : bitmaps;off for faster printing -Oracle Open Office Impress : bitmaps;patterns -Oracle Open Office Impress : bitmaps;replacing colors -Oracle Open Office Impress : black and white display -Oracle Open Office Impress : black and white printing -Oracle Open Office Impress : black and white view -Oracle Open Office Impress : black printing in Calc -Oracle Open Office Impress : block selection mode -Oracle Open Office Impress : bold -Oracle Open Office Impress : bold;AutoFormat function -Oracle Open Office Impress : bold;text -Oracle Open Office Impress : bookmarks -Oracle Open Office Impress : bookmarks;Help -Oracle Open Office Impress : borders -Oracle Open Office Impress : borders;arranging -Oracle Open Office Impress : borders;cells on screen (Calc) -Oracle Open Office Impress : borders;for paragraphs -Oracle Open Office Impress : borders;for tables -Oracle Open Office Impress : borders;shadows -Oracle Open Office Impress : borders;table boundaries (Writer) -Oracle Open Office Impress : borders, see also frames -Oracle Open Office Impress : bound fields -Oracle Open Office Impress : bound fields;controls -Oracle Open Office Impress : boundaries of tables (Writer) -Oracle Open Office Impress : break display (Writer) -Oracle Open Office Impress : breaking object connections -Oracle Open Office Impress : brochures -Oracle Open Office Impress : brochures;printing several -Oracle Open Office Impress : bubble charts -Oracle Open Office Impress : build numbers of Oracle Open Office -Oracle Open Office Impress : bullet lists -Oracle Open Office Impress : bullet lists;formatting options -Oracle Open Office Impress : bullets -Oracle Open Office Impress : bullets;paragraphs -Oracle Open Office Impress : bullets;replacing -Oracle Open Office Impress : bullets;turning off -Oracle Open Office Impress : business cards -Oracle Open Office Impress : business cards;creating and synchronizing -Oracle Open Office Impress : business cards;using templates -Oracle Open Office Impress : button bars, see toolbars -Oracle Open Office Impress : buttons -Oracle Open Office Impress : buttons;adding push buttons -Oracle Open Office Impress : buttons;big/small -Oracle Open Office Impress : buttons;editing hyperlink buttons -Oracle Open Office Impress : buttons;form functions -Oracle Open Office Impress : buttons;toolbars -Oracle Open Office Impress : cache for graphics -Oracle Open Office Impress : calculating -Oracle Open Office Impress : calculating;iterative references (Calc) -Oracle Open Office Impress : calculating;regression curves -Oracle Open Office Impress : callouts -Oracle Open Office Impress : callouts;drawings -Oracle Open Office Impress : callouts;inserting in presentations -Oracle Open Office Impress : capital letters -Oracle Open Office Impress : capital letters;AutoCorrect function -Oracle Open Office Impress : capital letters;font effects -Oracle Open Office Impress : captions -Oracle Open Office Impress : captions;automatic captions (Writer) -Oracle Open Office Impress : captions;tables/pictures/frames/OLE objects (Writer) -Oracle Open Office Impress : captions, see also labels/callouts -Oracle Open Office Impress : cascading update (Base) -Oracle Open Office Impress : case sensitivity -Oracle Open Office Impress : case sensitivity;comparing cell contents (Calc) -Oracle Open Office Impress : case sensitivity;searching -Oracle Open Office Impress : cells -Oracle Open Office Impress : cells;aligning -Oracle Open Office Impress : cells;coloring (Calc) -Oracle Open Office Impress : cells;cursor positions after input (Calc) -Oracle Open Office Impress : cells;formatting without effect (Calc) -Oracle Open Office Impress : cells;line breaks -Oracle Open Office Impress : cells;linked to controls -Oracle Open Office Impress : cells;number of -Oracle Open Office Impress : cells;pasting -Oracle Open Office Impress : cells;resetting formats -Oracle Open Office Impress : cells;showing grid lines (Calc) -Oracle Open Office Impress : centered text -Oracle Open Office Impress : centimeters -Oracle Open Office Impress : certificates -Oracle Open Office Impress : changes -Oracle Open Office Impress : changes;accepting or rejecting -Oracle Open Office Impress : changes;comparing to original -Oracle Open Office Impress : changes;protecting -Oracle Open Office Impress : changes;recording -Oracle Open Office Impress : changes;review function -Oracle Open Office Impress : changes;showing -Oracle Open Office Impress : changing -Oracle Open Office Impress : changing;document titles -Oracle Open Office Impress : changing;file associations in Setup program -Oracle Open Office Impress : changing;icon sizes -Oracle Open Office Impress : changing;layer properties -Oracle Open Office Impress : changing;layout for handouts -Oracle Open Office Impress : changing;links -Oracle Open Office Impress : changing;order of slides -Oracle Open Office Impress : changing;slide layouts -Oracle Open Office Impress : changing;work directory -Oracle Open Office Impress : changing, see also editing and replacing -Oracle Open Office Impress : character styles -Oracle Open Office Impress : character styles;language selection -Oracle Open Office Impress : characters -Oracle Open Office Impress : characters;alternative fonts -Oracle Open Office Impress : characters;Asian layout -Oracle Open Office Impress : characters;bold -Oracle Open Office Impress : characters;coloring -Oracle Open Office Impress : characters;converting to curves -Oracle Open Office Impress : characters;displaying only on screen (Writer) -Oracle Open Office Impress : characters;enabling CTL and Asian characters -Oracle Open Office Impress : characters;font effects -Oracle Open Office Impress : characters;fonts and formats -Oracle Open Office Impress : characters;hyperlinks -Oracle Open Office Impress : characters;italics -Oracle Open Office Impress : characters;language selection -Oracle Open Office Impress : characters;shadowed -Oracle Open Office Impress : characters;spacing -Oracle Open Office Impress : characters;special -Oracle Open Office Impress : characters;underlining -Oracle Open Office Impress : charcoal sketches filter -Oracle Open Office Impress : chart legends -Oracle Open Office Impress : chart legends;hiding -Oracle Open Office Impress : chart legends;showing icons with labels -Oracle Open Office Impress : chart types -Oracle Open Office Impress : chart types;area -Oracle Open Office Impress : chart types;bubble -Oracle Open Office Impress : chart types;column and bar -Oracle Open Office Impress : chart types;column and line -Oracle Open Office Impress : chart types;line -Oracle Open Office Impress : chart types;net -Oracle Open Office Impress : chart types;pie/donut -Oracle Open Office Impress : chart types;stock -Oracle Open Office Impress : chart types;XY (scatter) -Oracle Open Office Impress : charts -Oracle Open Office Impress : charts;3D views -Oracle Open Office Impress : charts;aligning -Oracle Open Office Impress : charts;arranging within stacks -Oracle Open Office Impress : charts;bars with textures -Oracle Open Office Impress : charts;choosing chart types -Oracle Open Office Impress : charts;colors -Oracle Open Office Impress : charts;copying with link to source cell range -Oracle Open Office Impress : charts;data labels -Oracle Open Office Impress : charts;displaying (Calc) -Oracle Open Office Impress : charts;editing axes -Oracle Open Office Impress : charts;editing data -Oracle Open Office Impress : charts;editing legends -Oracle Open Office Impress : charts;editing titles -Oracle Open Office Impress : charts;formatting areas -Oracle Open Office Impress : charts;formatting floors -Oracle Open Office Impress : charts;formatting walls -Oracle Open Office Impress : charts;inserting -Oracle Open Office Impress : charts;overview -Oracle Open Office Impress : charts;positioning axes -Oracle Open Office Impress : charts;properties -Oracle Open Office Impress : charts;reorganizing -Oracle Open Office Impress : charts;scaling axes -Oracle Open Office Impress : charts;scaling text -Oracle Open Office Impress : charts;shortcuts -Oracle Open Office Impress : charts;showing axes -Oracle Open Office Impress : charts;updating automatically (Writer) -Oracle Open Office Impress : check box creation -Oracle Open Office Impress : Chinese writing systems -Oracle Open Office Impress : choosing printers -Oracle Open Office Impress : circle drawings -Oracle Open Office Impress : circle segments -Oracle Open Office Impress : circles -Oracle Open Office Impress : circles;of objects -Oracle Open Office Impress : Client Side ImageMap -Oracle Open Office Impress : clipboard -Oracle Open Office Impress : clipboard;cutting -Oracle Open Office Impress : clipboard;pasting -Oracle Open Office Impress : clipboard;pasting formatted/unformatted text -Oracle Open Office Impress : clipboard;selection clipboard -Oracle Open Office Impress : clipboard;Unix -Oracle Open Office Impress : closing -Oracle Open Office Impress : closing;documents -Oracle Open Office Impress : closing;shapes -Oracle Open Office Impress : closing;toolbars -Oracle Open Office Impress : collaboration -Oracle Open Office Impress : color bar -Oracle Open Office Impress : colors -Oracle Open Office Impress : colors;adding -Oracle Open Office Impress : colors;appearance -Oracle Open Office Impress : colors;backgrounds -Oracle Open Office Impress : colors;charts -Oracle Open Office Impress : colors;default colors -Oracle Open Office Impress : colors;defining and saving -Oracle Open Office Impress : colors;defining gradients interactively -Oracle Open Office Impress : colors;displaying presentations -Oracle Open Office Impress : colors;fill format -Oracle Open Office Impress : colors;fonts -Oracle Open Office Impress : colors;grid lines and cells (Calc) -Oracle Open Office Impress : colors;loading lists -Oracle Open Office Impress : colors;models -Oracle Open Office Impress : colors;not printing -Oracle Open Office Impress : colors;printing in grayscale -Oracle Open Office Impress : colors;replacing -Oracle Open Office Impress : colors;restriction (Calc) -Oracle Open Office Impress : colors;selection -Oracle Open Office Impress : column and line charts -Oracle Open Office Impress : column charts -Oracle Open Office Impress : column headers -Oracle Open Office Impress : column headers;displaying (Calc) -Oracle Open Office Impress : column headers;highlighting (Calc) -Oracle Open Office Impress : columns -Oracle Open Office Impress : columns;inserting -Oracle Open Office Impress : columns;setting with the mouse -Oracle Open Office Impress : combination charts -Oracle Open Office Impress : combining -Oracle Open Office Impress : combining;3D objects -Oracle Open Office Impress : combining;draw objects -Oracle Open Office Impress : combining;undoing -Oracle Open Office Impress : combo box creation -Oracle Open Office Impress : command button creation -Oracle Open Office Impress : command buttons, see push buttons -Oracle Open Office Impress : command line parameters -Oracle Open Office Impress : commands -Oracle Open Office Impress : commands;repeating -Oracle Open Office Impress : commands;SQL -Oracle Open Office Impress : comments -Oracle Open Office Impress : comments;displaying (Calc) -Oracle Open Office Impress : comments;inserting/editing/deleting/printing -Oracle Open Office Impress : comments;on changes -Oracle Open Office Impress : comments;printing in text -Oracle Open Office Impress : common terms -Oracle Open Office Impress : common terms;Chinese dictionary -Oracle Open Office Impress : common terms;glossaries -Oracle Open Office Impress : common terms;Internet glossary -Oracle Open Office Impress : comparisons -Oracle Open Office Impress : comparisons;document versions -Oracle Open Office Impress : comparisons;operators in default filter dialog -Oracle Open Office Impress : compatibility settings for MS Word import -Oracle Open Office Impress : complete screen view -Oracle Open Office Impress : complex text layout -Oracle Open Office Impress : complex text layout;definition -Oracle Open Office Impress : complex text layout;enabling -Oracle Open Office Impress : complex text layout, see CTL -Oracle Open Office Impress : compose key to insert special characters -Oracle Open Office Impress : concatenation, see ampersand symbol -Oracle Open Office Impress : conditional separators -Oracle Open Office Impress : conditions -Oracle Open Office Impress : conditions;in number formats -Oracle Open Office Impress : conditions;items in Data Navigator -Oracle Open Office Impress : cones -Oracle Open Office Impress : Configuration Manager -Oracle Open Office Impress : configuring -Oracle Open Office Impress : configuring;fax icon -Oracle Open Office Impress : configuring;Oracle Open Office -Oracle Open Office Impress : configuring;toolbars -Oracle Open Office Impress : connecting -Oracle Open Office Impress : connecting;draw objects -Oracle Open Office Impress : connecting;lines -Oracle Open Office Impress : connecting;paths and objects -Oracle Open Office Impress : connections to data sources (Base) -Oracle Open Office Impress : connectors -Oracle Open Office Impress : connectors;properties of -Oracle Open Office Impress : connectors;using -Oracle Open Office Impress : constructing shapes -Oracle Open Office Impress : contents protection -Oracle Open Office Impress : context menus -Oracle Open Office Impress : contours -Oracle Open Office Impress : contours;converting to -Oracle Open Office Impress : control point display in presentations -Oracle Open Office Impress : control points definition -Oracle Open Office Impress : controls -Oracle Open Office Impress : controls;activating in forms -Oracle Open Office Impress : controls;adding to documents -Oracle Open Office Impress : controls;arranging in forms -Oracle Open Office Impress : controls;arranging within stacks -Oracle Open Office Impress : controls;assigning data sources -Oracle Open Office Impress : controls;assigning macros (Basic) -Oracle Open Office Impress : controls;bound fields/list contents/linked cells -Oracle Open Office Impress : controls;events -Oracle Open Office Impress : controls;focus -Oracle Open Office Impress : controls;formatted fields -Oracle Open Office Impress : controls;grouping -Oracle Open Office Impress : controls;hidden -Oracle Open Office Impress : controls;inserting -Oracle Open Office Impress : controls;multi-line titles -Oracle Open Office Impress : controls;positions and sizes -Oracle Open Office Impress : controls;printing -Oracle Open Office Impress : controls;properties of form controls -Oracle Open Office Impress : controls;properties of table controls -Oracle Open Office Impress : controls;reference by SQL -Oracle Open Office Impress : controls;rich text control -Oracle Open Office Impress : controls;select mode -Oracle Open Office Impress : controls;showing (Writer) -Oracle Open Office Impress : converters -Oracle Open Office Impress : converters;Euro converter -Oracle Open Office Impress : converters;PostScript, UNIX -Oracle Open Office Impress : converters;XML -Oracle Open Office Impress : converting -Oracle Open Office Impress : converting;bitmaps to polygons -Oracle Open Office Impress : converting;Hangul/Hanja -Oracle Open Office Impress : converting;metrics -Oracle Open Office Impress : converting;Microsoft documents -Oracle Open Office Impress : converting;Oracle Open Office documents -Oracle Open Office Impress : converting;Pocket PC formats -Oracle Open Office Impress : converting;points -Oracle Open Office Impress : converting;text to curves -Oracle Open Office Impress : converting;to bitmaps -Oracle Open Office Impress : converting;to contours -Oracle Open Office Impress : converting;to curves, polygons, 3D -Oracle Open Office Impress : converting;to metafile format (WMF) -Oracle Open Office Impress : copies -Oracle Open Office Impress : copies;printing -Oracle Open Office Impress : copying -Oracle Open Office Impress : copying;by drag and drop -Oracle Open Office Impress : copying;data from text documents -Oracle Open Office Impress : copying;datasource records in spreadsheets -Oracle Open Office Impress : copying;draw objects -Oracle Open Office Impress : copying;draw objects between documents -Oracle Open Office Impress : copying;formatting -Oracle Open Office Impress : copying;from data source view -Oracle Open Office Impress : copying;from Gallery -Oracle Open Office Impress : copying;in Unix -Oracle Open Office Impress : copying;pictures, between documents -Oracle Open Office Impress : copying;sheet areas, to text documents -Oracle Open Office Impress : copying;slides -Oracle Open Office Impress : copying;text from other documents -Oracle Open Office Impress : copying;to Gallery -Oracle Open Office Impress : copyright for Oracle Open Office -Oracle Open Office Impress : corner points -Oracle Open Office Impress : corner roundings -Oracle Open Office Impress : covered objects -Oracle Open Office Impress : crash reports -Oracle Open Office Impress : criteria of query design (Base) -Oracle Open Office Impress : cropping pictures -Oracle Open Office Impress : cross-fading -Oracle Open Office Impress : cross-fading;creating cross-fades -Oracle Open Office Impress : cross-fading;slides -Oracle Open Office Impress : cross-fading;two draw objects -Oracle Open Office Impress : CTL -Oracle Open Office Impress : CTL;(not) wrapping words -Oracle Open Office Impress : CTL;complex text layout languages -Oracle Open Office Impress : CTL;definition -Oracle Open Office Impress : CTL;options -Oracle Open Office Impress : cubes -Oracle Open Office Impress : currencies -Oracle Open Office Impress : currencies;converters -Oracle Open Office Impress : currencies;format codes -Oracle Open Office Impress : currency field creation -Oracle Open Office Impress : currency formats -Oracle Open Office Impress : cursor -Oracle Open Office Impress : cursor;allowing in protected areas (Writer) -Oracle Open Office Impress : cursor;in read-only text -Oracle Open Office Impress : cursor;quickly moving to an object -Oracle Open Office Impress : curves -Oracle Open Office Impress : curves;converting text to -Oracle Open Office Impress : curves;drawing -Oracle Open Office Impress : curves;editing -Oracle Open Office Impress : curves;editing points -Oracle Open Office Impress : curves;properties in line charts/XY charts -Oracle Open Office Impress : curves;toolbar -Oracle Open Office Impress : custom animation -Oracle Open Office Impress : custom colors -Oracle Open Office Impress : custom dictionaries -Oracle Open Office Impress : custom dictionaries;editing -Oracle Open Office Impress : custom gradients -Oracle Open Office Impress : custom hyphens (Writer) -Oracle Open Office Impress : custom quotes -Oracle Open Office Impress : custom slide shows -Oracle Open Office Impress : custom templates -Oracle Open Office Impress : customizing -Oracle Open Office Impress : customizing;events -Oracle Open Office Impress : customizing;keyboard -Oracle Open Office Impress : customizing;menus -Oracle Open Office Impress : customizing;Oracle Open Office -Oracle Open Office Impress : customizing;round corners -Oracle Open Office Impress : customizing;toolbars -Oracle Open Office Impress : cutting -Oracle Open Office Impress : cylinders -Oracle Open Office Impress : dashes -Oracle Open Office Impress : data -Oracle Open Office Impress : data;filtering in forms -Oracle Open Office Impress : data;forms and subforms -Oracle Open Office Impress : data;read-only -Oracle Open Office Impress : data;sorting in forms -Oracle Open Office Impress : data;user data -Oracle Open Office Impress : data binding change in XForms -Oracle Open Office Impress : data labels in charts -Oracle Open Office Impress : Data Navigator -Oracle Open Office Impress : Data Navigator;adding/editing items -Oracle Open Office Impress : Data Navigator;display options -Oracle Open Office Impress : data ranges in charts -Oracle Open Office Impress : data series -Oracle Open Office Impress : data source browser -Oracle Open Office Impress : data source explorer -Oracle Open Office Impress : data source view -Oracle Open Office Impress : data source view;drag and drop -Oracle Open Office Impress : data source view;overview -Oracle Open Office Impress : data source view;showing -Oracle Open Office Impress : data sources -Oracle Open Office Impress : data sources;as tables -Oracle Open Office Impress : data sources;connection settings (Base) -Oracle Open Office Impress : data sources;copying records to spreadsheets -Oracle Open Office Impress : data sources;displaying current -Oracle Open Office Impress : data sources;LDAP server (Base) -Oracle Open Office Impress : data sources;Oracle Open Office Base -Oracle Open Office Impress : data sources;registering address books -Oracle Open Office Impress : data sources;reports -Oracle Open Office Impress : data sources;setting for stock charts -Oracle Open Office Impress : data sources;viewing -Oracle Open Office Impress : data structure of XForms -Oracle Open Office Impress : data values in charts -Oracle Open Office Impress : data, see also values -Oracle Open Office Impress : database contents -Oracle Open Office Impress : database contents;inserting as tables -Oracle Open Office Impress : database contents;inserting as text -Oracle Open Office Impress : database reports -Oracle Open Office Impress : Database Wizard (Base) -Oracle Open Office Impress : databases -Oracle Open Office Impress : databases;administration through SQL (Base) -Oracle Open Office Impress : databases;ADO (Base) -Oracle Open Office Impress : databases;connecting (Base) -Oracle Open Office Impress : databases;creating -Oracle Open Office Impress : databases;creating labels -Oracle Open Office Impress : databases;creating queries -Oracle Open Office Impress : databases;creating reports -Oracle Open Office Impress : databases;creating tables -Oracle Open Office Impress : databases;deleting (Base) -Oracle Open Office Impress : databases;drag and drop (Base) -Oracle Open Office Impress : databases;editing tables -Oracle Open Office Impress : databases;form filters -Oracle Open Office Impress : databases;formats (Base) -Oracle Open Office Impress : databases;importing/exporting -Oracle Open Office Impress : databases;JDBC (Base) -Oracle Open Office Impress : databases;main page (Base) -Oracle Open Office Impress : databases;ODBC (Base) -Oracle Open Office Impress : databases;overview -Oracle Open Office Impress : databases;registering (Base) -Oracle Open Office Impress : databases;searching records -Oracle Open Office Impress : databases;shortcut keys -Oracle Open Office Impress : databases;sorting -Oracle Open Office Impress : databases;standard filters -Oracle Open Office Impress : databases;text formats -Oracle Open Office Impress : databases;viewing -Oracle Open Office Impress : date fields -Oracle Open Office Impress : date fields;creating -Oracle Open Office Impress : date fields;properties -Oracle Open Office Impress : date formats -Oracle Open Office Impress : date on all slides -Oracle Open Office Impress : dates -Oracle Open Office Impress : dates;default (Calc) -Oracle Open Office Impress : dates;fixed -Oracle Open Office Impress : dates;printing in presentations -Oracle Open Office Impress : dates;start 1900/01/01 (Calc) -Oracle Open Office Impress : dates;start 1904/01/01 (Calc) -Oracle Open Office Impress : dates;variable -Oracle Open Office Impress : dBASE -Oracle Open Office Impress : dBASE;database settings (Base) -Oracle Open Office Impress : DDE -Oracle Open Office Impress : DDE;definition -Oracle Open Office Impress : deactivating -Oracle Open Office Impress : deactivating;plug-ins -Oracle Open Office Impress : decimal places displayed (Calc) -Oracle Open Office Impress : decimal separator key -Oracle Open Office Impress : decimal tab stops -Oracle Open Office Impress : decreasing sizes of views -Oracle Open Office Impress : default directories -Oracle Open Office Impress : default filters -Oracle Open Office Impress : default filters;comparison operators -Oracle Open Office Impress : default filters;databases -Oracle Open Office Impress : default printer -Oracle Open Office Impress : default printer;setting up -Oracle Open Office Impress : default printer;UNIX -Oracle Open Office Impress : default templates -Oracle Open Office Impress : default templates;changing -Oracle Open Office Impress : default templates;organizing -Oracle Open Office Impress : defaults -Oracle Open Office Impress : defaults;documents -Oracle Open Office Impress : defaults;file formats in file dialogs -Oracle Open Office Impress : defaults;file formats in Oracle Open Office -Oracle Open Office Impress : defaults;fonts -Oracle Open Office Impress : defaults;grids (Writer/Calc) -Oracle Open Office Impress : defaults;languages -Oracle Open Office Impress : defaults;number formats -Oracle Open Office Impress : defaults;of saving -Oracle Open Office Impress : defaults;program configuration -Oracle Open Office Impress : defaults;tab stops in text -Oracle Open Office Impress : defaults;views -Oracle Open Office Impress : defining -Oracle Open Office Impress : defining;arrowheads and other line ends -Oracle Open Office Impress : defining;colors -Oracle Open Office Impress : defining;gradients -Oracle Open Office Impress : defining;line styles -Oracle Open Office Impress : defining;paragraph borders -Oracle Open Office Impress : defining;queries (Base) -Oracle Open Office Impress : defining;table borders -Oracle Open Office Impress : deleting -Oracle Open Office Impress : deleting;all direct formatting -Oracle Open Office Impress : deleting;animation effects -Oracle Open Office Impress : deleting;comments -Oracle Open Office Impress : deleting;databases (Base) -Oracle Open Office Impress : deleting;hyperlinks -Oracle Open Office Impress : deleting;layers -Oracle Open Office Impress : deleting;lines in text -Oracle Open Office Impress : deleting;models/instances -Oracle Open Office Impress : deleting;namespaces in XForms -Oracle Open Office Impress : deleting;points -Oracle Open Office Impress : deleting;slide transition effects -Oracle Open Office Impress : deleting;slides -Oracle Open Office Impress : deleting;tab stops -Oracle Open Office Impress : deleting;templates -Oracle Open Office Impress : deleting;XML filters -Oracle Open Office Impress : depth stagger -Oracle Open Office Impress : descriptions for objects -Oracle Open Office Impress : design mode after saving -Oracle Open Office Impress : design view -Oracle Open Office Impress : design view;creating forms -Oracle Open Office Impress : design view;queries/views (Base) -Oracle Open Office Impress : designing -Oracle Open Office Impress : designing;database tables -Oracle Open Office Impress : designing;fonts -Oracle Open Office Impress : designing;queries (Base) -Oracle Open Office Impress : detaching toolbars -Oracle Open Office Impress : dictionaries -Oracle Open Office Impress : dictionaries;common terms in simplified and traditional chinese -Oracle Open Office Impress : dictionaries;creating -Oracle Open Office Impress : dictionaries;editing user-defined -Oracle Open Office Impress : dictionaries;spellcheck -Oracle Open Office Impress : dictionaries, see also languages -Oracle Open Office Impress : digital signatures -Oracle Open Office Impress : digital signatures;getting/managing/applying -Oracle Open Office Impress : digital signatures;overview -Oracle Open Office Impress : digital signatures;WebDAV over HTTPS -Oracle Open Office Impress : dimension lines -Oracle Open Office Impress : dimension lines;drawing -Oracle Open Office Impress : dimension lines;properties of -Oracle Open Office Impress : direct formatting -Oracle Open Office Impress : direct formatting;undoing all -Oracle Open Office Impress : directories -Oracle Open Office Impress : directories;creating new -Oracle Open Office Impress : directories;directory structure -Oracle Open Office Impress : disabled persons -Oracle Open Office Impress : display qualities of presentations -Oracle Open Office Impress : displaying -Oracle Open Office Impress : displaying;comments (Calc) -Oracle Open Office Impress : displaying;comments in text documents -Oracle Open Office Impress : displaying;non-printing characters (Writer) -Oracle Open Office Impress : displaying;pictures and objects (Writer) -Oracle Open Office Impress : displaying;tables (Writer) -Oracle Open Office Impress : displaying;zero values (Calc) -Oracle Open Office Impress : distances -Oracle Open Office Impress : distinct values in SQL queries -Oracle Open Office Impress : distorting in drawings -Oracle Open Office Impress : distorting objects -Oracle Open Office Impress : distributing draw objects -Oracle Open Office Impress : distributing XML filters -Oracle Open Office Impress : docking -Oracle Open Office Impress : docking;definition -Oracle Open Office Impress : docking;toolbars -Oracle Open Office Impress : docking;windows -Oracle Open Office Impress : Document Converter Wizard -Oracle Open Office Impress : Document Map, see Navigator -Oracle Open Office Impress : document types in Oracle Open Office -Oracle Open Office Impress : documents -Oracle Open Office Impress : documents;changing titles -Oracle Open Office Impress : documents;closing -Oracle Open Office Impress : documents;comparing -Oracle Open Office Impress : documents;contents as lists -Oracle Open Office Impress : documents;editing time -Oracle Open Office Impress : documents;exporting -Oracle Open Office Impress : documents;importing -Oracle Open Office Impress : documents;languages -Oracle Open Office Impress : documents;measurement units in -Oracle Open Office Impress : documents;merging -Oracle Open Office Impress : documents;number of pages/tables/sheets -Oracle Open Office Impress : documents;opening -Oracle Open Office Impress : documents;opening in design mode -Oracle Open Office Impress : documents;opening with templates -Oracle Open Office Impress : documents;organizing -Oracle Open Office Impress : documents;printing -Oracle Open Office Impress : documents;read-only -Oracle Open Office Impress : documents;reloading -Oracle Open Office Impress : documents;saving -Oracle Open Office Impress : documents;saving automatically -Oracle Open Office Impress : documents;saving in other formats -Oracle Open Office Impress : documents;sending as e-mail -Oracle Open Office Impress : documents;styles changed -Oracle Open Office Impress : documents;version management -Oracle Open Office Impress : documents;version numbers -Oracle Open Office Impress : donut charts -Oracle Open Office Impress : dotted areas -Oracle Open Office Impress : double-line spacing in paragraphs -Oracle Open Office Impress : double-line writing in Asian layout -Oracle Open Office Impress : doubling draw objects -Oracle Open Office Impress : drag and drop -Oracle Open Office Impress : drag and drop;copying and pasting text -Oracle Open Office Impress : drag and drop;data source view -Oracle Open Office Impress : drag and drop;from Gallery to draw objects -Oracle Open Office Impress : drag and drop;overview -Oracle Open Office Impress : drag and drop;pictures -Oracle Open Office Impress : drag and drop;to Gallery -Oracle Open Office Impress : Draw instructions -Oracle Open Office Impress : draw objects -Oracle Open Office Impress : draw objects;adding/editing/copying -Oracle Open Office Impress : draw objects;anchoring -Oracle Open Office Impress : draw objects;arranging within stacks -Oracle Open Office Impress : draw objects;combining -Oracle Open Office Impress : draw objects;connecting lines to -Oracle Open Office Impress : draw objects;converting text to -Oracle Open Office Impress : draw objects;copying between documents -Oracle Open Office Impress : draw objects;cross-fading two objects -Oracle Open Office Impress : draw objects;displaying (Calc) -Oracle Open Office Impress : draw objects;dropping Gallery pictures -Oracle Open Office Impress : draw objects;duplicating -Oracle Open Office Impress : draw objects;flipping -Oracle Open Office Impress : draw objects;grouping -Oracle Open Office Impress : draw objects;legends -Oracle Open Office Impress : draw objects;positioning and resizing -Oracle Open Office Impress : draw objects;protecting -Oracle Open Office Impress : draw objects;rotating -Oracle Open Office Impress : draw objects;slanting -Oracle Open Office Impress : draw objects;text entry mode -Oracle Open Office Impress : draw objects;text in -Oracle Open Office Impress : drawing -Oracle Open Office Impress : drawing;3D objects -Oracle Open Office Impress : drawing;freeform lines -Oracle Open Office Impress : drawing;lines -Oracle Open Office Impress : drawing;sectors and segments -Oracle Open Office Impress : Drawing bar -Oracle Open Office Impress : drawing lines in text -Oracle Open Office Impress : drawings -Oracle Open Office Impress : drawings;creating/opening -Oracle Open Office Impress : drawings;languages -Oracle Open Office Impress : drawings;printing -Oracle Open Office Impress : drawings;printing defaults -Oracle Open Office Impress : drawings;printing in text documents -Oracle Open Office Impress : drawings;saving -Oracle Open Office Impress : drawings;saving automatically -Oracle Open Office Impress : drawings;saving in other formats -Oracle Open Office Impress : drawings;sending as e-mail -Oracle Open Office Impress : drawings;shortcut keys -Oracle Open Office Impress : drawings;showing (Writer) -Oracle Open Office Impress : drawings;zoom function in -Oracle Open Office Impress : drawings, see also draw objects -Oracle Open Office Impress : drop-down lists in form functions -Oracle Open Office Impress : duplicating draw objects -Oracle Open Office Impress : e-mail attachments -Oracle Open Office Impress : Edit File icon -Oracle Open Office Impress : edit mode -Oracle Open Office Impress : edit mode;after opening -Oracle Open Office Impress : edit mode;through Enter key (Calc) -Oracle Open Office Impress : Edit Points bar -Oracle Open Office Impress : editing -Oracle Open Office Impress : editing;chart axes -Oracle Open Office Impress : editing;chart data -Oracle Open Office Impress : editing;chart legends -Oracle Open Office Impress : editing;chart titles -Oracle Open Office Impress : editing;comments -Oracle Open Office Impress : editing;curves -Oracle Open Office Impress : editing;data binding of XForms -Oracle Open Office Impress : editing;database tables and queries -Oracle Open Office Impress : editing;draw objects -Oracle Open Office Impress : editing;fields -Oracle Open Office Impress : editing;Fontwork objects -Oracle Open Office Impress : editing;gradients -Oracle Open Office Impress : editing;guides and snap points -Oracle Open Office Impress : editing;hyperlinks -Oracle Open Office Impress : editing;menus -Oracle Open Office Impress : editing;objects -Oracle Open Office Impress : editing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Impress : editing;pictures -Oracle Open Office Impress : editing;reports -Oracle Open Office Impress : editing;shortcut keys -Oracle Open Office Impress : editing;slide titles -Oracle Open Office Impress : editing;tab stops -Oracle Open Office Impress : editing;templates -Oracle Open Office Impress : editing;titles -Oracle Open Office Impress : editing;toolbars -Oracle Open Office Impress : editing;undoing -Oracle Open Office Impress : editing;XForms -Oracle Open Office Impress : editing time of documents -Oracle Open Office Impress : editors -Oracle Open Office Impress : editors;formula editor -Oracle Open Office Impress : editors;ImageMap editor -Oracle Open Office Impress : effects -Oracle Open Office Impress : effects;animated slide transitions -Oracle Open Office Impress : effects;applying to/removing from objects -Oracle Open Office Impress : effects;font positions -Oracle Open Office Impress : effects;fonts -Oracle Open Office Impress : effects;Fontwork icons -Oracle Open Office Impress : effects;preview -Oracle Open Office Impress : effects;sounds -Oracle Open Office Impress : ellipses -Oracle Open Office Impress : ellipses;segments -Oracle Open Office Impress : ellipses;toolbars -Oracle Open Office Impress : empty documents -Oracle Open Office Impress : empty paragraph removal -Oracle Open Office Impress : encryption of contents -Oracle Open Office Impress : entering groups -Oracle Open Office Impress : entering text from right to left -Oracle Open Office Impress : equal sign, see also operators -Oracle Open Office Impress : equations in formula editor -Oracle Open Office Impress : error bars in charts -Oracle Open Office Impress : error indicators in charts -Oracle Open Office Impress : Error Report Tool -Oracle Open Office Impress : Euro -Oracle Open Office Impress : Euro;currency formats -Oracle Open Office Impress : Euro;Euro Converter Wizard -Oracle Open Office Impress : even/odd pages -Oracle Open Office Impress : even/odd pages;printing -Oracle Open Office Impress : events -Oracle Open Office Impress : events;assigning scripts -Oracle Open Office Impress : events;controls -Oracle Open Office Impress : events;customizing -Oracle Open Office Impress : events;in forms -Oracle Open Office Impress : Excel -Oracle Open Office Impress : Excel;saving as -Oracle Open Office Impress : Excel;search criteria -Oracle Open Office Impress : exceptions -Oracle Open Office Impress : exceptions;user-defined dictionaries -Oracle Open Office Impress : exchanging, see also replacing -Oracle Open Office Impress : executing SQL commands -Oracle Open Office Impress : exiting -Oracle Open Office Impress : exiting;by clicking objects -Oracle Open Office Impress : exiting;groups -Oracle Open Office Impress : exiting;Oracle Open Office -Oracle Open Office Impress : expanding -Oracle Open Office Impress : expanding;slides -Oracle Open Office Impress : expanding formatting (Calc) -Oracle Open Office Impress : explorer of data sources -Oracle Open Office Impress : export filters -Oracle Open Office Impress : exporting -Oracle Open Office Impress : exporting;animations to GIF format -Oracle Open Office Impress : exporting;bitmaps -Oracle Open Office Impress : exporting;HTML and text documents -Oracle Open Office Impress : exporting;Microsoft Office documents with VBA code -Oracle Open Office Impress : exporting;presentations to HTML -Oracle Open Office Impress : exporting;spreadsheets to text format -Oracle Open Office Impress : exporting;templates -Oracle Open Office Impress : exporting;to foreign formats -Oracle Open Office Impress : exporting;to HTML -Oracle Open Office Impress : exporting;to Macromedia Flash format -Oracle Open Office Impress : exporting;to Microsoft Office formats -Oracle Open Office Impress : exporting;to PDF -Oracle Open Office Impress : exporting;to PostScript format -Oracle Open Office Impress : exporting;to XML -Oracle Open Office Impress : exporting;XML files -Oracle Open Office Impress : extended tips in Help -Oracle Open Office Impress : extension mode in text -Oracle Open Office Impress : extensions -Oracle Open Office Impress : extensions;Extension Manager -Oracle Open Office Impress : extensions;file formats -Oracle Open Office Impress : external keys (Base) -Oracle Open Office Impress : extrusion objects -Oracle Open Office Impress : eyedropper tool -Oracle Open Office Impress : faster printing -Oracle Open Office Impress : faxes -Oracle Open Office Impress : faxes;configuring Oracle Open Office -Oracle Open Office Impress : faxes;fax programs/fax printers under UNIX -Oracle Open Office Impress : faxes;selecting a fax machine -Oracle Open Office Impress : faxes;sending -Oracle Open Office Impress : faxes;wizards -Oracle Open Office Impress : feedback -Oracle Open Office Impress : feedback;automatically -Oracle Open Office Impress : fields -Oracle Open Office Impress : fields;authors -Oracle Open Office Impress : fields;database tables -Oracle Open Office Impress : fields;dates (fixed) -Oracle Open Office Impress : fields;dates (variable) -Oracle Open Office Impress : fields;displaying field codes (Writer) -Oracle Open Office Impress : fields;editing -Oracle Open Office Impress : fields;file names -Oracle Open Office Impress : fields;formatted fields -Oracle Open Office Impress : fields;formatting -Oracle Open Office Impress : fields;in slides -Oracle Open Office Impress : fields;page numbers -Oracle Open Office Impress : fields;times (fixed) -Oracle Open Office Impress : fields;times (variable) -Oracle Open Office Impress : fields;updating automatically (Writer) -Oracle Open Office Impress : file associations for Microsoft Office -Oracle Open Office Impress : file filters -Oracle Open Office Impress : file filters;mobile devices -Oracle Open Office Impress : file filters;XML -Oracle Open Office Impress : file formats -Oracle Open Office Impress : file formats;changing Oracle Open Office defaults -Oracle Open Office Impress : file formats;OpenDocument/XML -Oracle Open Office Impress : file formats;saving always in other formats -Oracle Open Office Impress : file selection button -Oracle Open Office Impress : file sharing options for current document -Oracle Open Office Impress : files -Oracle Open Office Impress : files;filters and formats -Oracle Open Office Impress : files;importing -Oracle Open Office Impress : files;inserting -Oracle Open Office Impress : files;inserting pictures -Oracle Open Office Impress : files;opening -Oracle Open Office Impress : files;opening with placeholders -Oracle Open Office Impress : files;properties -Oracle Open Office Impress : files;saving -Oracle Open Office Impress : files;saving automatically -Oracle Open Office Impress : files;saving in other formats -Oracle Open Office Impress : files;sending as e-mail -Oracle Open Office Impress : files;version numbers -Oracle Open Office Impress : files and folders in Oracle Open Office -Oracle Open Office Impress : fill characters with tabulators -Oracle Open Office Impress : fill colors for areas -Oracle Open Office Impress : fill format mode -Oracle Open Office Impress : fill format mode;styles -Oracle Open Office Impress : fill patterns for areas -Oracle Open Office Impress : filter conditions -Oracle Open Office Impress : filter conditions;connecting -Oracle Open Office Impress : filter conditions;in queries (Base) -Oracle Open Office Impress : filtering -Oracle Open Office Impress : filtering;data in databases -Oracle Open Office Impress : filtering;data in forms -Oracle Open Office Impress : filters -Oracle Open Office Impress : filters;comparison operators -Oracle Open Office Impress : filters;for import and export -Oracle Open Office Impress : filters;Navigator -Oracle Open Office Impress : filters;pictures -Oracle Open Office Impress : filters;XML filter settings -Oracle Open Office Impress : Find tab in Help -Oracle Open Office Impress : finding -Oracle Open Office Impress : finding;in all sheets -Oracle Open Office Impress : finding;records in form documents -Oracle Open Office Impress : finding;selections -Oracle Open Office Impress : finding;similarity search -Oracle Open Office Impress : fitting to pages -Oracle Open Office Impress : fitting to pages;individual slides -Oracle Open Office Impress : fitting to pages;print settings in Math -Oracle Open Office Impress : fitting to pages;print settings in presentations -Oracle Open Office Impress : fixed text -Oracle Open Office Impress : fixed text;form functions -Oracle Open Office Impress : fixing toolbars -Oracle Open Office Impress : flipping around a flip line -Oracle Open Office Impress : flipping draw objects -Oracle Open Office Impress : floating frames in HTML documents -Oracle Open Office Impress : floating text -Oracle Open Office Impress : floating toolbars -Oracle Open Office Impress : flowcharts -Oracle Open Office Impress : focus of controls -Oracle Open Office Impress : folder creation -Oracle Open Office Impress : font lists -Oracle Open Office Impress : font name box -Oracle Open Office Impress : font sizes -Oracle Open Office Impress : font sizes;bullets -Oracle Open Office Impress : font sizes;relative changes -Oracle Open Office Impress : font sizes;scaling on screen -Oracle Open Office Impress : font sizes;text -Oracle Open Office Impress : fonts -Oracle Open Office Impress : fonts;adding under UNIX -Oracle Open Office Impress : fonts;changing in templates -Oracle Open Office Impress : fonts;colors -Oracle Open Office Impress : fonts;default settings -Oracle Open Office Impress : fonts;effects -Oracle Open Office Impress : fonts;for HTML and Basic -Oracle Open Office Impress : fonts;formats -Oracle Open Office Impress : fonts;outlines -Oracle Open Office Impress : fonts;positions in text -Oracle Open Office Impress : fonts;shadows -Oracle Open Office Impress : fonts;specifying several -Oracle Open Office Impress : fonts;strikethrough -Oracle Open Office Impress : fonts;styles -Oracle Open Office Impress : fonts;text objects -Oracle Open Office Impress : Fontwork icons -Oracle Open Office Impress : footers -Oracle Open Office Impress : footers;backgrounds -Oracle Open Office Impress : footers;slide masters -Oracle Open Office Impress : footers;slides -Oracle Open Office Impress : form controls -Oracle Open Office Impress : form controls;assigning macros -Oracle Open Office Impress : form controls;protecting -Oracle Open Office Impress : form controls;toolbars -Oracle Open Office Impress : form fields -Oracle Open Office Impress : form filters -Oracle Open Office Impress : Form Navigator -Oracle Open Office Impress : format codes -Oracle Open Office Impress : format codes;numbers -Oracle Open Office Impress : format filling printing in Oracle Open Office Math -Oracle Open Office Impress : Format Paintbrush -Oracle Open Office Impress : formats -Oracle Open Office Impress : formats;Asian layout -Oracle Open Office Impress : formats;fonts -Oracle Open Office Impress : formats;maximizing page formats -Oracle Open Office Impress : formats;number and currency formats -Oracle Open Office Impress : formats;of currencies/date/time -Oracle Open Office Impress : formats;on opening and saving -Oracle Open Office Impress : formats;pasting in special formats -Oracle Open Office Impress : formats;positions -Oracle Open Office Impress : formats;tabulators -Oracle Open Office Impress : formatted fields -Oracle Open Office Impress : formatted fields;form functions -Oracle Open Office Impress : formatted fields;properties -Oracle Open Office Impress : formatting -Oracle Open Office Impress : formatting;Asian typography -Oracle Open Office Impress : formatting;axes in charts -Oracle Open Office Impress : formatting;chart areas -Oracle Open Office Impress : formatting;chart floors -Oracle Open Office Impress : formatting;chart legends -Oracle Open Office Impress : formatting;chart titles -Oracle Open Office Impress : formatting;chart walls -Oracle Open Office Impress : formatting;copying -Oracle Open Office Impress : formatting;definition -Oracle Open Office Impress : formatting;expanding (Calc) -Oracle Open Office Impress : formatting;fields -Oracle Open Office Impress : formatting;font effects -Oracle Open Office Impress : formatting;hyperlinks -Oracle Open Office Impress : formatting;pages -Oracle Open Office Impress : formatting;printer metrics (Writer) -Oracle Open Office Impress : formatting;slides -Oracle Open Office Impress : formatting;slides headings -Oracle Open Office Impress : formatting;undoing -Oracle Open Office Impress : formatting;undoing when writing -Oracle Open Office Impress : forms -Oracle Open Office Impress : forms;browsing -Oracle Open Office Impress : forms;Combo Box/List Box Wizard -Oracle Open Office Impress : forms;creating -Oracle Open Office Impress : forms;data -Oracle Open Office Impress : forms;designing (Base) -Oracle Open Office Impress : forms;events -Oracle Open Office Impress : forms;filtering data -Oracle Open Office Impress : forms;finding records -Oracle Open Office Impress : forms;focus after opening -Oracle Open Office Impress : forms;general information (Base) -Oracle Open Office Impress : forms;grouping controls -Oracle Open Office Impress : forms;HTML filters -Oracle Open Office Impress : forms;inserting -Oracle Open Office Impress : forms;Navigator -Oracle Open Office Impress : forms;opening in design mode -Oracle Open Office Impress : forms;properties -Oracle Open Office Impress : forms;sorting data -Oracle Open Office Impress : forms;subforms -Oracle Open Office Impress : forms;wizards -Oracle Open Office Impress : forms;XForms -Oracle Open Office Impress : formula texts -Oracle Open Office Impress : formula texts;printing in Oracle Open Office Math -Oracle Open Office Impress : formulas -Oracle Open Office Impress : formulas;new -Oracle Open Office Impress : formulas;starting formula editor -Oracle Open Office Impress : formulas in reports -Oracle Open Office Impress : formulas in reports;editing -Oracle Open Office Impress : forums and support -Oracle Open Office Impress : frames -Oracle Open Office Impress : frames;around paragraphs -Oracle Open Office Impress : frames;around tables -Oracle Open Office Impress : frames;AutoCorrect function -Oracle Open Office Impress : frames;backgrounds -Oracle Open Office Impress : frames;captions (Writer) -Oracle Open Office Impress : frames;printing in Oracle Open Office Math -Oracle Open Office Impress : frames;protecting -Oracle Open Office Impress : frames;selection frames -Oracle Open Office Impress : frames;text fitting to frames -Oracle Open Office Impress : freeform lines -Oracle Open Office Impress : freeform lines;draw functions -Oracle Open Office Impress : freeform lines;drawing -Oracle Open Office Impress : FTP -Oracle Open Office Impress : FTP;opening documents -Oracle Open Office Impress : FTP;saving documents -Oracle Open Office Impress : full joins (Base) -Oracle Open Office Impress : full screen view -Oracle Open Office Impress : full-text search in Help -Oracle Open Office Impress : functions in reports -Oracle Open Office Impress : functions in reports;editing -Oracle Open Office Impress : Gallery -Oracle Open Office Impress : Gallery;adding pictures -Oracle Open Office Impress : Gallery;dragging pictures to draw objects -Oracle Open Office Impress : Gallery;hiding/showing -Oracle Open Office Impress : Gallery;inserting pictures from -Oracle Open Office Impress : geometric forms -Oracle Open Office Impress : get method for form transmissions -Oracle Open Office Impress : getting support -Oracle Open Office Impress : GIF format -Oracle Open Office Impress : GIF images -Oracle Open Office Impress : GIF images;animating -Oracle Open Office Impress : GIF images;replacing colors -Oracle Open Office Impress : glossaries -Oracle Open Office Impress : glossaries;common terms -Oracle Open Office Impress : glossaries;Internet terms -Oracle Open Office Impress : glue points -Oracle Open Office Impress : glue points;using -Oracle Open Office Impress : gradients -Oracle Open Office Impress : gradients;applying and defining -Oracle Open Office Impress : gradients;defining colors -Oracle Open Office Impress : gradients;loading lists -Oracle Open Office Impress : gradients;transparent -Oracle Open Office Impress : gradients off for faster printing -Oracle Open Office Impress : graphic objects, see draw objects -Oracle Open Office Impress : graphical text art -Oracle Open Office Impress : graphics -Oracle Open Office Impress : graphics;cache -Oracle Open Office Impress : graphics;protecting -Oracle Open Office Impress : graphics, see also pictures -Oracle Open Office Impress : grayscale display -Oracle Open Office Impress : grayscale printing -Oracle Open Office Impress : grid controls -Oracle Open Office Impress : grid controls;form functions -Oracle Open Office Impress : grids -Oracle Open Office Impress : grids;defaults (Writer/Calc) -Oracle Open Office Impress : grids;display options (Impress/Draw) -Oracle Open Office Impress : grids;displaying lines (Calc) -Oracle Open Office Impress : grids;formatting axes -Oracle Open Office Impress : grids;inserting in charts -Oracle Open Office Impress : group box creation -Oracle Open Office Impress : grouping -Oracle Open Office Impress : grouping;draw objects -Oracle Open Office Impress : groups -Oracle Open Office Impress : groups;entering/exiting/ungrouping -Oracle Open Office Impress : groups;naming -Oracle Open Office Impress : groups;of controls -Oracle Open Office Impress : guides -Oracle Open Office Impress : guides;display options (Impress/Draw) -Oracle Open Office Impress : guides;displaying when moving objects (Impress) -Oracle Open Office Impress : guides;editing -Oracle Open Office Impress : guides;inserting -Oracle Open Office Impress : guides;show snap lines icon -Oracle Open Office Impress : guides;showing (Calc) -Oracle Open Office Impress : guides;showing when moving frames (Writer) -Oracle Open Office Impress : gutter -Oracle Open Office Impress : half-spheres -Oracle Open Office Impress : hand icon for moving slides -Oracle Open Office Impress : handles -Oracle Open Office Impress : handles;displaying (Writer) -Oracle Open Office Impress : handles;large -Oracle Open Office Impress : handles;scaling -Oracle Open Office Impress : handles;showing simple/large handles (Calc) -Oracle Open Office Impress : handles;simple -Oracle Open Office Impress : handout printing -Oracle Open Office Impress : Hangul/Hanja -Oracle Open Office Impress : hatching -Oracle Open Office Impress : hatching -Oracle Open Office Impress : hatching;loading lists -Oracle Open Office Impress : headers -Oracle Open Office Impress : headers;backgrounds -Oracle Open Office Impress : headers and footers -Oracle Open Office Impress : headers and footers;master layouts -Oracle Open Office Impress : headers and footers;slide masters -Oracle Open Office Impress : headers and footers;slides -Oracle Open Office Impress : headings -Oracle Open Office Impress : headings;entering as text box -Oracle Open Office Impress : Hebrew -Oracle Open Office Impress : Hebrew;entering text -Oracle Open Office Impress : Hebrew;language settings -Oracle Open Office Impress : Help -Oracle Open Office Impress : Help;bookmarks -Oracle Open Office Impress : Help;extended tips on/off -Oracle Open Office Impress : Help;full-text search -Oracle Open Office Impress : Help;Help tips -Oracle Open Office Impress : Help;keywords -Oracle Open Office Impress : Help;navigation pane showing/hiding -Oracle Open Office Impress : Help;style sheets -Oracle Open Office Impress : Help;topics -Oracle Open Office Impress : Help Agent -Oracle Open Office Impress : Help Agent;help -Oracle Open Office Impress : Help Agent;options -Oracle Open Office Impress : Help tips -Oracle Open Office Impress : Help tips;hiding -Oracle Open Office Impress : hidden controls in Form Navigator -Oracle Open Office Impress : hidden fields display (Writer) -Oracle Open Office Impress : hidden pages -Oracle Open Office Impress : hidden pages;printing in presentations -Oracle Open Office Impress : hidden pages;showing -Oracle Open Office Impress : hidden text -Oracle Open Office Impress : hidden text;showing (Writer) -Oracle Open Office Impress : hiding -Oracle Open Office Impress : hiding;changes -Oracle Open Office Impress : hiding;chart legends -Oracle Open Office Impress : hiding;docked windows -Oracle Open Office Impress : hiding;layers -Oracle Open Office Impress : hiding;levels -Oracle Open Office Impress : hiding;navigation pane in Help window -Oracle Open Office Impress : hiding;slides -Oracle Open Office Impress : hiding;subpoints -Oracle Open Office Impress : high contrast mode -Oracle Open Office Impress : Hindi -Oracle Open Office Impress : Hindi;entering text -Oracle Open Office Impress : Hindi;language settings -Oracle Open Office Impress : horizontal scrollbars (Writer) -Oracle Open Office Impress : hot spots in flowcharts -Oracle Open Office Impress : hotspots -Oracle Open Office Impress : HowTos for charts -Oracle Open Office Impress : Howtos for Draw -Oracle Open Office Impress : HTML -Oracle Open Office Impress : HTML;definition -Oracle Open Office Impress : HTML;export character set -Oracle Open Office Impress : HTML;exporting from presentations -Oracle Open Office Impress : HTML;fonts for source display -Oracle Open Office Impress : HTML;importing into presentations -Oracle Open Office Impress : HTML;importing META tags -Oracle Open Office Impress : HTML;inserting files -Oracle Open Office Impress : HTML;live presentations -Oracle Open Office Impress : HTML documents -Oracle Open Office Impress : HTML documents;auto reloading -Oracle Open Office Impress : HTML documents;importing/exporting -Oracle Open Office Impress : HTML documents;META tags in -Oracle Open Office Impress : HTML documents;new -Oracle Open Office Impress : HTML documents;source text -Oracle Open Office Impress : hyperlinks -Oracle Open Office Impress : hyperlinks;assigning macros -Oracle Open Office Impress : hyperlinks;character formats -Oracle Open Office Impress : hyperlinks;definition -Oracle Open Office Impress : hyperlinks;deleting -Oracle Open Office Impress : hyperlinks;editing -Oracle Open Office Impress : hyperlinks;inserting -Oracle Open Office Impress : hyperlinks;relative and absolute -Oracle Open Office Impress : hyperlinks;turning off automatic recognition -Oracle Open Office Impress : hyperlinks, see also links -Oracle Open Office Impress : hyphenation -Oracle Open Office Impress : hyphenation;activating for a language -Oracle Open Office Impress : hyphenation;minimal number of characters -Oracle Open Office Impress : hyphens -Oracle Open Office Impress : hyphens;displaying custom (Writer) -Oracle Open Office Impress : hyphens;inserting custom -Oracle Open Office Impress : icon bars, see toolbars -Oracle Open Office Impress : icon sizes -Oracle Open Office Impress : ignore list for spellcheck -Oracle Open Office Impress : illumination -Oracle Open Office Impress : illumination;3D charts -Oracle Open Office Impress : illustrations, see pictures -Oracle Open Office Impress : image button creation -Oracle Open Office Impress : image control creation -Oracle Open Office Impress : ImageMap -Oracle Open Office Impress : ImageMap;definition -Oracle Open Office Impress : ImageMap;editor -Oracle Open Office Impress : images -Oracle Open Office Impress : images;ImageMap -Oracle Open Office Impress : images;inserting -Oracle Open Office Impress : images;inserting and editing bitmaps -Oracle Open Office Impress : images, see also pictures -Oracle Open Office Impress : IME -Oracle Open Office Impress : IME;definition -Oracle Open Office Impress : IME;showing/hiding -Oracle Open Office Impress : import filters -Oracle Open Office Impress : import restrictions for Microsoft Office -Oracle Open Office Impress : importing -Oracle Open Office Impress : importing;bitmaps -Oracle Open Office Impress : importing;compatibility settings for text import -Oracle Open Office Impress : importing;databases -Oracle Open Office Impress : importing;documents in other formats -Oracle Open Office Impress : importing;from XML -Oracle Open Office Impress : importing;HTML and text documents -Oracle Open Office Impress : importing;HTML with META tags -Oracle Open Office Impress : importing;Microsoft Office documents with VBA code -Oracle Open Office Impress : importing;presentations with HTML -Oracle Open Office Impress : importing;tables in text format -Oracle Open Office Impress : importing;templates -Oracle Open Office Impress : improvement program -Oracle Open Office Impress : in front of object command -Oracle Open Office Impress : inches -Oracle Open Office Impress : including spreadsheets -Oracle Open Office Impress : increasing sizes of views -Oracle Open Office Impress : Index tab in Help -Oracle Open Office Impress : indexes -Oracle Open Office Impress : indexes;backgrounds -Oracle Open Office Impress : indexes;showing/hiding Help index tab -Oracle Open Office Impress : indicator lines in text -Oracle Open Office Impress : inner joins (Base) -Oracle Open Office Impress : input method window -Oracle Open Office Impress : insert mode for entering text -Oracle Open Office Impress : inserting -Oracle Open Office Impress : inserting;3D objects -Oracle Open Office Impress : inserting;arrows -Oracle Open Office Impress : inserting;buttons in toolbars -Oracle Open Office Impress : inserting;callouts in presentations -Oracle Open Office Impress : inserting;cell ranges from spreadsheets -Oracle Open Office Impress : inserting;charts -Oracle Open Office Impress : inserting;clipboard options -Oracle Open Office Impress : inserting;columns -Oracle Open Office Impress : inserting;comments -Oracle Open Office Impress : inserting;data from text documents -Oracle Open Office Impress : inserting;datasource records in spreadsheets -Oracle Open Office Impress : inserting;drawings -Oracle Open Office Impress : inserting;ellipses -Oracle Open Office Impress : inserting;files -Oracle Open Office Impress : inserting;floating frames -Oracle Open Office Impress : inserting;Fontwork objects -Oracle Open Office Impress : inserting;form fields -Oracle Open Office Impress : inserting;headers/footers in all slides -Oracle Open Office Impress : inserting;hyperlinks -Oracle Open Office Impress : inserting;layers -Oracle Open Office Impress : inserting;line breaks in cells -Oracle Open Office Impress : inserting;lines -Oracle Open Office Impress : inserting;movies/sounds -Oracle Open Office Impress : inserting;new text tables defaults -Oracle Open Office Impress : inserting;objects from files -Oracle Open Office Impress : inserting;objects from Gallery -Oracle Open Office Impress : inserting;OLE objects -Oracle Open Office Impress : inserting;paragraph borders -Oracle Open Office Impress : inserting;paragraph bullets -Oracle Open Office Impress : inserting;pictures -Oracle Open Office Impress : inserting;pictures in Gallery -Oracle Open Office Impress : inserting;plug-ins -Oracle Open Office Impress : inserting;polygons -Oracle Open Office Impress : inserting;push buttons -Oracle Open Office Impress : inserting;rectangles -Oracle Open Office Impress : inserting;rows -Oracle Open Office Impress : inserting;slides -Oracle Open Office Impress : inserting;slides as links -Oracle Open Office Impress : inserting;slides from files -Oracle Open Office Impress : inserting;special characters -Oracle Open Office Impress : inserting;tab stops -Oracle Open Office Impress : inserting;text frames -Oracle Open Office Impress : inserting;text in presentations -Oracle Open Office Impress : inserting;textures on chart bars -Oracle Open Office Impress : installing -Oracle Open Office Impress : installing;ActiveX control -Oracle Open Office Impress : installing;mobile device filters -Oracle Open Office Impress : installing;UNO components -Oracle Open Office Impress : installing;XML filters -Oracle Open Office Impress : instructions -Oracle Open Office Impress : instructions;general -Oracle Open Office Impress : instructions;Oracle Open Office Draw -Oracle Open Office Impress : instructions;Oracle Open Office Impress -Oracle Open Office Impress : interactions -Oracle Open Office Impress : interactions;hot spots -Oracle Open Office Impress : interactions;objects in interactive presentations -Oracle Open Office Impress : interactions;preview -Oracle Open Office Impress : Internet -Oracle Open Office Impress : Internet;checking for updates -Oracle Open Office Impress : Internet;Internet Explorer for displaying Oracle Open Office documents -Oracle Open Office Impress : Internet;presentations -Oracle Open Office Impress : Internet;starting searches -Oracle Open Office Impress : Internet glossary -Oracle Open Office Impress : intersecting draw objects -Oracle Open Office Impress : invert filter -Oracle Open Office Impress : invisible areas -Oracle Open Office Impress : italic text -Oracle Open Office Impress : iterative references in spreadsheets -Oracle Open Office Impress : Java -Oracle Open Office Impress : Java;definition -Oracle Open Office Impress : Java;setting options -Oracle Open Office Impress : JDBC -Oracle Open Office Impress : JDBC;databases (Base) -Oracle Open Office Impress : JDBC;definition -Oracle Open Office Impress : joining -Oracle Open Office Impress : joining;3D objects -Oracle Open Office Impress : joining;paragraphs -Oracle Open Office Impress : joining;tables (Base) -Oracle Open Office Impress : joins in databases (Base) -Oracle Open Office Impress : justifying text -Oracle Open Office Impress : kerning -Oracle Open Office Impress : kerning;Asian texts -Oracle Open Office Impress : kerning;definition -Oracle Open Office Impress : kerning;in characters -Oracle Open Office Impress : key fields for relations (Base) -Oracle Open Office Impress : keyboard -Oracle Open Office Impress : keyboard;assigning/editing shortcut keys -Oracle Open Office Impress : keyboard;general commands -Oracle Open Office Impress : keyboard;removing numbering -Oracle Open Office Impress : keyboard;zooming -Oracle Open Office Impress : keys -Oracle Open Office Impress : keys;adding push buttons -Oracle Open Office Impress : keys;primary keys (Base) -Oracle Open Office Impress : kiosk export -Oracle Open Office Impress : labels -Oracle Open Office Impress : labels;creating and synchronizing -Oracle Open Office Impress : labels;for charts -Oracle Open Office Impress : labels;for draw objects -Oracle Open Office Impress : labels;form functions -Oracle Open Office Impress : labels;from databases -Oracle Open Office Impress : labels, see also names/callouts -Oracle Open Office Impress : languages -Oracle Open Office Impress : languages;activating modules -Oracle Open Office Impress : languages;Asian support -Oracle Open Office Impress : languages;complex text layout -Oracle Open Office Impress : languages;locale settings -Oracle Open Office Impress : languages;selecting for text -Oracle Open Office Impress : languages;setting options -Oracle Open Office Impress : languages;spellcheck -Oracle Open Office Impress : languages;spellchecking and formatting -Oracle Open Office Impress : large handles (Writer) -Oracle Open Office Impress : large icons -Oracle Open Office Impress : layer arrangement -Oracle Open Office Impress : layers -Oracle Open Office Impress : layers;definition -Oracle Open Office Impress : layers;deleting -Oracle Open Office Impress : layers;inserting and editing -Oracle Open Office Impress : layers;moving objects -Oracle Open Office Impress : layers;renaming -Oracle Open Office Impress : layers;working with -Oracle Open Office Impress : layout -Oracle Open Office Impress : layout;importing Word documents -Oracle Open Office Impress : layout;pages -Oracle Open Office Impress : layout;printing handouts -Oracle Open Office Impress : LDAP server -Oracle Open Office Impress : LDAP server;address books (Base) -Oracle Open Office Impress : LDAP server;sign on options -Oracle Open Office Impress : leading between paragraphs -Oracle Open Office Impress : left alignment of paragraphs -Oracle Open Office Impress : left joins (Base) -Oracle Open Office Impress : legends -Oracle Open Office Impress : legends;charts -Oracle Open Office Impress : legends;draw objects -Oracle Open Office Impress : legends;drawings -Oracle Open Office Impress : legends;rounding corners -Oracle Open Office Impress : Letter Wizard -Oracle Open Office Impress : levels -Oracle Open Office Impress : levels;depth stagger -Oracle Open Office Impress : levels;hiding -Oracle Open Office Impress : levels;macro security -Oracle Open Office Impress : levels;showing -Oracle Open Office Impress : limits of tables (Writer) -Oracle Open Office Impress : line breaks -Oracle Open Office Impress : line breaks;in cells -Oracle Open Office Impress : line charts -Oracle Open Office Impress : line spacing -Oracle Open Office Impress : line spacing;context menu in paragraphs -Oracle Open Office Impress : line spacing;paragraph -Oracle Open Office Impress : line styles -Oracle Open Office Impress : line styles;applying -Oracle Open Office Impress : line styles;defining -Oracle Open Office Impress : line styles;loading -Oracle Open Office Impress : lines -Oracle Open Office Impress : lines;about line ends -Oracle Open Office Impress : lines;connecting objects -Oracle Open Office Impress : lines;defining ends -Oracle Open Office Impress : lines;draw functions -Oracle Open Office Impress : lines;drawing -Oracle Open Office Impress : lines;drawing in text -Oracle Open Office Impress : lines;editing points -Oracle Open Office Impress : lines;inserting -Oracle Open Office Impress : lines;removing automatic lines -Oracle Open Office Impress : lines of text -Oracle Open Office Impress : lines of text;alignment -Oracle Open Office Impress : links -Oracle Open Office Impress : links;between cells and controls -Oracle Open Office Impress : links;by drag and drop -Oracle Open Office Impress : links;character formats -Oracle Open Office Impress : links;definition -Oracle Open Office Impress : links;editing hyperlinks -Oracle Open Office Impress : links;inserting -Oracle Open Office Impress : links;modifying -Oracle Open Office Impress : links;opening files with -Oracle Open Office Impress : links;relational databases (Base) -Oracle Open Office Impress : links;turning off automatic recognition -Oracle Open Office Impress : links;updating options (Writer) -Oracle Open Office Impress : links;updating specific links -Oracle Open Office Impress : list box creation -Oracle Open Office Impress : lists -Oracle Open Office Impress : lists;animations -Oracle Open Office Impress : lists;data assigned to controls -Oracle Open Office Impress : lists;registered databases (Base) -Oracle Open Office Impress : lists;regular expressions -Oracle Open Office Impress : live presentations on the Internet -Oracle Open Office Impress : loading -Oracle Open Office Impress : loading;arrow and line styles -Oracle Open Office Impress : loading;colors/gradients/hatchings -Oracle Open Office Impress : loading;documents -Oracle Open Office Impress : loading;documents from other formats -Oracle Open Office Impress : loading;HTML documents, automatically -Oracle Open Office Impress : loading;Microsoft Office documents with VBA code -Oracle Open Office Impress : loading;reloading -Oracle Open Office Impress : loading;XML files -Oracle Open Office Impress : locale settings -Oracle Open Office Impress : locking layers -Oracle Open Office Impress : logarithmic scaling along axes -Oracle Open Office Impress : lowercase letters -Oracle Open Office Impress : lowercase letters;font effects -Oracle Open Office Impress : Macro Wizard (Base) -Oracle Open Office Impress : Macromedia Flash export -Oracle Open Office Impress : macros -Oracle Open Office Impress : macros;assigning to events in forms -Oracle Open Office Impress : macros;attaching new (Base) -Oracle Open Office Impress : macros;in MS Office documents -Oracle Open Office Impress : macros;interrupting -Oracle Open Office Impress : macros;organizing -Oracle Open Office Impress : macros;recording -Oracle Open Office Impress : macros;running in presentations -Oracle Open Office Impress : macros;security -Oracle Open Office Impress : macros;security levels -Oracle Open Office Impress : macros;security warning dialog -Oracle Open Office Impress : macros;selecting security warnings -Oracle Open Office Impress : magnetic lines in presentations -Oracle Open Office Impress : magnifiers -Oracle Open Office Impress : margins -Oracle Open Office Impress : margins;pages -Oracle Open Office Impress : margins;setting with the mouse -Oracle Open Office Impress : margins;shadows -Oracle Open Office Impress : marking changes -Oracle Open Office Impress : marking, see selecting -Oracle Open Office Impress : master layouts with headers and footers -Oracle Open Office Impress : master pages, see slide masters -Oracle Open Office Impress : master views -Oracle Open Office Impress : Math formula editor -Oracle Open Office Impress : mean value lines in charts -Oracle Open Office Impress : measurement units -Oracle Open Office Impress : measurement units;changing on rulers -Oracle Open Office Impress : measurement units;converting -Oracle Open Office Impress : measurement units;selecting -Oracle Open Office Impress : Media Player window -Oracle Open Office Impress : menus -Oracle Open Office Impress : menus;activating context menus -Oracle Open Office Impress : menus;assigning macros -Oracle Open Office Impress : menus;customizing -Oracle Open Office Impress : merging -Oracle Open Office Impress : merging;documents -Oracle Open Office Impress : merging;draw objects -Oracle Open Office Impress : META tags -Oracle Open Office Impress : metafiles -Oracle Open Office Impress : metafiles;converting to -Oracle Open Office Impress : metafiles;replacing colors -Oracle Open Office Impress : metrics -Oracle Open Office Impress : metrics;converting -Oracle Open Office Impress : metrics;document formatting (Writer) -Oracle Open Office Impress : metrics;in sheets -Oracle Open Office Impress : Microsoft Office -Oracle Open Office Impress : Microsoft Office;Access databases (base) -Oracle Open Office Impress : Microsoft Office;as default file format -Oracle Open Office Impress : Microsoft Office;document import restrictions -Oracle Open Office Impress : Microsoft Office;feature comparisons -Oracle Open Office Impress : Microsoft Office;importing password protected files -Oracle Open Office Impress : Microsoft Office;importing Word documents -Oracle Open Office Impress : Microsoft Office;importing/exporting VBA code -Oracle Open Office Impress : Microsoft Office;new users information -Oracle Open Office Impress : Microsoft Office;opening Microsoft documents -Oracle Open Office Impress : Microsoft Office;reassigning document types -Oracle Open Office Impress : migrating macros (Base) -Oracle Open Office Impress : mirroring objects -Oracle Open Office Impress : mobile device filters -Oracle Open Office Impress : models in XForms -Oracle Open Office Impress : modifying, see changing -Oracle Open Office Impress : more controls -Oracle Open Office Impress : mosaic filter -Oracle Open Office Impress : motion paths -Oracle Open Office Impress : mouse -Oracle Open Office Impress : mouse;pointers when using drag and drop -Oracle Open Office Impress : mouse;positioning -Oracle Open Office Impress : movies -Oracle Open Office Impress : moving -Oracle Open Office Impress : moving;between layers -Oracle Open Office Impress : moving;objects in slides -Oracle Open Office Impress : moving;tab stops on ruler -Oracle Open Office Impress : moving;toolbars -Oracle Open Office Impress : moving;using guide lines in presentations -Oracle Open Office Impress : MS ADO interface (Base) -Oracle Open Office Impress : multi-line titles in forms -Oracle Open Office Impress : multiple documents -Oracle Open Office Impress : multiple documents;opening -Oracle Open Office Impress : multiple monitors -Oracle Open Office Impress : multiple selection -Oracle Open Office Impress : multiplying draw objects -Oracle Open Office Impress : music -Oracle Open Office Impress : My Documents folder -Oracle Open Office Impress : My Documents folder;changing work directory -Oracle Open Office Impress : My Documents folder;opening -Oracle Open Office Impress : MySQL databases (Base) -Oracle Open Office Impress : names -Oracle Open Office Impress : names;multi-line titles -Oracle Open Office Impress : names;objects -Oracle Open Office Impress : names, see also labels/callouts -Oracle Open Office Impress : namespace organization in XForms -Oracle Open Office Impress : native SQL (Base) -Oracle Open Office Impress : navigating -Oracle Open Office Impress : navigating;in documents -Oracle Open Office Impress : Navigation bar -Oracle Open Office Impress : Navigation bar;controls -Oracle Open Office Impress : Navigation bar;forms -Oracle Open Office Impress : Navigator -Oracle Open Office Impress : Navigator;comments -Oracle Open Office Impress : Navigator;contents as lists -Oracle Open Office Impress : Navigator;docking -Oracle Open Office Impress : Navigator;presentations -Oracle Open Office Impress : Navigator;working with -Oracle Open Office Impress : net charts -Oracle Open Office Impress : network identity options -Oracle Open Office Impress : new databases -Oracle Open Office Impress : new documents -Oracle Open Office Impress : new lines in cells -Oracle Open Office Impress : new windows -Oracle Open Office Impress : non-breaking dashes -Oracle Open Office Impress : non-breaking spaces (Writer) -Oracle Open Office Impress : non-printing characters (Writer) -Oracle Open Office Impress : normal view -Oracle Open Office Impress : normal view;backgrounds -Oracle Open Office Impress : normal view;presentations -Oracle Open Office Impress : notes -Oracle Open Office Impress : notes;adding to slides -Oracle Open Office Impress : notes;default formatting -Oracle Open Office Impress : notes;printing in presentations -Oracle Open Office Impress : number formats -Oracle Open Office Impress : number formats;codes -Oracle Open Office Impress : number formats;formats -Oracle Open Office Impress : number formats;recognition in text tables -Oracle Open Office Impress : number of pages -Oracle Open Office Impress : number of sheets -Oracle Open Office Impress : number of tables -Oracle Open Office Impress : numbering -Oracle Open Office Impress : numbering;options -Oracle Open Office Impress : numbering;turning off -Oracle Open Office Impress : numbering;using automatically -Oracle Open Office Impress : numbers -Oracle Open Office Impress : numbers;date, time and currency formats -Oracle Open Office Impress : numbers;decimal places (Calc) -Oracle Open Office Impress : numerical fields in forms -Oracle Open Office Impress : object bars -Oracle Open Office Impress : object bars;editing glue points -Oracle Open Office Impress : objects -Oracle Open Office Impress : objects;aligning -Oracle Open Office Impress : objects;always moveable (Impress/Draw) -Oracle Open Office Impress : objects;arranging within stacks -Oracle Open Office Impress : objects;behind object command -Oracle Open Office Impress : objects;breaking connections -Oracle Open Office Impress : objects;copying when moving in presentations -Oracle Open Office Impress : objects;definition -Oracle Open Office Impress : objects;displaying in spreadsheets -Oracle Open Office Impress : objects;displaying in text documents -Oracle Open Office Impress : objects;editing -Oracle Open Office Impress : objects;effects -Oracle Open Office Impress : objects;in front of object command -Oracle Open Office Impress : objects;inserting from files -Oracle Open Office Impress : objects;inserting from Gallery -Oracle Open Office Impress : objects;inserting OLE objects -Oracle Open Office Impress : objects;moving along paths -Oracle Open Office Impress : objects;moving and resizing with mouse -Oracle Open Office Impress : objects;moving in layers -Oracle Open Office Impress : objects;moving in slides -Oracle Open Office Impress : objects;naming -Oracle Open Office Impress : objects;opening -Oracle Open Office Impress : objects;properties of charts -Oracle Open Office Impress : objects;quickly moving to -Oracle Open Office Impress : objects;reversing -Oracle Open Office Impress : objects;selecting -Oracle Open Office Impress : objects;titles and descriptions -Oracle Open Office Impress : objects;with attributes -Oracle Open Office Impress : ODBC -Oracle Open Office Impress : ODBC;database (Base) -Oracle Open Office Impress : ODBC;definition -Oracle Open Office Impress : ODF file formats -Oracle Open Office Impress : Office -Oracle Open Office Impress : Office;Microsoft Office and Oracle Open Office -Oracle Open Office Impress : OLE -Oracle Open Office Impress : OLE;definition -Oracle Open Office Impress : OLE objects -Oracle Open Office Impress : OLE objects;arranging within stacks -Oracle Open Office Impress : OLE objects;captions (Writer) -Oracle Open Office Impress : OLE objects;inserting -Oracle Open Office Impress : OLE objects;number of -Oracle Open Office Impress : OLE objects;protecting -Oracle Open Office Impress : one and a half line spacing in text -Oracle Open Office Impress : online feedback options -Oracle Open Office Impress : online registration -Oracle Open Office Impress : online update options -Oracle Open Office Impress : online updates -Oracle Open Office Impress : online updates;checking automatically -Oracle Open Office Impress : online updates;checking manually -Oracle Open Office Impress : Open/Save dialogs -Oracle Open Office Impress : OpenDocument file formats -Oracle Open Office Impress : OpenGL -Oracle Open Office Impress : OpenGL;definition -Oracle Open Office Impress : opening -Oracle Open Office Impress : opening;context menus -Oracle Open Office Impress : opening;database files -Oracle Open Office Impress : opening;dialog settings -Oracle Open Office Impress : opening;documents -Oracle Open Office Impress : opening;documents from other formats -Oracle Open Office Impress : opening;documents on WebDAV server -Oracle Open Office Impress : opening;files with links -Oracle Open Office Impress : opening;files, with placeholders -Oracle Open Office Impress : opening;forms -Oracle Open Office Impress : opening;Microsoft Office files -Oracle Open Office Impress : opening;mobile device documents -Oracle Open Office Impress : opening;objects -Oracle Open Office Impress : opening;reports -Oracle Open Office Impress : opening;several files -Oracle Open Office Impress : opening;XForms -Oracle Open Office Impress : operators -Oracle Open Office Impress : operators;default filters -Oracle Open Office Impress : optional hyphens (Writer) -Oracle Open Office Impress : options -Oracle Open Office Impress : options;accessibility -Oracle Open Office Impress : options;appearance -Oracle Open Office Impress : options;compatibility (Writer) -Oracle Open Office Impress : options;improvement program -Oracle Open Office Impress : options;network identity -Oracle Open Office Impress : options;online update -Oracle Open Office Impress : options;tools -Oracle Open Office Impress : Oracle databases (base) -Oracle Open Office Impress : Oracle Open Office Base data sources -Oracle Open Office Impress : Oracle Open Office Basic scripts in HTML documents -Oracle Open Office Impress : Oracle Open Office documents -Oracle Open Office Impress : Oracle Open Office documents;mobile device filters -Oracle Open Office Impress : Oracle Open Office documents;viewing and editing in Internet Explorer -Oracle Open Office Impress : Oracle Open Office Impress instructions -Oracle Open Office Impress : Oracle Open Office Math start -Oracle Open Office Impress : order of chart data -Oracle Open Office Impress : ordering -Oracle Open Office Impress : ordering;objects -Oracle Open Office Impress : ordering;slides -Oracle Open Office Impress : organization charts -Oracle Open Office Impress : organizing -Oracle Open Office Impress : organizing;macros and scripts -Oracle Open Office Impress : organizing;namespaces in XForms -Oracle Open Office Impress : organizing;styles -Oracle Open Office Impress : organizing;templates -Oracle Open Office Impress : origin of rulers -Oracle Open Office Impress : original size -Oracle Open Office Impress : original size;printing in Oracle Open Office Math -Oracle Open Office Impress : original size;restoring after cropping -Oracle Open Office Impress : outline view -Oracle Open Office Impress : outlines -Oracle Open Office Impress : outlines;font effects -Oracle Open Office Impress : outlines;outline symbols -Oracle Open Office Impress : outlines;printing -Oracle Open Office Impress : outlines;sending to presentations -Oracle Open Office Impress : overwrite mode -Oracle Open Office Impress : packages, see extensions -Oracle Open Office Impress : page breaks -Oracle Open Office Impress : page breaks;displaying (Calc) -Oracle Open Office Impress : page formats -Oracle Open Office Impress : page formats;maximizing -Oracle Open Office Impress : page formats;restriction -Oracle Open Office Impress : page number field -Oracle Open Office Impress : page numbers on all slides -Oracle Open Office Impress : page styles -Oracle Open Office Impress : page styles;editing/applying with statusbar -Oracle Open Office Impress : pages -Oracle Open Office Impress : pages;backgrounds in all applications -Oracle Open Office Impress : pages;copying -Oracle Open Office Impress : pages;fitting to printed pages -Oracle Open Office Impress : pages;formatting and numbering -Oracle Open Office Impress : pages;printing page names in presentations -Oracle Open Office Impress : pages;scaling -Oracle Open Office Impress : pages;selecting one to print -Oracle Open Office Impress : paint box -Oracle Open Office Impress : paint can symbol -Oracle Open Office Impress : pair kerning -Oracle Open Office Impress : Palm file filters -Oracle Open Office Impress : paper formats -Oracle Open Office Impress : paper size warning -Oracle Open Office Impress : paper trays -Oracle Open Office Impress : paragraph marks -Oracle Open Office Impress : paragraph marks;displaying (Writer) -Oracle Open Office Impress : paragraph styles -Oracle Open Office Impress : paragraph styles;languages -Oracle Open Office Impress : paragraph styles;modifying basic fonts -Oracle Open Office Impress : paragraphs -Oracle Open Office Impress : paragraphs;alignment -Oracle Open Office Impress : paragraphs;Asian typography -Oracle Open Office Impress : paragraphs;defining borders -Oracle Open Office Impress : paragraphs;hidden paragraphs (Writer) -Oracle Open Office Impress : paragraphs;increasing indents of -Oracle Open Office Impress : paragraphs;indents, margins and columns -Oracle Open Office Impress : paragraphs;inserting bullets -Oracle Open Office Impress : paragraphs;joining -Oracle Open Office Impress : paragraphs;numbering automatically -Oracle Open Office Impress : paragraphs;removing blank ones -Oracle Open Office Impress : paragraphs;spacing -Oracle Open Office Impress : paragraphs;tab stops -Oracle Open Office Impress : parameters -Oracle Open Office Impress : parameters;command line -Oracle Open Office Impress : parameters;queries (Base) -Oracle Open Office Impress : passwords for protecting contents -Oracle Open Office Impress : pasting -Oracle Open Office Impress : pasting;cell ranges -Oracle Open Office Impress : pasting;cell ranges from spreadsheets -Oracle Open Office Impress : pasting;data from text documents -Oracle Open Office Impress : pasting;draw objects -Oracle Open Office Impress : pasting;draw objects from other documents -Oracle Open Office Impress : pasting;formatted/unformatted text -Oracle Open Office Impress : pasting;from data source view -Oracle Open Office Impress : pasting;from data sources to Oracle Open Office Calc -Oracle Open Office Impress : pasting;pictures from other documents -Oracle Open Office Impress : pasting;sheet areas in text documents -Oracle Open Office Impress : pasting;slides from other presentations -Oracle Open Office Impress : pasting;text from other documents -Oracle Open Office Impress : pasting;to Gallery -Oracle Open Office Impress : paths -Oracle Open Office Impress : paths;changing work directory -Oracle Open Office Impress : paths;defaults -Oracle Open Office Impress : paths;moving objects along -Oracle Open Office Impress : pattern editor -Oracle Open Office Impress : pattern fields -Oracle Open Office Impress : pattern fields;form functions -Oracle Open Office Impress : patterns for objects -Oracle Open Office Impress : PDF -Oracle Open Office Impress : PDF;export -Oracle Open Office Impress : PDF;PostScript to PDF converter, UNIX -Oracle Open Office Impress : personal data input -Oracle Open Office Impress : phonetic guide -Oracle Open Office Impress : picklist creation -Oracle Open Office Impress : pictures -Oracle Open Office Impress : pictures;adding to Gallery -Oracle Open Office Impress : pictures;arranging within stacks -Oracle Open Office Impress : pictures;assigning macros -Oracle Open Office Impress : pictures;backgrounds -Oracle Open Office Impress : pictures;captions (Writer) -Oracle Open Office Impress : pictures;changing paths -Oracle Open Office Impress : pictures;cropping and zooming -Oracle Open Office Impress : pictures;displaying in Calc -Oracle Open Office Impress : pictures;displaying in Writer (Writer) -Oracle Open Office Impress : pictures;drag and drop between documents -Oracle Open Office Impress : pictures;drawing -Oracle Open Office Impress : pictures;editing -Oracle Open Office Impress : pictures;filters -Oracle Open Office Impress : pictures;ImageMap -Oracle Open Office Impress : pictures;inserting -Oracle Open Office Impress : pictures;inserting automatically -Oracle Open Office Impress : pictures;inserting from Gallery -Oracle Open Office Impress : pictures;number of -Oracle Open Office Impress : pictures;printing -Oracle Open Office Impress : pictures;scaling/resizing -Oracle Open Office Impress : pie charts -Oracle Open Office Impress : pie charts;options -Oracle Open Office Impress : pie charts;types -Oracle Open Office Impress : pivot points of draw objects -Oracle Open Office Impress : pixel editor -Oracle Open Office Impress : pixel graphics -Oracle Open Office Impress : pixel graphics;inserting and editing -Oracle Open Office Impress : pixel patterns -Oracle Open Office Impress : placeholders -Oracle Open Office Impress : placeholders;in SQL queries -Oracle Open Office Impress : placeholders;on opening files -Oracle Open Office Impress : placing toolbars -Oracle Open Office Impress : playing movies and sound files -Oracle Open Office Impress : plotting data as charts -Oracle Open Office Impress : plug-ins -Oracle Open Office Impress : plug-ins;activating and deactivating -Oracle Open Office Impress : plug-ins;definition -Oracle Open Office Impress : plug-ins;inserting -Oracle Open Office Impress : pocket device appliances -Oracle Open Office Impress : Pocket PC file filters -Oracle Open Office Impress : points -Oracle Open Office Impress : points;adding/converting/deleting -Oracle Open Office Impress : points;reducing editing points when snapping (Impress/Draw) -Oracle Open Office Impress : polygon drawing -Oracle Open Office Impress : polygons -Oracle Open Office Impress : polygons;inserting -Oracle Open Office Impress : polygons;intersecting/subtracting/merging -Oracle Open Office Impress : pop-art filter -Oracle Open Office Impress : portable document format -Oracle Open Office Impress : positioning -Oracle Open Office Impress : positioning;axes -Oracle Open Office Impress : positioning;draw objects and controls -Oracle Open Office Impress : positioning;fonts -Oracle Open Office Impress : positioning;objects -Oracle Open Office Impress : positioning;toolbars -Oracle Open Office Impress : post method for form transmissions -Oracle Open Office Impress : posterizing filter -Oracle Open Office Impress : PostScript -Oracle Open Office Impress : PostScript;creating files -Oracle Open Office Impress : PostScript;PDF converter, UNIX -Oracle Open Office Impress : PowerPoint export -Oracle Open Office Impress : precision as shown (Calc) -Oracle Open Office Impress : predefining fonts -Oracle Open Office Impress : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion -Oracle Open Office Impress : presentations -Oracle Open Office Impress : presentations;arranging slides -Oracle Open Office Impress : presentations;creating/opening -Oracle Open Office Impress : presentations;exiting by interaction -Oracle Open Office Impress : presentations;exporting to HTML -Oracle Open Office Impress : presentations;importing HTML -Oracle Open Office Impress : presentations;inserting spreadsheet cells -Oracle Open Office Impress : presentations;inserting spreadsheets -Oracle Open Office Impress : presentations;live on the Internet -Oracle Open Office Impress : presentations;navigating -Oracle Open Office Impress : presentations;numbering slides in -Oracle Open Office Impress : presentations;ordering of effects -Oracle Open Office Impress : presentations;print menu -Oracle Open Office Impress : presentations;printing -Oracle Open Office Impress : presentations;rehearse timings -Oracle Open Office Impress : presentations;saving -Oracle Open Office Impress : presentations;saving automatically -Oracle Open Office Impress : presentations;saving in other formats -Oracle Open Office Impress : presentations;sending as e-mail -Oracle Open Office Impress : presentations;settings for -Oracle Open Office Impress : presentations;shortcut keys -Oracle Open Office Impress : presentations;starting -Oracle Open Office Impress : presentations;starting with wizard -Oracle Open Office Impress : presentations;window / full screen -Oracle Open Office Impress : presentations;wizards -Oracle Open Office Impress : Presenter Console shortcuts -Oracle Open Office Impress : press buttons, see push buttons -Oracle Open Office Impress : previews -Oracle Open Office Impress : previews;fonts lists -Oracle Open Office Impress : primary keys -Oracle Open Office Impress : primary keys;defining -Oracle Open Office Impress : primary keys;design view -Oracle Open Office Impress : primary keys;inserting (Base) -Oracle Open Office Impress : print area selection -Oracle Open Office Impress : printer metrics for document formatting (Writer) -Oracle Open Office Impress : printers -Oracle Open Office Impress : printers;adding, UNIX -Oracle Open Office Impress : printers;choosing -Oracle Open Office Impress : printers;default printer -Oracle Open Office Impress : printers;faxes under UNIX -Oracle Open Office Impress : printers;maximum page formats -Oracle Open Office Impress : printers;paper trays -Oracle Open Office Impress : printers;properties -Oracle Open Office Impress : printing -Oracle Open Office Impress : printing;black and white -Oracle Open Office Impress : printing;brochures -Oracle Open Office Impress : printing;colors in grayscale -Oracle Open Office Impress : printing;comments -Oracle Open Office Impress : printing;copies -Oracle Open Office Impress : printing;creating individual jobs -Oracle Open Office Impress : printing;dates in presentations -Oracle Open Office Impress : printing;directly -Oracle Open Office Impress : printing;documents -Oracle Open Office Impress : printing;drawings defaults -Oracle Open Office Impress : printing;elements in text documents -Oracle Open Office Impress : printing;faster -Oracle Open Office Impress : printing;fitting to pages in Oracle Open Office Math -Oracle Open Office Impress : printing;fitting to pages in presentations -Oracle Open Office Impress : printing;fitting to paper -Oracle Open Office Impress : printing;formulas in Oracle Open Office Math -Oracle Open Office Impress : printing;hidden pages of presentations -Oracle Open Office Impress : printing;in original size in Oracle Open Office Math -Oracle Open Office Impress : printing;left/right pages -Oracle Open Office Impress : printing;presentations -Oracle Open Office Impress : printing;queries (Base) -Oracle Open Office Impress : printing;scaling in Oracle Open Office Math -Oracle Open Office Impress : printing;selections -Oracle Open Office Impress : printing;text always in black -Oracle Open Office Impress : printing;text in reverse order -Oracle Open Office Impress : printing;tiling pages in presentations -Oracle Open Office Impress : printing;transparencies -Oracle Open Office Impress : printing;warnings -Oracle Open Office Impress : printing;without scaling in presentations -Oracle Open Office Impress : printing speed -Oracle Open Office Impress : programming -Oracle Open Office Impress : programming;Oracle Open Office -Oracle Open Office Impress : programming;scripting -Oracle Open Office Impress : programs run by mouse click in presentations -Oracle Open Office Impress : properties -Oracle Open Office Impress : properties;charts -Oracle Open Office Impress : properties;fields in databases -Oracle Open Office Impress : properties;files -Oracle Open Office Impress : properties;form controls -Oracle Open Office Impress : properties;forms -Oracle Open Office Impress : properties;printers -Oracle Open Office Impress : properties;smooth lines in line charts/XY charts -Oracle Open Office Impress : protected contents -Oracle Open Office Impress : protected dashes -Oracle Open Office Impress : protected database tables -Oracle Open Office Impress : protected documents -Oracle Open Office Impress : protected spaces -Oracle Open Office Impress : protected spaces;inserting -Oracle Open Office Impress : protected spaces;showing (Writer) -Oracle Open Office Impress : protecting -Oracle Open Office Impress : protecting;contents -Oracle Open Office Impress : protecting;recorded changes -Oracle Open Office Impress : proxy settings -Oracle Open Office Impress : push buttons -Oracle Open Office Impress : push buttons;adding to documents -Oracle Open Office Impress : push buttons;creating -Oracle Open Office Impress : pyramids -Oracle Open Office Impress : queries -Oracle Open Office Impress : queries;copying (Base) -Oracle Open Office Impress : queries;creating in design view (Base) -Oracle Open Office Impress : queries;creating in SQL view -Oracle Open Office Impress : queries;defining (Base) -Oracle Open Office Impress : queries;deleting table links (Base) -Oracle Open Office Impress : queries;editing in data source view -Oracle Open Office Impress : queries;formulating filter conditions (Base) -Oracle Open Office Impress : queries;joining tables (Base) -Oracle Open Office Impress : queries;missing elements (Base) -Oracle Open Office Impress : queries;overview (Base) -Oracle Open Office Impress : queries;parameter queries (Base) -Oracle Open Office Impress : queries;printing (Base) -Oracle Open Office Impress : Query Wizard (Base) -Oracle Open Office Impress : Quickstarter -Oracle Open Office Impress : quotation marks -Oracle Open Office Impress : quotation marks;replacing -Oracle Open Office Impress : quotes -Oracle Open Office Impress : quotes;custom -Oracle Open Office Impress : radar charts, see net charts -Oracle Open Office Impress : radio button creation -Oracle Open Office Impress : read-only documents -Oracle Open Office Impress : read-only documents;cursor -Oracle Open Office Impress : read-only documents;database tables on/off -Oracle Open Office Impress : read-only documents;editing -Oracle Open Office Impress : read-only documents;opening documents as -Oracle Open Office Impress : read-only items in Data Navigator -Oracle Open Office Impress : recognizing URLs automatically -Oracle Open Office Impress : recording -Oracle Open Office Impress : recording;changes -Oracle Open Office Impress : recording;display times for slides -Oracle Open Office Impress : recording;macros -Oracle Open Office Impress : records -Oracle Open Office Impress : records;inserting comments -Oracle Open Office Impress : records;protecting -Oracle Open Office Impress : records;saving -Oracle Open Office Impress : records;searching in databases -Oracle Open Office Impress : rectangles -Oracle Open Office Impress : rectangles with round corners -Oracle Open Office Impress : recursions in spreadsheets -Oracle Open Office Impress : redo command -Oracle Open Office Impress : reduced printing -Oracle Open Office Impress : reference lines -Oracle Open Office Impress : references -Oracle Open Office Impress : references;displaying in color (Calc) -Oracle Open Office Impress : references;expanding (Calc) -Oracle Open Office Impress : references;iterative (Calc) -Oracle Open Office Impress : register-true -Oracle Open Office Impress : register-true;definition -Oracle Open Office Impress : registering -Oracle Open Office Impress : registering;address books -Oracle Open Office Impress : registering;databases (Base) -Oracle Open Office Impress : registering;Oracle Open Office -Oracle Open Office Impress : regression curves in charts -Oracle Open Office Impress : regular expressions -Oracle Open Office Impress : regular expressions;list of -Oracle Open Office Impress : regular expressions;opening files -Oracle Open Office Impress : rehearse timings -Oracle Open Office Impress : relational databases (Base) -Oracle Open Office Impress : relations -Oracle Open Office Impress : relations;creating and deleting (Base) -Oracle Open Office Impress : relations;joining tables (Base) -Oracle Open Office Impress : relations;properties (Base) -Oracle Open Office Impress : relative hyperlinks -Oracle Open Office Impress : relative saving of URLs -Oracle Open Office Impress : reloading -Oracle Open Office Impress : reloading;documents -Oracle Open Office Impress : reloading;HTML documents, automatically -Oracle Open Office Impress : remarks, see also comments -Oracle Open Office Impress : remote configurations -Oracle Open Office Impress : remove noise filter -Oracle Open Office Impress : removing -Oracle Open Office Impress : removing;bullets and numbering -Oracle Open Office Impress : removing;form filters -Oracle Open Office Impress : removing, see also deleting -Oracle Open Office Impress : renaming layers -Oracle Open Office Impress : reorganizing charts -Oracle Open Office Impress : repeating -Oracle Open Office Impress : repeating;commands -Oracle Open Office Impress : replacement options -Oracle Open Office Impress : replacement table -Oracle Open Office Impress : replacing -Oracle Open Office Impress : replacing;AutoCorrect function -Oracle Open Office Impress : replacing;colors in bitmaps -Oracle Open Office Impress : replacing;dashes -Oracle Open Office Impress : replacing;tab stops (regular expressions) -Oracle Open Office Impress : Report Builder -Oracle Open Office Impress : reports -Oracle Open Office Impress : reports;creating -Oracle Open Office Impress : reports;error reports -Oracle Open Office Impress : reports;opening and editing -Oracle Open Office Impress : reports;templates -Oracle Open Office Impress : resetting -Oracle Open Office Impress : resetting;templates -Oracle Open Office Impress : resizing -Oracle Open Office Impress : resizing;objects, by mouse -Oracle Open Office Impress : resizing, see also scaling/zooming -Oracle Open Office Impress : resolution when printing bitmaps -Oracle Open Office Impress : restoring -Oracle Open Office Impress : restoring;default formatting -Oracle Open Office Impress : restoring;editing -Oracle Open Office Impress : reversing objects -Oracle Open Office Impress : reversing printing order -Oracle Open Office Impress : review function -Oracle Open Office Impress : review function;accepting or rejecting changes -Oracle Open Office Impress : review function;comparing documents -Oracle Open Office Impress : review function;protecting records -Oracle Open Office Impress : review function;recording changes example -Oracle Open Office Impress : rich text control -Oracle Open Office Impress : right alignment of paragraphs -Oracle Open Office Impress : right joins (Base) -Oracle Open Office Impress : right-to-left text -Oracle Open Office Impress : rotating -Oracle Open Office Impress : rotating;3D text -Oracle Open Office Impress : rotating;draw objects -Oracle Open Office Impress : rotation mode -Oracle Open Office Impress : round corners -Oracle Open Office Impress : rounding precision (Calc) -Oracle Open Office Impress : row headers -Oracle Open Office Impress : row headers;displaying (Calc) -Oracle Open Office Impress : row headers;highlighting (Calc) -Oracle Open Office Impress : rows -Oracle Open Office Impress : rows;inserting -Oracle Open Office Impress : rulers -Oracle Open Office Impress : rulers;default settings -Oracle Open Office Impress : rulers;in presentations -Oracle Open Office Impress : rulers;measurement units -Oracle Open Office Impress : rulers;visible in presentations -Oracle Open Office Impress : running macros/programs in presentations -Oracle Open Office Impress : running slide shows -Oracle Open Office Impress : samples and templates -Oracle Open Office Impress : saving -Oracle Open Office Impress : saving;as HTML -Oracle Open Office Impress : saving;default file formats -Oracle Open Office Impress : saving;dialog settings -Oracle Open Office Impress : saving;documents -Oracle Open Office Impress : saving;documents for mobile devices -Oracle Open Office Impress : saving;documents in other formats -Oracle Open Office Impress : saving;documents, automatically -Oracle Open Office Impress : saving;in Microsoft Office file format -Oracle Open Office Impress : saving;options -Oracle Open Office Impress : saving;templates -Oracle Open Office Impress : saving;to XML -Oracle Open Office Impress : saving;VBA code in Microsoft Office documents -Oracle Open Office Impress : saving;with password by default -Oracle Open Office Impress : saving as command -Oracle Open Office Impress : saving as command;precautions -Oracle Open Office Impress : scaling -Oracle Open Office Impress : scaling;axes -Oracle Open Office Impress : scaling;font sizes in user interface -Oracle Open Office Impress : scaling;objects -Oracle Open Office Impress : scaling;pictures -Oracle Open Office Impress : scaling;printing in Oracle Open Office Math -Oracle Open Office Impress : scaling;text in charts -Oracle Open Office Impress : scaling;when printing presentations -Oracle Open Office Impress : scaling, see also zooming -Oracle Open Office Impress : scatter charts -Oracle Open Office Impress : screen -Oracle Open Office Impress : screen;full screen views -Oracle Open Office Impress : screen;scaling -Oracle Open Office Impress : screen magnifiers -Oracle Open Office Impress : screen readers -Oracle Open Office Impress : script organization -Oracle Open Office Impress : scrollbars -Oracle Open Office Impress : scrollbars;controls -Oracle Open Office Impress : scrollbars;displaying (Calc) -Oracle Open Office Impress : scrollbars;horizontal and vertical (Writer) -Oracle Open Office Impress : search criteria for database functions in cells -Oracle Open Office Impress : search engines -Oracle Open Office Impress : search engines;definition -Oracle Open Office Impress : search engines;selecting -Oracle Open Office Impress : searching -Oracle Open Office Impress : searching;all sheets -Oracle Open Office Impress : searching;databases -Oracle Open Office Impress : searching;form filters -Oracle Open Office Impress : searching;Internet -Oracle Open Office Impress : searching;tables and forms -Oracle Open Office Impress : secondary axes in charts -Oracle Open Office Impress : sections -Oracle Open Office Impress : sections;backgrounds -Oracle Open Office Impress : sectors of circles/ellipses -Oracle Open Office Impress : security -Oracle Open Office Impress : security;digital signatures -Oracle Open Office Impress : security;options for documents with macros -Oracle Open Office Impress : security;protecting contents -Oracle Open Office Impress : security;security levels for macros -Oracle Open Office Impress : security;warning dialogs with macros -Oracle Open Office Impress : segments of circles/ellipses -Oracle Open Office Impress : selecting -Oracle Open Office Impress : selecting;controls -Oracle Open Office Impress : selecting;hidden objects -Oracle Open Office Impress : selecting;layers -Oracle Open Office Impress : selecting;measurement units -Oracle Open Office Impress : selecting;objects -Oracle Open Office Impress : selecting;print areas -Oracle Open Office Impress : selecting;several files -Oracle Open Office Impress : selection clipboard -Oracle Open Office Impress : selection frames -Oracle Open Office Impress : selection modes in text -Oracle Open Office Impress : sending -Oracle Open Office Impress : sending;AutoAbstract function in presentations -Oracle Open Office Impress : sending;documents as e-mail -Oracle Open Office Impress : sending;documents as faxes -Oracle Open Office Impress : separator lines -Oracle Open Office Impress : separator lines;defining -Oracle Open Office Impress : separators -Oracle Open Office Impress : separators;conditional -Oracle Open Office Impress : Server Side ImageMap -Oracle Open Office Impress : settings -Oracle Open Office Impress : settings;printers -Oracle Open Office Impress : settings;program configuration -Oracle Open Office Impress : settings;proxies -Oracle Open Office Impress : settings;tracking changes -Oracle Open Office Impress : settings;views -Oracle Open Office Impress : SGML -Oracle Open Office Impress : SGML;definition -Oracle Open Office Impress : shadows -Oracle Open Office Impress : shadows;areas -Oracle Open Office Impress : shadows;borders -Oracle Open Office Impress : shadows;characters -Oracle Open Office Impress : shadows;characters, using context menu -Oracle Open Office Impress : sharing documents -Oracle Open Office Impress : sharpening filter -Oracle Open Office Impress : shearing objects -Oracle Open Office Impress : sheet tabs -Oracle Open Office Impress : sheet tabs;displaying -Oracle Open Office Impress : sheets -Oracle Open Office Impress : sheets;searching all -Oracle Open Office Impress : shells -Oracle Open Office Impress : shortcut keys -Oracle Open Office Impress : shortcut keys;assigning macros -Oracle Open Office Impress : shortcut keys;charts -Oracle Open Office Impress : shortcut keys;general -Oracle Open Office Impress : shortcut keys;in databases -Oracle Open Office Impress : shortcut keys;in drawings -Oracle Open Office Impress : shortcut keys;in presentations -Oracle Open Office Impress : shortcut keys;Oracle Open Office accessibility -Oracle Open Office Impress : showing -Oracle Open Office Impress : showing;changes -Oracle Open Office Impress : showing;docked windows -Oracle Open Office Impress : showing;drawings and controls (Writer) -Oracle Open Office Impress : showing;guides -Oracle Open Office Impress : showing;hidden layers -Oracle Open Office Impress : showing;hidden slides -Oracle Open Office Impress : showing;levels -Oracle Open Office Impress : showing;live presentations on the Internet -Oracle Open Office Impress : showing;slide shows -Oracle Open Office Impress : showing;subpoints -Oracle Open Office Impress : showing;toolbars -Oracle Open Office Impress : sign conversion to curves -Oracle Open Office Impress : signing documents with digital signatures -Oracle Open Office Impress : similarity search -Oracle Open Office Impress : simple handles (Writer) -Oracle Open Office Impress : simplified Chinese -Oracle Open Office Impress : simplified Chinese;translating to traditional Chinese -Oracle Open Office Impress : single sign on options -Oracle Open Office Impress : single-line spacing in text -Oracle Open Office Impress : sizes -Oracle Open Office Impress : sizes;draw objects -Oracle Open Office Impress : sizes;pictures -Oracle Open Office Impress : skewing draw objects -Oracle Open Office Impress : slanting draw objects -Oracle Open Office Impress : slanting objects -Oracle Open Office Impress : slide designs -Oracle Open Office Impress : slide layouts -Oracle Open Office Impress : slide master view -Oracle Open Office Impress : slide masters -Oracle Open Office Impress : slide masters;changing backgrounds -Oracle Open Office Impress : slide masters;designing -Oracle Open Office Impress : slide masters;headers and footers -Oracle Open Office Impress : slide numbers -Oracle Open Office Impress : slide numbers on all slides -Oracle Open Office Impress : slide shows -Oracle Open Office Impress : slide shows;custom -Oracle Open Office Impress : slide shows;settings for -Oracle Open Office Impress : slide shows;starting -Oracle Open Office Impress : slide transitions -Oracle Open Office Impress : slide transitions;applying effects -Oracle Open Office Impress : slide transitions;automatic -Oracle Open Office Impress : slide transitions;manual -Oracle Open Office Impress : slide transitions;sounds -Oracle Open Office Impress : slides -Oracle Open Office Impress : slides;arranging -Oracle Open Office Impress : slides;backgrounds -Oracle Open Office Impress : slides;changing backgrounds -Oracle Open Office Impress : slides;copying between documents -Oracle Open Office Impress : slides;deleting -Oracle Open Office Impress : slides;expanding -Oracle Open Office Impress : slides;formatting -Oracle Open Office Impress : slides;headers and footers -Oracle Open Office Impress : slides;inserting -Oracle Open Office Impress : slides;inserting as links -Oracle Open Office Impress : slides;inserting speaker notes -Oracle Open Office Impress : slides;page numbers -Oracle Open Office Impress : slides;printing -Oracle Open Office Impress : small capitals -Oracle Open Office Impress : small icons -Oracle Open Office Impress : smart tag configuration -Oracle Open Office Impress : smooth scrolling (Writer) -Oracle Open Office Impress : smoothing filter -Oracle Open Office Impress : snap grid defaults (Writer/Calc) -Oracle Open Office Impress : snap lines, see also guides -Oracle Open Office Impress : snap points -Oracle Open Office Impress : snap points;editing -Oracle Open Office Impress : snap points;inserting -Oracle Open Office Impress : snapping in presentations and drawings -Oracle Open Office Impress : solarization filter -Oracle Open Office Impress : sort lists -Oracle Open Office Impress : sort lists;copying to in Calc -Oracle Open Office Impress : sorting -Oracle Open Office Impress : sorting;data in forms -Oracle Open Office Impress : sorting;databases -Oracle Open Office Impress : sound files -Oracle Open Office Impress : sounds -Oracle Open Office Impress : sounds;for effects -Oracle Open Office Impress : sounds;formats -Oracle Open Office Impress : sounds;on slide transitions -Oracle Open Office Impress : spaces -Oracle Open Office Impress : spaces;displaying (Writer) -Oracle Open Office Impress : spaces;ignoring double -Oracle Open Office Impress : spaces;inserting protected spaces -Oracle Open Office Impress : spaces;showing protected spaces (Writer) -Oracle Open Office Impress : spacing -Oracle Open Office Impress : spacing;between paragraphs in footnotes -Oracle Open Office Impress : spacing;font effects -Oracle Open Office Impress : spacing;lines and paragraphs -Oracle Open Office Impress : spacing;tab stops in text documents -Oracle Open Office Impress : spacing;tabs in presentations -Oracle Open Office Impress : spadmin -Oracle Open Office Impress : speaker notes -Oracle Open Office Impress : speaker notes;defaults -Oracle Open Office Impress : speaker notes;inserting -Oracle Open Office Impress : special characters -Oracle Open Office Impress : speech bubbles -Oracle Open Office Impress : speed of printing -Oracle Open Office Impress : spellcheck -Oracle Open Office Impress : spellcheck;activating for a language -Oracle Open Office Impress : spellcheck;context menus -Oracle Open Office Impress : spellcheck;default languages -Oracle Open Office Impress : spellcheck;dialog -Oracle Open Office Impress : spellcheck;dictionary of exceptions -Oracle Open Office Impress : spellcheck;ignore list -Oracle Open Office Impress : spheres -Oracle Open Office Impress : spin button creation -Oracle Open Office Impress : splitting -Oracle Open Office Impress : splitting;combinations -Oracle Open Office Impress : splitting;curves -Oracle Open Office Impress : spoolfiles with Xprinter -Oracle Open Office Impress : spreadsheets -Oracle Open Office Impress : spreadsheets;as databases (base) -Oracle Open Office Impress : spreadsheets;copying areas to text documents -Oracle Open Office Impress : spreadsheets;creating/opening -Oracle Open Office Impress : spreadsheets;in presentations -Oracle Open Office Impress : spreadsheets;inserting charts -Oracle Open Office Impress : spreadsheets;inserting database records -Oracle Open Office Impress : spreadsheets;printing -Oracle Open Office Impress : spreadsheets;saving -Oracle Open Office Impress : spreadsheets;saving automatically -Oracle Open Office Impress : spreadsheets;saving in other formats -Oracle Open Office Impress : spreadsheets;sending as e-mail -Oracle Open Office Impress : SQL -Oracle Open Office Impress : SQL;definition -Oracle Open Office Impress : SQL;DISTINCT parameter -Oracle Open Office Impress : SQL;executing SQL commands -Oracle Open Office Impress : SQL;executing SQL statements (Base) -Oracle Open Office Impress : SQL;queries (Base) -Oracle Open Office Impress : square drawings -Oracle Open Office Impress : standard bar on/off -Oracle Open Office Impress : standard deviation in charts -Oracle Open Office Impress : standard filters in databases -Oracle Open Office Impress : standard printer under UNIX -Oracle Open Office Impress : start center -Oracle Open Office Impress : start parameters -Oracle Open Office Impress : starting -Oracle Open Office Impress : starting;always with the current slide -Oracle Open Office Impress : starting;custom slide shows -Oracle Open Office Impress : starting;slide shows -Oracle Open Office Impress : statistics in charts -Oracle Open Office Impress : status bar on/off -Oracle Open Office Impress : stickers -Oracle Open Office Impress : stock charts -Oracle Open Office Impress : strikethrough -Oracle Open Office Impress : strikethrough;characters -Oracle Open Office Impress : strikethrough;font effects -Oracle Open Office Impress : styles -Oracle Open Office Impress : styles;'changed' message -Oracle Open Office Impress : styles;arrow and line styles -Oracle Open Office Impress : styles;copying between documents -Oracle Open Office Impress : styles;keyboard shortcuts -Oracle Open Office Impress : styles;organizing -Oracle Open Office Impress : styles;printing styles used in a document -Oracle Open Office Impress : styles;replacing automatically -Oracle Open Office Impress : Styles and Formatting window -Oracle Open Office Impress : Styles and Formatting window;docking -Oracle Open Office Impress : Styles and Formatting window;graphics documents -Oracle Open Office Impress : subforms -Oracle Open Office Impress : subforms;creating -Oracle Open Office Impress : subforms;description -Oracle Open Office Impress : submitting forms -Oracle Open Office Impress : subpoints -Oracle Open Office Impress : subpoints;hiding -Oracle Open Office Impress : subpoints;showing -Oracle Open Office Impress : subtracting polygons -Oracle Open Office Impress : suffixes in file formats -Oracle Open Office Impress : summary slide -Oracle Open Office Impress : support on the Web -Oracle Open Office Impress : synchronizing -Oracle Open Office Impress : synchronizing;labels and business cards -Oracle Open Office Impress : synchronizing;Pocket PC and Oracle Open Office formats -Oracle Open Office Impress : system address book registration -Oracle Open Office Impress : tab stops -Oracle Open Office Impress : tab stops;displaying (Writer) -Oracle Open Office Impress : tab stops;inserting and editing -Oracle Open Office Impress : tab stops;regular expressions -Oracle Open Office Impress : tab stops;setting in sheets -Oracle Open Office Impress : tab stops;settings -Oracle Open Office Impress : tab stops;spacing in presentations -Oracle Open Office Impress : tab stops;spacing in text documents -Oracle Open Office Impress : table controls -Oracle Open Office Impress : table controls;form functions -Oracle Open Office Impress : table controls;keyboard-only edit mode -Oracle Open Office Impress : table controls;properties -Oracle Open Office Impress : table views of databases -Oracle Open Office Impress : Table Wizard (Base) -Oracle Open Office Impress : tables -Oracle Open Office Impress : tables;inserting line breaks -Oracle Open Office Impress : tables in databases -Oracle Open Office Impress : tables in databases;access rights to (Base) -Oracle Open Office Impress : tables in databases;adding to queries -Oracle Open Office Impress : tables in databases;browsing and editing -Oracle Open Office Impress : tables in databases;copying database tables (Base) -Oracle Open Office Impress : tables in databases;creating -Oracle Open Office Impress : tables in databases;creating in design view (manually) -Oracle Open Office Impress : tables in databases;importing text formats (Base) -Oracle Open Office Impress : tables in databases;joining for queries (Base) -Oracle Open Office Impress : tables in databases;printing queries (Base) -Oracle Open Office Impress : tables in databases;relations (Base) -Oracle Open Office Impress : tables in databases;searching -Oracle Open Office Impress : tables in spreadsheets -Oracle Open Office Impress : tables in spreadsheets;copying data to other applications -Oracle Open Office Impress : tables in spreadsheets;defining borders -Oracle Open Office Impress : tables in spreadsheets;value highlighting -Oracle Open Office Impress : tables in text -Oracle Open Office Impress : tables in text;captions -Oracle Open Office Impress : tables in text;creating automatically -Oracle Open Office Impress : tables in text;default settings -Oracle Open Office Impress : tables in text;defining borders -Oracle Open Office Impress : tables in text;displaying -Oracle Open Office Impress : tables in text;printing -Oracle Open Office Impress : tabs -Oracle Open Office Impress : tabs;displaying sheet tabs -Oracle Open Office Impress : tags -Oracle Open Office Impress : tags;definition -Oracle Open Office Impress : tags;META tags -Oracle Open Office Impress : task pane -Oracle Open Office Impress : templates -Oracle Open Office Impress : templates;agendas -Oracle Open Office Impress : templates;changing basic fonts -Oracle Open Office Impress : templates;database reports -Oracle Open Office Impress : templates;deleting -Oracle Open Office Impress : templates;editing and saving -Oracle Open Office Impress : templates;faxes -Oracle Open Office Impress : templates;importing and exporting -Oracle Open Office Impress : templates;letters -Oracle Open Office Impress : templates;new documents from templates -Oracle Open Office Impress : templates;opening documents with -Oracle Open Office Impress : templates;organizing -Oracle Open Office Impress : terminology -Oracle Open Office Impress : terminology;general glossary -Oracle Open Office Impress : terminology;Internet glossary -Oracle Open Office Impress : testing XML filters -Oracle Open Office Impress : text -Oracle Open Office Impress : text;animating -Oracle Open Office Impress : text;Asian layout -Oracle Open Office Impress : text;bold -Oracle Open Office Impress : text;coloring -Oracle Open Office Impress : text;converting to curves -Oracle Open Office Impress : text;copying by drag and drop -Oracle Open Office Impress : text;CTL languages -Oracle Open Office Impress : text;double-clicking to edit -Oracle Open Office Impress : text;drawing pictures -Oracle Open Office Impress : text;font effects -Oracle Open Office Impress : text;font sizes -Oracle Open Office Impress : text;font styles -Oracle Open Office Impress : text;fonts and formats -Oracle Open Office Impress : text;Fontwork icons -Oracle Open Office Impress : text;hyperlinks -Oracle Open Office Impress : text;inserting special characters -Oracle Open Office Impress : text;italics -Oracle Open Office Impress : text;kerning -Oracle Open Office Impress : text;language selection -Oracle Open Office Impress : text;line spacing -Oracle Open Office Impress : text;overwriting or inserting -Oracle Open Office Impress : text;printing in black -Oracle Open Office Impress : text;replacing with format -Oracle Open Office Impress : text;selection modes -Oracle Open Office Impress : text;shadowed -Oracle Open Office Impress : text;text/draw objects -Oracle Open Office Impress : text;toolbar -Oracle Open Office Impress : text attributes -Oracle Open Office Impress : text attributes;hyperlinks -Oracle Open Office Impress : text attributes;undoing -Oracle Open Office Impress : text boxes -Oracle Open Office Impress : text boxes;form functions -Oracle Open Office Impress : text boxes;positioning -Oracle Open Office Impress : text breaks in cells -Oracle Open Office Impress : text colors for better accessibility -Oracle Open Office Impress : text databases (Base) -Oracle Open Office Impress : text documents -Oracle Open Office Impress : text documents;creating/opening -Oracle Open Office Impress : text documents;importing/exporting -Oracle Open Office Impress : text documents;inserting in slides -Oracle Open Office Impress : text documents;inserting spreadsheet cells -Oracle Open Office Impress : text documents;print settings -Oracle Open Office Impress : text documents;printing -Oracle Open Office Impress : text documents;saving -Oracle Open Office Impress : text documents;saving automatically -Oracle Open Office Impress : text documents;saving in other formats -Oracle Open Office Impress : text documents;sending as e-mail -Oracle Open Office Impress : text effects -Oracle Open Office Impress : text entry mode for draw objects -Oracle Open Office Impress : text flow -Oracle Open Office Impress : text flow;in cells -Oracle Open Office Impress : text formats -Oracle Open Office Impress : text formats;databases -Oracle Open Office Impress : text formats;pasting -Oracle Open Office Impress : text frames -Oracle Open Office Impress : text input fields -Oracle Open Office Impress : text layout for special languages -Oracle Open Office Impress : text objects -Oracle Open Office Impress : text objects;alignment -Oracle Open Office Impress : text objects;draw functions -Oracle Open Office Impress : text objects;fonts -Oracle Open Office Impress : text objects;in presentations and drawings -Oracle Open Office Impress : text overflow in spreadsheet cells -Oracle Open Office Impress : text scaling in charts -Oracle Open Office Impress : text, see also text documents, paragraphs and characters -Oracle Open Office Impress : TextArt, see Fontwork -Oracle Open Office Impress : textures -Oracle Open Office Impress : textures;inserting from Gallery -Oracle Open Office Impress : textures;on chart bars -Oracle Open Office Impress : Thai -Oracle Open Office Impress : Thai;entering text -Oracle Open Office Impress : Thai;language settings -Oracle Open Office Impress : thesaurus -Oracle Open Office Impress : thesaurus;activating for a language -Oracle Open Office Impress : ticker text -Oracle Open Office Impress : tiled printing of slides -Oracle Open Office Impress : time and date on all slides -Oracle Open Office Impress : time fields -Oracle Open Office Impress : time fields;form functions -Oracle Open Office Impress : times -Oracle Open Office Impress : times;fixed -Oracle Open Office Impress : times;inserting when printing presentations -Oracle Open Office Impress : times;variable -Oracle Open Office Impress : times, formats -Oracle Open Office Impress : timings -Oracle Open Office Impress : timings;rehearse timings -Oracle Open Office Impress : tips -Oracle Open Office Impress : tips;extended tips in Help -Oracle Open Office Impress : title rows -Oracle Open Office Impress : title rows;printing in Oracle Open Office Math -Oracle Open Office Impress : titles -Oracle Open Office Impress : titles;alignment (charts) -Oracle Open Office Impress : titles;changing -Oracle Open Office Impress : titles;editing in charts -Oracle Open Office Impress : titles;font effects -Oracle Open Office Impress : titles;formatting automatically -Oracle Open Office Impress : titles;formatting charts -Oracle Open Office Impress : titles;objects -Oracle Open Office Impress : toolbars -Oracle Open Office Impress : toolbars;3D objects -Oracle Open Office Impress : toolbars;adding buttons -Oracle Open Office Impress : toolbars;curves -Oracle Open Office Impress : toolbars;docking/undocking -Oracle Open Office Impress : toolbars;ellipses -Oracle Open Office Impress : toolbars;Form Navigation bar -Oracle Open Office Impress : toolbars;viewing/closing -Oracle Open Office Impress : tools bar -Oracle Open Office Impress : tooltips -Oracle Open Office Impress : tooltips;extended tips -Oracle Open Office Impress : tooltips;help -Oracle Open Office Impress : torus -Oracle Open Office Impress : traditional Chinese -Oracle Open Office Impress : traditional Chinese;translating to simplified chinese -Oracle Open Office Impress : transition effects -Oracle Open Office Impress : transparency -Oracle Open Office Impress : transparency;adjusting -Oracle Open Office Impress : transparency;areas -Oracle Open Office Impress : transparency;of objects -Oracle Open Office Impress : transparency;off for faster printing -Oracle Open Office Impress : transparency;saving -Oracle Open Office Impress : tree view of Help -Oracle Open Office Impress : trend lines in charts -Oracle Open Office Impress : typefaces -Oracle Open Office Impress : typefaces;adding under UNIX -Oracle Open Office Impress : typefaces;formats -Oracle Open Office Impress : typographical quotes in Oracle Open Office Writer -Oracle Open Office Impress : typography -Oracle Open Office Impress : typography;Asian -Oracle Open Office Impress : underlining -Oracle Open Office Impress : underlining;AutoFormat function -Oracle Open Office Impress : underlining;characters -Oracle Open Office Impress : underlining;text -Oracle Open Office Impress : underlying objects -Oracle Open Office Impress : undocking windows -Oracle Open Office Impress : undoing -Oracle Open Office Impress : undoing;direct formatting -Oracle Open Office Impress : undoing;editing -Oracle Open Office Impress : undoing;number of steps -Oracle Open Office Impress : ungrouping groups -Oracle Open Office Impress : units -Oracle Open Office Impress : units;converting -Oracle Open Office Impress : units;measurement units -Oracle Open Office Impress : unlocking layers -Oracle Open Office Impress : UNO components -Oracle Open Office Impress : UNO components;Extension Manager -Oracle Open Office Impress : UNO components;integrating new -Oracle Open Office Impress : update options -Oracle Open Office Impress : updates -Oracle Open Office Impress : updates;checking automatically -Oracle Open Office Impress : updates;checking manually -Oracle Open Office Impress : updating -Oracle Open Office Impress : updating;fields and charts, automatically (Writer) -Oracle Open Office Impress : updating;links in text documents -Oracle Open Office Impress : updating;links, on opening -Oracle Open Office Impress : updating;templates -Oracle Open Office Impress : URL -Oracle Open Office Impress : URL;changing hyperlink URLs -Oracle Open Office Impress : URL;definition -Oracle Open Office Impress : URL;in pictures -Oracle Open Office Impress : URL;saving absolute/relative paths -Oracle Open Office Impress : URL;turning off URL recognition -Oracle Open Office Impress : user data -Oracle Open Office Impress : user data;input -Oracle Open Office Impress : user data;removing when saving -Oracle Open Office Impress : user feedback -Oracle Open Office Impress : user feedback;automatically -Oracle Open Office Impress : user-defined colors -Oracle Open Office Impress : user-defined dictionaries -Oracle Open Office Impress : user-defined dictionaries;creating -Oracle Open Office Impress : user-defined dictionaries;dictionary of exceptions -Oracle Open Office Impress : user-defined dictionaries;editing -Oracle Open Office Impress : user-defined styles -Oracle Open Office Impress : user-defined styles;automatically replacing -Oracle Open Office Impress : UTF-8/UCS2 support -Oracle Open Office Impress : values -Oracle Open Office Impress : values;rounded as shown (Calc) -Oracle Open Office Impress : variables -Oracle Open Office Impress : variables;for paths -Oracle Open Office Impress : variances in charts -Oracle Open Office Impress : VBA code -Oracle Open Office Impress : VBA code;loading/saving documents with VBA code -Oracle Open Office Impress : vector graphics -Oracle Open Office Impress : vector graphics;converting bitmaps -Oracle Open Office Impress : vectorizing bitmaps -Oracle Open Office Impress : version management -Oracle Open Office Impress : version numbers of documents -Oracle Open Office Impress : versions -Oracle Open Office Impress : versions;comparing documents -Oracle Open Office Impress : versions;file saving as, restriction -Oracle Open Office Impress : versions;merging document versions -Oracle Open Office Impress : versions;of a document -Oracle Open Office Impress : versions;Oracle Open Office -Oracle Open Office Impress : vertical callouts -Oracle Open Office Impress : vertical scrollbars (Writer) -Oracle Open Office Impress : vertical text boxes -Oracle Open Office Impress : videos -Oracle Open Office Impress : viewing -Oracle Open Office Impress : viewing;databases -Oracle Open Office Impress : viewing;file properties -Oracle Open Office Impress : viewing;Oracle Open Office documents in Internet Explorer -Oracle Open Office Impress : viewing;toolbars -Oracle Open Office Impress : views -Oracle Open Office Impress : views;black and white -Oracle Open Office Impress : views;creating database views (Base) -Oracle Open Office Impress : views;defaults -Oracle Open Office Impress : views;display sizes -Oracle Open Office Impress : views;full screen -Oracle Open Office Impress : views;icons -Oracle Open Office Impress : views;scaling -Oracle Open Office Impress : views;shift function -Oracle Open Office Impress : views;slide master view -Oracle Open Office Impress : Visual Basic for Applications -Oracle Open Office Impress : Visual Basic for Applications;loading/saving documents with VBA code -Oracle Open Office Impress : watermarks -Oracle Open Office Impress : web documents -Oracle Open Office Impress : web documents;XForms -Oracle Open Office Impress : Web support -Oracle Open Office Impress : WebCast export -Oracle Open Office Impress : WebDAV over HTTPS -Oracle Open Office Impress : windows -Oracle Open Office Impress : windows;docking -Oracle Open Office Impress : windows;docking definition -Oracle Open Office Impress : windows;hiding/showing/docking -Oracle Open Office Impress : windows;new -Oracle Open Office Impress : wizards -Oracle Open Office Impress : wizards;agendas -Oracle Open Office Impress : wizards;database queries -Oracle Open Office Impress : wizards;database tables (Base) -Oracle Open Office Impress : wizards;databases (Base) -Oracle Open Office Impress : wizards;document converter -Oracle Open Office Impress : wizards;Euro Converter -Oracle Open Office Impress : wizards;faxes -Oracle Open Office Impress : wizards;forms -Oracle Open Office Impress : wizards;letters -Oracle Open Office Impress : wizards;macros (Base) -Oracle Open Office Impress : wizards;overview -Oracle Open Office Impress : wizards;presentations -Oracle Open Office Impress : wizards;reports -Oracle Open Office Impress : Word documents -Oracle Open Office Impress : Word documents;compatibility -Oracle Open Office Impress : Word documents;saving as -Oracle Open Office Impress : WordArt, see Fontwork -Oracle Open Office Impress : words -Oracle Open Office Impress : words;automatically replacing -Oracle Open Office Impress : words;wrapping in cells -Oracle Open Office Impress : words;wrapping in CTL -Oracle Open Office Impress : working directory change -Oracle Open Office Impress : wrapping text -Oracle Open Office Impress : wrapping text;in cells -Oracle Open Office Impress : write protection on/off -Oracle Open Office Impress : writing aids options -Oracle Open Office Impress : WYSIWYG in fonts lists -Oracle Open Office Impress : X axes -Oracle Open Office Impress : X axes;grid formatting -Oracle Open Office Impress : X axes;positioning -Oracle Open Office Impress : X axes;scaling -Oracle Open Office Impress : X axes;showing -Oracle Open Office Impress : XForms -Oracle Open Office Impress : XForms;adding/editing/deleting/organizing namespaces -Oracle Open Office Impress : XForms;conditions -Oracle Open Office Impress : XForms;opening/editing -Oracle Open Office Impress : XML converters -Oracle Open Office Impress : XML file formats -Oracle Open Office Impress : XML filters -Oracle Open Office Impress : XML filters;creating/testing -Oracle Open Office Impress : XML filters;saving as package/installing/deleting -Oracle Open Office Impress : XML filters;settings -Oracle Open Office Impress : XML Forms, see XForms -Oracle Open Office Impress : XSLT filters, see also XML filters -Oracle Open Office Impress : XY charts -Oracle Open Office Impress : Y axes -Oracle Open Office Impress : Y axes;formatting -Oracle Open Office Impress : Y axes;grid formatting -Oracle Open Office Impress : Y axes;positioning -Oracle Open Office Impress : Y axes;scaling -Oracle Open Office Impress : Y axes;showing -Oracle Open Office Impress : years -Oracle Open Office Impress : years;2-digit options -Oracle Open Office Impress : Z axes -Oracle Open Office Impress : Z axes;grid formatting -Oracle Open Office Impress : Z axes;showing -Oracle Open Office Impress : zero values -Oracle Open Office Impress : zero values;displaying (Calc) -Oracle Open Office Impress : zooming -Oracle Open Office Impress : zooming;in presentations -Oracle Open Office Impress : zooming;keyboard -Oracle Open Office Impress : zooming;page views -Oracle Open Office Impress : zooming;pictures -Oracle Open Office Impress : zooming;shortcut keys -Oracle Open Office Impress : zooming;status bar -Oracle Open Office Math : 1/2 replacement Oracle Open Office Math : 3D text creation Oracle Open Office Math : abbreviation replacement Oracle Open Office Math : absolute hyperlinks @@ -17186,7 +851,6 @@ Oracle Open Office Math : files Oracle Open Office Math : files;filters and formats Oracle Open Office Math : files;importing Oracle Open Office Math : files;opening -Oracle Open Office Math : files;opening with placeholders Oracle Open Office Math : files;properties Oracle Open Office Math : files;saving Oracle Open Office Math : files;saving automatically @@ -17853,7 +1517,6 @@ Oracle Open Office Math : numbering;turning off Oracle Open Office Math : numbering;using automatically Oracle Open Office Math : numbers Oracle Open Office Math : numbers;date, time and currency formats -Oracle Open Office Math : numbers;decimal places (Calc) Oracle Open Office Math : numerical fields in forms Oracle Open Office Math : objects Oracle Open Office Math : objects;always moveable (Impress/Draw) @@ -17891,7 +1554,6 @@ Oracle Open Office Math : online update options Oracle Open Office Math : online updates Oracle Open Office Math : online updates;checking automatically Oracle Open Office Math : online updates;checking manually -Oracle Open Office Math : Open/Save dialogs Oracle Open Office Math : OpenDocument file formats Oracle Open Office Math : OpenGL Oracle Open Office Math : OpenGL;definition @@ -17944,6 +1606,8 @@ Oracle Open Office Math : Oracle Open Office Math;relations Oracle Open Office Math : Oracle Open Office Math start Oracle Open Office Math : ordering Oracle Open Office Math : ordering;objects +Oracle Open Office Math : ordinal numbers +Oracle Open Office Math : ordinal numbers;replacing Oracle Open Office Math : organizing Oracle Open Office Math : organizing;macros and scripts Oracle Open Office Math : organizing;namespaces in XForms @@ -18195,8 +1859,6 @@ Oracle Open Office Math : queries;parameter queries (Base) Oracle Open Office Math : queries;printing (Base) Oracle Open Office Math : Query Wizard (Base) Oracle Open Office Math : Quickstarter -Oracle Open Office Math : quotation marks -Oracle Open Office Math : quotation marks;replacing Oracle Open Office Math : quotes Oracle Open Office Math : quotes;custom Oracle Open Office Math : quotient set @@ -18240,7 +1902,6 @@ Oracle Open Office Math : registering;databases (Base) Oracle Open Office Math : registering;Oracle Open Office Oracle Open Office Math : regular expressions Oracle Open Office Math : regular expressions;list of -Oracle Open Office Math : regular expressions;opening files Oracle Open Office Math : relational databases (Base) Oracle Open Office Math : relations Oracle Open Office Math : relations;creating and deleting (Base) @@ -18268,6 +1929,7 @@ Oracle Open Office Math : replacement table Oracle Open Office Math : replacing Oracle Open Office Math : replacing;AutoCorrect function Oracle Open Office Math : replacing;dashes +Oracle Open Office Math : replacing;ordinal numbers Oracle Open Office Math : replacing;tab stops (regular expressions) Oracle Open Office Math : Report Builder Oracle Open Office Math : reports @@ -18713,7 +2375,6 @@ Oracle Open Office Math : triple dot attribute Oracle Open Office Math : typefaces Oracle Open Office Math : typefaces;adding under UNIX Oracle Open Office Math : typefaces;formats -Oracle Open Office Math : typographical quotes in Oracle Open Office Writer Oracle Open Office Math : typography Oracle Open Office Math : typography;Asian Oracle Open Office Math : unary operators @@ -18879,7 +2540,6 @@ Oracle Open Office Math : zooming;pictures Oracle Open Office Math : zooming;status bar Oracle Open Office Math : zooming in on formula display Oracle Open Office Math : zooming out on formula display -Oracle Open Office Writer : 1/2 replacement Oracle Open Office Writer : 3D charts Oracle Open Office Writer : 3D text creation Oracle Open Office Writer : abbreviation replacement @@ -19888,7 +3548,6 @@ Oracle Open Office Writer : files Oracle Open Office Writer : files;filters and formats Oracle Open Office Writer : files;importing Oracle Open Office Writer : files;opening -Oracle Open Office Writer : files;opening with placeholders Oracle Open Office Writer : files;properties Oracle Open Office Writer : files;saving Oracle Open Office Writer : files;saving automatically @@ -20683,7 +4342,6 @@ Oracle Open Office Writer : numbering;using automatically Oracle Open Office Writer : numbers Oracle Open Office Writer : numbers;automatic recognition in text tables Oracle Open Office Writer : numbers;date, time and currency formats -Oracle Open Office Writer : numbers;decimal places (Calc) Oracle Open Office Writer : numbers;line numbering Oracle Open Office Writer : numbers;lists Oracle Open Office Writer : numerical fields in forms @@ -20737,7 +4395,6 @@ Oracle Open Office Writer : online update options Oracle Open Office Writer : online updates Oracle Open Office Writer : online updates;checking automatically Oracle Open Office Writer : online updates;checking manually -Oracle Open Office Writer : Open/Save dialogs Oracle Open Office Writer : OpenDocument file formats Oracle Open Office Writer : OpenGL Oracle Open Office Writer : OpenGL;definition @@ -20784,6 +4441,8 @@ Oracle Open Office Writer : order of chart data Oracle Open Office Writer : ordering Oracle Open Office Writer : ordering;objects Oracle Open Office Writer : ordering;printing in reverse order +Oracle Open Office Writer : ordinal numbers +Oracle Open Office Writer : ordinal numbers;replacing Oracle Open Office Writer : organizing Oracle Open Office Writer : organizing;footnotes Oracle Open Office Writer : organizing;macros and scripts @@ -21109,7 +4768,6 @@ Oracle Open Office Writer : Query Wizard (Base) Oracle Open Office Writer : Quickstarter Oracle Open Office Writer : quotation marks Oracle Open Office Writer : quotation marks;changing automatically -Oracle Open Office Writer : quotation marks;replacing Oracle Open Office Writer : quotes Oracle Open Office Writer : quotes;custom Oracle Open Office Writer : radar charts, see net charts @@ -21159,7 +4817,6 @@ Oracle Open Office Writer : registering;Oracle Open Office Oracle Open Office Writer : regression curves in charts Oracle Open Office Writer : regular expressions Oracle Open Office Writer : regular expressions;list of -Oracle Open Office Writer : regular expressions;opening files Oracle Open Office Writer : regular expressions;searching Oracle Open Office Writer : rejecting word completions Oracle Open Office Writer : related words in thesaurus @@ -21196,6 +4853,7 @@ Oracle Open Office Writer : replacing;dashes Oracle Open Office Writer : replacing;databases Oracle Open Office Writer : replacing;fields, by text Oracle Open Office Writer : replacing;objects from Gallery +Oracle Open Office Writer : replacing;ordinal numbers Oracle Open Office Writer : replacing;tab stops (regular expressions) Oracle Open Office Writer : replacing;text and text formats Oracle Open Office Writer : Report Builder @@ -21807,7 +5465,6 @@ Oracle Open Office Writer : turning off automatic correction Oracle Open Office Writer : typefaces Oracle Open Office Writer : typefaces;adding under UNIX Oracle Open Office Writer : typefaces;formats -Oracle Open Office Writer : typographical quotes in Oracle Open Office Writer Oracle Open Office Writer : typography Oracle Open Office Writer : typography;Asian Oracle Open Office Writer : underlining @@ -22000,3 +5657,16309 @@ Oracle Open Office Writer : zooming Oracle Open Office Writer : zooming;page views Oracle Open Office Writer : zooming;pictures Oracle Open Office Writer : zooming;status bar +Oracle Open Office Chart : 3D charts +Oracle Open Office Chart : 3D text creation +Oracle Open Office Chart : abbreviation replacement +Oracle Open Office Chart : absolute hyperlinks +Oracle Open Office Chart : absolute saving of URLs +Oracle Open Office Chart : accents +Oracle Open Office Chart : Access databases (base) +Oracle Open Office Chart : access rights for database tables (Base) +Oracle Open Office Chart : accessibility +Oracle Open Office Chart : accessibility;general shortcuts +Oracle Open Office Chart : accessibility;options +Oracle Open Office Chart : accessibility;Oracle Open Office assistive technology +Oracle Open Office Chart : accessibility;Oracle Open Office features +Oracle Open Office Chart : activating +Oracle Open Office Chart : activating;context menus +Oracle Open Office Chart : activating;Error Report Tool +Oracle Open Office Chart : activating;extended help tips +Oracle Open Office Chart : activating;plug-ins +Oracle Open Office Chart : ActiveX control +Oracle Open Office Chart : Adabas D databases (base) +Oracle Open Office Chart : add-ons, see UNO components +Oracle Open Office Chart : additional selection mode +Oracle Open Office Chart : address books +Oracle Open Office Chart : address books;LDAP server (Base) +Oracle Open Office Chart : address books;registering +Oracle Open Office Chart : address labels from databases +Oracle Open Office Chart : ADO databases (Base) +Oracle Open Office Chart : Agenda Wizard +Oracle Open Office Chart : aging filter +Oracle Open Office Chart : aligning +Oracle Open Office Chart : aligning;2D charts +Oracle Open Office Chart : aligning;cells +Oracle Open Office Chart : aligning;objects +Oracle Open Office Chart : aligning;paragraphs +Oracle Open Office Chart : aligning;tables in text +Oracle Open Office Chart : aligning;text objects +Oracle Open Office Chart : aligning;titles in charts +Oracle Open Office Chart : alternative fonts +Oracle Open Office Chart : ampersand symbol, see also operators +Oracle Open Office Chart : anchors +Oracle Open Office Chart : anchors;changing +Oracle Open Office Chart : anchors;displaying (Calc) +Oracle Open Office Chart : anchors;types/positions for draw objects +Oracle Open Office Chart : animations +Oracle Open Office Chart : animations;accessibility options +Oracle Open Office Chart : appearance options +Oracle Open Office Chart : Arabic +Oracle Open Office Chart : Arabic;entering text +Oracle Open Office Chart : Arabic;language settings +Oracle Open Office Chart : area charts +Oracle Open Office Chart : areas +Oracle Open Office Chart : areas;bitmap patterns +Oracle Open Office Chart : areas;hatched/dotted +Oracle Open Office Chart : areas;shadows +Oracle Open Office Chart : areas;slanting +Oracle Open Office Chart : areas;styles +Oracle Open Office Chart : areas;transparency +Oracle Open Office Chart : arguments in command line +Oracle Open Office Chart : arranging +Oracle Open Office Chart : arranging;objects +Oracle Open Office Chart : arrows +Oracle Open Office Chart : arrows;defining arrow heads +Oracle Open Office Chart : arrows;defining arrow lines +Oracle Open Office Chart : arrows;drawing in text +Oracle Open Office Chart : ASCII +Oracle Open Office Chart : ASCII;definition +Oracle Open Office Chart : Asian languages +Oracle Open Office Chart : Asian languages;enabling +Oracle Open Office Chart : Asian Phonetic Guide +Oracle Open Office Chart : Asian typography +Oracle Open Office Chart : assigning scripts +Oracle Open Office Chart : assistive technology in Oracle Open Office +Oracle Open Office Chart : attaching toolbars +Oracle Open Office Chart : attachments in e-mails +Oracle Open Office Chart : audio +Oracle Open Office Chart : auto reloading HTML documents +Oracle Open Office Chart : AutoAbstract function for sending text to presentations +Oracle Open Office Chart : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Chart : AutoComplete function in text and list boxes +Oracle Open Office Chart : AutoCorrect function +Oracle Open Office Chart : AutoCorrect function;context menu +Oracle Open Office Chart : AutoCorrect function;options +Oracle Open Office Chart : AutoCorrect function;pictures and frames +Oracle Open Office Chart : AutoCorrect function;quotes +Oracle Open Office Chart : AutoCorrect function;replacement table +Oracle Open Office Chart : AutoCorrect function;switching on and off in Calc +Oracle Open Office Chart : AutoCorrect function;URL recognition +Oracle Open Office Chart : AutoFormat function +Oracle Open Office Chart : AutoFormat function;switching on and off +Oracle Open Office Chart : automatic captions (Writer) +Oracle Open Office Chart : automatic control focus +Oracle Open Office Chart : automatic hyperlink formatting +Oracle Open Office Chart : automatic line breaks +Oracle Open Office Chart : automatic lines/borders in text +Oracle Open Office Chart : automatic saving +Oracle Open Office Chart : AutoPilots, see wizards +Oracle Open Office Chart : AutoValue (Base) +Oracle Open Office Chart : averages in charts +Oracle Open Office Chart : axes +Oracle Open Office Chart : axes;better scaling +Oracle Open Office Chart : axes;formatting +Oracle Open Office Chart : axes;formatting grids +Oracle Open Office Chart : axes;inserting grids +Oracle Open Office Chart : axes;interval marks +Oracle Open Office Chart : axes;showing axes in charts +Oracle Open Office Chart : axes in charts +Oracle Open Office Chart : backgrounds +Oracle Open Office Chart : backgrounds;defining colors/pictures +Oracle Open Office Chart : backgrounds;frames/sections/indexes +Oracle Open Office Chart : backgrounds;inserting from Gallery +Oracle Open Office Chart : backgrounds;printing +Oracle Open Office Chart : backing window +Oracle Open Office Chart : backups +Oracle Open Office Chart : backups;automatic +Oracle Open Office Chart : backups;documents +Oracle Open Office Chart : bar charts +Oracle Open Office Chart : Basic +Oracle Open Office Chart : Basic;fonts for source display +Oracle Open Office Chart : Basic;programming +Oracle Open Office Chart : Basic;recording macros +Oracle Open Office Chart : basic fonts +Oracle Open Office Chart : Bézier curves +Oracle Open Office Chart : Bézier curves;control points in presentations +Oracle Open Office Chart : bi-directional writing +Oracle Open Office Chart : binding space +Oracle Open Office Chart : bitmaps +Oracle Open Office Chart : bitmaps;inserting and editing +Oracle Open Office Chart : bitmaps;off for faster printing +Oracle Open Office Chart : bitmaps;patterns +Oracle Open Office Chart : black and white printing +Oracle Open Office Chart : black printing in Calc +Oracle Open Office Chart : block selection mode +Oracle Open Office Chart : bold +Oracle Open Office Chart : bold;AutoFormat function +Oracle Open Office Chart : bold;text +Oracle Open Office Chart : bookmarks +Oracle Open Office Chart : bookmarks;Help +Oracle Open Office Chart : borders +Oracle Open Office Chart : borders;arranging +Oracle Open Office Chart : borders;cells on screen (Calc) +Oracle Open Office Chart : borders;for paragraphs +Oracle Open Office Chart : borders;for tables +Oracle Open Office Chart : borders;shadows +Oracle Open Office Chart : borders;table boundaries (Writer) +Oracle Open Office Chart : borders, see also frames +Oracle Open Office Chart : bound fields +Oracle Open Office Chart : bound fields;controls +Oracle Open Office Chart : boundaries of tables (Writer) +Oracle Open Office Chart : break display (Writer) +Oracle Open Office Chart : brochures +Oracle Open Office Chart : brochures;printing several +Oracle Open Office Chart : bubble charts +Oracle Open Office Chart : build numbers of Oracle Open Office +Oracle Open Office Chart : bullet lists +Oracle Open Office Chart : bullet lists;formatting options +Oracle Open Office Chart : bullets +Oracle Open Office Chart : bullets;paragraphs +Oracle Open Office Chart : bullets;replacing +Oracle Open Office Chart : bullets;turning off +Oracle Open Office Chart : business cards +Oracle Open Office Chart : business cards;creating and synchronizing +Oracle Open Office Chart : business cards;using templates +Oracle Open Office Chart : button bars, see toolbars +Oracle Open Office Chart : buttons +Oracle Open Office Chart : buttons;adding push buttons +Oracle Open Office Chart : buttons;big/small +Oracle Open Office Chart : buttons;editing hyperlink buttons +Oracle Open Office Chart : buttons;form functions +Oracle Open Office Chart : buttons;toolbars +Oracle Open Office Chart : cache for graphics +Oracle Open Office Chart : calculating +Oracle Open Office Chart : calculating;iterative references (Calc) +Oracle Open Office Chart : calculating;regression curves +Oracle Open Office Chart : callouts +Oracle Open Office Chart : callouts;drawings +Oracle Open Office Chart : capital letters +Oracle Open Office Chart : capital letters;AutoCorrect function +Oracle Open Office Chart : capital letters;font effects +Oracle Open Office Chart : captions +Oracle Open Office Chart : captions;automatic captions (Writer) +Oracle Open Office Chart : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Chart : captions, see also labels/callouts +Oracle Open Office Chart : cascading update (Base) +Oracle Open Office Chart : case sensitivity +Oracle Open Office Chart : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Chart : case sensitivity;searching +Oracle Open Office Chart : cells +Oracle Open Office Chart : cells;aligning +Oracle Open Office Chart : cells;coloring (Calc) +Oracle Open Office Chart : cells;cursor positions after input (Calc) +Oracle Open Office Chart : cells;formatting without effect (Calc) +Oracle Open Office Chart : cells;line breaks +Oracle Open Office Chart : cells;linked to controls +Oracle Open Office Chart : cells;number of +Oracle Open Office Chart : cells;pasting +Oracle Open Office Chart : cells;resetting formats +Oracle Open Office Chart : cells;showing grid lines (Calc) +Oracle Open Office Chart : centered text +Oracle Open Office Chart : centimeters +Oracle Open Office Chart : certificates +Oracle Open Office Chart : changes +Oracle Open Office Chart : changes;accepting or rejecting +Oracle Open Office Chart : changes;comparing to original +Oracle Open Office Chart : changes;protecting +Oracle Open Office Chart : changes;recording +Oracle Open Office Chart : changes;review function +Oracle Open Office Chart : changes;showing +Oracle Open Office Chart : changing +Oracle Open Office Chart : changing;document titles +Oracle Open Office Chart : changing;file associations in Setup program +Oracle Open Office Chart : changing;icon sizes +Oracle Open Office Chart : changing;links +Oracle Open Office Chart : changing;work directory +Oracle Open Office Chart : changing, see also editing and replacing +Oracle Open Office Chart : character styles +Oracle Open Office Chart : character styles;language selection +Oracle Open Office Chart : characters +Oracle Open Office Chart : characters;alternative fonts +Oracle Open Office Chart : characters;Asian layout +Oracle Open Office Chart : characters;bold +Oracle Open Office Chart : characters;coloring +Oracle Open Office Chart : characters;displaying only on screen (Writer) +Oracle Open Office Chart : characters;enabling CTL and Asian characters +Oracle Open Office Chart : characters;font effects +Oracle Open Office Chart : characters;fonts and formats +Oracle Open Office Chart : characters;hyperlinks +Oracle Open Office Chart : characters;italics +Oracle Open Office Chart : characters;language selection +Oracle Open Office Chart : characters;shadowed +Oracle Open Office Chart : characters;spacing +Oracle Open Office Chart : characters;special +Oracle Open Office Chart : characters;underlining +Oracle Open Office Chart : charcoal sketches filter +Oracle Open Office Chart : chart legends +Oracle Open Office Chart : chart legends;hiding +Oracle Open Office Chart : chart legends;showing icons with labels +Oracle Open Office Chart : chart types +Oracle Open Office Chart : chart types;area +Oracle Open Office Chart : chart types;bubble +Oracle Open Office Chart : chart types;column and bar +Oracle Open Office Chart : chart types;column and line +Oracle Open Office Chart : chart types;line +Oracle Open Office Chart : chart types;net +Oracle Open Office Chart : chart types;pie/donut +Oracle Open Office Chart : chart types;stock +Oracle Open Office Chart : chart types;XY (scatter) +Oracle Open Office Chart : charts +Oracle Open Office Chart : charts;3D views +Oracle Open Office Chart : charts;aligning +Oracle Open Office Chart : charts;arranging within stacks +Oracle Open Office Chart : charts;bars with textures +Oracle Open Office Chart : charts;choosing chart types +Oracle Open Office Chart : charts;colors +Oracle Open Office Chart : charts;copying with link to source cell range +Oracle Open Office Chart : charts;data labels +Oracle Open Office Chart : charts;displaying (Calc) +Oracle Open Office Chart : charts;editing axes +Oracle Open Office Chart : charts;editing data +Oracle Open Office Chart : charts;editing legends +Oracle Open Office Chart : charts;editing titles +Oracle Open Office Chart : charts;formatting areas +Oracle Open Office Chart : charts;formatting floors +Oracle Open Office Chart : charts;formatting walls +Oracle Open Office Chart : charts;inserting +Oracle Open Office Chart : charts;overview +Oracle Open Office Chart : charts;positioning axes +Oracle Open Office Chart : charts;properties +Oracle Open Office Chart : charts;reorganizing +Oracle Open Office Chart : charts;scaling axes +Oracle Open Office Chart : charts;scaling text +Oracle Open Office Chart : charts;shortcuts +Oracle Open Office Chart : charts;showing axes +Oracle Open Office Chart : charts;updating automatically (Writer) +Oracle Open Office Chart : check box creation +Oracle Open Office Chart : Chinese writing systems +Oracle Open Office Chart : choosing printers +Oracle Open Office Chart : circle drawings +Oracle Open Office Chart : Client Side ImageMap +Oracle Open Office Chart : clipboard +Oracle Open Office Chart : clipboard;cutting +Oracle Open Office Chart : clipboard;pasting +Oracle Open Office Chart : clipboard;pasting formatted/unformatted text +Oracle Open Office Chart : clipboard;selection clipboard +Oracle Open Office Chart : clipboard;Unix +Oracle Open Office Chart : closing +Oracle Open Office Chart : closing;documents +Oracle Open Office Chart : closing;toolbars +Oracle Open Office Chart : collaboration +Oracle Open Office Chart : color bar +Oracle Open Office Chart : colors +Oracle Open Office Chart : colors;adding +Oracle Open Office Chart : colors;appearance +Oracle Open Office Chart : colors;backgrounds +Oracle Open Office Chart : colors;charts +Oracle Open Office Chart : colors;fill format +Oracle Open Office Chart : colors;fonts +Oracle Open Office Chart : colors;grid lines and cells (Calc) +Oracle Open Office Chart : colors;models +Oracle Open Office Chart : colors;not printing +Oracle Open Office Chart : colors;printing in grayscale +Oracle Open Office Chart : colors;restriction (Calc) +Oracle Open Office Chart : colors;selection +Oracle Open Office Chart : column and line charts +Oracle Open Office Chart : column charts +Oracle Open Office Chart : column headers +Oracle Open Office Chart : column headers;displaying (Calc) +Oracle Open Office Chart : column headers;highlighting (Calc) +Oracle Open Office Chart : columns +Oracle Open Office Chart : columns;setting with the mouse +Oracle Open Office Chart : combination charts +Oracle Open Office Chart : combo box creation +Oracle Open Office Chart : command button creation +Oracle Open Office Chart : command buttons, see push buttons +Oracle Open Office Chart : command line parameters +Oracle Open Office Chart : commands +Oracle Open Office Chart : commands;repeating +Oracle Open Office Chart : commands;SQL +Oracle Open Office Chart : comments +Oracle Open Office Chart : comments;displaying (Calc) +Oracle Open Office Chart : comments;inserting/editing/deleting/printing +Oracle Open Office Chart : comments;on changes +Oracle Open Office Chart : comments;printing in text +Oracle Open Office Chart : common terms +Oracle Open Office Chart : common terms;Chinese dictionary +Oracle Open Office Chart : common terms;glossaries +Oracle Open Office Chart : common terms;Internet glossary +Oracle Open Office Chart : comparisons +Oracle Open Office Chart : comparisons;document versions +Oracle Open Office Chart : comparisons;operators in default filter dialog +Oracle Open Office Chart : compatibility settings for MS Word import +Oracle Open Office Chart : complete screen view +Oracle Open Office Chart : complex text layout +Oracle Open Office Chart : complex text layout;definition +Oracle Open Office Chart : complex text layout;enabling +Oracle Open Office Chart : complex text layout, see CTL +Oracle Open Office Chart : compose key to insert special characters +Oracle Open Office Chart : concatenation, see ampersand symbol +Oracle Open Office Chart : conditional separators +Oracle Open Office Chart : conditions +Oracle Open Office Chart : conditions;in number formats +Oracle Open Office Chart : conditions;items in Data Navigator +Oracle Open Office Chart : Configuration Manager +Oracle Open Office Chart : configuring +Oracle Open Office Chart : configuring;fax icon +Oracle Open Office Chart : configuring;Oracle Open Office +Oracle Open Office Chart : configuring;toolbars +Oracle Open Office Chart : connections to data sources (Base) +Oracle Open Office Chart : contents protection +Oracle Open Office Chart : context menus +Oracle Open Office Chart : control point display in presentations +Oracle Open Office Chart : controls +Oracle Open Office Chart : controls;activating in forms +Oracle Open Office Chart : controls;adding to documents +Oracle Open Office Chart : controls;arranging in forms +Oracle Open Office Chart : controls;arranging within stacks +Oracle Open Office Chart : controls;assigning data sources +Oracle Open Office Chart : controls;assigning macros (Basic) +Oracle Open Office Chart : controls;bound fields/list contents/linked cells +Oracle Open Office Chart : controls;events +Oracle Open Office Chart : controls;focus +Oracle Open Office Chart : controls;formatted fields +Oracle Open Office Chart : controls;grouping +Oracle Open Office Chart : controls;hidden +Oracle Open Office Chart : controls;inserting +Oracle Open Office Chart : controls;multi-line titles +Oracle Open Office Chart : controls;positions and sizes +Oracle Open Office Chart : controls;printing +Oracle Open Office Chart : controls;properties of form controls +Oracle Open Office Chart : controls;properties of table controls +Oracle Open Office Chart : controls;reference by SQL +Oracle Open Office Chart : controls;rich text control +Oracle Open Office Chart : controls;select mode +Oracle Open Office Chart : controls;showing (Writer) +Oracle Open Office Chart : converters +Oracle Open Office Chart : converters;Euro converter +Oracle Open Office Chart : converters;PostScript, UNIX +Oracle Open Office Chart : converters;XML +Oracle Open Office Chart : converting +Oracle Open Office Chart : converting;Hangul/Hanja +Oracle Open Office Chart : converting;metrics +Oracle Open Office Chart : converting;Microsoft documents +Oracle Open Office Chart : converting;Oracle Open Office documents +Oracle Open Office Chart : converting;Pocket PC formats +Oracle Open Office Chart : copies +Oracle Open Office Chart : copies;printing +Oracle Open Office Chart : copying +Oracle Open Office Chart : copying;by drag and drop +Oracle Open Office Chart : copying;data from text documents +Oracle Open Office Chart : copying;datasource records in spreadsheets +Oracle Open Office Chart : copying;draw objects +Oracle Open Office Chart : copying;draw objects between documents +Oracle Open Office Chart : copying;formatting +Oracle Open Office Chart : copying;from data source view +Oracle Open Office Chart : copying;from Gallery +Oracle Open Office Chart : copying;in Unix +Oracle Open Office Chart : copying;pictures, between documents +Oracle Open Office Chart : copying;sheet areas, to text documents +Oracle Open Office Chart : copying;to Gallery +Oracle Open Office Chart : copyright for Oracle Open Office +Oracle Open Office Chart : corner roundings +Oracle Open Office Chart : crash reports +Oracle Open Office Chart : criteria of query design (Base) +Oracle Open Office Chart : cropping pictures +Oracle Open Office Chart : CTL +Oracle Open Office Chart : CTL;(not) wrapping words +Oracle Open Office Chart : CTL;complex text layout languages +Oracle Open Office Chart : CTL;definition +Oracle Open Office Chart : CTL;options +Oracle Open Office Chart : currencies +Oracle Open Office Chart : currencies;converters +Oracle Open Office Chart : currencies;format codes +Oracle Open Office Chart : currency field creation +Oracle Open Office Chart : currency formats +Oracle Open Office Chart : cursor +Oracle Open Office Chart : cursor;allowing in protected areas (Writer) +Oracle Open Office Chart : cursor;in read-only text +Oracle Open Office Chart : cursor;quickly moving to an object +Oracle Open Office Chart : curves +Oracle Open Office Chart : curves;editing points +Oracle Open Office Chart : curves;properties in line charts/XY charts +Oracle Open Office Chart : custom dictionaries +Oracle Open Office Chart : custom dictionaries;editing +Oracle Open Office Chart : custom hyphens (Writer) +Oracle Open Office Chart : custom quotes +Oracle Open Office Chart : custom templates +Oracle Open Office Chart : customizing +Oracle Open Office Chart : customizing;events +Oracle Open Office Chart : customizing;keyboard +Oracle Open Office Chart : customizing;menus +Oracle Open Office Chart : customizing;Oracle Open Office +Oracle Open Office Chart : customizing;round corners +Oracle Open Office Chart : customizing;toolbars +Oracle Open Office Chart : cutting +Oracle Open Office Chart : dashes +Oracle Open Office Chart : data +Oracle Open Office Chart : data;filtering in forms +Oracle Open Office Chart : data;forms and subforms +Oracle Open Office Chart : data;read-only +Oracle Open Office Chart : data;sorting in forms +Oracle Open Office Chart : data;user data +Oracle Open Office Chart : data binding change in XForms +Oracle Open Office Chart : data labels in charts +Oracle Open Office Chart : Data Navigator +Oracle Open Office Chart : Data Navigator;adding/editing items +Oracle Open Office Chart : Data Navigator;display options +Oracle Open Office Chart : data ranges in charts +Oracle Open Office Chart : data series +Oracle Open Office Chart : data source browser +Oracle Open Office Chart : data source explorer +Oracle Open Office Chart : data source view +Oracle Open Office Chart : data source view;drag and drop +Oracle Open Office Chart : data source view;overview +Oracle Open Office Chart : data source view;showing +Oracle Open Office Chart : data sources +Oracle Open Office Chart : data sources;as tables +Oracle Open Office Chart : data sources;connection settings (Base) +Oracle Open Office Chart : data sources;copying records to spreadsheets +Oracle Open Office Chart : data sources;displaying current +Oracle Open Office Chart : data sources;LDAP server (Base) +Oracle Open Office Chart : data sources;Oracle Open Office Base +Oracle Open Office Chart : data sources;registering address books +Oracle Open Office Chart : data sources;reports +Oracle Open Office Chart : data sources;setting for stock charts +Oracle Open Office Chart : data sources;viewing +Oracle Open Office Chart : data structure of XForms +Oracle Open Office Chart : data values in charts +Oracle Open Office Chart : data, see also values +Oracle Open Office Chart : database contents +Oracle Open Office Chart : database contents;inserting as tables +Oracle Open Office Chart : database contents;inserting as text +Oracle Open Office Chart : database reports +Oracle Open Office Chart : Database Wizard (Base) +Oracle Open Office Chart : databases +Oracle Open Office Chart : databases;administration through SQL (Base) +Oracle Open Office Chart : databases;ADO (Base) +Oracle Open Office Chart : databases;connecting (Base) +Oracle Open Office Chart : databases;creating +Oracle Open Office Chart : databases;creating labels +Oracle Open Office Chart : databases;creating queries +Oracle Open Office Chart : databases;creating reports +Oracle Open Office Chart : databases;creating tables +Oracle Open Office Chart : databases;deleting (Base) +Oracle Open Office Chart : databases;drag and drop (Base) +Oracle Open Office Chart : databases;editing tables +Oracle Open Office Chart : databases;form filters +Oracle Open Office Chart : databases;formats (Base) +Oracle Open Office Chart : databases;importing/exporting +Oracle Open Office Chart : databases;JDBC (Base) +Oracle Open Office Chart : databases;main page (Base) +Oracle Open Office Chart : databases;ODBC (Base) +Oracle Open Office Chart : databases;overview +Oracle Open Office Chart : databases;registering (Base) +Oracle Open Office Chart : databases;searching records +Oracle Open Office Chart : databases;shortcut keys +Oracle Open Office Chart : databases;sorting +Oracle Open Office Chart : databases;standard filters +Oracle Open Office Chart : databases;text formats +Oracle Open Office Chart : databases;viewing +Oracle Open Office Chart : date fields +Oracle Open Office Chart : date fields;creating +Oracle Open Office Chart : date fields;properties +Oracle Open Office Chart : date formats +Oracle Open Office Chart : dates +Oracle Open Office Chart : dates;default (Calc) +Oracle Open Office Chart : dates;printing in presentations +Oracle Open Office Chart : dates;start 1900/01/01 (Calc) +Oracle Open Office Chart : dates;start 1904/01/01 (Calc) +Oracle Open Office Chart : dBASE +Oracle Open Office Chart : dBASE;database settings (Base) +Oracle Open Office Chart : DDE +Oracle Open Office Chart : DDE;definition +Oracle Open Office Chart : deactivating +Oracle Open Office Chart : deactivating;plug-ins +Oracle Open Office Chart : decimal places displayed (Calc) +Oracle Open Office Chart : decimal separator key +Oracle Open Office Chart : decimal tab stops +Oracle Open Office Chart : default directories +Oracle Open Office Chart : default filters +Oracle Open Office Chart : default filters;comparison operators +Oracle Open Office Chart : default filters;databases +Oracle Open Office Chart : default printer +Oracle Open Office Chart : default printer;setting up +Oracle Open Office Chart : default printer;UNIX +Oracle Open Office Chart : default templates +Oracle Open Office Chart : default templates;changing +Oracle Open Office Chart : default templates;organizing +Oracle Open Office Chart : defaults +Oracle Open Office Chart : defaults;documents +Oracle Open Office Chart : defaults;file formats in file dialogs +Oracle Open Office Chart : defaults;file formats in Oracle Open Office +Oracle Open Office Chart : defaults;fonts +Oracle Open Office Chart : defaults;grids (Writer/Calc) +Oracle Open Office Chart : defaults;languages +Oracle Open Office Chart : defaults;number formats +Oracle Open Office Chart : defaults;of saving +Oracle Open Office Chart : defaults;program configuration +Oracle Open Office Chart : defaults;tab stops in text +Oracle Open Office Chart : defaults;views +Oracle Open Office Chart : defining +Oracle Open Office Chart : defining;arrowheads and other line ends +Oracle Open Office Chart : defining;colors +Oracle Open Office Chart : defining;line styles +Oracle Open Office Chart : defining;paragraph borders +Oracle Open Office Chart : defining;queries (Base) +Oracle Open Office Chart : defining;table borders +Oracle Open Office Chart : deleting +Oracle Open Office Chart : deleting;all direct formatting +Oracle Open Office Chart : deleting;comments +Oracle Open Office Chart : deleting;databases (Base) +Oracle Open Office Chart : deleting;hyperlinks +Oracle Open Office Chart : deleting;lines in text +Oracle Open Office Chart : deleting;models/instances +Oracle Open Office Chart : deleting;namespaces in XForms +Oracle Open Office Chart : deleting;tab stops +Oracle Open Office Chart : deleting;templates +Oracle Open Office Chart : deleting;XML filters +Oracle Open Office Chart : depth stagger +Oracle Open Office Chart : descriptions for objects +Oracle Open Office Chart : design mode after saving +Oracle Open Office Chart : design view +Oracle Open Office Chart : design view;creating forms +Oracle Open Office Chart : design view;queries/views (Base) +Oracle Open Office Chart : designing +Oracle Open Office Chart : designing;database tables +Oracle Open Office Chart : designing;fonts +Oracle Open Office Chart : designing;queries (Base) +Oracle Open Office Chart : detaching toolbars +Oracle Open Office Chart : dictionaries +Oracle Open Office Chart : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Chart : dictionaries;creating +Oracle Open Office Chart : dictionaries;editing user-defined +Oracle Open Office Chart : dictionaries;spellcheck +Oracle Open Office Chart : dictionaries, see also languages +Oracle Open Office Chart : digital signatures +Oracle Open Office Chart : digital signatures;getting/managing/applying +Oracle Open Office Chart : digital signatures;overview +Oracle Open Office Chart : digital signatures;WebDAV over HTTPS +Oracle Open Office Chart : direct formatting +Oracle Open Office Chart : direct formatting;undoing all +Oracle Open Office Chart : directories +Oracle Open Office Chart : directories;creating new +Oracle Open Office Chart : directories;directory structure +Oracle Open Office Chart : disabled persons +Oracle Open Office Chart : displaying +Oracle Open Office Chart : displaying;comments (Calc) +Oracle Open Office Chart : displaying;comments in text documents +Oracle Open Office Chart : displaying;non-printing characters (Writer) +Oracle Open Office Chart : displaying;pictures and objects (Writer) +Oracle Open Office Chart : displaying;tables (Writer) +Oracle Open Office Chart : displaying;zero values (Calc) +Oracle Open Office Chart : distances +Oracle Open Office Chart : distinct values in SQL queries +Oracle Open Office Chart : distorting in drawings +Oracle Open Office Chart : distributing XML filters +Oracle Open Office Chart : docking +Oracle Open Office Chart : docking;definition +Oracle Open Office Chart : docking;toolbars +Oracle Open Office Chart : docking;windows +Oracle Open Office Chart : Document Converter Wizard +Oracle Open Office Chart : Document Map, see Navigator +Oracle Open Office Chart : document types in Oracle Open Office +Oracle Open Office Chart : documents +Oracle Open Office Chart : documents;changing titles +Oracle Open Office Chart : documents;closing +Oracle Open Office Chart : documents;comparing +Oracle Open Office Chart : documents;contents as lists +Oracle Open Office Chart : documents;editing time +Oracle Open Office Chart : documents;exporting +Oracle Open Office Chart : documents;importing +Oracle Open Office Chart : documents;languages +Oracle Open Office Chart : documents;measurement units in +Oracle Open Office Chart : documents;merging +Oracle Open Office Chart : documents;number of pages/tables/sheets +Oracle Open Office Chart : documents;opening +Oracle Open Office Chart : documents;opening in design mode +Oracle Open Office Chart : documents;opening with templates +Oracle Open Office Chart : documents;organizing +Oracle Open Office Chart : documents;printing +Oracle Open Office Chart : documents;read-only +Oracle Open Office Chart : documents;reloading +Oracle Open Office Chart : documents;saving +Oracle Open Office Chart : documents;saving automatically +Oracle Open Office Chart : documents;saving in other formats +Oracle Open Office Chart : documents;sending as e-mail +Oracle Open Office Chart : documents;styles changed +Oracle Open Office Chart : documents;version management +Oracle Open Office Chart : documents;version numbers +Oracle Open Office Chart : donut charts +Oracle Open Office Chart : dotted areas +Oracle Open Office Chart : double-line spacing in paragraphs +Oracle Open Office Chart : double-line writing in Asian layout +Oracle Open Office Chart : drag and drop +Oracle Open Office Chart : drag and drop;copying and pasting text +Oracle Open Office Chart : drag and drop;data source view +Oracle Open Office Chart : drag and drop;from Gallery to draw objects +Oracle Open Office Chart : drag and drop;overview +Oracle Open Office Chart : drag and drop;pictures +Oracle Open Office Chart : drag and drop;to Gallery +Oracle Open Office Chart : draw objects +Oracle Open Office Chart : draw objects;adding/editing/copying +Oracle Open Office Chart : draw objects;anchoring +Oracle Open Office Chart : draw objects;arranging within stacks +Oracle Open Office Chart : draw objects;copying between documents +Oracle Open Office Chart : draw objects;displaying (Calc) +Oracle Open Office Chart : draw objects;dropping Gallery pictures +Oracle Open Office Chart : draw objects;flipping +Oracle Open Office Chart : draw objects;legends +Oracle Open Office Chart : draw objects;positioning and resizing +Oracle Open Office Chart : draw objects;protecting +Oracle Open Office Chart : draw objects;slanting +Oracle Open Office Chart : draw objects;text in +Oracle Open Office Chart : Drawing bar +Oracle Open Office Chart : drawing lines in text +Oracle Open Office Chart : drawings +Oracle Open Office Chart : drawings;creating/opening +Oracle Open Office Chart : drawings;languages +Oracle Open Office Chart : drawings;printing +Oracle Open Office Chart : drawings;printing defaults +Oracle Open Office Chart : drawings;printing in text documents +Oracle Open Office Chart : drawings;saving +Oracle Open Office Chart : drawings;saving automatically +Oracle Open Office Chart : drawings;saving in other formats +Oracle Open Office Chart : drawings;sending as e-mail +Oracle Open Office Chart : drawings;showing (Writer) +Oracle Open Office Chart : drawings, see also draw objects +Oracle Open Office Chart : drop-down lists in form functions +Oracle Open Office Chart : e-mail attachments +Oracle Open Office Chart : Edit File icon +Oracle Open Office Chart : edit mode +Oracle Open Office Chart : edit mode;after opening +Oracle Open Office Chart : edit mode;through Enter key (Calc) +Oracle Open Office Chart : Edit Points bar +Oracle Open Office Chart : editing +Oracle Open Office Chart : editing;chart axes +Oracle Open Office Chart : editing;chart data +Oracle Open Office Chart : editing;chart legends +Oracle Open Office Chart : editing;chart titles +Oracle Open Office Chart : editing;comments +Oracle Open Office Chart : editing;data binding of XForms +Oracle Open Office Chart : editing;database tables and queries +Oracle Open Office Chart : editing;draw objects +Oracle Open Office Chart : editing;Fontwork objects +Oracle Open Office Chart : editing;hyperlinks +Oracle Open Office Chart : editing;menus +Oracle Open Office Chart : editing;objects +Oracle Open Office Chart : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Chart : editing;pictures +Oracle Open Office Chart : editing;reports +Oracle Open Office Chart : editing;shortcut keys +Oracle Open Office Chart : editing;tab stops +Oracle Open Office Chart : editing;templates +Oracle Open Office Chart : editing;titles +Oracle Open Office Chart : editing;toolbars +Oracle Open Office Chart : editing;undoing +Oracle Open Office Chart : editing;XForms +Oracle Open Office Chart : editing time of documents +Oracle Open Office Chart : editors +Oracle Open Office Chart : editors;formula editor +Oracle Open Office Chart : editors;ImageMap editor +Oracle Open Office Chart : effects +Oracle Open Office Chart : effects;font positions +Oracle Open Office Chart : effects;fonts +Oracle Open Office Chart : effects;Fontwork icons +Oracle Open Office Chart : empty documents +Oracle Open Office Chart : empty paragraph removal +Oracle Open Office Chart : encryption of contents +Oracle Open Office Chart : entering groups +Oracle Open Office Chart : entering text from right to left +Oracle Open Office Chart : equal sign, see also operators +Oracle Open Office Chart : equations in formula editor +Oracle Open Office Chart : error bars in charts +Oracle Open Office Chart : error indicators in charts +Oracle Open Office Chart : Error Report Tool +Oracle Open Office Chart : Euro +Oracle Open Office Chart : Euro;currency formats +Oracle Open Office Chart : Euro;Euro Converter Wizard +Oracle Open Office Chart : even/odd pages +Oracle Open Office Chart : even/odd pages;printing +Oracle Open Office Chart : events +Oracle Open Office Chart : events;assigning scripts +Oracle Open Office Chart : events;controls +Oracle Open Office Chart : events;customizing +Oracle Open Office Chart : events;in forms +Oracle Open Office Chart : Excel +Oracle Open Office Chart : Excel;saving as +Oracle Open Office Chart : Excel;search criteria +Oracle Open Office Chart : exceptions +Oracle Open Office Chart : exceptions;user-defined dictionaries +Oracle Open Office Chart : exchanging, see also replacing +Oracle Open Office Chart : executing SQL commands +Oracle Open Office Chart : exiting +Oracle Open Office Chart : exiting;groups +Oracle Open Office Chart : exiting;Oracle Open Office +Oracle Open Office Chart : expanding formatting (Calc) +Oracle Open Office Chart : explorer of data sources +Oracle Open Office Chart : export filters +Oracle Open Office Chart : exporting +Oracle Open Office Chart : exporting;bitmaps +Oracle Open Office Chart : exporting;HTML and text documents +Oracle Open Office Chart : exporting;Microsoft Office documents with VBA code +Oracle Open Office Chart : exporting;spreadsheets to text format +Oracle Open Office Chart : exporting;templates +Oracle Open Office Chart : exporting;to foreign formats +Oracle Open Office Chart : exporting;to HTML +Oracle Open Office Chart : exporting;to Microsoft Office formats +Oracle Open Office Chart : exporting;to PDF +Oracle Open Office Chart : exporting;to PostScript format +Oracle Open Office Chart : exporting;to XML +Oracle Open Office Chart : exporting;XML files +Oracle Open Office Chart : extended tips in Help +Oracle Open Office Chart : extension mode in text +Oracle Open Office Chart : extensions +Oracle Open Office Chart : extensions;Extension Manager +Oracle Open Office Chart : extensions;file formats +Oracle Open Office Chart : external keys (Base) +Oracle Open Office Chart : faster printing +Oracle Open Office Chart : faxes +Oracle Open Office Chart : faxes;configuring Oracle Open Office +Oracle Open Office Chart : faxes;fax programs/fax printers under UNIX +Oracle Open Office Chart : faxes;selecting a fax machine +Oracle Open Office Chart : faxes;sending +Oracle Open Office Chart : faxes;wizards +Oracle Open Office Chart : feedback +Oracle Open Office Chart : feedback;automatically +Oracle Open Office Chart : fields +Oracle Open Office Chart : fields;database tables +Oracle Open Office Chart : fields;displaying field codes (Writer) +Oracle Open Office Chart : fields;formatted fields +Oracle Open Office Chart : fields;updating automatically (Writer) +Oracle Open Office Chart : file associations for Microsoft Office +Oracle Open Office Chart : file filters +Oracle Open Office Chart : file filters;mobile devices +Oracle Open Office Chart : file filters;XML +Oracle Open Office Chart : file formats +Oracle Open Office Chart : file formats;changing Oracle Open Office defaults +Oracle Open Office Chart : file formats;OpenDocument/XML +Oracle Open Office Chart : file formats;saving always in other formats +Oracle Open Office Chart : file selection button +Oracle Open Office Chart : file sharing options for current document +Oracle Open Office Chart : files +Oracle Open Office Chart : files;filters and formats +Oracle Open Office Chart : files;importing +Oracle Open Office Chart : files;opening +Oracle Open Office Chart : files;properties +Oracle Open Office Chart : files;saving +Oracle Open Office Chart : files;saving automatically +Oracle Open Office Chart : files;saving in other formats +Oracle Open Office Chart : files;sending as e-mail +Oracle Open Office Chart : files;version numbers +Oracle Open Office Chart : files and folders in Oracle Open Office +Oracle Open Office Chart : fill characters with tabulators +Oracle Open Office Chart : fill colors for areas +Oracle Open Office Chart : fill patterns for areas +Oracle Open Office Chart : filter conditions +Oracle Open Office Chart : filter conditions;connecting +Oracle Open Office Chart : filter conditions;in queries (Base) +Oracle Open Office Chart : filtering +Oracle Open Office Chart : filtering;data in databases +Oracle Open Office Chart : filtering;data in forms +Oracle Open Office Chart : filters +Oracle Open Office Chart : filters;comparison operators +Oracle Open Office Chart : filters;for import and export +Oracle Open Office Chart : filters;Navigator +Oracle Open Office Chart : filters;pictures +Oracle Open Office Chart : filters;XML filter settings +Oracle Open Office Chart : Find tab in Help +Oracle Open Office Chart : finding +Oracle Open Office Chart : finding;in all sheets +Oracle Open Office Chart : finding;records in form documents +Oracle Open Office Chart : finding;selections +Oracle Open Office Chart : finding;similarity search +Oracle Open Office Chart : fitting to pages +Oracle Open Office Chart : fitting to pages;print settings in Math +Oracle Open Office Chart : fitting to pages;print settings in presentations +Oracle Open Office Chart : fixed text +Oracle Open Office Chart : fixed text;form functions +Oracle Open Office Chart : fixing toolbars +Oracle Open Office Chart : flipping draw objects +Oracle Open Office Chart : floating frames in HTML documents +Oracle Open Office Chart : floating toolbars +Oracle Open Office Chart : focus of controls +Oracle Open Office Chart : folder creation +Oracle Open Office Chart : font lists +Oracle Open Office Chart : font name box +Oracle Open Office Chart : font sizes +Oracle Open Office Chart : font sizes;bullets +Oracle Open Office Chart : font sizes;relative changes +Oracle Open Office Chart : font sizes;scaling on screen +Oracle Open Office Chart : font sizes;text +Oracle Open Office Chart : fonts +Oracle Open Office Chart : fonts;adding under UNIX +Oracle Open Office Chart : fonts;changing in templates +Oracle Open Office Chart : fonts;colors +Oracle Open Office Chart : fonts;default settings +Oracle Open Office Chart : fonts;effects +Oracle Open Office Chart : fonts;for HTML and Basic +Oracle Open Office Chart : fonts;formats +Oracle Open Office Chart : fonts;outlines +Oracle Open Office Chart : fonts;positions in text +Oracle Open Office Chart : fonts;shadows +Oracle Open Office Chart : fonts;specifying several +Oracle Open Office Chart : fonts;strikethrough +Oracle Open Office Chart : fonts;styles +Oracle Open Office Chart : fonts;text objects +Oracle Open Office Chart : Fontwork icons +Oracle Open Office Chart : footers +Oracle Open Office Chart : footers;backgrounds +Oracle Open Office Chart : form controls +Oracle Open Office Chart : form controls;assigning macros +Oracle Open Office Chart : form controls;protecting +Oracle Open Office Chart : form controls;toolbars +Oracle Open Office Chart : form fields +Oracle Open Office Chart : form filters +Oracle Open Office Chart : Form Navigator +Oracle Open Office Chart : format codes +Oracle Open Office Chart : format codes;numbers +Oracle Open Office Chart : format filling printing in Oracle Open Office Math +Oracle Open Office Chart : Format Paintbrush +Oracle Open Office Chart : formats +Oracle Open Office Chart : formats;Asian layout +Oracle Open Office Chart : formats;fonts +Oracle Open Office Chart : formats;maximizing page formats +Oracle Open Office Chart : formats;number and currency formats +Oracle Open Office Chart : formats;of currencies/date/time +Oracle Open Office Chart : formats;on opening and saving +Oracle Open Office Chart : formats;pasting in special formats +Oracle Open Office Chart : formats;positions +Oracle Open Office Chart : formats;tabulators +Oracle Open Office Chart : formatted fields +Oracle Open Office Chart : formatted fields;form functions +Oracle Open Office Chart : formatted fields;properties +Oracle Open Office Chart : formatting +Oracle Open Office Chart : formatting;Asian typography +Oracle Open Office Chart : formatting;axes in charts +Oracle Open Office Chart : formatting;chart areas +Oracle Open Office Chart : formatting;chart floors +Oracle Open Office Chart : formatting;chart legends +Oracle Open Office Chart : formatting;chart titles +Oracle Open Office Chart : formatting;chart walls +Oracle Open Office Chart : formatting;copying +Oracle Open Office Chart : formatting;definition +Oracle Open Office Chart : formatting;expanding (Calc) +Oracle Open Office Chart : formatting;font effects +Oracle Open Office Chart : formatting;hyperlinks +Oracle Open Office Chart : formatting;pages +Oracle Open Office Chart : formatting;printer metrics (Writer) +Oracle Open Office Chart : formatting;undoing +Oracle Open Office Chart : formatting;undoing when writing +Oracle Open Office Chart : forms +Oracle Open Office Chart : forms;browsing +Oracle Open Office Chart : forms;Combo Box/List Box Wizard +Oracle Open Office Chart : forms;creating +Oracle Open Office Chart : forms;data +Oracle Open Office Chart : forms;designing (Base) +Oracle Open Office Chart : forms;events +Oracle Open Office Chart : forms;filtering data +Oracle Open Office Chart : forms;finding records +Oracle Open Office Chart : forms;focus after opening +Oracle Open Office Chart : forms;general information (Base) +Oracle Open Office Chart : forms;grouping controls +Oracle Open Office Chart : forms;HTML filters +Oracle Open Office Chart : forms;Navigator +Oracle Open Office Chart : forms;opening in design mode +Oracle Open Office Chart : forms;properties +Oracle Open Office Chart : forms;sorting data +Oracle Open Office Chart : forms;subforms +Oracle Open Office Chart : forms;wizards +Oracle Open Office Chart : forms;XForms +Oracle Open Office Chart : formula texts +Oracle Open Office Chart : formula texts;printing in Oracle Open Office Math +Oracle Open Office Chart : formulas +Oracle Open Office Chart : formulas;new +Oracle Open Office Chart : formulas;starting formula editor +Oracle Open Office Chart : formulas in reports +Oracle Open Office Chart : formulas in reports;editing +Oracle Open Office Chart : forums and support +Oracle Open Office Chart : frames +Oracle Open Office Chart : frames;around paragraphs +Oracle Open Office Chart : frames;around tables +Oracle Open Office Chart : frames;AutoCorrect function +Oracle Open Office Chart : frames;backgrounds +Oracle Open Office Chart : frames;captions (Writer) +Oracle Open Office Chart : frames;printing in Oracle Open Office Math +Oracle Open Office Chart : frames;protecting +Oracle Open Office Chart : frames;selection frames +Oracle Open Office Chart : frames;text fitting to frames +Oracle Open Office Chart : freeform lines +Oracle Open Office Chart : freeform lines;draw functions +Oracle Open Office Chart : FTP +Oracle Open Office Chart : FTP;opening documents +Oracle Open Office Chart : FTP;saving documents +Oracle Open Office Chart : full joins (Base) +Oracle Open Office Chart : full screen view +Oracle Open Office Chart : full-text search in Help +Oracle Open Office Chart : functions in reports +Oracle Open Office Chart : functions in reports;editing +Oracle Open Office Chart : Gallery +Oracle Open Office Chart : Gallery;adding pictures +Oracle Open Office Chart : Gallery;dragging pictures to draw objects +Oracle Open Office Chart : Gallery;hiding/showing +Oracle Open Office Chart : Gallery;inserting pictures from +Oracle Open Office Chart : get method for form transmissions +Oracle Open Office Chart : getting support +Oracle Open Office Chart : GIF format +Oracle Open Office Chart : glossaries +Oracle Open Office Chart : glossaries;common terms +Oracle Open Office Chart : glossaries;Internet terms +Oracle Open Office Chart : gradients off for faster printing +Oracle Open Office Chart : graphic objects, see draw objects +Oracle Open Office Chart : graphical text art +Oracle Open Office Chart : graphics +Oracle Open Office Chart : graphics;cache +Oracle Open Office Chart : graphics;protecting +Oracle Open Office Chart : graphics, see also pictures +Oracle Open Office Chart : grayscale printing +Oracle Open Office Chart : grid controls +Oracle Open Office Chart : grid controls;form functions +Oracle Open Office Chart : grids +Oracle Open Office Chart : grids;defaults (Writer/Calc) +Oracle Open Office Chart : grids;display options (Impress/Draw) +Oracle Open Office Chart : grids;displaying lines (Calc) +Oracle Open Office Chart : grids;formatting axes +Oracle Open Office Chart : grids;inserting in charts +Oracle Open Office Chart : group box creation +Oracle Open Office Chart : groups +Oracle Open Office Chart : groups;entering/exiting/ungrouping +Oracle Open Office Chart : groups;naming +Oracle Open Office Chart : groups;of controls +Oracle Open Office Chart : guides +Oracle Open Office Chart : guides;display options (Impress/Draw) +Oracle Open Office Chart : guides;displaying when moving objects (Impress) +Oracle Open Office Chart : guides;showing (Calc) +Oracle Open Office Chart : guides;showing when moving frames (Writer) +Oracle Open Office Chart : gutter +Oracle Open Office Chart : handles +Oracle Open Office Chart : handles;displaying (Writer) +Oracle Open Office Chart : handles;scaling +Oracle Open Office Chart : handles;showing simple/large handles (Calc) +Oracle Open Office Chart : Hangul/Hanja +Oracle Open Office Chart : hatching +Oracle Open Office Chart : headers +Oracle Open Office Chart : headers;backgrounds +Oracle Open Office Chart : headings +Oracle Open Office Chart : headings;entering as text box +Oracle Open Office Chart : Hebrew +Oracle Open Office Chart : Hebrew;entering text +Oracle Open Office Chart : Hebrew;language settings +Oracle Open Office Chart : Help +Oracle Open Office Chart : Help;bookmarks +Oracle Open Office Chart : Help;extended tips on/off +Oracle Open Office Chart : Help;full-text search +Oracle Open Office Chart : Help;Help tips +Oracle Open Office Chart : Help;keywords +Oracle Open Office Chart : Help;navigation pane showing/hiding +Oracle Open Office Chart : Help;style sheets +Oracle Open Office Chart : Help;topics +Oracle Open Office Chart : Help Agent +Oracle Open Office Chart : Help Agent;help +Oracle Open Office Chart : Help Agent;options +Oracle Open Office Chart : Help tips +Oracle Open Office Chart : Help tips;hiding +Oracle Open Office Chart : hidden controls in Form Navigator +Oracle Open Office Chart : hidden fields display (Writer) +Oracle Open Office Chart : hidden pages +Oracle Open Office Chart : hidden pages;printing in presentations +Oracle Open Office Chart : hidden text +Oracle Open Office Chart : hidden text;showing (Writer) +Oracle Open Office Chart : hiding +Oracle Open Office Chart : hiding;changes +Oracle Open Office Chart : hiding;chart legends +Oracle Open Office Chart : hiding;docked windows +Oracle Open Office Chart : hiding;navigation pane in Help window +Oracle Open Office Chart : high contrast mode +Oracle Open Office Chart : Hindi +Oracle Open Office Chart : Hindi;entering text +Oracle Open Office Chart : Hindi;language settings +Oracle Open Office Chart : horizontal scrollbars (Writer) +Oracle Open Office Chart : hotspots +Oracle Open Office Chart : HowTos for charts +Oracle Open Office Chart : HTML +Oracle Open Office Chart : HTML;definition +Oracle Open Office Chart : HTML;export character set +Oracle Open Office Chart : HTML;fonts for source display +Oracle Open Office Chart : HTML;importing META tags +Oracle Open Office Chart : HTML;live presentations +Oracle Open Office Chart : HTML documents +Oracle Open Office Chart : HTML documents;auto reloading +Oracle Open Office Chart : HTML documents;importing/exporting +Oracle Open Office Chart : HTML documents;META tags in +Oracle Open Office Chart : HTML documents;new +Oracle Open Office Chart : HTML documents;source text +Oracle Open Office Chart : hyperlinks +Oracle Open Office Chart : hyperlinks;assigning macros +Oracle Open Office Chart : hyperlinks;character formats +Oracle Open Office Chart : hyperlinks;definition +Oracle Open Office Chart : hyperlinks;deleting +Oracle Open Office Chart : hyperlinks;editing +Oracle Open Office Chart : hyperlinks;inserting +Oracle Open Office Chart : hyperlinks;relative and absolute +Oracle Open Office Chart : hyperlinks;turning off automatic recognition +Oracle Open Office Chart : hyperlinks, see also links +Oracle Open Office Chart : hyphenation +Oracle Open Office Chart : hyphenation;activating for a language +Oracle Open Office Chart : hyphenation;minimal number of characters +Oracle Open Office Chart : hyphens +Oracle Open Office Chart : hyphens;displaying custom (Writer) +Oracle Open Office Chart : hyphens;inserting custom +Oracle Open Office Chart : icon bars, see toolbars +Oracle Open Office Chart : icon sizes +Oracle Open Office Chart : ignore list for spellcheck +Oracle Open Office Chart : illumination +Oracle Open Office Chart : illumination;3D charts +Oracle Open Office Chart : illustrations, see pictures +Oracle Open Office Chart : image button creation +Oracle Open Office Chart : image control creation +Oracle Open Office Chart : ImageMap +Oracle Open Office Chart : ImageMap;definition +Oracle Open Office Chart : ImageMap;editor +Oracle Open Office Chart : images +Oracle Open Office Chart : images;ImageMap +Oracle Open Office Chart : images;inserting and editing bitmaps +Oracle Open Office Chart : images, see also pictures +Oracle Open Office Chart : IME +Oracle Open Office Chart : IME;definition +Oracle Open Office Chart : IME;showing/hiding +Oracle Open Office Chart : import filters +Oracle Open Office Chart : import restrictions for Microsoft Office +Oracle Open Office Chart : importing +Oracle Open Office Chart : importing;bitmaps +Oracle Open Office Chart : importing;compatibility settings for text import +Oracle Open Office Chart : importing;databases +Oracle Open Office Chart : importing;documents in other formats +Oracle Open Office Chart : importing;from XML +Oracle Open Office Chart : importing;HTML and text documents +Oracle Open Office Chart : importing;HTML with META tags +Oracle Open Office Chart : importing;Microsoft Office documents with VBA code +Oracle Open Office Chart : importing;tables in text format +Oracle Open Office Chart : importing;templates +Oracle Open Office Chart : improvement program +Oracle Open Office Chart : inches +Oracle Open Office Chart : Index tab in Help +Oracle Open Office Chart : indexes +Oracle Open Office Chart : indexes;backgrounds +Oracle Open Office Chart : indexes;showing/hiding Help index tab +Oracle Open Office Chart : indicator lines in text +Oracle Open Office Chart : inner joins (Base) +Oracle Open Office Chart : input method window +Oracle Open Office Chart : insert mode for entering text +Oracle Open Office Chart : inserting +Oracle Open Office Chart : inserting;buttons in toolbars +Oracle Open Office Chart : inserting;cell ranges from spreadsheets +Oracle Open Office Chart : inserting;charts +Oracle Open Office Chart : inserting;clipboard options +Oracle Open Office Chart : inserting;comments +Oracle Open Office Chart : inserting;data from text documents +Oracle Open Office Chart : inserting;datasource records in spreadsheets +Oracle Open Office Chart : inserting;drawings +Oracle Open Office Chart : inserting;floating frames +Oracle Open Office Chart : inserting;Fontwork objects +Oracle Open Office Chart : inserting;form fields +Oracle Open Office Chart : inserting;hyperlinks +Oracle Open Office Chart : inserting;line breaks in cells +Oracle Open Office Chart : inserting;movies/sounds +Oracle Open Office Chart : inserting;new text tables defaults +Oracle Open Office Chart : inserting;objects from Gallery +Oracle Open Office Chart : inserting;OLE objects +Oracle Open Office Chart : inserting;paragraph borders +Oracle Open Office Chart : inserting;paragraph bullets +Oracle Open Office Chart : inserting;pictures in Gallery +Oracle Open Office Chart : inserting;plug-ins +Oracle Open Office Chart : inserting;push buttons +Oracle Open Office Chart : inserting;special characters +Oracle Open Office Chart : inserting;tab stops +Oracle Open Office Chart : inserting;textures on chart bars +Oracle Open Office Chart : installing +Oracle Open Office Chart : installing;ActiveX control +Oracle Open Office Chart : installing;mobile device filters +Oracle Open Office Chart : installing;UNO components +Oracle Open Office Chart : installing;XML filters +Oracle Open Office Chart : instructions +Oracle Open Office Chart : instructions;general +Oracle Open Office Chart : Internet +Oracle Open Office Chart : Internet;checking for updates +Oracle Open Office Chart : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Chart : Internet;presentations +Oracle Open Office Chart : Internet;starting searches +Oracle Open Office Chart : Internet glossary +Oracle Open Office Chart : invert filter +Oracle Open Office Chart : invisible areas +Oracle Open Office Chart : italic text +Oracle Open Office Chart : iterative references in spreadsheets +Oracle Open Office Chart : Java +Oracle Open Office Chart : Java;definition +Oracle Open Office Chart : Java;setting options +Oracle Open Office Chart : JDBC +Oracle Open Office Chart : JDBC;databases (Base) +Oracle Open Office Chart : JDBC;definition +Oracle Open Office Chart : joining +Oracle Open Office Chart : joining;paragraphs +Oracle Open Office Chart : joining;tables (Base) +Oracle Open Office Chart : joins in databases (Base) +Oracle Open Office Chart : justifying text +Oracle Open Office Chart : kerning +Oracle Open Office Chart : kerning;Asian texts +Oracle Open Office Chart : kerning;definition +Oracle Open Office Chart : kerning;in characters +Oracle Open Office Chart : key fields for relations (Base) +Oracle Open Office Chart : keyboard +Oracle Open Office Chart : keyboard;assigning/editing shortcut keys +Oracle Open Office Chart : keyboard;general commands +Oracle Open Office Chart : keyboard;removing numbering +Oracle Open Office Chart : keys +Oracle Open Office Chart : keys;adding push buttons +Oracle Open Office Chart : keys;primary keys (Base) +Oracle Open Office Chart : kiosk export +Oracle Open Office Chart : labels +Oracle Open Office Chart : labels;creating and synchronizing +Oracle Open Office Chart : labels;for charts +Oracle Open Office Chart : labels;for draw objects +Oracle Open Office Chart : labels;form functions +Oracle Open Office Chart : labels;from databases +Oracle Open Office Chart : labels, see also names/callouts +Oracle Open Office Chart : languages +Oracle Open Office Chart : languages;activating modules +Oracle Open Office Chart : languages;Asian support +Oracle Open Office Chart : languages;complex text layout +Oracle Open Office Chart : languages;locale settings +Oracle Open Office Chart : languages;selecting for text +Oracle Open Office Chart : languages;setting options +Oracle Open Office Chart : languages;spellcheck +Oracle Open Office Chart : languages;spellchecking and formatting +Oracle Open Office Chart : large handles (Writer) +Oracle Open Office Chart : large icons +Oracle Open Office Chart : layer arrangement +Oracle Open Office Chart : layout +Oracle Open Office Chart : layout;importing Word documents +Oracle Open Office Chart : layout;pages +Oracle Open Office Chart : LDAP server +Oracle Open Office Chart : LDAP server;address books (Base) +Oracle Open Office Chart : LDAP server;sign on options +Oracle Open Office Chart : leading between paragraphs +Oracle Open Office Chart : left alignment of paragraphs +Oracle Open Office Chart : left joins (Base) +Oracle Open Office Chart : legends +Oracle Open Office Chart : legends;charts +Oracle Open Office Chart : legends;draw objects +Oracle Open Office Chart : legends;rounding corners +Oracle Open Office Chart : Letter Wizard +Oracle Open Office Chart : levels +Oracle Open Office Chart : levels;depth stagger +Oracle Open Office Chart : levels;macro security +Oracle Open Office Chart : limits of tables (Writer) +Oracle Open Office Chart : line breaks +Oracle Open Office Chart : line breaks;in cells +Oracle Open Office Chart : line charts +Oracle Open Office Chart : line spacing +Oracle Open Office Chart : line spacing;context menu in paragraphs +Oracle Open Office Chart : line spacing;paragraph +Oracle Open Office Chart : line styles +Oracle Open Office Chart : line styles;applying +Oracle Open Office Chart : line styles;defining +Oracle Open Office Chart : lines +Oracle Open Office Chart : lines;defining ends +Oracle Open Office Chart : lines;draw functions +Oracle Open Office Chart : lines;drawing in text +Oracle Open Office Chart : lines;editing points +Oracle Open Office Chart : lines;removing automatic lines +Oracle Open Office Chart : lines of text +Oracle Open Office Chart : lines of text;alignment +Oracle Open Office Chart : links +Oracle Open Office Chart : links;between cells and controls +Oracle Open Office Chart : links;by drag and drop +Oracle Open Office Chart : links;character formats +Oracle Open Office Chart : links;definition +Oracle Open Office Chart : links;editing hyperlinks +Oracle Open Office Chart : links;inserting +Oracle Open Office Chart : links;modifying +Oracle Open Office Chart : links;opening files with +Oracle Open Office Chart : links;relational databases (Base) +Oracle Open Office Chart : links;turning off automatic recognition +Oracle Open Office Chart : links;updating options (Writer) +Oracle Open Office Chart : links;updating specific links +Oracle Open Office Chart : list box creation +Oracle Open Office Chart : lists +Oracle Open Office Chart : lists;data assigned to controls +Oracle Open Office Chart : lists;registered databases (Base) +Oracle Open Office Chart : lists;regular expressions +Oracle Open Office Chart : live presentations on the Internet +Oracle Open Office Chart : loading +Oracle Open Office Chart : loading;documents +Oracle Open Office Chart : loading;documents from other formats +Oracle Open Office Chart : loading;HTML documents, automatically +Oracle Open Office Chart : loading;Microsoft Office documents with VBA code +Oracle Open Office Chart : loading;reloading +Oracle Open Office Chart : loading;XML files +Oracle Open Office Chart : locale settings +Oracle Open Office Chart : logarithmic scaling along axes +Oracle Open Office Chart : lowercase letters +Oracle Open Office Chart : lowercase letters;font effects +Oracle Open Office Chart : Macro Wizard (Base) +Oracle Open Office Chart : macros +Oracle Open Office Chart : macros;assigning to events in forms +Oracle Open Office Chart : macros;attaching new (Base) +Oracle Open Office Chart : macros;in MS Office documents +Oracle Open Office Chart : macros;interrupting +Oracle Open Office Chart : macros;organizing +Oracle Open Office Chart : macros;recording +Oracle Open Office Chart : macros;security +Oracle Open Office Chart : macros;security levels +Oracle Open Office Chart : macros;security warning dialog +Oracle Open Office Chart : macros;selecting security warnings +Oracle Open Office Chart : magnifiers +Oracle Open Office Chart : margins +Oracle Open Office Chart : margins;pages +Oracle Open Office Chart : margins;setting with the mouse +Oracle Open Office Chart : margins;shadows +Oracle Open Office Chart : marking changes +Oracle Open Office Chart : marking, see selecting +Oracle Open Office Chart : Math formula editor +Oracle Open Office Chart : mean value lines in charts +Oracle Open Office Chart : measurement units +Oracle Open Office Chart : measurement units;changing on rulers +Oracle Open Office Chart : measurement units;converting +Oracle Open Office Chart : measurement units;selecting +Oracle Open Office Chart : Media Player window +Oracle Open Office Chart : menus +Oracle Open Office Chart : menus;activating context menus +Oracle Open Office Chart : menus;assigning macros +Oracle Open Office Chart : menus;customizing +Oracle Open Office Chart : merging +Oracle Open Office Chart : merging;documents +Oracle Open Office Chart : META tags +Oracle Open Office Chart : metrics +Oracle Open Office Chart : metrics;converting +Oracle Open Office Chart : metrics;document formatting (Writer) +Oracle Open Office Chart : metrics;in sheets +Oracle Open Office Chart : Microsoft Office +Oracle Open Office Chart : Microsoft Office;Access databases (base) +Oracle Open Office Chart : Microsoft Office;as default file format +Oracle Open Office Chart : Microsoft Office;document import restrictions +Oracle Open Office Chart : Microsoft Office;feature comparisons +Oracle Open Office Chart : Microsoft Office;importing password protected files +Oracle Open Office Chart : Microsoft Office;importing Word documents +Oracle Open Office Chart : Microsoft Office;importing/exporting VBA code +Oracle Open Office Chart : Microsoft Office;new users information +Oracle Open Office Chart : Microsoft Office;opening Microsoft documents +Oracle Open Office Chart : Microsoft Office;reassigning document types +Oracle Open Office Chart : migrating macros (Base) +Oracle Open Office Chart : mobile device filters +Oracle Open Office Chart : models in XForms +Oracle Open Office Chart : modifying, see changing +Oracle Open Office Chart : more controls +Oracle Open Office Chart : mosaic filter +Oracle Open Office Chart : mouse +Oracle Open Office Chart : mouse;pointers when using drag and drop +Oracle Open Office Chart : mouse;positioning +Oracle Open Office Chart : movies +Oracle Open Office Chart : moving +Oracle Open Office Chart : moving;tab stops on ruler +Oracle Open Office Chart : moving;toolbars +Oracle Open Office Chart : moving;using guide lines in presentations +Oracle Open Office Chart : MS ADO interface (Base) +Oracle Open Office Chart : multi-line titles in forms +Oracle Open Office Chart : multiple documents +Oracle Open Office Chart : multiple documents;opening +Oracle Open Office Chart : multiple selection +Oracle Open Office Chart : music +Oracle Open Office Chart : My Documents folder +Oracle Open Office Chart : My Documents folder;changing work directory +Oracle Open Office Chart : My Documents folder;opening +Oracle Open Office Chart : MySQL databases (Base) +Oracle Open Office Chart : names +Oracle Open Office Chart : names;multi-line titles +Oracle Open Office Chart : names;objects +Oracle Open Office Chart : names, see also labels/callouts +Oracle Open Office Chart : namespace organization in XForms +Oracle Open Office Chart : native SQL (Base) +Oracle Open Office Chart : navigating +Oracle Open Office Chart : navigating;in documents +Oracle Open Office Chart : Navigation bar +Oracle Open Office Chart : Navigation bar;controls +Oracle Open Office Chart : Navigation bar;forms +Oracle Open Office Chart : Navigator +Oracle Open Office Chart : Navigator;comments +Oracle Open Office Chart : Navigator;contents as lists +Oracle Open Office Chart : Navigator;docking +Oracle Open Office Chart : Navigator;working with +Oracle Open Office Chart : net charts +Oracle Open Office Chart : network identity options +Oracle Open Office Chart : new databases +Oracle Open Office Chart : new documents +Oracle Open Office Chart : new lines in cells +Oracle Open Office Chart : new windows +Oracle Open Office Chart : non-breaking dashes +Oracle Open Office Chart : non-breaking spaces (Writer) +Oracle Open Office Chart : non-printing characters (Writer) +Oracle Open Office Chart : number formats +Oracle Open Office Chart : number formats;codes +Oracle Open Office Chart : number formats;formats +Oracle Open Office Chart : number formats;recognition in text tables +Oracle Open Office Chart : number of pages +Oracle Open Office Chart : number of sheets +Oracle Open Office Chart : number of tables +Oracle Open Office Chart : numbering +Oracle Open Office Chart : numbering;options +Oracle Open Office Chart : numbering;turning off +Oracle Open Office Chart : numbering;using automatically +Oracle Open Office Chart : numbers +Oracle Open Office Chart : numbers;date, time and currency formats +Oracle Open Office Chart : numerical fields in forms +Oracle Open Office Chart : objects +Oracle Open Office Chart : objects;always moveable (Impress/Draw) +Oracle Open Office Chart : objects;arranging within stacks +Oracle Open Office Chart : objects;copying when moving in presentations +Oracle Open Office Chart : objects;definition +Oracle Open Office Chart : objects;displaying in spreadsheets +Oracle Open Office Chart : objects;displaying in text documents +Oracle Open Office Chart : objects;editing +Oracle Open Office Chart : objects;inserting from Gallery +Oracle Open Office Chart : objects;inserting OLE objects +Oracle Open Office Chart : objects;moving and resizing with mouse +Oracle Open Office Chart : objects;naming +Oracle Open Office Chart : objects;opening +Oracle Open Office Chart : objects;properties of charts +Oracle Open Office Chart : objects;quickly moving to +Oracle Open Office Chart : objects;titles and descriptions +Oracle Open Office Chart : ODBC +Oracle Open Office Chart : ODBC;database (Base) +Oracle Open Office Chart : ODBC;definition +Oracle Open Office Chart : ODF file formats +Oracle Open Office Chart : Office +Oracle Open Office Chart : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Chart : OLE +Oracle Open Office Chart : OLE;definition +Oracle Open Office Chart : OLE objects +Oracle Open Office Chart : OLE objects;arranging within stacks +Oracle Open Office Chart : OLE objects;captions (Writer) +Oracle Open Office Chart : OLE objects;inserting +Oracle Open Office Chart : OLE objects;number of +Oracle Open Office Chart : OLE objects;protecting +Oracle Open Office Chart : one and a half line spacing in text +Oracle Open Office Chart : online feedback options +Oracle Open Office Chart : online registration +Oracle Open Office Chart : online update options +Oracle Open Office Chart : online updates +Oracle Open Office Chart : online updates;checking automatically +Oracle Open Office Chart : online updates;checking manually +Oracle Open Office Chart : OpenDocument file formats +Oracle Open Office Chart : OpenGL +Oracle Open Office Chart : OpenGL;definition +Oracle Open Office Chart : opening +Oracle Open Office Chart : opening;context menus +Oracle Open Office Chart : opening;database files +Oracle Open Office Chart : opening;dialog settings +Oracle Open Office Chart : opening;documents +Oracle Open Office Chart : opening;documents from other formats +Oracle Open Office Chart : opening;documents on WebDAV server +Oracle Open Office Chart : opening;files with links +Oracle Open Office Chart : opening;files, with placeholders +Oracle Open Office Chart : opening;forms +Oracle Open Office Chart : opening;Microsoft Office files +Oracle Open Office Chart : opening;mobile device documents +Oracle Open Office Chart : opening;objects +Oracle Open Office Chart : opening;reports +Oracle Open Office Chart : opening;several files +Oracle Open Office Chart : opening;XForms +Oracle Open Office Chart : operators +Oracle Open Office Chart : operators;default filters +Oracle Open Office Chart : optional hyphens (Writer) +Oracle Open Office Chart : options +Oracle Open Office Chart : options;accessibility +Oracle Open Office Chart : options;appearance +Oracle Open Office Chart : options;compatibility (Writer) +Oracle Open Office Chart : options;improvement program +Oracle Open Office Chart : options;network identity +Oracle Open Office Chart : options;online update +Oracle Open Office Chart : options;tools +Oracle Open Office Chart : Oracle databases (base) +Oracle Open Office Chart : Oracle Open Office Base data sources +Oracle Open Office Chart : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Chart : Oracle Open Office documents +Oracle Open Office Chart : Oracle Open Office documents;mobile device filters +Oracle Open Office Chart : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Chart : Oracle Open Office Math start +Oracle Open Office Chart : order of chart data +Oracle Open Office Chart : ordering +Oracle Open Office Chart : ordering;objects +Oracle Open Office Chart : ordinal numbers +Oracle Open Office Chart : ordinal numbers;replacing +Oracle Open Office Chart : organizing +Oracle Open Office Chart : organizing;macros and scripts +Oracle Open Office Chart : organizing;namespaces in XForms +Oracle Open Office Chart : organizing;styles +Oracle Open Office Chart : organizing;templates +Oracle Open Office Chart : original size +Oracle Open Office Chart : original size;printing in Oracle Open Office Math +Oracle Open Office Chart : original size;restoring after cropping +Oracle Open Office Chart : outlines +Oracle Open Office Chart : outlines;font effects +Oracle Open Office Chart : outlines;outline symbols +Oracle Open Office Chart : outlines;sending to presentations +Oracle Open Office Chart : overwrite mode +Oracle Open Office Chart : packages, see extensions +Oracle Open Office Chart : page breaks +Oracle Open Office Chart : page breaks;displaying (Calc) +Oracle Open Office Chart : page formats +Oracle Open Office Chart : page formats;maximizing +Oracle Open Office Chart : page formats;restriction +Oracle Open Office Chart : page styles +Oracle Open Office Chart : page styles;editing/applying with statusbar +Oracle Open Office Chart : pages +Oracle Open Office Chart : pages;backgrounds in all applications +Oracle Open Office Chart : pages;formatting and numbering +Oracle Open Office Chart : pages;printing page names in presentations +Oracle Open Office Chart : pages;scaling +Oracle Open Office Chart : pages;selecting one to print +Oracle Open Office Chart : paint box +Oracle Open Office Chart : paint can symbol +Oracle Open Office Chart : pair kerning +Oracle Open Office Chart : Palm file filters +Oracle Open Office Chart : paper formats +Oracle Open Office Chart : paper size warning +Oracle Open Office Chart : paper trays +Oracle Open Office Chart : paragraph marks +Oracle Open Office Chart : paragraph marks;displaying (Writer) +Oracle Open Office Chart : paragraph styles +Oracle Open Office Chart : paragraph styles;languages +Oracle Open Office Chart : paragraph styles;modifying basic fonts +Oracle Open Office Chart : paragraphs +Oracle Open Office Chart : paragraphs;alignment +Oracle Open Office Chart : paragraphs;Asian typography +Oracle Open Office Chart : paragraphs;defining borders +Oracle Open Office Chart : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Chart : paragraphs;increasing indents of +Oracle Open Office Chart : paragraphs;indents, margins and columns +Oracle Open Office Chart : paragraphs;inserting bullets +Oracle Open Office Chart : paragraphs;joining +Oracle Open Office Chart : paragraphs;numbering automatically +Oracle Open Office Chart : paragraphs;removing blank ones +Oracle Open Office Chart : paragraphs;spacing +Oracle Open Office Chart : paragraphs;tab stops +Oracle Open Office Chart : parameters +Oracle Open Office Chart : parameters;command line +Oracle Open Office Chart : parameters;queries (Base) +Oracle Open Office Chart : passwords for protecting contents +Oracle Open Office Chart : pasting +Oracle Open Office Chart : pasting;cell ranges +Oracle Open Office Chart : pasting;cell ranges from spreadsheets +Oracle Open Office Chart : pasting;data from text documents +Oracle Open Office Chart : pasting;draw objects +Oracle Open Office Chart : pasting;draw objects from other documents +Oracle Open Office Chart : pasting;formatted/unformatted text +Oracle Open Office Chart : pasting;from data source view +Oracle Open Office Chart : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Chart : pasting;pictures from other documents +Oracle Open Office Chart : pasting;sheet areas in text documents +Oracle Open Office Chart : pasting;to Gallery +Oracle Open Office Chart : paths +Oracle Open Office Chart : paths;changing work directory +Oracle Open Office Chart : paths;defaults +Oracle Open Office Chart : pattern editor +Oracle Open Office Chart : pattern fields +Oracle Open Office Chart : pattern fields;form functions +Oracle Open Office Chart : patterns for objects +Oracle Open Office Chart : PDF +Oracle Open Office Chart : PDF;export +Oracle Open Office Chart : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Chart : personal data input +Oracle Open Office Chart : phonetic guide +Oracle Open Office Chart : picklist creation +Oracle Open Office Chart : pictures +Oracle Open Office Chart : pictures;adding to Gallery +Oracle Open Office Chart : pictures;arranging within stacks +Oracle Open Office Chart : pictures;assigning macros +Oracle Open Office Chart : pictures;backgrounds +Oracle Open Office Chart : pictures;captions (Writer) +Oracle Open Office Chart : pictures;changing paths +Oracle Open Office Chart : pictures;cropping and zooming +Oracle Open Office Chart : pictures;displaying in Calc +Oracle Open Office Chart : pictures;displaying in Writer (Writer) +Oracle Open Office Chart : pictures;drag and drop between documents +Oracle Open Office Chart : pictures;drawing +Oracle Open Office Chart : pictures;editing +Oracle Open Office Chart : pictures;filters +Oracle Open Office Chart : pictures;ImageMap +Oracle Open Office Chart : pictures;inserting automatically +Oracle Open Office Chart : pictures;inserting from Gallery +Oracle Open Office Chart : pictures;number of +Oracle Open Office Chart : pictures;printing +Oracle Open Office Chart : pictures;scaling/resizing +Oracle Open Office Chart : pie charts +Oracle Open Office Chart : pie charts;options +Oracle Open Office Chart : pie charts;types +Oracle Open Office Chart : pixel editor +Oracle Open Office Chart : pixel graphics +Oracle Open Office Chart : pixel graphics;inserting and editing +Oracle Open Office Chart : pixel patterns +Oracle Open Office Chart : placeholders +Oracle Open Office Chart : placeholders;in SQL queries +Oracle Open Office Chart : placeholders;on opening files +Oracle Open Office Chart : placing toolbars +Oracle Open Office Chart : playing movies and sound files +Oracle Open Office Chart : plotting data as charts +Oracle Open Office Chart : plug-ins +Oracle Open Office Chart : plug-ins;activating and deactivating +Oracle Open Office Chart : plug-ins;definition +Oracle Open Office Chart : plug-ins;inserting +Oracle Open Office Chart : pocket device appliances +Oracle Open Office Chart : Pocket PC file filters +Oracle Open Office Chart : points +Oracle Open Office Chart : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Chart : polygon drawing +Oracle Open Office Chart : pop-art filter +Oracle Open Office Chart : portable document format +Oracle Open Office Chart : positioning +Oracle Open Office Chart : positioning;axes +Oracle Open Office Chart : positioning;draw objects and controls +Oracle Open Office Chart : positioning;fonts +Oracle Open Office Chart : positioning;objects +Oracle Open Office Chart : positioning;toolbars +Oracle Open Office Chart : post method for form transmissions +Oracle Open Office Chart : posterizing filter +Oracle Open Office Chart : PostScript +Oracle Open Office Chart : PostScript;creating files +Oracle Open Office Chart : PostScript;PDF converter, UNIX +Oracle Open Office Chart : PowerPoint export +Oracle Open Office Chart : precision as shown (Calc) +Oracle Open Office Chart : predefining fonts +Oracle Open Office Chart : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Chart : presentations +Oracle Open Office Chart : presentations;creating/opening +Oracle Open Office Chart : presentations;inserting spreadsheet cells +Oracle Open Office Chart : presentations;live on the Internet +Oracle Open Office Chart : presentations;print menu +Oracle Open Office Chart : presentations;saving +Oracle Open Office Chart : presentations;saving automatically +Oracle Open Office Chart : presentations;saving in other formats +Oracle Open Office Chart : presentations;sending as e-mail +Oracle Open Office Chart : presentations;starting with wizard +Oracle Open Office Chart : presentations;wizards +Oracle Open Office Chart : Presenter Console shortcuts +Oracle Open Office Chart : press buttons, see push buttons +Oracle Open Office Chart : previews +Oracle Open Office Chart : previews;fonts lists +Oracle Open Office Chart : primary keys +Oracle Open Office Chart : primary keys;defining +Oracle Open Office Chart : primary keys;design view +Oracle Open Office Chart : primary keys;inserting (Base) +Oracle Open Office Chart : print area selection +Oracle Open Office Chart : printer metrics for document formatting (Writer) +Oracle Open Office Chart : printers +Oracle Open Office Chart : printers;adding, UNIX +Oracle Open Office Chart : printers;choosing +Oracle Open Office Chart : printers;default printer +Oracle Open Office Chart : printers;faxes under UNIX +Oracle Open Office Chart : printers;maximum page formats +Oracle Open Office Chart : printers;paper trays +Oracle Open Office Chart : printers;properties +Oracle Open Office Chart : printing +Oracle Open Office Chart : printing;black and white +Oracle Open Office Chart : printing;brochures +Oracle Open Office Chart : printing;colors in grayscale +Oracle Open Office Chart : printing;comments +Oracle Open Office Chart : printing;copies +Oracle Open Office Chart : printing;creating individual jobs +Oracle Open Office Chart : printing;dates in presentations +Oracle Open Office Chart : printing;directly +Oracle Open Office Chart : printing;documents +Oracle Open Office Chart : printing;drawings defaults +Oracle Open Office Chart : printing;elements in text documents +Oracle Open Office Chart : printing;faster +Oracle Open Office Chart : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Chart : printing;fitting to pages in presentations +Oracle Open Office Chart : printing;formulas in Oracle Open Office Math +Oracle Open Office Chart : printing;hidden pages of presentations +Oracle Open Office Chart : printing;in original size in Oracle Open Office Math +Oracle Open Office Chart : printing;left/right pages +Oracle Open Office Chart : printing;queries (Base) +Oracle Open Office Chart : printing;scaling in Oracle Open Office Math +Oracle Open Office Chart : printing;selections +Oracle Open Office Chart : printing;text always in black +Oracle Open Office Chart : printing;text in reverse order +Oracle Open Office Chart : printing;tiling pages in presentations +Oracle Open Office Chart : printing;transparencies +Oracle Open Office Chart : printing;warnings +Oracle Open Office Chart : printing;without scaling in presentations +Oracle Open Office Chart : printing speed +Oracle Open Office Chart : programming +Oracle Open Office Chart : programming;Oracle Open Office +Oracle Open Office Chart : programming;scripting +Oracle Open Office Chart : properties +Oracle Open Office Chart : properties;charts +Oracle Open Office Chart : properties;fields in databases +Oracle Open Office Chart : properties;files +Oracle Open Office Chart : properties;form controls +Oracle Open Office Chart : properties;forms +Oracle Open Office Chart : properties;printers +Oracle Open Office Chart : properties;smooth lines in line charts/XY charts +Oracle Open Office Chart : protected contents +Oracle Open Office Chart : protected dashes +Oracle Open Office Chart : protected database tables +Oracle Open Office Chart : protected documents +Oracle Open Office Chart : protected spaces +Oracle Open Office Chart : protected spaces;inserting +Oracle Open Office Chart : protected spaces;showing (Writer) +Oracle Open Office Chart : protecting +Oracle Open Office Chart : protecting;contents +Oracle Open Office Chart : protecting;recorded changes +Oracle Open Office Chart : proxy settings +Oracle Open Office Chart : push buttons +Oracle Open Office Chart : push buttons;adding to documents +Oracle Open Office Chart : push buttons;creating +Oracle Open Office Chart : queries +Oracle Open Office Chart : queries;copying (Base) +Oracle Open Office Chart : queries;creating in design view (Base) +Oracle Open Office Chart : queries;creating in SQL view +Oracle Open Office Chart : queries;defining (Base) +Oracle Open Office Chart : queries;deleting table links (Base) +Oracle Open Office Chart : queries;editing in data source view +Oracle Open Office Chart : queries;formulating filter conditions (Base) +Oracle Open Office Chart : queries;joining tables (Base) +Oracle Open Office Chart : queries;missing elements (Base) +Oracle Open Office Chart : queries;overview (Base) +Oracle Open Office Chart : queries;parameter queries (Base) +Oracle Open Office Chart : queries;printing (Base) +Oracle Open Office Chart : Query Wizard (Base) +Oracle Open Office Chart : Quickstarter +Oracle Open Office Chart : quotes +Oracle Open Office Chart : quotes;custom +Oracle Open Office Chart : radar charts, see net charts +Oracle Open Office Chart : radio button creation +Oracle Open Office Chart : read-only documents +Oracle Open Office Chart : read-only documents;cursor +Oracle Open Office Chart : read-only documents;database tables on/off +Oracle Open Office Chart : read-only documents;editing +Oracle Open Office Chart : read-only documents;opening documents as +Oracle Open Office Chart : read-only items in Data Navigator +Oracle Open Office Chart : recognizing URLs automatically +Oracle Open Office Chart : recording +Oracle Open Office Chart : recording;changes +Oracle Open Office Chart : recording;macros +Oracle Open Office Chart : records +Oracle Open Office Chart : records;inserting comments +Oracle Open Office Chart : records;protecting +Oracle Open Office Chart : records;saving +Oracle Open Office Chart : records;searching in databases +Oracle Open Office Chart : rectangles with round corners +Oracle Open Office Chart : recursions in spreadsheets +Oracle Open Office Chart : redo command +Oracle Open Office Chart : reduced printing +Oracle Open Office Chart : reference lines +Oracle Open Office Chart : references +Oracle Open Office Chart : references;displaying in color (Calc) +Oracle Open Office Chart : references;expanding (Calc) +Oracle Open Office Chart : references;iterative (Calc) +Oracle Open Office Chart : register-true +Oracle Open Office Chart : register-true;definition +Oracle Open Office Chart : registering +Oracle Open Office Chart : registering;address books +Oracle Open Office Chart : registering;databases (Base) +Oracle Open Office Chart : registering;Oracle Open Office +Oracle Open Office Chart : regression curves in charts +Oracle Open Office Chart : regular expressions +Oracle Open Office Chart : regular expressions;list of +Oracle Open Office Chart : relational databases (Base) +Oracle Open Office Chart : relations +Oracle Open Office Chart : relations;creating and deleting (Base) +Oracle Open Office Chart : relations;joining tables (Base) +Oracle Open Office Chart : relations;properties (Base) +Oracle Open Office Chart : relative hyperlinks +Oracle Open Office Chart : relative saving of URLs +Oracle Open Office Chart : reloading +Oracle Open Office Chart : reloading;documents +Oracle Open Office Chart : reloading;HTML documents, automatically +Oracle Open Office Chart : remarks, see also comments +Oracle Open Office Chart : remote configurations +Oracle Open Office Chart : remove noise filter +Oracle Open Office Chart : removing +Oracle Open Office Chart : removing;bullets and numbering +Oracle Open Office Chart : removing;form filters +Oracle Open Office Chart : removing, see also deleting +Oracle Open Office Chart : reorganizing charts +Oracle Open Office Chart : repeating +Oracle Open Office Chart : repeating;commands +Oracle Open Office Chart : replacement options +Oracle Open Office Chart : replacement table +Oracle Open Office Chart : replacing +Oracle Open Office Chart : replacing;AutoCorrect function +Oracle Open Office Chart : replacing;dashes +Oracle Open Office Chart : replacing;ordinal numbers +Oracle Open Office Chart : replacing;tab stops (regular expressions) +Oracle Open Office Chart : Report Builder +Oracle Open Office Chart : reports +Oracle Open Office Chart : reports;creating +Oracle Open Office Chart : reports;error reports +Oracle Open Office Chart : reports;opening and editing +Oracle Open Office Chart : reports;templates +Oracle Open Office Chart : resetting +Oracle Open Office Chart : resetting;templates +Oracle Open Office Chart : resizing +Oracle Open Office Chart : resizing;objects, by mouse +Oracle Open Office Chart : resizing, see also scaling/zooming +Oracle Open Office Chart : resolution when printing bitmaps +Oracle Open Office Chart : restoring +Oracle Open Office Chart : restoring;default formatting +Oracle Open Office Chart : restoring;editing +Oracle Open Office Chart : reversing printing order +Oracle Open Office Chart : review function +Oracle Open Office Chart : review function;accepting or rejecting changes +Oracle Open Office Chart : review function;comparing documents +Oracle Open Office Chart : review function;protecting records +Oracle Open Office Chart : review function;recording changes example +Oracle Open Office Chart : rich text control +Oracle Open Office Chart : right alignment of paragraphs +Oracle Open Office Chart : right joins (Base) +Oracle Open Office Chart : right-to-left text +Oracle Open Office Chart : rotating +Oracle Open Office Chart : rotating;3D text +Oracle Open Office Chart : round corners +Oracle Open Office Chart : rounding precision (Calc) +Oracle Open Office Chart : row headers +Oracle Open Office Chart : row headers;displaying (Calc) +Oracle Open Office Chart : row headers;highlighting (Calc) +Oracle Open Office Chart : rulers +Oracle Open Office Chart : rulers;default settings +Oracle Open Office Chart : rulers;measurement units +Oracle Open Office Chart : rulers;visible in presentations +Oracle Open Office Chart : samples and templates +Oracle Open Office Chart : saving +Oracle Open Office Chart : saving;default file formats +Oracle Open Office Chart : saving;dialog settings +Oracle Open Office Chart : saving;documents +Oracle Open Office Chart : saving;documents for mobile devices +Oracle Open Office Chart : saving;documents in other formats +Oracle Open Office Chart : saving;documents, automatically +Oracle Open Office Chart : saving;in Microsoft Office file format +Oracle Open Office Chart : saving;options +Oracle Open Office Chart : saving;templates +Oracle Open Office Chart : saving;to XML +Oracle Open Office Chart : saving;VBA code in Microsoft Office documents +Oracle Open Office Chart : saving;with password by default +Oracle Open Office Chart : saving as command +Oracle Open Office Chart : saving as command;precautions +Oracle Open Office Chart : scaling +Oracle Open Office Chart : scaling;axes +Oracle Open Office Chart : scaling;font sizes in user interface +Oracle Open Office Chart : scaling;objects +Oracle Open Office Chart : scaling;pictures +Oracle Open Office Chart : scaling;printing in Oracle Open Office Math +Oracle Open Office Chart : scaling;text in charts +Oracle Open Office Chart : scaling;when printing presentations +Oracle Open Office Chart : scaling, see also zooming +Oracle Open Office Chart : scatter charts +Oracle Open Office Chart : screen +Oracle Open Office Chart : screen;full screen views +Oracle Open Office Chart : screen;scaling +Oracle Open Office Chart : screen magnifiers +Oracle Open Office Chart : screen readers +Oracle Open Office Chart : script organization +Oracle Open Office Chart : scrollbars +Oracle Open Office Chart : scrollbars;controls +Oracle Open Office Chart : scrollbars;displaying (Calc) +Oracle Open Office Chart : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Chart : search criteria for database functions in cells +Oracle Open Office Chart : search engines +Oracle Open Office Chart : search engines;definition +Oracle Open Office Chart : search engines;selecting +Oracle Open Office Chart : searching +Oracle Open Office Chart : searching;all sheets +Oracle Open Office Chart : searching;databases +Oracle Open Office Chart : searching;form filters +Oracle Open Office Chart : searching;Internet +Oracle Open Office Chart : searching;tables and forms +Oracle Open Office Chart : secondary axes in charts +Oracle Open Office Chart : sections +Oracle Open Office Chart : sections;backgrounds +Oracle Open Office Chart : security +Oracle Open Office Chart : security;digital signatures +Oracle Open Office Chart : security;options for documents with macros +Oracle Open Office Chart : security;protecting contents +Oracle Open Office Chart : security;security levels for macros +Oracle Open Office Chart : security;warning dialogs with macros +Oracle Open Office Chart : selecting +Oracle Open Office Chart : selecting;controls +Oracle Open Office Chart : selecting;measurement units +Oracle Open Office Chart : selecting;objects +Oracle Open Office Chart : selecting;print areas +Oracle Open Office Chart : selecting;several files +Oracle Open Office Chart : selection clipboard +Oracle Open Office Chart : selection frames +Oracle Open Office Chart : selection modes in text +Oracle Open Office Chart : sending +Oracle Open Office Chart : sending;AutoAbstract function in presentations +Oracle Open Office Chart : sending;documents as e-mail +Oracle Open Office Chart : sending;documents as faxes +Oracle Open Office Chart : separator lines +Oracle Open Office Chart : separator lines;defining +Oracle Open Office Chart : separators +Oracle Open Office Chart : separators;conditional +Oracle Open Office Chart : Server Side ImageMap +Oracle Open Office Chart : settings +Oracle Open Office Chart : settings;printers +Oracle Open Office Chart : settings;program configuration +Oracle Open Office Chart : settings;proxies +Oracle Open Office Chart : settings;tracking changes +Oracle Open Office Chart : settings;views +Oracle Open Office Chart : SGML +Oracle Open Office Chart : SGML;definition +Oracle Open Office Chart : shadows +Oracle Open Office Chart : shadows;areas +Oracle Open Office Chart : shadows;borders +Oracle Open Office Chart : shadows;characters +Oracle Open Office Chart : shadows;characters, using context menu +Oracle Open Office Chart : sharing documents +Oracle Open Office Chart : sharpening filter +Oracle Open Office Chart : sheet tabs +Oracle Open Office Chart : sheet tabs;displaying +Oracle Open Office Chart : sheets +Oracle Open Office Chart : sheets;searching all +Oracle Open Office Chart : shortcut keys +Oracle Open Office Chart : shortcut keys;assigning macros +Oracle Open Office Chart : shortcut keys;charts +Oracle Open Office Chart : shortcut keys;general +Oracle Open Office Chart : shortcut keys;in databases +Oracle Open Office Chart : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Chart : showing +Oracle Open Office Chart : showing;changes +Oracle Open Office Chart : showing;docked windows +Oracle Open Office Chart : showing;drawings and controls (Writer) +Oracle Open Office Chart : showing;live presentations on the Internet +Oracle Open Office Chart : showing;toolbars +Oracle Open Office Chart : signing documents with digital signatures +Oracle Open Office Chart : similarity search +Oracle Open Office Chart : simple handles (Writer) +Oracle Open Office Chart : simplified Chinese +Oracle Open Office Chart : simplified Chinese;translating to traditional Chinese +Oracle Open Office Chart : single sign on options +Oracle Open Office Chart : single-line spacing in text +Oracle Open Office Chart : sizes +Oracle Open Office Chart : sizes;draw objects +Oracle Open Office Chart : sizes;pictures +Oracle Open Office Chart : slanting draw objects +Oracle Open Office Chart : small capitals +Oracle Open Office Chart : small icons +Oracle Open Office Chart : smart tag configuration +Oracle Open Office Chart : smooth scrolling (Writer) +Oracle Open Office Chart : smoothing filter +Oracle Open Office Chart : snap grid defaults (Writer/Calc) +Oracle Open Office Chart : snapping in presentations and drawings +Oracle Open Office Chart : solarization filter +Oracle Open Office Chart : sort lists +Oracle Open Office Chart : sort lists;copying to in Calc +Oracle Open Office Chart : sorting +Oracle Open Office Chart : sorting;data in forms +Oracle Open Office Chart : sorting;databases +Oracle Open Office Chart : sound files +Oracle Open Office Chart : spaces +Oracle Open Office Chart : spaces;displaying (Writer) +Oracle Open Office Chart : spaces;ignoring double +Oracle Open Office Chart : spaces;inserting protected spaces +Oracle Open Office Chart : spaces;showing protected spaces (Writer) +Oracle Open Office Chart : spacing +Oracle Open Office Chart : spacing;between paragraphs in footnotes +Oracle Open Office Chart : spacing;font effects +Oracle Open Office Chart : spacing;lines and paragraphs +Oracle Open Office Chart : spacing;tab stops in text documents +Oracle Open Office Chart : spacing;tabs in presentations +Oracle Open Office Chart : spadmin +Oracle Open Office Chart : special characters +Oracle Open Office Chart : speech bubbles +Oracle Open Office Chart : speed of printing +Oracle Open Office Chart : spellcheck +Oracle Open Office Chart : spellcheck;activating for a language +Oracle Open Office Chart : spellcheck;context menus +Oracle Open Office Chart : spellcheck;default languages +Oracle Open Office Chart : spellcheck;dialog +Oracle Open Office Chart : spellcheck;dictionary of exceptions +Oracle Open Office Chart : spellcheck;ignore list +Oracle Open Office Chart : spin button creation +Oracle Open Office Chart : spoolfiles with Xprinter +Oracle Open Office Chart : spreadsheets +Oracle Open Office Chart : spreadsheets;as databases (base) +Oracle Open Office Chart : spreadsheets;copying areas to text documents +Oracle Open Office Chart : spreadsheets;creating/opening +Oracle Open Office Chart : spreadsheets;inserting charts +Oracle Open Office Chart : spreadsheets;inserting database records +Oracle Open Office Chart : spreadsheets;printing +Oracle Open Office Chart : spreadsheets;saving +Oracle Open Office Chart : spreadsheets;saving automatically +Oracle Open Office Chart : spreadsheets;saving in other formats +Oracle Open Office Chart : spreadsheets;sending as e-mail +Oracle Open Office Chart : SQL +Oracle Open Office Chart : SQL;definition +Oracle Open Office Chart : SQL;DISTINCT parameter +Oracle Open Office Chart : SQL;executing SQL commands +Oracle Open Office Chart : SQL;executing SQL statements (Base) +Oracle Open Office Chart : SQL;queries (Base) +Oracle Open Office Chart : square drawings +Oracle Open Office Chart : standard bar on/off +Oracle Open Office Chart : standard deviation in charts +Oracle Open Office Chart : standard filters in databases +Oracle Open Office Chart : standard printer under UNIX +Oracle Open Office Chart : start center +Oracle Open Office Chart : start parameters +Oracle Open Office Chart : statistics in charts +Oracle Open Office Chart : status bar on/off +Oracle Open Office Chart : stickers +Oracle Open Office Chart : stock charts +Oracle Open Office Chart : strikethrough +Oracle Open Office Chart : strikethrough;characters +Oracle Open Office Chart : strikethrough;font effects +Oracle Open Office Chart : styles +Oracle Open Office Chart : styles;'changed' message +Oracle Open Office Chart : styles;copying between documents +Oracle Open Office Chart : styles;keyboard shortcuts +Oracle Open Office Chart : styles;organizing +Oracle Open Office Chart : styles;printing styles used in a document +Oracle Open Office Chart : styles;replacing automatically +Oracle Open Office Chart : Styles and Formatting window +Oracle Open Office Chart : Styles and Formatting window;docking +Oracle Open Office Chart : subforms +Oracle Open Office Chart : subforms;creating +Oracle Open Office Chart : subforms;description +Oracle Open Office Chart : submitting forms +Oracle Open Office Chart : suffixes in file formats +Oracle Open Office Chart : support on the Web +Oracle Open Office Chart : synchronizing +Oracle Open Office Chart : synchronizing;labels and business cards +Oracle Open Office Chart : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Chart : system address book registration +Oracle Open Office Chart : tab stops +Oracle Open Office Chart : tab stops;displaying (Writer) +Oracle Open Office Chart : tab stops;inserting and editing +Oracle Open Office Chart : tab stops;regular expressions +Oracle Open Office Chart : tab stops;setting in sheets +Oracle Open Office Chart : tab stops;settings +Oracle Open Office Chart : tab stops;spacing in presentations +Oracle Open Office Chart : tab stops;spacing in text documents +Oracle Open Office Chart : table controls +Oracle Open Office Chart : table controls;form functions +Oracle Open Office Chart : table controls;keyboard-only edit mode +Oracle Open Office Chart : table controls;properties +Oracle Open Office Chart : table views of databases +Oracle Open Office Chart : Table Wizard (Base) +Oracle Open Office Chart : tables +Oracle Open Office Chart : tables;inserting line breaks +Oracle Open Office Chart : tables in databases +Oracle Open Office Chart : tables in databases;access rights to (Base) +Oracle Open Office Chart : tables in databases;adding to queries +Oracle Open Office Chart : tables in databases;browsing and editing +Oracle Open Office Chart : tables in databases;copying database tables (Base) +Oracle Open Office Chart : tables in databases;creating +Oracle Open Office Chart : tables in databases;creating in design view (manually) +Oracle Open Office Chart : tables in databases;importing text formats (Base) +Oracle Open Office Chart : tables in databases;joining for queries (Base) +Oracle Open Office Chart : tables in databases;printing queries (Base) +Oracle Open Office Chart : tables in databases;relations (Base) +Oracle Open Office Chart : tables in databases;searching +Oracle Open Office Chart : tables in spreadsheets +Oracle Open Office Chart : tables in spreadsheets;copying data to other applications +Oracle Open Office Chart : tables in spreadsheets;defining borders +Oracle Open Office Chart : tables in spreadsheets;value highlighting +Oracle Open Office Chart : tables in text +Oracle Open Office Chart : tables in text;captions +Oracle Open Office Chart : tables in text;creating automatically +Oracle Open Office Chart : tables in text;default settings +Oracle Open Office Chart : tables in text;defining borders +Oracle Open Office Chart : tables in text;displaying +Oracle Open Office Chart : tables in text;printing +Oracle Open Office Chart : tabs +Oracle Open Office Chart : tabs;displaying sheet tabs +Oracle Open Office Chart : tags +Oracle Open Office Chart : tags;definition +Oracle Open Office Chart : tags;META tags +Oracle Open Office Chart : templates +Oracle Open Office Chart : templates;agendas +Oracle Open Office Chart : templates;changing basic fonts +Oracle Open Office Chart : templates;database reports +Oracle Open Office Chart : templates;deleting +Oracle Open Office Chart : templates;editing and saving +Oracle Open Office Chart : templates;faxes +Oracle Open Office Chart : templates;importing and exporting +Oracle Open Office Chart : templates;letters +Oracle Open Office Chart : templates;new documents from templates +Oracle Open Office Chart : templates;opening documents with +Oracle Open Office Chart : templates;organizing +Oracle Open Office Chart : terminology +Oracle Open Office Chart : terminology;general glossary +Oracle Open Office Chart : terminology;Internet glossary +Oracle Open Office Chart : testing XML filters +Oracle Open Office Chart : text +Oracle Open Office Chart : text;animating +Oracle Open Office Chart : text;Asian layout +Oracle Open Office Chart : text;bold +Oracle Open Office Chart : text;coloring +Oracle Open Office Chart : text;copying by drag and drop +Oracle Open Office Chart : text;CTL languages +Oracle Open Office Chart : text;drawing pictures +Oracle Open Office Chart : text;font effects +Oracle Open Office Chart : text;font sizes +Oracle Open Office Chart : text;font styles +Oracle Open Office Chart : text;fonts and formats +Oracle Open Office Chart : text;Fontwork icons +Oracle Open Office Chart : text;hyperlinks +Oracle Open Office Chart : text;inserting special characters +Oracle Open Office Chart : text;italics +Oracle Open Office Chart : text;kerning +Oracle Open Office Chart : text;language selection +Oracle Open Office Chart : text;line spacing +Oracle Open Office Chart : text;overwriting or inserting +Oracle Open Office Chart : text;printing in black +Oracle Open Office Chart : text;replacing with format +Oracle Open Office Chart : text;selection modes +Oracle Open Office Chart : text;shadowed +Oracle Open Office Chart : text;text/draw objects +Oracle Open Office Chart : text attributes +Oracle Open Office Chart : text attributes;hyperlinks +Oracle Open Office Chart : text attributes;undoing +Oracle Open Office Chart : text boxes +Oracle Open Office Chart : text boxes;form functions +Oracle Open Office Chart : text boxes;positioning +Oracle Open Office Chart : text breaks in cells +Oracle Open Office Chart : text colors for better accessibility +Oracle Open Office Chart : text databases (Base) +Oracle Open Office Chart : text documents +Oracle Open Office Chart : text documents;creating/opening +Oracle Open Office Chart : text documents;importing/exporting +Oracle Open Office Chart : text documents;inserting spreadsheet cells +Oracle Open Office Chart : text documents;print settings +Oracle Open Office Chart : text documents;printing +Oracle Open Office Chart : text documents;saving +Oracle Open Office Chart : text documents;saving automatically +Oracle Open Office Chart : text documents;saving in other formats +Oracle Open Office Chart : text documents;sending as e-mail +Oracle Open Office Chart : text effects +Oracle Open Office Chart : text flow +Oracle Open Office Chart : text flow;in cells +Oracle Open Office Chart : text formats +Oracle Open Office Chart : text formats;databases +Oracle Open Office Chart : text formats;pasting +Oracle Open Office Chart : text input fields +Oracle Open Office Chart : text layout for special languages +Oracle Open Office Chart : text objects +Oracle Open Office Chart : text objects;alignment +Oracle Open Office Chart : text objects;draw functions +Oracle Open Office Chart : text objects;fonts +Oracle Open Office Chart : text objects;in presentations and drawings +Oracle Open Office Chart : text overflow in spreadsheet cells +Oracle Open Office Chart : text scaling in charts +Oracle Open Office Chart : text, see also text documents, paragraphs and characters +Oracle Open Office Chart : TextArt, see Fontwork +Oracle Open Office Chart : textures +Oracle Open Office Chart : textures;inserting from Gallery +Oracle Open Office Chart : textures;on chart bars +Oracle Open Office Chart : Thai +Oracle Open Office Chart : Thai;entering text +Oracle Open Office Chart : Thai;language settings +Oracle Open Office Chart : thesaurus +Oracle Open Office Chart : thesaurus;activating for a language +Oracle Open Office Chart : ticker text +Oracle Open Office Chart : time fields +Oracle Open Office Chart : time fields;form functions +Oracle Open Office Chart : times +Oracle Open Office Chart : times;inserting when printing presentations +Oracle Open Office Chart : times, formats +Oracle Open Office Chart : tips +Oracle Open Office Chart : tips;extended tips in Help +Oracle Open Office Chart : title rows +Oracle Open Office Chart : title rows;printing in Oracle Open Office Math +Oracle Open Office Chart : titles +Oracle Open Office Chart : titles;alignment (charts) +Oracle Open Office Chart : titles;changing +Oracle Open Office Chart : titles;editing in charts +Oracle Open Office Chart : titles;font effects +Oracle Open Office Chart : titles;formatting automatically +Oracle Open Office Chart : titles;formatting charts +Oracle Open Office Chart : titles;objects +Oracle Open Office Chart : toolbars +Oracle Open Office Chart : toolbars;adding buttons +Oracle Open Office Chart : toolbars;docking/undocking +Oracle Open Office Chart : toolbars;Form Navigation bar +Oracle Open Office Chart : toolbars;viewing/closing +Oracle Open Office Chart : tools bar +Oracle Open Office Chart : tooltips +Oracle Open Office Chart : tooltips;extended tips +Oracle Open Office Chart : tooltips;help +Oracle Open Office Chart : traditional Chinese +Oracle Open Office Chart : traditional Chinese;translating to simplified chinese +Oracle Open Office Chart : transparency +Oracle Open Office Chart : transparency;areas +Oracle Open Office Chart : transparency;off for faster printing +Oracle Open Office Chart : transparency;saving +Oracle Open Office Chart : tree view of Help +Oracle Open Office Chart : trend lines in charts +Oracle Open Office Chart : typefaces +Oracle Open Office Chart : typefaces;adding under UNIX +Oracle Open Office Chart : typefaces;formats +Oracle Open Office Chart : typography +Oracle Open Office Chart : typography;Asian +Oracle Open Office Chart : underlining +Oracle Open Office Chart : underlining;AutoFormat function +Oracle Open Office Chart : underlining;characters +Oracle Open Office Chart : underlining;text +Oracle Open Office Chart : undocking windows +Oracle Open Office Chart : undoing +Oracle Open Office Chart : undoing;direct formatting +Oracle Open Office Chart : undoing;editing +Oracle Open Office Chart : undoing;number of steps +Oracle Open Office Chart : ungrouping groups +Oracle Open Office Chart : units +Oracle Open Office Chart : units;converting +Oracle Open Office Chart : units;measurement units +Oracle Open Office Chart : UNO components +Oracle Open Office Chart : UNO components;Extension Manager +Oracle Open Office Chart : UNO components;integrating new +Oracle Open Office Chart : update options +Oracle Open Office Chart : updates +Oracle Open Office Chart : updates;checking automatically +Oracle Open Office Chart : updates;checking manually +Oracle Open Office Chart : updating +Oracle Open Office Chart : updating;fields and charts, automatically (Writer) +Oracle Open Office Chart : updating;links in text documents +Oracle Open Office Chart : updating;links, on opening +Oracle Open Office Chart : updating;templates +Oracle Open Office Chart : URL +Oracle Open Office Chart : URL;changing hyperlink URLs +Oracle Open Office Chart : URL;definition +Oracle Open Office Chart : URL;in pictures +Oracle Open Office Chart : URL;saving absolute/relative paths +Oracle Open Office Chart : URL;turning off URL recognition +Oracle Open Office Chart : user data +Oracle Open Office Chart : user data;input +Oracle Open Office Chart : user data;removing when saving +Oracle Open Office Chart : user feedback +Oracle Open Office Chart : user feedback;automatically +Oracle Open Office Chart : user-defined dictionaries +Oracle Open Office Chart : user-defined dictionaries;creating +Oracle Open Office Chart : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Chart : user-defined dictionaries;editing +Oracle Open Office Chart : user-defined styles +Oracle Open Office Chart : user-defined styles;automatically replacing +Oracle Open Office Chart : UTF-8/UCS2 support +Oracle Open Office Chart : values +Oracle Open Office Chart : values;rounded as shown (Calc) +Oracle Open Office Chart : variables +Oracle Open Office Chart : variables;for paths +Oracle Open Office Chart : variances in charts +Oracle Open Office Chart : VBA code +Oracle Open Office Chart : VBA code;loading/saving documents with VBA code +Oracle Open Office Chart : version management +Oracle Open Office Chart : version numbers of documents +Oracle Open Office Chart : versions +Oracle Open Office Chart : versions;comparing documents +Oracle Open Office Chart : versions;file saving as, restriction +Oracle Open Office Chart : versions;merging document versions +Oracle Open Office Chart : versions;of a document +Oracle Open Office Chart : versions;Oracle Open Office +Oracle Open Office Chart : vertical callouts +Oracle Open Office Chart : vertical scrollbars (Writer) +Oracle Open Office Chart : vertical text boxes +Oracle Open Office Chart : videos +Oracle Open Office Chart : viewing +Oracle Open Office Chart : viewing;databases +Oracle Open Office Chart : viewing;file properties +Oracle Open Office Chart : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Chart : viewing;toolbars +Oracle Open Office Chart : views +Oracle Open Office Chart : views;creating database views (Base) +Oracle Open Office Chart : views;defaults +Oracle Open Office Chart : views;full screen +Oracle Open Office Chart : views;icons +Oracle Open Office Chart : views;scaling +Oracle Open Office Chart : Visual Basic for Applications +Oracle Open Office Chart : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Chart : watermarks +Oracle Open Office Chart : web documents +Oracle Open Office Chart : web documents;XForms +Oracle Open Office Chart : Web support +Oracle Open Office Chart : WebCast export +Oracle Open Office Chart : WebDAV over HTTPS +Oracle Open Office Chart : windows +Oracle Open Office Chart : windows;docking +Oracle Open Office Chart : windows;docking definition +Oracle Open Office Chart : windows;hiding/showing/docking +Oracle Open Office Chart : windows;new +Oracle Open Office Chart : wizards +Oracle Open Office Chart : wizards;agendas +Oracle Open Office Chart : wizards;database queries +Oracle Open Office Chart : wizards;database tables (Base) +Oracle Open Office Chart : wizards;databases (Base) +Oracle Open Office Chart : wizards;document converter +Oracle Open Office Chart : wizards;Euro Converter +Oracle Open Office Chart : wizards;faxes +Oracle Open Office Chart : wizards;forms +Oracle Open Office Chart : wizards;letters +Oracle Open Office Chart : wizards;macros (Base) +Oracle Open Office Chart : wizards;overview +Oracle Open Office Chart : wizards;presentations +Oracle Open Office Chart : wizards;reports +Oracle Open Office Chart : Word documents +Oracle Open Office Chart : Word documents;compatibility +Oracle Open Office Chart : Word documents;saving as +Oracle Open Office Chart : WordArt, see Fontwork +Oracle Open Office Chart : words +Oracle Open Office Chart : words;automatically replacing +Oracle Open Office Chart : words;wrapping in cells +Oracle Open Office Chart : words;wrapping in CTL +Oracle Open Office Chart : working directory change +Oracle Open Office Chart : wrapping text +Oracle Open Office Chart : wrapping text;in cells +Oracle Open Office Chart : write protection on/off +Oracle Open Office Chart : writing aids options +Oracle Open Office Chart : WYSIWYG in fonts lists +Oracle Open Office Chart : X axes +Oracle Open Office Chart : X axes;grid formatting +Oracle Open Office Chart : X axes;positioning +Oracle Open Office Chart : X axes;scaling +Oracle Open Office Chart : X axes;showing +Oracle Open Office Chart : XForms +Oracle Open Office Chart : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Chart : XForms;conditions +Oracle Open Office Chart : XForms;opening/editing +Oracle Open Office Chart : XML converters +Oracle Open Office Chart : XML file formats +Oracle Open Office Chart : XML filters +Oracle Open Office Chart : XML filters;creating/testing +Oracle Open Office Chart : XML filters;saving as package/installing/deleting +Oracle Open Office Chart : XML filters;settings +Oracle Open Office Chart : XML Forms, see XForms +Oracle Open Office Chart : XSLT filters, see also XML filters +Oracle Open Office Chart : XY charts +Oracle Open Office Chart : Y axes +Oracle Open Office Chart : Y axes;formatting +Oracle Open Office Chart : Y axes;grid formatting +Oracle Open Office Chart : Y axes;positioning +Oracle Open Office Chart : Y axes;scaling +Oracle Open Office Chart : Y axes;showing +Oracle Open Office Chart : years +Oracle Open Office Chart : years;2-digit options +Oracle Open Office Chart : Z axes +Oracle Open Office Chart : Z axes;grid formatting +Oracle Open Office Chart : Z axes;showing +Oracle Open Office Chart : zero values +Oracle Open Office Chart : zero values;displaying (Calc) +Oracle Open Office Chart : zooming +Oracle Open Office Chart : zooming;page views +Oracle Open Office Chart : zooming;pictures +Oracle Open Office Chart : zooming;status bar +Oracle Open Office Impress : 3D charts +Oracle Open Office Impress : 3D objects +Oracle Open Office Impress : 3D objects;assembling +Oracle Open Office Impress : 3D objects;generating +Oracle Open Office Impress : 3D objects;inserting +Oracle Open Office Impress : 3D rotation objects +Oracle Open Office Impress : 3D rotation objects;converting to +Oracle Open Office Impress : 3D rotation objects;generating +Oracle Open Office Impress : 3D text creation +Oracle Open Office Impress : abbreviation replacement +Oracle Open Office Impress : absolute hyperlinks +Oracle Open Office Impress : absolute saving of URLs +Oracle Open Office Impress : accents +Oracle Open Office Impress : Access databases (base) +Oracle Open Office Impress : access rights for database tables (Base) +Oracle Open Office Impress : accessibility +Oracle Open Office Impress : accessibility;general shortcuts +Oracle Open Office Impress : accessibility;options +Oracle Open Office Impress : accessibility;Oracle Open Office assistive technology +Oracle Open Office Impress : accessibility;Oracle Open Office Draw +Oracle Open Office Impress : accessibility;Oracle Open Office features +Oracle Open Office Impress : accessibility;Oracle Open Office Impress +Oracle Open Office Impress : activating +Oracle Open Office Impress : activating;context menus +Oracle Open Office Impress : activating;Error Report Tool +Oracle Open Office Impress : activating;extended help tips +Oracle Open Office Impress : activating;plug-ins +Oracle Open Office Impress : ActiveX control +Oracle Open Office Impress : Adabas D databases (base) +Oracle Open Office Impress : add-ons, see UNO components +Oracle Open Office Impress : additional selection mode +Oracle Open Office Impress : address books +Oracle Open Office Impress : address books;LDAP server (Base) +Oracle Open Office Impress : address books;registering +Oracle Open Office Impress : address labels from databases +Oracle Open Office Impress : ADO databases (Base) +Oracle Open Office Impress : Agenda Wizard +Oracle Open Office Impress : aging filter +Oracle Open Office Impress : aligning +Oracle Open Office Impress : aligning;2D charts +Oracle Open Office Impress : aligning;cells +Oracle Open Office Impress : aligning;draw objects +Oracle Open Office Impress : aligning;objects +Oracle Open Office Impress : aligning;paragraphs +Oracle Open Office Impress : aligning;tables in text +Oracle Open Office Impress : aligning;text objects +Oracle Open Office Impress : aligning;titles in charts +Oracle Open Office Impress : allowing +Oracle Open Office Impress : allowing;effects +Oracle Open Office Impress : allowing;interaction +Oracle Open Office Impress : alternative fonts +Oracle Open Office Impress : ampersand symbol, see also operators +Oracle Open Office Impress : anchors +Oracle Open Office Impress : anchors;changing +Oracle Open Office Impress : anchors;displaying (Calc) +Oracle Open Office Impress : anchors;types/positions for draw objects +Oracle Open Office Impress : animated GIFs +Oracle Open Office Impress : animated slide transitions +Oracle Open Office Impress : animation effects +Oracle Open Office Impress : animations +Oracle Open Office Impress : animations;accessibility options +Oracle Open Office Impress : animations;editing +Oracle Open Office Impress : animations;list of +Oracle Open Office Impress : animations;saving as GIFs +Oracle Open Office Impress : appearance options +Oracle Open Office Impress : Arabic +Oracle Open Office Impress : Arabic;entering text +Oracle Open Office Impress : Arabic;language settings +Oracle Open Office Impress : area charts +Oracle Open Office Impress : areas +Oracle Open Office Impress : areas;bitmap patterns +Oracle Open Office Impress : areas;from connected lines +Oracle Open Office Impress : areas;hatched/dotted +Oracle Open Office Impress : areas;shadows +Oracle Open Office Impress : areas;slanting +Oracle Open Office Impress : areas;styles +Oracle Open Office Impress : areas;transparency +Oracle Open Office Impress : arguments in command line +Oracle Open Office Impress : arranging +Oracle Open Office Impress : arranging;objects +Oracle Open Office Impress : arranging;objects (guide) +Oracle Open Office Impress : arranging;slides +Oracle Open Office Impress : arrows +Oracle Open Office Impress : arrows;defining arrow heads +Oracle Open Office Impress : arrows;defining arrow lines +Oracle Open Office Impress : arrows;drawing in text +Oracle Open Office Impress : arrows;inserting +Oracle Open Office Impress : arrows;loading arrow styles +Oracle Open Office Impress : ASCII +Oracle Open Office Impress : ASCII;definition +Oracle Open Office Impress : Asian languages +Oracle Open Office Impress : Asian languages;enabling +Oracle Open Office Impress : Asian Phonetic Guide +Oracle Open Office Impress : Asian typography +Oracle Open Office Impress : assembled objects in 3D +Oracle Open Office Impress : assigning scripts +Oracle Open Office Impress : assistive technology in Oracle Open Office +Oracle Open Office Impress : attaching toolbars +Oracle Open Office Impress : attachments in e-mails +Oracle Open Office Impress : attributes +Oracle Open Office Impress : attributes;objects with +Oracle Open Office Impress : audio +Oracle Open Office Impress : authors +Oracle Open Office Impress : auto reloading HTML documents +Oracle Open Office Impress : AutoAbstract function for sending text to presentations +Oracle Open Office Impress : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Impress : AutoComplete function in text and list boxes +Oracle Open Office Impress : AutoCorrect function +Oracle Open Office Impress : AutoCorrect function;context menu +Oracle Open Office Impress : AutoCorrect function;options +Oracle Open Office Impress : AutoCorrect function;pictures and frames +Oracle Open Office Impress : AutoCorrect function;quotes +Oracle Open Office Impress : AutoCorrect function;replacement table +Oracle Open Office Impress : AutoCorrect function;switching on and off in Calc +Oracle Open Office Impress : AutoCorrect function;URL recognition +Oracle Open Office Impress : AutoFormat function +Oracle Open Office Impress : AutoFormat function;switching on and off +Oracle Open Office Impress : automatic captions (Writer) +Oracle Open Office Impress : automatic control focus +Oracle Open Office Impress : automatic hyperlink formatting +Oracle Open Office Impress : automatic line breaks +Oracle Open Office Impress : automatic lines/borders in text +Oracle Open Office Impress : automatic saving +Oracle Open Office Impress : automatic slide changes +Oracle Open Office Impress : automatic slide changes;rehearse timings +Oracle Open Office Impress : automatic slide shows +Oracle Open Office Impress : automatic slide transition +Oracle Open Office Impress : AutoPilots, see wizards +Oracle Open Office Impress : AutoValue (Base) +Oracle Open Office Impress : averages in charts +Oracle Open Office Impress : axes +Oracle Open Office Impress : axes;better scaling +Oracle Open Office Impress : axes;formatting +Oracle Open Office Impress : axes;formatting grids +Oracle Open Office Impress : axes;inserting grids +Oracle Open Office Impress : axes;interval marks +Oracle Open Office Impress : axes;showing axes in charts +Oracle Open Office Impress : axes in charts +Oracle Open Office Impress : backgrounds +Oracle Open Office Impress : backgrounds;changing +Oracle Open Office Impress : backgrounds;defining colors/pictures +Oracle Open Office Impress : backgrounds;deleting unused +Oracle Open Office Impress : backgrounds;frames/sections/indexes +Oracle Open Office Impress : backgrounds;inserting from Gallery +Oracle Open Office Impress : backgrounds;normal view +Oracle Open Office Impress : backgrounds;notes +Oracle Open Office Impress : backgrounds;printing +Oracle Open Office Impress : backgrounds;slides +Oracle Open Office Impress : backing window +Oracle Open Office Impress : backups +Oracle Open Office Impress : backups;automatic +Oracle Open Office Impress : backups;documents +Oracle Open Office Impress : bar charts +Oracle Open Office Impress : Basic +Oracle Open Office Impress : Basic;fonts for source display +Oracle Open Office Impress : Basic;programming +Oracle Open Office Impress : Basic;recording macros +Oracle Open Office Impress : basic fonts +Oracle Open Office Impress : behind object command +Oracle Open Office Impress : Bézier curves +Oracle Open Office Impress : Bézier curves;control points in presentations +Oracle Open Office Impress : bi-directional writing +Oracle Open Office Impress : binding space +Oracle Open Office Impress : bitmaps +Oracle Open Office Impress : bitmaps;converting to +Oracle Open Office Impress : bitmaps;converting to vector graphics +Oracle Open Office Impress : bitmaps;inserting and editing +Oracle Open Office Impress : bitmaps;off for faster printing +Oracle Open Office Impress : bitmaps;patterns +Oracle Open Office Impress : bitmaps;replacing colors +Oracle Open Office Impress : black and white display +Oracle Open Office Impress : black and white printing +Oracle Open Office Impress : black and white view +Oracle Open Office Impress : black printing in Calc +Oracle Open Office Impress : block selection mode +Oracle Open Office Impress : bold +Oracle Open Office Impress : bold;AutoFormat function +Oracle Open Office Impress : bold;text +Oracle Open Office Impress : bookmarks +Oracle Open Office Impress : bookmarks;Help +Oracle Open Office Impress : borders +Oracle Open Office Impress : borders;arranging +Oracle Open Office Impress : borders;cells on screen (Calc) +Oracle Open Office Impress : borders;for paragraphs +Oracle Open Office Impress : borders;for tables +Oracle Open Office Impress : borders;shadows +Oracle Open Office Impress : borders;table boundaries (Writer) +Oracle Open Office Impress : borders, see also frames +Oracle Open Office Impress : bound fields +Oracle Open Office Impress : bound fields;controls +Oracle Open Office Impress : boundaries of tables (Writer) +Oracle Open Office Impress : break display (Writer) +Oracle Open Office Impress : breaking object connections +Oracle Open Office Impress : brochures +Oracle Open Office Impress : brochures;printing several +Oracle Open Office Impress : bubble charts +Oracle Open Office Impress : build numbers of Oracle Open Office +Oracle Open Office Impress : bullet lists +Oracle Open Office Impress : bullet lists;formatting options +Oracle Open Office Impress : bullets +Oracle Open Office Impress : bullets;paragraphs +Oracle Open Office Impress : bullets;replacing +Oracle Open Office Impress : bullets;turning off +Oracle Open Office Impress : business cards +Oracle Open Office Impress : business cards;creating and synchronizing +Oracle Open Office Impress : business cards;using templates +Oracle Open Office Impress : button bars, see toolbars +Oracle Open Office Impress : buttons +Oracle Open Office Impress : buttons;adding push buttons +Oracle Open Office Impress : buttons;big/small +Oracle Open Office Impress : buttons;editing hyperlink buttons +Oracle Open Office Impress : buttons;form functions +Oracle Open Office Impress : buttons;toolbars +Oracle Open Office Impress : cache for graphics +Oracle Open Office Impress : calculating +Oracle Open Office Impress : calculating;iterative references (Calc) +Oracle Open Office Impress : calculating;regression curves +Oracle Open Office Impress : callouts +Oracle Open Office Impress : callouts;drawings +Oracle Open Office Impress : callouts;inserting in presentations +Oracle Open Office Impress : capital letters +Oracle Open Office Impress : capital letters;AutoCorrect function +Oracle Open Office Impress : capital letters;font effects +Oracle Open Office Impress : captions +Oracle Open Office Impress : captions;automatic captions (Writer) +Oracle Open Office Impress : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Impress : captions, see also labels/callouts +Oracle Open Office Impress : cascading update (Base) +Oracle Open Office Impress : case sensitivity +Oracle Open Office Impress : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Impress : case sensitivity;searching +Oracle Open Office Impress : cells +Oracle Open Office Impress : cells;aligning +Oracle Open Office Impress : cells;coloring (Calc) +Oracle Open Office Impress : cells;cursor positions after input (Calc) +Oracle Open Office Impress : cells;formatting without effect (Calc) +Oracle Open Office Impress : cells;line breaks +Oracle Open Office Impress : cells;linked to controls +Oracle Open Office Impress : cells;number of +Oracle Open Office Impress : cells;pasting +Oracle Open Office Impress : cells;resetting formats +Oracle Open Office Impress : cells;showing grid lines (Calc) +Oracle Open Office Impress : centered text +Oracle Open Office Impress : centimeters +Oracle Open Office Impress : certificates +Oracle Open Office Impress : changes +Oracle Open Office Impress : changes;accepting or rejecting +Oracle Open Office Impress : changes;comparing to original +Oracle Open Office Impress : changes;protecting +Oracle Open Office Impress : changes;recording +Oracle Open Office Impress : changes;review function +Oracle Open Office Impress : changes;showing +Oracle Open Office Impress : changing +Oracle Open Office Impress : changing;document titles +Oracle Open Office Impress : changing;file associations in Setup program +Oracle Open Office Impress : changing;icon sizes +Oracle Open Office Impress : changing;layer properties +Oracle Open Office Impress : changing;layout for handouts +Oracle Open Office Impress : changing;links +Oracle Open Office Impress : changing;order of slides +Oracle Open Office Impress : changing;slide layouts +Oracle Open Office Impress : changing;work directory +Oracle Open Office Impress : changing, see also editing and replacing +Oracle Open Office Impress : character styles +Oracle Open Office Impress : character styles;language selection +Oracle Open Office Impress : characters +Oracle Open Office Impress : characters;alternative fonts +Oracle Open Office Impress : characters;Asian layout +Oracle Open Office Impress : characters;bold +Oracle Open Office Impress : characters;coloring +Oracle Open Office Impress : characters;converting to curves +Oracle Open Office Impress : characters;displaying only on screen (Writer) +Oracle Open Office Impress : characters;enabling CTL and Asian characters +Oracle Open Office Impress : characters;font effects +Oracle Open Office Impress : characters;fonts and formats +Oracle Open Office Impress : characters;hyperlinks +Oracle Open Office Impress : characters;italics +Oracle Open Office Impress : characters;language selection +Oracle Open Office Impress : characters;shadowed +Oracle Open Office Impress : characters;spacing +Oracle Open Office Impress : characters;special +Oracle Open Office Impress : characters;underlining +Oracle Open Office Impress : charcoal sketches filter +Oracle Open Office Impress : chart legends +Oracle Open Office Impress : chart legends;hiding +Oracle Open Office Impress : chart legends;showing icons with labels +Oracle Open Office Impress : chart types +Oracle Open Office Impress : chart types;area +Oracle Open Office Impress : chart types;bubble +Oracle Open Office Impress : chart types;column and bar +Oracle Open Office Impress : chart types;column and line +Oracle Open Office Impress : chart types;line +Oracle Open Office Impress : chart types;net +Oracle Open Office Impress : chart types;pie/donut +Oracle Open Office Impress : chart types;stock +Oracle Open Office Impress : chart types;XY (scatter) +Oracle Open Office Impress : charts +Oracle Open Office Impress : charts;3D views +Oracle Open Office Impress : charts;aligning +Oracle Open Office Impress : charts;arranging within stacks +Oracle Open Office Impress : charts;bars with textures +Oracle Open Office Impress : charts;choosing chart types +Oracle Open Office Impress : charts;colors +Oracle Open Office Impress : charts;copying with link to source cell range +Oracle Open Office Impress : charts;data labels +Oracle Open Office Impress : charts;displaying (Calc) +Oracle Open Office Impress : charts;editing axes +Oracle Open Office Impress : charts;editing data +Oracle Open Office Impress : charts;editing legends +Oracle Open Office Impress : charts;editing titles +Oracle Open Office Impress : charts;formatting areas +Oracle Open Office Impress : charts;formatting floors +Oracle Open Office Impress : charts;formatting walls +Oracle Open Office Impress : charts;inserting +Oracle Open Office Impress : charts;overview +Oracle Open Office Impress : charts;positioning axes +Oracle Open Office Impress : charts;properties +Oracle Open Office Impress : charts;reorganizing +Oracle Open Office Impress : charts;scaling axes +Oracle Open Office Impress : charts;scaling text +Oracle Open Office Impress : charts;shortcuts +Oracle Open Office Impress : charts;showing axes +Oracle Open Office Impress : charts;updating automatically (Writer) +Oracle Open Office Impress : check box creation +Oracle Open Office Impress : Chinese writing systems +Oracle Open Office Impress : choosing printers +Oracle Open Office Impress : circle drawings +Oracle Open Office Impress : circle segments +Oracle Open Office Impress : circles +Oracle Open Office Impress : circles;of objects +Oracle Open Office Impress : Client Side ImageMap +Oracle Open Office Impress : clipboard +Oracle Open Office Impress : clipboard;cutting +Oracle Open Office Impress : clipboard;pasting +Oracle Open Office Impress : clipboard;pasting formatted/unformatted text +Oracle Open Office Impress : clipboard;selection clipboard +Oracle Open Office Impress : clipboard;Unix +Oracle Open Office Impress : closing +Oracle Open Office Impress : closing;documents +Oracle Open Office Impress : closing;shapes +Oracle Open Office Impress : closing;toolbars +Oracle Open Office Impress : collaboration +Oracle Open Office Impress : color bar +Oracle Open Office Impress : colors +Oracle Open Office Impress : colors;adding +Oracle Open Office Impress : colors;appearance +Oracle Open Office Impress : colors;backgrounds +Oracle Open Office Impress : colors;charts +Oracle Open Office Impress : colors;default colors +Oracle Open Office Impress : colors;defining and saving +Oracle Open Office Impress : colors;defining gradients interactively +Oracle Open Office Impress : colors;displaying presentations +Oracle Open Office Impress : colors;fill format +Oracle Open Office Impress : colors;fonts +Oracle Open Office Impress : colors;grid lines and cells (Calc) +Oracle Open Office Impress : colors;loading lists +Oracle Open Office Impress : colors;models +Oracle Open Office Impress : colors;not printing +Oracle Open Office Impress : colors;printing in grayscale +Oracle Open Office Impress : colors;replacing +Oracle Open Office Impress : colors;restriction (Calc) +Oracle Open Office Impress : colors;selection +Oracle Open Office Impress : column and line charts +Oracle Open Office Impress : column charts +Oracle Open Office Impress : column headers +Oracle Open Office Impress : column headers;displaying (Calc) +Oracle Open Office Impress : column headers;highlighting (Calc) +Oracle Open Office Impress : columns +Oracle Open Office Impress : columns;inserting +Oracle Open Office Impress : columns;setting with the mouse +Oracle Open Office Impress : combination charts +Oracle Open Office Impress : combining +Oracle Open Office Impress : combining;3D objects +Oracle Open Office Impress : combining;draw objects +Oracle Open Office Impress : combining;undoing +Oracle Open Office Impress : combo box creation +Oracle Open Office Impress : command button creation +Oracle Open Office Impress : command buttons, see push buttons +Oracle Open Office Impress : command line parameters +Oracle Open Office Impress : commands +Oracle Open Office Impress : commands;repeating +Oracle Open Office Impress : commands;SQL +Oracle Open Office Impress : comments +Oracle Open Office Impress : comments;displaying (Calc) +Oracle Open Office Impress : comments;inserting/editing/deleting/printing +Oracle Open Office Impress : comments;on changes +Oracle Open Office Impress : comments;printing in text +Oracle Open Office Impress : common terms +Oracle Open Office Impress : common terms;Chinese dictionary +Oracle Open Office Impress : common terms;glossaries +Oracle Open Office Impress : common terms;Internet glossary +Oracle Open Office Impress : comparisons +Oracle Open Office Impress : comparisons;document versions +Oracle Open Office Impress : comparisons;operators in default filter dialog +Oracle Open Office Impress : compatibility settings for MS Word import +Oracle Open Office Impress : complete screen view +Oracle Open Office Impress : complex text layout +Oracle Open Office Impress : complex text layout;definition +Oracle Open Office Impress : complex text layout;enabling +Oracle Open Office Impress : complex text layout, see CTL +Oracle Open Office Impress : compose key to insert special characters +Oracle Open Office Impress : concatenation, see ampersand symbol +Oracle Open Office Impress : conditional separators +Oracle Open Office Impress : conditions +Oracle Open Office Impress : conditions;in number formats +Oracle Open Office Impress : conditions;items in Data Navigator +Oracle Open Office Impress : cones +Oracle Open Office Impress : Configuration Manager +Oracle Open Office Impress : configuring +Oracle Open Office Impress : configuring;fax icon +Oracle Open Office Impress : configuring;Oracle Open Office +Oracle Open Office Impress : configuring;toolbars +Oracle Open Office Impress : connecting +Oracle Open Office Impress : connecting;draw objects +Oracle Open Office Impress : connecting;lines +Oracle Open Office Impress : connecting;paths and objects +Oracle Open Office Impress : connections to data sources (Base) +Oracle Open Office Impress : connectors +Oracle Open Office Impress : connectors;properties of +Oracle Open Office Impress : connectors;using +Oracle Open Office Impress : constructing shapes +Oracle Open Office Impress : contents protection +Oracle Open Office Impress : context menus +Oracle Open Office Impress : contours +Oracle Open Office Impress : contours;converting to +Oracle Open Office Impress : control point display in presentations +Oracle Open Office Impress : control points definition +Oracle Open Office Impress : controls +Oracle Open Office Impress : controls;activating in forms +Oracle Open Office Impress : controls;adding to documents +Oracle Open Office Impress : controls;arranging in forms +Oracle Open Office Impress : controls;arranging within stacks +Oracle Open Office Impress : controls;assigning data sources +Oracle Open Office Impress : controls;assigning macros (Basic) +Oracle Open Office Impress : controls;bound fields/list contents/linked cells +Oracle Open Office Impress : controls;events +Oracle Open Office Impress : controls;focus +Oracle Open Office Impress : controls;formatted fields +Oracle Open Office Impress : controls;grouping +Oracle Open Office Impress : controls;hidden +Oracle Open Office Impress : controls;inserting +Oracle Open Office Impress : controls;multi-line titles +Oracle Open Office Impress : controls;positions and sizes +Oracle Open Office Impress : controls;printing +Oracle Open Office Impress : controls;properties of form controls +Oracle Open Office Impress : controls;properties of table controls +Oracle Open Office Impress : controls;reference by SQL +Oracle Open Office Impress : controls;rich text control +Oracle Open Office Impress : controls;select mode +Oracle Open Office Impress : controls;showing (Writer) +Oracle Open Office Impress : converters +Oracle Open Office Impress : converters;Euro converter +Oracle Open Office Impress : converters;PostScript, UNIX +Oracle Open Office Impress : converters;XML +Oracle Open Office Impress : converting +Oracle Open Office Impress : converting;bitmaps to polygons +Oracle Open Office Impress : converting;Hangul/Hanja +Oracle Open Office Impress : converting;metrics +Oracle Open Office Impress : converting;Microsoft documents +Oracle Open Office Impress : converting;Oracle Open Office documents +Oracle Open Office Impress : converting;Pocket PC formats +Oracle Open Office Impress : converting;points +Oracle Open Office Impress : converting;text to curves +Oracle Open Office Impress : converting;to bitmaps +Oracle Open Office Impress : converting;to contours +Oracle Open Office Impress : converting;to curves, polygons, 3D +Oracle Open Office Impress : converting;to metafile format (WMF) +Oracle Open Office Impress : copies +Oracle Open Office Impress : copies;printing +Oracle Open Office Impress : copying +Oracle Open Office Impress : copying;by drag and drop +Oracle Open Office Impress : copying;data from text documents +Oracle Open Office Impress : copying;datasource records in spreadsheets +Oracle Open Office Impress : copying;draw objects +Oracle Open Office Impress : copying;draw objects between documents +Oracle Open Office Impress : copying;formatting +Oracle Open Office Impress : copying;from data source view +Oracle Open Office Impress : copying;from Gallery +Oracle Open Office Impress : copying;in Unix +Oracle Open Office Impress : copying;pictures, between documents +Oracle Open Office Impress : copying;sheet areas, to text documents +Oracle Open Office Impress : copying;slides +Oracle Open Office Impress : copying;text from other documents +Oracle Open Office Impress : copying;to Gallery +Oracle Open Office Impress : copyright for Oracle Open Office +Oracle Open Office Impress : corner points +Oracle Open Office Impress : corner roundings +Oracle Open Office Impress : covered objects +Oracle Open Office Impress : crash reports +Oracle Open Office Impress : criteria of query design (Base) +Oracle Open Office Impress : cropping pictures +Oracle Open Office Impress : cross-fading +Oracle Open Office Impress : cross-fading;creating cross-fades +Oracle Open Office Impress : cross-fading;slides +Oracle Open Office Impress : cross-fading;two draw objects +Oracle Open Office Impress : CTL +Oracle Open Office Impress : CTL;(not) wrapping words +Oracle Open Office Impress : CTL;complex text layout languages +Oracle Open Office Impress : CTL;definition +Oracle Open Office Impress : CTL;options +Oracle Open Office Impress : cubes +Oracle Open Office Impress : currencies +Oracle Open Office Impress : currencies;converters +Oracle Open Office Impress : currencies;format codes +Oracle Open Office Impress : currency field creation +Oracle Open Office Impress : currency formats +Oracle Open Office Impress : cursor +Oracle Open Office Impress : cursor;allowing in protected areas (Writer) +Oracle Open Office Impress : cursor;in read-only text +Oracle Open Office Impress : cursor;quickly moving to an object +Oracle Open Office Impress : curves +Oracle Open Office Impress : curves;converting text to +Oracle Open Office Impress : curves;drawing +Oracle Open Office Impress : curves;editing +Oracle Open Office Impress : curves;editing points +Oracle Open Office Impress : curves;properties in line charts/XY charts +Oracle Open Office Impress : curves;toolbar +Oracle Open Office Impress : custom animation +Oracle Open Office Impress : custom colors +Oracle Open Office Impress : custom dictionaries +Oracle Open Office Impress : custom dictionaries;editing +Oracle Open Office Impress : custom gradients +Oracle Open Office Impress : custom hyphens (Writer) +Oracle Open Office Impress : custom quotes +Oracle Open Office Impress : custom slide shows +Oracle Open Office Impress : custom templates +Oracle Open Office Impress : customizing +Oracle Open Office Impress : customizing;events +Oracle Open Office Impress : customizing;keyboard +Oracle Open Office Impress : customizing;menus +Oracle Open Office Impress : customizing;Oracle Open Office +Oracle Open Office Impress : customizing;round corners +Oracle Open Office Impress : customizing;toolbars +Oracle Open Office Impress : cutting +Oracle Open Office Impress : cylinders +Oracle Open Office Impress : dashes +Oracle Open Office Impress : data +Oracle Open Office Impress : data;filtering in forms +Oracle Open Office Impress : data;forms and subforms +Oracle Open Office Impress : data;read-only +Oracle Open Office Impress : data;sorting in forms +Oracle Open Office Impress : data;user data +Oracle Open Office Impress : data binding change in XForms +Oracle Open Office Impress : data labels in charts +Oracle Open Office Impress : Data Navigator +Oracle Open Office Impress : Data Navigator;adding/editing items +Oracle Open Office Impress : Data Navigator;display options +Oracle Open Office Impress : data ranges in charts +Oracle Open Office Impress : data series +Oracle Open Office Impress : data source browser +Oracle Open Office Impress : data source explorer +Oracle Open Office Impress : data source view +Oracle Open Office Impress : data source view;drag and drop +Oracle Open Office Impress : data source view;overview +Oracle Open Office Impress : data source view;showing +Oracle Open Office Impress : data sources +Oracle Open Office Impress : data sources;as tables +Oracle Open Office Impress : data sources;connection settings (Base) +Oracle Open Office Impress : data sources;copying records to spreadsheets +Oracle Open Office Impress : data sources;displaying current +Oracle Open Office Impress : data sources;LDAP server (Base) +Oracle Open Office Impress : data sources;Oracle Open Office Base +Oracle Open Office Impress : data sources;registering address books +Oracle Open Office Impress : data sources;reports +Oracle Open Office Impress : data sources;setting for stock charts +Oracle Open Office Impress : data sources;viewing +Oracle Open Office Impress : data structure of XForms +Oracle Open Office Impress : data values in charts +Oracle Open Office Impress : data, see also values +Oracle Open Office Impress : database contents +Oracle Open Office Impress : database contents;inserting as tables +Oracle Open Office Impress : database contents;inserting as text +Oracle Open Office Impress : database reports +Oracle Open Office Impress : Database Wizard (Base) +Oracle Open Office Impress : databases +Oracle Open Office Impress : databases;administration through SQL (Base) +Oracle Open Office Impress : databases;ADO (Base) +Oracle Open Office Impress : databases;connecting (Base) +Oracle Open Office Impress : databases;creating +Oracle Open Office Impress : databases;creating labels +Oracle Open Office Impress : databases;creating queries +Oracle Open Office Impress : databases;creating reports +Oracle Open Office Impress : databases;creating tables +Oracle Open Office Impress : databases;deleting (Base) +Oracle Open Office Impress : databases;drag and drop (Base) +Oracle Open Office Impress : databases;editing tables +Oracle Open Office Impress : databases;form filters +Oracle Open Office Impress : databases;formats (Base) +Oracle Open Office Impress : databases;importing/exporting +Oracle Open Office Impress : databases;JDBC (Base) +Oracle Open Office Impress : databases;main page (Base) +Oracle Open Office Impress : databases;ODBC (Base) +Oracle Open Office Impress : databases;overview +Oracle Open Office Impress : databases;registering (Base) +Oracle Open Office Impress : databases;searching records +Oracle Open Office Impress : databases;shortcut keys +Oracle Open Office Impress : databases;sorting +Oracle Open Office Impress : databases;standard filters +Oracle Open Office Impress : databases;text formats +Oracle Open Office Impress : databases;viewing +Oracle Open Office Impress : date fields +Oracle Open Office Impress : date fields;creating +Oracle Open Office Impress : date fields;properties +Oracle Open Office Impress : date formats +Oracle Open Office Impress : date on all slides +Oracle Open Office Impress : dates +Oracle Open Office Impress : dates;default (Calc) +Oracle Open Office Impress : dates;fixed +Oracle Open Office Impress : dates;printing in presentations +Oracle Open Office Impress : dates;start 1900/01/01 (Calc) +Oracle Open Office Impress : dates;start 1904/01/01 (Calc) +Oracle Open Office Impress : dates;variable +Oracle Open Office Impress : dBASE +Oracle Open Office Impress : dBASE;database settings (Base) +Oracle Open Office Impress : DDE +Oracle Open Office Impress : DDE;definition +Oracle Open Office Impress : deactivating +Oracle Open Office Impress : deactivating;plug-ins +Oracle Open Office Impress : decimal places displayed (Calc) +Oracle Open Office Impress : decimal separator key +Oracle Open Office Impress : decimal tab stops +Oracle Open Office Impress : decreasing sizes of views +Oracle Open Office Impress : default directories +Oracle Open Office Impress : default filters +Oracle Open Office Impress : default filters;comparison operators +Oracle Open Office Impress : default filters;databases +Oracle Open Office Impress : default printer +Oracle Open Office Impress : default printer;setting up +Oracle Open Office Impress : default printer;UNIX +Oracle Open Office Impress : default templates +Oracle Open Office Impress : default templates;changing +Oracle Open Office Impress : default templates;organizing +Oracle Open Office Impress : defaults +Oracle Open Office Impress : defaults;documents +Oracle Open Office Impress : defaults;file formats in file dialogs +Oracle Open Office Impress : defaults;file formats in Oracle Open Office +Oracle Open Office Impress : defaults;fonts +Oracle Open Office Impress : defaults;grids (Writer/Calc) +Oracle Open Office Impress : defaults;languages +Oracle Open Office Impress : defaults;number formats +Oracle Open Office Impress : defaults;of saving +Oracle Open Office Impress : defaults;program configuration +Oracle Open Office Impress : defaults;tab stops in text +Oracle Open Office Impress : defaults;views +Oracle Open Office Impress : defining +Oracle Open Office Impress : defining;arrowheads and other line ends +Oracle Open Office Impress : defining;colors +Oracle Open Office Impress : defining;gradients +Oracle Open Office Impress : defining;line styles +Oracle Open Office Impress : defining;paragraph borders +Oracle Open Office Impress : defining;queries (Base) +Oracle Open Office Impress : defining;table borders +Oracle Open Office Impress : deleting +Oracle Open Office Impress : deleting;all direct formatting +Oracle Open Office Impress : deleting;animation effects +Oracle Open Office Impress : deleting;comments +Oracle Open Office Impress : deleting;databases (Base) +Oracle Open Office Impress : deleting;hyperlinks +Oracle Open Office Impress : deleting;layers +Oracle Open Office Impress : deleting;lines in text +Oracle Open Office Impress : deleting;models/instances +Oracle Open Office Impress : deleting;namespaces in XForms +Oracle Open Office Impress : deleting;points +Oracle Open Office Impress : deleting;slide transition effects +Oracle Open Office Impress : deleting;slides +Oracle Open Office Impress : deleting;tab stops +Oracle Open Office Impress : deleting;templates +Oracle Open Office Impress : deleting;XML filters +Oracle Open Office Impress : depth stagger +Oracle Open Office Impress : descriptions for objects +Oracle Open Office Impress : design mode after saving +Oracle Open Office Impress : design view +Oracle Open Office Impress : design view;creating forms +Oracle Open Office Impress : design view;queries/views (Base) +Oracle Open Office Impress : designing +Oracle Open Office Impress : designing;database tables +Oracle Open Office Impress : designing;fonts +Oracle Open Office Impress : designing;queries (Base) +Oracle Open Office Impress : detaching toolbars +Oracle Open Office Impress : dictionaries +Oracle Open Office Impress : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Impress : dictionaries;creating +Oracle Open Office Impress : dictionaries;editing user-defined +Oracle Open Office Impress : dictionaries;spellcheck +Oracle Open Office Impress : dictionaries, see also languages +Oracle Open Office Impress : digital signatures +Oracle Open Office Impress : digital signatures;getting/managing/applying +Oracle Open Office Impress : digital signatures;overview +Oracle Open Office Impress : digital signatures;WebDAV over HTTPS +Oracle Open Office Impress : dimension lines +Oracle Open Office Impress : dimension lines;drawing +Oracle Open Office Impress : dimension lines;properties of +Oracle Open Office Impress : direct formatting +Oracle Open Office Impress : direct formatting;undoing all +Oracle Open Office Impress : directories +Oracle Open Office Impress : directories;creating new +Oracle Open Office Impress : directories;directory structure +Oracle Open Office Impress : disabled persons +Oracle Open Office Impress : display qualities of presentations +Oracle Open Office Impress : displaying +Oracle Open Office Impress : displaying;comments (Calc) +Oracle Open Office Impress : displaying;comments in text documents +Oracle Open Office Impress : displaying;non-printing characters (Writer) +Oracle Open Office Impress : displaying;pictures and objects (Writer) +Oracle Open Office Impress : displaying;tables (Writer) +Oracle Open Office Impress : displaying;zero values (Calc) +Oracle Open Office Impress : distances +Oracle Open Office Impress : distinct values in SQL queries +Oracle Open Office Impress : distorting in drawings +Oracle Open Office Impress : distorting objects +Oracle Open Office Impress : distributing draw objects +Oracle Open Office Impress : distributing XML filters +Oracle Open Office Impress : docking +Oracle Open Office Impress : docking;definition +Oracle Open Office Impress : docking;toolbars +Oracle Open Office Impress : docking;windows +Oracle Open Office Impress : Document Converter Wizard +Oracle Open Office Impress : Document Map, see Navigator +Oracle Open Office Impress : document types in Oracle Open Office +Oracle Open Office Impress : documents +Oracle Open Office Impress : documents;changing titles +Oracle Open Office Impress : documents;closing +Oracle Open Office Impress : documents;comparing +Oracle Open Office Impress : documents;contents as lists +Oracle Open Office Impress : documents;editing time +Oracle Open Office Impress : documents;exporting +Oracle Open Office Impress : documents;importing +Oracle Open Office Impress : documents;languages +Oracle Open Office Impress : documents;measurement units in +Oracle Open Office Impress : documents;merging +Oracle Open Office Impress : documents;number of pages/tables/sheets +Oracle Open Office Impress : documents;opening +Oracle Open Office Impress : documents;opening in design mode +Oracle Open Office Impress : documents;opening with templates +Oracle Open Office Impress : documents;organizing +Oracle Open Office Impress : documents;printing +Oracle Open Office Impress : documents;read-only +Oracle Open Office Impress : documents;reloading +Oracle Open Office Impress : documents;saving +Oracle Open Office Impress : documents;saving automatically +Oracle Open Office Impress : documents;saving in other formats +Oracle Open Office Impress : documents;sending as e-mail +Oracle Open Office Impress : documents;styles changed +Oracle Open Office Impress : documents;version management +Oracle Open Office Impress : documents;version numbers +Oracle Open Office Impress : donut charts +Oracle Open Office Impress : dotted areas +Oracle Open Office Impress : double-line spacing in paragraphs +Oracle Open Office Impress : double-line writing in Asian layout +Oracle Open Office Impress : doubling draw objects +Oracle Open Office Impress : drag and drop +Oracle Open Office Impress : drag and drop;copying and pasting text +Oracle Open Office Impress : drag and drop;data source view +Oracle Open Office Impress : drag and drop;from Gallery to draw objects +Oracle Open Office Impress : drag and drop;overview +Oracle Open Office Impress : drag and drop;pictures +Oracle Open Office Impress : drag and drop;to Gallery +Oracle Open Office Impress : Draw instructions +Oracle Open Office Impress : draw objects +Oracle Open Office Impress : draw objects;adding/editing/copying +Oracle Open Office Impress : draw objects;anchoring +Oracle Open Office Impress : draw objects;arranging within stacks +Oracle Open Office Impress : draw objects;combining +Oracle Open Office Impress : draw objects;connecting lines to +Oracle Open Office Impress : draw objects;converting text to +Oracle Open Office Impress : draw objects;copying between documents +Oracle Open Office Impress : draw objects;cross-fading two objects +Oracle Open Office Impress : draw objects;displaying (Calc) +Oracle Open Office Impress : draw objects;dropping Gallery pictures +Oracle Open Office Impress : draw objects;duplicating +Oracle Open Office Impress : draw objects;flipping +Oracle Open Office Impress : draw objects;grouping +Oracle Open Office Impress : draw objects;legends +Oracle Open Office Impress : draw objects;positioning and resizing +Oracle Open Office Impress : draw objects;protecting +Oracle Open Office Impress : draw objects;rotating +Oracle Open Office Impress : draw objects;slanting +Oracle Open Office Impress : draw objects;text entry mode +Oracle Open Office Impress : draw objects;text in +Oracle Open Office Impress : drawing +Oracle Open Office Impress : drawing;3D objects +Oracle Open Office Impress : drawing;freeform lines +Oracle Open Office Impress : drawing;lines +Oracle Open Office Impress : drawing;sectors and segments +Oracle Open Office Impress : Drawing bar +Oracle Open Office Impress : drawing lines in text +Oracle Open Office Impress : drawings +Oracle Open Office Impress : drawings;creating/opening +Oracle Open Office Impress : drawings;languages +Oracle Open Office Impress : drawings;printing +Oracle Open Office Impress : drawings;printing defaults +Oracle Open Office Impress : drawings;printing in text documents +Oracle Open Office Impress : drawings;saving +Oracle Open Office Impress : drawings;saving automatically +Oracle Open Office Impress : drawings;saving in other formats +Oracle Open Office Impress : drawings;sending as e-mail +Oracle Open Office Impress : drawings;shortcut keys +Oracle Open Office Impress : drawings;showing (Writer) +Oracle Open Office Impress : drawings;zoom function in +Oracle Open Office Impress : drawings, see also draw objects +Oracle Open Office Impress : drop-down lists in form functions +Oracle Open Office Impress : duplicating draw objects +Oracle Open Office Impress : e-mail attachments +Oracle Open Office Impress : Edit File icon +Oracle Open Office Impress : edit mode +Oracle Open Office Impress : edit mode;after opening +Oracle Open Office Impress : edit mode;through Enter key (Calc) +Oracle Open Office Impress : Edit Points bar +Oracle Open Office Impress : editing +Oracle Open Office Impress : editing;chart axes +Oracle Open Office Impress : editing;chart data +Oracle Open Office Impress : editing;chart legends +Oracle Open Office Impress : editing;chart titles +Oracle Open Office Impress : editing;comments +Oracle Open Office Impress : editing;curves +Oracle Open Office Impress : editing;data binding of XForms +Oracle Open Office Impress : editing;database tables and queries +Oracle Open Office Impress : editing;draw objects +Oracle Open Office Impress : editing;fields +Oracle Open Office Impress : editing;Fontwork objects +Oracle Open Office Impress : editing;gradients +Oracle Open Office Impress : editing;guides and snap points +Oracle Open Office Impress : editing;hyperlinks +Oracle Open Office Impress : editing;menus +Oracle Open Office Impress : editing;objects +Oracle Open Office Impress : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Impress : editing;pictures +Oracle Open Office Impress : editing;reports +Oracle Open Office Impress : editing;shortcut keys +Oracle Open Office Impress : editing;slide titles +Oracle Open Office Impress : editing;tab stops +Oracle Open Office Impress : editing;templates +Oracle Open Office Impress : editing;titles +Oracle Open Office Impress : editing;toolbars +Oracle Open Office Impress : editing;undoing +Oracle Open Office Impress : editing;XForms +Oracle Open Office Impress : editing time of documents +Oracle Open Office Impress : editors +Oracle Open Office Impress : editors;formula editor +Oracle Open Office Impress : editors;ImageMap editor +Oracle Open Office Impress : effects +Oracle Open Office Impress : effects;animated slide transitions +Oracle Open Office Impress : effects;applying to/removing from objects +Oracle Open Office Impress : effects;font positions +Oracle Open Office Impress : effects;fonts +Oracle Open Office Impress : effects;Fontwork icons +Oracle Open Office Impress : effects;preview +Oracle Open Office Impress : effects;sounds +Oracle Open Office Impress : ellipses +Oracle Open Office Impress : ellipses;segments +Oracle Open Office Impress : ellipses;toolbars +Oracle Open Office Impress : empty documents +Oracle Open Office Impress : empty paragraph removal +Oracle Open Office Impress : encryption of contents +Oracle Open Office Impress : entering groups +Oracle Open Office Impress : entering text from right to left +Oracle Open Office Impress : equal sign, see also operators +Oracle Open Office Impress : equations in formula editor +Oracle Open Office Impress : error bars in charts +Oracle Open Office Impress : error indicators in charts +Oracle Open Office Impress : Error Report Tool +Oracle Open Office Impress : Euro +Oracle Open Office Impress : Euro;currency formats +Oracle Open Office Impress : Euro;Euro Converter Wizard +Oracle Open Office Impress : even/odd pages +Oracle Open Office Impress : even/odd pages;printing +Oracle Open Office Impress : events +Oracle Open Office Impress : events;assigning scripts +Oracle Open Office Impress : events;controls +Oracle Open Office Impress : events;customizing +Oracle Open Office Impress : events;in forms +Oracle Open Office Impress : Excel +Oracle Open Office Impress : Excel;saving as +Oracle Open Office Impress : Excel;search criteria +Oracle Open Office Impress : exceptions +Oracle Open Office Impress : exceptions;user-defined dictionaries +Oracle Open Office Impress : exchanging, see also replacing +Oracle Open Office Impress : executing SQL commands +Oracle Open Office Impress : exiting +Oracle Open Office Impress : exiting;by clicking objects +Oracle Open Office Impress : exiting;groups +Oracle Open Office Impress : exiting;Oracle Open Office +Oracle Open Office Impress : expanding +Oracle Open Office Impress : expanding;slides +Oracle Open Office Impress : expanding formatting (Calc) +Oracle Open Office Impress : explorer of data sources +Oracle Open Office Impress : export filters +Oracle Open Office Impress : exporting +Oracle Open Office Impress : exporting;animations to GIF format +Oracle Open Office Impress : exporting;bitmaps +Oracle Open Office Impress : exporting;HTML and text documents +Oracle Open Office Impress : exporting;Microsoft Office documents with VBA code +Oracle Open Office Impress : exporting;presentations to HTML +Oracle Open Office Impress : exporting;spreadsheets to text format +Oracle Open Office Impress : exporting;templates +Oracle Open Office Impress : exporting;to foreign formats +Oracle Open Office Impress : exporting;to HTML +Oracle Open Office Impress : exporting;to Macromedia Flash format +Oracle Open Office Impress : exporting;to Microsoft Office formats +Oracle Open Office Impress : exporting;to PDF +Oracle Open Office Impress : exporting;to PostScript format +Oracle Open Office Impress : exporting;to XML +Oracle Open Office Impress : exporting;XML files +Oracle Open Office Impress : extended tips in Help +Oracle Open Office Impress : extension mode in text +Oracle Open Office Impress : extensions +Oracle Open Office Impress : extensions;Extension Manager +Oracle Open Office Impress : extensions;file formats +Oracle Open Office Impress : external keys (Base) +Oracle Open Office Impress : extrusion objects +Oracle Open Office Impress : eyedropper tool +Oracle Open Office Impress : faster printing +Oracle Open Office Impress : faxes +Oracle Open Office Impress : faxes;configuring Oracle Open Office +Oracle Open Office Impress : faxes;fax programs/fax printers under UNIX +Oracle Open Office Impress : faxes;selecting a fax machine +Oracle Open Office Impress : faxes;sending +Oracle Open Office Impress : faxes;wizards +Oracle Open Office Impress : feedback +Oracle Open Office Impress : feedback;automatically +Oracle Open Office Impress : fields +Oracle Open Office Impress : fields;authors +Oracle Open Office Impress : fields;database tables +Oracle Open Office Impress : fields;dates (fixed) +Oracle Open Office Impress : fields;dates (variable) +Oracle Open Office Impress : fields;displaying field codes (Writer) +Oracle Open Office Impress : fields;editing +Oracle Open Office Impress : fields;file names +Oracle Open Office Impress : fields;formatted fields +Oracle Open Office Impress : fields;formatting +Oracle Open Office Impress : fields;in slides +Oracle Open Office Impress : fields;page numbers +Oracle Open Office Impress : fields;times (fixed) +Oracle Open Office Impress : fields;times (variable) +Oracle Open Office Impress : fields;updating automatically (Writer) +Oracle Open Office Impress : file associations for Microsoft Office +Oracle Open Office Impress : file filters +Oracle Open Office Impress : file filters;mobile devices +Oracle Open Office Impress : file filters;XML +Oracle Open Office Impress : file formats +Oracle Open Office Impress : file formats;changing Oracle Open Office defaults +Oracle Open Office Impress : file formats;OpenDocument/XML +Oracle Open Office Impress : file formats;saving always in other formats +Oracle Open Office Impress : file selection button +Oracle Open Office Impress : file sharing options for current document +Oracle Open Office Impress : files +Oracle Open Office Impress : files;filters and formats +Oracle Open Office Impress : files;importing +Oracle Open Office Impress : files;inserting +Oracle Open Office Impress : files;inserting pictures +Oracle Open Office Impress : files;opening +Oracle Open Office Impress : files;properties +Oracle Open Office Impress : files;saving +Oracle Open Office Impress : files;saving automatically +Oracle Open Office Impress : files;saving in other formats +Oracle Open Office Impress : files;sending as e-mail +Oracle Open Office Impress : files;version numbers +Oracle Open Office Impress : files and folders in Oracle Open Office +Oracle Open Office Impress : fill characters with tabulators +Oracle Open Office Impress : fill colors for areas +Oracle Open Office Impress : fill format mode +Oracle Open Office Impress : fill format mode;styles +Oracle Open Office Impress : fill patterns for areas +Oracle Open Office Impress : filter conditions +Oracle Open Office Impress : filter conditions;connecting +Oracle Open Office Impress : filter conditions;in queries (Base) +Oracle Open Office Impress : filtering +Oracle Open Office Impress : filtering;data in databases +Oracle Open Office Impress : filtering;data in forms +Oracle Open Office Impress : filters +Oracle Open Office Impress : filters;comparison operators +Oracle Open Office Impress : filters;for import and export +Oracle Open Office Impress : filters;Navigator +Oracle Open Office Impress : filters;pictures +Oracle Open Office Impress : filters;XML filter settings +Oracle Open Office Impress : Find tab in Help +Oracle Open Office Impress : finding +Oracle Open Office Impress : finding;in all sheets +Oracle Open Office Impress : finding;records in form documents +Oracle Open Office Impress : finding;selections +Oracle Open Office Impress : finding;similarity search +Oracle Open Office Impress : fitting to pages +Oracle Open Office Impress : fitting to pages;individual slides +Oracle Open Office Impress : fitting to pages;print settings in Math +Oracle Open Office Impress : fitting to pages;print settings in presentations +Oracle Open Office Impress : fixed text +Oracle Open Office Impress : fixed text;form functions +Oracle Open Office Impress : fixing toolbars +Oracle Open Office Impress : flipping around a flip line +Oracle Open Office Impress : flipping draw objects +Oracle Open Office Impress : floating frames in HTML documents +Oracle Open Office Impress : floating text +Oracle Open Office Impress : floating toolbars +Oracle Open Office Impress : flowcharts +Oracle Open Office Impress : focus of controls +Oracle Open Office Impress : folder creation +Oracle Open Office Impress : font lists +Oracle Open Office Impress : font name box +Oracle Open Office Impress : font sizes +Oracle Open Office Impress : font sizes;bullets +Oracle Open Office Impress : font sizes;relative changes +Oracle Open Office Impress : font sizes;scaling on screen +Oracle Open Office Impress : font sizes;text +Oracle Open Office Impress : fonts +Oracle Open Office Impress : fonts;adding under UNIX +Oracle Open Office Impress : fonts;changing in templates +Oracle Open Office Impress : fonts;colors +Oracle Open Office Impress : fonts;default settings +Oracle Open Office Impress : fonts;effects +Oracle Open Office Impress : fonts;for HTML and Basic +Oracle Open Office Impress : fonts;formats +Oracle Open Office Impress : fonts;outlines +Oracle Open Office Impress : fonts;positions in text +Oracle Open Office Impress : fonts;shadows +Oracle Open Office Impress : fonts;specifying several +Oracle Open Office Impress : fonts;strikethrough +Oracle Open Office Impress : fonts;styles +Oracle Open Office Impress : fonts;text objects +Oracle Open Office Impress : Fontwork icons +Oracle Open Office Impress : footers +Oracle Open Office Impress : footers;backgrounds +Oracle Open Office Impress : footers;slide masters +Oracle Open Office Impress : footers;slides +Oracle Open Office Impress : form controls +Oracle Open Office Impress : form controls;assigning macros +Oracle Open Office Impress : form controls;protecting +Oracle Open Office Impress : form controls;toolbars +Oracle Open Office Impress : form fields +Oracle Open Office Impress : form filters +Oracle Open Office Impress : Form Navigator +Oracle Open Office Impress : format codes +Oracle Open Office Impress : format codes;numbers +Oracle Open Office Impress : format filling printing in Oracle Open Office Math +Oracle Open Office Impress : Format Paintbrush +Oracle Open Office Impress : formats +Oracle Open Office Impress : formats;Asian layout +Oracle Open Office Impress : formats;fonts +Oracle Open Office Impress : formats;maximizing page formats +Oracle Open Office Impress : formats;number and currency formats +Oracle Open Office Impress : formats;of currencies/date/time +Oracle Open Office Impress : formats;on opening and saving +Oracle Open Office Impress : formats;pasting in special formats +Oracle Open Office Impress : formats;positions +Oracle Open Office Impress : formats;tabulators +Oracle Open Office Impress : formatted fields +Oracle Open Office Impress : formatted fields;form functions +Oracle Open Office Impress : formatted fields;properties +Oracle Open Office Impress : formatting +Oracle Open Office Impress : formatting;Asian typography +Oracle Open Office Impress : formatting;axes in charts +Oracle Open Office Impress : formatting;chart areas +Oracle Open Office Impress : formatting;chart floors +Oracle Open Office Impress : formatting;chart legends +Oracle Open Office Impress : formatting;chart titles +Oracle Open Office Impress : formatting;chart walls +Oracle Open Office Impress : formatting;copying +Oracle Open Office Impress : formatting;definition +Oracle Open Office Impress : formatting;expanding (Calc) +Oracle Open Office Impress : formatting;fields +Oracle Open Office Impress : formatting;font effects +Oracle Open Office Impress : formatting;hyperlinks +Oracle Open Office Impress : formatting;pages +Oracle Open Office Impress : formatting;printer metrics (Writer) +Oracle Open Office Impress : formatting;slides +Oracle Open Office Impress : formatting;slides headings +Oracle Open Office Impress : formatting;undoing +Oracle Open Office Impress : formatting;undoing when writing +Oracle Open Office Impress : forms +Oracle Open Office Impress : forms;browsing +Oracle Open Office Impress : forms;Combo Box/List Box Wizard +Oracle Open Office Impress : forms;creating +Oracle Open Office Impress : forms;data +Oracle Open Office Impress : forms;designing (Base) +Oracle Open Office Impress : forms;events +Oracle Open Office Impress : forms;filtering data +Oracle Open Office Impress : forms;finding records +Oracle Open Office Impress : forms;focus after opening +Oracle Open Office Impress : forms;general information (Base) +Oracle Open Office Impress : forms;grouping controls +Oracle Open Office Impress : forms;HTML filters +Oracle Open Office Impress : forms;inserting +Oracle Open Office Impress : forms;Navigator +Oracle Open Office Impress : forms;opening in design mode +Oracle Open Office Impress : forms;properties +Oracle Open Office Impress : forms;sorting data +Oracle Open Office Impress : forms;subforms +Oracle Open Office Impress : forms;wizards +Oracle Open Office Impress : forms;XForms +Oracle Open Office Impress : formula texts +Oracle Open Office Impress : formula texts;printing in Oracle Open Office Math +Oracle Open Office Impress : formulas +Oracle Open Office Impress : formulas;new +Oracle Open Office Impress : formulas;starting formula editor +Oracle Open Office Impress : formulas in reports +Oracle Open Office Impress : formulas in reports;editing +Oracle Open Office Impress : forums and support +Oracle Open Office Impress : frames +Oracle Open Office Impress : frames;around paragraphs +Oracle Open Office Impress : frames;around tables +Oracle Open Office Impress : frames;AutoCorrect function +Oracle Open Office Impress : frames;backgrounds +Oracle Open Office Impress : frames;captions (Writer) +Oracle Open Office Impress : frames;printing in Oracle Open Office Math +Oracle Open Office Impress : frames;protecting +Oracle Open Office Impress : frames;selection frames +Oracle Open Office Impress : frames;text fitting to frames +Oracle Open Office Impress : freeform lines +Oracle Open Office Impress : freeform lines;draw functions +Oracle Open Office Impress : freeform lines;drawing +Oracle Open Office Impress : FTP +Oracle Open Office Impress : FTP;opening documents +Oracle Open Office Impress : FTP;saving documents +Oracle Open Office Impress : full joins (Base) +Oracle Open Office Impress : full screen view +Oracle Open Office Impress : full-text search in Help +Oracle Open Office Impress : functions in reports +Oracle Open Office Impress : functions in reports;editing +Oracle Open Office Impress : Gallery +Oracle Open Office Impress : Gallery;adding pictures +Oracle Open Office Impress : Gallery;dragging pictures to draw objects +Oracle Open Office Impress : Gallery;hiding/showing +Oracle Open Office Impress : Gallery;inserting pictures from +Oracle Open Office Impress : geometric forms +Oracle Open Office Impress : get method for form transmissions +Oracle Open Office Impress : getting support +Oracle Open Office Impress : GIF format +Oracle Open Office Impress : GIF images +Oracle Open Office Impress : GIF images;animating +Oracle Open Office Impress : GIF images;replacing colors +Oracle Open Office Impress : glossaries +Oracle Open Office Impress : glossaries;common terms +Oracle Open Office Impress : glossaries;Internet terms +Oracle Open Office Impress : glue points +Oracle Open Office Impress : glue points;using +Oracle Open Office Impress : gradients +Oracle Open Office Impress : gradients;applying and defining +Oracle Open Office Impress : gradients;defining colors +Oracle Open Office Impress : gradients;loading lists +Oracle Open Office Impress : gradients;transparent +Oracle Open Office Impress : gradients off for faster printing +Oracle Open Office Impress : graphic objects, see draw objects +Oracle Open Office Impress : graphical text art +Oracle Open Office Impress : graphics +Oracle Open Office Impress : graphics;cache +Oracle Open Office Impress : graphics;protecting +Oracle Open Office Impress : graphics, see also pictures +Oracle Open Office Impress : grayscale display +Oracle Open Office Impress : grayscale printing +Oracle Open Office Impress : grid controls +Oracle Open Office Impress : grid controls;form functions +Oracle Open Office Impress : grids +Oracle Open Office Impress : grids;defaults (Writer/Calc) +Oracle Open Office Impress : grids;display options (Impress/Draw) +Oracle Open Office Impress : grids;displaying lines (Calc) +Oracle Open Office Impress : grids;formatting axes +Oracle Open Office Impress : grids;inserting in charts +Oracle Open Office Impress : group box creation +Oracle Open Office Impress : grouping +Oracle Open Office Impress : grouping;draw objects +Oracle Open Office Impress : groups +Oracle Open Office Impress : groups;entering/exiting/ungrouping +Oracle Open Office Impress : groups;naming +Oracle Open Office Impress : groups;of controls +Oracle Open Office Impress : guides +Oracle Open Office Impress : guides;display options (Impress/Draw) +Oracle Open Office Impress : guides;displaying when moving objects (Impress) +Oracle Open Office Impress : guides;editing +Oracle Open Office Impress : guides;inserting +Oracle Open Office Impress : guides;show snap lines icon +Oracle Open Office Impress : guides;showing (Calc) +Oracle Open Office Impress : guides;showing when moving frames (Writer) +Oracle Open Office Impress : gutter +Oracle Open Office Impress : half-spheres +Oracle Open Office Impress : hand icon for moving slides +Oracle Open Office Impress : handles +Oracle Open Office Impress : handles;displaying (Writer) +Oracle Open Office Impress : handles;large +Oracle Open Office Impress : handles;scaling +Oracle Open Office Impress : handles;showing simple/large handles (Calc) +Oracle Open Office Impress : handles;simple +Oracle Open Office Impress : handout printing +Oracle Open Office Impress : Hangul/Hanja +Oracle Open Office Impress : hatching +Oracle Open Office Impress : hatching +Oracle Open Office Impress : hatching;loading lists +Oracle Open Office Impress : headers +Oracle Open Office Impress : headers;backgrounds +Oracle Open Office Impress : headers and footers +Oracle Open Office Impress : headers and footers;master layouts +Oracle Open Office Impress : headers and footers;slide masters +Oracle Open Office Impress : headers and footers;slides +Oracle Open Office Impress : headings +Oracle Open Office Impress : headings;entering as text box +Oracle Open Office Impress : Hebrew +Oracle Open Office Impress : Hebrew;entering text +Oracle Open Office Impress : Hebrew;language settings +Oracle Open Office Impress : Help +Oracle Open Office Impress : Help;bookmarks +Oracle Open Office Impress : Help;extended tips on/off +Oracle Open Office Impress : Help;full-text search +Oracle Open Office Impress : Help;Help tips +Oracle Open Office Impress : Help;keywords +Oracle Open Office Impress : Help;navigation pane showing/hiding +Oracle Open Office Impress : Help;style sheets +Oracle Open Office Impress : Help;topics +Oracle Open Office Impress : Help Agent +Oracle Open Office Impress : Help Agent;help +Oracle Open Office Impress : Help Agent;options +Oracle Open Office Impress : Help tips +Oracle Open Office Impress : Help tips;hiding +Oracle Open Office Impress : hidden controls in Form Navigator +Oracle Open Office Impress : hidden fields display (Writer) +Oracle Open Office Impress : hidden pages +Oracle Open Office Impress : hidden pages;printing in presentations +Oracle Open Office Impress : hidden pages;showing +Oracle Open Office Impress : hidden text +Oracle Open Office Impress : hidden text;showing (Writer) +Oracle Open Office Impress : hiding +Oracle Open Office Impress : hiding;changes +Oracle Open Office Impress : hiding;chart legends +Oracle Open Office Impress : hiding;docked windows +Oracle Open Office Impress : hiding;layers +Oracle Open Office Impress : hiding;levels +Oracle Open Office Impress : hiding;navigation pane in Help window +Oracle Open Office Impress : hiding;slides +Oracle Open Office Impress : hiding;subpoints +Oracle Open Office Impress : high contrast mode +Oracle Open Office Impress : Hindi +Oracle Open Office Impress : Hindi;entering text +Oracle Open Office Impress : Hindi;language settings +Oracle Open Office Impress : horizontal scrollbars (Writer) +Oracle Open Office Impress : hot spots in flowcharts +Oracle Open Office Impress : hotspots +Oracle Open Office Impress : HowTos for charts +Oracle Open Office Impress : Howtos for Draw +Oracle Open Office Impress : HTML +Oracle Open Office Impress : HTML;definition +Oracle Open Office Impress : HTML;export character set +Oracle Open Office Impress : HTML;exporting from presentations +Oracle Open Office Impress : HTML;fonts for source display +Oracle Open Office Impress : HTML;importing into presentations +Oracle Open Office Impress : HTML;importing META tags +Oracle Open Office Impress : HTML;inserting files +Oracle Open Office Impress : HTML;live presentations +Oracle Open Office Impress : HTML documents +Oracle Open Office Impress : HTML documents;auto reloading +Oracle Open Office Impress : HTML documents;importing/exporting +Oracle Open Office Impress : HTML documents;META tags in +Oracle Open Office Impress : HTML documents;new +Oracle Open Office Impress : HTML documents;source text +Oracle Open Office Impress : hyperlinks +Oracle Open Office Impress : hyperlinks;assigning macros +Oracle Open Office Impress : hyperlinks;character formats +Oracle Open Office Impress : hyperlinks;definition +Oracle Open Office Impress : hyperlinks;deleting +Oracle Open Office Impress : hyperlinks;editing +Oracle Open Office Impress : hyperlinks;inserting +Oracle Open Office Impress : hyperlinks;relative and absolute +Oracle Open Office Impress : hyperlinks;turning off automatic recognition +Oracle Open Office Impress : hyperlinks, see also links +Oracle Open Office Impress : hyphenation +Oracle Open Office Impress : hyphenation;activating for a language +Oracle Open Office Impress : hyphenation;minimal number of characters +Oracle Open Office Impress : hyphens +Oracle Open Office Impress : hyphens;displaying custom (Writer) +Oracle Open Office Impress : hyphens;inserting custom +Oracle Open Office Impress : icon bars, see toolbars +Oracle Open Office Impress : icon sizes +Oracle Open Office Impress : ignore list for spellcheck +Oracle Open Office Impress : illumination +Oracle Open Office Impress : illumination;3D charts +Oracle Open Office Impress : illustrations, see pictures +Oracle Open Office Impress : image button creation +Oracle Open Office Impress : image control creation +Oracle Open Office Impress : ImageMap +Oracle Open Office Impress : ImageMap;definition +Oracle Open Office Impress : ImageMap;editor +Oracle Open Office Impress : images +Oracle Open Office Impress : images;ImageMap +Oracle Open Office Impress : images;inserting +Oracle Open Office Impress : images;inserting and editing bitmaps +Oracle Open Office Impress : images, see also pictures +Oracle Open Office Impress : IME +Oracle Open Office Impress : IME;definition +Oracle Open Office Impress : IME;showing/hiding +Oracle Open Office Impress : import filters +Oracle Open Office Impress : import restrictions for Microsoft Office +Oracle Open Office Impress : importing +Oracle Open Office Impress : importing;bitmaps +Oracle Open Office Impress : importing;compatibility settings for text import +Oracle Open Office Impress : importing;databases +Oracle Open Office Impress : importing;documents in other formats +Oracle Open Office Impress : importing;from XML +Oracle Open Office Impress : importing;HTML and text documents +Oracle Open Office Impress : importing;HTML with META tags +Oracle Open Office Impress : importing;Microsoft Office documents with VBA code +Oracle Open Office Impress : importing;presentations with HTML +Oracle Open Office Impress : importing;tables in text format +Oracle Open Office Impress : importing;templates +Oracle Open Office Impress : improvement program +Oracle Open Office Impress : in front of object command +Oracle Open Office Impress : inches +Oracle Open Office Impress : including spreadsheets +Oracle Open Office Impress : increasing sizes of views +Oracle Open Office Impress : Index tab in Help +Oracle Open Office Impress : indexes +Oracle Open Office Impress : indexes;backgrounds +Oracle Open Office Impress : indexes;showing/hiding Help index tab +Oracle Open Office Impress : indicator lines in text +Oracle Open Office Impress : inner joins (Base) +Oracle Open Office Impress : input method window +Oracle Open Office Impress : insert mode for entering text +Oracle Open Office Impress : inserting +Oracle Open Office Impress : inserting;3D objects +Oracle Open Office Impress : inserting;arrows +Oracle Open Office Impress : inserting;buttons in toolbars +Oracle Open Office Impress : inserting;callouts in presentations +Oracle Open Office Impress : inserting;cell ranges from spreadsheets +Oracle Open Office Impress : inserting;charts +Oracle Open Office Impress : inserting;clipboard options +Oracle Open Office Impress : inserting;columns +Oracle Open Office Impress : inserting;comments +Oracle Open Office Impress : inserting;data from text documents +Oracle Open Office Impress : inserting;datasource records in spreadsheets +Oracle Open Office Impress : inserting;drawings +Oracle Open Office Impress : inserting;ellipses +Oracle Open Office Impress : inserting;files +Oracle Open Office Impress : inserting;floating frames +Oracle Open Office Impress : inserting;Fontwork objects +Oracle Open Office Impress : inserting;form fields +Oracle Open Office Impress : inserting;headers/footers in all slides +Oracle Open Office Impress : inserting;hyperlinks +Oracle Open Office Impress : inserting;layers +Oracle Open Office Impress : inserting;line breaks in cells +Oracle Open Office Impress : inserting;lines +Oracle Open Office Impress : inserting;movies/sounds +Oracle Open Office Impress : inserting;new text tables defaults +Oracle Open Office Impress : inserting;objects from files +Oracle Open Office Impress : inserting;objects from Gallery +Oracle Open Office Impress : inserting;OLE objects +Oracle Open Office Impress : inserting;paragraph borders +Oracle Open Office Impress : inserting;paragraph bullets +Oracle Open Office Impress : inserting;pictures +Oracle Open Office Impress : inserting;pictures in Gallery +Oracle Open Office Impress : inserting;plug-ins +Oracle Open Office Impress : inserting;polygons +Oracle Open Office Impress : inserting;push buttons +Oracle Open Office Impress : inserting;rectangles +Oracle Open Office Impress : inserting;rows +Oracle Open Office Impress : inserting;slides +Oracle Open Office Impress : inserting;slides as links +Oracle Open Office Impress : inserting;slides from files +Oracle Open Office Impress : inserting;special characters +Oracle Open Office Impress : inserting;tab stops +Oracle Open Office Impress : inserting;text frames +Oracle Open Office Impress : inserting;text in presentations +Oracle Open Office Impress : inserting;textures on chart bars +Oracle Open Office Impress : installing +Oracle Open Office Impress : installing;ActiveX control +Oracle Open Office Impress : installing;mobile device filters +Oracle Open Office Impress : installing;UNO components +Oracle Open Office Impress : installing;XML filters +Oracle Open Office Impress : instructions +Oracle Open Office Impress : instructions;general +Oracle Open Office Impress : instructions;Oracle Open Office Draw +Oracle Open Office Impress : instructions;Oracle Open Office Impress +Oracle Open Office Impress : interactions +Oracle Open Office Impress : interactions;hot spots +Oracle Open Office Impress : interactions;objects in interactive presentations +Oracle Open Office Impress : interactions;preview +Oracle Open Office Impress : Internet +Oracle Open Office Impress : Internet;checking for updates +Oracle Open Office Impress : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Impress : Internet;presentations +Oracle Open Office Impress : Internet;starting searches +Oracle Open Office Impress : Internet glossary +Oracle Open Office Impress : intersecting draw objects +Oracle Open Office Impress : invert filter +Oracle Open Office Impress : invisible areas +Oracle Open Office Impress : italic text +Oracle Open Office Impress : iterative references in spreadsheets +Oracle Open Office Impress : Java +Oracle Open Office Impress : Java;definition +Oracle Open Office Impress : Java;setting options +Oracle Open Office Impress : JDBC +Oracle Open Office Impress : JDBC;databases (Base) +Oracle Open Office Impress : JDBC;definition +Oracle Open Office Impress : joining +Oracle Open Office Impress : joining;3D objects +Oracle Open Office Impress : joining;paragraphs +Oracle Open Office Impress : joining;tables (Base) +Oracle Open Office Impress : joins in databases (Base) +Oracle Open Office Impress : justifying text +Oracle Open Office Impress : kerning +Oracle Open Office Impress : kerning;Asian texts +Oracle Open Office Impress : kerning;definition +Oracle Open Office Impress : kerning;in characters +Oracle Open Office Impress : key fields for relations (Base) +Oracle Open Office Impress : keyboard +Oracle Open Office Impress : keyboard;assigning/editing shortcut keys +Oracle Open Office Impress : keyboard;general commands +Oracle Open Office Impress : keyboard;removing numbering +Oracle Open Office Impress : keyboard;zooming +Oracle Open Office Impress : keys +Oracle Open Office Impress : keys;adding push buttons +Oracle Open Office Impress : keys;primary keys (Base) +Oracle Open Office Impress : kiosk export +Oracle Open Office Impress : labels +Oracle Open Office Impress : labels;creating and synchronizing +Oracle Open Office Impress : labels;for charts +Oracle Open Office Impress : labels;for draw objects +Oracle Open Office Impress : labels;form functions +Oracle Open Office Impress : labels;from databases +Oracle Open Office Impress : labels, see also names/callouts +Oracle Open Office Impress : languages +Oracle Open Office Impress : languages;activating modules +Oracle Open Office Impress : languages;Asian support +Oracle Open Office Impress : languages;complex text layout +Oracle Open Office Impress : languages;locale settings +Oracle Open Office Impress : languages;selecting for text +Oracle Open Office Impress : languages;setting options +Oracle Open Office Impress : languages;spellcheck +Oracle Open Office Impress : languages;spellchecking and formatting +Oracle Open Office Impress : large handles (Writer) +Oracle Open Office Impress : large icons +Oracle Open Office Impress : layer arrangement +Oracle Open Office Impress : layers +Oracle Open Office Impress : layers;definition +Oracle Open Office Impress : layers;deleting +Oracle Open Office Impress : layers;inserting and editing +Oracle Open Office Impress : layers;moving objects +Oracle Open Office Impress : layers;renaming +Oracle Open Office Impress : layers;working with +Oracle Open Office Impress : layout +Oracle Open Office Impress : layout;importing Word documents +Oracle Open Office Impress : layout;pages +Oracle Open Office Impress : layout;printing handouts +Oracle Open Office Impress : LDAP server +Oracle Open Office Impress : LDAP server;address books (Base) +Oracle Open Office Impress : LDAP server;sign on options +Oracle Open Office Impress : leading between paragraphs +Oracle Open Office Impress : left alignment of paragraphs +Oracle Open Office Impress : left joins (Base) +Oracle Open Office Impress : legends +Oracle Open Office Impress : legends;charts +Oracle Open Office Impress : legends;draw objects +Oracle Open Office Impress : legends;drawings +Oracle Open Office Impress : legends;rounding corners +Oracle Open Office Impress : Letter Wizard +Oracle Open Office Impress : levels +Oracle Open Office Impress : levels;depth stagger +Oracle Open Office Impress : levels;hiding +Oracle Open Office Impress : levels;macro security +Oracle Open Office Impress : levels;showing +Oracle Open Office Impress : limits of tables (Writer) +Oracle Open Office Impress : line breaks +Oracle Open Office Impress : line breaks;in cells +Oracle Open Office Impress : line charts +Oracle Open Office Impress : line spacing +Oracle Open Office Impress : line spacing;context menu in paragraphs +Oracle Open Office Impress : line spacing;paragraph +Oracle Open Office Impress : line styles +Oracle Open Office Impress : line styles;applying +Oracle Open Office Impress : line styles;defining +Oracle Open Office Impress : line styles;loading +Oracle Open Office Impress : lines +Oracle Open Office Impress : lines;about line ends +Oracle Open Office Impress : lines;connecting objects +Oracle Open Office Impress : lines;defining ends +Oracle Open Office Impress : lines;draw functions +Oracle Open Office Impress : lines;drawing +Oracle Open Office Impress : lines;drawing in text +Oracle Open Office Impress : lines;editing points +Oracle Open Office Impress : lines;inserting +Oracle Open Office Impress : lines;removing automatic lines +Oracle Open Office Impress : lines of text +Oracle Open Office Impress : lines of text;alignment +Oracle Open Office Impress : links +Oracle Open Office Impress : links;between cells and controls +Oracle Open Office Impress : links;by drag and drop +Oracle Open Office Impress : links;character formats +Oracle Open Office Impress : links;definition +Oracle Open Office Impress : links;editing hyperlinks +Oracle Open Office Impress : links;inserting +Oracle Open Office Impress : links;modifying +Oracle Open Office Impress : links;opening files with +Oracle Open Office Impress : links;relational databases (Base) +Oracle Open Office Impress : links;turning off automatic recognition +Oracle Open Office Impress : links;updating options (Writer) +Oracle Open Office Impress : links;updating specific links +Oracle Open Office Impress : list box creation +Oracle Open Office Impress : lists +Oracle Open Office Impress : lists;animations +Oracle Open Office Impress : lists;data assigned to controls +Oracle Open Office Impress : lists;registered databases (Base) +Oracle Open Office Impress : lists;regular expressions +Oracle Open Office Impress : live presentations on the Internet +Oracle Open Office Impress : loading +Oracle Open Office Impress : loading;arrow and line styles +Oracle Open Office Impress : loading;colors/gradients/hatchings +Oracle Open Office Impress : loading;documents +Oracle Open Office Impress : loading;documents from other formats +Oracle Open Office Impress : loading;HTML documents, automatically +Oracle Open Office Impress : loading;Microsoft Office documents with VBA code +Oracle Open Office Impress : loading;reloading +Oracle Open Office Impress : loading;XML files +Oracle Open Office Impress : locale settings +Oracle Open Office Impress : locking layers +Oracle Open Office Impress : logarithmic scaling along axes +Oracle Open Office Impress : lowercase letters +Oracle Open Office Impress : lowercase letters;font effects +Oracle Open Office Impress : Macro Wizard (Base) +Oracle Open Office Impress : Macromedia Flash export +Oracle Open Office Impress : macros +Oracle Open Office Impress : macros;assigning to events in forms +Oracle Open Office Impress : macros;attaching new (Base) +Oracle Open Office Impress : macros;in MS Office documents +Oracle Open Office Impress : macros;interrupting +Oracle Open Office Impress : macros;organizing +Oracle Open Office Impress : macros;recording +Oracle Open Office Impress : macros;running in presentations +Oracle Open Office Impress : macros;security +Oracle Open Office Impress : macros;security levels +Oracle Open Office Impress : macros;security warning dialog +Oracle Open Office Impress : macros;selecting security warnings +Oracle Open Office Impress : magnetic lines in presentations +Oracle Open Office Impress : magnifiers +Oracle Open Office Impress : margins +Oracle Open Office Impress : margins;pages +Oracle Open Office Impress : margins;setting with the mouse +Oracle Open Office Impress : margins;shadows +Oracle Open Office Impress : marking changes +Oracle Open Office Impress : marking, see selecting +Oracle Open Office Impress : master layouts with headers and footers +Oracle Open Office Impress : master pages, see slide masters +Oracle Open Office Impress : master views +Oracle Open Office Impress : Math formula editor +Oracle Open Office Impress : mean value lines in charts +Oracle Open Office Impress : measurement units +Oracle Open Office Impress : measurement units;changing on rulers +Oracle Open Office Impress : measurement units;converting +Oracle Open Office Impress : measurement units;selecting +Oracle Open Office Impress : Media Player window +Oracle Open Office Impress : menus +Oracle Open Office Impress : menus;activating context menus +Oracle Open Office Impress : menus;assigning macros +Oracle Open Office Impress : menus;customizing +Oracle Open Office Impress : merging +Oracle Open Office Impress : merging;documents +Oracle Open Office Impress : merging;draw objects +Oracle Open Office Impress : META tags +Oracle Open Office Impress : metafiles +Oracle Open Office Impress : metafiles;converting to +Oracle Open Office Impress : metafiles;replacing colors +Oracle Open Office Impress : metrics +Oracle Open Office Impress : metrics;converting +Oracle Open Office Impress : metrics;document formatting (Writer) +Oracle Open Office Impress : metrics;in sheets +Oracle Open Office Impress : Microsoft Office +Oracle Open Office Impress : Microsoft Office;Access databases (base) +Oracle Open Office Impress : Microsoft Office;as default file format +Oracle Open Office Impress : Microsoft Office;document import restrictions +Oracle Open Office Impress : Microsoft Office;feature comparisons +Oracle Open Office Impress : Microsoft Office;importing password protected files +Oracle Open Office Impress : Microsoft Office;importing Word documents +Oracle Open Office Impress : Microsoft Office;importing/exporting VBA code +Oracle Open Office Impress : Microsoft Office;new users information +Oracle Open Office Impress : Microsoft Office;opening Microsoft documents +Oracle Open Office Impress : Microsoft Office;reassigning document types +Oracle Open Office Impress : migrating macros (Base) +Oracle Open Office Impress : mirroring objects +Oracle Open Office Impress : mobile device filters +Oracle Open Office Impress : models in XForms +Oracle Open Office Impress : modifying, see changing +Oracle Open Office Impress : more controls +Oracle Open Office Impress : mosaic filter +Oracle Open Office Impress : motion paths +Oracle Open Office Impress : mouse +Oracle Open Office Impress : mouse;pointers when using drag and drop +Oracle Open Office Impress : mouse;positioning +Oracle Open Office Impress : movies +Oracle Open Office Impress : moving +Oracle Open Office Impress : moving;between layers +Oracle Open Office Impress : moving;objects in slides +Oracle Open Office Impress : moving;tab stops on ruler +Oracle Open Office Impress : moving;toolbars +Oracle Open Office Impress : moving;using guide lines in presentations +Oracle Open Office Impress : MS ADO interface (Base) +Oracle Open Office Impress : multi-line titles in forms +Oracle Open Office Impress : multiple documents +Oracle Open Office Impress : multiple documents;opening +Oracle Open Office Impress : multiple monitors +Oracle Open Office Impress : multiple selection +Oracle Open Office Impress : multiplying draw objects +Oracle Open Office Impress : music +Oracle Open Office Impress : My Documents folder +Oracle Open Office Impress : My Documents folder;changing work directory +Oracle Open Office Impress : My Documents folder;opening +Oracle Open Office Impress : MySQL databases (Base) +Oracle Open Office Impress : names +Oracle Open Office Impress : names;multi-line titles +Oracle Open Office Impress : names;objects +Oracle Open Office Impress : names, see also labels/callouts +Oracle Open Office Impress : namespace organization in XForms +Oracle Open Office Impress : native SQL (Base) +Oracle Open Office Impress : navigating +Oracle Open Office Impress : navigating;in documents +Oracle Open Office Impress : Navigation bar +Oracle Open Office Impress : Navigation bar;controls +Oracle Open Office Impress : Navigation bar;forms +Oracle Open Office Impress : Navigator +Oracle Open Office Impress : Navigator;comments +Oracle Open Office Impress : Navigator;contents as lists +Oracle Open Office Impress : Navigator;docking +Oracle Open Office Impress : Navigator;presentations +Oracle Open Office Impress : Navigator;working with +Oracle Open Office Impress : net charts +Oracle Open Office Impress : network identity options +Oracle Open Office Impress : new databases +Oracle Open Office Impress : new documents +Oracle Open Office Impress : new lines in cells +Oracle Open Office Impress : new windows +Oracle Open Office Impress : non-breaking dashes +Oracle Open Office Impress : non-breaking spaces (Writer) +Oracle Open Office Impress : non-printing characters (Writer) +Oracle Open Office Impress : normal view +Oracle Open Office Impress : normal view;backgrounds +Oracle Open Office Impress : normal view;presentations +Oracle Open Office Impress : notes +Oracle Open Office Impress : notes;adding to slides +Oracle Open Office Impress : notes;default formatting +Oracle Open Office Impress : notes;printing in presentations +Oracle Open Office Impress : number formats +Oracle Open Office Impress : number formats;codes +Oracle Open Office Impress : number formats;formats +Oracle Open Office Impress : number formats;recognition in text tables +Oracle Open Office Impress : number of pages +Oracle Open Office Impress : number of sheets +Oracle Open Office Impress : number of tables +Oracle Open Office Impress : numbering +Oracle Open Office Impress : numbering;options +Oracle Open Office Impress : numbering;turning off +Oracle Open Office Impress : numbering;using automatically +Oracle Open Office Impress : numbers +Oracle Open Office Impress : numbers;date, time and currency formats +Oracle Open Office Impress : numerical fields in forms +Oracle Open Office Impress : object bars +Oracle Open Office Impress : object bars;editing glue points +Oracle Open Office Impress : objects +Oracle Open Office Impress : objects;aligning +Oracle Open Office Impress : objects;always moveable (Impress/Draw) +Oracle Open Office Impress : objects;arranging within stacks +Oracle Open Office Impress : objects;behind object command +Oracle Open Office Impress : objects;breaking connections +Oracle Open Office Impress : objects;copying when moving in presentations +Oracle Open Office Impress : objects;definition +Oracle Open Office Impress : objects;displaying in spreadsheets +Oracle Open Office Impress : objects;displaying in text documents +Oracle Open Office Impress : objects;editing +Oracle Open Office Impress : objects;effects +Oracle Open Office Impress : objects;in front of object command +Oracle Open Office Impress : objects;inserting from files +Oracle Open Office Impress : objects;inserting from Gallery +Oracle Open Office Impress : objects;inserting OLE objects +Oracle Open Office Impress : objects;moving along paths +Oracle Open Office Impress : objects;moving and resizing with mouse +Oracle Open Office Impress : objects;moving in layers +Oracle Open Office Impress : objects;moving in slides +Oracle Open Office Impress : objects;naming +Oracle Open Office Impress : objects;opening +Oracle Open Office Impress : objects;properties of charts +Oracle Open Office Impress : objects;quickly moving to +Oracle Open Office Impress : objects;reversing +Oracle Open Office Impress : objects;selecting +Oracle Open Office Impress : objects;titles and descriptions +Oracle Open Office Impress : objects;with attributes +Oracle Open Office Impress : ODBC +Oracle Open Office Impress : ODBC;database (Base) +Oracle Open Office Impress : ODBC;definition +Oracle Open Office Impress : ODF file formats +Oracle Open Office Impress : Office +Oracle Open Office Impress : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Impress : OLE +Oracle Open Office Impress : OLE;definition +Oracle Open Office Impress : OLE objects +Oracle Open Office Impress : OLE objects;arranging within stacks +Oracle Open Office Impress : OLE objects;captions (Writer) +Oracle Open Office Impress : OLE objects;inserting +Oracle Open Office Impress : OLE objects;number of +Oracle Open Office Impress : OLE objects;protecting +Oracle Open Office Impress : one and a half line spacing in text +Oracle Open Office Impress : online feedback options +Oracle Open Office Impress : online registration +Oracle Open Office Impress : online update options +Oracle Open Office Impress : online updates +Oracle Open Office Impress : online updates;checking automatically +Oracle Open Office Impress : online updates;checking manually +Oracle Open Office Impress : OpenDocument file formats +Oracle Open Office Impress : OpenGL +Oracle Open Office Impress : OpenGL;definition +Oracle Open Office Impress : opening +Oracle Open Office Impress : opening;context menus +Oracle Open Office Impress : opening;database files +Oracle Open Office Impress : opening;dialog settings +Oracle Open Office Impress : opening;documents +Oracle Open Office Impress : opening;documents from other formats +Oracle Open Office Impress : opening;documents on WebDAV server +Oracle Open Office Impress : opening;files with links +Oracle Open Office Impress : opening;files, with placeholders +Oracle Open Office Impress : opening;forms +Oracle Open Office Impress : opening;Microsoft Office files +Oracle Open Office Impress : opening;mobile device documents +Oracle Open Office Impress : opening;objects +Oracle Open Office Impress : opening;reports +Oracle Open Office Impress : opening;several files +Oracle Open Office Impress : opening;XForms +Oracle Open Office Impress : operators +Oracle Open Office Impress : operators;default filters +Oracle Open Office Impress : optional hyphens (Writer) +Oracle Open Office Impress : options +Oracle Open Office Impress : options;accessibility +Oracle Open Office Impress : options;appearance +Oracle Open Office Impress : options;compatibility (Writer) +Oracle Open Office Impress : options;improvement program +Oracle Open Office Impress : options;network identity +Oracle Open Office Impress : options;online update +Oracle Open Office Impress : options;tools +Oracle Open Office Impress : Oracle databases (base) +Oracle Open Office Impress : Oracle Open Office Base data sources +Oracle Open Office Impress : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Impress : Oracle Open Office documents +Oracle Open Office Impress : Oracle Open Office documents;mobile device filters +Oracle Open Office Impress : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Impress : Oracle Open Office Impress instructions +Oracle Open Office Impress : Oracle Open Office Math start +Oracle Open Office Impress : order of chart data +Oracle Open Office Impress : ordering +Oracle Open Office Impress : ordering;objects +Oracle Open Office Impress : ordering;slides +Oracle Open Office Impress : ordinal numbers +Oracle Open Office Impress : ordinal numbers;replacing +Oracle Open Office Impress : organization charts +Oracle Open Office Impress : organizing +Oracle Open Office Impress : organizing;macros and scripts +Oracle Open Office Impress : organizing;namespaces in XForms +Oracle Open Office Impress : organizing;styles +Oracle Open Office Impress : organizing;templates +Oracle Open Office Impress : origin of rulers +Oracle Open Office Impress : original size +Oracle Open Office Impress : original size;printing in Oracle Open Office Math +Oracle Open Office Impress : original size;restoring after cropping +Oracle Open Office Impress : outline view +Oracle Open Office Impress : outlines +Oracle Open Office Impress : outlines;font effects +Oracle Open Office Impress : outlines;outline symbols +Oracle Open Office Impress : outlines;printing +Oracle Open Office Impress : outlines;sending to presentations +Oracle Open Office Impress : overwrite mode +Oracle Open Office Impress : packages, see extensions +Oracle Open Office Impress : page breaks +Oracle Open Office Impress : page breaks;displaying (Calc) +Oracle Open Office Impress : page formats +Oracle Open Office Impress : page formats;maximizing +Oracle Open Office Impress : page formats;restriction +Oracle Open Office Impress : page number field +Oracle Open Office Impress : page numbers on all slides +Oracle Open Office Impress : page styles +Oracle Open Office Impress : page styles;editing/applying with statusbar +Oracle Open Office Impress : pages +Oracle Open Office Impress : pages;backgrounds in all applications +Oracle Open Office Impress : pages;copying +Oracle Open Office Impress : pages;fitting to printed pages +Oracle Open Office Impress : pages;formatting and numbering +Oracle Open Office Impress : pages;printing page names in presentations +Oracle Open Office Impress : pages;scaling +Oracle Open Office Impress : pages;selecting one to print +Oracle Open Office Impress : paint box +Oracle Open Office Impress : paint can symbol +Oracle Open Office Impress : pair kerning +Oracle Open Office Impress : Palm file filters +Oracle Open Office Impress : paper formats +Oracle Open Office Impress : paper size warning +Oracle Open Office Impress : paper trays +Oracle Open Office Impress : paragraph marks +Oracle Open Office Impress : paragraph marks;displaying (Writer) +Oracle Open Office Impress : paragraph styles +Oracle Open Office Impress : paragraph styles;languages +Oracle Open Office Impress : paragraph styles;modifying basic fonts +Oracle Open Office Impress : paragraphs +Oracle Open Office Impress : paragraphs;alignment +Oracle Open Office Impress : paragraphs;Asian typography +Oracle Open Office Impress : paragraphs;defining borders +Oracle Open Office Impress : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Impress : paragraphs;increasing indents of +Oracle Open Office Impress : paragraphs;indents, margins and columns +Oracle Open Office Impress : paragraphs;inserting bullets +Oracle Open Office Impress : paragraphs;joining +Oracle Open Office Impress : paragraphs;numbering automatically +Oracle Open Office Impress : paragraphs;removing blank ones +Oracle Open Office Impress : paragraphs;spacing +Oracle Open Office Impress : paragraphs;tab stops +Oracle Open Office Impress : parameters +Oracle Open Office Impress : parameters;command line +Oracle Open Office Impress : parameters;queries (Base) +Oracle Open Office Impress : passwords for protecting contents +Oracle Open Office Impress : pasting +Oracle Open Office Impress : pasting;cell ranges +Oracle Open Office Impress : pasting;cell ranges from spreadsheets +Oracle Open Office Impress : pasting;data from text documents +Oracle Open Office Impress : pasting;draw objects +Oracle Open Office Impress : pasting;draw objects from other documents +Oracle Open Office Impress : pasting;formatted/unformatted text +Oracle Open Office Impress : pasting;from data source view +Oracle Open Office Impress : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Impress : pasting;pictures from other documents +Oracle Open Office Impress : pasting;sheet areas in text documents +Oracle Open Office Impress : pasting;slides from other presentations +Oracle Open Office Impress : pasting;text from other documents +Oracle Open Office Impress : pasting;to Gallery +Oracle Open Office Impress : paths +Oracle Open Office Impress : paths;changing work directory +Oracle Open Office Impress : paths;defaults +Oracle Open Office Impress : paths;moving objects along +Oracle Open Office Impress : pattern editor +Oracle Open Office Impress : pattern fields +Oracle Open Office Impress : pattern fields;form functions +Oracle Open Office Impress : patterns for objects +Oracle Open Office Impress : PDF +Oracle Open Office Impress : PDF;export +Oracle Open Office Impress : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Impress : personal data input +Oracle Open Office Impress : phonetic guide +Oracle Open Office Impress : picklist creation +Oracle Open Office Impress : pictures +Oracle Open Office Impress : pictures;adding to Gallery +Oracle Open Office Impress : pictures;arranging within stacks +Oracle Open Office Impress : pictures;assigning macros +Oracle Open Office Impress : pictures;backgrounds +Oracle Open Office Impress : pictures;captions (Writer) +Oracle Open Office Impress : pictures;changing paths +Oracle Open Office Impress : pictures;cropping and zooming +Oracle Open Office Impress : pictures;displaying in Calc +Oracle Open Office Impress : pictures;displaying in Writer (Writer) +Oracle Open Office Impress : pictures;drag and drop between documents +Oracle Open Office Impress : pictures;drawing +Oracle Open Office Impress : pictures;editing +Oracle Open Office Impress : pictures;filters +Oracle Open Office Impress : pictures;ImageMap +Oracle Open Office Impress : pictures;inserting +Oracle Open Office Impress : pictures;inserting automatically +Oracle Open Office Impress : pictures;inserting from Gallery +Oracle Open Office Impress : pictures;number of +Oracle Open Office Impress : pictures;printing +Oracle Open Office Impress : pictures;scaling/resizing +Oracle Open Office Impress : pie charts +Oracle Open Office Impress : pie charts;options +Oracle Open Office Impress : pie charts;types +Oracle Open Office Impress : pivot points of draw objects +Oracle Open Office Impress : pixel editor +Oracle Open Office Impress : pixel graphics +Oracle Open Office Impress : pixel graphics;inserting and editing +Oracle Open Office Impress : pixel patterns +Oracle Open Office Impress : placeholders +Oracle Open Office Impress : placeholders;in SQL queries +Oracle Open Office Impress : placeholders;on opening files +Oracle Open Office Impress : placing toolbars +Oracle Open Office Impress : playing movies and sound files +Oracle Open Office Impress : plotting data as charts +Oracle Open Office Impress : plug-ins +Oracle Open Office Impress : plug-ins;activating and deactivating +Oracle Open Office Impress : plug-ins;definition +Oracle Open Office Impress : plug-ins;inserting +Oracle Open Office Impress : pocket device appliances +Oracle Open Office Impress : Pocket PC file filters +Oracle Open Office Impress : points +Oracle Open Office Impress : points;adding/converting/deleting +Oracle Open Office Impress : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Impress : polygon drawing +Oracle Open Office Impress : polygons +Oracle Open Office Impress : polygons;inserting +Oracle Open Office Impress : polygons;intersecting/subtracting/merging +Oracle Open Office Impress : pop-art filter +Oracle Open Office Impress : portable document format +Oracle Open Office Impress : positioning +Oracle Open Office Impress : positioning;axes +Oracle Open Office Impress : positioning;draw objects and controls +Oracle Open Office Impress : positioning;fonts +Oracle Open Office Impress : positioning;objects +Oracle Open Office Impress : positioning;toolbars +Oracle Open Office Impress : post method for form transmissions +Oracle Open Office Impress : posterizing filter +Oracle Open Office Impress : PostScript +Oracle Open Office Impress : PostScript;creating files +Oracle Open Office Impress : PostScript;PDF converter, UNIX +Oracle Open Office Impress : PowerPoint export +Oracle Open Office Impress : precision as shown (Calc) +Oracle Open Office Impress : predefining fonts +Oracle Open Office Impress : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Impress : presentations +Oracle Open Office Impress : presentations;arranging slides +Oracle Open Office Impress : presentations;creating/opening +Oracle Open Office Impress : presentations;exiting by interaction +Oracle Open Office Impress : presentations;exporting to HTML +Oracle Open Office Impress : presentations;importing HTML +Oracle Open Office Impress : presentations;inserting spreadsheet cells +Oracle Open Office Impress : presentations;inserting spreadsheets +Oracle Open Office Impress : presentations;live on the Internet +Oracle Open Office Impress : presentations;navigating +Oracle Open Office Impress : presentations;numbering slides in +Oracle Open Office Impress : presentations;ordering of effects +Oracle Open Office Impress : presentations;print menu +Oracle Open Office Impress : presentations;printing +Oracle Open Office Impress : presentations;rehearse timings +Oracle Open Office Impress : presentations;saving +Oracle Open Office Impress : presentations;saving automatically +Oracle Open Office Impress : presentations;saving in other formats +Oracle Open Office Impress : presentations;sending as e-mail +Oracle Open Office Impress : presentations;settings for +Oracle Open Office Impress : presentations;shortcut keys +Oracle Open Office Impress : presentations;starting +Oracle Open Office Impress : presentations;starting with wizard +Oracle Open Office Impress : presentations;window / full screen +Oracle Open Office Impress : presentations;wizards +Oracle Open Office Impress : Presenter Console shortcuts +Oracle Open Office Impress : press buttons, see push buttons +Oracle Open Office Impress : previews +Oracle Open Office Impress : previews;fonts lists +Oracle Open Office Impress : primary keys +Oracle Open Office Impress : primary keys;defining +Oracle Open Office Impress : primary keys;design view +Oracle Open Office Impress : primary keys;inserting (Base) +Oracle Open Office Impress : print area selection +Oracle Open Office Impress : printer metrics for document formatting (Writer) +Oracle Open Office Impress : printers +Oracle Open Office Impress : printers;adding, UNIX +Oracle Open Office Impress : printers;choosing +Oracle Open Office Impress : printers;default printer +Oracle Open Office Impress : printers;faxes under UNIX +Oracle Open Office Impress : printers;maximum page formats +Oracle Open Office Impress : printers;paper trays +Oracle Open Office Impress : printers;properties +Oracle Open Office Impress : printing +Oracle Open Office Impress : printing;black and white +Oracle Open Office Impress : printing;brochures +Oracle Open Office Impress : printing;colors in grayscale +Oracle Open Office Impress : printing;comments +Oracle Open Office Impress : printing;copies +Oracle Open Office Impress : printing;creating individual jobs +Oracle Open Office Impress : printing;dates in presentations +Oracle Open Office Impress : printing;directly +Oracle Open Office Impress : printing;documents +Oracle Open Office Impress : printing;drawings defaults +Oracle Open Office Impress : printing;elements in text documents +Oracle Open Office Impress : printing;faster +Oracle Open Office Impress : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Impress : printing;fitting to pages in presentations +Oracle Open Office Impress : printing;fitting to paper +Oracle Open Office Impress : printing;formulas in Oracle Open Office Math +Oracle Open Office Impress : printing;hidden pages of presentations +Oracle Open Office Impress : printing;in original size in Oracle Open Office Math +Oracle Open Office Impress : printing;left/right pages +Oracle Open Office Impress : printing;presentations +Oracle Open Office Impress : printing;queries (Base) +Oracle Open Office Impress : printing;scaling in Oracle Open Office Math +Oracle Open Office Impress : printing;selections +Oracle Open Office Impress : printing;text always in black +Oracle Open Office Impress : printing;text in reverse order +Oracle Open Office Impress : printing;tiling pages in presentations +Oracle Open Office Impress : printing;transparencies +Oracle Open Office Impress : printing;warnings +Oracle Open Office Impress : printing;without scaling in presentations +Oracle Open Office Impress : printing speed +Oracle Open Office Impress : programming +Oracle Open Office Impress : programming;Oracle Open Office +Oracle Open Office Impress : programming;scripting +Oracle Open Office Impress : programs run by mouse click in presentations +Oracle Open Office Impress : properties +Oracle Open Office Impress : properties;charts +Oracle Open Office Impress : properties;fields in databases +Oracle Open Office Impress : properties;files +Oracle Open Office Impress : properties;form controls +Oracle Open Office Impress : properties;forms +Oracle Open Office Impress : properties;printers +Oracle Open Office Impress : properties;smooth lines in line charts/XY charts +Oracle Open Office Impress : protected contents +Oracle Open Office Impress : protected dashes +Oracle Open Office Impress : protected database tables +Oracle Open Office Impress : protected documents +Oracle Open Office Impress : protected spaces +Oracle Open Office Impress : protected spaces;inserting +Oracle Open Office Impress : protected spaces;showing (Writer) +Oracle Open Office Impress : protecting +Oracle Open Office Impress : protecting;contents +Oracle Open Office Impress : protecting;recorded changes +Oracle Open Office Impress : proxy settings +Oracle Open Office Impress : push buttons +Oracle Open Office Impress : push buttons;adding to documents +Oracle Open Office Impress : push buttons;creating +Oracle Open Office Impress : pyramids +Oracle Open Office Impress : queries +Oracle Open Office Impress : queries;copying (Base) +Oracle Open Office Impress : queries;creating in design view (Base) +Oracle Open Office Impress : queries;creating in SQL view +Oracle Open Office Impress : queries;defining (Base) +Oracle Open Office Impress : queries;deleting table links (Base) +Oracle Open Office Impress : queries;editing in data source view +Oracle Open Office Impress : queries;formulating filter conditions (Base) +Oracle Open Office Impress : queries;joining tables (Base) +Oracle Open Office Impress : queries;missing elements (Base) +Oracle Open Office Impress : queries;overview (Base) +Oracle Open Office Impress : queries;parameter queries (Base) +Oracle Open Office Impress : queries;printing (Base) +Oracle Open Office Impress : Query Wizard (Base) +Oracle Open Office Impress : Quickstarter +Oracle Open Office Impress : quotes +Oracle Open Office Impress : quotes;custom +Oracle Open Office Impress : radar charts, see net charts +Oracle Open Office Impress : radio button creation +Oracle Open Office Impress : read-only documents +Oracle Open Office Impress : read-only documents;cursor +Oracle Open Office Impress : read-only documents;database tables on/off +Oracle Open Office Impress : read-only documents;editing +Oracle Open Office Impress : read-only documents;opening documents as +Oracle Open Office Impress : read-only items in Data Navigator +Oracle Open Office Impress : recognizing URLs automatically +Oracle Open Office Impress : recording +Oracle Open Office Impress : recording;changes +Oracle Open Office Impress : recording;display times for slides +Oracle Open Office Impress : recording;macros +Oracle Open Office Impress : records +Oracle Open Office Impress : records;inserting comments +Oracle Open Office Impress : records;protecting +Oracle Open Office Impress : records;saving +Oracle Open Office Impress : records;searching in databases +Oracle Open Office Impress : rectangles +Oracle Open Office Impress : rectangles with round corners +Oracle Open Office Impress : recursions in spreadsheets +Oracle Open Office Impress : redo command +Oracle Open Office Impress : reduced printing +Oracle Open Office Impress : reference lines +Oracle Open Office Impress : references +Oracle Open Office Impress : references;displaying in color (Calc) +Oracle Open Office Impress : references;expanding (Calc) +Oracle Open Office Impress : references;iterative (Calc) +Oracle Open Office Impress : register-true +Oracle Open Office Impress : register-true;definition +Oracle Open Office Impress : registering +Oracle Open Office Impress : registering;address books +Oracle Open Office Impress : registering;databases (Base) +Oracle Open Office Impress : registering;Oracle Open Office +Oracle Open Office Impress : regression curves in charts +Oracle Open Office Impress : regular expressions +Oracle Open Office Impress : regular expressions;list of +Oracle Open Office Impress : rehearse timings +Oracle Open Office Impress : relational databases (Base) +Oracle Open Office Impress : relations +Oracle Open Office Impress : relations;creating and deleting (Base) +Oracle Open Office Impress : relations;joining tables (Base) +Oracle Open Office Impress : relations;properties (Base) +Oracle Open Office Impress : relative hyperlinks +Oracle Open Office Impress : relative saving of URLs +Oracle Open Office Impress : reloading +Oracle Open Office Impress : reloading;documents +Oracle Open Office Impress : reloading;HTML documents, automatically +Oracle Open Office Impress : remarks, see also comments +Oracle Open Office Impress : remote configurations +Oracle Open Office Impress : remove noise filter +Oracle Open Office Impress : removing +Oracle Open Office Impress : removing;bullets and numbering +Oracle Open Office Impress : removing;form filters +Oracle Open Office Impress : removing, see also deleting +Oracle Open Office Impress : renaming layers +Oracle Open Office Impress : reorganizing charts +Oracle Open Office Impress : repeating +Oracle Open Office Impress : repeating;commands +Oracle Open Office Impress : replacement options +Oracle Open Office Impress : replacement table +Oracle Open Office Impress : replacing +Oracle Open Office Impress : replacing;AutoCorrect function +Oracle Open Office Impress : replacing;colors in bitmaps +Oracle Open Office Impress : replacing;dashes +Oracle Open Office Impress : replacing;ordinal numbers +Oracle Open Office Impress : replacing;tab stops (regular expressions) +Oracle Open Office Impress : Report Builder +Oracle Open Office Impress : reports +Oracle Open Office Impress : reports;creating +Oracle Open Office Impress : reports;error reports +Oracle Open Office Impress : reports;opening and editing +Oracle Open Office Impress : reports;templates +Oracle Open Office Impress : resetting +Oracle Open Office Impress : resetting;templates +Oracle Open Office Impress : resizing +Oracle Open Office Impress : resizing;objects, by mouse +Oracle Open Office Impress : resizing, see also scaling/zooming +Oracle Open Office Impress : resolution when printing bitmaps +Oracle Open Office Impress : restoring +Oracle Open Office Impress : restoring;default formatting +Oracle Open Office Impress : restoring;editing +Oracle Open Office Impress : reversing objects +Oracle Open Office Impress : reversing printing order +Oracle Open Office Impress : review function +Oracle Open Office Impress : review function;accepting or rejecting changes +Oracle Open Office Impress : review function;comparing documents +Oracle Open Office Impress : review function;protecting records +Oracle Open Office Impress : review function;recording changes example +Oracle Open Office Impress : rich text control +Oracle Open Office Impress : right alignment of paragraphs +Oracle Open Office Impress : right joins (Base) +Oracle Open Office Impress : right-to-left text +Oracle Open Office Impress : rotating +Oracle Open Office Impress : rotating;3D text +Oracle Open Office Impress : rotating;draw objects +Oracle Open Office Impress : rotation mode +Oracle Open Office Impress : round corners +Oracle Open Office Impress : rounding precision (Calc) +Oracle Open Office Impress : row headers +Oracle Open Office Impress : row headers;displaying (Calc) +Oracle Open Office Impress : row headers;highlighting (Calc) +Oracle Open Office Impress : rows +Oracle Open Office Impress : rows;inserting +Oracle Open Office Impress : rulers +Oracle Open Office Impress : rulers;default settings +Oracle Open Office Impress : rulers;in presentations +Oracle Open Office Impress : rulers;measurement units +Oracle Open Office Impress : rulers;visible in presentations +Oracle Open Office Impress : running macros/programs in presentations +Oracle Open Office Impress : running slide shows +Oracle Open Office Impress : samples and templates +Oracle Open Office Impress : saving +Oracle Open Office Impress : saving;as HTML +Oracle Open Office Impress : saving;default file formats +Oracle Open Office Impress : saving;dialog settings +Oracle Open Office Impress : saving;documents +Oracle Open Office Impress : saving;documents for mobile devices +Oracle Open Office Impress : saving;documents in other formats +Oracle Open Office Impress : saving;documents, automatically +Oracle Open Office Impress : saving;in Microsoft Office file format +Oracle Open Office Impress : saving;options +Oracle Open Office Impress : saving;templates +Oracle Open Office Impress : saving;to XML +Oracle Open Office Impress : saving;VBA code in Microsoft Office documents +Oracle Open Office Impress : saving;with password by default +Oracle Open Office Impress : saving as command +Oracle Open Office Impress : saving as command;precautions +Oracle Open Office Impress : scaling +Oracle Open Office Impress : scaling;axes +Oracle Open Office Impress : scaling;font sizes in user interface +Oracle Open Office Impress : scaling;objects +Oracle Open Office Impress : scaling;pictures +Oracle Open Office Impress : scaling;printing in Oracle Open Office Math +Oracle Open Office Impress : scaling;text in charts +Oracle Open Office Impress : scaling;when printing presentations +Oracle Open Office Impress : scaling, see also zooming +Oracle Open Office Impress : scatter charts +Oracle Open Office Impress : screen +Oracle Open Office Impress : screen;full screen views +Oracle Open Office Impress : screen;scaling +Oracle Open Office Impress : screen magnifiers +Oracle Open Office Impress : screen readers +Oracle Open Office Impress : script organization +Oracle Open Office Impress : scrollbars +Oracle Open Office Impress : scrollbars;controls +Oracle Open Office Impress : scrollbars;displaying (Calc) +Oracle Open Office Impress : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Impress : search criteria for database functions in cells +Oracle Open Office Impress : search engines +Oracle Open Office Impress : search engines;definition +Oracle Open Office Impress : search engines;selecting +Oracle Open Office Impress : searching +Oracle Open Office Impress : searching;all sheets +Oracle Open Office Impress : searching;databases +Oracle Open Office Impress : searching;form filters +Oracle Open Office Impress : searching;Internet +Oracle Open Office Impress : searching;tables and forms +Oracle Open Office Impress : secondary axes in charts +Oracle Open Office Impress : sections +Oracle Open Office Impress : sections;backgrounds +Oracle Open Office Impress : sectors of circles/ellipses +Oracle Open Office Impress : security +Oracle Open Office Impress : security;digital signatures +Oracle Open Office Impress : security;options for documents with macros +Oracle Open Office Impress : security;protecting contents +Oracle Open Office Impress : security;security levels for macros +Oracle Open Office Impress : security;warning dialogs with macros +Oracle Open Office Impress : segments of circles/ellipses +Oracle Open Office Impress : selecting +Oracle Open Office Impress : selecting;controls +Oracle Open Office Impress : selecting;hidden objects +Oracle Open Office Impress : selecting;layers +Oracle Open Office Impress : selecting;measurement units +Oracle Open Office Impress : selecting;objects +Oracle Open Office Impress : selecting;print areas +Oracle Open Office Impress : selecting;several files +Oracle Open Office Impress : selection clipboard +Oracle Open Office Impress : selection frames +Oracle Open Office Impress : selection modes in text +Oracle Open Office Impress : sending +Oracle Open Office Impress : sending;AutoAbstract function in presentations +Oracle Open Office Impress : sending;documents as e-mail +Oracle Open Office Impress : sending;documents as faxes +Oracle Open Office Impress : separator lines +Oracle Open Office Impress : separator lines;defining +Oracle Open Office Impress : separators +Oracle Open Office Impress : separators;conditional +Oracle Open Office Impress : Server Side ImageMap +Oracle Open Office Impress : settings +Oracle Open Office Impress : settings;printers +Oracle Open Office Impress : settings;program configuration +Oracle Open Office Impress : settings;proxies +Oracle Open Office Impress : settings;tracking changes +Oracle Open Office Impress : settings;views +Oracle Open Office Impress : SGML +Oracle Open Office Impress : SGML;definition +Oracle Open Office Impress : shadows +Oracle Open Office Impress : shadows;areas +Oracle Open Office Impress : shadows;borders +Oracle Open Office Impress : shadows;characters +Oracle Open Office Impress : shadows;characters, using context menu +Oracle Open Office Impress : sharing documents +Oracle Open Office Impress : sharpening filter +Oracle Open Office Impress : shearing objects +Oracle Open Office Impress : sheet tabs +Oracle Open Office Impress : sheet tabs;displaying +Oracle Open Office Impress : sheets +Oracle Open Office Impress : sheets;searching all +Oracle Open Office Impress : shells +Oracle Open Office Impress : shortcut keys +Oracle Open Office Impress : shortcut keys;assigning macros +Oracle Open Office Impress : shortcut keys;charts +Oracle Open Office Impress : shortcut keys;general +Oracle Open Office Impress : shortcut keys;in databases +Oracle Open Office Impress : shortcut keys;in drawings +Oracle Open Office Impress : shortcut keys;in presentations +Oracle Open Office Impress : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Impress : showing +Oracle Open Office Impress : showing;changes +Oracle Open Office Impress : showing;docked windows +Oracle Open Office Impress : showing;drawings and controls (Writer) +Oracle Open Office Impress : showing;guides +Oracle Open Office Impress : showing;hidden layers +Oracle Open Office Impress : showing;hidden slides +Oracle Open Office Impress : showing;levels +Oracle Open Office Impress : showing;live presentations on the Internet +Oracle Open Office Impress : showing;slide shows +Oracle Open Office Impress : showing;subpoints +Oracle Open Office Impress : showing;toolbars +Oracle Open Office Impress : sign conversion to curves +Oracle Open Office Impress : signing documents with digital signatures +Oracle Open Office Impress : similarity search +Oracle Open Office Impress : simple handles (Writer) +Oracle Open Office Impress : simplified Chinese +Oracle Open Office Impress : simplified Chinese;translating to traditional Chinese +Oracle Open Office Impress : single sign on options +Oracle Open Office Impress : single-line spacing in text +Oracle Open Office Impress : sizes +Oracle Open Office Impress : sizes;draw objects +Oracle Open Office Impress : sizes;pictures +Oracle Open Office Impress : skewing draw objects +Oracle Open Office Impress : slanting draw objects +Oracle Open Office Impress : slanting objects +Oracle Open Office Impress : slide designs +Oracle Open Office Impress : slide layouts +Oracle Open Office Impress : slide master view +Oracle Open Office Impress : slide masters +Oracle Open Office Impress : slide masters;changing backgrounds +Oracle Open Office Impress : slide masters;designing +Oracle Open Office Impress : slide masters;headers and footers +Oracle Open Office Impress : slide numbers +Oracle Open Office Impress : slide numbers on all slides +Oracle Open Office Impress : slide shows +Oracle Open Office Impress : slide shows;custom +Oracle Open Office Impress : slide shows;settings for +Oracle Open Office Impress : slide shows;starting +Oracle Open Office Impress : slide transitions +Oracle Open Office Impress : slide transitions;applying effects +Oracle Open Office Impress : slide transitions;automatic +Oracle Open Office Impress : slide transitions;manual +Oracle Open Office Impress : slide transitions;sounds +Oracle Open Office Impress : slides +Oracle Open Office Impress : slides;arranging +Oracle Open Office Impress : slides;backgrounds +Oracle Open Office Impress : slides;changing backgrounds +Oracle Open Office Impress : slides;copying between documents +Oracle Open Office Impress : slides;deleting +Oracle Open Office Impress : slides;expanding +Oracle Open Office Impress : slides;formatting +Oracle Open Office Impress : slides;headers and footers +Oracle Open Office Impress : slides;inserting +Oracle Open Office Impress : slides;inserting as links +Oracle Open Office Impress : slides;inserting speaker notes +Oracle Open Office Impress : slides;page numbers +Oracle Open Office Impress : slides;printing +Oracle Open Office Impress : small capitals +Oracle Open Office Impress : small icons +Oracle Open Office Impress : smart tag configuration +Oracle Open Office Impress : smooth scrolling (Writer) +Oracle Open Office Impress : smoothing filter +Oracle Open Office Impress : snap grid defaults (Writer/Calc) +Oracle Open Office Impress : snap lines, see also guides +Oracle Open Office Impress : snap points +Oracle Open Office Impress : snap points;editing +Oracle Open Office Impress : snap points;inserting +Oracle Open Office Impress : snapping in presentations and drawings +Oracle Open Office Impress : solarization filter +Oracle Open Office Impress : sort lists +Oracle Open Office Impress : sort lists;copying to in Calc +Oracle Open Office Impress : sorting +Oracle Open Office Impress : sorting;data in forms +Oracle Open Office Impress : sorting;databases +Oracle Open Office Impress : sound files +Oracle Open Office Impress : sounds +Oracle Open Office Impress : sounds;for effects +Oracle Open Office Impress : sounds;formats +Oracle Open Office Impress : sounds;on slide transitions +Oracle Open Office Impress : spaces +Oracle Open Office Impress : spaces;displaying (Writer) +Oracle Open Office Impress : spaces;ignoring double +Oracle Open Office Impress : spaces;inserting protected spaces +Oracle Open Office Impress : spaces;showing protected spaces (Writer) +Oracle Open Office Impress : spacing +Oracle Open Office Impress : spacing;between paragraphs in footnotes +Oracle Open Office Impress : spacing;font effects +Oracle Open Office Impress : spacing;lines and paragraphs +Oracle Open Office Impress : spacing;tab stops in text documents +Oracle Open Office Impress : spacing;tabs in presentations +Oracle Open Office Impress : spadmin +Oracle Open Office Impress : speaker notes +Oracle Open Office Impress : speaker notes;defaults +Oracle Open Office Impress : speaker notes;inserting +Oracle Open Office Impress : special characters +Oracle Open Office Impress : speech bubbles +Oracle Open Office Impress : speed of printing +Oracle Open Office Impress : spellcheck +Oracle Open Office Impress : spellcheck;activating for a language +Oracle Open Office Impress : spellcheck;context menus +Oracle Open Office Impress : spellcheck;default languages +Oracle Open Office Impress : spellcheck;dialog +Oracle Open Office Impress : spellcheck;dictionary of exceptions +Oracle Open Office Impress : spellcheck;ignore list +Oracle Open Office Impress : spheres +Oracle Open Office Impress : spin button creation +Oracle Open Office Impress : splitting +Oracle Open Office Impress : splitting;combinations +Oracle Open Office Impress : splitting;curves +Oracle Open Office Impress : spoolfiles with Xprinter +Oracle Open Office Impress : spreadsheets +Oracle Open Office Impress : spreadsheets;as databases (base) +Oracle Open Office Impress : spreadsheets;copying areas to text documents +Oracle Open Office Impress : spreadsheets;creating/opening +Oracle Open Office Impress : spreadsheets;in presentations +Oracle Open Office Impress : spreadsheets;inserting charts +Oracle Open Office Impress : spreadsheets;inserting database records +Oracle Open Office Impress : spreadsheets;printing +Oracle Open Office Impress : spreadsheets;saving +Oracle Open Office Impress : spreadsheets;saving automatically +Oracle Open Office Impress : spreadsheets;saving in other formats +Oracle Open Office Impress : spreadsheets;sending as e-mail +Oracle Open Office Impress : SQL +Oracle Open Office Impress : SQL;definition +Oracle Open Office Impress : SQL;DISTINCT parameter +Oracle Open Office Impress : SQL;executing SQL commands +Oracle Open Office Impress : SQL;executing SQL statements (Base) +Oracle Open Office Impress : SQL;queries (Base) +Oracle Open Office Impress : square drawings +Oracle Open Office Impress : standard bar on/off +Oracle Open Office Impress : standard deviation in charts +Oracle Open Office Impress : standard filters in databases +Oracle Open Office Impress : standard printer under UNIX +Oracle Open Office Impress : start center +Oracle Open Office Impress : start parameters +Oracle Open Office Impress : starting +Oracle Open Office Impress : starting;always with the current slide +Oracle Open Office Impress : starting;custom slide shows +Oracle Open Office Impress : starting;slide shows +Oracle Open Office Impress : statistics in charts +Oracle Open Office Impress : status bar on/off +Oracle Open Office Impress : stickers +Oracle Open Office Impress : stock charts +Oracle Open Office Impress : strikethrough +Oracle Open Office Impress : strikethrough;characters +Oracle Open Office Impress : strikethrough;font effects +Oracle Open Office Impress : styles +Oracle Open Office Impress : styles;'changed' message +Oracle Open Office Impress : styles;arrow and line styles +Oracle Open Office Impress : styles;copying between documents +Oracle Open Office Impress : styles;keyboard shortcuts +Oracle Open Office Impress : styles;organizing +Oracle Open Office Impress : styles;printing styles used in a document +Oracle Open Office Impress : styles;replacing automatically +Oracle Open Office Impress : Styles and Formatting window +Oracle Open Office Impress : Styles and Formatting window;docking +Oracle Open Office Impress : Styles and Formatting window;graphics documents +Oracle Open Office Impress : subforms +Oracle Open Office Impress : subforms;creating +Oracle Open Office Impress : subforms;description +Oracle Open Office Impress : submitting forms +Oracle Open Office Impress : subpoints +Oracle Open Office Impress : subpoints;hiding +Oracle Open Office Impress : subpoints;showing +Oracle Open Office Impress : subtracting polygons +Oracle Open Office Impress : suffixes in file formats +Oracle Open Office Impress : summary slide +Oracle Open Office Impress : support on the Web +Oracle Open Office Impress : synchronizing +Oracle Open Office Impress : synchronizing;labels and business cards +Oracle Open Office Impress : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Impress : system address book registration +Oracle Open Office Impress : tab stops +Oracle Open Office Impress : tab stops;displaying (Writer) +Oracle Open Office Impress : tab stops;inserting and editing +Oracle Open Office Impress : tab stops;regular expressions +Oracle Open Office Impress : tab stops;setting in sheets +Oracle Open Office Impress : tab stops;settings +Oracle Open Office Impress : tab stops;spacing in presentations +Oracle Open Office Impress : tab stops;spacing in text documents +Oracle Open Office Impress : table controls +Oracle Open Office Impress : table controls;form functions +Oracle Open Office Impress : table controls;keyboard-only edit mode +Oracle Open Office Impress : table controls;properties +Oracle Open Office Impress : table views of databases +Oracle Open Office Impress : Table Wizard (Base) +Oracle Open Office Impress : tables +Oracle Open Office Impress : tables;inserting line breaks +Oracle Open Office Impress : tables in databases +Oracle Open Office Impress : tables in databases;access rights to (Base) +Oracle Open Office Impress : tables in databases;adding to queries +Oracle Open Office Impress : tables in databases;browsing and editing +Oracle Open Office Impress : tables in databases;copying database tables (Base) +Oracle Open Office Impress : tables in databases;creating +Oracle Open Office Impress : tables in databases;creating in design view (manually) +Oracle Open Office Impress : tables in databases;importing text formats (Base) +Oracle Open Office Impress : tables in databases;joining for queries (Base) +Oracle Open Office Impress : tables in databases;printing queries (Base) +Oracle Open Office Impress : tables in databases;relations (Base) +Oracle Open Office Impress : tables in databases;searching +Oracle Open Office Impress : tables in spreadsheets +Oracle Open Office Impress : tables in spreadsheets;copying data to other applications +Oracle Open Office Impress : tables in spreadsheets;defining borders +Oracle Open Office Impress : tables in spreadsheets;value highlighting +Oracle Open Office Impress : tables in text +Oracle Open Office Impress : tables in text;captions +Oracle Open Office Impress : tables in text;creating automatically +Oracle Open Office Impress : tables in text;default settings +Oracle Open Office Impress : tables in text;defining borders +Oracle Open Office Impress : tables in text;displaying +Oracle Open Office Impress : tables in text;printing +Oracle Open Office Impress : tabs +Oracle Open Office Impress : tabs;displaying sheet tabs +Oracle Open Office Impress : tags +Oracle Open Office Impress : tags;definition +Oracle Open Office Impress : tags;META tags +Oracle Open Office Impress : task pane +Oracle Open Office Impress : templates +Oracle Open Office Impress : templates;agendas +Oracle Open Office Impress : templates;changing basic fonts +Oracle Open Office Impress : templates;database reports +Oracle Open Office Impress : templates;deleting +Oracle Open Office Impress : templates;editing and saving +Oracle Open Office Impress : templates;faxes +Oracle Open Office Impress : templates;importing and exporting +Oracle Open Office Impress : templates;letters +Oracle Open Office Impress : templates;new documents from templates +Oracle Open Office Impress : templates;opening documents with +Oracle Open Office Impress : templates;organizing +Oracle Open Office Impress : terminology +Oracle Open Office Impress : terminology;general glossary +Oracle Open Office Impress : terminology;Internet glossary +Oracle Open Office Impress : testing XML filters +Oracle Open Office Impress : text +Oracle Open Office Impress : text;animating +Oracle Open Office Impress : text;Asian layout +Oracle Open Office Impress : text;bold +Oracle Open Office Impress : text;coloring +Oracle Open Office Impress : text;converting to curves +Oracle Open Office Impress : text;copying by drag and drop +Oracle Open Office Impress : text;CTL languages +Oracle Open Office Impress : text;double-clicking to edit +Oracle Open Office Impress : text;drawing pictures +Oracle Open Office Impress : text;font effects +Oracle Open Office Impress : text;font sizes +Oracle Open Office Impress : text;font styles +Oracle Open Office Impress : text;fonts and formats +Oracle Open Office Impress : text;Fontwork icons +Oracle Open Office Impress : text;hyperlinks +Oracle Open Office Impress : text;inserting special characters +Oracle Open Office Impress : text;italics +Oracle Open Office Impress : text;kerning +Oracle Open Office Impress : text;language selection +Oracle Open Office Impress : text;line spacing +Oracle Open Office Impress : text;overwriting or inserting +Oracle Open Office Impress : text;printing in black +Oracle Open Office Impress : text;replacing with format +Oracle Open Office Impress : text;selection modes +Oracle Open Office Impress : text;shadowed +Oracle Open Office Impress : text;text/draw objects +Oracle Open Office Impress : text;toolbar +Oracle Open Office Impress : text attributes +Oracle Open Office Impress : text attributes;hyperlinks +Oracle Open Office Impress : text attributes;undoing +Oracle Open Office Impress : text boxes +Oracle Open Office Impress : text boxes;form functions +Oracle Open Office Impress : text boxes;positioning +Oracle Open Office Impress : text breaks in cells +Oracle Open Office Impress : text colors for better accessibility +Oracle Open Office Impress : text databases (Base) +Oracle Open Office Impress : text documents +Oracle Open Office Impress : text documents;creating/opening +Oracle Open Office Impress : text documents;importing/exporting +Oracle Open Office Impress : text documents;inserting in slides +Oracle Open Office Impress : text documents;inserting spreadsheet cells +Oracle Open Office Impress : text documents;print settings +Oracle Open Office Impress : text documents;printing +Oracle Open Office Impress : text documents;saving +Oracle Open Office Impress : text documents;saving automatically +Oracle Open Office Impress : text documents;saving in other formats +Oracle Open Office Impress : text documents;sending as e-mail +Oracle Open Office Impress : text effects +Oracle Open Office Impress : text entry mode for draw objects +Oracle Open Office Impress : text flow +Oracle Open Office Impress : text flow;in cells +Oracle Open Office Impress : text formats +Oracle Open Office Impress : text formats;databases +Oracle Open Office Impress : text formats;pasting +Oracle Open Office Impress : text frames +Oracle Open Office Impress : text input fields +Oracle Open Office Impress : text layout for special languages +Oracle Open Office Impress : text objects +Oracle Open Office Impress : text objects;alignment +Oracle Open Office Impress : text objects;draw functions +Oracle Open Office Impress : text objects;fonts +Oracle Open Office Impress : text objects;in presentations and drawings +Oracle Open Office Impress : text overflow in spreadsheet cells +Oracle Open Office Impress : text scaling in charts +Oracle Open Office Impress : text, see also text documents, paragraphs and characters +Oracle Open Office Impress : TextArt, see Fontwork +Oracle Open Office Impress : textures +Oracle Open Office Impress : textures;inserting from Gallery +Oracle Open Office Impress : textures;on chart bars +Oracle Open Office Impress : Thai +Oracle Open Office Impress : Thai;entering text +Oracle Open Office Impress : Thai;language settings +Oracle Open Office Impress : thesaurus +Oracle Open Office Impress : thesaurus;activating for a language +Oracle Open Office Impress : ticker text +Oracle Open Office Impress : tiled printing of slides +Oracle Open Office Impress : time and date on all slides +Oracle Open Office Impress : time fields +Oracle Open Office Impress : time fields;form functions +Oracle Open Office Impress : times +Oracle Open Office Impress : times;fixed +Oracle Open Office Impress : times;inserting when printing presentations +Oracle Open Office Impress : times;variable +Oracle Open Office Impress : times, formats +Oracle Open Office Impress : timings +Oracle Open Office Impress : timings;rehearse timings +Oracle Open Office Impress : tips +Oracle Open Office Impress : tips;extended tips in Help +Oracle Open Office Impress : title rows +Oracle Open Office Impress : title rows;printing in Oracle Open Office Math +Oracle Open Office Impress : titles +Oracle Open Office Impress : titles;alignment (charts) +Oracle Open Office Impress : titles;changing +Oracle Open Office Impress : titles;editing in charts +Oracle Open Office Impress : titles;font effects +Oracle Open Office Impress : titles;formatting automatically +Oracle Open Office Impress : titles;formatting charts +Oracle Open Office Impress : titles;objects +Oracle Open Office Impress : toolbars +Oracle Open Office Impress : toolbars;3D objects +Oracle Open Office Impress : toolbars;adding buttons +Oracle Open Office Impress : toolbars;curves +Oracle Open Office Impress : toolbars;docking/undocking +Oracle Open Office Impress : toolbars;ellipses +Oracle Open Office Impress : toolbars;Form Navigation bar +Oracle Open Office Impress : toolbars;viewing/closing +Oracle Open Office Impress : tools bar +Oracle Open Office Impress : tooltips +Oracle Open Office Impress : tooltips;extended tips +Oracle Open Office Impress : tooltips;help +Oracle Open Office Impress : torus +Oracle Open Office Impress : traditional Chinese +Oracle Open Office Impress : traditional Chinese;translating to simplified chinese +Oracle Open Office Impress : transition effects +Oracle Open Office Impress : transparency +Oracle Open Office Impress : transparency;adjusting +Oracle Open Office Impress : transparency;areas +Oracle Open Office Impress : transparency;of objects +Oracle Open Office Impress : transparency;off for faster printing +Oracle Open Office Impress : transparency;saving +Oracle Open Office Impress : tree view of Help +Oracle Open Office Impress : trend lines in charts +Oracle Open Office Impress : typefaces +Oracle Open Office Impress : typefaces;adding under UNIX +Oracle Open Office Impress : typefaces;formats +Oracle Open Office Impress : typography +Oracle Open Office Impress : typography;Asian +Oracle Open Office Impress : underlining +Oracle Open Office Impress : underlining;AutoFormat function +Oracle Open Office Impress : underlining;characters +Oracle Open Office Impress : underlining;text +Oracle Open Office Impress : underlying objects +Oracle Open Office Impress : undocking windows +Oracle Open Office Impress : undoing +Oracle Open Office Impress : undoing;direct formatting +Oracle Open Office Impress : undoing;editing +Oracle Open Office Impress : undoing;number of steps +Oracle Open Office Impress : ungrouping groups +Oracle Open Office Impress : units +Oracle Open Office Impress : units;converting +Oracle Open Office Impress : units;measurement units +Oracle Open Office Impress : unlocking layers +Oracle Open Office Impress : UNO components +Oracle Open Office Impress : UNO components;Extension Manager +Oracle Open Office Impress : UNO components;integrating new +Oracle Open Office Impress : update options +Oracle Open Office Impress : updates +Oracle Open Office Impress : updates;checking automatically +Oracle Open Office Impress : updates;checking manually +Oracle Open Office Impress : updating +Oracle Open Office Impress : updating;fields and charts, automatically (Writer) +Oracle Open Office Impress : updating;links in text documents +Oracle Open Office Impress : updating;links, on opening +Oracle Open Office Impress : updating;templates +Oracle Open Office Impress : URL +Oracle Open Office Impress : URL;changing hyperlink URLs +Oracle Open Office Impress : URL;definition +Oracle Open Office Impress : URL;in pictures +Oracle Open Office Impress : URL;saving absolute/relative paths +Oracle Open Office Impress : URL;turning off URL recognition +Oracle Open Office Impress : user data +Oracle Open Office Impress : user data;input +Oracle Open Office Impress : user data;removing when saving +Oracle Open Office Impress : user feedback +Oracle Open Office Impress : user feedback;automatically +Oracle Open Office Impress : user-defined colors +Oracle Open Office Impress : user-defined dictionaries +Oracle Open Office Impress : user-defined dictionaries;creating +Oracle Open Office Impress : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Impress : user-defined dictionaries;editing +Oracle Open Office Impress : user-defined styles +Oracle Open Office Impress : user-defined styles;automatically replacing +Oracle Open Office Impress : UTF-8/UCS2 support +Oracle Open Office Impress : values +Oracle Open Office Impress : values;rounded as shown (Calc) +Oracle Open Office Impress : variables +Oracle Open Office Impress : variables;for paths +Oracle Open Office Impress : variances in charts +Oracle Open Office Impress : VBA code +Oracle Open Office Impress : VBA code;loading/saving documents with VBA code +Oracle Open Office Impress : vector graphics +Oracle Open Office Impress : vector graphics;converting bitmaps +Oracle Open Office Impress : vectorizing bitmaps +Oracle Open Office Impress : version management +Oracle Open Office Impress : version numbers of documents +Oracle Open Office Impress : versions +Oracle Open Office Impress : versions;comparing documents +Oracle Open Office Impress : versions;file saving as, restriction +Oracle Open Office Impress : versions;merging document versions +Oracle Open Office Impress : versions;of a document +Oracle Open Office Impress : versions;Oracle Open Office +Oracle Open Office Impress : vertical callouts +Oracle Open Office Impress : vertical scrollbars (Writer) +Oracle Open Office Impress : vertical text boxes +Oracle Open Office Impress : videos +Oracle Open Office Impress : viewing +Oracle Open Office Impress : viewing;databases +Oracle Open Office Impress : viewing;file properties +Oracle Open Office Impress : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Impress : viewing;toolbars +Oracle Open Office Impress : views +Oracle Open Office Impress : views;black and white +Oracle Open Office Impress : views;creating database views (Base) +Oracle Open Office Impress : views;defaults +Oracle Open Office Impress : views;display sizes +Oracle Open Office Impress : views;full screen +Oracle Open Office Impress : views;icons +Oracle Open Office Impress : views;scaling +Oracle Open Office Impress : views;shift function +Oracle Open Office Impress : views;slide master view +Oracle Open Office Impress : Visual Basic for Applications +Oracle Open Office Impress : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Impress : watermarks +Oracle Open Office Impress : web documents +Oracle Open Office Impress : web documents;XForms +Oracle Open Office Impress : Web support +Oracle Open Office Impress : WebCast export +Oracle Open Office Impress : WebDAV over HTTPS +Oracle Open Office Impress : windows +Oracle Open Office Impress : windows;docking +Oracle Open Office Impress : windows;docking definition +Oracle Open Office Impress : windows;hiding/showing/docking +Oracle Open Office Impress : windows;new +Oracle Open Office Impress : wizards +Oracle Open Office Impress : wizards;agendas +Oracle Open Office Impress : wizards;database queries +Oracle Open Office Impress : wizards;database tables (Base) +Oracle Open Office Impress : wizards;databases (Base) +Oracle Open Office Impress : wizards;document converter +Oracle Open Office Impress : wizards;Euro Converter +Oracle Open Office Impress : wizards;faxes +Oracle Open Office Impress : wizards;forms +Oracle Open Office Impress : wizards;letters +Oracle Open Office Impress : wizards;macros (Base) +Oracle Open Office Impress : wizards;overview +Oracle Open Office Impress : wizards;presentations +Oracle Open Office Impress : wizards;reports +Oracle Open Office Impress : Word documents +Oracle Open Office Impress : Word documents;compatibility +Oracle Open Office Impress : Word documents;saving as +Oracle Open Office Impress : WordArt, see Fontwork +Oracle Open Office Impress : words +Oracle Open Office Impress : words;automatically replacing +Oracle Open Office Impress : words;wrapping in cells +Oracle Open Office Impress : words;wrapping in CTL +Oracle Open Office Impress : working directory change +Oracle Open Office Impress : wrapping text +Oracle Open Office Impress : wrapping text;in cells +Oracle Open Office Impress : write protection on/off +Oracle Open Office Impress : writing aids options +Oracle Open Office Impress : WYSIWYG in fonts lists +Oracle Open Office Impress : X axes +Oracle Open Office Impress : X axes;grid formatting +Oracle Open Office Impress : X axes;positioning +Oracle Open Office Impress : X axes;scaling +Oracle Open Office Impress : X axes;showing +Oracle Open Office Impress : XForms +Oracle Open Office Impress : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Impress : XForms;conditions +Oracle Open Office Impress : XForms;opening/editing +Oracle Open Office Impress : XML converters +Oracle Open Office Impress : XML file formats +Oracle Open Office Impress : XML filters +Oracle Open Office Impress : XML filters;creating/testing +Oracle Open Office Impress : XML filters;saving as package/installing/deleting +Oracle Open Office Impress : XML filters;settings +Oracle Open Office Impress : XML Forms, see XForms +Oracle Open Office Impress : XSLT filters, see also XML filters +Oracle Open Office Impress : XY charts +Oracle Open Office Impress : Y axes +Oracle Open Office Impress : Y axes;formatting +Oracle Open Office Impress : Y axes;grid formatting +Oracle Open Office Impress : Y axes;positioning +Oracle Open Office Impress : Y axes;scaling +Oracle Open Office Impress : Y axes;showing +Oracle Open Office Impress : years +Oracle Open Office Impress : years;2-digit options +Oracle Open Office Impress : Z axes +Oracle Open Office Impress : Z axes;grid formatting +Oracle Open Office Impress : Z axes;showing +Oracle Open Office Impress : zero values +Oracle Open Office Impress : zero values;displaying (Calc) +Oracle Open Office Impress : zooming +Oracle Open Office Impress : zooming;in presentations +Oracle Open Office Impress : zooming;keyboard +Oracle Open Office Impress : zooming;page views +Oracle Open Office Impress : zooming;pictures +Oracle Open Office Impress : zooming;shortcut keys +Oracle Open Office Impress : zooming;status bar +Oracle Open Office Calc : #N/A error +Oracle Open Office Calc : #N/A error;assigning to a cell +Oracle Open Office Calc : #N/A error;recognizing +Oracle Open Office Calc : #NAME error message +Oracle Open Office Calc : #REF error message +Oracle Open Office Calc : 3D charts +Oracle Open Office Calc : 3D text creation +Oracle Open Office Calc : abbreviation replacement +Oracle Open Office Calc : ABS function +Oracle Open Office Calc : absolute addresses in spreadsheets +Oracle Open Office Calc : absolute hyperlinks +Oracle Open Office Calc : absolute references in spreadsheets +Oracle Open Office Calc : absolute saving of URLs +Oracle Open Office Calc : absolute values +Oracle Open Office Calc : accents +Oracle Open Office Calc : Access databases (base) +Oracle Open Office Calc : access rights for database tables (Base) +Oracle Open Office Calc : accessibility +Oracle Open Office Calc : accessibility;general shortcuts +Oracle Open Office Calc : accessibility;options +Oracle Open Office Calc : accessibility;Oracle Open Office assistive technology +Oracle Open Office Calc : accessibility;Oracle Open Office Calc shortcuts +Oracle Open Office Calc : accessibility;Oracle Open Office features +Oracle Open Office Calc : ACCRINT function +Oracle Open Office Calc : ACCRINTM function +Oracle Open Office Calc : accrued interests +Oracle Open Office Calc : accrued interests;one-off payments +Oracle Open Office Calc : accrued interests;periodic payments +Oracle Open Office Calc : accumulated interests +Oracle Open Office Calc : ACOS function +Oracle Open Office Calc : ACOSH function +Oracle Open Office Calc : ACOT function +Oracle Open Office Calc : ACOTH function +Oracle Open Office Calc : actions in case of incorrect input +Oracle Open Office Calc : activating +Oracle Open Office Calc : activating;context menus +Oracle Open Office Calc : activating;Error Report Tool +Oracle Open Office Calc : activating;extended help tips +Oracle Open Office Calc : activating;plug-ins +Oracle Open Office Calc : ActiveX control +Oracle Open Office Calc : Adabas D databases (base) +Oracle Open Office Calc : add-ins +Oracle Open Office Calc : add-ins;analysis functions +Oracle Open Office Calc : add-ins;for programming +Oracle Open Office Calc : add-ins;functions +Oracle Open Office Calc : add-ons, see UNO components +Oracle Open Office Calc : adding +Oracle Open Office Calc : adding;numbers in cell ranges +Oracle Open Office Calc : adding;specified numbers +Oracle Open Office Calc : additional selection mode +Oracle Open Office Calc : address books +Oracle Open Office Calc : address books;LDAP server (Base) +Oracle Open Office Calc : address books;registering +Oracle Open Office Calc : ADDRESS function +Oracle Open Office Calc : address labels from databases +Oracle Open Office Calc : addressing +Oracle Open Office Calc : addressing;automatic +Oracle Open Office Calc : addressing;by defined names +Oracle Open Office Calc : addressing;relative and absolute +Oracle Open Office Calc : adjusting array ranges +Oracle Open Office Calc : ADO databases (Base) +Oracle Open Office Calc : advanced filters +Oracle Open Office Calc : Agenda Wizard +Oracle Open Office Calc : aging filter +Oracle Open Office Calc : algebraic signs +Oracle Open Office Calc : aligning +Oracle Open Office Calc : aligning;2D charts +Oracle Open Office Calc : aligning;cells +Oracle Open Office Calc : aligning;objects +Oracle Open Office Calc : aligning;paragraphs +Oracle Open Office Calc : aligning;tables in text +Oracle Open Office Calc : aligning;text objects +Oracle Open Office Calc : aligning;titles in charts +Oracle Open Office Calc : allowances +Oracle Open Office Calc : allowed cell names +Oracle Open Office Calc : alternative fonts +Oracle Open Office Calc : AMORDEGRC function +Oracle Open Office Calc : AMORLINC function +Oracle Open Office Calc : amortization installment +Oracle Open Office Calc : amortizations, see also depreciations +Oracle Open Office Calc : amount received for fixed-interest securities +Oracle Open Office Calc : ampersand symbol, see also operators +Oracle Open Office Calc : analysis functions +Oracle Open Office Calc : anchors +Oracle Open Office Calc : anchors;changing +Oracle Open Office Calc : anchors;displaying (Calc) +Oracle Open Office Calc : anchors;types/positions for draw objects +Oracle Open Office Calc : AND function +Oracle Open Office Calc : animations +Oracle Open Office Calc : animations;accessibility options +Oracle Open Office Calc : annual net interest rates +Oracle Open Office Calc : annual return on treasury bills +Oracle Open Office Calc : annuities +Oracle Open Office Calc : appearance options +Oracle Open Office Calc : appending sheets +Oracle Open Office Calc : Arabic +Oracle Open Office Calc : Arabic;entering text +Oracle Open Office Calc : Arabic;language settings +Oracle Open Office Calc : ARABIC function +Oracle Open Office Calc : area charts +Oracle Open Office Calc : areas +Oracle Open Office Calc : areas;bitmap patterns +Oracle Open Office Calc : areas;hatched/dotted +Oracle Open Office Calc : areas;shadows +Oracle Open Office Calc : areas;slanting +Oracle Open Office Calc : areas;styles +Oracle Open Office Calc : areas;transparency +Oracle Open Office Calc : AREAS function +Oracle Open Office Calc : areas, see also cell ranges +Oracle Open Office Calc : arguments in command line +Oracle Open Office Calc : arithmetic declining depreciations +Oracle Open Office Calc : arithmetic lists +Oracle Open Office Calc : arithmetic-degressive depreciations +Oracle Open Office Calc : arithmetical operators +Oracle Open Office Calc : arranging +Oracle Open Office Calc : arranging;objects +Oracle Open Office Calc : array formulas +Oracle Open Office Calc : arrows +Oracle Open Office Calc : arrows;defining arrow heads +Oracle Open Office Calc : arrows;defining arrow lines +Oracle Open Office Calc : arrows;drawing in text +Oracle Open Office Calc : ASC function +Oracle Open Office Calc : ASCII +Oracle Open Office Calc : ASCII;definition +Oracle Open Office Calc : Asian languages +Oracle Open Office Calc : Asian languages;enabling +Oracle Open Office Calc : Asian languages;sorting +Oracle Open Office Calc : Asian Phonetic Guide +Oracle Open Office Calc : Asian typography +Oracle Open Office Calc : ASIN function +Oracle Open Office Calc : ASINH function +Oracle Open Office Calc : assigning scripts +Oracle Open Office Calc : assistive technology in Oracle Open Office +Oracle Open Office Calc : ATAN function +Oracle Open Office Calc : ATAN2 function +Oracle Open Office Calc : ATANH function +Oracle Open Office Calc : attaching toolbars +Oracle Open Office Calc : attachments in e-mails +Oracle Open Office Calc : attributes +Oracle Open Office Calc : attributes;cells +Oracle Open Office Calc : audio +Oracle Open Office Calc : auto reloading HTML documents +Oracle Open Office Calc : AutoAbstract function for sending text to presentations +Oracle Open Office Calc : AutoCalculate function in sheets +Oracle Open Office Calc : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Calc : AutoComplete function in text and list boxes +Oracle Open Office Calc : AutoCorrect function +Oracle Open Office Calc : AutoCorrect function;cell contents +Oracle Open Office Calc : AutoCorrect function;context menu +Oracle Open Office Calc : AutoCorrect function;options +Oracle Open Office Calc : AutoCorrect function;pictures and frames +Oracle Open Office Calc : AutoCorrect function;quotes +Oracle Open Office Calc : AutoCorrect function;replacement table +Oracle Open Office Calc : AutoCorrect function;switching on and off in Calc +Oracle Open Office Calc : AutoCorrect function;URL recognition +Oracle Open Office Calc : AutoFill function +Oracle Open Office Calc : AutoFilter function +Oracle Open Office Calc : AutoFilter function;applying +Oracle Open Office Calc : AutoFilter function;subtotals +Oracle Open Office Calc : AutoFormat function +Oracle Open Office Calc : AutoFormat function;defining and applying formats +Oracle Open Office Calc : AutoFormat function;switching on and off +Oracle Open Office Calc : AutoInput function on/off +Oracle Open Office Calc : automatic addressing in tables +Oracle Open Office Calc : automatic captions (Writer) +Oracle Open Office Calc : automatic cell filling +Oracle Open Office Calc : automatic control focus +Oracle Open Office Calc : automatic date updates +Oracle Open Office Calc : automatic formatting in spreadsheets +Oracle Open Office Calc : automatic hyperlink formatting +Oracle Open Office Calc : automatic hyphenation in spreadsheets +Oracle Open Office Calc : automatic line breaks +Oracle Open Office Calc : automatic lines/borders in text +Oracle Open Office Calc : automatic saving +Oracle Open Office Calc : AutoPilots, see wizards +Oracle Open Office Calc : AutoValue (Base) +Oracle Open Office Calc : AVEDEV function +Oracle Open Office Calc : AVERAGE function +Oracle Open Office Calc : AVERAGEA function +Oracle Open Office Calc : averages +Oracle Open Office Calc : averages;in Calc databases +Oracle Open Office Calc : averages;statistical functions +Oracle Open Office Calc : averages in charts +Oracle Open Office Calc : axes +Oracle Open Office Calc : axes;better scaling +Oracle Open Office Calc : axes;formatting +Oracle Open Office Calc : axes;formatting grids +Oracle Open Office Calc : axes;inserting grids +Oracle Open Office Calc : axes;interval marks +Oracle Open Office Calc : axes;showing axes in charts +Oracle Open Office Calc : axes in charts +Oracle Open Office Calc : B function +Oracle Open Office Calc : back-solving +Oracle Open Office Calc : backgrounds +Oracle Open Office Calc : backgrounds;cell ranges +Oracle Open Office Calc : backgrounds;cells and pages +Oracle Open Office Calc : backgrounds;defining colors/pictures +Oracle Open Office Calc : backgrounds;frames/sections/indexes +Oracle Open Office Calc : backgrounds;inserting from Gallery +Oracle Open Office Calc : backgrounds;printing +Oracle Open Office Calc : backing window +Oracle Open Office Calc : backups +Oracle Open Office Calc : backups;automatic +Oracle Open Office Calc : backups;documents +Oracle Open Office Calc : BAHTTEXT function +Oracle Open Office Calc : bar charts +Oracle Open Office Calc : BASE function +Oracle Open Office Calc : base-10 logarithm +Oracle Open Office Calc : Basic +Oracle Open Office Calc : Basic;fonts for source display +Oracle Open Office Calc : Basic;programming +Oracle Open Office Calc : Basic;recording macros +Oracle Open Office Calc : basic fonts +Oracle Open Office Calc : Basic IDE for user-defined functions +Oracle Open Office Calc : Bessel functions +Oracle Open Office Calc : BETADIST function +Oracle Open Office Calc : BETAINV function +Oracle Open Office Calc : Bézier curves +Oracle Open Office Calc : Bézier curves;control points in presentations +Oracle Open Office Calc : bi-directional writing +Oracle Open Office Calc : BIN2DEC function +Oracle Open Office Calc : BIN2HEX function +Oracle Open Office Calc : BIN2OCT function +Oracle Open Office Calc : binary system +Oracle Open Office Calc : binary system;converting to +Oracle Open Office Calc : binding space +Oracle Open Office Calc : BINOMDIST function +Oracle Open Office Calc : bitmaps +Oracle Open Office Calc : bitmaps;inserting and editing +Oracle Open Office Calc : bitmaps;off for faster printing +Oracle Open Office Calc : bitmaps;patterns +Oracle Open Office Calc : black and white printing +Oracle Open Office Calc : black printing in Calc +Oracle Open Office Calc : blank cell contents +Oracle Open Office Calc : block selection mode +Oracle Open Office Calc : bold +Oracle Open Office Calc : bold;AutoFormat function +Oracle Open Office Calc : bold;text +Oracle Open Office Calc : bookmarks +Oracle Open Office Calc : bookmarks;Help +Oracle Open Office Calc : borders +Oracle Open Office Calc : borders;arranging +Oracle Open Office Calc : borders;cells +Oracle Open Office Calc : borders;cells and pages +Oracle Open Office Calc : borders;cells on screen (Calc) +Oracle Open Office Calc : borders;for paragraphs +Oracle Open Office Calc : borders;for tables +Oracle Open Office Calc : borders;printing cells +Oracle Open Office Calc : borders;shadows +Oracle Open Office Calc : borders;table boundaries (Writer) +Oracle Open Office Calc : borders, see also frames +Oracle Open Office Calc : bound fields +Oracle Open Office Calc : bound fields;controls +Oracle Open Office Calc : boundaries of tables (Writer) +Oracle Open Office Calc : break display (Writer) +Oracle Open Office Calc : breaks in cells +Oracle Open Office Calc : brochures +Oracle Open Office Calc : brochures;printing several +Oracle Open Office Calc : bubble charts +Oracle Open Office Calc : build numbers of Oracle Open Office +Oracle Open Office Calc : bullet lists +Oracle Open Office Calc : bullet lists;formatting options +Oracle Open Office Calc : bullets +Oracle Open Office Calc : bullets;paragraphs +Oracle Open Office Calc : bullets;replacing +Oracle Open Office Calc : bullets;turning off +Oracle Open Office Calc : business cards +Oracle Open Office Calc : business cards;creating and synchronizing +Oracle Open Office Calc : business cards;using templates +Oracle Open Office Calc : button bars, see toolbars +Oracle Open Office Calc : buttons +Oracle Open Office Calc : buttons;adding push buttons +Oracle Open Office Calc : buttons;big/small +Oracle Open Office Calc : buttons;editing hyperlink buttons +Oracle Open Office Calc : buttons;form functions +Oracle Open Office Calc : buttons;toolbars +Oracle Open Office Calc : cache for graphics +Oracle Open Office Calc : calculating +Oracle Open Office Calc : calculating;accumulated interests +Oracle Open Office Calc : calculating;annual net interest rates +Oracle Open Office Calc : calculating;annuities +Oracle Open Office Calc : calculating;arithmetic-degressive depreciations +Oracle Open Office Calc : calculating;auto calculating sheets +Oracle Open Office Calc : calculating;averages in Calc databases +Oracle Open Office Calc : calculating;conditional calculations +Oracle Open Office Calc : calculating;constant interest rates +Oracle Open Office Calc : calculating;Data Pilot +Oracle Open Office Calc : calculating;depreciations +Oracle Open Office Calc : calculating;durations +Oracle Open Office Calc : calculating;future values +Oracle Open Office Calc : calculating;geometric-degressive depreciations +Oracle Open Office Calc : calculating;interests for unchanged amortization installments +Oracle Open Office Calc : calculating;internal rates of return, irregular payments +Oracle Open Office Calc : calculating;internal rates of return, regular payments +Oracle Open Office Calc : calculating;iterative references (Calc) +Oracle Open Office Calc : calculating;linear depreciations +Oracle Open Office Calc : calculating;modified internal rates of return +Oracle Open Office Calc : calculating;multiple sheets +Oracle Open Office Calc : calculating;net present values +Oracle Open Office Calc : calculating;nominal interest rates +Oracle Open Office Calc : calculating;number of payment periods +Oracle Open Office Calc : calculating;present values +Oracle Open Office Calc : calculating;rates of return +Oracle Open Office Calc : calculating;regression curves +Oracle Open Office Calc : calculating;rounded off values +Oracle Open Office Calc : calculating;series +Oracle Open Office Calc : calculating;spreadsheets +Oracle Open Office Calc : calculating;sums in Calc databases +Oracle Open Office Calc : calculating;time differences +Oracle Open Office Calc : calculating;total amortizement rates +Oracle Open Office Calc : calculating;variable declining depreciations +Oracle Open Office Calc : calculating;variables in equations +Oracle Open Office Calc : calculating;with formulas +Oracle Open Office Calc : callouts +Oracle Open Office Calc : callouts;drawings +Oracle Open Office Calc : capital letters +Oracle Open Office Calc : capital letters;AutoCorrect function +Oracle Open Office Calc : capital letters;AutoInput function +Oracle Open Office Calc : capital letters;AutoInput function (in cells) +Oracle Open Office Calc : capital letters;font effects +Oracle Open Office Calc : captions +Oracle Open Office Calc : captions;automatic captions (Writer) +Oracle Open Office Calc : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Calc : captions, see also labels/callouts +Oracle Open Office Calc : cascading update (Base) +Oracle Open Office Calc : case sensitivity +Oracle Open Office Calc : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Calc : case sensitivity;searching +Oracle Open Office Calc : categories of functions +Oracle Open Office Calc : CEILING function +Oracle Open Office Calc : cell attributes +Oracle Open Office Calc : cell contents +Oracle Open Office Calc : cell contents;AutoCalculate function +Oracle Open Office Calc : cell contents;deleting +Oracle Open Office Calc : cell contents;no text +Oracle Open Office Calc : cell contents;numbers +Oracle Open Office Calc : cell contents;recalculating +Oracle Open Office Calc : cell contents;searching in Calc databases +Oracle Open Office Calc : cell contents;testing for references +Oracle Open Office Calc : cell contents;text +Oracle Open Office Calc : cell formats +Oracle Open Office Calc : cell formats;assigning by formulas +Oracle Open Office Calc : cell formats;conditional +Oracle Open Office Calc : cell formats;text/numbers +Oracle Open Office Calc : CELL function +Oracle Open Office Calc : cell heights +Oracle Open Office Calc : cell information +Oracle Open Office Calc : cell input +Oracle Open Office Calc : cell input;AutoInput function +Oracle Open Office Calc : cell links search +Oracle Open Office Calc : cell merges +Oracle Open Office Calc : cell names +Oracle Open Office Calc : cell names;defining/addressing +Oracle Open Office Calc : cell protection +Oracle Open Office Calc : cell protection;enabling +Oracle Open Office Calc : cell protection;unprotecting +Oracle Open Office Calc : cell ranges +Oracle Open Office Calc : cell ranges;applying/removing filters +Oracle Open Office Calc : cell ranges;creating names automatically +Oracle Open Office Calc : cell ranges;defining names +Oracle Open Office Calc : cell ranges;inserting named ranges +Oracle Open Office Calc : cell ranges;printing +Oracle Open Office Calc : cell ranges;selecting for data entries +Oracle Open Office Calc : cell references +Oracle Open Office Calc : cell references;showing +Oracle Open Office Calc : cell styles +Oracle Open Office Calc : cell styles;assigning by formulas +Oracle Open Office Calc : cell styles;copying +Oracle Open Office Calc : cell styles;selecting +Oracle Open Office Calc : cell widths +Oracle Open Office Calc : cells +Oracle Open Office Calc : cells;aligning +Oracle Open Office Calc : cells;AutoInput function of text +Oracle Open Office Calc : cells;autorefreshing traces +Oracle Open Office Calc : cells;backgrounds +Oracle Open Office Calc : cells;borders +Oracle Open Office Calc : cells;changing text/number formats +Oracle Open Office Calc : cells;coloring (Calc) +Oracle Open Office Calc : cells;comments +Oracle Open Office Calc : cells;conditional formatting +Oracle Open Office Calc : cells;copying/deleting/formatting/moving +Oracle Open Office Calc : cells;currency formats +Oracle Open Office Calc : cells;cursor positions after input (Calc) +Oracle Open Office Calc : cells;date and time formats +Oracle Open Office Calc : cells;defining input help +Oracle Open Office Calc : cells;defining names +Oracle Open Office Calc : cells;deleting cells +Oracle Open Office Calc : cells;deleting contents +Oracle Open Office Calc : cells;filling automatically +Oracle Open Office Calc : cells;formatting dialog +Oracle Open Office Calc : cells;formatting without effect (Calc) +Oracle Open Office Calc : cells;heights and widths +Oracle Open Office Calc : cells;hiding for printing +Oracle Open Office Calc : cells;inserting +Oracle Open Office Calc : cells;Internet references +Oracle Open Office Calc : cells;invalid data +Oracle Open Office Calc : cells;line breaks +Oracle Open Office Calc : cells;linked to controls +Oracle Open Office Calc : cells;merging/unmerging +Oracle Open Office Calc : cells;moving by drag and drop +Oracle Open Office Calc : cells;number formats +Oracle Open Office Calc : cells;number of +Oracle Open Office Calc : cells;operating in another document +Oracle Open Office Calc : cells;pasting +Oracle Open Office Calc : cells;print ranges +Oracle Open Office Calc : cells;printing grids +Oracle Open Office Calc : cells;protecting +Oracle Open Office Calc : cells;references +Oracle Open Office Calc : cells;referencing by drag and drop +Oracle Open Office Calc : cells;refreshing traces +Oracle Open Office Calc : cells;removing dependents +Oracle Open Office Calc : cells;removing precedents +Oracle Open Office Calc : cells;removing traces +Oracle Open Office Calc : cells;resetting formats +Oracle Open Office Calc : cells;rotating text +Oracle Open Office Calc : cells;selecting +Oracle Open Office Calc : cells;showing grid lines (Calc) +Oracle Open Office Calc : cells;text breaks +Oracle Open Office Calc : cells;text super/sub +Oracle Open Office Calc : cells;trace fill mode +Oracle Open Office Calc : cells;tracing dependents +Oracle Open Office Calc : cells;tracing errors +Oracle Open Office Calc : cells;tracing precedents +Oracle Open Office Calc : cells;validity +Oracle Open Office Calc : centered text +Oracle Open Office Calc : centimeters +Oracle Open Office Calc : certificates +Oracle Open Office Calc : changes +Oracle Open Office Calc : changes;accepting or rejecting +Oracle Open Office Calc : changes;comparing to original +Oracle Open Office Calc : changes;protecting +Oracle Open Office Calc : changes;recording +Oracle Open Office Calc : changes;review function +Oracle Open Office Calc : changes;showing +Oracle Open Office Calc : changing +Oracle Open Office Calc : changing;currency formats +Oracle Open Office Calc : changing;dates, automatically +Oracle Open Office Calc : changing;document titles +Oracle Open Office Calc : changing;file associations in Setup program +Oracle Open Office Calc : changing;icon sizes +Oracle Open Office Calc : changing;input in cells +Oracle Open Office Calc : changing;links +Oracle Open Office Calc : changing;number of decimal places +Oracle Open Office Calc : changing;row heights/column widths +Oracle Open Office Calc : changing;sheet names +Oracle Open Office Calc : changing;sheet protection +Oracle Open Office Calc : changing;table views +Oracle Open Office Calc : changing;work directory +Oracle Open Office Calc : changing, see also editing and replacing +Oracle Open Office Calc : CHAR function +Oracle Open Office Calc : character styles +Oracle Open Office Calc : character styles;language selection +Oracle Open Office Calc : characters +Oracle Open Office Calc : characters;alternative fonts +Oracle Open Office Calc : characters;Asian layout +Oracle Open Office Calc : characters;bold +Oracle Open Office Calc : characters;coloring +Oracle Open Office Calc : characters;displaying only on screen (Writer) +Oracle Open Office Calc : characters;enabling CTL and Asian characters +Oracle Open Office Calc : characters;font effects +Oracle Open Office Calc : characters;fonts and formats +Oracle Open Office Calc : characters;hyperlinks +Oracle Open Office Calc : characters;italics +Oracle Open Office Calc : characters;language selection +Oracle Open Office Calc : characters;shadowed +Oracle Open Office Calc : characters;spacing +Oracle Open Office Calc : characters;special +Oracle Open Office Calc : characters;superscript/subscript +Oracle Open Office Calc : characters;underlining +Oracle Open Office Calc : charcoal sketches filter +Oracle Open Office Calc : chart legends +Oracle Open Office Calc : chart legends;hiding +Oracle Open Office Calc : chart legends;showing icons with labels +Oracle Open Office Calc : chart types +Oracle Open Office Calc : chart types;area +Oracle Open Office Calc : chart types;bubble +Oracle Open Office Calc : chart types;column and bar +Oracle Open Office Calc : chart types;column and line +Oracle Open Office Calc : chart types;line +Oracle Open Office Calc : chart types;net +Oracle Open Office Calc : chart types;pie/donut +Oracle Open Office Calc : chart types;stock +Oracle Open Office Calc : chart types;XY (scatter) +Oracle Open Office Calc : charts +Oracle Open Office Calc : charts;3D views +Oracle Open Office Calc : charts;aligning +Oracle Open Office Calc : charts;arranging within stacks +Oracle Open Office Calc : charts;bars with textures +Oracle Open Office Calc : charts;choosing chart types +Oracle Open Office Calc : charts;colors +Oracle Open Office Calc : charts;copying with link to source cell range +Oracle Open Office Calc : charts;data labels +Oracle Open Office Calc : charts;displaying (Calc) +Oracle Open Office Calc : charts;editing axes +Oracle Open Office Calc : charts;editing data +Oracle Open Office Calc : charts;editing legends +Oracle Open Office Calc : charts;editing titles +Oracle Open Office Calc : charts;formatting areas +Oracle Open Office Calc : charts;formatting floors +Oracle Open Office Calc : charts;formatting walls +Oracle Open Office Calc : charts;inserting +Oracle Open Office Calc : charts;overview +Oracle Open Office Calc : charts;positioning axes +Oracle Open Office Calc : charts;printing +Oracle Open Office Calc : charts;properties +Oracle Open Office Calc : charts;reorganizing +Oracle Open Office Calc : charts;scaling axes +Oracle Open Office Calc : charts;scaling text +Oracle Open Office Calc : charts;shortcuts +Oracle Open Office Calc : charts;showing axes +Oracle Open Office Calc : charts;updating automatically (Writer) +Oracle Open Office Calc : check box creation +Oracle Open Office Calc : chi-square distribution +Oracle Open Office Calc : CHIDIST function +Oracle Open Office Calc : CHIINV function +Oracle Open Office Calc : Chinese writing systems +Oracle Open Office Calc : CHISQDIST function +Oracle Open Office Calc : CHISQINV function +Oracle Open Office Calc : CHITEST function +Oracle Open Office Calc : CHOOSE function +Oracle Open Office Calc : choosing printers +Oracle Open Office Calc : circle drawings +Oracle Open Office Calc : CLEAN function +Oracle Open Office Calc : clearing, see also deleting/removing +Oracle Open Office Calc : Client Side ImageMap +Oracle Open Office Calc : clipboard +Oracle Open Office Calc : clipboard;cutting +Oracle Open Office Calc : clipboard;pasting +Oracle Open Office Calc : clipboard;pasting formatted/unformatted text +Oracle Open Office Calc : clipboard;selection clipboard +Oracle Open Office Calc : clipboard;Unix +Oracle Open Office Calc : closing +Oracle Open Office Calc : closing;documents +Oracle Open Office Calc : closing;toolbars +Oracle Open Office Calc : CODE function +Oracle Open Office Calc : coefficient of correlation +Oracle Open Office Calc : collaboration +Oracle Open Office Calc : color bar +Oracle Open Office Calc : colors +Oracle Open Office Calc : colors;adding +Oracle Open Office Calc : colors;appearance +Oracle Open Office Calc : colors;backgrounds +Oracle Open Office Calc : colors;charts +Oracle Open Office Calc : colors;fill format +Oracle Open Office Calc : colors;fonts +Oracle Open Office Calc : colors;grid lines and cells (Calc) +Oracle Open Office Calc : colors;models +Oracle Open Office Calc : colors;negative numbers +Oracle Open Office Calc : colors;not printing +Oracle Open Office Calc : colors;printing in grayscale +Oracle Open Office Calc : colors;restriction (Calc) +Oracle Open Office Calc : colors;selection +Oracle Open Office Calc : column and line charts +Oracle Open Office Calc : column breaks +Oracle Open Office Calc : column breaks;deleting +Oracle Open Office Calc : column breaks;inserting +Oracle Open Office Calc : column charts +Oracle Open Office Calc : COLUMN function +Oracle Open Office Calc : column headers +Oracle Open Office Calc : column headers;displaying (Calc) +Oracle Open Office Calc : column headers;hiding +Oracle Open Office Calc : column headers;highlighting (Calc) +Oracle Open Office Calc : column headers;using in formulas +Oracle Open Office Calc : column widths +Oracle Open Office Calc : columns +Oracle Open Office Calc : columns;AutoFilter function +Oracle Open Office Calc : columns;deleting +Oracle Open Office Calc : columns;finding labels automatically +Oracle Open Office Calc : columns;freezing +Oracle Open Office Calc : columns;hiding +Oracle Open Office Calc : columns;inserting +Oracle Open Office Calc : columns;moving by drag and drop +Oracle Open Office Calc : columns;optimal widths +Oracle Open Office Calc : columns;repeating when printing +Oracle Open Office Calc : columns;setting with the mouse +Oracle Open Office Calc : columns;swap with rows +Oracle Open Office Calc : columns;widths +Oracle Open Office Calc : COLUMNS function +Oracle Open Office Calc : columns, see also cells +Oracle Open Office Calc : COMBIN function +Oracle Open Office Calc : COMBINA function +Oracle Open Office Calc : combination charts +Oracle Open Office Calc : combining +Oracle Open Office Calc : combining;cell ranges +Oracle Open Office Calc : combo box creation +Oracle Open Office Calc : comma separated files and values +Oracle Open Office Calc : command button creation +Oracle Open Office Calc : command buttons, see push buttons +Oracle Open Office Calc : command line parameters +Oracle Open Office Calc : commands +Oracle Open Office Calc : commands;repeating +Oracle Open Office Calc : commands;SQL +Oracle Open Office Calc : comments +Oracle Open Office Calc : comments;displaying (Calc) +Oracle Open Office Calc : comments;help text for cells +Oracle Open Office Calc : comments;inserting/editing/deleting/printing +Oracle Open Office Calc : comments;on cells +Oracle Open Office Calc : comments;on cells - Inserting and Editing Comments +Oracle Open Office Calc : comments;on changes +Oracle Open Office Calc : comments;printing +Oracle Open Office Calc : comments;printing in text +Oracle Open Office Calc : common terms +Oracle Open Office Calc : common terms;Chinese dictionary +Oracle Open Office Calc : common terms;glossaries +Oracle Open Office Calc : common terms;Internet glossary +Oracle Open Office Calc : comparisons +Oracle Open Office Calc : comparisons;document versions +Oracle Open Office Calc : comparisons;operators in Calc +Oracle Open Office Calc : comparisons;operators in default filter dialog +Oracle Open Office Calc : compatibility settings for MS Word import +Oracle Open Office Calc : complete screen view +Oracle Open Office Calc : COMPLEX function +Oracle Open Office Calc : complex numbers in analysis functions +Oracle Open Office Calc : complex text layout +Oracle Open Office Calc : complex text layout;definition +Oracle Open Office Calc : complex text layout;enabling +Oracle Open Office Calc : complex text layout, see CTL +Oracle Open Office Calc : compose key to insert special characters +Oracle Open Office Calc : CONCATENATE function +Oracle Open Office Calc : concatenation, see ampersand symbol +Oracle Open Office Calc : conditional calculations with arrays +Oracle Open Office Calc : conditional formatting +Oracle Open Office Calc : conditional formatting;cells +Oracle Open Office Calc : conditional formatting;conditions +Oracle Open Office Calc : conditional separators +Oracle Open Office Calc : conditions +Oracle Open Office Calc : conditions;in number formats +Oracle Open Office Calc : conditions;items in Data Navigator +Oracle Open Office Calc : CONFIDENCE function +Oracle Open Office Calc : Configuration Manager +Oracle Open Office Calc : configuring +Oracle Open Office Calc : configuring;fax icon +Oracle Open Office Calc : configuring;Oracle Open Office +Oracle Open Office Calc : configuring;toolbars +Oracle Open Office Calc : connections to data sources (Base) +Oracle Open Office Calc : consolidating data +Oracle Open Office Calc : constant interest rates +Oracle Open Office Calc : constants definition +Oracle Open Office Calc : contents protection +Oracle Open Office Calc : context menus +Oracle Open Office Calc : control point display in presentations +Oracle Open Office Calc : controls +Oracle Open Office Calc : controls;activating in forms +Oracle Open Office Calc : controls;adding to documents +Oracle Open Office Calc : controls;arranging in forms +Oracle Open Office Calc : controls;arranging within stacks +Oracle Open Office Calc : controls;assigning data sources +Oracle Open Office Calc : controls;assigning macros (Basic) +Oracle Open Office Calc : controls;bound fields/list contents/linked cells +Oracle Open Office Calc : controls;events +Oracle Open Office Calc : controls;focus +Oracle Open Office Calc : controls;formatted fields +Oracle Open Office Calc : controls;grouping +Oracle Open Office Calc : controls;hidden +Oracle Open Office Calc : controls;inserting +Oracle Open Office Calc : controls;multi-line titles +Oracle Open Office Calc : controls;positions and sizes +Oracle Open Office Calc : controls;printing +Oracle Open Office Calc : controls;properties of form controls +Oracle Open Office Calc : controls;properties of table controls +Oracle Open Office Calc : controls;reference by SQL +Oracle Open Office Calc : controls;rich text control +Oracle Open Office Calc : controls;select mode +Oracle Open Office Calc : controls;showing (Writer) +Oracle Open Office Calc : CONVERT function +Oracle Open Office Calc : CONVERT_ADD function +Oracle Open Office Calc : converters +Oracle Open Office Calc : converters;Euro converter +Oracle Open Office Calc : converters;PostScript, UNIX +Oracle Open Office Calc : converters;XML +Oracle Open Office Calc : converting +Oracle Open Office Calc : converting;binary numbers, into decimal numbers +Oracle Open Office Calc : converting;binary numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;binary numbers, into octal numbers +Oracle Open Office Calc : converting;decimal fractions, into decimal numbers +Oracle Open Office Calc : converting;decimal fractions, into mixed decimal fractions +Oracle Open Office Calc : converting;decimal numbers, into binary numbers +Oracle Open Office Calc : converting;decimal numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;decimal numbers, into octal numbers +Oracle Open Office Calc : converting;degrees, into radians +Oracle Open Office Calc : converting;Hangul/Hanja +Oracle Open Office Calc : converting;hexadecimal numbers, into binary numbers +Oracle Open Office Calc : converting;hexadecimal numbers, into decimal numbers +Oracle Open Office Calc : converting;hexadecimal numbers, into octal numbers +Oracle Open Office Calc : converting;metrics +Oracle Open Office Calc : converting;Microsoft documents +Oracle Open Office Calc : converting;octal numbers, into binary numbers +Oracle Open Office Calc : converting;octal numbers, into decimal numbers +Oracle Open Office Calc : converting;octal numbers, into hexadecimal numbers +Oracle Open Office Calc : converting;Oracle Open Office documents +Oracle Open Office Calc : converting;Pocket PC formats +Oracle Open Office Calc : converting;radians, into degrees +Oracle Open Office Calc : converting;random variables, into normalized values +Oracle Open Office Calc : converting;text with leading zeros, into numbers +Oracle Open Office Calc : converting;text, into numbers +Oracle Open Office Calc : copies +Oracle Open Office Calc : copies;printing +Oracle Open Office Calc : copying +Oracle Open Office Calc : copying;array formulas +Oracle Open Office Calc : copying;by drag and drop +Oracle Open Office Calc : copying;cell styles +Oracle Open Office Calc : copying;data from text documents +Oracle Open Office Calc : copying;datasource records in spreadsheets +Oracle Open Office Calc : copying;draw objects +Oracle Open Office Calc : copying;draw objects between documents +Oracle Open Office Calc : copying;formatting +Oracle Open Office Calc : copying;formulas +Oracle Open Office Calc : copying;from data source view +Oracle Open Office Calc : copying;from Gallery +Oracle Open Office Calc : copying;in Unix +Oracle Open Office Calc : copying;pictures, between documents +Oracle Open Office Calc : copying;sheet areas, to text documents +Oracle Open Office Calc : copying;spreadsheets +Oracle Open Office Calc : copying;to Gallery +Oracle Open Office Calc : copying;values, to multiple sheets +Oracle Open Office Calc : copying;visible cells only +Oracle Open Office Calc : copyright for Oracle Open Office +Oracle Open Office Calc : corner roundings +Oracle Open Office Calc : correcting sheets automatically +Oracle Open Office Calc : CORREL function +Oracle Open Office Calc : COS function +Oracle Open Office Calc : COSH function +Oracle Open Office Calc : COT function +Oracle Open Office Calc : COTH function +Oracle Open Office Calc : COUNT function +Oracle Open Office Calc : COUNTA function +Oracle Open Office Calc : COUNTBLANK function +Oracle Open Office Calc : COUNTIF function +Oracle Open Office Calc : counting +Oracle Open Office Calc : counting;empty cells +Oracle Open Office Calc : counting;specified cells +Oracle Open Office Calc : counting rows +Oracle Open Office Calc : counting rows;with numeric or alphanumeric values +Oracle Open Office Calc : counting rows;with numeric values +Oracle Open Office Calc : COUPDAYBS function +Oracle Open Office Calc : COUPDAYS function +Oracle Open Office Calc : COUPDAYSNC function +Oracle Open Office Calc : COUPNCD function +Oracle Open Office Calc : COUPNUM function +Oracle Open Office Calc : COUPPCD function +Oracle Open Office Calc : COVAR function +Oracle Open Office Calc : crash reports +Oracle Open Office Calc : CRITBINOM function +Oracle Open Office Calc : criteria of query design (Base) +Oracle Open Office Calc : cropping pictures +Oracle Open Office Calc : cross-classified tables +Oracle Open Office Calc : csv files +Oracle Open Office Calc : csv files;formulas +Oracle Open Office Calc : csv files;importing and exporting +Oracle Open Office Calc : CTL +Oracle Open Office Calc : CTL;(not) wrapping words +Oracle Open Office Calc : CTL;complex text layout languages +Oracle Open Office Calc : CTL;definition +Oracle Open Office Calc : CTL;options +Oracle Open Office Calc : CTL;right-to-left sheets +Oracle Open Office Calc : CUMIPMT function +Oracle Open Office Calc : CUMIPMT_ADD function +Oracle Open Office Calc : CUMPRINC function +Oracle Open Office Calc : CUMPRINC_ADD function +Oracle Open Office Calc : cumulative lognormal distribution +Oracle Open Office Calc : cumulative probability density function +Oracle Open Office Calc : cumulative probability density function;calculating +Oracle Open Office Calc : cumulative probability density function;inverse of +Oracle Open Office Calc : currencies +Oracle Open Office Calc : currencies;converters +Oracle Open Office Calc : currencies;default currencies +Oracle Open Office Calc : currencies;format codes +Oracle Open Office Calc : currencies;formats +Oracle Open Office Calc : currency field creation +Oracle Open Office Calc : currency formats +Oracle Open Office Calc : currency formats +Oracle Open Office Calc : currency formats;spreadsheets +Oracle Open Office Calc : current date and time values +Oracle Open Office Calc : CURRENT function +Oracle Open Office Calc : cursor +Oracle Open Office Calc : cursor;allowing in protected areas (Writer) +Oracle Open Office Calc : cursor;in read-only text +Oracle Open Office Calc : cursor;quickly moving to an object +Oracle Open Office Calc : curves +Oracle Open Office Calc : curves;editing points +Oracle Open Office Calc : curves;properties in line charts/XY charts +Oracle Open Office Calc : custom dictionaries +Oracle Open Office Calc : custom dictionaries;editing +Oracle Open Office Calc : custom hyphens (Writer) +Oracle Open Office Calc : custom quotes +Oracle Open Office Calc : custom templates +Oracle Open Office Calc : customized lists +Oracle Open Office Calc : customizing +Oracle Open Office Calc : customizing;events +Oracle Open Office Calc : customizing;keyboard +Oracle Open Office Calc : customizing;menus +Oracle Open Office Calc : customizing;Oracle Open Office +Oracle Open Office Calc : customizing;round corners +Oracle Open Office Calc : customizing;toolbars +Oracle Open Office Calc : cutting +Oracle Open Office Calc : dashes +Oracle Open Office Calc : data +Oracle Open Office Calc : data;filtering in forms +Oracle Open Office Calc : data;forms and subforms +Oracle Open Office Calc : data;inserting in multiple sheets +Oracle Open Office Calc : data;merging cell ranges +Oracle Open Office Calc : data;read-only +Oracle Open Office Calc : data;showing invalid data +Oracle Open Office Calc : data;sorting in databases +Oracle Open Office Calc : data;sorting in forms +Oracle Open Office Calc : data;user data +Oracle Open Office Calc : data;validity check +Oracle Open Office Calc : data binding change in XForms +Oracle Open Office Calc : data field options for Data Pilot +Oracle Open Office Calc : data labels in charts +Oracle Open Office Calc : Data Navigator +Oracle Open Office Calc : Data Navigator;adding/editing items +Oracle Open Office Calc : Data Navigator;display options +Oracle Open Office Calc : data ranges in charts +Oracle Open Office Calc : data series +Oracle Open Office Calc : data series import +Oracle Open Office Calc : data source browser +Oracle Open Office Calc : data source explorer +Oracle Open Office Calc : data source view +Oracle Open Office Calc : data source view;drag and drop +Oracle Open Office Calc : data source view;overview +Oracle Open Office Calc : data source view;showing +Oracle Open Office Calc : data sources +Oracle Open Office Calc : data sources;as tables +Oracle Open Office Calc : data sources;connection settings (Base) +Oracle Open Office Calc : data sources;copying records to spreadsheets +Oracle Open Office Calc : data sources;displaying current +Oracle Open Office Calc : data sources;external data +Oracle Open Office Calc : data sources;LDAP server (Base) +Oracle Open Office Calc : data sources;Oracle Open Office Base +Oracle Open Office Calc : data sources;registering address books +Oracle Open Office Calc : data sources;reports +Oracle Open Office Calc : data sources;setting for stock charts +Oracle Open Office Calc : data sources;viewing +Oracle Open Office Calc : data structure of XForms +Oracle Open Office Calc : data tables +Oracle Open Office Calc : data tables;multiple operations in +Oracle Open Office Calc : data validity +Oracle Open Office Calc : data values in charts +Oracle Open Office Calc : data, see also values +Oracle Open Office Calc : database contents +Oracle Open Office Calc : database contents;inserting as tables +Oracle Open Office Calc : database contents;inserting as text +Oracle Open Office Calc : database ranges +Oracle Open Office Calc : database ranges;advanced filters +Oracle Open Office Calc : database ranges;applying/removing filters +Oracle Open Office Calc : database ranges;AutoFilter function +Oracle Open Office Calc : database ranges;defining +Oracle Open Office Calc : database ranges;hiding AutoFilter +Oracle Open Office Calc : database ranges;refreshing +Oracle Open Office Calc : database ranges;sorting +Oracle Open Office Calc : database reports +Oracle Open Office Calc : Database Wizard (Base) +Oracle Open Office Calc : databases +Oracle Open Office Calc : databases;administration through SQL (Base) +Oracle Open Office Calc : databases;ADO (Base) +Oracle Open Office Calc : databases;connecting (Base) +Oracle Open Office Calc : databases;creating +Oracle Open Office Calc : databases;creating labels +Oracle Open Office Calc : databases;creating queries +Oracle Open Office Calc : databases;creating reports +Oracle Open Office Calc : databases;creating tables +Oracle Open Office Calc : databases;deleting (Base) +Oracle Open Office Calc : databases;drag and drop (Base) +Oracle Open Office Calc : databases;editing tables +Oracle Open Office Calc : databases;form filters +Oracle Open Office Calc : databases;formats (Base) +Oracle Open Office Calc : databases;functions in Oracle Open Office Calc +Oracle Open Office Calc : databases;importing/exporting +Oracle Open Office Calc : databases;JDBC (Base) +Oracle Open Office Calc : databases;main page (Base) +Oracle Open Office Calc : databases;ODBC (Base) +Oracle Open Office Calc : databases;overview +Oracle Open Office Calc : databases;registering (Base) +Oracle Open Office Calc : databases;searching records +Oracle Open Office Calc : databases;selecting (Calc) +Oracle Open Office Calc : databases;shortcut keys +Oracle Open Office Calc : databases;sorting +Oracle Open Office Calc : databases;standard filters +Oracle Open Office Calc : databases;text formats +Oracle Open Office Calc : databases;viewing +Oracle Open Office Calc : DataPilot function +Oracle Open Office Calc : DataPilot function;calling up and applying +Oracle Open Office Calc : DataPilot function;deleting tables +Oracle Open Office Calc : DataPilot function;drill down +Oracle Open Office Calc : DataPilot function;editing tables +Oracle Open Office Calc : DataPilot function;filtering tables +Oracle Open Office Calc : DataPilot function;grouping table entries +Oracle Open Office Calc : DataPilot function;introduction +Oracle Open Office Calc : DataPilot function;preventing data overwriting +Oracle Open Office Calc : DataPilot function;refreshing tables +Oracle Open Office Calc : DataPilot function;show details +Oracle Open Office Calc : DataPilot tables +Oracle Open Office Calc : date and time functions +Oracle Open Office Calc : date fields +Oracle Open Office Calc : date fields;creating +Oracle Open Office Calc : date fields;properties +Oracle Open Office Calc : date formats +Oracle Open Office Calc : date formats;avoiding conversion to +Oracle Open Office Calc : date formats;conversion +Oracle Open Office Calc : date formats +Oracle Open Office Calc : DATE function +Oracle Open Office Calc : date series +Oracle Open Office Calc : dates +Oracle Open Office Calc : dates;19xx/20xx +Oracle Open Office Calc : dates;default (Calc) +Oracle Open Office Calc : dates;in cells +Oracle Open Office Calc : dates;interest date prior to settlement date +Oracle Open Office Calc : dates;printing in presentations +Oracle Open Office Calc : dates;start 1900/01/01 (Calc) +Oracle Open Office Calc : dates;start 1904/01/01 (Calc) +Oracle Open Office Calc : dates;updating automatically +Oracle Open Office Calc : DATEVALUE function +Oracle Open Office Calc : DAVERAGE function +Oracle Open Office Calc : DAY function +Oracle Open Office Calc : DAYS function +Oracle Open Office Calc : DAYS360 function +Oracle Open Office Calc : DAYSINMONTH function +Oracle Open Office Calc : DAYSINYEAR function +Oracle Open Office Calc : DB function +Oracle Open Office Calc : dBASE +Oracle Open Office Calc : dBASE;database settings (Base) +Oracle Open Office Calc : dBASE import/export +Oracle Open Office Calc : DCOUNT function +Oracle Open Office Calc : DCOUNTA function +Oracle Open Office Calc : DDB function +Oracle Open Office Calc : DDE +Oracle Open Office Calc : DDE;definition +Oracle Open Office Calc : DDE function +Oracle Open Office Calc : deactivating +Oracle Open Office Calc : deactivating;automatic changes +Oracle Open Office Calc : deactivating;plug-ins +Oracle Open Office Calc : DEC2BIN function +Oracle Open Office Calc : DEC2HEX function +Oracle Open Office Calc : DEC2OCT function +Oracle Open Office Calc : DECIMAL function +Oracle Open Office Calc : decimal places +Oracle Open Office Calc : decimal places;adding/deleting +Oracle Open Office Calc : decimal places;cutting off +Oracle Open Office Calc : decimal places;formatting numbers +Oracle Open Office Calc : decimal places;showing +Oracle Open Office Calc : decimal places displayed (Calc) +Oracle Open Office Calc : decimal separator key +Oracle Open Office Calc : decimal system +Oracle Open Office Calc : decimal system;converting to +Oracle Open Office Calc : decimal tab stops +Oracle Open Office Calc : default directories +Oracle Open Office Calc : default filters +Oracle Open Office Calc : default filters;comparison operators +Oracle Open Office Calc : default filters;databases +Oracle Open Office Calc : default printer +Oracle Open Office Calc : default printer;setting up +Oracle Open Office Calc : default printer;UNIX +Oracle Open Office Calc : default templates +Oracle Open Office Calc : default templates;changing +Oracle Open Office Calc : default templates;organizing +Oracle Open Office Calc : defaults +Oracle Open Office Calc : defaults;currency formats +Oracle Open Office Calc : defaults;documents +Oracle Open Office Calc : defaults;file formats in file dialogs +Oracle Open Office Calc : defaults;file formats in Oracle Open Office +Oracle Open Office Calc : defaults;fonts +Oracle Open Office Calc : defaults;grids (Writer/Calc) +Oracle Open Office Calc : defaults;languages +Oracle Open Office Calc : defaults;number formats +Oracle Open Office Calc : defaults;number formats in spreadsheets +Oracle Open Office Calc : defaults;of saving +Oracle Open Office Calc : defaults;program configuration +Oracle Open Office Calc : defaults;tab stops in text +Oracle Open Office Calc : defaults;views +Oracle Open Office Calc : defining +Oracle Open Office Calc : defining;advanced filters +Oracle Open Office Calc : defining;arrowheads and other line ends +Oracle Open Office Calc : defining;AutoFormat function for tables +Oracle Open Office Calc : defining;colors +Oracle Open Office Calc : defining;database ranges +Oracle Open Office Calc : defining;line styles +Oracle Open Office Calc : defining;names for cell ranges +Oracle Open Office Calc : defining;paragraph borders +Oracle Open Office Calc : defining;print ranges +Oracle Open Office Calc : defining;queries (Base) +Oracle Open Office Calc : defining;sort lists +Oracle Open Office Calc : defining;table borders +Oracle Open Office Calc : DEGREES function +Oracle Open Office Calc : deleting +Oracle Open Office Calc : deleting;all direct formatting +Oracle Open Office Calc : deleting;cell contents +Oracle Open Office Calc : deleting;cells/rows/columns +Oracle Open Office Calc : deleting;comments +Oracle Open Office Calc : deleting;databases (Base) +Oracle Open Office Calc : deleting;DataPilot tables +Oracle Open Office Calc : deleting;decimal places +Oracle Open Office Calc : deleting;hyperlinks +Oracle Open Office Calc : deleting;lines in text +Oracle Open Office Calc : deleting;manual column breaks +Oracle Open Office Calc : deleting;manual row breaks +Oracle Open Office Calc : deleting;models/instances +Oracle Open Office Calc : deleting;namespaces in XForms +Oracle Open Office Calc : deleting;print ranges +Oracle Open Office Calc : deleting;spreadsheets +Oracle Open Office Calc : deleting;tab stops +Oracle Open Office Calc : deleting;templates +Oracle Open Office Calc : deleting;visible cells only +Oracle Open Office Calc : deleting;XML filters +Oracle Open Office Calc : delimited values and files +Oracle Open Office Calc : DELTA function +Oracle Open Office Calc : density function +Oracle Open Office Calc : depreciations +Oracle Open Office Calc : depreciations;arithmetic declining +Oracle Open Office Calc : depreciations;arithmetic-degressive +Oracle Open Office Calc : depreciations;degressive amortizations +Oracle Open Office Calc : depreciations;geometric-degressive +Oracle Open Office Calc : depreciations;linear +Oracle Open Office Calc : depreciations;linear amortizations +Oracle Open Office Calc : depreciations;variable declining +Oracle Open Office Calc : depth stagger +Oracle Open Office Calc : descriptions for objects +Oracle Open Office Calc : design mode after saving +Oracle Open Office Calc : design view +Oracle Open Office Calc : design view;creating forms +Oracle Open Office Calc : design view;queries/views (Base) +Oracle Open Office Calc : designing +Oracle Open Office Calc : designing;database tables +Oracle Open Office Calc : designing;fonts +Oracle Open Office Calc : designing;queries (Base) +Oracle Open Office Calc : detaching toolbars +Oracle Open Office Calc : determinants +Oracle Open Office Calc : determination coefficients +Oracle Open Office Calc : DEVSQ function +Oracle Open Office Calc : DGET function +Oracle Open Office Calc : dictionaries +Oracle Open Office Calc : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Calc : dictionaries;creating +Oracle Open Office Calc : dictionaries;editing user-defined +Oracle Open Office Calc : dictionaries;spellcheck +Oracle Open Office Calc : dictionaries, see also languages +Oracle Open Office Calc : digital signatures +Oracle Open Office Calc : digital signatures;getting/managing/applying +Oracle Open Office Calc : digital signatures;overview +Oracle Open Office Calc : digital signatures;WebDAV over HTTPS +Oracle Open Office Calc : direct formatting +Oracle Open Office Calc : direct formatting;undoing all +Oracle Open Office Calc : directories +Oracle Open Office Calc : directories;creating new +Oracle Open Office Calc : directories;directory structure +Oracle Open Office Calc : disabled persons +Oracle Open Office Calc : DISC function +Oracle Open Office Calc : discounts +Oracle Open Office Calc : display options in Data Pilot +Oracle Open Office Calc : displaying +Oracle Open Office Calc : displaying;comments (Calc) +Oracle Open Office Calc : displaying;comments in text documents +Oracle Open Office Calc : displaying;formulas at any position +Oracle Open Office Calc : displaying;formulas instead of results +Oracle Open Office Calc : displaying;headers of columns/rows +Oracle Open Office Calc : displaying;non-printing characters (Writer) +Oracle Open Office Calc : displaying;pictures and objects (Writer) +Oracle Open Office Calc : displaying;scenario names +Oracle Open Office Calc : displaying;sheets +Oracle Open Office Calc : displaying;tables (Writer) +Oracle Open Office Calc : displaying;zero values (Calc) +Oracle Open Office Calc : distances +Oracle Open Office Calc : distinct values in SQL queries +Oracle Open Office Calc : distorting in drawings +Oracle Open Office Calc : distributing XML filters +Oracle Open Office Calc : division sign, see also operators +Oracle Open Office Calc : divisions +Oracle Open Office Calc : DMAX function +Oracle Open Office Calc : DMIN function +Oracle Open Office Calc : docking +Oracle Open Office Calc : docking;definition +Oracle Open Office Calc : docking;toolbars +Oracle Open Office Calc : docking;windows +Oracle Open Office Calc : Document Converter Wizard +Oracle Open Office Calc : Document Map, see Navigator +Oracle Open Office Calc : document types in Oracle Open Office +Oracle Open Office Calc : documents +Oracle Open Office Calc : documents;changing titles +Oracle Open Office Calc : documents;closing +Oracle Open Office Calc : documents;comparing +Oracle Open Office Calc : documents;contents as lists +Oracle Open Office Calc : documents;editing time +Oracle Open Office Calc : documents;exporting +Oracle Open Office Calc : documents;importing +Oracle Open Office Calc : documents;languages +Oracle Open Office Calc : documents;measurement units in +Oracle Open Office Calc : documents;merging +Oracle Open Office Calc : documents;number of pages/tables/sheets +Oracle Open Office Calc : documents;opening +Oracle Open Office Calc : documents;opening in design mode +Oracle Open Office Calc : documents;opening with templates +Oracle Open Office Calc : documents;organizing +Oracle Open Office Calc : documents;printing +Oracle Open Office Calc : documents;protecting +Oracle Open Office Calc : documents;read-only +Oracle Open Office Calc : documents;references +Oracle Open Office Calc : documents;reloading +Oracle Open Office Calc : documents;saving +Oracle Open Office Calc : documents;saving automatically +Oracle Open Office Calc : documents;saving in other formats +Oracle Open Office Calc : documents;sending as e-mail +Oracle Open Office Calc : documents;styles changed +Oracle Open Office Calc : documents;version management +Oracle Open Office Calc : documents;version numbers +Oracle Open Office Calc : DOLLAR function +Oracle Open Office Calc : DOLLARDE function +Oracle Open Office Calc : DOLLARFR function +Oracle Open Office Calc : donut charts +Oracle Open Office Calc : dot products +Oracle Open Office Calc : dotted areas +Oracle Open Office Calc : double-line spacing in paragraphs +Oracle Open Office Calc : double-line writing in Asian layout +Oracle Open Office Calc : DPRODUCT function +Oracle Open Office Calc : drag and drop +Oracle Open Office Calc : drag and drop;copying and pasting text +Oracle Open Office Calc : drag and drop;data source view +Oracle Open Office Calc : drag and drop;from Gallery to draw objects +Oracle Open Office Calc : drag and drop;moving cells +Oracle Open Office Calc : drag and drop;overview +Oracle Open Office Calc : drag and drop;pictures +Oracle Open Office Calc : drag and drop;referencing cells +Oracle Open Office Calc : drag and drop;to Gallery +Oracle Open Office Calc : draw objects +Oracle Open Office Calc : draw objects;adding/editing/copying +Oracle Open Office Calc : draw objects;anchoring +Oracle Open Office Calc : draw objects;arranging within stacks +Oracle Open Office Calc : draw objects;copying between documents +Oracle Open Office Calc : draw objects;displaying (Calc) +Oracle Open Office Calc : draw objects;dropping Gallery pictures +Oracle Open Office Calc : draw objects;flipping +Oracle Open Office Calc : draw objects;legends +Oracle Open Office Calc : draw objects;positioning and resizing +Oracle Open Office Calc : draw objects;printing +Oracle Open Office Calc : draw objects;protecting +Oracle Open Office Calc : draw objects;slanting +Oracle Open Office Calc : draw objects;text in +Oracle Open Office Calc : Drawing bar +Oracle Open Office Calc : drawing lines in text +Oracle Open Office Calc : drawings +Oracle Open Office Calc : drawings;creating/opening +Oracle Open Office Calc : drawings;languages +Oracle Open Office Calc : drawings;printing +Oracle Open Office Calc : drawings;printing defaults +Oracle Open Office Calc : drawings;printing in text documents +Oracle Open Office Calc : drawings;saving +Oracle Open Office Calc : drawings;saving automatically +Oracle Open Office Calc : drawings;saving in other formats +Oracle Open Office Calc : drawings;sending as e-mail +Oracle Open Office Calc : drawings;showing (Writer) +Oracle Open Office Calc : drawings, see also draw objects +Oracle Open Office Calc : drop-down lists in form functions +Oracle Open Office Calc : drop-down menus in sheet columns +Oracle Open Office Calc : DSTDEV function +Oracle Open Office Calc : DSTDEVP function +Oracle Open Office Calc : DSUM function +Oracle Open Office Calc : DURATION function +Oracle Open Office Calc : DURATION_ADD function +Oracle Open Office Calc : durations +Oracle Open Office Calc : durations;calculating +Oracle Open Office Calc : durations;first interest payment until settlement date +Oracle Open Office Calc : durations;fixed interest securities +Oracle Open Office Calc : DVAR function +Oracle Open Office Calc : DVARP function +Oracle Open Office Calc : e-mail attachments +Oracle Open Office Calc : EASTERSUNDAY function +Oracle Open Office Calc : EDATE function +Oracle Open Office Calc : Edit File icon +Oracle Open Office Calc : edit mode +Oracle Open Office Calc : edit mode;after opening +Oracle Open Office Calc : edit mode;through Enter key (Calc) +Oracle Open Office Calc : Edit Points bar +Oracle Open Office Calc : editing +Oracle Open Office Calc : editing;array formulas +Oracle Open Office Calc : editing;chart axes +Oracle Open Office Calc : editing;chart data +Oracle Open Office Calc : editing;chart legends +Oracle Open Office Calc : editing;chart titles +Oracle Open Office Calc : editing;comments +Oracle Open Office Calc : editing;data binding of XForms +Oracle Open Office Calc : editing;database tables and queries +Oracle Open Office Calc : editing;DataPilot tables +Oracle Open Office Calc : editing;draw objects +Oracle Open Office Calc : editing;Fontwork objects +Oracle Open Office Calc : editing;hyperlinks +Oracle Open Office Calc : editing;menus +Oracle Open Office Calc : editing;objects +Oracle Open Office Calc : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Calc : editing;pictures +Oracle Open Office Calc : editing;print ranges +Oracle Open Office Calc : editing;reports +Oracle Open Office Calc : editing;shortcut keys +Oracle Open Office Calc : editing;tab stops +Oracle Open Office Calc : editing;templates +Oracle Open Office Calc : editing;titles +Oracle Open Office Calc : editing;toolbars +Oracle Open Office Calc : editing;undoing +Oracle Open Office Calc : editing;XForms +Oracle Open Office Calc : editing time of documents +Oracle Open Office Calc : editors +Oracle Open Office Calc : editors;formula editor +Oracle Open Office Calc : editors;ImageMap editor +Oracle Open Office Calc : EFFECT_ADD function +Oracle Open Office Calc : EFFECTIVE function +Oracle Open Office Calc : effective interest rates +Oracle Open Office Calc : effects +Oracle Open Office Calc : effects;font positions +Oracle Open Office Calc : effects;fonts +Oracle Open Office Calc : effects;Fontwork icons +Oracle Open Office Calc : empty cells +Oracle Open Office Calc : empty cells;counting +Oracle Open Office Calc : empty cells;handling of +Oracle Open Office Calc : empty cells;recognizing +Oracle Open Office Calc : empty documents +Oracle Open Office Calc : empty paragraph removal +Oracle Open Office Calc : encrypting text +Oracle Open Office Calc : encryption of contents +Oracle Open Office Calc : entering entries with AutoInput function +Oracle Open Office Calc : entering groups +Oracle Open Office Calc : entering text from right to left +Oracle Open Office Calc : EOMONTH function +Oracle Open Office Calc : equal sign, see also operators +Oracle Open Office Calc : equations in formula editor +Oracle Open Office Calc : equations in goal seek +Oracle Open Office Calc : ERF function +Oracle Open Office Calc : ERFC function +Oracle Open Office Calc : error bars in charts +Oracle Open Office Calc : error codes +Oracle Open Office Calc : error codes;controlling +Oracle Open Office Calc : error codes;list of +Oracle Open Office Calc : error indicators in charts +Oracle Open Office Calc : error messages +Oracle Open Office Calc : error messages;defining for incorrect input +Oracle Open Office Calc : error messages;invalid references +Oracle Open Office Calc : Error Report Tool +Oracle Open Office Calc : error tracing +Oracle Open Office Calc : ERRORTYPE function +Oracle Open Office Calc : Euro +Oracle Open Office Calc : Euro;converting +Oracle Open Office Calc : Euro;currency formats +Oracle Open Office Calc : Euro;Euro Converter Wizard +Oracle Open Office Calc : EUROCONVERT function +Oracle Open Office Calc : EVEN function +Oracle Open Office Calc : even integers +Oracle Open Office Calc : even/odd pages +Oracle Open Office Calc : even/odd pages;printing +Oracle Open Office Calc : events +Oracle Open Office Calc : events;assigning scripts +Oracle Open Office Calc : events;controls +Oracle Open Office Calc : events;customizing +Oracle Open Office Calc : events;in forms +Oracle Open Office Calc : EXACT function +Oracle Open Office Calc : exact numbers in Oracle Open Office Calc +Oracle Open Office Calc : examples +Oracle Open Office Calc : examples;formula calculation +Oracle Open Office Calc : examples;goal seek +Oracle Open Office Calc : Excel +Oracle Open Office Calc : Excel;saving as +Oracle Open Office Calc : Excel;search criteria +Oracle Open Office Calc : exceptions +Oracle Open Office Calc : exceptions;user-defined dictionaries +Oracle Open Office Calc : exchanging, see also replacing +Oracle Open Office Calc : executing SQL commands +Oracle Open Office Calc : exiting +Oracle Open Office Calc : exiting;groups +Oracle Open Office Calc : exiting;Oracle Open Office +Oracle Open Office Calc : EXP function +Oracle Open Office Calc : expanding formatting (Calc) +Oracle Open Office Calc : explorer of data sources +Oracle Open Office Calc : EXPONDIST function +Oracle Open Office Calc : exponential distributions +Oracle Open Office Calc : exponential trends in arrays +Oracle Open Office Calc : export filters +Oracle Open Office Calc : exporting +Oracle Open Office Calc : exporting;bitmaps +Oracle Open Office Calc : exporting;cells +Oracle Open Office Calc : exporting;formulas as csv files +Oracle Open Office Calc : exporting;HTML and text documents +Oracle Open Office Calc : exporting;Microsoft Office documents with VBA code +Oracle Open Office Calc : exporting;spreadsheets to dBASE +Oracle Open Office Calc : exporting;spreadsheets to text format +Oracle Open Office Calc : exporting;tables as text +Oracle Open Office Calc : exporting;templates +Oracle Open Office Calc : exporting;to foreign formats +Oracle Open Office Calc : exporting;to HTML +Oracle Open Office Calc : exporting;to Microsoft Office formats +Oracle Open Office Calc : exporting;to PDF +Oracle Open Office Calc : exporting;to PostScript format +Oracle Open Office Calc : exporting;to XML +Oracle Open Office Calc : exporting;XML files +Oracle Open Office Calc : extended tips in Help +Oracle Open Office Calc : extending print ranges +Oracle Open Office Calc : extension mode in text +Oracle Open Office Calc : extensions +Oracle Open Office Calc : extensions;Extension Manager +Oracle Open Office Calc : extensions;file formats +Oracle Open Office Calc : external data +Oracle Open Office Calc : external data;inserting +Oracle Open Office Calc : external DLL functions +Oracle Open Office Calc : external keys (Base) +Oracle Open Office Calc : extrapolations +Oracle Open Office Calc : FACT function +Oracle Open Office Calc : FACTDOUBLE function +Oracle Open Office Calc : factorials +Oracle Open Office Calc : factorials;numbers +Oracle Open Office Calc : factorials;numbers with increments of two +Oracle Open Office Calc : FALSE function +Oracle Open Office Calc : faster printing +Oracle Open Office Calc : faxes +Oracle Open Office Calc : faxes;configuring Oracle Open Office +Oracle Open Office Calc : faxes;fax programs/fax printers under UNIX +Oracle Open Office Calc : faxes;selecting a fax machine +Oracle Open Office Calc : faxes;sending +Oracle Open Office Calc : faxes;wizards +Oracle Open Office Calc : FDIST function +Oracle Open Office Calc : feedback +Oracle Open Office Calc : feedback;automatically +Oracle Open Office Calc : fields +Oracle Open Office Calc : fields;database tables +Oracle Open Office Calc : fields;displaying field codes (Writer) +Oracle Open Office Calc : fields;formatted fields +Oracle Open Office Calc : fields;updating automatically (Writer) +Oracle Open Office Calc : file associations for Microsoft Office +Oracle Open Office Calc : file filters +Oracle Open Office Calc : file filters;mobile devices +Oracle Open Office Calc : file filters;XML +Oracle Open Office Calc : file formats +Oracle Open Office Calc : file formats;changing Oracle Open Office defaults +Oracle Open Office Calc : file formats;OpenDocument/XML +Oracle Open Office Calc : file formats;saving always in other formats +Oracle Open Office Calc : file names in headers/footers +Oracle Open Office Calc : file selection button +Oracle Open Office Calc : file sharing options for current document +Oracle Open Office Calc : files +Oracle Open Office Calc : files;filters and formats +Oracle Open Office Calc : files;importing +Oracle Open Office Calc : files;opening +Oracle Open Office Calc : files;properties +Oracle Open Office Calc : files;saving +Oracle Open Office Calc : files;saving automatically +Oracle Open Office Calc : files;saving in other formats +Oracle Open Office Calc : files;sending as e-mail +Oracle Open Office Calc : files;version numbers +Oracle Open Office Calc : files and folders in Oracle Open Office +Oracle Open Office Calc : fill characters with tabulators +Oracle Open Office Calc : fill colors for areas +Oracle Open Office Calc : fill patterns for areas +Oracle Open Office Calc : filling +Oracle Open Office Calc : filling;cells, automatically +Oracle Open Office Calc : filling;customized lists +Oracle Open Office Calc : filling;selection lists +Oracle Open Office Calc : filter conditions +Oracle Open Office Calc : filter conditions;connecting +Oracle Open Office Calc : filter conditions;in queries (Base) +Oracle Open Office Calc : filtered data +Oracle Open Office Calc : filtered data;sums +Oracle Open Office Calc : filtering +Oracle Open Office Calc : filtering;cell ranges/database ranges +Oracle Open Office Calc : filtering;data in databases +Oracle Open Office Calc : filtering;data in forms +Oracle Open Office Calc : filtering;DataPilot tables +Oracle Open Office Calc : filters +Oracle Open Office Calc : filters;applying/removing +Oracle Open Office Calc : filters;comparison operators +Oracle Open Office Calc : filters;copying visible cells only +Oracle Open Office Calc : filters;defining advanced filters +Oracle Open Office Calc : filters;for import and export +Oracle Open Office Calc : filters;Navigator +Oracle Open Office Calc : filters;pictures +Oracle Open Office Calc : filters;XML filter settings +Oracle Open Office Calc : filters, see also AutoFilter function +Oracle Open Office Calc : financial functions +Oracle Open Office Calc : FIND function +Oracle Open Office Calc : Find tab in Help +Oracle Open Office Calc : finding +Oracle Open Office Calc : finding;formulas/values/text/objects +Oracle Open Office Calc : finding;in all sheets +Oracle Open Office Calc : finding;records in form documents +Oracle Open Office Calc : finding;selections +Oracle Open Office Calc : finding;similarity search +Oracle Open Office Calc : FINV function +Oracle Open Office Calc : FISHER function +Oracle Open Office Calc : FISHERINV function +Oracle Open Office Calc : fitting to pages +Oracle Open Office Calc : fitting to pages;print settings in Math +Oracle Open Office Calc : fitting to pages;print settings in presentations +Oracle Open Office Calc : FIXED function +Oracle Open Office Calc : fixed text +Oracle Open Office Calc : fixed text;form functions +Oracle Open Office Calc : fixing toolbars +Oracle Open Office Calc : flipping draw objects +Oracle Open Office Calc : floating frames in HTML documents +Oracle Open Office Calc : floating toolbars +Oracle Open Office Calc : FLOOR function +Oracle Open Office Calc : focus of controls +Oracle Open Office Calc : folder creation +Oracle Open Office Calc : font lists +Oracle Open Office Calc : font name box +Oracle Open Office Calc : font sizes +Oracle Open Office Calc : font sizes;bullets +Oracle Open Office Calc : font sizes;relative changes +Oracle Open Office Calc : font sizes;scaling on screen +Oracle Open Office Calc : font sizes;text +Oracle Open Office Calc : fonts +Oracle Open Office Calc : fonts;adding under UNIX +Oracle Open Office Calc : fonts;changing in templates +Oracle Open Office Calc : fonts;colors +Oracle Open Office Calc : fonts;default settings +Oracle Open Office Calc : fonts;effects +Oracle Open Office Calc : fonts;for HTML and Basic +Oracle Open Office Calc : fonts;formats +Oracle Open Office Calc : fonts;outlines +Oracle Open Office Calc : fonts;positions in text +Oracle Open Office Calc : fonts;shadows +Oracle Open Office Calc : fonts;specifying several +Oracle Open Office Calc : fonts;strikethrough +Oracle Open Office Calc : fonts;styles +Oracle Open Office Calc : fonts;text objects +Oracle Open Office Calc : Fontwork icons +Oracle Open Office Calc : footers +Oracle Open Office Calc : footers;backgrounds +Oracle Open Office Calc : footers;defining +Oracle Open Office Calc : footers;printing on sheets +Oracle Open Office Calc : forced array handling +Oracle Open Office Calc : FORECAST function +Oracle Open Office Calc : form controls +Oracle Open Office Calc : form controls;assigning macros +Oracle Open Office Calc : form controls;protecting +Oracle Open Office Calc : form controls;toolbars +Oracle Open Office Calc : form fields +Oracle Open Office Calc : form filters +Oracle Open Office Calc : Form Navigator +Oracle Open Office Calc : format codes +Oracle Open Office Calc : format codes;numbers +Oracle Open Office Calc : format codes;user-defined number formats +Oracle Open Office Calc : format filling printing in Oracle Open Office Math +Oracle Open Office Calc : Format Paintbrush +Oracle Open Office Calc : formats +Oracle Open Office Calc : formats;Asian layout +Oracle Open Office Calc : formats;assigning by formulas +Oracle Open Office Calc : formats;automatically formatting spreadsheets +Oracle Open Office Calc : formats;changing text/number +Oracle Open Office Calc : formats;currency formats in cells +Oracle Open Office Calc : formats;fonts +Oracle Open Office Calc : formats;maximizing page formats +Oracle Open Office Calc : formats;number and currency formats +Oracle Open Office Calc : formats;numbers as text +Oracle Open Office Calc : formats;numbers in tables +Oracle Open Office Calc : formats;of currencies/date/time +Oracle Open Office Calc : formats;on opening and saving +Oracle Open Office Calc : formats;pasting in special formats +Oracle Open Office Calc : formats;positions +Oracle Open Office Calc : formats;Styles and Formatting window +Oracle Open Office Calc : formats;tabulators +Oracle Open Office Calc : formats;text as numbers +Oracle Open Office Calc : formats;themes for sheets +Oracle Open Office Calc : formatted fields +Oracle Open Office Calc : formatted fields;form functions +Oracle Open Office Calc : formatted fields;properties +Oracle Open Office Calc : formatting +Oracle Open Office Calc : formatting;adding/deleting decimal places +Oracle Open Office Calc : formatting;Asian typography +Oracle Open Office Calc : formatting;axes in charts +Oracle Open Office Calc : formatting;cells +Oracle Open Office Calc : formatting;chart areas +Oracle Open Office Calc : formatting;chart floors +Oracle Open Office Calc : formatting;chart legends +Oracle Open Office Calc : formatting;chart titles +Oracle Open Office Calc : formatting;chart walls +Oracle Open Office Calc : formatting;comments on cells +Oracle Open Office Calc : formatting;conditional formatting +Oracle Open Office Calc : formatting;copying +Oracle Open Office Calc : formatting;definition +Oracle Open Office Calc : formatting;expanding (Calc) +Oracle Open Office Calc : formatting;font effects +Oracle Open Office Calc : formatting;hyperlinks +Oracle Open Office Calc : formatting;multiple cell texts +Oracle Open Office Calc : formatting;numbers as text +Oracle Open Office Calc : formatting;numbers with decimals +Oracle Open Office Calc : formatting;pages +Oracle Open Office Calc : formatting;printer metrics (Writer) +Oracle Open Office Calc : formatting;spreadsheets +Oracle Open Office Calc : formatting;Styles and Formatting window +Oracle Open Office Calc : formatting;themes for sheets +Oracle Open Office Calc : formatting;undoing +Oracle Open Office Calc : formatting;undoing when writing +Oracle Open Office Calc : formatting;user-defined numbers +Oracle Open Office Calc : formatting;visible cells only +Oracle Open Office Calc : forms +Oracle Open Office Calc : forms;browsing +Oracle Open Office Calc : forms;Combo Box/List Box Wizard +Oracle Open Office Calc : forms;creating +Oracle Open Office Calc : forms;data +Oracle Open Office Calc : forms;designing (Base) +Oracle Open Office Calc : forms;events +Oracle Open Office Calc : forms;filtering data +Oracle Open Office Calc : forms;finding records +Oracle Open Office Calc : forms;focus after opening +Oracle Open Office Calc : forms;general information (Base) +Oracle Open Office Calc : forms;grouping controls +Oracle Open Office Calc : forms;HTML filters +Oracle Open Office Calc : forms;Navigator +Oracle Open Office Calc : forms;opening in design mode +Oracle Open Office Calc : forms;properties +Oracle Open Office Calc : forms;sorting data +Oracle Open Office Calc : forms;subforms +Oracle Open Office Calc : forms;wizards +Oracle Open Office Calc : forms;XForms +Oracle Open Office Calc : formula bar +Oracle Open Office Calc : formula bar;accepting inputs +Oracle Open Office Calc : formula bar;canceling inputs +Oracle Open Office Calc : formula bar;functions +Oracle Open Office Calc : formula bar;input line +Oracle Open Office Calc : formula bar;sheet area names +Oracle Open Office Calc : formula bar;spreadsheets +Oracle Open Office Calc : formula bar;sum function +Oracle Open Office Calc : formula cells +Oracle Open Office Calc : formula cells;displaying formulas in other cells +Oracle Open Office Calc : formula cells;recognizing +Oracle Open Office Calc : formula cells;removing precedents +Oracle Open Office Calc : formula cells;tracing precedents +Oracle Open Office Calc : FORMULA function +Oracle Open Office Calc : formula list window +Oracle Open Office Calc : formula texts +Oracle Open Office Calc : formula texts;printing in Oracle Open Office Math +Oracle Open Office Calc : formulas +Oracle Open Office Calc : formulas;arrays +Oracle Open Office Calc : formulas;assigning cell formats +Oracle Open Office Calc : formulas;AutoCalculate function +Oracle Open Office Calc : formulas;calculating +Oracle Open Office Calc : formulas;calculating with +Oracle Open Office Calc : formulas;copying and pasting +Oracle Open Office Calc : formulas;defining names +Oracle Open Office Calc : formulas;displaying in cells +Oracle Open Office Calc : formulas;hiding +Oracle Open Office Calc : formulas;importing/exporting as csv files +Oracle Open Office Calc : formulas;inputting +Oracle Open Office Calc : formulas;matrix formulas +Oracle Open Office Calc : formulas;new +Oracle Open Office Calc : formulas;operators +Oracle Open Office Calc : formulas;printing, instead of results +Oracle Open Office Calc : formulas;recalculating manually +Oracle Open Office Calc : formulas;starting formula editor +Oracle Open Office Calc : formulas;status bar +Oracle Open Office Calc : formulas;using row/column labels +Oracle Open Office Calc : formulas in reports +Oracle Open Office Calc : formulas in reports;editing +Oracle Open Office Calc : forums and support +Oracle Open Office Calc : fractions +Oracle Open Office Calc : fractions;converting +Oracle Open Office Calc : fractions;entering +Oracle Open Office Calc : frames +Oracle Open Office Calc : frames;around paragraphs +Oracle Open Office Calc : frames;around tables +Oracle Open Office Calc : frames;AutoCorrect function +Oracle Open Office Calc : frames;backgrounds +Oracle Open Office Calc : frames;captions (Writer) +Oracle Open Office Calc : frames;printing in Oracle Open Office Math +Oracle Open Office Calc : frames;protecting +Oracle Open Office Calc : frames;selection frames +Oracle Open Office Calc : frames;text fitting to frames +Oracle Open Office Calc : freeform lines +Oracle Open Office Calc : freeform lines;draw functions +Oracle Open Office Calc : freezing rows or columns +Oracle Open Office Calc : FREQUENCY function +Oracle Open Office Calc : FTEST function +Oracle Open Office Calc : FTP +Oracle Open Office Calc : FTP;opening documents +Oracle Open Office Calc : FTP;saving documents +Oracle Open Office Calc : full joins (Base) +Oracle Open Office Calc : full screen view +Oracle Open Office Calc : full-text search in Help +Oracle Open Office Calc : function list window +Oracle Open Office Calc : Function Wizard +Oracle Open Office Calc : Function Wizard;add-ins +Oracle Open Office Calc : Function Wizard;arrays +Oracle Open Office Calc : Function Wizard;databases +Oracle Open Office Calc : Function Wizard;date & time +Oracle Open Office Calc : Function Wizard;financial +Oracle Open Office Calc : Function Wizard;information +Oracle Open Office Calc : Function Wizard;logical +Oracle Open Office Calc : Function Wizard;mathematical +Oracle Open Office Calc : Function Wizard;spreadsheets +Oracle Open Office Calc : Function Wizard;statistics +Oracle Open Office Calc : Function Wizard;text +Oracle Open Office Calc : functions +Oracle Open Office Calc : functions;accepting input icon +Oracle Open Office Calc : functions;add-in functions +Oracle Open Office Calc : functions;array functions +Oracle Open Office Calc : functions;canceling input icon +Oracle Open Office Calc : functions;database functions +Oracle Open Office Calc : functions;date & time +Oracle Open Office Calc : functions;financial functions +Oracle Open Office Calc : functions;formula bar icon +Oracle Open Office Calc : functions;Function Wizard +Oracle Open Office Calc : functions;information functions +Oracle Open Office Calc : functions;listed by category +Oracle Open Office Calc : functions;logical functions +Oracle Open Office Calc : functions;mathematical functions +Oracle Open Office Calc : functions;Oracle Open Office Calc add-in DLL +Oracle Open Office Calc : functions;spreadsheets +Oracle Open Office Calc : functions;statistics functions +Oracle Open Office Calc : functions;sum function icon +Oracle Open Office Calc : functions;text functions +Oracle Open Office Calc : functions;user-defined +Oracle Open Office Calc : functions in reports +Oracle Open Office Calc : functions in reports;editing +Oracle Open Office Calc : future values +Oracle Open Office Calc : future values;constant interest rates +Oracle Open Office Calc : future values;varying interest rates +Oracle Open Office Calc : FV function +Oracle Open Office Calc : FVSCHEDULE function +Oracle Open Office Calc : Gallery +Oracle Open Office Calc : Gallery;adding pictures +Oracle Open Office Calc : Gallery;dragging pictures to draw objects +Oracle Open Office Calc : Gallery;hiding/showing +Oracle Open Office Calc : Gallery;inserting pictures from +Oracle Open Office Calc : GAMMA function +Oracle Open Office Calc : GAMMADIST function +Oracle Open Office Calc : GAMMAINV function +Oracle Open Office Calc : GAMMALN function +Oracle Open Office Calc : GAUSS function +Oracle Open Office Calc : Gaussian error integral +Oracle Open Office Calc : GCD function +Oracle Open Office Calc : GCD_ADD function +Oracle Open Office Calc : GEOMEAN function +Oracle Open Office Calc : geometric lists +Oracle Open Office Calc : geometric-degressive depreciations +Oracle Open Office Calc : GESTEP function +Oracle Open Office Calc : get method for form transmissions +Oracle Open Office Calc : GETPIVOTDATA function +Oracle Open Office Calc : getting support +Oracle Open Office Calc : GIF format +Oracle Open Office Calc : glossaries +Oracle Open Office Calc : glossaries;common terms +Oracle Open Office Calc : glossaries;Internet terms +Oracle Open Office Calc : goal seeking +Oracle Open Office Calc : goal seeking;example +Oracle Open Office Calc : goal seeking;solver +Oracle Open Office Calc : gradients off for faster printing +Oracle Open Office Calc : graphic objects, see draw objects +Oracle Open Office Calc : graphical text art +Oracle Open Office Calc : graphics +Oracle Open Office Calc : graphics;cache +Oracle Open Office Calc : graphics;protecting +Oracle Open Office Calc : graphics, see also pictures +Oracle Open Office Calc : grayscale printing +Oracle Open Office Calc : greatest common divisor +Oracle Open Office Calc : grid controls +Oracle Open Office Calc : grid controls;form functions +Oracle Open Office Calc : grids +Oracle Open Office Calc : grids;defaults (Writer/Calc) +Oracle Open Office Calc : grids;display options (Impress/Draw) +Oracle Open Office Calc : grids;displaying lines (Calc) +Oracle Open Office Calc : grids;formatting axes +Oracle Open Office Calc : grids;hiding lines in sheets +Oracle Open Office Calc : grids;inserting in charts +Oracle Open Office Calc : grids;printing sheet grids +Oracle Open Office Calc : group box creation +Oracle Open Office Calc : grouping +Oracle Open Office Calc : grouping;cells +Oracle Open Office Calc : grouping;DataPilot tables +Oracle Open Office Calc : groups +Oracle Open Office Calc : groups;entering/exiting/ungrouping +Oracle Open Office Calc : groups;naming +Oracle Open Office Calc : groups;of controls +Oracle Open Office Calc : GROWTH function +Oracle Open Office Calc : growth series +Oracle Open Office Calc : guides +Oracle Open Office Calc : guides;display options (Impress/Draw) +Oracle Open Office Calc : guides;displaying when moving objects (Impress) +Oracle Open Office Calc : guides;showing (Calc) +Oracle Open Office Calc : guides;showing when moving frames (Writer) +Oracle Open Office Calc : gutter +Oracle Open Office Calc : handles +Oracle Open Office Calc : handles;displaying (Writer) +Oracle Open Office Calc : handles;scaling +Oracle Open Office Calc : handles;showing simple/large handles (Calc) +Oracle Open Office Calc : Hangul/Hanja +Oracle Open Office Calc : HARMEAN function +Oracle Open Office Calc : hatching +Oracle Open Office Calc : headers +Oracle Open Office Calc : headers;backgrounds +Oracle Open Office Calc : headers;defining +Oracle Open Office Calc : headers;freezing during table split +Oracle Open Office Calc : headers;printing on sheets +Oracle Open Office Calc : headings +Oracle Open Office Calc : headings;entering as text box +Oracle Open Office Calc : headings;repeating rows/columns as +Oracle Open Office Calc : Hebrew +Oracle Open Office Calc : Hebrew;entering text +Oracle Open Office Calc : Hebrew;language settings +Oracle Open Office Calc : heights of cells +Oracle Open Office Calc : Help +Oracle Open Office Calc : Help;bookmarks +Oracle Open Office Calc : Help;extended tips on/off +Oracle Open Office Calc : Help;full-text search +Oracle Open Office Calc : Help;Help tips +Oracle Open Office Calc : Help;keywords +Oracle Open Office Calc : Help;navigation pane showing/hiding +Oracle Open Office Calc : Help;style sheets +Oracle Open Office Calc : Help;topics +Oracle Open Office Calc : Help Agent +Oracle Open Office Calc : Help Agent;help +Oracle Open Office Calc : Help Agent;options +Oracle Open Office Calc : Help tips +Oracle Open Office Calc : Help tips;defining text for cell input +Oracle Open Office Calc : Help tips;hiding +Oracle Open Office Calc : HEX2BIN function +Oracle Open Office Calc : HEX2DEC function +Oracle Open Office Calc : HEX2OCT function +Oracle Open Office Calc : hexadecimal system +Oracle Open Office Calc : hexadecimal system;converting to +Oracle Open Office Calc : hidden cells +Oracle Open Office Calc : hidden controls in Form Navigator +Oracle Open Office Calc : hidden fields display (Writer) +Oracle Open Office Calc : hidden pages +Oracle Open Office Calc : hidden pages;printing in presentations +Oracle Open Office Calc : hidden text +Oracle Open Office Calc : hidden text;showing (Writer) +Oracle Open Office Calc : hiding +Oracle Open Office Calc : hiding;changes +Oracle Open Office Calc : hiding;chart legends +Oracle Open Office Calc : hiding;columns +Oracle Open Office Calc : hiding;data fields, from calculations in Data Pilot +Oracle Open Office Calc : hiding;docked windows +Oracle Open Office Calc : hiding;formulas +Oracle Open Office Calc : hiding;headers/grid lines +Oracle Open Office Calc : hiding;navigation pane in Help window +Oracle Open Office Calc : hiding;rows +Oracle Open Office Calc : hiding;sheet details +Oracle Open Office Calc : hiding;sheets +Oracle Open Office Calc : high contrast mode +Oracle Open Office Calc : highlighting +Oracle Open Office Calc : highlighting;negative numbers +Oracle Open Office Calc : highlighting;values in sheets +Oracle Open Office Calc : Hindi +Oracle Open Office Calc : Hindi;entering text +Oracle Open Office Calc : Hindi;language settings +Oracle Open Office Calc : HLOOKUP function +Oracle Open Office Calc : horizontal scrollbars (Writer) +Oracle Open Office Calc : hotspots +Oracle Open Office Calc : HOUR function +Oracle Open Office Calc : HowTos for Calc +Oracle Open Office Calc : HowTos for charts +Oracle Open Office Calc : HTML +Oracle Open Office Calc : HTML;definition +Oracle Open Office Calc : HTML;export character set +Oracle Open Office Calc : HTML;fonts for source display +Oracle Open Office Calc : HTML;importing META tags +Oracle Open Office Calc : HTML;in sheet cells +Oracle Open Office Calc : HTML;live presentations +Oracle Open Office Calc : HTML;sheets +Oracle Open Office Calc : HTML documents +Oracle Open Office Calc : HTML documents;auto reloading +Oracle Open Office Calc : HTML documents;importing/exporting +Oracle Open Office Calc : HTML documents;META tags in +Oracle Open Office Calc : HTML documents;new +Oracle Open Office Calc : HTML documents;source text +Oracle Open Office Calc : HTML WebQuery +Oracle Open Office Calc : HYPERLINK function +Oracle Open Office Calc : hyperlinks +Oracle Open Office Calc : hyperlinks;assigning macros +Oracle Open Office Calc : hyperlinks;character formats +Oracle Open Office Calc : hyperlinks;definition +Oracle Open Office Calc : hyperlinks;deleting +Oracle Open Office Calc : hyperlinks;editing +Oracle Open Office Calc : hyperlinks;inserting +Oracle Open Office Calc : hyperlinks;relative and absolute +Oracle Open Office Calc : hyperlinks;turning off automatic recognition +Oracle Open Office Calc : hyperlinks, see also links +Oracle Open Office Calc : HYPGEOMDIST function +Oracle Open Office Calc : hyphenation +Oracle Open Office Calc : hyphenation;activating for a language +Oracle Open Office Calc : hyphenation;in spreadsheets +Oracle Open Office Calc : hyphenation;minimal number of characters +Oracle Open Office Calc : hyphens +Oracle Open Office Calc : hyphens;displaying custom (Writer) +Oracle Open Office Calc : hyphens;inserting custom +Oracle Open Office Calc : icon bars, see toolbars +Oracle Open Office Calc : icon sizes +Oracle Open Office Calc : IDE +Oracle Open Office Calc : IDE;Basic IDE +Oracle Open Office Calc : IF function +Oracle Open Office Calc : ignore list for spellcheck +Oracle Open Office Calc : illumination +Oracle Open Office Calc : illumination;3D charts +Oracle Open Office Calc : illustrations, see pictures +Oracle Open Office Calc : IMABS function +Oracle Open Office Calc : image button creation +Oracle Open Office Calc : image control creation +Oracle Open Office Calc : ImageMap +Oracle Open Office Calc : ImageMap;definition +Oracle Open Office Calc : ImageMap;editor +Oracle Open Office Calc : images +Oracle Open Office Calc : images;ImageMap +Oracle Open Office Calc : images;inserting and editing bitmaps +Oracle Open Office Calc : images, see also pictures +Oracle Open Office Calc : IMAGINARY function +Oracle Open Office Calc : imaginary numbers in analysis functions +Oracle Open Office Calc : IMARGUMENT function +Oracle Open Office Calc : IMCONJUGATE function +Oracle Open Office Calc : IMCOS function +Oracle Open Office Calc : IMDIV function +Oracle Open Office Calc : IME +Oracle Open Office Calc : IME;definition +Oracle Open Office Calc : IME;showing/hiding +Oracle Open Office Calc : IMEXP function +Oracle Open Office Calc : IMLN function +Oracle Open Office Calc : IMLOG10 function +Oracle Open Office Calc : IMLOG2 function +Oracle Open Office Calc : implicit array handling +Oracle Open Office Calc : import filters +Oracle Open Office Calc : import restrictions for Microsoft Office +Oracle Open Office Calc : importing +Oracle Open Office Calc : importing;bitmaps +Oracle Open Office Calc : importing;compatibility settings for text import +Oracle Open Office Calc : importing;csv files with formulas +Oracle Open Office Calc : importing;databases +Oracle Open Office Calc : importing;dBASE files +Oracle Open Office Calc : importing;documents in other formats +Oracle Open Office Calc : importing;from XML +Oracle Open Office Calc : importing;HTML and text documents +Oracle Open Office Calc : importing;HTML with META tags +Oracle Open Office Calc : importing;Microsoft Office documents with VBA code +Oracle Open Office Calc : importing;tables as text +Oracle Open Office Calc : importing;tables in text format +Oracle Open Office Calc : importing;templates +Oracle Open Office Calc : IMPOWER function +Oracle Open Office Calc : IMPRODUCT function +Oracle Open Office Calc : improvement program +Oracle Open Office Calc : IMREAL function +Oracle Open Office Calc : IMSIN function +Oracle Open Office Calc : IMSQRT function +Oracle Open Office Calc : IMSUB function +Oracle Open Office Calc : IMSUM function +Oracle Open Office Calc : inches +Oracle Open Office Calc : increasing scales in page view +Oracle Open Office Calc : INDEX function +Oracle Open Office Calc : Index tab in Help +Oracle Open Office Calc : indexes +Oracle Open Office Calc : indexes;backgrounds +Oracle Open Office Calc : indexes;showing/hiding Help index tab +Oracle Open Office Calc : indicator lines in text +Oracle Open Office Calc : INDIRECT function +Oracle Open Office Calc : INFO function +Oracle Open Office Calc : information functions +Oracle Open Office Calc : information on cells +Oracle Open Office Calc : inline array constants +Oracle Open Office Calc : inner joins (Base) +Oracle Open Office Calc : inner products +Oracle Open Office Calc : input line in formula bar +Oracle Open Office Calc : input method window +Oracle Open Office Calc : input support in spreadsheets +Oracle Open Office Calc : insert mode for entering text +Oracle Open Office Calc : inserting +Oracle Open Office Calc : inserting;breaks +Oracle Open Office Calc : inserting;buttons in toolbars +Oracle Open Office Calc : inserting;cell ranges +Oracle Open Office Calc : inserting;cell ranges from spreadsheets +Oracle Open Office Calc : inserting;cells +Oracle Open Office Calc : inserting;cells, by drag and drop +Oracle Open Office Calc : inserting;cells, toolbar icon +Oracle Open Office Calc : inserting;charts +Oracle Open Office Calc : inserting;clipboard options +Oracle Open Office Calc : inserting;columns +Oracle Open Office Calc : inserting;comments +Oracle Open Office Calc : inserting;data from text documents +Oracle Open Office Calc : inserting;datasource records in spreadsheets +Oracle Open Office Calc : inserting;drawings +Oracle Open Office Calc : inserting;external data +Oracle Open Office Calc : inserting;floating frames +Oracle Open Office Calc : inserting;Fontwork objects +Oracle Open Office Calc : inserting;form fields +Oracle Open Office Calc : inserting;formulas +Oracle Open Office Calc : inserting;fractions +Oracle Open Office Calc : inserting;hyperlinks +Oracle Open Office Calc : inserting;line breaks in cells +Oracle Open Office Calc : inserting;manual column breaks +Oracle Open Office Calc : inserting;manual row breaks +Oracle Open Office Calc : inserting;matrix formulas +Oracle Open Office Calc : inserting;movies/sounds +Oracle Open Office Calc : inserting;new text tables defaults +Oracle Open Office Calc : inserting;objects from Gallery +Oracle Open Office Calc : inserting;objects, toolbar icon +Oracle Open Office Calc : inserting;OLE objects +Oracle Open Office Calc : inserting;paragraph borders +Oracle Open Office Calc : inserting;paragraph bullets +Oracle Open Office Calc : inserting;pictures in Gallery +Oracle Open Office Calc : inserting;plug-ins +Oracle Open Office Calc : inserting;push buttons +Oracle Open Office Calc : inserting;references, by drag and drop +Oracle Open Office Calc : inserting;rows +Oracle Open Office Calc : inserting;sheets +Oracle Open Office Calc : inserting;special characters +Oracle Open Office Calc : inserting;tab stops +Oracle Open Office Calc : inserting;textures on chart bars +Oracle Open Office Calc : inserting;values +Oracle Open Office Calc : inserting functions +Oracle Open Office Calc : inserting functions;function list window +Oracle Open Office Calc : inserting functions;Function Wizard +Oracle Open Office Calc : installing +Oracle Open Office Calc : installing;ActiveX control +Oracle Open Office Calc : installing;mobile device filters +Oracle Open Office Calc : installing;UNO components +Oracle Open Office Calc : installing;XML filters +Oracle Open Office Calc : instructions +Oracle Open Office Calc : instructions;general +Oracle Open Office Calc : instructions;Oracle Open Office Calc +Oracle Open Office Calc : INT function +Oracle Open Office Calc : integers with leading zeros +Oracle Open Office Calc : INTERCEPT function +Oracle Open Office Calc : interests for unchanged amortization installments +Oracle Open Office Calc : internal rates of return +Oracle Open Office Calc : internal rates of return;irregular payments +Oracle Open Office Calc : internal rates of return;modified +Oracle Open Office Calc : internal rates of return;regular payments +Oracle Open Office Calc : international currency formats +Oracle Open Office Calc : Internet +Oracle Open Office Calc : Internet;checking for updates +Oracle Open Office Calc : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Calc : Internet;presentations +Oracle Open Office Calc : Internet;starting searches +Oracle Open Office Calc : Internet glossary +Oracle Open Office Calc : intersection operator +Oracle Open Office Calc : intersections +Oracle Open Office Calc : INTRATE function +Oracle Open Office Calc : invalid data +Oracle Open Office Calc : invalid data;marking +Oracle Open Office Calc : invalid names +Oracle Open Office Calc : invalid names;error messages +Oracle Open Office Calc : invalid references +Oracle Open Office Calc : invalid references;error messages +Oracle Open Office Calc : inverse arrays +Oracle Open Office Calc : inverse F probability distribution +Oracle Open Office Calc : inverse of Fisher transformation +Oracle Open Office Calc : inverse of lognormal distribution +Oracle Open Office Calc : inverse of t-distribution +Oracle Open Office Calc : invert filter +Oracle Open Office Calc : inverting tables +Oracle Open Office Calc : invisible areas +Oracle Open Office Calc : invisible cells +Oracle Open Office Calc : IPMT function +Oracle Open Office Calc : IRR function +Oracle Open Office Calc : ISBLANK function +Oracle Open Office Calc : ISERR function +Oracle Open Office Calc : ISERROR function +Oracle Open Office Calc : ISEVEN function +Oracle Open Office Calc : ISEVEN_ADD function +Oracle Open Office Calc : ISFORMULA function +Oracle Open Office Calc : ISLEAPYEAR function +Oracle Open Office Calc : ISLOGICAL function +Oracle Open Office Calc : ISNA function +Oracle Open Office Calc : ISNONTEXT function +Oracle Open Office Calc : ISNUMBER function +Oracle Open Office Calc : ISODD function +Oracle Open Office Calc : ISODD_ADD function +Oracle Open Office Calc : ISPMT function +Oracle Open Office Calc : ISREF function +Oracle Open Office Calc : ISTEXT function +Oracle Open Office Calc : italic text +Oracle Open Office Calc : iterative references in spreadsheets +Oracle Open Office Calc : Java +Oracle Open Office Calc : Java;definition +Oracle Open Office Calc : Java;setting options +Oracle Open Office Calc : JDBC +Oracle Open Office Calc : JDBC;databases (Base) +Oracle Open Office Calc : JDBC;definition +Oracle Open Office Calc : JIS function +Oracle Open Office Calc : joining +Oracle Open Office Calc : joining;paragraphs +Oracle Open Office Calc : joining;tables (Base) +Oracle Open Office Calc : joins in databases (Base) +Oracle Open Office Calc : justifying text +Oracle Open Office Calc : kerning +Oracle Open Office Calc : kerning;Asian texts +Oracle Open Office Calc : kerning;definition +Oracle Open Office Calc : kerning;in characters +Oracle Open Office Calc : key fields for relations (Base) +Oracle Open Office Calc : keyboard +Oracle Open Office Calc : keyboard;assigning/editing shortcut keys +Oracle Open Office Calc : keyboard;general commands +Oracle Open Office Calc : keyboard;removing numbering +Oracle Open Office Calc : keys +Oracle Open Office Calc : keys;adding push buttons +Oracle Open Office Calc : keys;primary keys (Base) +Oracle Open Office Calc : kiosk export +Oracle Open Office Calc : KURT function +Oracle Open Office Calc : label ranges in sheets +Oracle Open Office Calc : labels +Oracle Open Office Calc : labels;creating and synchronizing +Oracle Open Office Calc : labels;for charts +Oracle Open Office Calc : labels;for draw objects +Oracle Open Office Calc : labels;form functions +Oracle Open Office Calc : labels;from databases +Oracle Open Office Calc : labels, see also names/callouts +Oracle Open Office Calc : landscape printing +Oracle Open Office Calc : languages +Oracle Open Office Calc : languages;activating modules +Oracle Open Office Calc : languages;Asian support +Oracle Open Office Calc : languages;complex text layout +Oracle Open Office Calc : languages;locale settings +Oracle Open Office Calc : languages;selecting for text +Oracle Open Office Calc : languages;setting options +Oracle Open Office Calc : languages;spellcheck +Oracle Open Office Calc : languages;spellchecking and formatting +Oracle Open Office Calc : LARGE function +Oracle Open Office Calc : large handles (Writer) +Oracle Open Office Calc : large icons +Oracle Open Office Calc : layer arrangement +Oracle Open Office Calc : layout +Oracle Open Office Calc : layout;importing Word documents +Oracle Open Office Calc : layout;pages +Oracle Open Office Calc : layout;spreadsheets +Oracle Open Office Calc : LCM function +Oracle Open Office Calc : LCM_ADD function +Oracle Open Office Calc : LDAP server +Oracle Open Office Calc : LDAP server;address books (Base) +Oracle Open Office Calc : LDAP server;sign on options +Oracle Open Office Calc : leading between paragraphs +Oracle Open Office Calc : leading zeros +Oracle Open Office Calc : leap year determination +Oracle Open Office Calc : least common multiples +Oracle Open Office Calc : left alignment of paragraphs +Oracle Open Office Calc : LEFT function +Oracle Open Office Calc : left joins (Base) +Oracle Open Office Calc : legends +Oracle Open Office Calc : legends;charts +Oracle Open Office Calc : legends;draw objects +Oracle Open Office Calc : legends;rounding corners +Oracle Open Office Calc : LEN function +Oracle Open Office Calc : Letter Wizard +Oracle Open Office Calc : levels +Oracle Open Office Calc : levels;depth stagger +Oracle Open Office Calc : levels;macro security +Oracle Open Office Calc : limits +Oracle Open Office Calc : limits;specifying value limits on input +Oracle Open Office Calc : limits of tables (Writer) +Oracle Open Office Calc : line arrangements with cells +Oracle Open Office Calc : line breaks +Oracle Open Office Calc : line breaks;in cells +Oracle Open Office Calc : line charts +Oracle Open Office Calc : line spacing +Oracle Open Office Calc : line spacing;context menu in paragraphs +Oracle Open Office Calc : line spacing;paragraph +Oracle Open Office Calc : line styles +Oracle Open Office Calc : line styles;applying +Oracle Open Office Calc : line styles;defining +Oracle Open Office Calc : linear depreciations +Oracle Open Office Calc : linear series +Oracle Open Office Calc : lines +Oracle Open Office Calc : lines;defining ends +Oracle Open Office Calc : lines;draw functions +Oracle Open Office Calc : lines;drawing in text +Oracle Open Office Calc : lines;editing points +Oracle Open Office Calc : lines;removing automatic lines +Oracle Open Office Calc : lines of text +Oracle Open Office Calc : lines of text;alignment +Oracle Open Office Calc : LINEST function +Oracle Open Office Calc : links +Oracle Open Office Calc : links;between cells and controls +Oracle Open Office Calc : links;by drag and drop +Oracle Open Office Calc : links;character formats +Oracle Open Office Calc : links;definition +Oracle Open Office Calc : links;editing hyperlinks +Oracle Open Office Calc : links;inserting +Oracle Open Office Calc : links;modifying +Oracle Open Office Calc : links;opening files with +Oracle Open Office Calc : links;relational databases (Base) +Oracle Open Office Calc : links;turning off automatic recognition +Oracle Open Office Calc : links;updating options (Writer) +Oracle Open Office Calc : links;updating specific links +Oracle Open Office Calc : list box creation +Oracle Open Office Calc : list of functions +Oracle Open Office Calc : lists +Oracle Open Office Calc : lists;data assigned to controls +Oracle Open Office Calc : lists;registered databases (Base) +Oracle Open Office Calc : lists;regular expressions +Oracle Open Office Calc : lists;user-defined +Oracle Open Office Calc : live presentations on the Internet +Oracle Open Office Calc : LN function +Oracle Open Office Calc : loading +Oracle Open Office Calc : loading;documents +Oracle Open Office Calc : loading;documents from other formats +Oracle Open Office Calc : loading;HTML documents, automatically +Oracle Open Office Calc : loading;Microsoft Office documents with VBA code +Oracle Open Office Calc : loading;reloading +Oracle Open Office Calc : loading;XML files +Oracle Open Office Calc : locale settings +Oracle Open Office Calc : LOG function +Oracle Open Office Calc : LOG10 function +Oracle Open Office Calc : logarithmic scaling along axes +Oracle Open Office Calc : logarithms +Oracle Open Office Calc : LOGEST function +Oracle Open Office Calc : logical functions +Oracle Open Office Calc : logical number formats +Oracle Open Office Calc : LOGINV function +Oracle Open Office Calc : LOGNORMDIST function +Oracle Open Office Calc : LOOKUP function +Oracle Open Office Calc : LOWER function +Oracle Open Office Calc : lowercase letters +Oracle Open Office Calc : lowercase letters;AutoInput function (in cells) +Oracle Open Office Calc : lowercase letters;font effects +Oracle Open Office Calc : lowest common multiples +Oracle Open Office Calc : Macauley duration +Oracle Open Office Calc : Macro Wizard (Base) +Oracle Open Office Calc : macros +Oracle Open Office Calc : macros;assigning to events in forms +Oracle Open Office Calc : macros;attaching new (Base) +Oracle Open Office Calc : macros;in MS Office documents +Oracle Open Office Calc : macros;interrupting +Oracle Open Office Calc : macros;organizing +Oracle Open Office Calc : macros;recording +Oracle Open Office Calc : macros;running when incorrect input +Oracle Open Office Calc : macros;security +Oracle Open Office Calc : macros;security levels +Oracle Open Office Calc : macros;security warning dialog +Oracle Open Office Calc : macros;selecting security warnings +Oracle Open Office Calc : magnifiers +Oracle Open Office Calc : manual column breaks +Oracle Open Office Calc : manual row breaks +Oracle Open Office Calc : margins +Oracle Open Office Calc : margins;pages +Oracle Open Office Calc : margins;setting with the mouse +Oracle Open Office Calc : margins;shadows +Oracle Open Office Calc : marking cells +Oracle Open Office Calc : marking changes +Oracle Open Office Calc : marking, see selecting +Oracle Open Office Calc : MATCH function +Oracle Open Office Calc : Math formula editor +Oracle Open Office Calc : mathematical functions +Oracle Open Office Calc : matrices +Oracle Open Office Calc : matrices;calculations +Oracle Open Office Calc : matrices;entering matrix formulas +Oracle Open Office Calc : matrices;functions +Oracle Open Office Calc : MAX function +Oracle Open Office Calc : MAXA function +Oracle Open Office Calc : maximum values in Calc databases +Oracle Open Office Calc : MDETERM function +Oracle Open Office Calc : MDURATION function +Oracle Open Office Calc : mean value lines in charts +Oracle Open Office Calc : means +Oracle Open Office Calc : means;geometric +Oracle Open Office Calc : means;harmonic +Oracle Open Office Calc : means;of data set without margin data +Oracle Open Office Calc : measurement units +Oracle Open Office Calc : measurement units;changing on rulers +Oracle Open Office Calc : measurement units;converting +Oracle Open Office Calc : measurement units;selecting +Oracle Open Office Calc : Media Player window +Oracle Open Office Calc : MEDIAN function +Oracle Open Office Calc : menus +Oracle Open Office Calc : menus;activating context menus +Oracle Open Office Calc : menus;assigning macros +Oracle Open Office Calc : menus;customizing +Oracle Open Office Calc : merging +Oracle Open Office Calc : merging;cells +Oracle Open Office Calc : merging;data ranges +Oracle Open Office Calc : merging;documents +Oracle Open Office Calc : META tags +Oracle Open Office Calc : metrics +Oracle Open Office Calc : metrics;converting +Oracle Open Office Calc : metrics;document formatting (Writer) +Oracle Open Office Calc : metrics;in sheets +Oracle Open Office Calc : Microsoft Excel functions +Oracle Open Office Calc : Microsoft Office +Oracle Open Office Calc : Microsoft Office;Access databases (base) +Oracle Open Office Calc : Microsoft Office;as default file format +Oracle Open Office Calc : Microsoft Office;document import restrictions +Oracle Open Office Calc : Microsoft Office;feature comparisons +Oracle Open Office Calc : Microsoft Office;importing password protected files +Oracle Open Office Calc : Microsoft Office;importing Word documents +Oracle Open Office Calc : Microsoft Office;importing/exporting VBA code +Oracle Open Office Calc : Microsoft Office;new users information +Oracle Open Office Calc : Microsoft Office;opening Microsoft documents +Oracle Open Office Calc : Microsoft Office;reassigning document types +Oracle Open Office Calc : MID function +Oracle Open Office Calc : migrating macros (Base) +Oracle Open Office Calc : MIN function +Oracle Open Office Calc : MINA function +Oracle Open Office Calc : minimum values in Calc databases +Oracle Open Office Calc : minus sign, see also operators +Oracle Open Office Calc : MINUTE function +Oracle Open Office Calc : MINVERSE function +Oracle Open Office Calc : MIRR function +Oracle Open Office Calc : MMULT function +Oracle Open Office Calc : mobile device filters +Oracle Open Office Calc : MOD function +Oracle Open Office Calc : MODE function +Oracle Open Office Calc : models in XForms +Oracle Open Office Calc : modified internal rates of return +Oracle Open Office Calc : modifying, see changing +Oracle Open Office Calc : MONTH function +Oracle Open Office Calc : MONTHS function +Oracle Open Office Calc : more controls +Oracle Open Office Calc : mosaic filter +Oracle Open Office Calc : most common value +Oracle Open Office Calc : mouse +Oracle Open Office Calc : mouse;pointers when using drag and drop +Oracle Open Office Calc : mouse;positioning +Oracle Open Office Calc : movies +Oracle Open Office Calc : moving +Oracle Open Office Calc : moving;cells by drag and drop +Oracle Open Office Calc : moving;spreadsheets +Oracle Open Office Calc : moving;tab stops on ruler +Oracle Open Office Calc : moving;toolbars +Oracle Open Office Calc : moving;using guide lines in presentations +Oracle Open Office Calc : moving;visible cells only +Oracle Open Office Calc : MROUND function +Oracle Open Office Calc : MS ADO interface (Base) +Oracle Open Office Calc : multi-line text in cells +Oracle Open Office Calc : multi-line titles in forms +Oracle Open Office Calc : MULTINOMIAL function +Oracle Open Office Calc : multiple cells selection +Oracle Open Office Calc : multiple documents +Oracle Open Office Calc : multiple documents;opening +Oracle Open Office Calc : multiple operations +Oracle Open Office Calc : multiple selection +Oracle Open Office Calc : multiple sheets +Oracle Open Office Calc : multiplication sign, see also operators +Oracle Open Office Calc : multiplying +Oracle Open Office Calc : multiplying;cell contents in Calc databases +Oracle Open Office Calc : multiplying;numbers +Oracle Open Office Calc : MUNIT function +Oracle Open Office Calc : music +Oracle Open Office Calc : My Documents folder +Oracle Open Office Calc : My Documents folder;changing work directory +Oracle Open Office Calc : My Documents folder;opening +Oracle Open Office Calc : MySQL databases (Base) +Oracle Open Office Calc : N function +Oracle Open Office Calc : NA function +Oracle Open Office Calc : name recognition on/off +Oracle Open Office Calc : names +Oracle Open Office Calc : names;defining for cells +Oracle Open Office Calc : names;for cell ranges +Oracle Open Office Calc : names;multi-line titles +Oracle Open Office Calc : names;objects +Oracle Open Office Calc : names;sheets +Oracle Open Office Calc : names, see also labels/callouts +Oracle Open Office Calc : namespace organization in XForms +Oracle Open Office Calc : native SQL (Base) +Oracle Open Office Calc : natural language addressing +Oracle Open Office Calc : natural logarithm +Oracle Open Office Calc : natural logarithm of Gamma function +Oracle Open Office Calc : natural sort algorithm +Oracle Open Office Calc : navigating +Oracle Open Office Calc : navigating;in documents +Oracle Open Office Calc : navigating;in spreadsheets +Oracle Open Office Calc : Navigation bar +Oracle Open Office Calc : Navigation bar;controls +Oracle Open Office Calc : Navigation bar;forms +Oracle Open Office Calc : Navigator +Oracle Open Office Calc : Navigator;comments +Oracle Open Office Calc : Navigator;contents as lists +Oracle Open Office Calc : Navigator;docking +Oracle Open Office Calc : Navigator;for sheets +Oracle Open Office Calc : Navigator;working with +Oracle Open Office Calc : nearest multiple +Oracle Open Office Calc : negative binomial distribution +Oracle Open Office Calc : negative numbers +Oracle Open Office Calc : NEGBINOMDIST function +Oracle Open Office Calc : net annual interest rates +Oracle Open Office Calc : net charts +Oracle Open Office Calc : net present values +Oracle Open Office Calc : network identity options +Oracle Open Office Calc : NETWORKDAYS function +Oracle Open Office Calc : new databases +Oracle Open Office Calc : new documents +Oracle Open Office Calc : new lines in cells +Oracle Open Office Calc : new windows +Oracle Open Office Calc : NOMINAL function +Oracle Open Office Calc : nominal interest rates +Oracle Open Office Calc : NOMINAL_ADD function +Oracle Open Office Calc : non-breaking dashes +Oracle Open Office Calc : non-breaking spaces (Writer) +Oracle Open Office Calc : non-printing characters (Writer) +Oracle Open Office Calc : normal distribution +Oracle Open Office Calc : normal distribution;inverse of +Oracle Open Office Calc : normal distribution;inverse of standard +Oracle Open Office Calc : normal distribution;standard +Oracle Open Office Calc : normal distribution;statistics +Oracle Open Office Calc : NORMDIST function +Oracle Open Office Calc : NORMINV function +Oracle Open Office Calc : NORMSDIST function +Oracle Open Office Calc : NORMSINV function +Oracle Open Office Calc : NOT function +Oracle Open Office Calc : NOW function +Oracle Open Office Calc : NPER function +Oracle Open Office Calc : NPV function +Oracle Open Office Calc : null values +Oracle Open Office Calc : null values;printing +Oracle Open Office Calc : number completion on/off +Oracle Open Office Calc : number formats +Oracle Open Office Calc : number formats;adding/deleting decimal places in cells +Oracle Open Office Calc : number formats;codes +Oracle Open Office Calc : number formats;colors for negative numbers +Oracle Open Office Calc : number formats;formats +Oracle Open Office Calc : number formats;logical +Oracle Open Office Calc : number formats;millions +Oracle Open Office Calc : number formats;recognition in text tables +Oracle Open Office Calc : number of combinations +Oracle Open Office Calc : number of combinations with repetitions +Oracle Open Office Calc : number of coupons +Oracle Open Office Calc : number of days +Oracle Open Office Calc : number of days;in a specific month of a year +Oracle Open Office Calc : number of days;in a specific year +Oracle Open Office Calc : number of entries +Oracle Open Office Calc : number of months between two dates +Oracle Open Office Calc : number of pages +Oracle Open Office Calc : number of payment periods +Oracle Open Office Calc : number of permutations +Oracle Open Office Calc : number of sheets +Oracle Open Office Calc : number of sheets;function +Oracle Open Office Calc : number of sheets +Oracle Open Office Calc : number of tables +Oracle Open Office Calc : number of weeks +Oracle Open Office Calc : number of weeks;between two dates +Oracle Open Office Calc : number of weeks;in a specific year +Oracle Open Office Calc : number of years between two dates +Oracle Open Office Calc : number series import +Oracle Open Office Calc : numbering +Oracle Open Office Calc : numbering;options +Oracle Open Office Calc : numbering;turning off +Oracle Open Office Calc : numbering;using automatically +Oracle Open Office Calc : numbers +Oracle Open Office Calc : numbers;counting +Oracle Open Office Calc : numbers;date, time and currency formats +Oracle Open Office Calc : numbers;decimal places +Oracle Open Office Calc : numbers;determining ranks +Oracle Open Office Calc : numbers;entering as text +Oracle Open Office Calc : numbers;entering fractions +Oracle Open Office Calc : numbers;filter sheets +Oracle Open Office Calc : numbers;formatting decimals +Oracle Open Office Calc : numbers;formatting options for selected cells +Oracle Open Office Calc : numbers;greater than or equal to +Oracle Open Office Calc : numbers;highlighting negative numbers +Oracle Open Office Calc : numbers;multiplying +Oracle Open Office Calc : numbers;rounded off +Oracle Open Office Calc : numbers;rounding down to next integer +Oracle Open Office Calc : numbers;rounding up/down to even integers +Oracle Open Office Calc : numbers;user-defined formatting +Oracle Open Office Calc : numbers;with leading zeros +Oracle Open Office Calc : numerical fields in forms +Oracle Open Office Calc : objects +Oracle Open Office Calc : objects;always moveable (Impress/Draw) +Oracle Open Office Calc : objects;arranging within stacks +Oracle Open Office Calc : objects;copying when moving in presentations +Oracle Open Office Calc : objects;definition +Oracle Open Office Calc : objects;displaying in spreadsheets +Oracle Open Office Calc : objects;displaying in text documents +Oracle Open Office Calc : objects;editing +Oracle Open Office Calc : objects;inserting from Gallery +Oracle Open Office Calc : objects;inserting OLE objects +Oracle Open Office Calc : objects;moving and resizing with mouse +Oracle Open Office Calc : objects;naming +Oracle Open Office Calc : objects;opening +Oracle Open Office Calc : objects;properties of charts +Oracle Open Office Calc : objects;quickly moving to +Oracle Open Office Calc : objects;titles and descriptions +Oracle Open Office Calc : OCT2BIN function +Oracle Open Office Calc : OCT2DEC function +Oracle Open Office Calc : OCT2HEX function +Oracle Open Office Calc : ODBC +Oracle Open Office Calc : ODBC;database (Base) +Oracle Open Office Calc : ODBC;definition +Oracle Open Office Calc : ODD function +Oracle Open Office Calc : odd integers +Oracle Open Office Calc : ODDFPRICE function +Oracle Open Office Calc : ODDFYIELD function +Oracle Open Office Calc : ODDLPRICE function +Oracle Open Office Calc : ODDLYIELD function +Oracle Open Office Calc : ODF file formats +Oracle Open Office Calc : Office +Oracle Open Office Calc : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Calc : OFFSET function +Oracle Open Office Calc : OLE +Oracle Open Office Calc : OLE;definition +Oracle Open Office Calc : OLE objects +Oracle Open Office Calc : OLE objects;arranging within stacks +Oracle Open Office Calc : OLE objects;captions (Writer) +Oracle Open Office Calc : OLE objects;inserting +Oracle Open Office Calc : OLE objects;number of +Oracle Open Office Calc : OLE objects;protecting +Oracle Open Office Calc : one and a half line spacing in text +Oracle Open Office Calc : online feedback options +Oracle Open Office Calc : online registration +Oracle Open Office Calc : online update options +Oracle Open Office Calc : online updates +Oracle Open Office Calc : online updates;checking automatically +Oracle Open Office Calc : online updates;checking manually +Oracle Open Office Calc : OpenDocument file formats +Oracle Open Office Calc : OpenGL +Oracle Open Office Calc : OpenGL;definition +Oracle Open Office Calc : opening +Oracle Open Office Calc : opening;context menus +Oracle Open Office Calc : opening;database files +Oracle Open Office Calc : opening;dialog settings +Oracle Open Office Calc : opening;documents +Oracle Open Office Calc : opening;documents from other formats +Oracle Open Office Calc : opening;documents on WebDAV server +Oracle Open Office Calc : opening;files with links +Oracle Open Office Calc : opening;files, with placeholders +Oracle Open Office Calc : opening;forms +Oracle Open Office Calc : opening;Microsoft Office files +Oracle Open Office Calc : opening;mobile device documents +Oracle Open Office Calc : opening;objects +Oracle Open Office Calc : opening;reports +Oracle Open Office Calc : opening;scenarios +Oracle Open Office Calc : opening;several files +Oracle Open Office Calc : opening;sheets in HTML +Oracle Open Office Calc : opening;text csv files +Oracle Open Office Calc : opening;XForms +Oracle Open Office Calc : operators +Oracle Open Office Calc : operators;default filters +Oracle Open Office Calc : operators;formula functions +Oracle Open Office Calc : optimal column widths +Oracle Open Office Calc : optimal row heights +Oracle Open Office Calc : optional hyphens (Writer) +Oracle Open Office Calc : options +Oracle Open Office Calc : options;accessibility +Oracle Open Office Calc : options;appearance +Oracle Open Office Calc : options;compatibility (Writer) +Oracle Open Office Calc : options;improvement program +Oracle Open Office Calc : options;network identity +Oracle Open Office Calc : options;online update +Oracle Open Office Calc : options;tools +Oracle Open Office Calc : OR function +Oracle Open Office Calc : Oracle databases (base) +Oracle Open Office Calc : Oracle Open Office Base data sources +Oracle Open Office Calc : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Calc : Oracle Open Office documents +Oracle Open Office Calc : Oracle Open Office documents;mobile device filters +Oracle Open Office Calc : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Calc : Oracle Open Office Math start +Oracle Open Office Calc : order of chart data +Oracle Open Office Calc : ordering +Oracle Open Office Calc : ordering;objects +Oracle Open Office Calc : ordinal numbers +Oracle Open Office Calc : ordinal numbers;replacing +Oracle Open Office Calc : organizing +Oracle Open Office Calc : organizing;macros and scripts +Oracle Open Office Calc : organizing;namespaces in XForms +Oracle Open Office Calc : organizing;styles +Oracle Open Office Calc : organizing;templates +Oracle Open Office Calc : original size +Oracle Open Office Calc : original size;printing in Oracle Open Office Math +Oracle Open Office Calc : original size;restoring after cropping +Oracle Open Office Calc : outlines +Oracle Open Office Calc : outlines;font effects +Oracle Open Office Calc : outlines;outline symbols +Oracle Open Office Calc : outlines;sending to presentations +Oracle Open Office Calc : outlines;sheets +Oracle Open Office Calc : output ranges of DataPilot tables +Oracle Open Office Calc : overwrite mode +Oracle Open Office Calc : packages, see extensions +Oracle Open Office Calc : page breaks +Oracle Open Office Calc : page breaks;displaying (Calc) +Oracle Open Office Calc : page breaks;inserting in spreadsheets +Oracle Open Office Calc : page breaks;spreadsheet preview +Oracle Open Office Calc : page formats +Oracle Open Office Calc : page formats;maximizing +Oracle Open Office Calc : page formats;restriction +Oracle Open Office Calc : page styles +Oracle Open Office Calc : page styles;editing/applying with statusbar +Oracle Open Office Calc : page styles;footers +Oracle Open Office Calc : page styles;headers +Oracle Open Office Calc : page views +Oracle Open Office Calc : page views;increasing scales +Oracle Open Office Calc : page views;reducing scales +Oracle Open Office Calc : pages +Oracle Open Office Calc : pages;backgrounds in all applications +Oracle Open Office Calc : pages;formatting and numbering +Oracle Open Office Calc : pages;order when printing +Oracle Open Office Calc : pages;printing page names in presentations +Oracle Open Office Calc : pages;scaling +Oracle Open Office Calc : pages;selecting one to print +Oracle Open Office Calc : paint box +Oracle Open Office Calc : paint can for applying styles +Oracle Open Office Calc : paint can symbol +Oracle Open Office Calc : pair kerning +Oracle Open Office Calc : Palm file filters +Oracle Open Office Calc : paper formats +Oracle Open Office Calc : paper size warning +Oracle Open Office Calc : paper trays +Oracle Open Office Calc : paragraph marks +Oracle Open Office Calc : paragraph marks;displaying (Writer) +Oracle Open Office Calc : paragraph styles +Oracle Open Office Calc : paragraph styles;languages +Oracle Open Office Calc : paragraph styles;modifying basic fonts +Oracle Open Office Calc : paragraphs +Oracle Open Office Calc : paragraphs;alignment +Oracle Open Office Calc : paragraphs;Asian typography +Oracle Open Office Calc : paragraphs;defining borders +Oracle Open Office Calc : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Calc : paragraphs;increasing indents of +Oracle Open Office Calc : paragraphs;indents, margins and columns +Oracle Open Office Calc : paragraphs;inserting bullets +Oracle Open Office Calc : paragraphs;joining +Oracle Open Office Calc : paragraphs;numbering automatically +Oracle Open Office Calc : paragraphs;removing blank ones +Oracle Open Office Calc : paragraphs;spacing +Oracle Open Office Calc : paragraphs;tab stops +Oracle Open Office Calc : parameters +Oracle Open Office Calc : parameters;command line +Oracle Open Office Calc : parameters;queries (Base) +Oracle Open Office Calc : passwords for protecting contents +Oracle Open Office Calc : pasting +Oracle Open Office Calc : pasting;cell ranges +Oracle Open Office Calc : pasting;cell ranges from spreadsheets +Oracle Open Office Calc : pasting;data from text documents +Oracle Open Office Calc : pasting;draw objects +Oracle Open Office Calc : pasting;draw objects from other documents +Oracle Open Office Calc : pasting;formatted/unformatted text +Oracle Open Office Calc : pasting;formulas +Oracle Open Office Calc : pasting;from data source view +Oracle Open Office Calc : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Calc : pasting;pictures from other documents +Oracle Open Office Calc : pasting;sheet areas in text documents +Oracle Open Office Calc : pasting;to Gallery +Oracle Open Office Calc : pasting;values in multiple sheets +Oracle Open Office Calc : paths +Oracle Open Office Calc : paths;changing work directory +Oracle Open Office Calc : paths;defaults +Oracle Open Office Calc : pattern editor +Oracle Open Office Calc : pattern fields +Oracle Open Office Calc : pattern fields;form functions +Oracle Open Office Calc : patterns for objects +Oracle Open Office Calc : payment periods +Oracle Open Office Calc : payment periods;number of +Oracle Open Office Calc : PDF +Oracle Open Office Calc : PDF;export +Oracle Open Office Calc : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Calc : PDF export of print ranges +Oracle Open Office Calc : PEARSON function +Oracle Open Office Calc : percentage calculations +Oracle Open Office Calc : PERCENTILE function +Oracle Open Office Calc : PERCENTRANK function +Oracle Open Office Calc : periodic amortizement rates +Oracle Open Office Calc : permitted cell contents +Oracle Open Office Calc : PERMUT function +Oracle Open Office Calc : PERMUTATIONA function +Oracle Open Office Calc : personal data input +Oracle Open Office Calc : PHI function +Oracle Open Office Calc : phonebook sorting rules +Oracle Open Office Calc : phonetic guide +Oracle Open Office Calc : PI function +Oracle Open Office Calc : picklist creation +Oracle Open Office Calc : pictures +Oracle Open Office Calc : pictures;adding to Gallery +Oracle Open Office Calc : pictures;arranging within stacks +Oracle Open Office Calc : pictures;assigning macros +Oracle Open Office Calc : pictures;backgrounds +Oracle Open Office Calc : pictures;captions (Writer) +Oracle Open Office Calc : pictures;changing paths +Oracle Open Office Calc : pictures;cropping and zooming +Oracle Open Office Calc : pictures;displaying in Calc +Oracle Open Office Calc : pictures;displaying in Writer (Writer) +Oracle Open Office Calc : pictures;drag and drop between documents +Oracle Open Office Calc : pictures;drawing +Oracle Open Office Calc : pictures;editing +Oracle Open Office Calc : pictures;filters +Oracle Open Office Calc : pictures;ImageMap +Oracle Open Office Calc : pictures;inserting automatically +Oracle Open Office Calc : pictures;inserting from Gallery +Oracle Open Office Calc : pictures;number of +Oracle Open Office Calc : pictures;printing +Oracle Open Office Calc : pictures;scaling/resizing +Oracle Open Office Calc : pie charts +Oracle Open Office Calc : pie charts;options +Oracle Open Office Calc : pie charts;types +Oracle Open Office Calc : Pivot table import +Oracle Open Office Calc : Pivot table, see DataPilot function +Oracle Open Office Calc : pixel editor +Oracle Open Office Calc : pixel graphics +Oracle Open Office Calc : pixel graphics;inserting and editing +Oracle Open Office Calc : pixel patterns +Oracle Open Office Calc : placeholders +Oracle Open Office Calc : placeholders;in SQL queries +Oracle Open Office Calc : placeholders;on opening files +Oracle Open Office Calc : placing toolbars +Oracle Open Office Calc : playing movies and sound files +Oracle Open Office Calc : plotting data as charts +Oracle Open Office Calc : plug-ins +Oracle Open Office Calc : plug-ins;activating and deactivating +Oracle Open Office Calc : plug-ins;definition +Oracle Open Office Calc : plug-ins;inserting +Oracle Open Office Calc : plus sign, see also operators +Oracle Open Office Calc : PMT function +Oracle Open Office Calc : pocket device appliances +Oracle Open Office Calc : Pocket PC file filters +Oracle Open Office Calc : points +Oracle Open Office Calc : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Calc : points of intersection +Oracle Open Office Calc : POISSON function +Oracle Open Office Calc : polygon drawing +Oracle Open Office Calc : pop-art filter +Oracle Open Office Calc : portable document format +Oracle Open Office Calc : positioning +Oracle Open Office Calc : positioning;axes +Oracle Open Office Calc : positioning;draw objects and controls +Oracle Open Office Calc : positioning;fonts +Oracle Open Office Calc : positioning;objects +Oracle Open Office Calc : positioning;toolbars +Oracle Open Office Calc : post method for form transmissions +Oracle Open Office Calc : posterizing filter +Oracle Open Office Calc : PostScript +Oracle Open Office Calc : PostScript;creating files +Oracle Open Office Calc : PostScript;PDF converter, UNIX +Oracle Open Office Calc : POWER function +Oracle Open Office Calc : PowerPoint export +Oracle Open Office Calc : powers of 2 calculations +Oracle Open Office Calc : PPMT function +Oracle Open Office Calc : precision as shown +Oracle Open Office Calc : precision as shown (Calc) +Oracle Open Office Calc : predefining fonts +Oracle Open Office Calc : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Calc : present values +Oracle Open Office Calc : presentations +Oracle Open Office Calc : presentations;creating/opening +Oracle Open Office Calc : presentations;inserting spreadsheet cells +Oracle Open Office Calc : presentations;live on the Internet +Oracle Open Office Calc : presentations;print menu +Oracle Open Office Calc : presentations;saving +Oracle Open Office Calc : presentations;saving automatically +Oracle Open Office Calc : presentations;saving in other formats +Oracle Open Office Calc : presentations;sending as e-mail +Oracle Open Office Calc : presentations;starting with wizard +Oracle Open Office Calc : presentations;wizards +Oracle Open Office Calc : Presenter Console shortcuts +Oracle Open Office Calc : press buttons, see push buttons +Oracle Open Office Calc : previews +Oracle Open Office Calc : previews;fonts lists +Oracle Open Office Calc : previews;page breaks for printing +Oracle Open Office Calc : PRICE function +Oracle Open Office Calc : PRICEDISC function +Oracle Open Office Calc : PRICEMAT function +Oracle Open Office Calc : prices +Oracle Open Office Calc : prices;fixed interest securities +Oracle Open Office Calc : prices;interest-bearing securities +Oracle Open Office Calc : prices;non-interest-bearing securities +Oracle Open Office Calc : prices;securities with irregular first interest date +Oracle Open Office Calc : prices;treasury bills +Oracle Open Office Calc : primary keys +Oracle Open Office Calc : primary keys;defining +Oracle Open Office Calc : primary keys;design view +Oracle Open Office Calc : primary keys;inserting (Base) +Oracle Open Office Calc : print area selection +Oracle Open Office Calc : print ranges +Oracle Open Office Calc : printer metrics for document formatting (Writer) +Oracle Open Office Calc : printers +Oracle Open Office Calc : printers;adding, UNIX +Oracle Open Office Calc : printers;choosing +Oracle Open Office Calc : printers;default printer +Oracle Open Office Calc : printers;faxes under UNIX +Oracle Open Office Calc : printers;maximum page formats +Oracle Open Office Calc : printers;paper trays +Oracle Open Office Calc : printers;properties +Oracle Open Office Calc : printing +Oracle Open Office Calc : printing;black and white +Oracle Open Office Calc : printing;brochures +Oracle Open Office Calc : printing;cells +Oracle Open Office Calc : printing;colors in grayscale +Oracle Open Office Calc : printing;comments +Oracle Open Office Calc : printing;copies +Oracle Open Office Calc : printing;creating individual jobs +Oracle Open Office Calc : printing;dates in presentations +Oracle Open Office Calc : printing;directly +Oracle Open Office Calc : printing;documents +Oracle Open Office Calc : printing;drawings defaults +Oracle Open Office Calc : printing;elements in text documents +Oracle Open Office Calc : printing;faster +Oracle Open Office Calc : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Calc : printing;fitting to pages in presentations +Oracle Open Office Calc : printing;formulas in Oracle Open Office Math +Oracle Open Office Calc : printing;hidden pages of presentations +Oracle Open Office Calc : printing;in original size in Oracle Open Office Math +Oracle Open Office Calc : printing;landscape +Oracle Open Office Calc : printing;left/right pages +Oracle Open Office Calc : printing;page order +Oracle Open Office Calc : printing;queries (Base) +Oracle Open Office Calc : printing;rows/columns as table headings +Oracle Open Office Calc : printing;scaling in Oracle Open Office Math +Oracle Open Office Calc : printing;selections +Oracle Open Office Calc : printing;sheet counts +Oracle Open Office Calc : printing;sheet details +Oracle Open Office Calc : printing;sheet selections +Oracle Open Office Calc : printing;sheets on multiple pages +Oracle Open Office Calc : printing;text always in black +Oracle Open Office Calc : printing;text in reverse order +Oracle Open Office Calc : printing;tiling pages in presentations +Oracle Open Office Calc : printing;transparencies +Oracle Open Office Calc : printing;warnings +Oracle Open Office Calc : printing;without scaling in presentations +Oracle Open Office Calc : printing speed +Oracle Open Office Calc : PROB function +Oracle Open Office Calc : probabilities of samples with binomial distribution +Oracle Open Office Calc : PRODUCT function +Oracle Open Office Calc : programming +Oracle Open Office Calc : programming;add-ins +Oracle Open Office Calc : programming;functions +Oracle Open Office Calc : programming;Oracle Open Office +Oracle Open Office Calc : programming;scripting +Oracle Open Office Calc : PROPER function +Oracle Open Office Calc : properties +Oracle Open Office Calc : properties;charts +Oracle Open Office Calc : properties;fields in databases +Oracle Open Office Calc : properties;files +Oracle Open Office Calc : properties;form controls +Oracle Open Office Calc : properties;forms +Oracle Open Office Calc : properties;printers +Oracle Open Office Calc : properties;smooth lines in line charts/XY charts +Oracle Open Office Calc : protected contents +Oracle Open Office Calc : protected dashes +Oracle Open Office Calc : protected database tables +Oracle Open Office Calc : protected documents +Oracle Open Office Calc : protected spaces +Oracle Open Office Calc : protected spaces;inserting +Oracle Open Office Calc : protected spaces;showing (Writer) +Oracle Open Office Calc : protecting +Oracle Open Office Calc : protecting;cells and sheets +Oracle Open Office Calc : protecting;contents +Oracle Open Office Calc : protecting;recorded changes +Oracle Open Office Calc : protecting;unprotecting cells +Oracle Open Office Calc : proxy settings +Oracle Open Office Calc : push buttons +Oracle Open Office Calc : push buttons;adding to documents +Oracle Open Office Calc : push buttons;creating +Oracle Open Office Calc : PV function +Oracle Open Office Calc : QUARTILE function +Oracle Open Office Calc : queries +Oracle Open Office Calc : queries;copying (Base) +Oracle Open Office Calc : queries;creating in design view (Base) +Oracle Open Office Calc : queries;creating in SQL view +Oracle Open Office Calc : queries;defining (Base) +Oracle Open Office Calc : queries;deleting table links (Base) +Oracle Open Office Calc : queries;editing in data source view +Oracle Open Office Calc : queries;formulating filter conditions (Base) +Oracle Open Office Calc : queries;joining tables (Base) +Oracle Open Office Calc : queries;missing elements (Base) +Oracle Open Office Calc : queries;overview (Base) +Oracle Open Office Calc : queries;parameter queries (Base) +Oracle Open Office Calc : queries;printing (Base) +Oracle Open Office Calc : Query Wizard (Base) +Oracle Open Office Calc : Quickstarter +Oracle Open Office Calc : quotes +Oracle Open Office Calc : quotes;custom +Oracle Open Office Calc : QUOTIENT function +Oracle Open Office Calc : radar charts, see net charts +Oracle Open Office Calc : RADIANS function +Oracle Open Office Calc : radio button creation +Oracle Open Office Calc : RAND function +Oracle Open Office Calc : RANDBETWEEN function +Oracle Open Office Calc : random numbers +Oracle Open Office Calc : random numbers;between 0 and 1 +Oracle Open Office Calc : random numbers;between limits +Oracle Open Office Calc : random numbers;examples +Oracle Open Office Calc : ranges +Oracle Open Office Calc : ranges;combining +Oracle Open Office Calc : ranges;defining database ranges +Oracle Open Office Calc : ranges;inserting in tables +Oracle Open Office Calc : ranges;print ranges +Oracle Open Office Calc : RANK function +Oracle Open Office Calc : RATE function +Oracle Open Office Calc : rates of return +Oracle Open Office Calc : rates of return;non-interest-bearing securities +Oracle Open Office Calc : rates of return;securities +Oracle Open Office Calc : rates of return;securities with interest paid on maturity +Oracle Open Office Calc : rates of return of treasury bills +Oracle Open Office Calc : read-only documents +Oracle Open Office Calc : read-only documents;cursor +Oracle Open Office Calc : read-only documents;database tables on/off +Oracle Open Office Calc : read-only documents;editing +Oracle Open Office Calc : read-only documents;opening documents as +Oracle Open Office Calc : read-only items in Data Navigator +Oracle Open Office Calc : recalculating +Oracle Open Office Calc : recalculating;all formulas in sheets +Oracle Open Office Calc : recalculating;auto calculating sheets +Oracle Open Office Calc : recalculating;DataPilot tables +Oracle Open Office Calc : RECEIVED function +Oracle Open Office Calc : recognizing +Oracle Open Office Calc : recognizing;column and row labels +Oracle Open Office Calc : recognizing;equal numbers +Oracle Open Office Calc : recognizing;general errors +Oracle Open Office Calc : recognizing formula cells +Oracle Open Office Calc : recognizing URLs automatically +Oracle Open Office Calc : recording +Oracle Open Office Calc : recording;changes +Oracle Open Office Calc : recording;macros +Oracle Open Office Calc : records +Oracle Open Office Calc : records;counting in Calc databases +Oracle Open Office Calc : records;inserting comments +Oracle Open Office Calc : records;protecting +Oracle Open Office Calc : records;saving +Oracle Open Office Calc : records;searching in databases +Oracle Open Office Calc : rectangles with round corners +Oracle Open Office Calc : recursions in spreadsheets +Oracle Open Office Calc : redo command +Oracle Open Office Calc : reduced printing +Oracle Open Office Calc : reference lines +Oracle Open Office Calc : reference operators +Oracle Open Office Calc : references +Oracle Open Office Calc : references;absolute/relative +Oracle Open Office Calc : references;by defined names +Oracle Open Office Calc : references;displaying in color (Calc) +Oracle Open Office Calc : references;expanding (Calc) +Oracle Open Office Calc : references;inserting by drag and drop +Oracle Open Office Calc : references;iterative (Calc) +Oracle Open Office Calc : references;testing cell contents +Oracle Open Office Calc : references;to cells +Oracle Open Office Calc : references;to cells in other sheets/documents +Oracle Open Office Calc : references;URL in cells +Oracle Open Office Calc : register-true +Oracle Open Office Calc : register-true;definition +Oracle Open Office Calc : registering +Oracle Open Office Calc : registering;address books +Oracle Open Office Calc : registering;databases (Base) +Oracle Open Office Calc : registering;Oracle Open Office +Oracle Open Office Calc : regression analysis +Oracle Open Office Calc : regression curves in charts +Oracle Open Office Calc : regression lines +Oracle Open Office Calc : regression lines;FORECAST function +Oracle Open Office Calc : regression lines;LINEST function +Oracle Open Office Calc : regular expressions +Oracle Open Office Calc : regular expressions;list of +Oracle Open Office Calc : relational databases (Base) +Oracle Open Office Calc : relations +Oracle Open Office Calc : relations;creating and deleting (Base) +Oracle Open Office Calc : relations;joining tables (Base) +Oracle Open Office Calc : relations;properties (Base) +Oracle Open Office Calc : relative addresses +Oracle Open Office Calc : relative hyperlinks +Oracle Open Office Calc : relative references +Oracle Open Office Calc : relative saving of URLs +Oracle Open Office Calc : reloading +Oracle Open Office Calc : reloading;documents +Oracle Open Office Calc : reloading;HTML documents, automatically +Oracle Open Office Calc : remainders of divisions +Oracle Open Office Calc : remarks on cells +Oracle Open Office Calc : remarks, see also comments +Oracle Open Office Calc : remote configurations +Oracle Open Office Calc : remove noise filter +Oracle Open Office Calc : removing +Oracle Open Office Calc : removing;bullets and numbering +Oracle Open Office Calc : removing;cell range filters +Oracle Open Office Calc : removing;filters +Oracle Open Office Calc : removing;form filters +Oracle Open Office Calc : removing, see also deleting +Oracle Open Office Calc : renaming +Oracle Open Office Calc : renaming;cells +Oracle Open Office Calc : renaming;sheets +Oracle Open Office Calc : reorganizing charts +Oracle Open Office Calc : repayment installment +Oracle Open Office Calc : repeating +Oracle Open Office Calc : repeating;columns/rows on printed pages +Oracle Open Office Calc : repeating;commands +Oracle Open Office Calc : REPLACE function +Oracle Open Office Calc : replacement options +Oracle Open Office Calc : replacement table +Oracle Open Office Calc : replacing +Oracle Open Office Calc : replacing;AutoCorrect function +Oracle Open Office Calc : replacing;cell contents +Oracle Open Office Calc : replacing;dashes +Oracle Open Office Calc : replacing;ordinal numbers +Oracle Open Office Calc : replacing;tab stops (regular expressions) +Oracle Open Office Calc : Report Builder +Oracle Open Office Calc : reports +Oracle Open Office Calc : reports;creating +Oracle Open Office Calc : reports;error reports +Oracle Open Office Calc : reports;opening and editing +Oracle Open Office Calc : reports;templates +Oracle Open Office Calc : REPT function +Oracle Open Office Calc : resetting +Oracle Open Office Calc : resetting;templates +Oracle Open Office Calc : resizing +Oracle Open Office Calc : resizing;objects, by mouse +Oracle Open Office Calc : resizing, see also scaling/zooming +Oracle Open Office Calc : resolution when printing bitmaps +Oracle Open Office Calc : restoring +Oracle Open Office Calc : restoring;default formatting +Oracle Open Office Calc : restoring;editing +Oracle Open Office Calc : results display vs. formulas display +Oracle Open Office Calc : reversing printing order +Oracle Open Office Calc : review function +Oracle Open Office Calc : review function;accepting or rejecting changes +Oracle Open Office Calc : review function;comparing documents +Oracle Open Office Calc : review function;protecting records +Oracle Open Office Calc : review function;recording changes example +Oracle Open Office Calc : rich text control +Oracle Open Office Calc : right alignment of paragraphs +Oracle Open Office Calc : RIGHT function +Oracle Open Office Calc : right joins (Base) +Oracle Open Office Calc : right-to-left text +Oracle Open Office Calc : right-to-left text +Oracle Open Office Calc : right-to-left text;spreadsheets +Oracle Open Office Calc : ROMAN function +Oracle Open Office Calc : ROT13 function +Oracle Open Office Calc : rotating +Oracle Open Office Calc : rotating;3D text +Oracle Open Office Calc : rotating;tables +Oracle Open Office Calc : rotating;text in cells +Oracle Open Office Calc : round corners +Oracle Open Office Calc : ROUND function +Oracle Open Office Calc : ROUNDDOWN function +Oracle Open Office Calc : rounded off numbers +Oracle Open Office Calc : rounding +Oracle Open Office Calc : rounding;down to nearest multiple of significance +Oracle Open Office Calc : rounding;down to next integer +Oracle Open Office Calc : rounding;up to multiples of significance +Oracle Open Office Calc : rounding;up/down to even integers +Oracle Open Office Calc : rounding;up/down to nearest odd integer +Oracle Open Office Calc : rounding precision +Oracle Open Office Calc : rounding precision (Calc) +Oracle Open Office Calc : ROUNDUP function +Oracle Open Office Calc : row breaks +Oracle Open Office Calc : row breaks;deleting +Oracle Open Office Calc : row breaks;inserting +Oracle Open Office Calc : ROW function +Oracle Open Office Calc : row headers +Oracle Open Office Calc : row headers;displaying (Calc) +Oracle Open Office Calc : row headers;hiding +Oracle Open Office Calc : row headers;highlighting (Calc) +Oracle Open Office Calc : row headers;using in formulas +Oracle Open Office Calc : rows +Oracle Open Office Calc : rows;deleting +Oracle Open Office Calc : rows;finding labels automatically +Oracle Open Office Calc : rows;freezing +Oracle Open Office Calc : rows;heights +Oracle Open Office Calc : rows;hiding +Oracle Open Office Calc : rows;inserting +Oracle Open Office Calc : rows;optimal heights +Oracle Open Office Calc : rows;removing/redisplaying with filters +Oracle Open Office Calc : rows;repeating when printing +Oracle Open Office Calc : rows;swapping with columns +Oracle Open Office Calc : rows;visible and invisible +Oracle Open Office Calc : ROWS function +Oracle Open Office Calc : rows, see also cells +Oracle Open Office Calc : RRI function +Oracle Open Office Calc : RSQ calculations +Oracle Open Office Calc : RSQ function +Oracle Open Office Calc : rulers +Oracle Open Office Calc : rulers;default settings +Oracle Open Office Calc : rulers;measurement units +Oracle Open Office Calc : rulers;visible in presentations +Oracle Open Office Calc : sales values +Oracle Open Office Calc : sales values;fixed interest securities +Oracle Open Office Calc : sales values;non-interest-bearing securities +Oracle Open Office Calc : samples and templates +Oracle Open Office Calc : sampling without replacement +Oracle Open Office Calc : saving +Oracle Open Office Calc : saving;as text csv +Oracle Open Office Calc : saving;default file formats +Oracle Open Office Calc : saving;dialog settings +Oracle Open Office Calc : saving;documents +Oracle Open Office Calc : saving;documents for mobile devices +Oracle Open Office Calc : saving;documents in other formats +Oracle Open Office Calc : saving;documents, automatically +Oracle Open Office Calc : saving;in Microsoft Office file format +Oracle Open Office Calc : saving;options +Oracle Open Office Calc : saving;sheets in HTML +Oracle Open Office Calc : saving;templates +Oracle Open Office Calc : saving;to XML +Oracle Open Office Calc : saving;VBA code in Microsoft Office documents +Oracle Open Office Calc : saving;with password by default +Oracle Open Office Calc : saving as command +Oracle Open Office Calc : saving as command;precautions +Oracle Open Office Calc : scalar products +Oracle Open Office Calc : scaling +Oracle Open Office Calc : scaling;axes +Oracle Open Office Calc : scaling;font sizes in user interface +Oracle Open Office Calc : scaling;objects +Oracle Open Office Calc : scaling;pictures +Oracle Open Office Calc : scaling;printing in Oracle Open Office Math +Oracle Open Office Calc : scaling;text in charts +Oracle Open Office Calc : scaling;when printing presentations +Oracle Open Office Calc : scaling, see also zooming +Oracle Open Office Calc : scatter charts +Oracle Open Office Calc : scenarios +Oracle Open Office Calc : scenarios;creating/editing/deleting +Oracle Open Office Calc : scenarios;displaying names +Oracle Open Office Calc : screen +Oracle Open Office Calc : screen;full screen views +Oracle Open Office Calc : screen;scaling +Oracle Open Office Calc : screen magnifiers +Oracle Open Office Calc : screen readers +Oracle Open Office Calc : script organization +Oracle Open Office Calc : scrollbars +Oracle Open Office Calc : scrollbars;controls +Oracle Open Office Calc : scrollbars;displaying (Calc) +Oracle Open Office Calc : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Calc : scrolling prevention in tables +Oracle Open Office Calc : search criteria for database functions in cells +Oracle Open Office Calc : search engines +Oracle Open Office Calc : search engines;definition +Oracle Open Office Calc : search engines;selecting +Oracle Open Office Calc : SEARCH function +Oracle Open Office Calc : searching +Oracle Open Office Calc : searching;all sheets +Oracle Open Office Calc : searching;cell contents in Calc databases +Oracle Open Office Calc : searching;databases +Oracle Open Office Calc : searching;form filters +Oracle Open Office Calc : searching;Internet +Oracle Open Office Calc : searching;links in cells +Oracle Open Office Calc : searching;maximum values in columns +Oracle Open Office Calc : searching;minimum values in columns +Oracle Open Office Calc : searching;tables and forms +Oracle Open Office Calc : searching, see also finding +Oracle Open Office Calc : SECOND function +Oracle Open Office Calc : secondary axes in charts +Oracle Open Office Calc : sections +Oracle Open Office Calc : sections;backgrounds +Oracle Open Office Calc : securities +Oracle Open Office Calc : securities;first interest payment until settlement date +Oracle Open Office Calc : security +Oracle Open Office Calc : security;digital signatures +Oracle Open Office Calc : security;options for documents with macros +Oracle Open Office Calc : security;protecting contents +Oracle Open Office Calc : security;security levels for macros +Oracle Open Office Calc : security;warning dialogs with macros +Oracle Open Office Calc : selecting +Oracle Open Office Calc : selecting;cells +Oracle Open Office Calc : selecting;controls +Oracle Open Office Calc : selecting;formatting themes +Oracle Open Office Calc : selecting;measurement units +Oracle Open Office Calc : selecting;multiple sheets +Oracle Open Office Calc : selecting;objects +Oracle Open Office Calc : selecting;print areas +Oracle Open Office Calc : selecting;scenarios in Navigator +Oracle Open Office Calc : selecting;several files +Oracle Open Office Calc : selection clipboard +Oracle Open Office Calc : selection frames +Oracle Open Office Calc : selection lists +Oracle Open Office Calc : selection lists;filling cells +Oracle Open Office Calc : selection lists;validity +Oracle Open Office Calc : selection modes in spreadsheets +Oracle Open Office Calc : selection modes in text +Oracle Open Office Calc : sending +Oracle Open Office Calc : sending;AutoAbstract function in presentations +Oracle Open Office Calc : sending;documents as e-mail +Oracle Open Office Calc : sending;documents as faxes +Oracle Open Office Calc : separator lines +Oracle Open Office Calc : separator lines;defining +Oracle Open Office Calc : separators +Oracle Open Office Calc : separators;conditional +Oracle Open Office Calc : series +Oracle Open Office Calc : series;calculating +Oracle Open Office Calc : series;sort lists +Oracle Open Office Calc : SERIESSUM function +Oracle Open Office Calc : Server Side ImageMap +Oracle Open Office Calc : settings +Oracle Open Office Calc : settings;printers +Oracle Open Office Calc : settings;program configuration +Oracle Open Office Calc : settings;proxies +Oracle Open Office Calc : settings;tracking changes +Oracle Open Office Calc : settings;views +Oracle Open Office Calc : SGML +Oracle Open Office Calc : SGML;definition +Oracle Open Office Calc : shadows +Oracle Open Office Calc : shadows;areas +Oracle Open Office Calc : shadows;borders +Oracle Open Office Calc : shadows;characters +Oracle Open Office Calc : shadows;characters, using context menu +Oracle Open Office Calc : shared libraries +Oracle Open Office Calc : shared libraries;programming +Oracle Open Office Calc : sharing documents +Oracle Open Office Calc : sharpening filter +Oracle Open Office Calc : sheet area names +Oracle Open Office Calc : SHEET function +Oracle Open Office Calc : sheet grids +Oracle Open Office Calc : sheet grids;printing +Oracle Open Office Calc : sheet numbers +Oracle Open Office Calc : sheet numbers;looking up +Oracle Open Office Calc : sheet ranges +Oracle Open Office Calc : sheet ranges;filling +Oracle Open Office Calc : sheet references +Oracle Open Office Calc : sheet tabs +Oracle Open Office Calc : sheet tabs;displaying +Oracle Open Office Calc : sheet tabs;renaming +Oracle Open Office Calc : sheet tabs;using +Oracle Open Office Calc : sheets +Oracle Open Office Calc : sheets;AutoFormat function +Oracle Open Office Calc : sheets;creating +Oracle Open Office Calc : sheets;defining label ranges +Oracle Open Office Calc : sheets;deleting +Oracle Open Office Calc : sheets;displaying +Oracle Open Office Calc : sheets;filter values +Oracle Open Office Calc : sheets;formatting themes +Oracle Open Office Calc : sheets;hiding +Oracle Open Office Calc : sheets;hiding details +Oracle Open Office Calc : sheets;HTML +Oracle Open Office Calc : sheets;inserting +Oracle Open Office Calc : sheets;inserting row breaks +Oracle Open Office Calc : sheets;optimal row heights +Oracle Open Office Calc : sheets;outlines +Oracle Open Office Calc : sheets;printing details +Oracle Open Office Calc : sheets;printing in landscape +Oracle Open Office Calc : sheets;printing on multiple pages +Oracle Open Office Calc : sheets;printing sheet counts +Oracle Open Office Calc : sheets;protecting +Oracle Open Office Calc : sheets;renaming +Oracle Open Office Calc : sheets;right-to-left +Oracle Open Office Calc : sheets;searching all +Oracle Open Office Calc : sheets;selecting multiple +Oracle Open Office Calc : sheets;showing multiple +Oracle Open Office Calc : sheets;simultaneous multiple filling +Oracle Open Office Calc : SHEETS function +Oracle Open Office Calc : shortcut keys +Oracle Open Office Calc : shortcut keys;assigning macros +Oracle Open Office Calc : shortcut keys;charts +Oracle Open Office Calc : shortcut keys;general +Oracle Open Office Calc : shortcut keys;in databases +Oracle Open Office Calc : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Calc : shortcut keys;Oracle Open Office Calc accessibility +Oracle Open Office Calc : shortcut keys;spreadsheets +Oracle Open Office Calc : showing +Oracle Open Office Calc : showing;cell references +Oracle Open Office Calc : showing;changes +Oracle Open Office Calc : showing;columns +Oracle Open Office Calc : showing;docked windows +Oracle Open Office Calc : showing;drawings and controls (Writer) +Oracle Open Office Calc : showing;live presentations on the Internet +Oracle Open Office Calc : showing;rows +Oracle Open Office Calc : showing;sheet details +Oracle Open Office Calc : showing;toolbars +Oracle Open Office Calc : SIGN function +Oracle Open Office Calc : signing documents with digital signatures +Oracle Open Office Calc : similarity search +Oracle Open Office Calc : simple handles (Writer) +Oracle Open Office Calc : simplified Chinese +Oracle Open Office Calc : simplified Chinese;translating to traditional Chinese +Oracle Open Office Calc : SIN function +Oracle Open Office Calc : single sign on options +Oracle Open Office Calc : single-line spacing in text +Oracle Open Office Calc : SINH function +Oracle Open Office Calc : sizes +Oracle Open Office Calc : sizes;draw objects +Oracle Open Office Calc : sizes;pictures +Oracle Open Office Calc : SKEW function +Oracle Open Office Calc : slanting draw objects +Oracle Open Office Calc : SLN function +Oracle Open Office Calc : SLOPE function +Oracle Open Office Calc : slopes, see also regression lines +Oracle Open Office Calc : small capitals +Oracle Open Office Calc : SMALL function +Oracle Open Office Calc : small icons +Oracle Open Office Calc : smart tag configuration +Oracle Open Office Calc : smooth scrolling (Writer) +Oracle Open Office Calc : smoothing filter +Oracle Open Office Calc : snap grid defaults (Writer/Calc) +Oracle Open Office Calc : snapping in presentations and drawings +Oracle Open Office Calc : solarization filter +Oracle Open Office Calc : solver +Oracle Open Office Calc : sort lists +Oracle Open Office Calc : sort lists;applying +Oracle Open Office Calc : sort lists;copying to in Calc +Oracle Open Office Calc : sorting +Oracle Open Office Calc : sorting;Asian languages +Oracle Open Office Calc : sorting;data in forms +Oracle Open Office Calc : sorting;database ranges +Oracle Open Office Calc : sorting;databases +Oracle Open Office Calc : sorting;options for database ranges +Oracle Open Office Calc : sorting;options in Data Pilot +Oracle Open Office Calc : sorting;sort criteria for database ranges +Oracle Open Office Calc : sound files +Oracle Open Office Calc : spaces +Oracle Open Office Calc : spaces;displaying (Writer) +Oracle Open Office Calc : spaces;ignoring double +Oracle Open Office Calc : spaces;inserting protected spaces +Oracle Open Office Calc : spaces;showing protected spaces (Writer) +Oracle Open Office Calc : spacing +Oracle Open Office Calc : spacing;between paragraphs in footnotes +Oracle Open Office Calc : spacing;font effects +Oracle Open Office Calc : spacing;lines and paragraphs +Oracle Open Office Calc : spacing;tab stops in text documents +Oracle Open Office Calc : spacing;tabs in presentations +Oracle Open Office Calc : spadmin +Oracle Open Office Calc : special characters +Oracle Open Office Calc : speech bubbles +Oracle Open Office Calc : speed of printing +Oracle Open Office Calc : spellcheck +Oracle Open Office Calc : spellcheck;activating for a language +Oracle Open Office Calc : spellcheck;context menus +Oracle Open Office Calc : spellcheck;default languages +Oracle Open Office Calc : spellcheck;dialog +Oracle Open Office Calc : spellcheck;dictionary of exceptions +Oracle Open Office Calc : spellcheck;ignore list +Oracle Open Office Calc : spin button creation +Oracle Open Office Calc : spoolfiles with Xprinter +Oracle Open Office Calc : spreadsheets +Oracle Open Office Calc : spreadsheets;as databases (base) +Oracle Open Office Calc : spreadsheets;backgrounds +Oracle Open Office Calc : spreadsheets;calculating +Oracle Open Office Calc : spreadsheets;copying +Oracle Open Office Calc : spreadsheets;copying areas to text documents +Oracle Open Office Calc : spreadsheets;creating/opening +Oracle Open Office Calc : spreadsheets;deleting +Oracle Open Office Calc : spreadsheets;deleting cell contents +Oracle Open Office Calc : spreadsheets;deleting cells +Oracle Open Office Calc : spreadsheets;deleting column breaks +Oracle Open Office Calc : spreadsheets;deleting row breaks +Oracle Open Office Calc : spreadsheets;displaying headers of columns/rows +Oracle Open Office Calc : spreadsheets;formatting +Oracle Open Office Calc : spreadsheets;formula bar +Oracle Open Office Calc : spreadsheets;functions +Oracle Open Office Calc : spreadsheets;hiding functions +Oracle Open Office Calc : spreadsheets;importing from/exporting to dBASE files +Oracle Open Office Calc : spreadsheets;inserting breaks in +Oracle Open Office Calc : spreadsheets;inserting cells +Oracle Open Office Calc : spreadsheets;inserting charts +Oracle Open Office Calc : spreadsheets;inserting column breaks +Oracle Open Office Calc : spreadsheets;inserting columns +Oracle Open Office Calc : spreadsheets;inserting database records +Oracle Open Office Calc : spreadsheets;inserting rows +Oracle Open Office Calc : spreadsheets;moving +Oracle Open Office Calc : spreadsheets;optimal column widths +Oracle Open Office Calc : spreadsheets;printing +Oracle Open Office Calc : spreadsheets;saving +Oracle Open Office Calc : spreadsheets;saving automatically +Oracle Open Office Calc : spreadsheets;saving in other formats +Oracle Open Office Calc : spreadsheets;sending as e-mail +Oracle Open Office Calc : spreadsheets;shortcut keys in +Oracle Open Office Calc : spreadsheets;showing columns +Oracle Open Office Calc : spreadsheets;value highlighting +Oracle Open Office Calc : spreadsheets;values as shown +Oracle Open Office Calc : SQL +Oracle Open Office Calc : SQL;definition +Oracle Open Office Calc : SQL;DISTINCT parameter +Oracle Open Office Calc : SQL;executing SQL commands +Oracle Open Office Calc : SQL;executing SQL statements (Base) +Oracle Open Office Calc : SQL;queries (Base) +Oracle Open Office Calc : SQRT function +Oracle Open Office Calc : SQRTPI function +Oracle Open Office Calc : square drawings +Oracle Open Office Calc : square number additions +Oracle Open Office Calc : square roots +Oracle Open Office Calc : square roots;positive numbers +Oracle Open Office Calc : square roots;products of Pi +Oracle Open Office Calc : standard bar on/off +Oracle Open Office Calc : standard deviation in charts +Oracle Open Office Calc : standard deviations in databases +Oracle Open Office Calc : standard deviations in databases;based on a sample +Oracle Open Office Calc : standard deviations in databases;based on populations +Oracle Open Office Calc : standard deviations in statistics +Oracle Open Office Calc : standard deviations in statistics;based on a population +Oracle Open Office Calc : standard deviations in statistics;based on a sample +Oracle Open Office Calc : standard errors +Oracle Open Office Calc : standard errors;array functions +Oracle Open Office Calc : standard errors;statistical functions +Oracle Open Office Calc : standard filters in databases +Oracle Open Office Calc : standard printer under UNIX +Oracle Open Office Calc : STANDARDIZE function +Oracle Open Office Calc : start center +Oracle Open Office Calc : start parameters +Oracle Open Office Calc : statistics functions +Oracle Open Office Calc : statistics in charts +Oracle Open Office Calc : status bar on/off +Oracle Open Office Calc : STDEV function +Oracle Open Office Calc : STDEVA function +Oracle Open Office Calc : STDEVP function +Oracle Open Office Calc : STDEVPA function +Oracle Open Office Calc : STEYX function +Oracle Open Office Calc : stickers +Oracle Open Office Calc : stock charts +Oracle Open Office Calc : straight-line depreciations +Oracle Open Office Calc : strikethrough +Oracle Open Office Calc : strikethrough;characters +Oracle Open Office Calc : strikethrough;font effects +Oracle Open Office Calc : STYLE function +Oracle Open Office Calc : STYLE function example +Oracle Open Office Calc : styles +Oracle Open Office Calc : styles;'changed' message +Oracle Open Office Calc : styles;conditional styles +Oracle Open Office Calc : styles;copying between documents +Oracle Open Office Calc : styles;keyboard shortcuts +Oracle Open Office Calc : styles;organizing +Oracle Open Office Calc : styles;printing styles used in a document +Oracle Open Office Calc : styles;replacing automatically +Oracle Open Office Calc : Styles and Formatting window +Oracle Open Office Calc : Styles and Formatting window;docking +Oracle Open Office Calc : Styles and Formatting window +Oracle Open Office Calc : Stylist, see Styles and Formatting window +Oracle Open Office Calc : subforms +Oracle Open Office Calc : subforms;creating +Oracle Open Office Calc : subforms;description +Oracle Open Office Calc : submitting forms +Oracle Open Office Calc : subscript text in cells +Oracle Open Office Calc : SUBSTITUTE function +Oracle Open Office Calc : SUBTOTAL function +Oracle Open Office Calc : subtotals +Oracle Open Office Calc : subtotals;sorting options +Oracle Open Office Calc : suffixes in file formats +Oracle Open Office Calc : SUM function +Oracle Open Office Calc : sum icon +Oracle Open Office Calc : SUMIF function +Oracle Open Office Calc : SUMPRODUCT function +Oracle Open Office Calc : sums +Oracle Open Office Calc : sums;cells in Calc databases +Oracle Open Office Calc : sums;of filtered data +Oracle Open Office Calc : sums;of square numbers +Oracle Open Office Calc : sums;of squares of deviations +Oracle Open Office Calc : SUMSQ function +Oracle Open Office Calc : SUMX2MY2 function +Oracle Open Office Calc : SUMX2PY2 function +Oracle Open Office Calc : SUMXMY2 function +Oracle Open Office Calc : superscript text in cells +Oracle Open Office Calc : support on the Web +Oracle Open Office Calc : swapping tables +Oracle Open Office Calc : SYD function +Oracle Open Office Calc : syllables in spreadsheets +Oracle Open Office Calc : synchronizing +Oracle Open Office Calc : synchronizing;labels and business cards +Oracle Open Office Calc : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Calc : system address book registration +Oracle Open Office Calc : T function +Oracle Open Office Calc : t-distribution +Oracle Open Office Calc : tab stops +Oracle Open Office Calc : tab stops;displaying (Writer) +Oracle Open Office Calc : tab stops;inserting and editing +Oracle Open Office Calc : tab stops;regular expressions +Oracle Open Office Calc : tab stops;setting in sheets +Oracle Open Office Calc : tab stops;settings +Oracle Open Office Calc : tab stops;spacing in presentations +Oracle Open Office Calc : tab stops;spacing in text documents +Oracle Open Office Calc : table controls +Oracle Open Office Calc : table controls;form functions +Oracle Open Office Calc : table controls;keyboard-only edit mode +Oracle Open Office Calc : table controls;properties +Oracle Open Office Calc : table views of databases +Oracle Open Office Calc : Table Wizard (Base) +Oracle Open Office Calc : tables +Oracle Open Office Calc : tables;AutoFormat function +Oracle Open Office Calc : tables;backgrounds +Oracle Open Office Calc : tables;combining +Oracle Open Office Calc : tables;copying cell styles +Oracle Open Office Calc : tables;database ranges +Oracle Open Office Calc : tables;deactivating automatic changes in +Oracle Open Office Calc : tables;displaying formulas/values +Oracle Open Office Calc : tables;freezing +Oracle Open Office Calc : tables;importing/exporting as text +Oracle Open Office Calc : tables;inserting external data +Oracle Open Office Calc : tables;inserting line breaks +Oracle Open Office Calc : tables;merging cells +Oracle Open Office Calc : tables;multiple operations in +Oracle Open Office Calc : tables;number formats +Oracle Open Office Calc : tables;renaming +Oracle Open Office Calc : tables;rotating +Oracle Open Office Calc : tables;selecting ranges +Oracle Open Office Calc : tables;showing details +Oracle Open Office Calc : tables;splitting windows +Oracle Open Office Calc : tables;transposing +Oracle Open Office Calc : tables;views +Oracle Open Office Calc : tables in databases +Oracle Open Office Calc : tables in databases;access rights to (Base) +Oracle Open Office Calc : tables in databases;adding to queries +Oracle Open Office Calc : tables in databases;browsing and editing +Oracle Open Office Calc : tables in databases;copying database tables (Base) +Oracle Open Office Calc : tables in databases;creating +Oracle Open Office Calc : tables in databases;creating in design view (manually) +Oracle Open Office Calc : tables in databases;importing dBASE files +Oracle Open Office Calc : tables in databases;importing text formats (Base) +Oracle Open Office Calc : tables in databases;joining for queries (Base) +Oracle Open Office Calc : tables in databases;printing queries (Base) +Oracle Open Office Calc : tables in databases;relations (Base) +Oracle Open Office Calc : tables in databases;searching +Oracle Open Office Calc : tables in spreadsheets +Oracle Open Office Calc : tables in spreadsheets;copying data to other applications +Oracle Open Office Calc : tables in spreadsheets;defining borders +Oracle Open Office Calc : tables in spreadsheets;value highlighting +Oracle Open Office Calc : tables in text +Oracle Open Office Calc : tables in text;captions +Oracle Open Office Calc : tables in text;creating automatically +Oracle Open Office Calc : tables in text;default settings +Oracle Open Office Calc : tables in text;defining borders +Oracle Open Office Calc : tables in text;displaying +Oracle Open Office Calc : tables in text;printing +Oracle Open Office Calc : tabs +Oracle Open Office Calc : tabs;displaying sheet tabs +Oracle Open Office Calc : tags +Oracle Open Office Calc : tags;definition +Oracle Open Office Calc : tags;META tags +Oracle Open Office Calc : TAN function +Oracle Open Office Calc : TANH function +Oracle Open Office Calc : TBILLEQ function +Oracle Open Office Calc : TBILLPRICE function +Oracle Open Office Calc : TBILLYIELD function +Oracle Open Office Calc : TDIST function +Oracle Open Office Calc : templates +Oracle Open Office Calc : templates;agendas +Oracle Open Office Calc : templates;changing basic fonts +Oracle Open Office Calc : templates;database reports +Oracle Open Office Calc : templates;deleting +Oracle Open Office Calc : templates;editing and saving +Oracle Open Office Calc : templates;faxes +Oracle Open Office Calc : templates;importing and exporting +Oracle Open Office Calc : templates;letters +Oracle Open Office Calc : templates;new documents from templates +Oracle Open Office Calc : templates;opening documents with +Oracle Open Office Calc : templates;organizing +Oracle Open Office Calc : terminology +Oracle Open Office Calc : terminology;general glossary +Oracle Open Office Calc : terminology;Internet glossary +Oracle Open Office Calc : testing XML filters +Oracle Open Office Calc : text +Oracle Open Office Calc : text;animating +Oracle Open Office Calc : text;Asian layout +Oracle Open Office Calc : text;bold +Oracle Open Office Calc : text;coloring +Oracle Open Office Calc : text;copying by drag and drop +Oracle Open Office Calc : text;CTL languages +Oracle Open Office Calc : text;drawing pictures +Oracle Open Office Calc : text;font effects +Oracle Open Office Calc : text;font sizes +Oracle Open Office Calc : text;font styles +Oracle Open Office Calc : text;fonts and formats +Oracle Open Office Calc : text;Fontwork icons +Oracle Open Office Calc : text;hyperlinks +Oracle Open Office Calc : text;inserting special characters +Oracle Open Office Calc : text;italics +Oracle Open Office Calc : text;kerning +Oracle Open Office Calc : text;language selection +Oracle Open Office Calc : text;line spacing +Oracle Open Office Calc : text;overwriting or inserting +Oracle Open Office Calc : text;printing in black +Oracle Open Office Calc : text;replacing with format +Oracle Open Office Calc : text;selection modes +Oracle Open Office Calc : text;shadowed +Oracle Open Office Calc : text;text/draw objects +Oracle Open Office Calc : text attributes +Oracle Open Office Calc : text attributes;hyperlinks +Oracle Open Office Calc : text attributes;undoing +Oracle Open Office Calc : text boxes +Oracle Open Office Calc : text boxes;form functions +Oracle Open Office Calc : text boxes;positioning +Oracle Open Office Calc : text breaks in cells +Oracle Open Office Calc : text colors for better accessibility +Oracle Open Office Calc : text completion on/off +Oracle Open Office Calc : text concatenation AND +Oracle Open Office Calc : text databases (Base) +Oracle Open Office Calc : text documents +Oracle Open Office Calc : text documents;creating/opening +Oracle Open Office Calc : text documents;importing to spreadsheets +Oracle Open Office Calc : text documents;importing/exporting +Oracle Open Office Calc : text documents;inserting spreadsheet cells +Oracle Open Office Calc : text documents;print settings +Oracle Open Office Calc : text documents;printing +Oracle Open Office Calc : text documents;saving +Oracle Open Office Calc : text documents;saving automatically +Oracle Open Office Calc : text documents;saving in other formats +Oracle Open Office Calc : text documents;sending as e-mail +Oracle Open Office Calc : text effects +Oracle Open Office Calc : text file import and export +Oracle Open Office Calc : text flow +Oracle Open Office Calc : text flow;in cells +Oracle Open Office Calc : text formats +Oracle Open Office Calc : text formats;databases +Oracle Open Office Calc : text formats;for numbers +Oracle Open Office Calc : text formats;pasting +Oracle Open Office Calc : TEXT function +Oracle Open Office Calc : text in cells +Oracle Open Office Calc : text in cells;as addressing +Oracle Open Office Calc : text in cells;AutoInput function +Oracle Open Office Calc : text in cells;changing to numbers +Oracle Open Office Calc : text in cells;formatting +Oracle Open Office Calc : text in cells;functions +Oracle Open Office Calc : text in cells;multi-line +Oracle Open Office Calc : text in cells;writing vertically +Oracle Open Office Calc : text input fields +Oracle Open Office Calc : text layout for special languages +Oracle Open Office Calc : text objects +Oracle Open Office Calc : text objects;alignment +Oracle Open Office Calc : text objects;draw functions +Oracle Open Office Calc : text objects;fonts +Oracle Open Office Calc : text objects;in presentations and drawings +Oracle Open Office Calc : text operators +Oracle Open Office Calc : text overflow in spreadsheet cells +Oracle Open Office Calc : text scaling in charts +Oracle Open Office Calc : text to columns +Oracle Open Office Calc : text, see also text documents, paragraphs and characters +Oracle Open Office Calc : TextArt, see Fontwork +Oracle Open Office Calc : textures +Oracle Open Office Calc : textures;inserting from Gallery +Oracle Open Office Calc : textures;on chart bars +Oracle Open Office Calc : Thai +Oracle Open Office Calc : Thai;entering text +Oracle Open Office Calc : Thai;language settings +Oracle Open Office Calc : theme selection for sheets +Oracle Open Office Calc : thesaurus +Oracle Open Office Calc : thesaurus;activating for a language +Oracle Open Office Calc : ticker text +Oracle Open Office Calc : time differences +Oracle Open Office Calc : time fields +Oracle Open Office Calc : time fields;form functions +Oracle Open Office Calc : time format conversion +Oracle Open Office Calc : TIME function +Oracle Open Office Calc : times +Oracle Open Office Calc : times;in cells +Oracle Open Office Calc : times;inserting when printing presentations +Oracle Open Office Calc : times, formats +Oracle Open Office Calc : TIMEVALUE function +Oracle Open Office Calc : TINV function +Oracle Open Office Calc : tips +Oracle Open Office Calc : tips;extended tips in Help +Oracle Open Office Calc : title rows +Oracle Open Office Calc : title rows;freezing during table split +Oracle Open Office Calc : title rows;printing in Oracle Open Office Math +Oracle Open Office Calc : title rows;printing on all sheets +Oracle Open Office Calc : titles +Oracle Open Office Calc : titles;alignment (charts) +Oracle Open Office Calc : titles;changing +Oracle Open Office Calc : titles;editing in charts +Oracle Open Office Calc : titles;font effects +Oracle Open Office Calc : titles;formatting automatically +Oracle Open Office Calc : titles;formatting charts +Oracle Open Office Calc : titles;objects +Oracle Open Office Calc : TODAY function +Oracle Open Office Calc : toolbars +Oracle Open Office Calc : toolbars;adding buttons +Oracle Open Office Calc : toolbars;docking/undocking +Oracle Open Office Calc : toolbars;Form Navigation bar +Oracle Open Office Calc : toolbars;viewing/closing +Oracle Open Office Calc : tools bar +Oracle Open Office Calc : tooltips +Oracle Open Office Calc : tooltips;extended tips +Oracle Open Office Calc : tooltips;help +Oracle Open Office Calc : total amortizement rates +Oracle Open Office Calc : traces +Oracle Open Office Calc : traces;autorefreshing +Oracle Open Office Calc : traces;precedents and dependents +Oracle Open Office Calc : traces;precedents for multiple cells +Oracle Open Office Calc : traces;refreshing +Oracle Open Office Calc : tracing errors +Oracle Open Office Calc : traditional Chinese +Oracle Open Office Calc : traditional Chinese;translating to simplified chinese +Oracle Open Office Calc : transparency +Oracle Open Office Calc : transparency;areas +Oracle Open Office Calc : transparency;off for faster printing +Oracle Open Office Calc : transparency;saving +Oracle Open Office Calc : TRANSPOSE function +Oracle Open Office Calc : transposing tables +Oracle Open Office Calc : treasury bills +Oracle Open Office Calc : treasury bills;annual return +Oracle Open Office Calc : treasury bills;prices +Oracle Open Office Calc : treasury bills;rates of return +Oracle Open Office Calc : tree view of Help +Oracle Open Office Calc : TREND function +Oracle Open Office Calc : trend lines in charts +Oracle Open Office Calc : trigonometric functions +Oracle Open Office Calc : TRIM function +Oracle Open Office Calc : TRIMMEAN function +Oracle Open Office Calc : TRUE function +Oracle Open Office Calc : TRUNC function +Oracle Open Office Calc : TTEST function +Oracle Open Office Calc : TYPE function +Oracle Open Office Calc : typefaces +Oracle Open Office Calc : typefaces;adding under UNIX +Oracle Open Office Calc : typefaces;formats +Oracle Open Office Calc : typography +Oracle Open Office Calc : typography;Asian +Oracle Open Office Calc : underlining +Oracle Open Office Calc : underlining;AutoFormat function +Oracle Open Office Calc : underlining;characters +Oracle Open Office Calc : underlining;text +Oracle Open Office Calc : undocking windows +Oracle Open Office Calc : undoing +Oracle Open Office Calc : undoing;direct formatting +Oracle Open Office Calc : undoing;editing +Oracle Open Office Calc : undoing;number of steps +Oracle Open Office Calc : ungrouping entries in DataPilot tables +Oracle Open Office Calc : ungrouping groups +Oracle Open Office Calc : UNICHAR function +Oracle Open Office Calc : UNICODE function +Oracle Open Office Calc : units +Oracle Open Office Calc : units;converting +Oracle Open Office Calc : units;measurement units +Oracle Open Office Calc : unmerging cells +Oracle Open Office Calc : UNO components +Oracle Open Office Calc : UNO components;Extension Manager +Oracle Open Office Calc : UNO components;integrating new +Oracle Open Office Calc : unprotecting cells +Oracle Open Office Calc : update options +Oracle Open Office Calc : updates +Oracle Open Office Calc : updates;checking automatically +Oracle Open Office Calc : updates;checking manually +Oracle Open Office Calc : updating +Oracle Open Office Calc : updating;DataPilot tables +Oracle Open Office Calc : updating;fields and charts, automatically (Writer) +Oracle Open Office Calc : updating;links in text documents +Oracle Open Office Calc : updating;links, on opening +Oracle Open Office Calc : updating;templates +Oracle Open Office Calc : updating;traces +Oracle Open Office Calc : UPPER function +Oracle Open Office Calc : URL +Oracle Open Office Calc : URL;changing hyperlink URLs +Oracle Open Office Calc : URL;definition +Oracle Open Office Calc : URL;in Calc +Oracle Open Office Calc : URL;in pictures +Oracle Open Office Calc : URL;saving absolute/relative paths +Oracle Open Office Calc : URL;turning off URL recognition +Oracle Open Office Calc : user data +Oracle Open Office Calc : user data;input +Oracle Open Office Calc : user data;removing when saving +Oracle Open Office Calc : user feedback +Oracle Open Office Calc : user feedback;automatically +Oracle Open Office Calc : user-defined dictionaries +Oracle Open Office Calc : user-defined dictionaries;creating +Oracle Open Office Calc : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Calc : user-defined dictionaries;editing +Oracle Open Office Calc : user-defined functions +Oracle Open Office Calc : user-defined styles +Oracle Open Office Calc : user-defined styles;automatically replacing +Oracle Open Office Calc : UTF-8/UCS2 support +Oracle Open Office Calc : validity +Oracle Open Office Calc : VALUE function +Oracle Open Office Calc : values +Oracle Open Office Calc : values;absolute +Oracle Open Office Calc : values;defining names +Oracle Open Office Calc : values;displaying in tables +Oracle Open Office Calc : values;highlighting +Oracle Open Office Calc : values;inserting in multiple cells +Oracle Open Office Calc : values;limiting on input +Oracle Open Office Calc : values;rounded as shown (Calc) +Oracle Open Office Calc : values;rounded in calculations +Oracle Open Office Calc : VAR function +Oracle Open Office Calc : VARA function +Oracle Open Office Calc : variables +Oracle Open Office Calc : variables;calculating equations +Oracle Open Office Calc : variables;defining names +Oracle Open Office Calc : variables;for paths +Oracle Open Office Calc : variances +Oracle Open Office Calc : variances;based on populations +Oracle Open Office Calc : variances;based on samples +Oracle Open Office Calc : variances +Oracle Open Office Calc : variances in charts +Oracle Open Office Calc : VARP function +Oracle Open Office Calc : VARPA function +Oracle Open Office Calc : VBA code +Oracle Open Office Calc : VBA code;loading/saving documents with VBA code +Oracle Open Office Calc : VDB function +Oracle Open Office Calc : version management +Oracle Open Office Calc : version numbers of documents +Oracle Open Office Calc : versions +Oracle Open Office Calc : versions;comparing documents +Oracle Open Office Calc : versions;file saving as, restriction +Oracle Open Office Calc : versions;merging document versions +Oracle Open Office Calc : versions;of a document +Oracle Open Office Calc : versions;Oracle Open Office +Oracle Open Office Calc : vertical callouts +Oracle Open Office Calc : vertical scrollbars (Writer) +Oracle Open Office Calc : vertical search function +Oracle Open Office Calc : vertical text boxes +Oracle Open Office Calc : videos +Oracle Open Office Calc : viewing +Oracle Open Office Calc : viewing;comments on cells +Oracle Open Office Calc : viewing;databases +Oracle Open Office Calc : viewing;file properties +Oracle Open Office Calc : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Calc : viewing;print ranges +Oracle Open Office Calc : viewing;toolbars +Oracle Open Office Calc : views +Oracle Open Office Calc : views;creating database views (Base) +Oracle Open Office Calc : views;defaults +Oracle Open Office Calc : views;full screen +Oracle Open Office Calc : views;icons +Oracle Open Office Calc : views;multiple sheets +Oracle Open Office Calc : views;scaling +Oracle Open Office Calc : views;tables +Oracle Open Office Calc : Visual Basic for Applications +Oracle Open Office Calc : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Calc : VLOOKUP function +Oracle Open Office Calc : watermarks +Oracle Open Office Calc : web documents +Oracle Open Office Calc : web documents;XForms +Oracle Open Office Calc : web pages +Oracle Open Office Calc : web pages;importing data +Oracle Open Office Calc : Web support +Oracle Open Office Calc : WebCast export +Oracle Open Office Calc : WebDAV over HTTPS +Oracle Open Office Calc : WebQuery filter +Oracle Open Office Calc : WEEKDAY function +Oracle Open Office Calc : WEEKNUM function +Oracle Open Office Calc : WEEKNUM_ADD function +Oracle Open Office Calc : WEEKS function +Oracle Open Office Calc : WEEKSINYEAR function +Oracle Open Office Calc : WEIBULL function +Oracle Open Office Calc : what if operations +Oracle Open Office Calc : what if operations;solver +Oracle Open Office Calc : what if operations;two variables +Oracle Open Office Calc : widths of cells +Oracle Open Office Calc : windows +Oracle Open Office Calc : windows;docking +Oracle Open Office Calc : windows;docking definition +Oracle Open Office Calc : windows;hiding/showing/docking +Oracle Open Office Calc : windows;new +Oracle Open Office Calc : windows;splitting +Oracle Open Office Calc : wizards +Oracle Open Office Calc : wizards;agendas +Oracle Open Office Calc : wizards;database queries +Oracle Open Office Calc : wizards;database tables (Base) +Oracle Open Office Calc : wizards;databases (Base) +Oracle Open Office Calc : wizards;document converter +Oracle Open Office Calc : wizards;Euro Converter +Oracle Open Office Calc : wizards;faxes +Oracle Open Office Calc : wizards;forms +Oracle Open Office Calc : wizards;functions +Oracle Open Office Calc : wizards;letters +Oracle Open Office Calc : wizards;macros (Base) +Oracle Open Office Calc : wizards;overview +Oracle Open Office Calc : wizards;presentations +Oracle Open Office Calc : wizards;reports +Oracle Open Office Calc : word completion on/off +Oracle Open Office Calc : Word documents +Oracle Open Office Calc : Word documents;compatibility +Oracle Open Office Calc : Word documents;saving as +Oracle Open Office Calc : WordArt, see Fontwork +Oracle Open Office Calc : words +Oracle Open Office Calc : words;automatically replacing +Oracle Open Office Calc : words;wrapping in cells +Oracle Open Office Calc : words;wrapping in CTL +Oracle Open Office Calc : WORKDAY function +Oracle Open Office Calc : working directory change +Oracle Open Office Calc : worksheet names +Oracle Open Office Calc : wrapping text +Oracle Open Office Calc : wrapping text;in cells +Oracle Open Office Calc : write protection on/off +Oracle Open Office Calc : writing aids options +Oracle Open Office Calc : WYSIWYG in fonts lists +Oracle Open Office Calc : X axes +Oracle Open Office Calc : X axes;grid formatting +Oracle Open Office Calc : X axes;positioning +Oracle Open Office Calc : X axes;scaling +Oracle Open Office Calc : X axes;showing +Oracle Open Office Calc : XForms +Oracle Open Office Calc : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Calc : XForms;conditions +Oracle Open Office Calc : XForms;opening/editing +Oracle Open Office Calc : XIRR function +Oracle Open Office Calc : XML converters +Oracle Open Office Calc : XML file formats +Oracle Open Office Calc : XML filters +Oracle Open Office Calc : XML filters;creating/testing +Oracle Open Office Calc : XML filters;saving as package/installing/deleting +Oracle Open Office Calc : XML filters;settings +Oracle Open Office Calc : XML Forms, see XForms +Oracle Open Office Calc : XNPV function +Oracle Open Office Calc : XSLT filters, see also XML filters +Oracle Open Office Calc : XY charts +Oracle Open Office Calc : Y axes +Oracle Open Office Calc : Y axes;formatting +Oracle Open Office Calc : Y axes;grid formatting +Oracle Open Office Calc : Y axes;positioning +Oracle Open Office Calc : Y axes;scaling +Oracle Open Office Calc : Y axes;showing +Oracle Open Office Calc : YEAR function +Oracle Open Office Calc : YEARFRAC function +Oracle Open Office Calc : years +Oracle Open Office Calc : years;2-digit options +Oracle Open Office Calc : years;2-digits +Oracle Open Office Calc : YEARS function +Oracle Open Office Calc : YIELD function +Oracle Open Office Calc : YIELDDISC function +Oracle Open Office Calc : YIELDMAT function +Oracle Open Office Calc : yields, see also rates of return +Oracle Open Office Calc : Z axes +Oracle Open Office Calc : Z axes;grid formatting +Oracle Open Office Calc : Z axes;showing +Oracle Open Office Calc : zero values +Oracle Open Office Calc : zero values;displaying (Calc) +Oracle Open Office Calc : zero values;entering leading zeros +Oracle Open Office Calc : zero values;printing +Oracle Open Office Calc : zooming +Oracle Open Office Calc : zooming;enlarging page views +Oracle Open Office Calc : zooming;page views +Oracle Open Office Calc : zooming;pictures +Oracle Open Office Calc : zooming;reducing page views +Oracle Open Office Calc : zooming;status bar +Oracle Open Office Calc : ZTEST function +Oracle Open Office Base : 3D text creation +Oracle Open Office Base : abbreviation replacement +Oracle Open Office Base : absolute hyperlinks +Oracle Open Office Base : absolute saving of URLs +Oracle Open Office Base : accents +Oracle Open Office Base : Access databases (base) +Oracle Open Office Base : access rights for database tables (Base) +Oracle Open Office Base : accessibility +Oracle Open Office Base : accessibility;general shortcuts +Oracle Open Office Base : accessibility;options +Oracle Open Office Base : accessibility;Oracle Open Office assistive technology +Oracle Open Office Base : accessibility;Oracle Open Office features +Oracle Open Office Base : activating +Oracle Open Office Base : activating;context menus +Oracle Open Office Base : activating;Error Report Tool +Oracle Open Office Base : activating;extended help tips +Oracle Open Office Base : activating;plug-ins +Oracle Open Office Base : ActiveX control +Oracle Open Office Base : Adabas D databases (base) +Oracle Open Office Base : add-ons, see UNO components +Oracle Open Office Base : additional selection mode +Oracle Open Office Base : address books +Oracle Open Office Base : address books;LDAP server (Base) +Oracle Open Office Base : address books;registering +Oracle Open Office Base : address labels from databases +Oracle Open Office Base : ADO databases (Base) +Oracle Open Office Base : Agenda Wizard +Oracle Open Office Base : aging filter +Oracle Open Office Base : aligning +Oracle Open Office Base : aligning;cells +Oracle Open Office Base : aligning;objects +Oracle Open Office Base : aligning;paragraphs +Oracle Open Office Base : aligning;tables in text +Oracle Open Office Base : aligning;text objects +Oracle Open Office Base : alternative fonts +Oracle Open Office Base : ampersand symbol, see also operators +Oracle Open Office Base : anchors +Oracle Open Office Base : anchors;changing +Oracle Open Office Base : anchors;displaying (Calc) +Oracle Open Office Base : anchors;types/positions for draw objects +Oracle Open Office Base : animations +Oracle Open Office Base : animations;accessibility options +Oracle Open Office Base : appearance options +Oracle Open Office Base : Arabic +Oracle Open Office Base : Arabic;entering text +Oracle Open Office Base : Arabic;language settings +Oracle Open Office Base : areas +Oracle Open Office Base : areas;bitmap patterns +Oracle Open Office Base : areas;hatched/dotted +Oracle Open Office Base : areas;shadows +Oracle Open Office Base : areas;slanting +Oracle Open Office Base : areas;styles +Oracle Open Office Base : areas;transparency +Oracle Open Office Base : arguments in command line +Oracle Open Office Base : arranging +Oracle Open Office Base : arranging;objects +Oracle Open Office Base : arrows +Oracle Open Office Base : arrows;defining arrow heads +Oracle Open Office Base : arrows;defining arrow lines +Oracle Open Office Base : arrows;drawing in text +Oracle Open Office Base : ASCII +Oracle Open Office Base : ASCII;definition +Oracle Open Office Base : Asian languages +Oracle Open Office Base : Asian languages;enabling +Oracle Open Office Base : Asian Phonetic Guide +Oracle Open Office Base : Asian typography +Oracle Open Office Base : assigning scripts +Oracle Open Office Base : assistive technology in Oracle Open Office +Oracle Open Office Base : attaching toolbars +Oracle Open Office Base : attachments in e-mails +Oracle Open Office Base : audio +Oracle Open Office Base : auto reloading HTML documents +Oracle Open Office Base : AutoAbstract function for sending text to presentations +Oracle Open Office Base : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Base : AutoComplete function in text and list boxes +Oracle Open Office Base : AutoCorrect function +Oracle Open Office Base : AutoCorrect function;context menu +Oracle Open Office Base : AutoCorrect function;options +Oracle Open Office Base : AutoCorrect function;pictures and frames +Oracle Open Office Base : AutoCorrect function;quotes +Oracle Open Office Base : AutoCorrect function;replacement table +Oracle Open Office Base : AutoCorrect function;switching on and off in Calc +Oracle Open Office Base : AutoCorrect function;URL recognition +Oracle Open Office Base : AutoFormat function +Oracle Open Office Base : AutoFormat function;switching on and off +Oracle Open Office Base : automatic captions (Writer) +Oracle Open Office Base : automatic control focus +Oracle Open Office Base : automatic hyperlink formatting +Oracle Open Office Base : automatic line breaks +Oracle Open Office Base : automatic lines/borders in text +Oracle Open Office Base : automatic saving +Oracle Open Office Base : AutoPilots, see wizards +Oracle Open Office Base : AutoValue (Base) +Oracle Open Office Base : axes in charts +Oracle Open Office Base : backgrounds +Oracle Open Office Base : backgrounds;defining colors/pictures +Oracle Open Office Base : backgrounds;frames/sections/indexes +Oracle Open Office Base : backgrounds;inserting from Gallery +Oracle Open Office Base : backgrounds;printing +Oracle Open Office Base : backing window +Oracle Open Office Base : backups +Oracle Open Office Base : backups;automatic +Oracle Open Office Base : backups;documents +Oracle Open Office Base : Basic +Oracle Open Office Base : Basic;fonts for source display +Oracle Open Office Base : Basic;programming +Oracle Open Office Base : Basic;recording macros +Oracle Open Office Base : basic fonts +Oracle Open Office Base : Bézier curves +Oracle Open Office Base : Bézier curves;control points in presentations +Oracle Open Office Base : bi-directional writing +Oracle Open Office Base : binding space +Oracle Open Office Base : bitmaps +Oracle Open Office Base : bitmaps;inserting and editing +Oracle Open Office Base : bitmaps;off for faster printing +Oracle Open Office Base : bitmaps;patterns +Oracle Open Office Base : black and white printing +Oracle Open Office Base : black printing in Calc +Oracle Open Office Base : block selection mode +Oracle Open Office Base : bold +Oracle Open Office Base : bold;AutoFormat function +Oracle Open Office Base : bold;text +Oracle Open Office Base : bookmarks +Oracle Open Office Base : bookmarks;Help +Oracle Open Office Base : borders +Oracle Open Office Base : borders;arranging +Oracle Open Office Base : borders;cells on screen (Calc) +Oracle Open Office Base : borders;for paragraphs +Oracle Open Office Base : borders;for tables +Oracle Open Office Base : borders;shadows +Oracle Open Office Base : borders;table boundaries (Writer) +Oracle Open Office Base : borders, see also frames +Oracle Open Office Base : bound fields +Oracle Open Office Base : bound fields;controls +Oracle Open Office Base : boundaries of tables (Writer) +Oracle Open Office Base : break display (Writer) +Oracle Open Office Base : brochures +Oracle Open Office Base : brochures;printing several +Oracle Open Office Base : build numbers of Oracle Open Office +Oracle Open Office Base : bullet lists +Oracle Open Office Base : bullet lists;formatting options +Oracle Open Office Base : bullets +Oracle Open Office Base : bullets;paragraphs +Oracle Open Office Base : bullets;replacing +Oracle Open Office Base : bullets;turning off +Oracle Open Office Base : business cards +Oracle Open Office Base : business cards;creating and synchronizing +Oracle Open Office Base : business cards;using templates +Oracle Open Office Base : button bars, see toolbars +Oracle Open Office Base : buttons +Oracle Open Office Base : buttons;adding push buttons +Oracle Open Office Base : buttons;big/small +Oracle Open Office Base : buttons;editing hyperlink buttons +Oracle Open Office Base : buttons;form functions +Oracle Open Office Base : buttons;toolbars +Oracle Open Office Base : cache for graphics +Oracle Open Office Base : calculating +Oracle Open Office Base : calculating;iterative references (Calc) +Oracle Open Office Base : callouts +Oracle Open Office Base : callouts;drawings +Oracle Open Office Base : capital letters +Oracle Open Office Base : capital letters;AutoCorrect function +Oracle Open Office Base : capital letters;font effects +Oracle Open Office Base : captions +Oracle Open Office Base : captions;automatic captions (Writer) +Oracle Open Office Base : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Base : captions, see also labels/callouts +Oracle Open Office Base : cascading update (Base) +Oracle Open Office Base : case sensitivity +Oracle Open Office Base : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Base : case sensitivity;searching +Oracle Open Office Base : cells +Oracle Open Office Base : cells;aligning +Oracle Open Office Base : cells;coloring (Calc) +Oracle Open Office Base : cells;cursor positions after input (Calc) +Oracle Open Office Base : cells;formatting without effect (Calc) +Oracle Open Office Base : cells;line breaks +Oracle Open Office Base : cells;linked to controls +Oracle Open Office Base : cells;number of +Oracle Open Office Base : cells;pasting +Oracle Open Office Base : cells;resetting formats +Oracle Open Office Base : cells;showing grid lines (Calc) +Oracle Open Office Base : centered text +Oracle Open Office Base : centimeters +Oracle Open Office Base : certificates +Oracle Open Office Base : changes +Oracle Open Office Base : changes;accepting or rejecting +Oracle Open Office Base : changes;comparing to original +Oracle Open Office Base : changes;protecting +Oracle Open Office Base : changes;recording +Oracle Open Office Base : changes;review function +Oracle Open Office Base : changes;showing +Oracle Open Office Base : changing +Oracle Open Office Base : changing;document titles +Oracle Open Office Base : changing;file associations in Setup program +Oracle Open Office Base : changing;icon sizes +Oracle Open Office Base : changing;links +Oracle Open Office Base : changing;work directory +Oracle Open Office Base : changing, see also editing and replacing +Oracle Open Office Base : character styles +Oracle Open Office Base : character styles;language selection +Oracle Open Office Base : characters +Oracle Open Office Base : characters;alternative fonts +Oracle Open Office Base : characters;Asian layout +Oracle Open Office Base : characters;bold +Oracle Open Office Base : characters;coloring +Oracle Open Office Base : characters;displaying only on screen (Writer) +Oracle Open Office Base : characters;enabling CTL and Asian characters +Oracle Open Office Base : characters;font effects +Oracle Open Office Base : characters;fonts and formats +Oracle Open Office Base : characters;hyperlinks +Oracle Open Office Base : characters;italics +Oracle Open Office Base : characters;language selection +Oracle Open Office Base : characters;shadowed +Oracle Open Office Base : characters;spacing +Oracle Open Office Base : characters;special +Oracle Open Office Base : characters;underlining +Oracle Open Office Base : charcoal sketches filter +Oracle Open Office Base : charts +Oracle Open Office Base : charts;arranging within stacks +Oracle Open Office Base : charts;bars with textures +Oracle Open Office Base : charts;colors +Oracle Open Office Base : charts;copying with link to source cell range +Oracle Open Office Base : charts;displaying (Calc) +Oracle Open Office Base : charts;editing axes +Oracle Open Office Base : charts;editing data +Oracle Open Office Base : charts;editing legends +Oracle Open Office Base : charts;editing titles +Oracle Open Office Base : charts;inserting +Oracle Open Office Base : charts;updating automatically (Writer) +Oracle Open Office Base : check box creation +Oracle Open Office Base : Chinese writing systems +Oracle Open Office Base : choosing printers +Oracle Open Office Base : circle drawings +Oracle Open Office Base : Client Side ImageMap +Oracle Open Office Base : clipboard +Oracle Open Office Base : clipboard;cutting +Oracle Open Office Base : clipboard;pasting +Oracle Open Office Base : clipboard;pasting formatted/unformatted text +Oracle Open Office Base : clipboard;selection clipboard +Oracle Open Office Base : clipboard;Unix +Oracle Open Office Base : closing +Oracle Open Office Base : closing;documents +Oracle Open Office Base : closing;toolbars +Oracle Open Office Base : collaboration +Oracle Open Office Base : color bar +Oracle Open Office Base : colors +Oracle Open Office Base : colors;adding +Oracle Open Office Base : colors;appearance +Oracle Open Office Base : colors;backgrounds +Oracle Open Office Base : colors;charts +Oracle Open Office Base : colors;fill format +Oracle Open Office Base : colors;fonts +Oracle Open Office Base : colors;grid lines and cells (Calc) +Oracle Open Office Base : colors;models +Oracle Open Office Base : colors;not printing +Oracle Open Office Base : colors;printing in grayscale +Oracle Open Office Base : colors;restriction (Calc) +Oracle Open Office Base : colors;selection +Oracle Open Office Base : column headers +Oracle Open Office Base : column headers;displaying (Calc) +Oracle Open Office Base : column headers;highlighting (Calc) +Oracle Open Office Base : columns +Oracle Open Office Base : columns;setting with the mouse +Oracle Open Office Base : combo box creation +Oracle Open Office Base : command button creation +Oracle Open Office Base : command buttons, see push buttons +Oracle Open Office Base : command line parameters +Oracle Open Office Base : commands +Oracle Open Office Base : commands;repeating +Oracle Open Office Base : commands;SQL +Oracle Open Office Base : comments +Oracle Open Office Base : comments;displaying (Calc) +Oracle Open Office Base : comments;inserting/editing/deleting/printing +Oracle Open Office Base : comments;on changes +Oracle Open Office Base : comments;printing in text +Oracle Open Office Base : common terms +Oracle Open Office Base : common terms;Chinese dictionary +Oracle Open Office Base : common terms;glossaries +Oracle Open Office Base : common terms;Internet glossary +Oracle Open Office Base : comparisons +Oracle Open Office Base : comparisons;document versions +Oracle Open Office Base : comparisons;operators in default filter dialog +Oracle Open Office Base : compatibility settings for MS Word import +Oracle Open Office Base : complete screen view +Oracle Open Office Base : complex text layout +Oracle Open Office Base : complex text layout;definition +Oracle Open Office Base : complex text layout;enabling +Oracle Open Office Base : complex text layout, see CTL +Oracle Open Office Base : compose key to insert special characters +Oracle Open Office Base : concatenation, see ampersand symbol +Oracle Open Office Base : conditional separators +Oracle Open Office Base : conditions +Oracle Open Office Base : conditions;in number formats +Oracle Open Office Base : conditions;items in Data Navigator +Oracle Open Office Base : Configuration Manager +Oracle Open Office Base : configuring +Oracle Open Office Base : configuring;fax icon +Oracle Open Office Base : configuring;Oracle Open Office +Oracle Open Office Base : configuring;toolbars +Oracle Open Office Base : connections to data sources (Base) +Oracle Open Office Base : contents protection +Oracle Open Office Base : context menus +Oracle Open Office Base : control point display in presentations +Oracle Open Office Base : controls +Oracle Open Office Base : controls;activating in forms +Oracle Open Office Base : controls;adding to documents +Oracle Open Office Base : controls;arranging in forms +Oracle Open Office Base : controls;arranging within stacks +Oracle Open Office Base : controls;assigning data sources +Oracle Open Office Base : controls;assigning macros (Basic) +Oracle Open Office Base : controls;bound fields/list contents/linked cells +Oracle Open Office Base : controls;events +Oracle Open Office Base : controls;focus +Oracle Open Office Base : controls;formatted fields +Oracle Open Office Base : controls;grouping +Oracle Open Office Base : controls;hidden +Oracle Open Office Base : controls;inserting +Oracle Open Office Base : controls;multi-line titles +Oracle Open Office Base : controls;positions and sizes +Oracle Open Office Base : controls;printing +Oracle Open Office Base : controls;properties of form controls +Oracle Open Office Base : controls;properties of table controls +Oracle Open Office Base : controls;reference by SQL +Oracle Open Office Base : controls;rich text control +Oracle Open Office Base : controls;select mode +Oracle Open Office Base : controls;showing (Writer) +Oracle Open Office Base : converters +Oracle Open Office Base : converters;Euro converter +Oracle Open Office Base : converters;PostScript, UNIX +Oracle Open Office Base : converters;XML +Oracle Open Office Base : converting +Oracle Open Office Base : converting;Hangul/Hanja +Oracle Open Office Base : converting;metrics +Oracle Open Office Base : converting;Microsoft documents +Oracle Open Office Base : converting;Oracle Open Office documents +Oracle Open Office Base : converting;Pocket PC formats +Oracle Open Office Base : copies +Oracle Open Office Base : copies;printing +Oracle Open Office Base : copying +Oracle Open Office Base : copying;by drag and drop +Oracle Open Office Base : copying;data from text documents +Oracle Open Office Base : copying;datasource records in spreadsheets +Oracle Open Office Base : copying;draw objects +Oracle Open Office Base : copying;draw objects between documents +Oracle Open Office Base : copying;formatting +Oracle Open Office Base : copying;from data source view +Oracle Open Office Base : copying;from Gallery +Oracle Open Office Base : copying;in Unix +Oracle Open Office Base : copying;pictures, between documents +Oracle Open Office Base : copying;sheet areas, to text documents +Oracle Open Office Base : copying;to Gallery +Oracle Open Office Base : copyright for Oracle Open Office +Oracle Open Office Base : corner roundings +Oracle Open Office Base : crash reports +Oracle Open Office Base : criteria of query design (Base) +Oracle Open Office Base : cropping pictures +Oracle Open Office Base : CTL +Oracle Open Office Base : CTL;(not) wrapping words +Oracle Open Office Base : CTL;complex text layout languages +Oracle Open Office Base : CTL;definition +Oracle Open Office Base : CTL;options +Oracle Open Office Base : currencies +Oracle Open Office Base : currencies;converters +Oracle Open Office Base : currencies;format codes +Oracle Open Office Base : currency field creation +Oracle Open Office Base : currency formats +Oracle Open Office Base : cursor +Oracle Open Office Base : cursor;allowing in protected areas (Writer) +Oracle Open Office Base : cursor;in read-only text +Oracle Open Office Base : cursor;quickly moving to an object +Oracle Open Office Base : curves +Oracle Open Office Base : curves;editing points +Oracle Open Office Base : custom dictionaries +Oracle Open Office Base : custom dictionaries;editing +Oracle Open Office Base : custom hyphens (Writer) +Oracle Open Office Base : custom quotes +Oracle Open Office Base : custom templates +Oracle Open Office Base : customizing +Oracle Open Office Base : customizing;events +Oracle Open Office Base : customizing;keyboard +Oracle Open Office Base : customizing;menus +Oracle Open Office Base : customizing;Oracle Open Office +Oracle Open Office Base : customizing;round corners +Oracle Open Office Base : customizing;toolbars +Oracle Open Office Base : cutting +Oracle Open Office Base : dashes +Oracle Open Office Base : data +Oracle Open Office Base : data;filtering in forms +Oracle Open Office Base : data;forms and subforms +Oracle Open Office Base : data;read-only +Oracle Open Office Base : data;sorting in forms +Oracle Open Office Base : data;user data +Oracle Open Office Base : data binding change in XForms +Oracle Open Office Base : Data Navigator +Oracle Open Office Base : Data Navigator;adding/editing items +Oracle Open Office Base : Data Navigator;display options +Oracle Open Office Base : data source browser +Oracle Open Office Base : data source explorer +Oracle Open Office Base : data source view +Oracle Open Office Base : data source view;drag and drop +Oracle Open Office Base : data source view;overview +Oracle Open Office Base : data source view;showing +Oracle Open Office Base : data sources +Oracle Open Office Base : data sources;as tables +Oracle Open Office Base : data sources;connection settings (Base) +Oracle Open Office Base : data sources;copying records to spreadsheets +Oracle Open Office Base : data sources;displaying current +Oracle Open Office Base : data sources;LDAP server (Base) +Oracle Open Office Base : data sources;Oracle Open Office Base +Oracle Open Office Base : data sources;registering address books +Oracle Open Office Base : data sources;reports +Oracle Open Office Base : data sources;viewing +Oracle Open Office Base : data structure of XForms +Oracle Open Office Base : data, see also values +Oracle Open Office Base : database contents +Oracle Open Office Base : database contents;inserting as tables +Oracle Open Office Base : database contents;inserting as text +Oracle Open Office Base : database reports +Oracle Open Office Base : Database Wizard (Base) +Oracle Open Office Base : databases +Oracle Open Office Base : databases;administration through SQL (Base) +Oracle Open Office Base : databases;ADO (Base) +Oracle Open Office Base : databases;connecting (Base) +Oracle Open Office Base : databases;creating +Oracle Open Office Base : databases;creating labels +Oracle Open Office Base : databases;creating queries +Oracle Open Office Base : databases;creating reports +Oracle Open Office Base : databases;creating tables +Oracle Open Office Base : databases;deleting (Base) +Oracle Open Office Base : databases;drag and drop (Base) +Oracle Open Office Base : databases;editing tables +Oracle Open Office Base : databases;form filters +Oracle Open Office Base : databases;formats (Base) +Oracle Open Office Base : databases;importing/exporting +Oracle Open Office Base : databases;JDBC (Base) +Oracle Open Office Base : databases;main page (Base) +Oracle Open Office Base : databases;ODBC (Base) +Oracle Open Office Base : databases;overview +Oracle Open Office Base : databases;registering (Base) +Oracle Open Office Base : databases;searching records +Oracle Open Office Base : databases;shortcut keys +Oracle Open Office Base : databases;sorting +Oracle Open Office Base : databases;standard filters +Oracle Open Office Base : databases;text formats +Oracle Open Office Base : databases;viewing +Oracle Open Office Base : date fields +Oracle Open Office Base : date fields;creating +Oracle Open Office Base : date fields;properties +Oracle Open Office Base : date formats +Oracle Open Office Base : dates +Oracle Open Office Base : dates;default (Calc) +Oracle Open Office Base : dates;printing in presentations +Oracle Open Office Base : dates;start 1900/01/01 (Calc) +Oracle Open Office Base : dates;start 1904/01/01 (Calc) +Oracle Open Office Base : dBASE +Oracle Open Office Base : dBASE;database settings (Base) +Oracle Open Office Base : DDE +Oracle Open Office Base : DDE;definition +Oracle Open Office Base : deactivating +Oracle Open Office Base : deactivating;plug-ins +Oracle Open Office Base : decimal places displayed (Calc) +Oracle Open Office Base : decimal separator key +Oracle Open Office Base : decimal tab stops +Oracle Open Office Base : default directories +Oracle Open Office Base : default filters +Oracle Open Office Base : default filters;comparison operators +Oracle Open Office Base : default filters;databases +Oracle Open Office Base : default printer +Oracle Open Office Base : default printer;setting up +Oracle Open Office Base : default printer;UNIX +Oracle Open Office Base : default templates +Oracle Open Office Base : default templates;changing +Oracle Open Office Base : default templates;organizing +Oracle Open Office Base : defaults +Oracle Open Office Base : defaults;documents +Oracle Open Office Base : defaults;file formats in file dialogs +Oracle Open Office Base : defaults;file formats in Oracle Open Office +Oracle Open Office Base : defaults;fonts +Oracle Open Office Base : defaults;grids (Writer/Calc) +Oracle Open Office Base : defaults;languages +Oracle Open Office Base : defaults;number formats +Oracle Open Office Base : defaults;of saving +Oracle Open Office Base : defaults;program configuration +Oracle Open Office Base : defaults;tab stops in text +Oracle Open Office Base : defaults;views +Oracle Open Office Base : defining +Oracle Open Office Base : defining;arrowheads and other line ends +Oracle Open Office Base : defining;colors +Oracle Open Office Base : defining;line styles +Oracle Open Office Base : defining;paragraph borders +Oracle Open Office Base : defining;queries (Base) +Oracle Open Office Base : defining;table borders +Oracle Open Office Base : deleting +Oracle Open Office Base : deleting;all direct formatting +Oracle Open Office Base : deleting;comments +Oracle Open Office Base : deleting;databases (Base) +Oracle Open Office Base : deleting;hyperlinks +Oracle Open Office Base : deleting;lines in text +Oracle Open Office Base : deleting;models/instances +Oracle Open Office Base : deleting;namespaces in XForms +Oracle Open Office Base : deleting;tab stops +Oracle Open Office Base : deleting;templates +Oracle Open Office Base : deleting;XML filters +Oracle Open Office Base : depth stagger +Oracle Open Office Base : descriptions for objects +Oracle Open Office Base : design mode after saving +Oracle Open Office Base : design view +Oracle Open Office Base : design view;creating forms +Oracle Open Office Base : design view;queries/views (Base) +Oracle Open Office Base : designing +Oracle Open Office Base : designing;database tables +Oracle Open Office Base : designing;fonts +Oracle Open Office Base : designing;queries (Base) +Oracle Open Office Base : detaching toolbars +Oracle Open Office Base : dictionaries +Oracle Open Office Base : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Base : dictionaries;creating +Oracle Open Office Base : dictionaries;editing user-defined +Oracle Open Office Base : dictionaries;spellcheck +Oracle Open Office Base : dictionaries, see also languages +Oracle Open Office Base : digital signatures +Oracle Open Office Base : digital signatures;getting/managing/applying +Oracle Open Office Base : digital signatures;overview +Oracle Open Office Base : digital signatures;WebDAV over HTTPS +Oracle Open Office Base : direct formatting +Oracle Open Office Base : direct formatting;undoing all +Oracle Open Office Base : directories +Oracle Open Office Base : directories;creating new +Oracle Open Office Base : directories;directory structure +Oracle Open Office Base : disabled persons +Oracle Open Office Base : displaying +Oracle Open Office Base : displaying;comments (Calc) +Oracle Open Office Base : displaying;comments in text documents +Oracle Open Office Base : displaying;non-printing characters (Writer) +Oracle Open Office Base : displaying;pictures and objects (Writer) +Oracle Open Office Base : displaying;tables (Writer) +Oracle Open Office Base : displaying;zero values (Calc) +Oracle Open Office Base : distances +Oracle Open Office Base : distinct values in SQL queries +Oracle Open Office Base : distorting in drawings +Oracle Open Office Base : distributing XML filters +Oracle Open Office Base : docking +Oracle Open Office Base : docking;definition +Oracle Open Office Base : docking;toolbars +Oracle Open Office Base : docking;windows +Oracle Open Office Base : Document Converter Wizard +Oracle Open Office Base : Document Map, see Navigator +Oracle Open Office Base : document types in Oracle Open Office +Oracle Open Office Base : documents +Oracle Open Office Base : documents;changing titles +Oracle Open Office Base : documents;closing +Oracle Open Office Base : documents;comparing +Oracle Open Office Base : documents;contents as lists +Oracle Open Office Base : documents;editing time +Oracle Open Office Base : documents;exporting +Oracle Open Office Base : documents;importing +Oracle Open Office Base : documents;languages +Oracle Open Office Base : documents;measurement units in +Oracle Open Office Base : documents;merging +Oracle Open Office Base : documents;number of pages/tables/sheets +Oracle Open Office Base : documents;opening +Oracle Open Office Base : documents;opening in design mode +Oracle Open Office Base : documents;opening with templates +Oracle Open Office Base : documents;organizing +Oracle Open Office Base : documents;printing +Oracle Open Office Base : documents;read-only +Oracle Open Office Base : documents;reloading +Oracle Open Office Base : documents;saving +Oracle Open Office Base : documents;saving automatically +Oracle Open Office Base : documents;saving in other formats +Oracle Open Office Base : documents;sending as e-mail +Oracle Open Office Base : documents;styles changed +Oracle Open Office Base : documents;version management +Oracle Open Office Base : documents;version numbers +Oracle Open Office Base : dotted areas +Oracle Open Office Base : double-line spacing in paragraphs +Oracle Open Office Base : double-line writing in Asian layout +Oracle Open Office Base : drag and drop +Oracle Open Office Base : drag and drop;copying and pasting text +Oracle Open Office Base : drag and drop;data source view +Oracle Open Office Base : drag and drop;from Gallery to draw objects +Oracle Open Office Base : drag and drop;overview +Oracle Open Office Base : drag and drop;pictures +Oracle Open Office Base : drag and drop;to Gallery +Oracle Open Office Base : draw objects +Oracle Open Office Base : draw objects;adding/editing/copying +Oracle Open Office Base : draw objects;anchoring +Oracle Open Office Base : draw objects;arranging within stacks +Oracle Open Office Base : draw objects;copying between documents +Oracle Open Office Base : draw objects;displaying (Calc) +Oracle Open Office Base : draw objects;dropping Gallery pictures +Oracle Open Office Base : draw objects;flipping +Oracle Open Office Base : draw objects;legends +Oracle Open Office Base : draw objects;positioning and resizing +Oracle Open Office Base : draw objects;protecting +Oracle Open Office Base : draw objects;slanting +Oracle Open Office Base : draw objects;text in +Oracle Open Office Base : Drawing bar +Oracle Open Office Base : drawing lines in text +Oracle Open Office Base : drawings +Oracle Open Office Base : drawings;creating/opening +Oracle Open Office Base : drawings;languages +Oracle Open Office Base : drawings;printing +Oracle Open Office Base : drawings;printing defaults +Oracle Open Office Base : drawings;printing in text documents +Oracle Open Office Base : drawings;saving +Oracle Open Office Base : drawings;saving automatically +Oracle Open Office Base : drawings;saving in other formats +Oracle Open Office Base : drawings;sending as e-mail +Oracle Open Office Base : drawings;showing (Writer) +Oracle Open Office Base : drawings, see also draw objects +Oracle Open Office Base : drop-down lists in form functions +Oracle Open Office Base : e-mail attachments +Oracle Open Office Base : Edit File icon +Oracle Open Office Base : edit mode +Oracle Open Office Base : edit mode;after opening +Oracle Open Office Base : edit mode;through Enter key (Calc) +Oracle Open Office Base : Edit Points bar +Oracle Open Office Base : editing +Oracle Open Office Base : editing;chart axes +Oracle Open Office Base : editing;chart data +Oracle Open Office Base : editing;chart legends +Oracle Open Office Base : editing;chart titles +Oracle Open Office Base : editing;comments +Oracle Open Office Base : editing;data binding of XForms +Oracle Open Office Base : editing;database tables and queries +Oracle Open Office Base : editing;draw objects +Oracle Open Office Base : editing;Fontwork objects +Oracle Open Office Base : editing;hyperlinks +Oracle Open Office Base : editing;menus +Oracle Open Office Base : editing;objects +Oracle Open Office Base : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Base : editing;pictures +Oracle Open Office Base : editing;reports +Oracle Open Office Base : editing;shortcut keys +Oracle Open Office Base : editing;tab stops +Oracle Open Office Base : editing;templates +Oracle Open Office Base : editing;toolbars +Oracle Open Office Base : editing;undoing +Oracle Open Office Base : editing;XForms +Oracle Open Office Base : editing time of documents +Oracle Open Office Base : editors +Oracle Open Office Base : editors;formula editor +Oracle Open Office Base : editors;ImageMap editor +Oracle Open Office Base : effects +Oracle Open Office Base : effects;font positions +Oracle Open Office Base : effects;fonts +Oracle Open Office Base : effects;Fontwork icons +Oracle Open Office Base : empty documents +Oracle Open Office Base : empty paragraph removal +Oracle Open Office Base : encryption of contents +Oracle Open Office Base : entering groups +Oracle Open Office Base : entering text from right to left +Oracle Open Office Base : equal sign, see also operators +Oracle Open Office Base : equations in formula editor +Oracle Open Office Base : Error Report Tool +Oracle Open Office Base : Euro +Oracle Open Office Base : Euro;currency formats +Oracle Open Office Base : Euro;Euro Converter Wizard +Oracle Open Office Base : even/odd pages +Oracle Open Office Base : even/odd pages;printing +Oracle Open Office Base : events +Oracle Open Office Base : events;assigning scripts +Oracle Open Office Base : events;controls +Oracle Open Office Base : events;customizing +Oracle Open Office Base : events;in forms +Oracle Open Office Base : Excel +Oracle Open Office Base : Excel;saving as +Oracle Open Office Base : Excel;search criteria +Oracle Open Office Base : exceptions +Oracle Open Office Base : exceptions;user-defined dictionaries +Oracle Open Office Base : exchanging, see also replacing +Oracle Open Office Base : executing SQL commands +Oracle Open Office Base : exiting +Oracle Open Office Base : exiting;groups +Oracle Open Office Base : exiting;Oracle Open Office +Oracle Open Office Base : expanding formatting (Calc) +Oracle Open Office Base : explorer of data sources +Oracle Open Office Base : export filters +Oracle Open Office Base : exporting +Oracle Open Office Base : exporting;bitmaps +Oracle Open Office Base : exporting;HTML and text documents +Oracle Open Office Base : exporting;Microsoft Office documents with VBA code +Oracle Open Office Base : exporting;spreadsheets to text format +Oracle Open Office Base : exporting;templates +Oracle Open Office Base : exporting;to foreign formats +Oracle Open Office Base : exporting;to HTML +Oracle Open Office Base : exporting;to Microsoft Office formats +Oracle Open Office Base : exporting;to PDF +Oracle Open Office Base : exporting;to PostScript format +Oracle Open Office Base : exporting;to XML +Oracle Open Office Base : exporting;XML files +Oracle Open Office Base : extended tips in Help +Oracle Open Office Base : extension mode in text +Oracle Open Office Base : extensions +Oracle Open Office Base : extensions;Extension Manager +Oracle Open Office Base : extensions;file formats +Oracle Open Office Base : external keys (Base) +Oracle Open Office Base : faster printing +Oracle Open Office Base : faxes +Oracle Open Office Base : faxes;configuring Oracle Open Office +Oracle Open Office Base : faxes;fax programs/fax printers under UNIX +Oracle Open Office Base : faxes;selecting a fax machine +Oracle Open Office Base : faxes;sending +Oracle Open Office Base : faxes;wizards +Oracle Open Office Base : feedback +Oracle Open Office Base : feedback;automatically +Oracle Open Office Base : fields +Oracle Open Office Base : fields;database tables +Oracle Open Office Base : fields;displaying field codes (Writer) +Oracle Open Office Base : fields;formatted fields +Oracle Open Office Base : fields;updating automatically (Writer) +Oracle Open Office Base : file associations for Microsoft Office +Oracle Open Office Base : file filters +Oracle Open Office Base : file filters;mobile devices +Oracle Open Office Base : file filters;XML +Oracle Open Office Base : file formats +Oracle Open Office Base : file formats;changing Oracle Open Office defaults +Oracle Open Office Base : file formats;OpenDocument/XML +Oracle Open Office Base : file formats;saving always in other formats +Oracle Open Office Base : file selection button +Oracle Open Office Base : file sharing options for current document +Oracle Open Office Base : files +Oracle Open Office Base : files;filters and formats +Oracle Open Office Base : files;importing +Oracle Open Office Base : files;opening +Oracle Open Office Base : files;properties +Oracle Open Office Base : files;saving +Oracle Open Office Base : files;saving automatically +Oracle Open Office Base : files;saving in other formats +Oracle Open Office Base : files;sending as e-mail +Oracle Open Office Base : files;version numbers +Oracle Open Office Base : files and folders in Oracle Open Office +Oracle Open Office Base : fill characters with tabulators +Oracle Open Office Base : fill colors for areas +Oracle Open Office Base : fill patterns for areas +Oracle Open Office Base : filter conditions +Oracle Open Office Base : filter conditions;connecting +Oracle Open Office Base : filter conditions;in queries (Base) +Oracle Open Office Base : filtering +Oracle Open Office Base : filtering;data in databases +Oracle Open Office Base : filtering;data in forms +Oracle Open Office Base : filters +Oracle Open Office Base : filters;comparison operators +Oracle Open Office Base : filters;for import and export +Oracle Open Office Base : filters;Navigator +Oracle Open Office Base : filters;pictures +Oracle Open Office Base : filters;XML filter settings +Oracle Open Office Base : Find tab in Help +Oracle Open Office Base : finding +Oracle Open Office Base : finding;in all sheets +Oracle Open Office Base : finding;records in form documents +Oracle Open Office Base : finding;selections +Oracle Open Office Base : finding;similarity search +Oracle Open Office Base : fitting to pages +Oracle Open Office Base : fitting to pages;print settings in Math +Oracle Open Office Base : fitting to pages;print settings in presentations +Oracle Open Office Base : fixed text +Oracle Open Office Base : fixed text;form functions +Oracle Open Office Base : fixing toolbars +Oracle Open Office Base : flipping draw objects +Oracle Open Office Base : floating frames in HTML documents +Oracle Open Office Base : floating toolbars +Oracle Open Office Base : focus of controls +Oracle Open Office Base : folder creation +Oracle Open Office Base : font lists +Oracle Open Office Base : font name box +Oracle Open Office Base : font sizes +Oracle Open Office Base : font sizes;bullets +Oracle Open Office Base : font sizes;relative changes +Oracle Open Office Base : font sizes;scaling on screen +Oracle Open Office Base : font sizes;text +Oracle Open Office Base : fonts +Oracle Open Office Base : fonts;adding under UNIX +Oracle Open Office Base : fonts;changing in templates +Oracle Open Office Base : fonts;colors +Oracle Open Office Base : fonts;default settings +Oracle Open Office Base : fonts;effects +Oracle Open Office Base : fonts;for HTML and Basic +Oracle Open Office Base : fonts;formats +Oracle Open Office Base : fonts;outlines +Oracle Open Office Base : fonts;positions in text +Oracle Open Office Base : fonts;shadows +Oracle Open Office Base : fonts;specifying several +Oracle Open Office Base : fonts;strikethrough +Oracle Open Office Base : fonts;styles +Oracle Open Office Base : fonts;text objects +Oracle Open Office Base : Fontwork icons +Oracle Open Office Base : footers +Oracle Open Office Base : footers;backgrounds +Oracle Open Office Base : form controls +Oracle Open Office Base : form controls;assigning macros +Oracle Open Office Base : form controls;protecting +Oracle Open Office Base : form controls;toolbars +Oracle Open Office Base : form fields +Oracle Open Office Base : form filters +Oracle Open Office Base : Form Navigator +Oracle Open Office Base : format codes +Oracle Open Office Base : format codes;numbers +Oracle Open Office Base : format filling printing in Oracle Open Office Math +Oracle Open Office Base : Format Paintbrush +Oracle Open Office Base : formats +Oracle Open Office Base : formats;Asian layout +Oracle Open Office Base : formats;fonts +Oracle Open Office Base : formats;maximizing page formats +Oracle Open Office Base : formats;number and currency formats +Oracle Open Office Base : formats;of currencies/date/time +Oracle Open Office Base : formats;on opening and saving +Oracle Open Office Base : formats;pasting in special formats +Oracle Open Office Base : formats;positions +Oracle Open Office Base : formats;tabulators +Oracle Open Office Base : formatted fields +Oracle Open Office Base : formatted fields;form functions +Oracle Open Office Base : formatted fields;properties +Oracle Open Office Base : formatting +Oracle Open Office Base : formatting;Asian typography +Oracle Open Office Base : formatting;axes in charts +Oracle Open Office Base : formatting;chart legends +Oracle Open Office Base : formatting;copying +Oracle Open Office Base : formatting;definition +Oracle Open Office Base : formatting;expanding (Calc) +Oracle Open Office Base : formatting;font effects +Oracle Open Office Base : formatting;hyperlinks +Oracle Open Office Base : formatting;pages +Oracle Open Office Base : formatting;printer metrics (Writer) +Oracle Open Office Base : formatting;undoing +Oracle Open Office Base : formatting;undoing when writing +Oracle Open Office Base : forms +Oracle Open Office Base : forms;browsing +Oracle Open Office Base : forms;Combo Box/List Box Wizard +Oracle Open Office Base : forms;creating +Oracle Open Office Base : forms;data +Oracle Open Office Base : forms;designing (Base) +Oracle Open Office Base : forms;events +Oracle Open Office Base : forms;filtering data +Oracle Open Office Base : forms;finding records +Oracle Open Office Base : forms;focus after opening +Oracle Open Office Base : forms;general information (Base) +Oracle Open Office Base : forms;grouping controls +Oracle Open Office Base : forms;HTML filters +Oracle Open Office Base : forms;Navigator +Oracle Open Office Base : forms;opening in design mode +Oracle Open Office Base : forms;properties +Oracle Open Office Base : forms;sorting data +Oracle Open Office Base : forms;subforms +Oracle Open Office Base : forms;wizards +Oracle Open Office Base : forms;XForms +Oracle Open Office Base : formula texts +Oracle Open Office Base : formula texts;printing in Oracle Open Office Math +Oracle Open Office Base : formulas +Oracle Open Office Base : formulas;new +Oracle Open Office Base : formulas;starting formula editor +Oracle Open Office Base : formulas in reports +Oracle Open Office Base : formulas in reports;editing +Oracle Open Office Base : forums and support +Oracle Open Office Base : frames +Oracle Open Office Base : frames;around paragraphs +Oracle Open Office Base : frames;around tables +Oracle Open Office Base : frames;AutoCorrect function +Oracle Open Office Base : frames;backgrounds +Oracle Open Office Base : frames;captions (Writer) +Oracle Open Office Base : frames;printing in Oracle Open Office Math +Oracle Open Office Base : frames;protecting +Oracle Open Office Base : frames;selection frames +Oracle Open Office Base : frames;text fitting to frames +Oracle Open Office Base : freeform lines +Oracle Open Office Base : freeform lines;draw functions +Oracle Open Office Base : FTP +Oracle Open Office Base : FTP;opening documents +Oracle Open Office Base : FTP;saving documents +Oracle Open Office Base : full joins (Base) +Oracle Open Office Base : full screen view +Oracle Open Office Base : full-text search in Help +Oracle Open Office Base : functions in reports +Oracle Open Office Base : functions in reports;editing +Oracle Open Office Base : Gallery +Oracle Open Office Base : Gallery;adding pictures +Oracle Open Office Base : Gallery;dragging pictures to draw objects +Oracle Open Office Base : Gallery;hiding/showing +Oracle Open Office Base : Gallery;inserting pictures from +Oracle Open Office Base : get method for form transmissions +Oracle Open Office Base : getting support +Oracle Open Office Base : GIF format +Oracle Open Office Base : glossaries +Oracle Open Office Base : glossaries;common terms +Oracle Open Office Base : glossaries;Internet terms +Oracle Open Office Base : gradients off for faster printing +Oracle Open Office Base : graphic objects, see draw objects +Oracle Open Office Base : graphical text art +Oracle Open Office Base : graphics +Oracle Open Office Base : graphics;cache +Oracle Open Office Base : graphics;protecting +Oracle Open Office Base : graphics, see also pictures +Oracle Open Office Base : grayscale printing +Oracle Open Office Base : grid controls +Oracle Open Office Base : grid controls;form functions +Oracle Open Office Base : grids +Oracle Open Office Base : grids;defaults (Writer/Calc) +Oracle Open Office Base : grids;display options (Impress/Draw) +Oracle Open Office Base : grids;displaying lines (Calc) +Oracle Open Office Base : group box creation +Oracle Open Office Base : groups +Oracle Open Office Base : groups;entering/exiting/ungrouping +Oracle Open Office Base : groups;naming +Oracle Open Office Base : groups;of controls +Oracle Open Office Base : guides +Oracle Open Office Base : guides;display options (Impress/Draw) +Oracle Open Office Base : guides;displaying when moving objects (Impress) +Oracle Open Office Base : guides;showing (Calc) +Oracle Open Office Base : guides;showing when moving frames (Writer) +Oracle Open Office Base : gutter +Oracle Open Office Base : handles +Oracle Open Office Base : handles;displaying (Writer) +Oracle Open Office Base : handles;scaling +Oracle Open Office Base : handles;showing simple/large handles (Calc) +Oracle Open Office Base : Hangul/Hanja +Oracle Open Office Base : hatching +Oracle Open Office Base : headers +Oracle Open Office Base : headers;backgrounds +Oracle Open Office Base : headings +Oracle Open Office Base : headings;entering as text box +Oracle Open Office Base : Hebrew +Oracle Open Office Base : Hebrew;entering text +Oracle Open Office Base : Hebrew;language settings +Oracle Open Office Base : Help +Oracle Open Office Base : Help;bookmarks +Oracle Open Office Base : Help;extended tips on/off +Oracle Open Office Base : Help;full-text search +Oracle Open Office Base : Help;Help tips +Oracle Open Office Base : Help;keywords +Oracle Open Office Base : Help;navigation pane showing/hiding +Oracle Open Office Base : Help;style sheets +Oracle Open Office Base : Help;topics +Oracle Open Office Base : Help Agent +Oracle Open Office Base : Help Agent;help +Oracle Open Office Base : Help Agent;options +Oracle Open Office Base : Help tips +Oracle Open Office Base : Help tips;hiding +Oracle Open Office Base : hidden controls in Form Navigator +Oracle Open Office Base : hidden fields display (Writer) +Oracle Open Office Base : hidden pages +Oracle Open Office Base : hidden pages;printing in presentations +Oracle Open Office Base : hidden text +Oracle Open Office Base : hidden text;showing (Writer) +Oracle Open Office Base : hiding +Oracle Open Office Base : hiding;changes +Oracle Open Office Base : hiding;docked windows +Oracle Open Office Base : hiding;navigation pane in Help window +Oracle Open Office Base : high contrast mode +Oracle Open Office Base : Hindi +Oracle Open Office Base : Hindi;entering text +Oracle Open Office Base : Hindi;language settings +Oracle Open Office Base : horizontal scrollbars (Writer) +Oracle Open Office Base : hotspots +Oracle Open Office Base : HTML +Oracle Open Office Base : HTML;definition +Oracle Open Office Base : HTML;export character set +Oracle Open Office Base : HTML;fonts for source display +Oracle Open Office Base : HTML;importing META tags +Oracle Open Office Base : HTML;live presentations +Oracle Open Office Base : HTML documents +Oracle Open Office Base : HTML documents;auto reloading +Oracle Open Office Base : HTML documents;importing/exporting +Oracle Open Office Base : HTML documents;META tags in +Oracle Open Office Base : HTML documents;new +Oracle Open Office Base : HTML documents;source text +Oracle Open Office Base : hyperlinks +Oracle Open Office Base : hyperlinks;assigning macros +Oracle Open Office Base : hyperlinks;character formats +Oracle Open Office Base : hyperlinks;definition +Oracle Open Office Base : hyperlinks;deleting +Oracle Open Office Base : hyperlinks;editing +Oracle Open Office Base : hyperlinks;inserting +Oracle Open Office Base : hyperlinks;relative and absolute +Oracle Open Office Base : hyperlinks;turning off automatic recognition +Oracle Open Office Base : hyperlinks, see also links +Oracle Open Office Base : hyphenation +Oracle Open Office Base : hyphenation;activating for a language +Oracle Open Office Base : hyphenation;minimal number of characters +Oracle Open Office Base : hyphens +Oracle Open Office Base : hyphens;displaying custom (Writer) +Oracle Open Office Base : hyphens;inserting custom +Oracle Open Office Base : icon bars, see toolbars +Oracle Open Office Base : icon sizes +Oracle Open Office Base : ignore list for spellcheck +Oracle Open Office Base : illustrations, see pictures +Oracle Open Office Base : image button creation +Oracle Open Office Base : image control creation +Oracle Open Office Base : ImageMap +Oracle Open Office Base : ImageMap;definition +Oracle Open Office Base : ImageMap;editor +Oracle Open Office Base : images +Oracle Open Office Base : images;ImageMap +Oracle Open Office Base : images;inserting and editing bitmaps +Oracle Open Office Base : images, see also pictures +Oracle Open Office Base : IME +Oracle Open Office Base : IME;definition +Oracle Open Office Base : IME;showing/hiding +Oracle Open Office Base : import filters +Oracle Open Office Base : import restrictions for Microsoft Office +Oracle Open Office Base : importing +Oracle Open Office Base : importing;bitmaps +Oracle Open Office Base : importing;compatibility settings for text import +Oracle Open Office Base : importing;databases +Oracle Open Office Base : importing;documents in other formats +Oracle Open Office Base : importing;from XML +Oracle Open Office Base : importing;HTML and text documents +Oracle Open Office Base : importing;HTML with META tags +Oracle Open Office Base : importing;Microsoft Office documents with VBA code +Oracle Open Office Base : importing;tables in text format +Oracle Open Office Base : importing;templates +Oracle Open Office Base : improvement program +Oracle Open Office Base : inches +Oracle Open Office Base : Index tab in Help +Oracle Open Office Base : indexes +Oracle Open Office Base : indexes;backgrounds +Oracle Open Office Base : indexes;showing/hiding Help index tab +Oracle Open Office Base : indicator lines in text +Oracle Open Office Base : inner joins (Base) +Oracle Open Office Base : input method window +Oracle Open Office Base : insert mode for entering text +Oracle Open Office Base : inserting +Oracle Open Office Base : inserting;buttons in toolbars +Oracle Open Office Base : inserting;cell ranges from spreadsheets +Oracle Open Office Base : inserting;charts +Oracle Open Office Base : inserting;clipboard options +Oracle Open Office Base : inserting;comments +Oracle Open Office Base : inserting;data from text documents +Oracle Open Office Base : inserting;datasource records in spreadsheets +Oracle Open Office Base : inserting;drawings +Oracle Open Office Base : inserting;floating frames +Oracle Open Office Base : inserting;Fontwork objects +Oracle Open Office Base : inserting;form fields +Oracle Open Office Base : inserting;hyperlinks +Oracle Open Office Base : inserting;line breaks in cells +Oracle Open Office Base : inserting;movies/sounds +Oracle Open Office Base : inserting;new text tables defaults +Oracle Open Office Base : inserting;objects from Gallery +Oracle Open Office Base : inserting;OLE objects +Oracle Open Office Base : inserting;paragraph borders +Oracle Open Office Base : inserting;paragraph bullets +Oracle Open Office Base : inserting;pictures in Gallery +Oracle Open Office Base : inserting;plug-ins +Oracle Open Office Base : inserting;push buttons +Oracle Open Office Base : inserting;special characters +Oracle Open Office Base : inserting;tab stops +Oracle Open Office Base : inserting;textures on chart bars +Oracle Open Office Base : installing +Oracle Open Office Base : installing;ActiveX control +Oracle Open Office Base : installing;mobile device filters +Oracle Open Office Base : installing;UNO components +Oracle Open Office Base : installing;XML filters +Oracle Open Office Base : instructions +Oracle Open Office Base : instructions;general +Oracle Open Office Base : Internet +Oracle Open Office Base : Internet;checking for updates +Oracle Open Office Base : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Base : Internet;presentations +Oracle Open Office Base : Internet;starting searches +Oracle Open Office Base : Internet glossary +Oracle Open Office Base : invert filter +Oracle Open Office Base : invisible areas +Oracle Open Office Base : italic text +Oracle Open Office Base : iterative references in spreadsheets +Oracle Open Office Base : Java +Oracle Open Office Base : Java;definition +Oracle Open Office Base : Java;setting options +Oracle Open Office Base : JDBC +Oracle Open Office Base : JDBC;databases (Base) +Oracle Open Office Base : JDBC;definition +Oracle Open Office Base : joining +Oracle Open Office Base : joining;paragraphs +Oracle Open Office Base : joining;tables (Base) +Oracle Open Office Base : joins in databases (Base) +Oracle Open Office Base : justifying text +Oracle Open Office Base : kerning +Oracle Open Office Base : kerning;Asian texts +Oracle Open Office Base : kerning;definition +Oracle Open Office Base : kerning;in characters +Oracle Open Office Base : key fields for relations (Base) +Oracle Open Office Base : keyboard +Oracle Open Office Base : keyboard;assigning/editing shortcut keys +Oracle Open Office Base : keyboard;general commands +Oracle Open Office Base : keyboard;removing numbering +Oracle Open Office Base : keys +Oracle Open Office Base : keys;adding push buttons +Oracle Open Office Base : keys;primary keys (Base) +Oracle Open Office Base : kiosk export +Oracle Open Office Base : labels +Oracle Open Office Base : labels;creating and synchronizing +Oracle Open Office Base : labels;for draw objects +Oracle Open Office Base : labels;form functions +Oracle Open Office Base : labels;from databases +Oracle Open Office Base : labels, see also names/callouts +Oracle Open Office Base : languages +Oracle Open Office Base : languages;activating modules +Oracle Open Office Base : languages;Asian support +Oracle Open Office Base : languages;complex text layout +Oracle Open Office Base : languages;locale settings +Oracle Open Office Base : languages;selecting for text +Oracle Open Office Base : languages;setting options +Oracle Open Office Base : languages;spellcheck +Oracle Open Office Base : languages;spellchecking and formatting +Oracle Open Office Base : large handles (Writer) +Oracle Open Office Base : large icons +Oracle Open Office Base : layer arrangement +Oracle Open Office Base : layout +Oracle Open Office Base : layout;importing Word documents +Oracle Open Office Base : layout;pages +Oracle Open Office Base : LDAP server +Oracle Open Office Base : LDAP server;address books (Base) +Oracle Open Office Base : LDAP server;sign on options +Oracle Open Office Base : leading between paragraphs +Oracle Open Office Base : left alignment of paragraphs +Oracle Open Office Base : left joins (Base) +Oracle Open Office Base : legends +Oracle Open Office Base : legends;charts +Oracle Open Office Base : legends;draw objects +Oracle Open Office Base : legends;rounding corners +Oracle Open Office Base : Letter Wizard +Oracle Open Office Base : levels +Oracle Open Office Base : levels;depth stagger +Oracle Open Office Base : levels;macro security +Oracle Open Office Base : limits of tables (Writer) +Oracle Open Office Base : line breaks +Oracle Open Office Base : line breaks;in cells +Oracle Open Office Base : line spacing +Oracle Open Office Base : line spacing;context menu in paragraphs +Oracle Open Office Base : line spacing;paragraph +Oracle Open Office Base : line styles +Oracle Open Office Base : line styles;applying +Oracle Open Office Base : line styles;defining +Oracle Open Office Base : lines +Oracle Open Office Base : lines;defining ends +Oracle Open Office Base : lines;draw functions +Oracle Open Office Base : lines;drawing in text +Oracle Open Office Base : lines;editing points +Oracle Open Office Base : lines;removing automatic lines +Oracle Open Office Base : lines of text +Oracle Open Office Base : lines of text;alignment +Oracle Open Office Base : links +Oracle Open Office Base : links;between cells and controls +Oracle Open Office Base : links;by drag and drop +Oracle Open Office Base : links;character formats +Oracle Open Office Base : links;definition +Oracle Open Office Base : links;editing hyperlinks +Oracle Open Office Base : links;inserting +Oracle Open Office Base : links;modifying +Oracle Open Office Base : links;opening files with +Oracle Open Office Base : links;relational databases (Base) +Oracle Open Office Base : links;turning off automatic recognition +Oracle Open Office Base : links;updating options (Writer) +Oracle Open Office Base : links;updating specific links +Oracle Open Office Base : list box creation +Oracle Open Office Base : lists +Oracle Open Office Base : lists;data assigned to controls +Oracle Open Office Base : lists;registered databases (Base) +Oracle Open Office Base : lists;regular expressions +Oracle Open Office Base : live presentations on the Internet +Oracle Open Office Base : loading +Oracle Open Office Base : loading;documents +Oracle Open Office Base : loading;documents from other formats +Oracle Open Office Base : loading;HTML documents, automatically +Oracle Open Office Base : loading;Microsoft Office documents with VBA code +Oracle Open Office Base : loading;reloading +Oracle Open Office Base : loading;XML files +Oracle Open Office Base : locale settings +Oracle Open Office Base : lowercase letters +Oracle Open Office Base : lowercase letters;font effects +Oracle Open Office Base : Macro Wizard (Base) +Oracle Open Office Base : macros +Oracle Open Office Base : macros;assigning to events in forms +Oracle Open Office Base : macros;attaching new (Base) +Oracle Open Office Base : macros;in MS Office documents +Oracle Open Office Base : macros;interrupting +Oracle Open Office Base : macros;organizing +Oracle Open Office Base : macros;recording +Oracle Open Office Base : macros;security +Oracle Open Office Base : macros;security levels +Oracle Open Office Base : macros;security warning dialog +Oracle Open Office Base : macros;selecting security warnings +Oracle Open Office Base : magnifiers +Oracle Open Office Base : margins +Oracle Open Office Base : margins;pages +Oracle Open Office Base : margins;setting with the mouse +Oracle Open Office Base : margins;shadows +Oracle Open Office Base : marking changes +Oracle Open Office Base : marking, see selecting +Oracle Open Office Base : Math formula editor +Oracle Open Office Base : measurement units +Oracle Open Office Base : measurement units;changing on rulers +Oracle Open Office Base : measurement units;converting +Oracle Open Office Base : measurement units;selecting +Oracle Open Office Base : Media Player window +Oracle Open Office Base : menus +Oracle Open Office Base : menus;activating context menus +Oracle Open Office Base : menus;assigning macros +Oracle Open Office Base : menus;customizing +Oracle Open Office Base : merging +Oracle Open Office Base : merging;documents +Oracle Open Office Base : META tags +Oracle Open Office Base : metrics +Oracle Open Office Base : metrics;converting +Oracle Open Office Base : metrics;document formatting (Writer) +Oracle Open Office Base : metrics;in sheets +Oracle Open Office Base : Microsoft Office +Oracle Open Office Base : Microsoft Office;Access databases (base) +Oracle Open Office Base : Microsoft Office;as default file format +Oracle Open Office Base : Microsoft Office;document import restrictions +Oracle Open Office Base : Microsoft Office;feature comparisons +Oracle Open Office Base : Microsoft Office;importing password protected files +Oracle Open Office Base : Microsoft Office;importing Word documents +Oracle Open Office Base : Microsoft Office;importing/exporting VBA code +Oracle Open Office Base : Microsoft Office;new users information +Oracle Open Office Base : Microsoft Office;opening Microsoft documents +Oracle Open Office Base : Microsoft Office;reassigning document types +Oracle Open Office Base : migrating macros (Base) +Oracle Open Office Base : mobile device filters +Oracle Open Office Base : models in XForms +Oracle Open Office Base : modifying, see changing +Oracle Open Office Base : more controls +Oracle Open Office Base : mosaic filter +Oracle Open Office Base : mouse +Oracle Open Office Base : mouse;pointers when using drag and drop +Oracle Open Office Base : mouse;positioning +Oracle Open Office Base : movies +Oracle Open Office Base : moving +Oracle Open Office Base : moving;tab stops on ruler +Oracle Open Office Base : moving;toolbars +Oracle Open Office Base : moving;using guide lines in presentations +Oracle Open Office Base : MS ADO interface (Base) +Oracle Open Office Base : multi-line titles in forms +Oracle Open Office Base : multiple documents +Oracle Open Office Base : multiple documents;opening +Oracle Open Office Base : multiple selection +Oracle Open Office Base : music +Oracle Open Office Base : My Documents folder +Oracle Open Office Base : My Documents folder;changing work directory +Oracle Open Office Base : My Documents folder;opening +Oracle Open Office Base : MySQL databases (Base) +Oracle Open Office Base : names +Oracle Open Office Base : names;multi-line titles +Oracle Open Office Base : names;objects +Oracle Open Office Base : names, see also labels/callouts +Oracle Open Office Base : namespace organization in XForms +Oracle Open Office Base : native SQL (Base) +Oracle Open Office Base : navigating +Oracle Open Office Base : navigating;in documents +Oracle Open Office Base : Navigation bar +Oracle Open Office Base : Navigation bar;controls +Oracle Open Office Base : Navigation bar;forms +Oracle Open Office Base : Navigator +Oracle Open Office Base : Navigator;comments +Oracle Open Office Base : Navigator;contents as lists +Oracle Open Office Base : Navigator;docking +Oracle Open Office Base : Navigator;working with +Oracle Open Office Base : network identity options +Oracle Open Office Base : new databases +Oracle Open Office Base : new documents +Oracle Open Office Base : new lines in cells +Oracle Open Office Base : new windows +Oracle Open Office Base : non-breaking dashes +Oracle Open Office Base : non-breaking spaces (Writer) +Oracle Open Office Base : non-printing characters (Writer) +Oracle Open Office Base : number formats +Oracle Open Office Base : number formats;codes +Oracle Open Office Base : number formats;formats +Oracle Open Office Base : number formats;recognition in text tables +Oracle Open Office Base : number of pages +Oracle Open Office Base : number of sheets +Oracle Open Office Base : number of tables +Oracle Open Office Base : numbering +Oracle Open Office Base : numbering;options +Oracle Open Office Base : numbering;turning off +Oracle Open Office Base : numbering;using automatically +Oracle Open Office Base : numbers +Oracle Open Office Base : numbers;date, time and currency formats +Oracle Open Office Base : numerical fields in forms +Oracle Open Office Base : objects +Oracle Open Office Base : objects;always moveable (Impress/Draw) +Oracle Open Office Base : objects;arranging within stacks +Oracle Open Office Base : objects;copying when moving in presentations +Oracle Open Office Base : objects;definition +Oracle Open Office Base : objects;displaying in spreadsheets +Oracle Open Office Base : objects;displaying in text documents +Oracle Open Office Base : objects;editing +Oracle Open Office Base : objects;inserting from Gallery +Oracle Open Office Base : objects;inserting OLE objects +Oracle Open Office Base : objects;moving and resizing with mouse +Oracle Open Office Base : objects;naming +Oracle Open Office Base : objects;opening +Oracle Open Office Base : objects;quickly moving to +Oracle Open Office Base : objects;titles and descriptions +Oracle Open Office Base : ODBC +Oracle Open Office Base : ODBC;database (Base) +Oracle Open Office Base : ODBC;definition +Oracle Open Office Base : ODF file formats +Oracle Open Office Base : Office +Oracle Open Office Base : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Base : OLE +Oracle Open Office Base : OLE;definition +Oracle Open Office Base : OLE objects +Oracle Open Office Base : OLE objects;arranging within stacks +Oracle Open Office Base : OLE objects;captions (Writer) +Oracle Open Office Base : OLE objects;inserting +Oracle Open Office Base : OLE objects;number of +Oracle Open Office Base : OLE objects;protecting +Oracle Open Office Base : one and a half line spacing in text +Oracle Open Office Base : online feedback options +Oracle Open Office Base : online registration +Oracle Open Office Base : online update options +Oracle Open Office Base : online updates +Oracle Open Office Base : online updates;checking automatically +Oracle Open Office Base : online updates;checking manually +Oracle Open Office Base : OpenDocument file formats +Oracle Open Office Base : OpenGL +Oracle Open Office Base : OpenGL;definition +Oracle Open Office Base : opening +Oracle Open Office Base : opening;context menus +Oracle Open Office Base : opening;database files +Oracle Open Office Base : opening;dialog settings +Oracle Open Office Base : opening;documents +Oracle Open Office Base : opening;documents from other formats +Oracle Open Office Base : opening;documents on WebDAV server +Oracle Open Office Base : opening;files with links +Oracle Open Office Base : opening;files, with placeholders +Oracle Open Office Base : opening;forms +Oracle Open Office Base : opening;Microsoft Office files +Oracle Open Office Base : opening;mobile device documents +Oracle Open Office Base : opening;objects +Oracle Open Office Base : opening;reports +Oracle Open Office Base : opening;several files +Oracle Open Office Base : opening;XForms +Oracle Open Office Base : operators +Oracle Open Office Base : operators;default filters +Oracle Open Office Base : optional hyphens (Writer) +Oracle Open Office Base : options +Oracle Open Office Base : options;accessibility +Oracle Open Office Base : options;appearance +Oracle Open Office Base : options;compatibility (Writer) +Oracle Open Office Base : options;improvement program +Oracle Open Office Base : options;network identity +Oracle Open Office Base : options;online update +Oracle Open Office Base : options;tools +Oracle Open Office Base : Oracle databases (base) +Oracle Open Office Base : Oracle Open Office Base data sources +Oracle Open Office Base : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Base : Oracle Open Office documents +Oracle Open Office Base : Oracle Open Office documents;mobile device filters +Oracle Open Office Base : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Base : Oracle Open Office Math start +Oracle Open Office Base : ordering +Oracle Open Office Base : ordering;objects +Oracle Open Office Base : ordinal numbers +Oracle Open Office Base : ordinal numbers;replacing +Oracle Open Office Base : organizing +Oracle Open Office Base : organizing;macros and scripts +Oracle Open Office Base : organizing;namespaces in XForms +Oracle Open Office Base : organizing;styles +Oracle Open Office Base : organizing;templates +Oracle Open Office Base : original size +Oracle Open Office Base : original size;printing in Oracle Open Office Math +Oracle Open Office Base : original size;restoring after cropping +Oracle Open Office Base : outlines +Oracle Open Office Base : outlines;font effects +Oracle Open Office Base : outlines;outline symbols +Oracle Open Office Base : outlines;sending to presentations +Oracle Open Office Base : overwrite mode +Oracle Open Office Base : packages, see extensions +Oracle Open Office Base : page breaks +Oracle Open Office Base : page breaks;displaying (Calc) +Oracle Open Office Base : page formats +Oracle Open Office Base : page formats;maximizing +Oracle Open Office Base : page formats;restriction +Oracle Open Office Base : page styles +Oracle Open Office Base : page styles;editing/applying with statusbar +Oracle Open Office Base : pages +Oracle Open Office Base : pages;backgrounds in all applications +Oracle Open Office Base : pages;formatting and numbering +Oracle Open Office Base : pages;printing page names in presentations +Oracle Open Office Base : pages;scaling +Oracle Open Office Base : pages;selecting one to print +Oracle Open Office Base : paint box +Oracle Open Office Base : paint can symbol +Oracle Open Office Base : pair kerning +Oracle Open Office Base : Palm file filters +Oracle Open Office Base : paper formats +Oracle Open Office Base : paper size warning +Oracle Open Office Base : paper trays +Oracle Open Office Base : paragraph marks +Oracle Open Office Base : paragraph marks;displaying (Writer) +Oracle Open Office Base : paragraph styles +Oracle Open Office Base : paragraph styles;languages +Oracle Open Office Base : paragraph styles;modifying basic fonts +Oracle Open Office Base : paragraphs +Oracle Open Office Base : paragraphs;alignment +Oracle Open Office Base : paragraphs;Asian typography +Oracle Open Office Base : paragraphs;defining borders +Oracle Open Office Base : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Base : paragraphs;increasing indents of +Oracle Open Office Base : paragraphs;indents, margins and columns +Oracle Open Office Base : paragraphs;inserting bullets +Oracle Open Office Base : paragraphs;joining +Oracle Open Office Base : paragraphs;numbering automatically +Oracle Open Office Base : paragraphs;removing blank ones +Oracle Open Office Base : paragraphs;spacing +Oracle Open Office Base : paragraphs;tab stops +Oracle Open Office Base : parameters +Oracle Open Office Base : parameters;command line +Oracle Open Office Base : parameters;queries (Base) +Oracle Open Office Base : passwords for protecting contents +Oracle Open Office Base : pasting +Oracle Open Office Base : pasting;cell ranges +Oracle Open Office Base : pasting;cell ranges from spreadsheets +Oracle Open Office Base : pasting;data from text documents +Oracle Open Office Base : pasting;draw objects +Oracle Open Office Base : pasting;draw objects from other documents +Oracle Open Office Base : pasting;formatted/unformatted text +Oracle Open Office Base : pasting;from data source view +Oracle Open Office Base : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Base : pasting;pictures from other documents +Oracle Open Office Base : pasting;sheet areas in text documents +Oracle Open Office Base : pasting;to Gallery +Oracle Open Office Base : paths +Oracle Open Office Base : paths;changing work directory +Oracle Open Office Base : paths;defaults +Oracle Open Office Base : pattern editor +Oracle Open Office Base : pattern fields +Oracle Open Office Base : pattern fields;form functions +Oracle Open Office Base : patterns for objects +Oracle Open Office Base : PDF +Oracle Open Office Base : PDF;export +Oracle Open Office Base : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Base : personal data input +Oracle Open Office Base : phonetic guide +Oracle Open Office Base : picklist creation +Oracle Open Office Base : pictures +Oracle Open Office Base : pictures;adding to Gallery +Oracle Open Office Base : pictures;arranging within stacks +Oracle Open Office Base : pictures;assigning macros +Oracle Open Office Base : pictures;backgrounds +Oracle Open Office Base : pictures;captions (Writer) +Oracle Open Office Base : pictures;changing paths +Oracle Open Office Base : pictures;cropping and zooming +Oracle Open Office Base : pictures;displaying in Calc +Oracle Open Office Base : pictures;displaying in Writer (Writer) +Oracle Open Office Base : pictures;drag and drop between documents +Oracle Open Office Base : pictures;drawing +Oracle Open Office Base : pictures;editing +Oracle Open Office Base : pictures;filters +Oracle Open Office Base : pictures;ImageMap +Oracle Open Office Base : pictures;inserting automatically +Oracle Open Office Base : pictures;inserting from Gallery +Oracle Open Office Base : pictures;number of +Oracle Open Office Base : pictures;printing +Oracle Open Office Base : pictures;scaling/resizing +Oracle Open Office Base : pixel editor +Oracle Open Office Base : pixel graphics +Oracle Open Office Base : pixel graphics;inserting and editing +Oracle Open Office Base : pixel patterns +Oracle Open Office Base : placeholders +Oracle Open Office Base : placeholders;in SQL queries +Oracle Open Office Base : placeholders;on opening files +Oracle Open Office Base : placing toolbars +Oracle Open Office Base : playing movies and sound files +Oracle Open Office Base : plotting data as charts +Oracle Open Office Base : plug-ins +Oracle Open Office Base : plug-ins;activating and deactivating +Oracle Open Office Base : plug-ins;definition +Oracle Open Office Base : plug-ins;inserting +Oracle Open Office Base : pocket device appliances +Oracle Open Office Base : Pocket PC file filters +Oracle Open Office Base : points +Oracle Open Office Base : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Base : polygon drawing +Oracle Open Office Base : pop-art filter +Oracle Open Office Base : portable document format +Oracle Open Office Base : positioning +Oracle Open Office Base : positioning;draw objects and controls +Oracle Open Office Base : positioning;fonts +Oracle Open Office Base : positioning;objects +Oracle Open Office Base : positioning;toolbars +Oracle Open Office Base : post method for form transmissions +Oracle Open Office Base : posterizing filter +Oracle Open Office Base : PostScript +Oracle Open Office Base : PostScript;creating files +Oracle Open Office Base : PostScript;PDF converter, UNIX +Oracle Open Office Base : PowerPoint export +Oracle Open Office Base : precision as shown (Calc) +Oracle Open Office Base : predefining fonts +Oracle Open Office Base : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Base : presentations +Oracle Open Office Base : presentations;creating/opening +Oracle Open Office Base : presentations;inserting spreadsheet cells +Oracle Open Office Base : presentations;live on the Internet +Oracle Open Office Base : presentations;print menu +Oracle Open Office Base : presentations;saving +Oracle Open Office Base : presentations;saving automatically +Oracle Open Office Base : presentations;saving in other formats +Oracle Open Office Base : presentations;sending as e-mail +Oracle Open Office Base : presentations;starting with wizard +Oracle Open Office Base : presentations;wizards +Oracle Open Office Base : Presenter Console shortcuts +Oracle Open Office Base : press buttons, see push buttons +Oracle Open Office Base : previews +Oracle Open Office Base : previews;fonts lists +Oracle Open Office Base : primary keys +Oracle Open Office Base : primary keys;defining +Oracle Open Office Base : primary keys;design view +Oracle Open Office Base : primary keys;inserting (Base) +Oracle Open Office Base : print area selection +Oracle Open Office Base : printer metrics for document formatting (Writer) +Oracle Open Office Base : printers +Oracle Open Office Base : printers;adding, UNIX +Oracle Open Office Base : printers;choosing +Oracle Open Office Base : printers;default printer +Oracle Open Office Base : printers;faxes under UNIX +Oracle Open Office Base : printers;maximum page formats +Oracle Open Office Base : printers;paper trays +Oracle Open Office Base : printers;properties +Oracle Open Office Base : printing +Oracle Open Office Base : printing;black and white +Oracle Open Office Base : printing;brochures +Oracle Open Office Base : printing;colors in grayscale +Oracle Open Office Base : printing;comments +Oracle Open Office Base : printing;copies +Oracle Open Office Base : printing;creating individual jobs +Oracle Open Office Base : printing;dates in presentations +Oracle Open Office Base : printing;directly +Oracle Open Office Base : printing;documents +Oracle Open Office Base : printing;drawings defaults +Oracle Open Office Base : printing;elements in text documents +Oracle Open Office Base : printing;faster +Oracle Open Office Base : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Base : printing;fitting to pages in presentations +Oracle Open Office Base : printing;formulas in Oracle Open Office Math +Oracle Open Office Base : printing;hidden pages of presentations +Oracle Open Office Base : printing;in original size in Oracle Open Office Math +Oracle Open Office Base : printing;left/right pages +Oracle Open Office Base : printing;queries (Base) +Oracle Open Office Base : printing;scaling in Oracle Open Office Math +Oracle Open Office Base : printing;selections +Oracle Open Office Base : printing;text always in black +Oracle Open Office Base : printing;text in reverse order +Oracle Open Office Base : printing;tiling pages in presentations +Oracle Open Office Base : printing;transparencies +Oracle Open Office Base : printing;warnings +Oracle Open Office Base : printing;without scaling in presentations +Oracle Open Office Base : printing speed +Oracle Open Office Base : programming +Oracle Open Office Base : programming;Oracle Open Office +Oracle Open Office Base : programming;scripting +Oracle Open Office Base : properties +Oracle Open Office Base : properties;fields in databases +Oracle Open Office Base : properties;files +Oracle Open Office Base : properties;form controls +Oracle Open Office Base : properties;forms +Oracle Open Office Base : properties;printers +Oracle Open Office Base : protected contents +Oracle Open Office Base : protected dashes +Oracle Open Office Base : protected database tables +Oracle Open Office Base : protected documents +Oracle Open Office Base : protected spaces +Oracle Open Office Base : protected spaces;inserting +Oracle Open Office Base : protected spaces;showing (Writer) +Oracle Open Office Base : protecting +Oracle Open Office Base : protecting;contents +Oracle Open Office Base : protecting;recorded changes +Oracle Open Office Base : proxy settings +Oracle Open Office Base : push buttons +Oracle Open Office Base : push buttons;adding to documents +Oracle Open Office Base : push buttons;creating +Oracle Open Office Base : queries +Oracle Open Office Base : queries;copying (Base) +Oracle Open Office Base : queries;creating in design view (Base) +Oracle Open Office Base : queries;creating in SQL view +Oracle Open Office Base : queries;defining (Base) +Oracle Open Office Base : queries;deleting table links (Base) +Oracle Open Office Base : queries;editing in data source view +Oracle Open Office Base : queries;formulating filter conditions (Base) +Oracle Open Office Base : queries;joining tables (Base) +Oracle Open Office Base : queries;missing elements (Base) +Oracle Open Office Base : queries;overview (Base) +Oracle Open Office Base : queries;parameter queries (Base) +Oracle Open Office Base : queries;printing (Base) +Oracle Open Office Base : Query Wizard (Base) +Oracle Open Office Base : Quickstarter +Oracle Open Office Base : quotes +Oracle Open Office Base : quotes;custom +Oracle Open Office Base : radio button creation +Oracle Open Office Base : read-only documents +Oracle Open Office Base : read-only documents;cursor +Oracle Open Office Base : read-only documents;database tables on/off +Oracle Open Office Base : read-only documents;editing +Oracle Open Office Base : read-only documents;opening documents as +Oracle Open Office Base : read-only items in Data Navigator +Oracle Open Office Base : recognizing URLs automatically +Oracle Open Office Base : recording +Oracle Open Office Base : recording;changes +Oracle Open Office Base : recording;macros +Oracle Open Office Base : records +Oracle Open Office Base : records;inserting comments +Oracle Open Office Base : records;protecting +Oracle Open Office Base : records;saving +Oracle Open Office Base : records;searching in databases +Oracle Open Office Base : rectangles with round corners +Oracle Open Office Base : recursions in spreadsheets +Oracle Open Office Base : redo command +Oracle Open Office Base : reduced printing +Oracle Open Office Base : reference lines +Oracle Open Office Base : references +Oracle Open Office Base : references;displaying in color (Calc) +Oracle Open Office Base : references;expanding (Calc) +Oracle Open Office Base : references;iterative (Calc) +Oracle Open Office Base : register-true +Oracle Open Office Base : register-true;definition +Oracle Open Office Base : registering +Oracle Open Office Base : registering;address books +Oracle Open Office Base : registering;databases (Base) +Oracle Open Office Base : registering;Oracle Open Office +Oracle Open Office Base : regular expressions +Oracle Open Office Base : regular expressions;list of +Oracle Open Office Base : relational databases (Base) +Oracle Open Office Base : relations +Oracle Open Office Base : relations;creating and deleting (Base) +Oracle Open Office Base : relations;joining tables (Base) +Oracle Open Office Base : relations;properties (Base) +Oracle Open Office Base : relative hyperlinks +Oracle Open Office Base : relative saving of URLs +Oracle Open Office Base : reloading +Oracle Open Office Base : reloading;documents +Oracle Open Office Base : reloading;HTML documents, automatically +Oracle Open Office Base : remarks, see also comments +Oracle Open Office Base : remote configurations +Oracle Open Office Base : remove noise filter +Oracle Open Office Base : removing +Oracle Open Office Base : removing;bullets and numbering +Oracle Open Office Base : removing;form filters +Oracle Open Office Base : removing, see also deleting +Oracle Open Office Base : repeating +Oracle Open Office Base : repeating;commands +Oracle Open Office Base : replacement options +Oracle Open Office Base : replacement table +Oracle Open Office Base : replacing +Oracle Open Office Base : replacing;AutoCorrect function +Oracle Open Office Base : replacing;dashes +Oracle Open Office Base : replacing;ordinal numbers +Oracle Open Office Base : replacing;tab stops (regular expressions) +Oracle Open Office Base : Report Builder +Oracle Open Office Base : reports +Oracle Open Office Base : reports;creating +Oracle Open Office Base : reports;error reports +Oracle Open Office Base : reports;opening and editing +Oracle Open Office Base : reports;templates +Oracle Open Office Base : resetting +Oracle Open Office Base : resetting;templates +Oracle Open Office Base : resizing +Oracle Open Office Base : resizing;objects, by mouse +Oracle Open Office Base : resizing, see also scaling/zooming +Oracle Open Office Base : resolution when printing bitmaps +Oracle Open Office Base : restoring +Oracle Open Office Base : restoring;default formatting +Oracle Open Office Base : restoring;editing +Oracle Open Office Base : reversing printing order +Oracle Open Office Base : review function +Oracle Open Office Base : review function;accepting or rejecting changes +Oracle Open Office Base : review function;comparing documents +Oracle Open Office Base : review function;protecting records +Oracle Open Office Base : review function;recording changes example +Oracle Open Office Base : rich text control +Oracle Open Office Base : right alignment of paragraphs +Oracle Open Office Base : right joins (Base) +Oracle Open Office Base : right-to-left text +Oracle Open Office Base : rotating +Oracle Open Office Base : rotating;3D text +Oracle Open Office Base : round corners +Oracle Open Office Base : rounding precision (Calc) +Oracle Open Office Base : row headers +Oracle Open Office Base : row headers;displaying (Calc) +Oracle Open Office Base : row headers;highlighting (Calc) +Oracle Open Office Base : rulers +Oracle Open Office Base : rulers;default settings +Oracle Open Office Base : rulers;measurement units +Oracle Open Office Base : rulers;visible in presentations +Oracle Open Office Base : samples and templates +Oracle Open Office Base : saving +Oracle Open Office Base : saving;default file formats +Oracle Open Office Base : saving;dialog settings +Oracle Open Office Base : saving;documents +Oracle Open Office Base : saving;documents for mobile devices +Oracle Open Office Base : saving;documents in other formats +Oracle Open Office Base : saving;documents, automatically +Oracle Open Office Base : saving;in Microsoft Office file format +Oracle Open Office Base : saving;options +Oracle Open Office Base : saving;templates +Oracle Open Office Base : saving;to XML +Oracle Open Office Base : saving;VBA code in Microsoft Office documents +Oracle Open Office Base : saving;with password by default +Oracle Open Office Base : saving as command +Oracle Open Office Base : saving as command;precautions +Oracle Open Office Base : scaling +Oracle Open Office Base : scaling;font sizes in user interface +Oracle Open Office Base : scaling;objects +Oracle Open Office Base : scaling;pictures +Oracle Open Office Base : scaling;printing in Oracle Open Office Math +Oracle Open Office Base : scaling;when printing presentations +Oracle Open Office Base : scaling, see also zooming +Oracle Open Office Base : screen +Oracle Open Office Base : screen;full screen views +Oracle Open Office Base : screen;scaling +Oracle Open Office Base : screen magnifiers +Oracle Open Office Base : screen readers +Oracle Open Office Base : script organization +Oracle Open Office Base : scrollbars +Oracle Open Office Base : scrollbars;controls +Oracle Open Office Base : scrollbars;displaying (Calc) +Oracle Open Office Base : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Base : search criteria for database functions in cells +Oracle Open Office Base : search engines +Oracle Open Office Base : search engines;definition +Oracle Open Office Base : search engines;selecting +Oracle Open Office Base : searching +Oracle Open Office Base : searching;all sheets +Oracle Open Office Base : searching;databases +Oracle Open Office Base : searching;form filters +Oracle Open Office Base : searching;Internet +Oracle Open Office Base : searching;tables and forms +Oracle Open Office Base : sections +Oracle Open Office Base : sections;backgrounds +Oracle Open Office Base : security +Oracle Open Office Base : security;digital signatures +Oracle Open Office Base : security;options for documents with macros +Oracle Open Office Base : security;protecting contents +Oracle Open Office Base : security;security levels for macros +Oracle Open Office Base : security;warning dialogs with macros +Oracle Open Office Base : selecting +Oracle Open Office Base : selecting;controls +Oracle Open Office Base : selecting;measurement units +Oracle Open Office Base : selecting;objects +Oracle Open Office Base : selecting;print areas +Oracle Open Office Base : selecting;several files +Oracle Open Office Base : selection clipboard +Oracle Open Office Base : selection frames +Oracle Open Office Base : selection modes in text +Oracle Open Office Base : sending +Oracle Open Office Base : sending;AutoAbstract function in presentations +Oracle Open Office Base : sending;documents as e-mail +Oracle Open Office Base : sending;documents as faxes +Oracle Open Office Base : separator lines +Oracle Open Office Base : separator lines;defining +Oracle Open Office Base : separators +Oracle Open Office Base : separators;conditional +Oracle Open Office Base : Server Side ImageMap +Oracle Open Office Base : settings +Oracle Open Office Base : settings;printers +Oracle Open Office Base : settings;program configuration +Oracle Open Office Base : settings;proxies +Oracle Open Office Base : settings;tracking changes +Oracle Open Office Base : settings;views +Oracle Open Office Base : SGML +Oracle Open Office Base : SGML;definition +Oracle Open Office Base : shadows +Oracle Open Office Base : shadows;areas +Oracle Open Office Base : shadows;borders +Oracle Open Office Base : shadows;characters +Oracle Open Office Base : shadows;characters, using context menu +Oracle Open Office Base : sharing documents +Oracle Open Office Base : sharpening filter +Oracle Open Office Base : sheet tabs +Oracle Open Office Base : sheet tabs;displaying +Oracle Open Office Base : sheets +Oracle Open Office Base : sheets;searching all +Oracle Open Office Base : shortcut keys +Oracle Open Office Base : shortcut keys;assigning macros +Oracle Open Office Base : shortcut keys;general +Oracle Open Office Base : shortcut keys;in databases +Oracle Open Office Base : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Base : showing +Oracle Open Office Base : showing;changes +Oracle Open Office Base : showing;docked windows +Oracle Open Office Base : showing;drawings and controls (Writer) +Oracle Open Office Base : showing;live presentations on the Internet +Oracle Open Office Base : showing;toolbars +Oracle Open Office Base : signing documents with digital signatures +Oracle Open Office Base : similarity search +Oracle Open Office Base : simple handles (Writer) +Oracle Open Office Base : simplified Chinese +Oracle Open Office Base : simplified Chinese;translating to traditional Chinese +Oracle Open Office Base : single sign on options +Oracle Open Office Base : single-line spacing in text +Oracle Open Office Base : sizes +Oracle Open Office Base : sizes;draw objects +Oracle Open Office Base : sizes;pictures +Oracle Open Office Base : slanting draw objects +Oracle Open Office Base : small capitals +Oracle Open Office Base : small icons +Oracle Open Office Base : smart tag configuration +Oracle Open Office Base : smooth scrolling (Writer) +Oracle Open Office Base : smoothing filter +Oracle Open Office Base : snap grid defaults (Writer/Calc) +Oracle Open Office Base : snapping in presentations and drawings +Oracle Open Office Base : solarization filter +Oracle Open Office Base : sort lists +Oracle Open Office Base : sort lists;copying to in Calc +Oracle Open Office Base : sorting +Oracle Open Office Base : sorting;data in forms +Oracle Open Office Base : sorting;databases +Oracle Open Office Base : sound files +Oracle Open Office Base : spaces +Oracle Open Office Base : spaces;displaying (Writer) +Oracle Open Office Base : spaces;ignoring double +Oracle Open Office Base : spaces;inserting protected spaces +Oracle Open Office Base : spaces;showing protected spaces (Writer) +Oracle Open Office Base : spacing +Oracle Open Office Base : spacing;between paragraphs in footnotes +Oracle Open Office Base : spacing;font effects +Oracle Open Office Base : spacing;lines and paragraphs +Oracle Open Office Base : spacing;tab stops in text documents +Oracle Open Office Base : spacing;tabs in presentations +Oracle Open Office Base : spadmin +Oracle Open Office Base : special characters +Oracle Open Office Base : speech bubbles +Oracle Open Office Base : speed of printing +Oracle Open Office Base : spellcheck +Oracle Open Office Base : spellcheck;activating for a language +Oracle Open Office Base : spellcheck;context menus +Oracle Open Office Base : spellcheck;default languages +Oracle Open Office Base : spellcheck;dialog +Oracle Open Office Base : spellcheck;dictionary of exceptions +Oracle Open Office Base : spellcheck;ignore list +Oracle Open Office Base : spin button creation +Oracle Open Office Base : spoolfiles with Xprinter +Oracle Open Office Base : spreadsheets +Oracle Open Office Base : spreadsheets;as databases (base) +Oracle Open Office Base : spreadsheets;copying areas to text documents +Oracle Open Office Base : spreadsheets;creating/opening +Oracle Open Office Base : spreadsheets;inserting charts +Oracle Open Office Base : spreadsheets;inserting database records +Oracle Open Office Base : spreadsheets;printing +Oracle Open Office Base : spreadsheets;saving +Oracle Open Office Base : spreadsheets;saving automatically +Oracle Open Office Base : spreadsheets;saving in other formats +Oracle Open Office Base : spreadsheets;sending as e-mail +Oracle Open Office Base : SQL +Oracle Open Office Base : SQL;definition +Oracle Open Office Base : SQL;DISTINCT parameter +Oracle Open Office Base : SQL;executing SQL commands +Oracle Open Office Base : SQL;executing SQL statements (Base) +Oracle Open Office Base : SQL;queries (Base) +Oracle Open Office Base : square drawings +Oracle Open Office Base : standard bar on/off +Oracle Open Office Base : standard filters in databases +Oracle Open Office Base : standard printer under UNIX +Oracle Open Office Base : start center +Oracle Open Office Base : start parameters +Oracle Open Office Base : status bar on/off +Oracle Open Office Base : stickers +Oracle Open Office Base : strikethrough +Oracle Open Office Base : strikethrough;characters +Oracle Open Office Base : strikethrough;font effects +Oracle Open Office Base : styles +Oracle Open Office Base : styles;'changed' message +Oracle Open Office Base : styles;copying between documents +Oracle Open Office Base : styles;keyboard shortcuts +Oracle Open Office Base : styles;organizing +Oracle Open Office Base : styles;printing styles used in a document +Oracle Open Office Base : styles;replacing automatically +Oracle Open Office Base : Styles and Formatting window +Oracle Open Office Base : Styles and Formatting window;docking +Oracle Open Office Base : subforms +Oracle Open Office Base : subforms;creating +Oracle Open Office Base : subforms;description +Oracle Open Office Base : submitting forms +Oracle Open Office Base : suffixes in file formats +Oracle Open Office Base : support on the Web +Oracle Open Office Base : synchronizing +Oracle Open Office Base : synchronizing;labels and business cards +Oracle Open Office Base : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Base : system address book registration +Oracle Open Office Base : tab stops +Oracle Open Office Base : tab stops;displaying (Writer) +Oracle Open Office Base : tab stops;inserting and editing +Oracle Open Office Base : tab stops;regular expressions +Oracle Open Office Base : tab stops;setting in sheets +Oracle Open Office Base : tab stops;settings +Oracle Open Office Base : tab stops;spacing in presentations +Oracle Open Office Base : tab stops;spacing in text documents +Oracle Open Office Base : table controls +Oracle Open Office Base : table controls;form functions +Oracle Open Office Base : table controls;keyboard-only edit mode +Oracle Open Office Base : table controls;properties +Oracle Open Office Base : table views of databases +Oracle Open Office Base : Table Wizard (Base) +Oracle Open Office Base : tables +Oracle Open Office Base : tables;inserting line breaks +Oracle Open Office Base : tables in databases +Oracle Open Office Base : tables in databases;access rights to (Base) +Oracle Open Office Base : tables in databases;adding to queries +Oracle Open Office Base : tables in databases;browsing and editing +Oracle Open Office Base : tables in databases;copying database tables (Base) +Oracle Open Office Base : tables in databases;creating +Oracle Open Office Base : tables in databases;creating in design view (manually) +Oracle Open Office Base : tables in databases;importing text formats (Base) +Oracle Open Office Base : tables in databases;joining for queries (Base) +Oracle Open Office Base : tables in databases;printing queries (Base) +Oracle Open Office Base : tables in databases;relations (Base) +Oracle Open Office Base : tables in databases;searching +Oracle Open Office Base : tables in spreadsheets +Oracle Open Office Base : tables in spreadsheets;copying data to other applications +Oracle Open Office Base : tables in spreadsheets;defining borders +Oracle Open Office Base : tables in spreadsheets;value highlighting +Oracle Open Office Base : tables in text +Oracle Open Office Base : tables in text;captions +Oracle Open Office Base : tables in text;creating automatically +Oracle Open Office Base : tables in text;default settings +Oracle Open Office Base : tables in text;defining borders +Oracle Open Office Base : tables in text;displaying +Oracle Open Office Base : tables in text;printing +Oracle Open Office Base : tabs +Oracle Open Office Base : tabs;displaying sheet tabs +Oracle Open Office Base : tags +Oracle Open Office Base : tags;definition +Oracle Open Office Base : tags;META tags +Oracle Open Office Base : templates +Oracle Open Office Base : templates;agendas +Oracle Open Office Base : templates;changing basic fonts +Oracle Open Office Base : templates;database reports +Oracle Open Office Base : templates;deleting +Oracle Open Office Base : templates;editing and saving +Oracle Open Office Base : templates;faxes +Oracle Open Office Base : templates;importing and exporting +Oracle Open Office Base : templates;letters +Oracle Open Office Base : templates;new documents from templates +Oracle Open Office Base : templates;opening documents with +Oracle Open Office Base : templates;organizing +Oracle Open Office Base : terminology +Oracle Open Office Base : terminology;general glossary +Oracle Open Office Base : terminology;Internet glossary +Oracle Open Office Base : testing XML filters +Oracle Open Office Base : text +Oracle Open Office Base : text;animating +Oracle Open Office Base : text;Asian layout +Oracle Open Office Base : text;bold +Oracle Open Office Base : text;coloring +Oracle Open Office Base : text;copying by drag and drop +Oracle Open Office Base : text;CTL languages +Oracle Open Office Base : text;drawing pictures +Oracle Open Office Base : text;font effects +Oracle Open Office Base : text;font sizes +Oracle Open Office Base : text;font styles +Oracle Open Office Base : text;fonts and formats +Oracle Open Office Base : text;Fontwork icons +Oracle Open Office Base : text;hyperlinks +Oracle Open Office Base : text;inserting special characters +Oracle Open Office Base : text;italics +Oracle Open Office Base : text;kerning +Oracle Open Office Base : text;language selection +Oracle Open Office Base : text;line spacing +Oracle Open Office Base : text;overwriting or inserting +Oracle Open Office Base : text;printing in black +Oracle Open Office Base : text;replacing with format +Oracle Open Office Base : text;selection modes +Oracle Open Office Base : text;shadowed +Oracle Open Office Base : text;text/draw objects +Oracle Open Office Base : text attributes +Oracle Open Office Base : text attributes;hyperlinks +Oracle Open Office Base : text attributes;undoing +Oracle Open Office Base : text boxes +Oracle Open Office Base : text boxes;form functions +Oracle Open Office Base : text boxes;positioning +Oracle Open Office Base : text breaks in cells +Oracle Open Office Base : text colors for better accessibility +Oracle Open Office Base : text databases (Base) +Oracle Open Office Base : text documents +Oracle Open Office Base : text documents;creating/opening +Oracle Open Office Base : text documents;importing/exporting +Oracle Open Office Base : text documents;inserting spreadsheet cells +Oracle Open Office Base : text documents;print settings +Oracle Open Office Base : text documents;printing +Oracle Open Office Base : text documents;saving +Oracle Open Office Base : text documents;saving automatically +Oracle Open Office Base : text documents;saving in other formats +Oracle Open Office Base : text documents;sending as e-mail +Oracle Open Office Base : text effects +Oracle Open Office Base : text flow +Oracle Open Office Base : text flow;in cells +Oracle Open Office Base : text formats +Oracle Open Office Base : text formats;databases +Oracle Open Office Base : text formats;pasting +Oracle Open Office Base : text input fields +Oracle Open Office Base : text layout for special languages +Oracle Open Office Base : text objects +Oracle Open Office Base : text objects;alignment +Oracle Open Office Base : text objects;draw functions +Oracle Open Office Base : text objects;fonts +Oracle Open Office Base : text objects;in presentations and drawings +Oracle Open Office Base : text overflow in spreadsheet cells +Oracle Open Office Base : text, see also text documents, paragraphs and characters +Oracle Open Office Base : TextArt, see Fontwork +Oracle Open Office Base : textures +Oracle Open Office Base : textures;inserting from Gallery +Oracle Open Office Base : textures;on chart bars +Oracle Open Office Base : Thai +Oracle Open Office Base : Thai;entering text +Oracle Open Office Base : Thai;language settings +Oracle Open Office Base : thesaurus +Oracle Open Office Base : thesaurus;activating for a language +Oracle Open Office Base : ticker text +Oracle Open Office Base : time fields +Oracle Open Office Base : time fields;form functions +Oracle Open Office Base : times +Oracle Open Office Base : times;inserting when printing presentations +Oracle Open Office Base : times, formats +Oracle Open Office Base : tips +Oracle Open Office Base : tips;extended tips in Help +Oracle Open Office Base : title rows +Oracle Open Office Base : title rows;printing in Oracle Open Office Math +Oracle Open Office Base : titles +Oracle Open Office Base : titles;changing +Oracle Open Office Base : titles;editing in charts +Oracle Open Office Base : titles;font effects +Oracle Open Office Base : titles;formatting automatically +Oracle Open Office Base : titles;objects +Oracle Open Office Base : toolbars +Oracle Open Office Base : toolbars;adding buttons +Oracle Open Office Base : toolbars;docking/undocking +Oracle Open Office Base : toolbars;Form Navigation bar +Oracle Open Office Base : toolbars;viewing/closing +Oracle Open Office Base : tools bar +Oracle Open Office Base : tooltips +Oracle Open Office Base : tooltips;extended tips +Oracle Open Office Base : tooltips;help +Oracle Open Office Base : traditional Chinese +Oracle Open Office Base : traditional Chinese;translating to simplified chinese +Oracle Open Office Base : transparency +Oracle Open Office Base : transparency;areas +Oracle Open Office Base : transparency;off for faster printing +Oracle Open Office Base : transparency;saving +Oracle Open Office Base : tree view of Help +Oracle Open Office Base : typefaces +Oracle Open Office Base : typefaces;adding under UNIX +Oracle Open Office Base : typefaces;formats +Oracle Open Office Base : typography +Oracle Open Office Base : typography;Asian +Oracle Open Office Base : underlining +Oracle Open Office Base : underlining;AutoFormat function +Oracle Open Office Base : underlining;characters +Oracle Open Office Base : underlining;text +Oracle Open Office Base : undocking windows +Oracle Open Office Base : undoing +Oracle Open Office Base : undoing;direct formatting +Oracle Open Office Base : undoing;editing +Oracle Open Office Base : undoing;number of steps +Oracle Open Office Base : ungrouping groups +Oracle Open Office Base : units +Oracle Open Office Base : units;converting +Oracle Open Office Base : units;measurement units +Oracle Open Office Base : UNO components +Oracle Open Office Base : UNO components;Extension Manager +Oracle Open Office Base : UNO components;integrating new +Oracle Open Office Base : update options +Oracle Open Office Base : updates +Oracle Open Office Base : updates;checking automatically +Oracle Open Office Base : updates;checking manually +Oracle Open Office Base : updating +Oracle Open Office Base : updating;fields and charts, automatically (Writer) +Oracle Open Office Base : updating;links in text documents +Oracle Open Office Base : updating;links, on opening +Oracle Open Office Base : updating;templates +Oracle Open Office Base : URL +Oracle Open Office Base : URL;changing hyperlink URLs +Oracle Open Office Base : URL;definition +Oracle Open Office Base : URL;in pictures +Oracle Open Office Base : URL;saving absolute/relative paths +Oracle Open Office Base : URL;turning off URL recognition +Oracle Open Office Base : user data +Oracle Open Office Base : user data;input +Oracle Open Office Base : user data;removing when saving +Oracle Open Office Base : user feedback +Oracle Open Office Base : user feedback;automatically +Oracle Open Office Base : user-defined dictionaries +Oracle Open Office Base : user-defined dictionaries;creating +Oracle Open Office Base : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Base : user-defined dictionaries;editing +Oracle Open Office Base : user-defined styles +Oracle Open Office Base : user-defined styles;automatically replacing +Oracle Open Office Base : UTF-8/UCS2 support +Oracle Open Office Base : values +Oracle Open Office Base : values;rounded as shown (Calc) +Oracle Open Office Base : variables +Oracle Open Office Base : variables;for paths +Oracle Open Office Base : VBA code +Oracle Open Office Base : VBA code;loading/saving documents with VBA code +Oracle Open Office Base : version management +Oracle Open Office Base : version numbers of documents +Oracle Open Office Base : versions +Oracle Open Office Base : versions;comparing documents +Oracle Open Office Base : versions;file saving as, restriction +Oracle Open Office Base : versions;merging document versions +Oracle Open Office Base : versions;of a document +Oracle Open Office Base : versions;Oracle Open Office +Oracle Open Office Base : vertical callouts +Oracle Open Office Base : vertical scrollbars (Writer) +Oracle Open Office Base : vertical text boxes +Oracle Open Office Base : videos +Oracle Open Office Base : viewing +Oracle Open Office Base : viewing;databases +Oracle Open Office Base : viewing;file properties +Oracle Open Office Base : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Base : viewing;toolbars +Oracle Open Office Base : views +Oracle Open Office Base : views;creating database views (Base) +Oracle Open Office Base : views;defaults +Oracle Open Office Base : views;full screen +Oracle Open Office Base : views;icons +Oracle Open Office Base : views;scaling +Oracle Open Office Base : Visual Basic for Applications +Oracle Open Office Base : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Base : watermarks +Oracle Open Office Base : web documents +Oracle Open Office Base : web documents;XForms +Oracle Open Office Base : Web support +Oracle Open Office Base : WebCast export +Oracle Open Office Base : WebDAV over HTTPS +Oracle Open Office Base : windows +Oracle Open Office Base : windows;docking +Oracle Open Office Base : windows;docking definition +Oracle Open Office Base : windows;hiding/showing/docking +Oracle Open Office Base : windows;new +Oracle Open Office Base : wizards +Oracle Open Office Base : wizards;agendas +Oracle Open Office Base : wizards;database queries +Oracle Open Office Base : wizards;database tables (Base) +Oracle Open Office Base : wizards;databases (Base) +Oracle Open Office Base : wizards;document converter +Oracle Open Office Base : wizards;Euro Converter +Oracle Open Office Base : wizards;faxes +Oracle Open Office Base : wizards;forms +Oracle Open Office Base : wizards;letters +Oracle Open Office Base : wizards;macros (Base) +Oracle Open Office Base : wizards;overview +Oracle Open Office Base : wizards;presentations +Oracle Open Office Base : wizards;reports +Oracle Open Office Base : Word documents +Oracle Open Office Base : Word documents;compatibility +Oracle Open Office Base : Word documents;saving as +Oracle Open Office Base : WordArt, see Fontwork +Oracle Open Office Base : words +Oracle Open Office Base : words;automatically replacing +Oracle Open Office Base : words;wrapping in cells +Oracle Open Office Base : words;wrapping in CTL +Oracle Open Office Base : working directory change +Oracle Open Office Base : wrapping text +Oracle Open Office Base : wrapping text;in cells +Oracle Open Office Base : write protection on/off +Oracle Open Office Base : writing aids options +Oracle Open Office Base : WYSIWYG in fonts lists +Oracle Open Office Base : XForms +Oracle Open Office Base : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Base : XForms;conditions +Oracle Open Office Base : XForms;opening/editing +Oracle Open Office Base : XML converters +Oracle Open Office Base : XML file formats +Oracle Open Office Base : XML filters +Oracle Open Office Base : XML filters;creating/testing +Oracle Open Office Base : XML filters;saving as package/installing/deleting +Oracle Open Office Base : XML filters;settings +Oracle Open Office Base : XML Forms, see XForms +Oracle Open Office Base : XSLT filters, see also XML filters +Oracle Open Office Base : years +Oracle Open Office Base : years;2-digit options +Oracle Open Office Base : zero values +Oracle Open Office Base : zero values;displaying (Calc) +Oracle Open Office Base : zooming +Oracle Open Office Base : zooming;page views +Oracle Open Office Base : zooming;pictures +Oracle Open Office Base : zooming;status bar +Oracle Open Office Basic : "^" operator (mathematical) +Oracle Open Office Basic : "-" operator (mathematical) +Oracle Open Office Basic : "*" operator (mathematical) +Oracle Open Office Basic : "/" operator (mathematical) +Oracle Open Office Basic : "+" operator (mathematical) +Oracle Open Office Basic : 3D text creation +Oracle Open Office Basic : abbreviation replacement +Oracle Open Office Basic : Abs function +Oracle Open Office Basic : absolute hyperlinks +Oracle Open Office Basic : absolute saving of URLs +Oracle Open Office Basic : accents +Oracle Open Office Basic : Access databases (base) +Oracle Open Office Basic : access rights for database tables (Base) +Oracle Open Office Basic : accessibility +Oracle Open Office Basic : accessibility;general shortcuts +Oracle Open Office Basic : accessibility;options +Oracle Open Office Basic : accessibility;Oracle Open Office assistive technology +Oracle Open Office Basic : accessibility;Oracle Open Office features +Oracle Open Office Basic : activating +Oracle Open Office Basic : activating;context menus +Oracle Open Office Basic : activating;Error Report Tool +Oracle Open Office Basic : activating;extended help tips +Oracle Open Office Basic : activating;plug-ins +Oracle Open Office Basic : ActiveX control +Oracle Open Office Basic : Adabas D databases (base) +Oracle Open Office Basic : add-ons, see UNO components +Oracle Open Office Basic : adding libraries +Oracle Open Office Basic : additional selection mode +Oracle Open Office Basic : address books +Oracle Open Office Basic : address books;LDAP server (Base) +Oracle Open Office Basic : address books;registering +Oracle Open Office Basic : address labels from databases +Oracle Open Office Basic : ADO databases (Base) +Oracle Open Office Basic : Agenda Wizard +Oracle Open Office Basic : aging filter +Oracle Open Office Basic : aligning +Oracle Open Office Basic : aligning;cells +Oracle Open Office Basic : aligning;objects +Oracle Open Office Basic : aligning;paragraphs +Oracle Open Office Basic : aligning;tables in text +Oracle Open Office Basic : aligning;text objects +Oracle Open Office Basic : alternative fonts +Oracle Open Office Basic : ampersand symbol in StarBasic +Oracle Open Office Basic : ampersand symbol, see also operators +Oracle Open Office Basic : anchors +Oracle Open Office Basic : anchors;changing +Oracle Open Office Basic : anchors;displaying (Calc) +Oracle Open Office Basic : anchors;types/positions for draw objects +Oracle Open Office Basic : AND operator (logical) +Oracle Open Office Basic : animations +Oracle Open Office Basic : animations;accessibility options +Oracle Open Office Basic : appearance options +Oracle Open Office Basic : Arabic +Oracle Open Office Basic : Arabic;entering text +Oracle Open Office Basic : Arabic;language settings +Oracle Open Office Basic : areas +Oracle Open Office Basic : areas;bitmap patterns +Oracle Open Office Basic : areas;hatched/dotted +Oracle Open Office Basic : areas;shadows +Oracle Open Office Basic : areas;slanting +Oracle Open Office Basic : areas;styles +Oracle Open Office Basic : areas;transparency +Oracle Open Office Basic : arguments in command line +Oracle Open Office Basic : arranging +Oracle Open Office Basic : arranging;objects +Oracle Open Office Basic : Array function +Oracle Open Office Basic : arrays +Oracle Open Office Basic : arrays;declaring +Oracle Open Office Basic : arrays;dimensioning +Oracle Open Office Basic : arrows +Oracle Open Office Basic : arrows;defining arrow heads +Oracle Open Office Basic : arrows;defining arrow lines +Oracle Open Office Basic : arrows;drawing in text +Oracle Open Office Basic : Asc function +Oracle Open Office Basic : ASCII +Oracle Open Office Basic : ASCII;definition +Oracle Open Office Basic : Asian languages +Oracle Open Office Basic : Asian languages;enabling +Oracle Open Office Basic : Asian Phonetic Guide +Oracle Open Office Basic : Asian typography +Oracle Open Office Basic : assigning macros to events +Oracle Open Office Basic : assigning scripts +Oracle Open Office Basic : assistive technology in Oracle Open Office +Oracle Open Office Basic : Atn function +Oracle Open Office Basic : attaching toolbars +Oracle Open Office Basic : attachments in e-mails +Oracle Open Office Basic : audio +Oracle Open Office Basic : auto reloading HTML documents +Oracle Open Office Basic : AutoAbstract function for sending text to presentations +Oracle Open Office Basic : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Basic : AutoComplete function in text and list boxes +Oracle Open Office Basic : AutoCorrect function +Oracle Open Office Basic : AutoCorrect function;context menu +Oracle Open Office Basic : AutoCorrect function;options +Oracle Open Office Basic : AutoCorrect function;pictures and frames +Oracle Open Office Basic : AutoCorrect function;quotes +Oracle Open Office Basic : AutoCorrect function;replacement table +Oracle Open Office Basic : AutoCorrect function;switching on and off in Calc +Oracle Open Office Basic : AutoCorrect function;URL recognition +Oracle Open Office Basic : AutoFormat function +Oracle Open Office Basic : AutoFormat function;switching on and off +Oracle Open Office Basic : automatic captions (Writer) +Oracle Open Office Basic : automatic control focus +Oracle Open Office Basic : automatic hyperlink formatting +Oracle Open Office Basic : automatic line breaks +Oracle Open Office Basic : automatic lines/borders in text +Oracle Open Office Basic : automatic saving +Oracle Open Office Basic : AutoPilots, see wizards +Oracle Open Office Basic : AutoValue (Base) +Oracle Open Office Basic : axes in charts +Oracle Open Office Basic : backgrounds +Oracle Open Office Basic : backgrounds;defining colors/pictures +Oracle Open Office Basic : backgrounds;frames/sections/indexes +Oracle Open Office Basic : backgrounds;inserting from Gallery +Oracle Open Office Basic : backgrounds;printing +Oracle Open Office Basic : backing window +Oracle Open Office Basic : backups +Oracle Open Office Basic : backups;automatic +Oracle Open Office Basic : backups;documents +Oracle Open Office Basic : Basic +Oracle Open Office Basic : Basic;fonts for source display +Oracle Open Office Basic : Basic;programming +Oracle Open Office Basic : Basic;recording macros +Oracle Open Office Basic : Basic editor +Oracle Open Office Basic : basic fonts +Oracle Open Office Basic : Basic IDE +Oracle Open Office Basic : Basic IDE;Integrated Development Environment +Oracle Open Office Basic : Basic IDE;macros +Oracle Open Office Basic : BasicLibraries (LibraryContainer) +Oracle Open Office Basic : Beep statement +Oracle Open Office Basic : Bézier curves +Oracle Open Office Basic : Bézier curves;control points in presentations +Oracle Open Office Basic : bi-directional writing +Oracle Open Office Basic : binding space +Oracle Open Office Basic : bitmaps +Oracle Open Office Basic : bitmaps;inserting and editing +Oracle Open Office Basic : bitmaps;off for faster printing +Oracle Open Office Basic : bitmaps;patterns +Oracle Open Office Basic : black and white printing +Oracle Open Office Basic : black printing in Calc +Oracle Open Office Basic : block selection mode +Oracle Open Office Basic : Blue function +Oracle Open Office Basic : bold +Oracle Open Office Basic : bold;AutoFormat function +Oracle Open Office Basic : bold;text +Oracle Open Office Basic : bookmarks +Oracle Open Office Basic : bookmarks;Help +Oracle Open Office Basic : borders +Oracle Open Office Basic : borders;arranging +Oracle Open Office Basic : borders;cells on screen (Calc) +Oracle Open Office Basic : borders;for paragraphs +Oracle Open Office Basic : borders;for tables +Oracle Open Office Basic : borders;shadows +Oracle Open Office Basic : borders;table boundaries (Writer) +Oracle Open Office Basic : borders, see also frames +Oracle Open Office Basic : bound fields +Oracle Open Office Basic : bound fields;controls +Oracle Open Office Basic : boundaries of tables (Writer) +Oracle Open Office Basic : break display (Writer) +Oracle Open Office Basic : breakpoints +Oracle Open Office Basic : brochures +Oracle Open Office Basic : brochures;printing several +Oracle Open Office Basic : build numbers of Oracle Open Office +Oracle Open Office Basic : bullet lists +Oracle Open Office Basic : bullet lists;formatting options +Oracle Open Office Basic : bullets +Oracle Open Office Basic : bullets;paragraphs +Oracle Open Office Basic : bullets;replacing +Oracle Open Office Basic : bullets;turning off +Oracle Open Office Basic : business cards +Oracle Open Office Basic : business cards;creating and synchronizing +Oracle Open Office Basic : business cards;using templates +Oracle Open Office Basic : button bars, see toolbars +Oracle Open Office Basic : buttons +Oracle Open Office Basic : buttons;adding push buttons +Oracle Open Office Basic : buttons;big/small +Oracle Open Office Basic : buttons;controls +Oracle Open Office Basic : buttons;editing hyperlink buttons +Oracle Open Office Basic : buttons;form functions +Oracle Open Office Basic : buttons;toolbars +Oracle Open Office Basic : cache for graphics +Oracle Open Office Basic : calculating +Oracle Open Office Basic : calculating;iterative references (Calc) +Oracle Open Office Basic : Call Stack window +Oracle Open Office Basic : Call statement +Oracle Open Office Basic : callouts +Oracle Open Office Basic : callouts;drawings +Oracle Open Office Basic : capital letters +Oracle Open Office Basic : capital letters;AutoCorrect function +Oracle Open Office Basic : capital letters;font effects +Oracle Open Office Basic : captions +Oracle Open Office Basic : captions;automatic captions (Writer) +Oracle Open Office Basic : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Basic : captions, see also labels/callouts +Oracle Open Office Basic : cascading update (Base) +Oracle Open Office Basic : case sensitivity +Oracle Open Office Basic : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Basic : case sensitivity;searching +Oracle Open Office Basic : Case statement +Oracle Open Office Basic : CBool function +Oracle Open Office Basic : CByte function +Oracle Open Office Basic : CCur function +Oracle Open Office Basic : CDate function +Oracle Open Office Basic : CdateFromIso function +Oracle Open Office Basic : CdateToIso function +Oracle Open Office Basic : CDbl function +Oracle Open Office Basic : CDec function +Oracle Open Office Basic : cells +Oracle Open Office Basic : cells;aligning +Oracle Open Office Basic : cells;coloring (Calc) +Oracle Open Office Basic : cells;cursor positions after input (Calc) +Oracle Open Office Basic : cells;formatting without effect (Calc) +Oracle Open Office Basic : cells;line breaks +Oracle Open Office Basic : cells;linked to controls +Oracle Open Office Basic : cells;number of +Oracle Open Office Basic : cells;pasting +Oracle Open Office Basic : cells;resetting formats +Oracle Open Office Basic : cells;showing grid lines (Calc) +Oracle Open Office Basic : centered text +Oracle Open Office Basic : centimeters +Oracle Open Office Basic : certificates +Oracle Open Office Basic : changes +Oracle Open Office Basic : changes;accepting or rejecting +Oracle Open Office Basic : changes;comparing to original +Oracle Open Office Basic : changes;protecting +Oracle Open Office Basic : changes;recording +Oracle Open Office Basic : changes;review function +Oracle Open Office Basic : changes;showing +Oracle Open Office Basic : changing +Oracle Open Office Basic : changing;control properties +Oracle Open Office Basic : changing;document titles +Oracle Open Office Basic : changing;file associations in Setup program +Oracle Open Office Basic : changing;icon sizes +Oracle Open Office Basic : changing;links +Oracle Open Office Basic : changing;work directory +Oracle Open Office Basic : changing, see also editing and replacing +Oracle Open Office Basic : character styles +Oracle Open Office Basic : character styles;language selection +Oracle Open Office Basic : characters +Oracle Open Office Basic : characters;alternative fonts +Oracle Open Office Basic : characters;Asian layout +Oracle Open Office Basic : characters;bold +Oracle Open Office Basic : characters;coloring +Oracle Open Office Basic : characters;displaying only on screen (Writer) +Oracle Open Office Basic : characters;enabling CTL and Asian characters +Oracle Open Office Basic : characters;font effects +Oracle Open Office Basic : characters;fonts and formats +Oracle Open Office Basic : characters;hyperlinks +Oracle Open Office Basic : characters;italics +Oracle Open Office Basic : characters;language selection +Oracle Open Office Basic : characters;shadowed +Oracle Open Office Basic : characters;spacing +Oracle Open Office Basic : characters;special +Oracle Open Office Basic : characters;underlining +Oracle Open Office Basic : charcoal sketches filter +Oracle Open Office Basic : charts +Oracle Open Office Basic : charts;arranging within stacks +Oracle Open Office Basic : charts;bars with textures +Oracle Open Office Basic : charts;colors +Oracle Open Office Basic : charts;copying with link to source cell range +Oracle Open Office Basic : charts;displaying (Calc) +Oracle Open Office Basic : charts;editing axes +Oracle Open Office Basic : charts;editing data +Oracle Open Office Basic : charts;editing legends +Oracle Open Office Basic : charts;editing titles +Oracle Open Office Basic : charts;inserting +Oracle Open Office Basic : charts;updating automatically (Writer) +Oracle Open Office Basic : ChDir statement +Oracle Open Office Basic : ChDrive statement +Oracle Open Office Basic : check box control +Oracle Open Office Basic : check box creation +Oracle Open Office Basic : Chinese writing systems +Oracle Open Office Basic : Choose function +Oracle Open Office Basic : choosing printers +Oracle Open Office Basic : Chr function +Oracle Open Office Basic : CInt function +Oracle Open Office Basic : circle drawings +Oracle Open Office Basic : Client Side ImageMap +Oracle Open Office Basic : clipboard +Oracle Open Office Basic : clipboard;cutting +Oracle Open Office Basic : clipboard;pasting +Oracle Open Office Basic : clipboard;pasting formatted/unformatted text +Oracle Open Office Basic : clipboard;selection clipboard +Oracle Open Office Basic : clipboard;Unix +Oracle Open Office Basic : CLng function +Oracle Open Office Basic : Close statement +Oracle Open Office Basic : closing +Oracle Open Office Basic : closing;documents +Oracle Open Office Basic : closing;toolbars +Oracle Open Office Basic : collaboration +Oracle Open Office Basic : color bar +Oracle Open Office Basic : colors +Oracle Open Office Basic : colors;adding +Oracle Open Office Basic : colors;appearance +Oracle Open Office Basic : colors;backgrounds +Oracle Open Office Basic : colors;charts +Oracle Open Office Basic : colors;fill format +Oracle Open Office Basic : colors;fonts +Oracle Open Office Basic : colors;grid lines and cells (Calc) +Oracle Open Office Basic : colors;models +Oracle Open Office Basic : colors;not printing +Oracle Open Office Basic : colors;printing in grayscale +Oracle Open Office Basic : colors;restriction (Calc) +Oracle Open Office Basic : colors;selection +Oracle Open Office Basic : column headers +Oracle Open Office Basic : column headers;displaying (Calc) +Oracle Open Office Basic : column headers;highlighting (Calc) +Oracle Open Office Basic : columns +Oracle Open Office Basic : columns;setting with the mouse +Oracle Open Office Basic : combo box control +Oracle Open Office Basic : combo box creation +Oracle Open Office Basic : command button creation +Oracle Open Office Basic : command buttons, see push buttons +Oracle Open Office Basic : command line parameters +Oracle Open Office Basic : commands +Oracle Open Office Basic : commands;repeating +Oracle Open Office Basic : commands;SQL +Oracle Open Office Basic : comments +Oracle Open Office Basic : comments;displaying (Calc) +Oracle Open Office Basic : comments;inserting/editing/deleting/printing +Oracle Open Office Basic : comments;on changes +Oracle Open Office Basic : comments;printing in text +Oracle Open Office Basic : comments;Rem statement +Oracle Open Office Basic : common terms +Oracle Open Office Basic : common terms;Chinese dictionary +Oracle Open Office Basic : common terms;glossaries +Oracle Open Office Basic : common terms;Internet glossary +Oracle Open Office Basic : comparison operators +Oracle Open Office Basic : comparison operators;Oracle Open Office Basic +Oracle Open Office Basic : comparisons +Oracle Open Office Basic : comparisons;document versions +Oracle Open Office Basic : comparisons;operators in default filter dialog +Oracle Open Office Basic : compatibility settings for MS Word import +Oracle Open Office Basic : complete screen view +Oracle Open Office Basic : complex text layout +Oracle Open Office Basic : complex text layout;definition +Oracle Open Office Basic : complex text layout;enabling +Oracle Open Office Basic : complex text layout, see CTL +Oracle Open Office Basic : components +Oracle Open Office Basic : components;addressing +Oracle Open Office Basic : compose key to insert special characters +Oracle Open Office Basic : concatenation, see ampersand symbol +Oracle Open Office Basic : conditional separators +Oracle Open Office Basic : conditions +Oracle Open Office Basic : conditions;in number formats +Oracle Open Office Basic : conditions;items in Data Navigator +Oracle Open Office Basic : Configuration Manager +Oracle Open Office Basic : configuring +Oracle Open Office Basic : configuring;fax icon +Oracle Open Office Basic : configuring;Oracle Open Office +Oracle Open Office Basic : configuring;toolbars +Oracle Open Office Basic : connections to data sources (Base) +Oracle Open Office Basic : Const statement +Oracle Open Office Basic : constants +Oracle Open Office Basic : contents protection +Oracle Open Office Basic : context menus +Oracle Open Office Basic : continuation +Oracle Open Office Basic : continuation;long lines in editor +Oracle Open Office Basic : control point display in presentations +Oracle Open Office Basic : controls +Oracle Open Office Basic : controls;activating in forms +Oracle Open Office Basic : controls;adding to documents +Oracle Open Office Basic : controls;arranging in forms +Oracle Open Office Basic : controls;arranging within stacks +Oracle Open Office Basic : controls;assigning data sources +Oracle Open Office Basic : controls;assigning macros (Basic) +Oracle Open Office Basic : controls;bound fields/list contents/linked cells +Oracle Open Office Basic : controls;changing properties +Oracle Open Office Basic : controls;creating in the dialog editor +Oracle Open Office Basic : controls;events +Oracle Open Office Basic : controls;focus +Oracle Open Office Basic : controls;formatted fields +Oracle Open Office Basic : controls;grouping +Oracle Open Office Basic : controls;hidden +Oracle Open Office Basic : controls;in dialog editor +Oracle Open Office Basic : controls;inserting +Oracle Open Office Basic : controls;multi-line titles +Oracle Open Office Basic : controls;positions and sizes +Oracle Open Office Basic : controls;printing +Oracle Open Office Basic : controls;properties +Oracle Open Office Basic : controls;properties of form controls +Oracle Open Office Basic : controls;properties of table controls +Oracle Open Office Basic : controls;reading or editing properties (example) +Oracle Open Office Basic : controls;reference by SQL +Oracle Open Office Basic : controls;rich text control +Oracle Open Office Basic : controls;select mode +Oracle Open Office Basic : controls;showing (Writer) +Oracle Open Office Basic : converters +Oracle Open Office Basic : converters;Euro converter +Oracle Open Office Basic : converters;PostScript, UNIX +Oracle Open Office Basic : converters;XML +Oracle Open Office Basic : ConvertFromURL function +Oracle Open Office Basic : converting +Oracle Open Office Basic : converting;Hangul/Hanja +Oracle Open Office Basic : converting;metrics +Oracle Open Office Basic : converting;Microsoft documents +Oracle Open Office Basic : converting;Oracle Open Office documents +Oracle Open Office Basic : converting;Pocket PC formats +Oracle Open Office Basic : ConvertToURL function +Oracle Open Office Basic : copies +Oracle Open Office Basic : copies;printing +Oracle Open Office Basic : copying +Oracle Open Office Basic : copying;by drag and drop +Oracle Open Office Basic : copying;data from text documents +Oracle Open Office Basic : copying;datasource records in spreadsheets +Oracle Open Office Basic : copying;draw objects +Oracle Open Office Basic : copying;draw objects between documents +Oracle Open Office Basic : copying;formatting +Oracle Open Office Basic : copying;from data source view +Oracle Open Office Basic : copying;from Gallery +Oracle Open Office Basic : copying;in Unix +Oracle Open Office Basic : copying;modules +Oracle Open Office Basic : copying;pictures, between documents +Oracle Open Office Basic : copying;sheet areas, to text documents +Oracle Open Office Basic : copying;to Gallery +Oracle Open Office Basic : copyright for Oracle Open Office +Oracle Open Office Basic : corner roundings +Oracle Open Office Basic : Cos function +Oracle Open Office Basic : crash reports +Oracle Open Office Basic : CreateObject function +Oracle Open Office Basic : CreateUnoDialog function +Oracle Open Office Basic : CreateUnoListener function +Oracle Open Office Basic : CreateUnoService function +Oracle Open Office Basic : CreateUnoStruct function +Oracle Open Office Basic : CreateUnoValue function +Oracle Open Office Basic : criteria of query design (Base) +Oracle Open Office Basic : cropping pictures +Oracle Open Office Basic : CSng function +Oracle Open Office Basic : CStr function +Oracle Open Office Basic : CTL +Oracle Open Office Basic : CTL;(not) wrapping words +Oracle Open Office Basic : CTL;complex text layout languages +Oracle Open Office Basic : CTL;definition +Oracle Open Office Basic : CTL;options +Oracle Open Office Basic : CurDir function +Oracle Open Office Basic : currencies +Oracle Open Office Basic : currencies;converters +Oracle Open Office Basic : currencies;format codes +Oracle Open Office Basic : currency field control +Oracle Open Office Basic : currency field creation +Oracle Open Office Basic : currency formats +Oracle Open Office Basic : cursor +Oracle Open Office Basic : cursor;allowing in protected areas (Writer) +Oracle Open Office Basic : cursor;in read-only text +Oracle Open Office Basic : cursor;quickly moving to an object +Oracle Open Office Basic : curves +Oracle Open Office Basic : curves;editing points +Oracle Open Office Basic : custom dictionaries +Oracle Open Office Basic : custom dictionaries;editing +Oracle Open Office Basic : custom hyphens (Writer) +Oracle Open Office Basic : custom quotes +Oracle Open Office Basic : custom templates +Oracle Open Office Basic : customizing +Oracle Open Office Basic : customizing;events +Oracle Open Office Basic : customizing;keyboard +Oracle Open Office Basic : customizing;menus +Oracle Open Office Basic : customizing;Oracle Open Office +Oracle Open Office Basic : customizing;round corners +Oracle Open Office Basic : customizing;toolbars +Oracle Open Office Basic : cutting +Oracle Open Office Basic : CVar function +Oracle Open Office Basic : CVErr function +Oracle Open Office Basic : dashes +Oracle Open Office Basic : data +Oracle Open Office Basic : data;filtering in forms +Oracle Open Office Basic : data;forms and subforms +Oracle Open Office Basic : data;read-only +Oracle Open Office Basic : data;sorting in forms +Oracle Open Office Basic : data;user data +Oracle Open Office Basic : data binding change in XForms +Oracle Open Office Basic : Data Navigator +Oracle Open Office Basic : Data Navigator;adding/editing items +Oracle Open Office Basic : Data Navigator;display options +Oracle Open Office Basic : data source browser +Oracle Open Office Basic : data source explorer +Oracle Open Office Basic : data source view +Oracle Open Office Basic : data source view;drag and drop +Oracle Open Office Basic : data source view;overview +Oracle Open Office Basic : data source view;showing +Oracle Open Office Basic : data sources +Oracle Open Office Basic : data sources;as tables +Oracle Open Office Basic : data sources;connection settings (Base) +Oracle Open Office Basic : data sources;copying records to spreadsheets +Oracle Open Office Basic : data sources;displaying current +Oracle Open Office Basic : data sources;LDAP server (Base) +Oracle Open Office Basic : data sources;Oracle Open Office Base +Oracle Open Office Basic : data sources;registering address books +Oracle Open Office Basic : data sources;reports +Oracle Open Office Basic : data sources;viewing +Oracle Open Office Basic : data structure of XForms +Oracle Open Office Basic : data, see also values +Oracle Open Office Basic : database contents +Oracle Open Office Basic : database contents;inserting as tables +Oracle Open Office Basic : database contents;inserting as text +Oracle Open Office Basic : database reports +Oracle Open Office Basic : Database Wizard (Base) +Oracle Open Office Basic : databases +Oracle Open Office Basic : databases;administration through SQL (Base) +Oracle Open Office Basic : databases;ADO (Base) +Oracle Open Office Basic : databases;connecting (Base) +Oracle Open Office Basic : databases;creating +Oracle Open Office Basic : databases;creating labels +Oracle Open Office Basic : databases;creating queries +Oracle Open Office Basic : databases;creating reports +Oracle Open Office Basic : databases;creating tables +Oracle Open Office Basic : databases;deleting (Base) +Oracle Open Office Basic : databases;drag and drop (Base) +Oracle Open Office Basic : databases;editing tables +Oracle Open Office Basic : databases;form filters +Oracle Open Office Basic : databases;formats (Base) +Oracle Open Office Basic : databases;importing/exporting +Oracle Open Office Basic : databases;JDBC (Base) +Oracle Open Office Basic : databases;main page (Base) +Oracle Open Office Basic : databases;ODBC (Base) +Oracle Open Office Basic : databases;overview +Oracle Open Office Basic : databases;registering (Base) +Oracle Open Office Basic : databases;searching records +Oracle Open Office Basic : databases;shortcut keys +Oracle Open Office Basic : databases;sorting +Oracle Open Office Basic : databases;standard filters +Oracle Open Office Basic : databases;text formats +Oracle Open Office Basic : databases;viewing +Oracle Open Office Basic : date field control +Oracle Open Office Basic : date fields +Oracle Open Office Basic : date fields;creating +Oracle Open Office Basic : date fields;properties +Oracle Open Office Basic : date formats +Oracle Open Office Basic : Date statement +Oracle Open Office Basic : DateAdd function +Oracle Open Office Basic : DateDiff function +Oracle Open Office Basic : DatePart function +Oracle Open Office Basic : dates +Oracle Open Office Basic : dates;default (Calc) +Oracle Open Office Basic : dates;printing in presentations +Oracle Open Office Basic : dates;start 1900/01/01 (Calc) +Oracle Open Office Basic : dates;start 1904/01/01 (Calc) +Oracle Open Office Basic : DateSerial function +Oracle Open Office Basic : DateValue function +Oracle Open Office Basic : Day function +Oracle Open Office Basic : dBASE +Oracle Open Office Basic : dBASE;database settings (Base) +Oracle Open Office Basic : DDE +Oracle Open Office Basic : DDE;definition +Oracle Open Office Basic : deactivating +Oracle Open Office Basic : deactivating;plug-ins +Oracle Open Office Basic : debugging Basic programs +Oracle Open Office Basic : decimal places displayed (Calc) +Oracle Open Office Basic : decimal separator key +Oracle Open Office Basic : decimal tab stops +Oracle Open Office Basic : Declare statement +Oracle Open Office Basic : declaring variables +Oracle Open Office Basic : default directories +Oracle Open Office Basic : default filters +Oracle Open Office Basic : default filters;comparison operators +Oracle Open Office Basic : default filters;databases +Oracle Open Office Basic : default printer +Oracle Open Office Basic : default printer;setting up +Oracle Open Office Basic : default printer;UNIX +Oracle Open Office Basic : default templates +Oracle Open Office Basic : default templates;changing +Oracle Open Office Basic : default templates;organizing +Oracle Open Office Basic : defaults +Oracle Open Office Basic : defaults;documents +Oracle Open Office Basic : defaults;file formats in file dialogs +Oracle Open Office Basic : defaults;file formats in Oracle Open Office +Oracle Open Office Basic : defaults;fonts +Oracle Open Office Basic : defaults;grids (Writer/Calc) +Oracle Open Office Basic : defaults;languages +Oracle Open Office Basic : defaults;number formats +Oracle Open Office Basic : defaults;of saving +Oracle Open Office Basic : defaults;program configuration +Oracle Open Office Basic : defaults;tab stops in text +Oracle Open Office Basic : defaults;views +Oracle Open Office Basic : DefBool statement +Oracle Open Office Basic : DefCur statement +Oracle Open Office Basic : DefDate statement +Oracle Open Office Basic : DefDbl statement +Oracle Open Office Basic : DefErr statement +Oracle Open Office Basic : defining +Oracle Open Office Basic : defining;arrowheads and other line ends +Oracle Open Office Basic : defining;colors +Oracle Open Office Basic : defining;constants +Oracle Open Office Basic : defining;line styles +Oracle Open Office Basic : defining;paragraph borders +Oracle Open Office Basic : defining;queries (Base) +Oracle Open Office Basic : defining;table borders +Oracle Open Office Basic : DefInt statement +Oracle Open Office Basic : DefLng statement +Oracle Open Office Basic : DefObj statement +Oracle Open Office Basic : DefSng statement +Oracle Open Office Basic : DefStr statement +Oracle Open Office Basic : DefVar statement +Oracle Open Office Basic : deleting +Oracle Open Office Basic : deleting;all direct formatting +Oracle Open Office Basic : deleting;comments +Oracle Open Office Basic : deleting;databases (Base) +Oracle Open Office Basic : deleting;hyperlinks +Oracle Open Office Basic : deleting;libraries/modules/dialogs +Oracle Open Office Basic : deleting;lines in text +Oracle Open Office Basic : deleting;macro assignments to events +Oracle Open Office Basic : deleting;models/instances +Oracle Open Office Basic : deleting;namespaces in XForms +Oracle Open Office Basic : deleting;tab stops +Oracle Open Office Basic : deleting;templates +Oracle Open Office Basic : deleting;XML filters +Oracle Open Office Basic : depth stagger +Oracle Open Office Basic : descriptions for objects +Oracle Open Office Basic : design mode after saving +Oracle Open Office Basic : design view +Oracle Open Office Basic : design view;creating forms +Oracle Open Office Basic : design view;queries/views (Base) +Oracle Open Office Basic : designing +Oracle Open Office Basic : designing;database tables +Oracle Open Office Basic : designing;fonts +Oracle Open Office Basic : designing;queries (Base) +Oracle Open Office Basic : detaching toolbars +Oracle Open Office Basic : dialog editor +Oracle Open Office Basic : dialog editor;changing control properties +Oracle Open Office Basic : dialog editor;creating controls +Oracle Open Office Basic : dialog editor;programming examples for controls +Oracle Open Office Basic : DialogLibraries (LibraryContainer) +Oracle Open Office Basic : dialogs +Oracle Open Office Basic : dialogs;creating Basic dialogs +Oracle Open Office Basic : dialogs;displaying (example) +Oracle Open Office Basic : dialogs;loading (example) +Oracle Open Office Basic : dialogs;organizing +Oracle Open Office Basic : dialogs;properties +Oracle Open Office Basic : dialogs;translating +Oracle Open Office Basic : dialogs;using program code to show (example) +Oracle Open Office Basic : dictionaries +Oracle Open Office Basic : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Basic : dictionaries;creating +Oracle Open Office Basic : dictionaries;editing user-defined +Oracle Open Office Basic : dictionaries;spellcheck +Oracle Open Office Basic : dictionaries, see also languages +Oracle Open Office Basic : digital signatures +Oracle Open Office Basic : digital signatures;getting/managing/applying +Oracle Open Office Basic : digital signatures;overview +Oracle Open Office Basic : digital signatures;WebDAV over HTTPS +Oracle Open Office Basic : Dim statement +Oracle Open Office Basic : DimArray function +Oracle Open Office Basic : dimensioning arrays +Oracle Open Office Basic : Dir function +Oracle Open Office Basic : direct formatting +Oracle Open Office Basic : direct formatting;undoing all +Oracle Open Office Basic : directories +Oracle Open Office Basic : directories;creating new +Oracle Open Office Basic : directories;directory structure +Oracle Open Office Basic : disabled persons +Oracle Open Office Basic : displaying +Oracle Open Office Basic : displaying;comments (Calc) +Oracle Open Office Basic : displaying;comments in text documents +Oracle Open Office Basic : displaying;non-printing characters (Writer) +Oracle Open Office Basic : displaying;pictures and objects (Writer) +Oracle Open Office Basic : displaying;tables (Writer) +Oracle Open Office Basic : displaying;zero values (Calc) +Oracle Open Office Basic : distances +Oracle Open Office Basic : distinct values in SQL queries +Oracle Open Office Basic : distorting in drawings +Oracle Open Office Basic : distributing XML filters +Oracle Open Office Basic : DLL (Dynamic Link Library) +Oracle Open Office Basic : Do...Loop statement +Oracle Open Office Basic : docking +Oracle Open Office Basic : docking;definition +Oracle Open Office Basic : docking;toolbars +Oracle Open Office Basic : docking;windows +Oracle Open Office Basic : Document Converter Wizard +Oracle Open Office Basic : Document Map, see Navigator +Oracle Open Office Basic : document types in Oracle Open Office +Oracle Open Office Basic : documents +Oracle Open Office Basic : documents;changing titles +Oracle Open Office Basic : documents;closing +Oracle Open Office Basic : documents;comparing +Oracle Open Office Basic : documents;contents as lists +Oracle Open Office Basic : documents;editing time +Oracle Open Office Basic : documents;exporting +Oracle Open Office Basic : documents;importing +Oracle Open Office Basic : documents;languages +Oracle Open Office Basic : documents;measurement units in +Oracle Open Office Basic : documents;merging +Oracle Open Office Basic : documents;number of pages/tables/sheets +Oracle Open Office Basic : documents;opening +Oracle Open Office Basic : documents;opening in design mode +Oracle Open Office Basic : documents;opening with templates +Oracle Open Office Basic : documents;organizing +Oracle Open Office Basic : documents;printing +Oracle Open Office Basic : documents;read-only +Oracle Open Office Basic : documents;reloading +Oracle Open Office Basic : documents;saving +Oracle Open Office Basic : documents;saving automatically +Oracle Open Office Basic : documents;saving in other formats +Oracle Open Office Basic : documents;sending as e-mail +Oracle Open Office Basic : documents;styles changed +Oracle Open Office Basic : documents;version management +Oracle Open Office Basic : documents;version numbers +Oracle Open Office Basic : dotted areas +Oracle Open Office Basic : double-line spacing in paragraphs +Oracle Open Office Basic : double-line writing in Asian layout +Oracle Open Office Basic : drag and drop +Oracle Open Office Basic : drag and drop;copying and pasting text +Oracle Open Office Basic : drag and drop;data source view +Oracle Open Office Basic : drag and drop;from Gallery to draw objects +Oracle Open Office Basic : drag and drop;overview +Oracle Open Office Basic : drag and drop;pictures +Oracle Open Office Basic : drag and drop;to Gallery +Oracle Open Office Basic : draw objects +Oracle Open Office Basic : draw objects;adding/editing/copying +Oracle Open Office Basic : draw objects;anchoring +Oracle Open Office Basic : draw objects;arranging within stacks +Oracle Open Office Basic : draw objects;copying between documents +Oracle Open Office Basic : draw objects;displaying (Calc) +Oracle Open Office Basic : draw objects;dropping Gallery pictures +Oracle Open Office Basic : draw objects;flipping +Oracle Open Office Basic : draw objects;legends +Oracle Open Office Basic : draw objects;positioning and resizing +Oracle Open Office Basic : draw objects;protecting +Oracle Open Office Basic : draw objects;slanting +Oracle Open Office Basic : draw objects;text in +Oracle Open Office Basic : Drawing bar +Oracle Open Office Basic : drawing lines in text +Oracle Open Office Basic : drawings +Oracle Open Office Basic : drawings;creating/opening +Oracle Open Office Basic : drawings;languages +Oracle Open Office Basic : drawings;printing +Oracle Open Office Basic : drawings;printing defaults +Oracle Open Office Basic : drawings;printing in text documents +Oracle Open Office Basic : drawings;saving +Oracle Open Office Basic : drawings;saving automatically +Oracle Open Office Basic : drawings;saving in other formats +Oracle Open Office Basic : drawings;sending as e-mail +Oracle Open Office Basic : drawings;showing (Writer) +Oracle Open Office Basic : drawings, see also draw objects +Oracle Open Office Basic : drop-down lists in form functions +Oracle Open Office Basic : e-mail attachments +Oracle Open Office Basic : Edit File icon +Oracle Open Office Basic : edit mode +Oracle Open Office Basic : edit mode;after opening +Oracle Open Office Basic : edit mode;through Enter key (Calc) +Oracle Open Office Basic : Edit Points bar +Oracle Open Office Basic : editing +Oracle Open Office Basic : editing;chart axes +Oracle Open Office Basic : editing;chart data +Oracle Open Office Basic : editing;chart legends +Oracle Open Office Basic : editing;chart titles +Oracle Open Office Basic : editing;comments +Oracle Open Office Basic : editing;controls +Oracle Open Office Basic : editing;data binding of XForms +Oracle Open Office Basic : editing;database tables and queries +Oracle Open Office Basic : editing;draw objects +Oracle Open Office Basic : editing;Fontwork objects +Oracle Open Office Basic : editing;hyperlinks +Oracle Open Office Basic : editing;menus +Oracle Open Office Basic : editing;objects +Oracle Open Office Basic : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Basic : editing;pictures +Oracle Open Office Basic : editing;reports +Oracle Open Office Basic : editing;shortcut keys +Oracle Open Office Basic : editing;tab stops +Oracle Open Office Basic : editing;templates +Oracle Open Office Basic : editing;toolbars +Oracle Open Office Basic : editing;undoing +Oracle Open Office Basic : editing;XForms +Oracle Open Office Basic : editing time of documents +Oracle Open Office Basic : editors +Oracle Open Office Basic : editors;formula editor +Oracle Open Office Basic : editors;ImageMap editor +Oracle Open Office Basic : effects +Oracle Open Office Basic : effects;font positions +Oracle Open Office Basic : effects;fonts +Oracle Open Office Basic : effects;Fontwork icons +Oracle Open Office Basic : empty documents +Oracle Open Office Basic : empty paragraph removal +Oracle Open Office Basic : encryption of contents +Oracle Open Office Basic : End statement +Oracle Open Office Basic : entering groups +Oracle Open Office Basic : entering text from right to left +Oracle Open Office Basic : Environ function +Oracle Open Office Basic : Eof function +Oracle Open Office Basic : equal sign, see also operators +Oracle Open Office Basic : EqualUnoObjects function +Oracle Open Office Basic : equations in formula editor +Oracle Open Office Basic : Eqv operator (logical) +Oracle Open Office Basic : Erase function +Oracle Open Office Basic : Erl function +Oracle Open Office Basic : Err function +Oracle Open Office Basic : error codes in Basic +Oracle Open Office Basic : Error function +Oracle Open Office Basic : Error Report Tool +Oracle Open Office Basic : Euro +Oracle Open Office Basic : Euro;currency formats +Oracle Open Office Basic : Euro;Euro Converter Wizard +Oracle Open Office Basic : even/odd pages +Oracle Open Office Basic : even/odd pages;printing +Oracle Open Office Basic : events +Oracle Open Office Basic : events;assigning macros +Oracle Open Office Basic : events;assigning scripts +Oracle Open Office Basic : events;controls +Oracle Open Office Basic : events;customizing +Oracle Open Office Basic : events;in forms +Oracle Open Office Basic : events;linked to objects +Oracle Open Office Basic : examples +Oracle Open Office Basic : examples;programming controls +Oracle Open Office Basic : examples;showing a dialog using program code +Oracle Open Office Basic : Excel +Oracle Open Office Basic : Excel;saving as +Oracle Open Office Basic : Excel;search criteria +Oracle Open Office Basic : exceptions +Oracle Open Office Basic : exceptions;user-defined dictionaries +Oracle Open Office Basic : exchanging, see also replacing +Oracle Open Office Basic : executing SQL commands +Oracle Open Office Basic : Exit statement +Oracle Open Office Basic : exiting +Oracle Open Office Basic : exiting;groups +Oracle Open Office Basic : exiting;Oracle Open Office +Oracle Open Office Basic : Exp function +Oracle Open Office Basic : expanding formatting (Calc) +Oracle Open Office Basic : explorer of data sources +Oracle Open Office Basic : export filters +Oracle Open Office Basic : exporting +Oracle Open Office Basic : exporting;bitmaps +Oracle Open Office Basic : exporting;HTML and text documents +Oracle Open Office Basic : exporting;Microsoft Office documents with VBA code +Oracle Open Office Basic : exporting;spreadsheets to text format +Oracle Open Office Basic : exporting;templates +Oracle Open Office Basic : exporting;to foreign formats +Oracle Open Office Basic : exporting;to HTML +Oracle Open Office Basic : exporting;to Microsoft Office formats +Oracle Open Office Basic : exporting;to PDF +Oracle Open Office Basic : exporting;to PostScript format +Oracle Open Office Basic : exporting;to XML +Oracle Open Office Basic : exporting;XML files +Oracle Open Office Basic : extended tips in Help +Oracle Open Office Basic : extension mode in text +Oracle Open Office Basic : extensions +Oracle Open Office Basic : extensions;Extension Manager +Oracle Open Office Basic : extensions;file formats +Oracle Open Office Basic : external keys (Base) +Oracle Open Office Basic : faster printing +Oracle Open Office Basic : faxes +Oracle Open Office Basic : faxes;configuring Oracle Open Office +Oracle Open Office Basic : faxes;fax programs/fax printers under UNIX +Oracle Open Office Basic : faxes;selecting a fax machine +Oracle Open Office Basic : faxes;sending +Oracle Open Office Basic : faxes;wizards +Oracle Open Office Basic : feedback +Oracle Open Office Basic : feedback;automatically +Oracle Open Office Basic : fields +Oracle Open Office Basic : fields;database tables +Oracle Open Office Basic : fields;displaying field codes (Writer) +Oracle Open Office Basic : fields;formatted fields +Oracle Open Office Basic : fields;updating automatically (Writer) +Oracle Open Office Basic : file associations for Microsoft Office +Oracle Open Office Basic : file filters +Oracle Open Office Basic : file filters;mobile devices +Oracle Open Office Basic : file filters;XML +Oracle Open Office Basic : file formats +Oracle Open Office Basic : file formats;changing Oracle Open Office defaults +Oracle Open Office Basic : file formats;OpenDocument/XML +Oracle Open Office Basic : file formats;saving always in other formats +Oracle Open Office Basic : file selection button +Oracle Open Office Basic : file selection control +Oracle Open Office Basic : file sharing options for current document +Oracle Open Office Basic : FileAttr function +Oracle Open Office Basic : FileCopy statement +Oracle Open Office Basic : FileDateTime function +Oracle Open Office Basic : FileExists function +Oracle Open Office Basic : FileLen function +Oracle Open Office Basic : filepicker +Oracle Open Office Basic : filepicker;API service +Oracle Open Office Basic : files +Oracle Open Office Basic : files;filters and formats +Oracle Open Office Basic : files;importing +Oracle Open Office Basic : files;opening +Oracle Open Office Basic : files;properties +Oracle Open Office Basic : files;saving +Oracle Open Office Basic : files;saving automatically +Oracle Open Office Basic : files;saving in other formats +Oracle Open Office Basic : files;sending as e-mail +Oracle Open Office Basic : files;version numbers +Oracle Open Office Basic : files and folders in Oracle Open Office +Oracle Open Office Basic : fill characters with tabulators +Oracle Open Office Basic : fill colors for areas +Oracle Open Office Basic : fill patterns for areas +Oracle Open Office Basic : filter conditions +Oracle Open Office Basic : filter conditions;connecting +Oracle Open Office Basic : filter conditions;in queries (Base) +Oracle Open Office Basic : filtering +Oracle Open Office Basic : filtering;data in databases +Oracle Open Office Basic : filtering;data in forms +Oracle Open Office Basic : filters +Oracle Open Office Basic : filters;comparison operators +Oracle Open Office Basic : filters;for import and export +Oracle Open Office Basic : filters;Navigator +Oracle Open Office Basic : filters;pictures +Oracle Open Office Basic : filters;XML filter settings +Oracle Open Office Basic : Find tab in Help +Oracle Open Office Basic : finding +Oracle Open Office Basic : finding;in all sheets +Oracle Open Office Basic : finding;records in form documents +Oracle Open Office Basic : finding;selections +Oracle Open Office Basic : finding;similarity search +Oracle Open Office Basic : FindObject function +Oracle Open Office Basic : FindPropertyObject function +Oracle Open Office Basic : fitting to pages +Oracle Open Office Basic : fitting to pages;print settings in Math +Oracle Open Office Basic : fitting to pages;print settings in presentations +Oracle Open Office Basic : Fix function +Oracle Open Office Basic : fixed line control +Oracle Open Office Basic : fixed text +Oracle Open Office Basic : fixed text;form functions +Oracle Open Office Basic : fixed text control +Oracle Open Office Basic : fixing toolbars +Oracle Open Office Basic : flipping draw objects +Oracle Open Office Basic : floating frames in HTML documents +Oracle Open Office Basic : floating toolbars +Oracle Open Office Basic : focus of controls +Oracle Open Office Basic : folder creation +Oracle Open Office Basic : font lists +Oracle Open Office Basic : font name box +Oracle Open Office Basic : font sizes +Oracle Open Office Basic : font sizes;bullets +Oracle Open Office Basic : font sizes;relative changes +Oracle Open Office Basic : font sizes;scaling on screen +Oracle Open Office Basic : font sizes;text +Oracle Open Office Basic : fonts +Oracle Open Office Basic : fonts;adding under UNIX +Oracle Open Office Basic : fonts;changing in templates +Oracle Open Office Basic : fonts;colors +Oracle Open Office Basic : fonts;default settings +Oracle Open Office Basic : fonts;effects +Oracle Open Office Basic : fonts;for HTML and Basic +Oracle Open Office Basic : fonts;formats +Oracle Open Office Basic : fonts;outlines +Oracle Open Office Basic : fonts;positions in text +Oracle Open Office Basic : fonts;shadows +Oracle Open Office Basic : fonts;specifying several +Oracle Open Office Basic : fonts;strikethrough +Oracle Open Office Basic : fonts;styles +Oracle Open Office Basic : fonts;text objects +Oracle Open Office Basic : Fontwork icons +Oracle Open Office Basic : footers +Oracle Open Office Basic : footers;backgrounds +Oracle Open Office Basic : For statement +Oracle Open Office Basic : form controls +Oracle Open Office Basic : form controls;assigning macros +Oracle Open Office Basic : form controls;protecting +Oracle Open Office Basic : form controls;toolbars +Oracle Open Office Basic : form fields +Oracle Open Office Basic : form filters +Oracle Open Office Basic : Form Navigator +Oracle Open Office Basic : format codes +Oracle Open Office Basic : format codes;numbers +Oracle Open Office Basic : format filling printing in Oracle Open Office Math +Oracle Open Office Basic : Format function +Oracle Open Office Basic : Format Paintbrush +Oracle Open Office Basic : formats +Oracle Open Office Basic : formats;Asian layout +Oracle Open Office Basic : formats;fonts +Oracle Open Office Basic : formats;maximizing page formats +Oracle Open Office Basic : formats;number and currency formats +Oracle Open Office Basic : formats;of currencies/date/time +Oracle Open Office Basic : formats;on opening and saving +Oracle Open Office Basic : formats;pasting in special formats +Oracle Open Office Basic : formats;positions +Oracle Open Office Basic : formats;tabulators +Oracle Open Office Basic : formatted field control +Oracle Open Office Basic : formatted fields +Oracle Open Office Basic : formatted fields;form functions +Oracle Open Office Basic : formatted fields;properties +Oracle Open Office Basic : formatting +Oracle Open Office Basic : formatting;Asian typography +Oracle Open Office Basic : formatting;axes in charts +Oracle Open Office Basic : formatting;chart legends +Oracle Open Office Basic : formatting;copying +Oracle Open Office Basic : formatting;definition +Oracle Open Office Basic : formatting;expanding (Calc) +Oracle Open Office Basic : formatting;font effects +Oracle Open Office Basic : formatting;hyperlinks +Oracle Open Office Basic : formatting;pages +Oracle Open Office Basic : formatting;printer metrics (Writer) +Oracle Open Office Basic : formatting;undoing +Oracle Open Office Basic : formatting;undoing when writing +Oracle Open Office Basic : forms +Oracle Open Office Basic : forms;browsing +Oracle Open Office Basic : forms;Combo Box/List Box Wizard +Oracle Open Office Basic : forms;creating +Oracle Open Office Basic : forms;data +Oracle Open Office Basic : forms;designing (Base) +Oracle Open Office Basic : forms;events +Oracle Open Office Basic : forms;filtering data +Oracle Open Office Basic : forms;finding records +Oracle Open Office Basic : forms;focus after opening +Oracle Open Office Basic : forms;general information (Base) +Oracle Open Office Basic : forms;grouping controls +Oracle Open Office Basic : forms;HTML filters +Oracle Open Office Basic : forms;Navigator +Oracle Open Office Basic : forms;opening in design mode +Oracle Open Office Basic : forms;properties +Oracle Open Office Basic : forms;sorting data +Oracle Open Office Basic : forms;subforms +Oracle Open Office Basic : forms;wizards +Oracle Open Office Basic : forms;XForms +Oracle Open Office Basic : formula texts +Oracle Open Office Basic : formula texts;printing in Oracle Open Office Math +Oracle Open Office Basic : formulas +Oracle Open Office Basic : formulas;new +Oracle Open Office Basic : formulas;starting formula editor +Oracle Open Office Basic : formulas in reports +Oracle Open Office Basic : formulas in reports;editing +Oracle Open Office Basic : forums and support +Oracle Open Office Basic : frames +Oracle Open Office Basic : frames;around paragraphs +Oracle Open Office Basic : frames;around tables +Oracle Open Office Basic : frames;AutoCorrect function +Oracle Open Office Basic : frames;backgrounds +Oracle Open Office Basic : frames;captions (Writer) +Oracle Open Office Basic : frames;printing in Oracle Open Office Math +Oracle Open Office Basic : frames;protecting +Oracle Open Office Basic : frames;selection frames +Oracle Open Office Basic : frames;text fitting to frames +Oracle Open Office Basic : FreeFile function +Oracle Open Office Basic : freeform lines +Oracle Open Office Basic : freeform lines;draw functions +Oracle Open Office Basic : FreeLibrary function +Oracle Open Office Basic : FTP +Oracle Open Office Basic : FTP;opening documents +Oracle Open Office Basic : FTP;saving documents +Oracle Open Office Basic : full joins (Base) +Oracle Open Office Basic : full screen view +Oracle Open Office Basic : full-text search in Help +Oracle Open Office Basic : Function statement +Oracle Open Office Basic : functions +Oracle Open Office Basic : functions;return value type +Oracle Open Office Basic : functions;using +Oracle Open Office Basic : functions in reports +Oracle Open Office Basic : functions in reports;editing +Oracle Open Office Basic : fundamentals +Oracle Open Office Basic : Gallery +Oracle Open Office Basic : Gallery;adding pictures +Oracle Open Office Basic : Gallery;dragging pictures to draw objects +Oracle Open Office Basic : Gallery;hiding/showing +Oracle Open Office Basic : Gallery;inserting pictures from +Oracle Open Office Basic : get method for form transmissions +Oracle Open Office Basic : Get statement +Oracle Open Office Basic : GetAttr function +Oracle Open Office Basic : GetDefaultContext function +Oracle Open Office Basic : GetGuiType function +Oracle Open Office Basic : GetProcessServiceManager function +Oracle Open Office Basic : GetSolarVersion function +Oracle Open Office Basic : GetSystemTicks function +Oracle Open Office Basic : getting support +Oracle Open Office Basic : GIF format +Oracle Open Office Basic : Global statement +Oracle Open Office Basic : GLOBAL variables +Oracle Open Office Basic : GlobalScope function +Oracle Open Office Basic : glossaries +Oracle Open Office Basic : glossaries;common terms +Oracle Open Office Basic : glossaries;Internet terms +Oracle Open Office Basic : GoSub...Return statement +Oracle Open Office Basic : GoTo statement +Oracle Open Office Basic : gradients off for faster printing +Oracle Open Office Basic : graphic objects, see draw objects +Oracle Open Office Basic : graphical text art +Oracle Open Office Basic : graphics +Oracle Open Office Basic : graphics;cache +Oracle Open Office Basic : graphics;protecting +Oracle Open Office Basic : graphics, see also pictures +Oracle Open Office Basic : grayscale printing +Oracle Open Office Basic : Green function +Oracle Open Office Basic : grid controls +Oracle Open Office Basic : grid controls;form functions +Oracle Open Office Basic : grids +Oracle Open Office Basic : grids;defaults (Writer/Calc) +Oracle Open Office Basic : grids;display options (Impress/Draw) +Oracle Open Office Basic : grids;displaying lines (Calc) +Oracle Open Office Basic : group box control +Oracle Open Office Basic : group box creation +Oracle Open Office Basic : groups +Oracle Open Office Basic : groups;entering/exiting/ungrouping +Oracle Open Office Basic : groups;naming +Oracle Open Office Basic : groups;of controls +Oracle Open Office Basic : guides +Oracle Open Office Basic : guides;display options (Impress/Draw) +Oracle Open Office Basic : guides;displaying when moving objects (Impress) +Oracle Open Office Basic : guides;showing (Calc) +Oracle Open Office Basic : guides;showing when moving frames (Writer) +Oracle Open Office Basic : gutter +Oracle Open Office Basic : handles +Oracle Open Office Basic : handles;displaying (Writer) +Oracle Open Office Basic : handles;scaling +Oracle Open Office Basic : handles;showing simple/large handles (Calc) +Oracle Open Office Basic : Hangul/Hanja +Oracle Open Office Basic : HasUnoInterfaces function +Oracle Open Office Basic : hatching +Oracle Open Office Basic : headers +Oracle Open Office Basic : headers;backgrounds +Oracle Open Office Basic : headings +Oracle Open Office Basic : headings;entering as text box +Oracle Open Office Basic : Hebrew +Oracle Open Office Basic : Hebrew;entering text +Oracle Open Office Basic : Hebrew;language settings +Oracle Open Office Basic : Help +Oracle Open Office Basic : Help;bookmarks +Oracle Open Office Basic : Help;extended tips on/off +Oracle Open Office Basic : Help;full-text search +Oracle Open Office Basic : Help;Help tips +Oracle Open Office Basic : Help;keywords +Oracle Open Office Basic : Help;navigation pane showing/hiding +Oracle Open Office Basic : Help;style sheets +Oracle Open Office Basic : Help;topics +Oracle Open Office Basic : Help Agent +Oracle Open Office Basic : Help Agent;help +Oracle Open Office Basic : Help Agent;options +Oracle Open Office Basic : Help tips +Oracle Open Office Basic : Help tips;hiding +Oracle Open Office Basic : Hex function +Oracle Open Office Basic : hidden controls in Form Navigator +Oracle Open Office Basic : hidden fields display (Writer) +Oracle Open Office Basic : hidden pages +Oracle Open Office Basic : hidden pages;printing in presentations +Oracle Open Office Basic : hidden text +Oracle Open Office Basic : hidden text;showing (Writer) +Oracle Open Office Basic : hiding +Oracle Open Office Basic : hiding;changes +Oracle Open Office Basic : hiding;docked windows +Oracle Open Office Basic : hiding;navigation pane in Help window +Oracle Open Office Basic : high contrast mode +Oracle Open Office Basic : Hindi +Oracle Open Office Basic : Hindi;entering text +Oracle Open Office Basic : Hindi;language settings +Oracle Open Office Basic : horizontal line control +Oracle Open Office Basic : horizontal scrollbar control +Oracle Open Office Basic : horizontal scrollbars (Writer) +Oracle Open Office Basic : hotspots +Oracle Open Office Basic : Hour function +Oracle Open Office Basic : HTML +Oracle Open Office Basic : HTML;definition +Oracle Open Office Basic : HTML;export character set +Oracle Open Office Basic : HTML;fonts for source display +Oracle Open Office Basic : HTML;importing META tags +Oracle Open Office Basic : HTML;live presentations +Oracle Open Office Basic : HTML documents +Oracle Open Office Basic : HTML documents;auto reloading +Oracle Open Office Basic : HTML documents;importing/exporting +Oracle Open Office Basic : HTML documents;META tags in +Oracle Open Office Basic : HTML documents;new +Oracle Open Office Basic : HTML documents;source text +Oracle Open Office Basic : hyperlinks +Oracle Open Office Basic : hyperlinks;assigning macros +Oracle Open Office Basic : hyperlinks;character formats +Oracle Open Office Basic : hyperlinks;definition +Oracle Open Office Basic : hyperlinks;deleting +Oracle Open Office Basic : hyperlinks;editing +Oracle Open Office Basic : hyperlinks;inserting +Oracle Open Office Basic : hyperlinks;relative and absolute +Oracle Open Office Basic : hyperlinks;turning off automatic recognition +Oracle Open Office Basic : hyperlinks, see also links +Oracle Open Office Basic : hyphenation +Oracle Open Office Basic : hyphenation;activating for a language +Oracle Open Office Basic : hyphenation;minimal number of characters +Oracle Open Office Basic : hyphens +Oracle Open Office Basic : hyphens;displaying custom (Writer) +Oracle Open Office Basic : hyphens;inserting custom +Oracle Open Office Basic : icon bars, see toolbars +Oracle Open Office Basic : icon control +Oracle Open Office Basic : icon sizes +Oracle Open Office Basic : IDE +Oracle Open Office Basic : IDE;Integrated Development Environment +Oracle Open Office Basic : IDE;keyboard shortcuts +Oracle Open Office Basic : If statement +Oracle Open Office Basic : ignore list for spellcheck +Oracle Open Office Basic : IIf statement +Oracle Open Office Basic : illustrations, see pictures +Oracle Open Office Basic : image button creation +Oracle Open Office Basic : image control +Oracle Open Office Basic : image control creation +Oracle Open Office Basic : ImageMap +Oracle Open Office Basic : ImageMap;definition +Oracle Open Office Basic : ImageMap;editor +Oracle Open Office Basic : images +Oracle Open Office Basic : images;ImageMap +Oracle Open Office Basic : images;inserting and editing bitmaps +Oracle Open Office Basic : images, see also pictures +Oracle Open Office Basic : IME +Oracle Open Office Basic : IME;definition +Oracle Open Office Basic : IME;showing/hiding +Oracle Open Office Basic : Imp operator (logical) +Oracle Open Office Basic : import filters +Oracle Open Office Basic : import restrictions for Microsoft Office +Oracle Open Office Basic : importing +Oracle Open Office Basic : importing;bitmaps +Oracle Open Office Basic : importing;compatibility settings for text import +Oracle Open Office Basic : importing;databases +Oracle Open Office Basic : importing;documents in other formats +Oracle Open Office Basic : importing;from XML +Oracle Open Office Basic : importing;HTML and text documents +Oracle Open Office Basic : importing;HTML with META tags +Oracle Open Office Basic : importing;Microsoft Office documents with VBA code +Oracle Open Office Basic : importing;tables in text format +Oracle Open Office Basic : importing;templates +Oracle Open Office Basic : improvement program +Oracle Open Office Basic : inches +Oracle Open Office Basic : Index tab in Help +Oracle Open Office Basic : indexes +Oracle Open Office Basic : indexes;backgrounds +Oracle Open Office Basic : indexes;showing/hiding Help index tab +Oracle Open Office Basic : indicator lines in text +Oracle Open Office Basic : inner joins (Base) +Oracle Open Office Basic : input method window +Oracle Open Office Basic : Input statement +Oracle Open Office Basic : InputBox function +Oracle Open Office Basic : insert mode for entering text +Oracle Open Office Basic : inserting +Oracle Open Office Basic : inserting;Basic libraries +Oracle Open Office Basic : inserting;buttons in toolbars +Oracle Open Office Basic : inserting;cell ranges from spreadsheets +Oracle Open Office Basic : inserting;charts +Oracle Open Office Basic : inserting;clipboard options +Oracle Open Office Basic : inserting;comments +Oracle Open Office Basic : inserting;data from text documents +Oracle Open Office Basic : inserting;datasource records in spreadsheets +Oracle Open Office Basic : inserting;drawings +Oracle Open Office Basic : inserting;floating frames +Oracle Open Office Basic : inserting;Fontwork objects +Oracle Open Office Basic : inserting;form fields +Oracle Open Office Basic : inserting;hyperlinks +Oracle Open Office Basic : inserting;line breaks in cells +Oracle Open Office Basic : inserting;movies/sounds +Oracle Open Office Basic : inserting;new text tables defaults +Oracle Open Office Basic : inserting;objects from Gallery +Oracle Open Office Basic : inserting;OLE objects +Oracle Open Office Basic : inserting;paragraph borders +Oracle Open Office Basic : inserting;paragraph bullets +Oracle Open Office Basic : inserting;pictures in Gallery +Oracle Open Office Basic : inserting;plug-ins +Oracle Open Office Basic : inserting;push buttons +Oracle Open Office Basic : inserting;special characters +Oracle Open Office Basic : inserting;tab stops +Oracle Open Office Basic : inserting;textures on chart bars +Oracle Open Office Basic : installing +Oracle Open Office Basic : installing;ActiveX control +Oracle Open Office Basic : installing;mobile device filters +Oracle Open Office Basic : installing;UNO components +Oracle Open Office Basic : installing;XML filters +Oracle Open Office Basic : InStr function +Oracle Open Office Basic : instructions +Oracle Open Office Basic : instructions;general +Oracle Open Office Basic : Int function +Oracle Open Office Basic : Internet +Oracle Open Office Basic : Internet;checking for updates +Oracle Open Office Basic : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Basic : Internet;presentations +Oracle Open Office Basic : Internet;starting searches +Oracle Open Office Basic : Internet glossary +Oracle Open Office Basic : invert filter +Oracle Open Office Basic : invisible areas +Oracle Open Office Basic : IsArray function +Oracle Open Office Basic : IsDate function +Oracle Open Office Basic : IsEmpty function +Oracle Open Office Basic : IsError function +Oracle Open Office Basic : IsMissing function +Oracle Open Office Basic : IsNull function +Oracle Open Office Basic : IsNumeric function +Oracle Open Office Basic : IsObject function +Oracle Open Office Basic : IsUnoStruct function +Oracle Open Office Basic : italic text +Oracle Open Office Basic : iterative references in spreadsheets +Oracle Open Office Basic : Java +Oracle Open Office Basic : Java;definition +Oracle Open Office Basic : Java;setting options +Oracle Open Office Basic : JDBC +Oracle Open Office Basic : JDBC;databases (Base) +Oracle Open Office Basic : JDBC;definition +Oracle Open Office Basic : Join function +Oracle Open Office Basic : joining +Oracle Open Office Basic : joining;paragraphs +Oracle Open Office Basic : joining;tables (Base) +Oracle Open Office Basic : joins in databases (Base) +Oracle Open Office Basic : justifying text +Oracle Open Office Basic : kerning +Oracle Open Office Basic : kerning;Asian texts +Oracle Open Office Basic : kerning;definition +Oracle Open Office Basic : kerning;in characters +Oracle Open Office Basic : key fields for relations (Base) +Oracle Open Office Basic : keyboard +Oracle Open Office Basic : keyboard;assigning/editing shortcut keys +Oracle Open Office Basic : keyboard;general commands +Oracle Open Office Basic : keyboard;in IDE +Oracle Open Office Basic : keyboard;removing numbering +Oracle Open Office Basic : keys +Oracle Open Office Basic : keys;adding push buttons +Oracle Open Office Basic : keys;primary keys (Base) +Oracle Open Office Basic : Kill statement +Oracle Open Office Basic : kiosk export +Oracle Open Office Basic : label field control +Oracle Open Office Basic : labels +Oracle Open Office Basic : labels;creating and synchronizing +Oracle Open Office Basic : labels;for draw objects +Oracle Open Office Basic : labels;form functions +Oracle Open Office Basic : labels;from databases +Oracle Open Office Basic : labels, see also names/callouts +Oracle Open Office Basic : languages +Oracle Open Office Basic : languages;activating modules +Oracle Open Office Basic : languages;Asian support +Oracle Open Office Basic : languages;complex text layout +Oracle Open Office Basic : languages;locale settings +Oracle Open Office Basic : languages;selecting for text +Oracle Open Office Basic : languages;setting options +Oracle Open Office Basic : languages;spellcheck +Oracle Open Office Basic : languages;spellchecking and formatting +Oracle Open Office Basic : large handles (Writer) +Oracle Open Office Basic : large icons +Oracle Open Office Basic : layer arrangement +Oracle Open Office Basic : layout +Oracle Open Office Basic : layout;importing Word documents +Oracle Open Office Basic : layout;pages +Oracle Open Office Basic : LBound function +Oracle Open Office Basic : LCase function +Oracle Open Office Basic : LDAP server +Oracle Open Office Basic : LDAP server;address books (Base) +Oracle Open Office Basic : LDAP server;sign on options +Oracle Open Office Basic : leading between paragraphs +Oracle Open Office Basic : left alignment of paragraphs +Oracle Open Office Basic : Left function +Oracle Open Office Basic : left joins (Base) +Oracle Open Office Basic : legends +Oracle Open Office Basic : legends;charts +Oracle Open Office Basic : legends;draw objects +Oracle Open Office Basic : legends;rounding corners +Oracle Open Office Basic : Len function +Oracle Open Office Basic : Let statement +Oracle Open Office Basic : Letter Wizard +Oracle Open Office Basic : levels +Oracle Open Office Basic : levels;depth stagger +Oracle Open Office Basic : levels;macro security +Oracle Open Office Basic : libraries +Oracle Open Office Basic : libraries;adding +Oracle Open Office Basic : libraries;organizing +Oracle Open Office Basic : library systems +Oracle Open Office Basic : LibraryContainer +Oracle Open Office Basic : limits of tables (Writer) +Oracle Open Office Basic : line breaks +Oracle Open Office Basic : line breaks;in cells +Oracle Open Office Basic : line control +Oracle Open Office Basic : Line Input statement +Oracle Open Office Basic : line spacing +Oracle Open Office Basic : line spacing;context menu in paragraphs +Oracle Open Office Basic : line spacing;paragraph +Oracle Open Office Basic : line styles +Oracle Open Office Basic : line styles;applying +Oracle Open Office Basic : line styles;defining +Oracle Open Office Basic : lines +Oracle Open Office Basic : lines;defining ends +Oracle Open Office Basic : lines;draw functions +Oracle Open Office Basic : lines;drawing in text +Oracle Open Office Basic : lines;editing points +Oracle Open Office Basic : lines;removing automatic lines +Oracle Open Office Basic : lines of text +Oracle Open Office Basic : lines of text;alignment +Oracle Open Office Basic : lines of text;in Basic editor +Oracle Open Office Basic : links +Oracle Open Office Basic : links;between cells and controls +Oracle Open Office Basic : links;by drag and drop +Oracle Open Office Basic : links;character formats +Oracle Open Office Basic : links;definition +Oracle Open Office Basic : links;editing hyperlinks +Oracle Open Office Basic : links;inserting +Oracle Open Office Basic : links;modifying +Oracle Open Office Basic : links;opening files with +Oracle Open Office Basic : links;relational databases (Base) +Oracle Open Office Basic : links;turning off automatic recognition +Oracle Open Office Basic : links;updating options (Writer) +Oracle Open Office Basic : links;updating specific links +Oracle Open Office Basic : list box creation +Oracle Open Office Basic : list boxes +Oracle Open Office Basic : list boxes;adding entries to (example) +Oracle Open Office Basic : list boxes;controls +Oracle Open Office Basic : list boxes;removing entries from (example) +Oracle Open Office Basic : lists +Oracle Open Office Basic : lists;data assigned to controls +Oracle Open Office Basic : lists;registered databases (Base) +Oracle Open Office Basic : lists;regular expressions +Oracle Open Office Basic : live presentations on the Internet +Oracle Open Office Basic : loading +Oracle Open Office Basic : loading;Basic code +Oracle Open Office Basic : loading;documents +Oracle Open Office Basic : loading;documents from other formats +Oracle Open Office Basic : loading;HTML documents, automatically +Oracle Open Office Basic : loading;Microsoft Office documents with VBA code +Oracle Open Office Basic : loading;reloading +Oracle Open Office Basic : loading;XML files +Oracle Open Office Basic : Loc function +Oracle Open Office Basic : locale settings +Oracle Open Office Basic : localizing dialogs +Oracle Open Office Basic : Lof function +Oracle Open Office Basic : Log function +Oracle Open Office Basic : long lines +Oracle Open Office Basic : long lines;in Basic editor +Oracle Open Office Basic : loops +Oracle Open Office Basic : lowercase letters +Oracle Open Office Basic : lowercase letters;font effects +Oracle Open Office Basic : LSet statement +Oracle Open Office Basic : LTrim function +Oracle Open Office Basic : macro toolbar +Oracle Open Office Basic : Macro Wizard (Base) +Oracle Open Office Basic : macros +Oracle Open Office Basic : macros;assigning to events +Oracle Open Office Basic : macros;assigning to events in forms +Oracle Open Office Basic : macros;attaching new (Base) +Oracle Open Office Basic : macros;Basic IDE +Oracle Open Office Basic : macros;in MS Office documents +Oracle Open Office Basic : macros;interrupting +Oracle Open Office Basic : macros;organizing +Oracle Open Office Basic : macros;recording +Oracle Open Office Basic : macros;security +Oracle Open Office Basic : macros;security levels +Oracle Open Office Basic : macros;security warning dialog +Oracle Open Office Basic : macros;selecting security warnings +Oracle Open Office Basic : macros;stopping +Oracle Open Office Basic : magnifiers +Oracle Open Office Basic : margins +Oracle Open Office Basic : margins;pages +Oracle Open Office Basic : margins;setting with the mouse +Oracle Open Office Basic : margins;shadows +Oracle Open Office Basic : marking changes +Oracle Open Office Basic : marking, see selecting +Oracle Open Office Basic : masked field control +Oracle Open Office Basic : Math formula editor +Oracle Open Office Basic : measurement units +Oracle Open Office Basic : measurement units;changing on rulers +Oracle Open Office Basic : measurement units;converting +Oracle Open Office Basic : measurement units;selecting +Oracle Open Office Basic : Media Player window +Oracle Open Office Basic : menus +Oracle Open Office Basic : menus;activating context menus +Oracle Open Office Basic : menus;assigning macros +Oracle Open Office Basic : menus;customizing +Oracle Open Office Basic : merging +Oracle Open Office Basic : merging;documents +Oracle Open Office Basic : META tags +Oracle Open Office Basic : metrics +Oracle Open Office Basic : metrics;converting +Oracle Open Office Basic : metrics;document formatting (Writer) +Oracle Open Office Basic : metrics;in sheets +Oracle Open Office Basic : Microsoft Office +Oracle Open Office Basic : Microsoft Office;Access databases (base) +Oracle Open Office Basic : Microsoft Office;as default file format +Oracle Open Office Basic : Microsoft Office;document import restrictions +Oracle Open Office Basic : Microsoft Office;feature comparisons +Oracle Open Office Basic : Microsoft Office;importing password protected files +Oracle Open Office Basic : Microsoft Office;importing Word documents +Oracle Open Office Basic : Microsoft Office;importing/exporting VBA code +Oracle Open Office Basic : Microsoft Office;new users information +Oracle Open Office Basic : Microsoft Office;opening Microsoft documents +Oracle Open Office Basic : Microsoft Office;reassigning document types +Oracle Open Office Basic : Mid function +Oracle Open Office Basic : Mid statement +Oracle Open Office Basic : migrating macros (Base) +Oracle Open Office Basic : Minute function +Oracle Open Office Basic : MkDir statement +Oracle Open Office Basic : mobile device filters +Oracle Open Office Basic : MOD operator (mathematical) +Oracle Open Office Basic : models in XForms +Oracle Open Office Basic : modifying, see changing +Oracle Open Office Basic : module/dialog toggle +Oracle Open Office Basic : modules +Oracle Open Office Basic : modules;organizing +Oracle Open Office Basic : modules;subroutines and functions +Oracle Open Office Basic : Month function +Oracle Open Office Basic : more controls +Oracle Open Office Basic : mosaic filter +Oracle Open Office Basic : mouse +Oracle Open Office Basic : mouse;pointers when using drag and drop +Oracle Open Office Basic : mouse;positioning +Oracle Open Office Basic : movies +Oracle Open Office Basic : moving +Oracle Open Office Basic : moving;modules +Oracle Open Office Basic : moving;tab stops on ruler +Oracle Open Office Basic : moving;toolbars +Oracle Open Office Basic : moving;using guide lines in presentations +Oracle Open Office Basic : MS ADO interface (Base) +Oracle Open Office Basic : MsgBox function +Oracle Open Office Basic : MsgBox statement +Oracle Open Office Basic : multi-line titles in forms +Oracle Open Office Basic : multiple documents +Oracle Open Office Basic : multiple documents;opening +Oracle Open Office Basic : multiple selection +Oracle Open Office Basic : music +Oracle Open Office Basic : My Documents folder +Oracle Open Office Basic : My Documents folder;changing work directory +Oracle Open Office Basic : My Documents folder;opening +Oracle Open Office Basic : MySQL databases (Base) +Oracle Open Office Basic : Name statement +Oracle Open Office Basic : names +Oracle Open Office Basic : names;multi-line titles +Oracle Open Office Basic : names;objects +Oracle Open Office Basic : names of variables +Oracle Open Office Basic : names, see also labels/callouts +Oracle Open Office Basic : namespace organization in XForms +Oracle Open Office Basic : native SQL (Base) +Oracle Open Office Basic : navigating +Oracle Open Office Basic : navigating;in Basic projects +Oracle Open Office Basic : navigating;in documents +Oracle Open Office Basic : Navigation bar +Oracle Open Office Basic : Navigation bar;controls +Oracle Open Office Basic : Navigation bar;forms +Oracle Open Office Basic : Navigator +Oracle Open Office Basic : Navigator;comments +Oracle Open Office Basic : Navigator;contents as lists +Oracle Open Office Basic : Navigator;docking +Oracle Open Office Basic : Navigator;working with +Oracle Open Office Basic : network identity options +Oracle Open Office Basic : new databases +Oracle Open Office Basic : new documents +Oracle Open Office Basic : new lines in cells +Oracle Open Office Basic : new windows +Oracle Open Office Basic : Next statement +Oracle Open Office Basic : non-breaking dashes +Oracle Open Office Basic : non-breaking spaces (Writer) +Oracle Open Office Basic : non-printing characters (Writer) +Oracle Open Office Basic : Not operator (logical) +Oracle Open Office Basic : Nothing object +Oracle Open Office Basic : Now function +Oracle Open Office Basic : Null value +Oracle Open Office Basic : number formats +Oracle Open Office Basic : number formats;codes +Oracle Open Office Basic : number formats;formats +Oracle Open Office Basic : number formats;recognition in text tables +Oracle Open Office Basic : number of pages +Oracle Open Office Basic : number of sheets +Oracle Open Office Basic : number of tables +Oracle Open Office Basic : numbering +Oracle Open Office Basic : numbering;options +Oracle Open Office Basic : numbering;turning off +Oracle Open Office Basic : numbering;using automatically +Oracle Open Office Basic : numbers +Oracle Open Office Basic : numbers;date, time and currency formats +Oracle Open Office Basic : numerical field control +Oracle Open Office Basic : numerical fields in forms +Oracle Open Office Basic : objects +Oracle Open Office Basic : objects;always moveable (Impress/Draw) +Oracle Open Office Basic : objects;arranging within stacks +Oracle Open Office Basic : objects;copying when moving in presentations +Oracle Open Office Basic : objects;definition +Oracle Open Office Basic : objects;displaying in spreadsheets +Oracle Open Office Basic : objects;displaying in text documents +Oracle Open Office Basic : objects;editing +Oracle Open Office Basic : objects;inserting from Gallery +Oracle Open Office Basic : objects;inserting OLE objects +Oracle Open Office Basic : objects;moving and resizing with mouse +Oracle Open Office Basic : objects;naming +Oracle Open Office Basic : objects;opening +Oracle Open Office Basic : objects;quickly moving to +Oracle Open Office Basic : objects;titles and descriptions +Oracle Open Office Basic : Oct function +Oracle Open Office Basic : ODBC +Oracle Open Office Basic : ODBC;database (Base) +Oracle Open Office Basic : ODBC;definition +Oracle Open Office Basic : ODF file formats +Oracle Open Office Basic : Office +Oracle Open Office Basic : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Basic : OLE +Oracle Open Office Basic : OLE;definition +Oracle Open Office Basic : OLE objects +Oracle Open Office Basic : OLE objects;arranging within stacks +Oracle Open Office Basic : OLE objects;captions (Writer) +Oracle Open Office Basic : OLE objects;inserting +Oracle Open Office Basic : OLE objects;number of +Oracle Open Office Basic : OLE objects;protecting +Oracle Open Office Basic : On Error GoTo ... Resume statement +Oracle Open Office Basic : On...GoSub statement +Oracle Open Office Basic : On...GoTo statement +Oracle Open Office Basic : one and a half line spacing in text +Oracle Open Office Basic : online feedback options +Oracle Open Office Basic : online registration +Oracle Open Office Basic : online update options +Oracle Open Office Basic : online updates +Oracle Open Office Basic : online updates;checking automatically +Oracle Open Office Basic : online updates;checking manually +Oracle Open Office Basic : Open statement +Oracle Open Office Basic : OpenDocument file formats +Oracle Open Office Basic : OpenGL +Oracle Open Office Basic : OpenGL;definition +Oracle Open Office Basic : opening +Oracle Open Office Basic : opening;context menus +Oracle Open Office Basic : opening;database files +Oracle Open Office Basic : opening;dialog settings +Oracle Open Office Basic : opening;documents +Oracle Open Office Basic : opening;documents from other formats +Oracle Open Office Basic : opening;documents on WebDAV server +Oracle Open Office Basic : opening;files with links +Oracle Open Office Basic : opening;files, with placeholders +Oracle Open Office Basic : opening;forms +Oracle Open Office Basic : opening;Microsoft Office files +Oracle Open Office Basic : opening;mobile device documents +Oracle Open Office Basic : opening;objects +Oracle Open Office Basic : opening;reports +Oracle Open Office Basic : opening;several files +Oracle Open Office Basic : opening;XForms +Oracle Open Office Basic : operators +Oracle Open Office Basic : operators;comparisons +Oracle Open Office Basic : operators;default filters +Oracle Open Office Basic : Option Base statement +Oracle Open Office Basic : option button control +Oracle Open Office Basic : Option Explicit statement +Oracle Open Office Basic : Optional function +Oracle Open Office Basic : optional hyphens (Writer) +Oracle Open Office Basic : options +Oracle Open Office Basic : options;accessibility +Oracle Open Office Basic : options;appearance +Oracle Open Office Basic : options;compatibility (Writer) +Oracle Open Office Basic : options;improvement program +Oracle Open Office Basic : options;network identity +Oracle Open Office Basic : options;online update +Oracle Open Office Basic : options;tools +Oracle Open Office Basic : Or operator (logical) +Oracle Open Office Basic : Oracle databases (base) +Oracle Open Office Basic : Oracle Open Office Base data sources +Oracle Open Office Basic : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Basic : Oracle Open Office documents +Oracle Open Office Basic : Oracle Open Office documents;mobile device filters +Oracle Open Office Basic : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Basic : Oracle Open Office Math start +Oracle Open Office Basic : ordering +Oracle Open Office Basic : ordering;objects +Oracle Open Office Basic : ordinal numbers +Oracle Open Office Basic : ordinal numbers;replacing +Oracle Open Office Basic : organizing +Oracle Open Office Basic : organizing;macros and scripts +Oracle Open Office Basic : organizing;modules/libraries/dialogs +Oracle Open Office Basic : organizing;namespaces in XForms +Oracle Open Office Basic : organizing;styles +Oracle Open Office Basic : organizing;templates +Oracle Open Office Basic : original size +Oracle Open Office Basic : original size;printing in Oracle Open Office Math +Oracle Open Office Basic : original size;restoring after cropping +Oracle Open Office Basic : outlines +Oracle Open Office Basic : outlines;font effects +Oracle Open Office Basic : outlines;outline symbols +Oracle Open Office Basic : outlines;sending to presentations +Oracle Open Office Basic : overwrite mode +Oracle Open Office Basic : packages, see extensions +Oracle Open Office Basic : page breaks +Oracle Open Office Basic : page breaks;displaying (Calc) +Oracle Open Office Basic : page formats +Oracle Open Office Basic : page formats;maximizing +Oracle Open Office Basic : page formats;restriction +Oracle Open Office Basic : page styles +Oracle Open Office Basic : page styles;editing/applying with statusbar +Oracle Open Office Basic : pages +Oracle Open Office Basic : pages;backgrounds in all applications +Oracle Open Office Basic : pages;formatting and numbering +Oracle Open Office Basic : pages;printing page names in presentations +Oracle Open Office Basic : pages;scaling +Oracle Open Office Basic : pages;selecting one to print +Oracle Open Office Basic : paint box +Oracle Open Office Basic : paint can symbol +Oracle Open Office Basic : pair kerning +Oracle Open Office Basic : Palm file filters +Oracle Open Office Basic : paper formats +Oracle Open Office Basic : paper size warning +Oracle Open Office Basic : paper trays +Oracle Open Office Basic : paragraph marks +Oracle Open Office Basic : paragraph marks;displaying (Writer) +Oracle Open Office Basic : paragraph styles +Oracle Open Office Basic : paragraph styles;languages +Oracle Open Office Basic : paragraph styles;modifying basic fonts +Oracle Open Office Basic : paragraphs +Oracle Open Office Basic : paragraphs;alignment +Oracle Open Office Basic : paragraphs;Asian typography +Oracle Open Office Basic : paragraphs;defining borders +Oracle Open Office Basic : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Basic : paragraphs;increasing indents of +Oracle Open Office Basic : paragraphs;indents, margins and columns +Oracle Open Office Basic : paragraphs;inserting bullets +Oracle Open Office Basic : paragraphs;joining +Oracle Open Office Basic : paragraphs;numbering automatically +Oracle Open Office Basic : paragraphs;removing blank ones +Oracle Open Office Basic : paragraphs;spacing +Oracle Open Office Basic : paragraphs;tab stops +Oracle Open Office Basic : parameters +Oracle Open Office Basic : parameters;command line +Oracle Open Office Basic : parameters;for procedures and functions +Oracle Open Office Basic : parameters;passing by reference or value +Oracle Open Office Basic : parameters;queries (Base) +Oracle Open Office Basic : passwords for protecting contents +Oracle Open Office Basic : pasting +Oracle Open Office Basic : pasting;cell ranges +Oracle Open Office Basic : pasting;cell ranges from spreadsheets +Oracle Open Office Basic : pasting;data from text documents +Oracle Open Office Basic : pasting;draw objects +Oracle Open Office Basic : pasting;draw objects from other documents +Oracle Open Office Basic : pasting;formatted/unformatted text +Oracle Open Office Basic : pasting;from data source view +Oracle Open Office Basic : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Basic : pasting;pictures from other documents +Oracle Open Office Basic : pasting;sheet areas in text documents +Oracle Open Office Basic : pasting;to Gallery +Oracle Open Office Basic : paths +Oracle Open Office Basic : paths;changing work directory +Oracle Open Office Basic : paths;defaults +Oracle Open Office Basic : pattern editor +Oracle Open Office Basic : pattern field control +Oracle Open Office Basic : pattern fields +Oracle Open Office Basic : pattern fields;form functions +Oracle Open Office Basic : patterns for objects +Oracle Open Office Basic : PDF +Oracle Open Office Basic : PDF;export +Oracle Open Office Basic : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Basic : personal data input +Oracle Open Office Basic : phonetic guide +Oracle Open Office Basic : picklist creation +Oracle Open Office Basic : pictures +Oracle Open Office Basic : pictures;adding to Gallery +Oracle Open Office Basic : pictures;arranging within stacks +Oracle Open Office Basic : pictures;assigning macros +Oracle Open Office Basic : pictures;backgrounds +Oracle Open Office Basic : pictures;captions (Writer) +Oracle Open Office Basic : pictures;changing paths +Oracle Open Office Basic : pictures;cropping and zooming +Oracle Open Office Basic : pictures;displaying in Calc +Oracle Open Office Basic : pictures;displaying in Writer (Writer) +Oracle Open Office Basic : pictures;drag and drop between documents +Oracle Open Office Basic : pictures;drawing +Oracle Open Office Basic : pictures;editing +Oracle Open Office Basic : pictures;filters +Oracle Open Office Basic : pictures;ImageMap +Oracle Open Office Basic : pictures;inserting automatically +Oracle Open Office Basic : pictures;inserting from Gallery +Oracle Open Office Basic : pictures;number of +Oracle Open Office Basic : pictures;printing +Oracle Open Office Basic : pictures;scaling/resizing +Oracle Open Office Basic : pixel editor +Oracle Open Office Basic : pixel graphics +Oracle Open Office Basic : pixel graphics;inserting and editing +Oracle Open Office Basic : pixel patterns +Oracle Open Office Basic : placeholders +Oracle Open Office Basic : placeholders;in SQL queries +Oracle Open Office Basic : placeholders;on opening files +Oracle Open Office Basic : placing toolbars +Oracle Open Office Basic : playing movies and sound files +Oracle Open Office Basic : plotting data as charts +Oracle Open Office Basic : plug-ins +Oracle Open Office Basic : plug-ins;activating and deactivating +Oracle Open Office Basic : plug-ins;definition +Oracle Open Office Basic : plug-ins;inserting +Oracle Open Office Basic : pocket device appliances +Oracle Open Office Basic : Pocket PC file filters +Oracle Open Office Basic : points +Oracle Open Office Basic : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Basic : polygon drawing +Oracle Open Office Basic : pop-art filter +Oracle Open Office Basic : portable document format +Oracle Open Office Basic : positioning +Oracle Open Office Basic : positioning;draw objects and controls +Oracle Open Office Basic : positioning;fonts +Oracle Open Office Basic : positioning;objects +Oracle Open Office Basic : positioning;toolbars +Oracle Open Office Basic : post method for form transmissions +Oracle Open Office Basic : posterizing filter +Oracle Open Office Basic : PostScript +Oracle Open Office Basic : PostScript;creating files +Oracle Open Office Basic : PostScript;PDF converter, UNIX +Oracle Open Office Basic : PowerPoint export +Oracle Open Office Basic : precision as shown (Calc) +Oracle Open Office Basic : predefining fonts +Oracle Open Office Basic : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Basic : presentations +Oracle Open Office Basic : presentations;creating/opening +Oracle Open Office Basic : presentations;inserting spreadsheet cells +Oracle Open Office Basic : presentations;live on the Internet +Oracle Open Office Basic : presentations;print menu +Oracle Open Office Basic : presentations;saving +Oracle Open Office Basic : presentations;saving automatically +Oracle Open Office Basic : presentations;saving in other formats +Oracle Open Office Basic : presentations;sending as e-mail +Oracle Open Office Basic : presentations;starting with wizard +Oracle Open Office Basic : presentations;wizards +Oracle Open Office Basic : Presenter Console shortcuts +Oracle Open Office Basic : press buttons, see push buttons +Oracle Open Office Basic : previews +Oracle Open Office Basic : previews;fonts lists +Oracle Open Office Basic : primary keys +Oracle Open Office Basic : primary keys;defining +Oracle Open Office Basic : primary keys;design view +Oracle Open Office Basic : primary keys;inserting (Base) +Oracle Open Office Basic : print area selection +Oracle Open Office Basic : Print statement +Oracle Open Office Basic : printer metrics for document formatting (Writer) +Oracle Open Office Basic : printers +Oracle Open Office Basic : printers;adding, UNIX +Oracle Open Office Basic : printers;choosing +Oracle Open Office Basic : printers;default printer +Oracle Open Office Basic : printers;faxes under UNIX +Oracle Open Office Basic : printers;maximum page formats +Oracle Open Office Basic : printers;paper trays +Oracle Open Office Basic : printers;properties +Oracle Open Office Basic : printing +Oracle Open Office Basic : printing;black and white +Oracle Open Office Basic : printing;brochures +Oracle Open Office Basic : printing;colors in grayscale +Oracle Open Office Basic : printing;comments +Oracle Open Office Basic : printing;copies +Oracle Open Office Basic : printing;creating individual jobs +Oracle Open Office Basic : printing;dates in presentations +Oracle Open Office Basic : printing;directly +Oracle Open Office Basic : printing;documents +Oracle Open Office Basic : printing;drawings defaults +Oracle Open Office Basic : printing;elements in text documents +Oracle Open Office Basic : printing;faster +Oracle Open Office Basic : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Basic : printing;fitting to pages in presentations +Oracle Open Office Basic : printing;formulas in Oracle Open Office Math +Oracle Open Office Basic : printing;hidden pages of presentations +Oracle Open Office Basic : printing;in original size in Oracle Open Office Math +Oracle Open Office Basic : printing;left/right pages +Oracle Open Office Basic : printing;queries (Base) +Oracle Open Office Basic : printing;scaling in Oracle Open Office Math +Oracle Open Office Basic : printing;selections +Oracle Open Office Basic : printing;text always in black +Oracle Open Office Basic : printing;text in reverse order +Oracle Open Office Basic : printing;tiling pages in presentations +Oracle Open Office Basic : printing;transparencies +Oracle Open Office Basic : printing;warnings +Oracle Open Office Basic : printing;without scaling in presentations +Oracle Open Office Basic : printing speed +Oracle Open Office Basic : PRIVATE variables +Oracle Open Office Basic : procedures +Oracle Open Office Basic : ProcessServiceManager +Oracle Open Office Basic : program stops +Oracle Open Office Basic : programming +Oracle Open Office Basic : programming;Oracle Open Office +Oracle Open Office Basic : programming;scripting +Oracle Open Office Basic : programming examples for controls +Oracle Open Office Basic : progress bar control +Oracle Open Office Basic : properties +Oracle Open Office Basic : properties;controls and dialogs +Oracle Open Office Basic : properties;controls in dialog editor +Oracle Open Office Basic : properties;fields in databases +Oracle Open Office Basic : properties;files +Oracle Open Office Basic : properties;form controls +Oracle Open Office Basic : properties;forms +Oracle Open Office Basic : properties;printers +Oracle Open Office Basic : protected contents +Oracle Open Office Basic : protected dashes +Oracle Open Office Basic : protected database tables +Oracle Open Office Basic : protected documents +Oracle Open Office Basic : protected spaces +Oracle Open Office Basic : protected spaces;inserting +Oracle Open Office Basic : protected spaces;showing (Writer) +Oracle Open Office Basic : protecting +Oracle Open Office Basic : protecting;contents +Oracle Open Office Basic : protecting;recorded changes +Oracle Open Office Basic : proxy settings +Oracle Open Office Basic : Public statement +Oracle Open Office Basic : PUBLIC variables +Oracle Open Office Basic : push button control in dialog editor +Oracle Open Office Basic : push buttons +Oracle Open Office Basic : push buttons;adding to documents +Oracle Open Office Basic : push buttons;creating +Oracle Open Office Basic : Put statement +Oracle Open Office Basic : queries +Oracle Open Office Basic : queries;copying (Base) +Oracle Open Office Basic : queries;creating in design view (Base) +Oracle Open Office Basic : queries;creating in SQL view +Oracle Open Office Basic : queries;defining (Base) +Oracle Open Office Basic : queries;deleting table links (Base) +Oracle Open Office Basic : queries;editing in data source view +Oracle Open Office Basic : queries;formulating filter conditions (Base) +Oracle Open Office Basic : queries;joining tables (Base) +Oracle Open Office Basic : queries;missing elements (Base) +Oracle Open Office Basic : queries;overview (Base) +Oracle Open Office Basic : queries;parameter queries (Base) +Oracle Open Office Basic : queries;printing (Base) +Oracle Open Office Basic : Query Wizard (Base) +Oracle Open Office Basic : Quickstarter +Oracle Open Office Basic : quotes +Oracle Open Office Basic : quotes;custom +Oracle Open Office Basic : radio button control +Oracle Open Office Basic : radio button creation +Oracle Open Office Basic : Randomize statement +Oracle Open Office Basic : read-only documents +Oracle Open Office Basic : read-only documents;cursor +Oracle Open Office Basic : read-only documents;database tables on/off +Oracle Open Office Basic : read-only documents;editing +Oracle Open Office Basic : read-only documents;opening documents as +Oracle Open Office Basic : read-only items in Data Navigator +Oracle Open Office Basic : recognizing URLs automatically +Oracle Open Office Basic : recording +Oracle Open Office Basic : recording;changes +Oracle Open Office Basic : recording;macros +Oracle Open Office Basic : records +Oracle Open Office Basic : records;inserting comments +Oracle Open Office Basic : records;protecting +Oracle Open Office Basic : records;saving +Oracle Open Office Basic : records;searching in databases +Oracle Open Office Basic : rectangles with round corners +Oracle Open Office Basic : recursions in spreadsheets +Oracle Open Office Basic : Red function +Oracle Open Office Basic : ReDim statement +Oracle Open Office Basic : redo command +Oracle Open Office Basic : reduced printing +Oracle Open Office Basic : reference lines +Oracle Open Office Basic : references +Oracle Open Office Basic : references;displaying in color (Calc) +Oracle Open Office Basic : references;expanding (Calc) +Oracle Open Office Basic : references;iterative (Calc) +Oracle Open Office Basic : register-true +Oracle Open Office Basic : register-true;definition +Oracle Open Office Basic : registering +Oracle Open Office Basic : registering;address books +Oracle Open Office Basic : registering;databases (Base) +Oracle Open Office Basic : registering;Oracle Open Office +Oracle Open Office Basic : regular expressions +Oracle Open Office Basic : regular expressions;list of +Oracle Open Office Basic : relational databases (Base) +Oracle Open Office Basic : relations +Oracle Open Office Basic : relations;creating and deleting (Base) +Oracle Open Office Basic : relations;joining tables (Base) +Oracle Open Office Basic : relations;properties (Base) +Oracle Open Office Basic : relative hyperlinks +Oracle Open Office Basic : relative saving of URLs +Oracle Open Office Basic : reloading +Oracle Open Office Basic : reloading;documents +Oracle Open Office Basic : reloading;HTML documents, automatically +Oracle Open Office Basic : Rem statement +Oracle Open Office Basic : remarks, see also comments +Oracle Open Office Basic : remote configurations +Oracle Open Office Basic : remove noise filter +Oracle Open Office Basic : removing +Oracle Open Office Basic : removing;bullets and numbering +Oracle Open Office Basic : removing;form filters +Oracle Open Office Basic : removing, see also deleting +Oracle Open Office Basic : renaming modules and dialogs +Oracle Open Office Basic : repeating +Oracle Open Office Basic : repeating;commands +Oracle Open Office Basic : replacement options +Oracle Open Office Basic : replacement table +Oracle Open Office Basic : replacing +Oracle Open Office Basic : replacing;AutoCorrect function +Oracle Open Office Basic : replacing;dashes +Oracle Open Office Basic : replacing;ordinal numbers +Oracle Open Office Basic : replacing;tab stops (regular expressions) +Oracle Open Office Basic : Report Builder +Oracle Open Office Basic : reports +Oracle Open Office Basic : reports;creating +Oracle Open Office Basic : reports;error reports +Oracle Open Office Basic : reports;opening and editing +Oracle Open Office Basic : reports;templates +Oracle Open Office Basic : Reset statement +Oracle Open Office Basic : resetting +Oracle Open Office Basic : resetting;templates +Oracle Open Office Basic : resizing +Oracle Open Office Basic : resizing;objects, by mouse +Oracle Open Office Basic : resizing, see also scaling/zooming +Oracle Open Office Basic : resolution when printing bitmaps +Oracle Open Office Basic : restoring +Oracle Open Office Basic : restoring;default formatting +Oracle Open Office Basic : restoring;editing +Oracle Open Office Basic : Resume Next parameter +Oracle Open Office Basic : return value type of functions +Oracle Open Office Basic : reversing printing order +Oracle Open Office Basic : review function +Oracle Open Office Basic : review function;accepting or rejecting changes +Oracle Open Office Basic : review function;comparing documents +Oracle Open Office Basic : review function;protecting records +Oracle Open Office Basic : review function;recording changes example +Oracle Open Office Basic : rich text control +Oracle Open Office Basic : right alignment of paragraphs +Oracle Open Office Basic : Right function +Oracle Open Office Basic : right joins (Base) +Oracle Open Office Basic : right-to-left text +Oracle Open Office Basic : RmDir statement +Oracle Open Office Basic : Rnd function +Oracle Open Office Basic : rotating +Oracle Open Office Basic : rotating;3D text +Oracle Open Office Basic : round corners +Oracle Open Office Basic : rounding precision (Calc) +Oracle Open Office Basic : row headers +Oracle Open Office Basic : row headers;displaying (Calc) +Oracle Open Office Basic : row headers;highlighting (Calc) +Oracle Open Office Basic : RSet statement +Oracle Open Office Basic : RTrim function +Oracle Open Office Basic : rulers +Oracle Open Office Basic : rulers;default settings +Oracle Open Office Basic : rulers;measurement units +Oracle Open Office Basic : rulers;visible in presentations +Oracle Open Office Basic : run-time errors in Basic +Oracle Open Office Basic : samples and templates +Oracle Open Office Basic : saving +Oracle Open Office Basic : saving;Basic code +Oracle Open Office Basic : saving;default file formats +Oracle Open Office Basic : saving;dialog settings +Oracle Open Office Basic : saving;documents +Oracle Open Office Basic : saving;documents for mobile devices +Oracle Open Office Basic : saving;documents in other formats +Oracle Open Office Basic : saving;documents, automatically +Oracle Open Office Basic : saving;in Microsoft Office file format +Oracle Open Office Basic : saving;options +Oracle Open Office Basic : saving;templates +Oracle Open Office Basic : saving;to XML +Oracle Open Office Basic : saving;VBA code in Microsoft Office documents +Oracle Open Office Basic : saving;with password by default +Oracle Open Office Basic : saving as command +Oracle Open Office Basic : saving as command;precautions +Oracle Open Office Basic : scaling +Oracle Open Office Basic : scaling;font sizes in user interface +Oracle Open Office Basic : scaling;objects +Oracle Open Office Basic : scaling;pictures +Oracle Open Office Basic : scaling;printing in Oracle Open Office Math +Oracle Open Office Basic : scaling;when printing presentations +Oracle Open Office Basic : scaling, see also zooming +Oracle Open Office Basic : scope of variables +Oracle Open Office Basic : screen +Oracle Open Office Basic : screen;full screen views +Oracle Open Office Basic : screen;scaling +Oracle Open Office Basic : screen magnifiers +Oracle Open Office Basic : screen readers +Oracle Open Office Basic : script organization +Oracle Open Office Basic : scroll bar control +Oracle Open Office Basic : scrollbars +Oracle Open Office Basic : scrollbars;controls +Oracle Open Office Basic : scrollbars;displaying (Calc) +Oracle Open Office Basic : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Basic : search criteria for database functions in cells +Oracle Open Office Basic : search engines +Oracle Open Office Basic : search engines;definition +Oracle Open Office Basic : search engines;selecting +Oracle Open Office Basic : searching +Oracle Open Office Basic : searching;all sheets +Oracle Open Office Basic : searching;databases +Oracle Open Office Basic : searching;form filters +Oracle Open Office Basic : searching;Internet +Oracle Open Office Basic : searching;tables and forms +Oracle Open Office Basic : Second function +Oracle Open Office Basic : sections +Oracle Open Office Basic : sections;backgrounds +Oracle Open Office Basic : security +Oracle Open Office Basic : security;digital signatures +Oracle Open Office Basic : security;options for documents with macros +Oracle Open Office Basic : security;protecting contents +Oracle Open Office Basic : security;security levels for macros +Oracle Open Office Basic : security;warning dialogs with macros +Oracle Open Office Basic : Seek function +Oracle Open Office Basic : Seek statement +Oracle Open Office Basic : Select...Case statement +Oracle Open Office Basic : selecting +Oracle Open Office Basic : selecting;controls +Oracle Open Office Basic : selecting;measurement units +Oracle Open Office Basic : selecting;objects +Oracle Open Office Basic : selecting;print areas +Oracle Open Office Basic : selecting;several files +Oracle Open Office Basic : selection clipboard +Oracle Open Office Basic : selection frames +Oracle Open Office Basic : selection modes in text +Oracle Open Office Basic : selection options for controls +Oracle Open Office Basic : sending +Oracle Open Office Basic : sending;AutoAbstract function in presentations +Oracle Open Office Basic : sending;documents as e-mail +Oracle Open Office Basic : sending;documents as faxes +Oracle Open Office Basic : separator lines +Oracle Open Office Basic : separator lines;defining +Oracle Open Office Basic : separators +Oracle Open Office Basic : separators;conditional +Oracle Open Office Basic : Server Side ImageMap +Oracle Open Office Basic : Set statement +Oracle Open Office Basic : SetAttr statement +Oracle Open Office Basic : settings +Oracle Open Office Basic : settings;printers +Oracle Open Office Basic : settings;program configuration +Oracle Open Office Basic : settings;proxies +Oracle Open Office Basic : settings;tracking changes +Oracle Open Office Basic : settings;views +Oracle Open Office Basic : SGML +Oracle Open Office Basic : SGML;definition +Oracle Open Office Basic : Sgn function +Oracle Open Office Basic : shadows +Oracle Open Office Basic : shadows;areas +Oracle Open Office Basic : shadows;borders +Oracle Open Office Basic : shadows;characters +Oracle Open Office Basic : shadows;characters, using context menu +Oracle Open Office Basic : sharing documents +Oracle Open Office Basic : sharpening filter +Oracle Open Office Basic : sheet tabs +Oracle Open Office Basic : sheet tabs;displaying +Oracle Open Office Basic : sheets +Oracle Open Office Basic : sheets;searching all +Oracle Open Office Basic : Shell function +Oracle Open Office Basic : shortcut keys +Oracle Open Office Basic : shortcut keys;assigning macros +Oracle Open Office Basic : shortcut keys;Basic IDE +Oracle Open Office Basic : shortcut keys;general +Oracle Open Office Basic : shortcut keys;in databases +Oracle Open Office Basic : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Basic : showing +Oracle Open Office Basic : showing;changes +Oracle Open Office Basic : showing;docked windows +Oracle Open Office Basic : showing;drawings and controls (Writer) +Oracle Open Office Basic : showing;live presentations on the Internet +Oracle Open Office Basic : showing;toolbars +Oracle Open Office Basic : signing documents with digital signatures +Oracle Open Office Basic : similarity search +Oracle Open Office Basic : simple handles (Writer) +Oracle Open Office Basic : simplified Chinese +Oracle Open Office Basic : simplified Chinese;translating to traditional Chinese +Oracle Open Office Basic : Sin function +Oracle Open Office Basic : single sign on options +Oracle Open Office Basic : single-line spacing in text +Oracle Open Office Basic : sizes +Oracle Open Office Basic : sizes;draw objects +Oracle Open Office Basic : sizes;pictures +Oracle Open Office Basic : slanting draw objects +Oracle Open Office Basic : small capitals +Oracle Open Office Basic : small icons +Oracle Open Office Basic : smart tag configuration +Oracle Open Office Basic : smooth scrolling (Writer) +Oracle Open Office Basic : smoothing filter +Oracle Open Office Basic : snap grid defaults (Writer/Calc) +Oracle Open Office Basic : snapping in presentations and drawings +Oracle Open Office Basic : solarization filter +Oracle Open Office Basic : sort lists +Oracle Open Office Basic : sort lists;copying to in Calc +Oracle Open Office Basic : sorting +Oracle Open Office Basic : sorting;data in forms +Oracle Open Office Basic : sorting;databases +Oracle Open Office Basic : sound files +Oracle Open Office Basic : Space function +Oracle Open Office Basic : spaces +Oracle Open Office Basic : spaces;displaying (Writer) +Oracle Open Office Basic : spaces;ignoring double +Oracle Open Office Basic : spaces;inserting protected spaces +Oracle Open Office Basic : spaces;showing protected spaces (Writer) +Oracle Open Office Basic : spacing +Oracle Open Office Basic : spacing;between paragraphs in footnotes +Oracle Open Office Basic : spacing;font effects +Oracle Open Office Basic : spacing;lines and paragraphs +Oracle Open Office Basic : spacing;tab stops in text documents +Oracle Open Office Basic : spacing;tabs in presentations +Oracle Open Office Basic : spadmin +Oracle Open Office Basic : special characters +Oracle Open Office Basic : speech bubbles +Oracle Open Office Basic : speed of printing +Oracle Open Office Basic : spellcheck +Oracle Open Office Basic : spellcheck;activating for a language +Oracle Open Office Basic : spellcheck;context menus +Oracle Open Office Basic : spellcheck;default languages +Oracle Open Office Basic : spellcheck;dialog +Oracle Open Office Basic : spellcheck;dictionary of exceptions +Oracle Open Office Basic : spellcheck;ignore list +Oracle Open Office Basic : spin button creation +Oracle Open Office Basic : Split function +Oracle Open Office Basic : spoolfiles with Xprinter +Oracle Open Office Basic : spreadsheets +Oracle Open Office Basic : spreadsheets;as databases (base) +Oracle Open Office Basic : spreadsheets;copying areas to text documents +Oracle Open Office Basic : spreadsheets;creating/opening +Oracle Open Office Basic : spreadsheets;inserting charts +Oracle Open Office Basic : spreadsheets;inserting database records +Oracle Open Office Basic : spreadsheets;printing +Oracle Open Office Basic : spreadsheets;saving +Oracle Open Office Basic : spreadsheets;saving automatically +Oracle Open Office Basic : spreadsheets;saving in other formats +Oracle Open Office Basic : spreadsheets;sending as e-mail +Oracle Open Office Basic : SQL +Oracle Open Office Basic : SQL;definition +Oracle Open Office Basic : SQL;DISTINCT parameter +Oracle Open Office Basic : SQL;executing SQL commands +Oracle Open Office Basic : SQL;executing SQL statements (Base) +Oracle Open Office Basic : SQL;queries (Base) +Oracle Open Office Basic : Sqr function +Oracle Open Office Basic : square drawings +Oracle Open Office Basic : standard bar on/off +Oracle Open Office Basic : standard filters in databases +Oracle Open Office Basic : standard printer under UNIX +Oracle Open Office Basic : start center +Oracle Open Office Basic : start parameters +Oracle Open Office Basic : Static statement +Oracle Open Office Basic : status bar on/off +Oracle Open Office Basic : Step statement +Oracle Open Office Basic : stickers +Oracle Open Office Basic : Stop statement +Oracle Open Office Basic : stopping macros +Oracle Open Office Basic : Str function +Oracle Open Office Basic : StrComp function +Oracle Open Office Basic : strikethrough +Oracle Open Office Basic : strikethrough;characters +Oracle Open Office Basic : strikethrough;font effects +Oracle Open Office Basic : String function +Oracle Open Office Basic : styles +Oracle Open Office Basic : styles;'changed' message +Oracle Open Office Basic : styles;copying between documents +Oracle Open Office Basic : styles;keyboard shortcuts +Oracle Open Office Basic : styles;organizing +Oracle Open Office Basic : styles;printing styles used in a document +Oracle Open Office Basic : styles;replacing automatically +Oracle Open Office Basic : Styles and Formatting window +Oracle Open Office Basic : Styles and Formatting window;docking +Oracle Open Office Basic : Sub statement +Oracle Open Office Basic : subforms +Oracle Open Office Basic : subforms;creating +Oracle Open Office Basic : subforms;description +Oracle Open Office Basic : submitting forms +Oracle Open Office Basic : subroutines +Oracle Open Office Basic : suffixes in file formats +Oracle Open Office Basic : support on the Web +Oracle Open Office Basic : Switch function +Oracle Open Office Basic : synchronizing +Oracle Open Office Basic : synchronizing;labels and business cards +Oracle Open Office Basic : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Basic : system address book registration +Oracle Open Office Basic : tab stops +Oracle Open Office Basic : tab stops;displaying (Writer) +Oracle Open Office Basic : tab stops;inserting and editing +Oracle Open Office Basic : tab stops;regular expressions +Oracle Open Office Basic : tab stops;setting in sheets +Oracle Open Office Basic : tab stops;settings +Oracle Open Office Basic : tab stops;spacing in presentations +Oracle Open Office Basic : tab stops;spacing in text documents +Oracle Open Office Basic : table controls +Oracle Open Office Basic : table controls;form functions +Oracle Open Office Basic : table controls;keyboard-only edit mode +Oracle Open Office Basic : table controls;properties +Oracle Open Office Basic : table views of databases +Oracle Open Office Basic : Table Wizard (Base) +Oracle Open Office Basic : tables +Oracle Open Office Basic : tables;inserting line breaks +Oracle Open Office Basic : tables in databases +Oracle Open Office Basic : tables in databases;access rights to (Base) +Oracle Open Office Basic : tables in databases;adding to queries +Oracle Open Office Basic : tables in databases;browsing and editing +Oracle Open Office Basic : tables in databases;copying database tables (Base) +Oracle Open Office Basic : tables in databases;creating +Oracle Open Office Basic : tables in databases;creating in design view (manually) +Oracle Open Office Basic : tables in databases;importing text formats (Base) +Oracle Open Office Basic : tables in databases;joining for queries (Base) +Oracle Open Office Basic : tables in databases;printing queries (Base) +Oracle Open Office Basic : tables in databases;relations (Base) +Oracle Open Office Basic : tables in databases;searching +Oracle Open Office Basic : tables in spreadsheets +Oracle Open Office Basic : tables in spreadsheets;copying data to other applications +Oracle Open Office Basic : tables in spreadsheets;defining borders +Oracle Open Office Basic : tables in spreadsheets;value highlighting +Oracle Open Office Basic : tables in text +Oracle Open Office Basic : tables in text;captions +Oracle Open Office Basic : tables in text;creating automatically +Oracle Open Office Basic : tables in text;default settings +Oracle Open Office Basic : tables in text;defining borders +Oracle Open Office Basic : tables in text;displaying +Oracle Open Office Basic : tables in text;printing +Oracle Open Office Basic : tabs +Oracle Open Office Basic : tabs;displaying sheet tabs +Oracle Open Office Basic : tags +Oracle Open Office Basic : tags;definition +Oracle Open Office Basic : tags;META tags +Oracle Open Office Basic : Tan function +Oracle Open Office Basic : templates +Oracle Open Office Basic : templates;agendas +Oracle Open Office Basic : templates;changing basic fonts +Oracle Open Office Basic : templates;database reports +Oracle Open Office Basic : templates;deleting +Oracle Open Office Basic : templates;editing and saving +Oracle Open Office Basic : templates;faxes +Oracle Open Office Basic : templates;importing and exporting +Oracle Open Office Basic : templates;letters +Oracle Open Office Basic : templates;new documents from templates +Oracle Open Office Basic : templates;opening documents with +Oracle Open Office Basic : templates;organizing +Oracle Open Office Basic : terminology +Oracle Open Office Basic : terminology;general glossary +Oracle Open Office Basic : terminology;Internet glossary +Oracle Open Office Basic : test mode control +Oracle Open Office Basic : testing XML filters +Oracle Open Office Basic : text +Oracle Open Office Basic : text;animating +Oracle Open Office Basic : text;Asian layout +Oracle Open Office Basic : text;bold +Oracle Open Office Basic : text;coloring +Oracle Open Office Basic : text;copying by drag and drop +Oracle Open Office Basic : text;CTL languages +Oracle Open Office Basic : text;drawing pictures +Oracle Open Office Basic : text;font effects +Oracle Open Office Basic : text;font sizes +Oracle Open Office Basic : text;font styles +Oracle Open Office Basic : text;fonts and formats +Oracle Open Office Basic : text;Fontwork icons +Oracle Open Office Basic : text;hyperlinks +Oracle Open Office Basic : text;inserting special characters +Oracle Open Office Basic : text;italics +Oracle Open Office Basic : text;kerning +Oracle Open Office Basic : text;language selection +Oracle Open Office Basic : text;line spacing +Oracle Open Office Basic : text;overwriting or inserting +Oracle Open Office Basic : text;printing in black +Oracle Open Office Basic : text;replacing with format +Oracle Open Office Basic : text;selection modes +Oracle Open Office Basic : text;shadowed +Oracle Open Office Basic : text;text/draw objects +Oracle Open Office Basic : text attributes +Oracle Open Office Basic : text attributes;hyperlinks +Oracle Open Office Basic : text attributes;undoing +Oracle Open Office Basic : text boxes +Oracle Open Office Basic : text boxes;controls +Oracle Open Office Basic : text boxes;form functions +Oracle Open Office Basic : text boxes;positioning +Oracle Open Office Basic : text breaks in cells +Oracle Open Office Basic : text colors for better accessibility +Oracle Open Office Basic : text databases (Base) +Oracle Open Office Basic : text documents +Oracle Open Office Basic : text documents;creating/opening +Oracle Open Office Basic : text documents;importing/exporting +Oracle Open Office Basic : text documents;inserting spreadsheet cells +Oracle Open Office Basic : text documents;print settings +Oracle Open Office Basic : text documents;printing +Oracle Open Office Basic : text documents;saving +Oracle Open Office Basic : text documents;saving automatically +Oracle Open Office Basic : text documents;saving in other formats +Oracle Open Office Basic : text documents;sending as e-mail +Oracle Open Office Basic : text effects +Oracle Open Office Basic : text flow +Oracle Open Office Basic : text flow;in cells +Oracle Open Office Basic : text formats +Oracle Open Office Basic : text formats;databases +Oracle Open Office Basic : text formats;pasting +Oracle Open Office Basic : text input fields +Oracle Open Office Basic : text layout for special languages +Oracle Open Office Basic : text objects +Oracle Open Office Basic : text objects;alignment +Oracle Open Office Basic : text objects;draw functions +Oracle Open Office Basic : text objects;fonts +Oracle Open Office Basic : text objects;in presentations and drawings +Oracle Open Office Basic : text overflow in spreadsheet cells +Oracle Open Office Basic : text, see also text documents, paragraphs and characters +Oracle Open Office Basic : TextArt, see Fontwork +Oracle Open Office Basic : textures +Oracle Open Office Basic : textures;inserting from Gallery +Oracle Open Office Basic : textures;on chart bars +Oracle Open Office Basic : Thai +Oracle Open Office Basic : Thai;entering text +Oracle Open Office Basic : Thai;language settings +Oracle Open Office Basic : thesaurus +Oracle Open Office Basic : thesaurus;activating for a language +Oracle Open Office Basic : ThisComponent property +Oracle Open Office Basic : ticker text +Oracle Open Office Basic : time field control +Oracle Open Office Basic : time fields +Oracle Open Office Basic : time fields;form functions +Oracle Open Office Basic : Time statement +Oracle Open Office Basic : Timer function +Oracle Open Office Basic : times +Oracle Open Office Basic : times;inserting when printing presentations +Oracle Open Office Basic : times, formats +Oracle Open Office Basic : TimeSerial function +Oracle Open Office Basic : TimeValue function +Oracle Open Office Basic : tips +Oracle Open Office Basic : tips;extended tips in Help +Oracle Open Office Basic : title rows +Oracle Open Office Basic : title rows;printing in Oracle Open Office Math +Oracle Open Office Basic : titles +Oracle Open Office Basic : titles;changing +Oracle Open Office Basic : titles;editing in charts +Oracle Open Office Basic : titles;font effects +Oracle Open Office Basic : titles;formatting automatically +Oracle Open Office Basic : titles;objects +Oracle Open Office Basic : To statement +Oracle Open Office Basic : toolbars +Oracle Open Office Basic : toolbars;adding buttons +Oracle Open Office Basic : toolbars;Basic IDE +Oracle Open Office Basic : toolbars;docking/undocking +Oracle Open Office Basic : toolbars;Form Navigation bar +Oracle Open Office Basic : toolbars;viewing/closing +Oracle Open Office Basic : tools bar +Oracle Open Office Basic : tooltips +Oracle Open Office Basic : tooltips;extended tips +Oracle Open Office Basic : tooltips;help +Oracle Open Office Basic : traditional Chinese +Oracle Open Office Basic : traditional Chinese;translating to simplified chinese +Oracle Open Office Basic : translating dialogs +Oracle Open Office Basic : transparency +Oracle Open Office Basic : transparency;areas +Oracle Open Office Basic : transparency;off for faster printing +Oracle Open Office Basic : transparency;saving +Oracle Open Office Basic : tree view of Help +Oracle Open Office Basic : Trim function +Oracle Open Office Basic : twips +Oracle Open Office Basic : twips;definition +Oracle Open Office Basic : TwipsPerPixelX function +Oracle Open Office Basic : TwipsPerPixelY function +Oracle Open Office Basic : typefaces +Oracle Open Office Basic : typefaces;adding under UNIX +Oracle Open Office Basic : typefaces;formats +Oracle Open Office Basic : TypeName function +Oracle Open Office Basic : types of variables +Oracle Open Office Basic : typography +Oracle Open Office Basic : typography;Asian +Oracle Open Office Basic : UBound function +Oracle Open Office Basic : UCase function +Oracle Open Office Basic : underlining +Oracle Open Office Basic : underlining;AutoFormat function +Oracle Open Office Basic : underlining;characters +Oracle Open Office Basic : underlining;text +Oracle Open Office Basic : undocking windows +Oracle Open Office Basic : undoing +Oracle Open Office Basic : undoing;direct formatting +Oracle Open Office Basic : undoing;editing +Oracle Open Office Basic : undoing;number of steps +Oracle Open Office Basic : ungrouping groups +Oracle Open Office Basic : units +Oracle Open Office Basic : units;converting +Oracle Open Office Basic : units;measurement units +Oracle Open Office Basic : UNO components +Oracle Open Office Basic : UNO components;Extension Manager +Oracle Open Office Basic : UNO components;integrating new +Oracle Open Office Basic : Until +Oracle Open Office Basic : update options +Oracle Open Office Basic : updates +Oracle Open Office Basic : updates;checking automatically +Oracle Open Office Basic : updates;checking manually +Oracle Open Office Basic : updating +Oracle Open Office Basic : updating;fields and charts, automatically (Writer) +Oracle Open Office Basic : updating;links in text documents +Oracle Open Office Basic : updating;links, on opening +Oracle Open Office Basic : updating;templates +Oracle Open Office Basic : URL +Oracle Open Office Basic : URL;changing hyperlink URLs +Oracle Open Office Basic : URL;definition +Oracle Open Office Basic : URL;in pictures +Oracle Open Office Basic : URL;saving absolute/relative paths +Oracle Open Office Basic : URL;turning off URL recognition +Oracle Open Office Basic : user data +Oracle Open Office Basic : user data;input +Oracle Open Office Basic : user data;removing when saving +Oracle Open Office Basic : user feedback +Oracle Open Office Basic : user feedback;automatically +Oracle Open Office Basic : user-defined dictionaries +Oracle Open Office Basic : user-defined dictionaries;creating +Oracle Open Office Basic : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Basic : user-defined dictionaries;editing +Oracle Open Office Basic : user-defined styles +Oracle Open Office Basic : user-defined styles;automatically replacing +Oracle Open Office Basic : UTF-8/UCS2 support +Oracle Open Office Basic : Val function +Oracle Open Office Basic : values +Oracle Open Office Basic : values;of variables +Oracle Open Office Basic : values;rounded as shown (Calc) +Oracle Open Office Basic : variables +Oracle Open Office Basic : variables;for paths +Oracle Open Office Basic : variables;global and local +Oracle Open Office Basic : variables;observing values +Oracle Open Office Basic : variables;passing to procedures and functions +Oracle Open Office Basic : variables;scope +Oracle Open Office Basic : variables;using +Oracle Open Office Basic : VarType function +Oracle Open Office Basic : VBA code +Oracle Open Office Basic : VBA code;loading/saving documents with VBA code +Oracle Open Office Basic : version management +Oracle Open Office Basic : version numbers of documents +Oracle Open Office Basic : versions +Oracle Open Office Basic : versions;comparing documents +Oracle Open Office Basic : versions;file saving as, restriction +Oracle Open Office Basic : versions;merging document versions +Oracle Open Office Basic : versions;of a document +Oracle Open Office Basic : versions;Oracle Open Office +Oracle Open Office Basic : vertical callouts +Oracle Open Office Basic : vertical line control +Oracle Open Office Basic : vertical scrollbar control +Oracle Open Office Basic : vertical scrollbars (Writer) +Oracle Open Office Basic : vertical text boxes +Oracle Open Office Basic : videos +Oracle Open Office Basic : viewing +Oracle Open Office Basic : viewing;databases +Oracle Open Office Basic : viewing;file properties +Oracle Open Office Basic : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Basic : viewing;toolbars +Oracle Open Office Basic : views +Oracle Open Office Basic : views;creating database views (Base) +Oracle Open Office Basic : views;defaults +Oracle Open Office Basic : views;full screen +Oracle Open Office Basic : views;icons +Oracle Open Office Basic : views;scaling +Oracle Open Office Basic : Visual Basic for Applications +Oracle Open Office Basic : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Basic : Wait statement +Oracle Open Office Basic : watching variables +Oracle Open Office Basic : watermarks +Oracle Open Office Basic : web documents +Oracle Open Office Basic : web documents;XForms +Oracle Open Office Basic : Web support +Oracle Open Office Basic : WebCast export +Oracle Open Office Basic : WebDAV over HTTPS +Oracle Open Office Basic : WeekDay function +Oracle Open Office Basic : While +Oracle Open Office Basic : While;Do loop +Oracle Open Office Basic : While;While...Wend loop +Oracle Open Office Basic : windows +Oracle Open Office Basic : windows;docking +Oracle Open Office Basic : windows;docking definition +Oracle Open Office Basic : windows;hiding/showing/docking +Oracle Open Office Basic : windows;new +Oracle Open Office Basic : With statement +Oracle Open Office Basic : wizards +Oracle Open Office Basic : wizards;agendas +Oracle Open Office Basic : wizards;database queries +Oracle Open Office Basic : wizards;database tables (Base) +Oracle Open Office Basic : wizards;databases (Base) +Oracle Open Office Basic : wizards;document converter +Oracle Open Office Basic : wizards;Euro Converter +Oracle Open Office Basic : wizards;faxes +Oracle Open Office Basic : wizards;forms +Oracle Open Office Basic : wizards;letters +Oracle Open Office Basic : wizards;macros (Base) +Oracle Open Office Basic : wizards;overview +Oracle Open Office Basic : wizards;presentations +Oracle Open Office Basic : wizards;reports +Oracle Open Office Basic : Word documents +Oracle Open Office Basic : Word documents;compatibility +Oracle Open Office Basic : Word documents;saving as +Oracle Open Office Basic : WordArt, see Fontwork +Oracle Open Office Basic : words +Oracle Open Office Basic : words;automatically replacing +Oracle Open Office Basic : words;wrapping in cells +Oracle Open Office Basic : words;wrapping in CTL +Oracle Open Office Basic : working directory change +Oracle Open Office Basic : wrapping text +Oracle Open Office Basic : wrapping text;in cells +Oracle Open Office Basic : write protection on/off +Oracle Open Office Basic : Write statement +Oracle Open Office Basic : writing aids options +Oracle Open Office Basic : WYSIWYG in fonts lists +Oracle Open Office Basic : XForms +Oracle Open Office Basic : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Basic : XForms;conditions +Oracle Open Office Basic : XForms;opening/editing +Oracle Open Office Basic : XML converters +Oracle Open Office Basic : XML file formats +Oracle Open Office Basic : XML filters +Oracle Open Office Basic : XML filters;creating/testing +Oracle Open Office Basic : XML filters;saving as package/installing/deleting +Oracle Open Office Basic : XML filters;settings +Oracle Open Office Basic : XML Forms, see XForms +Oracle Open Office Basic : Xor operator (logical) +Oracle Open Office Basic : XSLT filters, see also XML filters +Oracle Open Office Basic : Year function +Oracle Open Office Basic : years +Oracle Open Office Basic : years;2-digit options +Oracle Open Office Basic : zero values +Oracle Open Office Basic : zero values;displaying (Calc) +Oracle Open Office Basic : zooming +Oracle Open Office Basic : zooming;page views +Oracle Open Office Basic : zooming;pictures +Oracle Open Office Basic : zooming;status bar +Oracle Open Office Draw : 3D charts +Oracle Open Office Draw : 3D objects +Oracle Open Office Draw : 3D objects;assembling +Oracle Open Office Draw : 3D objects;generating +Oracle Open Office Draw : 3D objects;inserting +Oracle Open Office Draw : 3D rotation objects +Oracle Open Office Draw : 3D rotation objects;converting to +Oracle Open Office Draw : 3D rotation objects;generating +Oracle Open Office Draw : 3D text creation +Oracle Open Office Draw : abbreviation replacement +Oracle Open Office Draw : absolute hyperlinks +Oracle Open Office Draw : absolute saving of URLs +Oracle Open Office Draw : accents +Oracle Open Office Draw : Access databases (base) +Oracle Open Office Draw : access rights for database tables (Base) +Oracle Open Office Draw : accessibility +Oracle Open Office Draw : accessibility;general shortcuts +Oracle Open Office Draw : accessibility;options +Oracle Open Office Draw : accessibility;Oracle Open Office assistive technology +Oracle Open Office Draw : accessibility;Oracle Open Office Draw +Oracle Open Office Draw : accessibility;Oracle Open Office features +Oracle Open Office Draw : accessibility;Oracle Open Office Impress +Oracle Open Office Draw : activating +Oracle Open Office Draw : activating;context menus +Oracle Open Office Draw : activating;Error Report Tool +Oracle Open Office Draw : activating;extended help tips +Oracle Open Office Draw : activating;plug-ins +Oracle Open Office Draw : ActiveX control +Oracle Open Office Draw : Adabas D databases (base) +Oracle Open Office Draw : add-ons, see UNO components +Oracle Open Office Draw : additional selection mode +Oracle Open Office Draw : address books +Oracle Open Office Draw : address books;LDAP server (Base) +Oracle Open Office Draw : address books;registering +Oracle Open Office Draw : address labels from databases +Oracle Open Office Draw : ADO databases (Base) +Oracle Open Office Draw : Agenda Wizard +Oracle Open Office Draw : aging filter +Oracle Open Office Draw : aligning +Oracle Open Office Draw : aligning;2D charts +Oracle Open Office Draw : aligning;cells +Oracle Open Office Draw : aligning;draw objects +Oracle Open Office Draw : aligning;objects +Oracle Open Office Draw : aligning;paragraphs +Oracle Open Office Draw : aligning;tables in text +Oracle Open Office Draw : aligning;text objects +Oracle Open Office Draw : aligning;titles in charts +Oracle Open Office Draw : allowing +Oracle Open Office Draw : allowing;effects +Oracle Open Office Draw : allowing;interaction +Oracle Open Office Draw : alternative fonts +Oracle Open Office Draw : ampersand symbol, see also operators +Oracle Open Office Draw : anchors +Oracle Open Office Draw : anchors;changing +Oracle Open Office Draw : anchors;displaying (Calc) +Oracle Open Office Draw : anchors;types/positions for draw objects +Oracle Open Office Draw : animated GIFs +Oracle Open Office Draw : animated slide transitions +Oracle Open Office Draw : animation effects +Oracle Open Office Draw : animations +Oracle Open Office Draw : animations;accessibility options +Oracle Open Office Draw : animations;editing +Oracle Open Office Draw : animations;list of +Oracle Open Office Draw : animations;saving as GIFs +Oracle Open Office Draw : appearance options +Oracle Open Office Draw : Arabic +Oracle Open Office Draw : Arabic;entering text +Oracle Open Office Draw : Arabic;language settings +Oracle Open Office Draw : area charts +Oracle Open Office Draw : areas +Oracle Open Office Draw : areas;bitmap patterns +Oracle Open Office Draw : areas;from connected lines +Oracle Open Office Draw : areas;hatched/dotted +Oracle Open Office Draw : areas;shadows +Oracle Open Office Draw : areas;slanting +Oracle Open Office Draw : areas;styles +Oracle Open Office Draw : areas;transparency +Oracle Open Office Draw : arguments in command line +Oracle Open Office Draw : arranging +Oracle Open Office Draw : arranging;objects +Oracle Open Office Draw : arranging;objects (guide) +Oracle Open Office Draw : arranging;slides +Oracle Open Office Draw : arrows +Oracle Open Office Draw : arrows;defining arrow heads +Oracle Open Office Draw : arrows;defining arrow lines +Oracle Open Office Draw : arrows;drawing in text +Oracle Open Office Draw : arrows;inserting +Oracle Open Office Draw : arrows;loading arrow styles +Oracle Open Office Draw : ASCII +Oracle Open Office Draw : ASCII;definition +Oracle Open Office Draw : Asian languages +Oracle Open Office Draw : Asian languages;enabling +Oracle Open Office Draw : Asian Phonetic Guide +Oracle Open Office Draw : Asian typography +Oracle Open Office Draw : assembled objects in 3D +Oracle Open Office Draw : assigning scripts +Oracle Open Office Draw : assistive technology in Oracle Open Office +Oracle Open Office Draw : attaching toolbars +Oracle Open Office Draw : attachments in e-mails +Oracle Open Office Draw : attributes +Oracle Open Office Draw : attributes;objects with +Oracle Open Office Draw : audio +Oracle Open Office Draw : authors +Oracle Open Office Draw : auto reloading HTML documents +Oracle Open Office Draw : AutoAbstract function for sending text to presentations +Oracle Open Office Draw : AutoCaption function in Oracle Open Office Writer +Oracle Open Office Draw : AutoComplete function in text and list boxes +Oracle Open Office Draw : AutoCorrect function +Oracle Open Office Draw : AutoCorrect function;context menu +Oracle Open Office Draw : AutoCorrect function;options +Oracle Open Office Draw : AutoCorrect function;pictures and frames +Oracle Open Office Draw : AutoCorrect function;quotes +Oracle Open Office Draw : AutoCorrect function;replacement table +Oracle Open Office Draw : AutoCorrect function;switching on and off in Calc +Oracle Open Office Draw : AutoCorrect function;URL recognition +Oracle Open Office Draw : AutoFormat function +Oracle Open Office Draw : AutoFormat function;switching on and off +Oracle Open Office Draw : automatic captions (Writer) +Oracle Open Office Draw : automatic control focus +Oracle Open Office Draw : automatic hyperlink formatting +Oracle Open Office Draw : automatic line breaks +Oracle Open Office Draw : automatic lines/borders in text +Oracle Open Office Draw : automatic saving +Oracle Open Office Draw : automatic slide changes +Oracle Open Office Draw : automatic slide changes;rehearse timings +Oracle Open Office Draw : automatic slide shows +Oracle Open Office Draw : automatic slide transition +Oracle Open Office Draw : AutoPilots, see wizards +Oracle Open Office Draw : AutoValue (Base) +Oracle Open Office Draw : averages in charts +Oracle Open Office Draw : axes +Oracle Open Office Draw : axes;better scaling +Oracle Open Office Draw : axes;formatting +Oracle Open Office Draw : axes;formatting grids +Oracle Open Office Draw : axes;inserting grids +Oracle Open Office Draw : axes;interval marks +Oracle Open Office Draw : axes;showing axes in charts +Oracle Open Office Draw : axes in charts +Oracle Open Office Draw : backgrounds +Oracle Open Office Draw : backgrounds;changing +Oracle Open Office Draw : backgrounds;defining colors/pictures +Oracle Open Office Draw : backgrounds;deleting unused +Oracle Open Office Draw : backgrounds;frames/sections/indexes +Oracle Open Office Draw : backgrounds;inserting from Gallery +Oracle Open Office Draw : backgrounds;normal view +Oracle Open Office Draw : backgrounds;notes +Oracle Open Office Draw : backgrounds;printing +Oracle Open Office Draw : backgrounds;slides +Oracle Open Office Draw : backing window +Oracle Open Office Draw : backups +Oracle Open Office Draw : backups;automatic +Oracle Open Office Draw : backups;documents +Oracle Open Office Draw : bar charts +Oracle Open Office Draw : Basic +Oracle Open Office Draw : Basic;fonts for source display +Oracle Open Office Draw : Basic;programming +Oracle Open Office Draw : Basic;recording macros +Oracle Open Office Draw : basic fonts +Oracle Open Office Draw : behind object command +Oracle Open Office Draw : Bézier curves +Oracle Open Office Draw : Bézier curves;control points in presentations +Oracle Open Office Draw : bi-directional writing +Oracle Open Office Draw : binding space +Oracle Open Office Draw : bitmaps +Oracle Open Office Draw : bitmaps;converting to +Oracle Open Office Draw : bitmaps;converting to vector graphics +Oracle Open Office Draw : bitmaps;inserting and editing +Oracle Open Office Draw : bitmaps;off for faster printing +Oracle Open Office Draw : bitmaps;patterns +Oracle Open Office Draw : bitmaps;replacing colors +Oracle Open Office Draw : black and white display +Oracle Open Office Draw : black and white printing +Oracle Open Office Draw : black and white view +Oracle Open Office Draw : black printing in Calc +Oracle Open Office Draw : block selection mode +Oracle Open Office Draw : bold +Oracle Open Office Draw : bold;AutoFormat function +Oracle Open Office Draw : bold;text +Oracle Open Office Draw : bookmarks +Oracle Open Office Draw : bookmarks;Help +Oracle Open Office Draw : borders +Oracle Open Office Draw : borders;arranging +Oracle Open Office Draw : borders;cells on screen (Calc) +Oracle Open Office Draw : borders;for paragraphs +Oracle Open Office Draw : borders;for tables +Oracle Open Office Draw : borders;shadows +Oracle Open Office Draw : borders;table boundaries (Writer) +Oracle Open Office Draw : borders, see also frames +Oracle Open Office Draw : bound fields +Oracle Open Office Draw : bound fields;controls +Oracle Open Office Draw : boundaries of tables (Writer) +Oracle Open Office Draw : break display (Writer) +Oracle Open Office Draw : breaking object connections +Oracle Open Office Draw : brochures +Oracle Open Office Draw : brochures;printing several +Oracle Open Office Draw : bubble charts +Oracle Open Office Draw : build numbers of Oracle Open Office +Oracle Open Office Draw : bullet lists +Oracle Open Office Draw : bullet lists;formatting options +Oracle Open Office Draw : bullets +Oracle Open Office Draw : bullets;paragraphs +Oracle Open Office Draw : bullets;replacing +Oracle Open Office Draw : bullets;turning off +Oracle Open Office Draw : business cards +Oracle Open Office Draw : business cards;creating and synchronizing +Oracle Open Office Draw : business cards;using templates +Oracle Open Office Draw : button bars, see toolbars +Oracle Open Office Draw : buttons +Oracle Open Office Draw : buttons;adding push buttons +Oracle Open Office Draw : buttons;big/small +Oracle Open Office Draw : buttons;editing hyperlink buttons +Oracle Open Office Draw : buttons;form functions +Oracle Open Office Draw : buttons;toolbars +Oracle Open Office Draw : cache for graphics +Oracle Open Office Draw : calculating +Oracle Open Office Draw : calculating;iterative references (Calc) +Oracle Open Office Draw : calculating;regression curves +Oracle Open Office Draw : callouts +Oracle Open Office Draw : callouts;drawings +Oracle Open Office Draw : callouts;inserting in presentations +Oracle Open Office Draw : capital letters +Oracle Open Office Draw : capital letters;AutoCorrect function +Oracle Open Office Draw : capital letters;font effects +Oracle Open Office Draw : captions +Oracle Open Office Draw : captions;automatic captions (Writer) +Oracle Open Office Draw : captions;tables/pictures/frames/OLE objects (Writer) +Oracle Open Office Draw : captions, see also labels/callouts +Oracle Open Office Draw : cascading update (Base) +Oracle Open Office Draw : case sensitivity +Oracle Open Office Draw : case sensitivity;comparing cell contents (Calc) +Oracle Open Office Draw : case sensitivity;searching +Oracle Open Office Draw : cells +Oracle Open Office Draw : cells;aligning +Oracle Open Office Draw : cells;coloring (Calc) +Oracle Open Office Draw : cells;cursor positions after input (Calc) +Oracle Open Office Draw : cells;formatting without effect (Calc) +Oracle Open Office Draw : cells;line breaks +Oracle Open Office Draw : cells;linked to controls +Oracle Open Office Draw : cells;number of +Oracle Open Office Draw : cells;pasting +Oracle Open Office Draw : cells;resetting formats +Oracle Open Office Draw : cells;showing grid lines (Calc) +Oracle Open Office Draw : centered text +Oracle Open Office Draw : centimeters +Oracle Open Office Draw : certificates +Oracle Open Office Draw : changes +Oracle Open Office Draw : changes;accepting or rejecting +Oracle Open Office Draw : changes;comparing to original +Oracle Open Office Draw : changes;protecting +Oracle Open Office Draw : changes;recording +Oracle Open Office Draw : changes;review function +Oracle Open Office Draw : changes;showing +Oracle Open Office Draw : changing +Oracle Open Office Draw : changing;document titles +Oracle Open Office Draw : changing;file associations in Setup program +Oracle Open Office Draw : changing;icon sizes +Oracle Open Office Draw : changing;layer properties +Oracle Open Office Draw : changing;layout for handouts +Oracle Open Office Draw : changing;links +Oracle Open Office Draw : changing;order of slides +Oracle Open Office Draw : changing;slide layouts +Oracle Open Office Draw : changing;work directory +Oracle Open Office Draw : changing, see also editing and replacing +Oracle Open Office Draw : character styles +Oracle Open Office Draw : character styles;language selection +Oracle Open Office Draw : characters +Oracle Open Office Draw : characters;alternative fonts +Oracle Open Office Draw : characters;Asian layout +Oracle Open Office Draw : characters;bold +Oracle Open Office Draw : characters;coloring +Oracle Open Office Draw : characters;converting to curves +Oracle Open Office Draw : characters;displaying only on screen (Writer) +Oracle Open Office Draw : characters;enabling CTL and Asian characters +Oracle Open Office Draw : characters;font effects +Oracle Open Office Draw : characters;fonts and formats +Oracle Open Office Draw : characters;hyperlinks +Oracle Open Office Draw : characters;italics +Oracle Open Office Draw : characters;language selection +Oracle Open Office Draw : characters;shadowed +Oracle Open Office Draw : characters;spacing +Oracle Open Office Draw : characters;special +Oracle Open Office Draw : characters;underlining +Oracle Open Office Draw : charcoal sketches filter +Oracle Open Office Draw : chart legends +Oracle Open Office Draw : chart legends;hiding +Oracle Open Office Draw : chart legends;showing icons with labels +Oracle Open Office Draw : chart types +Oracle Open Office Draw : chart types;area +Oracle Open Office Draw : chart types;bubble +Oracle Open Office Draw : chart types;column and bar +Oracle Open Office Draw : chart types;column and line +Oracle Open Office Draw : chart types;line +Oracle Open Office Draw : chart types;net +Oracle Open Office Draw : chart types;pie/donut +Oracle Open Office Draw : chart types;stock +Oracle Open Office Draw : chart types;XY (scatter) +Oracle Open Office Draw : charts +Oracle Open Office Draw : charts;3D views +Oracle Open Office Draw : charts;aligning +Oracle Open Office Draw : charts;arranging within stacks +Oracle Open Office Draw : charts;bars with textures +Oracle Open Office Draw : charts;choosing chart types +Oracle Open Office Draw : charts;colors +Oracle Open Office Draw : charts;copying with link to source cell range +Oracle Open Office Draw : charts;data labels +Oracle Open Office Draw : charts;displaying (Calc) +Oracle Open Office Draw : charts;editing axes +Oracle Open Office Draw : charts;editing data +Oracle Open Office Draw : charts;editing legends +Oracle Open Office Draw : charts;editing titles +Oracle Open Office Draw : charts;formatting areas +Oracle Open Office Draw : charts;formatting floors +Oracle Open Office Draw : charts;formatting walls +Oracle Open Office Draw : charts;inserting +Oracle Open Office Draw : charts;overview +Oracle Open Office Draw : charts;positioning axes +Oracle Open Office Draw : charts;properties +Oracle Open Office Draw : charts;reorganizing +Oracle Open Office Draw : charts;scaling axes +Oracle Open Office Draw : charts;scaling text +Oracle Open Office Draw : charts;shortcuts +Oracle Open Office Draw : charts;showing axes +Oracle Open Office Draw : charts;updating automatically (Writer) +Oracle Open Office Draw : check box creation +Oracle Open Office Draw : Chinese writing systems +Oracle Open Office Draw : choosing printers +Oracle Open Office Draw : circle drawings +Oracle Open Office Draw : circle segments +Oracle Open Office Draw : circles +Oracle Open Office Draw : circles;of objects +Oracle Open Office Draw : Client Side ImageMap +Oracle Open Office Draw : clipboard +Oracle Open Office Draw : clipboard;cutting +Oracle Open Office Draw : clipboard;pasting +Oracle Open Office Draw : clipboard;pasting formatted/unformatted text +Oracle Open Office Draw : clipboard;selection clipboard +Oracle Open Office Draw : clipboard;Unix +Oracle Open Office Draw : closing +Oracle Open Office Draw : closing;documents +Oracle Open Office Draw : closing;shapes +Oracle Open Office Draw : closing;toolbars +Oracle Open Office Draw : collaboration +Oracle Open Office Draw : color bar +Oracle Open Office Draw : colors +Oracle Open Office Draw : colors;adding +Oracle Open Office Draw : colors;appearance +Oracle Open Office Draw : colors;backgrounds +Oracle Open Office Draw : colors;charts +Oracle Open Office Draw : colors;default colors +Oracle Open Office Draw : colors;defining and saving +Oracle Open Office Draw : colors;defining gradients interactively +Oracle Open Office Draw : colors;displaying presentations +Oracle Open Office Draw : colors;fill format +Oracle Open Office Draw : colors;fonts +Oracle Open Office Draw : colors;grid lines and cells (Calc) +Oracle Open Office Draw : colors;loading lists +Oracle Open Office Draw : colors;models +Oracle Open Office Draw : colors;not printing +Oracle Open Office Draw : colors;printing in grayscale +Oracle Open Office Draw : colors;replacing +Oracle Open Office Draw : colors;restriction (Calc) +Oracle Open Office Draw : colors;selection +Oracle Open Office Draw : column and line charts +Oracle Open Office Draw : column charts +Oracle Open Office Draw : column headers +Oracle Open Office Draw : column headers;displaying (Calc) +Oracle Open Office Draw : column headers;highlighting (Calc) +Oracle Open Office Draw : columns +Oracle Open Office Draw : columns;inserting +Oracle Open Office Draw : columns;setting with the mouse +Oracle Open Office Draw : combination charts +Oracle Open Office Draw : combining +Oracle Open Office Draw : combining;3D objects +Oracle Open Office Draw : combining;draw objects +Oracle Open Office Draw : combining;undoing +Oracle Open Office Draw : combo box creation +Oracle Open Office Draw : command button creation +Oracle Open Office Draw : command buttons, see push buttons +Oracle Open Office Draw : command line parameters +Oracle Open Office Draw : commands +Oracle Open Office Draw : commands;repeating +Oracle Open Office Draw : commands;SQL +Oracle Open Office Draw : comments +Oracle Open Office Draw : comments;displaying (Calc) +Oracle Open Office Draw : comments;inserting/editing/deleting/printing +Oracle Open Office Draw : comments;on changes +Oracle Open Office Draw : comments;printing in text +Oracle Open Office Draw : common terms +Oracle Open Office Draw : common terms;Chinese dictionary +Oracle Open Office Draw : common terms;glossaries +Oracle Open Office Draw : common terms;Internet glossary +Oracle Open Office Draw : comparisons +Oracle Open Office Draw : comparisons;document versions +Oracle Open Office Draw : comparisons;operators in default filter dialog +Oracle Open Office Draw : compatibility settings for MS Word import +Oracle Open Office Draw : complete screen view +Oracle Open Office Draw : complex text layout +Oracle Open Office Draw : complex text layout;definition +Oracle Open Office Draw : complex text layout;enabling +Oracle Open Office Draw : complex text layout, see CTL +Oracle Open Office Draw : compose key to insert special characters +Oracle Open Office Draw : concatenation, see ampersand symbol +Oracle Open Office Draw : conditional separators +Oracle Open Office Draw : conditions +Oracle Open Office Draw : conditions;in number formats +Oracle Open Office Draw : conditions;items in Data Navigator +Oracle Open Office Draw : cones +Oracle Open Office Draw : Configuration Manager +Oracle Open Office Draw : configuring +Oracle Open Office Draw : configuring;fax icon +Oracle Open Office Draw : configuring;Oracle Open Office +Oracle Open Office Draw : configuring;toolbars +Oracle Open Office Draw : connecting +Oracle Open Office Draw : connecting;draw objects +Oracle Open Office Draw : connecting;lines +Oracle Open Office Draw : connecting;paths and objects +Oracle Open Office Draw : connections to data sources (Base) +Oracle Open Office Draw : connectors +Oracle Open Office Draw : connectors;properties of +Oracle Open Office Draw : connectors;using +Oracle Open Office Draw : constructing shapes +Oracle Open Office Draw : contents protection +Oracle Open Office Draw : context menus +Oracle Open Office Draw : contours +Oracle Open Office Draw : contours;converting to +Oracle Open Office Draw : control point display in presentations +Oracle Open Office Draw : control points definition +Oracle Open Office Draw : controls +Oracle Open Office Draw : controls;activating in forms +Oracle Open Office Draw : controls;adding to documents +Oracle Open Office Draw : controls;arranging in forms +Oracle Open Office Draw : controls;arranging within stacks +Oracle Open Office Draw : controls;assigning data sources +Oracle Open Office Draw : controls;assigning macros (Basic) +Oracle Open Office Draw : controls;bound fields/list contents/linked cells +Oracle Open Office Draw : controls;events +Oracle Open Office Draw : controls;focus +Oracle Open Office Draw : controls;formatted fields +Oracle Open Office Draw : controls;grouping +Oracle Open Office Draw : controls;hidden +Oracle Open Office Draw : controls;inserting +Oracle Open Office Draw : controls;multi-line titles +Oracle Open Office Draw : controls;positions and sizes +Oracle Open Office Draw : controls;printing +Oracle Open Office Draw : controls;properties of form controls +Oracle Open Office Draw : controls;properties of table controls +Oracle Open Office Draw : controls;reference by SQL +Oracle Open Office Draw : controls;rich text control +Oracle Open Office Draw : controls;select mode +Oracle Open Office Draw : controls;showing (Writer) +Oracle Open Office Draw : converters +Oracle Open Office Draw : converters;Euro converter +Oracle Open Office Draw : converters;PostScript, UNIX +Oracle Open Office Draw : converters;XML +Oracle Open Office Draw : converting +Oracle Open Office Draw : converting;bitmaps to polygons +Oracle Open Office Draw : converting;Hangul/Hanja +Oracle Open Office Draw : converting;metrics +Oracle Open Office Draw : converting;Microsoft documents +Oracle Open Office Draw : converting;Oracle Open Office documents +Oracle Open Office Draw : converting;Pocket PC formats +Oracle Open Office Draw : converting;points +Oracle Open Office Draw : converting;text to curves +Oracle Open Office Draw : converting;to bitmaps +Oracle Open Office Draw : converting;to contours +Oracle Open Office Draw : converting;to curves, polygons, 3D +Oracle Open Office Draw : converting;to metafile format (WMF) +Oracle Open Office Draw : copies +Oracle Open Office Draw : copies;printing +Oracle Open Office Draw : copying +Oracle Open Office Draw : copying;by drag and drop +Oracle Open Office Draw : copying;data from text documents +Oracle Open Office Draw : copying;datasource records in spreadsheets +Oracle Open Office Draw : copying;draw objects +Oracle Open Office Draw : copying;draw objects between documents +Oracle Open Office Draw : copying;formatting +Oracle Open Office Draw : copying;from data source view +Oracle Open Office Draw : copying;from Gallery +Oracle Open Office Draw : copying;in Unix +Oracle Open Office Draw : copying;pictures, between documents +Oracle Open Office Draw : copying;sheet areas, to text documents +Oracle Open Office Draw : copying;slides +Oracle Open Office Draw : copying;text from other documents +Oracle Open Office Draw : copying;to Gallery +Oracle Open Office Draw : copyright for Oracle Open Office +Oracle Open Office Draw : corner points +Oracle Open Office Draw : corner roundings +Oracle Open Office Draw : covered objects +Oracle Open Office Draw : crash reports +Oracle Open Office Draw : criteria of query design (Base) +Oracle Open Office Draw : cropping pictures +Oracle Open Office Draw : cross-fading +Oracle Open Office Draw : cross-fading;creating cross-fades +Oracle Open Office Draw : cross-fading;slides +Oracle Open Office Draw : cross-fading;two draw objects +Oracle Open Office Draw : CTL +Oracle Open Office Draw : CTL;(not) wrapping words +Oracle Open Office Draw : CTL;complex text layout languages +Oracle Open Office Draw : CTL;definition +Oracle Open Office Draw : CTL;options +Oracle Open Office Draw : cubes +Oracle Open Office Draw : currencies +Oracle Open Office Draw : currencies;converters +Oracle Open Office Draw : currencies;format codes +Oracle Open Office Draw : currency field creation +Oracle Open Office Draw : currency formats +Oracle Open Office Draw : cursor +Oracle Open Office Draw : cursor;allowing in protected areas (Writer) +Oracle Open Office Draw : cursor;in read-only text +Oracle Open Office Draw : cursor;quickly moving to an object +Oracle Open Office Draw : curves +Oracle Open Office Draw : curves;converting text to +Oracle Open Office Draw : curves;drawing +Oracle Open Office Draw : curves;editing +Oracle Open Office Draw : curves;editing points +Oracle Open Office Draw : curves;properties in line charts/XY charts +Oracle Open Office Draw : curves;toolbar +Oracle Open Office Draw : custom animation +Oracle Open Office Draw : custom colors +Oracle Open Office Draw : custom dictionaries +Oracle Open Office Draw : custom dictionaries;editing +Oracle Open Office Draw : custom gradients +Oracle Open Office Draw : custom hyphens (Writer) +Oracle Open Office Draw : custom quotes +Oracle Open Office Draw : custom slide shows +Oracle Open Office Draw : custom templates +Oracle Open Office Draw : customizing +Oracle Open Office Draw : customizing;events +Oracle Open Office Draw : customizing;keyboard +Oracle Open Office Draw : customizing;menus +Oracle Open Office Draw : customizing;Oracle Open Office +Oracle Open Office Draw : customizing;round corners +Oracle Open Office Draw : customizing;toolbars +Oracle Open Office Draw : cutting +Oracle Open Office Draw : cylinders +Oracle Open Office Draw : dashes +Oracle Open Office Draw : data +Oracle Open Office Draw : data;filtering in forms +Oracle Open Office Draw : data;forms and subforms +Oracle Open Office Draw : data;read-only +Oracle Open Office Draw : data;sorting in forms +Oracle Open Office Draw : data;user data +Oracle Open Office Draw : data binding change in XForms +Oracle Open Office Draw : data labels in charts +Oracle Open Office Draw : Data Navigator +Oracle Open Office Draw : Data Navigator;adding/editing items +Oracle Open Office Draw : Data Navigator;display options +Oracle Open Office Draw : data ranges in charts +Oracle Open Office Draw : data series +Oracle Open Office Draw : data source browser +Oracle Open Office Draw : data source explorer +Oracle Open Office Draw : data source view +Oracle Open Office Draw : data source view;drag and drop +Oracle Open Office Draw : data source view;overview +Oracle Open Office Draw : data source view;showing +Oracle Open Office Draw : data sources +Oracle Open Office Draw : data sources;as tables +Oracle Open Office Draw : data sources;connection settings (Base) +Oracle Open Office Draw : data sources;copying records to spreadsheets +Oracle Open Office Draw : data sources;displaying current +Oracle Open Office Draw : data sources;LDAP server (Base) +Oracle Open Office Draw : data sources;Oracle Open Office Base +Oracle Open Office Draw : data sources;registering address books +Oracle Open Office Draw : data sources;reports +Oracle Open Office Draw : data sources;setting for stock charts +Oracle Open Office Draw : data sources;viewing +Oracle Open Office Draw : data structure of XForms +Oracle Open Office Draw : data values in charts +Oracle Open Office Draw : data, see also values +Oracle Open Office Draw : database contents +Oracle Open Office Draw : database contents;inserting as tables +Oracle Open Office Draw : database contents;inserting as text +Oracle Open Office Draw : database reports +Oracle Open Office Draw : Database Wizard (Base) +Oracle Open Office Draw : databases +Oracle Open Office Draw : databases;administration through SQL (Base) +Oracle Open Office Draw : databases;ADO (Base) +Oracle Open Office Draw : databases;connecting (Base) +Oracle Open Office Draw : databases;creating +Oracle Open Office Draw : databases;creating labels +Oracle Open Office Draw : databases;creating queries +Oracle Open Office Draw : databases;creating reports +Oracle Open Office Draw : databases;creating tables +Oracle Open Office Draw : databases;deleting (Base) +Oracle Open Office Draw : databases;drag and drop (Base) +Oracle Open Office Draw : databases;editing tables +Oracle Open Office Draw : databases;form filters +Oracle Open Office Draw : databases;formats (Base) +Oracle Open Office Draw : databases;importing/exporting +Oracle Open Office Draw : databases;JDBC (Base) +Oracle Open Office Draw : databases;main page (Base) +Oracle Open Office Draw : databases;ODBC (Base) +Oracle Open Office Draw : databases;overview +Oracle Open Office Draw : databases;registering (Base) +Oracle Open Office Draw : databases;searching records +Oracle Open Office Draw : databases;shortcut keys +Oracle Open Office Draw : databases;sorting +Oracle Open Office Draw : databases;standard filters +Oracle Open Office Draw : databases;text formats +Oracle Open Office Draw : databases;viewing +Oracle Open Office Draw : date fields +Oracle Open Office Draw : date fields;creating +Oracle Open Office Draw : date fields;properties +Oracle Open Office Draw : date formats +Oracle Open Office Draw : date on all slides +Oracle Open Office Draw : dates +Oracle Open Office Draw : dates;default (Calc) +Oracle Open Office Draw : dates;fixed +Oracle Open Office Draw : dates;printing in presentations +Oracle Open Office Draw : dates;start 1900/01/01 (Calc) +Oracle Open Office Draw : dates;start 1904/01/01 (Calc) +Oracle Open Office Draw : dates;variable +Oracle Open Office Draw : dBASE +Oracle Open Office Draw : dBASE;database settings (Base) +Oracle Open Office Draw : DDE +Oracle Open Office Draw : DDE;definition +Oracle Open Office Draw : deactivating +Oracle Open Office Draw : deactivating;plug-ins +Oracle Open Office Draw : decimal places displayed (Calc) +Oracle Open Office Draw : decimal separator key +Oracle Open Office Draw : decimal tab stops +Oracle Open Office Draw : decreasing sizes of views +Oracle Open Office Draw : default directories +Oracle Open Office Draw : default filters +Oracle Open Office Draw : default filters;comparison operators +Oracle Open Office Draw : default filters;databases +Oracle Open Office Draw : default printer +Oracle Open Office Draw : default printer;setting up +Oracle Open Office Draw : default printer;UNIX +Oracle Open Office Draw : default templates +Oracle Open Office Draw : default templates;changing +Oracle Open Office Draw : default templates;organizing +Oracle Open Office Draw : defaults +Oracle Open Office Draw : defaults;documents +Oracle Open Office Draw : defaults;file formats in file dialogs +Oracle Open Office Draw : defaults;file formats in Oracle Open Office +Oracle Open Office Draw : defaults;fonts +Oracle Open Office Draw : defaults;grids (Writer/Calc) +Oracle Open Office Draw : defaults;languages +Oracle Open Office Draw : defaults;number formats +Oracle Open Office Draw : defaults;of saving +Oracle Open Office Draw : defaults;program configuration +Oracle Open Office Draw : defaults;tab stops in text +Oracle Open Office Draw : defaults;views +Oracle Open Office Draw : defining +Oracle Open Office Draw : defining;arrowheads and other line ends +Oracle Open Office Draw : defining;colors +Oracle Open Office Draw : defining;gradients +Oracle Open Office Draw : defining;line styles +Oracle Open Office Draw : defining;paragraph borders +Oracle Open Office Draw : defining;queries (Base) +Oracle Open Office Draw : defining;table borders +Oracle Open Office Draw : deleting +Oracle Open Office Draw : deleting;all direct formatting +Oracle Open Office Draw : deleting;animation effects +Oracle Open Office Draw : deleting;comments +Oracle Open Office Draw : deleting;databases (Base) +Oracle Open Office Draw : deleting;hyperlinks +Oracle Open Office Draw : deleting;layers +Oracle Open Office Draw : deleting;lines in text +Oracle Open Office Draw : deleting;models/instances +Oracle Open Office Draw : deleting;namespaces in XForms +Oracle Open Office Draw : deleting;points +Oracle Open Office Draw : deleting;slide transition effects +Oracle Open Office Draw : deleting;slides +Oracle Open Office Draw : deleting;tab stops +Oracle Open Office Draw : deleting;templates +Oracle Open Office Draw : deleting;XML filters +Oracle Open Office Draw : depth stagger +Oracle Open Office Draw : descriptions for objects +Oracle Open Office Draw : design mode after saving +Oracle Open Office Draw : design view +Oracle Open Office Draw : design view;creating forms +Oracle Open Office Draw : design view;queries/views (Base) +Oracle Open Office Draw : designing +Oracle Open Office Draw : designing;database tables +Oracle Open Office Draw : designing;fonts +Oracle Open Office Draw : designing;queries (Base) +Oracle Open Office Draw : detaching toolbars +Oracle Open Office Draw : dictionaries +Oracle Open Office Draw : dictionaries;common terms in simplified and traditional chinese +Oracle Open Office Draw : dictionaries;creating +Oracle Open Office Draw : dictionaries;editing user-defined +Oracle Open Office Draw : dictionaries;spellcheck +Oracle Open Office Draw : dictionaries, see also languages +Oracle Open Office Draw : digital signatures +Oracle Open Office Draw : digital signatures;getting/managing/applying +Oracle Open Office Draw : digital signatures;overview +Oracle Open Office Draw : digital signatures;WebDAV over HTTPS +Oracle Open Office Draw : dimension lines +Oracle Open Office Draw : dimension lines;drawing +Oracle Open Office Draw : dimension lines;properties of +Oracle Open Office Draw : direct formatting +Oracle Open Office Draw : direct formatting;undoing all +Oracle Open Office Draw : directories +Oracle Open Office Draw : directories;creating new +Oracle Open Office Draw : directories;directory structure +Oracle Open Office Draw : disabled persons +Oracle Open Office Draw : display qualities of presentations +Oracle Open Office Draw : displaying +Oracle Open Office Draw : displaying;comments (Calc) +Oracle Open Office Draw : displaying;comments in text documents +Oracle Open Office Draw : displaying;non-printing characters (Writer) +Oracle Open Office Draw : displaying;pictures and objects (Writer) +Oracle Open Office Draw : displaying;tables (Writer) +Oracle Open Office Draw : displaying;zero values (Calc) +Oracle Open Office Draw : distances +Oracle Open Office Draw : distinct values in SQL queries +Oracle Open Office Draw : distorting in drawings +Oracle Open Office Draw : distorting objects +Oracle Open Office Draw : distributing draw objects +Oracle Open Office Draw : distributing XML filters +Oracle Open Office Draw : docking +Oracle Open Office Draw : docking;definition +Oracle Open Office Draw : docking;toolbars +Oracle Open Office Draw : docking;windows +Oracle Open Office Draw : Document Converter Wizard +Oracle Open Office Draw : Document Map, see Navigator +Oracle Open Office Draw : document types in Oracle Open Office +Oracle Open Office Draw : documents +Oracle Open Office Draw : documents;changing titles +Oracle Open Office Draw : documents;closing +Oracle Open Office Draw : documents;comparing +Oracle Open Office Draw : documents;contents as lists +Oracle Open Office Draw : documents;editing time +Oracle Open Office Draw : documents;exporting +Oracle Open Office Draw : documents;importing +Oracle Open Office Draw : documents;languages +Oracle Open Office Draw : documents;measurement units in +Oracle Open Office Draw : documents;merging +Oracle Open Office Draw : documents;number of pages/tables/sheets +Oracle Open Office Draw : documents;opening +Oracle Open Office Draw : documents;opening in design mode +Oracle Open Office Draw : documents;opening with templates +Oracle Open Office Draw : documents;organizing +Oracle Open Office Draw : documents;printing +Oracle Open Office Draw : documents;read-only +Oracle Open Office Draw : documents;reloading +Oracle Open Office Draw : documents;saving +Oracle Open Office Draw : documents;saving automatically +Oracle Open Office Draw : documents;saving in other formats +Oracle Open Office Draw : documents;sending as e-mail +Oracle Open Office Draw : documents;styles changed +Oracle Open Office Draw : documents;version management +Oracle Open Office Draw : documents;version numbers +Oracle Open Office Draw : donut charts +Oracle Open Office Draw : dotted areas +Oracle Open Office Draw : double-line spacing in paragraphs +Oracle Open Office Draw : double-line writing in Asian layout +Oracle Open Office Draw : doubling draw objects +Oracle Open Office Draw : drag and drop +Oracle Open Office Draw : drag and drop;copying and pasting text +Oracle Open Office Draw : drag and drop;data source view +Oracle Open Office Draw : drag and drop;from Gallery to draw objects +Oracle Open Office Draw : drag and drop;overview +Oracle Open Office Draw : drag and drop;pictures +Oracle Open Office Draw : drag and drop;to Gallery +Oracle Open Office Draw : Draw instructions +Oracle Open Office Draw : draw objects +Oracle Open Office Draw : draw objects;adding/editing/copying +Oracle Open Office Draw : draw objects;anchoring +Oracle Open Office Draw : draw objects;arranging within stacks +Oracle Open Office Draw : draw objects;combining +Oracle Open Office Draw : draw objects;connecting lines to +Oracle Open Office Draw : draw objects;converting text to +Oracle Open Office Draw : draw objects;copying between documents +Oracle Open Office Draw : draw objects;cross-fading two objects +Oracle Open Office Draw : draw objects;displaying (Calc) +Oracle Open Office Draw : draw objects;dropping Gallery pictures +Oracle Open Office Draw : draw objects;duplicating +Oracle Open Office Draw : draw objects;flipping +Oracle Open Office Draw : draw objects;grouping +Oracle Open Office Draw : draw objects;legends +Oracle Open Office Draw : draw objects;positioning and resizing +Oracle Open Office Draw : draw objects;protecting +Oracle Open Office Draw : draw objects;rotating +Oracle Open Office Draw : draw objects;slanting +Oracle Open Office Draw : draw objects;text entry mode +Oracle Open Office Draw : draw objects;text in +Oracle Open Office Draw : drawing +Oracle Open Office Draw : drawing;3D objects +Oracle Open Office Draw : drawing;freeform lines +Oracle Open Office Draw : drawing;lines +Oracle Open Office Draw : drawing;sectors and segments +Oracle Open Office Draw : Drawing bar +Oracle Open Office Draw : drawing lines in text +Oracle Open Office Draw : drawings +Oracle Open Office Draw : drawings;creating/opening +Oracle Open Office Draw : drawings;languages +Oracle Open Office Draw : drawings;printing +Oracle Open Office Draw : drawings;printing defaults +Oracle Open Office Draw : drawings;printing in text documents +Oracle Open Office Draw : drawings;saving +Oracle Open Office Draw : drawings;saving automatically +Oracle Open Office Draw : drawings;saving in other formats +Oracle Open Office Draw : drawings;sending as e-mail +Oracle Open Office Draw : drawings;shortcut keys +Oracle Open Office Draw : drawings;showing (Writer) +Oracle Open Office Draw : drawings;zoom function in +Oracle Open Office Draw : drawings, see also draw objects +Oracle Open Office Draw : drop-down lists in form functions +Oracle Open Office Draw : duplicating draw objects +Oracle Open Office Draw : e-mail attachments +Oracle Open Office Draw : Edit File icon +Oracle Open Office Draw : edit mode +Oracle Open Office Draw : edit mode;after opening +Oracle Open Office Draw : edit mode;through Enter key (Calc) +Oracle Open Office Draw : Edit Points bar +Oracle Open Office Draw : editing +Oracle Open Office Draw : editing;chart axes +Oracle Open Office Draw : editing;chart data +Oracle Open Office Draw : editing;chart legends +Oracle Open Office Draw : editing;chart titles +Oracle Open Office Draw : editing;comments +Oracle Open Office Draw : editing;curves +Oracle Open Office Draw : editing;data binding of XForms +Oracle Open Office Draw : editing;database tables and queries +Oracle Open Office Draw : editing;draw objects +Oracle Open Office Draw : editing;fields +Oracle Open Office Draw : editing;Fontwork objects +Oracle Open Office Draw : editing;gradients +Oracle Open Office Draw : editing;guides and snap points +Oracle Open Office Draw : editing;hyperlinks +Oracle Open Office Draw : editing;menus +Oracle Open Office Draw : editing;objects +Oracle Open Office Draw : editing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Draw : editing;pictures +Oracle Open Office Draw : editing;reports +Oracle Open Office Draw : editing;shortcut keys +Oracle Open Office Draw : editing;slide titles +Oracle Open Office Draw : editing;tab stops +Oracle Open Office Draw : editing;templates +Oracle Open Office Draw : editing;titles +Oracle Open Office Draw : editing;toolbars +Oracle Open Office Draw : editing;undoing +Oracle Open Office Draw : editing;XForms +Oracle Open Office Draw : editing time of documents +Oracle Open Office Draw : editors +Oracle Open Office Draw : editors;formula editor +Oracle Open Office Draw : editors;ImageMap editor +Oracle Open Office Draw : effects +Oracle Open Office Draw : effects;animated slide transitions +Oracle Open Office Draw : effects;applying to/removing from objects +Oracle Open Office Draw : effects;font positions +Oracle Open Office Draw : effects;fonts +Oracle Open Office Draw : effects;Fontwork icons +Oracle Open Office Draw : effects;preview +Oracle Open Office Draw : effects;sounds +Oracle Open Office Draw : ellipses +Oracle Open Office Draw : ellipses;segments +Oracle Open Office Draw : ellipses;toolbars +Oracle Open Office Draw : empty documents +Oracle Open Office Draw : empty paragraph removal +Oracle Open Office Draw : encryption of contents +Oracle Open Office Draw : entering groups +Oracle Open Office Draw : entering text from right to left +Oracle Open Office Draw : equal sign, see also operators +Oracle Open Office Draw : equations in formula editor +Oracle Open Office Draw : error bars in charts +Oracle Open Office Draw : error indicators in charts +Oracle Open Office Draw : Error Report Tool +Oracle Open Office Draw : Euro +Oracle Open Office Draw : Euro;currency formats +Oracle Open Office Draw : Euro;Euro Converter Wizard +Oracle Open Office Draw : even/odd pages +Oracle Open Office Draw : even/odd pages;printing +Oracle Open Office Draw : events +Oracle Open Office Draw : events;assigning scripts +Oracle Open Office Draw : events;controls +Oracle Open Office Draw : events;customizing +Oracle Open Office Draw : events;in forms +Oracle Open Office Draw : Excel +Oracle Open Office Draw : Excel;saving as +Oracle Open Office Draw : Excel;search criteria +Oracle Open Office Draw : exceptions +Oracle Open Office Draw : exceptions;user-defined dictionaries +Oracle Open Office Draw : exchanging, see also replacing +Oracle Open Office Draw : executing SQL commands +Oracle Open Office Draw : exiting +Oracle Open Office Draw : exiting;by clicking objects +Oracle Open Office Draw : exiting;groups +Oracle Open Office Draw : exiting;Oracle Open Office +Oracle Open Office Draw : expanding +Oracle Open Office Draw : expanding;slides +Oracle Open Office Draw : expanding formatting (Calc) +Oracle Open Office Draw : explorer of data sources +Oracle Open Office Draw : export filters +Oracle Open Office Draw : exporting +Oracle Open Office Draw : exporting;animations to GIF format +Oracle Open Office Draw : exporting;bitmaps +Oracle Open Office Draw : exporting;HTML and text documents +Oracle Open Office Draw : exporting;Microsoft Office documents with VBA code +Oracle Open Office Draw : exporting;presentations to HTML +Oracle Open Office Draw : exporting;spreadsheets to text format +Oracle Open Office Draw : exporting;templates +Oracle Open Office Draw : exporting;to foreign formats +Oracle Open Office Draw : exporting;to HTML +Oracle Open Office Draw : exporting;to Macromedia Flash format +Oracle Open Office Draw : exporting;to Microsoft Office formats +Oracle Open Office Draw : exporting;to PDF +Oracle Open Office Draw : exporting;to PostScript format +Oracle Open Office Draw : exporting;to XML +Oracle Open Office Draw : exporting;XML files +Oracle Open Office Draw : extended tips in Help +Oracle Open Office Draw : extension mode in text +Oracle Open Office Draw : extensions +Oracle Open Office Draw : extensions;Extension Manager +Oracle Open Office Draw : extensions;file formats +Oracle Open Office Draw : external keys (Base) +Oracle Open Office Draw : extrusion objects +Oracle Open Office Draw : eyedropper tool +Oracle Open Office Draw : faster printing +Oracle Open Office Draw : faxes +Oracle Open Office Draw : faxes;configuring Oracle Open Office +Oracle Open Office Draw : faxes;fax programs/fax printers under UNIX +Oracle Open Office Draw : faxes;selecting a fax machine +Oracle Open Office Draw : faxes;sending +Oracle Open Office Draw : faxes;wizards +Oracle Open Office Draw : feedback +Oracle Open Office Draw : feedback;automatically +Oracle Open Office Draw : fields +Oracle Open Office Draw : fields;authors +Oracle Open Office Draw : fields;database tables +Oracle Open Office Draw : fields;dates (fixed) +Oracle Open Office Draw : fields;dates (variable) +Oracle Open Office Draw : fields;displaying field codes (Writer) +Oracle Open Office Draw : fields;editing +Oracle Open Office Draw : fields;file names +Oracle Open Office Draw : fields;formatted fields +Oracle Open Office Draw : fields;formatting +Oracle Open Office Draw : fields;in slides +Oracle Open Office Draw : fields;page numbers +Oracle Open Office Draw : fields;times (fixed) +Oracle Open Office Draw : fields;times (variable) +Oracle Open Office Draw : fields;updating automatically (Writer) +Oracle Open Office Draw : file associations for Microsoft Office +Oracle Open Office Draw : file filters +Oracle Open Office Draw : file filters;mobile devices +Oracle Open Office Draw : file filters;XML +Oracle Open Office Draw : file formats +Oracle Open Office Draw : file formats;changing Oracle Open Office defaults +Oracle Open Office Draw : file formats;OpenDocument/XML +Oracle Open Office Draw : file formats;saving always in other formats +Oracle Open Office Draw : file selection button +Oracle Open Office Draw : file sharing options for current document +Oracle Open Office Draw : files +Oracle Open Office Draw : files;filters and formats +Oracle Open Office Draw : files;importing +Oracle Open Office Draw : files;inserting +Oracle Open Office Draw : files;inserting pictures +Oracle Open Office Draw : files;opening +Oracle Open Office Draw : files;properties +Oracle Open Office Draw : files;saving +Oracle Open Office Draw : files;saving automatically +Oracle Open Office Draw : files;saving in other formats +Oracle Open Office Draw : files;sending as e-mail +Oracle Open Office Draw : files;version numbers +Oracle Open Office Draw : files and folders in Oracle Open Office +Oracle Open Office Draw : fill characters with tabulators +Oracle Open Office Draw : fill colors for areas +Oracle Open Office Draw : fill format mode +Oracle Open Office Draw : fill format mode;styles +Oracle Open Office Draw : fill patterns for areas +Oracle Open Office Draw : filter conditions +Oracle Open Office Draw : filter conditions;connecting +Oracle Open Office Draw : filter conditions;in queries (Base) +Oracle Open Office Draw : filtering +Oracle Open Office Draw : filtering;data in databases +Oracle Open Office Draw : filtering;data in forms +Oracle Open Office Draw : filters +Oracle Open Office Draw : filters;comparison operators +Oracle Open Office Draw : filters;for import and export +Oracle Open Office Draw : filters;Navigator +Oracle Open Office Draw : filters;pictures +Oracle Open Office Draw : filters;XML filter settings +Oracle Open Office Draw : Find tab in Help +Oracle Open Office Draw : finding +Oracle Open Office Draw : finding;in all sheets +Oracle Open Office Draw : finding;records in form documents +Oracle Open Office Draw : finding;selections +Oracle Open Office Draw : finding;similarity search +Oracle Open Office Draw : fitting to pages +Oracle Open Office Draw : fitting to pages;individual slides +Oracle Open Office Draw : fitting to pages;print settings in Math +Oracle Open Office Draw : fitting to pages;print settings in presentations +Oracle Open Office Draw : fixed text +Oracle Open Office Draw : fixed text;form functions +Oracle Open Office Draw : fixing toolbars +Oracle Open Office Draw : flipping around a flip line +Oracle Open Office Draw : flipping draw objects +Oracle Open Office Draw : floating frames in HTML documents +Oracle Open Office Draw : floating text +Oracle Open Office Draw : floating toolbars +Oracle Open Office Draw : flowcharts +Oracle Open Office Draw : focus of controls +Oracle Open Office Draw : folder creation +Oracle Open Office Draw : font lists +Oracle Open Office Draw : font name box +Oracle Open Office Draw : font sizes +Oracle Open Office Draw : font sizes;bullets +Oracle Open Office Draw : font sizes;relative changes +Oracle Open Office Draw : font sizes;scaling on screen +Oracle Open Office Draw : font sizes;text +Oracle Open Office Draw : fonts +Oracle Open Office Draw : fonts;adding under UNIX +Oracle Open Office Draw : fonts;changing in templates +Oracle Open Office Draw : fonts;colors +Oracle Open Office Draw : fonts;default settings +Oracle Open Office Draw : fonts;effects +Oracle Open Office Draw : fonts;for HTML and Basic +Oracle Open Office Draw : fonts;formats +Oracle Open Office Draw : fonts;outlines +Oracle Open Office Draw : fonts;positions in text +Oracle Open Office Draw : fonts;shadows +Oracle Open Office Draw : fonts;specifying several +Oracle Open Office Draw : fonts;strikethrough +Oracle Open Office Draw : fonts;styles +Oracle Open Office Draw : fonts;text objects +Oracle Open Office Draw : Fontwork icons +Oracle Open Office Draw : footers +Oracle Open Office Draw : footers;backgrounds +Oracle Open Office Draw : footers;slide masters +Oracle Open Office Draw : footers;slides +Oracle Open Office Draw : form controls +Oracle Open Office Draw : form controls;assigning macros +Oracle Open Office Draw : form controls;protecting +Oracle Open Office Draw : form controls;toolbars +Oracle Open Office Draw : form fields +Oracle Open Office Draw : form filters +Oracle Open Office Draw : Form Navigator +Oracle Open Office Draw : format codes +Oracle Open Office Draw : format codes;numbers +Oracle Open Office Draw : format filling printing in Oracle Open Office Math +Oracle Open Office Draw : Format Paintbrush +Oracle Open Office Draw : formats +Oracle Open Office Draw : formats;Asian layout +Oracle Open Office Draw : formats;fonts +Oracle Open Office Draw : formats;maximizing page formats +Oracle Open Office Draw : formats;number and currency formats +Oracle Open Office Draw : formats;of currencies/date/time +Oracle Open Office Draw : formats;on opening and saving +Oracle Open Office Draw : formats;pasting in special formats +Oracle Open Office Draw : formats;positions +Oracle Open Office Draw : formats;tabulators +Oracle Open Office Draw : formatted fields +Oracle Open Office Draw : formatted fields;form functions +Oracle Open Office Draw : formatted fields;properties +Oracle Open Office Draw : formatting +Oracle Open Office Draw : formatting;Asian typography +Oracle Open Office Draw : formatting;axes in charts +Oracle Open Office Draw : formatting;chart areas +Oracle Open Office Draw : formatting;chart floors +Oracle Open Office Draw : formatting;chart legends +Oracle Open Office Draw : formatting;chart titles +Oracle Open Office Draw : formatting;chart walls +Oracle Open Office Draw : formatting;copying +Oracle Open Office Draw : formatting;definition +Oracle Open Office Draw : formatting;expanding (Calc) +Oracle Open Office Draw : formatting;fields +Oracle Open Office Draw : formatting;font effects +Oracle Open Office Draw : formatting;hyperlinks +Oracle Open Office Draw : formatting;pages +Oracle Open Office Draw : formatting;printer metrics (Writer) +Oracle Open Office Draw : formatting;slides +Oracle Open Office Draw : formatting;slides headings +Oracle Open Office Draw : formatting;undoing +Oracle Open Office Draw : formatting;undoing when writing +Oracle Open Office Draw : forms +Oracle Open Office Draw : forms;browsing +Oracle Open Office Draw : forms;Combo Box/List Box Wizard +Oracle Open Office Draw : forms;creating +Oracle Open Office Draw : forms;data +Oracle Open Office Draw : forms;designing (Base) +Oracle Open Office Draw : forms;events +Oracle Open Office Draw : forms;filtering data +Oracle Open Office Draw : forms;finding records +Oracle Open Office Draw : forms;focus after opening +Oracle Open Office Draw : forms;general information (Base) +Oracle Open Office Draw : forms;grouping controls +Oracle Open Office Draw : forms;HTML filters +Oracle Open Office Draw : forms;inserting +Oracle Open Office Draw : forms;Navigator +Oracle Open Office Draw : forms;opening in design mode +Oracle Open Office Draw : forms;properties +Oracle Open Office Draw : forms;sorting data +Oracle Open Office Draw : forms;subforms +Oracle Open Office Draw : forms;wizards +Oracle Open Office Draw : forms;XForms +Oracle Open Office Draw : formula texts +Oracle Open Office Draw : formula texts;printing in Oracle Open Office Math +Oracle Open Office Draw : formulas +Oracle Open Office Draw : formulas;new +Oracle Open Office Draw : formulas;starting formula editor +Oracle Open Office Draw : formulas in reports +Oracle Open Office Draw : formulas in reports;editing +Oracle Open Office Draw : forums and support +Oracle Open Office Draw : frames +Oracle Open Office Draw : frames;around paragraphs +Oracle Open Office Draw : frames;around tables +Oracle Open Office Draw : frames;AutoCorrect function +Oracle Open Office Draw : frames;backgrounds +Oracle Open Office Draw : frames;captions (Writer) +Oracle Open Office Draw : frames;printing in Oracle Open Office Math +Oracle Open Office Draw : frames;protecting +Oracle Open Office Draw : frames;selection frames +Oracle Open Office Draw : frames;text fitting to frames +Oracle Open Office Draw : freeform lines +Oracle Open Office Draw : freeform lines;draw functions +Oracle Open Office Draw : freeform lines;drawing +Oracle Open Office Draw : FTP +Oracle Open Office Draw : FTP;opening documents +Oracle Open Office Draw : FTP;saving documents +Oracle Open Office Draw : full joins (Base) +Oracle Open Office Draw : full screen view +Oracle Open Office Draw : full-text search in Help +Oracle Open Office Draw : functions in reports +Oracle Open Office Draw : functions in reports;editing +Oracle Open Office Draw : Gallery +Oracle Open Office Draw : Gallery;adding pictures +Oracle Open Office Draw : Gallery;dragging pictures to draw objects +Oracle Open Office Draw : Gallery;hiding/showing +Oracle Open Office Draw : Gallery;inserting pictures from +Oracle Open Office Draw : geometric forms +Oracle Open Office Draw : get method for form transmissions +Oracle Open Office Draw : getting support +Oracle Open Office Draw : GIF format +Oracle Open Office Draw : GIF images +Oracle Open Office Draw : GIF images;animating +Oracle Open Office Draw : GIF images;replacing colors +Oracle Open Office Draw : glossaries +Oracle Open Office Draw : glossaries;common terms +Oracle Open Office Draw : glossaries;Internet terms +Oracle Open Office Draw : glue points +Oracle Open Office Draw : glue points;using +Oracle Open Office Draw : gradients +Oracle Open Office Draw : gradients;applying and defining +Oracle Open Office Draw : gradients;defining colors +Oracle Open Office Draw : gradients;loading lists +Oracle Open Office Draw : gradients;transparent +Oracle Open Office Draw : gradients off for faster printing +Oracle Open Office Draw : graphic objects, see draw objects +Oracle Open Office Draw : graphical text art +Oracle Open Office Draw : graphics +Oracle Open Office Draw : graphics;cache +Oracle Open Office Draw : graphics;protecting +Oracle Open Office Draw : graphics, see also pictures +Oracle Open Office Draw : grayscale display +Oracle Open Office Draw : grayscale printing +Oracle Open Office Draw : grid controls +Oracle Open Office Draw : grid controls;form functions +Oracle Open Office Draw : grids +Oracle Open Office Draw : grids;defaults (Writer/Calc) +Oracle Open Office Draw : grids;display options (Impress/Draw) +Oracle Open Office Draw : grids;displaying lines (Calc) +Oracle Open Office Draw : grids;formatting axes +Oracle Open Office Draw : grids;inserting in charts +Oracle Open Office Draw : group box creation +Oracle Open Office Draw : grouping +Oracle Open Office Draw : grouping;draw objects +Oracle Open Office Draw : groups +Oracle Open Office Draw : groups;entering/exiting/ungrouping +Oracle Open Office Draw : groups;naming +Oracle Open Office Draw : groups;of controls +Oracle Open Office Draw : guides +Oracle Open Office Draw : guides;display options (Impress/Draw) +Oracle Open Office Draw : guides;displaying when moving objects (Impress) +Oracle Open Office Draw : guides;editing +Oracle Open Office Draw : guides;inserting +Oracle Open Office Draw : guides;show snap lines icon +Oracle Open Office Draw : guides;showing (Calc) +Oracle Open Office Draw : guides;showing when moving frames (Writer) +Oracle Open Office Draw : gutter +Oracle Open Office Draw : half-spheres +Oracle Open Office Draw : hand icon for moving slides +Oracle Open Office Draw : handles +Oracle Open Office Draw : handles;displaying (Writer) +Oracle Open Office Draw : handles;large +Oracle Open Office Draw : handles;scaling +Oracle Open Office Draw : handles;showing simple/large handles (Calc) +Oracle Open Office Draw : handles;simple +Oracle Open Office Draw : handout printing +Oracle Open Office Draw : Hangul/Hanja +Oracle Open Office Draw : hatching +Oracle Open Office Draw : hatching +Oracle Open Office Draw : hatching;loading lists +Oracle Open Office Draw : headers +Oracle Open Office Draw : headers;backgrounds +Oracle Open Office Draw : headers and footers +Oracle Open Office Draw : headers and footers;master layouts +Oracle Open Office Draw : headers and footers;slide masters +Oracle Open Office Draw : headers and footers;slides +Oracle Open Office Draw : headings +Oracle Open Office Draw : headings;entering as text box +Oracle Open Office Draw : Hebrew +Oracle Open Office Draw : Hebrew;entering text +Oracle Open Office Draw : Hebrew;language settings +Oracle Open Office Draw : Help +Oracle Open Office Draw : Help;bookmarks +Oracle Open Office Draw : Help;extended tips on/off +Oracle Open Office Draw : Help;full-text search +Oracle Open Office Draw : Help;Help tips +Oracle Open Office Draw : Help;keywords +Oracle Open Office Draw : Help;navigation pane showing/hiding +Oracle Open Office Draw : Help;style sheets +Oracle Open Office Draw : Help;topics +Oracle Open Office Draw : Help Agent +Oracle Open Office Draw : Help Agent;help +Oracle Open Office Draw : Help Agent;options +Oracle Open Office Draw : Help tips +Oracle Open Office Draw : Help tips;hiding +Oracle Open Office Draw : hidden controls in Form Navigator +Oracle Open Office Draw : hidden fields display (Writer) +Oracle Open Office Draw : hidden pages +Oracle Open Office Draw : hidden pages;printing in presentations +Oracle Open Office Draw : hidden pages;showing +Oracle Open Office Draw : hidden text +Oracle Open Office Draw : hidden text;showing (Writer) +Oracle Open Office Draw : hiding +Oracle Open Office Draw : hiding;changes +Oracle Open Office Draw : hiding;chart legends +Oracle Open Office Draw : hiding;docked windows +Oracle Open Office Draw : hiding;layers +Oracle Open Office Draw : hiding;levels +Oracle Open Office Draw : hiding;navigation pane in Help window +Oracle Open Office Draw : hiding;slides +Oracle Open Office Draw : hiding;subpoints +Oracle Open Office Draw : high contrast mode +Oracle Open Office Draw : Hindi +Oracle Open Office Draw : Hindi;entering text +Oracle Open Office Draw : Hindi;language settings +Oracle Open Office Draw : horizontal scrollbars (Writer) +Oracle Open Office Draw : hot spots in flowcharts +Oracle Open Office Draw : hotspots +Oracle Open Office Draw : HowTos for charts +Oracle Open Office Draw : Howtos for Draw +Oracle Open Office Draw : HTML +Oracle Open Office Draw : HTML;definition +Oracle Open Office Draw : HTML;export character set +Oracle Open Office Draw : HTML;exporting from presentations +Oracle Open Office Draw : HTML;fonts for source display +Oracle Open Office Draw : HTML;importing into presentations +Oracle Open Office Draw : HTML;importing META tags +Oracle Open Office Draw : HTML;inserting files +Oracle Open Office Draw : HTML;live presentations +Oracle Open Office Draw : HTML documents +Oracle Open Office Draw : HTML documents;auto reloading +Oracle Open Office Draw : HTML documents;importing/exporting +Oracle Open Office Draw : HTML documents;META tags in +Oracle Open Office Draw : HTML documents;new +Oracle Open Office Draw : HTML documents;source text +Oracle Open Office Draw : hyperlinks +Oracle Open Office Draw : hyperlinks;assigning macros +Oracle Open Office Draw : hyperlinks;character formats +Oracle Open Office Draw : hyperlinks;definition +Oracle Open Office Draw : hyperlinks;deleting +Oracle Open Office Draw : hyperlinks;editing +Oracle Open Office Draw : hyperlinks;inserting +Oracle Open Office Draw : hyperlinks;relative and absolute +Oracle Open Office Draw : hyperlinks;turning off automatic recognition +Oracle Open Office Draw : hyperlinks, see also links +Oracle Open Office Draw : hyphenation +Oracle Open Office Draw : hyphenation;activating for a language +Oracle Open Office Draw : hyphenation;minimal number of characters +Oracle Open Office Draw : hyphens +Oracle Open Office Draw : hyphens;displaying custom (Writer) +Oracle Open Office Draw : hyphens;inserting custom +Oracle Open Office Draw : icon bars, see toolbars +Oracle Open Office Draw : icon sizes +Oracle Open Office Draw : ignore list for spellcheck +Oracle Open Office Draw : illumination +Oracle Open Office Draw : illumination;3D charts +Oracle Open Office Draw : illustrations, see pictures +Oracle Open Office Draw : image button creation +Oracle Open Office Draw : image control creation +Oracle Open Office Draw : ImageMap +Oracle Open Office Draw : ImageMap;definition +Oracle Open Office Draw : ImageMap;editor +Oracle Open Office Draw : images +Oracle Open Office Draw : images;ImageMap +Oracle Open Office Draw : images;inserting +Oracle Open Office Draw : images;inserting and editing bitmaps +Oracle Open Office Draw : images, see also pictures +Oracle Open Office Draw : IME +Oracle Open Office Draw : IME;definition +Oracle Open Office Draw : IME;showing/hiding +Oracle Open Office Draw : import filters +Oracle Open Office Draw : import restrictions for Microsoft Office +Oracle Open Office Draw : importing +Oracle Open Office Draw : importing;bitmaps +Oracle Open Office Draw : importing;compatibility settings for text import +Oracle Open Office Draw : importing;databases +Oracle Open Office Draw : importing;documents in other formats +Oracle Open Office Draw : importing;from XML +Oracle Open Office Draw : importing;HTML and text documents +Oracle Open Office Draw : importing;HTML with META tags +Oracle Open Office Draw : importing;Microsoft Office documents with VBA code +Oracle Open Office Draw : importing;presentations with HTML +Oracle Open Office Draw : importing;tables in text format +Oracle Open Office Draw : importing;templates +Oracle Open Office Draw : improvement program +Oracle Open Office Draw : in front of object command +Oracle Open Office Draw : inches +Oracle Open Office Draw : including spreadsheets +Oracle Open Office Draw : increasing sizes of views +Oracle Open Office Draw : Index tab in Help +Oracle Open Office Draw : indexes +Oracle Open Office Draw : indexes;backgrounds +Oracle Open Office Draw : indexes;showing/hiding Help index tab +Oracle Open Office Draw : indicator lines in text +Oracle Open Office Draw : inner joins (Base) +Oracle Open Office Draw : input method window +Oracle Open Office Draw : insert mode for entering text +Oracle Open Office Draw : inserting +Oracle Open Office Draw : inserting;3D objects +Oracle Open Office Draw : inserting;arrows +Oracle Open Office Draw : inserting;buttons in toolbars +Oracle Open Office Draw : inserting;callouts in presentations +Oracle Open Office Draw : inserting;cell ranges from spreadsheets +Oracle Open Office Draw : inserting;charts +Oracle Open Office Draw : inserting;clipboard options +Oracle Open Office Draw : inserting;columns +Oracle Open Office Draw : inserting;comments +Oracle Open Office Draw : inserting;data from text documents +Oracle Open Office Draw : inserting;datasource records in spreadsheets +Oracle Open Office Draw : inserting;drawings +Oracle Open Office Draw : inserting;ellipses +Oracle Open Office Draw : inserting;files +Oracle Open Office Draw : inserting;floating frames +Oracle Open Office Draw : inserting;Fontwork objects +Oracle Open Office Draw : inserting;form fields +Oracle Open Office Draw : inserting;headers/footers in all slides +Oracle Open Office Draw : inserting;hyperlinks +Oracle Open Office Draw : inserting;layers +Oracle Open Office Draw : inserting;line breaks in cells +Oracle Open Office Draw : inserting;lines +Oracle Open Office Draw : inserting;movies/sounds +Oracle Open Office Draw : inserting;new text tables defaults +Oracle Open Office Draw : inserting;objects from files +Oracle Open Office Draw : inserting;objects from Gallery +Oracle Open Office Draw : inserting;OLE objects +Oracle Open Office Draw : inserting;paragraph borders +Oracle Open Office Draw : inserting;paragraph bullets +Oracle Open Office Draw : inserting;pictures +Oracle Open Office Draw : inserting;pictures in Gallery +Oracle Open Office Draw : inserting;plug-ins +Oracle Open Office Draw : inserting;polygons +Oracle Open Office Draw : inserting;push buttons +Oracle Open Office Draw : inserting;rectangles +Oracle Open Office Draw : inserting;rows +Oracle Open Office Draw : inserting;slides +Oracle Open Office Draw : inserting;slides as links +Oracle Open Office Draw : inserting;slides from files +Oracle Open Office Draw : inserting;special characters +Oracle Open Office Draw : inserting;tab stops +Oracle Open Office Draw : inserting;text frames +Oracle Open Office Draw : inserting;text in presentations +Oracle Open Office Draw : inserting;textures on chart bars +Oracle Open Office Draw : installing +Oracle Open Office Draw : installing;ActiveX control +Oracle Open Office Draw : installing;mobile device filters +Oracle Open Office Draw : installing;UNO components +Oracle Open Office Draw : installing;XML filters +Oracle Open Office Draw : instructions +Oracle Open Office Draw : instructions;general +Oracle Open Office Draw : instructions;Oracle Open Office Draw +Oracle Open Office Draw : instructions;Oracle Open Office Impress +Oracle Open Office Draw : interactions +Oracle Open Office Draw : interactions;hot spots +Oracle Open Office Draw : interactions;objects in interactive presentations +Oracle Open Office Draw : interactions;preview +Oracle Open Office Draw : Internet +Oracle Open Office Draw : Internet;checking for updates +Oracle Open Office Draw : Internet;Internet Explorer for displaying Oracle Open Office documents +Oracle Open Office Draw : Internet;presentations +Oracle Open Office Draw : Internet;starting searches +Oracle Open Office Draw : Internet glossary +Oracle Open Office Draw : intersecting draw objects +Oracle Open Office Draw : invert filter +Oracle Open Office Draw : invisible areas +Oracle Open Office Draw : italic text +Oracle Open Office Draw : iterative references in spreadsheets +Oracle Open Office Draw : Java +Oracle Open Office Draw : Java;definition +Oracle Open Office Draw : Java;setting options +Oracle Open Office Draw : JDBC +Oracle Open Office Draw : JDBC;databases (Base) +Oracle Open Office Draw : JDBC;definition +Oracle Open Office Draw : joining +Oracle Open Office Draw : joining;3D objects +Oracle Open Office Draw : joining;paragraphs +Oracle Open Office Draw : joining;tables (Base) +Oracle Open Office Draw : joins in databases (Base) +Oracle Open Office Draw : justifying text +Oracle Open Office Draw : kerning +Oracle Open Office Draw : kerning;Asian texts +Oracle Open Office Draw : kerning;definition +Oracle Open Office Draw : kerning;in characters +Oracle Open Office Draw : key fields for relations (Base) +Oracle Open Office Draw : keyboard +Oracle Open Office Draw : keyboard;assigning/editing shortcut keys +Oracle Open Office Draw : keyboard;general commands +Oracle Open Office Draw : keyboard;removing numbering +Oracle Open Office Draw : keyboard;zooming +Oracle Open Office Draw : keys +Oracle Open Office Draw : keys;adding push buttons +Oracle Open Office Draw : keys;primary keys (Base) +Oracle Open Office Draw : kiosk export +Oracle Open Office Draw : labels +Oracle Open Office Draw : labels;creating and synchronizing +Oracle Open Office Draw : labels;for charts +Oracle Open Office Draw : labels;for draw objects +Oracle Open Office Draw : labels;form functions +Oracle Open Office Draw : labels;from databases +Oracle Open Office Draw : labels, see also names/callouts +Oracle Open Office Draw : languages +Oracle Open Office Draw : languages;activating modules +Oracle Open Office Draw : languages;Asian support +Oracle Open Office Draw : languages;complex text layout +Oracle Open Office Draw : languages;locale settings +Oracle Open Office Draw : languages;selecting for text +Oracle Open Office Draw : languages;setting options +Oracle Open Office Draw : languages;spellcheck +Oracle Open Office Draw : languages;spellchecking and formatting +Oracle Open Office Draw : large handles (Writer) +Oracle Open Office Draw : large icons +Oracle Open Office Draw : layer arrangement +Oracle Open Office Draw : layers +Oracle Open Office Draw : layers;definition +Oracle Open Office Draw : layers;deleting +Oracle Open Office Draw : layers;inserting and editing +Oracle Open Office Draw : layers;moving objects +Oracle Open Office Draw : layers;renaming +Oracle Open Office Draw : layers;working with +Oracle Open Office Draw : layout +Oracle Open Office Draw : layout;importing Word documents +Oracle Open Office Draw : layout;pages +Oracle Open Office Draw : layout;printing handouts +Oracle Open Office Draw : LDAP server +Oracle Open Office Draw : LDAP server;address books (Base) +Oracle Open Office Draw : LDAP server;sign on options +Oracle Open Office Draw : leading between paragraphs +Oracle Open Office Draw : left alignment of paragraphs +Oracle Open Office Draw : left joins (Base) +Oracle Open Office Draw : legends +Oracle Open Office Draw : legends;charts +Oracle Open Office Draw : legends;draw objects +Oracle Open Office Draw : legends;drawings +Oracle Open Office Draw : legends;rounding corners +Oracle Open Office Draw : Letter Wizard +Oracle Open Office Draw : levels +Oracle Open Office Draw : levels;depth stagger +Oracle Open Office Draw : levels;hiding +Oracle Open Office Draw : levels;macro security +Oracle Open Office Draw : levels;showing +Oracle Open Office Draw : limits of tables (Writer) +Oracle Open Office Draw : line breaks +Oracle Open Office Draw : line breaks;in cells +Oracle Open Office Draw : line charts +Oracle Open Office Draw : line spacing +Oracle Open Office Draw : line spacing;context menu in paragraphs +Oracle Open Office Draw : line spacing;paragraph +Oracle Open Office Draw : line styles +Oracle Open Office Draw : line styles;applying +Oracle Open Office Draw : line styles;defining +Oracle Open Office Draw : line styles;loading +Oracle Open Office Draw : lines +Oracle Open Office Draw : lines;about line ends +Oracle Open Office Draw : lines;connecting objects +Oracle Open Office Draw : lines;defining ends +Oracle Open Office Draw : lines;draw functions +Oracle Open Office Draw : lines;drawing +Oracle Open Office Draw : lines;drawing in text +Oracle Open Office Draw : lines;editing points +Oracle Open Office Draw : lines;inserting +Oracle Open Office Draw : lines;removing automatic lines +Oracle Open Office Draw : lines of text +Oracle Open Office Draw : lines of text;alignment +Oracle Open Office Draw : links +Oracle Open Office Draw : links;between cells and controls +Oracle Open Office Draw : links;by drag and drop +Oracle Open Office Draw : links;character formats +Oracle Open Office Draw : links;definition +Oracle Open Office Draw : links;editing hyperlinks +Oracle Open Office Draw : links;inserting +Oracle Open Office Draw : links;modifying +Oracle Open Office Draw : links;opening files with +Oracle Open Office Draw : links;relational databases (Base) +Oracle Open Office Draw : links;turning off automatic recognition +Oracle Open Office Draw : links;updating options (Writer) +Oracle Open Office Draw : links;updating specific links +Oracle Open Office Draw : list box creation +Oracle Open Office Draw : lists +Oracle Open Office Draw : lists;animations +Oracle Open Office Draw : lists;data assigned to controls +Oracle Open Office Draw : lists;registered databases (Base) +Oracle Open Office Draw : lists;regular expressions +Oracle Open Office Draw : live presentations on the Internet +Oracle Open Office Draw : loading +Oracle Open Office Draw : loading;arrow and line styles +Oracle Open Office Draw : loading;colors/gradients/hatchings +Oracle Open Office Draw : loading;documents +Oracle Open Office Draw : loading;documents from other formats +Oracle Open Office Draw : loading;HTML documents, automatically +Oracle Open Office Draw : loading;Microsoft Office documents with VBA code +Oracle Open Office Draw : loading;reloading +Oracle Open Office Draw : loading;XML files +Oracle Open Office Draw : locale settings +Oracle Open Office Draw : locking layers +Oracle Open Office Draw : logarithmic scaling along axes +Oracle Open Office Draw : lowercase letters +Oracle Open Office Draw : lowercase letters;font effects +Oracle Open Office Draw : Macro Wizard (Base) +Oracle Open Office Draw : Macromedia Flash export +Oracle Open Office Draw : macros +Oracle Open Office Draw : macros;assigning to events in forms +Oracle Open Office Draw : macros;attaching new (Base) +Oracle Open Office Draw : macros;in MS Office documents +Oracle Open Office Draw : macros;interrupting +Oracle Open Office Draw : macros;organizing +Oracle Open Office Draw : macros;recording +Oracle Open Office Draw : macros;running in presentations +Oracle Open Office Draw : macros;security +Oracle Open Office Draw : macros;security levels +Oracle Open Office Draw : macros;security warning dialog +Oracle Open Office Draw : macros;selecting security warnings +Oracle Open Office Draw : magnetic lines in presentations +Oracle Open Office Draw : magnifiers +Oracle Open Office Draw : margins +Oracle Open Office Draw : margins;pages +Oracle Open Office Draw : margins;setting with the mouse +Oracle Open Office Draw : margins;shadows +Oracle Open Office Draw : marking changes +Oracle Open Office Draw : marking, see selecting +Oracle Open Office Draw : master layouts with headers and footers +Oracle Open Office Draw : master pages, see slide masters +Oracle Open Office Draw : master views +Oracle Open Office Draw : Math formula editor +Oracle Open Office Draw : mean value lines in charts +Oracle Open Office Draw : measurement units +Oracle Open Office Draw : measurement units;changing on rulers +Oracle Open Office Draw : measurement units;converting +Oracle Open Office Draw : measurement units;selecting +Oracle Open Office Draw : Media Player window +Oracle Open Office Draw : menus +Oracle Open Office Draw : menus;activating context menus +Oracle Open Office Draw : menus;assigning macros +Oracle Open Office Draw : menus;customizing +Oracle Open Office Draw : merging +Oracle Open Office Draw : merging;documents +Oracle Open Office Draw : merging;draw objects +Oracle Open Office Draw : META tags +Oracle Open Office Draw : metafiles +Oracle Open Office Draw : metafiles;converting to +Oracle Open Office Draw : metafiles;replacing colors +Oracle Open Office Draw : metrics +Oracle Open Office Draw : metrics;converting +Oracle Open Office Draw : metrics;document formatting (Writer) +Oracle Open Office Draw : metrics;in sheets +Oracle Open Office Draw : Microsoft Office +Oracle Open Office Draw : Microsoft Office;Access databases (base) +Oracle Open Office Draw : Microsoft Office;as default file format +Oracle Open Office Draw : Microsoft Office;document import restrictions +Oracle Open Office Draw : Microsoft Office;feature comparisons +Oracle Open Office Draw : Microsoft Office;importing password protected files +Oracle Open Office Draw : Microsoft Office;importing Word documents +Oracle Open Office Draw : Microsoft Office;importing/exporting VBA code +Oracle Open Office Draw : Microsoft Office;new users information +Oracle Open Office Draw : Microsoft Office;opening Microsoft documents +Oracle Open Office Draw : Microsoft Office;reassigning document types +Oracle Open Office Draw : migrating macros (Base) +Oracle Open Office Draw : mirroring objects +Oracle Open Office Draw : mobile device filters +Oracle Open Office Draw : models in XForms +Oracle Open Office Draw : modifying, see changing +Oracle Open Office Draw : more controls +Oracle Open Office Draw : mosaic filter +Oracle Open Office Draw : motion paths +Oracle Open Office Draw : mouse +Oracle Open Office Draw : mouse;pointers when using drag and drop +Oracle Open Office Draw : mouse;positioning +Oracle Open Office Draw : movies +Oracle Open Office Draw : moving +Oracle Open Office Draw : moving;between layers +Oracle Open Office Draw : moving;objects in slides +Oracle Open Office Draw : moving;tab stops on ruler +Oracle Open Office Draw : moving;toolbars +Oracle Open Office Draw : moving;using guide lines in presentations +Oracle Open Office Draw : MS ADO interface (Base) +Oracle Open Office Draw : multi-line titles in forms +Oracle Open Office Draw : multiple documents +Oracle Open Office Draw : multiple documents;opening +Oracle Open Office Draw : multiple monitors +Oracle Open Office Draw : multiple selection +Oracle Open Office Draw : multiplying draw objects +Oracle Open Office Draw : music +Oracle Open Office Draw : My Documents folder +Oracle Open Office Draw : My Documents folder;changing work directory +Oracle Open Office Draw : My Documents folder;opening +Oracle Open Office Draw : MySQL databases (Base) +Oracle Open Office Draw : names +Oracle Open Office Draw : names;multi-line titles +Oracle Open Office Draw : names;objects +Oracle Open Office Draw : names, see also labels/callouts +Oracle Open Office Draw : namespace organization in XForms +Oracle Open Office Draw : native SQL (Base) +Oracle Open Office Draw : navigating +Oracle Open Office Draw : navigating;in documents +Oracle Open Office Draw : Navigation bar +Oracle Open Office Draw : Navigation bar;controls +Oracle Open Office Draw : Navigation bar;forms +Oracle Open Office Draw : Navigator +Oracle Open Office Draw : Navigator;comments +Oracle Open Office Draw : Navigator;contents as lists +Oracle Open Office Draw : Navigator;docking +Oracle Open Office Draw : Navigator;presentations +Oracle Open Office Draw : Navigator;working with +Oracle Open Office Draw : net charts +Oracle Open Office Draw : network identity options +Oracle Open Office Draw : new databases +Oracle Open Office Draw : new documents +Oracle Open Office Draw : new lines in cells +Oracle Open Office Draw : new windows +Oracle Open Office Draw : non-breaking dashes +Oracle Open Office Draw : non-breaking spaces (Writer) +Oracle Open Office Draw : non-printing characters (Writer) +Oracle Open Office Draw : normal view +Oracle Open Office Draw : normal view;backgrounds +Oracle Open Office Draw : normal view;presentations +Oracle Open Office Draw : notes +Oracle Open Office Draw : notes;adding to slides +Oracle Open Office Draw : notes;default formatting +Oracle Open Office Draw : notes;printing in presentations +Oracle Open Office Draw : number formats +Oracle Open Office Draw : number formats;codes +Oracle Open Office Draw : number formats;formats +Oracle Open Office Draw : number formats;recognition in text tables +Oracle Open Office Draw : number of pages +Oracle Open Office Draw : number of sheets +Oracle Open Office Draw : number of tables +Oracle Open Office Draw : numbering +Oracle Open Office Draw : numbering;options +Oracle Open Office Draw : numbering;turning off +Oracle Open Office Draw : numbering;using automatically +Oracle Open Office Draw : numbers +Oracle Open Office Draw : numbers;date, time and currency formats +Oracle Open Office Draw : numerical fields in forms +Oracle Open Office Draw : object bars +Oracle Open Office Draw : object bars;editing glue points +Oracle Open Office Draw : objects +Oracle Open Office Draw : objects;aligning +Oracle Open Office Draw : objects;always moveable (Impress/Draw) +Oracle Open Office Draw : objects;arranging within stacks +Oracle Open Office Draw : objects;behind object command +Oracle Open Office Draw : objects;breaking connections +Oracle Open Office Draw : objects;copying when moving in presentations +Oracle Open Office Draw : objects;definition +Oracle Open Office Draw : objects;displaying in spreadsheets +Oracle Open Office Draw : objects;displaying in text documents +Oracle Open Office Draw : objects;editing +Oracle Open Office Draw : objects;effects +Oracle Open Office Draw : objects;in front of object command +Oracle Open Office Draw : objects;inserting from files +Oracle Open Office Draw : objects;inserting from Gallery +Oracle Open Office Draw : objects;inserting OLE objects +Oracle Open Office Draw : objects;moving along paths +Oracle Open Office Draw : objects;moving and resizing with mouse +Oracle Open Office Draw : objects;moving in layers +Oracle Open Office Draw : objects;moving in slides +Oracle Open Office Draw : objects;naming +Oracle Open Office Draw : objects;opening +Oracle Open Office Draw : objects;properties of charts +Oracle Open Office Draw : objects;quickly moving to +Oracle Open Office Draw : objects;reversing +Oracle Open Office Draw : objects;selecting +Oracle Open Office Draw : objects;titles and descriptions +Oracle Open Office Draw : objects;with attributes +Oracle Open Office Draw : ODBC +Oracle Open Office Draw : ODBC;database (Base) +Oracle Open Office Draw : ODBC;definition +Oracle Open Office Draw : ODF file formats +Oracle Open Office Draw : Office +Oracle Open Office Draw : Office;Microsoft Office and Oracle Open Office +Oracle Open Office Draw : OLE +Oracle Open Office Draw : OLE;definition +Oracle Open Office Draw : OLE objects +Oracle Open Office Draw : OLE objects;arranging within stacks +Oracle Open Office Draw : OLE objects;captions (Writer) +Oracle Open Office Draw : OLE objects;inserting +Oracle Open Office Draw : OLE objects;number of +Oracle Open Office Draw : OLE objects;protecting +Oracle Open Office Draw : one and a half line spacing in text +Oracle Open Office Draw : online feedback options +Oracle Open Office Draw : online registration +Oracle Open Office Draw : online update options +Oracle Open Office Draw : online updates +Oracle Open Office Draw : online updates;checking automatically +Oracle Open Office Draw : online updates;checking manually +Oracle Open Office Draw : OpenDocument file formats +Oracle Open Office Draw : OpenGL +Oracle Open Office Draw : OpenGL;definition +Oracle Open Office Draw : opening +Oracle Open Office Draw : opening;context menus +Oracle Open Office Draw : opening;database files +Oracle Open Office Draw : opening;dialog settings +Oracle Open Office Draw : opening;documents +Oracle Open Office Draw : opening;documents from other formats +Oracle Open Office Draw : opening;documents on WebDAV server +Oracle Open Office Draw : opening;files with links +Oracle Open Office Draw : opening;files, with placeholders +Oracle Open Office Draw : opening;forms +Oracle Open Office Draw : opening;Microsoft Office files +Oracle Open Office Draw : opening;mobile device documents +Oracle Open Office Draw : opening;objects +Oracle Open Office Draw : opening;reports +Oracle Open Office Draw : opening;several files +Oracle Open Office Draw : opening;XForms +Oracle Open Office Draw : operators +Oracle Open Office Draw : operators;default filters +Oracle Open Office Draw : optional hyphens (Writer) +Oracle Open Office Draw : options +Oracle Open Office Draw : options;accessibility +Oracle Open Office Draw : options;appearance +Oracle Open Office Draw : options;compatibility (Writer) +Oracle Open Office Draw : options;improvement program +Oracle Open Office Draw : options;network identity +Oracle Open Office Draw : options;online update +Oracle Open Office Draw : options;tools +Oracle Open Office Draw : Oracle databases (base) +Oracle Open Office Draw : Oracle Open Office Base data sources +Oracle Open Office Draw : Oracle Open Office Basic scripts in HTML documents +Oracle Open Office Draw : Oracle Open Office documents +Oracle Open Office Draw : Oracle Open Office documents;mobile device filters +Oracle Open Office Draw : Oracle Open Office documents;viewing and editing in Internet Explorer +Oracle Open Office Draw : Oracle Open Office Impress instructions +Oracle Open Office Draw : Oracle Open Office Math start +Oracle Open Office Draw : order of chart data +Oracle Open Office Draw : ordering +Oracle Open Office Draw : ordering;objects +Oracle Open Office Draw : ordering;slides +Oracle Open Office Draw : ordinal numbers +Oracle Open Office Draw : ordinal numbers;replacing +Oracle Open Office Draw : organization charts +Oracle Open Office Draw : organizing +Oracle Open Office Draw : organizing;macros and scripts +Oracle Open Office Draw : organizing;namespaces in XForms +Oracle Open Office Draw : organizing;styles +Oracle Open Office Draw : organizing;templates +Oracle Open Office Draw : origin of rulers +Oracle Open Office Draw : original size +Oracle Open Office Draw : original size;printing in Oracle Open Office Math +Oracle Open Office Draw : original size;restoring after cropping +Oracle Open Office Draw : outline view +Oracle Open Office Draw : outlines +Oracle Open Office Draw : outlines;font effects +Oracle Open Office Draw : outlines;outline symbols +Oracle Open Office Draw : outlines;printing +Oracle Open Office Draw : outlines;sending to presentations +Oracle Open Office Draw : overwrite mode +Oracle Open Office Draw : packages, see extensions +Oracle Open Office Draw : page breaks +Oracle Open Office Draw : page breaks;displaying (Calc) +Oracle Open Office Draw : page formats +Oracle Open Office Draw : page formats;maximizing +Oracle Open Office Draw : page formats;restriction +Oracle Open Office Draw : page number field +Oracle Open Office Draw : page numbers on all slides +Oracle Open Office Draw : page styles +Oracle Open Office Draw : page styles;editing/applying with statusbar +Oracle Open Office Draw : pages +Oracle Open Office Draw : pages;backgrounds in all applications +Oracle Open Office Draw : pages;copying +Oracle Open Office Draw : pages;fitting to printed pages +Oracle Open Office Draw : pages;formatting and numbering +Oracle Open Office Draw : pages;printing page names in presentations +Oracle Open Office Draw : pages;scaling +Oracle Open Office Draw : pages;selecting one to print +Oracle Open Office Draw : paint box +Oracle Open Office Draw : paint can symbol +Oracle Open Office Draw : pair kerning +Oracle Open Office Draw : Palm file filters +Oracle Open Office Draw : paper formats +Oracle Open Office Draw : paper size warning +Oracle Open Office Draw : paper trays +Oracle Open Office Draw : paragraph marks +Oracle Open Office Draw : paragraph marks;displaying (Writer) +Oracle Open Office Draw : paragraph styles +Oracle Open Office Draw : paragraph styles;languages +Oracle Open Office Draw : paragraph styles;modifying basic fonts +Oracle Open Office Draw : paragraphs +Oracle Open Office Draw : paragraphs;alignment +Oracle Open Office Draw : paragraphs;Asian typography +Oracle Open Office Draw : paragraphs;defining borders +Oracle Open Office Draw : paragraphs;hidden paragraphs (Writer) +Oracle Open Office Draw : paragraphs;increasing indents of +Oracle Open Office Draw : paragraphs;indents, margins and columns +Oracle Open Office Draw : paragraphs;inserting bullets +Oracle Open Office Draw : paragraphs;joining +Oracle Open Office Draw : paragraphs;numbering automatically +Oracle Open Office Draw : paragraphs;removing blank ones +Oracle Open Office Draw : paragraphs;spacing +Oracle Open Office Draw : paragraphs;tab stops +Oracle Open Office Draw : parameters +Oracle Open Office Draw : parameters;command line +Oracle Open Office Draw : parameters;queries (Base) +Oracle Open Office Draw : passwords for protecting contents +Oracle Open Office Draw : pasting +Oracle Open Office Draw : pasting;cell ranges +Oracle Open Office Draw : pasting;cell ranges from spreadsheets +Oracle Open Office Draw : pasting;data from text documents +Oracle Open Office Draw : pasting;draw objects +Oracle Open Office Draw : pasting;draw objects from other documents +Oracle Open Office Draw : pasting;formatted/unformatted text +Oracle Open Office Draw : pasting;from data source view +Oracle Open Office Draw : pasting;from data sources to Oracle Open Office Calc +Oracle Open Office Draw : pasting;pictures from other documents +Oracle Open Office Draw : pasting;sheet areas in text documents +Oracle Open Office Draw : pasting;slides from other presentations +Oracle Open Office Draw : pasting;text from other documents +Oracle Open Office Draw : pasting;to Gallery +Oracle Open Office Draw : paths +Oracle Open Office Draw : paths;changing work directory +Oracle Open Office Draw : paths;defaults +Oracle Open Office Draw : paths;moving objects along +Oracle Open Office Draw : pattern editor +Oracle Open Office Draw : pattern fields +Oracle Open Office Draw : pattern fields;form functions +Oracle Open Office Draw : patterns for objects +Oracle Open Office Draw : PDF +Oracle Open Office Draw : PDF;export +Oracle Open Office Draw : PDF;PostScript to PDF converter, UNIX +Oracle Open Office Draw : personal data input +Oracle Open Office Draw : phonetic guide +Oracle Open Office Draw : picklist creation +Oracle Open Office Draw : pictures +Oracle Open Office Draw : pictures;adding to Gallery +Oracle Open Office Draw : pictures;arranging within stacks +Oracle Open Office Draw : pictures;assigning macros +Oracle Open Office Draw : pictures;backgrounds +Oracle Open Office Draw : pictures;captions (Writer) +Oracle Open Office Draw : pictures;changing paths +Oracle Open Office Draw : pictures;cropping and zooming +Oracle Open Office Draw : pictures;displaying in Calc +Oracle Open Office Draw : pictures;displaying in Writer (Writer) +Oracle Open Office Draw : pictures;drag and drop between documents +Oracle Open Office Draw : pictures;drawing +Oracle Open Office Draw : pictures;editing +Oracle Open Office Draw : pictures;filters +Oracle Open Office Draw : pictures;ImageMap +Oracle Open Office Draw : pictures;inserting +Oracle Open Office Draw : pictures;inserting automatically +Oracle Open Office Draw : pictures;inserting from Gallery +Oracle Open Office Draw : pictures;number of +Oracle Open Office Draw : pictures;printing +Oracle Open Office Draw : pictures;scaling/resizing +Oracle Open Office Draw : pie charts +Oracle Open Office Draw : pie charts;options +Oracle Open Office Draw : pie charts;types +Oracle Open Office Draw : pivot points of draw objects +Oracle Open Office Draw : pixel editor +Oracle Open Office Draw : pixel graphics +Oracle Open Office Draw : pixel graphics;inserting and editing +Oracle Open Office Draw : pixel patterns +Oracle Open Office Draw : placeholders +Oracle Open Office Draw : placeholders;in SQL queries +Oracle Open Office Draw : placeholders;on opening files +Oracle Open Office Draw : placing toolbars +Oracle Open Office Draw : playing movies and sound files +Oracle Open Office Draw : plotting data as charts +Oracle Open Office Draw : plug-ins +Oracle Open Office Draw : plug-ins;activating and deactivating +Oracle Open Office Draw : plug-ins;definition +Oracle Open Office Draw : plug-ins;inserting +Oracle Open Office Draw : pocket device appliances +Oracle Open Office Draw : Pocket PC file filters +Oracle Open Office Draw : points +Oracle Open Office Draw : points;adding/converting/deleting +Oracle Open Office Draw : points;reducing editing points when snapping (Impress/Draw) +Oracle Open Office Draw : polygon drawing +Oracle Open Office Draw : polygons +Oracle Open Office Draw : polygons;inserting +Oracle Open Office Draw : polygons;intersecting/subtracting/merging +Oracle Open Office Draw : pop-art filter +Oracle Open Office Draw : portable document format +Oracle Open Office Draw : positioning +Oracle Open Office Draw : positioning;axes +Oracle Open Office Draw : positioning;draw objects and controls +Oracle Open Office Draw : positioning;fonts +Oracle Open Office Draw : positioning;objects +Oracle Open Office Draw : positioning;toolbars +Oracle Open Office Draw : post method for form transmissions +Oracle Open Office Draw : posterizing filter +Oracle Open Office Draw : PostScript +Oracle Open Office Draw : PostScript;creating files +Oracle Open Office Draw : PostScript;PDF converter, UNIX +Oracle Open Office Draw : PowerPoint export +Oracle Open Office Draw : precision as shown (Calc) +Oracle Open Office Draw : predefining fonts +Oracle Open Office Draw : predictive text, see also AutoCorrect function/AutoFill function/AutoInput function/word completion/text completion +Oracle Open Office Draw : presentations +Oracle Open Office Draw : presentations;arranging slides +Oracle Open Office Draw : presentations;creating/opening +Oracle Open Office Draw : presentations;exiting by interaction +Oracle Open Office Draw : presentations;exporting to HTML +Oracle Open Office Draw : presentations;importing HTML +Oracle Open Office Draw : presentations;inserting spreadsheet cells +Oracle Open Office Draw : presentations;inserting spreadsheets +Oracle Open Office Draw : presentations;live on the Internet +Oracle Open Office Draw : presentations;navigating +Oracle Open Office Draw : presentations;numbering slides in +Oracle Open Office Draw : presentations;ordering of effects +Oracle Open Office Draw : presentations;print menu +Oracle Open Office Draw : presentations;printing +Oracle Open Office Draw : presentations;rehearse timings +Oracle Open Office Draw : presentations;saving +Oracle Open Office Draw : presentations;saving automatically +Oracle Open Office Draw : presentations;saving in other formats +Oracle Open Office Draw : presentations;sending as e-mail +Oracle Open Office Draw : presentations;settings for +Oracle Open Office Draw : presentations;shortcut keys +Oracle Open Office Draw : presentations;starting +Oracle Open Office Draw : presentations;starting with wizard +Oracle Open Office Draw : presentations;window / full screen +Oracle Open Office Draw : presentations;wizards +Oracle Open Office Draw : Presenter Console shortcuts +Oracle Open Office Draw : press buttons, see push buttons +Oracle Open Office Draw : previews +Oracle Open Office Draw : previews;fonts lists +Oracle Open Office Draw : primary keys +Oracle Open Office Draw : primary keys;defining +Oracle Open Office Draw : primary keys;design view +Oracle Open Office Draw : primary keys;inserting (Base) +Oracle Open Office Draw : print area selection +Oracle Open Office Draw : printer metrics for document formatting (Writer) +Oracle Open Office Draw : printers +Oracle Open Office Draw : printers;adding, UNIX +Oracle Open Office Draw : printers;choosing +Oracle Open Office Draw : printers;default printer +Oracle Open Office Draw : printers;faxes under UNIX +Oracle Open Office Draw : printers;maximum page formats +Oracle Open Office Draw : printers;paper trays +Oracle Open Office Draw : printers;properties +Oracle Open Office Draw : printing +Oracle Open Office Draw : printing;black and white +Oracle Open Office Draw : printing;brochures +Oracle Open Office Draw : printing;colors in grayscale +Oracle Open Office Draw : printing;comments +Oracle Open Office Draw : printing;copies +Oracle Open Office Draw : printing;creating individual jobs +Oracle Open Office Draw : printing;dates in presentations +Oracle Open Office Draw : printing;directly +Oracle Open Office Draw : printing;documents +Oracle Open Office Draw : printing;drawings defaults +Oracle Open Office Draw : printing;elements in text documents +Oracle Open Office Draw : printing;faster +Oracle Open Office Draw : printing;fitting to pages in Oracle Open Office Math +Oracle Open Office Draw : printing;fitting to pages in presentations +Oracle Open Office Draw : printing;fitting to paper +Oracle Open Office Draw : printing;formulas in Oracle Open Office Math +Oracle Open Office Draw : printing;hidden pages of presentations +Oracle Open Office Draw : printing;in original size in Oracle Open Office Math +Oracle Open Office Draw : printing;left/right pages +Oracle Open Office Draw : printing;presentations +Oracle Open Office Draw : printing;queries (Base) +Oracle Open Office Draw : printing;scaling in Oracle Open Office Math +Oracle Open Office Draw : printing;selections +Oracle Open Office Draw : printing;text always in black +Oracle Open Office Draw : printing;text in reverse order +Oracle Open Office Draw : printing;tiling pages in presentations +Oracle Open Office Draw : printing;transparencies +Oracle Open Office Draw : printing;warnings +Oracle Open Office Draw : printing;without scaling in presentations +Oracle Open Office Draw : printing speed +Oracle Open Office Draw : programming +Oracle Open Office Draw : programming;Oracle Open Office +Oracle Open Office Draw : programming;scripting +Oracle Open Office Draw : programs run by mouse click in presentations +Oracle Open Office Draw : properties +Oracle Open Office Draw : properties;charts +Oracle Open Office Draw : properties;fields in databases +Oracle Open Office Draw : properties;files +Oracle Open Office Draw : properties;form controls +Oracle Open Office Draw : properties;forms +Oracle Open Office Draw : properties;printers +Oracle Open Office Draw : properties;smooth lines in line charts/XY charts +Oracle Open Office Draw : protected contents +Oracle Open Office Draw : protected dashes +Oracle Open Office Draw : protected database tables +Oracle Open Office Draw : protected documents +Oracle Open Office Draw : protected spaces +Oracle Open Office Draw : protected spaces;inserting +Oracle Open Office Draw : protected spaces;showing (Writer) +Oracle Open Office Draw : protecting +Oracle Open Office Draw : protecting;contents +Oracle Open Office Draw : protecting;recorded changes +Oracle Open Office Draw : proxy settings +Oracle Open Office Draw : push buttons +Oracle Open Office Draw : push buttons;adding to documents +Oracle Open Office Draw : push buttons;creating +Oracle Open Office Draw : pyramids +Oracle Open Office Draw : queries +Oracle Open Office Draw : queries;copying (Base) +Oracle Open Office Draw : queries;creating in design view (Base) +Oracle Open Office Draw : queries;creating in SQL view +Oracle Open Office Draw : queries;defining (Base) +Oracle Open Office Draw : queries;deleting table links (Base) +Oracle Open Office Draw : queries;editing in data source view +Oracle Open Office Draw : queries;formulating filter conditions (Base) +Oracle Open Office Draw : queries;joining tables (Base) +Oracle Open Office Draw : queries;missing elements (Base) +Oracle Open Office Draw : queries;overview (Base) +Oracle Open Office Draw : queries;parameter queries (Base) +Oracle Open Office Draw : queries;printing (Base) +Oracle Open Office Draw : Query Wizard (Base) +Oracle Open Office Draw : Quickstarter +Oracle Open Office Draw : quotes +Oracle Open Office Draw : quotes;custom +Oracle Open Office Draw : radar charts, see net charts +Oracle Open Office Draw : radio button creation +Oracle Open Office Draw : read-only documents +Oracle Open Office Draw : read-only documents;cursor +Oracle Open Office Draw : read-only documents;database tables on/off +Oracle Open Office Draw : read-only documents;editing +Oracle Open Office Draw : read-only documents;opening documents as +Oracle Open Office Draw : read-only items in Data Navigator +Oracle Open Office Draw : recognizing URLs automatically +Oracle Open Office Draw : recording +Oracle Open Office Draw : recording;changes +Oracle Open Office Draw : recording;display times for slides +Oracle Open Office Draw : recording;macros +Oracle Open Office Draw : records +Oracle Open Office Draw : records;inserting comments +Oracle Open Office Draw : records;protecting +Oracle Open Office Draw : records;saving +Oracle Open Office Draw : records;searching in databases +Oracle Open Office Draw : rectangles +Oracle Open Office Draw : rectangles with round corners +Oracle Open Office Draw : recursions in spreadsheets +Oracle Open Office Draw : redo command +Oracle Open Office Draw : reduced printing +Oracle Open Office Draw : reference lines +Oracle Open Office Draw : references +Oracle Open Office Draw : references;displaying in color (Calc) +Oracle Open Office Draw : references;expanding (Calc) +Oracle Open Office Draw : references;iterative (Calc) +Oracle Open Office Draw : register-true +Oracle Open Office Draw : register-true;definition +Oracle Open Office Draw : registering +Oracle Open Office Draw : registering;address books +Oracle Open Office Draw : registering;databases (Base) +Oracle Open Office Draw : registering;Oracle Open Office +Oracle Open Office Draw : regression curves in charts +Oracle Open Office Draw : regular expressions +Oracle Open Office Draw : regular expressions;list of +Oracle Open Office Draw : rehearse timings +Oracle Open Office Draw : relational databases (Base) +Oracle Open Office Draw : relations +Oracle Open Office Draw : relations;creating and deleting (Base) +Oracle Open Office Draw : relations;joining tables (Base) +Oracle Open Office Draw : relations;properties (Base) +Oracle Open Office Draw : relative hyperlinks +Oracle Open Office Draw : relative saving of URLs +Oracle Open Office Draw : reloading +Oracle Open Office Draw : reloading;documents +Oracle Open Office Draw : reloading;HTML documents, automatically +Oracle Open Office Draw : remarks, see also comments +Oracle Open Office Draw : remote configurations +Oracle Open Office Draw : remove noise filter +Oracle Open Office Draw : removing +Oracle Open Office Draw : removing;bullets and numbering +Oracle Open Office Draw : removing;form filters +Oracle Open Office Draw : removing, see also deleting +Oracle Open Office Draw : renaming layers +Oracle Open Office Draw : reorganizing charts +Oracle Open Office Draw : repeating +Oracle Open Office Draw : repeating;commands +Oracle Open Office Draw : replacement options +Oracle Open Office Draw : replacement table +Oracle Open Office Draw : replacing +Oracle Open Office Draw : replacing;AutoCorrect function +Oracle Open Office Draw : replacing;colors in bitmaps +Oracle Open Office Draw : replacing;dashes +Oracle Open Office Draw : replacing;ordinal numbers +Oracle Open Office Draw : replacing;tab stops (regular expressions) +Oracle Open Office Draw : Report Builder +Oracle Open Office Draw : reports +Oracle Open Office Draw : reports;creating +Oracle Open Office Draw : reports;error reports +Oracle Open Office Draw : reports;opening and editing +Oracle Open Office Draw : reports;templates +Oracle Open Office Draw : resetting +Oracle Open Office Draw : resetting;templates +Oracle Open Office Draw : resizing +Oracle Open Office Draw : resizing;objects, by mouse +Oracle Open Office Draw : resizing, see also scaling/zooming +Oracle Open Office Draw : resolution when printing bitmaps +Oracle Open Office Draw : restoring +Oracle Open Office Draw : restoring;default formatting +Oracle Open Office Draw : restoring;editing +Oracle Open Office Draw : reversing objects +Oracle Open Office Draw : reversing printing order +Oracle Open Office Draw : review function +Oracle Open Office Draw : review function;accepting or rejecting changes +Oracle Open Office Draw : review function;comparing documents +Oracle Open Office Draw : review function;protecting records +Oracle Open Office Draw : review function;recording changes example +Oracle Open Office Draw : rich text control +Oracle Open Office Draw : right alignment of paragraphs +Oracle Open Office Draw : right joins (Base) +Oracle Open Office Draw : right-to-left text +Oracle Open Office Draw : rotating +Oracle Open Office Draw : rotating;3D text +Oracle Open Office Draw : rotating;draw objects +Oracle Open Office Draw : rotation mode +Oracle Open Office Draw : round corners +Oracle Open Office Draw : rounding precision (Calc) +Oracle Open Office Draw : row headers +Oracle Open Office Draw : row headers;displaying (Calc) +Oracle Open Office Draw : row headers;highlighting (Calc) +Oracle Open Office Draw : rows +Oracle Open Office Draw : rows;inserting +Oracle Open Office Draw : rulers +Oracle Open Office Draw : rulers;default settings +Oracle Open Office Draw : rulers;in presentations +Oracle Open Office Draw : rulers;measurement units +Oracle Open Office Draw : rulers;visible in presentations +Oracle Open Office Draw : running macros/programs in presentations +Oracle Open Office Draw : running slide shows +Oracle Open Office Draw : samples and templates +Oracle Open Office Draw : saving +Oracle Open Office Draw : saving;as HTML +Oracle Open Office Draw : saving;default file formats +Oracle Open Office Draw : saving;dialog settings +Oracle Open Office Draw : saving;documents +Oracle Open Office Draw : saving;documents for mobile devices +Oracle Open Office Draw : saving;documents in other formats +Oracle Open Office Draw : saving;documents, automatically +Oracle Open Office Draw : saving;in Microsoft Office file format +Oracle Open Office Draw : saving;options +Oracle Open Office Draw : saving;templates +Oracle Open Office Draw : saving;to XML +Oracle Open Office Draw : saving;VBA code in Microsoft Office documents +Oracle Open Office Draw : saving;with password by default +Oracle Open Office Draw : saving as command +Oracle Open Office Draw : saving as command;precautions +Oracle Open Office Draw : scaling +Oracle Open Office Draw : scaling;axes +Oracle Open Office Draw : scaling;font sizes in user interface +Oracle Open Office Draw : scaling;objects +Oracle Open Office Draw : scaling;pictures +Oracle Open Office Draw : scaling;printing in Oracle Open Office Math +Oracle Open Office Draw : scaling;text in charts +Oracle Open Office Draw : scaling;when printing presentations +Oracle Open Office Draw : scaling, see also zooming +Oracle Open Office Draw : scatter charts +Oracle Open Office Draw : screen +Oracle Open Office Draw : screen;full screen views +Oracle Open Office Draw : screen;scaling +Oracle Open Office Draw : screen magnifiers +Oracle Open Office Draw : screen readers +Oracle Open Office Draw : script organization +Oracle Open Office Draw : scrollbars +Oracle Open Office Draw : scrollbars;controls +Oracle Open Office Draw : scrollbars;displaying (Calc) +Oracle Open Office Draw : scrollbars;horizontal and vertical (Writer) +Oracle Open Office Draw : search criteria for database functions in cells +Oracle Open Office Draw : search engines +Oracle Open Office Draw : search engines;definition +Oracle Open Office Draw : search engines;selecting +Oracle Open Office Draw : searching +Oracle Open Office Draw : searching;all sheets +Oracle Open Office Draw : searching;databases +Oracle Open Office Draw : searching;form filters +Oracle Open Office Draw : searching;Internet +Oracle Open Office Draw : searching;tables and forms +Oracle Open Office Draw : secondary axes in charts +Oracle Open Office Draw : sections +Oracle Open Office Draw : sections;backgrounds +Oracle Open Office Draw : sectors of circles/ellipses +Oracle Open Office Draw : security +Oracle Open Office Draw : security;digital signatures +Oracle Open Office Draw : security;options for documents with macros +Oracle Open Office Draw : security;protecting contents +Oracle Open Office Draw : security;security levels for macros +Oracle Open Office Draw : security;warning dialogs with macros +Oracle Open Office Draw : segments of circles/ellipses +Oracle Open Office Draw : selecting +Oracle Open Office Draw : selecting;controls +Oracle Open Office Draw : selecting;hidden objects +Oracle Open Office Draw : selecting;layers +Oracle Open Office Draw : selecting;measurement units +Oracle Open Office Draw : selecting;objects +Oracle Open Office Draw : selecting;print areas +Oracle Open Office Draw : selecting;several files +Oracle Open Office Draw : selection clipboard +Oracle Open Office Draw : selection frames +Oracle Open Office Draw : selection modes in text +Oracle Open Office Draw : sending +Oracle Open Office Draw : sending;AutoAbstract function in presentations +Oracle Open Office Draw : sending;documents as e-mail +Oracle Open Office Draw : sending;documents as faxes +Oracle Open Office Draw : separator lines +Oracle Open Office Draw : separator lines;defining +Oracle Open Office Draw : separators +Oracle Open Office Draw : separators;conditional +Oracle Open Office Draw : Server Side ImageMap +Oracle Open Office Draw : settings +Oracle Open Office Draw : settings;printers +Oracle Open Office Draw : settings;program configuration +Oracle Open Office Draw : settings;proxies +Oracle Open Office Draw : settings;tracking changes +Oracle Open Office Draw : settings;views +Oracle Open Office Draw : SGML +Oracle Open Office Draw : SGML;definition +Oracle Open Office Draw : shadows +Oracle Open Office Draw : shadows;areas +Oracle Open Office Draw : shadows;borders +Oracle Open Office Draw : shadows;characters +Oracle Open Office Draw : shadows;characters, using context menu +Oracle Open Office Draw : sharing documents +Oracle Open Office Draw : sharpening filter +Oracle Open Office Draw : shearing objects +Oracle Open Office Draw : sheet tabs +Oracle Open Office Draw : sheet tabs;displaying +Oracle Open Office Draw : sheets +Oracle Open Office Draw : sheets;searching all +Oracle Open Office Draw : shells +Oracle Open Office Draw : shortcut keys +Oracle Open Office Draw : shortcut keys;assigning macros +Oracle Open Office Draw : shortcut keys;charts +Oracle Open Office Draw : shortcut keys;general +Oracle Open Office Draw : shortcut keys;in databases +Oracle Open Office Draw : shortcut keys;in drawings +Oracle Open Office Draw : shortcut keys;in presentations +Oracle Open Office Draw : shortcut keys;Oracle Open Office accessibility +Oracle Open Office Draw : showing +Oracle Open Office Draw : showing;changes +Oracle Open Office Draw : showing;docked windows +Oracle Open Office Draw : showing;drawings and controls (Writer) +Oracle Open Office Draw : showing;guides +Oracle Open Office Draw : showing;hidden layers +Oracle Open Office Draw : showing;hidden slides +Oracle Open Office Draw : showing;levels +Oracle Open Office Draw : showing;live presentations on the Internet +Oracle Open Office Draw : showing;slide shows +Oracle Open Office Draw : showing;subpoints +Oracle Open Office Draw : showing;toolbars +Oracle Open Office Draw : sign conversion to curves +Oracle Open Office Draw : signing documents with digital signatures +Oracle Open Office Draw : similarity search +Oracle Open Office Draw : simple handles (Writer) +Oracle Open Office Draw : simplified Chinese +Oracle Open Office Draw : simplified Chinese;translating to traditional Chinese +Oracle Open Office Draw : single sign on options +Oracle Open Office Draw : single-line spacing in text +Oracle Open Office Draw : sizes +Oracle Open Office Draw : sizes;draw objects +Oracle Open Office Draw : sizes;pictures +Oracle Open Office Draw : skewing draw objects +Oracle Open Office Draw : slanting draw objects +Oracle Open Office Draw : slanting objects +Oracle Open Office Draw : slide designs +Oracle Open Office Draw : slide layouts +Oracle Open Office Draw : slide master view +Oracle Open Office Draw : slide masters +Oracle Open Office Draw : slide masters;changing backgrounds +Oracle Open Office Draw : slide masters;designing +Oracle Open Office Draw : slide masters;headers and footers +Oracle Open Office Draw : slide numbers +Oracle Open Office Draw : slide numbers on all slides +Oracle Open Office Draw : slide shows +Oracle Open Office Draw : slide shows;custom +Oracle Open Office Draw : slide shows;settings for +Oracle Open Office Draw : slide shows;starting +Oracle Open Office Draw : slide transitions +Oracle Open Office Draw : slide transitions;applying effects +Oracle Open Office Draw : slide transitions;automatic +Oracle Open Office Draw : slide transitions;manual +Oracle Open Office Draw : slide transitions;sounds +Oracle Open Office Draw : slides +Oracle Open Office Draw : slides;arranging +Oracle Open Office Draw : slides;backgrounds +Oracle Open Office Draw : slides;changing backgrounds +Oracle Open Office Draw : slides;copying between documents +Oracle Open Office Draw : slides;deleting +Oracle Open Office Draw : slides;expanding +Oracle Open Office Draw : slides;formatting +Oracle Open Office Draw : slides;headers and footers +Oracle Open Office Draw : slides;inserting +Oracle Open Office Draw : slides;inserting as links +Oracle Open Office Draw : slides;inserting speaker notes +Oracle Open Office Draw : slides;page numbers +Oracle Open Office Draw : slides;printing +Oracle Open Office Draw : small capitals +Oracle Open Office Draw : small icons +Oracle Open Office Draw : smart tag configuration +Oracle Open Office Draw : smooth scrolling (Writer) +Oracle Open Office Draw : smoothing filter +Oracle Open Office Draw : snap grid defaults (Writer/Calc) +Oracle Open Office Draw : snap lines, see also guides +Oracle Open Office Draw : snap points +Oracle Open Office Draw : snap points;editing +Oracle Open Office Draw : snap points;inserting +Oracle Open Office Draw : snapping in presentations and drawings +Oracle Open Office Draw : solarization filter +Oracle Open Office Draw : sort lists +Oracle Open Office Draw : sort lists;copying to in Calc +Oracle Open Office Draw : sorting +Oracle Open Office Draw : sorting;data in forms +Oracle Open Office Draw : sorting;databases +Oracle Open Office Draw : sound files +Oracle Open Office Draw : sounds +Oracle Open Office Draw : sounds;for effects +Oracle Open Office Draw : sounds;formats +Oracle Open Office Draw : sounds;on slide transitions +Oracle Open Office Draw : spaces +Oracle Open Office Draw : spaces;displaying (Writer) +Oracle Open Office Draw : spaces;ignoring double +Oracle Open Office Draw : spaces;inserting protected spaces +Oracle Open Office Draw : spaces;showing protected spaces (Writer) +Oracle Open Office Draw : spacing +Oracle Open Office Draw : spacing;between paragraphs in footnotes +Oracle Open Office Draw : spacing;font effects +Oracle Open Office Draw : spacing;lines and paragraphs +Oracle Open Office Draw : spacing;tab stops in text documents +Oracle Open Office Draw : spacing;tabs in presentations +Oracle Open Office Draw : spadmin +Oracle Open Office Draw : speaker notes +Oracle Open Office Draw : speaker notes;defaults +Oracle Open Office Draw : speaker notes;inserting +Oracle Open Office Draw : special characters +Oracle Open Office Draw : speech bubbles +Oracle Open Office Draw : speed of printing +Oracle Open Office Draw : spellcheck +Oracle Open Office Draw : spellcheck;activating for a language +Oracle Open Office Draw : spellcheck;context menus +Oracle Open Office Draw : spellcheck;default languages +Oracle Open Office Draw : spellcheck;dialog +Oracle Open Office Draw : spellcheck;dictionary of exceptions +Oracle Open Office Draw : spellcheck;ignore list +Oracle Open Office Draw : spheres +Oracle Open Office Draw : spin button creation +Oracle Open Office Draw : splitting +Oracle Open Office Draw : splitting;combinations +Oracle Open Office Draw : splitting;curves +Oracle Open Office Draw : spoolfiles with Xprinter +Oracle Open Office Draw : spreadsheets +Oracle Open Office Draw : spreadsheets;as databases (base) +Oracle Open Office Draw : spreadsheets;copying areas to text documents +Oracle Open Office Draw : spreadsheets;creating/opening +Oracle Open Office Draw : spreadsheets;in presentations +Oracle Open Office Draw : spreadsheets;inserting charts +Oracle Open Office Draw : spreadsheets;inserting database records +Oracle Open Office Draw : spreadsheets;printing +Oracle Open Office Draw : spreadsheets;saving +Oracle Open Office Draw : spreadsheets;saving automatically +Oracle Open Office Draw : spreadsheets;saving in other formats +Oracle Open Office Draw : spreadsheets;sending as e-mail +Oracle Open Office Draw : SQL +Oracle Open Office Draw : SQL;definition +Oracle Open Office Draw : SQL;DISTINCT parameter +Oracle Open Office Draw : SQL;executing SQL commands +Oracle Open Office Draw : SQL;executing SQL statements (Base) +Oracle Open Office Draw : SQL;queries (Base) +Oracle Open Office Draw : square drawings +Oracle Open Office Draw : standard bar on/off +Oracle Open Office Draw : standard deviation in charts +Oracle Open Office Draw : standard filters in databases +Oracle Open Office Draw : standard printer under UNIX +Oracle Open Office Draw : start center +Oracle Open Office Draw : start parameters +Oracle Open Office Draw : starting +Oracle Open Office Draw : starting;always with the current slide +Oracle Open Office Draw : starting;custom slide shows +Oracle Open Office Draw : starting;slide shows +Oracle Open Office Draw : statistics in charts +Oracle Open Office Draw : status bar on/off +Oracle Open Office Draw : stickers +Oracle Open Office Draw : stock charts +Oracle Open Office Draw : strikethrough +Oracle Open Office Draw : strikethrough;characters +Oracle Open Office Draw : strikethrough;font effects +Oracle Open Office Draw : styles +Oracle Open Office Draw : styles;'changed' message +Oracle Open Office Draw : styles;arrow and line styles +Oracle Open Office Draw : styles;copying between documents +Oracle Open Office Draw : styles;keyboard shortcuts +Oracle Open Office Draw : styles;organizing +Oracle Open Office Draw : styles;printing styles used in a document +Oracle Open Office Draw : styles;replacing automatically +Oracle Open Office Draw : Styles and Formatting window +Oracle Open Office Draw : Styles and Formatting window;docking +Oracle Open Office Draw : Styles and Formatting window;graphics documents +Oracle Open Office Draw : subforms +Oracle Open Office Draw : subforms;creating +Oracle Open Office Draw : subforms;description +Oracle Open Office Draw : submitting forms +Oracle Open Office Draw : subpoints +Oracle Open Office Draw : subpoints;hiding +Oracle Open Office Draw : subpoints;showing +Oracle Open Office Draw : subtracting polygons +Oracle Open Office Draw : suffixes in file formats +Oracle Open Office Draw : summary slide +Oracle Open Office Draw : support on the Web +Oracle Open Office Draw : synchronizing +Oracle Open Office Draw : synchronizing;labels and business cards +Oracle Open Office Draw : synchronizing;Pocket PC and Oracle Open Office formats +Oracle Open Office Draw : system address book registration +Oracle Open Office Draw : tab stops +Oracle Open Office Draw : tab stops;displaying (Writer) +Oracle Open Office Draw : tab stops;inserting and editing +Oracle Open Office Draw : tab stops;regular expressions +Oracle Open Office Draw : tab stops;setting in sheets +Oracle Open Office Draw : tab stops;settings +Oracle Open Office Draw : tab stops;spacing in presentations +Oracle Open Office Draw : tab stops;spacing in text documents +Oracle Open Office Draw : table controls +Oracle Open Office Draw : table controls;form functions +Oracle Open Office Draw : table controls;keyboard-only edit mode +Oracle Open Office Draw : table controls;properties +Oracle Open Office Draw : table views of databases +Oracle Open Office Draw : Table Wizard (Base) +Oracle Open Office Draw : tables +Oracle Open Office Draw : tables;inserting line breaks +Oracle Open Office Draw : tables in databases +Oracle Open Office Draw : tables in databases;access rights to (Base) +Oracle Open Office Draw : tables in databases;adding to queries +Oracle Open Office Draw : tables in databases;browsing and editing +Oracle Open Office Draw : tables in databases;copying database tables (Base) +Oracle Open Office Draw : tables in databases;creating +Oracle Open Office Draw : tables in databases;creating in design view (manually) +Oracle Open Office Draw : tables in databases;importing text formats (Base) +Oracle Open Office Draw : tables in databases;joining for queries (Base) +Oracle Open Office Draw : tables in databases;printing queries (Base) +Oracle Open Office Draw : tables in databases;relations (Base) +Oracle Open Office Draw : tables in databases;searching +Oracle Open Office Draw : tables in spreadsheets +Oracle Open Office Draw : tables in spreadsheets;copying data to other applications +Oracle Open Office Draw : tables in spreadsheets;defining borders +Oracle Open Office Draw : tables in spreadsheets;value highlighting +Oracle Open Office Draw : tables in text +Oracle Open Office Draw : tables in text;captions +Oracle Open Office Draw : tables in text;creating automatically +Oracle Open Office Draw : tables in text;default settings +Oracle Open Office Draw : tables in text;defining borders +Oracle Open Office Draw : tables in text;displaying +Oracle Open Office Draw : tables in text;printing +Oracle Open Office Draw : tabs +Oracle Open Office Draw : tabs;displaying sheet tabs +Oracle Open Office Draw : tags +Oracle Open Office Draw : tags;definition +Oracle Open Office Draw : tags;META tags +Oracle Open Office Draw : task pane +Oracle Open Office Draw : templates +Oracle Open Office Draw : templates;agendas +Oracle Open Office Draw : templates;changing basic fonts +Oracle Open Office Draw : templates;database reports +Oracle Open Office Draw : templates;deleting +Oracle Open Office Draw : templates;editing and saving +Oracle Open Office Draw : templates;faxes +Oracle Open Office Draw : templates;importing and exporting +Oracle Open Office Draw : templates;letters +Oracle Open Office Draw : templates;new documents from templates +Oracle Open Office Draw : templates;opening documents with +Oracle Open Office Draw : templates;organizing +Oracle Open Office Draw : terminology +Oracle Open Office Draw : terminology;general glossary +Oracle Open Office Draw : terminology;Internet glossary +Oracle Open Office Draw : testing XML filters +Oracle Open Office Draw : text +Oracle Open Office Draw : text;animating +Oracle Open Office Draw : text;Asian layout +Oracle Open Office Draw : text;bold +Oracle Open Office Draw : text;coloring +Oracle Open Office Draw : text;converting to curves +Oracle Open Office Draw : text;copying by drag and drop +Oracle Open Office Draw : text;CTL languages +Oracle Open Office Draw : text;double-clicking to edit +Oracle Open Office Draw : text;drawing pictures +Oracle Open Office Draw : text;font effects +Oracle Open Office Draw : text;font sizes +Oracle Open Office Draw : text;font styles +Oracle Open Office Draw : text;fonts and formats +Oracle Open Office Draw : text;Fontwork icons +Oracle Open Office Draw : text;hyperlinks +Oracle Open Office Draw : text;inserting special characters +Oracle Open Office Draw : text;italics +Oracle Open Office Draw : text;kerning +Oracle Open Office Draw : text;language selection +Oracle Open Office Draw : text;line spacing +Oracle Open Office Draw : text;overwriting or inserting +Oracle Open Office Draw : text;printing in black +Oracle Open Office Draw : text;replacing with format +Oracle Open Office Draw : text;selection modes +Oracle Open Office Draw : text;shadowed +Oracle Open Office Draw : text;text/draw objects +Oracle Open Office Draw : text;toolbar +Oracle Open Office Draw : text attributes +Oracle Open Office Draw : text attributes;hyperlinks +Oracle Open Office Draw : text attributes;undoing +Oracle Open Office Draw : text boxes +Oracle Open Office Draw : text boxes;form functions +Oracle Open Office Draw : text boxes;positioning +Oracle Open Office Draw : text breaks in cells +Oracle Open Office Draw : text colors for better accessibility +Oracle Open Office Draw : text databases (Base) +Oracle Open Office Draw : text documents +Oracle Open Office Draw : text documents;creating/opening +Oracle Open Office Draw : text documents;importing/exporting +Oracle Open Office Draw : text documents;inserting in slides +Oracle Open Office Draw : text documents;inserting spreadsheet cells +Oracle Open Office Draw : text documents;print settings +Oracle Open Office Draw : text documents;printing +Oracle Open Office Draw : text documents;saving +Oracle Open Office Draw : text documents;saving automatically +Oracle Open Office Draw : text documents;saving in other formats +Oracle Open Office Draw : text documents;sending as e-mail +Oracle Open Office Draw : text effects +Oracle Open Office Draw : text entry mode for draw objects +Oracle Open Office Draw : text flow +Oracle Open Office Draw : text flow;in cells +Oracle Open Office Draw : text formats +Oracle Open Office Draw : text formats;databases +Oracle Open Office Draw : text formats;pasting +Oracle Open Office Draw : text frames +Oracle Open Office Draw : text input fields +Oracle Open Office Draw : text layout for special languages +Oracle Open Office Draw : text objects +Oracle Open Office Draw : text objects;alignment +Oracle Open Office Draw : text objects;draw functions +Oracle Open Office Draw : text objects;fonts +Oracle Open Office Draw : text objects;in presentations and drawings +Oracle Open Office Draw : text overflow in spreadsheet cells +Oracle Open Office Draw : text scaling in charts +Oracle Open Office Draw : text, see also text documents, paragraphs and characters +Oracle Open Office Draw : TextArt, see Fontwork +Oracle Open Office Draw : textures +Oracle Open Office Draw : textures;inserting from Gallery +Oracle Open Office Draw : textures;on chart bars +Oracle Open Office Draw : Thai +Oracle Open Office Draw : Thai;entering text +Oracle Open Office Draw : Thai;language settings +Oracle Open Office Draw : thesaurus +Oracle Open Office Draw : thesaurus;activating for a language +Oracle Open Office Draw : ticker text +Oracle Open Office Draw : tiled printing of slides +Oracle Open Office Draw : time and date on all slides +Oracle Open Office Draw : time fields +Oracle Open Office Draw : time fields;form functions +Oracle Open Office Draw : times +Oracle Open Office Draw : times;fixed +Oracle Open Office Draw : times;inserting when printing presentations +Oracle Open Office Draw : times;variable +Oracle Open Office Draw : times, formats +Oracle Open Office Draw : timings +Oracle Open Office Draw : timings;rehearse timings +Oracle Open Office Draw : tips +Oracle Open Office Draw : tips;extended tips in Help +Oracle Open Office Draw : title rows +Oracle Open Office Draw : title rows;printing in Oracle Open Office Math +Oracle Open Office Draw : titles +Oracle Open Office Draw : titles;alignment (charts) +Oracle Open Office Draw : titles;changing +Oracle Open Office Draw : titles;editing in charts +Oracle Open Office Draw : titles;font effects +Oracle Open Office Draw : titles;formatting automatically +Oracle Open Office Draw : titles;formatting charts +Oracle Open Office Draw : titles;objects +Oracle Open Office Draw : toolbars +Oracle Open Office Draw : toolbars;3D objects +Oracle Open Office Draw : toolbars;adding buttons +Oracle Open Office Draw : toolbars;curves +Oracle Open Office Draw : toolbars;docking/undocking +Oracle Open Office Draw : toolbars;ellipses +Oracle Open Office Draw : toolbars;Form Navigation bar +Oracle Open Office Draw : toolbars;viewing/closing +Oracle Open Office Draw : tools bar +Oracle Open Office Draw : tooltips +Oracle Open Office Draw : tooltips;extended tips +Oracle Open Office Draw : tooltips;help +Oracle Open Office Draw : torus +Oracle Open Office Draw : traditional Chinese +Oracle Open Office Draw : traditional Chinese;translating to simplified chinese +Oracle Open Office Draw : transition effects +Oracle Open Office Draw : transparency +Oracle Open Office Draw : transparency;adjusting +Oracle Open Office Draw : transparency;areas +Oracle Open Office Draw : transparency;of objects +Oracle Open Office Draw : transparency;off for faster printing +Oracle Open Office Draw : transparency;saving +Oracle Open Office Draw : tree view of Help +Oracle Open Office Draw : trend lines in charts +Oracle Open Office Draw : typefaces +Oracle Open Office Draw : typefaces;adding under UNIX +Oracle Open Office Draw : typefaces;formats +Oracle Open Office Draw : typography +Oracle Open Office Draw : typography;Asian +Oracle Open Office Draw : underlining +Oracle Open Office Draw : underlining;AutoFormat function +Oracle Open Office Draw : underlining;characters +Oracle Open Office Draw : underlining;text +Oracle Open Office Draw : underlying objects +Oracle Open Office Draw : undocking windows +Oracle Open Office Draw : undoing +Oracle Open Office Draw : undoing;direct formatting +Oracle Open Office Draw : undoing;editing +Oracle Open Office Draw : undoing;number of steps +Oracle Open Office Draw : ungrouping groups +Oracle Open Office Draw : units +Oracle Open Office Draw : units;converting +Oracle Open Office Draw : units;measurement units +Oracle Open Office Draw : unlocking layers +Oracle Open Office Draw : UNO components +Oracle Open Office Draw : UNO components;Extension Manager +Oracle Open Office Draw : UNO components;integrating new +Oracle Open Office Draw : update options +Oracle Open Office Draw : updates +Oracle Open Office Draw : updates;checking automatically +Oracle Open Office Draw : updates;checking manually +Oracle Open Office Draw : updating +Oracle Open Office Draw : updating;fields and charts, automatically (Writer) +Oracle Open Office Draw : updating;links in text documents +Oracle Open Office Draw : updating;links, on opening +Oracle Open Office Draw : updating;templates +Oracle Open Office Draw : URL +Oracle Open Office Draw : URL;changing hyperlink URLs +Oracle Open Office Draw : URL;definition +Oracle Open Office Draw : URL;in pictures +Oracle Open Office Draw : URL;saving absolute/relative paths +Oracle Open Office Draw : URL;turning off URL recognition +Oracle Open Office Draw : user data +Oracle Open Office Draw : user data;input +Oracle Open Office Draw : user data;removing when saving +Oracle Open Office Draw : user feedback +Oracle Open Office Draw : user feedback;automatically +Oracle Open Office Draw : user-defined colors +Oracle Open Office Draw : user-defined dictionaries +Oracle Open Office Draw : user-defined dictionaries;creating +Oracle Open Office Draw : user-defined dictionaries;dictionary of exceptions +Oracle Open Office Draw : user-defined dictionaries;editing +Oracle Open Office Draw : user-defined styles +Oracle Open Office Draw : user-defined styles;automatically replacing +Oracle Open Office Draw : UTF-8/UCS2 support +Oracle Open Office Draw : values +Oracle Open Office Draw : values;rounded as shown (Calc) +Oracle Open Office Draw : variables +Oracle Open Office Draw : variables;for paths +Oracle Open Office Draw : variances in charts +Oracle Open Office Draw : VBA code +Oracle Open Office Draw : VBA code;loading/saving documents with VBA code +Oracle Open Office Draw : vector graphics +Oracle Open Office Draw : vector graphics;converting bitmaps +Oracle Open Office Draw : vectorizing bitmaps +Oracle Open Office Draw : version management +Oracle Open Office Draw : version numbers of documents +Oracle Open Office Draw : versions +Oracle Open Office Draw : versions;comparing documents +Oracle Open Office Draw : versions;file saving as, restriction +Oracle Open Office Draw : versions;merging document versions +Oracle Open Office Draw : versions;of a document +Oracle Open Office Draw : versions;Oracle Open Office +Oracle Open Office Draw : vertical callouts +Oracle Open Office Draw : vertical scrollbars (Writer) +Oracle Open Office Draw : vertical text boxes +Oracle Open Office Draw : videos +Oracle Open Office Draw : viewing +Oracle Open Office Draw : viewing;databases +Oracle Open Office Draw : viewing;file properties +Oracle Open Office Draw : viewing;Oracle Open Office documents in Internet Explorer +Oracle Open Office Draw : viewing;toolbars +Oracle Open Office Draw : views +Oracle Open Office Draw : views;black and white +Oracle Open Office Draw : views;creating database views (Base) +Oracle Open Office Draw : views;defaults +Oracle Open Office Draw : views;display sizes +Oracle Open Office Draw : views;full screen +Oracle Open Office Draw : views;icons +Oracle Open Office Draw : views;scaling +Oracle Open Office Draw : views;shift function +Oracle Open Office Draw : views;slide master view +Oracle Open Office Draw : Visual Basic for Applications +Oracle Open Office Draw : Visual Basic for Applications;loading/saving documents with VBA code +Oracle Open Office Draw : watermarks +Oracle Open Office Draw : web documents +Oracle Open Office Draw : web documents;XForms +Oracle Open Office Draw : Web support +Oracle Open Office Draw : WebCast export +Oracle Open Office Draw : WebDAV over HTTPS +Oracle Open Office Draw : windows +Oracle Open Office Draw : windows;docking +Oracle Open Office Draw : windows;docking definition +Oracle Open Office Draw : windows;hiding/showing/docking +Oracle Open Office Draw : windows;new +Oracle Open Office Draw : wizards +Oracle Open Office Draw : wizards;agendas +Oracle Open Office Draw : wizards;database queries +Oracle Open Office Draw : wizards;database tables (Base) +Oracle Open Office Draw : wizards;databases (Base) +Oracle Open Office Draw : wizards;document converter +Oracle Open Office Draw : wizards;Euro Converter +Oracle Open Office Draw : wizards;faxes +Oracle Open Office Draw : wizards;forms +Oracle Open Office Draw : wizards;letters +Oracle Open Office Draw : wizards;macros (Base) +Oracle Open Office Draw : wizards;overview +Oracle Open Office Draw : wizards;presentations +Oracle Open Office Draw : wizards;reports +Oracle Open Office Draw : Word documents +Oracle Open Office Draw : Word documents;compatibility +Oracle Open Office Draw : Word documents;saving as +Oracle Open Office Draw : WordArt, see Fontwork +Oracle Open Office Draw : words +Oracle Open Office Draw : words;automatically replacing +Oracle Open Office Draw : words;wrapping in cells +Oracle Open Office Draw : words;wrapping in CTL +Oracle Open Office Draw : working directory change +Oracle Open Office Draw : wrapping text +Oracle Open Office Draw : wrapping text;in cells +Oracle Open Office Draw : write protection on/off +Oracle Open Office Draw : writing aids options +Oracle Open Office Draw : WYSIWYG in fonts lists +Oracle Open Office Draw : X axes +Oracle Open Office Draw : X axes;grid formatting +Oracle Open Office Draw : X axes;positioning +Oracle Open Office Draw : X axes;scaling +Oracle Open Office Draw : X axes;showing +Oracle Open Office Draw : XForms +Oracle Open Office Draw : XForms;adding/editing/deleting/organizing namespaces +Oracle Open Office Draw : XForms;conditions +Oracle Open Office Draw : XForms;opening/editing +Oracle Open Office Draw : XML converters +Oracle Open Office Draw : XML file formats +Oracle Open Office Draw : XML filters +Oracle Open Office Draw : XML filters;creating/testing +Oracle Open Office Draw : XML filters;saving as package/installing/deleting +Oracle Open Office Draw : XML filters;settings +Oracle Open Office Draw : XML Forms, see XForms +Oracle Open Office Draw : XSLT filters, see also XML filters +Oracle Open Office Draw : XY charts +Oracle Open Office Draw : Y axes +Oracle Open Office Draw : Y axes;formatting +Oracle Open Office Draw : Y axes;grid formatting +Oracle Open Office Draw : Y axes;positioning +Oracle Open Office Draw : Y axes;scaling +Oracle Open Office Draw : Y axes;showing +Oracle Open Office Draw : years +Oracle Open Office Draw : years;2-digit options +Oracle Open Office Draw : Z axes +Oracle Open Office Draw : Z axes;grid formatting +Oracle Open Office Draw : Z axes;showing +Oracle Open Office Draw : zero values +Oracle Open Office Draw : zero values;displaying (Calc) +Oracle Open Office Draw : zooming +Oracle Open Office Draw : zooming;in presentations +Oracle Open Office Draw : zooming;keyboard +Oracle Open Office Draw : zooming;page views +Oracle Open Office Draw : zooming;pictures +Oracle Open Office Draw : zooming;shortcut keys +Oracle Open Office Draw : zooming;status bar -- cgit From 060e0ddf7fb98ab9ab679f6a165837319b9a1859 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 13:15:49 +0200 Subject: vitomation01: #i109696 - Remove invalid file --- .../OpenOffice.org_help_topic_en-US.txt | 22162 ------------------- 1 file changed, 22162 deletions(-) delete mode 100755 testautomation/framework/optional/input/help_browser/OpenOffice.org_help_topic_en-US.txt diff --git a/testautomation/framework/optional/input/help_browser/OpenOffice.org_help_topic_en-US.txt b/testautomation/framework/optional/input/help_browser/OpenOffice.org_help_topic_en-US.txt deleted file mode 100755 index dc53c4a69a17..000000000000 --- a/testautomation/framework/optional/input/help_browser/OpenOffice.org_help_topic_en-US.txt +++ /dev/null @@ -1,22162 +0,0 @@ -OpenOffice.org Basic : "^" operator (mathematical) -OpenOffice.org Basic : "-" operator (mathematical) -OpenOffice.org Basic : "*" operator (mathematical) -OpenOffice.org Basic : "/" operator (mathematical) -OpenOffice.org Basic : "+" operator (mathematical) -OpenOffice.org Basic : 1/2 replacement -OpenOffice.org Basic : 3D text creation -OpenOffice.org Basic : 3D view -OpenOffice.org Basic : abbreviation replacement -OpenOffice.org Basic : Abs function -OpenOffice.org Basic : absolute hyperlinks -OpenOffice.org Basic : absolute saving of URLs -OpenOffice.org Basic : accents -OpenOffice.org Basic : Access databases (base) -OpenOffice.org Basic : access rights for database tables (Base) -OpenOffice.org Basic : accessibility -OpenOffice.org Basic : accessibility;general shortcuts -OpenOffice.org Basic : accessibility;OpenOffice.org assistive technology -OpenOffice.org Basic : accessibility;OpenOffice.org features -OpenOffice.org Basic : accessibility;options -OpenOffice.org Basic : activating -OpenOffice.org Basic : activating;context menus -OpenOffice.org Basic : activating;Error Report Tool -OpenOffice.org Basic : activating;extended help tips -OpenOffice.org Basic : activating;plug-ins -OpenOffice.org Basic : ActiveX control -OpenOffice.org Basic : Adabas D databases (base) -OpenOffice.org Basic : add-ons, see UNO components -OpenOffice.org Basic : adding -OpenOffice.org Basic : adding;automatic captions (Writer) -OpenOffice.org Basic : adding;backgrounds -OpenOffice.org Basic : adding;Basic libraries -OpenOffice.org Basic : adding;buttons in toolbars -OpenOffice.org Basic : adding;conditions for XForm items -OpenOffice.org Basic : adding;draw objects -OpenOffice.org Basic : adding;Fontwork objects -OpenOffice.org Basic : adding;items in Data Navigator -OpenOffice.org Basic : adding;namespaces in XForms -OpenOffice.org Basic : adding;paragraph borders -OpenOffice.org Basic : adding;pictures from Gallery -OpenOffice.org Basic : adding;pictures in Gallery -OpenOffice.org Basic : adding;plug-ins -OpenOffice.org Basic : adding;push buttons -OpenOffice.org Basic : adding;table borders -OpenOffice.org Basic : adding;textures on chart bars -OpenOffice.org Basic : adding libraries -OpenOffice.org Basic : additional selection mode -OpenOffice.org Basic : address books -OpenOffice.org Basic : address books;LDAP server (Base) -OpenOffice.org Basic : address books;registering -OpenOffice.org Basic : address labels from databases -OpenOffice.org Basic : ADO databases (Base) -OpenOffice.org Basic : Agenda Wizard -OpenOffice.org Basic : aging filter -OpenOffice.org Basic : aligning -OpenOffice.org Basic : aligning;cells -OpenOffice.org Basic : aligning;objects -OpenOffice.org Basic : aligning;paragraphs -OpenOffice.org Basic : aligning;tables in text -OpenOffice.org Basic : aligning;text objects -OpenOffice.org Basic : alternative fonts -OpenOffice.org Basic : ampersand symbol in StarBasic -OpenOffice.org Basic : ampersand symbol, see also operators -OpenOffice.org Basic : anchors -OpenOffice.org Basic : anchors;changing -OpenOffice.org Basic : anchors;displaying (Calc) -OpenOffice.org Basic : anchors;types/positions for draw objects -OpenOffice.org Basic : AND operator (logical) -OpenOffice.org Basic : animations -OpenOffice.org Basic : animations;accessibility options -OpenOffice.org Basic : appearance options -OpenOffice.org Basic : applet insertion -OpenOffice.org Basic : applying -OpenOffice.org Basic : applying;languages, to selected text -OpenOffice.org Basic : Arabic -OpenOffice.org Basic : Arabic;entering text -OpenOffice.org Basic : Arabic;language settings -OpenOffice.org Basic : areas -OpenOffice.org Basic : areas;bitmap patterns -OpenOffice.org Basic : areas;hatched/dotted -OpenOffice.org Basic : areas;shadows -OpenOffice.org Basic : areas;slanting -OpenOffice.org Basic : areas;styles -OpenOffice.org Basic : areas;transparency -OpenOffice.org Basic : arguments in command line -OpenOffice.org Basic : arranging -OpenOffice.org Basic : arranging;objects -OpenOffice.org Basic : Array function -OpenOffice.org Basic : arrays -OpenOffice.org Basic : arrays;declaring -OpenOffice.org Basic : arrays;dimensioning -OpenOffice.org Basic : arrows -OpenOffice.org Basic : arrows;defining arrow heads -OpenOffice.org Basic : arrows;defining arrow lines -OpenOffice.org Basic : arrows;drawing in text -OpenOffice.org Basic : Asc function -OpenOffice.org Basic : ASCII -OpenOffice.org Basic : ASCII;definition -OpenOffice.org Basic : Asian languages -OpenOffice.org Basic : Asian languages;enabling -OpenOffice.org Basic : Asian Phonetic Guide -OpenOffice.org Basic : Asian typography -OpenOffice.org Basic : assigning macros to events -OpenOffice.org Basic : assigning scripts -OpenOffice.org Basic : assistive technology in OpenOffice.org -OpenOffice.org Basic : Atn function -OpenOffice.org Basic : attaching toolbars -OpenOffice.org Basic : attachments in e-mails -OpenOffice.org Basic : audio -OpenOffice.org Basic : audio;inserting -OpenOffice.org Basic : audio;UNIX -OpenOffice.org Basic : auto reloading HTML documents -OpenOffice.org Basic : AutoAbstract function for sending text to presentations -OpenOffice.org Basic : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Basic : AutoComplete function in text and list boxes -OpenOffice.org Basic : AutoCorrect function -OpenOffice.org Basic : AutoCorrect function;context menu -OpenOffice.org Basic : AutoCorrect function;options -OpenOffice.org Basic : AutoCorrect function;pictures and frames -OpenOffice.org Basic : AutoCorrect function;quotes -OpenOffice.org Basic : AutoCorrect function;replacement table -OpenOffice.org Basic : AutoCorrect function;smart tags -OpenOffice.org Basic : AutoCorrect function;switching on and off in Calc -OpenOffice.org Basic : AutoCorrect function;URL recognition -OpenOffice.org Basic : AutoFormat function -OpenOffice.org Basic : AutoFormat function;switching on and off -OpenOffice.org Basic : automatic captions (Writer) -OpenOffice.org Basic : automatic control focus -OpenOffice.org Basic : automatic hyperlink formatting -OpenOffice.org Basic : automatic line breaks -OpenOffice.org Basic : automatic lines/borders in text -OpenOffice.org Basic : automatic saving -OpenOffice.org Basic : AutoPilots, see wizards -OpenOffice.org Basic : AutoShapes feature in Microsoft Office -OpenOffice.org Basic : axes in charts -OpenOffice.org Basic : backgrounds -OpenOffice.org Basic : backgrounds;defining colors/pictures -OpenOffice.org Basic : backgrounds;frames/sections/indexes -OpenOffice.org Basic : backgrounds;inserting from Gallery -OpenOffice.org Basic : backgrounds;printing -OpenOffice.org Basic : backing window -OpenOffice.org Basic : backups -OpenOffice.org Basic : backups;automatic -OpenOffice.org Basic : backups;documents -OpenOffice.org Basic : Basic -OpenOffice.org Basic : Basic;fonts for source display -OpenOffice.org Basic : Basic;programming -OpenOffice.org Basic : Basic;recording macros -OpenOffice.org Basic : Basic;scripting -OpenOffice.org Basic : Basic editor -OpenOffice.org Basic : basic fonts -OpenOffice.org Basic : Basic IDE -OpenOffice.org Basic : Basic IDE;Integrated Development Environment -OpenOffice.org Basic : Basic IDE;macros -OpenOffice.org Basic : BasicLibraries (LibraryContainer) -OpenOffice.org Basic : BeanShell scripting -OpenOffice.org Basic : Beep statement -OpenOffice.org Basic : Bézier curves -OpenOffice.org Basic : Bézier curves;control points in presentations -OpenOffice.org Basic : bi-directional writing -OpenOffice.org Basic : binding space -OpenOffice.org Basic : bitmaps -OpenOffice.org Basic : bitmaps;inserting and editing -OpenOffice.org Basic : bitmaps;off for faster printing -OpenOffice.org Basic : bitmaps;patterns -OpenOffice.org Basic : black and white printing -OpenOffice.org Basic : black printing in Calc -OpenOffice.org Basic : block selection mode -OpenOffice.org Basic : Blue function -OpenOffice.org Basic : bold -OpenOffice.org Basic : bold;AutoFormat function -OpenOffice.org Basic : bold;text -OpenOffice.org Basic : bookmarks -OpenOffice.org Basic : bookmarks;Help -OpenOffice.org Basic : borders -OpenOffice.org Basic : borders;arranging -OpenOffice.org Basic : borders;cells on screen (Calc) -OpenOffice.org Basic : borders;for paragraphs -OpenOffice.org Basic : borders;for tables -OpenOffice.org Basic : borders;shadows -OpenOffice.org Basic : borders;table boundaries (Writer) -OpenOffice.org Basic : borders, see also frames -OpenOffice.org Basic : bound fields -OpenOffice.org Basic : bound fields;controls -OpenOffice.org Basic : boundaries of tables (Writer) -OpenOffice.org Basic : break display (Writer) -OpenOffice.org Basic : breakpoints -OpenOffice.org Basic : brochures -OpenOffice.org Basic : brochures;printing several -OpenOffice.org Basic : build numbers of OpenOffice.org -OpenOffice.org Basic : bullet lists -OpenOffice.org Basic : bullet lists;formatting options -OpenOffice.org Basic : bullets -OpenOffice.org Basic : bullets;paragraphs -OpenOffice.org Basic : bullets;replacing -OpenOffice.org Basic : bullets;turning off -OpenOffice.org Basic : business cards -OpenOffice.org Basic : business cards;creating and synchronizing -OpenOffice.org Basic : business cards;using templates -OpenOffice.org Basic : button bars, see toolbars -OpenOffice.org Basic : buttons -OpenOffice.org Basic : buttons;adding push buttons -OpenOffice.org Basic : buttons;big/small -OpenOffice.org Basic : buttons;controls -OpenOffice.org Basic : buttons;editing hyperlink buttons -OpenOffice.org Basic : buttons;form functions -OpenOffice.org Basic : buttons;toolbars -OpenOffice.org Basic : cache for graphics -OpenOffice.org Basic : calculating -OpenOffice.org Basic : calculating;iterative references (Calc) -OpenOffice.org Basic : Call Stack window -OpenOffice.org Basic : Call statement -OpenOffice.org Basic : callouts -OpenOffice.org Basic : callouts;drawings -OpenOffice.org Basic : capital letters -OpenOffice.org Basic : capital letters;AutoCorrect function -OpenOffice.org Basic : capital letters;font effects -OpenOffice.org Basic : captions -OpenOffice.org Basic : captions;automatic captions (Writer) -OpenOffice.org Basic : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Basic : captions, see also labels/callouts -OpenOffice.org Basic : cascading update (Base) -OpenOffice.org Basic : case sensitivity -OpenOffice.org Basic : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Basic : case sensitivity;searching -OpenOffice.org Basic : Case statement -OpenOffice.org Basic : CBool function -OpenOffice.org Basic : CByte function -OpenOffice.org Basic : CCur function -OpenOffice.org Basic : CDate function -OpenOffice.org Basic : CdateFromIso function -OpenOffice.org Basic : CdateToIso function -OpenOffice.org Basic : CDbl function -OpenOffice.org Basic : CDec function -OpenOffice.org Basic : cells -OpenOffice.org Basic : cells;aligning -OpenOffice.org Basic : cells;backgrounds -OpenOffice.org Basic : cells;coloring (Calc) -OpenOffice.org Basic : cells;cursor positions after input (Calc) -OpenOffice.org Basic : cells;formatting without effect (Calc) -OpenOffice.org Basic : cells;line breaks -OpenOffice.org Basic : cells;linked to controls -OpenOffice.org Basic : cells;number formats -OpenOffice.org Basic : cells;number of -OpenOffice.org Basic : cells;pasting -OpenOffice.org Basic : cells;resetting formats -OpenOffice.org Basic : cells;showing grid lines (Calc) -OpenOffice.org Basic : centered text -OpenOffice.org Basic : centimeters -OpenOffice.org Basic : certificates -OpenOffice.org Basic : Change Case feature in Microsoft Office -OpenOffice.org Basic : changes -OpenOffice.org Basic : changes;accepting or rejecting -OpenOffice.org Basic : changes;comparing to original -OpenOffice.org Basic : changes;protecting -OpenOffice.org Basic : changes;recording -OpenOffice.org Basic : changes;review function -OpenOffice.org Basic : changes;showing -OpenOffice.org Basic : changing -OpenOffice.org Basic : changing;control properties -OpenOffice.org Basic : changing;data binding of XForms -OpenOffice.org Basic : changing;default templates -OpenOffice.org Basic : changing;document titles -OpenOffice.org Basic : changing;file associations in Setup program -OpenOffice.org Basic : changing;hyperlink text/formats/URLs -OpenOffice.org Basic : changing;icon sizes -OpenOffice.org Basic : changing;keyboard -OpenOffice.org Basic : changing;links -OpenOffice.org Basic : changing;menus -OpenOffice.org Basic : changing;object sizes -OpenOffice.org Basic : changing;toolbars -OpenOffice.org Basic : changing;work directory -OpenOffice.org Basic : changing, see also editing and replacing -OpenOffice.org Basic : character styles -OpenOffice.org Basic : character styles;language selection -OpenOffice.org Basic : characters -OpenOffice.org Basic : characters;alternative fonts -OpenOffice.org Basic : characters;Asian layout -OpenOffice.org Basic : characters;bold -OpenOffice.org Basic : characters;coloring -OpenOffice.org Basic : characters;contours -OpenOffice.org Basic : characters;displaying only on screen (Writer) -OpenOffice.org Basic : characters;enabling CTL and Asian characters -OpenOffice.org Basic : characters;font effects -OpenOffice.org Basic : characters;fonts and formats -OpenOffice.org Basic : characters;hyperlinks -OpenOffice.org Basic : characters;italics -OpenOffice.org Basic : characters;language selection -OpenOffice.org Basic : characters;shadowed -OpenOffice.org Basic : characters;spacing -OpenOffice.org Basic : characters;special -OpenOffice.org Basic : characters;underlining -OpenOffice.org Basic : charcoal sketches filter -OpenOffice.org Basic : charts -OpenOffice.org Basic : charts;arranging within stacks -OpenOffice.org Basic : charts;bars with textures -OpenOffice.org Basic : charts;colors -OpenOffice.org Basic : charts;copying with link to source cell range -OpenOffice.org Basic : charts;displaying (Calc) -OpenOffice.org Basic : charts;editing axes -OpenOffice.org Basic : charts;editing data -OpenOffice.org Basic : charts;editing legends -OpenOffice.org Basic : charts;editing titles -OpenOffice.org Basic : charts;inserting -OpenOffice.org Basic : charts;updating automatically (Writer) -OpenOffice.org Basic : ChDir statement -OpenOffice.org Basic : ChDrive statement -OpenOffice.org Basic : check box control -OpenOffice.org Basic : check box creation -OpenOffice.org Basic : Chinese writing systems -OpenOffice.org Basic : Choose function -OpenOffice.org Basic : choosing printers -OpenOffice.org Basic : Chr function -OpenOffice.org Basic : CInt function -OpenOffice.org Basic : circle drawings -OpenOffice.org Basic : Client Side ImageMap -OpenOffice.org Basic : clipboard -OpenOffice.org Basic : clipboard;cutting -OpenOffice.org Basic : clipboard;pasting -OpenOffice.org Basic : clipboard;pasting formatted/unformatted text -OpenOffice.org Basic : clipboard;selection clipboard -OpenOffice.org Basic : clipboard;Unix -OpenOffice.org Basic : CLng function -OpenOffice.org Basic : Close statement -OpenOffice.org Basic : closing -OpenOffice.org Basic : closing;documents -OpenOffice.org Basic : closing;toolbars -OpenOffice.org Basic : color bar -OpenOffice.org Basic : colors -OpenOffice.org Basic : colors;adding -OpenOffice.org Basic : colors;appearance -OpenOffice.org Basic : colors;backgrounds -OpenOffice.org Basic : colors;charts -OpenOffice.org Basic : colors;fill format -OpenOffice.org Basic : colors;fonts -OpenOffice.org Basic : colors;grid lines and cells (Calc) -OpenOffice.org Basic : colors;models -OpenOffice.org Basic : colors;not printing -OpenOffice.org Basic : colors;printing in grayscale -OpenOffice.org Basic : colors;restriction (Calc) -OpenOffice.org Basic : colors;selection -OpenOffice.org Basic : column headers -OpenOffice.org Basic : column headers;displaying (Calc) -OpenOffice.org Basic : column headers;highlighting (Calc) -OpenOffice.org Basic : columns -OpenOffice.org Basic : columns;setting with the mouse -OpenOffice.org Basic : combo box control -OpenOffice.org Basic : combo box creation -OpenOffice.org Basic : command button creation -OpenOffice.org Basic : command buttons, see push buttons -OpenOffice.org Basic : command line parameters -OpenOffice.org Basic : commands -OpenOffice.org Basic : commands;not visible -OpenOffice.org Basic : commands;SQL -OpenOffice.org Basic : comments -OpenOffice.org Basic : comments;on changes -OpenOffice.org Basic : comments;Rem statement -OpenOffice.org Basic : comments feature in Microsoft Office -OpenOffice.org Basic : common terms -OpenOffice.org Basic : common terms;Chinese dictionary -OpenOffice.org Basic : common terms;glossaries -OpenOffice.org Basic : common terms;Internet glossary -OpenOffice.org Basic : Compare and Merge feature in Microsoft Office -OpenOffice.org Basic : comparison operators -OpenOffice.org Basic : comparison operators;OpenOffice.org Basic -OpenOffice.org Basic : comparisons -OpenOffice.org Basic : comparisons;document versions -OpenOffice.org Basic : comparisons;operators in default filter dialog -OpenOffice.org Basic : compatibility settings for MS Word import -OpenOffice.org Basic : complete screen view -OpenOffice.org Basic : complex text layout -OpenOffice.org Basic : complex text layout;definition -OpenOffice.org Basic : complex text layout;enabling -OpenOffice.org Basic : components -OpenOffice.org Basic : components;addressing -OpenOffice.org Basic : compose key to insert special characters -OpenOffice.org Basic : concatenation, see ampersand symbol -OpenOffice.org Basic : conditional separators -OpenOffice.org Basic : conditions -OpenOffice.org Basic : conditions;in number formats -OpenOffice.org Basic : conditions;items in Data Navigator -OpenOffice.org Basic : Configuration Manager -OpenOffice.org Basic : configuring -OpenOffice.org Basic : configuring;fax icon -OpenOffice.org Basic : configuring;OpenOffice.org -OpenOffice.org Basic : configuring;toolbars -OpenOffice.org Basic : connections to data sources (Base) -OpenOffice.org Basic : Const statement -OpenOffice.org Basic : constants -OpenOffice.org Basic : contents protection -OpenOffice.org Basic : context menus -OpenOffice.org Basic : continuation -OpenOffice.org Basic : continuation;long lines in editor -OpenOffice.org Basic : contours of text -OpenOffice.org Basic : control point display in presentations -OpenOffice.org Basic : controls -OpenOffice.org Basic : controls;activating in forms -OpenOffice.org Basic : controls;adding to documents -OpenOffice.org Basic : controls;arranging in forms -OpenOffice.org Basic : controls;arranging within stacks -OpenOffice.org Basic : controls;assigning data sources -OpenOffice.org Basic : controls;bound fields/list contents/linked cells -OpenOffice.org Basic : controls;changing properties -OpenOffice.org Basic : controls;creating in the dialog editor -OpenOffice.org Basic : controls;events -OpenOffice.org Basic : controls;focus -OpenOffice.org Basic : controls;formatted fields -OpenOffice.org Basic : controls;grouping -OpenOffice.org Basic : controls;hidden -OpenOffice.org Basic : controls;in dialog editor -OpenOffice.org Basic : controls;inserting -OpenOffice.org Basic : controls;multi-line titles -OpenOffice.org Basic : controls;positions and sizes -OpenOffice.org Basic : controls;printing -OpenOffice.org Basic : controls;properties -OpenOffice.org Basic : controls;properties of form controls -OpenOffice.org Basic : controls;properties of table controls -OpenOffice.org Basic : controls;reading or editing properties (example) -OpenOffice.org Basic : controls;reference by SQL -OpenOffice.org Basic : controls;rich text control -OpenOffice.org Basic : controls;select mode -OpenOffice.org Basic : controls;showing (Writer) -OpenOffice.org Basic : converters -OpenOffice.org Basic : converters;Euro converter -OpenOffice.org Basic : converters;PostScript, UNIX -OpenOffice.org Basic : converters;XML -OpenOffice.org Basic : ConvertFromURL function -OpenOffice.org Basic : converting -OpenOffice.org Basic : converting;Hangul/Hanja -OpenOffice.org Basic : converting;metrics -OpenOffice.org Basic : converting;Microsoft documents -OpenOffice.org Basic : converting;OpenOffice.org documents -OpenOffice.org Basic : converting;Pocket PC formats -OpenOffice.org Basic : ConvertToURL function -OpenOffice.org Basic : copies -OpenOffice.org Basic : copies;printing -OpenOffice.org Basic : copying -OpenOffice.org Basic : copying;by drag and drop -OpenOffice.org Basic : copying;data from text documents -OpenOffice.org Basic : copying;datasource records in spreadsheets -OpenOffice.org Basic : copying;draw objects -OpenOffice.org Basic : copying;draw objects between documents -OpenOffice.org Basic : copying;formatting -OpenOffice.org Basic : copying;from data source view -OpenOffice.org Basic : copying;from Gallery -OpenOffice.org Basic : copying;in Unix -OpenOffice.org Basic : copying;modules -OpenOffice.org Basic : copying;pictures, between documents -OpenOffice.org Basic : copying;sheet areas, to text documents -OpenOffice.org Basic : copying;to Gallery -OpenOffice.org Basic : copyright for OpenOffice.org -OpenOffice.org Basic : corner roundings -OpenOffice.org Basic : Cos function -OpenOffice.org Basic : crash reports -OpenOffice.org Basic : CreateObject function -OpenOffice.org Basic : CreateUnoDialog function -OpenOffice.org Basic : CreateUnoListener function -OpenOffice.org Basic : CreateUnoService function -OpenOffice.org Basic : CreateUnoStruct function -OpenOffice.org Basic : CreateUnoValue function -OpenOffice.org Basic : criteria of query design (Base) -OpenOffice.org Basic : cropping pictures -OpenOffice.org Basic : CSng function -OpenOffice.org Basic : CStr function -OpenOffice.org Basic : CTL -OpenOffice.org Basic : CTL;complex text layout languages -OpenOffice.org Basic : CTL;definition -OpenOffice.org Basic : CTL;options -OpenOffice.org Basic : CurDir function -OpenOffice.org Basic : currencies -OpenOffice.org Basic : currencies;converters -OpenOffice.org Basic : currencies;formats and format codes -OpenOffice.org Basic : currency field control -OpenOffice.org Basic : currency field creation -OpenOffice.org Basic : currency formats -OpenOffice.org Basic : cursor -OpenOffice.org Basic : cursor;allowing in protected areas (Writer) -OpenOffice.org Basic : cursor;in read-only text -OpenOffice.org Basic : cursor;quickly moving to an object -OpenOffice.org Basic : curves -OpenOffice.org Basic : curves;editing points -OpenOffice.org Basic : custom dictionaries -OpenOffice.org Basic : custom dictionaries;editing -OpenOffice.org Basic : custom hyphens (Writer) -OpenOffice.org Basic : custom quotes -OpenOffice.org Basic : custom templates -OpenOffice.org Basic : customizing -OpenOffice.org Basic : customizing;events -OpenOffice.org Basic : customizing;keyboard -OpenOffice.org Basic : customizing;menus -OpenOffice.org Basic : customizing;OpenOffice.org -OpenOffice.org Basic : customizing;round corners -OpenOffice.org Basic : customizing;toolbars -OpenOffice.org Basic : cutting -OpenOffice.org Basic : CVar function -OpenOffice.org Basic : CVErr function -OpenOffice.org Basic : dashes -OpenOffice.org Basic : data -OpenOffice.org Basic : data;filtering in forms -OpenOffice.org Basic : data;forms and subforms -OpenOffice.org Basic : data;read-only -OpenOffice.org Basic : data;sorting in forms -OpenOffice.org Basic : data;user data -OpenOffice.org Basic : data binding change in XForms -OpenOffice.org Basic : Data Navigator display options -OpenOffice.org Basic : data source browser -OpenOffice.org Basic : data source explorer -OpenOffice.org Basic : data source view -OpenOffice.org Basic : data source view;drag and drop -OpenOffice.org Basic : data source view;overview -OpenOffice.org Basic : data source view;showing -OpenOffice.org Basic : data sources -OpenOffice.org Basic : data sources;as tables -OpenOffice.org Basic : data sources;connection settings (Base) -OpenOffice.org Basic : data sources;copying records to spreadsheets -OpenOffice.org Basic : data sources;displaying current -OpenOffice.org Basic : data sources;LDAP server (Base) -OpenOffice.org Basic : data sources;OpenOffice.org Base -OpenOffice.org Basic : data sources;registering address books -OpenOffice.org Basic : data sources;reports -OpenOffice.org Basic : data sources;viewing -OpenOffice.org Basic : data structure of XForms -OpenOffice.org Basic : database contents -OpenOffice.org Basic : database contents;inserting as tables -OpenOffice.org Basic : database contents;inserting as text -OpenOffice.org Basic : database reports -OpenOffice.org Basic : Database Wizard (Base) -OpenOffice.org Basic : databases -OpenOffice.org Basic : databases;administration through SQL (Base) -OpenOffice.org Basic : databases;ADO (Base) -OpenOffice.org Basic : databases;connecting (Base) -OpenOffice.org Basic : databases;creating -OpenOffice.org Basic : databases;creating labels -OpenOffice.org Basic : databases;creating queries -OpenOffice.org Basic : databases;creating reports -OpenOffice.org Basic : databases;creating tables -OpenOffice.org Basic : databases;dBASE (Base) -OpenOffice.org Basic : databases;deleting (Base) -OpenOffice.org Basic : databases;drag and drop (Base) -OpenOffice.org Basic : databases;editing tables -OpenOffice.org Basic : databases;form filters -OpenOffice.org Basic : databases;formats (Base) -OpenOffice.org Basic : databases;importing/exporting -OpenOffice.org Basic : databases;JDBC (Base) -OpenOffice.org Basic : databases;main page (Base) -OpenOffice.org Basic : databases;MySQL (Base) -OpenOffice.org Basic : databases;ODBC (Base) -OpenOffice.org Basic : databases;overview -OpenOffice.org Basic : databases;registering (Base) -OpenOffice.org Basic : databases;searching records -OpenOffice.org Basic : databases;shortcut keys -OpenOffice.org Basic : databases;sorting -OpenOffice.org Basic : databases;standard filters -OpenOffice.org Basic : databases;text formats -OpenOffice.org Basic : databases;viewing -OpenOffice.org Basic : date field control -OpenOffice.org Basic : date fields -OpenOffice.org Basic : date fields;creating -OpenOffice.org Basic : date fields;properties -OpenOffice.org Basic : date formats -OpenOffice.org Basic : Date statement -OpenOffice.org Basic : DateAdd function -OpenOffice.org Basic : DateDiff function -OpenOffice.org Basic : DatePart function -OpenOffice.org Basic : dates -OpenOffice.org Basic : dates;default (Calc) -OpenOffice.org Basic : dates;printing in presentations -OpenOffice.org Basic : dates;start 1900/01/01 (Calc) -OpenOffice.org Basic : dates;start 1904/01/01 (Calc) -OpenOffice.org Basic : DateSerial function -OpenOffice.org Basic : DateValue function -OpenOffice.org Basic : Day function -OpenOffice.org Basic : dBASE -OpenOffice.org Basic : dBASE;database settings (Base) -OpenOffice.org Basic : DDE -OpenOffice.org Basic : DDE;definition -OpenOffice.org Basic : deactivating -OpenOffice.org Basic : deactivating;plug-ins -OpenOffice.org Basic : debugging Basic programs -OpenOffice.org Basic : decimal places displayed (Calc) -OpenOffice.org Basic : decimal separator key -OpenOffice.org Basic : decimal tab stops -OpenOffice.org Basic : Declare statement -OpenOffice.org Basic : declaring variables -OpenOffice.org Basic : default directories -OpenOffice.org Basic : default file formats -OpenOffice.org Basic : default filters -OpenOffice.org Basic : default filters;comparison operators -OpenOffice.org Basic : default filters;databases -OpenOffice.org Basic : default printer -OpenOffice.org Basic : default printer;setting up -OpenOffice.org Basic : default printer;UNIX -OpenOffice.org Basic : default templates -OpenOffice.org Basic : default templates;changing -OpenOffice.org Basic : default templates;organizing -OpenOffice.org Basic : defaults -OpenOffice.org Basic : defaults;documents -OpenOffice.org Basic : defaults;file formats -OpenOffice.org Basic : defaults;fonts -OpenOffice.org Basic : defaults;grids (Writer/Calc) -OpenOffice.org Basic : defaults;languages -OpenOffice.org Basic : defaults;number formats -OpenOffice.org Basic : defaults;of saving -OpenOffice.org Basic : defaults;program configuration -OpenOffice.org Basic : defaults;tab stops in text -OpenOffice.org Basic : defaults;views -OpenOffice.org Basic : DefBool statement -OpenOffice.org Basic : DefCur statement -OpenOffice.org Basic : DefDate statement -OpenOffice.org Basic : DefDbl statement -OpenOffice.org Basic : DefErr statement -OpenOffice.org Basic : defining -OpenOffice.org Basic : defining;arrowheads and other line ends -OpenOffice.org Basic : defining;colors -OpenOffice.org Basic : defining;constants -OpenOffice.org Basic : defining;line styles -OpenOffice.org Basic : defining;paragraph borders -OpenOffice.org Basic : defining;queries (Base) -OpenOffice.org Basic : defining;table borders -OpenOffice.org Basic : DefInt statement -OpenOffice.org Basic : DefLng statement -OpenOffice.org Basic : DefObj statement -OpenOffice.org Basic : DefSng statement -OpenOffice.org Basic : DefStr statement -OpenOffice.org Basic : DefVar statement -OpenOffice.org Basic : deleting -OpenOffice.org Basic : deleting;all direct formatting -OpenOffice.org Basic : deleting;databases (Base) -OpenOffice.org Basic : deleting;hyperlinks -OpenOffice.org Basic : deleting;libraries/modules/dialogs -OpenOffice.org Basic : deleting;lines in text -OpenOffice.org Basic : deleting;macro assignments to events -OpenOffice.org Basic : deleting;models/instances -OpenOffice.org Basic : deleting;namespaces in XForms -OpenOffice.org Basic : deleting;tab stops -OpenOffice.org Basic : deleting;templates -OpenOffice.org Basic : deleting;XML filters -OpenOffice.org Basic : depth stagger -OpenOffice.org Basic : descriptions for objects -OpenOffice.org Basic : design mode after saving -OpenOffice.org Basic : design view -OpenOffice.org Basic : design view;creating forms -OpenOffice.org Basic : design view;queries/views (Base) -OpenOffice.org Basic : designing -OpenOffice.org Basic : designing;database tables -OpenOffice.org Basic : designing;fonts -OpenOffice.org Basic : designing;queries (Base) -OpenOffice.org Basic : detaching toolbars -OpenOffice.org Basic : dialog editor -OpenOffice.org Basic : dialog editor;changing control properties -OpenOffice.org Basic : dialog editor;creating controls -OpenOffice.org Basic : dialog editor;programming examples for controls -OpenOffice.org Basic : DialogLibraries (LibraryContainer) -OpenOffice.org Basic : dialogs -OpenOffice.org Basic : dialogs;creating Basic dialogs -OpenOffice.org Basic : dialogs;displaying (example) -OpenOffice.org Basic : dialogs;loading (example) -OpenOffice.org Basic : dialogs;organizing -OpenOffice.org Basic : dialogs;properties -OpenOffice.org Basic : dialogs;translating -OpenOffice.org Basic : dialogs;using program code to show (example) -OpenOffice.org Basic : dictionaries -OpenOffice.org Basic : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Basic : dictionaries;creating -OpenOffice.org Basic : dictionaries;editing user-defined -OpenOffice.org Basic : dictionaries;spellcheck -OpenOffice.org Basic : dictionaries, see also languages -OpenOffice.org Basic : digital signatures -OpenOffice.org Basic : Dim statement -OpenOffice.org Basic : DimArray function -OpenOffice.org Basic : dimensioning arrays -OpenOffice.org Basic : Dir function -OpenOffice.org Basic : direct formatting -OpenOffice.org Basic : direct formatting;undoing all -OpenOffice.org Basic : directories -OpenOffice.org Basic : directories;creating new -OpenOffice.org Basic : directories;directory structure -OpenOffice.org Basic : disabled persons -OpenOffice.org Basic : displaying -OpenOffice.org Basic : displaying;non-printing characters (Writer) -OpenOffice.org Basic : displaying;notes (Calc) -OpenOffice.org Basic : displaying;notes in text documents -OpenOffice.org Basic : displaying;pictures and objects (Writer) -OpenOffice.org Basic : displaying;tables (Writer) -OpenOffice.org Basic : displaying;zero values (Calc) -OpenOffice.org Basic : distances -OpenOffice.org Basic : distinct values in SQL queries -OpenOffice.org Basic : distorting in drawings -OpenOffice.org Basic : distributing XML filters -OpenOffice.org Basic : dithering -OpenOffice.org Basic : DLL (Dynamic Link Library) -OpenOffice.org Basic : Do...Loop statement -OpenOffice.org Basic : docking -OpenOffice.org Basic : docking;definition -OpenOffice.org Basic : docking;toolbars -OpenOffice.org Basic : docking;windows -OpenOffice.org Basic : Document Converter Wizard -OpenOffice.org Basic : Document Map feature in Microsoft Office -OpenOffice.org Basic : Document Map, see Navigator -OpenOffice.org Basic : document types in OpenOffice.org -OpenOffice.org Basic : documents -OpenOffice.org Basic : documents;changing titles -OpenOffice.org Basic : documents;closing -OpenOffice.org Basic : documents;comparing -OpenOffice.org Basic : documents;contents as lists -OpenOffice.org Basic : documents;editing time -OpenOffice.org Basic : documents;exporting -OpenOffice.org Basic : documents;importing -OpenOffice.org Basic : documents;languages -OpenOffice.org Basic : documents;measurement units in -OpenOffice.org Basic : documents;merging -OpenOffice.org Basic : documents;number of pages/tables/sheets -OpenOffice.org Basic : documents;opening -OpenOffice.org Basic : documents;opening in design mode -OpenOffice.org Basic : documents;opening with templates -OpenOffice.org Basic : documents;organizing -OpenOffice.org Basic : documents;printing -OpenOffice.org Basic : documents;read-only -OpenOffice.org Basic : documents;reloading -OpenOffice.org Basic : documents;saving -OpenOffice.org Basic : documents;saving automatically -OpenOffice.org Basic : documents;saving in other formats -OpenOffice.org Basic : documents;sending as e-mail -OpenOffice.org Basic : documents;styles changed -OpenOffice.org Basic : documents;version management -OpenOffice.org Basic : documents;version numbers -OpenOffice.org Basic : dotted areas -OpenOffice.org Basic : double-line spacing in paragraphs -OpenOffice.org Basic : double-line writing in Asian layout -OpenOffice.org Basic : drag and drop -OpenOffice.org Basic : drag and drop;copying and pasting text -OpenOffice.org Basic : drag and drop;data source view -OpenOffice.org Basic : drag and drop;from Gallery to draw objects -OpenOffice.org Basic : drag and drop;overview -OpenOffice.org Basic : drag and drop;pictures -OpenOffice.org Basic : drag and drop;to Gallery -OpenOffice.org Basic : draw objects -OpenOffice.org Basic : draw objects;adding/editing/copying -OpenOffice.org Basic : draw objects;anchoring -OpenOffice.org Basic : draw objects;arranging within stacks -OpenOffice.org Basic : draw objects;copying -OpenOffice.org Basic : draw objects;copying between documents -OpenOffice.org Basic : draw objects;displaying (Calc) -OpenOffice.org Basic : draw objects;dropping Gallery pictures -OpenOffice.org Basic : draw objects;flipping -OpenOffice.org Basic : draw objects;legends -OpenOffice.org Basic : draw objects;positioning and resizing -OpenOffice.org Basic : draw objects;protecting -OpenOffice.org Basic : draw objects;slanting -OpenOffice.org Basic : draw objects;text in -OpenOffice.org Basic : Drawing bar -OpenOffice.org Basic : drawing lines in text -OpenOffice.org Basic : drawings -OpenOffice.org Basic : drawings;creating/opening -OpenOffice.org Basic : drawings;languages -OpenOffice.org Basic : drawings;printing -OpenOffice.org Basic : drawings;printing defaults -OpenOffice.org Basic : drawings;printing in text documents -OpenOffice.org Basic : drawings;saving -OpenOffice.org Basic : drawings;saving automatically -OpenOffice.org Basic : drawings;saving in other formats -OpenOffice.org Basic : drawings;sending as e-mail -OpenOffice.org Basic : drawings;showing (Writer) -OpenOffice.org Basic : drop-down lists in form functions -OpenOffice.org Basic : e-mail attachments -OpenOffice.org Basic : Edit File icon -OpenOffice.org Basic : edit mode -OpenOffice.org Basic : edit mode;after opening -OpenOffice.org Basic : edit mode;through Enter key (Calc) -OpenOffice.org Basic : Edit Points bar -OpenOffice.org Basic : editing -OpenOffice.org Basic : editing;chart axes -OpenOffice.org Basic : editing;chart data -OpenOffice.org Basic : editing;chart legends -OpenOffice.org Basic : editing;chart titles -OpenOffice.org Basic : editing;controls -OpenOffice.org Basic : editing;data binding of XForms -OpenOffice.org Basic : editing;database tables and queries -OpenOffice.org Basic : editing;draw objects -OpenOffice.org Basic : editing;Fontwork objects -OpenOffice.org Basic : editing;hyperlinks -OpenOffice.org Basic : editing;items in Data Navigator -OpenOffice.org Basic : editing;menus -OpenOffice.org Basic : editing;namespaces in XForms -OpenOffice.org Basic : editing;notes -OpenOffice.org Basic : editing;objects -OpenOffice.org Basic : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Basic : editing;pictures -OpenOffice.org Basic : editing;reports -OpenOffice.org Basic : editing;shortcut keys -OpenOffice.org Basic : editing;tab stops -OpenOffice.org Basic : editing;templates -OpenOffice.org Basic : editing;toolbars -OpenOffice.org Basic : editing;undoing -OpenOffice.org Basic : editing;XForms -OpenOffice.org Basic : editing time of documents -OpenOffice.org Basic : editors -OpenOffice.org Basic : editors;formula editor -OpenOffice.org Basic : editors;ImageMap editor -OpenOffice.org Basic : effects -OpenOffice.org Basic : effects;font positions -OpenOffice.org Basic : effects;fonts -OpenOffice.org Basic : effects;Fontwork icons -OpenOffice.org Basic : empty documents -OpenOffice.org Basic : empty paragraph removal -OpenOffice.org Basic : encryption of contents -OpenOffice.org Basic : End statement -OpenOffice.org Basic : entering groups -OpenOffice.org Basic : entering text from right to left -OpenOffice.org Basic : Environ function -OpenOffice.org Basic : Eof function -OpenOffice.org Basic : equal sign, see also operators -OpenOffice.org Basic : EqualUnoObjects function -OpenOffice.org Basic : equations in formula editor -OpenOffice.org Basic : Eqv operator (logical) -OpenOffice.org Basic : Erase function -OpenOffice.org Basic : Erl function -OpenOffice.org Basic : Err function -OpenOffice.org Basic : error codes in Basic -OpenOffice.org Basic : Error function -OpenOffice.org Basic : Error Report Tool -OpenOffice.org Basic : Euro -OpenOffice.org Basic : Euro;currency formats -OpenOffice.org Basic : Euro;Euro Converter Wizard -OpenOffice.org Basic : even/odd pages -OpenOffice.org Basic : even/odd pages;printing -OpenOffice.org Basic : events -OpenOffice.org Basic : events;assigning macros -OpenOffice.org Basic : events;controls -OpenOffice.org Basic : events;customizing -OpenOffice.org Basic : events;in forms -OpenOffice.org Basic : events;linked to objects -OpenOffice.org Basic : examples -OpenOffice.org Basic : examples;programming controls -OpenOffice.org Basic : examples;showing a dialog using program code -OpenOffice.org Basic : Excel -OpenOffice.org Basic : Excel;saving as -OpenOffice.org Basic : Excel;search criteria -OpenOffice.org Basic : exceptions -OpenOffice.org Basic : exceptions;user-defined dictionaries -OpenOffice.org Basic : exchanging, see also replacing -OpenOffice.org Basic : executing -OpenOffice.org Basic : executing;SQL commands -OpenOffice.org Basic : Exit statement -OpenOffice.org Basic : exiting -OpenOffice.org Basic : exiting;groups -OpenOffice.org Basic : exiting;OpenOffice.org -OpenOffice.org Basic : Exp function -OpenOffice.org Basic : expanding formatting (Calc) -OpenOffice.org Basic : explorer of data sources -OpenOffice.org Basic : export filters -OpenOffice.org Basic : exporting -OpenOffice.org Basic : exporting;bitmaps -OpenOffice.org Basic : exporting;databases -OpenOffice.org Basic : exporting;HTML and text documents -OpenOffice.org Basic : exporting;Microsoft Office documents with VBA code -OpenOffice.org Basic : exporting;spreadsheets to text format -OpenOffice.org Basic : exporting;templates -OpenOffice.org Basic : exporting;to foreign formats -OpenOffice.org Basic : exporting;to HTML -OpenOffice.org Basic : exporting;to Microsoft Office formats -OpenOffice.org Basic : exporting;to PDF -OpenOffice.org Basic : exporting;to PostScript format -OpenOffice.org Basic : exporting;to XML -OpenOffice.org Basic : exporting;XML files -OpenOffice.org Basic : extended tips in Help -OpenOffice.org Basic : extension mode in text -OpenOffice.org Basic : extensions -OpenOffice.org Basic : extensions;Extension Manager -OpenOffice.org Basic : extensions;file formats -OpenOffice.org Basic : external keys (Base) -OpenOffice.org Basic : faster printing -OpenOffice.org Basic : faxes -OpenOffice.org Basic : faxes;configuring OpenOffice.org -OpenOffice.org Basic : faxes;fax programs/fax printers under UNIX -OpenOffice.org Basic : faxes;selecting a fax machine -OpenOffice.org Basic : faxes;sending -OpenOffice.org Basic : faxes;wizards -OpenOffice.org Basic : fields -OpenOffice.org Basic : fields;database tables -OpenOffice.org Basic : fields;displaying field codes (Writer) -OpenOffice.org Basic : fields;formatted fields -OpenOffice.org Basic : fields;updating automatically (Writer) -OpenOffice.org Basic : file associations for Microsoft Office -OpenOffice.org Basic : file filters -OpenOffice.org Basic : file filters;mobile devices -OpenOffice.org Basic : file filters;XML -OpenOffice.org Basic : file formats -OpenOffice.org Basic : file formats;changing defaults -OpenOffice.org Basic : file formats;OpenDocument/XML -OpenOffice.org Basic : file formats;saving always in other formats -OpenOffice.org Basic : file selection button -OpenOffice.org Basic : file selection control -OpenOffice.org Basic : file sharing options for current document -OpenOffice.org Basic : FileAttr function -OpenOffice.org Basic : FileCopy statement -OpenOffice.org Basic : FileDateTime function -OpenOffice.org Basic : FileExists function -OpenOffice.org Basic : FileLen function -OpenOffice.org Basic : filepicker -OpenOffice.org Basic : filepicker;API service -OpenOffice.org Basic : files -OpenOffice.org Basic : files;filters and formats -OpenOffice.org Basic : files;importing -OpenOffice.org Basic : files;opening -OpenOffice.org Basic : files;opening with placeholders -OpenOffice.org Basic : files;properties -OpenOffice.org Basic : files;saving -OpenOffice.org Basic : files;saving automatically -OpenOffice.org Basic : files;saving in other formats -OpenOffice.org Basic : files;sending as e-mail -OpenOffice.org Basic : files;version numbers -OpenOffice.org Basic : files and folders in OpenOffice.org -OpenOffice.org Basic : fill characters with tabulators -OpenOffice.org Basic : fill colors for areas -OpenOffice.org Basic : fill patterns for areas -OpenOffice.org Basic : filter conditions -OpenOffice.org Basic : filter conditions;connecting -OpenOffice.org Basic : filter conditions;in queries (Base) -OpenOffice.org Basic : filtering -OpenOffice.org Basic : filtering;data in databases -OpenOffice.org Basic : filtering;data in forms -OpenOffice.org Basic : filters -OpenOffice.org Basic : filters;comparison operators -OpenOffice.org Basic : filters;for import and export -OpenOffice.org Basic : filters;Navigator -OpenOffice.org Basic : filters;pictures -OpenOffice.org Basic : filters;XML filter settings -OpenOffice.org Basic : Find tab in Help -OpenOffice.org Basic : finding -OpenOffice.org Basic : finding;in all sheets -OpenOffice.org Basic : finding;records in form documents -OpenOffice.org Basic : finding;selections -OpenOffice.org Basic : finding;similarity search -OpenOffice.org Basic : FindObject function -OpenOffice.org Basic : FindPropertyObject function -OpenOffice.org Basic : fitting to pages -OpenOffice.org Basic : fitting to pages;print settings in Math -OpenOffice.org Basic : fitting to pages;print settings in presentations -OpenOffice.org Basic : Fix function -OpenOffice.org Basic : fixed line control -OpenOffice.org Basic : fixed text -OpenOffice.org Basic : fixed text;form functions -OpenOffice.org Basic : fixed text control -OpenOffice.org Basic : fixing toolbars -OpenOffice.org Basic : flipping draw objects -OpenOffice.org Basic : floating frames in HTML documents -OpenOffice.org Basic : floating toolbars -OpenOffice.org Basic : focus of controls -OpenOffice.org Basic : folder creation -OpenOffice.org Basic : font lists -OpenOffice.org Basic : font name box -OpenOffice.org Basic : font sizes -OpenOffice.org Basic : font sizes;bullets -OpenOffice.org Basic : font sizes;relative changes -OpenOffice.org Basic : font sizes;scaling on screen -OpenOffice.org Basic : font sizes;text -OpenOffice.org Basic : fonts -OpenOffice.org Basic : fonts;adding under UNIX -OpenOffice.org Basic : fonts;changing in templates -OpenOffice.org Basic : fonts;colors -OpenOffice.org Basic : fonts;default settings -OpenOffice.org Basic : fonts;effects -OpenOffice.org Basic : fonts;for HTML and Basic -OpenOffice.org Basic : fonts;formats -OpenOffice.org Basic : fonts;outlines -OpenOffice.org Basic : fonts;positions in text -OpenOffice.org Basic : fonts;shadows -OpenOffice.org Basic : fonts;specifying several -OpenOffice.org Basic : fonts;strikethrough -OpenOffice.org Basic : fonts;styles -OpenOffice.org Basic : fonts;text objects -OpenOffice.org Basic : Fontwork icons -OpenOffice.org Basic : footers -OpenOffice.org Basic : footers;backgrounds -OpenOffice.org Basic : For statement -OpenOffice.org Basic : form controls -OpenOffice.org Basic : form controls;assigning macros -OpenOffice.org Basic : form controls;protecting -OpenOffice.org Basic : form controls;toolbars -OpenOffice.org Basic : form fields -OpenOffice.org Basic : form filters -OpenOffice.org Basic : Form Navigator -OpenOffice.org Basic : format codes -OpenOffice.org Basic : format codes;numbers -OpenOffice.org Basic : format codes;user-defined number formats -OpenOffice.org Basic : format filling printing in OpenOffice.org Math -OpenOffice.org Basic : Format function -OpenOffice.org Basic : Format Paintbrush -OpenOffice.org Basic : formats -OpenOffice.org Basic : formats;Asian layout -OpenOffice.org Basic : formats;Asian typography -OpenOffice.org Basic : formats;fonts -OpenOffice.org Basic : formats;maximizing page formats -OpenOffice.org Basic : formats;number and currency formats -OpenOffice.org Basic : formats;of currencies/date/time -OpenOffice.org Basic : formats;on opening and saving -OpenOffice.org Basic : formats;pasting in special formats -OpenOffice.org Basic : formats;positions -OpenOffice.org Basic : formats;tabulators -OpenOffice.org Basic : formats;undoing when writing -OpenOffice.org Basic : formatted field control -OpenOffice.org Basic : formatted fields -OpenOffice.org Basic : formatted fields;form functions -OpenOffice.org Basic : formatted fields;properties -OpenOffice.org Basic : formatting -OpenOffice.org Basic : formatting;axes in charts -OpenOffice.org Basic : formatting;chart legends -OpenOffice.org Basic : formatting;copying -OpenOffice.org Basic : formatting;definition -OpenOffice.org Basic : formatting;expanding (Calc) -OpenOffice.org Basic : formatting;font effects -OpenOffice.org Basic : formatting;hyperlinks -OpenOffice.org Basic : formatting;pages -OpenOffice.org Basic : formatting;printer metrics (Writer) -OpenOffice.org Basic : formatting;undoing -OpenOffice.org Basic : forms -OpenOffice.org Basic : forms;browsing -OpenOffice.org Basic : forms;Combo Box/List Box Wizard -OpenOffice.org Basic : forms;creating -OpenOffice.org Basic : forms;data -OpenOffice.org Basic : forms;designing (Base) -OpenOffice.org Basic : forms;events -OpenOffice.org Basic : forms;filtering data -OpenOffice.org Basic : forms;finding records -OpenOffice.org Basic : forms;focus after opening -OpenOffice.org Basic : forms;general information (Base) -OpenOffice.org Basic : forms;grouping controls -OpenOffice.org Basic : forms;HTML filters -OpenOffice.org Basic : forms;Navigator -OpenOffice.org Basic : forms;opening in design mode -OpenOffice.org Basic : forms;properties -OpenOffice.org Basic : forms;sorting data -OpenOffice.org Basic : forms;subforms -OpenOffice.org Basic : forms;wizards -OpenOffice.org Basic : forms;XForms -OpenOffice.org Basic : Formula Auditing feature in Microsoft Office -OpenOffice.org Basic : formula texts -OpenOffice.org Basic : formula texts;printing in OpenOffice.org Math -OpenOffice.org Basic : formulas -OpenOffice.org Basic : formulas;new -OpenOffice.org Basic : formulas;starting formula editor -OpenOffice.org Basic : formulas in reports -OpenOffice.org Basic : formulas in reports;editing -OpenOffice.org Basic : forums and support -OpenOffice.org Basic : frames -OpenOffice.org Basic : frames;around paragraphs -OpenOffice.org Basic : frames;around tables -OpenOffice.org Basic : frames;AutoCorrect function -OpenOffice.org Basic : frames;backgrounds -OpenOffice.org Basic : frames;captions (Writer) -OpenOffice.org Basic : frames;printing in OpenOffice.org Math -OpenOffice.org Basic : frames;protecting -OpenOffice.org Basic : frames;selection frames -OpenOffice.org Basic : frames;text fitting to frames -OpenOffice.org Basic : FreeFile function -OpenOffice.org Basic : freeform lines -OpenOffice.org Basic : freeform lines;draw functions -OpenOffice.org Basic : FreeLibrary function -OpenOffice.org Basic : FTP -OpenOffice.org Basic : FTP;opening documents -OpenOffice.org Basic : FTP;saving documents -OpenOffice.org Basic : full joins (Base) -OpenOffice.org Basic : full screen view -OpenOffice.org Basic : full-text search in Help -OpenOffice.org Basic : Function statement -OpenOffice.org Basic : functions -OpenOffice.org Basic : functions;return value type -OpenOffice.org Basic : functions;using -OpenOffice.org Basic : functions in reports -OpenOffice.org Basic : functions in reports;editing -OpenOffice.org Basic : fundamentals -OpenOffice.org Basic : Gallery -OpenOffice.org Basic : Gallery;adding pictures -OpenOffice.org Basic : Gallery;dragging pictures to draw objects -OpenOffice.org Basic : Gallery;hiding/showing -OpenOffice.org Basic : Gallery;inserting pictures from -OpenOffice.org Basic : German spellcheck -OpenOffice.org Basic : get method for form transmissions -OpenOffice.org Basic : Get statement -OpenOffice.org Basic : GetAttr function -OpenOffice.org Basic : GetDefaultContext function -OpenOffice.org Basic : GetGuiType function -OpenOffice.org Basic : GetProcessServiceManager function -OpenOffice.org Basic : GetSolarVersion function -OpenOffice.org Basic : GetSystemTicks function -OpenOffice.org Basic : getting support -OpenOffice.org Basic : GIF format -OpenOffice.org Basic : Global statement -OpenOffice.org Basic : GLOBAL variables -OpenOffice.org Basic : GlobalScope function -OpenOffice.org Basic : glossaries -OpenOffice.org Basic : glossaries;common terms -OpenOffice.org Basic : glossaries;Internet terms -OpenOffice.org Basic : GoSub...Return statement -OpenOffice.org Basic : GoTo statement -OpenOffice.org Basic : gradients off for faster printing -OpenOffice.org Basic : graphical text art -OpenOffice.org Basic : graphics -OpenOffice.org Basic : graphics;cache -OpenOffice.org Basic : graphics;protecting -OpenOffice.org Basic : graphics, see also pictures -OpenOffice.org Basic : grayscale printing -OpenOffice.org Basic : Green function -OpenOffice.org Basic : grid controls -OpenOffice.org Basic : grid controls;form functions -OpenOffice.org Basic : grids -OpenOffice.org Basic : grids;defaults (Writer/Calc) -OpenOffice.org Basic : grids;display options (Impress/Draw) -OpenOffice.org Basic : grids;displaying lines (Calc) -OpenOffice.org Basic : group box control -OpenOffice.org Basic : group box creation -OpenOffice.org Basic : groups -OpenOffice.org Basic : groups;entering/exiting/ungrouping -OpenOffice.org Basic : groups;naming -OpenOffice.org Basic : groups;of controls -OpenOffice.org Basic : guides -OpenOffice.org Basic : guides;display options (Impress/Draw) -OpenOffice.org Basic : guides;displaying when moving objects (Impress) -OpenOffice.org Basic : guides;showing (Calc) -OpenOffice.org Basic : guides;showing when moving frames (Writer) -OpenOffice.org Basic : gutter -OpenOffice.org Basic : handles -OpenOffice.org Basic : handles;displaying (Writer) -OpenOffice.org Basic : handles;scaling -OpenOffice.org Basic : handles;showing simple/large handles (Calc) -OpenOffice.org Basic : Hangul/Hanja -OpenOffice.org Basic : HasUnoInterfaces function -OpenOffice.org Basic : hatching -OpenOffice.org Basic : headers -OpenOffice.org Basic : headers;backgrounds -OpenOffice.org Basic : headings -OpenOffice.org Basic : headings;entering as text box -OpenOffice.org Basic : Hebrew -OpenOffice.org Basic : Hebrew;entering text -OpenOffice.org Basic : Hebrew;language settings -OpenOffice.org Basic : Help -OpenOffice.org Basic : Help;bookmarks -OpenOffice.org Basic : Help;extended tips on/off -OpenOffice.org Basic : Help;full-text search -OpenOffice.org Basic : Help;Help tips -OpenOffice.org Basic : Help;keywords -OpenOffice.org Basic : Help;navigation pane showing/hiding -OpenOffice.org Basic : Help;style sheets -OpenOffice.org Basic : Help;topics -OpenOffice.org Basic : Help Agent -OpenOffice.org Basic : Help Agent;help -OpenOffice.org Basic : Help Agent;options -OpenOffice.org Basic : Help tips -OpenOffice.org Basic : Help tips;hiding -OpenOffice.org Basic : Hex function -OpenOffice.org Basic : hidden controls in Form Navigator -OpenOffice.org Basic : hidden fields display (Writer) -OpenOffice.org Basic : hidden pages -OpenOffice.org Basic : hidden pages;printing in presentations -OpenOffice.org Basic : hidden text -OpenOffice.org Basic : hidden text;showing (Writer) -OpenOffice.org Basic : hiding -OpenOffice.org Basic : hiding;changes -OpenOffice.org Basic : hiding;docked windows -OpenOffice.org Basic : hiding;navigation pane in Help window -OpenOffice.org Basic : high contrast mode -OpenOffice.org Basic : Hindi -OpenOffice.org Basic : Hindi;entering text -OpenOffice.org Basic : Hindi;language settings -OpenOffice.org Basic : horizontal line control -OpenOffice.org Basic : horizontal scrollbar control -OpenOffice.org Basic : horizontal scrollbars (Writer) -OpenOffice.org Basic : Hour function -OpenOffice.org Basic : HTML -OpenOffice.org Basic : HTML;definition -OpenOffice.org Basic : HTML;export character set -OpenOffice.org Basic : HTML;fonts for source display -OpenOffice.org Basic : HTML;importing META tags -OpenOffice.org Basic : HTML;live presentations -OpenOffice.org Basic : HTML documents -OpenOffice.org Basic : HTML documents;auto reloading -OpenOffice.org Basic : HTML documents;importing/exporting -OpenOffice.org Basic : HTML documents;META tags in -OpenOffice.org Basic : HTML documents;new -OpenOffice.org Basic : HTML documents;source text -OpenOffice.org Basic : hyperlinks -OpenOffice.org Basic : hyperlinks;assigning macros -OpenOffice.org Basic : hyperlinks;character formats -OpenOffice.org Basic : hyperlinks;definition -OpenOffice.org Basic : hyperlinks;deleting -OpenOffice.org Basic : hyperlinks;editing -OpenOffice.org Basic : hyperlinks;inserting -OpenOffice.org Basic : hyperlinks;relative and absolute -OpenOffice.org Basic : hyperlinks;turning off automatic recognition -OpenOffice.org Basic : hyperlinks, see also links -OpenOffice.org Basic : hyphenation -OpenOffice.org Basic : hyphenation;activating for a language -OpenOffice.org Basic : hyphenation;minimal number of characters -OpenOffice.org Basic : hyphens -OpenOffice.org Basic : hyphens;displaying custom (Writer) -OpenOffice.org Basic : hyphens;inserting custom -OpenOffice.org Basic : icon bars, see toolbars -OpenOffice.org Basic : icon control -OpenOffice.org Basic : icon sizes -OpenOffice.org Basic : IDE -OpenOffice.org Basic : IDE;Integrated Development Environment -OpenOffice.org Basic : IDE;keyboard shortcuts -OpenOffice.org Basic : If statement -OpenOffice.org Basic : ignore list for spellcheck -OpenOffice.org Basic : IIf statement -OpenOffice.org Basic : illustrations, see pictures -OpenOffice.org Basic : image button creation -OpenOffice.org Basic : image control -OpenOffice.org Basic : image control creation -OpenOffice.org Basic : ImageMap -OpenOffice.org Basic : ImageMap;definition -OpenOffice.org Basic : ImageMap;editor -OpenOffice.org Basic : images -OpenOffice.org Basic : images;ImageMap -OpenOffice.org Basic : images;inserting and editing bitmaps -OpenOffice.org Basic : images;placeholders in presentations -OpenOffice.org Basic : images, see also pictures -OpenOffice.org Basic : IME -OpenOffice.org Basic : IME;definition -OpenOffice.org Basic : IME;showing/hiding -OpenOffice.org Basic : Imp operator (logical) -OpenOffice.org Basic : import filters -OpenOffice.org Basic : import restrictions for Microsoft Office -OpenOffice.org Basic : importing -OpenOffice.org Basic : importing;bitmaps -OpenOffice.org Basic : importing;compatibility settings for text import -OpenOffice.org Basic : importing;databases -OpenOffice.org Basic : importing;documents in other formats -OpenOffice.org Basic : importing;from XML -OpenOffice.org Basic : importing;HTML and text documents -OpenOffice.org Basic : importing;HTML with META tags -OpenOffice.org Basic : importing;Microsoft Office documents with VBA code -OpenOffice.org Basic : importing;tables in text format -OpenOffice.org Basic : importing;templates -OpenOffice.org Basic : inches -OpenOffice.org Basic : Index tab in Help -OpenOffice.org Basic : indexes -OpenOffice.org Basic : indexes;backgrounds -OpenOffice.org Basic : indexes;showing/hiding Help index tab -OpenOffice.org Basic : indexes;unprotecting -OpenOffice.org Basic : indicator lines in text -OpenOffice.org Basic : inner joins (Base) -OpenOffice.org Basic : input method window -OpenOffice.org Basic : Input statement -OpenOffice.org Basic : InputBox function -OpenOffice.org Basic : insert mode for entering text -OpenOffice.org Basic : inserting -OpenOffice.org Basic : inserting;applets -OpenOffice.org Basic : inserting;cell ranges from spreadsheets -OpenOffice.org Basic : inserting;charts -OpenOffice.org Basic : inserting;clipboard options -OpenOffice.org Basic : inserting;data from text documents -OpenOffice.org Basic : inserting;datasource records in spreadsheets -OpenOffice.org Basic : inserting;drawings -OpenOffice.org Basic : inserting;floating frames -OpenOffice.org Basic : inserting;form fields -OpenOffice.org Basic : inserting;hyperlinks -OpenOffice.org Basic : inserting;line breaks in cells -OpenOffice.org Basic : inserting;movies/sounds -OpenOffice.org Basic : inserting;new text tables defaults -OpenOffice.org Basic : inserting;notes -OpenOffice.org Basic : inserting;objects from Gallery -OpenOffice.org Basic : inserting;OLE objects -OpenOffice.org Basic : inserting;paragraph bullets -OpenOffice.org Basic : inserting;plug-ins -OpenOffice.org Basic : inserting;special characters -OpenOffice.org Basic : inserting;tab stops -OpenOffice.org Basic : installing -OpenOffice.org Basic : installing;ActiveX control -OpenOffice.org Basic : installing;mobile device filters -OpenOffice.org Basic : installing;UNO components -OpenOffice.org Basic : InStr function -OpenOffice.org Basic : instructions -OpenOffice.org Basic : instructions;general -OpenOffice.org Basic : Int function -OpenOffice.org Basic : Internet -OpenOffice.org Basic : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Basic : Internet;presentations -OpenOffice.org Basic : Internet;starting searches -OpenOffice.org Basic : Internet;turning off recognition of addresses -OpenOffice.org Basic : Internet glossary -OpenOffice.org Basic : invert filter -OpenOffice.org Basic : invisible areas -OpenOffice.org Basic : IsArray function -OpenOffice.org Basic : IsDate function -OpenOffice.org Basic : IsEmpty function -OpenOffice.org Basic : IsError function -OpenOffice.org Basic : IsMissing function -OpenOffice.org Basic : IsNull function -OpenOffice.org Basic : IsNumeric function -OpenOffice.org Basic : IsObject function -OpenOffice.org Basic : IsUnoStruct function -OpenOffice.org Basic : italic text -OpenOffice.org Basic : iterative references in spreadsheets -OpenOffice.org Basic : Java -OpenOffice.org Basic : Java;definition -OpenOffice.org Basic : Java;scripting -OpenOffice.org Basic : Java;setting options -OpenOffice.org Basic : JDBC -OpenOffice.org Basic : JDBC;databases (Base) -OpenOffice.org Basic : JDBC;definition -OpenOffice.org Basic : Join function -OpenOffice.org Basic : joining -OpenOffice.org Basic : joining;paragraphs -OpenOffice.org Basic : joining;tables (Base) -OpenOffice.org Basic : joins in databases (Base) -OpenOffice.org Basic : justifying text -OpenOffice.org Basic : kerning -OpenOffice.org Basic : kerning;Asian texts -OpenOffice.org Basic : kerning;definition -OpenOffice.org Basic : kerning;in characters -OpenOffice.org Basic : key fields for relations (Base) -OpenOffice.org Basic : keyboard -OpenOffice.org Basic : keyboard;assigning/editing shortcut keys -OpenOffice.org Basic : keyboard;general commands -OpenOffice.org Basic : keyboard;in IDE -OpenOffice.org Basic : keyboard;removing numbering -OpenOffice.org Basic : keys -OpenOffice.org Basic : keys;adding push buttons -OpenOffice.org Basic : keys;primary keys (Base) -OpenOffice.org Basic : Kill statement -OpenOffice.org Basic : kiosk export -OpenOffice.org Basic : label field control -OpenOffice.org Basic : labels -OpenOffice.org Basic : labels;creating and synchronizing -OpenOffice.org Basic : labels;for draw objects -OpenOffice.org Basic : labels;form functions -OpenOffice.org Basic : labels;from databases -OpenOffice.org Basic : labels, see also names/callouts -OpenOffice.org Basic : languages -OpenOffice.org Basic : languages;activating modules -OpenOffice.org Basic : languages;Asian support -OpenOffice.org Basic : languages;complex text layout -OpenOffice.org Basic : languages;locale settings -OpenOffice.org Basic : languages;selecting -OpenOffice.org Basic : languages;setting options -OpenOffice.org Basic : languages;spellcheck -OpenOffice.org Basic : languages;spellchecking and formatting -OpenOffice.org Basic : large handles (Writer) -OpenOffice.org Basic : large icons -OpenOffice.org Basic : layer arrangement -OpenOffice.org Basic : layout -OpenOffice.org Basic : layout;importing Word documents -OpenOffice.org Basic : layout;pages -OpenOffice.org Basic : LBound function -OpenOffice.org Basic : LCase function -OpenOffice.org Basic : LDAP server -OpenOffice.org Basic : LDAP server;address books (Base) -OpenOffice.org Basic : LDAP server;sign on options -OpenOffice.org Basic : leading between paragraphs -OpenOffice.org Basic : left alignment of paragraphs -OpenOffice.org Basic : Left function -OpenOffice.org Basic : left joins (Base) -OpenOffice.org Basic : legends -OpenOffice.org Basic : legends;charts -OpenOffice.org Basic : legends;draw objects -OpenOffice.org Basic : legends;rounding corners -OpenOffice.org Basic : Len function -OpenOffice.org Basic : Let statement -OpenOffice.org Basic : Letter Wizard -OpenOffice.org Basic : levels -OpenOffice.org Basic : levels;depth stagger -OpenOffice.org Basic : libraries -OpenOffice.org Basic : libraries;adding -OpenOffice.org Basic : libraries;organizing -OpenOffice.org Basic : library systems -OpenOffice.org Basic : LibraryContainer -OpenOffice.org Basic : limits of tables (Writer) -OpenOffice.org Basic : line breaks -OpenOffice.org Basic : line breaks;in cells -OpenOffice.org Basic : line control -OpenOffice.org Basic : Line Input statement -OpenOffice.org Basic : line spacing -OpenOffice.org Basic : line spacing;context menu in paragraphs -OpenOffice.org Basic : line spacing;paragraph -OpenOffice.org Basic : line styles -OpenOffice.org Basic : line styles;applying -OpenOffice.org Basic : line styles;defining -OpenOffice.org Basic : lines -OpenOffice.org Basic : lines;contours (Draw/Impress) -OpenOffice.org Basic : lines;defining ends -OpenOffice.org Basic : lines;draw functions -OpenOffice.org Basic : lines;drawing in text -OpenOffice.org Basic : lines;editing points -OpenOffice.org Basic : lines;removing automatic lines -OpenOffice.org Basic : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Basic : lines of text -OpenOffice.org Basic : lines of text;alignment -OpenOffice.org Basic : lines of text;in Basic editor -OpenOffice.org Basic : links -OpenOffice.org Basic : links;between cells and controls -OpenOffice.org Basic : links;by drag and drop -OpenOffice.org Basic : links;character formats -OpenOffice.org Basic : links;definition -OpenOffice.org Basic : links;editing hyperlinks -OpenOffice.org Basic : links;inserting -OpenOffice.org Basic : links;modifying -OpenOffice.org Basic : links;opening files with -OpenOffice.org Basic : links;relational databases (Base) -OpenOffice.org Basic : links;turning off automatic recognition -OpenOffice.org Basic : links;updating options (Writer) -OpenOffice.org Basic : links;updating specific links -OpenOffice.org Basic : list box creation -OpenOffice.org Basic : list boxes -OpenOffice.org Basic : list boxes;adding entries to (example) -OpenOffice.org Basic : list boxes;controls -OpenOffice.org Basic : list boxes;removing entries from (example) -OpenOffice.org Basic : lists -OpenOffice.org Basic : lists;data assigned to controls -OpenOffice.org Basic : lists;registered databases (Base) -OpenOffice.org Basic : lists;regular expressions -OpenOffice.org Basic : live presentations on the Internet -OpenOffice.org Basic : loading -OpenOffice.org Basic : loading;Basic code -OpenOffice.org Basic : loading;documents -OpenOffice.org Basic : loading;documents from other formats -OpenOffice.org Basic : loading;HTML documents, automatically -OpenOffice.org Basic : loading;Microsoft Office documents with VBA code -OpenOffice.org Basic : loading;reloading -OpenOffice.org Basic : loading;XML files -OpenOffice.org Basic : Loc function -OpenOffice.org Basic : locale settings -OpenOffice.org Basic : localizing dialogs -OpenOffice.org Basic : Lof function -OpenOffice.org Basic : Log function -OpenOffice.org Basic : long lines -OpenOffice.org Basic : long lines;in Basic editor -OpenOffice.org Basic : loops -OpenOffice.org Basic : lowercase letters -OpenOffice.org Basic : lowercase letters;font effects -OpenOffice.org Basic : LSet statement -OpenOffice.org Basic : LTrim function -OpenOffice.org Basic : macro toolbar -OpenOffice.org Basic : macros -OpenOffice.org Basic : macros;assigning to events -OpenOffice.org Basic : macros;assigning to events in forms -OpenOffice.org Basic : macros;Basic IDE -OpenOffice.org Basic : macros;in MS Office documents -OpenOffice.org Basic : macros;interrupting -OpenOffice.org Basic : macros;organizing -OpenOffice.org Basic : macros;recording -OpenOffice.org Basic : macros;security -OpenOffice.org Basic : macros;security warning dialog -OpenOffice.org Basic : macros;selecting security warnings -OpenOffice.org Basic : macros;stopping -OpenOffice.org Basic : magnifiers -OpenOffice.org Basic : Mail Merge feature in Microsoft Office -OpenOffice.org Basic : margins -OpenOffice.org Basic : margins;pages -OpenOffice.org Basic : margins;setting with the mouse -OpenOffice.org Basic : margins;shadows -OpenOffice.org Basic : marking changes -OpenOffice.org Basic : Markup feature in Microsoft Office -OpenOffice.org Basic : masked field control -OpenOffice.org Basic : Math formula editor -OpenOffice.org Basic : measurement units -OpenOffice.org Basic : measurement units;changing on rulers -OpenOffice.org Basic : measurement units;converting -OpenOffice.org Basic : measurement units;selecting -OpenOffice.org Basic : Media Player window -OpenOffice.org Basic : menus -OpenOffice.org Basic : menus;activating context menus -OpenOffice.org Basic : menus;customizing -OpenOffice.org Basic : menus;inactive menu items -OpenOffice.org Basic : merging -OpenOffice.org Basic : merging;documents -OpenOffice.org Basic : META tags -OpenOffice.org Basic : metrics -OpenOffice.org Basic : metrics;converting -OpenOffice.org Basic : metrics;document formatting (Writer) -OpenOffice.org Basic : metrics;in sheets -OpenOffice.org Basic : Microsoft Office -OpenOffice.org Basic : Microsoft Office;Access databases (base) -OpenOffice.org Basic : Microsoft Office;as standard file format -OpenOffice.org Basic : Microsoft Office;document import restrictions -OpenOffice.org Basic : Microsoft Office;feature comparisons -OpenOffice.org Basic : Microsoft Office;importing password protected files -OpenOffice.org Basic : Microsoft Office;importing Word documents -OpenOffice.org Basic : Microsoft Office;importing/exporting VBA code -OpenOffice.org Basic : Microsoft Office;new users information -OpenOffice.org Basic : Microsoft Office;opening Microsoft documents -OpenOffice.org Basic : Microsoft Office;reassigning document types -OpenOffice.org Basic : Mid function -OpenOffice.org Basic : Mid statement -OpenOffice.org Basic : Minute function -OpenOffice.org Basic : MkDir statement -OpenOffice.org Basic : mobile device filters -OpenOffice.org Basic : MOD operator (mathematical) -OpenOffice.org Basic : models in XForms -OpenOffice.org Basic : modifying, see changing -OpenOffice.org Basic : module/dialog toggle -OpenOffice.org Basic : modules -OpenOffice.org Basic : modules;organizing -OpenOffice.org Basic : modules;subroutines and functions -OpenOffice.org Basic : Month function -OpenOffice.org Basic : more controls -OpenOffice.org Basic : mosaic filter -OpenOffice.org Basic : mouse -OpenOffice.org Basic : mouse;pointers when using drag and drop -OpenOffice.org Basic : mouse;positioning -OpenOffice.org Basic : moving -OpenOffice.org Basic : moving;modules -OpenOffice.org Basic : moving;tab stops on ruler -OpenOffice.org Basic : moving;toolbars -OpenOffice.org Basic : moving;using guide lines in presentations -OpenOffice.org Basic : MS ADO interface (Base) -OpenOffice.org Basic : MsgBox function -OpenOffice.org Basic : MsgBox statement -OpenOffice.org Basic : multi-line titles in forms -OpenOffice.org Basic : multiple documents -OpenOffice.org Basic : multiple documents;opening -OpenOffice.org Basic : My Documents folder -OpenOffice.org Basic : My Documents folder;changing work directory -OpenOffice.org Basic : My Documents folder;opening -OpenOffice.org Basic : MySQL databases (Base) -OpenOffice.org Basic : Name statement -OpenOffice.org Basic : names -OpenOffice.org Basic : names;multi-line titles -OpenOffice.org Basic : names;objects -OpenOffice.org Basic : names of variables -OpenOffice.org Basic : names, see also labels/callouts -OpenOffice.org Basic : namespace organization in XForms -OpenOffice.org Basic : native SQL (Base) -OpenOffice.org Basic : navigating -OpenOffice.org Basic : navigating;in Basic projects -OpenOffice.org Basic : navigating;in documents -OpenOffice.org Basic : Navigation bar -OpenOffice.org Basic : Navigation bar;controls -OpenOffice.org Basic : Navigation bar;forms -OpenOffice.org Basic : Navigator -OpenOffice.org Basic : Navigator;contents as lists -OpenOffice.org Basic : Navigator;docking -OpenOffice.org Basic : Navigator;working with -OpenOffice.org Basic : network identity options -OpenOffice.org Basic : new databases -OpenOffice.org Basic : new documents -OpenOffice.org Basic : new German spellcheck -OpenOffice.org Basic : new lines in cells -OpenOffice.org Basic : new windows -OpenOffice.org Basic : Next statement -OpenOffice.org Basic : non-breaking dashes -OpenOffice.org Basic : non-breaking spaces (Writer) -OpenOffice.org Basic : non-printing characters (Writer) -OpenOffice.org Basic : Not operator (logical) -OpenOffice.org Basic : notes -OpenOffice.org Basic : notes;displaying (Calc) -OpenOffice.org Basic : notes;inserting and editing -OpenOffice.org Basic : notes;printing in text -OpenOffice.org Basic : Nothing object -OpenOffice.org Basic : Now function -OpenOffice.org Basic : Null value -OpenOffice.org Basic : number formats -OpenOffice.org Basic : number formats;codes -OpenOffice.org Basic : number formats;formats -OpenOffice.org Basic : number formats;recognition in text tables -OpenOffice.org Basic : number of pages -OpenOffice.org Basic : number of sheets -OpenOffice.org Basic : number of tables -OpenOffice.org Basic : numbering -OpenOffice.org Basic : numbering;options -OpenOffice.org Basic : numbering;paragraphs -OpenOffice.org Basic : numbering;turning off -OpenOffice.org Basic : numbering;using automatically -OpenOffice.org Basic : numbers -OpenOffice.org Basic : numbers;date, time and currency formats -OpenOffice.org Basic : numbers;decimal places (Calc) -OpenOffice.org Basic : numbers;formatting options for selected cells -OpenOffice.org Basic : numerical field control -OpenOffice.org Basic : numerical fields in forms -OpenOffice.org Basic : objects -OpenOffice.org Basic : objects;always moveable (Impress/Draw) -OpenOffice.org Basic : objects;arranging within stacks -OpenOffice.org Basic : objects;contours in presentations -OpenOffice.org Basic : objects;copying when moving in presentations -OpenOffice.org Basic : objects;definition -OpenOffice.org Basic : objects;displaying in spreadsheets -OpenOffice.org Basic : objects;displaying in text documents -OpenOffice.org Basic : objects;editing -OpenOffice.org Basic : objects;inserting from Gallery -OpenOffice.org Basic : objects;inserting OLE objects -OpenOffice.org Basic : objects;moving and resizing with mouse -OpenOffice.org Basic : objects;naming -OpenOffice.org Basic : objects;opening -OpenOffice.org Basic : objects;quickly moving to -OpenOffice.org Basic : objects;titles and descriptions -OpenOffice.org Basic : Oct function -OpenOffice.org Basic : ODBC -OpenOffice.org Basic : ODBC;database (Base) -OpenOffice.org Basic : ODBC;definition -OpenOffice.org Basic : ODF file formats -OpenOffice.org Basic : Office -OpenOffice.org Basic : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Basic : old German spellcheck -OpenOffice.org Basic : OLE -OpenOffice.org Basic : OLE;definition -OpenOffice.org Basic : OLE objects -OpenOffice.org Basic : OLE objects;arranging within stacks -OpenOffice.org Basic : OLE objects;captions (Writer) -OpenOffice.org Basic : OLE objects;inserting -OpenOffice.org Basic : OLE objects;number of -OpenOffice.org Basic : OLE objects;protecting -OpenOffice.org Basic : On Error GoTo ... Resume statement -OpenOffice.org Basic : On...GoSub statement -OpenOffice.org Basic : On...GoTo statement -OpenOffice.org Basic : one and a half line spacing in text -OpenOffice.org Basic : online registration -OpenOffice.org Basic : online update options -OpenOffice.org Basic : online updates -OpenOffice.org Basic : online updates;checking automatically -OpenOffice.org Basic : online updates;checking manually -OpenOffice.org Basic : Open statement -OpenOffice.org Basic : Open/Save dialogs -OpenOffice.org Basic : OpenDocument file formats -OpenOffice.org Basic : OpenGL -OpenOffice.org Basic : OpenGL;definition -OpenOffice.org Basic : OpenGL;optimized output -OpenOffice.org Basic : opening -OpenOffice.org Basic : opening;context menus -OpenOffice.org Basic : opening;database files -OpenOffice.org Basic : opening;dialog settings -OpenOffice.org Basic : opening;documents -OpenOffice.org Basic : opening;documents from other formats -OpenOffice.org Basic : opening;files with links -OpenOffice.org Basic : opening;files, with placeholders -OpenOffice.org Basic : opening;forms -OpenOffice.org Basic : opening;Microsoft Office files -OpenOffice.org Basic : opening;mobile device documents -OpenOffice.org Basic : opening;objects -OpenOffice.org Basic : opening;reports -OpenOffice.org Basic : opening;several files -OpenOffice.org Basic : opening;XForms -OpenOffice.org Basic : OpenOffice.org Base data sources -OpenOffice.org Basic : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Basic : OpenOffice.org documents -OpenOffice.org Basic : OpenOffice.org documents;mobile device filters -OpenOffice.org Basic : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Basic : OpenOffice.org Math start -OpenOffice.org Basic : operators -OpenOffice.org Basic : operators;comparisons -OpenOffice.org Basic : operators;default filters -OpenOffice.org Basic : Option Base statement -OpenOffice.org Basic : option button control -OpenOffice.org Basic : Option Explicit statement -OpenOffice.org Basic : Optional function -OpenOffice.org Basic : optional hyphens (Writer) -OpenOffice.org Basic : options -OpenOffice.org Basic : options;accessibility -OpenOffice.org Basic : options;appearance -OpenOffice.org Basic : options;compatibility (Writer) -OpenOffice.org Basic : options;network identity -OpenOffice.org Basic : options;online update -OpenOffice.org Basic : options;tools -OpenOffice.org Basic : Or operator (logical) -OpenOffice.org Basic : Oracle databases (base) -OpenOffice.org Basic : ordering -OpenOffice.org Basic : ordering;objects -OpenOffice.org Basic : organizing -OpenOffice.org Basic : organizing;macros and scripts -OpenOffice.org Basic : organizing;modules/libraries/dialogs -OpenOffice.org Basic : organizing;namespaces in XForms -OpenOffice.org Basic : organizing;styles -OpenOffice.org Basic : organizing;templates -OpenOffice.org Basic : original size -OpenOffice.org Basic : original size;printing in OpenOffice.org Math -OpenOffice.org Basic : original size;restoring after cropping -OpenOffice.org Basic : outlines -OpenOffice.org Basic : outlines;font effects -OpenOffice.org Basic : outlines;outline symbols -OpenOffice.org Basic : outlines;sending to presentations -OpenOffice.org Basic : overwrite mode -OpenOffice.org Basic : packages, see extensions -OpenOffice.org Basic : page breaks -OpenOffice.org Basic : page breaks;displaying (Calc) -OpenOffice.org Basic : page formats -OpenOffice.org Basic : page formats;maximizing -OpenOffice.org Basic : page formats;restriction -OpenOffice.org Basic : page styles -OpenOffice.org Basic : page styles;editing/applying with statusbar -OpenOffice.org Basic : pages -OpenOffice.org Basic : pages;backgrounds in spreadsheets -OpenOffice.org Basic : pages;formatting and numbering -OpenOffice.org Basic : pages;printing page names in presentations -OpenOffice.org Basic : pages;scaling -OpenOffice.org Basic : pages;selecting one to print -OpenOffice.org Basic : paint box -OpenOffice.org Basic : paint can symbol -OpenOffice.org Basic : pair kerning -OpenOffice.org Basic : Palm file filters -OpenOffice.org Basic : paper formats -OpenOffice.org Basic : paper size warning -OpenOffice.org Basic : paper trays -OpenOffice.org Basic : paragraph marks -OpenOffice.org Basic : paragraph marks;displaying (Writer) -OpenOffice.org Basic : paragraph styles -OpenOffice.org Basic : paragraph styles;languages -OpenOffice.org Basic : paragraph styles;modifying basic fonts -OpenOffice.org Basic : paragraphs -OpenOffice.org Basic : paragraphs;alignment -OpenOffice.org Basic : paragraphs;Asian typography -OpenOffice.org Basic : paragraphs;backgrounds -OpenOffice.org Basic : paragraphs;defining borders -OpenOffice.org Basic : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Basic : paragraphs;increasing indents of -OpenOffice.org Basic : paragraphs;indents, margins and columns -OpenOffice.org Basic : paragraphs;inserting bullets -OpenOffice.org Basic : paragraphs;joining -OpenOffice.org Basic : paragraphs;numbering automatically -OpenOffice.org Basic : paragraphs;removing blank ones -OpenOffice.org Basic : paragraphs;spacing -OpenOffice.org Basic : paragraphs;tab stops -OpenOffice.org Basic : parameters -OpenOffice.org Basic : parameters;command line -OpenOffice.org Basic : parameters;for procedures and functions -OpenOffice.org Basic : parameters;passing by reference or value -OpenOffice.org Basic : parameters;queries (Base) -OpenOffice.org Basic : passwords for protecting contents -OpenOffice.org Basic : pasting -OpenOffice.org Basic : pasting;cell ranges -OpenOffice.org Basic : pasting;cell ranges from spreadsheets -OpenOffice.org Basic : pasting;data from text documents -OpenOffice.org Basic : pasting;draw objects -OpenOffice.org Basic : pasting;draw objects from other documents -OpenOffice.org Basic : pasting;formatted/unformatted text -OpenOffice.org Basic : pasting;from data source view -OpenOffice.org Basic : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Basic : pasting;pictures from other documents -OpenOffice.org Basic : pasting;sheet areas in text documents -OpenOffice.org Basic : pasting;to Gallery -OpenOffice.org Basic : paths -OpenOffice.org Basic : paths;changing work directory -OpenOffice.org Basic : paths;defaults -OpenOffice.org Basic : pattern editor -OpenOffice.org Basic : pattern field control -OpenOffice.org Basic : pattern fields -OpenOffice.org Basic : pattern fields;form functions -OpenOffice.org Basic : patterns for objects -OpenOffice.org Basic : PDF -OpenOffice.org Basic : PDF;export -OpenOffice.org Basic : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Basic : personal data input -OpenOffice.org Basic : phonetic guide -OpenOffice.org Basic : picklist creation -OpenOffice.org Basic : pictures -OpenOffice.org Basic : pictures;adding to Gallery -OpenOffice.org Basic : pictures;arranging within stacks -OpenOffice.org Basic : pictures;assigning macros -OpenOffice.org Basic : pictures;backgrounds -OpenOffice.org Basic : pictures;captions (Writer) -OpenOffice.org Basic : pictures;changing paths -OpenOffice.org Basic : pictures;cropping and zooming -OpenOffice.org Basic : pictures;displaying in Calc -OpenOffice.org Basic : pictures;displaying in Writer (Writer) -OpenOffice.org Basic : pictures;drag and drop between documents -OpenOffice.org Basic : pictures;drawing -OpenOffice.org Basic : pictures;editing -OpenOffice.org Basic : pictures;filters -OpenOffice.org Basic : pictures;ImageMap -OpenOffice.org Basic : pictures;inserting automatically -OpenOffice.org Basic : pictures;inserting from Gallery -OpenOffice.org Basic : pictures;number of -OpenOffice.org Basic : pictures;printing -OpenOffice.org Basic : pictures;scaling/resizing -OpenOffice.org Basic : Pivot tables feature in Microsoft Office -OpenOffice.org Basic : pixel editor -OpenOffice.org Basic : pixel graphics -OpenOffice.org Basic : pixel graphics;inserting and editing -OpenOffice.org Basic : pixel patterns -OpenOffice.org Basic : placeholders -OpenOffice.org Basic : placeholders;in SQL queries -OpenOffice.org Basic : placeholders;on opening files -OpenOffice.org Basic : placing toolbars -OpenOffice.org Basic : playing movies and sound files -OpenOffice.org Basic : plotting data as charts -OpenOffice.org Basic : plug-ins -OpenOffice.org Basic : plug-ins;activating and deactivating -OpenOffice.org Basic : plug-ins;definition -OpenOffice.org Basic : plug-ins;inserting -OpenOffice.org Basic : pocket device appliances -OpenOffice.org Basic : Pocket PC file filters -OpenOffice.org Basic : points -OpenOffice.org Basic : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Basic : polygon drawing -OpenOffice.org Basic : pop-art filter -OpenOffice.org Basic : portable document format -OpenOffice.org Basic : positioning -OpenOffice.org Basic : positioning;draw objects and controls -OpenOffice.org Basic : positioning;fonts -OpenOffice.org Basic : positioning;objects -OpenOffice.org Basic : positioning;toolbars -OpenOffice.org Basic : post method for form transmissions -OpenOffice.org Basic : posterizing filter -OpenOffice.org Basic : PostScript -OpenOffice.org Basic : PostScript;creating files -OpenOffice.org Basic : PostScript;PDF converter, UNIX -OpenOffice.org Basic : PowerPoint export -OpenOffice.org Basic : precision as shown (Calc) -OpenOffice.org Basic : predefining fonts -OpenOffice.org Basic : presentations -OpenOffice.org Basic : presentations;creating/opening -OpenOffice.org Basic : presentations;inserting spreadsheet cells -OpenOffice.org Basic : presentations;live on the Internet -OpenOffice.org Basic : presentations;print menu -OpenOffice.org Basic : presentations;saving -OpenOffice.org Basic : presentations;saving automatically -OpenOffice.org Basic : presentations;saving in other formats -OpenOffice.org Basic : presentations;sending as e-mail -OpenOffice.org Basic : presentations;starting with wizard -OpenOffice.org Basic : presentations;wizards -OpenOffice.org Basic : press buttons, see push buttons -OpenOffice.org Basic : previews -OpenOffice.org Basic : previews;fonts lists -OpenOffice.org Basic : primary keys -OpenOffice.org Basic : primary keys;defining -OpenOffice.org Basic : primary keys;inserting (Base) -OpenOffice.org Basic : print area selection -OpenOffice.org Basic : Print statement -OpenOffice.org Basic : printer metrics for document formatting (Writer) -OpenOffice.org Basic : printers -OpenOffice.org Basic : printers;adding, UNIX -OpenOffice.org Basic : printers;choosing -OpenOffice.org Basic : printers;default printer -OpenOffice.org Basic : printers;faxes under UNIX -OpenOffice.org Basic : printers;maximum page formats -OpenOffice.org Basic : printers;paper trays -OpenOffice.org Basic : printers;properties -OpenOffice.org Basic : printing -OpenOffice.org Basic : printing;black and white -OpenOffice.org Basic : printing;brochures -OpenOffice.org Basic : printing;colors in grayscale -OpenOffice.org Basic : printing;copies -OpenOffice.org Basic : printing;creating individual jobs -OpenOffice.org Basic : printing;dates in presentations -OpenOffice.org Basic : printing;directly -OpenOffice.org Basic : printing;documents -OpenOffice.org Basic : printing;drawings defaults -OpenOffice.org Basic : printing;elements in text documents -OpenOffice.org Basic : printing;faster -OpenOffice.org Basic : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Basic : printing;fitting to pages in presentations -OpenOffice.org Basic : printing;formulas in OpenOffice.org Math -OpenOffice.org Basic : printing;hidden pages of presentations -OpenOffice.org Basic : printing;in original size in OpenOffice.org Math -OpenOffice.org Basic : printing;left/right pages -OpenOffice.org Basic : printing;queries (Base) -OpenOffice.org Basic : printing;scaling in OpenOffice.org Math -OpenOffice.org Basic : printing;selections -OpenOffice.org Basic : printing;text always in black -OpenOffice.org Basic : printing;text in reverse order -OpenOffice.org Basic : printing;tiling pages in presentations -OpenOffice.org Basic : printing;transparencies -OpenOffice.org Basic : printing;warnings -OpenOffice.org Basic : printing;without scaling in presentations -OpenOffice.org Basic : printing speed -OpenOffice.org Basic : PRIVATE variables -OpenOffice.org Basic : procedures -OpenOffice.org Basic : ProcessServiceManager -OpenOffice.org Basic : program stops -OpenOffice.org Basic : programming -OpenOffice.org Basic : programming;OpenOffice.org -OpenOffice.org Basic : programming;scripting -OpenOffice.org Basic : programming examples for controls -OpenOffice.org Basic : progress bar control -OpenOffice.org Basic : properties -OpenOffice.org Basic : properties;controls and dialogs -OpenOffice.org Basic : properties;controls in dialog editor -OpenOffice.org Basic : properties;fields in databases -OpenOffice.org Basic : properties;files -OpenOffice.org Basic : properties;form controls -OpenOffice.org Basic : properties;forms -OpenOffice.org Basic : properties;printers -OpenOffice.org Basic : protected contents -OpenOffice.org Basic : protected dashes -OpenOffice.org Basic : protected database tables -OpenOffice.org Basic : protected documents -OpenOffice.org Basic : protected spaces -OpenOffice.org Basic : protected spaces;inserting -OpenOffice.org Basic : protected spaces;showing (Writer) -OpenOffice.org Basic : protecting -OpenOffice.org Basic : protecting;contents -OpenOffice.org Basic : protecting;recorded changes -OpenOffice.org Basic : proxy settings -OpenOffice.org Basic : Public statement -OpenOffice.org Basic : PUBLIC variables -OpenOffice.org Basic : push button control in dialog editor -OpenOffice.org Basic : push buttons -OpenOffice.org Basic : push buttons;adding to documents -OpenOffice.org Basic : push buttons;creating -OpenOffice.org Basic : Put statement -OpenOffice.org Basic : queries -OpenOffice.org Basic : queries;copying (Base) -OpenOffice.org Basic : queries;creating in design view (Base) -OpenOffice.org Basic : queries;creating in SQL view -OpenOffice.org Basic : queries;defining (Base) -OpenOffice.org Basic : queries;deleting table links (Base) -OpenOffice.org Basic : queries;editing in data source view -OpenOffice.org Basic : queries;formulating filter conditions (Base) -OpenOffice.org Basic : queries;joining tables (Base) -OpenOffice.org Basic : queries;missing elements (Base) -OpenOffice.org Basic : queries;overview (Base) -OpenOffice.org Basic : queries;parameter queries (Base) -OpenOffice.org Basic : queries;printing (Base) -OpenOffice.org Basic : Query Wizard (Base) -OpenOffice.org Basic : quickstarter -OpenOffice.org Basic : quotation marks -OpenOffice.org Basic : quotation marks;replacing -OpenOffice.org Basic : quotes -OpenOffice.org Basic : quotes;custom -OpenOffice.org Basic : radio button control -OpenOffice.org Basic : radio button creation -OpenOffice.org Basic : Randomize statement -OpenOffice.org Basic : read-only documents -OpenOffice.org Basic : read-only documents;cursor -OpenOffice.org Basic : read-only documents;database tables on/off -OpenOffice.org Basic : read-only documents;editing -OpenOffice.org Basic : read-only documents;opening documents as -OpenOffice.org Basic : read-only items in Data Navigator -OpenOffice.org Basic : recognizing URLs automatically -OpenOffice.org Basic : recording -OpenOffice.org Basic : recording;changes -OpenOffice.org Basic : recording;macros -OpenOffice.org Basic : records -OpenOffice.org Basic : records;inserting notes -OpenOffice.org Basic : records;protecting -OpenOffice.org Basic : records;saving -OpenOffice.org Basic : records;searching in databases -OpenOffice.org Basic : rectangles with round corners -OpenOffice.org Basic : recursions in spreadsheets -OpenOffice.org Basic : Red function -OpenOffice.org Basic : ReDim statement -OpenOffice.org Basic : redo command -OpenOffice.org Basic : reduced printing -OpenOffice.org Basic : reference lines -OpenOffice.org Basic : references -OpenOffice.org Basic : references;displaying in color (Calc) -OpenOffice.org Basic : references;expanding (Calc) -OpenOffice.org Basic : references;iterative (Calc) -OpenOffice.org Basic : Refresh Data feature in Microsoft Office -OpenOffice.org Basic : register-true -OpenOffice.org Basic : register-true;definition -OpenOffice.org Basic : registering -OpenOffice.org Basic : registering;address books -OpenOffice.org Basic : registering;databases (Base) -OpenOffice.org Basic : registering;OpenOffice.org -OpenOffice.org Basic : regular expressions -OpenOffice.org Basic : regular expressions;list of -OpenOffice.org Basic : regular expressions;opening files -OpenOffice.org Basic : relational databases (Base) -OpenOffice.org Basic : relations -OpenOffice.org Basic : relations;creating and deleting (Base) -OpenOffice.org Basic : relations;joining tables (Base) -OpenOffice.org Basic : relations;properties (Base) -OpenOffice.org Basic : relative hyperlinks -OpenOffice.org Basic : relative saving of URLs -OpenOffice.org Basic : reloading -OpenOffice.org Basic : reloading;documents -OpenOffice.org Basic : reloading;HTML documents, automatically -OpenOffice.org Basic : Rem statement -OpenOffice.org Basic : remarks, see also notes -OpenOffice.org Basic : remote configurations -OpenOffice.org Basic : remove noise filter -OpenOffice.org Basic : removing -OpenOffice.org Basic : removing;bullets and numbering -OpenOffice.org Basic : removing;form filters -OpenOffice.org Basic : removing, see also deleting -OpenOffice.org Basic : renaming modules and dialogs -OpenOffice.org Basic : Replace text as you type feature in Microsoft Office -OpenOffice.org Basic : replacement options -OpenOffice.org Basic : replacement table -OpenOffice.org Basic : replacing -OpenOffice.org Basic : replacing;AutoCorrect function -OpenOffice.org Basic : replacing;dashes -OpenOffice.org Basic : Report Builder -OpenOffice.org Basic : reports -OpenOffice.org Basic : reports;creating -OpenOffice.org Basic : reports;error reports -OpenOffice.org Basic : reports;opening and editing -OpenOffice.org Basic : reports;templates -OpenOffice.org Basic : Reset statement -OpenOffice.org Basic : resetting -OpenOffice.org Basic : resetting;templates -OpenOffice.org Basic : resizing -OpenOffice.org Basic : resizing;objects, by mouse -OpenOffice.org Basic : resizing, see also scaling/zooming -OpenOffice.org Basic : resolution when printing bitmaps -OpenOffice.org Basic : restoring -OpenOffice.org Basic : restoring;default formatting -OpenOffice.org Basic : restoring;editing -OpenOffice.org Basic : Resume Next parameter -OpenOffice.org Basic : return value type of functions -OpenOffice.org Basic : reversing printing order -OpenOffice.org Basic : review function -OpenOffice.org Basic : review function;accepting or rejecting changes -OpenOffice.org Basic : review function;comparing documents -OpenOffice.org Basic : review function;recording changes example -OpenOffice.org Basic : rich text control -OpenOffice.org Basic : right alignment of paragraphs -OpenOffice.org Basic : Right function -OpenOffice.org Basic : right joins (Base) -OpenOffice.org Basic : right-to-left text -OpenOffice.org Basic : RmDir statement -OpenOffice.org Basic : Rnd function -OpenOffice.org Basic : rotating -OpenOffice.org Basic : rotating;3D text -OpenOffice.org Basic : round corners -OpenOffice.org Basic : rounding precision (Calc) -OpenOffice.org Basic : row headers -OpenOffice.org Basic : row headers;displaying (Calc) -OpenOffice.org Basic : row headers;highlighting (Calc) -OpenOffice.org Basic : RSet statement -OpenOffice.org Basic : RTrim function -OpenOffice.org Basic : rulers -OpenOffice.org Basic : rulers;default settings -OpenOffice.org Basic : rulers;measurement units -OpenOffice.org Basic : rulers;visible in presentations -OpenOffice.org Basic : run-time errors in Basic -OpenOffice.org Basic : samples and templates -OpenOffice.org Basic : saving -OpenOffice.org Basic : saving;Basic code -OpenOffice.org Basic : saving;default file formats -OpenOffice.org Basic : saving;dialog settings -OpenOffice.org Basic : saving;documents -OpenOffice.org Basic : saving;documents for mobile devices -OpenOffice.org Basic : saving;documents in other formats -OpenOffice.org Basic : saving;documents, automatically -OpenOffice.org Basic : saving;in Microsoft Office file format -OpenOffice.org Basic : saving;options -OpenOffice.org Basic : saving;templates -OpenOffice.org Basic : saving;to XML -OpenOffice.org Basic : saving;VBA code in Microsoft Office documents -OpenOffice.org Basic : saving;with password by default -OpenOffice.org Basic : saving as command -OpenOffice.org Basic : saving as command;precautions -OpenOffice.org Basic : scaling -OpenOffice.org Basic : scaling;font sizes in user interface -OpenOffice.org Basic : scaling;objects -OpenOffice.org Basic : scaling;pictures -OpenOffice.org Basic : scaling;printing in OpenOffice.org Math -OpenOffice.org Basic : scaling;when printing presentations -OpenOffice.org Basic : scaling, see also zooming -OpenOffice.org Basic : scope of variables -OpenOffice.org Basic : screen -OpenOffice.org Basic : screen;full screen views -OpenOffice.org Basic : screen;scaling -OpenOffice.org Basic : screen magnifiers -OpenOffice.org Basic : screen readers -OpenOffice.org Basic : script organization -OpenOffice.org Basic : scripting in programming -OpenOffice.org Basic : scroll bar control -OpenOffice.org Basic : scrollbars -OpenOffice.org Basic : scrollbars;controls -OpenOffice.org Basic : scrollbars;displaying (Calc) -OpenOffice.org Basic : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Basic : search criteria for database functions in cells -OpenOffice.org Basic : search engines -OpenOffice.org Basic : search engines;definition -OpenOffice.org Basic : search engines;selecting -OpenOffice.org Basic : searching -OpenOffice.org Basic : searching;all sheets -OpenOffice.org Basic : searching;databases -OpenOffice.org Basic : searching;form filters -OpenOffice.org Basic : searching;Internet -OpenOffice.org Basic : searching;tables and forms -OpenOffice.org Basic : Second function -OpenOffice.org Basic : sections -OpenOffice.org Basic : sections;backgrounds -OpenOffice.org Basic : sections;protecting -OpenOffice.org Basic : security -OpenOffice.org Basic : security;options for documents with macros -OpenOffice.org Basic : security;protecting contents -OpenOffice.org Basic : security;warning dialogs with macros -OpenOffice.org Basic : Seek function -OpenOffice.org Basic : Seek statement -OpenOffice.org Basic : Select...Case statement -OpenOffice.org Basic : selecting -OpenOffice.org Basic : selecting;controls -OpenOffice.org Basic : selecting;group objects -OpenOffice.org Basic : selecting;measurement units -OpenOffice.org Basic : selecting;objects -OpenOffice.org Basic : selecting;print areas -OpenOffice.org Basic : selecting;several files -OpenOffice.org Basic : selection clipboard -OpenOffice.org Basic : selection modes in text -OpenOffice.org Basic : selection options for controls -OpenOffice.org Basic : sending -OpenOffice.org Basic : sending;AutoAbstract function in presentations -OpenOffice.org Basic : sending;documents as e-mail -OpenOffice.org Basic : sending;documents as faxes -OpenOffice.org Basic : separator lines -OpenOffice.org Basic : separator lines;defining -OpenOffice.org Basic : separators -OpenOffice.org Basic : separators;conditional -OpenOffice.org Basic : Server Side ImageMap -OpenOffice.org Basic : Set statement -OpenOffice.org Basic : SetAttr statement -OpenOffice.org Basic : settings -OpenOffice.org Basic : settings;printers -OpenOffice.org Basic : settings;program configuration -OpenOffice.org Basic : settings;proxies -OpenOffice.org Basic : settings;tracking changes -OpenOffice.org Basic : settings;views -OpenOffice.org Basic : SGML -OpenOffice.org Basic : SGML;definition -OpenOffice.org Basic : Sgn function -OpenOffice.org Basic : shadows -OpenOffice.org Basic : shadows;areas -OpenOffice.org Basic : shadows;borders -OpenOffice.org Basic : shadows;characters -OpenOffice.org Basic : shadows;characters, using context menu -OpenOffice.org Basic : sharpening filter -OpenOffice.org Basic : sheet tabs -OpenOffice.org Basic : sheet tabs;displaying -OpenOffice.org Basic : sheets -OpenOffice.org Basic : sheets;searching all -OpenOffice.org Basic : Shell function -OpenOffice.org Basic : shortcut keys -OpenOffice.org Basic : shortcut keys;assigning macros -OpenOffice.org Basic : shortcut keys;Basic IDE -OpenOffice.org Basic : shortcut keys;general -OpenOffice.org Basic : shortcut keys;in databases -OpenOffice.org Basic : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Basic : Show/Hide feature in Microsoft Office -OpenOffice.org Basic : showing -OpenOffice.org Basic : showing;changes -OpenOffice.org Basic : showing;docked windows -OpenOffice.org Basic : showing;drawings and controls (Writer) -OpenOffice.org Basic : showing;live presentations on the Internet -OpenOffice.org Basic : showing;toolbars -OpenOffice.org Basic : signing documents with digital signatures -OpenOffice.org Basic : similarity search -OpenOffice.org Basic : simple handles (Writer) -OpenOffice.org Basic : simplified Chinese -OpenOffice.org Basic : simplified Chinese;translating to traditional Chinese -OpenOffice.org Basic : Sin function -OpenOffice.org Basic : single sign on options -OpenOffice.org Basic : single-line spacing in text -OpenOffice.org Basic : sizes -OpenOffice.org Basic : sizes;draw objects -OpenOffice.org Basic : sizes;pictures -OpenOffice.org Basic : slanting draw objects -OpenOffice.org Basic : small capitals -OpenOffice.org Basic : small icons -OpenOffice.org Basic : smart tags -OpenOffice.org Basic : smart tags;options -OpenOffice.org Basic : smooth scrolling (Writer) -OpenOffice.org Basic : smoothing filter -OpenOffice.org Basic : snap grid defaults (Writer/Calc) -OpenOffice.org Basic : snapping in presentations and drawings -OpenOffice.org Basic : solarization filter -OpenOffice.org Basic : sort lists -OpenOffice.org Basic : sort lists;copying to in Calc -OpenOffice.org Basic : sorting -OpenOffice.org Basic : sorting;data in forms -OpenOffice.org Basic : sorting;databases -OpenOffice.org Basic : sounds -OpenOffice.org Basic : sounds;inserting and playing -OpenOffice.org Basic : sounds;UNIX -OpenOffice.org Basic : Space function -OpenOffice.org Basic : spaces -OpenOffice.org Basic : spaces;displaying (Writer) -OpenOffice.org Basic : spaces;ignoring double -OpenOffice.org Basic : spaces;inserting protected spaces -OpenOffice.org Basic : spaces;showing protected spaces (Writer) -OpenOffice.org Basic : spacing -OpenOffice.org Basic : spacing;between paragraphs in footnotes -OpenOffice.org Basic : spacing;font effects -OpenOffice.org Basic : spacing;lines and paragraphs -OpenOffice.org Basic : spacing;tab stops in text documents -OpenOffice.org Basic : spacing;tabs in presentations -OpenOffice.org Basic : spadmin -OpenOffice.org Basic : special characters -OpenOffice.org Basic : speech bubbles -OpenOffice.org Basic : speed of printing -OpenOffice.org Basic : spellcheck -OpenOffice.org Basic : spellcheck;activating for a language -OpenOffice.org Basic : spellcheck;context menus -OpenOffice.org Basic : spellcheck;default languages -OpenOffice.org Basic : spellcheck;dialog -OpenOffice.org Basic : spellcheck;dictionary of exceptions -OpenOffice.org Basic : spellcheck;ignore list -OpenOffice.org Basic : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Basic : spin button creation -OpenOffice.org Basic : Split function -OpenOffice.org Basic : spoolfiles with Xprinter -OpenOffice.org Basic : spreadsheets -OpenOffice.org Basic : spreadsheets;as databases (base) -OpenOffice.org Basic : spreadsheets;backgrounds -OpenOffice.org Basic : spreadsheets;copying areas to text documents -OpenOffice.org Basic : spreadsheets;creating/opening -OpenOffice.org Basic : spreadsheets;inserting charts -OpenOffice.org Basic : spreadsheets;inserting database records -OpenOffice.org Basic : spreadsheets;printing -OpenOffice.org Basic : spreadsheets;saving -OpenOffice.org Basic : spreadsheets;saving automatically -OpenOffice.org Basic : spreadsheets;saving in other formats -OpenOffice.org Basic : spreadsheets;sending as e-mail -OpenOffice.org Basic : SQL -OpenOffice.org Basic : SQL;definition -OpenOffice.org Basic : SQL;DISTINCT parameter -OpenOffice.org Basic : SQL;executing SQL commands -OpenOffice.org Basic : SQL;executing SQL statements (Base) -OpenOffice.org Basic : SQL;queries (Base) -OpenOffice.org Basic : Sqr function -OpenOffice.org Basic : square drawings -OpenOffice.org Basic : standard bar on/off -OpenOffice.org Basic : standard filters in databases -OpenOffice.org Basic : standard printer under UNIX -OpenOffice.org Basic : Start Module backing window -OpenOffice.org Basic : start parameters -OpenOffice.org Basic : Static statement -OpenOffice.org Basic : status bar on/off -OpenOffice.org Basic : Step statement -OpenOffice.org Basic : stickers -OpenOffice.org Basic : Stop statement -OpenOffice.org Basic : stopping macros -OpenOffice.org Basic : Str function -OpenOffice.org Basic : StrComp function -OpenOffice.org Basic : strikethrough -OpenOffice.org Basic : strikethrough;characters -OpenOffice.org Basic : strikethrough;font effects -OpenOffice.org Basic : String function -OpenOffice.org Basic : styles -OpenOffice.org Basic : styles;'changed' message -OpenOffice.org Basic : styles;copying between documents -OpenOffice.org Basic : styles;keyboard shortcuts -OpenOffice.org Basic : styles;organizing -OpenOffice.org Basic : styles;printing styles used in a document -OpenOffice.org Basic : styles;replacing automatically -OpenOffice.org Basic : Styles and Formatting window -OpenOffice.org Basic : Styles and Formatting window;docking -OpenOffice.org Basic : Sub statement -OpenOffice.org Basic : subforms -OpenOffice.org Basic : subforms;creating -OpenOffice.org Basic : subforms;description -OpenOffice.org Basic : submitting forms -OpenOffice.org Basic : subroutines -OpenOffice.org Basic : suffixes in file formats -OpenOffice.org Basic : support on the Web -OpenOffice.org Basic : Switch function -OpenOffice.org Basic : synchronizing -OpenOffice.org Basic : synchronizing;labels and business cards -OpenOffice.org Basic : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Basic : system address book registration -OpenOffice.org Basic : tab stops -OpenOffice.org Basic : tab stops;displaying (Writer) -OpenOffice.org Basic : tab stops;inserting and editing -OpenOffice.org Basic : tab stops;setting in sheets -OpenOffice.org Basic : tab stops;settings -OpenOffice.org Basic : tab stops;spacing in presentations -OpenOffice.org Basic : tab stops;spacing in text documents -OpenOffice.org Basic : table controls -OpenOffice.org Basic : table controls;form functions -OpenOffice.org Basic : table controls;keyboard-only edit mode -OpenOffice.org Basic : table controls;properties -OpenOffice.org Basic : table views of databases -OpenOffice.org Basic : Table Wizard (Base) -OpenOffice.org Basic : tables -OpenOffice.org Basic : tables;backgrounds -OpenOffice.org Basic : tables;inserting line breaks -OpenOffice.org Basic : tables in databases -OpenOffice.org Basic : tables in databases;access rights to (Base) -OpenOffice.org Basic : tables in databases;adding to queries -OpenOffice.org Basic : tables in databases;browsing and editing -OpenOffice.org Basic : tables in databases;copying database tables (Base) -OpenOffice.org Basic : tables in databases;creating -OpenOffice.org Basic : tables in databases;creating in design view -OpenOffice.org Basic : tables in databases;importing text formats (Base) -OpenOffice.org Basic : tables in databases;joining for queries (Base) -OpenOffice.org Basic : tables in databases;printing queries (Base) -OpenOffice.org Basic : tables in databases;relations (Base) -OpenOffice.org Basic : tables in databases;searching -OpenOffice.org Basic : tables in spreadsheets -OpenOffice.org Basic : tables in spreadsheets;copying data to other applications -OpenOffice.org Basic : tables in spreadsheets;defining borders -OpenOffice.org Basic : tables in spreadsheets;value highlighting -OpenOffice.org Basic : tables in text -OpenOffice.org Basic : tables in text;captions -OpenOffice.org Basic : tables in text;creating automatically -OpenOffice.org Basic : tables in text;default settings -OpenOffice.org Basic : tables in text;defining borders -OpenOffice.org Basic : tables in text;displaying -OpenOffice.org Basic : tables in text;printing -OpenOffice.org Basic : tables in text;protecting cells -OpenOffice.org Basic : tables of contents -OpenOffice.org Basic : tables of contents;unprotecting -OpenOffice.org Basic : tabs -OpenOffice.org Basic : tabs;displaying sheet tabs -OpenOffice.org Basic : tags -OpenOffice.org Basic : tags;definition -OpenOffice.org Basic : tags;META tags -OpenOffice.org Basic : Tan function -OpenOffice.org Basic : templates -OpenOffice.org Basic : templates;agendas -OpenOffice.org Basic : templates;changing basic fonts -OpenOffice.org Basic : templates;database reports -OpenOffice.org Basic : templates;deleting -OpenOffice.org Basic : templates;editing and saving -OpenOffice.org Basic : templates;faxes -OpenOffice.org Basic : templates;importing and exporting -OpenOffice.org Basic : templates;letters -OpenOffice.org Basic : templates;new documents from templates -OpenOffice.org Basic : templates;opening documents with -OpenOffice.org Basic : templates;organizing -OpenOffice.org Basic : terminology -OpenOffice.org Basic : terminology;general glossary -OpenOffice.org Basic : terminology;Internet glossary -OpenOffice.org Basic : test mode control -OpenOffice.org Basic : testing XML filters -OpenOffice.org Basic : text -OpenOffice.org Basic : text;animating -OpenOffice.org Basic : text;Asian layout -OpenOffice.org Basic : text;backgrounds -OpenOffice.org Basic : text;bold -OpenOffice.org Basic : text;coloring -OpenOffice.org Basic : text;contours -OpenOffice.org Basic : text;copying by drag and drop -OpenOffice.org Basic : text;CTL languages -OpenOffice.org Basic : text;drawing pictures -OpenOffice.org Basic : text;font effects -OpenOffice.org Basic : text;font sizes -OpenOffice.org Basic : text;font styles -OpenOffice.org Basic : text;fonts and formats -OpenOffice.org Basic : text;Fontwork icons -OpenOffice.org Basic : text;hyperlinks -OpenOffice.org Basic : text;inserting special characters -OpenOffice.org Basic : text;italics -OpenOffice.org Basic : text;kerning -OpenOffice.org Basic : text;language selection -OpenOffice.org Basic : text;line spacing -OpenOffice.org Basic : text;overwriting or inserting -OpenOffice.org Basic : text;placeholders in presentations -OpenOffice.org Basic : text;printing in black -OpenOffice.org Basic : text;replacing with format -OpenOffice.org Basic : text;selection modes -OpenOffice.org Basic : text;shadowed -OpenOffice.org Basic : text;text/draw objects -OpenOffice.org Basic : text attributes -OpenOffice.org Basic : text attributes;hyperlinks -OpenOffice.org Basic : text attributes;undoing -OpenOffice.org Basic : text boxes -OpenOffice.org Basic : text boxes;controls -OpenOffice.org Basic : text boxes;form functions -OpenOffice.org Basic : text boxes;positioning -OpenOffice.org Basic : text breaks in cells -OpenOffice.org Basic : text colors for better accessibility -OpenOffice.org Basic : text databases (Base) -OpenOffice.org Basic : text documents -OpenOffice.org Basic : text documents;creating/opening -OpenOffice.org Basic : text documents;importing/exporting -OpenOffice.org Basic : text documents;inserting spreadsheet cells -OpenOffice.org Basic : text documents;print settings -OpenOffice.org Basic : text documents;printing -OpenOffice.org Basic : text documents;saving -OpenOffice.org Basic : text documents;saving automatically -OpenOffice.org Basic : text documents;saving in other formats -OpenOffice.org Basic : text documents;sending as e-mail -OpenOffice.org Basic : text effects -OpenOffice.org Basic : text flow -OpenOffice.org Basic : text flow;in cells -OpenOffice.org Basic : text formats -OpenOffice.org Basic : text formats;databases -OpenOffice.org Basic : text formats;pasting -OpenOffice.org Basic : text input fields -OpenOffice.org Basic : text layout for special languages -OpenOffice.org Basic : text objects -OpenOffice.org Basic : text objects;alignment -OpenOffice.org Basic : text objects;draw functions -OpenOffice.org Basic : text objects;fonts -OpenOffice.org Basic : text objects;in presentations and drawings -OpenOffice.org Basic : text overflow in spreadsheet cells -OpenOffice.org Basic : text, see also text documents, paragraphs and characters -OpenOffice.org Basic : TextArt, see Fontwork -OpenOffice.org Basic : textures -OpenOffice.org Basic : textures;inserting from Gallery -OpenOffice.org Basic : textures;on chart bars -OpenOffice.org Basic : Thai -OpenOffice.org Basic : Thai;entering text -OpenOffice.org Basic : Thai;language settings -OpenOffice.org Basic : thesaurus -OpenOffice.org Basic : thesaurus;activating for a language -OpenOffice.org Basic : ThisComponent property -OpenOffice.org Basic : ticker text -OpenOffice.org Basic : time field control -OpenOffice.org Basic : time fields -OpenOffice.org Basic : time fields;form functions -OpenOffice.org Basic : Time statement -OpenOffice.org Basic : Timer function -OpenOffice.org Basic : times -OpenOffice.org Basic : times;inserting when printing presentations -OpenOffice.org Basic : times, formats -OpenOffice.org Basic : TimeSerial function -OpenOffice.org Basic : TimeValue function -OpenOffice.org Basic : tips -OpenOffice.org Basic : tips;extended tips in Help -OpenOffice.org Basic : title rows -OpenOffice.org Basic : title rows;printing in OpenOffice.org Math -OpenOffice.org Basic : titles -OpenOffice.org Basic : titles;changing -OpenOffice.org Basic : titles;editing in charts -OpenOffice.org Basic : titles;font effects -OpenOffice.org Basic : titles;formatting automatically -OpenOffice.org Basic : titles;objects -OpenOffice.org Basic : To statement -OpenOffice.org Basic : toolbars -OpenOffice.org Basic : toolbars;adding buttons -OpenOffice.org Basic : toolbars;Basic IDE -OpenOffice.org Basic : toolbars;docking/undocking -OpenOffice.org Basic : toolbars;Form Navigation bar -OpenOffice.org Basic : toolbars;viewing/closing -OpenOffice.org Basic : tools bar -OpenOffice.org Basic : tooltips -OpenOffice.org Basic : tooltips;extended tips -OpenOffice.org Basic : tooltips;help -OpenOffice.org Basic : Track changes feature in Microsoft Office -OpenOffice.org Basic : traditional Chinese -OpenOffice.org Basic : traditional Chinese;translating to simplified chinese -OpenOffice.org Basic : translating dialogs -OpenOffice.org Basic : transparency -OpenOffice.org Basic : transparency;areas -OpenOffice.org Basic : transparency;off for faster printing -OpenOffice.org Basic : transparency;saving -OpenOffice.org Basic : tree view of Help -OpenOffice.org Basic : Trim function -OpenOffice.org Basic : twips -OpenOffice.org Basic : twips;definition -OpenOffice.org Basic : TwipsPerPixelX function -OpenOffice.org Basic : TwipsPerPixelY function -OpenOffice.org Basic : typefaces -OpenOffice.org Basic : typefaces;adding under UNIX -OpenOffice.org Basic : typefaces;formats -OpenOffice.org Basic : TypeName function -OpenOffice.org Basic : types of variables -OpenOffice.org Basic : typographical quotes in OpenOffice.org Writer -OpenOffice.org Basic : typography -OpenOffice.org Basic : typography;Asian -OpenOffice.org Basic : UBound function -OpenOffice.org Basic : UCase function -OpenOffice.org Basic : underlining -OpenOffice.org Basic : underlining;AutoFormat function -OpenOffice.org Basic : underlining;characters -OpenOffice.org Basic : underlining;text -OpenOffice.org Basic : undocking windows -OpenOffice.org Basic : undoing -OpenOffice.org Basic : undoing;direct formatting -OpenOffice.org Basic : undoing;editing -OpenOffice.org Basic : undoing;number of steps -OpenOffice.org Basic : ungrouping groups -OpenOffice.org Basic : units -OpenOffice.org Basic : units;converting -OpenOffice.org Basic : units;measurement units -OpenOffice.org Basic : UNO components -OpenOffice.org Basic : UNO components;Extension Manager -OpenOffice.org Basic : UNO components;integrating new -OpenOffice.org Basic : Until -OpenOffice.org Basic : update options -OpenOffice.org Basic : updates -OpenOffice.org Basic : updates;checking automatically -OpenOffice.org Basic : updates;checking manually -OpenOffice.org Basic : updating -OpenOffice.org Basic : updating;fields and charts, automatically (Writer) -OpenOffice.org Basic : updating;links in text documents -OpenOffice.org Basic : updating;links, on opening -OpenOffice.org Basic : updating;templates -OpenOffice.org Basic : URL -OpenOffice.org Basic : URL;changing hyperlink URLs -OpenOffice.org Basic : URL;definition -OpenOffice.org Basic : URL;saving absolute/relative paths -OpenOffice.org Basic : URL;turning off URL recognition -OpenOffice.org Basic : user data -OpenOffice.org Basic : user data;input -OpenOffice.org Basic : user data;removing when saving -OpenOffice.org Basic : user-defined dictionaries -OpenOffice.org Basic : user-defined dictionaries;creating -OpenOffice.org Basic : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Basic : user-defined dictionaries;editing -OpenOffice.org Basic : user-defined styles -OpenOffice.org Basic : user-defined styles;automatically replacing -OpenOffice.org Basic : UTF-8/UCS2 support -OpenOffice.org Basic : Val function -OpenOffice.org Basic : Validation feature in Microsoft Office -OpenOffice.org Basic : values -OpenOffice.org Basic : values;of variables -OpenOffice.org Basic : values;rounded as shown (Calc) -OpenOffice.org Basic : variables -OpenOffice.org Basic : variables;for paths -OpenOffice.org Basic : variables;global and local -OpenOffice.org Basic : variables;observing values -OpenOffice.org Basic : variables;passing to procedures and functions -OpenOffice.org Basic : variables;scope -OpenOffice.org Basic : variables;using -OpenOffice.org Basic : VarType function -OpenOffice.org Basic : VBA code -OpenOffice.org Basic : VBA code;loading/saving documents with VBA code -OpenOffice.org Basic : version management -OpenOffice.org Basic : version numbers of documents -OpenOffice.org Basic : versions -OpenOffice.org Basic : versions;comparing documents -OpenOffice.org Basic : versions;file saving as, restriction -OpenOffice.org Basic : versions;merging document versions -OpenOffice.org Basic : versions;of a document -OpenOffice.org Basic : versions;OpenOffice.org -OpenOffice.org Basic : vertical callouts -OpenOffice.org Basic : vertical line control -OpenOffice.org Basic : vertical scrollbar control -OpenOffice.org Basic : vertical scrollbars (Writer) -OpenOffice.org Basic : vertical text boxes -OpenOffice.org Basic : videos -OpenOffice.org Basic : viewing -OpenOffice.org Basic : viewing;databases -OpenOffice.org Basic : viewing;file properties -OpenOffice.org Basic : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Basic : viewing;toolbars -OpenOffice.org Basic : views -OpenOffice.org Basic : views;creating database views (Base) -OpenOffice.org Basic : views;defaults -OpenOffice.org Basic : views;full screen -OpenOffice.org Basic : views;icons -OpenOffice.org Basic : views;in 3D -OpenOffice.org Basic : views;scaling -OpenOffice.org Basic : Visual Basic for Applications -OpenOffice.org Basic : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Basic : Wait statement -OpenOffice.org Basic : watching variables -OpenOffice.org Basic : watermarks -OpenOffice.org Basic : web documents -OpenOffice.org Basic : web documents;XForms -OpenOffice.org Basic : Web support -OpenOffice.org Basic : WebCast export -OpenOffice.org Basic : WeekDay function -OpenOffice.org Basic : While -OpenOffice.org Basic : While;Do loop -OpenOffice.org Basic : While;While...Wend loop -OpenOffice.org Basic : windows -OpenOffice.org Basic : windows;docking -OpenOffice.org Basic : windows;docking definition -OpenOffice.org Basic : windows;hiding/showing/docking -OpenOffice.org Basic : windows;new -OpenOffice.org Basic : With statement -OpenOffice.org Basic : wizards -OpenOffice.org Basic : wizards;agendas -OpenOffice.org Basic : wizards;database queries -OpenOffice.org Basic : wizards;database tables (Base) -OpenOffice.org Basic : wizards;databases (Base) -OpenOffice.org Basic : wizards;document converter -OpenOffice.org Basic : wizards;Euro Converter -OpenOffice.org Basic : wizards;faxes -OpenOffice.org Basic : wizards;forms -OpenOffice.org Basic : wizards;letters -OpenOffice.org Basic : wizards;overview -OpenOffice.org Basic : wizards;presentations -OpenOffice.org Basic : wizards;reports -OpenOffice.org Basic : Word documents -OpenOffice.org Basic : Word documents;compatibility -OpenOffice.org Basic : Word documents;saving as -OpenOffice.org Basic : WordArt, see Fontwork -OpenOffice.org Basic : words -OpenOffice.org Basic : words;automatically replacing -OpenOffice.org Basic : words;wrapping in cells -OpenOffice.org Basic : work directory change -OpenOffice.org Basic : Workbook feature in Microsoft Office -OpenOffice.org Basic : Worksheet feature in Microsoft Office -OpenOffice.org Basic : wrapping text -OpenOffice.org Basic : wrapping text;in cells -OpenOffice.org Basic : write protection on/off -OpenOffice.org Basic : Write statement -OpenOffice.org Basic : writing aids options -OpenOffice.org Basic : WYSIWYG in fonts lists -OpenOffice.org Basic : XForms -OpenOffice.org Basic : XML converters -OpenOffice.org Basic : XML file formats -OpenOffice.org Basic : XML filters -OpenOffice.org Basic : XML filters;creating/testing/distributing/deleting -OpenOffice.org Basic : XML filters;settings -OpenOffice.org Basic : XML Forms -OpenOffice.org Basic : Xor operator (logical) -OpenOffice.org Basic : XSLT based filters -OpenOffice.org Basic : XSLT based filters;settings -OpenOffice.org Basic : XSLT filters, see also XML filters -OpenOffice.org Basic : Year function -OpenOffice.org Basic : years -OpenOffice.org Basic : years;2-digit options -OpenOffice.org Basic : zero values -OpenOffice.org Basic : zero values;displaying (Calc) -OpenOffice.org Basic : zooming -OpenOffice.org Basic : zooming;page views -OpenOffice.org Basic : zooming;pictures -OpenOffice.org Basic : zooming;status bar -OpenOffice.org Chart : 1/2 replacement -OpenOffice.org Chart : 3D charts -OpenOffice.org Chart : 3D text creation -OpenOffice.org Chart : 3D view -OpenOffice.org Chart : abbreviation replacement -OpenOffice.org Chart : absolute hyperlinks -OpenOffice.org Chart : absolute saving of URLs -OpenOffice.org Chart : accents -OpenOffice.org Chart : Access databases (base) -OpenOffice.org Chart : access rights for database tables (Base) -OpenOffice.org Chart : accessibility -OpenOffice.org Chart : accessibility;general shortcuts -OpenOffice.org Chart : accessibility;OpenOffice.org assistive technology -OpenOffice.org Chart : accessibility;OpenOffice.org features -OpenOffice.org Chart : accessibility;options -OpenOffice.org Chart : activating -OpenOffice.org Chart : activating;context menus -OpenOffice.org Chart : activating;Error Report Tool -OpenOffice.org Chart : activating;extended help tips -OpenOffice.org Chart : activating;plug-ins -OpenOffice.org Chart : ActiveX control -OpenOffice.org Chart : Adabas D databases (base) -OpenOffice.org Chart : add-ons, see UNO components -OpenOffice.org Chart : adding -OpenOffice.org Chart : adding;automatic captions (Writer) -OpenOffice.org Chart : adding;backgrounds -OpenOffice.org Chart : adding;buttons in toolbars -OpenOffice.org Chart : adding;conditions for XForm items -OpenOffice.org Chart : adding;draw objects -OpenOffice.org Chart : adding;Fontwork objects -OpenOffice.org Chart : adding;items in Data Navigator -OpenOffice.org Chart : adding;namespaces in XForms -OpenOffice.org Chart : adding;paragraph borders -OpenOffice.org Chart : adding;pictures from Gallery -OpenOffice.org Chart : adding;pictures in Gallery -OpenOffice.org Chart : adding;plug-ins -OpenOffice.org Chart : adding;push buttons -OpenOffice.org Chart : adding;table borders -OpenOffice.org Chart : adding;textures on chart bars -OpenOffice.org Chart : additional selection mode -OpenOffice.org Chart : address books -OpenOffice.org Chart : address books;LDAP server (Base) -OpenOffice.org Chart : address books;registering -OpenOffice.org Chart : address labels from databases -OpenOffice.org Chart : ADO databases (Base) -OpenOffice.org Chart : Agenda Wizard -OpenOffice.org Chart : aging filter -OpenOffice.org Chart : aligning -OpenOffice.org Chart : aligning;2D charts -OpenOffice.org Chart : aligning;cells -OpenOffice.org Chart : aligning;objects -OpenOffice.org Chart : aligning;paragraphs -OpenOffice.org Chart : aligning;tables in text -OpenOffice.org Chart : aligning;text objects -OpenOffice.org Chart : aligning;titles in charts -OpenOffice.org Chart : alternative fonts -OpenOffice.org Chart : ampersand symbol, see also operators -OpenOffice.org Chart : anchors -OpenOffice.org Chart : anchors;changing -OpenOffice.org Chart : anchors;displaying (Calc) -OpenOffice.org Chart : anchors;types/positions for draw objects -OpenOffice.org Chart : animations -OpenOffice.org Chart : animations;accessibility options -OpenOffice.org Chart : appearance options -OpenOffice.org Chart : applet insertion -OpenOffice.org Chart : applying -OpenOffice.org Chart : applying;languages, to selected text -OpenOffice.org Chart : Arabic -OpenOffice.org Chart : Arabic;entering text -OpenOffice.org Chart : Arabic;language settings -OpenOffice.org Chart : area charts -OpenOffice.org Chart : areas -OpenOffice.org Chart : areas;bitmap patterns -OpenOffice.org Chart : areas;hatched/dotted -OpenOffice.org Chart : areas;shadows -OpenOffice.org Chart : areas;slanting -OpenOffice.org Chart : areas;styles -OpenOffice.org Chart : areas;transparency -OpenOffice.org Chart : arguments in command line -OpenOffice.org Chart : arranging -OpenOffice.org Chart : arranging;objects -OpenOffice.org Chart : arrows -OpenOffice.org Chart : arrows;defining arrow heads -OpenOffice.org Chart : arrows;defining arrow lines -OpenOffice.org Chart : arrows;drawing in text -OpenOffice.org Chart : ASCII -OpenOffice.org Chart : ASCII;definition -OpenOffice.org Chart : Asian languages -OpenOffice.org Chart : Asian languages;enabling -OpenOffice.org Chart : Asian Phonetic Guide -OpenOffice.org Chart : Asian typography -OpenOffice.org Chart : assigning scripts -OpenOffice.org Chart : assistive technology in OpenOffice.org -OpenOffice.org Chart : attaching toolbars -OpenOffice.org Chart : attachments in e-mails -OpenOffice.org Chart : audio -OpenOffice.org Chart : audio;inserting -OpenOffice.org Chart : audio;UNIX -OpenOffice.org Chart : auto reloading HTML documents -OpenOffice.org Chart : AutoAbstract function for sending text to presentations -OpenOffice.org Chart : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Chart : AutoComplete function in text and list boxes -OpenOffice.org Chart : AutoCorrect function -OpenOffice.org Chart : AutoCorrect function;context menu -OpenOffice.org Chart : AutoCorrect function;options -OpenOffice.org Chart : AutoCorrect function;pictures and frames -OpenOffice.org Chart : AutoCorrect function;quotes -OpenOffice.org Chart : AutoCorrect function;replacement table -OpenOffice.org Chart : AutoCorrect function;smart tags -OpenOffice.org Chart : AutoCorrect function;switching on and off in Calc -OpenOffice.org Chart : AutoCorrect function;URL recognition -OpenOffice.org Chart : AutoFormat function -OpenOffice.org Chart : AutoFormat function;switching on and off -OpenOffice.org Chart : automatic captions (Writer) -OpenOffice.org Chart : automatic control focus -OpenOffice.org Chart : automatic hyperlink formatting -OpenOffice.org Chart : automatic line breaks -OpenOffice.org Chart : automatic lines/borders in text -OpenOffice.org Chart : automatic saving -OpenOffice.org Chart : AutoPilots, see wizards -OpenOffice.org Chart : AutoShapes feature in Microsoft Office -OpenOffice.org Chart : averages in charts -OpenOffice.org Chart : axes -OpenOffice.org Chart : axes;better scaling -OpenOffice.org Chart : axes;formatting -OpenOffice.org Chart : axes;formatting grids -OpenOffice.org Chart : axes;inserting grids -OpenOffice.org Chart : axes;interval marks -OpenOffice.org Chart : axes;showing axes in charts -OpenOffice.org Chart : axes in charts -OpenOffice.org Chart : backgrounds -OpenOffice.org Chart : backgrounds;defining colors/pictures -OpenOffice.org Chart : backgrounds;frames/sections/indexes -OpenOffice.org Chart : backgrounds;inserting from Gallery -OpenOffice.org Chart : backgrounds;printing -OpenOffice.org Chart : backing window -OpenOffice.org Chart : backups -OpenOffice.org Chart : backups;automatic -OpenOffice.org Chart : backups;documents -OpenOffice.org Chart : bar charts -OpenOffice.org Chart : Basic -OpenOffice.org Chart : Basic;fonts for source display -OpenOffice.org Chart : Basic;programming -OpenOffice.org Chart : Basic;recording macros -OpenOffice.org Chart : Basic;scripting -OpenOffice.org Chart : basic fonts -OpenOffice.org Chart : BeanShell scripting -OpenOffice.org Chart : Bézier curves -OpenOffice.org Chart : Bézier curves;control points in presentations -OpenOffice.org Chart : bi-directional writing -OpenOffice.org Chart : binding space -OpenOffice.org Chart : bitmaps -OpenOffice.org Chart : bitmaps;inserting and editing -OpenOffice.org Chart : bitmaps;off for faster printing -OpenOffice.org Chart : bitmaps;patterns -OpenOffice.org Chart : black and white printing -OpenOffice.org Chart : black printing in Calc -OpenOffice.org Chart : block selection mode -OpenOffice.org Chart : bold -OpenOffice.org Chart : bold;AutoFormat function -OpenOffice.org Chart : bold;text -OpenOffice.org Chart : bookmarks -OpenOffice.org Chart : bookmarks;Help -OpenOffice.org Chart : borders -OpenOffice.org Chart : borders;arranging -OpenOffice.org Chart : borders;cells on screen (Calc) -OpenOffice.org Chart : borders;for paragraphs -OpenOffice.org Chart : borders;for tables -OpenOffice.org Chart : borders;shadows -OpenOffice.org Chart : borders;table boundaries (Writer) -OpenOffice.org Chart : borders, see also frames -OpenOffice.org Chart : bound fields -OpenOffice.org Chart : bound fields;controls -OpenOffice.org Chart : boundaries of tables (Writer) -OpenOffice.org Chart : break display (Writer) -OpenOffice.org Chart : brochures -OpenOffice.org Chart : brochures;printing several -OpenOffice.org Chart : build numbers of OpenOffice.org -OpenOffice.org Chart : bullet lists -OpenOffice.org Chart : bullet lists;formatting options -OpenOffice.org Chart : bullets -OpenOffice.org Chart : bullets;paragraphs -OpenOffice.org Chart : bullets;replacing -OpenOffice.org Chart : bullets;turning off -OpenOffice.org Chart : business cards -OpenOffice.org Chart : business cards;creating and synchronizing -OpenOffice.org Chart : business cards;using templates -OpenOffice.org Chart : button bars, see toolbars -OpenOffice.org Chart : buttons -OpenOffice.org Chart : buttons;adding push buttons -OpenOffice.org Chart : buttons;big/small -OpenOffice.org Chart : buttons;editing hyperlink buttons -OpenOffice.org Chart : buttons;form functions -OpenOffice.org Chart : buttons;toolbars -OpenOffice.org Chart : cache for graphics -OpenOffice.org Chart : calculating -OpenOffice.org Chart : calculating;iterative references (Calc) -OpenOffice.org Chart : calculating;regression curves -OpenOffice.org Chart : callouts -OpenOffice.org Chart : callouts;drawings -OpenOffice.org Chart : capital letters -OpenOffice.org Chart : capital letters;AutoCorrect function -OpenOffice.org Chart : capital letters;font effects -OpenOffice.org Chart : captions -OpenOffice.org Chart : captions;automatic captions (Writer) -OpenOffice.org Chart : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Chart : captions, see also labels/callouts -OpenOffice.org Chart : cascading update (Base) -OpenOffice.org Chart : case sensitivity -OpenOffice.org Chart : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Chart : case sensitivity;searching -OpenOffice.org Chart : cells -OpenOffice.org Chart : cells;aligning -OpenOffice.org Chart : cells;backgrounds -OpenOffice.org Chart : cells;coloring (Calc) -OpenOffice.org Chart : cells;cursor positions after input (Calc) -OpenOffice.org Chart : cells;formatting without effect (Calc) -OpenOffice.org Chart : cells;line breaks -OpenOffice.org Chart : cells;linked to controls -OpenOffice.org Chart : cells;number formats -OpenOffice.org Chart : cells;number of -OpenOffice.org Chart : cells;pasting -OpenOffice.org Chart : cells;resetting formats -OpenOffice.org Chart : cells;showing grid lines (Calc) -OpenOffice.org Chart : centered text -OpenOffice.org Chart : centimeters -OpenOffice.org Chart : certificates -OpenOffice.org Chart : Change Case feature in Microsoft Office -OpenOffice.org Chart : changes -OpenOffice.org Chart : changes;accepting or rejecting -OpenOffice.org Chart : changes;comparing to original -OpenOffice.org Chart : changes;protecting -OpenOffice.org Chart : changes;recording -OpenOffice.org Chart : changes;review function -OpenOffice.org Chart : changes;showing -OpenOffice.org Chart : changing -OpenOffice.org Chart : changing;data binding of XForms -OpenOffice.org Chart : changing;default templates -OpenOffice.org Chart : changing;document titles -OpenOffice.org Chart : changing;file associations in Setup program -OpenOffice.org Chart : changing;hyperlink text/formats/URLs -OpenOffice.org Chart : changing;icon sizes -OpenOffice.org Chart : changing;keyboard -OpenOffice.org Chart : changing;links -OpenOffice.org Chart : changing;menus -OpenOffice.org Chart : changing;object sizes -OpenOffice.org Chart : changing;toolbars -OpenOffice.org Chart : changing;work directory -OpenOffice.org Chart : changing, see also editing and replacing -OpenOffice.org Chart : character styles -OpenOffice.org Chart : character styles;language selection -OpenOffice.org Chart : characters -OpenOffice.org Chart : characters;alternative fonts -OpenOffice.org Chart : characters;Asian layout -OpenOffice.org Chart : characters;bold -OpenOffice.org Chart : characters;coloring -OpenOffice.org Chart : characters;contours -OpenOffice.org Chart : characters;displaying only on screen (Writer) -OpenOffice.org Chart : characters;enabling CTL and Asian characters -OpenOffice.org Chart : characters;font effects -OpenOffice.org Chart : characters;fonts and formats -OpenOffice.org Chart : characters;hyperlinks -OpenOffice.org Chart : characters;italics -OpenOffice.org Chart : characters;language selection -OpenOffice.org Chart : characters;shadowed -OpenOffice.org Chart : characters;spacing -OpenOffice.org Chart : characters;special -OpenOffice.org Chart : characters;underlining -OpenOffice.org Chart : charcoal sketches filter -OpenOffice.org Chart : chart legends -OpenOffice.org Chart : chart legends;hiding -OpenOffice.org Chart : chart legends;showing icons with labels -OpenOffice.org Chart : chart types -OpenOffice.org Chart : chart types;area -OpenOffice.org Chart : chart types;column and bar -OpenOffice.org Chart : chart types;column and line -OpenOffice.org Chart : chart types;line -OpenOffice.org Chart : chart types;net -OpenOffice.org Chart : chart types;pie/donut -OpenOffice.org Chart : chart types;stock -OpenOffice.org Chart : chart types;XY (scatter) -OpenOffice.org Chart : charts -OpenOffice.org Chart : charts;3D views -OpenOffice.org Chart : charts;aligning -OpenOffice.org Chart : charts;arranging within stacks -OpenOffice.org Chart : charts;bars with textures -OpenOffice.org Chart : charts;choosing chart types -OpenOffice.org Chart : charts;colors -OpenOffice.org Chart : charts;copying with link to source cell range -OpenOffice.org Chart : charts;data labels -OpenOffice.org Chart : charts;displaying (Calc) -OpenOffice.org Chart : charts;editing axes -OpenOffice.org Chart : charts;editing data -OpenOffice.org Chart : charts;editing legends -OpenOffice.org Chart : charts;editing titles -OpenOffice.org Chart : charts;formatting areas -OpenOffice.org Chart : charts;formatting floors -OpenOffice.org Chart : charts;formatting walls -OpenOffice.org Chart : charts;inserting -OpenOffice.org Chart : charts;overview -OpenOffice.org Chart : charts;properties -OpenOffice.org Chart : charts;reorganizing -OpenOffice.org Chart : charts;scaling axes -OpenOffice.org Chart : charts;scaling text -OpenOffice.org Chart : charts;shortcuts -OpenOffice.org Chart : charts;showing axes -OpenOffice.org Chart : charts;updating automatically (Writer) -OpenOffice.org Chart : check box creation -OpenOffice.org Chart : Chinese writing systems -OpenOffice.org Chart : choosing printers -OpenOffice.org Chart : circle drawings -OpenOffice.org Chart : Client Side ImageMap -OpenOffice.org Chart : clipboard -OpenOffice.org Chart : clipboard;cutting -OpenOffice.org Chart : clipboard;pasting -OpenOffice.org Chart : clipboard;pasting formatted/unformatted text -OpenOffice.org Chart : clipboard;selection clipboard -OpenOffice.org Chart : clipboard;Unix -OpenOffice.org Chart : closing -OpenOffice.org Chart : closing;documents -OpenOffice.org Chart : closing;toolbars -OpenOffice.org Chart : color bar -OpenOffice.org Chart : colors -OpenOffice.org Chart : colors;adding -OpenOffice.org Chart : colors;appearance -OpenOffice.org Chart : colors;backgrounds -OpenOffice.org Chart : colors;charts -OpenOffice.org Chart : colors;fill format -OpenOffice.org Chart : colors;fonts -OpenOffice.org Chart : colors;grid lines and cells (Calc) -OpenOffice.org Chart : colors;models -OpenOffice.org Chart : colors;not printing -OpenOffice.org Chart : colors;printing in grayscale -OpenOffice.org Chart : colors;restriction (Calc) -OpenOffice.org Chart : colors;selection -OpenOffice.org Chart : column and line charts -OpenOffice.org Chart : column charts -OpenOffice.org Chart : column headers -OpenOffice.org Chart : column headers;displaying (Calc) -OpenOffice.org Chart : column headers;highlighting (Calc) -OpenOffice.org Chart : columns -OpenOffice.org Chart : columns;setting with the mouse -OpenOffice.org Chart : combination charts -OpenOffice.org Chart : combo box creation -OpenOffice.org Chart : command button creation -OpenOffice.org Chart : command buttons, see push buttons -OpenOffice.org Chart : command line parameters -OpenOffice.org Chart : commands -OpenOffice.org Chart : commands;not visible -OpenOffice.org Chart : commands;SQL -OpenOffice.org Chart : comments -OpenOffice.org Chart : comments;on changes -OpenOffice.org Chart : comments feature in Microsoft Office -OpenOffice.org Chart : common terms -OpenOffice.org Chart : common terms;Chinese dictionary -OpenOffice.org Chart : common terms;glossaries -OpenOffice.org Chart : common terms;Internet glossary -OpenOffice.org Chart : Compare and Merge feature in Microsoft Office -OpenOffice.org Chart : comparisons -OpenOffice.org Chart : comparisons;document versions -OpenOffice.org Chart : comparisons;operators in default filter dialog -OpenOffice.org Chart : compatibility settings for MS Word import -OpenOffice.org Chart : complete screen view -OpenOffice.org Chart : complex text layout -OpenOffice.org Chart : complex text layout;definition -OpenOffice.org Chart : complex text layout;enabling -OpenOffice.org Chart : compose key to insert special characters -OpenOffice.org Chart : concatenation, see ampersand symbol -OpenOffice.org Chart : conditional separators -OpenOffice.org Chart : conditions -OpenOffice.org Chart : conditions;in number formats -OpenOffice.org Chart : conditions;items in Data Navigator -OpenOffice.org Chart : Configuration Manager -OpenOffice.org Chart : configuring -OpenOffice.org Chart : configuring;fax icon -OpenOffice.org Chart : configuring;OpenOffice.org -OpenOffice.org Chart : configuring;toolbars -OpenOffice.org Chart : connections to data sources (Base) -OpenOffice.org Chart : contents protection -OpenOffice.org Chart : context menus -OpenOffice.org Chart : contours of text -OpenOffice.org Chart : control point display in presentations -OpenOffice.org Chart : controls -OpenOffice.org Chart : controls;activating in forms -OpenOffice.org Chart : controls;adding to documents -OpenOffice.org Chart : controls;arranging in forms -OpenOffice.org Chart : controls;arranging within stacks -OpenOffice.org Chart : controls;assigning data sources -OpenOffice.org Chart : controls;bound fields/list contents/linked cells -OpenOffice.org Chart : controls;events -OpenOffice.org Chart : controls;focus -OpenOffice.org Chart : controls;formatted fields -OpenOffice.org Chart : controls;grouping -OpenOffice.org Chart : controls;hidden -OpenOffice.org Chart : controls;inserting -OpenOffice.org Chart : controls;multi-line titles -OpenOffice.org Chart : controls;positions and sizes -OpenOffice.org Chart : controls;printing -OpenOffice.org Chart : controls;properties of form controls -OpenOffice.org Chart : controls;properties of table controls -OpenOffice.org Chart : controls;reference by SQL -OpenOffice.org Chart : controls;rich text control -OpenOffice.org Chart : controls;select mode -OpenOffice.org Chart : controls;showing (Writer) -OpenOffice.org Chart : converters -OpenOffice.org Chart : converters;Euro converter -OpenOffice.org Chart : converters;PostScript, UNIX -OpenOffice.org Chart : converters;XML -OpenOffice.org Chart : converting -OpenOffice.org Chart : converting;Hangul/Hanja -OpenOffice.org Chart : converting;metrics -OpenOffice.org Chart : converting;Microsoft documents -OpenOffice.org Chart : converting;OpenOffice.org documents -OpenOffice.org Chart : converting;Pocket PC formats -OpenOffice.org Chart : copies -OpenOffice.org Chart : copies;printing -OpenOffice.org Chart : copying -OpenOffice.org Chart : copying;by drag and drop -OpenOffice.org Chart : copying;data from text documents -OpenOffice.org Chart : copying;datasource records in spreadsheets -OpenOffice.org Chart : copying;draw objects -OpenOffice.org Chart : copying;draw objects between documents -OpenOffice.org Chart : copying;formatting -OpenOffice.org Chart : copying;from data source view -OpenOffice.org Chart : copying;from Gallery -OpenOffice.org Chart : copying;in Unix -OpenOffice.org Chart : copying;pictures, between documents -OpenOffice.org Chart : copying;sheet areas, to text documents -OpenOffice.org Chart : copying;to Gallery -OpenOffice.org Chart : copyright for OpenOffice.org -OpenOffice.org Chart : corner roundings -OpenOffice.org Chart : crash reports -OpenOffice.org Chart : criteria of query design (Base) -OpenOffice.org Chart : cropping pictures -OpenOffice.org Chart : CTL -OpenOffice.org Chart : CTL;complex text layout languages -OpenOffice.org Chart : CTL;definition -OpenOffice.org Chart : CTL;options -OpenOffice.org Chart : currencies -OpenOffice.org Chart : currencies;converters -OpenOffice.org Chart : currencies;formats and format codes -OpenOffice.org Chart : currency field creation -OpenOffice.org Chart : currency formats -OpenOffice.org Chart : cursor -OpenOffice.org Chart : cursor;allowing in protected areas (Writer) -OpenOffice.org Chart : cursor;in read-only text -OpenOffice.org Chart : cursor;quickly moving to an object -OpenOffice.org Chart : curves -OpenOffice.org Chart : curves;editing points -OpenOffice.org Chart : curves;properties in line charts/XY charts -OpenOffice.org Chart : custom dictionaries -OpenOffice.org Chart : custom dictionaries;editing -OpenOffice.org Chart : custom hyphens (Writer) -OpenOffice.org Chart : custom quotes -OpenOffice.org Chart : custom templates -OpenOffice.org Chart : customizing -OpenOffice.org Chart : customizing;events -OpenOffice.org Chart : customizing;keyboard -OpenOffice.org Chart : customizing;menus -OpenOffice.org Chart : customizing;OpenOffice.org -OpenOffice.org Chart : customizing;round corners -OpenOffice.org Chart : customizing;toolbars -OpenOffice.org Chart : cutting -OpenOffice.org Chart : dashes -OpenOffice.org Chart : data -OpenOffice.org Chart : data;filtering in forms -OpenOffice.org Chart : data;forms and subforms -OpenOffice.org Chart : data;read-only -OpenOffice.org Chart : data;sorting in forms -OpenOffice.org Chart : data;user data -OpenOffice.org Chart : data binding change in XForms -OpenOffice.org Chart : data labels in charts -OpenOffice.org Chart : Data Navigator display options -OpenOffice.org Chart : data ranges in charts -OpenOffice.org Chart : data series -OpenOffice.org Chart : data source browser -OpenOffice.org Chart : data source explorer -OpenOffice.org Chart : data source view -OpenOffice.org Chart : data source view;drag and drop -OpenOffice.org Chart : data source view;overview -OpenOffice.org Chart : data source view;showing -OpenOffice.org Chart : data sources -OpenOffice.org Chart : data sources;as tables -OpenOffice.org Chart : data sources;connection settings (Base) -OpenOffice.org Chart : data sources;copying records to spreadsheets -OpenOffice.org Chart : data sources;displaying current -OpenOffice.org Chart : data sources;LDAP server (Base) -OpenOffice.org Chart : data sources;OpenOffice.org Base -OpenOffice.org Chart : data sources;registering address books -OpenOffice.org Chart : data sources;reports -OpenOffice.org Chart : data sources;setting for stock charts -OpenOffice.org Chart : data sources;viewing -OpenOffice.org Chart : data structure of XForms -OpenOffice.org Chart : data values in charts -OpenOffice.org Chart : database contents -OpenOffice.org Chart : database contents;inserting as tables -OpenOffice.org Chart : database contents;inserting as text -OpenOffice.org Chart : database reports -OpenOffice.org Chart : Database Wizard (Base) -OpenOffice.org Chart : databases -OpenOffice.org Chart : databases;administration through SQL (Base) -OpenOffice.org Chart : databases;ADO (Base) -OpenOffice.org Chart : databases;connecting (Base) -OpenOffice.org Chart : databases;creating -OpenOffice.org Chart : databases;creating labels -OpenOffice.org Chart : databases;creating queries -OpenOffice.org Chart : databases;creating reports -OpenOffice.org Chart : databases;creating tables -OpenOffice.org Chart : databases;dBASE (Base) -OpenOffice.org Chart : databases;deleting (Base) -OpenOffice.org Chart : databases;drag and drop (Base) -OpenOffice.org Chart : databases;editing tables -OpenOffice.org Chart : databases;form filters -OpenOffice.org Chart : databases;formats (Base) -OpenOffice.org Chart : databases;importing/exporting -OpenOffice.org Chart : databases;JDBC (Base) -OpenOffice.org Chart : databases;main page (Base) -OpenOffice.org Chart : databases;MySQL (Base) -OpenOffice.org Chart : databases;ODBC (Base) -OpenOffice.org Chart : databases;overview -OpenOffice.org Chart : databases;registering (Base) -OpenOffice.org Chart : databases;searching records -OpenOffice.org Chart : databases;shortcut keys -OpenOffice.org Chart : databases;sorting -OpenOffice.org Chart : databases;standard filters -OpenOffice.org Chart : databases;text formats -OpenOffice.org Chart : databases;viewing -OpenOffice.org Chart : date fields -OpenOffice.org Chart : date fields;creating -OpenOffice.org Chart : date fields;properties -OpenOffice.org Chart : date formats -OpenOffice.org Chart : dates -OpenOffice.org Chart : dates;default (Calc) -OpenOffice.org Chart : dates;printing in presentations -OpenOffice.org Chart : dates;start 1900/01/01 (Calc) -OpenOffice.org Chart : dates;start 1904/01/01 (Calc) -OpenOffice.org Chart : dBASE -OpenOffice.org Chart : dBASE;database settings (Base) -OpenOffice.org Chart : DDE -OpenOffice.org Chart : DDE;definition -OpenOffice.org Chart : deactivating -OpenOffice.org Chart : deactivating;plug-ins -OpenOffice.org Chart : decimal places displayed (Calc) -OpenOffice.org Chart : decimal separator key -OpenOffice.org Chart : decimal tab stops -OpenOffice.org Chart : default directories -OpenOffice.org Chart : default file formats -OpenOffice.org Chart : default filters -OpenOffice.org Chart : default filters;comparison operators -OpenOffice.org Chart : default filters;databases -OpenOffice.org Chart : default printer -OpenOffice.org Chart : default printer;setting up -OpenOffice.org Chart : default printer;UNIX -OpenOffice.org Chart : default templates -OpenOffice.org Chart : default templates;changing -OpenOffice.org Chart : default templates;organizing -OpenOffice.org Chart : defaults -OpenOffice.org Chart : defaults;documents -OpenOffice.org Chart : defaults;file formats -OpenOffice.org Chart : defaults;fonts -OpenOffice.org Chart : defaults;grids (Writer/Calc) -OpenOffice.org Chart : defaults;languages -OpenOffice.org Chart : defaults;number formats -OpenOffice.org Chart : defaults;of saving -OpenOffice.org Chart : defaults;program configuration -OpenOffice.org Chart : defaults;tab stops in text -OpenOffice.org Chart : defaults;views -OpenOffice.org Chart : defining -OpenOffice.org Chart : defining;arrowheads and other line ends -OpenOffice.org Chart : defining;colors -OpenOffice.org Chart : defining;line styles -OpenOffice.org Chart : defining;paragraph borders -OpenOffice.org Chart : defining;queries (Base) -OpenOffice.org Chart : defining;table borders -OpenOffice.org Chart : deleting -OpenOffice.org Chart : deleting;all direct formatting -OpenOffice.org Chart : deleting;databases (Base) -OpenOffice.org Chart : deleting;hyperlinks -OpenOffice.org Chart : deleting;lines in text -OpenOffice.org Chart : deleting;models/instances -OpenOffice.org Chart : deleting;namespaces in XForms -OpenOffice.org Chart : deleting;tab stops -OpenOffice.org Chart : deleting;templates -OpenOffice.org Chart : deleting;XML filters -OpenOffice.org Chart : depth stagger -OpenOffice.org Chart : descriptions for objects -OpenOffice.org Chart : design mode after saving -OpenOffice.org Chart : design view -OpenOffice.org Chart : design view;creating forms -OpenOffice.org Chart : design view;queries/views (Base) -OpenOffice.org Chart : designing -OpenOffice.org Chart : designing;database tables -OpenOffice.org Chart : designing;fonts -OpenOffice.org Chart : designing;queries (Base) -OpenOffice.org Chart : detaching toolbars -OpenOffice.org Chart : dictionaries -OpenOffice.org Chart : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Chart : dictionaries;creating -OpenOffice.org Chart : dictionaries;editing user-defined -OpenOffice.org Chart : dictionaries;spellcheck -OpenOffice.org Chart : dictionaries, see also languages -OpenOffice.org Chart : digital signatures -OpenOffice.org Chart : direct formatting -OpenOffice.org Chart : direct formatting;undoing all -OpenOffice.org Chart : directories -OpenOffice.org Chart : directories;creating new -OpenOffice.org Chart : directories;directory structure -OpenOffice.org Chart : disabled persons -OpenOffice.org Chart : displaying -OpenOffice.org Chart : displaying;non-printing characters (Writer) -OpenOffice.org Chart : displaying;notes (Calc) -OpenOffice.org Chart : displaying;notes in text documents -OpenOffice.org Chart : displaying;pictures and objects (Writer) -OpenOffice.org Chart : displaying;tables (Writer) -OpenOffice.org Chart : displaying;zero values (Calc) -OpenOffice.org Chart : distances -OpenOffice.org Chart : distinct values in SQL queries -OpenOffice.org Chart : distorting in drawings -OpenOffice.org Chart : distributing XML filters -OpenOffice.org Chart : dithering -OpenOffice.org Chart : docking -OpenOffice.org Chart : docking;definition -OpenOffice.org Chart : docking;toolbars -OpenOffice.org Chart : docking;windows -OpenOffice.org Chart : Document Converter Wizard -OpenOffice.org Chart : Document Map feature in Microsoft Office -OpenOffice.org Chart : Document Map, see Navigator -OpenOffice.org Chart : document types in OpenOffice.org -OpenOffice.org Chart : documents -OpenOffice.org Chart : documents;changing titles -OpenOffice.org Chart : documents;closing -OpenOffice.org Chart : documents;comparing -OpenOffice.org Chart : documents;contents as lists -OpenOffice.org Chart : documents;editing time -OpenOffice.org Chart : documents;exporting -OpenOffice.org Chart : documents;importing -OpenOffice.org Chart : documents;languages -OpenOffice.org Chart : documents;measurement units in -OpenOffice.org Chart : documents;merging -OpenOffice.org Chart : documents;number of pages/tables/sheets -OpenOffice.org Chart : documents;opening -OpenOffice.org Chart : documents;opening in design mode -OpenOffice.org Chart : documents;opening with templates -OpenOffice.org Chart : documents;organizing -OpenOffice.org Chart : documents;printing -OpenOffice.org Chart : documents;read-only -OpenOffice.org Chart : documents;reloading -OpenOffice.org Chart : documents;saving -OpenOffice.org Chart : documents;saving automatically -OpenOffice.org Chart : documents;saving in other formats -OpenOffice.org Chart : documents;sending as e-mail -OpenOffice.org Chart : documents;styles changed -OpenOffice.org Chart : documents;version management -OpenOffice.org Chart : documents;version numbers -OpenOffice.org Chart : donut charts -OpenOffice.org Chart : dotted areas -OpenOffice.org Chart : double-line spacing in paragraphs -OpenOffice.org Chart : double-line writing in Asian layout -OpenOffice.org Chart : drag and drop -OpenOffice.org Chart : drag and drop;copying and pasting text -OpenOffice.org Chart : drag and drop;data source view -OpenOffice.org Chart : drag and drop;from Gallery to draw objects -OpenOffice.org Chart : drag and drop;overview -OpenOffice.org Chart : drag and drop;pictures -OpenOffice.org Chart : drag and drop;to Gallery -OpenOffice.org Chart : draw objects -OpenOffice.org Chart : draw objects;adding/editing/copying -OpenOffice.org Chart : draw objects;anchoring -OpenOffice.org Chart : draw objects;arranging within stacks -OpenOffice.org Chart : draw objects;copying -OpenOffice.org Chart : draw objects;copying between documents -OpenOffice.org Chart : draw objects;displaying (Calc) -OpenOffice.org Chart : draw objects;dropping Gallery pictures -OpenOffice.org Chart : draw objects;flipping -OpenOffice.org Chart : draw objects;legends -OpenOffice.org Chart : draw objects;positioning and resizing -OpenOffice.org Chart : draw objects;protecting -OpenOffice.org Chart : draw objects;slanting -OpenOffice.org Chart : draw objects;text in -OpenOffice.org Chart : Drawing bar -OpenOffice.org Chart : drawing lines in text -OpenOffice.org Chart : drawings -OpenOffice.org Chart : drawings;creating/opening -OpenOffice.org Chart : drawings;languages -OpenOffice.org Chart : drawings;printing -OpenOffice.org Chart : drawings;printing defaults -OpenOffice.org Chart : drawings;printing in text documents -OpenOffice.org Chart : drawings;saving -OpenOffice.org Chart : drawings;saving automatically -OpenOffice.org Chart : drawings;saving in other formats -OpenOffice.org Chart : drawings;sending as e-mail -OpenOffice.org Chart : drawings;showing (Writer) -OpenOffice.org Chart : drop-down lists in form functions -OpenOffice.org Chart : e-mail attachments -OpenOffice.org Chart : Edit File icon -OpenOffice.org Chart : edit mode -OpenOffice.org Chart : edit mode;after opening -OpenOffice.org Chart : edit mode;through Enter key (Calc) -OpenOffice.org Chart : Edit Points bar -OpenOffice.org Chart : editing -OpenOffice.org Chart : editing;chart axes -OpenOffice.org Chart : editing;chart data -OpenOffice.org Chart : editing;chart legends -OpenOffice.org Chart : editing;chart titles -OpenOffice.org Chart : editing;data binding of XForms -OpenOffice.org Chart : editing;database tables and queries -OpenOffice.org Chart : editing;draw objects -OpenOffice.org Chart : editing;Fontwork objects -OpenOffice.org Chart : editing;hyperlinks -OpenOffice.org Chart : editing;items in Data Navigator -OpenOffice.org Chart : editing;menus -OpenOffice.org Chart : editing;namespaces in XForms -OpenOffice.org Chart : editing;notes -OpenOffice.org Chart : editing;objects -OpenOffice.org Chart : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Chart : editing;pictures -OpenOffice.org Chart : editing;reports -OpenOffice.org Chart : editing;shortcut keys -OpenOffice.org Chart : editing;tab stops -OpenOffice.org Chart : editing;templates -OpenOffice.org Chart : editing;titles -OpenOffice.org Chart : editing;toolbars -OpenOffice.org Chart : editing;undoing -OpenOffice.org Chart : editing;XForms -OpenOffice.org Chart : editing time of documents -OpenOffice.org Chart : editors -OpenOffice.org Chart : editors;formula editor -OpenOffice.org Chart : editors;ImageMap editor -OpenOffice.org Chart : effects -OpenOffice.org Chart : effects;font positions -OpenOffice.org Chart : effects;fonts -OpenOffice.org Chart : effects;Fontwork icons -OpenOffice.org Chart : empty documents -OpenOffice.org Chart : empty paragraph removal -OpenOffice.org Chart : encryption of contents -OpenOffice.org Chart : entering groups -OpenOffice.org Chart : entering text from right to left -OpenOffice.org Chart : equal sign, see also operators -OpenOffice.org Chart : equations in formula editor -OpenOffice.org Chart : error bars in charts -OpenOffice.org Chart : error indicators in charts -OpenOffice.org Chart : Error Report Tool -OpenOffice.org Chart : Euro -OpenOffice.org Chart : Euro;currency formats -OpenOffice.org Chart : Euro;Euro Converter Wizard -OpenOffice.org Chart : even/odd pages -OpenOffice.org Chart : even/odd pages;printing -OpenOffice.org Chart : events -OpenOffice.org Chart : events;controls -OpenOffice.org Chart : events;customizing -OpenOffice.org Chart : events;in forms -OpenOffice.org Chart : Excel -OpenOffice.org Chart : Excel;saving as -OpenOffice.org Chart : Excel;search criteria -OpenOffice.org Chart : exceptions -OpenOffice.org Chart : exceptions;user-defined dictionaries -OpenOffice.org Chart : exchanging, see also replacing -OpenOffice.org Chart : executing -OpenOffice.org Chart : executing;SQL commands -OpenOffice.org Chart : exiting -OpenOffice.org Chart : exiting;groups -OpenOffice.org Chart : exiting;OpenOffice.org -OpenOffice.org Chart : expanding formatting (Calc) -OpenOffice.org Chart : explorer of data sources -OpenOffice.org Chart : export filters -OpenOffice.org Chart : exporting -OpenOffice.org Chart : exporting;bitmaps -OpenOffice.org Chart : exporting;databases -OpenOffice.org Chart : exporting;HTML and text documents -OpenOffice.org Chart : exporting;Microsoft Office documents with VBA code -OpenOffice.org Chart : exporting;spreadsheets to text format -OpenOffice.org Chart : exporting;templates -OpenOffice.org Chart : exporting;to foreign formats -OpenOffice.org Chart : exporting;to HTML -OpenOffice.org Chart : exporting;to Microsoft Office formats -OpenOffice.org Chart : exporting;to PDF -OpenOffice.org Chart : exporting;to PostScript format -OpenOffice.org Chart : exporting;to XML -OpenOffice.org Chart : exporting;XML files -OpenOffice.org Chart : extended tips in Help -OpenOffice.org Chart : extension mode in text -OpenOffice.org Chart : extensions -OpenOffice.org Chart : extensions;Extension Manager -OpenOffice.org Chart : extensions;file formats -OpenOffice.org Chart : external keys (Base) -OpenOffice.org Chart : faster printing -OpenOffice.org Chart : faxes -OpenOffice.org Chart : faxes;configuring OpenOffice.org -OpenOffice.org Chart : faxes;fax programs/fax printers under UNIX -OpenOffice.org Chart : faxes;selecting a fax machine -OpenOffice.org Chart : faxes;sending -OpenOffice.org Chart : faxes;wizards -OpenOffice.org Chart : fields -OpenOffice.org Chart : fields;database tables -OpenOffice.org Chart : fields;displaying field codes (Writer) -OpenOffice.org Chart : fields;formatted fields -OpenOffice.org Chart : fields;updating automatically (Writer) -OpenOffice.org Chart : file associations for Microsoft Office -OpenOffice.org Chart : file filters -OpenOffice.org Chart : file filters;mobile devices -OpenOffice.org Chart : file filters;XML -OpenOffice.org Chart : file formats -OpenOffice.org Chart : file formats;changing defaults -OpenOffice.org Chart : file formats;OpenDocument/XML -OpenOffice.org Chart : file formats;saving always in other formats -OpenOffice.org Chart : file selection button -OpenOffice.org Chart : file sharing options for current document -OpenOffice.org Chart : files -OpenOffice.org Chart : files;filters and formats -OpenOffice.org Chart : files;importing -OpenOffice.org Chart : files;opening -OpenOffice.org Chart : files;opening with placeholders -OpenOffice.org Chart : files;properties -OpenOffice.org Chart : files;saving -OpenOffice.org Chart : files;saving automatically -OpenOffice.org Chart : files;saving in other formats -OpenOffice.org Chart : files;sending as e-mail -OpenOffice.org Chart : files;version numbers -OpenOffice.org Chart : files and folders in OpenOffice.org -OpenOffice.org Chart : fill characters with tabulators -OpenOffice.org Chart : fill colors for areas -OpenOffice.org Chart : fill patterns for areas -OpenOffice.org Chart : filter conditions -OpenOffice.org Chart : filter conditions;connecting -OpenOffice.org Chart : filter conditions;in queries (Base) -OpenOffice.org Chart : filtering -OpenOffice.org Chart : filtering;data in databases -OpenOffice.org Chart : filtering;data in forms -OpenOffice.org Chart : filters -OpenOffice.org Chart : filters;comparison operators -OpenOffice.org Chart : filters;for import and export -OpenOffice.org Chart : filters;Navigator -OpenOffice.org Chart : filters;pictures -OpenOffice.org Chart : filters;XML filter settings -OpenOffice.org Chart : Find tab in Help -OpenOffice.org Chart : finding -OpenOffice.org Chart : finding;in all sheets -OpenOffice.org Chart : finding;records in form documents -OpenOffice.org Chart : finding;selections -OpenOffice.org Chart : finding;similarity search -OpenOffice.org Chart : fitting to pages -OpenOffice.org Chart : fitting to pages;print settings in Math -OpenOffice.org Chart : fitting to pages;print settings in presentations -OpenOffice.org Chart : fixed text -OpenOffice.org Chart : fixed text;form functions -OpenOffice.org Chart : fixing toolbars -OpenOffice.org Chart : flipping draw objects -OpenOffice.org Chart : floating frames in HTML documents -OpenOffice.org Chart : floating toolbars -OpenOffice.org Chart : focus of controls -OpenOffice.org Chart : folder creation -OpenOffice.org Chart : font lists -OpenOffice.org Chart : font name box -OpenOffice.org Chart : font sizes -OpenOffice.org Chart : font sizes;bullets -OpenOffice.org Chart : font sizes;relative changes -OpenOffice.org Chart : font sizes;scaling on screen -OpenOffice.org Chart : font sizes;text -OpenOffice.org Chart : fonts -OpenOffice.org Chart : fonts;adding under UNIX -OpenOffice.org Chart : fonts;changing in templates -OpenOffice.org Chart : fonts;colors -OpenOffice.org Chart : fonts;default settings -OpenOffice.org Chart : fonts;effects -OpenOffice.org Chart : fonts;for HTML and Basic -OpenOffice.org Chart : fonts;formats -OpenOffice.org Chart : fonts;outlines -OpenOffice.org Chart : fonts;positions in text -OpenOffice.org Chart : fonts;shadows -OpenOffice.org Chart : fonts;specifying several -OpenOffice.org Chart : fonts;strikethrough -OpenOffice.org Chart : fonts;styles -OpenOffice.org Chart : fonts;text objects -OpenOffice.org Chart : Fontwork icons -OpenOffice.org Chart : footers -OpenOffice.org Chart : footers;backgrounds -OpenOffice.org Chart : form controls -OpenOffice.org Chart : form controls;assigning macros -OpenOffice.org Chart : form controls;protecting -OpenOffice.org Chart : form controls;toolbars -OpenOffice.org Chart : form fields -OpenOffice.org Chart : form filters -OpenOffice.org Chart : Form Navigator -OpenOffice.org Chart : format codes -OpenOffice.org Chart : format codes;numbers -OpenOffice.org Chart : format codes;user-defined number formats -OpenOffice.org Chart : format filling printing in OpenOffice.org Math -OpenOffice.org Chart : Format Paintbrush -OpenOffice.org Chart : formats -OpenOffice.org Chart : formats;Asian layout -OpenOffice.org Chart : formats;Asian typography -OpenOffice.org Chart : formats;fonts -OpenOffice.org Chart : formats;maximizing page formats -OpenOffice.org Chart : formats;number and currency formats -OpenOffice.org Chart : formats;of currencies/date/time -OpenOffice.org Chart : formats;on opening and saving -OpenOffice.org Chart : formats;pasting in special formats -OpenOffice.org Chart : formats;positions -OpenOffice.org Chart : formats;tabulators -OpenOffice.org Chart : formats;undoing when writing -OpenOffice.org Chart : formatted fields -OpenOffice.org Chart : formatted fields;form functions -OpenOffice.org Chart : formatted fields;properties -OpenOffice.org Chart : formatting -OpenOffice.org Chart : formatting;axes in charts -OpenOffice.org Chart : formatting;chart areas -OpenOffice.org Chart : formatting;chart floors -OpenOffice.org Chart : formatting;chart legends -OpenOffice.org Chart : formatting;chart titles -OpenOffice.org Chart : formatting;chart walls -OpenOffice.org Chart : formatting;copying -OpenOffice.org Chart : formatting;definition -OpenOffice.org Chart : formatting;expanding (Calc) -OpenOffice.org Chart : formatting;font effects -OpenOffice.org Chart : formatting;hyperlinks -OpenOffice.org Chart : formatting;pages -OpenOffice.org Chart : formatting;printer metrics (Writer) -OpenOffice.org Chart : formatting;undoing -OpenOffice.org Chart : forms -OpenOffice.org Chart : forms;browsing -OpenOffice.org Chart : forms;Combo Box/List Box Wizard -OpenOffice.org Chart : forms;creating -OpenOffice.org Chart : forms;data -OpenOffice.org Chart : forms;designing (Base) -OpenOffice.org Chart : forms;events -OpenOffice.org Chart : forms;filtering data -OpenOffice.org Chart : forms;finding records -OpenOffice.org Chart : forms;focus after opening -OpenOffice.org Chart : forms;general information (Base) -OpenOffice.org Chart : forms;grouping controls -OpenOffice.org Chart : forms;HTML filters -OpenOffice.org Chart : forms;Navigator -OpenOffice.org Chart : forms;opening in design mode -OpenOffice.org Chart : forms;properties -OpenOffice.org Chart : forms;sorting data -OpenOffice.org Chart : forms;subforms -OpenOffice.org Chart : forms;wizards -OpenOffice.org Chart : forms;XForms -OpenOffice.org Chart : Formula Auditing feature in Microsoft Office -OpenOffice.org Chart : formula texts -OpenOffice.org Chart : formula texts;printing in OpenOffice.org Math -OpenOffice.org Chart : formulas -OpenOffice.org Chart : formulas;new -OpenOffice.org Chart : formulas;starting formula editor -OpenOffice.org Chart : formulas in reports -OpenOffice.org Chart : formulas in reports;editing -OpenOffice.org Chart : forums and support -OpenOffice.org Chart : frames -OpenOffice.org Chart : frames;around paragraphs -OpenOffice.org Chart : frames;around tables -OpenOffice.org Chart : frames;AutoCorrect function -OpenOffice.org Chart : frames;backgrounds -OpenOffice.org Chart : frames;captions (Writer) -OpenOffice.org Chart : frames;printing in OpenOffice.org Math -OpenOffice.org Chart : frames;protecting -OpenOffice.org Chart : frames;selection frames -OpenOffice.org Chart : frames;text fitting to frames -OpenOffice.org Chart : freeform lines -OpenOffice.org Chart : freeform lines;draw functions -OpenOffice.org Chart : FTP -OpenOffice.org Chart : FTP;opening documents -OpenOffice.org Chart : FTP;saving documents -OpenOffice.org Chart : full joins (Base) -OpenOffice.org Chart : full screen view -OpenOffice.org Chart : full-text search in Help -OpenOffice.org Chart : functions in reports -OpenOffice.org Chart : functions in reports;editing -OpenOffice.org Chart : Gallery -OpenOffice.org Chart : Gallery;adding pictures -OpenOffice.org Chart : Gallery;dragging pictures to draw objects -OpenOffice.org Chart : Gallery;hiding/showing -OpenOffice.org Chart : Gallery;inserting pictures from -OpenOffice.org Chart : German spellcheck -OpenOffice.org Chart : get method for form transmissions -OpenOffice.org Chart : getting support -OpenOffice.org Chart : GIF format -OpenOffice.org Chart : glossaries -OpenOffice.org Chart : glossaries;common terms -OpenOffice.org Chart : glossaries;Internet terms -OpenOffice.org Chart : gradients off for faster printing -OpenOffice.org Chart : graphical text art -OpenOffice.org Chart : graphics -OpenOffice.org Chart : graphics;cache -OpenOffice.org Chart : graphics;protecting -OpenOffice.org Chart : graphics, see also pictures -OpenOffice.org Chart : grayscale printing -OpenOffice.org Chart : grid controls -OpenOffice.org Chart : grid controls;form functions -OpenOffice.org Chart : grids -OpenOffice.org Chart : grids;defaults (Writer/Calc) -OpenOffice.org Chart : grids;display options (Impress/Draw) -OpenOffice.org Chart : grids;displaying lines (Calc) -OpenOffice.org Chart : grids;formatting axes -OpenOffice.org Chart : grids;inserting in charts -OpenOffice.org Chart : group box creation -OpenOffice.org Chart : groups -OpenOffice.org Chart : groups;entering/exiting/ungrouping -OpenOffice.org Chart : groups;naming -OpenOffice.org Chart : groups;of controls -OpenOffice.org Chart : guides -OpenOffice.org Chart : guides;display options (Impress/Draw) -OpenOffice.org Chart : guides;displaying when moving objects (Impress) -OpenOffice.org Chart : guides;showing (Calc) -OpenOffice.org Chart : guides;showing when moving frames (Writer) -OpenOffice.org Chart : gutter -OpenOffice.org Chart : handles -OpenOffice.org Chart : handles;displaying (Writer) -OpenOffice.org Chart : handles;scaling -OpenOffice.org Chart : handles;showing simple/large handles (Calc) -OpenOffice.org Chart : Hangul/Hanja -OpenOffice.org Chart : hatching -OpenOffice.org Chart : headers -OpenOffice.org Chart : headers;backgrounds -OpenOffice.org Chart : headings -OpenOffice.org Chart : headings;entering as text box -OpenOffice.org Chart : Hebrew -OpenOffice.org Chart : Hebrew;entering text -OpenOffice.org Chart : Hebrew;language settings -OpenOffice.org Chart : Help -OpenOffice.org Chart : Help;bookmarks -OpenOffice.org Chart : Help;extended tips on/off -OpenOffice.org Chart : Help;full-text search -OpenOffice.org Chart : Help;Help tips -OpenOffice.org Chart : Help;keywords -OpenOffice.org Chart : Help;navigation pane showing/hiding -OpenOffice.org Chart : Help;style sheets -OpenOffice.org Chart : Help;topics -OpenOffice.org Chart : Help Agent -OpenOffice.org Chart : Help Agent;help -OpenOffice.org Chart : Help Agent;options -OpenOffice.org Chart : Help tips -OpenOffice.org Chart : Help tips;hiding -OpenOffice.org Chart : hidden controls in Form Navigator -OpenOffice.org Chart : hidden fields display (Writer) -OpenOffice.org Chart : hidden pages -OpenOffice.org Chart : hidden pages;printing in presentations -OpenOffice.org Chart : hidden text -OpenOffice.org Chart : hidden text;showing (Writer) -OpenOffice.org Chart : hiding -OpenOffice.org Chart : hiding;changes -OpenOffice.org Chart : hiding;chart legends -OpenOffice.org Chart : hiding;docked windows -OpenOffice.org Chart : hiding;navigation pane in Help window -OpenOffice.org Chart : high contrast mode -OpenOffice.org Chart : Hindi -OpenOffice.org Chart : Hindi;entering text -OpenOffice.org Chart : Hindi;language settings -OpenOffice.org Chart : horizontal scrollbars (Writer) -OpenOffice.org Chart : HowTos for charts -OpenOffice.org Chart : HTML -OpenOffice.org Chart : HTML;definition -OpenOffice.org Chart : HTML;export character set -OpenOffice.org Chart : HTML;fonts for source display -OpenOffice.org Chart : HTML;importing META tags -OpenOffice.org Chart : HTML;live presentations -OpenOffice.org Chart : HTML documents -OpenOffice.org Chart : HTML documents;auto reloading -OpenOffice.org Chart : HTML documents;importing/exporting -OpenOffice.org Chart : HTML documents;META tags in -OpenOffice.org Chart : HTML documents;new -OpenOffice.org Chart : HTML documents;source text -OpenOffice.org Chart : hyperlinks -OpenOffice.org Chart : hyperlinks;assigning macros -OpenOffice.org Chart : hyperlinks;character formats -OpenOffice.org Chart : hyperlinks;definition -OpenOffice.org Chart : hyperlinks;deleting -OpenOffice.org Chart : hyperlinks;editing -OpenOffice.org Chart : hyperlinks;inserting -OpenOffice.org Chart : hyperlinks;relative and absolute -OpenOffice.org Chart : hyperlinks;turning off automatic recognition -OpenOffice.org Chart : hyperlinks, see also links -OpenOffice.org Chart : hyphenation -OpenOffice.org Chart : hyphenation;activating for a language -OpenOffice.org Chart : hyphenation;minimal number of characters -OpenOffice.org Chart : hyphens -OpenOffice.org Chart : hyphens;displaying custom (Writer) -OpenOffice.org Chart : hyphens;inserting custom -OpenOffice.org Chart : icon bars, see toolbars -OpenOffice.org Chart : icon sizes -OpenOffice.org Chart : ignore list for spellcheck -OpenOffice.org Chart : illumination -OpenOffice.org Chart : illumination;3D charts -OpenOffice.org Chart : illustrations, see pictures -OpenOffice.org Chart : image button creation -OpenOffice.org Chart : image control creation -OpenOffice.org Chart : ImageMap -OpenOffice.org Chart : ImageMap;definition -OpenOffice.org Chart : ImageMap;editor -OpenOffice.org Chart : images -OpenOffice.org Chart : images;ImageMap -OpenOffice.org Chart : images;inserting and editing bitmaps -OpenOffice.org Chart : images;placeholders in presentations -OpenOffice.org Chart : images, see also pictures -OpenOffice.org Chart : IME -OpenOffice.org Chart : IME;definition -OpenOffice.org Chart : IME;showing/hiding -OpenOffice.org Chart : import filters -OpenOffice.org Chart : import restrictions for Microsoft Office -OpenOffice.org Chart : importing -OpenOffice.org Chart : importing;bitmaps -OpenOffice.org Chart : importing;compatibility settings for text import -OpenOffice.org Chart : importing;databases -OpenOffice.org Chart : importing;documents in other formats -OpenOffice.org Chart : importing;from XML -OpenOffice.org Chart : importing;HTML and text documents -OpenOffice.org Chart : importing;HTML with META tags -OpenOffice.org Chart : importing;Microsoft Office documents with VBA code -OpenOffice.org Chart : importing;tables in text format -OpenOffice.org Chart : importing;templates -OpenOffice.org Chart : inches -OpenOffice.org Chart : Index tab in Help -OpenOffice.org Chart : indexes -OpenOffice.org Chart : indexes;backgrounds -OpenOffice.org Chart : indexes;showing/hiding Help index tab -OpenOffice.org Chart : indexes;unprotecting -OpenOffice.org Chart : indicator lines in text -OpenOffice.org Chart : inner joins (Base) -OpenOffice.org Chart : input method window -OpenOffice.org Chart : insert mode for entering text -OpenOffice.org Chart : inserting -OpenOffice.org Chart : inserting;applets -OpenOffice.org Chart : inserting;cell ranges from spreadsheets -OpenOffice.org Chart : inserting;charts -OpenOffice.org Chart : inserting;clipboard options -OpenOffice.org Chart : inserting;data from text documents -OpenOffice.org Chart : inserting;datasource records in spreadsheets -OpenOffice.org Chart : inserting;drawings -OpenOffice.org Chart : inserting;floating frames -OpenOffice.org Chart : inserting;form fields -OpenOffice.org Chart : inserting;hyperlinks -OpenOffice.org Chart : inserting;line breaks in cells -OpenOffice.org Chart : inserting;movies/sounds -OpenOffice.org Chart : inserting;new text tables defaults -OpenOffice.org Chart : inserting;notes -OpenOffice.org Chart : inserting;objects from Gallery -OpenOffice.org Chart : inserting;OLE objects -OpenOffice.org Chart : inserting;paragraph bullets -OpenOffice.org Chart : inserting;plug-ins -OpenOffice.org Chart : inserting;special characters -OpenOffice.org Chart : inserting;tab stops -OpenOffice.org Chart : installing -OpenOffice.org Chart : installing;ActiveX control -OpenOffice.org Chart : installing;mobile device filters -OpenOffice.org Chart : installing;UNO components -OpenOffice.org Chart : instructions -OpenOffice.org Chart : instructions;general -OpenOffice.org Chart : Internet -OpenOffice.org Chart : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Chart : Internet;presentations -OpenOffice.org Chart : Internet;starting searches -OpenOffice.org Chart : Internet;turning off recognition of addresses -OpenOffice.org Chart : Internet glossary -OpenOffice.org Chart : invert filter -OpenOffice.org Chart : invisible areas -OpenOffice.org Chart : italic text -OpenOffice.org Chart : iterative references in spreadsheets -OpenOffice.org Chart : Java -OpenOffice.org Chart : Java;definition -OpenOffice.org Chart : Java;scripting -OpenOffice.org Chart : Java;setting options -OpenOffice.org Chart : JDBC -OpenOffice.org Chart : JDBC;databases (Base) -OpenOffice.org Chart : JDBC;definition -OpenOffice.org Chart : joining -OpenOffice.org Chart : joining;paragraphs -OpenOffice.org Chart : joining;tables (Base) -OpenOffice.org Chart : joins in databases (Base) -OpenOffice.org Chart : justifying text -OpenOffice.org Chart : kerning -OpenOffice.org Chart : kerning;Asian texts -OpenOffice.org Chart : kerning;definition -OpenOffice.org Chart : kerning;in characters -OpenOffice.org Chart : key fields for relations (Base) -OpenOffice.org Chart : keyboard -OpenOffice.org Chart : keyboard;assigning/editing shortcut keys -OpenOffice.org Chart : keyboard;general commands -OpenOffice.org Chart : keyboard;removing numbering -OpenOffice.org Chart : keys -OpenOffice.org Chart : keys;adding push buttons -OpenOffice.org Chart : keys;primary keys (Base) -OpenOffice.org Chart : kiosk export -OpenOffice.org Chart : labels -OpenOffice.org Chart : labels;creating and synchronizing -OpenOffice.org Chart : labels;for charts -OpenOffice.org Chart : labels;for draw objects -OpenOffice.org Chart : labels;form functions -OpenOffice.org Chart : labels;from databases -OpenOffice.org Chart : labels, see also names/callouts -OpenOffice.org Chart : languages -OpenOffice.org Chart : languages;activating modules -OpenOffice.org Chart : languages;Asian support -OpenOffice.org Chart : languages;complex text layout -OpenOffice.org Chart : languages;locale settings -OpenOffice.org Chart : languages;selecting -OpenOffice.org Chart : languages;setting options -OpenOffice.org Chart : languages;spellcheck -OpenOffice.org Chart : languages;spellchecking and formatting -OpenOffice.org Chart : large handles (Writer) -OpenOffice.org Chart : large icons -OpenOffice.org Chart : layer arrangement -OpenOffice.org Chart : layout -OpenOffice.org Chart : layout;importing Word documents -OpenOffice.org Chart : layout;pages -OpenOffice.org Chart : LDAP server -OpenOffice.org Chart : LDAP server;address books (Base) -OpenOffice.org Chart : LDAP server;sign on options -OpenOffice.org Chart : leading between paragraphs -OpenOffice.org Chart : left alignment of paragraphs -OpenOffice.org Chart : left joins (Base) -OpenOffice.org Chart : legends -OpenOffice.org Chart : legends;charts -OpenOffice.org Chart : legends;draw objects -OpenOffice.org Chart : legends;rounding corners -OpenOffice.org Chart : Letter Wizard -OpenOffice.org Chart : levels -OpenOffice.org Chart : levels;depth stagger -OpenOffice.org Chart : limits of tables (Writer) -OpenOffice.org Chart : line breaks -OpenOffice.org Chart : line breaks;in cells -OpenOffice.org Chart : line charts -OpenOffice.org Chart : line spacing -OpenOffice.org Chart : line spacing;context menu in paragraphs -OpenOffice.org Chart : line spacing;paragraph -OpenOffice.org Chart : line styles -OpenOffice.org Chart : line styles;applying -OpenOffice.org Chart : line styles;defining -OpenOffice.org Chart : lines -OpenOffice.org Chart : lines;contours (Draw/Impress) -OpenOffice.org Chart : lines;defining ends -OpenOffice.org Chart : lines;draw functions -OpenOffice.org Chart : lines;drawing in text -OpenOffice.org Chart : lines;editing points -OpenOffice.org Chart : lines;removing automatic lines -OpenOffice.org Chart : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Chart : lines of text -OpenOffice.org Chart : lines of text;alignment -OpenOffice.org Chart : links -OpenOffice.org Chart : links;between cells and controls -OpenOffice.org Chart : links;by drag and drop -OpenOffice.org Chart : links;character formats -OpenOffice.org Chart : links;definition -OpenOffice.org Chart : links;editing hyperlinks -OpenOffice.org Chart : links;inserting -OpenOffice.org Chart : links;modifying -OpenOffice.org Chart : links;opening files with -OpenOffice.org Chart : links;relational databases (Base) -OpenOffice.org Chart : links;turning off automatic recognition -OpenOffice.org Chart : links;updating options (Writer) -OpenOffice.org Chart : links;updating specific links -OpenOffice.org Chart : list box creation -OpenOffice.org Chart : lists -OpenOffice.org Chart : lists;data assigned to controls -OpenOffice.org Chart : lists;registered databases (Base) -OpenOffice.org Chart : lists;regular expressions -OpenOffice.org Chart : live presentations on the Internet -OpenOffice.org Chart : loading -OpenOffice.org Chart : loading;documents -OpenOffice.org Chart : loading;documents from other formats -OpenOffice.org Chart : loading;HTML documents, automatically -OpenOffice.org Chart : loading;Microsoft Office documents with VBA code -OpenOffice.org Chart : loading;reloading -OpenOffice.org Chart : loading;XML files -OpenOffice.org Chart : locale settings -OpenOffice.org Chart : logarithmic scaling along axes -OpenOffice.org Chart : lowercase letters -OpenOffice.org Chart : lowercase letters;font effects -OpenOffice.org Chart : macros -OpenOffice.org Chart : macros;assigning to events in forms -OpenOffice.org Chart : macros;in MS Office documents -OpenOffice.org Chart : macros;interrupting -OpenOffice.org Chart : macros;organizing -OpenOffice.org Chart : macros;recording -OpenOffice.org Chart : macros;security -OpenOffice.org Chart : macros;security warning dialog -OpenOffice.org Chart : macros;selecting security warnings -OpenOffice.org Chart : magnifiers -OpenOffice.org Chart : Mail Merge feature in Microsoft Office -OpenOffice.org Chart : margins -OpenOffice.org Chart : margins;pages -OpenOffice.org Chart : margins;setting with the mouse -OpenOffice.org Chart : margins;shadows -OpenOffice.org Chart : marking changes -OpenOffice.org Chart : Markup feature in Microsoft Office -OpenOffice.org Chart : Math formula editor -OpenOffice.org Chart : measurement units -OpenOffice.org Chart : measurement units;changing on rulers -OpenOffice.org Chart : measurement units;converting -OpenOffice.org Chart : measurement units;selecting -OpenOffice.org Chart : Media Player window -OpenOffice.org Chart : menus -OpenOffice.org Chart : menus;activating context menus -OpenOffice.org Chart : menus;customizing -OpenOffice.org Chart : menus;inactive menu items -OpenOffice.org Chart : merging -OpenOffice.org Chart : merging;documents -OpenOffice.org Chart : META tags -OpenOffice.org Chart : metrics -OpenOffice.org Chart : metrics;converting -OpenOffice.org Chart : metrics;document formatting (Writer) -OpenOffice.org Chart : metrics;in sheets -OpenOffice.org Chart : Microsoft Office -OpenOffice.org Chart : Microsoft Office;Access databases (base) -OpenOffice.org Chart : Microsoft Office;as standard file format -OpenOffice.org Chart : Microsoft Office;document import restrictions -OpenOffice.org Chart : Microsoft Office;feature comparisons -OpenOffice.org Chart : Microsoft Office;importing password protected files -OpenOffice.org Chart : Microsoft Office;importing Word documents -OpenOffice.org Chart : Microsoft Office;importing/exporting VBA code -OpenOffice.org Chart : Microsoft Office;new users information -OpenOffice.org Chart : Microsoft Office;opening Microsoft documents -OpenOffice.org Chart : Microsoft Office;reassigning document types -OpenOffice.org Chart : mobile device filters -OpenOffice.org Chart : models in XForms -OpenOffice.org Chart : modifying, see changing -OpenOffice.org Chart : more controls -OpenOffice.org Chart : mosaic filter -OpenOffice.org Chart : mouse -OpenOffice.org Chart : mouse;pointers when using drag and drop -OpenOffice.org Chart : mouse;positioning -OpenOffice.org Chart : moving -OpenOffice.org Chart : moving;tab stops on ruler -OpenOffice.org Chart : moving;toolbars -OpenOffice.org Chart : moving;using guide lines in presentations -OpenOffice.org Chart : MS ADO interface (Base) -OpenOffice.org Chart : multi-line titles in forms -OpenOffice.org Chart : multiple documents -OpenOffice.org Chart : multiple documents;opening -OpenOffice.org Chart : My Documents folder -OpenOffice.org Chart : My Documents folder;changing work directory -OpenOffice.org Chart : My Documents folder;opening -OpenOffice.org Chart : MySQL databases (Base) -OpenOffice.org Chart : names -OpenOffice.org Chart : names;multi-line titles -OpenOffice.org Chart : names;objects -OpenOffice.org Chart : names, see also labels/callouts -OpenOffice.org Chart : namespace organization in XForms -OpenOffice.org Chart : native SQL (Base) -OpenOffice.org Chart : navigating -OpenOffice.org Chart : navigating;in documents -OpenOffice.org Chart : Navigation bar -OpenOffice.org Chart : Navigation bar;controls -OpenOffice.org Chart : Navigation bar;forms -OpenOffice.org Chart : Navigator -OpenOffice.org Chart : Navigator;contents as lists -OpenOffice.org Chart : Navigator;docking -OpenOffice.org Chart : Navigator;working with -OpenOffice.org Chart : net charts -OpenOffice.org Chart : network identity options -OpenOffice.org Chart : new databases -OpenOffice.org Chart : new documents -OpenOffice.org Chart : new German spellcheck -OpenOffice.org Chart : new lines in cells -OpenOffice.org Chart : new windows -OpenOffice.org Chart : non-breaking dashes -OpenOffice.org Chart : non-breaking spaces (Writer) -OpenOffice.org Chart : non-printing characters (Writer) -OpenOffice.org Chart : notes -OpenOffice.org Chart : notes;displaying (Calc) -OpenOffice.org Chart : notes;inserting and editing -OpenOffice.org Chart : notes;printing in text -OpenOffice.org Chart : number formats -OpenOffice.org Chart : number formats;codes -OpenOffice.org Chart : number formats;formats -OpenOffice.org Chart : number formats;recognition in text tables -OpenOffice.org Chart : number of pages -OpenOffice.org Chart : number of sheets -OpenOffice.org Chart : number of tables -OpenOffice.org Chart : numbering -OpenOffice.org Chart : numbering;options -OpenOffice.org Chart : numbering;paragraphs -OpenOffice.org Chart : numbering;turning off -OpenOffice.org Chart : numbering;using automatically -OpenOffice.org Chart : numbers -OpenOffice.org Chart : numbers;date, time and currency formats -OpenOffice.org Chart : numbers;decimal places (Calc) -OpenOffice.org Chart : numbers;formatting options for selected cells -OpenOffice.org Chart : numerical fields in forms -OpenOffice.org Chart : objects -OpenOffice.org Chart : objects;always moveable (Impress/Draw) -OpenOffice.org Chart : objects;arranging within stacks -OpenOffice.org Chart : objects;contours in presentations -OpenOffice.org Chart : objects;copying when moving in presentations -OpenOffice.org Chart : objects;definition -OpenOffice.org Chart : objects;displaying in spreadsheets -OpenOffice.org Chart : objects;displaying in text documents -OpenOffice.org Chart : objects;editing -OpenOffice.org Chart : objects;inserting from Gallery -OpenOffice.org Chart : objects;inserting OLE objects -OpenOffice.org Chart : objects;moving and resizing with mouse -OpenOffice.org Chart : objects;naming -OpenOffice.org Chart : objects;opening -OpenOffice.org Chart : objects;properties of charts -OpenOffice.org Chart : objects;quickly moving to -OpenOffice.org Chart : objects;titles and descriptions -OpenOffice.org Chart : ODBC -OpenOffice.org Chart : ODBC;database (Base) -OpenOffice.org Chart : ODBC;definition -OpenOffice.org Chart : ODF file formats -OpenOffice.org Chart : Office -OpenOffice.org Chart : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Chart : old German spellcheck -OpenOffice.org Chart : OLE -OpenOffice.org Chart : OLE;definition -OpenOffice.org Chart : OLE objects -OpenOffice.org Chart : OLE objects;arranging within stacks -OpenOffice.org Chart : OLE objects;captions (Writer) -OpenOffice.org Chart : OLE objects;inserting -OpenOffice.org Chart : OLE objects;number of -OpenOffice.org Chart : OLE objects;protecting -OpenOffice.org Chart : one and a half line spacing in text -OpenOffice.org Chart : online registration -OpenOffice.org Chart : online update options -OpenOffice.org Chart : online updates -OpenOffice.org Chart : online updates;checking automatically -OpenOffice.org Chart : online updates;checking manually -OpenOffice.org Chart : Open/Save dialogs -OpenOffice.org Chart : OpenDocument file formats -OpenOffice.org Chart : OpenGL -OpenOffice.org Chart : OpenGL;definition -OpenOffice.org Chart : OpenGL;optimized output -OpenOffice.org Chart : opening -OpenOffice.org Chart : opening;context menus -OpenOffice.org Chart : opening;database files -OpenOffice.org Chart : opening;dialog settings -OpenOffice.org Chart : opening;documents -OpenOffice.org Chart : opening;documents from other formats -OpenOffice.org Chart : opening;files with links -OpenOffice.org Chart : opening;files, with placeholders -OpenOffice.org Chart : opening;forms -OpenOffice.org Chart : opening;Microsoft Office files -OpenOffice.org Chart : opening;mobile device documents -OpenOffice.org Chart : opening;objects -OpenOffice.org Chart : opening;reports -OpenOffice.org Chart : opening;several files -OpenOffice.org Chart : opening;XForms -OpenOffice.org Chart : OpenOffice.org Base data sources -OpenOffice.org Chart : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Chart : OpenOffice.org documents -OpenOffice.org Chart : OpenOffice.org documents;mobile device filters -OpenOffice.org Chart : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Chart : OpenOffice.org Math start -OpenOffice.org Chart : operators -OpenOffice.org Chart : operators;default filters -OpenOffice.org Chart : optional hyphens (Writer) -OpenOffice.org Chart : options -OpenOffice.org Chart : options;accessibility -OpenOffice.org Chart : options;appearance -OpenOffice.org Chart : options;compatibility (Writer) -OpenOffice.org Chart : options;network identity -OpenOffice.org Chart : options;online update -OpenOffice.org Chart : options;tools -OpenOffice.org Chart : Oracle databases (base) -OpenOffice.org Chart : order of chart data -OpenOffice.org Chart : ordering -OpenOffice.org Chart : ordering;objects -OpenOffice.org Chart : organizing -OpenOffice.org Chart : organizing;macros and scripts -OpenOffice.org Chart : organizing;namespaces in XForms -OpenOffice.org Chart : organizing;styles -OpenOffice.org Chart : organizing;templates -OpenOffice.org Chart : original size -OpenOffice.org Chart : original size;printing in OpenOffice.org Math -OpenOffice.org Chart : original size;restoring after cropping -OpenOffice.org Chart : outlines -OpenOffice.org Chart : outlines;font effects -OpenOffice.org Chart : outlines;outline symbols -OpenOffice.org Chart : outlines;sending to presentations -OpenOffice.org Chart : overwrite mode -OpenOffice.org Chart : packages, see extensions -OpenOffice.org Chart : page breaks -OpenOffice.org Chart : page breaks;displaying (Calc) -OpenOffice.org Chart : page formats -OpenOffice.org Chart : page formats;maximizing -OpenOffice.org Chart : page formats;restriction -OpenOffice.org Chart : page styles -OpenOffice.org Chart : page styles;editing/applying with statusbar -OpenOffice.org Chart : pages -OpenOffice.org Chart : pages;backgrounds in spreadsheets -OpenOffice.org Chart : pages;formatting and numbering -OpenOffice.org Chart : pages;printing page names in presentations -OpenOffice.org Chart : pages;scaling -OpenOffice.org Chart : pages;selecting one to print -OpenOffice.org Chart : paint box -OpenOffice.org Chart : paint can symbol -OpenOffice.org Chart : pair kerning -OpenOffice.org Chart : Palm file filters -OpenOffice.org Chart : paper formats -OpenOffice.org Chart : paper size warning -OpenOffice.org Chart : paper trays -OpenOffice.org Chart : paragraph marks -OpenOffice.org Chart : paragraph marks;displaying (Writer) -OpenOffice.org Chart : paragraph styles -OpenOffice.org Chart : paragraph styles;languages -OpenOffice.org Chart : paragraph styles;modifying basic fonts -OpenOffice.org Chart : paragraphs -OpenOffice.org Chart : paragraphs;alignment -OpenOffice.org Chart : paragraphs;Asian typography -OpenOffice.org Chart : paragraphs;backgrounds -OpenOffice.org Chart : paragraphs;defining borders -OpenOffice.org Chart : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Chart : paragraphs;increasing indents of -OpenOffice.org Chart : paragraphs;indents, margins and columns -OpenOffice.org Chart : paragraphs;inserting bullets -OpenOffice.org Chart : paragraphs;joining -OpenOffice.org Chart : paragraphs;numbering automatically -OpenOffice.org Chart : paragraphs;removing blank ones -OpenOffice.org Chart : paragraphs;spacing -OpenOffice.org Chart : paragraphs;tab stops -OpenOffice.org Chart : parameters -OpenOffice.org Chart : parameters;command line -OpenOffice.org Chart : parameters;queries (Base) -OpenOffice.org Chart : passwords for protecting contents -OpenOffice.org Chart : pasting -OpenOffice.org Chart : pasting;cell ranges -OpenOffice.org Chart : pasting;cell ranges from spreadsheets -OpenOffice.org Chart : pasting;data from text documents -OpenOffice.org Chart : pasting;draw objects -OpenOffice.org Chart : pasting;draw objects from other documents -OpenOffice.org Chart : pasting;formatted/unformatted text -OpenOffice.org Chart : pasting;from data source view -OpenOffice.org Chart : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Chart : pasting;pictures from other documents -OpenOffice.org Chart : pasting;sheet areas in text documents -OpenOffice.org Chart : pasting;to Gallery -OpenOffice.org Chart : paths -OpenOffice.org Chart : paths;changing work directory -OpenOffice.org Chart : paths;defaults -OpenOffice.org Chart : pattern editor -OpenOffice.org Chart : pattern fields -OpenOffice.org Chart : pattern fields;form functions -OpenOffice.org Chart : patterns for objects -OpenOffice.org Chart : PDF -OpenOffice.org Chart : PDF;export -OpenOffice.org Chart : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Chart : personal data input -OpenOffice.org Chart : phonetic guide -OpenOffice.org Chart : picklist creation -OpenOffice.org Chart : pictures -OpenOffice.org Chart : pictures;adding to Gallery -OpenOffice.org Chart : pictures;arranging within stacks -OpenOffice.org Chart : pictures;assigning macros -OpenOffice.org Chart : pictures;backgrounds -OpenOffice.org Chart : pictures;captions (Writer) -OpenOffice.org Chart : pictures;changing paths -OpenOffice.org Chart : pictures;cropping and zooming -OpenOffice.org Chart : pictures;displaying in Calc -OpenOffice.org Chart : pictures;displaying in Writer (Writer) -OpenOffice.org Chart : pictures;drag and drop between documents -OpenOffice.org Chart : pictures;drawing -OpenOffice.org Chart : pictures;editing -OpenOffice.org Chart : pictures;filters -OpenOffice.org Chart : pictures;ImageMap -OpenOffice.org Chart : pictures;inserting automatically -OpenOffice.org Chart : pictures;inserting from Gallery -OpenOffice.org Chart : pictures;number of -OpenOffice.org Chart : pictures;printing -OpenOffice.org Chart : pictures;scaling/resizing -OpenOffice.org Chart : pie charts -OpenOffice.org Chart : Pivot tables feature in Microsoft Office -OpenOffice.org Chart : pixel editor -OpenOffice.org Chart : pixel graphics -OpenOffice.org Chart : pixel graphics;inserting and editing -OpenOffice.org Chart : pixel patterns -OpenOffice.org Chart : placeholders -OpenOffice.org Chart : placeholders;in SQL queries -OpenOffice.org Chart : placeholders;on opening files -OpenOffice.org Chart : placing toolbars -OpenOffice.org Chart : playing movies and sound files -OpenOffice.org Chart : plotting data as charts -OpenOffice.org Chart : plug-ins -OpenOffice.org Chart : plug-ins;activating and deactivating -OpenOffice.org Chart : plug-ins;definition -OpenOffice.org Chart : plug-ins;inserting -OpenOffice.org Chart : pocket device appliances -OpenOffice.org Chart : Pocket PC file filters -OpenOffice.org Chart : points -OpenOffice.org Chart : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Chart : polygon drawing -OpenOffice.org Chart : pop-art filter -OpenOffice.org Chart : portable document format -OpenOffice.org Chart : positioning -OpenOffice.org Chart : positioning;draw objects and controls -OpenOffice.org Chart : positioning;fonts -OpenOffice.org Chart : positioning;objects -OpenOffice.org Chart : positioning;toolbars -OpenOffice.org Chart : post method for form transmissions -OpenOffice.org Chart : posterizing filter -OpenOffice.org Chart : PostScript -OpenOffice.org Chart : PostScript;creating files -OpenOffice.org Chart : PostScript;PDF converter, UNIX -OpenOffice.org Chart : PowerPoint export -OpenOffice.org Chart : precision as shown (Calc) -OpenOffice.org Chart : predefining fonts -OpenOffice.org Chart : presentations -OpenOffice.org Chart : presentations;creating/opening -OpenOffice.org Chart : presentations;inserting spreadsheet cells -OpenOffice.org Chart : presentations;live on the Internet -OpenOffice.org Chart : presentations;print menu -OpenOffice.org Chart : presentations;saving -OpenOffice.org Chart : presentations;saving automatically -OpenOffice.org Chart : presentations;saving in other formats -OpenOffice.org Chart : presentations;sending as e-mail -OpenOffice.org Chart : presentations;starting with wizard -OpenOffice.org Chart : presentations;wizards -OpenOffice.org Chart : press buttons, see push buttons -OpenOffice.org Chart : previews -OpenOffice.org Chart : previews;fonts lists -OpenOffice.org Chart : primary keys -OpenOffice.org Chart : primary keys;defining -OpenOffice.org Chart : primary keys;inserting (Base) -OpenOffice.org Chart : print area selection -OpenOffice.org Chart : printer metrics for document formatting (Writer) -OpenOffice.org Chart : printers -OpenOffice.org Chart : printers;adding, UNIX -OpenOffice.org Chart : printers;choosing -OpenOffice.org Chart : printers;default printer -OpenOffice.org Chart : printers;faxes under UNIX -OpenOffice.org Chart : printers;maximum page formats -OpenOffice.org Chart : printers;paper trays -OpenOffice.org Chart : printers;properties -OpenOffice.org Chart : printing -OpenOffice.org Chart : printing;black and white -OpenOffice.org Chart : printing;brochures -OpenOffice.org Chart : printing;colors in grayscale -OpenOffice.org Chart : printing;copies -OpenOffice.org Chart : printing;creating individual jobs -OpenOffice.org Chart : printing;dates in presentations -OpenOffice.org Chart : printing;directly -OpenOffice.org Chart : printing;documents -OpenOffice.org Chart : printing;drawings defaults -OpenOffice.org Chart : printing;elements in text documents -OpenOffice.org Chart : printing;faster -OpenOffice.org Chart : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Chart : printing;fitting to pages in presentations -OpenOffice.org Chart : printing;formulas in OpenOffice.org Math -OpenOffice.org Chart : printing;hidden pages of presentations -OpenOffice.org Chart : printing;in original size in OpenOffice.org Math -OpenOffice.org Chart : printing;left/right pages -OpenOffice.org Chart : printing;queries (Base) -OpenOffice.org Chart : printing;scaling in OpenOffice.org Math -OpenOffice.org Chart : printing;selections -OpenOffice.org Chart : printing;text always in black -OpenOffice.org Chart : printing;text in reverse order -OpenOffice.org Chart : printing;tiling pages in presentations -OpenOffice.org Chart : printing;transparencies -OpenOffice.org Chart : printing;warnings -OpenOffice.org Chart : printing;without scaling in presentations -OpenOffice.org Chart : printing speed -OpenOffice.org Chart : programming -OpenOffice.org Chart : programming;OpenOffice.org -OpenOffice.org Chart : programming;scripting -OpenOffice.org Chart : properties -OpenOffice.org Chart : properties;charts -OpenOffice.org Chart : properties;fields in databases -OpenOffice.org Chart : properties;files -OpenOffice.org Chart : properties;form controls -OpenOffice.org Chart : properties;forms -OpenOffice.org Chart : properties;printers -OpenOffice.org Chart : properties;smooth lines in line charts/XY charts -OpenOffice.org Chart : protected contents -OpenOffice.org Chart : protected dashes -OpenOffice.org Chart : protected database tables -OpenOffice.org Chart : protected documents -OpenOffice.org Chart : protected spaces -OpenOffice.org Chart : protected spaces;inserting -OpenOffice.org Chart : protected spaces;showing (Writer) -OpenOffice.org Chart : protecting -OpenOffice.org Chart : protecting;contents -OpenOffice.org Chart : protecting;recorded changes -OpenOffice.org Chart : proxy settings -OpenOffice.org Chart : push buttons -OpenOffice.org Chart : push buttons;adding to documents -OpenOffice.org Chart : push buttons;creating -OpenOffice.org Chart : queries -OpenOffice.org Chart : queries;copying (Base) -OpenOffice.org Chart : queries;creating in design view (Base) -OpenOffice.org Chart : queries;creating in SQL view -OpenOffice.org Chart : queries;defining (Base) -OpenOffice.org Chart : queries;deleting table links (Base) -OpenOffice.org Chart : queries;editing in data source view -OpenOffice.org Chart : queries;formulating filter conditions (Base) -OpenOffice.org Chart : queries;joining tables (Base) -OpenOffice.org Chart : queries;missing elements (Base) -OpenOffice.org Chart : queries;overview (Base) -OpenOffice.org Chart : queries;parameter queries (Base) -OpenOffice.org Chart : queries;printing (Base) -OpenOffice.org Chart : Query Wizard (Base) -OpenOffice.org Chart : quickstarter -OpenOffice.org Chart : quotation marks -OpenOffice.org Chart : quotation marks;replacing -OpenOffice.org Chart : quotes -OpenOffice.org Chart : quotes;custom -OpenOffice.org Chart : radar charts, see net charts -OpenOffice.org Chart : radio button creation -OpenOffice.org Chart : read-only documents -OpenOffice.org Chart : read-only documents;cursor -OpenOffice.org Chart : read-only documents;database tables on/off -OpenOffice.org Chart : read-only documents;editing -OpenOffice.org Chart : read-only documents;opening documents as -OpenOffice.org Chart : read-only items in Data Navigator -OpenOffice.org Chart : recognizing URLs automatically -OpenOffice.org Chart : recording -OpenOffice.org Chart : recording;changes -OpenOffice.org Chart : recording;macros -OpenOffice.org Chart : records -OpenOffice.org Chart : records;inserting notes -OpenOffice.org Chart : records;protecting -OpenOffice.org Chart : records;saving -OpenOffice.org Chart : records;searching in databases -OpenOffice.org Chart : rectangles with round corners -OpenOffice.org Chart : recursions in spreadsheets -OpenOffice.org Chart : redo command -OpenOffice.org Chart : reduced printing -OpenOffice.org Chart : reference lines -OpenOffice.org Chart : references -OpenOffice.org Chart : references;displaying in color (Calc) -OpenOffice.org Chart : references;expanding (Calc) -OpenOffice.org Chart : references;iterative (Calc) -OpenOffice.org Chart : Refresh Data feature in Microsoft Office -OpenOffice.org Chart : register-true -OpenOffice.org Chart : register-true;definition -OpenOffice.org Chart : registering -OpenOffice.org Chart : registering;address books -OpenOffice.org Chart : registering;databases (Base) -OpenOffice.org Chart : registering;OpenOffice.org -OpenOffice.org Chart : regression curves in charts -OpenOffice.org Chart : regular expressions -OpenOffice.org Chart : regular expressions;list of -OpenOffice.org Chart : regular expressions;opening files -OpenOffice.org Chart : relational databases (Base) -OpenOffice.org Chart : relations -OpenOffice.org Chart : relations;creating and deleting (Base) -OpenOffice.org Chart : relations;joining tables (Base) -OpenOffice.org Chart : relations;properties (Base) -OpenOffice.org Chart : relative hyperlinks -OpenOffice.org Chart : relative saving of URLs -OpenOffice.org Chart : reloading -OpenOffice.org Chart : reloading;documents -OpenOffice.org Chart : reloading;HTML documents, automatically -OpenOffice.org Chart : remarks, see also notes -OpenOffice.org Chart : remote configurations -OpenOffice.org Chart : remove noise filter -OpenOffice.org Chart : removing -OpenOffice.org Chart : removing;bullets and numbering -OpenOffice.org Chart : removing;form filters -OpenOffice.org Chart : removing, see also deleting -OpenOffice.org Chart : reorganizing charts -OpenOffice.org Chart : Replace text as you type feature in Microsoft Office -OpenOffice.org Chart : replacement options -OpenOffice.org Chart : replacement table -OpenOffice.org Chart : replacing -OpenOffice.org Chart : replacing;AutoCorrect function -OpenOffice.org Chart : replacing;dashes -OpenOffice.org Chart : Report Builder -OpenOffice.org Chart : reports -OpenOffice.org Chart : reports;creating -OpenOffice.org Chart : reports;error reports -OpenOffice.org Chart : reports;opening and editing -OpenOffice.org Chart : reports;templates -OpenOffice.org Chart : resetting -OpenOffice.org Chart : resetting;templates -OpenOffice.org Chart : resizing -OpenOffice.org Chart : resizing;objects, by mouse -OpenOffice.org Chart : resizing, see also scaling/zooming -OpenOffice.org Chart : resolution when printing bitmaps -OpenOffice.org Chart : restoring -OpenOffice.org Chart : restoring;default formatting -OpenOffice.org Chart : restoring;editing -OpenOffice.org Chart : reversing printing order -OpenOffice.org Chart : review function -OpenOffice.org Chart : review function;accepting or rejecting changes -OpenOffice.org Chart : review function;comparing documents -OpenOffice.org Chart : review function;recording changes example -OpenOffice.org Chart : rich text control -OpenOffice.org Chart : right alignment of paragraphs -OpenOffice.org Chart : right joins (Base) -OpenOffice.org Chart : right-to-left text -OpenOffice.org Chart : rotating -OpenOffice.org Chart : rotating;3D text -OpenOffice.org Chart : round corners -OpenOffice.org Chart : rounding precision (Calc) -OpenOffice.org Chart : row headers -OpenOffice.org Chart : row headers;displaying (Calc) -OpenOffice.org Chart : row headers;highlighting (Calc) -OpenOffice.org Chart : rulers -OpenOffice.org Chart : rulers;default settings -OpenOffice.org Chart : rulers;measurement units -OpenOffice.org Chart : rulers;visible in presentations -OpenOffice.org Chart : samples and templates -OpenOffice.org Chart : saving -OpenOffice.org Chart : saving;default file formats -OpenOffice.org Chart : saving;dialog settings -OpenOffice.org Chart : saving;documents -OpenOffice.org Chart : saving;documents for mobile devices -OpenOffice.org Chart : saving;documents in other formats -OpenOffice.org Chart : saving;documents, automatically -OpenOffice.org Chart : saving;in Microsoft Office file format -OpenOffice.org Chart : saving;options -OpenOffice.org Chart : saving;templates -OpenOffice.org Chart : saving;to XML -OpenOffice.org Chart : saving;VBA code in Microsoft Office documents -OpenOffice.org Chart : saving;with password by default -OpenOffice.org Chart : saving as command -OpenOffice.org Chart : saving as command;precautions -OpenOffice.org Chart : scaling -OpenOffice.org Chart : scaling;axes -OpenOffice.org Chart : scaling;font sizes in user interface -OpenOffice.org Chart : scaling;objects -OpenOffice.org Chart : scaling;pictures -OpenOffice.org Chart : scaling;printing in OpenOffice.org Math -OpenOffice.org Chart : scaling;text in charts -OpenOffice.org Chart : scaling;when printing presentations -OpenOffice.org Chart : scaling, see also zooming -OpenOffice.org Chart : scatter charts -OpenOffice.org Chart : screen -OpenOffice.org Chart : screen;full screen views -OpenOffice.org Chart : screen;scaling -OpenOffice.org Chart : screen magnifiers -OpenOffice.org Chart : screen readers -OpenOffice.org Chart : script organization -OpenOffice.org Chart : scripting in programming -OpenOffice.org Chart : scrollbars -OpenOffice.org Chart : scrollbars;controls -OpenOffice.org Chart : scrollbars;displaying (Calc) -OpenOffice.org Chart : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Chart : search criteria for database functions in cells -OpenOffice.org Chart : search engines -OpenOffice.org Chart : search engines;definition -OpenOffice.org Chart : search engines;selecting -OpenOffice.org Chart : searching -OpenOffice.org Chart : searching;all sheets -OpenOffice.org Chart : searching;databases -OpenOffice.org Chart : searching;form filters -OpenOffice.org Chart : searching;Internet -OpenOffice.org Chart : searching;tables and forms -OpenOffice.org Chart : secondary axes in charts -OpenOffice.org Chart : sections -OpenOffice.org Chart : sections;backgrounds -OpenOffice.org Chart : sections;protecting -OpenOffice.org Chart : security -OpenOffice.org Chart : security;options for documents with macros -OpenOffice.org Chart : security;protecting contents -OpenOffice.org Chart : security;warning dialogs with macros -OpenOffice.org Chart : selecting -OpenOffice.org Chart : selecting;controls -OpenOffice.org Chart : selecting;group objects -OpenOffice.org Chart : selecting;measurement units -OpenOffice.org Chart : selecting;objects -OpenOffice.org Chart : selecting;print areas -OpenOffice.org Chart : selecting;several files -OpenOffice.org Chart : selection clipboard -OpenOffice.org Chart : selection modes in text -OpenOffice.org Chart : sending -OpenOffice.org Chart : sending;AutoAbstract function in presentations -OpenOffice.org Chart : sending;documents as e-mail -OpenOffice.org Chart : sending;documents as faxes -OpenOffice.org Chart : separator lines -OpenOffice.org Chart : separator lines;defining -OpenOffice.org Chart : separators -OpenOffice.org Chart : separators;conditional -OpenOffice.org Chart : Server Side ImageMap -OpenOffice.org Chart : settings -OpenOffice.org Chart : settings;printers -OpenOffice.org Chart : settings;program configuration -OpenOffice.org Chart : settings;proxies -OpenOffice.org Chart : settings;tracking changes -OpenOffice.org Chart : settings;views -OpenOffice.org Chart : SGML -OpenOffice.org Chart : SGML;definition -OpenOffice.org Chart : shadows -OpenOffice.org Chart : shadows;areas -OpenOffice.org Chart : shadows;borders -OpenOffice.org Chart : shadows;characters -OpenOffice.org Chart : shadows;characters, using context menu -OpenOffice.org Chart : sharpening filter -OpenOffice.org Chart : sheet tabs -OpenOffice.org Chart : sheet tabs;displaying -OpenOffice.org Chart : sheets -OpenOffice.org Chart : sheets;searching all -OpenOffice.org Chart : shortcut keys -OpenOffice.org Chart : shortcut keys;assigning macros -OpenOffice.org Chart : shortcut keys;charts -OpenOffice.org Chart : shortcut keys;general -OpenOffice.org Chart : shortcut keys;in databases -OpenOffice.org Chart : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Chart : Show/Hide feature in Microsoft Office -OpenOffice.org Chart : showing -OpenOffice.org Chart : showing;changes -OpenOffice.org Chart : showing;docked windows -OpenOffice.org Chart : showing;drawings and controls (Writer) -OpenOffice.org Chart : showing;live presentations on the Internet -OpenOffice.org Chart : showing;toolbars -OpenOffice.org Chart : signing documents with digital signatures -OpenOffice.org Chart : similarity search -OpenOffice.org Chart : simple handles (Writer) -OpenOffice.org Chart : simplified Chinese -OpenOffice.org Chart : simplified Chinese;translating to traditional Chinese -OpenOffice.org Chart : single sign on options -OpenOffice.org Chart : single-line spacing in text -OpenOffice.org Chart : sizes -OpenOffice.org Chart : sizes;draw objects -OpenOffice.org Chart : sizes;pictures -OpenOffice.org Chart : slanting draw objects -OpenOffice.org Chart : small capitals -OpenOffice.org Chart : small icons -OpenOffice.org Chart : smart tags -OpenOffice.org Chart : smart tags;options -OpenOffice.org Chart : smooth scrolling (Writer) -OpenOffice.org Chart : smoothing filter -OpenOffice.org Chart : snap grid defaults (Writer/Calc) -OpenOffice.org Chart : snapping in presentations and drawings -OpenOffice.org Chart : solarization filter -OpenOffice.org Chart : sort lists -OpenOffice.org Chart : sort lists;copying to in Calc -OpenOffice.org Chart : sorting -OpenOffice.org Chart : sorting;data in forms -OpenOffice.org Chart : sorting;databases -OpenOffice.org Chart : sounds -OpenOffice.org Chart : sounds;inserting and playing -OpenOffice.org Chart : sounds;UNIX -OpenOffice.org Chart : spaces -OpenOffice.org Chart : spaces;displaying (Writer) -OpenOffice.org Chart : spaces;ignoring double -OpenOffice.org Chart : spaces;inserting protected spaces -OpenOffice.org Chart : spaces;showing protected spaces (Writer) -OpenOffice.org Chart : spacing -OpenOffice.org Chart : spacing;between paragraphs in footnotes -OpenOffice.org Chart : spacing;font effects -OpenOffice.org Chart : spacing;lines and paragraphs -OpenOffice.org Chart : spacing;tab stops in text documents -OpenOffice.org Chart : spacing;tabs in presentations -OpenOffice.org Chart : spadmin -OpenOffice.org Chart : special characters -OpenOffice.org Chart : speech bubbles -OpenOffice.org Chart : speed of printing -OpenOffice.org Chart : spellcheck -OpenOffice.org Chart : spellcheck;activating for a language -OpenOffice.org Chart : spellcheck;context menus -OpenOffice.org Chart : spellcheck;default languages -OpenOffice.org Chart : spellcheck;dialog -OpenOffice.org Chart : spellcheck;dictionary of exceptions -OpenOffice.org Chart : spellcheck;ignore list -OpenOffice.org Chart : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Chart : spin button creation -OpenOffice.org Chart : spoolfiles with Xprinter -OpenOffice.org Chart : spreadsheets -OpenOffice.org Chart : spreadsheets;as databases (base) -OpenOffice.org Chart : spreadsheets;backgrounds -OpenOffice.org Chart : spreadsheets;copying areas to text documents -OpenOffice.org Chart : spreadsheets;creating/opening -OpenOffice.org Chart : spreadsheets;inserting charts -OpenOffice.org Chart : spreadsheets;inserting database records -OpenOffice.org Chart : spreadsheets;printing -OpenOffice.org Chart : spreadsheets;saving -OpenOffice.org Chart : spreadsheets;saving automatically -OpenOffice.org Chart : spreadsheets;saving in other formats -OpenOffice.org Chart : spreadsheets;sending as e-mail -OpenOffice.org Chart : SQL -OpenOffice.org Chart : SQL;definition -OpenOffice.org Chart : SQL;DISTINCT parameter -OpenOffice.org Chart : SQL;executing SQL commands -OpenOffice.org Chart : SQL;executing SQL statements (Base) -OpenOffice.org Chart : SQL;queries (Base) -OpenOffice.org Chart : square drawings -OpenOffice.org Chart : standard bar on/off -OpenOffice.org Chart : standard deviation in charts -OpenOffice.org Chart : standard filters in databases -OpenOffice.org Chart : standard printer under UNIX -OpenOffice.org Chart : Start Module backing window -OpenOffice.org Chart : start parameters -OpenOffice.org Chart : statistics in charts -OpenOffice.org Chart : status bar on/off -OpenOffice.org Chart : stickers -OpenOffice.org Chart : stock charts -OpenOffice.org Chart : strikethrough -OpenOffice.org Chart : strikethrough;characters -OpenOffice.org Chart : strikethrough;font effects -OpenOffice.org Chart : styles -OpenOffice.org Chart : styles;'changed' message -OpenOffice.org Chart : styles;copying between documents -OpenOffice.org Chart : styles;keyboard shortcuts -OpenOffice.org Chart : styles;organizing -OpenOffice.org Chart : styles;printing styles used in a document -OpenOffice.org Chart : styles;replacing automatically -OpenOffice.org Chart : Styles and Formatting window -OpenOffice.org Chart : Styles and Formatting window;docking -OpenOffice.org Chart : subforms -OpenOffice.org Chart : subforms;creating -OpenOffice.org Chart : subforms;description -OpenOffice.org Chart : submitting forms -OpenOffice.org Chart : suffixes in file formats -OpenOffice.org Chart : support on the Web -OpenOffice.org Chart : synchronizing -OpenOffice.org Chart : synchronizing;labels and business cards -OpenOffice.org Chart : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Chart : system address book registration -OpenOffice.org Chart : tab stops -OpenOffice.org Chart : tab stops;displaying (Writer) -OpenOffice.org Chart : tab stops;inserting and editing -OpenOffice.org Chart : tab stops;setting in sheets -OpenOffice.org Chart : tab stops;settings -OpenOffice.org Chart : tab stops;spacing in presentations -OpenOffice.org Chart : tab stops;spacing in text documents -OpenOffice.org Chart : table controls -OpenOffice.org Chart : table controls;form functions -OpenOffice.org Chart : table controls;keyboard-only edit mode -OpenOffice.org Chart : table controls;properties -OpenOffice.org Chart : table views of databases -OpenOffice.org Chart : Table Wizard (Base) -OpenOffice.org Chart : tables -OpenOffice.org Chart : tables;backgrounds -OpenOffice.org Chart : tables;inserting line breaks -OpenOffice.org Chart : tables in databases -OpenOffice.org Chart : tables in databases;access rights to (Base) -OpenOffice.org Chart : tables in databases;adding to queries -OpenOffice.org Chart : tables in databases;browsing and editing -OpenOffice.org Chart : tables in databases;copying database tables (Base) -OpenOffice.org Chart : tables in databases;creating -OpenOffice.org Chart : tables in databases;creating in design view -OpenOffice.org Chart : tables in databases;importing text formats (Base) -OpenOffice.org Chart : tables in databases;joining for queries (Base) -OpenOffice.org Chart : tables in databases;printing queries (Base) -OpenOffice.org Chart : tables in databases;relations (Base) -OpenOffice.org Chart : tables in databases;searching -OpenOffice.org Chart : tables in spreadsheets -OpenOffice.org Chart : tables in spreadsheets;copying data to other applications -OpenOffice.org Chart : tables in spreadsheets;defining borders -OpenOffice.org Chart : tables in spreadsheets;value highlighting -OpenOffice.org Chart : tables in text -OpenOffice.org Chart : tables in text;captions -OpenOffice.org Chart : tables in text;creating automatically -OpenOffice.org Chart : tables in text;default settings -OpenOffice.org Chart : tables in text;defining borders -OpenOffice.org Chart : tables in text;displaying -OpenOffice.org Chart : tables in text;printing -OpenOffice.org Chart : tables in text;protecting cells -OpenOffice.org Chart : tables of contents -OpenOffice.org Chart : tables of contents;unprotecting -OpenOffice.org Chart : tabs -OpenOffice.org Chart : tabs;displaying sheet tabs -OpenOffice.org Chart : tags -OpenOffice.org Chart : tags;definition -OpenOffice.org Chart : tags;META tags -OpenOffice.org Chart : templates -OpenOffice.org Chart : templates;agendas -OpenOffice.org Chart : templates;changing basic fonts -OpenOffice.org Chart : templates;database reports -OpenOffice.org Chart : templates;deleting -OpenOffice.org Chart : templates;editing and saving -OpenOffice.org Chart : templates;faxes -OpenOffice.org Chart : templates;importing and exporting -OpenOffice.org Chart : templates;letters -OpenOffice.org Chart : templates;new documents from templates -OpenOffice.org Chart : templates;opening documents with -OpenOffice.org Chart : templates;organizing -OpenOffice.org Chart : terminology -OpenOffice.org Chart : terminology;general glossary -OpenOffice.org Chart : terminology;Internet glossary -OpenOffice.org Chart : testing XML filters -OpenOffice.org Chart : text -OpenOffice.org Chart : text;animating -OpenOffice.org Chart : text;Asian layout -OpenOffice.org Chart : text;backgrounds -OpenOffice.org Chart : text;bold -OpenOffice.org Chart : text;coloring -OpenOffice.org Chart : text;contours -OpenOffice.org Chart : text;copying by drag and drop -OpenOffice.org Chart : text;CTL languages -OpenOffice.org Chart : text;drawing pictures -OpenOffice.org Chart : text;font effects -OpenOffice.org Chart : text;font sizes -OpenOffice.org Chart : text;font styles -OpenOffice.org Chart : text;fonts and formats -OpenOffice.org Chart : text;Fontwork icons -OpenOffice.org Chart : text;hyperlinks -OpenOffice.org Chart : text;inserting special characters -OpenOffice.org Chart : text;italics -OpenOffice.org Chart : text;kerning -OpenOffice.org Chart : text;language selection -OpenOffice.org Chart : text;line spacing -OpenOffice.org Chart : text;overwriting or inserting -OpenOffice.org Chart : text;placeholders in presentations -OpenOffice.org Chart : text;printing in black -OpenOffice.org Chart : text;replacing with format -OpenOffice.org Chart : text;selection modes -OpenOffice.org Chart : text;shadowed -OpenOffice.org Chart : text;text/draw objects -OpenOffice.org Chart : text attributes -OpenOffice.org Chart : text attributes;hyperlinks -OpenOffice.org Chart : text attributes;undoing -OpenOffice.org Chart : text boxes -OpenOffice.org Chart : text boxes;form functions -OpenOffice.org Chart : text boxes;positioning -OpenOffice.org Chart : text breaks in cells -OpenOffice.org Chart : text colors for better accessibility -OpenOffice.org Chart : text databases (Base) -OpenOffice.org Chart : text documents -OpenOffice.org Chart : text documents;creating/opening -OpenOffice.org Chart : text documents;importing/exporting -OpenOffice.org Chart : text documents;inserting spreadsheet cells -OpenOffice.org Chart : text documents;print settings -OpenOffice.org Chart : text documents;printing -OpenOffice.org Chart : text documents;saving -OpenOffice.org Chart : text documents;saving automatically -OpenOffice.org Chart : text documents;saving in other formats -OpenOffice.org Chart : text documents;sending as e-mail -OpenOffice.org Chart : text effects -OpenOffice.org Chart : text flow -OpenOffice.org Chart : text flow;in cells -OpenOffice.org Chart : text formats -OpenOffice.org Chart : text formats;databases -OpenOffice.org Chart : text formats;pasting -OpenOffice.org Chart : text input fields -OpenOffice.org Chart : text layout for special languages -OpenOffice.org Chart : text objects -OpenOffice.org Chart : text objects;alignment -OpenOffice.org Chart : text objects;draw functions -OpenOffice.org Chart : text objects;fonts -OpenOffice.org Chart : text objects;in presentations and drawings -OpenOffice.org Chart : text overflow in spreadsheet cells -OpenOffice.org Chart : text scaling in charts -OpenOffice.org Chart : text, see also text documents, paragraphs and characters -OpenOffice.org Chart : TextArt, see Fontwork -OpenOffice.org Chart : textures -OpenOffice.org Chart : textures;inserting from Gallery -OpenOffice.org Chart : textures;on chart bars -OpenOffice.org Chart : Thai -OpenOffice.org Chart : Thai;entering text -OpenOffice.org Chart : Thai;language settings -OpenOffice.org Chart : thesaurus -OpenOffice.org Chart : thesaurus;activating for a language -OpenOffice.org Chart : ticker text -OpenOffice.org Chart : time fields -OpenOffice.org Chart : time fields;form functions -OpenOffice.org Chart : times -OpenOffice.org Chart : times;inserting when printing presentations -OpenOffice.org Chart : times, formats -OpenOffice.org Chart : tips -OpenOffice.org Chart : tips;extended tips in Help -OpenOffice.org Chart : title rows -OpenOffice.org Chart : title rows;printing in OpenOffice.org Math -OpenOffice.org Chart : titles -OpenOffice.org Chart : titles;alignment (charts) -OpenOffice.org Chart : titles;changing -OpenOffice.org Chart : titles;editing in charts -OpenOffice.org Chart : titles;font effects -OpenOffice.org Chart : titles;formatting automatically -OpenOffice.org Chart : titles;formatting charts -OpenOffice.org Chart : titles;objects -OpenOffice.org Chart : toolbars -OpenOffice.org Chart : toolbars;adding buttons -OpenOffice.org Chart : toolbars;docking/undocking -OpenOffice.org Chart : toolbars;Form Navigation bar -OpenOffice.org Chart : toolbars;viewing/closing -OpenOffice.org Chart : tools bar -OpenOffice.org Chart : tooltips -OpenOffice.org Chart : tooltips;extended tips -OpenOffice.org Chart : tooltips;help -OpenOffice.org Chart : Track changes feature in Microsoft Office -OpenOffice.org Chart : traditional Chinese -OpenOffice.org Chart : traditional Chinese;translating to simplified chinese -OpenOffice.org Chart : transparency -OpenOffice.org Chart : transparency;areas -OpenOffice.org Chart : transparency;off for faster printing -OpenOffice.org Chart : transparency;saving -OpenOffice.org Chart : tree view of Help -OpenOffice.org Chart : trend lines in charts -OpenOffice.org Chart : typefaces -OpenOffice.org Chart : typefaces;adding under UNIX -OpenOffice.org Chart : typefaces;formats -OpenOffice.org Chart : typographical quotes in OpenOffice.org Writer -OpenOffice.org Chart : typography -OpenOffice.org Chart : typography;Asian -OpenOffice.org Chart : underlining -OpenOffice.org Chart : underlining;AutoFormat function -OpenOffice.org Chart : underlining;characters -OpenOffice.org Chart : underlining;text -OpenOffice.org Chart : undocking windows -OpenOffice.org Chart : undoing -OpenOffice.org Chart : undoing;direct formatting -OpenOffice.org Chart : undoing;editing -OpenOffice.org Chart : undoing;number of steps -OpenOffice.org Chart : ungrouping groups -OpenOffice.org Chart : units -OpenOffice.org Chart : units;converting -OpenOffice.org Chart : units;measurement units -OpenOffice.org Chart : UNO components -OpenOffice.org Chart : UNO components;Extension Manager -OpenOffice.org Chart : UNO components;integrating new -OpenOffice.org Chart : update options -OpenOffice.org Chart : updates -OpenOffice.org Chart : updates;checking automatically -OpenOffice.org Chart : updates;checking manually -OpenOffice.org Chart : updating -OpenOffice.org Chart : updating;fields and charts, automatically (Writer) -OpenOffice.org Chart : updating;links in text documents -OpenOffice.org Chart : updating;links, on opening -OpenOffice.org Chart : updating;templates -OpenOffice.org Chart : URL -OpenOffice.org Chart : URL;changing hyperlink URLs -OpenOffice.org Chart : URL;definition -OpenOffice.org Chart : URL;saving absolute/relative paths -OpenOffice.org Chart : URL;turning off URL recognition -OpenOffice.org Chart : user data -OpenOffice.org Chart : user data;input -OpenOffice.org Chart : user data;removing when saving -OpenOffice.org Chart : user-defined dictionaries -OpenOffice.org Chart : user-defined dictionaries;creating -OpenOffice.org Chart : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Chart : user-defined dictionaries;editing -OpenOffice.org Chart : user-defined styles -OpenOffice.org Chart : user-defined styles;automatically replacing -OpenOffice.org Chart : UTF-8/UCS2 support -OpenOffice.org Chart : Validation feature in Microsoft Office -OpenOffice.org Chart : values -OpenOffice.org Chart : values;rounded as shown (Calc) -OpenOffice.org Chart : variables -OpenOffice.org Chart : variables;for paths -OpenOffice.org Chart : variances in charts -OpenOffice.org Chart : VBA code -OpenOffice.org Chart : VBA code;loading/saving documents with VBA code -OpenOffice.org Chart : version management -OpenOffice.org Chart : version numbers of documents -OpenOffice.org Chart : versions -OpenOffice.org Chart : versions;comparing documents -OpenOffice.org Chart : versions;file saving as, restriction -OpenOffice.org Chart : versions;merging document versions -OpenOffice.org Chart : versions;of a document -OpenOffice.org Chart : versions;OpenOffice.org -OpenOffice.org Chart : vertical callouts -OpenOffice.org Chart : vertical scrollbars (Writer) -OpenOffice.org Chart : vertical text boxes -OpenOffice.org Chart : videos -OpenOffice.org Chart : viewing -OpenOffice.org Chart : viewing;databases -OpenOffice.org Chart : viewing;file properties -OpenOffice.org Chart : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Chart : viewing;toolbars -OpenOffice.org Chart : views -OpenOffice.org Chart : views;creating database views (Base) -OpenOffice.org Chart : views;defaults -OpenOffice.org Chart : views;full screen -OpenOffice.org Chart : views;icons -OpenOffice.org Chart : views;in 3D -OpenOffice.org Chart : views;scaling -OpenOffice.org Chart : Visual Basic for Applications -OpenOffice.org Chart : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Chart : watermarks -OpenOffice.org Chart : web documents -OpenOffice.org Chart : web documents;XForms -OpenOffice.org Chart : Web support -OpenOffice.org Chart : WebCast export -OpenOffice.org Chart : windows -OpenOffice.org Chart : windows;docking -OpenOffice.org Chart : windows;docking definition -OpenOffice.org Chart : windows;hiding/showing/docking -OpenOffice.org Chart : windows;new -OpenOffice.org Chart : wizards -OpenOffice.org Chart : wizards;agendas -OpenOffice.org Chart : wizards;database queries -OpenOffice.org Chart : wizards;database tables (Base) -OpenOffice.org Chart : wizards;databases (Base) -OpenOffice.org Chart : wizards;document converter -OpenOffice.org Chart : wizards;Euro Converter -OpenOffice.org Chart : wizards;faxes -OpenOffice.org Chart : wizards;forms -OpenOffice.org Chart : wizards;letters -OpenOffice.org Chart : wizards;overview -OpenOffice.org Chart : wizards;presentations -OpenOffice.org Chart : wizards;reports -OpenOffice.org Chart : Word documents -OpenOffice.org Chart : Word documents;compatibility -OpenOffice.org Chart : Word documents;saving as -OpenOffice.org Chart : WordArt, see Fontwork -OpenOffice.org Chart : words -OpenOffice.org Chart : words;automatically replacing -OpenOffice.org Chart : words;wrapping in cells -OpenOffice.org Chart : work directory change -OpenOffice.org Chart : Workbook feature in Microsoft Office -OpenOffice.org Chart : Worksheet feature in Microsoft Office -OpenOffice.org Chart : wrapping text -OpenOffice.org Chart : wrapping text;in cells -OpenOffice.org Chart : write protection on/off -OpenOffice.org Chart : writing aids options -OpenOffice.org Chart : WYSIWYG in fonts lists -OpenOffice.org Chart : X axes -OpenOffice.org Chart : X axes;grid formatting -OpenOffice.org Chart : X axes;scaling -OpenOffice.org Chart : X axes;showing -OpenOffice.org Chart : XForms -OpenOffice.org Chart : XML converters -OpenOffice.org Chart : XML file formats -OpenOffice.org Chart : XML filters -OpenOffice.org Chart : XML filters;creating/testing/distributing/deleting -OpenOffice.org Chart : XML filters;settings -OpenOffice.org Chart : XML Forms -OpenOffice.org Chart : XSLT based filters -OpenOffice.org Chart : XSLT based filters;settings -OpenOffice.org Chart : XSLT filters, see also XML filters -OpenOffice.org Chart : XY charts -OpenOffice.org Chart : Y axes -OpenOffice.org Chart : Y axes;formatting -OpenOffice.org Chart : Y axes;grid formatting -OpenOffice.org Chart : Y axes;scaling -OpenOffice.org Chart : Y axes;showing -OpenOffice.org Chart : years -OpenOffice.org Chart : years;2-digit options -OpenOffice.org Chart : Z axes -OpenOffice.org Chart : Z axes;grid formatting -OpenOffice.org Chart : Z axes;showing -OpenOffice.org Chart : zero values -OpenOffice.org Chart : zero values;displaying (Calc) -OpenOffice.org Chart : zooming -OpenOffice.org Chart : zooming;page views -OpenOffice.org Chart : zooming;pictures -OpenOffice.org Chart : zooming;status bar -OpenOffice.org Base : 1/2 replacement -OpenOffice.org Base : 3D text creation -OpenOffice.org Base : 3D view -OpenOffice.org Base : abbreviation replacement -OpenOffice.org Base : absolute hyperlinks -OpenOffice.org Base : absolute saving of URLs -OpenOffice.org Base : accents -OpenOffice.org Base : Access databases (base) -OpenOffice.org Base : access rights for database tables (Base) -OpenOffice.org Base : accessibility -OpenOffice.org Base : accessibility;general shortcuts -OpenOffice.org Base : accessibility;OpenOffice.org assistive technology -OpenOffice.org Base : accessibility;OpenOffice.org features -OpenOffice.org Base : accessibility;options -OpenOffice.org Base : activating -OpenOffice.org Base : activating;context menus -OpenOffice.org Base : activating;Error Report Tool -OpenOffice.org Base : activating;extended help tips -OpenOffice.org Base : activating;plug-ins -OpenOffice.org Base : ActiveX control -OpenOffice.org Base : Adabas D databases (base) -OpenOffice.org Base : add-ons, see UNO components -OpenOffice.org Base : adding -OpenOffice.org Base : adding;automatic captions (Writer) -OpenOffice.org Base : adding;backgrounds -OpenOffice.org Base : adding;buttons in toolbars -OpenOffice.org Base : adding;conditions for XForm items -OpenOffice.org Base : adding;draw objects -OpenOffice.org Base : adding;Fontwork objects -OpenOffice.org Base : adding;items in Data Navigator -OpenOffice.org Base : adding;namespaces in XForms -OpenOffice.org Base : adding;paragraph borders -OpenOffice.org Base : adding;pictures from Gallery -OpenOffice.org Base : adding;pictures in Gallery -OpenOffice.org Base : adding;plug-ins -OpenOffice.org Base : adding;push buttons -OpenOffice.org Base : adding;table borders -OpenOffice.org Base : adding;textures on chart bars -OpenOffice.org Base : additional selection mode -OpenOffice.org Base : address books -OpenOffice.org Base : address books;LDAP server (Base) -OpenOffice.org Base : address books;registering -OpenOffice.org Base : address labels from databases -OpenOffice.org Base : ADO databases (Base) -OpenOffice.org Base : Agenda Wizard -OpenOffice.org Base : aging filter -OpenOffice.org Base : aligning -OpenOffice.org Base : aligning;cells -OpenOffice.org Base : aligning;objects -OpenOffice.org Base : aligning;paragraphs -OpenOffice.org Base : aligning;tables in text -OpenOffice.org Base : aligning;text objects -OpenOffice.org Base : alternative fonts -OpenOffice.org Base : ampersand symbol, see also operators -OpenOffice.org Base : anchors -OpenOffice.org Base : anchors;changing -OpenOffice.org Base : anchors;displaying (Calc) -OpenOffice.org Base : anchors;types/positions for draw objects -OpenOffice.org Base : animations -OpenOffice.org Base : animations;accessibility options -OpenOffice.org Base : appearance options -OpenOffice.org Base : applet insertion -OpenOffice.org Base : applying -OpenOffice.org Base : applying;languages, to selected text -OpenOffice.org Base : Arabic -OpenOffice.org Base : Arabic;entering text -OpenOffice.org Base : Arabic;language settings -OpenOffice.org Base : areas -OpenOffice.org Base : areas;bitmap patterns -OpenOffice.org Base : areas;hatched/dotted -OpenOffice.org Base : areas;shadows -OpenOffice.org Base : areas;slanting -OpenOffice.org Base : areas;styles -OpenOffice.org Base : areas;transparency -OpenOffice.org Base : arguments in command line -OpenOffice.org Base : arranging -OpenOffice.org Base : arranging;objects -OpenOffice.org Base : arrows -OpenOffice.org Base : arrows;defining arrow heads -OpenOffice.org Base : arrows;defining arrow lines -OpenOffice.org Base : arrows;drawing in text -OpenOffice.org Base : ASCII -OpenOffice.org Base : ASCII;definition -OpenOffice.org Base : Asian languages -OpenOffice.org Base : Asian languages;enabling -OpenOffice.org Base : Asian Phonetic Guide -OpenOffice.org Base : Asian typography -OpenOffice.org Base : assigning scripts -OpenOffice.org Base : assistive technology in OpenOffice.org -OpenOffice.org Base : attaching toolbars -OpenOffice.org Base : attachments in e-mails -OpenOffice.org Base : audio -OpenOffice.org Base : audio;inserting -OpenOffice.org Base : audio;UNIX -OpenOffice.org Base : auto reloading HTML documents -OpenOffice.org Base : AutoAbstract function for sending text to presentations -OpenOffice.org Base : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Base : AutoComplete function in text and list boxes -OpenOffice.org Base : AutoCorrect function -OpenOffice.org Base : AutoCorrect function;context menu -OpenOffice.org Base : AutoCorrect function;options -OpenOffice.org Base : AutoCorrect function;pictures and frames -OpenOffice.org Base : AutoCorrect function;quotes -OpenOffice.org Base : AutoCorrect function;replacement table -OpenOffice.org Base : AutoCorrect function;smart tags -OpenOffice.org Base : AutoCorrect function;switching on and off in Calc -OpenOffice.org Base : AutoCorrect function;URL recognition -OpenOffice.org Base : AutoFormat function -OpenOffice.org Base : AutoFormat function;switching on and off -OpenOffice.org Base : automatic captions (Writer) -OpenOffice.org Base : automatic control focus -OpenOffice.org Base : automatic hyperlink formatting -OpenOffice.org Base : automatic line breaks -OpenOffice.org Base : automatic lines/borders in text -OpenOffice.org Base : automatic saving -OpenOffice.org Base : AutoPilots, see wizards -OpenOffice.org Base : AutoShapes feature in Microsoft Office -OpenOffice.org Base : axes in charts -OpenOffice.org Base : backgrounds -OpenOffice.org Base : backgrounds;defining colors/pictures -OpenOffice.org Base : backgrounds;frames/sections/indexes -OpenOffice.org Base : backgrounds;inserting from Gallery -OpenOffice.org Base : backgrounds;printing -OpenOffice.org Base : backing window -OpenOffice.org Base : backups -OpenOffice.org Base : backups;automatic -OpenOffice.org Base : backups;documents -OpenOffice.org Base : Basic -OpenOffice.org Base : Basic;fonts for source display -OpenOffice.org Base : Basic;programming -OpenOffice.org Base : Basic;recording macros -OpenOffice.org Base : Basic;scripting -OpenOffice.org Base : basic fonts -OpenOffice.org Base : BeanShell scripting -OpenOffice.org Base : Bézier curves -OpenOffice.org Base : Bézier curves;control points in presentations -OpenOffice.org Base : bi-directional writing -OpenOffice.org Base : binding space -OpenOffice.org Base : bitmaps -OpenOffice.org Base : bitmaps;inserting and editing -OpenOffice.org Base : bitmaps;off for faster printing -OpenOffice.org Base : bitmaps;patterns -OpenOffice.org Base : black and white printing -OpenOffice.org Base : black printing in Calc -OpenOffice.org Base : block selection mode -OpenOffice.org Base : bold -OpenOffice.org Base : bold;AutoFormat function -OpenOffice.org Base : bold;text -OpenOffice.org Base : bookmarks -OpenOffice.org Base : bookmarks;Help -OpenOffice.org Base : borders -OpenOffice.org Base : borders;arranging -OpenOffice.org Base : borders;cells on screen (Calc) -OpenOffice.org Base : borders;for paragraphs -OpenOffice.org Base : borders;for tables -OpenOffice.org Base : borders;shadows -OpenOffice.org Base : borders;table boundaries (Writer) -OpenOffice.org Base : borders, see also frames -OpenOffice.org Base : bound fields -OpenOffice.org Base : bound fields;controls -OpenOffice.org Base : boundaries of tables (Writer) -OpenOffice.org Base : break display (Writer) -OpenOffice.org Base : brochures -OpenOffice.org Base : brochures;printing several -OpenOffice.org Base : build numbers of OpenOffice.org -OpenOffice.org Base : bullet lists -OpenOffice.org Base : bullet lists;formatting options -OpenOffice.org Base : bullets -OpenOffice.org Base : bullets;paragraphs -OpenOffice.org Base : bullets;replacing -OpenOffice.org Base : bullets;turning off -OpenOffice.org Base : business cards -OpenOffice.org Base : business cards;creating and synchronizing -OpenOffice.org Base : business cards;using templates -OpenOffice.org Base : button bars, see toolbars -OpenOffice.org Base : buttons -OpenOffice.org Base : buttons;adding push buttons -OpenOffice.org Base : buttons;big/small -OpenOffice.org Base : buttons;editing hyperlink buttons -OpenOffice.org Base : buttons;form functions -OpenOffice.org Base : buttons;toolbars -OpenOffice.org Base : cache for graphics -OpenOffice.org Base : calculating -OpenOffice.org Base : calculating;iterative references (Calc) -OpenOffice.org Base : callouts -OpenOffice.org Base : callouts;drawings -OpenOffice.org Base : capital letters -OpenOffice.org Base : capital letters;AutoCorrect function -OpenOffice.org Base : capital letters;font effects -OpenOffice.org Base : captions -OpenOffice.org Base : captions;automatic captions (Writer) -OpenOffice.org Base : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Base : captions, see also labels/callouts -OpenOffice.org Base : cascading update (Base) -OpenOffice.org Base : case sensitivity -OpenOffice.org Base : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Base : case sensitivity;searching -OpenOffice.org Base : cells -OpenOffice.org Base : cells;aligning -OpenOffice.org Base : cells;backgrounds -OpenOffice.org Base : cells;coloring (Calc) -OpenOffice.org Base : cells;cursor positions after input (Calc) -OpenOffice.org Base : cells;formatting without effect (Calc) -OpenOffice.org Base : cells;line breaks -OpenOffice.org Base : cells;linked to controls -OpenOffice.org Base : cells;number formats -OpenOffice.org Base : cells;number of -OpenOffice.org Base : cells;pasting -OpenOffice.org Base : cells;resetting formats -OpenOffice.org Base : cells;showing grid lines (Calc) -OpenOffice.org Base : centered text -OpenOffice.org Base : centimeters -OpenOffice.org Base : certificates -OpenOffice.org Base : Change Case feature in Microsoft Office -OpenOffice.org Base : changes -OpenOffice.org Base : changes;accepting or rejecting -OpenOffice.org Base : changes;comparing to original -OpenOffice.org Base : changes;protecting -OpenOffice.org Base : changes;recording -OpenOffice.org Base : changes;review function -OpenOffice.org Base : changes;showing -OpenOffice.org Base : changing -OpenOffice.org Base : changing;data binding of XForms -OpenOffice.org Base : changing;default templates -OpenOffice.org Base : changing;document titles -OpenOffice.org Base : changing;file associations in Setup program -OpenOffice.org Base : changing;hyperlink text/formats/URLs -OpenOffice.org Base : changing;icon sizes -OpenOffice.org Base : changing;keyboard -OpenOffice.org Base : changing;links -OpenOffice.org Base : changing;menus -OpenOffice.org Base : changing;object sizes -OpenOffice.org Base : changing;toolbars -OpenOffice.org Base : changing;work directory -OpenOffice.org Base : changing, see also editing and replacing -OpenOffice.org Base : character styles -OpenOffice.org Base : character styles;language selection -OpenOffice.org Base : characters -OpenOffice.org Base : characters;alternative fonts -OpenOffice.org Base : characters;Asian layout -OpenOffice.org Base : characters;bold -OpenOffice.org Base : characters;coloring -OpenOffice.org Base : characters;contours -OpenOffice.org Base : characters;displaying only on screen (Writer) -OpenOffice.org Base : characters;enabling CTL and Asian characters -OpenOffice.org Base : characters;font effects -OpenOffice.org Base : characters;fonts and formats -OpenOffice.org Base : characters;hyperlinks -OpenOffice.org Base : characters;italics -OpenOffice.org Base : characters;language selection -OpenOffice.org Base : characters;shadowed -OpenOffice.org Base : characters;spacing -OpenOffice.org Base : characters;special -OpenOffice.org Base : characters;underlining -OpenOffice.org Base : charcoal sketches filter -OpenOffice.org Base : charts -OpenOffice.org Base : charts;arranging within stacks -OpenOffice.org Base : charts;bars with textures -OpenOffice.org Base : charts;colors -OpenOffice.org Base : charts;copying with link to source cell range -OpenOffice.org Base : charts;displaying (Calc) -OpenOffice.org Base : charts;editing axes -OpenOffice.org Base : charts;editing data -OpenOffice.org Base : charts;editing legends -OpenOffice.org Base : charts;editing titles -OpenOffice.org Base : charts;inserting -OpenOffice.org Base : charts;updating automatically (Writer) -OpenOffice.org Base : check box creation -OpenOffice.org Base : Chinese writing systems -OpenOffice.org Base : choosing printers -OpenOffice.org Base : circle drawings -OpenOffice.org Base : Client Side ImageMap -OpenOffice.org Base : clipboard -OpenOffice.org Base : clipboard;cutting -OpenOffice.org Base : clipboard;pasting -OpenOffice.org Base : clipboard;pasting formatted/unformatted text -OpenOffice.org Base : clipboard;selection clipboard -OpenOffice.org Base : clipboard;Unix -OpenOffice.org Base : closing -OpenOffice.org Base : closing;documents -OpenOffice.org Base : closing;toolbars -OpenOffice.org Base : color bar -OpenOffice.org Base : colors -OpenOffice.org Base : colors;adding -OpenOffice.org Base : colors;appearance -OpenOffice.org Base : colors;backgrounds -OpenOffice.org Base : colors;charts -OpenOffice.org Base : colors;fill format -OpenOffice.org Base : colors;fonts -OpenOffice.org Base : colors;grid lines and cells (Calc) -OpenOffice.org Base : colors;models -OpenOffice.org Base : colors;not printing -OpenOffice.org Base : colors;printing in grayscale -OpenOffice.org Base : colors;restriction (Calc) -OpenOffice.org Base : colors;selection -OpenOffice.org Base : column headers -OpenOffice.org Base : column headers;displaying (Calc) -OpenOffice.org Base : column headers;highlighting (Calc) -OpenOffice.org Base : columns -OpenOffice.org Base : columns;setting with the mouse -OpenOffice.org Base : combo box creation -OpenOffice.org Base : command button creation -OpenOffice.org Base : command buttons, see push buttons -OpenOffice.org Base : command line parameters -OpenOffice.org Base : commands -OpenOffice.org Base : commands;not visible -OpenOffice.org Base : commands;SQL -OpenOffice.org Base : comments -OpenOffice.org Base : comments;on changes -OpenOffice.org Base : comments feature in Microsoft Office -OpenOffice.org Base : common terms -OpenOffice.org Base : common terms;Chinese dictionary -OpenOffice.org Base : common terms;glossaries -OpenOffice.org Base : common terms;Internet glossary -OpenOffice.org Base : Compare and Merge feature in Microsoft Office -OpenOffice.org Base : comparisons -OpenOffice.org Base : comparisons;document versions -OpenOffice.org Base : comparisons;operators in default filter dialog -OpenOffice.org Base : compatibility settings for MS Word import -OpenOffice.org Base : complete screen view -OpenOffice.org Base : complex text layout -OpenOffice.org Base : complex text layout;definition -OpenOffice.org Base : complex text layout;enabling -OpenOffice.org Base : compose key to insert special characters -OpenOffice.org Base : concatenation, see ampersand symbol -OpenOffice.org Base : conditional separators -OpenOffice.org Base : conditions -OpenOffice.org Base : conditions;in number formats -OpenOffice.org Base : conditions;items in Data Navigator -OpenOffice.org Base : Configuration Manager -OpenOffice.org Base : configuring -OpenOffice.org Base : configuring;fax icon -OpenOffice.org Base : configuring;OpenOffice.org -OpenOffice.org Base : configuring;toolbars -OpenOffice.org Base : connections to data sources (Base) -OpenOffice.org Base : contents protection -OpenOffice.org Base : context menus -OpenOffice.org Base : contours of text -OpenOffice.org Base : control point display in presentations -OpenOffice.org Base : controls -OpenOffice.org Base : controls;activating in forms -OpenOffice.org Base : controls;adding to documents -OpenOffice.org Base : controls;arranging in forms -OpenOffice.org Base : controls;arranging within stacks -OpenOffice.org Base : controls;assigning data sources -OpenOffice.org Base : controls;bound fields/list contents/linked cells -OpenOffice.org Base : controls;events -OpenOffice.org Base : controls;focus -OpenOffice.org Base : controls;formatted fields -OpenOffice.org Base : controls;grouping -OpenOffice.org Base : controls;hidden -OpenOffice.org Base : controls;inserting -OpenOffice.org Base : controls;multi-line titles -OpenOffice.org Base : controls;positions and sizes -OpenOffice.org Base : controls;printing -OpenOffice.org Base : controls;properties of form controls -OpenOffice.org Base : controls;properties of table controls -OpenOffice.org Base : controls;reference by SQL -OpenOffice.org Base : controls;rich text control -OpenOffice.org Base : controls;select mode -OpenOffice.org Base : controls;showing (Writer) -OpenOffice.org Base : converters -OpenOffice.org Base : converters;Euro converter -OpenOffice.org Base : converters;PostScript, UNIX -OpenOffice.org Base : converters;XML -OpenOffice.org Base : converting -OpenOffice.org Base : converting;Hangul/Hanja -OpenOffice.org Base : converting;metrics -OpenOffice.org Base : converting;Microsoft documents -OpenOffice.org Base : converting;OpenOffice.org documents -OpenOffice.org Base : converting;Pocket PC formats -OpenOffice.org Base : copies -OpenOffice.org Base : copies;printing -OpenOffice.org Base : copying -OpenOffice.org Base : copying;by drag and drop -OpenOffice.org Base : copying;data from text documents -OpenOffice.org Base : copying;datasource records in spreadsheets -OpenOffice.org Base : copying;draw objects -OpenOffice.org Base : copying;draw objects between documents -OpenOffice.org Base : copying;formatting -OpenOffice.org Base : copying;from data source view -OpenOffice.org Base : copying;from Gallery -OpenOffice.org Base : copying;in Unix -OpenOffice.org Base : copying;pictures, between documents -OpenOffice.org Base : copying;sheet areas, to text documents -OpenOffice.org Base : copying;to Gallery -OpenOffice.org Base : copyright for OpenOffice.org -OpenOffice.org Base : corner roundings -OpenOffice.org Base : crash reports -OpenOffice.org Base : criteria of query design (Base) -OpenOffice.org Base : cropping pictures -OpenOffice.org Base : CTL -OpenOffice.org Base : CTL;complex text layout languages -OpenOffice.org Base : CTL;definition -OpenOffice.org Base : CTL;options -OpenOffice.org Base : currencies -OpenOffice.org Base : currencies;converters -OpenOffice.org Base : currencies;formats and format codes -OpenOffice.org Base : currency field creation -OpenOffice.org Base : currency formats -OpenOffice.org Base : cursor -OpenOffice.org Base : cursor;allowing in protected areas (Writer) -OpenOffice.org Base : cursor;in read-only text -OpenOffice.org Base : cursor;quickly moving to an object -OpenOffice.org Base : curves -OpenOffice.org Base : curves;editing points -OpenOffice.org Base : custom dictionaries -OpenOffice.org Base : custom dictionaries;editing -OpenOffice.org Base : custom hyphens (Writer) -OpenOffice.org Base : custom quotes -OpenOffice.org Base : custom templates -OpenOffice.org Base : customizing -OpenOffice.org Base : customizing;events -OpenOffice.org Base : customizing;keyboard -OpenOffice.org Base : customizing;menus -OpenOffice.org Base : customizing;OpenOffice.org -OpenOffice.org Base : customizing;round corners -OpenOffice.org Base : customizing;toolbars -OpenOffice.org Base : cutting -OpenOffice.org Base : dashes -OpenOffice.org Base : data -OpenOffice.org Base : data;filtering in forms -OpenOffice.org Base : data;forms and subforms -OpenOffice.org Base : data;read-only -OpenOffice.org Base : data;sorting in forms -OpenOffice.org Base : data;user data -OpenOffice.org Base : data binding change in XForms -OpenOffice.org Base : Data Navigator display options -OpenOffice.org Base : data source browser -OpenOffice.org Base : data source explorer -OpenOffice.org Base : data source view -OpenOffice.org Base : data source view;drag and drop -OpenOffice.org Base : data source view;overview -OpenOffice.org Base : data source view;showing -OpenOffice.org Base : data sources -OpenOffice.org Base : data sources;as tables -OpenOffice.org Base : data sources;connection settings (Base) -OpenOffice.org Base : data sources;copying records to spreadsheets -OpenOffice.org Base : data sources;displaying current -OpenOffice.org Base : data sources;LDAP server (Base) -OpenOffice.org Base : data sources;OpenOffice.org Base -OpenOffice.org Base : data sources;registering address books -OpenOffice.org Base : data sources;reports -OpenOffice.org Base : data sources;viewing -OpenOffice.org Base : data structure of XForms -OpenOffice.org Base : database contents -OpenOffice.org Base : database contents;inserting as tables -OpenOffice.org Base : database contents;inserting as text -OpenOffice.org Base : database reports -OpenOffice.org Base : Database Wizard (Base) -OpenOffice.org Base : databases -OpenOffice.org Base : databases;administration through SQL (Base) -OpenOffice.org Base : databases;ADO (Base) -OpenOffice.org Base : databases;connecting (Base) -OpenOffice.org Base : databases;creating -OpenOffice.org Base : databases;creating labels -OpenOffice.org Base : databases;creating queries -OpenOffice.org Base : databases;creating reports -OpenOffice.org Base : databases;creating tables -OpenOffice.org Base : databases;dBASE (Base) -OpenOffice.org Base : databases;deleting (Base) -OpenOffice.org Base : databases;drag and drop (Base) -OpenOffice.org Base : databases;editing tables -OpenOffice.org Base : databases;form filters -OpenOffice.org Base : databases;formats (Base) -OpenOffice.org Base : databases;importing/exporting -OpenOffice.org Base : databases;JDBC (Base) -OpenOffice.org Base : databases;main page (Base) -OpenOffice.org Base : databases;MySQL (Base) -OpenOffice.org Base : databases;ODBC (Base) -OpenOffice.org Base : databases;overview -OpenOffice.org Base : databases;registering (Base) -OpenOffice.org Base : databases;searching records -OpenOffice.org Base : databases;shortcut keys -OpenOffice.org Base : databases;sorting -OpenOffice.org Base : databases;standard filters -OpenOffice.org Base : databases;text formats -OpenOffice.org Base : databases;viewing -OpenOffice.org Base : date fields -OpenOffice.org Base : date fields;creating -OpenOffice.org Base : date fields;properties -OpenOffice.org Base : date formats -OpenOffice.org Base : dates -OpenOffice.org Base : dates;default (Calc) -OpenOffice.org Base : dates;printing in presentations -OpenOffice.org Base : dates;start 1900/01/01 (Calc) -OpenOffice.org Base : dates;start 1904/01/01 (Calc) -OpenOffice.org Base : dBASE -OpenOffice.org Base : dBASE;database settings (Base) -OpenOffice.org Base : DDE -OpenOffice.org Base : DDE;definition -OpenOffice.org Base : deactivating -OpenOffice.org Base : deactivating;plug-ins -OpenOffice.org Base : decimal places displayed (Calc) -OpenOffice.org Base : decimal separator key -OpenOffice.org Base : decimal tab stops -OpenOffice.org Base : default directories -OpenOffice.org Base : default file formats -OpenOffice.org Base : default filters -OpenOffice.org Base : default filters;comparison operators -OpenOffice.org Base : default filters;databases -OpenOffice.org Base : default printer -OpenOffice.org Base : default printer;setting up -OpenOffice.org Base : default printer;UNIX -OpenOffice.org Base : default templates -OpenOffice.org Base : default templates;changing -OpenOffice.org Base : default templates;organizing -OpenOffice.org Base : defaults -OpenOffice.org Base : defaults;documents -OpenOffice.org Base : defaults;file formats -OpenOffice.org Base : defaults;fonts -OpenOffice.org Base : defaults;grids (Writer/Calc) -OpenOffice.org Base : defaults;languages -OpenOffice.org Base : defaults;number formats -OpenOffice.org Base : defaults;of saving -OpenOffice.org Base : defaults;program configuration -OpenOffice.org Base : defaults;tab stops in text -OpenOffice.org Base : defaults;views -OpenOffice.org Base : defining -OpenOffice.org Base : defining;arrowheads and other line ends -OpenOffice.org Base : defining;colors -OpenOffice.org Base : defining;line styles -OpenOffice.org Base : defining;paragraph borders -OpenOffice.org Base : defining;queries (Base) -OpenOffice.org Base : defining;table borders -OpenOffice.org Base : deleting -OpenOffice.org Base : deleting;all direct formatting -OpenOffice.org Base : deleting;databases (Base) -OpenOffice.org Base : deleting;hyperlinks -OpenOffice.org Base : deleting;lines in text -OpenOffice.org Base : deleting;models/instances -OpenOffice.org Base : deleting;namespaces in XForms -OpenOffice.org Base : deleting;tab stops -OpenOffice.org Base : deleting;templates -OpenOffice.org Base : deleting;XML filters -OpenOffice.org Base : depth stagger -OpenOffice.org Base : descriptions for objects -OpenOffice.org Base : design mode after saving -OpenOffice.org Base : design view -OpenOffice.org Base : design view;creating forms -OpenOffice.org Base : design view;queries/views (Base) -OpenOffice.org Base : designing -OpenOffice.org Base : designing;database tables -OpenOffice.org Base : designing;fonts -OpenOffice.org Base : designing;queries (Base) -OpenOffice.org Base : detaching toolbars -OpenOffice.org Base : dictionaries -OpenOffice.org Base : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Base : dictionaries;creating -OpenOffice.org Base : dictionaries;editing user-defined -OpenOffice.org Base : dictionaries;spellcheck -OpenOffice.org Base : dictionaries, see also languages -OpenOffice.org Base : digital signatures -OpenOffice.org Base : direct formatting -OpenOffice.org Base : direct formatting;undoing all -OpenOffice.org Base : directories -OpenOffice.org Base : directories;creating new -OpenOffice.org Base : directories;directory structure -OpenOffice.org Base : disabled persons -OpenOffice.org Base : displaying -OpenOffice.org Base : displaying;non-printing characters (Writer) -OpenOffice.org Base : displaying;notes (Calc) -OpenOffice.org Base : displaying;notes in text documents -OpenOffice.org Base : displaying;pictures and objects (Writer) -OpenOffice.org Base : displaying;tables (Writer) -OpenOffice.org Base : displaying;zero values (Calc) -OpenOffice.org Base : distances -OpenOffice.org Base : distinct values in SQL queries -OpenOffice.org Base : distorting in drawings -OpenOffice.org Base : distributing XML filters -OpenOffice.org Base : dithering -OpenOffice.org Base : docking -OpenOffice.org Base : docking;definition -OpenOffice.org Base : docking;toolbars -OpenOffice.org Base : docking;windows -OpenOffice.org Base : Document Converter Wizard -OpenOffice.org Base : Document Map feature in Microsoft Office -OpenOffice.org Base : Document Map, see Navigator -OpenOffice.org Base : document types in OpenOffice.org -OpenOffice.org Base : documents -OpenOffice.org Base : documents;changing titles -OpenOffice.org Base : documents;closing -OpenOffice.org Base : documents;comparing -OpenOffice.org Base : documents;contents as lists -OpenOffice.org Base : documents;editing time -OpenOffice.org Base : documents;exporting -OpenOffice.org Base : documents;importing -OpenOffice.org Base : documents;languages -OpenOffice.org Base : documents;measurement units in -OpenOffice.org Base : documents;merging -OpenOffice.org Base : documents;number of pages/tables/sheets -OpenOffice.org Base : documents;opening -OpenOffice.org Base : documents;opening in design mode -OpenOffice.org Base : documents;opening with templates -OpenOffice.org Base : documents;organizing -OpenOffice.org Base : documents;printing -OpenOffice.org Base : documents;read-only -OpenOffice.org Base : documents;reloading -OpenOffice.org Base : documents;saving -OpenOffice.org Base : documents;saving automatically -OpenOffice.org Base : documents;saving in other formats -OpenOffice.org Base : documents;sending as e-mail -OpenOffice.org Base : documents;styles changed -OpenOffice.org Base : documents;version management -OpenOffice.org Base : documents;version numbers -OpenOffice.org Base : dotted areas -OpenOffice.org Base : double-line spacing in paragraphs -OpenOffice.org Base : double-line writing in Asian layout -OpenOffice.org Base : drag and drop -OpenOffice.org Base : drag and drop;copying and pasting text -OpenOffice.org Base : drag and drop;data source view -OpenOffice.org Base : drag and drop;from Gallery to draw objects -OpenOffice.org Base : drag and drop;overview -OpenOffice.org Base : drag and drop;pictures -OpenOffice.org Base : drag and drop;to Gallery -OpenOffice.org Base : draw objects -OpenOffice.org Base : draw objects;adding/editing/copying -OpenOffice.org Base : draw objects;anchoring -OpenOffice.org Base : draw objects;arranging within stacks -OpenOffice.org Base : draw objects;copying -OpenOffice.org Base : draw objects;copying between documents -OpenOffice.org Base : draw objects;displaying (Calc) -OpenOffice.org Base : draw objects;dropping Gallery pictures -OpenOffice.org Base : draw objects;flipping -OpenOffice.org Base : draw objects;legends -OpenOffice.org Base : draw objects;positioning and resizing -OpenOffice.org Base : draw objects;protecting -OpenOffice.org Base : draw objects;slanting -OpenOffice.org Base : draw objects;text in -OpenOffice.org Base : Drawing bar -OpenOffice.org Base : drawing lines in text -OpenOffice.org Base : drawings -OpenOffice.org Base : drawings;creating/opening -OpenOffice.org Base : drawings;languages -OpenOffice.org Base : drawings;printing -OpenOffice.org Base : drawings;printing defaults -OpenOffice.org Base : drawings;printing in text documents -OpenOffice.org Base : drawings;saving -OpenOffice.org Base : drawings;saving automatically -OpenOffice.org Base : drawings;saving in other formats -OpenOffice.org Base : drawings;sending as e-mail -OpenOffice.org Base : drawings;showing (Writer) -OpenOffice.org Base : drop-down lists in form functions -OpenOffice.org Base : e-mail attachments -OpenOffice.org Base : Edit File icon -OpenOffice.org Base : edit mode -OpenOffice.org Base : edit mode;after opening -OpenOffice.org Base : edit mode;through Enter key (Calc) -OpenOffice.org Base : Edit Points bar -OpenOffice.org Base : editing -OpenOffice.org Base : editing;chart axes -OpenOffice.org Base : editing;chart data -OpenOffice.org Base : editing;chart legends -OpenOffice.org Base : editing;chart titles -OpenOffice.org Base : editing;data binding of XForms -OpenOffice.org Base : editing;database tables and queries -OpenOffice.org Base : editing;draw objects -OpenOffice.org Base : editing;Fontwork objects -OpenOffice.org Base : editing;hyperlinks -OpenOffice.org Base : editing;items in Data Navigator -OpenOffice.org Base : editing;menus -OpenOffice.org Base : editing;namespaces in XForms -OpenOffice.org Base : editing;notes -OpenOffice.org Base : editing;objects -OpenOffice.org Base : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Base : editing;pictures -OpenOffice.org Base : editing;reports -OpenOffice.org Base : editing;shortcut keys -OpenOffice.org Base : editing;tab stops -OpenOffice.org Base : editing;templates -OpenOffice.org Base : editing;toolbars -OpenOffice.org Base : editing;undoing -OpenOffice.org Base : editing;XForms -OpenOffice.org Base : editing time of documents -OpenOffice.org Base : editors -OpenOffice.org Base : editors;formula editor -OpenOffice.org Base : editors;ImageMap editor -OpenOffice.org Base : effects -OpenOffice.org Base : effects;font positions -OpenOffice.org Base : effects;fonts -OpenOffice.org Base : effects;Fontwork icons -OpenOffice.org Base : empty documents -OpenOffice.org Base : empty paragraph removal -OpenOffice.org Base : encryption of contents -OpenOffice.org Base : entering groups -OpenOffice.org Base : entering text from right to left -OpenOffice.org Base : equal sign, see also operators -OpenOffice.org Base : equations in formula editor -OpenOffice.org Base : Error Report Tool -OpenOffice.org Base : Euro -OpenOffice.org Base : Euro;currency formats -OpenOffice.org Base : Euro;Euro Converter Wizard -OpenOffice.org Base : even/odd pages -OpenOffice.org Base : even/odd pages;printing -OpenOffice.org Base : events -OpenOffice.org Base : events;controls -OpenOffice.org Base : events;customizing -OpenOffice.org Base : events;in forms -OpenOffice.org Base : Excel -OpenOffice.org Base : Excel;saving as -OpenOffice.org Base : Excel;search criteria -OpenOffice.org Base : exceptions -OpenOffice.org Base : exceptions;user-defined dictionaries -OpenOffice.org Base : exchanging, see also replacing -OpenOffice.org Base : executing -OpenOffice.org Base : executing;SQL commands -OpenOffice.org Base : exiting -OpenOffice.org Base : exiting;groups -OpenOffice.org Base : exiting;OpenOffice.org -OpenOffice.org Base : expanding formatting (Calc) -OpenOffice.org Base : explorer of data sources -OpenOffice.org Base : export filters -OpenOffice.org Base : exporting -OpenOffice.org Base : exporting;bitmaps -OpenOffice.org Base : exporting;databases -OpenOffice.org Base : exporting;HTML and text documents -OpenOffice.org Base : exporting;Microsoft Office documents with VBA code -OpenOffice.org Base : exporting;spreadsheets to text format -OpenOffice.org Base : exporting;templates -OpenOffice.org Base : exporting;to foreign formats -OpenOffice.org Base : exporting;to HTML -OpenOffice.org Base : exporting;to Microsoft Office formats -OpenOffice.org Base : exporting;to PDF -OpenOffice.org Base : exporting;to PostScript format -OpenOffice.org Base : exporting;to XML -OpenOffice.org Base : exporting;XML files -OpenOffice.org Base : extended tips in Help -OpenOffice.org Base : extension mode in text -OpenOffice.org Base : extensions -OpenOffice.org Base : extensions;Extension Manager -OpenOffice.org Base : extensions;file formats -OpenOffice.org Base : external keys (Base) -OpenOffice.org Base : faster printing -OpenOffice.org Base : faxes -OpenOffice.org Base : faxes;configuring OpenOffice.org -OpenOffice.org Base : faxes;fax programs/fax printers under UNIX -OpenOffice.org Base : faxes;selecting a fax machine -OpenOffice.org Base : faxes;sending -OpenOffice.org Base : faxes;wizards -OpenOffice.org Base : fields -OpenOffice.org Base : fields;database tables -OpenOffice.org Base : fields;displaying field codes (Writer) -OpenOffice.org Base : fields;formatted fields -OpenOffice.org Base : fields;updating automatically (Writer) -OpenOffice.org Base : file associations for Microsoft Office -OpenOffice.org Base : file filters -OpenOffice.org Base : file filters;mobile devices -OpenOffice.org Base : file filters;XML -OpenOffice.org Base : file formats -OpenOffice.org Base : file formats;changing defaults -OpenOffice.org Base : file formats;OpenDocument/XML -OpenOffice.org Base : file formats;saving always in other formats -OpenOffice.org Base : file selection button -OpenOffice.org Base : file sharing options for current document -OpenOffice.org Base : files -OpenOffice.org Base : files;filters and formats -OpenOffice.org Base : files;importing -OpenOffice.org Base : files;opening -OpenOffice.org Base : files;opening with placeholders -OpenOffice.org Base : files;properties -OpenOffice.org Base : files;saving -OpenOffice.org Base : files;saving automatically -OpenOffice.org Base : files;saving in other formats -OpenOffice.org Base : files;sending as e-mail -OpenOffice.org Base : files;version numbers -OpenOffice.org Base : files and folders in OpenOffice.org -OpenOffice.org Base : fill characters with tabulators -OpenOffice.org Base : fill colors for areas -OpenOffice.org Base : fill patterns for areas -OpenOffice.org Base : filter conditions -OpenOffice.org Base : filter conditions;connecting -OpenOffice.org Base : filter conditions;in queries (Base) -OpenOffice.org Base : filtering -OpenOffice.org Base : filtering;data in databases -OpenOffice.org Base : filtering;data in forms -OpenOffice.org Base : filters -OpenOffice.org Base : filters;comparison operators -OpenOffice.org Base : filters;for import and export -OpenOffice.org Base : filters;Navigator -OpenOffice.org Base : filters;pictures -OpenOffice.org Base : filters;XML filter settings -OpenOffice.org Base : Find tab in Help -OpenOffice.org Base : finding -OpenOffice.org Base : finding;in all sheets -OpenOffice.org Base : finding;records in form documents -OpenOffice.org Base : finding;selections -OpenOffice.org Base : finding;similarity search -OpenOffice.org Base : fitting to pages -OpenOffice.org Base : fitting to pages;print settings in Math -OpenOffice.org Base : fitting to pages;print settings in presentations -OpenOffice.org Base : fixed text -OpenOffice.org Base : fixed text;form functions -OpenOffice.org Base : fixing toolbars -OpenOffice.org Base : flipping draw objects -OpenOffice.org Base : floating frames in HTML documents -OpenOffice.org Base : floating toolbars -OpenOffice.org Base : focus of controls -OpenOffice.org Base : folder creation -OpenOffice.org Base : font lists -OpenOffice.org Base : font name box -OpenOffice.org Base : font sizes -OpenOffice.org Base : font sizes;bullets -OpenOffice.org Base : font sizes;relative changes -OpenOffice.org Base : font sizes;scaling on screen -OpenOffice.org Base : font sizes;text -OpenOffice.org Base : fonts -OpenOffice.org Base : fonts;adding under UNIX -OpenOffice.org Base : fonts;changing in templates -OpenOffice.org Base : fonts;colors -OpenOffice.org Base : fonts;default settings -OpenOffice.org Base : fonts;effects -OpenOffice.org Base : fonts;for HTML and Basic -OpenOffice.org Base : fonts;formats -OpenOffice.org Base : fonts;outlines -OpenOffice.org Base : fonts;positions in text -OpenOffice.org Base : fonts;shadows -OpenOffice.org Base : fonts;specifying several -OpenOffice.org Base : fonts;strikethrough -OpenOffice.org Base : fonts;styles -OpenOffice.org Base : fonts;text objects -OpenOffice.org Base : Fontwork icons -OpenOffice.org Base : footers -OpenOffice.org Base : footers;backgrounds -OpenOffice.org Base : form controls -OpenOffice.org Base : form controls;assigning macros -OpenOffice.org Base : form controls;protecting -OpenOffice.org Base : form controls;toolbars -OpenOffice.org Base : form fields -OpenOffice.org Base : form filters -OpenOffice.org Base : Form Navigator -OpenOffice.org Base : format codes -OpenOffice.org Base : format codes;numbers -OpenOffice.org Base : format codes;user-defined number formats -OpenOffice.org Base : format filling printing in OpenOffice.org Math -OpenOffice.org Base : Format Paintbrush -OpenOffice.org Base : formats -OpenOffice.org Base : formats;Asian layout -OpenOffice.org Base : formats;Asian typography -OpenOffice.org Base : formats;fonts -OpenOffice.org Base : formats;maximizing page formats -OpenOffice.org Base : formats;number and currency formats -OpenOffice.org Base : formats;of currencies/date/time -OpenOffice.org Base : formats;on opening and saving -OpenOffice.org Base : formats;pasting in special formats -OpenOffice.org Base : formats;positions -OpenOffice.org Base : formats;tabulators -OpenOffice.org Base : formats;undoing when writing -OpenOffice.org Base : formatted fields -OpenOffice.org Base : formatted fields;form functions -OpenOffice.org Base : formatted fields;properties -OpenOffice.org Base : formatting -OpenOffice.org Base : formatting;axes in charts -OpenOffice.org Base : formatting;chart legends -OpenOffice.org Base : formatting;copying -OpenOffice.org Base : formatting;definition -OpenOffice.org Base : formatting;expanding (Calc) -OpenOffice.org Base : formatting;font effects -OpenOffice.org Base : formatting;hyperlinks -OpenOffice.org Base : formatting;pages -OpenOffice.org Base : formatting;printer metrics (Writer) -OpenOffice.org Base : formatting;undoing -OpenOffice.org Base : forms -OpenOffice.org Base : forms;browsing -OpenOffice.org Base : forms;Combo Box/List Box Wizard -OpenOffice.org Base : forms;creating -OpenOffice.org Base : forms;data -OpenOffice.org Base : forms;designing (Base) -OpenOffice.org Base : forms;events -OpenOffice.org Base : forms;filtering data -OpenOffice.org Base : forms;finding records -OpenOffice.org Base : forms;focus after opening -OpenOffice.org Base : forms;general information (Base) -OpenOffice.org Base : forms;grouping controls -OpenOffice.org Base : forms;HTML filters -OpenOffice.org Base : forms;Navigator -OpenOffice.org Base : forms;opening in design mode -OpenOffice.org Base : forms;properties -OpenOffice.org Base : forms;sorting data -OpenOffice.org Base : forms;subforms -OpenOffice.org Base : forms;wizards -OpenOffice.org Base : forms;XForms -OpenOffice.org Base : Formula Auditing feature in Microsoft Office -OpenOffice.org Base : formula texts -OpenOffice.org Base : formula texts;printing in OpenOffice.org Math -OpenOffice.org Base : formulas -OpenOffice.org Base : formulas;new -OpenOffice.org Base : formulas;starting formula editor -OpenOffice.org Base : formulas in reports -OpenOffice.org Base : formulas in reports;editing -OpenOffice.org Base : forums and support -OpenOffice.org Base : frames -OpenOffice.org Base : frames;around paragraphs -OpenOffice.org Base : frames;around tables -OpenOffice.org Base : frames;AutoCorrect function -OpenOffice.org Base : frames;backgrounds -OpenOffice.org Base : frames;captions (Writer) -OpenOffice.org Base : frames;printing in OpenOffice.org Math -OpenOffice.org Base : frames;protecting -OpenOffice.org Base : frames;selection frames -OpenOffice.org Base : frames;text fitting to frames -OpenOffice.org Base : freeform lines -OpenOffice.org Base : freeform lines;draw functions -OpenOffice.org Base : FTP -OpenOffice.org Base : FTP;opening documents -OpenOffice.org Base : FTP;saving documents -OpenOffice.org Base : full joins (Base) -OpenOffice.org Base : full screen view -OpenOffice.org Base : full-text search in Help -OpenOffice.org Base : functions in reports -OpenOffice.org Base : functions in reports;editing -OpenOffice.org Base : Gallery -OpenOffice.org Base : Gallery;adding pictures -OpenOffice.org Base : Gallery;dragging pictures to draw objects -OpenOffice.org Base : Gallery;hiding/showing -OpenOffice.org Base : Gallery;inserting pictures from -OpenOffice.org Base : German spellcheck -OpenOffice.org Base : get method for form transmissions -OpenOffice.org Base : getting support -OpenOffice.org Base : GIF format -OpenOffice.org Base : glossaries -OpenOffice.org Base : glossaries;common terms -OpenOffice.org Base : glossaries;Internet terms -OpenOffice.org Base : gradients off for faster printing -OpenOffice.org Base : graphical text art -OpenOffice.org Base : graphics -OpenOffice.org Base : graphics;cache -OpenOffice.org Base : graphics;protecting -OpenOffice.org Base : graphics, see also pictures -OpenOffice.org Base : grayscale printing -OpenOffice.org Base : grid controls -OpenOffice.org Base : grid controls;form functions -OpenOffice.org Base : grids -OpenOffice.org Base : grids;defaults (Writer/Calc) -OpenOffice.org Base : grids;display options (Impress/Draw) -OpenOffice.org Base : grids;displaying lines (Calc) -OpenOffice.org Base : group box creation -OpenOffice.org Base : groups -OpenOffice.org Base : groups;entering/exiting/ungrouping -OpenOffice.org Base : groups;naming -OpenOffice.org Base : groups;of controls -OpenOffice.org Base : guides -OpenOffice.org Base : guides;display options (Impress/Draw) -OpenOffice.org Base : guides;displaying when moving objects (Impress) -OpenOffice.org Base : guides;showing (Calc) -OpenOffice.org Base : guides;showing when moving frames (Writer) -OpenOffice.org Base : gutter -OpenOffice.org Base : handles -OpenOffice.org Base : handles;displaying (Writer) -OpenOffice.org Base : handles;scaling -OpenOffice.org Base : handles;showing simple/large handles (Calc) -OpenOffice.org Base : Hangul/Hanja -OpenOffice.org Base : hatching -OpenOffice.org Base : headers -OpenOffice.org Base : headers;backgrounds -OpenOffice.org Base : headings -OpenOffice.org Base : headings;entering as text box -OpenOffice.org Base : Hebrew -OpenOffice.org Base : Hebrew;entering text -OpenOffice.org Base : Hebrew;language settings -OpenOffice.org Base : Help -OpenOffice.org Base : Help;bookmarks -OpenOffice.org Base : Help;extended tips on/off -OpenOffice.org Base : Help;full-text search -OpenOffice.org Base : Help;Help tips -OpenOffice.org Base : Help;keywords -OpenOffice.org Base : Help;navigation pane showing/hiding -OpenOffice.org Base : Help;style sheets -OpenOffice.org Base : Help;topics -OpenOffice.org Base : Help Agent -OpenOffice.org Base : Help Agent;help -OpenOffice.org Base : Help Agent;options -OpenOffice.org Base : Help tips -OpenOffice.org Base : Help tips;hiding -OpenOffice.org Base : hidden controls in Form Navigator -OpenOffice.org Base : hidden fields display (Writer) -OpenOffice.org Base : hidden pages -OpenOffice.org Base : hidden pages;printing in presentations -OpenOffice.org Base : hidden text -OpenOffice.org Base : hidden text;showing (Writer) -OpenOffice.org Base : hiding -OpenOffice.org Base : hiding;changes -OpenOffice.org Base : hiding;docked windows -OpenOffice.org Base : hiding;navigation pane in Help window -OpenOffice.org Base : high contrast mode -OpenOffice.org Base : Hindi -OpenOffice.org Base : Hindi;entering text -OpenOffice.org Base : Hindi;language settings -OpenOffice.org Base : horizontal scrollbars (Writer) -OpenOffice.org Base : HTML -OpenOffice.org Base : HTML;definition -OpenOffice.org Base : HTML;export character set -OpenOffice.org Base : HTML;fonts for source display -OpenOffice.org Base : HTML;importing META tags -OpenOffice.org Base : HTML;live presentations -OpenOffice.org Base : HTML documents -OpenOffice.org Base : HTML documents;auto reloading -OpenOffice.org Base : HTML documents;importing/exporting -OpenOffice.org Base : HTML documents;META tags in -OpenOffice.org Base : HTML documents;new -OpenOffice.org Base : HTML documents;source text -OpenOffice.org Base : hyperlinks -OpenOffice.org Base : hyperlinks;assigning macros -OpenOffice.org Base : hyperlinks;character formats -OpenOffice.org Base : hyperlinks;definition -OpenOffice.org Base : hyperlinks;deleting -OpenOffice.org Base : hyperlinks;editing -OpenOffice.org Base : hyperlinks;inserting -OpenOffice.org Base : hyperlinks;relative and absolute -OpenOffice.org Base : hyperlinks;turning off automatic recognition -OpenOffice.org Base : hyperlinks, see also links -OpenOffice.org Base : hyphenation -OpenOffice.org Base : hyphenation;activating for a language -OpenOffice.org Base : hyphenation;minimal number of characters -OpenOffice.org Base : hyphens -OpenOffice.org Base : hyphens;displaying custom (Writer) -OpenOffice.org Base : hyphens;inserting custom -OpenOffice.org Base : icon bars, see toolbars -OpenOffice.org Base : icon sizes -OpenOffice.org Base : ignore list for spellcheck -OpenOffice.org Base : illustrations, see pictures -OpenOffice.org Base : image button creation -OpenOffice.org Base : image control creation -OpenOffice.org Base : ImageMap -OpenOffice.org Base : ImageMap;definition -OpenOffice.org Base : ImageMap;editor -OpenOffice.org Base : images -OpenOffice.org Base : images;ImageMap -OpenOffice.org Base : images;inserting and editing bitmaps -OpenOffice.org Base : images;placeholders in presentations -OpenOffice.org Base : images, see also pictures -OpenOffice.org Base : IME -OpenOffice.org Base : IME;definition -OpenOffice.org Base : IME;showing/hiding -OpenOffice.org Base : import filters -OpenOffice.org Base : import restrictions for Microsoft Office -OpenOffice.org Base : importing -OpenOffice.org Base : importing;bitmaps -OpenOffice.org Base : importing;compatibility settings for text import -OpenOffice.org Base : importing;databases -OpenOffice.org Base : importing;documents in other formats -OpenOffice.org Base : importing;from XML -OpenOffice.org Base : importing;HTML and text documents -OpenOffice.org Base : importing;HTML with META tags -OpenOffice.org Base : importing;Microsoft Office documents with VBA code -OpenOffice.org Base : importing;tables in text format -OpenOffice.org Base : importing;templates -OpenOffice.org Base : inches -OpenOffice.org Base : Index tab in Help -OpenOffice.org Base : indexes -OpenOffice.org Base : indexes;backgrounds -OpenOffice.org Base : indexes;showing/hiding Help index tab -OpenOffice.org Base : indexes;unprotecting -OpenOffice.org Base : indicator lines in text -OpenOffice.org Base : inner joins (Base) -OpenOffice.org Base : input method window -OpenOffice.org Base : insert mode for entering text -OpenOffice.org Base : inserting -OpenOffice.org Base : inserting;applets -OpenOffice.org Base : inserting;cell ranges from spreadsheets -OpenOffice.org Base : inserting;charts -OpenOffice.org Base : inserting;clipboard options -OpenOffice.org Base : inserting;data from text documents -OpenOffice.org Base : inserting;datasource records in spreadsheets -OpenOffice.org Base : inserting;drawings -OpenOffice.org Base : inserting;floating frames -OpenOffice.org Base : inserting;form fields -OpenOffice.org Base : inserting;hyperlinks -OpenOffice.org Base : inserting;line breaks in cells -OpenOffice.org Base : inserting;movies/sounds -OpenOffice.org Base : inserting;new text tables defaults -OpenOffice.org Base : inserting;notes -OpenOffice.org Base : inserting;objects from Gallery -OpenOffice.org Base : inserting;OLE objects -OpenOffice.org Base : inserting;paragraph bullets -OpenOffice.org Base : inserting;plug-ins -OpenOffice.org Base : inserting;special characters -OpenOffice.org Base : inserting;tab stops -OpenOffice.org Base : installing -OpenOffice.org Base : installing;ActiveX control -OpenOffice.org Base : installing;mobile device filters -OpenOffice.org Base : installing;UNO components -OpenOffice.org Base : instructions -OpenOffice.org Base : instructions;general -OpenOffice.org Base : Internet -OpenOffice.org Base : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Base : Internet;presentations -OpenOffice.org Base : Internet;starting searches -OpenOffice.org Base : Internet;turning off recognition of addresses -OpenOffice.org Base : Internet glossary -OpenOffice.org Base : invert filter -OpenOffice.org Base : invisible areas -OpenOffice.org Base : italic text -OpenOffice.org Base : iterative references in spreadsheets -OpenOffice.org Base : Java -OpenOffice.org Base : Java;definition -OpenOffice.org Base : Java;scripting -OpenOffice.org Base : Java;setting options -OpenOffice.org Base : JDBC -OpenOffice.org Base : JDBC;databases (Base) -OpenOffice.org Base : JDBC;definition -OpenOffice.org Base : joining -OpenOffice.org Base : joining;paragraphs -OpenOffice.org Base : joining;tables (Base) -OpenOffice.org Base : joins in databases (Base) -OpenOffice.org Base : justifying text -OpenOffice.org Base : kerning -OpenOffice.org Base : kerning;Asian texts -OpenOffice.org Base : kerning;definition -OpenOffice.org Base : kerning;in characters -OpenOffice.org Base : key fields for relations (Base) -OpenOffice.org Base : keyboard -OpenOffice.org Base : keyboard;assigning/editing shortcut keys -OpenOffice.org Base : keyboard;general commands -OpenOffice.org Base : keyboard;removing numbering -OpenOffice.org Base : keys -OpenOffice.org Base : keys;adding push buttons -OpenOffice.org Base : keys;primary keys (Base) -OpenOffice.org Base : kiosk export -OpenOffice.org Base : labels -OpenOffice.org Base : labels;creating and synchronizing -OpenOffice.org Base : labels;for draw objects -OpenOffice.org Base : labels;form functions -OpenOffice.org Base : labels;from databases -OpenOffice.org Base : labels, see also names/callouts -OpenOffice.org Base : languages -OpenOffice.org Base : languages;activating modules -OpenOffice.org Base : languages;Asian support -OpenOffice.org Base : languages;complex text layout -OpenOffice.org Base : languages;locale settings -OpenOffice.org Base : languages;selecting -OpenOffice.org Base : languages;setting options -OpenOffice.org Base : languages;spellcheck -OpenOffice.org Base : languages;spellchecking and formatting -OpenOffice.org Base : large handles (Writer) -OpenOffice.org Base : large icons -OpenOffice.org Base : layer arrangement -OpenOffice.org Base : layout -OpenOffice.org Base : layout;importing Word documents -OpenOffice.org Base : layout;pages -OpenOffice.org Base : LDAP server -OpenOffice.org Base : LDAP server;address books (Base) -OpenOffice.org Base : LDAP server;sign on options -OpenOffice.org Base : leading between paragraphs -OpenOffice.org Base : left alignment of paragraphs -OpenOffice.org Base : left joins (Base) -OpenOffice.org Base : legends -OpenOffice.org Base : legends;charts -OpenOffice.org Base : legends;draw objects -OpenOffice.org Base : legends;rounding corners -OpenOffice.org Base : Letter Wizard -OpenOffice.org Base : levels -OpenOffice.org Base : levels;depth stagger -OpenOffice.org Base : limits of tables (Writer) -OpenOffice.org Base : line breaks -OpenOffice.org Base : line breaks;in cells -OpenOffice.org Base : line spacing -OpenOffice.org Base : line spacing;context menu in paragraphs -OpenOffice.org Base : line spacing;paragraph -OpenOffice.org Base : line styles -OpenOffice.org Base : line styles;applying -OpenOffice.org Base : line styles;defining -OpenOffice.org Base : lines -OpenOffice.org Base : lines;contours (Draw/Impress) -OpenOffice.org Base : lines;defining ends -OpenOffice.org Base : lines;draw functions -OpenOffice.org Base : lines;drawing in text -OpenOffice.org Base : lines;editing points -OpenOffice.org Base : lines;removing automatic lines -OpenOffice.org Base : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Base : lines of text -OpenOffice.org Base : lines of text;alignment -OpenOffice.org Base : links -OpenOffice.org Base : links;between cells and controls -OpenOffice.org Base : links;by drag and drop -OpenOffice.org Base : links;character formats -OpenOffice.org Base : links;definition -OpenOffice.org Base : links;editing hyperlinks -OpenOffice.org Base : links;inserting -OpenOffice.org Base : links;modifying -OpenOffice.org Base : links;opening files with -OpenOffice.org Base : links;relational databases (Base) -OpenOffice.org Base : links;turning off automatic recognition -OpenOffice.org Base : links;updating options (Writer) -OpenOffice.org Base : links;updating specific links -OpenOffice.org Base : list box creation -OpenOffice.org Base : lists -OpenOffice.org Base : lists;data assigned to controls -OpenOffice.org Base : lists;registered databases (Base) -OpenOffice.org Base : lists;regular expressions -OpenOffice.org Base : live presentations on the Internet -OpenOffice.org Base : loading -OpenOffice.org Base : loading;documents -OpenOffice.org Base : loading;documents from other formats -OpenOffice.org Base : loading;HTML documents, automatically -OpenOffice.org Base : loading;Microsoft Office documents with VBA code -OpenOffice.org Base : loading;reloading -OpenOffice.org Base : loading;XML files -OpenOffice.org Base : locale settings -OpenOffice.org Base : lowercase letters -OpenOffice.org Base : lowercase letters;font effects -OpenOffice.org Base : macros -OpenOffice.org Base : macros;assigning to events in forms -OpenOffice.org Base : macros;in MS Office documents -OpenOffice.org Base : macros;interrupting -OpenOffice.org Base : macros;organizing -OpenOffice.org Base : macros;recording -OpenOffice.org Base : macros;security -OpenOffice.org Base : macros;security warning dialog -OpenOffice.org Base : macros;selecting security warnings -OpenOffice.org Base : magnifiers -OpenOffice.org Base : Mail Merge feature in Microsoft Office -OpenOffice.org Base : margins -OpenOffice.org Base : margins;pages -OpenOffice.org Base : margins;setting with the mouse -OpenOffice.org Base : margins;shadows -OpenOffice.org Base : marking changes -OpenOffice.org Base : Markup feature in Microsoft Office -OpenOffice.org Base : Math formula editor -OpenOffice.org Base : measurement units -OpenOffice.org Base : measurement units;changing on rulers -OpenOffice.org Base : measurement units;converting -OpenOffice.org Base : measurement units;selecting -OpenOffice.org Base : Media Player window -OpenOffice.org Base : menus -OpenOffice.org Base : menus;activating context menus -OpenOffice.org Base : menus;customizing -OpenOffice.org Base : menus;inactive menu items -OpenOffice.org Base : merging -OpenOffice.org Base : merging;documents -OpenOffice.org Base : META tags -OpenOffice.org Base : metrics -OpenOffice.org Base : metrics;converting -OpenOffice.org Base : metrics;document formatting (Writer) -OpenOffice.org Base : metrics;in sheets -OpenOffice.org Base : Microsoft Office -OpenOffice.org Base : Microsoft Office;Access databases (base) -OpenOffice.org Base : Microsoft Office;as standard file format -OpenOffice.org Base : Microsoft Office;document import restrictions -OpenOffice.org Base : Microsoft Office;feature comparisons -OpenOffice.org Base : Microsoft Office;importing password protected files -OpenOffice.org Base : Microsoft Office;importing Word documents -OpenOffice.org Base : Microsoft Office;importing/exporting VBA code -OpenOffice.org Base : Microsoft Office;new users information -OpenOffice.org Base : Microsoft Office;opening Microsoft documents -OpenOffice.org Base : Microsoft Office;reassigning document types -OpenOffice.org Base : mobile device filters -OpenOffice.org Base : models in XForms -OpenOffice.org Base : modifying, see changing -OpenOffice.org Base : more controls -OpenOffice.org Base : mosaic filter -OpenOffice.org Base : mouse -OpenOffice.org Base : mouse;pointers when using drag and drop -OpenOffice.org Base : mouse;positioning -OpenOffice.org Base : moving -OpenOffice.org Base : moving;tab stops on ruler -OpenOffice.org Base : moving;toolbars -OpenOffice.org Base : moving;using guide lines in presentations -OpenOffice.org Base : MS ADO interface (Base) -OpenOffice.org Base : multi-line titles in forms -OpenOffice.org Base : multiple documents -OpenOffice.org Base : multiple documents;opening -OpenOffice.org Base : My Documents folder -OpenOffice.org Base : My Documents folder;changing work directory -OpenOffice.org Base : My Documents folder;opening -OpenOffice.org Base : MySQL databases (Base) -OpenOffice.org Base : names -OpenOffice.org Base : names;multi-line titles -OpenOffice.org Base : names;objects -OpenOffice.org Base : names, see also labels/callouts -OpenOffice.org Base : namespace organization in XForms -OpenOffice.org Base : native SQL (Base) -OpenOffice.org Base : navigating -OpenOffice.org Base : navigating;in documents -OpenOffice.org Base : Navigation bar -OpenOffice.org Base : Navigation bar;controls -OpenOffice.org Base : Navigation bar;forms -OpenOffice.org Base : Navigator -OpenOffice.org Base : Navigator;contents as lists -OpenOffice.org Base : Navigator;docking -OpenOffice.org Base : Navigator;working with -OpenOffice.org Base : network identity options -OpenOffice.org Base : new databases -OpenOffice.org Base : new documents -OpenOffice.org Base : new German spellcheck -OpenOffice.org Base : new lines in cells -OpenOffice.org Base : new windows -OpenOffice.org Base : non-breaking dashes -OpenOffice.org Base : non-breaking spaces (Writer) -OpenOffice.org Base : non-printing characters (Writer) -OpenOffice.org Base : notes -OpenOffice.org Base : notes;displaying (Calc) -OpenOffice.org Base : notes;inserting and editing -OpenOffice.org Base : notes;printing in text -OpenOffice.org Base : number formats -OpenOffice.org Base : number formats;codes -OpenOffice.org Base : number formats;formats -OpenOffice.org Base : number formats;recognition in text tables -OpenOffice.org Base : number of pages -OpenOffice.org Base : number of sheets -OpenOffice.org Base : number of tables -OpenOffice.org Base : numbering -OpenOffice.org Base : numbering;options -OpenOffice.org Base : numbering;paragraphs -OpenOffice.org Base : numbering;turning off -OpenOffice.org Base : numbering;using automatically -OpenOffice.org Base : numbers -OpenOffice.org Base : numbers;date, time and currency formats -OpenOffice.org Base : numbers;decimal places (Calc) -OpenOffice.org Base : numbers;formatting options for selected cells -OpenOffice.org Base : numerical fields in forms -OpenOffice.org Base : objects -OpenOffice.org Base : objects;always moveable (Impress/Draw) -OpenOffice.org Base : objects;arranging within stacks -OpenOffice.org Base : objects;contours in presentations -OpenOffice.org Base : objects;copying when moving in presentations -OpenOffice.org Base : objects;definition -OpenOffice.org Base : objects;displaying in spreadsheets -OpenOffice.org Base : objects;displaying in text documents -OpenOffice.org Base : objects;editing -OpenOffice.org Base : objects;inserting from Gallery -OpenOffice.org Base : objects;inserting OLE objects -OpenOffice.org Base : objects;moving and resizing with mouse -OpenOffice.org Base : objects;naming -OpenOffice.org Base : objects;opening -OpenOffice.org Base : objects;quickly moving to -OpenOffice.org Base : objects;titles and descriptions -OpenOffice.org Base : ODBC -OpenOffice.org Base : ODBC;database (Base) -OpenOffice.org Base : ODBC;definition -OpenOffice.org Base : ODF file formats -OpenOffice.org Base : Office -OpenOffice.org Base : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Base : old German spellcheck -OpenOffice.org Base : OLE -OpenOffice.org Base : OLE;definition -OpenOffice.org Base : OLE objects -OpenOffice.org Base : OLE objects;arranging within stacks -OpenOffice.org Base : OLE objects;captions (Writer) -OpenOffice.org Base : OLE objects;inserting -OpenOffice.org Base : OLE objects;number of -OpenOffice.org Base : OLE objects;protecting -OpenOffice.org Base : one and a half line spacing in text -OpenOffice.org Base : online registration -OpenOffice.org Base : online update options -OpenOffice.org Base : online updates -OpenOffice.org Base : online updates;checking automatically -OpenOffice.org Base : online updates;checking manually -OpenOffice.org Base : Open/Save dialogs -OpenOffice.org Base : OpenDocument file formats -OpenOffice.org Base : OpenGL -OpenOffice.org Base : OpenGL;definition -OpenOffice.org Base : OpenGL;optimized output -OpenOffice.org Base : opening -OpenOffice.org Base : opening;context menus -OpenOffice.org Base : opening;database files -OpenOffice.org Base : opening;dialog settings -OpenOffice.org Base : opening;documents -OpenOffice.org Base : opening;documents from other formats -OpenOffice.org Base : opening;files with links -OpenOffice.org Base : opening;files, with placeholders -OpenOffice.org Base : opening;forms -OpenOffice.org Base : opening;Microsoft Office files -OpenOffice.org Base : opening;mobile device documents -OpenOffice.org Base : opening;objects -OpenOffice.org Base : opening;reports -OpenOffice.org Base : opening;several files -OpenOffice.org Base : opening;XForms -OpenOffice.org Base : OpenOffice.org Base data sources -OpenOffice.org Base : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Base : OpenOffice.org documents -OpenOffice.org Base : OpenOffice.org documents;mobile device filters -OpenOffice.org Base : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Base : OpenOffice.org Math start -OpenOffice.org Base : operators -OpenOffice.org Base : operators;default filters -OpenOffice.org Base : optional hyphens (Writer) -OpenOffice.org Base : options -OpenOffice.org Base : options;accessibility -OpenOffice.org Base : options;appearance -OpenOffice.org Base : options;compatibility (Writer) -OpenOffice.org Base : options;network identity -OpenOffice.org Base : options;online update -OpenOffice.org Base : options;tools -OpenOffice.org Base : Oracle databases (base) -OpenOffice.org Base : ordering -OpenOffice.org Base : ordering;objects -OpenOffice.org Base : organizing -OpenOffice.org Base : organizing;macros and scripts -OpenOffice.org Base : organizing;namespaces in XForms -OpenOffice.org Base : organizing;styles -OpenOffice.org Base : organizing;templates -OpenOffice.org Base : original size -OpenOffice.org Base : original size;printing in OpenOffice.org Math -OpenOffice.org Base : original size;restoring after cropping -OpenOffice.org Base : outlines -OpenOffice.org Base : outlines;font effects -OpenOffice.org Base : outlines;outline symbols -OpenOffice.org Base : outlines;sending to presentations -OpenOffice.org Base : overwrite mode -OpenOffice.org Base : packages, see extensions -OpenOffice.org Base : page breaks -OpenOffice.org Base : page breaks;displaying (Calc) -OpenOffice.org Base : page formats -OpenOffice.org Base : page formats;maximizing -OpenOffice.org Base : page formats;restriction -OpenOffice.org Base : page styles -OpenOffice.org Base : page styles;editing/applying with statusbar -OpenOffice.org Base : pages -OpenOffice.org Base : pages;backgrounds in spreadsheets -OpenOffice.org Base : pages;formatting and numbering -OpenOffice.org Base : pages;printing page names in presentations -OpenOffice.org Base : pages;scaling -OpenOffice.org Base : pages;selecting one to print -OpenOffice.org Base : paint box -OpenOffice.org Base : paint can symbol -OpenOffice.org Base : pair kerning -OpenOffice.org Base : Palm file filters -OpenOffice.org Base : paper formats -OpenOffice.org Base : paper size warning -OpenOffice.org Base : paper trays -OpenOffice.org Base : paragraph marks -OpenOffice.org Base : paragraph marks;displaying (Writer) -OpenOffice.org Base : paragraph styles -OpenOffice.org Base : paragraph styles;languages -OpenOffice.org Base : paragraph styles;modifying basic fonts -OpenOffice.org Base : paragraphs -OpenOffice.org Base : paragraphs;alignment -OpenOffice.org Base : paragraphs;Asian typography -OpenOffice.org Base : paragraphs;backgrounds -OpenOffice.org Base : paragraphs;defining borders -OpenOffice.org Base : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Base : paragraphs;increasing indents of -OpenOffice.org Base : paragraphs;indents, margins and columns -OpenOffice.org Base : paragraphs;inserting bullets -OpenOffice.org Base : paragraphs;joining -OpenOffice.org Base : paragraphs;numbering automatically -OpenOffice.org Base : paragraphs;removing blank ones -OpenOffice.org Base : paragraphs;spacing -OpenOffice.org Base : paragraphs;tab stops -OpenOffice.org Base : parameters -OpenOffice.org Base : parameters;command line -OpenOffice.org Base : parameters;queries (Base) -OpenOffice.org Base : passwords for protecting contents -OpenOffice.org Base : pasting -OpenOffice.org Base : pasting;cell ranges -OpenOffice.org Base : pasting;cell ranges from spreadsheets -OpenOffice.org Base : pasting;data from text documents -OpenOffice.org Base : pasting;draw objects -OpenOffice.org Base : pasting;draw objects from other documents -OpenOffice.org Base : pasting;formatted/unformatted text -OpenOffice.org Base : pasting;from data source view -OpenOffice.org Base : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Base : pasting;pictures from other documents -OpenOffice.org Base : pasting;sheet areas in text documents -OpenOffice.org Base : pasting;to Gallery -OpenOffice.org Base : paths -OpenOffice.org Base : paths;changing work directory -OpenOffice.org Base : paths;defaults -OpenOffice.org Base : pattern editor -OpenOffice.org Base : pattern fields -OpenOffice.org Base : pattern fields;form functions -OpenOffice.org Base : patterns for objects -OpenOffice.org Base : PDF -OpenOffice.org Base : PDF;export -OpenOffice.org Base : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Base : personal data input -OpenOffice.org Base : phonetic guide -OpenOffice.org Base : picklist creation -OpenOffice.org Base : pictures -OpenOffice.org Base : pictures;adding to Gallery -OpenOffice.org Base : pictures;arranging within stacks -OpenOffice.org Base : pictures;assigning macros -OpenOffice.org Base : pictures;backgrounds -OpenOffice.org Base : pictures;captions (Writer) -OpenOffice.org Base : pictures;changing paths -OpenOffice.org Base : pictures;cropping and zooming -OpenOffice.org Base : pictures;displaying in Calc -OpenOffice.org Base : pictures;displaying in Writer (Writer) -OpenOffice.org Base : pictures;drag and drop between documents -OpenOffice.org Base : pictures;drawing -OpenOffice.org Base : pictures;editing -OpenOffice.org Base : pictures;filters -OpenOffice.org Base : pictures;ImageMap -OpenOffice.org Base : pictures;inserting automatically -OpenOffice.org Base : pictures;inserting from Gallery -OpenOffice.org Base : pictures;number of -OpenOffice.org Base : pictures;printing -OpenOffice.org Base : pictures;scaling/resizing -OpenOffice.org Base : Pivot tables feature in Microsoft Office -OpenOffice.org Base : pixel editor -OpenOffice.org Base : pixel graphics -OpenOffice.org Base : pixel graphics;inserting and editing -OpenOffice.org Base : pixel patterns -OpenOffice.org Base : placeholders -OpenOffice.org Base : placeholders;in SQL queries -OpenOffice.org Base : placeholders;on opening files -OpenOffice.org Base : placing toolbars -OpenOffice.org Base : playing movies and sound files -OpenOffice.org Base : plotting data as charts -OpenOffice.org Base : plug-ins -OpenOffice.org Base : plug-ins;activating and deactivating -OpenOffice.org Base : plug-ins;definition -OpenOffice.org Base : plug-ins;inserting -OpenOffice.org Base : pocket device appliances -OpenOffice.org Base : Pocket PC file filters -OpenOffice.org Base : points -OpenOffice.org Base : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Base : polygon drawing -OpenOffice.org Base : pop-art filter -OpenOffice.org Base : portable document format -OpenOffice.org Base : positioning -OpenOffice.org Base : positioning;draw objects and controls -OpenOffice.org Base : positioning;fonts -OpenOffice.org Base : positioning;objects -OpenOffice.org Base : positioning;toolbars -OpenOffice.org Base : post method for form transmissions -OpenOffice.org Base : posterizing filter -OpenOffice.org Base : PostScript -OpenOffice.org Base : PostScript;creating files -OpenOffice.org Base : PostScript;PDF converter, UNIX -OpenOffice.org Base : PowerPoint export -OpenOffice.org Base : precision as shown (Calc) -OpenOffice.org Base : predefining fonts -OpenOffice.org Base : presentations -OpenOffice.org Base : presentations;creating/opening -OpenOffice.org Base : presentations;inserting spreadsheet cells -OpenOffice.org Base : presentations;live on the Internet -OpenOffice.org Base : presentations;print menu -OpenOffice.org Base : presentations;saving -OpenOffice.org Base : presentations;saving automatically -OpenOffice.org Base : presentations;saving in other formats -OpenOffice.org Base : presentations;sending as e-mail -OpenOffice.org Base : presentations;starting with wizard -OpenOffice.org Base : presentations;wizards -OpenOffice.org Base : press buttons, see push buttons -OpenOffice.org Base : previews -OpenOffice.org Base : previews;fonts lists -OpenOffice.org Base : primary keys -OpenOffice.org Base : primary keys;defining -OpenOffice.org Base : primary keys;inserting (Base) -OpenOffice.org Base : print area selection -OpenOffice.org Base : printer metrics for document formatting (Writer) -OpenOffice.org Base : printers -OpenOffice.org Base : printers;adding, UNIX -OpenOffice.org Base : printers;choosing -OpenOffice.org Base : printers;default printer -OpenOffice.org Base : printers;faxes under UNIX -OpenOffice.org Base : printers;maximum page formats -OpenOffice.org Base : printers;paper trays -OpenOffice.org Base : printers;properties -OpenOffice.org Base : printing -OpenOffice.org Base : printing;black and white -OpenOffice.org Base : printing;brochures -OpenOffice.org Base : printing;colors in grayscale -OpenOffice.org Base : printing;copies -OpenOffice.org Base : printing;creating individual jobs -OpenOffice.org Base : printing;dates in presentations -OpenOffice.org Base : printing;directly -OpenOffice.org Base : printing;documents -OpenOffice.org Base : printing;drawings defaults -OpenOffice.org Base : printing;elements in text documents -OpenOffice.org Base : printing;faster -OpenOffice.org Base : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Base : printing;fitting to pages in presentations -OpenOffice.org Base : printing;formulas in OpenOffice.org Math -OpenOffice.org Base : printing;hidden pages of presentations -OpenOffice.org Base : printing;in original size in OpenOffice.org Math -OpenOffice.org Base : printing;left/right pages -OpenOffice.org Base : printing;queries (Base) -OpenOffice.org Base : printing;scaling in OpenOffice.org Math -OpenOffice.org Base : printing;selections -OpenOffice.org Base : printing;text always in black -OpenOffice.org Base : printing;text in reverse order -OpenOffice.org Base : printing;tiling pages in presentations -OpenOffice.org Base : printing;transparencies -OpenOffice.org Base : printing;warnings -OpenOffice.org Base : printing;without scaling in presentations -OpenOffice.org Base : printing speed -OpenOffice.org Base : programming -OpenOffice.org Base : programming;OpenOffice.org -OpenOffice.org Base : programming;scripting -OpenOffice.org Base : properties -OpenOffice.org Base : properties;fields in databases -OpenOffice.org Base : properties;files -OpenOffice.org Base : properties;form controls -OpenOffice.org Base : properties;forms -OpenOffice.org Base : properties;printers -OpenOffice.org Base : protected contents -OpenOffice.org Base : protected dashes -OpenOffice.org Base : protected database tables -OpenOffice.org Base : protected documents -OpenOffice.org Base : protected spaces -OpenOffice.org Base : protected spaces;inserting -OpenOffice.org Base : protected spaces;showing (Writer) -OpenOffice.org Base : protecting -OpenOffice.org Base : protecting;contents -OpenOffice.org Base : protecting;recorded changes -OpenOffice.org Base : proxy settings -OpenOffice.org Base : push buttons -OpenOffice.org Base : push buttons;adding to documents -OpenOffice.org Base : push buttons;creating -OpenOffice.org Base : queries -OpenOffice.org Base : queries;copying (Base) -OpenOffice.org Base : queries;creating in design view (Base) -OpenOffice.org Base : queries;creating in SQL view -OpenOffice.org Base : queries;defining (Base) -OpenOffice.org Base : queries;deleting table links (Base) -OpenOffice.org Base : queries;editing in data source view -OpenOffice.org Base : queries;formulating filter conditions (Base) -OpenOffice.org Base : queries;joining tables (Base) -OpenOffice.org Base : queries;missing elements (Base) -OpenOffice.org Base : queries;overview (Base) -OpenOffice.org Base : queries;parameter queries (Base) -OpenOffice.org Base : queries;printing (Base) -OpenOffice.org Base : Query Wizard (Base) -OpenOffice.org Base : quickstarter -OpenOffice.org Base : quotation marks -OpenOffice.org Base : quotation marks;replacing -OpenOffice.org Base : quotes -OpenOffice.org Base : quotes;custom -OpenOffice.org Base : radio button creation -OpenOffice.org Base : read-only documents -OpenOffice.org Base : read-only documents;cursor -OpenOffice.org Base : read-only documents;database tables on/off -OpenOffice.org Base : read-only documents;editing -OpenOffice.org Base : read-only documents;opening documents as -OpenOffice.org Base : read-only items in Data Navigator -OpenOffice.org Base : recognizing URLs automatically -OpenOffice.org Base : recording -OpenOffice.org Base : recording;changes -OpenOffice.org Base : recording;macros -OpenOffice.org Base : records -OpenOffice.org Base : records;inserting notes -OpenOffice.org Base : records;protecting -OpenOffice.org Base : records;saving -OpenOffice.org Base : records;searching in databases -OpenOffice.org Base : rectangles with round corners -OpenOffice.org Base : recursions in spreadsheets -OpenOffice.org Base : redo command -OpenOffice.org Base : reduced printing -OpenOffice.org Base : reference lines -OpenOffice.org Base : references -OpenOffice.org Base : references;displaying in color (Calc) -OpenOffice.org Base : references;expanding (Calc) -OpenOffice.org Base : references;iterative (Calc) -OpenOffice.org Base : Refresh Data feature in Microsoft Office -OpenOffice.org Base : register-true -OpenOffice.org Base : register-true;definition -OpenOffice.org Base : registering -OpenOffice.org Base : registering;address books -OpenOffice.org Base : registering;databases (Base) -OpenOffice.org Base : registering;OpenOffice.org -OpenOffice.org Base : regular expressions -OpenOffice.org Base : regular expressions;list of -OpenOffice.org Base : regular expressions;opening files -OpenOffice.org Base : relational databases (Base) -OpenOffice.org Base : relations -OpenOffice.org Base : relations;creating and deleting (Base) -OpenOffice.org Base : relations;joining tables (Base) -OpenOffice.org Base : relations;properties (Base) -OpenOffice.org Base : relative hyperlinks -OpenOffice.org Base : relative saving of URLs -OpenOffice.org Base : reloading -OpenOffice.org Base : reloading;documents -OpenOffice.org Base : reloading;HTML documents, automatically -OpenOffice.org Base : remarks, see also notes -OpenOffice.org Base : remote configurations -OpenOffice.org Base : remove noise filter -OpenOffice.org Base : removing -OpenOffice.org Base : removing;bullets and numbering -OpenOffice.org Base : removing;form filters -OpenOffice.org Base : removing, see also deleting -OpenOffice.org Base : Replace text as you type feature in Microsoft Office -OpenOffice.org Base : replacement options -OpenOffice.org Base : replacement table -OpenOffice.org Base : replacing -OpenOffice.org Base : replacing;AutoCorrect function -OpenOffice.org Base : replacing;dashes -OpenOffice.org Base : Report Builder -OpenOffice.org Base : reports -OpenOffice.org Base : reports;creating -OpenOffice.org Base : reports;error reports -OpenOffice.org Base : reports;opening and editing -OpenOffice.org Base : reports;templates -OpenOffice.org Base : resetting -OpenOffice.org Base : resetting;templates -OpenOffice.org Base : resizing -OpenOffice.org Base : resizing;objects, by mouse -OpenOffice.org Base : resizing, see also scaling/zooming -OpenOffice.org Base : resolution when printing bitmaps -OpenOffice.org Base : restoring -OpenOffice.org Base : restoring;default formatting -OpenOffice.org Base : restoring;editing -OpenOffice.org Base : reversing printing order -OpenOffice.org Base : review function -OpenOffice.org Base : review function;accepting or rejecting changes -OpenOffice.org Base : review function;comparing documents -OpenOffice.org Base : review function;recording changes example -OpenOffice.org Base : rich text control -OpenOffice.org Base : right alignment of paragraphs -OpenOffice.org Base : right joins (Base) -OpenOffice.org Base : right-to-left text -OpenOffice.org Base : rotating -OpenOffice.org Base : rotating;3D text -OpenOffice.org Base : round corners -OpenOffice.org Base : rounding precision (Calc) -OpenOffice.org Base : row headers -OpenOffice.org Base : row headers;displaying (Calc) -OpenOffice.org Base : row headers;highlighting (Calc) -OpenOffice.org Base : rulers -OpenOffice.org Base : rulers;default settings -OpenOffice.org Base : rulers;measurement units -OpenOffice.org Base : rulers;visible in presentations -OpenOffice.org Base : samples and templates -OpenOffice.org Base : saving -OpenOffice.org Base : saving;default file formats -OpenOffice.org Base : saving;dialog settings -OpenOffice.org Base : saving;documents -OpenOffice.org Base : saving;documents for mobile devices -OpenOffice.org Base : saving;documents in other formats -OpenOffice.org Base : saving;documents, automatically -OpenOffice.org Base : saving;in Microsoft Office file format -OpenOffice.org Base : saving;options -OpenOffice.org Base : saving;templates -OpenOffice.org Base : saving;to XML -OpenOffice.org Base : saving;VBA code in Microsoft Office documents -OpenOffice.org Base : saving;with password by default -OpenOffice.org Base : saving as command -OpenOffice.org Base : saving as command;precautions -OpenOffice.org Base : scaling -OpenOffice.org Base : scaling;font sizes in user interface -OpenOffice.org Base : scaling;objects -OpenOffice.org Base : scaling;pictures -OpenOffice.org Base : scaling;printing in OpenOffice.org Math -OpenOffice.org Base : scaling;when printing presentations -OpenOffice.org Base : scaling, see also zooming -OpenOffice.org Base : screen -OpenOffice.org Base : screen;full screen views -OpenOffice.org Base : screen;scaling -OpenOffice.org Base : screen magnifiers -OpenOffice.org Base : screen readers -OpenOffice.org Base : script organization -OpenOffice.org Base : scripting in programming -OpenOffice.org Base : scrollbars -OpenOffice.org Base : scrollbars;controls -OpenOffice.org Base : scrollbars;displaying (Calc) -OpenOffice.org Base : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Base : search criteria for database functions in cells -OpenOffice.org Base : search engines -OpenOffice.org Base : search engines;definition -OpenOffice.org Base : search engines;selecting -OpenOffice.org Base : searching -OpenOffice.org Base : searching;all sheets -OpenOffice.org Base : searching;databases -OpenOffice.org Base : searching;form filters -OpenOffice.org Base : searching;Internet -OpenOffice.org Base : searching;tables and forms -OpenOffice.org Base : sections -OpenOffice.org Base : sections;backgrounds -OpenOffice.org Base : sections;protecting -OpenOffice.org Base : security -OpenOffice.org Base : security;options for documents with macros -OpenOffice.org Base : security;protecting contents -OpenOffice.org Base : security;warning dialogs with macros -OpenOffice.org Base : selecting -OpenOffice.org Base : selecting;controls -OpenOffice.org Base : selecting;group objects -OpenOffice.org Base : selecting;measurement units -OpenOffice.org Base : selecting;objects -OpenOffice.org Base : selecting;print areas -OpenOffice.org Base : selecting;several files -OpenOffice.org Base : selection clipboard -OpenOffice.org Base : selection modes in text -OpenOffice.org Base : sending -OpenOffice.org Base : sending;AutoAbstract function in presentations -OpenOffice.org Base : sending;documents as e-mail -OpenOffice.org Base : sending;documents as faxes -OpenOffice.org Base : separator lines -OpenOffice.org Base : separator lines;defining -OpenOffice.org Base : separators -OpenOffice.org Base : separators;conditional -OpenOffice.org Base : Server Side ImageMap -OpenOffice.org Base : settings -OpenOffice.org Base : settings;printers -OpenOffice.org Base : settings;program configuration -OpenOffice.org Base : settings;proxies -OpenOffice.org Base : settings;tracking changes -OpenOffice.org Base : settings;views -OpenOffice.org Base : SGML -OpenOffice.org Base : SGML;definition -OpenOffice.org Base : shadows -OpenOffice.org Base : shadows;areas -OpenOffice.org Base : shadows;borders -OpenOffice.org Base : shadows;characters -OpenOffice.org Base : shadows;characters, using context menu -OpenOffice.org Base : sharpening filter -OpenOffice.org Base : sheet tabs -OpenOffice.org Base : sheet tabs;displaying -OpenOffice.org Base : sheets -OpenOffice.org Base : sheets;searching all -OpenOffice.org Base : shortcut keys -OpenOffice.org Base : shortcut keys;assigning macros -OpenOffice.org Base : shortcut keys;general -OpenOffice.org Base : shortcut keys;in databases -OpenOffice.org Base : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Base : Show/Hide feature in Microsoft Office -OpenOffice.org Base : showing -OpenOffice.org Base : showing;changes -OpenOffice.org Base : showing;docked windows -OpenOffice.org Base : showing;drawings and controls (Writer) -OpenOffice.org Base : showing;live presentations on the Internet -OpenOffice.org Base : showing;toolbars -OpenOffice.org Base : signing documents with digital signatures -OpenOffice.org Base : similarity search -OpenOffice.org Base : simple handles (Writer) -OpenOffice.org Base : simplified Chinese -OpenOffice.org Base : simplified Chinese;translating to traditional Chinese -OpenOffice.org Base : single sign on options -OpenOffice.org Base : single-line spacing in text -OpenOffice.org Base : sizes -OpenOffice.org Base : sizes;draw objects -OpenOffice.org Base : sizes;pictures -OpenOffice.org Base : slanting draw objects -OpenOffice.org Base : small capitals -OpenOffice.org Base : small icons -OpenOffice.org Base : smart tags -OpenOffice.org Base : smart tags;options -OpenOffice.org Base : smooth scrolling (Writer) -OpenOffice.org Base : smoothing filter -OpenOffice.org Base : snap grid defaults (Writer/Calc) -OpenOffice.org Base : snapping in presentations and drawings -OpenOffice.org Base : solarization filter -OpenOffice.org Base : sort lists -OpenOffice.org Base : sort lists;copying to in Calc -OpenOffice.org Base : sorting -OpenOffice.org Base : sorting;data in forms -OpenOffice.org Base : sorting;databases -OpenOffice.org Base : sounds -OpenOffice.org Base : sounds;inserting and playing -OpenOffice.org Base : sounds;UNIX -OpenOffice.org Base : spaces -OpenOffice.org Base : spaces;displaying (Writer) -OpenOffice.org Base : spaces;ignoring double -OpenOffice.org Base : spaces;inserting protected spaces -OpenOffice.org Base : spaces;showing protected spaces (Writer) -OpenOffice.org Base : spacing -OpenOffice.org Base : spacing;between paragraphs in footnotes -OpenOffice.org Base : spacing;font effects -OpenOffice.org Base : spacing;lines and paragraphs -OpenOffice.org Base : spacing;tab stops in text documents -OpenOffice.org Base : spacing;tabs in presentations -OpenOffice.org Base : spadmin -OpenOffice.org Base : special characters -OpenOffice.org Base : speech bubbles -OpenOffice.org Base : speed of printing -OpenOffice.org Base : spellcheck -OpenOffice.org Base : spellcheck;activating for a language -OpenOffice.org Base : spellcheck;context menus -OpenOffice.org Base : spellcheck;default languages -OpenOffice.org Base : spellcheck;dialog -OpenOffice.org Base : spellcheck;dictionary of exceptions -OpenOffice.org Base : spellcheck;ignore list -OpenOffice.org Base : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Base : spin button creation -OpenOffice.org Base : spoolfiles with Xprinter -OpenOffice.org Base : spreadsheets -OpenOffice.org Base : spreadsheets;as databases (base) -OpenOffice.org Base : spreadsheets;backgrounds -OpenOffice.org Base : spreadsheets;copying areas to text documents -OpenOffice.org Base : spreadsheets;creating/opening -OpenOffice.org Base : spreadsheets;inserting charts -OpenOffice.org Base : spreadsheets;inserting database records -OpenOffice.org Base : spreadsheets;printing -OpenOffice.org Base : spreadsheets;saving -OpenOffice.org Base : spreadsheets;saving automatically -OpenOffice.org Base : spreadsheets;saving in other formats -OpenOffice.org Base : spreadsheets;sending as e-mail -OpenOffice.org Base : SQL -OpenOffice.org Base : SQL;definition -OpenOffice.org Base : SQL;DISTINCT parameter -OpenOffice.org Base : SQL;executing SQL commands -OpenOffice.org Base : SQL;executing SQL statements (Base) -OpenOffice.org Base : SQL;queries (Base) -OpenOffice.org Base : square drawings -OpenOffice.org Base : standard bar on/off -OpenOffice.org Base : standard filters in databases -OpenOffice.org Base : standard printer under UNIX -OpenOffice.org Base : Start Module backing window -OpenOffice.org Base : start parameters -OpenOffice.org Base : status bar on/off -OpenOffice.org Base : stickers -OpenOffice.org Base : strikethrough -OpenOffice.org Base : strikethrough;characters -OpenOffice.org Base : strikethrough;font effects -OpenOffice.org Base : styles -OpenOffice.org Base : styles;'changed' message -OpenOffice.org Base : styles;copying between documents -OpenOffice.org Base : styles;keyboard shortcuts -OpenOffice.org Base : styles;organizing -OpenOffice.org Base : styles;printing styles used in a document -OpenOffice.org Base : styles;replacing automatically -OpenOffice.org Base : Styles and Formatting window -OpenOffice.org Base : Styles and Formatting window;docking -OpenOffice.org Base : subforms -OpenOffice.org Base : subforms;creating -OpenOffice.org Base : subforms;description -OpenOffice.org Base : submitting forms -OpenOffice.org Base : suffixes in file formats -OpenOffice.org Base : support on the Web -OpenOffice.org Base : synchronizing -OpenOffice.org Base : synchronizing;labels and business cards -OpenOffice.org Base : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Base : system address book registration -OpenOffice.org Base : tab stops -OpenOffice.org Base : tab stops;displaying (Writer) -OpenOffice.org Base : tab stops;inserting and editing -OpenOffice.org Base : tab stops;setting in sheets -OpenOffice.org Base : tab stops;settings -OpenOffice.org Base : tab stops;spacing in presentations -OpenOffice.org Base : tab stops;spacing in text documents -OpenOffice.org Base : table controls -OpenOffice.org Base : table controls;form functions -OpenOffice.org Base : table controls;keyboard-only edit mode -OpenOffice.org Base : table controls;properties -OpenOffice.org Base : table views of databases -OpenOffice.org Base : Table Wizard (Base) -OpenOffice.org Base : tables -OpenOffice.org Base : tables;backgrounds -OpenOffice.org Base : tables;inserting line breaks -OpenOffice.org Base : tables in databases -OpenOffice.org Base : tables in databases;access rights to (Base) -OpenOffice.org Base : tables in databases;adding to queries -OpenOffice.org Base : tables in databases;browsing and editing -OpenOffice.org Base : tables in databases;copying database tables (Base) -OpenOffice.org Base : tables in databases;creating -OpenOffice.org Base : tables in databases;creating in design view -OpenOffice.org Base : tables in databases;importing text formats (Base) -OpenOffice.org Base : tables in databases;joining for queries (Base) -OpenOffice.org Base : tables in databases;printing queries (Base) -OpenOffice.org Base : tables in databases;relations (Base) -OpenOffice.org Base : tables in databases;searching -OpenOffice.org Base : tables in spreadsheets -OpenOffice.org Base : tables in spreadsheets;copying data to other applications -OpenOffice.org Base : tables in spreadsheets;defining borders -OpenOffice.org Base : tables in spreadsheets;value highlighting -OpenOffice.org Base : tables in text -OpenOffice.org Base : tables in text;captions -OpenOffice.org Base : tables in text;creating automatically -OpenOffice.org Base : tables in text;default settings -OpenOffice.org Base : tables in text;defining borders -OpenOffice.org Base : tables in text;displaying -OpenOffice.org Base : tables in text;printing -OpenOffice.org Base : tables in text;protecting cells -OpenOffice.org Base : tables of contents -OpenOffice.org Base : tables of contents;unprotecting -OpenOffice.org Base : tabs -OpenOffice.org Base : tabs;displaying sheet tabs -OpenOffice.org Base : tags -OpenOffice.org Base : tags;definition -OpenOffice.org Base : tags;META tags -OpenOffice.org Base : templates -OpenOffice.org Base : templates;agendas -OpenOffice.org Base : templates;changing basic fonts -OpenOffice.org Base : templates;database reports -OpenOffice.org Base : templates;deleting -OpenOffice.org Base : templates;editing and saving -OpenOffice.org Base : templates;faxes -OpenOffice.org Base : templates;importing and exporting -OpenOffice.org Base : templates;letters -OpenOffice.org Base : templates;new documents from templates -OpenOffice.org Base : templates;opening documents with -OpenOffice.org Base : templates;organizing -OpenOffice.org Base : terminology -OpenOffice.org Base : terminology;general glossary -OpenOffice.org Base : terminology;Internet glossary -OpenOffice.org Base : testing XML filters -OpenOffice.org Base : text -OpenOffice.org Base : text;animating -OpenOffice.org Base : text;Asian layout -OpenOffice.org Base : text;backgrounds -OpenOffice.org Base : text;bold -OpenOffice.org Base : text;coloring -OpenOffice.org Base : text;contours -OpenOffice.org Base : text;copying by drag and drop -OpenOffice.org Base : text;CTL languages -OpenOffice.org Base : text;drawing pictures -OpenOffice.org Base : text;font effects -OpenOffice.org Base : text;font sizes -OpenOffice.org Base : text;font styles -OpenOffice.org Base : text;fonts and formats -OpenOffice.org Base : text;Fontwork icons -OpenOffice.org Base : text;hyperlinks -OpenOffice.org Base : text;inserting special characters -OpenOffice.org Base : text;italics -OpenOffice.org Base : text;kerning -OpenOffice.org Base : text;language selection -OpenOffice.org Base : text;line spacing -OpenOffice.org Base : text;overwriting or inserting -OpenOffice.org Base : text;placeholders in presentations -OpenOffice.org Base : text;printing in black -OpenOffice.org Base : text;replacing with format -OpenOffice.org Base : text;selection modes -OpenOffice.org Base : text;shadowed -OpenOffice.org Base : text;text/draw objects -OpenOffice.org Base : text attributes -OpenOffice.org Base : text attributes;hyperlinks -OpenOffice.org Base : text attributes;undoing -OpenOffice.org Base : text boxes -OpenOffice.org Base : text boxes;form functions -OpenOffice.org Base : text boxes;positioning -OpenOffice.org Base : text breaks in cells -OpenOffice.org Base : text colors for better accessibility -OpenOffice.org Base : text databases (Base) -OpenOffice.org Base : text documents -OpenOffice.org Base : text documents;creating/opening -OpenOffice.org Base : text documents;importing/exporting -OpenOffice.org Base : text documents;inserting spreadsheet cells -OpenOffice.org Base : text documents;print settings -OpenOffice.org Base : text documents;printing -OpenOffice.org Base : text documents;saving -OpenOffice.org Base : text documents;saving automatically -OpenOffice.org Base : text documents;saving in other formats -OpenOffice.org Base : text documents;sending as e-mail -OpenOffice.org Base : text effects -OpenOffice.org Base : text flow -OpenOffice.org Base : text flow;in cells -OpenOffice.org Base : text formats -OpenOffice.org Base : text formats;databases -OpenOffice.org Base : text formats;pasting -OpenOffice.org Base : text input fields -OpenOffice.org Base : text layout for special languages -OpenOffice.org Base : text objects -OpenOffice.org Base : text objects;alignment -OpenOffice.org Base : text objects;draw functions -OpenOffice.org Base : text objects;fonts -OpenOffice.org Base : text objects;in presentations and drawings -OpenOffice.org Base : text overflow in spreadsheet cells -OpenOffice.org Base : text, see also text documents, paragraphs and characters -OpenOffice.org Base : TextArt, see Fontwork -OpenOffice.org Base : textures -OpenOffice.org Base : textures;inserting from Gallery -OpenOffice.org Base : textures;on chart bars -OpenOffice.org Base : Thai -OpenOffice.org Base : Thai;entering text -OpenOffice.org Base : Thai;language settings -OpenOffice.org Base : thesaurus -OpenOffice.org Base : thesaurus;activating for a language -OpenOffice.org Base : ticker text -OpenOffice.org Base : time fields -OpenOffice.org Base : time fields;form functions -OpenOffice.org Base : times -OpenOffice.org Base : times;inserting when printing presentations -OpenOffice.org Base : times, formats -OpenOffice.org Base : tips -OpenOffice.org Base : tips;extended tips in Help -OpenOffice.org Base : title rows -OpenOffice.org Base : title rows;printing in OpenOffice.org Math -OpenOffice.org Base : titles -OpenOffice.org Base : titles;changing -OpenOffice.org Base : titles;editing in charts -OpenOffice.org Base : titles;font effects -OpenOffice.org Base : titles;formatting automatically -OpenOffice.org Base : titles;objects -OpenOffice.org Base : toolbars -OpenOffice.org Base : toolbars;adding buttons -OpenOffice.org Base : toolbars;docking/undocking -OpenOffice.org Base : toolbars;Form Navigation bar -OpenOffice.org Base : toolbars;viewing/closing -OpenOffice.org Base : tools bar -OpenOffice.org Base : tooltips -OpenOffice.org Base : tooltips;extended tips -OpenOffice.org Base : tooltips;help -OpenOffice.org Base : Track changes feature in Microsoft Office -OpenOffice.org Base : traditional Chinese -OpenOffice.org Base : traditional Chinese;translating to simplified chinese -OpenOffice.org Base : transparency -OpenOffice.org Base : transparency;areas -OpenOffice.org Base : transparency;off for faster printing -OpenOffice.org Base : transparency;saving -OpenOffice.org Base : tree view of Help -OpenOffice.org Base : typefaces -OpenOffice.org Base : typefaces;adding under UNIX -OpenOffice.org Base : typefaces;formats -OpenOffice.org Base : typographical quotes in OpenOffice.org Writer -OpenOffice.org Base : typography -OpenOffice.org Base : typography;Asian -OpenOffice.org Base : underlining -OpenOffice.org Base : underlining;AutoFormat function -OpenOffice.org Base : underlining;characters -OpenOffice.org Base : underlining;text -OpenOffice.org Base : undocking windows -OpenOffice.org Base : undoing -OpenOffice.org Base : undoing;direct formatting -OpenOffice.org Base : undoing;editing -OpenOffice.org Base : undoing;number of steps -OpenOffice.org Base : ungrouping groups -OpenOffice.org Base : units -OpenOffice.org Base : units;converting -OpenOffice.org Base : units;measurement units -OpenOffice.org Base : UNO components -OpenOffice.org Base : UNO components;Extension Manager -OpenOffice.org Base : UNO components;integrating new -OpenOffice.org Base : update options -OpenOffice.org Base : updates -OpenOffice.org Base : updates;checking automatically -OpenOffice.org Base : updates;checking manually -OpenOffice.org Base : updating -OpenOffice.org Base : updating;fields and charts, automatically (Writer) -OpenOffice.org Base : updating;links in text documents -OpenOffice.org Base : updating;links, on opening -OpenOffice.org Base : updating;templates -OpenOffice.org Base : URL -OpenOffice.org Base : URL;changing hyperlink URLs -OpenOffice.org Base : URL;definition -OpenOffice.org Base : URL;saving absolute/relative paths -OpenOffice.org Base : URL;turning off URL recognition -OpenOffice.org Base : user data -OpenOffice.org Base : user data;input -OpenOffice.org Base : user data;removing when saving -OpenOffice.org Base : user-defined dictionaries -OpenOffice.org Base : user-defined dictionaries;creating -OpenOffice.org Base : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Base : user-defined dictionaries;editing -OpenOffice.org Base : user-defined styles -OpenOffice.org Base : user-defined styles;automatically replacing -OpenOffice.org Base : UTF-8/UCS2 support -OpenOffice.org Base : Validation feature in Microsoft Office -OpenOffice.org Base : values -OpenOffice.org Base : values;rounded as shown (Calc) -OpenOffice.org Base : variables -OpenOffice.org Base : variables;for paths -OpenOffice.org Base : VBA code -OpenOffice.org Base : VBA code;loading/saving documents with VBA code -OpenOffice.org Base : version management -OpenOffice.org Base : version numbers of documents -OpenOffice.org Base : versions -OpenOffice.org Base : versions;comparing documents -OpenOffice.org Base : versions;file saving as, restriction -OpenOffice.org Base : versions;merging document versions -OpenOffice.org Base : versions;of a document -OpenOffice.org Base : versions;OpenOffice.org -OpenOffice.org Base : vertical callouts -OpenOffice.org Base : vertical scrollbars (Writer) -OpenOffice.org Base : vertical text boxes -OpenOffice.org Base : videos -OpenOffice.org Base : viewing -OpenOffice.org Base : viewing;databases -OpenOffice.org Base : viewing;file properties -OpenOffice.org Base : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Base : viewing;toolbars -OpenOffice.org Base : views -OpenOffice.org Base : views;creating database views (Base) -OpenOffice.org Base : views;defaults -OpenOffice.org Base : views;full screen -OpenOffice.org Base : views;icons -OpenOffice.org Base : views;in 3D -OpenOffice.org Base : views;scaling -OpenOffice.org Base : Visual Basic for Applications -OpenOffice.org Base : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Base : watermarks -OpenOffice.org Base : web documents -OpenOffice.org Base : web documents;XForms -OpenOffice.org Base : Web support -OpenOffice.org Base : WebCast export -OpenOffice.org Base : windows -OpenOffice.org Base : windows;docking -OpenOffice.org Base : windows;docking definition -OpenOffice.org Base : windows;hiding/showing/docking -OpenOffice.org Base : windows;new -OpenOffice.org Base : wizards -OpenOffice.org Base : wizards;agendas -OpenOffice.org Base : wizards;database queries -OpenOffice.org Base : wizards;database tables (Base) -OpenOffice.org Base : wizards;databases (Base) -OpenOffice.org Base : wizards;document converter -OpenOffice.org Base : wizards;Euro Converter -OpenOffice.org Base : wizards;faxes -OpenOffice.org Base : wizards;forms -OpenOffice.org Base : wizards;letters -OpenOffice.org Base : wizards;overview -OpenOffice.org Base : wizards;presentations -OpenOffice.org Base : wizards;reports -OpenOffice.org Base : Word documents -OpenOffice.org Base : Word documents;compatibility -OpenOffice.org Base : Word documents;saving as -OpenOffice.org Base : WordArt, see Fontwork -OpenOffice.org Base : words -OpenOffice.org Base : words;automatically replacing -OpenOffice.org Base : words;wrapping in cells -OpenOffice.org Base : work directory change -OpenOffice.org Base : Workbook feature in Microsoft Office -OpenOffice.org Base : Worksheet feature in Microsoft Office -OpenOffice.org Base : wrapping text -OpenOffice.org Base : wrapping text;in cells -OpenOffice.org Base : write protection on/off -OpenOffice.org Base : writing aids options -OpenOffice.org Base : WYSIWYG in fonts lists -OpenOffice.org Base : XForms -OpenOffice.org Base : XML converters -OpenOffice.org Base : XML file formats -OpenOffice.org Base : XML filters -OpenOffice.org Base : XML filters;creating/testing/distributing/deleting -OpenOffice.org Base : XML filters;settings -OpenOffice.org Base : XML Forms -OpenOffice.org Base : XSLT based filters -OpenOffice.org Base : XSLT based filters;settings -OpenOffice.org Base : XSLT filters, see also XML filters -OpenOffice.org Base : years -OpenOffice.org Base : years;2-digit options -OpenOffice.org Base : zero values -OpenOffice.org Base : zero values;displaying (Calc) -OpenOffice.org Base : zooming -OpenOffice.org Base : zooming;page views -OpenOffice.org Base : zooming;pictures -OpenOffice.org Base : zooming;status bar -OpenOffice.org Calc : #N/A error -OpenOffice.org Calc : #N/A error;assigning to a cell -OpenOffice.org Calc : #N/A error;recognizing -OpenOffice.org Calc : #NAME error message -OpenOffice.org Calc : #REF error message -OpenOffice.org Calc : 1/2 replacement -OpenOffice.org Calc : 3D charts -OpenOffice.org Calc : 3D text creation -OpenOffice.org Calc : 3D view -OpenOffice.org Calc : abbreviation replacement -OpenOffice.org Calc : ABS function -OpenOffice.org Calc : absolute addresses in spreadsheets -OpenOffice.org Calc : absolute hyperlinks -OpenOffice.org Calc : absolute references in spreadsheets -OpenOffice.org Calc : absolute saving of URLs -OpenOffice.org Calc : absolute values -OpenOffice.org Calc : accents -OpenOffice.org Calc : Access databases (base) -OpenOffice.org Calc : access rights for database tables (Base) -OpenOffice.org Calc : accessibility -OpenOffice.org Calc : accessibility;general shortcuts -OpenOffice.org Calc : accessibility;OpenOffice.org assistive technology -OpenOffice.org Calc : accessibility;OpenOffice.org Calc shortcuts -OpenOffice.org Calc : accessibility;OpenOffice.org features -OpenOffice.org Calc : accessibility;options -OpenOffice.org Calc : ACCRINT function -OpenOffice.org Calc : ACCRINTM function -OpenOffice.org Calc : accrued interests -OpenOffice.org Calc : accrued interests;one-off payments -OpenOffice.org Calc : accrued interests;periodic payments -OpenOffice.org Calc : accumulated interests -OpenOffice.org Calc : ACOS function -OpenOffice.org Calc : ACOSH function -OpenOffice.org Calc : ACOT function -OpenOffice.org Calc : ACOTH function -OpenOffice.org Calc : actions in case of incorrect input -OpenOffice.org Calc : activating -OpenOffice.org Calc : activating;context menus -OpenOffice.org Calc : activating;Error Report Tool -OpenOffice.org Calc : activating;extended help tips -OpenOffice.org Calc : activating;plug-ins -OpenOffice.org Calc : ActiveX control -OpenOffice.org Calc : Adabas D databases (base) -OpenOffice.org Calc : add-ins -OpenOffice.org Calc : add-ins;analysis functions -OpenOffice.org Calc : add-ins;for programming -OpenOffice.org Calc : add-ins;functions -OpenOffice.org Calc : add-ons, see UNO components -OpenOffice.org Calc : adding -OpenOffice.org Calc : adding;automatic captions (Writer) -OpenOffice.org Calc : adding;backgrounds -OpenOffice.org Calc : adding;buttons in toolbars -OpenOffice.org Calc : adding;cells in print ranges -OpenOffice.org Calc : adding;conditions for XForm items -OpenOffice.org Calc : adding;draw objects -OpenOffice.org Calc : adding;Fontwork objects -OpenOffice.org Calc : adding;items in Data Navigator -OpenOffice.org Calc : adding;namespaces in XForms -OpenOffice.org Calc : adding;numbers in cell ranges -OpenOffice.org Calc : adding;paragraph borders -OpenOffice.org Calc : adding;pictures from Gallery -OpenOffice.org Calc : adding;pictures in Gallery -OpenOffice.org Calc : adding;plug-ins -OpenOffice.org Calc : adding;push buttons -OpenOffice.org Calc : adding;specified numbers -OpenOffice.org Calc : adding;sum icon -OpenOffice.org Calc : adding;table borders -OpenOffice.org Calc : adding;textures on chart bars -OpenOffice.org Calc : additional selection mode -OpenOffice.org Calc : address books -OpenOffice.org Calc : address books;LDAP server (Base) -OpenOffice.org Calc : address books;registering -OpenOffice.org Calc : ADDRESS function -OpenOffice.org Calc : address labels from databases -OpenOffice.org Calc : addressing -OpenOffice.org Calc : addressing;automatic -OpenOffice.org Calc : addressing;by defined names -OpenOffice.org Calc : addressing;relative and absolute -OpenOffice.org Calc : adjusting array ranges -OpenOffice.org Calc : ADO databases (Base) -OpenOffice.org Calc : advanced filters -OpenOffice.org Calc : Agenda Wizard -OpenOffice.org Calc : aging filter -OpenOffice.org Calc : algebraic signs -OpenOffice.org Calc : aligning -OpenOffice.org Calc : aligning;2D charts -OpenOffice.org Calc : aligning;cells -OpenOffice.org Calc : aligning;objects -OpenOffice.org Calc : aligning;paragraphs -OpenOffice.org Calc : aligning;tables in text -OpenOffice.org Calc : aligning;text objects -OpenOffice.org Calc : aligning;titles in charts -OpenOffice.org Calc : allowances -OpenOffice.org Calc : allowed cell names -OpenOffice.org Calc : alternative fonts -OpenOffice.org Calc : AMORDEGRC function -OpenOffice.org Calc : AMORLINC function -OpenOffice.org Calc : amortization installment -OpenOffice.org Calc : amortizations, see also depreciations -OpenOffice.org Calc : amount received for fixed-interest securities -OpenOffice.org Calc : ampersand symbol, see also operators -OpenOffice.org Calc : analysis functions -OpenOffice.org Calc : anchors -OpenOffice.org Calc : anchors;changing -OpenOffice.org Calc : anchors;displaying (Calc) -OpenOffice.org Calc : anchors;types/positions for draw objects -OpenOffice.org Calc : AND function -OpenOffice.org Calc : animations -OpenOffice.org Calc : animations;accessibility options -OpenOffice.org Calc : annual net interest rates -OpenOffice.org Calc : annual return on treasury bills -OpenOffice.org Calc : annuities -OpenOffice.org Calc : appearance options -OpenOffice.org Calc : appending sheets -OpenOffice.org Calc : applet insertion -OpenOffice.org Calc : applying -OpenOffice.org Calc : applying;advanced filters -OpenOffice.org Calc : applying;automatic formatting -OpenOffice.org Calc : applying;cell formats -OpenOffice.org Calc : applying;formatting themes -OpenOffice.org Calc : applying;languages, to selected text -OpenOffice.org Calc : applying;sort lists -OpenOffice.org Calc : Arabic -OpenOffice.org Calc : Arabic;entering text -OpenOffice.org Calc : Arabic;language settings -OpenOffice.org Calc : ARABIC function -OpenOffice.org Calc : area charts -OpenOffice.org Calc : areas -OpenOffice.org Calc : areas;bitmap patterns -OpenOffice.org Calc : areas;hatched/dotted -OpenOffice.org Calc : areas;shadows -OpenOffice.org Calc : areas;slanting -OpenOffice.org Calc : areas;styles -OpenOffice.org Calc : areas;transparency -OpenOffice.org Calc : AREAS function -OpenOffice.org Calc : areas, see also cell ranges -OpenOffice.org Calc : arguments in command line -OpenOffice.org Calc : arithmetic declining depreciations -OpenOffice.org Calc : arithmetic lists -OpenOffice.org Calc : arithmetic-degressive depreciations -OpenOffice.org Calc : arithmetical operators -OpenOffice.org Calc : arranging -OpenOffice.org Calc : arranging;objects -OpenOffice.org Calc : array formulas -OpenOffice.org Calc : arrows -OpenOffice.org Calc : arrows;defining arrow heads -OpenOffice.org Calc : arrows;defining arrow lines -OpenOffice.org Calc : arrows;drawing in text -OpenOffice.org Calc : ASC function -OpenOffice.org Calc : ASCII -OpenOffice.org Calc : ASCII;definition -OpenOffice.org Calc : Asian languages -OpenOffice.org Calc : Asian languages;enabling -OpenOffice.org Calc : Asian languages;sorting -OpenOffice.org Calc : Asian Phonetic Guide -OpenOffice.org Calc : Asian typography -OpenOffice.org Calc : ASIN function -OpenOffice.org Calc : ASINH function -OpenOffice.org Calc : assigning scripts -OpenOffice.org Calc : assistive technology in OpenOffice.org -OpenOffice.org Calc : ATAN function -OpenOffice.org Calc : ATAN2 function -OpenOffice.org Calc : ATANH function -OpenOffice.org Calc : attaching toolbars -OpenOffice.org Calc : attachments in e-mails -OpenOffice.org Calc : attributes -OpenOffice.org Calc : attributes;cells -OpenOffice.org Calc : audio -OpenOffice.org Calc : audio;inserting -OpenOffice.org Calc : audio;UNIX -OpenOffice.org Calc : auto filling cells -OpenOffice.org Calc : auto reloading HTML documents -OpenOffice.org Calc : AutoAbstract function for sending text to presentations -OpenOffice.org Calc : AutoCalculate function in sheets -OpenOffice.org Calc : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Calc : AutoComplete function in text and list boxes -OpenOffice.org Calc : AutoCorrect function -OpenOffice.org Calc : AutoCorrect function;cell contents -OpenOffice.org Calc : AutoCorrect function;context menu -OpenOffice.org Calc : AutoCorrect function;options -OpenOffice.org Calc : AutoCorrect function;pictures and frames -OpenOffice.org Calc : AutoCorrect function;quotes -OpenOffice.org Calc : AutoCorrect function;replacement table -OpenOffice.org Calc : AutoCorrect function;smart tags -OpenOffice.org Calc : AutoCorrect function;switching on and off in Calc -OpenOffice.org Calc : AutoCorrect function;URL recognition -OpenOffice.org Calc : AutoFill function -OpenOffice.org Calc : AutoFilter function -OpenOffice.org Calc : AutoFilter function;applying -OpenOffice.org Calc : AutoFilter function;subtotals -OpenOffice.org Calc : AutoFormat function -OpenOffice.org Calc : AutoFormat function;defining and applying formats -OpenOffice.org Calc : AutoFormat function;switching on and off -OpenOffice.org Calc : AutoInput function on/off -OpenOffice.org Calc : automatic addressing in tables -OpenOffice.org Calc : automatic captions (Writer) -OpenOffice.org Calc : automatic control focus -OpenOffice.org Calc : automatic date updates -OpenOffice.org Calc : automatic formatting in spreadsheets -OpenOffice.org Calc : automatic hyperlink formatting -OpenOffice.org Calc : automatic hyphenation in spreadsheets -OpenOffice.org Calc : automatic line breaks -OpenOffice.org Calc : automatic lines/borders in text -OpenOffice.org Calc : automatic saving -OpenOffice.org Calc : AutoPilots, see wizards -OpenOffice.org Calc : AutoShapes feature in Microsoft Office -OpenOffice.org Calc : AVEDEV function -OpenOffice.org Calc : AVERAGE function -OpenOffice.org Calc : AVERAGEA function -OpenOffice.org Calc : averages -OpenOffice.org Calc : averages;in Calc databases -OpenOffice.org Calc : averages;statistical functions -OpenOffice.org Calc : averages in charts -OpenOffice.org Calc : axes -OpenOffice.org Calc : axes;better scaling -OpenOffice.org Calc : axes;formatting -OpenOffice.org Calc : axes;formatting grids -OpenOffice.org Calc : axes;inserting grids -OpenOffice.org Calc : axes;interval marks -OpenOffice.org Calc : axes;showing axes in charts -OpenOffice.org Calc : axes in charts -OpenOffice.org Calc : B function -OpenOffice.org Calc : backgrounds -OpenOffice.org Calc : backgrounds;cells and pages -OpenOffice.org Calc : backgrounds;defining colors/pictures -OpenOffice.org Calc : backgrounds;frames/sections/indexes -OpenOffice.org Calc : backgrounds;inserting from Gallery -OpenOffice.org Calc : backgrounds;printing -OpenOffice.org Calc : backing window -OpenOffice.org Calc : backups -OpenOffice.org Calc : backups;automatic -OpenOffice.org Calc : backups;documents -OpenOffice.org Calc : BAHTTEXT function -OpenOffice.org Calc : bar charts -OpenOffice.org Calc : BASE function -OpenOffice.org Calc : base-10 logarithm -OpenOffice.org Calc : Basic -OpenOffice.org Calc : Basic;fonts for source display -OpenOffice.org Calc : Basic;programming -OpenOffice.org Calc : Basic;recording macros -OpenOffice.org Calc : Basic;scripting -OpenOffice.org Calc : basic fonts -OpenOffice.org Calc : Basic IDE for user-defined functions -OpenOffice.org Calc : BeanShell scripting -OpenOffice.org Calc : Bessel functions -OpenOffice.org Calc : BETADIST function -OpenOffice.org Calc : BETAINV function -OpenOffice.org Calc : Bézier curves -OpenOffice.org Calc : Bézier curves;control points in presentations -OpenOffice.org Calc : bi-directional writing -OpenOffice.org Calc : BIN2DEC function -OpenOffice.org Calc : BIN2HEX function -OpenOffice.org Calc : BIN2OCT function -OpenOffice.org Calc : binary system -OpenOffice.org Calc : binary system;converting to -OpenOffice.org Calc : binding space -OpenOffice.org Calc : BINOMDIST function -OpenOffice.org Calc : bitmaps -OpenOffice.org Calc : bitmaps;inserting and editing -OpenOffice.org Calc : bitmaps;off for faster printing -OpenOffice.org Calc : bitmaps;patterns -OpenOffice.org Calc : black and white printing -OpenOffice.org Calc : black printing in Calc -OpenOffice.org Calc : blank cell contents -OpenOffice.org Calc : block selection mode -OpenOffice.org Calc : bold -OpenOffice.org Calc : bold;AutoFormat function -OpenOffice.org Calc : bold;text -OpenOffice.org Calc : bookmarks -OpenOffice.org Calc : bookmarks;Help -OpenOffice.org Calc : borders -OpenOffice.org Calc : borders;arranging -OpenOffice.org Calc : borders;cells -OpenOffice.org Calc : borders;cells and pages -OpenOffice.org Calc : borders;cells on screen (Calc) -OpenOffice.org Calc : borders;for paragraphs -OpenOffice.org Calc : borders;for tables -OpenOffice.org Calc : borders;printing cells -OpenOffice.org Calc : borders;shadows -OpenOffice.org Calc : borders;table boundaries (Writer) -OpenOffice.org Calc : borders, see also frames -OpenOffice.org Calc : bound fields -OpenOffice.org Calc : bound fields;controls -OpenOffice.org Calc : boundaries of tables (Writer) -OpenOffice.org Calc : break display (Writer) -OpenOffice.org Calc : breaks in cells -OpenOffice.org Calc : brochures -OpenOffice.org Calc : brochures;printing several -OpenOffice.org Calc : build numbers of OpenOffice.org -OpenOffice.org Calc : bullet lists -OpenOffice.org Calc : bullet lists;formatting options -OpenOffice.org Calc : bullets -OpenOffice.org Calc : bullets;paragraphs -OpenOffice.org Calc : bullets;replacing -OpenOffice.org Calc : bullets;turning off -OpenOffice.org Calc : business cards -OpenOffice.org Calc : business cards;creating and synchronizing -OpenOffice.org Calc : business cards;using templates -OpenOffice.org Calc : button bars, see toolbars -OpenOffice.org Calc : buttons -OpenOffice.org Calc : buttons;adding push buttons -OpenOffice.org Calc : buttons;big/small -OpenOffice.org Calc : buttons;editing hyperlink buttons -OpenOffice.org Calc : buttons;form functions -OpenOffice.org Calc : buttons;toolbars -OpenOffice.org Calc : cache for graphics -OpenOffice.org Calc : calculating -OpenOffice.org Calc : calculating;accumulated interests -OpenOffice.org Calc : calculating;annual net interest rates -OpenOffice.org Calc : calculating;annuities -OpenOffice.org Calc : calculating;arithmetic-degressive depreciations -OpenOffice.org Calc : calculating;auto calculating sheets -OpenOffice.org Calc : calculating;averages in Calc databases -OpenOffice.org Calc : calculating;conditional calculations -OpenOffice.org Calc : calculating;constant interest rates -OpenOffice.org Calc : calculating;Data Pilot -OpenOffice.org Calc : calculating;depreciations -OpenOffice.org Calc : calculating;durations -OpenOffice.org Calc : calculating;future values -OpenOffice.org Calc : calculating;geometric-degressive depreciations -OpenOffice.org Calc : calculating;interests for unchanged amortization installments -OpenOffice.org Calc : calculating;internal rates of return, irregular payments -OpenOffice.org Calc : calculating;internal rates of return, regular payments -OpenOffice.org Calc : calculating;iterative references (Calc) -OpenOffice.org Calc : calculating;linear depreciations -OpenOffice.org Calc : calculating;modified internal rates of return -OpenOffice.org Calc : calculating;net present values -OpenOffice.org Calc : calculating;nominal interest rates -OpenOffice.org Calc : calculating;number of payment periods -OpenOffice.org Calc : calculating;present values -OpenOffice.org Calc : calculating;rates of return -OpenOffice.org Calc : calculating;regression curves -OpenOffice.org Calc : calculating;rounded off values -OpenOffice.org Calc : calculating;series -OpenOffice.org Calc : calculating;spreadsheets -OpenOffice.org Calc : calculating;sums in Calc databases -OpenOffice.org Calc : calculating;time differences -OpenOffice.org Calc : calculating;total amortizement rates -OpenOffice.org Calc : calculating;variable declining depreciations -OpenOffice.org Calc : calculating;variables in equations -OpenOffice.org Calc : calculating;with formulas -OpenOffice.org Calc : callouts -OpenOffice.org Calc : callouts;drawings -OpenOffice.org Calc : capital letters -OpenOffice.org Calc : capital letters;AutoCorrect function -OpenOffice.org Calc : capital letters;AutoInput function -OpenOffice.org Calc : capital letters;AutoInput function (in cells) -OpenOffice.org Calc : capital letters;font effects -OpenOffice.org Calc : captions -OpenOffice.org Calc : captions;automatic captions (Writer) -OpenOffice.org Calc : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Calc : captions, see also labels/callouts -OpenOffice.org Calc : cascading update (Base) -OpenOffice.org Calc : case sensitivity -OpenOffice.org Calc : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Calc : case sensitivity;searching -OpenOffice.org Calc : categories of functions -OpenOffice.org Calc : CEILING function -OpenOffice.org Calc : cell attributes -OpenOffice.org Calc : cell contents -OpenOffice.org Calc : cell contents;AutoCalculate function -OpenOffice.org Calc : cell contents;deleting -OpenOffice.org Calc : cell contents;no text -OpenOffice.org Calc : cell contents;numbers -OpenOffice.org Calc : cell contents;recalculating -OpenOffice.org Calc : cell contents;searching in Calc databases -OpenOffice.org Calc : cell contents;testing for references -OpenOffice.org Calc : cell contents;text -OpenOffice.org Calc : cell formats -OpenOffice.org Calc : cell formats;assigning by formulas -OpenOffice.org Calc : cell formats;conditional -OpenOffice.org Calc : cell formats;text/numbers -OpenOffice.org Calc : CELL function -OpenOffice.org Calc : cell heights -OpenOffice.org Calc : cell information -OpenOffice.org Calc : cell input -OpenOffice.org Calc : cell input;AutoInput function -OpenOffice.org Calc : cell links search -OpenOffice.org Calc : cell merges -OpenOffice.org Calc : cell names -OpenOffice.org Calc : cell names;defining/addressing -OpenOffice.org Calc : cell protection -OpenOffice.org Calc : cell protection;enabling -OpenOffice.org Calc : cell protection;unprotecting -OpenOffice.org Calc : cell ranges -OpenOffice.org Calc : cell ranges;combining -OpenOffice.org Calc : cell ranges;creating names automatically -OpenOffice.org Calc : cell ranges;defining names -OpenOffice.org Calc : cell ranges;filtering -OpenOffice.org Calc : cell ranges;inserting named ranges -OpenOffice.org Calc : cell ranges;printing -OpenOffice.org Calc : cell ranges;selecting for data entries -OpenOffice.org Calc : cell references -OpenOffice.org Calc : cell references;showing -OpenOffice.org Calc : cell styles -OpenOffice.org Calc : cell styles;assigning by formulas -OpenOffice.org Calc : cell styles;copying -OpenOffice.org Calc : cell styles;selecting -OpenOffice.org Calc : cell widths -OpenOffice.org Calc : cells -OpenOffice.org Calc : cells;aligning -OpenOffice.org Calc : cells;AutoInput function of text -OpenOffice.org Calc : cells;autorefreshing traces -OpenOffice.org Calc : cells;backgrounds -OpenOffice.org Calc : cells;borders -OpenOffice.org Calc : cells;changing text/number formats -OpenOffice.org Calc : cells;coloring (Calc) -OpenOffice.org Calc : cells;conditional formatting -OpenOffice.org Calc : cells;copying/deleting/formatting/moving -OpenOffice.org Calc : cells;currency formats -OpenOffice.org Calc : cells;cursor positions after input (Calc) -OpenOffice.org Calc : cells;date and time formats -OpenOffice.org Calc : cells;defining input help -OpenOffice.org Calc : cells;defining names -OpenOffice.org Calc : cells;deleting cells -OpenOffice.org Calc : cells;deleting contents -OpenOffice.org Calc : cells;filling automatically -OpenOffice.org Calc : cells;formatting dialog -OpenOffice.org Calc : cells;formatting without effect (Calc) -OpenOffice.org Calc : cells;heights and widths -OpenOffice.org Calc : cells;hiding for printing -OpenOffice.org Calc : cells;inserting -OpenOffice.org Calc : cells;Internet references -OpenOffice.org Calc : cells;invalid data -OpenOffice.org Calc : cells;line breaks -OpenOffice.org Calc : cells;linked to controls -OpenOffice.org Calc : cells;merging/unmerging -OpenOffice.org Calc : cells;moving by drag and drop -OpenOffice.org Calc : cells;notes -OpenOffice.org Calc : cells;number formats -OpenOffice.org Calc : cells;number of -OpenOffice.org Calc : cells;operating in another document -OpenOffice.org Calc : cells;pasting -OpenOffice.org Calc : cells;print ranges -OpenOffice.org Calc : cells;printing grids -OpenOffice.org Calc : cells;protecting -OpenOffice.org Calc : cells;references -OpenOffice.org Calc : cells;referencing by drag and drop -OpenOffice.org Calc : cells;refreshing traces -OpenOffice.org Calc : cells;removing dependents -OpenOffice.org Calc : cells;removing precedents -OpenOffice.org Calc : cells;removing traces -OpenOffice.org Calc : cells;resetting formats -OpenOffice.org Calc : cells;rotating text -OpenOffice.org Calc : cells;selecting -OpenOffice.org Calc : cells;showing grid lines (Calc) -OpenOffice.org Calc : cells;text breaks -OpenOffice.org Calc : cells;text super/sub -OpenOffice.org Calc : cells;trace fill mode -OpenOffice.org Calc : cells;tracing dependents -OpenOffice.org Calc : cells;tracing errors -OpenOffice.org Calc : cells;tracing precedents -OpenOffice.org Calc : cells;validity -OpenOffice.org Calc : centered text -OpenOffice.org Calc : centimeters -OpenOffice.org Calc : certificates -OpenOffice.org Calc : Change Case feature in Microsoft Office -OpenOffice.org Calc : changes -OpenOffice.org Calc : changes;accepting or rejecting -OpenOffice.org Calc : changes;comparing to original -OpenOffice.org Calc : changes;protecting -OpenOffice.org Calc : changes;recording -OpenOffice.org Calc : changes;review function -OpenOffice.org Calc : changes;showing -OpenOffice.org Calc : changing -OpenOffice.org Calc : changing;currency formats -OpenOffice.org Calc : changing;data binding of XForms -OpenOffice.org Calc : changing;dates, automatically -OpenOffice.org Calc : changing;default templates -OpenOffice.org Calc : changing;document titles -OpenOffice.org Calc : changing;file associations in Setup program -OpenOffice.org Calc : changing;hyperlink text/formats/URLs -OpenOffice.org Calc : changing;icon sizes -OpenOffice.org Calc : changing;input in cells -OpenOffice.org Calc : changing;keyboard -OpenOffice.org Calc : changing;links -OpenOffice.org Calc : changing;menus -OpenOffice.org Calc : changing;number of decimal places -OpenOffice.org Calc : changing;object sizes -OpenOffice.org Calc : changing;row heights/column widths -OpenOffice.org Calc : changing;sheet names -OpenOffice.org Calc : changing;sheet protection -OpenOffice.org Calc : changing;table views -OpenOffice.org Calc : changing;toolbars -OpenOffice.org Calc : changing;work directory -OpenOffice.org Calc : changing, see also editing and replacing -OpenOffice.org Calc : CHAR function -OpenOffice.org Calc : character styles -OpenOffice.org Calc : character styles;language selection -OpenOffice.org Calc : characters -OpenOffice.org Calc : characters;alternative fonts -OpenOffice.org Calc : characters;Asian layout -OpenOffice.org Calc : characters;bold -OpenOffice.org Calc : characters;coloring -OpenOffice.org Calc : characters;contours -OpenOffice.org Calc : characters;displaying only on screen (Writer) -OpenOffice.org Calc : characters;enabling CTL and Asian characters -OpenOffice.org Calc : characters;font effects -OpenOffice.org Calc : characters;fonts and formats -OpenOffice.org Calc : characters;hyperlinks -OpenOffice.org Calc : characters;italics -OpenOffice.org Calc : characters;language selection -OpenOffice.org Calc : characters;shadowed -OpenOffice.org Calc : characters;spacing -OpenOffice.org Calc : characters;special -OpenOffice.org Calc : characters;superscript/subscript -OpenOffice.org Calc : characters;underlining -OpenOffice.org Calc : charcoal sketches filter -OpenOffice.org Calc : chart legends -OpenOffice.org Calc : chart legends;hiding -OpenOffice.org Calc : chart legends;showing icons with labels -OpenOffice.org Calc : chart types -OpenOffice.org Calc : chart types;area -OpenOffice.org Calc : chart types;column and bar -OpenOffice.org Calc : chart types;column and line -OpenOffice.org Calc : chart types;line -OpenOffice.org Calc : chart types;net -OpenOffice.org Calc : chart types;pie/donut -OpenOffice.org Calc : chart types;stock -OpenOffice.org Calc : chart types;XY (scatter) -OpenOffice.org Calc : charts -OpenOffice.org Calc : charts;3D views -OpenOffice.org Calc : charts;aligning -OpenOffice.org Calc : charts;arranging within stacks -OpenOffice.org Calc : charts;bars with textures -OpenOffice.org Calc : charts;choosing chart types -OpenOffice.org Calc : charts;colors -OpenOffice.org Calc : charts;copying with link to source cell range -OpenOffice.org Calc : charts;data labels -OpenOffice.org Calc : charts;displaying (Calc) -OpenOffice.org Calc : charts;editing axes -OpenOffice.org Calc : charts;editing data -OpenOffice.org Calc : charts;editing legends -OpenOffice.org Calc : charts;editing titles -OpenOffice.org Calc : charts;formatting areas -OpenOffice.org Calc : charts;formatting floors -OpenOffice.org Calc : charts;formatting walls -OpenOffice.org Calc : charts;inserting -OpenOffice.org Calc : charts;overview -OpenOffice.org Calc : charts;printing -OpenOffice.org Calc : charts;properties -OpenOffice.org Calc : charts;reorganizing -OpenOffice.org Calc : charts;scaling axes -OpenOffice.org Calc : charts;scaling text -OpenOffice.org Calc : charts;shortcuts -OpenOffice.org Calc : charts;showing axes -OpenOffice.org Calc : charts;updating automatically (Writer) -OpenOffice.org Calc : check box creation -OpenOffice.org Calc : CHIDIST function -OpenOffice.org Calc : CHIINV function -OpenOffice.org Calc : Chinese writing systems -OpenOffice.org Calc : CHITEST function -OpenOffice.org Calc : CHOOSE function -OpenOffice.org Calc : choosing printers -OpenOffice.org Calc : circle drawings -OpenOffice.org Calc : CLEAN function -OpenOffice.org Calc : clearing, see deleting -OpenOffice.org Calc : Client Side ImageMap -OpenOffice.org Calc : clipboard -OpenOffice.org Calc : clipboard;cutting -OpenOffice.org Calc : clipboard;pasting -OpenOffice.org Calc : clipboard;pasting formatted/unformatted text -OpenOffice.org Calc : clipboard;selection clipboard -OpenOffice.org Calc : clipboard;Unix -OpenOffice.org Calc : closing -OpenOffice.org Calc : closing;documents -OpenOffice.org Calc : closing;toolbars -OpenOffice.org Calc : CODE function -OpenOffice.org Calc : coefficient of correlation -OpenOffice.org Calc : color bar -OpenOffice.org Calc : colors -OpenOffice.org Calc : colors;adding -OpenOffice.org Calc : colors;appearance -OpenOffice.org Calc : colors;backgrounds -OpenOffice.org Calc : colors;charts -OpenOffice.org Calc : colors;fill format -OpenOffice.org Calc : colors;fonts -OpenOffice.org Calc : colors;grid lines and cells (Calc) -OpenOffice.org Calc : colors;models -OpenOffice.org Calc : colors;not printing -OpenOffice.org Calc : colors;number formats -OpenOffice.org Calc : colors;printing in grayscale -OpenOffice.org Calc : colors;restriction (Calc) -OpenOffice.org Calc : colors;selection -OpenOffice.org Calc : column and line charts -OpenOffice.org Calc : column breaks -OpenOffice.org Calc : column breaks;deleting -OpenOffice.org Calc : column breaks;inserting -OpenOffice.org Calc : column charts -OpenOffice.org Calc : COLUMN function -OpenOffice.org Calc : column headers -OpenOffice.org Calc : column headers;displaying (Calc) -OpenOffice.org Calc : column headers;hiding -OpenOffice.org Calc : column headers;highlighting (Calc) -OpenOffice.org Calc : column headers;using in formulas -OpenOffice.org Calc : column widths -OpenOffice.org Calc : columns -OpenOffice.org Calc : columns;AutoFilter function -OpenOffice.org Calc : columns;deleting -OpenOffice.org Calc : columns;finding labels automatically -OpenOffice.org Calc : columns;freezing -OpenOffice.org Calc : columns;hiding -OpenOffice.org Calc : columns;inserting -OpenOffice.org Calc : columns;optimal widths -OpenOffice.org Calc : columns;repeating when printing -OpenOffice.org Calc : columns;setting with the mouse -OpenOffice.org Calc : columns;swap with rows -OpenOffice.org Calc : columns;widths -OpenOffice.org Calc : COLUMNS function -OpenOffice.org Calc : COMBIN function -OpenOffice.org Calc : COMBINA function -OpenOffice.org Calc : combination charts -OpenOffice.org Calc : combining -OpenOffice.org Calc : combining;cell ranges -OpenOffice.org Calc : combo box creation -OpenOffice.org Calc : comma separated files and values -OpenOffice.org Calc : command button creation -OpenOffice.org Calc : command buttons, see push buttons -OpenOffice.org Calc : command line parameters -OpenOffice.org Calc : commands -OpenOffice.org Calc : commands;not visible -OpenOffice.org Calc : commands;SQL -OpenOffice.org Calc : comments -OpenOffice.org Calc : comments;on cells -OpenOffice.org Calc : comments;on changes -OpenOffice.org Calc : comments feature in Microsoft Office -OpenOffice.org Calc : common terms -OpenOffice.org Calc : common terms;Chinese dictionary -OpenOffice.org Calc : common terms;glossaries -OpenOffice.org Calc : common terms;Internet glossary -OpenOffice.org Calc : Compare and Merge feature in Microsoft Office -OpenOffice.org Calc : comparisons -OpenOffice.org Calc : comparisons;document versions -OpenOffice.org Calc : comparisons;operators in Calc -OpenOffice.org Calc : comparisons;operators in default filter dialog -OpenOffice.org Calc : compatibility settings for MS Word import -OpenOffice.org Calc : complete screen view -OpenOffice.org Calc : COMPLEX function -OpenOffice.org Calc : complex numbers in analysis functions -OpenOffice.org Calc : complex text layout -OpenOffice.org Calc : complex text layout;definition -OpenOffice.org Calc : complex text layout;enabling -OpenOffice.org Calc : compose key to insert special characters -OpenOffice.org Calc : CONCATENATE function -OpenOffice.org Calc : concatenation, see ampersand symbol -OpenOffice.org Calc : conditional calculations with arrays -OpenOffice.org Calc : conditional formatting -OpenOffice.org Calc : conditional formatting;cells -OpenOffice.org Calc : conditional formatting;conditions -OpenOffice.org Calc : conditional separators -OpenOffice.org Calc : conditions -OpenOffice.org Calc : conditions;in number formats -OpenOffice.org Calc : conditions;items in Data Navigator -OpenOffice.org Calc : CONFIDENCE function -OpenOffice.org Calc : Configuration Manager -OpenOffice.org Calc : configuring -OpenOffice.org Calc : configuring;fax icon -OpenOffice.org Calc : configuring;OpenOffice.org -OpenOffice.org Calc : configuring;toolbars -OpenOffice.org Calc : connections to data sources (Base) -OpenOffice.org Calc : consolidating data -OpenOffice.org Calc : constant interest rates -OpenOffice.org Calc : constants definition -OpenOffice.org Calc : contents protection -OpenOffice.org Calc : context menus -OpenOffice.org Calc : contours of text -OpenOffice.org Calc : control point display in presentations -OpenOffice.org Calc : controls -OpenOffice.org Calc : controls;activating in forms -OpenOffice.org Calc : controls;adding to documents -OpenOffice.org Calc : controls;arranging in forms -OpenOffice.org Calc : controls;arranging within stacks -OpenOffice.org Calc : controls;assigning data sources -OpenOffice.org Calc : controls;bound fields/list contents/linked cells -OpenOffice.org Calc : controls;events -OpenOffice.org Calc : controls;focus -OpenOffice.org Calc : controls;formatted fields -OpenOffice.org Calc : controls;grouping -OpenOffice.org Calc : controls;hidden -OpenOffice.org Calc : controls;inserting -OpenOffice.org Calc : controls;multi-line titles -OpenOffice.org Calc : controls;positions and sizes -OpenOffice.org Calc : controls;printing -OpenOffice.org Calc : controls;properties of form controls -OpenOffice.org Calc : controls;properties of table controls -OpenOffice.org Calc : controls;reference by SQL -OpenOffice.org Calc : controls;rich text control -OpenOffice.org Calc : controls;select mode -OpenOffice.org Calc : controls;showing (Writer) -OpenOffice.org Calc : CONVERT function -OpenOffice.org Calc : CONVERT_ADD function -OpenOffice.org Calc : converters -OpenOffice.org Calc : converters;Euro converter -OpenOffice.org Calc : converters;PostScript, UNIX -OpenOffice.org Calc : converters;XML -OpenOffice.org Calc : converting -OpenOffice.org Calc : converting;binary numbers, into decimal numbers -OpenOffice.org Calc : converting;binary numbers, into hexadecimal numbers -OpenOffice.org Calc : converting;binary numbers, into octal numbers -OpenOffice.org Calc : converting;decimal fractions, into decimal numbers -OpenOffice.org Calc : converting;decimal fractions, into mixed decimal fractions -OpenOffice.org Calc : converting;decimal numbers, into binary numbers -OpenOffice.org Calc : converting;decimal numbers, into hexadecimal numbers -OpenOffice.org Calc : converting;decimal numbers, into octal numbers -OpenOffice.org Calc : converting;degrees, into radians -OpenOffice.org Calc : converting;Hangul/Hanja -OpenOffice.org Calc : converting;hexadecimal numbers, into binary numbers -OpenOffice.org Calc : converting;hexadecimal numbers, into decimal numbers -OpenOffice.org Calc : converting;hexadecimal numbers, into octal numbers -OpenOffice.org Calc : converting;metrics -OpenOffice.org Calc : converting;Microsoft documents -OpenOffice.org Calc : converting;octal numbers, into binary numbers -OpenOffice.org Calc : converting;octal numbers, into decimal numbers -OpenOffice.org Calc : converting;octal numbers, into hexadecimal numbers -OpenOffice.org Calc : converting;OpenOffice.org documents -OpenOffice.org Calc : converting;Pocket PC formats -OpenOffice.org Calc : converting;radians, into degrees -OpenOffice.org Calc : converting;random variables, into normalized values -OpenOffice.org Calc : copies -OpenOffice.org Calc : copies;printing -OpenOffice.org Calc : copying -OpenOffice.org Calc : copying;array formulas -OpenOffice.org Calc : copying;by drag and drop -OpenOffice.org Calc : copying;cell styles -OpenOffice.org Calc : copying;data from text documents -OpenOffice.org Calc : copying;datasource records in spreadsheets -OpenOffice.org Calc : copying;draw objects -OpenOffice.org Calc : copying;draw objects between documents -OpenOffice.org Calc : copying;formatting -OpenOffice.org Calc : copying;formulas -OpenOffice.org Calc : copying;from data source view -OpenOffice.org Calc : copying;from Gallery -OpenOffice.org Calc : copying;in Unix -OpenOffice.org Calc : copying;pictures, between documents -OpenOffice.org Calc : copying;sheet areas, to text documents -OpenOffice.org Calc : copying;spreadsheets -OpenOffice.org Calc : copying;to Gallery -OpenOffice.org Calc : copying;values, to multiple sheets -OpenOffice.org Calc : copying;visible cells only -OpenOffice.org Calc : copyright for OpenOffice.org -OpenOffice.org Calc : corner roundings -OpenOffice.org Calc : correcting sheets automatically -OpenOffice.org Calc : CORREL function -OpenOffice.org Calc : COS function -OpenOffice.org Calc : COSH function -OpenOffice.org Calc : COT function -OpenOffice.org Calc : COTH function -OpenOffice.org Calc : COUNT function -OpenOffice.org Calc : COUNTA function -OpenOffice.org Calc : COUNTBLANK function -OpenOffice.org Calc : COUNTIF function -OpenOffice.org Calc : counting -OpenOffice.org Calc : counting;empty cells -OpenOffice.org Calc : counting;specified cells -OpenOffice.org Calc : counting rows -OpenOffice.org Calc : counting rows;with numeric or alphanumeric values -OpenOffice.org Calc : counting rows;with numeric values -OpenOffice.org Calc : COUPDAYBS function -OpenOffice.org Calc : COUPDAYS function -OpenOffice.org Calc : COUPDAYSNC function -OpenOffice.org Calc : COUPNCD function -OpenOffice.org Calc : COUPNUM function -OpenOffice.org Calc : COUPPCD function -OpenOffice.org Calc : COVAR function -OpenOffice.org Calc : crash reports -OpenOffice.org Calc : CRITBINOM function -OpenOffice.org Calc : criteria of query design (Base) -OpenOffice.org Calc : cropping pictures -OpenOffice.org Calc : cross-classified tables -OpenOffice.org Calc : csv files -OpenOffice.org Calc : csv files;importing and exporting -OpenOffice.org Calc : csv files;spreadsheets -OpenOffice.org Calc : CTL -OpenOffice.org Calc : CTL;complex text layout languages -OpenOffice.org Calc : CTL;definition -OpenOffice.org Calc : CTL;options -OpenOffice.org Calc : CTL;right-to-left sheets -OpenOffice.org Calc : CUMIPMT function -OpenOffice.org Calc : CUMIPMT_ADD function -OpenOffice.org Calc : CUMPRINC function -OpenOffice.org Calc : CUMPRINC_ADD function -OpenOffice.org Calc : cumulative lognormal distribution -OpenOffice.org Calc : cumulative probability density function -OpenOffice.org Calc : cumulative probability density function;calculating -OpenOffice.org Calc : cumulative probability density function;inverse of -OpenOffice.org Calc : currencies -OpenOffice.org Calc : currencies;converters -OpenOffice.org Calc : currencies;default currencies -OpenOffice.org Calc : currencies;formats and format codes -OpenOffice.org Calc : currency field creation -OpenOffice.org Calc : currency formats -OpenOffice.org Calc : currency formats -OpenOffice.org Calc : currency formats;spreadsheets -OpenOffice.org Calc : current date and time values -OpenOffice.org Calc : CURRENT function -OpenOffice.org Calc : cursor -OpenOffice.org Calc : cursor;allowing in protected areas (Writer) -OpenOffice.org Calc : cursor;in read-only text -OpenOffice.org Calc : cursor;quickly moving to an object -OpenOffice.org Calc : curves -OpenOffice.org Calc : curves;editing points -OpenOffice.org Calc : curves;properties in line charts/XY charts -OpenOffice.org Calc : custom dictionaries -OpenOffice.org Calc : custom dictionaries;editing -OpenOffice.org Calc : custom hyphens (Writer) -OpenOffice.org Calc : custom quotes -OpenOffice.org Calc : custom templates -OpenOffice.org Calc : customized lists -OpenOffice.org Calc : customizing -OpenOffice.org Calc : customizing;events -OpenOffice.org Calc : customizing;keyboard -OpenOffice.org Calc : customizing;menus -OpenOffice.org Calc : customizing;OpenOffice.org -OpenOffice.org Calc : customizing;round corners -OpenOffice.org Calc : customizing;toolbars -OpenOffice.org Calc : cutting -OpenOffice.org Calc : dashes -OpenOffice.org Calc : data -OpenOffice.org Calc : data;filtering in forms -OpenOffice.org Calc : data;forms and subforms -OpenOffice.org Calc : data;merging cell ranges -OpenOffice.org Calc : data;read-only -OpenOffice.org Calc : data;showing invalid data -OpenOffice.org Calc : data;sorting in databases -OpenOffice.org Calc : data;sorting in forms -OpenOffice.org Calc : data;user data -OpenOffice.org Calc : data;validity check -OpenOffice.org Calc : data binding change in XForms -OpenOffice.org Calc : data field options for Data Pilot -OpenOffice.org Calc : data labels in charts -OpenOffice.org Calc : Data Navigator display options -OpenOffice.org Calc : data ranges in charts -OpenOffice.org Calc : data series -OpenOffice.org Calc : data series import -OpenOffice.org Calc : data source browser -OpenOffice.org Calc : data source explorer -OpenOffice.org Calc : data source view -OpenOffice.org Calc : data source view;drag and drop -OpenOffice.org Calc : data source view;overview -OpenOffice.org Calc : data source view;showing -OpenOffice.org Calc : data sources -OpenOffice.org Calc : data sources;as tables -OpenOffice.org Calc : data sources;connection settings (Base) -OpenOffice.org Calc : data sources;copying records to spreadsheets -OpenOffice.org Calc : data sources;displaying current -OpenOffice.org Calc : data sources;external data -OpenOffice.org Calc : data sources;LDAP server (Base) -OpenOffice.org Calc : data sources;OpenOffice.org Base -OpenOffice.org Calc : data sources;registering address books -OpenOffice.org Calc : data sources;reports -OpenOffice.org Calc : data sources;setting for stock charts -OpenOffice.org Calc : data sources;viewing -OpenOffice.org Calc : data structure of XForms -OpenOffice.org Calc : data tables -OpenOffice.org Calc : data tables;multiple operations in -OpenOffice.org Calc : data validity -OpenOffice.org Calc : data values in charts -OpenOffice.org Calc : database contents -OpenOffice.org Calc : database contents;inserting as tables -OpenOffice.org Calc : database contents;inserting as text -OpenOffice.org Calc : database ranges -OpenOffice.org Calc : database ranges;advanced filters -OpenOffice.org Calc : database ranges;AutoFilter function -OpenOffice.org Calc : database ranges;defining -OpenOffice.org Calc : database ranges;filtering -OpenOffice.org Calc : database ranges;filters -OpenOffice.org Calc : database ranges;hiding AutoFilter -OpenOffice.org Calc : database ranges;refreshing -OpenOffice.org Calc : database ranges;removing filters -OpenOffice.org Calc : database ranges;sorting -OpenOffice.org Calc : database reports -OpenOffice.org Calc : Database Wizard (Base) -OpenOffice.org Calc : databases -OpenOffice.org Calc : databases;administration through SQL (Base) -OpenOffice.org Calc : databases;ADO (Base) -OpenOffice.org Calc : databases;connecting (Base) -OpenOffice.org Calc : databases;creating -OpenOffice.org Calc : databases;creating labels -OpenOffice.org Calc : databases;creating queries -OpenOffice.org Calc : databases;creating reports -OpenOffice.org Calc : databases;creating tables -OpenOffice.org Calc : databases;dBASE (Base) -OpenOffice.org Calc : databases;deleting (Base) -OpenOffice.org Calc : databases;drag and drop (Base) -OpenOffice.org Calc : databases;editing tables -OpenOffice.org Calc : databases;form filters -OpenOffice.org Calc : databases;formats (Base) -OpenOffice.org Calc : databases;functions in OpenOffice.org Calc -OpenOffice.org Calc : databases;importing/exporting -OpenOffice.org Calc : databases;JDBC (Base) -OpenOffice.org Calc : databases;main page (Base) -OpenOffice.org Calc : databases;MySQL (Base) -OpenOffice.org Calc : databases;ODBC (Base) -OpenOffice.org Calc : databases;overview -OpenOffice.org Calc : databases;registering (Base) -OpenOffice.org Calc : databases;searching records -OpenOffice.org Calc : databases;selecting (Calc) -OpenOffice.org Calc : databases;shortcut keys -OpenOffice.org Calc : databases;sorting -OpenOffice.org Calc : databases;standard filters -OpenOffice.org Calc : databases;text formats -OpenOffice.org Calc : databases;viewing -OpenOffice.org Calc : DataPilot function -OpenOffice.org Calc : DataPilot function;calling up and applying -OpenOffice.org Calc : DataPilot function;deleting tables -OpenOffice.org Calc : DataPilot function;editing tables -OpenOffice.org Calc : DataPilot function;filtering tables -OpenOffice.org Calc : DataPilot function;grouping table entries -OpenOffice.org Calc : DataPilot function;introduction -OpenOffice.org Calc : DataPilot function;preventing data overwriting -OpenOffice.org Calc : DataPilot function;refreshing tables -OpenOffice.org Calc : DataPilot tables -OpenOffice.org Calc : date and time functions -OpenOffice.org Calc : date fields -OpenOffice.org Calc : date fields;creating -OpenOffice.org Calc : date fields;properties -OpenOffice.org Calc : date formats -OpenOffice.org Calc : date formats;avoiding conversion to -OpenOffice.org Calc : date formats -OpenOffice.org Calc : DATE function -OpenOffice.org Calc : date series -OpenOffice.org Calc : dates -OpenOffice.org Calc : dates;19xx/20xx -OpenOffice.org Calc : dates;default (Calc) -OpenOffice.org Calc : dates;in cells -OpenOffice.org Calc : dates;interest date prior to settlement date -OpenOffice.org Calc : dates;printing in presentations -OpenOffice.org Calc : dates;start 1900/01/01 (Calc) -OpenOffice.org Calc : dates;start 1904/01/01 (Calc) -OpenOffice.org Calc : dates;updating automatically -OpenOffice.org Calc : DATEVALUE function -OpenOffice.org Calc : DAVERAGE function -OpenOffice.org Calc : DAY function -OpenOffice.org Calc : DAYS function -OpenOffice.org Calc : DAYS360 function -OpenOffice.org Calc : DAYSINMONTH function -OpenOffice.org Calc : DAYSINYEAR function -OpenOffice.org Calc : DB function -OpenOffice.org Calc : dBASE -OpenOffice.org Calc : dBASE;database settings (Base) -OpenOffice.org Calc : dBASE import/export -OpenOffice.org Calc : DCOUNT function -OpenOffice.org Calc : DCOUNTA function -OpenOffice.org Calc : DDB function -OpenOffice.org Calc : DDE -OpenOffice.org Calc : DDE;definition -OpenOffice.org Calc : DDE function -OpenOffice.org Calc : deactivating -OpenOffice.org Calc : deactivating;automatic changes -OpenOffice.org Calc : deactivating;plug-ins -OpenOffice.org Calc : DEC2BIN function -OpenOffice.org Calc : DEC2HEX function -OpenOffice.org Calc : DEC2OCT function -OpenOffice.org Calc : DECIMAL function -OpenOffice.org Calc : decimal places -OpenOffice.org Calc : decimal places;adding/deleting -OpenOffice.org Calc : decimal places;cutting off -OpenOffice.org Calc : decimal places;formatting numbers -OpenOffice.org Calc : decimal places;showing -OpenOffice.org Calc : decimal places displayed (Calc) -OpenOffice.org Calc : decimal separator key -OpenOffice.org Calc : decimal system -OpenOffice.org Calc : decimal system;converting to -OpenOffice.org Calc : decimal tab stops -OpenOffice.org Calc : default directories -OpenOffice.org Calc : default file formats -OpenOffice.org Calc : default filters -OpenOffice.org Calc : default filters;comparison operators -OpenOffice.org Calc : default filters;databases -OpenOffice.org Calc : default printer -OpenOffice.org Calc : default printer;setting up -OpenOffice.org Calc : default printer;UNIX -OpenOffice.org Calc : default templates -OpenOffice.org Calc : default templates;changing -OpenOffice.org Calc : default templates;organizing -OpenOffice.org Calc : defaults -OpenOffice.org Calc : defaults;currency formats -OpenOffice.org Calc : defaults;documents -OpenOffice.org Calc : defaults;file formats -OpenOffice.org Calc : defaults;fonts -OpenOffice.org Calc : defaults;grids (Writer/Calc) -OpenOffice.org Calc : defaults;languages -OpenOffice.org Calc : defaults;number formats -OpenOffice.org Calc : defaults;number formats in spreadsheets -OpenOffice.org Calc : defaults;of saving -OpenOffice.org Calc : defaults;program configuration -OpenOffice.org Calc : defaults;tab stops in text -OpenOffice.org Calc : defaults;views -OpenOffice.org Calc : defining -OpenOffice.org Calc : defining;advanced filters -OpenOffice.org Calc : defining;arrowheads and other line ends -OpenOffice.org Calc : defining;AutoFormat function for tables -OpenOffice.org Calc : defining;colors -OpenOffice.org Calc : defining;database ranges -OpenOffice.org Calc : defining;line styles -OpenOffice.org Calc : defining;names for cell ranges -OpenOffice.org Calc : defining;paragraph borders -OpenOffice.org Calc : defining;printranges -OpenOffice.org Calc : defining;queries (Base) -OpenOffice.org Calc : defining;sort lists -OpenOffice.org Calc : defining;table borders -OpenOffice.org Calc : DEGREES function -OpenOffice.org Calc : deleting -OpenOffice.org Calc : deleting;all direct formatting -OpenOffice.org Calc : deleting;cell contents -OpenOffice.org Calc : deleting;cells -OpenOffice.org Calc : deleting;column breaks -OpenOffice.org Calc : deleting;columns -OpenOffice.org Calc : deleting;databases (Base) -OpenOffice.org Calc : deleting;DataPilot tables -OpenOffice.org Calc : deleting;decimal places -OpenOffice.org Calc : deleting;hyperlinks -OpenOffice.org Calc : deleting;lines in text -OpenOffice.org Calc : deleting;manual row breaks -OpenOffice.org Calc : deleting;models/instances -OpenOffice.org Calc : deleting;namespaces in XForms -OpenOffice.org Calc : deleting;print ranges -OpenOffice.org Calc : deleting;rows -OpenOffice.org Calc : deleting;spreadsheets -OpenOffice.org Calc : deleting;tab stops -OpenOffice.org Calc : deleting;templates -OpenOffice.org Calc : deleting;visible cells only -OpenOffice.org Calc : deleting;XML filters -OpenOffice.org Calc : delimited values and files -OpenOffice.org Calc : DELTA function -OpenOffice.org Calc : density function -OpenOffice.org Calc : depreciations -OpenOffice.org Calc : depreciations;arithmetic declining -OpenOffice.org Calc : depreciations;arithmetic-degressive -OpenOffice.org Calc : depreciations;degressive amortizations -OpenOffice.org Calc : depreciations;geometric-degressive -OpenOffice.org Calc : depreciations;linear -OpenOffice.org Calc : depreciations;linear amortizations -OpenOffice.org Calc : depreciations;variable declining -OpenOffice.org Calc : depth stagger -OpenOffice.org Calc : descriptions for objects -OpenOffice.org Calc : design mode after saving -OpenOffice.org Calc : design view -OpenOffice.org Calc : design view;creating forms -OpenOffice.org Calc : design view;queries/views (Base) -OpenOffice.org Calc : designing -OpenOffice.org Calc : designing;database tables -OpenOffice.org Calc : designing;fonts -OpenOffice.org Calc : designing;queries (Base) -OpenOffice.org Calc : detaching toolbars -OpenOffice.org Calc : determinants -OpenOffice.org Calc : determination coefficients -OpenOffice.org Calc : DEVSQ function -OpenOffice.org Calc : DGET function -OpenOffice.org Calc : dictionaries -OpenOffice.org Calc : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Calc : dictionaries;creating -OpenOffice.org Calc : dictionaries;editing user-defined -OpenOffice.org Calc : dictionaries;spellcheck -OpenOffice.org Calc : dictionaries, see also languages -OpenOffice.org Calc : digital signatures -OpenOffice.org Calc : direct formatting -OpenOffice.org Calc : direct formatting;undoing all -OpenOffice.org Calc : directories -OpenOffice.org Calc : directories;creating new -OpenOffice.org Calc : directories;directory structure -OpenOffice.org Calc : disabled persons -OpenOffice.org Calc : DISC function -OpenOffice.org Calc : discounts -OpenOffice.org Calc : display options in Data Pilot -OpenOffice.org Calc : displaying -OpenOffice.org Calc : displaying;formulas at any position -OpenOffice.org Calc : displaying;formulas instead of results -OpenOffice.org Calc : displaying;headers of columns/rows -OpenOffice.org Calc : displaying;non-printing characters (Writer) -OpenOffice.org Calc : displaying;notes (Calc) -OpenOffice.org Calc : displaying;notes in text documents -OpenOffice.org Calc : displaying;pictures and objects (Writer) -OpenOffice.org Calc : displaying;scenario names -OpenOffice.org Calc : displaying;sheets -OpenOffice.org Calc : displaying;tables (Writer) -OpenOffice.org Calc : displaying;zero values (Calc) -OpenOffice.org Calc : distances -OpenOffice.org Calc : distinct values in SQL queries -OpenOffice.org Calc : distorting in drawings -OpenOffice.org Calc : distributing XML filters -OpenOffice.org Calc : dithering -OpenOffice.org Calc : division sign, see also operators -OpenOffice.org Calc : divisions -OpenOffice.org Calc : DMAX function -OpenOffice.org Calc : DMIN function -OpenOffice.org Calc : docking -OpenOffice.org Calc : docking;definition -OpenOffice.org Calc : docking;toolbars -OpenOffice.org Calc : docking;windows -OpenOffice.org Calc : Document Converter Wizard -OpenOffice.org Calc : Document Map feature in Microsoft Office -OpenOffice.org Calc : Document Map, see Navigator -OpenOffice.org Calc : document types in OpenOffice.org -OpenOffice.org Calc : documents -OpenOffice.org Calc : documents;changing titles -OpenOffice.org Calc : documents;closing -OpenOffice.org Calc : documents;comparing -OpenOffice.org Calc : documents;contents as lists -OpenOffice.org Calc : documents;editing time -OpenOffice.org Calc : documents;exporting -OpenOffice.org Calc : documents;importing -OpenOffice.org Calc : documents;languages -OpenOffice.org Calc : documents;measurement units in -OpenOffice.org Calc : documents;merging -OpenOffice.org Calc : documents;number of pages/tables/sheets -OpenOffice.org Calc : documents;opening -OpenOffice.org Calc : documents;opening in design mode -OpenOffice.org Calc : documents;opening with templates -OpenOffice.org Calc : documents;organizing -OpenOffice.org Calc : documents;printing -OpenOffice.org Calc : documents;protecting -OpenOffice.org Calc : documents;read-only -OpenOffice.org Calc : documents;reloading -OpenOffice.org Calc : documents;saving -OpenOffice.org Calc : documents;saving automatically -OpenOffice.org Calc : documents;saving in other formats -OpenOffice.org Calc : documents;sending as e-mail -OpenOffice.org Calc : documents;styles changed -OpenOffice.org Calc : documents;version management -OpenOffice.org Calc : documents;version numbers -OpenOffice.org Calc : DOLLAR function -OpenOffice.org Calc : DOLLARDE function -OpenOffice.org Calc : DOLLARFR function -OpenOffice.org Calc : donut charts -OpenOffice.org Calc : dot products -OpenOffice.org Calc : dotted areas -OpenOffice.org Calc : double-line spacing in paragraphs -OpenOffice.org Calc : double-line writing in Asian layout -OpenOffice.org Calc : DPRODUCT function -OpenOffice.org Calc : drag and drop -OpenOffice.org Calc : drag and drop;copying and pasting text -OpenOffice.org Calc : drag and drop;data source view -OpenOffice.org Calc : drag and drop;from Gallery to draw objects -OpenOffice.org Calc : drag and drop;moving cells -OpenOffice.org Calc : drag and drop;overview -OpenOffice.org Calc : drag and drop;pictures -OpenOffice.org Calc : drag and drop;referencing cells -OpenOffice.org Calc : drag and drop;to Gallery -OpenOffice.org Calc : draw objects -OpenOffice.org Calc : draw objects;adding/editing/copying -OpenOffice.org Calc : draw objects;anchoring -OpenOffice.org Calc : draw objects;arranging within stacks -OpenOffice.org Calc : draw objects;copying -OpenOffice.org Calc : draw objects;copying between documents -OpenOffice.org Calc : draw objects;displaying (Calc) -OpenOffice.org Calc : draw objects;dropping Gallery pictures -OpenOffice.org Calc : draw objects;flipping -OpenOffice.org Calc : draw objects;legends -OpenOffice.org Calc : draw objects;positioning and resizing -OpenOffice.org Calc : draw objects;printing -OpenOffice.org Calc : draw objects;protecting -OpenOffice.org Calc : draw objects;slanting -OpenOffice.org Calc : draw objects;text in -OpenOffice.org Calc : Drawing bar -OpenOffice.org Calc : drawing lines in text -OpenOffice.org Calc : drawings -OpenOffice.org Calc : drawings;creating/opening -OpenOffice.org Calc : drawings;languages -OpenOffice.org Calc : drawings;printing -OpenOffice.org Calc : drawings;printing defaults -OpenOffice.org Calc : drawings;printing in text documents -OpenOffice.org Calc : drawings;saving -OpenOffice.org Calc : drawings;saving automatically -OpenOffice.org Calc : drawings;saving in other formats -OpenOffice.org Calc : drawings;sending as e-mail -OpenOffice.org Calc : drawings;showing (Writer) -OpenOffice.org Calc : drop-down lists in form functions -OpenOffice.org Calc : drop-down menus in sheet columns -OpenOffice.org Calc : DSTDEV function -OpenOffice.org Calc : DSTDEVP function -OpenOffice.org Calc : DSUM function -OpenOffice.org Calc : DURATION function -OpenOffice.org Calc : DURATION_ADD function -OpenOffice.org Calc : durations -OpenOffice.org Calc : durations;calculating -OpenOffice.org Calc : durations;first interest payment until settlement date -OpenOffice.org Calc : durations;fixed interest securities -OpenOffice.org Calc : DVAR function -OpenOffice.org Calc : DVARP function -OpenOffice.org Calc : e-mail attachments -OpenOffice.org Calc : EASTERSUNDAY function -OpenOffice.org Calc : EDATE function -OpenOffice.org Calc : Edit File icon -OpenOffice.org Calc : edit mode -OpenOffice.org Calc : edit mode;after opening -OpenOffice.org Calc : edit mode;through Enter key (Calc) -OpenOffice.org Calc : Edit Points bar -OpenOffice.org Calc : editing -OpenOffice.org Calc : editing;array formulas -OpenOffice.org Calc : editing;chart axes -OpenOffice.org Calc : editing;chart data -OpenOffice.org Calc : editing;chart legends -OpenOffice.org Calc : editing;chart titles -OpenOffice.org Calc : editing;data binding of XForms -OpenOffice.org Calc : editing;database tables and queries -OpenOffice.org Calc : editing;DataPilot tables -OpenOffice.org Calc : editing;draw objects -OpenOffice.org Calc : editing;Fontwork objects -OpenOffice.org Calc : editing;hyperlinks -OpenOffice.org Calc : editing;items in Data Navigator -OpenOffice.org Calc : editing;menus -OpenOffice.org Calc : editing;namespaces in XForms -OpenOffice.org Calc : editing;notes -OpenOffice.org Calc : editing;objects -OpenOffice.org Calc : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Calc : editing;pictures -OpenOffice.org Calc : editing;print ranges -OpenOffice.org Calc : editing;reports -OpenOffice.org Calc : editing;shortcut keys -OpenOffice.org Calc : editing;tab stops -OpenOffice.org Calc : editing;templates -OpenOffice.org Calc : editing;titles -OpenOffice.org Calc : editing;toolbars -OpenOffice.org Calc : editing;undoing -OpenOffice.org Calc : editing;XForms -OpenOffice.org Calc : editing time of documents -OpenOffice.org Calc : editors -OpenOffice.org Calc : editors;formula editor -OpenOffice.org Calc : editors;ImageMap editor -OpenOffice.org Calc : EFFECT_ADD function -OpenOffice.org Calc : EFFECTIVE function -OpenOffice.org Calc : effective interest rates -OpenOffice.org Calc : effects -OpenOffice.org Calc : effects;font positions -OpenOffice.org Calc : effects;fonts -OpenOffice.org Calc : effects;Fontwork icons -OpenOffice.org Calc : empty cells -OpenOffice.org Calc : empty cells;counting -OpenOffice.org Calc : empty cells;recognizing -OpenOffice.org Calc : empty documents -OpenOffice.org Calc : empty paragraph removal -OpenOffice.org Calc : encrypting text -OpenOffice.org Calc : encryption of contents -OpenOffice.org Calc : entering entries with AutoInput function -OpenOffice.org Calc : entering groups -OpenOffice.org Calc : entering text from right to left -OpenOffice.org Calc : EOMONTH function -OpenOffice.org Calc : equal sign, see also operators -OpenOffice.org Calc : equations in formula editor -OpenOffice.org Calc : equations in goal seek -OpenOffice.org Calc : ERF function -OpenOffice.org Calc : ERFC function -OpenOffice.org Calc : error bars in charts -OpenOffice.org Calc : error codes -OpenOffice.org Calc : error codes;controlling -OpenOffice.org Calc : error codes;list of -OpenOffice.org Calc : error indicators in charts -OpenOffice.org Calc : error messages -OpenOffice.org Calc : error messages;defining for incorrect input -OpenOffice.org Calc : error messages;invalid references -OpenOffice.org Calc : Error Report Tool -OpenOffice.org Calc : error tracing -OpenOffice.org Calc : ERRORTYPE function -OpenOffice.org Calc : Euro -OpenOffice.org Calc : Euro;converting in -OpenOffice.org Calc : Euro;currency formats -OpenOffice.org Calc : Euro;Euro Converter Wizard -OpenOffice.org Calc : EVEN function -OpenOffice.org Calc : even integers -OpenOffice.org Calc : even/odd pages -OpenOffice.org Calc : even/odd pages;printing -OpenOffice.org Calc : events -OpenOffice.org Calc : events;controls -OpenOffice.org Calc : events;customizing -OpenOffice.org Calc : events;in forms -OpenOffice.org Calc : EXACT function -OpenOffice.org Calc : exact numbers in OpenOffice.org Calc -OpenOffice.org Calc : examples -OpenOffice.org Calc : examples;formula calculation -OpenOffice.org Calc : examples;goal seek -OpenOffice.org Calc : Excel -OpenOffice.org Calc : Excel;saving as -OpenOffice.org Calc : Excel;search criteria -OpenOffice.org Calc : exceptions -OpenOffice.org Calc : exceptions;user-defined dictionaries -OpenOffice.org Calc : exchanging, see also replacing -OpenOffice.org Calc : executing -OpenOffice.org Calc : executing;SQL commands -OpenOffice.org Calc : exiting -OpenOffice.org Calc : exiting;groups -OpenOffice.org Calc : exiting;OpenOffice.org -OpenOffice.org Calc : EXP function -OpenOffice.org Calc : expanding formatting (Calc) -OpenOffice.org Calc : explorer of data sources -OpenOffice.org Calc : EXPONDIST function -OpenOffice.org Calc : exponential distributions -OpenOffice.org Calc : exponential trends in arrays -OpenOffice.org Calc : export filters -OpenOffice.org Calc : exporting -OpenOffice.org Calc : exporting;bitmaps -OpenOffice.org Calc : exporting;cells -OpenOffice.org Calc : exporting;databases -OpenOffice.org Calc : exporting;HTML and text documents -OpenOffice.org Calc : exporting;Microsoft Office documents with VBA code -OpenOffice.org Calc : exporting;spreadsheets to dBASE -OpenOffice.org Calc : exporting;spreadsheets to text format -OpenOffice.org Calc : exporting;tables as text -OpenOffice.org Calc : exporting;templates -OpenOffice.org Calc : exporting;to foreign formats -OpenOffice.org Calc : exporting;to HTML -OpenOffice.org Calc : exporting;to Microsoft Office formats -OpenOffice.org Calc : exporting;to PDF -OpenOffice.org Calc : exporting;to PostScript format -OpenOffice.org Calc : exporting;to XML -OpenOffice.org Calc : exporting;XML files -OpenOffice.org Calc : extended tips in Help -OpenOffice.org Calc : extending printranges -OpenOffice.org Calc : extension mode in text -OpenOffice.org Calc : extensions -OpenOffice.org Calc : extensions;Extension Manager -OpenOffice.org Calc : extensions;file formats -OpenOffice.org Calc : external data -OpenOffice.org Calc : external data;inserting -OpenOffice.org Calc : external data;WebQuery -OpenOffice.org Calc : external DLL functions -OpenOffice.org Calc : external keys (Base) -OpenOffice.org Calc : extrapolations -OpenOffice.org Calc : FACT function -OpenOffice.org Calc : FACTDOUBLE function -OpenOffice.org Calc : factorials -OpenOffice.org Calc : factorials;numbers -OpenOffice.org Calc : factorials;numbers with increments of two -OpenOffice.org Calc : FALSE function -OpenOffice.org Calc : faster printing -OpenOffice.org Calc : faxes -OpenOffice.org Calc : faxes;configuring OpenOffice.org -OpenOffice.org Calc : faxes;fax programs/fax printers under UNIX -OpenOffice.org Calc : faxes;selecting a fax machine -OpenOffice.org Calc : faxes;sending -OpenOffice.org Calc : faxes;wizards -OpenOffice.org Calc : FDIST function -OpenOffice.org Calc : fields -OpenOffice.org Calc : fields;database tables -OpenOffice.org Calc : fields;displaying field codes (Writer) -OpenOffice.org Calc : fields;formatted fields -OpenOffice.org Calc : fields;updating automatically (Writer) -OpenOffice.org Calc : file associations for Microsoft Office -OpenOffice.org Calc : file filters -OpenOffice.org Calc : file filters;mobile devices -OpenOffice.org Calc : file filters;XML -OpenOffice.org Calc : file formats -OpenOffice.org Calc : file formats;changing defaults -OpenOffice.org Calc : file formats;OpenDocument/XML -OpenOffice.org Calc : file formats;saving always in other formats -OpenOffice.org Calc : file names in headers/footers -OpenOffice.org Calc : file selection button -OpenOffice.org Calc : file sharing options for current document -OpenOffice.org Calc : files -OpenOffice.org Calc : files;filters and formats -OpenOffice.org Calc : files;importing -OpenOffice.org Calc : files;opening -OpenOffice.org Calc : files;opening with placeholders -OpenOffice.org Calc : files;properties -OpenOffice.org Calc : files;saving -OpenOffice.org Calc : files;saving automatically -OpenOffice.org Calc : files;saving in other formats -OpenOffice.org Calc : files;sending as e-mail -OpenOffice.org Calc : files;version numbers -OpenOffice.org Calc : files and folders in OpenOffice.org -OpenOffice.org Calc : fill characters with tabulators -OpenOffice.org Calc : fill colors for areas -OpenOffice.org Calc : fill patterns for areas -OpenOffice.org Calc : filling -OpenOffice.org Calc : filling;cells, automatically -OpenOffice.org Calc : filling;customized lists -OpenOffice.org Calc : filling;selection lists -OpenOffice.org Calc : filter conditions -OpenOffice.org Calc : filter conditions;connecting -OpenOffice.org Calc : filter conditions;in queries (Base) -OpenOffice.org Calc : filtered data -OpenOffice.org Calc : filtered data;sums -OpenOffice.org Calc : filtering -OpenOffice.org Calc : filtering;cell ranges -OpenOffice.org Calc : filtering;data in databases -OpenOffice.org Calc : filtering;data in forms -OpenOffice.org Calc : filtering;database ranges -OpenOffice.org Calc : filtering;DataPilot tables -OpenOffice.org Calc : filters -OpenOffice.org Calc : filters;comparison operators -OpenOffice.org Calc : filters;copying visible cells only -OpenOffice.org Calc : filters;defining advanced filters -OpenOffice.org Calc : filters;for import and export -OpenOffice.org Calc : filters;introduction -OpenOffice.org Calc : filters;Navigator -OpenOffice.org Calc : filters;pictures -OpenOffice.org Calc : filters;XML filter settings -OpenOffice.org Calc : filters, see also AutoFilter function -OpenOffice.org Calc : financial functions -OpenOffice.org Calc : FIND function -OpenOffice.org Calc : Find tab in Help -OpenOffice.org Calc : finding -OpenOffice.org Calc : finding;formulas/values/text/objects -OpenOffice.org Calc : finding;in all sheets -OpenOffice.org Calc : finding;records in form documents -OpenOffice.org Calc : finding;selections -OpenOffice.org Calc : finding;similarity search -OpenOffice.org Calc : FINV function -OpenOffice.org Calc : FISHER function -OpenOffice.org Calc : FISHERINV function -OpenOffice.org Calc : fitting to pages -OpenOffice.org Calc : fitting to pages;print settings in Math -OpenOffice.org Calc : fitting to pages;print settings in presentations -OpenOffice.org Calc : FIXED function -OpenOffice.org Calc : fixed text -OpenOffice.org Calc : fixed text;form functions -OpenOffice.org Calc : fixing toolbars -OpenOffice.org Calc : flipping draw objects -OpenOffice.org Calc : floating frames in HTML documents -OpenOffice.org Calc : floating toolbars -OpenOffice.org Calc : FLOOR function -OpenOffice.org Calc : focus of controls -OpenOffice.org Calc : folder creation -OpenOffice.org Calc : font lists -OpenOffice.org Calc : font name box -OpenOffice.org Calc : font sizes -OpenOffice.org Calc : font sizes;bullets -OpenOffice.org Calc : font sizes;relative changes -OpenOffice.org Calc : font sizes;scaling on screen -OpenOffice.org Calc : font sizes;text -OpenOffice.org Calc : fonts -OpenOffice.org Calc : fonts;adding under UNIX -OpenOffice.org Calc : fonts;changing in templates -OpenOffice.org Calc : fonts;colors -OpenOffice.org Calc : fonts;default settings -OpenOffice.org Calc : fonts;effects -OpenOffice.org Calc : fonts;for HTML and Basic -OpenOffice.org Calc : fonts;formats -OpenOffice.org Calc : fonts;outlines -OpenOffice.org Calc : fonts;positions in text -OpenOffice.org Calc : fonts;shadows -OpenOffice.org Calc : fonts;specifying several -OpenOffice.org Calc : fonts;strikethrough -OpenOffice.org Calc : fonts;styles -OpenOffice.org Calc : fonts;text objects -OpenOffice.org Calc : Fontwork icons -OpenOffice.org Calc : footers -OpenOffice.org Calc : footers;backgrounds -OpenOffice.org Calc : footers;defining -OpenOffice.org Calc : footers;printing on sheets -OpenOffice.org Calc : forced array handling -OpenOffice.org Calc : FORECAST function -OpenOffice.org Calc : form controls -OpenOffice.org Calc : form controls;assigning macros -OpenOffice.org Calc : form controls;protecting -OpenOffice.org Calc : form controls;toolbars -OpenOffice.org Calc : form fields -OpenOffice.org Calc : form filters -OpenOffice.org Calc : Form Navigator -OpenOffice.org Calc : format codes -OpenOffice.org Calc : format codes;numbers -OpenOffice.org Calc : format codes;user-defined number formats -OpenOffice.org Calc : format filling printing in OpenOffice.org Math -OpenOffice.org Calc : Format Paintbrush -OpenOffice.org Calc : formats -OpenOffice.org Calc : formats;Asian layout -OpenOffice.org Calc : formats;Asian typography -OpenOffice.org Calc : formats;assigning by formulas -OpenOffice.org Calc : formats;automatically formatting spreadsheets -OpenOffice.org Calc : formats;changing text/number -OpenOffice.org Calc : formats;currency formats in cells -OpenOffice.org Calc : formats;fonts -OpenOffice.org Calc : formats;maximizing page formats -OpenOffice.org Calc : formats;number and currency formats -OpenOffice.org Calc : formats;numbers as text -OpenOffice.org Calc : formats;numbers in tables -OpenOffice.org Calc : formats;of currencies/date/time -OpenOffice.org Calc : formats;on opening and saving -OpenOffice.org Calc : formats;pasting in special formats -OpenOffice.org Calc : formats;positions -OpenOffice.org Calc : formats;Styles and Formatting window -OpenOffice.org Calc : formats;tabulators -OpenOffice.org Calc : formats;themes for sheets -OpenOffice.org Calc : formats;undoing when writing -OpenOffice.org Calc : formatted fields -OpenOffice.org Calc : formatted fields;form functions -OpenOffice.org Calc : formatted fields;properties -OpenOffice.org Calc : formatting -OpenOffice.org Calc : formatting;adding/deleting decimal places -OpenOffice.org Calc : formatting;axes in charts -OpenOffice.org Calc : formatting;cells -OpenOffice.org Calc : formatting;chart areas -OpenOffice.org Calc : formatting;chart floors -OpenOffice.org Calc : formatting;chart legends -OpenOffice.org Calc : formatting;chart titles -OpenOffice.org Calc : formatting;chart walls -OpenOffice.org Calc : formatting;conditional formatting -OpenOffice.org Calc : formatting;copying -OpenOffice.org Calc : formatting;definition -OpenOffice.org Calc : formatting;expanding (Calc) -OpenOffice.org Calc : formatting;font effects -OpenOffice.org Calc : formatting;hyperlinks -OpenOffice.org Calc : formatting;multiple cell texts -OpenOffice.org Calc : formatting;notes on cells -OpenOffice.org Calc : formatting;numbers as text -OpenOffice.org Calc : formatting;numbers with decimals -OpenOffice.org Calc : formatting;pages -OpenOffice.org Calc : formatting;printer metrics (Writer) -OpenOffice.org Calc : formatting;spreadsheets -OpenOffice.org Calc : formatting;Styles and Formatting window -OpenOffice.org Calc : formatting;themes for sheets -OpenOffice.org Calc : formatting;undoing -OpenOffice.org Calc : formatting;user-defined numbers -OpenOffice.org Calc : formatting;visible cells only -OpenOffice.org Calc : forms -OpenOffice.org Calc : forms;browsing -OpenOffice.org Calc : forms;Combo Box/List Box Wizard -OpenOffice.org Calc : forms;creating -OpenOffice.org Calc : forms;data -OpenOffice.org Calc : forms;designing (Base) -OpenOffice.org Calc : forms;events -OpenOffice.org Calc : forms;filtering data -OpenOffice.org Calc : forms;finding records -OpenOffice.org Calc : forms;focus after opening -OpenOffice.org Calc : forms;general information (Base) -OpenOffice.org Calc : forms;grouping controls -OpenOffice.org Calc : forms;HTML filters -OpenOffice.org Calc : forms;Navigator -OpenOffice.org Calc : forms;opening in design mode -OpenOffice.org Calc : forms;properties -OpenOffice.org Calc : forms;sorting data -OpenOffice.org Calc : forms;subforms -OpenOffice.org Calc : forms;wizards -OpenOffice.org Calc : forms;XForms -OpenOffice.org Calc : Formula Auditing feature in Microsoft Office -OpenOffice.org Calc : formula bar -OpenOffice.org Calc : formula bar;accepting inputs -OpenOffice.org Calc : formula bar;canceling inputs -OpenOffice.org Calc : formula bar;functions -OpenOffice.org Calc : formula bar;input line -OpenOffice.org Calc : formula bar;sheet area names -OpenOffice.org Calc : formula bar;spreadsheets -OpenOffice.org Calc : formula bar;sum function -OpenOffice.org Calc : formula cells -OpenOffice.org Calc : formula cells;displaying formulas in other cells -OpenOffice.org Calc : formula cells;recognizing -OpenOffice.org Calc : formula cells;removing precedents -OpenOffice.org Calc : formula cells;tracing precedents -OpenOffice.org Calc : FORMULA function -OpenOffice.org Calc : formula list window -OpenOffice.org Calc : formula texts -OpenOffice.org Calc : formula texts;printing in OpenOffice.org Math -OpenOffice.org Calc : formulas -OpenOffice.org Calc : formulas;arrays -OpenOffice.org Calc : formulas;assigning cell formats -OpenOffice.org Calc : formulas;AutoCalculate function -OpenOffice.org Calc : formulas;calculating -OpenOffice.org Calc : formulas;calculating with -OpenOffice.org Calc : formulas;copying and pasting -OpenOffice.org Calc : formulas;defining names -OpenOffice.org Calc : formulas;displaying in cells -OpenOffice.org Calc : formulas;hiding -OpenOffice.org Calc : formulas;inputting -OpenOffice.org Calc : formulas;matrix formulas -OpenOffice.org Calc : formulas;new -OpenOffice.org Calc : formulas;operators -OpenOffice.org Calc : formulas;printing, instead of results -OpenOffice.org Calc : formulas;recalculating manually -OpenOffice.org Calc : formulas;saving as csv files -OpenOffice.org Calc : formulas;starting formula editor -OpenOffice.org Calc : formulas;status bar -OpenOffice.org Calc : formulas;using row/column labels -OpenOffice.org Calc : formulas in reports -OpenOffice.org Calc : formulas in reports;editing -OpenOffice.org Calc : forums and support -OpenOffice.org Calc : fractions -OpenOffice.org Calc : fractions;converting -OpenOffice.org Calc : fractions;entering -OpenOffice.org Calc : frames -OpenOffice.org Calc : frames;around paragraphs -OpenOffice.org Calc : frames;around tables -OpenOffice.org Calc : frames;AutoCorrect function -OpenOffice.org Calc : frames;backgrounds -OpenOffice.org Calc : frames;captions (Writer) -OpenOffice.org Calc : frames;printing in OpenOffice.org Math -OpenOffice.org Calc : frames;protecting -OpenOffice.org Calc : frames;selection frames -OpenOffice.org Calc : frames;text fitting to frames -OpenOffice.org Calc : freeform lines -OpenOffice.org Calc : freeform lines;draw functions -OpenOffice.org Calc : freezing rows or columns -OpenOffice.org Calc : FREQUENCY function -OpenOffice.org Calc : FTEST function -OpenOffice.org Calc : FTP -OpenOffice.org Calc : FTP;opening documents -OpenOffice.org Calc : FTP;saving documents -OpenOffice.org Calc : full joins (Base) -OpenOffice.org Calc : full screen view -OpenOffice.org Calc : full-text search in Help -OpenOffice.org Calc : function list window -OpenOffice.org Calc : Function Wizard -OpenOffice.org Calc : Function Wizard;add-ins -OpenOffice.org Calc : Function Wizard;arrays -OpenOffice.org Calc : Function Wizard;databases -OpenOffice.org Calc : Function Wizard;date & time -OpenOffice.org Calc : Function Wizard;financial -OpenOffice.org Calc : Function Wizard;information -OpenOffice.org Calc : Function Wizard;logical -OpenOffice.org Calc : Function Wizard;mathematical -OpenOffice.org Calc : Function Wizard;spreadsheets -OpenOffice.org Calc : Function Wizard;statistics -OpenOffice.org Calc : Function Wizard;text -OpenOffice.org Calc : functions -OpenOffice.org Calc : functions;accepting input icon -OpenOffice.org Calc : functions;add-in functions -OpenOffice.org Calc : functions;array functions -OpenOffice.org Calc : functions;canceling input icon -OpenOffice.org Calc : functions;database functions -OpenOffice.org Calc : functions;date & time -OpenOffice.org Calc : functions;financial functions -OpenOffice.org Calc : functions;formula bar icon -OpenOffice.org Calc : functions;Function Wizard -OpenOffice.org Calc : functions;information functions -OpenOffice.org Calc : functions;listed by category -OpenOffice.org Calc : functions;logical functions -OpenOffice.org Calc : functions;mathematical functions -OpenOffice.org Calc : functions;OpenOffice.org Calc add-in DLL -OpenOffice.org Calc : functions;spreadsheets -OpenOffice.org Calc : functions;statistics functions -OpenOffice.org Calc : functions;sum function icon -OpenOffice.org Calc : functions;text functions -OpenOffice.org Calc : functions;user-defined -OpenOffice.org Calc : functions in reports -OpenOffice.org Calc : functions in reports;editing -OpenOffice.org Calc : future values -OpenOffice.org Calc : future values;constant interest rates -OpenOffice.org Calc : future values;varying interest rates -OpenOffice.org Calc : FV function -OpenOffice.org Calc : FVSCHEDULE function -OpenOffice.org Calc : Gallery -OpenOffice.org Calc : Gallery;adding pictures -OpenOffice.org Calc : Gallery;dragging pictures to draw objects -OpenOffice.org Calc : Gallery;hiding/showing -OpenOffice.org Calc : Gallery;inserting pictures from -OpenOffice.org Calc : GAMMADIST function -OpenOffice.org Calc : GAMMAINV function -OpenOffice.org Calc : GAMMALN function -OpenOffice.org Calc : GAUSS function -OpenOffice.org Calc : Gaussian error integral -OpenOffice.org Calc : GCD function -OpenOffice.org Calc : GCD_ADD function -OpenOffice.org Calc : GEOMEAN function -OpenOffice.org Calc : geometric lists -OpenOffice.org Calc : geometric-degressive depreciations -OpenOffice.org Calc : German spellcheck -OpenOffice.org Calc : GESTEP function -OpenOffice.org Calc : get method for form transmissions -OpenOffice.org Calc : GETPIVOTDATA function -OpenOffice.org Calc : getting support -OpenOffice.org Calc : GIF format -OpenOffice.org Calc : glossaries -OpenOffice.org Calc : glossaries;common terms -OpenOffice.org Calc : glossaries;Internet terms -OpenOffice.org Calc : goal seek example -OpenOffice.org Calc : gradients off for faster printing -OpenOffice.org Calc : graphical text art -OpenOffice.org Calc : graphics -OpenOffice.org Calc : graphics;cache -OpenOffice.org Calc : graphics;protecting -OpenOffice.org Calc : graphics, see also pictures -OpenOffice.org Calc : grayscale printing -OpenOffice.org Calc : greatest common divisor -OpenOffice.org Calc : grid controls -OpenOffice.org Calc : grid controls;form functions -OpenOffice.org Calc : grids -OpenOffice.org Calc : grids;defaults (Writer/Calc) -OpenOffice.org Calc : grids;display options (Impress/Draw) -OpenOffice.org Calc : grids;displaying lines (Calc) -OpenOffice.org Calc : grids;formatting axes -OpenOffice.org Calc : grids;hiding lines in sheets -OpenOffice.org Calc : grids;inserting in charts -OpenOffice.org Calc : grids;printing sheet grids -OpenOffice.org Calc : group box creation -OpenOffice.org Calc : grouping -OpenOffice.org Calc : grouping;cells -OpenOffice.org Calc : grouping;DataPilot tables -OpenOffice.org Calc : groups -OpenOffice.org Calc : groups;entering/exiting/ungrouping -OpenOffice.org Calc : groups;naming -OpenOffice.org Calc : groups;of controls -OpenOffice.org Calc : GROWTH function -OpenOffice.org Calc : growth series -OpenOffice.org Calc : guides -OpenOffice.org Calc : guides;display options (Impress/Draw) -OpenOffice.org Calc : guides;displaying when moving objects (Impress) -OpenOffice.org Calc : guides;showing (Calc) -OpenOffice.org Calc : guides;showing when moving frames (Writer) -OpenOffice.org Calc : gutter -OpenOffice.org Calc : handles -OpenOffice.org Calc : handles;displaying (Writer) -OpenOffice.org Calc : handles;scaling -OpenOffice.org Calc : handles;showing simple/large handles (Calc) -OpenOffice.org Calc : Hangul/Hanja -OpenOffice.org Calc : HARMEAN function -OpenOffice.org Calc : hatching -OpenOffice.org Calc : headers -OpenOffice.org Calc : headers;backgrounds -OpenOffice.org Calc : headers;defining -OpenOffice.org Calc : headers;freezing during table split -OpenOffice.org Calc : headers;printing on sheets -OpenOffice.org Calc : headings -OpenOffice.org Calc : headings;entering as text box -OpenOffice.org Calc : headings;repeating rows/columns as -OpenOffice.org Calc : Hebrew -OpenOffice.org Calc : Hebrew;entering text -OpenOffice.org Calc : Hebrew;language settings -OpenOffice.org Calc : heights of cells -OpenOffice.org Calc : Help -OpenOffice.org Calc : Help;bookmarks -OpenOffice.org Calc : Help;extended tips on/off -OpenOffice.org Calc : Help;full-text search -OpenOffice.org Calc : Help;Help tips -OpenOffice.org Calc : Help;keywords -OpenOffice.org Calc : Help;navigation pane showing/hiding -OpenOffice.org Calc : Help;style sheets -OpenOffice.org Calc : Help;topics -OpenOffice.org Calc : Help Agent -OpenOffice.org Calc : Help Agent;help -OpenOffice.org Calc : Help Agent;options -OpenOffice.org Calc : Help tips -OpenOffice.org Calc : Help tips;defining text for cell input -OpenOffice.org Calc : Help tips;hiding -OpenOffice.org Calc : HEX2BIN function -OpenOffice.org Calc : HEX2DEC function -OpenOffice.org Calc : HEX2OCT function -OpenOffice.org Calc : hexadecimal system -OpenOffice.org Calc : hexadecimal system;converting to -OpenOffice.org Calc : hidden cells -OpenOffice.org Calc : hidden controls in Form Navigator -OpenOffice.org Calc : hidden fields display (Writer) -OpenOffice.org Calc : hidden pages -OpenOffice.org Calc : hidden pages;printing in presentations -OpenOffice.org Calc : hidden text -OpenOffice.org Calc : hidden text;showing (Writer) -OpenOffice.org Calc : hiding -OpenOffice.org Calc : hiding;changes -OpenOffice.org Calc : hiding;chart legends -OpenOffice.org Calc : hiding;columns -OpenOffice.org Calc : hiding;data fields, from calculations in Data Pilot -OpenOffice.org Calc : hiding;docked windows -OpenOffice.org Calc : hiding;formulas -OpenOffice.org Calc : hiding;headers/grid lines -OpenOffice.org Calc : hiding;navigation pane in Help window -OpenOffice.org Calc : hiding;rows -OpenOffice.org Calc : hiding;sheet details -OpenOffice.org Calc : hiding;sheets -OpenOffice.org Calc : high contrast mode -OpenOffice.org Calc : highlighting -OpenOffice.org Calc : highlighting;negative numbers -OpenOffice.org Calc : highlighting;values in sheets -OpenOffice.org Calc : Hindi -OpenOffice.org Calc : Hindi;entering text -OpenOffice.org Calc : Hindi;language settings -OpenOffice.org Calc : HLOOKUP function -OpenOffice.org Calc : horizontal scrollbars (Writer) -OpenOffice.org Calc : HOUR function -OpenOffice.org Calc : HowTos for Calc -OpenOffice.org Calc : HowTos for charts -OpenOffice.org Calc : HTML -OpenOffice.org Calc : HTML;definition -OpenOffice.org Calc : HTML;export character set -OpenOffice.org Calc : HTML;fonts for source display -OpenOffice.org Calc : HTML;importing META tags -OpenOffice.org Calc : HTML;in sheet cells -OpenOffice.org Calc : HTML;live presentations -OpenOffice.org Calc : HTML;sheets -OpenOffice.org Calc : HTML documents -OpenOffice.org Calc : HTML documents;auto reloading -OpenOffice.org Calc : HTML documents;importing/exporting -OpenOffice.org Calc : HTML documents;META tags in -OpenOffice.org Calc : HTML documents;new -OpenOffice.org Calc : HTML documents;source text -OpenOffice.org Calc : HTML WebQuery -OpenOffice.org Calc : HYPERLINK function -OpenOffice.org Calc : hyperlinks -OpenOffice.org Calc : hyperlinks;assigning macros -OpenOffice.org Calc : hyperlinks;character formats -OpenOffice.org Calc : hyperlinks;definition -OpenOffice.org Calc : hyperlinks;deleting -OpenOffice.org Calc : hyperlinks;editing -OpenOffice.org Calc : hyperlinks;inserting -OpenOffice.org Calc : hyperlinks;relative and absolute -OpenOffice.org Calc : hyperlinks;turning off automatic recognition -OpenOffice.org Calc : hyperlinks, see also links -OpenOffice.org Calc : HYPGEOMDIST function -OpenOffice.org Calc : hyphenation -OpenOffice.org Calc : hyphenation;activating for a language -OpenOffice.org Calc : hyphenation;in spreadsheets -OpenOffice.org Calc : hyphenation;minimal number of characters -OpenOffice.org Calc : hyphens -OpenOffice.org Calc : hyphens;displaying custom (Writer) -OpenOffice.org Calc : hyphens;inserting custom -OpenOffice.org Calc : icon bars, see toolbars -OpenOffice.org Calc : icon sizes -OpenOffice.org Calc : IDE -OpenOffice.org Calc : IDE;Basic IDE -OpenOffice.org Calc : IF function -OpenOffice.org Calc : ignore list for spellcheck -OpenOffice.org Calc : illumination -OpenOffice.org Calc : illumination;3D charts -OpenOffice.org Calc : illustrations, see pictures -OpenOffice.org Calc : IMABS function -OpenOffice.org Calc : image button creation -OpenOffice.org Calc : image control creation -OpenOffice.org Calc : ImageMap -OpenOffice.org Calc : ImageMap;definition -OpenOffice.org Calc : ImageMap;editor -OpenOffice.org Calc : images -OpenOffice.org Calc : images;ImageMap -OpenOffice.org Calc : images;inserting and editing bitmaps -OpenOffice.org Calc : images;placeholders in presentations -OpenOffice.org Calc : images, see also pictures -OpenOffice.org Calc : IMAGINARY function -OpenOffice.org Calc : imaginary numbers in analysis functions -OpenOffice.org Calc : IMARGUMENT function -OpenOffice.org Calc : IMCONJUGATE function -OpenOffice.org Calc : IMCOS function -OpenOffice.org Calc : IMDIV function -OpenOffice.org Calc : IME -OpenOffice.org Calc : IME;definition -OpenOffice.org Calc : IME;showing/hiding -OpenOffice.org Calc : IMEXP function -OpenOffice.org Calc : IMLN function -OpenOffice.org Calc : IMLOG10 function -OpenOffice.org Calc : IMLOG2 function -OpenOffice.org Calc : implicit array handling -OpenOffice.org Calc : import filters -OpenOffice.org Calc : import restrictions for Microsoft Office -OpenOffice.org Calc : importing -OpenOffice.org Calc : importing;bitmaps -OpenOffice.org Calc : importing;compatibility settings for text import -OpenOffice.org Calc : importing;databases -OpenOffice.org Calc : importing;dBASE files -OpenOffice.org Calc : importing;documents in other formats -OpenOffice.org Calc : importing;from XML -OpenOffice.org Calc : importing;HTML and text documents -OpenOffice.org Calc : importing;HTML with META tags -OpenOffice.org Calc : importing;Microsoft Office documents with VBA code -OpenOffice.org Calc : importing;tables as text -OpenOffice.org Calc : importing;tables in text format -OpenOffice.org Calc : importing;templates -OpenOffice.org Calc : importing;text databases -OpenOffice.org Calc : IMPOWER function -OpenOffice.org Calc : IMPRODUCT function -OpenOffice.org Calc : IMREAL function -OpenOffice.org Calc : IMSIN function -OpenOffice.org Calc : IMSQRT function -OpenOffice.org Calc : IMSUB function -OpenOffice.org Calc : IMSUM function -OpenOffice.org Calc : inches -OpenOffice.org Calc : increasing scales in page view -OpenOffice.org Calc : INDEX function -OpenOffice.org Calc : Index tab in Help -OpenOffice.org Calc : indexes -OpenOffice.org Calc : indexes;backgrounds -OpenOffice.org Calc : indexes;showing/hiding Help index tab -OpenOffice.org Calc : indexes;unprotecting -OpenOffice.org Calc : indicator lines in text -OpenOffice.org Calc : INDIRECT function -OpenOffice.org Calc : INFO function -OpenOffice.org Calc : information functions -OpenOffice.org Calc : information on cells -OpenOffice.org Calc : inline array constants -OpenOffice.org Calc : inner joins (Base) -OpenOffice.org Calc : inner products -OpenOffice.org Calc : input line in formula bar -OpenOffice.org Calc : input method window -OpenOffice.org Calc : input support in spreadsheets -OpenOffice.org Calc : insert mode for entering text -OpenOffice.org Calc : inserting -OpenOffice.org Calc : inserting;applets -OpenOffice.org Calc : inserting;breaks -OpenOffice.org Calc : inserting;cell ranges -OpenOffice.org Calc : inserting;cell ranges from spreadsheets -OpenOffice.org Calc : inserting;cells -OpenOffice.org Calc : inserting;cells, by drag and drop -OpenOffice.org Calc : inserting;cells, toolbar icon -OpenOffice.org Calc : inserting;charts -OpenOffice.org Calc : inserting;clipboard options -OpenOffice.org Calc : inserting;columns -OpenOffice.org Calc : inserting;data from text documents -OpenOffice.org Calc : inserting;datasource records in spreadsheets -OpenOffice.org Calc : inserting;drawings -OpenOffice.org Calc : inserting;external data -OpenOffice.org Calc : inserting;floating frames -OpenOffice.org Calc : inserting;form fields -OpenOffice.org Calc : inserting;formulas -OpenOffice.org Calc : inserting;fractions -OpenOffice.org Calc : inserting;hyperlinks -OpenOffice.org Calc : inserting;line breaks in cells -OpenOffice.org Calc : inserting;manual column breaks -OpenOffice.org Calc : inserting;manual row breaks -OpenOffice.org Calc : inserting;matrix formulas -OpenOffice.org Calc : inserting;movies/sounds -OpenOffice.org Calc : inserting;new text tables defaults -OpenOffice.org Calc : inserting;notes -OpenOffice.org Calc : inserting;objects from Gallery -OpenOffice.org Calc : inserting;objects, toolbar icon -OpenOffice.org Calc : inserting;OLE objects -OpenOffice.org Calc : inserting;paragraph bullets -OpenOffice.org Calc : inserting;plug-ins -OpenOffice.org Calc : inserting;references, by drag and drop -OpenOffice.org Calc : inserting;rows -OpenOffice.org Calc : inserting;sheets -OpenOffice.org Calc : inserting;special characters -OpenOffice.org Calc : inserting;tab stops -OpenOffice.org Calc : inserting;text files with data -OpenOffice.org Calc : inserting;values -OpenOffice.org Calc : inserting functions -OpenOffice.org Calc : inserting functions;function list window -OpenOffice.org Calc : inserting functions;Function Wizard -OpenOffice.org Calc : installing -OpenOffice.org Calc : installing;ActiveX control -OpenOffice.org Calc : installing;mobile device filters -OpenOffice.org Calc : installing;UNO components -OpenOffice.org Calc : instructions -OpenOffice.org Calc : instructions;general -OpenOffice.org Calc : instructions;OpenOffice.org Calc -OpenOffice.org Calc : INT function -OpenOffice.org Calc : integers with leading zeros -OpenOffice.org Calc : INTERCEPT function -OpenOffice.org Calc : interests for unchanged amortization installments -OpenOffice.org Calc : internal rates of return -OpenOffice.org Calc : internal rates of return;irregular payments -OpenOffice.org Calc : internal rates of return;modified -OpenOffice.org Calc : internal rates of return;regular payments -OpenOffice.org Calc : international currency formats -OpenOffice.org Calc : Internet -OpenOffice.org Calc : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Calc : Internet;presentations -OpenOffice.org Calc : Internet;starting searches -OpenOffice.org Calc : Internet;turning off recognition of addresses -OpenOffice.org Calc : Internet glossary -OpenOffice.org Calc : intersection operator -OpenOffice.org Calc : intersections -OpenOffice.org Calc : INTRATE function -OpenOffice.org Calc : invalid data -OpenOffice.org Calc : invalid data;marking -OpenOffice.org Calc : invalid names -OpenOffice.org Calc : invalid names;error messages -OpenOffice.org Calc : invalid references -OpenOffice.org Calc : invalid references;error messages -OpenOffice.org Calc : inverse arrays -OpenOffice.org Calc : inverse F probability distribution -OpenOffice.org Calc : inverse of Fisher transformation -OpenOffice.org Calc : inverse of lognormal distribution -OpenOffice.org Calc : inverse of t-distribution -OpenOffice.org Calc : invert filter -OpenOffice.org Calc : inverting tables -OpenOffice.org Calc : invisible areas -OpenOffice.org Calc : invisible cells -OpenOffice.org Calc : IPMT function -OpenOffice.org Calc : IRR function -OpenOffice.org Calc : ISBLANK function -OpenOffice.org Calc : ISERR function -OpenOffice.org Calc : ISERROR function -OpenOffice.org Calc : ISEVEN function -OpenOffice.org Calc : ISEVEN_ADD function -OpenOffice.org Calc : ISFORMULA function -OpenOffice.org Calc : ISLEAPYEAR function -OpenOffice.org Calc : ISLOGICAL function -OpenOffice.org Calc : ISNA function -OpenOffice.org Calc : ISNONTEXT function -OpenOffice.org Calc : ISNUMBER function -OpenOffice.org Calc : ISODD function -OpenOffice.org Calc : ISODD_ADD function -OpenOffice.org Calc : ISPMT function -OpenOffice.org Calc : ISREF function -OpenOffice.org Calc : ISTEXT function -OpenOffice.org Calc : italic text -OpenOffice.org Calc : iterative references in spreadsheets -OpenOffice.org Calc : Java -OpenOffice.org Calc : Java;definition -OpenOffice.org Calc : Java;scripting -OpenOffice.org Calc : Java;setting options -OpenOffice.org Calc : JDBC -OpenOffice.org Calc : JDBC;databases (Base) -OpenOffice.org Calc : JDBC;definition -OpenOffice.org Calc : JIS function -OpenOffice.org Calc : joining -OpenOffice.org Calc : joining;paragraphs -OpenOffice.org Calc : joining;tables (Base) -OpenOffice.org Calc : joins in databases (Base) -OpenOffice.org Calc : justifying text -OpenOffice.org Calc : kerning -OpenOffice.org Calc : kerning;Asian texts -OpenOffice.org Calc : kerning;definition -OpenOffice.org Calc : kerning;in characters -OpenOffice.org Calc : key fields for relations (Base) -OpenOffice.org Calc : keyboard -OpenOffice.org Calc : keyboard;assigning/editing shortcut keys -OpenOffice.org Calc : keyboard;general commands -OpenOffice.org Calc : keyboard;removing numbering -OpenOffice.org Calc : keys -OpenOffice.org Calc : keys;adding push buttons -OpenOffice.org Calc : keys;primary keys (Base) -OpenOffice.org Calc : kiosk export -OpenOffice.org Calc : KURT function -OpenOffice.org Calc : label ranges in sheets -OpenOffice.org Calc : labels -OpenOffice.org Calc : labels;creating and synchronizing -OpenOffice.org Calc : labels;for charts -OpenOffice.org Calc : labels;for draw objects -OpenOffice.org Calc : labels;form functions -OpenOffice.org Calc : labels;from databases -OpenOffice.org Calc : labels, see also names/callouts -OpenOffice.org Calc : landscape printing -OpenOffice.org Calc : languages -OpenOffice.org Calc : languages;activating modules -OpenOffice.org Calc : languages;Asian support -OpenOffice.org Calc : languages;complex text layout -OpenOffice.org Calc : languages;locale settings -OpenOffice.org Calc : languages;selecting -OpenOffice.org Calc : languages;setting options -OpenOffice.org Calc : languages;spellcheck -OpenOffice.org Calc : languages;spellchecking and formatting -OpenOffice.org Calc : LARGE function -OpenOffice.org Calc : large handles (Writer) -OpenOffice.org Calc : large icons -OpenOffice.org Calc : layer arrangement -OpenOffice.org Calc : layout -OpenOffice.org Calc : layout;importing Word documents -OpenOffice.org Calc : layout;pages -OpenOffice.org Calc : layout;spreadsheets -OpenOffice.org Calc : LCM function -OpenOffice.org Calc : LCM_ADD function -OpenOffice.org Calc : LDAP server -OpenOffice.org Calc : LDAP server;address books (Base) -OpenOffice.org Calc : LDAP server;sign on options -OpenOffice.org Calc : leading between paragraphs -OpenOffice.org Calc : leading zeros -OpenOffice.org Calc : leap year determination -OpenOffice.org Calc : least common multiples -OpenOffice.org Calc : left alignment of paragraphs -OpenOffice.org Calc : LEFT function -OpenOffice.org Calc : left joins (Base) -OpenOffice.org Calc : legends -OpenOffice.org Calc : legends;charts -OpenOffice.org Calc : legends;draw objects -OpenOffice.org Calc : legends;rounding corners -OpenOffice.org Calc : LEN function -OpenOffice.org Calc : Letter Wizard -OpenOffice.org Calc : levels -OpenOffice.org Calc : levels;depth stagger -OpenOffice.org Calc : limits -OpenOffice.org Calc : limits;specifying value limits on input -OpenOffice.org Calc : limits of tables (Writer) -OpenOffice.org Calc : line arrangement -OpenOffice.org Calc : line arrangement;cells -OpenOffice.org Calc : line breaks -OpenOffice.org Calc : line breaks;in cells -OpenOffice.org Calc : line charts -OpenOffice.org Calc : line spacing -OpenOffice.org Calc : line spacing;context menu in paragraphs -OpenOffice.org Calc : line spacing;paragraph -OpenOffice.org Calc : line styles -OpenOffice.org Calc : line styles;applying -OpenOffice.org Calc : line styles;defining -OpenOffice.org Calc : linear depreciations -OpenOffice.org Calc : linear series -OpenOffice.org Calc : lines -OpenOffice.org Calc : lines;contours (Draw/Impress) -OpenOffice.org Calc : lines;defining ends -OpenOffice.org Calc : lines;draw functions -OpenOffice.org Calc : lines;drawing in text -OpenOffice.org Calc : lines;editing points -OpenOffice.org Calc : lines;removing automatic lines -OpenOffice.org Calc : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Calc : lines of text -OpenOffice.org Calc : lines of text;alignment -OpenOffice.org Calc : LINEST function -OpenOffice.org Calc : links -OpenOffice.org Calc : links;between cells and controls -OpenOffice.org Calc : links;by drag and drop -OpenOffice.org Calc : links;character formats -OpenOffice.org Calc : links;definition -OpenOffice.org Calc : links;editing hyperlinks -OpenOffice.org Calc : links;inserting -OpenOffice.org Calc : links;modifying -OpenOffice.org Calc : links;opening files with -OpenOffice.org Calc : links;relational databases (Base) -OpenOffice.org Calc : links;turning off automatic recognition -OpenOffice.org Calc : links;updating options (Writer) -OpenOffice.org Calc : links;updating specific links -OpenOffice.org Calc : list box creation -OpenOffice.org Calc : list of functions -OpenOffice.org Calc : lists -OpenOffice.org Calc : lists;data assigned to controls -OpenOffice.org Calc : lists;registered databases (Base) -OpenOffice.org Calc : lists;regular expressions -OpenOffice.org Calc : lists;user-defined -OpenOffice.org Calc : live presentations on the Internet -OpenOffice.org Calc : LN function -OpenOffice.org Calc : loading -OpenOffice.org Calc : loading;documents -OpenOffice.org Calc : loading;documents from other formats -OpenOffice.org Calc : loading;HTML documents, automatically -OpenOffice.org Calc : loading;Microsoft Office documents with VBA code -OpenOffice.org Calc : loading;reloading -OpenOffice.org Calc : loading;XML files -OpenOffice.org Calc : locale settings -OpenOffice.org Calc : LOG function -OpenOffice.org Calc : LOG10 function -OpenOffice.org Calc : logarithmic scaling along axes -OpenOffice.org Calc : logarithms -OpenOffice.org Calc : LOGEST function -OpenOffice.org Calc : logical functions -OpenOffice.org Calc : logical number formats -OpenOffice.org Calc : LOGINV function -OpenOffice.org Calc : LOGNORMDIST function -OpenOffice.org Calc : LOOKUP function -OpenOffice.org Calc : LOWER function -OpenOffice.org Calc : lowercase letters -OpenOffice.org Calc : lowercase letters;AutoInput function (in cells) -OpenOffice.org Calc : lowercase letters;font effects -OpenOffice.org Calc : lowest common multiples -OpenOffice.org Calc : Macauley duration -OpenOffice.org Calc : macros -OpenOffice.org Calc : macros;assigning to events in forms -OpenOffice.org Calc : macros;in MS Office documents -OpenOffice.org Calc : macros;interrupting -OpenOffice.org Calc : macros;organizing -OpenOffice.org Calc : macros;recording -OpenOffice.org Calc : macros;running when incorrect input -OpenOffice.org Calc : macros;security -OpenOffice.org Calc : macros;security warning dialog -OpenOffice.org Calc : macros;selecting security warnings -OpenOffice.org Calc : magnifiers -OpenOffice.org Calc : Mail Merge feature in Microsoft Office -OpenOffice.org Calc : manual column breaks -OpenOffice.org Calc : manual row breaks -OpenOffice.org Calc : margins -OpenOffice.org Calc : margins;pages -OpenOffice.org Calc : margins;setting with the mouse -OpenOffice.org Calc : margins;shadows -OpenOffice.org Calc : marking cells -OpenOffice.org Calc : marking changes -OpenOffice.org Calc : Markup feature in Microsoft Office -OpenOffice.org Calc : MATCH function -OpenOffice.org Calc : Math formula editor -OpenOffice.org Calc : mathematical functions -OpenOffice.org Calc : matrices -OpenOffice.org Calc : matrices;calculations -OpenOffice.org Calc : matrices;entering matrix formulas -OpenOffice.org Calc : matrices;functions -OpenOffice.org Calc : MAX function -OpenOffice.org Calc : MAXA function -OpenOffice.org Calc : maximum values in Calc databases -OpenOffice.org Calc : MDETERM function -OpenOffice.org Calc : MDURATION function -OpenOffice.org Calc : means -OpenOffice.org Calc : means;geometric -OpenOffice.org Calc : means;harmonic -OpenOffice.org Calc : means;of data set without margin data -OpenOffice.org Calc : measurement units -OpenOffice.org Calc : measurement units;changing on rulers -OpenOffice.org Calc : measurement units;converting -OpenOffice.org Calc : measurement units;selecting -OpenOffice.org Calc : Media Player window -OpenOffice.org Calc : MEDIAN function -OpenOffice.org Calc : menus -OpenOffice.org Calc : menus;activating context menus -OpenOffice.org Calc : menus;customizing -OpenOffice.org Calc : menus;inactive menu items -OpenOffice.org Calc : merging -OpenOffice.org Calc : merging;cells -OpenOffice.org Calc : merging;data ranges -OpenOffice.org Calc : merging;documents -OpenOffice.org Calc : META tags -OpenOffice.org Calc : metrics -OpenOffice.org Calc : metrics;converting -OpenOffice.org Calc : metrics;document formatting (Writer) -OpenOffice.org Calc : metrics;in sheets -OpenOffice.org Calc : Microsoft Excel functions -OpenOffice.org Calc : Microsoft Office -OpenOffice.org Calc : Microsoft Office;Access databases (base) -OpenOffice.org Calc : Microsoft Office;as standard file format -OpenOffice.org Calc : Microsoft Office;document import restrictions -OpenOffice.org Calc : Microsoft Office;feature comparisons -OpenOffice.org Calc : Microsoft Office;importing password protected files -OpenOffice.org Calc : Microsoft Office;importing Word documents -OpenOffice.org Calc : Microsoft Office;importing/exporting VBA code -OpenOffice.org Calc : Microsoft Office;new users information -OpenOffice.org Calc : Microsoft Office;opening Microsoft documents -OpenOffice.org Calc : Microsoft Office;reassigning document types -OpenOffice.org Calc : MID function -OpenOffice.org Calc : MIN function -OpenOffice.org Calc : MINA function -OpenOffice.org Calc : minimum values in Calc databases -OpenOffice.org Calc : minus sign, see also operators -OpenOffice.org Calc : MINUTE function -OpenOffice.org Calc : MINVERSE function -OpenOffice.org Calc : MIRR function -OpenOffice.org Calc : MMULT function -OpenOffice.org Calc : mobile device filters -OpenOffice.org Calc : MOD function -OpenOffice.org Calc : MODE function -OpenOffice.org Calc : models in XForms -OpenOffice.org Calc : modified internal rates of return -OpenOffice.org Calc : modifying, see changing -OpenOffice.org Calc : MONTH function -OpenOffice.org Calc : MONTHS function -OpenOffice.org Calc : more controls -OpenOffice.org Calc : mosaic filter -OpenOffice.org Calc : most common value -OpenOffice.org Calc : mouse -OpenOffice.org Calc : mouse;pointers when using drag and drop -OpenOffice.org Calc : mouse;positioning -OpenOffice.org Calc : moving -OpenOffice.org Calc : moving;cells by drag and drop -OpenOffice.org Calc : moving;spreadsheets -OpenOffice.org Calc : moving;tab stops on ruler -OpenOffice.org Calc : moving;toolbars -OpenOffice.org Calc : moving;using guide lines in presentations -OpenOffice.org Calc : moving;visible cells only -OpenOffice.org Calc : MROUND function -OpenOffice.org Calc : MS ADO interface (Base) -OpenOffice.org Calc : multi-line text in cells -OpenOffice.org Calc : multi-line titles in forms -OpenOffice.org Calc : MULTINOMIAL function -OpenOffice.org Calc : multiple cells selection -OpenOffice.org Calc : multiple documents -OpenOffice.org Calc : multiple documents;opening -OpenOffice.org Calc : multiple operations -OpenOffice.org Calc : multiple sheets -OpenOffice.org Calc : multiplication sign, see also operators -OpenOffice.org Calc : multiplying -OpenOffice.org Calc : multiplying;cell contents in Calc databases -OpenOffice.org Calc : multiplying;numbers -OpenOffice.org Calc : MUNIT function -OpenOffice.org Calc : My Documents folder -OpenOffice.org Calc : My Documents folder;changing work directory -OpenOffice.org Calc : My Documents folder;opening -OpenOffice.org Calc : MySQL databases (Base) -OpenOffice.org Calc : N function -OpenOffice.org Calc : NA function -OpenOffice.org Calc : name recognition on/off -OpenOffice.org Calc : names -OpenOffice.org Calc : names;defining for cells -OpenOffice.org Calc : names;for cell ranges -OpenOffice.org Calc : names;multi-line titles -OpenOffice.org Calc : names;objects -OpenOffice.org Calc : names;sheets -OpenOffice.org Calc : names, see also labels/callouts -OpenOffice.org Calc : namespace organization in XForms -OpenOffice.org Calc : native SQL (Base) -OpenOffice.org Calc : natural language addressing -OpenOffice.org Calc : natural logarithm -OpenOffice.org Calc : natural logarithm of Gamma function -OpenOffice.org Calc : natural sort algorithm -OpenOffice.org Calc : navigating -OpenOffice.org Calc : navigating;in documents -OpenOffice.org Calc : navigating;in spreadsheets -OpenOffice.org Calc : Navigation bar -OpenOffice.org Calc : Navigation bar;controls -OpenOffice.org Calc : Navigation bar;forms -OpenOffice.org Calc : Navigator -OpenOffice.org Calc : Navigator;contents as lists -OpenOffice.org Calc : Navigator;docking -OpenOffice.org Calc : Navigator;for sheets -OpenOffice.org Calc : Navigator;working with -OpenOffice.org Calc : nearest multiple -OpenOffice.org Calc : negative binomial distribution -OpenOffice.org Calc : negative numbers -OpenOffice.org Calc : NEGBINOMDIST function -OpenOffice.org Calc : net annual interest rates -OpenOffice.org Calc : net charts -OpenOffice.org Calc : net present values -OpenOffice.org Calc : network identity options -OpenOffice.org Calc : NETWORKDAYS function -OpenOffice.org Calc : new databases -OpenOffice.org Calc : new documents -OpenOffice.org Calc : new German spellcheck -OpenOffice.org Calc : new lines in cells -OpenOffice.org Calc : new windows -OpenOffice.org Calc : NOMINAL function -OpenOffice.org Calc : nominal interest rates -OpenOffice.org Calc : NOMINAL_ADD function -OpenOffice.org Calc : non-breaking dashes -OpenOffice.org Calc : non-breaking spaces (Writer) -OpenOffice.org Calc : non-printing characters (Writer) -OpenOffice.org Calc : normal distribution -OpenOffice.org Calc : normal distribution;inverse of -OpenOffice.org Calc : normal distribution;inverse of standard -OpenOffice.org Calc : normal distribution;standard -OpenOffice.org Calc : normal distribution;statistics -OpenOffice.org Calc : NORMDIST function -OpenOffice.org Calc : NORMINV function -OpenOffice.org Calc : NORMSDIST function -OpenOffice.org Calc : NORMSINV function -OpenOffice.org Calc : NOT function -OpenOffice.org Calc : notes -OpenOffice.org Calc : notes;displaying (Calc) -OpenOffice.org Calc : notes;help text for cells -OpenOffice.org Calc : notes;inserting and editing -OpenOffice.org Calc : notes;on cells -OpenOffice.org Calc : notes;printing -OpenOffice.org Calc : notes;printing in text -OpenOffice.org Calc : NOW function -OpenOffice.org Calc : NPER function -OpenOffice.org Calc : NPV function -OpenOffice.org Calc : null values -OpenOffice.org Calc : null values;printing -OpenOffice.org Calc : number completion on/off -OpenOffice.org Calc : number formats -OpenOffice.org Calc : number formats;adding/deleting decimal places in cells -OpenOffice.org Calc : number formats;codes -OpenOffice.org Calc : number formats;colors -OpenOffice.org Calc : number formats;formats -OpenOffice.org Calc : number formats;logical -OpenOffice.org Calc : number formats;millions -OpenOffice.org Calc : number formats;recognition in text tables -OpenOffice.org Calc : number of combinations -OpenOffice.org Calc : number of combinations with repetitions -OpenOffice.org Calc : number of coupons -OpenOffice.org Calc : number of days -OpenOffice.org Calc : number of days;in a specific month of a year -OpenOffice.org Calc : number of days;in a specific year -OpenOffice.org Calc : number of entries -OpenOffice.org Calc : number of months between two dates -OpenOffice.org Calc : number of pages -OpenOffice.org Calc : number of payment periods -OpenOffice.org Calc : number of permutations -OpenOffice.org Calc : number of sheets -OpenOffice.org Calc : number of sheets;function -OpenOffice.org Calc : number of sheets -OpenOffice.org Calc : number of tables -OpenOffice.org Calc : number of weeks -OpenOffice.org Calc : number of weeks;between two dates -OpenOffice.org Calc : number of weeks;in a specific year -OpenOffice.org Calc : number of years between two dates -OpenOffice.org Calc : number series import -OpenOffice.org Calc : numbering -OpenOffice.org Calc : numbering;options -OpenOffice.org Calc : numbering;paragraphs -OpenOffice.org Calc : numbering;turning off -OpenOffice.org Calc : numbering;using automatically -OpenOffice.org Calc : numbers -OpenOffice.org Calc : numbers;as text -OpenOffice.org Calc : numbers;changing text/number formats -OpenOffice.org Calc : numbers;counting -OpenOffice.org Calc : numbers;date, time and currency formats -OpenOffice.org Calc : numbers;decimal places -OpenOffice.org Calc : numbers;decimal places (Calc) -OpenOffice.org Calc : numbers;determining ranks -OpenOffice.org Calc : numbers;entering fractions -OpenOffice.org Calc : numbers;entering without number formats -OpenOffice.org Calc : numbers;filter sheets -OpenOffice.org Calc : numbers;formatting in tables -OpenOffice.org Calc : numbers;formatting options for selected cells -OpenOffice.org Calc : numbers;greater than or equal to -OpenOffice.org Calc : numbers;highlighting negative numbers -OpenOffice.org Calc : numbers;multiplying -OpenOffice.org Calc : numbers;rounded off -OpenOffice.org Calc : numbers;rounding down to next integer -OpenOffice.org Calc : numbers;rounding up/down to even integers -OpenOffice.org Calc : numbers;user-defined formatting in tables -OpenOffice.org Calc : numbers;with leading zeros -OpenOffice.org Calc : numerical fields in forms -OpenOffice.org Calc : objects -OpenOffice.org Calc : objects;always moveable (Impress/Draw) -OpenOffice.org Calc : objects;arranging within stacks -OpenOffice.org Calc : objects;contours in presentations -OpenOffice.org Calc : objects;copying when moving in presentations -OpenOffice.org Calc : objects;definition -OpenOffice.org Calc : objects;displaying in spreadsheets -OpenOffice.org Calc : objects;displaying in text documents -OpenOffice.org Calc : objects;editing -OpenOffice.org Calc : objects;inserting from Gallery -OpenOffice.org Calc : objects;inserting OLE objects -OpenOffice.org Calc : objects;moving and resizing with mouse -OpenOffice.org Calc : objects;naming -OpenOffice.org Calc : objects;opening -OpenOffice.org Calc : objects;properties of charts -OpenOffice.org Calc : objects;quickly moving to -OpenOffice.org Calc : objects;titles and descriptions -OpenOffice.org Calc : OCT2BIN function -OpenOffice.org Calc : OCT2DEC function -OpenOffice.org Calc : OCT2HEX function -OpenOffice.org Calc : ODBC -OpenOffice.org Calc : ODBC;database (Base) -OpenOffice.org Calc : ODBC;definition -OpenOffice.org Calc : ODD function -OpenOffice.org Calc : odd integers -OpenOffice.org Calc : ODDFPRICE function -OpenOffice.org Calc : ODDFYIELD function -OpenOffice.org Calc : ODDLPRICE function -OpenOffice.org Calc : ODDLYIELD function -OpenOffice.org Calc : ODF file formats -OpenOffice.org Calc : Office -OpenOffice.org Calc : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Calc : OFFSET function -OpenOffice.org Calc : old German spellcheck -OpenOffice.org Calc : OLE -OpenOffice.org Calc : OLE;definition -OpenOffice.org Calc : OLE objects -OpenOffice.org Calc : OLE objects;arranging within stacks -OpenOffice.org Calc : OLE objects;captions (Writer) -OpenOffice.org Calc : OLE objects;inserting -OpenOffice.org Calc : OLE objects;number of -OpenOffice.org Calc : OLE objects;protecting -OpenOffice.org Calc : one and a half line spacing in text -OpenOffice.org Calc : online registration -OpenOffice.org Calc : online update options -OpenOffice.org Calc : online updates -OpenOffice.org Calc : online updates;checking automatically -OpenOffice.org Calc : online updates;checking manually -OpenOffice.org Calc : Open/Save dialogs -OpenOffice.org Calc : OpenDocument file formats -OpenOffice.org Calc : OpenGL -OpenOffice.org Calc : OpenGL;definition -OpenOffice.org Calc : OpenGL;optimized output -OpenOffice.org Calc : opening -OpenOffice.org Calc : opening;context menus -OpenOffice.org Calc : opening;database files -OpenOffice.org Calc : opening;dialog settings -OpenOffice.org Calc : opening;documents -OpenOffice.org Calc : opening;documents from other formats -OpenOffice.org Calc : opening;files with links -OpenOffice.org Calc : opening;files, with placeholders -OpenOffice.org Calc : opening;forms -OpenOffice.org Calc : opening;Microsoft Office files -OpenOffice.org Calc : opening;mobile device documents -OpenOffice.org Calc : opening;objects -OpenOffice.org Calc : opening;reports -OpenOffice.org Calc : opening;scenarios -OpenOffice.org Calc : opening;several files -OpenOffice.org Calc : opening;sheets in HTML -OpenOffice.org Calc : opening;XForms -OpenOffice.org Calc : OpenOffice.org Base data sources -OpenOffice.org Calc : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Calc : OpenOffice.org documents -OpenOffice.org Calc : OpenOffice.org documents;mobile device filters -OpenOffice.org Calc : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Calc : OpenOffice.org Math start -OpenOffice.org Calc : operators -OpenOffice.org Calc : operators;default filters -OpenOffice.org Calc : operators;formula functions -OpenOffice.org Calc : optimal column widths -OpenOffice.org Calc : optimal row heights -OpenOffice.org Calc : optional hyphens (Writer) -OpenOffice.org Calc : options -OpenOffice.org Calc : options;accessibility -OpenOffice.org Calc : options;appearance -OpenOffice.org Calc : options;compatibility (Writer) -OpenOffice.org Calc : options;network identity -OpenOffice.org Calc : options;online update -OpenOffice.org Calc : options;tools -OpenOffice.org Calc : OR function -OpenOffice.org Calc : Oracle databases (base) -OpenOffice.org Calc : order of chart data -OpenOffice.org Calc : ordering -OpenOffice.org Calc : ordering;objects -OpenOffice.org Calc : organizing -OpenOffice.org Calc : organizing;macros and scripts -OpenOffice.org Calc : organizing;namespaces in XForms -OpenOffice.org Calc : organizing;styles -OpenOffice.org Calc : organizing;templates -OpenOffice.org Calc : original size -OpenOffice.org Calc : original size;printing in OpenOffice.org Math -OpenOffice.org Calc : original size;restoring after cropping -OpenOffice.org Calc : outlines -OpenOffice.org Calc : outlines;font effects -OpenOffice.org Calc : outlines;outline symbols -OpenOffice.org Calc : outlines;sending to presentations -OpenOffice.org Calc : outlines;sheets -OpenOffice.org Calc : output ranges of DataPilot tables -OpenOffice.org Calc : overwrite mode -OpenOffice.org Calc : packages, see extensions -OpenOffice.org Calc : page breaks -OpenOffice.org Calc : page breaks;displaying (Calc) -OpenOffice.org Calc : page breaks;inserting in spreadsheets -OpenOffice.org Calc : page breaks;spreadsheet preview -OpenOffice.org Calc : page formats -OpenOffice.org Calc : page formats;maximizing -OpenOffice.org Calc : page formats;restriction -OpenOffice.org Calc : page styles -OpenOffice.org Calc : page styles;editing/applying with statusbar -OpenOffice.org Calc : page styles;footers -OpenOffice.org Calc : page styles;headers -OpenOffice.org Calc : page views -OpenOffice.org Calc : page views;increasing scales -OpenOffice.org Calc : page views;reducing scales -OpenOffice.org Calc : pages -OpenOffice.org Calc : pages;backgrounds in spreadsheets -OpenOffice.org Calc : pages;formatting and numbering -OpenOffice.org Calc : pages;order when printing -OpenOffice.org Calc : pages;printing page names in presentations -OpenOffice.org Calc : pages;scaling -OpenOffice.org Calc : pages;selecting one to print -OpenOffice.org Calc : paint box -OpenOffice.org Calc : paint can for applying styles -OpenOffice.org Calc : paint can symbol -OpenOffice.org Calc : pair kerning -OpenOffice.org Calc : Palm file filters -OpenOffice.org Calc : paper formats -OpenOffice.org Calc : paper size warning -OpenOffice.org Calc : paper trays -OpenOffice.org Calc : paragraph marks -OpenOffice.org Calc : paragraph marks;displaying (Writer) -OpenOffice.org Calc : paragraph styles -OpenOffice.org Calc : paragraph styles;languages -OpenOffice.org Calc : paragraph styles;modifying basic fonts -OpenOffice.org Calc : paragraphs -OpenOffice.org Calc : paragraphs;alignment -OpenOffice.org Calc : paragraphs;Asian typography -OpenOffice.org Calc : paragraphs;backgrounds -OpenOffice.org Calc : paragraphs;defining borders -OpenOffice.org Calc : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Calc : paragraphs;increasing indents of -OpenOffice.org Calc : paragraphs;indents, margins and columns -OpenOffice.org Calc : paragraphs;inserting bullets -OpenOffice.org Calc : paragraphs;joining -OpenOffice.org Calc : paragraphs;numbering automatically -OpenOffice.org Calc : paragraphs;removing blank ones -OpenOffice.org Calc : paragraphs;spacing -OpenOffice.org Calc : paragraphs;tab stops -OpenOffice.org Calc : parameters -OpenOffice.org Calc : parameters;command line -OpenOffice.org Calc : parameters;queries (Base) -OpenOffice.org Calc : passwords for protecting contents -OpenOffice.org Calc : pasting -OpenOffice.org Calc : pasting;cell ranges -OpenOffice.org Calc : pasting;cell ranges from spreadsheets -OpenOffice.org Calc : pasting;data from text documents -OpenOffice.org Calc : pasting;draw objects -OpenOffice.org Calc : pasting;draw objects from other documents -OpenOffice.org Calc : pasting;formatted/unformatted text -OpenOffice.org Calc : pasting;formulas -OpenOffice.org Calc : pasting;from data source view -OpenOffice.org Calc : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Calc : pasting;pictures from other documents -OpenOffice.org Calc : pasting;sheet areas in text documents -OpenOffice.org Calc : pasting;to Gallery -OpenOffice.org Calc : pasting;values in multiple sheets -OpenOffice.org Calc : paths -OpenOffice.org Calc : paths;changing work directory -OpenOffice.org Calc : paths;defaults -OpenOffice.org Calc : pattern editor -OpenOffice.org Calc : pattern fields -OpenOffice.org Calc : pattern fields;form functions -OpenOffice.org Calc : patterns for objects -OpenOffice.org Calc : payment periods -OpenOffice.org Calc : payment periods;number of -OpenOffice.org Calc : PDF -OpenOffice.org Calc : PDF;export -OpenOffice.org Calc : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Calc : PDF export of print ranges -OpenOffice.org Calc : PEARSON function -OpenOffice.org Calc : percentage calculations -OpenOffice.org Calc : PERCENTILE function -OpenOffice.org Calc : PERCENTRANK function -OpenOffice.org Calc : periodic amortizement rates -OpenOffice.org Calc : permitted cell contents -OpenOffice.org Calc : PERMUT function -OpenOffice.org Calc : PERMUTATIONA function -OpenOffice.org Calc : personal data input -OpenOffice.org Calc : PHI function -OpenOffice.org Calc : phonebook sorting rules -OpenOffice.org Calc : phonetic guide -OpenOffice.org Calc : PI function -OpenOffice.org Calc : picklist creation -OpenOffice.org Calc : pictures -OpenOffice.org Calc : pictures;adding to Gallery -OpenOffice.org Calc : pictures;arranging within stacks -OpenOffice.org Calc : pictures;assigning macros -OpenOffice.org Calc : pictures;backgrounds -OpenOffice.org Calc : pictures;captions (Writer) -OpenOffice.org Calc : pictures;changing paths -OpenOffice.org Calc : pictures;cropping and zooming -OpenOffice.org Calc : pictures;displaying in Calc -OpenOffice.org Calc : pictures;displaying in Writer (Writer) -OpenOffice.org Calc : pictures;drag and drop between documents -OpenOffice.org Calc : pictures;drawing -OpenOffice.org Calc : pictures;editing -OpenOffice.org Calc : pictures;filters -OpenOffice.org Calc : pictures;ImageMap -OpenOffice.org Calc : pictures;inserting automatically -OpenOffice.org Calc : pictures;inserting from Gallery -OpenOffice.org Calc : pictures;number of -OpenOffice.org Calc : pictures;printing -OpenOffice.org Calc : pictures;scaling/resizing -OpenOffice.org Calc : pie charts -OpenOffice.org Calc : Pivot table import -OpenOffice.org Calc : Pivot table, see DataPilot function -OpenOffice.org Calc : Pivot tables feature in Microsoft Office -OpenOffice.org Calc : pixel editor -OpenOffice.org Calc : pixel graphics -OpenOffice.org Calc : pixel graphics;inserting and editing -OpenOffice.org Calc : pixel patterns -OpenOffice.org Calc : placeholders -OpenOffice.org Calc : placeholders;in SQL queries -OpenOffice.org Calc : placeholders;on opening files -OpenOffice.org Calc : placing toolbars -OpenOffice.org Calc : playing movies and sound files -OpenOffice.org Calc : plotting data as charts -OpenOffice.org Calc : plug-ins -OpenOffice.org Calc : plug-ins;activating and deactivating -OpenOffice.org Calc : plug-ins;definition -OpenOffice.org Calc : plug-ins;inserting -OpenOffice.org Calc : plus sign, see also operators -OpenOffice.org Calc : PMT function -OpenOffice.org Calc : pocket device appliances -OpenOffice.org Calc : Pocket PC file filters -OpenOffice.org Calc : points -OpenOffice.org Calc : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Calc : points of intersection -OpenOffice.org Calc : POISSON function -OpenOffice.org Calc : polygon drawing -OpenOffice.org Calc : pop-art filter -OpenOffice.org Calc : portable document format -OpenOffice.org Calc : positioning -OpenOffice.org Calc : positioning;draw objects and controls -OpenOffice.org Calc : positioning;fonts -OpenOffice.org Calc : positioning;objects -OpenOffice.org Calc : positioning;toolbars -OpenOffice.org Calc : post method for form transmissions -OpenOffice.org Calc : posterizing filter -OpenOffice.org Calc : PostScript -OpenOffice.org Calc : PostScript;creating files -OpenOffice.org Calc : PostScript;PDF converter, UNIX -OpenOffice.org Calc : POWER function -OpenOffice.org Calc : PowerPoint export -OpenOffice.org Calc : powers of 2 calculations -OpenOffice.org Calc : PPMT function -OpenOffice.org Calc : precision as shown -OpenOffice.org Calc : precision as shown (Calc) -OpenOffice.org Calc : predefining fonts -OpenOffice.org Calc : present values -OpenOffice.org Calc : presentations -OpenOffice.org Calc : presentations;creating/opening -OpenOffice.org Calc : presentations;inserting spreadsheet cells -OpenOffice.org Calc : presentations;live on the Internet -OpenOffice.org Calc : presentations;print menu -OpenOffice.org Calc : presentations;saving -OpenOffice.org Calc : presentations;saving automatically -OpenOffice.org Calc : presentations;saving in other formats -OpenOffice.org Calc : presentations;sending as e-mail -OpenOffice.org Calc : presentations;starting with wizard -OpenOffice.org Calc : presentations;wizards -OpenOffice.org Calc : press buttons, see push buttons -OpenOffice.org Calc : previews -OpenOffice.org Calc : previews;fonts lists -OpenOffice.org Calc : previews;page breaks for printing -OpenOffice.org Calc : PRICE function -OpenOffice.org Calc : PRICEDISC function -OpenOffice.org Calc : PRICEMAT function -OpenOffice.org Calc : prices -OpenOffice.org Calc : prices;fixed interest securities -OpenOffice.org Calc : prices;interest-bearing securities -OpenOffice.org Calc : prices;non-interest-bearing securities -OpenOffice.org Calc : prices;securities with irregular first interest rate -OpenOffice.org Calc : prices;treasury bills -OpenOffice.org Calc : primary keys -OpenOffice.org Calc : primary keys;defining -OpenOffice.org Calc : primary keys;inserting (Base) -OpenOffice.org Calc : print area selection -OpenOffice.org Calc : print ranges -OpenOffice.org Calc : printer metrics for document formatting (Writer) -OpenOffice.org Calc : printers -OpenOffice.org Calc : printers;adding, UNIX -OpenOffice.org Calc : printers;choosing -OpenOffice.org Calc : printers;default printer -OpenOffice.org Calc : printers;faxes under UNIX -OpenOffice.org Calc : printers;maximum page formats -OpenOffice.org Calc : printers;paper trays -OpenOffice.org Calc : printers;properties -OpenOffice.org Calc : printing -OpenOffice.org Calc : printing;black and white -OpenOffice.org Calc : printing;brochures -OpenOffice.org Calc : printing;cells -OpenOffice.org Calc : printing;colors in grayscale -OpenOffice.org Calc : printing;copies -OpenOffice.org Calc : printing;creating individual jobs -OpenOffice.org Calc : printing;dates in presentations -OpenOffice.org Calc : printing;directly -OpenOffice.org Calc : printing;documents -OpenOffice.org Calc : printing;drawings defaults -OpenOffice.org Calc : printing;elements in text documents -OpenOffice.org Calc : printing;faster -OpenOffice.org Calc : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Calc : printing;fitting to pages in presentations -OpenOffice.org Calc : printing;formulas in OpenOffice.org Math -OpenOffice.org Calc : printing;hidden pages of presentations -OpenOffice.org Calc : printing;in original size in OpenOffice.org Math -OpenOffice.org Calc : printing;landscape -OpenOffice.org Calc : printing;left/right pages -OpenOffice.org Calc : printing;page order -OpenOffice.org Calc : printing;queries (Base) -OpenOffice.org Calc : printing;rows/columns as table headings -OpenOffice.org Calc : printing;scaling in OpenOffice.org Math -OpenOffice.org Calc : printing;selections -OpenOffice.org Calc : printing;sheet counts -OpenOffice.org Calc : printing;sheet details -OpenOffice.org Calc : printing;sheet selections -OpenOffice.org Calc : printing;sheets on multiple pages -OpenOffice.org Calc : printing;text always in black -OpenOffice.org Calc : printing;text in reverse order -OpenOffice.org Calc : printing;tiling pages in presentations -OpenOffice.org Calc : printing;transparencies -OpenOffice.org Calc : printing;warnings -OpenOffice.org Calc : printing;without scaling in presentations -OpenOffice.org Calc : printing speed -OpenOffice.org Calc : PROB function -OpenOffice.org Calc : probabilities of samples with binomial distribution -OpenOffice.org Calc : PRODUCT function -OpenOffice.org Calc : programming -OpenOffice.org Calc : programming;add-ins -OpenOffice.org Calc : programming;functions -OpenOffice.org Calc : programming;OpenOffice.org -OpenOffice.org Calc : programming;scripting -OpenOffice.org Calc : PROPER function -OpenOffice.org Calc : properties -OpenOffice.org Calc : properties;charts -OpenOffice.org Calc : properties;fields in databases -OpenOffice.org Calc : properties;files -OpenOffice.org Calc : properties;form controls -OpenOffice.org Calc : properties;forms -OpenOffice.org Calc : properties;printers -OpenOffice.org Calc : properties;smooth lines in line charts/XY charts -OpenOffice.org Calc : protected contents -OpenOffice.org Calc : protected dashes -OpenOffice.org Calc : protected database tables -OpenOffice.org Calc : protected documents -OpenOffice.org Calc : protected spaces -OpenOffice.org Calc : protected spaces;inserting -OpenOffice.org Calc : protected spaces;showing (Writer) -OpenOffice.org Calc : protecting -OpenOffice.org Calc : protecting;cells and sheets -OpenOffice.org Calc : protecting;contents -OpenOffice.org Calc : protecting;recorded changes -OpenOffice.org Calc : protecting;unprotecting cells -OpenOffice.org Calc : proxy settings -OpenOffice.org Calc : push buttons -OpenOffice.org Calc : push buttons;adding to documents -OpenOffice.org Calc : push buttons;creating -OpenOffice.org Calc : PV function -OpenOffice.org Calc : QUARTILE function -OpenOffice.org Calc : queries -OpenOffice.org Calc : queries;copying (Base) -OpenOffice.org Calc : queries;creating in design view (Base) -OpenOffice.org Calc : queries;creating in SQL view -OpenOffice.org Calc : queries;defining (Base) -OpenOffice.org Calc : queries;deleting table links (Base) -OpenOffice.org Calc : queries;editing in data source view -OpenOffice.org Calc : queries;formulating filter conditions (Base) -OpenOffice.org Calc : queries;joining tables (Base) -OpenOffice.org Calc : queries;missing elements (Base) -OpenOffice.org Calc : queries;overview (Base) -OpenOffice.org Calc : queries;parameter queries (Base) -OpenOffice.org Calc : queries;printing (Base) -OpenOffice.org Calc : Query Wizard (Base) -OpenOffice.org Calc : quickstarter -OpenOffice.org Calc : quotation marks -OpenOffice.org Calc : quotation marks;replacing -OpenOffice.org Calc : quotes -OpenOffice.org Calc : quotes;custom -OpenOffice.org Calc : QUOTIENT function -OpenOffice.org Calc : radar charts, see net charts -OpenOffice.org Calc : RADIANS function -OpenOffice.org Calc : radio button creation -OpenOffice.org Calc : RAND function -OpenOffice.org Calc : RANDBETWEEN function -OpenOffice.org Calc : random numbers -OpenOffice.org Calc : random numbers;between 0 and 1 -OpenOffice.org Calc : random numbers;between limits -OpenOffice.org Calc : random numbers;examples -OpenOffice.org Calc : ranges -OpenOffice.org Calc : ranges;defining database ranges -OpenOffice.org Calc : ranges;inserting in tables -OpenOffice.org Calc : ranges;print ranges -OpenOffice.org Calc : RANK function -OpenOffice.org Calc : RATE function -OpenOffice.org Calc : rates of return -OpenOffice.org Calc : rates of return;non-interest-bearing securities -OpenOffice.org Calc : rates of return;securities -OpenOffice.org Calc : rates of return;securities with interest paid on maturity -OpenOffice.org Calc : rates of return of treasury bills -OpenOffice.org Calc : read-only documents -OpenOffice.org Calc : read-only documents;cursor -OpenOffice.org Calc : read-only documents;database tables on/off -OpenOffice.org Calc : read-only documents;editing -OpenOffice.org Calc : read-only documents;opening documents as -OpenOffice.org Calc : read-only items in Data Navigator -OpenOffice.org Calc : recalculating -OpenOffice.org Calc : recalculating;all formulas in sheets -OpenOffice.org Calc : recalculating;auto calculating sheets -OpenOffice.org Calc : recalculating;DataPilot tables -OpenOffice.org Calc : RECEIVED function -OpenOffice.org Calc : recognizing -OpenOffice.org Calc : recognizing;column and row labels -OpenOffice.org Calc : recognizing;equal numbers -OpenOffice.org Calc : recognizing;general errors -OpenOffice.org Calc : recognizing formula cells -OpenOffice.org Calc : recognizing URLs automatically -OpenOffice.org Calc : recording -OpenOffice.org Calc : recording;changes -OpenOffice.org Calc : recording;macros -OpenOffice.org Calc : records -OpenOffice.org Calc : records;counting in Calc databases -OpenOffice.org Calc : records;inserting notes -OpenOffice.org Calc : records;protecting -OpenOffice.org Calc : records;saving -OpenOffice.org Calc : records;searching in databases -OpenOffice.org Calc : rectangles with round corners -OpenOffice.org Calc : recursions in spreadsheets -OpenOffice.org Calc : redo command -OpenOffice.org Calc : reduced printing -OpenOffice.org Calc : reference lines -OpenOffice.org Calc : references -OpenOffice.org Calc : references;absolute/relative -OpenOffice.org Calc : references;by defined names -OpenOffice.org Calc : references;displaying in color (Calc) -OpenOffice.org Calc : references;expanding (Calc) -OpenOffice.org Calc : references;inserting by drag and drop -OpenOffice.org Calc : references;iterative (Calc) -OpenOffice.org Calc : references;testing cell contents -OpenOffice.org Calc : references;to cells -OpenOffice.org Calc : references;to cells in another document -OpenOffice.org Calc : references;URL in cells -OpenOffice.org Calc : Refresh Data feature in Microsoft Office -OpenOffice.org Calc : register-true -OpenOffice.org Calc : register-true;definition -OpenOffice.org Calc : registering -OpenOffice.org Calc : registering;address books -OpenOffice.org Calc : registering;databases (Base) -OpenOffice.org Calc : registering;OpenOffice.org -OpenOffice.org Calc : regression analysis -OpenOffice.org Calc : regression curves in charts -OpenOffice.org Calc : regression lines -OpenOffice.org Calc : regression lines - Statistical Functions Part Five -OpenOffice.org Calc : regular expressions -OpenOffice.org Calc : regular expressions;list of -OpenOffice.org Calc : regular expressions;opening files -OpenOffice.org Calc : relational databases (Base) -OpenOffice.org Calc : relations -OpenOffice.org Calc : relations;creating and deleting (Base) -OpenOffice.org Calc : relations;joining tables (Base) -OpenOffice.org Calc : relations;properties (Base) -OpenOffice.org Calc : relative addresses -OpenOffice.org Calc : relative hyperlinks -OpenOffice.org Calc : relative references -OpenOffice.org Calc : relative saving of URLs -OpenOffice.org Calc : reloading -OpenOffice.org Calc : reloading;documents -OpenOffice.org Calc : reloading;HTML documents, automatically -OpenOffice.org Calc : remainders of divisions -OpenOffice.org Calc : remarks on cells -OpenOffice.org Calc : remarks, see also notes -OpenOffice.org Calc : remote configurations -OpenOffice.org Calc : remove noise filter -OpenOffice.org Calc : removing -OpenOffice.org Calc : removing;bullets and numbering -OpenOffice.org Calc : removing;form filters -OpenOffice.org Calc : removing;manual column breaks -OpenOffice.org Calc : removing, see also deleting -OpenOffice.org Calc : renaming sheets -OpenOffice.org Calc : reorganizing charts -OpenOffice.org Calc : repayment installment -OpenOffice.org Calc : repeating -OpenOffice.org Calc : repeating;columns/rows on printed pages -OpenOffice.org Calc : REPLACE function -OpenOffice.org Calc : Replace text as you type feature in Microsoft Office -OpenOffice.org Calc : replacement options -OpenOffice.org Calc : replacement table -OpenOffice.org Calc : replacing -OpenOffice.org Calc : replacing;AutoCorrect function -OpenOffice.org Calc : replacing;cell contents -OpenOffice.org Calc : replacing;dashes -OpenOffice.org Calc : Report Builder -OpenOffice.org Calc : reports -OpenOffice.org Calc : reports;creating -OpenOffice.org Calc : reports;error reports -OpenOffice.org Calc : reports;opening and editing -OpenOffice.org Calc : reports;templates -OpenOffice.org Calc : REPT function -OpenOffice.org Calc : resetting -OpenOffice.org Calc : resetting;templates -OpenOffice.org Calc : resizing -OpenOffice.org Calc : resizing;objects, by mouse -OpenOffice.org Calc : resizing, see also scaling/zooming -OpenOffice.org Calc : resolution when printing bitmaps -OpenOffice.org Calc : restoring -OpenOffice.org Calc : restoring;default formatting -OpenOffice.org Calc : restoring;editing -OpenOffice.org Calc : results display vs. formulas display -OpenOffice.org Calc : reversing printing order -OpenOffice.org Calc : review function -OpenOffice.org Calc : review function;accepting or rejecting changes -OpenOffice.org Calc : review function;comparing documents -OpenOffice.org Calc : review function;recording changes example -OpenOffice.org Calc : rich text control -OpenOffice.org Calc : right alignment of paragraphs -OpenOffice.org Calc : RIGHT function -OpenOffice.org Calc : right joins (Base) -OpenOffice.org Calc : right-to-left text -OpenOffice.org Calc : right-to-left text -OpenOffice.org Calc : right-to-left text;spreadsheets -OpenOffice.org Calc : ROMAN function -OpenOffice.org Calc : ROT13 function -OpenOffice.org Calc : rotating -OpenOffice.org Calc : rotating;3D text -OpenOffice.org Calc : rotating;tables -OpenOffice.org Calc : rotating;text in cells -OpenOffice.org Calc : round corners -OpenOffice.org Calc : ROUND function -OpenOffice.org Calc : ROUNDDOWN function -OpenOffice.org Calc : rounded off numbers -OpenOffice.org Calc : rounding -OpenOffice.org Calc : rounding;down to nearest multiple of significance -OpenOffice.org Calc : rounding;down to next integer -OpenOffice.org Calc : rounding;up to multiples of significance -OpenOffice.org Calc : rounding;up/down to even integers -OpenOffice.org Calc : rounding;up/down to nearest odd integer -OpenOffice.org Calc : rounding precision -OpenOffice.org Calc : rounding precision (Calc) -OpenOffice.org Calc : ROUNDUP function -OpenOffice.org Calc : row breaks -OpenOffice.org Calc : row breaks;deleting -OpenOffice.org Calc : row breaks;inserting -OpenOffice.org Calc : ROW function -OpenOffice.org Calc : row headers -OpenOffice.org Calc : row headers;displaying (Calc) -OpenOffice.org Calc : row headers;hiding -OpenOffice.org Calc : row headers;highlighting (Calc) -OpenOffice.org Calc : row headers;using in formulas -OpenOffice.org Calc : rows -OpenOffice.org Calc : rows;deleting -OpenOffice.org Calc : rows;deleting with filters -OpenOffice.org Calc : rows;finding labels automatically -OpenOffice.org Calc : rows;freezing -OpenOffice.org Calc : rows;heights -OpenOffice.org Calc : rows;hiding -OpenOffice.org Calc : rows;inserting -OpenOffice.org Calc : rows;optimal heights -OpenOffice.org Calc : rows;repeating when printing -OpenOffice.org Calc : rows;swapping with columns -OpenOffice.org Calc : rows;visible and invisible -OpenOffice.org Calc : ROWS function -OpenOffice.org Calc : RRI function -OpenOffice.org Calc : RSQ calculations -OpenOffice.org Calc : RSQ function -OpenOffice.org Calc : rulers -OpenOffice.org Calc : rulers;default settings -OpenOffice.org Calc : rulers;measurement units -OpenOffice.org Calc : rulers;visible in presentations -OpenOffice.org Calc : sales values -OpenOffice.org Calc : sales values;fixed interest securities -OpenOffice.org Calc : sales values;non-interest-bearing securities -OpenOffice.org Calc : samples and templates -OpenOffice.org Calc : sampling without replacement -OpenOffice.org Calc : saving -OpenOffice.org Calc : saving;default file formats -OpenOffice.org Calc : saving;dialog settings -OpenOffice.org Calc : saving;documents -OpenOffice.org Calc : saving;documents for mobile devices -OpenOffice.org Calc : saving;documents in other formats -OpenOffice.org Calc : saving;documents, automatically -OpenOffice.org Calc : saving;in Microsoft Office file format -OpenOffice.org Calc : saving;options -OpenOffice.org Calc : saving;sheets in HTML -OpenOffice.org Calc : saving;templates -OpenOffice.org Calc : saving;to XML -OpenOffice.org Calc : saving;VBA code in Microsoft Office documents -OpenOffice.org Calc : saving;with password by default -OpenOffice.org Calc : saving as command -OpenOffice.org Calc : saving as command;precautions -OpenOffice.org Calc : scalar products -OpenOffice.org Calc : scaling -OpenOffice.org Calc : scaling;axes -OpenOffice.org Calc : scaling;font sizes in user interface -OpenOffice.org Calc : scaling;objects -OpenOffice.org Calc : scaling;pictures -OpenOffice.org Calc : scaling;printing in OpenOffice.org Math -OpenOffice.org Calc : scaling;text in charts -OpenOffice.org Calc : scaling;when printing presentations -OpenOffice.org Calc : scaling, see also zooming -OpenOffice.org Calc : scatter charts -OpenOffice.org Calc : scenarios -OpenOffice.org Calc : scenarios;creating -OpenOffice.org Calc : scenarios;displaying names -OpenOffice.org Calc : screen -OpenOffice.org Calc : screen;full screen views -OpenOffice.org Calc : screen;scaling -OpenOffice.org Calc : screen magnifiers -OpenOffice.org Calc : screen readers -OpenOffice.org Calc : script organization -OpenOffice.org Calc : scripting in programming -OpenOffice.org Calc : scrollbars -OpenOffice.org Calc : scrollbars;controls -OpenOffice.org Calc : scrollbars;displaying (Calc) -OpenOffice.org Calc : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Calc : scrolling prevention in tables -OpenOffice.org Calc : search criteria for database functions in cells -OpenOffice.org Calc : search engines -OpenOffice.org Calc : search engines;definition -OpenOffice.org Calc : search engines;selecting -OpenOffice.org Calc : SEARCH function -OpenOffice.org Calc : searching -OpenOffice.org Calc : searching;all sheets -OpenOffice.org Calc : searching;cell contents in Calc databases -OpenOffice.org Calc : searching;databases -OpenOffice.org Calc : searching;form filters -OpenOffice.org Calc : searching;Internet -OpenOffice.org Calc : searching;links in cells -OpenOffice.org Calc : searching;maximum values in columns -OpenOffice.org Calc : searching;minimum values in columns -OpenOffice.org Calc : searching;tables and forms -OpenOffice.org Calc : searching, see also finding -OpenOffice.org Calc : SECOND function -OpenOffice.org Calc : secondary axes in charts -OpenOffice.org Calc : sections -OpenOffice.org Calc : sections;backgrounds -OpenOffice.org Calc : sections;protecting -OpenOffice.org Calc : securities -OpenOffice.org Calc : securities;first interest payment until settlement date -OpenOffice.org Calc : security -OpenOffice.org Calc : security;options for documents with macros -OpenOffice.org Calc : security;protecting contents -OpenOffice.org Calc : security;warning dialogs with macros -OpenOffice.org Calc : selecting -OpenOffice.org Calc : selecting;cells -OpenOffice.org Calc : selecting;controls -OpenOffice.org Calc : selecting;formatting themes -OpenOffice.org Calc : selecting;group objects -OpenOffice.org Calc : selecting;measurement units -OpenOffice.org Calc : selecting;multiple sheets -OpenOffice.org Calc : selecting;objects -OpenOffice.org Calc : selecting;print areas -OpenOffice.org Calc : selecting;scenarios in Navigator -OpenOffice.org Calc : selecting;several files -OpenOffice.org Calc : selection clipboard -OpenOffice.org Calc : selection lists -OpenOffice.org Calc : selection lists;filling cells -OpenOffice.org Calc : selection lists;validity -OpenOffice.org Calc : selection modes in spreadsheets -OpenOffice.org Calc : selection modes in text -OpenOffice.org Calc : sending -OpenOffice.org Calc : sending;AutoAbstract function in presentations -OpenOffice.org Calc : sending;documents as e-mail -OpenOffice.org Calc : sending;documents as faxes -OpenOffice.org Calc : separator lines -OpenOffice.org Calc : separator lines;defining -OpenOffice.org Calc : separators -OpenOffice.org Calc : separators;conditional -OpenOffice.org Calc : series -OpenOffice.org Calc : series;calculating -OpenOffice.org Calc : series;sort lists -OpenOffice.org Calc : SERIESSUM function -OpenOffice.org Calc : Server Side ImageMap -OpenOffice.org Calc : settings -OpenOffice.org Calc : settings;printers -OpenOffice.org Calc : settings;program configuration -OpenOffice.org Calc : settings;proxies -OpenOffice.org Calc : settings;tracking changes -OpenOffice.org Calc : settings;views -OpenOffice.org Calc : SGML -OpenOffice.org Calc : SGML;definition -OpenOffice.org Calc : shadows -OpenOffice.org Calc : shadows;areas -OpenOffice.org Calc : shadows;borders -OpenOffice.org Calc : shadows;characters -OpenOffice.org Calc : shadows;characters, using context menu -OpenOffice.org Calc : shared libraries -OpenOffice.org Calc : shared libraries;programming -OpenOffice.org Calc : sharpening filter -OpenOffice.org Calc : sheet area names -OpenOffice.org Calc : SHEET function -OpenOffice.org Calc : sheet grids -OpenOffice.org Calc : sheet grids;printing -OpenOffice.org Calc : sheet numbers -OpenOffice.org Calc : sheet numbers;looking up -OpenOffice.org Calc : sheet ranges -OpenOffice.org Calc : sheet ranges;filling -OpenOffice.org Calc : sheet references -OpenOffice.org Calc : sheet tabs -OpenOffice.org Calc : sheet tabs;displaying -OpenOffice.org Calc : sheet tabs;renaming -OpenOffice.org Calc : sheet tabs;using -OpenOffice.org Calc : sheets -OpenOffice.org Calc : sheets;AutoFormat function -OpenOffice.org Calc : sheets;creating -OpenOffice.org Calc : sheets;defining label ranges -OpenOffice.org Calc : sheets;deleting -OpenOffice.org Calc : sheets;displaying -OpenOffice.org Calc : sheets;filter values -OpenOffice.org Calc : sheets;formatting themes -OpenOffice.org Calc : sheets;hiding -OpenOffice.org Calc : sheets;hiding details -OpenOffice.org Calc : sheets;HTML -OpenOffice.org Calc : sheets;inserting -OpenOffice.org Calc : sheets;inserting - Applying Multiple Sheets -OpenOffice.org Calc : sheets;inserting row breaks -OpenOffice.org Calc : sheets;optimal row heights -OpenOffice.org Calc : sheets;outlines -OpenOffice.org Calc : sheets;printing details -OpenOffice.org Calc : sheets;printing in landscape -OpenOffice.org Calc : sheets;printing on multiple pages -OpenOffice.org Calc : sheets;printing sheet counts -OpenOffice.org Calc : sheets;protecting -OpenOffice.org Calc : sheets;renaming -OpenOffice.org Calc : sheets;right-to-left -OpenOffice.org Calc : sheets;searching all -OpenOffice.org Calc : sheets;selecting multiple -OpenOffice.org Calc : sheets;showing multiple -OpenOffice.org Calc : sheets;simultaneous multiple filling -OpenOffice.org Calc : sheets;transferring values -OpenOffice.org Calc : SHEETS function -OpenOffice.org Calc : shortcut keys -OpenOffice.org Calc : shortcut keys;assigning macros -OpenOffice.org Calc : shortcut keys;charts -OpenOffice.org Calc : shortcut keys;general -OpenOffice.org Calc : shortcut keys;in databases -OpenOffice.org Calc : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Calc : shortcut keys;OpenOffice.org Calc accessibility -OpenOffice.org Calc : shortcut keys;spreadsheets -OpenOffice.org Calc : Show/Hide feature in Microsoft Office -OpenOffice.org Calc : showing -OpenOffice.org Calc : showing;cell references -OpenOffice.org Calc : showing;changes -OpenOffice.org Calc : showing;columns -OpenOffice.org Calc : showing;docked windows -OpenOffice.org Calc : showing;drawings and controls (Writer) -OpenOffice.org Calc : showing;live presentations on the Internet -OpenOffice.org Calc : showing;rows -OpenOffice.org Calc : showing;sheet details -OpenOffice.org Calc : showing;toolbars -OpenOffice.org Calc : SIGN function -OpenOffice.org Calc : signing documents with digital signatures -OpenOffice.org Calc : similarity search -OpenOffice.org Calc : simple handles (Writer) -OpenOffice.org Calc : simplified Chinese -OpenOffice.org Calc : simplified Chinese;translating to traditional Chinese -OpenOffice.org Calc : SIN function -OpenOffice.org Calc : single sign on options -OpenOffice.org Calc : single-line spacing in text -OpenOffice.org Calc : SINH function -OpenOffice.org Calc : sizes -OpenOffice.org Calc : sizes;draw objects -OpenOffice.org Calc : sizes;pictures -OpenOffice.org Calc : SKEW function -OpenOffice.org Calc : slanting draw objects -OpenOffice.org Calc : SLN function -OpenOffice.org Calc : SLOPE function -OpenOffice.org Calc : slopes, see also regression lines -OpenOffice.org Calc : small capitals -OpenOffice.org Calc : SMALL function -OpenOffice.org Calc : small icons -OpenOffice.org Calc : smart tags -OpenOffice.org Calc : smart tags;options -OpenOffice.org Calc : smooth scrolling (Writer) -OpenOffice.org Calc : smoothing filter -OpenOffice.org Calc : snap grid defaults (Writer/Calc) -OpenOffice.org Calc : snapping in presentations and drawings -OpenOffice.org Calc : solarization filter -OpenOffice.org Calc : sort lists -OpenOffice.org Calc : sort lists;applying -OpenOffice.org Calc : sort lists;copying to in Calc -OpenOffice.org Calc : sorting -OpenOffice.org Calc : sorting;Asian languages -OpenOffice.org Calc : sorting;data in forms -OpenOffice.org Calc : sorting;database ranges -OpenOffice.org Calc : sorting;databases -OpenOffice.org Calc : sorting;options for database ranges -OpenOffice.org Calc : sorting;options in Data Pilot -OpenOffice.org Calc : sorting;sort criteria for database ranges -OpenOffice.org Calc : sounds -OpenOffice.org Calc : sounds;inserting and playing -OpenOffice.org Calc : sounds;UNIX -OpenOffice.org Calc : spaces -OpenOffice.org Calc : spaces;displaying (Writer) -OpenOffice.org Calc : spaces;ignoring double -OpenOffice.org Calc : spaces;inserting protected spaces -OpenOffice.org Calc : spaces;showing protected spaces (Writer) -OpenOffice.org Calc : spacing -OpenOffice.org Calc : spacing;between paragraphs in footnotes -OpenOffice.org Calc : spacing;font effects -OpenOffice.org Calc : spacing;lines and paragraphs -OpenOffice.org Calc : spacing;tab stops in text documents -OpenOffice.org Calc : spacing;tabs in presentations -OpenOffice.org Calc : spadmin -OpenOffice.org Calc : special characters -OpenOffice.org Calc : speech bubbles -OpenOffice.org Calc : speed of printing -OpenOffice.org Calc : spellcheck -OpenOffice.org Calc : spellcheck;activating for a language -OpenOffice.org Calc : spellcheck;context menus -OpenOffice.org Calc : spellcheck;default languages -OpenOffice.org Calc : spellcheck;dialog -OpenOffice.org Calc : spellcheck;dictionary of exceptions -OpenOffice.org Calc : spellcheck;ignore list -OpenOffice.org Calc : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Calc : spin button creation -OpenOffice.org Calc : spoolfiles with Xprinter -OpenOffice.org Calc : spreadsheets -OpenOffice.org Calc : spreadsheets;as databases (base) -OpenOffice.org Calc : spreadsheets;backgrounds -OpenOffice.org Calc : spreadsheets;calculating -OpenOffice.org Calc : spreadsheets;copying -OpenOffice.org Calc : spreadsheets;copying areas to text documents -OpenOffice.org Calc : spreadsheets;creating/opening -OpenOffice.org Calc : spreadsheets;deleting -OpenOffice.org Calc : spreadsheets;deleting cell contents -OpenOffice.org Calc : spreadsheets;deleting cells -OpenOffice.org Calc : spreadsheets;deleting column breaks -OpenOffice.org Calc : spreadsheets;deleting row breaks -OpenOffice.org Calc : spreadsheets;displaying headers of columns/rows -OpenOffice.org Calc : spreadsheets;formatting -OpenOffice.org Calc : spreadsheets;formula bar -OpenOffice.org Calc : spreadsheets;functions -OpenOffice.org Calc : spreadsheets;hiding functions -OpenOffice.org Calc : spreadsheets;importing from/exporting to dBASE files -OpenOffice.org Calc : spreadsheets;inserting breaks in -OpenOffice.org Calc : spreadsheets;inserting cells -OpenOffice.org Calc : spreadsheets;inserting charts -OpenOffice.org Calc : spreadsheets;inserting column breaks -OpenOffice.org Calc : spreadsheets;inserting columns -OpenOffice.org Calc : spreadsheets;inserting database records -OpenOffice.org Calc : spreadsheets;inserting rows -OpenOffice.org Calc : spreadsheets;moving -OpenOffice.org Calc : spreadsheets;optimal column widths -OpenOffice.org Calc : spreadsheets;printing -OpenOffice.org Calc : spreadsheets;saving -OpenOffice.org Calc : spreadsheets;saving automatically -OpenOffice.org Calc : spreadsheets;saving in other formats -OpenOffice.org Calc : spreadsheets;sending as e-mail -OpenOffice.org Calc : spreadsheets;shortcut keys in -OpenOffice.org Calc : spreadsheets;showing columns -OpenOffice.org Calc : spreadsheets;value highlighting -OpenOffice.org Calc : spreadsheets;values as shown -OpenOffice.org Calc : SQL -OpenOffice.org Calc : SQL;definition -OpenOffice.org Calc : SQL;DISTINCT parameter -OpenOffice.org Calc : SQL;executing SQL commands -OpenOffice.org Calc : SQL;executing SQL statements (Base) -OpenOffice.org Calc : SQL;queries (Base) -OpenOffice.org Calc : SQRT function -OpenOffice.org Calc : SQRTPI function -OpenOffice.org Calc : square drawings -OpenOffice.org Calc : square number additions -OpenOffice.org Calc : square roots -OpenOffice.org Calc : square roots;positive numbers -OpenOffice.org Calc : square roots;products of Pi -OpenOffice.org Calc : standard bar on/off -OpenOffice.org Calc : standard deviation in charts -OpenOffice.org Calc : standard deviations in databases -OpenOffice.org Calc : standard deviations in databases;based on a sample -OpenOffice.org Calc : standard deviations in databases;based on populations -OpenOffice.org Calc : standard deviations in statistics -OpenOffice.org Calc : standard deviations in statistics;based on a population -OpenOffice.org Calc : standard deviations in statistics;based on a sample -OpenOffice.org Calc : standard errors -OpenOffice.org Calc : standard errors;array functions -OpenOffice.org Calc : standard errors;statistical functions -OpenOffice.org Calc : standard filters in databases -OpenOffice.org Calc : standard printer under UNIX -OpenOffice.org Calc : STANDARDIZE function -OpenOffice.org Calc : Start Module backing window -OpenOffice.org Calc : start parameters -OpenOffice.org Calc : statistics functions -OpenOffice.org Calc : statistics in charts -OpenOffice.org Calc : status bar on/off -OpenOffice.org Calc : STDEV function -OpenOffice.org Calc : STDEVA function -OpenOffice.org Calc : STDEVP function -OpenOffice.org Calc : STDEVPA function -OpenOffice.org Calc : STEYX function -OpenOffice.org Calc : stickers -OpenOffice.org Calc : stock charts -OpenOffice.org Calc : straight-line depreciations -OpenOffice.org Calc : strikethrough -OpenOffice.org Calc : strikethrough;characters -OpenOffice.org Calc : strikethrough;font effects -OpenOffice.org Calc : STYLE function -OpenOffice.org Calc : STYLE function example -OpenOffice.org Calc : styles -OpenOffice.org Calc : styles;'changed' message -OpenOffice.org Calc : styles;conditional styles -OpenOffice.org Calc : styles;copying between documents -OpenOffice.org Calc : styles;keyboard shortcuts -OpenOffice.org Calc : styles;organizing -OpenOffice.org Calc : styles;printing styles used in a document -OpenOffice.org Calc : styles;replacing automatically -OpenOffice.org Calc : Styles and Formatting window -OpenOffice.org Calc : Styles and Formatting window;docking -OpenOffice.org Calc : Styles and Formatting window -OpenOffice.org Calc : Stylist, see Styles and Formatting window -OpenOffice.org Calc : subforms -OpenOffice.org Calc : subforms;creating -OpenOffice.org Calc : subforms;description -OpenOffice.org Calc : submitting forms -OpenOffice.org Calc : subscript text in cells -OpenOffice.org Calc : SUBSTITUTE function -OpenOffice.org Calc : SUBTOTAL function -OpenOffice.org Calc : subtotals -OpenOffice.org Calc : subtotals;sorting options -OpenOffice.org Calc : suffixes in file formats -OpenOffice.org Calc : SUM function -OpenOffice.org Calc : sum function in formula bar -OpenOffice.org Calc : sum of squares of deviations -OpenOffice.org Calc : SUMIF function -OpenOffice.org Calc : SUMPRODUCT function -OpenOffice.org Calc : sums -OpenOffice.org Calc : sums;cells in Calc databases -OpenOffice.org Calc : sums;of filtered data -OpenOffice.org Calc : sums;of square numbers -OpenOffice.org Calc : SUMSQ function -OpenOffice.org Calc : SUMX2MY2 function -OpenOffice.org Calc : SUMX2PY2 function -OpenOffice.org Calc : SUMXMY2 function -OpenOffice.org Calc : superscript text in cells -OpenOffice.org Calc : support on the Web -OpenOffice.org Calc : swapping tables -OpenOffice.org Calc : SYD function -OpenOffice.org Calc : syllables in spreadsheets -OpenOffice.org Calc : synchronizing -OpenOffice.org Calc : synchronizing;labels and business cards -OpenOffice.org Calc : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Calc : system address book registration -OpenOffice.org Calc : T function -OpenOffice.org Calc : t-distribution -OpenOffice.org Calc : tab stops -OpenOffice.org Calc : tab stops;displaying (Writer) -OpenOffice.org Calc : tab stops;inserting and editing -OpenOffice.org Calc : tab stops;setting in sheets -OpenOffice.org Calc : tab stops;settings -OpenOffice.org Calc : tab stops;spacing in presentations -OpenOffice.org Calc : tab stops;spacing in text documents -OpenOffice.org Calc : table controls -OpenOffice.org Calc : table controls;form functions -OpenOffice.org Calc : table controls;keyboard-only edit mode -OpenOffice.org Calc : table controls;properties -OpenOffice.org Calc : table views of databases -OpenOffice.org Calc : Table Wizard (Base) -OpenOffice.org Calc : tables -OpenOffice.org Calc : tables;AutoFormat function -OpenOffice.org Calc : tables;backgrounds -OpenOffice.org Calc : tables;combining -OpenOffice.org Calc : tables;copying cell styles -OpenOffice.org Calc : tables;database ranges -OpenOffice.org Calc : tables;deactivating automatic changes in -OpenOffice.org Calc : tables;displaying formulas/values -OpenOffice.org Calc : tables;freezing -OpenOffice.org Calc : tables;importing/exporting as text -OpenOffice.org Calc : tables;inserting external data -OpenOffice.org Calc : tables;inserting line breaks -OpenOffice.org Calc : tables;merging cells -OpenOffice.org Calc : tables;multiple operations in -OpenOffice.org Calc : tables;number formats -OpenOffice.org Calc : tables;renaming -OpenOffice.org Calc : tables;rotating -OpenOffice.org Calc : tables;selecting ranges -OpenOffice.org Calc : tables;showing details -OpenOffice.org Calc : tables;splitting windows -OpenOffice.org Calc : tables;transposing -OpenOffice.org Calc : tables;views -OpenOffice.org Calc : tables in databases -OpenOffice.org Calc : tables in databases;access rights to (Base) -OpenOffice.org Calc : tables in databases;adding to queries -OpenOffice.org Calc : tables in databases;browsing and editing -OpenOffice.org Calc : tables in databases;copying database tables (Base) -OpenOffice.org Calc : tables in databases;creating -OpenOffice.org Calc : tables in databases;creating in design view -OpenOffice.org Calc : tables in databases;importing dBASE files -OpenOffice.org Calc : tables in databases;importing text formats (Base) -OpenOffice.org Calc : tables in databases;joining for queries (Base) -OpenOffice.org Calc : tables in databases;printing queries (Base) -OpenOffice.org Calc : tables in databases;relations (Base) -OpenOffice.org Calc : tables in databases;searching -OpenOffice.org Calc : tables in spreadsheets -OpenOffice.org Calc : tables in spreadsheets;copying data to other applications -OpenOffice.org Calc : tables in spreadsheets;defining borders -OpenOffice.org Calc : tables in spreadsheets;value highlighting -OpenOffice.org Calc : tables in text -OpenOffice.org Calc : tables in text;captions -OpenOffice.org Calc : tables in text;creating automatically -OpenOffice.org Calc : tables in text;default settings -OpenOffice.org Calc : tables in text;defining borders -OpenOffice.org Calc : tables in text;displaying -OpenOffice.org Calc : tables in text;printing -OpenOffice.org Calc : tables in text;protecting cells -OpenOffice.org Calc : tables of contents -OpenOffice.org Calc : tables of contents;unprotecting -OpenOffice.org Calc : tabs -OpenOffice.org Calc : tabs;displaying sheet tabs -OpenOffice.org Calc : tags -OpenOffice.org Calc : tags;definition -OpenOffice.org Calc : tags;META tags -OpenOffice.org Calc : TAN function -OpenOffice.org Calc : TANH function -OpenOffice.org Calc : TBILLEQ function -OpenOffice.org Calc : TBILLPRICE function -OpenOffice.org Calc : TBILLYIELD function -OpenOffice.org Calc : TDIST function -OpenOffice.org Calc : templates -OpenOffice.org Calc : templates;agendas -OpenOffice.org Calc : templates;changing basic fonts -OpenOffice.org Calc : templates;database reports -OpenOffice.org Calc : templates;deleting -OpenOffice.org Calc : templates;editing and saving -OpenOffice.org Calc : templates;faxes -OpenOffice.org Calc : templates;importing and exporting -OpenOffice.org Calc : templates;letters -OpenOffice.org Calc : templates;new documents from templates -OpenOffice.org Calc : templates;opening documents with -OpenOffice.org Calc : templates;organizing -OpenOffice.org Calc : terminology -OpenOffice.org Calc : terminology;general glossary -OpenOffice.org Calc : terminology;Internet glossary -OpenOffice.org Calc : testing XML filters -OpenOffice.org Calc : text -OpenOffice.org Calc : text;animating -OpenOffice.org Calc : text;Asian layout -OpenOffice.org Calc : text;backgrounds -OpenOffice.org Calc : text;bold -OpenOffice.org Calc : text;coloring -OpenOffice.org Calc : text;contours -OpenOffice.org Calc : text;copying by drag and drop -OpenOffice.org Calc : text;CTL languages -OpenOffice.org Calc : text;drawing pictures -OpenOffice.org Calc : text;font effects -OpenOffice.org Calc : text;font sizes -OpenOffice.org Calc : text;font styles -OpenOffice.org Calc : text;fonts and formats -OpenOffice.org Calc : text;Fontwork icons -OpenOffice.org Calc : text;hyperlinks -OpenOffice.org Calc : text;inserting special characters -OpenOffice.org Calc : text;italics -OpenOffice.org Calc : text;kerning -OpenOffice.org Calc : text;language selection -OpenOffice.org Calc : text;line spacing -OpenOffice.org Calc : text;overwriting or inserting -OpenOffice.org Calc : text;placeholders in presentations -OpenOffice.org Calc : text;printing in black -OpenOffice.org Calc : text;replacing with format -OpenOffice.org Calc : text;selection modes -OpenOffice.org Calc : text;shadowed -OpenOffice.org Calc : text;text/draw objects -OpenOffice.org Calc : text attributes -OpenOffice.org Calc : text attributes;hyperlinks -OpenOffice.org Calc : text attributes;undoing -OpenOffice.org Calc : text boxes -OpenOffice.org Calc : text boxes;form functions -OpenOffice.org Calc : text boxes;positioning -OpenOffice.org Calc : text breaks in cells -OpenOffice.org Calc : text colors for better accessibility -OpenOffice.org Calc : text completion on/off -OpenOffice.org Calc : text concatenation AND -OpenOffice.org Calc : text databases (Base) -OpenOffice.org Calc : text documents -OpenOffice.org Calc : text documents;creating/opening -OpenOffice.org Calc : text documents;importing to spreadsheets -OpenOffice.org Calc : text documents;importing/exporting -OpenOffice.org Calc : text documents;inserting spreadsheet cells -OpenOffice.org Calc : text documents;print settings -OpenOffice.org Calc : text documents;printing -OpenOffice.org Calc : text documents;saving -OpenOffice.org Calc : text documents;saving automatically -OpenOffice.org Calc : text documents;saving in other formats -OpenOffice.org Calc : text documents;sending as e-mail -OpenOffice.org Calc : text effects -OpenOffice.org Calc : text file import and export -OpenOffice.org Calc : text flow -OpenOffice.org Calc : text flow;in cells -OpenOffice.org Calc : text formats -OpenOffice.org Calc : text formats;databases -OpenOffice.org Calc : text formats;for numbers -OpenOffice.org Calc : text formats;pasting -OpenOffice.org Calc : TEXT function -OpenOffice.org Calc : text in cells -OpenOffice.org Calc : text in cells;as addressing -OpenOffice.org Calc : text in cells;AutoInput function -OpenOffice.org Calc : text in cells;changing to numbers -OpenOffice.org Calc : text in cells;formatting -OpenOffice.org Calc : text in cells;functions -OpenOffice.org Calc : text in cells;multi-line -OpenOffice.org Calc : text in cells;writing vertically -OpenOffice.org Calc : text input fields -OpenOffice.org Calc : text layout for special languages -OpenOffice.org Calc : text objects -OpenOffice.org Calc : text objects;alignment -OpenOffice.org Calc : text objects;draw functions -OpenOffice.org Calc : text objects;fonts -OpenOffice.org Calc : text objects;in presentations and drawings -OpenOffice.org Calc : text operators -OpenOffice.org Calc : text overflow in spreadsheet cells -OpenOffice.org Calc : text scaling in charts -OpenOffice.org Calc : text to columns -OpenOffice.org Calc : text, see also text documents, paragraphs and characters -OpenOffice.org Calc : TextArt, see Fontwork -OpenOffice.org Calc : textures -OpenOffice.org Calc : textures;inserting from Gallery -OpenOffice.org Calc : textures;on chart bars -OpenOffice.org Calc : Thai -OpenOffice.org Calc : Thai;entering text -OpenOffice.org Calc : Thai;language settings -OpenOffice.org Calc : theme selection for sheets -OpenOffice.org Calc : thesaurus -OpenOffice.org Calc : thesaurus;activating for a language -OpenOffice.org Calc : ticker text -OpenOffice.org Calc : time differences -OpenOffice.org Calc : time fields -OpenOffice.org Calc : time fields;form functions -OpenOffice.org Calc : TIME function -OpenOffice.org Calc : times -OpenOffice.org Calc : times;in cells -OpenOffice.org Calc : times;inserting when printing presentations -OpenOffice.org Calc : times, formats -OpenOffice.org Calc : TIMEVALUE function -OpenOffice.org Calc : TINV function -OpenOffice.org Calc : tips -OpenOffice.org Calc : tips;extended tips in Help -OpenOffice.org Calc : title rows -OpenOffice.org Calc : title rows;freezing during table split -OpenOffice.org Calc : title rows;printing in OpenOffice.org Math -OpenOffice.org Calc : title rows;printing on all sheets -OpenOffice.org Calc : titles -OpenOffice.org Calc : titles;alignment (charts) -OpenOffice.org Calc : titles;changing -OpenOffice.org Calc : titles;editing in charts -OpenOffice.org Calc : titles;font effects -OpenOffice.org Calc : titles;formatting automatically -OpenOffice.org Calc : titles;formatting charts -OpenOffice.org Calc : titles;objects -OpenOffice.org Calc : TODAY function -OpenOffice.org Calc : toolbars -OpenOffice.org Calc : toolbars;adding buttons -OpenOffice.org Calc : toolbars;docking/undocking -OpenOffice.org Calc : toolbars;Form Navigation bar -OpenOffice.org Calc : toolbars;viewing/closing -OpenOffice.org Calc : tools bar -OpenOffice.org Calc : tooltips -OpenOffice.org Calc : tooltips;extended tips -OpenOffice.org Calc : tooltips;help -OpenOffice.org Calc : total amortizement rates -OpenOffice.org Calc : traces -OpenOffice.org Calc : traces;autorefreshing -OpenOffice.org Calc : traces;precedents and dependents -OpenOffice.org Calc : traces;precedents for multiple cells -OpenOffice.org Calc : traces;refreshing -OpenOffice.org Calc : tracing errors -OpenOffice.org Calc : Track changes feature in Microsoft Office -OpenOffice.org Calc : traditional Chinese -OpenOffice.org Calc : traditional Chinese;translating to simplified chinese -OpenOffice.org Calc : transparency -OpenOffice.org Calc : transparency;areas -OpenOffice.org Calc : transparency;off for faster printing -OpenOffice.org Calc : transparency;saving -OpenOffice.org Calc : TRANSPOSE function -OpenOffice.org Calc : transposing tables -OpenOffice.org Calc : treasury bills -OpenOffice.org Calc : treasury bills;annual return -OpenOffice.org Calc : treasury bills;prices -OpenOffice.org Calc : treasury bills;rates of return -OpenOffice.org Calc : tree view of Help -OpenOffice.org Calc : TREND function -OpenOffice.org Calc : trend lines in charts -OpenOffice.org Calc : trigonometric functions -OpenOffice.org Calc : TRIM function -OpenOffice.org Calc : TRIMMEAN function -OpenOffice.org Calc : TRUE function -OpenOffice.org Calc : TRUNC function -OpenOffice.org Calc : TTEST function -OpenOffice.org Calc : TYPE function -OpenOffice.org Calc : typefaces -OpenOffice.org Calc : typefaces;adding under UNIX -OpenOffice.org Calc : typefaces;formats -OpenOffice.org Calc : typographical quotes in OpenOffice.org Writer -OpenOffice.org Calc : typography -OpenOffice.org Calc : typography;Asian -OpenOffice.org Calc : underlining -OpenOffice.org Calc : underlining;AutoFormat function -OpenOffice.org Calc : underlining;characters -OpenOffice.org Calc : underlining;text -OpenOffice.org Calc : undocking windows -OpenOffice.org Calc : undoing -OpenOffice.org Calc : undoing;direct formatting -OpenOffice.org Calc : undoing;editing -OpenOffice.org Calc : undoing;number of steps -OpenOffice.org Calc : ungrouping entries in DataPilot tables -OpenOffice.org Calc : ungrouping groups -OpenOffice.org Calc : units -OpenOffice.org Calc : units;converting -OpenOffice.org Calc : units;measurement units -OpenOffice.org Calc : unmerging cells -OpenOffice.org Calc : UNO components -OpenOffice.org Calc : UNO components;Extension Manager -OpenOffice.org Calc : UNO components;integrating new -OpenOffice.org Calc : unprotecting cells -OpenOffice.org Calc : update options -OpenOffice.org Calc : updates -OpenOffice.org Calc : updates;checking automatically -OpenOffice.org Calc : updates;checking manually -OpenOffice.org Calc : updating -OpenOffice.org Calc : updating;DataPilot tables -OpenOffice.org Calc : updating;fields and charts, automatically (Writer) -OpenOffice.org Calc : updating;links in text documents -OpenOffice.org Calc : updating;links, on opening -OpenOffice.org Calc : updating;templates -OpenOffice.org Calc : updating;traces -OpenOffice.org Calc : UPPER function -OpenOffice.org Calc : URL -OpenOffice.org Calc : URL;changing hyperlink URLs -OpenOffice.org Calc : URL;definition -OpenOffice.org Calc : URL;in Calc -OpenOffice.org Calc : URL;saving absolute/relative paths -OpenOffice.org Calc : URL;turning off URL recognition -OpenOffice.org Calc : user data -OpenOffice.org Calc : user data;input -OpenOffice.org Calc : user data;removing when saving -OpenOffice.org Calc : user-defined dictionaries -OpenOffice.org Calc : user-defined dictionaries;creating -OpenOffice.org Calc : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Calc : user-defined dictionaries;editing -OpenOffice.org Calc : user-defined functions -OpenOffice.org Calc : user-defined styles -OpenOffice.org Calc : user-defined styles;automatically replacing -OpenOffice.org Calc : UTF-8/UCS2 support -OpenOffice.org Calc : Validation feature in Microsoft Office -OpenOffice.org Calc : validity -OpenOffice.org Calc : VALUE function -OpenOffice.org Calc : values -OpenOffice.org Calc : values;absolute -OpenOffice.org Calc : values;consolidating -OpenOffice.org Calc : values;defining names -OpenOffice.org Calc : values;displaying in tables -OpenOffice.org Calc : values;highlighting -OpenOffice.org Calc : values;inserting in multiple cells -OpenOffice.org Calc : values;inserting in multiple sheets -OpenOffice.org Calc : values;limiting on input -OpenOffice.org Calc : values;rounded as shown (Calc) -OpenOffice.org Calc : values;rounded in calculations -OpenOffice.org Calc : VAR function -OpenOffice.org Calc : VARA function -OpenOffice.org Calc : variables -OpenOffice.org Calc : variables;calculating equations -OpenOffice.org Calc : variables;defining names -OpenOffice.org Calc : variables;for paths -OpenOffice.org Calc : variances -OpenOffice.org Calc : variances;based on populations -OpenOffice.org Calc : variances;based on samples -OpenOffice.org Calc : variances -OpenOffice.org Calc : variances in charts -OpenOffice.org Calc : VARP function -OpenOffice.org Calc : VARPA function -OpenOffice.org Calc : VBA code -OpenOffice.org Calc : VBA code;loading/saving documents with VBA code -OpenOffice.org Calc : VDB function -OpenOffice.org Calc : version management -OpenOffice.org Calc : version numbers of documents -OpenOffice.org Calc : versions -OpenOffice.org Calc : versions;comparing documents -OpenOffice.org Calc : versions;file saving as, restriction -OpenOffice.org Calc : versions;merging document versions -OpenOffice.org Calc : versions;of a document -OpenOffice.org Calc : versions;OpenOffice.org -OpenOffice.org Calc : vertical callouts -OpenOffice.org Calc : vertical scrollbars (Writer) -OpenOffice.org Calc : vertical search function -OpenOffice.org Calc : vertical text boxes -OpenOffice.org Calc : videos -OpenOffice.org Calc : viewing -OpenOffice.org Calc : viewing;databases -OpenOffice.org Calc : viewing;file properties -OpenOffice.org Calc : viewing;notes on cells -OpenOffice.org Calc : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Calc : viewing;print ranges -OpenOffice.org Calc : viewing;toolbars -OpenOffice.org Calc : views -OpenOffice.org Calc : views;creating database views (Base) -OpenOffice.org Calc : views;defaults -OpenOffice.org Calc : views;full screen -OpenOffice.org Calc : views;icons -OpenOffice.org Calc : views;in 3D -OpenOffice.org Calc : views;multiple sheets -OpenOffice.org Calc : views;scaling -OpenOffice.org Calc : views;tables -OpenOffice.org Calc : Visual Basic for Applications -OpenOffice.org Calc : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Calc : VLOOKUP function -OpenOffice.org Calc : watermarks -OpenOffice.org Calc : web documents -OpenOffice.org Calc : web documents;XForms -OpenOffice.org Calc : web pages -OpenOffice.org Calc : web pages;importing data -OpenOffice.org Calc : Web support -OpenOffice.org Calc : WebCast export -OpenOffice.org Calc : WebQuery filter -OpenOffice.org Calc : WEEKDAY function -OpenOffice.org Calc : WEEKNUM function -OpenOffice.org Calc : WEEKNUM_ADD function -OpenOffice.org Calc : WEEKS function -OpenOffice.org Calc : WEEKSINYEAR function -OpenOffice.org Calc : WEIBULL function -OpenOffice.org Calc : what if operations -OpenOffice.org Calc : widths of cells -OpenOffice.org Calc : windows -OpenOffice.org Calc : windows;docking -OpenOffice.org Calc : windows;docking definition -OpenOffice.org Calc : windows;hiding/showing/docking -OpenOffice.org Calc : windows;new -OpenOffice.org Calc : windows;splitting -OpenOffice.org Calc : wizards -OpenOffice.org Calc : wizards;agendas -OpenOffice.org Calc : wizards;database queries -OpenOffice.org Calc : wizards;database tables (Base) -OpenOffice.org Calc : wizards;databases (Base) -OpenOffice.org Calc : wizards;document converter -OpenOffice.org Calc : wizards;Euro Converter -OpenOffice.org Calc : wizards;faxes -OpenOffice.org Calc : wizards;forms -OpenOffice.org Calc : wizards;functions -OpenOffice.org Calc : wizards;letters -OpenOffice.org Calc : wizards;overview -OpenOffice.org Calc : wizards;presentations -OpenOffice.org Calc : wizards;reports -OpenOffice.org Calc : Word documents -OpenOffice.org Calc : Word documents;compatibility -OpenOffice.org Calc : Word documents;saving as -OpenOffice.org Calc : WordArt, see Fontwork -OpenOffice.org Calc : words -OpenOffice.org Calc : words;automatically replacing -OpenOffice.org Calc : words;wrapping in cells -OpenOffice.org Calc : work directory change -OpenOffice.org Calc : Workbook feature in Microsoft Office -OpenOffice.org Calc : WORKDAY function -OpenOffice.org Calc : Worksheet feature in Microsoft Office -OpenOffice.org Calc : worksheet names -OpenOffice.org Calc : wrapping text -OpenOffice.org Calc : wrapping text;in cells -OpenOffice.org Calc : write protection on/off -OpenOffice.org Calc : writing aids options -OpenOffice.org Calc : WYSIWYG in fonts lists -OpenOffice.org Calc : X axes -OpenOffice.org Calc : X axes;grid formatting -OpenOffice.org Calc : X axes;scaling -OpenOffice.org Calc : X axes;showing -OpenOffice.org Calc : XForms -OpenOffice.org Calc : XIRR function -OpenOffice.org Calc : XML converters -OpenOffice.org Calc : XML file formats -OpenOffice.org Calc : XML filters -OpenOffice.org Calc : XML filters;creating/testing/distributing/deleting -OpenOffice.org Calc : XML filters;settings -OpenOffice.org Calc : XML Forms -OpenOffice.org Calc : XNPV function -OpenOffice.org Calc : XSLT based filters -OpenOffice.org Calc : XSLT based filters;settings -OpenOffice.org Calc : XSLT filters, see also XML filters -OpenOffice.org Calc : XY charts -OpenOffice.org Calc : Y axes -OpenOffice.org Calc : Y axes;formatting -OpenOffice.org Calc : Y axes;grid formatting -OpenOffice.org Calc : Y axes;scaling -OpenOffice.org Calc : Y axes;showing -OpenOffice.org Calc : YEAR function -OpenOffice.org Calc : YEARFRAC function -OpenOffice.org Calc : years -OpenOffice.org Calc : years;2-digit options -OpenOffice.org Calc : years;2-digits -OpenOffice.org Calc : YEARS function -OpenOffice.org Calc : YIELD function -OpenOffice.org Calc : YIELDDISC function -OpenOffice.org Calc : YIELDMAT function -OpenOffice.org Calc : yields, see also rates of return -OpenOffice.org Calc : Z axes -OpenOffice.org Calc : Z axes;grid formatting -OpenOffice.org Calc : Z axes;showing -OpenOffice.org Calc : zero values -OpenOffice.org Calc : zero values;displaying (Calc) -OpenOffice.org Calc : zero values;entering leading zeros -OpenOffice.org Calc : zero values;printing -OpenOffice.org Calc : zooming -OpenOffice.org Calc : zooming;enlarging page views -OpenOffice.org Calc : zooming;page views -OpenOffice.org Calc : zooming;pictures -OpenOffice.org Calc : zooming;reducing page views -OpenOffice.org Calc : zooming;status bar -OpenOffice.org Calc : ZTEST function -OpenOffice.org Draw : 1/2 replacement -OpenOffice.org Draw : 3D charts -OpenOffice.org Draw : 3D objects -OpenOffice.org Draw : 3D objects;assembling -OpenOffice.org Draw : 3D objects;generating -OpenOffice.org Draw : 3D objects;inserting -OpenOffice.org Draw : 3D rotation objects -OpenOffice.org Draw : 3D rotation objects;converting to -OpenOffice.org Draw : 3D rotation objects;generating -OpenOffice.org Draw : 3D text creation -OpenOffice.org Draw : 3D view -OpenOffice.org Draw : abbreviation replacement -OpenOffice.org Draw : absolute hyperlinks -OpenOffice.org Draw : absolute saving of URLs -OpenOffice.org Draw : accents -OpenOffice.org Draw : Access databases (base) -OpenOffice.org Draw : access rights for database tables (Base) -OpenOffice.org Draw : accessibility -OpenOffice.org Draw : accessibility;general shortcuts -OpenOffice.org Draw : accessibility;OpenOffice.org assistive technology -OpenOffice.org Draw : accessibility;OpenOffice.org Draw -OpenOffice.org Draw : accessibility;OpenOffice.org features -OpenOffice.org Draw : accessibility;OpenOffice.org Impress -OpenOffice.org Draw : accessibility;options -OpenOffice.org Draw : activating -OpenOffice.org Draw : activating;context menus -OpenOffice.org Draw : activating;Error Report Tool -OpenOffice.org Draw : activating;extended help tips -OpenOffice.org Draw : activating;plug-ins -OpenOffice.org Draw : ActiveX control -OpenOffice.org Draw : Adabas D databases (base) -OpenOffice.org Draw : add-ons, see UNO components -OpenOffice.org Draw : adding -OpenOffice.org Draw : adding;animation effects -OpenOffice.org Draw : adding;automatic captions (Writer) -OpenOffice.org Draw : adding;backgrounds -OpenOffice.org Draw : adding;buttons in toolbars -OpenOffice.org Draw : adding;conditions for XForm items -OpenOffice.org Draw : adding;draw objects -OpenOffice.org Draw : adding;Fontwork objects -OpenOffice.org Draw : adding;headers/footers in all slides -OpenOffice.org Draw : adding;items in Data Navigator -OpenOffice.org Draw : adding;namespaces in XForms -OpenOffice.org Draw : adding;paragraph borders -OpenOffice.org Draw : adding;pictures from Gallery -OpenOffice.org Draw : adding;pictures in Gallery -OpenOffice.org Draw : adding;plug-ins -OpenOffice.org Draw : adding;points -OpenOffice.org Draw : adding;push buttons -OpenOffice.org Draw : adding;table borders -OpenOffice.org Draw : adding;text frames -OpenOffice.org Draw : adding;textures on chart bars -OpenOffice.org Draw : additional selection mode -OpenOffice.org Draw : address books -OpenOffice.org Draw : address books;LDAP server (Base) -OpenOffice.org Draw : address books;registering -OpenOffice.org Draw : address labels from databases -OpenOffice.org Draw : ADO databases (Base) -OpenOffice.org Draw : Agenda Wizard -OpenOffice.org Draw : aging filter -OpenOffice.org Draw : aligning -OpenOffice.org Draw : aligning;2D charts -OpenOffice.org Draw : aligning;cells -OpenOffice.org Draw : aligning;draw objects -OpenOffice.org Draw : aligning;objects -OpenOffice.org Draw : aligning;paragraphs -OpenOffice.org Draw : aligning;tables in text -OpenOffice.org Draw : aligning;text objects -OpenOffice.org Draw : aligning;titles in charts -OpenOffice.org Draw : allowing -OpenOffice.org Draw : allowing;effects -OpenOffice.org Draw : allowing;interaction -OpenOffice.org Draw : alternative fonts -OpenOffice.org Draw : ampersand symbol, see also operators -OpenOffice.org Draw : anchors -OpenOffice.org Draw : anchors;changing -OpenOffice.org Draw : anchors;displaying (Calc) -OpenOffice.org Draw : anchors;types/positions for draw objects -OpenOffice.org Draw : animated GIFs -OpenOffice.org Draw : animated slide transitions -OpenOffice.org Draw : animations -OpenOffice.org Draw : animations;accessibility options -OpenOffice.org Draw : animations;editing -OpenOffice.org Draw : animations;list of -OpenOffice.org Draw : animations;saving as GIFs -OpenOffice.org Draw : appearance options -OpenOffice.org Draw : applet insertion -OpenOffice.org Draw : applying -OpenOffice.org Draw : applying;animation effects -OpenOffice.org Draw : applying;gradients -OpenOffice.org Draw : applying;languages, to selected text -OpenOffice.org Draw : Arabic -OpenOffice.org Draw : Arabic;entering text -OpenOffice.org Draw : Arabic;language settings -OpenOffice.org Draw : area charts -OpenOffice.org Draw : areas -OpenOffice.org Draw : areas;bitmap patterns -OpenOffice.org Draw : areas;from connected lines -OpenOffice.org Draw : areas;hatched/dotted -OpenOffice.org Draw : areas;shadows -OpenOffice.org Draw : areas;slanting -OpenOffice.org Draw : areas;styles -OpenOffice.org Draw : areas;transparency -OpenOffice.org Draw : arguments in command line -OpenOffice.org Draw : arranging -OpenOffice.org Draw : arranging;objects -OpenOffice.org Draw : arranging;objects (guide) -OpenOffice.org Draw : arranging;slides -OpenOffice.org Draw : arrows -OpenOffice.org Draw : arrows;defining arrow heads -OpenOffice.org Draw : arrows;defining arrow lines -OpenOffice.org Draw : arrows;drawing in text -OpenOffice.org Draw : arrows;inserting -OpenOffice.org Draw : arrows;loading arrow styles -OpenOffice.org Draw : ASCII -OpenOffice.org Draw : ASCII;definition -OpenOffice.org Draw : Asian languages -OpenOffice.org Draw : Asian languages;enabling -OpenOffice.org Draw : Asian Phonetic Guide -OpenOffice.org Draw : Asian typography -OpenOffice.org Draw : assembled objects in 3D -OpenOffice.org Draw : assigning scripts -OpenOffice.org Draw : assistive technology in OpenOffice.org -OpenOffice.org Draw : attaching toolbars -OpenOffice.org Draw : attachments in e-mails -OpenOffice.org Draw : attributes -OpenOffice.org Draw : attributes;objects with -OpenOffice.org Draw : audio -OpenOffice.org Draw : audio;inserting -OpenOffice.org Draw : audio;UNIX -OpenOffice.org Draw : authors -OpenOffice.org Draw : auto reloading HTML documents -OpenOffice.org Draw : AutoAbstract function for sending text to presentations -OpenOffice.org Draw : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Draw : AutoComplete function in text and list boxes -OpenOffice.org Draw : AutoCorrect function -OpenOffice.org Draw : AutoCorrect function;context menu -OpenOffice.org Draw : AutoCorrect function;options -OpenOffice.org Draw : AutoCorrect function;pictures and frames -OpenOffice.org Draw : AutoCorrect function;quotes -OpenOffice.org Draw : AutoCorrect function;replacement table -OpenOffice.org Draw : AutoCorrect function;smart tags -OpenOffice.org Draw : AutoCorrect function;switching on and off in Calc -OpenOffice.org Draw : AutoCorrect function;URL recognition -OpenOffice.org Draw : AutoFormat function -OpenOffice.org Draw : AutoFormat function;switching on and off -OpenOffice.org Draw : automatic captions (Writer) -OpenOffice.org Draw : automatic control focus -OpenOffice.org Draw : automatic hyperlink formatting -OpenOffice.org Draw : automatic line breaks -OpenOffice.org Draw : automatic lines/borders in text -OpenOffice.org Draw : automatic saving -OpenOffice.org Draw : automatic slide changes -OpenOffice.org Draw : automatic slide changes;rehearse timings -OpenOffice.org Draw : automatic slide shows -OpenOffice.org Draw : automatic slide transition -OpenOffice.org Draw : AutoPilots, see wizards -OpenOffice.org Draw : AutoShapes feature in Microsoft Office -OpenOffice.org Draw : averages in charts -OpenOffice.org Draw : axes -OpenOffice.org Draw : axes;better scaling -OpenOffice.org Draw : axes;formatting -OpenOffice.org Draw : axes;formatting grids -OpenOffice.org Draw : axes;inserting grids -OpenOffice.org Draw : axes;interval marks -OpenOffice.org Draw : axes;showing axes in charts -OpenOffice.org Draw : axes in charts -OpenOffice.org Draw : backgrounds -OpenOffice.org Draw : backgrounds;changing -OpenOffice.org Draw : backgrounds;defining colors/pictures -OpenOffice.org Draw : backgrounds;deleting unused -OpenOffice.org Draw : backgrounds;frames/sections/indexes -OpenOffice.org Draw : backgrounds;inserting from Gallery -OpenOffice.org Draw : backgrounds;normal view -OpenOffice.org Draw : backgrounds;notes -OpenOffice.org Draw : backgrounds;printing -OpenOffice.org Draw : backgrounds;slides -OpenOffice.org Draw : backing window -OpenOffice.org Draw : backups -OpenOffice.org Draw : backups;automatic -OpenOffice.org Draw : backups;documents -OpenOffice.org Draw : bar charts -OpenOffice.org Draw : Basic -OpenOffice.org Draw : Basic;fonts for source display -OpenOffice.org Draw : Basic;programming -OpenOffice.org Draw : Basic;recording macros -OpenOffice.org Draw : Basic;scripting -OpenOffice.org Draw : basic fonts -OpenOffice.org Draw : BeanShell scripting -OpenOffice.org Draw : behind object command -OpenOffice.org Draw : Bézier curves -OpenOffice.org Draw : Bézier curves;control points in presentations -OpenOffice.org Draw : bi-directional writing -OpenOffice.org Draw : binding space -OpenOffice.org Draw : bitmaps -OpenOffice.org Draw : bitmaps;converting to -OpenOffice.org Draw : bitmaps;converting to vector graphics -OpenOffice.org Draw : bitmaps;inserting and editing -OpenOffice.org Draw : bitmaps;off for faster printing -OpenOffice.org Draw : bitmaps;patterns -OpenOffice.org Draw : bitmaps;replacing colors -OpenOffice.org Draw : black and white display -OpenOffice.org Draw : black and white printing -OpenOffice.org Draw : black and white view -OpenOffice.org Draw : black printing in Calc -OpenOffice.org Draw : block selection mode -OpenOffice.org Draw : bold -OpenOffice.org Draw : bold;AutoFormat function -OpenOffice.org Draw : bold;text -OpenOffice.org Draw : bookmarks -OpenOffice.org Draw : bookmarks;Help -OpenOffice.org Draw : borders -OpenOffice.org Draw : borders;arranging -OpenOffice.org Draw : borders;cells on screen (Calc) -OpenOffice.org Draw : borders;for paragraphs -OpenOffice.org Draw : borders;for tables -OpenOffice.org Draw : borders;shadows -OpenOffice.org Draw : borders;table boundaries (Writer) -OpenOffice.org Draw : borders, see also frames -OpenOffice.org Draw : bound fields -OpenOffice.org Draw : bound fields;controls -OpenOffice.org Draw : boundaries of tables (Writer) -OpenOffice.org Draw : break display (Writer) -OpenOffice.org Draw : breaking object connections -OpenOffice.org Draw : brochures -OpenOffice.org Draw : brochures;printing several -OpenOffice.org Draw : build numbers of OpenOffice.org -OpenOffice.org Draw : bullet lists -OpenOffice.org Draw : bullet lists;formatting options -OpenOffice.org Draw : bullets -OpenOffice.org Draw : bullets;paragraphs -OpenOffice.org Draw : bullets;replacing -OpenOffice.org Draw : bullets;turning off -OpenOffice.org Draw : business cards -OpenOffice.org Draw : business cards;creating and synchronizing -OpenOffice.org Draw : business cards;using templates -OpenOffice.org Draw : button bars, see toolbars -OpenOffice.org Draw : buttons -OpenOffice.org Draw : buttons;adding push buttons -OpenOffice.org Draw : buttons;big/small -OpenOffice.org Draw : buttons;editing hyperlink buttons -OpenOffice.org Draw : buttons;form functions -OpenOffice.org Draw : buttons;toolbars -OpenOffice.org Draw : cache for graphics -OpenOffice.org Draw : calculating -OpenOffice.org Draw : calculating;iterative references (Calc) -OpenOffice.org Draw : calculating;regression curves -OpenOffice.org Draw : callouts -OpenOffice.org Draw : callouts;drawings -OpenOffice.org Draw : callouts;inserting in presentations -OpenOffice.org Draw : capital letters -OpenOffice.org Draw : capital letters;AutoCorrect function -OpenOffice.org Draw : capital letters;font effects -OpenOffice.org Draw : captions -OpenOffice.org Draw : captions;automatic captions (Writer) -OpenOffice.org Draw : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Draw : captions, see also labels/callouts -OpenOffice.org Draw : cascading update (Base) -OpenOffice.org Draw : case sensitivity -OpenOffice.org Draw : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Draw : case sensitivity;searching -OpenOffice.org Draw : cells -OpenOffice.org Draw : cells;aligning -OpenOffice.org Draw : cells;backgrounds -OpenOffice.org Draw : cells;coloring (Calc) -OpenOffice.org Draw : cells;cursor positions after input (Calc) -OpenOffice.org Draw : cells;formatting without effect (Calc) -OpenOffice.org Draw : cells;line breaks -OpenOffice.org Draw : cells;linked to controls -OpenOffice.org Draw : cells;number formats -OpenOffice.org Draw : cells;number of -OpenOffice.org Draw : cells;pasting -OpenOffice.org Draw : cells;resetting formats -OpenOffice.org Draw : cells;showing grid lines (Calc) -OpenOffice.org Draw : centered text -OpenOffice.org Draw : centimeters -OpenOffice.org Draw : certificates -OpenOffice.org Draw : Change Case feature in Microsoft Office -OpenOffice.org Draw : changes -OpenOffice.org Draw : changes;accepting or rejecting -OpenOffice.org Draw : changes;comparing to original -OpenOffice.org Draw : changes;protecting -OpenOffice.org Draw : changes;recording -OpenOffice.org Draw : changes;review function -OpenOffice.org Draw : changes;showing -OpenOffice.org Draw : changing -OpenOffice.org Draw : changing;data binding of XForms -OpenOffice.org Draw : changing;default templates -OpenOffice.org Draw : changing;document titles -OpenOffice.org Draw : changing;file associations in Setup program -OpenOffice.org Draw : changing;hyperlink text/formats/URLs -OpenOffice.org Draw : changing;icon sizes -OpenOffice.org Draw : changing;keyboard -OpenOffice.org Draw : changing;layer properties -OpenOffice.org Draw : changing;layout for handouts -OpenOffice.org Draw : changing;links -OpenOffice.org Draw : changing;menus -OpenOffice.org Draw : changing;object sizes -OpenOffice.org Draw : changing;order of slides -OpenOffice.org Draw : changing;slide layouts -OpenOffice.org Draw : changing;toolbars -OpenOffice.org Draw : changing;work directory -OpenOffice.org Draw : changing, see also editing and replacing -OpenOffice.org Draw : character styles -OpenOffice.org Draw : character styles;language selection -OpenOffice.org Draw : characters -OpenOffice.org Draw : characters;alternative fonts -OpenOffice.org Draw : characters;Asian layout -OpenOffice.org Draw : characters;bold -OpenOffice.org Draw : characters;coloring -OpenOffice.org Draw : characters;contours -OpenOffice.org Draw : characters;converting to curves -OpenOffice.org Draw : characters;displaying only on screen (Writer) -OpenOffice.org Draw : characters;enabling CTL and Asian characters -OpenOffice.org Draw : characters;font effects -OpenOffice.org Draw : characters;fonts and formats -OpenOffice.org Draw : characters;hyperlinks -OpenOffice.org Draw : characters;italics -OpenOffice.org Draw : characters;language selection -OpenOffice.org Draw : characters;shadowed -OpenOffice.org Draw : characters;spacing -OpenOffice.org Draw : characters;special -OpenOffice.org Draw : characters;underlining -OpenOffice.org Draw : charcoal sketches filter -OpenOffice.org Draw : chart legends -OpenOffice.org Draw : chart legends;hiding -OpenOffice.org Draw : chart legends;showing icons with labels -OpenOffice.org Draw : chart types -OpenOffice.org Draw : chart types;area -OpenOffice.org Draw : chart types;column and bar -OpenOffice.org Draw : chart types;column and line -OpenOffice.org Draw : chart types;line -OpenOffice.org Draw : chart types;net -OpenOffice.org Draw : chart types;pie/donut -OpenOffice.org Draw : chart types;stock -OpenOffice.org Draw : chart types;XY (scatter) -OpenOffice.org Draw : charts -OpenOffice.org Draw : charts;3D views -OpenOffice.org Draw : charts;aligning -OpenOffice.org Draw : charts;arranging within stacks -OpenOffice.org Draw : charts;bars with textures -OpenOffice.org Draw : charts;choosing chart types -OpenOffice.org Draw : charts;colors -OpenOffice.org Draw : charts;copying with link to source cell range -OpenOffice.org Draw : charts;data labels -OpenOffice.org Draw : charts;displaying (Calc) -OpenOffice.org Draw : charts;editing axes -OpenOffice.org Draw : charts;editing data -OpenOffice.org Draw : charts;editing legends -OpenOffice.org Draw : charts;editing titles -OpenOffice.org Draw : charts;formatting areas -OpenOffice.org Draw : charts;formatting floors -OpenOffice.org Draw : charts;formatting walls -OpenOffice.org Draw : charts;inserting -OpenOffice.org Draw : charts;overview -OpenOffice.org Draw : charts;properties -OpenOffice.org Draw : charts;reorganizing -OpenOffice.org Draw : charts;scaling axes -OpenOffice.org Draw : charts;scaling text -OpenOffice.org Draw : charts;shortcuts -OpenOffice.org Draw : charts;showing axes -OpenOffice.org Draw : charts;updating automatically (Writer) -OpenOffice.org Draw : check box creation -OpenOffice.org Draw : Chinese writing systems -OpenOffice.org Draw : choosing printers -OpenOffice.org Draw : circle drawings -OpenOffice.org Draw : circle segments -OpenOffice.org Draw : circles -OpenOffice.org Draw : circles;of objects -OpenOffice.org Draw : Client Side ImageMap -OpenOffice.org Draw : clipboard -OpenOffice.org Draw : clipboard;cutting -OpenOffice.org Draw : clipboard;pasting -OpenOffice.org Draw : clipboard;pasting formatted/unformatted text -OpenOffice.org Draw : clipboard;selection clipboard -OpenOffice.org Draw : clipboard;Unix -OpenOffice.org Draw : closing -OpenOffice.org Draw : closing;documents -OpenOffice.org Draw : closing;shapes -OpenOffice.org Draw : closing;toolbars -OpenOffice.org Draw : color bar -OpenOffice.org Draw : colors -OpenOffice.org Draw : colors;adding -OpenOffice.org Draw : colors;appearance -OpenOffice.org Draw : colors;backgrounds -OpenOffice.org Draw : colors;charts -OpenOffice.org Draw : colors;default colors -OpenOffice.org Draw : colors;defining and saving -OpenOffice.org Draw : colors;defining gradients interactively -OpenOffice.org Draw : colors;displaying presentations -OpenOffice.org Draw : colors;fill format -OpenOffice.org Draw : colors;fonts -OpenOffice.org Draw : colors;grid lines and cells (Calc) -OpenOffice.org Draw : colors;loading lists -OpenOffice.org Draw : colors;models -OpenOffice.org Draw : colors;not printing -OpenOffice.org Draw : colors;printing in grayscale -OpenOffice.org Draw : colors;replacing -OpenOffice.org Draw : colors;restriction (Calc) -OpenOffice.org Draw : colors;selection -OpenOffice.org Draw : column and line charts -OpenOffice.org Draw : column charts -OpenOffice.org Draw : column headers -OpenOffice.org Draw : column headers;displaying (Calc) -OpenOffice.org Draw : column headers;highlighting (Calc) -OpenOffice.org Draw : columns -OpenOffice.org Draw : columns;setting with the mouse -OpenOffice.org Draw : combination charts -OpenOffice.org Draw : combining -OpenOffice.org Draw : combining;3D objects -OpenOffice.org Draw : combining;draw objects -OpenOffice.org Draw : combining;undoing -OpenOffice.org Draw : combo box creation -OpenOffice.org Draw : command button creation -OpenOffice.org Draw : command buttons, see push buttons -OpenOffice.org Draw : command line parameters -OpenOffice.org Draw : commands -OpenOffice.org Draw : commands;not visible -OpenOffice.org Draw : commands;SQL -OpenOffice.org Draw : comments -OpenOffice.org Draw : comments;on changes -OpenOffice.org Draw : comments feature in Microsoft Office -OpenOffice.org Draw : common terms -OpenOffice.org Draw : common terms;Chinese dictionary -OpenOffice.org Draw : common terms;glossaries -OpenOffice.org Draw : common terms;Internet glossary -OpenOffice.org Draw : Compare and Merge feature in Microsoft Office -OpenOffice.org Draw : comparisons -OpenOffice.org Draw : comparisons;document versions -OpenOffice.org Draw : comparisons;operators in default filter dialog -OpenOffice.org Draw : compatibility settings for MS Word import -OpenOffice.org Draw : complete screen view -OpenOffice.org Draw : complex text layout -OpenOffice.org Draw : complex text layout;definition -OpenOffice.org Draw : complex text layout;enabling -OpenOffice.org Draw : compose key to insert special characters -OpenOffice.org Draw : concatenation, see ampersand symbol -OpenOffice.org Draw : conditional separators -OpenOffice.org Draw : conditions -OpenOffice.org Draw : conditions;in number formats -OpenOffice.org Draw : conditions;items in Data Navigator -OpenOffice.org Draw : cones -OpenOffice.org Draw : Configuration Manager -OpenOffice.org Draw : configuring -OpenOffice.org Draw : configuring;fax icon -OpenOffice.org Draw : configuring;OpenOffice.org -OpenOffice.org Draw : configuring;toolbars -OpenOffice.org Draw : connecting -OpenOffice.org Draw : connecting;draw objects -OpenOffice.org Draw : connecting;lines -OpenOffice.org Draw : connecting;paths and objects -OpenOffice.org Draw : connections to data sources (Base) -OpenOffice.org Draw : connectors -OpenOffice.org Draw : connectors;properties of -OpenOffice.org Draw : connectors;using -OpenOffice.org Draw : constructing shapes -OpenOffice.org Draw : contents protection -OpenOffice.org Draw : context menus -OpenOffice.org Draw : contours -OpenOffice.org Draw : contours;converting to -OpenOffice.org Draw : contours of text -OpenOffice.org Draw : control point display in presentations -OpenOffice.org Draw : control points definition -OpenOffice.org Draw : controls -OpenOffice.org Draw : controls;activating in forms -OpenOffice.org Draw : controls;adding to documents -OpenOffice.org Draw : controls;arranging in forms -OpenOffice.org Draw : controls;arranging within stacks -OpenOffice.org Draw : controls;assigning data sources -OpenOffice.org Draw : controls;bound fields/list contents/linked cells -OpenOffice.org Draw : controls;events -OpenOffice.org Draw : controls;focus -OpenOffice.org Draw : controls;formatted fields -OpenOffice.org Draw : controls;grouping -OpenOffice.org Draw : controls;hidden -OpenOffice.org Draw : controls;inserting -OpenOffice.org Draw : controls;multi-line titles -OpenOffice.org Draw : controls;positions and sizes -OpenOffice.org Draw : controls;printing -OpenOffice.org Draw : controls;properties of form controls -OpenOffice.org Draw : controls;properties of table controls -OpenOffice.org Draw : controls;reference by SQL -OpenOffice.org Draw : controls;rich text control -OpenOffice.org Draw : controls;select mode -OpenOffice.org Draw : controls;showing (Writer) -OpenOffice.org Draw : converters -OpenOffice.org Draw : converters;Euro converter -OpenOffice.org Draw : converters;PostScript, UNIX -OpenOffice.org Draw : converters;XML -OpenOffice.org Draw : converting -OpenOffice.org Draw : converting;bitmaps to polygons -OpenOffice.org Draw : converting;Hangul/Hanja -OpenOffice.org Draw : converting;metrics -OpenOffice.org Draw : converting;Microsoft documents -OpenOffice.org Draw : converting;OpenOffice.org documents -OpenOffice.org Draw : converting;Pocket PC formats -OpenOffice.org Draw : converting;points -OpenOffice.org Draw : converting;text to curves -OpenOffice.org Draw : converting;to bitmaps -OpenOffice.org Draw : converting;to contours -OpenOffice.org Draw : converting;to curves, polygons, 3D -OpenOffice.org Draw : converting;to metafile format (WMF) -OpenOffice.org Draw : copies -OpenOffice.org Draw : copies;printing -OpenOffice.org Draw : copying -OpenOffice.org Draw : copying;by drag and drop -OpenOffice.org Draw : copying;data from text documents -OpenOffice.org Draw : copying;datasource records in spreadsheets -OpenOffice.org Draw : copying;draw objects -OpenOffice.org Draw : copying;draw objects between documents -OpenOffice.org Draw : copying;formatting -OpenOffice.org Draw : copying;from data source view -OpenOffice.org Draw : copying;from Gallery -OpenOffice.org Draw : copying;in Unix -OpenOffice.org Draw : copying;pictures, between documents -OpenOffice.org Draw : copying;sheet areas, to text documents -OpenOffice.org Draw : copying;slides -OpenOffice.org Draw : copying;text from other documents -OpenOffice.org Draw : copying;to Gallery -OpenOffice.org Draw : copyright for OpenOffice.org -OpenOffice.org Draw : corner points -OpenOffice.org Draw : corner roundings -OpenOffice.org Draw : covered objects -OpenOffice.org Draw : crash reports -OpenOffice.org Draw : criteria of query design (Base) -OpenOffice.org Draw : cropping pictures -OpenOffice.org Draw : cross-fading -OpenOffice.org Draw : cross-fading;creating cross-fades -OpenOffice.org Draw : cross-fading;slides -OpenOffice.org Draw : cross-fading;two draw objects -OpenOffice.org Draw : CTL -OpenOffice.org Draw : CTL;complex text layout languages -OpenOffice.org Draw : CTL;definition -OpenOffice.org Draw : CTL;options -OpenOffice.org Draw : cubes -OpenOffice.org Draw : currencies -OpenOffice.org Draw : currencies;converters -OpenOffice.org Draw : currencies;formats and format codes -OpenOffice.org Draw : currency field creation -OpenOffice.org Draw : currency formats -OpenOffice.org Draw : cursor -OpenOffice.org Draw : cursor;allowing in protected areas (Writer) -OpenOffice.org Draw : cursor;in read-only text -OpenOffice.org Draw : cursor;quickly moving to an object -OpenOffice.org Draw : curves -OpenOffice.org Draw : curves;converting text to -OpenOffice.org Draw : curves;drawing -OpenOffice.org Draw : curves;editing -OpenOffice.org Draw : curves;editing points -OpenOffice.org Draw : curves;properties in line charts/XY charts -OpenOffice.org Draw : curves;toolbar -OpenOffice.org Draw : custom animation -OpenOffice.org Draw : custom colors -OpenOffice.org Draw : custom dictionaries -OpenOffice.org Draw : custom dictionaries;editing -OpenOffice.org Draw : custom gradients -OpenOffice.org Draw : custom hyphens (Writer) -OpenOffice.org Draw : custom quotes -OpenOffice.org Draw : custom slide shows -OpenOffice.org Draw : custom templates -OpenOffice.org Draw : customizing -OpenOffice.org Draw : customizing;events -OpenOffice.org Draw : customizing;keyboard -OpenOffice.org Draw : customizing;menus -OpenOffice.org Draw : customizing;OpenOffice.org -OpenOffice.org Draw : customizing;round corners -OpenOffice.org Draw : customizing;toolbars -OpenOffice.org Draw : cutting -OpenOffice.org Draw : cylinders -OpenOffice.org Draw : dashes -OpenOffice.org Draw : data -OpenOffice.org Draw : data;filtering in forms -OpenOffice.org Draw : data;forms and subforms -OpenOffice.org Draw : data;read-only -OpenOffice.org Draw : data;sorting in forms -OpenOffice.org Draw : data;user data -OpenOffice.org Draw : data binding change in XForms -OpenOffice.org Draw : data labels in charts -OpenOffice.org Draw : Data Navigator display options -OpenOffice.org Draw : data ranges in charts -OpenOffice.org Draw : data series -OpenOffice.org Draw : data source browser -OpenOffice.org Draw : data source explorer -OpenOffice.org Draw : data source view -OpenOffice.org Draw : data source view;drag and drop -OpenOffice.org Draw : data source view;overview -OpenOffice.org Draw : data source view;showing -OpenOffice.org Draw : data sources -OpenOffice.org Draw : data sources;as tables -OpenOffice.org Draw : data sources;connection settings (Base) -OpenOffice.org Draw : data sources;copying records to spreadsheets -OpenOffice.org Draw : data sources;displaying current -OpenOffice.org Draw : data sources;LDAP server (Base) -OpenOffice.org Draw : data sources;OpenOffice.org Base -OpenOffice.org Draw : data sources;registering address books -OpenOffice.org Draw : data sources;reports -OpenOffice.org Draw : data sources;setting for stock charts -OpenOffice.org Draw : data sources;viewing -OpenOffice.org Draw : data structure of XForms -OpenOffice.org Draw : data values in charts -OpenOffice.org Draw : database contents -OpenOffice.org Draw : database contents;inserting as tables -OpenOffice.org Draw : database contents;inserting as text -OpenOffice.org Draw : database reports -OpenOffice.org Draw : Database Wizard (Base) -OpenOffice.org Draw : databases -OpenOffice.org Draw : databases;administration through SQL (Base) -OpenOffice.org Draw : databases;ADO (Base) -OpenOffice.org Draw : databases;connecting (Base) -OpenOffice.org Draw : databases;creating -OpenOffice.org Draw : databases;creating labels -OpenOffice.org Draw : databases;creating queries -OpenOffice.org Draw : databases;creating reports -OpenOffice.org Draw : databases;creating tables -OpenOffice.org Draw : databases;dBASE (Base) -OpenOffice.org Draw : databases;deleting (Base) -OpenOffice.org Draw : databases;drag and drop (Base) -OpenOffice.org Draw : databases;editing tables -OpenOffice.org Draw : databases;form filters -OpenOffice.org Draw : databases;formats (Base) -OpenOffice.org Draw : databases;importing/exporting -OpenOffice.org Draw : databases;JDBC (Base) -OpenOffice.org Draw : databases;main page (Base) -OpenOffice.org Draw : databases;MySQL (Base) -OpenOffice.org Draw : databases;ODBC (Base) -OpenOffice.org Draw : databases;overview -OpenOffice.org Draw : databases;registering (Base) -OpenOffice.org Draw : databases;searching records -OpenOffice.org Draw : databases;shortcut keys -OpenOffice.org Draw : databases;sorting -OpenOffice.org Draw : databases;standard filters -OpenOffice.org Draw : databases;text formats -OpenOffice.org Draw : databases;viewing -OpenOffice.org Draw : date fields -OpenOffice.org Draw : date fields;creating -OpenOffice.org Draw : date fields;properties -OpenOffice.org Draw : date formats -OpenOffice.org Draw : date on all slides -OpenOffice.org Draw : dates -OpenOffice.org Draw : dates;default (Calc) -OpenOffice.org Draw : dates;fixed -OpenOffice.org Draw : dates;printing in presentations -OpenOffice.org Draw : dates;start 1900/01/01 (Calc) -OpenOffice.org Draw : dates;start 1904/01/01 (Calc) -OpenOffice.org Draw : dates;variable -OpenOffice.org Draw : dBASE -OpenOffice.org Draw : dBASE;database settings (Base) -OpenOffice.org Draw : DDE -OpenOffice.org Draw : DDE;definition -OpenOffice.org Draw : deactivating -OpenOffice.org Draw : deactivating;plug-ins -OpenOffice.org Draw : decimal places displayed (Calc) -OpenOffice.org Draw : decimal separator key -OpenOffice.org Draw : decimal tab stops -OpenOffice.org Draw : decreasing sizes of views -OpenOffice.org Draw : default directories -OpenOffice.org Draw : default file formats -OpenOffice.org Draw : default filters -OpenOffice.org Draw : default filters;comparison operators -OpenOffice.org Draw : default filters;databases -OpenOffice.org Draw : default printer -OpenOffice.org Draw : default printer;setting up -OpenOffice.org Draw : default printer;UNIX -OpenOffice.org Draw : default templates -OpenOffice.org Draw : default templates;changing -OpenOffice.org Draw : default templates;organizing -OpenOffice.org Draw : defaults -OpenOffice.org Draw : defaults;documents -OpenOffice.org Draw : defaults;file formats -OpenOffice.org Draw : defaults;fonts -OpenOffice.org Draw : defaults;grids (Writer/Calc) -OpenOffice.org Draw : defaults;languages -OpenOffice.org Draw : defaults;number formats -OpenOffice.org Draw : defaults;of saving -OpenOffice.org Draw : defaults;program configuration -OpenOffice.org Draw : defaults;tab stops in text -OpenOffice.org Draw : defaults;views -OpenOffice.org Draw : defining -OpenOffice.org Draw : defining;arrowheads and other line ends -OpenOffice.org Draw : defining;colors -OpenOffice.org Draw : defining;gradients -OpenOffice.org Draw : defining;line styles -OpenOffice.org Draw : defining;paragraph borders -OpenOffice.org Draw : defining;queries (Base) -OpenOffice.org Draw : defining;table borders -OpenOffice.org Draw : deleting -OpenOffice.org Draw : deleting;all direct formatting -OpenOffice.org Draw : deleting;animation effects -OpenOffice.org Draw : deleting;databases (Base) -OpenOffice.org Draw : deleting;hyperlinks -OpenOffice.org Draw : deleting;layers -OpenOffice.org Draw : deleting;lines in text -OpenOffice.org Draw : deleting;models/instances -OpenOffice.org Draw : deleting;namespaces in XForms -OpenOffice.org Draw : deleting;points -OpenOffice.org Draw : deleting;slide transition effects -OpenOffice.org Draw : deleting;slides -OpenOffice.org Draw : deleting;tab stops -OpenOffice.org Draw : deleting;templates -OpenOffice.org Draw : deleting;XML filters -OpenOffice.org Draw : depth stagger -OpenOffice.org Draw : descriptions for objects -OpenOffice.org Draw : design mode after saving -OpenOffice.org Draw : design view -OpenOffice.org Draw : design view;creating forms -OpenOffice.org Draw : design view;queries/views (Base) -OpenOffice.org Draw : designing -OpenOffice.org Draw : designing;database tables -OpenOffice.org Draw : designing;fonts -OpenOffice.org Draw : designing;queries (Base) -OpenOffice.org Draw : detaching toolbars -OpenOffice.org Draw : dictionaries -OpenOffice.org Draw : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Draw : dictionaries;creating -OpenOffice.org Draw : dictionaries;editing user-defined -OpenOffice.org Draw : dictionaries;spellcheck -OpenOffice.org Draw : dictionaries, see also languages -OpenOffice.org Draw : digital signatures -OpenOffice.org Draw : dimension lines -OpenOffice.org Draw : dimension lines;drawing -OpenOffice.org Draw : dimension lines;properties of -OpenOffice.org Draw : direct formatting -OpenOffice.org Draw : direct formatting;undoing all -OpenOffice.org Draw : directories -OpenOffice.org Draw : directories;creating new -OpenOffice.org Draw : directories;directory structure -OpenOffice.org Draw : disabled persons -OpenOffice.org Draw : display qualities of presentations -OpenOffice.org Draw : displaying -OpenOffice.org Draw : displaying;non-printing characters (Writer) -OpenOffice.org Draw : displaying;notes (Calc) -OpenOffice.org Draw : displaying;notes in text documents -OpenOffice.org Draw : displaying;pictures and objects (Writer) -OpenOffice.org Draw : displaying;tables (Writer) -OpenOffice.org Draw : displaying;zero values (Calc) -OpenOffice.org Draw : distances -OpenOffice.org Draw : distinct values in SQL queries -OpenOffice.org Draw : distorting in drawings -OpenOffice.org Draw : distorting objects -OpenOffice.org Draw : distributing draw objects -OpenOffice.org Draw : distributing XML filters -OpenOffice.org Draw : dithering -OpenOffice.org Draw : docking -OpenOffice.org Draw : docking;definition -OpenOffice.org Draw : docking;toolbars -OpenOffice.org Draw : docking;windows -OpenOffice.org Draw : Document Converter Wizard -OpenOffice.org Draw : Document Map feature in Microsoft Office -OpenOffice.org Draw : Document Map, see Navigator -OpenOffice.org Draw : document types in OpenOffice.org -OpenOffice.org Draw : documents -OpenOffice.org Draw : documents;changing titles -OpenOffice.org Draw : documents;closing -OpenOffice.org Draw : documents;comparing -OpenOffice.org Draw : documents;contents as lists -OpenOffice.org Draw : documents;editing time -OpenOffice.org Draw : documents;exporting -OpenOffice.org Draw : documents;importing -OpenOffice.org Draw : documents;languages -OpenOffice.org Draw : documents;measurement units in -OpenOffice.org Draw : documents;merging -OpenOffice.org Draw : documents;number of pages/tables/sheets -OpenOffice.org Draw : documents;opening -OpenOffice.org Draw : documents;opening in design mode -OpenOffice.org Draw : documents;opening with templates -OpenOffice.org Draw : documents;organizing -OpenOffice.org Draw : documents;printing -OpenOffice.org Draw : documents;read-only -OpenOffice.org Draw : documents;reloading -OpenOffice.org Draw : documents;saving -OpenOffice.org Draw : documents;saving automatically -OpenOffice.org Draw : documents;saving in other formats -OpenOffice.org Draw : documents;sending as e-mail -OpenOffice.org Draw : documents;styles changed -OpenOffice.org Draw : documents;version management -OpenOffice.org Draw : documents;version numbers -OpenOffice.org Draw : donut charts -OpenOffice.org Draw : dotted areas -OpenOffice.org Draw : double-line spacing in paragraphs -OpenOffice.org Draw : double-line writing in Asian layout -OpenOffice.org Draw : doubling draw objects -OpenOffice.org Draw : drag and drop -OpenOffice.org Draw : drag and drop;copying and pasting text -OpenOffice.org Draw : drag and drop;data source view -OpenOffice.org Draw : drag and drop;from Gallery to draw objects -OpenOffice.org Draw : drag and drop;overview -OpenOffice.org Draw : drag and drop;pictures -OpenOffice.org Draw : drag and drop;to Gallery -OpenOffice.org Draw : Draw instructions -OpenOffice.org Draw : draw objects -OpenOffice.org Draw : draw objects;adding/editing/copying -OpenOffice.org Draw : draw objects;anchoring -OpenOffice.org Draw : draw objects;arranging within stacks -OpenOffice.org Draw : draw objects;combining -OpenOffice.org Draw : draw objects;connecting lines to -OpenOffice.org Draw : draw objects;converting text to -OpenOffice.org Draw : draw objects;copying -OpenOffice.org Draw : draw objects;copying between documents -OpenOffice.org Draw : draw objects;cross-fading two objects -OpenOffice.org Draw : draw objects;displaying (Calc) -OpenOffice.org Draw : draw objects;dropping Gallery pictures -OpenOffice.org Draw : draw objects;duplicating -OpenOffice.org Draw : draw objects;flipping -OpenOffice.org Draw : draw objects;grouping -OpenOffice.org Draw : draw objects;legends -OpenOffice.org Draw : draw objects;positioning and resizing -OpenOffice.org Draw : draw objects;protecting -OpenOffice.org Draw : draw objects;rotating -OpenOffice.org Draw : draw objects;slanting -OpenOffice.org Draw : draw objects;text entry mode -OpenOffice.org Draw : draw objects;text in -OpenOffice.org Draw : drawing -OpenOffice.org Draw : drawing;3D objects -OpenOffice.org Draw : drawing;freeform lines -OpenOffice.org Draw : drawing;lines -OpenOffice.org Draw : drawing;sectors and segments -OpenOffice.org Draw : Drawing bar -OpenOffice.org Draw : drawing lines in text -OpenOffice.org Draw : drawings -OpenOffice.org Draw : drawings;creating/opening -OpenOffice.org Draw : drawings;languages -OpenOffice.org Draw : drawings;printing -OpenOffice.org Draw : drawings;printing defaults -OpenOffice.org Draw : drawings;printing in text documents -OpenOffice.org Draw : drawings;saving -OpenOffice.org Draw : drawings;saving automatically -OpenOffice.org Draw : drawings;saving in other formats -OpenOffice.org Draw : drawings;sending as e-mail -OpenOffice.org Draw : drawings;shortcut keys -OpenOffice.org Draw : drawings;showing (Writer) -OpenOffice.org Draw : drawings;zoom function in -OpenOffice.org Draw : drop-down lists in form functions -OpenOffice.org Draw : duplicating draw objects -OpenOffice.org Draw : e-mail attachments -OpenOffice.org Draw : Edit File icon -OpenOffice.org Draw : edit mode -OpenOffice.org Draw : edit mode;after opening -OpenOffice.org Draw : edit mode;through Enter key (Calc) -OpenOffice.org Draw : Edit Points bar -OpenOffice.org Draw : editing -OpenOffice.org Draw : editing;chart axes -OpenOffice.org Draw : editing;chart data -OpenOffice.org Draw : editing;chart legends -OpenOffice.org Draw : editing;chart titles -OpenOffice.org Draw : editing;curves -OpenOffice.org Draw : editing;data binding of XForms -OpenOffice.org Draw : editing;database tables and queries -OpenOffice.org Draw : editing;draw objects -OpenOffice.org Draw : editing;fields -OpenOffice.org Draw : editing;Fontwork objects -OpenOffice.org Draw : editing;glue points -OpenOffice.org Draw : editing;gradients -OpenOffice.org Draw : editing;guides and snap points -OpenOffice.org Draw : editing;hyperlinks -OpenOffice.org Draw : editing;items in Data Navigator -OpenOffice.org Draw : editing;menus -OpenOffice.org Draw : editing;namespaces in XForms -OpenOffice.org Draw : editing;notes -OpenOffice.org Draw : editing;objects -OpenOffice.org Draw : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Draw : editing;pictures -OpenOffice.org Draw : editing;reports -OpenOffice.org Draw : editing;shortcut keys -OpenOffice.org Draw : editing;slide titles -OpenOffice.org Draw : editing;tab stops -OpenOffice.org Draw : editing;templates -OpenOffice.org Draw : editing;titles -OpenOffice.org Draw : editing;toolbars -OpenOffice.org Draw : editing;undoing -OpenOffice.org Draw : editing;XForms -OpenOffice.org Draw : editing time of documents -OpenOffice.org Draw : editors -OpenOffice.org Draw : editors;formula editor -OpenOffice.org Draw : editors;ImageMap editor -OpenOffice.org Draw : effects -OpenOffice.org Draw : effects;animated slide transitions -OpenOffice.org Draw : effects;applying to/removing from objects -OpenOffice.org Draw : effects;font positions -OpenOffice.org Draw : effects;fonts -OpenOffice.org Draw : effects;Fontwork icons -OpenOffice.org Draw : effects;preview -OpenOffice.org Draw : effects;sounds -OpenOffice.org Draw : ellipses -OpenOffice.org Draw : ellipses;segments -OpenOffice.org Draw : ellipses;toolbars -OpenOffice.org Draw : empty documents -OpenOffice.org Draw : empty paragraph removal -OpenOffice.org Draw : encryption of contents -OpenOffice.org Draw : entering groups -OpenOffice.org Draw : entering text from right to left -OpenOffice.org Draw : equal sign, see also operators -OpenOffice.org Draw : equations in formula editor -OpenOffice.org Draw : error bars in charts -OpenOffice.org Draw : error indicators in charts -OpenOffice.org Draw : Error Report Tool -OpenOffice.org Draw : Euro -OpenOffice.org Draw : Euro;currency formats -OpenOffice.org Draw : Euro;Euro Converter Wizard -OpenOffice.org Draw : even/odd pages -OpenOffice.org Draw : even/odd pages;printing -OpenOffice.org Draw : events -OpenOffice.org Draw : events;controls -OpenOffice.org Draw : events;customizing -OpenOffice.org Draw : events;in forms -OpenOffice.org Draw : Excel -OpenOffice.org Draw : Excel;saving as -OpenOffice.org Draw : Excel;search criteria -OpenOffice.org Draw : exceptions -OpenOffice.org Draw : exceptions;user-defined dictionaries -OpenOffice.org Draw : exchanging, see also replacing -OpenOffice.org Draw : executing -OpenOffice.org Draw : executing;SQL commands -OpenOffice.org Draw : exiting -OpenOffice.org Draw : exiting;by clicking objects -OpenOffice.org Draw : exiting;groups -OpenOffice.org Draw : exiting;OpenOffice.org -OpenOffice.org Draw : expanding -OpenOffice.org Draw : expanding;slides -OpenOffice.org Draw : expanding formatting (Calc) -OpenOffice.org Draw : explorer of data sources -OpenOffice.org Draw : export filters -OpenOffice.org Draw : exporting -OpenOffice.org Draw : exporting;animations to GIF format -OpenOffice.org Draw : exporting;bitmaps -OpenOffice.org Draw : exporting;databases -OpenOffice.org Draw : exporting;HTML and text documents -OpenOffice.org Draw : exporting;Microsoft Office documents with VBA code -OpenOffice.org Draw : exporting;presentations to HTML -OpenOffice.org Draw : exporting;spreadsheets to text format -OpenOffice.org Draw : exporting;templates -OpenOffice.org Draw : exporting;to foreign formats -OpenOffice.org Draw : exporting;to HTML -OpenOffice.org Draw : exporting;to Macromedia Flash format -OpenOffice.org Draw : exporting;to Microsoft Office formats -OpenOffice.org Draw : exporting;to PDF -OpenOffice.org Draw : exporting;to PostScript format -OpenOffice.org Draw : exporting;to XML -OpenOffice.org Draw : exporting;XML files -OpenOffice.org Draw : extended tips in Help -OpenOffice.org Draw : extension mode in text -OpenOffice.org Draw : extensions -OpenOffice.org Draw : extensions;Extension Manager -OpenOffice.org Draw : extensions;file formats -OpenOffice.org Draw : external keys (Base) -OpenOffice.org Draw : extrusion objects -OpenOffice.org Draw : eyedropper tool -OpenOffice.org Draw : faster printing -OpenOffice.org Draw : faxes -OpenOffice.org Draw : faxes;configuring OpenOffice.org -OpenOffice.org Draw : faxes;fax programs/fax printers under UNIX -OpenOffice.org Draw : faxes;selecting a fax machine -OpenOffice.org Draw : faxes;sending -OpenOffice.org Draw : faxes;wizards -OpenOffice.org Draw : fields -OpenOffice.org Draw : fields;authors -OpenOffice.org Draw : fields;database tables -OpenOffice.org Draw : fields;dates (fixed) -OpenOffice.org Draw : fields;dates (variable) -OpenOffice.org Draw : fields;displaying field codes (Writer) -OpenOffice.org Draw : fields;editing -OpenOffice.org Draw : fields;file names -OpenOffice.org Draw : fields;formatted fields -OpenOffice.org Draw : fields;formatting -OpenOffice.org Draw : fields;in slides -OpenOffice.org Draw : fields;page numbers -OpenOffice.org Draw : fields;times (fixed) -OpenOffice.org Draw : fields;times (variable) -OpenOffice.org Draw : fields;updating automatically (Writer) -OpenOffice.org Draw : file associations for Microsoft Office -OpenOffice.org Draw : file filters -OpenOffice.org Draw : file filters;mobile devices -OpenOffice.org Draw : file filters;XML -OpenOffice.org Draw : file formats -OpenOffice.org Draw : file formats;changing defaults -OpenOffice.org Draw : file formats;OpenDocument/XML -OpenOffice.org Draw : file formats;saving always in other formats -OpenOffice.org Draw : file selection button -OpenOffice.org Draw : file sharing options for current document -OpenOffice.org Draw : files -OpenOffice.org Draw : files;filters and formats -OpenOffice.org Draw : files;importing -OpenOffice.org Draw : files;inserting -OpenOffice.org Draw : files;inserting pictures -OpenOffice.org Draw : files;opening -OpenOffice.org Draw : files;opening with placeholders -OpenOffice.org Draw : files;properties -OpenOffice.org Draw : files;saving -OpenOffice.org Draw : files;saving automatically -OpenOffice.org Draw : files;saving in other formats -OpenOffice.org Draw : files;sending as e-mail -OpenOffice.org Draw : files;version numbers -OpenOffice.org Draw : files and folders in OpenOffice.org -OpenOffice.org Draw : fill characters with tabulators -OpenOffice.org Draw : fill colors for areas -OpenOffice.org Draw : fill format mode -OpenOffice.org Draw : fill format mode;styles -OpenOffice.org Draw : fill patterns for areas -OpenOffice.org Draw : filter conditions -OpenOffice.org Draw : filter conditions;connecting -OpenOffice.org Draw : filter conditions;in queries (Base) -OpenOffice.org Draw : filtering -OpenOffice.org Draw : filtering;data in databases -OpenOffice.org Draw : filtering;data in forms -OpenOffice.org Draw : filters -OpenOffice.org Draw : filters;comparison operators -OpenOffice.org Draw : filters;for import and export -OpenOffice.org Draw : filters;Navigator -OpenOffice.org Draw : filters;pictures -OpenOffice.org Draw : filters;XML filter settings -OpenOffice.org Draw : Find tab in Help -OpenOffice.org Draw : finding -OpenOffice.org Draw : finding;in all sheets -OpenOffice.org Draw : finding;records in form documents -OpenOffice.org Draw : finding;selections -OpenOffice.org Draw : finding;similarity search -OpenOffice.org Draw : fitting to pages -OpenOffice.org Draw : fitting to pages;individual slides -OpenOffice.org Draw : fitting to pages;print settings in Math -OpenOffice.org Draw : fitting to pages;print settings in presentations -OpenOffice.org Draw : fixed text -OpenOffice.org Draw : fixed text;form functions -OpenOffice.org Draw : fixing toolbars -OpenOffice.org Draw : flipping around a flip line -OpenOffice.org Draw : flipping draw objects -OpenOffice.org Draw : floating frames in HTML documents -OpenOffice.org Draw : floating text -OpenOffice.org Draw : floating toolbars -OpenOffice.org Draw : flowcharts -OpenOffice.org Draw : focus of controls -OpenOffice.org Draw : folder creation -OpenOffice.org Draw : font lists -OpenOffice.org Draw : font name box -OpenOffice.org Draw : font sizes -OpenOffice.org Draw : font sizes;bullets -OpenOffice.org Draw : font sizes;relative changes -OpenOffice.org Draw : font sizes;scaling on screen -OpenOffice.org Draw : font sizes;text -OpenOffice.org Draw : fonts -OpenOffice.org Draw : fonts;adding under UNIX -OpenOffice.org Draw : fonts;changing in templates -OpenOffice.org Draw : fonts;colors -OpenOffice.org Draw : fonts;default settings -OpenOffice.org Draw : fonts;effects -OpenOffice.org Draw : fonts;for HTML and Basic -OpenOffice.org Draw : fonts;formats -OpenOffice.org Draw : fonts;outlines -OpenOffice.org Draw : fonts;positions in text -OpenOffice.org Draw : fonts;shadows -OpenOffice.org Draw : fonts;specifying several -OpenOffice.org Draw : fonts;strikethrough -OpenOffice.org Draw : fonts;styles -OpenOffice.org Draw : fonts;text objects -OpenOffice.org Draw : Fontwork icons -OpenOffice.org Draw : footers -OpenOffice.org Draw : footers;backgrounds -OpenOffice.org Draw : footers;slide masters -OpenOffice.org Draw : footers;slides -OpenOffice.org Draw : form controls -OpenOffice.org Draw : form controls;assigning macros -OpenOffice.org Draw : form controls;protecting -OpenOffice.org Draw : form controls;toolbars -OpenOffice.org Draw : form fields -OpenOffice.org Draw : form filters -OpenOffice.org Draw : Form Navigator -OpenOffice.org Draw : format codes -OpenOffice.org Draw : format codes;numbers -OpenOffice.org Draw : format codes;user-defined number formats -OpenOffice.org Draw : format filling printing in OpenOffice.org Math -OpenOffice.org Draw : Format Paintbrush -OpenOffice.org Draw : formats -OpenOffice.org Draw : formats;Asian layout -OpenOffice.org Draw : formats;Asian typography -OpenOffice.org Draw : formats;fonts -OpenOffice.org Draw : formats;maximizing page formats -OpenOffice.org Draw : formats;number and currency formats -OpenOffice.org Draw : formats;of currencies/date/time -OpenOffice.org Draw : formats;on opening and saving -OpenOffice.org Draw : formats;pasting in special formats -OpenOffice.org Draw : formats;positions -OpenOffice.org Draw : formats;tabulators -OpenOffice.org Draw : formats;undoing when writing -OpenOffice.org Draw : formatted fields -OpenOffice.org Draw : formatted fields;form functions -OpenOffice.org Draw : formatted fields;properties -OpenOffice.org Draw : formatting -OpenOffice.org Draw : formatting;axes in charts -OpenOffice.org Draw : formatting;chart areas -OpenOffice.org Draw : formatting;chart floors -OpenOffice.org Draw : formatting;chart legends -OpenOffice.org Draw : formatting;chart titles -OpenOffice.org Draw : formatting;chart walls -OpenOffice.org Draw : formatting;copying -OpenOffice.org Draw : formatting;definition -OpenOffice.org Draw : formatting;expanding (Calc) -OpenOffice.org Draw : formatting;fields -OpenOffice.org Draw : formatting;font effects -OpenOffice.org Draw : formatting;hyperlinks -OpenOffice.org Draw : formatting;pages -OpenOffice.org Draw : formatting;printer metrics (Writer) -OpenOffice.org Draw : formatting;slides -OpenOffice.org Draw : formatting;slides headings -OpenOffice.org Draw : formatting;undoing -OpenOffice.org Draw : forms -OpenOffice.org Draw : forms;browsing -OpenOffice.org Draw : forms;Combo Box/List Box Wizard -OpenOffice.org Draw : forms;creating -OpenOffice.org Draw : forms;data -OpenOffice.org Draw : forms;designing (Base) -OpenOffice.org Draw : forms;events -OpenOffice.org Draw : forms;filtering data -OpenOffice.org Draw : forms;finding records -OpenOffice.org Draw : forms;focus after opening -OpenOffice.org Draw : forms;general information (Base) -OpenOffice.org Draw : forms;grouping controls -OpenOffice.org Draw : forms;HTML filters -OpenOffice.org Draw : forms;inserting -OpenOffice.org Draw : forms;Navigator -OpenOffice.org Draw : forms;opening in design mode -OpenOffice.org Draw : forms;properties -OpenOffice.org Draw : forms;sorting data -OpenOffice.org Draw : forms;subforms -OpenOffice.org Draw : forms;wizards -OpenOffice.org Draw : forms;XForms -OpenOffice.org Draw : Formula Auditing feature in Microsoft Office -OpenOffice.org Draw : formula texts -OpenOffice.org Draw : formula texts;printing in OpenOffice.org Math -OpenOffice.org Draw : formulas -OpenOffice.org Draw : formulas;new -OpenOffice.org Draw : formulas;starting formula editor -OpenOffice.org Draw : formulas in reports -OpenOffice.org Draw : formulas in reports;editing -OpenOffice.org Draw : forums and support -OpenOffice.org Draw : frames -OpenOffice.org Draw : frames;around paragraphs -OpenOffice.org Draw : frames;around tables -OpenOffice.org Draw : frames;AutoCorrect function -OpenOffice.org Draw : frames;backgrounds -OpenOffice.org Draw : frames;captions (Writer) -OpenOffice.org Draw : frames;printing in OpenOffice.org Math -OpenOffice.org Draw : frames;protecting -OpenOffice.org Draw : frames;selection frames -OpenOffice.org Draw : frames;text fitting to frames -OpenOffice.org Draw : freeform lines -OpenOffice.org Draw : freeform lines;draw functions -OpenOffice.org Draw : freeform lines;drawing -OpenOffice.org Draw : FTP -OpenOffice.org Draw : FTP;opening documents -OpenOffice.org Draw : FTP;saving documents -OpenOffice.org Draw : full joins (Base) -OpenOffice.org Draw : full screen view -OpenOffice.org Draw : full-text search in Help -OpenOffice.org Draw : functions in reports -OpenOffice.org Draw : functions in reports;editing -OpenOffice.org Draw : Gallery -OpenOffice.org Draw : Gallery;adding pictures -OpenOffice.org Draw : Gallery;dragging pictures to draw objects -OpenOffice.org Draw : Gallery;hiding/showing -OpenOffice.org Draw : Gallery;inserting pictures from -OpenOffice.org Draw : geometric forms -OpenOffice.org Draw : German spellcheck -OpenOffice.org Draw : get method for form transmissions -OpenOffice.org Draw : getting support -OpenOffice.org Draw : GIF format -OpenOffice.org Draw : GIF images -OpenOffice.org Draw : GIF images;animating -OpenOffice.org Draw : GIF images;replacing colors -OpenOffice.org Draw : glossaries -OpenOffice.org Draw : glossaries;common terms -OpenOffice.org Draw : glossaries;Internet terms -OpenOffice.org Draw : glue points -OpenOffice.org Draw : glue points;editing -OpenOffice.org Draw : glue points;inserting -OpenOffice.org Draw : gradients -OpenOffice.org Draw : gradients;applying and defining -OpenOffice.org Draw : gradients;defining colors -OpenOffice.org Draw : gradients;loading lists -OpenOffice.org Draw : gradients;transparent -OpenOffice.org Draw : gradients off for faster printing -OpenOffice.org Draw : graphical text art -OpenOffice.org Draw : graphics -OpenOffice.org Draw : graphics;cache -OpenOffice.org Draw : graphics;protecting -OpenOffice.org Draw : graphics, see also pictures -OpenOffice.org Draw : grayscale display -OpenOffice.org Draw : grayscale printing -OpenOffice.org Draw : grid controls -OpenOffice.org Draw : grid controls;form functions -OpenOffice.org Draw : grids -OpenOffice.org Draw : grids;defaults (Writer/Calc) -OpenOffice.org Draw : grids;display options (Impress/Draw) -OpenOffice.org Draw : grids;displaying lines (Calc) -OpenOffice.org Draw : grids;formatting axes -OpenOffice.org Draw : grids;inserting in charts -OpenOffice.org Draw : group box creation -OpenOffice.org Draw : grouping -OpenOffice.org Draw : grouping;draw objects -OpenOffice.org Draw : groups -OpenOffice.org Draw : groups;entering/exiting/ungrouping -OpenOffice.org Draw : groups;naming -OpenOffice.org Draw : groups;of controls -OpenOffice.org Draw : guides -OpenOffice.org Draw : guides;display options (Impress/Draw) -OpenOffice.org Draw : guides;displaying when moving objects (Impress) -OpenOffice.org Draw : guides;editing -OpenOffice.org Draw : guides;inserting -OpenOffice.org Draw : guides;show snap lines icon -OpenOffice.org Draw : guides;showing (Calc) -OpenOffice.org Draw : guides;showing when moving frames (Writer) -OpenOffice.org Draw : gutter -OpenOffice.org Draw : half-spheres -OpenOffice.org Draw : hand icon for moving slides -OpenOffice.org Draw : handles -OpenOffice.org Draw : handles;displaying (Writer) -OpenOffice.org Draw : handles;large -OpenOffice.org Draw : handles;scaling -OpenOffice.org Draw : handles;showing simple/large handles (Calc) -OpenOffice.org Draw : handles;simple -OpenOffice.org Draw : handout printing -OpenOffice.org Draw : Hangul/Hanja -OpenOffice.org Draw : hatching -OpenOffice.org Draw : hatching -OpenOffice.org Draw : hatching;loading lists -OpenOffice.org Draw : headers -OpenOffice.org Draw : headers;backgrounds -OpenOffice.org Draw : headers and footers -OpenOffice.org Draw : headers and footers;master layouts -OpenOffice.org Draw : headers and footers;slide masters -OpenOffice.org Draw : headers and footers;slides -OpenOffice.org Draw : headings -OpenOffice.org Draw : headings;entering as text box -OpenOffice.org Draw : Hebrew -OpenOffice.org Draw : Hebrew;entering text -OpenOffice.org Draw : Hebrew;language settings -OpenOffice.org Draw : Help -OpenOffice.org Draw : Help;bookmarks -OpenOffice.org Draw : Help;extended tips on/off -OpenOffice.org Draw : Help;full-text search -OpenOffice.org Draw : Help;Help tips -OpenOffice.org Draw : Help;keywords -OpenOffice.org Draw : Help;navigation pane showing/hiding -OpenOffice.org Draw : Help;style sheets -OpenOffice.org Draw : Help;topics -OpenOffice.org Draw : Help Agent -OpenOffice.org Draw : Help Agent;help -OpenOffice.org Draw : Help Agent;options -OpenOffice.org Draw : Help tips -OpenOffice.org Draw : Help tips;hiding -OpenOffice.org Draw : hidden controls in Form Navigator -OpenOffice.org Draw : hidden fields display (Writer) -OpenOffice.org Draw : hidden pages -OpenOffice.org Draw : hidden pages;printing in presentations -OpenOffice.org Draw : hidden pages;showing -OpenOffice.org Draw : hidden text -OpenOffice.org Draw : hidden text;showing (Writer) -OpenOffice.org Draw : hiding -OpenOffice.org Draw : hiding;changes -OpenOffice.org Draw : hiding;chart legends -OpenOffice.org Draw : hiding;docked windows -OpenOffice.org Draw : hiding;layers -OpenOffice.org Draw : hiding;levels -OpenOffice.org Draw : hiding;navigation pane in Help window -OpenOffice.org Draw : hiding;slides -OpenOffice.org Draw : hiding;subpoints -OpenOffice.org Draw : high contrast mode -OpenOffice.org Draw : Hindi -OpenOffice.org Draw : Hindi;entering text -OpenOffice.org Draw : Hindi;language settings -OpenOffice.org Draw : horizontal scrollbars (Writer) -OpenOffice.org Draw : hot spots in flowcharts -OpenOffice.org Draw : HowTos for charts -OpenOffice.org Draw : Howtos for Draw -OpenOffice.org Draw : HTML -OpenOffice.org Draw : HTML;definition -OpenOffice.org Draw : HTML;export character set -OpenOffice.org Draw : HTML;exporting from presentations -OpenOffice.org Draw : HTML;fonts for source display -OpenOffice.org Draw : HTML;importing into presentations -OpenOffice.org Draw : HTML;importing META tags -OpenOffice.org Draw : HTML;inserting files -OpenOffice.org Draw : HTML;live presentations -OpenOffice.org Draw : HTML documents -OpenOffice.org Draw : HTML documents;auto reloading -OpenOffice.org Draw : HTML documents;importing/exporting -OpenOffice.org Draw : HTML documents;META tags in -OpenOffice.org Draw : HTML documents;new -OpenOffice.org Draw : HTML documents;source text -OpenOffice.org Draw : hyperlinks -OpenOffice.org Draw : hyperlinks;assigning macros -OpenOffice.org Draw : hyperlinks;character formats -OpenOffice.org Draw : hyperlinks;definition -OpenOffice.org Draw : hyperlinks;deleting -OpenOffice.org Draw : hyperlinks;editing -OpenOffice.org Draw : hyperlinks;inserting -OpenOffice.org Draw : hyperlinks;relative and absolute -OpenOffice.org Draw : hyperlinks;turning off automatic recognition -OpenOffice.org Draw : hyperlinks, see also links -OpenOffice.org Draw : hyphenation -OpenOffice.org Draw : hyphenation;activating for a language -OpenOffice.org Draw : hyphenation;minimal number of characters -OpenOffice.org Draw : hyphens -OpenOffice.org Draw : hyphens;displaying custom (Writer) -OpenOffice.org Draw : hyphens;inserting custom -OpenOffice.org Draw : icon bars, see toolbars -OpenOffice.org Draw : icon sizes -OpenOffice.org Draw : ignore list for spellcheck -OpenOffice.org Draw : illumination -OpenOffice.org Draw : illumination;3D charts -OpenOffice.org Draw : illustrations, see pictures -OpenOffice.org Draw : image button creation -OpenOffice.org Draw : image control creation -OpenOffice.org Draw : ImageMap -OpenOffice.org Draw : ImageMap;definition -OpenOffice.org Draw : ImageMap;editor -OpenOffice.org Draw : images -OpenOffice.org Draw : images;ImageMap -OpenOffice.org Draw : images;inserting -OpenOffice.org Draw : images;inserting and editing bitmaps -OpenOffice.org Draw : images;placeholders in presentations -OpenOffice.org Draw : images, see also pictures -OpenOffice.org Draw : IME -OpenOffice.org Draw : IME;definition -OpenOffice.org Draw : IME;showing/hiding -OpenOffice.org Draw : import filters -OpenOffice.org Draw : import restrictions for Microsoft Office -OpenOffice.org Draw : importing -OpenOffice.org Draw : importing;bitmaps -OpenOffice.org Draw : importing;compatibility settings for text import -OpenOffice.org Draw : importing;databases -OpenOffice.org Draw : importing;documents in other formats -OpenOffice.org Draw : importing;from XML -OpenOffice.org Draw : importing;HTML and text documents -OpenOffice.org Draw : importing;HTML with META tags -OpenOffice.org Draw : importing;Microsoft Office documents with VBA code -OpenOffice.org Draw : importing;presentations with HTML -OpenOffice.org Draw : importing;tables in text format -OpenOffice.org Draw : importing;templates -OpenOffice.org Draw : in front of object command -OpenOffice.org Draw : inches -OpenOffice.org Draw : including spreadsheets -OpenOffice.org Draw : increasing sizes of views -OpenOffice.org Draw : Index tab in Help -OpenOffice.org Draw : indexes -OpenOffice.org Draw : indexes;backgrounds -OpenOffice.org Draw : indexes;showing/hiding Help index tab -OpenOffice.org Draw : indexes;unprotecting -OpenOffice.org Draw : indicator lines in text -OpenOffice.org Draw : inner joins (Base) -OpenOffice.org Draw : input method window -OpenOffice.org Draw : insert mode for entering text -OpenOffice.org Draw : inserting -OpenOffice.org Draw : inserting;3D objects -OpenOffice.org Draw : inserting;applets -OpenOffice.org Draw : inserting;arrows -OpenOffice.org Draw : inserting;callouts in presentations -OpenOffice.org Draw : inserting;cell ranges from spreadsheets -OpenOffice.org Draw : inserting;charts -OpenOffice.org Draw : inserting;clipboard options -OpenOffice.org Draw : inserting;data from text documents -OpenOffice.org Draw : inserting;datasource records in spreadsheets -OpenOffice.org Draw : inserting;drawings -OpenOffice.org Draw : inserting;ellipses -OpenOffice.org Draw : inserting;files -OpenOffice.org Draw : inserting;floating frames -OpenOffice.org Draw : inserting;form fields -OpenOffice.org Draw : inserting;glue points -OpenOffice.org Draw : inserting;hyperlinks -OpenOffice.org Draw : inserting;layers -OpenOffice.org Draw : inserting;line breaks in cells -OpenOffice.org Draw : inserting;lines -OpenOffice.org Draw : inserting;movies/sounds -OpenOffice.org Draw : inserting;new text tables defaults -OpenOffice.org Draw : inserting;notes -OpenOffice.org Draw : inserting;objects from files -OpenOffice.org Draw : inserting;objects from Gallery -OpenOffice.org Draw : inserting;OLE objects -OpenOffice.org Draw : inserting;paragraph bullets -OpenOffice.org Draw : inserting;pictures -OpenOffice.org Draw : inserting;plug-ins -OpenOffice.org Draw : inserting;polygons -OpenOffice.org Draw : inserting;rectangles -OpenOffice.org Draw : inserting;slides -OpenOffice.org Draw : inserting;slides as links -OpenOffice.org Draw : inserting;slides from files -OpenOffice.org Draw : inserting;special characters -OpenOffice.org Draw : inserting;tab stops -OpenOffice.org Draw : inserting;text in presentations -OpenOffice.org Draw : installing -OpenOffice.org Draw : installing;ActiveX control -OpenOffice.org Draw : installing;mobile device filters -OpenOffice.org Draw : installing;UNO components -OpenOffice.org Draw : instructions -OpenOffice.org Draw : instructions;general -OpenOffice.org Draw : instructions;OpenOffice.org Draw -OpenOffice.org Draw : instructions;OpenOffice.org Impress -OpenOffice.org Draw : interactions -OpenOffice.org Draw : interactions;hot spots -OpenOffice.org Draw : interactions;objects in interactive presentations -OpenOffice.org Draw : interactions;preview -OpenOffice.org Draw : Internet -OpenOffice.org Draw : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Draw : Internet;presentations -OpenOffice.org Draw : Internet;starting searches -OpenOffice.org Draw : Internet;turning off recognition of addresses -OpenOffice.org Draw : Internet glossary -OpenOffice.org Draw : intersecting draw objects -OpenOffice.org Draw : invert filter -OpenOffice.org Draw : invisible areas -OpenOffice.org Draw : italic text -OpenOffice.org Draw : iterative references in spreadsheets -OpenOffice.org Draw : Java -OpenOffice.org Draw : Java;definition -OpenOffice.org Draw : Java;scripting -OpenOffice.org Draw : Java;setting options -OpenOffice.org Draw : JDBC -OpenOffice.org Draw : JDBC;databases (Base) -OpenOffice.org Draw : JDBC;definition -OpenOffice.org Draw : joining -OpenOffice.org Draw : joining;3D objects -OpenOffice.org Draw : joining;paragraphs -OpenOffice.org Draw : joining;tables (Base) -OpenOffice.org Draw : joins in databases (Base) -OpenOffice.org Draw : justifying text -OpenOffice.org Draw : kerning -OpenOffice.org Draw : kerning;Asian texts -OpenOffice.org Draw : kerning;definition -OpenOffice.org Draw : kerning;in characters -OpenOffice.org Draw : key fields for relations (Base) -OpenOffice.org Draw : keyboard -OpenOffice.org Draw : keyboard;assigning/editing shortcut keys -OpenOffice.org Draw : keyboard;general commands -OpenOffice.org Draw : keyboard;removing numbering -OpenOffice.org Draw : keyboard;zooming -OpenOffice.org Draw : keys -OpenOffice.org Draw : keys;adding push buttons -OpenOffice.org Draw : keys;primary keys (Base) -OpenOffice.org Draw : kiosk export -OpenOffice.org Draw : labels -OpenOffice.org Draw : labels;creating and synchronizing -OpenOffice.org Draw : labels;for charts -OpenOffice.org Draw : labels;for draw objects -OpenOffice.org Draw : labels;form functions -OpenOffice.org Draw : labels;from databases -OpenOffice.org Draw : labels, see also names/callouts -OpenOffice.org Draw : languages -OpenOffice.org Draw : languages;activating modules -OpenOffice.org Draw : languages;Asian support -OpenOffice.org Draw : languages;complex text layout -OpenOffice.org Draw : languages;locale settings -OpenOffice.org Draw : languages;selecting -OpenOffice.org Draw : languages;setting options -OpenOffice.org Draw : languages;spellcheck -OpenOffice.org Draw : languages;spellchecking and formatting -OpenOffice.org Draw : large handles (Writer) -OpenOffice.org Draw : large icons -OpenOffice.org Draw : layer arrangement -OpenOffice.org Draw : layers -OpenOffice.org Draw : layers;definition -OpenOffice.org Draw : layers;deleting -OpenOffice.org Draw : layers;inserting and editing -OpenOffice.org Draw : layers;moving objects -OpenOffice.org Draw : layers;renaming -OpenOffice.org Draw : layers;working with -OpenOffice.org Draw : layout -OpenOffice.org Draw : layout;importing Word documents -OpenOffice.org Draw : layout;pages -OpenOffice.org Draw : layout;printing handouts -OpenOffice.org Draw : LDAP server -OpenOffice.org Draw : LDAP server;address books (Base) -OpenOffice.org Draw : LDAP server;sign on options -OpenOffice.org Draw : leading between paragraphs -OpenOffice.org Draw : left alignment of paragraphs -OpenOffice.org Draw : left joins (Base) -OpenOffice.org Draw : legends -OpenOffice.org Draw : legends;charts -OpenOffice.org Draw : legends;draw objects -OpenOffice.org Draw : legends;drawings -OpenOffice.org Draw : legends;rounding corners -OpenOffice.org Draw : Letter Wizard -OpenOffice.org Draw : levels -OpenOffice.org Draw : levels;depth stagger -OpenOffice.org Draw : levels;hiding -OpenOffice.org Draw : levels;showing -OpenOffice.org Draw : limits of tables (Writer) -OpenOffice.org Draw : line breaks -OpenOffice.org Draw : line breaks;in cells -OpenOffice.org Draw : line charts -OpenOffice.org Draw : line spacing -OpenOffice.org Draw : line spacing;context menu in paragraphs -OpenOffice.org Draw : line spacing;paragraph -OpenOffice.org Draw : line styles -OpenOffice.org Draw : line styles;applying -OpenOffice.org Draw : line styles;defining -OpenOffice.org Draw : line styles;loading -OpenOffice.org Draw : lines -OpenOffice.org Draw : lines;about line ends -OpenOffice.org Draw : lines;connecting objects -OpenOffice.org Draw : lines;contours (Draw/Impress) -OpenOffice.org Draw : lines;defining ends -OpenOffice.org Draw : lines;draw functions -OpenOffice.org Draw : lines;drawing -OpenOffice.org Draw : lines;drawing in text -OpenOffice.org Draw : lines;editing points -OpenOffice.org Draw : lines;inserting -OpenOffice.org Draw : lines;removing automatic lines -OpenOffice.org Draw : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Draw : lines of text -OpenOffice.org Draw : lines of text;alignment -OpenOffice.org Draw : links -OpenOffice.org Draw : links;between cells and controls -OpenOffice.org Draw : links;by drag and drop -OpenOffice.org Draw : links;character formats -OpenOffice.org Draw : links;definition -OpenOffice.org Draw : links;editing hyperlinks -OpenOffice.org Draw : links;inserting -OpenOffice.org Draw : links;modifying -OpenOffice.org Draw : links;opening files with -OpenOffice.org Draw : links;relational databases (Base) -OpenOffice.org Draw : links;turning off automatic recognition -OpenOffice.org Draw : links;updating options (Writer) -OpenOffice.org Draw : links;updating specific links -OpenOffice.org Draw : list box creation -OpenOffice.org Draw : lists -OpenOffice.org Draw : lists;animations -OpenOffice.org Draw : lists;data assigned to controls -OpenOffice.org Draw : lists;registered databases (Base) -OpenOffice.org Draw : lists;regular expressions -OpenOffice.org Draw : live presentations on the Internet -OpenOffice.org Draw : loading -OpenOffice.org Draw : loading;arrow and line styles -OpenOffice.org Draw : loading;colors/gradients/hatchings -OpenOffice.org Draw : loading;documents -OpenOffice.org Draw : loading;documents from other formats -OpenOffice.org Draw : loading;HTML documents, automatically -OpenOffice.org Draw : loading;Microsoft Office documents with VBA code -OpenOffice.org Draw : loading;reloading -OpenOffice.org Draw : loading;XML files -OpenOffice.org Draw : locale settings -OpenOffice.org Draw : locking layers -OpenOffice.org Draw : logarithmic scaling along axes -OpenOffice.org Draw : lowercase letters -OpenOffice.org Draw : lowercase letters;font effects -OpenOffice.org Draw : Macromedia Flash export -OpenOffice.org Draw : macros -OpenOffice.org Draw : macros;assigning to events in forms -OpenOffice.org Draw : macros;in MS Office documents -OpenOffice.org Draw : macros;interrupting -OpenOffice.org Draw : macros;organizing -OpenOffice.org Draw : macros;recording -OpenOffice.org Draw : macros;running in presentations -OpenOffice.org Draw : macros;security -OpenOffice.org Draw : macros;security warning dialog -OpenOffice.org Draw : macros;selecting security warnings -OpenOffice.org Draw : magnetic lines in presentations -OpenOffice.org Draw : magnifiers -OpenOffice.org Draw : Mail Merge feature in Microsoft Office -OpenOffice.org Draw : margins -OpenOffice.org Draw : margins;pages -OpenOffice.org Draw : margins;setting with the mouse -OpenOffice.org Draw : margins;shadows -OpenOffice.org Draw : marking changes -OpenOffice.org Draw : Markup feature in Microsoft Office -OpenOffice.org Draw : master layouts with headers and footers -OpenOffice.org Draw : master pages, see slide masters -OpenOffice.org Draw : master views -OpenOffice.org Draw : Math formula editor -OpenOffice.org Draw : measurement units -OpenOffice.org Draw : measurement units;changing on rulers -OpenOffice.org Draw : measurement units;converting -OpenOffice.org Draw : measurement units;selecting -OpenOffice.org Draw : Media Player window -OpenOffice.org Draw : menus -OpenOffice.org Draw : menus;activating context menus -OpenOffice.org Draw : menus;customizing -OpenOffice.org Draw : menus;inactive menu items -OpenOffice.org Draw : merging -OpenOffice.org Draw : merging;documents -OpenOffice.org Draw : merging;draw objects -OpenOffice.org Draw : META tags -OpenOffice.org Draw : metafiles -OpenOffice.org Draw : metafiles;converting to -OpenOffice.org Draw : metafiles;replacing colors -OpenOffice.org Draw : metrics -OpenOffice.org Draw : metrics;converting -OpenOffice.org Draw : metrics;document formatting (Writer) -OpenOffice.org Draw : metrics;in sheets -OpenOffice.org Draw : Microsoft Office -OpenOffice.org Draw : Microsoft Office;Access databases (base) -OpenOffice.org Draw : Microsoft Office;as standard file format -OpenOffice.org Draw : Microsoft Office;document import restrictions -OpenOffice.org Draw : Microsoft Office;feature comparisons -OpenOffice.org Draw : Microsoft Office;importing password protected files -OpenOffice.org Draw : Microsoft Office;importing Word documents -OpenOffice.org Draw : Microsoft Office;importing/exporting VBA code -OpenOffice.org Draw : Microsoft Office;new users information -OpenOffice.org Draw : Microsoft Office;opening Microsoft documents -OpenOffice.org Draw : Microsoft Office;reassigning document types -OpenOffice.org Draw : mirroring objects -OpenOffice.org Draw : mobile device filters -OpenOffice.org Draw : models in XForms -OpenOffice.org Draw : modifying, see changing -OpenOffice.org Draw : more controls -OpenOffice.org Draw : mosaic filter -OpenOffice.org Draw : motion paths -OpenOffice.org Draw : mouse -OpenOffice.org Draw : mouse;pointers when using drag and drop -OpenOffice.org Draw : mouse;positioning -OpenOffice.org Draw : moving -OpenOffice.org Draw : moving;between layers -OpenOffice.org Draw : moving;objects in slides -OpenOffice.org Draw : moving;tab stops on ruler -OpenOffice.org Draw : moving;toolbars -OpenOffice.org Draw : moving;using guide lines in presentations -OpenOffice.org Draw : MS ADO interface (Base) -OpenOffice.org Draw : multi-line titles in forms -OpenOffice.org Draw : multiple documents -OpenOffice.org Draw : multiple documents;opening -OpenOffice.org Draw : multiple monitors -OpenOffice.org Draw : multiplying draw objects -OpenOffice.org Draw : My Documents folder -OpenOffice.org Draw : My Documents folder;changing work directory -OpenOffice.org Draw : My Documents folder;opening -OpenOffice.org Draw : MySQL databases (Base) -OpenOffice.org Draw : names -OpenOffice.org Draw : names;multi-line titles -OpenOffice.org Draw : names;objects -OpenOffice.org Draw : names, see also labels/callouts -OpenOffice.org Draw : namespace organization in XForms -OpenOffice.org Draw : native SQL (Base) -OpenOffice.org Draw : navigating -OpenOffice.org Draw : navigating;in documents -OpenOffice.org Draw : Navigation bar -OpenOffice.org Draw : Navigation bar;controls -OpenOffice.org Draw : Navigation bar;forms -OpenOffice.org Draw : Navigator -OpenOffice.org Draw : Navigator;contents as lists -OpenOffice.org Draw : Navigator;docking -OpenOffice.org Draw : Navigator;presentations -OpenOffice.org Draw : Navigator;working with -OpenOffice.org Draw : net charts -OpenOffice.org Draw : network identity options -OpenOffice.org Draw : new databases -OpenOffice.org Draw : new documents -OpenOffice.org Draw : new German spellcheck -OpenOffice.org Draw : new lines in cells -OpenOffice.org Draw : new windows -OpenOffice.org Draw : non-breaking dashes -OpenOffice.org Draw : non-breaking spaces (Writer) -OpenOffice.org Draw : non-printing characters (Writer) -OpenOffice.org Draw : normal view -OpenOffice.org Draw : normal view;backgrounds -OpenOffice.org Draw : normal view;presentations -OpenOffice.org Draw : notes -OpenOffice.org Draw : notes;adding to slides -OpenOffice.org Draw : notes;default formatting -OpenOffice.org Draw : notes;displaying (Calc) -OpenOffice.org Draw : notes;inserting and editing -OpenOffice.org Draw : notes;printing in presentations -OpenOffice.org Draw : notes;printing in text -OpenOffice.org Draw : number formats -OpenOffice.org Draw : number formats;codes -OpenOffice.org Draw : number formats;formats -OpenOffice.org Draw : number formats;recognition in text tables -OpenOffice.org Draw : number of pages -OpenOffice.org Draw : number of sheets -OpenOffice.org Draw : number of tables -OpenOffice.org Draw : numbering -OpenOffice.org Draw : numbering;options -OpenOffice.org Draw : numbering;paragraphs -OpenOffice.org Draw : numbering;turning off -OpenOffice.org Draw : numbering;using automatically -OpenOffice.org Draw : numbers -OpenOffice.org Draw : numbers;date, time and currency formats -OpenOffice.org Draw : numbers;decimal places (Calc) -OpenOffice.org Draw : numbers;formatting options for selected cells -OpenOffice.org Draw : numerical fields in forms -OpenOffice.org Draw : object bars -OpenOffice.org Draw : object bars;editing glue points -OpenOffice.org Draw : objects -OpenOffice.org Draw : objects;aligning -OpenOffice.org Draw : objects;always moveable (Impress/Draw) -OpenOffice.org Draw : objects;arranging within stacks -OpenOffice.org Draw : objects;behind object command -OpenOffice.org Draw : objects;breaking connections -OpenOffice.org Draw : objects;contours in presentations -OpenOffice.org Draw : objects;copying when moving in presentations -OpenOffice.org Draw : objects;definition -OpenOffice.org Draw : objects;displaying in spreadsheets -OpenOffice.org Draw : objects;displaying in text documents -OpenOffice.org Draw : objects;editing -OpenOffice.org Draw : objects;effects -OpenOffice.org Draw : objects;in front of object command -OpenOffice.org Draw : objects;inserting from files -OpenOffice.org Draw : objects;inserting from Gallery -OpenOffice.org Draw : objects;inserting OLE objects -OpenOffice.org Draw : objects;moving along paths -OpenOffice.org Draw : objects;moving and resizing with mouse -OpenOffice.org Draw : objects;moving in layers -OpenOffice.org Draw : objects;moving in slides -OpenOffice.org Draw : objects;naming -OpenOffice.org Draw : objects;opening -OpenOffice.org Draw : objects;properties of charts -OpenOffice.org Draw : objects;quickly moving to -OpenOffice.org Draw : objects;reversing -OpenOffice.org Draw : objects;selecting -OpenOffice.org Draw : objects;titles and descriptions -OpenOffice.org Draw : objects;with attributes -OpenOffice.org Draw : ODBC -OpenOffice.org Draw : ODBC;database (Base) -OpenOffice.org Draw : ODBC;definition -OpenOffice.org Draw : ODF file formats -OpenOffice.org Draw : Office -OpenOffice.org Draw : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Draw : old German spellcheck -OpenOffice.org Draw : OLE -OpenOffice.org Draw : OLE;definition -OpenOffice.org Draw : OLE objects -OpenOffice.org Draw : OLE objects;arranging within stacks -OpenOffice.org Draw : OLE objects;captions (Writer) -OpenOffice.org Draw : OLE objects;inserting -OpenOffice.org Draw : OLE objects;number of -OpenOffice.org Draw : OLE objects;protecting -OpenOffice.org Draw : one and a half line spacing in text -OpenOffice.org Draw : online registration -OpenOffice.org Draw : online update options -OpenOffice.org Draw : online updates -OpenOffice.org Draw : online updates;checking automatically -OpenOffice.org Draw : online updates;checking manually -OpenOffice.org Draw : Open/Save dialogs -OpenOffice.org Draw : OpenDocument file formats -OpenOffice.org Draw : OpenGL -OpenOffice.org Draw : OpenGL;definition -OpenOffice.org Draw : OpenGL;optimized output -OpenOffice.org Draw : opening -OpenOffice.org Draw : opening;context menus -OpenOffice.org Draw : opening;database files -OpenOffice.org Draw : opening;dialog settings -OpenOffice.org Draw : opening;documents -OpenOffice.org Draw : opening;documents from other formats -OpenOffice.org Draw : opening;files with links -OpenOffice.org Draw : opening;files, with placeholders -OpenOffice.org Draw : opening;forms -OpenOffice.org Draw : opening;Microsoft Office files -OpenOffice.org Draw : opening;mobile device documents -OpenOffice.org Draw : opening;objects -OpenOffice.org Draw : opening;reports -OpenOffice.org Draw : opening;several files -OpenOffice.org Draw : opening;XForms -OpenOffice.org Draw : OpenOffice.org Base data sources -OpenOffice.org Draw : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Draw : OpenOffice.org documents -OpenOffice.org Draw : OpenOffice.org documents;mobile device filters -OpenOffice.org Draw : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Draw : OpenOffice.org Impress instructions -OpenOffice.org Draw : OpenOffice.org Math start -OpenOffice.org Draw : operators -OpenOffice.org Draw : operators;default filters -OpenOffice.org Draw : optional hyphens (Writer) -OpenOffice.org Draw : options -OpenOffice.org Draw : options;accessibility -OpenOffice.org Draw : options;appearance -OpenOffice.org Draw : options;compatibility (Writer) -OpenOffice.org Draw : options;network identity -OpenOffice.org Draw : options;online update -OpenOffice.org Draw : options;tools -OpenOffice.org Draw : Oracle databases (base) -OpenOffice.org Draw : order of chart data -OpenOffice.org Draw : ordering -OpenOffice.org Draw : ordering;objects -OpenOffice.org Draw : ordering;slides -OpenOffice.org Draw : organization charts -OpenOffice.org Draw : organizing -OpenOffice.org Draw : organizing;macros and scripts -OpenOffice.org Draw : organizing;namespaces in XForms -OpenOffice.org Draw : organizing;styles -OpenOffice.org Draw : organizing;templates -OpenOffice.org Draw : origin of rulers -OpenOffice.org Draw : original size -OpenOffice.org Draw : original size;printing in OpenOffice.org Math -OpenOffice.org Draw : original size;restoring after cropping -OpenOffice.org Draw : outline view -OpenOffice.org Draw : outlines -OpenOffice.org Draw : outlines;font effects -OpenOffice.org Draw : outlines;outline symbols -OpenOffice.org Draw : outlines;printing -OpenOffice.org Draw : outlines;sending to presentations -OpenOffice.org Draw : overwrite mode -OpenOffice.org Draw : packages, see extensions -OpenOffice.org Draw : page breaks -OpenOffice.org Draw : page breaks;displaying (Calc) -OpenOffice.org Draw : page formats -OpenOffice.org Draw : page formats;maximizing -OpenOffice.org Draw : page formats;restriction -OpenOffice.org Draw : page number field -OpenOffice.org Draw : page numbers on all slides -OpenOffice.org Draw : page styles -OpenOffice.org Draw : page styles;editing/applying with statusbar -OpenOffice.org Draw : pages -OpenOffice.org Draw : pages;backgrounds in spreadsheets -OpenOffice.org Draw : pages;copying -OpenOffice.org Draw : pages;fitting to printed pages -OpenOffice.org Draw : pages;formatting and numbering -OpenOffice.org Draw : pages;printing page names in presentations -OpenOffice.org Draw : pages;scaling -OpenOffice.org Draw : pages;selecting one to print -OpenOffice.org Draw : paint box -OpenOffice.org Draw : paint can symbol -OpenOffice.org Draw : pair kerning -OpenOffice.org Draw : Palm file filters -OpenOffice.org Draw : paper formats -OpenOffice.org Draw : paper size warning -OpenOffice.org Draw : paper trays -OpenOffice.org Draw : paragraph marks -OpenOffice.org Draw : paragraph marks;displaying (Writer) -OpenOffice.org Draw : paragraph styles -OpenOffice.org Draw : paragraph styles;languages -OpenOffice.org Draw : paragraph styles;modifying basic fonts -OpenOffice.org Draw : paragraphs -OpenOffice.org Draw : paragraphs;alignment -OpenOffice.org Draw : paragraphs;Asian typography -OpenOffice.org Draw : paragraphs;backgrounds -OpenOffice.org Draw : paragraphs;defining borders -OpenOffice.org Draw : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Draw : paragraphs;increasing indents of -OpenOffice.org Draw : paragraphs;indents, margins and columns -OpenOffice.org Draw : paragraphs;inserting bullets -OpenOffice.org Draw : paragraphs;joining -OpenOffice.org Draw : paragraphs;numbering automatically -OpenOffice.org Draw : paragraphs;removing blank ones -OpenOffice.org Draw : paragraphs;spacing -OpenOffice.org Draw : paragraphs;tab stops -OpenOffice.org Draw : parameters -OpenOffice.org Draw : parameters;command line -OpenOffice.org Draw : parameters;queries (Base) -OpenOffice.org Draw : passwords for protecting contents -OpenOffice.org Draw : pasting -OpenOffice.org Draw : pasting;cell ranges -OpenOffice.org Draw : pasting;cell ranges from spreadsheets -OpenOffice.org Draw : pasting;data from text documents -OpenOffice.org Draw : pasting;draw objects -OpenOffice.org Draw : pasting;draw objects from other documents -OpenOffice.org Draw : pasting;formatted/unformatted text -OpenOffice.org Draw : pasting;from data source view -OpenOffice.org Draw : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Draw : pasting;pictures from other documents -OpenOffice.org Draw : pasting;sheet areas in text documents -OpenOffice.org Draw : pasting;slides from other presentations -OpenOffice.org Draw : pasting;text from other documents -OpenOffice.org Draw : pasting;to Gallery -OpenOffice.org Draw : paths -OpenOffice.org Draw : paths;changing work directory -OpenOffice.org Draw : paths;defaults -OpenOffice.org Draw : paths;moving objects along -OpenOffice.org Draw : pattern editor -OpenOffice.org Draw : pattern fields -OpenOffice.org Draw : pattern fields;form functions -OpenOffice.org Draw : patterns for objects -OpenOffice.org Draw : PDF -OpenOffice.org Draw : PDF;export -OpenOffice.org Draw : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Draw : personal data input -OpenOffice.org Draw : phonetic guide -OpenOffice.org Draw : picklist creation -OpenOffice.org Draw : pictures -OpenOffice.org Draw : pictures;adding to Gallery -OpenOffice.org Draw : pictures;arranging within stacks -OpenOffice.org Draw : pictures;assigning macros -OpenOffice.org Draw : pictures;backgrounds -OpenOffice.org Draw : pictures;captions (Writer) -OpenOffice.org Draw : pictures;changing paths -OpenOffice.org Draw : pictures;cropping and zooming -OpenOffice.org Draw : pictures;displaying in Calc -OpenOffice.org Draw : pictures;displaying in Writer (Writer) -OpenOffice.org Draw : pictures;drag and drop between documents -OpenOffice.org Draw : pictures;drawing -OpenOffice.org Draw : pictures;editing -OpenOffice.org Draw : pictures;filters -OpenOffice.org Draw : pictures;ImageMap -OpenOffice.org Draw : pictures;inserting -OpenOffice.org Draw : pictures;inserting automatically -OpenOffice.org Draw : pictures;inserting from Gallery -OpenOffice.org Draw : pictures;number of -OpenOffice.org Draw : pictures;printing -OpenOffice.org Draw : pictures;scaling/resizing -OpenOffice.org Draw : pie charts -OpenOffice.org Draw : pivot points of draw objects -OpenOffice.org Draw : Pivot tables feature in Microsoft Office -OpenOffice.org Draw : pixel editor -OpenOffice.org Draw : pixel graphics -OpenOffice.org Draw : pixel graphics;inserting and editing -OpenOffice.org Draw : pixel patterns -OpenOffice.org Draw : placeholders -OpenOffice.org Draw : placeholders;in SQL queries -OpenOffice.org Draw : placeholders;on opening files -OpenOffice.org Draw : placing toolbars -OpenOffice.org Draw : playing movies and sound files -OpenOffice.org Draw : plotting data as charts -OpenOffice.org Draw : plug-ins -OpenOffice.org Draw : plug-ins;activating and deactivating -OpenOffice.org Draw : plug-ins;definition -OpenOffice.org Draw : plug-ins;inserting -OpenOffice.org Draw : pocket device appliances -OpenOffice.org Draw : Pocket PC file filters -OpenOffice.org Draw : points -OpenOffice.org Draw : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Draw : polygon drawing -OpenOffice.org Draw : polygons -OpenOffice.org Draw : polygons;inserting -OpenOffice.org Draw : polygons;intersecting/subtracting/merging -OpenOffice.org Draw : pop-art filter -OpenOffice.org Draw : portable document format -OpenOffice.org Draw : positioning -OpenOffice.org Draw : positioning;draw objects and controls -OpenOffice.org Draw : positioning;fonts -OpenOffice.org Draw : positioning;objects -OpenOffice.org Draw : positioning;toolbars -OpenOffice.org Draw : post method for form transmissions -OpenOffice.org Draw : posterizing filter -OpenOffice.org Draw : PostScript -OpenOffice.org Draw : PostScript;creating files -OpenOffice.org Draw : PostScript;PDF converter, UNIX -OpenOffice.org Draw : PowerPoint export -OpenOffice.org Draw : precision as shown (Calc) -OpenOffice.org Draw : predefining fonts -OpenOffice.org Draw : presentations -OpenOffice.org Draw : presentations;arranging slides -OpenOffice.org Draw : presentations;creating/opening -OpenOffice.org Draw : presentations;exiting by interaction -OpenOffice.org Draw : presentations;exporting to HTML -OpenOffice.org Draw : presentations;importing HTML -OpenOffice.org Draw : presentations;inserting spreadsheet cells -OpenOffice.org Draw : presentations;inserting spreadsheets -OpenOffice.org Draw : presentations;live on the Internet -OpenOffice.org Draw : presentations;navigating -OpenOffice.org Draw : presentations;numbering slides in -OpenOffice.org Draw : presentations;ordering of effects -OpenOffice.org Draw : presentations;print menu -OpenOffice.org Draw : presentations;printing -OpenOffice.org Draw : presentations;rehearse timings -OpenOffice.org Draw : presentations;saving -OpenOffice.org Draw : presentations;saving automatically -OpenOffice.org Draw : presentations;saving in other formats -OpenOffice.org Draw : presentations;sending as e-mail -OpenOffice.org Draw : presentations;settings for -OpenOffice.org Draw : presentations;shortcut keys -OpenOffice.org Draw : presentations;starting -OpenOffice.org Draw : presentations;starting with wizard -OpenOffice.org Draw : presentations;window / full screen -OpenOffice.org Draw : presentations;wizards -OpenOffice.org Draw : press buttons, see push buttons -OpenOffice.org Draw : previews -OpenOffice.org Draw : previews;fonts lists -OpenOffice.org Draw : primary keys -OpenOffice.org Draw : primary keys;defining -OpenOffice.org Draw : primary keys;inserting (Base) -OpenOffice.org Draw : print area selection -OpenOffice.org Draw : printer metrics for document formatting (Writer) -OpenOffice.org Draw : printers -OpenOffice.org Draw : printers;adding, UNIX -OpenOffice.org Draw : printers;choosing -OpenOffice.org Draw : printers;default printer -OpenOffice.org Draw : printers;faxes under UNIX -OpenOffice.org Draw : printers;maximum page formats -OpenOffice.org Draw : printers;paper trays -OpenOffice.org Draw : printers;properties -OpenOffice.org Draw : printing -OpenOffice.org Draw : printing;black and white -OpenOffice.org Draw : printing;brochures -OpenOffice.org Draw : printing;colors in grayscale -OpenOffice.org Draw : printing;copies -OpenOffice.org Draw : printing;creating individual jobs -OpenOffice.org Draw : printing;dates in presentations -OpenOffice.org Draw : printing;directly -OpenOffice.org Draw : printing;documents -OpenOffice.org Draw : printing;drawings defaults -OpenOffice.org Draw : printing;elements in text documents -OpenOffice.org Draw : printing;faster -OpenOffice.org Draw : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Draw : printing;fitting to pages in presentations -OpenOffice.org Draw : printing;fitting to paper -OpenOffice.org Draw : printing;formulas in OpenOffice.org Math -OpenOffice.org Draw : printing;hidden pages of presentations -OpenOffice.org Draw : printing;in original size in OpenOffice.org Math -OpenOffice.org Draw : printing;left/right pages -OpenOffice.org Draw : printing;presentations -OpenOffice.org Draw : printing;queries (Base) -OpenOffice.org Draw : printing;scaling in OpenOffice.org Math -OpenOffice.org Draw : printing;selections -OpenOffice.org Draw : printing;text always in black -OpenOffice.org Draw : printing;text in reverse order -OpenOffice.org Draw : printing;tiling pages in presentations -OpenOffice.org Draw : printing;transparencies -OpenOffice.org Draw : printing;warnings -OpenOffice.org Draw : printing;without scaling in presentations -OpenOffice.org Draw : printing speed -OpenOffice.org Draw : programming -OpenOffice.org Draw : programming;OpenOffice.org -OpenOffice.org Draw : programming;scripting -OpenOffice.org Draw : programs run by mouse click in presentations -OpenOffice.org Draw : properties -OpenOffice.org Draw : properties;charts -OpenOffice.org Draw : properties;fields in databases -OpenOffice.org Draw : properties;files -OpenOffice.org Draw : properties;form controls -OpenOffice.org Draw : properties;forms -OpenOffice.org Draw : properties;printers -OpenOffice.org Draw : properties;smooth lines in line charts/XY charts -OpenOffice.org Draw : protected contents -OpenOffice.org Draw : protected dashes -OpenOffice.org Draw : protected database tables -OpenOffice.org Draw : protected documents -OpenOffice.org Draw : protected spaces -OpenOffice.org Draw : protected spaces;inserting -OpenOffice.org Draw : protected spaces;showing (Writer) -OpenOffice.org Draw : protecting -OpenOffice.org Draw : protecting;contents -OpenOffice.org Draw : protecting;recorded changes -OpenOffice.org Draw : proxy settings -OpenOffice.org Draw : push buttons -OpenOffice.org Draw : push buttons;adding to documents -OpenOffice.org Draw : push buttons;creating -OpenOffice.org Draw : pyramids -OpenOffice.org Draw : queries -OpenOffice.org Draw : queries;copying (Base) -OpenOffice.org Draw : queries;creating in design view (Base) -OpenOffice.org Draw : queries;creating in SQL view -OpenOffice.org Draw : queries;defining (Base) -OpenOffice.org Draw : queries;deleting table links (Base) -OpenOffice.org Draw : queries;editing in data source view -OpenOffice.org Draw : queries;formulating filter conditions (Base) -OpenOffice.org Draw : queries;joining tables (Base) -OpenOffice.org Draw : queries;missing elements (Base) -OpenOffice.org Draw : queries;overview (Base) -OpenOffice.org Draw : queries;parameter queries (Base) -OpenOffice.org Draw : queries;printing (Base) -OpenOffice.org Draw : Query Wizard (Base) -OpenOffice.org Draw : quickstarter -OpenOffice.org Draw : quotation marks -OpenOffice.org Draw : quotation marks;replacing -OpenOffice.org Draw : quotes -OpenOffice.org Draw : quotes;custom -OpenOffice.org Draw : radar charts, see net charts -OpenOffice.org Draw : radio button creation -OpenOffice.org Draw : read-only documents -OpenOffice.org Draw : read-only documents;cursor -OpenOffice.org Draw : read-only documents;database tables on/off -OpenOffice.org Draw : read-only documents;editing -OpenOffice.org Draw : read-only documents;opening documents as -OpenOffice.org Draw : read-only items in Data Navigator -OpenOffice.org Draw : recognizing URLs automatically -OpenOffice.org Draw : recording -OpenOffice.org Draw : recording;changes -OpenOffice.org Draw : recording;display times for slides -OpenOffice.org Draw : recording;macros -OpenOffice.org Draw : records -OpenOffice.org Draw : records;inserting notes -OpenOffice.org Draw : records;protecting -OpenOffice.org Draw : records;saving -OpenOffice.org Draw : records;searching in databases -OpenOffice.org Draw : rectangles -OpenOffice.org Draw : rectangles with round corners -OpenOffice.org Draw : recursions in spreadsheets -OpenOffice.org Draw : redo command -OpenOffice.org Draw : reduced printing -OpenOffice.org Draw : reference lines -OpenOffice.org Draw : references -OpenOffice.org Draw : references;displaying in color (Calc) -OpenOffice.org Draw : references;expanding (Calc) -OpenOffice.org Draw : references;iterative (Calc) -OpenOffice.org Draw : Refresh Data feature in Microsoft Office -OpenOffice.org Draw : register-true -OpenOffice.org Draw : register-true;definition -OpenOffice.org Draw : registering -OpenOffice.org Draw : registering;address books -OpenOffice.org Draw : registering;databases (Base) -OpenOffice.org Draw : registering;OpenOffice.org -OpenOffice.org Draw : regression curves in charts -OpenOffice.org Draw : regular expressions -OpenOffice.org Draw : regular expressions;list of -OpenOffice.org Draw : regular expressions;opening files -OpenOffice.org Draw : rehearse timings -OpenOffice.org Draw : relational databases (Base) -OpenOffice.org Draw : relations -OpenOffice.org Draw : relations;creating and deleting (Base) -OpenOffice.org Draw : relations;joining tables (Base) -OpenOffice.org Draw : relations;properties (Base) -OpenOffice.org Draw : relative hyperlinks -OpenOffice.org Draw : relative saving of URLs -OpenOffice.org Draw : reloading -OpenOffice.org Draw : reloading;documents -OpenOffice.org Draw : reloading;HTML documents, automatically -OpenOffice.org Draw : remarks, see also notes -OpenOffice.org Draw : remote configurations -OpenOffice.org Draw : remove noise filter -OpenOffice.org Draw : removing -OpenOffice.org Draw : removing;bullets and numbering -OpenOffice.org Draw : removing;form filters -OpenOffice.org Draw : removing, see also deleting -OpenOffice.org Draw : renaming layers -OpenOffice.org Draw : reorganizing charts -OpenOffice.org Draw : Replace text as you type feature in Microsoft Office -OpenOffice.org Draw : replacement options -OpenOffice.org Draw : replacement table -OpenOffice.org Draw : replacing -OpenOffice.org Draw : replacing;AutoCorrect function -OpenOffice.org Draw : replacing;colors in bitmaps -OpenOffice.org Draw : replacing;dashes -OpenOffice.org Draw : Report Builder -OpenOffice.org Draw : reports -OpenOffice.org Draw : reports;creating -OpenOffice.org Draw : reports;error reports -OpenOffice.org Draw : reports;opening and editing -OpenOffice.org Draw : reports;templates -OpenOffice.org Draw : resetting -OpenOffice.org Draw : resetting;templates -OpenOffice.org Draw : resizing -OpenOffice.org Draw : resizing;objects, by mouse -OpenOffice.org Draw : resizing, see also scaling/zooming -OpenOffice.org Draw : resolution when printing bitmaps -OpenOffice.org Draw : restoring -OpenOffice.org Draw : restoring;default formatting -OpenOffice.org Draw : restoring;editing -OpenOffice.org Draw : reversing objects -OpenOffice.org Draw : reversing printing order -OpenOffice.org Draw : review function -OpenOffice.org Draw : review function;accepting or rejecting changes -OpenOffice.org Draw : review function;comparing documents -OpenOffice.org Draw : review function;recording changes example -OpenOffice.org Draw : rich text control -OpenOffice.org Draw : right alignment of paragraphs -OpenOffice.org Draw : right joins (Base) -OpenOffice.org Draw : right-to-left text -OpenOffice.org Draw : rotating -OpenOffice.org Draw : rotating;3D text -OpenOffice.org Draw : rotating;draw objects -OpenOffice.org Draw : rotation mode -OpenOffice.org Draw : round corners -OpenOffice.org Draw : rounding precision (Calc) -OpenOffice.org Draw : row headers -OpenOffice.org Draw : row headers;displaying (Calc) -OpenOffice.org Draw : row headers;highlighting (Calc) -OpenOffice.org Draw : rulers -OpenOffice.org Draw : rulers;default settings -OpenOffice.org Draw : rulers;in presentations -OpenOffice.org Draw : rulers;measurement units -OpenOffice.org Draw : rulers;visible in presentations -OpenOffice.org Draw : running macros/programs in presentations -OpenOffice.org Draw : running slide shows -OpenOffice.org Draw : samples and templates -OpenOffice.org Draw : saving -OpenOffice.org Draw : saving;as HTML -OpenOffice.org Draw : saving;default file formats -OpenOffice.org Draw : saving;dialog settings -OpenOffice.org Draw : saving;documents -OpenOffice.org Draw : saving;documents for mobile devices -OpenOffice.org Draw : saving;documents in other formats -OpenOffice.org Draw : saving;documents, automatically -OpenOffice.org Draw : saving;in Microsoft Office file format -OpenOffice.org Draw : saving;options -OpenOffice.org Draw : saving;templates -OpenOffice.org Draw : saving;to XML -OpenOffice.org Draw : saving;VBA code in Microsoft Office documents -OpenOffice.org Draw : saving;with password by default -OpenOffice.org Draw : saving as command -OpenOffice.org Draw : saving as command;precautions -OpenOffice.org Draw : scaling -OpenOffice.org Draw : scaling;axes -OpenOffice.org Draw : scaling;font sizes in user interface -OpenOffice.org Draw : scaling;objects -OpenOffice.org Draw : scaling;pictures -OpenOffice.org Draw : scaling;printing in OpenOffice.org Math -OpenOffice.org Draw : scaling;text in charts -OpenOffice.org Draw : scaling;when printing presentations -OpenOffice.org Draw : scaling, see also zooming -OpenOffice.org Draw : scatter charts -OpenOffice.org Draw : screen -OpenOffice.org Draw : screen;full screen views -OpenOffice.org Draw : screen;scaling -OpenOffice.org Draw : screen magnifiers -OpenOffice.org Draw : screen readers -OpenOffice.org Draw : script organization -OpenOffice.org Draw : scripting in programming -OpenOffice.org Draw : scrollbars -OpenOffice.org Draw : scrollbars;controls -OpenOffice.org Draw : scrollbars;displaying (Calc) -OpenOffice.org Draw : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Draw : search criteria for database functions in cells -OpenOffice.org Draw : search engines -OpenOffice.org Draw : search engines;definition -OpenOffice.org Draw : search engines;selecting -OpenOffice.org Draw : searching -OpenOffice.org Draw : searching;all sheets -OpenOffice.org Draw : searching;databases -OpenOffice.org Draw : searching;form filters -OpenOffice.org Draw : searching;Internet -OpenOffice.org Draw : searching;tables and forms -OpenOffice.org Draw : secondary axes in charts -OpenOffice.org Draw : sections -OpenOffice.org Draw : sections;backgrounds -OpenOffice.org Draw : sections;protecting -OpenOffice.org Draw : sectors of circles/ellipses -OpenOffice.org Draw : security -OpenOffice.org Draw : security;options for documents with macros -OpenOffice.org Draw : security;protecting contents -OpenOffice.org Draw : security;warning dialogs with macros -OpenOffice.org Draw : segments of circles/ellipses -OpenOffice.org Draw : selecting -OpenOffice.org Draw : selecting;controls -OpenOffice.org Draw : selecting;group objects -OpenOffice.org Draw : selecting;hidden objects -OpenOffice.org Draw : selecting;layers -OpenOffice.org Draw : selecting;measurement units -OpenOffice.org Draw : selecting;objects -OpenOffice.org Draw : selecting;print areas -OpenOffice.org Draw : selecting;several files -OpenOffice.org Draw : selection clipboard -OpenOffice.org Draw : selection modes in text -OpenOffice.org Draw : sending -OpenOffice.org Draw : sending;AutoAbstract function in presentations -OpenOffice.org Draw : sending;documents as e-mail -OpenOffice.org Draw : sending;documents as faxes -OpenOffice.org Draw : separator lines -OpenOffice.org Draw : separator lines;defining -OpenOffice.org Draw : separators -OpenOffice.org Draw : separators;conditional -OpenOffice.org Draw : Server Side ImageMap -OpenOffice.org Draw : settings -OpenOffice.org Draw : settings;printers -OpenOffice.org Draw : settings;program configuration -OpenOffice.org Draw : settings;proxies -OpenOffice.org Draw : settings;tracking changes -OpenOffice.org Draw : settings;views -OpenOffice.org Draw : SGML -OpenOffice.org Draw : SGML;definition -OpenOffice.org Draw : shadows -OpenOffice.org Draw : shadows;areas -OpenOffice.org Draw : shadows;borders -OpenOffice.org Draw : shadows;characters -OpenOffice.org Draw : shadows;characters, using context menu -OpenOffice.org Draw : sharpening filter -OpenOffice.org Draw : shearing objects -OpenOffice.org Draw : sheet tabs -OpenOffice.org Draw : sheet tabs;displaying -OpenOffice.org Draw : sheets -OpenOffice.org Draw : sheets;searching all -OpenOffice.org Draw : shells -OpenOffice.org Draw : shortcut keys -OpenOffice.org Draw : shortcut keys;assigning macros -OpenOffice.org Draw : shortcut keys;charts -OpenOffice.org Draw : shortcut keys;general -OpenOffice.org Draw : shortcut keys;in databases -OpenOffice.org Draw : shortcut keys;in drawings -OpenOffice.org Draw : shortcut keys;in presentations -OpenOffice.org Draw : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Draw : Show/Hide feature in Microsoft Office -OpenOffice.org Draw : showing -OpenOffice.org Draw : showing;changes -OpenOffice.org Draw : showing;docked windows -OpenOffice.org Draw : showing;drawings and controls (Writer) -OpenOffice.org Draw : showing;guides -OpenOffice.org Draw : showing;hidden layers -OpenOffice.org Draw : showing;hidden slides -OpenOffice.org Draw : showing;levels -OpenOffice.org Draw : showing;live presentations on the Internet -OpenOffice.org Draw : showing;slide shows -OpenOffice.org Draw : showing;subpoints -OpenOffice.org Draw : showing;toolbars -OpenOffice.org Draw : sign conversion to curves -OpenOffice.org Draw : signing documents with digital signatures -OpenOffice.org Draw : similarity search -OpenOffice.org Draw : simple handles (Writer) -OpenOffice.org Draw : simplified Chinese -OpenOffice.org Draw : simplified Chinese;translating to traditional Chinese -OpenOffice.org Draw : single sign on options -OpenOffice.org Draw : single-line spacing in text -OpenOffice.org Draw : sizes -OpenOffice.org Draw : sizes;draw objects -OpenOffice.org Draw : sizes;pictures -OpenOffice.org Draw : skewing draw objects -OpenOffice.org Draw : slanting draw objects -OpenOffice.org Draw : slanting objects -OpenOffice.org Draw : slide designs -OpenOffice.org Draw : slide layouts -OpenOffice.org Draw : slide master view -OpenOffice.org Draw : slide masters -OpenOffice.org Draw : slide masters;changing backgrounds -OpenOffice.org Draw : slide masters;designing -OpenOffice.org Draw : slide masters;headers and footers -OpenOffice.org Draw : slide numbers -OpenOffice.org Draw : slide numbers on all slides -OpenOffice.org Draw : slide shows -OpenOffice.org Draw : slide shows;custom -OpenOffice.org Draw : slide shows;settings for -OpenOffice.org Draw : slide shows;starting -OpenOffice.org Draw : slide transitions -OpenOffice.org Draw : slide transitions;applying effects -OpenOffice.org Draw : slide transitions;automatic -OpenOffice.org Draw : slide transitions;manual -OpenOffice.org Draw : slide transitions;sounds -OpenOffice.org Draw : slides -OpenOffice.org Draw : slides;arranging -OpenOffice.org Draw : slides;backgrounds -OpenOffice.org Draw : slides;changing backgrounds -OpenOffice.org Draw : slides;copying between documents -OpenOffice.org Draw : slides;deleting -OpenOffice.org Draw : slides;expanding -OpenOffice.org Draw : slides;formatting -OpenOffice.org Draw : slides;headers and footers -OpenOffice.org Draw : slides;inserting -OpenOffice.org Draw : slides;inserting as links -OpenOffice.org Draw : slides;inserting notes -OpenOffice.org Draw : slides;page numbers -OpenOffice.org Draw : slides;printing -OpenOffice.org Draw : small capitals -OpenOffice.org Draw : small icons -OpenOffice.org Draw : smart tags -OpenOffice.org Draw : smart tags;options -OpenOffice.org Draw : smooth scrolling (Writer) -OpenOffice.org Draw : smoothing filter -OpenOffice.org Draw : snap grid defaults (Writer/Calc) -OpenOffice.org Draw : snap lines, see also guides -OpenOffice.org Draw : snap points -OpenOffice.org Draw : snap points;editing -OpenOffice.org Draw : snap points;inserting -OpenOffice.org Draw : snapping in presentations and drawings -OpenOffice.org Draw : solarization filter -OpenOffice.org Draw : sort lists -OpenOffice.org Draw : sort lists;copying to in Calc -OpenOffice.org Draw : sorting -OpenOffice.org Draw : sorting;data in forms -OpenOffice.org Draw : sorting;databases -OpenOffice.org Draw : sounds -OpenOffice.org Draw : sounds;for effects -OpenOffice.org Draw : sounds;formats -OpenOffice.org Draw : sounds;inserting and playing -OpenOffice.org Draw : sounds;on slide transitions -OpenOffice.org Draw : sounds;UNIX -OpenOffice.org Draw : spaces -OpenOffice.org Draw : spaces;displaying (Writer) -OpenOffice.org Draw : spaces;ignoring double -OpenOffice.org Draw : spaces;inserting protected spaces -OpenOffice.org Draw : spaces;showing protected spaces (Writer) -OpenOffice.org Draw : spacing -OpenOffice.org Draw : spacing;between paragraphs in footnotes -OpenOffice.org Draw : spacing;font effects -OpenOffice.org Draw : spacing;lines and paragraphs -OpenOffice.org Draw : spacing;tab stops in text documents -OpenOffice.org Draw : spacing;tabs in presentations -OpenOffice.org Draw : spadmin -OpenOffice.org Draw : speaker notes -OpenOffice.org Draw : speaker notes;defaults -OpenOffice.org Draw : speaker notes;inserting -OpenOffice.org Draw : special characters -OpenOffice.org Draw : speech bubbles -OpenOffice.org Draw : speed of printing -OpenOffice.org Draw : spellcheck -OpenOffice.org Draw : spellcheck;activating for a language -OpenOffice.org Draw : spellcheck;context menus -OpenOffice.org Draw : spellcheck;default languages -OpenOffice.org Draw : spellcheck;dialog -OpenOffice.org Draw : spellcheck;dictionary of exceptions -OpenOffice.org Draw : spellcheck;ignore list -OpenOffice.org Draw : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Draw : spheres -OpenOffice.org Draw : spin button creation -OpenOffice.org Draw : splitting -OpenOffice.org Draw : splitting;combinations -OpenOffice.org Draw : splitting;curves -OpenOffice.org Draw : spoolfiles with Xprinter -OpenOffice.org Draw : spreadsheets -OpenOffice.org Draw : spreadsheets;as databases (base) -OpenOffice.org Draw : spreadsheets;backgrounds -OpenOffice.org Draw : spreadsheets;copying areas to text documents -OpenOffice.org Draw : spreadsheets;creating/opening -OpenOffice.org Draw : spreadsheets;in presentations -OpenOffice.org Draw : spreadsheets;inserting charts -OpenOffice.org Draw : spreadsheets;inserting database records -OpenOffice.org Draw : spreadsheets;printing -OpenOffice.org Draw : spreadsheets;saving -OpenOffice.org Draw : spreadsheets;saving automatically -OpenOffice.org Draw : spreadsheets;saving in other formats -OpenOffice.org Draw : spreadsheets;sending as e-mail -OpenOffice.org Draw : SQL -OpenOffice.org Draw : SQL;definition -OpenOffice.org Draw : SQL;DISTINCT parameter -OpenOffice.org Draw : SQL;executing SQL commands -OpenOffice.org Draw : SQL;executing SQL statements (Base) -OpenOffice.org Draw : SQL;queries (Base) -OpenOffice.org Draw : square drawings -OpenOffice.org Draw : standard bar on/off -OpenOffice.org Draw : standard deviation in charts -OpenOffice.org Draw : standard filters in databases -OpenOffice.org Draw : standard printer under UNIX -OpenOffice.org Draw : Start Module backing window -OpenOffice.org Draw : start parameters -OpenOffice.org Draw : starting -OpenOffice.org Draw : starting;always with the current slide -OpenOffice.org Draw : starting;custom slide shows -OpenOffice.org Draw : starting;slide shows -OpenOffice.org Draw : statistics in charts -OpenOffice.org Draw : status bar on/off -OpenOffice.org Draw : stickers -OpenOffice.org Draw : stock charts -OpenOffice.org Draw : strikethrough -OpenOffice.org Draw : strikethrough;characters -OpenOffice.org Draw : strikethrough;font effects -OpenOffice.org Draw : styles -OpenOffice.org Draw : styles;'changed' message -OpenOffice.org Draw : styles;arrow and line styles -OpenOffice.org Draw : styles;copying between documents -OpenOffice.org Draw : styles;keyboard shortcuts -OpenOffice.org Draw : styles;organizing -OpenOffice.org Draw : styles;printing styles used in a document -OpenOffice.org Draw : styles;replacing automatically -OpenOffice.org Draw : Styles and Formatting window -OpenOffice.org Draw : Styles and Formatting window;docking -OpenOffice.org Draw : Styles and Formatting window;graphics documents -OpenOffice.org Draw : subforms -OpenOffice.org Draw : subforms;creating -OpenOffice.org Draw : subforms;description -OpenOffice.org Draw : submitting forms -OpenOffice.org Draw : subpoints -OpenOffice.org Draw : subpoints;hiding -OpenOffice.org Draw : subpoints;showing -OpenOffice.org Draw : subtracting polygons -OpenOffice.org Draw : suffixes in file formats -OpenOffice.org Draw : summary slide -OpenOffice.org Draw : support on the Web -OpenOffice.org Draw : synchronizing -OpenOffice.org Draw : synchronizing;labels and business cards -OpenOffice.org Draw : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Draw : system address book registration -OpenOffice.org Draw : tab stops -OpenOffice.org Draw : tab stops;displaying (Writer) -OpenOffice.org Draw : tab stops;inserting and editing -OpenOffice.org Draw : tab stops;setting in sheets -OpenOffice.org Draw : tab stops;settings -OpenOffice.org Draw : tab stops;spacing in presentations -OpenOffice.org Draw : tab stops;spacing in text documents -OpenOffice.org Draw : table controls -OpenOffice.org Draw : table controls;form functions -OpenOffice.org Draw : table controls;keyboard-only edit mode -OpenOffice.org Draw : table controls;properties -OpenOffice.org Draw : table views of databases -OpenOffice.org Draw : Table Wizard (Base) -OpenOffice.org Draw : tables -OpenOffice.org Draw : tables;backgrounds -OpenOffice.org Draw : tables;inserting line breaks -OpenOffice.org Draw : tables in databases -OpenOffice.org Draw : tables in databases;access rights to (Base) -OpenOffice.org Draw : tables in databases;adding to queries -OpenOffice.org Draw : tables in databases;browsing and editing -OpenOffice.org Draw : tables in databases;copying database tables (Base) -OpenOffice.org Draw : tables in databases;creating -OpenOffice.org Draw : tables in databases;creating in design view -OpenOffice.org Draw : tables in databases;importing text formats (Base) -OpenOffice.org Draw : tables in databases;joining for queries (Base) -OpenOffice.org Draw : tables in databases;printing queries (Base) -OpenOffice.org Draw : tables in databases;relations (Base) -OpenOffice.org Draw : tables in databases;searching -OpenOffice.org Draw : tables in spreadsheets -OpenOffice.org Draw : tables in spreadsheets;copying data to other applications -OpenOffice.org Draw : tables in spreadsheets;defining borders -OpenOffice.org Draw : tables in spreadsheets;value highlighting -OpenOffice.org Draw : tables in text -OpenOffice.org Draw : tables in text;captions -OpenOffice.org Draw : tables in text;creating automatically -OpenOffice.org Draw : tables in text;default settings -OpenOffice.org Draw : tables in text;defining borders -OpenOffice.org Draw : tables in text;displaying -OpenOffice.org Draw : tables in text;printing -OpenOffice.org Draw : tables in text;protecting cells -OpenOffice.org Draw : tables of contents -OpenOffice.org Draw : tables of contents;unprotecting -OpenOffice.org Draw : tabs -OpenOffice.org Draw : tabs;displaying sheet tabs -OpenOffice.org Draw : tags -OpenOffice.org Draw : tags;definition -OpenOffice.org Draw : tags;META tags -OpenOffice.org Draw : task pane -OpenOffice.org Draw : templates -OpenOffice.org Draw : templates;agendas -OpenOffice.org Draw : templates;changing basic fonts -OpenOffice.org Draw : templates;database reports -OpenOffice.org Draw : templates;deleting -OpenOffice.org Draw : templates;editing and saving -OpenOffice.org Draw : templates;faxes -OpenOffice.org Draw : templates;importing and exporting -OpenOffice.org Draw : templates;letters -OpenOffice.org Draw : templates;new documents from templates -OpenOffice.org Draw : templates;opening documents with -OpenOffice.org Draw : templates;organizing -OpenOffice.org Draw : terminology -OpenOffice.org Draw : terminology;general glossary -OpenOffice.org Draw : terminology;Internet glossary -OpenOffice.org Draw : testing XML filters -OpenOffice.org Draw : text -OpenOffice.org Draw : text;animating -OpenOffice.org Draw : text;Asian layout -OpenOffice.org Draw : text;backgrounds -OpenOffice.org Draw : text;bold -OpenOffice.org Draw : text;coloring -OpenOffice.org Draw : text;contours -OpenOffice.org Draw : text;converting to curves -OpenOffice.org Draw : text;copying by drag and drop -OpenOffice.org Draw : text;CTL languages -OpenOffice.org Draw : text;double-clicking to edit -OpenOffice.org Draw : text;drawing pictures -OpenOffice.org Draw : text;font effects -OpenOffice.org Draw : text;font sizes -OpenOffice.org Draw : text;font styles -OpenOffice.org Draw : text;fonts and formats -OpenOffice.org Draw : text;Fontwork icons -OpenOffice.org Draw : text;hyperlinks -OpenOffice.org Draw : text;inserting special characters -OpenOffice.org Draw : text;italics -OpenOffice.org Draw : text;kerning -OpenOffice.org Draw : text;language selection -OpenOffice.org Draw : text;line spacing -OpenOffice.org Draw : text;overwriting or inserting -OpenOffice.org Draw : text;placeholders in presentations -OpenOffice.org Draw : text;printing in black -OpenOffice.org Draw : text;replacing with format -OpenOffice.org Draw : text;selection modes -OpenOffice.org Draw : text;shadowed -OpenOffice.org Draw : text;text/draw objects -OpenOffice.org Draw : text;toolbar -OpenOffice.org Draw : text attributes -OpenOffice.org Draw : text attributes;hyperlinks -OpenOffice.org Draw : text attributes;undoing -OpenOffice.org Draw : text boxes -OpenOffice.org Draw : text boxes;form functions -OpenOffice.org Draw : text boxes;positioning -OpenOffice.org Draw : text breaks in cells -OpenOffice.org Draw : text colors for better accessibility -OpenOffice.org Draw : text databases (Base) -OpenOffice.org Draw : text documents -OpenOffice.org Draw : text documents;creating/opening -OpenOffice.org Draw : text documents;importing/exporting -OpenOffice.org Draw : text documents;inserting in slides -OpenOffice.org Draw : text documents;inserting in slides - Importing HTML Pages Into Presentations -OpenOffice.org Draw : text documents;inserting spreadsheet cells -OpenOffice.org Draw : text documents;print settings -OpenOffice.org Draw : text documents;printing -OpenOffice.org Draw : text documents;saving -OpenOffice.org Draw : text documents;saving automatically -OpenOffice.org Draw : text documents;saving in other formats -OpenOffice.org Draw : text documents;sending as e-mail -OpenOffice.org Draw : text effects -OpenOffice.org Draw : text entry mode for draw objects -OpenOffice.org Draw : text flow -OpenOffice.org Draw : text flow;in cells -OpenOffice.org Draw : text formats -OpenOffice.org Draw : text formats;databases -OpenOffice.org Draw : text formats;pasting -OpenOffice.org Draw : text frames -OpenOffice.org Draw : text input fields -OpenOffice.org Draw : text layout for special languages -OpenOffice.org Draw : text objects -OpenOffice.org Draw : text objects;alignment -OpenOffice.org Draw : text objects;draw functions -OpenOffice.org Draw : text objects;fonts -OpenOffice.org Draw : text objects;in presentations and drawings -OpenOffice.org Draw : text overflow in spreadsheet cells -OpenOffice.org Draw : text scaling in charts -OpenOffice.org Draw : text, see also text documents, paragraphs and characters -OpenOffice.org Draw : TextArt, see Fontwork -OpenOffice.org Draw : textures -OpenOffice.org Draw : textures;inserting from Gallery -OpenOffice.org Draw : textures;on chart bars -OpenOffice.org Draw : Thai -OpenOffice.org Draw : Thai;entering text -OpenOffice.org Draw : Thai;language settings -OpenOffice.org Draw : thesaurus -OpenOffice.org Draw : thesaurus;activating for a language -OpenOffice.org Draw : ticker text -OpenOffice.org Draw : tiled printing of slides -OpenOffice.org Draw : time and date on all slides -OpenOffice.org Draw : time fields -OpenOffice.org Draw : time fields;form functions -OpenOffice.org Draw : times -OpenOffice.org Draw : times;fixed -OpenOffice.org Draw : times;inserting when printing presentations -OpenOffice.org Draw : times;variable -OpenOffice.org Draw : times, formats -OpenOffice.org Draw : timings -OpenOffice.org Draw : timings;rehearse timings -OpenOffice.org Draw : tips -OpenOffice.org Draw : tips;extended tips in Help -OpenOffice.org Draw : title rows -OpenOffice.org Draw : title rows;printing in OpenOffice.org Math -OpenOffice.org Draw : titles -OpenOffice.org Draw : titles;alignment (charts) -OpenOffice.org Draw : titles;changing -OpenOffice.org Draw : titles;editing in charts -OpenOffice.org Draw : titles;font effects -OpenOffice.org Draw : titles;formatting automatically -OpenOffice.org Draw : titles;formatting charts -OpenOffice.org Draw : titles;objects -OpenOffice.org Draw : toolbars -OpenOffice.org Draw : toolbars;3D objects -OpenOffice.org Draw : toolbars;adding buttons -OpenOffice.org Draw : toolbars;curves -OpenOffice.org Draw : toolbars;docking/undocking -OpenOffice.org Draw : toolbars;ellipses -OpenOffice.org Draw : toolbars;Form Navigation bar -OpenOffice.org Draw : toolbars;viewing/closing -OpenOffice.org Draw : tools bar -OpenOffice.org Draw : tooltips -OpenOffice.org Draw : tooltips;extended tips -OpenOffice.org Draw : tooltips;help -OpenOffice.org Draw : torus -OpenOffice.org Draw : Track changes feature in Microsoft Office -OpenOffice.org Draw : traditional Chinese -OpenOffice.org Draw : traditional Chinese;translating to simplified chinese -OpenOffice.org Draw : transition effects -OpenOffice.org Draw : transparency -OpenOffice.org Draw : transparency;adjusting -OpenOffice.org Draw : transparency;areas -OpenOffice.org Draw : transparency;of objects -OpenOffice.org Draw : transparency;off for faster printing -OpenOffice.org Draw : transparency;saving -OpenOffice.org Draw : tree view of Help -OpenOffice.org Draw : trend lines in charts -OpenOffice.org Draw : typefaces -OpenOffice.org Draw : typefaces;adding under UNIX -OpenOffice.org Draw : typefaces;formats -OpenOffice.org Draw : typographical quotes in OpenOffice.org Writer -OpenOffice.org Draw : typography -OpenOffice.org Draw : typography;Asian -OpenOffice.org Draw : underlining -OpenOffice.org Draw : underlining;AutoFormat function -OpenOffice.org Draw : underlining;characters -OpenOffice.org Draw : underlining;text -OpenOffice.org Draw : underlying objects -OpenOffice.org Draw : undocking windows -OpenOffice.org Draw : undoing -OpenOffice.org Draw : undoing;direct formatting -OpenOffice.org Draw : undoing;editing -OpenOffice.org Draw : undoing;number of steps -OpenOffice.org Draw : ungrouping groups -OpenOffice.org Draw : units -OpenOffice.org Draw : units;converting -OpenOffice.org Draw : units;measurement units -OpenOffice.org Draw : unlocking layers -OpenOffice.org Draw : UNO components -OpenOffice.org Draw : UNO components;Extension Manager -OpenOffice.org Draw : UNO components;integrating new -OpenOffice.org Draw : update options -OpenOffice.org Draw : updates -OpenOffice.org Draw : updates;checking automatically -OpenOffice.org Draw : updates;checking manually -OpenOffice.org Draw : updating -OpenOffice.org Draw : updating;fields and charts, automatically (Writer) -OpenOffice.org Draw : updating;links in text documents -OpenOffice.org Draw : updating;links, on opening -OpenOffice.org Draw : updating;templates -OpenOffice.org Draw : URL -OpenOffice.org Draw : URL;changing hyperlink URLs -OpenOffice.org Draw : URL;definition -OpenOffice.org Draw : URL;saving absolute/relative paths -OpenOffice.org Draw : URL;turning off URL recognition -OpenOffice.org Draw : user data -OpenOffice.org Draw : user data;input -OpenOffice.org Draw : user data;removing when saving -OpenOffice.org Draw : user-defined colors -OpenOffice.org Draw : user-defined dictionaries -OpenOffice.org Draw : user-defined dictionaries;creating -OpenOffice.org Draw : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Draw : user-defined dictionaries;editing -OpenOffice.org Draw : user-defined styles -OpenOffice.org Draw : user-defined styles;automatically replacing -OpenOffice.org Draw : UTF-8/UCS2 support -OpenOffice.org Draw : Validation feature in Microsoft Office -OpenOffice.org Draw : values -OpenOffice.org Draw : values;rounded as shown (Calc) -OpenOffice.org Draw : variables -OpenOffice.org Draw : variables;for paths -OpenOffice.org Draw : variances in charts -OpenOffice.org Draw : VBA code -OpenOffice.org Draw : VBA code;loading/saving documents with VBA code -OpenOffice.org Draw : vector graphics -OpenOffice.org Draw : vector graphics;converting bitmaps -OpenOffice.org Draw : vectorizing bitmaps -OpenOffice.org Draw : version management -OpenOffice.org Draw : version numbers of documents -OpenOffice.org Draw : versions -OpenOffice.org Draw : versions;comparing documents -OpenOffice.org Draw : versions;file saving as, restriction -OpenOffice.org Draw : versions;merging document versions -OpenOffice.org Draw : versions;of a document -OpenOffice.org Draw : versions;OpenOffice.org -OpenOffice.org Draw : vertical callouts -OpenOffice.org Draw : vertical scrollbars (Writer) -OpenOffice.org Draw : vertical text boxes -OpenOffice.org Draw : videos -OpenOffice.org Draw : viewing -OpenOffice.org Draw : viewing;databases -OpenOffice.org Draw : viewing;file properties -OpenOffice.org Draw : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Draw : viewing;toolbars -OpenOffice.org Draw : views -OpenOffice.org Draw : views;black and white -OpenOffice.org Draw : views;creating database views (Base) -OpenOffice.org Draw : views;defaults -OpenOffice.org Draw : views;display sizes -OpenOffice.org Draw : views;full screen -OpenOffice.org Draw : views;icons -OpenOffice.org Draw : views;in 3D -OpenOffice.org Draw : views;scaling -OpenOffice.org Draw : views;shift function -OpenOffice.org Draw : views;slide master view -OpenOffice.org Draw : Visual Basic for Applications -OpenOffice.org Draw : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Draw : watermarks -OpenOffice.org Draw : web documents -OpenOffice.org Draw : web documents;XForms -OpenOffice.org Draw : Web support -OpenOffice.org Draw : WebCast export -OpenOffice.org Draw : windows -OpenOffice.org Draw : windows;docking -OpenOffice.org Draw : windows;docking definition -OpenOffice.org Draw : windows;hiding/showing/docking -OpenOffice.org Draw : windows;new -OpenOffice.org Draw : wizards -OpenOffice.org Draw : wizards;agendas -OpenOffice.org Draw : wizards;database queries -OpenOffice.org Draw : wizards;database tables (Base) -OpenOffice.org Draw : wizards;databases (Base) -OpenOffice.org Draw : wizards;document converter -OpenOffice.org Draw : wizards;Euro Converter -OpenOffice.org Draw : wizards;faxes -OpenOffice.org Draw : wizards;forms -OpenOffice.org Draw : wizards;letters -OpenOffice.org Draw : wizards;overview -OpenOffice.org Draw : wizards;presentations -OpenOffice.org Draw : wizards;reports -OpenOffice.org Draw : Word documents -OpenOffice.org Draw : Word documents;compatibility -OpenOffice.org Draw : Word documents;saving as -OpenOffice.org Draw : WordArt, see Fontwork -OpenOffice.org Draw : words -OpenOffice.org Draw : words;automatically replacing -OpenOffice.org Draw : words;wrapping in cells -OpenOffice.org Draw : work directory change -OpenOffice.org Draw : Workbook feature in Microsoft Office -OpenOffice.org Draw : Worksheet feature in Microsoft Office -OpenOffice.org Draw : wrapping text -OpenOffice.org Draw : wrapping text;in cells -OpenOffice.org Draw : write protection on/off -OpenOffice.org Draw : writing aids options -OpenOffice.org Draw : WYSIWYG in fonts lists -OpenOffice.org Draw : X axes -OpenOffice.org Draw : X axes;grid formatting -OpenOffice.org Draw : X axes;scaling -OpenOffice.org Draw : X axes;showing -OpenOffice.org Draw : XForms -OpenOffice.org Draw : XML converters -OpenOffice.org Draw : XML file formats -OpenOffice.org Draw : XML filters -OpenOffice.org Draw : XML filters;creating/testing/distributing/deleting -OpenOffice.org Draw : XML filters;settings -OpenOffice.org Draw : XML Forms -OpenOffice.org Draw : XSLT based filters -OpenOffice.org Draw : XSLT based filters;settings -OpenOffice.org Draw : XSLT filters, see also XML filters -OpenOffice.org Draw : XY charts -OpenOffice.org Draw : Y axes -OpenOffice.org Draw : Y axes;formatting -OpenOffice.org Draw : Y axes;grid formatting -OpenOffice.org Draw : Y axes;scaling -OpenOffice.org Draw : Y axes;showing -OpenOffice.org Draw : years -OpenOffice.org Draw : years;2-digit options -OpenOffice.org Draw : Z axes -OpenOffice.org Draw : Z axes;grid formatting -OpenOffice.org Draw : Z axes;showing -OpenOffice.org Draw : zero values -OpenOffice.org Draw : zero values;displaying (Calc) -OpenOffice.org Draw : zooming -OpenOffice.org Draw : zooming;in presentations -OpenOffice.org Draw : zooming;keyboard -OpenOffice.org Draw : zooming;page views -OpenOffice.org Draw : zooming;pictures -OpenOffice.org Draw : zooming;shortcut keys -OpenOffice.org Draw : zooming;status bar -OpenOffice.org Impress : 1/2 replacement -OpenOffice.org Impress : 3D charts -OpenOffice.org Impress : 3D objects -OpenOffice.org Impress : 3D objects;assembling -OpenOffice.org Impress : 3D objects;generating -OpenOffice.org Impress : 3D objects;inserting -OpenOffice.org Impress : 3D rotation objects -OpenOffice.org Impress : 3D rotation objects;converting to -OpenOffice.org Impress : 3D rotation objects;generating -OpenOffice.org Impress : 3D text creation -OpenOffice.org Impress : 3D view -OpenOffice.org Impress : abbreviation replacement -OpenOffice.org Impress : absolute hyperlinks -OpenOffice.org Impress : absolute saving of URLs -OpenOffice.org Impress : accents -OpenOffice.org Impress : Access databases (base) -OpenOffice.org Impress : access rights for database tables (Base) -OpenOffice.org Impress : accessibility -OpenOffice.org Impress : accessibility;general shortcuts -OpenOffice.org Impress : accessibility;OpenOffice.org assistive technology -OpenOffice.org Impress : accessibility;OpenOffice.org Draw -OpenOffice.org Impress : accessibility;OpenOffice.org features -OpenOffice.org Impress : accessibility;OpenOffice.org Impress -OpenOffice.org Impress : accessibility;options -OpenOffice.org Impress : activating -OpenOffice.org Impress : activating;context menus -OpenOffice.org Impress : activating;Error Report Tool -OpenOffice.org Impress : activating;extended help tips -OpenOffice.org Impress : activating;plug-ins -OpenOffice.org Impress : ActiveX control -OpenOffice.org Impress : Adabas D databases (base) -OpenOffice.org Impress : add-ons, see UNO components -OpenOffice.org Impress : adding -OpenOffice.org Impress : adding;animation effects -OpenOffice.org Impress : adding;automatic captions (Writer) -OpenOffice.org Impress : adding;backgrounds -OpenOffice.org Impress : adding;buttons in toolbars -OpenOffice.org Impress : adding;conditions for XForm items -OpenOffice.org Impress : adding;draw objects -OpenOffice.org Impress : adding;Fontwork objects -OpenOffice.org Impress : adding;headers/footers in all slides -OpenOffice.org Impress : adding;items in Data Navigator -OpenOffice.org Impress : adding;namespaces in XForms -OpenOffice.org Impress : adding;paragraph borders -OpenOffice.org Impress : adding;pictures from Gallery -OpenOffice.org Impress : adding;pictures in Gallery -OpenOffice.org Impress : adding;plug-ins -OpenOffice.org Impress : adding;points -OpenOffice.org Impress : adding;push buttons -OpenOffice.org Impress : adding;table borders -OpenOffice.org Impress : adding;text frames -OpenOffice.org Impress : adding;textures on chart bars -OpenOffice.org Impress : additional selection mode -OpenOffice.org Impress : address books -OpenOffice.org Impress : address books;LDAP server (Base) -OpenOffice.org Impress : address books;registering -OpenOffice.org Impress : address labels from databases -OpenOffice.org Impress : ADO databases (Base) -OpenOffice.org Impress : Agenda Wizard -OpenOffice.org Impress : aging filter -OpenOffice.org Impress : aligning -OpenOffice.org Impress : aligning;2D charts -OpenOffice.org Impress : aligning;cells -OpenOffice.org Impress : aligning;draw objects -OpenOffice.org Impress : aligning;objects -OpenOffice.org Impress : aligning;paragraphs -OpenOffice.org Impress : aligning;tables in text -OpenOffice.org Impress : aligning;text objects -OpenOffice.org Impress : aligning;titles in charts -OpenOffice.org Impress : allowing -OpenOffice.org Impress : allowing;effects -OpenOffice.org Impress : allowing;interaction -OpenOffice.org Impress : alternative fonts -OpenOffice.org Impress : ampersand symbol, see also operators -OpenOffice.org Impress : anchors -OpenOffice.org Impress : anchors;changing -OpenOffice.org Impress : anchors;displaying (Calc) -OpenOffice.org Impress : anchors;types/positions for draw objects -OpenOffice.org Impress : animated GIFs -OpenOffice.org Impress : animated slide transitions -OpenOffice.org Impress : animations -OpenOffice.org Impress : animations;accessibility options -OpenOffice.org Impress : animations;editing -OpenOffice.org Impress : animations;list of -OpenOffice.org Impress : animations;saving as GIFs -OpenOffice.org Impress : appearance options -OpenOffice.org Impress : applet insertion -OpenOffice.org Impress : applying -OpenOffice.org Impress : applying;animation effects -OpenOffice.org Impress : applying;gradients -OpenOffice.org Impress : applying;languages, to selected text -OpenOffice.org Impress : Arabic -OpenOffice.org Impress : Arabic;entering text -OpenOffice.org Impress : Arabic;language settings -OpenOffice.org Impress : area charts -OpenOffice.org Impress : areas -OpenOffice.org Impress : areas;bitmap patterns -OpenOffice.org Impress : areas;from connected lines -OpenOffice.org Impress : areas;hatched/dotted -OpenOffice.org Impress : areas;shadows -OpenOffice.org Impress : areas;slanting -OpenOffice.org Impress : areas;styles -OpenOffice.org Impress : areas;transparency -OpenOffice.org Impress : arguments in command line -OpenOffice.org Impress : arranging -OpenOffice.org Impress : arranging;objects -OpenOffice.org Impress : arranging;objects (guide) -OpenOffice.org Impress : arranging;slides -OpenOffice.org Impress : arrows -OpenOffice.org Impress : arrows;defining arrow heads -OpenOffice.org Impress : arrows;defining arrow lines -OpenOffice.org Impress : arrows;drawing in text -OpenOffice.org Impress : arrows;inserting -OpenOffice.org Impress : arrows;loading arrow styles -OpenOffice.org Impress : ASCII -OpenOffice.org Impress : ASCII;definition -OpenOffice.org Impress : Asian languages -OpenOffice.org Impress : Asian languages;enabling -OpenOffice.org Impress : Asian Phonetic Guide -OpenOffice.org Impress : Asian typography -OpenOffice.org Impress : assembled objects in 3D -OpenOffice.org Impress : assigning scripts -OpenOffice.org Impress : assistive technology in OpenOffice.org -OpenOffice.org Impress : attaching toolbars -OpenOffice.org Impress : attachments in e-mails -OpenOffice.org Impress : attributes -OpenOffice.org Impress : attributes;objects with -OpenOffice.org Impress : audio -OpenOffice.org Impress : audio;inserting -OpenOffice.org Impress : audio;UNIX -OpenOffice.org Impress : authors -OpenOffice.org Impress : auto reloading HTML documents -OpenOffice.org Impress : AutoAbstract function for sending text to presentations -OpenOffice.org Impress : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Impress : AutoComplete function in text and list boxes -OpenOffice.org Impress : AutoCorrect function -OpenOffice.org Impress : AutoCorrect function;context menu -OpenOffice.org Impress : AutoCorrect function;options -OpenOffice.org Impress : AutoCorrect function;pictures and frames -OpenOffice.org Impress : AutoCorrect function;quotes -OpenOffice.org Impress : AutoCorrect function;replacement table -OpenOffice.org Impress : AutoCorrect function;smart tags -OpenOffice.org Impress : AutoCorrect function;switching on and off in Calc -OpenOffice.org Impress : AutoCorrect function;URL recognition -OpenOffice.org Impress : AutoFormat function -OpenOffice.org Impress : AutoFormat function;switching on and off -OpenOffice.org Impress : automatic captions (Writer) -OpenOffice.org Impress : automatic control focus -OpenOffice.org Impress : automatic hyperlink formatting -OpenOffice.org Impress : automatic line breaks -OpenOffice.org Impress : automatic lines/borders in text -OpenOffice.org Impress : automatic saving -OpenOffice.org Impress : automatic slide changes -OpenOffice.org Impress : automatic slide changes;rehearse timings -OpenOffice.org Impress : automatic slide shows -OpenOffice.org Impress : automatic slide transition -OpenOffice.org Impress : AutoPilots, see wizards -OpenOffice.org Impress : AutoShapes feature in Microsoft Office -OpenOffice.org Impress : averages in charts -OpenOffice.org Impress : axes -OpenOffice.org Impress : axes;better scaling -OpenOffice.org Impress : axes;formatting -OpenOffice.org Impress : axes;formatting grids -OpenOffice.org Impress : axes;inserting grids -OpenOffice.org Impress : axes;interval marks -OpenOffice.org Impress : axes;showing axes in charts -OpenOffice.org Impress : axes in charts -OpenOffice.org Impress : backgrounds -OpenOffice.org Impress : backgrounds;changing -OpenOffice.org Impress : backgrounds;defining colors/pictures -OpenOffice.org Impress : backgrounds;deleting unused -OpenOffice.org Impress : backgrounds;frames/sections/indexes -OpenOffice.org Impress : backgrounds;inserting from Gallery -OpenOffice.org Impress : backgrounds;normal view -OpenOffice.org Impress : backgrounds;notes -OpenOffice.org Impress : backgrounds;printing -OpenOffice.org Impress : backgrounds;slides -OpenOffice.org Impress : backing window -OpenOffice.org Impress : backups -OpenOffice.org Impress : backups;automatic -OpenOffice.org Impress : backups;documents -OpenOffice.org Impress : bar charts -OpenOffice.org Impress : Basic -OpenOffice.org Impress : Basic;fonts for source display -OpenOffice.org Impress : Basic;programming -OpenOffice.org Impress : Basic;recording macros -OpenOffice.org Impress : Basic;scripting -OpenOffice.org Impress : basic fonts -OpenOffice.org Impress : BeanShell scripting -OpenOffice.org Impress : behind object command -OpenOffice.org Impress : Bézier curves -OpenOffice.org Impress : Bézier curves;control points in presentations -OpenOffice.org Impress : bi-directional writing -OpenOffice.org Impress : binding space -OpenOffice.org Impress : bitmaps -OpenOffice.org Impress : bitmaps;converting to -OpenOffice.org Impress : bitmaps;converting to vector graphics -OpenOffice.org Impress : bitmaps;inserting and editing -OpenOffice.org Impress : bitmaps;off for faster printing -OpenOffice.org Impress : bitmaps;patterns -OpenOffice.org Impress : bitmaps;replacing colors -OpenOffice.org Impress : black and white display -OpenOffice.org Impress : black and white printing -OpenOffice.org Impress : black and white view -OpenOffice.org Impress : black printing in Calc -OpenOffice.org Impress : block selection mode -OpenOffice.org Impress : bold -OpenOffice.org Impress : bold;AutoFormat function -OpenOffice.org Impress : bold;text -OpenOffice.org Impress : bookmarks -OpenOffice.org Impress : bookmarks;Help -OpenOffice.org Impress : borders -OpenOffice.org Impress : borders;arranging -OpenOffice.org Impress : borders;cells on screen (Calc) -OpenOffice.org Impress : borders;for paragraphs -OpenOffice.org Impress : borders;for tables -OpenOffice.org Impress : borders;shadows -OpenOffice.org Impress : borders;table boundaries (Writer) -OpenOffice.org Impress : borders, see also frames -OpenOffice.org Impress : bound fields -OpenOffice.org Impress : bound fields;controls -OpenOffice.org Impress : boundaries of tables (Writer) -OpenOffice.org Impress : break display (Writer) -OpenOffice.org Impress : breaking object connections -OpenOffice.org Impress : brochures -OpenOffice.org Impress : brochures;printing several -OpenOffice.org Impress : build numbers of OpenOffice.org -OpenOffice.org Impress : bullet lists -OpenOffice.org Impress : bullet lists;formatting options -OpenOffice.org Impress : bullets -OpenOffice.org Impress : bullets;paragraphs -OpenOffice.org Impress : bullets;replacing -OpenOffice.org Impress : bullets;turning off -OpenOffice.org Impress : business cards -OpenOffice.org Impress : business cards;creating and synchronizing -OpenOffice.org Impress : business cards;using templates -OpenOffice.org Impress : button bars, see toolbars -OpenOffice.org Impress : buttons -OpenOffice.org Impress : buttons;adding push buttons -OpenOffice.org Impress : buttons;big/small -OpenOffice.org Impress : buttons;editing hyperlink buttons -OpenOffice.org Impress : buttons;form functions -OpenOffice.org Impress : buttons;toolbars -OpenOffice.org Impress : cache for graphics -OpenOffice.org Impress : calculating -OpenOffice.org Impress : calculating;iterative references (Calc) -OpenOffice.org Impress : calculating;regression curves -OpenOffice.org Impress : callouts -OpenOffice.org Impress : callouts;drawings -OpenOffice.org Impress : callouts;inserting in presentations -OpenOffice.org Impress : capital letters -OpenOffice.org Impress : capital letters;AutoCorrect function -OpenOffice.org Impress : capital letters;font effects -OpenOffice.org Impress : captions -OpenOffice.org Impress : captions;automatic captions (Writer) -OpenOffice.org Impress : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Impress : captions, see also labels/callouts -OpenOffice.org Impress : cascading update (Base) -OpenOffice.org Impress : case sensitivity -OpenOffice.org Impress : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Impress : case sensitivity;searching -OpenOffice.org Impress : cells -OpenOffice.org Impress : cells;aligning -OpenOffice.org Impress : cells;backgrounds -OpenOffice.org Impress : cells;coloring (Calc) -OpenOffice.org Impress : cells;cursor positions after input (Calc) -OpenOffice.org Impress : cells;formatting without effect (Calc) -OpenOffice.org Impress : cells;line breaks -OpenOffice.org Impress : cells;linked to controls -OpenOffice.org Impress : cells;number formats -OpenOffice.org Impress : cells;number of -OpenOffice.org Impress : cells;pasting -OpenOffice.org Impress : cells;resetting formats -OpenOffice.org Impress : cells;showing grid lines (Calc) -OpenOffice.org Impress : centered text -OpenOffice.org Impress : centimeters -OpenOffice.org Impress : certificates -OpenOffice.org Impress : Change Case feature in Microsoft Office -OpenOffice.org Impress : changes -OpenOffice.org Impress : changes;accepting or rejecting -OpenOffice.org Impress : changes;comparing to original -OpenOffice.org Impress : changes;protecting -OpenOffice.org Impress : changes;recording -OpenOffice.org Impress : changes;review function -OpenOffice.org Impress : changes;showing -OpenOffice.org Impress : changing -OpenOffice.org Impress : changing;data binding of XForms -OpenOffice.org Impress : changing;default templates -OpenOffice.org Impress : changing;document titles -OpenOffice.org Impress : changing;file associations in Setup program -OpenOffice.org Impress : changing;hyperlink text/formats/URLs -OpenOffice.org Impress : changing;icon sizes -OpenOffice.org Impress : changing;keyboard -OpenOffice.org Impress : changing;layer properties -OpenOffice.org Impress : changing;layout for handouts -OpenOffice.org Impress : changing;links -OpenOffice.org Impress : changing;menus -OpenOffice.org Impress : changing;object sizes -OpenOffice.org Impress : changing;order of slides -OpenOffice.org Impress : changing;slide layouts -OpenOffice.org Impress : changing;toolbars -OpenOffice.org Impress : changing;work directory -OpenOffice.org Impress : changing, see also editing and replacing -OpenOffice.org Impress : character styles -OpenOffice.org Impress : character styles;language selection -OpenOffice.org Impress : characters -OpenOffice.org Impress : characters;alternative fonts -OpenOffice.org Impress : characters;Asian layout -OpenOffice.org Impress : characters;bold -OpenOffice.org Impress : characters;coloring -OpenOffice.org Impress : characters;contours -OpenOffice.org Impress : characters;converting to curves -OpenOffice.org Impress : characters;displaying only on screen (Writer) -OpenOffice.org Impress : characters;enabling CTL and Asian characters -OpenOffice.org Impress : characters;font effects -OpenOffice.org Impress : characters;fonts and formats -OpenOffice.org Impress : characters;hyperlinks -OpenOffice.org Impress : characters;italics -OpenOffice.org Impress : characters;language selection -OpenOffice.org Impress : characters;shadowed -OpenOffice.org Impress : characters;spacing -OpenOffice.org Impress : characters;special -OpenOffice.org Impress : characters;underlining -OpenOffice.org Impress : charcoal sketches filter -OpenOffice.org Impress : chart legends -OpenOffice.org Impress : chart legends;hiding -OpenOffice.org Impress : chart legends;showing icons with labels -OpenOffice.org Impress : chart types -OpenOffice.org Impress : chart types;area -OpenOffice.org Impress : chart types;column and bar -OpenOffice.org Impress : chart types;column and line -OpenOffice.org Impress : chart types;line -OpenOffice.org Impress : chart types;net -OpenOffice.org Impress : chart types;pie/donut -OpenOffice.org Impress : chart types;stock -OpenOffice.org Impress : chart types;XY (scatter) -OpenOffice.org Impress : charts -OpenOffice.org Impress : charts;3D views -OpenOffice.org Impress : charts;aligning -OpenOffice.org Impress : charts;arranging within stacks -OpenOffice.org Impress : charts;bars with textures -OpenOffice.org Impress : charts;choosing chart types -OpenOffice.org Impress : charts;colors -OpenOffice.org Impress : charts;copying with link to source cell range -OpenOffice.org Impress : charts;data labels -OpenOffice.org Impress : charts;displaying (Calc) -OpenOffice.org Impress : charts;editing axes -OpenOffice.org Impress : charts;editing data -OpenOffice.org Impress : charts;editing legends -OpenOffice.org Impress : charts;editing titles -OpenOffice.org Impress : charts;formatting areas -OpenOffice.org Impress : charts;formatting floors -OpenOffice.org Impress : charts;formatting walls -OpenOffice.org Impress : charts;inserting -OpenOffice.org Impress : charts;overview -OpenOffice.org Impress : charts;properties -OpenOffice.org Impress : charts;reorganizing -OpenOffice.org Impress : charts;scaling axes -OpenOffice.org Impress : charts;scaling text -OpenOffice.org Impress : charts;shortcuts -OpenOffice.org Impress : charts;showing axes -OpenOffice.org Impress : charts;updating automatically (Writer) -OpenOffice.org Impress : check box creation -OpenOffice.org Impress : Chinese writing systems -OpenOffice.org Impress : choosing printers -OpenOffice.org Impress : circle drawings -OpenOffice.org Impress : circle segments -OpenOffice.org Impress : circles -OpenOffice.org Impress : circles;of objects -OpenOffice.org Impress : Client Side ImageMap -OpenOffice.org Impress : clipboard -OpenOffice.org Impress : clipboard;cutting -OpenOffice.org Impress : clipboard;pasting -OpenOffice.org Impress : clipboard;pasting formatted/unformatted text -OpenOffice.org Impress : clipboard;selection clipboard -OpenOffice.org Impress : clipboard;Unix -OpenOffice.org Impress : closing -OpenOffice.org Impress : closing;documents -OpenOffice.org Impress : closing;shapes -OpenOffice.org Impress : closing;toolbars -OpenOffice.org Impress : color bar -OpenOffice.org Impress : colors -OpenOffice.org Impress : colors;adding -OpenOffice.org Impress : colors;appearance -OpenOffice.org Impress : colors;backgrounds -OpenOffice.org Impress : colors;charts -OpenOffice.org Impress : colors;default colors -OpenOffice.org Impress : colors;defining and saving -OpenOffice.org Impress : colors;defining gradients interactively -OpenOffice.org Impress : colors;displaying presentations -OpenOffice.org Impress : colors;fill format -OpenOffice.org Impress : colors;fonts -OpenOffice.org Impress : colors;grid lines and cells (Calc) -OpenOffice.org Impress : colors;loading lists -OpenOffice.org Impress : colors;models -OpenOffice.org Impress : colors;not printing -OpenOffice.org Impress : colors;printing in grayscale -OpenOffice.org Impress : colors;replacing -OpenOffice.org Impress : colors;restriction (Calc) -OpenOffice.org Impress : colors;selection -OpenOffice.org Impress : column and line charts -OpenOffice.org Impress : column charts -OpenOffice.org Impress : column headers -OpenOffice.org Impress : column headers;displaying (Calc) -OpenOffice.org Impress : column headers;highlighting (Calc) -OpenOffice.org Impress : columns -OpenOffice.org Impress : columns;setting with the mouse -OpenOffice.org Impress : combination charts -OpenOffice.org Impress : combining -OpenOffice.org Impress : combining;3D objects -OpenOffice.org Impress : combining;draw objects -OpenOffice.org Impress : combining;undoing -OpenOffice.org Impress : combo box creation -OpenOffice.org Impress : command button creation -OpenOffice.org Impress : command buttons, see push buttons -OpenOffice.org Impress : command line parameters -OpenOffice.org Impress : commands -OpenOffice.org Impress : commands;not visible -OpenOffice.org Impress : commands;SQL -OpenOffice.org Impress : comments -OpenOffice.org Impress : comments;on changes -OpenOffice.org Impress : comments feature in Microsoft Office -OpenOffice.org Impress : common terms -OpenOffice.org Impress : common terms;Chinese dictionary -OpenOffice.org Impress : common terms;glossaries -OpenOffice.org Impress : common terms;Internet glossary -OpenOffice.org Impress : Compare and Merge feature in Microsoft Office -OpenOffice.org Impress : comparisons -OpenOffice.org Impress : comparisons;document versions -OpenOffice.org Impress : comparisons;operators in default filter dialog -OpenOffice.org Impress : compatibility settings for MS Word import -OpenOffice.org Impress : complete screen view -OpenOffice.org Impress : complex text layout -OpenOffice.org Impress : complex text layout;definition -OpenOffice.org Impress : complex text layout;enabling -OpenOffice.org Impress : compose key to insert special characters -OpenOffice.org Impress : concatenation, see ampersand symbol -OpenOffice.org Impress : conditional separators -OpenOffice.org Impress : conditions -OpenOffice.org Impress : conditions;in number formats -OpenOffice.org Impress : conditions;items in Data Navigator -OpenOffice.org Impress : cones -OpenOffice.org Impress : Configuration Manager -OpenOffice.org Impress : configuring -OpenOffice.org Impress : configuring;fax icon -OpenOffice.org Impress : configuring;OpenOffice.org -OpenOffice.org Impress : configuring;toolbars -OpenOffice.org Impress : connecting -OpenOffice.org Impress : connecting;draw objects -OpenOffice.org Impress : connecting;lines -OpenOffice.org Impress : connecting;paths and objects -OpenOffice.org Impress : connections to data sources (Base) -OpenOffice.org Impress : connectors -OpenOffice.org Impress : connectors;properties of -OpenOffice.org Impress : connectors;using -OpenOffice.org Impress : constructing shapes -OpenOffice.org Impress : contents protection -OpenOffice.org Impress : context menus -OpenOffice.org Impress : contours -OpenOffice.org Impress : contours;converting to -OpenOffice.org Impress : contours of text -OpenOffice.org Impress : control point display in presentations -OpenOffice.org Impress : control points definition -OpenOffice.org Impress : controls -OpenOffice.org Impress : controls;activating in forms -OpenOffice.org Impress : controls;adding to documents -OpenOffice.org Impress : controls;arranging in forms -OpenOffice.org Impress : controls;arranging within stacks -OpenOffice.org Impress : controls;assigning data sources -OpenOffice.org Impress : controls;bound fields/list contents/linked cells -OpenOffice.org Impress : controls;events -OpenOffice.org Impress : controls;focus -OpenOffice.org Impress : controls;formatted fields -OpenOffice.org Impress : controls;grouping -OpenOffice.org Impress : controls;hidden -OpenOffice.org Impress : controls;inserting -OpenOffice.org Impress : controls;multi-line titles -OpenOffice.org Impress : controls;positions and sizes -OpenOffice.org Impress : controls;printing -OpenOffice.org Impress : controls;properties of form controls -OpenOffice.org Impress : controls;properties of table controls -OpenOffice.org Impress : controls;reference by SQL -OpenOffice.org Impress : controls;rich text control -OpenOffice.org Impress : controls;select mode -OpenOffice.org Impress : controls;showing (Writer) -OpenOffice.org Impress : converters -OpenOffice.org Impress : converters;Euro converter -OpenOffice.org Impress : converters;PostScript, UNIX -OpenOffice.org Impress : converters;XML -OpenOffice.org Impress : converting -OpenOffice.org Impress : converting;bitmaps to polygons -OpenOffice.org Impress : converting;Hangul/Hanja -OpenOffice.org Impress : converting;metrics -OpenOffice.org Impress : converting;Microsoft documents -OpenOffice.org Impress : converting;OpenOffice.org documents -OpenOffice.org Impress : converting;Pocket PC formats -OpenOffice.org Impress : converting;points -OpenOffice.org Impress : converting;text to curves -OpenOffice.org Impress : converting;to bitmaps -OpenOffice.org Impress : converting;to contours -OpenOffice.org Impress : converting;to curves, polygons, 3D -OpenOffice.org Impress : converting;to metafile format (WMF) -OpenOffice.org Impress : copies -OpenOffice.org Impress : copies;printing -OpenOffice.org Impress : copying -OpenOffice.org Impress : copying;by drag and drop -OpenOffice.org Impress : copying;data from text documents -OpenOffice.org Impress : copying;datasource records in spreadsheets -OpenOffice.org Impress : copying;draw objects -OpenOffice.org Impress : copying;draw objects between documents -OpenOffice.org Impress : copying;formatting -OpenOffice.org Impress : copying;from data source view -OpenOffice.org Impress : copying;from Gallery -OpenOffice.org Impress : copying;in Unix -OpenOffice.org Impress : copying;pictures, between documents -OpenOffice.org Impress : copying;sheet areas, to text documents -OpenOffice.org Impress : copying;slides -OpenOffice.org Impress : copying;text from other documents -OpenOffice.org Impress : copying;to Gallery -OpenOffice.org Impress : copyright for OpenOffice.org -OpenOffice.org Impress : corner points -OpenOffice.org Impress : corner roundings -OpenOffice.org Impress : covered objects -OpenOffice.org Impress : crash reports -OpenOffice.org Impress : criteria of query design (Base) -OpenOffice.org Impress : cropping pictures -OpenOffice.org Impress : cross-fading -OpenOffice.org Impress : cross-fading;creating cross-fades -OpenOffice.org Impress : cross-fading;slides -OpenOffice.org Impress : cross-fading;two draw objects -OpenOffice.org Impress : CTL -OpenOffice.org Impress : CTL;complex text layout languages -OpenOffice.org Impress : CTL;definition -OpenOffice.org Impress : CTL;options -OpenOffice.org Impress : cubes -OpenOffice.org Impress : currencies -OpenOffice.org Impress : currencies;converters -OpenOffice.org Impress : currencies;formats and format codes -OpenOffice.org Impress : currency field creation -OpenOffice.org Impress : currency formats -OpenOffice.org Impress : cursor -OpenOffice.org Impress : cursor;allowing in protected areas (Writer) -OpenOffice.org Impress : cursor;in read-only text -OpenOffice.org Impress : cursor;quickly moving to an object -OpenOffice.org Impress : curves -OpenOffice.org Impress : curves;converting text to -OpenOffice.org Impress : curves;drawing -OpenOffice.org Impress : curves;editing -OpenOffice.org Impress : curves;editing points -OpenOffice.org Impress : curves;properties in line charts/XY charts -OpenOffice.org Impress : curves;toolbar -OpenOffice.org Impress : custom animation -OpenOffice.org Impress : custom colors -OpenOffice.org Impress : custom dictionaries -OpenOffice.org Impress : custom dictionaries;editing -OpenOffice.org Impress : custom gradients -OpenOffice.org Impress : custom hyphens (Writer) -OpenOffice.org Impress : custom quotes -OpenOffice.org Impress : custom slide shows -OpenOffice.org Impress : custom templates -OpenOffice.org Impress : customizing -OpenOffice.org Impress : customizing;events -OpenOffice.org Impress : customizing;keyboard -OpenOffice.org Impress : customizing;menus -OpenOffice.org Impress : customizing;OpenOffice.org -OpenOffice.org Impress : customizing;round corners -OpenOffice.org Impress : customizing;toolbars -OpenOffice.org Impress : cutting -OpenOffice.org Impress : cylinders -OpenOffice.org Impress : dashes -OpenOffice.org Impress : data -OpenOffice.org Impress : data;filtering in forms -OpenOffice.org Impress : data;forms and subforms -OpenOffice.org Impress : data;read-only -OpenOffice.org Impress : data;sorting in forms -OpenOffice.org Impress : data;user data -OpenOffice.org Impress : data binding change in XForms -OpenOffice.org Impress : data labels in charts -OpenOffice.org Impress : Data Navigator display options -OpenOffice.org Impress : data ranges in charts -OpenOffice.org Impress : data series -OpenOffice.org Impress : data source browser -OpenOffice.org Impress : data source explorer -OpenOffice.org Impress : data source view -OpenOffice.org Impress : data source view;drag and drop -OpenOffice.org Impress : data source view;overview -OpenOffice.org Impress : data source view;showing -OpenOffice.org Impress : data sources -OpenOffice.org Impress : data sources;as tables -OpenOffice.org Impress : data sources;connection settings (Base) -OpenOffice.org Impress : data sources;copying records to spreadsheets -OpenOffice.org Impress : data sources;displaying current -OpenOffice.org Impress : data sources;LDAP server (Base) -OpenOffice.org Impress : data sources;OpenOffice.org Base -OpenOffice.org Impress : data sources;registering address books -OpenOffice.org Impress : data sources;reports -OpenOffice.org Impress : data sources;setting for stock charts -OpenOffice.org Impress : data sources;viewing -OpenOffice.org Impress : data structure of XForms -OpenOffice.org Impress : data values in charts -OpenOffice.org Impress : database contents -OpenOffice.org Impress : database contents;inserting as tables -OpenOffice.org Impress : database contents;inserting as text -OpenOffice.org Impress : database reports -OpenOffice.org Impress : Database Wizard (Base) -OpenOffice.org Impress : databases -OpenOffice.org Impress : databases;administration through SQL (Base) -OpenOffice.org Impress : databases;ADO (Base) -OpenOffice.org Impress : databases;connecting (Base) -OpenOffice.org Impress : databases;creating -OpenOffice.org Impress : databases;creating labels -OpenOffice.org Impress : databases;creating queries -OpenOffice.org Impress : databases;creating reports -OpenOffice.org Impress : databases;creating tables -OpenOffice.org Impress : databases;dBASE (Base) -OpenOffice.org Impress : databases;deleting (Base) -OpenOffice.org Impress : databases;drag and drop (Base) -OpenOffice.org Impress : databases;editing tables -OpenOffice.org Impress : databases;form filters -OpenOffice.org Impress : databases;formats (Base) -OpenOffice.org Impress : databases;importing/exporting -OpenOffice.org Impress : databases;JDBC (Base) -OpenOffice.org Impress : databases;main page (Base) -OpenOffice.org Impress : databases;MySQL (Base) -OpenOffice.org Impress : databases;ODBC (Base) -OpenOffice.org Impress : databases;overview -OpenOffice.org Impress : databases;registering (Base) -OpenOffice.org Impress : databases;searching records -OpenOffice.org Impress : databases;shortcut keys -OpenOffice.org Impress : databases;sorting -OpenOffice.org Impress : databases;standard filters -OpenOffice.org Impress : databases;text formats -OpenOffice.org Impress : databases;viewing -OpenOffice.org Impress : date fields -OpenOffice.org Impress : date fields;creating -OpenOffice.org Impress : date fields;properties -OpenOffice.org Impress : date formats -OpenOffice.org Impress : date on all slides -OpenOffice.org Impress : dates -OpenOffice.org Impress : dates;default (Calc) -OpenOffice.org Impress : dates;fixed -OpenOffice.org Impress : dates;printing in presentations -OpenOffice.org Impress : dates;start 1900/01/01 (Calc) -OpenOffice.org Impress : dates;start 1904/01/01 (Calc) -OpenOffice.org Impress : dates;variable -OpenOffice.org Impress : dBASE -OpenOffice.org Impress : dBASE;database settings (Base) -OpenOffice.org Impress : DDE -OpenOffice.org Impress : DDE;definition -OpenOffice.org Impress : deactivating -OpenOffice.org Impress : deactivating;plug-ins -OpenOffice.org Impress : decimal places displayed (Calc) -OpenOffice.org Impress : decimal separator key -OpenOffice.org Impress : decimal tab stops -OpenOffice.org Impress : decreasing sizes of views -OpenOffice.org Impress : default directories -OpenOffice.org Impress : default file formats -OpenOffice.org Impress : default filters -OpenOffice.org Impress : default filters;comparison operators -OpenOffice.org Impress : default filters;databases -OpenOffice.org Impress : default printer -OpenOffice.org Impress : default printer;setting up -OpenOffice.org Impress : default printer;UNIX -OpenOffice.org Impress : default templates -OpenOffice.org Impress : default templates;changing -OpenOffice.org Impress : default templates;organizing -OpenOffice.org Impress : defaults -OpenOffice.org Impress : defaults;documents -OpenOffice.org Impress : defaults;file formats -OpenOffice.org Impress : defaults;fonts -OpenOffice.org Impress : defaults;grids (Writer/Calc) -OpenOffice.org Impress : defaults;languages -OpenOffice.org Impress : defaults;number formats -OpenOffice.org Impress : defaults;of saving -OpenOffice.org Impress : defaults;program configuration -OpenOffice.org Impress : defaults;tab stops in text -OpenOffice.org Impress : defaults;views -OpenOffice.org Impress : defining -OpenOffice.org Impress : defining;arrowheads and other line ends -OpenOffice.org Impress : defining;colors -OpenOffice.org Impress : defining;gradients -OpenOffice.org Impress : defining;line styles -OpenOffice.org Impress : defining;paragraph borders -OpenOffice.org Impress : defining;queries (Base) -OpenOffice.org Impress : defining;table borders -OpenOffice.org Impress : deleting -OpenOffice.org Impress : deleting;all direct formatting -OpenOffice.org Impress : deleting;animation effects -OpenOffice.org Impress : deleting;databases (Base) -OpenOffice.org Impress : deleting;hyperlinks -OpenOffice.org Impress : deleting;layers -OpenOffice.org Impress : deleting;lines in text -OpenOffice.org Impress : deleting;models/instances -OpenOffice.org Impress : deleting;namespaces in XForms -OpenOffice.org Impress : deleting;points -OpenOffice.org Impress : deleting;slide transition effects -OpenOffice.org Impress : deleting;slides -OpenOffice.org Impress : deleting;tab stops -OpenOffice.org Impress : deleting;templates -OpenOffice.org Impress : deleting;XML filters -OpenOffice.org Impress : depth stagger -OpenOffice.org Impress : descriptions for objects -OpenOffice.org Impress : design mode after saving -OpenOffice.org Impress : design view -OpenOffice.org Impress : design view;creating forms -OpenOffice.org Impress : design view;queries/views (Base) -OpenOffice.org Impress : designing -OpenOffice.org Impress : designing;database tables -OpenOffice.org Impress : designing;fonts -OpenOffice.org Impress : designing;queries (Base) -OpenOffice.org Impress : detaching toolbars -OpenOffice.org Impress : dictionaries -OpenOffice.org Impress : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Impress : dictionaries;creating -OpenOffice.org Impress : dictionaries;editing user-defined -OpenOffice.org Impress : dictionaries;spellcheck -OpenOffice.org Impress : dictionaries, see also languages -OpenOffice.org Impress : digital signatures -OpenOffice.org Impress : dimension lines -OpenOffice.org Impress : dimension lines;drawing -OpenOffice.org Impress : dimension lines;properties of -OpenOffice.org Impress : direct formatting -OpenOffice.org Impress : direct formatting;undoing all -OpenOffice.org Impress : directories -OpenOffice.org Impress : directories;creating new -OpenOffice.org Impress : directories;directory structure -OpenOffice.org Impress : disabled persons -OpenOffice.org Impress : display qualities of presentations -OpenOffice.org Impress : displaying -OpenOffice.org Impress : displaying;non-printing characters (Writer) -OpenOffice.org Impress : displaying;notes (Calc) -OpenOffice.org Impress : displaying;notes in text documents -OpenOffice.org Impress : displaying;pictures and objects (Writer) -OpenOffice.org Impress : displaying;tables (Writer) -OpenOffice.org Impress : displaying;zero values (Calc) -OpenOffice.org Impress : distances -OpenOffice.org Impress : distinct values in SQL queries -OpenOffice.org Impress : distorting in drawings -OpenOffice.org Impress : distorting objects -OpenOffice.org Impress : distributing draw objects -OpenOffice.org Impress : distributing XML filters -OpenOffice.org Impress : dithering -OpenOffice.org Impress : docking -OpenOffice.org Impress : docking;definition -OpenOffice.org Impress : docking;toolbars -OpenOffice.org Impress : docking;windows -OpenOffice.org Impress : Document Converter Wizard -OpenOffice.org Impress : Document Map feature in Microsoft Office -OpenOffice.org Impress : Document Map, see Navigator -OpenOffice.org Impress : document types in OpenOffice.org -OpenOffice.org Impress : documents -OpenOffice.org Impress : documents;changing titles -OpenOffice.org Impress : documents;closing -OpenOffice.org Impress : documents;comparing -OpenOffice.org Impress : documents;contents as lists -OpenOffice.org Impress : documents;editing time -OpenOffice.org Impress : documents;exporting -OpenOffice.org Impress : documents;importing -OpenOffice.org Impress : documents;languages -OpenOffice.org Impress : documents;measurement units in -OpenOffice.org Impress : documents;merging -OpenOffice.org Impress : documents;number of pages/tables/sheets -OpenOffice.org Impress : documents;opening -OpenOffice.org Impress : documents;opening in design mode -OpenOffice.org Impress : documents;opening with templates -OpenOffice.org Impress : documents;organizing -OpenOffice.org Impress : documents;printing -OpenOffice.org Impress : documents;read-only -OpenOffice.org Impress : documents;reloading -OpenOffice.org Impress : documents;saving -OpenOffice.org Impress : documents;saving automatically -OpenOffice.org Impress : documents;saving in other formats -OpenOffice.org Impress : documents;sending as e-mail -OpenOffice.org Impress : documents;styles changed -OpenOffice.org Impress : documents;version management -OpenOffice.org Impress : documents;version numbers -OpenOffice.org Impress : donut charts -OpenOffice.org Impress : dotted areas -OpenOffice.org Impress : double-line spacing in paragraphs -OpenOffice.org Impress : double-line writing in Asian layout -OpenOffice.org Impress : doubling draw objects -OpenOffice.org Impress : drag and drop -OpenOffice.org Impress : drag and drop;copying and pasting text -OpenOffice.org Impress : drag and drop;data source view -OpenOffice.org Impress : drag and drop;from Gallery to draw objects -OpenOffice.org Impress : drag and drop;overview -OpenOffice.org Impress : drag and drop;pictures -OpenOffice.org Impress : drag and drop;to Gallery -OpenOffice.org Impress : Draw instructions -OpenOffice.org Impress : draw objects -OpenOffice.org Impress : draw objects;adding/editing/copying -OpenOffice.org Impress : draw objects;anchoring -OpenOffice.org Impress : draw objects;arranging within stacks -OpenOffice.org Impress : draw objects;combining -OpenOffice.org Impress : draw objects;connecting lines to -OpenOffice.org Impress : draw objects;converting text to -OpenOffice.org Impress : draw objects;copying -OpenOffice.org Impress : draw objects;copying between documents -OpenOffice.org Impress : draw objects;cross-fading two objects -OpenOffice.org Impress : draw objects;displaying (Calc) -OpenOffice.org Impress : draw objects;dropping Gallery pictures -OpenOffice.org Impress : draw objects;duplicating -OpenOffice.org Impress : draw objects;flipping -OpenOffice.org Impress : draw objects;grouping -OpenOffice.org Impress : draw objects;legends -OpenOffice.org Impress : draw objects;positioning and resizing -OpenOffice.org Impress : draw objects;protecting -OpenOffice.org Impress : draw objects;rotating -OpenOffice.org Impress : draw objects;slanting -OpenOffice.org Impress : draw objects;text entry mode -OpenOffice.org Impress : draw objects;text in -OpenOffice.org Impress : drawing -OpenOffice.org Impress : drawing;3D objects -OpenOffice.org Impress : drawing;freeform lines -OpenOffice.org Impress : drawing;lines -OpenOffice.org Impress : drawing;sectors and segments -OpenOffice.org Impress : Drawing bar -OpenOffice.org Impress : drawing lines in text -OpenOffice.org Impress : drawings -OpenOffice.org Impress : drawings;creating/opening -OpenOffice.org Impress : drawings;languages -OpenOffice.org Impress : drawings;printing -OpenOffice.org Impress : drawings;printing defaults -OpenOffice.org Impress : drawings;printing in text documents -OpenOffice.org Impress : drawings;saving -OpenOffice.org Impress : drawings;saving automatically -OpenOffice.org Impress : drawings;saving in other formats -OpenOffice.org Impress : drawings;sending as e-mail -OpenOffice.org Impress : drawings;shortcut keys -OpenOffice.org Impress : drawings;showing (Writer) -OpenOffice.org Impress : drawings;zoom function in -OpenOffice.org Impress : drop-down lists in form functions -OpenOffice.org Impress : duplicating draw objects -OpenOffice.org Impress : e-mail attachments -OpenOffice.org Impress : Edit File icon -OpenOffice.org Impress : edit mode -OpenOffice.org Impress : edit mode;after opening -OpenOffice.org Impress : edit mode;through Enter key (Calc) -OpenOffice.org Impress : Edit Points bar -OpenOffice.org Impress : editing -OpenOffice.org Impress : editing;chart axes -OpenOffice.org Impress : editing;chart data -OpenOffice.org Impress : editing;chart legends -OpenOffice.org Impress : editing;chart titles -OpenOffice.org Impress : editing;curves -OpenOffice.org Impress : editing;data binding of XForms -OpenOffice.org Impress : editing;database tables and queries -OpenOffice.org Impress : editing;draw objects -OpenOffice.org Impress : editing;fields -OpenOffice.org Impress : editing;Fontwork objects -OpenOffice.org Impress : editing;glue points -OpenOffice.org Impress : editing;gradients -OpenOffice.org Impress : editing;guides and snap points -OpenOffice.org Impress : editing;hyperlinks -OpenOffice.org Impress : editing;items in Data Navigator -OpenOffice.org Impress : editing;menus -OpenOffice.org Impress : editing;namespaces in XForms -OpenOffice.org Impress : editing;notes -OpenOffice.org Impress : editing;objects -OpenOffice.org Impress : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Impress : editing;pictures -OpenOffice.org Impress : editing;reports -OpenOffice.org Impress : editing;shortcut keys -OpenOffice.org Impress : editing;slide titles -OpenOffice.org Impress : editing;tab stops -OpenOffice.org Impress : editing;templates -OpenOffice.org Impress : editing;titles -OpenOffice.org Impress : editing;toolbars -OpenOffice.org Impress : editing;undoing -OpenOffice.org Impress : editing;XForms -OpenOffice.org Impress : editing time of documents -OpenOffice.org Impress : editors -OpenOffice.org Impress : editors;formula editor -OpenOffice.org Impress : editors;ImageMap editor -OpenOffice.org Impress : effects -OpenOffice.org Impress : effects;animated slide transitions -OpenOffice.org Impress : effects;applying to/removing from objects -OpenOffice.org Impress : effects;font positions -OpenOffice.org Impress : effects;fonts -OpenOffice.org Impress : effects;Fontwork icons -OpenOffice.org Impress : effects;preview -OpenOffice.org Impress : effects;sounds -OpenOffice.org Impress : ellipses -OpenOffice.org Impress : ellipses;segments -OpenOffice.org Impress : ellipses;toolbars -OpenOffice.org Impress : empty documents -OpenOffice.org Impress : empty paragraph removal -OpenOffice.org Impress : encryption of contents -OpenOffice.org Impress : entering groups -OpenOffice.org Impress : entering text from right to left -OpenOffice.org Impress : equal sign, see also operators -OpenOffice.org Impress : equations in formula editor -OpenOffice.org Impress : error bars in charts -OpenOffice.org Impress : error indicators in charts -OpenOffice.org Impress : Error Report Tool -OpenOffice.org Impress : Euro -OpenOffice.org Impress : Euro;currency formats -OpenOffice.org Impress : Euro;Euro Converter Wizard -OpenOffice.org Impress : even/odd pages -OpenOffice.org Impress : even/odd pages;printing -OpenOffice.org Impress : events -OpenOffice.org Impress : events;controls -OpenOffice.org Impress : events;customizing -OpenOffice.org Impress : events;in forms -OpenOffice.org Impress : Excel -OpenOffice.org Impress : Excel;saving as -OpenOffice.org Impress : Excel;search criteria -OpenOffice.org Impress : exceptions -OpenOffice.org Impress : exceptions;user-defined dictionaries -OpenOffice.org Impress : exchanging, see also replacing -OpenOffice.org Impress : executing -OpenOffice.org Impress : executing;SQL commands -OpenOffice.org Impress : exiting -OpenOffice.org Impress : exiting;by clicking objects -OpenOffice.org Impress : exiting;groups -OpenOffice.org Impress : exiting;OpenOffice.org -OpenOffice.org Impress : expanding -OpenOffice.org Impress : expanding;slides -OpenOffice.org Impress : expanding formatting (Calc) -OpenOffice.org Impress : explorer of data sources -OpenOffice.org Impress : export filters -OpenOffice.org Impress : exporting -OpenOffice.org Impress : exporting;animations to GIF format -OpenOffice.org Impress : exporting;bitmaps -OpenOffice.org Impress : exporting;databases -OpenOffice.org Impress : exporting;HTML and text documents -OpenOffice.org Impress : exporting;Microsoft Office documents with VBA code -OpenOffice.org Impress : exporting;presentations to HTML -OpenOffice.org Impress : exporting;spreadsheets to text format -OpenOffice.org Impress : exporting;templates -OpenOffice.org Impress : exporting;to foreign formats -OpenOffice.org Impress : exporting;to HTML -OpenOffice.org Impress : exporting;to Macromedia Flash format -OpenOffice.org Impress : exporting;to Microsoft Office formats -OpenOffice.org Impress : exporting;to PDF -OpenOffice.org Impress : exporting;to PostScript format -OpenOffice.org Impress : exporting;to XML -OpenOffice.org Impress : exporting;XML files -OpenOffice.org Impress : extended tips in Help -OpenOffice.org Impress : extension mode in text -OpenOffice.org Impress : extensions -OpenOffice.org Impress : extensions;Extension Manager -OpenOffice.org Impress : extensions;file formats -OpenOffice.org Impress : external keys (Base) -OpenOffice.org Impress : extrusion objects -OpenOffice.org Impress : eyedropper tool -OpenOffice.org Impress : faster printing -OpenOffice.org Impress : faxes -OpenOffice.org Impress : faxes;configuring OpenOffice.org -OpenOffice.org Impress : faxes;fax programs/fax printers under UNIX -OpenOffice.org Impress : faxes;selecting a fax machine -OpenOffice.org Impress : faxes;sending -OpenOffice.org Impress : faxes;wizards -OpenOffice.org Impress : fields -OpenOffice.org Impress : fields;authors -OpenOffice.org Impress : fields;database tables -OpenOffice.org Impress : fields;dates (fixed) -OpenOffice.org Impress : fields;dates (variable) -OpenOffice.org Impress : fields;displaying field codes (Writer) -OpenOffice.org Impress : fields;editing -OpenOffice.org Impress : fields;file names -OpenOffice.org Impress : fields;formatted fields -OpenOffice.org Impress : fields;formatting -OpenOffice.org Impress : fields;in slides -OpenOffice.org Impress : fields;page numbers -OpenOffice.org Impress : fields;times (fixed) -OpenOffice.org Impress : fields;times (variable) -OpenOffice.org Impress : fields;updating automatically (Writer) -OpenOffice.org Impress : file associations for Microsoft Office -OpenOffice.org Impress : file filters -OpenOffice.org Impress : file filters;mobile devices -OpenOffice.org Impress : file filters;XML -OpenOffice.org Impress : file formats -OpenOffice.org Impress : file formats;changing defaults -OpenOffice.org Impress : file formats;OpenDocument/XML -OpenOffice.org Impress : file formats;saving always in other formats -OpenOffice.org Impress : file selection button -OpenOffice.org Impress : file sharing options for current document -OpenOffice.org Impress : files -OpenOffice.org Impress : files;filters and formats -OpenOffice.org Impress : files;importing -OpenOffice.org Impress : files;inserting -OpenOffice.org Impress : files;inserting pictures -OpenOffice.org Impress : files;opening -OpenOffice.org Impress : files;opening with placeholders -OpenOffice.org Impress : files;properties -OpenOffice.org Impress : files;saving -OpenOffice.org Impress : files;saving automatically -OpenOffice.org Impress : files;saving in other formats -OpenOffice.org Impress : files;sending as e-mail -OpenOffice.org Impress : files;version numbers -OpenOffice.org Impress : files and folders in OpenOffice.org -OpenOffice.org Impress : fill characters with tabulators -OpenOffice.org Impress : fill colors for areas -OpenOffice.org Impress : fill format mode -OpenOffice.org Impress : fill format mode;styles -OpenOffice.org Impress : fill patterns for areas -OpenOffice.org Impress : filter conditions -OpenOffice.org Impress : filter conditions;connecting -OpenOffice.org Impress : filter conditions;in queries (Base) -OpenOffice.org Impress : filtering -OpenOffice.org Impress : filtering;data in databases -OpenOffice.org Impress : filtering;data in forms -OpenOffice.org Impress : filters -OpenOffice.org Impress : filters;comparison operators -OpenOffice.org Impress : filters;for import and export -OpenOffice.org Impress : filters;Navigator -OpenOffice.org Impress : filters;pictures -OpenOffice.org Impress : filters;XML filter settings -OpenOffice.org Impress : Find tab in Help -OpenOffice.org Impress : finding -OpenOffice.org Impress : finding;in all sheets -OpenOffice.org Impress : finding;records in form documents -OpenOffice.org Impress : finding;selections -OpenOffice.org Impress : finding;similarity search -OpenOffice.org Impress : fitting to pages -OpenOffice.org Impress : fitting to pages;individual slides -OpenOffice.org Impress : fitting to pages;print settings in Math -OpenOffice.org Impress : fitting to pages;print settings in presentations -OpenOffice.org Impress : fixed text -OpenOffice.org Impress : fixed text;form functions -OpenOffice.org Impress : fixing toolbars -OpenOffice.org Impress : flipping around a flip line -OpenOffice.org Impress : flipping draw objects -OpenOffice.org Impress : floating frames in HTML documents -OpenOffice.org Impress : floating text -OpenOffice.org Impress : floating toolbars -OpenOffice.org Impress : flowcharts -OpenOffice.org Impress : focus of controls -OpenOffice.org Impress : folder creation -OpenOffice.org Impress : font lists -OpenOffice.org Impress : font name box -OpenOffice.org Impress : font sizes -OpenOffice.org Impress : font sizes;bullets -OpenOffice.org Impress : font sizes;relative changes -OpenOffice.org Impress : font sizes;scaling on screen -OpenOffice.org Impress : font sizes;text -OpenOffice.org Impress : fonts -OpenOffice.org Impress : fonts;adding under UNIX -OpenOffice.org Impress : fonts;changing in templates -OpenOffice.org Impress : fonts;colors -OpenOffice.org Impress : fonts;default settings -OpenOffice.org Impress : fonts;effects -OpenOffice.org Impress : fonts;for HTML and Basic -OpenOffice.org Impress : fonts;formats -OpenOffice.org Impress : fonts;outlines -OpenOffice.org Impress : fonts;positions in text -OpenOffice.org Impress : fonts;shadows -OpenOffice.org Impress : fonts;specifying several -OpenOffice.org Impress : fonts;strikethrough -OpenOffice.org Impress : fonts;styles -OpenOffice.org Impress : fonts;text objects -OpenOffice.org Impress : Fontwork icons -OpenOffice.org Impress : footers -OpenOffice.org Impress : footers;backgrounds -OpenOffice.org Impress : footers;slide masters -OpenOffice.org Impress : footers;slides -OpenOffice.org Impress : form controls -OpenOffice.org Impress : form controls;assigning macros -OpenOffice.org Impress : form controls;protecting -OpenOffice.org Impress : form controls;toolbars -OpenOffice.org Impress : form fields -OpenOffice.org Impress : form filters -OpenOffice.org Impress : Form Navigator -OpenOffice.org Impress : format codes -OpenOffice.org Impress : format codes;numbers -OpenOffice.org Impress : format codes;user-defined number formats -OpenOffice.org Impress : format filling printing in OpenOffice.org Math -OpenOffice.org Impress : Format Paintbrush -OpenOffice.org Impress : formats -OpenOffice.org Impress : formats;Asian layout -OpenOffice.org Impress : formats;Asian typography -OpenOffice.org Impress : formats;fonts -OpenOffice.org Impress : formats;maximizing page formats -OpenOffice.org Impress : formats;number and currency formats -OpenOffice.org Impress : formats;of currencies/date/time -OpenOffice.org Impress : formats;on opening and saving -OpenOffice.org Impress : formats;pasting in special formats -OpenOffice.org Impress : formats;positions -OpenOffice.org Impress : formats;tabulators -OpenOffice.org Impress : formats;undoing when writing -OpenOffice.org Impress : formatted fields -OpenOffice.org Impress : formatted fields;form functions -OpenOffice.org Impress : formatted fields;properties -OpenOffice.org Impress : formatting -OpenOffice.org Impress : formatting;axes in charts -OpenOffice.org Impress : formatting;chart areas -OpenOffice.org Impress : formatting;chart floors -OpenOffice.org Impress : formatting;chart legends -OpenOffice.org Impress : formatting;chart titles -OpenOffice.org Impress : formatting;chart walls -OpenOffice.org Impress : formatting;copying -OpenOffice.org Impress : formatting;definition -OpenOffice.org Impress : formatting;expanding (Calc) -OpenOffice.org Impress : formatting;fields -OpenOffice.org Impress : formatting;font effects -OpenOffice.org Impress : formatting;hyperlinks -OpenOffice.org Impress : formatting;pages -OpenOffice.org Impress : formatting;printer metrics (Writer) -OpenOffice.org Impress : formatting;slides -OpenOffice.org Impress : formatting;slides headings -OpenOffice.org Impress : formatting;undoing -OpenOffice.org Impress : forms -OpenOffice.org Impress : forms;browsing -OpenOffice.org Impress : forms;Combo Box/List Box Wizard -OpenOffice.org Impress : forms;creating -OpenOffice.org Impress : forms;data -OpenOffice.org Impress : forms;designing (Base) -OpenOffice.org Impress : forms;events -OpenOffice.org Impress : forms;filtering data -OpenOffice.org Impress : forms;finding records -OpenOffice.org Impress : forms;focus after opening -OpenOffice.org Impress : forms;general information (Base) -OpenOffice.org Impress : forms;grouping controls -OpenOffice.org Impress : forms;HTML filters -OpenOffice.org Impress : forms;inserting -OpenOffice.org Impress : forms;Navigator -OpenOffice.org Impress : forms;opening in design mode -OpenOffice.org Impress : forms;properties -OpenOffice.org Impress : forms;sorting data -OpenOffice.org Impress : forms;subforms -OpenOffice.org Impress : forms;wizards -OpenOffice.org Impress : forms;XForms -OpenOffice.org Impress : Formula Auditing feature in Microsoft Office -OpenOffice.org Impress : formula texts -OpenOffice.org Impress : formula texts;printing in OpenOffice.org Math -OpenOffice.org Impress : formulas -OpenOffice.org Impress : formulas;new -OpenOffice.org Impress : formulas;starting formula editor -OpenOffice.org Impress : formulas in reports -OpenOffice.org Impress : formulas in reports;editing -OpenOffice.org Impress : forums and support -OpenOffice.org Impress : frames -OpenOffice.org Impress : frames;around paragraphs -OpenOffice.org Impress : frames;around tables -OpenOffice.org Impress : frames;AutoCorrect function -OpenOffice.org Impress : frames;backgrounds -OpenOffice.org Impress : frames;captions (Writer) -OpenOffice.org Impress : frames;printing in OpenOffice.org Math -OpenOffice.org Impress : frames;protecting -OpenOffice.org Impress : frames;selection frames -OpenOffice.org Impress : frames;text fitting to frames -OpenOffice.org Impress : freeform lines -OpenOffice.org Impress : freeform lines;draw functions -OpenOffice.org Impress : freeform lines;drawing -OpenOffice.org Impress : FTP -OpenOffice.org Impress : FTP;opening documents -OpenOffice.org Impress : FTP;saving documents -OpenOffice.org Impress : full joins (Base) -OpenOffice.org Impress : full screen view -OpenOffice.org Impress : full-text search in Help -OpenOffice.org Impress : functions in reports -OpenOffice.org Impress : functions in reports;editing -OpenOffice.org Impress : Gallery -OpenOffice.org Impress : Gallery;adding pictures -OpenOffice.org Impress : Gallery;dragging pictures to draw objects -OpenOffice.org Impress : Gallery;hiding/showing -OpenOffice.org Impress : Gallery;inserting pictures from -OpenOffice.org Impress : geometric forms -OpenOffice.org Impress : German spellcheck -OpenOffice.org Impress : get method for form transmissions -OpenOffice.org Impress : getting support -OpenOffice.org Impress : GIF format -OpenOffice.org Impress : GIF images -OpenOffice.org Impress : GIF images;animating -OpenOffice.org Impress : GIF images;replacing colors -OpenOffice.org Impress : glossaries -OpenOffice.org Impress : glossaries;common terms -OpenOffice.org Impress : glossaries;Internet terms -OpenOffice.org Impress : glue points -OpenOffice.org Impress : glue points;editing -OpenOffice.org Impress : glue points;inserting -OpenOffice.org Impress : gradients -OpenOffice.org Impress : gradients;applying and defining -OpenOffice.org Impress : gradients;defining colors -OpenOffice.org Impress : gradients;loading lists -OpenOffice.org Impress : gradients;transparent -OpenOffice.org Impress : gradients off for faster printing -OpenOffice.org Impress : graphical text art -OpenOffice.org Impress : graphics -OpenOffice.org Impress : graphics;cache -OpenOffice.org Impress : graphics;protecting -OpenOffice.org Impress : graphics, see also pictures -OpenOffice.org Impress : grayscale display -OpenOffice.org Impress : grayscale printing -OpenOffice.org Impress : grid controls -OpenOffice.org Impress : grid controls;form functions -OpenOffice.org Impress : grids -OpenOffice.org Impress : grids;defaults (Writer/Calc) -OpenOffice.org Impress : grids;display options (Impress/Draw) -OpenOffice.org Impress : grids;displaying lines (Calc) -OpenOffice.org Impress : grids;formatting axes -OpenOffice.org Impress : grids;inserting in charts -OpenOffice.org Impress : group box creation -OpenOffice.org Impress : grouping -OpenOffice.org Impress : grouping;draw objects -OpenOffice.org Impress : groups -OpenOffice.org Impress : groups;entering/exiting/ungrouping -OpenOffice.org Impress : groups;naming -OpenOffice.org Impress : groups;of controls -OpenOffice.org Impress : guides -OpenOffice.org Impress : guides;display options (Impress/Draw) -OpenOffice.org Impress : guides;displaying when moving objects (Impress) -OpenOffice.org Impress : guides;editing -OpenOffice.org Impress : guides;inserting -OpenOffice.org Impress : guides;show snap lines icon -OpenOffice.org Impress : guides;showing (Calc) -OpenOffice.org Impress : guides;showing when moving frames (Writer) -OpenOffice.org Impress : gutter -OpenOffice.org Impress : half-spheres -OpenOffice.org Impress : hand icon for moving slides -OpenOffice.org Impress : handles -OpenOffice.org Impress : handles;displaying (Writer) -OpenOffice.org Impress : handles;large -OpenOffice.org Impress : handles;scaling -OpenOffice.org Impress : handles;showing simple/large handles (Calc) -OpenOffice.org Impress : handles;simple -OpenOffice.org Impress : handout printing -OpenOffice.org Impress : Hangul/Hanja -OpenOffice.org Impress : hatching -OpenOffice.org Impress : hatching -OpenOffice.org Impress : hatching;loading lists -OpenOffice.org Impress : headers -OpenOffice.org Impress : headers;backgrounds -OpenOffice.org Impress : headers and footers -OpenOffice.org Impress : headers and footers;master layouts -OpenOffice.org Impress : headers and footers;slide masters -OpenOffice.org Impress : headers and footers;slides -OpenOffice.org Impress : headings -OpenOffice.org Impress : headings;entering as text box -OpenOffice.org Impress : Hebrew -OpenOffice.org Impress : Hebrew;entering text -OpenOffice.org Impress : Hebrew;language settings -OpenOffice.org Impress : Help -OpenOffice.org Impress : Help;bookmarks -OpenOffice.org Impress : Help;extended tips on/off -OpenOffice.org Impress : Help;full-text search -OpenOffice.org Impress : Help;Help tips -OpenOffice.org Impress : Help;keywords -OpenOffice.org Impress : Help;navigation pane showing/hiding -OpenOffice.org Impress : Help;style sheets -OpenOffice.org Impress : Help;topics -OpenOffice.org Impress : Help Agent -OpenOffice.org Impress : Help Agent;help -OpenOffice.org Impress : Help Agent;options -OpenOffice.org Impress : Help tips -OpenOffice.org Impress : Help tips;hiding -OpenOffice.org Impress : hidden controls in Form Navigator -OpenOffice.org Impress : hidden fields display (Writer) -OpenOffice.org Impress : hidden pages -OpenOffice.org Impress : hidden pages;printing in presentations -OpenOffice.org Impress : hidden pages;showing -OpenOffice.org Impress : hidden text -OpenOffice.org Impress : hidden text;showing (Writer) -OpenOffice.org Impress : hiding -OpenOffice.org Impress : hiding;changes -OpenOffice.org Impress : hiding;chart legends -OpenOffice.org Impress : hiding;docked windows -OpenOffice.org Impress : hiding;layers -OpenOffice.org Impress : hiding;levels -OpenOffice.org Impress : hiding;navigation pane in Help window -OpenOffice.org Impress : hiding;slides -OpenOffice.org Impress : hiding;subpoints -OpenOffice.org Impress : high contrast mode -OpenOffice.org Impress : Hindi -OpenOffice.org Impress : Hindi;entering text -OpenOffice.org Impress : Hindi;language settings -OpenOffice.org Impress : horizontal scrollbars (Writer) -OpenOffice.org Impress : hot spots in flowcharts -OpenOffice.org Impress : HowTos for charts -OpenOffice.org Impress : Howtos for Draw -OpenOffice.org Impress : HTML -OpenOffice.org Impress : HTML;definition -OpenOffice.org Impress : HTML;export character set -OpenOffice.org Impress : HTML;exporting from presentations -OpenOffice.org Impress : HTML;fonts for source display -OpenOffice.org Impress : HTML;importing into presentations -OpenOffice.org Impress : HTML;importing META tags -OpenOffice.org Impress : HTML;inserting files -OpenOffice.org Impress : HTML;live presentations -OpenOffice.org Impress : HTML documents -OpenOffice.org Impress : HTML documents;auto reloading -OpenOffice.org Impress : HTML documents;importing/exporting -OpenOffice.org Impress : HTML documents;META tags in -OpenOffice.org Impress : HTML documents;new -OpenOffice.org Impress : HTML documents;source text -OpenOffice.org Impress : hyperlinks -OpenOffice.org Impress : hyperlinks;assigning macros -OpenOffice.org Impress : hyperlinks;character formats -OpenOffice.org Impress : hyperlinks;definition -OpenOffice.org Impress : hyperlinks;deleting -OpenOffice.org Impress : hyperlinks;editing -OpenOffice.org Impress : hyperlinks;inserting -OpenOffice.org Impress : hyperlinks;relative and absolute -OpenOffice.org Impress : hyperlinks;turning off automatic recognition -OpenOffice.org Impress : hyperlinks, see also links -OpenOffice.org Impress : hyphenation -OpenOffice.org Impress : hyphenation;activating for a language -OpenOffice.org Impress : hyphenation;minimal number of characters -OpenOffice.org Impress : hyphens -OpenOffice.org Impress : hyphens;displaying custom (Writer) -OpenOffice.org Impress : hyphens;inserting custom -OpenOffice.org Impress : icon bars, see toolbars -OpenOffice.org Impress : icon sizes -OpenOffice.org Impress : ignore list for spellcheck -OpenOffice.org Impress : illumination -OpenOffice.org Impress : illumination;3D charts -OpenOffice.org Impress : illustrations, see pictures -OpenOffice.org Impress : image button creation -OpenOffice.org Impress : image control creation -OpenOffice.org Impress : ImageMap -OpenOffice.org Impress : ImageMap;definition -OpenOffice.org Impress : ImageMap;editor -OpenOffice.org Impress : images -OpenOffice.org Impress : images;ImageMap -OpenOffice.org Impress : images;inserting -OpenOffice.org Impress : images;inserting and editing bitmaps -OpenOffice.org Impress : images;placeholders in presentations -OpenOffice.org Impress : images, see also pictures -OpenOffice.org Impress : IME -OpenOffice.org Impress : IME;definition -OpenOffice.org Impress : IME;showing/hiding -OpenOffice.org Impress : import filters -OpenOffice.org Impress : import restrictions for Microsoft Office -OpenOffice.org Impress : importing -OpenOffice.org Impress : importing;bitmaps -OpenOffice.org Impress : importing;compatibility settings for text import -OpenOffice.org Impress : importing;databases -OpenOffice.org Impress : importing;documents in other formats -OpenOffice.org Impress : importing;from XML -OpenOffice.org Impress : importing;HTML and text documents -OpenOffice.org Impress : importing;HTML with META tags -OpenOffice.org Impress : importing;Microsoft Office documents with VBA code -OpenOffice.org Impress : importing;presentations with HTML -OpenOffice.org Impress : importing;tables in text format -OpenOffice.org Impress : importing;templates -OpenOffice.org Impress : in front of object command -OpenOffice.org Impress : inches -OpenOffice.org Impress : including spreadsheets -OpenOffice.org Impress : increasing sizes of views -OpenOffice.org Impress : Index tab in Help -OpenOffice.org Impress : indexes -OpenOffice.org Impress : indexes;backgrounds -OpenOffice.org Impress : indexes;showing/hiding Help index tab -OpenOffice.org Impress : indexes;unprotecting -OpenOffice.org Impress : indicator lines in text -OpenOffice.org Impress : inner joins (Base) -OpenOffice.org Impress : input method window -OpenOffice.org Impress : insert mode for entering text -OpenOffice.org Impress : inserting -OpenOffice.org Impress : inserting;3D objects -OpenOffice.org Impress : inserting;applets -OpenOffice.org Impress : inserting;arrows -OpenOffice.org Impress : inserting;callouts in presentations -OpenOffice.org Impress : inserting;cell ranges from spreadsheets -OpenOffice.org Impress : inserting;charts -OpenOffice.org Impress : inserting;clipboard options -OpenOffice.org Impress : inserting;data from text documents -OpenOffice.org Impress : inserting;datasource records in spreadsheets -OpenOffice.org Impress : inserting;drawings -OpenOffice.org Impress : inserting;ellipses -OpenOffice.org Impress : inserting;files -OpenOffice.org Impress : inserting;floating frames -OpenOffice.org Impress : inserting;form fields -OpenOffice.org Impress : inserting;glue points -OpenOffice.org Impress : inserting;hyperlinks -OpenOffice.org Impress : inserting;layers -OpenOffice.org Impress : inserting;line breaks in cells -OpenOffice.org Impress : inserting;lines -OpenOffice.org Impress : inserting;movies/sounds -OpenOffice.org Impress : inserting;new text tables defaults -OpenOffice.org Impress : inserting;notes -OpenOffice.org Impress : inserting;objects from files -OpenOffice.org Impress : inserting;objects from Gallery -OpenOffice.org Impress : inserting;OLE objects -OpenOffice.org Impress : inserting;paragraph bullets -OpenOffice.org Impress : inserting;pictures -OpenOffice.org Impress : inserting;plug-ins -OpenOffice.org Impress : inserting;polygons -OpenOffice.org Impress : inserting;rectangles -OpenOffice.org Impress : inserting;slides -OpenOffice.org Impress : inserting;slides as links -OpenOffice.org Impress : inserting;slides from files -OpenOffice.org Impress : inserting;special characters -OpenOffice.org Impress : inserting;tab stops -OpenOffice.org Impress : inserting;text in presentations -OpenOffice.org Impress : installing -OpenOffice.org Impress : installing;ActiveX control -OpenOffice.org Impress : installing;mobile device filters -OpenOffice.org Impress : installing;UNO components -OpenOffice.org Impress : instructions -OpenOffice.org Impress : instructions;general -OpenOffice.org Impress : instructions;OpenOffice.org Draw -OpenOffice.org Impress : instructions;OpenOffice.org Impress -OpenOffice.org Impress : interactions -OpenOffice.org Impress : interactions;hot spots -OpenOffice.org Impress : interactions;objects in interactive presentations -OpenOffice.org Impress : interactions;preview -OpenOffice.org Impress : Internet -OpenOffice.org Impress : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Impress : Internet;presentations -OpenOffice.org Impress : Internet;starting searches -OpenOffice.org Impress : Internet;turning off recognition of addresses -OpenOffice.org Impress : Internet glossary -OpenOffice.org Impress : intersecting draw objects -OpenOffice.org Impress : invert filter -OpenOffice.org Impress : invisible areas -OpenOffice.org Impress : italic text -OpenOffice.org Impress : iterative references in spreadsheets -OpenOffice.org Impress : Java -OpenOffice.org Impress : Java;definition -OpenOffice.org Impress : Java;scripting -OpenOffice.org Impress : Java;setting options -OpenOffice.org Impress : JDBC -OpenOffice.org Impress : JDBC;databases (Base) -OpenOffice.org Impress : JDBC;definition -OpenOffice.org Impress : joining -OpenOffice.org Impress : joining;3D objects -OpenOffice.org Impress : joining;paragraphs -OpenOffice.org Impress : joining;tables (Base) -OpenOffice.org Impress : joins in databases (Base) -OpenOffice.org Impress : justifying text -OpenOffice.org Impress : kerning -OpenOffice.org Impress : kerning;Asian texts -OpenOffice.org Impress : kerning;definition -OpenOffice.org Impress : kerning;in characters -OpenOffice.org Impress : key fields for relations (Base) -OpenOffice.org Impress : keyboard -OpenOffice.org Impress : keyboard;assigning/editing shortcut keys -OpenOffice.org Impress : keyboard;general commands -OpenOffice.org Impress : keyboard;removing numbering -OpenOffice.org Impress : keyboard;zooming -OpenOffice.org Impress : keys -OpenOffice.org Impress : keys;adding push buttons -OpenOffice.org Impress : keys;primary keys (Base) -OpenOffice.org Impress : kiosk export -OpenOffice.org Impress : labels -OpenOffice.org Impress : labels;creating and synchronizing -OpenOffice.org Impress : labels;for charts -OpenOffice.org Impress : labels;for draw objects -OpenOffice.org Impress : labels;form functions -OpenOffice.org Impress : labels;from databases -OpenOffice.org Impress : labels, see also names/callouts -OpenOffice.org Impress : languages -OpenOffice.org Impress : languages;activating modules -OpenOffice.org Impress : languages;Asian support -OpenOffice.org Impress : languages;complex text layout -OpenOffice.org Impress : languages;locale settings -OpenOffice.org Impress : languages;selecting -OpenOffice.org Impress : languages;setting options -OpenOffice.org Impress : languages;spellcheck -OpenOffice.org Impress : languages;spellchecking and formatting -OpenOffice.org Impress : large handles (Writer) -OpenOffice.org Impress : large icons -OpenOffice.org Impress : layer arrangement -OpenOffice.org Impress : layers -OpenOffice.org Impress : layers;definition -OpenOffice.org Impress : layers;deleting -OpenOffice.org Impress : layers;inserting and editing -OpenOffice.org Impress : layers;moving objects -OpenOffice.org Impress : layers;renaming -OpenOffice.org Impress : layers;working with -OpenOffice.org Impress : layout -OpenOffice.org Impress : layout;importing Word documents -OpenOffice.org Impress : layout;pages -OpenOffice.org Impress : layout;printing handouts -OpenOffice.org Impress : LDAP server -OpenOffice.org Impress : LDAP server;address books (Base) -OpenOffice.org Impress : LDAP server;sign on options -OpenOffice.org Impress : leading between paragraphs -OpenOffice.org Impress : left alignment of paragraphs -OpenOffice.org Impress : left joins (Base) -OpenOffice.org Impress : legends -OpenOffice.org Impress : legends;charts -OpenOffice.org Impress : legends;draw objects -OpenOffice.org Impress : legends;drawings -OpenOffice.org Impress : legends;rounding corners -OpenOffice.org Impress : Letter Wizard -OpenOffice.org Impress : levels -OpenOffice.org Impress : levels;depth stagger -OpenOffice.org Impress : levels;hiding -OpenOffice.org Impress : levels;showing -OpenOffice.org Impress : limits of tables (Writer) -OpenOffice.org Impress : line breaks -OpenOffice.org Impress : line breaks;in cells -OpenOffice.org Impress : line charts -OpenOffice.org Impress : line spacing -OpenOffice.org Impress : line spacing;context menu in paragraphs -OpenOffice.org Impress : line spacing;paragraph -OpenOffice.org Impress : line styles -OpenOffice.org Impress : line styles;applying -OpenOffice.org Impress : line styles;defining -OpenOffice.org Impress : line styles;loading -OpenOffice.org Impress : lines -OpenOffice.org Impress : lines;about line ends -OpenOffice.org Impress : lines;connecting objects -OpenOffice.org Impress : lines;contours (Draw/Impress) -OpenOffice.org Impress : lines;defining ends -OpenOffice.org Impress : lines;draw functions -OpenOffice.org Impress : lines;drawing -OpenOffice.org Impress : lines;drawing in text -OpenOffice.org Impress : lines;editing points -OpenOffice.org Impress : lines;inserting -OpenOffice.org Impress : lines;removing automatic lines -OpenOffice.org Impress : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Impress : lines of text -OpenOffice.org Impress : lines of text;alignment -OpenOffice.org Impress : links -OpenOffice.org Impress : links;between cells and controls -OpenOffice.org Impress : links;by drag and drop -OpenOffice.org Impress : links;character formats -OpenOffice.org Impress : links;definition -OpenOffice.org Impress : links;editing hyperlinks -OpenOffice.org Impress : links;inserting -OpenOffice.org Impress : links;modifying -OpenOffice.org Impress : links;opening files with -OpenOffice.org Impress : links;relational databases (Base) -OpenOffice.org Impress : links;turning off automatic recognition -OpenOffice.org Impress : links;updating options (Writer) -OpenOffice.org Impress : links;updating specific links -OpenOffice.org Impress : list box creation -OpenOffice.org Impress : lists -OpenOffice.org Impress : lists;animations -OpenOffice.org Impress : lists;data assigned to controls -OpenOffice.org Impress : lists;registered databases (Base) -OpenOffice.org Impress : lists;regular expressions -OpenOffice.org Impress : live presentations on the Internet -OpenOffice.org Impress : loading -OpenOffice.org Impress : loading;arrow and line styles -OpenOffice.org Impress : loading;colors/gradients/hatchings -OpenOffice.org Impress : loading;documents -OpenOffice.org Impress : loading;documents from other formats -OpenOffice.org Impress : loading;HTML documents, automatically -OpenOffice.org Impress : loading;Microsoft Office documents with VBA code -OpenOffice.org Impress : loading;reloading -OpenOffice.org Impress : loading;XML files -OpenOffice.org Impress : locale settings -OpenOffice.org Impress : locking layers -OpenOffice.org Impress : logarithmic scaling along axes -OpenOffice.org Impress : lowercase letters -OpenOffice.org Impress : lowercase letters;font effects -OpenOffice.org Impress : Macromedia Flash export -OpenOffice.org Impress : macros -OpenOffice.org Impress : macros;assigning to events in forms -OpenOffice.org Impress : macros;in MS Office documents -OpenOffice.org Impress : macros;interrupting -OpenOffice.org Impress : macros;organizing -OpenOffice.org Impress : macros;recording -OpenOffice.org Impress : macros;running in presentations -OpenOffice.org Impress : macros;security -OpenOffice.org Impress : macros;security warning dialog -OpenOffice.org Impress : macros;selecting security warnings -OpenOffice.org Impress : magnetic lines in presentations -OpenOffice.org Impress : magnifiers -OpenOffice.org Impress : Mail Merge feature in Microsoft Office -OpenOffice.org Impress : margins -OpenOffice.org Impress : margins;pages -OpenOffice.org Impress : margins;setting with the mouse -OpenOffice.org Impress : margins;shadows -OpenOffice.org Impress : marking changes -OpenOffice.org Impress : Markup feature in Microsoft Office -OpenOffice.org Impress : master layouts with headers and footers -OpenOffice.org Impress : master pages, see slide masters -OpenOffice.org Impress : master views -OpenOffice.org Impress : Math formula editor -OpenOffice.org Impress : measurement units -OpenOffice.org Impress : measurement units;changing on rulers -OpenOffice.org Impress : measurement units;converting -OpenOffice.org Impress : measurement units;selecting -OpenOffice.org Impress : Media Player window -OpenOffice.org Impress : menus -OpenOffice.org Impress : menus;activating context menus -OpenOffice.org Impress : menus;customizing -OpenOffice.org Impress : menus;inactive menu items -OpenOffice.org Impress : merging -OpenOffice.org Impress : merging;documents -OpenOffice.org Impress : merging;draw objects -OpenOffice.org Impress : META tags -OpenOffice.org Impress : metafiles -OpenOffice.org Impress : metafiles;converting to -OpenOffice.org Impress : metafiles;replacing colors -OpenOffice.org Impress : metrics -OpenOffice.org Impress : metrics;converting -OpenOffice.org Impress : metrics;document formatting (Writer) -OpenOffice.org Impress : metrics;in sheets -OpenOffice.org Impress : Microsoft Office -OpenOffice.org Impress : Microsoft Office;Access databases (base) -OpenOffice.org Impress : Microsoft Office;as standard file format -OpenOffice.org Impress : Microsoft Office;document import restrictions -OpenOffice.org Impress : Microsoft Office;feature comparisons -OpenOffice.org Impress : Microsoft Office;importing password protected files -OpenOffice.org Impress : Microsoft Office;importing Word documents -OpenOffice.org Impress : Microsoft Office;importing/exporting VBA code -OpenOffice.org Impress : Microsoft Office;new users information -OpenOffice.org Impress : Microsoft Office;opening Microsoft documents -OpenOffice.org Impress : Microsoft Office;reassigning document types -OpenOffice.org Impress : mirroring objects -OpenOffice.org Impress : mobile device filters -OpenOffice.org Impress : models in XForms -OpenOffice.org Impress : modifying, see changing -OpenOffice.org Impress : more controls -OpenOffice.org Impress : mosaic filter -OpenOffice.org Impress : motion paths -OpenOffice.org Impress : mouse -OpenOffice.org Impress : mouse;pointers when using drag and drop -OpenOffice.org Impress : mouse;positioning -OpenOffice.org Impress : moving -OpenOffice.org Impress : moving;between layers -OpenOffice.org Impress : moving;objects in slides -OpenOffice.org Impress : moving;tab stops on ruler -OpenOffice.org Impress : moving;toolbars -OpenOffice.org Impress : moving;using guide lines in presentations -OpenOffice.org Impress : MS ADO interface (Base) -OpenOffice.org Impress : multi-line titles in forms -OpenOffice.org Impress : multiple documents -OpenOffice.org Impress : multiple documents;opening -OpenOffice.org Impress : multiple monitors -OpenOffice.org Impress : multiplying draw objects -OpenOffice.org Impress : My Documents folder -OpenOffice.org Impress : My Documents folder;changing work directory -OpenOffice.org Impress : My Documents folder;opening -OpenOffice.org Impress : MySQL databases (Base) -OpenOffice.org Impress : names -OpenOffice.org Impress : names;multi-line titles -OpenOffice.org Impress : names;objects -OpenOffice.org Impress : names, see also labels/callouts -OpenOffice.org Impress : namespace organization in XForms -OpenOffice.org Impress : native SQL (Base) -OpenOffice.org Impress : navigating -OpenOffice.org Impress : navigating;in documents -OpenOffice.org Impress : Navigation bar -OpenOffice.org Impress : Navigation bar;controls -OpenOffice.org Impress : Navigation bar;forms -OpenOffice.org Impress : Navigator -OpenOffice.org Impress : Navigator;contents as lists -OpenOffice.org Impress : Navigator;docking -OpenOffice.org Impress : Navigator;presentations -OpenOffice.org Impress : Navigator;working with -OpenOffice.org Impress : net charts -OpenOffice.org Impress : network identity options -OpenOffice.org Impress : new databases -OpenOffice.org Impress : new documents -OpenOffice.org Impress : new German spellcheck -OpenOffice.org Impress : new lines in cells -OpenOffice.org Impress : new windows -OpenOffice.org Impress : non-breaking dashes -OpenOffice.org Impress : non-breaking spaces (Writer) -OpenOffice.org Impress : non-printing characters (Writer) -OpenOffice.org Impress : normal view -OpenOffice.org Impress : normal view;backgrounds -OpenOffice.org Impress : normal view;presentations -OpenOffice.org Impress : notes -OpenOffice.org Impress : notes;adding to slides -OpenOffice.org Impress : notes;default formatting -OpenOffice.org Impress : notes;displaying (Calc) -OpenOffice.org Impress : notes;inserting and editing -OpenOffice.org Impress : notes;printing in presentations -OpenOffice.org Impress : notes;printing in text -OpenOffice.org Impress : number formats -OpenOffice.org Impress : number formats;codes -OpenOffice.org Impress : number formats;formats -OpenOffice.org Impress : number formats;recognition in text tables -OpenOffice.org Impress : number of pages -OpenOffice.org Impress : number of sheets -OpenOffice.org Impress : number of tables -OpenOffice.org Impress : numbering -OpenOffice.org Impress : numbering;options -OpenOffice.org Impress : numbering;paragraphs -OpenOffice.org Impress : numbering;turning off -OpenOffice.org Impress : numbering;using automatically -OpenOffice.org Impress : numbers -OpenOffice.org Impress : numbers;date, time and currency formats -OpenOffice.org Impress : numbers;decimal places (Calc) -OpenOffice.org Impress : numbers;formatting options for selected cells -OpenOffice.org Impress : numerical fields in forms -OpenOffice.org Impress : object bars -OpenOffice.org Impress : object bars;editing glue points -OpenOffice.org Impress : objects -OpenOffice.org Impress : objects;aligning -OpenOffice.org Impress : objects;always moveable (Impress/Draw) -OpenOffice.org Impress : objects;arranging within stacks -OpenOffice.org Impress : objects;behind object command -OpenOffice.org Impress : objects;breaking connections -OpenOffice.org Impress : objects;contours in presentations -OpenOffice.org Impress : objects;copying when moving in presentations -OpenOffice.org Impress : objects;definition -OpenOffice.org Impress : objects;displaying in spreadsheets -OpenOffice.org Impress : objects;displaying in text documents -OpenOffice.org Impress : objects;editing -OpenOffice.org Impress : objects;effects -OpenOffice.org Impress : objects;in front of object command -OpenOffice.org Impress : objects;inserting from files -OpenOffice.org Impress : objects;inserting from Gallery -OpenOffice.org Impress : objects;inserting OLE objects -OpenOffice.org Impress : objects;moving along paths -OpenOffice.org Impress : objects;moving and resizing with mouse -OpenOffice.org Impress : objects;moving in layers -OpenOffice.org Impress : objects;moving in slides -OpenOffice.org Impress : objects;naming -OpenOffice.org Impress : objects;opening -OpenOffice.org Impress : objects;properties of charts -OpenOffice.org Impress : objects;quickly moving to -OpenOffice.org Impress : objects;reversing -OpenOffice.org Impress : objects;selecting -OpenOffice.org Impress : objects;titles and descriptions -OpenOffice.org Impress : objects;with attributes -OpenOffice.org Impress : ODBC -OpenOffice.org Impress : ODBC;database (Base) -OpenOffice.org Impress : ODBC;definition -OpenOffice.org Impress : ODF file formats -OpenOffice.org Impress : Office -OpenOffice.org Impress : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Impress : old German spellcheck -OpenOffice.org Impress : OLE -OpenOffice.org Impress : OLE;definition -OpenOffice.org Impress : OLE objects -OpenOffice.org Impress : OLE objects;arranging within stacks -OpenOffice.org Impress : OLE objects;captions (Writer) -OpenOffice.org Impress : OLE objects;inserting -OpenOffice.org Impress : OLE objects;number of -OpenOffice.org Impress : OLE objects;protecting -OpenOffice.org Impress : one and a half line spacing in text -OpenOffice.org Impress : online registration -OpenOffice.org Impress : online update options -OpenOffice.org Impress : online updates -OpenOffice.org Impress : online updates;checking automatically -OpenOffice.org Impress : online updates;checking manually -OpenOffice.org Impress : Open/Save dialogs -OpenOffice.org Impress : OpenDocument file formats -OpenOffice.org Impress : OpenGL -OpenOffice.org Impress : OpenGL;definition -OpenOffice.org Impress : OpenGL;optimized output -OpenOffice.org Impress : opening -OpenOffice.org Impress : opening;context menus -OpenOffice.org Impress : opening;database files -OpenOffice.org Impress : opening;dialog settings -OpenOffice.org Impress : opening;documents -OpenOffice.org Impress : opening;documents from other formats -OpenOffice.org Impress : opening;files with links -OpenOffice.org Impress : opening;files, with placeholders -OpenOffice.org Impress : opening;forms -OpenOffice.org Impress : opening;Microsoft Office files -OpenOffice.org Impress : opening;mobile device documents -OpenOffice.org Impress : opening;objects -OpenOffice.org Impress : opening;reports -OpenOffice.org Impress : opening;several files -OpenOffice.org Impress : opening;XForms -OpenOffice.org Impress : OpenOffice.org Base data sources -OpenOffice.org Impress : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Impress : OpenOffice.org documents -OpenOffice.org Impress : OpenOffice.org documents;mobile device filters -OpenOffice.org Impress : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Impress : OpenOffice.org Impress instructions -OpenOffice.org Impress : OpenOffice.org Math start -OpenOffice.org Impress : operators -OpenOffice.org Impress : operators;default filters -OpenOffice.org Impress : optional hyphens (Writer) -OpenOffice.org Impress : options -OpenOffice.org Impress : options;accessibility -OpenOffice.org Impress : options;appearance -OpenOffice.org Impress : options;compatibility (Writer) -OpenOffice.org Impress : options;network identity -OpenOffice.org Impress : options;online update -OpenOffice.org Impress : options;tools -OpenOffice.org Impress : Oracle databases (base) -OpenOffice.org Impress : order of chart data -OpenOffice.org Impress : ordering -OpenOffice.org Impress : ordering;objects -OpenOffice.org Impress : ordering;slides -OpenOffice.org Impress : organization charts -OpenOffice.org Impress : organizing -OpenOffice.org Impress : organizing;macros and scripts -OpenOffice.org Impress : organizing;namespaces in XForms -OpenOffice.org Impress : organizing;styles -OpenOffice.org Impress : organizing;templates -OpenOffice.org Impress : origin of rulers -OpenOffice.org Impress : original size -OpenOffice.org Impress : original size;printing in OpenOffice.org Math -OpenOffice.org Impress : original size;restoring after cropping -OpenOffice.org Impress : outline view -OpenOffice.org Impress : outlines -OpenOffice.org Impress : outlines;font effects -OpenOffice.org Impress : outlines;outline symbols -OpenOffice.org Impress : outlines;printing -OpenOffice.org Impress : outlines;sending to presentations -OpenOffice.org Impress : overwrite mode -OpenOffice.org Impress : packages, see extensions -OpenOffice.org Impress : page breaks -OpenOffice.org Impress : page breaks;displaying (Calc) -OpenOffice.org Impress : page formats -OpenOffice.org Impress : page formats;maximizing -OpenOffice.org Impress : page formats;restriction -OpenOffice.org Impress : page number field -OpenOffice.org Impress : page numbers on all slides -OpenOffice.org Impress : page styles -OpenOffice.org Impress : page styles;editing/applying with statusbar -OpenOffice.org Impress : pages -OpenOffice.org Impress : pages;backgrounds in spreadsheets -OpenOffice.org Impress : pages;copying -OpenOffice.org Impress : pages;fitting to printed pages -OpenOffice.org Impress : pages;formatting and numbering -OpenOffice.org Impress : pages;printing page names in presentations -OpenOffice.org Impress : pages;scaling -OpenOffice.org Impress : pages;selecting one to print -OpenOffice.org Impress : paint box -OpenOffice.org Impress : paint can symbol -OpenOffice.org Impress : pair kerning -OpenOffice.org Impress : Palm file filters -OpenOffice.org Impress : paper formats -OpenOffice.org Impress : paper size warning -OpenOffice.org Impress : paper trays -OpenOffice.org Impress : paragraph marks -OpenOffice.org Impress : paragraph marks;displaying (Writer) -OpenOffice.org Impress : paragraph styles -OpenOffice.org Impress : paragraph styles;languages -OpenOffice.org Impress : paragraph styles;modifying basic fonts -OpenOffice.org Impress : paragraphs -OpenOffice.org Impress : paragraphs;alignment -OpenOffice.org Impress : paragraphs;Asian typography -OpenOffice.org Impress : paragraphs;backgrounds -OpenOffice.org Impress : paragraphs;defining borders -OpenOffice.org Impress : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Impress : paragraphs;increasing indents of -OpenOffice.org Impress : paragraphs;indents, margins and columns -OpenOffice.org Impress : paragraphs;inserting bullets -OpenOffice.org Impress : paragraphs;joining -OpenOffice.org Impress : paragraphs;numbering automatically -OpenOffice.org Impress : paragraphs;removing blank ones -OpenOffice.org Impress : paragraphs;spacing -OpenOffice.org Impress : paragraphs;tab stops -OpenOffice.org Impress : parameters -OpenOffice.org Impress : parameters;command line -OpenOffice.org Impress : parameters;queries (Base) -OpenOffice.org Impress : passwords for protecting contents -OpenOffice.org Impress : pasting -OpenOffice.org Impress : pasting;cell ranges -OpenOffice.org Impress : pasting;cell ranges from spreadsheets -OpenOffice.org Impress : pasting;data from text documents -OpenOffice.org Impress : pasting;draw objects -OpenOffice.org Impress : pasting;draw objects from other documents -OpenOffice.org Impress : pasting;formatted/unformatted text -OpenOffice.org Impress : pasting;from data source view -OpenOffice.org Impress : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Impress : pasting;pictures from other documents -OpenOffice.org Impress : pasting;sheet areas in text documents -OpenOffice.org Impress : pasting;slides from other presentations -OpenOffice.org Impress : pasting;text from other documents -OpenOffice.org Impress : pasting;to Gallery -OpenOffice.org Impress : paths -OpenOffice.org Impress : paths;changing work directory -OpenOffice.org Impress : paths;defaults -OpenOffice.org Impress : paths;moving objects along -OpenOffice.org Impress : pattern editor -OpenOffice.org Impress : pattern fields -OpenOffice.org Impress : pattern fields;form functions -OpenOffice.org Impress : patterns for objects -OpenOffice.org Impress : PDF -OpenOffice.org Impress : PDF;export -OpenOffice.org Impress : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Impress : personal data input -OpenOffice.org Impress : phonetic guide -OpenOffice.org Impress : picklist creation -OpenOffice.org Impress : pictures -OpenOffice.org Impress : pictures;adding to Gallery -OpenOffice.org Impress : pictures;arranging within stacks -OpenOffice.org Impress : pictures;assigning macros -OpenOffice.org Impress : pictures;backgrounds -OpenOffice.org Impress : pictures;captions (Writer) -OpenOffice.org Impress : pictures;changing paths -OpenOffice.org Impress : pictures;cropping and zooming -OpenOffice.org Impress : pictures;displaying in Calc -OpenOffice.org Impress : pictures;displaying in Writer (Writer) -OpenOffice.org Impress : pictures;drag and drop between documents -OpenOffice.org Impress : pictures;drawing -OpenOffice.org Impress : pictures;editing -OpenOffice.org Impress : pictures;filters -OpenOffice.org Impress : pictures;ImageMap -OpenOffice.org Impress : pictures;inserting -OpenOffice.org Impress : pictures;inserting automatically -OpenOffice.org Impress : pictures;inserting from Gallery -OpenOffice.org Impress : pictures;number of -OpenOffice.org Impress : pictures;printing -OpenOffice.org Impress : pictures;scaling/resizing -OpenOffice.org Impress : pie charts -OpenOffice.org Impress : pivot points of draw objects -OpenOffice.org Impress : Pivot tables feature in Microsoft Office -OpenOffice.org Impress : pixel editor -OpenOffice.org Impress : pixel graphics -OpenOffice.org Impress : pixel graphics;inserting and editing -OpenOffice.org Impress : pixel patterns -OpenOffice.org Impress : placeholders -OpenOffice.org Impress : placeholders;in SQL queries -OpenOffice.org Impress : placeholders;on opening files -OpenOffice.org Impress : placing toolbars -OpenOffice.org Impress : playing movies and sound files -OpenOffice.org Impress : plotting data as charts -OpenOffice.org Impress : plug-ins -OpenOffice.org Impress : plug-ins;activating and deactivating -OpenOffice.org Impress : plug-ins;definition -OpenOffice.org Impress : plug-ins;inserting -OpenOffice.org Impress : pocket device appliances -OpenOffice.org Impress : Pocket PC file filters -OpenOffice.org Impress : points -OpenOffice.org Impress : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Impress : polygon drawing -OpenOffice.org Impress : polygons -OpenOffice.org Impress : polygons;inserting -OpenOffice.org Impress : polygons;intersecting/subtracting/merging -OpenOffice.org Impress : pop-art filter -OpenOffice.org Impress : portable document format -OpenOffice.org Impress : positioning -OpenOffice.org Impress : positioning;draw objects and controls -OpenOffice.org Impress : positioning;fonts -OpenOffice.org Impress : positioning;objects -OpenOffice.org Impress : positioning;toolbars -OpenOffice.org Impress : post method for form transmissions -OpenOffice.org Impress : posterizing filter -OpenOffice.org Impress : PostScript -OpenOffice.org Impress : PostScript;creating files -OpenOffice.org Impress : PostScript;PDF converter, UNIX -OpenOffice.org Impress : PowerPoint export -OpenOffice.org Impress : precision as shown (Calc) -OpenOffice.org Impress : predefining fonts -OpenOffice.org Impress : presentations -OpenOffice.org Impress : presentations;arranging slides -OpenOffice.org Impress : presentations;creating/opening -OpenOffice.org Impress : presentations;exiting by interaction -OpenOffice.org Impress : presentations;exporting to HTML -OpenOffice.org Impress : presentations;importing HTML -OpenOffice.org Impress : presentations;inserting spreadsheet cells -OpenOffice.org Impress : presentations;inserting spreadsheets -OpenOffice.org Impress : presentations;live on the Internet -OpenOffice.org Impress : presentations;navigating -OpenOffice.org Impress : presentations;numbering slides in -OpenOffice.org Impress : presentations;ordering of effects -OpenOffice.org Impress : presentations;print menu -OpenOffice.org Impress : presentations;printing -OpenOffice.org Impress : presentations;rehearse timings -OpenOffice.org Impress : presentations;saving -OpenOffice.org Impress : presentations;saving automatically -OpenOffice.org Impress : presentations;saving in other formats -OpenOffice.org Impress : presentations;sending as e-mail -OpenOffice.org Impress : presentations;settings for -OpenOffice.org Impress : presentations;shortcut keys -OpenOffice.org Impress : presentations;starting -OpenOffice.org Impress : presentations;starting with wizard -OpenOffice.org Impress : presentations;window / full screen -OpenOffice.org Impress : presentations;wizards -OpenOffice.org Impress : press buttons, see push buttons -OpenOffice.org Impress : previews -OpenOffice.org Impress : previews;fonts lists -OpenOffice.org Impress : primary keys -OpenOffice.org Impress : primary keys;defining -OpenOffice.org Impress : primary keys;inserting (Base) -OpenOffice.org Impress : print area selection -OpenOffice.org Impress : printer metrics for document formatting (Writer) -OpenOffice.org Impress : printers -OpenOffice.org Impress : printers;adding, UNIX -OpenOffice.org Impress : printers;choosing -OpenOffice.org Impress : printers;default printer -OpenOffice.org Impress : printers;faxes under UNIX -OpenOffice.org Impress : printers;maximum page formats -OpenOffice.org Impress : printers;paper trays -OpenOffice.org Impress : printers;properties -OpenOffice.org Impress : printing -OpenOffice.org Impress : printing;black and white -OpenOffice.org Impress : printing;brochures -OpenOffice.org Impress : printing;colors in grayscale -OpenOffice.org Impress : printing;copies -OpenOffice.org Impress : printing;creating individual jobs -OpenOffice.org Impress : printing;dates in presentations -OpenOffice.org Impress : printing;directly -OpenOffice.org Impress : printing;documents -OpenOffice.org Impress : printing;drawings defaults -OpenOffice.org Impress : printing;elements in text documents -OpenOffice.org Impress : printing;faster -OpenOffice.org Impress : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Impress : printing;fitting to pages in presentations -OpenOffice.org Impress : printing;fitting to paper -OpenOffice.org Impress : printing;formulas in OpenOffice.org Math -OpenOffice.org Impress : printing;hidden pages of presentations -OpenOffice.org Impress : printing;in original size in OpenOffice.org Math -OpenOffice.org Impress : printing;left/right pages -OpenOffice.org Impress : printing;presentations -OpenOffice.org Impress : printing;queries (Base) -OpenOffice.org Impress : printing;scaling in OpenOffice.org Math -OpenOffice.org Impress : printing;selections -OpenOffice.org Impress : printing;text always in black -OpenOffice.org Impress : printing;text in reverse order -OpenOffice.org Impress : printing;tiling pages in presentations -OpenOffice.org Impress : printing;transparencies -OpenOffice.org Impress : printing;warnings -OpenOffice.org Impress : printing;without scaling in presentations -OpenOffice.org Impress : printing speed -OpenOffice.org Impress : programming -OpenOffice.org Impress : programming;OpenOffice.org -OpenOffice.org Impress : programming;scripting -OpenOffice.org Impress : programs run by mouse click in presentations -OpenOffice.org Impress : properties -OpenOffice.org Impress : properties;charts -OpenOffice.org Impress : properties;fields in databases -OpenOffice.org Impress : properties;files -OpenOffice.org Impress : properties;form controls -OpenOffice.org Impress : properties;forms -OpenOffice.org Impress : properties;printers -OpenOffice.org Impress : properties;smooth lines in line charts/XY charts -OpenOffice.org Impress : protected contents -OpenOffice.org Impress : protected dashes -OpenOffice.org Impress : protected database tables -OpenOffice.org Impress : protected documents -OpenOffice.org Impress : protected spaces -OpenOffice.org Impress : protected spaces;inserting -OpenOffice.org Impress : protected spaces;showing (Writer) -OpenOffice.org Impress : protecting -OpenOffice.org Impress : protecting;contents -OpenOffice.org Impress : protecting;recorded changes -OpenOffice.org Impress : proxy settings -OpenOffice.org Impress : push buttons -OpenOffice.org Impress : push buttons;adding to documents -OpenOffice.org Impress : push buttons;creating -OpenOffice.org Impress : pyramids -OpenOffice.org Impress : queries -OpenOffice.org Impress : queries;copying (Base) -OpenOffice.org Impress : queries;creating in design view (Base) -OpenOffice.org Impress : queries;creating in SQL view -OpenOffice.org Impress : queries;defining (Base) -OpenOffice.org Impress : queries;deleting table links (Base) -OpenOffice.org Impress : queries;editing in data source view -OpenOffice.org Impress : queries;formulating filter conditions (Base) -OpenOffice.org Impress : queries;joining tables (Base) -OpenOffice.org Impress : queries;missing elements (Base) -OpenOffice.org Impress : queries;overview (Base) -OpenOffice.org Impress : queries;parameter queries (Base) -OpenOffice.org Impress : queries;printing (Base) -OpenOffice.org Impress : Query Wizard (Base) -OpenOffice.org Impress : quickstarter -OpenOffice.org Impress : quotation marks -OpenOffice.org Impress : quotation marks;replacing -OpenOffice.org Impress : quotes -OpenOffice.org Impress : quotes;custom -OpenOffice.org Impress : radar charts, see net charts -OpenOffice.org Impress : radio button creation -OpenOffice.org Impress : read-only documents -OpenOffice.org Impress : read-only documents;cursor -OpenOffice.org Impress : read-only documents;database tables on/off -OpenOffice.org Impress : read-only documents;editing -OpenOffice.org Impress : read-only documents;opening documents as -OpenOffice.org Impress : read-only items in Data Navigator -OpenOffice.org Impress : recognizing URLs automatically -OpenOffice.org Impress : recording -OpenOffice.org Impress : recording;changes -OpenOffice.org Impress : recording;display times for slides -OpenOffice.org Impress : recording;macros -OpenOffice.org Impress : records -OpenOffice.org Impress : records;inserting notes -OpenOffice.org Impress : records;protecting -OpenOffice.org Impress : records;saving -OpenOffice.org Impress : records;searching in databases -OpenOffice.org Impress : rectangles -OpenOffice.org Impress : rectangles with round corners -OpenOffice.org Impress : recursions in spreadsheets -OpenOffice.org Impress : redo command -OpenOffice.org Impress : reduced printing -OpenOffice.org Impress : reference lines -OpenOffice.org Impress : references -OpenOffice.org Impress : references;displaying in color (Calc) -OpenOffice.org Impress : references;expanding (Calc) -OpenOffice.org Impress : references;iterative (Calc) -OpenOffice.org Impress : Refresh Data feature in Microsoft Office -OpenOffice.org Impress : register-true -OpenOffice.org Impress : register-true;definition -OpenOffice.org Impress : registering -OpenOffice.org Impress : registering;address books -OpenOffice.org Impress : registering;databases (Base) -OpenOffice.org Impress : registering;OpenOffice.org -OpenOffice.org Impress : regression curves in charts -OpenOffice.org Impress : regular expressions -OpenOffice.org Impress : regular expressions;list of -OpenOffice.org Impress : regular expressions;opening files -OpenOffice.org Impress : rehearse timings -OpenOffice.org Impress : relational databases (Base) -OpenOffice.org Impress : relations -OpenOffice.org Impress : relations;creating and deleting (Base) -OpenOffice.org Impress : relations;joining tables (Base) -OpenOffice.org Impress : relations;properties (Base) -OpenOffice.org Impress : relative hyperlinks -OpenOffice.org Impress : relative saving of URLs -OpenOffice.org Impress : reloading -OpenOffice.org Impress : reloading;documents -OpenOffice.org Impress : reloading;HTML documents, automatically -OpenOffice.org Impress : remarks, see also notes -OpenOffice.org Impress : remote configurations -OpenOffice.org Impress : remove noise filter -OpenOffice.org Impress : removing -OpenOffice.org Impress : removing;bullets and numbering -OpenOffice.org Impress : removing;form filters -OpenOffice.org Impress : removing, see also deleting -OpenOffice.org Impress : renaming layers -OpenOffice.org Impress : reorganizing charts -OpenOffice.org Impress : Replace text as you type feature in Microsoft Office -OpenOffice.org Impress : replacement options -OpenOffice.org Impress : replacement table -OpenOffice.org Impress : replacing -OpenOffice.org Impress : replacing;AutoCorrect function -OpenOffice.org Impress : replacing;colors in bitmaps -OpenOffice.org Impress : replacing;dashes -OpenOffice.org Impress : Report Builder -OpenOffice.org Impress : reports -OpenOffice.org Impress : reports;creating -OpenOffice.org Impress : reports;error reports -OpenOffice.org Impress : reports;opening and editing -OpenOffice.org Impress : reports;templates -OpenOffice.org Impress : resetting -OpenOffice.org Impress : resetting;templates -OpenOffice.org Impress : resizing -OpenOffice.org Impress : resizing;objects, by mouse -OpenOffice.org Impress : resizing, see also scaling/zooming -OpenOffice.org Impress : resolution when printing bitmaps -OpenOffice.org Impress : restoring -OpenOffice.org Impress : restoring;default formatting -OpenOffice.org Impress : restoring;editing -OpenOffice.org Impress : reversing objects -OpenOffice.org Impress : reversing printing order -OpenOffice.org Impress : review function -OpenOffice.org Impress : review function;accepting or rejecting changes -OpenOffice.org Impress : review function;comparing documents -OpenOffice.org Impress : review function;recording changes example -OpenOffice.org Impress : rich text control -OpenOffice.org Impress : right alignment of paragraphs -OpenOffice.org Impress : right joins (Base) -OpenOffice.org Impress : right-to-left text -OpenOffice.org Impress : rotating -OpenOffice.org Impress : rotating;3D text -OpenOffice.org Impress : rotating;draw objects -OpenOffice.org Impress : rotation mode -OpenOffice.org Impress : round corners -OpenOffice.org Impress : rounding precision (Calc) -OpenOffice.org Impress : row headers -OpenOffice.org Impress : row headers;displaying (Calc) -OpenOffice.org Impress : row headers;highlighting (Calc) -OpenOffice.org Impress : rulers -OpenOffice.org Impress : rulers;default settings -OpenOffice.org Impress : rulers;in presentations -OpenOffice.org Impress : rulers;measurement units -OpenOffice.org Impress : rulers;visible in presentations -OpenOffice.org Impress : running macros/programs in presentations -OpenOffice.org Impress : running slide shows -OpenOffice.org Impress : samples and templates -OpenOffice.org Impress : saving -OpenOffice.org Impress : saving;as HTML -OpenOffice.org Impress : saving;default file formats -OpenOffice.org Impress : saving;dialog settings -OpenOffice.org Impress : saving;documents -OpenOffice.org Impress : saving;documents for mobile devices -OpenOffice.org Impress : saving;documents in other formats -OpenOffice.org Impress : saving;documents, automatically -OpenOffice.org Impress : saving;in Microsoft Office file format -OpenOffice.org Impress : saving;options -OpenOffice.org Impress : saving;templates -OpenOffice.org Impress : saving;to XML -OpenOffice.org Impress : saving;VBA code in Microsoft Office documents -OpenOffice.org Impress : saving;with password by default -OpenOffice.org Impress : saving as command -OpenOffice.org Impress : saving as command;precautions -OpenOffice.org Impress : scaling -OpenOffice.org Impress : scaling;axes -OpenOffice.org Impress : scaling;font sizes in user interface -OpenOffice.org Impress : scaling;objects -OpenOffice.org Impress : scaling;pictures -OpenOffice.org Impress : scaling;printing in OpenOffice.org Math -OpenOffice.org Impress : scaling;text in charts -OpenOffice.org Impress : scaling;when printing presentations -OpenOffice.org Impress : scaling, see also zooming -OpenOffice.org Impress : scatter charts -OpenOffice.org Impress : screen -OpenOffice.org Impress : screen;full screen views -OpenOffice.org Impress : screen;scaling -OpenOffice.org Impress : screen magnifiers -OpenOffice.org Impress : screen readers -OpenOffice.org Impress : script organization -OpenOffice.org Impress : scripting in programming -OpenOffice.org Impress : scrollbars -OpenOffice.org Impress : scrollbars;controls -OpenOffice.org Impress : scrollbars;displaying (Calc) -OpenOffice.org Impress : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Impress : search criteria for database functions in cells -OpenOffice.org Impress : search engines -OpenOffice.org Impress : search engines;definition -OpenOffice.org Impress : search engines;selecting -OpenOffice.org Impress : searching -OpenOffice.org Impress : searching;all sheets -OpenOffice.org Impress : searching;databases -OpenOffice.org Impress : searching;form filters -OpenOffice.org Impress : searching;Internet -OpenOffice.org Impress : searching;tables and forms -OpenOffice.org Impress : secondary axes in charts -OpenOffice.org Impress : sections -OpenOffice.org Impress : sections;backgrounds -OpenOffice.org Impress : sections;protecting -OpenOffice.org Impress : sectors of circles/ellipses -OpenOffice.org Impress : security -OpenOffice.org Impress : security;options for documents with macros -OpenOffice.org Impress : security;protecting contents -OpenOffice.org Impress : security;warning dialogs with macros -OpenOffice.org Impress : segments of circles/ellipses -OpenOffice.org Impress : selecting -OpenOffice.org Impress : selecting;controls -OpenOffice.org Impress : selecting;group objects -OpenOffice.org Impress : selecting;hidden objects -OpenOffice.org Impress : selecting;layers -OpenOffice.org Impress : selecting;measurement units -OpenOffice.org Impress : selecting;objects -OpenOffice.org Impress : selecting;print areas -OpenOffice.org Impress : selecting;several files -OpenOffice.org Impress : selection clipboard -OpenOffice.org Impress : selection modes in text -OpenOffice.org Impress : sending -OpenOffice.org Impress : sending;AutoAbstract function in presentations -OpenOffice.org Impress : sending;documents as e-mail -OpenOffice.org Impress : sending;documents as faxes -OpenOffice.org Impress : separator lines -OpenOffice.org Impress : separator lines;defining -OpenOffice.org Impress : separators -OpenOffice.org Impress : separators;conditional -OpenOffice.org Impress : Server Side ImageMap -OpenOffice.org Impress : settings -OpenOffice.org Impress : settings;printers -OpenOffice.org Impress : settings;program configuration -OpenOffice.org Impress : settings;proxies -OpenOffice.org Impress : settings;tracking changes -OpenOffice.org Impress : settings;views -OpenOffice.org Impress : SGML -OpenOffice.org Impress : SGML;definition -OpenOffice.org Impress : shadows -OpenOffice.org Impress : shadows;areas -OpenOffice.org Impress : shadows;borders -OpenOffice.org Impress : shadows;characters -OpenOffice.org Impress : shadows;characters, using context menu -OpenOffice.org Impress : sharpening filter -OpenOffice.org Impress : shearing objects -OpenOffice.org Impress : sheet tabs -OpenOffice.org Impress : sheet tabs;displaying -OpenOffice.org Impress : sheets -OpenOffice.org Impress : sheets;searching all -OpenOffice.org Impress : shells -OpenOffice.org Impress : shortcut keys -OpenOffice.org Impress : shortcut keys;assigning macros -OpenOffice.org Impress : shortcut keys;charts -OpenOffice.org Impress : shortcut keys;general -OpenOffice.org Impress : shortcut keys;in databases -OpenOffice.org Impress : shortcut keys;in drawings -OpenOffice.org Impress : shortcut keys;in presentations -OpenOffice.org Impress : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Impress : Show/Hide feature in Microsoft Office -OpenOffice.org Impress : showing -OpenOffice.org Impress : showing;changes -OpenOffice.org Impress : showing;docked windows -OpenOffice.org Impress : showing;drawings and controls (Writer) -OpenOffice.org Impress : showing;guides -OpenOffice.org Impress : showing;hidden layers -OpenOffice.org Impress : showing;hidden slides -OpenOffice.org Impress : showing;levels -OpenOffice.org Impress : showing;live presentations on the Internet -OpenOffice.org Impress : showing;slide shows -OpenOffice.org Impress : showing;subpoints -OpenOffice.org Impress : showing;toolbars -OpenOffice.org Impress : sign conversion to curves -OpenOffice.org Impress : signing documents with digital signatures -OpenOffice.org Impress : similarity search -OpenOffice.org Impress : simple handles (Writer) -OpenOffice.org Impress : simplified Chinese -OpenOffice.org Impress : simplified Chinese;translating to traditional Chinese -OpenOffice.org Impress : single sign on options -OpenOffice.org Impress : single-line spacing in text -OpenOffice.org Impress : sizes -OpenOffice.org Impress : sizes;draw objects -OpenOffice.org Impress : sizes;pictures -OpenOffice.org Impress : skewing draw objects -OpenOffice.org Impress : slanting draw objects -OpenOffice.org Impress : slanting objects -OpenOffice.org Impress : slide designs -OpenOffice.org Impress : slide layouts -OpenOffice.org Impress : slide master view -OpenOffice.org Impress : slide masters -OpenOffice.org Impress : slide masters;changing backgrounds -OpenOffice.org Impress : slide masters;designing -OpenOffice.org Impress : slide masters;headers and footers -OpenOffice.org Impress : slide numbers -OpenOffice.org Impress : slide numbers on all slides -OpenOffice.org Impress : slide shows -OpenOffice.org Impress : slide shows;custom -OpenOffice.org Impress : slide shows;settings for -OpenOffice.org Impress : slide shows;starting -OpenOffice.org Impress : slide transitions -OpenOffice.org Impress : slide transitions;applying effects -OpenOffice.org Impress : slide transitions;automatic -OpenOffice.org Impress : slide transitions;manual -OpenOffice.org Impress : slide transitions;sounds -OpenOffice.org Impress : slides -OpenOffice.org Impress : slides;arranging -OpenOffice.org Impress : slides;backgrounds -OpenOffice.org Impress : slides;changing backgrounds -OpenOffice.org Impress : slides;copying between documents -OpenOffice.org Impress : slides;deleting -OpenOffice.org Impress : slides;expanding -OpenOffice.org Impress : slides;formatting -OpenOffice.org Impress : slides;headers and footers -OpenOffice.org Impress : slides;inserting -OpenOffice.org Impress : slides;inserting as links -OpenOffice.org Impress : slides;inserting notes -OpenOffice.org Impress : slides;page numbers -OpenOffice.org Impress : slides;printing -OpenOffice.org Impress : small capitals -OpenOffice.org Impress : small icons -OpenOffice.org Impress : smart tags -OpenOffice.org Impress : smart tags;options -OpenOffice.org Impress : smooth scrolling (Writer) -OpenOffice.org Impress : smoothing filter -OpenOffice.org Impress : snap grid defaults (Writer/Calc) -OpenOffice.org Impress : snap lines, see also guides -OpenOffice.org Impress : snap points -OpenOffice.org Impress : snap points;editing -OpenOffice.org Impress : snap points;inserting -OpenOffice.org Impress : snapping in presentations and drawings -OpenOffice.org Impress : solarization filter -OpenOffice.org Impress : sort lists -OpenOffice.org Impress : sort lists;copying to in Calc -OpenOffice.org Impress : sorting -OpenOffice.org Impress : sorting;data in forms -OpenOffice.org Impress : sorting;databases -OpenOffice.org Impress : sounds -OpenOffice.org Impress : sounds;for effects -OpenOffice.org Impress : sounds;formats -OpenOffice.org Impress : sounds;inserting and playing -OpenOffice.org Impress : sounds;on slide transitions -OpenOffice.org Impress : sounds;UNIX -OpenOffice.org Impress : spaces -OpenOffice.org Impress : spaces;displaying (Writer) -OpenOffice.org Impress : spaces;ignoring double -OpenOffice.org Impress : spaces;inserting protected spaces -OpenOffice.org Impress : spaces;showing protected spaces (Writer) -OpenOffice.org Impress : spacing -OpenOffice.org Impress : spacing;between paragraphs in footnotes -OpenOffice.org Impress : spacing;font effects -OpenOffice.org Impress : spacing;lines and paragraphs -OpenOffice.org Impress : spacing;tab stops in text documents -OpenOffice.org Impress : spacing;tabs in presentations -OpenOffice.org Impress : spadmin -OpenOffice.org Impress : speaker notes -OpenOffice.org Impress : speaker notes;defaults -OpenOffice.org Impress : speaker notes;inserting -OpenOffice.org Impress : special characters -OpenOffice.org Impress : speech bubbles -OpenOffice.org Impress : speed of printing -OpenOffice.org Impress : spellcheck -OpenOffice.org Impress : spellcheck;activating for a language -OpenOffice.org Impress : spellcheck;context menus -OpenOffice.org Impress : spellcheck;default languages -OpenOffice.org Impress : spellcheck;dialog -OpenOffice.org Impress : spellcheck;dictionary of exceptions -OpenOffice.org Impress : spellcheck;ignore list -OpenOffice.org Impress : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Impress : spheres -OpenOffice.org Impress : spin button creation -OpenOffice.org Impress : splitting -OpenOffice.org Impress : splitting;combinations -OpenOffice.org Impress : splitting;curves -OpenOffice.org Impress : spoolfiles with Xprinter -OpenOffice.org Impress : spreadsheets -OpenOffice.org Impress : spreadsheets;as databases (base) -OpenOffice.org Impress : spreadsheets;backgrounds -OpenOffice.org Impress : spreadsheets;copying areas to text documents -OpenOffice.org Impress : spreadsheets;creating/opening -OpenOffice.org Impress : spreadsheets;in presentations -OpenOffice.org Impress : spreadsheets;inserting charts -OpenOffice.org Impress : spreadsheets;inserting database records -OpenOffice.org Impress : spreadsheets;printing -OpenOffice.org Impress : spreadsheets;saving -OpenOffice.org Impress : spreadsheets;saving automatically -OpenOffice.org Impress : spreadsheets;saving in other formats -OpenOffice.org Impress : spreadsheets;sending as e-mail -OpenOffice.org Impress : SQL -OpenOffice.org Impress : SQL;definition -OpenOffice.org Impress : SQL;DISTINCT parameter -OpenOffice.org Impress : SQL;executing SQL commands -OpenOffice.org Impress : SQL;executing SQL statements (Base) -OpenOffice.org Impress : SQL;queries (Base) -OpenOffice.org Impress : square drawings -OpenOffice.org Impress : standard bar on/off -OpenOffice.org Impress : standard deviation in charts -OpenOffice.org Impress : standard filters in databases -OpenOffice.org Impress : standard printer under UNIX -OpenOffice.org Impress : Start Module backing window -OpenOffice.org Impress : start parameters -OpenOffice.org Impress : starting -OpenOffice.org Impress : starting;always with the current slide -OpenOffice.org Impress : starting;custom slide shows -OpenOffice.org Impress : starting;slide shows -OpenOffice.org Impress : statistics in charts -OpenOffice.org Impress : status bar on/off -OpenOffice.org Impress : stickers -OpenOffice.org Impress : stock charts -OpenOffice.org Impress : strikethrough -OpenOffice.org Impress : strikethrough;characters -OpenOffice.org Impress : strikethrough;font effects -OpenOffice.org Impress : styles -OpenOffice.org Impress : styles;'changed' message -OpenOffice.org Impress : styles;arrow and line styles -OpenOffice.org Impress : styles;copying between documents -OpenOffice.org Impress : styles;keyboard shortcuts -OpenOffice.org Impress : styles;organizing -OpenOffice.org Impress : styles;printing styles used in a document -OpenOffice.org Impress : styles;replacing automatically -OpenOffice.org Impress : Styles and Formatting window -OpenOffice.org Impress : Styles and Formatting window;docking -OpenOffice.org Impress : Styles and Formatting window;graphics documents -OpenOffice.org Impress : subforms -OpenOffice.org Impress : subforms;creating -OpenOffice.org Impress : subforms;description -OpenOffice.org Impress : submitting forms -OpenOffice.org Impress : subpoints -OpenOffice.org Impress : subpoints;hiding -OpenOffice.org Impress : subpoints;showing -OpenOffice.org Impress : subtracting polygons -OpenOffice.org Impress : suffixes in file formats -OpenOffice.org Impress : summary slide -OpenOffice.org Impress : support on the Web -OpenOffice.org Impress : synchronizing -OpenOffice.org Impress : synchronizing;labels and business cards -OpenOffice.org Impress : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Impress : system address book registration -OpenOffice.org Impress : tab stops -OpenOffice.org Impress : tab stops;displaying (Writer) -OpenOffice.org Impress : tab stops;inserting and editing -OpenOffice.org Impress : tab stops;setting in sheets -OpenOffice.org Impress : tab stops;settings -OpenOffice.org Impress : tab stops;spacing in presentations -OpenOffice.org Impress : tab stops;spacing in text documents -OpenOffice.org Impress : table controls -OpenOffice.org Impress : table controls;form functions -OpenOffice.org Impress : table controls;keyboard-only edit mode -OpenOffice.org Impress : table controls;properties -OpenOffice.org Impress : table views of databases -OpenOffice.org Impress : Table Wizard (Base) -OpenOffice.org Impress : tables -OpenOffice.org Impress : tables;backgrounds -OpenOffice.org Impress : tables;inserting line breaks -OpenOffice.org Impress : tables in databases -OpenOffice.org Impress : tables in databases;access rights to (Base) -OpenOffice.org Impress : tables in databases;adding to queries -OpenOffice.org Impress : tables in databases;browsing and editing -OpenOffice.org Impress : tables in databases;copying database tables (Base) -OpenOffice.org Impress : tables in databases;creating -OpenOffice.org Impress : tables in databases;creating in design view -OpenOffice.org Impress : tables in databases;importing text formats (Base) -OpenOffice.org Impress : tables in databases;joining for queries (Base) -OpenOffice.org Impress : tables in databases;printing queries (Base) -OpenOffice.org Impress : tables in databases;relations (Base) -OpenOffice.org Impress : tables in databases;searching -OpenOffice.org Impress : tables in spreadsheets -OpenOffice.org Impress : tables in spreadsheets;copying data to other applications -OpenOffice.org Impress : tables in spreadsheets;defining borders -OpenOffice.org Impress : tables in spreadsheets;value highlighting -OpenOffice.org Impress : tables in text -OpenOffice.org Impress : tables in text;captions -OpenOffice.org Impress : tables in text;creating automatically -OpenOffice.org Impress : tables in text;default settings -OpenOffice.org Impress : tables in text;defining borders -OpenOffice.org Impress : tables in text;displaying -OpenOffice.org Impress : tables in text;printing -OpenOffice.org Impress : tables in text;protecting cells -OpenOffice.org Impress : tables of contents -OpenOffice.org Impress : tables of contents;unprotecting -OpenOffice.org Impress : tabs -OpenOffice.org Impress : tabs;displaying sheet tabs -OpenOffice.org Impress : tags -OpenOffice.org Impress : tags;definition -OpenOffice.org Impress : tags;META tags -OpenOffice.org Impress : task pane -OpenOffice.org Impress : templates -OpenOffice.org Impress : templates;agendas -OpenOffice.org Impress : templates;changing basic fonts -OpenOffice.org Impress : templates;database reports -OpenOffice.org Impress : templates;deleting -OpenOffice.org Impress : templates;editing and saving -OpenOffice.org Impress : templates;faxes -OpenOffice.org Impress : templates;importing and exporting -OpenOffice.org Impress : templates;letters -OpenOffice.org Impress : templates;new documents from templates -OpenOffice.org Impress : templates;opening documents with -OpenOffice.org Impress : templates;organizing -OpenOffice.org Impress : terminology -OpenOffice.org Impress : terminology;general glossary -OpenOffice.org Impress : terminology;Internet glossary -OpenOffice.org Impress : testing XML filters -OpenOffice.org Impress : text -OpenOffice.org Impress : text;animating -OpenOffice.org Impress : text;Asian layout -OpenOffice.org Impress : text;backgrounds -OpenOffice.org Impress : text;bold -OpenOffice.org Impress : text;coloring -OpenOffice.org Impress : text;contours -OpenOffice.org Impress : text;converting to curves -OpenOffice.org Impress : text;copying by drag and drop -OpenOffice.org Impress : text;CTL languages -OpenOffice.org Impress : text;double-clicking to edit -OpenOffice.org Impress : text;drawing pictures -OpenOffice.org Impress : text;font effects -OpenOffice.org Impress : text;font sizes -OpenOffice.org Impress : text;font styles -OpenOffice.org Impress : text;fonts and formats -OpenOffice.org Impress : text;Fontwork icons -OpenOffice.org Impress : text;hyperlinks -OpenOffice.org Impress : text;inserting special characters -OpenOffice.org Impress : text;italics -OpenOffice.org Impress : text;kerning -OpenOffice.org Impress : text;language selection -OpenOffice.org Impress : text;line spacing -OpenOffice.org Impress : text;overwriting or inserting -OpenOffice.org Impress : text;placeholders in presentations -OpenOffice.org Impress : text;printing in black -OpenOffice.org Impress : text;replacing with format -OpenOffice.org Impress : text;selection modes -OpenOffice.org Impress : text;shadowed -OpenOffice.org Impress : text;text/draw objects -OpenOffice.org Impress : text;toolbar -OpenOffice.org Impress : text attributes -OpenOffice.org Impress : text attributes;hyperlinks -OpenOffice.org Impress : text attributes;undoing -OpenOffice.org Impress : text boxes -OpenOffice.org Impress : text boxes;form functions -OpenOffice.org Impress : text boxes;positioning -OpenOffice.org Impress : text breaks in cells -OpenOffice.org Impress : text colors for better accessibility -OpenOffice.org Impress : text databases (Base) -OpenOffice.org Impress : text documents -OpenOffice.org Impress : text documents;creating/opening -OpenOffice.org Impress : text documents;importing/exporting -OpenOffice.org Impress : text documents;inserting in slides -OpenOffice.org Impress : text documents;inserting in slides - Importing HTML Pages Into Presentations -OpenOffice.org Impress : text documents;inserting spreadsheet cells -OpenOffice.org Impress : text documents;print settings -OpenOffice.org Impress : text documents;printing -OpenOffice.org Impress : text documents;saving -OpenOffice.org Impress : text documents;saving automatically -OpenOffice.org Impress : text documents;saving in other formats -OpenOffice.org Impress : text documents;sending as e-mail -OpenOffice.org Impress : text effects -OpenOffice.org Impress : text entry mode for draw objects -OpenOffice.org Impress : text flow -OpenOffice.org Impress : text flow;in cells -OpenOffice.org Impress : text formats -OpenOffice.org Impress : text formats;databases -OpenOffice.org Impress : text formats;pasting -OpenOffice.org Impress : text frames -OpenOffice.org Impress : text input fields -OpenOffice.org Impress : text layout for special languages -OpenOffice.org Impress : text objects -OpenOffice.org Impress : text objects;alignment -OpenOffice.org Impress : text objects;draw functions -OpenOffice.org Impress : text objects;fonts -OpenOffice.org Impress : text objects;in presentations and drawings -OpenOffice.org Impress : text overflow in spreadsheet cells -OpenOffice.org Impress : text scaling in charts -OpenOffice.org Impress : text, see also text documents, paragraphs and characters -OpenOffice.org Impress : TextArt, see Fontwork -OpenOffice.org Impress : textures -OpenOffice.org Impress : textures;inserting from Gallery -OpenOffice.org Impress : textures;on chart bars -OpenOffice.org Impress : Thai -OpenOffice.org Impress : Thai;entering text -OpenOffice.org Impress : Thai;language settings -OpenOffice.org Impress : thesaurus -OpenOffice.org Impress : thesaurus;activating for a language -OpenOffice.org Impress : ticker text -OpenOffice.org Impress : tiled printing of slides -OpenOffice.org Impress : time and date on all slides -OpenOffice.org Impress : time fields -OpenOffice.org Impress : time fields;form functions -OpenOffice.org Impress : times -OpenOffice.org Impress : times;fixed -OpenOffice.org Impress : times;inserting when printing presentations -OpenOffice.org Impress : times;variable -OpenOffice.org Impress : times, formats -OpenOffice.org Impress : timings -OpenOffice.org Impress : timings;rehearse timings -OpenOffice.org Impress : tips -OpenOffice.org Impress : tips;extended tips in Help -OpenOffice.org Impress : title rows -OpenOffice.org Impress : title rows;printing in OpenOffice.org Math -OpenOffice.org Impress : titles -OpenOffice.org Impress : titles;alignment (charts) -OpenOffice.org Impress : titles;changing -OpenOffice.org Impress : titles;editing in charts -OpenOffice.org Impress : titles;font effects -OpenOffice.org Impress : titles;formatting automatically -OpenOffice.org Impress : titles;formatting charts -OpenOffice.org Impress : titles;objects -OpenOffice.org Impress : toolbars -OpenOffice.org Impress : toolbars;3D objects -OpenOffice.org Impress : toolbars;adding buttons -OpenOffice.org Impress : toolbars;curves -OpenOffice.org Impress : toolbars;docking/undocking -OpenOffice.org Impress : toolbars;ellipses -OpenOffice.org Impress : toolbars;Form Navigation bar -OpenOffice.org Impress : toolbars;viewing/closing -OpenOffice.org Impress : tools bar -OpenOffice.org Impress : tooltips -OpenOffice.org Impress : tooltips;extended tips -OpenOffice.org Impress : tooltips;help -OpenOffice.org Impress : torus -OpenOffice.org Impress : Track changes feature in Microsoft Office -OpenOffice.org Impress : traditional Chinese -OpenOffice.org Impress : traditional Chinese;translating to simplified chinese -OpenOffice.org Impress : transition effects -OpenOffice.org Impress : transparency -OpenOffice.org Impress : transparency;adjusting -OpenOffice.org Impress : transparency;areas -OpenOffice.org Impress : transparency;of objects -OpenOffice.org Impress : transparency;off for faster printing -OpenOffice.org Impress : transparency;saving -OpenOffice.org Impress : tree view of Help -OpenOffice.org Impress : trend lines in charts -OpenOffice.org Impress : typefaces -OpenOffice.org Impress : typefaces;adding under UNIX -OpenOffice.org Impress : typefaces;formats -OpenOffice.org Impress : typographical quotes in OpenOffice.org Writer -OpenOffice.org Impress : typography -OpenOffice.org Impress : typography;Asian -OpenOffice.org Impress : underlining -OpenOffice.org Impress : underlining;AutoFormat function -OpenOffice.org Impress : underlining;characters -OpenOffice.org Impress : underlining;text -OpenOffice.org Impress : underlying objects -OpenOffice.org Impress : undocking windows -OpenOffice.org Impress : undoing -OpenOffice.org Impress : undoing;direct formatting -OpenOffice.org Impress : undoing;editing -OpenOffice.org Impress : undoing;number of steps -OpenOffice.org Impress : ungrouping groups -OpenOffice.org Impress : units -OpenOffice.org Impress : units;converting -OpenOffice.org Impress : units;measurement units -OpenOffice.org Impress : unlocking layers -OpenOffice.org Impress : UNO components -OpenOffice.org Impress : UNO components;Extension Manager -OpenOffice.org Impress : UNO components;integrating new -OpenOffice.org Impress : update options -OpenOffice.org Impress : updates -OpenOffice.org Impress : updates;checking automatically -OpenOffice.org Impress : updates;checking manually -OpenOffice.org Impress : updating -OpenOffice.org Impress : updating;fields and charts, automatically (Writer) -OpenOffice.org Impress : updating;links in text documents -OpenOffice.org Impress : updating;links, on opening -OpenOffice.org Impress : updating;templates -OpenOffice.org Impress : URL -OpenOffice.org Impress : URL;changing hyperlink URLs -OpenOffice.org Impress : URL;definition -OpenOffice.org Impress : URL;saving absolute/relative paths -OpenOffice.org Impress : URL;turning off URL recognition -OpenOffice.org Impress : user data -OpenOffice.org Impress : user data;input -OpenOffice.org Impress : user data;removing when saving -OpenOffice.org Impress : user-defined colors -OpenOffice.org Impress : user-defined dictionaries -OpenOffice.org Impress : user-defined dictionaries;creating -OpenOffice.org Impress : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Impress : user-defined dictionaries;editing -OpenOffice.org Impress : user-defined styles -OpenOffice.org Impress : user-defined styles;automatically replacing -OpenOffice.org Impress : UTF-8/UCS2 support -OpenOffice.org Impress : Validation feature in Microsoft Office -OpenOffice.org Impress : values -OpenOffice.org Impress : values;rounded as shown (Calc) -OpenOffice.org Impress : variables -OpenOffice.org Impress : variables;for paths -OpenOffice.org Impress : variances in charts -OpenOffice.org Impress : VBA code -OpenOffice.org Impress : VBA code;loading/saving documents with VBA code -OpenOffice.org Impress : vector graphics -OpenOffice.org Impress : vector graphics;converting bitmaps -OpenOffice.org Impress : vectorizing bitmaps -OpenOffice.org Impress : version management -OpenOffice.org Impress : version numbers of documents -OpenOffice.org Impress : versions -OpenOffice.org Impress : versions;comparing documents -OpenOffice.org Impress : versions;file saving as, restriction -OpenOffice.org Impress : versions;merging document versions -OpenOffice.org Impress : versions;of a document -OpenOffice.org Impress : versions;OpenOffice.org -OpenOffice.org Impress : vertical callouts -OpenOffice.org Impress : vertical scrollbars (Writer) -OpenOffice.org Impress : vertical text boxes -OpenOffice.org Impress : videos -OpenOffice.org Impress : viewing -OpenOffice.org Impress : viewing;databases -OpenOffice.org Impress : viewing;file properties -OpenOffice.org Impress : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Impress : viewing;toolbars -OpenOffice.org Impress : views -OpenOffice.org Impress : views;black and white -OpenOffice.org Impress : views;creating database views (Base) -OpenOffice.org Impress : views;defaults -OpenOffice.org Impress : views;display sizes -OpenOffice.org Impress : views;full screen -OpenOffice.org Impress : views;icons -OpenOffice.org Impress : views;in 3D -OpenOffice.org Impress : views;scaling -OpenOffice.org Impress : views;shift function -OpenOffice.org Impress : views;slide master view -OpenOffice.org Impress : Visual Basic for Applications -OpenOffice.org Impress : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Impress : watermarks -OpenOffice.org Impress : web documents -OpenOffice.org Impress : web documents;XForms -OpenOffice.org Impress : Web support -OpenOffice.org Impress : WebCast export -OpenOffice.org Impress : windows -OpenOffice.org Impress : windows;docking -OpenOffice.org Impress : windows;docking definition -OpenOffice.org Impress : windows;hiding/showing/docking -OpenOffice.org Impress : windows;new -OpenOffice.org Impress : wizards -OpenOffice.org Impress : wizards;agendas -OpenOffice.org Impress : wizards;database queries -OpenOffice.org Impress : wizards;database tables (Base) -OpenOffice.org Impress : wizards;databases (Base) -OpenOffice.org Impress : wizards;document converter -OpenOffice.org Impress : wizards;Euro Converter -OpenOffice.org Impress : wizards;faxes -OpenOffice.org Impress : wizards;forms -OpenOffice.org Impress : wizards;letters -OpenOffice.org Impress : wizards;overview -OpenOffice.org Impress : wizards;presentations -OpenOffice.org Impress : wizards;reports -OpenOffice.org Impress : Word documents -OpenOffice.org Impress : Word documents;compatibility -OpenOffice.org Impress : Word documents;saving as -OpenOffice.org Impress : WordArt, see Fontwork -OpenOffice.org Impress : words -OpenOffice.org Impress : words;automatically replacing -OpenOffice.org Impress : words;wrapping in cells -OpenOffice.org Impress : work directory change -OpenOffice.org Impress : Workbook feature in Microsoft Office -OpenOffice.org Impress : Worksheet feature in Microsoft Office -OpenOffice.org Impress : wrapping text -OpenOffice.org Impress : wrapping text;in cells -OpenOffice.org Impress : write protection on/off -OpenOffice.org Impress : writing aids options -OpenOffice.org Impress : WYSIWYG in fonts lists -OpenOffice.org Impress : X axes -OpenOffice.org Impress : X axes;grid formatting -OpenOffice.org Impress : X axes;scaling -OpenOffice.org Impress : X axes;showing -OpenOffice.org Impress : XForms -OpenOffice.org Impress : XML converters -OpenOffice.org Impress : XML file formats -OpenOffice.org Impress : XML filters -OpenOffice.org Impress : XML filters;creating/testing/distributing/deleting -OpenOffice.org Impress : XML filters;settings -OpenOffice.org Impress : XML Forms -OpenOffice.org Impress : XSLT based filters -OpenOffice.org Impress : XSLT based filters;settings -OpenOffice.org Impress : XSLT filters, see also XML filters -OpenOffice.org Impress : XY charts -OpenOffice.org Impress : Y axes -OpenOffice.org Impress : Y axes;formatting -OpenOffice.org Impress : Y axes;grid formatting -OpenOffice.org Impress : Y axes;scaling -OpenOffice.org Impress : Y axes;showing -OpenOffice.org Impress : years -OpenOffice.org Impress : years;2-digit options -OpenOffice.org Impress : Z axes -OpenOffice.org Impress : Z axes;grid formatting -OpenOffice.org Impress : Z axes;showing -OpenOffice.org Impress : zero values -OpenOffice.org Impress : zero values;displaying (Calc) -OpenOffice.org Impress : zooming -OpenOffice.org Impress : zooming;in presentations -OpenOffice.org Impress : zooming;keyboard -OpenOffice.org Impress : zooming;page views -OpenOffice.org Impress : zooming;pictures -OpenOffice.org Impress : zooming;shortcut keys -OpenOffice.org Impress : zooming;status bar -OpenOffice.org Math : 1/2 replacement -OpenOffice.org Math : 3D text creation -OpenOffice.org Math : 3D view -OpenOffice.org Math : abbreviation replacement -OpenOffice.org Math : absolute hyperlinks -OpenOffice.org Math : absolute saving of URLs -OpenOffice.org Math : absolute values -OpenOffice.org Math : accents -OpenOffice.org Math : accents -OpenOffice.org Math : accents;in OpenOffice.org Math -OpenOffice.org Math : Access databases (base) -OpenOffice.org Math : access rights for database tables (Base) -OpenOffice.org Math : accessibility -OpenOffice.org Math : accessibility;general shortcuts -OpenOffice.org Math : accessibility;OpenOffice.org assistive technology -OpenOffice.org Math : accessibility;OpenOffice.org features -OpenOffice.org Math : accessibility;OpenOffice.org Math shortcuts -OpenOffice.org Math : accessibility;options -OpenOffice.org Math : activating -OpenOffice.org Math : activating;context menus -OpenOffice.org Math : activating;Error Report Tool -OpenOffice.org Math : activating;extended help tips -OpenOffice.org Math : activating;plug-ins -OpenOffice.org Math : ActiveX control -OpenOffice.org Math : Adabas D databases (base) -OpenOffice.org Math : add-ons, see UNO components -OpenOffice.org Math : adding -OpenOffice.org Math : adding;automatic captions (Writer) -OpenOffice.org Math : adding;backgrounds -OpenOffice.org Math : adding;buttons in toolbars -OpenOffice.org Math : adding;conditions for XForm items -OpenOffice.org Math : adding;draw objects -OpenOffice.org Math : adding;Fontwork objects -OpenOffice.org Math : adding;items in Data Navigator -OpenOffice.org Math : adding;namespaces in XForms -OpenOffice.org Math : adding;paragraph borders -OpenOffice.org Math : adding;pictures from Gallery -OpenOffice.org Math : adding;pictures in Gallery -OpenOffice.org Math : adding;plug-ins -OpenOffice.org Math : adding;push buttons -OpenOffice.org Math : adding;table borders -OpenOffice.org Math : adding;textures on chart bars -OpenOffice.org Math : addition signs -OpenOffice.org Math : additional selection mode -OpenOffice.org Math : address books -OpenOffice.org Math : address books;LDAP server (Base) -OpenOffice.org Math : address books;registering -OpenOffice.org Math : address labels from databases -OpenOffice.org Math : ADO databases (Base) -OpenOffice.org Math : Agenda Wizard -OpenOffice.org Math : aging filter -OpenOffice.org Math : aligning -OpenOffice.org Math : aligning;cells -OpenOffice.org Math : aligning;characters in OpenOffice.org Math -OpenOffice.org Math : aligning;multi-line formulas -OpenOffice.org Math : aligning;objects -OpenOffice.org Math : aligning;paragraphs -OpenOffice.org Math : aligning;tables in text -OpenOffice.org Math : aligning;text objects -OpenOffice.org Math : aligning formulas -OpenOffice.org Math : alignment -OpenOffice.org Math : alignment;horizontally centered (Math) -OpenOffice.org Math : alignment;left (Math) -OpenOffice.org Math : alignment;right (Math) -OpenOffice.org Math : alternative fonts -OpenOffice.org Math : ampersand symbol, see also operators -OpenOffice.org Math : anchors -OpenOffice.org Math : anchors;changing -OpenOffice.org Math : anchors;displaying (Calc) -OpenOffice.org Math : anchors;types/positions for draw objects -OpenOffice.org Math : AND operator -OpenOffice.org Math : animations -OpenOffice.org Math : animations;accessibility options -OpenOffice.org Math : appearance options -OpenOffice.org Math : applet insertion -OpenOffice.org Math : applying -OpenOffice.org Math : applying;languages, to selected text -OpenOffice.org Math : approximately equal to relation -OpenOffice.org Math : Arabic -OpenOffice.org Math : Arabic;entering text -OpenOffice.org Math : Arabic;language settings -OpenOffice.org Math : arc cosine function -OpenOffice.org Math : arc cotangent function -OpenOffice.org Math : arc sine function -OpenOffice.org Math : area hyperbolic cosine function -OpenOffice.org Math : area hyperbolic cotangent function -OpenOffice.org Math : area hyperbolic tangent function -OpenOffice.org Math : areas -OpenOffice.org Math : areas;bitmap patterns -OpenOffice.org Math : areas;hatched/dotted -OpenOffice.org Math : areas;shadows -OpenOffice.org Math : areas;slanting -OpenOffice.org Math : areas;styles -OpenOffice.org Math : areas;transparency -OpenOffice.org Math : arguments in command line -OpenOffice.org Math : arranging -OpenOffice.org Math : arranging;matrices -OpenOffice.org Math : arranging;objects -OpenOffice.org Math : arrows -OpenOffice.org Math : arrows;defining arrow heads -OpenOffice.org Math : arrows;defining arrow lines -OpenOffice.org Math : arrows;drawing in text -OpenOffice.org Math : arrows;symbols in OpenOffice.org Math -OpenOffice.org Math : ASCII -OpenOffice.org Math : ASCII;definition -OpenOffice.org Math : Asian languages -OpenOffice.org Math : Asian languages;enabling -OpenOffice.org Math : Asian Phonetic Guide -OpenOffice.org Math : Asian typography -OpenOffice.org Math : assigning scripts -OpenOffice.org Math : assistive technology in OpenOffice.org -OpenOffice.org Math : attaching toolbars -OpenOffice.org Math : attachments in e-mails -OpenOffice.org Math : attributes -OpenOffice.org Math : attributes;accents -OpenOffice.org Math : attributes;additional information -OpenOffice.org Math : attributes;changing defaults -OpenOffice.org Math : attributes;changing fonts -OpenOffice.org Math : attributes;changing in OpenOffice.org Math -OpenOffice.org Math : attributes;colored characters -OpenOffice.org Math : attributes;in OpenOffice.org Math -OpenOffice.org Math : attributes;list of -OpenOffice.org Math : audio -OpenOffice.org Math : audio;inserting -OpenOffice.org Math : audio;UNIX -OpenOffice.org Math : auto reloading HTML documents -OpenOffice.org Math : AutoAbstract function for sending text to presentations -OpenOffice.org Math : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Math : AutoComplete function in text and list boxes -OpenOffice.org Math : AutoCorrect function -OpenOffice.org Math : AutoCorrect function;context menu -OpenOffice.org Math : AutoCorrect function;options -OpenOffice.org Math : AutoCorrect function;pictures and frames -OpenOffice.org Math : AutoCorrect function;quotes -OpenOffice.org Math : AutoCorrect function;replacement table -OpenOffice.org Math : AutoCorrect function;smart tags -OpenOffice.org Math : AutoCorrect function;switching on and off in Calc -OpenOffice.org Math : AutoCorrect function;URL recognition -OpenOffice.org Math : AutoFormat function -OpenOffice.org Math : AutoFormat function;switching on and off -OpenOffice.org Math : automatic captions (Writer) -OpenOffice.org Math : automatic control focus -OpenOffice.org Math : automatic hyperlink formatting -OpenOffice.org Math : automatic line breaks -OpenOffice.org Math : automatic lines/borders in text -OpenOffice.org Math : automatic saving -OpenOffice.org Math : AutoPilots, see wizards -OpenOffice.org Math : AutoShapes feature in Microsoft Office -OpenOffice.org Math : axes in charts -OpenOffice.org Math : axis-ellipsis -OpenOffice.org Math : back epsilon symbol -OpenOffice.org Math : backgrounds -OpenOffice.org Math : backgrounds;defining colors/pictures -OpenOffice.org Math : backgrounds;frames/sections/indexes -OpenOffice.org Math : backgrounds;inserting from Gallery -OpenOffice.org Math : backgrounds;printing -OpenOffice.org Math : backing window -OpenOffice.org Math : backslash division sign -OpenOffice.org Math : backups -OpenOffice.org Math : backups;automatic -OpenOffice.org Math : backups;documents -OpenOffice.org Math : Basic -OpenOffice.org Math : Basic;fonts for source display -OpenOffice.org Math : Basic;programming -OpenOffice.org Math : Basic;recording macros -OpenOffice.org Math : Basic;scripting -OpenOffice.org Math : basic fonts -OpenOffice.org Math : BeanShell scripting -OpenOffice.org Math : Bézier curves -OpenOffice.org Math : Bézier curves;control points in presentations -OpenOffice.org Math : bi-directional writing -OpenOffice.org Math : binary operators -OpenOffice.org Math : binary operators -OpenOffice.org Math : binary operators;list of -OpenOffice.org Math : binding space -OpenOffice.org Math : binomials -OpenOffice.org Math : bitmaps -OpenOffice.org Math : bitmaps;inserting and editing -OpenOffice.org Math : bitmaps;off for faster printing -OpenOffice.org Math : bitmaps;patterns -OpenOffice.org Math : black and white printing -OpenOffice.org Math : black printing in Calc -OpenOffice.org Math : block selection mode -OpenOffice.org Math : bold -OpenOffice.org Math : bold;AutoFormat function -OpenOffice.org Math : bold;text -OpenOffice.org Math : bold attribute -OpenOffice.org Math : bookmarks -OpenOffice.org Math : bookmarks;Help -OpenOffice.org Math : Boolean operators -OpenOffice.org Math : borders -OpenOffice.org Math : borders;arranging -OpenOffice.org Math : borders;cells on screen (Calc) -OpenOffice.org Math : borders;for paragraphs -OpenOffice.org Math : borders;for tables -OpenOffice.org Math : borders;shadows -OpenOffice.org Math : borders;table boundaries (Writer) -OpenOffice.org Math : borders, see also frames -OpenOffice.org Math : bound fields -OpenOffice.org Math : bound fields;controls -OpenOffice.org Math : boundaries of tables (Writer) -OpenOffice.org Math : braces in OpenOffice.org Math -OpenOffice.org Math : brackets -OpenOffice.org Math : brackets;angle (Math) -OpenOffice.org Math : brackets;angle with operator -OpenOffice.org Math : brackets;double square (Math) -OpenOffice.org Math : brackets;group -OpenOffice.org Math : brackets;in OpenOffice.org Math -OpenOffice.org Math : brackets;inserting in OpenOffice.org Math -OpenOffice.org Math : brackets;merging formula parts -OpenOffice.org Math : brackets;operator (Math) -OpenOffice.org Math : brackets;reference list -OpenOffice.org Math : brackets;round (Math) -OpenOffice.org Math : brackets;scalable -OpenOffice.org Math : brackets;single, without group function -OpenOffice.org Math : brackets;square (Math) -OpenOffice.org Math : brackets;widowed -OpenOffice.org Math : brackets and grouping in OpenOffice.org Math -OpenOffice.org Math : break display (Writer) -OpenOffice.org Math : brochures -OpenOffice.org Math : brochures;printing several -OpenOffice.org Math : build numbers of OpenOffice.org -OpenOffice.org Math : bullet lists -OpenOffice.org Math : bullet lists;formatting options -OpenOffice.org Math : bullets -OpenOffice.org Math : bullets;paragraphs -OpenOffice.org Math : bullets;replacing -OpenOffice.org Math : bullets;turning off -OpenOffice.org Math : business cards -OpenOffice.org Math : business cards;creating and synchronizing -OpenOffice.org Math : business cards;using templates -OpenOffice.org Math : button bars, see toolbars -OpenOffice.org Math : buttons -OpenOffice.org Math : buttons;adding push buttons -OpenOffice.org Math : buttons;big/small -OpenOffice.org Math : buttons;editing hyperlink buttons -OpenOffice.org Math : buttons;form functions -OpenOffice.org Math : buttons;toolbars -OpenOffice.org Math : cache for graphics -OpenOffice.org Math : calculating -OpenOffice.org Math : calculating;iterative references (Calc) -OpenOffice.org Math : callouts -OpenOffice.org Math : callouts;drawings -OpenOffice.org Math : capital letters -OpenOffice.org Math : capital letters;AutoCorrect function -OpenOffice.org Math : capital letters;font effects -OpenOffice.org Math : captions -OpenOffice.org Math : captions;automatic captions (Writer) -OpenOffice.org Math : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Math : captions, see also labels/callouts -OpenOffice.org Math : cardinal numbers -OpenOffice.org Math : cascading update (Base) -OpenOffice.org Math : case sensitivity -OpenOffice.org Math : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Math : case sensitivity;searching -OpenOffice.org Math : catalog for mathematical symbols -OpenOffice.org Math : ceiling brackets -OpenOffice.org Math : ceiling brackets;lines with -OpenOffice.org Math : ceiling brackets;scalable lines with -OpenOffice.org Math : cells -OpenOffice.org Math : cells;aligning -OpenOffice.org Math : cells;backgrounds -OpenOffice.org Math : cells;coloring (Calc) -OpenOffice.org Math : cells;cursor positions after input (Calc) -OpenOffice.org Math : cells;formatting without effect (Calc) -OpenOffice.org Math : cells;line breaks -OpenOffice.org Math : cells;linked to controls -OpenOffice.org Math : cells;number formats -OpenOffice.org Math : cells;number of -OpenOffice.org Math : cells;pasting -OpenOffice.org Math : cells;resetting formats -OpenOffice.org Math : cells;showing grid lines (Calc) -OpenOffice.org Math : center dots symbol -OpenOffice.org Math : centered horizontally -OpenOffice.org Math : centered horizontally;alignment (Math) -OpenOffice.org Math : centered text -OpenOffice.org Math : centimeters -OpenOffice.org Math : certificates -OpenOffice.org Math : Change Case feature in Microsoft Office -OpenOffice.org Math : changes -OpenOffice.org Math : changes;accepting automatically -OpenOffice.org Math : changes;accepting or rejecting -OpenOffice.org Math : changes;comparing to original -OpenOffice.org Math : changes;protecting -OpenOffice.org Math : changes;recording -OpenOffice.org Math : changes;review function -OpenOffice.org Math : changes;showing -OpenOffice.org Math : changing -OpenOffice.org Math : changing;data binding of XForms -OpenOffice.org Math : changing;default formatting -OpenOffice.org Math : changing;default templates -OpenOffice.org Math : changing;document titles -OpenOffice.org Math : changing;file associations in Setup program -OpenOffice.org Math : changing;fonts -OpenOffice.org Math : changing;hyperlink text/formats/URLs -OpenOffice.org Math : changing;icon sizes -OpenOffice.org Math : changing;keyboard -OpenOffice.org Math : changing;links -OpenOffice.org Math : changing;menus -OpenOffice.org Math : changing;object sizes -OpenOffice.org Math : changing;toolbars -OpenOffice.org Math : changing;work directory -OpenOffice.org Math : changing, see also editing and replacing -OpenOffice.org Math : character styles -OpenOffice.org Math : character styles;language selection -OpenOffice.org Math : characters -OpenOffice.org Math : characters;alternative fonts -OpenOffice.org Math : characters;Asian layout -OpenOffice.org Math : characters;bold -OpenOffice.org Math : characters;coloring -OpenOffice.org Math : characters;contours -OpenOffice.org Math : characters;displaying only on screen (Writer) -OpenOffice.org Math : characters;enabling CTL and Asian characters -OpenOffice.org Math : characters;font effects -OpenOffice.org Math : characters;fonts and formats -OpenOffice.org Math : characters;hyperlinks -OpenOffice.org Math : characters;italics -OpenOffice.org Math : characters;language selection -OpenOffice.org Math : characters;shadowed -OpenOffice.org Math : characters;spacing -OpenOffice.org Math : characters;special -OpenOffice.org Math : characters;underlining -OpenOffice.org Math : charcoal sketches filter -OpenOffice.org Math : charts -OpenOffice.org Math : charts;arranging within stacks -OpenOffice.org Math : charts;bars with textures -OpenOffice.org Math : charts;colors -OpenOffice.org Math : charts;copying with link to source cell range -OpenOffice.org Math : charts;displaying (Calc) -OpenOffice.org Math : charts;editing axes -OpenOffice.org Math : charts;editing data -OpenOffice.org Math : charts;editing legends -OpenOffice.org Math : charts;editing titles -OpenOffice.org Math : charts;inserting -OpenOffice.org Math : charts;updating automatically (Writer) -OpenOffice.org Math : check box creation -OpenOffice.org Math : Chinese writing systems -OpenOffice.org Math : choosing printers -OpenOffice.org Math : circle attribute -OpenOffice.org Math : circle drawings -OpenOffice.org Math : circumflex attribute -OpenOffice.org Math : Client Side ImageMap -OpenOffice.org Math : clipboard -OpenOffice.org Math : clipboard;cutting -OpenOffice.org Math : clipboard;pasting -OpenOffice.org Math : clipboard;pasting formatted/unformatted text -OpenOffice.org Math : clipboard;selection clipboard -OpenOffice.org Math : clipboard;Unix -OpenOffice.org Math : closing -OpenOffice.org Math : closing;documents -OpenOffice.org Math : closing;toolbars -OpenOffice.org Math : color bar -OpenOffice.org Math : colored characters -OpenOffice.org Math : colors -OpenOffice.org Math : colors;adding -OpenOffice.org Math : colors;appearance -OpenOffice.org Math : colors;backgrounds -OpenOffice.org Math : colors;charts -OpenOffice.org Math : colors;fill format -OpenOffice.org Math : colors;fonts -OpenOffice.org Math : colors;grid lines and cells (Calc) -OpenOffice.org Math : colors;models -OpenOffice.org Math : colors;not printing -OpenOffice.org Math : colors;printing in grayscale -OpenOffice.org Math : colors;restriction (Calc) -OpenOffice.org Math : colors;selection -OpenOffice.org Math : column headers -OpenOffice.org Math : column headers;displaying (Calc) -OpenOffice.org Math : column headers;highlighting (Calc) -OpenOffice.org Math : columns -OpenOffice.org Math : columns;setting with the mouse -OpenOffice.org Math : combo box creation -OpenOffice.org Math : command button creation -OpenOffice.org Math : command buttons, see push buttons -OpenOffice.org Math : command line parameters -OpenOffice.org Math : commands -OpenOffice.org Math : commands;not visible -OpenOffice.org Math : commands;SQL -OpenOffice.org Math : comments -OpenOffice.org Math : comments;entering in OpenOffice.org Math -OpenOffice.org Math : comments;on changes -OpenOffice.org Math : comments feature in Microsoft Office -OpenOffice.org Math : common terms -OpenOffice.org Math : common terms;Chinese dictionary -OpenOffice.org Math : common terms;glossaries -OpenOffice.org Math : common terms;Internet glossary -OpenOffice.org Math : Compare and Merge feature in Microsoft Office -OpenOffice.org Math : comparisons -OpenOffice.org Math : comparisons;document versions -OpenOffice.org Math : comparisons;operators in default filter dialog -OpenOffice.org Math : compatibility settings for MS Word import -OpenOffice.org Math : complete screen view -OpenOffice.org Math : complex numbers -OpenOffice.org Math : complex numbers;set -OpenOffice.org Math : complex numbers;symbols -OpenOffice.org Math : complex text layout -OpenOffice.org Math : complex text layout;definition -OpenOffice.org Math : complex text layout;enabling -OpenOffice.org Math : compose key to insert special characters -OpenOffice.org Math : concatenating math symbols -OpenOffice.org Math : concatenation, see ampersand symbol -OpenOffice.org Math : conditional separators -OpenOffice.org Math : conditions -OpenOffice.org Math : conditions;in number formats -OpenOffice.org Math : conditions;items in Data Navigator -OpenOffice.org Math : Configuration Manager -OpenOffice.org Math : configuring -OpenOffice.org Math : configuring;fax icon -OpenOffice.org Math : configuring;OpenOffice.org -OpenOffice.org Math : configuring;toolbars -OpenOffice.org Math : congruent relation -OpenOffice.org Math : connections to data sources (Base) -OpenOffice.org Math : considerably greater than relation -OpenOffice.org Math : considerably less than relation -OpenOffice.org Math : contents protection -OpenOffice.org Math : context menus -OpenOffice.org Math : contours of text -OpenOffice.org Math : control point display in presentations -OpenOffice.org Math : controls -OpenOffice.org Math : controls;activating in forms -OpenOffice.org Math : controls;adding to documents -OpenOffice.org Math : controls;arranging in forms -OpenOffice.org Math : controls;arranging within stacks -OpenOffice.org Math : controls;assigning data sources -OpenOffice.org Math : controls;bound fields/list contents/linked cells -OpenOffice.org Math : controls;events -OpenOffice.org Math : controls;focus -OpenOffice.org Math : controls;formatted fields -OpenOffice.org Math : controls;grouping -OpenOffice.org Math : controls;hidden -OpenOffice.org Math : controls;inserting -OpenOffice.org Math : controls;multi-line titles -OpenOffice.org Math : controls;positions and sizes -OpenOffice.org Math : controls;printing -OpenOffice.org Math : controls;properties of form controls -OpenOffice.org Math : controls;properties of table controls -OpenOffice.org Math : controls;reference by SQL -OpenOffice.org Math : controls;rich text control -OpenOffice.org Math : controls;select mode -OpenOffice.org Math : controls;showing (Writer) -OpenOffice.org Math : converters -OpenOffice.org Math : converters;Euro converter -OpenOffice.org Math : converters;PostScript, UNIX -OpenOffice.org Math : converters;XML -OpenOffice.org Math : converting -OpenOffice.org Math : converting;Hangul/Hanja -OpenOffice.org Math : converting;metrics -OpenOffice.org Math : converting;Microsoft documents -OpenOffice.org Math : converting;OpenOffice.org documents -OpenOffice.org Math : converting;Pocket PC formats -OpenOffice.org Math : copies -OpenOffice.org Math : copies;printing -OpenOffice.org Math : coproduct -OpenOffice.org Math : copying -OpenOffice.org Math : copying;by drag and drop -OpenOffice.org Math : copying;data from text documents -OpenOffice.org Math : copying;datasource records in spreadsheets -OpenOffice.org Math : copying;draw objects -OpenOffice.org Math : copying;draw objects between documents -OpenOffice.org Math : copying;formatting -OpenOffice.org Math : copying;from data source view -OpenOffice.org Math : copying;from Gallery -OpenOffice.org Math : copying;in Unix -OpenOffice.org Math : copying;pictures, between documents -OpenOffice.org Math : copying;sheet areas, to text documents -OpenOffice.org Math : copying;to Gallery -OpenOffice.org Math : copyright for OpenOffice.org -OpenOffice.org Math : corner roundings -OpenOffice.org Math : correspondence -OpenOffice.org Math : correspondence;original by -OpenOffice.org Math : correspondence;picture by -OpenOffice.org Math : cosine function -OpenOffice.org Math : cotangent function -OpenOffice.org Math : crash reports -OpenOffice.org Math : criteria of query design (Base) -OpenOffice.org Math : cropping pictures -OpenOffice.org Math : CTL -OpenOffice.org Math : CTL;complex text layout languages -OpenOffice.org Math : CTL;definition -OpenOffice.org Math : CTL;options -OpenOffice.org Math : currencies -OpenOffice.org Math : currencies;converters -OpenOffice.org Math : currencies;formats and format codes -OpenOffice.org Math : currency field creation -OpenOffice.org Math : currency formats -OpenOffice.org Math : cursor -OpenOffice.org Math : cursor;allowing in protected areas (Writer) -OpenOffice.org Math : cursor;in OpenOffice.org Math -OpenOffice.org Math : cursor;in read-only text -OpenOffice.org Math : cursor;quickly moving to an object -OpenOffice.org Math : curve integrals -OpenOffice.org Math : curves -OpenOffice.org Math : curves;editing points -OpenOffice.org Math : custom dictionaries -OpenOffice.org Math : custom dictionaries;editing -OpenOffice.org Math : custom hyphens (Writer) -OpenOffice.org Math : custom quotes -OpenOffice.org Math : custom templates -OpenOffice.org Math : customizing -OpenOffice.org Math : customizing;events -OpenOffice.org Math : customizing;keyboard -OpenOffice.org Math : customizing;menus -OpenOffice.org Math : customizing;OpenOffice.org -OpenOffice.org Math : customizing;round corners -OpenOffice.org Math : customizing;toolbars -OpenOffice.org Math : cutting -OpenOffice.org Math : dashes -OpenOffice.org Math : data -OpenOffice.org Math : data;filtering in forms -OpenOffice.org Math : data;forms and subforms -OpenOffice.org Math : data;read-only -OpenOffice.org Math : data;sorting in forms -OpenOffice.org Math : data;user data -OpenOffice.org Math : data binding change in XForms -OpenOffice.org Math : Data Navigator display options -OpenOffice.org Math : data source browser -OpenOffice.org Math : data source explorer -OpenOffice.org Math : data source view -OpenOffice.org Math : data source view;drag and drop -OpenOffice.org Math : data source view;overview -OpenOffice.org Math : data source view;showing -OpenOffice.org Math : data sources -OpenOffice.org Math : data sources;as tables -OpenOffice.org Math : data sources;connection settings (Base) -OpenOffice.org Math : data sources;copying records to spreadsheets -OpenOffice.org Math : data sources;displaying current -OpenOffice.org Math : data sources;LDAP server (Base) -OpenOffice.org Math : data sources;OpenOffice.org Base -OpenOffice.org Math : data sources;registering address books -OpenOffice.org Math : data sources;reports -OpenOffice.org Math : data sources;viewing -OpenOffice.org Math : data structure of XForms -OpenOffice.org Math : database contents -OpenOffice.org Math : database contents;inserting as tables -OpenOffice.org Math : database contents;inserting as text -OpenOffice.org Math : database reports -OpenOffice.org Math : Database Wizard (Base) -OpenOffice.org Math : databases -OpenOffice.org Math : databases;administration through SQL (Base) -OpenOffice.org Math : databases;ADO (Base) -OpenOffice.org Math : databases;connecting (Base) -OpenOffice.org Math : databases;creating -OpenOffice.org Math : databases;creating labels -OpenOffice.org Math : databases;creating queries -OpenOffice.org Math : databases;creating reports -OpenOffice.org Math : databases;creating tables -OpenOffice.org Math : databases;dBASE (Base) -OpenOffice.org Math : databases;deleting (Base) -OpenOffice.org Math : databases;drag and drop (Base) -OpenOffice.org Math : databases;editing tables -OpenOffice.org Math : databases;form filters -OpenOffice.org Math : databases;formats (Base) -OpenOffice.org Math : databases;importing/exporting -OpenOffice.org Math : databases;JDBC (Base) -OpenOffice.org Math : databases;main page (Base) -OpenOffice.org Math : databases;MySQL (Base) -OpenOffice.org Math : databases;ODBC (Base) -OpenOffice.org Math : databases;overview -OpenOffice.org Math : databases;registering (Base) -OpenOffice.org Math : databases;searching records -OpenOffice.org Math : databases;shortcut keys -OpenOffice.org Math : databases;sorting -OpenOffice.org Math : databases;standard filters -OpenOffice.org Math : databases;text formats -OpenOffice.org Math : databases;viewing -OpenOffice.org Math : date fields -OpenOffice.org Math : date fields;creating -OpenOffice.org Math : date fields;properties -OpenOffice.org Math : date formats -OpenOffice.org Math : dates -OpenOffice.org Math : dates;default (Calc) -OpenOffice.org Math : dates;printing in presentations -OpenOffice.org Math : dates;start 1900/01/01 (Calc) -OpenOffice.org Math : dates;start 1904/01/01 (Calc) -OpenOffice.org Math : dBASE -OpenOffice.org Math : dBASE;database settings (Base) -OpenOffice.org Math : DDE -OpenOffice.org Math : DDE;definition -OpenOffice.org Math : deactivating -OpenOffice.org Math : deactivating;plug-ins -OpenOffice.org Math : decimal places displayed (Calc) -OpenOffice.org Math : decimal separator key -OpenOffice.org Math : decimal tab stops -OpenOffice.org Math : default directories -OpenOffice.org Math : default file formats -OpenOffice.org Math : default filters -OpenOffice.org Math : default filters;comparison operators -OpenOffice.org Math : default filters;databases -OpenOffice.org Math : default printer -OpenOffice.org Math : default printer;setting up -OpenOffice.org Math : default printer;UNIX -OpenOffice.org Math : default templates -OpenOffice.org Math : default templates;changing -OpenOffice.org Math : default templates;organizing -OpenOffice.org Math : defaults -OpenOffice.org Math : defaults;changing default formatting -OpenOffice.org Math : defaults;documents -OpenOffice.org Math : defaults;file formats -OpenOffice.org Math : defaults;fonts -OpenOffice.org Math : defaults;grids (Writer/Calc) -OpenOffice.org Math : defaults;languages -OpenOffice.org Math : defaults;number formats -OpenOffice.org Math : defaults;of saving -OpenOffice.org Math : defaults;program configuration -OpenOffice.org Math : defaults;tab stops in text -OpenOffice.org Math : defaults;views -OpenOffice.org Math : defined as relation -OpenOffice.org Math : defining -OpenOffice.org Math : defining;arrowheads and other line ends -OpenOffice.org Math : defining;colors -OpenOffice.org Math : defining;formula fonts -OpenOffice.org Math : defining;line styles -OpenOffice.org Math : defining;paragraph borders -OpenOffice.org Math : defining;queries (Base) -OpenOffice.org Math : defining;table borders -OpenOffice.org Math : deleting -OpenOffice.org Math : deleting;all direct formatting -OpenOffice.org Math : deleting;databases (Base) -OpenOffice.org Math : deleting;hyperlinks -OpenOffice.org Math : deleting;lines in text -OpenOffice.org Math : deleting;models/instances -OpenOffice.org Math : deleting;namespaces in XForms -OpenOffice.org Math : deleting;tab stops -OpenOffice.org Math : deleting;templates -OpenOffice.org Math : deleting;XML filters -OpenOffice.org Math : depth stagger -OpenOffice.org Math : descriptions for objects -OpenOffice.org Math : design mode after saving -OpenOffice.org Math : design view -OpenOffice.org Math : design view;creating forms -OpenOffice.org Math : design view;queries/views (Base) -OpenOffice.org Math : designing -OpenOffice.org Math : designing;database tables -OpenOffice.org Math : designing;fonts -OpenOffice.org Math : designing;queries (Base) -OpenOffice.org Math : detaching toolbars -OpenOffice.org Math : diagonal downward dots -OpenOffice.org Math : diagonal downward dots;symbol -OpenOffice.org Math : diagonal upward dots -OpenOffice.org Math : diagonal upward dots;symbol -OpenOffice.org Math : dictionaries -OpenOffice.org Math : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Math : dictionaries;creating -OpenOffice.org Math : dictionaries;editing user-defined -OpenOffice.org Math : dictionaries;spellcheck -OpenOffice.org Math : dictionaries, see also languages -OpenOffice.org Math : difference set operator -OpenOffice.org Math : digital signatures -OpenOffice.org Math : direct formatting -OpenOffice.org Math : direct formatting;undoing all -OpenOffice.org Math : direct text -OpenOffice.org Math : direct text;entering in OpenOffice.org Math -OpenOffice.org Math : directories -OpenOffice.org Math : directories;creating new -OpenOffice.org Math : directories;directory structure -OpenOffice.org Math : disabled persons -OpenOffice.org Math : displaying -OpenOffice.org Math : displaying;non-printing characters (Writer) -OpenOffice.org Math : displaying;notes (Calc) -OpenOffice.org Math : displaying;notes in text documents -OpenOffice.org Math : displaying;pictures and objects (Writer) -OpenOffice.org Math : displaying;tables (Writer) -OpenOffice.org Math : displaying;zero values (Calc) -OpenOffice.org Math : distances -OpenOffice.org Math : distances between brackets -OpenOffice.org Math : distinct values in SQL queries -OpenOffice.org Math : distorting in drawings -OpenOffice.org Math : distributing XML filters -OpenOffice.org Math : dithering -OpenOffice.org Math : divides relation -OpenOffice.org Math : division signs -OpenOffice.org Math : docking -OpenOffice.org Math : docking;definition -OpenOffice.org Math : docking;toolbars -OpenOffice.org Math : docking;windows -OpenOffice.org Math : Document Converter Wizard -OpenOffice.org Math : Document Map feature in Microsoft Office -OpenOffice.org Math : Document Map, see Navigator -OpenOffice.org Math : document types in OpenOffice.org -OpenOffice.org Math : documents -OpenOffice.org Math : documents;changing titles -OpenOffice.org Math : documents;closing -OpenOffice.org Math : documents;comparing -OpenOffice.org Math : documents;contents as lists -OpenOffice.org Math : documents;editing time -OpenOffice.org Math : documents;exporting -OpenOffice.org Math : documents;importing -OpenOffice.org Math : documents;languages -OpenOffice.org Math : documents;measurement units in -OpenOffice.org Math : documents;merging -OpenOffice.org Math : documents;number of pages/tables/sheets -OpenOffice.org Math : documents;opening -OpenOffice.org Math : documents;opening in design mode -OpenOffice.org Math : documents;opening with templates -OpenOffice.org Math : documents;organizing -OpenOffice.org Math : documents;printing -OpenOffice.org Math : documents;read-only -OpenOffice.org Math : documents;reloading -OpenOffice.org Math : documents;saving -OpenOffice.org Math : documents;saving automatically -OpenOffice.org Math : documents;saving in other formats -OpenOffice.org Math : documents;sending as e-mail -OpenOffice.org Math : documents;styles changed -OpenOffice.org Math : documents;version management -OpenOffice.org Math : documents;version numbers -OpenOffice.org Math : does not divide relation -OpenOffice.org Math : dot attribute -OpenOffice.org Math : dotted areas -OpenOffice.org Math : double arrow symbols -OpenOffice.org Math : double dot attribute -OpenOffice.org Math : double square brackets -OpenOffice.org Math : double square brackets;scalable -OpenOffice.org Math : double-line spacing in paragraphs -OpenOffice.org Math : double-line writing in Asian layout -OpenOffice.org Math : down arrow symbol -OpenOffice.org Math : drag and drop -OpenOffice.org Math : drag and drop;copying and pasting text -OpenOffice.org Math : drag and drop;data source view -OpenOffice.org Math : drag and drop;from Gallery to draw objects -OpenOffice.org Math : drag and drop;overview -OpenOffice.org Math : drag and drop;pictures -OpenOffice.org Math : drag and drop;to Gallery -OpenOffice.org Math : draw objects -OpenOffice.org Math : draw objects;adding/editing/copying -OpenOffice.org Math : draw objects;anchoring -OpenOffice.org Math : draw objects;arranging within stacks -OpenOffice.org Math : draw objects;copying -OpenOffice.org Math : draw objects;copying between documents -OpenOffice.org Math : draw objects;displaying (Calc) -OpenOffice.org Math : draw objects;dropping Gallery pictures -OpenOffice.org Math : draw objects;flipping -OpenOffice.org Math : draw objects;legends -OpenOffice.org Math : draw objects;positioning and resizing -OpenOffice.org Math : draw objects;protecting -OpenOffice.org Math : draw objects;slanting -OpenOffice.org Math : draw objects;text in -OpenOffice.org Math : Drawing bar -OpenOffice.org Math : drawing lines in text -OpenOffice.org Math : drawings -OpenOffice.org Math : drawings;creating/opening -OpenOffice.org Math : drawings;languages -OpenOffice.org Math : drawings;printing -OpenOffice.org Math : drawings;printing defaults -OpenOffice.org Math : drawings;printing in text documents -OpenOffice.org Math : drawings;saving -OpenOffice.org Math : drawings;saving automatically -OpenOffice.org Math : drawings;saving in other formats -OpenOffice.org Math : drawings;sending as e-mail -OpenOffice.org Math : drawings;showing (Writer) -OpenOffice.org Math : drop-down lists in form functions -OpenOffice.org Math : e-mail attachments -OpenOffice.org Math : Edit File icon -OpenOffice.org Math : edit mode -OpenOffice.org Math : edit mode;after opening -OpenOffice.org Math : edit mode;through Enter key (Calc) -OpenOffice.org Math : Edit Points bar -OpenOffice.org Math : editing -OpenOffice.org Math : editing;chart axes -OpenOffice.org Math : editing;chart data -OpenOffice.org Math : editing;chart legends -OpenOffice.org Math : editing;chart titles -OpenOffice.org Math : editing;data binding of XForms -OpenOffice.org Math : editing;database tables and queries -OpenOffice.org Math : editing;draw objects -OpenOffice.org Math : editing;Fontwork objects -OpenOffice.org Math : editing;hyperlinks -OpenOffice.org Math : editing;items in Data Navigator -OpenOffice.org Math : editing;menus -OpenOffice.org Math : editing;namespaces in XForms -OpenOffice.org Math : editing;notes -OpenOffice.org Math : editing;objects -OpenOffice.org Math : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Math : editing;pictures -OpenOffice.org Math : editing;reports -OpenOffice.org Math : editing;shortcut keys -OpenOffice.org Math : editing;tab stops -OpenOffice.org Math : editing;templates -OpenOffice.org Math : editing;toolbars -OpenOffice.org Math : editing;undoing -OpenOffice.org Math : editing;XForms -OpenOffice.org Math : editing time of documents -OpenOffice.org Math : editors -OpenOffice.org Math : editors;formula editor -OpenOffice.org Math : editors;ImageMap editor -OpenOffice.org Math : effects -OpenOffice.org Math : effects;font positions -OpenOffice.org Math : effects;fonts -OpenOffice.org Math : effects;Fontwork icons -OpenOffice.org Math : ellipsis symbols -OpenOffice.org Math : empty documents -OpenOffice.org Math : empty paragraph removal -OpenOffice.org Math : empty set -OpenOffice.org Math : encryption of contents -OpenOffice.org Math : entering groups -OpenOffice.org Math : entering text from right to left -OpenOffice.org Math : epsilon -OpenOffice.org Math : epsilon;back -OpenOffice.org Math : equal sign -OpenOffice.org Math : equal sign, see also operators -OpenOffice.org Math : Equation Editor, see OpenOffice.org Math -OpenOffice.org Math : equations in formula editor -OpenOffice.org Math : Error Report Tool -OpenOffice.org Math : error search -OpenOffice.org Math : error search;next error -OpenOffice.org Math : error search;previous error -OpenOffice.org Math : Euro -OpenOffice.org Math : Euro;currency formats -OpenOffice.org Math : Euro;Euro Converter Wizard -OpenOffice.org Math : even/odd pages -OpenOffice.org Math : even/odd pages;printing -OpenOffice.org Math : events -OpenOffice.org Math : events;controls -OpenOffice.org Math : events;customizing -OpenOffice.org Math : events;in forms -OpenOffice.org Math : examples -OpenOffice.org Math : examples;integral -OpenOffice.org Math : examples;OpenOffice.org Math formulas -OpenOffice.org Math : Excel -OpenOffice.org Math : Excel;saving as -OpenOffice.org Math : Excel;search criteria -OpenOffice.org Math : exceptions -OpenOffice.org Math : exceptions;user-defined dictionaries -OpenOffice.org Math : exchanging, see also replacing -OpenOffice.org Math : executing -OpenOffice.org Math : executing;SQL commands -OpenOffice.org Math : existence quantor symbol -OpenOffice.org Math : exiting -OpenOffice.org Math : exiting;groups -OpenOffice.org Math : exiting;OpenOffice.org -OpenOffice.org Math : expanding formatting (Calc) -OpenOffice.org Math : explorer of data sources -OpenOffice.org Math : exponential functions -OpenOffice.org Math : exponents -OpenOffice.org Math : exponents;variables with right -OpenOffice.org Math : exponents and indexes in OpenOffice.org Math -OpenOffice.org Math : export filters -OpenOffice.org Math : exporting -OpenOffice.org Math : exporting;bitmaps -OpenOffice.org Math : exporting;databases -OpenOffice.org Math : exporting;HTML and text documents -OpenOffice.org Math : exporting;Microsoft Office documents with VBA code -OpenOffice.org Math : exporting;spreadsheets to text format -OpenOffice.org Math : exporting;templates -OpenOffice.org Math : exporting;to foreign formats -OpenOffice.org Math : exporting;to HTML -OpenOffice.org Math : exporting;to Microsoft Office formats -OpenOffice.org Math : exporting;to PDF -OpenOffice.org Math : exporting;to PostScript format -OpenOffice.org Math : exporting;to XML -OpenOffice.org Math : exporting;XML files -OpenOffice.org Math : extended tips in Help -OpenOffice.org Math : extension mode in text -OpenOffice.org Math : extensions -OpenOffice.org Math : extensions;Extension Manager -OpenOffice.org Math : extensions;file formats -OpenOffice.org Math : external keys (Base) -OpenOffice.org Math : factorial -OpenOffice.org Math : faster printing -OpenOffice.org Math : faxes -OpenOffice.org Math : faxes;configuring OpenOffice.org -OpenOffice.org Math : faxes;fax programs/fax printers under UNIX -OpenOffice.org Math : faxes;selecting a fax machine -OpenOffice.org Math : faxes;sending -OpenOffice.org Math : faxes;wizards -OpenOffice.org Math : fields -OpenOffice.org Math : fields;database tables -OpenOffice.org Math : fields;displaying field codes (Writer) -OpenOffice.org Math : fields;formatted fields -OpenOffice.org Math : fields;updating automatically (Writer) -OpenOffice.org Math : file associations for Microsoft Office -OpenOffice.org Math : file filters -OpenOffice.org Math : file filters;mobile devices -OpenOffice.org Math : file filters;XML -OpenOffice.org Math : file formats -OpenOffice.org Math : file formats;changing defaults -OpenOffice.org Math : file formats;OpenDocument/XML -OpenOffice.org Math : file formats;saving always in other formats -OpenOffice.org Math : file selection button -OpenOffice.org Math : file sharing options for current document -OpenOffice.org Math : files -OpenOffice.org Math : files;filters and formats -OpenOffice.org Math : files;importing -OpenOffice.org Math : files;opening -OpenOffice.org Math : files;opening with placeholders -OpenOffice.org Math : files;properties -OpenOffice.org Math : files;saving -OpenOffice.org Math : files;saving automatically -OpenOffice.org Math : files;saving in other formats -OpenOffice.org Math : files;sending as e-mail -OpenOffice.org Math : files;version numbers -OpenOffice.org Math : files and folders in OpenOffice.org -OpenOffice.org Math : fill characters with tabulators -OpenOffice.org Math : fill colors for areas -OpenOffice.org Math : fill patterns for areas -OpenOffice.org Math : filter conditions -OpenOffice.org Math : filter conditions;connecting -OpenOffice.org Math : filter conditions;in queries (Base) -OpenOffice.org Math : filtering -OpenOffice.org Math : filtering;data in databases -OpenOffice.org Math : filtering;data in forms -OpenOffice.org Math : filters -OpenOffice.org Math : filters;comparison operators -OpenOffice.org Math : filters;for import and export -OpenOffice.org Math : filters;Navigator -OpenOffice.org Math : filters;pictures -OpenOffice.org Math : filters;XML filter settings -OpenOffice.org Math : Find tab in Help -OpenOffice.org Math : finding -OpenOffice.org Math : finding;errors in OpenOffice.org Math -OpenOffice.org Math : finding;in all sheets -OpenOffice.org Math : finding;records in form documents -OpenOffice.org Math : finding;selections -OpenOffice.org Math : finding;similarity search -OpenOffice.org Math : fitting to pages -OpenOffice.org Math : fitting to pages;print settings in Math -OpenOffice.org Math : fitting to pages;print settings in presentations -OpenOffice.org Math : fixed text -OpenOffice.org Math : fixed text;form functions -OpenOffice.org Math : fixing toolbars -OpenOffice.org Math : flipping draw objects -OpenOffice.org Math : floating frames in HTML documents -OpenOffice.org Math : floating toolbars -OpenOffice.org Math : floor brackets -OpenOffice.org Math : focus of controls -OpenOffice.org Math : folder creation -OpenOffice.org Math : font attributes -OpenOffice.org Math : font attributes;changing defaults -OpenOffice.org Math : font lists -OpenOffice.org Math : font name box -OpenOffice.org Math : font sizes -OpenOffice.org Math : font sizes;bullets -OpenOffice.org Math : font sizes;example -OpenOffice.org Math : font sizes;in OpenOffice.org Math -OpenOffice.org Math : font sizes;relative changes -OpenOffice.org Math : font sizes;scaling on screen -OpenOffice.org Math : font sizes;text -OpenOffice.org Math : fonts -OpenOffice.org Math : fonts;adding under UNIX -OpenOffice.org Math : fonts;changing in templates -OpenOffice.org Math : fonts;colors -OpenOffice.org Math : fonts;default settings -OpenOffice.org Math : fonts;effects -OpenOffice.org Math : fonts;for HTML and Basic -OpenOffice.org Math : fonts;formats -OpenOffice.org Math : fonts;in OpenOffice.org Math -OpenOffice.org Math : fonts;outlines -OpenOffice.org Math : fonts;positions in text -OpenOffice.org Math : fonts;shadows -OpenOffice.org Math : fonts;specifying several -OpenOffice.org Math : fonts;strikethrough -OpenOffice.org Math : fonts;styles -OpenOffice.org Math : fonts;text objects -OpenOffice.org Math : Fontwork icons -OpenOffice.org Math : footers -OpenOffice.org Math : footers;backgrounds -OpenOffice.org Math : for all symbol -OpenOffice.org Math : form controls -OpenOffice.org Math : form controls;assigning macros -OpenOffice.org Math : form controls;protecting -OpenOffice.org Math : form controls;toolbars -OpenOffice.org Math : form fields -OpenOffice.org Math : form filters -OpenOffice.org Math : Form Navigator -OpenOffice.org Math : format codes -OpenOffice.org Math : format codes;numbers -OpenOffice.org Math : format codes;user-defined number formats -OpenOffice.org Math : format filling printing in OpenOffice.org Math -OpenOffice.org Math : Format Paintbrush -OpenOffice.org Math : formats -OpenOffice.org Math : formats;Asian layout -OpenOffice.org Math : formats;Asian typography -OpenOffice.org Math : formats;fonts -OpenOffice.org Math : formats;maximizing page formats -OpenOffice.org Math : formats;number and currency formats -OpenOffice.org Math : formats;of currencies/date/time -OpenOffice.org Math : formats;on opening and saving -OpenOffice.org Math : formats;pasting in special formats -OpenOffice.org Math : formats;positions -OpenOffice.org Math : formats;reference list of formatting (Math) -OpenOffice.org Math : formats;tabulators -OpenOffice.org Math : formats;undoing when writing -OpenOffice.org Math : formatted fields -OpenOffice.org Math : formatted fields;form functions -OpenOffice.org Math : formatted fields;properties -OpenOffice.org Math : formatting -OpenOffice.org Math : formatting;axes in charts -OpenOffice.org Math : formatting;changing default attributes -OpenOffice.org Math : formatting;chart legends -OpenOffice.org Math : formatting;copying -OpenOffice.org Math : formatting;definition -OpenOffice.org Math : formatting;expanding (Calc) -OpenOffice.org Math : formatting;font effects -OpenOffice.org Math : formatting;hyperlinks -OpenOffice.org Math : formatting;in OpenOffice.org Math -OpenOffice.org Math : formatting;pages -OpenOffice.org Math : formatting;printer metrics (Writer) -OpenOffice.org Math : formatting;undoing -OpenOffice.org Math : forms -OpenOffice.org Math : forms;browsing -OpenOffice.org Math : forms;Combo Box/List Box Wizard -OpenOffice.org Math : forms;creating -OpenOffice.org Math : forms;data -OpenOffice.org Math : forms;designing (Base) -OpenOffice.org Math : forms;events -OpenOffice.org Math : forms;filtering data -OpenOffice.org Math : forms;finding records -OpenOffice.org Math : forms;focus after opening -OpenOffice.org Math : forms;general information (Base) -OpenOffice.org Math : forms;grouping controls -OpenOffice.org Math : forms;HTML filters -OpenOffice.org Math : forms;Navigator -OpenOffice.org Math : forms;opening in design mode -OpenOffice.org Math : forms;properties -OpenOffice.org Math : forms;sorting data -OpenOffice.org Math : forms;subforms -OpenOffice.org Math : forms;wizards -OpenOffice.org Math : forms;XForms -OpenOffice.org Math : Formula Auditing feature in Microsoft Office -OpenOffice.org Math : formula cursor in OpenOffice.org Math -OpenOffice.org Math : formula display sizes -OpenOffice.org Math : formula fonts -OpenOffice.org Math : formula fonts;defining -OpenOffice.org Math : formula parts -OpenOffice.org Math : formula parts;manually aligning -OpenOffice.org Math : formula parts;merging -OpenOffice.org Math : formula texts -OpenOffice.org Math : formula texts;printing in OpenOffice.org Math -OpenOffice.org Math : formula view -OpenOffice.org Math : formula view;refreshing -OpenOffice.org Math : formulas -OpenOffice.org Math : formulas;aligning -OpenOffice.org Math : formulas;attributes in -OpenOffice.org Math : formulas;element spacing -OpenOffice.org Math : formulas;entering symbols in -OpenOffice.org Math : formulas;examples -OpenOffice.org Math : formulas;fit to text -OpenOffice.org Math : formulas;in color -OpenOffice.org Math : formulas;increasing size of display -OpenOffice.org Math : formulas;line breaks -OpenOffice.org Math : formulas;maximum size -OpenOffice.org Math : formulas;new -OpenOffice.org Math : formulas;reference tables -OpenOffice.org Math : formulas;selections -OpenOffice.org Math : formulas;starting formula editor -OpenOffice.org Math : formulas;zooming out -OpenOffice.org Math : formulas in reports -OpenOffice.org Math : formulas in reports;editing -OpenOffice.org Math : forums and support -OpenOffice.org Math : fractions in formulas -OpenOffice.org Math : frames -OpenOffice.org Math : frames;around paragraphs -OpenOffice.org Math : frames;around tables -OpenOffice.org Math : frames;AutoCorrect function -OpenOffice.org Math : frames;backgrounds -OpenOffice.org Math : frames;captions (Writer) -OpenOffice.org Math : frames;printing in OpenOffice.org Math -OpenOffice.org Math : frames;protecting -OpenOffice.org Math : frames;selection frames -OpenOffice.org Math : frames;text fitting to frames -OpenOffice.org Math : freeform lines -OpenOffice.org Math : freeform lines;draw functions -OpenOffice.org Math : FTP -OpenOffice.org Math : FTP;opening documents -OpenOffice.org Math : FTP;saving documents -OpenOffice.org Math : full joins (Base) -OpenOffice.org Math : full screen view -OpenOffice.org Math : full-text search in Help -OpenOffice.org Math : functions -OpenOffice.org Math : functions;in OpenOffice.org Math -OpenOffice.org Math : functions in reports -OpenOffice.org Math : functions in reports;editing -OpenOffice.org Math : functions operators -OpenOffice.org Math : functions operators;list of -OpenOffice.org Math : Gallery -OpenOffice.org Math : Gallery;adding pictures -OpenOffice.org Math : Gallery;dragging pictures to draw objects -OpenOffice.org Math : Gallery;hiding/showing -OpenOffice.org Math : Gallery;inserting pictures from -OpenOffice.org Math : gaps in formulas -OpenOffice.org Math : German spellcheck -OpenOffice.org Math : get method for form transmissions -OpenOffice.org Math : getting support -OpenOffice.org Math : GIF format -OpenOffice.org Math : glossaries -OpenOffice.org Math : glossaries;common terms -OpenOffice.org Math : glossaries;Internet terms -OpenOffice.org Math : gradients off for faster printing -OpenOffice.org Math : graphical text art -OpenOffice.org Math : graphics -OpenOffice.org Math : graphics;cache -OpenOffice.org Math : graphics;protecting -OpenOffice.org Math : graphics, see also pictures -OpenOffice.org Math : grayscale printing -OpenOffice.org Math : greater than or equal to signs -OpenOffice.org Math : greater than relations -OpenOffice.org Math : Greek symbols in formulas -OpenOffice.org Math : grid controls -OpenOffice.org Math : grid controls;form functions -OpenOffice.org Math : grids -OpenOffice.org Math : grids;defaults (Writer/Calc) -OpenOffice.org Math : grids;display options (Impress/Draw) -OpenOffice.org Math : grids;displaying lines (Calc) -OpenOffice.org Math : group box creation -OpenOffice.org Math : grouping and brackets in OpenOffice.org Math -OpenOffice.org Math : grouping brackets -OpenOffice.org Math : groups -OpenOffice.org Math : groups;entering/exiting/ungrouping -OpenOffice.org Math : groups;naming -OpenOffice.org Math : groups;of controls -OpenOffice.org Math : guides -OpenOffice.org Math : guides;display options (Impress/Draw) -OpenOffice.org Math : guides;displaying when moving objects (Impress) -OpenOffice.org Math : guides;showing (Calc) -OpenOffice.org Math : guides;showing when moving frames (Writer) -OpenOffice.org Math : gutter -OpenOffice.org Math : h-bar symbol -OpenOffice.org Math : handles -OpenOffice.org Math : handles;displaying (Writer) -OpenOffice.org Math : handles;scaling -OpenOffice.org Math : handles;showing simple/large handles (Calc) -OpenOffice.org Math : Hangul/Hanja -OpenOffice.org Math : hatching -OpenOffice.org Math : headers -OpenOffice.org Math : headers;backgrounds -OpenOffice.org Math : headings -OpenOffice.org Math : headings;entering as text box -OpenOffice.org Math : Hebrew -OpenOffice.org Math : Hebrew;entering text -OpenOffice.org Math : Hebrew;language settings -OpenOffice.org Math : Help -OpenOffice.org Math : Help;bookmarks -OpenOffice.org Math : Help;extended tips on/off -OpenOffice.org Math : Help;full-text search -OpenOffice.org Math : Help;Help tips -OpenOffice.org Math : Help;keywords -OpenOffice.org Math : Help;navigation pane showing/hiding -OpenOffice.org Math : Help;style sheets -OpenOffice.org Math : Help;topics -OpenOffice.org Math : Help Agent -OpenOffice.org Math : Help Agent;help -OpenOffice.org Math : Help Agent;options -OpenOffice.org Math : Help tips -OpenOffice.org Math : Help tips;hiding -OpenOffice.org Math : hidden controls in Form Navigator -OpenOffice.org Math : hidden fields display (Writer) -OpenOffice.org Math : hidden pages -OpenOffice.org Math : hidden pages;printing in presentations -OpenOffice.org Math : hidden text -OpenOffice.org Math : hidden text;showing (Writer) -OpenOffice.org Math : hiding -OpenOffice.org Math : hiding;changes -OpenOffice.org Math : hiding;docked windows -OpenOffice.org Math : hiding;navigation pane in Help window -OpenOffice.org Math : high contrast mode -OpenOffice.org Math : Hindi -OpenOffice.org Math : Hindi;entering text -OpenOffice.org Math : Hindi;language settings -OpenOffice.org Math : horizontal scrollbars (Writer) -OpenOffice.org Math : HTML -OpenOffice.org Math : HTML;definition -OpenOffice.org Math : HTML;export character set -OpenOffice.org Math : HTML;fonts for source display -OpenOffice.org Math : HTML;importing META tags -OpenOffice.org Math : HTML;live presentations -OpenOffice.org Math : HTML documents -OpenOffice.org Math : HTML documents;auto reloading -OpenOffice.org Math : HTML documents;importing/exporting -OpenOffice.org Math : HTML documents;META tags in -OpenOffice.org Math : HTML documents;new -OpenOffice.org Math : HTML documents;source text -OpenOffice.org Math : hyperbolic cosine function -OpenOffice.org Math : hyperbolic cotangent function -OpenOffice.org Math : hyperbolic sine function -OpenOffice.org Math : hyperbolic tangent function -OpenOffice.org Math : hyperlinks -OpenOffice.org Math : hyperlinks;assigning macros -OpenOffice.org Math : hyperlinks;character formats -OpenOffice.org Math : hyperlinks;definition -OpenOffice.org Math : hyperlinks;deleting -OpenOffice.org Math : hyperlinks;editing -OpenOffice.org Math : hyperlinks;inserting -OpenOffice.org Math : hyperlinks;relative and absolute -OpenOffice.org Math : hyperlinks;turning off automatic recognition -OpenOffice.org Math : hyperlinks, see also links -OpenOffice.org Math : hyphenation -OpenOffice.org Math : hyphenation;activating for a language -OpenOffice.org Math : hyphenation;minimal number of characters -OpenOffice.org Math : hyphens -OpenOffice.org Math : hyphens;displaying custom (Writer) -OpenOffice.org Math : hyphens;inserting custom -OpenOffice.org Math : icon bars, see toolbars -OpenOffice.org Math : icon sizes -OpenOffice.org Math : identical to relation -OpenOffice.org Math : ignore list for spellcheck -OpenOffice.org Math : illustrations, see pictures -OpenOffice.org Math : image button creation -OpenOffice.org Math : image control creation -OpenOffice.org Math : image of relation -OpenOffice.org Math : ImageMap -OpenOffice.org Math : ImageMap;definition -OpenOffice.org Math : ImageMap;editor -OpenOffice.org Math : images -OpenOffice.org Math : images;ImageMap -OpenOffice.org Math : images;inserting and editing bitmaps -OpenOffice.org Math : images;placeholders in presentations -OpenOffice.org Math : images, see also pictures -OpenOffice.org Math : imaginary part of a complex number -OpenOffice.org Math : IME -OpenOffice.org Math : IME;definition -OpenOffice.org Math : IME;showing/hiding -OpenOffice.org Math : import filters -OpenOffice.org Math : import restrictions for Microsoft Office -OpenOffice.org Math : importing -OpenOffice.org Math : importing;bitmaps -OpenOffice.org Math : importing;compatibility settings for text import -OpenOffice.org Math : importing;databases -OpenOffice.org Math : importing;documents in other formats -OpenOffice.org Math : importing;from XML -OpenOffice.org Math : importing;HTML and text documents -OpenOffice.org Math : importing;HTML with META tags -OpenOffice.org Math : importing;Microsoft Office documents with VBA code -OpenOffice.org Math : importing;OpenOffice.org Math formulas -OpenOffice.org Math : importing;tables in text format -OpenOffice.org Math : importing;templates -OpenOffice.org Math : inches -OpenOffice.org Math : included in set operator -OpenOffice.org Math : includes set operator -OpenOffice.org Math : Index tab in Help -OpenOffice.org Math : indexes -OpenOffice.org Math : indexes;adding to formulas -OpenOffice.org Math : indexes;backgrounds -OpenOffice.org Math : indexes;showing/hiding Help index tab -OpenOffice.org Math : indexes;unprotecting -OpenOffice.org Math : indexes and exponents in OpenOffice.org Math -OpenOffice.org Math : indicator lines in text -OpenOffice.org Math : inequation -OpenOffice.org Math : infinity symbol -OpenOffice.org Math : inner joins (Base) -OpenOffice.org Math : input method window -OpenOffice.org Math : insert mode for entering text -OpenOffice.org Math : inserting -OpenOffice.org Math : inserting;applets -OpenOffice.org Math : inserting;brackets -OpenOffice.org Math : inserting;cell ranges from spreadsheets -OpenOffice.org Math : inserting;charts -OpenOffice.org Math : inserting;clipboard options -OpenOffice.org Math : inserting;comments in OpenOffice.org Math -OpenOffice.org Math : inserting;data from text documents -OpenOffice.org Math : inserting;datasource records in spreadsheets -OpenOffice.org Math : inserting;drawings -OpenOffice.org Math : inserting;floating frames -OpenOffice.org Math : inserting;form fields -OpenOffice.org Math : inserting;gaps -OpenOffice.org Math : inserting;hyperlinks -OpenOffice.org Math : inserting;line breaks in cells -OpenOffice.org Math : inserting;movies/sounds -OpenOffice.org Math : inserting;new text tables defaults -OpenOffice.org Math : inserting;notes -OpenOffice.org Math : inserting;objects from Gallery -OpenOffice.org Math : inserting;OLE objects -OpenOffice.org Math : inserting;paragraph bullets -OpenOffice.org Math : inserting;plug-ins -OpenOffice.org Math : inserting;special characters -OpenOffice.org Math : inserting;tab stops -OpenOffice.org Math : inserting;text in OpenOffice.org Math -OpenOffice.org Math : installing -OpenOffice.org Math : installing;ActiveX control -OpenOffice.org Math : installing;mobile device filters -OpenOffice.org Math : installing;UNO components -OpenOffice.org Math : instructions -OpenOffice.org Math : instructions;general -OpenOffice.org Math : instructions;OpenOffice.org Math -OpenOffice.org Math : integrals -OpenOffice.org Math : integrals;example -OpenOffice.org Math : integrals;signs -OpenOffice.org Math : Internet -OpenOffice.org Math : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Math : Internet;presentations -OpenOffice.org Math : Internet;starting searches -OpenOffice.org Math : Internet;turning off recognition of addresses -OpenOffice.org Math : Internet glossary -OpenOffice.org Math : intersection of sets -OpenOffice.org Math : invert filter -OpenOffice.org Math : invisible areas -OpenOffice.org Math : italic attribute in OpenOffice.org Math -OpenOffice.org Math : italic text -OpenOffice.org Math : iterative references in spreadsheets -OpenOffice.org Math : Java -OpenOffice.org Math : Java;definition -OpenOffice.org Math : Java;scripting -OpenOffice.org Math : Java;setting options -OpenOffice.org Math : JDBC -OpenOffice.org Math : JDBC;databases (Base) -OpenOffice.org Math : JDBC;definition -OpenOffice.org Math : joining -OpenOffice.org Math : joining;paragraphs -OpenOffice.org Math : joining;tables (Base) -OpenOffice.org Math : joins in databases (Base) -OpenOffice.org Math : justifying text -OpenOffice.org Math : kerning -OpenOffice.org Math : kerning;Asian texts -OpenOffice.org Math : kerning;definition -OpenOffice.org Math : kerning;in characters -OpenOffice.org Math : key fields for relations (Base) -OpenOffice.org Math : keyboard -OpenOffice.org Math : keyboard;assigning/editing shortcut keys -OpenOffice.org Math : keyboard;general commands -OpenOffice.org Math : keyboard;removing numbering -OpenOffice.org Math : keys -OpenOffice.org Math : keys;adding push buttons -OpenOffice.org Math : keys;primary keys (Base) -OpenOffice.org Math : kiosk export -OpenOffice.org Math : labels -OpenOffice.org Math : labels;creating and synchronizing -OpenOffice.org Math : labels;for draw objects -OpenOffice.org Math : labels;form functions -OpenOffice.org Math : labels;from databases -OpenOffice.org Math : labels, see also names/callouts -OpenOffice.org Math : lambda-bar symbol -OpenOffice.org Math : languages -OpenOffice.org Math : languages;activating modules -OpenOffice.org Math : languages;Asian support -OpenOffice.org Math : languages;complex text layout -OpenOffice.org Math : languages;locale settings -OpenOffice.org Math : languages;selecting -OpenOffice.org Math : languages;setting options -OpenOffice.org Math : languages;spellcheck -OpenOffice.org Math : languages;spellchecking and formatting -OpenOffice.org Math : large handles (Writer) -OpenOffice.org Math : large icons -OpenOffice.org Math : layer arrangement -OpenOffice.org Math : layout -OpenOffice.org Math : layout;importing Word documents -OpenOffice.org Math : layout;pages -OpenOffice.org Math : LDAP server -OpenOffice.org Math : LDAP server;address books (Base) -OpenOffice.org Math : LDAP server;sign on options -OpenOffice.org Math : leading between paragraphs -OpenOffice.org Math : left alignment of paragraphs -OpenOffice.org Math : left arrow symbol -OpenOffice.org Math : left joins (Base) -OpenOffice.org Math : left-justified alignment (Math) -OpenOffice.org Math : legends -OpenOffice.org Math : legends;charts -OpenOffice.org Math : legends;draw objects -OpenOffice.org Math : legends;rounding corners -OpenOffice.org Math : less than or equal to signs -OpenOffice.org Math : less than relations -OpenOffice.org Math : Letter Wizard -OpenOffice.org Math : levels -OpenOffice.org Math : levels;depth stagger -OpenOffice.org Math : limits -OpenOffice.org Math : limits;in OpenOffice.org Math -OpenOffice.org Math : limits of tables (Writer) -OpenOffice.org Math : line above attribute -OpenOffice.org Math : line breaks -OpenOffice.org Math : line breaks;in cells -OpenOffice.org Math : line breaks;in formulas -OpenOffice.org Math : line spacing -OpenOffice.org Math : line spacing;context menu in paragraphs -OpenOffice.org Math : line spacing;paragraph -OpenOffice.org Math : line styles -OpenOffice.org Math : line styles;applying -OpenOffice.org Math : line styles;defining -OpenOffice.org Math : line through attribute -OpenOffice.org Math : lines -OpenOffice.org Math : lines;contours (Draw/Impress) -OpenOffice.org Math : lines;defining ends -OpenOffice.org Math : lines;draw functions -OpenOffice.org Math : lines;drawing in text -OpenOffice.org Math : lines;editing points -OpenOffice.org Math : lines;inserting in formulas -OpenOffice.org Math : lines;removing automatic lines -OpenOffice.org Math : lines;scalable -OpenOffice.org Math : lines;with edges -OpenOffice.org Math : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Math : lines of text -OpenOffice.org Math : lines of text;alignment -OpenOffice.org Math : links -OpenOffice.org Math : links;between cells and controls -OpenOffice.org Math : links;by drag and drop -OpenOffice.org Math : links;character formats -OpenOffice.org Math : links;definition -OpenOffice.org Math : links;editing hyperlinks -OpenOffice.org Math : links;inserting -OpenOffice.org Math : links;modifying -OpenOffice.org Math : links;opening files with -OpenOffice.org Math : links;relational databases (Base) -OpenOffice.org Math : links;turning off automatic recognition -OpenOffice.org Math : links;updating options (Writer) -OpenOffice.org Math : links;updating specific links -OpenOffice.org Math : list box creation -OpenOffice.org Math : lists -OpenOffice.org Math : lists;data assigned to controls -OpenOffice.org Math : lists;registered databases (Base) -OpenOffice.org Math : lists;regular expressions -OpenOffice.org Math : live presentations on the Internet -OpenOffice.org Math : loading -OpenOffice.org Math : loading;documents -OpenOffice.org Math : loading;documents from other formats -OpenOffice.org Math : loading;HTML documents, automatically -OpenOffice.org Math : loading;Microsoft Office documents with VBA code -OpenOffice.org Math : loading;reloading -OpenOffice.org Math : loading;XML files -OpenOffice.org Math : locale settings -OpenOffice.org Math : logarithms -OpenOffice.org Math : logic symbols -OpenOffice.org Math : logical operators -OpenOffice.org Math : lower limits -OpenOffice.org Math : lowercase letters -OpenOffice.org Math : lowercase letters;font effects -OpenOffice.org Math : macros -OpenOffice.org Math : macros;assigning to events in forms -OpenOffice.org Math : macros;in MS Office documents -OpenOffice.org Math : macros;interrupting -OpenOffice.org Math : macros;organizing -OpenOffice.org Math : macros;recording -OpenOffice.org Math : macros;security -OpenOffice.org Math : macros;security warning dialog -OpenOffice.org Math : macros;selecting security warnings -OpenOffice.org Math : magnifiers -OpenOffice.org Math : Mail Merge feature in Microsoft Office -OpenOffice.org Math : margins -OpenOffice.org Math : margins;pages -OpenOffice.org Math : margins;setting with the mouse -OpenOffice.org Math : margins;shadows -OpenOffice.org Math : markers -OpenOffice.org Math : markers;definition -OpenOffice.org Math : markers;next -OpenOffice.org Math : markers;previous -OpenOffice.org Math : marking changes -OpenOffice.org Math : Markup feature in Microsoft Office -OpenOffice.org Math : Math formula editor -OpenOffice.org Math : mathematical symbols -OpenOffice.org Math : mathematical symbols;catalog -OpenOffice.org Math : mathematical symbols;other -OpenOffice.org Math : matrices -OpenOffice.org Math : matrices;arranging -OpenOffice.org Math : maximum formula size -OpenOffice.org Math : measurement units -OpenOffice.org Math : measurement units;changing on rulers -OpenOffice.org Math : measurement units;converting -OpenOffice.org Math : measurement units;selecting -OpenOffice.org Math : Media Player window -OpenOffice.org Math : menus -OpenOffice.org Math : menus;activating context menus -OpenOffice.org Math : menus;customizing -OpenOffice.org Math : menus;inactive menu items -OpenOffice.org Math : merging -OpenOffice.org Math : merging;documents -OpenOffice.org Math : merging;formula parts -OpenOffice.org Math : META tags -OpenOffice.org Math : metrics -OpenOffice.org Math : metrics;converting -OpenOffice.org Math : metrics;document formatting (Writer) -OpenOffice.org Math : metrics;in sheets -OpenOffice.org Math : Microsoft Office -OpenOffice.org Math : Microsoft Office;Access databases (base) -OpenOffice.org Math : Microsoft Office;as standard file format -OpenOffice.org Math : Microsoft Office;document import restrictions -OpenOffice.org Math : Microsoft Office;feature comparisons -OpenOffice.org Math : Microsoft Office;importing password protected files -OpenOffice.org Math : Microsoft Office;importing Word documents -OpenOffice.org Math : Microsoft Office;importing/exporting VBA code -OpenOffice.org Math : Microsoft Office;new users information -OpenOffice.org Math : Microsoft Office;opening Microsoft documents -OpenOffice.org Math : Microsoft Office;reassigning document types -OpenOffice.org Math : minus signs -OpenOffice.org Math : minus/plus signs -OpenOffice.org Math : mobile device filters -OpenOffice.org Math : models in XForms -OpenOffice.org Math : modifying, see changing -OpenOffice.org Math : more controls -OpenOffice.org Math : mosaic filter -OpenOffice.org Math : mouse -OpenOffice.org Math : mouse;pointers when using drag and drop -OpenOffice.org Math : mouse;positioning -OpenOffice.org Math : moving -OpenOffice.org Math : moving;tab stops on ruler -OpenOffice.org Math : moving;toolbars -OpenOffice.org Math : moving;using guide lines in presentations -OpenOffice.org Math : MS ADO interface (Base) -OpenOffice.org Math : much greater than relation -OpenOffice.org Math : much less than relation -OpenOffice.org Math : multi-line formulas -OpenOffice.org Math : multi-line formulas;aligning -OpenOffice.org Math : multi-line titles in forms -OpenOffice.org Math : multiple documents -OpenOffice.org Math : multiple documents;opening -OpenOffice.org Math : multiplication signs -OpenOffice.org Math : My Documents folder -OpenOffice.org Math : My Documents folder;changing work directory -OpenOffice.org Math : My Documents folder;opening -OpenOffice.org Math : MySQL databases (Base) -OpenOffice.org Math : Nabla operator -OpenOffice.org Math : names -OpenOffice.org Math : names;multi-line titles -OpenOffice.org Math : names;objects -OpenOffice.org Math : names, see also labels/callouts -OpenOffice.org Math : namespace organization in XForms -OpenOffice.org Math : native SQL (Base) -OpenOffice.org Math : natural exponential functions -OpenOffice.org Math : natural logarithms -OpenOffice.org Math : natural numbers -OpenOffice.org Math : navigating -OpenOffice.org Math : navigating;in documents -OpenOffice.org Math : Navigation bar -OpenOffice.org Math : Navigation bar;controls -OpenOffice.org Math : Navigation bar;forms -OpenOffice.org Math : Navigator -OpenOffice.org Math : Navigator;contents as lists -OpenOffice.org Math : Navigator;docking -OpenOffice.org Math : Navigator;working with -OpenOffice.org Math : network identity options -OpenOffice.org Math : new databases -OpenOffice.org Math : new documents -OpenOffice.org Math : new German spellcheck -OpenOffice.org Math : new lines in cells -OpenOffice.org Math : new symbols in OpenOffice.org Math -OpenOffice.org Math : new windows -OpenOffice.org Math : non-breaking dashes -OpenOffice.org Math : non-breaking spaces (Writer) -OpenOffice.org Math : non-printing characters (Writer) -OpenOffice.org Math : not included in set operator -OpenOffice.org Math : NOT operator -OpenOffice.org Math : not subset set operators -OpenOffice.org Math : not superset set operators -OpenOffice.org Math : notes -OpenOffice.org Math : notes;displaying (Calc) -OpenOffice.org Math : notes;inserting and editing -OpenOffice.org Math : notes;printing in text -OpenOffice.org Math : number formats -OpenOffice.org Math : number formats;codes -OpenOffice.org Math : number formats;formats -OpenOffice.org Math : number formats;recognition in text tables -OpenOffice.org Math : number of pages -OpenOffice.org Math : number of sheets -OpenOffice.org Math : number of tables -OpenOffice.org Math : numbering -OpenOffice.org Math : numbering;options -OpenOffice.org Math : numbering;paragraphs -OpenOffice.org Math : numbering;turning off -OpenOffice.org Math : numbering;using automatically -OpenOffice.org Math : numbers -OpenOffice.org Math : numbers;date, time and currency formats -OpenOffice.org Math : numbers;decimal places (Calc) -OpenOffice.org Math : numbers;formatting options for selected cells -OpenOffice.org Math : numerical fields in forms -OpenOffice.org Math : objects -OpenOffice.org Math : objects;always moveable (Impress/Draw) -OpenOffice.org Math : objects;arranging within stacks -OpenOffice.org Math : objects;contours in presentations -OpenOffice.org Math : objects;copying when moving in presentations -OpenOffice.org Math : objects;definition -OpenOffice.org Math : objects;displaying in spreadsheets -OpenOffice.org Math : objects;displaying in text documents -OpenOffice.org Math : objects;editing -OpenOffice.org Math : objects;inserting from Gallery -OpenOffice.org Math : objects;inserting OLE objects -OpenOffice.org Math : objects;moving and resizing with mouse -OpenOffice.org Math : objects;naming -OpenOffice.org Math : objects;opening -OpenOffice.org Math : objects;quickly moving to -OpenOffice.org Math : objects;titles and descriptions -OpenOffice.org Math : ODBC -OpenOffice.org Math : ODBC;database (Base) -OpenOffice.org Math : ODBC;definition -OpenOffice.org Math : ODF file formats -OpenOffice.org Math : Office -OpenOffice.org Math : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Math : old German spellcheck -OpenOffice.org Math : OLE -OpenOffice.org Math : OLE;definition -OpenOffice.org Math : OLE objects -OpenOffice.org Math : OLE objects;arranging within stacks -OpenOffice.org Math : OLE objects;captions (Writer) -OpenOffice.org Math : OLE objects;inserting -OpenOffice.org Math : OLE objects;number of -OpenOffice.org Math : OLE objects;protecting -OpenOffice.org Math : one and a half line spacing in text -OpenOffice.org Math : online registration -OpenOffice.org Math : online update options -OpenOffice.org Math : online updates -OpenOffice.org Math : online updates;checking automatically -OpenOffice.org Math : online updates;checking manually -OpenOffice.org Math : Open/Save dialogs -OpenOffice.org Math : OpenDocument file formats -OpenOffice.org Math : OpenGL -OpenOffice.org Math : OpenGL;definition -OpenOffice.org Math : OpenGL;optimized output -OpenOffice.org Math : opening -OpenOffice.org Math : opening;context menus -OpenOffice.org Math : opening;database files -OpenOffice.org Math : opening;dialog settings -OpenOffice.org Math : opening;documents -OpenOffice.org Math : opening;documents from other formats -OpenOffice.org Math : opening;files with links -OpenOffice.org Math : opening;files, with placeholders -OpenOffice.org Math : opening;forms -OpenOffice.org Math : opening;Microsoft Office files -OpenOffice.org Math : opening;mobile device documents -OpenOffice.org Math : opening;objects -OpenOffice.org Math : opening;reports -OpenOffice.org Math : opening;several files -OpenOffice.org Math : opening;XForms -OpenOffice.org Math : OpenOffice.org Base data sources -OpenOffice.org Math : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Math : OpenOffice.org documents -OpenOffice.org Math : OpenOffice.org documents;mobile device filters -OpenOffice.org Math : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Math : OpenOffice.org Math -OpenOffice.org Math : OpenOffice.org Math;entering symbols in -OpenOffice.org Math : OpenOffice.org Math;examples -OpenOffice.org Math : OpenOffice.org Math;formatting -OpenOffice.org Math : OpenOffice.org Math;general instructions -OpenOffice.org Math : OpenOffice.org Math;reference list -OpenOffice.org Math : OpenOffice.org Math;relations -OpenOffice.org Math : OpenOffice.org Math start -OpenOffice.org Math : operator brackets -OpenOffice.org Math : operators -OpenOffice.org Math : operators;default filters -OpenOffice.org Math : operators;general -OpenOffice.org Math : operators;in Math -OpenOffice.org Math : operators;list of -OpenOffice.org Math : operators;unary and binary -OpenOffice.org Math : optional hyphens (Writer) -OpenOffice.org Math : options -OpenOffice.org Math : options;accessibility -OpenOffice.org Math : options;appearance -OpenOffice.org Math : options;compatibility (Writer) -OpenOffice.org Math : options;network identity -OpenOffice.org Math : options;online update -OpenOffice.org Math : options;tools -OpenOffice.org Math : OR operator -OpenOffice.org Math : Oracle databases (base) -OpenOffice.org Math : ordering -OpenOffice.org Math : ordering;objects -OpenOffice.org Math : organizing -OpenOffice.org Math : organizing;macros and scripts -OpenOffice.org Math : organizing;namespaces in XForms -OpenOffice.org Math : organizing;styles -OpenOffice.org Math : organizing;templates -OpenOffice.org Math : original by correspondence -OpenOffice.org Math : original size -OpenOffice.org Math : original size;printing in OpenOffice.org Math -OpenOffice.org Math : original size;restoring after cropping -OpenOffice.org Math : orphaned brackets -OpenOffice.org Math : orthogonal relations -OpenOffice.org Math : other operators -OpenOffice.org Math : other operators;list of -OpenOffice.org Math : outlines -OpenOffice.org Math : outlines;font effects -OpenOffice.org Math : outlines;outline symbols -OpenOffice.org Math : outlines;sending to presentations -OpenOffice.org Math : overline attribute -OpenOffice.org Math : overwrite mode -OpenOffice.org Math : owns command -OpenOffice.org Math : packages, see extensions -OpenOffice.org Math : page breaks -OpenOffice.org Math : page breaks;displaying (Calc) -OpenOffice.org Math : page formats -OpenOffice.org Math : page formats;maximizing -OpenOffice.org Math : page formats;restriction -OpenOffice.org Math : page styles -OpenOffice.org Math : page styles;editing/applying with statusbar -OpenOffice.org Math : pages -OpenOffice.org Math : pages;backgrounds in spreadsheets -OpenOffice.org Math : pages;formatting and numbering -OpenOffice.org Math : pages;printing page names in presentations -OpenOffice.org Math : pages;scaling -OpenOffice.org Math : pages;selecting one to print -OpenOffice.org Math : paint box -OpenOffice.org Math : paint can symbol -OpenOffice.org Math : pair kerning -OpenOffice.org Math : Palm file filters -OpenOffice.org Math : paper formats -OpenOffice.org Math : paper size warning -OpenOffice.org Math : paper trays -OpenOffice.org Math : paragraph marks -OpenOffice.org Math : paragraph marks;displaying (Writer) -OpenOffice.org Math : paragraph styles -OpenOffice.org Math : paragraph styles;languages -OpenOffice.org Math : paragraph styles;modifying basic fonts -OpenOffice.org Math : paragraphs -OpenOffice.org Math : paragraphs;alignment -OpenOffice.org Math : paragraphs;Asian typography -OpenOffice.org Math : paragraphs;backgrounds -OpenOffice.org Math : paragraphs;defining borders -OpenOffice.org Math : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Math : paragraphs;increasing indents of -OpenOffice.org Math : paragraphs;indents, margins and columns -OpenOffice.org Math : paragraphs;inserting bullets -OpenOffice.org Math : paragraphs;joining -OpenOffice.org Math : paragraphs;numbering automatically -OpenOffice.org Math : paragraphs;removing blank ones -OpenOffice.org Math : paragraphs;spacing -OpenOffice.org Math : paragraphs;tab stops -OpenOffice.org Math : parallel relation -OpenOffice.org Math : parameters -OpenOffice.org Math : parameters;command line -OpenOffice.org Math : parameters;queries (Base) -OpenOffice.org Math : parentheses (Math) -OpenOffice.org Math : partial differentiation symbol -OpenOffice.org Math : passwords for protecting contents -OpenOffice.org Math : pasting -OpenOffice.org Math : pasting;cell ranges -OpenOffice.org Math : pasting;cell ranges from spreadsheets -OpenOffice.org Math : pasting;data from text documents -OpenOffice.org Math : pasting;draw objects -OpenOffice.org Math : pasting;draw objects from other documents -OpenOffice.org Math : pasting;formatted/unformatted text -OpenOffice.org Math : pasting;from data source view -OpenOffice.org Math : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Math : pasting;pictures from other documents -OpenOffice.org Math : pasting;sheet areas in text documents -OpenOffice.org Math : pasting;to Gallery -OpenOffice.org Math : paths -OpenOffice.org Math : paths;changing work directory -OpenOffice.org Math : paths;defaults -OpenOffice.org Math : pattern editor -OpenOffice.org Math : pattern fields -OpenOffice.org Math : pattern fields;form functions -OpenOffice.org Math : patterns for objects -OpenOffice.org Math : PDF -OpenOffice.org Math : PDF;export -OpenOffice.org Math : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Math : personal data input -OpenOffice.org Math : phonetic guide -OpenOffice.org Math : picklist creation -OpenOffice.org Math : picture by correspondence -OpenOffice.org Math : pictures -OpenOffice.org Math : pictures;adding to Gallery -OpenOffice.org Math : pictures;arranging within stacks -OpenOffice.org Math : pictures;assigning macros -OpenOffice.org Math : pictures;backgrounds -OpenOffice.org Math : pictures;captions (Writer) -OpenOffice.org Math : pictures;changing paths -OpenOffice.org Math : pictures;cropping and zooming -OpenOffice.org Math : pictures;displaying in Calc -OpenOffice.org Math : pictures;displaying in Writer (Writer) -OpenOffice.org Math : pictures;drag and drop between documents -OpenOffice.org Math : pictures;drawing -OpenOffice.org Math : pictures;editing -OpenOffice.org Math : pictures;filters -OpenOffice.org Math : pictures;ImageMap -OpenOffice.org Math : pictures;inserting automatically -OpenOffice.org Math : pictures;inserting from Gallery -OpenOffice.org Math : pictures;number of -OpenOffice.org Math : pictures;printing -OpenOffice.org Math : pictures;scaling/resizing -OpenOffice.org Math : Pivot tables feature in Microsoft Office -OpenOffice.org Math : pixel editor -OpenOffice.org Math : pixel graphics -OpenOffice.org Math : pixel graphics;inserting and editing -OpenOffice.org Math : pixel patterns -OpenOffice.org Math : placeholders -OpenOffice.org Math : placeholders;in SQL queries -OpenOffice.org Math : placeholders;inserting in formulas -OpenOffice.org Math : placeholders;on opening files -OpenOffice.org Math : placeholders;position of next -OpenOffice.org Math : placeholders;previous marker -OpenOffice.org Math : placing toolbars -OpenOffice.org Math : playing movies and sound files -OpenOffice.org Math : plotting data as charts -OpenOffice.org Math : plug-ins -OpenOffice.org Math : plug-ins;activating and deactivating -OpenOffice.org Math : plug-ins;definition -OpenOffice.org Math : plug-ins;inserting -OpenOffice.org Math : plus signs -OpenOffice.org Math : plus/minus signs -OpenOffice.org Math : pocket device appliances -OpenOffice.org Math : Pocket PC file filters -OpenOffice.org Math : points -OpenOffice.org Math : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Math : polygon drawing -OpenOffice.org Math : pop-art filter -OpenOffice.org Math : portable document format -OpenOffice.org Math : positioning -OpenOffice.org Math : positioning;draw objects and controls -OpenOffice.org Math : positioning;fonts -OpenOffice.org Math : positioning;objects -OpenOffice.org Math : positioning;toolbars -OpenOffice.org Math : post method for form transmissions -OpenOffice.org Math : posterizing filter -OpenOffice.org Math : PostScript -OpenOffice.org Math : PostScript;creating files -OpenOffice.org Math : PostScript;PDF converter, UNIX -OpenOffice.org Math : PowerPoint export -OpenOffice.org Math : powers -OpenOffice.org Math : precision as shown (Calc) -OpenOffice.org Math : predefining fonts -OpenOffice.org Math : presentations -OpenOffice.org Math : presentations;creating/opening -OpenOffice.org Math : presentations;inserting spreadsheet cells -OpenOffice.org Math : presentations;live on the Internet -OpenOffice.org Math : presentations;print menu -OpenOffice.org Math : presentations;saving -OpenOffice.org Math : presentations;saving automatically -OpenOffice.org Math : presentations;saving in other formats -OpenOffice.org Math : presentations;sending as e-mail -OpenOffice.org Math : presentations;starting with wizard -OpenOffice.org Math : presentations;wizards -OpenOffice.org Math : press buttons, see push buttons -OpenOffice.org Math : previews -OpenOffice.org Math : previews;fonts lists -OpenOffice.org Math : primary keys -OpenOffice.org Math : primary keys;defining -OpenOffice.org Math : primary keys;inserting (Base) -OpenOffice.org Math : print area selection -OpenOffice.org Math : printer metrics for document formatting (Writer) -OpenOffice.org Math : printers -OpenOffice.org Math : printers;adding, UNIX -OpenOffice.org Math : printers;choosing -OpenOffice.org Math : printers;default printer -OpenOffice.org Math : printers;faxes under UNIX -OpenOffice.org Math : printers;maximum page formats -OpenOffice.org Math : printers;paper trays -OpenOffice.org Math : printers;properties -OpenOffice.org Math : printing -OpenOffice.org Math : printing;black and white -OpenOffice.org Math : printing;brochures -OpenOffice.org Math : printing;colors in grayscale -OpenOffice.org Math : printing;copies -OpenOffice.org Math : printing;creating individual jobs -OpenOffice.org Math : printing;dates in presentations -OpenOffice.org Math : printing;directly -OpenOffice.org Math : printing;documents -OpenOffice.org Math : printing;drawings defaults -OpenOffice.org Math : printing;elements in text documents -OpenOffice.org Math : printing;faster -OpenOffice.org Math : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Math : printing;fitting to pages in presentations -OpenOffice.org Math : printing;formulas in OpenOffice.org Math -OpenOffice.org Math : printing;hidden pages of presentations -OpenOffice.org Math : printing;in original size in OpenOffice.org Math -OpenOffice.org Math : printing;left/right pages -OpenOffice.org Math : printing;queries (Base) -OpenOffice.org Math : printing;scaling in OpenOffice.org Math -OpenOffice.org Math : printing;selections -OpenOffice.org Math : printing;text always in black -OpenOffice.org Math : printing;text in reverse order -OpenOffice.org Math : printing;tiling pages in presentations -OpenOffice.org Math : printing;transparencies -OpenOffice.org Math : printing;warnings -OpenOffice.org Math : printing;without scaling in presentations -OpenOffice.org Math : printing speed -OpenOffice.org Math : product -OpenOffice.org Math : programming -OpenOffice.org Math : programming;OpenOffice.org -OpenOffice.org Math : programming;scripting -OpenOffice.org Math : properties -OpenOffice.org Math : properties;fields in databases -OpenOffice.org Math : properties;files -OpenOffice.org Math : properties;form controls -OpenOffice.org Math : properties;forms -OpenOffice.org Math : properties;printers -OpenOffice.org Math : proportional to relation -OpenOffice.org Math : protected contents -OpenOffice.org Math : protected dashes -OpenOffice.org Math : protected database tables -OpenOffice.org Math : protected documents -OpenOffice.org Math : protected spaces -OpenOffice.org Math : protected spaces;inserting -OpenOffice.org Math : protected spaces;showing (Writer) -OpenOffice.org Math : protecting -OpenOffice.org Math : protecting;contents -OpenOffice.org Math : protecting;recorded changes -OpenOffice.org Math : proxy settings -OpenOffice.org Math : push buttons -OpenOffice.org Math : push buttons;adding to documents -OpenOffice.org Math : push buttons;creating -OpenOffice.org Math : queries -OpenOffice.org Math : queries;copying (Base) -OpenOffice.org Math : queries;creating in design view (Base) -OpenOffice.org Math : queries;creating in SQL view -OpenOffice.org Math : queries;defining (Base) -OpenOffice.org Math : queries;deleting table links (Base) -OpenOffice.org Math : queries;editing in data source view -OpenOffice.org Math : queries;formulating filter conditions (Base) -OpenOffice.org Math : queries;joining tables (Base) -OpenOffice.org Math : queries;missing elements (Base) -OpenOffice.org Math : queries;overview (Base) -OpenOffice.org Math : queries;parameter queries (Base) -OpenOffice.org Math : queries;printing (Base) -OpenOffice.org Math : Query Wizard (Base) -OpenOffice.org Math : quickstarter -OpenOffice.org Math : quotation marks -OpenOffice.org Math : quotation marks;replacing -OpenOffice.org Math : quotes -OpenOffice.org Math : quotes;custom -OpenOffice.org Math : quotient set -OpenOffice.org Math : radio button creation -OpenOffice.org Math : range of integral example -OpenOffice.org Math : rational numbers -OpenOffice.org Math : read-only documents -OpenOffice.org Math : read-only documents;cursor -OpenOffice.org Math : read-only documents;database tables on/off -OpenOffice.org Math : read-only documents;editing -OpenOffice.org Math : read-only documents;opening documents as -OpenOffice.org Math : read-only items in Data Navigator -OpenOffice.org Math : real numbers -OpenOffice.org Math : real part of complex numbers -OpenOffice.org Math : recognizing URLs automatically -OpenOffice.org Math : recording -OpenOffice.org Math : recording;changes -OpenOffice.org Math : recording;macros -OpenOffice.org Math : records -OpenOffice.org Math : records;inserting notes -OpenOffice.org Math : records;protecting -OpenOffice.org Math : records;saving -OpenOffice.org Math : records;searching in databases -OpenOffice.org Math : rectangles with round corners -OpenOffice.org Math : recursions in spreadsheets -OpenOffice.org Math : redo command -OpenOffice.org Math : reduced printing -OpenOffice.org Math : reference lines -OpenOffice.org Math : reference tables -OpenOffice.org Math : reference tables;formulas -OpenOffice.org Math : references -OpenOffice.org Math : references;displaying in color (Calc) -OpenOffice.org Math : references;expanding (Calc) -OpenOffice.org Math : references;iterative (Calc) -OpenOffice.org Math : Refresh Data feature in Microsoft Office -OpenOffice.org Math : refreshing formula view -OpenOffice.org Math : register-true -OpenOffice.org Math : register-true;definition -OpenOffice.org Math : registering -OpenOffice.org Math : registering;address books -OpenOffice.org Math : registering;databases (Base) -OpenOffice.org Math : registering;OpenOffice.org -OpenOffice.org Math : regular expressions -OpenOffice.org Math : regular expressions;list of -OpenOffice.org Math : regular expressions;opening files -OpenOffice.org Math : relational databases (Base) -OpenOffice.org Math : relations -OpenOffice.org Math : relations;creating and deleting (Base) -OpenOffice.org Math : relations;in OpenOffice.org Math -OpenOffice.org Math : relations;joining tables (Base) -OpenOffice.org Math : relations;properties (Base) -OpenOffice.org Math : relations operators -OpenOffice.org Math : relations operators;list of -OpenOffice.org Math : relative hyperlinks -OpenOffice.org Math : relative saving of URLs -OpenOffice.org Math : reloading -OpenOffice.org Math : reloading;documents -OpenOffice.org Math : reloading;HTML documents, automatically -OpenOffice.org Math : remarks, see also notes -OpenOffice.org Math : remote configurations -OpenOffice.org Math : remove noise filter -OpenOffice.org Math : removing -OpenOffice.org Math : removing;bullets and numbering -OpenOffice.org Math : removing;form filters -OpenOffice.org Math : removing, see also deleting -OpenOffice.org Math : Replace text as you type feature in Microsoft Office -OpenOffice.org Math : replacement options -OpenOffice.org Math : replacement table -OpenOffice.org Math : replacing -OpenOffice.org Math : replacing;AutoCorrect function -OpenOffice.org Math : replacing;dashes -OpenOffice.org Math : Report Builder -OpenOffice.org Math : reports -OpenOffice.org Math : reports;creating -OpenOffice.org Math : reports;error reports -OpenOffice.org Math : reports;opening and editing -OpenOffice.org Math : reports;templates -OpenOffice.org Math : resetting -OpenOffice.org Math : resetting;templates -OpenOffice.org Math : resizing -OpenOffice.org Math : resizing;fonts -OpenOffice.org Math : resizing;objects, by mouse -OpenOffice.org Math : resizing, see also scaling/zooming -OpenOffice.org Math : resolution when printing bitmaps -OpenOffice.org Math : restoring -OpenOffice.org Math : restoring;default formatting -OpenOffice.org Math : restoring;editing -OpenOffice.org Math : reversed circumflex attribute -OpenOffice.org Math : reversing printing order -OpenOffice.org Math : review function -OpenOffice.org Math : review function;accepting or rejecting changes -OpenOffice.org Math : review function;comparing documents -OpenOffice.org Math : review function;recording changes example -OpenOffice.org Math : rich text control -OpenOffice.org Math : right alignment of paragraphs -OpenOffice.org Math : right angled relations -OpenOffice.org Math : right arrow symbol -OpenOffice.org Math : right joins (Base) -OpenOffice.org Math : right-justified alignment in OpenOffice.org Math -OpenOffice.org Math : right-to-left text -OpenOffice.org Math : roots -OpenOffice.org Math : rotating -OpenOffice.org Math : rotating;3D text -OpenOffice.org Math : round brackets -OpenOffice.org Math : round corners -OpenOffice.org Math : rounding precision (Calc) -OpenOffice.org Math : row headers -OpenOffice.org Math : row headers;displaying (Calc) -OpenOffice.org Math : row headers;highlighting (Calc) -OpenOffice.org Math : rulers -OpenOffice.org Math : rulers;default settings -OpenOffice.org Math : rulers;measurement units -OpenOffice.org Math : rulers;visible in presentations -OpenOffice.org Math : samples and templates -OpenOffice.org Math : saving -OpenOffice.org Math : saving;default file formats -OpenOffice.org Math : saving;dialog settings -OpenOffice.org Math : saving;documents -OpenOffice.org Math : saving;documents for mobile devices -OpenOffice.org Math : saving;documents in other formats -OpenOffice.org Math : saving;documents, automatically -OpenOffice.org Math : saving;in Microsoft Office file format -OpenOffice.org Math : saving;options -OpenOffice.org Math : saving;templates -OpenOffice.org Math : saving;to XML -OpenOffice.org Math : saving;VBA code in Microsoft Office documents -OpenOffice.org Math : saving;with password by default -OpenOffice.org Math : saving as command -OpenOffice.org Math : saving as command;precautions -OpenOffice.org Math : scalable braces -OpenOffice.org Math : scalable lines with ceiling -OpenOffice.org Math : scalable round brackets -OpenOffice.org Math : scaling -OpenOffice.org Math : scaling;font sizes in user interface -OpenOffice.org Math : scaling;fonts -OpenOffice.org Math : scaling;in OpenOffice.org Math -OpenOffice.org Math : scaling;objects -OpenOffice.org Math : scaling;pictures -OpenOffice.org Math : scaling;printing in OpenOffice.org Math -OpenOffice.org Math : scaling;when printing presentations -OpenOffice.org Math : scaling, see also zooming -OpenOffice.org Math : screen -OpenOffice.org Math : screen;full screen views -OpenOffice.org Math : screen;scaling -OpenOffice.org Math : screen magnifiers -OpenOffice.org Math : screen readers -OpenOffice.org Math : script organization -OpenOffice.org Math : scripting in programming -OpenOffice.org Math : scrollbars -OpenOffice.org Math : scrollbars;controls -OpenOffice.org Math : scrollbars;displaying (Calc) -OpenOffice.org Math : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Math : search criteria for database functions in cells -OpenOffice.org Math : search engines -OpenOffice.org Math : search engines;definition -OpenOffice.org Math : search engines;selecting -OpenOffice.org Math : searching -OpenOffice.org Math : searching;all sheets -OpenOffice.org Math : searching;databases -OpenOffice.org Math : searching;form filters -OpenOffice.org Math : searching;Internet -OpenOffice.org Math : searching;tables and forms -OpenOffice.org Math : sections -OpenOffice.org Math : sections;backgrounds -OpenOffice.org Math : sections;protecting -OpenOffice.org Math : security -OpenOffice.org Math : security;options for documents with macros -OpenOffice.org Math : security;protecting contents -OpenOffice.org Math : security;warning dialogs with macros -OpenOffice.org Math : selecting -OpenOffice.org Math : selecting;controls -OpenOffice.org Math : selecting;group objects -OpenOffice.org Math : selecting;measurement units -OpenOffice.org Math : selecting;objects -OpenOffice.org Math : selecting;print areas -OpenOffice.org Math : selecting;several files -OpenOffice.org Math : selection clipboard -OpenOffice.org Math : selection modes in text -OpenOffice.org Math : selection options in formulas -OpenOffice.org Math : sending -OpenOffice.org Math : sending;AutoAbstract function in presentations -OpenOffice.org Math : sending;documents as e-mail -OpenOffice.org Math : sending;documents as faxes -OpenOffice.org Math : separator lines -OpenOffice.org Math : separator lines;defining -OpenOffice.org Math : separators -OpenOffice.org Math : separators;conditional -OpenOffice.org Math : Server Side ImageMap -OpenOffice.org Math : set operations in OpenOffice.orgMath -OpenOffice.org Math : set operators -OpenOffice.org Math : set operators;list of -OpenOffice.org Math : sets of numbers -OpenOffice.org Math : settings -OpenOffice.org Math : settings;printers -OpenOffice.org Math : settings;program configuration -OpenOffice.org Math : settings;proxies -OpenOffice.org Math : settings;tracking changes -OpenOffice.org Math : settings;views -OpenOffice.org Math : SGML -OpenOffice.org Math : SGML;definition -OpenOffice.org Math : shadows -OpenOffice.org Math : shadows;areas -OpenOffice.org Math : shadows;borders -OpenOffice.org Math : shadows;characters -OpenOffice.org Math : shadows;characters, using context menu -OpenOffice.org Math : sharpening filter -OpenOffice.org Math : sheet tabs -OpenOffice.org Math : sheet tabs;displaying -OpenOffice.org Math : sheets -OpenOffice.org Math : sheets;searching all -OpenOffice.org Math : shortcut keys -OpenOffice.org Math : shortcut keys;assigning macros -OpenOffice.org Math : shortcut keys;general -OpenOffice.org Math : shortcut keys;in databases -OpenOffice.org Math : shortcut keys;in formulas -OpenOffice.org Math : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Math : Show/Hide feature in Microsoft Office -OpenOffice.org Math : showing -OpenOffice.org Math : showing;changes -OpenOffice.org Math : showing;docked windows -OpenOffice.org Math : showing;drawings and controls (Writer) -OpenOffice.org Math : showing;live presentations on the Internet -OpenOffice.org Math : showing;toolbars -OpenOffice.org Math : signing documents with digital signatures -OpenOffice.org Math : similar to relations -OpenOffice.org Math : similarity search -OpenOffice.org Math : simple handles (Writer) -OpenOffice.org Math : simplified Chinese -OpenOffice.org Math : simplified Chinese;translating to traditional Chinese -OpenOffice.org Math : sine function -OpenOffice.org Math : single brackets without group function -OpenOffice.org Math : single sign on options -OpenOffice.org Math : single-line spacing in text -OpenOffice.org Math : sizes -OpenOffice.org Math : sizes;draw objects -OpenOffice.org Math : sizes;of fonts in OpenOffice.org Math -OpenOffice.org Math : sizes;pictures -OpenOffice.org Math : slanting draw objects -OpenOffice.org Math : slash division sign -OpenOffice.org Math : small capitals -OpenOffice.org Math : small gaps -OpenOffice.org Math : small icons -OpenOffice.org Math : smart tags -OpenOffice.org Math : smart tags;options -OpenOffice.org Math : smooth scrolling (Writer) -OpenOffice.org Math : smoothing filter -OpenOffice.org Math : snap grid defaults (Writer/Calc) -OpenOffice.org Math : snapping in presentations and drawings -OpenOffice.org Math : solarization filter -OpenOffice.org Math : sort lists -OpenOffice.org Math : sort lists;copying to in Calc -OpenOffice.org Math : sorting -OpenOffice.org Math : sorting;data in forms -OpenOffice.org Math : sorting;databases -OpenOffice.org Math : sounds -OpenOffice.org Math : sounds;inserting and playing -OpenOffice.org Math : sounds;UNIX -OpenOffice.org Math : spaces -OpenOffice.org Math : spaces;displaying (Writer) -OpenOffice.org Math : spaces;ignoring double -OpenOffice.org Math : spaces;inserting protected spaces -OpenOffice.org Math : spaces;showing protected spaces (Writer) -OpenOffice.org Math : spaces in formulas -OpenOffice.org Math : spacing -OpenOffice.org Math : spacing;between paragraphs in footnotes -OpenOffice.org Math : spacing;font effects -OpenOffice.org Math : spacing;formula elements -OpenOffice.org Math : spacing;lines and paragraphs -OpenOffice.org Math : spacing;tab stops in text documents -OpenOffice.org Math : spacing;tabs in presentations -OpenOffice.org Math : spadmin -OpenOffice.org Math : special characters -OpenOffice.org Math : speech bubbles -OpenOffice.org Math : speed of printing -OpenOffice.org Math : spellcheck -OpenOffice.org Math : spellcheck;activating for a language -OpenOffice.org Math : spellcheck;context menus -OpenOffice.org Math : spellcheck;default languages -OpenOffice.org Math : spellcheck;dialog -OpenOffice.org Math : spellcheck;dictionary of exceptions -OpenOffice.org Math : spellcheck;ignore list -OpenOffice.org Math : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Math : spin button creation -OpenOffice.org Math : spoolfiles with Xprinter -OpenOffice.org Math : spreadsheets -OpenOffice.org Math : spreadsheets;as databases (base) -OpenOffice.org Math : spreadsheets;backgrounds -OpenOffice.org Math : spreadsheets;copying areas to text documents -OpenOffice.org Math : spreadsheets;creating/opening -OpenOffice.org Math : spreadsheets;inserting charts -OpenOffice.org Math : spreadsheets;inserting database records -OpenOffice.org Math : spreadsheets;printing -OpenOffice.org Math : spreadsheets;saving -OpenOffice.org Math : spreadsheets;saving automatically -OpenOffice.org Math : spreadsheets;saving in other formats -OpenOffice.org Math : spreadsheets;sending as e-mail -OpenOffice.org Math : SQL -OpenOffice.org Math : SQL;definition -OpenOffice.org Math : SQL;DISTINCT parameter -OpenOffice.org Math : SQL;executing SQL commands -OpenOffice.org Math : SQL;executing SQL statements (Base) -OpenOffice.org Math : SQL;queries (Base) -OpenOffice.org Math : square brackets -OpenOffice.org Math : square drawings -OpenOffice.org Math : square roots -OpenOffice.org Math : stacks -OpenOffice.org Math : standard bar on/off -OpenOffice.org Math : standard filters in databases -OpenOffice.org Math : standard printer under UNIX -OpenOffice.org Math : Start Module backing window -OpenOffice.org Math : start parameters -OpenOffice.org Math : status bar on/off -OpenOffice.org Math : stickers -OpenOffice.org Math : strikethrough -OpenOffice.org Math : strikethrough;characters -OpenOffice.org Math : strikethrough;font effects -OpenOffice.org Math : styles -OpenOffice.org Math : styles;'changed' message -OpenOffice.org Math : styles;copying between documents -OpenOffice.org Math : styles;keyboard shortcuts -OpenOffice.org Math : styles;organizing -OpenOffice.org Math : styles;printing styles used in a document -OpenOffice.org Math : styles;replacing automatically -OpenOffice.org Math : Styles and Formatting window -OpenOffice.org Math : Styles and Formatting window;docking -OpenOffice.org Math : subforms -OpenOffice.org Math : subforms;creating -OpenOffice.org Math : subforms;description -OpenOffice.org Math : submitting forms -OpenOffice.org Math : subscripts -OpenOffice.org Math : subset set operators -OpenOffice.org Math : subtraction signs -OpenOffice.org Math : suffixes in file formats -OpenOffice.org Math : sum range example -OpenOffice.org Math : summation -OpenOffice.org Math : superscripts -OpenOffice.org Math : superset set operators -OpenOffice.org Math : support on the Web -OpenOffice.org Math : symbols -OpenOffice.org Math : symbols;adding in OpenOffice.org Math -OpenOffice.org Math : symbols;entering in OpenOffice.org Math -OpenOffice.org Math : symbols;for complex numbers -OpenOffice.org Math : synchronizing -OpenOffice.org Math : synchronizing;labels and business cards -OpenOffice.org Math : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Math : system address book registration -OpenOffice.org Math : tab stops -OpenOffice.org Math : tab stops;displaying (Writer) -OpenOffice.org Math : tab stops;inserting and editing -OpenOffice.org Math : tab stops;setting in sheets -OpenOffice.org Math : tab stops;settings -OpenOffice.org Math : tab stops;spacing in presentations -OpenOffice.org Math : tab stops;spacing in text documents -OpenOffice.org Math : table controls -OpenOffice.org Math : table controls;form functions -OpenOffice.org Math : table controls;keyboard-only edit mode -OpenOffice.org Math : table controls;properties -OpenOffice.org Math : table views of databases -OpenOffice.org Math : Table Wizard (Base) -OpenOffice.org Math : tables -OpenOffice.org Math : tables;backgrounds -OpenOffice.org Math : tables;inserting line breaks -OpenOffice.org Math : tables in databases -OpenOffice.org Math : tables in databases;access rights to (Base) -OpenOffice.org Math : tables in databases;adding to queries -OpenOffice.org Math : tables in databases;browsing and editing -OpenOffice.org Math : tables in databases;copying database tables (Base) -OpenOffice.org Math : tables in databases;creating -OpenOffice.org Math : tables in databases;creating in design view -OpenOffice.org Math : tables in databases;importing text formats (Base) -OpenOffice.org Math : tables in databases;joining for queries (Base) -OpenOffice.org Math : tables in databases;printing queries (Base) -OpenOffice.org Math : tables in databases;relations (Base) -OpenOffice.org Math : tables in databases;searching -OpenOffice.org Math : tables in spreadsheets -OpenOffice.org Math : tables in spreadsheets;copying data to other applications -OpenOffice.org Math : tables in spreadsheets;defining borders -OpenOffice.org Math : tables in spreadsheets;value highlighting -OpenOffice.org Math : tables in text -OpenOffice.org Math : tables in text;captions -OpenOffice.org Math : tables in text;creating automatically -OpenOffice.org Math : tables in text;default settings -OpenOffice.org Math : tables in text;defining borders -OpenOffice.org Math : tables in text;displaying -OpenOffice.org Math : tables in text;printing -OpenOffice.org Math : tables in text;protecting cells -OpenOffice.org Math : tables of contents -OpenOffice.org Math : tables of contents;unprotecting -OpenOffice.org Math : tabs -OpenOffice.org Math : tabs;displaying sheet tabs -OpenOffice.org Math : tags -OpenOffice.org Math : tags;definition -OpenOffice.org Math : tags;META tags -OpenOffice.org Math : tangent function -OpenOffice.org Math : templates -OpenOffice.org Math : templates;agendas -OpenOffice.org Math : templates;changing basic fonts -OpenOffice.org Math : templates;database reports -OpenOffice.org Math : templates;deleting -OpenOffice.org Math : templates;editing and saving -OpenOffice.org Math : templates;faxes -OpenOffice.org Math : templates;importing and exporting -OpenOffice.org Math : templates;letters -OpenOffice.org Math : templates;new documents from templates -OpenOffice.org Math : templates;opening documents with -OpenOffice.org Math : templates;organizing -OpenOffice.org Math : terminology -OpenOffice.org Math : terminology;general glossary -OpenOffice.org Math : terminology;Internet glossary -OpenOffice.org Math : testing XML filters -OpenOffice.org Math : text -OpenOffice.org Math : text;animating -OpenOffice.org Math : text;Asian layout -OpenOffice.org Math : text;backgrounds -OpenOffice.org Math : text;bold -OpenOffice.org Math : text;coloring -OpenOffice.org Math : text;contours -OpenOffice.org Math : text;copying by drag and drop -OpenOffice.org Math : text;CTL languages -OpenOffice.org Math : text;drawing pictures -OpenOffice.org Math : text;font effects -OpenOffice.org Math : text;font sizes -OpenOffice.org Math : text;font styles -OpenOffice.org Math : text;fonts and formats -OpenOffice.org Math : text;Fontwork icons -OpenOffice.org Math : text;hyperlinks -OpenOffice.org Math : text;inserting special characters -OpenOffice.org Math : text;italics -OpenOffice.org Math : text;kerning -OpenOffice.org Math : text;language selection -OpenOffice.org Math : text;line spacing -OpenOffice.org Math : text;overwriting or inserting -OpenOffice.org Math : text;placeholders in presentations -OpenOffice.org Math : text;printing in black -OpenOffice.org Math : text;replacing with format -OpenOffice.org Math : text;selection modes -OpenOffice.org Math : text;shadowed -OpenOffice.org Math : text;text/draw objects -OpenOffice.org Math : text attributes -OpenOffice.org Math : text attributes;hyperlinks -OpenOffice.org Math : text attributes;undoing -OpenOffice.org Math : text boxes -OpenOffice.org Math : text boxes;form functions -OpenOffice.org Math : text boxes;positioning -OpenOffice.org Math : text breaks in cells -OpenOffice.org Math : text colors for better accessibility -OpenOffice.org Math : text databases (Base) -OpenOffice.org Math : text documents -OpenOffice.org Math : text documents;creating/opening -OpenOffice.org Math : text documents;importing/exporting -OpenOffice.org Math : text documents;inserting spreadsheet cells -OpenOffice.org Math : text documents;print settings -OpenOffice.org Math : text documents;printing -OpenOffice.org Math : text documents;saving -OpenOffice.org Math : text documents;saving automatically -OpenOffice.org Math : text documents;saving in other formats -OpenOffice.org Math : text documents;sending as e-mail -OpenOffice.org Math : text effects -OpenOffice.org Math : text flow -OpenOffice.org Math : text flow;in cells -OpenOffice.org Math : text formats -OpenOffice.org Math : text formats;databases -OpenOffice.org Math : text formats;pasting -OpenOffice.org Math : text input fields -OpenOffice.org Math : text layout for special languages -OpenOffice.org Math : text mode in OpenOffice.org Math -OpenOffice.org Math : text objects -OpenOffice.org Math : text objects;alignment -OpenOffice.org Math : text objects;draw functions -OpenOffice.org Math : text objects;fonts -OpenOffice.org Math : text objects;in presentations and drawings -OpenOffice.org Math : text overflow in spreadsheet cells -OpenOffice.org Math : text strings -OpenOffice.org Math : text strings;entering in OpenOffice.org Math -OpenOffice.org Math : text, see also text documents, paragraphs and characters -OpenOffice.org Math : TextArt, see Fontwork -OpenOffice.org Math : textures -OpenOffice.org Math : textures;inserting from Gallery -OpenOffice.org Math : textures;on chart bars -OpenOffice.org Math : Thai -OpenOffice.org Math : Thai;entering text -OpenOffice.org Math : Thai;language settings -OpenOffice.org Math : there exists symbol -OpenOffice.org Math : thesaurus -OpenOffice.org Math : thesaurus;activating for a language -OpenOffice.org Math : ticker text -OpenOffice.org Math : tilde as attribute -OpenOffice.org Math : time fields -OpenOffice.org Math : time fields;form functions -OpenOffice.org Math : times -OpenOffice.org Math : times;inserting when printing presentations -OpenOffice.org Math : times, formats -OpenOffice.org Math : tips -OpenOffice.org Math : tips;extended tips in Help -OpenOffice.org Math : title rows -OpenOffice.org Math : title rows;printing in OpenOffice.org Math -OpenOffice.org Math : titles -OpenOffice.org Math : titles;changing -OpenOffice.org Math : titles;editing in charts -OpenOffice.org Math : titles;font effects -OpenOffice.org Math : titles;formatting automatically -OpenOffice.org Math : titles;objects -OpenOffice.org Math : toolbars -OpenOffice.org Math : toolbars;adding buttons -OpenOffice.org Math : toolbars;docking/undocking -OpenOffice.org Math : toolbars;Form Navigation bar -OpenOffice.org Math : toolbars;viewing/closing -OpenOffice.org Math : tools bar -OpenOffice.org Math : tooltips -OpenOffice.org Math : tooltips;extended tips -OpenOffice.org Math : tooltips;help -OpenOffice.org Math : toward relation -OpenOffice.org Math : Track changes feature in Microsoft Office -OpenOffice.org Math : traditional Chinese -OpenOffice.org Math : traditional Chinese;translating to simplified chinese -OpenOffice.org Math : transparency -OpenOffice.org Math : transparency;areas -OpenOffice.org Math : transparency;off for faster printing -OpenOffice.org Math : transparency;saving -OpenOffice.org Math : transparent character as attribute -OpenOffice.org Math : tree view of Help -OpenOffice.org Math : trigonometrical functions -OpenOffice.org Math : triple dot attribute -OpenOffice.org Math : typefaces -OpenOffice.org Math : typefaces;adding under UNIX -OpenOffice.org Math : typefaces;formats -OpenOffice.org Math : typographical quotes in OpenOffice.org Writer -OpenOffice.org Math : typography -OpenOffice.org Math : typography;Asian -OpenOffice.org Math : unary operators -OpenOffice.org Math : unary operators;list of -OpenOffice.org Math : unary operators -OpenOffice.org Math : underline attribute -OpenOffice.org Math : underlining -OpenOffice.org Math : underlining;AutoFormat function -OpenOffice.org Math : underlining;characters -OpenOffice.org Math : underlining;text -OpenOffice.org Math : undocking windows -OpenOffice.org Math : undoing -OpenOffice.org Math : undoing;direct formatting -OpenOffice.org Math : undoing;editing -OpenOffice.org Math : undoing;number of steps -OpenOffice.org Math : unequal sign -OpenOffice.org Math : ungrouping groups -OpenOffice.org Math : union of sets -OpenOffice.org Math : units -OpenOffice.org Math : units;converting -OpenOffice.org Math : units;measurement units -OpenOffice.org Math : universal quantifier symbol -OpenOffice.org Math : UNO components -OpenOffice.org Math : UNO components;Extension Manager -OpenOffice.org Math : UNO components;integrating new -OpenOffice.org Math : up arrow symbol -OpenOffice.org Math : update options -OpenOffice.org Math : updates -OpenOffice.org Math : updates;checking automatically -OpenOffice.org Math : updates;checking manually -OpenOffice.org Math : updating -OpenOffice.org Math : updating;fields and charts, automatically (Writer) -OpenOffice.org Math : updating;links in text documents -OpenOffice.org Math : updating;links, on opening -OpenOffice.org Math : updating;templates -OpenOffice.org Math : upper limits -OpenOffice.org Math : URL -OpenOffice.org Math : URL;changing hyperlink URLs -OpenOffice.org Math : URL;definition -OpenOffice.org Math : URL;saving absolute/relative paths -OpenOffice.org Math : URL;turning off URL recognition -OpenOffice.org Math : user data -OpenOffice.org Math : user data;input -OpenOffice.org Math : user data;removing when saving -OpenOffice.org Math : user-defined dictionaries -OpenOffice.org Math : user-defined dictionaries;creating -OpenOffice.org Math : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Math : user-defined dictionaries;editing -OpenOffice.org Math : user-defined operators -OpenOffice.org Math : user-defined operators;general -OpenOffice.org Math : user-defined operators;unary and binary -OpenOffice.org Math : user-defined styles -OpenOffice.org Math : user-defined styles;automatically replacing -OpenOffice.org Math : UTF-8/UCS2 support -OpenOffice.org Math : Validation feature in Microsoft Office -OpenOffice.org Math : values -OpenOffice.org Math : values;absolute -OpenOffice.org Math : values;rounded as shown (Calc) -OpenOffice.org Math : variables -OpenOffice.org Math : variables;for paths -OpenOffice.org Math : variables;with right exponents -OpenOffice.org Math : VBA code -OpenOffice.org Math : VBA code;loading/saving documents with VBA code -OpenOffice.org Math : vector arrows as attributes -OpenOffice.org Math : version management -OpenOffice.org Math : version numbers of documents -OpenOffice.org Math : versions -OpenOffice.org Math : versions;comparing documents -OpenOffice.org Math : versions;file saving as, restriction -OpenOffice.org Math : versions;merging document versions -OpenOffice.org Math : versions;of a document -OpenOffice.org Math : versions;OpenOffice.org -OpenOffice.org Math : vertical arrangement of elements -OpenOffice.org Math : vertical bars -OpenOffice.org Math : vertical callouts -OpenOffice.org Math : vertical dots symbol -OpenOffice.org Math : vertical elements -OpenOffice.org Math : vertical scrollbars (Writer) -OpenOffice.org Math : vertical text boxes -OpenOffice.org Math : videos -OpenOffice.org Math : viewing -OpenOffice.org Math : viewing;databases -OpenOffice.org Math : viewing;file properties -OpenOffice.org Math : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Math : viewing;toolbars -OpenOffice.org Math : views -OpenOffice.org Math : views;creating database views (Base) -OpenOffice.org Math : views;defaults -OpenOffice.org Math : views;full screen -OpenOffice.org Math : views;icons -OpenOffice.org Math : views;in 3D -OpenOffice.org Math : views;maximum size -OpenOffice.org Math : views;scaling -OpenOffice.org Math : views;zooming out OpenOffice.org Math -OpenOffice.org Math : Visual Basic for Applications -OpenOffice.org Math : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Math : watermarks -OpenOffice.org Math : web documents -OpenOffice.org Math : web documents;XForms -OpenOffice.org Math : Web support -OpenOffice.org Math : WebCast export -OpenOffice.org Math : weierstrass p symbol -OpenOffice.org Math : whole numbers -OpenOffice.org Math : wide circumflex attribute -OpenOffice.org Math : wide tilde attribute -OpenOffice.org Math : wide vector arrow attribute -OpenOffice.org Math : widowed brackets -OpenOffice.org Math : windows -OpenOffice.org Math : windows;docking -OpenOffice.org Math : windows;docking definition -OpenOffice.org Math : windows;hiding/showing/docking -OpenOffice.org Math : windows;new -OpenOffice.org Math : wizards -OpenOffice.org Math : wizards;agendas -OpenOffice.org Math : wizards;database queries -OpenOffice.org Math : wizards;database tables (Base) -OpenOffice.org Math : wizards;databases (Base) -OpenOffice.org Math : wizards;document converter -OpenOffice.org Math : wizards;Euro Converter -OpenOffice.org Math : wizards;faxes -OpenOffice.org Math : wizards;forms -OpenOffice.org Math : wizards;letters -OpenOffice.org Math : wizards;overview -OpenOffice.org Math : wizards;presentations -OpenOffice.org Math : wizards;reports -OpenOffice.org Math : Word documents -OpenOffice.org Math : Word documents;compatibility -OpenOffice.org Math : Word documents;saving as -OpenOffice.org Math : WordArt, see Fontwork -OpenOffice.org Math : words -OpenOffice.org Math : words;automatically replacing -OpenOffice.org Math : words;wrapping in cells -OpenOffice.org Math : work directory change -OpenOffice.org Math : Workbook feature in Microsoft Office -OpenOffice.org Math : Worksheet feature in Microsoft Office -OpenOffice.org Math : wrapping text -OpenOffice.org Math : wrapping text;in cells -OpenOffice.org Math : wrapping text;in formulas -OpenOffice.org Math : write protection on/off -OpenOffice.org Math : writing aids options -OpenOffice.org Math : WYSIWYG in fonts lists -OpenOffice.org Math : XForms -OpenOffice.org Math : XML converters -OpenOffice.org Math : XML file formats -OpenOffice.org Math : XML filters -OpenOffice.org Math : XML filters;creating/testing/distributing/deleting -OpenOffice.org Math : XML filters;settings -OpenOffice.org Math : XML Forms -OpenOffice.org Math : XSLT based filters -OpenOffice.org Math : XSLT based filters;settings -OpenOffice.org Math : XSLT filters, see also XML filters -OpenOffice.org Math : years -OpenOffice.org Math : years;2-digit options -OpenOffice.org Math : zero values -OpenOffice.org Math : zero values;displaying (Calc) -OpenOffice.org Math : zooming -OpenOffice.org Math : zooming;page views -OpenOffice.org Math : zooming;pictures -OpenOffice.org Math : zooming;status bar -OpenOffice.org Math : zooming in on formula display -OpenOffice.org Math : zooming out on formula display -OpenOffice.org Writer : 1/2 replacement -OpenOffice.org Writer : 3D charts -OpenOffice.org Writer : 3D text creation -OpenOffice.org Writer : 3D view -OpenOffice.org Writer : abbreviation replacement -OpenOffice.org Writer : abbreviations -OpenOffice.org Writer : absolute hyperlinks -OpenOffice.org Writer : absolute saving of URLs -OpenOffice.org Writer : accents -OpenOffice.org Writer : Access databases (base) -OpenOffice.org Writer : access rights for database tables (Base) -OpenOffice.org Writer : accessibility -OpenOffice.org Writer : accessibility;general shortcuts -OpenOffice.org Writer : accessibility;OpenOffice.org assistive technology -OpenOffice.org Writer : accessibility;OpenOffice.org features -OpenOffice.org Writer : accessibility;OpenOffice.org Writer -OpenOffice.org Writer : accessibility;options -OpenOffice.org Writer : activating -OpenOffice.org Writer : activating;context menus -OpenOffice.org Writer : activating;Error Report Tool -OpenOffice.org Writer : activating;extended help tips -OpenOffice.org Writer : activating;plug-ins -OpenOffice.org Writer : ActiveX control -OpenOffice.org Writer : Adabas D databases (base) -OpenOffice.org Writer : add-ons, see UNO components -OpenOffice.org Writer : adding -OpenOffice.org Writer : adding;automatic captions (Writer) -OpenOffice.org Writer : adding;backgrounds -OpenOffice.org Writer : adding;bullets -OpenOffice.org Writer : adding;buttons in toolbars -OpenOffice.org Writer : adding;captions -OpenOffice.org Writer : adding;chapter numbers in captions -OpenOffice.org Writer : adding;conditions for XForm items -OpenOffice.org Writer : adding;draw objects -OpenOffice.org Writer : adding;Fontwork objects -OpenOffice.org Writer : adding;hyperlinks -OpenOffice.org Writer : adding;input fields -OpenOffice.org Writer : adding;items in Data Navigator -OpenOffice.org Writer : adding;line numbers -OpenOffice.org Writer : adding;namespaces in XForms -OpenOffice.org Writer : adding;numbering -OpenOffice.org Writer : adding;object borders -OpenOffice.org Writer : adding;page borders -OpenOffice.org Writer : adding;paragraph borders -OpenOffice.org Writer : adding;pictures from Gallery -OpenOffice.org Writer : adding;pictures in Gallery -OpenOffice.org Writer : adding;plug-ins -OpenOffice.org Writer : adding;push buttons -OpenOffice.org Writer : adding;rows/columns, by keyboard -OpenOffice.org Writer : adding;table borders -OpenOffice.org Writer : adding;textures on chart bars -OpenOffice.org Writer : additional selection mode -OpenOffice.org Writer : address books -OpenOffice.org Writer : address books;exchanging -OpenOffice.org Writer : address books;LDAP server (Base) -OpenOffice.org Writer : address books;registering -OpenOffice.org Writer : address labels from databases -OpenOffice.org Writer : adjusting page margins and cell widths -OpenOffice.org Writer : ADO databases (Base) -OpenOffice.org Writer : Agenda Wizard -OpenOffice.org Writer : aging filter -OpenOffice.org Writer : aligning -OpenOffice.org Writer : aligning;2D charts -OpenOffice.org Writer : aligning;cells -OpenOffice.org Writer : aligning;objects -OpenOffice.org Writer : aligning;paragraphs -OpenOffice.org Writer : aligning;tables in text -OpenOffice.org Writer : aligning;text objects -OpenOffice.org Writer : aligning;titles in charts -OpenOffice.org Writer : alphabetical indexes -OpenOffice.org Writer : alternative fonts -OpenOffice.org Writer : ampersand symbol, see also operators -OpenOffice.org Writer : anchors -OpenOffice.org Writer : anchors;changing -OpenOffice.org Writer : anchors;displaying (Calc) -OpenOffice.org Writer : anchors;options -OpenOffice.org Writer : anchors;types/positions for draw objects -OpenOffice.org Writer : animations -OpenOffice.org Writer : animations;accessibility options -OpenOffice.org Writer : animations;text -OpenOffice.org Writer : appearance options -OpenOffice.org Writer : applet insertion -OpenOffice.org Writer : applying -OpenOffice.org Writer : applying;languages, to selected text -OpenOffice.org Writer : applying;numbering styles -OpenOffice.org Writer : applying;numbering/bullets -OpenOffice.org Writer : applying;page styles -OpenOffice.org Writer : applying;styles -OpenOffice.org Writer : Arabic -OpenOffice.org Writer : Arabic;entering text -OpenOffice.org Writer : Arabic;language settings -OpenOffice.org Writer : area charts -OpenOffice.org Writer : areas -OpenOffice.org Writer : areas;bitmap patterns -OpenOffice.org Writer : areas;hatched/dotted -OpenOffice.org Writer : areas;shadows -OpenOffice.org Writer : areas;slanting -OpenOffice.org Writer : areas;styles -OpenOffice.org Writer : areas;transparency -OpenOffice.org Writer : arguments in command line -OpenOffice.org Writer : arithmetical operators in formulas -OpenOffice.org Writer : arranging -OpenOffice.org Writer : arranging;headings -OpenOffice.org Writer : arranging;objects -OpenOffice.org Writer : arrows -OpenOffice.org Writer : arrows;defining arrow heads -OpenOffice.org Writer : arrows;defining arrow lines -OpenOffice.org Writer : arrows;drawing in text -OpenOffice.org Writer : ASCII -OpenOffice.org Writer : ASCII;definition -OpenOffice.org Writer : Asian languages -OpenOffice.org Writer : Asian languages;enabling -OpenOffice.org Writer : Asian languages;search options -OpenOffice.org Writer : Asian languages;sorting paragraphs/table rows -OpenOffice.org Writer : Asian Phonetic Guide -OpenOffice.org Writer : Asian typography -OpenOffice.org Writer : aspect ratio -OpenOffice.org Writer : aspect ratio;resizing objects -OpenOffice.org Writer : assigning scripts -OpenOffice.org Writer : assistive technology in OpenOffice.org -OpenOffice.org Writer : attaching toolbars -OpenOffice.org Writer : attachments in e-mails -OpenOffice.org Writer : audio -OpenOffice.org Writer : audio;inserting -OpenOffice.org Writer : audio;UNIX -OpenOffice.org Writer : auto reloading HTML documents -OpenOffice.org Writer : AutoAbstract function for sending text to presentations -OpenOffice.org Writer : AutoCaption function in OpenOffice.org Writer -OpenOffice.org Writer : AutoComplete function in text and list boxes -OpenOffice.org Writer : AutoCorrect function -OpenOffice.org Writer : AutoCorrect function;adding exceptions -OpenOffice.org Writer : AutoCorrect function;context menu -OpenOffice.org Writer : AutoCorrect function;options -OpenOffice.org Writer : AutoCorrect function;pictures and frames -OpenOffice.org Writer : AutoCorrect function;quotes -OpenOffice.org Writer : AutoCorrect function;replacement table -OpenOffice.org Writer : AutoCorrect function;smart tags -OpenOffice.org Writer : AutoCorrect function;switching on and off in Calc -OpenOffice.org Writer : AutoCorrect function;turning off -OpenOffice.org Writer : AutoCorrect function;URL recognition -OpenOffice.org Writer : AutoCorrect function;word completion -OpenOffice.org Writer : AutoFormat function -OpenOffice.org Writer : AutoFormat function;applying to text tables -OpenOffice.org Writer : AutoFormat function;headings -OpenOffice.org Writer : AutoFormat function;switching on and off -OpenOffice.org Writer : AutoFormat function;text documents -OpenOffice.org Writer : automatic bullets -OpenOffice.org Writer : automatic captions (Writer) -OpenOffice.org Writer : automatic changes on/off -OpenOffice.org Writer : automatic control focus -OpenOffice.org Writer : automatic heading formatting -OpenOffice.org Writer : automatic hyperlink formatting -OpenOffice.org Writer : automatic hyphenation in text -OpenOffice.org Writer : automatic line breaks -OpenOffice.org Writer : automatic lines/borders in text -OpenOffice.org Writer : automatic numbering -OpenOffice.org Writer : automatic numbering;AutoCorrect function -OpenOffice.org Writer : automatic numbering;of objects -OpenOffice.org Writer : automatic saving -OpenOffice.org Writer : automatic spellcheck -OpenOffice.org Writer : automatic word completion -OpenOffice.org Writer : AutoPilots, see wizards -OpenOffice.org Writer : AutoShapes feature in Microsoft Office -OpenOffice.org Writer : AutoText -OpenOffice.org Writer : averages in charts -OpenOffice.org Writer : axes -OpenOffice.org Writer : axes;better scaling -OpenOffice.org Writer : axes;formatting -OpenOffice.org Writer : axes;formatting grids -OpenOffice.org Writer : axes;inserting grids -OpenOffice.org Writer : axes;interval marks -OpenOffice.org Writer : axes;showing axes in charts -OpenOffice.org Writer : axes in charts -OpenOffice.org Writer : backgrounds -OpenOffice.org Writer : backgrounds;defining colors/pictures -OpenOffice.org Writer : backgrounds;different pages -OpenOffice.org Writer : backgrounds;frames/sections/indexes -OpenOffice.org Writer : backgrounds;inserting from Gallery -OpenOffice.org Writer : backgrounds;printing -OpenOffice.org Writer : backing window -OpenOffice.org Writer : backups -OpenOffice.org Writer : backups;automatic -OpenOffice.org Writer : backups;documents -OpenOffice.org Writer : bar charts -OpenOffice.org Writer : Basic -OpenOffice.org Writer : Basic;fonts for source display -OpenOffice.org Writer : Basic;programming -OpenOffice.org Writer : Basic;recording macros -OpenOffice.org Writer : Basic;scripting -OpenOffice.org Writer : basic fonts -OpenOffice.org Writer : BeanShell scripting -OpenOffice.org Writer : behavior of rows/columns -OpenOffice.org Writer : Bézier curves -OpenOffice.org Writer : Bézier curves;control points in presentations -OpenOffice.org Writer : bi-directional writing -OpenOffice.org Writer : bibliographies -OpenOffice.org Writer : binding space -OpenOffice.org Writer : bitmaps -OpenOffice.org Writer : bitmaps;inserting and editing -OpenOffice.org Writer : bitmaps;off for faster printing -OpenOffice.org Writer : bitmaps;patterns -OpenOffice.org Writer : black and white printing -OpenOffice.org Writer : black printing in Calc -OpenOffice.org Writer : blank pages with alternating page styles -OpenOffice.org Writer : block selection mode -OpenOffice.org Writer : blocks of text -OpenOffice.org Writer : bold -OpenOffice.org Writer : bold;AutoFormat function -OpenOffice.org Writer : bold;formatting while typing -OpenOffice.org Writer : bold;text -OpenOffice.org Writer : book previews -OpenOffice.org Writer : book view -OpenOffice.org Writer : booklet printing -OpenOffice.org Writer : bookmarks -OpenOffice.org Writer : bookmarks;Help -OpenOffice.org Writer : bookmarks;master documents -OpenOffice.org Writer : bookmarks;positioning cursor -OpenOffice.org Writer : borders -OpenOffice.org Writer : borders;arranging -OpenOffice.org Writer : borders;automatic drawing on/off -OpenOffice.org Writer : borders;cells on screen (Calc) -OpenOffice.org Writer : borders;for footnotes/endnotes -OpenOffice.org Writer : borders;for headers/footers -OpenOffice.org Writer : borders;for objects -OpenOffice.org Writer : borders;for pages -OpenOffice.org Writer : borders;for paragraphs -OpenOffice.org Writer : borders;for tables -OpenOffice.org Writer : borders;for text tables -OpenOffice.org Writer : borders;shadows -OpenOffice.org Writer : borders;table boundaries (Writer) -OpenOffice.org Writer : borders, see also frames -OpenOffice.org Writer : bound fields -OpenOffice.org Writer : bound fields;controls -OpenOffice.org Writer : boundaries of tables (Writer) -OpenOffice.org Writer : break display (Writer) -OpenOffice.org Writer : brochures -OpenOffice.org Writer : brochures;printing individual -OpenOffice.org Writer : brochures;printing several -OpenOffice.org Writer : brush for copying styles -OpenOffice.org Writer : build numbers of OpenOffice.org -OpenOffice.org Writer : bullet lists -OpenOffice.org Writer : bullet lists;changing levels -OpenOffice.org Writer : bullet lists;creating while typing -OpenOffice.org Writer : bullet lists;formatting options -OpenOffice.org Writer : bullet lists;interrupting -OpenOffice.org Writer : bullet lists;turning on and off -OpenOffice.org Writer : bullets -OpenOffice.org Writer : bullets;adding and editing -OpenOffice.org Writer : bullets;paragraphs -OpenOffice.org Writer : bullets;replacing -OpenOffice.org Writer : bullets;turning off -OpenOffice.org Writer : bullets;using automatically -OpenOffice.org Writer : business cards -OpenOffice.org Writer : business cards;creating and synchronizing -OpenOffice.org Writer : business cards;using templates -OpenOffice.org Writer : button bars, see toolbars -OpenOffice.org Writer : buttons -OpenOffice.org Writer : buttons;adding push buttons -OpenOffice.org Writer : buttons;big/small -OpenOffice.org Writer : buttons;editing hyperlink buttons -OpenOffice.org Writer : buttons;form functions -OpenOffice.org Writer : buttons;toolbars -OpenOffice.org Writer : cache for graphics -OpenOffice.org Writer : calculating -OpenOffice.org Writer : calculating;across multiple text tables -OpenOffice.org Writer : calculating;complex formulas in text -OpenOffice.org Writer : calculating;in text -OpenOffice.org Writer : calculating;in text tables -OpenOffice.org Writer : calculating;iterative references (Calc) -OpenOffice.org Writer : calculating;mean values -OpenOffice.org Writer : calculating;regression curves -OpenOffice.org Writer : calculating;sums in text tables -OpenOffice.org Writer : callouts -OpenOffice.org Writer : callouts;drawings -OpenOffice.org Writer : capital letters -OpenOffice.org Writer : capital letters;AutoCorrect function -OpenOffice.org Writer : capital letters;avoiding after specific abbreviations -OpenOffice.org Writer : capital letters;changing to small letters -OpenOffice.org Writer : capital letters;changing to small letters after periods -OpenOffice.org Writer : capital letters;font effects -OpenOffice.org Writer : capital letters;starting paragraphs -OpenOffice.org Writer : captions -OpenOffice.org Writer : captions;adding chapter numbers -OpenOffice.org Writer : captions;automatic captions (Writer) -OpenOffice.org Writer : captions;inserting and editing -OpenOffice.org Writer : captions;tables/pictures/frames/OLE objects (Writer) -OpenOffice.org Writer : captions, see also labels/callouts -OpenOffice.org Writer : cascading update (Base) -OpenOffice.org Writer : case sensitivity -OpenOffice.org Writer : case sensitivity;comparing cell contents (Calc) -OpenOffice.org Writer : case sensitivity;searching -OpenOffice.org Writer : cell merges -OpenOffice.org Writer : cells -OpenOffice.org Writer : cells;adapting the width by keyboard -OpenOffice.org Writer : cells;aligning -OpenOffice.org Writer : cells;backgrounds -OpenOffice.org Writer : cells;borders in text tables -OpenOffice.org Writer : cells;calculating sums -OpenOffice.org Writer : cells;coloring (Calc) -OpenOffice.org Writer : cells;cursor positions after input (Calc) -OpenOffice.org Writer : cells;enlarging and reducing in text tables -OpenOffice.org Writer : cells;formatting without effect (Calc) -OpenOffice.org Writer : cells;inserting from spreadsheets -OpenOffice.org Writer : cells;line breaks -OpenOffice.org Writer : cells;linked to controls -OpenOffice.org Writer : cells;merging/splitting -OpenOffice.org Writer : cells;number formats -OpenOffice.org Writer : cells;number of -OpenOffice.org Writer : cells;pasting -OpenOffice.org Writer : cells;resetting formats -OpenOffice.org Writer : cells;showing grid lines (Calc) -OpenOffice.org Writer : centered text -OpenOffice.org Writer : centering -OpenOffice.org Writer : centering;images on HTML pages -OpenOffice.org Writer : centering;text frames on pages -OpenOffice.org Writer : centimeters -OpenOffice.org Writer : central documents -OpenOffice.org Writer : certificates -OpenOffice.org Writer : Change Case feature in Microsoft Office -OpenOffice.org Writer : changes -OpenOffice.org Writer : changes;accepting or rejecting -OpenOffice.org Writer : changes;automatic -OpenOffice.org Writer : changes;comparing to original -OpenOffice.org Writer : changes;protecting -OpenOffice.org Writer : changes;recording -OpenOffice.org Writer : changes;review function -OpenOffice.org Writer : changes;showing -OpenOffice.org Writer : changing -OpenOffice.org Writer : changing;bulleting symbols -OpenOffice.org Writer : changing;cases of text -OpenOffice.org Writer : changing;data binding of XForms -OpenOffice.org Writer : changing;default templates -OpenOffice.org Writer : changing;document titles -OpenOffice.org Writer : changing;field shadings -OpenOffice.org Writer : changing;fields, into text -OpenOffice.org Writer : changing;file associations in Setup program -OpenOffice.org Writer : changing;hyperlink text/formats/URLs -OpenOffice.org Writer : changing;icon sizes -OpenOffice.org Writer : changing;indents -OpenOffice.org Writer : changing;keyboard -OpenOffice.org Writer : changing;links -OpenOffice.org Writer : changing;menus -OpenOffice.org Writer : changing;object sizes -OpenOffice.org Writer : changing;outline levels -OpenOffice.org Writer : changing;page backgrounds -OpenOffice.org Writer : changing;size of text frames -OpenOffice.org Writer : changing;starting numbers in lists -OpenOffice.org Writer : changing;toolbars -OpenOffice.org Writer : changing;work directory -OpenOffice.org Writer : changing, see also editing and replacing -OpenOffice.org Writer : chapter names in headers -OpenOffice.org Writer : chapter numbering -OpenOffice.org Writer : chapter numbers in captions -OpenOffice.org Writer : character styles -OpenOffice.org Writer : character styles;language selection -OpenOffice.org Writer : character styles;style categories -OpenOffice.org Writer : characters -OpenOffice.org Writer : characters;alternative fonts -OpenOffice.org Writer : characters;Asian layout -OpenOffice.org Writer : characters;bold -OpenOffice.org Writer : characters;coloring -OpenOffice.org Writer : characters;contours -OpenOffice.org Writer : characters;counting -OpenOffice.org Writer : characters;displaying only on screen (Writer) -OpenOffice.org Writer : characters;enabling CTL and Asian characters -OpenOffice.org Writer : characters;font effects -OpenOffice.org Writer : characters;fonts and formats -OpenOffice.org Writer : characters;hyperlinks -OpenOffice.org Writer : characters;italics -OpenOffice.org Writer : characters;language selection -OpenOffice.org Writer : characters;shadowed -OpenOffice.org Writer : characters;spacing -OpenOffice.org Writer : characters;special -OpenOffice.org Writer : characters;subscript and superscript -OpenOffice.org Writer : characters;underlining -OpenOffice.org Writer : characters;uppercase or lowercase -OpenOffice.org Writer : charcoal sketches filter -OpenOffice.org Writer : chart legends -OpenOffice.org Writer : chart legends;hiding -OpenOffice.org Writer : chart legends;showing icons with labels -OpenOffice.org Writer : chart types -OpenOffice.org Writer : chart types;area -OpenOffice.org Writer : chart types;column and bar -OpenOffice.org Writer : chart types;column and line -OpenOffice.org Writer : chart types;line -OpenOffice.org Writer : chart types;net -OpenOffice.org Writer : chart types;pie/donut -OpenOffice.org Writer : chart types;stock -OpenOffice.org Writer : chart types;XY (scatter) -OpenOffice.org Writer : charts -OpenOffice.org Writer : charts;3D views -OpenOffice.org Writer : charts;aligning -OpenOffice.org Writer : charts;arranging within stacks -OpenOffice.org Writer : charts;bars with textures -OpenOffice.org Writer : charts;borders -OpenOffice.org Writer : charts;choosing chart types -OpenOffice.org Writer : charts;colors -OpenOffice.org Writer : charts;copying from Calc into Writer -OpenOffice.org Writer : charts;copying with link to source cell range -OpenOffice.org Writer : charts;data labels -OpenOffice.org Writer : charts;displaying (Calc) -OpenOffice.org Writer : charts;editing axes -OpenOffice.org Writer : charts;editing data -OpenOffice.org Writer : charts;editing legends -OpenOffice.org Writer : charts;editing titles -OpenOffice.org Writer : charts;formatting areas -OpenOffice.org Writer : charts;formatting floors -OpenOffice.org Writer : charts;formatting walls -OpenOffice.org Writer : charts;inserting -OpenOffice.org Writer : charts;labeling -OpenOffice.org Writer : charts;overview -OpenOffice.org Writer : charts;properties -OpenOffice.org Writer : charts;reorganizing -OpenOffice.org Writer : charts;scaling axes -OpenOffice.org Writer : charts;scaling text -OpenOffice.org Writer : charts;shortcuts -OpenOffice.org Writer : charts;showing axes -OpenOffice.org Writer : charts;updating automatically (Writer) -OpenOffice.org Writer : check box creation -OpenOffice.org Writer : checking spelling -OpenOffice.org Writer : checking spelling;all languages -OpenOffice.org Writer : checking spelling;manually -OpenOffice.org Writer : checking spelling;while typing -OpenOffice.org Writer : Chinese writing systems -OpenOffice.org Writer : choosing printers -OpenOffice.org Writer : circle drawings -OpenOffice.org Writer : Client Side ImageMap -OpenOffice.org Writer : clipboard -OpenOffice.org Writer : clipboard;calculating in text -OpenOffice.org Writer : clipboard;cutting -OpenOffice.org Writer : clipboard;pasting -OpenOffice.org Writer : clipboard;pasting formatted/unformatted text -OpenOffice.org Writer : clipboard;selection clipboard -OpenOffice.org Writer : clipboard;Unix -OpenOffice.org Writer : closing -OpenOffice.org Writer : closing;documents -OpenOffice.org Writer : closing;toolbars -OpenOffice.org Writer : color bar -OpenOffice.org Writer : colors -OpenOffice.org Writer : colors;adding -OpenOffice.org Writer : colors;appearance -OpenOffice.org Writer : colors;backgrounds -OpenOffice.org Writer : colors;charts -OpenOffice.org Writer : colors;fill format -OpenOffice.org Writer : colors;fonts -OpenOffice.org Writer : colors;grid lines and cells (Calc) -OpenOffice.org Writer : colors;models -OpenOffice.org Writer : colors;not printing -OpenOffice.org Writer : colors;printing in grayscale -OpenOffice.org Writer : colors;restriction (Calc) -OpenOffice.org Writer : colors;selection -OpenOffice.org Writer : column and line charts -OpenOffice.org Writer : column charts -OpenOffice.org Writer : column headers -OpenOffice.org Writer : column headers;displaying (Calc) -OpenOffice.org Writer : column headers;highlighting (Calc) -OpenOffice.org Writer : columns -OpenOffice.org Writer : columns;breaks in text tables -OpenOffice.org Writer : columns;inserting in tables -OpenOffice.org Writer : columns;inserting/deleting in tables by keyboard -OpenOffice.org Writer : columns;on text pages -OpenOffice.org Writer : columns;selecting -OpenOffice.org Writer : columns;setting with the mouse -OpenOffice.org Writer : combination charts -OpenOffice.org Writer : combo box creation -OpenOffice.org Writer : command button creation -OpenOffice.org Writer : command buttons, see push buttons -OpenOffice.org Writer : command line parameters -OpenOffice.org Writer : commands -OpenOffice.org Writer : commands;not visible -OpenOffice.org Writer : commands;SQL -OpenOffice.org Writer : comments -OpenOffice.org Writer : comments;on changes -OpenOffice.org Writer : comments feature in Microsoft Office -OpenOffice.org Writer : common terms -OpenOffice.org Writer : common terms;Chinese dictionary -OpenOffice.org Writer : common terms;glossaries -OpenOffice.org Writer : common terms;Internet glossary -OpenOffice.org Writer : Compare and Merge feature in Microsoft Office -OpenOffice.org Writer : comparisons -OpenOffice.org Writer : comparisons;document versions -OpenOffice.org Writer : comparisons;hidden text fields -OpenOffice.org Writer : comparisons;operators in default filter dialog -OpenOffice.org Writer : compatibility settings for MS Word import -OpenOffice.org Writer : complete screen view -OpenOffice.org Writer : completion of words -OpenOffice.org Writer : complex text layout -OpenOffice.org Writer : complex text layout;definition -OpenOffice.org Writer : complex text layout;enabling -OpenOffice.org Writer : compose key to insert special characters -OpenOffice.org Writer : concatenation, see ampersand symbol -OpenOffice.org Writer : concordance files -OpenOffice.org Writer : concordance files;definition -OpenOffice.org Writer : concordance files;indexes -OpenOffice.org Writer : conditional separators -OpenOffice.org Writer : conditional styles -OpenOffice.org Writer : conditional text -OpenOffice.org Writer : conditional text;page counts -OpenOffice.org Writer : conditional text;setting up -OpenOffice.org Writer : conditions -OpenOffice.org Writer : conditions;in fields and sections -OpenOffice.org Writer : conditions;in number formats -OpenOffice.org Writer : conditions;items in Data Navigator -OpenOffice.org Writer : conditions;user data fields -OpenOffice.org Writer : Configuration Manager -OpenOffice.org Writer : configuring -OpenOffice.org Writer : configuring;fax icon -OpenOffice.org Writer : configuring;OpenOffice.org -OpenOffice.org Writer : configuring;toolbars -OpenOffice.org Writer : connections to data sources (Base) -OpenOffice.org Writer : contents protection -OpenOffice.org Writer : context menus -OpenOffice.org Writer : continuation pages -OpenOffice.org Writer : contour editor -OpenOffice.org Writer : contour wrap -OpenOffice.org Writer : contours of text -OpenOffice.org Writer : control point display in presentations -OpenOffice.org Writer : controls -OpenOffice.org Writer : controls;activating in forms -OpenOffice.org Writer : controls;adding to documents -OpenOffice.org Writer : controls;arranging in forms -OpenOffice.org Writer : controls;arranging within stacks -OpenOffice.org Writer : controls;assigning data sources -OpenOffice.org Writer : controls;bound fields/list contents/linked cells -OpenOffice.org Writer : controls;events -OpenOffice.org Writer : controls;focus -OpenOffice.org Writer : controls;formatted fields -OpenOffice.org Writer : controls;grouping -OpenOffice.org Writer : controls;hidden -OpenOffice.org Writer : controls;inserting -OpenOffice.org Writer : controls;multi-line titles -OpenOffice.org Writer : controls;positions and sizes -OpenOffice.org Writer : controls;printing -OpenOffice.org Writer : controls;properties of form controls -OpenOffice.org Writer : controls;properties of table controls -OpenOffice.org Writer : controls;reference by SQL -OpenOffice.org Writer : controls;rich text control -OpenOffice.org Writer : controls;select mode -OpenOffice.org Writer : controls;showing (Writer) -OpenOffice.org Writer : converters -OpenOffice.org Writer : converters;Euro converter -OpenOffice.org Writer : converters;PostScript, UNIX -OpenOffice.org Writer : converters;XML -OpenOffice.org Writer : converting -OpenOffice.org Writer : converting;fields, into text -OpenOffice.org Writer : converting;Hangul/Hanja -OpenOffice.org Writer : converting;metrics -OpenOffice.org Writer : converting;Microsoft documents -OpenOffice.org Writer : converting;OpenOffice.org documents -OpenOffice.org Writer : converting;Pocket PC formats -OpenOffice.org Writer : converting;sections, into normal text -OpenOffice.org Writer : converting;text, into tables -OpenOffice.org Writer : copies -OpenOffice.org Writer : copies;printing -OpenOffice.org Writer : copies;removing line breaks -OpenOffice.org Writer : copying -OpenOffice.org Writer : copying;by drag and drop -OpenOffice.org Writer : copying;charts from OpenOffice.org Calc -OpenOffice.org Writer : copying;data from text documents -OpenOffice.org Writer : copying;datasource records in spreadsheets -OpenOffice.org Writer : copying;draw objects -OpenOffice.org Writer : copying;draw objects between documents -OpenOffice.org Writer : copying;formatting -OpenOffice.org Writer : copying;from data source view -OpenOffice.org Writer : copying;from Gallery -OpenOffice.org Writer : copying;in Unix -OpenOffice.org Writer : copying;pictures, between documents -OpenOffice.org Writer : copying;sheet areas, to text documents -OpenOffice.org Writer : copying;styles, by fill format mode -OpenOffice.org Writer : copying;styles, from selections -OpenOffice.org Writer : copying;text sections -OpenOffice.org Writer : copying;to Gallery -OpenOffice.org Writer : copyright for OpenOffice.org -OpenOffice.org Writer : corner roundings -OpenOffice.org Writer : counting words -OpenOffice.org Writer : crash reports -OpenOffice.org Writer : criteria of query design (Base) -OpenOffice.org Writer : cropping pictures -OpenOffice.org Writer : cross-references -OpenOffice.org Writer : cross-references;inserting and updating -OpenOffice.org Writer : cross-references;inserting with Navigator -OpenOffice.org Writer : cross-references;modifying -OpenOffice.org Writer : CTL -OpenOffice.org Writer : CTL;complex text layout languages -OpenOffice.org Writer : CTL;definition -OpenOffice.org Writer : CTL;options -OpenOffice.org Writer : currencies -OpenOffice.org Writer : currencies;converters -OpenOffice.org Writer : currencies;formats and format codes -OpenOffice.org Writer : currency field creation -OpenOffice.org Writer : currency formats -OpenOffice.org Writer : cursor -OpenOffice.org Writer : cursor;allowing in protected areas (Writer) -OpenOffice.org Writer : cursor;direct cursor -OpenOffice.org Writer : cursor;in read-only text -OpenOffice.org Writer : cursor;quickly moving to an object -OpenOffice.org Writer : curves -OpenOffice.org Writer : curves;editing points -OpenOffice.org Writer : curves;properties in line charts/XY charts -OpenOffice.org Writer : custom dictionaries -OpenOffice.org Writer : custom dictionaries;editing -OpenOffice.org Writer : custom dictionaries;removing words from -OpenOffice.org Writer : custom hyphens (Writer) -OpenOffice.org Writer : custom quotes -OpenOffice.org Writer : custom templates -OpenOffice.org Writer : customizing -OpenOffice.org Writer : customizing;events -OpenOffice.org Writer : customizing;keyboard -OpenOffice.org Writer : customizing;menus -OpenOffice.org Writer : customizing;OpenOffice.org -OpenOffice.org Writer : customizing;round corners -OpenOffice.org Writer : customizing;toolbars -OpenOffice.org Writer : cutting -OpenOffice.org Writer : dashes -OpenOffice.org Writer : data -OpenOffice.org Writer : data;filtering in forms -OpenOffice.org Writer : data;forms and subforms -OpenOffice.org Writer : data;read-only -OpenOffice.org Writer : data;sorting in forms -OpenOffice.org Writer : data;user data -OpenOffice.org Writer : data binding change in XForms -OpenOffice.org Writer : data labels in charts -OpenOffice.org Writer : Data Navigator display options -OpenOffice.org Writer : data ranges in charts -OpenOffice.org Writer : data series -OpenOffice.org Writer : data source browser -OpenOffice.org Writer : data source explorer -OpenOffice.org Writer : data source view -OpenOffice.org Writer : data source view;drag and drop -OpenOffice.org Writer : data source view;overview -OpenOffice.org Writer : data source view;showing -OpenOffice.org Writer : data sources -OpenOffice.org Writer : data sources;as tables -OpenOffice.org Writer : data sources;connection settings (Base) -OpenOffice.org Writer : data sources;copying records to spreadsheets -OpenOffice.org Writer : data sources;displaying current -OpenOffice.org Writer : data sources;LDAP server (Base) -OpenOffice.org Writer : data sources;OpenOffice.org Base -OpenOffice.org Writer : data sources;registering address books -OpenOffice.org Writer : data sources;reports -OpenOffice.org Writer : data sources;setting for stock charts -OpenOffice.org Writer : data sources;viewing -OpenOffice.org Writer : data structure of XForms -OpenOffice.org Writer : data values in charts -OpenOffice.org Writer : database contents -OpenOffice.org Writer : database contents;inserting as tables -OpenOffice.org Writer : database contents;inserting as text -OpenOffice.org Writer : database reports -OpenOffice.org Writer : Database Wizard (Base) -OpenOffice.org Writer : databases -OpenOffice.org Writer : databases;administration through SQL (Base) -OpenOffice.org Writer : databases;ADO (Base) -OpenOffice.org Writer : databases;connecting (Base) -OpenOffice.org Writer : databases;creating -OpenOffice.org Writer : databases;creating bibliographies -OpenOffice.org Writer : databases;creating labels -OpenOffice.org Writer : databases;creating queries -OpenOffice.org Writer : databases;creating reports -OpenOffice.org Writer : databases;creating tables -OpenOffice.org Writer : databases;dBASE (Base) -OpenOffice.org Writer : databases;deleting (Base) -OpenOffice.org Writer : databases;drag and drop (Base) -OpenOffice.org Writer : databases;editing tables -OpenOffice.org Writer : databases;exchanging -OpenOffice.org Writer : databases;form filters -OpenOffice.org Writer : databases;formats (Base) -OpenOffice.org Writer : databases;importing/exporting -OpenOffice.org Writer : databases;in conditions -OpenOffice.org Writer : databases;JDBC (Base) -OpenOffice.org Writer : databases;main page (Base) -OpenOffice.org Writer : databases;MySQL (Base) -OpenOffice.org Writer : databases;ODBC (Base) -OpenOffice.org Writer : databases;overview -OpenOffice.org Writer : databases;registering (Base) -OpenOffice.org Writer : databases;searching records -OpenOffice.org Writer : databases;shortcut keys -OpenOffice.org Writer : databases;sorting -OpenOffice.org Writer : databases;standard filters -OpenOffice.org Writer : databases;text formats -OpenOffice.org Writer : databases;viewing -OpenOffice.org Writer : date fields -OpenOffice.org Writer : date fields;creating -OpenOffice.org Writer : date fields;fixed/variable -OpenOffice.org Writer : date fields;HTML -OpenOffice.org Writer : date fields;properties -OpenOffice.org Writer : date formats -OpenOffice.org Writer : dates -OpenOffice.org Writer : dates;default (Calc) -OpenOffice.org Writer : dates;formatting automatically in tables -OpenOffice.org Writer : dates;inserting -OpenOffice.org Writer : dates;printing in presentations -OpenOffice.org Writer : dates;start 1900/01/01 (Calc) -OpenOffice.org Writer : dates;start 1904/01/01 (Calc) -OpenOffice.org Writer : dBASE -OpenOffice.org Writer : dBASE;database settings (Base) -OpenOffice.org Writer : DDE -OpenOffice.org Writer : DDE;command for inserting sections -OpenOffice.org Writer : DDE;definition -OpenOffice.org Writer : DDE;inserting tables -OpenOffice.org Writer : deactivating -OpenOffice.org Writer : deactivating;plug-ins -OpenOffice.org Writer : deactivating;word completion -OpenOffice.org Writer : decimal places displayed (Calc) -OpenOffice.org Writer : decimal separator key -OpenOffice.org Writer : decimal tab stops -OpenOffice.org Writer : default directories -OpenOffice.org Writer : default file formats -OpenOffice.org Writer : default filters -OpenOffice.org Writer : default filters;comparison operators -OpenOffice.org Writer : default filters;databases -OpenOffice.org Writer : default printer -OpenOffice.org Writer : default printer;setting up -OpenOffice.org Writer : default printer;UNIX -OpenOffice.org Writer : default templates -OpenOffice.org Writer : default templates;changing -OpenOffice.org Writer : default templates;defining -OpenOffice.org Writer : default templates;organizing -OpenOffice.org Writer : defaults -OpenOffice.org Writer : defaults;documents -OpenOffice.org Writer : defaults;file formats -OpenOffice.org Writer : defaults;fonts -OpenOffice.org Writer : defaults;grids (Writer/Calc) -OpenOffice.org Writer : defaults;languages -OpenOffice.org Writer : defaults;number formats -OpenOffice.org Writer : defaults;of saving -OpenOffice.org Writer : defaults;program configuration -OpenOffice.org Writer : defaults;tab stops in text -OpenOffice.org Writer : defaults;templates -OpenOffice.org Writer : defaults;views -OpenOffice.org Writer : defining -OpenOffice.org Writer : defining;arrowheads and other line ends -OpenOffice.org Writer : defining;colors -OpenOffice.org Writer : defining;conditions -OpenOffice.org Writer : defining;headers/footers -OpenOffice.org Writer : defining;line styles -OpenOffice.org Writer : defining;object borders -OpenOffice.org Writer : defining;page borders -OpenOffice.org Writer : defining;page styles -OpenOffice.org Writer : defining;paragraph borders -OpenOffice.org Writer : defining;queries (Base) -OpenOffice.org Writer : defining;starting page numbers -OpenOffice.org Writer : defining;table borders -OpenOffice.org Writer : defining;table borders in Writer -OpenOffice.org Writer : deleting -OpenOffice.org Writer : deleting;all direct formatting -OpenOffice.org Writer : deleting;databases (Base) -OpenOffice.org Writer : deleting;entries of indexes/tables of contents -OpenOffice.org Writer : deleting;footnotes -OpenOffice.org Writer : deleting;heading numbers -OpenOffice.org Writer : deleting;hyperlinks -OpenOffice.org Writer : deleting;indexes/tables of contents -OpenOffice.org Writer : deleting;line breaks -OpenOffice.org Writer : deleting;lines in text -OpenOffice.org Writer : deleting;models/instances -OpenOffice.org Writer : deleting;namespaces in XForms -OpenOffice.org Writer : deleting;numbers in lists -OpenOffice.org Writer : deleting;page breaks -OpenOffice.org Writer : deleting;rows/columns, by keyboard -OpenOffice.org Writer : deleting;tab stops -OpenOffice.org Writer : deleting;tables or table contents -OpenOffice.org Writer : deleting;templates -OpenOffice.org Writer : deleting;words in user-defined dictionaries -OpenOffice.org Writer : deleting;XML filters -OpenOffice.org Writer : demoting heading levels -OpenOffice.org Writer : depth stagger -OpenOffice.org Writer : descriptions for objects -OpenOffice.org Writer : design mode after saving -OpenOffice.org Writer : design view -OpenOffice.org Writer : design view;creating forms -OpenOffice.org Writer : design view;queries/views (Base) -OpenOffice.org Writer : designing -OpenOffice.org Writer : designing;database tables -OpenOffice.org Writer : designing;fonts -OpenOffice.org Writer : designing;queries (Base) -OpenOffice.org Writer : detaching toolbars -OpenOffice.org Writer : dictionaries -OpenOffice.org Writer : dictionaries;common terms in simplified and traditional chinese -OpenOffice.org Writer : dictionaries;creating -OpenOffice.org Writer : dictionaries;editing user-defined -OpenOffice.org Writer : dictionaries;spellcheck -OpenOffice.org Writer : dictionaries;thesaurus -OpenOffice.org Writer : dictionaries, see also languages -OpenOffice.org Writer : digital signatures -OpenOffice.org Writer : direct cursor -OpenOffice.org Writer : direct cursor;restriction -OpenOffice.org Writer : direct cursor;settings -OpenOffice.org Writer : direct formatting -OpenOffice.org Writer : direct formatting;exiting -OpenOffice.org Writer : direct formatting;undoing all -OpenOffice.org Writer : directories -OpenOffice.org Writer : directories;creating new -OpenOffice.org Writer : directories;directory structure -OpenOffice.org Writer : disabled persons -OpenOffice.org Writer : disabling -OpenOffice.org Writer : disabling;field highlighting -OpenOffice.org Writer : disabling;word completion -OpenOffice.org Writer : displaying -OpenOffice.org Writer : displaying;hidden text -OpenOffice.org Writer : displaying;non-printing characters (Writer) -OpenOffice.org Writer : displaying;notes (Calc) -OpenOffice.org Writer : displaying;notes in text documents -OpenOffice.org Writer : displaying;pictures and objects (Writer) -OpenOffice.org Writer : displaying;tables (Writer) -OpenOffice.org Writer : displaying;zero values (Calc) -OpenOffice.org Writer : distances -OpenOffice.org Writer : distinct values in SQL queries -OpenOffice.org Writer : distorting in drawings -OpenOffice.org Writer : distributing XML filters -OpenOffice.org Writer : dithering -OpenOffice.org Writer : dividing tables -OpenOffice.org Writer : DocInformation fields -OpenOffice.org Writer : docking -OpenOffice.org Writer : docking;definition -OpenOffice.org Writer : docking;Navigator window -OpenOffice.org Writer : docking;toolbars -OpenOffice.org Writer : docking;windows -OpenOffice.org Writer : Document Converter Wizard -OpenOffice.org Writer : Document Map feature in Microsoft Office -OpenOffice.org Writer : Document Map, see Navigator -OpenOffice.org Writer : document templates -OpenOffice.org Writer : document types in OpenOffice.org -OpenOffice.org Writer : documents -OpenOffice.org Writer : documents;changing titles -OpenOffice.org Writer : documents;closing -OpenOffice.org Writer : documents;comparing -OpenOffice.org Writer : documents;contents as lists -OpenOffice.org Writer : documents;editing time -OpenOffice.org Writer : documents;exporting -OpenOffice.org Writer : documents;importing -OpenOffice.org Writer : documents;languages -OpenOffice.org Writer : documents;master documents and subdocuments -OpenOffice.org Writer : documents;measurement units in -OpenOffice.org Writer : documents;merging -OpenOffice.org Writer : documents;number of pages/tables/sheets -OpenOffice.org Writer : documents;number of words/characters -OpenOffice.org Writer : documents;opening -OpenOffice.org Writer : documents;opening in design mode -OpenOffice.org Writer : documents;opening with templates -OpenOffice.org Writer : documents;organizing -OpenOffice.org Writer : documents;printing -OpenOffice.org Writer : documents;read-only -OpenOffice.org Writer : documents;reloading -OpenOffice.org Writer : documents;saving -OpenOffice.org Writer : documents;saving automatically -OpenOffice.org Writer : documents;saving in other formats -OpenOffice.org Writer : documents;sending as e-mail -OpenOffice.org Writer : documents;styles changed -OpenOffice.org Writer : documents;version management -OpenOffice.org Writer : documents;version numbers -OpenOffice.org Writer : donut charts -OpenOffice.org Writer : dotted areas -OpenOffice.org Writer : double-line spacing in paragraphs -OpenOffice.org Writer : double-line writing in Asian layout -OpenOffice.org Writer : drag and drop -OpenOffice.org Writer : drag and drop;copying and pasting text -OpenOffice.org Writer : drag and drop;creating new styles -OpenOffice.org Writer : drag and drop;data source view -OpenOffice.org Writer : drag and drop;from Gallery to draw objects -OpenOffice.org Writer : drag and drop;overview -OpenOffice.org Writer : drag and drop;pictures -OpenOffice.org Writer : drag and drop;to Gallery -OpenOffice.org Writer : draw objects -OpenOffice.org Writer : draw objects;adding/editing/copying -OpenOffice.org Writer : draw objects;anchoring -OpenOffice.org Writer : draw objects;arranging within stacks -OpenOffice.org Writer : draw objects;copying -OpenOffice.org Writer : draw objects;copying between documents -OpenOffice.org Writer : draw objects;cross-referencing -OpenOffice.org Writer : draw objects;displaying (Calc) -OpenOffice.org Writer : draw objects;dropping Gallery pictures -OpenOffice.org Writer : draw objects;flipping -OpenOffice.org Writer : draw objects;inserting captions -OpenOffice.org Writer : draw objects;legends -OpenOffice.org Writer : draw objects;positioning and resizing -OpenOffice.org Writer : draw objects;protecting -OpenOffice.org Writer : draw objects;slanting -OpenOffice.org Writer : draw objects;text in -OpenOffice.org Writer : Drawing bar -OpenOffice.org Writer : drawing lines in text -OpenOffice.org Writer : drawings -OpenOffice.org Writer : drawings;creating/opening -OpenOffice.org Writer : drawings;languages -OpenOffice.org Writer : drawings;printing -OpenOffice.org Writer : drawings;printing defaults -OpenOffice.org Writer : drawings;printing in text documents -OpenOffice.org Writer : drawings;saving -OpenOffice.org Writer : drawings;saving automatically -OpenOffice.org Writer : drawings;saving in other formats -OpenOffice.org Writer : drawings;sending as e-mail -OpenOffice.org Writer : drawings;showing (Writer) -OpenOffice.org Writer : drop caps insertion -OpenOffice.org Writer : drop-down lists in form functions -OpenOffice.org Writer : e-mail attachments -OpenOffice.org Writer : Edit File icon -OpenOffice.org Writer : edit mode -OpenOffice.org Writer : edit mode;after opening -OpenOffice.org Writer : edit mode;through Enter key (Calc) -OpenOffice.org Writer : Edit Points bar -OpenOffice.org Writer : editing -OpenOffice.org Writer : editing;captions -OpenOffice.org Writer : editing;chart axes -OpenOffice.org Writer : editing;chart data -OpenOffice.org Writer : editing;chart legends -OpenOffice.org Writer : editing;chart titles -OpenOffice.org Writer : editing;concordance files -OpenOffice.org Writer : editing;cross-references -OpenOffice.org Writer : editing;data binding of XForms -OpenOffice.org Writer : editing;database tables and queries -OpenOffice.org Writer : editing;draw objects -OpenOffice.org Writer : editing;Fontwork objects -OpenOffice.org Writer : editing;footnotes/endnotes -OpenOffice.org Writer : editing;hyperlinks -OpenOffice.org Writer : editing;index format -OpenOffice.org Writer : editing;indexes/tables of contents -OpenOffice.org Writer : editing;items in Data Navigator -OpenOffice.org Writer : editing;menus -OpenOffice.org Writer : editing;namespaces in XForms -OpenOffice.org Writer : editing;notes -OpenOffice.org Writer : editing;objects -OpenOffice.org Writer : editing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Writer : editing;pictures -OpenOffice.org Writer : editing;reports -OpenOffice.org Writer : editing;sections -OpenOffice.org Writer : editing;shortcut keys -OpenOffice.org Writer : editing;tab stops -OpenOffice.org Writer : editing;table/index entries -OpenOffice.org Writer : editing;templates -OpenOffice.org Writer : editing;text frames -OpenOffice.org Writer : editing;titles -OpenOffice.org Writer : editing;toolbars -OpenOffice.org Writer : editing;undoing -OpenOffice.org Writer : editing;XForms -OpenOffice.org Writer : editing time of documents -OpenOffice.org Writer : editors -OpenOffice.org Writer : editors;contour editor -OpenOffice.org Writer : editors;formula editor -OpenOffice.org Writer : editors;ImageMap editor -OpenOffice.org Writer : effects -OpenOffice.org Writer : effects;font positions -OpenOffice.org Writer : effects;fonts -OpenOffice.org Writer : effects;Fontwork icons -OpenOffice.org Writer : effects;text animation -OpenOffice.org Writer : emphasizing text -OpenOffice.org Writer : empty documents -OpenOffice.org Writer : empty page with alternating page styles -OpenOffice.org Writer : empty paragraph removal -OpenOffice.org Writer : encryption of contents -OpenOffice.org Writer : endnotes -OpenOffice.org Writer : endnotes;inserting and editing -OpenOffice.org Writer : endnotes;spacing -OpenOffice.org Writer : enlarging columns,cells and table rows -OpenOffice.org Writer : entering groups -OpenOffice.org Writer : entering text from right to left -OpenOffice.org Writer : entering text with direct cursor -OpenOffice.org Writer : entries -OpenOffice.org Writer : entries;bibliographies -OpenOffice.org Writer : entries;defining in indexes/tables of contents -OpenOffice.org Writer : entries;in tables of contents, as hyperlinks -OpenOffice.org Writer : envelopes -OpenOffice.org Writer : envelopes;inserting -OpenOffice.org Writer : equal sign, see also operators -OpenOffice.org Writer : equations in formula editor -OpenOffice.org Writer : error bars in charts -OpenOffice.org Writer : error indicators in charts -OpenOffice.org Writer : Error Report Tool -OpenOffice.org Writer : Euro -OpenOffice.org Writer : Euro;currency formats -OpenOffice.org Writer : Euro;Euro Converter Wizard -OpenOffice.org Writer : even/odd pages -OpenOffice.org Writer : even/odd pages;formatting -OpenOffice.org Writer : even/odd pages;printing -OpenOffice.org Writer : events -OpenOffice.org Writer : events;controls -OpenOffice.org Writer : events;customizing -OpenOffice.org Writer : events;in forms -OpenOffice.org Writer : examples for regular expressions -OpenOffice.org Writer : Excel -OpenOffice.org Writer : Excel;saving as -OpenOffice.org Writer : Excel;search criteria -OpenOffice.org Writer : exceptions -OpenOffice.org Writer : exceptions;AutoCorrect function -OpenOffice.org Writer : exceptions;user-defined dictionaries -OpenOffice.org Writer : exchanging databases -OpenOffice.org Writer : exchanging, see also replacing -OpenOffice.org Writer : executing -OpenOffice.org Writer : executing;SQL commands -OpenOffice.org Writer : exiting -OpenOffice.org Writer : exiting;direct formatting -OpenOffice.org Writer : exiting;groups -OpenOffice.org Writer : exiting;OpenOffice.org -OpenOffice.org Writer : expanding formatting (Calc) -OpenOffice.org Writer : explorer of data sources -OpenOffice.org Writer : export filters -OpenOffice.org Writer : exporting -OpenOffice.org Writer : exporting;bitmaps -OpenOffice.org Writer : exporting;databases -OpenOffice.org Writer : exporting;HTML and text documents -OpenOffice.org Writer : exporting;Microsoft Office documents with VBA code -OpenOffice.org Writer : exporting;spreadsheets to text format -OpenOffice.org Writer : exporting;templates -OpenOffice.org Writer : exporting;to foreign formats -OpenOffice.org Writer : exporting;to HTML -OpenOffice.org Writer : exporting;to Microsoft Office formats -OpenOffice.org Writer : exporting;to PDF -OpenOffice.org Writer : exporting;to PostScript format -OpenOffice.org Writer : exporting;to XML -OpenOffice.org Writer : exporting;XML files -OpenOffice.org Writer : extended tips in Help -OpenOffice.org Writer : extension mode in text -OpenOffice.org Writer : extensions -OpenOffice.org Writer : extensions;Extension Manager -OpenOffice.org Writer : extensions;file formats -OpenOffice.org Writer : external keys (Base) -OpenOffice.org Writer : faster printing -OpenOffice.org Writer : faxes -OpenOffice.org Writer : faxes;configuring OpenOffice.org -OpenOffice.org Writer : faxes;fax programs/fax printers under UNIX -OpenOffice.org Writer : faxes;selecting a fax machine -OpenOffice.org Writer : faxes;sending -OpenOffice.org Writer : faxes;wizards -OpenOffice.org Writer : fields -OpenOffice.org Writer : fields;converting into text -OpenOffice.org Writer : fields;database tables -OpenOffice.org Writer : fields;defining conditions -OpenOffice.org Writer : fields;displaying field codes (Writer) -OpenOffice.org Writer : fields;formatted fields -OpenOffice.org Writer : fields;HTML import and export -OpenOffice.org Writer : fields;input fields in text -OpenOffice.org Writer : fields;inserting time -OpenOffice.org Writer : fields;subject -OpenOffice.org Writer : fields;updating automatically (Writer) -OpenOffice.org Writer : fields;updating/viewing -OpenOffice.org Writer : fields;user data -OpenOffice.org Writer : file associations for Microsoft Office -OpenOffice.org Writer : file filters -OpenOffice.org Writer : file filters;mobile devices -OpenOffice.org Writer : file filters;XML -OpenOffice.org Writer : file formats -OpenOffice.org Writer : file formats;changing defaults -OpenOffice.org Writer : file formats;OpenDocument/XML -OpenOffice.org Writer : file formats;saving always in other formats -OpenOffice.org Writer : file selection button -OpenOffice.org Writer : file sharing options for current document -OpenOffice.org Writer : files -OpenOffice.org Writer : files;filters and formats -OpenOffice.org Writer : files;importing -OpenOffice.org Writer : files;opening -OpenOffice.org Writer : files;opening with placeholders -OpenOffice.org Writer : files;properties -OpenOffice.org Writer : files;saving -OpenOffice.org Writer : files;saving automatically -OpenOffice.org Writer : files;saving in other formats -OpenOffice.org Writer : files;sending as e-mail -OpenOffice.org Writer : files;version numbers -OpenOffice.org Writer : files and folders in OpenOffice.org -OpenOffice.org Writer : fill characters with tabulators -OpenOffice.org Writer : fill colors for areas -OpenOffice.org Writer : fill format mode -OpenOffice.org Writer : fill patterns for areas -OpenOffice.org Writer : filter conditions -OpenOffice.org Writer : filter conditions;connecting -OpenOffice.org Writer : filter conditions;in queries (Base) -OpenOffice.org Writer : filtering -OpenOffice.org Writer : filtering;data in databases -OpenOffice.org Writer : filtering;data in forms -OpenOffice.org Writer : filters -OpenOffice.org Writer : filters;comparison operators -OpenOffice.org Writer : filters;for import and export -OpenOffice.org Writer : filters;Navigator -OpenOffice.org Writer : filters;pictures -OpenOffice.org Writer : filters;XML filter settings -OpenOffice.org Writer : Find tab in Help -OpenOffice.org Writer : finding -OpenOffice.org Writer : finding;in all sheets -OpenOffice.org Writer : finding;records in form documents -OpenOffice.org Writer : finding;selections -OpenOffice.org Writer : finding;similarity search -OpenOffice.org Writer : finding;text/text formats/styles/objects -OpenOffice.org Writer : first letters as large capital letters -OpenOffice.org Writer : First Page page style -OpenOffice.org Writer : fitting to pages -OpenOffice.org Writer : fitting to pages;print settings in Math -OpenOffice.org Writer : fitting to pages;print settings in presentations -OpenOffice.org Writer : fixed dates -OpenOffice.org Writer : fixed text -OpenOffice.org Writer : fixed text;form functions -OpenOffice.org Writer : fixing toolbars -OpenOffice.org Writer : flipping draw objects -OpenOffice.org Writer : floating frames in HTML documents -OpenOffice.org Writer : floating titles in headers -OpenOffice.org Writer : floating toolbars -OpenOffice.org Writer : focus of controls -OpenOffice.org Writer : folder creation -OpenOffice.org Writer : font attributes -OpenOffice.org Writer : font attributes;resetting -OpenOffice.org Writer : font lists -OpenOffice.org Writer : font name box -OpenOffice.org Writer : font sizes -OpenOffice.org Writer : font sizes;bullets -OpenOffice.org Writer : font sizes;relative changes -OpenOffice.org Writer : font sizes;scaling on screen -OpenOffice.org Writer : font sizes;text -OpenOffice.org Writer : fonts -OpenOffice.org Writer : fonts;adding under UNIX -OpenOffice.org Writer : fonts;changing in templates -OpenOffice.org Writer : fonts;colors -OpenOffice.org Writer : fonts;default settings -OpenOffice.org Writer : fonts;effects -OpenOffice.org Writer : fonts;for HTML and Basic -OpenOffice.org Writer : fonts;formats -OpenOffice.org Writer : fonts;outlines -OpenOffice.org Writer : fonts;positions in text -OpenOffice.org Writer : fonts;resetting -OpenOffice.org Writer : fonts;shadows -OpenOffice.org Writer : fonts;specifying several -OpenOffice.org Writer : fonts;strikethrough -OpenOffice.org Writer : fonts;styles -OpenOffice.org Writer : fonts;text objects -OpenOffice.org Writer : Fontwork icons -OpenOffice.org Writer : footers -OpenOffice.org Writer : footers;about -OpenOffice.org Writer : footers;backgrounds -OpenOffice.org Writer : footers;defining for left and right pages -OpenOffice.org Writer : footers;formatting -OpenOffice.org Writer : footers;inserting -OpenOffice.org Writer : footers;with page numbers -OpenOffice.org Writer : footnotes -OpenOffice.org Writer : footnotes;inserting and editing -OpenOffice.org Writer : footnotes;spacing -OpenOffice.org Writer : form controls -OpenOffice.org Writer : form controls;assigning macros -OpenOffice.org Writer : form controls;protecting -OpenOffice.org Writer : form controls;toolbars -OpenOffice.org Writer : form fields -OpenOffice.org Writer : form filters -OpenOffice.org Writer : form letters -OpenOffice.org Writer : Form Navigator -OpenOffice.org Writer : format codes -OpenOffice.org Writer : format codes;numbers -OpenOffice.org Writer : format codes;user-defined number formats -OpenOffice.org Writer : format filling printing in OpenOffice.org Math -OpenOffice.org Writer : Format Paintbrush -OpenOffice.org Writer : formats -OpenOffice.org Writer : formats;Asian layout -OpenOffice.org Writer : formats;Asian typography -OpenOffice.org Writer : formats;copying and pasting -OpenOffice.org Writer : formats;finding and replacing -OpenOffice.org Writer : formats;fonts -OpenOffice.org Writer : formats;maximizing page formats -OpenOffice.org Writer : formats;number and currency formats -OpenOffice.org Writer : formats;of currencies/date/time -OpenOffice.org Writer : formats;on opening and saving -OpenOffice.org Writer : formats;pasting in special formats -OpenOffice.org Writer : formats;positions -OpenOffice.org Writer : formats;resetting -OpenOffice.org Writer : formats;tabulators -OpenOffice.org Writer : formats;undoing when writing -OpenOffice.org Writer : formatted fields -OpenOffice.org Writer : formatted fields;form functions -OpenOffice.org Writer : formatted fields;properties -OpenOffice.org Writer : formatting -OpenOffice.org Writer : formatting;axes in charts -OpenOffice.org Writer : formatting;bold, while typing -OpenOffice.org Writer : formatting;bullets -OpenOffice.org Writer : formatting;changing individual pages -OpenOffice.org Writer : formatting;chart areas -OpenOffice.org Writer : formatting;chart floors -OpenOffice.org Writer : formatting;chart legends -OpenOffice.org Writer : formatting;chart titles -OpenOffice.org Writer : formatting;chart walls -OpenOffice.org Writer : formatting;contour wrap -OpenOffice.org Writer : formatting;copying -OpenOffice.org Writer : formatting;definition -OpenOffice.org Writer : formatting;even/odd pages -OpenOffice.org Writer : formatting;exiting direct formatting -OpenOffice.org Writer : formatting;expanding (Calc) -OpenOffice.org Writer : formatting;font effects -OpenOffice.org Writer : formatting;hyperlinks -OpenOffice.org Writer : formatting;indenting paragraphs -OpenOffice.org Writer : formatting;indexes and tables of contents -OpenOffice.org Writer : formatting;numbered lists -OpenOffice.org Writer : formatting;page numbers -OpenOffice.org Writer : formatting;pages -OpenOffice.org Writer : formatting;printer metrics (Writer) -OpenOffice.org Writer : formatting;register-true text -OpenOffice.org Writer : formatting;undoing -OpenOffice.org Writer : formatting;with adjacent paragraph format -OpenOffice.org Writer : formatting styles -OpenOffice.org Writer : formatting styles;importing -OpenOffice.org Writer : formatting styles;styles and templates -OpenOffice.org Writer : forms -OpenOffice.org Writer : forms;browsing -OpenOffice.org Writer : forms;Combo Box/List Box Wizard -OpenOffice.org Writer : forms;creating -OpenOffice.org Writer : forms;data -OpenOffice.org Writer : forms;designing (Base) -OpenOffice.org Writer : forms;events -OpenOffice.org Writer : forms;filtering data -OpenOffice.org Writer : forms;finding records -OpenOffice.org Writer : forms;focus after opening -OpenOffice.org Writer : forms;general information (Base) -OpenOffice.org Writer : forms;grouping controls -OpenOffice.org Writer : forms;HTML filters -OpenOffice.org Writer : forms;Navigator -OpenOffice.org Writer : forms;opening in design mode -OpenOffice.org Writer : forms;properties -OpenOffice.org Writer : forms;sorting data -OpenOffice.org Writer : forms;subforms -OpenOffice.org Writer : forms;wizards -OpenOffice.org Writer : forms;XForms -OpenOffice.org Writer : Formula Auditing feature in Microsoft Office -OpenOffice.org Writer : formula texts -OpenOffice.org Writer : formula texts;printing in OpenOffice.org Math -OpenOffice.org Writer : formulas -OpenOffice.org Writer : formulas;calculating in text -OpenOffice.org Writer : formulas;complex formulas in text -OpenOffice.org Writer : formulas;new -OpenOffice.org Writer : formulas;pasting results in text documents -OpenOffice.org Writer : formulas;starting formula editor -OpenOffice.org Writer : formulas in reports -OpenOffice.org Writer : formulas in reports;editing -OpenOffice.org Writer : formulating conditions -OpenOffice.org Writer : forums and support -OpenOffice.org Writer : frames -OpenOffice.org Writer : frames;anchoring options -OpenOffice.org Writer : frames;around objects -OpenOffice.org Writer : frames;around pages -OpenOffice.org Writer : frames;around paragraphs -OpenOffice.org Writer : frames;around tables -OpenOffice.org Writer : frames;around text tables -OpenOffice.org Writer : frames;AutoCorrect function -OpenOffice.org Writer : frames;backgrounds -OpenOffice.org Writer : frames;captions (Writer) -OpenOffice.org Writer : frames;defining hyperlinks -OpenOffice.org Writer : frames;jumping to -OpenOffice.org Writer : frames;labeling -OpenOffice.org Writer : frames;linking -OpenOffice.org Writer : frames;printing in OpenOffice.org Math -OpenOffice.org Writer : frames;protecting -OpenOffice.org Writer : frames;selection frames -OpenOffice.org Writer : frames;styles -OpenOffice.org Writer : frames;text fitting to frames -OpenOffice.org Writer : frames;unlinking -OpenOffice.org Writer : freeform lines -OpenOffice.org Writer : freeform lines;draw functions -OpenOffice.org Writer : FTP -OpenOffice.org Writer : FTP;opening documents -OpenOffice.org Writer : FTP;saving documents -OpenOffice.org Writer : full joins (Base) -OpenOffice.org Writer : full screen view -OpenOffice.org Writer : full-text search in Help -OpenOffice.org Writer : functions in reports -OpenOffice.org Writer : functions in reports;editing -OpenOffice.org Writer : Gallery -OpenOffice.org Writer : Gallery;adding pictures -OpenOffice.org Writer : Gallery;docking and resizing -OpenOffice.org Writer : Gallery;dragging pictures to draw objects -OpenOffice.org Writer : Gallery;hiding/showing -OpenOffice.org Writer : Gallery;inserting pictures from -OpenOffice.org Writer : German spellcheck -OpenOffice.org Writer : get method for form transmissions -OpenOffice.org Writer : getting support -OpenOffice.org Writer : GIF format -OpenOffice.org Writer : glossaries -OpenOffice.org Writer : glossaries;common terms -OpenOffice.org Writer : glossaries;Internet terms -OpenOffice.org Writer : gradients off for faster printing -OpenOffice.org Writer : graphical text art -OpenOffice.org Writer : graphics -OpenOffice.org Writer : graphics;cache -OpenOffice.org Writer : graphics;do not show -OpenOffice.org Writer : graphics;protecting -OpenOffice.org Writer : graphics, see also pictures -OpenOffice.org Writer : grayscale printing -OpenOffice.org Writer : grid controls -OpenOffice.org Writer : grid controls;form functions -OpenOffice.org Writer : grids -OpenOffice.org Writer : grids;defaults (Writer/Calc) -OpenOffice.org Writer : grids;display options (Impress/Draw) -OpenOffice.org Writer : grids;displaying lines (Calc) -OpenOffice.org Writer : grids;formatting axes -OpenOffice.org Writer : grids;inserting in charts -OpenOffice.org Writer : group box creation -OpenOffice.org Writer : groups -OpenOffice.org Writer : groups;entering/exiting/ungrouping -OpenOffice.org Writer : groups;naming -OpenOffice.org Writer : groups;of controls -OpenOffice.org Writer : guides -OpenOffice.org Writer : guides;display options (Impress/Draw) -OpenOffice.org Writer : guides;displaying when moving objects (Impress) -OpenOffice.org Writer : guides;showing (Calc) -OpenOffice.org Writer : guides;showing when moving frames (Writer) -OpenOffice.org Writer : gutter -OpenOffice.org Writer : handles -OpenOffice.org Writer : handles;displaying (Writer) -OpenOffice.org Writer : handles;scaling -OpenOffice.org Writer : handles;showing simple/large handles (Calc) -OpenOffice.org Writer : hanging indents in paragraphs -OpenOffice.org Writer : Hangul/Hanja -OpenOffice.org Writer : hard returns in pasted text -OpenOffice.org Writer : hatching -OpenOffice.org Writer : headers -OpenOffice.org Writer : headers;about -OpenOffice.org Writer : headers;backgrounds -OpenOffice.org Writer : headers;chapter information -OpenOffice.org Writer : headers;defining for left and right pages -OpenOffice.org Writer : headers;formatting -OpenOffice.org Writer : headers;inserting -OpenOffice.org Writer : headings -OpenOffice.org Writer : headings;automatic -OpenOffice.org Writer : headings;entering as text box -OpenOffice.org Writer : headings;jumping to -OpenOffice.org Writer : headings;numbering -OpenOffice.org Writer : headings;own paragraph styles -OpenOffice.org Writer : headings;rearranging -OpenOffice.org Writer : headings;repeating in tables -OpenOffice.org Writer : headings;starting with tab stops -OpenOffice.org Writer : headings;switching levels by keyboard -OpenOffice.org Writer : Hebrew -OpenOffice.org Writer : Hebrew;entering text -OpenOffice.org Writer : Hebrew;language settings -OpenOffice.org Writer : Help -OpenOffice.org Writer : Help;bookmarks -OpenOffice.org Writer : Help;extended tips on/off -OpenOffice.org Writer : Help;full-text search -OpenOffice.org Writer : Help;Help tips -OpenOffice.org Writer : Help;keywords -OpenOffice.org Writer : Help;navigation pane showing/hiding -OpenOffice.org Writer : Help;style sheets -OpenOffice.org Writer : Help;topics -OpenOffice.org Writer : Help Agent -OpenOffice.org Writer : Help Agent;help -OpenOffice.org Writer : Help Agent;options -OpenOffice.org Writer : Help tips -OpenOffice.org Writer : Help tips;fields -OpenOffice.org Writer : Help tips;hiding -OpenOffice.org Writer : hidden controls in Form Navigator -OpenOffice.org Writer : hidden fields display (Writer) -OpenOffice.org Writer : hidden pages -OpenOffice.org Writer : hidden pages;printing in presentations -OpenOffice.org Writer : hidden text -OpenOffice.org Writer : hidden text;displaying -OpenOffice.org Writer : hidden text;showing (Writer) -OpenOffice.org Writer : hiding -OpenOffice.org Writer : hiding;changes -OpenOffice.org Writer : hiding;chart legends -OpenOffice.org Writer : hiding;database fields -OpenOffice.org Writer : hiding;docked windows -OpenOffice.org Writer : hiding;navigation pane in Help window -OpenOffice.org Writer : hiding;rulers -OpenOffice.org Writer : hiding;sections -OpenOffice.org Writer : hiding;text, from specific users -OpenOffice.org Writer : hiding;text, with conditions -OpenOffice.org Writer : high contrast mode -OpenOffice.org Writer : Hindi -OpenOffice.org Writer : Hindi;entering text -OpenOffice.org Writer : Hindi;language settings -OpenOffice.org Writer : homepage creation -OpenOffice.org Writer : horizontal lines -OpenOffice.org Writer : horizontal rulers -OpenOffice.org Writer : horizontal scrollbars (Writer) -OpenOffice.org Writer : HowTos for charts -OpenOffice.org Writer : HTML -OpenOffice.org Writer : HTML;definition -OpenOffice.org Writer : HTML;export character set -OpenOffice.org Writer : HTML;fonts for source display -OpenOffice.org Writer : HTML;importing META tags -OpenOffice.org Writer : HTML;live presentations -OpenOffice.org Writer : HTML;special tags for fields -OpenOffice.org Writer : HTML documents -OpenOffice.org Writer : HTML documents;auto reloading -OpenOffice.org Writer : HTML documents;creating from text documents -OpenOffice.org Writer : HTML documents;headers and footers -OpenOffice.org Writer : HTML documents;importing/exporting -OpenOffice.org Writer : HTML documents;inserting linked sections -OpenOffice.org Writer : HTML documents;META tags in -OpenOffice.org Writer : HTML documents;new -OpenOffice.org Writer : HTML documents;source text -OpenOffice.org Writer : hyperlinks -OpenOffice.org Writer : hyperlinks;assigning macros -OpenOffice.org Writer : hyperlinks;character formats -OpenOffice.org Writer : hyperlinks;definition -OpenOffice.org Writer : hyperlinks;deleting -OpenOffice.org Writer : hyperlinks;editing -OpenOffice.org Writer : hyperlinks;for objects -OpenOffice.org Writer : hyperlinks;in tables of contents and indexes -OpenOffice.org Writer : hyperlinks;inserting -OpenOffice.org Writer : hyperlinks;inserting from Navigator -OpenOffice.org Writer : hyperlinks;jumping to -OpenOffice.org Writer : hyperlinks;relative and absolute -OpenOffice.org Writer : hyperlinks;turning off automatic recognition -OpenOffice.org Writer : hyperlinks, see also links -OpenOffice.org Writer : hyphenation -OpenOffice.org Writer : hyphenation;activating for a language -OpenOffice.org Writer : hyphenation;manual/automatic -OpenOffice.org Writer : hyphenation;minimal number of characters -OpenOffice.org Writer : hyphenation;preventing for specific words -OpenOffice.org Writer : hyphens -OpenOffice.org Writer : hyphens;displaying custom (Writer) -OpenOffice.org Writer : hyphens;inserting custom -OpenOffice.org Writer : icon bars, see toolbars -OpenOffice.org Writer : icon sizes -OpenOffice.org Writer : if-then queries as fields -OpenOffice.org Writer : ignore list for spellcheck -OpenOffice.org Writer : illumination -OpenOffice.org Writer : illumination;3D charts -OpenOffice.org Writer : illustrations, see pictures -OpenOffice.org Writer : image button creation -OpenOffice.org Writer : image control creation -OpenOffice.org Writer : ImageMap -OpenOffice.org Writer : ImageMap;definition -OpenOffice.org Writer : ImageMap;editor -OpenOffice.org Writer : images -OpenOffice.org Writer : images;do not show -OpenOffice.org Writer : images;ImageMap -OpenOffice.org Writer : images;inserting and editing bitmaps -OpenOffice.org Writer : images;inserting in text -OpenOffice.org Writer : images;placeholders in presentations -OpenOffice.org Writer : images, see also pictures -OpenOffice.org Writer : IME -OpenOffice.org Writer : IME;definition -OpenOffice.org Writer : IME;showing/hiding -OpenOffice.org Writer : import filters -OpenOffice.org Writer : import restrictions for Microsoft Office -OpenOffice.org Writer : importing -OpenOffice.org Writer : importing;bitmaps -OpenOffice.org Writer : importing;compatibility settings for text import -OpenOffice.org Writer : importing;databases -OpenOffice.org Writer : importing;documents in other formats -OpenOffice.org Writer : importing;from XML -OpenOffice.org Writer : importing;HTML and text documents -OpenOffice.org Writer : importing;HTML with META tags -OpenOffice.org Writer : importing;Microsoft Office documents with VBA code -OpenOffice.org Writer : importing;styles from other files -OpenOffice.org Writer : importing;tables in text format -OpenOffice.org Writer : importing;templates -OpenOffice.org Writer : inches -OpenOffice.org Writer : indents -OpenOffice.org Writer : indents;in text -OpenOffice.org Writer : indents;setting on rulers -OpenOffice.org Writer : Index tab in Help -OpenOffice.org Writer : indexes -OpenOffice.org Writer : indexes;alphabetical indexes -OpenOffice.org Writer : indexes;backgrounds -OpenOffice.org Writer : indexes;creating bibliographies -OpenOffice.org Writer : indexes;creating user-defined indexes -OpenOffice.org Writer : indexes;defining entries in -OpenOffice.org Writer : indexes;editing or deleting entries -OpenOffice.org Writer : indexes;editing/updating/deleting -OpenOffice.org Writer : indexes;formatting -OpenOffice.org Writer : indexes;master documents -OpenOffice.org Writer : indexes;multiple documents -OpenOffice.org Writer : indexes;showing/hiding Help index tab -OpenOffice.org Writer : indexes;unprotecting -OpenOffice.org Writer : indicator lines in text -OpenOffice.org Writer : initial capitals in titles -OpenOffice.org Writer : inner joins (Base) -OpenOffice.org Writer : input fields in text -OpenOffice.org Writer : input method window -OpenOffice.org Writer : insert mode for entering text -OpenOffice.org Writer : inserting -OpenOffice.org Writer : inserting;applets -OpenOffice.org Writer : inserting;captions -OpenOffice.org Writer : inserting;cell ranges from spreadsheets -OpenOffice.org Writer : inserting;charts -OpenOffice.org Writer : inserting;clipboard options -OpenOffice.org Writer : inserting;cross-references -OpenOffice.org Writer : inserting;data from text documents -OpenOffice.org Writer : inserting;datasource records in spreadsheets -OpenOffice.org Writer : inserting;date fields -OpenOffice.org Writer : inserting;drawings -OpenOffice.org Writer : inserting;envelopes -OpenOffice.org Writer : inserting;floating frames -OpenOffice.org Writer : inserting;footnotes/endnotes -OpenOffice.org Writer : inserting;form fields -OpenOffice.org Writer : inserting;from Gallery into text -OpenOffice.org Writer : inserting;horizontal lines -OpenOffice.org Writer : inserting;hyperlinks -OpenOffice.org Writer : inserting;hyperlinks from Navigator -OpenOffice.org Writer : inserting;input fields -OpenOffice.org Writer : inserting;line breaks in cells -OpenOffice.org Writer : inserting;lines under headers -OpenOffice.org Writer : inserting;movies/sounds -OpenOffice.org Writer : inserting;new text tables defaults -OpenOffice.org Writer : inserting;notes -OpenOffice.org Writer : inserting;objects from Gallery -OpenOffice.org Writer : inserting;OLE objects -OpenOffice.org Writer : inserting;page breaks -OpenOffice.org Writer : inserting;page numbers -OpenOffice.org Writer : inserting;paragraph bullets -OpenOffice.org Writer : inserting;paragraphs before/after tables -OpenOffice.org Writer : inserting;pictures -OpenOffice.org Writer : inserting;pictures, by dialog -OpenOffice.org Writer : inserting;plug-ins -OpenOffice.org Writer : inserting;scanned images -OpenOffice.org Writer : inserting;sections -OpenOffice.org Writer : inserting;special characters -OpenOffice.org Writer : inserting;tab stops -OpenOffice.org Writer : inserting;tables in text -OpenOffice.org Writer : inserting;text blocks -OpenOffice.org Writer : inserting;text documents -OpenOffice.org Writer : inserting;text frames -OpenOffice.org Writer : installing -OpenOffice.org Writer : installing;ActiveX control -OpenOffice.org Writer : installing;mobile device filters -OpenOffice.org Writer : installing;UNO components -OpenOffice.org Writer : instructions -OpenOffice.org Writer : instructions;general -OpenOffice.org Writer : instructions;OpenOffice.org Writer -OpenOffice.org Writer : Internet -OpenOffice.org Writer : Internet;Internet Explorer for displaying OpenOffice.org documents -OpenOffice.org Writer : Internet;presentations -OpenOffice.org Writer : Internet;starting searches -OpenOffice.org Writer : Internet;turning off recognition of addresses -OpenOffice.org Writer : Internet glossary -OpenOffice.org Writer : interrupting numbered lists -OpenOffice.org Writer : invert filter -OpenOffice.org Writer : invisible areas -OpenOffice.org Writer : italic text -OpenOffice.org Writer : iterative references in spreadsheets -OpenOffice.org Writer : Java -OpenOffice.org Writer : Java;definition -OpenOffice.org Writer : Java;scripting -OpenOffice.org Writer : Java;setting options -OpenOffice.org Writer : JDBC -OpenOffice.org Writer : JDBC;databases (Base) -OpenOffice.org Writer : JDBC;definition -OpenOffice.org Writer : joining -OpenOffice.org Writer : joining;numbered lists -OpenOffice.org Writer : joining;paragraphs -OpenOffice.org Writer : joining;tables (Base) -OpenOffice.org Writer : joins in databases (Base) -OpenOffice.org Writer : jumping -OpenOffice.org Writer : jumping;to bookmarks -OpenOffice.org Writer : jumping;to text elements -OpenOffice.org Writer : justifying text -OpenOffice.org Writer : kerning -OpenOffice.org Writer : kerning;Asian texts -OpenOffice.org Writer : kerning;definition -OpenOffice.org Writer : kerning;in characters -OpenOffice.org Writer : key fields for relations (Base) -OpenOffice.org Writer : keyboard -OpenOffice.org Writer : keyboard;accessibility OpenOffice.org Writer -OpenOffice.org Writer : keyboard;adding or deleting rows/columns -OpenOffice.org Writer : keyboard;assigning/editing shortcut keys -OpenOffice.org Writer : keyboard;bold formatting -OpenOffice.org Writer : keyboard;general commands -OpenOffice.org Writer : keyboard;modifying the behavior of rows/columns -OpenOffice.org Writer : keyboard;navigating and selecting in text -OpenOffice.org Writer : keyboard;removing numbering -OpenOffice.org Writer : keyboard;resizing rows/columns -OpenOffice.org Writer : keys -OpenOffice.org Writer : keys;adding push buttons -OpenOffice.org Writer : keys;primary keys (Base) -OpenOffice.org Writer : kiosk export -OpenOffice.org Writer : labels -OpenOffice.org Writer : labels;creating and synchronizing -OpenOffice.org Writer : labels;for charts -OpenOffice.org Writer : labels;for draw objects -OpenOffice.org Writer : labels;form functions -OpenOffice.org Writer : labels;from databases -OpenOffice.org Writer : labels, see also names/callouts -OpenOffice.org Writer : landscape and portrait -OpenOffice.org Writer : languages -OpenOffice.org Writer : languages;activating modules -OpenOffice.org Writer : languages;Asian support -OpenOffice.org Writer : languages;complex text layout -OpenOffice.org Writer : languages;locale settings -OpenOffice.org Writer : languages;recognition of -OpenOffice.org Writer : languages;selecting -OpenOffice.org Writer : languages;setting options -OpenOffice.org Writer : languages;spellcheck -OpenOffice.org Writer : languages;spellchecking and formatting -OpenOffice.org Writer : large handles (Writer) -OpenOffice.org Writer : large icons -OpenOffice.org Writer : layer arrangement -OpenOffice.org Writer : layout -OpenOffice.org Writer : layout;importing Word documents -OpenOffice.org Writer : layout;pages -OpenOffice.org Writer : LDAP server -OpenOffice.org Writer : LDAP server;address books (Base) -OpenOffice.org Writer : LDAP server;sign on options -OpenOffice.org Writer : leading between paragraphs -OpenOffice.org Writer : left alignment of paragraphs -OpenOffice.org Writer : left joins (Base) -OpenOffice.org Writer : Left Page page style -OpenOffice.org Writer : legends -OpenOffice.org Writer : legends;charts -OpenOffice.org Writer : legends;draw objects -OpenOffice.org Writer : legends;rounding corners -OpenOffice.org Writer : legends, see also captions -OpenOffice.org Writer : Letter Wizard -OpenOffice.org Writer : letters -OpenOffice.org Writer : letters;creating form letters -OpenOffice.org Writer : letters;inserting envelopes -OpenOffice.org Writer : levels -OpenOffice.org Writer : levels;changing outline levels -OpenOffice.org Writer : levels;depth stagger -OpenOffice.org Writer : lexicon, see thesaurus -OpenOffice.org Writer : limits of tables (Writer) -OpenOffice.org Writer : line breaks -OpenOffice.org Writer : line breaks;in cells -OpenOffice.org Writer : line breaks;removing -OpenOffice.org Writer : line charts -OpenOffice.org Writer : line numbers -OpenOffice.org Writer : line spacing -OpenOffice.org Writer : line spacing;context menu in paragraphs -OpenOffice.org Writer : line spacing;paragraph -OpenOffice.org Writer : line styles -OpenOffice.org Writer : line styles;applying -OpenOffice.org Writer : line styles;defining -OpenOffice.org Writer : lines -OpenOffice.org Writer : lines;automatic drawing on/off -OpenOffice.org Writer : lines;contours (Draw/Impress) -OpenOffice.org Writer : lines;defining ends -OpenOffice.org Writer : lines;draw functions -OpenOffice.org Writer : lines;drawing in text -OpenOffice.org Writer : lines;editing points -OpenOffice.org Writer : lines;footnotes/endnotes -OpenOffice.org Writer : lines;inserting horizontal lines -OpenOffice.org Writer : lines;removing automatic lines -OpenOffice.org Writer : lines;under headers/above footers -OpenOffice.org Writer : Lines and Page Breaks feature in Microsoft Office -OpenOffice.org Writer : lines of text -OpenOffice.org Writer : lines of text;alignment -OpenOffice.org Writer : lines of text;indents -OpenOffice.org Writer : lines of text;numbering -OpenOffice.org Writer : lines of text;register-true -OpenOffice.org Writer : lines of text;sorting paragraphs -OpenOffice.org Writer : links -OpenOffice.org Writer : links;between cells and controls -OpenOffice.org Writer : links;by drag and drop -OpenOffice.org Writer : links;character formats -OpenOffice.org Writer : links;definition -OpenOffice.org Writer : links;editing hyperlinks -OpenOffice.org Writer : links;inserting -OpenOffice.org Writer : links;inserting sections -OpenOffice.org Writer : links;inserting text documents as -OpenOffice.org Writer : links;modifying -OpenOffice.org Writer : links;opening files with -OpenOffice.org Writer : links;relational databases (Base) -OpenOffice.org Writer : links;text frames -OpenOffice.org Writer : links;turning off automatic recognition -OpenOffice.org Writer : links;updating options (Writer) -OpenOffice.org Writer : links;updating specific links -OpenOffice.org Writer : list box creation -OpenOffice.org Writer : lists -OpenOffice.org Writer : lists;automatic numbering -OpenOffice.org Writer : lists;AutoText shortcuts -OpenOffice.org Writer : lists;changing levels -OpenOffice.org Writer : lists;combining numbered lists -OpenOffice.org Writer : lists;data assigned to controls -OpenOffice.org Writer : lists;registered databases (Base) -OpenOffice.org Writer : lists;regular expressions -OpenOffice.org Writer : lists;removing/interrupting numbering -OpenOffice.org Writer : live presentations on the Internet -OpenOffice.org Writer : loading -OpenOffice.org Writer : loading;documents -OpenOffice.org Writer : loading;documents from other formats -OpenOffice.org Writer : loading;HTML documents, automatically -OpenOffice.org Writer : loading;Microsoft Office documents with VBA code -OpenOffice.org Writer : loading;reloading -OpenOffice.org Writer : loading;styles from other files -OpenOffice.org Writer : loading;XML files -OpenOffice.org Writer : locale settings -OpenOffice.org Writer : logarithmic scaling along axes -OpenOffice.org Writer : logical expressions -OpenOffice.org Writer : lowercase letters -OpenOffice.org Writer : lowercase letters;font effects -OpenOffice.org Writer : lowercase letters;text -OpenOffice.org Writer : lowering outline levels -OpenOffice.org Writer : macros -OpenOffice.org Writer : macros;assigning to events in forms -OpenOffice.org Writer : macros;in MS Office documents -OpenOffice.org Writer : macros;interrupting -OpenOffice.org Writer : macros;organizing -OpenOffice.org Writer : macros;recording -OpenOffice.org Writer : macros;security -OpenOffice.org Writer : macros;security warning dialog -OpenOffice.org Writer : macros;selecting security warnings -OpenOffice.org Writer : magnifiers -OpenOffice.org Writer : mail merge -OpenOffice.org Writer : Mail Merge feature in Microsoft Office -OpenOffice.org Writer : manual hyphenation in text -OpenOffice.org Writer : manual numbering in text -OpenOffice.org Writer : manual page breaks -OpenOffice.org Writer : marginal numbers on text pages -OpenOffice.org Writer : margins -OpenOffice.org Writer : margins;pages -OpenOffice.org Writer : margins;setting with the mouse -OpenOffice.org Writer : margins;shadows -OpenOffice.org Writer : marking changes -OpenOffice.org Writer : Markup feature in Microsoft Office -OpenOffice.org Writer : master documents -OpenOffice.org Writer : matching conditional text in fields -OpenOffice.org Writer : Math formula editor -OpenOffice.org Writer : measurement units -OpenOffice.org Writer : measurement units;changing on rulers -OpenOffice.org Writer : measurement units;converting -OpenOffice.org Writer : measurement units;selecting -OpenOffice.org Writer : Media Player window -OpenOffice.org Writer : menus -OpenOffice.org Writer : menus;activating context menus -OpenOffice.org Writer : menus;customizing -OpenOffice.org Writer : menus;inactive menu items -OpenOffice.org Writer : merging -OpenOffice.org Writer : merging;cells -OpenOffice.org Writer : merging;cells, by keyboard -OpenOffice.org Writer : merging;documents -OpenOffice.org Writer : merging;indexes -OpenOffice.org Writer : merging;numbered lists -OpenOffice.org Writer : merging;tables -OpenOffice.org Writer : META tags -OpenOffice.org Writer : metrics -OpenOffice.org Writer : metrics;converting -OpenOffice.org Writer : metrics;document formatting (Writer) -OpenOffice.org Writer : metrics;in sheets -OpenOffice.org Writer : Microsoft Office -OpenOffice.org Writer : Microsoft Office;Access databases (base) -OpenOffice.org Writer : Microsoft Office;as standard file format -OpenOffice.org Writer : Microsoft Office;document import restrictions -OpenOffice.org Writer : Microsoft Office;feature comparisons -OpenOffice.org Writer : Microsoft Office;importing password protected files -OpenOffice.org Writer : Microsoft Office;importing Word documents -OpenOffice.org Writer : Microsoft Office;importing/exporting VBA code -OpenOffice.org Writer : Microsoft Office;new users information -OpenOffice.org Writer : Microsoft Office;opening Microsoft documents -OpenOffice.org Writer : Microsoft Office;reassigning document types -OpenOffice.org Writer : mirrored page layout -OpenOffice.org Writer : mobile device filters -OpenOffice.org Writer : models in XForms -OpenOffice.org Writer : modifying, see changing -OpenOffice.org Writer : months -OpenOffice.org Writer : months;automatically completing -OpenOffice.org Writer : more controls -OpenOffice.org Writer : mosaic filter -OpenOffice.org Writer : mouse -OpenOffice.org Writer : mouse;moving and copying text -OpenOffice.org Writer : mouse;pointers when using drag and drop -OpenOffice.org Writer : mouse;positioning -OpenOffice.org Writer : moving -OpenOffice.org Writer : moving;headings -OpenOffice.org Writer : moving;objects and frames -OpenOffice.org Writer : moving;tab stops on ruler -OpenOffice.org Writer : moving;text sections -OpenOffice.org Writer : moving;toolbars -OpenOffice.org Writer : moving;using guide lines in presentations -OpenOffice.org Writer : MS ADO interface (Base) -OpenOffice.org Writer : multi-line titles in forms -OpenOffice.org Writer : multi-page view of documents -OpenOffice.org Writer : multicolumn text -OpenOffice.org Writer : multiple documents -OpenOffice.org Writer : multiple documents;indexes -OpenOffice.org Writer : multiple documents;opening -OpenOffice.org Writer : My Documents folder -OpenOffice.org Writer : My Documents folder;changing work directory -OpenOffice.org Writer : My Documents folder;opening -OpenOffice.org Writer : MySQL databases (Base) -OpenOffice.org Writer : names -OpenOffice.org Writer : names;chapter names in headers -OpenOffice.org Writer : names;multi-line titles -OpenOffice.org Writer : names;objects -OpenOffice.org Writer : names, see also labels/callouts -OpenOffice.org Writer : namespace organization in XForms -OpenOffice.org Writer : native SQL (Base) -OpenOffice.org Writer : navigating -OpenOffice.org Writer : navigating;in documents -OpenOffice.org Writer : navigating;in text, with keyboard -OpenOffice.org Writer : Navigation bar -OpenOffice.org Writer : Navigation bar;controls -OpenOffice.org Writer : Navigation bar;forms -OpenOffice.org Writer : Navigator -OpenOffice.org Writer : Navigator;contents as lists -OpenOffice.org Writer : Navigator;docking -OpenOffice.org Writer : Navigator;docking and resizing -OpenOffice.org Writer : Navigator;heading levels and chapters -OpenOffice.org Writer : Navigator;inserting hyperlinks -OpenOffice.org Writer : Navigator;master documents -OpenOffice.org Writer : Navigator;overview in texts -OpenOffice.org Writer : Navigator;working with -OpenOffice.org Writer : net charts -OpenOffice.org Writer : network identity options -OpenOffice.org Writer : networks and AutoText directories -OpenOffice.org Writer : new databases -OpenOffice.org Writer : new documents -OpenOffice.org Writer : new German spellcheck -OpenOffice.org Writer : new lines in cells -OpenOffice.org Writer : new page styles from selection -OpenOffice.org Writer : new windows -OpenOffice.org Writer : next page number in footers -OpenOffice.org Writer : non-breaking dashes -OpenOffice.org Writer : non-breaking spaces (Writer) -OpenOffice.org Writer : non-printing characters (Writer) -OpenOffice.org Writer : non-printing text -OpenOffice.org Writer : notes -OpenOffice.org Writer : notes;displaying (Calc) -OpenOffice.org Writer : notes;inserting and editing -OpenOffice.org Writer : notes;printing in text -OpenOffice.org Writer : number formats -OpenOffice.org Writer : number formats;codes -OpenOffice.org Writer : number formats;formats -OpenOffice.org Writer : number formats;recognition in text tables -OpenOffice.org Writer : number of characters -OpenOffice.org Writer : number of pages -OpenOffice.org Writer : number of sheets -OpenOffice.org Writer : number of tables -OpenOffice.org Writer : number of words -OpenOffice.org Writer : numbering -OpenOffice.org Writer : numbering;captions -OpenOffice.org Writer : numbering;changing the level of -OpenOffice.org Writer : numbering;combining -OpenOffice.org Writer : numbering;headings -OpenOffice.org Writer : numbering;lines -OpenOffice.org Writer : numbering;lists, while typing -OpenOffice.org Writer : numbering;manually/by styles -OpenOffice.org Writer : numbering;options -OpenOffice.org Writer : numbering;pages -OpenOffice.org Writer : numbering;paragraphs -OpenOffice.org Writer : numbering;paragraphs, on and off -OpenOffice.org Writer : numbering;quotations/similar items -OpenOffice.org Writer : numbering;removing/interrupting -OpenOffice.org Writer : numbering;style categories -OpenOffice.org Writer : numbering;turning off -OpenOffice.org Writer : numbering;using automatically -OpenOffice.org Writer : numbers -OpenOffice.org Writer : numbers;automatic recognition in text tables -OpenOffice.org Writer : numbers;date, time and currency formats -OpenOffice.org Writer : numbers;decimal places (Calc) -OpenOffice.org Writer : numbers;formatting options for selected cells -OpenOffice.org Writer : numbers;line numbering -OpenOffice.org Writer : numbers;lists -OpenOffice.org Writer : numerical fields in forms -OpenOffice.org Writer : objects -OpenOffice.org Writer : objects;always moveable (Impress/Draw) -OpenOffice.org Writer : objects;anchoring options -OpenOffice.org Writer : objects;arranging within stacks -OpenOffice.org Writer : objects;captioning -OpenOffice.org Writer : objects;captioning automatically -OpenOffice.org Writer : objects;contour wrap -OpenOffice.org Writer : objects;contours in presentations -OpenOffice.org Writer : objects;copying when moving in presentations -OpenOffice.org Writer : objects;cross-referencing -OpenOffice.org Writer : objects;defining borders -OpenOffice.org Writer : objects;defining hyperlinks -OpenOffice.org Writer : objects;definition -OpenOffice.org Writer : objects;displaying in spreadsheets -OpenOffice.org Writer : objects;displaying in text documents -OpenOffice.org Writer : objects;editing -OpenOffice.org Writer : objects;finding by Navigator -OpenOffice.org Writer : objects;inserting from Gallery -OpenOffice.org Writer : objects;inserting OLE objects -OpenOffice.org Writer : objects;moving and resizing with keyboard -OpenOffice.org Writer : objects;moving and resizing with mouse -OpenOffice.org Writer : objects;naming -OpenOffice.org Writer : objects;opening -OpenOffice.org Writer : objects;properties of charts -OpenOffice.org Writer : objects;quickly moving to -OpenOffice.org Writer : objects;quickly moving to, within text -OpenOffice.org Writer : objects;titles and descriptions -OpenOffice.org Writer : ODBC -OpenOffice.org Writer : ODBC;database (Base) -OpenOffice.org Writer : ODBC;definition -OpenOffice.org Writer : ODF file formats -OpenOffice.org Writer : Office -OpenOffice.org Writer : Office;Microsoft Office and OpenOffice.org -OpenOffice.org Writer : old German spellcheck -OpenOffice.org Writer : OLE -OpenOffice.org Writer : OLE;definition -OpenOffice.org Writer : OLE objects -OpenOffice.org Writer : OLE objects;arranging within stacks -OpenOffice.org Writer : OLE objects;borders -OpenOffice.org Writer : OLE objects;captions (Writer) -OpenOffice.org Writer : OLE objects;cross-referencing -OpenOffice.org Writer : OLE objects;inserting -OpenOffice.org Writer : OLE objects;inserting tables in -OpenOffice.org Writer : OLE objects;number of -OpenOffice.org Writer : OLE objects;protecting -OpenOffice.org Writer : one and a half line spacing in text -OpenOffice.org Writer : online registration -OpenOffice.org Writer : online update options -OpenOffice.org Writer : online updates -OpenOffice.org Writer : online updates;checking automatically -OpenOffice.org Writer : online updates;checking manually -OpenOffice.org Writer : Open/Save dialogs -OpenOffice.org Writer : OpenDocument file formats -OpenOffice.org Writer : OpenGL -OpenOffice.org Writer : OpenGL;definition -OpenOffice.org Writer : OpenGL;optimized output -OpenOffice.org Writer : opening -OpenOffice.org Writer : opening;context menus -OpenOffice.org Writer : opening;database files -OpenOffice.org Writer : opening;dialog settings -OpenOffice.org Writer : opening;documents -OpenOffice.org Writer : opening;documents from other formats -OpenOffice.org Writer : opening;files with links -OpenOffice.org Writer : opening;files, with placeholders -OpenOffice.org Writer : opening;forms -OpenOffice.org Writer : opening;Microsoft Office files -OpenOffice.org Writer : opening;mobile device documents -OpenOffice.org Writer : opening;objects -OpenOffice.org Writer : opening;reports -OpenOffice.org Writer : opening;several files -OpenOffice.org Writer : opening;XForms -OpenOffice.org Writer : OpenOffice.org Base data sources -OpenOffice.org Writer : OpenOffice.org Basic scripts in HTML documents -OpenOffice.org Writer : OpenOffice.org documents -OpenOffice.org Writer : OpenOffice.org documents;mobile device filters -OpenOffice.org Writer : OpenOffice.org documents;viewing and editing in Internet Explorer -OpenOffice.org Writer : OpenOffice.org Math start -OpenOffice.org Writer : OpenOffice.org Writer -OpenOffice.org Writer : OpenOffice.org Writer;instructions -OpenOffice.org Writer : OpenOffice.org Writer;special HTML tags -OpenOffice.org Writer : operators -OpenOffice.org Writer : operators;default filters -OpenOffice.org Writer : operators;in formulas -OpenOffice.org Writer : optional hyphens (Writer) -OpenOffice.org Writer : options -OpenOffice.org Writer : options;accessibility -OpenOffice.org Writer : options;appearance -OpenOffice.org Writer : options;compatibility (Writer) -OpenOffice.org Writer : options;network identity -OpenOffice.org Writer : options;online update -OpenOffice.org Writer : options;tools -OpenOffice.org Writer : Oracle databases (base) -OpenOffice.org Writer : order of chart data -OpenOffice.org Writer : ordering -OpenOffice.org Writer : ordering;objects -OpenOffice.org Writer : ordering;printing in reverse order -OpenOffice.org Writer : organizing -OpenOffice.org Writer : organizing;footnotes -OpenOffice.org Writer : organizing;macros and scripts -OpenOffice.org Writer : organizing;namespaces in XForms -OpenOffice.org Writer : organizing;styles -OpenOffice.org Writer : organizing;templates -OpenOffice.org Writer : organizing;templates (guide) -OpenOffice.org Writer : orientation of pages -OpenOffice.org Writer : original size -OpenOffice.org Writer : original size;printing in OpenOffice.org Math -OpenOffice.org Writer : original size;restoring after cropping -OpenOffice.org Writer : orphans -OpenOffice.org Writer : outlines -OpenOffice.org Writer : outlines;arranging chapters -OpenOffice.org Writer : outlines;font effects -OpenOffice.org Writer : outlines;numbering -OpenOffice.org Writer : outlines;outline symbols -OpenOffice.org Writer : outlines;sending to presentations -OpenOffice.org Writer : overviews -OpenOffice.org Writer : overviews;Navigator in text documents -OpenOffice.org Writer : overviews;printing -OpenOffice.org Writer : overwrite mode -OpenOffice.org Writer : packages, see extensions -OpenOffice.org Writer : page breaks -OpenOffice.org Writer : page breaks;displaying (Calc) -OpenOffice.org Writer : page breaks;inserting and deleting -OpenOffice.org Writer : page breaks;tables -OpenOffice.org Writer : page counts -OpenOffice.org Writer : page formats -OpenOffice.org Writer : page formats;changing individual pages -OpenOffice.org Writer : page formats;maximizing -OpenOffice.org Writer : page formats;restriction -OpenOffice.org Writer : page margins on rulers -OpenOffice.org Writer : page numbers -OpenOffice.org Writer : page numbers;continuation pages -OpenOffice.org Writer : page numbers;footers -OpenOffice.org Writer : page numbers;inserting/defining/formatting -OpenOffice.org Writer : page styles -OpenOffice.org Writer : page styles;backgrounds -OpenOffice.org Writer : page styles;changing -OpenOffice.org Writer : page styles;changing from selection -OpenOffice.org Writer : page styles;creating and applying -OpenOffice.org Writer : page styles;editing/applying with statusbar -OpenOffice.org Writer : page styles;left and right pages -OpenOffice.org Writer : page styles;orientation -OpenOffice.org Writer : page styles;page numbering -OpenOffice.org Writer : page styles;style categories -OpenOffice.org Writer : pages -OpenOffice.org Writer : pages;backgrounds -OpenOffice.org Writer : pages;backgrounds in spreadsheets -OpenOffice.org Writer : pages;continuation pages -OpenOffice.org Writer : pages;defining borders -OpenOffice.org Writer : pages;formatting and numbering -OpenOffice.org Writer : pages;inserting/deleting page breaks -OpenOffice.org Writer : pages;left and right pages -OpenOffice.org Writer : pages;number of -OpenOffice.org Writer : pages;numbers and count of -OpenOffice.org Writer : pages;orientation -OpenOffice.org Writer : pages;previews -OpenOffice.org Writer : pages;printing multiple on one sheet -OpenOffice.org Writer : pages;printing page names in presentations -OpenOffice.org Writer : pages;register-true -OpenOffice.org Writer : pages;scaling -OpenOffice.org Writer : pages;selecting one to print -OpenOffice.org Writer : paint box -OpenOffice.org Writer : paint can symbol -OpenOffice.org Writer : pair kerning -OpenOffice.org Writer : Palm file filters -OpenOffice.org Writer : paper formats -OpenOffice.org Writer : paper orientation -OpenOffice.org Writer : paper size warning -OpenOffice.org Writer : paper tray selection -OpenOffice.org Writer : paper trays -OpenOffice.org Writer : paragraph marks -OpenOffice.org Writer : paragraph marks;displaying (Writer) -OpenOffice.org Writer : paragraph marks;finding & replacing -OpenOffice.org Writer : paragraph styles -OpenOffice.org Writer : paragraph styles;applying to adjacent paragraphs -OpenOffice.org Writer : paragraph styles;languages -OpenOffice.org Writer : paragraph styles;modifying basic fonts -OpenOffice.org Writer : paragraph styles;numbering -OpenOffice.org Writer : paragraph styles;style categories -OpenOffice.org Writer : paragraphs -OpenOffice.org Writer : paragraphs;alignment -OpenOffice.org Writer : paragraphs;Asian typography -OpenOffice.org Writer : paragraphs;automatic numbering -OpenOffice.org Writer : paragraphs;backgrounds -OpenOffice.org Writer : paragraphs;bulleted -OpenOffice.org Writer : paragraphs;defining borders -OpenOffice.org Writer : paragraphs;hidden paragraphs (Writer) -OpenOffice.org Writer : paragraphs;hiding -OpenOffice.org Writer : paragraphs;increasing indents of -OpenOffice.org Writer : paragraphs;indents -OpenOffice.org Writer : paragraphs;indents, margins and columns -OpenOffice.org Writer : paragraphs;inserting before/after tables -OpenOffice.org Writer : paragraphs;inserting bullets -OpenOffice.org Writer : paragraphs;joining -OpenOffice.org Writer : paragraphs;keeping together at breaks -OpenOffice.org Writer : paragraphs;moving by keyboard -OpenOffice.org Writer : paragraphs;numbering automatically -OpenOffice.org Writer : paragraphs;numbering non-consecutive -OpenOffice.org Writer : paragraphs;numbering on/off -OpenOffice.org Writer : paragraphs;register-true -OpenOffice.org Writer : paragraphs;removing blank ones -OpenOffice.org Writer : paragraphs;spacing -OpenOffice.org Writer : paragraphs;tab stops -OpenOffice.org Writer : parameters -OpenOffice.org Writer : parameters;command line -OpenOffice.org Writer : parameters;queries (Base) -OpenOffice.org Writer : passwords for protecting contents -OpenOffice.org Writer : pasting -OpenOffice.org Writer : pasting;cell ranges -OpenOffice.org Writer : pasting;cell ranges from spreadsheets -OpenOffice.org Writer : pasting;cut/copied text sections -OpenOffice.org Writer : pasting;data from text documents -OpenOffice.org Writer : pasting;draw objects -OpenOffice.org Writer : pasting;draw objects from other documents -OpenOffice.org Writer : pasting;formatted/unformatted text -OpenOffice.org Writer : pasting;from data source view -OpenOffice.org Writer : pasting;from data sources to OpenOffice.org Calc -OpenOffice.org Writer : pasting;pictures from other documents -OpenOffice.org Writer : pasting;results of formulas -OpenOffice.org Writer : pasting;sheet areas in text documents -OpenOffice.org Writer : pasting;to Gallery -OpenOffice.org Writer : paths -OpenOffice.org Writer : paths;changing work directory -OpenOffice.org Writer : paths;defaults -OpenOffice.org Writer : pattern editor -OpenOffice.org Writer : pattern fields -OpenOffice.org Writer : pattern fields;form functions -OpenOffice.org Writer : patterns for objects -OpenOffice.org Writer : PDF -OpenOffice.org Writer : PDF;export -OpenOffice.org Writer : PDF;PostScript to PDF converter, UNIX -OpenOffice.org Writer : personal data input -OpenOffice.org Writer : phonetic guide -OpenOffice.org Writer : picklist creation -OpenOffice.org Writer : pictures -OpenOffice.org Writer : pictures;adding to Gallery -OpenOffice.org Writer : pictures;anchoring options -OpenOffice.org Writer : pictures;arranging within stacks -OpenOffice.org Writer : pictures;assigning macros -OpenOffice.org Writer : pictures;backgrounds -OpenOffice.org Writer : pictures;borders -OpenOffice.org Writer : pictures;captions (Writer) -OpenOffice.org Writer : pictures;changing paths -OpenOffice.org Writer : pictures;cropping and zooming -OpenOffice.org Writer : pictures;cross-referencing -OpenOffice.org Writer : pictures;defining hyperlinks -OpenOffice.org Writer : pictures;displaying in Calc -OpenOffice.org Writer : pictures;displaying in Writer (Writer) -OpenOffice.org Writer : pictures;do not show -OpenOffice.org Writer : pictures;drag and drop between documents -OpenOffice.org Writer : pictures;drawing -OpenOffice.org Writer : pictures;editing -OpenOffice.org Writer : pictures;filters -OpenOffice.org Writer : pictures;ImageMap -OpenOffice.org Writer : pictures;inserting automatically -OpenOffice.org Writer : pictures;inserting by dialog -OpenOffice.org Writer : pictures;inserting from Draw -OpenOffice.org Writer : pictures;inserting from Gallery -OpenOffice.org Writer : pictures;inserting from Gallery into text -OpenOffice.org Writer : pictures;inserting options -OpenOffice.org Writer : pictures;number of -OpenOffice.org Writer : pictures;printing -OpenOffice.org Writer : pictures;scaling/resizing -OpenOffice.org Writer : pictures;scanning -OpenOffice.org Writer : pie charts -OpenOffice.org Writer : Pivot tables feature in Microsoft Office -OpenOffice.org Writer : pixel editor -OpenOffice.org Writer : pixel graphics -OpenOffice.org Writer : pixel graphics;inserting and editing -OpenOffice.org Writer : pixel patterns -OpenOffice.org Writer : placeholders -OpenOffice.org Writer : placeholders;in SQL queries -OpenOffice.org Writer : placeholders;on opening files -OpenOffice.org Writer : placing toolbars -OpenOffice.org Writer : playing movies and sound files -OpenOffice.org Writer : plotting data as charts -OpenOffice.org Writer : plug-ins -OpenOffice.org Writer : plug-ins;activating and deactivating -OpenOffice.org Writer : plug-ins;definition -OpenOffice.org Writer : plug-ins;inserting -OpenOffice.org Writer : pocket device appliances -OpenOffice.org Writer : Pocket PC file filters -OpenOffice.org Writer : points -OpenOffice.org Writer : points;reducing editing points when snapping (Impress/Draw) -OpenOffice.org Writer : polygon drawing -OpenOffice.org Writer : pop-art filter -OpenOffice.org Writer : portable document format -OpenOffice.org Writer : portrait and landscape -OpenOffice.org Writer : positioning -OpenOffice.org Writer : positioning;draw objects and controls -OpenOffice.org Writer : positioning;fonts -OpenOffice.org Writer : positioning;objects -OpenOffice.org Writer : positioning;objects (guide) -OpenOffice.org Writer : positioning;toolbars -OpenOffice.org Writer : post method for form transmissions -OpenOffice.org Writer : posterizing filter -OpenOffice.org Writer : PostScript -OpenOffice.org Writer : PostScript;creating files -OpenOffice.org Writer : PostScript;PDF converter, UNIX -OpenOffice.org Writer : PowerPoint export -OpenOffice.org Writer : precision as shown (Calc) -OpenOffice.org Writer : predefining fonts -OpenOffice.org Writer : presentations -OpenOffice.org Writer : presentations;creating/opening -OpenOffice.org Writer : presentations;inserting spreadsheet cells -OpenOffice.org Writer : presentations;live on the Internet -OpenOffice.org Writer : presentations;print menu -OpenOffice.org Writer : presentations;saving -OpenOffice.org Writer : presentations;saving automatically -OpenOffice.org Writer : presentations;saving in other formats -OpenOffice.org Writer : presentations;sending as e-mail -OpenOffice.org Writer : presentations;starting with wizard -OpenOffice.org Writer : presentations;wizards -OpenOffice.org Writer : press buttons, see push buttons -OpenOffice.org Writer : previews -OpenOffice.org Writer : previews;book preview -OpenOffice.org Writer : previews;fonts lists -OpenOffice.org Writer : previews;print layouts -OpenOffice.org Writer : primary keys -OpenOffice.org Writer : primary keys;defining -OpenOffice.org Writer : primary keys;inserting (Base) -OpenOffice.org Writer : print area selection -OpenOffice.org Writer : print layout checks -OpenOffice.org Writer : printer metrics for document formatting (Writer) -OpenOffice.org Writer : printers -OpenOffice.org Writer : printers;adding, UNIX -OpenOffice.org Writer : printers;choosing -OpenOffice.org Writer : printers;default printer -OpenOffice.org Writer : printers;faxes under UNIX -OpenOffice.org Writer : printers;maximum page formats -OpenOffice.org Writer : printers;paper trays -OpenOffice.org Writer : printers;properties -OpenOffice.org Writer : printing -OpenOffice.org Writer : printing;AutoText shortcuts -OpenOffice.org Writer : printing;black and white -OpenOffice.org Writer : printing;brochures -OpenOffice.org Writer : printing;colors in grayscale -OpenOffice.org Writer : printing;copies -OpenOffice.org Writer : printing;creating individual jobs -OpenOffice.org Writer : printing;dates in presentations -OpenOffice.org Writer : printing;directly -OpenOffice.org Writer : printing;documents -OpenOffice.org Writer : printing;drawings defaults -OpenOffice.org Writer : printing;elements in text documents -OpenOffice.org Writer : printing;faster -OpenOffice.org Writer : printing;fitting to pages in OpenOffice.org Math -OpenOffice.org Writer : printing;fitting to pages in presentations -OpenOffice.org Writer : printing;formulas in OpenOffice.org Math -OpenOffice.org Writer : printing;hidden pages of presentations -OpenOffice.org Writer : printing;hiding text from printing -OpenOffice.org Writer : printing;in original size in OpenOffice.org Math -OpenOffice.org Writer : printing;individual brochures -OpenOffice.org Writer : printing;left/right pages -OpenOffice.org Writer : printing;multiple pages per sheet -OpenOffice.org Writer : printing;portrait/landscape format -OpenOffice.org Writer : printing;previews -OpenOffice.org Writer : printing;queries (Base) -OpenOffice.org Writer : printing;reverse order -OpenOffice.org Writer : printing;scaling in OpenOffice.org Math -OpenOffice.org Writer : printing;selections -OpenOffice.org Writer : printing;text always in black -OpenOffice.org Writer : printing;text in reverse order -OpenOffice.org Writer : printing;tiling pages in presentations -OpenOffice.org Writer : printing;transparencies -OpenOffice.org Writer : printing;warnings -OpenOffice.org Writer : printing;without scaling in presentations -OpenOffice.org Writer : printing speed -OpenOffice.org Writer : programming -OpenOffice.org Writer : programming;OpenOffice.org -OpenOffice.org Writer : programming;scripting -OpenOffice.org Writer : promoting heading levels -OpenOffice.org Writer : properties -OpenOffice.org Writer : properties;charts -OpenOffice.org Writer : properties;fields -OpenOffice.org Writer : properties;fields in databases -OpenOffice.org Writer : properties;files -OpenOffice.org Writer : properties;form controls -OpenOffice.org Writer : properties;forms -OpenOffice.org Writer : properties;printers -OpenOffice.org Writer : properties;smooth lines in line charts/XY charts -OpenOffice.org Writer : proportional distribution of tables -OpenOffice.org Writer : protected contents -OpenOffice.org Writer : protected dashes -OpenOffice.org Writer : protected database tables -OpenOffice.org Writer : protected documents -OpenOffice.org Writer : protected spaces -OpenOffice.org Writer : protected spaces;inserting -OpenOffice.org Writer : protected spaces;showing (Writer) -OpenOffice.org Writer : protecting -OpenOffice.org Writer : protecting;contents -OpenOffice.org Writer : protecting;recorded changes -OpenOffice.org Writer : protecting;sections -OpenOffice.org Writer : proxy settings -OpenOffice.org Writer : push buttons -OpenOffice.org Writer : push buttons;adding to documents -OpenOffice.org Writer : push buttons;creating -OpenOffice.org Writer : queries -OpenOffice.org Writer : queries;copying (Base) -OpenOffice.org Writer : queries;creating in design view (Base) -OpenOffice.org Writer : queries;creating in SQL view -OpenOffice.org Writer : queries;defining (Base) -OpenOffice.org Writer : queries;deleting table links (Base) -OpenOffice.org Writer : queries;editing in data source view -OpenOffice.org Writer : queries;formulating filter conditions (Base) -OpenOffice.org Writer : queries;joining tables (Base) -OpenOffice.org Writer : queries;missing elements (Base) -OpenOffice.org Writer : queries;overview (Base) -OpenOffice.org Writer : queries;parameter queries (Base) -OpenOffice.org Writer : queries;printing (Base) -OpenOffice.org Writer : Query Wizard (Base) -OpenOffice.org Writer : quickstarter -OpenOffice.org Writer : quotation marks -OpenOffice.org Writer : quotation marks;changing automatically -OpenOffice.org Writer : quotation marks;replacing -OpenOffice.org Writer : quotes -OpenOffice.org Writer : quotes;custom -OpenOffice.org Writer : radar charts, see net charts -OpenOffice.org Writer : radio button creation -OpenOffice.org Writer : read-only documents -OpenOffice.org Writer : read-only documents;cursor -OpenOffice.org Writer : read-only documents;database tables on/off -OpenOffice.org Writer : read-only documents;editing -OpenOffice.org Writer : read-only documents;opening documents as -OpenOffice.org Writer : read-only items in Data Navigator -OpenOffice.org Writer : read-only sections -OpenOffice.org Writer : rearranging headings -OpenOffice.org Writer : recognition of languages -OpenOffice.org Writer : recognizing URLs automatically -OpenOffice.org Writer : recording -OpenOffice.org Writer : recording;changes -OpenOffice.org Writer : recording;macros -OpenOffice.org Writer : records -OpenOffice.org Writer : records;inserting notes -OpenOffice.org Writer : records;protecting -OpenOffice.org Writer : records;saving -OpenOffice.org Writer : records;searching in databases -OpenOffice.org Writer : rectangles with round corners -OpenOffice.org Writer : recursions in spreadsheets -OpenOffice.org Writer : redo command -OpenOffice.org Writer : reduced printing -OpenOffice.org Writer : reduced printing of multiple pages -OpenOffice.org Writer : reducing rows and columns in text tables -OpenOffice.org Writer : reference lines -OpenOffice.org Writer : references -OpenOffice.org Writer : references;displaying in color (Calc) -OpenOffice.org Writer : references;expanding (Calc) -OpenOffice.org Writer : references;in Writer tables -OpenOffice.org Writer : references;inserting cross-references -OpenOffice.org Writer : references;iterative (Calc) -OpenOffice.org Writer : references;master documents -OpenOffice.org Writer : references;modifying cross-references -OpenOffice.org Writer : Refresh Data feature in Microsoft Office -OpenOffice.org Writer : refusing word completions -OpenOffice.org Writer : register-true -OpenOffice.org Writer : register-true;definition -OpenOffice.org Writer : register-true;pages and paragraphs -OpenOffice.org Writer : registering -OpenOffice.org Writer : registering;address books -OpenOffice.org Writer : registering;databases (Base) -OpenOffice.org Writer : registering;OpenOffice.org -OpenOffice.org Writer : regression curves in charts -OpenOffice.org Writer : regular expressions -OpenOffice.org Writer : regular expressions;list of -OpenOffice.org Writer : regular expressions;opening files -OpenOffice.org Writer : regular expressions;searching -OpenOffice.org Writer : rejecting word completions -OpenOffice.org Writer : related words in thesaurus -OpenOffice.org Writer : relational databases (Base) -OpenOffice.org Writer : relations -OpenOffice.org Writer : relations;creating and deleting (Base) -OpenOffice.org Writer : relations;joining tables (Base) -OpenOffice.org Writer : relations;properties (Base) -OpenOffice.org Writer : relative distribution of table cells -OpenOffice.org Writer : relative hyperlinks -OpenOffice.org Writer : relative saving of URLs -OpenOffice.org Writer : reloading -OpenOffice.org Writer : reloading;documents -OpenOffice.org Writer : reloading;HTML documents, automatically -OpenOffice.org Writer : remarks, see also notes -OpenOffice.org Writer : remote configurations -OpenOffice.org Writer : remove noise filter -OpenOffice.org Writer : removing -OpenOffice.org Writer : removing;bullets and numbering -OpenOffice.org Writer : removing;bullets in text documents -OpenOffice.org Writer : removing;cell protection in text documents -OpenOffice.org Writer : removing;form filters -OpenOffice.org Writer : removing, see also deleting -OpenOffice.org Writer : reorganizing charts -OpenOffice.org Writer : repeating -OpenOffice.org Writer : repeating;table headings after page breaks -OpenOffice.org Writer : Replace text as you type feature in Microsoft Office -OpenOffice.org Writer : replacement options -OpenOffice.org Writer : replacement table -OpenOffice.org Writer : replacing -OpenOffice.org Writer : replacing;AutoCorrect function -OpenOffice.org Writer : replacing;dashes -OpenOffice.org Writer : replacing;databases -OpenOffice.org Writer : replacing;fields, by text -OpenOffice.org Writer : replacing;objects from Gallery -OpenOffice.org Writer : replacing;text and text formats -OpenOffice.org Writer : Report Builder -OpenOffice.org Writer : reports -OpenOffice.org Writer : reports;creating -OpenOffice.org Writer : reports;error reports -OpenOffice.org Writer : reports;opening and editing -OpenOffice.org Writer : reports;templates -OpenOffice.org Writer : resetting -OpenOffice.org Writer : resetting;fonts -OpenOffice.org Writer : resetting;templates -OpenOffice.org Writer : resizing -OpenOffice.org Writer : resizing;aspect ratio -OpenOffice.org Writer : resizing;objects and frames, by keyboard -OpenOffice.org Writer : resizing;objects, by mouse -OpenOffice.org Writer : resizing;rows and columns in text tables -OpenOffice.org Writer : resizing;text frames, by mouse -OpenOffice.org Writer : resizing;windows -OpenOffice.org Writer : resizing, see also scaling/zooming -OpenOffice.org Writer : resolution when printing bitmaps -OpenOffice.org Writer : restoring -OpenOffice.org Writer : restoring;default formatting -OpenOffice.org Writer : restoring;editing -OpenOffice.org Writer : reversing printing order -OpenOffice.org Writer : review function -OpenOffice.org Writer : review function;accepting or rejecting changes -OpenOffice.org Writer : review function;comparing documents -OpenOffice.org Writer : review function;recording changes example -OpenOffice.org Writer : rich text control -OpenOffice.org Writer : right alignment of paragraphs -OpenOffice.org Writer : right indents in paragraphs -OpenOffice.org Writer : right joins (Base) -OpenOffice.org Writer : right pages -OpenOffice.org Writer : right-to-left text -OpenOffice.org Writer : rising outline levels -OpenOffice.org Writer : rotating -OpenOffice.org Writer : rotating;3D text -OpenOffice.org Writer : rotating;text -OpenOffice.org Writer : round corners -OpenOffice.org Writer : rounding precision (Calc) -OpenOffice.org Writer : row breaks in text tables -OpenOffice.org Writer : row headers -OpenOffice.org Writer : row headers;displaying (Calc) -OpenOffice.org Writer : row headers;highlighting (Calc) -OpenOffice.org Writer : rows -OpenOffice.org Writer : rows;inserting in tables, using icon -OpenOffice.org Writer : rows;inserting/deleting in tables by keyboard -OpenOffice.org Writer : rows;register-true text -OpenOffice.org Writer : rows;selecting -OpenOffice.org Writer : rulers -OpenOffice.org Writer : rulers;default settings -OpenOffice.org Writer : rulers;horizontal lines -OpenOffice.org Writer : rulers;measurement units -OpenOffice.org Writer : rulers;using rulers -OpenOffice.org Writer : rulers;visible in presentations -OpenOffice.org Writer : running titles in headers -OpenOffice.org Writer : samples and templates -OpenOffice.org Writer : saving -OpenOffice.org Writer : saving;default file formats -OpenOffice.org Writer : saving;dialog settings -OpenOffice.org Writer : saving;documents -OpenOffice.org Writer : saving;documents for mobile devices -OpenOffice.org Writer : saving;documents in other formats -OpenOffice.org Writer : saving;documents, automatically -OpenOffice.org Writer : saving;in HTML format -OpenOffice.org Writer : saving;in Microsoft Office file format -OpenOffice.org Writer : saving;options -OpenOffice.org Writer : saving;templates -OpenOffice.org Writer : saving;to XML -OpenOffice.org Writer : saving;VBA code in Microsoft Office documents -OpenOffice.org Writer : saving;with password by default -OpenOffice.org Writer : saving as command -OpenOffice.org Writer : saving as command;precautions -OpenOffice.org Writer : scaling -OpenOffice.org Writer : scaling;axes -OpenOffice.org Writer : scaling;font sizes in user interface -OpenOffice.org Writer : scaling;objects -OpenOffice.org Writer : scaling;pictures -OpenOffice.org Writer : scaling;printing in OpenOffice.org Math -OpenOffice.org Writer : scaling;text frames, by mouse -OpenOffice.org Writer : scaling;text in charts -OpenOffice.org Writer : scaling;when printing presentations -OpenOffice.org Writer : scaling, see also zooming -OpenOffice.org Writer : scanning pictures -OpenOffice.org Writer : scatter charts -OpenOffice.org Writer : screen -OpenOffice.org Writer : screen;full screen views -OpenOffice.org Writer : screen;scaling -OpenOffice.org Writer : screen magnifiers -OpenOffice.org Writer : screen readers -OpenOffice.org Writer : script organization -OpenOffice.org Writer : scripting in programming -OpenOffice.org Writer : scrollbars -OpenOffice.org Writer : scrollbars;controls -OpenOffice.org Writer : scrollbars;displaying (Calc) -OpenOffice.org Writer : scrollbars;horizontal and vertical (Writer) -OpenOffice.org Writer : search criteria for database functions in cells -OpenOffice.org Writer : search engines -OpenOffice.org Writer : search engines;definition -OpenOffice.org Writer : search engines;selecting -OpenOffice.org Writer : searching -OpenOffice.org Writer : searching;all sheets -OpenOffice.org Writer : searching;cross-references -OpenOffice.org Writer : searching;databases -OpenOffice.org Writer : searching;form filters -OpenOffice.org Writer : searching;formats -OpenOffice.org Writer : searching;Internet -OpenOffice.org Writer : searching;repeating a search -OpenOffice.org Writer : searching;synonyms -OpenOffice.org Writer : searching;tables and forms -OpenOffice.org Writer : searching;with wildcards -OpenOffice.org Writer : searching, see also finding -OpenOffice.org Writer : secondary axes in charts -OpenOffice.org Writer : sections -OpenOffice.org Writer : sections;backgrounds -OpenOffice.org Writer : sections;columns in -OpenOffice.org Writer : sections;defining conditions -OpenOffice.org Writer : sections;editing -OpenOffice.org Writer : sections;hiding -OpenOffice.org Writer : sections;inserting -OpenOffice.org Writer : sections;inserting external content -OpenOffice.org Writer : sections;inserting sections by DDE -OpenOffice.org Writer : sections;moving and copying -OpenOffice.org Writer : sections;protecting -OpenOffice.org Writer : sections;remarks -OpenOffice.org Writer : security -OpenOffice.org Writer : security;options for documents with macros -OpenOffice.org Writer : security;protecting contents -OpenOffice.org Writer : security;warning dialogs with macros -OpenOffice.org Writer : selecting -OpenOffice.org Writer : selecting;controls -OpenOffice.org Writer : selecting;group objects -OpenOffice.org Writer : selecting;measurement units -OpenOffice.org Writer : selecting;objects -OpenOffice.org Writer : selecting;paper trays -OpenOffice.org Writer : selecting;print areas -OpenOffice.org Writer : selecting;several files -OpenOffice.org Writer : selecting;tables -OpenOffice.org Writer : selecting;text, with keyboard -OpenOffice.org Writer : selection clipboard -OpenOffice.org Writer : selection modes in text -OpenOffice.org Writer : sending -OpenOffice.org Writer : sending;AutoAbstract function in presentations -OpenOffice.org Writer : sending;documents as e-mail -OpenOffice.org Writer : sending;documents as faxes -OpenOffice.org Writer : separation, see hyphenation -OpenOffice.org Writer : separator lines -OpenOffice.org Writer : separator lines;AutoFormat function -OpenOffice.org Writer : separator lines;defining -OpenOffice.org Writer : separators -OpenOffice.org Writer : separators;conditional -OpenOffice.org Writer : Server Side ImageMap -OpenOffice.org Writer : settings -OpenOffice.org Writer : settings;direct cursor -OpenOffice.org Writer : settings;printers -OpenOffice.org Writer : settings;program configuration -OpenOffice.org Writer : settings;proxies -OpenOffice.org Writer : settings;tracking changes -OpenOffice.org Writer : settings;views -OpenOffice.org Writer : SGML -OpenOffice.org Writer : SGML;definition -OpenOffice.org Writer : shadows -OpenOffice.org Writer : shadows;areas -OpenOffice.org Writer : shadows;borders -OpenOffice.org Writer : shadows;characters -OpenOffice.org Writer : shadows;characters, using context menu -OpenOffice.org Writer : shadows;headers/footers -OpenOffice.org Writer : sharpening filter -OpenOffice.org Writer : sheet tabs -OpenOffice.org Writer : sheet tabs;displaying -OpenOffice.org Writer : sheets -OpenOffice.org Writer : sheets;searching all -OpenOffice.org Writer : shortcut keys -OpenOffice.org Writer : shortcut keys;assigning macros -OpenOffice.org Writer : shortcut keys;bold formatting -OpenOffice.org Writer : shortcut keys;charts -OpenOffice.org Writer : shortcut keys;general -OpenOffice.org Writer : shortcut keys;in databases -OpenOffice.org Writer : shortcut keys;in text documents -OpenOffice.org Writer : shortcut keys;OpenOffice.org accessibility -OpenOffice.org Writer : Show/Hide feature in Microsoft Office -OpenOffice.org Writer : showing -OpenOffice.org Writer : showing;changes -OpenOffice.org Writer : showing;docked windows -OpenOffice.org Writer : showing;drawings and controls (Writer) -OpenOffice.org Writer : showing;live presentations on the Internet -OpenOffice.org Writer : showing;rulers -OpenOffice.org Writer : showing;toolbars -OpenOffice.org Writer : sideways orientation of pages -OpenOffice.org Writer : signing documents with digital signatures -OpenOffice.org Writer : similarity search -OpenOffice.org Writer : simple handles (Writer) -OpenOffice.org Writer : simplified Chinese -OpenOffice.org Writer : simplified Chinese;translating to traditional Chinese -OpenOffice.org Writer : single sign on options -OpenOffice.org Writer : single-line spacing in text -OpenOffice.org Writer : sizes -OpenOffice.org Writer : sizes;draw objects -OpenOffice.org Writer : sizes;pictures -OpenOffice.org Writer : slanting draw objects -OpenOffice.org Writer : small capitals -OpenOffice.org Writer : small icons -OpenOffice.org Writer : smart tags -OpenOffice.org Writer : smart tags;options -OpenOffice.org Writer : smart tags;using -OpenOffice.org Writer : smooth scrolling (Writer) -OpenOffice.org Writer : smoothing filter -OpenOffice.org Writer : snap grid defaults (Writer/Calc) -OpenOffice.org Writer : snapping in presentations and drawings -OpenOffice.org Writer : solarization filter -OpenOffice.org Writer : sort lists -OpenOffice.org Writer : sort lists;copying to in Calc -OpenOffice.org Writer : sorting -OpenOffice.org Writer : sorting;data in forms -OpenOffice.org Writer : sorting;databases -OpenOffice.org Writer : sorting;paragraphs in special languages -OpenOffice.org Writer : sorting;paragraphs/table rows -OpenOffice.org Writer : sounds -OpenOffice.org Writer : sounds;inserting and playing -OpenOffice.org Writer : sounds;UNIX -OpenOffice.org Writer : spaces -OpenOffice.org Writer : spaces;displaying (Writer) -OpenOffice.org Writer : spaces;ignoring double -OpenOffice.org Writer : spaces;inserting protected spaces -OpenOffice.org Writer : spaces;showing protected spaces (Writer) -OpenOffice.org Writer : spacing -OpenOffice.org Writer : spacing;between paragraphs in footnotes -OpenOffice.org Writer : spacing;endnotes/footnotes -OpenOffice.org Writer : spacing;font effects -OpenOffice.org Writer : spacing;lines and paragraphs -OpenOffice.org Writer : spacing;register-true text -OpenOffice.org Writer : spacing;tab stops in text documents -OpenOffice.org Writer : spacing;tabs in presentations -OpenOffice.org Writer : spadmin -OpenOffice.org Writer : special characters -OpenOffice.org Writer : speech bubbles -OpenOffice.org Writer : speed of printing -OpenOffice.org Writer : spellcheck -OpenOffice.org Writer : spellcheck;activating for a language -OpenOffice.org Writer : spellcheck;activating for all languages -OpenOffice.org Writer : spellcheck;AutoSpellcheck on/off -OpenOffice.org Writer : spellcheck;checking text documents manually -OpenOffice.org Writer : spellcheck;context menus -OpenOffice.org Writer : spellcheck;default languages -OpenOffice.org Writer : spellcheck;dialog -OpenOffice.org Writer : spellcheck;dictionary of exceptions -OpenOffice.org Writer : spellcheck;ignore list -OpenOffice.org Writer : Spelling and Grammar feature in Microsoft Office -OpenOffice.org Writer : spelling in thesaurus -OpenOffice.org Writer : spin button creation -OpenOffice.org Writer : splitting cells -OpenOffice.org Writer : splitting cells;by keyboard -OpenOffice.org Writer : splitting cells;by menu command -OpenOffice.org Writer : splitting tables -OpenOffice.org Writer : splitting tables;at cursor position -OpenOffice.org Writer : splitting tables;row breaks -OpenOffice.org Writer : spoolfiles with Xprinter -OpenOffice.org Writer : spreadsheets -OpenOffice.org Writer : spreadsheets;as databases (base) -OpenOffice.org Writer : spreadsheets;backgrounds -OpenOffice.org Writer : spreadsheets;copying areas to text documents -OpenOffice.org Writer : spreadsheets;creating/opening -OpenOffice.org Writer : spreadsheets;inserting charts -OpenOffice.org Writer : spreadsheets;inserting database records -OpenOffice.org Writer : spreadsheets;inserting tables from -OpenOffice.org Writer : spreadsheets;printing -OpenOffice.org Writer : spreadsheets;saving -OpenOffice.org Writer : spreadsheets;saving automatically -OpenOffice.org Writer : spreadsheets;saving in other formats -OpenOffice.org Writer : spreadsheets;sending as e-mail -OpenOffice.org Writer : SQL -OpenOffice.org Writer : SQL;definition -OpenOffice.org Writer : SQL;DISTINCT parameter -OpenOffice.org Writer : SQL;executing SQL commands -OpenOffice.org Writer : SQL;executing SQL statements (Base) -OpenOffice.org Writer : SQL;queries (Base) -OpenOffice.org Writer : square drawings -OpenOffice.org Writer : standard bar on/off -OpenOffice.org Writer : standard deviation in charts -OpenOffice.org Writer : standard filters in databases -OpenOffice.org Writer : standard printer under UNIX -OpenOffice.org Writer : Start Module backing window -OpenOffice.org Writer : start parameters -OpenOffice.org Writer : starting page numbers -OpenOffice.org Writer : statistical functions -OpenOffice.org Writer : statistics in charts -OpenOffice.org Writer : status bar on/off -OpenOffice.org Writer : stickers -OpenOffice.org Writer : stock charts -OpenOffice.org Writer : storing bibliographic information -OpenOffice.org Writer : strikethrough -OpenOffice.org Writer : strikethrough;characters -OpenOffice.org Writer : strikethrough;font effects -OpenOffice.org Writer : styles -OpenOffice.org Writer : styles;'changed' message -OpenOffice.org Writer : styles;categories -OpenOffice.org Writer : styles;conditional -OpenOffice.org Writer : styles;copying between documents -OpenOffice.org Writer : styles;creating from selections -OpenOffice.org Writer : styles;finding -OpenOffice.org Writer : styles;importing from other files -OpenOffice.org Writer : styles;keyboard shortcuts -OpenOffice.org Writer : styles;organizing -OpenOffice.org Writer : styles;printing styles used in a document -OpenOffice.org Writer : styles;replacing automatically -OpenOffice.org Writer : styles;styles and templates -OpenOffice.org Writer : styles;table styles -OpenOffice.org Writer : styles;transferring -OpenOffice.org Writer : styles;updating from selections -OpenOffice.org Writer : Styles and Formatting window -OpenOffice.org Writer : Styles and Formatting window;applying styles -OpenOffice.org Writer : Styles and Formatting window;docking -OpenOffice.org Writer : Styles and Formatting window;docking and resizing -OpenOffice.org Writer : Styles and Formatting window;updating from selections -OpenOffice.org Writer : Stylist, see Styles and Formatting window -OpenOffice.org Writer : subdocuments -OpenOffice.org Writer : subforms -OpenOffice.org Writer : subforms;creating -OpenOffice.org Writer : subforms;description -OpenOffice.org Writer : subject fields -OpenOffice.org Writer : submitting forms -OpenOffice.org Writer : subscript text -OpenOffice.org Writer : subsidiary documents -OpenOffice.org Writer : suffixes in file formats -OpenOffice.org Writer : sums of table cell series -OpenOffice.org Writer : superscript text -OpenOffice.org Writer : support on the Web -OpenOffice.org Writer : switching off word completion -OpenOffice.org Writer : synchronizing -OpenOffice.org Writer : synchronizing;labels and business cards -OpenOffice.org Writer : synchronizing;Pocket PC and OpenOffice.org formats -OpenOffice.org Writer : synonyms in thesaurus -OpenOffice.org Writer : system address book registration -OpenOffice.org Writer : tab stops -OpenOffice.org Writer : tab stops;before headings -OpenOffice.org Writer : tab stops;displaying (Writer) -OpenOffice.org Writer : tab stops;inserting and editing -OpenOffice.org Writer : tab stops;inserting in lists -OpenOffice.org Writer : tab stops;setting in sheets -OpenOffice.org Writer : tab stops;settings -OpenOffice.org Writer : tab stops;spacing in presentations -OpenOffice.org Writer : tab stops;spacing in text documents -OpenOffice.org Writer : table cells -OpenOffice.org Writer : table cells;adjusting the width on rulers -OpenOffice.org Writer : table cells;calculating sums -OpenOffice.org Writer : table cells;enlarging/reducing in text -OpenOffice.org Writer : table controls -OpenOffice.org Writer : table controls;form functions -OpenOffice.org Writer : table controls;keyboard-only edit mode -OpenOffice.org Writer : table controls;properties -OpenOffice.org Writer : table mode selection -OpenOffice.org Writer : table views of databases -OpenOffice.org Writer : Table Wizard (Base) -OpenOffice.org Writer : tables -OpenOffice.org Writer : tables;adapting the width by keyboard -OpenOffice.org Writer : tables;allowing page breaks -OpenOffice.org Writer : tables;AutoFormat function -OpenOffice.org Writer : tables;backgrounds -OpenOffice.org Writer : tables;calculating across -OpenOffice.org Writer : tables;calculating sums -OpenOffice.org Writer : tables;converting to text -OpenOffice.org Writer : tables;cross-referencing -OpenOffice.org Writer : tables;defining borders -OpenOffice.org Writer : tables;deleting -OpenOffice.org Writer : tables;editing by keyboard -OpenOffice.org Writer : tables;editing with the keyboard -OpenOffice.org Writer : tables;heading repetition after page breaks -OpenOffice.org Writer : tables;inserting columns in -OpenOffice.org Writer : tables;inserting line breaks -OpenOffice.org Writer : tables;inserting rows -OpenOffice.org Writer : tables;inserting text before -OpenOffice.org Writer : tables;inserting text tables -OpenOffice.org Writer : tables;jumping to -OpenOffice.org Writer : tables;labeling -OpenOffice.org Writer : tables;merging -OpenOffice.org Writer : tables;merging cells -OpenOffice.org Writer : tables;number recognition -OpenOffice.org Writer : tables;performing calculations in -OpenOffice.org Writer : tables;positioning -OpenOffice.org Writer : tables;resizing -OpenOffice.org Writer : tables;selecting -OpenOffice.org Writer : tables;sorting rows -OpenOffice.org Writer : tables;splitting -OpenOffice.org Writer : tables;start/end of document -OpenOffice.org Writer : tables;text flow around text tables -OpenOffice.org Writer : tables in databases -OpenOffice.org Writer : tables in databases;access rights to (Base) -OpenOffice.org Writer : tables in databases;adding to queries -OpenOffice.org Writer : tables in databases;browsing and editing -OpenOffice.org Writer : tables in databases;copying database tables (Base) -OpenOffice.org Writer : tables in databases;creating -OpenOffice.org Writer : tables in databases;creating in design view -OpenOffice.org Writer : tables in databases;importing text formats (Base) -OpenOffice.org Writer : tables in databases;joining for queries (Base) -OpenOffice.org Writer : tables in databases;printing queries (Base) -OpenOffice.org Writer : tables in databases;relations (Base) -OpenOffice.org Writer : tables in databases;searching -OpenOffice.org Writer : tables in spreadsheets -OpenOffice.org Writer : tables in spreadsheets;copying data to other applications -OpenOffice.org Writer : tables in spreadsheets;defining borders -OpenOffice.org Writer : tables in spreadsheets;inserting in text -OpenOffice.org Writer : tables in spreadsheets;value highlighting -OpenOffice.org Writer : tables in text -OpenOffice.org Writer : tables in text;captions -OpenOffice.org Writer : tables in text;creating automatically -OpenOffice.org Writer : tables in text;default settings -OpenOffice.org Writer : tables in text;defining borders -OpenOffice.org Writer : tables in text;displaying -OpenOffice.org Writer : tables in text;printing -OpenOffice.org Writer : tables in text;protecting cells -OpenOffice.org Writer : tables of contents -OpenOffice.org Writer : tables of contents;creating and updating -OpenOffice.org Writer : tables of contents;defining entries in -OpenOffice.org Writer : tables of contents;editing and deleting -OpenOffice.org Writer : tables of contents;editing or deleting entries -OpenOffice.org Writer : tables of contents;formatting -OpenOffice.org Writer : tables of contents;hyperlinks as entries -OpenOffice.org Writer : tables of contents;unprotecting -OpenOffice.org Writer : tabs -OpenOffice.org Writer : tabs;displaying sheet tabs -OpenOffice.org Writer : tags -OpenOffice.org Writer : tags;definition -OpenOffice.org Writer : tags;in OpenOffice.org Writer -OpenOffice.org Writer : tags;META tags -OpenOffice.org Writer : templates -OpenOffice.org Writer : templates;agendas -OpenOffice.org Writer : templates;changing basic fonts -OpenOffice.org Writer : templates;creating document templates -OpenOffice.org Writer : templates;database reports -OpenOffice.org Writer : templates;default templates -OpenOffice.org Writer : templates;deleting -OpenOffice.org Writer : templates;editing and saving -OpenOffice.org Writer : templates;faxes -OpenOffice.org Writer : templates;importing and exporting -OpenOffice.org Writer : templates;letters -OpenOffice.org Writer : templates;new documents from templates -OpenOffice.org Writer : templates;opening documents with -OpenOffice.org Writer : templates;organizing -OpenOffice.org Writer : templates;organizing (guide) -OpenOffice.org Writer : templates;updating from selections -OpenOffice.org Writer : terminology -OpenOffice.org Writer : terminology;general glossary -OpenOffice.org Writer : terminology;Internet glossary -OpenOffice.org Writer : testing XML filters -OpenOffice.org Writer : text -OpenOffice.org Writer : text;animating -OpenOffice.org Writer : text;Asian layout -OpenOffice.org Writer : text;backgrounds -OpenOffice.org Writer : text;bold -OpenOffice.org Writer : text;coloring -OpenOffice.org Writer : text;conditional text -OpenOffice.org Writer : text;contours -OpenOffice.org Writer : text;converting to tables -OpenOffice.org Writer : text;copying by drag and drop -OpenOffice.org Writer : text;CTL languages -OpenOffice.org Writer : text;cursor -OpenOffice.org Writer : text;drawing pictures -OpenOffice.org Writer : text;emphasizing -OpenOffice.org Writer : text;font effects -OpenOffice.org Writer : text;font sizes -OpenOffice.org Writer : text;font styles -OpenOffice.org Writer : text;fonts and formats -OpenOffice.org Writer : text;Fontwork icons -OpenOffice.org Writer : text;formatting around objects -OpenOffice.org Writer : text;formatting bold while typing -OpenOffice.org Writer : text;hiding -OpenOffice.org Writer : text;hiding from specific users, with conditions -OpenOffice.org Writer : text;hyperlinks -OpenOffice.org Writer : text;input fields -OpenOffice.org Writer : text;inserting pictures from Draw -OpenOffice.org Writer : text;inserting pictures in -OpenOffice.org Writer : text;inserting special characters -OpenOffice.org Writer : text;italics -OpenOffice.org Writer : text;kerning -OpenOffice.org Writer : text;language selection -OpenOffice.org Writer : text;line numbers -OpenOffice.org Writer : text;line spacing -OpenOffice.org Writer : text;multicolumn -OpenOffice.org Writer : text;navigating and selecting with keyboard -OpenOffice.org Writer : text;non-printable -OpenOffice.org Writer : text;not printing -OpenOffice.org Writer : text;number of words/characters -OpenOffice.org Writer : text;overwriting or inserting -OpenOffice.org Writer : text;placeholders in presentations -OpenOffice.org Writer : text;printing in black -OpenOffice.org Writer : text;replacing with format -OpenOffice.org Writer : text;rotating -OpenOffice.org Writer : text;selection modes -OpenOffice.org Writer : text;shadowed -OpenOffice.org Writer : text;sorting paragraphs -OpenOffice.org Writer : text;subscript and superscript -OpenOffice.org Writer : text;text/draw objects -OpenOffice.org Writer : text;turning off automatic correction -OpenOffice.org Writer : text;uppercase or lowercase -OpenOffice.org Writer : text animation -OpenOffice.org Writer : text attributes -OpenOffice.org Writer : text attributes;hyperlinks -OpenOffice.org Writer : text attributes;undoing -OpenOffice.org Writer : text blocks -OpenOffice.org Writer : text boxes -OpenOffice.org Writer : text boxes;form functions -OpenOffice.org Writer : text boxes;positioning -OpenOffice.org Writer : text breaks in cells -OpenOffice.org Writer : text colors for better accessibility -OpenOffice.org Writer : text columns -OpenOffice.org Writer : text databases (Base) -OpenOffice.org Writer : text documents -OpenOffice.org Writer : text documents;creating/opening -OpenOffice.org Writer : text documents;default templates -OpenOffice.org Writer : text documents;importing/exporting -OpenOffice.org Writer : text documents;inserting Calc charts -OpenOffice.org Writer : text documents;inserting spreadsheet cells -OpenOffice.org Writer : text documents;merging -OpenOffice.org Writer : text documents;print settings -OpenOffice.org Writer : text documents;printing -OpenOffice.org Writer : text documents;publishing in HTML -OpenOffice.org Writer : text documents;saving -OpenOffice.org Writer : text documents;saving automatically -OpenOffice.org Writer : text documents;saving in other formats -OpenOffice.org Writer : text documents;sending as e-mail -OpenOffice.org Writer : text documents;shortcut keys in -OpenOffice.org Writer : text effects -OpenOffice.org Writer : text flow -OpenOffice.org Writer : text flow;around text tables -OpenOffice.org Writer : text flow;at breaks -OpenOffice.org Writer : text flow;from frame to frame -OpenOffice.org Writer : text flow;in cells -OpenOffice.org Writer : text formats -OpenOffice.org Writer : text formats;copying and pasting -OpenOffice.org Writer : text formats;databases -OpenOffice.org Writer : text formats;finding -OpenOffice.org Writer : text formats;pasting -OpenOffice.org Writer : text frames -OpenOffice.org Writer : text frames;centering on pages -OpenOffice.org Writer : text frames;inserting/editing/linking -OpenOffice.org Writer : text frames;labeling -OpenOffice.org Writer : text grid for Asian layout -OpenOffice.org Writer : text input fields -OpenOffice.org Writer : text layout for special languages -OpenOffice.org Writer : text objects -OpenOffice.org Writer : text objects;alignment -OpenOffice.org Writer : text objects;draw functions -OpenOffice.org Writer : text objects;fonts -OpenOffice.org Writer : text objects;in presentations and drawings -OpenOffice.org Writer : text overflow in spreadsheet cells -OpenOffice.org Writer : text scaling in charts -OpenOffice.org Writer : text sections -OpenOffice.org Writer : text sections;moving and copying -OpenOffice.org Writer : text sections;using -OpenOffice.org Writer : text wrap around objects -OpenOffice.org Writer : text, see also text documents, paragraphs and characters -OpenOffice.org Writer : TextArt, see Fontwork -OpenOffice.org Writer : textures -OpenOffice.org Writer : textures;inserting from Gallery -OpenOffice.org Writer : textures;on chart bars -OpenOffice.org Writer : Thai -OpenOffice.org Writer : Thai;entering text -OpenOffice.org Writer : Thai;language settings -OpenOffice.org Writer : thesaurus -OpenOffice.org Writer : thesaurus;activating for a language -OpenOffice.org Writer : thesaurus;related words -OpenOffice.org Writer : ticker text -OpenOffice.org Writer : time fields -OpenOffice.org Writer : time fields;form functions -OpenOffice.org Writer : time fields;HTML -OpenOffice.org Writer : time fields;inserting -OpenOffice.org Writer : times -OpenOffice.org Writer : times;inserting when printing presentations -OpenOffice.org Writer : times, formats -OpenOffice.org Writer : tips -OpenOffice.org Writer : tips;extended tips in Help -OpenOffice.org Writer : title pages -OpenOffice.org Writer : title pages;centering text on -OpenOffice.org Writer : title pages;page styles -OpenOffice.org Writer : title rows -OpenOffice.org Writer : title rows;printing in OpenOffice.org Math -OpenOffice.org Writer : titles -OpenOffice.org Writer : titles;alignment (charts) -OpenOffice.org Writer : titles;changing -OpenOffice.org Writer : titles;editing in charts -OpenOffice.org Writer : titles;font effects -OpenOffice.org Writer : titles;formatting automatically -OpenOffice.org Writer : titles;formatting charts -OpenOffice.org Writer : titles;objects -OpenOffice.org Writer : toolbars -OpenOffice.org Writer : toolbars;adding buttons -OpenOffice.org Writer : toolbars;docking/undocking -OpenOffice.org Writer : toolbars;Form Navigation bar -OpenOffice.org Writer : toolbars;viewing/closing -OpenOffice.org Writer : tools bar -OpenOffice.org Writer : tooltips -OpenOffice.org Writer : tooltips;extended tips -OpenOffice.org Writer : tooltips;help -OpenOffice.org Writer : totals in text tables -OpenOffice.org Writer : Track changes feature in Microsoft Office -OpenOffice.org Writer : traditional Chinese -OpenOffice.org Writer : traditional Chinese;translating to simplified chinese -OpenOffice.org Writer : transparency -OpenOffice.org Writer : transparency;areas -OpenOffice.org Writer : transparency;off for faster printing -OpenOffice.org Writer : transparency;saving -OpenOffice.org Writer : tree view of Help -OpenOffice.org Writer : trend lines in charts -OpenOffice.org Writer : trigonometric functions -OpenOffice.org Writer : turning off automatic correction -OpenOffice.org Writer : typefaces -OpenOffice.org Writer : typefaces;adding under UNIX -OpenOffice.org Writer : typefaces;formats -OpenOffice.org Writer : typographical quotes in OpenOffice.org Writer -OpenOffice.org Writer : typography -OpenOffice.org Writer : typography;Asian -OpenOffice.org Writer : underlining -OpenOffice.org Writer : underlining;AutoFormat function -OpenOffice.org Writer : underlining;characters -OpenOffice.org Writer : underlining;quick -OpenOffice.org Writer : underlining;text -OpenOffice.org Writer : undocking windows -OpenOffice.org Writer : undoing -OpenOffice.org Writer : undoing;direct formatting -OpenOffice.org Writer : undoing;editing -OpenOffice.org Writer : undoing;number of steps -OpenOffice.org Writer : ungrouping groups -OpenOffice.org Writer : units -OpenOffice.org Writer : units;converting -OpenOffice.org Writer : units;measurement units -OpenOffice.org Writer : unlinking frames -OpenOffice.org Writer : UNO components -OpenOffice.org Writer : UNO components;Extension Manager -OpenOffice.org Writer : UNO components;integrating new -OpenOffice.org Writer : update options -OpenOffice.org Writer : updates -OpenOffice.org Writer : updates;checking automatically -OpenOffice.org Writer : updates;checking manually -OpenOffice.org Writer : updating -OpenOffice.org Writer : updating;cross-references -OpenOffice.org Writer : updating;fields -OpenOffice.org Writer : updating;fields and charts, automatically (Writer) -OpenOffice.org Writer : updating;indexes/tables of contents -OpenOffice.org Writer : updating;linked sections, manually -OpenOffice.org Writer : updating;links in text documents -OpenOffice.org Writer : updating;links, on opening -OpenOffice.org Writer : updating;styles, from selections -OpenOffice.org Writer : updating;tables of contents -OpenOffice.org Writer : updating;templates -OpenOffice.org Writer : updating;text documents -OpenOffice.org Writer : uppercase -OpenOffice.org Writer : uppercase;changing to lowercase -OpenOffice.org Writer : uppercase;formatting text -OpenOffice.org Writer : URL -OpenOffice.org Writer : URL;changing hyperlink URLs -OpenOffice.org Writer : URL;definition -OpenOffice.org Writer : URL;saving absolute/relative paths -OpenOffice.org Writer : URL;turning off URL recognition -OpenOffice.org Writer : user data -OpenOffice.org Writer : user data;in conditions -OpenOffice.org Writer : user data;input -OpenOffice.org Writer : user data;querying -OpenOffice.org Writer : user data;removing when saving -OpenOffice.org Writer : user variables in conditions/fields -OpenOffice.org Writer : user-defined dictionaries -OpenOffice.org Writer : user-defined dictionaries;creating -OpenOffice.org Writer : user-defined dictionaries;dictionary of exceptions -OpenOffice.org Writer : user-defined dictionaries;editing -OpenOffice.org Writer : user-defined dictionaries;removing words from -OpenOffice.org Writer : user-defined fields, restriction -OpenOffice.org Writer : user-defined indexes -OpenOffice.org Writer : user-defined styles -OpenOffice.org Writer : user-defined styles;automatically replacing -OpenOffice.org Writer : UTF-8/UCS2 support -OpenOffice.org Writer : Validation feature in Microsoft Office -OpenOffice.org Writer : values -OpenOffice.org Writer : values;rounded as shown (Calc) -OpenOffice.org Writer : variable dates -OpenOffice.org Writer : variables -OpenOffice.org Writer : variables;document properties -OpenOffice.org Writer : variables;for paths -OpenOffice.org Writer : variables;in conditions -OpenOffice.org Writer : variances in charts -OpenOffice.org Writer : VBA code -OpenOffice.org Writer : VBA code;loading/saving documents with VBA code -OpenOffice.org Writer : version management -OpenOffice.org Writer : version numbers of documents -OpenOffice.org Writer : versions -OpenOffice.org Writer : versions;comparing documents -OpenOffice.org Writer : versions;file saving as, restriction -OpenOffice.org Writer : versions;merging document versions -OpenOffice.org Writer : versions;of a document -OpenOffice.org Writer : versions;OpenOffice.org -OpenOffice.org Writer : vertical callouts -OpenOffice.org Writer : vertical rulers -OpenOffice.org Writer : vertical scrollbars (Writer) -OpenOffice.org Writer : vertical text boxes -OpenOffice.org Writer : videos -OpenOffice.org Writer : viewing -OpenOffice.org Writer : viewing;databases -OpenOffice.org Writer : viewing;fields -OpenOffice.org Writer : viewing;file properties -OpenOffice.org Writer : viewing;OpenOffice.org documents in Internet Explorer -OpenOffice.org Writer : viewing;toolbars -OpenOffice.org Writer : views -OpenOffice.org Writer : views;creating database views (Base) -OpenOffice.org Writer : views;defaults -OpenOffice.org Writer : views;full screen -OpenOffice.org Writer : views;icons -OpenOffice.org Writer : views;in 3D -OpenOffice.org Writer : views;scaling -OpenOffice.org Writer : Visual Basic for Applications -OpenOffice.org Writer : Visual Basic for Applications;loading/saving documents with VBA code -OpenOffice.org Writer : watermarks -OpenOffice.org Writer : web documents -OpenOffice.org Writer : web documents;XForms -OpenOffice.org Writer : Web support -OpenOffice.org Writer : WebCast export -OpenOffice.org Writer : weekdays -OpenOffice.org Writer : weekdays;automatically completing -OpenOffice.org Writer : widows -OpenOffice.org Writer : wildcards, see regular expressions -OpenOffice.org Writer : windows -OpenOffice.org Writer : windows;docking -OpenOffice.org Writer : windows;docking definition -OpenOffice.org Writer : windows;hiding/showing/docking -OpenOffice.org Writer : windows;new -OpenOffice.org Writer : wizards -OpenOffice.org Writer : wizards;agendas -OpenOffice.org Writer : wizards;database queries -OpenOffice.org Writer : wizards;database tables (Base) -OpenOffice.org Writer : wizards;databases (Base) -OpenOffice.org Writer : wizards;document converter -OpenOffice.org Writer : wizards;Euro Converter -OpenOffice.org Writer : wizards;faxes -OpenOffice.org Writer : wizards;form letters -OpenOffice.org Writer : wizards;forms -OpenOffice.org Writer : wizards;letters -OpenOffice.org Writer : wizards;overview -OpenOffice.org Writer : wizards;presentations -OpenOffice.org Writer : wizards;reports -OpenOffice.org Writer : word completion -OpenOffice.org Writer : word counts -OpenOffice.org Writer : Word documents -OpenOffice.org Writer : Word documents;compatibility -OpenOffice.org Writer : Word documents;saving as -OpenOffice.org Writer : WordArt, see Fontwork -OpenOffice.org Writer : words -OpenOffice.org Writer : words;automatic replacement on/off -OpenOffice.org Writer : words;automatically replacing -OpenOffice.org Writer : words;counting in text -OpenOffice.org Writer : words;disabling spellcheck -OpenOffice.org Writer : words;wrapping in cells -OpenOffice.org Writer : words;wrapping/not wrapping in text -OpenOffice.org Writer : work directory change -OpenOffice.org Writer : Workbook feature in Microsoft Office -OpenOffice.org Writer : Worksheet feature in Microsoft Office -OpenOffice.org Writer : wrapping text -OpenOffice.org Writer : wrapping text;editing contours -OpenOffice.org Writer : wrapping text;in cells -OpenOffice.org Writer : write protection on/off -OpenOffice.org Writer : writing aids options -OpenOffice.org Writer : writing with direct cursor -OpenOffice.org Writer : WYSIWYG in fonts lists -OpenOffice.org Writer : X axes -OpenOffice.org Writer : X axes;grid formatting -OpenOffice.org Writer : X axes;scaling -OpenOffice.org Writer : X axes;showing -OpenOffice.org Writer : XForms -OpenOffice.org Writer : XML converters -OpenOffice.org Writer : XML file formats -OpenOffice.org Writer : XML filters -OpenOffice.org Writer : XML filters;creating/testing/distributing/deleting -OpenOffice.org Writer : XML filters;settings -OpenOffice.org Writer : XML Forms -OpenOffice.org Writer : XSLT based filters -OpenOffice.org Writer : XSLT based filters;settings -OpenOffice.org Writer : XSLT filters, see also XML filters -OpenOffice.org Writer : XY charts -OpenOffice.org Writer : Y axes -OpenOffice.org Writer : Y axes;formatting -OpenOffice.org Writer : Y axes;grid formatting -OpenOffice.org Writer : Y axes;scaling -OpenOffice.org Writer : Y axes;showing -OpenOffice.org Writer : years -OpenOffice.org Writer : years;2-digit options -OpenOffice.org Writer : Z axes -OpenOffice.org Writer : Z axes;grid formatting -OpenOffice.org Writer : Z axes;showing -OpenOffice.org Writer : zero values -OpenOffice.org Writer : zero values;displaying (Calc) -OpenOffice.org Writer : zooming -OpenOffice.org Writer : zooming;page views -OpenOffice.org Writer : zooming;pictures -OpenOffice.org Writer : zooming;status bar -- cgit From 09d6255e020853d1dc52fa2cf07e4cc8cf736930 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 13:31:32 +0200 Subject: vitomation01: #i109696 - Code compression, there exists a function to compare results, no need to do it manually --- .../framework/optional/includes/help_search.inc | 36 +++++++++------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/testautomation/framework/optional/includes/help_search.inc b/testautomation/framework/optional/includes/help_search.inc index 297047c47398..dddf9cbda60d 100755 --- a/testautomation/framework/optional/includes/help_search.inc +++ b/testautomation/framework/optional/includes/help_search.inc @@ -38,6 +38,8 @@ testcase tHelpSearch goto endsub endif + const RC_LISTS_IDENTICAL = 0 + dim brc as boolean dim irc as integer @@ -49,16 +51,15 @@ testcase tHelpSearch cBasePath = gTesttoolPath & "framework\optional\input\help_browser\" dim cDataFile as string dim sProductName as string : sProductName = hStringReplaceChar( gProductName, " ", "_" ) - - brc = hOpenHelp() - if ( not brc ) then + + printlog( "Open Help Browser" ) + if ( not hOpenHelp() ) then warnlog( "Help not open, aborting test" ) goto endsub endif - - brc = hSelectHelpTab( "find" ) - if ( not brc ) then + printlog( "Go to the Find-Tabpage" ) + if ( not hSelectHelpTab( "find" ) ) then warnlog( "Could not access requested TabPage, aborting test" ) call hClosehelp() goto endsub @@ -82,8 +83,8 @@ testcase tHelpSearch sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) - irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) - hListResultEvaluation( irc , 0 ) + irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) + hListResultEvaluation( irc , RC_LISTS_IDENTICAL ) ' ------------ Search whole words only ------------------------------------- printlog( "" ) @@ -102,10 +103,8 @@ testcase tHelpSearch sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) - irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) - if ( irc <> 0 ) then - warnlog( "Lists are not identical, please review the log" ) - endif + irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) + hListResultEvaluation( irc , RC_LISTS_IDENTICAL ) ' ------------ Search headings only ---------------------------------------- printlog( "" ) @@ -124,10 +123,8 @@ testcase tHelpSearch sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) - irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) - if ( irc <> 0 ) then - warnlog( "Lists are not identical, please review the log" ) - endif + irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) + hListResultEvaluation( irc , RC_LISTS_IDENTICAL ) ' ------------ Search headings and whole words ----------------------------- printlog( "" ) @@ -146,11 +143,8 @@ testcase tHelpSearch sFileOut = hGetWorkFile( cDataFile ) sFileIn = convertpath( cBasePath & cDataFile ) - irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) - if ( irc <> 0 ) then - warnlog( "Lists are not identical, please review the log" ) - endif - + irc = hManageComparisionList( sFileIn, sFileOut, aUIList() ) + hListResultEvaluation( irc , RC_LISTS_IDENTICAL ) hCloseHelp() -- cgit From e0ffe123aa0ec3e555385d970dfde4534308878c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 14:27:34 +0200 Subject: vitomation01: #i109696 - Misc fixes to code logic --- .../required/includes/g_numberformatter1.inc | 10 --- .../global/tools/includes/required/t_tools1.inc | 48 +++++------ .../optional/includes/global/g_arrangealign.inc | 11 +-- testautomation/graphics/tools/id_tools.inc | 95 +++++++--------------- testautomation/graphics/tools/id_tools_2.inc | 52 ------------ 5 files changed, 50 insertions(+), 166 deletions(-) mode change 100644 => 100755 testautomation/global/required/includes/g_numberformatter1.inc mode change 100644 => 100755 testautomation/graphics/optional/includes/global/g_arrangealign.inc mode change 100644 => 100755 testautomation/graphics/tools/id_tools.inc mode change 100644 => 100755 testautomation/graphics/tools/id_tools_2.inc diff --git a/testautomation/global/required/includes/g_numberformatter1.inc b/testautomation/global/required/includes/g_numberformatter1.inc old mode 100644 new mode 100755 index 6eb8191c4367..2271bc333142 --- a/testautomation/global/required/includes/g_numberformatter1.inc +++ b/testautomation/global/required/includes/g_numberformatter1.inc @@ -29,16 +29,6 @@ '* '* short description : update and resouce test for numberformatter '* -'************************************************************************ -'* -'#1 tNumberformatterGetLanguage -'#1 sNumberformatterPreconditions -'#1 sNumberformatterOpenDialog -'#1 tNumberformatterPre -'#1 tNumberformatter -'#1 tUserDefinedNumberformatter -'#1 tButtonsNumberformatter -'* '\*********************************************************************** '///Setting Variables.. diff --git a/testautomation/global/tools/includes/required/t_tools1.inc b/testautomation/global/tools/includes/required/t_tools1.inc index f351a49d0aee..7242d1c3653d 100755 --- a/testautomation/global/tools/includes/required/t_tools1.inc +++ b/testautomation/global/tools/includes/required/t_tools1.inc @@ -836,16 +836,14 @@ function ActiveDeactivateAsianSupport ( WhatState as Boolean ) as Boolean gAsianSup = WhatState ' Set the global variable Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK - Sleep (3) + hCloseDialog( ExtrasOptionenDlg, "ok" ) else ActiveDeactivateAsianSupport = TRUE If WhatState = FALSE then warnlog "Deactivating of asian language support is not possible, because it is disabled in cjk versions" end if Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK - Sleep (3) + hCloseDialog( ExtrasOptionenDlg, "ok" ) end if end function @@ -875,16 +873,14 @@ function ActiveDeactivateCTLSupport ( WhatState as Boolean ) as Boolean gCTLSup = WhatState ' Set the global variable Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK - Sleep (3) + hCloseDialog( ExtrasOptionenDlg, "ok" ) else ActiveDeactivateCTLSupport = TRUE If WhatState = FALSE then warnlog "Deactivating of CTL language support is not possible, because it is disabled in ctl versions" end if Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK - Sleep (3) + hCloseDialog( ExtrasOptionenDlg, "ok" ) end if end function @@ -1123,34 +1119,30 @@ end sub sub raiseApplication ' Try to solve focus problem on MacOS X; After calling this function, OOo should be most front; - Dim i as integer - Dim a as integer - Dim b as integer - Dim tBundle as string - Dim aPath + dim iCurrentDir as integer + dim iNumberOfHits as integer : iNumberOfHits = 0 + dim iDirPosition as integer + dim tBundle as string + dim aPath ' string array with dynamic itemcount, intended. ' Calling just the .app with open on MacOS X via shell command if ( lcase( gPlatform ) = "osx" ) then - + + ' Split the path into its components aPath = split(gNetzOfficePath, gPathSigne) - a=0 + ' make sure 'Contents' is just one time in path - for i=0 to uBound(aPath) - - if "Contents" = aPath(i) then - a=a+1 - endif - - next i + for iCurrentDir = 0 to uBound(aPath) + if "Contents" = aPath( iCurrentDir ) then iNumberOfHits = iNumberOfHits + 1 + next iCurrentDir ' exit if not - if a<>1 then - exit sub - end if + if ( iNumberOfHits <> 1 ) then exit sub - i=inStr(gNetzOfficePath, "Contents") - tBundle=left(gNetzOfficePath, i-2) - shell("open",1 ,tBundle, true) + iDirPosition = inStr( gNetzOfficePath, "Contents" ) + tBundle = left( gNetzOfficePath, iDirPosition - 2 ) + + shell( "open", 1, tBundle, true ) end if end sub diff --git a/testautomation/graphics/optional/includes/global/g_arrangealign.inc b/testautomation/graphics/optional/includes/global/g_arrangealign.inc old mode 100644 new mode 100755 index 4d79d3c2f829..6cce05a1f4fd --- a/testautomation/graphics/optional/includes/global/g_arrangealign.inc +++ b/testautomation/graphics/optional/includes/global/g_arrangealign.inc @@ -29,16 +29,7 @@ '* '* short description : '* -'************************************************************************************** -' #1 tiDatei_Fuer_Anordnen_Erstellen -' #1 tdContextSendBackward -' #1 tdContextBringForward -' #1 tdContextSendToBack -' #1 tdContextBringToFront -' #1 tdContextReverse -' #1 tdContextInFrontOfObject -' #1 tdContextBehindObject -'\************************************************************************************* +'\****************************************************************************** testcase tiDatei_Fuer_Anordnen_Erstellen dim sTemp as string diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc old mode 100644 new mode 100755 index 117fa47725e2..9cd7bacdfb16 --- a/testautomation/graphics/tools/id_tools.inc +++ b/testautomation/graphics/tools/id_tools.inc @@ -31,45 +31,6 @@ '* '\****************************************************************************** -'Functions: -' #1 hFindSpellHypLanguage -' #1 GetDecimalSeperator -' #1 LiberalMeasurement -' #1 GetMeasUnit -' #1 StrToDouble -' #1 fGetPositionX -' #1 setStartCurrentPage -' #1 fIsDocumentWritable -' #1 fIsDocumentWritable -' #1 fGetSizeXY -' #1 hCallExport -' #1 checkexppdfwaitmax10sec -' #1 fCompareTwoValues -' #1 fConvertBackslashToSlash -' #1 hScreenFontAntialiasing -' #1 fSaveLoadAllFormats -' #1 setCharacterLanguage -' #1 toggleGermanSpellchecking -' #1 sAnalyseContextMenu -' #1 sLongToBinary -' #1 sBinaryToLong -' #1 fGetIntoDictionary -' #1 hSelectInList -' #1 hWalkTheStyles2 -' #1 fGetSlideNumber -' #1 fGetSlideCount -' #1 fGetSlideName -' #1 fGetSetPageBackground -' #1 CreateTextSetEffectAndAngle -' #1 fGetPresentationStyle -' #1 hPrepareSearchBUG -' #1 makeNumOutOfText -' #1 wIgnorierenlisteLoeschen -' #1 optionstest -' #1 optionstest2 - - -'\***************************************************************** function hFindSpellHypLanguage (optional sBooks()) as string printlog "print all available languages that have a language module" dim iListLength as integer @@ -98,8 +59,7 @@ function hFindSpellHypLanguage (optional sBooks()) as string ModuleBearbeiten.Close Kontext "ExtrasOptionenDlg" printlog "close dialog 'Options - '" - ExtrasOptionenDlg.OK - sleep 1 + hCloseDialog( ExtrasOptionenDlg, "ok" ) endif end function @@ -235,19 +195,21 @@ function fGetPositionX () as string fGetPositionX = "" try - ContextPositionAndSize + ContextPositionAndSize + + kontext + active.SetPage TabPositionAndSize + kontext "TabPositionAndSize" + if ( TabPositionAndSize.exists( 5 ) ) then + fGetPositionX = PositionX.GetText() + TabPositionAndSize.OK() + else + warnlog( "Couldn't switch to " ) + endif catch - warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" + warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" endcatch - kontext - active.SetPage TabPositionAndSize - kontext "TabPositionAndSize" - if TabPositionAndSize.exists (5) then - fGetPositionX = PositionX.GetText - TabPositionAndSize.OK - else - warnlog "Couldn't switch tab page :-( " - endif + end function '------------------------------------------------------------------------------- @@ -266,7 +228,7 @@ function setStartCurrentPage(optional bState as boolean) as boolean endif Kontext "ExtrasOptionenDlg" printlog "+ close dialog 'Options - Presenation - General' with OK " - ExtrasOptionenDlg.OK + hCloseDialog( ExtrasOptionenDlg, "ok" ) end function '------------------------------------------------------------------------------- @@ -278,11 +240,11 @@ function fIsDocumentWritable() as boolean printlog " true if the document is writeable otherwise false" Kontext "Standardbar" - if Bearbeiten.GetState(2) <> 1 then - fIsDocumentWritable = false - else - fIsDocumentWritable = true - endif + if Bearbeiten.GetState( 2 ) <> 1 then + fIsDocumentWritable = false + else + fIsDocumentWritable = true + endif end function @@ -295,17 +257,17 @@ function fMakeDocumentWritable() as boolean printlog " true if the document can make writeable otherwise false" Kontext "Standardbar" - sleep (1) + sleep ( 1 ) if Bearbeiten.GetState(2) <> 1 then Bearbeiten.Click Kontext - if Active.Exists(1) then - Active.Yes - fMakeDocumentWritable = true - else - warnlog "No messagebox after making document editable?" - fMakeDocumentWritable = false - endif + if Active.Exists(1) then + Active.Yes + fMakeDocumentWritable = true + else + warnlog "No messagebox after making document editable?" + fMakeDocumentWritable = false + endif else printlog "Document is allready writable." fMakeDocumentWritable = true @@ -323,6 +285,7 @@ function fGetSizeXY (sX as string, sY as string, bGet as boolean) as Boolean bReturn = True try ContextPositionAndSize + exit function catch warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" endcatch diff --git a/testautomation/graphics/tools/id_tools_2.inc b/testautomation/graphics/tools/id_tools_2.inc old mode 100644 new mode 100755 index 6cf18494915d..3604875088a8 --- a/testautomation/graphics/tools/id_tools_2.inc +++ b/testautomation/graphics/tools/id_tools_2.inc @@ -31,58 +31,6 @@ '* '\****************************************************************************** -'Subs: -' #1 sFileExport -' #1 callAutocorrectOptions -' #1 sCheckCheck -' #1 sCheckUnderlined -' #1 sCheckSupperscript -' #1 sCheckDash -' #1 sPrintCheckOrder -' #1 writertest -' #1 calctest -' #1 tClipboardFromDrawTest -' #1 Select_Copy -' #1 SaveMeasurementSetFirst -' #1 MeasurementSetFirst -' #1 ResetMeasurement -' #1 SetKontextApplication -' #1 hSetSpellHypLanguage -' #1 hTBOtypeInDoc -' #1 Position_Vergleichen -' #1 g_demoguide -' #1 sFormatTextDrawAnimation -' #1 mouseclickinpresentation -' #1 im_002_ -' #1 im_003_ -' #1 im_004_ -' #1 im_005_ -' #1 im_007_ -' #1 im_011_ -' #1 D_002_ -' #1 D_003_ -' #1 D_005_ -' #1 d_007 -' #1 hOpenGallery -' #1 LoadGraphic -' #1 CheckGraphic -' #1 GetOnlyGraphics -' #1 tSettingsToCM -' #1 tResetSettings -' #1 id_001 -' #1 id_002 -' #1 id_003 -' #1 id_004 -' #1 id_005 -' #1 id_006 -' #1 id_007 -' #1 id_008 -' #1 id_009 -' #1 id_011 -' #1 hWalkTheStyles - -'\***************************************************************** - sub sFileExport printlog " just exporting is done in qatesttool/framework/first test: 'tGraphicExport' but there is no loading, " -- cgit From 7295d72f7c3b49039bad9db00588813d27ab72df Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Tue, 25 May 2010 15:48:41 +0200 Subject: vcl112: #i110881# do not set mwm hint on fullscreen window --- vcl/unx/source/app/wmadaptor.cxx | 99 +++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 48 deletions(-) diff --git a/vcl/unx/source/app/wmadaptor.cxx b/vcl/unx/source/app/wmadaptor.cxx index fb2317e19573..1a116fcbe8d6 100644 --- a/vcl/unx/source/app/wmadaptor.cxx +++ b/vcl/unx/source/app/wmadaptor.cxx @@ -1407,56 +1407,59 @@ void WMAdaptor::setFrameTypeAndDecoration( X11SalFrame* pFrame, WMWindowType eTy pFrame->meWindowType = eType; pFrame->mnDecorationFlags = nDecorationFlags; - // set mwm hints - struct _mwmhints { - unsigned long flags, func, deco; - long input_mode; - unsigned long status; - } aHint; - - aHint.flags = 15; /* flags for functions, decoration, input mode and status */ - aHint.deco = 0; - aHint.func = 1L << 2; - aHint.status = 0; - aHint.input_mode = 0; - - // evaluate decoration flags - if( nDecorationFlags & decoration_All ) - aHint.deco = 1, aHint.func = 1; - else - { - if( nDecorationFlags & decoration_Title ) - aHint.deco |= 1L << 3; - if( nDecorationFlags & decoration_Border ) - aHint.deco |= 1L << 1; - if( nDecorationFlags & decoration_Resize ) - aHint.deco |= 1L << 2, aHint.func |= 1L << 1; - if( nDecorationFlags & decoration_MinimizeBtn ) - aHint.deco |= 1L << 5, aHint.func |= 1L << 3; - if( nDecorationFlags & decoration_MaximizeBtn ) - aHint.deco |= 1L << 6, aHint.func |= 1L << 4; - if( nDecorationFlags & decoration_CloseBtn ) - aHint.deco |= 1L << 4, aHint.func |= 1L << 5; - } - // evaluate window type - switch( eType ) + if( ! pFrame->mbFullScreen ) { - case windowType_ModalDialogue: - aHint.input_mode = 1; - break; - default: - break; - } + // set mwm hints + struct _mwmhints { + unsigned long flags, func, deco; + long input_mode; + unsigned long status; + } aHint; + + aHint.flags = 15; /* flags for functions, decoration, input mode and status */ + aHint.deco = 0; + aHint.func = 1L << 2; + aHint.status = 0; + aHint.input_mode = 0; + + // evaluate decoration flags + if( nDecorationFlags & decoration_All ) + aHint.deco = 1, aHint.func = 1; + else + { + if( nDecorationFlags & decoration_Title ) + aHint.deco |= 1L << 3; + if( nDecorationFlags & decoration_Border ) + aHint.deco |= 1L << 1; + if( nDecorationFlags & decoration_Resize ) + aHint.deco |= 1L << 2, aHint.func |= 1L << 1; + if( nDecorationFlags & decoration_MinimizeBtn ) + aHint.deco |= 1L << 5, aHint.func |= 1L << 3; + if( nDecorationFlags & decoration_MaximizeBtn ) + aHint.deco |= 1L << 6, aHint.func |= 1L << 4; + if( nDecorationFlags & decoration_CloseBtn ) + aHint.deco |= 1L << 4, aHint.func |= 1L << 5; + } + // evaluate window type + switch( eType ) + { + case windowType_ModalDialogue: + aHint.input_mode = 1; + break; + default: + break; + } - // set the hint - XChangeProperty( m_pDisplay, - pFrame->GetShellWindow(), - m_aWMAtoms[ MOTIF_WM_HINTS ], - m_aWMAtoms[ MOTIF_WM_HINTS ], - 32, - PropModeReplace, - (unsigned char*)&aHint, - 5 ); + // set the hint + XChangeProperty( m_pDisplay, + pFrame->GetShellWindow(), + m_aWMAtoms[ MOTIF_WM_HINTS ], + m_aWMAtoms[ MOTIF_WM_HINTS ], + 32, + PropModeReplace, + (unsigned char*)&aHint, + 5 ); + } // set transientFor hint /* #91030# dtwm will not map a dialogue if the transient -- cgit From 71776505ceef5878a06318e8f5e8bb159263a567 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 18:45:22 +0200 Subject: vitomation01: #i109696 - Misc fixes + enhancements, new function --- .../framework/optional/f_basic_gridcontrol.bas | 13 ++- .../optional/includes/basic_gridcontrol.inc | 115 ++++++--------------- .../tools/includes/optional/t_treelist_tools.inc | 45 +++++--- 3 files changed, 72 insertions(+), 101 deletions(-) mode change 100644 => 100755 testautomation/framework/optional/f_basic_gridcontrol.bas mode change 100644 => 100755 testautomation/framework/optional/includes/basic_gridcontrol.inc diff --git a/testautomation/framework/optional/f_basic_gridcontrol.bas b/testautomation/framework/optional/f_basic_gridcontrol.bas old mode 100644 new mode 100755 index 697618e7fc65..74ee57c52c5d --- a/testautomation/framework/optional/f_basic_gridcontrol.bas +++ b/testautomation/framework/optional/f_basic_gridcontrol.bas @@ -32,17 +32,26 @@ '\****************************************************************************** sub main + use "framework\optional\includes\basic_gridcontrol.inc" + call hStatusIn ("framework", "f_basic_gridcontrol.bas") - printlog "Load Document with gridcontrol" + + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) call tGridcontrolLoad hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_DEFAULT ) - call hStatusOut + + call hStatusOut() + end sub sub LoadIncludeFiles + use "global\system\includes\master.inc" use "global\system\includes\gvariabl.inc" + + use "global\tools\includes\optional\t_treelist_tools.inc" + gApplication = "WRITER" call GetUseFiles() end sub diff --git a/testautomation/framework/optional/includes/basic_gridcontrol.inc b/testautomation/framework/optional/includes/basic_gridcontrol.inc old mode 100644 new mode 100755 index dc96ef30e16c..24102f770f4e --- a/testautomation/framework/optional/includes/basic_gridcontrol.inc +++ b/testautomation/framework/optional/includes/basic_gridcontrol.inc @@ -32,100 +32,49 @@ '\****************************************************************************** testcase tGridcontrolLoad - dim sLocation as string - dim i,x,a as integer - dim sTemp as string - dim lFiles(200) as string - dim bTemp as boolean - dim iError, iOK as integer - - sLocation = "framework/optional/include/basic_gridcontrol.inc::" - hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) + const MACRO_NAME = "VclTestTool" + const MACRO_NOT_FOUND = 0 + const FILE_NAME = "framework/optional/input/gridcontrol.odt" - printlog "Open the test document" - call hFileOpen(convertPath(gTestToolPath + "framework/optional/input/gridcontrol.odt")) - printlog "Security dialog might come up" - kontext "SecurityWarning" - if SecurityWarning.exists(5) then - printlog "Allow to run macros" - SecurityWarning.ok - endif - call sleep 1 + dim iPos as integer + + printlog( "Open the test document: " & FILE_NAME ) + call hFileOpen( gTestToolPath & FILE_NAME ) - printlog "Start the macro, that performs the test" - printlog "Tools->Macros->Run Macro..." + printlog( "Open the dialog" ) ToolsMacrosRunMacro + + printlog( "Find the document, its library and the test macro, run the macro" ) Kontext "ScriptSelector" - if ScriptSelector.exists(10) then - x = LibraryTreeList.getItemCount - printlog "Look for library 'gridcontrol'" - for i = 1 to x - sTemp = LibraryTreeList.getItemText(i) - 'printlog "("+i+"/"+x+"): '" + sTemp + "'" - if (instr(sTemp,"gridcontrol")>0 OR instr(sTemp,"GRIDCONTROL")) then - a = i - printlog "Found library ("+i+"/"+x+"): '" + sTemp + "'" - endif - next i - if 0 <> a then - printlog "Select the library and unfold it" - LibraryTreeList.select(a) - LibraryTreeList.typeKeys("+") - printlog "Go to 'Standard' and unfold" - LibraryTreeList.typeKeys("") - LibraryTreeList.typeKeys("+") - printlog "Go to 'Module1'" - LibraryTreeList.typeKeys("") + if ( ScriptSelector.exists( 10 ) ) then + + printlog( "Select the last node" ) + hSelectTheLastNode( LibraryTreeList ) - printlog "Select macro name 'VclTestTool'" - x = ScriptList.getItemCount - for i = 1 to x - sTemp = ScriptList.getItemText(i) - 'printlog "("+i+"/"+x+"): '" + sTemp + "'" - if "VclTestTool" = sTemp then - a = i - printlog "Found macro ("+i+"/"+x+"): '" + sTemp + "'" - endif - next i - if (0 <> a) then - printlog "Select the macro" - ScriptList.select(a) - printlog "Start the macro by pressing the button 'run'" - ScriptSelector.ok - printlog "sleep... at least 60 seconds" - call sleep(60) - printlog "If macro fails for whatever reason, a message comes up" - Kontext - if active.exists() then - warnlog "" + active.getText - active.ok - try - EditCopy - warnlog getclipboard() - catch - endcatch - printlog "close basic ide" - call hCloseDocument() - printlog "close document" - call hCloseDocument() - goto endsub - endif + printlog( "Search for the macro within the current module" ) + iPos = hFindInList( ScriptList, MACRO_NAME ) + if ( iPos <> MACRO_NOT_FOUND ) then + + printlog( "The requested macro was found: " & MACRO_NAME ) + ScriptList.select( iPos ) + hCloseDialog( ScriptSelector, "ok" ) + + printlog( "Probe for unexpected messagebox" ) + + ' REM what is supposed to happen here? + ' Wait for a messagebox and print an error no matter what? + ' Very, very strange - else - warnlog sLocation + "Macro not found: 'Main'" - endif else - warnlog sLocation + "Library not found: 'gridcontrol'" + warnlog( "The requested Macro could not be found: " & MACRO_NAME ) endif else - warnlog sLocation + "'Run macro dialog' didn't came up" + warnlog( "ScriptSelector failed to open" ) endif - printlog "clean up" - printlog "Close the document, else an error about the navigator will be thrown" - if getDocumentcount > 0 then - call hCloseDocument() - endif + printlog( "Test exit, cleanup" ) + hFileCloseAll() + endcase diff --git a/testautomation/global/tools/includes/optional/t_treelist_tools.inc b/testautomation/global/tools/includes/optional/t_treelist_tools.inc index a983510352e4..ba16f529c100 100755 --- a/testautomation/global/tools/includes/optional/t_treelist_tools.inc +++ b/testautomation/global/tools/includes/optional/t_treelist_tools.inc @@ -170,7 +170,7 @@ function hExpandNode( oControl as object, iNode as integer ) as integer '///
                  '///+
                • Returns new nodecount or 0 on error
                • '///
                - + const RC_FAILURE = 0 const CFN = "hExpandNode::" dim iOldNodeCount as integer @@ -182,7 +182,7 @@ function hExpandNode( oControl as object, iNode as integer ) as integer iOldNodeCount = hGetNodeCount( oControl ) if ( iNode <= iOldNodeCount ) then - if ( iNode > 0 ) then + if ( iNode > RC_FAILURE ) then oControl.select( iNode ) endif try @@ -190,10 +190,10 @@ function hExpandNode( oControl as object, iNode as integer ) as integer hExpandNode() = hGetNodeCount( oControl ) catch warnlog( "#i84194# Treelist access failed (Keyboard navigation)" ) - hExpandNode() = 0 + hExpandNode() = RC_FAILURE endcatch else - hExpandNode() = 0 + hExpandNode() = RC_FAILURE endif end function @@ -375,23 +375,17 @@ function hSelectTheLastNode( oControl as object ) as integer const CFN = "hSelectTheLastNode::" dim iCurrentNodeCount as integer - if ( GVERBOSE ) then printlog( CFN & "Enter with option (control): " & oControl.name() ) - - iCurrentNodeCount = -1 - - do while( iCurrentNodeCount < hGetNodeCount( oControl ) ) - - iCurrentNodeCount = hGetNodeCount( oControl ) - hExpandNode( oControl, iCurrentNodeCount ) - + iCurrentNodeCount = hExpandAllNodes( oControl ) + if ( iCurrentNodeCount > 0 ) then + oControl.select( iCurrentNodeCount ) if ( GVERBOSE ) then printlog( CFN & "Nodename.....: " & oControl.getText() ) printlog( CFN & "Node position: " & iCurrentNodeCount ) endif - - loop + else + iCurrentNodeCount = -1 + endif - if ( GVERBOSE ) then printlog( CFN & "Exit with result: " & iCurrentNodeCount ) hSelectTheLastNode() = iCurrentNodeCount end function @@ -449,3 +443,22 @@ function hGetListItems( oControl as object, aList() as string ) as integer end function +'******************************************************************************* + +function hFindInList( oControl as object, cObject as string ) as integer + + const RETVAL_FAILURE = 0 + dim iCurrentObject as integer + + for iCurrentObject = 1 to oControl.getItemCount() + + if ( oControl.getSelText() = cObject ) then + hFindInList() = iCurrentObject + exit function + endif + + next iCurrentObject + + hFindInList() = RETVAL_FAILURE + +end function \ No newline at end of file -- cgit From 6bfb3c970edacf5230a0bf324204820ef474954f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 19:33:35 +0200 Subject: vitomation01: #i109696 - Dramatically simplified test case, provided long missing function to select item in a list by name (which would work using the treelist function as well but looks rather awkward when called from within a test case - it is just the wrong control. --- .../framework/optional/includes/basic_gridcontrol.inc | 10 +++++----- .../global/tools/includes/optional/t_treelist_tools.inc | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/testautomation/framework/optional/includes/basic_gridcontrol.inc b/testautomation/framework/optional/includes/basic_gridcontrol.inc index 24102f770f4e..346e929b886d 100755 --- a/testautomation/framework/optional/includes/basic_gridcontrol.inc +++ b/testautomation/framework/optional/includes/basic_gridcontrol.inc @@ -61,11 +61,11 @@ testcase tGridcontrolLoad hCloseDialog( ScriptSelector, "ok" ) printlog( "Probe for unexpected messagebox" ) - - ' REM what is supposed to happen here? - ' Wait for a messagebox and print an error no matter what? - ' Very, very strange - + kontext "Active" + if ( Active.exists( 5 ) ) then + warnlog( "Unexpected messagebox: " & Active.getText() ) + Active.ok() + endif else warnlog( "The requested Macro could not be found: " & MACRO_NAME ) endif diff --git a/testautomation/global/tools/includes/optional/t_treelist_tools.inc b/testautomation/global/tools/includes/optional/t_treelist_tools.inc index ba16f529c100..8efb2917568c 100755 --- a/testautomation/global/tools/includes/optional/t_treelist_tools.inc +++ b/testautomation/global/tools/includes/optional/t_treelist_tools.inc @@ -452,6 +452,8 @@ function hFindInList( oControl as object, cObject as string ) as integer for iCurrentObject = 1 to oControl.getItemCount() + oControl.select( iCurrentObject ) + if ( oControl.getSelText() = cObject ) then hFindInList() = iCurrentObject exit function -- cgit From 82c757739cca1be2395ba807fe9eff470a09f223 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 20:40:22 +0200 Subject: vitomation01: #i109696 - fix typo --- testautomation/framework/optional/includes/basic_usertemplate.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/framework/optional/includes/basic_usertemplate.inc b/testautomation/framework/optional/includes/basic_usertemplate.inc index 275be2557abf..03f1602a94b5 100755 --- a/testautomation/framework/optional/includes/basic_usertemplate.inc +++ b/testautomation/framework/optional/includes/basic_usertemplate.inc @@ -104,7 +104,7 @@ testcase tMacroUsertemplate printlog( "Insert test macro" ) hInsertMacro( 3 ) - printog( "Close BASIC IDE" ) + printlog( "Close BASIC IDE" ) hCloseBasicIde() printlog( "Close Document" ) -- cgit From 63f249db02285f7b56b40ea57c5d426458952941 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 20:54:36 +0200 Subject: vitomation01: #i109696 - fix broken filename --- testautomation/framework/optional/includes/filedlg_filternames.inc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/testautomation/framework/optional/includes/filedlg_filternames.inc b/testautomation/framework/optional/includes/filedlg_filternames.inc index 393476cd58c7..083fdac2793e 100755 --- a/testautomation/framework/optional/includes/filedlg_filternames.inc +++ b/testautomation/framework/optional/includes/filedlg_filternames.inc @@ -52,6 +52,8 @@ testcase tVerifyFilterNames ' For Windows and Solaris Sparc there exists additional commercial filters ' that are available for StarOffice only. cFile = gProductName & "_Filternames_" + cFile = hStringReplaceChar( cFile, " ", "_" ) + if ( not gOOo ) then select case gtSysName case "Windows" : cFile = cFile & "add_" & gIsoLang & ".txt" @@ -64,8 +66,6 @@ testcase tVerifyFilterNames else cFile = cFile & gIsoLang & ".txt" endif - - dim cFileIn as string cFileIn = gTesttoolPath & "framework\optional\input\filternames\" & cFile @@ -74,9 +74,6 @@ testcase tVerifyFilterNames dim cFileOut as string cFileOut = hGetWorkPath() & cFile - ' Replace blanks with underscores - cFile = hStringReplaceChar( sFile, " ", "_" ) - printlog( "Create a new document" ) hCreateDocument() -- cgit From 99a233ca861a868b82751f985b3276dbf01b5c61 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 21:33:12 +0200 Subject: vitomation01: #i109696 - fix various breakages caused by refactoring --- .../framework/optional/includes/w_grid_layout1.inc | 51 ++++++++++++---------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/testautomation/framework/optional/includes/w_grid_layout1.inc b/testautomation/framework/optional/includes/w_grid_layout1.inc index da339422ee8f..7b4a288b4d33 100755 --- a/testautomation/framework/optional/includes/w_grid_layout1.inc +++ b/testautomation/framework/optional/includes/w_grid_layout1.inc @@ -35,6 +35,12 @@ private const SOURCE_PATH = "framework\optional\input\CJK\" testcase tTextGridDialog_1 + dim lsSave( 3 ) as string + dim lbSave( 3 ) as string + + kontext "Navigator" + hCloseDialog( Navigator, "close,optional" ) + '/// Check if tabpage 'Text Grid' disappears when "Asian Language support" is NOT checked if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then Call CheckAsianLanguageSupport("Off") @@ -82,8 +88,8 @@ testcase tTextGridDialog_1 Kontext "ExtrasOptionenDlg" hCloseDialog( ExtrasOptionenDlg, "ok" ) + hFileCloseAll() - hCloseDocument() endcase '------------------------------------------------------------------------- @@ -116,12 +122,13 @@ testcase tTextGridDialog_2 ViewNavigator Kontext "NavigatorWriter" Seitennummer.SetText "2" + kontext "Navigator" hCloseDialog( Navigator, "close" ) '/// In No Grid mode, there should be only 1 page, the focus is before the first line Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" hUseAsyncSlot( "EditCopy" ) @@ -161,11 +168,12 @@ testcase tTextGridDialog_3 ViewNavigator Kontext "NavigatorWriter" Seitennummer.SetText "2" + kontext "Navigator" hCloseDialog( Navigator, "close" ) Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" hUseAsyncSlot( "EditCopy" ) @@ -208,11 +216,12 @@ testcase tTextGridDialog_4 ViewNavigator Kontext "NavigatorWriter" Seitennummer.SetText "2" + kontext "Navigator" hCloseDialog( Navigator, "close" ) Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" hUseAsyncSlot( "EditCopy" ) @@ -294,10 +303,8 @@ testcase tGridDisplay_1 endif else Kontext "Printing" - if( Printing.exists( 1 )) then - Printing.OK - Printing.notExists( 5 ) - endif + hCloseDialog( Printing, "ok" ) + kontext if ( active.exists( 2 ) ) then qaErrorLog active.getText @@ -402,7 +409,7 @@ testcase tFontSizeChanges_1 endif Kontext "DocumentWriter" - sleep 3 + wait( 200 ) ' sleep 3 Call DocumentWriter.TypeKeys "" hUseAsyncSlot( "EditCopy" ) @@ -445,7 +452,7 @@ testcase tRubyText_1 hUseAsyncSlot( "FormatAutoformatApply" ) WaitSlot( 3000 ) Call DocumentWriter.TypeKeys "" - Sleep 2 + wait( 200 ) ' sleep 2 Call DocumentWriter.TypeKeys "" hUseAsyncSlot( "EditCopy" ) @@ -473,11 +480,11 @@ testcase tIndentsTest_1 sMakeReadOnlyDocumentEditable Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 '/// Active navigator dialogue , check if the page number is 1 Kontext @@ -485,16 +492,16 @@ testcase tIndentsTest_1 Kontext "NavigatorWriter" if Seitennummer.GetText <> sCorrectPage1 then Warnlog "First test :Something wrong in indents test!" kontext "Navigator" - hCloseDialog( Navigator, "cancel" ) + hCloseDialog( Navigator, "close" ) '/// press TAB in second line again Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 Call DocumentWriter.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 '/// Active navigator dialogue , check if the page number is 2 Kontext @@ -502,7 +509,7 @@ testcase tIndentsTest_1 Kontext "NavigatorWriter" if Seitennummer.GetText <> sCorrectPage2 then Warnlog "Second test :Something wrong in indents test!" kontext "Navigator" - hCloseDialog( Navigator, "cancel" ) + hCloseDialog( Navigator, "close" ) Call hCloseDocument endcase @@ -525,9 +532,9 @@ testcase tObjectsTest_1 '/// If object is anchored as Character , check if it will snap to the appropriate grid cell fStartupNavigator( "OLEObject" , 1 ) - Sleep 1 + wait( 200 ) ' sleep 1 Auswahlliste.TypeKeys "" - Sleep 1 + wait( 200 ) ' sleep 1 kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -539,7 +546,7 @@ testcase tObjectsTest_1 ViewNavigator Kontext "NavigatorWriter" Seitennummer.SetText sCorrectPage2 - WaitSlot( 5000 ) ' Sleep 5 + WaitSlot( 5000 ) ' wait( 200 ) ' sleep 5 if Seitennummer.GetText <> sCorrectPage2 then Warnlog "Something wrong when object is anchored as Character!" kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -556,7 +563,7 @@ testcase tObjectsTest_1 ViewNavigator Kontext "NavigatorWriter" Seitennummer.SetText sCorrectPage2 - WaitSlot( 5000 ) ' Sleep 5 + WaitSlot( 5000 ) ' wait( 200 ) ' sleep 5 if Seitennummer.GetText <> sCorrectPage1 then Warnlog "Something wrong when object is anchored to Character!" kontext "Navigator" hCloseDialog( Navigator, "close" ) -- cgit From d9050c32bd99f49518f401ad4caf055014cd2961 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 25 May 2010 21:46:45 +0200 Subject: vitomation01: #i109696 - fix warnlogs caused by untraceable rendering activity when selecting page number in navigator (Document is re-rendered which takes time and cannot be covered by WaitSlot()) --- testautomation/framework/optional/includes/w_grid_layout1.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/testautomation/framework/optional/includes/w_grid_layout1.inc b/testautomation/framework/optional/includes/w_grid_layout1.inc index 7b4a288b4d33..773806dcf0b0 100755 --- a/testautomation/framework/optional/includes/w_grid_layout1.inc +++ b/testautomation/framework/optional/includes/w_grid_layout1.inc @@ -121,7 +121,7 @@ testcase tTextGridDialog_2 Kontext ViewNavigator Kontext "NavigatorWriter" - Seitennummer.SetText "2" + Seitennummer.SetText "2" : Wait( 2000 ) kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -167,7 +167,7 @@ testcase tTextGridDialog_3 Kontext ViewNavigator Kontext "NavigatorWriter" - Seitennummer.SetText "2" + Seitennummer.SetText "2" : Wait( 2000 ) kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -215,7 +215,7 @@ testcase tTextGridDialog_4 Kontext ViewNavigator Kontext "NavigatorWriter" - Seitennummer.SetText "2" + Seitennummer.SetText "2" : Wait( 2000 ) kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -401,7 +401,7 @@ testcase tFontSizeChanges_1 ViewNavigator Kontext "NavigatorWriter" if NavigatorWriter.exists(5) then - Seitennummer.SetText "2" + Seitennummer.SetText "2" : Wait( 2000 ) kontext "Navigator" hCloseDialog( Navigator, "close" ) else -- cgit From 65ff7b9bca679a9dbccb8395705ea54c9c61f917 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 08:09:45 +0200 Subject: vitomation01: #i109696 - fix kontext error --- .../required/includes/standard_toolbar_4.inc | 26 ++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/testautomation/framework/required/includes/standard_toolbar_4.inc b/testautomation/framework/required/includes/standard_toolbar_4.inc index b1a820769ceb..bc67ca6535ff 100755 --- a/testautomation/framework/required/includes/standard_toolbar_4.inc +++ b/testautomation/framework/required/includes/standard_toolbar_4.inc @@ -34,24 +34,32 @@ testcase tStandardBar_4 printlog( "Invisible items on the standardbar" ) - - dim brc as boolean - + + printlog( "Reset standardbar to defaults" ) hResetStandardBar() - + + kontext "Writer" + printlog( "Open one single Writer document" ) hInitSingleDoc() + + kontext "DocumentWriter" DocumentWriter.maximize() ' Needed to avoid toolbar clipping on resolutions < 1024x768 or small windows. + + printlog( "Check item count on toolbar" ) hStandardbarItemGetCount() - + + printlog( "Load URL" ) hStandardbarLoadUrl() - + + printlog( " dialog" ) hStandardbarNewDialog() - + + printlog( "" ) hStandardbarSaveAs() - + + printlog( "Close all open documents" ) hFileCloseAll() - endcase -- cgit From 6b4917460417793350ed406aa0742ec31ef6ca3c Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Wed, 26 May 2010 08:13:07 +0200 Subject: cws tl79: warning-free code --- sfx2/source/dialog/securitypage.cxx | 2 +- sfx2/source/doc/objxtor.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx index 0c6688ab1229..d32ee843cbf2 100755 --- a/sfx2/source/dialog/securitypage.cxx +++ b/sfx2/source/dialog/securitypage.cxx @@ -149,7 +149,7 @@ static bool lcl_IsPasswordCorrect( const String &rPassword ) SfxObjectShell* pCurDocShell = SfxObjectShell::Current(); uno::Sequence< sal_Int8 > aPasswordHash; - bool bHasPassword = pCurDocShell->GetProtectionHash( aPasswordHash ); + pCurDocShell->GetProtectionHash( aPasswordHash ); // check if supplied password was correct uno::Sequence< sal_Int8 > aNewPasswd( aPasswordHash ); diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index fdbd2b6a5cf0..217faeca2e55 100755 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -1099,7 +1099,7 @@ void SfxObjectShell::SetChangeRecording( bool /*bActivate*/ ) } -bool SfxObjectShell::SetProtectionPassword( const String &rPassword ) +bool SfxObjectShell::SetProtectionPassword( const String & /*rPassword*/ ) { // currently this function needs to be overwritten by Writer and Calc only DBG_ASSERT( 0, "function not implemented" ); -- cgit From 8c83c6b4385c94d2af6284dda542cee411316106 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 09:00:32 +0200 Subject: vitomation01: #i109696 - The test tries to close a tabpage twice, fixed. --- .../optional/includes/CJK_FeatureSwitchTest_1.inc | 59 ++++++++++++---------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc b/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc index d144b7cdb88a..2c106d0fa639 100644 --- a/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc +++ b/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc @@ -96,27 +96,30 @@ testcase tWriterUIChangesTest1 TabAusrichtungAbsatz.Cancel end if - TabAusrichtungAbsatz.Cancel + ' JSK I have no idea why the tabpage was closed a second time so i do not fix it + ' but make closing the tabpage optional. I hate this. + kontext "TabAusrichtungAbsatz" + hCloseDialog( TabAusrichtungAbsatz, "cancel,optional" ) - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then - Call CheckAsianLanguageSupport("Off") + if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + Call CheckAsianLanguageSupport("Off") - Kontext - FormatParagraph - Active.SetPage TabAusrichtungAbsatz - Kontext "TabAusrichtungAbsatz" + Kontext + FormatParagraph + Active.SetPage TabAusrichtungAbsatz + Kontext "TabAusrichtungAbsatz" - try - if TextrasterFangen.IsChecked = TRUE Or TextrasterFangen.IsChecked <> TRUE then - warnlog "Something wrong in checkbox 'snap to text grid'" - end if - catch - endcatch + try + if TextrasterFangen.IsChecked = TRUE Or TextrasterFangen.IsChecked <> TRUE then + warnlog "Something wrong in checkbox 'snap to text grid'" + end if + catch + endcatch - TabAusrichtungAbsatz.Cancel - end if + TabAusrichtungAbsatz.Cancel + end if - Call hCloseDocument + Call hCloseDocument endcase '------------------------------------------------------------------------- @@ -424,7 +427,7 @@ endcase '------------------------------------------------------------------------- testcase tWriterUIChangesTest9 - call hNewDocument + call hNewDocument '/// turn on "Asian Language support" , Check if list box text direction appear Call CheckAsianLanguageSupport("On") @@ -507,9 +510,9 @@ endcase '------------------------------------------------------------------------- testcase tWriterUIChangesTest11 - Dim iHopeNumber1 , iHopeNumber2 as Integer - dim i as integer - dim iCount as integer + Dim iHopeNumber1 , iHopeNumber2 as Integer + dim i as integer + dim iCount as integer iHopeNumber1 = 38 iHopeNumber2 = 19 @@ -561,14 +564,14 @@ testcase tWriterUIChangesTest11 'Referenze: TabOptionenNumerierung.Cancel qaerrorlog "the number of list box numbering is wrong when Asian Language support is on; expected: " + iHopeNumber1 + "; is: " + iCount - end if - - 'print warning if no printer is available - kontext - if active.exists(5) then - qaErrorlog "print warning: '" + active.getText + "'" - active.ok - endif + end if + + 'print warning if no printer is available + kontext + if active.exists(5) then + qaErrorlog "print warning: '" + active.getText + "'" + active.ok + endif 'print warning if no printer is available kontext -- cgit From 3b3108912c0e32d10611d6d3a84a5ba94c78c933 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 09:29:43 +0200 Subject: vitomation01: #i109696 - CJK featureswitch had incorrect reference numbers, lots of inverted logic (which was greatly simplified by providing a minimalistic helper function). --- .../optional/includes/CJK_FeatureSwitchTest_1.inc | 56 ++++++++++++---------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc b/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc index 2c106d0fa639..b8ddc55e012a 100644 --- a/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc +++ b/testautomation/framework/optional/includes/CJK_FeatureSwitchTest_1.inc @@ -78,7 +78,7 @@ testcase tWriterUIChangesTest1 TabAusrichtungAbsatz.Cancel '/// turn off "Asian Language support" , check if checkbox "Snap to text grid" isn't enable - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext @@ -101,7 +101,7 @@ testcase tWriterUIChangesTest1 kontext "TabAusrichtungAbsatz" hCloseDialog( TabAusrichtungAbsatz, "cancel,optional" ) - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext @@ -146,7 +146,7 @@ testcase tWriterUIChangesTest2 endcatch '/// turn off "Asian Language support" , check if tabpage "Asian Typography" disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext @@ -189,7 +189,7 @@ testcase tWriterUIChangesTest3 TabFont.Cancel '/// turn off "Asian Language support" , Check if list box "Asian text font" disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext @@ -230,7 +230,7 @@ testcase tWriterUIChangesTest4 TabFontEffects.Cancel '/// turn off "Asian Language support" , Check if list box "Emphasis mark" disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext @@ -267,7 +267,7 @@ testcase tWriterUIChangesTest5 ExtrasOptionenDlg.Cancel '/// turn on "Asian Language support" , Check if tabpage "Searching in Japanese" disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") ToolsOptions @@ -302,7 +302,7 @@ testcase tWriterUIChangesTest6 ExtrasOptionenDlg.Cancel '/// turn off "Asian Language support" , Check if tabpage "Asian Layout" disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") ToolsOptions @@ -338,7 +338,7 @@ testcase tWriterUIChangesTest7 endcatch '/// turn off "Asian Language support" , Check if menu format/Ruby is inactived - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") try @@ -393,7 +393,7 @@ testcase tWriterUIChangesTest8 endcatch '/// turn off "Asian Language support" , Check if submenus in format/change case is inactived - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") try @@ -445,7 +445,7 @@ testcase tWriterUIChangesTest9 TabSeite.Cancel '/// turn off "Asian Language support" , Check if list box text direction disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") FormatPageWriter @@ -488,7 +488,7 @@ testcase tWriterUIChangesTest10 endcatch '/// turn off "Asian Language support" , Check if vertical text box and callout disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext "Drawbar" try @@ -510,12 +510,12 @@ endcase '------------------------------------------------------------------------- testcase tWriterUIChangesTest11 - Dim iHopeNumber1 , iHopeNumber2 as Integer + dim i as integer dim iCount as integer - iHopeNumber1 = 38 - iHopeNumber2 = 19 + const iHopeNumber1 = 42 + const iHopeNumber2 = 23 '/// Check if the number in listbox numbering is right or not. '/// [if the number of the listbox numbering is changed, this case should be modified according] @@ -546,16 +546,11 @@ testcase tWriterUIChangesTest11 Active.Ok QAErrorLog "No Default-Printer!" Kontext "Printing" - if ( Printing.exists( 1 ) ) then - Printing.cancel() - endif + hCloseDialog( Printing, "cancel,optional" ) end if else Kontext "Printing" - if ( Printing.exists( 2 ) ) then - Printing.cancel() - Printing.notExists( 5 ) - endif + hCloseDialog( Printing, "cancel,optional" ) endif else for i =1 to iCount @@ -581,7 +576,7 @@ testcase tWriterUIChangesTest11 endif '/// turn off "Asian Language support" , Check if the number in listbox numbering is right - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") FormatNumberingBullets @@ -616,7 +611,7 @@ testcase tProlongedVowelsTest1 ToolsOptions Call hToolsOptions("LANGUAGESETTINGS","SEARCHINGINJAPANESE") - if ProlongedSoundmarks.IsChecked <> TRUE then + if ( not ProlongedSoundmarks.IsChecked ) then warnlog "The default setting of 'Prolonged vowels (ka-/kaa)' isn't ACTIVATED." end if @@ -651,7 +646,7 @@ testcase tCalcUIChangesTest_10 endcatch '/// turn off "Asian Language support" , Check if vertical text box and callout disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext "Drawbar" try @@ -689,7 +684,7 @@ testcase tImpressUIChangesTest_10 endcatch '/// turn off "Asian Language support" , Check if vertical text box disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") sleep(1) Kontext "Drawbar" @@ -722,7 +717,7 @@ testcase tDrawUIChangesTest_10 endcatch '/// turn off "Asian Language support" , Check if vertical text box disappear - if iSystemSprache <> 81 AND iSystemSprache <> 82 AND iSystemSprache <> 86 AND iSystemSprache <> 88 then + if ( not hSystemHasAsianLocale() ) then Call CheckAsianLanguageSupport("Off") Kontext "Drawbar" try @@ -737,3 +732,12 @@ testcase tDrawUIChangesTest_10 endcase '------------------------------------------------------------------------- + +function hSystemHasAsianLocale() as boolean + + select case ( iSystemSprache ) + case 81, 82, 86, 88 : hSystemHasAsianLocale() = true + case else : hSystemHasAsianLocale() = false + end select + +end function \ No newline at end of file -- cgit From 7824f82197a872d0306fb6840039634d5fd90961 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 09:32:10 +0200 Subject: vitomation01: #i109696 - w_gridlayout enhanced --- .../framework/optional/includes/w_grid_layout1.inc | 123 ++++++++++++--------- 1 file changed, 71 insertions(+), 52 deletions(-) mode change 100755 => 100644 testautomation/framework/optional/includes/w_grid_layout1.inc diff --git a/testautomation/framework/optional/includes/w_grid_layout1.inc b/testautomation/framework/optional/includes/w_grid_layout1.inc old mode 100755 new mode 100644 index 773806dcf0b0..772ebc6d9d00 --- a/testautomation/framework/optional/includes/w_grid_layout1.inc +++ b/testautomation/framework/optional/includes/w_grid_layout1.inc @@ -36,7 +36,7 @@ private const SOURCE_PATH = "framework\optional\input\CJK\" testcase tTextGridDialog_1 dim lsSave( 3 ) as string - dim lbSave( 3 ) as string + dim lbSave( 3 ) as boolean kontext "Navigator" hCloseDialog( Navigator, "close,optional" ) @@ -64,31 +64,31 @@ testcase tTextGridDialog_1 Call CheckAsianLanguageSupport("On") hNewDocument - ToolsOptions - hToolsOptions ( "StarOffice", "General" ) - - printlog " - save old data" - lsSave ( 1 ) = Zweistellig.GetText - lbSave ( 1 ) = Aktivieren.IsChecked - Aktivieren.Check - if gPlatgroup = "w95" then - lbSave (2) = StarOfficeDialogeBenutzen.IsChecked - end if - lbSave ( 3 ) = DruckenStatus.IsChecked - lsSave ( 3 ) = StyleSheet.GetSelText - - printlog " - invert/change data" - Zweistellig.SetText "1950" - Zuruecksetzen.Click - if gPlatgroup = "w95" then - if lbSave (2) = TRUE then StarOfficeDialogeBenutzen.Uncheck else StarOfficeDialogeBenutzen.Check - end if - If lbSave ( 3 ) = TRUE then DruckenStatus.Uncheck else DruckenStatus.Check - StyleSheet.Select 3 - - Kontext "ExtrasOptionenDlg" - hCloseDialog( ExtrasOptionenDlg, "ok" ) - hFileCloseAll() + ToolsOptions + hToolsOptions ( "StarOffice", "General" ) + + printlog " - save old data" + lsSave ( 1 ) = Zweistellig.GetText + lbSave ( 1 ) = Aktivieren.IsChecked + Aktivieren.Check + if gPlatgroup = "w95" then + lbSave (2) = StarOfficeDialogeBenutzen.IsChecked + end if + lbSave ( 3 ) = DruckenStatus.IsChecked + lsSave ( 3 ) = StyleSheet.GetSelText + + printlog " - invert/change data" + Zweistellig.SetText "1950" + Zuruecksetzen.Click + if gPlatgroup = "w95" then + if lbSave (2) = TRUE then StarOfficeDialogeBenutzen.Uncheck else StarOfficeDialogeBenutzen.Check + end if + If lbSave ( 3 ) = TRUE then DruckenStatus.Uncheck else DruckenStatus.Check + StyleSheet.Select 3 + + Kontext "ExtrasOptionenDlg" + hCloseDialog( ExtrasOptionenDlg, "ok" ) + hFileCloseAll() endcase @@ -424,24 +424,30 @@ endcase '------------------------------------------------------------------------- testcase tRubyText_1 - '/// If Ruby Text is applied and longer than its Base Text it will stretch over more grid cells than the base text itself. - Dim testFile , sRubyText as String - testFile = "rubytest.sxw" - sRubyText = "Ruby Test Text ....................." + '/// If Ruby Text is applied and longer than its Base Text it will stretch over more grid cells than the base text itself. + const TEST_FILE = "rubytest.sxw" + const RUBY_TEXT = "Ruby Test Text ....................." + printlog( "Create a new document" ) Call hNewDocument - '/// open a test file , and insert long ruby test text - Call hFileOpen ( gTesttoolPath + SOURCE_PATH + testFile ) - sMakeReadOnlyDocumentEditable + printlog( "Open test file" ) + Call hFileOpen ( gTesttoolPath + SOURCE_PATH + TEST_FILE ) + + printlog( "Remove write protection of document (if set)" ) + Call sMakeReadOnlyDocumentEditable() + Kontext "DocumentWriter" + printlog( "Mark character to the right of current cursor position" ) Call DocumentWriter.TypeKeys "" + printlog( "Open dialog" ) hUseAsyncSlot( "FormatRuby" ) + Kontext "RubyDialog" if ( RubyDialog.exists( 3 ) ) then - RubyText1.setText sRubyText + RubyText1.setText( RUBY_TEXT ) RubyDialog.OK DialogClose.Click else @@ -449,11 +455,16 @@ testcase tRubyText_1 endif Kontext "DocumentWriter" + printlog( "Apply Autoformat" ) hUseAsyncSlot( "FormatAutoformatApply" ) - WaitSlot( 3000 ) + + printlog( "Select last character in current line" ) Call DocumentWriter.TypeKeys "" - wait( 200 ) ' sleep 2 + Wait( 200 ) Call DocumentWriter.TypeKeys "" + Wait( 200 ) + + printlog( "" ) hUseAsyncSlot( "EditCopy" ) if NOT(GetClipboardText = "5" OR GetClipboardText = "6") then @@ -467,17 +478,18 @@ endcase testcase tIndentsTest_1 '/// Indents should work and always indenting as close as possible to their measurements by snapping to the appropriate grid cell. Tabs therefore will be ignored. - Dim testFile , sCorrectPage1 , sCorrectPage2 as String - testFile = "IndentsTest.sxw" - sCorrectPage1 = "1" - sCorrectPage2 = "2" + const TEST_FILE = "IndentsTest.sxw" + const CORRECT_PAGE_1 = "1" + const CORRECT_PAGE_2 = "2" Call hNewDocument '/// open a test file , and press TAB in second line - Call hFileOpen ( gTesttoolPath + SOURCE_PATH + testFile ) + Call hFileOpen ( gTesttoolPath + SOURCE_PATH + TEST_FILE ) + sMakeReadOnlyDocumentEditable + Kontext "DocumentWriter" Call DocumentWriter.TypeKeys "" wait( 200 ) ' sleep 1 @@ -490,7 +502,9 @@ testcase tIndentsTest_1 Kontext ViewNavigator Kontext "NavigatorWriter" - if Seitennummer.GetText <> sCorrectPage1 then Warnlog "First test :Something wrong in indents test!" + if ( Seitennummer.GetText <> CORRECT_PAGE_1 ) then + Warnlog "First test :Something wrong in indents test!" + endif kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -507,7 +521,9 @@ testcase tIndentsTest_1 Kontext ViewNavigator Kontext "NavigatorWriter" - if Seitennummer.GetText <> sCorrectPage2 then Warnlog "Second test :Something wrong in indents test!" + if ( Seitennummer.GetText <> CORRECT_PAGE_2 ) then + Warnlog "Second test :Something wrong in indents test!" + endif kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -519,16 +535,15 @@ endcase testcase tObjectsTest_1 '/// If objects are anchored to text they will "wander" with its surrounding text. '/// If they are anchored as character they will snap to the appropriate grid cell (since they are a character). - Dim testFile , sCorrectPage1 , sCorrectPage2 as String - testFile = "objectsTest.sxw" - sCorrectPage1 = "1" - sCorrectPage2 = "2" + const TEST_FILE = "objectsTest.sxw" + const CORRECT_PAGE_1 = "1" + const CORRECT_PAGE_2 = "2" Call hNewDocument '/// open a test file , and press TAB in second line - Call hFileOpen ( gTesttoolPath + SOURCE_PATH + testFile ) + Call hFileOpen ( gTesttoolPath + SOURCE_PATH + TEST_FILE ) '/// If object is anchored as Character , check if it will snap to the appropriate grid cell fStartupNavigator( "OLEObject" , 1 ) @@ -545,9 +560,11 @@ testcase tObjectsTest_1 ViewNavigator Kontext "NavigatorWriter" - Seitennummer.SetText sCorrectPage2 + Seitennummer.SetText( CORRECT_PAGE_1 ) WaitSlot( 5000 ) ' wait( 200 ) ' sleep 5 - if Seitennummer.GetText <> sCorrectPage2 then Warnlog "Something wrong when object is anchored as Character!" + if ( Seitennummer.GetText <> CORRECT_PAGE_1 ) then + Warnlog "Something wrong when object is anchored as Character!" + endif kontext "Navigator" hCloseDialog( Navigator, "close" ) @@ -562,9 +579,11 @@ testcase tObjectsTest_1 ViewNavigator Kontext "NavigatorWriter" - Seitennummer.SetText sCorrectPage2 + Seitennummer.SetText( CORRECT_PAGE_2 ) WaitSlot( 5000 ) ' wait( 200 ) ' sleep 5 - if Seitennummer.GetText <> sCorrectPage1 then Warnlog "Something wrong when object is anchored to Character!" + if ( Seitennummer.GetText <> CORRECT_PAGE_1 ) then + Warnlog "Something wrong when object is anchored to Character!" + endif kontext "Navigator" hCloseDialog( Navigator, "close" ) -- cgit From ce1d81b4b7ddc0b2c1e15e5341bcef925fadac93 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 09:32:44 +0200 Subject: vitomation01: #i109696 - Fix more kontext stuff --- testautomation/framework/required/includes/standard_toolbar_4.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/framework/required/includes/standard_toolbar_4.inc b/testautomation/framework/required/includes/standard_toolbar_4.inc index bc67ca6535ff..3f393ff3291a 100755 --- a/testautomation/framework/required/includes/standard_toolbar_4.inc +++ b/testautomation/framework/required/includes/standard_toolbar_4.inc @@ -38,7 +38,7 @@ testcase tStandardBar_4 printlog( "Reset standardbar to defaults" ) hResetStandardBar() - kontext "Writer" + gApplication = "WRITER" printlog( "Open one single Writer document" ) hInitSingleDoc() -- cgit From 0e6d537f7e83f53175d8ca44c558d2afb59e07da Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 09:56:36 +0200 Subject: vitomation01: #i109696 - Fix missing gApplication setting --- .../chart2/optional/includes/ch2_lvl1a.inc | 230 +++++++++++---------- 1 file changed, 117 insertions(+), 113 deletions(-) mode change 100755 => 100644 testautomation/chart2/optional/includes/ch2_lvl1a.inc diff --git a/testautomation/chart2/optional/includes/ch2_lvl1a.inc b/testautomation/chart2/optional/includes/ch2_lvl1a.inc old mode 100755 new mode 100644 index 5f72fd7e32f9..266c338a7bf8 --- a/testautomation/chart2/optional/includes/ch2_lvl1a.inc +++ b/testautomation/chart2/optional/includes/ch2_lvl1a.inc @@ -40,109 +40,111 @@ end sub testcase tPlotOptions - - Dim sOutputFile as string - sOutputFile = convertpath(gOfficepath & "user\work\hiddenCells.ods") - printlog "Load simple chart document" - if fLoadVerySimpleChartAndSaveLocal() > 0 then - warnlog "Loading test document seems to have failed -> Check this out!" - goto endsub - endif - printlog "Select chart using navigator" - if fSelectFirstOLE = -1 then - warnlog "It was not possible to select the chart object!" - Call hCloseDocument - goto endsub - endif + Dim sOutputFile as string + sOutputFile = convertpath(gOfficepath & "user\work\hiddenCells.ods") - printlog "Edit / Object / Edit" - EditObjectEdit + gApplication = "CALC" + + printlog "Load simple chart document" + if fLoadVerySimpleChartAndSaveLocal() > 0 then + warnlog "Loading test document seems to have failed -> Check this out!" + goto endsub + endif + printlog "Select chart using navigator" + if fSelectFirstOLE = -1 then + warnlog "It was not possible to select the chart object!" + Call hCloseDocument + goto endsub + endif + + printlog "Edit / Object / Edit" + EditObjectEdit printlog "Select DataSeries A by toolbar selectorbox" - Kontext "DocumentChart" - call fChartSelectElement (8) + Kontext "DocumentChart" + call fChartSelectElement (8) - printlog "Invoke Format::ObjectProperties" - Kontext "Toolbar" - FormatSelection.Click + printlog "Invoke Format::ObjectProperties" + Kontext "Toolbar" + FormatSelection.Click - printlog "Select tab page Options" - Kontext - Active.SetPage TabDataSeriesOptions - Kontext "TabDataSeriesOptions" - printlog "activate checkbox 'Include values from hidden cells'" - try - IncludeHiddenCells.Check - catch - Warnlog "checkbox hidden or disabled" - Call hCloseDocument - goto endsub - endcatch - - printlog "Close and reopen data series dialog - checkbox should be still activated" - TabDataSeriesOptions.Ok - Kontext "DocumentChart" - FormatSelection - printlog "Select tab page Options" - Kontext - Active.SetPage TabDataSeriesOptions - Kontext "TabDataSeriesOptions" - if Not IncludeHiddenCells.IsChecked then - Warnlog "After closing and reopening of Data-Series dialog the checkbox isn't checked anymore" - TabDataSeriesOptions.Cancel - Kontext "DocumentCalc" - DocumentCalc.TypeKeys "" - call hCloseDocument - goto endsub - endif + printlog "Select tab page Options" + Kontext + Active.SetPage TabDataSeriesOptions + Kontext "TabDataSeriesOptions" + printlog "activate checkbox 'Include values from hidden cells'" + try + IncludeHiddenCells.Check + catch + Warnlog "checkbox hidden or disabled" + Call hCloseDocument + goto endsub + endcatch + + printlog "Close and reopen data series dialog - checkbox should be still activated" + TabDataSeriesOptions.Ok + Kontext "DocumentChart" + FormatSelection + printlog "Select tab page Options" + Kontext + Active.SetPage TabDataSeriesOptions + Kontext "TabDataSeriesOptions" + if Not IncludeHiddenCells.IsChecked then + Warnlog "After closing and reopening of Data-Series dialog the checkbox isn't checked anymore" + TabDataSeriesOptions.Cancel + Kontext "DocumentCalc" + DocumentCalc.TypeKeys "" + call hCloseDocument + goto endsub + endif + + TabDataSeriesOptions.Ok + + printlog "save and reopen file - checkbox still must be checked" + if NOT hFileSaveAsKill (sOutputFile) then + warnlog "Saving test document failed -> Aborting" + Kontext "DocumentCalc" + DocumentCalc.TypeKeys "" + call hCloseDocument + goto endsub + endif + Call hCloseDocument - TabDataSeriesOptions.Ok - - printlog "save and reopen file - checkbox still must be checked" - if NOT hFileSaveAsKill (sOutputFile) then - warnlog "Saving test document failed -> Aborting" - Kontext "DocumentCalc" - DocumentCalc.TypeKeys "" - call hCloseDocument - goto endsub - endif - Call hCloseDocument - Call hFileOpen(sOutputFile) - if fSelectFirstOLE = -1 then - warnlog "It was not possible to select the chart object!" - Call hCloseDocument - goto endsub - endif + if fSelectFirstOLE = -1 then + warnlog "It was not possible to select the chart object!" + Call hCloseDocument + goto endsub + endif - EditObjectEdit + EditObjectEdit printlog "Select DataSeries A by toolbar selectorbox" - call fChartSelectElement (8) + call fChartSelectElement (8) - printlog "Invoke Format::ObjectProperties" - Kontext "Toolbar" - FormatSelection.Click - Kontext - Active.SetPage TabDataSeriesOptions - Kontext "TabDataSeriesOptions" - if Not IncludeHiddenCells.IsChecked then - Warnlog "After closing and reopening of Data-Series dialog the checkbox isn't checked anymore" - TabDataSeriesOptions.Cancel - Kontext "DocumentCalc" - DocumentCalc.TypeKeys "" - call hCloseDocument - goto endsub - endif - - '/// Close dialog with Cancel-button - TabDataSeriesOptions.Cancel - '/// Close document - Kontext "DocumentCalc" - DocumentCalc.TypeKeys "" + printlog "Invoke Format::ObjectProperties" + Kontext "Toolbar" + FormatSelection.Click + Kontext + Active.SetPage TabDataSeriesOptions + Kontext "TabDataSeriesOptions" + if Not IncludeHiddenCells.IsChecked then + Warnlog "After closing and reopening of Data-Series dialog the checkbox isn't checked anymore" + TabDataSeriesOptions.Cancel + Kontext "DocumentCalc" + DocumentCalc.TypeKeys "" + call hCloseDocument + goto endsub + endif + + '/// Close dialog with Cancel-button + TabDataSeriesOptions.Cancel + '/// Close document + Kontext "DocumentCalc" + DocumentCalc.TypeKeys "" - Call hCloseDocument + Call hCloseDocument endcase ' @@ -150,14 +152,16 @@ endcase ' testcase tChartShapes - Dim sLocalFile as string - Dim sLocalFileXLS as string - Dim sFormatXLS as string - sLocalFile = convertpath(gOfficepath & "user\work\chartshapes.ods") - sLocalFileXLS = convertpath(gOfficepath & "user\work\chartshapes.xls") - sFormatXLS = "MS Excel 97" - - printlog " Load simple chart document" + Dim sLocalFile as string + Dim sLocalFileXLS as string + Dim sFormatXLS as string + sLocalFile = convertpath(gOfficepath & "user\work\chartshapes.ods") + sLocalFileXLS = convertpath(gOfficepath & "user\work\chartshapes.xls") + sFormatXLS = "MS Excel 97" + + gApplication = "CALC" + + printlog " Load simple chart document" if fLoadVerySimpleChartAndSaveLocal() > 0 then warnlog "Loading test document seems to have failed -> Check this out!" goto endsub @@ -168,11 +172,11 @@ testcase tChartShapes EditObjectEdit printlog " Verify that the drawbar is visible" Kontext "DrawBar" - + qaerrorlog "#i107003# disabled because of bug in toolbars" -' if Not DrawBar.Exists then -' Call hToolbarSelect("Drawing", true) -' endif + ' if Not DrawBar.Exists then + ' Call hToolbarSelect("Drawing", true) + ' endif printlog " Insert a shape to the chart by " Kontext "DocumentChart" @@ -197,7 +201,7 @@ testcase tChartShapes Kontext "DocumentCalc" DocumentCalc.TypeKeys "" printlog "Select chart using navigator" - call fSelectFirstOLE + call fSelectFirstOLE printlog "Invoke Edit::Object::Edit to enter Inplace Mode" EditObjectEdit printlog " Check if shape is still there" @@ -206,7 +210,7 @@ testcase tChartShapes Sleep (1) Kontext "Toolbar" if ChartElementSelector.GetSelText <> "ChartShape1" then - warnlog "Something is wrong with the shape" + warnlog "Something is wrong with the shape" endif printlog " Leave Chart" Kontext "DocumentCalc" @@ -219,12 +223,12 @@ testcase tChartShapes call hCloseDocument goto endsub end if - printlog " Close document" + printlog " Close document" call hCloseDocument printlog " Open document" call hFileOpen ( sLocalFile ) - printlog "Select chart using navigator" - call fSelectFirstOLE + printlog "Select chart using navigator" + call fSelectFirstOLE printlog "Invoke Edit::Object::Edit to enter Inplace Mode" EditObjectEdit printlog " Check if shape is still there" @@ -233,16 +237,16 @@ testcase tChartShapes Sleep (1) Kontext "Toolbar" if ChartElementSelector.GetSelText <> "ChartShape1" then - warnlog "Something is wrong with the shape" + warnlog "Something is wrong with the shape" endif printlog " Leave Chart" Kontext "DocumentCalc" DocumentCalc.TypeKeys "" printlog " Close document" Call hCloseDocument - call hFileOpen ( sLocalFileXLS ) - printlog "Select chart using navigator" - call fSelectFirstOLE + call hFileOpen ( sLocalFileXLS ) + printlog "Select chart using navigator" + call fSelectFirstOLE printlog "Invoke Edit::Object::Edit to enter Inplace Mode" EditObjectEdit printlog " Check if shape is still there" @@ -251,12 +255,12 @@ testcase tChartShapes Sleep (1) Kontext "Toolbar" if ChartElementSelector.GetSelText <> "ChartShape1" then - warnlog "Something is wrong with the shape" + warnlog "Something is wrong with the shape" endif printlog " Leave Chart" Kontext "DocumentCalc" DocumentCalc.TypeKeys "" printlog " Close document" Call hCloseDocument - + endcase -- cgit From 16d2852d25a1c2c90ac5a2f90f7753564b082afc Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Wed, 26 May 2010 10:22:48 +0200 Subject: vcl112: #i111819# resolve aliases --- fpicker/source/aqua/FilterHelper.cxx | 11 +++++++++++ fpicker/source/aqua/NSURL_OOoAdditions.hxx | 13 +++++++++---- fpicker/source/aqua/NSURL_OOoAdditions.mm | 30 ++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/fpicker/source/aqua/FilterHelper.cxx b/fpicker/source/aqua/FilterHelper.cxx index 10e429f201c5..9c644326005e 100644 --- a/fpicker/source/aqua/FilterHelper.cxx +++ b/fpicker/source/aqua/FilterHelper.cxx @@ -35,6 +35,7 @@ // #endif #include "CFStringUtilities.hxx" #include "NSString_OOoAdditions.hxx" +#include "NSURL_OOoAdditions.hxx" #include "FilterHelper.hxx" @@ -428,6 +429,16 @@ sal_Bool FilterHelper::filenameMatchesFilter(NSString* sFilename) } } + // might be an alias + NSString* pResolved = resolveAlias( sFilename ); + if( pResolved ) + { + sal_Bool bResult = filenameMatchesFilter( pResolved ); + [pResolved autorelease]; + if( bResult ) + return sal_True; + } + DBG_PRINT_EXIT(CLASS_NAME, __func__); return sal_False; diff --git a/fpicker/source/aqua/NSURL_OOoAdditions.hxx b/fpicker/source/aqua/NSURL_OOoAdditions.hxx index 8be2c0362096..31b55385e155 100644 --- a/fpicker/source/aqua/NSURL_OOoAdditions.hxx +++ b/fpicker/source/aqua/NSURL_OOoAdditions.hxx @@ -29,15 +29,20 @@ #define _NSURL_OOOADDITIONS_HXX_ #include -#include +#include #include #include "CFStringUtilities.hxx" #include -// #include - @interface NSURL (OOoAdditions) - (rtl::OUString) OUStringForInfo:(InfoType)info; @end -#endif \ No newline at end of file +/* + returns the resolved string if there was an alias + if there was no alias, nil is returned +*/ + +NSString* resolveAlias( NSString* i_pSystemPath ); + +#endif diff --git a/fpicker/source/aqua/NSURL_OOoAdditions.mm b/fpicker/source/aqua/NSURL_OOoAdditions.mm index 56fc198650c8..ecc38b7e232b 100644 --- a/fpicker/source/aqua/NSURL_OOoAdditions.mm +++ b/fpicker/source/aqua/NSURL_OOoAdditions.mm @@ -80,3 +80,33 @@ return sResult; } @end + +NSString* resolveAlias( NSString* i_pSystemPath ) +{ + NSString* pResolvedPath = nil; + CFURLRef rUrl = CFURLCreateWithFileSystemPath( kCFAllocatorDefault, + (CFStringRef)i_pSystemPath, + kCFURLPOSIXPathStyle, false); + if( rUrl != NULL ) + { + FSRef rFS; + if( CFURLGetFSRef( rUrl, &rFS ) ) + { + MacOSBoolean bIsFolder = false; + MacOSBoolean bAlias = false; + OSErr err = FSResolveAliasFile( &rFS, true, &bIsFolder, &bAlias); + if( (err == noErr) && bAlias ) + { + CFURLRef rResolvedUrl = CFURLCreateFromFSRef( kCFAllocatorDefault, &rFS ); + if( rResolvedUrl != NULL ) + { + pResolvedPath = (NSString*)CFURLCopyFileSystemPath( rResolvedUrl, kCFURLPOSIXPathStyle ); + CFRelease( rResolvedUrl ); + } + } + } + CFRelease( rUrl ); + } + + return pResolvedPath; +} -- cgit From 439c80ff5b0d7527c8e165a656a8a0b86c0675ef Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 11:22:56 +0200 Subject: vitomation01: #i109696 - modified i_slidecopy.inc in such a way that it can print a warning instead of an error when the menu-id 27027 (name...) is not available in the context menu of a connector. --- .../optional/includes/impress/i_slidecopy.inc | 1413 ++++++++++---------- 1 file changed, 715 insertions(+), 698 deletions(-) diff --git a/testautomation/graphics/optional/includes/impress/i_slidecopy.inc b/testautomation/graphics/optional/includes/impress/i_slidecopy.inc index d7ee257d1bb2..2a7f4611e843 100644 --- a/testautomation/graphics/optional/includes/impress/i_slidecopy.inc +++ b/testautomation/graphics/optional/includes/impress/i_slidecopy.inc @@ -29,231 +29,248 @@ '* '* short description: includefile for Slidecopy-testing '* -'******************************************************************************* -' #1 tiSlideCopyNewPresentation -' #1 tiSlideCopyDuplicate -' #1 tiSlideCopyPasteSpecial -' #1 tiSlideCopyInSlideSorter '\****************************************************************************** testcase tiSlideCopyNewPresentation + + const MENUITEM_RENAME = 27027 + Dim value1 as string Dim value2 as string Dim value12 as string Dim value13 as string - printlog "This test copies one slide from one presentation to another." - printlog "Make new presentation" - Call hNewDocument - printlog "Insert three objects: Connector, Door-plate, and Smiley." - - printlog "First we Insert a Connector." - kontext "Toolbar" - sleep 1 - try + printlog "This test copies one slide from one presentation to another." + printlog "Make new presentation" + Call hNewDocument + printlog "Insert three objects: Connector, Door-plate, and Smiley." + + printlog "First we Insert a Connector." + kontext "Toolbar" + sleep 1 + try Verbinder.TearOff - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "Connectorsbar" - sleep 2 - Verbinder.click - sleep 5 - gMouseDown (10,10) - gMouseMove (10,10,30,30) - gMouseUp (30,30) - kontext "Connectorsbar" - Connectorsbar.Close - hTypeKeys "" - hTypeKeys "", 1 - printlog "We rename the object via the contextmenu." - sleep (1) - DocumentImpress.TypeKeys "" - sleep (2) - printlog "then Choose rename." - if hMenuFindSelect(27027, true, 14) = false then + endcatch + kontext "Connectorsbar" + sleep 2 + Verbinder.click + sleep 5 + gMouseDown (10,10) + gMouseMove (10,10,30,30) + gMouseUp (30,30) + kontext "Connectorsbar" + Connectorsbar.Close + hTypeKeys "" + hTypeKeys "", 1 + printlog "We rename the object via the contextmenu." + sleep (1) + DocumentImpress.TypeKeys "" + sleep (2) + printlog "then Choose rename." + if hMenuFindSelect( MENUITEM_RENAME, true, 14) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - sleep 2 - kontext "NameDlgObject" - NameField.SetText "First" - NameDlgObject.OK - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 -'----------------------------------------------------------------------------1 - printlog "Then we insert the second object: a Door-plate." - kontext "Toolbar" - sleep 2 - try + endif + + kontext "NameDlgObject" + if ( NameDlgObject.exists( 2 ) ) then + NameField.SetText "First" + NameDlgObject.OK + else + warnlog( " failed to open" ) + endif + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + '----------------------------------------------------------------------------1 + printlog "Then we insert the second object: a Door-plate." + + kontext "Toolbar" + sleep 2 + try StarShapes.TearOff - catch - warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - sleep 2 - kontext "StarShapes" - StarShapesDoorplate.click - sleep (3) - gMouseDown (40,40) - gMouseMove (40,40,60,60) - gMouseUp (60,60) + catch + warnlog( " failed" ) + goto endsub + endcatch + + kontext "StarShapes" + if ( StarShapes.exists( 2 ) ) then + StarShapesDoorplate.click + else + warnlog( " could not be clicked" ) + endif + + sleep (3) + gMouseDown (40,40) + gMouseMove (40,40,60,60) + gMouseUp (60,60) + kontext "StarShapes" - StarShapes.Close - hTypeKeys "" - hTypeKeys "", 2 - printlog "And then we rename the object." - sleep (1) - DocumentImpress.TypeKeys "" - sleep 2 - if hMenuFindSelect(27027, true, 15) = false then + hCloseDialog( StarShapes, "close" ) + + hTypeKeys "" + hTypeKeys "", 2 + printlog "And then we rename the object." + sleep (1) + DocumentImpress.TypeKeys "" + sleep 2 + if hMenuFindSelect( MENUITEM_RENAME, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "Second" - NameDlgObject.OK - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 -'----------------------------------------------------------------------------2 - printlog "Then we insert the thrid object: a Smiley." - kontext "Toolbar" - sleep 1 - try + endif + kontext "NameDlgObject" + if ( NameDlgObject.exists( 2 ) ) then + NameField.SetText "Second" + NameDlgObject.OK + else + warnlog( " could not be accessed" ) + endif + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + '----------------------------------------------------------------------------2 + printlog "Then we insert the thrid object: a Smiley." + kontext "Toolbar" + sleep 1 + try SymbolShapes.TearOff - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "SymbolShapes" - sleep 1 - SymbolShapesSmiley.Click - sleep 2 - gMouseDown (70,70) - gMouseMove (70,70,89,89) - gMouseUp (89,89) - kontext "SymbolShapes" - SymbolShapes.Close - hTypeKeys "" - hTypeKeys "", 3 - printlog "We rename the object via the Context-menu." - DocumentImpress.TypeKeys "" - sleep (2) - 'Choose rename. - if hMenuFindSelect(27027, true, 15) = false then + endcatch + kontext "SymbolShapes" + sleep 1 + SymbolShapesSmiley.Click + sleep 2 + gMouseDown (70,70) + gMouseMove (70,70,89,89) + gMouseUp (89,89) + kontext "SymbolShapes" + SymbolShapes.Close + hTypeKeys "" + hTypeKeys "", 3 + printlog "We rename the object via the Context-menu." + DocumentImpress.TypeKeys "" + sleep (2) + 'Choose rename. + if hMenuFindSelect( MENUITEM_RENAME, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "Third" - NameDlgObject.OK - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 -'---------------------------------------------------------------------------3 - '/// Copy the slide to the clipboard ///' - kontext "Slides" - SlidesControl.TypeKeys "" - sleep (1) - SlidesControl.TypeKeys "" - sleep 2 - printlog "We copy the object via the Context-menu." - - if hMenuFindSelect(5711, true, 10) = false then + endif + kontext "NameDlgObject" + NameField.SetText "Third" + NameDlgObject.OK + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + '---------------------------------------------------------------------------3 + '/// Copy the slide to the clipboard ///' + kontext "Slides" + SlidesControl.TypeKeys "" + sleep (1) + SlidesControl.TypeKeys "" + sleep 2 + printlog "We copy the object via the Context-menu." + + if hMenuFindSelect(5711, true, 10) = false then Warnlog "Context-Menu-entry `Copy` was not found. Therefore the test ends." Call hCloseDocument - Goto Endsub - endif - '/// Close the presentation-window ///' - Call hCloseDocument - '/// Open a new presentation ///' - Call hNewDocument - '/// Paste the slide from the clipboard ///' - kontext "Slides" - EditPaste - '/// Delete the first slide ///' - EditDeleteSlide - '/// Check if all three objects exists, and has the right values ///' - kontext "DocumentImpress" - hTypeKeys "" - hTypeKeys "", 1 'Select the first object. - 'Bring up the kontext-menu for the object - sleep (1) - DocumentImpress.TypeKeys "" - sleep 2 - printlog "We rename the object via the Context-menu." - if hMenuFindSelect(27027, true, 14) = false then + Goto Endsub + endif + '/// Close the presentation-window ///' + Call hCloseDocument + '/// Open a new presentation ///' + Call hNewDocument + '/// Paste the slide from the clipboard ///' + kontext "Slides" + hUseAsyncSlot( "EditPaste" ) + '/// Delete the first slide ///' + hUseAsyncSlot( "EditDeleteSlide" ) + '/// Check if all three objects exists, and has the right values ///' + kontext "DocumentImpress" + hTypeKeys "" + hTypeKeys "", 1 'Select the first object. + 'Bring up the kontext-menu for the object + sleep (1) + DocumentImpress.TypeKeys "" + sleep 2 + printlog "We rename the object via the Context-menu." + if hMenuFindSelect( MENUITEM_RENAME, true, 14) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - printlog "Read out what the name is, and checks if it's correct." - kontext "NameDlgObject" - value1 = NameField.GetText - NameDlgObject.OK - if value1 = "First" then + endif + printlog "Read out what the name is, and checks if it's correct." + kontext "NameDlgObject" + value1 = NameField.GetText + NameDlgObject.OK + if value1 = "First" then printlog "First object was found correctly" - else + else Warnlog "Wrong object or object-name! The name found was: " + value1 - endif - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - DocumentImpress.TypeKeys "" 'Select the second object. - 'Bring up the kontext-menu for the object - sleep (1) - DocumentImpress.TypeKeys "" - sleep 2 - printlog "We rename the object via the Context-menu." - if hMenuFindSelect(27027, true, 15) = false then + endif + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + DocumentImpress.TypeKeys "" 'Select the second object. + 'Bring up the kontext-menu for the object + sleep (1) + DocumentImpress.TypeKeys "" + sleep 2 + printlog "We rename the object via the Context-menu." + if hMenuFindSelect( MENUITEM_RENAME, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - printlog "Read out what the name is, and check if it's correct." - sleep 1 - kontext "NameDlgObject" - value12 = NameField.GetText - NameDlgObject.OK - - if value12 = "Second" then + endif + printlog "Read out what the name is, and check if it's correct." + sleep 1 + kontext "NameDlgObject" + value12 = NameField.GetText + NameDlgObject.OK + + if value12 = "Second" then printlog "Second object was found correctly" - else + else Warnlog "Wrong object or object-name! The name found was: " + value12 - endif - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - DocumentImpress.TypeKeys "" 'Select the third object. - 'Bring up the kontext-menu for the object - sleep (2) - DocumentImpress.TypeKeys "" - sleep 2 - printlog "We rename the object via the Context-menu." - if hMenuFindSelect(27027, true, 15) = false then + endif + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + DocumentImpress.TypeKeys "" 'Select the third object. + 'Bring up the kontext-menu for the object + sleep (2) + DocumentImpress.TypeKeys "" + sleep 2 + printlog "We rename the object via the Context-menu." + if hMenuFindSelect( MENUITEM_RENAME, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - printlog "Read out what the name is, and check if it's correct." - kontext "NameDlgObject" - value13 = NameField.GetText - NameDlgObject.OK + endif + printlog "Read out what the name is, and check if it's correct." + kontext "NameDlgObject" + value13 = NameField.GetText + NameDlgObject.OK - if value13 = "Third" then + if value13 = "Third" then printlog "Third object was found correctly" - else + else Warnlog "Wrong object or object-name! The name found was: " + value13 - endif - - '/// Close the bars we opened before. ///' - kontext "Connectorsbar" - if Connectorsbar.Exists then Connectorsbar.Close - kontext "SymbolShapes" - if SymbolShapes.Exists then SymbolShapes.Close - kontext "StarShapes" - if StarShapes.Exists then StarShapes.Close - - '/// Close Presentation. End testcase ///' - Call hCloseDocument + endif + + '/// Close the bars we opened before. ///' + kontext "Connectorsbar" + if Connectorsbar.Exists then Connectorsbar.Close + kontext "SymbolShapes" + if SymbolShapes.Exists then SymbolShapes.Close + kontext "StarShapes" + if StarShapes.Exists then StarShapes.Close + + '/// Close Presentation. End testcase ///' + Call hCloseDocument endcase 'tiSlideCopyNewPresentation '------------------------------------------------------------------------- @@ -264,164 +281,164 @@ testcase tiSlideCopyDuplicate Dim value12 as string Dim value13 as string dim i as integer - '/// Make a duplicate of a slide. In the same presentation ///' - '/// Make new presentation ///' - Call hNewDocument - '/// Insert three objects: Connector, Door-plate, and Smiley ///' - '1 Insert Connector. - kontext "Toolbar" - sleep 1 - try + '/// Make a duplicate of a slide. In the same presentation ///' + '/// Make new presentation ///' + Call hNewDocument + '/// Insert three objects: Connector, Door-plate, and Smiley ///' + '1 Insert Connector. + kontext "Toolbar" + sleep 1 + try Verbinder.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "Connectorsbar" - sleep 1 - Verbinder.click - sleep 1 - kontext "DocumentImpress" - gMouseDown (10,10) - gMouseMove (10,10,30,30) - gMouseUp (30,30) - - hTypeKeys "" - hTypeKeys "", 1 - sleep (1) - - 'rename object - DocumentImpress.TypeKeys "" - sleep 1 - - 'Choose rename. - if hMenuFindSelect(27027, true, 14) = false then + endcatch + kontext "Connectorsbar" + sleep 1 + Verbinder.click + sleep 1 + kontext "DocumentImpress" + gMouseDown (10,10) + gMouseMove (10,10,30,30) + gMouseUp (30,30) + + hTypeKeys "" + hTypeKeys "", 1 + sleep (1) + + 'rename object + DocumentImpress.TypeKeys "" + sleep 1 + + 'Choose rename. + if hMenuFindSelect(27027, true, 14) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "First" - NameDlgObject.OK - sleep 1 - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - - '2 Insert Door-plate. - kontext "Toolbar" - sleep 1 - try + endif + kontext "NameDlgObject" + NameField.SetText "First" + NameDlgObject.OK + sleep 1 + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + + '2 Insert Door-plate. + kontext "Toolbar" + sleep 1 + try StarShapes.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "StarShapes" - sleep 1 - StarShapesDoorplate.click - sleep 1 - kontext "DocumentImpress" - gMouseDown (40,40) - gMouseMove (40,40,60,60) - gMouseUp (60,60) - - hTypeKeys "" - hTypeKeys "", 2 - sleep (1) - - 'Rename object - kontext "DocumentImpress" - DocumentImpress.TypeKeys "" - sleep (1) - 'Choose rename. - if hMenuFindSelect(27027, true, 15) = false then + endcatch + kontext "StarShapes" + sleep 1 + StarShapesDoorplate.click + sleep 1 + kontext "DocumentImpress" + gMouseDown (40,40) + gMouseMove (40,40,60,60) + gMouseUp (60,60) + + hTypeKeys "" + hTypeKeys "", 2 + sleep (1) + + 'Rename object + kontext "DocumentImpress" + DocumentImpress.TypeKeys "" + sleep (1) + 'Choose rename. + if hMenuFindSelect(27027, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "Second" - NameDlgObject.OK - sleep 1 - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - - '3 Insert Smiley. - kontext "Toolbar" - sleep 1 - try + endif + kontext "NameDlgObject" + NameField.SetText "Second" + NameDlgObject.OK + sleep 1 + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + + '3 Insert Smiley. + kontext "Toolbar" + sleep 1 + try SymbolShapes.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "SymbolShapes" - sleep 1 - SymbolShapesSmiley.Click - sleep 1 - gMouseDown (70,70) - gMouseMove (70,70,89,89) - gMouseUp (89,89) - - hTypeKeys "" - hTypeKeys "", 3 - sleep (1) - - 'rename object - DocumentImpress.TypeKeys "" - sleep (1) - 'Choose rename. - if hMenuFindSelect(27027, true, 15) = false then + endcatch + kontext "SymbolShapes" + sleep 1 + SymbolShapesSmiley.Click + sleep 1 + gMouseDown (70,70) + gMouseMove (70,70,89,89) + gMouseUp (89,89) + + hTypeKeys "" + hTypeKeys "", 3 + sleep (1) + + 'rename object + DocumentImpress.TypeKeys "" + sleep (1) + 'Choose rename. + if hMenuFindSelect(27027, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "Third" - NameDlgObject.OK - sleep 1 - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - - '/// Close the bars we opened before. ///' - kontext "Connectorsbar" - if Connectorsbar.Exists then Connectorsbar.Close - kontext "SymbolShapes" - if SymbolShapes.Exists then SymbolShapes.Close - kontext "StarShapes" - if StarShapes.Exists then StarShapes.Close - - '/// Copy the slide to the clipboard ///' - kontext "Slides" - SlidesControl.TypeKeys "" - sleep (1) - SlidesControl.TypeKeys "" - sleep (1) - 'Choose `Copy` - if hMenuFindSelect(5711, true, 10) = false then + endif + kontext "NameDlgObject" + NameField.SetText "Third" + NameDlgObject.OK + sleep 1 + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + + '/// Close the bars we opened before. ///' + kontext "Connectorsbar" + if Connectorsbar.Exists then Connectorsbar.Close + kontext "SymbolShapes" + if SymbolShapes.Exists then SymbolShapes.Close + kontext "StarShapes" + if StarShapes.Exists then StarShapes.Close + + '/// Copy the slide to the clipboard ///' + kontext "Slides" + SlidesControl.TypeKeys "" + sleep (1) + SlidesControl.TypeKeys "" + sleep (1) + 'Choose `Copy` + if hMenuFindSelect(5711, true, 10) = false then Warnlog "Context-Menu-entry `Copy` was not found.Therefore the test ends." Call hCloseDocument Goto Endsub - endif + endif - '/// Paste the content from the Clipboard ///' - kontext "Slides" - 'open context-menu choose 'paste' + '/// Paste the content from the Clipboard ///' + kontext "Slides" + 'open context-menu choose 'paste' - EditPaste + EditPaste - kontext "InsertPaste" - if InsertPaste.Exists(1) then + kontext "InsertPaste" + if InsertPaste.Exists(1) then After.Check InsertPaste.OK - endif - sleep (2) - '/// Check if we have two slides, and that the objects exists, and has the right values ///' + endif + sleep (2) + '/// Check if we have two slides, and that the objects exists, and has the right values ///' - kontext "Slides" - SlidesControl.TypeKeys "" + kontext "Slides" + SlidesControl.TypeKeys "" - for i = 1 to 2 ' we have two slides, so we do this two times to check everything. + for i = 1 to 2 ' we have two slides, so we do this two times to check everything. Printlog "Checking objects the " + i + " + time." kontext "DocumentImpress" hMouseClick DocumentImpress, 90, 90 @@ -431,10 +448,10 @@ testcase tiSlideCopyDuplicate DocumentImpress.TypeKeys "" sleep 1 'Choose rename. - if hMenuFindSelect(27027, true, 14) = false then - Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." - Call hCloseDocument - Goto Endsub + if hMenuFindSelect(27027, true, 14) = false then + Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." + Call hCloseDocument + Goto Endsub endif 'Read out what the name is, and check if its correct. @@ -443,21 +460,21 @@ testcase tiSlideCopyDuplicate NameDlgObject.OK 'TypeKeys "" if value1 = "First" then - printlog "First object was found correctly" + printlog "First object was found correctly" else - Warnlog "Wrong object or object-name! The name found was: " + value1 + Warnlog "Wrong object or object-name! The name found was: " + value1 endif hTypeKeys "" DocumentImpress.TypeKeys "", 2 - sleep (1) + sleep (1) DocumentImpress.TypeKeys "" 'Choose rename. if hMenuFindSelect(27027, true, 15) = false then - Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." - Call hCloseDocument - Goto Endsub + Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." + Call hCloseDocument + Goto Endsub endif 'Read out what the name is, and check if its correct. @@ -466,9 +483,9 @@ testcase tiSlideCopyDuplicate NameDlgObject.OK if value12 = "Second" then - printlog "Second object was found correctly" + printlog "Second object was found correctly" else - Warnlog "Wrong object or object-name! The name found was: " + value12 + Warnlog "Wrong object or object-name! The name found was: " + value12 endif hTypeKeys "" @@ -480,9 +497,9 @@ testcase tiSlideCopyDuplicate sleep 1 'Choose rename. if hMenuFindSelect(27027, true, 15) = false then - Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." - Call hCloseDocument - Goto Endsub + Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." + Call hCloseDocument + Goto Endsub endif 'Read out what the name is, and check if its correct. @@ -491,468 +508,468 @@ testcase tiSlideCopyDuplicate NameDlgObject.OK if value13 = "Third" then - printlog "Third object was found correctly" + printlog "Third object was found correctly" else - Warnlog "Wrong object or object-name! The name found was: " + value13 + Warnlog "Wrong object or object-name! The name found was: " + value13 endif kontext "Slides" SlidesControl.TypeKeys "" - next i + next i - '/// Close Presentation. End testcase ///' - Call hCloseDocument + '/// Close Presentation. End testcase ///' + Call hCloseDocument endcase 'tiSlidecopyDuplicate '----------------------------------------------------------------------- testcase tiSlideCopyPasteSpecial -qaerrorlog "#i93377#: Paste special dialog does not come up with kontext on slide pane" -goto endsub - + qaerrorlog "#i93377#: Paste special dialog does not come up with kontext on slide pane" + goto endsub + Dim value1 as string Dim value2 as string Dim value3 as string - '/// Copies slide, and pastes it with "Paste Special", ///' - '/// just to see if the office can handle it ///' - '/// Make new presentation ///' - Call hNewDocument - '/// Insert three objects: Connector, Door-plate, and Smiley ///' - - '1 Insert Connector. - kontext "Toolbar" - sleep 1 - try + '/// Copies slide, and pastes it with "Paste Special", ///' + '/// just to see if the office can handle it ///' + '/// Make new presentation ///' + Call hNewDocument + '/// Insert three objects: Connector, Door-plate, and Smiley ///' + + '1 Insert Connector. + kontext "Toolbar" + sleep 1 + try Verbinder.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "Connectorsbar" - sleep 1 - Verbinder.click - sleep 1 - gMouseDown (10,10) - gMouseMove (10,10,30,30) - gMouseUp (30,30) - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - - '2 Insert Door-plate. - kontext "Toolbar" - sleep 1 - try + endcatch + kontext "Connectorsbar" + sleep 1 + Verbinder.click + sleep 1 + gMouseDown (10,10) + gMouseMove (10,10,30,30) + gMouseUp (30,30) + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + + '2 Insert Door-plate. + kontext "Toolbar" + sleep 1 + try StarShapes.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "StarShapes" - sleep 1 - StarShapesDoorplate.click - sleep 1 - gMouseDown (40,40) - gMouseMove (40,40,60,60) - gMouseUp (60,60) - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - - '3 Insert Smiley. - kontext "Toolbar" - sleep 1 - try + endcatch + kontext "StarShapes" + sleep 1 + StarShapesDoorplate.click + sleep 1 + gMouseDown (40,40) + gMouseMove (40,40,60,60) + gMouseUp (60,60) + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + + '3 Insert Smiley. + kontext "Toolbar" + sleep 1 + try SymbolShapes.TearOff ' insert connector - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "SymbolShapes" - sleep 1 - SymbolShapesSmiley.Click - sleep 1 - gMouseDown (70,70) - gMouseMove (70,70,89,89) - gMouseUp (89,89) - - '/// Copy the slide to the clipboard ///' - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - sleep 1 - 'Choose `Copy` - if hMenuFindSelect(5711, true, 10) = false then + endcatch + kontext "SymbolShapes" + sleep 1 + SymbolShapesSmiley.Click + sleep 1 + gMouseDown (70,70) + gMouseMove (70,70,89,89) + gMouseUp (89,89) + + '/// Copy the slide to the clipboard ///' + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "" + sleep 1 + 'Choose `Copy` + if hMenuFindSelect(5711, true, 10) = false then Warnlog "Context-Menu-entry `Copy` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - - '/// Try to paste special. And check that the office still stays alive ///' - EditPasteSpecial - kontext "InhaltEinfuegen" - InhaltEinfuegen.OK - - '/// Close the bars we opened before. ///' - kontext "Connectorsbar" - if Connectorsbar.Exists then Connectorsbar.Close - kontext "SymbolShapes" - if SymbolShapes.Exists then SymbolShapes.Close - kontext "StarShapes" - if StarShapes.Exists then StarShapes.Close - - sleep 1 - kontext "DocumentImpress" - '/// Close Presentation. End testcase ///' - - Call hCloseDocument + endif + + '/// Try to paste special. And check that the office still stays alive ///' + EditPasteSpecial + kontext "InhaltEinfuegen" + InhaltEinfuegen.OK + + '/// Close the bars we opened before. ///' + kontext "Connectorsbar" + if Connectorsbar.Exists then Connectorsbar.Close + kontext "SymbolShapes" + if SymbolShapes.Exists then SymbolShapes.Close + kontext "StarShapes" + if StarShapes.Exists then StarShapes.Close + + sleep 1 + kontext "DocumentImpress" + '/// Close Presentation. End testcase ///' + + Call hCloseDocument endcase 'tiSlideCopyPasteSpecial '----------------------------------------------------------------------- testcase tiSlideCopyInSlideSorter -qaerrorlog "#i58418#: Pasting in slide sorter sets slide to wrong position" -goto endsub - + qaerrorlog "#i58418#: Pasting in slide sorter sets slide to wrong position" + goto endsub + Dim value1 as string Dim value2 as string Dim value3 as string - '/// Copies slides within the slidesorter, and makes sure they are pasted on the correct position ///' - '/// Make new presentation ///' - Call hNewDocument - '/// Insert an object: Connector, on the first slide ///' - kontext "Toolbar" - sleep 1 - try + '/// Copies slides within the slidesorter, and makes sure they are pasted on the correct position ///' + '/// Make new presentation ///' + Call hNewDocument + '/// Insert an object: Connector, on the first slide ///' + kontext "Toolbar" + sleep 1 + try Verbinder.TearOff - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "Connectorsbar" - sleep 1 - Verbinder.click - Verbinder.click - Verbinder.click - sleep 1 - kontext "DocumentImpress" - gMouseDown (10,10) - gMouseMove (10,10,30,30) - gMouseUp (30,30) - Printlog " Inserted a Connector-object." - 'Rename object - hTypeKeys "" - hTypeKeys "", 1 - DocumentImpress.TypeKeys "" - - 'Rename - if hMenuFindSelect(27027, true, 14) = false then + endcatch + kontext "Connectorsbar" + sleep 1 + Verbinder.click + Verbinder.click + Verbinder.click + sleep 1 + kontext "DocumentImpress" + gMouseDown (10,10) + gMouseMove (10,10,30,30) + gMouseUp (30,30) + Printlog " Inserted a Connector-object." + 'Rename object + hTypeKeys "" + hTypeKeys "", 1 + DocumentImpress.TypeKeys "" + + 'Rename + if hMenuFindSelect(27027, true, 14) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "First" - NameDlgObject.OK - sleep 1 - Printlog " Renamed a the object to 'First'" - - sleep 3 - '/// Rename slide to "1" ///' - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - sleep 3 - 'Rename - if hMenuFindSelect(27268, true, 2) = false then + endif + kontext "NameDlgObject" + NameField.SetText "First" + NameDlgObject.OK + sleep 1 + Printlog " Renamed a the object to 'First'" + + sleep 3 + '/// Rename slide to "1" ///' + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "" + sleep 3 + 'Rename + if hMenuFindSelect(27268, true, 2) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - - kontext "NameDlgPage" - NameField.SetText "1" - NameDlgPage.OK - sleep 1 - Printlog " Renamed the Slide to '1'" - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - sleep 3 - - '/// Insert a new slide ///' - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.OpenContextMenu - sleep 3 - 'Insert slide - if hMenuFindSelect(27014, true, 1) = false then + endif + + kontext "NameDlgPage" + NameField.SetText "1" + NameDlgPage.OK + sleep 1 + Printlog " Renamed the Slide to '1'" + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + sleep 3 + + '/// Insert a new slide ///' + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.OpenContextMenu + sleep 3 + 'Insert slide + if hMenuFindSelect(27014, true, 1) = false then Warnlog "Context-Menu-entry `Insert slide` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - Printlog " Inserted a new slide." - '/// Insert an object: Door-plate, on the second slide ///' - kontext "Toolbar" - sleep 1 - try + endif + Printlog " Inserted a new slide." + '/// Insert an object: Door-plate, on the second slide ///' + kontext "Toolbar" + sleep 1 + try StarShapes.TearOff - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "StarShapes" - sleep 1 - StarShapesDoorplate.click - sleep 1 - kontext "DocumentImpress" - gMouseDown (40,40) - gMouseMove (40,40,60,60) - gMouseUp (60,60) - Printlog " Inserted a Door-Plate-object." - - hTypeKeys "" - hTypeKeys "", 2 - hTypeKeys "" - - ' Rename - if hMenuFindSelect(27027, true, 15) = false then + endcatch + kontext "StarShapes" + sleep 1 + StarShapesDoorplate.click + sleep 1 + kontext "DocumentImpress" + gMouseDown (40,40) + gMouseMove (40,40,60,60) + gMouseUp (60,60) + Printlog " Inserted a Door-Plate-object." + + hTypeKeys "" + hTypeKeys "", 2 + hTypeKeys "" + + ' Rename + if hMenuFindSelect(27027, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - - kontext "NameDlgObject" - NameField.SetText "Second" - NameDlgObject.OK - sleep 1 - Printlog " Renamed a the object to 'Second'" - - kontext "DocumentImpress" - hMouseClick DocumentImpress, 90, 90 - sleep 2 - '/// Rename slide to "2" ///' - kontext "Slides" - SlidesControl.OpenContextMenu - sleep 3 - ' Rename - if hMenuFindSelect(27268, true, 3) = false then + endif + + kontext "NameDlgObject" + NameField.SetText "Second" + NameDlgObject.OK + sleep 1 + Printlog " Renamed a the object to 'Second'" + + kontext "DocumentImpress" + hMouseClick DocumentImpress, 90, 90 + sleep 2 + '/// Rename slide to "2" ///' + kontext "Slides" + SlidesControl.OpenContextMenu + sleep 3 + ' Rename + if hMenuFindSelect(27268, true, 3) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgPage" - NameField.SetText "2" - NameDlgPage.OK - sleep 1 - Printlog " Renamed the slide '2'" - - '/// Insert a new slide ///' - kontext "Slides" - Slidescontrol.TypeKeys "", 2 - Slidescontrol.TypeKeys "" - sleep 3 - 'Insert slide - if hMenuFindSelect(27014, true, 1) = false then + endif + kontext "NameDlgPage" + NameField.SetText "2" + NameDlgPage.OK + sleep 1 + Printlog " Renamed the slide '2'" + + '/// Insert a new slide ///' + kontext "Slides" + Slidescontrol.TypeKeys "", 2 + Slidescontrol.TypeKeys "" + sleep 3 + 'Insert slide + if hMenuFindSelect(27014, true, 1) = false then Warnlog "Context-Menu-entry `Insert slide` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - Printlog " Inserted a new slide." + endif + Printlog " Inserted a new slide." - '/// Insert an object: Smiley, on the second slide ///' - kontext "Toolbar" - sleep 1 - try + '/// Insert an object: Smiley, on the second slide ///' + kontext "Toolbar" + sleep 1 + try SymbolShapes.TearOff - catch + catch warnlog "bug for GH from FHA; .tearoff doesnt tell success" - endcatch - kontext "SymbolShapes" - sleep 1 - SymbolShapesSmiley.Click - sleep 1 - gMouseDown (70,70) - gMouseMove (70,70,89,89) - gMouseUp (89,89) - Printlog " Inserted a Smiley-object." - - 'Rename object - hTypeKeys "" - hTypeKeys "", 2 - hTypeKeys "" - - 'Choose rename. - if hMenuFindSelect(27027, true, 15) = false then + endcatch + kontext "SymbolShapes" + sleep 1 + SymbolShapesSmiley.Click + sleep 1 + gMouseDown (70,70) + gMouseMove (70,70,89,89) + gMouseUp (89,89) + Printlog " Inserted a Smiley-object." + + 'Rename object + hTypeKeys "" + hTypeKeys "", 2 + hTypeKeys "" + + 'Choose rename. + if hMenuFindSelect(27027, true, 15) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - kontext "NameDlgObject" - NameField.SetText "Third" - NameDlgObject.OK - Printlog " Renamed a the object to 'Third'" - - '/// Rename slide to "3" ///' - kontext "Slides" - Slidescontrol.TypeKeys "", 2 - SlidesControl.OpenContextMenu - sleep 3 - ' Rename - if hMenuFindSelect(27268, true, 3) = false then + endif + kontext "NameDlgObject" + NameField.SetText "Third" + NameDlgObject.OK + Printlog " Renamed a the object to 'Third'" + + '/// Rename slide to "3" ///' + kontext "Slides" + Slidescontrol.TypeKeys "", 2 + SlidesControl.OpenContextMenu + sleep 3 + ' Rename + if hMenuFindSelect(27268, true, 3) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - - kontext "NameDlgPage" - NameField.SetText "3" - NameDlgPage.OK - sleep 1 - Printlog " Renamed the slide '3'" - - '/// Close the bars we opened before. ///' - kontext "Connectorsbar" - if Connectorsbar.Exists then Connectorsbar.Close - kontext "SymbolShapes" - if SymbolShapes.Exists then SymbolShapes.Close - kontext "StarShapes" - if StarShapes.Exists then StarShapes.Close - - '/// Change to Slidesorter ///' - kontext "DocumentImpress" - ViewSlideSorter - - '/// Now we have changed view to the slidesorter ///' - - kontext "Slides" - Printlog " Changed view to 'SlideSorter'" - '/// Make sure the last slide is selcted ///' - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 3 - - '/// Cut the last slide ///' - SlidesControl.TypeKeys "" - - '/// Make sure the first slide is selected ///' - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 2 - sleep 1 - - '/// Paste the Slide ///' - kontext "Slides" - SlidesControl.TypeKeys "" - - '/// choose "Before" as specification for where - Kontext "InsertPaste" - if InsertPaste.Exists(3) then + endif + + kontext "NameDlgPage" + NameField.SetText "3" + NameDlgPage.OK + sleep 1 + Printlog " Renamed the slide '3'" + + '/// Close the bars we opened before. ///' + kontext "Connectorsbar" + if Connectorsbar.Exists then Connectorsbar.Close + kontext "SymbolShapes" + if SymbolShapes.Exists then SymbolShapes.Close + kontext "StarShapes" + if StarShapes.Exists then StarShapes.Close + + '/// Change to Slidesorter ///' + kontext "DocumentImpress" + ViewSlideSorter + + '/// Now we have changed view to the slidesorter ///' + + kontext "Slides" + Printlog " Changed view to 'SlideSorter'" + '/// Make sure the last slide is selcted ///' + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 3 + + '/// Cut the last slide ///' + SlidesControl.TypeKeys "" + + '/// Make sure the first slide is selected ///' + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 2 + sleep 1 + + '/// Paste the Slide ///' + kontext "Slides" + SlidesControl.TypeKeys "" + + '/// choose "Before" as specification for where + Kontext "InsertPaste" + if InsertPaste.Exists(3) then Before.Check InsertPaste.OK Printlog " Pasted slide 'Before'" - else + else warnlog " Problem when copying/pasting slide." - endif - - '/// Check where the slide ended up ///' - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 3 'to get to the first slide - SlidesControl.TypeKeys "" - sleep 3 - ' Rename - if hMenuFindSelect(27268, true, 3) = false then + endif + + '/// Check where the slide ended up ///' + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 3 'to get to the first slide + SlidesControl.TypeKeys "" + sleep 3 + ' Rename + if hMenuFindSelect(27268, true, 3) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif + endif - kontext "NameDlgPage" - if NameField.GetText <> "3" then + kontext "NameDlgPage" + if NameField.GetText <> "3" then Warnlog "Wrong slide found! Expected nr 3, but found " + NameField.GetText + "." - else + else Printlog " Slide nr 3 was found correctly." - endif - NameDlgPage.OK - sleep 1 - - kontext "Slides" - '/// Choose the slide in the middle (named "1") ///' - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 3 'to get to the last slide - SlidesControl.TypeKeys "" 'to go back one step - SlidesControl.OpenContextMenu (true) - ' Check the name of that slide (via Rename) - if hMenuFindSelect(27268, true, 3) = false then + endif + NameDlgPage.OK + sleep 1 + + kontext "Slides" + '/// Choose the slide in the middle (named "1") ///' + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 3 'to get to the last slide + SlidesControl.TypeKeys "" 'to go back one step + SlidesControl.OpenContextMenu (true) + ' Check the name of that slide (via Rename) + if hMenuFindSelect(27268, true, 3) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif + endif - kontext "NameDlgPage" - if NameField.GetText <> "1" then + kontext "NameDlgPage" + if NameField.GetText <> "1" then Warnlog "Wrong slide found! Expected nr 1, but found " + NameField.GetText + "." - else + else Printlog " Slide nr 1 was found correctly in the middle position." - endif - NameDlgPage.OK - sleep 1 - kontext "Slides" - - '/// Cut the slide ///' - SlidesControl.TypeKeys "" - sleep 3 - if hMenuFindSelect(5710, true, 10) = false then + endif + NameDlgPage.OK + sleep 1 + kontext "Slides" + + '/// Cut the slide ///' + SlidesControl.TypeKeys "" + sleep 3 + if hMenuFindSelect(5710, true, 10) = false then Warnlog "Context-Menu-entry `Cut` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif + endif - '/// Make sure we have selected the last slide ///' - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 2 + '/// Make sure we have selected the last slide ///' + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 2 - '/// Place the mousepointer to the left of the first slide ///' - sleep 1 - kontext "Slides" - SlidesControl.MouseMove 2, 3 - SlidesControl.OpenContextMenu true - sleep 3 + '/// Place the mousepointer to the left of the first slide ///' + sleep 1 + kontext "Slides" + SlidesControl.MouseMove 2, 3 + SlidesControl.OpenContextMenu true + sleep 3 - '/// Paste the Slide ///' - if hMenuFindSelect(5712, true, 12) = false then + '/// Paste the Slide ///' + if hMenuFindSelect(5712, true, 12) = false then Warnlog "Context-Menu-entry `Paste` were not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif - sleep 1 + endif + sleep 1 - '/// Choose "After" as specification for where ///' - Kontext "InsertPaste" - if InsertPaste.Exists(3) then + '/// Choose "After" as specification for where ///' + Kontext "InsertPaste" + if InsertPaste.Exists(3) then After.Check InsertPaste.OK Printlog " Pasted slide 'After'" - else + else warnlog " Problem when copying/pasting slide." - endif - - '/// Check where the slide ended up. Should have showed up at the last position ///' - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 3 'to get to the last slide - SlidesControl.TypeKeys "" '= open context menu - sleep 3 - ' Rename - if hMenuFindSelect(27268, true, 3) = false then + endif + + '/// Check where the slide ended up. Should have showed up at the last position ///' + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 3 'to get to the last slide + SlidesControl.TypeKeys "" '= open context menu + sleep 3 + ' Rename + if hMenuFindSelect(27268, true, 3) = false then Warnlog "Context-Menu-entry `Rename` was not found. Therefore the test ends." Call hCloseDocument Goto Endsub - endif + endif - kontext "NameDlgPage" - if NameField.GetText <> "1" then + kontext "NameDlgPage" + if NameField.GetText <> "1" then Warnlog "Wrong slide found! Expected nr 1, but found " + NameField.GetText + "." - else + else Printlog " Slide nr 1 was found correctly." - endif - NameDlgPage.OK - sleep 1 + endif + NameDlgPage.OK + sleep 1 - '/// Close Presentation. End testcase ///' - Call hCloseDocument + '/// Close Presentation. End testcase ///' + Call hCloseDocument endcase 'tiSlideCopyInSlideSorter '------------------------------------------------------------------------ -- cgit From cccbb7582d6ae211991e72e364ae1d64b7480d90 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 11:44:35 +0200 Subject: vitomation01: #i109696 - g_stylist.inc: Try to workaround a few timing issues. --- .../optional/includes/global/g_stylist.inc | 307 ++++++++++----------- 1 file changed, 144 insertions(+), 163 deletions(-) mode change 100755 => 100644 testautomation/graphics/optional/includes/global/g_stylist.inc diff --git a/testautomation/graphics/optional/includes/global/g_stylist.inc b/testautomation/graphics/optional/includes/global/g_stylist.inc old mode 100755 new mode 100644 index dc8663425e87..fe9a1e28dabb --- a/testautomation/graphics/optional/includes/global/g_stylist.inc +++ b/testautomation/graphics/optional/includes/global/g_stylist.inc @@ -29,18 +29,6 @@ '* '* short description : '* -'******************************************************************* -'* -' #1 tFormatStylistFlyer -' #1 tFormatStylistDocuments -' #1 tFormatStylistTemplatesUse -' #1 tFormatStylistTemplateCreate -' #1 tFormatStylistTemplateSelect -' #1 tFormatStylistTemplateNew -' #1 tiFormatStylist -' #1 tFormatStylist -' #1 hWalkTheStyles -'* '\******************************************************************* testcase tFormatStylistFlyer @@ -147,7 +135,7 @@ testcase tFormatStylistFlyer '/// close stylist ///' Gestalter.Close Call hCloseDocument - + endcase 'tFormatStylistFlyer '-------------------------------------------------------- testcase tFormatStylistDocuments @@ -169,11 +157,9 @@ testcase tFormatStylistDocuments endif printlog " - Close all documents, reopen 1" - FileClose - Sleep 2 - FileClose - Sleep 2 - hNewDocument + hFileCloseAll() + hNewDocument() + Kontext "Gestalter" if (Gestalter.NotExists) then warnlog " There is no stylist in the new document" @@ -190,12 +176,9 @@ testcase tFormatStylistDocuments endif printlog " - Close all documents, reopen one and check the docked stylist" - FileClose - Sleep 2 - FileClose - Sleep 2 - Kontext "Gestalter" - hNewDocument + hFileCloseAll() + hNewDocument() + Kontext "Gestalter" if NOT Gestalter.IsDocked then warnlog " In the new document is the stylist not docked" @@ -215,7 +198,7 @@ testcase tFormatStylistDocuments Gestalter.Close end if Call hCloseDocument - + endcase 'tFormatStylistDocuments '-------------------------------------------------------- testcase tFormatStylistTemplatesUse @@ -234,7 +217,7 @@ testcase tFormatStylistTemplatesUse FormatStylist endif printlog " - Presentation-templates" - if (Lcase (gApplication) = "IMPRESS") then + if ( gApplication = "IMPRESS") then TBGestalter.Click Praesentationsvorlagen endif save = Gruppenliste.GetSelIndex @@ -253,11 +236,11 @@ testcase tFormatStylistTemplatesUse sleep 1 Gruppenliste.Select save - Gestalter.Close + kontext "Gestalter" + hCloseDialog( Gestalter, "Close" ) + + hFileCloseAll() - sleep 3 - Call hCloseDocument - endcase 'tFormatStylistTemplatesUse '-------------------------------------------------------- testcase tFormatStylistTemplateCreate @@ -299,10 +282,10 @@ testcase tFormatStylistTemplateCreate zaehler=Ansicht.getItemCount i=0 do - inc i + inc i loop while ((Ansicht.getItemText(i) <> "ATesttool") AND (i <= zaehler)) if i>zaehler then - warnlog " error" + warnlog " error" endif Ansicht.Select i sleep 1 @@ -317,10 +300,8 @@ testcase tFormatStylistTemplateCreate sleep 1 Kontext "DocumentDraw" gMouseClick 90,90 - sleep 1 - Call hCloseDocument - sleep 1 - + hFileCloseAll() + endcase 'tFormatStylistTemplateCreate '-------------------------------------------------------- testcase tFormatStylistTemplateSelect @@ -400,7 +381,7 @@ testcase tFormatStylistTemplateSelect TabArea.OK sleep 2 hCloseDocument - + endcase 'tFormatStylistTemplateSelect '--------------------------------------------------------- testcase tFormatStylistTemplateNew @@ -484,14 +465,14 @@ testcase tFormatStylistTemplateNew Vorlagenliste.TypeKeys "" i = 0 do - inc i - sTemp = Vorlagenliste.GetText - Vorlagenliste.TypeKeys "" + inc i + sTemp = Vorlagenliste.GetText + Vorlagenliste.TypeKeys "" loop while (("Testtool" <> sTemp) AND (i<20)) Vorlagenliste.TypeKeys "" Kontext "Gestalter" Gestalter.Close - + Printlog " - check template" FormatCharacter Kontext @@ -677,8 +658,8 @@ testcase tiFormatStylist sleep 1 Kontext "Gestalter" if Gestalter.Exists Then Warnlog "- Stylist could not be closed pressing F11" - Call hCloseDocument - + Call hCloseDocument + endcase 'tiFormatStylist '--------------------------------------------------------- sub hWalkTheStyles (optional a as integer,optional b as integer) @@ -686,115 +667,115 @@ sub hWalkTheStyles (optional a as integer,optional b as integer) dim i as integer if isMissing (a) then a=1 - if isMissing (b) then b=2 - i=1 - if a <= i AND i <= b then - Kontext - Messagebox.SetPage TabLinie - kontext "TabLinie" - Call DialogTest ( TabLinie ) - Kontext - Messagebox.SetPage TabArea - kontext "TabArea" - Call DialogTest ( TabArea, 1 ) - FillOptions.Select 1 ' NoFill.Check - Call DialogTest ( TabArea, 1 ) - FillOptions.Select 2 - Call DialogTest ( TabArea, 2 ) - FillOptions.Select 3 - Call DialogTest ( TabArea, 3 ) - FillOptions.Select 4 - Call DialogTest ( TabArea, 4 ) - FillOptions.Select 5 - Call DialogTest ( TabArea, 5 ) - Kontext - Messagebox.SetPage TabSchatten - kontext "TabSchatten" - Anzeigen.check - Call DialogTest ( TabSchatten ) - Kontext - Messagebox.SetPage TabTransparenz - kontext "TabTransparenz" - KeineTransparenz.Check - LineareTransparenz.Check - Transparenzverlauf.Check - Kontext - Messagebox.SetPage TabFont - kontext "TabFont" - Call DialogTest ( TabFont ) - Kontext - Messagebox.SetPage TabFontEffects - kontext "TabFontEffects" - Kontext - Messagebox.SetPage TabEinzuegeUndAbstaende - kontext "TabEinzuegeUndAbstaende" - Call DialogTest ( TabEinzuegeUndAbstaende ) - endif - i=2 - if a <= i AND i <= b then - Kontext - Messagebox.SetPage TabVerwalten - kontext "TabVerwalten" - Call DialogTest ( TabVerwalten ) - Kontext - Messagebox.SetPage TabText - Kontext "TabText" - Call DialogTest ( TabText ) - Kontext - Messagebox.SetPage TabLauftext - Kontext "TabLauftext" - Call DialogTest ( TabLauftext ) - Kontext - Messagebox.SetPage TabBemassung - Kontext "TabBemassung" - Call DialogTest ( TabBemassung ) - Kontext - Messagebox.setpage TabVerbinder - Kontext "TabVerbinder" - Call Dialogtest ( TabVerbinder ) - Kontext - Messagebox.setpage TabAusrichtungAbsatz - Kontext "TabAusrichtungAbsatz" - Links.Check - Rechts.Check - Zentriert.Check - Blocksatz.Check - Kontext - Messagebox.setpage TabTabulator - Kontext "TabTabulator" - Neu.click - AlleLoeschen.click - Neu.click - Loeschen.click - endif - i=3 - if a <= i AND i <= b then - Kontext - Messagebox.SetPage TabBullet - Kontext "TabBullet" - sleep 1 - Call DialogTest (TabBullet) - sleep 1 - Kontext - Messagebox.SetPage TabNumerierungsart - Kontext "TabNumerierungsart" - sleep 1 - Call DialogTest (TabNumerierungsart) - sleep 1 - Kontext - Messagebox.SetPage TabGrafiken - Kontext "TabGrafiken" - sleep 1 - Call DialogTest (TabGrafiken) - sleep 1 - Kontext - Messagebox.SetPage TabOptionenNumerierung - Kontext "TabOptionenNumerierung" - sleep 1 - Call DialogTest (TabOptionenNumerierung) - sleep 1 - endif - + if isMissing (b) then b=2 + i=1 + if a <= i AND i <= b then + Kontext + Messagebox.SetPage TabLinie + kontext "TabLinie" + Call DialogTest ( TabLinie ) + Kontext + Messagebox.SetPage TabArea + kontext "TabArea" + Call DialogTest ( TabArea, 1 ) + FillOptions.Select 1 ' NoFill.Check + Call DialogTest ( TabArea, 1 ) + FillOptions.Select 2 + Call DialogTest ( TabArea, 2 ) + FillOptions.Select 3 + Call DialogTest ( TabArea, 3 ) + FillOptions.Select 4 + Call DialogTest ( TabArea, 4 ) + FillOptions.Select 5 + Call DialogTest ( TabArea, 5 ) + Kontext + Messagebox.SetPage TabSchatten + kontext "TabSchatten" + Anzeigen.check + Call DialogTest ( TabSchatten ) + Kontext + Messagebox.SetPage TabTransparenz + kontext "TabTransparenz" + KeineTransparenz.Check + LineareTransparenz.Check + Transparenzverlauf.Check + Kontext + Messagebox.SetPage TabFont + kontext "TabFont" + Call DialogTest ( TabFont ) + Kontext + Messagebox.SetPage TabFontEffects + kontext "TabFontEffects" + Kontext + Messagebox.SetPage TabEinzuegeUndAbstaende + kontext "TabEinzuegeUndAbstaende" + Call DialogTest ( TabEinzuegeUndAbstaende ) + endif + i=2 + if a <= i AND i <= b then + Kontext + Messagebox.SetPage TabVerwalten + kontext "TabVerwalten" + Call DialogTest ( TabVerwalten ) + Kontext + Messagebox.SetPage TabText + Kontext "TabText" + Call DialogTest ( TabText ) + Kontext + Messagebox.SetPage TabLauftext + Kontext "TabLauftext" + Call DialogTest ( TabLauftext ) + Kontext + Messagebox.SetPage TabBemassung + Kontext "TabBemassung" + Call DialogTest ( TabBemassung ) + Kontext + Messagebox.setpage TabVerbinder + Kontext "TabVerbinder" + Call Dialogtest ( TabVerbinder ) + Kontext + Messagebox.setpage TabAusrichtungAbsatz + Kontext "TabAusrichtungAbsatz" + Links.Check + Rechts.Check + Zentriert.Check + Blocksatz.Check + Kontext + Messagebox.setpage TabTabulator + Kontext "TabTabulator" + Neu.click + AlleLoeschen.click + Neu.click + Loeschen.click + endif + i=3 + if a <= i AND i <= b then + Kontext + Messagebox.SetPage TabBullet + Kontext "TabBullet" + sleep 1 + Call DialogTest (TabBullet) + sleep 1 + Kontext + Messagebox.SetPage TabNumerierungsart + Kontext "TabNumerierungsart" + sleep 1 + Call DialogTest (TabNumerierungsart) + sleep 1 + Kontext + Messagebox.SetPage TabGrafiken + Kontext "TabGrafiken" + sleep 1 + Call DialogTest (TabGrafiken) + sleep 1 + Kontext + Messagebox.SetPage TabOptionenNumerierung + Kontext "TabOptionenNumerierung" + sleep 1 + Call DialogTest (TabOptionenNumerierung) + sleep 1 + endif + end sub 'hWalkTheStyles '--------------------------------------------------------- testcase tFormatStylist @@ -889,7 +870,7 @@ testcase tFormatStylist endif endif Call hCloseDocument - + endcase 'tFormatStylist '-------------------------------------------------------- function hSelectInList (window, sEntry as String) as Boolean @@ -901,16 +882,16 @@ function hSelectInList (window, sEntry as String) as Boolean window.TypeKeys "" sTemp = "" do - sLastTemp = sTemp - sTemp = window.GetText - window.TypeKeys "" -loop while ((sEntry <> sTemp) AND (sLastTemp <> sTemp)) -if (sEntry = sTemp) then - window.TypeKeys "" - hSelectInList = TRUE -else - hSelectInList = FALSE -endif + sLastTemp = sTemp + sTemp = window.GetText + window.TypeKeys "" + loop while ((sEntry <> sTemp) AND (sLastTemp <> sTemp)) + if (sEntry = sTemp) then + window.TypeKeys "" + hSelectInList = TRUE + else + hSelectInList = FALSE + endif end function 'hSelectInList '--------------------------------------------------------- -- cgit From ee09a815bea068e8b8cbefbf9786bae1c18875c8 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 12:40:46 +0200 Subject: vitomation01: #i109696 - g_tables.inc: removed unnecessary ucase( gApplication ) statements. gApplication is uppercase, always. Added warnlog for dialogs that refuse to open. Handled test abort when asian support is enabled (Control does not exist then). --- .../graphics/optional/includes/global/g_tables.inc | 79 ++++++++++++++-------- 1 file changed, 50 insertions(+), 29 deletions(-) mode change 100644 => 100755 testautomation/graphics/optional/includes/global/g_tables.inc diff --git a/testautomation/graphics/optional/includes/global/g_tables.inc b/testautomation/graphics/optional/includes/global/g_tables.inc old mode 100644 new mode 100755 index 2ffff217ba72..173ef2d539be --- a/testautomation/graphics/optional/includes/global/g_tables.inc +++ b/testautomation/graphics/optional/includes/global/g_tables.inc @@ -29,13 +29,6 @@ '* '* short description : Testing of impress tables '* -'******************************************************************* -'* -' #1 tiInsertTableUsingMenu -' #1 tiInsertTableUsingButton -' #1 tiTableObjectBar -' #1 tiInsertTableUsingToolbarbuttonView -'* '\****************************************************************** 'Variables: @@ -50,7 +43,7 @@ testcase tiInsertTableUsingMenu printlog "Inserting table into doc using the menu." Call hNewDocument printlog "Switching between Draw/Impress" - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then DocumentImpress.UseMenu hMenuSelectNr(4) hMenuSelectNr(14) @@ -213,7 +206,7 @@ testcase tiTableObjectBar printlog "Inserting table into doc using the menu." Call hNewDocument printlog "Switching between Draw/Impress" - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then DocumentImpress.UseMenu hMenuSelectNr(4) hMenuSelectNr(14) @@ -229,7 +222,7 @@ testcase tiTableObjectBar printlog "Selecting table for geeting the TableObjectBar." printlog "Switching between Draw/Impress" - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" )then Kontext "DocumentImpress" DocumentImpress.TypeKeys "" else @@ -258,7 +251,7 @@ testcase tiTableObjectBar Kontext "TableObjectBar" TableObjectBar.Close - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then Kontext "DocumentImpress" else Kontext "DocumentDraw" @@ -278,7 +271,7 @@ testcase tiTableObjectBar endif Kontext "TableObjectBar" TableObjectBar.Close - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then Kontext "DocumentImpress" else Kontext "DocumentDraw" @@ -295,7 +288,7 @@ testcase tiTableObjectBar else warnlog "BordersTB is not up!" endif - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then Kontext "DocumentImpress" else Kontext "DocumentDraw" @@ -303,7 +296,7 @@ testcase tiTableObjectBar printlog "Checking merge cells." printlog "Inserting something into cell and select." - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then DocumentImpress.TypeKeys ("a") DocumentImpress.TypeKeys "" else @@ -319,22 +312,36 @@ testcase tiTableObjectBar ZelleTeilen.Click printlog "Cells split." Kontext "ZellenTeilen" - WaitSlot(1000) - printlog "SplitCells dialog open." - Anzahl.ToMax - printlog "Maximum SplitCellCount is " & Anzahl.GetText & "." - Anzahl.ToMin - printlog "Minimum SplitCellCount is " & Anzahl.GetText & "." - if Horizontal.IsChecked = TRUE then - printlog "Horizontally is clicked." + if ( ZellenTeilen.exists( 2 ) ) then + + printlog "SplitCells dialog open." + + printlog( "Set number to maximum" ) + Anzahl.ToMax + printlog "Maximum SplitCellCount is " & Anzahl.GetText & "." + + printlog( "Set number to minimum" ) + Anzahl.ToMin + printlog "Minimum SplitCellCount is " & Anzahl.GetText & "." + + printlog( " should be checked" ) + if ( Horizontal.IsChecked ) then + printlog "Horizontally is clicked." + else + warnlog "Horizontally should be clicked by default!" + endif + + printlog( "Distribute/Split equally" ) + GleichmaessigTeilen.Check + + printlog( "Check " ) + Vertikal.Check + + printlog( "Close dialog " ) + hCloseDialog( ZellenTeilen, "close" ) else - warnlog "Horizontally should be clicked by default!" + warnlog( "Dialog did not open" ) endif - GleichmaessigTeilen.Check - printlog "Split Equal checked." - Vertikal.Check - printlog "Cells vertically checked." - ZellenTeilen.OK printlog " Checking optimize button 'ToDo: button not working" 'Kontext "TableObjectBar" 'Optimieren.TearOff @@ -364,7 +371,7 @@ testcase tiTableObjectBar tabledesign.Click printlog "Checking for Table Design in Impress TaskBar or for Dialog in Draw." - if (UCase(gApplication)) = "IMPRESS" then + if ( gApplication = "IMPRESS" ) then kontext "Tasks" if (NOT Tasks.exists) then warnlog "Tasks Panel not visible. Opening now." @@ -395,6 +402,20 @@ testcase tiTableObjectBar kontext "TabFont" printlog "Checking Fonts Box." + + if ( Font.exists() ) then + printlog( "Western dialog layout -> good" ) + else + if ( FontWest.exists() ) then + warnlog( " exists, asian support is enabled which this test cannot handle" ) + else + warnlog( "Unknown error while trying to access listbox" ) + endif + hCloseDialog( TabFont, "close" ) + hFileCloseAll() + goto endsub + endif + iItemCount = Font.GetItemCount printlog "Fontbox has " & iItemCount & " entries." for iItemIndex = 1 to iItemCount -- cgit From 54769eeee230ea85545e7863a38f383c18185074 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 13:04:51 +0200 Subject: vitomation01: #i109696 - g_tables.inc: Use Wait( 1000 ) --- testautomation/graphics/optional/includes/global/g_tables.inc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/g_tables.inc b/testautomation/graphics/optional/includes/global/g_tables.inc index 173ef2d539be..f08e101b4838 100755 --- a/testautomation/graphics/optional/includes/global/g_tables.inc +++ b/testautomation/graphics/optional/includes/global/g_tables.inc @@ -305,12 +305,15 @@ testcase tiTableObjectBar endif Kontext "TableObjectBar" if TableObjectBar.NotExists(2) then ViewToolbarsTable + + printlog( "Merge cells" ) + Wait( 1000 ) ZellenVerbinden.Click - printlog "Cells merged." - printlog "Checking split cells." + printlog( "Split cells" ) + Wait( 1000 ) ZelleTeilen.Click - printlog "Cells split." + Kontext "ZellenTeilen" if ( ZellenTeilen.exists( 2 ) ) then -- cgit From 2879645a06b4669802e745295d3245afd3d56919 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 14:42:20 +0200 Subject: vitomation01: #i109696 - two more slots added --- testautomation/global/tools/includes/required/t_tools3.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index ac3b5eafb331..d598572209b9 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1068,6 +1068,7 @@ function hUseAsyncSlot( cSlot as string ) as integer case "formatpagewriter" : FormatPageWriter case "formatautoformatapply" : FormatAutoformatApply + case "insertslide" : InsertSlide case "insertfieldsother" : InsertFieldsOther case "insertgraphicsfromfile" : InsertGraphicsFromFile case "insertindexesbibliographyentry" : InsertIndexesBibliographyEntry @@ -1082,6 +1083,7 @@ function hUseAsyncSlot( cSlot as string ) as integer case "toolslanguagehangulhanjaconversion" : ToolsLanguageHangulHanjaConversion case "viewzoom" : ViewZoom + case "viewnormal" : ViewNormal case else : warnlog( "Unknown slot called: " & cSlot ) end select -- cgit From bebcbf216cb56321fc54c01a6c0ef38a583081a4 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 26 May 2010 15:52:41 +0200 Subject: vitomation01: #i109696 - The test (i_us_presentation.bas) had problems accessing one control. Refactored large parts of the code to avoid random test interruptions but used aggressive timings, might need further adjusting --- .../optional/includes/impress/i_us2_present.inc | 531 ++++++++------- .../optional/includes/impress/i_us_present.inc | 736 ++++++++++----------- 2 files changed, 604 insertions(+), 663 deletions(-) mode change 100755 => 100644 testautomation/graphics/optional/includes/impress/i_us_present.inc diff --git a/testautomation/graphics/optional/includes/impress/i_us2_present.inc b/testautomation/graphics/optional/includes/impress/i_us2_present.inc index a1c7ab18acb6..8f8c79a06553 100644 --- a/testautomation/graphics/optional/includes/impress/i_us2_present.inc +++ b/testautomation/graphics/optional/includes/impress/i_us2_present.inc @@ -29,9 +29,6 @@ '* '* short description : Impress User-Scenario: Beginner makes presentation. '* -'*************************************************************************** -' #1 i_us2_pres1 -' #1 i_us2_pres2 '\************************************************************************** testcase i_us2_pres1 @@ -43,222 +40,222 @@ testcase i_us2_pres1 kontext "DocumentImpress" printlog "New - Wizard - Presentation." FileAutopilotPresentation - printlog "Called File-Autopilot-Presentation." - printlog "Create from Template" - kontext "AutoPilotPraesentation1" - FromTemplate.Check - 'This part is for language-indepencancy - if gOOO = TRUE then - TemplateRegion.Select (1) - printlog "Choose a Presentation" - TemplateList.Select (2) - else - TemplateRegion.Select (1) - if TemplateList.GetItemCount < 40 then + printlog "Called File-Autopilot-Presentation." + printlog "Create from Template" + kontext "AutoPilotPraesentation1" + FromTemplate.Check + 'This part is for language-indepencancy + if gOOO = TRUE then + TemplateRegion.Select (1) + printlog "Choose a Presentation" + TemplateList.Select (2) + else + TemplateRegion.Select (1) + if TemplateList.GetItemCount < 40 then TemplateRegion.Select (2) if TemplateList.GetItemCount < 40 then - TemplateRegion.Select (3) - if TemplateList.GetItemCount < 40 then - Warnlog " No Templates selectable in the wizard. Please check." - goto endsub - endif + TemplateRegion.Select (3) + if TemplateList.GetItemCount < 40 then + Warnlog " No Templates selectable in the wizard. Please check." + goto endsub + endif endif - endif - printlog "Choose a Presentation" - TemplateList.Select (4) - endif - printlog "Next" - Nextbutton.Click - sleep (1) - Backbutton.Click - sleep (1) - Nextbutton.Click + endif + printlog "Choose a Presentation" + TemplateList.Select (4) + endif + printlog "Next" + Nextbutton.Click + sleep (1) + Backbutton.Click + sleep (1) + Nextbutton.Click - printlog " Switched to the second Wizard-page." - sleep (1) - printlog "Presentations" - kontext "AutoPilotPraesentation2" - printlog "Output: Screen" - if gOOO = TRUE then 'OpenOffice.org - Background.Select (2) - if Backgroundchoice.GetItemCount < 2 then + printlog " Switched to the second Wizard-page." + sleep (1) + printlog "Presentations" + kontext "AutoPilotPraesentation2" + printlog "Output: Screen" + if gOOO = TRUE then 'OpenOffice.org + Background.Select (2) + if Backgroundchoice.GetItemCount < 2 then Background.Select (1) if Backgroundchoice.GetItemCount = 0 then - Warnlog " No Backgrounds selectable in the wizard. Please check." - goto endsub + Warnlog " No Backgrounds selectable in the wizard. Please check." + goto endsub endif - endif - Backgroundchoice.Select (2) - else 'StarOffice - Background.Select (3) - if Backgroundchoice.GetItemCount < 10 then + endif + Backgroundchoice.Select (2) + else 'StarOffice + Background.Select (3) + if Backgroundchoice.GetItemCount < 10 then Background.Select (2) if Backgroundchoice.GetItemCount < 10 then - Background.Select (3) - if Backgroundchoice.GetItemCount < 10 then - Warnlog " No Backgrounds selectable in the wizard. Please check." - goto endsub - endif + Background.Select (3) + if Backgroundchoice.GetItemCount < 10 then + Warnlog " No Backgrounds selectable in the wizard. Please check." + goto endsub + endif endif - endif - Backgroundchoice.Select (5) - endif - Screen.Check - printlog "Next" - Nextbutton.Click + endif + Backgroundchoice.Select (5) + endif + Screen.Check + printlog "Next" + Nextbutton.Click - printlog " Switched to the third Wizard-page." - sleep (1) - kontext "AutoPilotPraesentation3" - printlog "Random Effect. Random Speed. Click through every choice." - Effect.Select (15) - Speed.Select (3) - WaitSlot (5000) - Automatic.Check - Timebutton.SetText "00:00:15" - Break.SetText "00:00:20" - Logo.Check - printlog "Next" - Nextbutton.Click + printlog " Switched to the third Wizard-page." + sleep (1) + kontext "AutoPilotPraesentation3" + printlog "Random Effect. Random Speed. Click through every choice." + Effect.Select (15) + Speed.Select (3) + WaitSlot (5000) + Automatic.Check + Timebutton.SetText "00:00:15" + Break.SetText "00:00:20" + Logo.Check + printlog "Next" + Nextbutton.Click - printlog " Switched to the fourth Wizard-page." - sleep (1) - kontext "AutoPilotPraesentation4" - printlog "Fill in some company-name-subject-text" - AddName.SetText "Lala1" - AddTopic.SetText "Lala2" - Askinformation.SetText "Lala3" - printlog "Next" - Nextbutton.Click - printlog " Switched to the fifth Wizard-page." - sleep (1) - kontext "AutoPilotPraesentation5" - Summary.Check - printlog "Create" - WaitSlot (2000) - AutoPilotPraesentation5.OK + printlog " Switched to the fourth Wizard-page." + sleep (1) + kontext "AutoPilotPraesentation4" + printlog "Fill in some company-name-subject-text" + AddName.SetText "Lala1" + AddTopic.SetText "Lala2" + Askinformation.SetText "Lala3" + printlog "Next" + Nextbutton.Click + printlog " Switched to the fifth Wizard-page." + sleep (1) + kontext "AutoPilotPraesentation5" + Summary.Check + printlog "Create" + WaitSlot (2000) + AutoPilotPraesentation5.OK - sleep (1) - printlog " Pressed 'Create'." - printlog "Add a Slide via Insert - Slide." - Kontext "DocumentImpress" - hTypeKeys "What we will talk about" - gMouseClick 1,1 - Kontext "DocumentImpress" - DocumentImpress.UseMenu - hMenuSelectNr (4) - hMenuSelectNr (1) - sleep (1) + sleep (1) + printlog " Pressed 'Create'." + printlog "Add a Slide via Insert - Slide." + Kontext "DocumentImpress" + hTypeKeys "What we will talk about" + gMouseClick 1,1 + Kontext "DocumentImpress" + DocumentImpress.UseMenu + hMenuSelectNr (4) + hMenuSelectNr (1) + sleep (1) - kontext "Slides" - SlidesControl.TypeKeys "" - kontext "DocumentImpress" - DocumentImpress.TypeKeys "Text we just wrote..." - printlog "Switch to the second slide." - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - kontext "DocumentImpress" - printlog "Insert three lines with text, all with different formatting." - call hTextrahmenErstellen ("First line with text",20,50,70,50) - call hTextrahmenErstellen ("Second line with text",20,60,70,60) - call hTextrahmenErstellen ("Third line with text",20,70,70,70) - printlog "Go down to the eleventh slide." - kontext "Slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "", 10 - SlidesControl.TypeKeys "" - printlog "Insert Smiley, + two circles around the eyes, + two new pupils," - printlog "placed at some interesteing place inside the circles." - Kontext "Toolbar" - SymbolShapes.TearOff - sleep (1) - kontext "SymbolShapes" - SymbolShapesSmiley.Click - sleep (1) - kontext "DrawingObjectbar" - AreaFilling.TypeKeys "" - AreaFilling.TypeKeys "", 10 - printlog "Select (11) 'Lime-Green" - AreaFilling.TypeKeys "" - sleep (1) - gMouseMove (53,50,90,80) - Kontext "Toolbar" - Ellipsen.Click - kontext "SymbolShapes" - SymbolShapes.Close - Kontext "DocumentImpress" - gMouseMove (60,43,70,65) - hTypeKeys "" - Kontext "Toolbar" - Ellipsen.Click - gMouseMove (65,57,69,63) - hTypeKeys "" - Kontext "Toolbar" - Ellipsen.Click - gMouseMove (70,50,82,65) - hTypeKeys "" - Kontext "Toolbar" - Ellipsen.Click - gMouseMove (77,57,80,63) - hTypeKeys "" - sleep (1) + kontext "Slides" + SlidesControl.TypeKeys "" + kontext "DocumentImpress" + DocumentImpress.TypeKeys "Text we just wrote..." + printlog "Switch to the second slide." + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "" + kontext "DocumentImpress" + printlog "Insert three lines with text, all with different formatting." + call hTextrahmenErstellen ("First line with text",20,50,70,50) + call hTextrahmenErstellen ("Second line with text",20,60,70,60) + call hTextrahmenErstellen ("Third line with text",20,70,70,70) + printlog "Go down to the eleventh slide." + kontext "Slides" + SlidesControl.TypeKeys "" + SlidesControl.TypeKeys "", 10 + SlidesControl.TypeKeys "" + printlog "Insert Smiley, + two circles around the eyes, + two new pupils," + printlog "placed at some interesteing place inside the circles." + Kontext "Toolbar" + SymbolShapes.TearOff + sleep (1) + kontext "SymbolShapes" + SymbolShapesSmiley.Click + sleep (1) + kontext "DrawingObjectbar" + AreaFilling.TypeKeys "" + AreaFilling.TypeKeys "", 10 + printlog "Select (11) 'Lime-Green" + AreaFilling.TypeKeys "" + sleep (1) + gMouseMove (53,50,90,80) + Kontext "Toolbar" + Ellipsen.Click + kontext "SymbolShapes" + SymbolShapes.Close + Kontext "DocumentImpress" + gMouseMove (60,43,70,65) + hTypeKeys "" + Kontext "Toolbar" + Ellipsen.Click + gMouseMove (65,57,69,63) + hTypeKeys "" + Kontext "Toolbar" + Ellipsen.Click + gMouseMove (70,50,82,65) + hTypeKeys "" + Kontext "Toolbar" + Ellipsen.Click + gMouseMove (77,57,80,63) + hTypeKeys "" + sleep (1) - printlog "Insert new slide." - kontext "Slides" - printlog "get to the last slide." - SlidesControl.TypeKeys "", 15 - SlidesControl.TypeKeys "" - printlog "Delete the two fields the stylist has." - kontext "DocumentImpress" - gMouseClick 1,1 - EditSelectAll - DocumentImpress.TypeKeys "" - printlog "Insert-Picture-From File. (some crazy picture which fits the theme)" - InsertGraphicsFromFile - Kontext "GrafikEinfuegenDlg" - printlog "Open graphic" - Dateiname.SetText ConvertPath (gTesttoolPath + "global\input\graf_inp\ball.eps") - Oeffnen.Click - gMouseClick 1,1 - printlog "Add a text above the picture. 'There is movement..." - call hTextrahmenErstellen ("There is movement...",20,20,70,30) + printlog "Insert new slide." + kontext "Slides" + printlog "get to the last slide." + SlidesControl.TypeKeys "", 15 + SlidesControl.TypeKeys "" + printlog "Delete the two fields the stylist has." + kontext "DocumentImpress" + gMouseClick 1,1 + EditSelectAll + DocumentImpress.TypeKeys "" + printlog "Insert-Picture-From File. (some crazy picture which fits the theme)" + InsertGraphicsFromFile + Kontext "GrafikEinfuegenDlg" + printlog "Open graphic" + Dateiname.SetText ConvertPath (gTesttoolPath + "global\input\graf_inp\ball.eps") + Oeffnen.Click + gMouseClick 1,1 + printlog "Add a text above the picture. 'There is movement..." + call hTextrahmenErstellen ("There is movement...",20,20,70,30) - printlog "Add a new slide." - InsertSlide - printlog " Inserted new slide." - kontext "DocumentImpress" - EditSelectAll - DocumentImpress.TypeKeys "" - printlog "Bla bla about everything..." - call hTextrahmenErstellen ("Bla bla about everything...",20,20,70,30) + printlog "Add a new slide." + InsertSlide + printlog " Inserted new slide." + kontext "DocumentImpress" + EditSelectAll + DocumentImpress.TypeKeys "" + printlog "Bla bla about everything..." + call hTextrahmenErstellen ("Bla bla about everything...",20,20,70,30) - printlog "Add a new slide." - InsertSlide - printlog " Inserted new slide." - kontext "DocumentImpress" - EditSelectAll - DocumentImpress.TypeKeys "" - printlog "Write text: Q & A" - call hTextrahmenErstellen ("Q & A",20,20,70,30) - DocumentImpress.TypeKeys "" - sleep (1) + printlog "Add a new slide." + InsertSlide + printlog " Inserted new slide." + kontext "DocumentImpress" + EditSelectAll + DocumentImpress.TypeKeys "" + printlog "Write text: Q & A" + call hTextrahmenErstellen ("Q & A",20,20,70,30) + DocumentImpress.TypeKeys "" + sleep (1) - printlog "Add a new slide." - InsertSlide - kontext "DocumentImpress" - EditSelectAll - DocumentImpress.TypeKeys "" - printlog "Thanks for listening, time for coffee... (ending)" - call hTextrahmenErstellen ("Class dismissed...",20,20,70,30) + printlog "Add a new slide." + InsertSlide + kontext "DocumentImpress" + EditSelectAll + DocumentImpress.TypeKeys "" + printlog "Thanks for listening, time for coffee... (ending)" + call hTextrahmenErstellen ("Class dismissed...",20,20,70,30) - printlog "Save Document" - call hFileSaveAsKill (PresentationFile1) - printlog "OK saved at ", PresentationFile1 - sleep (1) + printlog "Save Document" + call hFileSaveAsKill (PresentationFile1) + printlog "OK saved at ", PresentationFile1 + sleep (1) - printlog "Close Document" - Call hCloseDocument + printlog "Close Document" + Call hCloseDocument endcase 'i_us2_pres1 '------------------------------------------------------------------------------ @@ -266,74 +263,74 @@ endcase 'i_us2_pres1 testcase i_us2_pres2 qaerrorlog "not yet ready." goto endsub - dim Result1, Result2 as integer - dim iPictures as integer - dim PresentationFile1, PresentationFile2, PresentationFileToBeLoaded as string - PresentationFile1 = (ConvertPath (gTesttoolPath + "graphics\required\input\rightfont.odp")) - PresentationFile2 = (ConvertPath (gOfficePath + "user\work\xxxxxx9.odp")) - kontext "DocumentImpress" - printlog "New - Wizard - Presentation" - FileAutopilotPresentation - printlog " Called File-Autopilot-Presentation." - printlog "Create from Template" - kontext "AutoPilotPraesentation1" - EmptyPresentation.Check - AutoPilotPraesentation1.TypeKeys "" - sleep (3) - AutoPilotPraesentation1.TypeKeys "" - if Existingpresentation.IsChecked(5) then - printlog " Pressing down worked fine" - else - warnlog " Pressing down didnt work as expected." - endif - printlog "Click the Open-button" - ExistingOpen.Click - printlog "Check if the Open-dialogue is there" - kontext "GeneralFileDialog" - if GeneralFileDialog.Exists(10) = FALSE then - warnlog " Open-file-dialogue didnt show up." - else - GeneralFileDialog.Cancel - endif - sleep (3) - kontext "AutoPilotPraesentation1" - AutoPilotPraesentation1.TypeKeys "" - AutoPilotPraesentation1.TypeKeys "" - AutoPilotPraesentation1.TypeKeys "" - AutoPilotPraesentation1.TypeKeys "" - sleep (1) - Existinglist.TypeKeys "" - sleep (1) - Existinglist.TypeKeys "" - sleep (3) - if Existinglist.GetSelText = "" then - Warnlog " No entries in the recently-opened-files-list. Check if it's correct." - else - PresentationFileToBeLoaded = Existinglist.GetSelText - AutoPilotPraesentation1.OK - endif + dim Result1, Result2 as integer + dim iPictures as integer + dim PresentationFile1, PresentationFile2, PresentationFileToBeLoaded as string + PresentationFile1 = (ConvertPath (gTesttoolPath + "graphics\required\input\rightfont.odp")) + PresentationFile2 = (ConvertPath (gOfficePath + "user\work\xxxxxx9.odp")) + kontext "DocumentImpress" + printlog "New - Wizard - Presentation" + FileAutopilotPresentation + printlog " Called File-Autopilot-Presentation." + printlog "Create from Template" + kontext "AutoPilotPraesentation1" + EmptyPresentation.Check + AutoPilotPraesentation1.TypeKeys "" + sleep (3) + AutoPilotPraesentation1.TypeKeys "" + if Existingpresentation.IsChecked(5) then + printlog " Pressing down worked fine" + else + warnlog " Pressing down didnt work as expected." + endif + printlog "Click the Open-button" + ExistingOpen.Click + printlog "Check if the Open-dialogue is there" + kontext "GeneralFileDialog" + if GeneralFileDialog.Exists(10) = FALSE then + warnlog " Open-file-dialogue didnt show up." + else + GeneralFileDialog.Cancel + endif + sleep (3) + kontext "AutoPilotPraesentation1" + AutoPilotPraesentation1.TypeKeys "" + AutoPilotPraesentation1.TypeKeys "" + AutoPilotPraesentation1.TypeKeys "" + AutoPilotPraesentation1.TypeKeys "" + sleep (1) + Existinglist.TypeKeys "" + sleep (1) + Existinglist.TypeKeys "" + sleep (3) + if Existinglist.GetSelText = "" then + Warnlog " No entries in the recently-opened-files-list. Check if it's correct." + else + PresentationFileToBeLoaded = Existinglist.GetSelText + AutoPilotPraesentation1.OK + endif - kontext "DocumentImpress" - if DocumentImpress.Exists(10) = FALSE then - if DocumentImpress.StatusIsProgress = FALSE then - sleep (10) - if DocumentImpress.StatusIsProgress then - warnlog " Took over 20 seconds to load the document Document: " + PresentationFileToBeLoaded + ". Stalled?" - endif - goto endsub - endif - else - printlog " Document " + PresentationFileToBeLoaded + " seemed to have been loaded correctly." - endif - sleep (3) - if DocumentImpress.StatusIsProgress then - sleep (5) - endif - printlog "Save Document" - call hFileSaveAsKill (PresentationFile2) - printlog "OK saved at ", PresentationFile2 - sleep (1) + kontext "DocumentImpress" + if DocumentImpress.Exists(10) = FALSE then + if DocumentImpress.StatusIsProgress = FALSE then + sleep (10) + if DocumentImpress.StatusIsProgress then + warnlog " Took over 20 seconds to load the document Document: " + PresentationFileToBeLoaded + ". Stalled?" + endif + goto endsub + endif + else + printlog " Document " + PresentationFileToBeLoaded + " seemed to have been loaded correctly." + endif + sleep (3) + if DocumentImpress.StatusIsProgress then + sleep (5) + endif + printlog "Save Document" + call hFileSaveAsKill (PresentationFile2) + printlog "OK saved at ", PresentationFile2 + sleep (1) - printlog "Close Document" - Call hCloseDocument + printlog "Close Document" + Call hCloseDocument endcase 'i_us2_pres2 diff --git a/testautomation/graphics/optional/includes/impress/i_us_present.inc b/testautomation/graphics/optional/includes/impress/i_us_present.inc old mode 100755 new mode 100644 index d161ab4f9de2..69de62815f56 --- a/testautomation/graphics/optional/includes/impress/i_us_present.inc +++ b/testautomation/graphics/optional/includes/impress/i_us_present.inc @@ -29,178 +29,179 @@ '* '* short description : Include-file for impress User-Scenario: Presentation. '* -'*************************************************************************** -' #1 i_us_presentation1 -' #1 i_us_presentation2 -' #1 i_us_presentation3 -' #1 i_us_presentation4 -' #1 i_us_presentation5 -' #1 i_us_presentation6 -' #1 i_us_presentation7 '\******************************************************************** testcase i_us_presentation1 + dim iPictures as integer dim PresentationFile1 as string - PresentationFile1 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes1.odp"))) + + PresentationFile1 = ConvertPath( gOfficePath + "user\work\PowerPes1.odp" ) + printlog "New impress document" Call hNewDocument - WaitSlot (2000) - kontext "DocumentImpress" - - printlog "Add second Master-Page" - ViewMasterPage - kontext "Slides" - SlidesControl.OpenContextMenu(true) - sleep (2) - MenuSelect(MenuGetItemID(1)) 'New Master - sleep (1) - printlog " Inserted second Master-Slide" - - printlog "Background: picture (Gallery)" - Kontext "Gallery" - if Gallery.Exists(2) then - warnlog " The Gallery was already visible. Check earlier ran tests for inconsistency." - sleep (2) - else - ToolsGallery - WaitSlot (2000) - end if - - if gOOO = TRUE then 'OpenOffice.org - select case iSprache - case 01 : iPictures = 1 'English - case else : iPictures = 1 'Unknown - warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache - end select - - else ' StarOffice... - select case iSprache - case 01 : iPictures = 21 'English - case 07 : iPictures = 28 'Russian - case 31 : iPictures = 04 'Netherlands - case 33 : iPictures = 22 'French - case 34 : iPictures = 12 'Spanish - case 36 : iPictures = 17 'Hungaria - case 39 : iPictures = 23 'Italian - case 46 : iPictures = 09 'Swedish - case 48 : iPictures = 20 'Polish - case 49 : iPictures = 11 'German - case 55 : iPictures = 16 'Portuguese - case 81 : iPictures = 22 'Japanese - case 82 : iPictures = 04 'Korean - case 86 : iPictures = 06 'Simplified - case 88 : iPictures = 17 'Traditional - case else : iPictures = 21 'Unknown - warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache - end select - end if - - kontext "Gallery" - Gallerys.Select (iPictures) - - View.TypeKeys "" - printlog "'OpenContextMenu" - View.TypeKeys "" - sleep (2) - MenuSelect(MenuGetItemID(1)) 'Insert - sleep (2) - MenuSelect(MenuGetItemID(1)) 'Copy - sleep (2) - printlog "Check that we really got a copy of the object " - kontext "DocumentImpress" - DocumentImpress.OpenContextMenu(true) - sleep (2) - MenuSelect 27353 - sleep (2) - Kontext "ExportierenDlg" - if ExportierenDlg.IsVisible(5) then - printlog " Gallery-object correctly copied into Slide." - ExportierenDlg.Close - else - warnlog " Doesn't seem like we copied anything from the Gallery... ?" - end if - kontext "GraphicObjectbar" - if GraphicObjectbar.Exists(5) = FALSE then - kontext "DocumentImpress" - ViewToolbarsPicture - end if - - printlog "50% Transparency" - WaitSlot (2000) - kontext "GraphicObjectbar" ' the one with Transparency - Transparenz.SetText "50" - sleep (1) - - printlog "Mosaic 16px x 16px" - Filter.TearOff - sleep (1) - kontext "GraphicFilterBar" - Mosaic.Click - WaitSlot (2000) - kontext "Mosaic" - Width.SetText "16" - Height.SetText "16" - Mosaic.OK - - kontext "GraphicFilterBar" - GraphicFilterBar.Close - - ToolsGallery - WaitSlot (1000) - kontext "DocumentImpress" - gMouseClick 50,50 + WaitSlot (2000) + kontext "DocumentImpress" + + printlog "Add second Master-Page" + ViewMasterPage + + kontext "Slides" + printlog " Insert second Master-Slide" + SlidesControl.OpenContextMenu(true) + sleep (2) + MenuSelect(MenuGetItemID(1)) 'New Master + + printlog "Background: picture (Gallery)" + Kontext "Gallery" + if Gallery.Exists(2) then + warnlog " The Gallery was already visible. Check earlier ran tests for inconsistency." + else + ToolsGallery + WaitSlot (2000) + end if + + if gOOO = TRUE then 'OpenOffice.org + select case iSprache + case 01 : iPictures = 1 'English + case else : iPictures = 1 'Unknown + warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache + end select + + else ' StarOffice... + select case iSprache + case 01 : iPictures = 21 'English + case 07 : iPictures = 28 'Russian + case 31 : iPictures = 04 'Netherlands + case 33 : iPictures = 22 'French + case 34 : iPictures = 12 'Spanish + case 36 : iPictures = 17 'Hungaria + case 39 : iPictures = 23 'Italian + case 46 : iPictures = 09 'Swedish + case 48 : iPictures = 20 'Polish + case 49 : iPictures = 11 'German + case 55 : iPictures = 16 'Portuguese + case 81 : iPictures = 22 'Japanese + case 82 : iPictures = 04 'Korean + case 86 : iPictures = 06 'Simplified + case 88 : iPictures = 17 'Traditional + case else : iPictures = 21 'Unknown + warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache + end select + end if + + kontext "Gallery" + Gallerys.Select (iPictures) + + View.TypeKeys "" + printlog "'OpenContextMenu" + View.TypeKeys "" + sleep (2) + MenuSelect(MenuGetItemID(1)) 'Insert + sleep (2) + MenuSelect(MenuGetItemID(1)) 'Copy + sleep (2) + printlog "Check that we really got a copy of the object " + kontext "DocumentImpress" + DocumentImpress.OpenContextMenu(true) + sleep (2) + MenuSelect 27353 + + Kontext "ExportierenDlg" + if ( ExportierenDlg.exists( 5 ) ) then + printlog " Gallery-object correctly copied into Slide." + ExportierenDlg.Close + else + warnlog " Doesn't seem like we copied anything from the Gallery... ?" + end if + + kontext "GraphicObjectbar" + if ( not GraphicObjectbar.Exists( 5 ) ) then + kontext "DocumentImpress" + ViewToolbarsPicture + WaitSlot( 2000 ) + end if + + printlog "50% Transparency" + kontext "GraphicObjectbar" ' the one with Transparency + Transparenz.SetText "50" + + printlog "Mosaic 16px x 16px" + Filter.TearOff sleep (1) - FormatPositionAndSize + + kontext "GraphicFilterBar" + Mosaic.Click + + kontext "Mosaic" + if ( Mosaic.exists( 2 ) ) then + Width.SetText "16" + Height.SetText "16" + Mosaic.OK + else + warnlog( "Dialog did not open" ) + endif + + kontext "GraphicFilterBar" + GraphicFilterBar.Close + + ToolsGallery WaitSlot (1000) + + kontext "DocumentImpress" + gMouseClick 50,50 + sleep (1) + + FormatPositionAndSize + kontext - active.setPage(TabPositionAndSize) - kontext "TabPositionAndSize" - Width.SetText "800" - Height.SetText "600" - SizePosition.TypeKeys "" - TabPositionAndSize.OK + if ( Active.exists( 2 ) ) then + active.setPage(TabPositionAndSize) + kontext "TabPositionAndSize" + Width.SetText "800" + Height.SetText "600" + SizePosition.TypeKeys "" + TabPositionAndSize.OK + else + warnlog( "Page did not open" ) + endif printlog "Close Master" - ViewNormal - WaitSlot (1000) + hUseAsyncSlot( "ViewNormal" ) printlog "Save Document" call hFileSaveAsKill (PresentationFile1) - printlog "OK saved at ", PresentationFile1 - WaitSlot (1000) ActiveDeactivateCTLSupport (FALSE) - WaitSlot (2000) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation1 '------------------------------------------------------------------------------- + testcase i_us_presentation2 + dim PresentationFile1 as string dim PresentationFile2 as string - PresentationFile1 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes1.odp"))) - PresentationFile2 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes2.odp"))) - if Dir(PresentationFile1) <> "" then 'if file exists... - hFileOpen (PresentationFile1) - WaitSlot (10000) + PresentationFile1 = ConvertPath( gOfficePath + "user\work\PowerPes1.odp" ) + PresentationFile2 = ConvertPath( gOfficePath + "user\work\PowerPes2.odp" ) + + if ( FileExists( PresentationFile1 ) ) then 'if file exists... + hFileOpen (PresentationFile1) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if printlog "New Slide" kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - + SlidesControl.TypeKeys( "", 3 ) SlidesControl.TypeKeys "" 'OpenContextMenu(true) sleep (1) + MenuSelect(MenuGetItemID(1)) 'New Slide 'No 2 printlog " Inserted second normal Slide" @@ -209,11 +210,10 @@ testcase i_us_presentation2 printlog "to get to the very first position" LayoutsPreview.TypeKeys "" printlog "'to get to the right position" - LayoutsPreview.TypeKeys "", 9 + LayoutsPreview.TypeKeys "", 9 LayoutsPreview.TypeKeys "" - Sleep (1) - ViewNormal + hUseAsyncSlot( "ViewNormal" ) printlog "3. Hide Slidepane (Oops! The user were too fast: accidently hide the pane)" kontext "Slides" @@ -224,7 +224,7 @@ testcase i_us_presentation2 SlidesControl.FadeIn printlog " Did the 'mistake' to FadeIn/Out the Slidepane" - + printlog "activating the input picture area" kontext "DocumentImpress" DocumentImpress.TypeKeys "",2 @@ -233,68 +233,67 @@ testcase i_us_presentation2 printlog "Graphics-Import-dialogue. Select i_us_large.jpg" Kontext "GrafikEinfuegenDlg" - sleep (2) - Dateiname.SetText ConvertPath (gTesttoolPath + "graphics\required\input\i_us_large.jpg") - sleep (2) - Oeffnen.Click - WaitSlot (1000) - Kontext "DocumentImpress" + if ( GrafikEinfuegenDlg.exists( 2 ) ) then - printlog "Deselect graphic" - DocumentImpress.MouseDoubleClick 90,90 - printlog " Inserted Graphic into the second Slide" + Dateiname.SetText ConvertPath (gTesttoolPath + "graphics\required\input\i_us_large.jpg") + Oeffnen.Click - printlog "Change text on the two text-boxes" - DocumentImpress.TypeKeys "" 'First text. - DocumentImpress.TypeKeys "" 'To get into edit-mode. - DocumentImpress.TypeKeys "The World has just become a bit easier" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "100% Recyclable" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "Very durable" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "Priced lower than its predecessor!" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "Sexy" - DocumentImpress.TypeKeys "" - DocumentImpress.TypeKeys "Energy-efficient" - DocumentImpress.TypeKeys "" + Kontext "DocumentImpress" + printlog "Deselect graphic" + DocumentImpress.MouseDoubleClick 90,90 + printlog " Inserted Graphic into the second Slide" + + printlog "Change text on the two text-boxes" + DocumentImpress.TypeKeys "" 'First text. + DocumentImpress.TypeKeys "" 'To get into edit-mode. + DocumentImpress.TypeKeys "The World has just become a bit easier" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "100% Recyclable" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "Very durable" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "Priced lower than its predecessor!" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "Sexy" + DocumentImpress.TypeKeys "" + DocumentImpress.TypeKeys "Energy-efficient" + DocumentImpress.TypeKeys "" + else + warnlog( "Failed to open dialog" ) + endif printlog "Save Document" call hFileSaveAsKill (PresentationFile2) - printlog "OK saved at ", PresentationFile1 - sleep (1) ActiveDeactivateCTLSupport (FALSE) - sleep (2) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation2 '------------------------------------------------------------------------------- + testcase i_us_presentation3 + dim PresentationFile2 as string dim PresentationFile3 as string - PresentationFile2 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes2.odp"))) - PresentationFile3 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes3.odp"))) - if Dir(PresentationFile2) <> "" then 'if file exists... - hFileOpen (PresentationFile2) - WaitSlot (10000) + PresentationFile2 = ConvertPath( gOfficePath + "user\work\PowerPes2.odp" ) + PresentationFile3 = ConvertPath( gOfficePath + "user\work\PowerPes3.odp" ) + + if ( FileExists( PresentationFile2 ) ) then 'if file exists... + hFileOpen( PresentationFile2 ) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if printlog "Insert New Slide" kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" + SlidesControl.TypeKeys( "", 3 ) kontext "DocumentImpress" InsertSlide 'No 3 @@ -305,8 +304,7 @@ testcase i_us_presentation3 LayoutsPreview.TypeKeys "", 4 'to get to the right position LayoutsPreview.TypeKeys "" - sleep (1) - ViewNormal + hUseAsyncSlot( "ViewNormal" ) kontext "DocumentImpress" Call gMouseClick 50,50 @@ -318,10 +316,10 @@ testcase i_us_presentation3 InsertGraphicsFromFile WaitSlot (1000) Kontext "GrafikEinfuegenDlg" - Dateiname.SetText ConvertPath (gTesttoolPath + "graphics\required\input\i_us_large.jpg") - sleep (2) - Oeffnen.Click - WaitSlot (2000) + Dateiname.SetText ConvertPath (gTesttoolPath + "graphics\required\input\i_us_large.jpg") + sleep (2) + Oeffnen.Click + WaitSlot (2000) Kontext "DocumentImpress" printlog "The user corrects the picture" @@ -336,101 +334,97 @@ testcase i_us_presentation3 printlog "Save Document" call hFileSaveAsKill (PresentationFile3) - printlog "OK saved at ", PresentationFile3 - sleep (1) ActiveDeactivateCTLSupport (FALSE) - sleep (2) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation3 '------------------------------------------------------------------------------- + testcase i_us_presentation4 + dim PresentationFile3 as string dim PresentationFile4 as string dim iAnimations as Integer - PresentationFile3 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes3.odp"))) - PresentationFile4 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes4.odp"))) + dim iSize as integer - if Dir(PresentationFile3) <> "" then 'if file exists... - hFileOpen (PresentationFile3) - WaitSlot (10000) + PresentationFile3 = ConvertPath( gOfficePath + "user\work\PowerPes3.odp" ) + PresentationFile4 = ConvertPath( gOfficePath + "user\work\PowerPes4.odp" ) + + select case iSprache + case 01 : iAnimations = 01 'English + case 07 : iAnimations = 01 'Russian + case 31 : iAnimations = 03 'Netherlands + case 33 : iAnimations = 01 'French + case 34 : iAnimations = 01 'Spanish + case 36 : iAnimations = 01 'Hungaria + case 39 : iAnimations = 01 'Italian + case 46 : iAnimations = 01 'Swedish + case 48 : iAnimations = 01 'Polish + case 49 : iAnimations = 01 'German + case 55 : iAnimations = 01 'Portuguese + case 81 : iAnimations = 02 'Japanese + case 82 : iAnimations = 17 'Korean + case 86 : iAnimations = 07 'Simplified + case 88 : iAnimations = 15 'Traditional + case else : iAnimations = 01 'Unknown + warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache + end select + + if ( FileExists( PresentationFile3 ) ) then 'if file exists... + hFileOpen( PresentationFile3 ) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - kontext "DocumentImpress" + SlidesControl.TypeKeys( "", 5 ) -printlog "insert slide no 4" -InsertSlide + kontext "DocumentImpress" + printlog "insert slide no 4" + hUseAsyncSlot( "InsertSlide" ) printlog "Background: picture (Gallery)" Kontext "Gallery" - if Gallery.Exists(2) then - warnlog " The Gallery was already visible. Check earlier ran tests for inconsistency." - sleep (2) - else + if ( Not Gallery.Exists() ) then ToolsGallery - WaitSlot (2000) end if - select case iSprache - case 01 : iAnimations = 01 'English - case 07 : iAnimations = 01 'Russian - case 31 : iAnimations = 03 'Netherlands - case 33 : iAnimations = 01 'French - case 34 : iAnimations = 01 'Spanish - case 36 : iAnimations = 01 'Hungaria - case 39 : iAnimations = 01 'Italian - case 46 : iAnimations = 01 'Swedish - case 48 : iAnimations = 01 'Polish - case 49 : iAnimations = 01 'German - case 55 : iAnimations = 01 'Portuguese - case 81 : iAnimations = 02 'Japanese - case 82 : iAnimations = 17 'Korean - case 86 : iAnimations = 07 'Simplified - case 88 : iAnimations = 15 'Traditional - case else : iAnimations = 01 'Unknown - warnlog "Please insert the entrienumbers for 'Backgrounds'. Language: " + iSprache - end select - kontext "Gallery" - Gallerys.Select (iAnimations) + if ( Gallery.exists( 2 ) ) then + Gallerys.Select (iAnimations) - kontext "Gallery" + kontext "Gallery" View.TypeKeys "" - sleep (1) + wait( 200 ) View.TypeKeys "" 'OpenContextMenu - sleep (1) + wait( 200 ) MenuSelect(MenuGetItemID(1)) 'Insert - sleep (1) + wait( 200 ) MenuSelect(MenuGetItemID(1)) 'Copy + else + warnlog( "Could not access Gallery" ) + endif - printlog "Check that we really got a copy of the object" - kontext "DocumentImpress" - DocumentImpress.OpenContextMenu(true) - WaitSlot (1000) - MenuSelect 27353 + printlog "Check that we really got a copy of the object" + kontext "DocumentImpress" + DocumentImpress.OpenContextMenu(true) + WaitSlot (1000) + MenuSelect 27353 Kontext "ExportierenDlg" - if ExportierenDlg.IsVisible(5) then + if ( ExportierenDlg.exists( 5 ) ) then printlog " Gallery-object correctly copied into Slide." ExportierenDlg.Close else warnlog " Doesn't seem like we copied anything from the Gallery... ?" end if - kontext "DocumentImpress" + kontext "DocumentImpress" DocumentImpress.TypeKeys "", 82 DocumentImpress.TypeKeys "", 130 @@ -449,84 +443,53 @@ InsertSlide ActiveDeactivateCTLSupport (TRUE) - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 100 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 75 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 50 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 25 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 25 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 50 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 75 - gMouseClick 90,90 - - CreateTextSetEffectAndAngle - DocumentImpress.TypeKeys "", 80 - DocumentImpress.TypeKeys "", 100 - gMouseClick 90,90 + printlog( "Decrease..." ) + for iSize = 100 to 25 step -25 + CreateTextSetEffectAndAngle + DocumentImpress.TypeKeys "", 80 + DocumentImpress.TypeKeys "", iSize + gMouseClick 90,90 + next iSize + + printlog( "Increase..." ) + for iSize = 25 to 100 step 25 + CreateTextSetEffectAndAngle + DocumentImpress.TypeKeys "", 80 + DocumentImpress.TypeKeys "", iSize + gMouseClick 90,90 + next iSize printlog " Inserted fourth slide with Gallery-object." printlog "Save Document" call hFileSaveAsKill (PresentationFile4) - printlog "OK saved at ", PresentationFile4 - sleep (1) ActiveDeactivateCTLSupport (FALSE) - sleep (2) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation4 '------------------------------------------------------------------------------- + testcase i_us_presentation5 + dim PresentationFile4 as string dim PresentationFile5 as string - PresentationFile4 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes4.odp"))) - PresentationFile5 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes5.odp"))) - if Dir(PresentationFile4) <> "" then 'if file exists... - hFileOpen (PresentationFile4) - WaitSlot (10000) + PresentationFile4 = ConvertPath( gOfficePath + "user\work\PowerPes4.odp" ) + PresentationFile5 = ConvertPath( gOfficePath + "user\work\PowerPes5.odp" ) + + if ( FileExists( PresentationFile4 ) ) then 'if file exists... + hFileOpen( PresentationFile4 ) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" + SlidesControl.TypeKeys( "", 7 ) kontext "DocumentImpress" printlog "8. New Slide. (Insert Menu) (Duplicate slide)" @@ -535,119 +498,109 @@ testcase i_us_presentation5 gMouseClick 90,90 DocumentImpress.TypeKeys "" DocumentImpress.TypeKeys "" - EditSelectAll + hUseAsyncSlot( "EditSelectAll" ) DocumentImpress.TypeKeys "And does it with strength..." printlog " Inserted fifth slide with audience-joke." printlog "Save Document" call hFileSaveAsKill (PresentationFile5) - printlog "OK saved at ", PresentationFile5 - sleep (1) ActiveDeactivateCTLSupport (FALSE) - sleep (2) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation5 '------------------------------------------------------------------------------- + testcase i_us_presentation6 + dim PresentationFile5 as string dim PresentationFile6 as string - PresentationFile5 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes5.odp"))) - PresentationFile6 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes6.odp"))) - if Dir(PresentationFile5) <> "" then 'if file exists... - hFileOpen (PresentationFile5) - WaitSlot (10000) + PresentationFile5 = ConvertPath( gOfficePath + "user\work\PowerPes5.odp" ) + PresentationFile6 = ConvertPath( gOfficePath + "user\work\PowerPes6.odp" ) + + if ( FileExists( PresentationFile5 ) ) then 'if file exists... + hFileOpen( PresentationFile5 ) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" + SlidesControl.TypeKeys( "", 6 ) kontext "DocumentImpress" printlog "9. Q&A Slide" - InsertSlide + InsertSlide WaitSlot (1000) kontext "DocumentImpress" DocumentImpress.TypeKeys "" DocumentImpress.TypeKeys "" DocumentImpress.TypeKeys "Q&A" - WaitSlot (1000) - kontext "DocumentImpress" DocumentImpress.TypeKeys "" + wait( 500 ) + Kontext "TextObjectbar" - if TextObjectbar.Exists = FALSE then - ViewToolbarsTextFormatting - end if - WaitSlot (2000) - Printlog "- Change size of font" - Schriftgroesse.Select "26" - Schriftgroesse.TypeKeys "" - Fett.Click + if ( not TextObjectbar.Exists() ) then + ViewToolbarsTextFormatting + end if + + Kontext "TextObjectbar" + wait( 500 ) + Printlog "- Change size of font" + Schriftgroesse.Select "26" + Schriftgroesse.TypeKeys "" + Fett.Click kontext "DocumentImpress" DocumentImpress.TypeKeys "" kontext "Toolbar" - Auswahl.Click + Auswahl.Click gMouseClick 60,60 - EditSelectAll - WaitSlot (1000) + hUseAsyncSlot( "EditSelectAll" ) + DocumentImpress.TypeKeys "", 50 kontext "DocumentImpress" printlog " Inserted sixth slide with Q&A." printlog "Save Document" call hFileSaveAsKill (PresentationFile6) - printlog "OK saved at ", PresentationFile6 - sleep (1) ActiveDeactivateCTLSupport (FALSE) - WaitSlot (2000) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation6 '------------------------------------------------------------------------------- + testcase i_us_presentation7 + const KEY_STROKE_REPEAT = 8 + dim sFilter as string dim sFileName as string dim PresentationFile6 as string dim PresentationFile7 as string - PresentationFile6 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes6.odp"))) - PresentationFile7 = ConvertPath ((ConvertPath (gOfficePath + "user\work\PowerPes7.odp"))) - sFileName = (ConvertPath (gOfficePath + "user\work\export-test.ppt")) + dim iKeyStroke as integer + + PresentationFile6 = ConvertPath( gOfficePath + "user\work\PowerPes6.odp" ) + PresentationFile7 = ConvertPath( gOfficePath + "user\work\PowerPes7.odp" ) + sFileName = ConvertPath( gOfficePath + "user\work\export-test.ppt" ) - if Dir(PresentationFile6) <> "" then 'if file exists... - hFileOpen (PresentationFile6) - WaitSlot (10000) + if ( FileExists( PresentationFile6 ) ) then 'if file exists... + hFileOpen( PresentationFile6 ) else warnlog " This test is supposed to run after the previous testcase has been run. Notify the Automatic-tester." - printlog "New impress document" - Call hNewDocument - WaitSlot (2000) + goto endsub end if kontext "slides" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" - SlidesControl.TypeKeys "" + SlidesControl.TypeKeys( "", KEY_STROKE_REPEAT ) kontext "DocumentImpress" printlog " inserting Ending Slide" @@ -671,61 +624,52 @@ testcase i_us_presentation7 hTypeKeys "" kontext "DocumentPresentation" - sleep (5) - DocumentPresentation.TypeKeys "" - sleep (5) - DocumentPresentation.TypeKeys "" - sleep (5) - DocumentPresentation.TypeKeys "" - sleep (10) - DocumentPresentation.TypeKeys "" - sleep (10) - DocumentPresentation.TypeKeys "" - sleep (5) - DocumentPresentation.TypeKeys "" - sleep (5) - DocumentPresentation.TypeKeys "" - sleep (5) - DocumentPresentation.TypeKeys "" + + for iKeyStroke = 1 to KEY_STROKE_REPEAT + sleep (5) + DocumentPresentation.TypeKeys "" + next iKeyStroke if DocumentPresentation.Exists(5) then hTypeKeys "" warnlog " Presentation should have ended. Please inform Automatic Tester." end if - kontext "DocumentImpress" + kontext "DocumentImpress" printlog "Save Document" call hFileSaveAsKill (PresentationFile7) - printlog "OK saved at ", PresentationFile7 - sleep (1) - printlog "Save as Powerpoint-file" + printlog( "Save as Powerpoint-file (Using filter at pos. 5 in the filter list)" ) FileSaveAs - Kontext "SpeichernDlg" + + Kontext "SpeichernDlg" + if ( SpeichernDlg.exists( 2 ) ) then + Dateiname.SetText sFileName - Dateityp.Select 5 ' Powerpoint + Dateityp.Select 5 ' Powerpoint (possibly) printlog "Trying to save with filter: " + Dateityp.GetSelText + sFilter(5) Speichern.Click + Kontext "Messagebox" - if Messagebox.Exists(2) then Messagebox.Yes + hCloseDialog( Messagebox, "Yes, optional" ) + Kontext "AlienWarning" - if AlienWarning.Exists(2) then AlienWarning.OK - printlog "Saved as: " + sFileName - sleep (3) - - printlog "Close the office and reload the file" - FileClose - Kontext "Messagebox" - if Messagebox.Exists(2) then Messagebox.Yes - sleep (3) - printlog "Open the saved file" + hCloseDialog( AlienWarning, "ok, optional" ) + else + warnlog( " dialog did not open" ) + endif + + printlog "Close all open documents" + hFileCloseAll() + + printlog( "Reload file: " & sFileName ) hFileOpen sFileName - printlog "File opened: " + sFileName - sleep (3) + sleep( 3 ) printlog "Close the office-session" ActiveDeactivateCTLSupport (FALSE) - sleep (2) + printlog "Close Document" - Call hCloseDocument + hFileCloseAll() + endcase 'i_us_presentation7 -- cgit From d0fdd4f0c77bd5fdccb7f7eb1d49dba4e5d1657a Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Wed, 26 May 2010 16:28:48 +0200 Subject: vcl112: #i111824# fix detached monitors case for more than two monitors (thanks thb !) --- vcl/win/source/app/salinfo.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vcl/win/source/app/salinfo.cxx b/vcl/win/source/app/salinfo.cxx index b7ea81d313ae..14cb5d63437a 100644 --- a/vcl/win/source/app/salinfo.cxx +++ b/vcl/win/source/app/salinfo.cxx @@ -160,7 +160,8 @@ bool WinSalSystem::initMonitors() std::hash_map< rtl::OUString, int, rtl::OUStringHash > aDeviceStringCount; while( EnumDisplayDevicesW( NULL, nDevice++, &aDev, 0 ) ) { - if( (aDev.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) == 0 ) // sort out non monitors + if( (aDev.StateFlags & DISPLAY_DEVICE_ACTIVE) + && !(aDev.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) ) // sort out non/disabled monitors { aDev.DeviceName[31] = 0; aDev.DeviceString[127] = 0; -- cgit From 21c5ff4247dfb884280b27186e98e89d17a41394 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 10:25:32 +0200 Subject: vitomation01: #i109696 - i_us_presentation.inc: Try to make the presentation compelte successfully in test number 6 --- .../graphics/optional/includes/impress/i_us_present.inc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/testautomation/graphics/optional/includes/impress/i_us_present.inc b/testautomation/graphics/optional/includes/impress/i_us_present.inc index 69de62815f56..16d121633e86 100644 --- a/testautomation/graphics/optional/includes/impress/i_us_present.inc +++ b/testautomation/graphics/optional/includes/impress/i_us_present.inc @@ -623,16 +623,20 @@ testcase i_us_presentation7 SlidesControl.TypeKeys "" 'At the first slide hTypeKeys "" - kontext "DocumentPresentation" + kontext "DocumentPresentation" for iKeyStroke = 1 to KEY_STROKE_REPEAT - sleep (5) + wait( 3000 ) DocumentPresentation.TypeKeys "" + wait( 2000 ) next iKeyStroke - if DocumentPresentation.Exists(5) then - hTypeKeys "" - warnlog " Presentation should have ended. Please inform Automatic Tester." + kontext "DocumentPresentation" + if ( DocumentPresentation.notExists( 5 ) then + printlog( "Presentation closed. Good." ) + else + warnlog " Presentation not finished, fullscreen view still open." + DocumentPresentation.typeKeys "" end if kontext "DocumentImpress" @@ -669,7 +673,7 @@ testcase i_us_presentation7 printlog "Close the office-session" ActiveDeactivateCTLSupport (FALSE) - printlog "Close Document" + printlog "Close Documents" hFileCloseAll() endcase 'i_us_presentation7 -- cgit From df10d9b0c969ac623172ad3ae838c313b1a5352a Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 12:45:15 +0200 Subject: vitomation01: #i109696 - i_us_presentation.inc: More tries --- testautomation/graphics/optional/includes/impress/i_us_present.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/testautomation/graphics/optional/includes/impress/i_us_present.inc b/testautomation/graphics/optional/includes/impress/i_us_present.inc index 16d121633e86..e70bce267110 100644 --- a/testautomation/graphics/optional/includes/impress/i_us_present.inc +++ b/testautomation/graphics/optional/includes/impress/i_us_present.inc @@ -637,6 +637,13 @@ testcase i_us_presentation7 else warnlog " Presentation not finished, fullscreen view still open." DocumentPresentation.typeKeys "" + + kontext "DocumentPresentation" + if ( DocumentPresentation.notExists( 3 ) ) then + printlog( "Recovery attempt successful" ) + else + goto endsub + endif end if kontext "DocumentImpress" -- cgit From d1adc7ef1473b62ee5d6f7c0848c756d2afc14a1 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 12:52:15 +0200 Subject: vitomation01: #i109696 - i_us_presentation.inc: Gnarf --- testautomation/graphics/optional/includes/impress/i_us_present.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/graphics/optional/includes/impress/i_us_present.inc b/testautomation/graphics/optional/includes/impress/i_us_present.inc index e70bce267110..1d55d6550827 100644 --- a/testautomation/graphics/optional/includes/impress/i_us_present.inc +++ b/testautomation/graphics/optional/includes/impress/i_us_present.inc @@ -632,7 +632,7 @@ testcase i_us_presentation7 next iKeyStroke kontext "DocumentPresentation" - if ( DocumentPresentation.notExists( 5 ) then + if ( DocumentPresentation.notExists( 5 ) ) then printlog( "Presentation closed. Good." ) else warnlog " Presentation not finished, fullscreen view still open." -- cgit From 0081ba080f3b58bc5378df8c74b4bf62fa4bfada Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 13:17:01 +0200 Subject: vitomation01: #i109696 - export_graphic.inc reformatted according to coding guidelines --- .../optional/includes/global/export_graphic.inc | 452 ++++++++++----------- 1 file changed, 220 insertions(+), 232 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/export_graphic.inc b/testautomation/graphics/optional/includes/global/export_graphic.inc index d60872022166..feb44a43c6d9 100644 --- a/testautomation/graphics/optional/includes/global/export_graphic.inc +++ b/testautomation/graphics/optional/includes/global/export_graphic.inc @@ -29,20 +29,8 @@ '* '* short description : Graphics Export A-tests. (More durable ones) '* -'******************************************************************************* -'* -' #1 tEPS -' #1 tGIF -' #1 tJPEG -' #1 tPBM -' #1 tPCT -' #1 tPGM -' #1 tPPM -' #1 tRAS -' #1 tTIFF -' #1 tXPM -'* '\****************************************************************************** + testcase tEPS dim x as integer @@ -65,64 +53,64 @@ testcase tEPS ' InterchangeEPSI.Check Level1.Check if Farbe.IsEnabled then warnlog " :-(" - if Graustufen.IsEnabled then warnlog " :-(" - if LZWKodierung.IsEnabled then warnlog " :-(" - if Keine.IsEnabled then warnlog " :-(" - ' if (TextEinstellungen.IsEnabled <> TRUE) then warnlog " :-(" - Level2.Check - if (Farbe.IsEnabled <> TRUE) then warnlog " :-(" - if (Graustufen.IsEnabled <> TRUE) then warnlog " :-(" - if (LZWKodierung.IsEnabled <> TRUE) then warnlog " :-(" - if (Keine.IsEnabled <> TRUE) then warnlog " :-(" - ' if (TextEinstellungen.IsEnabled <> TRUE) then warnlog " :-(" - printlog "'Color Resolution' listbox contains eight items" - ' x = TextEinstellungen.GetItemCount - ' if x <> 2 then warnlog "'TextEinstellungen' Count is wrong; should:2, is:" + x - ' for i = 1 to x - ' TextEinstellungen.Select i - ' sleep 1 - ' Printlog " - " + i + ": '" +TextEinstellungen.GetSelText + "'" - ' next i - printlog "leave dialog with cancel -> there has to be no file created!" - EPSOptionen.Cancel - sleep 5 - if ( dir(OutputGrafikTBO+sExt) = "") then ' inspired by bug #99932 Graphic is exported though cancel is pressed - Printlog "Ok :-)" - else - warnlog "Dialog was canceled, but file got saved, too :-( - i35177" - endif - else - Warnlog "No '" + sFilter + "'-Option-Dialog!" - i=5 - end if - sleep 2 - Kontext "Active" - if Active.Exists(2) then - Warnlog "'" + sFilter + "' has a problem" - Active.OK - end if - end if - printlog " now save it realy and load the file afterwards" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - Kontext "EPSOptionen" - if EPSOptionen.Exists (2) then - printlog "TextEinstellungen.select 2" - EPSOptionen.OK - sleep 5 - endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) - endif - - call hCloseDocument + if Graustufen.IsEnabled then warnlog " :-(" + if LZWKodierung.IsEnabled then warnlog " :-(" + if Keine.IsEnabled then warnlog " :-(" + ' if (TextEinstellungen.IsEnabled <> TRUE) then warnlog " :-(" + Level2.Check + if (Farbe.IsEnabled <> TRUE) then warnlog " :-(" + if (Graustufen.IsEnabled <> TRUE) then warnlog " :-(" + if (LZWKodierung.IsEnabled <> TRUE) then warnlog " :-(" + if (Keine.IsEnabled <> TRUE) then warnlog " :-(" + ' if (TextEinstellungen.IsEnabled <> TRUE) then warnlog " :-(" + printlog "'Color Resolution' listbox contains eight items" + ' x = TextEinstellungen.GetItemCount + ' if x <> 2 then warnlog "'TextEinstellungen' Count is wrong; should:2, is:" + x + ' for i = 1 to x + ' TextEinstellungen.Select i + ' sleep 1 + ' Printlog " - " + i + ": '" +TextEinstellungen.GetSelText + "'" + ' next i + printlog "leave dialog with cancel -> there has to be no file created!" + EPSOptionen.Cancel + sleep 5 + if ( dir(OutputGrafikTBO+sExt) = "") then ' inspired by bug #99932 Graphic is exported though cancel is pressed + Printlog "Ok :-)" + else + warnlog "Dialog was canceled, but file got saved, too :-( - i35177" + endif + else + Warnlog "No '" + sFilter + "'-Option-Dialog!" + i=5 + end if + sleep 2 + Kontext "Active" + if Active.Exists(2) then + Warnlog "'" + sFilter + "' has a problem" + Active.OK + end if + end if + printlog " now save it realy and load the file afterwards" + if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + Kontext "EPSOptionen" + if EPSOptionen.Exists (2) then + printlog "TextEinstellungen.select 2" + EPSOptionen.OK + sleep 5 + endif + if ( dir(OutputGrafikTBO+sExt) <> "") then + Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" + else + warnlog "File didn't get saved :-(" + endif + hCloseDocument () + sleep 5 + hNewDocument() + sleep 5 + Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + endif + + call hCloseDocument endcase 'tEPS '------------------------------------------------------------------------- @@ -154,176 +142,176 @@ testcase tPCT printlog "check if all properties have the right count, and depend on each other" Original.Check if Breite.IsEnabled then warnlog " :-(" - if Hoehe.IsEnabled then warnlog " :-(" - Groesse.Check - Breite.More - Hoehe.Less - printlog "leave dialog with cancel -> there has to be no file created!" - PICTOptionen.Cancel - sleep 5 - if ( dir(OutputGrafikTBO+sExt) = "") then - Printlog "Ok :-)" - else - warnlog "Dialog was canceled, but file got saved, too :-( - i35177" - endif - else - Warnlog "No '" + sFilter + "' -Dialog!" - i=5 - end if - sleep 2 - Kontext "Active" - if Active.Exists(2) then - Warnlog " '" + sFilter + "' has a problem" - Active.OK - end if - end if - printlog " now save it realy and load the file afterwards" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then - Groesse.Check - Breite.Less - Hoehe.More - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop - endif - i=0 - while ((NOT fileExists(OutputGrafikTBO+sExt)) AND (i<36)) - inc(i) - sleep(5) - wend - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) - endif - hCloseDocument () - printlog " now save a SELECTION in ORIGINAL SIZE and load the file afterwards" - hFileOpen (sDocument) - sleep (10) - - printlog "check if the document is writable" - if fIsDocumentWritable = false then - printlog "make the document writable and check if it's succesfull" - if fMakeDocumentWritable = false then - warnlog "The document can't be make writeable. Test stopped." - goto endsub - endif + if Hoehe.IsEnabled then warnlog " :-(" + Groesse.Check + Breite.More + Hoehe.Less + printlog "leave dialog with cancel -> there has to be no file created!" + PICTOptionen.Cancel + sleep 5 + if ( dir(OutputGrafikTBO+sExt) = "") then + Printlog "Ok :-)" + else + warnlog "Dialog was canceled, but file got saved, too :-( - i35177" endif + else + Warnlog "No '" + sFilter + "' -Dialog!" + i=5 + end if + sleep 2 + Kontext "Active" + if Active.Exists(2) then + Warnlog " '" + sFilter + "' has a problem" + Active.OK + end if + end if + printlog " now save it realy and load the file afterwards" + if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + Kontext "PICTOptionen" + if PICTOptionen.Exists (2) then + Groesse.Check + Breite.Less + Hoehe.More + PICTOptionen.OK + iWaitIndex = 0 + do while PICTOptionen.Exists AND iWaitIndex < 30 + sleep (1) + iWaitIndex = iWaitIndex + 1 + loop + endif + i=0 + while ((NOT fileExists(OutputGrafikTBO+sExt)) AND (i<36)) + inc(i) + sleep(5) + wend + if ( dir(OutputGrafikTBO+sExt) <> "") then + Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" + else + warnlog "File didn't get saved :-(" + endif + hCloseDocument () + sleep 5 + hNewDocument() + sleep 5 + Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + endif + hCloseDocument () + printlog " now save a SELECTION in ORIGINAL SIZE and load the file afterwards" + hFileOpen (sDocument) + sleep (10) + + printlog "check if the document is writable" + if fIsDocumentWritable = false then + printlog "make the document writable and check if it's succesfull" + if fMakeDocumentWritable = false then + warnlog "The document can't be make writeable. Test stopped." + goto endsub + endif + endif - hTypeKeys ("") - fGetSizeXY sx1, sY, TRUE - if hCallExport (OutputGrafikTBO + "1" , sFilter, TRUE ) = TRUE then - Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then - Original.Check - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop - endif - i=0 - while ((NOT fileExists(OutputGrafikTBO+ "1"+sExt)) AND (i<36)) - inc(i) - sleep(5) - wend - if ( dir(OutputGrafikTBO + "1"+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "1"+sExt + "'" + hTypeKeys ("") + fGetSizeXY sx1, sY, TRUE + if hCallExport (OutputGrafikTBO + "1" , sFilter, TRUE ) = TRUE then + Kontext "PICTOptionen" + if PICTOptionen.Exists (2) then + Original.Check + PICTOptionen.OK + iWaitIndex = 0 + do while PICTOptionen.Exists AND iWaitIndex < 30 + sleep (1) + iWaitIndex = iWaitIndex + 1 + loop + endif + i=0 + while ((NOT fileExists(OutputGrafikTBO+ "1"+sExt)) AND (i<36)) + inc(i) + sleep(5) + wend + if ( dir(OutputGrafikTBO + "1"+sExt) <> "") then + Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "1"+sExt + "'" + else + warnlog "File didn't get saved :-(" + endif + hCloseDocument () + sleep 5 + hNewDocument() + sleep 5 + Call hGrafikEinfuegen ( OutputGrafikTBO + "1"+sExt ) + bTemp = FALSE + fGetSizeXY sx1, sY, bTemp + if (bTemp = FALSE) then + warnlog "Selected original size NOT OK :-(" + endif + endif + hCloseDocument () + printlog " now CREATE a rectangle, select it, save it in SIZE and load the file afterwards" + hNewDocument() + hRechteckErstellen ( 10, 10, 30, 40 ) + if hCallExport (OutputGrafikTBO + "2" , sFilter, TRUE ) = TRUE then + Kontext "PICTOptionen" + if PICTOptionen.Exists (2) then + Groesse.Check + Breite.SetText "9" + Hoehe.SetText "9" + Groesse.Check + printlog "Check 'Size' one more time to make the change go through" + sx1 = Breite.GetText + sY = Hoehe.GetText + PICTOptionen.OK + iWaitIndex = 0 + do while PICTOptionen.Exists AND iWaitIndex < 30 + sleep (1) + iWaitIndex = iWaitIndex + 1 + loop + endif + i=0 + while ((NOT fileExists(OutputGrafikTBO+ "2"+sExt)) AND (i<36)) + inc(i) + sleep(5) + wend + if ( dir(OutputGrafikTBO + "2"+sExt) <> "") then + Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "2"+sExt + "'" + else + warnlog "File didn't get saved :-(" + endif + hCloseDocument () + sleep 5 + hFileOpen (OutputGrafikTBO + "2"+sExt) + kontext "DocumentDraw" + DocumentDraw.TypeKeys ("") + ContextOriginalSize + bTemp = FALSE + fGetSizeXY sx1, sY, bTemp + if (bTemp = FALSE) then + warnlog "Selected original size NOT OK :-(" + endif + endif + if hCallExport (OutputGrafikTBO + "3" , sFilter, TRUE ) = TRUE then + Kontext "PICTOptionen" + if PICTOptionen.Exists (2) then + Groesse.Check + sX2 = Breite.GetText + if (LiberalMeasurement(sx1, sX2)) <> TRUE then + if (val(str(StrToDouble(sx1)+5)) >= StrToDouble(sX2) ) AND (val(str(StrToDouble ( sx1 )-5)) <= StrToDouble ( sX2 )) then + Printlog "Width was ok. Expected: " + sx1 + "' was: '" + sX2 + "'" else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO + "1"+sExt ) - bTemp = FALSE - fGetSizeXY sx1, sY, bTemp - if (bTemp = FALSE) then - warnlog "Selected original size NOT OK :-(" + warnLog "Width is different expected: '" + sx1 + "' is: '" + sX2 + "'" endif endif - hCloseDocument () - printlog " now CREATE a rectangle, select it, save it in SIZE and load the file afterwards" - hNewDocument() - hRechteckErstellen ( 10, 10, 30, 40 ) - if hCallExport (OutputGrafikTBO + "2" , sFilter, TRUE ) = TRUE then - Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then - Groesse.Check - Breite.SetText "9" - Hoehe.SetText "9" - Groesse.Check - printlog "Check 'Size' one more time to make the change go through" - sx1 = Breite.GetText - sY = Hoehe.GetText - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop - endif - i=0 - while ((NOT fileExists(OutputGrafikTBO+ "2"+sExt)) AND (i<36)) - inc(i) - sleep(5) - wend - if ( dir(OutputGrafikTBO + "2"+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "2"+sExt + "'" + sY2 = Hoehe.GetText + if (LiberalMeasurement(sY, sY2)) <> TRUE then + if ( val(str(StrToDouble(sY)+5)) >= StrToDouble(sY2) ) AND (val(str(StrToDouble ( sY )-5)) <= StrToDouble ( sY2 )) then + Printlog "Height was ok. Expected: " + sY + "' was: '" + sY2 + "'" else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hFileOpen (OutputGrafikTBO + "2"+sExt) - kontext "DocumentDraw" - DocumentDraw.TypeKeys ("") - ContextOriginalSize - bTemp = FALSE - fGetSizeXY sx1, sY, bTemp - if (bTemp = FALSE) then - warnlog "Selected original size NOT OK :-(" - endif - endif - if hCallExport (OutputGrafikTBO + "3" , sFilter, TRUE ) = TRUE then - Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then - Groesse.Check - sX2 = Breite.GetText - if (LiberalMeasurement(sx1, sX2)) <> TRUE then - if (val(str(StrToDouble(sx1)+5)) >= StrToDouble(sX2) ) AND (val(str(StrToDouble ( sx1 )-5)) <= StrToDouble ( sX2 )) then - Printlog "Width was ok. Expected: " + sx1 + "' was: '" + sX2 + "'" - else - warnLog "Width is different expected: '" + sx1 + "' is: '" + sX2 + "'" - endif - endif - sY2 = Hoehe.GetText - if (LiberalMeasurement(sY, sY2)) <> TRUE then - if ( val(str(StrToDouble(sY)+5)) >= StrToDouble(sY2) ) AND (val(str(StrToDouble ( sY )-5)) <= StrToDouble ( sY2 )) then - Printlog "Height was ok. Expected: " + sY + "' was: '" + sY2 + "'" - else - warnLog "Height is different expected: '" + sY + "' is: '" + sY2 + "'" - endif - endif - PICTOptionen.Cancel - sleep 5 + warnLog "Height is different expected: '" + sY + "' is: '" + sY2 + "'" endif endif + PICTOptionen.Cancel + sleep 5 + endif + endif - call hCloseDocument + call hCloseDocument endcase 'tPCT '------------------------------------------------------------------------------- -- cgit From a0bbd5760e414e612edd4497479bbf861c9bf1b9 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 14:35:51 +0200 Subject: vitomation01: #i109696 - t_files.inc: Added functions hFileReOpen() and hFileDelete(), the latter being a wrapper for hDeleteFile() which does not follow the naming scheme. --- .../global/tools/includes/required/t_files.inc | 50 +++++++++++++++++----- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_files.inc b/testautomation/global/tools/includes/required/t_files.inc index 7859e6495cf1..cac430f4483a 100755 --- a/testautomation/global/tools/includes/required/t_files.inc +++ b/testautomation/global/tools/includes/required/t_files.inc @@ -504,6 +504,12 @@ end function ' '------------------------------------------------------------------------------- ' +function hFileDelete( cFileOrig as string ) as boolean + hFileDelete() = hDeleteFile( cFileOrig ) +end function +' +'------------------------------------------------------------------------------- +' function hDeleteFile( cFileOrig as string ) as boolean const CFN = "global::tools::includes::required::t_files.inc::hDeleteFile():" @@ -569,11 +575,35 @@ function hFileOpen( cFile as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) hFileOpen() = FALSE - const CFN = "global::tools::inc::t_files.inc::hFileOpen():" + const CFN = "global::tools::inc::t_files.inc::hFileOpen(): " if ( GVERBOSE ) then printlog( CFN & "Load: " & sFile ) FileOpen( "URL", sFile, "FrameName", "_default" ) if ( hFileWait( FALSE ) >= 0 ) then hFileOpen() = TRUE +end function +' +'------------------------------------------------------------------------------- +' +function hFileReOpen( cFile as string ) as boolean + + const CFN = "global::tools::inc::t_files.inc::hFileReOpen(): " + dim iDocumentCount as integer : iDocumentCount = getDocumentCount + hFileReopen() = false + + hCloseDocument() + + if ( cFile = "" ) then + hNewDocument() + else + if ( FileExists( cFile ) ) then + hFileOpen( cFile ) + else + warnlog( CFN & "File does not exist: " & sFile ) + endif + endif + + if ( getDocumentCount = iDocumentCount ) then hFileReOpen() = true + end function ' '------------------------------------------------------------------------------- @@ -586,7 +616,7 @@ function hFileOpenSpecial( cFile as string, cFlag as string ) as boolean ' cFlag = treats string as password dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileOpenSpecial():" + const CFN = "global::tools::inc::t_files.inc::hFileOpenSpecial(): " hFileOpenSpecial() = FALSE if ( GVERBOSE ) then printlog( "Load (Flag): " & sFile & " (" & cFlag & ")" ) @@ -611,7 +641,7 @@ end function function hFileOpenWithFilter( cFile as string, cFilter as string ) dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileOpenWithFilter():" + const CFN = "global::tools::inc::t_files.inc::hFileOpenWithFilter(): " hFileOpenWithFilter() = FALSE if ( GVERBOSE ) then printlog( CFN & "Load (Filter): " & sFile & " (" & cFilter & ")" ) FileOpen( "URL", sFile, "FrameName", "_default", "FilterName", cFilter ) @@ -623,7 +653,7 @@ end function ' function hFileSave() as boolean - const CFN = "global::tools::inc::t_files.inc::hFileSave():" + const CFN = "global::tools::inc::t_files.inc::hFileSave(): " hFileSave() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save file." ) FileSave( "SynchronMode", TRUE ) @@ -636,7 +666,7 @@ end function function hFileSaveAs( cFile as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileSaveAs():" + const CFN = "global::tools::inc::t_files.inc::hFileSaveAs(): " hFileSaveAs() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save: " & sFile ) FileSaveAs( "URL", sFile, "Overwrite", FALSE ) @@ -649,7 +679,7 @@ end function function hFileSaveAsKill( cFile as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileSaveAsKill():" + const CFN = "global::tools::inc::t_files.inc::hFileSaveAsKill(): " hFileSaveAsKill() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save, replacing: " & sFile ) FileSaveAs( "URL", sFile, "Overwrite", TRUE ) @@ -662,7 +692,7 @@ end function function hFileSaveAsKillWithPassword( cFile as string, cPassword as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileSaveAsKillWithPassword():" + const CFN = "global::tools::inc::t_files.inc::hFileSaveAsKillWithPassword(): " hFileSaveAsKillWithPassword() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save with password, replacing: " & sFile & "::" & cPassword ) FileSaveAs( "URL", sFile, "Overwrite", TRUE, "Password", cPassword ) @@ -675,7 +705,7 @@ end function function hFileSaveAsWithFilter( cFile as string, cFilter as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileSaveAsWithFilter():" + const CFN = "global::tools::inc::t_files.inc::hFileSaveAsWithFilter(): " hFileSaveAsWithFilter() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save with filter: " & sFile & "::" & cFilter ) FileSaveAs( "URL", sFile, "FilterName", cFilter, "Overwrite", FALSE ) @@ -688,7 +718,7 @@ end function function hFileSaveAsWithFilterKill( cFile as string, cFilter as string ) as boolean dim sFile as string : sFile = convertToURL( convertpath( cFile ) ) - const CFN = "global::tools::inc::t_files.inc::hFileSaveAsWithFilterKill():" + const CFN = "global::tools::inc::t_files.inc::hFileSaveAsWithFilterKill(): " hFileSaveAsWithFilterKill() = FALSE if ( GVERBOSE ) then printlog( CFN & "Save with filter, replacing: " & sFile & "::" & cFilter ) FileSaveAs( "URL", sFile, "FilterName", cFilter, "Overwrite", TRUE ) @@ -704,7 +734,7 @@ function hFileWait( optional bWarn as boolean ) as integer ' Returns the time it took the slot to finish ' Negative returnvalues are given on timeout or any blocking dialog - const CFN = "global::tools::inc::t_files.inc::hFileWait():" + const CFN = "global::tools::inc::t_files.inc::hFileWait(): " const MAX_WAIT = 10 dim iWait as integer : iWait = 0 dim bWarnlog as boolean -- cgit From 0d87c6e40ae6ee678c9dfa38fa520fc0a21e0652 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 14:37:19 +0200 Subject: vitomation01: #i109696 - Full refactoring of export_graphic.inc. The test case sported code duplication on epic scale as well as very long sleep() statements which should not be required if coded correctly (i hope) --- .../optional/includes/global/export_graphic.inc | 433 ++++++++------------- 1 file changed, 160 insertions(+), 273 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/export_graphic.inc b/testautomation/graphics/optional/includes/global/export_graphic.inc index feb44a43c6d9..72a5db6005d5 100644 --- a/testautomation/graphics/optional/includes/global/export_graphic.inc +++ b/testautomation/graphics/optional/includes/global/export_graphic.inc @@ -27,7 +27,7 @@ '* '* Owner : wolfram.garten@sun.com '* -'* short description : Graphics Export A-tests. (More durable ones) +'* short description : Graphics Export A-tests '* '\****************************************************************************** @@ -35,18 +35,16 @@ testcase tEPS dim x as integer dim i as integer - dim sFilter as string - dim sExt as string - sFilter = "EPS - Encapsulated PostScript (.eps)" - sExt = ".eps" + const sFilter = "EPS - Encapsulated PostScript (.eps)" + const sExt = ".eps" printlog "open the document" - hFileOpen ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport ( OutputGrafikTBO , sFilter ) ) then Kontext "EPSOptionen" - if EPSOptionen.Exists (2) then + if ( EPSOptionen.Exists( 2 ) ) then printlog "check if all properties have the right count, and depend on each other" ' they do not affect annything, i can check (TBO) ' VorschauTIF.Check @@ -72,11 +70,9 @@ testcase tEPS ' Printlog " - " + i + ": '" +TextEinstellungen.GetSelText + "'" ' next i printlog "leave dialog with cancel -> there has to be no file created!" - EPSOptionen.Cancel - sleep 5 - if ( dir(OutputGrafikTBO+sExt) = "") then ' inspired by bug #99932 Graphic is exported though cancel is pressed - Printlog "Ok :-)" - else + hCloseDialog( EPSOptionen, "cancel" ) + + if ( FileExists( OutputGrafikTBO+sExt ) ) then ' inspired by bug #99932 Graphic is exported though cancel is pressed warnlog "Dialog was canceled, but file got saved, too :-( - i35177" endif else @@ -93,21 +89,13 @@ testcase tEPS printlog " now save it realy and load the file afterwards" if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then Kontext "EPSOptionen" - if EPSOptionen.Exists (2) then + if ( EPSOptionen.Exists( 2 ) ) then printlog "TextEinstellungen.select 2" - EPSOptionen.OK - sleep 5 - endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" + hCloseDialog( EPSOptionen, "cancel" ) endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -119,8 +107,6 @@ testcase tPCT dim x as integer dim i as integer dim iWaitIndex as integer - dim sFilter as string - dim sExt as string dim bTemp as boolean dim sX as string dim sY as string @@ -128,17 +114,22 @@ testcase tPCT dim sX2 as string dim sY2 as string dim sDocument as string + dim sOutputFile as string + + const FILE_WRITE_TIMEOUT = 200 ' seconds - sFilter = "PCT - Mac Pict (.pct;.pict)" - sExt = ".pct" + const sFilter = "PCT - Mac Pict (.pct;.pict)" + const sExt = ".pct" printlog "open the document" - sDocument = ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString) - hFileOpen sDocument + sDocument = gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString + hFileOpen( sDocument ) + + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then Kontext "PICTOptionen" if PICTOptionen.Exists (2) then + printlog "check if all properties have the right count, and depend on each other" Original.Check if Breite.IsEnabled then warnlog " :-(" @@ -146,12 +137,11 @@ testcase tPCT Groesse.Check Breite.More Hoehe.Less + printlog "leave dialog with cancel -> there has to be no file created!" - PICTOptionen.Cancel - sleep 5 - if ( dir(OutputGrafikTBO+sExt) = "") then - Printlog "Ok :-)" - else + hCloseDialog( PICTOptionen, "cancel" ) + + if ( FileExists( OutputGrafikTBO + sExt ) ) then warnlog "Dialog was canceled, but file got saved, too :-( - i35177" endif else @@ -159,46 +149,39 @@ testcase tPCT i=5 end if sleep 2 + Kontext "Active" if Active.Exists(2) then Warnlog " '" + sFilter + "' has a problem" Active.OK end if end if + printlog " now save it realy and load the file afterwards" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport( OutputGrafikTBO, sFilter ) ) then + Kontext "PICTOptionen" if PICTOptionen.Exists (2) then Groesse.Check Breite.Less Hoehe.More - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop + hCloseDialog( PICTOptionen, "ok" ) endif + + sOutputFile = OutputGrafikTBO+sExt + i=0 - while ((NOT fileExists(OutputGrafikTBO+sExt)) AND (i<36)) + while( ( not FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) inc(i) - sleep(5) + wait( 1000 ) wend - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( sOutputFile ) ' local helper function, see bottom of this file + endif - hCloseDocument () - printlog " now save a SELECTION in ORIGINAL SIZE and load the file afterwards" - hFileOpen (sDocument) - sleep (10) + + hFileReOpen( sDocument ) printlog "check if the document is writable" if fIsDocumentWritable = false then @@ -211,84 +194,73 @@ testcase tPCT hTypeKeys ("") fGetSizeXY sx1, sY, TRUE - if hCallExport (OutputGrafikTBO + "1" , sFilter, TRUE ) = TRUE then + + if ( hCallExport (OutputGrafikTBO + "1" , sFilter, TRUE ) ) then + Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then + if ( PICTOptionen.Exists( 2 ) ) then Original.Check - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop + hCloseDialog( PICTOptionen, "ok" ) endif + + sOutputFile = OutputGrafikTBO + "1" + sExt i=0 - while ((NOT fileExists(OutputGrafikTBO+ "1"+sExt)) AND (i<36)) - inc(i) - sleep(5) + while( ( NOT FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) + inc( i ) + wait( 1000 ) wend - if ( dir(OutputGrafikTBO + "1"+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "1"+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO + "1"+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( sOutputFile ) ' local helper function, see bottom of this file + bTemp = FALSE fGetSizeXY sx1, sY, bTemp if (bTemp = FALSE) then warnlog "Selected original size NOT OK :-(" endif endif - hCloseDocument () - printlog " now CREATE a rectangle, select it, save it in SIZE and load the file afterwards" - hNewDocument() + + hFileReOpen( "" ) hRechteckErstellen ( 10, 10, 30, 40 ) - if hCallExport (OutputGrafikTBO + "2" , sFilter, TRUE ) = TRUE then + + if ( hCallExport( OutputGrafikTBO + "2" , sFilter, TRUE ) ) then + Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then + if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check Breite.SetText "9" Hoehe.SetText "9" Groesse.Check + printlog "Check 'Size' one more time to make the change go through" sx1 = Breite.GetText sY = Hoehe.GetText - PICTOptionen.OK - iWaitIndex = 0 - do while PICTOptionen.Exists AND iWaitIndex < 30 - sleep (1) - iWaitIndex = iWaitIndex + 1 - loop + hCloseDialog( PICTOptionen, "ok" ) endif + + sOutputFile = OutputGrafikTBO + "2" + sExt + i=0 - while ((NOT fileExists(OutputGrafikTBO+ "2"+sExt)) AND (i<36)) - inc(i) - sleep(5) + while( ( not FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) + inc( i ) + wait( 1000 ) wend - if ( dir(OutputGrafikTBO + "2"+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO + "2"+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hFileOpen (OutputGrafikTBO + "2"+sExt) + + printlog( "Reload file if it exists. Warn if not" ) + hFileReOpen( sOutputFile ) + kontext "DocumentDraw" DocumentDraw.TypeKeys ("") ContextOriginalSize bTemp = FALSE - fGetSizeXY sx1, sY, bTemp - if (bTemp = FALSE) then - warnlog "Selected original size NOT OK :-(" - endif + fGetSizeXY( sx1, sY, bTemp ) + if (not bTemp ) then warnlog "Selected original size NOT OK :-(" endif - if hCallExport (OutputGrafikTBO + "3" , sFilter, TRUE ) = TRUE then + + if ( hCallExport( OutputGrafikTBO + "3", sFilter, TRUE ) ) then + Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then + if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check sX2 = Breite.GetText if (LiberalMeasurement(sx1, sX2)) <> TRUE then @@ -306,8 +278,7 @@ testcase tPCT warnLog "Height is different expected: '" + sY + "' is: '" + sY2 + "'" endif endif - PICTOptionen.Cancel - sleep 5 + hCloseDialog( PICTOptionen, "cancel" ) endif endif @@ -317,35 +288,23 @@ endcase 'tPCT '------------------------------------------------------------------------------- testcase tPBM - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "PBM - Portable Bitmap (.pbm)" - sExt = ".pbm" + const sFilter = "PBM - Portable Bitmap (.pbm)" + const sExt = ".pbm" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString ) printlog "Save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + Kontext "PBMOptionen" - if PBMOptionen.Exists (2) then + if ( PBMOptionen.Exists( 2 ) ) then Ascii.Check - PBMOptionen.OK - sleep 5 + hCloseDialog( PBMOptionen, "ok" ) endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -354,35 +313,24 @@ endcase 'tPBM '------------------------------------------------------------------------------- testcase tPGM - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "PGM - Portable Graymap (.pgm)" - sExt = ".pgm" + const sFilter = "PGM - Portable Graymap (.pgm)" + const sExt = ".pgm" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog "Save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + Kontext "PGMOptionen" - if PGMOptionen.Exists (2) then + if ( PGMOptionen.Exists( 2 ) ) then Ascii.Check - PGMOptionen.OK - sleep 5 + hCloseDialog( PGMOptionen, "ok" ) endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + endif call hCloseDocument @@ -391,35 +339,23 @@ endcase 'tPGM '------------------------------------------------------------------------------- testcase tPPM - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "PPM - Portable Pixelmap (.ppm)" - sExt = ".ppm" + const sFilter = "PPM - Portable Pixelmap (.ppm)" + const sExt = ".ppm" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog "Save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + Kontext "PPMOptionen" - if PPMOptionen.Exists (2) then + if ( PPMOptionen.Exists( 2 ) ) then Ascii.Check - PPMOptionen.OK - sleep 5 - endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" + hCloseDialog( PPMOptionen, "ok" ) endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -428,29 +364,16 @@ endcase 'tPPM '------------------------------------------------------------------------------ testcase tRAS - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "RAS - Sun Raster Image (.ras)" - sExt = ".ras" + const sFilter = "RAS - Sun Raster Image (.ras)" + const sExt = ".ras" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog "Save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) - else - warnlog "File didn't get saved :-(" - endif + if ( hCallExport( OutputGrafikTBO, sFilter ) ) then + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -461,27 +384,17 @@ testcase tTIFF dim x as integer dim i as integer - dim sFilter as string - dim sExt as string - sFilter = "TIFF - Tagged Image File Format (.tif;.tiff)" - sExt = ".tif" + const sFilter = "TIFF - Tagged Image File Format (.tif;.tiff)" + const sExt = ".tif" printlog "Open the document" hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) printlog "Save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) - else - warnlog "File didn't get saved :-(" - endif + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -490,29 +403,16 @@ endcase 'tTIFF '------------------------------------------------------------------------------ testcase tXPM - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "XPM - X PixMap (.xpm)" - sExt = ".xpm" + const sFilter = "XPM - X PixMap (.xpm)" + const sExt = ".xpm" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString )) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog "save it" if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) - else - warnlog "File didn't get saved :-(" - endif + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -521,36 +421,24 @@ endcase 'tXPM '------------------------------------------------------------------------------- testcase tGIF - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "GIF - Graphics Interchange Format (.gif)" - sExt = ".gif" + const sFilter = "GIF - Graphics Interchange Format (.gif)" + const sExt = ".gif" printlog "open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog "save it" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport( OutputGrafikTBO, sFilter ) ) then + Kontext "GIFOptionen" if GIFOptionen.Exists (2) then Interlace.Uncheck TransparentSpeichern.UnCheck - GIFOptionen.OK - sleep 5 - endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" + hCloseDialog( GIFOptionen, "ok" ) endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -559,39 +447,38 @@ endcase 'tGIF '------------------------------------------------------------------------------- testcase tJPEG - dim x as integer - dim i as integer - dim sFilter as string - dim sExt as string - - sFilter = "JPEG - Joint Photographic Experts Group (.jpg;.jpeg;.jfif;.jif;.jpe)" - sExt = ".jpg" + const sFilter = "JPEG - Joint Photographic Experts Group (.jpg;.jpeg;.jfif;.jif;.jpe)" + const sExt = ".jpg" printlog "Open the document" - hFileOpen (ConvertPath ( gTesttoolPath + "graphics\required\input\graphicexport."+ExtensionString) + hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog " save it " - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + Kontext "JpegOptionen" - if JpegOptionen.Exists (2) then + if ( JpegOptionen.Exists( 2 ) ) then Echtfarben.Check Qualitaet.ToMin - JpegOptionen.OK - sleep 5 + hCloseDialog( JpegOptionen, "ok" ) endif - if ( dir(OutputGrafikTBO+sExt) <> "") then - Printlog "Ok :-) Saved as: '" + OutputGrafikTBO+sExt + "'" - else - warnlog "File didn't get saved :-(" - endif - hCloseDocument () - sleep 5 - hNewDocument() - sleep 5 - Call hGrafikEinfuegen ( OutputGrafikTBO+sExt ) + + printlog( "Save image, close file and re-insert graphics into new file" ) + hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument endcase 'tJPEG '------------------------------------------------------------------------- + +function hWriteInsertGraphics( sOutputFile as string ) + + if ( not FileExists( sOutputFile ) ) then + warnlog( "File not saved: " & sOutputFile ) + else + hFileReOpen( "" ) + Call hGrafikEinfuegen ( sOutputFile ) + endif + +end function -- cgit From b30b73cc05a24c51187c36c17bfa07d10ab57245 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 27 May 2010 15:07:21 +0200 Subject: vitomation01: #i109696 - export_graphic.inc calls a lot of very dubious functions. Cleanup --- .../global/tools/includes/required/t_files.inc | 2 +- .../optional/includes/global/export_graphic.inc | 97 ++++++++++++++-------- testautomation/graphics/tools/id_tools.inc | 93 +++++++++++---------- 3 files changed, 109 insertions(+), 83 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_files.inc b/testautomation/global/tools/includes/required/t_files.inc index cac430f4483a..00c584400882 100755 --- a/testautomation/global/tools/includes/required/t_files.inc +++ b/testautomation/global/tools/includes/required/t_files.inc @@ -598,7 +598,7 @@ function hFileReOpen( cFile as string ) as boolean if ( FileExists( cFile ) ) then hFileOpen( cFile ) else - warnlog( CFN & "File does not exist: " & sFile ) + warnlog( CFN & "File does not exist: " & cFile ) endif endif diff --git a/testautomation/graphics/optional/includes/global/export_graphic.inc b/testautomation/graphics/optional/includes/global/export_graphic.inc index 72a5db6005d5..6ff99435e190 100644 --- a/testautomation/graphics/optional/includes/global/export_graphic.inc +++ b/testautomation/graphics/optional/includes/global/export_graphic.inc @@ -86,8 +86,10 @@ testcase tEPS Active.OK end if end if - printlog " now save it realy and load the file afterwards" - if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then + + printlog( "Save the file" ) + if ( hCallExport( OutputGrafikTBO, sFilter ) ) then + Kontext "EPSOptionen" if ( EPSOptionen.Exists( 2 ) ) then printlog "TextEinstellungen.select 2" @@ -95,7 +97,7 @@ testcase tEPS endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -125,10 +127,10 @@ testcase tPCT sDocument = gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString hFileOpen( sDocument ) - if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + if ( hCallExport( OutputGrafikTBO , sFilter ) ) then Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then + if ( PICTOptionen.Exists( 2 ) ) then printlog "check if all properties have the right count, and depend on each other" Original.Check @@ -142,7 +144,7 @@ testcase tPCT hCloseDialog( PICTOptionen, "cancel" ) if ( FileExists( OutputGrafikTBO + sExt ) ) then - warnlog "Dialog was canceled, but file got saved, too :-( - i35177" + warnlog( "#i35177# - dialog canceled, still the file was saved" ) endif else Warnlog "No '" + sFilter + "' -Dialog!" @@ -161,7 +163,7 @@ testcase tPCT if ( hCallExport( OutputGrafikTBO, sFilter ) ) then Kontext "PICTOptionen" - if PICTOptionen.Exists (2) then + if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check Breite.Less Hoehe.More @@ -170,14 +172,13 @@ testcase tPCT sOutputFile = OutputGrafikTBO+sExt - i=0 - while( ( not FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) - inc(i) - wait( 1000 ) - wend + if ( hWaitForOutputFile( sOutputFile ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( sOutputFile ) ' local helper function, see bottom of this file + printlog( "Save image, close file and re-insert graphics into new file" ) + hInsertGraphicsToNewFile( sOutputFile ) ' local helper function, see bottom of this file + else + warnlog( "File was not saved: " & sOutputFile ) + endif endif @@ -204,14 +205,13 @@ testcase tPCT endif sOutputFile = OutputGrafikTBO + "1" + sExt - i=0 - while( ( NOT FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) - inc( i ) - wait( 1000 ) - wend + if ( hWaitForOutputFile( sOutputFile ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( sOutputFile ) ' local helper function, see bottom of this file + printlog( "Save image, close file and re-insert graphics into new file" ) + hInsertGraphicsToNewFile( sOutputFile ) ' local helper function, see bottom of this file + else + warnlog( "File was not saved: " & sOutputFile ) + endif bTemp = FALSE fGetSizeXY sx1, sY, bTemp @@ -240,11 +240,9 @@ testcase tPCT sOutputFile = OutputGrafikTBO + "2" + sExt - i=0 - while( ( not FileExists( sOutputFile ) ) AND ( i < FILE_WRITE_TIMEOUT ) ) - inc( i ) - wait( 1000 ) - wend + if ( not hWaitForOutputFile( sOutputFile ) ) then + warnlog( "File was not saved: " & sOutputFile ) + endif printlog( "Reload file if it exists. Warn if not" ) hFileReOpen( sOutputFile ) @@ -254,7 +252,7 @@ testcase tPCT ContextOriginalSize bTemp = FALSE fGetSizeXY( sx1, sY, bTemp ) - if (not bTemp ) then warnlog "Selected original size NOT OK :-(" + if ( not bTemp ) then warnlog "Selected original size NOT OK :-(" endif if ( hCallExport( OutputGrafikTBO + "3", sFilter, TRUE ) ) then @@ -304,7 +302,7 @@ testcase tPBM endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -329,7 +327,7 @@ testcase tPGM endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -355,7 +353,7 @@ testcase tPPM endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -373,7 +371,7 @@ testcase tRAS printlog "Save it" if ( hCallExport( OutputGrafikTBO, sFilter ) ) then printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -394,7 +392,7 @@ testcase tTIFF printlog "Save it" if ( hCallExport (OutputGrafikTBO , sFilter ) ) then printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -412,7 +410,7 @@ testcase tXPM printlog "save it" if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -438,7 +436,7 @@ testcase tGIF endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -464,7 +462,7 @@ testcase tJPEG endif printlog( "Save image, close file and re-insert graphics into new file" ) - hWriteInsertGraphics( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif call hCloseDocument @@ -472,7 +470,7 @@ testcase tJPEG endcase 'tJPEG '------------------------------------------------------------------------- -function hWriteInsertGraphics( sOutputFile as string ) +function hInsertGraphicsToNewFile( sOutputFile as string ) if ( not FileExists( sOutputFile ) ) then warnlog( "File not saved: " & sOutputFile ) @@ -482,3 +480,30 @@ function hWriteInsertGraphics( sOutputFile as string ) endif end function + +'******************************************************************************* + +function hWaitForOutputFile( sOutputFile as string ) as boolean + + const FILE_WRITE_TIMEOUT = 30 + dim iWait as integer : iWait = 0 + + for iWait = 1 to FILE_WRITE_TIMEOUT + + ' File found + if ( FileExists( sOutputFile ) ) then + hWaitForOutputFile() = true + exit function + endif + + ' Timeout + if ( iWait = FILE_WRITE_TIMEOUT ) then + hWaitForOutputFile() = false + exit function + endif + + wait( 1000 ) + + next iWait + +end function \ No newline at end of file diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc index 9cd7bacdfb16..e9f99d438b7d 100755 --- a/testautomation/graphics/tools/id_tools.inc +++ b/testautomation/graphics/tools/id_tools.inc @@ -320,56 +320,57 @@ end function function hCallExport ( HyWhatsYourName as String , sFilter as String, optional bSelection as boolean ) as Boolean hCallExport = TRUE Printlog "Will try to select export filter: '" + sFilter + "'" + "" - try - FileExport - catch - Sleep 10 - Warnlog "It takes to much time to export the graphic (>10 sec.). Please check the problem, maybe it's a bug!" - FileExport - endcatch - Sleep (3) - Kontext "ExportierenDlg" - try - Dateityp.Select sFilter - catch - Warnlog "'" + sFilter + "' is missing!" - dim iAll, counter as integer - iAll = Dateityp.GetItemCount - printlog " List of entries in the menu:" - for counter = 1 to iAll - printlog " " + counter + "/" + iAll + ": " + Dateityp.GetItemText(counter) - next counter - hCallExport = FALSE - ExportierenDlg.Cancel - exit function - endcatch - if ((IsMissing(bSelection) = FALSE) AND (bSelection = TRUE)) then - sleep 2 - Selektion.Check - else - if (Selektion.isEnabled) then - Selektion.UnCheck - endif + if ( hUseAsyncSlot( "FileExport" ) = -1 ) then + warnlog( "Slot is blocked" ) + hCallExport() = false + exit function endif - if AutomatischeDateinamenserweiterung.Exists then - QAErrorLog "OBSOLETE: Automatic file extension check-box in file dialog will be removed soon!" - AutomatischeDateinamenserweiterung.check - endif + Kontext "ExportierenDlg" + if ( ExportierenDlg.exists( 3 ) ) then + try + Dateityp.Select sFilter + catch + Warnlog "'" + sFilter + "' is missing!" + dim iAll, counter as integer + iAll = Dateityp.GetItemCount + printlog " List of entries in the menu:" + for counter = 1 to iAll + printlog " " + counter + "/" + iAll + ": " + Dateityp.GetItemText(counter) + next counter + hCallExport = FALSE + ExportierenDlg.Cancel + exit function + endcatch + if ((IsMissing(bSelection) = FALSE) AND (bSelection = TRUE)) then + sleep 2 + Selektion.Check + else + if (Selektion.isEnabled) then + Selektion.UnCheck + endif + endif + + if AutomatischeDateinamenserweiterung.Exists then + AutomatischeDateinamenserweiterung.check + endif + + Dateiname.SetText ( HyWhatsYourName ) + Speichern.Click + + kontext "AlienWarning" + if AlienWarning.exists(5) then + warnlog "#i41983# Alien Warning on export not allowed" + AlienWarning.OK + endif + Kontext "Active" + hCloseDialog( Active, "yes,optional" ) + else + warnlog( " not open" ) + hCallExport() = false + endif - Dateiname.SetText ( HyWhatsYourName ) - sleep 2 - Speichern.Click - sleep 2 - kontext "AlienWarning" - if AlienWarning.exists(5) then - warnlog "#i41983# Alien Warning on export not allowed" - AlienWarning.OK - endif - Kontext "Active" - if Active.Exists then Active.Yes - Sleep 3 end function '------------------------------------------------------------------------- -- cgit From 5afb6daf09274f33457198cfd4d3448f0bfc05bb Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Thu, 27 May 2010 18:07:17 +0200 Subject: vcl112: #b6951113# be robust wrt slighly standard deviating PPD files --- vcl/unx/source/gdi/salprnpsp.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vcl/unx/source/gdi/salprnpsp.cxx b/vcl/unx/source/gdi/salprnpsp.cxx index 3491622f783c..90c6a196143e 100644 --- a/vcl/unx/source/gdi/salprnpsp.cxx +++ b/vcl/unx/source/gdi/salprnpsp.cxx @@ -694,6 +694,18 @@ BOOL PspSalInfoPrinter::SetData( pKey = aData.m_pParser->getKey( String( RTL_CONSTASCII_USTRINGPARAM( "PageSize" ) ) ); pValue = pKey ? pKey->getValueCaseInsensitive( aPaper ) : NULL; + + // some PPD files do not specify the standard paper names (e.g. C5 instead of EnvC5) + // try to find the correct paper anyway using the size + if( pKey && ! pValue && pJobSetup->mePaperFormat != PAPER_USER ) + { + PaperInfo aInfo( pJobSetup->mePaperFormat ); + aPaper = aData.m_pParser->matchPaper( + TenMuToPt( aInfo.getWidth() ), + TenMuToPt( aInfo.getHeight() ) ); + pValue = pKey->getValueCaseInsensitive( aPaper ); + } + if( ! ( pKey && pValue && aData.m_aContext.setValue( pKey, pValue, false ) == pValue ) ) return FALSE; } -- cgit From 37c43985147e370c1a3c0a0434767caf37f6b09c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 09:27:19 +0200 Subject: vitomation01: #i109696 - IsNamedDocLoaded also exists in t_files.inc (global, required include) so i removed it from here --- testautomation/writer/tools/includes/w_tool6.inc | 48 ------------------------ 1 file changed, 48 deletions(-) mode change 100644 => 100755 testautomation/writer/tools/includes/w_tool6.inc diff --git a/testautomation/writer/tools/includes/w_tool6.inc b/testautomation/writer/tools/includes/w_tool6.inc old mode 100644 new mode 100755 index caba673ae6be..f6322cfc15f3 --- a/testautomation/writer/tools/includes/w_tool6.inc +++ b/testautomation/writer/tools/includes/w_tool6.inc @@ -575,54 +575,6 @@ end function '-------------------------------------------------------------- -function hIsNamedDocLoaded (ShouldFile as String) as Boolean - '/// Input: name of loaded file; Output: True/False///' - '///+ Several checks may be combined: ///' - '///+ disabled: Plan A: requires clippboard: check, if not untitled 1 window... ///' - '///+ Plan B: SaveAs Dialog ///' - '///+ not used now: Plan C: check if hNavigatorOpenWindows() > 0 ///' - - '///' Plan A :-( /// - ''///+ to be able to check, that document was loaded, print something before opening new doc ///' - ''///+ during test, check if it is readable ... ///' - ' Kontext "DocumentWriter" - ' DocumentWriter.TypeKeys "" - ' DocumentWriter.TypeKeys "TBOlastWindow" - ' DocumentWriter.TypeKeys "" - - ' Kontext "DocumentWriter" - ' DocumentWriter.TypeKeys "" - ' DocumentWriter.TypeKeys "" - ' EditCopy - ' DocumentWriter.TypeKeys "" - ' if GetClipboardText <> "TBOlastWindow" Then ///' - - '/// ' Plan B :-) /// - '///+' if a doc got loaded, the filename in a 'SaveAs' Dlg is different from "" /// - '///+' usually the file name of the loaded document with an changed extension chosen from SO /// - - hIsNamedDocLoaded = False ' Let's start WorstCase :-( - FileSaveAs ' (Plan B) - Kontext "SpeichernDlg" - If DateiOhneExt(DateiExtract(Dateiname.GetSelText)) = DateiOhneExt(DateiExtract(ShouldFile)) Then - hIsNamedDocLoaded = True - ' Printlog "Filename: " + Dateiname.GetSelText+"; "+ShouldFile - ' Printlog "--------------------------------------------------Loaded as: " + Dateityp.GetSelText - Else - 'exception! for templates - if lcase(right(ShouldFile,3)) = "vor" or lcase(right(ShouldFile,3)) = "dot" then hIsNamedDocLoaded = True - End If - SpeichernDlg.Cancel - - '/ remove text of last window test text ///' - ' Kontext "DocumentWriter" - ' DocumentWriter.TypeKeys "" - ' DocumentWriter.TypeKeys "TBOlastWindow" - ' DocumentWriter.TypeKeys "" -end function - -'-------------------------------------------------------------- - sub hSetSpellHypLanguage dim sTrieit if bAsianLan then -- cgit From b76d17246aa07d656d619954caff282e0b112180 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 10:03:36 +0200 Subject: vitomation01: #i109696 - IsNamedDocLoaded now no longer takes the optional second parameter for verbosity. Set GVERBOSE = TRUE before calling the function --- testautomation/graphics/optional/includes/global/id_001.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 testautomation/graphics/optional/includes/global/id_001.inc diff --git a/testautomation/graphics/optional/includes/global/id_001.inc b/testautomation/graphics/optional/includes/global/id_001.inc old mode 100644 new mode 100755 index 1525074e027f..03bcbf6a396a --- a/testautomation/graphics/optional/includes/global/id_001.inc +++ b/testautomation/graphics/optional/includes/global/id_001.inc @@ -141,7 +141,7 @@ testcase tiFileSaveAs printlog "("+i+"/"+x+"): "+sFilter(i) hFileOpen ( sFilter(i) ) WaitSlot (3000) - If hIsNamedDocLoaded (sFilter(i), true) Then + If hIsNamedDocLoaded (sFilter(i)) Then printlog " used filter: " + hGetUsedFilter() else sTemp = left(right(sFilter(i),2),1) -- cgit From c2cb0325dd136c2099b8c9c1ab33f4eb8fe8d079 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 10:43:04 +0200 Subject: vitomation01: #i109696 - function fgetsizexy() does not set its returnvalue but modifies a function parameter instead. There is no checking whatsoever that the Position And Size dialog is really closed and then there were some more problems. Fully refactored --- testautomation/graphics/tools/id_tools.inc | 70 ++++++++++++++++-------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc index e9f99d438b7d..cee5c0ac7f12 100755 --- a/testautomation/graphics/tools/id_tools.inc +++ b/testautomation/graphics/tools/id_tools.inc @@ -277,42 +277,46 @@ end function '------------------------------------------------------------------------------- -function fGetSizeXY (sX as string, sY as string, bGet as boolean) as Boolean +function fGetSizeXY (sX as string, sY as string, bRetrieveOnly as boolean) as Boolean + + const RC_FAILURE = -1 + dim sTx as string dim sTy as string - dim bReturn as boolean - bReturn = True - try - ContextPositionAndSize - exit function - catch - warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" - endcatch - kontext - active.SetPage TabPositionAndSize - kontext "TabPositionAndSize" - if TabPositionAndSize.exists (5) then - sTx = Width.GetText - sTy = Height.GetText - TabPositionAndSize.OK - else - warnlog "Couldn't switch tab page :-( " - endif - if bGet then ' Get the Values only - sY = sTy - sX = sTx - else ' Get the Values and COMPARE them - if (LiberalMeasurement (sX,sTx) <> TRUE) then - warnlog "width is different :-( should: '"+sX+"' is: '"+sTx+"'" + "eventually a result of i35519" - bReturn = False - endif - if (LiberalMeasurement (sY,sTy) <> TRUE) then - warnlog "hight is different :-( should: '"+sY+"' is: '"+sTy+"'" + "eventually a result of i35519" - bReturn = False - endif - bGet = bReturn - endif + fGetSizeXY() = True + + if ( hUseAsyncSlot( "ContextPositionAndSize" ) <> RC_FAILURE ) then + + kontext + active.SetPage TabPositionAndSize + + kontext "TabPositionAndSize" + if ( TabPositionAndSize.exists( 2 ) ) then + sTx = Width.GetText() + sTy = Height.GetText() + hCloseDocument( TabPositionAndSize, "ok" ) + else + warnlog "Couldn't switch tab page :-( " + endif + + if ( bRetrieveOnly ) then ' Get the Values only + sY = sTy + sX = sTx + else ' Get the Values and compare them + if ( not LiberalMeasurement (sX,sTx) ) then + warnlog "width is different :-( should: '"+sX+"' is: '"+sTx+"'" + "eventually a result of i35519" + fGetSizeXY() = False + endif + if (not LiberalMeasurement (sY,sTy) ) then + warnlog "hight is different :-( should: '"+sY+"' is: '"+sTy+"'" + "eventually a result of i35519" + fGetSizeXY() = False + endif + endif + else + warnlog( "Failed to open dialog" ) + endif + end function '------------------------------------------------------------------------- -- cgit From f6163e652509fe9d20915665fedd4a88bedf15e5 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 10:45:57 +0200 Subject: vitomation01: #i109696 - function fIsDocumentWriteable() and fMakeDocumentWriteable() had stupid printlogs with many typos, fixed. --- testautomation/graphics/tools/id_tools.inc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc index cee5c0ac7f12..b0d5f1b84eaa 100755 --- a/testautomation/graphics/tools/id_tools.inc +++ b/testautomation/graphics/tools/id_tools.inc @@ -234,11 +234,6 @@ end function '------------------------------------------------------------------------------- function fIsDocumentWritable() as boolean - printlog " check if a document is writeable" - printlog " parameter:" - printlog " return:" - printlog " true if the document is writeable otherwise false" - Kontext "Standardbar" if Bearbeiten.GetState( 2 ) <> 1 then fIsDocumentWritable = false @@ -252,9 +247,6 @@ end function function fMakeDocumentWritable() as boolean printlog " make a document is writeable" - printlog " parameter:" - printlog " return:" - printlog " true if the document can make writeable otherwise false" Kontext "Standardbar" sleep ( 1 ) @@ -269,7 +261,7 @@ function fMakeDocumentWritable() as boolean fMakeDocumentWritable = false endif else - printlog "Document is allready writable." + printlog "Document is already writable." fMakeDocumentWritable = true endif -- cgit From c35ab87b52c52c50a68f46b94f6b6a08a11cbfe0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:02:10 +0200 Subject: vitomation01: #i109562 - More code refactoring in export_graphic.inc. A sthe function worked with invalid returnvalues from dysfunctional helper functions i had to replace quite some code. --- .../optional/includes/global/export_graphic.inc | 89 +++++++++++++++++----- 1 file changed, 71 insertions(+), 18 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/export_graphic.inc b/testautomation/graphics/optional/includes/global/export_graphic.inc index 6ff99435e190..2865ada2c9a9 100644 --- a/testautomation/graphics/optional/includes/global/export_graphic.inc +++ b/testautomation/graphics/optional/includes/global/export_graphic.inc @@ -76,10 +76,9 @@ testcase tEPS warnlog "Dialog was canceled, but file got saved, too :-( - i35177" endif else - Warnlog "No '" + sFilter + "'-Option-Dialog!" - i=5 + warnlog( "No export options dialog was displayed" ) end if - sleep 2 + Kontext "Active" if Active.Exists(2) then Warnlog "'" + sFilter + "' has a problem" @@ -93,7 +92,9 @@ testcase tEPS Kontext "EPSOptionen" if ( EPSOptionen.Exists( 2 ) ) then printlog "TextEinstellungen.select 2" - hCloseDialog( EPSOptionen, "cancel" ) + hCloseDialog( EPSOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) @@ -124,12 +125,13 @@ testcase tPCT const sExt = ".pct" printlog "open the document" - sDocument = gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString + sDocument = convertpath( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) hFileOpen( sDocument ) if ( hCallExport( OutputGrafikTBO , sFilter ) ) then Kontext "PICTOptionen" + printlog( "Export options dialog" ) if ( PICTOptionen.Exists( 2 ) ) then printlog "check if all properties have the right count, and depend on each other" @@ -147,27 +149,29 @@ testcase tPCT warnlog( "#i35177# - dialog canceled, still the file was saved" ) endif else - Warnlog "No '" + sFilter + "' -Dialog!" - i=5 + warnlog( "No export options dialog was displayed" ) end if - sleep 2 Kontext "Active" if Active.Exists(2) then Warnlog " '" + sFilter + "' has a problem" Active.OK end if + end if printlog " now save it realy and load the file afterwards" if ( hCallExport( OutputGrafikTBO, sFilter ) ) then Kontext "PICTOptionen" + printlog( "Export options dialog" ) if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check Breite.Less Hoehe.More hCloseDialog( PICTOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif sOutputFile = OutputGrafikTBO+sExt @@ -185,9 +189,9 @@ testcase tPCT hFileReOpen( sDocument ) printlog "check if the document is writable" - if fIsDocumentWritable = false then - printlog "make the document writable and check if it's succesfull" - if fMakeDocumentWritable = false then + if ( not fIsDocumentWritable ) then + printlog( "Document is write protected, changing state" ) + if ( not fMakeDocumentWritable ) then warnlog "The document can't be make writeable. Test stopped." goto endsub endif @@ -196,25 +200,26 @@ testcase tPCT hTypeKeys ("") fGetSizeXY sx1, sY, TRUE - if ( hCallExport (OutputGrafikTBO + "1" , sFilter, TRUE ) ) then + if ( hCallExport( OutputGrafikTBO + "1", sFilter, TRUE ) ) then Kontext "PICTOptionen" + printlog( "Export options dialog" ) if ( PICTOptionen.Exists( 2 ) ) then Original.Check hCloseDialog( PICTOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif sOutputFile = OutputGrafikTBO + "1" + sExt if ( hWaitForOutputFile( sOutputFile ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( sOutputFile ) ' local helper function, see bottom of this file else warnlog( "File was not saved: " & sOutputFile ) endif - bTemp = FALSE - fGetSizeXY sx1, sY, bTemp + bTemp = fGetSizeXY( sx1, sY, bTemp ) if (bTemp = FALSE) then warnlog "Selected original size NOT OK :-(" endif @@ -226,6 +231,7 @@ testcase tPCT if ( hCallExport( OutputGrafikTBO + "2" , sFilter, TRUE ) ) then Kontext "PICTOptionen" + printlog( "Export options dialog" ) if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check Breite.SetText "9" @@ -236,6 +242,8 @@ testcase tPCT sx1 = Breite.GetText sY = Hoehe.GetText hCloseDialog( PICTOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif sOutputFile = OutputGrafikTBO + "2" + sExt @@ -250,14 +258,14 @@ testcase tPCT kontext "DocumentDraw" DocumentDraw.TypeKeys ("") ContextOriginalSize - bTemp = FALSE - fGetSizeXY( sx1, sY, bTemp ) + bTemp = fGetSizeXY( sx1, sY, bTemp ) if ( not bTemp ) then warnlog "Selected original size NOT OK :-(" endif if ( hCallExport( OutputGrafikTBO + "3", sFilter, TRUE ) ) then Kontext "PICTOptionen" + printlog( "Export options dialog" ) if ( PICTOptionen.Exists( 2 ) ) then Groesse.Check sX2 = Breite.GetText @@ -277,6 +285,8 @@ testcase tPCT endif endif hCloseDialog( PICTOptionen, "cancel" ) + else + warnlog( "No export options dialog was displayed" ) endif endif @@ -299,10 +309,13 @@ testcase tPBM if ( PBMOptionen.Exists( 2 ) ) then Ascii.Check hCloseDialog( PBMOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + endif call hCloseDocument @@ -324,6 +337,8 @@ testcase tPGM if ( PGMOptionen.Exists( 2 ) ) then Ascii.Check hCloseDialog( PGMOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) @@ -350,10 +365,13 @@ testcase tPPM if ( PPMOptionen.Exists( 2 ) ) then Ascii.Check hCloseDialog( PPMOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + endif call hCloseDocument @@ -372,6 +390,8 @@ testcase tRAS if ( hCallExport( OutputGrafikTBO, sFilter ) ) then printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + else + warnlog( "No export options dialog was displayed" ) endif call hCloseDocument @@ -393,6 +413,8 @@ testcase tTIFF if ( hCallExport (OutputGrafikTBO , sFilter ) ) then printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + else + warnlog( "No export options dialog was displayed" ) endif call hCloseDocument @@ -411,6 +433,8 @@ testcase tXPM if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + else + warnlog( "No export options dialog was displayed" ) endif call hCloseDocument @@ -433,10 +457,13 @@ testcase tGIF Interlace.Uncheck TransparentSpeichern.UnCheck hCloseDialog( GIFOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + endif call hCloseDocument @@ -459,10 +486,13 @@ testcase tJPEG Echtfarben.Check Qualitaet.ToMin hCloseDialog( JpegOptionen, "ok" ) + else + warnlog( "No export options dialog was displayed" ) endif printlog( "Save image, close file and re-insert graphics into new file" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file + endif call hCloseDocument @@ -483,6 +513,29 @@ end function '******************************************************************************* +function hFileReOpen( cFile as string ) as boolean + + dim iDocumentCount as integer : iDocumentCount = getDocumentCount + hFileReopen() = false + + hCloseDocument() + + if ( cFile = "" ) then + hNewDocument() + else + if ( FileExists( cFile ) ) then + hFileOpen( cFile ) + else + warnlog( "hFileReOpen(): File does not exist: " & cFile ) + endif + endif + + if ( getDocumentCount = iDocumentCount ) then hFileReOpen() = true + +end function + +'******************************************************************************* + function hWaitForOutputFile( sOutputFile as string ) as boolean const FILE_WRITE_TIMEOUT = 30 @@ -506,4 +559,4 @@ function hWaitForOutputFile( sOutputFile as string ) as boolean next iWait -end function \ No newline at end of file +end function -- cgit From 2d73e69028b791f21362d015bc26ae1ca33dc3a3 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:02:44 +0200 Subject: vitomation01: #i109562 - Just a little better printlog for hUseAsyncSlot() --- testautomation/global/tools/includes/required/t_tools3.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index d598572209b9..d7c82d18d77d 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -992,7 +992,7 @@ function hUseAsyncSlot( cSlot as string ) as integer const RC_TIMEOUT = -1 ' Returnvalue if slot is not available const CFN = "global::tools::includes::required::hUseAsyncSlot(): " - if ( GVERBOSE ) then printlog( "Execute <" & cSlot & ">" ) + if ( GVERBOSE ) then printlog( CFN & "Execute <" & cSlot & ">" ) WaitSlot() for iRetries = 1 to MAX_RETRIES -- cgit From fd646b13f761ba28a16d281adf4bb650530a0a89 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:03:25 +0200 Subject: vitomation01: #i109562 - Replaced all complex mouse operation support functions with much simpler generic ones --- .../global/tools/includes/required/t_doc1.inc | 516 +++++++++------------ 1 file changed, 219 insertions(+), 297 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc1.inc b/testautomation/global/tools/includes/required/t_doc1.inc index ed74336dfc72..c85b5f987fc1 100644 --- a/testautomation/global/tools/includes/required/t_doc1.inc +++ b/testautomation/global/tools/includes/required/t_doc1.inc @@ -34,7 +34,6 @@ sub hNewDocument ( optional bANewDoc ) '/// hNewDocument : open a new document dependent on 'gApplication' ///' dim sTemp as string - gApplication = gApplication if IsMissing ( bANewDoc ) <> TRUE then if bANewDoc = TRUE then @@ -52,10 +51,10 @@ sub hNewDocument ( optional bANewDoc ) else FileOpen "FileName", "private:factory/swriter", "FrameName", "_default", "SynchronMode", TRUE end if - if ( DocumentWriter.IsMax() = false ) then - DocumentWriter.Maximize() - Wait( 2000 ) - end if + if ( DocumentWriter.IsMax() = false ) then + DocumentWriter.Maximize() + Wait( 2000 ) + end if case "CALC" Kontext "DocumentCalc" if gNoNewDoc = TRUE then @@ -63,10 +62,10 @@ sub hNewDocument ( optional bANewDoc ) else FileOpen "FileName", "private:factory/scalc", "FrameName", "_default", "SynchronMode", TRUE end if - if ( DocumentCalc.IsMax() = false ) then - DocumentCalc.Maximize() - Wait( 2000 ) - end if + if ( DocumentCalc.IsMax() = false ) then + DocumentCalc.Maximize() + Wait( 2000 ) + end if case "IMPRESS" Kontext "DocumentImpress" if gNoNewDoc = TRUE then @@ -84,10 +83,10 @@ sub hNewDocument ( optional bANewDoc ) end if Kontext "DocumentImpress" Sleep 2 - if ( DocumentImpress.IsMax() = false ) then - DocumentImpress.Maximize() - Wait( 2000 ) - end if + if ( DocumentImpress.IsMax() = false ) then + DocumentImpress.Maximize() + Wait( 2000 ) + end if end if case "DRAW" Kontext "DocumentDraw" @@ -96,10 +95,10 @@ sub hNewDocument ( optional bANewDoc ) else FileOpen "FileName", "private:factory/sdraw", "FrameName", "_default", "SynchronMode", TRUE end if - if ( DocumentDraw.IsMax() = false ) then - DocumentDraw.Maximize() - Wait( 2000 ) - end if + if ( DocumentDraw.IsMax() = false ) then + DocumentDraw.Maximize() + Wait( 2000 ) + end if case "MASTERDOCUMENT" Kontext "DocumentMasterDoc" if gNoNewDoc = TRUE then @@ -111,10 +110,10 @@ sub hNewDocument ( optional bANewDoc ) sleep (1) if Navigator.Exists(5) then Navigator.Close Kontext "DocumentMasterDoc" - if ( DocumentMasterDoc.IsMax() = false ) then - DocumentMasterDoc.Maximize() - Wait( 2000 ) - end if + if ( DocumentMasterDoc.IsMax() = false ) then + DocumentMasterDoc.Maximize() + Wait( 2000 ) + end if case "MATH" Kontext "DocumentMath" if gNoNewDoc = TRUE then @@ -123,10 +122,10 @@ sub hNewDocument ( optional bANewDoc ) FileOpen "FileName", "private:factory/smath", "FrameName", "_default", "SynchronMode", TRUE end if Kontext "DocumentMath" - if ( DocumentMath.IsMax() = false ) then - DocumentMath.Maximize() - Wait( 2000 ) - end if + if ( DocumentMath.IsMax() = false ) then + DocumentMath.Maximize() + Wait( 2000 ) + end if case "HTML" Kontext "DocumentWriterWeb" if gNoNewDoc = TRUE then @@ -135,10 +134,10 @@ sub hNewDocument ( optional bANewDoc ) FileOpen "FileName", "private:factory/swriter/web", "FrameName", "_default", "SynchronMode", TRUE end if Kontext "DocumentWriterWeb" - if ( DocumentWriterWeb.IsMax() = false ) then - DocumentWriterWeb.Maximize() - Wait( 2000 ) - end if + if ( DocumentWriterWeb.IsMax() = false ) then + DocumentWriterWeb.Maximize() + Wait( 2000 ) + end if case "DATABASE" FileOpen "FileName", "private:factory/sdatabase?Interactive", "FrameName", "_default", "SynchronMode", TRUE Kontext "DatabaseWizard" @@ -189,37 +188,55 @@ end sub '------------------------------------------------------------------------------- ' function hCreateLabels() as Boolean - '/// hCreateLabels : open the tab-dialog for making a new lable (file/new/lable) ///' - FileOpen "FileName", "private:factory/swriter?slot=21051", "FrameName", "_default", "SynchronMode", TRUE - Sleep (2) + + hCreateLabels() = false + + FileOpen( "FileName", "private:factory/swriter?slot=21051", "FrameName", "_default", "SynchronMode", TRUE ) + Kontext - Active.Setpage TabEtiketten - Kontext "TabEtiketten" - if Not TabEtiketten.Exists then - Warnlog "Dialog for Labels is not up!" - hCreateLabels = False + if ( Active.exists( 5 ) ) then + Active.setPage TabEtiketten + + if ( TabEtiketten.exists( 1 ) ) then + if ( Tabetiketten.isVisible() ) then + hCreateLabels() = true + else + warnlog( " is not visible" ) + endif + else + warnlog( " not open" ) + endif else - hCreateLabels = True + warnlog( "Failed to open " ) endif - Sleep (2) + end function ' '------------------------------------------------------------------------------- ' function hCreateBusinessCards() as Boolean - '/// hCreateBusinessCards : open the tab-dialog for making a new business card (file/new/business cards) ///' - FileOpen "FileName", "private:factory/swriter?slot=21052", "FrameName", "_default", "SynchronMode", TRUE - Sleep (2) + + hCreateBusinessCards() = false + + FileOpen( "FileName", "private:factory/swriter?slot=21052", "FrameName", "_default", "SynchronMode", TRUE ) + Kontext - Active.Setpage TabEtikettenMedium - Kontext "TabEtikettenMedium" - if Not TabEtikettenMedium.Exists then - Warnlog "Dialog for BusinessCards is not up!" - hCreateBusinessCards = False + if ( Active.exists( 5 ) ) then + Active.setPage TabEtikettenMedium + + if ( TabEtikettenMedium.exists( 1 ) ) then + if ( TabetikettenMedium.isVisible() ) then + hCreateBusinessCards() = true + else + warnlog( " is not visible" ) + endif + else + warnlog( " not open" ) + endif else - hCreateBusinessCards = True + warnlog( "Failed to open " ) endif - Sleep (2) + end function ' '------------------------------------------------------------------------------- @@ -231,301 +248,206 @@ function hCloseDocument() '/// Accept to lose changes' Kontext "Active" - if Active.Exists(2) then + if ( Active.Exists( 2 ) ) then try Active.No catch - Active.Click ( 202 ) + Active.Click( 202 ) endcatch end if - + '/// Wait for FileClose to complete' WaitSlot( 2000 ) - + end function ' '------------------------------------------------------------------------------- ' -sub gMouseClick ( X%, Y%, optional mb% ) - '/// gMouseClick ( x_Position, y-Position ) : make a mouseclick on the document (dependent on 'gApplication') ///' - '/// default left mousebutton will be used otherwise you can optionally give the mousebutton to press - '/// 1 = left mouse button - '/// 2 = left mouse button - '/// 3 = left mouse button +sub gMouseClick ( X%, Y%, optional _mousebutton ) - gApplication = gApplication + dim oDocument as object + dim mousebutton as integer - if IsMissing(mb%) then mb% = 1 + ' Handle infamous optional parameter + if ( IsMissing( _mousebutton ) ) then + mousebutton = 1 + else + mousebutton = _mousebutton + endif - select case gApplication - case "BACKGROUND" - Kontext "BACKGROUND" - autoexecute = false - Desktop.MouseDown ( X%, Y%, mb% ) - Desktop.MouseUp ( X%, Y%, mb% ) - autoexecute = true - case "CALC" - Kontext "DocumentCalc" - autoexecute = false - DocumentCalc.MouseDown ( X%, Y%, mb% ) - DocumentCalc.MouseUp ( X%, Y%, mb% ) - autoexecute = true - case "DRAW" - Kontext "DocumentDraw" - autoexecute=false - DocumentDraw.MouseDown ( X%, Y%, mb% ) - DocumentDraw.MouseUp ( X%, Y%, mb% ) - autoexecute=true - case "WRITER" - Kontext "DocumentWriter" - autoexecute=false - DocumentWriter.MouseDown ( X%, Y%, mb% ) - DocumentWriter.MouseUp ( X%, Y%, mb% ) - autoexecute=true - case "HTML" - Kontext "DocumentWriterWeb" - autoexecute=false - DocumentWriterWeb.MouseDown ( X%, Y%, mb% ) - DocumentWriterWeb.MouseUp ( X%, Y%, mb% ) - autoexecute=true - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - autoexecute=false - DocumentMasterDoc.MouseDown ( X%, Y%, mb% ) - DocumentMasterDoc.MouseUp ( X%, Y%, mb% ) - autoexecute=true - case "IMPRESS" - Kontext "DocumentImpress" - autoexecute=false - DocumentImpress.MouseDown ( X%, Y%, mb% ) - DocumentImpress.MouseUp ( X%, Y%, mb% ) - autoexecute=true - case "MATH" - Kontext "DocumentMath" - autoexecute=false - DocumentMath.MouseDown ( X%, Y%, mb% ) - DocumentMath.MouseDown ( X%, Y%, mb% ) - autoexecute=true - case "CHART" - Kontext "DocumentChart" - autoexecute=false - DocumentChart.MouseDown ( X%, Y%, mb% ) - DocumentChart.MouseUp ( X%, Y%, mb% ) - autoexecute=true - end select - sleep (2) + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + + autoexecute = false + oDocument.MouseDown ( X%, Y%, mousebutton ) + oDocument.MouseUp ( X%, Y%, mousebutton ) + autoexecute = true + wait( 1000 ) + end sub ' '------------------------------------------------------------------------------- ' sub gMouseDoubleClick ( X%, Y% ) - '/// gMouseDoubleClick ( x_Position, y-Position ) : make a mouse-doubleclick on the document ( dependent on 'gApplication' ) ///' - gApplication = gApplication - select case gApplication - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.MouseDoubleClick ( X%, Y% ) - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.MouseDoubleClick ( X%, Y% ) - case "BACKGROUND" - Kontext "BACKGROUND" - Desktop.MouseDoubleClick ( X%, Y% ) - case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.MouseDoubleClick ( X%, Y% ) - case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.MouseDoubleClick ( X%, Y% ) - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.MouseDoubleClick ( X%, Y% ) - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.MouseDoubleClick ( X%, Y% ) - case "MATH" - Kontext "DocumentMath" - DocumentMath.MouseDoubleClick ( X%, Y% ) - end select - Sleep (2) + dim oDocument as object + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + oDocument.MouseDoubleClick ( X%, Y% ) + wait( 1000 ) + end sub ' '------------------------------------------------------------------------------- ' sub gMouseMove ( BeginX%, BeginY%, EndX%, EndY% ) - '/// gMouseMove ( BeginX, BeginY, EndX, EndY ) : make a mousemove trom Bx,By to Ex,Ey on the document ( dependent on 'gApplication' ) ///' - gApplication = gApplication - select case gApplication - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.MouseDown ( BeginX%, BeginY% ) - DocumentCalc.MouseMove ( EndX%, EndY%) - DocumentCalc.MouseUp ( EndX%, EndY% ) - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.MouseDown ( BeginX%, BeginY% ) - DocumentDraw.MouseMove ( EndX%, EndY% ) - DocumentDraw.MouseUp ( EndX%, EndY% ) - case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.MouseDown ( BeginX%, BeginY% ) - DocumentWriter.MouseMove ( EndX%, EndY%) - DocumentWriter.MouseUp ( EndX%, EndY% ) - case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.MouseDown ( BeginX%, BeginY% ) - DocumentWriterWeb.MouseMove ( EndX%, EndY%) - DocumentWriterWeb.MouseUp ( EndX%, EndY% ) - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.MouseDown ( BeginX%, BeginY% ) - DocumentMasterDoc.MouseMove ( EndX%, EndY%) - DocumentMasterDoc.MouseUp ( EndX%, EndY% ) - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.MouseDown ( BeginX%, BeginY% ) - DocumentImpress.MouseMove ( EndX%, EndY%) - DocumentImpress.MouseUp ( EndX%, EndY% ) - case "MATH" - Kontext "DocumentMath" - DocumentMath.MouseDown ( BeginX%, BeginY% ) - DocumentMath.MouseMove ( EndX%, EndY%) - DocumentMath.MouseDown ( EndX%, EndY% ) - end select - Sleep (2) + dim oDocument as object + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + oDocument.MouseDown ( BeginX%, BeginY% ) + oDocument.MouseMove ( EndX%, EndY%) + oDocument.MouseUp ( EndX%, EndY% ) + wait( 1000 ) + end sub ' '------------------------------------------------------------------------------- ' sub gMouseDown ( BeginX%, BeginY% ) - '/// gMouseDown ( x_Position, y-Position ) : make a mousedown on the document (dependent on 'gApplication') ///' - '///+ DON'T FORGETT to call gMouseUp ! ///' - gApplication = gApplication - select case gApplication - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.MouseDown ( BeginX%, BeginY% ) - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.MouseDown ( BeginX%, BeginY% ) - case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.MouseDown ( BeginX%, BeginY% ) - case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.MouseDown ( BeginX%, BeginY% ) - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.MouseDown ( BeginX%, BeginY% ) - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.MouseDown ( BeginX%, BeginY% ) - case "MATH" - Kontext "DocumentMath" - DocumentMath.MouseDown ( BeginX%, BeginY% ) - end select - Sleep (2) + dim oDocument as object + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + oDocument.MouseDown ( BeginX%, BeginY% ) + wait( 300 ) + end sub ' '------------------------------------------------------------------------------- ' sub gMouseMove2 ( EndX%, EndY% ) - '/// gMouseMove2 ( x_Position, y-Position ) : move the pointer to position on the document (dependent on 'gApplication') ///' - gApplication = gApplication - select case gApplication - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.MouseMove ( EndX%, EndY%) - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.MouseMove ( EndX%, EndY% ) - case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.MouseMove ( EndX%, EndY%) - case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.MouseMove ( EndX%, EndY%) - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.MouseMove ( EndX%, EndY%) - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.MouseMove ( EndX%, EndY%) - case "MATH" - Kontext "DocumentMath" - DocumentMath.MouseMove ( EndX%, EndY%) - end select - Sleep (2) + dim oDocument as object + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + oDocument.MouseMove ( EndX%, EndY%) + wait( 300 ) + end sub ' '------------------------------------------------------------------------------- ' sub gMouseUp ( EndX%, EndY% ) - '/// gMouseUp ( x_Position, y-Position ) : make a release button on the document (dependent on 'gApplication') ///' - gApplication = gApplication - select case gApplication - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.MouseUp ( EndX%, EndY% ) - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.MouseUp ( EndX%, EndY% ) - case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.MouseUp ( EndX%, EndY% ) - case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.MouseUp ( EndX%, EndY% ) - case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.MouseUp ( EndX%, EndY% ) - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.MouseUp ( EndX%, EndY% ) - case "MATH" - Kontext "DocumentMath" - DocumentMath.MouseUp ( EndX%, EndY% ) - end select - Sleep (2) + dim oDocument as object + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' get the current document object + oDocument.MouseUp ( EndX%, EndY% ) + wait( 300 ) + end sub ' '------------------------------------------------------------------------------- ' -sub hTypeKeys ( OutputText , optional iLoop as Integer ) - '/// hTypeKeys ( OutputText , optional iLoop as Integer ): type the keys in 'outputtext' 'iLoop' times ///' - Dim i as integer - - If IsMissing(iLoop) = True then iLoop = 1 - For i = 1 to iLoop - Select Case Ucase(gApplication) - Case "WRITER" - Kontext "DocumentWriter" - DocumentWriter.TypeKeys OutputText - Case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - DocumentMasterDoc.TypeKeys OutputText - Case "HTML" - Kontext "DocumentWriterWeb" - DocumentWriterWeb.TypeKeys OutputText - case "CALC" - Kontext "DocumentCalc" - DocumentCalc.TypeKeys OutputText - case "DRAW" - Kontext "DocumentDraw" - DocumentDraw.TypeKeys OutputText - case "IMPRESS" - Kontext "DocumentImpress" - DocumentImpress.TypeKeys OutputText - case "MATH" - Kontext "DocumentMath" - DocumentMath.TypeKeys OutputText - end select - wait 500 - next i +sub hTypeKeys ( OutputText , optional _iLoop as Integer ) + + dim iRepeat as integer + dim iLoop as integer + dim oDocument as object + + ' Handle infamous optional parameter + If ( IsMissing( _iLoop ) ) then + iLoop = 1 + else + iLoop = _iLoop + endif + + hSetDocumentContext() ' set kontext to current document type + oDocument = hSetDocumentObject() ' Get the document object we want to write to + + for iRepeat = 1 to iLoop + oDocument.TypeKeys( OutputText ) + wait( 200 ) + next iRepeat + end sub +'******************************************************************************* + +function hSetDocumentContext() as string + + ' link gApplication to its document kontext + + dim cDocumentContext as string + + select case( gApplication ) + case "DRAW" : cDocumentContext = "DocumentDraw" + case "IMPRESS" : cDocumentContext = "DocumentImpress" + case "WRITER" : cDocumentContext = "DocumentWriter" + case "CALC" : cDocumentContext = "DocumentCalc" + case "MATH" : cDocumentContext = "DocumentMath" + case "HTML" : cDocumentContext = "DocumentWriterWeb" + case "MASTERDOCUMENT" : cDocumentContext = "DocumentMasterDoc" + case "CHART" : cDocumentContext = "DocumentChart" + case "BACKGROUND" : cDocumentContext = "Background" + case else : warnlog( "Unknown gApplication: " & gApplication ) + end select + + kontext cDocumentContext : hSetDocumentContext() = cDocumentContext + +end function + +'******************************************************************************* + +function hSetDocumentObject() as object + + ' link gApplication to its document object + + dim oDocumentObject as object + + select case( gApplication ) + Case "WRITER" : oDocumentObject = DocumentWriter + Case "MASTERDOCUMENT" : oDocumentObject = DocumentMasterDoc + Case "HTML" : oDocumentObject = DocumentWriterWeb + case "CALC" : oDocumentObject = DocumentCalc + case "DRAW" : oDocumentObject = DocumentDraw + case "IMPRESS" : oDocumentObject = DocumentImpress + case "MATH" : oDocumentObject = DocumentMath + case "CHART" : oDocumentObject = DocumentChart + case "BACKGROUND" : oDocumentObject = Desktop + case else : warnlog( "Unknown gApplication: " & gApplication ) + end select + + hSetDocumentObject() = oDocumentObject + +end function + +'******************************************************************************* + +function hSetDocumentFactory() as string + + ' link gApplication to its factory as used by FileOpen slot + + dim cDocumentFactory as string + + select case( gApplication ) + case "DRAW" : cDocumentFactory = "private:factory/sdraw" + case "IMPRESS" : cDocumentFactory = "private:factory/simpress" + case "WRITER" : cDocumentFactory = "private:factory/swriter" + case "CALC" : cDocumentFactory = "private:factory/scalc"" + case "MATH" : cDocumentFactory = "private:factory/smath" + case "HTML" : cDocumentFactory = "private:factory/swriter/web" + case "MASTERDOCUMENT" : cDocumentFactory = "private:factory/swriter/GlobalDocument" + case "DATABASE" : cDocumentFactory = "private:factory/sdatabase?Interactive" + case else : warnlog( "Unknown gApplication: " & gApplication ) + end select + + hSetDocumentFactory() = cDocumentFactory + +end function \ No newline at end of file -- cgit From 7a25023879e295335dca367a84caedff9ea1dc6f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:04:17 +0200 Subject: vitomation01: #i109562 - Replaced most functions with simpler ones, eliminated unnecessary sleeps etc. --- .../global/tools/includes/required/t_files.inc | 288 +++++++-------------- 1 file changed, 95 insertions(+), 193 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_files.inc b/testautomation/global/tools/includes/required/t_files.inc index 00c584400882..42b575c1187a 100755 --- a/testautomation/global/tools/includes/required/t_files.inc +++ b/testautomation/global/tools/includes/required/t_files.inc @@ -31,199 +31,125 @@ '* '\****************************************************************************** -function hGrafikEinfuegen ( Grafik$ ) as Boolean - '/// hGrafikEinfuegen hGraphicInsert - '/// A graphic will be inserted (not linked). - '/// Input: Filename with complete path - '/// Return: TRUE or FALSE if the graphic could be inserted or not. +function hGrafikEinfuegen( cFile as string ) as Boolean - Dim DieDatei as String - Dim IsActive as Boolean + hGrafikEinfuegen() = hInsertGraphic( cFile, "Static" ) + exit function + +end function - DieDatei = ConvertPath ( Grafik$ ) +'******************************************************************************* - InsertGraphicsFromFile - WaitSlot() +function hGrafikVerknuepftEinfuegen( cFile as string ) as Boolean - Kontext - If Active.Exists(1) then - warnlog " Hinweis: " & Active.GetText - Active.Ok - End If + hGrafikVerknuepftEinfuegen() = hInsertGraphic( cFile, "Linked" ) + exit function +end function - Kontext "GrafikEinfuegenDlg" - if ( GrafikEinfuegenDlg.exists( 2 ) ) then +'******************************************************************************* - Vorschau.Uncheck - if gApplication <> "HTML" then - Verknuepfen.UnCheck - end if +function hInsertGraphic( byval cFile as string, byval cMode as string ) as boolean - Dateiname.SetText DieDatei - DateiTyp.Select 1 ' set the filter to 'all formats' - Oeffnen.Click + ' Insert a graphic file to the current document either linked or static + ' cFile: Fully qualified path to the file to be inserted + ' cMode: Supply "Linked" to link, empty string or anything else is static - Kontext "Active" - if Active.Exists(2) then - Warnlog " Hinweis: " & Active.GetText - try - Active.OK - catch - try - Active.Yes - catch - Active.Cancel - endcatch - endcatch - Kontext "GrafikEinfuegenDlg" - if GrafikEinfuegenDlg.Exists then - GrafikEinfuegenDlg.Cancel - GarfikEinfuegenDlg.notExists( 4 ) - endif - else - hGrafikEinfuegen = IsImageLoaded - end if - else - warnlog( "Insert graphics dialog not open" ) - endif - -end function -' -'------------------------------------------------------------------------------- -' -function hGrafikVerknuepftEinfuegen ( Grafik$ ) as Boolean - '/// hGrafikEinfuegenEinfuegen hGraphicInsertLinked - '/// A graphic will be inserted LINKED - '/// Input: Filename with complete path - '/// Return: TRUE or FALSE if the graphic could be inserted or not. - Dim DieDatei as String - Dim IsActive as Boolean - - DieDatei = ConvertPath ( Grafik$ ) - - InsertGraphicsFromFile - WaitSlot() - - Kontext - If Active.Exists(1) then - warnlog " Hinweis: " & Active.GetText - Active.Ok - End If - Kontext "GrafikEinfuegenDlg" - if ( GrafikEinfuegenDlg.exists( 1 ) ) then - - Vorschau.UnCheck - if gApplication <> "HTML" AND gApplication <> "HTML" then - Verknuepfen.Check - end if + ' In difference to the older functions (GrafikEinfuegen etc.) this function + ' does provide a working returnvalue and does not secretly hide warnings and + ' errors. It does not set the file type. - Dateiname.SetText DieDatei - DateiTyp.Select 1 ' set the filter to 'all formats' - Oeffnen.Click + ' Make hFileWait() complain about any messageboxes + const SHOW_WARNINGS = true - Kontext "Active" - if Active.Exists(2) then - Warnlog " Hinweis: " + Active.GetText - try - Active.OK - catch - Active.Yes - endcatch - Kontext "GrafikEinfuegenDlg" - if GrafikEinfuegenDlg.Exists then - GrafikEinfuegenDlg.Cancel + ' Find out whether we link the file or not + dim bLinked as boolean : bLinked = false + if ( lcase( cMode ) = "linked" ) then bLinked = true + + hInsertGraphic() = false + cFile = convertpath( cFile ) + + if ( FileExists( cFile ) ) then + InsertGraphicsFromFile + + kontext "GrafikEinfuegenDlg" + if ( GrafikEinfuegenDlg.exists( 3 ) ) then + + Vorschau.unCheck() + if ( Verknuepfen.isEnabled() ) then + if ( bLinked ) then + Verknuepfen.check() + else + Verknuepfen.unCheck() + endif endif + + DateiName.setText( cFile ) + Oeffnen.click() + + if ( hFileWait( SHOW_WARNINGS ) >= 0 ) then hInsertGraphic() = true + else - hGrafikVerknuepftEinfuegen = IsImageLoaded - end if + warnlog( "hInsertGraphic(): Failed to open dialog" ) + endif else - 'GrafikEinfuegenDlg not open + warnlog( "hInsertGraphic(): File does not exist: " & cFile ) endif + end function -' -'------------------------------------------------------------------------------- -' -function hIsNamedDocLoaded (ShouldFile as String, optional bSilent as boolean) as Boolean - dim sTemp as string - '/// hIsNamedDocLoaded ///' - '/// !fails always if a template is loaded, because you have to set a new filename in the save-dialog -> not usable in this case ! ///' - '/// Input: name of loaded file; Output: True/False ///' - '///+' if a doc got loaded, the filename in a 'SaveAs' Dlg is different from "" /// - '///+' usually the file name of the loaded document with an changed extension chosen from SO /// - - if (isMissing(bSilent)) then - bSilent = False - endif +'******************************************************************************* - hIsNamedDocLoaded = FALSE ' Let's start WorstCase :-( - FileSaveAs - Kontext "SpeichernDlg" - If DateiOhneExt(DateiExtract(Dateiname.GetSelText)) = DateiOhneExt(DateiExtract(ShouldFile)) Then - hIsNamedDocLoaded = True - Else - sTemp = left(right(ShouldFile,2),1) ' get the 2nd last character ' vor;dot;sti;pot;std;xlt - if (((sTemp="o") or (sTemp="t") or (sTemp="l")) and ((left(right(ShouldFile,4),1)=".") or (left(right(ShouldFile,5),1)="."))) then - hIsNamedDocLoaded = TRUE ' exception! for linux! and MS-Office Templates - else - if ((Dateiname.GetSeltext = "") and not bSilent) then - Warnlog "Default filename is empty!"+left(right(ShouldFile,3),1) - endif - endif - End If - SpeichernDlg.Cancel -end function -' -'------------------------------------------------------------------------------- -' -function IsImageLoaded +function hIsNamedDocLoaded( cFileName as string ) as boolean -' used by: -' - hGrafikEinfuegen = IsImageLoaded -' - hGrafikVerknuepftEinfuegen = IsImageLoaded + ' Retrieve the current filename from the document properties - which in + ' comparision to the old approach to retrive the name from the file save + ' dialog - gives us the file including its extension. So we only need + ' to compare the last characters from a full path to be relatively + ' certain that we work with the correct file. There is some small margin of + ' error, though. - '/// IsImageLoaded - '/// Wait until images in document are loaded - Dim i% : Dim Herbert as Boolean + const CFN = "global::tools::includes::required::hIsNamedDocumentLoaded(): " + const RC_FAILURE = -1 - Sleep 3 - for i%=1 to 20 - try - Herbert = IsDocImageLoading - catch - Herbert = FALSE - endcatch - if Herbert = TRUE then - i%=100 + dim cDocumentName as string + dim iDocumentNameLength as integer + + hIsNamedDocLoaded() = false + + if ( hUseAsyncSlot( "FileProperties" ) <> RC_FAILURE ) then + + kontext "TabDokument" + if ( TabDokument.exists( 2 ) ) then + + cDocumentName = DokumentName.getText() + iDocumentNameLength = len( cDocumentName ) + + if ( GVERBOSE ) then + printlog( CFN & "Expected file: " & cFileName ) + printlog( CFN & "Current file.: " & cDocumentName ) + printlog( CFN & "Comparing last " & iDocumentNameLength & " characters" ) + endif + + if ( right( cFileName, iDocumentNameLength ) = cDocumentName ) then + if ( GVERBOSE ) then printlog( CFN & "This is the expected file" ) + hIsNamedDocLoaded() = true + else + if ( GVERBOSE ) then printlog( CFN & "This is *not* the expected file" ) + endif + + hCloseDialog( TabDokument, "cancel" ) + else + warnlog( CFN & "Unable to open dialog " ) endif - Sleep (1) - next i% - if i<100 then - IsImageLoaded = FALSE else - IsImageLoaded = TRUE - end if -end function -' -'------------------------------------------------------------------------------- -' -function hGetUsedFilter () as string - - ' used in math and graphics modules - '/// Get used filter for loaded file. - try - FileSaveAs - Kontext "SpeichernDlg" - hGetUsedFilter = dateityp.getseltext - SpeichernDlg.Cancel - catch - hGetUsedFilter = "Not possible; try/catch fail in function" - endcatch + warnlog( CFN & "Unable to execute slot " ) + endif + end function -' -'------------------------------------------------------------------------------- -' + +'******************************************************************************* + function hExportAsPDFmulti (iTypeOfCall as integer, bExecute as boolean, sFileName as string, bAutoExtension as boolean, bOverwriteFile as boolean, iRange as integer, iConpression as integer, optional sRange as string) as boolean '/// Export a document to PDF with various options. '///+ INPUT @@ -580,30 +506,6 @@ function hFileOpen( cFile as string ) as boolean FileOpen( "URL", sFile, "FrameName", "_default" ) if ( hFileWait( FALSE ) >= 0 ) then hFileOpen() = TRUE -end function -' -'------------------------------------------------------------------------------- -' -function hFileReOpen( cFile as string ) as boolean - - const CFN = "global::tools::inc::t_files.inc::hFileReOpen(): " - dim iDocumentCount as integer : iDocumentCount = getDocumentCount - hFileReopen() = false - - hCloseDocument() - - if ( cFile = "" ) then - hNewDocument() - else - if ( FileExists( cFile ) ) then - hFileOpen( cFile ) - else - warnlog( CFN & "File does not exist: " & cFile ) - endif - endif - - if ( getDocumentCount = iDocumentCount ) then hFileReOpen() = true - end function ' '------------------------------------------------------------------------------- -- cgit From f0268ed20f3d195909b64b7801f843d1e6bb838c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:05:32 +0200 Subject: vitomation01: #i109562 - Added function hGetUsedFilter() - it retrieves the default filter for the current document from the FileSave dialog. This function was replicated multiple times across testautomation. --- .../global/tools/includes/required/t_filters.inc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) mode change 100644 => 100755 testautomation/global/tools/includes/required/t_filters.inc diff --git a/testautomation/global/tools/includes/required/t_filters.inc b/testautomation/global/tools/includes/required/t_filters.inc old mode 100644 new mode 100755 index 21ba12af5363..f6a2beca6eb0 --- a/testautomation/global/tools/includes/required/t_filters.inc +++ b/testautomation/global/tools/includes/required/t_filters.inc @@ -516,4 +516,19 @@ function hGetSection( lsList() as string , iSectionBegin as integer , iSectionEn end function +'******************************************************************************* + +function hGetUsedFilter () as string + + ' used in math and graphics modules + '/// Get used filter for loaded file. + try + FileSaveAs + Kontext "SpeichernDlg" + hGetUsedFilter = dateityp.getseltext + SpeichernDlg.Cancel + catch + hGetUsedFilter = "Not possible; try/catch fail in function" + endcatch +end function -- cgit From 20ba9e3f3baba67a201356591d1db98c034a495e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:06:42 +0200 Subject: vitomation01: #i109562 - Code cleanup, fixed countless bogus functions, moved stuff to global, make tests use global functions where local copies existed. --- testautomation/graphics/tools/id_tools.inc | 1282 +++++++++++++------------- testautomation/graphics/tools/id_tools_2.inc | 913 +++++++++--------- 2 files changed, 1083 insertions(+), 1112 deletions(-) mode change 100755 => 100644 testautomation/graphics/tools/id_tools.inc mode change 100755 => 100644 testautomation/graphics/tools/id_tools_2.inc diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc old mode 100755 new mode 100644 index b0d5f1b84eaa..2940c0f35e3e --- a/testautomation/graphics/tools/id_tools.inc +++ b/testautomation/graphics/tools/id_tools.inc @@ -69,7 +69,7 @@ function GetDecimalSeperator ( sDummy$ ) as String printlog "Input : number with fractionmark from 'NumericField' as String " printlog "+ Output: '.' or ',' as String " dim i1, i2 as integer - + printlog "get position of fraction mark / get IT" i1 = instr (sDummy$, ",") i2 = instr (sDummy$, ".") @@ -88,10 +88,10 @@ function LiberalMeasurement ( sShould$, sActual$) as Boolean printlog "+ there are also some rounding errors because of the internal representatio of floating point numbers in computers " printlog "+ now lets try to get rid of them and have a nicer output in tests... " printlog " measurement units are defined in http://gsl.openoffice.org/source/browse/gsl/vcl/source/src/units.src " - + dim iTolerance as Double - LiberalMeasurement = False + LiberalMeasurement = False if (sShould$ = sActual$) then LiberalMeasurement = True @@ -103,12 +103,12 @@ function LiberalMeasurement ( sShould$, sActual$) as Boolean printlog "set factor for liberality" printlog "took units from http://gsl.openoffice.org/source/browse/gsl/vcl/source/src/units.src" select case GetMeasUnit(sShould$) - case "mm", "ミリ", "公厘" : iTolerance = 2.0 '01, 81, 88 - case "cm","センチ","厘米","公分" : iTolerance = 0.5 '01, 81, 86, 88 - case chr$(34) : iTolerance = 2.5 - case "pi","ピクセル" : iTolerance = 2.5 '01, 81 - case "pt", "ポイント" : iTolerance = 2.5 '01, 81 - case "" : iTolerance = 1.5 ' cm is presubposition in old functions + case "mm", "ミリ", "公厘" : iTolerance = 2.0 '01, 81, 88 + case "cm","センチ","厘米","公分" : iTolerance = 0.5 '01, 81, 86, 88 + case chr$(34) : iTolerance = 2.5 + case "pi","ピクセル" : iTolerance = 2.5 '01, 81 + case "pt", "ポイント" : iTolerance = 2.5 '01, 81 + case "" : iTolerance = 1.5 ' cm is presubposition in old functions case else iTolerance = 2.5 qaErrorLog "This Unit is not available in this function. '" + GetMeasUnit(sShould$) + "'" @@ -116,7 +116,7 @@ function LiberalMeasurement ( sShould$, sActual$) as Boolean printlog "have to get the measurem unit, cause the offset is different for each" printlog "!!! val(str()) is important because of double calculating actions !!! #110996#" if ( val(str(StrToDouble(sShould$)+iTolerance)) >= StrToDouble(sActual$) ) AND (val(str(StrToDouble ( sShould$ )-iTolerance)) <= StrToDouble ( sActual$ )) then - LiberalMeasurement = True + LiberalMeasurement = True else LiberalMeasurement = False end if @@ -162,53 +162,53 @@ function StrToDouble ( sWert$ ) as Double printlog "get rid of measure unit, the only single character is '' all others are two chars" printlog "there was a problem, if there is NO meas.unit!!" - if (isNumeric (sWert$) = FALSE) then - if ( StrComp (right (sWert$, 1), chr$(34) ) = 0 ) then - sDummy$ = Left ( sWert$, Len(sWert$)-1 ) - else - sDummy$ = Left ( sWert$, Len(sWert$)-2 ) - endif + if (isNumeric (sWert$) = FALSE) then + if ( StrComp (right (sWert$, 1), chr$(34) ) = 0 ) then + sDummy$ = Left ( sWert$, Len(sWert$)-1 ) else - sDummy$ = sWert$ + sDummy$ = Left ( sWert$, Len(sWert$)-2 ) endif + else + sDummy$ = sWert$ + endif printlog "get position of fraction mark" i1 = instr (sDummy$, ",") ' wrong output i2 = instr (sDummy$, ".") if i1 > i2 then i = i1 else i = i2 - printlog " in front of decimal seperator:" - try - a = val (left (sDummy$,i-1)) - catch + printlog " in front of decimal seperator:" + try + a = val (left (sDummy$,i-1)) + catch 'printlog sWert$ + ":" + sDummy$ + ":" + i + ":" + i1+ ":" + i2 - endcatch - printlog "after the decimal seperator" - n = (len (sDummy$)-i) - b = val (right (sDummy$, n) ) - c = b * 10 ^ -n - 'printlog "-------------- :"+sWert$ +" :'"+a+"' :"+n+" :"+b+" :'"+c+"':" - ' !!! val(str()) is important because of double calculating actions !!! #110996# - StrToDouble = val(str(a + c)) + endcatch + printlog "after the decimal seperator" + n = (len (sDummy$)-i) + b = val (right (sDummy$, n) ) + c = b * 10 ^ -n + 'printlog "-------------- :"+sWert$ +" :'"+a+"' :"+n+" :"+b+" :'"+c+"':" + ' !!! val(str()) is important because of double calculating actions !!! #110996# + StrToDouble = val(str(a + c)) end function '------------------------------------------------------------------------------- function fGetPositionX () as string - fGetPositionX = "" - try - ContextPositionAndSize - - kontext - active.SetPage TabPositionAndSize - kontext "TabPositionAndSize" - if ( TabPositionAndSize.exists( 5 ) ) then - fGetPositionX = PositionX.GetText() - TabPositionAndSize.OK() - else - warnlog( "Couldn't switch to " ) - endif - catch - warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" - endcatch + fGetPositionX = "" + try + ContextPositionAndSize + + kontext + active.SetPage TabPositionAndSize + kontext "TabPositionAndSize" + if ( TabPositionAndSize.exists( 5 ) ) then + fGetPositionX = PositionX.GetText() + TabPositionAndSize.OK() + else + warnlog( "Couldn't switch to " ) + endif + catch + warnlog "couldn't call 'ContextPositionAndSize' no object selected ?" + endcatch end function @@ -219,13 +219,13 @@ function setStartCurrentPage(optional bState as boolean) as boolean ToolsOptions printlog "+ select in section 'Presentation' tabpage 'general' " hToolsOptions ("IMPRESS","General") - printlog "+ check the checkbox 'Always with current page' " - setStartCurrentPage = MitAktuellerSeite.isChecked - if bState then - MitAktuellerSeite.Check - else - MitAktuellerSeite.UnCheck - endif + printlog "+ check the checkbox 'Always with current page' " + setStartCurrentPage = MitAktuellerSeite.isChecked + if bState then + MitAktuellerSeite.Check + else + MitAktuellerSeite.UnCheck + endif Kontext "ExtrasOptionenDlg" printlog "+ close dialog 'Options - Presenation - General' with OK " hCloseDialog( ExtrasOptionenDlg, "ok" ) @@ -246,24 +246,24 @@ end function '------------------------------------------------------------------------------- function fMakeDocumentWritable() as boolean - printlog " make a document is writeable" + printlog( "Remove write protection from current file" ) Kontext "Standardbar" sleep ( 1 ) - if Bearbeiten.GetState(2) <> 1 then - Bearbeiten.Click - Kontext - if Active.Exists(1) then - Active.Yes - fMakeDocumentWritable = true - else - warnlog "No messagebox after making document editable?" - fMakeDocumentWritable = false - endif - else - printlog "Document is already writable." + if Bearbeiten.GetState(2) <> 1 then + Bearbeiten.Click + Kontext + if Active.Exists(1) then + Active.Yes fMakeDocumentWritable = true + else + warnlog "No messagebox after making document editable?" + fMakeDocumentWritable = false endif + else + printlog "Document is already writable." + fMakeDocumentWritable = true + endif end function @@ -273,38 +273,38 @@ function fGetSizeXY (sX as string, sY as string, bRetrieveOnly as boolean) as Bo const RC_FAILURE = -1 - dim sTx as string - dim sTy as string - - fGetSizeXY() = True - - if ( hUseAsyncSlot( "ContextPositionAndSize" ) <> RC_FAILURE ) then - - kontext - active.SetPage TabPositionAndSize - - kontext "TabPositionAndSize" - if ( TabPositionAndSize.exists( 2 ) ) then - sTx = Width.GetText() - sTy = Height.GetText() - hCloseDocument( TabPositionAndSize, "ok" ) - else - warnlog "Couldn't switch tab page :-( " - endif - - if ( bRetrieveOnly ) then ' Get the Values only - sY = sTy - sX = sTx - else ' Get the Values and compare them - if ( not LiberalMeasurement (sX,sTx) ) then - warnlog "width is different :-( should: '"+sX+"' is: '"+sTx+"'" + "eventually a result of i35519" - fGetSizeXY() = False - endif - if (not LiberalMeasurement (sY,sTy) ) then - warnlog "hight is different :-( should: '"+sY+"' is: '"+sTy+"'" + "eventually a result of i35519" - fGetSizeXY() = False - endif - endif + dim sTx as string + dim sTy as string + + fGetSizeXY() = True + + if ( hUseAsyncSlot( "ContextPositionAndSize" ) <> RC_FAILURE ) then + + kontext + active.SetPage TabPositionAndSize + + kontext "TabPositionAndSize" + if ( TabPositionAndSize.exists( 2 ) ) then + sTx = Width.GetText() + sTy = Height.GetText() + hCloseDialog( TabPositionAndSize, "ok" ) + else + warnlog "Couldn't switch tab page :-( " + endif + + if ( bRetrieveOnly ) then ' Get the Values only + sY = sTy + sX = sTx + else ' Get the Values and compare them + if ( not LiberalMeasurement (sX,sTx) ) then + warnlog "width is different :-( should: '"+sX+"' is: '"+sTx+"'" + "eventually a result of i35519" + fGetSizeXY() = False + endif + if (not LiberalMeasurement (sY,sTy) ) then + warnlog "hight is different :-( should: '"+sY+"' is: '"+sTy+"'" + "eventually a result of i35519" + fGetSizeXY() = False + endif + endif else warnlog( "Failed to open dialog" ) endif @@ -313,58 +313,68 @@ end function '------------------------------------------------------------------------- -function hCallExport ( HyWhatsYourName as String , sFilter as String, optional bSelection as boolean ) as Boolean - hCallExport = TRUE - Printlog "Will try to select export filter: '" + sFilter + "'" + "" - - if ( hUseAsyncSlot( "FileExport" ) = -1 ) then - warnlog( "Slot is blocked" ) - hCallExport() = false - exit function - endif - - Kontext "ExportierenDlg" - if ( ExportierenDlg.exists( 3 ) ) then - try - Dateityp.Select sFilter - catch - Warnlog "'" + sFilter + "' is missing!" - dim iAll, counter as integer - iAll = Dateityp.GetItemCount - printlog " List of entries in the menu:" - for counter = 1 to iAll - printlog " " + counter + "/" + iAll + ": " + Dateityp.GetItemText(counter) - next counter - hCallExport = FALSE - ExportierenDlg.Cancel - exit function - endcatch - if ((IsMissing(bSelection) = FALSE) AND (bSelection = TRUE)) then - sleep 2 - Selektion.Check - else - if (Selektion.isEnabled) then - Selektion.UnCheck - endif - endif - - if AutomatischeDateinamenserweiterung.Exists then - AutomatischeDateinamenserweiterung.check - endif - - Dateiname.SetText ( HyWhatsYourName ) - Speichern.Click - - kontext "AlienWarning" - if AlienWarning.exists(5) then - warnlog "#i41983# Alien Warning on export not allowed" - AlienWarning.OK - endif - Kontext "Active" - hCloseDialog( Active, "yes,optional" ) +function hCallExport ( cFileName as String , sFilter as String, optional bSelection as boolean ) as Boolean + + const RC_FAILURE = -1 + dim bExportSelectionOnly as boolean + + hCallExport() = false + + printlog( "Exporting file with provided filter" ) + + ' Handle infamous optional parameter + if ( IsMissing( bSelection ) ) then + bExportSelectionOnly = false + else + bExportSelectionOnly = bSelection + endif + + if ( hUseAsyncSlot( "FileExport" ) <> RC_FAILURE ) then + + Kontext "ExportierenDlg" + if ( ExportierenDlg.exists( 3 ) ) then + try + Dateityp.Select sFilter + + if ( selektion.exists() ) then + if ( selektion.isEnabled() ) then + if ( bExportSelectionOnly ) then + selektion.check() + else + selektion.unCheck() + endif + else + printlog( "Cannot set , it is disabled" ) + endif + else + if ( bExportSelectionOnly ) then + warnlog( "It was requested to export only the current selection but the option is disabled" ) + endif + endif + + AutomatischeDateinamenserweiterung.check() + Dateiname.SetText( cFileName ) + Speichern.Click() + + kontext "AlienWarning" + if AlienWarning.exists(5) then + warnlog "#i41983# Alien Warning on export not allowed" + hCloseDialog( AlienWarning, "ok" ) + endif + + Kontext "Active" + hCloseDialog( Active, "yes,optional" ) + + hCallExport = true + catch + warnlog( "Filter could not be selectd, it might be missing: " & sFilter ) + hCloseDialog( ExportierenDlg, "cancel" ) + endcatch + else + warnlog( " not open" ) + endif else - warnlog( " not open" ) - hCallExport() = false + warnlog( "Slot is blocked" ) endif end function @@ -372,18 +382,18 @@ end function '------------------------------------------------------------------------- function checkexppdfwaitmax10sec - dim i as integer + dim i as integer kontext "Standardbar" - i = 0 - do - i = i + 1 - sleep 1 - if (ExportAsPDF.isEnabled = TRUE) then i = 15 - loop while ((i < 15)) - if (ExportAsPDF.isEnabled = FALSE) then - Warnlog "ExportAsPDF was NOT ok. Waited " + i + " seconds." - endif - sleep (3) + i = 0 + do + i = i + 1 + sleep 1 + if (ExportAsPDF.isEnabled = TRUE) then i = 15 + loop while ((i < 15)) + if (ExportAsPDF.isEnabled = FALSE) then + Warnlog "ExportAsPDF was NOT ok. Waited " + i + " seconds." + endif + sleep (3) end function '------------------------------------------------------------------------------- @@ -399,21 +409,21 @@ end function '------------------------------------------------------------------------------- function fConvertBackslashToSlash (sInput as string) as string - dim i as integer - dim sTemp as string - dim sI as string - dim x as integer - - sTemp = "" - x = len (sInput) - for i = 1 to x - sI = mid(sInput, i, 1) - if (sI = "\") then - sI = "/" - endif - sTemp = sTemp + sI - next i - fConvertBackslashToSlash = sTemp + dim i as integer + dim sTemp as string + dim sI as string + dim x as integer + + sTemp = "" + x = len (sInput) + for i = 1 to x + sI = mid(sInput, i, 1) + if (sI = "\") then + sI = "/" + endif + sTemp = sTemp + sI + next i + fConvertBackslashToSlash = sTemp end function '------------------------------------------------------------------------------- @@ -437,13 +447,13 @@ function fSaveLoadAllFormats (NewFileDir as String) Dim iFileTypeCounter as Integer Dim SavedFile(30) as String Dim iCounter as Integer - + printlog "Save the document in different formats..." FileSaveAs kontext "ExportierenDlg" For iFileTypeCounter = 1 to Dateityp.GetItemCount sleep (1) - if iFileTypeCounter > 1 then + if iFileTypeCounter > 1 then WaitSlot (2000) FileSaveAs kontext "ExportierenDlg" @@ -484,38 +494,38 @@ function setCharacterLanguage(sLanguage as string) as boolean Kontext Messagebox.SetPage TabFont kontext "TabFont" - sleep 1 - printlog "sLanguage = " + sLanguage - if (bAsianLan) then 'Eastern languages 'OR - try - printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText - LanguageWest.select (sLanguage) 'East - catch - printlog "Language.GetSelText = " + Language.GetSelText - Language.select (sLanguage) 'East - endcatch + sleep 1 + printlog "sLanguage = " + sLanguage + if (bAsianLan) then 'Eastern languages 'OR + try + printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText + LanguageWest.select (sLanguage) 'East + catch + printlog "Language.GetSelText = " + Language.GetSelText + Language.select (sLanguage) 'East + endcatch - setCharacterLanguage = TRUE - elseif (iSprache = 07) then + setCharacterLanguage = TRUE + elseif (iSprache = 07) then + printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText + LanguageWest.select (sLanguage) + else + try printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText LanguageWest.select (sLanguage) - else - try - printlog "LanguageWest.GetSelText = " + LanguageWest.GetSelText - LanguageWest.select (sLanguage) - catch - printlog "Language.GetSelText = " + Language.GetSelText - Language.select (sLanguage) - endcatch - setCharacterLanguage = TRUE - end if + catch + printlog "Language.GetSelText = " + Language.GetSelText + Language.select (sLanguage) + endcatch + setCharacterLanguage = TRUE + end if TabFont.Ok sleep 1 end function '------------------------------------------------------------------------------- function toggleGermanSpellchecking as string - + printlog " activate old german spellchecking " printlog "+ Tools->Options " ToolsOptions @@ -575,23 +585,23 @@ function sAnalyseContextMenu(iItems as integer, optional iError as long) as inte printlog " If the string vnd.sun.search:SubMenu (the SunSearch-menu) is found in the menu, we'll skip that word. " - 'Get first entry. + 'Get first entry. f = MenuGetItemCommand (MenuGetItemID (1)) printlog "f = '" + f + "'." 'If it's "vnd.sun.search:SubMenu" , then skip the word. Printlog "Word not underlined, Search-Toolbar active." - if f <> "vnd.sun.search:SubMenu" then + if f <> "vnd.sun.search:SubMenu" then try ' WorkAround ## editcopy sCandidates(2) = getClipboardText() - ' printlog "******************* " + getclipboardtext() + ' printlog "******************* " + getclipboardtext() catch sCandidates(2) = "" - ' printlog "###################################################" + ' printlog "###################################################" endcatch ' if (1) is different from nonempty (2) then the wrong word is selected if (sCandidates(1) <> sCandidates(2)) then if ("" <> sCandidates(2)) then - ' printlog "############ " + sCandidates(1) + " ################## " + sCandidates(2) + " #####################" + ' printlog "############ " + sCandidates(1) + " ################## " + sCandidates(2) + " #####################" bDifferent = TRUE iError1 = iError1 + (2^i) else @@ -599,7 +609,7 @@ function sAnalyseContextMenu(iItems as integer, optional iError as long) as inte ' no word is selected... a) not underlined b) no context menu open end if else - ' printlog "******************* " + sCandidates(1) + ' printlog "******************* " + sCandidates(1) bDifferent = FALSE end if ' check if context menu opened @@ -612,11 +622,11 @@ function sAnalyseContextMenu(iItems as integer, optional iError as long) as inte bNoContextMenu = true iError2 = iError2 + (2^i) ' in writer it would work... :-( #i23568# - ' warnlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- " + ' warnlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- " endcatch ' if context menu open do.... if (not bNoContextMenu) then - ' printlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- " + hMenuItemGetText(1) + ' printlog ""+i+" C: " + x + ";------ " + getClipboardText + " -------- " + hMenuItemGetText(1) printlog " analyze context menu entries " for y = 1 to x z = hMenuGetItemId(y) @@ -628,12 +638,12 @@ function sAnalyseContextMenu(iItems as integer, optional iError as long) as inte printlog " close Context Menu " if (iSlot <> 10456) then if (not bDifferent) then ' WorkAround ## - ' qaerrorlog "" + iSlot + " UNDERLINED" + ' qaerrorlog "" + iSlot + " UNDERLINED" iTemp = iTemp + (2^i) end if call hMenuClose() else - ' printlog "" + iSlot + " not underlined" + ' printlog "" + iSlot + " not underlined" 'InsertSpecialCharacterDraw hMenuSelectNr(iSpecialCharacterEntry) ' because of bug #112919# kontext "Sonderzeichen" @@ -716,20 +726,20 @@ function fGetIntoDictionary as boolean dim bFound as boolean dim iBooks as integer dim i as integer - + iBooks = Benutzerwoerterbuch.GetItemCount i=0 bFound=TRUE while (bFound AND (i < iBooks)) - inc i - Benutzerwoerterbuch.select i - printlog Benutzerwoerterbuch.getSelText + i - try - Bearbeiten.Click - bFound = FALSE - catch - printLog "wIgLi" + i - endcatch + inc i + Benutzerwoerterbuch.select i + printlog Benutzerwoerterbuch.getSelText + i + try + Bearbeiten.Click + bFound = FALSE + catch + printLog "wIgLi" + i + endcatch wend fGetIntoDictionary = bFound end function @@ -737,10 +747,10 @@ end function '------------------------------------------------------------------------------- function hSelectInList (window, sEntry as String) as Boolean -printlog " alternativ method to 'hDoubleClickInList' (without mouse) " -printlog "+ window: name of list " -printlog "+ sEntry: string to find in list " -printlog "+ ReturnValue: if found: TRUE; else FALSE " + printlog " alternativ method to 'hDoubleClickInList' (without mouse) " + printlog "+ window: name of list " + printlog "+ sEntry: string to find in list " + printlog "+ ReturnValue: if found: TRUE; else FALSE " Dim i as Integer Dim sTemp as String Dim sLastTemp as String @@ -771,7 +781,7 @@ function hWalkTheStyles2 (atemp) dim itemp dim bSet dim aSettings(5,5) -' dim atemp + ' dim atemp printlog " Organizer " i=1 @@ -793,7 +803,7 @@ function hWalkTheStyles2 (atemp) atemp.check else -' aSettings(i,1).Uncheck + ' aSettings(i,1).Uncheck endif i=2 Kontext @@ -874,33 +884,33 @@ function hWalkTheStyles2 (atemp) Messagebox.setpage TabTabulator Kontext "TabTabulator" -' printlog " switch to tabpage 'Bullets' " -' Messagebox.SetPage TabBullet -' Kontext "TabBullet" -' sleep 1 -' Call DialogTest (TabBullet) -' sleep 1 -' Kontext -' printlog " switch to tabpage 'Numbering Type' " -' Messagebox.SetPage TabNumerierungsart -' Kontext "TabNumerierungsart" -' sleep 1 -' Call DialogTest (TabNumerierungsart) -' sleep 1 -' Kontext -' printlog " switch to tabpage 'Graphics' " -' Messagebox.SetPage TabGrafiken -' Kontext "TabGrafiken" -' sleep 1 -' Call DialogTest (TabGrafiken) -' sleep 1 -' Kontext -' printlog " switch to tabpage 'Customize' " -' Messagebox.SetPage TabOptionenNumerierung -' Kontext "TabOptionenNumerierung" -' sleep 1 -' Call DialogTest (TabOptionenNumerierung) -' sleep 1 + ' printlog " switch to tabpage 'Bullets' " + ' Messagebox.SetPage TabBullet + ' Kontext "TabBullet" + ' sleep 1 + ' Call DialogTest (TabBullet) + ' sleep 1 + ' Kontext + ' printlog " switch to tabpage 'Numbering Type' " + ' Messagebox.SetPage TabNumerierungsart + ' Kontext "TabNumerierungsart" + ' sleep 1 + ' Call DialogTest (TabNumerierungsart) + ' sleep 1 + ' Kontext + ' printlog " switch to tabpage 'Graphics' " + ' Messagebox.SetPage TabGrafiken + ' Kontext "TabGrafiken" + ' sleep 1 + ' Call DialogTest (TabGrafiken) + ' sleep 1 + ' Kontext + ' printlog " switch to tabpage 'Customize' " + ' Messagebox.SetPage TabOptionenNumerierung + ' Kontext "TabOptionenNumerierung" + ' sleep 1 + ' Call DialogTest (TabOptionenNumerierung) + ' sleep 1 end function '------------------------------------------------------------------------------- @@ -920,7 +930,7 @@ function fGetSlideNumber (optional sCompare as integer) as integer ViewNavigator sleep 3 printlog " check in list, if the page changed " - + else printlog "If Navigator is not open, opening it now." ViewNavigator @@ -947,28 +957,28 @@ function fGetSlideCount (optional iCount as integer) as integer printlog "+ output : number of slides in presentation " dim i as integer - printlog " open navigator " - Kontext "Navigator" - if Navigator.exists then - Printlog "Navigator: open :-)" - else - Printlog "Navigator: NOT available :-( will be opened now!" - ViewNavigator - endif - Sleep 1 - printlog " count rows in list of navigator: usually number of slides " - Kontext "NavigatorDraw" - i = Liste.GetItemCount - if (isMissing(iCount) = FALSE) then - if (i <> iCount) then - Warnlog "Error! Expected slides: '" + iCount + "'; but are '" + i +"'" - else - Printlog "ok" - endif - endif - printlog " close navigator " - ViewNavigator - fGetSlideCount = i + printlog " open navigator " + Kontext "Navigator" + if Navigator.exists then + Printlog "Navigator: open :-)" + else + Printlog "Navigator: NOT available :-( will be opened now!" + ViewNavigator + endif + Sleep 1 + printlog " count rows in list of navigator: usually number of slides " + Kontext "NavigatorDraw" + i = Liste.GetItemCount + if (isMissing(iCount) = FALSE) then + if (i <> iCount) then + Warnlog "Error! Expected slides: '" + iCount + "'; but are '" + i +"'" + else + Printlog "ok" + endif + endif + printlog " close navigator " + ViewNavigator + fGetSlideCount = i end function '------------------------------------------------------------------------------- @@ -981,115 +991,115 @@ function fGetSlideName (optional sCompare as string) as string printlog "+ EXIT: kontext on DocumentPresentation " Kontext "NavigatorDraw" - if NavigatorDraw.exists (5) then - sleep 3 - printlog "check in list, if the page changed" - fGetSlideName = Liste.GetSelText - else - warnlog "Navigator not open! in function fGetSlideName TBO" - Kontext "NavigatorDraw" - fGetSlideName = "" - endif - if (isMissing (sCompare) = False) then ' if optional parameter exists - printlog "fGetSlideName is: " & fGetSlideName - printlog "sCompare is: " & sCompare - if fGetSlideName <> sCompare then - warnlog " Slide Name is '" + fGetSlideName + "'; should be: '" + sCompare + "'" - endif - endif - Kontext "DocumentPresentation" + if NavigatorDraw.exists (5) then + sleep 3 + printlog "check in list, if the page changed" + fGetSlideName = Liste.GetSelText + else + warnlog "Navigator not open! in function fGetSlideName TBO" + Kontext "NavigatorDraw" + fGetSlideName = "" + endif + if (isMissing (sCompare) = False) then ' if optional parameter exists + printlog "fGetSlideName is: " & fGetSlideName + printlog "sCompare is: " & sCompare + if fGetSlideName <> sCompare then + warnlog " Slide Name is '" + fGetSlideName + "'; should be: '" + sCompare + "'" + endif + endif + Kontext "DocumentPresentation" end function '------------------------------------------------------------------------------ function fGetSetPageBackground (iSelect as integer, iWhere as integer) as integer - + printlog " Get or Set the Page Background via stylist (iWhere = 0) or format menue (...= 1) " printlog "+ if iSelect > 0 then set, else get " printlog "+ return selected color number or -1 on error " if (iWhere = 0) then - printlog " Stylist -> Background -> Kontext menu -> modify -> Area -> Color " - fGetSetPageBackground = -1 ' worst case - Kontext "Stylist" - if Stylist.NotExists (5) then - FormatStylist + printlog " Stylist -> Background -> Kontext menu -> modify -> Area -> Color " + fGetSetPageBackground = -1 ' worst case Kontext "Stylist" - if Stylist.NotExists (5) then warnlog "Could not open stylist :-(" - end if - Praesentationsvorlagen.Click - sleep 1 - Vorlagenliste.TypeKeys "" - hDoubleClickInList (vorlagenliste, glLocale(5), TRUE) - sleep 1 - vorlagenliste.OpenContextMenu - sleep 1 - hMenuSelectNr (1) - else - printlog " Format -> Page -> Background -> Color "'FormatPage - sleep 1 - try ' this was just paranoia to find a not mentioned messagebox - FormatSlideDraw + if Stylist.NotExists (5) then + FormatStylist + Kontext "Stylist" + if Stylist.NotExists (5) then warnlog "Could not open stylist :-(" + end if + Praesentationsvorlagen.Click + sleep 1 + Vorlagenliste.TypeKeys "" + hDoubleClickInList (vorlagenliste, glLocale(5), TRUE) + sleep 1 + vorlagenliste.OpenContextMenu + sleep 1 + hMenuSelectNr (1) + else + printlog " Format -> Page -> Background -> Color "'FormatPage + sleep 1 + try ' this was just paranoia to find a not mentioned messagebox + FormatSlideDraw catch - warnlog "slooooow slot TBO :-(" - exit function - endcatch - sleep 1 - Kontext - if (active.getrt = 373) then - Active.SetPage TabArea - else - warnlog active.getrt - if (active.getrt = 304) then - warnlog active.gettext - endif - endif ' paranoia end ---------------------------------------------- - endif - - kontext "TabArea" - if TabArea.exists then - FillOptions.Select 2 ' Select "Colour" - if (iSelect > 1) then ' Select the entry -' Color.Check - if (iSelect < ColourList.GetItemCount) then - ColourList.Select iSelect - else - warnlog "Select entry is larger than list :-(" - endif - fGetSetPageBackground = ColourList.GetSelIndex - if fGetSetPageBackground = 0 then - warnlog "There were no color selected in the list." - endif - TabArea.OK - sleep 2 - kontext - if (active.exists (2)) then - warnlog "active about : '" + active.gettext + "'" - active.yes - else - printlog "No message about 'changing the background for all pages ?' :-(" - endif - else ' yust read the selected entry - if FillOptions.GetSelIndex = 2 then + warnlog "slooooow slot TBO :-(" + exit function + endcatch + sleep 1 + Kontext + if (active.getrt = 373) then + Active.SetPage TabArea + else + warnlog active.getrt + if (active.getrt = 304) then + warnlog active.gettext + endif + endif ' paranoia end ---------------------------------------------- + endif + + kontext "TabArea" + if TabArea.exists then + FillOptions.Select 2 ' Select "Colour" + if (iSelect > 1) then ' Select the entry + ' Color.Check + if (iSelect < ColourList.GetItemCount) then + ColourList.Select iSelect + else + warnlog "Select entry is larger than list :-(" + endif fGetSetPageBackground = ColourList.GetSelIndex - TabArea.Cancel - else - warnlog "Can't get value, because something different than color is selected :-(" - endif - endif - else - kontext "TabFont" - if TabFont.exists then - Warnlog "Something wrong with the word " + glLocale(5) + ". It was either not found or wrong." - else - warnlog "Error: Can't get context menu ?" - endif - endif - - if (iWhere = 0) then + if fGetSetPageBackground = 0 then + warnlog "There were no color selected in the list." + endif + TabArea.OK + sleep 2 + kontext + if (active.exists (2)) then + warnlog "active about : '" + active.gettext + "'" + active.yes + else + printlog "No message about 'changing the background for all pages ?' :-(" + endif + else ' yust read the selected entry + if FillOptions.GetSelIndex = 2 then + fGetSetPageBackground = ColourList.GetSelIndex + TabArea.Cancel + else + warnlog "Can't get value, because something different than color is selected :-(" + endif + endif + else + kontext "TabFont" + if TabFont.exists then + Warnlog "Something wrong with the word " + glLocale(5) + ". It was either not found or wrong." + else + warnlog "Error: Can't get context menu ?" + endif + endif + + if (iWhere = 0) then sleep 1 ' ABSOLUT NECESSARY !!! (TBO) else crash on UNIX on following command!!!! FormatStylist ' closing - endif - sleep 4 + endif + sleep 4 end function '------------------------------------------------------------------------------ @@ -1099,31 +1109,31 @@ function CreateTextSetEffectAndAngle SetClipBoard "Revenue" DocumentImpress.TypeKeys "" SlideShowCustomAnimation - Kontext "Tasks" - WaitSlot (1000) - EffectAdd.Click - kontext - printlog " Switch to TabPage: Entrance " - active.setPage(TabEntrance) - kontext "TabEntrance" - if TabEntrance.exists(5) then - printlog " select in the listbox 'Effects' the second entry" - Effects.select (24) - printlog " select speed 'Fast' -> fourth item in list " - Speed.Select 2 - TabEntrance.OK - end if - kontext "tasks" - EffectStart.TypeKeys "" 'Select the second entry. + Kontext "Tasks" + WaitSlot (1000) + EffectAdd.Click + kontext + printlog " Switch to TabPage: Entrance " + active.setPage(TabEntrance) + kontext "TabEntrance" + if TabEntrance.exists(5) then + printlog " select in the listbox 'Effects' the second entry" + Effects.select (24) + printlog " select speed 'Fast' -> fourth item in list " + Speed.Select 2 + TabEntrance.OK + end if + kontext "tasks" + EffectStart.TypeKeys "" 'Select the second entry. - kontext "DocumentImpress" - FormatPositionAndSize - WaitSlot (1000) - kontext - active.setPage(TabDrehung) - kontext "TabDrehung" + kontext "DocumentImpress" + FormatPositionAndSize + WaitSlot (1000) + kontext + active.setPage(TabDrehung) + kontext "TabDrehung" - Winkel.TypeKeys "45" + Winkel.TypeKeys "45" TabDrehung.OK WaitSlot (1000) kontext "DocumentImpress" @@ -1137,29 +1147,29 @@ function fGetPresentationStyle (optional sCompare as integer) as integer printlog "+ RETURN: LAST CHARACTER of the actual selected style in the stylist " dim sTemp as integer dim sTemp0 as string - + sTemp = (-1) printlog " open stylist if not already open: Format->Stylist " kontext "Stylist" if (Stylist.exists = FALSE) then - try - FormatStylist - catch - sleep 1 - endcatch + try + FormatStylist + catch + sleep 1 + endcatch endif kontext "Stylist" if Stylist.exists(5) then - sTemp0 = Vorlagenliste.GetSeltext - sTemp = val(right (sTemp0, 1)) - if (isMissing (sCompare) = False) then ' if optional parameter exists - if sTemp <> sCompare then - Warnlog "Style Name's last character is '" + sTemp + "'; should be: '" + sCompare + "'" - endif - endif - FormatStylist + sTemp0 = Vorlagenliste.GetSeltext + sTemp = val(right (sTemp0, 1)) + if (isMissing (sCompare) = False) then ' if optional parameter exists + if sTemp <> sCompare then + Warnlog "Style Name's last character is '" + sTemp + "'; should be: '" + sCompare + "'" + endif + endif + FormatStylist else - Warnlog "The Stylist could not be opened for unknown reasons :-(" + Warnlog "The Stylist could not be opened for unknown reasons :-(" endif fGetPresentationStyle = sTemp end function @@ -1203,23 +1213,23 @@ function wIgnorierenlisteLoeschen as boolean exit function end if Kontext "BenutzerwoerterbuchBearbeiten" - sleep 1 - iBooks = Buch.GetItemCount - for i = 1 to iBooks - Buch.Select i - if Left$(Buch.GetSelText,13)="IgnoreAllList" then - sleep 2 - while (Loeschen.IsEnabled) - Loeschen.Click - sleep 1 - wend - end if - next i + sleep 1 + iBooks = Buch.GetItemCount + for i = 1 to iBooks + Buch.Select i + if Left$(Buch.GetSelText,13)="IgnoreAllList" then + sleep 2 + while (Loeschen.IsEnabled) + Loeschen.Click + sleep 1 + wend + end if + next i Kontext "BenutzerwoerterbuchBearbeiten" - BenutzerwoerterbuchBearbeiten.Cancel + BenutzerwoerterbuchBearbeiten.Cancel Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK - wIgnorierenlisteLoeschen = TRUE + ExtrasOptionenDlg.OK + wIgnorierenlisteLoeschen = TRUE end function '------------------------------------------------------------------------------- @@ -1238,121 +1248,121 @@ function optionstest dim etshap as integer dim etgt as integer - Kontext "Tasks" - EffectOptions.Click - kontext "TabEffect" - if TabEffect.Exists(5) then - optsound = Sound.GetItemCount - for os = 1 to optsound - Sound.Select os - kontext "OeffnenDlg" - if OeffnenDlg.Exists (5) then - filedialogue = TRUE - OeffnenDlg.Close - kontext "TabEffect" - else - kontext "TabEffect" - endif - next os - if AfterAnimation.isEnabled AND AfterAnimation.isVisible then - for oa = 1 to AfterAnimation.GetItemCount - AfterAnimation.Select oa - if DimColor.isEnabled then - for odc = 1 to DimColor.GetItemCount - DimColor.Select odc - next odc - endif - if DelayBetweenCharacters.isEnabled then - for odc = 1 to DelayBetweenCharacters.GetItemCount - DelayBetweenCharacters.Select odc - next odc - endif - next oa - else - if DelayBetweenCharacters.isEnabled then - for odc = 1 to DelayBetweenCharacters.GetItemCount - DelayBetweenCharacters.Select odc - next odc - endif - endif - for ota = 1 to TextAnimation.GetItemCount - TextAnimation.Select ota - next ota - printlog " switch to TabPage 'Timing' " - Kontext - Active.SetPage TabTiming - kontext "TabTiming" - if TabTiming.Exists(5) then - for ets = 1 to TimingStart.GetItemCount - TimingStart.Select ets - next ets - if Delay.isVisible AND Delay.isEnabled then - Delay.GetText - else - Warnlog "Delay in Effect Options were not to be found." - endif - if Speed.isVisible AND Speed.isEnabled then - for etspeed = 1 to Speed.GetItemCount - Speed.Select etspeed - next etspeed - else - printlog " No Speed-entry for this effect." - endif - if Repeat.isVisible AND Repeat.isEnabled then - for etrep = 1 to Speed.GetItemCount - Repeat.Select etrep - next etrep - else - Printlog "Repeat in Effect Options were not to be found." - endif - Rewind.Check - Rewind.UnCheck - TriggerAnimate.IsChecked - TriggerStart.IsChecked - if Shape.isVisible AND Shape.isEnabled then - for etshap = 1 to Shape.GetItemCount - Shape.Select etshap - next etshap - else - Warnlog "Shape in Effect Options were not to be found." - endif - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." - endif - printlog " switch to TabPage 'Timing' " - Kontext - active.setPage TabTextAnimation - kontext "TabTextAnimation" - if TabTextAnimation.Exists(5) then - lala = GroupText.GetItemCount - for etgt = 1 to lala - GroupText.Select etgt - if AutomaticallyAfter.IsEnabled then - AutomaticallyAfter.Check - AutomaticallyAfter.TypeKeys "" - endif - if AnimateAttachedShape.IsEnabled then - AnimateAttachedShape.Check - if AnimateAttachedShape.IsChecked = FALSE then + Kontext "Tasks" + EffectOptions.Click + kontext "TabEffect" + if TabEffect.Exists(5) then + optsound = Sound.GetItemCount + for os = 1 to optsound + Sound.Select os + kontext "OeffnenDlg" + if OeffnenDlg.Exists (5) then + filedialogue = TRUE + OeffnenDlg.Close + kontext "TabEffect" + else + kontext "TabEffect" + endif + next os + if AfterAnimation.isEnabled AND AfterAnimation.isVisible then + for oa = 1 to AfterAnimation.GetItemCount + AfterAnimation.Select oa + if DimColor.isEnabled then + for odc = 1 to DimColor.GetItemCount + DimColor.Select odc + next odc + endif + if DelayBetweenCharacters.isEnabled then + for odc = 1 to DelayBetweenCharacters.GetItemCount + DelayBetweenCharacters.Select odc + next odc + endif + next oa + else + if DelayBetweenCharacters.isEnabled then + for odc = 1 to DelayBetweenCharacters.GetItemCount + DelayBetweenCharacters.Select odc + next odc + endif + endif + for ota = 1 to TextAnimation.GetItemCount + TextAnimation.Select ota + next ota + printlog " switch to TabPage 'Timing' " + Kontext + Active.SetPage TabTiming + kontext "TabTiming" + if TabTiming.Exists(5) then + for ets = 1 to TimingStart.GetItemCount + TimingStart.Select ets + next ets + if Delay.isVisible AND Delay.isEnabled then + Delay.GetText + else + Warnlog "Delay in Effect Options were not to be found." + endif + if Speed.isVisible AND Speed.isEnabled then + for etspeed = 1 to Speed.GetItemCount + Speed.Select etspeed + next etspeed + else + printlog " No Speed-entry for this effect." + endif + if Repeat.isVisible AND Repeat.isEnabled then + for etrep = 1 to Speed.GetItemCount + Repeat.Select etrep + next etrep + else + Printlog "Repeat in Effect Options were not to be found." + endif + Rewind.Check + Rewind.UnCheck + TriggerAnimate.IsChecked + TriggerStart.IsChecked + if Shape.isVisible AND Shape.isEnabled then + for etshap = 1 to Shape.GetItemCount + Shape.Select etshap + next etshap + else + Warnlog "Shape in Effect Options were not to be found." + endif + else + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." + endif + printlog " switch to TabPage 'Timing' " + Kontext + active.setPage TabTextAnimation + kontext "TabTextAnimation" + if TabTextAnimation.Exists(5) then + lala = GroupText.GetItemCount + for etgt = 1 to lala + GroupText.Select etgt + if AutomaticallyAfter.IsEnabled then + AutomaticallyAfter.Check + AutomaticallyAfter.TypeKeys "" + endif + if AnimateAttachedShape.IsEnabled then + AnimateAttachedShape.Check + if AnimateAttachedShape.IsChecked = FALSE then Warnlog "AnimateAttachedShape should have been checked" - endif - endif - if InreverseOrder.IsEnabled then - InreverseOrder.Check - if InreverseOrder.IsChecked = FALSE then + endif + endif + if InreverseOrder.IsEnabled then + InreverseOrder.Check + if InreverseOrder.IsChecked = FALSE then Warnlog "InreverseOrder should have been checked" - endif - endif - next etgt - TabTextAnimation.Cancel - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." - endif + endif + endif + next etgt + TabTextAnimation.Cancel else - warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." endif - Kontext "Tasks" - + else + warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." + endif + Kontext "Tasks" + end function '------------------------------------------------------------------------------- @@ -1371,124 +1381,124 @@ function optionstest2 dim etshap as integer dim etgt as integer - Kontext "Tasks" - EffectOptions.Click - kontext "TabEffect" - if TabEffect.Exists(5) then - Sound.Select 5 - sleep 4 - if Play.IsEnabled then - Play.Click - else - warnlog "Play should have been enabled after selecting a sound." - endif - AfterAnimation.Select 2 - if DimColor.isEnabled then - DimColor.Select 5 - else - Warnlog "DimColor should have been enabled" - endif - TextAnimation.Select 3 - if DelayBetweenCharacters.isEnabled then - DelayBetweenCharacters.More 5 - else - Warnlog "DelayBetweenCharacters should have been enabled" - endif - printlog " switch to TabPage 'Timing' " - Kontext - Active.SetPage TabTiming - kontext "TabTiming" - if TabTiming.Exists(5) then - TimingStart.Select 2 - if Delay.isVisible AND Delay.isEnabled then - Delay.More 5 - else - Warnlog "Delay in Effect Options were not to be found." - endif - if Speed.isVisible AND Speed.isEnabled then - Speed.Select 3 - else - Printlog "Speed in Effect Options were not to be found." - endif - if Repeat.isVisible then - if Repeat.isEnabled then + Kontext "Tasks" + EffectOptions.Click + kontext "TabEffect" + if TabEffect.Exists(5) then + Sound.Select 5 + sleep 4 + if Play.IsEnabled then + Play.Click + else + warnlog "Play should have been enabled after selecting a sound." + endif + AfterAnimation.Select 2 + if DimColor.isEnabled then + DimColor.Select 5 + else + Warnlog "DimColor should have been enabled" + endif + TextAnimation.Select 3 + if DelayBetweenCharacters.isEnabled then + DelayBetweenCharacters.More 5 + else + Warnlog "DelayBetweenCharacters should have been enabled" + endif + printlog " switch to TabPage 'Timing' " + Kontext + Active.SetPage TabTiming + kontext "TabTiming" + if TabTiming.Exists(5) then + TimingStart.Select 2 + if Delay.isVisible AND Delay.isEnabled then + Delay.More 5 + else + Warnlog "Delay in Effect Options were not to be found." + endif + if Speed.isVisible AND Speed.isEnabled then + Speed.Select 3 + else + Printlog "Speed in Effect Options were not to be found." + endif + if Repeat.isVisible then + if Repeat.isEnabled then for etrep = 1 to Speed.GetItemCount Repeat.Select etrep next etrep - else + else Warnlog "Repeat in Effect Options were not enabled." - endif - else - Warnlog "Repeat in Effect Options were not visible." - endif - if Rewind.isVisible then - if Rewind.isEnabled then + endif + else + Warnlog "Repeat in Effect Options were not visible." + endif + if Rewind.isVisible then + if Rewind.isEnabled then Rewind.Check - else + else Printlog "Rewind in Effect Options were not to be found." - endif - else - Printlog "Rewind in Effect Options were not to be found." - endif - if Rewind.isVisible then - if Rewind.isEnabled then + endif + else + Printlog "Rewind in Effect Options were not to be found." + endif + if Rewind.isVisible then + if Rewind.isEnabled then Rewind.Check Rewind.UnCheck - else + else Warnlog "Rewind in Effect Options were not enabled." - endif - else - Warnlog "Rewind in Effect Options were not visible." - endif - TriggerAnimate.IsChecked - TriggerStart.IsChecked - if Shape.isVisible then - if Shape.isEnabled then + endif + else + Warnlog "Rewind in Effect Options were not visible." + endif + TriggerAnimate.IsChecked + TriggerStart.IsChecked + if Shape.isVisible then + if Shape.isEnabled then for etshap = 1 to Shape.GetItemCount Shape.Select etshap next etshap - else + else Warnlog "Shape in Effect Options were not to be found." - endif - else - Warnlog "Shape in Effect Options were not to be found." - endif - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." - endif - printlog " switch to TabPage 'Timing' " - Kontext - active.setPage TabTextAnimation - kontext "TabTextAnimation" - if TabTextAnimation.Exists(5) then - lala = GroupText.GetItemCount - for etgt = 1 to lala - GroupText.Select etgt - if AutomaticallyAfter.IsEnabled then - AutomaticallyAfter.Check - AutomaticallyAfter.TypeKeys "" - endif - if AnimateAttachedShape.IsEnabled then - AnimateAttachedShape.Check - if AnimateAttachedShape.IsChecked = FALSE then + endif + else + Warnlog "Shape in Effect Options were not to be found." + endif + else + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." + endif + printlog " switch to TabPage 'Timing' " + Kontext + active.setPage TabTextAnimation + kontext "TabTextAnimation" + if TabTextAnimation.Exists(5) then + lala = GroupText.GetItemCount + for etgt = 1 to lala + GroupText.Select etgt + if AutomaticallyAfter.IsEnabled then + AutomaticallyAfter.Check + AutomaticallyAfter.TypeKeys "" + endif + if AnimateAttachedShape.IsEnabled then + AnimateAttachedShape.Check + if AnimateAttachedShape.IsChecked = FALSE then Warnlog "AnimateAttachedShape should have been checked" - endif - endif - if InreverseOrder.IsEnabled then - InreverseOrder.Check - if InreverseOrder.IsChecked = FALSE then + endif + endif + if InreverseOrder.IsEnabled then + InreverseOrder.Check + if InreverseOrder.IsChecked = FALSE then Warnlog "InreverseOrder should have been checked" - endif - endif - next etgt - TabTextAnimation.Cancel - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." - endif + endif + endif + next etgt + TabTextAnimation.Cancel else - warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." endif - Kontext "Tasks" - + else + warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." + endif + Kontext "Tasks" + end function '------------------------------------------------------------------------------- diff --git a/testautomation/graphics/tools/id_tools_2.inc b/testautomation/graphics/tools/id_tools_2.inc old mode 100755 new mode 100644 index 3604875088a8..a081ff08028c --- a/testautomation/graphics/tools/id_tools_2.inc +++ b/testautomation/graphics/tools/id_tools_2.inc @@ -38,11 +38,11 @@ sub sFileExport Dim ExZaehler as Integer Dim ExPath as String Dim Liste( 50 ) as String - - if (gApplication = "IMPRESS") then - ExtensionString = "odp" + + if (gApplication = "IMPRESS") then + ExtensionString = "odp" else - ExtensionString = "odg" + ExtensionString = "odg" end if printlog "- all files are saved in [StarOfficePath]/user/work/[application]/export " @@ -50,19 +50,19 @@ sub sFileExport OutputGrafikTBO = ExPath & "expo" Printlog "Create the export-dir for the graphics ( + ExPath + )" try - app.mkDir ( ExPath ) - ExZaehler = GetFileList ( ExPath , "*.*" , Liste() ) - if ExZaehler <> 0 then - Printlog "The export-dir exists. The test want to delete all Files ( " + ExZaehler + " )!" - if KillFileList ( Liste() ) = FALSE then - Warnlog "Not all files can be deleted. " + ListCount ( Liste() ) + " files exists!" - end if - end if + app.mkDir ( ExPath ) + ExZaehler = GetFileList ( ExPath , "*.*" , Liste() ) + if ExZaehler <> 0 then + Printlog "The export-dir exists. The test want to delete all Files ( " + ExZaehler + " )!" + if KillFileList ( Liste() ) = FALSE then + Warnlog "Not all files can be deleted. " + ListCount ( Liste() ) + " files exists!" + end if + end if catch - Warnlog "An error at creating the export-dir, the test ends!" - exit sub + Warnlog "An error at creating the export-dir, the test ends!" + exit sub endcatch - + printlog "+ open the test document qatesttool/graphics/required/input/graphicexport.od ? ] " end sub @@ -82,22 +82,22 @@ sub sCheckCheck (i, Pruefung$, bEnabled) hTextrahmenErstellen (Pruefung$,20,20,60,40) select case i -' Disabled sCheckUnderlined due to start of external program (web-browser) - FHA - case 5: bEnabled 'sCheckUnderlined (bEnabled) - case 6: sCheckDash (bEnabled) - case 8: sCheckSupperscript (bEnabled) - case else: - hTypeKeys "" - EditCopy - if (GetClipboardText = Pruefung$) then ' not replaced - if bEnabled then ' not as expected - warnlog "- replacement failed" - endif - else ' replaced - if not bEnabled then ' not as expected - warnlog "- replacement failed : '" + Pruefung$ + "' - '" + GetClipboardText + "'" - endif + ' Disabled sCheckUnderlined due to start of external program (web-browser) - FHA + case 5: bEnabled 'sCheckUnderlined (bEnabled) + case 6: sCheckDash (bEnabled) + case 8: sCheckSupperscript (bEnabled) + case else: + hTypeKeys "" + EditCopy + if (GetClipboardText = Pruefung$) then ' not replaced + if bEnabled then ' not as expected + warnlog "- replacement failed" + endif + else ' replaced + if not bEnabled then ' not as expected + warnlog "- replacement failed : '" + Pruefung$ + "' - '" + GetClipboardText + "'" endif + endif end select hTypeKeys "" @@ -155,65 +155,65 @@ end sub '------------------------------------------------------------------------------- sub sPrintCheckOrder (optional bcheck as boolean) - dim sTemp as string - dim sTemp2 as string - dim i as integer - printlog " deselect all " - Printlog "-----------------------------------" - printlog " select in default order and take Position X in mind ;-) " - hTypeKeys ("") - for i = 1 to 3 - hTypeKeys ("") - sTemp = fGetPositionX() - Printlog " - " + i +": " + sTemp - if ((isMissing(bcheck) <> FALSE) AND (bcheck = TRUE)) then - Select Case i + dim sTemp as string + dim sTemp2 as string + dim i as integer + printlog " deselect all " + Printlog "-----------------------------------" + printlog " select in default order and take Position X in mind ;-) " + hTypeKeys ("") + for i = 1 to 3 + hTypeKeys ("") + sTemp = fGetPositionX() + Printlog " - " + i +": " + sTemp + if ((isMissing(bcheck) <> FALSE) AND (bcheck = TRUE)) then + Select Case i Case 1: sTemp2 = Ueber_Text_1 Case 2: sTemp2 = Ueber_Text_2 Case 3: sTemp2 = Ueber_Text_3 - End Select - if sTemp <> sTemp2 then - warnlog " + " + i + " Arrangement is wrong; is: "+sTemp+"; should: "+sTemp2+";" - end if - endif - next i - hTypeKeys ("") - Printlog "-----------------------------------" + End Select + if sTemp <> sTemp2 then + warnlog " + " + i + " Arrangement is wrong; is: "+sTemp+"; should: "+sTemp2+";" + end if + endif + next i + hTypeKeys ("") + Printlog "-----------------------------------" end sub '--------------------------- Tests for Writer ---------------------------------- sub writertest - try - call Make_And_Check_Formatted_Text_Line_From_Application - catch - warnlog "Something went wrong with testing writertest" - endcatch - - try - call Make_Rectangle_From_Application - call Full_test_Draw - call Full_test_Impress - call Full_test_Writer - call Full_test_Calc - catch - warnlog "something wrong with testing writertest" - endcatch + try + call Make_And_Check_Formatted_Text_Line_From_Application + catch + warnlog "Something went wrong with testing writertest" + endcatch + + try + call Make_Rectangle_From_Application + call Full_test_Draw + call Full_test_Impress + call Full_test_Writer + call Full_test_Calc + catch + warnlog "something wrong with testing writertest" + endcatch end sub ' big one '---------------------------- Tests for Calc ----------------------------------- sub calctest -try - call Make_Rectangle_From_Application - call Full_test_Draw - call Full_test_Impress - call Full_test_Writer - call Full_test_Calc -catch - warnlog "something wrong with calctest" -endcatch - printlog "currently no specific tests from Calc" + try + call Make_Rectangle_From_Application + call Full_test_Draw + call Full_test_Impress + call Full_test_Writer + call Full_test_Calc + catch + warnlog "something wrong with calctest" + endcatch + printlog "currently no specific tests from Calc" end sub '------------------------------------------------------------------------------- @@ -222,146 +222,116 @@ sub tClipboardFromDrawTest EnableQAErrors = false FromApp2 = gApplication printlog "gApplication = " + gApplication + + select case( gApplication ) + case "WRITER" : call writertest() + case "CALC" : call calctest() + case else : warnlog( "Unsupported gApplication provided: " & gApplication ) + end select - if gApplication = "WRITER" then - call writertest - exit sub - end if - - if gApplication = "CALC" then - call calctest - exit sub - end if end sub '------------------------------------------------------------------------------- sub Select_Copy - printlog " Select and copy " - Sleep 10 - if gApplication = "DRAW" then - EditSelectAll - printlog " We just ran EditSelectAll - Application is Draw" - end if - if gApplication = "IMPRESS" then - EditSelectAll - printlog " We just ran EditSelectAll - Application is Impress" - end if - Sleep 2 - EditCopy - Sleep 2 - printlog " Copied object" + hUseAsyncSlot( "EditSelectAll" ) + hUseAsyncSlot( "EditCopy" ) + end Sub '------------------------------------------------------------------------------- sub SaveMeasurementSetFirst - if (gApplication = "DRAW") then - sApplication = "DRAWING" - elseIf (gApplication = "IMPRESS") then - sApplication = "IMPRESS" - elseIf (gApplication = "WRITER") then - sApplication = "WRITER" - elseIf (gApplication = "CALC") then - sApplication = "CALC" - endif + select case( gApplication ) + case "DRAW" : sApplication = "DRAWING" + case "IMPRESS" : sApplication = "IMPRESS" + case "WRITER" : sApplication = "WRITER" + case "CALC" : sApplication = "CALC" + case else : printlog( "Provided gApplication is not supported: " & gApplication ) + end select + printlog " - save states " ToolsOptions - hToolsOptions (sApplication,"General") - ReferenceOld = Masseinheit.GetSelText - Masseinheit.TypeKeys= "" '(first entry) - ReferenceNew = Masseinheit.GetSelText - Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK + hToolsOptions (sApplication,"General") + ReferenceOld = Masseinheit.GetSelText + Masseinheit.TypeKeys= "" '(first entry) + ReferenceNew = Masseinheit.GetSelText + Kontext "ExtrasOptionenDlg" + hCloseDialog( ExtrasOptionenDlg, "ok" ) + end Sub '------------------------------------------------------------------------------- sub MeasurementSetFirst dim f as integer - if (gApplication = "DRAW") then - sApplication = "DRAWING" - elseIf (gApplication = "IMPRESS") then - sApplication = "IMPRESS" - elseIf (gApplication = "WRITER") then - sApplication = "WRITER" - elseIf (gApplication = "CALC") then - sApplication = "CALC" - endif + + select case( gApplication ) + case "DRAW" : sApplication = "DRAWING" + case "IMPRESS" : sApplication = "IMPRESS" + case "WRITER" : sApplication = "WRITER" + case "CALC" : sApplication = "CALC" + case else : printlog( "Provided gApplication is not supported: " & gApplication ) + end select + ToolsOptions - hToolsOptions (sApplication,"General") - if Masseinheit.GetSelText <> ReferenceNew then 'find the right one. + hToolsOptions (sApplication,"General") + if Masseinheit.GetSelText <> ReferenceNew then 'find the right one. Masseinheit.TypeKeys "" for f = 1 to Masseinheit.GetItemCount if Masseinheit.GetSelText = ReferenceNew then - i = Masseinheit.GetItemCount 'find the right one. + i = Masseinheit.GetItemCount 'find the right one. else - Masseinheit.TypeKeys "" + Masseinheit.TypeKeys "" endif next f - endif - Kontext "ExtrasOptionenDlg" - ExtrasOptionenDlg.OK + endif + Kontext "ExtrasOptionenDlg" + hCloseDialog( ExtrasOptionenDlg, "ok" ) + end Sub '------------------------------------------------------------------------------- sub ResetMeasurement dim f as integer - if (gApplication = "DRAW") then - sApplication = "DRAWING" - elseIf (gApplication = "IMPRESS") then - sApplication = "IMPRESS" - elseIf (gApplication = "WRITER") then - sApplication = "WRITER" - elseIf (gApplication = "CALC") then - sApplication = "CALC" - endif + + select case( gApplication ) + case "DRAW" : sApplication = "DRAWING" + case "IMPRESS" : sApplication = "IMPRESS" + case "WRITER" : sApplication = "WRITER" + case "CALC" : sApplication = "CALC" + case else : printlog( "Provided gApplication is not supported: " & gApplication ) + end select + printlog " - Reset states back to what they were before " ToolsOptions - hToolsOptions (sApplication,"General") - if Masseinheit.GetSelText <> ReferenceOld then 'find the right one. + hToolsOptions (sApplication,"General") + if Masseinheit.GetSelText <> ReferenceOld then 'find the right one. Masseinheit.TypeKeys "" for f = 1 to Masseinheit.GetItemCount if Masseinheit.GetSelText = ReferenceOld then - i = Masseinheit.GetItemCount 'find the right one. + i = Masseinheit.GetItemCount 'find the right one. else - Masseinheit.TypeKeys "" + Masseinheit.TypeKeys "" endif next f - endif - Kontext "ExtrasOptionenDlg" + endif + Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.OK end Sub '------------------------------------------------------------------------------- sub SetKontextApplication - sleep 1 - Select Case gApplication - Case "DRAW" - Kontext "DocumentDraw" - 'Printlog "gApplication / Kontext is now: DocumentDraw" - sleep 1 - Case "IMPRESS" - Kontext "DocumentImpress" - 'Printlog "gApplication / Kontext is now is now: DocumentImpress" - sleep 1 - Case "WRITER" - Kontext "DocumentWriter" - 'Printlog "gApplication / Kontext is now is now: DocumentWriter" - sleep 1 - Case "CALC" - Kontext "DocumentCalc" - 'Printlog "gApplication / Kontext is now is now: DocumentCalc" - sleep 1 - end select - sleep 1 + + hSetDocumentContext() ' Global routinśe exists + end sub '------------------------------------------------------------------------------- sub hSetSpellHypLanguage -printlog " select a language with a dictionary, used for spellcheck, thesaurus and hyphenation " + printlog " select a language with a dictionary, used for spellcheck, thesaurus and hyphenation " dim sTrieit as string ' only for asian languages i need to set the default language for the current document to 'English(USA)' @@ -398,7 +368,7 @@ printlog " select a language with a dictionary, used for spellcheck, thesaurus a qaErrorLog "Sorry no spellbook found: id_tools.inc::hSetSpellHypLanguage" endif else - printlog " if a Language is already defined in the textfile " + printlog " if a Language is already defined in the textfile " printlog glLocale (4) try printlog " select it in section 'Default languages for document' listbox 'Western' " @@ -414,11 +384,11 @@ printlog " select a language with a dictionary, used for spellcheck, thesaurus a qaw = glLocale (4) endcatch endif - try - printlog "selected: '" + Westlich.GetSelText + "'" - catch - printlog "selected: '" + Asiatisch.GetSelText + "'" - endcatch + try + printlog "selected: '" + Westlich.GetSelText + "'" + catch + printlog "selected: '" + Asiatisch.GetSelText + "'" + endcatch Kontext "ExtrasOptionenDlg" printlog "+ close dialog 'Options - ' with OK " ExtrasOptionenDlg.OK @@ -428,7 +398,7 @@ end sub '------------------------------------------------------------------------------- sub hTBOtypeInDoc - hRechteckErstellen ( 10, 10, 30, 40 ) + hRechteckErstellen ( 10, 10, 30, 40 ) end sub '------------------------------------------------------------------------------- @@ -449,9 +419,9 @@ sub Position_Vergleichen (Ueber_Text_1 as string,Ueber_Text_2 as string,Ueber_Te if TabPositionAndSize.exists (5) then printlog "Yo!" printlog "What?" if Dummy_Text = Ueber_Text_1 then - Printlog Ueber_Text_2 + Printlog Ueber_Text_2 else - warnlog Ueber_Text_3,": is: ", Dummy_Text,"; should be: ", Ueber_Text_1 + warnlog Ueber_Text_3,": is: ", Dummy_Text,"; should be: ", Ueber_Text_1 end if end sub @@ -459,7 +429,7 @@ end sub sub g_demoguide printlog "------------------- g_demoguide.inc ------------------------" - + call t_Introduction call t_Interoperability call t_DrawingEngine @@ -486,107 +456,98 @@ end sub '------------------------------------------------------------------------------- sub mouseclickinpresentation - Kontext "DocumentPresentation" - autoexecute=false - DocumentPresentation.MouseDown ( 50, 50 ) - printlog " switch slides using mouse clicks " - DocumentPresentation.MouseUp ( 50, 50 ) - autoexecute=true + Kontext "DocumentPresentation" + autoexecute=false + DocumentPresentation.MouseDown ( 50, 50 ) + printlog " switch slides using mouse clicks " + DocumentPresentation.MouseUp ( 50, 50 ) + autoexecute=true end sub '------------------------------------------------------------------------------- -sub im_002_ +sub im_002 + printLog Chr(13) + "--------- im_002_ ---------- $Date: 2008-06-16 10:43:16 $ $Revision: 1.1 $ " - printLog Chr(13) + "--------- im_002_ ---------- $Date: 2008-06-16 10:43:16 $ $Revision: 1.1 $ " - - Call tiEditDeleteSlide + Call tiEditDeleteSlide end sub '------------------------------------------------------------------------------- -sub im_003_ - - printLog Chr(13) + "--------- im_003_ ----------" +sub im_003 + printLog Chr(13) + "--------- im_003_ ----------" Call tiViewMasterView Call tiViewSlideMaster Call tiViewPanes -'TODO: TBO not necessary here, move to optional + 'TODO: TBO not necessary here, move to optional Call tiViewToolbar_1 end sub '------------------------------------------------------------------------------- -sub im_004_ +sub im_004 + printLog Chr(13) + "--------- im_004_ ----------" - printLog Chr(13) + "--------- im_004_ ----------" - - Call tiInsertSlideExpandSummary + Call tiInsertSlideExpandSummary end sub '------------------------------------------------------------------------------- -sub im_005_ - - printLog Chr(13) + "--------- im_005_ ---------- " +sub im_005 + printLog Chr(13) + "--------- im_005_ ---------- " - Call tiFormatModifyLayout ' impress only + Call tiFormatModifyLayout ' impress only end sub '------------------------------------------------------------------------------- -sub im_007_ - - printLog Chr(13) + "--------- im_007_ ---------- " +sub im_007 + printLog Chr(13) + "--------- im_007_ ---------- " - Call tSlideShowSlideShow - Call tSlideShowRehearseTimings - Call tSlideShowSlideShowSettings - Call tSlideShowCustomSlideShow - Call tSlideShowSlideTransition + Call tSlideShowSlideShow + Call tSlideShowRehearseTimings + Call tSlideShowSlideShowSettings + Call tSlideShowCustomSlideShow + Call tSlideShowSlideTransition -Call tSlideShowShowHideSlide - Call tSlideShowAnimation - Call tSlideShowCustomAnimation - Call tSlideShowInteraction + Call tSlideShowShowHideSlide + Call tSlideShowAnimation + Call tSlideShowCustomAnimation + Call tSlideShowInteraction end sub '------------------------------------------------------------------------------- -sub im_011_ +sub im_011 + printLog Chr(13) + "--------- im_011_ ---------- " - printLog Chr(13) + "--------- im_011_ ---------- " - - Call tiDiaLeiste ' only IMPRESS + Call tiDiaLeiste ' only IMPRESS end sub '------------------------------------------------------------------------------- -sub D_002_ - - printLog Chr(13) + "--------- D_002_ ---------- " +sub D_002 + printLog Chr(13) + "--------- D_002_ ---------- " - Call tdEditCrossFading - Call tdEditLayer + Call tdEditCrossFading + Call tdEditLayer end sub '------------------------------------------------------------------------------- -sub D_003_ - - printLog Chr(13) + "--------- D_003_ ---------- " +sub D_003 + printLog Chr(13) + "--------- D_003_ ---------- " - call tdViewSlide - call tdViewPagePane + call tdViewSlide + call tdViewPagePane end sub '------------------------------------------------------------------------------- -sub D_005_ +sub D_005 + printLog Chr(13) + "--------- D_005_ ---------- " - printLog Chr(13) + "--------- D_005_ ---------- " - - call tiFormatLayer ' only in draw !!!!! + call tiFormatLayer ' only in draw !!!!! end sub '------------------------------------------------------------------------------- sub d_007 - printLog Chr(13) + "--------- d_007 ---------- " + printLog Chr(13) + "--------- d_007 ---------- " - call tdModifyRotate + call tdModifyRotate end sub '------------------------------------------------------------------------------- @@ -596,10 +557,10 @@ sub hOpenGallery ToolsGallery WaitSlot (2000) Kontext "Gallery" - if Gallery.NotExists(2) then - ToolsGallery - WaitSlot (2000) - end if + if Gallery.NotExists(2) then + ToolsGallery + WaitSlot (2000) + end if end sub '------------------------------------------------------------------------- @@ -615,27 +576,27 @@ sub LoadGraphic ( sFile as String, bOK as Boolean ) as boolean Kontext Active.SetPage TabType Kontext "TabType" - OriginalSize.Click - iW = Val ( makeNumOutOfText ( Width.GetText ) ) - iH = Val ( makeNumOutOfText ( Height.GetText ) - if instr ( sFile, "photo" ) <> 0 then - iWMax = 22 - iHMax = 25 - else - iWMax = 17 - iHMax = 25 - end if - if iW > iWMax OR iH > iHMax then - printlog sFile + " :" - warnlog "Size is too big ( max should be '" + iWMax + "' cm* '" + iHMax + "'cm DinA4 with default borders ), but it is '" + iW + "' * '" + iH + "'" - LoadGraphic = false - end if - TabType.OK - sleep (1) + OriginalSize.Click + iW = Val ( makeNumOutOfText ( Width.GetText ) ) + iH = Val ( makeNumOutOfText ( Height.GetText ) + if instr ( sFile, "photo" ) <> 0 then + iWMax = 22 + iHMax = 25 + else + iWMax = 17 + iHMax = 25 + end if + if iW > iWMax OR iH > iHMax then + printlog sFile + " :" + warnlog "Size is too big ( max should be '" + iWMax + "' cm* '" + iHMax + "'cm DinA4 with default borders ), but it is '" + iW + "' * '" + iH + "'" + LoadGraphic = false + end if + TabType.OK + sleep (1) Kontext "DocumentWriter" - DocumentWriter.TypeKeys "" - sleep (1) - bOK = TRUE + DocumentWriter.TypeKeys "" + sleep (1) + bOK = TRUE end sub '------------------------------------------------------------------------- @@ -663,30 +624,30 @@ end sub '------------------------------------------------------------------------- sub id_001 - printLog Chr(13) + "--------- id_001 ----------" - - qaerrorlog "#74988# tiFilePassword outcommented due to bug. -FHA" - call tiFilePassword - call tiFileSaveAs - call tiFileReload - call tiFileVersion - printlog " File->Send not possible to test, because extrnal prg get's called!" - call tiFileTemplates -' Call tiFileNew instead i call: - call tmFileNewFromTemplate - call tmFileOpen - call tmFileClose - call tmFileSave - call tmFileSaveAs - call tmFileExit - - call tmFileSaveAll - call tmFileProperties - call tdFileExport - call tmFilePrinterSetting - ' special cases - ' Call AutoPilot 'inc\desktop\autopilo.inc - call tmFileExit ' don't test because unpredictable behaviour + printLog Chr(13) + "--------- id_001 ----------" + + qaerrorlog "#74988# tiFilePassword outcommented due to bug. -FHA" + call tiFilePassword + call tiFileSaveAs + call tiFileReload + call tiFileVersion + printlog " File->Send not possible to test, because extrnal prg get's called!" + call tiFileTemplates + ' Call tiFileNew instead i call: + call tmFileNewFromTemplate + call tmFileOpen + call tmFileClose + call tmFileSave + call tmFileSaveAs + call tmFileExit + + call tmFileSaveAll + call tmFileProperties + call tdFileExport + call tmFilePrinterSetting + ' special cases + ' Call AutoPilot 'inc\desktop\autopilo.inc + call tmFileExit ' don't test because unpredictable behaviour end sub '------------------------------------------------------------------------------ @@ -714,73 +675,73 @@ end sub '------------------------------------------------------------------------- sub id_003 - printLog Chr(13) + "--------- id_003 ----------" + printLog Chr(13) + "--------- id_003 ----------" - call tiViewNavigator - call tiViewZoom - call tiViewToolbar - Call tToolsCustomize 'global\required\include - call tiViewDisplayQuality - call tiViewLayer - call tViewSnapLines - call tViewGrid + call tiViewNavigator + call tiViewZoom + call tiViewToolbar + Call tToolsCustomize 'global\required\include + call tiViewDisplayQuality + call tiViewLayer + call tViewSnapLines + call tViewGrid end sub '------------------------------------------------------------------------- sub id_004 - printLog Chr(13) + "--------- id_004 ----------" + printLog Chr(13) + "--------- id_004 ----------" - call tiInsertSlide - call tiInsertDuplicateSlide + call tiInsertSlide + call tiInsertDuplicateSlide ' v expand slide ' v summary slide - call tiInsertField - call tiInsertSpecialCharacter - call tiInsertHyperlink - call tiInsertScan - call tiInsertGraphic - call tiInsertObjectSound - call tiInsertObjectVideo - call tiInsertObjectSound - call tiInsertObjectVideo - call tiInsertChart - call tiInsertObjectOLEObjects - call tiInsertSpreadsheet - call tiInsertFormula - call tiInsertFloatingFrame - call tiInsertFile - call tiInsertPlugin - call tiInsertSnappointLine - call tdInsertLayer ' IMPRESS: Edit->Layer->Insert + call tiInsertField + call tiInsertSpecialCharacter + call tiInsertHyperlink + call tiInsertScan + call tiInsertGraphic + call tiInsertObjectSound + call tiInsertObjectVideo + call tiInsertObjectSound + call tiInsertObjectVideo + call tiInsertChart + call tiInsertObjectOLEObjects + call tiInsertSpreadsheet + call tiInsertFormula + call tiInsertFloatingFrame + call tiInsertFile + call tiInsertPlugin + call tiInsertSnappointLine + call tdInsertLayer ' IMPRESS: Edit->Layer->Insert end sub '------------------------------------------------------------------------------ sub id_005 - printLog Chr(13) + "--------- id_005 ----------" - - call tiFormatDefault - call tiFormatLine - call tdFormatArea - call tiFormatText - call tiFormatPositionAndSize - call tiFormatCharacter - call tiFormatControlForm -' ^ Form - call tiFormatDimensions - call tiFormatConnector - call tiFormat3D_Effects - call tiFormatNumberingBullets - call tiFormatCaseCharacter - call tiFormatParagraph - call tiFormatPage - call tiFormatStylesAndFormatting - call tiFormatStylesSlideDesign - call tiFormatFontwork - call tiFormatGroup - printlog " format->group is also modify->group " -' tiFormatLayer ' not in impress + printLog Chr(13) + "--------- id_005 ----------" + + call tiFormatDefault + call tiFormatLine + call tdFormatArea + call tiFormatText + call tiFormatPositionAndSize + call tiFormatCharacter + call tiFormatControlForm + ' ^ Form + call tiFormatDimensions + call tiFormatConnector + call tiFormat3D_Effects + call tiFormatNumberingBullets + call tiFormatCaseCharacter + call tiFormatParagraph + call tiFormatPage + call tiFormatStylesAndFormatting + call tiFormatStylesSlideDesign + call tiFormatFontwork + call tiFormatGroup + printlog " format->group is also modify->group " + ' tiFormatLayer ' not in impress end sub '------------------------------------------------------------------------------ @@ -791,14 +752,14 @@ sub id_006 call tiToolsSpellchecking call tiToolsSpellcheckingAutomatic call tiToolsThesaurus - call tiToolsHyphenation - call tiToolsAutoCorrect - call tChineseTranslation - call tiToolsMacro - call tiToolsGallery - call tiToolsEyedropper - call tiToolsOptions ' get just called one time here... - Call tToolsOptionsTest ' global one + call tiToolsHyphenation + call tiToolsAutoCorrect + call tChineseTranslation + call tiToolsMacro + call tiToolsGallery + call tiToolsEyedropper + call tiToolsOptions ' get just called one time here... + Call tToolsOptionsTest ' global one end sub '------------------------------------------------------------------------------- @@ -830,16 +791,16 @@ end sub '------------------------------------------------------------------------------- sub id_008 - printLog Chr(13) + "--------- id_008 ----------" + printLog Chr(13) + "--------- id_008 ----------" - Call tiWindowNewWindow - call tidWindow123 + Call tiWindowNewWindow + call tidWindow123 end sub '------------------------------------------------------------------------------ sub id_009 - printLog Chr(13) + "--------- id_009 ----------" + printLog Chr(13) + "--------- id_009 ----------" call tCheckIfTheHelpExists Call tmHelpContents @@ -855,159 +816,159 @@ sub id_011 printLog Chr(13) + "--------- id_011 ----------" - call tdBezierToolbar + call tdBezierToolbar call tiDrawObjectBar call tiTextToolbar call tiGraphicsObjectBar call tiGluepointToolbar - end sub +end sub '-------------------------------------------------------------------------------' sub hWalkTheStyles (optional a as integer,optional b as integer) dim i as integer - + if isMissing (a) then a=1 if isMissing (b) then b=2 i=1 if a <= i AND i <= b then - Kontext - printlog " switch to tabpage 'Line' " - Messagebox.SetPage TabLinie - kontext "TabLinie" - Call DialogTest ( TabLinie ) - Kontext - printlog " switch to tabpage 'Area' " - Messagebox.SetPage TabArea - kontext "TabArea" - Call DialogTest ( TabArea ) - printlog " select radio button 'none' " - NoFill.Check - Call DialogTest ( TabArea, 1 ) - printlog " select radio button 'color' " - Color.Check - Call DialogTest ( TabArea, 2 ) - printlog " select radio button 'gradient' " - Gradient.Check - Call DialogTest ( TabArea, 3 ) - printlog " select radio button 'hatching' " - Hatching.Check - Call DialogTest ( TabArea, 4 ) - printlog " select radio button 'bitmap' " - Bitmap.Check - Call DialogTest ( TabArea, 5 ) - Kontext - printlog " switch to tabpage 'shadowing' " - Messagebox.SetPage TabSchatten - kontext "TabSchatten" - printlog " check 'use shadow' " - Anzeigen.check - Call DialogTest ( TabSchatten ) - Kontext - printlog " switch to tabpage 'Transparency' " - Messagebox.SetPage TabTransparenz - kontext "TabTransparenz" - printlog " check 'No transparency' " - KeineTransparenz.Check - printlog " check 'Transparency' " - LineareTransparenz.Check - printlog " check 'Gradient' " - Transparenzverlauf.Check - Kontext - printlog " switch to tabpage 'Font' " - Messagebox.SetPage TabFont - kontext "TabFont" - Call DialogTest ( TabFont ) - Kontext - printlog " switch to tabpage 'Font Effect' " - Messagebox.SetPage TabFontEffects - kontext "TabFontEffects" - Kontext - printlog " switch to tabpage 'indents & spacing' " - Messagebox.SetPage TabEinzuegeUndAbstaende - kontext "TabEinzuegeUndAbstaende" - Call DialogTest ( TabEinzuegeUndAbstaende ) + Kontext + printlog " switch to tabpage 'Line' " + Messagebox.SetPage TabLinie + kontext "TabLinie" + Call DialogTest ( TabLinie ) + Kontext + printlog " switch to tabpage 'Area' " + Messagebox.SetPage TabArea + kontext "TabArea" + Call DialogTest ( TabArea ) + printlog " select radio button 'none' " + NoFill.Check + Call DialogTest ( TabArea, 1 ) + printlog " select radio button 'color' " + Color.Check + Call DialogTest ( TabArea, 2 ) + printlog " select radio button 'gradient' " + Gradient.Check + Call DialogTest ( TabArea, 3 ) + printlog " select radio button 'hatching' " + Hatching.Check + Call DialogTest ( TabArea, 4 ) + printlog " select radio button 'bitmap' " + Bitmap.Check + Call DialogTest ( TabArea, 5 ) + Kontext + printlog " switch to tabpage 'shadowing' " + Messagebox.SetPage TabSchatten + kontext "TabSchatten" + printlog " check 'use shadow' " + Anzeigen.check + Call DialogTest ( TabSchatten ) + Kontext + printlog " switch to tabpage 'Transparency' " + Messagebox.SetPage TabTransparenz + kontext "TabTransparenz" + printlog " check 'No transparency' " + KeineTransparenz.Check + printlog " check 'Transparency' " + LineareTransparenz.Check + printlog " check 'Gradient' " + Transparenzverlauf.Check + Kontext + printlog " switch to tabpage 'Font' " + Messagebox.SetPage TabFont + kontext "TabFont" + Call DialogTest ( TabFont ) + Kontext + printlog " switch to tabpage 'Font Effect' " + Messagebox.SetPage TabFontEffects + kontext "TabFontEffects" + Kontext + printlog " switch to tabpage 'indents & spacing' " + Messagebox.SetPage TabEinzuegeUndAbstaende + kontext "TabEinzuegeUndAbstaende" + Call DialogTest ( TabEinzuegeUndAbstaende ) endif i=2 if a <= i AND i <= b then - Kontext - printlog " switch to tabpage 'Organize' " - Messagebox.SetPage TabVerwalten - kontext "TabVerwalten" - Call DialogTest ( TabVerwalten ) - Kontext - printlog " switch to tabpage 'text' " - Messagebox.SetPage TabText - Kontext "TabText" - Call DialogTest ( TabText ) - Kontext - printlog " switch to tabpage 'text animation' " - Messagebox.SetPage TabLauftext - Kontext "TabLauftext" - Call DialogTest ( TabLauftext ) - Kontext - printlog " switch to tabpage 'dimension' " - Messagebox.SetPage TabBemassung - Kontext "TabBemassung" - Call DialogTest ( TabBemassung ) - Kontext - printlog " switch to tabpage 'connector' " - Messagebox.setpage TabVerbinder - Kontext "TabVerbinder" - Call Dialogtest ( TabVerbinder ) - Kontext - printlog " switch to tabpage 'alignment' " - Messagebox.setpage TabAusrichtungAbsatz - Kontext "TabAusrichtungAbsatz" - Links.Check - Rechts.Check - Zentriert.Check - Blocksatz.Check - Kontext - printlog " switch to tabpage 'Tabs' " - Messagebox.setpage TabTabulator - Kontext "TabTabulator" - printlog " click 'new' " - Neu.click - printlog " ' MAYBE CHECK COUNT OF THIS ?? Position svx:MetricBox:RID_SVXPAGE_TABULATOR:ED_TABPOS " - printlog " click 'delete all' " - AlleLoeschen.click - printlog " click 'new' " - Neu.click - printlog " click 'delete' " - Loeschen.click + Kontext + printlog " switch to tabpage 'Organize' " + Messagebox.SetPage TabVerwalten + kontext "TabVerwalten" + Call DialogTest ( TabVerwalten ) + Kontext + printlog " switch to tabpage 'text' " + Messagebox.SetPage TabText + Kontext "TabText" + Call DialogTest ( TabText ) + Kontext + printlog " switch to tabpage 'text animation' " + Messagebox.SetPage TabLauftext + Kontext "TabLauftext" + Call DialogTest ( TabLauftext ) + Kontext + printlog " switch to tabpage 'dimension' " + Messagebox.SetPage TabBemassung + Kontext "TabBemassung" + Call DialogTest ( TabBemassung ) + Kontext + printlog " switch to tabpage 'connector' " + Messagebox.setpage TabVerbinder + Kontext "TabVerbinder" + Call Dialogtest ( TabVerbinder ) + Kontext + printlog " switch to tabpage 'alignment' " + Messagebox.setpage TabAusrichtungAbsatz + Kontext "TabAusrichtungAbsatz" + Links.Check + Rechts.Check + Zentriert.Check + Blocksatz.Check + Kontext + printlog " switch to tabpage 'Tabs' " + Messagebox.setpage TabTabulator + Kontext "TabTabulator" + printlog " click 'new' " + Neu.click + printlog " ' MAYBE CHECK COUNT OF THIS ?? Position svx:MetricBox:RID_SVXPAGE_TABULATOR:ED_TABPOS " + printlog " click 'delete all' " + AlleLoeschen.click + printlog " click 'new' " + Neu.click + printlog " click 'delete' " + Loeschen.click endif i=3 if a <= i AND i <= b then - Kontext - printlog " switch to tabpage 'Bullets' " - Messagebox.SetPage TabBullet - Kontext "TabBullet" - sleep 1 - Call DialogTest (TabBullet) - sleep 1 - Kontext - printlog " switch to tabpage 'Numbering Type' " - Messagebox.SetPage TabNumerierungsart - Kontext "TabNumerierungsart" - sleep 1 - Call DialogTest (TabNumerierungsart) - sleep 1 - Kontext - printlog " switch to tabpage 'Graphics' " - Messagebox.SetPage TabGrafiken - Kontext "TabGrafiken" - sleep 1 - Call DialogTest (TabGrafiken) - sleep 1 - Kontext - printlog " switch to tabpage 'Customize' " - Messagebox.SetPage TabOptionenNumerierung - Kontext "TabOptionenNumerierung" - sleep 1 - Call DialogTest (TabOptionenNumerierung) - sleep 1 + Kontext + printlog " switch to tabpage 'Bullets' " + Messagebox.SetPage TabBullet + Kontext "TabBullet" + sleep 1 + Call DialogTest (TabBullet) + sleep 1 + Kontext + printlog " switch to tabpage 'Numbering Type' " + Messagebox.SetPage TabNumerierungsart + Kontext "TabNumerierungsart" + sleep 1 + Call DialogTest (TabNumerierungsart) + sleep 1 + Kontext + printlog " switch to tabpage 'Graphics' " + Messagebox.SetPage TabGrafiken + Kontext "TabGrafiken" + sleep 1 + Call DialogTest (TabGrafiken) + sleep 1 + Kontext + printlog " switch to tabpage 'Customize' " + Messagebox.SetPage TabOptionenNumerierung + Kontext "TabOptionenNumerierung" + sleep 1 + Call DialogTest (TabOptionenNumerierung) + sleep 1 endif end sub -- cgit From 40bf89d734030fbd1db5930da9dc0a035a592c09 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 13:20:48 +0200 Subject: vitomation01: #i109562 - Double quote fixed --- testautomation/global/tools/includes/required/t_doc1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_doc1.inc b/testautomation/global/tools/includes/required/t_doc1.inc index c85b5f987fc1..61c6afadab03 100644 --- a/testautomation/global/tools/includes/required/t_doc1.inc +++ b/testautomation/global/tools/includes/required/t_doc1.inc @@ -440,7 +440,7 @@ function hSetDocumentFactory() as string case "DRAW" : cDocumentFactory = "private:factory/sdraw" case "IMPRESS" : cDocumentFactory = "private:factory/simpress" case "WRITER" : cDocumentFactory = "private:factory/swriter" - case "CALC" : cDocumentFactory = "private:factory/scalc"" + case "CALC" : cDocumentFactory = "private:factory/scalc" case "MATH" : cDocumentFactory = "private:factory/smath" case "HTML" : cDocumentFactory = "private:factory/swriter/web" case "MASTERDOCUMENT" : cDocumentFactory = "private:factory/swriter/GlobalDocument" -- cgit From 52db02d9dd03f8f89d5f50e92fcd4fc7ecd0580b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 14:24:01 +0200 Subject: vitomation01: #i109562 - sMakeEdibleDocument - erh - sMakeReadonlyDocumentEditable reworked, back to old simple style as the newly attempted fixes by HDE and me simply do not work. --- .../global/tools/includes/required/t_doc2.inc | 36 ++++++++++++++++++++++ testautomation/graphics/tools/id_tools_2.inc | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index cccef572bda7..e12b18cf38e3 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -113,8 +113,44 @@ end sub ' '------------------------------------------------------------------------------- ' +function hEnableDocumentEditMode() as boolean + + hEnableDocumentEditMode() = false + + wait( 1000 ) + + try + kontext "Standardbar" + if ( Bearbeiten.getState( 2 ) <> 1 ) then + Bearbeiten.click() + + kontext "Active" + if ( Active.exists( 2 ) ) then + printlog( "Messagebox: " & Active.getText() ) + hCloseDialog( Active, "yes" ) + endif + + kontext "Standardbar" + if ( Bearbeiten.getState( 2 ) = 1 ) then + hEnableDocumentEditMode() = true + waitslot() + endif + else + warnlog( "Document is already in edit-mode" ) + endif + catch + warnlog( "Failed to access button on standardbar" ) + endcatch + +end function + +'******************************************************************************* + function sMakeReadOnlyDocumentEditable() as boolean + sMakeReadOnlyDocumentEditable() = hEnableDocumentEditMode() + exit function + ' Function returns TRUE if document has been made editable and FALSE if ' no action was required (that is: Document was not read-only) diff --git a/testautomation/graphics/tools/id_tools_2.inc b/testautomation/graphics/tools/id_tools_2.inc index a081ff08028c..d3a629fc5c90 100644 --- a/testautomation/graphics/tools/id_tools_2.inc +++ b/testautomation/graphics/tools/id_tools_2.inc @@ -324,7 +324,7 @@ end Sub '------------------------------------------------------------------------------- sub SetKontextApplication - hSetDocumentContext() ' Global routinśe exists + hSetDocumentContext() ' Global routine exists end sub -- cgit From 14388d5f09bd098ff01282977319c95e71c8c97e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 14:35:43 +0200 Subject: vitomation01: #i109562 - sMakeReadonlyDocumentEditable - do not warn if document is already in edit mode. --- testautomation/global/tools/includes/required/t_doc2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index e12b18cf38e3..8d2387e79696 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -136,7 +136,7 @@ function hEnableDocumentEditMode() as boolean waitslot() endif else - warnlog( "Document is already in edit-mode" ) + printlog( "Document is already in edit-mode, no action taken" ) endif catch warnlog( "Failed to access button on standardbar" ) -- cgit From fdc9d546c4f500a0ec42fd6ae041bd344535a27f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 14:37:16 +0200 Subject: vitomation01: #i109562 - sMakeReadonlyDocumentEditable - make it talk a little. --- testautomation/global/tools/includes/required/t_doc2.inc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 8d2387e79696..6093709dafe1 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -122,6 +122,8 @@ function hEnableDocumentEditMode() as boolean try kontext "Standardbar" if ( Bearbeiten.getState( 2 ) <> 1 ) then + + printlog( "Switch document to edit-mode" ) Bearbeiten.click() kontext "Active" @@ -131,7 +133,8 @@ function hEnableDocumentEditMode() as boolean endif kontext "Standardbar" - if ( Bearbeiten.getState( 2 ) = 1 ) then + if ( Bearbeiten.getState( 2 ) = 1 ) then + printlog( "Successfully set document to edit-mode" ) hEnableDocumentEditMode() = true waitslot() endif -- cgit From 8a39269bf0f82c76e5fc09d5b491dd545a06f0df Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 14:42:23 +0200 Subject: vitomation01: #i109562 - formcontrols.inc - disable autoexecuted mouse movements --- testautomation/framework/tools/includes/formcontrols.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/testautomation/framework/tools/includes/formcontrols.inc b/testautomation/framework/tools/includes/formcontrols.inc index 1085e03869d3..03ebb004ee3a 100755 --- a/testautomation/framework/tools/includes/formcontrols.inc +++ b/testautomation/framework/tools/includes/formcontrols.inc @@ -395,7 +395,8 @@ function hDrawControl( xPos as integer, _ '///+
              • Mouse up on pos X/Y-End
              • '/// '///
              - + + autoexecute = false DialogWindow.MouseUp( 20 , 20 ) : wait 100 try @@ -408,7 +409,7 @@ function hDrawControl( xPos as integer, _ warnlog( "#i39852# " & CFN & "Unable to complete mouseactions on dialog" ) hDrawControl() = false endcatch - + autoexecute = true end function @@ -735,6 +736,7 @@ function hSelectControl( iControl as integer ) as boolean '///+
            • Deselct everything and use to activate the control
            • '/// + autoexecute = false for iCurrentSelectionMethod = 1 to SELECTION_METHODS Kontext "BasicIDE" @@ -790,6 +792,7 @@ function hSelectControl( iControl as integer ) as boolean endcatch next iCurrentSelectionMethod + autoexecute = true '///
            end function -- cgit From 9fd8fe8b757ea3a03e28f9837acbe4eaada895cf Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:05:44 +0200 Subject: vitomation01: #i109562 - replace wDocSetContext() with hSetDocumentContext() --- .../optional/includes/autotext/w_autotext.inc | 6 +- .../optional/includes/clipboard/clipbrd_func.inc | 2 +- .../optional/includes/navigator/w_navigator.inc | 8 +-- .../optional/includes/textframes/w_textframes1.inc | 2 +- .../writer/required/includes/w_001b_.inc | 4 +- testautomation/writer/required/includes/w_002_.inc | 2 +- testautomation/writer/required/includes/w_005_.inc | 4 +- testautomation/writer/tools/includes/w_tool1.inc | 61 ++++++++++--------- testautomation/writer/tools/includes/w_tool2.inc | 69 ++++++++++------------ testautomation/writer/tools/includes/w_tool3.inc | 6 +- testautomation/writer/tools/includes/w_tool6.inc | 2 +- testautomation/writer/tools/includes/w_tools.inc | 29 --------- 12 files changed, 81 insertions(+), 114 deletions(-) mode change 100644 => 100755 testautomation/writer/optional/includes/autotext/w_autotext.inc mode change 100644 => 100755 testautomation/writer/optional/includes/navigator/w_navigator.inc mode change 100644 => 100755 testautomation/writer/optional/includes/textframes/w_textframes1.inc mode change 100644 => 100755 testautomation/writer/required/includes/w_001b_.inc mode change 100644 => 100755 testautomation/writer/required/includes/w_005_.inc mode change 100644 => 100755 testautomation/writer/tools/includes/w_tool3.inc mode change 100644 => 100755 testautomation/writer/tools/includes/w_tools.inc diff --git a/testautomation/writer/optional/includes/autotext/w_autotext.inc b/testautomation/writer/optional/includes/autotext/w_autotext.inc old mode 100644 new mode 100755 index 11cc9d0955b6..2921a66e5d7b --- a/testautomation/writer/optional/includes/autotext/w_autotext.inc +++ b/testautomation/writer/optional/includes/autotext/w_autotext.inc @@ -199,7 +199,7 @@ testcase tEditAutotext_1 Warnlog "New autotext has not been found!" Autotext.Close else - Call wDocSetContext + hSetDocumentContext() Call wTypeKeys("") EditCopy if GetClipboardtext <> "This becomes an autotext!" then @@ -263,7 +263,7 @@ testcase tEditAutotext_2 wait 500 Kontext "Autotext" Autotext.Close - Call wDocSetContext + hSetDocumentContext() printlog " Insert some text and format text" Call wTypeKeys("This becomes an autotext!") ' Format word 'This' @@ -392,7 +392,7 @@ testcase tEditAutotext_2 Warnlog "New autotext has not been found!" Autotext.Close else - Call wDocSetContext + hSetDocumentContext() Call wTypeKeys("" , 4) Call wTypeKeys("") EditCopy diff --git a/testautomation/writer/optional/includes/clipboard/clipbrd_func.inc b/testautomation/writer/optional/includes/clipboard/clipbrd_func.inc index bad0c5f41dae..278ecd229eda 100755 --- a/testautomation/writer/optional/includes/clipboard/clipbrd_func.inc +++ b/testautomation/writer/optional/includes/clipboard/clipbrd_func.inc @@ -78,7 +78,7 @@ function wPasteAvailableClipboardFormats(TheNumber as integer, CheckWhat as Stri QAErrorlog " - " + Active.Gettext + "->Bug#110181" Active.Ok end if - Call wDocSetContext + hSetDocumentContext() Call wTypeKeys "",2 Select Case gApplication Case "WRITER","MASTERDOCUMENT","HTML" diff --git a/testautomation/writer/optional/includes/navigator/w_navigator.inc b/testautomation/writer/optional/includes/navigator/w_navigator.inc old mode 100644 new mode 100755 index 9f7a8e3f2fe8..ede650feb713 --- a/testautomation/writer/optional/includes/navigator/w_navigator.inc +++ b/testautomation/writer/optional/includes/navigator/w_navigator.inc @@ -168,13 +168,11 @@ testcase tViewNavigator2 '/// Close all documents reopen a new and check if Navigator is docked /// printlog " - Close all documents reopen a new and check if Navigator is docked" - Call hCloseDocument - Sleep 2 - Call hCloseDocument - Sleep 2 + hFileCloseAll() + '/// New document /// Call hNewDocument - Call wDocSetContext + hSetDocumentContext() try DocumentWriter.FadeOut catch diff --git a/testautomation/writer/optional/includes/textframes/w_textframes1.inc b/testautomation/writer/optional/includes/textframes/w_textframes1.inc old mode 100644 new mode 100755 index f6e977e15091..d61d2560d010 --- a/testautomation/writer/optional/includes/textframes/w_textframes1.inc +++ b/testautomation/writer/optional/includes/textframes/w_textframes1.inc @@ -85,7 +85,7 @@ testcase tTextframes_1 '/// 2. Insert a frame over Toolbox / Insert / Frame Call hNewDocument - Call wDocSetContext + hSetDocumentContext() Call gMouseClick (30, 50) Call hToolbarSelect("INSERT", true ) diff --git a/testautomation/writer/required/includes/w_001b_.inc b/testautomation/writer/required/includes/w_001b_.inc old mode 100644 new mode 100755 index 979ae00504b8..e80cbe7739c8 --- a/testautomation/writer/required/includes/w_001b_.inc +++ b/testautomation/writer/required/includes/w_001b_.inc @@ -326,7 +326,7 @@ testcase tFileSendAutoabstractToPresentation Call hCloseDocument PrintLog "Close active document" - Call wDocSetContext + hSetDocumentContext() FileClose endcase '-------------------------------------------------------------------------------------------------------------------------------------------- @@ -862,7 +862,7 @@ testcase tMasterDocFileSendAutoabstractToPresentation Call hCloseDocument PrintLog "Close active document" - Call wDocSetContext + hSetDocumentContext() FileClose gApplication = "WRITER" diff --git a/testautomation/writer/required/includes/w_002_.inc b/testautomation/writer/required/includes/w_002_.inc index c1c187999777..089b779b4adf 100755 --- a/testautomation/writer/required/includes/w_002_.inc +++ b/testautomation/writer/required/includes/w_002_.inc @@ -955,7 +955,7 @@ testcase tEditHyperlink goto endsub endif - Call wDocSetContext + hSetDocumentContext() PrintLog "Check if correct URL has been set to document" if ( hUseAsyncSlot( "EditCopy" ) > -1 ) then diff --git a/testautomation/writer/required/includes/w_005_.inc b/testautomation/writer/required/includes/w_005_.inc old mode 100644 new mode 100755 index 830ce39adc24..0c0d10eec4d4 --- a/testautomation/writer/required/includes/w_005_.inc +++ b/testautomation/writer/required/includes/w_005_.inc @@ -716,7 +716,7 @@ testcase tFormatColumn printlog " Close dialog" SpaltenBreite.OK Wait 500 - Call wDocSetContext + hSetDocumentContext() printlog " Enter some text in document" Call wTypeKeys ("Dies ist ein langer Text, HALLO HALLO") Wait 500 @@ -735,7 +735,7 @@ testcase tFormatColumn printlog " Format / Cloumn / Delete" TableDeleteColumns WaitSlot (500) - Call wDocSetContext + hSetDocumentContext() printlog " Press 'up' twice to point cursor in the table" Call wTypeKeys ("",2) wait 500 diff --git a/testautomation/writer/tools/includes/w_tool1.inc b/testautomation/writer/tools/includes/w_tool1.inc index 34b83bc5e97b..6150cb8e1fbc 100755 --- a/testautomation/writer/tools/includes/w_tool1.inc +++ b/testautomation/writer/tools/includes/w_tool1.inc @@ -154,32 +154,48 @@ end sub sub hEinfuegenFloatingFrame InsertFloatingFrame + Kontext "TabEigenschaften" - FrameName.SetText "Hallo" - Inhalt.SetText ConvertPath ( gTesttoolpath + "input\desktop\frameset.htm" ) - TabEigenschaften.OK - Sleep 10 + if ( Tabeigenschaften.exists( 2 ) ) then + FrameName.SetText "Hallo" + Inhalt.SetText ConvertPath ( gTesttoolpath + "input\desktop\frameset.htm" ) + hCloseDialog( TabEigenschaften, "ok" ) + else + warnlog( "Failed to open " ) + endif end sub ' ----------------------------------------------------------------------- sub hEinfuegenRahmen + InsertFrame + Kontext - Active.SetPage TabType - Kontext "TabType" - TabType.OK - Sleep 3 + if ( Active.exists( 2 ) ) then + Active.SetPage TabType + Kontext "TabType" + hCloseDialog( TabType, "ok" ) + else + warnlog( "Failed to open " ) + endif + end sub ' ----------------------------------------------------------------------- sub hEinfuegenChart + InsertObjectChart + Kontext "AutoformatDiagramm1" - Fertigstellen.Click - WaitSlot() ' NOOP + if ( AutoformatDiagramm1.exists( 2 ) ) then + hClickButton( Fertigstellen ) + else + warnlog( "Failed to open " ) + endif + end sub ' ----------------------------------------------------------------------- @@ -315,6 +331,8 @@ end sub '---------------------------------------------------------------- sub sMenufunktionen(Fuer_Was as string) + + const RC_FAILURE = -1 Dim i as integer Kontext "FormControls" @@ -336,33 +354,20 @@ sub sMenufunktionen(Fuer_Was as string) next i Kontext - try - FormatControl - WaitSlot() + if ( hUseAsyncSlot( "FormatControl" ) <> RC_FAILURE ) then Kontext "ControlPropertiesDialog" if ControlPropertiesDialog.Exists( 2 ) then - ControlPropertiesDialog.Close - ControlPropertiesDialog.notExists( 2 ) - else - FormatControl - Wait 500 - Kontext "ControlPropertiesDialog" - if ControlPropertiesDialog.Exists( 2 ) then - ControlPropertiesDialog.Close - ControlPropertiesDialog.notExists( 2 ) - else - Warnlog " - Controlfieldproperties "+ Fuer_Was +" from Menu not available!" - end if - end if + hCloseDialog( ControlPropertiesDialog, "close" ) + endif printlog Fuer_Was - catch + else if gPlatform = "osx" then Warnlog "#i82427#-Mac OS X (Aqua): Drawing function does not draw anything" else Warnlog " - Controlfieldproperties "+ Fuer_Was +" from Menu not available!" end if - endcatch + endif Call wTypeKeys "" Kontext "FormControls" diff --git a/testautomation/writer/tools/includes/w_tool2.inc b/testautomation/writer/tools/includes/w_tool2.inc index 44e78fd589b4..0aa4238520a1 100644 --- a/testautomation/writer/tools/includes/w_tool2.inc +++ b/testautomation/writer/tools/includes/w_tool2.inc @@ -28,13 +28,6 @@ '* ** '* short description : Description of file ** '* ** -'******************************************************************* -'* ** -' #1 OptionenAufrufen -' #1 CheckUberpruefen -' #1 UnCheckUeberpruefen -' #1 WortErgaenzen -'* ** '\****************************************************************** sub OptionenAufrufen(Seite as string) @@ -346,7 +339,7 @@ function wDeleteAutotext(vAutotextName as string) as boolean Dim bDeleted as boolean Dim sAllGroups as integer Dim sAllInGroups as integer - + Kontext "Autotext" if Not Autotext.Exists then EditAutotext @@ -370,36 +363,36 @@ function wDeleteAutotext(vAutotextName as string) as boolean ' count all groups sAllGroups = Liste.GetItemCount ' travel through all groups - For ik = 1 to sAllGroups - Liste.Select ik - Liste.TypeKeys "+" - - sAllInGroups = Liste.GetItemCount - sAllGroups - For j = 1 to sAllInGroups - Liste.TypeKeys "" - if Liste.Gettext = vAutotextName then - try - Menue.Click - wait 500 - Call hMenuSelectNr ( 3 ) - Kontext "Active" - if Active.Exists and Active.GetRT = 304 then - Active.yes - wDeleteAutotext = true - else - Warnlog "No messages to confirm deleting the Autotext!" - end if - bDeleted = true - exit for - catch - Warnlog "Menu Autotext->'Delete' disabled ! Test failed !" - endcatch - end if - next j - if bDeleted = true then exit for - ' close group + For ik = 1 to sAllGroups + Liste.Select ik + Liste.TypeKeys "+" + + sAllInGroups = Liste.GetItemCount - sAllGroups + For j = 1 to sAllInGroups + Liste.TypeKeys "" + if Liste.Gettext = vAutotextName then + try + Menue.Click + wait 500 + Call hMenuSelectNr ( 3 ) + Kontext "Active" + if Active.Exists and Active.GetRT = 304 then + Active.yes + wDeleteAutotext = true + else + Warnlog "No messages to confirm deleting the Autotext!" + end if + bDeleted = true + exit for + catch + Warnlog "Menu Autotext->'Delete' disabled ! Test failed !" + endcatch + end if + next j + if bDeleted = true then exit for + ' close group Liste.Select ik - Liste.TypeKeys "-" + Liste.TypeKeys "-" next ik end function @@ -420,4 +413,4 @@ sub wChangeDefaultView() Massstab.Ok Call hCloseDocument -end sub \ No newline at end of file +end sub diff --git a/testautomation/writer/tools/includes/w_tool3.inc b/testautomation/writer/tools/includes/w_tool3.inc old mode 100644 new mode 100755 index 8be27ca7bc3c..235d66c86f07 --- a/testautomation/writer/tools/includes/w_tool3.inc +++ b/testautomation/writer/tools/includes/w_tool3.inc @@ -33,7 +33,7 @@ sub InTabelleKontrollieren Call wTypeKeys ("") Call wTypeKeys ("") - EditCopy + hUseAsyncSlot( "EditCopy" ) if GetClipBoardText <> "Text" then Warnlog "Text has not been inserted in a table" else @@ -45,7 +45,7 @@ end sub ' **** sub InTabelleKontrollierenExtra Call wTypeKeys ("") - EditCopy + hUseAsyncSlot( "EditCopy" ) if GetClipBoardText <> "Der" then Warnlog "Text has not been inserted in a table" else @@ -57,7 +57,7 @@ end sub '*** sub InTextKontrollieren Call wTypeKeys ("") - EditCopy + hUseAsyncSlot( "EditCopy" ) if Left$(GetClipBoardText,3) <> "Der" AND Left$(GetClipboardText,4) <> "Der " then Warnlog "Table has not been changed to text" else diff --git a/testautomation/writer/tools/includes/w_tool6.inc b/testautomation/writer/tools/includes/w_tool6.inc index f6322cfc15f3..0da02a8373a7 100755 --- a/testautomation/writer/tools/includes/w_tool6.inc +++ b/testautomation/writer/tools/includes/w_tool6.inc @@ -705,7 +705,7 @@ end sub function fInsertFrame (x1 as Integer , y1 as Integer , x2 as Integer , y2 as Integer) 'This function will insert a frame with the coordinate - Call wDocSetContext + hSetDocumentContext() Call hToolbarSelect("INSERT", true ) Sleep 1 diff --git a/testautomation/writer/tools/includes/w_tools.inc b/testautomation/writer/tools/includes/w_tools.inc old mode 100644 new mode 100755 index 8fa05c23bbc9..a94109800390 --- a/testautomation/writer/tools/includes/w_tools.inc +++ b/testautomation/writer/tools/includes/w_tools.inc @@ -94,35 +94,6 @@ end sub ' ----------------------------------------------------------------------- -sub wDocSetContext - Select Case Ucase(gApplication) - Case "WRITER" - Kontext "DocumentWriter" - - Case "MASTERDOCUMENT" - Kontext "DocumentMasterDoc" - - Case "HTML" - Kontext "DocumentWriterWeb" - - Case "IMPRESS" - Kontext "DocumentImpress" - - Case "DRAW" - Kontext "DocumentDraw" - - Case "MATH" - Kontext "DocumentMath" - - Case "CALC" - Kontext "DocumentCalc" - - end select - wait 500 -end sub - -' ----------------------------------------------------------------------- - function wBlindtextEinfuegen() as boolean '/// This functions inserts a Dummytext and returns true if it was inserted Dim BlindText as string, bTemp as boolean -- cgit From 046f410a9903eb3ee0352ed7c22c2cb5976ddf74 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:14:47 +0200 Subject: vitomation01: #i109562 - reformat files according to coding guidelines --- testautomation/writer/tools/includes/w_tools.inc | 46 ++++++++++++------------ 1 file changed, 24 insertions(+), 22 deletions(-) mode change 100755 => 100644 testautomation/writer/tools/includes/w_tools.inc diff --git a/testautomation/writer/tools/includes/w_tools.inc b/testautomation/writer/tools/includes/w_tools.inc old mode 100755 new mode 100644 index a94109800390..5edcc2830947 --- a/testautomation/writer/tools/includes/w_tools.inc +++ b/testautomation/writer/tools/includes/w_tools.inc @@ -64,6 +64,7 @@ end sub ' ----------------------------------------------------------------------- sub wTypeKeys ( OutputText , optional iLoop as Integer ) + Dim i as integer If lcase(OutputText) = "" then If iSprache = 34 then OutputText = "" @@ -90,6 +91,7 @@ sub wTypeKeys ( OutputText , optional iLoop as Integer ) end select wait 500 next i + end sub ' ----------------------------------------------------------------------- @@ -147,28 +149,28 @@ sub wZeichenobjektEinfuegen ( Objekt$, xStart%, yStart%, xEnde%, yEnde%, optiona Objekt = UCase( Objekt ) select case Objekt - case "RECHTECK" : Rechteck.Click - case "LINIE" : Linie.Click - case "ELLIPSE" : Ellipse.Click - case "TEXT" : Textobjekt.Click - case "VTEXT" : - try - VerticalText.Click - catch - if gAsianSup = True then - Warnlog "Unable to insert Vertical Text! Asian Support in Options activated ?" - end if - endcatch - case "LAUFTEXT" : Lauftext.Click - case "LEGENDE" : Legende.Click - case "VLEGENDE" : - try - VerticalCallout.Click - catch - Warnlog "Unable to insert Vertical Callout! Asian Support in Options activated ?" - endcatch + case "RECHTECK" : Rechteck.Click + case "LINIE" : Linie.Click + case "ELLIPSE" : Ellipse.Click + case "TEXT" : Textobjekt.Click + case "VTEXT" : + try + VerticalText.Click + catch + if gAsianSup = True then + Warnlog "Unable to insert Vertical Text! Asian Support in Options activated ?" + end if + endcatch + case "LAUFTEXT" : Lauftext.Click + case "LEGENDE" : Legende.Click + case "VLEGENDE" : + try + VerticalCallout.Click + catch + Warnlog "Unable to insert Vertical Callout! Asian Support in Options activated ?" + endcatch end select - Sleep (2) + Sleep (2) Select Case gApplication Case "WRITER" @@ -207,7 +209,7 @@ sub wZeichenobjektEinfuegen ( Objekt$, xStart%, yStart%, xEnde%, yEnde%, optiona wait 100 end if end select - sleep (1) + sleep (1) end sub ' ----------------------------------------------------------------------- -- cgit From 6884585ee6ba0b5ea9e66c08059071484cc167e0 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:15:30 +0200 Subject: vitomation01: #i109562 - Uppercasing gApplication is not required anymore --- testautomation/writer/tools/includes/w_tools.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testautomation/writer/tools/includes/w_tools.inc b/testautomation/writer/tools/includes/w_tools.inc index 5edcc2830947..dc7e54fd5a78 100644 --- a/testautomation/writer/tools/includes/w_tools.inc +++ b/testautomation/writer/tools/includes/w_tools.inc @@ -507,7 +507,7 @@ sub wNavigatorAuswahl(Gruppe as integer, Eintrag as integer,optional LeaveFocus Sleep 2 - Select Case Ucase(gApplication) + Select Case gApplication Case "CALC" if (Liste.GetItemCount < MinEntrys) then Umschalten.Click if Liste.GetItemCount >MinEntrys then @@ -525,7 +525,7 @@ sub wNavigatorAuswahl(Gruppe as integer, Eintrag as integer,optional LeaveFocus Liste.TypeKeys "" end if - Case "WRITER","HTML", "HTML" + Case "WRITER","HTML" if (Auswahlliste.GetItemCount < MinEntrys) then try Inhaltsansicht.Click -- cgit From 1083d6f221b566032b6e8b48fc203a96dcea0b34 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:30:23 +0200 Subject: vitomation01: #i109562 - Excluded tCheckDialog due to issue #i111908 --- testautomation/writer/optional/includes/regexp/search.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/testautomation/writer/optional/includes/regexp/search.inc b/testautomation/writer/optional/includes/regexp/search.inc index ce3d946fe3b9..b21fdb4b0b42 100755 --- a/testautomation/writer/optional/includes/regexp/search.inc +++ b/testautomation/writer/optional/includes/regexp/search.inc @@ -64,6 +64,9 @@ end sub '--------------------------------------------------------- testcase tCheckDialog + warnlog( "#i111908# - Control cannot be accessed" ) + goto endsub + Dim Checkboxtitel Call hNewDocument EditSearchAndReplace -- cgit From 1be0571ba7221a0c736eb9ba501ce2c90454519c Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:42:52 +0200 Subject: vitomation01: #i109562 - Removed delays, added basic errorhandling where it appeared to be useful --- .../writer/optional/includes/tools/tools1.inc | 254 ++++++++++----------- 1 file changed, 126 insertions(+), 128 deletions(-) diff --git a/testautomation/writer/optional/includes/tools/tools1.inc b/testautomation/writer/optional/includes/tools/tools1.inc index 987548a064d1..d09800f98fa3 100644 --- a/testautomation/writer/optional/includes/tools/tools1.inc +++ b/testautomation/writer/optional/includes/tools/tools1.inc @@ -29,21 +29,6 @@ '* '* short description : Tools for writer/Optional - 1 '* -'************************************************************************ -'* -' #0 fFileProperties -' #0 fFormatGraphic -' #0 fFormatFrame -' #0 fFormatPageWriter -' #0 fFormatParagraph -' #0 fFormatCharacter -' #0 fFormatTable -' #0 fFormatStylesCatalog -' #0 fPositionAndSize -' #0 fInsertFieldsOther -' #0 fInsertSection -' #0 fToolsAutocorrect -'* '\*********************************************************************** @@ -51,18 +36,25 @@ '***************************************************************** function fFileProperties(Options as string) - FileProperties - sleep(1) - Kontext - Select case Options - case "TabDokument" : active.SetPage TabDokument - case "TabBeschreibung" : active.SetPage TabBeschreibung - case "TabBenutzer" : active.SetPage TabBenutzer - case "TabInternet" : active.SetPage TabInternet - case "TabStatistik" : active.SetPage TabStatistik - end Select - - Kontext Options + if ( hUseAsyncSlot( "FileProperties" ) <> -1 ) then + + Kontext + if ( Active.exists( 2 ) ) then + Select case Options + case "TabDokument" : active.SetPage TabDokument + case "TabBeschreibung" : active.SetPage TabBeschreibung + case "TabBenutzer" : active.SetPage TabBenutzer + case "TabInternet" : active.SetPage TabInternet + case "TabStatistik" : active.SetPage TabStatistik + end Select + else + warnlog( " dialog not open" ) + endif + else + warnlog( "Failed to execute " ) + endif + + Kontext Options end function @@ -74,46 +66,43 @@ end function function fFormatGraphic(Options as string) as boolean Dim j as integer, sSlotOK as boolean - try - FormatGraphics - sSlotOK = true - catch - warnlog "Unable to execute Format / Graphics" - endcatch - sleep(1) + if ( hUseAsyncSlot( "FormatGraphics" ) <> -1 ) then + Kontext - if sSlotOK = true then + if ( Active.exists( 2 ) ) then Select case Options - case "TabType" : active.SetPage TabType - case "TabZusaetze" : active.SetPage TabZusaetze - case "TabUmlauf" : active.SetPage TabUmlauf - case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen - case "TabGrafik" : active.SetPage TabGrafik - case "TabZuschneiden" : active.SetPage TabZuschneiden - case "TabUmrandung" : active.SetPage TabUmrandung - case "TabHintergrund" : active.SetPage TabHintergrund - case "TabMakro" - active.SetPage TabMakro - ' if no JRE is installed a messagebox appears - Do - j = j + 1 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - if j = 1 then Warnlog Active.Gettext - Active.Ok - else - exit do - end if + case "TabType" : active.SetPage TabType + case "TabZusaetze" : active.SetPage TabZusaetze + case "TabUmlauf" : active.SetPage TabUmlauf + case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen + case "TabGrafik" : active.SetPage TabGrafik + case "TabZuschneiden" : active.SetPage TabZuschneiden + case "TabUmrandung" : active.SetPage TabUmrandung + case "TabHintergrund" : active.SetPage TabHintergrund + case "TabMakro" + active.SetPage TabMakro + ' if no JRE is installed a messagebox appears + Do + j = j + 1 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + if j = 1 then Warnlog Active.Gettext + Active.Ok else exit do end if - Loop + else + exit do + end if + Loop end select - - Kontext Options - end if - fFormatGraphic = sSlotOK + else + warnlog( "Failed to execute " ) + endif + + Kontext Options + end function @@ -123,22 +112,28 @@ end function '**************************************************************** function fFormatFrame(Options as string) - Sleep 1 - FormatFrame - Kontext - - Select case Options - case "TabType" : active.SetPage TabType - case "TabZusaetze" : active.SetPage TabZusaetze - case "TabUmlauf" : active.SetPage TabUmlauf - case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen - case "TabUmrandung" : active.SetPage TabUmrandung - case "TabHintergrund" : active.SetPage TabHintergrund - case "TabSpalten" : active.SetPage TabSpalten - case "TabMakro" : active.SetPage TabMakro - end Select + if ( hUseAsyncSlot( "FormatFrame" ) <> -1 ) then - Kontext Options + Kontext + if ( Active.exists( 2 ) ) then + Select case Options + case "TabType" : active.SetPage TabType + case "TabZusaetze" : active.SetPage TabZusaetze + case "TabUmlauf" : active.SetPage TabUmlauf + case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen + case "TabUmrandung" : active.SetPage TabUmrandung + case "TabHintergrund" : active.SetPage TabHintergrund + case "TabSpalten" : active.SetPage TabSpalten + case "TabMakro" : active.SetPage TabMakro + end Select + else + warnlog( " dialog did not open" ) + endif + else + warnlog( "Failed to execute " ) + endif + + Kontext Options end function @@ -148,10 +143,10 @@ end function '************************************************************************* function fFormatPageWriter(Options as string) - FormatPageWriter - Kontext + FormatPageWriter + Kontext - Select case Options + Select case Options case "TabVerwalten" : active.SetPage TabVerwalten case "TabSeite" : active.SetPage TabSeite case "TabHintergrund" : active.SetPage TabHintergrund @@ -161,9 +156,9 @@ function fFormatPageWriter(Options as string) case "TabSpalten" : active.SetPage TabSpalten case "TabFussnote" : active.SetPage TabFussnote case "TabGrid" : active.SetPage TabGrid - end Select + end Select - Kontext Options + Kontext Options end function @@ -173,10 +168,10 @@ end function '************************************************************************* function fFormatParagraph(Options as string) - FormatParagraph - Kontext + FormatParagraph + Kontext - Select case Options + Select case Options case "TabEinzuegeUndAbstaende" : active.SetPage TabEinzuegeUndAbstaende case "TabAusrichtungAbsatz" : active.SetPage TabAusrichtungAbsatz case "TabTextfluss" : active.SetPage TabTextfluss @@ -186,9 +181,9 @@ function fFormatParagraph(Options as string) case "TabInitialen" : active.SetPage TabInitialen case "TabUmrandung" : active.SetPage TabUmrandung case "TabHintergrund" : active.SetPage TabHintergrund - end Select + end Select - Kontext Options + Kontext Options end function @@ -198,19 +193,19 @@ end function '************************************************************************* function fFormatCharacter(Options as string) - FormatCharacter - Kontext + FormatCharacter + Kontext - Select case Options + Select case Options case "TabFont" : active.SetPage TabFont case "TabFontEffects" : active.SetPage TabFontEffects case "TabFontPosition" : active.SetPage TabFontPosition case "TabAsianLayout" : active.SetPage TabAsianLayout case "TabHyperlinkZeichen" : active.SetPage TabHyperlinkZeichen case "TabHintergrund" : active.SetPage TabHintergrund - end Select + end Select - Kontext Options + Kontext Options end function @@ -221,18 +216,18 @@ end function '************************************************************************* function fFormatTable(Options as string) - FormatTable - Kontext + FormatTable + Kontext - Select case Options + Select case Options case "TabTabelle" : active.SetPage TabTabelle case "TabTextflussTabelle" : active.SetPage TabTextflussTabelle case "TabSpaltenTabelle" : active.SetPage TabSpaltenTabelle case "TabUmrandung" : active.SetPage TabUmrandung case "TabHintergrund" : active.SetPage TabHintergrund - end Select + end Select - Kontext Options + Kontext Options end function @@ -242,16 +237,16 @@ end function '************************************************************************* function fFormatStylesCatalog(Options as string) - FormatStylesCatalog - Kontext "VorlagenKatalog" + FormatStylesCatalog + Kontext "VorlagenKatalog" - Select case Options + Select case Options case "Paragraph" : Vorlagen.Select 1 case "Character" : Vorlagen.Select 2 case "Frame" : Vorlagen.Select 3 case "Page" : Vorlagen.Select 4 case "Numbering" : Vorlagen.Select 5 - end Select + end Select end function @@ -261,19 +256,19 @@ end function '******************************************************************************* function fInsertFieldsOther(Options as string) - InsertFieldsOther - Kontext + InsertFieldsOther + Kontext - Select case Options + Select case Options case "TabDokumentFeldbefehle" : active.SetPage TabDokumentFeldbefehle case "TabReferenzen" : active.SetPage TabReferenzen case "TabFunktionen" : active.SetPage TabFunktionen case "TabDokumentinfoFeldbefehle" : active.SetPage TabDokumentinfoFeldbefehle case "TabVariablen" : active.SetPage TabVariablen case "TabDatenbank" : active.SetPage TabDatenbank - end Select + end Select - Kontext Options + Kontext Options end function @@ -283,20 +278,23 @@ end function '****************************************************** function fInsertSection(Options as string) - InsertSection - wait 500 - Kontext - - Select case Options - case "TabBereiche" : active.SetPage TabBereiche - case "TabSpalten" : active.SetPage TabSpalten - case "TabSectionIndent" : active.SetPage TabSectionIndent - case "TabHintergrund" : active.SetPage TabHintergrund - case "TabFussEndnoten" : active.SetPage TabFussEndnoten - end Select + InsertSection - Kontext Options - Sleep 1 + Kontext + if ( Active.exists( 2 ) ) then + Select case Options + case "TabBereiche" : active.SetPage TabBereiche + case "TabSpalten" : active.SetPage TabSpalten + case "TabSectionIndent" : active.SetPage TabSectionIndent + case "TabHintergrund" : active.SetPage TabHintergrund + case "TabFussEndnoten" : active.SetPage TabFussEndnoten + end Select + waitslot() + else + warnlog( "Failed to open dialog" ) + endif + + Kontext Options end function @@ -306,18 +304,18 @@ end function '************************************************************************* function fToolsAutocorrect(Options as string) - Kontext - ToolsAutoCorrect + Kontext + ToolsAutoCorrect - Select case Options + Select case Options case "TabErsetzung" : active.SetPage TabErsetzung case "TabAusnahmen" : active.SetPage TabAusnahmen case "TabOptionenAutokorrektur" : active.SetPage TabOptionenAutokorrektur case "TabLocalizedOptions" : active.SetPage TabLocalizedOptions case "TabWortergaenzung" : active.SetPage TabWortergaenzung - end Select + end Select - Kontext Options + Kontext Options end function @@ -327,16 +325,16 @@ end function '****************************************************** function fPositionAndSize(Options as string) - Kontext - FormatPositionAndSize + Kontext + FormatPositionAndSize - Select case Options + Select case Options case "TabPositionAndSizeWriter" : active.SetPage TabPositionAndSizeWriter case "TabDrehung" : active.SetPage TabDrehung case "TabSchraegstellen" : active.SetPage TabSchraegstellen - end Select + end Select - Kontext Options + Kontext Options end function -- cgit From b7969b1624ddce173bea3dac13586fa6f7459a7a Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:45:42 +0200 Subject: vitomation01: #i109562 - fCloseNavigator, implementation No 11234372 replaced --- .../writer/optional/includes/tools/tools2.inc | 666 ++++++++++----------- 1 file changed, 326 insertions(+), 340 deletions(-) diff --git a/testautomation/writer/optional/includes/tools/tools2.inc b/testautomation/writer/optional/includes/tools/tools2.inc index 8f61d4dc0d1a..8ee87a5b037a 100644 --- a/testautomation/writer/optional/includes/tools/tools2.inc +++ b/testautomation/writer/optional/includes/tools/tools2.inc @@ -29,157 +29,143 @@ '* '* short description : Tools for writer/Optional - 2 '* -'************************************************************************ -'* -' #1 fStartupNavigator -' #1 fCloseNavigator -' #1 StrToDouble -' #1 fCalculateTolerance -' #1 fFindWord -' #1 fGetLanguageName -'* '\*********************************************************************** function fStartupNavigator(navigatorItem as String , subItemNum as Integer) -'/// Start up Navigator , and set focus to the correct position + '/// Start up Navigator , and set focus to the correct position Dim j as Integer - Kontext "Navigator" - if NOT Navigator.Exists then - ViewNavigator - end if - Sleep 2 - Kontext "NavigatorWriter" - if Auswahlliste.GetItemCount < 11 then - Inhaltsansicht.Click - Sleep 1 - end if - Auswahlliste.TypeKeys "" '<- Set focus to first entry - if Auswahlliste.GetItemCount > 11 then '<- If nodes are open - For j= 1 to 12 '<- close all nodes - Auswahlliste.Select j - Sleep 1 - Auswahlliste.TypeKeys "-" - Sleep 1 - next j - end if - Auswahlliste.TypeKeys "" ' point focus to first entry - sleep 3 - - Select case navigatorItem - case "Headings" : goto GoON - case "Tables" : Auswahlliste.TypeKeys "" - case "TextFrame" : Auswahlliste.TypeKeys "" , 2 - case "Graphics" : Auswahlliste.TypeKeys "" , 3 - case "OLEObject" : Auswahlliste.TypeKeys "" , 4 - case "Bookmarks" : Auswahlliste.TypeKeys "" , 5 - case "Section" : Auswahlliste.TypeKeys "" , 6 - case "Hyperlinks" : Auswahlliste.TypeKeys "" , 7 - case "References" : Auswahlliste.TypeKeys "" , 8 - case "Indexes" : Auswahlliste.TypeKeys "" , 9 - case "Notes" : Auswahlliste.TypeKeys "" , 10 - case "DrawObjects" : Auswahlliste.TypeKeys "" , 11 - end Select - sleep 2 -GoON: - Auswahlliste.TypeKeys "" - sleep 2 - Inhaltsansicht.Click - sleep 2 - Auswahlliste.TypeKeys "",subItemNum - sleep 2 + Kontext "Navigator" + if NOT Navigator.Exists then + ViewNavigator + end if + Sleep 2 + Kontext "NavigatorWriter" + if Auswahlliste.GetItemCount < 11 then + Inhaltsansicht.Click + Sleep 1 + end if + Auswahlliste.TypeKeys "" '<- Set focus to first entry + if Auswahlliste.GetItemCount > 11 then '<- If nodes are open + For j= 1 to 12 '<- close all nodes + Auswahlliste.Select j + Sleep 1 + Auswahlliste.TypeKeys "-" + Sleep 1 + next j + end if + Auswahlliste.TypeKeys "" ' point focus to first entry + sleep 3 + + Select case navigatorItem + case "Headings" : goto GoON + case "Tables" : Auswahlliste.TypeKeys "" + case "TextFrame" : Auswahlliste.TypeKeys "" , 2 + case "Graphics" : Auswahlliste.TypeKeys "" , 3 + case "OLEObject" : Auswahlliste.TypeKeys "" , 4 + case "Bookmarks" : Auswahlliste.TypeKeys "" , 5 + case "Section" : Auswahlliste.TypeKeys "" , 6 + case "Hyperlinks" : Auswahlliste.TypeKeys "" , 7 + case "References" : Auswahlliste.TypeKeys "" , 8 + case "Indexes" : Auswahlliste.TypeKeys "" , 9 + case "Notes" : Auswahlliste.TypeKeys "" , 10 + case "DrawObjects" : Auswahlliste.TypeKeys "" , 11 + end Select + sleep 2 + GoON: + Auswahlliste.TypeKeys "" + sleep 2 + Inhaltsansicht.Click + sleep 2 + Auswahlliste.TypeKeys "",subItemNum + sleep 2 end function '------------------------------------------------------------------------- function fCloseNavigator -'/// Close Navigator - Kontext "Navigator" - Sleep 3 - if Navigator.Exists(2) then - Navigator.Close - end if - Sleep 3 + Kontext "Navigator" + hCloseDialog( Navigator, "close" ) end function '------------------------------------------------------------------------- function StrToDouble ( sWert$ ) as Double -'/// Transfer String to Double , including -'/// 2.00cm --> 2.00 -'/// 2,00cm --> 2.00 -'/// 20% --> 20 + '/// Transfer String to Double , including + '/// 2.00cm --> 2.00 + '/// 2,00cm --> 2.00 + '/// 20% --> 20 - dim sDummy$ - dim i, i1, i2 as integer - dim a as integer - dim b as integer - dim c as double - dim n as integer + dim sDummy$ + dim i, i1, i2 as integer + dim a as integer + dim b as integer + dim c as double + dim n as integer -'/// Input : {'a[. ,]b[mm cm " pi pt]' with a, b as integer} as String -'///+ Output: a[. , ]b as double + '/// Input : {'a[. ,]b[mm cm " pi pt]' with a, b as integer} as String + '///+ Output: a[. , ]b as double -' get rid of measure unit, the only single character is '"' all others are two chars + ' get rid of measure unit, the only single character is '"' all others are two chars - if (isNumeric (sWert$) = FALSE) then - if ( (StrComp (right (sWert$, 1), chr$(34) ) = 0) OR (StrComp (right (sWert$, 1), "%") = 0 )) then + if (isNumeric (sWert$) = FALSE) then + if ( (StrComp (right (sWert$, 1), chr$(34) ) = 0) OR (StrComp (right (sWert$, 1), "%") = 0 )) then sDummy$ = Left ( sWert$, Len(sWert$)-1 ) - else + else sDummy$ = Left ( sWert$, Len(sWert$)-Len(gMeasurementUnit) ) - end if - else - sDummy$ = sWert$ - end if - ' get position of fraction mark - i1 = instr (sDummy$, ",") ' wrong output - i2 = instr (sDummy$, ".") - if i1 > i2 then i = i1 else i = i2 - ' vorkommateil - try - a = val (left (sDummy$,i-1)) - catch - a = val ( sDummy$ ) - c = 0 - GoTo OK - endcatch - - n = (len (sDummy$)-i) - b = val (right (sDummy$, n) ) - c = b * 10 ^ -n -OK: - StrToDouble = a + c + end if + else + sDummy$ = sWert$ + end if + ' get position of fraction mark + i1 = instr (sDummy$, ",") ' wrong output + i2 = instr (sDummy$, ".") + if i1 > i2 then i = i1 else i = i2 + ' vorkommateil + try + a = val (left (sDummy$,i-1)) + catch + a = val ( sDummy$ ) + c = 0 + GoTo OK + endcatch + + n = (len (sDummy$)-i) + b = val (right (sDummy$, n) ) + c = b * 10 ^ -n + OK: + StrToDouble = a + c end function '------------------------------------------------------------------------- - + function fCalculateTolerance (sNumber1 , sNumber2) as Single -'/// Change 2 parameters to number , then Compare them and return the result. - Dim ss as Single - Dim dNumber1 , dNumber2 as Single - Dim iCommaLocation1 , iCommaLocation2 as Integer - - 'the code below 4 lines is set "2,00cm" to "2.00"cm if needed - iCommaLocation1 = InStr(sNumber1 , ",") - if iCommaLocation1 > 0 then - sNumber1 = Left(sNumber1 , iCommaLocation1-1) + "." + Right(sNumber1,Len(sNumber1) - iCommaLocation1) - end if - - iCommaLocation2 = InStr(sNumber2 , ",") - if iCommaLocation2 > 0 then - sNumber2 = Left(sNumber2 , iCommaLocation2-1) + "." + Right(sNumber2,Len(sNumber2) - iCommaLocation2) - end if - - dNumber1 = Val( Left(sNumber1, Len(sNumber1)-Len(gMeasurementUnit) )) - dNumber2 = Val( Left(sNumber2, Len(sNumber2)-Len(gMeasurementUnit) )) - - fCalculateTolerance = Abs( dNumber1 - dNumber2 ) + '/// Change 2 parameters to number , then Compare them and return the result. + Dim ss as Single + Dim dNumber1 , dNumber2 as Single + Dim iCommaLocation1 , iCommaLocation2 as Integer + + 'the code below 4 lines is set "2,00cm" to "2.00"cm if needed + iCommaLocation1 = InStr(sNumber1 , ",") + if iCommaLocation1 > 0 then + sNumber1 = Left(sNumber1 , iCommaLocation1-1) + "." + Right(sNumber1,Len(sNumber1) - iCommaLocation1) + end if + + iCommaLocation2 = InStr(sNumber2 , ",") + if iCommaLocation2 > 0 then + sNumber2 = Left(sNumber2 , iCommaLocation2-1) + "." + Right(sNumber2,Len(sNumber2) - iCommaLocation2) + end if + + dNumber1 = Val( Left(sNumber1, Len(sNumber1)-Len(gMeasurementUnit) )) + dNumber2 = Val( Left(sNumber2, Len(sNumber2)-Len(gMeasurementUnit) )) + + fCalculateTolerance = Abs( dNumber1 - dNumber2 ) end function '------------------------------------------------------------------------- function fFindWord (sTest) as String -'/// Set the focus to the word which you want + '/// Set the focus to the word which you want Kontext EditSearchAndReplace Kontext "FindAndReplace" @@ -193,234 +179,234 @@ end function '------------------------------------------------------------------------- function fGetLanguageName( CountryID as Integer ) as String -'/// This routine will return the Language name based on CountryID + '/// This routine will return the Language name based on CountryID select case iSprache - case 01 : ' English (USA) - select case CountryID - case 1: fGetLanguageName = "English (USA)" - case 31: fGetLanguageName = "Dutch (Netherlands)" - case 33: fGetLanguageName = "French (France)" - case 34: fGetLanguageName = "Spanish (Spain)" - case 39: fGetLanguageName = "Italian (Italy)" - case 46: fGetLanguageName = "Swedish (Sweden)" - case 49: fGetLanguageName = "German (Germany)" - case 55: fGetLanguageName = "Portuguese (Brazil)" - case 81: fGetLanguageName = "Japanese" - case 82: fGetLanguageName = "Korean (RoK)" - case 86: fGetLanguageName = "Chinese (simplified)" - case 88: fGetLanguageName = "Chinese (traditional)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 31 : ' Dutch - select case CountryID - case 1: fGetLanguageName = "Engels (VS)" - case 31: fGetLanguageName = "Netherlands (NL)" - case 33: fGetLanguageName = "Frans (Frankrijk)" - case 34: fGetLanguageName = "Spaans (Spanje)" - case 39: fGetLanguageName = "Italiaans (Itali�)" - case 46: fGetLanguageName = "Zweeds (Zweden)" - case 49: fGetLanguageName = "Duits (Duitsland)" - case 55: fGetLanguageName = "Portugees (Brazili�)" - case 81: fGetLanguageName = "Japans" - case 82: fGetLanguageName = "Korean (RoK)" - case 86: fGetLanguageName = "Chinese (vereenvoudigd)" - case 88: fGetLanguageName = "Chinese (traditioneel)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 33 : ' France - select case CountryID - case 1: fGetLanguageName = "Anglais (U.S.A.)" - case 31: fGetLanguageName = "N�erlandais (Pays-Bas)" - case 33: fGetLanguageName = "Français (France)" - case 34: fGetLanguageName = "Espagnol (Espagne)" - case 39: fGetLanguageName = "Italien (Italie)" - case 46: fGetLanguageName = "Suédois (Suède)" - case 49: fGetLanguageName = "Allemand (Allemagne)" - case 55: fGetLanguageName = "Portugais (Brésil)" - case 81: fGetLanguageName = "Japonais" - case 82: fGetLanguageName = "Coréen" - case 86: fGetLanguageName = "Chinois (simple)" - case 88: fGetLanguageName = "Chinois (traditionnel)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 34 : ' Spanish - select case CountryID - case 1: fGetLanguageName = "Inglés (EE.UU.)" - case 31: fGetLanguageName = "Holand�s (Pa�ses Bajos)" - case 33: fGetLanguageName = "Francés (Francia)" - case 34: fGetLanguageName = "Español (España)" - case 39: fGetLanguageName = "Italiano (Italia)" - case 46: fGetLanguageName = "Sueco (Suecia)" - case 49: fGetLanguageName = "Alemán (Alemania)" - case 55: fGetLanguageName = "Portugués (Brasil)" - case 81: fGetLanguageName = "Japonés" - case 82: fGetLanguageName = "Coreano" - case 86: fGetLanguageName = "Chino (simple)" - case 88: fGetLanguageName = "Chino (tradicional)" - case else : + case 01 : ' English (USA) + select case CountryID + case 1: fGetLanguageName = "English (USA)" + case 31: fGetLanguageName = "Dutch (Netherlands)" + case 33: fGetLanguageName = "French (France)" + case 34: fGetLanguageName = "Spanish (Spain)" + case 39: fGetLanguageName = "Italian (Italy)" + case 46: fGetLanguageName = "Swedish (Sweden)" + case 49: fGetLanguageName = "German (Germany)" + case 55: fGetLanguageName = "Portuguese (Brazil)" + case 81: fGetLanguageName = "Japanese" + case 82: fGetLanguageName = "Korean (RoK)" + case 86: fGetLanguageName = "Chinese (simplified)" + case 88: fGetLanguageName = "Chinese (traditional)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 31 : ' Dutch + select case CountryID + case 1: fGetLanguageName = "Engels (VS)" + case 31: fGetLanguageName = "Netherlands (NL)" + case 33: fGetLanguageName = "Frans (Frankrijk)" + case 34: fGetLanguageName = "Spaans (Spanje)" + case 39: fGetLanguageName = "Italiaans (Itali�)" + case 46: fGetLanguageName = "Zweeds (Zweden)" + case 49: fGetLanguageName = "Duits (Duitsland)" + case 55: fGetLanguageName = "Portugees (Brazili�)" + case 81: fGetLanguageName = "Japans" + case 82: fGetLanguageName = "Korean (RoK)" + case 86: fGetLanguageName = "Chinese (vereenvoudigd)" + case 88: fGetLanguageName = "Chinese (traditioneel)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 33 : ' France + select case CountryID + case 1: fGetLanguageName = "Anglais (U.S.A.)" + case 31: fGetLanguageName = "N�erlandais (Pays-Bas)" + case 33: fGetLanguageName = "Français (France)" + case 34: fGetLanguageName = "Espagnol (Espagne)" + case 39: fGetLanguageName = "Italien (Italie)" + case 46: fGetLanguageName = "Suédois (Suède)" + case 49: fGetLanguageName = "Allemand (Allemagne)" + case 55: fGetLanguageName = "Portugais (Brésil)" + case 81: fGetLanguageName = "Japonais" + case 82: fGetLanguageName = "Coréen" + case 86: fGetLanguageName = "Chinois (simple)" + case 88: fGetLanguageName = "Chinois (traditionnel)" + case else : QAErrorLog "Now, the test does not support for the language " +iSprache fGetLanguageName = "" end select - case 39 : ' Italy - select case CountryID - case 1: fGetLanguageName = "Inglese (US)" - case 31: fGetLanguageName = "Olandese (Paesi Bassi)" - case 33: fGetLanguageName = "Francese (Francia)" - case 34: fGetLanguageName = "Spagnolo (Spagna)" - case 39: fGetLanguageName = "Italiano (Italia)" - case 46: fGetLanguageName = "Svedese (Svezia)" - case 49: fGetLanguageName = "Tedesco (Germania)" - case 55: fGetLanguageName = "Portoghese (Brasile)" - case 81: fGetLanguageName = "Giapponese" - case 82: fGetLanguageName = "Coreano" - case 86: fGetLanguageName = "Cinese (semplificato)" - case 88: fGetLanguageName = "Cinese (tradizionale)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 46 : ' Swedish - select case CountryID - case 1: fGetLanguageName = "engelska" - case 31: fGetLanguageName = "Holl�ndska (Nederl�nderna)" - case 33: fGetLanguageName = "franska (Frankrike)" - case 34: fGetLanguageName = "spanska (Spanien)" - case 39: fGetLanguageName = "italienska (Italien)" - case 46: fGetLanguageName = "svenska (Sverige)" - case 49: fGetLanguageName = "tyska (Tyskland)" - case 55: fGetLanguageName = "portugisiska (Brasilien)" - case 81: fGetLanguageName = "japanska" - case 82: fGetLanguageName = "koreanska" - case 86: fGetLanguageName = "kinesiska (enkel)" - case 88: fGetLanguageName = "kinesiska (trad.)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 49 : ' German - select case CountryID - case 1: fGetLanguageName = "Englisch (USA)" - case 31: fGetLanguageName = "Niederl�ndisch (Niederlande)" - case 33: fGetLanguageName = "Französisch (Frankreich)" - case 34: fGetLanguageName = "Spanisch (Spanien)" - case 39: fGetLanguageName = "Italienisch (Italien)" - case 46: fGetLanguageName = "Schwedisch (Schweden)" - case 49: fGetLanguageName = "Deutsch (Deutschland)" - case 55: fGetLanguageName = "Portugiesisch (Brasilien)" - case 81: fGetLanguageName = "Japanisch" - case 82: fGetLanguageName = "Koreanisch" - case 86: fGetLanguageName = "Chinesisch (einfach)" - case 88: fGetLanguageName = "Chinesisch (Trad.)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 55 : ' Portuguese - select case CountryID - case 1: fGetLanguageName = "Inglês (EUA)" - case 31: fGetLanguageName = "Holand�s (Holanda)" - case 33: fGetLanguageName = "Francês (França)" - case 34: fGetLanguageName = "Espanhol (Espanha)" - case 39: fGetLanguageName = "Italiano (Itália)" - case 46: fGetLanguageName = "Sueco (Suécia)" - case 49: fGetLanguageName = "Alemão (Alemanha)" - case 55: fGetLanguageName = "Português (Brasil)" - case 81: fGetLanguageName = "Japonês" - case 82: fGetLanguageName = "Coreano" - case 86: fGetLanguageName = "Chinês (simplificado)" - case 88: fGetLanguageName = "Chinês (Tradicional)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" + case 34 : ' Spanish + select case CountryID + case 1: fGetLanguageName = "Inglés (EE.UU.)" + case 31: fGetLanguageName = "Holand�s (Pa�ses Bajos)" + case 33: fGetLanguageName = "Francés (Francia)" + case 34: fGetLanguageName = "Español (España)" + case 39: fGetLanguageName = "Italiano (Italia)" + case 46: fGetLanguageName = "Sueco (Suecia)" + case 49: fGetLanguageName = "Alemán (Alemania)" + case 55: fGetLanguageName = "Portugués (Brasil)" + case 81: fGetLanguageName = "Japonés" + case 82: fGetLanguageName = "Coreano" + case 86: fGetLanguageName = "Chino (simple)" + case 88: fGetLanguageName = "Chino (tradicional)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" end select - case 81 : ' Japanese - select case CountryID - case 1: fGetLanguageName = "英語(米国)" - case 33: fGetLanguageName = "フランス語(フランス)" - case 34: fGetLanguageName = "スペイン語(スペイン)" - case 39: fGetLanguageName = "イタリア語(イタリア)" - case 46: fGetLanguageName = "スウェーデン語(スウェーデン)" - case 49: fGetLanguageName = "ドイツ語(ドイツ)" - case 55: fGetLanguageName = "�?ルトガル語(ブラジル)" - case 81: fGetLanguageName = "日本語" - case 82: fGetLanguageName = "韓国語" - case 86: fGetLanguageName = "中国語(簡体字)" - case 88: fGetLanguageName = "中国語(�?体字)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" + case 39 : ' Italy + select case CountryID + case 1: fGetLanguageName = "Inglese (US)" + case 31: fGetLanguageName = "Olandese (Paesi Bassi)" + case 33: fGetLanguageName = "Francese (Francia)" + case 34: fGetLanguageName = "Spagnolo (Spagna)" + case 39: fGetLanguageName = "Italiano (Italia)" + case 46: fGetLanguageName = "Svedese (Svezia)" + case 49: fGetLanguageName = "Tedesco (Germania)" + case 55: fGetLanguageName = "Portoghese (Brasile)" + case 81: fGetLanguageName = "Giapponese" + case 82: fGetLanguageName = "Coreano" + case 86: fGetLanguageName = "Cinese (semplificato)" + case 88: fGetLanguageName = "Cinese (tradizionale)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" end select - case 82 : ' Korean - select case CountryID - case 1: fGetLanguageName = "�?어(미국)" - case 33: fGetLanguageName = "스페�?�어(스페�?�)" - case 34: fGetLanguageName = "프랑스어(프랑스)" - case 39: fGetLanguageName = "�?�탈리아어 (�?�태리)" - case 46: fGetLanguageName = "스웨�?�어(스웨�?�)" - case 49: fGetLanguageName = "�?��?�어(�?��?�)" - case 55: fGetLanguageName = "�?�르투갈어(브�?�질)" - case 81: fGetLanguageName = "�?�본어" - case 82: fGetLanguageName = "한국어" - case 86: fGetLanguageName = "중국어(간체)" - case 88: fGetLanguageName = "중국어(번체)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 86 : ' Chinese (simplified) - select case CountryID - case 1: fGetLanguageName = "英语(美国)" - case 33: fGetLanguageName = "法语(法国)" - case 34: fGetLanguageName = "西�?�牙语(西�?�牙)" - case 39: fGetLanguageName = "�?大利语(�?大利)" - case 46: fGetLanguageName = "瑞典语(瑞典)" - case 49: fGetLanguageName = "德语(德国)" - case 55: fGetLanguageName = "葡�?�牙语(巴西)" - case 81: fGetLanguageName = "日语" - case 82: fGetLanguageName = "�?鲜语" - case 86: fGetLanguageName = "中文(简体字)" - case 88: fGetLanguageName = "中文(�?体字)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case 88 : ' Chinese (traditional) - select case CountryID - case 1: fGetLanguageName = "英語(美國)" - case 33: fGetLanguageName = "法語(法國)" - case 34: fGetLanguageName = "西�?�牙語(西�?�牙)" - case 39: fGetLanguageName = "�?大利語(�?大利)" - case 46: fGetLanguageName = "瑞典語(瑞典)" - case 49: fGetLanguageName = "德語(德國)" - case 55: fGetLanguageName = "葡�?�牙語(巴西)" - case 81: fGetLanguageName = "日語" - case 82: fGetLanguageName = "韓語" - case 86: fGetLanguageName = "中文(簡體字)" - case 88: fGetLanguageName = "中文(�?體)" - case else : - QAErrorLog "Now, the test does not support for the language " +iSprache - fGetLanguageName = "" - end select - - case else : ' Fallback + case 46 : ' Swedish + select case CountryID + case 1: fGetLanguageName = "engelska" + case 31: fGetLanguageName = "Holl�ndska (Nederl�nderna)" + case 33: fGetLanguageName = "franska (Frankrike)" + case 34: fGetLanguageName = "spanska (Spanien)" + case 39: fGetLanguageName = "italienska (Italien)" + case 46: fGetLanguageName = "svenska (Sverige)" + case 49: fGetLanguageName = "tyska (Tyskland)" + case 55: fGetLanguageName = "portugisiska (Brasilien)" + case 81: fGetLanguageName = "japanska" + case 82: fGetLanguageName = "koreanska" + case 86: fGetLanguageName = "kinesiska (enkel)" + case 88: fGetLanguageName = "kinesiska (trad.)" + case else : QAErrorLog "Now, the test does not support for the language " +iSprache fGetLanguageName = "" - end select + end select + + case 49 : ' German + select case CountryID + case 1: fGetLanguageName = "Englisch (USA)" + case 31: fGetLanguageName = "Niederl�ndisch (Niederlande)" + case 33: fGetLanguageName = "Französisch (Frankreich)" + case 34: fGetLanguageName = "Spanisch (Spanien)" + case 39: fGetLanguageName = "Italienisch (Italien)" + case 46: fGetLanguageName = "Schwedisch (Schweden)" + case 49: fGetLanguageName = "Deutsch (Deutschland)" + case 55: fGetLanguageName = "Portugiesisch (Brasilien)" + case 81: fGetLanguageName = "Japanisch" + case 82: fGetLanguageName = "Koreanisch" + case 86: fGetLanguageName = "Chinesisch (einfach)" + case 88: fGetLanguageName = "Chinesisch (Trad.)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 55 : ' Portuguese + select case CountryID + case 1: fGetLanguageName = "Inglês (EUA)" + case 31: fGetLanguageName = "Holand�s (Holanda)" + case 33: fGetLanguageName = "Francês (França)" + case 34: fGetLanguageName = "Espanhol (Espanha)" + case 39: fGetLanguageName = "Italiano (Itália)" + case 46: fGetLanguageName = "Sueco (Suécia)" + case 49: fGetLanguageName = "Alemão (Alemanha)" + case 55: fGetLanguageName = "Português (Brasil)" + case 81: fGetLanguageName = "Japonês" + case 82: fGetLanguageName = "Coreano" + case 86: fGetLanguageName = "Chinês (simplificado)" + case 88: fGetLanguageName = "Chinês (Tradicional)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 81 : ' Japanese + select case CountryID + case 1: fGetLanguageName = "英語(米国)" + case 33: fGetLanguageName = "フランス語(フランス)" + case 34: fGetLanguageName = "スペイン語(スペイン)" + case 39: fGetLanguageName = "イタリア語(イタリア)" + case 46: fGetLanguageName = "スウェーデン語(スウェーデン)" + case 49: fGetLanguageName = "ドイツ語(ドイツ)" + case 55: fGetLanguageName = "�?ルトガル語(ブラジル)" + case 81: fGetLanguageName = "日本語" + case 82: fGetLanguageName = "韓国語" + case 86: fGetLanguageName = "中国語(簡体字)" + case 88: fGetLanguageName = "中国語(�?体字)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 82 : ' Korean + select case CountryID + case 1: fGetLanguageName = "�?어(미국)" + case 33: fGetLanguageName = "스페�?�어(스페�?�)" + case 34: fGetLanguageName = "프랑스어(프랑스)" + case 39: fGetLanguageName = "�?�탈리아어 (�?�태리)" + case 46: fGetLanguageName = "스웨�?�어(스웨�?�)" + case 49: fGetLanguageName = "�?��?�어(�?��?�)" + case 55: fGetLanguageName = "�?�르투갈어(브�?�질)" + case 81: fGetLanguageName = "�?�본어" + case 82: fGetLanguageName = "한국어" + case 86: fGetLanguageName = "중국어(간체)" + case 88: fGetLanguageName = "중국어(번체)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 86 : ' Chinese (simplified) + select case CountryID + case 1: fGetLanguageName = "英语(美国)" + case 33: fGetLanguageName = "法语(法国)" + case 34: fGetLanguageName = "西�?�牙语(西�?�牙)" + case 39: fGetLanguageName = "�?大利语(�?大利)" + case 46: fGetLanguageName = "瑞典语(瑞典)" + case 49: fGetLanguageName = "德语(德国)" + case 55: fGetLanguageName = "葡�?�牙语(巴西)" + case 81: fGetLanguageName = "日语" + case 82: fGetLanguageName = "�?鲜语" + case 86: fGetLanguageName = "中文(简体字)" + case 88: fGetLanguageName = "中文(�?体字)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case 88 : ' Chinese (traditional) + select case CountryID + case 1: fGetLanguageName = "英語(美國)" + case 33: fGetLanguageName = "法語(法國)" + case 34: fGetLanguageName = "西�?�牙語(西�?�牙)" + case 39: fGetLanguageName = "�?大利語(�?大利)" + case 46: fGetLanguageName = "瑞典語(瑞典)" + case 49: fGetLanguageName = "德語(德國)" + case 55: fGetLanguageName = "葡�?�牙語(巴西)" + case 81: fGetLanguageName = "日語" + case 82: fGetLanguageName = "韓語" + case 86: fGetLanguageName = "中文(簡體字)" + case 88: fGetLanguageName = "中文(�?體)" + case else : + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select + + case else : ' Fallback + QAErrorLog "Now, the test does not support for the language " +iSprache + fGetLanguageName = "" + end select end function -- cgit From 46f5a99b44be10e159535c6527e156657444d535 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 15:47:27 +0200 Subject: vitomation01: #i109562 - Add one slot --- testautomation/global/tools/includes/required/t_tools3.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index d7c82d18d77d..f6e72847621b 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1039,6 +1039,7 @@ function hUseAsyncSlot( cSlot as string ) as integer case "editlinkswriter" : EditLinksWriter case "editfields" : EditFields + case "formatframe" : FormatFrame case "formatcharttype" : FormatChartType case "formatcontrol" : FormatControl case "formateditpoints" : FormatEditPoints -- cgit From f6b1677eb2b26715ce630b9fc3988e2fcfa49350 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 16:03:33 +0200 Subject: vitomation01: #i109562 - Added issue #i111909 for failing to access rename menuitem in context menu, reformatted files to coding standards (Partially) --- .../writer/optional/includes/undo/w_undo1.inc | 401 ++++---- .../optional/includes/undo/w_undo_history_1.inc | 286 +++--- .../optional/includes/undo/w_undo_history_2.inc | 842 ++++++++-------- .../optional/includes/undo/w_undo_history_3.inc | 1059 ++++++++++---------- .../optional/includes/undo/w_undo_history_4.inc | 650 ++++++------ 5 files changed, 1618 insertions(+), 1620 deletions(-) mode change 100755 => 100644 testautomation/writer/optional/includes/undo/w_undo_history_1.inc mode change 100755 => 100644 testautomation/writer/optional/includes/undo/w_undo_history_2.inc diff --git a/testautomation/writer/optional/includes/undo/w_undo1.inc b/testautomation/writer/optional/includes/undo/w_undo1.inc index c4c602dc6373..9fe34e5880a7 100644 --- a/testautomation/writer/optional/includes/undo/w_undo1.inc +++ b/testautomation/writer/optional/includes/undo/w_undo1.inc @@ -28,11 +28,6 @@ '* '* short description : Writer Undo/Redo - Test '* -'************************************************************************ -'* -' #1 tEditUndoRedo -' #1 tEditUndoTOX ' undo with table of contents -'* '\*********************************************************************** testcase tEditUndoRedo @@ -142,216 +137,216 @@ endcase testcase tEditUndoTOX QaErrorLog "tEditUndoTOX outcommented due to makeover." goto endsub - - Dim CompareThis as string, Compare1 as string, Compare2 as string, Compare3 as string - Dim CompareWith1 as string, CompareWith2 as string, MenuEntryEnabled as boolean - ' Strings depends on the language so this testcase has to be adapted for all languages - Select Case iSprache - Case 1: Compare1 = "Undo: " - Compare2 = "Insert index/table" - Compare3 = "Remove index/table" - Case 49:Compare1 = "R�ckg�ngig" - Compare2 = "Einf�gen Verzeichnis" - Compare3 = "Verzeichnis aufheben" - Case else: - QAErrorlog "Please adapt this testcase for this language!" - Compare1 = "Undo: " - Compare2 = "Insert index/table" - Compare3 = "Remove index/table" - end select - CompareWith1 = Compare1 & Compare2 - CompareWith2 = Compare1 & Compare3 - - '/// Open a new writerdocument - Call hNewDocument - '/// Insert an index in document - printlog "Insert Index" - InsertIndexes + Dim CompareThis as string, Compare1 as string, Compare2 as string, Compare3 as string + Dim CompareWith1 as string, CompareWith2 as string, MenuEntryEnabled as boolean + ' Strings depends on the language so this testcase has to be adapted for all languages + Select Case iSprache + Case 1: Compare1 = "Undo: " + Compare2 = "Insert index/table" + Compare3 = "Remove index/table" + Case 49:Compare1 = "R�ckg�ngig" + Compare2 = "Einf�gen Verzeichnis" + Compare3 = "Verzeichnis aufheben" + Case else: + QAErrorlog "Please adapt this testcase for this language!" + Compare1 = "Undo: " + Compare2 = "Insert index/table" + Compare3 = "Remove index/table" + end select + CompareWith1 = Compare1 & Compare2 + CompareWith2 = Compare1 & Compare3 + + '/// Open a new writerdocument + Call hNewDocument + + '/// Insert an index in document + printlog "Insert Index" + InsertIndexes - Kontext + Kontext Active.Setpage TabVerzeichnisseVerzeichnis Kontext "TabVerzeichnisseVerzeichnis" - Verzeichnistitel.Settext "MyUndoRedoIndex" - TabVerzeichnisseVerzeichnis.Ok - - '/// Check if Edit/Undo menu shows 'Undo: Insert Index' - Call hUseMenu() - try - MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu - MenuEntryEnabled = True - catch - MenuEntryEnabled = False - endcatch - if MenuEntryEnabled = True then - CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) - Call MenuSelect(0) - if CompareWith1 > "" then - if CompareThis <> CompareWith1 then - Warnlog "Edit / Undo entry is wrong: " & CompareThis - else - printlog " - Menu Edit / Undo is ok" - end if - else - QAErrorLog "Use this string in this testcase: " & CompareThis - Call hCloseDocument - goto endsub - end if - else - Warnlog "Edit / Undo in menu is disabled !" - end if - - Kontext "DocumentWriter" - DocumentWriter.TypeKeys "" - Wait 500 - '/// Check if Undo dropdown-Icon shows: 'Insert index' - Select Case CheckUndoEntry ( 1, Compare2 ) - Case 0: Warnlog " - Undo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" - Case 2: printlog " - Entry in Undo-dropdown is ok!" - end select - - '/// Update index with context menu entry: Update index" - Kontext "DocumentWriter" - DocumentWriter.OpenContextMenu - ' Update Index/table in context menu - printlog "Update Index" - Call MenuSelect(Menugetitemid(7)) + Verzeichnistitel.Settext "MyUndoRedoIndex" + TabVerzeichnisseVerzeichnis.Ok + + '/// Check if Edit/Undo menu shows 'Undo: Insert Index' + Call hUseMenu() + try + MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu + MenuEntryEnabled = True + catch + MenuEntryEnabled = False + endcatch + if MenuEntryEnabled = True then + CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) + Call MenuSelect(0) + if CompareWith1 > "" then + if CompareThis <> CompareWith1 then + Warnlog "Edit / Undo entry is wrong: " & CompareThis + else + printlog " - Menu Edit / Undo is ok" + end if + else + QAErrorLog "Use this string in this testcase: " & CompareThis + Call hCloseDocument + goto endsub + end if + else + Warnlog "Edit / Undo in menu is disabled !" + end if + + Kontext "DocumentWriter" + DocumentWriter.TypeKeys "" + Wait 500 + '/// Check if Undo dropdown-Icon shows: 'Insert index' + Select Case CheckUndoEntry ( 1, Compare2 ) + Case 0: Warnlog " - Undo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" + Case 2: printlog " - Entry in Undo-dropdown is ok!" + end select + + '/// Update index with context menu entry: Update index" + Kontext "DocumentWriter" + DocumentWriter.OpenContextMenu + ' Update Index/table in context menu + printlog "Update Index" + Call MenuSelect(Menugetitemid(7)) + + '/// Check if Edit/Undo menu shows 'Undo: Insert Index' after index update + Call hUseMenu() + try + MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu + MenuEntryEnabled = True + catch + MenuEntryEnabled = False + endcatch + if MenuEntryEnabled = True then + CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) + Call MenuSelect(0) + if CompareWith1 > "" then + if CompareThis <> CompareWith1 then + Warnlog "Edit / Undo entry is wrong: " & CompareThis + else + printlog " - Menu Edit / Undo is ok" + end if + else + QAErrorLog "Use this string in this testcase: " & CompareThis + Call hCloseDocument + goto endsub + end if + else + Warnlog "Edit / Undo in menu is disabled !" + end if - '/// Check if Edit/Undo menu shows 'Undo: Insert Index' after index update - Call hUseMenu() - try - MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu - MenuEntryEnabled = True - catch - MenuEntryEnabled = False - endcatch - if MenuEntryEnabled = True then - CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) - Call MenuSelect(0) - if CompareWith1 > "" then - if CompareThis <> CompareWith1 then - Warnlog "Edit / Undo entry is wrong: " & CompareThis - else - printlog " - Menu Edit / Undo is ok" - end if - else - QAErrorLog "Use this string in this testcase: " & CompareThis - Call hCloseDocument - goto endsub - end if - else - Warnlog "Edit / Undo in menu is disabled !" - end if - - Kontext "DocumentWriter" - DocumentWriter.TypeKeys "" - Wait 500 - '/// Check if Undo dropdown-Icon shows: 'Insert index' after index update - Select Case CheckUndoEntry ( 1, Compare2 ) - Case 0: Warnlog " - Undo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" - Case 2: printlog " - Entry in Undo-dropdown is ok!" - end select - - '/// Delete index with context menu entry: Delete index" - Kontext "DocumentWriter" - DocumentWriter.OpenContextMenu - ' Delete Index/table in context menu - printlog "Remove Index" - Call MenuSelect(Menugetitemid(9)) + Kontext "DocumentWriter" + DocumentWriter.TypeKeys "" + Wait 500 + '/// Check if Undo dropdown-Icon shows: 'Insert index' after index update + Select Case CheckUndoEntry ( 1, Compare2 ) + Case 0: Warnlog " - Undo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" + Case 2: printlog " - Entry in Undo-dropdown is ok!" + end select - '/// Check if Edit/Undo menu shows 'Undo: Remove index' after deleting index - Call hUseMenu() - try - MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu - MenuEntryEnabled = True - catch - MenuEntryEnabled = False - endcatch - if MenuEntryEnabled = True then - CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) - Call MenuSelect(0) - if CompareWith2 > "" then - if CompareThis <> CompareWith2 then - Warnlog "Edit / Undo entry is wrong: " & CompareThis - else - printlog " - Menu Edit / Undo is ok" - end if - else - QAErrorLog "Use this string in this testcase: " & CompareThis - Call hCloseDocument - goto endsub - end if - else - Warnlog "Edit / Undo in menu is disabled !" - end if - - Kontext "DocumentWriter" - DocumentWriter.TypeKeys "" - Wait 500 - '/// Check if Undo dropdown-Icon shows: 'Remove index' after deleting index - Select Case CheckUndoEntry ( 1, Compare3 ) - Case 0: Warnlog " - Undo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" - Case 2: printlog " - Entry in Undo-dropdown is ok!" - end select - - printlog "Working undo" - '/// Edit / Undo 1 time -> Index should be restored - EditUndo - Sleep 1 - Call wNavigatorAuswahl ( 10, 1 ) - wait 500 - InsertIndexes + '/// Delete index with context menu entry: Delete index" + Kontext "DocumentWriter" + DocumentWriter.OpenContextMenu + ' Delete Index/table in context menu + printlog "Remove Index" + Call MenuSelect(Menugetitemid(9)) - wait 500 - Kontext + '/// Check if Edit/Undo menu shows 'Undo: Remove index' after deleting index + Call hUseMenu() try - Active.Setpage TabVerzeichnisseVerzeichnis - catch - Warnlog "Index dialog has not been opened!" - Call hCloseDocument - goto endsub - endcatch + MenuSelect(Menugetitemid(2)) ' Opens the Edit - Menu + MenuEntryEnabled = True + catch + MenuEntryEnabled = False + endcatch + if MenuEntryEnabled = True then + CompareThis = hhEntferneTilde(MenuGetItemText(Menugetitemid(1))) + Call MenuSelect(0) + if CompareWith2 > "" then + if CompareThis <> CompareWith2 then + Warnlog "Edit / Undo entry is wrong: " & CompareThis + else + printlog " - Menu Edit / Undo is ok" + end if + else + QAErrorLog "Use this string in this testcase: " & CompareThis + Call hCloseDocument + goto endsub + end if + else + Warnlog "Edit / Undo in menu is disabled !" + end if - Kontext "TabVerzeichnisseVerzeichnis" - if Verzeichnistitel.Gettext = "MyUndoRedoIndex" then - printlog " - Index has been restored" - TabVerzeichnisseVerzeichnis.Cancel - '/// Check if Undo dropdown-Icon shows: 'Insert index' - Select Case CheckUndoEntry ( 1, Compare2 ) - Case 0: Warnlog " - Undo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" - Case 2: printlog " - Entry in Undo-dropdown is ok!" - end select + Kontext "DocumentWriter" + DocumentWriter.TypeKeys "" + Wait 500 + '/// Check if Undo dropdown-Icon shows: 'Remove index' after deleting index + Select Case CheckUndoEntry ( 1, Compare3 ) + Case 0: Warnlog " - Undo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" + Case 2: printlog " - Entry in Undo-dropdown is ok!" + end select - '/// Check if Redo dropdown-Icon shows: 'Remove index' after deleting index - Select Case CheckRedoEntry ( 1, Compare3 ) - Case 0: Warnlog " - Redo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Redo-dropdown is wrong!" - Case 2: printlog " - Entry in Redo-dropdown is ok!" - end select + printlog "Working undo" + '/// Edit / Undo 1 time -> Index should be restored + EditUndo + Sleep 1 + Call wNavigatorAuswahl ( 10, 1 ) + wait 500 + InsertIndexes - '/// Edit / Undo one more time - '/// Check if Undo dropdown-Icon is disabled - Select Case CheckUndoEntry ( 1, Compare2 ) - Case 0: printlog " - Undo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Undo-dropdown is enabled!" - Case 2: Warnlog " - Entry in Undo-dropdown is enabled!" - end select + wait 500 + Kontext + try + Active.Setpage TabVerzeichnisseVerzeichnis + catch + Warnlog "Index dialog has not been opened!" + Call hCloseDocument + goto endsub + endcatch + + Kontext "TabVerzeichnisseVerzeichnis" + if Verzeichnistitel.Gettext = "MyUndoRedoIndex" then + printlog " - Index has been restored" + TabVerzeichnisseVerzeichnis.Cancel + '/// Check if Undo dropdown-Icon shows: 'Insert index' + Select Case CheckUndoEntry ( 1, Compare2 ) + Case 0: Warnlog " - Undo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Undo-dropdown is wrong!" + Case 2: printlog " - Entry in Undo-dropdown is ok!" + end select + + '/// Check if Redo dropdown-Icon shows: 'Remove index' after deleting index + Select Case CheckRedoEntry ( 1, Compare3 ) + Case 0: Warnlog " - Redo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Redo-dropdown is wrong!" + Case 2: printlog " - Entry in Redo-dropdown is ok!" + end select - '/// Check if Redo dropdown-Icon shows: 'Insert index' after Undo 2 times - Select Case CheckRedoEntry ( 1, Compare2 ) - Case 0: Warnlog " - Redo-dropdown is disabled!" - Case 1: Warnlog " - Entry in Redo-dropdown is wrong!" - Case 2: printlog " - Entry in Redo-dropdown is ok!" - end select + '/// Edit / Undo one more time + '/// Check if Undo dropdown-Icon is disabled + Select Case CheckUndoEntry ( 1, Compare2 ) + Case 0: printlog " - Undo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Undo-dropdown is enabled!" + Case 2: Warnlog " - Entry in Undo-dropdown is enabled!" + end select - else - Warnlog "Index has not been removed!" - TabVerzeichnisseVerzeichnis.Cancel - end if + '/// Check if Redo dropdown-Icon shows: 'Insert index' after Undo 2 times + Select Case CheckRedoEntry ( 1, Compare2 ) + Case 0: Warnlog " - Redo-dropdown is disabled!" + Case 1: Warnlog " - Entry in Redo-dropdown is wrong!" + Case 2: printlog " - Entry in Redo-dropdown is ok!" + end select - Call hCloseDocument + else + Warnlog "Index has not been removed!" + TabVerzeichnisseVerzeichnis.Cancel + end if + + Call hCloseDocument endcase diff --git a/testautomation/writer/optional/includes/undo/w_undo_history_1.inc b/testautomation/writer/optional/includes/undo/w_undo_history_1.inc old mode 100755 new mode 100644 index 43356c09017c..72fe352b2319 --- a/testautomation/writer/optional/includes/undo/w_undo_history_1.inc +++ b/testautomation/writer/optional/includes/undo/w_undo_history_1.inc @@ -33,172 +33,172 @@ sub w_undo_history_1 - ' a < 20 characters long string - Call tUndoOverwrite ' Typing & Overwrite - Call tUndoFindAndReplace ' Replace - Call tUndoReplaceAll ' Replace all & Delete - Call tUndoSort ' Sort - Call tUndoTableConvert ' Text convert to table + ' a < 20 characters long string + Call tUndoOverwrite ' Typing & Overwrite + Call tUndoFindAndReplace ' Replace + Call tUndoReplaceAll ' Replace all & Delete + Call tUndoSort ' Sort + Call tUndoTableConvert ' Text convert to table end sub testcase tUndoOverwrite - '/// new document - Call hNewDocument - '/// CHECK: Typing - printlog "- TYPING" - '/// write a < 20 characters long string: If20CharactersThere - Call wTypeKeys "If20CharactersThere" - '/// string in Undo list has to be: Typing: If20CharactersThere - Call CheckUndoStringInUndoList ( 1, "'If20Char...rsThere'" ) - - '/// CHECK: Overwrite - printlog "- OVERWRITE" - '/// press 'Home' key - Call wTypeKeys "" - '/// press 'Ins' key - Call wTypeKeys "" - '/// write a < 20 characters long string: IsThatDifferent4You - Call wTypeKeys "IsThatDifferent4You" - '/// string in Undo list has to be: Overwrite: IsThatDifferent4You - Call CheckUndoStringInUndoList ( 2, "'IsThatDifferent4You'" ) - - '/// CloseDocument - Call hCloseDocument + '/// new document + Call hNewDocument + '/// CHECK: Typing + printlog "- TYPING" + '/// write a < 20 characters long string: If20CharactersThere + Call wTypeKeys "If20CharactersThere" + '/// string in Undo list has to be: Typing: If20CharactersThere + Call CheckUndoStringInUndoList ( 1, "'If20Char...rsThere'" ) + + '/// CHECK: Overwrite + printlog "- OVERWRITE" + '/// press 'Home' key + Call wTypeKeys "" + '/// press 'Ins' key + Call wTypeKeys "" + '/// write a < 20 characters long string: IsThatDifferent4You + Call wTypeKeys "IsThatDifferent4You" + '/// string in Undo list has to be: Overwrite: IsThatDifferent4You + Call CheckUndoStringInUndoList ( 2, "'IsThatDifferent4You'" ) + + '/// CloseDocument + Call hCloseDocument endcase testcase tUndoFindAndReplace - '/// new Document - '/// CHECK: Replace - printlog "- REPLACE" - Call hNewDocument - '/// write a < 20 characters long string: If20CharactersThere - Call wTypeKeys "If20CharactersThere" - '/// Select text - Call wTypeKeys "" - '/// Edit / Find and Replace - EditSearchAndReplace - Kontext "FindAndReplace" - '/// Type 'ThisReplacementText' in 'Replace with' field - ReplaceWith.Settext "ThisReplacementText" - '/// Choose Button 'Replace' and close dialog - ReplaceBtn.Click - wait 500 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - try - Active.Yes - catch - Active.Ok - endcatch - end if - end if - Kontext "FindAndReplace" - FindAndReplace.Close - Kontext "DocumentWriter" - '/// string in Undo list has to be: Replace: 'IsThatDifferent4You' -> 'ThisReplacementText' - Call CheckUndoStringInUndoList ( 3, "'If20CharactersThere' -> 'ThisReplacementText'" ) - - '/// Close document - Call hCloseDocument + '/// new Document + '/// CHECK: Replace + printlog "- REPLACE" + Call hNewDocument + '/// write a < 20 characters long string: If20CharactersThere + Call wTypeKeys "If20CharactersThere" + '/// Select text + Call wTypeKeys "" + '/// Edit / Find and Replace + EditSearchAndReplace + Kontext "FindAndReplace" + '/// Type 'ThisReplacementText' in 'Replace with' field + ReplaceWith.Settext "ThisReplacementText" + '/// Choose Button 'Replace' and close dialog + ReplaceBtn.Click + wait 500 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + try + Active.Yes + catch + Active.Ok + endcatch + end if + end if + Kontext "FindAndReplace" + FindAndReplace.Close + Kontext "DocumentWriter" + '/// string in Undo list has to be: Replace: 'IsThatDifferent4You' -> 'ThisReplacementText' + Call CheckUndoStringInUndoList ( 3, "'If20CharactersThere' -> 'ThisReplacementText'" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoReplaceAll - Dim CheckString as string - - '/// new document - '/// CHECK: Replace all - printlog "- REPLACE ALL" - Call hNewDocument - '/// Insert the dummy text and point cursor at the top of the document - Call wBlindtextEinfuegen - Call wTypeKeys "" - '/// Edit / Find and Replace - EditSearchAndReplace - Kontext "FindAndReplace" - '/// Type 'and' in 'Search for' field - SearchFor.Settext "and" - '/// Type 'ThisReplacementText' in 'Replace with' field - ReplaceWith.Settext "###" - '/// Choose Button 'Replace' and close dialog - ReplaceAll.Click - wait 500 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then Active.Ok - end if - Kontext "FindAndReplace" - FindAndReplace.Close - - Kontext "DocumentWriter" - '/// string in Undo list has to be: Replace: '14 occurences of and' - Call CheckUndoStringInUndoList ( 5, "14 occurences of 'and'" ) - - '/// CHECK: Delete - '/// Backspace 4 times to delete characters - Call wTypeKeys "", 4 - '/// string in Undo list has to be: Delete: '###' - printlog "- DELETE" - Call CheckUndoStringInUndoList ( 11, "' ###'" ) - - '/// Close document - Call hCloseDocument + Dim CheckString as string + + '/// new document + '/// CHECK: Replace all + printlog "- REPLACE ALL" + Call hNewDocument + '/// Insert the dummy text and point cursor at the top of the document + Call wBlindtextEinfuegen + Call wTypeKeys "" + '/// Edit / Find and Replace + EditSearchAndReplace + Kontext "FindAndReplace" + '/// Type 'and' in 'Search for' field + SearchFor.Settext "and" + '/// Type 'ThisReplacementText' in 'Replace with' field + ReplaceWith.Settext "###" + '/// Choose Button 'Replace' and close dialog + ReplaceAll.Click + wait 500 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then Active.Ok + end if + Kontext "FindAndReplace" + FindAndReplace.Close + + Kontext "DocumentWriter" + '/// string in Undo list has to be: Replace: '14 occurences of and' + Call CheckUndoStringInUndoList ( 5, "14 occurences of 'and'" ) + + '/// CHECK: Delete + '/// Backspace 4 times to delete characters + Call wTypeKeys "", 4 + '/// string in Undo list has to be: Delete: '###' + printlog "- DELETE" + Call CheckUndoStringInUndoList ( 11, "' ###'" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoSort - '/// new document - Call hNewDocument - '/// CHECK: Text sort - printlog "- TEXT SORT" - '/// Enter some text like "Thisis atest" - Call wTypeKeys "This" - Call wTypeKeys "" - Call wTypeKeys "is a" - Call wTypeKeys "" - Call wTypeKeys "test" - Call wTypeKeys "" - '/// Select all and Tools -> Sort - Call wTypeKeys "" - ToolsSort + '/// new document + Call hNewDocument + '/// CHECK: Text sort + printlog "- TEXT SORT" + '/// Enter some text like "Thisis atest" + Call wTypeKeys "This" + Call wTypeKeys "" + Call wTypeKeys "is a" + Call wTypeKeys "" + Call wTypeKeys "test" + Call wTypeKeys "" + '/// Select all and Tools -> Sort + Call wTypeKeys "" + ToolsSort Kontext "Sortieren" Sortieren.Ok - - '/// string in Undo list has to be: "Sort text" - Call CheckUndoStringInUndoList ( 6, "Sort text" ) - - '/// Close document - Call hCloseDocument + + '/// string in Undo list has to be: "Sort text" + Call CheckUndoStringInUndoList ( 6, "Sort text" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoTableConvert - '/// new document - Call hNewDocument - '/// CHECK: Text convert to table - printlog "TEXT CONVERT TO TABLE" - '/// Enter some text like "Thisis atest" - Call wTypeKeys "This" - Call wTypeKeys "" - Call wTypeKeys "is a" - Call wTypeKeys "" - Call wTypeKeys "test" - Call wTypeKeys "" - '/// Select all and Tools - Text <> Table - Call wTypeKeys "" - ToolsTextInTable - Kontext "TextInTabelleUmwandeln" - Absatz.Check - TextInTabelleUmwandeln.Ok - '/// string in Undo list has to be: "Convert text -> table" - Call CheckUndoStringInUndoList ( 7, "Convert text -> table" ) - - '/// Close document - Call hCloseDocument + '/// new document + Call hNewDocument + '/// CHECK: Text convert to table + printlog "TEXT CONVERT TO TABLE" + '/// Enter some text like "Thisis atest" + Call wTypeKeys "This" + Call wTypeKeys "" + Call wTypeKeys "is a" + Call wTypeKeys "" + Call wTypeKeys "test" + Call wTypeKeys "" + '/// Select all and Tools - Text <> Table + Call wTypeKeys "" + ToolsTextInTable + Kontext "TextInTabelleUmwandeln" + Absatz.Check + TextInTabelleUmwandeln.Ok + '/// string in Undo list has to be: "Convert text -> table" + Call CheckUndoStringInUndoList ( 7, "Convert text -> table" ) + + '/// Close document + Call hCloseDocument endcase diff --git a/testautomation/writer/optional/includes/undo/w_undo_history_2.inc b/testautomation/writer/optional/includes/undo/w_undo_history_2.inc old mode 100755 new mode 100644 index a2f305a45f8c..5104b29af85b --- a/testautomation/writer/optional/includes/undo/w_undo_history_2.inc +++ b/testautomation/writer/optional/includes/undo/w_undo_history_2.inc @@ -33,496 +33,496 @@ sub w_undo_history_2 - ' a > 20 characters long string - Call tUndoOverwriteLong ' Typing & Overwrite - Call tUndoFindAndReplaceLong ' Replace - Call tUndoDeleteMultiSelection ' Delete a multi-selection - Call tUndoParagraph ' Paragraphs - Call tUndoClipboard ' Copy/Paste - Call tUndoChanges ' Changes accept an reject - Call tUndoLineBreak ' Manual breaks - line break - Call tUndoColumnBreak ' Manual breaks - column break - Call tUndoPageBreak ' Manual breaks - page break - Call tUndoFields ' Fields (Insert/Modify / Delete) - Call tUndoSpecialCharacter ' Special Character (Insert/ Delete) - Call tUndoStyles ' Styles (Apply/Modify/Find&Replace/Promote/Demote) + ' a > 20 characters long string + Call tUndoOverwriteLong ' Typing & Overwrite + Call tUndoFindAndReplaceLong ' Replace + Call tUndoDeleteMultiSelection ' Delete a multi-selection + Call tUndoParagraph ' Paragraphs + Call tUndoClipboard ' Copy/Paste + Call tUndoChanges ' Changes accept an reject + Call tUndoLineBreak ' Manual breaks - line break + Call tUndoColumnBreak ' Manual breaks - column break + Call tUndoPageBreak ' Manual breaks - page break + Call tUndoFields ' Fields (Insert/Modify / Delete) + Call tUndoSpecialCharacter ' Special Character (Insert/ Delete) + Call tUndoStyles ' Styles (Apply/Modify/Find&Replace/Promote/Demote) end sub testcase tUndoOverwriteLong - '/// Typing & overwrite a > 20 characters long string - '/// new document - Call hNewDocument - '/// CHECK: Typing - printlog "- TYPING" - '/// write a > 20 characters long string: ThisSentenceHasMoreThan20Characters - Call wTypeKeys ( "ThisSentenceHasMoreThan20Characters" ) - '/// string in Undo list has to be: Typing: ThisSente...aracters - Call CheckUndoStringInUndoList ( 1, "'ThisSent...racters'" ) - - '/// CHECK: Overwrite - printlog "- OVERWRITE" - '/// press 'Home' key - Call wTypeKeys "" - '/// press 'Ins' key - Call wTypeKeys "" - '/// write a > 20 characters long string: ThePreviousSentenceHasBeenOverwritten - Call wTypeKeys ( "ThePreviousSentenceHasBeenOverwritten" ) - '/// string in Undo list has to be: Overwrite: ThePrevio...rwritten - Call CheckUndoStringInUndoList ( 2, "'ThePrevio...rwritten'" ) - - '/// CloseDocument - Call hCloseDocument + '/// Typing & overwrite a > 20 characters long string + '/// new document + Call hNewDocument + '/// CHECK: Typing + printlog "- TYPING" + '/// write a > 20 characters long string: ThisSentenceHasMoreThan20Characters + Call wTypeKeys ( "ThisSentenceHasMoreThan20Characters" ) + '/// string in Undo list has to be: Typing: ThisSente...aracters + Call CheckUndoStringInUndoList ( 1, "'ThisSent...racters'" ) + + '/// CHECK: Overwrite + printlog "- OVERWRITE" + '/// press 'Home' key + Call wTypeKeys "" + '/// press 'Ins' key + Call wTypeKeys "" + '/// write a > 20 characters long string: ThePreviousSentenceHasBeenOverwritten + Call wTypeKeys ( "ThePreviousSentenceHasBeenOverwritten" ) + '/// string in Undo list has to be: Overwrite: ThePrevio...rwritten + Call CheckUndoStringInUndoList ( 2, "'ThePrevio...rwritten'" ) + + '/// CloseDocument + Call hCloseDocument endcase testcase tUndoFindAndReplaceLong - '/// Replace a > 20 characters long string - '/// new Document - '/// CHECK: Replace - printlog "- REPLACE" - Call hNewDocument - '/// write a > 20 characters long string: ThePreviousSentenceHasBeenOverwritten - Call wTypeKeys ( "ThePreviousSentenceHasBeenOverwritten" ) - '/// Select text - Call wTypeKeys ( "" ) - '/// Edit / Find and Replace - EditSearchAndReplace - Kontext "FindAndReplace" - '/// Type 'ThisIsAboutALongTextThatHadToBeReplaced' in 'Replace with' field - ReplaceWith.Settext "ThisIsAboutALongTextThatHadToBeReplaced" - '/// Choose Button 'Replace' and close dialog - ReplaceBtn.Click - wait 500 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - try - Active.Yes - catch - Active.Ok - endcatch - end if - end if - Kontext "FindAndReplace" - FindAndReplace.Close - Kontext "DocumentWriter" - '/// string in Undo list has to be: Replace: 'ThePrevio...rwritten' -> 'ThisIsAbo...Replaced' - Call CheckUndoStringInUndoList ( 3, "'ThePrevio...rwritten' -> 'ThisIsAbo...Replaced'" ) - - '/// Close document - Call hCloseDocument + '/// Replace a > 20 characters long string + '/// new Document + '/// CHECK: Replace + printlog "- REPLACE" + Call hNewDocument + '/// write a > 20 characters long string: ThePreviousSentenceHasBeenOverwritten + Call wTypeKeys ( "ThePreviousSentenceHasBeenOverwritten" ) + '/// Select text + Call wTypeKeys ( "" ) + '/// Edit / Find and Replace + EditSearchAndReplace + Kontext "FindAndReplace" + '/// Type 'ThisIsAboutALongTextThatHadToBeReplaced' in 'Replace with' field + ReplaceWith.Settext "ThisIsAboutALongTextThatHadToBeReplaced" + '/// Choose Button 'Replace' and close dialog + ReplaceBtn.Click + wait 500 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + try + Active.Yes + catch + Active.Ok + endcatch + end if + end if + Kontext "FindAndReplace" + FindAndReplace.Close + Kontext "DocumentWriter" + '/// string in Undo list has to be: Replace: 'ThePrevio...rwritten' -> 'ThisIsAbo...Replaced' + Call CheckUndoStringInUndoList ( 3, "'ThePrevio...rwritten' -> 'ThisIsAbo...Replaced'" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoDeleteMultiSelection - '/// Delete a multi-selection - printlog "- Delete a multi-selection" - '/// new Document - Call hNewDocument - '/// write down: the deletion of a multi-selection - Call wTypeKeys ( "the deletion of a multi-selection" ) - '/// with Shift + F8 enter multi-selection mode - Call wTypeKeys ( "" ) - '/// multi-select "the ", " a" and "multi-" - Call wTypeKeys ( "" ) - Call wTypeKeys ( "", 2) - Call wTypeKeys ( "" ) - Call wTypeKeys ( "", 2) - Call wTypeKeys ( "" ) - Call wTypeKeys ( "", 2) - Call wTypeKeys ( "" ) - Call wTypeKeys ( "") - '/// Delete the multi-selection - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: 'Delete: multi-selection'" - Call CheckUndoStringInUndoList ( 4, "Delete multiple selection" ) - '/// Close document - Call hCloseDocument + '/// Delete a multi-selection + printlog "- Delete a multi-selection" + '/// new Document + Call hNewDocument + '/// write down: the deletion of a multi-selection + Call wTypeKeys ( "the deletion of a multi-selection" ) + '/// with Shift + F8 enter multi-selection mode + Call wTypeKeys ( "" ) + '/// multi-select "the ", " a" and "multi-" + Call wTypeKeys ( "" ) + Call wTypeKeys ( "", 2) + Call wTypeKeys ( "" ) + Call wTypeKeys ( "", 2) + Call wTypeKeys ( "" ) + Call wTypeKeys ( "", 2) + Call wTypeKeys ( "" ) + Call wTypeKeys ( "") + '/// Delete the multi-selection + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: 'Delete: multi-selection'" + Call CheckUndoStringInUndoList ( 4, "Delete multiple selection" ) + '/// Close document + Call hCloseDocument endcase testcase tUndoParagraph - '/// Insert and delete a paragraph - printlog "- Insert Paragraph" - '/// new document - Call hNewDocument - '/// press return to insert a new paragraph - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "New paragraph" - Call CheckUndoStringInUndoList ( 8, "New Paragraph" ) - printlog "- Delete Paragraph" - '/// press Backspace to delete paragraph - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete paragraph" - Call CheckUndoStringInUndoList ( 8, "Delete Paragraph" ) - - '/// close document - Call hCloseDocument + '/// Insert and delete a paragraph + printlog "- Insert Paragraph" + '/// new document + Call hNewDocument + '/// press return to insert a new paragraph + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "New paragraph" + Call CheckUndoStringInUndoList ( 8, "New Paragraph" ) + printlog "- Delete Paragraph" + '/// press Backspace to delete paragraph + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete paragraph" + Call CheckUndoStringInUndoList ( 8, "Delete Paragraph" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoClipboard - Dim i as integer - - '/// Copy / Paste - printlog "- Copy/Paste" - '/// new document - Call hNewDocument - '/// Insert some text in document and copy it - Call wTypeKeys ( "CopyAndPasteInUndoList" ) - Call wTypeKeys ( "" ) - EditCopy - Call wTypeKeys ( "" ) - '/// Paste the text in all available formats - For i = 1 to 4 - Sleep 2 - try - EditPasteSpecialWriter - catch - i=5 - endcatch - Kontext "InhaltEinfuegen" - try - Auswahl.Select i - printlog " - Paste as: " + Auswahl.GetSeltext - wait 500 - catch - Warnlog "Not 4 but " & Auswahl.GetItemCount & " Clipboard-formats" - endcatch - InhaltEinfuegen.Ok - '/// string in Undo-list has to be: "Paste clipboard" - Call CheckUndoStringInUndoList ( 9 ) - Call wTypeKeys ( "" ) - next i - '/// close document - Call hCloseDocument + Dim i as integer + + '/// Copy / Paste + printlog "- Copy/Paste" + '/// new document + Call hNewDocument + '/// Insert some text in document and copy it + Call wTypeKeys ( "CopyAndPasteInUndoList" ) + Call wTypeKeys ( "" ) + EditCopy + Call wTypeKeys ( "" ) + '/// Paste the text in all available formats + For i = 1 to 4 + Sleep 2 + try + EditPasteSpecialWriter + catch + i=5 + endcatch + Kontext "InhaltEinfuegen" + try + Auswahl.Select i + printlog " - Paste as: " + Auswahl.GetSeltext + wait 500 + catch + Warnlog "Not 4 but " & Auswahl.GetItemCount & " Clipboard-formats" + endcatch + InhaltEinfuegen.Ok + '/// string in Undo-list has to be: "Paste clipboard" + Call CheckUndoStringInUndoList ( 9 ) + Call wTypeKeys ( "" ) + next i + '/// close document + Call hCloseDocument endcase testcase tUndoChanges - - '/// Changes accept and reject - printlog "- Changes accept and reject" - '/// new document - Call hNewDocument + + '/// Changes accept and reject + printlog "- Changes accept and reject" + '/// new document + Call hNewDocument UseBindings '/// Select Edit / Changes / Record EditChangesRecord - '/// Insert a string in document - Call wTypeKeys ( "This is a test" ) - '/// Select Edit / Changes / Accept or Reject + '/// Insert a string in document + Call wTypeKeys ( "This is a test" ) + '/// Select Edit / Changes / Accept or Reject EditChangesAcceptOrReject '/// Dialog 'Accept or reject changes' has to come up /// Kontext "Redlining" if Redlining.Exists then - '/// + Select tabpage 'List' - TabControl.SetPage TabListe - '/// + Select 'Accept All' - Akzeptieren.Click - Sleep 2 - '/// + Close Redlining dialog - Redlining.Close - else - Warnlog "Redlining dialog not up!" - Call hCloseDocument - goto endsub - end if - '/// string in Undo-list has to be: "Accept change: Insert 'this is a test'") - Call CheckUndoStringInUndoList ( 10, "Accept" ) - - '/// Insert a line break in document - Call wTypeKeys ( "" ) - '/// Insert a string in document - Call wTypeKeys ( "This is a test" ) - '/// Select Edit / Changes / Accept or Reject + '/// + Select tabpage 'List' + TabControl.SetPage TabListe + '/// + Select 'Accept All' + Akzeptieren.Click + Sleep 2 + '/// + Close Redlining dialog + Redlining.Close + else + Warnlog "Redlining dialog not up!" + Call hCloseDocument + goto endsub + end if + '/// string in Undo-list has to be: "Accept change: Insert 'this is a test'") + Call CheckUndoStringInUndoList ( 10, "Accept" ) + + '/// Insert a line break in document + Call wTypeKeys ( "" ) + '/// Insert a string in document + Call wTypeKeys ( "This is a test" ) + '/// Select Edit / Changes / Accept or Reject EditChangesAcceptOrReject '/// Dialog 'Accept or reject changes' has to come up /// Kontext "Redlining" if Redlining.Exists then - '/// + Select tabpage 'List' - TabControl.SetPage TabListe - '/// + Select 'Accept All' - wait 500 - ListItem.TypeKeys "" - wait 500 - Ablehnen.Click - Sleep 2 - '/// + Close Redlining dialog - Redlining.Close - else - Warnlog "Redlining dialog not up!" - Call hCloseDocument - goto endsub - end if - - '/// string in Undo-list has to be: "Reject change: Insert 'this is a test'") - Call CheckUndoStringInUndoList ( 10, "Reject" ) - - Call hCloseDocument + '/// + Select tabpage 'List' + TabControl.SetPage TabListe + '/// + Select 'Accept All' + wait 500 + ListItem.TypeKeys "" + wait 500 + Ablehnen.Click + Sleep 2 + '/// + Close Redlining dialog + Redlining.Close + else + Warnlog "Redlining dialog not up!" + Call hCloseDocument + goto endsub + end if + + '/// string in Undo-list has to be: "Reject change: Insert 'this is a test'") + Call CheckUndoStringInUndoList ( 10, "Reject" ) + + Call hCloseDocument endcase testcase tUndoLineBreak - '/// Manual breaks (line breaks) - printlog "Manual breaks (line breaks)" - printlog "- Insert line break" - '/// new document - Call hNewDocument - '/// Insert a line break (Shift return) - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Insert line break") - Call CheckUndoStringInUndoList ( 10, "InsertLineBreak" ) - - '/// Delete line break - printlog "- Delete line break" - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete line break") - Call CheckUndoStringInUndoList ( 10, "DeleteLineBreak" ) - - '/// Close document - Call hCloseDocument + '/// Manual breaks (line breaks) + printlog "Manual breaks (line breaks)" + printlog "- Insert line break" + '/// new document + Call hNewDocument + '/// Insert a line break (Shift return) + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Insert line break") + Call CheckUndoStringInUndoList ( 10, "InsertLineBreak" ) + + '/// Delete line break + printlog "- Delete line break" + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete line break") + Call CheckUndoStringInUndoList ( 10, "DeleteLineBreak" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoColumnBreak - '/// Column breaks - printlog "- Column breaks" - '/// new document - Call hNewDocument - '/// Format / Columns - FormatColumns - Kontext "FormatColumn" - '/// set number of columns to 2 - Columns.Settext 2 - FormatColumn.Ok - '/// Insert a column break (Strg+Shift+Return) - Call wTypeKeys ( "" ) - printlog "Insert a column break" - '/// string in Undo-list has to be: "Insert column break") - Call CheckUndoStringInUndoList ( 10, "InsertColumnBreak" ) - - '/// Delete a column break (Strg+Shift+Return+Backspace) - printlog "Delete a column break" - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete column break") - Call CheckUndoStringInUndoList ( 10, "DeleteColumnBreak" ) - - '/// Close document - Call hCloseDocument + '/// Column breaks + printlog "- Column breaks" + '/// new document + Call hNewDocument + '/// Format / Columns + FormatColumns + Kontext "FormatColumn" + '/// set number of columns to 2 + Columns.Settext 2 + FormatColumn.Ok + '/// Insert a column break (Strg+Shift+Return) + Call wTypeKeys ( "" ) + printlog "Insert a column break" + '/// string in Undo-list has to be: "Insert column break") + Call CheckUndoStringInUndoList ( 10, "InsertColumnBreak" ) + + '/// Delete a column break (Strg+Shift+Return+Backspace) + printlog "Delete a column break" + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete column break") + Call CheckUndoStringInUndoList ( 10, "DeleteColumnBreak" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoPageBreak - '/// Page breaks - printlog "- Page breaks" - '/// new document - Call hNewDocument - '/// Format / Columns - InsertManualBreak - Kontext "UmbruchEinfuegen" - printlog "Insert a page break" - Seitenumbruch.Check - UmbruchEinfuegen.Ok - '/// string in Undo-list has to be: "Insert page break") - Call CheckUndoStringInUndoList ( 10, "InsertPageBreak" ) - - printlog "Delete a page break" - InsertManualBreak - Kontext "UmbruchEinfuegen" - '/// Insert a page break - Seitenumbruch.Check - UmbruchEinfuegen.Ok - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete page break") - Call CheckUndoStringInUndoList ( 10, "DeletePageBreak" ) - - '/// Close document - Call hCloseDocument + '/// Page breaks + printlog "- Page breaks" + '/// new document + Call hNewDocument + '/// Format / Columns + InsertManualBreak + Kontext "UmbruchEinfuegen" + printlog "Insert a page break" + Seitenumbruch.Check + UmbruchEinfuegen.Ok + '/// string in Undo-list has to be: "Insert page break") + Call CheckUndoStringInUndoList ( 10, "InsertPageBreak" ) + + printlog "Delete a page break" + InsertManualBreak + Kontext "UmbruchEinfuegen" + '/// Insert a page break + Seitenumbruch.Check + UmbruchEinfuegen.Ok + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete page break") + Call CheckUndoStringInUndoList ( 10, "DeletePageBreak" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoFields - '/// Fields (Insert/Modify / Delete) - printlog "- Fields (Insert)" - '/// new document - Call hNewDocument - '/// Insert Field 'Date' - InsertFieldsDate - '/// string in Undo-list has to be: "Insert field") - Call CheckUndoStringInUndoList ( 10, "InsertField" ) - - printlog "- Fields (Modify)" - '/// Press Home-key - Call wTypeKeys ( "" ) - '/// Edit fields and select 4th entry in Format-list - EditFields - Kontext "FeldbefehlBearbeitenDokument" - Zahlenformat.Select 4 - FeldbefehlBearbeitenDokument.Ok - '/// string in Undo-list has to be: "Changed field") - Call CheckUndoStringInUndoList ( 10, "ChangedField" ) - - printlog "- Fields (Delete)" - '/// Press delete-key - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete field") - Call CheckUndoStringInUndoList ( 10, "DeleteField" ) - - '/// Close document - Call hCloseDocument + '/// Fields (Insert/Modify / Delete) + printlog "- Fields (Insert)" + '/// new document + Call hNewDocument + '/// Insert Field 'Date' + InsertFieldsDate + '/// string in Undo-list has to be: "Insert field") + Call CheckUndoStringInUndoList ( 10, "InsertField" ) + + printlog "- Fields (Modify)" + '/// Press Home-key + Call wTypeKeys ( "" ) + '/// Edit fields and select 4th entry in Format-list + EditFields + Kontext "FeldbefehlBearbeitenDokument" + Zahlenformat.Select 4 + FeldbefehlBearbeitenDokument.Ok + '/// string in Undo-list has to be: "Changed field") + Call CheckUndoStringInUndoList ( 10, "ChangedField" ) + + printlog "- Fields (Delete)" + '/// Press delete-key + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete field") + Call CheckUndoStringInUndoList ( 10, "DeleteField" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoSpecialCharacter - '/// Special Character (Insert / Delete ) - printlog "- Special Character (Insert)" - '/// new document - Call hNewDocument - '/// Insert a special Character + '/// Special Character (Insert / Delete ) + printlog "- Special Character (Insert)" + '/// new document + Call hNewDocument + '/// Insert a special Character InsertSpecialCharacterWriter Kontext "Sonderzeichen" - SchriftListe.TypeKeys "" - SchriftListe.TypeKeys "", 3 - Sonderzeichen.Ok - '/// string in Undo-list has to be: "Insert special character") - Call CheckUndoStringInUndoList ( 10, "InsertSpecialCharacter" ) - - printlog "- Special Character (Delete)" - '/// Delete special character with - Call wTypeKeys ("" ) - Call CheckUndoStringInUndoList ( 10, "DeleteSpecialCharacter" ) - - '/// Close document - Call hCloseDocument + SchriftListe.TypeKeys "" + SchriftListe.TypeKeys "", 3 + Sonderzeichen.Ok + '/// string in Undo-list has to be: "Insert special character") + Call CheckUndoStringInUndoList ( 10, "InsertSpecialCharacter" ) + + printlog "- Special Character (Delete)" + '/// Delete special character with + Call wTypeKeys ("" ) + Call CheckUndoStringInUndoList ( 10, "DeleteSpecialCharacter" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoStyles - Dim i as integer, StyleText as string, UndoText as string - Dim NewStyle as string - - '/// Styles (Apply/Modify/Find&Replace/Promote/Demote) - printlog "- Styles (Apply)" - '/// new document - Call hNewDocument - '/// type some text - Call wTypeKeys ( "I have the new style" ) - '/// Select text - Call wTypeKeys ( "" ) - '/// Apply Style to a newly created style - Call wStyleCreate ( "AUndoHistory", "Paragraph" ) - '/// string in Undo-list has to be: "Apply styles: AUndoHistory") - Call CheckUndoStringInUndoList ( 10, "ApplyStyles" ) - - '/// Modify Style through Stylist - if wStyleSelect ( "AUndoHistory" ) = false then - Warnlog "Defined style has not been found in Stylist->Test aborted" - Call hCloseDocument - goto endsub - end if - - Vorlagenliste.OpenContextMenu - Call hMenuSelectNr(2) - Kontext - Active.Setpage TabFontEffects - Kontext "TabFontEffects" - FontColor.Select FontColor.GetItemCount - TabFontEffects.Ok - Sleep 1 - '/// string in Undo-list has to be: "Change styles: AUndoHistory") - Call CheckUndoStringInUndoList ( 10, "ChangeStyles" ) - - printlog "Styles (Replace)" - '/// Edit / Search and Replace - EditSearchAndReplace - kontext "FindAndReplace" - if SearchForStyles.IsVisible = False then More.Click - SearchForStyles.Check - Sleep 1 - ReplaceWithStyle.Select 4 - wait 500 - ReplaceBtn.Click - NewStyle = ReplaceWithStyle.GetSelText - Select Case iSprache - Case 01: StyleText = "Replace style: AUndoHistory -> " & NewStyle - Case 34: StyleText = "Reemplazar estilo: AUndoHistory -> " & NewStyle - Case 86: StyleText = "替换样式: AUndoHistory -> " & NewStyle - Case else: QAErrorlog "Please adapt test for this language" - end select - wait 500 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - try - Active.Yes - catch - Active.Ok - endcatch - end if - end if - kontext "FindAndReplace" - SearchForStyles.UnCheck - FindAndReplace.Close - - '/// string in Undo-list has to be: "Replace Styles: 'AUndoHistory -> ...") - Kontext "StandardBar" - try - Undo.OpenMenu - Kontext "UndoRedoBox" - UndoText = UndoRedoList.GetItemText(1) - if UndoText <> StyleText then - Warnlog "Wrong text in Undo-List: " & UndoText - end if - Kontext "StandardBar" - Undo.Click - catch - Warnlog "Something wrong checking Undo-List!" - endcatch - - printlog "Styles (Promote)" - '/// point cursor to beginning of document - Call wTypeKeys ( "" ) - ' To promote style it has to be in the heading group - ToolsOutlineNumbering - Kontext - Active.SetPage TabKapitelnumerierung - Kontext "TabKapitelnumerierung" - Absatzvorlage.Select NewStyle - TabKapitelnumerierung.Ok - - Call wNavigatorAuswahl ( 1, 1, true ) - Kontext "NavigatorWriter" - '/// Select Promote in Navigator - try - Senken.Click - '/// string in Undo-list has to be: "Demote Outline") - Call CheckUndoStringInUndoList ( 10, "DemoteOutline" ) - catch - Warnlog "Unable to demote outline" - endcatch - - '/// Select Demote in Navigator - printlog "Styles (Demote)" - Kontext "NavigatorWriter" - try - Senken.Click - '/// string in Undo-list has to be: "Promote Outline") - Call CheckUndoStringInUndoList ( 10, "PromoteOutline" ) - catch - Warnlog "Unable to promote outline" - endcatch - - '/// CloseDocument - Call hCloseDocument + Dim i as integer, StyleText as string, UndoText as string + Dim NewStyle as string + + '/// Styles (Apply/Modify/Find&Replace/Promote/Demote) + printlog "- Styles (Apply)" + '/// new document + Call hNewDocument + '/// type some text + Call wTypeKeys ( "I have the new style" ) + '/// Select text + Call wTypeKeys ( "" ) + '/// Apply Style to a newly created style + Call wStyleCreate ( "AUndoHistory", "Paragraph" ) + '/// string in Undo-list has to be: "Apply styles: AUndoHistory") + Call CheckUndoStringInUndoList ( 10, "ApplyStyles" ) + + '/// Modify Style through Stylist + if wStyleSelect ( "AUndoHistory" ) = false then + Warnlog "Defined style has not been found in Stylist->Test aborted" + Call hCloseDocument + goto endsub + end if + + Vorlagenliste.OpenContextMenu + Call hMenuSelectNr(2) + Kontext + Active.Setpage TabFontEffects + Kontext "TabFontEffects" + FontColor.Select FontColor.GetItemCount + TabFontEffects.Ok + Sleep 1 + '/// string in Undo-list has to be: "Change styles: AUndoHistory") + Call CheckUndoStringInUndoList ( 10, "ChangeStyles" ) + + printlog "Styles (Replace)" + '/// Edit / Search and Replace + EditSearchAndReplace + kontext "FindAndReplace" + if SearchForStyles.IsVisible = False then More.Click + SearchForStyles.Check + Sleep 1 + ReplaceWithStyle.Select 4 + wait 500 + ReplaceBtn.Click + NewStyle = ReplaceWithStyle.GetSelText + Select Case iSprache + Case 01: StyleText = "Replace style: AUndoHistory -> " & NewStyle + Case 34: StyleText = "Reemplazar estilo: AUndoHistory -> " & NewStyle + Case 86: StyleText = "替换样式: AUndoHistory -> " & NewStyle + Case else: QAErrorlog "Please adapt test for this language" + end select + wait 500 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + try + Active.Yes + catch + Active.Ok + endcatch + end if + end if + kontext "FindAndReplace" + SearchForStyles.UnCheck + FindAndReplace.Close + + '/// string in Undo-list has to be: "Replace Styles: 'AUndoHistory -> ...") + Kontext "StandardBar" + try + Undo.OpenMenu + Kontext "UndoRedoBox" + UndoText = UndoRedoList.GetItemText(1) + if UndoText <> StyleText then + Warnlog "Wrong text in Undo-List: " & UndoText + end if + Kontext "StandardBar" + Undo.Click + catch + Warnlog "Something wrong checking Undo-List!" + endcatch + + printlog "Styles (Promote)" + '/// point cursor to beginning of document + Call wTypeKeys ( "" ) + ' To promote style it has to be in the heading group + ToolsOutlineNumbering + Kontext + Active.SetPage TabKapitelnumerierung + Kontext "TabKapitelnumerierung" + Absatzvorlage.Select NewStyle + TabKapitelnumerierung.Ok + + Call wNavigatorAuswahl ( 1, 1, true ) + Kontext "NavigatorWriter" + '/// Select Promote in Navigator + try + Senken.Click + '/// string in Undo-list has to be: "Demote Outline") + Call CheckUndoStringInUndoList ( 10, "DemoteOutline" ) + catch + Warnlog "Unable to demote outline" + endcatch + + '/// Select Demote in Navigator + printlog "Styles (Demote)" + Kontext "NavigatorWriter" + try + Senken.Click + '/// string in Undo-list has to be: "Promote Outline") + Call CheckUndoStringInUndoList ( 10, "PromoteOutline" ) + catch + Warnlog "Unable to promote outline" + endcatch + + '/// CloseDocument + Call hCloseDocument endcase diff --git a/testautomation/writer/optional/includes/undo/w_undo_history_3.inc b/testautomation/writer/optional/includes/undo/w_undo_history_3.inc index 1d30a87dd406..2a5471733642 100644 --- a/testautomation/writer/optional/includes/undo/w_undo_history_3.inc +++ b/testautomation/writer/optional/includes/undo/w_undo_history_3.inc @@ -33,268 +33,268 @@ sub w_undo_history_3 - Call tUndoSection ' Section (Insert/Modify/Delete) - Call tUndoHyperlink ' Hyperlink (Insert as Text/as URL button) - Call tUndoFootnote ' Footnote (Insert/Modify/Delete) - Call tUndoCaption ' Insert Caption - Call tUndoAutoText ' Insert Autotext - Call tUndoBookmark ' Bookmark (Insert/Rename/Delete) - Call tUndoComment ' Comment (Insert/Delete) - Call tUndoScript ' Script (Insert/Delete) - Call tUndoIndexes ' Index/Bibliography entrys (Insert/Delete) - Call tUndoFrames ' Frames (Insert/Rename/Delete) - Call tUndoTableGeneral ' Tables Part 1 - Call tUndoTableOptionsMerge ' Tables Part 2 - Call tUndoTableConvertSort ' Tables Part 3 - Call tUndoTableSplitDelete ' Tables Part 4 - Call tUndoHorizontalRuler ' Horizontal ruler - Call tUndoGraphics ' Graphics (Insert/Replace/Delete) - + Call tUndoSection ' Section (Insert/Modify/Delete) + Call tUndoHyperlink ' Hyperlink (Insert as Text/as URL button) + Call tUndoFootnote ' Footnote (Insert/Modify/Delete) + Call tUndoCaption ' Insert Caption + Call tUndoAutoText ' Insert Autotext + Call tUndoBookmark ' Bookmark (Insert/Rename/Delete) + Call tUndoComment ' Comment (Insert/Delete) + Call tUndoScript ' Script (Insert/Delete) + Call tUndoIndexes ' Index/Bibliography entrys (Insert/Delete) + Call tUndoFrames ' Frames (Insert/Rename/Delete) + Call tUndoTableGeneral ' Tables Part 1 + Call tUndoTableOptionsMerge ' Tables Part 2 + Call tUndoTableConvertSort ' Tables Part 3 + Call tUndoTableSplitDelete ' Tables Part 4 + Call tUndoHorizontalRuler ' Horizontal ruler + Call tUndoGraphics ' Graphics (Insert/Replace/Delete) + end sub testcase tUndoSection - '/// Section (Insert/Modify/Delete) - printlog "Section (Insert)" - '/// new document - Call hNewDocument - '/// Insert a section - InsertSection - Kontext - Active.Setpage TabBereiche - Kontext "TabBereiche" - TabBereiche.Ok - '/// string in Undo-list has to be: "Insert section") - Call CheckUndoStringInUndoList ( 10, "InsertSection" ) - - printlog "Section (Modify)" - '/// Open navigator and select section - Call wNavigatorAuswahl ( 7, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Edit' - Auswahlliste.OpenContextMenu - wait 500 - Call hMenuSelectNr(4) - - '/// Change Background-Color - Kontext "BereicheBearbeiten" - Optionen.Click - Kontext - Active.Setpage TabHintergrund - Kontext "TabHintergrund" - Hintergrundfarbe.TypeKeys "", 5 - TabHintergrund.Ok - - Kontext "BereicheBearbeiten" - BereicheBearbeiten.Ok - '/// string in Undo-list has to be: "Modify section") - Call CheckUndoStringInUndoList ( 10, "ModifySection" ) - - printlog "Section (Delete)" - '/// Open navigator and select section - Call wNavigatorAuswahl ( 7, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Edit' - Auswahlliste.OpenContextMenu - wait 500 - Call hMenuSelectNr(4) - '/// In 'Edit sections' dialog choose 'remove' - Kontext "BereicheBearbeiten" - Aufheben.Click - BereicheBearbeiten.Ok - '/// string in Undo-list has to be: "Delete section") - Call CheckUndoStringInUndoList ( 10, "DeleteSection" ) - - '/// Close Document - Call hCloseDocument + '/// Section (Insert/Modify/Delete) + printlog "Section (Insert)" + '/// new document + Call hNewDocument + '/// Insert a section + InsertSection + Kontext + Active.Setpage TabBereiche + Kontext "TabBereiche" + TabBereiche.Ok + '/// string in Undo-list has to be: "Insert section") + Call CheckUndoStringInUndoList ( 10, "InsertSection" ) + + printlog "Section (Modify)" + '/// Open navigator and select section + Call wNavigatorAuswahl ( 7, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Edit' + Auswahlliste.OpenContextMenu + wait 500 + Call hMenuSelectNr(4) + + '/// Change Background-Color + Kontext "BereicheBearbeiten" + Optionen.Click + Kontext + Active.Setpage TabHintergrund + Kontext "TabHintergrund" + Hintergrundfarbe.TypeKeys "", 5 + TabHintergrund.Ok + + Kontext "BereicheBearbeiten" + BereicheBearbeiten.Ok + '/// string in Undo-list has to be: "Modify section") + Call CheckUndoStringInUndoList ( 10, "ModifySection" ) + + printlog "Section (Delete)" + '/// Open navigator and select section + Call wNavigatorAuswahl ( 7, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Edit' + Auswahlliste.OpenContextMenu + wait 500 + Call hMenuSelectNr(4) + '/// In 'Edit sections' dialog choose 'remove' + Kontext "BereicheBearbeiten" + Aufheben.Click + BereicheBearbeiten.Ok + '/// string in Undo-list has to be: "Delete section") + Call CheckUndoStringInUndoList ( 10, "DeleteSection" ) + + '/// Close Document + Call hCloseDocument endcase testcase tUndoHyperlink - '///Hyperlink (Insert as Text/as URL button) - printlog "- Insert hyperlink as text" - '/// new document - Call hNewDocument - '/// Insert / Hyperlink as Text - InsertHyperlink - Call wEinfuegenHyperlink(1) - ZielURL.Settext "www.sun.com" - Form.Select 1 - Kontext "Hyperlink" - Uebernehmen.Click - Hyperlink.Close - '/// string in Undo-list has to be: "Insert Hyperlink") - Call CheckUndoStringInUndoList ( 10, "InsertHyperlink" ) - - Call wTypeKeys "" - - '/// Insert / Hyperlink as Button - printlog "- Insert hyperlink as Button" - InsertHyperlink - Call wEinfuegenHyperlink(1) - ZielURL.Settext "www.sun.com" - Form.Select 2 - Kontext "Hyperlink" - Uebernehmen.Click - Hyperlink.Close - - '/// string in Undo-list has to be: "insert URL Button") - Call CheckUndoStringInUndoList ( 10, "InsertHyperlinkButton" ) - - '/// Close Document - Call hCloseDocument - -endcase + '///Hyperlink (Insert as Text/as URL button) + printlog "- Insert hyperlink as text" + '/// new document + Call hNewDocument + '/// Insert / Hyperlink as Text + InsertHyperlink + Call wEinfuegenHyperlink(1) + ZielURL.Settext "www.sun.com" + Form.Select 1 + Kontext "Hyperlink" + Uebernehmen.Click + Hyperlink.Close + '/// string in Undo-list has to be: "Insert Hyperlink") + Call CheckUndoStringInUndoList ( 10, "InsertHyperlink" ) + + Call wTypeKeys "" + + '/// Insert / Hyperlink as Button + printlog "- Insert hyperlink as Button" + InsertHyperlink + Call wEinfuegenHyperlink(1) + ZielURL.Settext "www.sun.com" + Form.Select 2 + Kontext "Hyperlink" + Uebernehmen.Click + Hyperlink.Close + + '/// string in Undo-list has to be: "insert URL Button") + Call CheckUndoStringInUndoList ( 10, "InsertHyperlinkButton" ) + + '/// Close Document + Call hCloseDocument + +endcase testcase tUndoFootnote - '/// Footnote (Insert/Modify/Delete) - printlog "- Footnote (Insert)" - '/// new document - Call hNewDocument - '/// Insert / Footnote - InsertFootnote - Kontext "FussnoteEinfuegen" - FussnoteEinfuegen.Ok - '/// string in Undo-list has to be: "Insert footnote") - Call CheckUndoStringInUndoList ( 10, "InsertFootnote" ) - - printlog "- Footnote (Modify)" - '/// Tools/Footnote - ToolsFootnote - Kontext - Active.Setpage TabFussnoten - Kontext "TabFussnoten" - - '/// Change any option in footnote dialog - if Seitenende.IsChecked then - Dokumentende.Check - else - Seitenende.Check - end if - '/// Close dialog - TabFussnoten.Ok - '/// string in Undo-list has to be: "Modify footnote options") - Call CheckUndoStringInUndoList ( 10, "ModifyFootnote" ) - - printlog "- Footnote (Delete)" - '/// Point cursor directly to the footnote anchor - Call wTypeKeys "" - '/// press 'delete' to remove footnote - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete footnote options") - Call CheckUndoStringInUndoList ( 10, "DeleteFootnote" ) - - '/// Close document - Call hCloseDocument + '/// Footnote (Insert/Modify/Delete) + printlog "- Footnote (Insert)" + '/// new document + Call hNewDocument + '/// Insert / Footnote + InsertFootnote + Kontext "FussnoteEinfuegen" + FussnoteEinfuegen.Ok + '/// string in Undo-list has to be: "Insert footnote") + Call CheckUndoStringInUndoList ( 10, "InsertFootnote" ) + + printlog "- Footnote (Modify)" + '/// Tools/Footnote + ToolsFootnote + Kontext + Active.Setpage TabFussnoten + Kontext "TabFussnoten" + + '/// Change any option in footnote dialog + if Seitenende.IsChecked then + Dokumentende.Check + else + Seitenende.Check + end if + '/// Close dialog + TabFussnoten.Ok + '/// string in Undo-list has to be: "Modify footnote options") + Call CheckUndoStringInUndoList ( 10, "ModifyFootnote" ) + + printlog "- Footnote (Delete)" + '/// Point cursor directly to the footnote anchor + Call wTypeKeys "" + '/// press 'delete' to remove footnote + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete footnote options") + Call CheckUndoStringInUndoList ( 10, "DeleteFootnote" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoCaption - '/// Insert a caption - printlog "- Insert Caption" - '/// new document - Call hNewDocument - '/// Insert a graphic - Call hGrafikEinfuegen ( gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) - '/// Insert / Caption - InsertCaption - Kontext "Beschriftung" - '/// Insert a caption more than 20 characters long - Beschriftungstext.Settext "This caption has more than 20 characters" - Beschriftung.Ok - - '/// string in Undo-list has to be: "Insert Caption: This capt...aracters") - Call CheckUndoStringInUndoList ( 10, "InsertCaption" ) - - '/// Close document - Call hCloseDocument + '/// Insert a caption + printlog "- Insert Caption" + '/// new document + Call hNewDocument + '/// Insert a graphic + Call hGrafikEinfuegen ( gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) + '/// Insert / Caption + InsertCaption + Kontext "Beschriftung" + '/// Insert a caption more than 20 characters long + Beschriftungstext.Settext "This caption has more than 20 characters" + Beschriftung.Ok + + '/// string in Undo-list has to be: "Insert Caption: This capt...aracters") + Call CheckUndoStringInUndoList ( 10, "InsertCaption" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoAutoText - '/// Insert autotext - printlog "- Insert autotext" - '/// new document - Call hNewDocument - '/// Insert dummy text - Call wBlindtextEinfuegen - - '/// string in Undo-list has to be: "Insert Auto Text") - Call CheckUndoStringInUndoList ( 10, "InsertAutotext" ) - - '/// Close document - Call hCloseDocument + '/// Insert autotext + printlog "- Insert autotext" + '/// new document + Call hNewDocument + '/// Insert dummy text + Call wBlindtextEinfuegen + + '/// string in Undo-list has to be: "Insert Auto Text") + Call CheckUndoStringInUndoList ( 10, "InsertAutotext" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoBookmark -Warnlog "#i102310# - tUndoBookmark outcommented due to bug." -goto endsub - - - '/// Bookmark (Insert/Rename/Delete) - printlog "- Insert Bookmark" - '/// new document - Call hNewDocument - '/// Insert / Bookmark - InsertBookmark - Kontext "TextmarkeEinfuegen" - Textmarken.Settext "I'm a bookmark" - TextmarkeEinfuegen.Ok - '/// string in Undo-list has to be: "Insert Bookmark: I'm a bookmark") - Call CheckUndoStringInUndoList ( 10, "InsertBookmark" ) - - printlog "- Rename Bookmark" - '/// Open navigator and select bookmark - Call wNavigatorAuswahl ( 6, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Edit' - Auswahlliste.OpenContextMenu - wait 500 - Call hMenuSelectNr(4) - wait 500 - Call hMenuSelectNr(3) - wait 500 - Kontext "ObjekteUmbenennen" - Objektname.Settext "a book" - ObjekteUmbenennen.Ok - '/// string in Undo-list has to be: "Rename Bookmark: a book") - Call CheckUndoStringInUndoList ( 10, "RenameBookmark" ) - - printlog "- Delete Bookmark" - '/// Open navigator and select bookmark - Call wNavigatorAuswahl ( 6, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Edit' - Auswahlliste.OpenContextMenu - wait 500 - Call hMenuSelectNr(4) - wait 500 - Call hMenuSelectNr(2) - wait 500 - '/// string in Undo-list has to be: "Rename Bookmark: a book") - Call CheckUndoStringInUndoList ( 10, "DeleteBookmark" ) - - '/// Close document - Call hCloseDocument + Warnlog "#i102310# - tUndoBookmark outcommented due to bug." + goto endsub + + + '/// Bookmark (Insert/Rename/Delete) + printlog "- Insert Bookmark" + '/// new document + Call hNewDocument + '/// Insert / Bookmark + InsertBookmark + Kontext "TextmarkeEinfuegen" + Textmarken.Settext "I'm a bookmark" + TextmarkeEinfuegen.Ok + '/// string in Undo-list has to be: "Insert Bookmark: I'm a bookmark") + Call CheckUndoStringInUndoList ( 10, "InsertBookmark" ) + + printlog "- Rename Bookmark" + '/// Open navigator and select bookmark + Call wNavigatorAuswahl ( 6, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Edit' + Auswahlliste.OpenContextMenu + wait 500 + Call hMenuSelectNr(4) + wait 500 + Call hMenuSelectNr(3) + wait 500 + Kontext "ObjekteUmbenennen" + Objektname.Settext "a book" + ObjekteUmbenennen.Ok + '/// string in Undo-list has to be: "Rename Bookmark: a book") + Call CheckUndoStringInUndoList ( 10, "RenameBookmark" ) + + printlog "- Delete Bookmark" + '/// Open navigator and select bookmark + Call wNavigatorAuswahl ( 6, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Edit' + Auswahlliste.OpenContextMenu + wait 500 + Call hMenuSelectNr(4) + wait 500 + Call hMenuSelectNr(2) + wait 500 + '/// string in Undo-list has to be: "Rename Bookmark: a book") + Call CheckUndoStringInUndoList ( 10, "DeleteBookmark" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoComment - printlog "New document" - Call hNewDocument - printlog "Insert / Comment" - InsertNoteWriter - printlog "String in Undo-list has to be: 'Insert Comment'" - Call CheckUndoStringInUndoList ( 10, "InsertComment" ) + printlog "New document" + Call hNewDocument + printlog "Insert / Comment" + InsertNoteWriter + printlog "String in Undo-list has to be: 'Insert Comment'" + Call CheckUndoStringInUndoList ( 10, "InsertComment" ) printlog "- Delete Comment" printlog "Bring up the Navigator, find the entry 'Comments', expand it, and select the expanded section." Call wNavigatorAuswahl( 11, 1 ) @@ -302,370 +302,373 @@ testcase tUndoComment Navigator.TypeKeys "" '/// Close the Navigator ViewNavigator - '/// string in Undo-list has to be: "Delete comment") - Call CheckUndoStringInUndoList ( 10, "DeleteComment" ) + '/// string in Undo-list has to be: "Delete comment") + Call CheckUndoStringInUndoList ( 10, "DeleteComment" ) - '/// Close document - Call hCloseDocument + '/// Close document + Call hCloseDocument endcase testcase tUndoScript - - '/// Script (Insert/Delete) - printlog "- Insert Script" - '/// new document - Call hNewDocument - '/// Insert / Script - InsertScript - Kontext "ScriptEinfuegen" - ScriptEinfuegen.Ok - '/// string in Undo-list has to be: "Insert script") - Call CheckUndoStringInUndoList ( 10, "InsertScript" ) - - '/// Point cursor directly to the script - Call wTypeKeys "" - '/// press 'delete' to remove script - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete script") - Call CheckUndoStringInUndoList ( 10, "DeleteScript" ) - - '/// Close document - Call hCloseDocument + + '/// Script (Insert/Delete) + printlog "- Insert Script" + '/// new document + Call hNewDocument + '/// Insert / Script + InsertScript + Kontext "ScriptEinfuegen" + ScriptEinfuegen.Ok + '/// string in Undo-list has to be: "Insert script") + Call CheckUndoStringInUndoList ( 10, "InsertScript" ) + + '/// Point cursor directly to the script + Call wTypeKeys "" + '/// press 'delete' to remove script + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete script") + Call CheckUndoStringInUndoList ( 10, "DeleteScript" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoIndexes - '/// Indexes (Insert/Delete) - printlog "- Insert Index entry" - '/// new document - Call hNewDocument - '/// Type a word - Call wTypeKeys "IndexEntry" - Call wTypeKeys "" - '/// Insert / Indexes and Tables / Entry - InsertIndexesEntry - Kontext "VerzeichnisEintragEinfuegen" - EintragOk.Click - VerzeichnisEintragEinfuegen.Close - '/// string in Undo-list has to be: "Insert index entry") - Call CheckUndoStringInUndoList ( 10, "InsertIndexEntry" ) - - printlog "delete index entry with 'Backspace'" - Call wTypeKeys ( "" - '/// string in Undo-list has to be: "Delete index entry") - Call CheckUndoStringInUndoList ( 10, "DeleteIndexEntry" ) - - '/// Type a word - Call wTypeKeys "BibliographyEntry" - Call wTypeKeys "" - printlog "- Insert Bibliography entry" - printlog "Insert / Index / Bibliography entry" - InsertIndexesBibliographyEntry - Kontext "LiteratureintragEinfuegen" - EintragEinfuegen.Click - LiteratureintragEinfuegen.Close - '/// string in Undo-list has to be: "Insert bibliography entry") - Call CheckUndoStringInUndoList ( 10, "InsertBibliographyEntry" ) - - Printlog "delete bibliography entry with 'Backspace'" - Call wTypeKeys ( "" - '/// string in Undo-list has to be: "Delete bibliography entry") - Call CheckUndoStringInUndoList ( 10, "DeleteBibliographyEntry" ) - - '/// Close document - Call hCloseDocument + '/// Indexes (Insert/Delete) + printlog "- Insert Index entry" + '/// new document + Call hNewDocument + '/// Type a word + Call wTypeKeys "IndexEntry" + Call wTypeKeys "" + '/// Insert / Indexes and Tables / Entry + InsertIndexesEntry + Kontext "VerzeichnisEintragEinfuegen" + EintragOk.Click + VerzeichnisEintragEinfuegen.Close + '/// string in Undo-list has to be: "Insert index entry") + Call CheckUndoStringInUndoList ( 10, "InsertIndexEntry" ) + + printlog "delete index entry with 'Backspace'" + Call wTypeKeys ( "" + '/// string in Undo-list has to be: "Delete index entry") + Call CheckUndoStringInUndoList ( 10, "DeleteIndexEntry" ) + + '/// Type a word + Call wTypeKeys "BibliographyEntry" + Call wTypeKeys "" + printlog "- Insert Bibliography entry" + printlog "Insert / Index / Bibliography entry" + InsertIndexesBibliographyEntry + Kontext "LiteratureintragEinfuegen" + EintragEinfuegen.Click + LiteratureintragEinfuegen.Close + '/// string in Undo-list has to be: "Insert bibliography entry") + Call CheckUndoStringInUndoList ( 10, "InsertBibliographyEntry" ) + + Printlog "delete bibliography entry with 'Backspace'" + Call wTypeKeys ( "" + '/// string in Undo-list has to be: "Delete bibliography entry") + Call CheckUndoStringInUndoList ( 10, "DeleteBibliographyEntry" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoFrames - '/// Frames (Insert/Rename/Delete) - printlog "- Insert Frame" - '/// new document - Call hNewDocument - '/// Insert / Frame - InsertFrame - Kontext - Active.Setpage TabZusaetze - Kontext "TabZusaetze" - ObjektName.Settext "MyFrame" - TabZusaetze.Ok - '/// string in Undo-list has to be: "Insert frame: MyFrame") - Call CheckUndoStringInUndoList ( 10, "InsertFrame" ) - - printlog "- Rename Frame" - '/// Open navigator and select frame - Call wNavigatorAuswahl ( 3, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Edit' - Auswahlliste.OpenContextMenu - Call hMenuSelectNr(4) - Call hMenuSelectNr(3) - Kontext "ObjekteUmbenennen" - Objektname.Settext "MyRenamedFrame" - ObjekteUmbenennen.Ok - '/// string in Undo-list has to be: "Rename frame: 'MyFrame' -> 'MyRenamedFrame'") - Call CheckUndoStringInUndoList ( 10, "RenameFrame" ) - printlog "- Delete Frame" - '/// Type 'Del' to delete the frame - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete frame: 'MyRenamedFrame'") - Call CheckUndoStringInUndoList ( 10, "DeleteFrame" ) - - '/// Close document - Call hCloseDocument + warnlog( "#111909# - Cannot access item in context menu" ) + goto endsub + + '/// Frames (Insert/Rename/Delete) + printlog "- Insert Frame" + '/// new document + Call hNewDocument + '/// Insert / Frame + InsertFrame + Kontext + Active.Setpage TabZusaetze + Kontext "TabZusaetze" + ObjektName.Settext "MyFrame" + TabZusaetze.Ok + '/// string in Undo-list has to be: "Insert frame: MyFrame") + Call CheckUndoStringInUndoList ( 10, "InsertFrame" ) + + printlog "- Rename Frame" + '/// Open navigator and select frame + Call wNavigatorAuswahl ( 3, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Edit' + Auswahlliste.OpenContextMenu + Call hMenuSelectNr(4) + Call hMenuSelectNr(3) + Kontext "ObjekteUmbenennen" + Objektname.Settext "MyRenamedFrame" + ObjekteUmbenennen.Ok + '/// string in Undo-list has to be: "Rename frame: 'MyFrame' -> 'MyRenamedFrame'") + Call CheckUndoStringInUndoList ( 10, "RenameFrame" ) + printlog "- Delete Frame" + '/// Type 'Del' to delete the frame + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete frame: 'MyRenamedFrame'") + Call CheckUndoStringInUndoList ( 10, "DeleteFrame" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoTableGeneral - Dim sTableName as string - - '/// Tables Part 1 - printlog "- insert table" - '/// new document - Call hNewDocument - '/// Insert a table - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - sTableName = "MyTable" - Tabellenname.Settext sTableName - TabelleEinfuegenWriter.Ok - '/// string in Undo-list has to be: "Insert table") - Call CheckUndoStringInUndoList ( 10, "InsertTable" ) - printlog "- Insert a row" - '/// Insert a row - Call hToolbarSelect("Table", true) - ZeileEinfuegen.Click - '/// string in Undo-list has to be: "Insert row") - Call CheckUndoStringInUndoList ( 10, "InsertRow" ) - printlog "- Insert a column" - '/// Insert a column - Call hToolbarSelect("Table", true) - SpalteEinfuegen.Click - '/// string in Undo-list has to be: "Insert column") - Call CheckUndoStringInUndoList ( 10, "InsertColumn" ) - printlog "- Delete a row" - '/// Delete a row - Call hToolbarSelect("Table", true) - ZeileLoeschen.Click - '/// string in Undo-list has to be: "Delete row") - Call CheckUndoStringInUndoList ( 10, "DeleteRow" ) - printlog "- Delete a column" - '/// Delete a column - Call hToolbarSelect("Table", true) - SpalteLoeschen.Click - '/// string in Undo-list has to be: "Delete column") - Call CheckUndoStringInUndoList ( 10, "DeleteColumn" ) - printlog "- format a cell" - '/// Format cell (enable number recognition form that) + Dim sTableName as string + + '/// Tables Part 1 + printlog "- insert table" + '/// new document + Call hNewDocument + '/// Insert a table + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + sTableName = "MyTable" + Tabellenname.Settext sTableName + TabelleEinfuegenWriter.Ok + '/// string in Undo-list has to be: "Insert table") + Call CheckUndoStringInUndoList ( 10, "InsertTable" ) + printlog "- Insert a row" + '/// Insert a row + Call hToolbarSelect("Table", true) + ZeileEinfuegen.Click + '/// string in Undo-list has to be: "Insert row") + Call CheckUndoStringInUndoList ( 10, "InsertRow" ) + printlog "- Insert a column" + '/// Insert a column + Call hToolbarSelect("Table", true) + SpalteEinfuegen.Click + '/// string in Undo-list has to be: "Insert column") + Call CheckUndoStringInUndoList ( 10, "InsertColumn" ) + printlog "- Delete a row" + '/// Delete a row + Call hToolbarSelect("Table", true) + ZeileLoeschen.Click + '/// string in Undo-list has to be: "Delete row") + Call CheckUndoStringInUndoList ( 10, "DeleteRow" ) + printlog "- Delete a column" + '/// Delete a column + Call hToolbarSelect("Table", true) + SpalteLoeschen.Click + '/// string in Undo-list has to be: "Delete column") + Call CheckUndoStringInUndoList ( 10, "DeleteColumn" ) + printlog "- format a cell" + '/// Format cell (enable number recognition form that) ToolsOptions Call hToolsOptions ("WRITER","Table") if Not AutomatischeZahlenerkennung.IsChecked then AutomatischeZahlenerkennung.Check Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.Cancel - '/// type '1' in a cell - Call wTypeKeys ( "1" ) - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Format cell") - Call CheckUndoStringInUndoList ( 10, "FormatCell" ) - + '/// type '1' in a cell + Call wTypeKeys ( "1" ) + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Format cell") + Call CheckUndoStringInUndoList ( 10, "FormatCell" ) + ToolsOptions Call hToolsOptions ("WRITER","Table") if AutomatischeZahlenerkennung.IsChecked then AutomatischeZahlenerkennung.UnCheck Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.Cancel - '/// CloseDocument - Call hCloseDocument + '/// CloseDocument + Call hCloseDocument endcase testcase tUndoTableOptionsMerge - '/// Tables Part 2 - printlog "- apply table attributes" - '/// new document - Call hNewDocument - '/// Insert a table - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - TabelleEinfuegenWriter.Ok - - printlog "- apply attributes" - '/// Format / Table - FormatTable - '/// change some table options - Kontext - Active.Setpage TabTextflussTabelle - Kontext "TabTextflussTabelle" - if Umbruch.IsChecked then - Umbruch.Uncheck - else - Umbruch.Check - end if - TabTextflussTabelle.Ok - '/// string in Undo-list has to be: "Apply table attributes") - Call CheckUndoStringInUndoList ( 10, "ApplyTableAttributes" ) - - printlog "- merge tables" - '/// Merge tables - Call wTypeKeys ( "" ,2 ) - '/// Insert a second table - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - TabelleEinfuegenWriter.Ok - '/// Format / Merge / Tables - FormatMergeTables - '/// string in Undo-list has to be: "Merge table") - Call CheckUndoStringInUndoList ( 10, "MergeTable" ) - - '/// close Document - Call hCloseDocument + '/// Tables Part 2 + printlog "- apply table attributes" + '/// new document + Call hNewDocument + '/// Insert a table + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + TabelleEinfuegenWriter.Ok + + printlog "- apply attributes" + '/// Format / Table + FormatTable + '/// change some table options + Kontext + Active.Setpage TabTextflussTabelle + Kontext "TabTextflussTabelle" + if Umbruch.IsChecked then + Umbruch.Uncheck + else + Umbruch.Check + end if + TabTextflussTabelle.Ok + '/// string in Undo-list has to be: "Apply table attributes") + Call CheckUndoStringInUndoList ( 10, "ApplyTableAttributes" ) + + printlog "- merge tables" + '/// Merge tables + Call wTypeKeys ( "" ,2 ) + '/// Insert a second table + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + TabelleEinfuegenWriter.Ok + '/// Format / Merge / Tables + FormatMergeTables + '/// string in Undo-list has to be: "Merge table") + Call CheckUndoStringInUndoList ( 10, "MergeTable" ) + + '/// close Document + Call hCloseDocument endcase testcase tUndoTableConvertSort - '/// Tables Part 3 - printlog "- Convert to text" - '/// new document - Call hNewDocument - '/// Insert text "Thisis atable to texttext" - Call wTypeKeys ("Thisis atable to texttext") - '/// select all - Call wTypeKeys ( "" ) - '/// Format / Text <-> Table - ToolsTextInTable + '/// Tables Part 3 + printlog "- Convert to text" + '/// new document + Call hNewDocument + '/// Insert text "Thisis atable to texttext" + Call wTypeKeys ("Thisis atable to texttext") + '/// select all + Call wTypeKeys ( "" ) + '/// Format / Text <-> Table + ToolsTextInTable Kontext "TextInTabelleUmwandeln" TextInTabelleUmwandeln.OK - '/// string in Undo-list has to be: "Convert table -> text") - Call CheckUndoStringInUndoList ( 10, "ConvertTable" ) - - printlog "- Sort table" - '/// Sort table - Call wTypeKeys ( "", 2 ) - '/// Select all -> Tools / Sort - ToolsSort - Kontext "Sortieren" - Sortieren.Ok - '/// string in Undo-list has to be: "Sort table") - Call CheckUndoStringInUndoList ( 10, "SortTable" ) - - '/// Close Document - Call hCloseDocument + '/// string in Undo-list has to be: "Convert table -> text") + Call CheckUndoStringInUndoList ( 10, "ConvertTable" ) + + printlog "- Sort table" + '/// Sort table + Call wTypeKeys ( "", 2 ) + '/// Select all -> Tools / Sort + ToolsSort + Kontext "Sortieren" + Sortieren.Ok + '/// string in Undo-list has to be: "Sort table") + Call CheckUndoStringInUndoList ( 10, "SortTable" ) + + '/// Close Document + Call hCloseDocument endcase testcase tUndoTableSplitDelete - '/// Tables Part 4 - printlog "- Split tables" - '/// new document - Call hNewDocument - '/// Insert 2 tables - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - TabelleEinfuegenWriter.Ok - Call wTypeKeys ( "", 3 ) - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - TabellenName.Settext "AnotherTable" - TabelleEinfuegenWriter.Ok - '/// MergeTables - FormatMergeTables - wait 500 - '/// Split tables - FormatSplitTable - Kontext "TabelleAuftrennen" - TabelleAuftrennen.Ok - '/// string in Undo-list has to be: "Split table") - Call CheckUndoStringInUndoList ( 10, "SplitTable" ) - - '/// Delete table - printlog "- Delete table" - '/// Open navigator and select table - Call wNavigatorAuswahl ( 2, 1, true ) - Kontext "NavigatorWriter" - '/// Open contextmenu and choose 'Delete' - Auswahlliste.OpenContextMenu - Call hMenuSelectNr(4) - Call hMenuSelectNr(2) - '/// string in Undo-list has to be: "Delete table: 'AnotherTable'") - Call CheckUndoStringInUndoList ( 10, "DeleteTable" ) - - '/// Close document - Call hCloseDocument + '/// Tables Part 4 + printlog "- Split tables" + '/// new document + Call hNewDocument + '/// Insert 2 tables + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + TabelleEinfuegenWriter.Ok + Call wTypeKeys ( "", 3 ) + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + TabellenName.Settext "AnotherTable" + TabelleEinfuegenWriter.Ok + '/// MergeTables + FormatMergeTables + wait 500 + '/// Split tables + FormatSplitTable + Kontext "TabelleAuftrennen" + TabelleAuftrennen.Ok + '/// string in Undo-list has to be: "Split table") + Call CheckUndoStringInUndoList ( 10, "SplitTable" ) + + '/// Delete table + printlog "- Delete table" + '/// Open navigator and select table + Call wNavigatorAuswahl ( 2, 1, true ) + Kontext "NavigatorWriter" + '/// Open contextmenu and choose 'Delete' + Auswahlliste.OpenContextMenu + Call hMenuSelectNr(4) + Call hMenuSelectNr(2) + '/// string in Undo-list has to be: "Delete table: 'AnotherTable'") + Call CheckUndoStringInUndoList ( 10, "DeleteTable" ) + + '/// Close document + Call hCloseDocument endcase testcase tUndoHorizontalRuler - '/// HorizontalRuler - printlog "- Horizontal ruler" - '/// new document - Call hNewDocument - '/// Insert / Horizontal Line - InsertHorizontalLine + '/// HorizontalRuler + printlog "- Horizontal ruler" + '/// new document + Call hNewDocument + '/// Insert / Horizontal Line + InsertHorizontalLine '/// Select one line - Kontext "HorizontaleLinieEinfuegen" - Auswahl.TypeKeys "", 4 - HorizontaleLinieEinfuegen.Ok - '/// string in Undo-list has to be: "Insert horizontal ruler") - Call CheckUndoStringInUndoList ( 10, "InsertRuler" ) - - '/// close document - Call hCloseDocument + Kontext "HorizontaleLinieEinfuegen" + Auswahl.TypeKeys "", 4 + HorizontaleLinieEinfuegen.Ok + '/// string in Undo-list has to be: "Insert horizontal ruler") + Call CheckUndoStringInUndoList ( 10, "InsertRuler" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoGraphics - '/// Graphics (Insert/Delete/Replace) - printlog "- Insert graphics from file" - '/// new document - Call hNewDocument - '/// Insert a graphic from file - Call hGrafikEinfuegen ( gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) - '/// string in Undo-list has to be: "Insert graphics") - Call CheckUndoStringInUndoList ( 10, "InsertGraphic" ) + '/// Graphics (Insert/Delete/Replace) + printlog "- Insert graphics from file" + '/// new document + Call hNewDocument + '/// Insert a graphic from file + Call hGrafikEinfuegen ( gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) + '/// string in Undo-list has to be: "Insert graphics") + Call CheckUndoStringInUndoList ( 10, "InsertGraphic" ) '/// Delete graphic - printlog "- delete graphic" - '/// press 'delete' to remove graphic - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete graphics") - Call CheckUndoStringInUndoList ( 10, "DeleteGraphic" ) - - '/// Insert graphic from gallery - printlog "- insert graphic from gallery" - Kontext "Gallery" + printlog "- delete graphic" + '/// press 'delete' to remove graphic + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete graphics") + Call CheckUndoStringInUndoList ( 10, "DeleteGraphic" ) + + '/// Insert graphic from gallery + printlog "- insert graphic from gallery" + Kontext "Gallery" if Gallery.NotExists(2) then ToolsGallery Sleep (2) - View.OpenContextMenu - Call hMenuSelectNr(1) - Call hMenuSelectNr(1) - '/// string in Undo-list has to be: "Insert graphics") - Call CheckUndoStringInUndoList ( 10, "InsertGraphic" ) + View.OpenContextMenu + Call hMenuSelectNr(1) + Call hMenuSelectNr(1) + '/// string in Undo-list has to be: "Insert graphics") + Call CheckUndoStringInUndoList ( 10, "InsertGraphic" ) Sleep (1) - '/// Replace graphic - printlog "- replace graphic" - '/// Insert another graphics from gallery - Kontext "Gallery" - View.OpenContextMenu - Call hMenuSelectNr(1) - Call hMenuSelectNr(1) - '/// string in Undo-list has to be: "Replace graphics") - Call CheckUndoStringInUndoList ( 10, "ReplaceGraphic" ) - - '/// Close gallery - Kontext "Gallery" - if Gallery.Exists then ToolsGallery - - '/// Close document - Call hCloseDocument + '/// Replace graphic + printlog "- replace graphic" + '/// Insert another graphics from gallery + Kontext "Gallery" + View.OpenContextMenu + Call hMenuSelectNr(1) + Call hMenuSelectNr(1) + '/// string in Undo-list has to be: "Replace graphics") + Call CheckUndoStringInUndoList ( 10, "ReplaceGraphic" ) + + '/// Close gallery + Kontext "Gallery" + if Gallery.Exists then ToolsGallery + + '/// Close document + Call hCloseDocument endcase diff --git a/testautomation/writer/optional/includes/undo/w_undo_history_4.inc b/testautomation/writer/optional/includes/undo/w_undo_history_4.inc index 3f0940fc7537..4b80936ffbaa 100644 --- a/testautomation/writer/optional/includes/undo/w_undo_history_4.inc +++ b/testautomation/writer/optional/includes/undo/w_undo_history_4.inc @@ -33,178 +33,178 @@ sub w_undo_history_4 - Call tUndoOLEObject ' Objects (Insert/Delete) - Call tUndoFloatingFrame ' Floating Frame (Insert/Delete) - Call tUndoInsertFile ' Insert file - Call tUndoAsianPhoneticGuides ' Asian Phonetic Guides - Call tUndoAutocorrect ' Autocorrect / Autoformat - Call tUndoDrawObject ' Draw Object (Insert) - Call tUndoDrawObjectGroup ' Draw Object (Group/ungroup/Name/Delete) - Call tUndoSpellcheck ' Spellcheck (Autocheck/Spellcheck) - Call tUndoFormControl ' Form Control (Insert/resize/move/replace/change property/delete) - Call tUndoHeaderFooter ' Header/Footer insert and delete - + Call tUndoOLEObject ' Objects (Insert/Delete) + Call tUndoFloatingFrame ' Floating Frame (Insert/Delete) + Call tUndoInsertFile ' Insert file + Call tUndoAsianPhoneticGuides ' Asian Phonetic Guides + Call tUndoAutocorrect ' Autocorrect / Autoformat + Call tUndoDrawObject ' Draw Object (Insert) + Call tUndoDrawObjectGroup ' Draw Object (Group/ungroup/Name/Delete) + Call tUndoSpellcheck ' Spellcheck (Autocheck/Spellcheck) + Call tUndoFormControl ' Form Control (Insert/resize/move/replace/change property/delete) + Call tUndoHeaderFooter ' Header/Footer insert and delete + end sub testcase tUndoOLEObject - - '/// OLE-Objects (Insert/Delete) - printlog "- Insert OLE-Object" - '/// new Document - Call hNewDocument + + '/// OLE-Objects (Insert/Delete) + printlog "- Insert OLE-Object" + '/// new Document + Call hNewDocument '/// Insert / Object / OLE-Object /// - InsertObjectOLEObject + InsertObjectOLEObject Kontext "OLEObjektEinfuegen" - Objekttyp.Select 1 - OLEObjektEinfuegen.Ok + Objekttyp.Select 1 + OLEObjektEinfuegen.Ok wait 500 - Call wTypeKeys "" + Call wTypeKeys "" wait 500 Call gMouseClick(15,5) wait 500 - '/// string in Undo-list has to be: "Insert object") - Call CheckUndoStringInUndoList ( 10, "InsertObject" ) + '/// string in Undo-list has to be: "Insert object") + Call CheckUndoStringInUndoList ( 10, "InsertObject" ) - printlog "- delete object" - '/// Select object with + printlog "- delete object" + '/// Select object with Call wTypeKeys "" wait 500 '/// Delete object - Call wTypeKeys "" + Call wTypeKeys "" wait 500 - '/// press 'delete' to remove object - '/// string in Undo-list has to be: "Delete object") - Call CheckUndoStringInUndoList ( 10, "DeleteObject" ) - - '/// close Document - Call hCloseDocument + '/// press 'delete' to remove object + '/// string in Undo-list has to be: "Delete object") + Call CheckUndoStringInUndoList ( 10, "DeleteObject" ) + + '/// close Document + Call hCloseDocument endcase testcase tUndoFloatingFrame - '/// Floating frames - printlog "- Insert floating frame" - '/// new document - Call hNewDocument - '/// Insert / Floating frame - InsertFloatingFrame - Kontext "TabEigenschaften" - '/// Choose a file as floating frame - Inhalt.Settext Convertpath (gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) - TabEigenschaften.Ok - Sleep 2 - '/// string in Undo-list has to be: "Insert floating frame") - Call CheckUndoStringInUndoList ( 10, "InsertFloatingFrame" ) - - '/// Delete floating frame - printlog "- delete floating frame" - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete floating frame") - Call CheckUndoStringInUndoList ( 10, "DeleteFloatingFrame" ) - - '/// close document - Call hCloseDocument + '/// Floating frames + printlog "- Insert floating frame" + '/// new document + Call hNewDocument + '/// Insert / Floating frame + InsertFloatingFrame + Kontext "TabEigenschaften" + '/// Choose a file as floating frame + Inhalt.Settext Convertpath (gTesttoolPath & "writer\optional\input\graphics\jolink.jpg" ) + TabEigenschaften.Ok + Sleep 2 + '/// string in Undo-list has to be: "Insert floating frame") + Call CheckUndoStringInUndoList ( 10, "InsertFloatingFrame" ) + + '/// Delete floating frame + printlog "- delete floating frame" + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete floating frame") + Call CheckUndoStringInUndoList ( 10, "DeleteFloatingFrame" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoInsertFile - '/// Insert File - printlog "- Insert file" - '/// new document - Call hNewDocument - '/// Insert / File - InsertFileWriter + '/// Insert File + printlog "- Insert file" + '/// new document + Call hNewDocument + '/// Insert / File + InsertFileWriter Sleep 3 Kontext "OeffnenDlg" Sleep 2 '/// Choose "..\\writer\\input\\htmltest.sxw" - if OeffnenDlg.Exists then - Dateiname.Settext Convertpath (gTesttoolPath & "writer\optional\input\undo\htmltest.sxw" ) - Oeffnen.Click - else - Warnlog "File open dialog missing" - Call hCloseDocument - goto endsub - end if - - '/// string in Undo-list has to be: "Insert document") - Call CheckUndoStringInUndoList ( 10, "InsertDocument" ) - - '/// close document - Call hCloseDocument + if OeffnenDlg.Exists then + Dateiname.Settext Convertpath (gTesttoolPath & "writer\optional\input\undo\htmltest.sxw" ) + Oeffnen.Click + else + Warnlog "File open dialog missing" + Call hCloseDocument + goto endsub + end if + + '/// string in Undo-list has to be: "Insert document") + Call CheckUndoStringInUndoList ( 10, "InsertDocument" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoAsianPhoneticGuides - '/// Asian Phonetic Guides - printlog "- Asian Phonetic Guides" - '/// new document - Call hNewDocument - '/// type some text and select it - Call wTypeKeys ( "JuppHeidiUndJuppHeida" ) - Call wTypeKeys ( "" ) - '/// Check if Asian support is enabled, if not enable it - if gAsianSup = true then - FormatRuby - Kontext "RubyDialog" - RubyText1.Settext "SeppHeidiUndSeppHeida" - RubyDialog.Ok - RubyDialog.Close - else - Call ActiveDeactivateAsianSupport(True) - FormatRuby - Kontext "RubyDialog" - RubyText1.Settext "SeppHeidiUndSeppHeida" - RubyDialog.Ok - RubyDialog.Close - Call ActiveDeactivateAsianSupport(False) - end if - - '/// string in Undo-list has to be: "Asian Phonectic Guides Setting") - Call CheckUndoStringInUndoList ( 10, "APGS" ) - - '/// close document - Call hCloseDocument + '/// Asian Phonetic Guides + printlog "- Asian Phonetic Guides" + '/// new document + Call hNewDocument + '/// type some text and select it + Call wTypeKeys ( "JuppHeidiUndJuppHeida" ) + Call wTypeKeys ( "" ) + '/// Check if Asian support is enabled, if not enable it + if gAsianSup = true then + FormatRuby + Kontext "RubyDialog" + RubyText1.Settext "SeppHeidiUndSeppHeida" + RubyDialog.Ok + RubyDialog.Close + else + Call ActiveDeactivateAsianSupport(True) + FormatRuby + Kontext "RubyDialog" + RubyText1.Settext "SeppHeidiUndSeppHeida" + RubyDialog.Ok + RubyDialog.Close + Call ActiveDeactivateAsianSupport(False) + end if + + '/// string in Undo-list has to be: "Asian Phonectic Guides Setting") + Call CheckUndoStringInUndoList ( 10, "APGS" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoAutocorrect - '/// Autocorrect / Autoformat - printlog "- Autocorrect / Autoformat" - '/// new document - Call hNewDocument - '/// Autocorrect - printlog "- Autocorrect" - '/// type with quote and blank at the end 'www.sun.com ' - Call wTypeKeys ( "www.sun.com " ) - '/// string in Undo-list has to be: "AutoCorrect") - Call CheckUndoStringInUndoList ( 10, "AutoCorrect" ) + '/// Autocorrect / Autoformat + printlog "- Autocorrect / Autoformat" + '/// new document + Call hNewDocument + '/// Autocorrect + printlog "- Autocorrect" + '/// type with quote and blank at the end 'www.sun.com ' + Call wTypeKeys ( "www.sun.com " ) + '/// string in Undo-list has to be: "AutoCorrect") + Call CheckUndoStringInUndoList ( 10, "AutoCorrect" ) '/// insert a line break - Call wTypeKeys ( "" ) - '/// Autoformat - printlog "- Autoformat" - '/// type - AutoFormat test - Call wTypeKeys ( "- AutoFormat test" ) - '/// string in Undo-list has to be: "AutoCorrect") - Call CheckUndoStringInUndoList ( 10, "AutoFormat" ) - - '/// close document - Call hCloseDocument + Call wTypeKeys ( "" ) + '/// Autoformat + printlog "- Autoformat" + '/// type - AutoFormat test + Call wTypeKeys ( "- AutoFormat test" ) + '/// string in Undo-list has to be: "AutoCorrect") + Call CheckUndoStringInUndoList ( 10, "AutoFormat" ) + + '/// close document + Call hCloseDocument endcase testcase tUndoDrawObject - '/// Draw object - printlog "- Draw object" - '/// new document - Call hNewDocument - '/// Insert a freeform line object - + '/// Draw object + printlog "- Draw object" + '/// new document + Call hNewDocument + '/// Insert a freeform line object + ViewZoom Kontext "Massstab" Optimal.Check @@ -220,18 +220,18 @@ testcase tUndoDrawObject Call gMouseClick( 55, 70 ) Call wTypeKeys ("") - '/// string in Undo-list has to be: "Insert draw object: freeform line") - Call CheckUndoStringInUndoList ( 10, "FreeForm" ) + '/// string in Undo-list has to be: "Insert draw object: freeform line") + Call CheckUndoStringInUndoList ( 10, "FreeForm" ) - '/// close document - Call hCloseDocument + '/// close document + Call hCloseDocument endcase testcase tUndoDrawObjectGroup - '/// Group of Drawing objects - printlog "- Group of Drawing objects" + '/// Group of Drawing objects + printlog "- Group of Drawing objects" '/// new document /// Call hNewDocument ViewZoom @@ -249,172 +249,172 @@ testcase tUndoDrawObjectGroup '/// Select Format / Group / Group /// try printlog "- group objects" - FormatGroupGroup + FormatGroupGroup Sleep 1 - '/// string in Undo-list has to be: "Group draw objects") - Call CheckUndoStringInUndoList ( 10, "DrawGroup" ) - - '/// Format / Name object - printlog "- name objects" - FormatNameObject - Kontext "NameDlgObject" - NameField.Settext "MyGroup" - NameDlgObject.OK - '/// string in Undo-list has to be: "Rename 2 Rectangles") - Call CheckUndoStringInUndoList ( 10, "RenameGroup" ) - - '/// Select Format / Group / Ungroup /// - printlog "- ungroup objects" - FormatUngroupDraw - '/// string in Undo-list has to be: "Ungroup group object") - Call CheckUndoStringInUndoList ( 10, "DrawUnGroup" ) - - '/// Select 1 object and delete it - Call gMouseClick ( 40, 52 ) - printlog "- delete object" - Call wTypeKeys "" - '/// string in Undo-list has to be: "Delete 2 Rectangles") - Call CheckUndoStringInUndoList ( 10, "DeleteGroup" ) - catch + '/// string in Undo-list has to be: "Group draw objects") + Call CheckUndoStringInUndoList ( 10, "DrawGroup" ) + + '/// Format / Name object + printlog "- name objects" + FormatNameObject + Kontext "NameDlgObject" + NameField.Settext "MyGroup" + NameDlgObject.OK + '/// string in Undo-list has to be: "Rename 2 Rectangles") + Call CheckUndoStringInUndoList ( 10, "RenameGroup" ) + + '/// Select Format / Group / Ungroup /// + printlog "- ungroup objects" + FormatUngroupDraw + '/// string in Undo-list has to be: "Ungroup group object") + Call CheckUndoStringInUndoList ( 10, "DrawUnGroup" ) + + '/// Select 1 object and delete it + Call gMouseClick ( 40, 52 ) + printlog "- delete object" + Call wTypeKeys "" + '/// string in Undo-list has to be: "Delete 2 Rectangles") + Call CheckUndoStringInUndoList ( 10, "DeleteGroup" ) + catch Warnlog "Unable to execute 'Format / Group / Group' -> disabled!" endcatch - '/// close document - Call hCloseDocument + '/// close document + Call hCloseDocument endcase testcase tUndoSpellcheck - Dim sReplace as string + Dim sReplace as string - '/// Spellcheck(Autocheck/Spellcheck) - printlog "- Spellcheck: Autocheck" + '/// Spellcheck(Autocheck/Spellcheck) + printlog "- Spellcheck: Autocheck" '/// new document /// hfileOpen (gTesttoolpath + "writer\optional\input\undo\spellcheck_undo.odt") Call sMakeReadOnlyDocumentEditable - '/// Type "This is a testp" - Call wTypeKeys ( "" ) 'This is a testp - '/// Select word' testp' - Call wTypeKeys ( "" ) - '/// Tools / Spellcheck - ToolsSpellcheckWriter - Kontext "Spellcheck" - Suggestions.Select 1 - sReplace = Suggestions.GetSelText - '///Replace with 1st word in suggestion list - printlog "-> Replace with word: " & sReplace - Change.Click - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - Active.Ok - end if - end if - Kontext "Spellcheck" - if Spellcheck.Exists then Spellcheck.Close - '/// string in Undo-list has to be: "Replace: 'Testp' -> 'Test'") - Call CheckUndoStringInUndoList ( 10, "Autocheck/Spellcheck" ) + '/// Type "This is a testp" + Call wTypeKeys ( "" ) 'This is a testp + '/// Select word' testp' + Call wTypeKeys ( "" ) + '/// Tools / Spellcheck + ToolsSpellcheckWriter + Kontext "Spellcheck" + Suggestions.Select 1 + sReplace = Suggestions.GetSelText + '///Replace with 1st word in suggestion list + printlog "-> Replace with word: " & sReplace + Change.Click + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + Active.Ok + end if + end if + Kontext "Spellcheck" + if Spellcheck.Exists then Spellcheck.Close + '/// string in Undo-list has to be: "Replace: 'Testp' -> 'Test'") + Call CheckUndoStringInUndoList ( 10, "Autocheck/Spellcheck" ) '/// Uncheck 'Autospellcheck' in Toolbar /// ToolsSpellcheckAutoSpellcheck - printlog "- Spellcheck" - Call wTypeKeys ( "", 2 ) - '/// retype 'testp' - Call wTypeKeys ( "testp" ) - ToolsSpellcheckWriter - Kontext "Spellcheck" - ' Workaround: For some reasons sometimes dialog is disabled here - ' Only reproducable by testtool - try - Suggestions.Select 1 - catch - Spellcheck.Close - ToolsSpellcheckWriter - Kontext "Spellcheck" - Suggestions.Select 1 - endcatch - Change.Click - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - try - Active.No - catch - Active.Ok - endcatch - end if - end if - Kontext "Spellcheck" - if Spellcheck.Exists then Spellcheck.Close - - '/// string in Undo-list has to be: "Replace: 'Testp' -> 'Test'") - Call CheckUndoStringInUndoList ( 10, "Autocheck/Spellcheck" ) - - '/// close document + printlog "- Spellcheck" + Call wTypeKeys ( "", 2 ) + '/// retype 'testp' + Call wTypeKeys ( "testp" ) + ToolsSpellcheckWriter + Kontext "Spellcheck" + ' Workaround: For some reasons sometimes dialog is disabled here + ' Only reproducable by testtool + try + Suggestions.Select 1 + catch + Spellcheck.Close + ToolsSpellcheckWriter + Kontext "Spellcheck" + Suggestions.Select 1 + endcatch + Change.Click + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + try + Active.No + catch + Active.Ok + endcatch + end if + end if + Kontext "Spellcheck" + if Spellcheck.Exists then Spellcheck.Close + + '/// string in Undo-list has to be: "Replace: 'Testp' -> 'Test'") + Call CheckUndoStringInUndoList ( 10, "Autocheck/Spellcheck" ) + + '/// close document Call hCloseDocument endcase testcase tUndoFormControl - '/// Form Control (Insert/resize/move/replace/change property/delete) - printlog "- Form control (insert)" - '/// new document - Call hNewDocument - '/// Open 'Form' Toolbox /// - Call hToolbarSelect ("FormControls", true) - 'Formsbar.Move 20, 30 - '/// Insert a pushbutton from toolbox /// - Pushbutton.Click + '/// Form Control (Insert/resize/move/replace/change property/delete) + printlog "- Form control (insert)" + '/// new document + Call hNewDocument + '/// Open 'Form' Toolbox /// + Call hToolbarSelect ("FormControls", true) + 'Formsbar.Move 20, 30 + '/// Insert a pushbutton from toolbox /// + Pushbutton.Click Kontext "DocumentWriter" DocumentWriter.MouseDown ( 40, 50 ) DocumentWriter.MouseMove ( 50, 55 ) DocumentWriter.MouseUp ( 50, 55 ) Sleep 1 - '/// string in Undo-list has to be: "Insert control") - Call CheckUndoStringInUndoList ( 10, "ControlInsert" ) - - printlog "- Form control (move)" - '/// Press '' to move control - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Move control") - Call CheckUndoStringInUndoList ( 10, "ControlMove" ) - - printlog "- Form control (resize)" - '/// Press '' to enter handle selection mode - Call wTypeKeys ( "" ) - '/// Press '' to resize control - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Resize control") - Call CheckUndoStringInUndoList ( 10, "ControlResize" ) - - printlog "- Form control (replace)" - '/// Select 'Format->Replace with-> Text box' - FormatReplaceWithTextBox - wait 500 - '/// string in Undo-list has to be: "Replace control") - Call CheckUndoStringInUndoList ( 10, "ControlReplace" ) - - printlog "- Form control (change property)" - '/// Select 'Format->Control' and change name of control - FormatControl - Kontext "ControlPropertiesTabControl" + '/// string in Undo-list has to be: "Insert control") + Call CheckUndoStringInUndoList ( 10, "ControlInsert" ) + + printlog "- Form control (move)" + '/// Press '' to move control + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Move control") + Call CheckUndoStringInUndoList ( 10, "ControlMove" ) + + printlog "- Form control (resize)" + '/// Press '' to enter handle selection mode + Call wTypeKeys ( "" ) + '/// Press '' to resize control + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Resize control") + Call CheckUndoStringInUndoList ( 10, "ControlResize" ) + + printlog "- Form control (replace)" + '/// Select 'Format->Replace with-> Text box' + FormatReplaceWithTextBox + wait 500 + '/// string in Undo-list has to be: "Replace control") + Call CheckUndoStringInUndoList ( 10, "ControlReplace" ) + + printlog "- Form control (change property)" + '/// Select 'Format->Control' and change name of control + FormatControl + Kontext "ControlPropertiesTabControl" ControlPropertiesTabControl.setPage TabGeneralControl - Kontext "TabGeneralControl" - NameText.Settext "MyControl" + Kontext "TabGeneralControl" + NameText.Settext "MyControl" FormatControl - '/// string in Undo-list has to be: "Set property 'Name'") - Call CheckUndoStringInUndoList ( 10, "ControlChange" ) - - printlog "- Form control (delete)" - '/// Press '' to delete control - Call wTypeKeys ( "" ) - '/// string in Undo-list has to be: "Delete control") - Call CheckUndoStringInUndoList ( 10, "ControlDelete" ) - - '/// close document + '/// string in Undo-list has to be: "Set property 'Name'") + Call CheckUndoStringInUndoList ( 10, "ControlChange" ) + + printlog "- Form control (delete)" + '/// Press '' to delete control + Call wTypeKeys ( "" ) + '/// string in Undo-list has to be: "Delete control") + Call CheckUndoStringInUndoList ( 10, "ControlDelete" ) + + '/// close document Call hCloseDocument endcase @@ -423,73 +423,73 @@ testcase tUndoHeaderFooter QAErrorlog "#i56552#footer deletion cannot be undone" goto endsub - '/// Insert header - printlog "- Insert header" - '/// new Document - Call hNewDocument - '/// Insert / Header / Default - DocumentWriter.UseMenu - MenuSelect(Menugetitemid(4)) - Sleep 2 - MenuSelect(Menugetitemid(9)) - Sleep 2 - MenuSelect(Menugetitemid(1)) - Sleep 2 - '/// string in Undo-list has to be: "Header/footer changed") - Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) - - '/// Delete header - printlog "- Delete header" + '/// Insert header + printlog "- Insert header" + '/// new Document + Call hNewDocument + '/// Insert / Header / Default + DocumentWriter.UseMenu + MenuSelect(Menugetitemid(4)) + Sleep 2 + MenuSelect(Menugetitemid(9)) + Sleep 2 + MenuSelect(Menugetitemid(1)) + Sleep 2 + '/// string in Undo-list has to be: "Header/footer changed") + Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) + + '/// Delete header + printlog "- Delete header" Kontext "DocumentWriter" - DocumentWriter.UseMenu + DocumentWriter.UseMenu MenuSelect(Menugetitemid(4)) Sleep 2 MenuSelect(Menugetitemid(9)) Sleep 2 MenuSelect(Menugetitemid(1)) Sleep 2 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - Active.Yes - end if - end if - '/// string in Undo-list has to be: "Header/footer changed") - Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) - - '/// Insert footer - printlog "- Insert footer" - '/// Insert / Header / Default - Kontext "DocumentWriter" - DocumentWriter.UseMenu - MenuSelect(Menugetitemid(4)) - Sleep 2 - MenuSelect(Menugetitemid(10)) - Sleep 2 - MenuSelect(Menugetitemid(1)) - Sleep 2 - '/// string in Undo-list has to be: "Header/footer changed") - Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) - - '/// Delete footer - printlog "- Delete footer" + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + Active.Yes + end if + end if + '/// string in Undo-list has to be: "Header/footer changed") + Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) + + '/// Insert footer + printlog "- Insert footer" + '/// Insert / Header / Default Kontext "DocumentWriter" - DocumentWriter.UseMenu + DocumentWriter.UseMenu MenuSelect(Menugetitemid(4)) Sleep 2 MenuSelect(Menugetitemid(10)) Sleep 2 MenuSelect(Menugetitemid(1)) Sleep 2 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - Active.Yes - end if - end if - '/// string in Undo-list has to be: "Header/footer changed") - Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) - - '/// close document - Call hCloseDocument + '/// string in Undo-list has to be: "Header/footer changed") + Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) + + '/// Delete footer + printlog "- Delete footer" + Kontext "DocumentWriter" + DocumentWriter.UseMenu + MenuSelect(Menugetitemid(4)) + Sleep 2 + MenuSelect(Menugetitemid(10)) + Sleep 2 + MenuSelect(Menugetitemid(1)) + Sleep 2 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + Active.Yes + end if + end if + '/// string in Undo-list has to be: "Header/footer changed") + Call CheckUndoStringInUndoList ( 10, "Header/Footer" ) + + '/// close document + Call hCloseDocument endcase -- cgit From 13dd3059eefc5ed7f1ac883b9b060af28866e8e3 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 16:10:02 +0200 Subject: vitomation01: #i109562 - Fix broken loop --- .../writer/optional/includes/tools/tools1.inc | 57 ++++++++++++---------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/testautomation/writer/optional/includes/tools/tools1.inc b/testautomation/writer/optional/includes/tools/tools1.inc index d09800f98fa3..c187d34b39ac 100644 --- a/testautomation/writer/optional/includes/tools/tools1.inc +++ b/testautomation/writer/optional/includes/tools/tools1.inc @@ -68,35 +68,38 @@ function fFormatGraphic(Options as string) as boolean if ( hUseAsyncSlot( "FormatGraphics" ) <> -1 ) then - Kontext - if ( Active.exists( 2 ) ) then - Select case Options - case "TabType" : active.SetPage TabType - case "TabZusaetze" : active.SetPage TabZusaetze - case "TabUmlauf" : active.SetPage TabUmlauf - case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen - case "TabGrafik" : active.SetPage TabGrafik - case "TabZuschneiden" : active.SetPage TabZuschneiden - case "TabUmrandung" : active.SetPage TabUmrandung - case "TabHintergrund" : active.SetPage TabHintergrund - case "TabMakro" - active.SetPage TabMakro - ' if no JRE is installed a messagebox appears - Do - j = j + 1 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - if j = 1 then Warnlog Active.Gettext - Active.Ok + Kontext + if ( Active.exists( 2 ) ) then + Select case Options + case "TabType" : active.SetPage TabType + case "TabZusaetze" : active.SetPage TabZusaetze + case "TabUmlauf" : active.SetPage TabUmlauf + case "TabHyperlinkRahmen" : active.SetPage TabHyperlinkRahmen + case "TabGrafik" : active.SetPage TabGrafik + case "TabZuschneiden" : active.SetPage TabZuschneiden + case "TabUmrandung" : active.SetPage TabUmrandung + case "TabHintergrund" : active.SetPage TabHintergrund + case "TabMakro" + active.SetPage TabMakro + ' if no JRE is installed a messagebox appears + Do + j = j + 1 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + if j = 1 then Warnlog Active.Gettext + Active.Ok + else + exit do + end if else exit do end if - else - exit do - end if - Loop - end select + Loop + end select + else + warnlog( "Failed to access Tabpage" ) + endif else warnlog( "Failed to execute " ) endif @@ -248,6 +251,8 @@ function fFormatStylesCatalog(Options as string) case "Numbering" : Vorlagen.Select 5 end Select + Kontext Options + end function -- cgit From 1ab26b208e07f2348ccf55d12de9648b8c6594a2 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 28 May 2010 16:38:36 +0200 Subject: dr76: build error after rebase --- oox/inc/oox/vml/vmlformatting.hxx | 2 ++ oox/source/ole/vbacontrol.cxx | 6 +++--- oox/source/vml/vmlformatting.cxx | 3 ++- oox/source/vml/vmlshape.cxx | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/oox/inc/oox/vml/vmlformatting.hxx b/oox/inc/oox/vml/vmlformatting.hxx index db67d7a85af4..6b970e5b80cc 100644 --- a/oox/inc/oox/vml/vmlformatting.hxx +++ b/oox/inc/oox/vml/vmlformatting.hxx @@ -34,6 +34,7 @@ namespace oox { class GraphicHelper; class ModelObjectHelper; class PropertyMap; + namespace core { class FilterBase; } } namespace oox { @@ -177,6 +178,7 @@ struct FillModel /** Writes the properties to the passed property map. */ void pushToPropMap( PropertyMap& rPropMap, + ::oox::core::FilterBase& rFilter, ModelObjectHelper& rModelObjectHelper, const GraphicHelper& rGraphicHelper ) const; }; diff --git a/oox/source/ole/vbacontrol.cxx b/oox/source/ole/vbacontrol.cxx index b43e8289a592..8524cf0ef828 100755 --- a/oox/source/ole/vbacontrol.cxx +++ b/oox/source/ole/vbacontrol.cxx @@ -198,9 +198,9 @@ void VbaSiteModel::importProperty( sal_Int32 nPropId, const OUString& rValue ) { switch( nPropId ) { - case XML_Name: maName = rValue; break; - case XML_Tag: maTag = rValue; break; - case XML_VariousPropertyBits: mnFlags = AttributeList::decodeUnsigned( rValue ); break; + case XML_Name: maName = rValue; break; + case XML_Tag: maTag = rValue; break; + case XML_VariousPropertyBits: mnFlags = AttributeConversion::decodeUnsigned( rValue ); break; } } diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 25b76e226713..3b832d9daf12 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -31,6 +31,7 @@ #include "oox/token/tokenmap.hxx" #include "oox/helper/graphichelper.hxx" #include "oox/helper/propertymap.hxx" +#include "oox/core/filterbase.hxx" #include "oox/drawingml/color.hxx" #include "oox/drawingml/drawingmltypes.hxx" #include "oox/drawingml/fillproperties.hxx" @@ -474,7 +475,7 @@ void FillModel::assignUsed( const FillModel& rSource ) moRotate.assignIfUsed( rSource.moRotate ); } -void FillModel::pushToPropMap( PropertyMap& rPropMap, +void FillModel::pushToPropMap( PropertyMap& rPropMap, ::oox::core::FilterBase& rFilter, ModelObjectHelper& rModelObjectHelper, const GraphicHelper& rGraphicHelper ) const { /* Convert VML fill formatting to DrawingML fill formatting and let the diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 3dc53e4ce909..9bca05d69b24 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -317,7 +317,7 @@ void ShapeBase::convertShapeProperties( const Reference< XShape >& rxShape ) con PropertyMap aPropMap; maTypeModel.maStrokeModel.pushToPropMap( aPropMap, rModelObjectHelper, rGraphicHelper ); - maTypeModel.maFillModel.pushToPropMap( aPropMap, rModelObjectHelper, rGraphicHelper ); + maTypeModel.maFillModel.pushToPropMap( aPropMap, mrDrawing.getFilter(), rModelObjectHelper, rGraphicHelper ); PropertySet aPropSet( rxShape ); aPropSet.setProperties( aPropMap ); -- cgit From 4f6da956c1f0328d20a4067edf7b075944273ac7 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 16:43:23 +0200 Subject: vitomation01: #i109562 - Disabled every single HangulHanya conversion test as most of them are broken and - in many cases - need a rewrite --- .../global/tools/includes/required/t_doc2.inc | 4 +- .../hangulhanjaonversion/hhConversion1.inc | 67 ++++++++-- .../hangulhanjaonversion/hhConversion2.inc | 140 ++++++++++++++++----- .../hangulhanjaonversion/hhConversion3.inc | 66 +++++++--- 4 files changed, 218 insertions(+), 59 deletions(-) mode change 100644 => 100755 testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion3.inc diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 6093709dafe1..31a00f1d2222 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -127,9 +127,9 @@ function hEnableDocumentEditMode() as boolean Bearbeiten.click() kontext "Active" - if ( Active.exists( 2 ) ) then + if ( Active.exists( 1 ) ) then printlog( "Messagebox: " & Active.getText() ) - hCloseDialog( Active, "yes" ) + Active.yes() endif kontext "Standardbar" diff --git a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion1.inc b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion1.inc index e58a4a2a94da..33b20cf3c910 100755 --- a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion1.inc +++ b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion1.inc @@ -47,6 +47,9 @@ testcase tHHNoSelction_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -65,13 +68,14 @@ testcase tHHNoSelction_1 '/// Open a test file , which includes some Korean characters '/// + and some Chinese characters Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus before the 3rd character Call wTypeKeys "" Call wTypeKeys "" '/// Tools / HangulHanjaConversion - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" '/// Press Peplace button @@ -112,6 +116,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_2 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -131,12 +138,13 @@ testcase tHHNoSelction_2 '/// + Germany , French , Korean and Chinese characters '/// + (Korean is before Chinese) Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the beginning Call wTypeKeys "" '/// Tools / HangulHanjaConversion - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" '/// Press Peplace button @@ -166,6 +174,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_3 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -185,12 +196,13 @@ testcase tHHNoSelction_3 '/// + Germany , French , Korean and Chinese characters '/// + (Chinese is before Korean) Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the beginning Call wTypeKeys "" '/// Tools / HangulHanjaConversion - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" '/// Press Peplace button @@ -221,6 +233,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_4 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -236,13 +251,14 @@ testcase tHHNoSelction_4 '/// + Germany , French characters . '/// + There are no Chinese and Korean Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the beginning Call wTypeKeys "" '/// Tools / HangulHanjaConversion , '/// + nothing should happen - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if HangulHanjaConversion.Exists then @@ -257,6 +273,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_5 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -273,12 +292,13 @@ testcase tHHNoSelction_5 '/// Open a test file , which includes some Chinese and Korean Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the end of the file Call wTypeKeys "" '/// Tools / HangulHanjaConversion , - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" Sleep 1 if Word.GetText <> sResult then @@ -293,6 +313,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_6 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -311,6 +334,7 @@ testcase tHHNoSelction_6 '/// Open a test file , which includes some Chinese and Korean, '/// + the 3rd character in 1st line isn't convertible Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the 3rd character (korean) Call wTypeKeys "" @@ -319,7 +343,7 @@ testcase tHHNoSelction_6 '/// Tools / HangulHanjaConversion , Replace and Always Replace '/// + should be disabled , "suggestion" should be empty . '/// + Press Ignore button will jump to the next convertible Hangul/Hanja character - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if Suggestions.GetItemCount <> 0 then Warnlog "Suggestion should be empty !" @@ -354,6 +378,9 @@ endcase '----------------------------------------------------------------- testcase tHHNoSelction_7 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -372,6 +399,7 @@ testcase tHHNoSelction_7 '/// Open a test file , which includes some Chinese and Korean, '/// + the 3rd character in 2nd line isn't convertible Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Set focus to the 3rd chinese character Call wTypeKeys "" @@ -382,7 +410,7 @@ testcase tHHNoSelction_7 '/// Tools / HangulHanjaConversion , Replace and Always Replace '/// + should be disabled , "suggestion" should be empty . '/// + Press Ignore button will jump to the next convertible Hangul/Hanja character - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if Suggestions.GetItemCount <> 0 then Warnlog "Suggestion should be empty !" @@ -417,6 +445,9 @@ endcase '----------------------------------------------------------------- testcase tHHSingleSelction_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -436,6 +467,7 @@ testcase tHHSingleSelction_1 '/// Open a test file , which includes some Chinese and Korean Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Select from 4th to 7th character Call wTypeKeys "" @@ -444,7 +476,7 @@ testcase tHHSingleSelction_1 '/// Tools / HangulHanjaConversion , '/// + Press Peplace button - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if ReplaceBtn.IsEnabled then ReplaceBtn.Click @@ -475,6 +507,9 @@ endcase '---------------------------------------------------------------- testcase tHHMultiSelction_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -493,13 +528,14 @@ testcase tHHMultiSelction_1 '/// Open a test file , which includes some Korean chacters Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Do a multi Selectiong to the charcters -- 입력 Call fFindWord(sMultiWord) '/// Tools / HangulHanjaConversion , '/// + Press Peplace button - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" ReplaceBtn.Click Sleep 1 @@ -522,6 +558,9 @@ endcase '---------------------------------------------------------------- testcase tHHTextBox_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -535,6 +574,7 @@ testcase tHHTextBox_1 '/// Open a test file , which includes a text box and '/// + some Korean chacters in the text box Call hFileOpen(sTestFile) + sMakeReadOnlyDocumentEditable() '/// Tools / HangulHanjaConversion , the below 4 checkboxes ralated '/// + ruby should be disabled . @@ -543,7 +583,7 @@ testcase tHHTextBox_1 '/// -> 'Hangul As Ruby Above Hanja' '/// -> 'Hangul As Ruby Below Hanja' try - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if NOT HangulHanjaConversion.Exists then Warnlog "Hangul/Hanja Conversion dialogue isn't poped up !" @@ -590,6 +630,9 @@ endcase '---------------------------------------------------------------- testcase tHHDrawBox_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -603,7 +646,7 @@ testcase tHHDrawBox_1 '/// Open a test file , which includes a draw box and '/// + some Korean chacters in the text box Call hFileOpen(sTestFile) - + sMakeReadOnlyDocumentEditable() '/// Tools / HangulHanjaConversion , the below 4 checkboxes ralated '/// + ruby should be disabled . '/// -> 'Hanja As Ruby Above Hangul' @@ -611,7 +654,7 @@ testcase tHHDrawBox_1 '/// -> 'Hangul As Ruby Above Hanja' '/// -> 'Hangul As Ruby Below Hanja' try - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" if NOT HangulHanjaConversion.Exists then Warnlog "Hangul/Hanja Conversion dialogue isn't poped up !" diff --git a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion2.inc b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion2.inc index 2d57bfc19d7e..5b9fc83f58de 100755 --- a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion2.inc +++ b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion2.inc @@ -61,6 +61,9 @@ '\*********************************************************************** testcase tHHConversion_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -77,12 +80,12 @@ testcase tHHConversion_1 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , '/// + Press Peplace button - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" For i = 1 to 15 if NOT HangulHanjaConversion.Exists then @@ -108,6 +111,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_2 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -123,7 +129,7 @@ testcase tHHConversion_2 '/// Open a test file , which includes some '/// + Chinese character and Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check hanja only . @@ -155,6 +161,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_3 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -171,7 +180,7 @@ testcase tHHConversion_3 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check Hanja(Hangul) @@ -204,6 +213,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_4 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -220,7 +232,7 @@ testcase tHHConversion_4 '/// Open a test file , which includes some '/// + Chinese character and Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check Hanja(Hangul). @@ -253,6 +265,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_5 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -269,7 +284,7 @@ testcase tHHConversion_5 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check Hangul(Hanja) , @@ -302,6 +317,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_6 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -319,7 +337,7 @@ testcase tHHConversion_6 '/// Open a test file , which includes some '/// + Chinese character and Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check Hangul(Hanja), @@ -352,6 +370,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_7 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -369,7 +390,7 @@ testcase tHHConversion_7 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hanja As Ruby Above Hangul' , @@ -409,6 +430,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_8 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -426,7 +450,7 @@ testcase tHHConversion_8 Call hNewDocument '/// Open a test file , which includes some Chinese chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hanja As Ruby Above Hangul' , @@ -466,6 +490,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_9 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -483,7 +510,7 @@ testcase tHHConversion_9 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hanja As Ruby Below Hangul' , @@ -523,6 +550,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_10 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -540,7 +570,7 @@ testcase tHHConversion_10 Call hNewDocument '/// Open a test file , which includes some Chinese chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hanja As Ruby Below Hangul' , @@ -580,6 +610,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_11 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -597,7 +630,7 @@ testcase tHHConversion_11 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hangul As Ruby Above Hanja' , @@ -637,6 +670,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_12 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -654,7 +690,7 @@ testcase tHHConversion_12 Call hNewDocument '/// Open a test file , which includes some Chinese chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hangul As Ruby Above Hanja' , @@ -694,6 +730,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_13 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -711,7 +750,7 @@ testcase tHHConversion_13 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hangul As Ruby Below Hanja' , @@ -751,6 +790,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_14 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sHangulText , sHanjaText as String @@ -768,7 +810,7 @@ testcase tHHConversion_14 Call hNewDocument '/// Open a test file , which includes some Chinese chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , check 'Hangul As Ruby Below Hanja' , @@ -808,6 +850,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_15 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -820,7 +865,7 @@ testcase tHHConversion_15 '/// Open a test file , which includes some Korean chacters . '/// + Set focus before Korean character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , @@ -853,6 +898,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_16 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -865,7 +913,7 @@ testcase tHHConversion_16 '/// Open a test file , which includes some Chinese chacters . '/// + Set focus before Chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , @@ -898,6 +946,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_17 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult , sWord as String @@ -913,7 +964,7 @@ testcase tHHConversion_17 Call hNewDocument '/// Open a test file , which includes some Korean chacters . - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , press Ignore , @@ -943,6 +994,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_18 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -961,7 +1015,7 @@ testcase tHHConversion_18 '/// Open a test file , which includes some Chinese chacters =>. '/// + 山下 上山下乡 山下 - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , press Always Ignore , @@ -992,7 +1046,7 @@ testcase tHHConversion_18 '/// So far , there is still a StarOffice session exists . '/// Reopen the test file - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , @@ -1026,6 +1080,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_19 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sWord as String @@ -1040,7 +1097,7 @@ testcase tHHConversion_19 '/// Open a test file , which includes some Chinese chacters =>. '/// + 山下 上山下乡 山下 - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , press Always Ignore , @@ -1063,7 +1120,7 @@ testcase tHHConversion_19 Call hNewDocument '/// Reopen the test file - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , 山下 should be selcted @@ -1081,6 +1138,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_20 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sWord as String @@ -1099,7 +1159,7 @@ testcase tHHConversion_20 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , select a word in selection @@ -1140,6 +1200,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_21 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sWord1 as String @@ -1162,7 +1225,7 @@ testcase tHHConversion_21 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , select a word in selection, @@ -1204,7 +1267,7 @@ testcase tHHConversion_21 Call hNewDocument '/// Reopen this test file - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion @@ -1241,6 +1304,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_22 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim i as Integer @@ -1255,7 +1321,7 @@ testcase tHHConversion_22 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , select a word in selection, @@ -1284,7 +1350,7 @@ testcase tHHConversion_22 Call hStartTheOffice Call hNewDocument '/// Reopen this test file - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion @@ -1303,6 +1369,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_23 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sWord as String @@ -1320,7 +1389,7 @@ testcase tHHConversion_23 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , select a word in selection, @@ -1367,6 +1436,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_24 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -1382,7 +1454,7 @@ testcase tHHConversion_24 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , the default for 'Replace by character' @@ -1417,6 +1489,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_25 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sResult as String @@ -1434,7 +1509,7 @@ testcase tHHConversion_25 '/// Open a test file , which includes some Chinese chacters =>. '/// + 山下 上山下乡 山下 - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Check 'Replace by character' , @@ -1477,6 +1552,9 @@ endcase '----------------------------------------------------------------- testcase tHHConversion_26 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sWord as String @@ -1495,7 +1573,7 @@ testcase tHHConversion_26 Call hNewDocument '/// Open a test file , which includes some Korean chacters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Check 'Replace by character' , diff --git a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion3.inc b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion3.inc old mode 100644 new mode 100755 index 947cb2e5e2c3..3ade639fd26d --- a/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion3.inc +++ b/testautomation/writer/optional/includes/hangulhanjaonversion/hhConversion3.inc @@ -47,6 +47,9 @@ '\*********************************************************************** testcase tHHOptions_1 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String @@ -59,12 +62,13 @@ testcase tHHOptions_1 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() + Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , '/// + there should be no entries in User defined dictionaries - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion : WaitSlot Kontext "HangulHanjaConversion" Options.Click @@ -84,6 +88,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_2 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName1 as String @@ -100,14 +107,14 @@ testcase tHHOptions_2 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , '/// + then press new button , enter 1 new dictionar name , '/// + close the new dictionary dialog , and add another new '/// + dictionary name - ToolsLanguageHangulHanjaConversion + ToolsLanguageHangulHanjaConversion: WaitSlot Kontext "HangulHanjaConversion" Options.Click @@ -165,6 +172,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_3 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -179,7 +189,7 @@ testcase tHHOptions_3 '/// Open a test file , which includes some '/// + Korean chacters and chinese characters - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -226,6 +236,10 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_4 +warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + + Dim sTestFile as String Dim sDictionaryName as String @@ -240,7 +254,7 @@ testcase tHHOptions_4 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -288,6 +302,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_5 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName1 as String @@ -304,7 +321,7 @@ testcase tHHOptions_5 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -355,6 +372,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_6 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -376,7 +396,7 @@ testcase tHHOptions_6 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -463,6 +483,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_7 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -484,7 +507,7 @@ testcase tHHOptions_7 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -570,6 +593,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_8 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -589,7 +615,7 @@ testcase tHHOptions_8 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -659,6 +685,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_9 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -676,7 +705,7 @@ testcase tHHOptions_9 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -742,6 +771,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_10 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -759,7 +791,7 @@ testcase tHHOptions_10 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -827,6 +859,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_11 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -844,7 +879,7 @@ testcase tHHOptions_11 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , @@ -907,6 +942,9 @@ endcase '----------------------------------------------------------------- testcase tHHOptions_12 + warnlog( "#i111911# - Test is broken beyond repait, please rewrite" ) + goto endsub + Dim sTestFile as String Dim sDictionaryName as String @@ -924,7 +962,7 @@ testcase tHHOptions_12 '/// Open a test file , which includes some '/// + Korean chacters and chinese character - Call hFileOpen(sTestFile) + Call hFileOpen(sTestFile) : sMakeReadOnlyDocumentEditable() Call wTypeKeys "" '/// Tools / HangulHanjaConversion , Press Options button , -- cgit From 776d5631f5089f94cbe87b6f869f7887aeff2092 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 28 May 2010 17:50:38 +0200 Subject: jl152 #i77196# new update behavior for extensions --- desktop/source/deployment/gui/dp_gui_dialog2.cxx | 27 +- .../deployment/gui/dp_gui_extensioncmdqueue.cxx | 22 +- .../deployment/gui/dp_gui_extensioncmdqueue.hxx | 3 +- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 19 +- desktop/source/deployment/gui/dp_gui_theextmgr.hxx | 3 +- .../source/deployment/gui/dp_gui_updatedata.hxx | 35 ++- .../source/deployment/gui/dp_gui_updatedialog.cxx | 331 ++++++++++++++------- .../source/deployment/gui/dp_gui_updatedialog.hxx | 20 +- .../source/deployment/gui/dp_gui_updatedialog.src | 12 - .../deployment/gui/dp_gui_updateinstalldialog.cxx | 43 ++- desktop/source/deployment/inc/dp_misc.h | 46 +++ .../deployment/manager/dp_extensionmanager.cxx | 77 ++++- .../deployment/manager/dp_extensionmanager.hxx | 15 +- .../source/deployment/manager/dp_properties.cxx | 44 ++- .../source/deployment/manager/dp_properties.hxx | 5 + desktop/source/deployment/misc/dp_misc.cxx | 142 +++++++++ 16 files changed, 635 insertions(+), 209 deletions(-) diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx index 086e39e5f18c..35634d5ef851 100644 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -38,6 +38,7 @@ #include "dp_gui_shared.hxx" #include "dp_gui_theextmgr.hxx" #include "dp_misc.h" +#include "dp_identifier.hxx" #include "vcl/ctrl.hxx" #include "vcl/menu.hxx" @@ -105,15 +106,6 @@ struct StrAllFiles : public rtl::StaticWithInit< const OUString, StrAllFiles > } }; -//------------------------------------------------------------------------------ -UpdateListEntry::UpdateListEntry( const uno::Reference< deployment::XPackage > &xPackage ) : - m_xPackage( xPackage ) -{} - -//------------------------------------------------------------------------------ -UpdateListEntry::~UpdateListEntry() -{} - //------------------------------------------------------------------------------ // ExtBoxWithBtns_Impl //------------------------------------------------------------------------------ @@ -849,9 +841,15 @@ bool ExtMgrDialog::updatePackage( const uno::Reference< deployment::XPackage > & if ( !xPackage.is() ) return false; - std::vector< TUpdateListEntry > vEntries; - TUpdateListEntry pEntry( new UpdateListEntry( xPackage ) ); - vEntries.push_back( pEntry ); + // get the extension with highest version + uno::Sequence > seqExtensions = + m_pManager->getExtensionManager()->getExtensionsWithSameIdentifier( + dp_misc::getIdentifier(xPackage), xPackage->getName(), uno::Reference()); + uno::Reference extension = + dp_misc::getExtensionWithHighestVersion(seqExtensions); + OSL_ASSERT(extension.is()); + std::vector< css::uno::Reference< css::deployment::XPackage > > vEntries; + vEntries.push_back(extension); m_pManager->updatePackages( vEntries ); @@ -1453,14 +1451,13 @@ IMPL_LINK( UpdateRequiredDialog, HandleUpdateBtn, void*, EMPTYARG ) { ::osl::ClearableMutexGuard aGuard( m_aMutex ); - std::vector< TUpdateListEntry > vUpdateEntries; + std::vector< uno::Reference< deployment::XPackage > > vUpdateEntries; sal_Int32 nCount = m_pExtensionBox->GetEntryCount(); for ( sal_Int32 i = 0; i < nCount; ++i ) { TEntry_Impl pEntry = m_pExtensionBox->GetEntryData( i ); - TUpdateListEntry pUpdateEntry( new UpdateListEntry( pEntry->m_xPackage ) ); - vUpdateEntries.push_back( pUpdateEntry ); + vUpdateEntries.push_back( pEntry->m_xPackage ); } aGuard.clear(); diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 8d82d969c4a0..954f32f4c9c6 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -202,7 +202,7 @@ struct ExtensionCmd OUString m_sExtensionURL; OUString m_sRepository; uno::Reference< deployment::XPackage > m_xPackage; - std::vector< TUpdateListEntry > m_vExtensionList; + std::vector< uno::Reference< deployment::XPackage > > m_vExtensionList; ExtensionCmd( const E_CMD_TYPE eCommand, const OUString &rExtensionURL, @@ -218,7 +218,7 @@ struct ExtensionCmd m_bWarnUser( false ), m_xPackage( rPackage ) {}; ExtensionCmd( const E_CMD_TYPE eCommand, - const std::vector< TUpdateListEntry > &vExtensionList ) + const std::vector > &vExtensionList ) : m_eCmdType( eCommand ), m_bWarnUser( false ), m_vExtensionList( vExtensionList ) {}; @@ -240,7 +240,7 @@ public: void removeExtension( const uno::Reference< deployment::XPackage > &rPackage ); void enableExtension( const uno::Reference< deployment::XPackage > &rPackage, const bool bEnable ); - void checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ); + void checkForUpdates( const std::vector > &vExtensionList ); void stop(); bool isBusy(); @@ -266,7 +266,7 @@ private: const uno::Reference< deployment::XPackage > &xPackage ); void _disableExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, const uno::Reference< deployment::XPackage > &xPackage ); - void _checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ); + void _checkForUpdates( const std::vector > &vExtensionList ); enum Input { NONE, START, STOP }; @@ -696,7 +696,8 @@ void ExtensionCmdQueue::Thread::enableExtension( const uno::Reference< deploymen } //------------------------------------------------------------------------------ -void ExtensionCmdQueue::Thread::checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ) +void ExtensionCmdQueue::Thread::checkForUpdates( + const std::vector > &vExtensionList ) { ::osl::MutexGuard aGuard( m_mutex ); @@ -924,10 +925,8 @@ void ExtensionCmdQueue::Thread::_addExtension( ::rtl::Reference< ProgressCmdEnv try { - uno::Reference< deployment::XPackage > xPackage( - xExtMgr->addExtension(rPackageURL, uno::Sequence(), - rRepository, xAbortChannel, rCmdEnv.get() ) ); - OSL_ASSERT( xPackage.is() ); + xExtMgr->addExtension(rPackageURL, uno::Sequence(), + rRepository, xAbortChannel, rCmdEnv.get() ); } catch ( ucb::CommandFailedException & ) { @@ -969,7 +968,8 @@ void ExtensionCmdQueue::Thread::_removeExtension( ::rtl::Reference< ProgressCmdE } //------------------------------------------------------------------------------ -void ExtensionCmdQueue::Thread::_checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ) +void ExtensionCmdQueue::Thread::_checkForUpdates( + const std::vector > &vExtensionList ) { UpdateDialog* pUpdateDialog; std::vector< UpdateData > vData; @@ -1126,7 +1126,7 @@ void ExtensionCmdQueue::enableExtension( const uno::Reference< deployment::XPack m_thread->enableExtension( rPackage, bEnable ); } -void ExtensionCmdQueue::checkForUpdates( const std::vector< TUpdateListEntry > &vExtensionList ) +void ExtensionCmdQueue::checkForUpdates( const std::vector > &vExtensionList ) { m_thread->checkForUpdates( vExtensionList ); } diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx index 69ad7da24769..cfadad84cedc 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx @@ -83,7 +83,8 @@ public: void removeExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage ); void enableExtension( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage, const bool bEnable ); - void checkForUpdates( const std::vector< TUpdateListEntry > &vList ); + void checkForUpdates(const std::vector< ::com::sun::star::uno::Reference< + ::com::sun::star::deployment::XPackage > > &vList ); /** This call does not block. It signals the internal thread that it should install the remaining extensions and then terminate. diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index 7c81517bbbfa..fdbc1974f61c 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -201,7 +201,7 @@ bool TheExtensionManager::isVisible() //------------------------------------------------------------------------------ bool TheExtensionManager::checkUpdates( bool /* bShowUpdateOnly */, bool /*bParentVisible*/ ) { - std::vector< TUpdateListEntry > vEntries; + std::vector< uno::Reference< deployment::XPackage > > vEntries; uno::Sequence< uno::Sequence< uno::Reference< deployment::XPackage > > > xAllPackages; try { @@ -219,17 +219,11 @@ bool TheExtensionManager::checkUpdates( bool /* bShowUpdateOnly */, bool /*bPare for ( sal_Int32 i = 0; i < xAllPackages.getLength(); ++i ) { - uno::Sequence< uno::Reference< deployment::XPackage > > xPackageList = xAllPackages[i]; - - // we don't want update notifications for bundled packages - for ( sal_Int32 j = 0; ( j < 2 ) && ( j < xPackageList.getLength() ); ++j ) + uno::Reference< deployment::XPackage > xPackage = dp_misc::getExtensionWithHighestVersion(xAllPackages[i]); + OSL_ASSERT(xPackage.is()); + if ( xPackage.is() ) { - uno::Reference< deployment::XPackage > xPackage = xPackageList[j]; - if ( xPackage.is() ) - { - TUpdateListEntry pEntry( new UpdateListEntry( xPackage ) ); - vEntries.push_back( pEntry ); - } + vEntries.push_back( xPackage ); } } @@ -255,7 +249,8 @@ bool TheExtensionManager::removePackage( const uno::Reference< deployment::XPack } //------------------------------------------------------------------------------ -bool TheExtensionManager::updatePackages( const std::vector< TUpdateListEntry > &vList ) +bool TheExtensionManager::updatePackages( + const std::vector< uno::Reference< deployment::XPackage > > &vList ) { m_pExecuteCmdQueue->checkForUpdates( vList ); diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx index 02e3aad56915..da8d3c083f42 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx @@ -92,7 +92,8 @@ public: //----------------- bool checkUpdates( bool showUpdateOnly, bool parentVisible ); - bool updatePackages( const std::vector< TUpdateListEntry > &vList ); + bool updatePackages( const std::vector< ::com::sun::star::uno::Reference< + ::com::sun::star::deployment::XPackage > > &vList ); bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); diff --git a/desktop/source/deployment/gui/dp_gui_updatedata.hxx b/desktop/source/deployment/gui/dp_gui_updatedata.hxx index 2082b92e923a..7228982da518 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedata.hxx +++ b/desktop/source/deployment/gui/dp_gui_updatedata.hxx @@ -44,27 +44,42 @@ namespace com { namespace sun { namespace star { namespace xml { namespace dom { namespace dp_gui { -struct UpdateListEntry +struct UpdateData { - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> m_xPackage; + UpdateData( ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > const & aExt): + aInstalledPackage(aExt), bIsShared(false) {}; - UpdateListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); - ~UpdateListEntry(); -}; + //When entries added to the listbox then there can be one for the user update and one + //for the shared update. However, both list entries will contain the same UpdateData. + //isShared is used to indicate which one is used for the shared entry. + bool bIsShared; -typedef ::boost::shared_ptr< UpdateListEntry > TUpdateListEntry; + //The currently installed extension which is going to be updated. If the extension exist in + //multiple repositories then it is the one with the highest version. + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > aInstalledPackage; + //The version of the update + ::rtl::OUString updateVersion; -struct UpdateData -{ - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > aInstalledPackage; - // The content of the update information + //For online update + // ====================== + // The content of the update information. + //Only if aUpdateInfo is set then there is an online update available with a better version + //than any of the currently installed extensions with the same identifier. ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > aUpdateInfo; //The URL of the locally downloaded extension. It will only be set if there were no errors //during the download ::rtl::OUString sLocalURL; //The URL of the website wher the download can be obtained. ::rtl::OUString sWebsiteURL; + + //For local update + //===================== + //The locale extension which is used as update for the user or shared repository. + //If set then the data for the online update (aUpdateInfo, sLocalURL, sWebsiteURL) + //are to be ignored. + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > + aUpdateSource; }; } diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx index fca7d97c798a..d121ad976a06 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx @@ -151,7 +151,6 @@ rtl::OUString confineToParagraph(rtl::OUString const & text) { struct UpdateDialog::DisabledUpdate { rtl::OUString name; css::uno::Sequence< rtl::OUString > unsatisfiedDependencies; - bool permission; // We also want to show release notes and publisher for disabled updates ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > aUpdateInfo; }; @@ -230,7 +229,7 @@ public: Thread( css::uno::Reference< css::uno::XComponentContext > const & context, UpdateDialog & dialog, - const std::vector< TUpdateListEntry > &vExtensionList); + const std::vector< css::uno::Reference< css::deployment::XPackage > > & vExtensionList); void stop(); @@ -245,10 +244,16 @@ private: css::uno::Reference< css::deployment::XPackage > package; rtl::OUString version; + //Indicates that the extension provides its own update URLs. + //If this is true, then we must not use the default update + //URL to find the update information. + bool bProvidesOwnUpdate; css::uno::Reference< css::xml::dom::XNode > info; + UpdateDialog::DisabledUpdate disableUpdate; + dp_gui::UpdateData updateData; }; - // A multimap in case an extension is installed in both "user" and "shared": + // A multimap in case an extension is installed in "user", "shared" or "bundled" typedef std::multimap< rtl::OUString, Entry > Map; virtual ~Thread(); @@ -267,17 +272,26 @@ private: css::uno::Sequence< rtl::OUString > const & urls, rtl::OUString const & identifier) const; - void handle( + void getOwnUpdateInformation( css::uno::Reference< css::deployment::XPackage > const & package, Map * map); + ::rtl::OUString getUpdateDisplayString( + dp_gui::UpdateData const & data, ::rtl::OUString const & version = ::rtl::OUString()) const; + + void prepareUpdateData( + ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > const & package, + ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > const & updateInfo, + UpdateDialog::DisabledUpdate & out_du, + dp_gui::UpdateData & out_data) const; + bool update( - css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::xml::dom::XNode > const & updateInfo) const; + UpdateDialog::DisabledUpdate const & du, + dp_gui::UpdateData const & data) const; css::uno::Reference< css::uno::XComponentContext > m_context; UpdateDialog & m_dialog; - std::vector< dp_gui::TUpdateListEntry > m_vExtensionList; + std::vector< css::uno::Reference< css::deployment::XPackage > > m_vExtensionList; css::uno::Reference< css::deployment::XUpdateInformationProvider > m_updateInformation; css::uno::Reference< css::task::XInteractionHandler > m_xInteractionHdl; @@ -289,7 +303,7 @@ private: UpdateDialog::Thread::Thread( css::uno::Reference< css::uno::XComponentContext > const & context, UpdateDialog & dialog, - const std::vector< dp_gui::TUpdateListEntry > &vExtensionList): + const std::vector< css::uno::Reference< css::deployment::XPackage > > &vExtensionList): m_context(context), m_dialog(dialog), m_vExtensionList(vExtensionList), @@ -328,9 +342,13 @@ void UpdateDialog::Thread::stop() { UpdateDialog::Thread::Entry::Entry( css::uno::Reference< css::deployment::XPackage > const & thePackage, rtl::OUString const & theVersion): + package(thePackage), - version(theVersion) -{} + version(theVersion), + bProvidesOwnUpdate(false), + updateData(thePackage) +{ +} UpdateDialog::Thread::~Thread() { @@ -343,10 +361,10 @@ void UpdateDialog::Thread::execute() OSL_ASSERT( ! m_vExtensionList.empty() ); Map map; - typedef std::vector< TUpdateListEntry >::const_iterator ITER; + typedef std::vector< css::uno::Reference< css::deployment::XPackage > >::const_iterator ITER; for ( ITER iIndex = m_vExtensionList.begin(); iIndex < m_vExtensionList.end(); ++iIndex ) { - css::uno::Reference< css::deployment::XPackage > p = (*iIndex)->m_xPackage; + css::uno::Reference< css::deployment::XPackage > p = *iIndex; if ( p.is() ) { { @@ -355,47 +373,113 @@ void UpdateDialog::Thread::execute() return; } } - handle( p, &map ); + getOwnUpdateInformation( p, &map ); } } - if (!map.empty()) { - const rtl::OUString sDefaultURL(dp_misc::getExtensionDefaultUpdateURL()); - if (sDefaultURL.getLength()) - { - css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > - infos( - getUpdateInformation( - css::uno::Reference< css::deployment::XPackage >(), - css::uno::Sequence< rtl::OUString >(&sDefaultURL, 1), rtl::OUString())); - for (sal_Int32 i = 0; i < infos.getLength(); ++i) { - css::uno::Reference< css::xml::dom::XNode > node( - infos[i], css::uno::UNO_QUERY_THROW); - dp_misc::DescriptionInfoset infoset(m_context, node); - boost::optional< rtl::OUString > id(infoset.getIdentifier()); - if (!id) { - continue; - } - Map::iterator end(map.upper_bound(*id)); - for (Map::iterator j(map.lower_bound(*id)); j != end; ++j) { - rtl::OUString v(infoset.getVersion()); - if (dp_misc::compareVersions(v, j->second.version) == - dp_misc::GREATER) - { - j->second.version = v; - j->second.info = node; - } - } + const rtl::OUString sDefaultURL(dp_misc::getExtensionDefaultUpdateURL()); + if (sDefaultURL.getLength()) + { + css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > + infos( + getUpdateInformation( + css::uno::Reference< css::deployment::XPackage >(), + css::uno::Sequence< rtl::OUString >(&sDefaultURL, 1), rtl::OUString())); + for (sal_Int32 i = 0; i < infos.getLength(); ++i) { + css::uno::Reference< css::xml::dom::XNode > node( + infos[i], css::uno::UNO_QUERY_THROW); + dp_misc::DescriptionInfoset infoset(m_context, node); + boost::optional< rtl::OUString > id(infoset.getIdentifier()); + if (!id) { + continue; } - for (Map::const_iterator i(map.begin()); i != map.end(); ++i) { - if (i->second.info.is() && - !update( i->second.package, i->second.info )) + Map::iterator end(map.upper_bound(*id)); + for (Map::iterator j(map.lower_bound(*id)); j != end; ++j) { + //skip those extension which provide its own update urls + if (j->second.bProvidesOwnUpdate) + continue; + rtl::OUString v(infoset.getVersion()); + //look for the highest version in the online repository + if (dp_misc::compareVersions(v, j->second.version) == + dp_misc::GREATER) { - break; + j->second.version = v; + j->second.info = node; } } } } + + css::uno::Reference extMgr = + css::deployment::ExtensionManager::get(m_context); + for (Map::iterator i(map.begin()); i != map.end(); ++i) + { + //determine if online updates meet the requirements + prepareUpdateData(i->second.package, i->second.info, + i->second.disableUpdate, i->second.updateData); + + //determine if the update is installed in the user or shared repository + rtl::OUString sOnlineVersion; + if (i->second.updateData.aUpdateInfo.is()) + sOnlineVersion = i->second.version; + + rtl::OUString sVersionUser; + rtl::OUString sVersionShared; + rtl::OUString sVersionBundled; + css::uno::Sequence< css::uno::Reference< css::deployment::XPackage> > extensions; + try { + extensions = extMgr->getExtensionsWithSameIdentifier( + dp_misc::getIdentifier(i->second.package), i->second.package->getName(), + css::uno::Reference()); + } catch (css::lang::IllegalArgumentException& ) { + OSL_ASSERT(0); + } + OSL_ASSERT(extensions.getLength() == 3); + if (extensions[0].is() ) + sVersionUser = extensions[0]->getVersion(); + if (extensions[1].is() ) + sVersionShared = extensions[1]->getVersion(); + if (extensions[2].is() ) + sVersionBundled = extensions[2]->getVersion(); + + bool bSharedReadOnly = extMgr->isReadOnlyRepository(OUSTR("shared")); + + dp_misc::UPDATE_SOURCE sourceUser = dp_misc::isUpdateUserExtension( + bSharedReadOnly, sVersionUser, sVersionShared, sVersionBundled, sOnlineVersion); + dp_misc::UPDATE_SOURCE sourceShared = dp_misc::isUpdateSharedExtension( + bSharedReadOnly, sVersionShared, sVersionBundled, sOnlineVersion); + + css::uno::Reference updateSource; + if (sourceUser != dp_misc::UPDATE_SOURCE_NONE) + { + if (sourceUser == dp_misc::UPDATE_SOURCE_SHARED) + { + i->second.updateData.aUpdateSource = extensions[1]; + i->second.updateData.updateVersion = extensions[1]->getVersion(); + } + else if (sourceUser == dp_misc::UPDATE_SOURCE_BUNDLED) + { + i->second.updateData.aUpdateSource = extensions[2]; + i->second.updateData.updateVersion = extensions[2]->getVersion(); + } + if (!update(i->second.disableUpdate, i->second.updateData)) + return; + } + + if (sourceShared != dp_misc::UPDATE_SOURCE_NONE) + { + if (sourceShared == dp_misc::UPDATE_SOURCE_BUNDLED) + { + i->second.updateData.aUpdateSource = extensions[2]; + i->second.updateData.updateVersion = extensions[2]->getVersion(); + } + i->second.updateData.bIsShared = true; + if (!update(i->second.disableUpdate, i->second.updateData)) + return; + } + } + + vos::OGuard g(Application::GetSolarMutex()); if (!m_stop) { m_dialog.checkingDone(); @@ -454,7 +538,7 @@ UpdateDialog::Thread::getUpdateInformation( css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > >(); } -void UpdateDialog::Thread::handle( +void UpdateDialog::Thread::getOwnUpdateInformation( css::uno::Reference< css::deployment::XPackage > const & package, Map * map) { @@ -464,11 +548,11 @@ void UpdateDialog::Thread::handle( if (urls.getLength() == 0) { map->insert( Map::value_type( - id, Entry(package, package->getVersion()))); + id, Entry(package, OUSTR("")))); } else { css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > infos(getUpdateInformation(package, urls, id)); - rtl::OUString latestVersion(package->getVersion()); + rtl::OUString latestVersion; sal_Int32 latestIndex = -1; for (sal_Int32 i = 0; i < infos.getLength(); ++i) { dp_misc::DescriptionInfoset infoset( @@ -490,80 +574,102 @@ void UpdateDialog::Thread::handle( } } if (latestIndex != -1) { - update( package, - css::uno::Reference< css::xml::dom::XNode >( - infos[latestIndex], css::uno::UNO_QUERY_THROW)); + Entry e(package, latestVersion); + e.info = css::uno::Reference< css::xml::dom::XNode >( + infos[latestIndex], css::uno::UNO_QUERY_THROW); + e.bProvidesOwnUpdate = true; + map->insert(Map::value_type(id, e)); } } } -bool UpdateDialog::Thread::update( - css::uno::Reference< css::deployment::XPackage > const & package, - css::uno::Reference< css::xml::dom::XNode > const & updateInfo) const +::rtl::OUString UpdateDialog::Thread::getUpdateDisplayString( + dp_gui::UpdateData const & data, ::rtl::OUString const & version) const { - dp_misc::DescriptionInfoset infoset(m_context, updateInfo); - OSL_ASSERT(infoset.getVersion().getLength() != 0); - css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > ds( - dp_misc::Dependencies::check(infoset)); - - UpdateDialog::DisabledUpdate du; - du.aUpdateInfo = updateInfo; - du.unsatisfiedDependencies.realloc(ds.getLength()); - for (sal_Int32 i = 0; i < ds.getLength(); ++i) { - du.unsatisfiedDependencies[i] = dp_misc::Dependencies::getErrorText(ds[i]); - } - du.permission = ! m_dialog.isReadOnly( package ); - const ::boost::optional< ::rtl::OUString> updateWebsiteURL(infoset.getLocalizedUpdateWebsiteURL()); - rtl::OUStringBuffer b(package->getDisplayName()); + OSL_ASSERT(data.aInstalledPackage.is()); + rtl::OUStringBuffer b(data.aInstalledPackage->getDisplayName()); b.append(static_cast< sal_Unicode >(' ')); { vos::OGuard g( Application::GetSolarMutex() ); - if ( m_stop ) - return !m_stop; - else - b.append(m_dialog.m_version); + b.append(m_dialog.m_version); } b.append(static_cast< sal_Unicode >(' ')); - b.append(infoset.getVersion()); - if (updateWebsiteURL) + if (version.getLength()) + b.append(version); + else + b.append(data.updateVersion); + + if (data.sWebsiteURL.getLength()) { b.append(static_cast< sal_Unicode >(' ')); { vos::OGuard g( Application::GetSolarMutex() ); - if ( m_stop ) - return !m_stop; - else - b.append(m_dialog.m_browserbased); + b.append(m_dialog.m_browserbased); } } - du.name = b.makeStringAndClear(); + return b.makeStringAndClear(); +} + +/** out_data will only be filled if all dependencies are ok. + */ +void UpdateDialog::Thread::prepareUpdateData( + css::uno::Reference< css::deployment::XPackage > const & package, + css::uno::Reference< css::xml::dom::XNode > const & updateInfo, + UpdateDialog::DisabledUpdate & out_du, + dp_gui::UpdateData & out_data) const +{ + if (!updateInfo.is()) + return; + dp_misc::DescriptionInfoset infoset(m_context, updateInfo); + OSL_ASSERT(infoset.getVersion().getLength() != 0); + css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > ds( + dp_misc::Dependencies::check(infoset)); + + out_du.aUpdateInfo = updateInfo; + out_du.unsatisfiedDependencies.realloc(ds.getLength()); + for (sal_Int32 i = 0; i < ds.getLength(); ++i) { + out_du.unsatisfiedDependencies[i] = dp_misc::Dependencies::getErrorText(ds[i]); + } + + const ::boost::optional< ::rtl::OUString> updateWebsiteURL(infoset.getLocalizedUpdateWebsiteURL()); + + out_du.name = getUpdateDisplayString(out_data, infoset.getVersion()); - if (du.unsatisfiedDependencies.getLength() == 0 && du.permission) + if (out_du.unsatisfiedDependencies.getLength() == 0) { - dp_gui::UpdateData data; - data.aInstalledPackage = package; - data.aUpdateInfo = updateInfo; + out_data.aUpdateInfo = updateInfo; + out_data.updateVersion = infoset.getVersion(); if (updateWebsiteURL) - data.sWebsiteURL = *updateWebsiteURL; + out_data.sWebsiteURL = *updateWebsiteURL; + } +} + +bool UpdateDialog::Thread::update( + UpdateDialog::DisabledUpdate const & du, + dp_gui::UpdateData const & data) const +{ + if (du.unsatisfiedDependencies.getLength() == 0) + { vos::OGuard g(Application::GetSolarMutex()); if (!m_stop) { - m_dialog.addEnabledUpdate(du.name, data); + m_dialog.addEnabledUpdate(getUpdateDisplayString(data), data); } return !m_stop; } else { vos::OGuard g(Application::GetSolarMutex()); if (!m_stop) { - m_dialog.addDisabledUpdate(du); + m_dialog.addDisabledUpdate(du); } return !m_stop; } + return true; } // UpdateDialog ---------------------------------------------------------- UpdateDialog::UpdateDialog( css::uno::Reference< css::uno::XComponentContext > const & context, Window * parent, - const std::vector< dp_gui::TUpdateListEntry > &vExtensionList, + const std::vector > &vExtensionList, std::vector< dp_gui::UpdateData > * updateData): ModalDialog(parent,DpGuiResId(RID_DLG_UPDATE)), m_context(context), @@ -593,8 +699,6 @@ UpdateDialog::UpdateDialog( m_noInstall(String(DpGuiResId(RID_DLG_UPDATE_NOINSTALL))), m_noDependency(String(DpGuiResId(RID_DLG_UPDATE_NODEPENDENCY))), m_noDependencyCurVer(String(DpGuiResId(RID_DLG_UPDATE_NODEPENDENCY_CUR_VER))), - m_noPermission(String(DpGuiResId(RID_DLG_UPDATE_NOPERMISSION))), - m_noPermissionVista(String(DpGuiResId(RID_DLG_UPDATE_NOPERMISSION_VISTA))), m_browserbased(String(DpGuiResId(RID_DLG_UPDATE_BROWSERBASED))), m_version(String(DpGuiResId(RID_DLG_UPDATE_VERSION))), m_updateData(*updateData), @@ -651,9 +755,6 @@ UpdateDialog::UpdateDialog( if ( ! dp_misc::office_is_running()) m_help.Disable(); FreeResource(); - String sTemp(m_noPermissionVista); - sTemp.SearchAndReplaceAllAscii( "%PRODUCTNAME", BrandName::get() ); - m_noPermissionVista = sTemp; initDescription(); } @@ -983,12 +1084,25 @@ void UpdateDialog::clearDescription() bool UpdateDialog::showDescription(css::uno::Reference< css::xml::dom::XNode > const & aUpdateInfo) { dp_misc::DescriptionInfoset infoset(m_context, aUpdateInfo); - std::pair< rtl::OUString, rtl::OUString > pairPub = infoset.getLocalizedPublisherNameAndURL(); - rtl::OUString sPub = pairPub.first; - rtl::OUString sURL = pairPub.second; - rtl::OUString sRel = infoset.getLocalizedReleaseNotesURL(); + return showDescription(infoset.getLocalizedPublisherNameAndURL(), + infoset.getLocalizedReleaseNotesURL()); +} + +bool UpdateDialog::showDescription(css::uno::Reference< css::deployment::XPackage > const & aExtension) +{ + OSL_ASSERT(aExtension.is()); + css::beans::StringPair pubInfo = aExtension->getPublisherInfo(); + return showDescription(std::make_pair(pubInfo.First, pubInfo.Second), + OUSTR("")); +} - if ( sPub.getLength() == 0 && sURL.getLength() == 0 && sRel.getLength() == 0 ) +bool UpdateDialog::showDescription(std::pair< rtl::OUString, rtl::OUString > const & pairPublisher, + rtl::OUString const & sReleaseNotes) +{ + rtl::OUString sPub = pairPublisher.first; + rtl::OUString sURL = pairPublisher.second; + + if ( sPub.getLength() == 0 && sURL.getLength() == 0 && sReleaseNotes.getLength() == 0 ) // nothing to show return false; @@ -1002,7 +1116,7 @@ bool UpdateDialog::showDescription(css::uno::Reference< css::xml::dom::XNode > c bPublisher = true; } - if ( sRel.getLength() > 0 ) + if ( sReleaseNotes.getLength() > 0 ) { if ( !bPublisher ) { @@ -1011,7 +1125,7 @@ bool UpdateDialog::showDescription(css::uno::Reference< css::xml::dom::XNode > c } m_ReleaseNotesLabel.Show(); m_ReleaseNotesLink.Show(); - m_ReleaseNotesLink.SetURL( sRel ); + m_ReleaseNotesLink.SetURL( sReleaseNotes ); } return true; } @@ -1069,7 +1183,12 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG) const std::vector< UpdateDialog::DisabledUpdate >::size_type sizeDisabled = m_disabledUpdates.size(); if (pos < sizeEnabled) - bInserted = showDescription(m_enabledUpdates[pos].aUpdateInfo); + { + if (m_enabledUpdates[pos].aUpdateSource.is()) + bInserted = showDescription(m_enabledUpdates[pos].aUpdateSource); + else + bInserted = showDescription(m_enabledUpdates[pos].aUpdateInfo); + } else if (pos >= sizeEnabled && pos < (sizeEnabled + sizeDisabled)) bInserted = showDescription(m_disabledUpdates[pos - sizeEnabled].aUpdateInfo); @@ -1115,16 +1234,6 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG) b.appendAscii(RTL_CONSTASCII_STRINGPARAM(" ")); b.append(m_noDependencyCurVer); } - if (!data.permission) { - if (b.getLength() == 0) { - b.append(m_noInstall); - } - b.append(LF); - if (isVista()) - b.append(m_noPermissionVista); - else - b.append(m_noPermission); - } break; } case GENERAL_ERROR: @@ -1231,7 +1340,7 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG) OSL_ASSERT(i->aInstalledPackage.is()); //If the user has no write access to the shared folder then the update //for a shared extension is disable, that is it cannot be in m_enabledUpdates - OSL_ASSERT(isReadOnly(i->aInstalledPackage) == sal_False); +// OSL_ASSERT(isReadOnly(i->aInstalledPackage) == sal_False); #if 0 // TODO: check! OSL_ASSERT(m_extensionManagerDialog.get()); @@ -1243,6 +1352,7 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG) #endif } + for (USHORT i = 0; i < m_updates.getItemCount(); ++i) { UpdateDialog::Index const * p = static_cast< UpdateDialog::Index const * >( @@ -1251,6 +1361,7 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG) m_updateData.push_back(m_enabledUpdates[p->index.enabledUpdate]); } } + EndDialog(RET_OK); return 0; } diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx index 1e72b22a68c7..32c317cb8735 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx @@ -83,16 +83,17 @@ public: @param parent the parent window, may be null - @param selectedPackages - if non-null, only check for updates for the selected packages - - @param packageManagers - if non-null, check for updates for all managed packages + @param vExtensionList + check for updates for the contained extensions. There must only be one extension with + a particular identifier. If one extension is installed in several repositories, then the + one with the highest version must be used, because it contains the latest known update + information. */ UpdateDialog( com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > const & context, Window * parent, - const std::vector< dp_gui::TUpdateListEntry > &vExtensionList, + const std::vector< com::sun::star::uno::Reference< + com::sun::star::deployment::XPackage > > & vExtensionList, std::vector< dp_gui::UpdateData > * updateData); ~UpdateDialog(); @@ -142,6 +143,7 @@ private: UpdateDialog & m_dialog; }; + friend class CheckListBox; void insertItem( @@ -169,6 +171,10 @@ private: void initDescription(); void clearDescription(); + bool showDescription(::com::sun::star::uno::Reference< + ::com::sun::star::deployment::XPackage > const & aExtension); + bool showDescription(std::pair< rtl::OUString, rtl::OUString > const & pairPublisher, + rtl::OUString const & sReleaseNotes); bool showDescription( ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > const & aUpdateInfo); bool showDescription( const String& rDescription, bool bWithPublisher ); @@ -206,8 +212,6 @@ private: rtl::OUString m_noInstall; rtl::OUString m_noDependency; rtl::OUString m_noDependencyCurVer; - rtl::OUString m_noPermission; - rtl::OUString m_noPermissionVista; rtl::OUString m_browserbased; rtl::OUString m_version; std::vector< dp_gui::UpdateData > m_enabledUpdates; diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.src b/desktop/source/deployment/gui/dp_gui_updatedialog.src index b86a8ad66f08..325d98c88d48 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.src +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.src @@ -244,18 +244,6 @@ ModalDialog RID_DLG_UPDATE { String RID_DLG_UPDATE_NODEPENDENCY_CUR_VER { Text[en-US] = "You have OpenOffice.org %VERSION"; }; - String RID_DLG_UPDATE_NOPERMISSION { - Text[en-US] = "No write permission (shared extension)."; - }; - String RID_DLG_UPDATE_NOPERMISSION_VISTA { - Text[en-US] = "No write permission. %PRODUCTNAME needs to run as administrator.\n" - "Please follow these steps to update this shared extension:\n" - "1. Close Extension Manager dialog.\n" - "2. Exit %PRODUCTNAME.\n" - "3. Exit %PRODUCTNAME Quickstarter located in the tray area of Windows.\n" - "4. Run %PRODUCTNAME as administrator. In order to do this call the context menu of the %PRODUCTNAME program icon and choose \'Run as administrator\'.\n" - "5. Call the Extension Manager dialog and update this shared extension.\n"; - }; String RID_DLG_UPDATE_BROWSERBASED { Text[en-US] = "browser based update"; }; diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx index f2f8b8b0d6e2..067a703ec413 100644 --- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx @@ -380,13 +380,12 @@ void UpdateInstallDialog::Thread::downloadExtensions() { UpdateData & curData = *i; - OSL_ASSERT(curData.aUpdateInfo.is()); + if (!curData.aUpdateInfo.is() || curData.aUpdateSource.is()) + continue; //We assume that m_aVecUpdateData contains only information about extensions which //can be downloaded directly. OSL_ASSERT(curData.sWebsiteURL.getLength() == 0); - if (!curData.aUpdateInfo.is()) - continue; //update the name of the extension which is to be downloaded { ::vos::OGuard g(Application::GetSolarMutex()); @@ -491,13 +490,11 @@ void UpdateInstallDialog::Thread::installExtensions() // osl::Thread::wait(v); bool bError = false; bool bLicenseDeclined = false; - cssu::Reference xPackage; + cssu::Reference xExtension; UpdateData & curData = *i; cssu::Exception exc; try { - if (curData.sLocalURL.getLength() == 0) - continue; cssu::Reference< css::task::XAbortChannel > xAbortChannel( curData.aInstalledPackage->createAbortChannel() ); { @@ -507,9 +504,35 @@ void UpdateInstallDialog::Thread::installExtensions() } m_abort = xAbortChannel; } - xPackage = m_dialog.getExtensionManager()->addExtension( - curData.sLocalURL, css::uno::Sequence(), - curData.aInstalledPackage->getRepositoryName(), xAbortChannel, m_updateCmdEnv.get()); + if (!curData.aUpdateSource.is() && curData.sLocalURL.getLength()) + { + css::beans::NamedValue prop(OUSTR("EXTENSION_UPDATE"), css::uno::makeAny(OUSTR("1"))); + if (!curData.bIsShared) + xExtension = m_dialog.getExtensionManager()->addExtension( + curData.sLocalURL, css::uno::Sequence(&prop, 1), + OUSTR("user"), xAbortChannel, m_updateCmdEnv.get()); + else + xExtension = m_dialog.getExtensionManager()->addExtension( + curData.sLocalURL, css::uno::Sequence(&prop, 1), + OUSTR("shared"), xAbortChannel, m_updateCmdEnv.get()); + } + else if (curData.aUpdateSource.is()) + { + OSL_ASSERT(curData.aUpdateSource.is()); + //I am not sure if we should obtain the install properties and pass them into + //add extension. Currently it contains only "SUPPRESS_LICENSE". So it it could happen + //that a license is displayed when updating from the shared repository, although the + //shared extension was installed using "SUPPRESS_LICENSE". + css::beans::NamedValue prop(OUSTR("EXTENSION_UPDATE"), css::uno::makeAny(OUSTR("1"))); + if (!curData.bIsShared) + xExtension = m_dialog.getExtensionManager()->addExtension( + curData.aUpdateSource->getURL(), css::uno::Sequence(&prop, 1), + OUSTR("user"), xAbortChannel, m_updateCmdEnv.get()); + else + xExtension = m_dialog.getExtensionManager()->addExtension( + curData.aUpdateSource->getURL(), css::uno::Sequence(&prop, 1), + OUSTR("shared"), xAbortChannel, m_updateCmdEnv.get()); + } } catch (css::deployment::DeploymentException & de) { @@ -538,7 +561,7 @@ void UpdateInstallDialog::Thread::installExtensions() m_dialog.setError(UpdateInstallDialog::ERROR_LICENSE_DECLINED, curData.aInstalledPackage->getDisplayName(), OUString()); } - else if (!xPackage.is() || bError) + else if (!xExtension.is() || bError) { ::vos::OGuard g(Application::GetSolarMutex()); if (m_stop) { diff --git a/desktop/source/deployment/inc/dp_misc.h b/desktop/source/deployment/inc/dp_misc.h index a0ca7f53be03..161b91a6bcde 100644 --- a/desktop/source/deployment/inc/dp_misc.h +++ b/desktop/source/deployment/inc/dp_misc.h @@ -179,6 +179,52 @@ DESKTOP_DEPLOYMENTMISC_DLLPUBLIC void syncRepositories(::com::sun::star::uno::Reference< ::com::sun::star::ucb::XCommandEnvironment> const & xCmdEnv); +enum UPDATE_SOURCE +{ + UPDATE_SOURCE_NONE, + UPDATE_SOURCE_SHARED, + UPDATE_SOURCE_BUNDLED, + UPDATE_SOURCE_ONLINE +}; + +/* determine if an update is available which is installed in the + user repository. + + If the return value is UPDATE_SOURCE_NONE, then no update is + available, otherwise the return value determine from which the + repository the update is used. +*/ +DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +UPDATE_SOURCE isUpdateUserExtension( + bool bReadOnlyShared, + ::rtl::OUString const & userVersion, + ::rtl::OUString const & sharedVersion, + ::rtl::OUString const & bundledVersion, + ::rtl::OUString const & onlineVersion); + +/* determine if an update is available which is installed in the + shared repository. + + If the return value is UPDATE_SOURCE_NONE, then no update is + available, otherwise the return value determine from which the + repository the update is used. +*/ +DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +UPDATE_SOURCE isUpdateSharedExtension( + bool bReadOnlyShared, + ::rtl::OUString const & sharedVersion, + ::rtl::OUString const & bundledVersion, + ::rtl::OUString const & onlineVersion); + +/* determines the extension with the highest identifier and returns it + + */ +DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage> +getExtensionWithHighestVersion( + ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Reference< + ::com::sun::star::deployment::XPackage> > const & seqExtensionsWithSameId); } diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index fddefb5ad277..251e70a19ce6 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -250,7 +250,8 @@ void ExtensionManager::addExtensionsToMap( */ ::std::list > ExtensionManager::getExtensionsWithSameId( - OUString const & identifier, OUString const & fileName) + OUString const & identifier, OUString const & fileName, + Reference< ucb::XCommandEnvironment> const & xCmdEnv) { ::std::list > extensionList; @@ -282,13 +283,70 @@ void ExtensionManager::addExtensionsToMap( return extensionList; } +uno::Sequence > +ExtensionManager::getExtensionsWithSameIdentifier( + OUString const & identifier, + OUString const & fileName, + Reference< ucb::XCommandEnvironment> const & xCmdEnv ) + throw ( + deploy::DeploymentException, + ucb::CommandFailedException, + lang::IllegalArgumentException, + uno::RuntimeException) +{ + try + { + ::std::list > listExtensions = + getExtensionsWithSameId( + identifier, fileName, xCmdEnv); + sal_Bool bHasExtension = false; + + //throw an IllegalArgumentException if there is no extension at all. + typedef ::std::list >::const_iterator CIT; + for (CIT i = listExtensions.begin(); i != listExtensions.end(); i++) + bHasExtension |= i->is(); + if (!bHasExtension) + throw lang::IllegalArgumentException( + OUSTR("Could not find extension: ") + identifier + OUSTR(", ") + fileName, + static_cast(this), -1); + + return comphelper::containerToSequence< + Reference, + ::std::list > + > (listExtensions); + } + catch (deploy::DeploymentException & ) + { + throw; + } + catch ( ucb::CommandFailedException & ) + { + throw; + } + catch (lang::IllegalArgumentException &) + { + throw; + } + catch (...) + { + uno::Any exc = ::cppu::getCaughtException(); + throw deploy::DeploymentException( + OUSTR("Extension Manager: exception during getExtensionsWithSameIdentifier"), + static_cast(this), exc); + } +} + bool ExtensionManager::isUserDisabled( OUString const & identifier, OUString const & fileName) { - ::std::list > listExtensions = - getExtensionsWithSameId(identifier, fileName); + ::std::list > listExtensions; + + try { + listExtensions = getExtensionsWithSameId(identifier, fileName); + } catch (lang::IllegalArgumentException & ) { + } OSL_ASSERT(listExtensions.size() == 3); return isUserDisabled( ::comphelper::containerToSequence< @@ -339,8 +397,11 @@ void ExtensionManager::activateExtension( Reference const & xAbortChannel, Reference const & xCmdEnv ) { - ::std::list > listExtensions = - getExtensionsWithSameId(identifier, fileName); + ::std::list > listExtensions; + try { + listExtensions = getExtensionsWithSameId(identifier, fileName); + } catch (lang::IllegalArgumentException &) { + } OSL_ASSERT(listExtensions.size() == 3); activateExtension( @@ -510,9 +571,11 @@ Reference ExtensionManager::addExtension( ExtensionProperties props(OUString(), properties, Reference()); if (licenseAttributes && licenseAttributes->suppressIfRequired && props.isSuppressedLicense()) - _xCmdEnv = Reference(new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler())); + _xCmdEnv = Reference( + new NoLicenseCommandEnv(xCmdEnv->getInteractionHandler())); + bCanInstall = xTmpExtension->checkPrerequisites( - xAbortChannel, _xCmdEnv, xOldExtension.is()) == 0 ? true : false; + xAbortChannel, _xCmdEnv, xOldExtension.is() || props.isExtensionUpdate()) == 0 ? true : false; } catch (deploy::DeploymentException& ) { excOccurred1 = ::cppu::getCaughtException(); diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx index ad0e7d95df7e..54624514adce 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.hxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx @@ -163,6 +163,17 @@ public: css::lang::IllegalArgumentException, css::uno::RuntimeException); + virtual css::uno::Sequence > + SAL_CALL getExtensionsWithSameIdentifier( + ::rtl::OUString const & identifier, + ::rtl::OUString const & filename, + css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv ) + throw ( + css::deployment::DeploymentException, + css::ucb::CommandFailedException, + css::lang::IllegalArgumentException, + css::uno::RuntimeException); + virtual css::uno::Sequence< css::uno::Sequence > > SAL_CALL getAllExtensions( css::uno::Reference const &, @@ -252,7 +263,9 @@ private: ::std::list > getExtensionsWithSameId(::rtl::OUString const & identifier, - ::rtl::OUString const & fileName); + ::rtl::OUString const & fileName, + css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv = + css::uno::Reference< css::ucb::XCommandEnvironment>()); css::uno::Reference backupExtension( ::rtl::OUString const & identifier, ::rtl::OUString const & fileName, diff --git a/desktop/source/deployment/manager/dp_properties.cxx b/desktop/source/deployment/manager/dp_properties.cxx index b04e8131ee15..df579944c6e4 100644 --- a/desktop/source/deployment/manager/dp_properties.cxx +++ b/desktop/source/deployment/manager/dp_properties.cxx @@ -50,6 +50,8 @@ using ::com::sun::star::uno::Reference; using ::rtl::OUString; #define PROP_SUPPRESS_LICENSE "SUPPRESS_LICENSE" +#define PROP_EXTENSION_UPDATE "EXTENSION_UPDATE" + namespace dp_manager { //Reading the file @@ -89,17 +91,11 @@ ExtensionProperties::ExtensionProperties( css::beans::NamedValue const & v = properties[i]; if (v.Name.equals(OUSTR(PROP_SUPPRESS_LICENSE))) { - OUString value; - if (v.Value >>= value) - { - if (value.equals(OUSTR("1"))) - m_prop_suppress_license = OUSTR("1"); - } - else - { - throw lang::IllegalArgumentException( - OUSTR("Extension Manager: wrong property value"), 0, -1); - } + m_prop_suppress_license = getPropertyValue(v); + } + else if (v.Name.equals(OUSTR(PROP_EXTENSION_UPDATE))) + { + m_prop_extension_update = getPropertyValue(v); } else { @@ -109,6 +105,21 @@ ExtensionProperties::ExtensionProperties( } } +OUString ExtensionProperties::getPropertyValue(css::beans::NamedValue const & v) +{ + OUString value(OUSTR("0")); + if (v.Value >>= value) + { + if (value.equals(OUSTR("1"))) + value = OUSTR("1"); + } + else + { + throw lang::IllegalArgumentException( + OUSTR("Extension Manager: wrong property value"), 0, -1); + } + return value; +} void ExtensionProperties::write() { ::ucbhelper::Content contentProps(m_propFileUrl, m_xCmdEnv); @@ -142,6 +153,17 @@ bool ExtensionProperties::isSuppressedLicense() return ret; } +bool ExtensionProperties::isExtensionUpdate() +{ + bool ret = false; + if (m_prop_extension_update) + { + if (m_prop_extension_update->equals(OUSTR("1"))) + ret = true; + } + return ret; +} + } // namespace dp_manager diff --git a/desktop/source/deployment/manager/dp_properties.hxx b/desktop/source/deployment/manager/dp_properties.hxx index 197155653de1..97fc8b8c5394 100644 --- a/desktop/source/deployment/manager/dp_properties.hxx +++ b/desktop/source/deployment/manager/dp_properties.hxx @@ -53,6 +53,9 @@ protected: ::rtl::OUString m_propFileUrl; const css::uno::Reference m_xCmdEnv; ::boost::optional< ::rtl::OUString> m_prop_suppress_license; + ::boost::optional< ::rtl::OUString> m_prop_extension_update; + + ::rtl::OUString getPropertyValue(css::beans::NamedValue const & v); public: virtual ~ExtensionProperties() {}; @@ -66,6 +69,8 @@ public: void write(); bool isSuppressedLicense(); + + bool isExtensionUpdate(); }; } diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 5269e3d8aac5..53d488095ecd 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -30,6 +30,7 @@ #include "dp_misc.h" +#include "dp_version.hxx" #include "dp_interact.h" #include "rtl/uri.hxx" #include "rtl/digest.h" @@ -630,6 +631,147 @@ void syncRepositories(Reference const & xCmdEnv) } } +/* returns the index of the greatest version, starting with 0 + + */ +int determineHighestVersion( + ::rtl::OUString const & userVersion, + ::rtl::OUString const & sharedVersion, + ::rtl::OUString const & bundledVersion, + ::rtl::OUString const & onlineVersion) +{ + int index = 0; + OUString greatest = userVersion; + if (dp_misc::compareVersions(sharedVersion, greatest) == dp_misc::GREATER) + { + index = 1; + greatest = sharedVersion; + } + if (dp_misc::compareVersions(bundledVersion, greatest) == dp_misc::GREATER) + { + index = 2; + greatest = bundledVersion; + } + if (dp_misc::compareVersions(onlineVersion, greatest) == dp_misc::GREATER) + { + index = 3; + } + return index; +} + +UPDATE_SOURCE isUpdateUserExtension( + bool bReadOnlyShared, + ::rtl::OUString const & userVersion, + ::rtl::OUString const & sharedVersion, + ::rtl::OUString const & bundledVersion, + ::rtl::OUString const & onlineVersion) +{ + UPDATE_SOURCE retVal = UPDATE_SOURCE_NONE; + if (bReadOnlyShared) + { + if (userVersion.getLength()) + { + int index = determineHighestVersion( + userVersion, sharedVersion, bundledVersion, onlineVersion); + if (index == 1) + retVal = UPDATE_SOURCE_SHARED; + else if (index == 2) + retVal = UPDATE_SOURCE_BUNDLED; + else if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + } + else if (sharedVersion.getLength()) + { + int index = determineHighestVersion( + OUString(), sharedVersion, bundledVersion, onlineVersion); + if (index == 2) + retVal = UPDATE_SOURCE_BUNDLED; + else if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + + } + else if (bundledVersion.getLength()) + { + int index = determineHighestVersion( + OUString(), OUString(), bundledVersion, onlineVersion); + if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + } + } + else + { + if (userVersion.getLength()) + { + int index = determineHighestVersion( + userVersion, sharedVersion, bundledVersion, onlineVersion); + if (index == 1) + retVal = UPDATE_SOURCE_SHARED; + else if (index == 2) + retVal = UPDATE_SOURCE_BUNDLED; + else if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + } + } + + return retVal; +} + +UPDATE_SOURCE isUpdateSharedExtension( + bool bReadOnlyShared, + ::rtl::OUString const & sharedVersion, + ::rtl::OUString const & bundledVersion, + ::rtl::OUString const & onlineVersion) +{ + if (bReadOnlyShared) + return UPDATE_SOURCE_NONE; + UPDATE_SOURCE retVal = UPDATE_SOURCE_NONE; + + if (sharedVersion.getLength()) + { + int index = determineHighestVersion( + OUString(), sharedVersion, bundledVersion, onlineVersion); + if (index == 2) + retVal = UPDATE_SOURCE_BUNDLED; + else if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + } + else if (bundledVersion.getLength()) + { + int index = determineHighestVersion( + OUString(), OUString(), bundledVersion, onlineVersion); + if (index == 3) + retVal = UPDATE_SOURCE_ONLINE; + } + return retVal; +} + +Reference +getExtensionWithHighestVersion( + Sequence > const & seqExt) +{ + if (seqExt.getLength() == 0) + return Reference(); + + Reference greatest; + sal_Int32 len = seqExt.getLength(); + + for (sal_Int32 i = 0; i < len; i++) + { + if (!greatest.is()) + { + greatest = seqExt[i]; + continue; + } + Reference const & current = seqExt[i]; + //greatest has a value + if (! current.is()) + continue; + + if (dp_misc::compareVersions(current->getVersion(), greatest->getVersion()) == dp_misc::GREATER) + greatest = current; + } + return greatest; +} } -- cgit From f50ef850eb572a2c3baa9545d7e6882576a86ee7 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Fri, 28 May 2010 17:50:38 +0200 Subject: jl152 #i77196# new update behavior for extensions --- .../com/sun/star/deployment/XExtensionManager.idl | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 8eaa8a05f976..cfbc71156b7f 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -190,7 +190,9 @@ interface XExtensionManager com::sun::star::ucb::CommandAbortedException, com::sun::star::lang::IllegalArgumentException); - /** gets all currently deployed extensions. + /** gets all currently deployed extensions, including disabled + user extensions. + @param repository the repository from which the extensions are returned @param xAbortChannel @@ -233,6 +235,23 @@ interface XExtensionManager com::sun::star::ucb::CommandFailedException, com::sun::star::lang::IllegalArgumentException); + /** gets all extensions with the same identifer from all repositories. + + The extension at the first position in the returned sequence represents + the extension from the user repository. The next element is from the shared + and the last one is from the bundled repository. + If one repository does not contain this extension, then the respective + element is a null reference. + */ + sequence getExtensionsWithSameIdentifier( + [in] string identifier, + [in] string fileName, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::lang::IllegalArgumentException); + + /** returns a sequence containing all installed extensions. The members of the returned sequence correspond to an extension with a -- cgit From 37d4903cb32a8d653b2f9c7bfb1bd05abac54ff8 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Fri, 28 May 2010 17:57:39 +0200 Subject: vitomation01: #i109562 - Disabled test (#i111914) --- testautomation/writer/optional/includes/option/wr_o_4.inc | 3 +++ 1 file changed, 3 insertions(+) mode change 100644 => 100755 testautomation/writer/optional/includes/option/wr_o_4.inc diff --git a/testautomation/writer/optional/includes/option/wr_o_4.inc b/testautomation/writer/optional/includes/option/wr_o_4.inc old mode 100644 new mode 100755 index de44cdfea13a..7c7aece9f80b --- a/testautomation/writer/optional/includes/option/wr_o_4.inc +++ b/testautomation/writer/optional/includes/option/wr_o_4.inc @@ -861,6 +861,9 @@ endcase testcase tToolsOptionsWriterMailMerge + warnlog( "#i111914# - Test excluded, needs review" ) + goto endsub + Call hNewDocument printlog ("- Tools/Options/Writer: Mail Merge ") Kontext "Navigator" -- cgit From c51ca5f0dce8d4f294ab388b49bc5117aa10aa92 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Sun, 30 May 2010 18:13:50 +0200 Subject: vitomation01: local merge from remote repo --- .../optional/includes/global/export_graphic.inc | 35 +++++++++++----------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/testautomation/graphics/optional/includes/global/export_graphic.inc b/testautomation/graphics/optional/includes/global/export_graphic.inc index 2865ada2c9a9..e1d1479f5ee1 100644 --- a/testautomation/graphics/optional/includes/global/export_graphic.inc +++ b/testautomation/graphics/optional/includes/global/export_graphic.inc @@ -97,7 +97,7 @@ testcase tEPS warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -178,7 +178,7 @@ testcase tPCT if ( hWaitForOutputFile( sOutputFile ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( sOutputFile ) ' local helper function, see bottom of this file else warnlog( "File was not saved: " & sOutputFile ) @@ -213,7 +213,7 @@ testcase tPCT sOutputFile = OutputGrafikTBO + "1" + sExt if ( hWaitForOutputFile( sOutputFile ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( sOutputFile ) ' local helper function, see bottom of this file else warnlog( "File was not saved: " & sOutputFile ) @@ -313,7 +313,7 @@ testcase tPBM warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -341,7 +341,7 @@ testcase tPGM warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -369,7 +369,7 @@ testcase tPPM warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -388,7 +388,7 @@ testcase tRAS printlog "Save it" if ( hCallExport( OutputGrafikTBO, sFilter ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file else warnlog( "No export options dialog was displayed" ) @@ -411,7 +411,7 @@ testcase tTIFF printlog "Save it" if ( hCallExport (OutputGrafikTBO , sFilter ) ) then - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file else warnlog( "No export options dialog was displayed" ) @@ -431,7 +431,7 @@ testcase tXPM printlog "save it" if hCallExport (OutputGrafikTBO , sFilter ) = TRUE then - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file else warnlog( "No export options dialog was displayed" ) @@ -461,7 +461,7 @@ testcase tGIF warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -479,7 +479,7 @@ testcase tJPEG hFileOpen( gTesttoolPath + "graphics\required\input\graphicexport." + ExtensionString ) printlog " save it " - if ( hCallExport (OutputGrafikTBO , sFilter ) ) then + if ( hCallExport( OutputGrafikTBO , sFilter ) ) then Kontext "JpegOptionen" if ( JpegOptionen.Exists( 2 ) ) then @@ -490,7 +490,7 @@ testcase tJPEG warnlog( "No export options dialog was displayed" ) endif - printlog( "Save image, close file and re-insert graphics into new file" ) + printlog( "Close file and re-insert graphics into new document" ) hInsertGraphicsToNewFile( OutputGrafikTBO + sExt ) ' local helper function, see bottom of this file endif @@ -498,15 +498,16 @@ testcase tJPEG call hCloseDocument endcase 'tJPEG -'------------------------------------------------------------------------- + +'******************************************************************************* function hInsertGraphicsToNewFile( sOutputFile as string ) - if ( not FileExists( sOutputFile ) ) then - warnlog( "File not saved: " & sOutputFile ) - else + if ( FileExists( sOutputFile ) ) then hFileReOpen( "" ) - Call hGrafikEinfuegen ( sOutputFile ) + Call hGrafikEinfuegen( sOutputFile ) + else + warnlog( "File not saved: " & sOutputFile ) endif end function -- cgit From f6e68f43dc3ec9fc1a335058c74f0144f3421a8d Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 31 May 2010 08:04:58 +0200 Subject: vitomation01: #i109696 - Edit mode, another attempt --- .../global/tools/includes/required/t_doc2.inc | 51 +++++++++++++--------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 31a00f1d2222..2f9c81d31847 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -117,33 +117,42 @@ function hEnableDocumentEditMode() as boolean hEnableDocumentEditMode() = false - wait( 1000 ) - - try - kontext "Standardbar" - if ( Bearbeiten.getState( 2 ) <> 1 ) then - - printlog( "Switch document to edit-mode" ) - Bearbeiten.click() + dim iTry as integer - kontext "Active" - if ( Active.exists( 1 ) ) then - printlog( "Messagebox: " & Active.getText() ) - Active.yes() + ' Switch mode + for iTry = 1 to 20 + printlog( "Switching to edit mode... (" & iTry & ")" ) + try + kontext "Standardbar" + if ( Bearbeiten.getState( 2 ) <> 1 ) then + Bearbeiten.click() + + kontext "Active" + if ( Active.exists( 1 ) ) then + printlog( "Switch to edit mode after: " & iTry ) + hCloseDialog( Active, "yes" ) + exit for + endif endif - + catch + wait( 200 ) + endcatch + next iTry + + ' Verify + for iTry = 1 to 10 + printlog( "Checking for standardbar/edit mode" ) + try kontext "Standardbar" if ( Bearbeiten.getState( 2 ) = 1 ) then - printlog( "Successfully set document to edit-mode" ) + printlog( "Edit button has correct state, exiting successfully" ) hEnableDocumentEditMode() = true - waitslot() + exit for endif - else - printlog( "Document is already in edit-mode, no action taken" ) - endif - catch - warnlog( "Failed to access button on standardbar" ) - endcatch + catch + wait( 100 ) + endcatch + next iTry end function -- cgit From b6dfd268bd21465ba9451be680b913c6d7bd731e Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 31 May 2010 08:38:13 +0200 Subject: vitomation01: #i109696 - Edit mode, another attempt, again --- testautomation/global/tools/includes/required/t_doc2.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 2f9c81d31847..dc4936094b56 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -121,7 +121,7 @@ function hEnableDocumentEditMode() as boolean ' Switch mode for iTry = 1 to 20 - printlog( "Switching to edit mode... (" & iTry & ")" ) + printlog( "Try switching to edit-mode... (" & iTry & ")" ) try kontext "Standardbar" if ( Bearbeiten.getState( 2 ) <> 1 ) then @@ -144,7 +144,7 @@ function hEnableDocumentEditMode() as boolean printlog( "Checking for standardbar/edit mode" ) try kontext "Standardbar" - if ( Bearbeiten.getState( 2 ) = 1 ) then + if ( ( Bearbeiten.getState( 2 ) = 1 ) or ( not Bearbeiten.isEnabled() ) ) then printlog( "Edit button has correct state, exiting successfully" ) hEnableDocumentEditMode() = true exit for -- cgit From 7e7c82531b1c2e3e78625b1f5a612501d383c14b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 31 May 2010 08:52:38 +0200 Subject: vitomation01: #i109696 - Edit mode, another attempt, again --- .../global/tools/includes/required/t_doc2.inc | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index dc4936094b56..8bb196624a3b 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -131,6 +131,8 @@ function hEnableDocumentEditMode() as boolean if ( Active.exists( 1 ) ) then printlog( "Switch to edit mode after: " & iTry ) hCloseDialog( Active, "yes" ) + hEnableDocumentEditMode() = true + wait( 1000 ) exit for endif endif @@ -139,21 +141,6 @@ function hEnableDocumentEditMode() as boolean endcatch next iTry - ' Verify - for iTry = 1 to 10 - printlog( "Checking for standardbar/edit mode" ) - try - kontext "Standardbar" - if ( ( Bearbeiten.getState( 2 ) = 1 ) or ( not Bearbeiten.isEnabled() ) ) then - printlog( "Edit button has correct state, exiting successfully" ) - hEnableDocumentEditMode() = true - exit for - endif - catch - wait( 100 ) - endcatch - next iTry - end function '******************************************************************************* -- cgit From 2fda30de1943c16b7c718dcec743b8bd7124c122 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 31 May 2010 09:05:31 +0200 Subject: vitomation01: #i109696 - Edit mode, another attempt with much simplified approach without verification. --- testautomation/global/tools/includes/required/t_doc2.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 8bb196624a3b..33e96d1411be 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -119,9 +119,8 @@ function hEnableDocumentEditMode() as boolean dim iTry as integer - ' Switch mode + printlog( "Try to switch document to edit mode" ) for iTry = 1 to 20 - printlog( "Try switching to edit-mode... (" & iTry & ")" ) try kontext "Standardbar" if ( Bearbeiten.getState( 2 ) <> 1 ) then @@ -129,7 +128,7 @@ function hEnableDocumentEditMode() as boolean kontext "Active" if ( Active.exists( 1 ) ) then - printlog( "Switch to edit mode after: " & iTry ) + printlog( "Successfully switched to edit mode" ) hCloseDialog( Active, "yes" ) hEnableDocumentEditMode() = true wait( 1000 ) -- cgit From a60b65b5ab97a7aa3ffb39da7ae2a90b5841575a Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Mon, 31 May 2010 09:39:48 +0200 Subject: vitomation01: #i109696 - Edit mode, another attempt - more waiting --- testautomation/global/tools/includes/required/t_doc2.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_doc2.inc b/testautomation/global/tools/includes/required/t_doc2.inc index 33e96d1411be..4941d0fcf7ad 100755 --- a/testautomation/global/tools/includes/required/t_doc2.inc +++ b/testautomation/global/tools/includes/required/t_doc2.inc @@ -128,10 +128,11 @@ function hEnableDocumentEditMode() as boolean kontext "Active" if ( Active.exists( 1 ) ) then - printlog( "Successfully switched to edit mode" ) + printlog( "Handle " ) hCloseDialog( Active, "yes" ) + wait( 2000 ) + printlog( "Successfully switched to edit mode" ) hEnableDocumentEditMode() = true - wait( 1000 ) exit for endif endif -- cgit From c5cdb7b2a6fa052a64ee5a2aa1c2cc1d3ea1727d Mon Sep 17 00:00:00 2001 From: Carsten Driesner Date: Mon, 31 May 2010 12:59:01 +0200 Subject: fwk143: #i111516# Support language argument and configuration item for dictionary repository URL. --- instsetoo_native/util/openoffice.lst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index 30da95e51c97..2f0bb4446920 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -101,6 +101,7 @@ OpenOffice STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -168,6 +169,7 @@ OpenOffice_wJRE STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -241,6 +243,7 @@ OpenOffice_Dev STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -285,6 +288,7 @@ URE STARTCENTER_LAYOUT_STYLE 0 ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk PACKAGEMAP package_names_ext.txt + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -329,6 +333,7 @@ OpenOffice_SDK STARTCENTER_INFO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/homepage.jsp STARTCENTER_TEMPLREP_URL http://tools.services.openoffice.org/forward/OpenOffice.org/templates.jsp?cid=926383 STARTCENTER_LAYOUT_STYLE 0 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -380,6 +385,7 @@ OpenOffice_Dev_SDK STARTCENTER_INFO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/homepage.jsp STARTCENTER_TEMPLREP_URL http://tools.services.openoffice.org/forward/OpenOffice.org/templates.jsp?cid=926383 STARTCENTER_LAYOUT_STYLE 0 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -448,6 +454,7 @@ BrOffice STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -520,6 +527,7 @@ BrOffice_wJRE STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 @@ -592,6 +600,7 @@ BrOffice_Dev STARTCENTER_LAYOUT_STYLE 0 REGISTRATION_PRODUCT OpenOffice.org REGISTRATION_CID 926117 + DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp } active 1 compression 5 -- cgit From 720cb002b90767f097bed1ee63f61337632b731d Mon Sep 17 00:00:00 2001 From: Carsten Driesner Date: Mon, 31 May 2010 12:59:01 +0200 Subject: fwk143: #i111516# Support language argument and configuration item for dictionary repository URL. --- .../registry/data/org/openoffice/Office/Common.xcu | 5 ++ .../schema/org/openoffice/Office/Common.xcs | 13 +++++ sfx2/source/appl/appserv.cxx | 63 +++++++++++++++++++--- 3 files changed, 73 insertions(+), 8 deletions(-) diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu index 03e37b72f9ad..b7c019f24c28 100644 --- a/officecfg/registry/data/org/openoffice/Office/Common.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu @@ -157,6 +157,11 @@ WIN + + + ${DICT_REPO_URL} + + true diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index cb19bb01e1ba..02e05a932952 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -974,6 +974,19 @@ false + + + CD + Contains settings related to dictionaries. + + + + CD + Specifies a repository URL where users can download additional dictionaries. + + + + AW diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 14789100bb24..bd9efc9bca1e 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -51,20 +51,15 @@ #include #include -#ifndef _UNOTOOLS_PROCESSFACTORY_HXX #include -#endif #include +#include "comphelper/configurationhelper.hxx" -#ifndef _SVT_DOC_ADDRESSTEMPLATE_HXX_ #include -#endif #include #include -#ifndef _UNOTOOLS_CONFIGMGR_HXX_ #include -#endif #include #include #include @@ -90,6 +85,7 @@ #include #include #include +#include #include #include @@ -879,6 +875,31 @@ namespace } } +static ::rtl::OUString getConfigurationStringValue( + const ::rtl::OUString& rPackage, + const ::rtl::OUString& rRelPath, + const ::rtl::OUString& rKey, + const ::rtl::OUString& rDefaultValue ) +{ + ::rtl::OUString aDefVal( rDefaultValue ); + + try + { + ::comphelper::ConfigurationHelper::readDirectKey( + comphelper::getProcessServiceFactory(), + rPackage, + rRelPath, + rKey, + ::comphelper::ConfigurationHelper::E_READONLY) >>= aDefVal; + } + catch(const com::sun::star::uno::RuntimeException& exRun) + { throw exRun; } + catch(const com::sun::star::uno::Exception&) + {} + + return aDefVal; +} + void SfxApplication::OfaExec_Impl( SfxRequest& rReq ) { DBG_MEMTEST(); @@ -924,8 +945,34 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq ) uno::Reference< css::system::XSystemShellExecute > xSystemShell( xSMGR->createInstance( DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute" ) ), uno::UNO_QUERY_THROW ); - if ( xSystemShell.is() ) - xSystemShell->execute( DEFINE_CONST_UNICODE("http://extensions.services.openoffice.org/dictionary?cid=926385"), ::rtl::OUString(), css::system::SystemShellExecuteFlags::DEFAULTS ); + + // read repository URL from configuration + ::rtl::OUString sTemplRepoURL = + getConfigurationStringValue( + ::rtl::OUString::createFromAscii("org.openoffice.Office.Common"), + ::rtl::OUString::createFromAscii("Dictionaries"), + ::rtl::OUString::createFromAscii("RepositoryURL"), + ::rtl::OUString()); + + if ( xSystemShell.is() && sTemplRepoURL.getLength() > 0 ) + { + ::rtl::OUStringBuffer aURLBuf( sTemplRepoURL ); + aURLBuf.appendAscii( "?" ); + aURLBuf.appendAscii( "lang=" ); + + // read locale from configuration + ::rtl::OUString sLocale = getConfigurationStringValue( + ::rtl::OUString::createFromAscii("org.openoffice.Setup"), + ::rtl::OUString::createFromAscii("L10N"), + ::rtl::OUString::createFromAscii("ooLocale"), + ::rtl::OUString::createFromAscii("en-US")); + + aURLBuf.append( sLocale ); + xSystemShell->execute( + aURLBuf.makeStringAndClear(), + ::rtl::OUString(), + css::system::SystemShellExecuteFlags::DEFAULTS ); + } } catch( const ::com::sun::star::uno::Exception& ) { -- cgit From d1d09abe2763b4dffe63db568cc1472505f057d5 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:28:11 +0900 Subject: i#111382: Mingw port for hunspell 1.2.9 --- hunspell/hunspell-mingw.patch | 12 ++++++++++++ hunspell/makefile.mk | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 hunspell/hunspell-mingw.patch diff --git a/hunspell/hunspell-mingw.patch b/hunspell/hunspell-mingw.patch new file mode 100644 index 000000000000..0120e01ddba1 --- /dev/null +++ b/hunspell/hunspell-mingw.patch @@ -0,0 +1,12 @@ +--- misc/hunspell-1.2.9/src/tools/hunspell.cxx 2010-02-27 23:37:14.000000000 +0900 ++++ misc/build/hunspell-1.2.9/src/tools/hunspell.cxx 2010-04-25 07:57:39.233875000 +0900 +@@ -27,7 +27,9 @@ + + #ifdef WIN32 + ++#ifndef __MINGW32__ + #define gettext ++#endif + #define LIBDIR "C:\\Hunspell\\" + #define USEROOODIR "Application Data\\OpenOffice.org 2\\user\\wordbook" + #define OOODIR \ diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk index f58204a33bc5..50916926d3f4 100644 --- a/hunspell/makefile.mk +++ b/hunspell/makefile.mk @@ -71,8 +71,11 @@ OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a .IF "$(GUI)"=="WNT" .IF "$(COM)"=="GCC" +PATCH_FILES=\ + hunspell-mingw.patch + CONFIGURE_ACTION=configure -CONFIGURE_FLAGS= --disable-shared --with-pic +CONFIGURE_FLAGS= --disable-shared --with-pic LDFLAGS=-Wl,--enable-auto-import BUILD_ACTION=make OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a .ELSE -- cgit From 507a99439f846e5381b583b30898afd3415b2cc1 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- sd/util/makefile.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sd/util/makefile.mk b/sd/util/makefile.mk index bfe4d1fd1b40..a9be975d5b0a 100644 --- a/sd/util/makefile.mk +++ b/sd/util/makefile.mk @@ -229,7 +229,7 @@ SHL4OBJS += $(SLO)$/pchname.obj \ .ENDIF # "$(GUI)$(COM)" == "WNTMSC" # $(ISDLIB) is build in SHL1TARGET -.IF "$(GUI)" == "UNX" +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL4DEPN=$(SHL1TARGETN) SHL5DEPN=$(SHL1TARGETN) .ELSE -- cgit From d3b9e9e1d0a52dc8ae8485b7ec40bb6ce40d6f80 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- automation/util/makefile.mk | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/automation/util/makefile.mk b/automation/util/makefile.mk index e683e73631b8..6f1642658a5d 100644 --- a/automation/util/makefile.mk +++ b/automation/util/makefile.mk @@ -123,7 +123,11 @@ SHL3STDLIBS+= \ SHL3DEF= $(MISC)$/$(SHL3TARGET).def SHL3LIBS= $(SLB)$/communi.lib +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL3DEPN=$(SHL2TARGETN) +.ELSE +SHL3DEPN=$(SHL2IMPLIBN) +.ENDIF DEF3NAME =$(SHL3TARGET) DEF3DEPN = \ @@ -136,7 +140,7 @@ DEF3DES =Communication APP1TARGET=testtool -.IF "$(GUI)" == "UNX" +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" APP1DEPN+=$(SHL2TARGETN) $(SHL3TARGETN) .ELSE APP1DEPN+=$(SHL2IMPLIBN) $(SHL3IMPLIBN) @@ -228,7 +232,7 @@ APP3STDLIBS+= \ .ENDIF .ENDIF # $(AUTOMATIONLIB) is build in SHL1TARGET -.IF "$(GUI)"=="UNX" +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" APP3DEPN=$(SHL1TARGETN) .ELSE APP3DEPN=$(SHL1IMPLIBN) -- cgit From 1170fd37d8fc8aac76a4440d642c90a42cf5f5e6 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- sc/util/makefile.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sc/util/makefile.mk b/sc/util/makefile.mk index b7b12e07ee6a..c465a66500ad 100644 --- a/sc/util/makefile.mk +++ b/sc/util/makefile.mk @@ -174,7 +174,11 @@ SHL6LIBS= \ SHL6VERSIONMAP= scfilt.map SHL6DEF=$(MISC)$/$(SHL6TARGET).def DEF6NAME= $(SHL6TARGET) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL6DEPN=$(SHL1TARGETN) +.ELSE +SHL6DEPN=$(SHL1IMPLIBN) +.ENDIF SHL6STDLIBS= \ $(ISCLIB) \ $(BASICLIB) \ @@ -206,7 +210,11 @@ SHL8TARGET= scui$(DLLPOSTFIX) SHL8IMPLIB= scuiimp SHL8VERSIONMAP= scui.map SHL8DEF=$(MISC)$/$(SHL8TARGET).def +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL8DEPN=$(SHL1TARGETN) +.ELSE +SHL8DEPN=$(SHL1IMPLIBN) +.ENDIF DEF8NAME=$(SHL8TARGET) SHL8STDLIBS= \ @@ -317,7 +325,11 @@ SHL9STDLIBS= \ $(SVXMSFILTERLIB) \ $(FORLIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL9DEPN=$(SHL1TARGETN) $(SHL8TARGETN) +.ELSE +SHL9DEPN=$(SHL1IMPLIBN) $(SHL8IMPLIBN) +.ENDIF SHL9LIBS=$(SLB)$/$(TARGET_VBA).lib .IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" -- cgit From 08c5dbe4de29dfbdba96ce9a269d203154472bba Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- desktop/source/pkgchk/unopkg/makefile.mk | 8 ++++++++ framework/util/makefile.mk | 24 ++++++++++++++++++++---- svx/util/makefile.mk | 4 ++++ vbahelper/util/makefile.mk | 4 ++++ 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/desktop/source/pkgchk/unopkg/makefile.mk b/desktop/source/pkgchk/unopkg/makefile.mk index 8384f1b24372..729548cbadd1 100644 --- a/desktop/source/pkgchk/unopkg/makefile.mk +++ b/desktop/source/pkgchk/unopkg/makefile.mk @@ -49,7 +49,11 @@ CFLAGS+=-DSYSTEM_DB -I$(DB_INCLUDES) APP1TARGET = so$/unopkg APP1OBJS = $(OBJFILES) APP1STDLIBS = $(SALLIB) $(UNOPKGAPPLIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" APP1DEPN = $(SHL1TARGETN) +.ELSE +APP1DEPN = $(SHL1IMPLIBN) +.ENDIF APP1NOSAL = TRUE APP1RPATH = BRAND .IF "$(OS)" == "WNT" @@ -61,7 +65,11 @@ APP1LINKRES = $(MISC)$/$(TARGET)1.res APP2TARGET = unopkg APP2OBJS = $(OBJFILES) APP2STDLIBS = $(SALLIB) $(UNOPKGAPPLIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" APP2DEPN = $(SHL1TARGETN) +.ELSE +APP2DEPN = $(SHL1IMPLIBN) +.ENDIF APP2NOSAL = TRUE APP2RPATH = BRAND .IF "$(OS)" == "WNT" diff --git a/framework/util/makefile.mk b/framework/util/makefile.mk index b1b7c691d29f..08218b6267b3 100644 --- a/framework/util/makefile.mk +++ b/framework/util/makefile.mk @@ -158,7 +158,11 @@ SHL2STDLIBS= \ $(SALLIB) SHL2DEF= $(MISC)$/$(SHL2TARGET).def -SHL2DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" +SHL2DEPN= $(SHL1TARGETN) +.ELSE +SHL2DEPN= $(SHL1IMPLIBN) +.ENDIF DEF2NAME= $(SHL2TARGET) @@ -214,7 +218,11 @@ SHL3STDLIBS= \ $(SALLIB) SHL3DEF= $(MISC)$/$(SHL3TARGET).def -SHL3DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2TARGETN) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" +SHL3DEPN= $(SHL1TARGETN) $(SHL2TARGETN) +.ELSE +SHL3DEPN= $(SHL1IMPLIBN) $(SHL2IMPLIBN) +.ENDIF DEF3NAME= $(SHL3TARGET) @@ -355,7 +363,11 @@ SHL4STDLIBS= \ $(I18NISOLANGLIB) SHL4DEF= $(MISC)$/$(SHL4TARGET).def -SHL4DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2IMPLIBN) $(SHL2TARGETN) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" +SHL4DEPN= $(SHL1TARGETN) $(SHL2TARGETN) +.ELSE +SHL4DEPN= $(SHL1IMPLIBN) $(SHL2IMPLIBN) +.ENDIF DEF4NAME= $(SHL4TARGET) @@ -386,7 +398,11 @@ SHL5STDLIBS= \ $(SALLIB) SHL5DEF= $(MISC)$/$(SHL5TARGET).def -SHL5DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" +SHL5DEPN= $(SHL1TARGETN) +.ELSE +SHL5DEPN= $(SHL1IMPLIBN) +.ENDIF DEF5NAME= $(SHL5TARGET) diff --git a/svx/util/makefile.mk b/svx/util/makefile.mk index 0006fa2ff5fe..5ee482e6ac82 100644 --- a/svx/util/makefile.mk +++ b/svx/util/makefile.mk @@ -104,7 +104,11 @@ DEFLIB1NAME=$(SHL1LIBS:b) SHL2TARGET= svx$(DLLPOSTFIX) SHL2IMPLIB= i$(TARGET) SHL2USE_EXPORTS=name +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL2DEPN=$(SHL1TARGETN) +.ELSE +SHL2DEPN=$(SHL1IMPLIBN) +.ENDIF SHL2LIBS= \ $(SLB)$/svdraw.lib \ diff --git a/vbahelper/util/makefile.mk b/vbahelper/util/makefile.mk index dda4be0cbc81..54a17873cf94 100644 --- a/vbahelper/util/makefile.mk +++ b/vbahelper/util/makefile.mk @@ -96,7 +96,11 @@ SHL2STDLIBS= \ $(TKLIB) \ $(BASICLIB) \ +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL2DEPN=$(SHL1TARGETN) +.ELSE +SHL2DEPN=$(SHL1IMPLIBN) +.ENDIF SHL2LIBS=$(SLB)$/$(TARGET_MSFORMS).lib # --- Targets ----------------------------------------------------------- -- cgit From 84175290121a452462f1cc261b4e092ae0ff7282 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- i18npool/source/localedata/data/makefile.mk | 12 ++++++++++++ svtools/util/makefile.mk | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/i18npool/source/localedata/data/makefile.mk b/i18npool/source/localedata/data/makefile.mk index 2591b70fb63d..37f38b9f6e2d 100644 --- a/i18npool/source/localedata/data/makefile.mk +++ b/i18npool/source/localedata/data/makefile.mk @@ -285,7 +285,11 @@ SHL2DEF=$(MISC)$/$(SHL2TARGET).def DEF2NAME=$(SHL2TARGET) SHL2STDLIBS= $(LINK_LOCALEDATA_EN_LIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL2DEPN=$(SHL1TARGETN) +.ELSE +SHL2DEPN=$(SHL1IMPLIBN) +.ENDIF SHL2OBJS= \ $(SLO)$/localedata_es_AR.obj \ $(SLO)$/localedata_es_BO.obj \ @@ -323,7 +327,11 @@ SHL3DEF=$(MISC)$/$(SHL3TARGET).def DEF3NAME=$(SHL3TARGET) SHL3STDLIBS= $(LINK_LOCALEDATA_EN_LIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL3DEPN=$(SHL1TARGETN) $(SHL2TARGETN) +.ELSE +SHL3DEPN=$(SHL1IMPLIBN) $(SHL2IMPLIBN) +.ENDIF SHL3OBJS= \ $(SLO)$/localedata_ast_ES.obj \ $(SLO)$/localedata_be_BY.obj \ @@ -410,7 +418,11 @@ SHL4DEF=$(MISC)$/$(SHL4TARGET).def DEF4NAME=$(SHL4TARGET) SHL4STDLIBS= $(LINK_LOCALEDATA_EN_LIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL4DEPN=$(SHL1TARGETN) +.ELSE +SHL4DEPN=$(SHL1IMPLIBN) +.ENDIF SHL4OBJS= \ $(SLO)$/localedata_af_NA.obj \ $(SLO)$/localedata_af_ZA.obj \ diff --git a/svtools/util/makefile.mk b/svtools/util/makefile.mk index ab05facdb065..9239b36cc6dc 100644 --- a/svtools/util/makefile.mk +++ b/svtools/util/makefile.mk @@ -153,7 +153,11 @@ DEF1DES =SvTools APP2TARGET = g2g APP2BASE = 0x10000000 +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" APP2DEPN = $(SHL1TARGETN) $(SHL2TARGETN) +.ELSE +APP2DEPN = $(SHL1IMPLIBN) $(SHL2IMPLIBN) +.ENDIF APP2OBJS = $(OBJ)$/g2g.obj -- cgit From 4fb439b5dbd14905def23b37934eca18d8b45e7e Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- sw/util/makefile.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sw/util/makefile.mk b/sw/util/makefile.mk index 2907264d89cf..49c4390d6ae6 100644 --- a/sw/util/makefile.mk +++ b/sw/util/makefile.mk @@ -169,7 +169,11 @@ SHL3TARGET= swui$(DLLPOSTFIX) SHL3IMPLIB= swuiimp SHL3VERSIONMAP= swui.map SHL3DEF=$(MISC)$/$(SHL3TARGET).def +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL3DEPN=$(SHL1TARGETN) +.ELSE +SHL3DEPN=$(SHL1IMPLIBN) +.ENDIF DEF3NAME= $(SHL3TARGET) SHL3STDLIBS= \ @@ -309,7 +313,11 @@ SHL3OBJS += $(SLO)$/pchname.obj \ SHL4TARGET=msword$(DLLPOSTFIX) SHL4VERSIONMAP=msword.map SHL4LIBS=$(SLB)$/rtf.lib $(SLB)$/ww8.lib +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL4DEPN=$(SHL1TARGETN) +.ELSE +SHL4DEPN=$(SHL1IMPLIBN) +.ENDIF SHL4DEF=$(MISC)$/$(SHL4TARGET).def DEF4NAME=$(SHL4TARGET) @@ -369,7 +377,11 @@ SHL5STDLIBS= \ $(SVXCORELIB) \ $(SVXMSFILTERLIB) +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL5DEPN=$(SHL1TARGETN) +.ELSE +SHL5DEPN=$(SHL1IMPLIBN) +.ENDIF SHL5LIBS=$(SLB)$/$(TARGET_VBA).lib .ENDIF # .IF "$(ENABLE_VBA)" == "YES" -- cgit From 14ff62b355090a5604133cbf6d6ba4efb1da34a0 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:51:32 +0900 Subject: i#111956: MinGW port fix: dependency to shared library --- reportdesign/util/makefile.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reportdesign/util/makefile.mk b/reportdesign/util/makefile.mk index 32fe4eb2a5d6..eea64c2cd941 100644 --- a/reportdesign/util/makefile.mk +++ b/reportdesign/util/makefile.mk @@ -160,7 +160,11 @@ SHL2STDLIBS+= \ .ENDIF +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL2DEPN=$(SHL1TARGETN) +.ELSE +SHL2DEPN=$(SHL1IMPLIBN) +.ENDIF SHL2LIBS=$(LIB2TARGET) SHL2DEF=$(MISC)$/$(SHL2TARGET).def DEF2NAME=$(SHL2TARGET) @@ -216,7 +220,11 @@ SHL3STDLIBS+= \ .ENDIF +.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2" SHL3DEPN=$(SHL1TARGETN) +.ELSE +SHL3DEPN=$(SHL1IMPLIBN) +.ENDIF SHL3LIBS=$(LIB3TARGET) SHL3IMPLIB= i$(SHL3TARGET) SHL3VERSIONMAP=$(SOLARENV)/src/component.map -- cgit From 9bc06e6ac0d2031e6ed95229b0c1e1cf7d86ee90 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- berkeleydb/makefile.mk | 8 ++++---- cairo/cairo/makefile.mk | 4 +--- cairo/pixman/makefile.mk | 2 +- curl/makefile.mk | 6 +++--- graphite/makefile.mk | 4 ++-- hunspell/makefile.mk | 2 +- icu/makefile.mk | 1 + libxml2/makefile.mk | 6 +++--- libxslt/makefile.mk | 6 +++--- python/makefile.mk | 1 + 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/berkeleydb/makefile.mk b/berkeleydb/makefile.mk index 963c61a3bbde..325e8700e7a8 100644 --- a/berkeleydb/makefile.mk +++ b/berkeleydb/makefile.mk @@ -120,9 +120,9 @@ OUT2INC= \ CONFIGURE_DIR=out #relative to CONFIGURE_DIR # TODO needs clean up -CFLAGS+=-nostdinc -D_MT -db_CC=$(CC) -db_CXX=$(CXX) +CFLAGS+=-nostdinc +db_CC=$(CC) -mthreads +db_CXX=$(CXX) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" db_CC+=-shared-libgcc db_CXX+=-shared-libgcc @@ -132,7 +132,7 @@ db_LDFLAGS=-no-undefined -L$(SOLARVER)/$(INPATH)/lib -L$(SOLARVER)/$(INPATH)/bin db_LDFLAGS+=-L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api .ENDIF db_LDFLAGS+=-L$(COMPATH)/lib -L$(MINGW_CLIB_DIR) -db_LIBS=-lmingwthrd +db_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" CFLAGS+=-D_GLIBCXX_DLL db_LIBS+=-lstdc++_s diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk index e0b12cc9f551..a29012892576 100644 --- a/cairo/cairo/makefile.mk +++ b/cairo/cairo/makefile.mk @@ -70,11 +70,9 @@ cairo_CPPFLAGS+=$(INCLUDE) .IF "$(OS)"=="WNT" # --------- Windows ------------------------------------------------- .IF "$(COM)"=="GCC" -cairo_CFLAGS+=-D_MT cairo_LDFLAGS+=-no-undefined -L$(ILIB:s/;/ -L/) cairo_CPPFLAGS+=-nostdinc -cairo_CC=$(CC) -cairo_LIBS+=-lmingwthrd +cairo_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" cairo_CC+=-shared-libgcc diff --git a/cairo/pixman/makefile.mk b/cairo/pixman/makefile.mk index 20773c7597f8..f3c1c091639c 100644 --- a/cairo/pixman/makefile.mk +++ b/cairo/pixman/makefile.mk @@ -62,7 +62,7 @@ PATCH_FILES=..$/$(TARFILE_NAME).patch .IF "$(COM)"=="GCC" CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure -CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -D_MT" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" LIBS="-lmingwthrd" OBJDUMP="$(WRAPCMD) objdump" +CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -mthreads" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" OBJDUMP="$(WRAPCMD) objdump" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/curl/makefile.mk b/curl/makefile.mk index 1fab0c301bff..adab75f41d49 100644 --- a/curl/makefile.mk +++ b/curl/makefile.mk @@ -89,18 +89,18 @@ OUT2LIB=$(BUILD_DIR)$/.libs$/libcurl$(DLLPOST).4 .IF "$(GUI)"=="WNT" .IF "$(COM)"=="GCC" -curl_CC=$(CC) +curl_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" curl_CC+=-shared-libgcc .ENDIF -curl_LIBS=-lws2_32 -lwinmm -lmingwthrd +curl_LIBS=-lws2_32 -lwinmm .IF "$(MINGW_SHARED_GXXLIB)"=="YES" curl_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR=.$/ #relative to CONFIGURE_DIR CONFIGURE_ACTION=.$/configure -CONFIGURE_FLAGS= --without-ssl --enable-ftp --enable-ipv6 --disable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" CFLAGS=-D_MT LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)" +CONFIGURE_FLAGS= --without-ssl --enable-ftp --enable-ipv6 --disable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)" BUILD_DIR=$(CONFIGURE_DIR)$/lib BUILD_ACTION=make OUT2BIN=$(BUILD_DIR)$/.libs$/libcurl*.dll diff --git a/graphite/makefile.mk b/graphite/makefile.mk index 66100242bfe1..a2da080a0c76 100644 --- a/graphite/makefile.mk +++ b/graphite/makefile.mk @@ -101,7 +101,7 @@ GR_LIB_PATH= .IF "$(OS)"=="WNT" PATCH_FILES+=graphite-2.3.1.patch.mingw -EXTRA_GR_CXX_FLAGS=-nostdinc +EXTRA_GR_CXX_FLAGS=-mthreads -nostdinc .IF "$(MINGW_SHARED_GCCLIB)"=="YES" EXTRA_GR_CXX_FLAGS+=-shared-libgcc .ENDIF @@ -110,7 +110,7 @@ EXTRA_GR_LD_FLAGS+=-no-undefined # don't use SOLARLIB for LDFLAGS because it pulls in system graphite so build will fail # -CONFIGURE_ACTION=bash -c 'CXXFLAGS="$(INCLUDE) $(CFLAGSCXX) $(CFLAGSCOBJ) $(CDEFS) $(CDEFSOBJ) $(SOLARINC) $(LFS_CFLAGS) $(EXTRA_GR_CXX_FLAGS)" $(GR_LIB_PATH) LDFLAGS="-L$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT) $(EXTRA_GR_LD_FLAGS)" ./configure $(GR_CONFIGURE_FLAGS)' +CONFIGURE_ACTION=bash -c 'CXXFLAGS="$(INCLUDE) $(CFLAGSCXX) $(CFLAGSCOBJ) $(CDEFS) $(CDEFSOBJ) $(SOLARINC) $(LFS_CFLAGS) $(EXTRA_GR_CXX_FLAGS)" $(GR_LIB_PATH) LDFLAGS="-L$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT) $(EXTRA_GR_LD_FLAGS) -Wl,--enable-runtime-pseudo-reloc-v2" ./configure $(GR_CONFIGURE_FLAGS)' .ENDIF BUILD_DIR=$(CONFIGURE_DIR) diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk index 50916926d3f4..253607ab0c0f 100644 --- a/hunspell/makefile.mk +++ b/hunspell/makefile.mk @@ -75,7 +75,7 @@ PATCH_FILES=\ hunspell-mingw.patch CONFIGURE_ACTION=configure -CONFIGURE_FLAGS= --disable-shared --with-pic LDFLAGS=-Wl,--enable-auto-import +CONFIGURE_FLAGS= --disable-shared --with-pic LDFLAGS=-Wl,--enable-runtime-pseudo-reloc-v2 BUILD_ACTION=make OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.2.a .ELSE diff --git a/icu/makefile.mk b/icu/makefile.mk index 70ff42c1a443..2fafcfa75e8d 100644 --- a/icu/makefile.mk +++ b/icu/makefile.mk @@ -158,6 +158,7 @@ icu_LIBS=-lmingwthrd .IF "$(MINGW_SHARED_GXXLIB)"=="YES" icu_LIBS+=-lstdc++_s .ENDIF +icu_LDFLAGS+=-Wl,--enable-runtime-pseudo-reloc-v2 CONFIGURE_ACTION+=sh -c 'CFLAGS="-O -D_MT" CXXFLAGS="-O -D_MT" LDFLAGS="$(icu_LDFLAGS)" LIBS="$(icu_LIBS)" ./configure --build=i586-pc-mingw32 --enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no' #CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk index 9175391fbae8..057b92a8c121 100644 --- a/libxml2/makefile.mk +++ b/libxml2/makefile.mk @@ -57,17 +57,17 @@ PATCH_FILES=$(TARFILE_NAME).patch .IF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" PATCH_FILES+=$(TARFILE_NAME)-mingw.patch -xml2_CC=$(CC) +xml2_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" xml2_CC+=-shared-libgcc .ENDIF -xml2_LIBS=-lws2_32 -lmingwthrd +xml2_LIBS=-lws2_32 .IF "$(MINGW_SHARED_GXXLIB)"=="YES" xml2_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure -CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" CFLAGS=-D_MT LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP="$(WRAPCMD) objdump" +CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP="$(WRAPCMD) objdump" BUILD_ACTION=$(GNUMAKE) BUILD_DIR=$(CONFIGURE_DIR) .ELSE diff --git a/libxslt/makefile.mk b/libxslt/makefile.mk index 3cde964e53c4..29f05b8c297a 100644 --- a/libxslt/makefile.mk +++ b/libxslt/makefile.mk @@ -55,17 +55,17 @@ PATCH_FILES=$(TARFILE_NAME).patch $(TARFILE_NAME)_win_manifest.patch # This is only for UNX environment now .IF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" -xslt_CC=$(CC) +xslt_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" xslt_CC+=-shared-libgcc .ENDIF -xslt_LIBS=-lmingwthrd +xslt_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" xslt_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure -CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python --enable-static=no --with-sax1=yes --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xslt_CC)" CFLAGS="$(xslt_CFLAGS) -D_MT" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xslt_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP="$(WRAPCMD) objdump" +CONFIGURE_FLAGS=--enable-ipv6=no --without-crypto --without-python --enable-static=no --with-sax1=yes --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xslt_CC)" CFLAGS="$(xslt_CFLAGS)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xslt_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP="$(WRAPCMD) objdump" BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/python/makefile.mk b/python/makefile.mk index 86d9835e8604..a35e596669a0 100644 --- a/python/makefile.mk +++ b/python/makefile.mk @@ -93,6 +93,7 @@ python_LDFLAGS=-mno-cygwin -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" python_LDFLAGS+=-shared-libgcc .ENDIF +python_LDFLAGS+=-shared-libgcc -Wl,--enable-runtime-pseudo-reloc-v2 CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/python-inst --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)" BUILD_ACTION=$(ENV_BUILD) make && make install .ELSE -- cgit From 2f0d1f09eba36fcae6d3c97e234abc73dc1ef0b3 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- cppunit/makefile.mk | 5 + libxmlsec/makefile.mk | 6 +- libxmlsec/xmlsec1-mingw32.patch | 456 ---------------------------------------- redland/raptor/makefile.mk | 6 +- redland/rasqal/makefile.mk | 6 +- redland/redland/makefile.mk | 6 +- 6 files changed, 17 insertions(+), 468 deletions(-) diff --git a/cppunit/makefile.mk b/cppunit/makefile.mk index b57c341e2a23..cd96f3bf2707 100644 --- a/cppunit/makefile.mk +++ b/cppunit/makefile.mk @@ -71,6 +71,11 @@ $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE): ooo-cppunit_dll.mk ooo-DllPlugInTester.mk .ELSE +.IF "$(OS)" == "WNT" +EXTRA_CFLAGS += -mthreads +LDFLAGS += -Wl,--enable-runtime-pseudo-reloc-v2 +.ENDIF + .IF "$(USE_SYSTEM_STL)" != "YES" OOO_STLPORT_CXXFLAGS = -I$(SOLARINCDIR)/stl diff --git a/libxmlsec/makefile.mk b/libxmlsec/makefile.mk index 2c41ce0dec1d..f7671555f5d5 100644 --- a/libxmlsec/makefile.mk +++ b/libxmlsec/makefile.mk @@ -86,17 +86,17 @@ CRYPTOLIB=nss .IF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" -xmlsec_CC=$(CC) +xmlsec_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" xmlsec_CC+=-shared-libgcc .ENDIF -xmlsec_LIBS=-lmingwthrd +xmlsec_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" xmlsec_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure -CONFIGURE_FLAGS=--with-libxslt=no --with-openssl=no --with-gnutls=no --with-mozilla_ver=1.7.5 --enable-mscrypto --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xmlsec_CC)" CFLAGS="-D_MT" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xmlsec_LIBS)" LIBXML2LIB=$(LIBXML2LIB) ZLIB3RDLIB=$(ZLIB3RDLIB) OBJDUMP="$(WRAPCMD) objdump" +CONFIGURE_FLAGS=--with-libxslt=no --with-openssl=no --with-gnutls=no --with-mozilla_ver=1.7.5 --enable-mscrypto --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xmlsec_CC)" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xmlsec_LIBS)" LIBXML2LIB=$(LIBXML2LIB) ZLIB3RDLIB=$(ZLIB3RDLIB) OBJDUMP="$(WRAPCMD) objdump" .IF "$(SYSTEM_MOZILLA)" != "YES" CONFIGURE_FLAGS+=--enable-pkgconfig=no diff --git a/libxmlsec/xmlsec1-mingw32.patch b/libxmlsec/xmlsec1-mingw32.patch index d2ff676facb1..78a7f8f8ab9f 100644 --- a/libxmlsec/xmlsec1-mingw32.patch +++ b/libxmlsec/xmlsec1-mingw32.patch @@ -272,332 +272,6 @@ *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" ---- misc/xmlsec1-1.2.12/src/mscrypto/certkeys.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/certkeys.c 2009-09-29 15:49:39.643186151 +0200 -@@ -938,7 +938,11 @@ - static void xmlSecMSCryptoKeyDataRsaDebugDump(xmlSecKeyDataPtr data, FILE* output); - static void xmlSecMSCryptoKeyDataRsaDebugXmlDump(xmlSecKeyDataPtr data, FILE* output); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataRsaKlass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataRsaKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecMSCryptoKeyDataSize, - -@@ -1649,7 +1653,11 @@ - static void xmlSecMSCryptoKeyDataDsaDebugXmlDump(xmlSecKeyDataPtr data, - FILE* output); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataDsaKlass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataDsaKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecMSCryptoKeyDataSize, - ---- misc/xmlsec1-1.2.12/src/mscrypto/ciphers.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/ciphers.c 2009-09-29 15:49:39.652528324 +0200 -@@ -802,7 +802,11 @@ - * AES CBC cipher transforms - * - ********************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoAes128CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoAes128CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoBlockCipherSize, /* xmlSecSize objSize */ -@@ -841,7 +845,11 @@ - return(&xmlSecMSCryptoAes128CbcKlass); - } - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoAes192CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoAes192CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoBlockCipherSize, /* xmlSecSize objSize */ -@@ -880,7 +888,11 @@ - return(&xmlSecMSCryptoAes192CbcKlass); - } - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoAes256CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoAes256CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoBlockCipherSize, /* xmlSecSize objSize */ -@@ -923,7 +935,11 @@ - - - #ifndef XMLSEC_NO_DES -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoDes3CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoDes3CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* size_t klassSize */ - xmlSecMSCryptoBlockCipherSize, /* size_t objSize */ ---- misc/xmlsec1-1.2.12/src/mscrypto/digests.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/digests.c 2009-09-29 15:49:39.660554904 +0200 -@@ -329,7 +329,11 @@ - * SHA1 - * - *****************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* size_t klassSize */ - xmlSecMSCryptoDigestSize, /* size_t objSize */ ---- misc/xmlsec1-1.2.12/src/mscrypto/keysstore.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/keysstore.c 2009-09-29 15:49:39.667289994 +0200 -@@ -66,7 +66,11 @@ - const xmlChar* name, - xmlSecKeyInfoCtxPtr keyInfoCtx); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyStoreKlass xmlSecMSCryptoKeysStoreKlass = { -+#else - static xmlSecKeyStoreKlass xmlSecMSCryptoKeysStoreKlass = { -+#endif - sizeof(xmlSecKeyStoreKlass), - xmlSecMSCryptoKeysStoreSize, - ---- misc/xmlsec1-1.2.12/src/mscrypto/kt_rsa.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/kt_rsa.c 2009-09-29 15:49:39.674284044 +0200 -@@ -66,7 +66,11 @@ - static int xmlSecMSCryptoRsaPkcs1Process (xmlSecTransformPtr transform, - xmlSecTransformCtxPtr transformCtx); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoRsaPkcs1Klass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoRsaPkcs1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoRsaPkcs1Size, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/mscrypto/signatures.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/signatures.c 2009-09-29 15:49:39.682580497 +0200 -@@ -524,7 +524,11 @@ - * RSA-SHA1 signature transform - * - ***************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoRsaSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoRsaSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoSignatureSize, /* xmlSecSize objSize */ -@@ -572,7 +576,11 @@ - * - ***************************************************************************/ - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecMSCryptoDsaSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecMSCryptoDsaSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecMSCryptoSignatureSize, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/mscrypto/symkeys.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/symkeys.c 2009-09-29 15:49:39.691081347 +0200 -@@ -72,7 +72,11 @@ - * processing - * - *************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataAesKlass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataAesKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecKeyDataBinarySize, - -@@ -153,7 +157,11 @@ - * processing - * - *************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataDesKlass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataDesKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecKeyDataBinarySize, - ---- misc/xmlsec1-1.2.12/src/mscrypto/x509.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/x509.c 2009-09-29 15:49:39.699931741 +0200 -@@ -243,7 +243,11 @@ - - - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataX509Klass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataX509Klass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecMSCryptoX509DataSize, - -@@ -2148,7 +2152,11 @@ - xmlSecSize bufSize, - xmlSecKeyInfoCtxPtr keyInfoCtx); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecMSCryptoKeyDataRawX509CertKlass = { -+#else - static xmlSecKeyDataKlass xmlSecMSCryptoKeyDataRawX509CertKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - sizeof(xmlSecKeyData), - ---- misc/xmlsec1-1.2.12/src/mscrypto/x509vfy.c 2009-09-29 15:55:33.502779834 +0200 -+++ misc/build/xmlsec1-1.2.12/src/mscrypto/x509vfy.c 2009-09-29 15:49:39.708831697 +0200 -@@ -67,7 +67,11 @@ - static int xmlSecMSCryptoX509StoreInitialize (xmlSecKeyDataStorePtr store); - static void xmlSecMSCryptoX509StoreFinalize (xmlSecKeyDataStorePtr store); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataStoreKlass xmlSecMSCryptoX509StoreKlass = { -+#else - static xmlSecKeyDataStoreKlass xmlSecMSCryptoX509StoreKlass = { -+#endif - sizeof(xmlSecKeyDataStoreKlass), - xmlSecMSCryptoX509StoreSize, - ---- misc/xmlsec1-1.2.12/src/nss/ciphers.c 2009-09-29 15:55:33.488430535 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/ciphers.c 2009-09-29 15:49:39.717511164 +0200 -@@ -777,7 +777,11 @@ - * AES CBC cipher transforms - * - ********************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssAes128CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecNssAes128CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssBlockCipherSize, /* xmlSecSize objSize */ -@@ -816,7 +820,11 @@ - return(&xmlSecNssAes128CbcKlass); - } - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssAes192CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecNssAes192CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssBlockCipherSize, /* xmlSecSize objSize */ -@@ -855,7 +863,11 @@ - return(&xmlSecNssAes192CbcKlass); - } - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssAes256CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecNssAes256CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssBlockCipherSize, /* xmlSecSize objSize */ -@@ -897,7 +909,11 @@ - #endif /* XMLSEC_NO_AES */ - - #ifndef XMLSEC_NO_DES -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssDes3CbcKlass = { -+#else - static xmlSecTransformKlass xmlSecNssDes3CbcKlass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssBlockCipherSize, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/nss/digests.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/digests.c 2009-09-29 15:49:39.725650968 +0200 -@@ -285,7 +285,11 @@ - * SHA1 Digest transforms - * - *****************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecNssSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssDigestSize, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/nss/hmac.c 2009-09-29 15:55:33.409285968 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/hmac.c 2009-09-29 15:49:39.733673690 +0200 -@@ -502,7 +502,11 @@ - /** - * HMAC SHA1 - */ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssHmacSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecNssHmacSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssHmacSize, /* xmlSecSize objSize */ -@@ -544,7 +548,11 @@ - /** - * HMAC Ripemd160 - */ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssHmacRipemd160Klass = { -+#else - static xmlSecTransformKlass xmlSecNssHmacRipemd160Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssHmacSize, /* xmlSecSize objSize */ -@@ -586,7 +594,11 @@ - /** - * HMAC Md5 - */ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssHmacMd5Klass = { -+#else - static xmlSecTransformKlass xmlSecNssHmacMd5Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssHmacSize, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/nss/keysstore.c 2009-09-29 15:55:33.422265895 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/keysstore.c 2009-09-29 15:49:39.741628057 +0200 -@@ -489,7 +489,11 @@ - return NULL ; - } - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyStoreKlass xmlSecNssKeysStoreKlass = { -+#else - static xmlSecKeyStoreKlass xmlSecNssKeysStoreKlass = { -+#endif - sizeof( xmlSecKeyStoreKlass ) , - xmlSecNssKeysStoreSize , - BAD_CAST "implicit_nss_keys_store" , --- misc/xmlsec1-1.2.12/src/nss/keywrapers.c 2009-09-29 15:55:33.430875248 +0200 +++ misc/build/xmlsec1-1.2.12/src/nss/keywrapers.c 2009-09-29 15:49:39.749963247 +0200 @@ -1126,6 +1126,7 @@ @@ -632,133 +306,3 @@ #endif /* XMLSEC_NO_DES */ ---- misc/xmlsec1-1.2.12/src/nss/pkikeys.c 2009-09-29 15:55:33.440002568 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/pkikeys.c 2009-09-29 15:49:39.757984523 +0200 -@@ -491,7 +491,11 @@ - static void xmlSecNssKeyDataDsaDebugXmlDump (xmlSecKeyDataPtr data, - FILE* output); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataDsaKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataDsaKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssPKIKeyDataSize, - -@@ -1124,7 +1128,11 @@ - static void xmlSecNssKeyDataRsaDebugXmlDump (xmlSecKeyDataPtr data, - FILE* output); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataRsaKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataRsaKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssPKIKeyDataSize, - ---- misc/xmlsec1-1.2.12/src/nss/signatures.c 2009-06-25 22:53:18.000000000 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/signatures.c 2009-09-29 15:49:39.765851110 +0200 -@@ -459,7 +459,11 @@ - * - ***************************************************************************/ - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssDsaSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecNssDsaSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssSignatureSize, /* xmlSecSize objSize */ -@@ -506,7 +510,11 @@ - * RSA-SHA1 signature transform - * - ***************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecTransformKlass xmlSecNssRsaSha1Klass = { -+#else - static xmlSecTransformKlass xmlSecNssRsaSha1Klass = { -+#endif - /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecNssSignatureSize, /* xmlSecSize objSize */ ---- misc/xmlsec1-1.2.12/src/nss/symkeys.c 2009-09-29 15:55:33.448817761 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/symkeys.c 2009-09-29 15:49:39.773211741 +0200 -@@ -856,7 +856,11 @@ - * processing - * - *************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataAesKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataAesKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssSymKeyDataSize, - -@@ -937,7 +941,11 @@ - * processing - * - *************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataDesKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataDesKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssSymKeyDataSize, - -@@ -1019,7 +1027,11 @@ - * processing - * - *************************************************************************/ -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataHmacKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataHmacKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssSymKeyDataSize, - ---- misc/xmlsec1-1.2.12/src/nss/x509.c 2009-09-29 15:55:33.465839785 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/x509.c 2009-09-29 15:49:39.784408301 +0200 -@@ -235,7 +235,11 @@ - - - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataX509Klass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataX509Klass = { -+#endif - sizeof(xmlSecKeyDataKlass), - xmlSecNssX509DataSize, - -@@ -1779,7 +1783,11 @@ - xmlSecSize bufSize, - xmlSecKeyInfoCtxPtr keyInfoCtx); - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataKlass xmlSecNssKeyDataRawX509CertKlass = { -+#else - static xmlSecKeyDataKlass xmlSecNssKeyDataRawX509CertKlass = { -+#endif - sizeof(xmlSecKeyDataKlass), - sizeof(xmlSecKeyData), - ---- misc/xmlsec1-1.2.12/src/nss/x509vfy.c 2009-09-29 15:55:33.510337681 +0200 -+++ misc/build/xmlsec1-1.2.12/src/nss/x509vfy.c 2009-09-29 15:49:39.791239957 +0200 -@@ -64,7 +64,11 @@ - static void xmlSecNssX509StoreFinalize (xmlSecKeyDataStorePtr store); - static int xmlSecNssIntegerToItem( const xmlChar* integer , SECItem *it ) ; - -+#ifdef __MINGW32__ // for runtime-pseudo-reloc -+static struct _xmlSecKeyDataStoreKlass xmlSecNssX509StoreKlass = { -+#else - static xmlSecKeyDataStoreKlass xmlSecNssX509StoreKlass = { -+#endif - sizeof(xmlSecKeyDataStoreKlass), - xmlSecNssX509StoreSize, - diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk index 1375ae878497..62d4f704d0e4 100644 --- a/redland/raptor/makefile.mk +++ b/redland/raptor/makefile.mk @@ -68,11 +68,11 @@ BUILD_DIR=$(CONFIGURE_DIR)$/src .ELIF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" OOO_PATCH_FILES+=$(TARFILE_NAME).patch.mingw -raptor_CC=$(CC) +raptor_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" raptor_CC+=-shared-libgcc .ENDIF -raptor_LIBS=-lmingwthrd +raptor_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" raptor_LIBS+=-lstdc++_s .ENDIF @@ -80,7 +80,7 @@ raptor_LIBS+=-lstdc++_s CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure # do not enable grddl parser (#i93768#) -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(raptor_CC)" CFLAGS=-D_MT CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(raptor_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(raptor_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(raptor_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/redland/rasqal/makefile.mk b/redland/rasqal/makefile.mk index d48b7af39cb4..c375c62f0459 100644 --- a/redland/rasqal/makefile.mk +++ b/redland/rasqal/makefile.mk @@ -66,18 +66,18 @@ BUILD_ACTION=dmake BUILD_DIR=$(CONFIGURE_DIR)$/src .ELIF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" -rasqal_CC=$(CC) +rasqal_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" rasqal_CC+=-shared-libgcc .ENDIF -rasqal_LIBS=-lmingwthrd +rasqal_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" rasqal_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH" -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --disable-pcre --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(rasqal_CC)" CFLAGS=-D_MT CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(rasqal_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --disable-pcre --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(rasqal_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(rasqal_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/redland/redland/makefile.mk b/redland/redland/makefile.mk index d6acd4d8ea4d..a3a51c0e7b7f 100644 --- a/redland/redland/makefile.mk +++ b/redland/redland/makefile.mk @@ -66,18 +66,18 @@ BUILD_ACTION=dmake BUILD_DIR=$(CONFIGURE_DIR)$/librdf .ELIF "$(OS)"=="WNT" .IF "$(COM)"=="GCC" -redland_CC=$(CC) +redland_CC=$(CC) -mthreads .IF "$(MINGW_SHARED_GCCLIB)"=="YES" redland_CC+=-shared-libgcc .ENDIF -redland_LIBS=-lmingwthrd +redland_LIBS= .IF "$(MINGW_SHARED_GXXLIB)"=="YES" redland_LIBS+=-lstdc++_s .ENDIF CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH" -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(redland_CC)" CFLAGS=-D_MT CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(redland_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(redland_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(redland_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) -- cgit From 3655eab4df54f47e8821db8aed9b90fa7fab33bd Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- sfx2/source/bastyp/sfxhtml.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sfx2/source/bastyp/sfxhtml.cxx b/sfx2/source/bastyp/sfxhtml.cxx index 6132e958b900..8a4b434f460b 100644 --- a/sfx2/source/bastyp/sfxhtml.cxx +++ b/sfx2/source/bastyp/sfxhtml.cxx @@ -62,11 +62,7 @@ sal_Char __FAR_DATA sHTML_MIME_application[] = "application/"; sal_Char __FAR_DATA sHTML_MIME_experimental[] = "x-"; // -#ifdef __MINGW32__ // for runtime pseudo reloc -static HTMLOptionEnum aAreaShapeOptEnums[] = -#else static HTMLOptionEnum __READONLY_DATA aAreaShapeOptEnums[] = -#endif { { OOO_STRING_SVTOOLS_HTML_SH_rect, IMAP_OBJ_RECTANGLE }, { OOO_STRING_SVTOOLS_HTML_SH_rectangle, IMAP_OBJ_RECTANGLE }, -- cgit From 891b5a314552a1d2e6bdacec2806e4b2e220ffc6 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- svtools/source/svhtml/parhtml.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx index 67fc5f619fdf..ade58688dc55 100644 --- a/svtools/source/svhtml/parhtml.cxx +++ b/svtools/source/svhtml/parhtml.cxx @@ -2118,11 +2118,7 @@ enum eHtmlMetas { }; // -#ifdef __MINGW32__ // for runtime pseudo reloc -static HTMLOptionEnum aHTMLMetaNameTable[] = -#else static HTMLOptionEnum __READONLY_DATA aHTMLMetaNameTable[] = -#endif { { OOO_STRING_SVTOOLS_HTML_META_author, HTML_META_AUTHOR }, { OOO_STRING_SVTOOLS_HTML_META_changed, HTML_META_CHANGED }, -- cgit From bde650dd2a934d2915e00e0ac88f4c93c60c5db1 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- sw/source/filter/rtf/rtfatr.cxx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sw/source/filter/rtf/rtfatr.cxx b/sw/source/filter/rtf/rtfatr.cxx index 7dcb732df601..3902078bf8d5 100644 --- a/sw/source/filter/rtf/rtfatr.cxx +++ b/sw/source/filter/rtf/rtfatr.cxx @@ -3773,11 +3773,7 @@ static Writer& OutRTF_SwFmtBox( Writer& rWrt, const SfxPoolItem& rHt ) static USHORT __READONLY_DATA aBorders[] = { BOX_LINE_TOP, BOX_LINE_LEFT, BOX_LINE_BOTTOM, BOX_LINE_RIGHT }; -#ifdef __MINGW32__ // for runtime pseudo reloc - static const sal_Char* aBorderNames[] = { -#else static const sal_Char* __READONLY_DATA aBorderNames[] = { -#endif OOO_STRING_SVTOOLS_RTF_BRDRT, OOO_STRING_SVTOOLS_RTF_BRDRL, OOO_STRING_SVTOOLS_RTF_BRDRB, OOO_STRING_SVTOOLS_RTF_BRDRR }; USHORT nDist = rBox.GetDistance(); -- cgit From 216ac5c489a642f0ea02edf2c89f2f515c97c83d Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- solenv/inc/wntgcci.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solenv/inc/wntgcci.mk b/solenv/inc/wntgcci.mk index abb2bb25e34d..a6c7e67cfd9f 100644 --- a/solenv/inc/wntgcci.mk +++ b/solenv/inc/wntgcci.mk @@ -110,7 +110,7 @@ LINK*=$(CXX) LINKC*=$(CC) CYGLIB=$(LIB:s/;/ -L/) -LINKFLAGS=-nostdlib -Wl,--enable-stdcall-fixup,--enable-runtime-pseudo-reloc -L$(CYGLIB) +LINKFLAGS=-nostdlib -Wl,--enable-stdcall-fixup,--enable-runtime-pseudo-reloc-v2 -L$(CYGLIB) .IF "$(USE_MINGW)"=="cygwin" MINGWLIBDIR=$(COMPATH)$/lib$/mingw .ELSE -- cgit From cdce30bdbfe22f4b24ff2b2d96881506dd65e277 Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- sal/systools/win32/uwinapi/DllMain.cpp | 9 ++++----- sal/systools/win32/uwinapi/sntprintf.c | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sal/systools/win32/uwinapi/DllMain.cpp b/sal/systools/win32/uwinapi/DllMain.cpp index ff42ebf1f1dd..94f6c34fec24 100644 --- a/sal/systools/win32/uwinapi/DllMain.cpp +++ b/sal/systools/win32/uwinapi/DllMain.cpp @@ -223,14 +223,13 @@ extern "C" BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID ) { case DLL_PROCESS_ATTACH: UWINAPI_BaseAddress = hModule; +#ifdef __MINGW32__ + return TRUE; +#else return DisableThreadLibraryCalls( hModule ); +#endif default: return TRUE; } } - - - - - diff --git a/sal/systools/win32/uwinapi/sntprintf.c b/sal/systools/win32/uwinapi/sntprintf.c index 25e9c6df1f41..69d47821311c 100644 --- a/sal/systools/win32/uwinapi/sntprintf.c +++ b/sal/systools/win32/uwinapi/sntprintf.c @@ -10,7 +10,7 @@ #pragma warning(disable:4273) // inconsistent dll linkage #endif -#if _MSC_VER < 1300 +#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || (defined(__MINGW32_VERSION) && ((__MINGW32_MAJOR_VERSION < 3)||((__MINGW32_MAJOR_VERSION == 3)&&(__MINGW32_MINOR_VERSION < 18)))) /* The non-debug versions of _vscprintf/_scprintf are just calls to _vsprintf/_sprintf with string buffer pointer set to NULL, -- cgit From 3a14fca82951ee29805a2e96f03e67693661981c Mon Sep 17 00:00:00 2001 From: tono Date: Mon, 31 May 2010 21:53:32 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 --- xpdf/makefile.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xpdf/makefile.mk b/xpdf/makefile.mk index 0a138b8d84aa..c3dea0f006d5 100644 --- a/xpdf/makefile.mk +++ b/xpdf/makefile.mk @@ -88,6 +88,8 @@ CXXFLAGS+=-malign-natural BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) .ELSE .IF "$(COM)"=="GCC" +LDFLAGS=-Wl,--enable-runtime-pseudo-reloc-v2 +.EXPORT : LDFLAGS CONFIGURE_ACTION=./configure --without-x --enable-multithreaded --enable-exceptions LIBS=-lgdi32 BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) .ELSE -- cgit From ac7fee6151fadda39e02a42486baeff2fb1bc95a Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 31 May 2010 14:19:35 +0100 Subject: cmcfixes74: #i111960 use xdg-open when available --- shell/source/unix/misc/gnome-open-url.sh | 4 +-- shell/source/unix/misc/open-url.sh | 54 +++++++++++++++++++------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/shell/source/unix/misc/gnome-open-url.sh b/shell/source/unix/misc/gnome-open-url.sh index 1a52fc763783..ab730d169a49 100644 --- a/shell/source/unix/misc/gnome-open-url.sh +++ b/shell/source/unix/misc/gnome-open-url.sh @@ -1,6 +1,6 @@ #!/bin/sh -# use gnome-open utility coming with libgnome if available -gnome-open "$1" 2>/dev/null || "$0.bin" $1 +# use xdg-open or gnome-open if available +xdg-open "$1" 2>/dev/null || gnome-open "$1" 2>/dev/null || "$0.bin" $1 exit 0 diff --git a/shell/source/unix/misc/open-url.sh b/shell/source/unix/misc/open-url.sh index 5a70785f89d3..449af5915ce8 100755 --- a/shell/source/unix/misc/open-url.sh +++ b/shell/source/unix/misc/open-url.sh @@ -46,38 +46,48 @@ run_browser() { # special handling for mailto: uris if echo $1 | grep '^mailto:' > /dev/null; then + # check for xdg-email + mailer=`which xdg-email` + if [ ! -z "$mailer" ]; then + $mailer "$1" & + exit 0 + fi # check $MAILER variable if [ ! -z "$MAILER" ]; then $MAILER "$1" & exit 0 - else - # mozilla derivates may need -remote semantics - for i in thunderbird mozilla netscape; do - mailer=`which $i` - if [ ! -z "$mailer" ]; then - run_mozilla "$mailer" "$1" - exit 0 - fi - done - # handle all non mozilla mail clients below - # .. fi + # mozilla derivates may need -remote semantics + for i in thunderbird mozilla netscape; do + mailer=`which $i` + if [ ! -z "$mailer" ]; then + run_mozilla "$mailer" "$1" + exit 0 + fi + done + # handle all non mozilla mail clients below + # .. else + # check for xdg-open + browser=`which xdg-open` + if [ ! -z "$browser" ]; then + $browser "$1" & + exit 0 + fi # check $BROWSER variable if [ ! -z "$BROWSER" ]; then $BROWSER "$1" & exit 0 - else - # mozilla derivates may need -remote semantics - for i in firefox mozilla netscape; do - browser=`which $i` - if [ ! -z "$browser" ]; then - run_mozilla "$browser" "$1" - exit 0 - fi - done - # handle all non mozilla browers below - # .. fi + # mozilla derivates may need -remote semantics + for i in firefox mozilla netscape; do + browser=`which $i` + if [ ! -z "$browser" ]; then + run_mozilla "$browser" "$1" + exit 0 + fi + done + # handle all non mozilla browers below + # .. fi exit 1 -- cgit From 6df221320543d79ac1a0ef8ba290ed318e885442 Mon Sep 17 00:00:00 2001 From: Carsten Driesner Date: Mon, 31 May 2010 16:29:55 +0200 Subject: fwk143: #i102271# Fixed crash docking Draw/Impress panes --- vcl/source/window/dockwin.cxx | 2 +- vcl/source/window/window.cxx | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx index c8e382bad982..63451299756a 100644 --- a/vcl/source/window/dockwin.cxx +++ b/vcl/source/window/dockwin.cxx @@ -912,7 +912,7 @@ void DockingWindow::SetFloatingMode( BOOL bFloatMode ) mpWindowImpl->mpBorderWindow = mpOldBorderWin; SetParent( pRealParent ); mpWindowImpl->mpRealParent = pRealParent; - delete static_cast(mpFloatWin); + mpFloatWin->doLazyDelete(); mpFloatWin = NULL; SetPosPixel( maDockPos ); diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index b47aa50a2e72..092ff0fe1a9d 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -6260,6 +6260,23 @@ void Window::SetParent( Window* pNewParent ) pSysWin->GetTaskPaneList()->RemoveWindow( this ); } } + + // de-register as "top window child" at our parent, if necessary + if ( mpWindowImpl->mbFrame ) + { + BOOL bIsTopWindow = mpWindowImpl->mpWinData && ( mpWindowImpl->mpWinData->mnIsTopWindow == 1 ); + if ( mpWindowImpl->mpRealParent && bIsTopWindow ) + { + ImplWinData* pParentWinData = mpWindowImpl->mpRealParent->ImplGetWinData(); + + ::std::list< Window* >::iterator myPos = ::std::find( pParentWinData->maTopWindowChildren.begin(), + pParentWinData->maTopWindowChildren.end(), this ); + DBG_ASSERT( myPos != pParentWinData->maTopWindowChildren.end(), "Window::~Window: inconsistency in top window chain!" ); + if ( myPos != pParentWinData->maTopWindowChildren.end() ) + pParentWinData->maTopWindowChildren.erase( myPos ); + } + } + // remove ownerdraw decorated windows from list in the top-most frame window if( (GetStyle() & WB_OWNERDRAWDECORATION) && mpWindowImpl->mbFrame ) { @@ -6398,6 +6415,12 @@ void Window::SetParent( Window* pNewParent ) if( bChangeTaskPaneList ) pNewSysWin->GetTaskPaneList()->AddWindow( this ); + if ( mpWindowImpl->mbFrame && pNewParent && IsTopWindow() ) + { + ImplWinData* pParentWinData = pNewParent->ImplGetWinData(); + pParentWinData->maTopWindowChildren.push_back( this ); + } + if( (GetStyle() & WB_OWNERDRAWDECORATION) && mpWindowImpl->mbFrame ) ImplGetOwnerDrawList().push_back( this ); -- cgit From 00ed370b6abdb16fb0778e1faa5ab11a7ecf72b2 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 1 Jun 2010 01:00:06 +0200 Subject: vitomation01: #i109562 - Remove code duplication --- .../writer/optional/includes/option/wr_o_4.inc | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/testautomation/writer/optional/includes/option/wr_o_4.inc b/testautomation/writer/optional/includes/option/wr_o_4.inc index 7c7aece9f80b..d5a692fc5a24 100755 --- a/testautomation/writer/optional/includes/option/wr_o_4.inc +++ b/testautomation/writer/optional/includes/option/wr_o_4.inc @@ -293,9 +293,8 @@ testcase tToolsOptionsWriterOther Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.OK - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase '------------------------------------------------------------------------------ @@ -740,9 +739,8 @@ testcase tToolsOptionsWriterAutoCaption Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.OK - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase '------------------------------------------------------------------------------ @@ -852,9 +850,8 @@ testcase tToolsOptionsWriterGeneral Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.OK - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase '------------------------------------------------------------------------------ @@ -988,8 +985,7 @@ testcase tToolsOptionsWriterMailMerge Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.Ok - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hFileCloseAll() + endcase '------------------------------------------------------------------------------ -- cgit From b1017660ecac2d0f3755544f394238fea0fc71ff Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Tue, 1 Jun 2010 11:30:19 +0200 Subject: vcl112: #i111972# avoid sshutdown problems in default ICE IO error handler (thanks cmc!) --- vcl/unx/source/app/sm.cxx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/vcl/unx/source/app/sm.cxx b/vcl/unx/source/app/sm.cxx index dbaa278a780b..959d6af5912d 100644 --- a/vcl/unx/source/app/sm.cxx +++ b/vcl/unx/source/app/sm.cxx @@ -159,6 +159,10 @@ class ICEConnectionObserver static int nWakeupFiles[2]; static oslMutex ICEMutex; static oslThread ICEThread; +#ifdef USE_SM_EXTENSION + static IceIOErrorHandler origIOErrorHandler; + static IceErrorHandler origErrorHandler; +#endif public: static void activate(); @@ -179,6 +183,19 @@ oslMutex ICEConnectionObserver::ICEMutex = NULL; oslThread ICEConnectionObserver::ICEThread = NULL; int ICEConnectionObserver::nWakeupFiles[2] = { 0, 0 }; +#ifdef USE_SM_EXTENSION +IceIOErrorHandler ICEConnectionObserver::origIOErrorHandler = NULL; +IceErrorHandler ICEConnectionObserver::origErrorHandler = NULL; + +static void IgnoreIceErrors(IceConn, Bool, int, unsigned long, int, int, IcePointer) +{ +} + +static void IgnoreIceIOErrors(IceConn) +{ +} +#endif + // HACK bool SessionManagerClient::bDocSaveDone = false; @@ -591,6 +608,12 @@ void ICEConnectionObserver::activate() ICEMutex = osl_createMutex(); bIsWatching = TRUE; #ifdef USE_SM_EXTENSION + /* + * Default handlers call exit, we don't care that strongly if something + * happens to fail + */ + origIOErrorHandler = IceSetIOErrorHandler( IgnoreIceIOErrors ); + origErrorHandler = IceSetErrorHandler( IgnoreIceErrors ); IceAddConnectionWatch( ICEWatchProc, NULL ); #endif } @@ -604,6 +627,8 @@ void ICEConnectionObserver::deactivate() bIsWatching = FALSE; #ifdef USE_SM_EXTENSION IceRemoveConnectionWatch( ICEWatchProc, NULL ); + IceSetErrorHandler( origErrorHandler ); + IceSetIOErrorHandler( origIOErrorHandler ); #endif nConnections = 0; if( ICEThread ) -- cgit From cbe15fe5fdace258050a287a6074780cc6cb44ba Mon Sep 17 00:00:00 2001 From: "Herbert Duerr [hdu]" Date: Tue, 1 Jun 2010 12:45:01 +0200 Subject: #i100925# added translation for some ZH-WIN font names --- unotools/source/misc/fontdefs.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/unotools/source/misc/fontdefs.cxx b/unotools/source/misc/fontdefs.cxx index 4a3532b44659..878ed0b938ae 100644 --- a/unotools/source/misc/fontdefs.cxx +++ b/unotools/source/misc/fontdefs.cxx @@ -72,6 +72,8 @@ static sal_Unicode const aMSGothic[] = { 'm','s', 0x30B4, 0x30B7, 0x30C3, static sal_Unicode const aMSPGothic[] = { 'm','s','p', 0x30B4, 0x30B7, 0x30C3, 0x30AF, 0, 0 }; static sal_Unicode const aMSMincho[] = { 'm', 's', 0x660E, 0x671D, 0 }; static sal_Unicode const aMSPMincho[] = { 'm','s','p', 0x660E, 0x671D, 0 }; +static sal_Unicode const aMSYaHei[] = { 0x5FAE, 0x8F6F, 0x96C5, 0x9ED1, 0 }; +static sal_Unicode const aMSJhengHei[] = { 0x5FAE, 0x8EDF, 0x6B63, 0x9ED1, 0x9AD4, 0 }; static sal_Unicode const aMeiryo[] = { 0x30e1, 0x30a4, 0x30ea, 0x30aa, 0 }; static sal_Unicode const aHGMinchoL[] = { 'h','g', 0x660E, 0x671D, 'l', 0, 0 }; static sal_Unicode const aHGGothicB[] = { 'h','g', 0x30B4, 0x30B7, 0x30C3, 0x30AF, 'b', 0 }; @@ -179,7 +181,7 @@ static sal_Unicode const aHiraginoKakuGothicPro[] = { 0x30D2, 0x30E9, 0x30AE, static sal_Unicode const aHiraginoKakuGothicProN[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x89D2, 0x30B4, 'p','r','o','n',0}; static sal_Unicode const aHiraginoMaruGothicPro[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x4E38, 0x30B4, 'p','r','o',0}; static sal_Unicode const aHiraginoMaruGothicProN[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x4E38, 0x30B4, 'p','r','o','n',0}; - +static sal_Unicode const aTimesNewRoman[] = { 0x5B8B, 0x4F53 }; static ImplLocalizedFontName aImplLocalizedNamesList[] = { @@ -216,6 +218,8 @@ static ImplLocalizedFontName aImplLocalizedNamesList[] = { "mspgothic", aMSPGothic }, { "msmincho", aMSMincho }, { "mspmincho", aMSPMincho }, +{ "microsoftjhenghei", aMSJhengHei }, +{ "microsoftyahei", aMSYaHei }, { "meiryo", aMeiryo }, { "hgminchol", aHGMinchoL }, { "hggothicb", aHGGothicB }, @@ -314,6 +318,7 @@ static ImplLocalizedFontName aImplLocalizedNamesList[] = { "hiraginokakugothicpron", aHiraginoKakuGothicProN }, { "hiraginomarugothicpro", aHiraginoMaruGothicPro }, { "hiraginomarugothicpron", aHiraginoMaruGothicProN }, +{ "timesnewroman", aTimesNewRoman }, { NULL, NULL }, }; -- cgit From f228a0e3a37c155947580f78b433f1ba2da5d16b Mon Sep 17 00:00:00 2001 From: "Herbert Duerr [hdu]" Date: Tue, 1 Jun 2010 12:54:48 +0200 Subject: #i100925# added msyahei as default font for CJK locales --- officecfg/registry/data/org/openoffice/VCL.xcu | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu index 36fd48ebf753..231d9bc1ccc2 100644 --- a/officecfg/registry/data/org/openoffice/VCL.xcu +++ b/officecfg/registry/data/org/openoffice/VCL.xcu @@ -547,22 +547,22 @@ - 方正宋体;MSung Light SC;SimSun;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;MSung Light SC;SimSun;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正黑体;方正宋体;宋体;SimSun;黑体;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正黑体;方正宋体;宋体;SimSun;黑体;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 方正宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Song;FZSongYi;FZShuSong;NSimSun;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced @@ -571,7 +571,7 @@ 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light SC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif + 方正宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif @@ -579,19 +579,19 @@ 方正明體;細明體;MingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正黑体;新細明體;PMingLiU;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正明體;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正明體;細明體;MingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced @@ -600,7 +600,7 @@ 方正明體;細明體;MingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;AR PL Mingti2L Big5;AR PL KaitiM Big5;Kai;Arial Unicode MS;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;AR PL Mingti2L Big5;AR PL KaitiM Big5;Kai;Arial Unicode MS;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif @@ -608,16 +608,16 @@ 方正明體;細明體;MingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - FZHeiTi;方正明體;新細明體;PMingLiU;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;FZHeiTi;方正明體;新細明體;PMingLiU;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正明體;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;MingLiU;Ming;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma @@ -629,7 +629,7 @@ 方正明體;細明體;MingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;AR PL Mingti2L Big5;AR PL KaitiM Big5;Kai;Arial Unicode MS;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif + 微软雅黑;方正明體;新細明體;PMingLiU;文鼎PL細上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;AR PL Mingti2L Big5;AR PL KaitiM Big5;Kai;Arial Unicode MS;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif @@ -637,19 +637,19 @@ 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正黑体;方正宋体;宋体;SimSun;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正黑体;方正宋体;宋体;SimSun;文鼎PL中楷Uni;AR PL ZenKai Uni;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma + 微软雅黑;方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Song;FZSongYi;FZShuSong;MSung Light TC;MingLiU;Ming;PMingLiU;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;Tahoma 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced @@ -658,7 +658,7 @@ 方正宋体;新宋体;NSimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;MSung Light TC;Cumberland AMT;Cumberland;Courier New;Nimbus Mono L;Courier;Lucida Sans Typewriter;Lucida Typewriter;Monaco;Monospaced - 方正宋体;宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif + 方正宋体;SimSun;文鼎PL细上海宋Uni;AR PL ShanHeiSun Uni;文鼎PL新宋;AR PL New Sung;Andale Sans UI;ZYSong18030;AR PL SungtiL GB;AR PL KaitiM GB;SimSun;Arial Unicode MS;Fangsong;Hei;Song;Kai;Ming;gnu-unifont;Interface User;WarpSans;Geneva;Tahoma;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Arial;Helmet;Interface System;Sans Serif -- cgit From ea38408294e1a781bc31238e8c0b87714f7214d3 Mon Sep 17 00:00:00 2001 From: Frank Peters Date: Tue, 1 Jun 2010 14:35:19 +0200 Subject: #i111721# --- readlicense_oo/util/makefile.pmk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readlicense_oo/util/makefile.pmk b/readlicense_oo/util/makefile.pmk index 8aee1ce3b69a..30e07779457b 100755 --- a/readlicense_oo/util/makefile.pmk +++ b/readlicense_oo/util/makefile.pmk @@ -53,7 +53,7 @@ $(COMMONMISC)$/readme.dtd : ..$/readme.dtd virtual : $(MERGEDXRM) $(COMMONMISC)$/readme.dtd $(PRJ)$/docs/readme.xsl $(MISC)$/readme_text.xsl : virtual - $(SED) 's#method="html".*>#method="text"/>#' < ..$/readme.xsl > $@ + $(SED) '' < ..$/readme.xsl > $@ $(MISC)$/$(GUI)$/$(eq,$(GUI),WNT readme README)_%.html : 'virtual' @@-$(MKDIRHIER) $(@:d) @@ -79,6 +79,7 @@ $(SYSTEXTDOCS) : $(MISC)$/readme_text.xsl --stringparam os1 $(OS) --stringparam gui1 $(GUI) --stringparam com1 $(COM) \ --stringparam cp1 $(CPUNAME) --stringparam type text --stringparam lang1 $(@:b:s/readme_//:s/README_//) \ $< $(MERGEDXRM) + .IF "$(GUI)"=="UNX" chmod g+w $(MISC)$/$(GUI) .ENDIF # "$(GUI)"=="UNX" -- cgit From 894f1fd6d25110bae7f89eb54a73372c504c0ed1 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 1 Jun 2010 14:33:34 +0100 Subject: cmcfixes74: #i111995# remove unused xmerge/java --- xmerge/JAVA_TREE_IS_DEPRECATED | 1 - xmerge/README.TXT | 9 - xmerge/java/build.xml | 147 -- xmerge/java/makefile.mk | 32 - xmerge/java/org/openoffice/xmerge/Convert.java | 330 --- xmerge/java/org/openoffice/xmerge/ConvertData.java | 117 - .../org/openoffice/xmerge/ConvertException.java | 45 - .../openoffice/xmerge/ConverterCapabilities.java | 67 - .../org/openoffice/xmerge/ConverterFactory.java | 124 -- xmerge/java/org/openoffice/xmerge/Document.java | 99 - .../openoffice/xmerge/DocumentDeserializer.java | 65 - .../openoffice/xmerge/DocumentDeserializer2.java | 71 - .../xmerge/DocumentDeserializerFactory.java | 65 - .../java/org/openoffice/xmerge/DocumentMerger.java | 93 - .../openoffice/xmerge/DocumentMergerFactory.java | 63 - .../org/openoffice/xmerge/DocumentSerializer.java | 67 - .../org/openoffice/xmerge/DocumentSerializer2.java | 73 - .../xmerge/DocumentSerializerFactory.java | 63 - .../java/org/openoffice/xmerge/MergeException.java | 45 - .../java/org/openoffice/xmerge/PluginFactory.java | 193 -- xmerge/java/org/openoffice/xmerge/Version.java | 88 - xmerge/java/org/openoffice/xmerge/build.xml | 142 -- .../xmerge/converter/dom/DOMDocument.java | 382 ---- .../org/openoffice/xmerge/converter/dom/build.xml | 127 -- .../openoffice/xmerge/converter/dom/makefile.mk | 32 - .../openoffice/xmerge/converter/dom/package.html | 53 - .../openoffice/xmerge/converter/palm/PalmDB.java | 469 ---- .../xmerge/converter/palm/PalmDocument.java | 180 -- .../xmerge/converter/palm/PdbDecoder.java | 235 -- .../xmerge/converter/palm/PdbEncoder.java | 196 -- .../xmerge/converter/palm/PdbHeader.java | 162 -- .../openoffice/xmerge/converter/palm/PdbUtil.java | 106 - .../openoffice/xmerge/converter/palm/Record.java | 216 -- .../org/openoffice/xmerge/converter/palm/build.xml | 130 -- .../openoffice/xmerge/converter/palm/makefile.mk | 32 - .../openoffice/xmerge/converter/palm/package.html | 140 -- .../xmerge/converter/palm/palmtests/README | 50 - .../xmerge/converter/palm/palmtests/bin/README | 6 - .../xmerge/converter/palm/palmtests/bin/rd | 24 - .../xmerge/converter/palm/palmtests/bin/spose | 108 - .../converter/palm/palmtests/bin/verify_sane.pl | 108 - .../palm/palmtests/qa-wrapper/bin/qa_comparator.pl | 255 --- .../palmtests/qa-wrapper/bin/qa_test_driver.pl | 844 -------- .../palm/palmtests/qa-wrapper/bin/run-convtest | 536 ----- .../palm/palmtests/qa-wrapper/env/master.env | 85 - .../palm/palmtests/qa-wrapper/lists/master.list | 55 - .../results/baseline/pdb-base/a_animatedgif.pdb | Bin 208 -> 0 bytes .../results/baseline/pdb-base/a_bolddoc.pdb | Bin 243 -> 0 bytes .../results/baseline/pdb-base/a_bookmarks.pdb | Bin 648 -> 0 bytes .../baseline/pdb-base/a_bulletorderedlist.pdb | Bin 237 -> 0 bytes .../results/baseline/pdb-base/a_emptydoc.pdb | Bin 111 -> 0 bytes .../baseline/pdb-base/a_firstlineindent.pdb | Bin 254 -> 0 bytes .../results/baseline/pdb-base/a_fontsize.pdb | Bin 261 -> 0 bytes .../results/baseline/pdb-base/a_heading.pdb | Bin 159 -> 0 bytes .../results/baseline/pdb-base/a_heading1.pdb | Bin 160 -> 0 bytes .../results/baseline/pdb-base/a_heading2.pdb | Bin 150 -> 0 bytes .../results/baseline/pdb-base/a_hyperlink.pdb | Bin 304 -> 0 bytes .../results/baseline/pdb-base/a_justified.pdb | Bin 169 -> 0 bytes .../results/baseline/pdb-base/a_linebreaks.pdb | Bin 362 -> 0 bytes .../results/baseline/pdb-base/a_linespacing.pdb | Bin 435 -> 0 bytes .../baseline/pdb-base/a_numberorderedlist.pdb | Bin 232 -> 0 bytes .../results/baseline/pdb-base/a_pagebreak.pdb | Bin 174 -> 0 bytes .../results/baseline/pdb-base/a_paragraph.pdb | Bin 240 -> 0 bytes .../results/baseline/pdb-base/a_simple01.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_simple02.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_simple03.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_simple04.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_simple05.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_standard.pdb | Bin 158 -> 0 bytes .../results/baseline/pdb-base/a_subscript.pdb | Bin 161 -> 0 bytes .../results/baseline/pdb-base/a_superscript.pdb | Bin 164 -> 0 bytes .../results/baseline/pdb-base/a_symbols.pdb | Bin 190 -> 0 bytes .../qa-wrapper/results/baseline/pdb-base/a_tab.pdb | Bin 240 -> 0 bytes .../results/baseline/pdb-base/a_table.pdb | Bin 165 -> 0 bytes .../results/baseline/pdb-base/a_textspan.pdb | Bin 364 -> 0 bytes .../results/baseline/pdb-base/a_unorderedlist.pdb | Bin 428 -> 0 bytes .../results/baseline/pdb-base/a_wordwrap.pdb | Bin 221 -> 0 bytes .../baseline/pdb-base/c_addition-Sheet1.pdb | Bin 670 -> 0 bytes .../baseline/pdb-base/c_addition-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_addition-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_alignment-Sheet1.pdb | Bin 1534 -> 0 bytes .../baseline/pdb-base/c_alignment-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_alignment-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_backwardrange-Sheet1.pdb | Bin 558 -> 0 bytes .../baseline/pdb-base/c_backwardrange-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_backwardrange-Sheet3.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_basic-Sheet1.pdb | Bin 670 -> 0 bytes .../results/baseline/pdb-base/c_basic-Sheet2.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_basic-Sheet3.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_boolean-Sheet1.pdb | Bin 282 -> 0 bytes .../results/baseline/pdb-base/c_boolean-Sheet2.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_boolean-Sheet3.pdb | Bin 188 -> 0 bytes .../pdb-base/c_cellcurrencyalue-Sheet1.pdb | Bin 614 -> 0 bytes .../pdb-base/c_cellcurrencyalue-Sheet2.pdb | Bin 188 -> 0 bytes .../pdb-base/c_cellcurrencyalue-Sheet3.pdb | Bin 188 -> 0 bytes .../pdb-base/c_cellpercentvalue-Sheet1.pdb | Bin 324 -> 0 bytes .../pdb-base/c_cellpercentvalue-Sheet2.pdb | Bin 188 -> 0 bytes .../pdb-base/c_cellpercentvalue-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_cellstringvalue-Sheet1.pdb | Bin 651 -> 0 bytes .../baseline/pdb-base/c_cellstringvalue-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_cellstringvalue-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_columnswidth-Sheet1.pdb | Bin 631 -> 0 bytes .../baseline/pdb-base/c_columnswidth-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_columnswidth-Sheet3.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_cyclic-Sheet1.pdb | Bin 455 -> 0 bytes .../results/baseline/pdb-base/c_cyclic-Sheet2.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_cyclic-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_dividefloating-Sheet1.pdb | Bin 485 -> 0 bytes .../baseline/pdb-base/c_dividefloating-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_dividefloating-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_forwardrange-Sheet1.pdb | Bin 475 -> 0 bytes .../baseline/pdb-base/c_forwardrange-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_forwardrange-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_insertimage-Sheet1.pdb | Bin 250 -> 0 bytes .../baseline/pdb-base/c_insertimage-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_insertimage-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_invalidcellref-Sheet1.pdb | Bin 573 -> 0 bytes .../baseline/pdb-base/c_invalidcellref-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_invalidcellref-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_largerange-Sheet1.pdb | Bin 3957 -> 0 bytes .../baseline/pdb-base/c_largerange-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_largerange-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_listrange-Sheet1.pdb | Bin 1086 -> 0 bytes .../baseline/pdb-base/c_listrange-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_listrange-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_mathematical-Sheet1.pdb | Bin 958 -> 0 bytes .../baseline/pdb-base/c_mathematical-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_mathematical-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_protection-Sheet1.pdb | Bin 608 -> 0 bytes .../baseline/pdb-base/c_protection-Sheet2.pdb | Bin 238 -> 0 bytes .../baseline/pdb-base/c_protection-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_sheetreference-Sheet1.pdb | Bin 779 -> 0 bytes .../baseline/pdb-base/c_sheetreference-Sheet2.pdb | Bin 373 -> 0 bytes .../baseline/pdb-base/c_sheetreference-Sheet3.pdb | Bin 371 -> 0 bytes .../baseline/pdb-base/c_simple01-Sheet1.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple01-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple01-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple02-Sheet1.pdb | Bin 353 -> 0 bytes .../baseline/pdb-base/c_simple02-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple02-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple03-Sheet1.pdb | Bin 518 -> 0 bytes .../baseline/pdb-base/c_simple03-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple03-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple04-Sheet1.pdb | Bin 683 -> 0 bytes .../baseline/pdb-base/c_simple04-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_simple04-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_smallrange-Sheet1.pdb | Bin 651 -> 0 bytes .../baseline/pdb-base/c_smallrange-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_smallrange-Sheet3.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_styles-Sheet1.pdb | Bin 675 -> 0 bytes .../results/baseline/pdb-base/c_styles-Sheet2.pdb | Bin 188 -> 0 bytes .../results/baseline/pdb-base/c_styles-Sheet3.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_textimage-Sheet1.pdb | Bin 250 -> 0 bytes .../baseline/pdb-base/c_textimage-Sheet2.pdb | Bin 188 -> 0 bytes .../baseline/pdb-base/c_textimage-Sheet3.pdb | Bin 188 -> 0 bytes .../results/baseline/xml-base/Blocklist.dtd | 34 - .../results/baseline/xml-base/a_animatedgif.sxw | Bin 52952 -> 0 bytes .../results/baseline/xml-base/a_bolddoc.sxw | Bin 5500 -> 0 bytes .../results/baseline/xml-base/a_bookmarks.sxw | Bin 6047 -> 0 bytes .../baseline/xml-base/a_bulletorderedlist.sxw | Bin 6347 -> 0 bytes .../results/baseline/xml-base/a_emptydoc.sxw | Bin 5701 -> 0 bytes .../baseline/xml-base/a_firstlineindent.sxw | Bin 5519 -> 0 bytes .../results/baseline/xml-base/a_fontsize.sxw | Bin 6130 -> 0 bytes .../results/baseline/xml-base/a_heading.sxw | Bin 5518 -> 0 bytes .../results/baseline/xml-base/a_heading1.sxw | Bin 5640 -> 0 bytes .../results/baseline/xml-base/a_heading2.sxw | Bin 5964 -> 0 bytes .../results/baseline/xml-base/a_hyperlink.sxw | Bin 5514 -> 0 bytes .../results/baseline/xml-base/a_justified.sxw | Bin 6088 -> 0 bytes .../results/baseline/xml-base/a_linebreaks.sxw | Bin 6269 -> 0 bytes .../results/baseline/xml-base/a_linespacing.sxw | Bin 5618 -> 0 bytes .../baseline/xml-base/a_numberorderedlist.sxw | Bin 6188 -> 0 bytes .../results/baseline/xml-base/a_pagebreak.sxw | Bin 5534 -> 0 bytes .../results/baseline/xml-base/a_paragraph.sxw | Bin 5914 -> 0 bytes .../results/baseline/xml-base/a_simple01.sxw | Bin 5823 -> 0 bytes .../results/baseline/xml-base/a_simple02.sxw | Bin 5821 -> 0 bytes .../results/baseline/xml-base/a_simple03.sxw | Bin 5817 -> 0 bytes .../results/baseline/xml-base/a_simple04.sxw | Bin 5792 -> 0 bytes .../results/baseline/xml-base/a_simple05.sxw | Bin 5791 -> 0 bytes .../results/baseline/xml-base/a_standard.sxw | Bin 5797 -> 0 bytes .../results/baseline/xml-base/a_subscript.sxw | Bin 5798 -> 0 bytes .../results/baseline/xml-base/a_superscript.sxw | Bin 5799 -> 0 bytes .../results/baseline/xml-base/a_symbols.sxw | Bin 4916 -> 0 bytes .../qa-wrapper/results/baseline/xml-base/a_tab.sxw | Bin 5731 -> 0 bytes .../results/baseline/xml-base/a_table.sxw | Bin 6011 -> 0 bytes .../results/baseline/xml-base/a_textspan.sxw | Bin 5958 -> 0 bytes .../results/baseline/xml-base/a_unorderedlist.sxw | Bin 6817 -> 0 bytes .../results/baseline/xml-base/a_wordwrap.sxw | Bin 5363 -> 0 bytes .../results/baseline/xml-base/c_addition.sxc | Bin 5829 -> 0 bytes .../results/baseline/xml-base/c_alignment.sxc | Bin 6383 -> 0 bytes .../results/baseline/xml-base/c_backwardrange.sxc | Bin 5995 -> 0 bytes .../results/baseline/xml-base/c_basic.sxc | Bin 5830 -> 0 bytes .../results/baseline/xml-base/c_boolean.sxc | Bin 6066 -> 0 bytes .../baseline/xml-base/c_cellcurrencyalue.sxc | Bin 6776 -> 0 bytes .../baseline/xml-base/c_cellpercentvalue.sxc | Bin 6318 -> 0 bytes .../baseline/xml-base/c_cellstringvalue.sxc | Bin 6009 -> 0 bytes .../results/baseline/xml-base/c_columnswidth.sxc | Bin 6127 -> 0 bytes .../results/baseline/xml-base/c_cyclic.sxc | Bin 6005 -> 0 bytes .../results/baseline/xml-base/c_dividefloating.sxc | Bin 6315 -> 0 bytes .../results/baseline/xml-base/c_forwardrange.sxc | Bin 6058 -> 0 bytes .../results/baseline/xml-base/c_insertimage.sxc | Bin 40476 -> 0 bytes .../results/baseline/xml-base/c_invalidcellref.sxc | Bin 5838 -> 0 bytes .../results/baseline/xml-base/c_largerange.sxc | Bin 6306 -> 0 bytes .../results/baseline/xml-base/c_listrange.sxc | Bin 6162 -> 0 bytes .../results/baseline/xml-base/c_mathematical.sxc | Bin 6026 -> 0 bytes .../results/baseline/xml-base/c_protection.sxc | Bin 6839 -> 0 bytes .../results/baseline/xml-base/c_sheetreference.sxc | Bin 6173 -> 0 bytes .../results/baseline/xml-base/c_simple01.sxc | Bin 5080 -> 0 bytes .../results/baseline/xml-base/c_simple02.sxc | Bin 4962 -> 0 bytes .../results/baseline/xml-base/c_simple03.sxc | Bin 4995 -> 0 bytes .../results/baseline/xml-base/c_simple04.sxc | Bin 5007 -> 0 bytes .../results/baseline/xml-base/c_smallrange.sxc | Bin 5924 -> 0 bytes .../results/baseline/xml-base/c_styles.sxc | Bin 6531 -> 0 bytes .../results/baseline/xml-base/c_textimage.sxc | Bin 40702 -> 0 bytes .../qa-wrapper/results/baseline/xml-base/chart.mod | 228 -- .../results/baseline/xml-base/datastyl.mod | 168 -- .../results/baseline/xml-base/drawing.mod | 837 ------- .../results/baseline/xml-base/dtypes.mod | 143 -- .../qa-wrapper/results/baseline/xml-base/form.mod | 308 --- .../qa-wrapper/results/baseline/xml-base/meta.mod | 90 - .../results/baseline/xml-base/nmspace.mod | 50 - .../results/baseline/xml-base/office.dtd | 54 - .../results/baseline/xml-base/office.mod | 234 -- .../results/baseline/xml-base/script.mod | 51 - .../results/baseline/xml-base/settings.mod | 49 - .../qa-wrapper/results/baseline/xml-base/style.mod | 391 ---- .../qa-wrapper/results/baseline/xml-base/table.mod | 493 ----- .../qa-wrapper/results/baseline/xml-base/text.mod | 1099 ---------- .../qa-wrapper/testcases/a_animatedgif.infile | 4 - .../qa-wrapper/testcases/a_bolddoc.infile | 4 - .../qa-wrapper/testcases/a_bookmarks.infile | 4 - .../testcases/a_bulletorderedlist.infile | 4 - .../qa-wrapper/testcases/a_emptydoc-mod.infile | 9 - .../qa-wrapper/testcases/a_emptydoc.infile | 4 - .../qa-wrapper/testcases/a_firstlineindent.infile | 4 - .../qa-wrapper/testcases/a_fontsize.infile | 4 - .../qa-wrapper/testcases/a_heading.infile | 4 - .../qa-wrapper/testcases/a_heading1.infile | 4 - .../qa-wrapper/testcases/a_heading2.infile | 4 - .../qa-wrapper/testcases/a_hyperlink.infile | 4 - .../qa-wrapper/testcases/a_justified.infile | 4 - .../qa-wrapper/testcases/a_linebreaks.infile | 4 - .../qa-wrapper/testcases/a_linespacing.infile | 4 - .../testcases/a_numberorderedlist.infile | 4 - .../qa-wrapper/testcases/a_pagebreak.infile | 4 - .../qa-wrapper/testcases/a_paragraph.infile | 4 - .../qa-wrapper/testcases/a_simple01.infile | 4 - .../qa-wrapper/testcases/a_simple02.infile | 4 - .../qa-wrapper/testcases/a_simple03.infile | 4 - .../qa-wrapper/testcases/a_simple04.infile | 4 - .../qa-wrapper/testcases/a_simple05.infile | 5 - .../qa-wrapper/testcases/a_standard.infile | 4 - .../qa-wrapper/testcases/a_subscript.infile | 4 - .../qa-wrapper/testcases/a_superscript.infile | 4 - .../qa-wrapper/testcases/a_symbols.infile | 4 - .../palmtests/qa-wrapper/testcases/a_tab.infile | 4 - .../palmtests/qa-wrapper/testcases/a_table.infile | 5 - .../qa-wrapper/testcases/a_textspan.infile | 4 - .../qa-wrapper/testcases/a_unorderedlist.infile | 4 - .../qa-wrapper/testcases/a_wordwrap.infile | 4 - .../qa-wrapper/testcases/c_addition01-mod.infile | 5 - .../qa-wrapper/testcases/c_alignment.infile | 4 - .../testcases/c_backwardrange-mod.infile | 6 - .../qa-wrapper/testcases/c_basic-mod.infile | 5 - .../qa-wrapper/testcases/c_bob-mod.infile | 5 - .../qa-wrapper/testcases/c_boolean-mod.infile | 6 - .../testcases/c_cellcurrencyvalue.infile | 5 - .../testcases/c_cellpercentvalue-mod.infile | 8 - .../testcases/c_cellstringvalue-mod.infile | 10 - .../qa-wrapper/testcases/c_columnswidth-mod.infile | 3 - .../qa-wrapper/testcases/c_cyclic-mod.infile | 12 - .../testcases/c_dividefloating-mod.infile | 8 - .../qa-wrapper/testcases/c_forwardrange-mod.infile | 6 - .../qa-wrapper/testcases/c_insertimage.infile | 4 - .../qa-wrapper/testcases/c_insertrow-mod.infile | 13 - .../testcases/c_invalidcellref-mod.infile | 10 - .../qa-wrapper/testcases/c_largerange-mod.infile | 6 - .../qa-wrapper/testcases/c_listrange-mod.infile | 6 - .../qa-wrapper/testcases/c_mathematical-mod.infile | 10 - .../qa-wrapper/testcases/c_multi_boolean.infile | 5 - .../qa-wrapper/testcases/c_protection-mod01.infile | 6 - .../testcases/c_sheetreference-mod.infile | 6 - .../qa-wrapper/testcases/c_simple01-mod.infile | 13 - .../qa-wrapper/testcases/c_simple02-mod.infile | 13 - .../qa-wrapper/testcases/c_simple03-mod.infile | 22 - .../qa-wrapper/testcases/c_simple04-mod.infile | 14 - .../qa-wrapper/testcases/c_smallrange-mod.infile | 6 - .../palmtests/qa-wrapper/testcases/c_styles.infile | 3 - .../qa-wrapper/testcases/c_textimage.infile | 12 - .../palmtests/qa-wrapper/testcases/empty01.infile | 3 - .../qa-wrapper/testcases/hyperlink01.infile | 4 - .../palmtests/qa-wrapper/testcases/image01.infile | 4 - .../palmtests/qa-wrapper/testcases/simple01.infile | 3 - .../palmtests/qa-wrapper/testcases/simple02.infile | 3 - .../palmtests/qa-wrapper/testcases/simple03.infile | 3 - .../palmtests/qa-wrapper/testcases/simple04.infile | 3 - .../palmtests/qa-wrapper/testcases/simple05.infile | 4 - .../palmtests/qa-wrapper/testcases/table01.infile | 3 - .../palmtests/qa-wrapper/testcases/table02.infile | 3 - .../palmtests/qa-wrapper/testcases/table03.infile | 4 - .../palmtests/qa-wrapper/testcases/table04.infile | 4 - .../testcases/xml-orig/a_animatedgif.sxw | Bin 53136 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_bolddoc.sxw | Bin 5664 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_bookmarks.sxw | Bin 6227 -> 0 bytes .../testcases/xml-orig/a_bulletorderedlist.sxw | Bin 6347 -> 0 bytes .../testcases/xml-orig/a_emptydoc-mod.sxw | Bin 5880 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_emptydoc.sxw | Bin 5880 -> 0 bytes .../testcases/xml-orig/a_firstlineindent.sxw | Bin 5683 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_fontsize.sxw | Bin 6315 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_heading.sxw | Bin 5700 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_heading1.sxw | Bin 5819 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_heading2.sxw | Bin 6142 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_hyperlink.sxw | Bin 5673 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_justified.sxw | Bin 6269 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_linebreaks.sxw | Bin 6444 -> 0 bytes .../testcases/xml-orig/a_linespacing.sxw | Bin 5783 -> 0 bytes .../testcases/xml-orig/a_numberorderedlist.sxw | Bin 6366 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_pagebreak.sxw | Bin 5698 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_paragraph.sxw | Bin 6093 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_simple01.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_simple02.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_simple03.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_simple04.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_simple05.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_standard.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_subscript.sxw | Bin 5980 -> 0 bytes .../testcases/xml-orig/a_superscript.sxw | Bin 5981 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_symbols.sxw | Bin 5106 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_tab.sxw | Bin 5912 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_table.sxw | Bin 6181 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_textspan.sxw | Bin 6142 -> 0 bytes .../testcases/xml-orig/a_unorderedlist.sxw | Bin 6817 -> 0 bytes .../qa-wrapper/testcases/xml-orig/a_wordwrap.sxw | Bin 5524 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_addition.sxc | Bin 6020 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_alignment.sxc | Bin 6535 -> 0 bytes .../testcases/xml-orig/c_backwardrange.sxc | Bin 6204 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_basic.sxc | Bin 6020 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_boolean.sxc | Bin 6239 -> 0 bytes .../testcases/xml-orig/c_cellcurrencyalue.sxc | Bin 6776 -> 0 bytes .../testcases/xml-orig/c_cellpercentvalue.sxc | Bin 6495 -> 0 bytes .../testcases/xml-orig/c_cellstringvalue.sxc | Bin 6172 -> 0 bytes .../testcases/xml-orig/c_columnswidth.sxc | Bin 6287 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_cyclic.sxc | Bin 6005 -> 0 bytes .../testcases/xml-orig/c_dividefloating.sxc | Bin 6315 -> 0 bytes .../testcases/xml-orig/c_forwardrange.sxc | Bin 6259 -> 0 bytes .../testcases/xml-orig/c_insertimage.sxc | Bin 40702 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_insertrow.sxc | Bin 5157 -> 0 bytes .../testcases/xml-orig/c_invalidcellref.sxc | Bin 6035 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_largerange.sxc | Bin 6487 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_listrange.sxc | Bin 6370 -> 0 bytes .../testcases/xml-orig/c_mathematical.sxc | Bin 6351 -> 0 bytes .../testcases/xml-orig/c_multi_boolean.sxc | Bin 5338 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_protection.sxc | Bin 6839 -> 0 bytes .../testcases/xml-orig/c_sheetreference.sxc | Bin 6358 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_simple01.sxc | Bin 5176 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_simple02.sxc | Bin 4999 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_simple03.sxc | Bin 5044 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_simple04.sxc | Bin 5083 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_smallrange.sxc | Bin 6129 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_styles.sxc | Bin 6531 -> 0 bytes .../qa-wrapper/testcases/xml-orig/c_textimage.sxc | Bin 40702 -> 0 bytes .../qa-wrapper/testcases/xml-orig/empty01.sxw | Bin 5880 -> 0 bytes .../qa-wrapper/testcases/xml-orig/hyperlink01.sxw | Bin 6088 -> 0 bytes .../qa-wrapper/testcases/xml-orig/image01.sxw | Bin 53136 -> 0 bytes .../qa-wrapper/testcases/xml-orig/simple01.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/simple02.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/simple03.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/simple04.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/simple05.sxw | Bin 5978 -> 0 bytes .../qa-wrapper/testcases/xml-orig/table01.sxw | Bin 6443 -> 0 bytes .../qa-wrapper/testcases/xml-orig/table02.sxw | Bin 6443 -> 0 bytes .../qa-wrapper/testcases/xml-orig/table03.sxw | Bin 6443 -> 0 bytes .../qa-wrapper/testcases/xml-orig/table04.sxw | Bin 6443 -> 0 bytes .../converter/palm/palmtests/qa/bin/mysplit.pl | 56 - .../converter/palm/palmtests/qa/bin/tappen.pl | 59 - .../converter/palm/palmtests/qa/bin/template.pl | 53 - .../converter/palm/palmtests/qa/bin/test_driver.pl | 783 ------- .../palm/palmtests/qa/comparator/OfficeZip.java | 241 --- .../palm/palmtests/qa/comparator/PDBDecoder.java | 135 -- .../palm/palmtests/qa/comparator/PDBHeader.java | 154 -- .../palm/palmtests/qa/comparator/PDBUtil.java | 101 - .../palm/palmtests/qa/comparator/PalmDB.java | 350 --- .../converter/palm/palmtests/qa/comparator/README | 10 - .../palm/palmtests/qa/comparator/Record.java | 167 -- .../palmtests/qa/comparator/SimplePdbCompare.java | 94 - .../palm/palmtests/qa/comparator/XmlDiff.java | 465 ---- .../palmtests/qa/comparator/XmlDiff.properties | 13 - .../palm/palmtests/qa/comparator/XmlWrapper.java | 153 -- .../palmtests/qa/comparator/XmlZipExtract.java | 146 -- .../palm/palmtests/qa/comparator/comparator.pl | 245 --- .../palm/palmtests/qa/comparator/dtd/Blocklist.dtd | 34 - .../palm/palmtests/qa/comparator/dtd/chart.mod | 228 -- .../palm/palmtests/qa/comparator/dtd/datastyl.mod | 168 -- .../palm/palmtests/qa/comparator/dtd/drawing.mod | 837 ------- .../palm/palmtests/qa/comparator/dtd/dtypes.mod | 143 -- .../palm/palmtests/qa/comparator/dtd/form.mod | 308 --- .../palm/palmtests/qa/comparator/dtd/meta.mod | 90 - .../palm/palmtests/qa/comparator/dtd/nmspace.mod | 50 - .../palm/palmtests/qa/comparator/dtd/office.dtd | 54 - .../palm/palmtests/qa/comparator/dtd/office.mod | 234 -- .../palm/palmtests/qa/comparator/dtd/script.mod | 51 - .../palm/palmtests/qa/comparator/dtd/settings.mod | 49 - .../palm/palmtests/qa/comparator/dtd/style.mod | 391 ---- .../palm/palmtests/qa/comparator/dtd/table.mod | 493 ----- .../palm/palmtests/qa/comparator/dtd/text.mod | 1099 ---------- .../palmtests/qa/comparator/pdbcomparison.java | 542 ----- .../palm/palmtests/qa/docs/Doc_descriptions.sxc | Bin 8347 -> 0 bytes .../palmtests/qa/docs/Spreadsheet_descriptions.csv | 39 - .../palmtests/qa/docs/Spreadsheet_descriptions.sxc | Bin 5752 -> 0 bytes .../palm/palmtests/qa/lib/converterlib.pm | 1172 ---------- .../palm/palmtests/qa/palm-session/session | 8 - .../qa/test_spec/convertor_test_spec.html | 2274 -------------------- .../xmerge/converter/xml/EmbeddedBinaryObject.java | 128 -- .../xmerge/converter/xml/EmbeddedObject.java | 117 - .../xmerge/converter/xml/EmbeddedXMLObject.java | 298 --- .../xmerge/converter/xml/OfficeConstants.java | 439 ---- .../xmerge/converter/xml/OfficeDocument.java | 1234 ----------- .../converter/xml/OfficeDocumentException.java | 131 -- .../openoffice/xmerge/converter/xml/OfficeZip.java | 458 ---- .../openoffice/xmerge/converter/xml/ParaStyle.java | 607 ------ .../org/openoffice/xmerge/converter/xml/Style.java | 235 -- .../xmerge/converter/xml/StyleCatalog.java | 397 ---- .../xmerge/converter/xml/StyleTest01.xml | 169 -- .../openoffice/xmerge/converter/xml/TextStyle.java | 684 ------ .../org/openoffice/xmerge/converter/xml/build.xml | 137 -- .../openoffice/xmerge/converter/xml/makefile.mk | 32 - .../openoffice/xmerge/converter/xml/package.html | 39 - .../xmerge/converter/xml/sxc/BookSettings.java | 229 -- .../xmerge/converter/xml/sxc/CellStyle.java | 515 ----- .../xmerge/converter/xml/sxc/ColumnRowInfo.java | 195 -- .../xmerge/converter/xml/sxc/ColumnStyle.java | 306 --- .../converter/xml/sxc/DocumentMergerImpl.java | 199 -- .../xmerge/converter/xml/sxc/Format.java | 477 ---- .../xmerge/converter/xml/sxc/NameDefinition.java | 216 -- .../xmerge/converter/xml/sxc/RowStyle.java | 305 --- .../xmerge/converter/xml/sxc/SheetSettings.java | 374 ---- .../converter/xml/sxc/SpreadsheetDecoder.java | 181 -- .../converter/xml/sxc/SpreadsheetEncoder.java | 131 -- .../xmerge/converter/xml/sxc/SxcConstants.java | 50 - .../xmerge/converter/xml/sxc/SxcDocument.java | 93 - .../converter/xml/sxc/SxcDocumentDeserializer.java | 794 ------- .../converter/xml/sxc/SxcDocumentSerializer.java | 992 --------- .../xmerge/converter/xml/sxc/SxcPluginFactory.java | 83 - .../openoffice/xmerge/converter/xml/sxc/build.xml | 143 -- .../xmerge/converter/xml/sxc/makefile.mk | 32 - .../sxc/minicalc/ConverterCapabilitiesImpl.java | 113 - .../xml/sxc/minicalc/MinicalcConstants.java | 45 - .../xml/sxc/minicalc/MinicalcDataString.java | 545 ----- .../xml/sxc/minicalc/MinicalcDecoder.java | 744 ------- .../xml/sxc/minicalc/MinicalcEncoder.java | 582 ----- .../xml/sxc/minicalc/PluginFactoryImpl.java | 129 -- .../sxc/minicalc/SxcDocumentDeserializerImpl.java | 138 -- .../sxc/minicalc/SxcDocumentSerializerImpl.java | 141 -- .../xmerge/converter/xml/sxc/minicalc/build.xml | 135 -- .../converter/xml/sxc/minicalc/converter.xml | 43 - .../xmerge/converter/xml/sxc/minicalc/makefile.mk | 32 - .../xmerge/converter/xml/sxc/minicalc/package.html | 51 - .../xmerge/converter/xml/sxc/package.html | 38 - .../xml/sxc/pexcel/ConverterCapabilitiesImpl.java | 113 - .../xml/sxc/pexcel/PluginFactoryImpl.java | 130 -- .../xml/sxc/pexcel/PocketExcelConstants.java | 68 - .../xml/sxc/pexcel/PocketExcelDecoder.java | 446 ---- .../xml/sxc/pexcel/PocketExcelEncoder.java | 295 --- .../sxc/pexcel/SxcDocumentDeserializerImpl.java | 129 -- .../xml/sxc/pexcel/SxcDocumentSerializerImpl.java | 136 -- .../xmerge/converter/xml/sxc/pexcel/build.xml | 132 -- .../xmerge/converter/xml/sxc/pexcel/converter.xml | 43 - .../xmerge/converter/xml/sxc/pexcel/makefile.mk | 32 - .../xmerge/converter/xml/sxc/pexcel/package.html | 41 - .../xml/sxc/pexcel/records/BIFFRecord.java | 62 - .../xml/sxc/pexcel/records/BeginningOfFile.java | 116 - .../xml/sxc/pexcel/records/BlankCell.java | 116 - .../xml/sxc/pexcel/records/BoolErrCell.java | 127 -- .../xml/sxc/pexcel/records/BoundSheet.java | 137 -- .../xml/sxc/pexcel/records/CellValue.java | 138 -- .../converter/xml/sxc/pexcel/records/CodePage.java | 108 - .../converter/xml/sxc/pexcel/records/ColInfo.java | 158 -- .../xml/sxc/pexcel/records/DefColWidth.java | 95 - .../xml/sxc/pexcel/records/DefRowHeight.java | 97 - .../xml/sxc/pexcel/records/DefinedName.java | 227 -- .../converter/xml/sxc/pexcel/records/Eof.java | 72 - .../xml/sxc/pexcel/records/ExtendedFormat.java | 385 ---- .../xml/sxc/pexcel/records/FloatNumber.java | 121 -- .../xml/sxc/pexcel/records/FontDescription.java | 287 --- .../converter/xml/sxc/pexcel/records/Formula.java | 263 --- .../xml/sxc/pexcel/records/LabelCell.java | 140 -- .../xml/sxc/pexcel/records/NumberFormat.java | 95 - .../converter/xml/sxc/pexcel/records/Pane.java | 219 -- .../converter/xml/sxc/pexcel/records/Row.java | 139 -- .../xml/sxc/pexcel/records/Selection.java | 143 -- .../xml/sxc/pexcel/records/StringValue.java | 125 -- .../records/UnsupportedFormulaException.java | 43 - .../converter/xml/sxc/pexcel/records/Window1.java | 116 - .../converter/xml/sxc/pexcel/records/Window2.java | 155 -- .../converter/xml/sxc/pexcel/records/Workbook.java | 540 ----- .../xml/sxc/pexcel/records/Worksheet.java | 320 --- .../converter/xml/sxc/pexcel/records/build.xml | 152 -- .../pexcel/records/formula/FormulaCompiler.java | 272 --- .../sxc/pexcel/records/formula/FormulaHelper.java | 153 -- .../sxc/pexcel/records/formula/FormulaParser.java | 564 ----- .../records/formula/FormulaParsingException.java | 46 - .../sxc/pexcel/records/formula/FunctionLookup.java | 207 -- .../sxc/pexcel/records/formula/OperandLookup.java | 65 - .../sxc/pexcel/records/formula/OperatorLookup.java | 76 - .../xml/sxc/pexcel/records/formula/ParseToken.java | 43 - .../pexcel/records/formula/PrecedenceTable.java | 86 - .../sxc/pexcel/records/formula/SymbolLookup.java | 82 - .../xml/sxc/pexcel/records/formula/Token.java | 154 -- .../sxc/pexcel/records/formula/TokenConstants.java | 206 -- .../sxc/pexcel/records/formula/TokenDecoder.java | 498 ----- .../sxc/pexcel/records/formula/TokenEncoder.java | 561 ----- .../sxc/pexcel/records/formula/TokenFactory.java | 123 -- .../formula/UnsupportedFunctionException.java | 41 - .../xml/sxc/pexcel/records/formula/build.xml | 141 -- .../xml/sxc/pexcel/records/formula/makefile.mk | 32 - .../xml/sxc/pexcel/records/formula/package.html | 40 - .../converter/xml/sxc/pexcel/records/package.html | 45 - .../xmerge/converter/xml/sxw/SxwDocument.java | 95 - .../xmerge/converter/xml/sxw/SxwPluginFactory.java | 78 - .../sxw/aportisdoc/ConverterCapabilitiesImpl.java | 93 - .../converter/xml/sxw/aportisdoc/DocConstants.java | 69 - .../converter/xml/sxw/aportisdoc/DocDecoder.java | 304 --- .../converter/xml/sxw/aportisdoc/DocEncoder.java | 214 -- .../sxw/aportisdoc/DocumentDeserializerImpl.java | 313 --- .../xml/sxw/aportisdoc/DocumentMergerImpl.java | 99 - .../xml/sxw/aportisdoc/DocumentSerializerImpl.java | 532 ----- .../xml/sxw/aportisdoc/PluginFactoryImpl.java | 141 -- .../xmerge/converter/xml/sxw/aportisdoc/build.xml | 134 -- .../converter/xml/sxw/aportisdoc/converter.xml | 43 - .../converter/xml/sxw/aportisdoc/makefile.mk | 32 - .../converter/xml/sxw/aportisdoc/package.html | 237 -- .../openoffice/xmerge/converter/xml/sxw/build.xml | 128 -- .../xmerge/converter/xml/sxw/makefile.mk | 32 - .../xmerge/converter/xml/sxw/package.html | 38 - .../sxw/pocketword/ConverterCapabilitiesImpl.java | 93 - .../xml/sxw/pocketword/DocumentDescriptor.java | 236 -- .../sxw/pocketword/DocumentDeserializerImpl.java | 298 --- .../xml/sxw/pocketword/DocumentMergerImpl.java | 99 - .../xml/sxw/pocketword/DocumentSerializerImpl.java | 437 ---- .../converter/xml/sxw/pocketword/Paragraph.java | 859 -------- .../xml/sxw/pocketword/ParagraphTextSegment.java | 205 -- .../xml/sxw/pocketword/PluginFactoryImpl.java | 165 -- .../xml/sxw/pocketword/PocketWordConstants.java | 95 - .../xml/sxw/pocketword/PocketWordDocument.java | 408 ---- .../xmerge/converter/xml/sxw/pocketword/build.xml | 136 -- .../converter/xml/sxw/pocketword/converter.xml | 47 - .../converter/xml/sxw/pocketword/package.html | 56 - .../sxw/wordsmith/ConverterCapabilitiesImpl.java | 93 - .../converter/xml/sxw/wordsmith/DOCConstants.java | 61 - .../sxw/wordsmith/DocumentDeserializerImpl.java | 565 ----- .../xml/sxw/wordsmith/DocumentMergerImpl.java | 99 - .../xml/sxw/wordsmith/DocumentSerializerImpl.java | 536 ----- .../xml/sxw/wordsmith/PluginFactoryImpl.java | 149 -- .../converter/xml/sxw/wordsmith/WSDecoder.java | 352 --- .../converter/xml/sxw/wordsmith/WSEncoder.java | 212 -- .../xmerge/converter/xml/sxw/wordsmith/Wse.java | 100 - .../converter/xml/sxw/wordsmith/WseColorTable.java | 247 --- .../converter/xml/sxw/wordsmith/WseFontTable.java | 218 -- .../converter/xml/sxw/wordsmith/WseHeader.java | 145 -- .../converter/xml/sxw/wordsmith/WsePara.java | 299 --- .../converter/xml/sxw/wordsmith/WseTextRun.java | 324 --- .../xmerge/converter/xml/sxw/wordsmith/build.xml | 141 -- .../converter/xml/sxw/wordsmith/converter.xml | 17 - .../xmerge/converter/xml/sxw/wordsmith/makefile.mk | 32 - .../converter/xml/sxw/wordsmith/textRecord.java | 115 - .../xmerge/converter/xml/sxw/wordsmith/util.java | 68 - .../xml/xslt/ConverterCapabilitiesImpl.java | 93 - .../xml/xslt/DocumentDeserializerImpl.java | 254 --- .../converter/xml/xslt/DocumentMergerImpl.java | 99 - .../converter/xml/xslt/DocumentSerializerImpl.java | 309 --- .../converter/xml/xslt/GenericOfficeDocument.java | 95 - .../converter/xml/xslt/PluginFactoryImpl.java | 204 -- .../converter/xml/xslt/XsltPlugin.properties | 36 - .../openoffice/xmerge/converter/xml/xslt/build.xml | 136 -- .../xmerge/converter/xml/xslt/converter.xml | 50 - .../xml/xslt/docbook/docbookfilter/DBFilter.java | 570 ----- .../xml/xslt/docbook/docbookfilter/Manifest | 1 - .../xml/xslt/docbook/docbookfilter/Readme.txt | 14 - .../xml/xslt/docbook/docbookfilter/makefile.mk | 60 - .../xml/xslt/docbook/docbooktosoffheadings.xsl | 1725 --------------- .../converter/xml/xslt/docbook/literallayout.java | 135 -- .../xslt/docbook/sofftodocbookheadings_article.xsl | 848 -------- .../xslt/docbook/sofftodocbookheadings_chapter.xsl | 858 -------- .../xmerge/converter/xml/xslt/htmltosoff.xsl | 174 -- .../xmerge/converter/xml/xslt/makefile.mk | 32 - .../xmerge/converter/xml/xslt/package.html | 65 - .../xmerge/converter/xml/xslt/sofftohtml.xsl | 28 - xmerge/java/org/openoffice/xmerge/makefile.mk | 32 - .../openoffice/xmerge/merger/DiffAlgorithm.java | 51 - .../org/openoffice/xmerge/merger/Difference.java | 242 --- .../org/openoffice/xmerge/merger/Iterator.java | 123 -- .../openoffice/xmerge/merger/MergeAlgorithm.java | 61 - .../xmerge/merger/NodeMergeAlgorithm.java | 55 - xmerge/java/org/openoffice/xmerge/merger/build.xml | 131 -- .../xmerge/merger/diff/CellNodeIterator.java | 116 - .../xmerge/merger/diff/CharArrayLCSAlgorithm.java | 235 -- .../xmerge/merger/diff/CharacterParser.java | 143 -- .../xmerge/merger/diff/IteratorLCSAlgorithm.java | 236 -- .../xmerge/merger/diff/IteratorRowCompare.java | 243 --- .../xmerge/merger/diff/NodeIterator.java | 386 ---- .../xmerge/merger/diff/ObjectArrayIterator.java | 210 -- .../xmerge/merger/diff/ParaNodeIterator.java | 95 - .../openoffice/xmerge/merger/diff/RowIterator.java | 84 - .../xmerge/merger/diff/TextNodeEntry.java | 88 - .../xmerge/merger/diff/TextNodeIterator.java | 90 - .../org/openoffice/xmerge/merger/diff/build.xml | 137 -- .../org/openoffice/xmerge/merger/diff/makefile.mk | 32 - .../org/openoffice/xmerge/merger/diff/package.html | 41 - .../java/org/openoffice/xmerge/merger/makefile.mk | 32 - .../merger/merge/CharacterBaseParagraphMerge.java | 310 --- .../xmerge/merger/merge/DocumentMerge.java | 250 --- .../xmerge/merger/merge/PositionBaseRowMerge.java | 267 --- .../openoffice/xmerge/merger/merge/SheetMerge.java | 92 - .../openoffice/xmerge/merger/merge/SheetUtil.java | 108 - .../org/openoffice/xmerge/merger/merge/build.xml | 131 -- .../org/openoffice/xmerge/merger/merge/makefile.mk | 32 - .../openoffice/xmerge/merger/merge/package.html | 41 - .../java/org/openoffice/xmerge/merger/package.html | 73 - xmerge/java/org/openoffice/xmerge/package.html | 111 - .../openoffice/xmerge/test/ConverterInfoList.java | 108 - .../xmerge/test/ConverterInfoList.properties | 36 - xmerge/java/org/openoffice/xmerge/test/Driver.java | 321 --- xmerge/java/org/openoffice/xmerge/test/build.xml | 131 -- xmerge/java/org/openoffice/xmerge/test/makefile.mk | 32 - .../openoffice/xmerge/util/ActiveSyncDriver.java | 147 -- .../openoffice/xmerge/util/ColourConverter.java | 446 ---- xmerge/java/org/openoffice/xmerge/util/Debug.java | 341 --- .../org/openoffice/xmerge/util/Debug.properties | 38 - .../openoffice/xmerge/util/EndianConverter.java | 179 -- .../org/openoffice/xmerge/util/IntArrayList.java | 147 -- .../org/openoffice/xmerge/util/OfficeUtil.java | 135 -- .../java/org/openoffice/xmerge/util/Resources.java | 100 - .../org/openoffice/xmerge/util/TwipsConverter.java | 100 - .../java/org/openoffice/xmerge/util/XmlUtil.java | 189 -- xmerge/java/org/openoffice/xmerge/util/build.xml | 140 -- xmerge/java/org/openoffice/xmerge/util/makefile.mk | 32 - .../java/org/openoffice/xmerge/util/package.html | 37 - .../xmerge/util/registry/ConverterInfo.java | 436 ---- .../xmerge/util/registry/ConverterInfoMgr.java | 536 ----- .../xmerge/util/registry/ConverterInfoReader.java | 279 --- .../xmerge/util/registry/RegistryException.java | 47 - .../org/openoffice/xmerge/util/registry/build.xml | 130 -- .../openoffice/xmerge/util/registry/converter.dtd | 94 - .../openoffice/xmerge/util/registry/makefile.mk | 32 - .../openoffice/xmerge/util/registry/package.html | 80 - .../openoffice/xmerge/util/resources.properties | 68 - .../xmerge/xmergebridge/FlatXml/cpp/FlatXml.cxx | 523 ----- .../xmerge/xmergebridge/FlatXml/cpp/FlatXml.xml | 24 - .../xmerge/xmergebridge/FlatXml/cpp/Makefile | 102 - .../xmerge/xmergebridge/FlatXml/cpp/Makefile.bck | 108 - .../xmerge/xmergebridge/FlatXml/cpp/README | 97 - .../xmerge/xmergebridge/FlatXml/cpp/exports.dxp | 3 - .../xmerge/xmergebridge/FlatXml/cpp/makefile.mk | 97 - .../xmerge/xmergebridge/FlatXml/java/Makefile | 123 -- .../xmerge/xmergebridge/FlatXml/java/Manifest | 1 - .../xmerge/xmergebridge/FlatXml/java/README | 97 - .../xmergebridge/FlatXml/java/TestStream.java | 461 ---- .../xmergebridge/FlatXml/java/XFilterAdapter.idl | 71 - .../xmerge/xmergebridge/FlatXml/java/XFlatXml.java | 506 ----- .../java/XInputStreamToInputStreamAdapter.java | 204 -- .../java/XOutputStreamToOutputStreamAdapter.java | 116 - .../xmerge/xmergebridge/FlatXml/java/makefile.mk | 126 -- .../xmergebridge/FlatXml/java/streamwrap.cxx | 267 --- .../xmergebridge/FlatXml/java/streamwrap.hxx | 141 -- .../FlatXml/java_prettyprint/FlatXml.java | 546 ----- .../xmergebridge/FlatXml/java_prettyprint/Makefile | 97 - .../xmergebridge/FlatXml/java_prettyprint/Manifest | 1 - .../xmergebridge/FlatXml/java_prettyprint/README | 97 - .../FlatXml/java_prettyprint/TypeDetection.xcu | 30 - .../openoffice/xmerge/xmergebridge/Makefile_sdk | 102 - .../org/openoffice/xmerge/xmergebridge/Manifest | 1 - .../openoffice/xmerge/xmergebridge/TestStream.java | 488 ----- .../xmerge/xmergebridge/XMergeBridge.java | 712 ------ .../openoffice/xmerge/xmergebridge/streamwrap.cxx | 267 --- .../openoffice/xmerge/xmergebridge/streamwrap.hxx | 141 -- 674 files changed, 74971 deletions(-) delete mode 100755 xmerge/JAVA_TREE_IS_DEPRECATED delete mode 100755 xmerge/README.TXT delete mode 100644 xmerge/java/build.xml delete mode 100644 xmerge/java/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/Convert.java delete mode 100644 xmerge/java/org/openoffice/xmerge/ConvertData.java delete mode 100644 xmerge/java/org/openoffice/xmerge/ConvertException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/ConverterCapabilities.java delete mode 100644 xmerge/java/org/openoffice/xmerge/ConverterFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/Document.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentDeserializer.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentDeserializer2.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentDeserializerFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentMerger.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentMergerFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentSerializer.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentSerializer2.java delete mode 100644 xmerge/java/org/openoffice/xmerge/DocumentSerializerFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/MergeException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/PluginFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/Version.java delete mode 100644 xmerge/java/org/openoffice/xmerge/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/dom/DOMDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/dom/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/dom/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/dom/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/PalmDB.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/PalmDocument.java delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/PdbDecoder.java delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/PdbEncoder.java delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/PdbHeader.java delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/PdbUtil.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/Record.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/README delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/README delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/rd delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/spose delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/verify_sane.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_comparator.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_test_driver.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/run-convtest delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/env/master.env delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/lists/master.list delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_animatedgif.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bolddoc.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bookmarks.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bulletorderedlist.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_emptydoc.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_firstlineindent.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_fontsize.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_hyperlink.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_justified.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linebreaks.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linespacing.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_numberorderedlist.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_pagebreak.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_paragraph.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple01.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple02.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple03.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple04.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple05.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_standard.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_subscript.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_superscript.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_symbols.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_tab.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_table.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_textspan.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_unorderedlist.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_wordwrap.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet1.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet2.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet3.pdb delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/Blocklist.dtd delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_animatedgif.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bolddoc.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bookmarks.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bulletorderedlist.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_emptydoc.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_firstlineindent.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_fontsize.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading1.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading2.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_hyperlink.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_justified.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linebreaks.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linespacing.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_numberorderedlist.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_pagebreak.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_paragraph.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple01.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple02.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple03.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple04.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple05.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_standard.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_subscript.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_superscript.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_symbols.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_tab.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_table.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_textspan.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_unorderedlist.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_wordwrap.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_addition.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_alignment.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_backwardrange.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_basic.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_boolean.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellcurrencyalue.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellpercentvalue.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellstringvalue.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_columnswidth.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cyclic.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_dividefloating.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_forwardrange.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_insertimage.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_invalidcellref.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_largerange.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_listrange.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_mathematical.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_protection.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_sheetreference.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple01.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple02.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple03.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple04.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_smallrange.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_styles.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_textimage.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/chart.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/datastyl.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/drawing.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/dtypes.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/form.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/meta.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/nmspace.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.dtd delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/script.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/settings.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/style.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/table.mod delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/text.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_animatedgif.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bolddoc.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bookmarks.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bulletorderedlist.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc-mod.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_firstlineindent.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_fontsize.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading1.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading2.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_hyperlink.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_justified.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linebreaks.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linespacing.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_numberorderedlist.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_pagebreak.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_paragraph.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple01.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple02.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple03.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple04.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple05.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_standard.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_subscript.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_superscript.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_symbols.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_tab.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_table.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_textspan.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_unorderedlist.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_wordwrap.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_addition01-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_alignment.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_backwardrange-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_basic-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_bob-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_boolean-mod.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellcurrencyvalue.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellpercentvalue-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellstringvalue-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_columnswidth-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cyclic-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_dividefloating-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_forwardrange-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertimage.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertrow-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_invalidcellref-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_largerange-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_listrange-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_mathematical-mod.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_multi_boolean.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_protection-mod01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_sheetreference-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple01-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple02-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple03-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple04-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_smallrange-mod.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_styles.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_textimage.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/empty01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/hyperlink01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/image01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple02.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple03.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple04.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple05.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table01.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table02.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table03.infile delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table04.infile delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_animatedgif.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bolddoc.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bookmarks.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bulletorderedlist.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc-mod.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_firstlineindent.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_fontsize.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading1.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading2.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_hyperlink.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_justified.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linebreaks.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linespacing.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_numberorderedlist.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_pagebreak.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_paragraph.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple02.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple03.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple04.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple05.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_standard.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_subscript.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_superscript.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_symbols.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_tab.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_table.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_textspan.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_unorderedlist.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_wordwrap.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_addition.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_alignment.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_backwardrange.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_basic.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_boolean.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellcurrencyalue.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellpercentvalue.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellstringvalue.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_columnswidth.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cyclic.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_dividefloating.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_forwardrange.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertimage.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertrow.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_invalidcellref.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_largerange.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_listrange.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_mathematical.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_multi_boolean.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_protection.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_sheetreference.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple01.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple02.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple03.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple04.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_smallrange.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_styles.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_textimage.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/empty01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/hyperlink01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/image01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple02.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple03.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple04.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple05.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table01.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table02.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table03.sxw delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table04.sxw delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/mysplit.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/tappen.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/template.pl delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/test_driver.pl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/OfficeZip.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBHeader.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBUtil.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PalmDB.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/README delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/Record.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/SimplePdbCompare.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.properties delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlWrapper.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlZipExtract.java delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/comparator.pl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/Blocklist.dtd delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/chart.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/datastyl.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/drawing.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/dtypes.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/form.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/meta.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/nmspace.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.dtd delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/script.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/settings.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/style.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/table.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/text.mod delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/docs/Doc_descriptions.sxc delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/docs/Spreadsheet_descriptions.csv delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/docs/Spreadsheet_descriptions.sxc delete mode 100755 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/lib/converterlib.pm delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/palm-session/session delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/test_spec/convertor_test_spec.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedBinaryObject.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedObject.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedXMLObject.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/OfficeConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocumentException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/OfficeZip.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/ParaStyle.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/Style.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/StyleCatalog.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/StyleTest01.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/TextStyle.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/BookSettings.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/CellStyle.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnStyle.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/DocumentMergerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/Format.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/NameDefinition.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/RowStyle.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SheetSettings.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentDeserializer.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentSerializer.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcPluginFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDataString.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BIFFRecord.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BeginningOfFile.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BlankCell.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoolErrCell.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoundSheet.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CellValue.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CodePage.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ColInfo.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefColWidth.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefRowHeight.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Eof.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ExtendedFormat.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FloatNumber.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FontDescription.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Formula.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/LabelCell.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/NumberFormat.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Pane.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Row.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Selection.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/StringValue.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/UnsupportedFormulaException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window1.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window2.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParsingException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FunctionLookup.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperandLookup.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperatorLookup.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/ParseToken.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/PrecedenceTable.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/Token.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/UnsupportedFunctionException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwPluginFactory.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentMergerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentMergerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/Paragraph.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ParagraphTextSegment.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DOCConstants.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentMergerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSDecoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSEncoder.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/Wse.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseColorTable.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseFontTable.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseHeader.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WsePara.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseTextRun.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/textRecord.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/util.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/ConverterCapabilitiesImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentDeserializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentMergerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentSerializerImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/GenericOfficeDocument.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/PluginFactoryImpl.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/XsltPlugin.properties delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/converter.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/DBFilter.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Manifest delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Readme.txt delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbooktosoffheadings.xsl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/literallayout.java delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_article.xsl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_chapter.xsl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/htmltosoff.xsl delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/converter/xml/xslt/sofftohtml.xsl delete mode 100644 xmerge/java/org/openoffice/xmerge/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/DiffAlgorithm.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/Difference.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/Iterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/MergeAlgorithm.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/NodeMergeAlgorithm.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/CellNodeIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/CharArrayLCSAlgorithm.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/CharacterParser.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/IteratorLCSAlgorithm.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/IteratorRowCompare.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/NodeIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/ObjectArrayIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/ParaNodeIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/RowIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeEntry.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeIterator.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/diff/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/CharacterBaseParagraphMerge.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/DocumentMerge.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/PositionBaseRowMerge.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/SheetMerge.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/SheetUtil.java delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/merge/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/merger/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.java delete mode 100644 xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.properties delete mode 100644 xmerge/java/org/openoffice/xmerge/test/Driver.java delete mode 100644 xmerge/java/org/openoffice/xmerge/test/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/test/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/util/ActiveSyncDriver.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/ColourConverter.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/Debug.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/Debug.properties delete mode 100644 xmerge/java/org/openoffice/xmerge/util/EndianConverter.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/IntArrayList.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/OfficeUtil.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/Resources.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/TwipsConverter.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/XmlUtil.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/util/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/util/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoMgr.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoReader.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/RegistryException.java delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/build.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/converter.dtd delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/makefile.mk delete mode 100644 xmerge/java/org/openoffice/xmerge/util/registry/package.html delete mode 100644 xmerge/java/org/openoffice/xmerge/util/resources.properties delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.cxx delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.xml delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile.bck delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/README delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/exports.dxp delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/makefile.mk delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Makefile delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Manifest delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/README delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/TestStream.java delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFilterAdapter.idl delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFlatXml.java delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XInputStreamToInputStreamAdapter.java delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XOutputStreamToOutputStreamAdapter.java delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/makefile.mk delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.cxx delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.hxx delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/FlatXml.java delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Makefile delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Manifest delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/README delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/TypeDetection.xcu delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/Makefile_sdk delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/Manifest delete mode 100644 xmerge/java/org/openoffice/xmerge/xmergebridge/TestStream.java delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/XMergeBridge.java delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.cxx delete mode 100755 xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.hxx diff --git a/xmerge/JAVA_TREE_IS_DEPRECATED b/xmerge/JAVA_TREE_IS_DEPRECATED deleted file mode 100755 index a736ca8d1885..000000000000 --- a/xmerge/JAVA_TREE_IS_DEPRECATED +++ /dev/null @@ -1 +0,0 @@ -read the readme file! diff --git a/xmerge/README.TXT b/xmerge/README.TXT deleted file mode 100755 index 59cd9763afb3..000000000000 --- a/xmerge/README.TXT +++ /dev/null @@ -1,9 +0,0 @@ -IMPORTANT! - -In order to make this project buildable as well as maintainable, I have moved -the java source which made up the individual jar files from this projects into -individual sub-folders in xmerge/source. The old sources are kept in the -xmerge/java tree for reference only. Any changes/fixes should be made on the -new source-trees. - -(Lars Opperann 2005-06-08) \ No newline at end of file diff --git a/xmerge/java/build.xml b/xmerge/java/build.xml deleted file mode 100644 index 4810de5fc57f..000000000000 --- a/xmerge/java/build.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Copyright © 2002 OpenOffice.org]]> -
            OpenOffice.org
            XMerge API]]>
            -
            -
            - - - - - - - - - - - - - - - - - -
            - diff --git a/xmerge/java/makefile.mk b/xmerge/java/makefile.mk deleted file mode 100644 index 818782e307ef..000000000000 --- a/xmerge/java/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_java -PRJ=.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/Convert.java b/xmerge/java/org/openoffice/xmerge/Convert.java deleted file mode 100644 index 88c91c7f869c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/Convert.java +++ /dev/null @@ -1,330 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.InputStream; -import java.io.IOException; -import java.util.Enumeration; - -import org.openoffice.xmerge.util.registry.ConverterInfo; - -/** - * The Convert class manages a conversion from one - * mime-type to another. The ConvertFactory is - * responsible for returning the appropriate Convert - * class for a specified conversion. This class is responsible - * for all interactions with the PluginFactory - * implementation. - * - * @see ConverterFactory - * @see PluginFactory - * @see org.openoffice.xmerge.util.registry.ConverterInfo - * - * @author Martin Maher - */ -public class Convert implements Cloneable { - - /** - * ConvertInfo that corresponds to the from-mime/to-mime - * conversion. - */ - private ConverterInfo ci; - - /** - * true if converting to the Office format, false if converting - * to the device format. - */ - private boolean toOffice; - - /** - * Holds the convert input data. - */ - private ConvertData inputCD = new ConvertData(); - - - /** - * Construct a Convert class with specified ConvertInfo - * registry information. - * - * @param ci A ConvertInfo object containing - * registry information corresponding to a - * specific plug-in. - * @param toOffice true if converting to the Office format, - * false if converting to the device format. - */ - public Convert(ConverterInfo ci, boolean toOffice) { - this.ci = ci; - this.toOffice = toOffice; - } - - - /** - * Adds an InputStream to be used as input by the - * Convert class. It is possible that many files - * need to be converted into a single output Documetn, - * so this function may be called more than one time. It is the - * plug-in's responsibility to know how to handle the input. - * - * @param name The name corresponding to the InputStream. - * @param is InputStream to be used as input. - * - * @throws IOException If any I/O error occurs. - */ - public void addInputStream(String name, InputStream is) - throws IOException { - - Document inputDoc; - - if (toOffice == true) { - inputDoc = ci.getPluginFactory().createDeviceDocument(name, is); - } else { - inputDoc = ci.getPluginFactory().createOfficeDocument(name, is); - } - inputCD.addDocument(inputDoc); - } - - /** - * Adds an InputStream to be used as input by the - * Convert class. It is possible that many files - * need to be converted into a single output Documetn, - * so this function may be called more than one time. It is the - * plug-in's responsibility to know how to handle the input. - * - * @param name The name corresponding to the InputStream. - * @param is InputStream to be used as input. - * @param isZip boolean to identify that incoming stream is * zipped - * - * @throws IOException If any I/O error occurs. - */ - public void addInputStream(String name, InputStream is,boolean isZip) - throws IOException { - - Document inputDoc; - - if (toOffice == true) { - inputDoc = ci.getPluginFactory().createDeviceDocument(name, is); - } else { - inputDoc = ci.getPluginFactory().createOfficeDocument(name, is, isZip); - } - inputCD.addDocument(inputDoc); - } - - - /** - * Adds the original Document to the Convert Class. This - * is to be used for merges. If this Document is added then - * it is assumed that a convert with merge is the desired - * operation. - * - * @param name The Document name. - * @param is InputStream object corresponding - * to the Document. - * - * @throws IOException If any I/O error occurs. - */ - public DocumentMerger getDocumentMerger(Document origDoc) - throws IOException { - - DocumentMergerFactory myDocMergerFactory = ci.getDocMergerFactory(); - DocumentMerger merger = myDocMergerFactory.createDocumentMerger(origDoc); - return merger; - } - - /** - * Resets the input queue, so that the user can use this class to - * perform another conversion. This causes the - * addInputStream method to accept input for the next - * conversion. - */ - public void reset() { - inputCD.reset(); - } - - - /** - * Clones a Convert object so another Convert object can - * do the same conversion. InputStream objects passed - * in via calls to the addInputStream method are not - * copied. - * - * @return The cloned Convert object. - */ - public Object clone() { - - Convert aClone = null; - - try { - aClone = (Convert) super.clone(); - aClone.reset(); - } - catch (CloneNotSupportedException e) { - System.out.println("Convert clone could not be created"); - } - return aClone; - } - - - /** - * Convert the input specified in calls to the addInputStream - * method to the output format specified by this Convert - * class. - * - * @return The output data. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData convert() throws ConvertException, IOException { - - ConvertData dataOut = new ConvertData(); - - if (toOffice) { - - // From device format to Office format - // - DocumentDeserializerFactory myDocDeserializerFactory = - ci.getDocDeserializerFactory(); - DocumentDeserializer deser = - myDocDeserializerFactory.createDocumentDeserializer(inputCD); - Document deviceDoc = deser.deserialize(); - - - dataOut.addDocument(deviceDoc); - return dataOut; - - } else { - - // From Office format to device format - // - DocumentSerializerFactory myDocSerializerFactory = - ci.getDocSerializerFactory(); - - Enumeration e = inputCD.getDocumentEnumeration(); - - Document doc = (Document) e.nextElement(); - DocumentSerializer ser = myDocSerializerFactory.createDocumentSerializer(doc); - dataOut = ser.serialize(); - - return dataOut; - } - } - - /** - * NEW (HJ): - * Convert the input specified in calls to the addInputStream - * method to the output format specified by this Convert - * class. - * The (de)serializer may use the URLs to resolve links and choose name(s) - * for destination document(s). - * - * @return The output data. - * - * @param sFromURL URL of the source document (may be null if unknown) - * @param sToURL URL of the destination document (may be null if unknown) - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData convert(String sFromURL, String sToURL) throws - ConvertException, IOException { - - ConvertData dataOut = new ConvertData(); - - if (toOffice) { - - // From device format to Office format - // - DocumentDeserializerFactory myDocDeserializerFactory = - ci.getDocDeserializerFactory(); - DocumentDeserializer deser = - myDocDeserializerFactory.createDocumentDeserializer(inputCD); - Document officeDoc = deser instanceof DocumentSerializer2 ? - ((DocumentDeserializer2) deser).deserialize(sFromURL,sToURL) : - deser.deserialize(); - - - dataOut.addDocument(officeDoc); - return dataOut; - - } else { - - // From Office format to device format - // - DocumentSerializerFactory myDocSerializerFactory = - ci.getDocSerializerFactory(); - - Enumeration e = inputCD.getDocumentEnumeration(); - - Document doc = (Document) e.nextElement(); - DocumentSerializer ser = myDocSerializerFactory.createDocumentSerializer(doc); - dataOut = ser instanceof DocumentSerializer2 ? - ((DocumentSerializer2) ser).serialize(sFromURL,sToURL) : - ser.serialize(); - - return dataOut; - } - } - - /** - * Returns the appropriate "Office" Document - * object for this plug-in. - * - * @param name The name of the Document to create. - * @param is The InputStream corresponding to the - * Document to create. - * - * @return The appropriate "Office" Document - * object for this plug-in. - * - * @throws IOException If any I/O error occurs. - */ - public Document getOfficeDocument(String name, InputStream is) - throws IOException { - return(ci.getPluginFactory().createOfficeDocument(name, is)); - } - - - /** - * Returns the appropriate "Device" Document - * object for this plug-in. - * - * @param name The name of the Document to create. - * @param is The InputStream corresponding to the - * Document to create. - * - * @return The appropriate "Device" Document - * object for this plug-in. - * - * @throws IOException If any I/O error occurs. - */ - public Document getDeviceDocument(String name, InputStream is) - throws IOException { - return(ci.getPluginFactory().createDeviceDocument(name, is)); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/ConvertData.java b/xmerge/java/org/openoffice/xmerge/ConvertData.java deleted file mode 100644 index ed9d2146a9e7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/ConvertData.java +++ /dev/null @@ -1,117 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.util.Vector; -import java.util.Enumeration; - -/** - *

            ConvertData is used as a container for passing - * Document objects in and out of the Convert - * class. The ConvertData contains a String - * name and a Vector of Document objects.

            - * - * @author Martin Maher - */ -public class ConvertData { - - /** - * Vector of Document objects. - */ - private Vector v = new Vector(); - - /** - * Name of the ConvertData object. - */ - private String name; - - - /** - * Resets ConvertData. This empties all Document - * objects from this class. This allows reuse of a - * ConvertData. - */ - public void reset() { - name = null; - v.removeAllElements(); - } - - /** - * Returns the Document name. - * - * @return The Document name. - */ - public String getName() { - return name; - } - - - /** - * Sets the Document name. - * - * @param docName The name of the Document. - */ - public void setName(String docName) { - name = docName; - } - - - /** - * Adds a Document to the vector. - * - * @param doc The Document to add. - */ - public void addDocument(Document doc) { - v.add(doc); - } - - - /** - * Gets an Enumeration to access the Vector - * of Document objects. - * - * @return The Enumeration to access the - * Vector of Document objects. - */ - public Enumeration getDocumentEnumeration() { - Enumeration enumer = v.elements(); - return (enumer); - } - - - /** - * Gets the number of Document objects currently stored - * - * @return The number of Document objects currently - * stored. - */ - public int getNumDocuments() { - return (v.size()); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/ConvertException.java b/xmerge/java/org/openoffice/xmerge/ConvertException.java deleted file mode 100644 index e92d5dabddf1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/ConvertException.java +++ /dev/null @@ -1,45 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - * This Exception is thrown by convert algorithms. - */ -public class ConvertException extends Exception { - - /** - * Exception thrown by convert algorithms. - * - * @param message Message to be included in the - * Exception. - */ - public ConvertException(String message) { - super(message); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/ConverterCapabilities.java b/xmerge/java/org/openoffice/xmerge/ConverterCapabilities.java deleted file mode 100644 index f02384c880ef..000000000000 --- a/xmerge/java/org/openoffice/xmerge/ConverterCapabilities.java +++ /dev/null @@ -1,67 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - *

            A ConverterCapabilities object is used by - * DocumentMerger implementations. The - * ConverterCapabilities indicates which - * "Office" XML tags are supported by the - * "Device" format.

            - * - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentMerger - */ -public interface ConverterCapabilities { - - - /** - * Test to see if the device document format supports the - * tag in question. - * - * @param tag The tag to check. - * - * @return true if the device format supports the - * tag, false otherwise. - */ - boolean canConvertTag(String tag); - - - /** - * Test to see if the device document format supports the - * tag attribute in question. - * - * @param tag The tag to check. - * @param attribute The tag attribute to check. - * - * @return true if the device format supports the - * attribute, false otherwise. - */ - boolean canConvertAttribute(String tag, String attribute); -} - diff --git a/xmerge/java/org/openoffice/xmerge/ConverterFactory.java b/xmerge/java/org/openoffice/xmerge/ConverterFactory.java deleted file mode 100644 index 806591db335d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/ConverterFactory.java +++ /dev/null @@ -1,124 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.util.registry.ConverterInfoMgr; - -/** - * Factory that provides access to Convert objects, which - * are used to do a conversion. The ConvertFactory does - * this via the ConvertInfoMgr which maintains a list of - * which Convert objects are available and their - * capabilities. - * - * @see Convert - * @see org.openoffice.xmerge.util.registry.ConverterInfoMgr - * - * @author Martin Maher - */ -public class ConverterFactory { - - /** - * Confirms whether or not a particular conversion can be done - * based on the Mime types of the files to be converted to and - * from. - * - * @param mimeTypeIn The mime input type. - * @param mimeTypeOut The mime output type. - * - * @return true if the conversion is possible, false otherwise. - */ - public boolean canConvert(String mimeTypeIn, String mimeTypeOut) { - - ConverterInfo foundInfo = null; - - // findConverterInfo expects the second paramenter to be the - // destination MimeType - if (foundInfo.isValidOfficeType(mimeTypeOut)) - foundInfo = ConverterInfoMgr.findConverterInfo(mimeTypeIn, mimeTypeOut); - else - foundInfo = ConverterInfoMgr.findConverterInfo(mimeTypeOut, mimeTypeIn); - - if (foundInfo != null) - return true; - else - return false; - } - - - /** - * Returns the Convert object that converts - * the specified device/office mime type conversion. If there - * are multiple Converter objects registered - * that support this conversion, only the first is returned. - * - * @param mimeTypeIn The mime input type. - * @param mimeTypeOut The mime output type. - * - * @return The first Convert object that supports - * the specified conversion. - */ - public Convert getConverter(String mimeTypeIn, String mimeTypeOut) { - - ConverterInfo foundInfo = null; - boolean toOffice; - - toOffice = foundInfo.isValidOfficeType(mimeTypeOut); - - // findConverterInfo expects the second paramenter to be the - // destination MimeType - if (toOffice) - foundInfo = ConverterInfoMgr.findConverterInfo(mimeTypeIn, mimeTypeOut); - else - foundInfo = ConverterInfoMgr.findConverterInfo(mimeTypeOut, mimeTypeIn); - - if (foundInfo != null) - return getConverter(foundInfo, toOffice); - else - return null; - } - - - /** - * Returns the Convert object that is described - * by the ConverterInfo parameter. - * - * @param ci The ConverterInfo describing the converter. - * - * @param toOffice true to convert to office, false to convert to device. - * - * @return The Convert object - */ - public Convert getConverter(ConverterInfo ci, boolean toOffice) { - - Convert myConvert = new Convert(ci, toOffice); - return myConvert; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/Document.java b/xmerge/java/org/openoffice/xmerge/Document.java deleted file mode 100644 index 94fac6dd136d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/Document.java +++ /dev/null @@ -1,99 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -/** - *

            A Document represents any Document - * to be converted and the resulting Document from any - * conversion.

            - * - *

            It is created by the PluginFactory object's {@link - * org.openoffice.xmerge.PluginFactory#createOfficeDocument - * createOfficeDocument} method or the {@link - * org.openoffice.xmerge.PluginFactory#createDeviceDocument - * createDeviceDocument} method.

            - * - * @author Herbie Ong - * @see org.openoffice.xmerge.PluginFactory - */ -public interface Document { - - /** - *

            Writes out the Document content to the specified - * OutputStream.

            - * - *

            This method may not be thread-safe. - * Implementations may or may not synchronize this - * method. User code (i.e. caller) must make sure that - * calls to this method are thread-safe.

            - * - * @param os OutputStream to write out the - * Document content. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException; - - - /** - *

            Reads the content from the InputStream into - * the Document.

            - * - *

            This method may not be thread-safe. - * Implementations may or may not synchronize this - * method. User code (i.e. caller) must make sure that - * calls to this method are thread-safe.

            - * - * @param is InputStream to read in the - * Document content. - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream is) throws IOException; - - - /** - * Returns the Document name with no file extension. - * - * @return The Document name with no file extension. - */ - public String getName(); - - - /** - * Returns the Document name with file extension. - * - * @return The Document name with file extension. - */ - public String getFileName(); -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentDeserializer.java b/xmerge/java/org/openoffice/xmerge/DocumentDeserializer.java deleted file mode 100644 index 3065dff194d0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentDeserializer.java +++ /dev/null @@ -1,65 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.IOException; - -/** - *

            A DocumentDeserializer represents a converter that - * converts "Device" Document objects into the - * "Office" Document format.

            - * - *

            The DocumentDeserializer object is created by - * the PluginFactory {@link - * org.openoffice.xmerge.DocumentDeserializerFactory#createDocumentDeserializer - * createDocumentDeserializer} method. When it is constructed, a - * ConvertData object is passed in to be used as input.

            - * - * @author Herbie Ong - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentDeserializerFactory - */ -public interface DocumentDeserializer { - - /** - *

            Convert the data passed into the DocumentDeserializer - * constructor into the "Office" Document - * format.

            - * - *

            This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

            - * - * @return The resulting Document object from conversion. - * - * @throws ConvertException If any Convert error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize() throws ConvertException, IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentDeserializer2.java b/xmerge/java/org/openoffice/xmerge/DocumentDeserializer2.java deleted file mode 100644 index 3c81daf20b03..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentDeserializer2.java +++ /dev/null @@ -1,71 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.IOException; - -/** - *

            A DocumentDeserializer represents a converter that - * converts "Device" Document objects into the - * "Office" Document format.

            - * - *

            The PluginFactory {@link - * org.openoffice.xmerge.DocumentDeserializerFactory#createDocumentDeserializer - * createDocumentDeserializer} method creates a DocumentDeserializer, - * which may or may not implement DocumentDeserializer2. - * When it is constructed, a - * ConvertData object is passed in to be used as input.

            - * - * @author Henrik Just - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentDeserializerFactory - */ -public interface DocumentDeserializer2 extends DocumentSerializer { - - /** - *

            Convert the data passed into the DocumentDeserializer2 - * constructor into the "Office" Document - * format. The URL's passed may be used to resolve links and to choose the - * name of the output office document.

            - * - *

            This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

            - * - * @return The resulting Document object from conversion. - * - * @param deviceURL URL of the device document (may be null if unknown) - * @param officeURL URL of the office document (may be null if unknown) - * - * @throws ConvertException If any Convert error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize(String deviceURL, String officeURL) throws - ConvertException, IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentDeserializerFactory.java b/xmerge/java/org/openoffice/xmerge/DocumentDeserializerFactory.java deleted file mode 100644 index 4b4e6ba04a2b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentDeserializerFactory.java +++ /dev/null @@ -1,65 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - *

            A DocumentDeserializer object is used to convert - * from the "Device" Documetn format to the - * "Office" Document format.

            - * - *

            All plug-in implementations of the PluginFactory - * interface that also support deserialization must also - * implement this interface.

            - * - * @see PluginFactory - * @see DocumentDeserializer - */ -public interface DocumentDeserializerFactory { - - /** - * The DocumentDeserializer is used to convert - * from the "Device" Document format to - * the "Office" Document format.

            - * - * The ConvertData object is passed along to the - * created DocumentDeserializer via its constructor. - * The ConvertData is read and converted when the - * the DocumentDeserializer object's - * deserialize method is called. - *

            - * - * @param cd ConvertData object that the created - * DocumentDeserializer object uses as - * input. - * - * @return A DocumentDeserializer object. - */ - - public DocumentDeserializer createDocumentDeserializer(ConvertData cd); -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentMerger.java b/xmerge/java/org/openoffice/xmerge/DocumentMerger.java deleted file mode 100644 index 0f3f75d2089e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentMerger.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - *

            A DocumentMerger can merge changes from a modified - * "Device" Document to the assigned original - * "Office" Document.

            - * - *

            Merge is useful when an OfficeDocument - * is converted to a "Device" Document format, - * and the "Device" Document version is modified. - * Those changes can be merged back into the original - * OfficeDocument with the merger. The merger is capable - * of doing this even if the "Device" format is lossy in - * comparison to the OfficeDocument format.

            - * - *

            The ConverterCapabilities object is what the - * DocumentMerger utilizes to know how the "Office" - * Document tags are supported in the "Device" - * format.

            - * - *

            The DocumentMerger object is created by a - * the DocumentMergerFactory {@link - * org.openoffice.xmerge.DocumentMergerFactory#createDocumentMerger - * createDocumenMerger} method. When it is constructed, the - * "Original Office" Document object is - * passed in to be used as input.

            - * - * @author Herbie Ong - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentMergerFactory - * @see org.openoffice.xmerge.ConverterCapabilities - */ -public interface DocumentMerger { - - /** - *

            This method will find the changes that had happened - * in the modifiedDoc Document - * object given the designated original Document.

            - * - *

            Note that this process may need the knowledge of the - * conversion process since some conversion process are lossy. - * Items/Data that are lost during the conversion process are not - * classified as changes. The main target of this method - * is to apply the changes done in modifiedDoc - * into the assigned original Document object, thus - * it also will try to preserve items that were originally in - * the original Document, but never got transferred - * during the - * {@link org.openoffice.xmerge.DocumentSerializer#serialize - * serialize} process/method call. After this method call, the - * original Document object will contain the changes - * applied.

            - * - *

            This method may or may not be thread-safe. - * Also, it is expected that the user uses only one instance - * of a DocumentMerger object per merge process. - * Create another DocumentMerger object for another - * merge process.

            - * - * @param modifiedDoc device Document object. - * - * @throws MergeException If any merge error occurs. - */ - public void merge(Document modifiedDoc) throws MergeException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentMergerFactory.java b/xmerge/java/org/openoffice/xmerge/DocumentMergerFactory.java deleted file mode 100644 index 7a30a56b6137..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentMergerFactory.java +++ /dev/null @@ -1,63 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - *

            All plug-in implementations of the PluginFactory - * interface that also support merging must also implement - * this interface.

            - * - *

            Merge is useful when an OfficeDocument - * is converted to a "Device" Document format, - * and the "Device" Document version is modified. - * Those changes can be merged back into the original - * OfficeDocument with the merger. The merger is capable - * of doing this even if the "Device" format is lossy in - * comparison to the OfficeDocument format.

            - * - * @see PluginFactory - * @see DocumentMerger - * @see ConverterCapabilities - * - */ -public interface DocumentMergerFactory { - - /** - *

            Create a DocumentMerger object given a - * Document object.

            - * - * @param doc Document object that the created - * DocumentMerger object uses as a base - * Document for merging changes into. - * - * @return A DocumentMerger object or null if none - * exists. - */ - public DocumentMerger createDocumentMerger(Document doc); -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentSerializer.java b/xmerge/java/org/openoffice/xmerge/DocumentSerializer.java deleted file mode 100644 index 4e7beba2f575..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentSerializer.java +++ /dev/null @@ -1,67 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.IOException; - -/** - *

            A DocumentSerializer represents a converter that - * converts a "Office" Document to a - * "Device" Document format.

            - * - *

            The DocumentSerializer object is created by a - * the PluginFactory {@link - * org.openoffice.xmerge.DocumentSerializerFactory#createDocumentSerializer - * createDocumentSerializer} method. When it is constructed, a - * "Office" Document object is passed in to - * be used as input.

            - * - * @author Herbie Ong - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentSerializerFactory - */ -public interface DocumentSerializer { - - /** - *

            Convert the data passed into the DocumentSerializer - * constructor into the "Device" Document - * format.

            - * - *

            This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

            - * - * @return ConvertData object to pass back the - * converted data. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize() throws ConvertException, IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentSerializer2.java b/xmerge/java/org/openoffice/xmerge/DocumentSerializer2.java deleted file mode 100644 index 41e7bebe3812..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentSerializer2.java +++ /dev/null @@ -1,73 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import java.io.IOException; - -/** - *

            A DocumentSerializer2 represents a converter that - * converts a "Office" Document to a - * "Device" Document format.

            - * - *

            The PluginFactory {@link - * org.openoffice.xmerge.DocumentSerializerFactory#createDocumentSerializer - * createDocumentSerializer} method creates a DocumentSerializer, - * which may or may not implement DocumentSerializer2. - * When it is constructed, a - * "Office" Document object is passed in to - * be used as input.

            - * - * @author Henrik Just - * @see org.openoffice.xmerge.PluginFactory - * @see org.openoffice.xmerge.DocumentSerializerFactory - */ -public interface DocumentSerializer2 extends DocumentSerializer { - - /** - *

            Convert the data passed into the DocumentSerializer2 - * constructor into the "Device" Document - * format. The URL's passed may be used to resolve links and to name - * the output device document(s).

            - * - *

            This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

            - * - * @return ConvertData object to pass back the - * converted data. - * - * @param officeURL URL of the office document (may be null if unknown) - * @param deviceURL URL of the device document (may be null if unknown) - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize(String officeURL, String deviceURL) throws - ConvertException, IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/DocumentSerializerFactory.java b/xmerge/java/org/openoffice/xmerge/DocumentSerializerFactory.java deleted file mode 100644 index 3837156a791d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/DocumentSerializerFactory.java +++ /dev/null @@ -1,63 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - *

            A DocumentSerializer object is used to convert - * from the "Office" Document format to the - * "Device" Document format.

            - * - *

            All plug-in implementations of the PluginFactory - * interface that also support serialization must also - * implement this interface.

            - * - * @see PluginFactory - * @see DocumentSerializer - */ -public interface DocumentSerializerFactory { - - /** - *

            The DocumentSerializer is used to convert - * from the "Office" Document format - * to the "Device" Document format.

            - * - * The ConvertData object is passed along to the - * created DocumentSerializer via its constructor. - * The ConvertData is read and converted when the - * the DocumentSerializer object's - * serialize method is called. - * - * @param doc Document object that the created - * DocumentSerializer object uses - * as input. - * - * @return A DocumentSerializer object. - */ - public DocumentSerializer createDocumentSerializer(Document doc); -} - diff --git a/xmerge/java/org/openoffice/xmerge/MergeException.java b/xmerge/java/org/openoffice/xmerge/MergeException.java deleted file mode 100644 index 6ea95c53873b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/MergeException.java +++ /dev/null @@ -1,45 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - * This Exception is thrown by merge algorithms. - */ -public class MergeException extends Exception { - - /** - * Exception thrown by merge algorithms. - * - * @param message Message to be included in the - * Exception. - */ - public MergeException(String message) { - super(message); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/PluginFactory.java b/xmerge/java/org/openoffice/xmerge/PluginFactory.java deleted file mode 100644 index 77cc5ea34faa..000000000000 --- a/xmerge/java/org/openoffice/xmerge/PluginFactory.java +++ /dev/null @@ -1,193 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -import org.openoffice.xmerge.util.registry.ConverterInfo; -import java.io.InputStream; -import java.io.IOException; - -/** - *

            A PluginFactory encapsulates the - * conversions from one Document format to another. - * It provides conversions in both directions. Refer to the - * - * package description for its usage.

            - * - *

            Conversion from the "Office" Document - * format to a "Device" Document format may - * be lossy, i.e. some information may be lost. If a plug-in - * implements the DocumentMergerFactory interface, - * then there is the possibility for merging the changes done on the - * "Device" Document back to the original - * "Office" Document via the - * DocumentMerger interface.

            - * - *

            Plug-ins that convert from the "Device" - * Document format to the "Office" - * Document format must implement the - * DocumentDeserializerFactory interface. Plug-ins - * that convert from the "Office" Document - * format to the "Device" format must implement the - * DocumentSerializerFactory interface. - * - *

            All plug-ins should have an associated Plugin Configuration XML - * File which describes the capabilities of the plug-in. If the - * plug-in is bundled in a jarfile, then this XML file is also bundled - * with the jarfile. The data in the XML file is managed by the - * ConverterInfo object. The ConverterInfoMgr - * manages a registry of all ConverterInfo objects. For - * more information about this XML file, refer to - * - * org.openoffice.xmerge.util.registry.

            - * - * @author Herbie Ong - * @see Document - * @see DocumentSerializer - * @see DocumentSerializerFactory - * @see DocumentDeserializer - * @see DocumentDeserializerFactory - * @see DocumentMerger - * @see DocumentMergerFactory - * @see ConverterInfo - * @see org.openoffice.xmerge.util.registry.ConverterInfoMgr - */ - -public abstract class PluginFactory { - - /** - * Cached ConvertInfo object. - */ - private ConverterInfo ciCache; - - - /** - * Constructor that caches the ConvertInfo that - * corresponds to the registry information for this plug-in. - * - * @param ci ConvertInfo object. - */ - public PluginFactory(ConverterInfo ci) { - ciCache=ci; - } - - - /** - * Returns the ConvertInfo that corresponds to this - * plug-in. - * - * @return The ConvertInfo that corresponds to this - * plug-in. - */ - public ConverterInfo getConverterInfo () { - return ciCache; - } - - - /** - *

            Create a Document object that corresponds to - * the Office data passed in via the InputStream - * object. This abstract method must be implemented for each - * plug-in.

            - * - *

            This method will read from the given InputStream - * object. The returned Document object will contain - * the necessary data for the other objects created by the - * PluginFactory to process, like a - * DocumentSerializer object and a - * DocumentMerger object.

            - * - * @param name The Document name. - * @param is InputStream object corresponding - * to the Document. - * - * @return A Document object representing the - * particular Document format for the - * PluginFactory. - * - * @throws IOException If any I/O error occurs. - */ - public abstract Document createOfficeDocument(String name, InputStream is) - throws IOException; - - - /** - *

            Create a Document object that corresponds to - * the Office data passed in via the InputStream - * object. This abstract method must be implemented for each - * plug-in.

            - * - *

            This method will read from the given InputStream - * object. The returned Document object will contain - * the necessary data for the other objects created by the - * PluginFactory to process, like a - * DocumentSerializer object and a - * DocumentMerger object.

            - * - * @param name The Document name. - * @param is InputStream object corresponding - * to the Document. - * @param isZip boolean to show that the created office - * document is to be zipped. - * - * @return A Document object representing the - * particular Document format for the - * PluginFactory. - * - * @throws IOException If any I/O error occurs. - */ - public abstract Document createOfficeDocument(String name, InputStream is,boolean isZip) - throws IOException; - - - /** - *

            Create a Document object that corresponds to - * the device data passed in via the InputStream - * object. This abstract method must be implemented for each - * plug-in.

            - * - *

            This method will read from the given InputStream - * object. The returned Document object will contain - * the necessary data for the other objects created by the - * PluginFactory to process, like a - * DocumentSerializer object and a - * DocumentMerger object.

            - * - * @param name The Document name. - * @param is InputStream object corresponding - * to the Document. - * - * @return A Document object representing the - * particular Document format for the - * PluginFactory. - * - * @throws IOException If any I/O error occurs. - */ - public abstract Document createDeviceDocument(String name, InputStream is) - throws IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/Version.java b/xmerge/java/org/openoffice/xmerge/Version.java deleted file mode 100644 index 8810068d4c72..000000000000 --- a/xmerge/java/org/openoffice/xmerge/Version.java +++ /dev/null @@ -1,88 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge; - -/** - * This class provides a quick utility to check the version of the - * jar file. It has a main method that prints out the version - * info. It also provides two static methods for runtime classes - * to query. - * - * @author Herbie Ong - */ -public final class Version { - - private static Package pkg; - - private static Version version; - - static { - - version = new Version(); - pkg = version.getClass().getPackage(); - } - - /** - * Private constructor to provide a singleton instance. - */ - private Version() { - } - - /** - * Returns specification version. - * - * @return The specification version. - */ - public static String getSpecificationVersion() { - return pkg.getSpecificationVersion(); - } - - /** - * Returns implementation version. - * - * @return The implementation version. - */ - - public static String getImplementationVersion() { - return pkg.getImplementationVersion(); - } - - /** - * Main method for printing out version info. - * - * @param args Array of arguments, not used. - */ - public static void main(String args[]) { - - System.out.println("Specification-Title: " + pkg.getSpecificationTitle()); - System.out.println("Specification-Vendor: " + pkg.getSpecificationVendor()); - System.out.println("Specification-Version: " + pkg.getSpecificationVersion()); - System.out.println("Implementation-Version: " + pkg.getImplementationVersion()); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/build.xml b/xmerge/java/org/openoffice/xmerge/build.xml deleted file mode 100644 index 3692b85dd9bb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/build.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/dom/DOMDocument.java b/xmerge/java/org/openoffice/xmerge/converter/dom/DOMDocument.java deleted file mode 100644 index 551667f21d8b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/dom/DOMDocument.java +++ /dev/null @@ -1,382 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.dom; - -import java.io.InputStream; -import java.io.OutputStream; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.IOException; - - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import org.openoffice.xmerge.util.Resources; -import org.openoffice.xmerge.util.Debug; - -/** - * An implementation of Document for - * StarOffice documents. - */ -public class DOMDocument - implements org.openoffice.xmerge.Document { - - /** Factory for DocumentBuilder objects. */ - private static DocumentBuilderFactory factory = - DocumentBuilderFactory.newInstance(); - - /** DOM Document of content.xml. */ - private Document contentDoc = null; - - /** DOM Document of content.xml. */ - private Document styleDoc = null; - - private String documentName = null; - private String fileName = null; - private String fileExt = null; - - /** Resources object. */ - private Resources res = null; - - - /** - * Default constructor. - * - * @param name Document name. - * @param ext Document extension. - */ - public DOMDocument(String name,String ext) - { - this(name,ext,true, false); - } - - /** - * Returns the file extension of the Document - * represented. - * - * @return file extension of the Document. - */ - protected String getFileExtension() { - return fileExt; - } - - - /** - * Constructor with arguments to set namespaceAware - * and validating flags. - * - * @param name Document name (may or may not - * contain extension). - * @param ext Document extension. - * @param namespaceAware Value for namespaceAware flag. - * @param validating Value for validating flag. - */ - public DOMDocument(String name, String ext,boolean namespaceAware, boolean validating) { - - res = Resources.getInstance(); - factory.setValidating(validating); - factory.setNamespaceAware(namespaceAware); - this.fileExt = ext; - this.documentName = trimDocumentName(name); - this.fileName = documentName + getFileExtension(); - } - - - /** - * Removes the file extension from the Document - * name. - * - * @param name Full Document name with extension. - * - * @return Name of Document without the extension. - */ - private String trimDocumentName(String name) { - String temp = name.toLowerCase(); - String ext = getFileExtension(); - - if (temp.endsWith(ext)) { - // strip the extension - int nlen = name.length(); - int endIndex = nlen - ext.length(); - name = name.substring(0,endIndex); - } - - return name; - } - - - /** - * Return a DOM Document object of the document content - * file. Note that a content DOM is not created when the constructor - * is called. So, either the read method or the - * initContentDOM method will need to be called ahead - * on this object before calling this method. - * - * @return DOM Document object. - */ - public Document getContentDOM() { - - return contentDoc; - } - - /** - * Sets the Content of the Document to the contents of the - * supplied Node list. - * - * @return DOM Document object. - */ - public void setContentDOM( Node newDom) { - contentDoc=(Document)newDom; - } - - - /** - * Return the name of the Document. - * - * @return The name of Document. - */ - public String getName() { - - return documentName; - } - - - /** - * Return the file name of the Document, possibly - * with the standard extension. - * - * @return The file name of Document. - */ - public String getFileName() { - - return fileName; - } - - - /** - * Read the Office Document from the specified - * InputStream. - * - * @param is Office document InputStream. - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream is) throws IOException { - Debug.log(Debug.INFO, "reading file"); - DocumentBuilder builder = null; - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException ex) { - System.out.println("Error:"+ ex); - //throw new OfficeDocumentException(ex); - } - try { - - contentDoc= builder.parse(is); - - - } catch (SAXException ex) { - System.out.println("Error:"+ ex); - //throw new OfficeDocumentException(ex); - } - } - - - /** - * Write out content to the supplied OutputStream. - * - * @param os XML OutputStream. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - - // set bytes for writing to output stream - byte contentBytes[] = docToBytes(contentDoc); - - os.write(contentBytes); - } - - - /** - *

            Write out a org.w3c.dom.Document object into a - * byte array.

            - * - *

            TODO: remove dependency on com.sun.xml.tree.XmlDocument - * package!

            - * - * @param Document DOM Document object. - * - * @return byte array of DOM Document - * object. - * - * @throws IOException If any I/O error occurs. - */ - private byte[] docToBytes(Document doc) - throws IOException { - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - java.lang.reflect.Constructor con; - java.lang.reflect.Method meth; - - String domImpl = doc.getClass().getName(); - - /* - * We may have multiple XML parsers in the Classpath. - * Depending on which one is first, the actual type of - * doc may vary. Need a way to find out which API is being - * used and use an appropriate serialization method. - */ - try { - // First of all try for JAXP 1.0 - if (domImpl.equals("com.sun.xml.tree.XmlDocument")) { - System.out.println("Using JAXP"); - Class jaxpDoc = Class.forName("com.sun.xml.tree.XmlDocument"); - - // The method is in the XMLDocument class itself, not a helper - meth = jaxpDoc.getMethod("write", - new Class[] { Class.forName("java.io.OutputStream") } ); - - meth.invoke(doc, new Object [] { baos } ); - } - else if (domImpl.equals("org.apache.crimson.tree.XmlDocument")) - { - System.out.println("Using Crimson"); - Class crimsonDoc = Class.forName("org.apache.crimson.tree.XmlDocument"); - // The method is in the XMLDocument class itself, not a helper - meth = crimsonDoc.getMethod("write", - new Class[] { Class.forName("java.io.OutputStream") } ); - - meth.invoke(doc, new Object [] { baos } ); - } - else if (domImpl.equals("org.apache.xerces.dom.DocumentImpl") - || domImpl.equals("org.apache.xerces.dom.DeferredDocumentImpl")) { - System.out.println("Using Xerces"); - // Try for Xerces - Class xercesSer = - Class.forName("org.apache.xml.serialize.XMLSerializer"); - - // Get the OutputStream constructor - // May want to use the OutputFormat parameter at some stage too - con = xercesSer.getConstructor(new Class [] - { Class.forName("java.io.OutputStream"), - Class.forName("org.apache.xml.serialize.OutputFormat") } ); - - - // Get the serialize method - meth = xercesSer.getMethod("serialize", - new Class [] { Class.forName("org.w3c.dom.Document") } ); - - - // Get an instance - Object serializer = con.newInstance(new Object [] { baos, null } ); - - - // Now call serialize to write the document - meth.invoke(serializer, new Object [] { doc } ); - } - else { - // We dont have another parser - throw new IOException("No appropriate API (JAXP/Xerces) to serialize XML document: " + domImpl); - } - } - catch (ClassNotFoundException cnfe) { - throw new IOException(cnfe.toString()); - } - catch (Exception e) { - // We may get some other errors, but the bottom line is that - // the steps being executed no longer work - throw new IOException(e.toString()); - } - - byte bytes[] = baos.toByteArray(); - - return bytes; - } - - - /** - * Initializes a new DOM Document with the content - * containing minimum XML tags. - * - * @throws IOException If any I/O error occurs. - */ - public final void initContentDOM() throws IOException { - contentDoc = createDOM(""); - - } - - /** - *

            Creates a new DOM Document containing minimum - * OpenOffice XML tags.

            - * - *

            This method uses the subclass - * getOfficeClassAttribute method to get the - * attribute for office:class.

            - * - * @param rootName root name of Document. - * - * @throws IOException If any I/O error occurs. - */ - private final Document createDOM(String rootName) throws IOException { - - Document doc = null; - - try { - - DocumentBuilder builder = factory.newDocumentBuilder(); - doc = builder.newDocument(); - - } catch (ParserConfigurationException ex) { - System.out.println("Error:"+ ex); - - - } - - Element root = (Element) doc.createElement(rootName); - doc.appendChild(root); - - - return doc; - } - -} - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/dom/build.xml b/xmerge/java/org/openoffice/xmerge/converter/dom/build.xml deleted file mode 100644 index 725caf554ddf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/dom/build.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/dom/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/dom/makefile.mk deleted file mode 100644 index e4cc4af6df3d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/dom/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxc_dom -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/dom/package.html b/xmerge/java/org/openoffice/xmerge/converter/dom/package.html deleted file mode 100644 index 5ed5997b40af..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/dom/package.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - org.openoffice.xmerge.converter.palm package - - - -

            Provides classes for converting basic document types to/from a -DOMDocument object, which can be used by the framework.

            -

            This package provides classes that handle the writing of data to an - OutputStream object for the {@link org.openoffice.xmerge.DocumentSerializer -DocumentSerializer} interface for; as well as the reading of data from an -InputStream object for the framework's {@link org.openoffice.xmerge.DocumentDeserializer -DocumentDeserializer} interface. Both these framework interfaces are simply -converters from server-side documents to device specific documents and vice-versa. -

            - -

            -
            -

            -

            Important Note

            -

            Methods in these classes are not thread safe for performance reasons. -Users of these classes will have to make sure that the usage of these classes -are done in a proper manner. Possibly more on this later.

            - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDB.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDB.java deleted file mode 100644 index 36397691b011..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDB.java +++ /dev/null @@ -1,469 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.DataOutputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -/** - *

            This class contains data for a single Palm database for use during - * a conversion process.

            - * - *

            It contains zero or more Record objects stored in an - * array. The index of the Record object in the array is - * the Record id or number for that specific Record object. - * Note that this class does not check for maximum number of Records - * allowable in an actual PDB.

            - * - *

            This class also contains the PDB name associated with the Palm - * database it represents. A PDB name consists of 32 bytes of a - * certain encoding (extended ASCII in this case).

            - * - *

            The non default constructors take in a name parameter which may not - * be the exact PDB name to be used. The name parameter in - * String or byte array are converted to an exact - * NAME_LENGTH byte array. If the length of the name is less - * than NAME_LENGTH, it is padded with '\0' characters. If it - * is more, it gets truncated. The last character in the resulting byte - * array is always a '\0' character. The resulting byte array is stored in - * bName, and a corresponding String object sName - * that contains characters without the '\0' characters.

            - * - *

            The {@link #write write} method is called within the - * {@link org.openoffice.xmerge.converter.palm.PalmDocument#write - * PalmDocument.write} method for writing out its data to the OutputStream - * object.

            - * - *

            The {@link #read read} method is called within the - * {@link org.openoffice.xmerge.converter.palm.PalmDocument#read - * PalmDocument.read} method for reading in its data from the InputStream - * object.

            - * - * @author Akhil Arora, Herbie Ong - * @see PalmDocument - * @see Record - */ - -public final class PalmDB { - - /* Backup attribute for a PDB. This corresponds to dmHdrAttrBackup. */ - public final static short PDB_HEADER_ATTR_BACKUP = 0x0008; - - /** Number of bytes for the name field in the PDB. */ - public final static int NAME_LENGTH = 32; - - /** List of Record objects. */ - private Record[] records; - - /** PDB name in bytes. */ - private byte[] bName = null; - - /** PDB name in String. */ - private String sName = null; - - /** Creator ID. */ - private int creatorID = 0; - - /** Type ID */ - private int typeID = 0; - - /** - * PDB version. Palm UInt16. - * It is treated as a number here, since there is no unsigned 16 bit - * in Java, int is used instead, but only 2 bytes are written out or - * read in. - */ - private int version = 0; - - /** - * PDB attribute - flags for the database. - * Palm UInt16. Unsignedness should be irrelevant. - */ - private short attribute = 0; - - - /** - * Default constructor. - * - * @param creatorID The PDB Creator ID. - * @param typeID The PDB Type ID. - * @param version The PDB header version. - * @param attribute The PDB header attribute. - */ - public PalmDB(int creatorID, int typeID, int version, short attribute) { - - records = new Record[0]; - setAttributes(creatorID, typeID, version, attribute); - } - - - /** - * Constructor to create PalmDB object with - * Record objects. recs.length - * can be zero for an empty PDB. - * - * @param name Suggested PDB name in a String. - * @param creatorID The PDB Creator ID. - * @param typeID The PDB Type ID. - * @param version The PDB header version. - * @param attribute The PDB header attribute. - * @param recs Array of Record objects. - * - * @throws UnsupportedEncodingException If name is - * not properly encoded. - * @throws NullPointerException If recs is null. - */ - public PalmDB(String name, int creatorID, int typeID, int version, - short attribute, Record[] recs) - throws UnsupportedEncodingException { - - this(name.getBytes(PdbUtil.ENCODING), creatorID, typeID, version, - attribute, recs); - } - - - /** - * Constructor to create object with Record - * objects. recs.length can be zero for an - * empty PDB. - * - * @param name Suggested PDB name in a byte - * array. - * @param creatorID The PDB Creator ID. - * @param typeID The PDB Type ID. - * @param version The PDB header version. - * @param attribute The PDB header attribute. - * @param recs Array of Record objects. - * - * @throws UnsupportedEncodingException If name is - * not properly encoded. - * @throws NullPointerException If recs is null. - */ - public PalmDB(byte[] name, int creatorID, int typeID, int version, - short attribute, Record[] recs) throws UnsupportedEncodingException { - - store(name); - - records = new Record[recs.length]; - System.arraycopy(recs, 0, records, 0, recs.length); - setAttributes(creatorID, typeID, version, attribute); - } - - - /** - * Set the attributes for the PalmDB object. - * - * @param creatorID The PDB Creator ID. - * @param typeID The PDB Type ID. - * @param version The PDB header version. - * @param attribute The PDB header attribute. - */ - public void setAttributes (int creatorID, int typeID, int version, short attribute) { - this.creatorID = creatorID; - this.typeID = typeID; - this.version = version; - this.attribute = attribute; - } - - - /** - * This private method is mainly used by the constructors above. - * to store bytes into name and also create a String - * representation. and also by the read method. - * - * TODO: Note that this method assumes that the byte - * array parameter contains one character per byte, - * else it would truncate improperly. - * - * @param bytes PDB name in byte array. - * - * @throws UnsupportedEncodingException If ENCODING is - * not supported. - */ - private void store(byte[] bytes) throws UnsupportedEncodingException { - - // note that this will initialize all bytes in name to 0. - bName = new byte[NAME_LENGTH]; - - // determine minimum length to copy over from bytes to bName. - // Note that the last byte in bName has to be '\0'. - - int lastIndex = NAME_LENGTH - 1; - - int len = (bytes.length < lastIndex)? bytes.length: lastIndex; - - int i; - - for (i = 0; i < len; i++) { - - if (bytes[i] == 0) { - break; - } - - bName[i] = bytes[i]; - } - - // set sName, no need to include the '\0' character. - sName = new String(bName, 0, i, PdbUtil.ENCODING); - } - - - /** - * Returns creator ID. - * - * @return The creator ID. - */ - public int getCreatorID() { - - return creatorID; - } - - - /** - * Returns type ID. - * - * @return The type ID. - */ - public int getTypeID() { - - return typeID; - } - - - /** - * Returns attribute flag. - * - * @return The attribute flag. - */ - public short getAttribute() { - - return attribute; - } - - - /** - * Returns version. - * - * @return The version. - */ - public int getVersion() { - - return version; - } - - - /** - * Return the number of Records contained in this - * PDB PalmDB object. - * - * @return Number of Record objects. - */ - public int getRecordCount() { - - return records.length; - } - - - /** - * Return the specific Record object associated - * with the Record number. - * - * @param index Record index number. - * - * @return The Record object in the specified index - * - * @throws ArrayIndexOutOfBoundsException If index is out of bounds. - */ - public Record getRecord(int index) { - - return records[index]; - } - - - /** - * Return the list of Record objects. - * - * @return The array of Record objects. - */ - public Record[] getRecords() { - - return records; - } - - /** - * Return the PDB name associated with this object. - * - * @return The PDB name. - */ - public String getPDBNameString() { - - return sName; - } - - - /** - * Return the PDB name associated with this object in - * byte array of exact length of 32 bytes. - * - * @return The PDB name in byte array of - * length 32. - */ - public byte[] getPDBNameBytes() { - - return bName; - } - - - /** - * Write out the number of Records followed by what - * will be written out by each Record object. - * - * @param os The OutputStream to write the - * object. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - - DataOutputStream out = new DataOutputStream(os); - - // write out PDB name - out.write(bName); - - // write out 2 bytes for number of records - out.writeShort(records.length); - - // let each Record object write out its own info. - for (int i = 0; i < records.length; i++) - records[i].write(out); - } - - /** - * Read the necessary data to create a PDB from - * the InputStream. - * - * @param is The InputStream to read data - * in order to restore the object. - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream is) throws IOException { - - DataInputStream in = new DataInputStream(is); - - // read in the PDB name. - byte[] bytes = new byte[NAME_LENGTH]; - in.readFully(bytes); - store(bytes); - - // read in number of records - int nrec = in.readUnsignedShort(); - records = new Record[nrec]; - - // read in the Record infos - for (int i = 0; i < nrec; i++) { - - records[i] = new Record(); - records[i].read(in); - } - } - - /** - * Override equals method of Object. - * - * Two PalmDB objects are equal if they contain - * the same information, i.e. PDB name and Records. - * - * This is used primarily for testing purposes only for now. - * - * @param obj A PalmDB Object to - * compare. - * - * @return true if obj is equal to this, otherwise - * false. - */ - public boolean equals(Object obj) { - - boolean bool = false; - - if (obj instanceof PalmDB) { - - PalmDB pdb = (PalmDB) obj; - - checkLabel: { - - // compare sName - - if (!sName.equals(pdb.sName)) { - - break checkLabel; - } - - // compare bName - - if (bName.length != pdb.bName.length) { - - break checkLabel; - } - - for (int i = 0; i < bName.length; i++) { - - if (bName[i] != pdb.bName[i]) { - - break checkLabel; - } - } - - // compare each Record - - if (records.length != pdb.records.length) { - - break checkLabel; - } - - for (int i = 0; i < records.length; i++) { - - if (!records[i].equals(pdb.records[i])) { - - break checkLabel; - } - } - - // all checks done - bool = true; - } - } - - return bool; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDocument.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDocument.java deleted file mode 100644 index fdf2c69a37aa..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PalmDocument.java +++ /dev/null @@ -1,180 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ByteArrayOutputStream; - -import java.io.OutputStream; -import java.io.Reader; -import java.io.BufferedReader; -import java.io.StringReader; -import java.io.UnsupportedEncodingException; - -import org.openoffice.xmerge.Document; - -/** - *

            A PalmDocument is palm implementaion of the - * Docuemnt interface.

            - * - *

            This implementation allows the Palm device format to be - * read via an InputStream and written via an - * OutputStream.

            - * - * @author Martin Maher - */ - -public class PalmDocument - implements Document { - - /** - * The internal representation of a pdb. - */ - private PalmDB pdb; - - /** - * The file name. - */ - private String fileName; - - /** - * Constructor to create a PalmDocument - * from an InputStream. - * - * @param is InputStream containing a PDB. - * - * @throws IOException If any I/O error occurs. - */ - public PalmDocument(InputStream is) throws IOException { - read(is); - } - - - /** - * Constructor to create a PalmDocument with - * Record objects. recs.length - * can be zero for an empty PDB. - * - * @param name Suggested PDB name in String. - * @param creatorID The PDB Creator ID. - * @param typeID The PDB Type ID. - * @param version The PDB header version. - * @param attribute The PDB header attribute. - * @param recs Array of Record objects. - * - * @throws NullPointerException If recs is null. - */ - public PalmDocument(String name, int creatorID, int typeID, int version, - short attribute, Record[] recs) - throws UnsupportedEncodingException { - pdb = new PalmDB(name, creatorID, typeID, version, attribute, recs); - fileName = pdb.getPDBNameString(); - } - - - /** - * Reads in a file from the InputStream. - * - * @param is InputStream to read in its content. - * - * @throws IOException If any I/O error occurs. - */ - - public void read(InputStream is) throws IOException { - PdbDecoder decoder = new PdbDecoder(); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - int b; - while (is.available()>0) - { - baos.write(is.read()); - } - byte[] bytearr = baos.toByteArray(); - pdb = decoder.parse(bytearr); - fileName = pdb.getPDBNameString(); - } - - - /** - * Writes the PalmDocument to an OutputStream. - * - * @param is The OutputStream to write the content. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - PdbEncoder encoder = new PdbEncoder(pdb); - encoder.write(os); - } - - - /** - * Returns the PalmDB contained in this object. - * - * @return The PalmDB. - */ - public PalmDB getPdb() { - return pdb; - } - - - /** - * Sets the PalmDocument to a new PalmDB - * value. - * - * @param pdb The new PalmDB value. - */ - public void setPdb(PalmDB pdb) { - this.pdb = pdb; - - String name = pdb.getPDBNameString(); - fileName = name; - } - - - /** - * Returns the name of the file. - * - * @return The name of the file represented in the - * PalmDocument. - */ - public String getFileName() { - return fileName + ".pdb"; - } - - - /** - * Returns the Document name. - * - * @return The Document name. - */ - public String getName() { - return fileName; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PdbDecoder.java deleted file mode 100755 index b67ff036761b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbDecoder.java +++ /dev/null @@ -1,235 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.RandomAccessFile; -import java.io.IOException; -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; - -import org.openoffice.xmerge.converter.palm.*; - -/** - *

            Provides functionality to decode a PDB formatted file into - * a PalmDB object given an InputStream. - * This class is only used by the PalmDB object.

            - * - *

            Sample usage:

            - * - *
            
            - *     PdbDecoder decoder = new PdbDecoder("sample.pdb");
            - *     PalmDB palmDB = decoder.parse();
            - *  
            - * - *

            This decoder has the following assumptions on the PDB file:

            - * - *

              - *
            1. There is only one RecordList section in the PDB.
            2. - *
            3. The Record indices in the RecordList are sorted in - * order, i.e. the first Record index refers to - * Record 0, and so forth.
            4. - *
            5. The raw Record in the Record section - * are sorted as well in order, i.e. first Record - * comes ahead of second Record, etc.
            6. - *

            - * - *

            Other decoders assume these as well.

            - * - * @author Herbie Ong - * @see PalmDB - * @see Record - */ -public final class PdbDecoder { - - - /** - *

            This method decodes a PDB file into a PalmDB - * object.

            - * - *

            First, the header data is read using the PdbHeader - * read method. Next, the RecordList section is - * read and the Record offsets are stored for use when - * parsing the Records. Based on these offsets, the bytes - * corresponding to each Record are read and each is - * stored in a Record object. Lastly, the data is - * used to create a PalmDB object.

            - * - * @param fileName PDB file name. - * - * @throws IOException If I/O error occurs. - */ - public PalmDB parse(String fileName) throws IOException { - - RandomAccessFile file = new RandomAccessFile(fileName, "r"); - - // read the PDB header - PdbHeader header = new PdbHeader(); - header.read(file); - - Record recArray[] = new Record[header.numRecords]; - if (header.numRecords != 0) { - - // read in the record indices + offsets - - int recOffset[] = new int[header.numRecords]; - byte recAttrs[] = new byte[header.numRecords]; - - for (int i = 0; i < header.numRecords; i++) { - - recOffset[i] = file.readInt(); - - // read in attributes (1 byte) + unique id (3 bytes) - // take away the unique id, store the attributes - - int attr = file.readInt(); - recAttrs[i] = (byte) (attr >>> 24); - } - - - // read the records - - int len = 0; - byte[] bytes = null; - - int lastIndex = header.numRecords - 1; - - for (int i = 0; i < lastIndex; i++) { - - file.seek(recOffset[i]); - len = recOffset[i+1] - recOffset[i]; - bytes = new byte[len]; - file.readFully(bytes); - recArray[i] = new Record(bytes, recAttrs[i]); - } - - // last record - file.seek(recOffset[lastIndex]); - len = (int) file.length() - recOffset[lastIndex]; - bytes = new byte[len]; - file.readFully(bytes); - recArray[lastIndex] = new Record(bytes, recAttrs[lastIndex]); - - } - - file.close(); - - // create PalmDB and return it - PalmDB pdb = new PalmDB(header.pdbName, header.creatorID, - header.typeID, header.version, header.attribute, recArray); - - return pdb; - } - - /** - *

            This method decodes a PDB file into a PalmDB - * object.

            - * - *

            First, the header data is read using the PdbHeader - * read method. Next, the RecordList section is - * read and the Record offsets are stored for use when - * parsing the Records. Based on these offsets, the bytes - * corresponding to each Record are read and each is - * stored in a Record object. Lastly, the data is - * used to create a PalmDB object.

            - * - * @param b byte[] containing PDB. - * - * @throws IOException If I/O error occurs. - */ - - public PalmDB parse(byte[] b) throws IOException { - - ByteArrayInputStream bais = new ByteArrayInputStream(b); - DataInputStream dis = new DataInputStream(bais); - - // read the PDB header - - PdbHeader header = new PdbHeader(); - header.read(dis); - - Record recArray[] = new Record[header.numRecords]; - if (header.numRecords != 0) { - - // read in the record indices + offsets - - int recOffset[] = new int[header.numRecords]; - byte recAttrs[] = new byte[header.numRecords]; - - for (int i = 0; i < header.numRecords; i++) { - - recOffset[i] = dis.readInt(); - - // read in attributes (1 byte) + unique id (3 bytes) - // take away the unique id, store the attributes - - int attr = dis.readInt(); - recAttrs[i] = (byte) (attr >>> 24); - } - - // read the records - - int len = 0; - byte[] bytes = null; - - int lastIndex = header.numRecords - 1; - - for (int i = 0; i < lastIndex; i++) { - - //dis.seek(recOffset[i]); - dis.reset(); - dis.skip(recOffset[i]); - len = recOffset[i+1] - recOffset[i]; - bytes = new byte[len]; - dis.readFully(bytes); - recArray[i] = new Record(bytes, recAttrs[i]); - } - - // last record - - dis.reset(); - len = (int) dis.available() - recOffset[lastIndex]; - dis.skip(recOffset[lastIndex]); - bytes = new byte[len]; - dis.readFully(bytes); - recArray[lastIndex] = new Record(bytes, recAttrs[lastIndex]); - } - - - - // create PalmDB and return it - - PalmDB pdb = new PalmDB(header.pdbName, header.creatorID, - header.typeID, header.version, header.attribute, recArray); - - return pdb; - } - - - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PdbEncoder.java deleted file mode 100755 index 2cd084786878..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbEncoder.java +++ /dev/null @@ -1,196 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.OutputStream; -import java.io.BufferedOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.Date; - -/** - *

            Provides functionality to encode a PalmDB object - * into a PDB formatted file given a file OutputStream. - * This class is only used by the PalmDB object.

            - * - *

            One needs to create one PdbEncoder object per - * PalmDB object to be encoded. This class keeps - * the PDB header data and functionality in the PdbHeader - * class.

            - * - *

            Sample usage:

            - * - *
            
            - *     PdbEncoder encoder = new PdbEncoder(palmDB, "STRW", "data");
            - *     encoder.write(new FileOutputStream("sample.pdb"));
            - *  
            - * - * @author Herbie Ong - * @see PalmDB - * @see Record - */ -public final class PdbEncoder { - - /** PDB header. */ - private PdbHeader header = null; - - /** the PalmDB object. */ - private PalmDB db = null; - - /** - * The pattern for unique_id=0x00BABE(start). - */ - private final static int START_UNIQUE_ID = 0x00BABE; - - - /** - * Constructor. - * - * @param db The PalmDB to be encoded. - */ - public PdbEncoder(PalmDB db) { - - header = new PdbHeader(); - header.version = db.getVersion(); - - header.attribute = db.getAttribute(); - - this.db = db; - - header.pdbName = db.getPDBNameBytes(); - header.creatorID = db.getCreatorID(); - header.typeID = db.getTypeID(); - - // set the following dates to current date - Date date = new Date(); - header.creationDate = (date.getTime() / 1000) + PdbUtil.TIME_DIFF; - header.modificationDate = header.creationDate; - - header.numRecords = db.getRecordCount(); - } - - - /** - *

            Write out a PDB into the given OutputStream.

            - * - *

            First, write out the header data by using the - * PdbHeader write method. Next, - * calculate the RecordList section and write it out. - * Lastly, write out the bytes corresponding to each - * Record.

            - * - *

            The RecordList section contains a list of - * Record index info, where each Record - * index info contains:

            - * - *

              - *
            • 4 bytes local offset of the Record from the - * top of the PDB.
            • - *
            • 1 byte of Record attribute.
            • - *
            • 3 bytes unique Record ID.
            • - *

            - * - *

            There should be a total of header.numRecords - * of Record index info

            . - * - * @param os OutputStream to write out PDB. - * - * @throws IOException If I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - - BufferedOutputStream bos = new BufferedOutputStream(os); - DataOutputStream dos = new DataOutputStream(bos); - - // write out the PDB header - header.write(dos); - - if (header.numRecords > 0) { - - // compute for recOffset[] - - int recOffset[] = new int[header.numRecords]; - byte recAttr[] = new byte[header.numRecords]; - - // first recOffset will be at PdbUtil.HEADER_SIZE + all the - // record indices (@ 8 bytes each) - recOffset[0] = PdbUtil.HEADER_SIZE + (header.numRecords * 8); - - int lastIndex = header.numRecords - 1; - - for (int i = 0; i < lastIndex; i++) { - - Record rec = db.getRecord(i); - int size = rec.getSize(); - recAttr[i] = rec.getAttributes(); - - recOffset[i+1] = recOffset[i] + size; - } - - // grab the last record's attribute. - - Record lastRec = db.getRecord(lastIndex); - recAttr[lastIndex] = lastRec.getAttributes(); - - - int uid = START_UNIQUE_ID; - - for (int i = 0; i < header.numRecords; i++) { - - // write out each record offset - dos.writeInt(recOffset[i]); - - // write out record attribute (recAttr) and - // unique ID (uid) in 4 bytes (int) chunk. - // unique ID's have to be unique, thus - // increment each time. - int attr = (((int) recAttr[i]) << 24 ); - attr |= uid; - dos.writeInt(attr); - uid++; - } - - // write out the raw records - - for (int i = 0; i < header.numRecords; i++) { - - Record rec = db.getRecord(i); - byte bytes[] = rec.getBytes(); - dos.write(bytes); - } - - } else { - - // placeholder bytes if there are no records in the list. - dos.writeShort(0); - } - - dos.flush(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbHeader.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PdbHeader.java deleted file mode 100755 index 7311ce956aba..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbHeader.java +++ /dev/null @@ -1,162 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -/** - *

            Class used only internally by PdbEncoder and - * PdbDecoder to store, read and write a PDB header.

            - * - *

            Note that fields are intended to be accessible only at the - * package level.

            - * - *

            Some of the fields are internally represented using a - * larger type since Java does not have unsigned types. - * Some are not since they are not relevant for now. - * The read and write methods should - * handle them properly.

            - * - * @author Herbie Ong - * @see PalmDB - * @see Record - */ -final class PdbHeader { - - - /** Name of the database. 32 bytes. */ - byte[] pdbName = null; - - /** - * Flags for the database. Palm UInt16. Unsignedness should be - * irrelevant. - */ - short attribute = 0; - - /** Application-specific version for the database. Palm UInt16. */ - int version = 0; - - /** Date created. Palm UInt32. */ - long creationDate = 0; - - /** Date last modified. Palm UInt32. */ - long modificationDate = 0; - - /** Date last backup. Palm UInt32. */ - long lastBackupDate = 0; - - /** - * Incremented every time a Record is - * added, deleted or modified. Palm UInt32. - */ - long modificationNumber = 0; - - /** Optional field. Palm UInt32. Unsignedness should be irrelevant. */ - int appInfoID = 0; - - /** Optional field. Palm UInt32. Unsignedness should be irrelevant. */ - int sortInfoID = 0; - - /** Database type ID. Palm UInt32. Unsignedness should be irrelevant. */ - int typeID = 0; - - /** Database creator ID. Palm UInt32. Unsignedness should be irrelevant. */ - int creatorID = 0; - - /** ??? */ - int uniqueIDSeed = 0; - - /** See numRecords. 4 bytes. */ - int nextRecordListID = 0; - - /** - * Number of Records stored in the database header. - * If all the Record entries cannot fit in the header, - * then nextRecordList has the local ID of a - * RecordList that contains the next set of Record. - * Palm UInt16. - */ - int numRecords = 0; - - - /** - * Read in the data for the PDB header. Need to - * preserve the unsigned value for some of the fields. - * - * @param di A DataInput object. - * - * @throws IOException If any I/O error occurs. - */ - public void read(DataInput in) throws IOException { - - pdbName = new byte[PalmDB.NAME_LENGTH]; - in.readFully(pdbName); - attribute = in.readShort(); - version = in.readUnsignedShort(); - creationDate = ((long) in.readInt()) & 0xffffffffL; - modificationDate = ((long) in.readInt()) & 0xffffffffL; - lastBackupDate = ((long) in.readInt()) & 0xffffffffL; - modificationNumber = ((long) in.readInt()) & 0xffffffffL; - appInfoID = in.readInt(); - sortInfoID = in.readInt(); - creatorID = in.readInt(); - typeID = in.readInt(); - uniqueIDSeed = in.readInt(); - nextRecordListID = in.readInt(); - numRecords = in.readUnsignedShort(); - } - - - /** - * Write out PDB header data. - * - * @param out A DataOutput object. - * - * @throws IOException If any I/O error occurs. - */ - public void write(DataOutput out) throws IOException { - - out.write(pdbName); - out.writeShort(attribute); - out.writeShort(version); - out.writeInt((int) creationDate); - out.writeInt((int) modificationDate); - out.writeInt((int) lastBackupDate); - out.writeInt((int) modificationNumber); - out.writeInt(appInfoID); - out.writeInt(sortInfoID); - out.writeInt(typeID); - out.writeInt(creatorID); - out.writeInt(uniqueIDSeed); - out.writeInt(nextRecordListID); - out.writeShort(numRecords); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbUtil.java b/xmerge/java/org/openoffice/xmerge/converter/palm/PdbUtil.java deleted file mode 100755 index f911b583589a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/PdbUtil.java +++ /dev/null @@ -1,106 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.palm; - -/** - * Contains common static methods and constants for use within the package. - * - * @author Herbie Ong - */ -public final class PdbUtil { - - /** Difference in seconds from Jan 01, 1904 to Jan 01, 1970. */ - final static long TIME_DIFF = 2082844800; - - /** Encoding scheme used. */ - final static String ENCODING = "8859_1"; - - /** Size of a PDB header in bytes. */ - final static int HEADER_SIZE = 78; - - - /** - *

            This method converts a 4 letter string into the Palm ID - * integer.

            - * - *

            It is normally used to convert the Palm creator ID string into - * the integer version of it. Also use for data types, etc.

            - * - * @param s Four character String. - * - * @return Palm ID representing the String. - * - * @throws ArrayIndexOutOfBoundsException If String - * parameter contains less than four characters. - */ - public static int intID(String s) { - - int id = -1; - int temp = 0; - - // grab the first char and put it in the high bits - // note that we only want 8 lower bits of it. - temp = (int) s.charAt(0); - id = temp << 24; - - // grab the second char and add it in. - temp = ((int) s.charAt(1)) & 0x00ff; - id += temp << 16; - - // grab the second char and add it in. - temp = ((int) s.charAt(2)) & 0x00ff; - id += temp << 8; - - // grab the last char and add it in - id += ((int) s.charAt(3)) & 0x00ff; - - return id; - } - - - /** - * This method converts an integer into a String - * given the Palm ID format. - * - * @param i Palm ID. - * - * @return String representation. - */ - public static String stringID(int i) { - - char ch[] = new char[4]; - ch[0] = (char) (i >>> 24); - ch[1] = (char) ((i >> 16) & 0x00ff); - ch[2] = (char) ((i >> 8) & 0x00ff); - ch[3] = (char) (i & 0x00ff); - - return new String(ch); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/Record.java b/xmerge/java/org/openoffice/xmerge/converter/palm/Record.java deleted file mode 100644 index aa2101d6159e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/Record.java +++ /dev/null @@ -1,216 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.palm; - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.DataOutputStream; -import java.io.DataInputStream; -import java.io.IOException; - -/** - *

            Contains the raw bytes for a Record in a PDB.

            - * - *

            Note that it is not associated with a Record number - * or ID.

            - * - * @author Akhil Arora, Herbie Ong - * @see PalmDocument - * @see PalmDB - */ -public final class Record { - - /** Record byte array. */ - private byte[] data; - - /** Record attributes. */ - private byte attributes = 0; - - - /** - * Default constructor. - */ - public Record() { - - data = new byte[0]; - } - - - /** - *

            Constructor to create a Record filled with - * bytes.

            - * - *

            Note that this does not check for 64k Record - * sizes. User of this class must check for that.

            - * - * @param d byte array contents for this object. - */ - public Record(byte[] d) { - - this(d, (byte) 0); - } - - - /** - *

            Constructor to create a Record filled with - * bytes and assign Record attributes.

            - * - *

            Note that this does not check for 64k Record - * sizes. User of this class must check for that.

            - * - * @param d byte array contents for this object. - * @param attrs Record attributes. - */ - public Record(byte[] d, byte attrs) { - - data = new byte[d.length]; - attributes = attrs; - System.arraycopy(d, 0, data, 0, d.length); - } - - - /** - * This method returns the number of bytes in this object. - * - * @return Number of bytes in this object. - */ - public int getSize() { - - return data.length; - } - - - /** - * This method returns the contents of this Object. - * - * @return Contents in byte array - */ - public byte[] getBytes() { - - return data; - } - - - /** - *

            This method returns the Record attributes.

            - * - *
            -     *  Record attributes consists of (from high to low bit)
            -     *
            -     *  delete (1) - dirty (1) - busy (1) - secret (1) - category (4)
            -     *  
            - * - * @return Record attribute. - */ - public byte getAttributes() { - - return attributes; - } - - - /** - * Write out the Record attributes and - * Record length followed by the data in this - * Record object. - * - * @param out The OutputStream to write the object. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream outs) throws IOException { - - DataOutputStream out = new DataOutputStream(outs); - out.writeByte(attributes); - out.writeShort(data.length); - out.write(data); - } - - - /** - * Read the necessary data to create a PDB from - * the InputStream. - * - * @param in The InputStream to read data from - * in order to restore the object. - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream ins) throws IOException { - - DataInputStream in = new DataInputStream(ins); - attributes = in.readByte(); - int len = in.readUnsignedShort(); - data = new byte[len]; - in.readFully(data); - } - - - /** - *

            Override equals method of Object.

            - * - *

            Two Record objects are equal if they contain - * the same bytes in the array and the same attributes.

            - * - *

            This is used primarily for testing purposes only for now.

            - * - * @param obj A Record object to compare with - * - * @return true if obj is equal, otherwise false. - */ - public boolean equals(Object obj) { - - boolean bool = false; - - if (obj instanceof Record) { - - Record rec = (Record) obj; - - checkLabel: { - - if (rec.getAttributes() != attributes) { - - break checkLabel; - } - - if (rec.getSize() == data.length) { - - for (int i = 0; i < data.length; i++) { - - if (data[i] != rec.data[i]) { - break checkLabel; - } - } - - bool = true; - } - } - } - return bool; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/build.xml b/xmerge/java/org/openoffice/xmerge/converter/palm/build.xml deleted file mode 100644 index b2f9a9946a9a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/build.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/palm/makefile.mk deleted file mode 100644 index 4f7eb3026a72..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxc_palm -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/package.html b/xmerge/java/org/openoffice/xmerge/converter/palm/package.html deleted file mode 100644 index 5f8325d36301..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/package.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - -org.openoffice.xmerge.converter.palm package - - - - -

            Provides classes for converting Palm database data to/from a -PalmDocument object, which can be used by the framework. - -

            This package provides classes that handle the writing of data to -an OutputStream object for the -{@link org.openoffice.xmerge.DocumentSerializer DocumentSerializer} -interface for; as well as the reading of data from an InputStream -object for the framework's -{@link org.openoffice.xmerge.DocumentDeserializer DocumentDeserializer} -interface. Both these framework interfaces are simply converters from -server-side documents to device specific documents and vice-versa. -Since all Palm databases have a general record oriented format, a Palm -database converter specific I/O stream format is specified for the Palm -sync client application to handle the byte stream in a generic way. -This also means that Palm database converters should read and/or write -using this I/O stream format as specified in the next section.

            - - -

            Palm database converter specific I/O stream format

            -
            - -

            Note that the format of the byte stream is not exactly that of a PDB -file encoding. It does not need to contain the PDB header information -nor record indices section. Instead, it contains the following ...

            - -
            -    set header
            -       4 bytes - creator id
            -       4 bytes - type id
            -       2 bytes - PDB header version
            -       2 bytes - PDB header attribute
            -       unsigned 2 bytes - number of PDB data to follow
            -
            -    for each PDB,
            -       32 bytes - name of PDB i
            -       unsigned 2 bytes - number of records in PDB i
            -
            -       for each record contained in PDB i,
            -          1 byte - record attributes
            -          unsigned 2 bytes - size of record j in PDB i
            -          x bytes - data
            -
            - -

            Note that each PDB section is appended by another if there is more -than one.

            - -

            Since the PalmDocument class takes care of the writing -and reading of this format through its write and -read methods, respectively, this format shall also be -referred to as the PalmDocument stream format.

            - -

            Usage of the classes for the specified I/O stream

            - -

            When converting from a server document to device document(s), the -framework requires writing the device document(s) to an -OutputStream object via the DocumentSerializer -interface. Note that a single server document may be converted -into multiple PDB's on the Palm device. Each worksheet in the document -is converted into a PalmDocument . Thus, if there is more -than one worksheet in the document, more than one PalmDocument -will be produced by the DocumentSerializer.

            - -

            A DocumentSerializer creates a ConvertData object, -which contains all of the PalmDocuments. The -{@link org.openoffice.xmerge.converter.palm.PalmDocument#write write} -method to write to the given OutputStream. The PalmDocument -object will take care of writing the data in the -specified format.

            - -

            A DocumentDeserializer can use the PalmDocument object's -{@link org.openoffice.xmerge.converter.palm.PalmDocument#read read} -method to fill in all the PalmDocument object's data.

            - -

            PDB file encoding/decoding

            - -

            The PalmDocument object's read and write functions are provided -by the PdbDecoder and PdbEncoder objects. The -PdbEncoder class provides the functionality of encoding a -PalmDB object into an InputStream, while the -PdbDecoder class provides the functionality of decoding a -PDB file into an OutputStream.

            - -

            Refer to the class description of each for usage.

            - -

            Important Note

            - -

            Methods in these classes are not thread safe for performance reasons. -Users of these classes will have to make sure that the usage of these classes -are done in a proper manner. Possibly more on this later.

            - -

            TODO list

            - -

              -
            1. Merge the PalmDB, PdbDecoder and PdbEncoder classes into the - PalmDocument class.
            2. -
            3. After reading more on the palm file format spec, I realized - that there are certain optional fields that may need to be addressed - still, like the appInfo block and sortInfo block.
            4. -
            5. The current PdbDecoder only returns a PalmDB object. There are other - information that we may want to expose from the PDB decoding process.
            6. -
            7. Investigate on different language encoding on the Palm and how that - affects the PDB name.
            8. -

            - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/README b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/README deleted file mode 100644 index 924f32fe0824..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/README +++ /dev/null @@ -1,50 +0,0 @@ -The following is an outline of the usage of this test suite. - -Requirements -^^^^^^^^^^^^ -The following are required for these qa scripts to run correctly. - 1. POSE: the Palm OS Emulator. This is available from the PalmOS website. - 2. A Palm pilot rom. Also available from Palm. - 3. Compiled xmerge jar files (xmerge.jar, aportisdoc.jar etc.) - 4. Xerces.jar: required by the xmerge framework. This is available from org.apache.com. - - - -Test directory Contents -^^^^^^^^^^^^^^^^^^^^^^^ -This test environment consists on 3 directories. - 1. bin : This contains some helper scripts that are used by the test environment but can be used in a standalone fashion. - 2. qa : This directory contains the files necessary to run the POSE emulator and to compare this results of tests with a set of verified (golden-data) files. - 3. qa-wrapper: This directory contains some wrapper scripts and environment files, that allow a user to change the environment settings, without have to change the POSE control code itself. - -Setting up the environment -^^^^^^^^^^^^^^^^^^^^^^^^^^ - The environment can be changes to reflect a particular users environment, by editing or creating an environment file. This files are usually kept in the qa-wrapper/env directory. These environment settings can then be used when running the scripts. - -Running the Scripts -^^^^^^^^^^^^^^^^^^^ - Once the environment file has been created, the test scripts can be run by executing the "run-convtest" script in the qa-wrapper/bin directory. This file takes the following arguments - - run-convtest -env [-name RUNNAME] - - is the environment file to use -optional This can be the name of the user running the scripts. This is used to name a directory for the test results to be kept in. - - e.g. run-convtest -env ../env/master.env - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/README b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/README deleted file mode 100644 index 36fbcc6e1298..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/README +++ /dev/null @@ -1,6 +0,0 @@ -To run the spose script, you must set the following environmental variables: - - POSE2_EXE = Directory and name of the POSE executable file. - POSE3_EXE = Directory and name of the POSE executable file. - POSE_PRC = Directory containing the PRC files to be loaded - into the emulator diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/rd b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/rd deleted file mode 100755 index db2dc56aee6b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/rd +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/ksh -# -# Directories commonly used by this script... -# - -#export LBHOME=$ZPHOME/lib -#export CVHOME=$ZPHOME/converters -#export CVHOME=/export/home/test/qadir/qa-new/classes - -# Set up classpath to include needed ZenSync jars. Honor the users -# CLASSPATH by leaving it first. This allows users to specify their -# own versions of the jar files in their CLASSPATH if they wish to -# override these defaults. -# - -export CLASSPATH=$CLASSES_DIR/xerces.jar:$CLASSES_DIR/jmc.jar:$CLASSES_DIR/xmerge.jar:$CLASSES_DIR/minicalc.jar:$CLASSES_DIR/aportisdoc.jar:$CLASSES_DIR/wordsmith.jar - -echo "The classpath is $CLASSPATH" - -# Run the test driver, passing along args. -# -# java com.sun.star.comp.documentconversion.test.Driver $* -java -cp $CLASSPATH org.openoffice.xmerge.test.Driver $* - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/spose b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/spose deleted file mode 100755 index 29f6a9fe5218..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/spose +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/perl -# -# spose - start pose -# - -use Getopt::Std; - -# Location of needed files -# -$pose2_exe = $ENV{'POSE2_EXE'}; -$pose3_exe = $ENV{'POSE3_EXE'}; -$pose_prc = $ENV{'POSE_PRC'}; - - -if (getopts('23qmwo:r:d:v') != 1) -{ - &usage(); -} - -$apps_load = ""; - -if ($opt_q) -{ - &add_app("$pose_prc/Quickword.PRC"); -} -if ($opt_m) -{ - &add_app("$pose_prc/MiniCalc.prc"); -} -if ($opt_w) -{ - &add_app("$pose_prc/WordSmith.PRC"); -} -if ($opt_o) -{ - &add_app("$opt_o"); -} -if ($opt_r) -{ - $run_prog .= "-run_app $opt_r"; -} -if ($opt_d) -{ - $directory = $opt_d; - @files = `/bin/ls -1 $directory/*.pdb`; - - for ($i=0; $i <= $#files; $i++) - { - $add_file = "$files[$i]"; - chomp $add_file; - &add_app("$add_file"); - } -} - -if ($opt_3) -{ - $pose_exe = $pose3_exe; -} -else -{ - $pose_exe = $pose2_exe; -} -if ($pose_exe eq "") -{ - print "\nPose not found: Please set \n POSE2_EXE\n or POSE3_EXE\n"; - exit 0; -} -if ($opt_v) -{ - print ("\n$pose_exe $apps_load $run_prog &\n\n"); -} -else -{ - system ("$pose_exe $apps_load $run_prog &"); -} - -exit 0; - -sub usage -{ - print "\nUsage: getopt [ -m ] [ -q ] [ -w ] [ -o ] [ -r ]\n"; - print " -2 Runs pose version 3.2 [ current default ]\n"; - print " -3 Runs pose version 3.3\n"; - print " -d Load all PDB files in specified directory\n"; - print " -m Load MiniCalc PRC file\n"; - print " -q Load QuickWord PRC file\n"; - print " -w Load WordSmith PRC file\n"; - print " -o Other PRC files to load\n"; - print " -r Program to run on startup\n"; - print " -v Display the command instead of running\n\n"; - exit(-1); -} - -sub add_app -{ - my $new_app = $_[0]; - - if ($apps_load ne "") - { - $apps_load .= ","; - } - else - { - $apps_load = "-load_apps "; - } - - $apps_load .= "$new_app"; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/verify_sane.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/verify_sane.pl deleted file mode 100755 index 6b1f598d6444..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/bin/verify_sane.pl +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: template.pl -# Version : 1.0 -# Project : XMerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# -# Takes x and y from the command line and taps the screen there. -# Assumes pose is already running. -# -########################################################################## - -use POSIX "sys_wait_h"; # Need this for waitpid with WNOHANG -use EmRPC; # EmRPC::OpenConnection, CloseConnection -use EmFunctions; -use EmUtils; - -if ($#ARGV != 0) -{ - print "\nUsage: $0 timeout\n\n"; - exit -1; -} - -$timeout = $ARGV[0]; - -if (!defined($up_pid = fork())) -{ - print "ERROR, problem forking.\n" -} -elsif ($up_pid) -{ - print "\nChecking to see if pose is started properly.\n"; - - # Parent process - # - sleep($timeout); - - waitpid($up_pid, WNOHANG); - - if (kill(0, $up_pid)) - { - print "Pose did not start successfully...\n"; - kill(9, $up_pid); - exit(-1); - } - else - { - # The child process exited okay, so we know it will not - # hang...but the open_connection will just die if pose - # isn't started...so try it in the parent. - # - open_connection(); - close_connection(); - - print "Verified pose started successfully...\n"; - exit(0); - } -} -else -{ - # Child process - Try to open/close the connection. This - # can hang if pose did not start properly... - # - open_connection(); - close_connection(); -} - -sub open_connection -{ - print "opening connection\n"; - EmRPC::OpenConnection(6415, "localhost"); -} - -sub close_connection -{ - print "closing connection\n"; - EmRPC::CloseConnection(); -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_comparator.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_comparator.pl deleted file mode 100755 index 5e9838c103d1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_comparator.pl +++ /dev/null @@ -1,255 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -$compare_home = $ENV{'QA_COMPARATOR_HOME'}; - -if ($ENV{'CLASSPATH'}) -{ - $classpath_val = "$compare_home:$ENV{'CLASSPATH'}"; -} -else -{ - $classpath_val = "$compare_home"; -} - -print "classpath is $classpath_val\n"; - -$list_file=""; -$orig_dir=""; -$new_dir=""; -$diff_type=""; - -####### BEGIN MAIN ############## -$cmdline_len = @ARGV; -if ($cmdline_len <= 0) -{ - print_usage(); - exit (0); -} - -process_cmdline(@ARGV); -print_env(); -open (LOGFILE, ">$logfile") || die "Cannot open log file $logfile"; -if ($test_list ne "") -{ - open (TESTLIST, $test_list) || die "Couldn't open diff list file $test_list"; - - while () - { - chomp $_; - process_diff(get_file_title($_)); - } -} -close TESTLIST; -close LOGFILE; - -####### END MAIN ############## - -sub process_diff -{ -# $_[0] =~ tr/A-Z/a-z/; - - # chdir to the output directory so the temporary files created by - # the java programs are put in the right place. - # - chdir ($xml_new); - - if ($diff_type eq "xml") - { - # Ugly hack, probably a way to tell xerces directly that the dtd's - # are in $compare_home/dtd. - # - `cp $compare_home/dtd/* $xml_new`; - -# $cmd = "java -classpath $classpath_val XmlWrapper $xml_orig/$_[0].sxw $xml_new/$_[0].sxw"; - $cmd = "java -classpath $classpath_val XmlWrapper $xml_orig/$_[0] $xml_new/$_[0]"; - print "Executing: $cmd\n"; - $val = system($cmd)/256; - if ($val == 2) - { -# print LOGFILE "$_[0]|TRUE|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - print LOGFILE "$_[0]|TRUE|$xml_orig/$_[0]|$xml_new/$_[0]\n"; - } - elsif($val == 3) - { -# print LOGFILE "$_[0]|FALSE|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - print LOGFILE "$_[0]|FALSE|$xml_orig/$_[0]|$xml_new/$_[0]\n"; - } - else - { -# print LOGFILE "$_[0]|ERROR|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - print LOGFILE "$_[0]|ERROR|$xml_orig/$_[0]|$xml_new/$_[0]\n"; - } - } - elsif ($diff_type eq "pdb") - { -# $cmd = "java -classpath $classpath_val SimplePdbCompare $pdb_orig/$_[0].pdb $pdb_new/$_[0].pdb\n"; - $cmd = "java -classpath $classpath_val SimplePdbCompare $pdb_orig/$_[0] $pdb_new/$_[0]\n"; - print "Executing: $cmd\n"; - $val = system($cmd)/256; - if ($val == 2) - { -# print LOGFILE "$_[0]|TRUE|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - print LOGFILE "$_[0]|TRUE|$pdb_orig/$_[0]|$pdb_new/$_[0]\n"; - } - elsif($val == 3) - { -# print LOGFILE "$_[0]|FALSE|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - print LOGFILE "$_[0]|FALSE|$pdb_orig/$_[0]|$pdb_new/$_[0]\n"; - } - else - { -# print LOGFILE "$_[0]|ERROR|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - print LOGFILE "$_[0]|ERROR|$pdb_orig/$_[0]|$pdb_new/$_[0]\n"; - } - } - else - { - die "Don't understand test type of $diff_type."; - } -} - -sub process_cmdline -{ - foreach $i (@_) - { - @arg= split('=', $i); - @arg[0] =~ tr/A-Z/a-z/; - - if (@arg[0] eq "-pdb-orig") - { - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "-pdb-new") - { - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "-xml-orig") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "-xml-new") - { - $xml_new=$arg[1]; - } - elsif (@arg[0] eq "-env") - { - set_env_from_props($arg[1]); - } - elsif (@arg[0] eq "-list") - { - $test_list = $arg[1]; - } - elsif (@arg[0] eq "-one") - { - $infile = $arg[1]; - } - elsif (@arg[0] eq "-type") - { - $diff_type = $arg[1]; - chomp $diff_type; - } - elsif (@arg[0] eq "-log") - { - $logfile = $arg[1]; - } - else - { - print_usage(); - die "Incorrect command line. Don't understand $i"; - } - } -} - -sub set_env_from_props -{ - open(PROPSFILE, $_[0]) || die "Could not open properties file"; - - while () - { - chomp $_; - @arg = split('=', $_); - @arg[0] =~ tr/a-z/A-Z/; - $len = @arg; - if ($len != 2) - { - die "Malformed property in $ARGV[0]"; - } - - if (@arg[0] eq "PDB_ORIG") - { - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "PDB_NEW") - { - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "XML_ORIG") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "XML_NEW") - { - $xml_new=$arg[1]; - } - - } - close PROPSFILE; -} - -sub print_usage -{ - print "Usage : compartor.pl - compare Office or pdb files\n"; - print "\t-one= :\t\t individual test case file to run\n"; - print "\t-list= :\t\t list of test case files\n"; - print "\t-env= :\t\t Properites like file defining env\n"; - print "\t-pdb-orig= :\t directory to hold original pdb files\n"; - print "\t-pdb-new= :\t directory to hold new pdb files\n"; - print "\t-xml-orig= :\t directory to hold original office documents\n"; - print "\t-xml-new= :\t directory to hold new office documents\n"; - print "\t-type= :\t Invokes the merge option when converting\n"; - print "\t-log= :\t Save results to logfile.\n"; -} - -sub print_env -{ - print "Using the following environment:\n"; - print "\tPDB_ORIG = $pdb_orig\n"; - print "\tPDB_NEW = $pdb_new\n"; - print "\tXML_ORIG = $xml_orig\n"; - print "\tXML_NEW = $xml_new\n\n"; -} - -sub get_file_title -{ - @paths = split('\/', $_[0]); - $len = @paths; - return @paths[$len-1]; -# @names = split('\.', @paths[$len-1]); -# return $names[0]; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_test_driver.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_test_driver.pl deleted file mode 100755 index d8eea81b5388..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/qa_test_driver.pl +++ /dev/null @@ -1,844 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: test_driver.pl -# Version : 1.0 -# Project : Xmerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# -# This script does the following: -# -# Processes the input file, and runs the tests specified in that -# file. This will do the following for each test: -# -# 1. Convert a file from XML to PDB format -# 2. Starts up the Palm OS emulator with the appropriate program -# running and the converted file loaded the program. -# 3. Makes automated changes as specified in the inputfile to -# this script.. -# 4. Returns to the main applications window. -# -# Parameter -# Filename to convert and change -# -########################################################################## - -# Turn on auto-flushing -# -$|=1; - -use EmRPC; - -# Directory where converterlib is located... -# -#use lib "/export/home/test/qadir/qa/lib"; -use lib $ENV{'QA_LIB_HOME'}; -use converterlib; - -#-------------------- Start of main script ------------------------------------ - -# Environmental Settings - -$pose_exe = ""; -$pose_prc = ""; -$test_list = ""; -$infile = ""; -$merge_opt = 0; -# if testcase hasn't completed in 10 mins, then kill it off -$testcase_timeout=600; - -# You may need to change this from the default if your pose emulator -# starts faster or slower than mine. -# -if ($ENV{'POSE_TIMEOUT'}) -{ - $pose_timeout = "$ENV{'POSE_TIMEOUT'}"; -} -else -{ - $pose_timeout = 15; -} - -$cmdline_len = @ARGV; -if ($cmdline_len <= 0) -{ - print_usage(); - exit (0); -} - -&process_cmdline(@ARGV); -&print_env(); -&verify_env_options(); - -# Make the output directories with timestamps included in the -# directory names. -# -mkdir $pdb_orig, 0777 || die "can not create directory <$pdb_orig>."; -`chmod 777 $pdb_orig`; -mkdir $pdb_new, 0777 || die "can not create directory <$pdb_new>."; -`chmod 777 $pdb_new`; -mkdir $xml_new, 0777 || die "can not create directory <$xml_new>."; -`chmod 777 $xml_new`; - -&verify_prcs_exist("DBExporter.prc"); - -if ($test_list ne "") -{ - open (TESTLIST, $test_list) || die "Couldn't open testcase list file $test_list"; - - while () - { - &process_testcase($_); - } -} -elsif ($infile ne "") -{ - if (!defined($child_pid = fork())) - { - # there was an error forking a process - print "ERROR: Unable to fork process\n"; - die "ERROR: Unable to fork process\n"; - } - elsif ($child_pid) - { - # this is the parent process - # run the actual test here -print "********\tPARENT (pid = $$): process_testcase...\n"; - &process_testcase($infile); -print "********\tPARENT (pid = $$): ...process_testcase finished normally\n"; - - # test finished normally, so kill the monitor - # that is running in the child process -print "********\tPARENT (pid = $$): kill child process ($child_pid)\n"; -print "********\tPARENT Before:\n"; -system( "/usr/bin/ptree" ); - kill( $child_pid ); - kill( 9, $child_pid ); -print "********\tPARENT After:\n"; -system( "/usr/bin/ptree" ); - } - else - { -print "********\tCHILD (pid = $$): sleep for $testcase_timeout seconds\n"; - # this is the child process - # wait on the test running in the parent, and - # kill it if it hasn't finished on time - sleep( $testcase_timeout ); - - # if the parent hasn't killed this process before it - # gets here, then it's probably hung, so we need to - # kill it. - print "********\tCHILD (pid = $$): TEST HUNG? still " - ."running after [$testcase_timeout] seconds - " - ."need to kill test process\n"; - $parent = getppid; - - if ( $parent != 1 ) { - print "********\nCHILD (pid = $$): Killing process ($parent)\n"; - kill( $parent ); - kill( 9, $parent ); - } else { - # If we cannot get the ppid, then the parent might - # have died abnormally, before it got a chance to - # kill this (child) process. - print "********\nCHILD (pid = $$): cannot determine ppid - " - ."terminating\n"; -system( "/usr/bin/ptree" ); - exit(2); - } - - exit(1); - } -} -else -{ - die ("You didn't supply any test cases to process"); -} - -print "Finished.\n"; -exit(0); - -#-------------------- End of main script ---------------------------------------- - -#-------------------------------------------------------------------------------- -# Various sub routines -#-------------------------------------------------------------------------------- - -# process_testcase -# infile - test case file name -# -# This is the main driver function -# Opens the infile, reads it in parses it, runs the appropriate conversion -# starts pose and load the file into the emulator. It launches the -# appropriate editor and then runs the commands specified in the test case. -# It then exports the file and saves it locally. Finally it is converted -# back to the original office format. -# -sub process_testcase -{ - my $infile = $_[0]; - my $convert_file = ""; - my $rc; - - # Process the inputfile - # - open (INFILE, $infile) || die "Failed to open test case <$infile>"; - - $running_testtype = ""; - - # Process the input file. - # - while ($c_inline = ) - { - chomp $c_inline; - @entry = split('\|', $c_inline); - - # Process TEST - # - if ($c_inline =~ /^ *#/ || $c_inline =~ /^[ \t]*$/) - { - # skip comments and blank lines. - # - next; - } - elsif ("$entry[0]" eq "TEST") - { - # Close the test if one is running. - # - &close_program($convert_file); - $running_testtype = ""; - - $valid_test = 0; - - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - # Start the test. - # - print "\nStarting test: $entry[1]\n"; - $convert_file = $entry[3]; - - if ("$entry[2]" =~ /[Qq][Uu][Ii][Cc][Kk][Ww][Oo][Rr][Dd]/) - { - $xml_extension = "sxw"; - $convert_to = "application/x-aportisdoc"; - - # Convert XML file to pdb format. - # - $rc = &convert_to_pdb("$xml_orig", $convert_file, $xml_extension , - $convert_to,"$pdb_orig"); - if ($rc != 0) - { - print "\nERROR, problem converting file $convert_file\n\n"; - } - else - { - # Start pose - # - $rc = &start_pose("$pose_exe", - "$pose_prc/Quickword.PRC,$pose_prc/DBExporter.prc,$pdb_orig/$convert_file.pdb", - "Quickword", $pose_timeout); - - if ($rc == 0) - { - &start_quickword(); - $valid_test = 1; - $running_testtype = "QUICKWORD"; - print "\npose launched, begin automated test sequence for QuickWord\n"; - } - else - { - &kill_pose(); - $running_testtype = ""; - } - } - } - elsif ("$entry[2]" =~ /[Mm][Ii][Nn][Ii][Cc][Aa][Ll][Cc]/) - { - $xml_extension = "sxc"; - $convert_to = "application/x-minicalc"; - - # Convert XML file to pdb format. - # - $rc = &convert_to_pdb("$xml_orig", $convert_file, - $xml_extension, $convert_to,"$pdb_orig"); - if ($rc != 0) - { - print "\nERROR, problem converting file $convert_file\n\n"; - } - else - { - # Get minicalc PDB file names, since an SXC file can - # be converted to more than one. - # - $pdb_files=""; - $i = 1; - while (-f "$pdb_orig/$convert_file-Sheet$i.pdb") - { - if ($i > 1) - { - $pdb_files .= ","; - } - $pdb_files .= "$pdb_orig/$convert_file-Sheet$i.pdb"; - $i++; - } - $number = $i-1; - - # Start pose - # - $rc = &start_pose("$pose_exe", - "$pose_prc/MiniCalc.prc,$pose_prc/DBExporter.prc,$pdb_files", - "MiniCalc", $pose_timeout); - - if ($rc == 0) - { - &start_minicalc(); - $valid_test = 1; - $running_testtype = "MINICALC"; - print "pose launched, begin automated test sequence for MiniCalc\n"; - } - else - { - &kill_pose(); - $running_testtype = ""; - } - } - } - else - { - print "\nERROR, invalid extension <$entry[2]>\n\n"; - } - } - } - - # Process DB_EXPORT - # - elsif ("$entry[0]" eq "DB_EXPORT") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &db_export($entry[1]); - } - } - - # Process TAP_APPLICATIONS - # - elsif ("$entry[0]" eq "TAP_APPLICATIONS") - { - if ($#entry != 0) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &tap_applications(0); - } - } - - # Process ENTER_STRING_AT_LOCATION - # - elsif ("$entry[0]" eq "ENTER_STRING_AT_LOCATION") - { - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &enter_string_at_location($entry[1], $entry[2], - $entry[3], $running_testtype); - } - } - - # Process TAP_PEN - # - elsif ("$entry[0]" eq "TAP_PEN") - { - if ($#entry != 2) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &pose_tap_pen($entry[1], $entry[2], 0); - } - } - - # Process TAP_BUTTON - # - elsif ("$entry[0]" eq "TAP_BUTTON") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &pose_tap_button($entry[1], 0); - } - } - - # Process TAP_PEN_HARD - # - elsif ("$entry[0]" eq "TAP_PEN_HARD") - { - if ($#entry != 2) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &pose_tap_pen_hard($entry[1],$entry[2], 0); - } - } - - - # Process SLEEP - # - elsif ("$entry[0]" eq "SLEEP") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &pose_sleep($entry[1]); - } - } - - # Process MINICALC_ENTER_CELL - # - elsif ("$entry[0]" eq "MINICALC_ENTER_CELL") - { - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &minicalc_enter_cell($entry[1], $entry[2], $entry[3]); - } - } - - # Process QUICKWORD_FIND_REPLACE - # - elsif ("$entry[0]" eq "QUICKWORD_FIND_REPLACE") - { - if ($#entry != 2) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &quickword_find_replace($entry[1], $entry[2]); - } - } - else - { - print "\nERROR, invalid line <$c_inline>\n"; - } - } - - &close_program($convert_file); -} - -# close_program -# convert_file - file to export -# -# closes the program running in pose and kills pose -# -sub close_program -{ - my $convert_file = $_[0]; - - if ($running_testtype eq "QUICKWORD") - { - print "QuickWord test completed.\n"; - &close_program_quickword($convert_file); - } - elsif ($running_testtype eq "MINICALC") - { - print "MiniCalc test completed.\n"; - &close_program_minicalc($convert_file, $number); - } -} - -# close_program_quickword -# convert_file - file to export -# -# Closes quickword and kills pose -# -sub close_program_quickword -{ - my $convert_file = $_[0]; - my $error_file = "./error.txt"; - my $rc; - - &close_quickword(); - - &db_export($convert_file); - print "Moving /tmp/$convert_file.pdb to $pdb_new\n"; - `mv /tmp/$convert_file.pdb $pdb_new`; - `chmod 666 $pdb_new/$convert_file.pdb`; - - &close_connection(1); - &kill_pose(); - print "\nFinishing test...\n"; - - # The path of where to put the error file should be specified - # in the properties file. Not sure if it is really necessary - # to put this out to a separate file. STDOUT should be fine. - # - $rc = &convert_to_xml($xml_new, $xml_orig, - "$pdb_new/$convert_file.pdb", "application/x-aportisdoc" , - "sxw", $convert_file, $merge_opt); - if ($rc != 0) - { - print "\nERROR, problem converting file $pdb_new/$convert_file.pdb\n\n"; - } -} - -# close_program_minicalc -# convert_file - file to export -# -# Closes minicalc and kills pose -# -sub close_program_minicalc -{ - my $convert_file = $_[0]; - my $num_files = $_[1]; - my $list=""; - my $rc; - - &close_minicalc(); - - for ($a=1; $a <= $num_files; $a++) - { - &db_export("$convert_file-Sheet$a"); - print "Moving /tmp/$convert_file-Sheet$a.pdb to $pdb_new/\n"; - `mv /tmp/$convert_file-Sheet$a.pdb $pdb_new/`; - `chmod 666 $pdb_new/$convert_file-Sheet$a.pdb`; - } - - &close_connection(1); - &kill_pose(); - print "\nFinishing test...\n"; - - for ($a=1; $a <= $num_files; $a++) - { - $list .="$pdb_new/$convert_file-Sheet$a.pdb " - } - - $rc = &convert_to_xml($xml_new, $xml_orig, "$list", - "application/x-minicalc", "sxc", $convert_file, $merge_opt); - if ($rc != 0) - { - print "\nERROR, problem converting file(s) $list\n\n"; - } - - &pose_sleep(5); -} - -# print_usage -# -# prints the usage for this program. -# -sub print_usage -{ - print "Usage : test_driver.pl\n"; - print "\t-test= \t\t: individual test case file to run\n"; - print "\t-list= \t\t: list of test case files\n"; - print "\t-env= \t\t: Properites like file defining env\n"; - print "\t-pose-exe= \t: path to pose executable\n"; - print "\t-pose-prc= \t: path to directory holding prc files\n"; - print "\t-pdb-orig= \t: directory to hold original pdb files\n"; - print "\t-pdb-new= \t: directory to hold new pdb files\n"; - print "\t-xml-orig= \t: directory to hold original office documents\n"; - print "\t-xml-new= \t: directory to hold new office documents\n"; - print "\t-merge \t: Invokes the merge option when converting\n"; - print "\t \t from PDB back to XML.\n"; -} - -# print_env -# -# Prints the current environment. -# -sub print_env -{ - print "\nUsing the following environment:\n"; - print "\tPOSE_EXE = $pose_exe\n"; - print "\tPOSE_PRC = $pose_prc\n"; - print "\tPDB_ORIG = $pdb_orig\n"; - print "\tPDB_NEW = $pdb_new\n"; - print "\tXML_ORIG = $xml_orig\n"; - print "\tXML_NEW = $xml_new\n"; -} - -# process_cmdline -# -# command line options come in as key/value pairs. -# read them and set the appropriate global variable -# -# Sets these globals: pose_exe, pose_prc, xml_orig, xml_new_dir, -# xml_new, pdb_orig_dir, pdb_orig, pdb_new_dir, pdb_new. -# -sub process_cmdline -{ - foreach $i (@_) - { - my @arg= split('=', $i); - @arg[0] =~ tr/A-Z/a-z/; - - if (@arg[0] eq "-pose-exe") - { - $pose_exe=$arg[1]; - } - elsif (@arg[0] eq "-pose-prc") - { - $pose_prc=$arg[1]; - } - elsif (@arg[0] eq "-pdb-orig") - { - $pdb_orig_dir=$arg[1]; - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "-pdb-new") - { - $pdb_new_dir=$arg[1]; - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "-xml-orig") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "-xml-new") - { - $xml_new_dir=$arg[1]; - $xml_new=$arg[1]; - } - elsif (@arg[0] eq "-env") - { - &set_env_from_props($arg[1]); - } - elsif (@arg[0] eq "-list") - { - $test_list = $arg[1]; - } - elsif (@arg[0] eq "-test") - { - $infile = $arg[1]; - } - elsif (@arg[0] eq "-merge") - { - $merge_opt = 1; - } - else - { - print_usage(); - die "Incorrect command line"; - } - } -} - -# set_env_from_props -# infile - property file -# -# Read the properties file, of the form key=value -# Valid key values are : -# POSE_EXE -# POSE_PRC -# PDB_ORIG -# PDB_NEW -# XML_ORIG -# XML_NEW -# If a value is found the appropriate global variable is set. -# -# Sets these globals: pose_exe, pose_prc, xml_orig, xml_new_dir, -# xml_new, pdb_orig_dir, pdb_orig, pdb_new_dir, pdb_new. -# -sub set_env_from_props -{ - my $infile = $_[0]; - - open(PROPSFILE, $infile) || die "Could not open properties file <$infile>"; - - while () - { - chomp $_; - my @arg = split('=', $_); - @arg[0] =~ tr/a-z/A-Z/; - my $len = @arg; - if ($len != 2) - { - die "Malformed property in $arg[0]"; - } - if (@arg[0] eq "POSE_EXE") - { - $pose_exe=$arg[1]; - } - elsif (@arg[0] eq "POSE_PRC") - { - $pose_prc=$arg[1]; - } - elsif (@arg[0] eq "PDB_ORIG") - { - $pdb_orig_dir=$arg[1]; - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "PDB_NEW") - { - $pdb_new_dir=$arg[1]; - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "XML_ORIG") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "XML_NEW") - { - $xml_new_dir=$arg[1]; - $xml_new=$arg[1]; - } - - } - close PROPSFILE; -} - -# verify_env_options -# -# Verify that input options are correctly set. -# Assumes pose_exe, pose_prc, xml_orig, xml_new_dir, -# pdb_orig_dir, and pdb_new_dir are already set. -# -sub verify_env_options -{ - if (!-e "$pose_exe") - { - die "The pose executable cannot be found at $pose_exe."; - } - if (!-x $pose_exe) - { - die "$pose_exe exists but is not executable."; - } - - if (!-e "$pose_prc") - { - die "The PRC directory specified as $pose_prc does not exist."; - } - if (!-d "$pose_prc") - { - die "The PRC location specified as $pose_prc exists, but is not a directory."; - } - - if (!-e "$pdb_orig_dir") - { - die "The original PDB directory specified as $pdb_orig_dir does not exist."; - } - if (!-d "$pdb_orig_dir") - { - die "The original PDB directory specified as $pdb_orig_dir exists but is not a directory."; - } - - if (!-e "$pdb_new_dir") - { - die "The new PDB directory specified as $pdb_new_dir does not exist."; - } - if (!-d "$pdb_new_dir") - { - die "The new PDB directory specified as $pdb_new_dir exists but is not a directory."; - } - - if (!-e "$xml_orig") - { - die "The original Office document directory specified as $xml_orig does not exist."; - } - if (!-d "$xml_orig") - { - die "The original Office document location specified as $xml_orig exists but is not a directory."; - } - - if (!-e "$xml_new_dir") - { - die "The new Office document directory specified as $xml_new_dir does not exist."; - } - if (!-d "$xml_new_dir") - { - die "The new Office document location specified as $xml_new_dir exists but is not a directory."; - } -} - -# verify_prcs_exist -# prcfile - the PRC file to check -# -# Verifies that the specified PRC file exists. -# -sub verify_prcs_exist -{ - my $prcfile = $_[0]; - - if (!-e "$pose_prc/$prcfile") - { - die "The pose PRC directory ($pose_prc) is correct, but I can't find $prcfile there."; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/run-convtest b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/run-convtest deleted file mode 100755 index 0931ca77539d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/bin/run-convtest +++ /dev/null @@ -1,536 +0,0 @@ -#!/bin/ksh -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#set -x -umask 0 - -integer TOTAL_PASS=0 -integer TOTAL_FAIL=0 -integer TOTAL_RUN=0 -integer MAX_RETRIES=5 -typeset RUNNAME=`date +%Y%m%d%H%M%S` -typeset PRINTDATE=`date` -typeset PDB_INFILE_DIR -typeset PDB_OUTFILE_DIR -typeset XML_OUTFILE_DIR -typeset REPORT -typeset RESDIR -typeset LOGFILE -typeset COMPLOG -typeset TEST_COMMENTS -typeset BGCOLOR -typeset ODD_BGCOLOR='#BBBBBB' -typeset EVEN_BGCOLOR='#DCDCDC' -typeset PASS_COLOR='#00ff00' -typeset FAIL_COLOR='#ff4040' - -typeset ENVFILE="" -# The following variables should be set in the env file -typeset MASTERLIST="" -typeset TESTCASEDIR="" -typeset RESULTSBASE="" -typeset XMERGE_JAR="" -typeset APORTIS_JAR="" -typeset WORDSMITH_JAR="" -typeset MINICALC_JAR="" -typeset PERL5LIB="" -typeset POSE_EXE="" -typeset POSE_PRC="" -typeset TEST_DRIVER_PL="" -typeset COMPARATOR_PL="" -typeset COMPLIST="" -typeset XML_INFILE_DIR="" -typeset PDB_BASELINE_DIR="" -typeset XML_BASELINE_DIR="" -typeset EM_SCRIPT_HOME="" -typeset QAWRAPPER_SCRIPT_HOME="" -typeset EM_ROM_FILE="" -typeset EM_SESSION_FILE="" -typeset QA_LIB_HOME="" -typeset QA_COMPARATOR_HOME="" -typeset CLASSES_DIR="" - - - -################################################################################ -Usage() { - echo "Usage: run-convtest -env [-name RUNNAME]" - exit 1 -} - - -################################################################################ -StartReportFile() { - typeset line=`date` - - ReportLine "" - ReportLine "" - ReportLine "XMerge Converters Test Results - ${RUNNAME}" - ReportLine "" - ReportLine "" - ReportLine "

            XMerge Converters Test Results - ${RUNNAME}

            " - ReportLine "

            " - ReportLine "Test run on: ${PRINTDATE}" - ReportLine "

            " - ReportLine "

            " - ReportLine "
    " - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" -} - - -################################################################################ -EndReportFile() { - # remove full path from LOGFILE (link will be to current dir) - typeset loglink=${LOGFILE##*/} - - ReportLine "

    " - ReportLine "

    " - ReportLine "
    Test NameTest File.extResultComments
    " - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "" - ReportLine "
    Total Tests PASSED${TOTAL_PASS}
    Total Tests FAILED${TOTAL_FAIL}
    Total Tests Run${TOTAL_RUN}
    " - ReportLine "" - ReportLine "

    " - ReportLine "Full logfile for test run" - ReportLine "

    " - ReportLine "

    " - ReportLine "" - ReportLine "" -} - -################################################################################ -ReportLine() { - echo $1 >> $REPORT -} - -################################################################################ -LogLine() { - echo $1 >> $LOGFILE -} - -################################################################################ -ReportTestComments() { - if [[ $TEST_COMMENTS == "" ]] ; then - TEST_COMMENTS=" " - fi - - ReportLine "${TEST_COMMENTS}" -} - -################################################################################ -GetParams() { - integer argc=$# - integer i=0 - - if [[ $argc -lt 1 ]] ; then - Usage - fi - - while (($i < $argc)) ; do - arg=$1 - shift - i=i+1 - - if [[ $arg == '-name' ]] ; then - if (( $i < $argc )) ; then - RUNNAME=$1 - echo "RUNNAME=[$RUNNAME]" - shift - i=i+1 - else - Usage - fi - elif [[ $arg == '-env' ]] ; then - if (( $i < $argc )) ; then - ENVFILE=$1 - shift - i=i+1 - else - Usage - fi - else - Usage - fi - done - - if [[ $ENVFILE == "" ]] ; then - Usage - fi -} - - -################################################################################ -ReadEnvFile() { - . $ENVFILE - - - echo "" - echo "The following values have been set from $ENVFILE:" - echo "MASTERLIST=$MASTERLIST" - echo "TESTCASEDIR=$TESTCASEDIR" - echo "XMERGE_JAR=$XMERGE_JAR" - echo "APORTIS_JAR=$APORTIS_JAR" - echo "WORDSMITH_JAR=$WORDSMITH_JAR" - echo "MINICALC_JAR=$MINICALC_JAR" - echo "RESULTSBASE=$RESULTSBASE" - echo "PERL5LIB=$PERL5LIB" - echo "POSE_EXE=$POSE_EXE" - echo "POSE_PRC=$POSE_PRC" - echo "TEST_DRIVER_PL=$TEST_DRIVER_PL" - echo "COMPARATOR_PL=$COMPARATOR_PL" - echo "XML_INFILE_DIR=$XML_INFILE_DIR" - echo "PDB_BASELINE_DIR=$PDB_BASELINE_DIR" - echo "XML_BASELINE_DIR=$XML_BASELINE_DIR" - echo "EM_SCRIPT_HOME=$EM_SCRIPT_HOME" - echo "QAWRAPPER_SCRIPT_HOME=$QAWRAPPER_SCRIPT_HOME" - echo "EM_ROM_FILE=$EM_ROM_FILE" - echo "EM_SESSION_FILE=$EM_SESSION_FILE" - echo "QA_LIB_HOME=$QA_LIB_HOME" - echo "QA_COMPARATOR_HOME=$QA_COMPARATOR_HOME" - echo "CLASSES_DIR=$CLASSES_DIR" - echo "COMPLIST=$COMPLIST" -} - -################################################################################ -POSESetup() { - export PERL5LIB - export EM_SCRIPT_HOME - export QAWRAPPER_SCRIPT_HOME - export EM_ROM_FILE - export EM_SESSION_FILE - export QA_LIB_HOME - export QA_COMPARATOR_HOME - export CLASSES_DIR - -} - -################################################################################ -TestSetup() { - - - POSESetup - - export ZENDEBUG=1 - - COMPLIST="${COMPLIST}/tempcomp.${RUNNAME}.list" - # create the directories for the results of this test run - RESDIR="${RESULTSBASE}/${RUNNAME}" - \rm -Rf $RESDIR - mkdir $RESDIR - - # Define the directories for the test input files, - # test output files, working directories and baseline files - PDB_INFILE_DIR="${RESDIR}/pdb-orig" - mkdir "${PDB_INFILE_DIR}" - PDB_OUTFILE_DIR="${RESDIR}/pdb-new" - mkdir "${PDB_OUTFILE_DIR}" - XML_OUTFILE_DIR="${RESDIR}/xml-new" - mkdir "${XML_OUTFILE_DIR}" - - LOGFILE="${RESDIR}/logfile" - COMPLOG="${RESDIR}/complog" - REPORT="${RESDIR}/report.html" - StartReportFile - - echo "Results in: $RESDIR" - echo "Report file: $REPORT" -} - -################################################################################ -TestCleanup() { - EndReportFile -} - -################################################################################ -TestCaseSetup() { - # where to pick up converter classes - export CLASSPATH="" - export CLASSPATH=$CLASSPATH:$XMERGE_JAR - export CLASSPATH=$CLASSPATH:$APORTIS_JAR - export CLASSPATH=$CLASSPATH:$WORDSMITH_JAR - export CLASSPATH=$CLASSPATH:$MINICALC_JAR -} - -################################################################################ -TestCaseCleanup() { - # empty function - a=42 -} - -################################################################################ -RunTestCase() { - testcase=$1 - - LogLine "" - LogLine "test_driver output:" - - # run test_driver in foreground - $TEST_DRIVER_PL\ - -pose-prc=${POSE_PRC}\ - -pose-exe=${POSE_EXE}\ - -xml-orig=${XML_INFILE_DIR}\ - -pdb-orig=${PDB_INFILE_DIR}\ - -pdb-new=${PDB_OUTFILE_DIR}\ - -xml-new=${XML_OUTFILE_DIR}\ - -test=$testcase -merge >> $LOGFILE 2>&1 - - # cleanup in case zombie POSE processes are hanging around - pkill pose - pkill -9 pose -} - - -################################################################################ -ComparisonSetup() { - typeset file=$1 - - - export CLASSPATH="$CLASSES_DIR/xerces.jar" - - # create temporary comparator list file for this test case - echo $file > $COMPLIST -} - -################################################################################ -ComparisonCleanup() { - # remove temporary comparator list file used for this test case - \rm -f $COMPLIST -} - -################################################################################ -RunComparison() { - typeset type=$1 - - LogLine "" - LogLine "Comparator output:" - $COMPARATOR_PL\ - -xml-orig=${XML_BASELINE_DIR}\ - -pdb-orig=${PDB_BASELINE_DIR}\ - -pdb-new=${PDB_INFILE_DIR}\ - -xml-new=${XML_OUTFILE_DIR}\ - -list=$COMPLIST -log=$COMPLOG -type=$type >> $LOGFILE 2>&1 -# -list=$COMPLIST -log=$COMPLOG -type=$type | tee -a $LOGFILE 2>&1 - - pass=`grep TRUE $COMPLOG | wc -l` - - LogLine "" - LogLine "COMPLIST file:" - cat $COMPLIST >> $LOGFILE - LogLine "" - LogLine "Comparator logfile:" - cat $COMPLOG >> $LOGFILE - - if [ $pass -eq 0 ] - then - TEST_COMMENTS="${TEST_COMMENTS}$type comparison ERROR
    " - echo "$type comparison ERROR" - return 0 - fi - - echo "$type comparison OK" - return 1 -} - -################################################################################ -CheckOutput() { - typeset xmlfile="${XML_OUTFILE_DIR}/$1" - typeset pdbfile="${PDB_INFILE_DIR}/$2" - - if [ ! -f $pdbfile ] ; then - TEST_COMMENTS="${TEST_COMMENTS}[$pdbfile] does not exist
    " - LogLine "ERROR: $pdbfile does not exist" - echo "ERROR: $pdbfile does not exist" - return 0 - fi - - if [ ! -f $xmlfile ] ; then - TEST_COMMENTS="${TEST_COMMENTS}[$xmlfile] does not exist
    " - LogLine "ERROR: $xmlfile does not exist" - echo "ERROR: $xmlfile does not exist" - return 0 - fi - - return 1 -} - -################################################################################ -RunTest() { - typeset testcasename - typeset testcase - typeset testfile - typeset pdbfile - typeset xmlfile - typeset ext - integer try - integer finished_with_test - integer test_pass - - TestSetup - - BGCOLOR=$ODD_BGCOLOR - - while read line ; do - # get chars up to 1st space - testcasename=${line%% *} - testcase="${TESTCASEDIR}/$testcasename" - - # get 2nd word - testfile=${line#* } - testfile=${testfile%% *} - - # get last word - ext=${line##* } - - LogLine "############################################" - LogLine "Starting the following testcase" - LogLine "testcase = $testcase" - LogLine "testfile = $testfile" - LogLine "ext = $ext" - - ReportLine "" - ReportLine "$testcasename" - ReportLine "$testfile" - ReportLine "$ext" - - echo "" - echo "testcase = $testcase" - echo "testfile = $testfile" - echo "ext = $ext" - - try=1 - finished_with_test=0 - TEST_COMMENTS="" - - while (($finished_with_test == 0)) ; do - - TestCaseSetup - RunTestCase $testcase - TestCaseCleanup - - xmlfile="${testfile}.${ext}" - - if [[ $ext == "sxc" ]] ; then - pdbfile="${testfile}-Sheet1.pdb" - else - pdbfile="${testfile}.pdb" - fi - - CheckOutput $xmlfile $pdbfile - res=$? - - if [[ $res -eq 1 ]] ; then - ComparisonSetup $pdbfile - RunComparison pdb - res=$? -# ignore result until pdb comparator is fixed... -res=1 - ComparisonCleanup - fi - - if [[ $res -eq 1 ]] ; then - ComparisonSetup $xmlfile - RunComparison xml - res=$? - ComparisonCleanup - fi - - if [[ $res -eq 1 ]] ; then - TOTAL_PASS=TOTAL_PASS+1 - ReportLine "PASS" - ReportTestComments - ReportLine "" - LogLine "Test PASSED (on try $try)" - echo "Test PASSED (on try $try)" - finished_with_test=1 - else - TEST_COMMENTS="${TEST_COMMENTS}error on try ${try}
    " - LogLine "TEST FAILED (on try $try)" - echo "TEST FAILED (on try $try)" - - if [[ $try -eq $MAX_RETRIES ]] ; then - TOTAL_FAIL=TOTAL_FAIL+1 - ReportLine "FAIL" - ReportTestComments - ReportLine "" - finished_with_test=1 - fi - fi - - try=try+1 - done - - TOTAL_RUN=TOTAL_RUN+1 - - # toggle BGCOLOR for next report line - if [[ $BGCOLOR == $ODD_BGCOLOR ]] ; then - BGCOLOR=$EVEN_BGCOLOR - else - BGCOLOR=$ODD_BGCOLOR - fi - - done < $MASTERLIST - - ReportLine "" - ReportLine "
    " - - TestCleanup - - echo "Total Tests PASSED: "${TOTAL_PASS} - echo "Total Tests FAILED: "${TOTAL_FAIL} - echo "Total Tests RUN: "${TOTAL_RUN} - echo "Results in: $RESDIR" - echo "Report file: $REPORT" -} - -################################################################################ -################################################################################ -# main -################################################################################ -################################################################################ - -GetParams $@ -ReadEnvFile -RunTest - -exit 0 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/env/master.env b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/env/master.env deleted file mode 100755 index 1571781bf475..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/env/master.env +++ /dev/null @@ -1,85 +0,0 @@ -#The Qa-Test environment is defined in this file. All of the fields are -#necessary in order for the scripts to run effectlively - -########################################################### -# MASTERLIST file defines which test to run. These list are usually located in -# the qa-wrapper/lists dir - -MASTERLIST= - -########################################################### -#The TESTCASE dir is where the testcases to be run are located - -TESTCASEDIR= - -########################################################### -# Results are stored in a new directory at ${RESULTSBASE}/results-${RUNNAME} - -RESULTSBASE=/export/home/test/qadir/qa-wrapper/results - -########################################################### -# Where to find the Xmerge JAR files - -APORTIS_JAR=/export/home/test/qadir/qa-wrapper/classes/aportisdoc.jar -WORDSMITH_JAR=/export/home/test/qadir/qa-wrapper/classes/wordsmith.jar -MINICALC_JAR=/export/home/test/qadir/qa-wrapper/classes/minicalc.jar -CLASSES_DIR=/classes - -########################################################### -# setup which version of POSE to use - -PERL5LIB=/Scripting/Perl -POSE_EXE=/posedist/pose -POSE_PRC= - -########################################################### - -# Location of files required to run Pose - -EM_ROM_FILE= -EM_SESSION_FILE= - - -########################################################### - - -# where to get the executables for the test_driver and the comparator - -TEST_DRIVER_PL=/bin/qa_test_driver.pl -COMPARATOR_PL=/bin/qa_comparator.pl -COMPLIST=/lists - -########################################################### -# where to get the original XML test files - -XML_INFILE_DIR=/testcases/xml-orig - -########################################################### -# where to find the baseline PDB files - -PDB_BASELINE_DIR=/results/baseline/pdb-base - -########################################################### -# where to find the baseline XML files - -XML_BASELINE_DIR=/results/baseline/xml-base - -########################################################### -#Location of script that runs the conversions -EM_SCRIPT_HOME= - -########################################################### -#Location of run-convtest.pl -QAWRAPPER_SCRIPT_HOME=/bin - -########################################################### -#Location of converterlib.pm -QA_LIB_HOME=/lib - -########################################################### -#Location of comparator.pl -QA_COMPARATOR_HOME=/comparator/ - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/lists/master.list b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/lists/master.list deleted file mode 100755 index d6be4fb063bd..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/lists/master.list +++ /dev/null @@ -1,55 +0,0 @@ -c_addition01-mod.infile c_addition sxc -c_alignment.infile c_alignment sxc -c_backwardrange-mod.infile c_backwardrange sxc -c_basic-mod.infile c_basic sxc -c_boolean-mod.infile c_boolean sxc -c_cellpercentvalue-mod.infile c_cellpercentvalue sxc -c_cellstringvalue-mod.infile c_cellstringvalue sxc -c_columnswidth-mod.infile c_columnswidth sxc -c_cyclic-mod.infile c_cyclic sxc -c_dividefloating-mod.infile c_dividefloating sxc -c_forwardrange-mod.infile c_forwardrange sxc -c_insertimage.infile c_insertimage sxc -c_invalidcellref-mod.infile c_invalidcellref sxc -c_largerange-mod.infile c_largerange sxc -c_listrange-mod.infile c_listrange sxc -c_mathematical-mod.infile c_mathematical sxc -c_protection-mod01.infile c_protection sxc -c_sheetreference-mod.infile c_sheetreference sxc -c_simple01-mod.infile c_simple01 sxc -c_simple02-mod.infile c_simple04 sxc -c_simple03-mod.infile c_simple02 sxc -c_simple04-mod.infile c_simple03 sxc -c_smallrange-mod.infile c_smallrange sxc -c_styles.infile c_styles sxc -c_textimage.infile c_textimage sxc -a_table.infile a_table sxw -a_animatedgif.infile a_animatedgif sxw -a_linebreaks.infile a_linebreaks sxw -a_bulletorderedlist.infile a_bulletorderedlist sxw -a_superscript.infile a_superscript sxw -a_subscript.infile a_subscript sxw -a_emptydoc.infile a_emptydoc sxw -a_fontsize.infile a_fontsize sxw -a_heading.infile a_heading sxw -a_heading1.infile a_heading1 sxw -a_heading2.infile a_heading2 sxw -a_hyperlink.infile a_hyperlink sxw -a_justified.infile a_justified sxw -a_linespacing.infile a_linespacing sxw -a_numberorderedlist.infile a_numberorderedlist sxw -a_pagebreak.infile a_pagebreak sxw -a_paragraph.infile a_paragraph sxw -a_standard.infile a_standard sxw -a_symbols.infile a_symbols sxw -a_wordwrap.infile a_wordwrap sxw -a_unorderedlist.infile a_unorderedlist sxw -a_textspan.infile a_textspan sxw -a_bolddoc.infile a_bolddoc sxw -a_tab.infile a_tab sxw -a_firstlineindent.infile a_firstlineindent sxw -a_bookmarks.infile a_bookmarks sxw - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_animatedgif.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_animatedgif.pdb deleted file mode 100755 index 88dbf557cc4e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_animatedgif.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bolddoc.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bolddoc.pdb deleted file mode 100755 index 0bfadf294bdf..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bolddoc.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bookmarks.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bookmarks.pdb deleted file mode 100755 index 8c134002c9de..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bookmarks.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bulletorderedlist.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bulletorderedlist.pdb deleted file mode 100755 index 8f3d588dfb67..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_bulletorderedlist.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_emptydoc.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_emptydoc.pdb deleted file mode 100755 index 99c045e6113c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_emptydoc.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_firstlineindent.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_firstlineindent.pdb deleted file mode 100755 index 279d2287b65d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_firstlineindent.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_fontsize.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_fontsize.pdb deleted file mode 100755 index 8b3cef8cdedb..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_fontsize.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading.pdb deleted file mode 100755 index deb8f613fdf3..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading1.pdb deleted file mode 100755 index f3c89a917c21..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading2.pdb deleted file mode 100755 index e954224020b7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_heading2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_hyperlink.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_hyperlink.pdb deleted file mode 100755 index 88a3927fbd24..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_hyperlink.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_justified.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_justified.pdb deleted file mode 100755 index c93da36ec630..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_justified.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linebreaks.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linebreaks.pdb deleted file mode 100755 index 8152cf5156d2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linebreaks.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linespacing.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linespacing.pdb deleted file mode 100755 index 8cbe09e5ff1e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_linespacing.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_numberorderedlist.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_numberorderedlist.pdb deleted file mode 100755 index f7c1835b8d0b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_numberorderedlist.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_pagebreak.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_pagebreak.pdb deleted file mode 100755 index 7ad393f3fd84..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_pagebreak.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_paragraph.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_paragraph.pdb deleted file mode 100755 index 5c2bfa52c77b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_paragraph.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple01.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple01.pdb deleted file mode 100755 index b1ea0024c1f1..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple01.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple02.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple02.pdb deleted file mode 100755 index 5eaf2292c34f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple02.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple03.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple03.pdb deleted file mode 100755 index 8c9d2bb568df..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple03.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple04.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple04.pdb deleted file mode 100755 index 7e88c9fe866a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple04.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple05.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple05.pdb deleted file mode 100755 index d0959c91bd2d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_simple05.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_standard.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_standard.pdb deleted file mode 100755 index 694e33361df2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_standard.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_subscript.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_subscript.pdb deleted file mode 100755 index d6a9081a0150..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_subscript.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_superscript.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_superscript.pdb deleted file mode 100755 index e4349e79842f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_superscript.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_symbols.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_symbols.pdb deleted file mode 100755 index 7ef7f9daacc7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_symbols.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_tab.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_tab.pdb deleted file mode 100755 index 0befa7c85eb2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_tab.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_table.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_table.pdb deleted file mode 100755 index 72a2f98f7485..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_table.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_textspan.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_textspan.pdb deleted file mode 100755 index bbb4487c986f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_textspan.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_unorderedlist.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_unorderedlist.pdb deleted file mode 100755 index 214100ce6117..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_unorderedlist.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_wordwrap.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_wordwrap.pdb deleted file mode 100755 index 4c2179aada8e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/a_wordwrap.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet1.pdb deleted file mode 100755 index c5a559ead4e7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet2.pdb deleted file mode 100755 index c633734b8f17..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet3.pdb deleted file mode 100755 index c7571e003964..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_addition-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet1.pdb deleted file mode 100755 index 200026701dc6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet2.pdb deleted file mode 100755 index 1531205547ce..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet3.pdb deleted file mode 100755 index 089b36be0cdd..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_alignment-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet1.pdb deleted file mode 100755 index a99167080c7e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet2.pdb deleted file mode 100755 index 6df6cb9cd183..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet3.pdb deleted file mode 100755 index 3f08a196172a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_backwardrange-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet1.pdb deleted file mode 100755 index 287a25bd0b87..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet2.pdb deleted file mode 100755 index 8efbe6d58e34..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet3.pdb deleted file mode 100755 index b7cbfb7f8f5c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_basic-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet1.pdb deleted file mode 100755 index 458fcf18bfc5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet2.pdb deleted file mode 100755 index 188dd9d5be96..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet3.pdb deleted file mode 100755 index 6568390100da..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_boolean-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet1.pdb deleted file mode 100755 index 984b1f14001c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet2.pdb deleted file mode 100755 index 9b0e50b204c1..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet3.pdb deleted file mode 100755 index c39410c5c656..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellcurrencyalue-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet1.pdb deleted file mode 100755 index 84b0c2aabaaa..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet2.pdb deleted file mode 100755 index f8300622d553..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet3.pdb deleted file mode 100755 index 5c841af6f953..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellpercentvalue-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet1.pdb deleted file mode 100755 index aeea92b92b38..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet2.pdb deleted file mode 100755 index 3230b1574a69..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet3.pdb deleted file mode 100755 index 8fcfd9940ead..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cellstringvalue-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet1.pdb deleted file mode 100755 index db4ee52a9c1b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet2.pdb deleted file mode 100755 index 110ef180f613..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet3.pdb deleted file mode 100755 index 33c6c9f0061f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_columnswidth-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet1.pdb deleted file mode 100755 index ee52655a0056..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet2.pdb deleted file mode 100755 index c6caaf40132d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet3.pdb deleted file mode 100755 index 8b6a735edeb9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_cyclic-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet1.pdb deleted file mode 100755 index 53d2acbac676..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet2.pdb deleted file mode 100755 index 5a4a0460d258..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet3.pdb deleted file mode 100755 index eaa43bc683b1..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_dividefloating-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet1.pdb deleted file mode 100755 index 026634583a5b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet2.pdb deleted file mode 100755 index b11956ab7c4a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet3.pdb deleted file mode 100755 index 56fef34f9c4e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_forwardrange-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet1.pdb deleted file mode 100755 index f7c2e2188bfc..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet2.pdb deleted file mode 100755 index cc2cc083533a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet3.pdb deleted file mode 100755 index 51328fd9c1ef..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_insertimage-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet1.pdb deleted file mode 100755 index 390fc9710723..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet2.pdb deleted file mode 100755 index 9efa6bbc78a9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet3.pdb deleted file mode 100755 index 62dc5629c67a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_invalidcellref-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet1.pdb deleted file mode 100755 index cf485e74d8c9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet2.pdb deleted file mode 100755 index ac000de5b8a0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet3.pdb deleted file mode 100755 index 45d1faf2a293..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_largerange-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet1.pdb deleted file mode 100755 index 1b617ff67e32..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet2.pdb deleted file mode 100755 index b2e34e5ec759..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet3.pdb deleted file mode 100755 index 0bb0d1a6b3d6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_listrange-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet1.pdb deleted file mode 100755 index 3f9fe58a186c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet2.pdb deleted file mode 100755 index dddc94e07f02..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet3.pdb deleted file mode 100755 index 1f40204c7971..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_mathematical-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet1.pdb deleted file mode 100755 index 06fc72d829fe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet2.pdb deleted file mode 100755 index 03107c5d325d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet3.pdb deleted file mode 100755 index de40bfd56ec6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_protection-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet1.pdb deleted file mode 100755 index a9df85405e1a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet2.pdb deleted file mode 100755 index e8412d07e081..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet3.pdb deleted file mode 100755 index b6a2c0ef38d5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_sheetreference-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet1.pdb deleted file mode 100755 index 72aa8c82ba4a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet2.pdb deleted file mode 100755 index cb04d4125fc9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet3.pdb deleted file mode 100755 index 7a85aff6ba62..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple01-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet1.pdb deleted file mode 100755 index 383fb4cccfb5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet2.pdb deleted file mode 100755 index a5e9b8beea3b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet3.pdb deleted file mode 100755 index 6bce59077201..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple02-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet1.pdb deleted file mode 100755 index 09d9020bc61f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet2.pdb deleted file mode 100755 index 14e2723688c4..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet3.pdb deleted file mode 100755 index 705134770677..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple03-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet1.pdb deleted file mode 100755 index efba83c29b8d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet2.pdb deleted file mode 100755 index 2811910ecd04..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet3.pdb deleted file mode 100755 index 08028abc6fd1..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_simple04-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet1.pdb deleted file mode 100755 index c7978fac0a6b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet2.pdb deleted file mode 100755 index c8234832053d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet3.pdb deleted file mode 100755 index 78e2a4ea6b21..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_smallrange-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet1.pdb deleted file mode 100755 index f622cd7d1243..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet2.pdb deleted file mode 100755 index 8c29018d9e8a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet3.pdb deleted file mode 100755 index 4eebe759c1db..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_styles-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet1.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet1.pdb deleted file mode 100755 index 169a2cc173b9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet1.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet2.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet2.pdb deleted file mode 100755 index 4dee2cab0d2b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet2.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet3.pdb b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet3.pdb deleted file mode 100755 index 999d53f16a0c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/pdb-base/c_textimage-Sheet3.pdb and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/Blocklist.dtd b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/Blocklist.dtd deleted file mode 100755 index f7bb8eb321bb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/Blocklist.dtd +++ /dev/null @@ -1,34 +0,0 @@ - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_animatedgif.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_animatedgif.sxw deleted file mode 100755 index a8f7d91ef03f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_animatedgif.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bolddoc.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bolddoc.sxw deleted file mode 100755 index 9f0cb66d69ba..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bolddoc.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bookmarks.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bookmarks.sxw deleted file mode 100755 index d3ea3431875d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bookmarks.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bulletorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bulletorderedlist.sxw deleted file mode 100755 index bd640d575fb2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_bulletorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_emptydoc.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_emptydoc.sxw deleted file mode 100755 index d4a0621ad46d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_emptydoc.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_firstlineindent.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_firstlineindent.sxw deleted file mode 100755 index 75a18d84a53f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_firstlineindent.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_fontsize.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_fontsize.sxw deleted file mode 100755 index b87aa37523d0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_fontsize.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading.sxw deleted file mode 100755 index a6d25bd5cf8e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading1.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading1.sxw deleted file mode 100755 index ed91418ab374..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading1.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading2.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading2.sxw deleted file mode 100755 index 2f767e6f1675..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_heading2.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_hyperlink.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_hyperlink.sxw deleted file mode 100755 index 6a04edd6a073..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_hyperlink.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_justified.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_justified.sxw deleted file mode 100755 index ae33ab576588..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_justified.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linebreaks.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linebreaks.sxw deleted file mode 100755 index 27b1e73e0b50..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linebreaks.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linespacing.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linespacing.sxw deleted file mode 100755 index 74436d8076c7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_linespacing.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_numberorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_numberorderedlist.sxw deleted file mode 100755 index 3d8e19970fd8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_numberorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_pagebreak.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_pagebreak.sxw deleted file mode 100755 index d929cfe5c13f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_pagebreak.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_paragraph.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_paragraph.sxw deleted file mode 100755 index 5c74827d5663..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_paragraph.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple01.sxw deleted file mode 100755 index 2d3384d5f9f0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple02.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple02.sxw deleted file mode 100755 index 404cfd5ffd92..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple02.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple03.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple03.sxw deleted file mode 100755 index 9b90d54cfc54..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple03.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple04.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple04.sxw deleted file mode 100755 index dddb02f91248..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple04.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple05.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple05.sxw deleted file mode 100755 index c811aabcf28d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_simple05.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_standard.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_standard.sxw deleted file mode 100755 index b9ac1e688e71..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_standard.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_subscript.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_subscript.sxw deleted file mode 100755 index 78ed939f1f83..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_subscript.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_superscript.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_superscript.sxw deleted file mode 100755 index 7d44042aaf5f..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_superscript.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_symbols.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_symbols.sxw deleted file mode 100755 index a48137a8ded5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_symbols.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_tab.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_tab.sxw deleted file mode 100755 index 5602764f3c9d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_tab.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_table.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_table.sxw deleted file mode 100755 index a101ba833aa9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_table.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_textspan.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_textspan.sxw deleted file mode 100755 index beae7b8c8a7a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_textspan.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_unorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_unorderedlist.sxw deleted file mode 100755 index ca5ee406ccc5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_unorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_wordwrap.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_wordwrap.sxw deleted file mode 100755 index ece3fefae183..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/a_wordwrap.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_addition.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_addition.sxc deleted file mode 100755 index 6c4341f62ac2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_addition.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_alignment.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_alignment.sxc deleted file mode 100755 index b9df5dd3b00e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_alignment.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_backwardrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_backwardrange.sxc deleted file mode 100755 index c61f460e9fd8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_backwardrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_basic.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_basic.sxc deleted file mode 100755 index 8a1ba23b78fc..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_basic.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_boolean.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_boolean.sxc deleted file mode 100755 index c34e7608c129..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_boolean.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellcurrencyalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellcurrencyalue.sxc deleted file mode 100755 index 808d781162e6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellcurrencyalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellpercentvalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellpercentvalue.sxc deleted file mode 100755 index 9b4b9f024a6a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellpercentvalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellstringvalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellstringvalue.sxc deleted file mode 100755 index b44496fdb57b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cellstringvalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_columnswidth.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_columnswidth.sxc deleted file mode 100755 index 9aeec30fb699..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_columnswidth.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cyclic.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cyclic.sxc deleted file mode 100755 index 196bd78962a9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_cyclic.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_dividefloating.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_dividefloating.sxc deleted file mode 100755 index 1e2c55b448c8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_dividefloating.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_forwardrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_forwardrange.sxc deleted file mode 100755 index 0e41c624511b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_forwardrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_insertimage.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_insertimage.sxc deleted file mode 100755 index bae72239f17e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_insertimage.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_invalidcellref.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_invalidcellref.sxc deleted file mode 100755 index 881b4ffdb966..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_invalidcellref.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_largerange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_largerange.sxc deleted file mode 100755 index 379b1cef6d62..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_largerange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_listrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_listrange.sxc deleted file mode 100755 index e0e05b128917..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_listrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_mathematical.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_mathematical.sxc deleted file mode 100755 index c9cf3e8bbc5e..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_mathematical.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_protection.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_protection.sxc deleted file mode 100755 index 64f89cc61ce7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_protection.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_sheetreference.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_sheetreference.sxc deleted file mode 100755 index 4239ab2fa908..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_sheetreference.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple01.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple01.sxc deleted file mode 100755 index e508b749bb0d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple01.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple02.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple02.sxc deleted file mode 100755 index d490ed66fe3c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple02.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple03.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple03.sxc deleted file mode 100755 index 1dee18c7ddd7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple03.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple04.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple04.sxc deleted file mode 100755 index 5164313a79cf..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_simple04.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_smallrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_smallrange.sxc deleted file mode 100755 index 8283b04c54e3..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_smallrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_styles.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_styles.sxc deleted file mode 100755 index 21e0f1ab5ac0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_styles.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_textimage.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_textimage.sxc deleted file mode 100755 index 9f42285d2881..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/c_textimage.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/chart.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/chart.mod deleted file mode 100755 index 70cbe483ca9c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/chart.mod +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/datastyl.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/datastyl.mod deleted file mode 100755 index 11bc8a8e40b7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/datastyl.mod +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/drawing.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/drawing.mod deleted file mode 100755 index aa0a25822a45..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/drawing.mod +++ /dev/null @@ -1,837 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/dtypes.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/dtypes.mod deleted file mode 100755 index e4d640d012c8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/dtypes.mod +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/form.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/form.mod deleted file mode 100755 index 77a91206c451..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/form.mod +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/meta.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/meta.mod deleted file mode 100755 index 1ea845bcb02d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/meta.mod +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/nmspace.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/nmspace.mod deleted file mode 100755 index b7f6b64140a6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/nmspace.mod +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.dtd b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.dtd deleted file mode 100755 index 9bcd37edf325..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.dtd +++ /dev/null @@ -1,54 +0,0 @@ - - - - -%dtypes-mod; - -%nmspace-mod; - -%style-mod; - -%office-mod; - -%meta-mod; - -%script-mod; - -%drawing-mod; - -%text-mod; - -%table-mod; - -%chart-mod; - -%datastyl-mod; - -%form-mod; - -%settings-mod; diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.mod deleted file mode 100755 index f8e3775fa6da..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/office.mod +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/script.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/script.mod deleted file mode 100755 index 4d13ff74aebc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/script.mod +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/settings.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/settings.mod deleted file mode 100755 index bb9224237fa8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/settings.mod +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/style.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/style.mod deleted file mode 100755 index 21a3d9d17dd1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/style.mod +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/table.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/table.mod deleted file mode 100755 index 6d9f3cdb2a8f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/table.mod +++ /dev/null @@ -1,493 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/text.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/text.mod deleted file mode 100755 index 792b0fdde55e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/results/baseline/xml-base/text.mod +++ /dev/null @@ -1,1099 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_animatedgif.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_animatedgif.infile deleted file mode 100644 index e1e8de3632d0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_animatedgif.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing animated gif conversion -# -TEST||QUICKWORD|a_animatedgif -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bolddoc.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bolddoc.infile deleted file mode 100644 index c545805e37e2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bolddoc.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing bold type conversion -# -TEST||QUICKWORD|a_bolddoc -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bookmarks.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bookmarks.infile deleted file mode 100644 index f350b6acdc18..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bookmarks.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing bookmark conversion -# -TEST||QUICKWORD|a_bookmarks -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bulletorderedlist.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bulletorderedlist.infile deleted file mode 100644 index bd9617d3892a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_bulletorderedlist.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing bullet ordered list conversion -# -TEST||QUICKWORD|a_bulletorderedlist -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc-mod.infile deleted file mode 100644 index 846bb80b44d3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc-mod.infile +++ /dev/null @@ -1,9 +0,0 @@ -#testing modification to an empty document conversion -# -TEST||QUICKWORD|a_emptydoc-mod -ENTER_STRING_AT_LOCATION|108|20|New line of text added\n -ENTER_STRING_AT_LOCATION|108|40|This is 108, 40\n -ENTER_STRING_AT_LOCATION|150|208|This is 150, 208\n -ENTER_STRING_AT_LOCATION|150|308|This is 150, 308\n - -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc.infile deleted file mode 100644 index ba5eef77ff2e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_emptydoc.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing empty document conversion -# -TEST||QUICKWORD|a_emptydoc -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_firstlineindent.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_firstlineindent.infile deleted file mode 100644 index 31fb962eeb29..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_firstlineindent.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing indent conversion -# -TEST||QUICKWORD|a_firstlineindent -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_fontsize.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_fontsize.infile deleted file mode 100644 index f9a12659ac67..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_fontsize.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing fontsize conversion -# -TEST||QUICKWORD|a_fontsize -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading.infile deleted file mode 100644 index ca580f445cec..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing basic heading conversion -# -TEST||QUICKWORD|a_heading -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading1.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading1.infile deleted file mode 100644 index 4a73d5ead0e2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading1.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing heading1 type conversion -# -TEST||QUICKWORD|a_heading1 -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading2.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading2.infile deleted file mode 100644 index 265e2fd1e629..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_heading2.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing heading2 type conversion -# -TEST||QUICKWORD|a_heading2 -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_hyperlink.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_hyperlink.infile deleted file mode 100644 index 19fb1fd93f74..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_hyperlink.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing hyperlink conversion -# -TEST||QUICKWORD|a_hyperlink -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_justified.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_justified.infile deleted file mode 100644 index a9f1eee7016b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_justified.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing justified conversion -# -TEST||QUICKWORD|a_justified -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linebreaks.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linebreaks.infile deleted file mode 100644 index ebabb26a691a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linebreaks.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing line break conversion -# -TEST||QUICKWORD|a_linebreaks -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linespacing.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linespacing.infile deleted file mode 100644 index ccb76ed0675f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_linespacing.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing line spacing conversion -# -TEST||QUICKWORD|a_linespacing -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_numberorderedlist.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_numberorderedlist.infile deleted file mode 100644 index 4075e16b0516..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_numberorderedlist.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing number ordered list conversion -# -TEST||QUICKWORD|a_numberorderedlist -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_pagebreak.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_pagebreak.infile deleted file mode 100644 index 10d2f2ceba0a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_pagebreak.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing page break conversion -# -TEST||QUICKWORD|a_pagebreak -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_paragraph.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_paragraph.infile deleted file mode 100644 index c74558b60c7e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_paragraph.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing paragraph conversion -# -TEST||QUICKWORD|a_paragraph -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple01.infile deleted file mode 100644 index f08c1fa14af1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple01.infile +++ /dev/null @@ -1,4 +0,0 @@ -# simple01 -TEST|Simple 1|QUICKWORD|a_simple01 -ENTER_STRING_AT_LOCATION|LEFT|TOP|New text added to simple file.\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple02.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple02.infile deleted file mode 100644 index f56a6b0fe2c3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple02.infile +++ /dev/null @@ -1,4 +0,0 @@ -# simple02 -TEST|Simple 2|QUICKWORD|a_simple02 -ENTER_STRING_AT_LOCATION|64|20|, including this inserted phrase, -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple03.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple03.infile deleted file mode 100644 index 3a957ab5e2ea..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple03.infile +++ /dev/null @@ -1,4 +0,0 @@ -# simple03 -TEST|Simple 3|QUICKWORD|a_simple03 -ENTER_STRING_AT_LOCATION|LEFT|42|This is also in standard style\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple04.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple04.infile deleted file mode 100644 index 1631885a6d77..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple04.infile +++ /dev/null @@ -1,4 +0,0 @@ -# simple04 -TEST|Simple 4|QUICKWORD|a_simple04 -ENTER_STRING_AT_LOCATION|66|20| -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple05.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple05.infile deleted file mode 100644 index 242285797c3b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_simple05.infile +++ /dev/null @@ -1,5 +0,0 @@ -# simple05 -TEST|Simple 5|QUICKWORD|a_simple05 -ENTER_STRING_AT_LOCATION|108|20| -ENTER_STRING_AT_LOCATION|19|20|document uses -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_standard.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_standard.infile deleted file mode 100644 index c7a6ebf1fcfb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_standard.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing standard conversion -# -TEST||QUICKWORD|a_standard -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_subscript.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_subscript.infile deleted file mode 100644 index d4751de288c1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_subscript.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing subscript conversion -# -TEST||QUICKWORD|a_subscript -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_superscript.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_superscript.infile deleted file mode 100644 index 1233754e9f37..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_superscript.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing superscript conversion -# -TEST||QUICKWORD|a_superscript -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_symbols.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_symbols.infile deleted file mode 100644 index 5a89e15ca22f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_symbols.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing symbol conversion -# -TEST||QUICKWORD|a_symbols -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_tab.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_tab.infile deleted file mode 100644 index 7b5d319fa2a1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_tab.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing tab conversion -# -TEST||QUICKWORD|a_tab -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_table.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_table.infile deleted file mode 100644 index b7d991e7033d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_table.infile +++ /dev/null @@ -1,5 +0,0 @@ -#testing table contents conversion -# -TEST||QUICKWORD|a_table -#ENTER_STRING_AT_LOCATION|LEFT|42|This is also in standard style\n -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_textspan.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_textspan.infile deleted file mode 100644 index 493032299b1e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_textspan.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing textspan conversion -# -TEST||QUICKWORD|a_textspan -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_unorderedlist.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_unorderedlist.infile deleted file mode 100644 index 6990e3ed58e6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_unorderedlist.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing unorderedlist conversion -# -TEST||QUICKWORD|a_unorderedlist -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_wordwrap.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_wordwrap.infile deleted file mode 100644 index 22e5573f29d6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/a_wordwrap.infile +++ /dev/null @@ -1,4 +0,0 @@ -#testing wordwrapping conversion -# -TEST||QUICKWORD|a_wordwrap -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_addition01-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_addition01-mod.infile deleted file mode 100755 index 17c2293ed6be..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_addition01-mod.infile +++ /dev/null @@ -1,5 +0,0 @@ -# -# -TEST||MINICALC|c_addition -MINICALC_ENTER_CELL|0|0| 3\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_alignment.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_alignment.infile deleted file mode 100755 index ae607f2a9ca6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_alignment.infile +++ /dev/null @@ -1,4 +0,0 @@ -# -# -TEST||MINICALC|c_alignment -SLEEP|10 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_backwardrange-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_backwardrange-mod.infile deleted file mode 100755 index 5e869f491f5a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_backwardrange-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Test for backwardrange of spreadsheet - change a value in a set range -# -TEST||MINICALC|c_backwardrange -MINICALC_ENTER_CELL|1|1|=AVERAGE(2;5;5)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_basic-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_basic-mod.infile deleted file mode 100755 index a2f1d3c342f8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_basic-mod.infile +++ /dev/null @@ -1,5 +0,0 @@ -# -# basic spreadsheet round trip conversion no modification -# -TEST||MINICALC|c_basic - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_bob-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_bob-mod.infile deleted file mode 100755 index f868004d1d5e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_bob-mod.infile +++ /dev/null @@ -1,5 +0,0 @@ -# -# -TEST||MINICALC|c_bob -MINICALC_ENTER_CELL|0|0| 3\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_boolean-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_boolean-mod.infile deleted file mode 100755 index 2d69bb8cedf0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_boolean-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet - test Boolean entry change. -# -TEST||MINICALC|c_boolean -MINICALC_ENTER_CELL|1|0|TRUE\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellcurrencyvalue.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellcurrencyvalue.infile deleted file mode 100644 index f58003dedd23..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellcurrencyvalue.infile +++ /dev/null @@ -1,5 +0,0 @@ -# -# basic spreadsheet with currency format round trip conversion no modification -# -TEST||MINICALC|c_cellcurrencyalue - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellpercentvalue-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellpercentvalue-mod.infile deleted file mode 100755 index 440c82d2fbc2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellpercentvalue-mod.infile +++ /dev/null @@ -1,8 +0,0 @@ -# -# Spreadsheet percentage value precision -# -TEST||MINICALC|c_cellpercentvalue -MINICALC_ENTER_CELL|0|0|120%\n -SLEEP|3 -MINICALC_ENTER_CELL|0|1|10%\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellstringvalue-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellstringvalue-mod.infile deleted file mode 100755 index 5e67ea28c49f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cellstringvalue-mod.infile +++ /dev/null @@ -1,10 +0,0 @@ -# -# Spreadsheet string value changes. -# -TEST||MINICALC|c_cellstringvalue -MINICALC_ENTER_CELL|1|2|Testing\n -SLEEP|3 -MINICALC_ENTER_CELL|1|3|\n -SLEEP|3 -MINICALC_ENTER_CELL|2|1|;\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_columnswidth-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_columnswidth-mod.infile deleted file mode 100755 index 5fe9942beabc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_columnswidth-mod.infile +++ /dev/null @@ -1,3 +0,0 @@ -# -# -TEST||MINICALC|c_columnswidth diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cyclic-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cyclic-mod.infile deleted file mode 100755 index ab9ac1b29d4a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_cyclic-mod.infile +++ /dev/null @@ -1,12 +0,0 @@ -# -# Spreadsheet error messages. -# -TEST||MINICALC|c_cyclic -MINICALC_ENTER_CELL|3|0|0\n -SLEEP|3 -MINICALC_ENTER_CELL|4|0|0\n -SLEEP|3 -MINICALC_ENTER_CELL|3|1|=(A1/A4)\n -SLEEP|3 -MINICALC_ENTER_CELL|4|1|=(A4/A5)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_dividefloating-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_dividefloating-mod.infile deleted file mode 100755 index ce216e167f5e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_dividefloating-mod.infile +++ /dev/null @@ -1,8 +0,0 @@ -# -# Spreadsheet - dividing floating points. -# -TEST||MINICALC|c_dividefloating -MINICALC_ENTER_CELL|3|0|=-(12.2)/(5-1)\n -SLEEP|3 -MINICALC_ENTER_CELL|1|1|=(12.2)/(5-1)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_forwardrange-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_forwardrange-mod.infile deleted file mode 100755 index 0c29937a0198..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_forwardrange-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet forwardrange & logical function test -# -TEST||MINICALC|c_forwardrange -MINICALC_ENTER_CELL|3|1|=IF(0;45.45;54.54)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertimage.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertimage.infile deleted file mode 100755 index 6801a23fa455..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertimage.infile +++ /dev/null @@ -1,4 +0,0 @@ -# -# Spreadsheet with image insert conversion test. -# -TEST||MINICALC|c_insertimage diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertrow-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertrow-mod.infile deleted file mode 100755 index a56fcf0b2a13..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_insertrow-mod.infile +++ /dev/null @@ -1,13 +0,0 @@ -# -# simple spreadsheet - insert a new row -# -TEST||MINICALC|c_insertrow -TAP_PEN_HARD|10|40| -SLEEP|3 -TAP_PEN_HARD|110|140 -SLEEP|3 -TAP_PEN_HARD|110|130 -SLEEP|3 -MINICALC_ENTER_CELL|3|0|1\n -SLEEP|5 - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_invalidcellref-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_invalidcellref-mod.infile deleted file mode 100755 index dc2675c2d13a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_invalidcellref-mod.infile +++ /dev/null @@ -1,10 +0,0 @@ -# -# Spreadsheet invalid references test. -# -TEST||MINICALC|c_invalidcellref -MINICALC_ENTER_CELL|2|0|=MAX(1;2;3)\n -SLEEP|3 -MINICALC_ENTER_CELL|1|2| \n -SLEEP|3 -MINICALC_ENTER_CELL|2|2|=a0 \n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_largerange-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_largerange-mod.infile deleted file mode 100755 index 7bc7b53e8423..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_largerange-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet large range test -# -TEST||MINICALC|c_largerange -MINICALC_ENTER_CELL|2|1|=SUM(E7:G10)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_listrange-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_listrange-mod.infile deleted file mode 100755 index 252dbe45d34c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_listrange-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet listrange test. -# -TEST||MINICALC|c_listrange -MINICALC_ENTER_CELL|2|3|24\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_mathematical-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_mathematical-mod.infile deleted file mode 100755 index f45b347b1760..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_mathematical-mod.infile +++ /dev/null @@ -1,10 +0,0 @@ -# -# Spreadsheet standard math functs -# -TEST||MINICALC|c_mathematical -MINICALC_ENTER_CELL|0|1|=SIN(3.14/2)\n -SLEEP8| -MINICALC_ENTER_CELL|1|1|=COS(0)\n -SLEEP|8 -MINICALC_ENTER_CELL|2|2|=TAN(1.57/2)\n -SLEEP|8 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_multi_boolean.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_multi_boolean.infile deleted file mode 100644 index ef77f2a143b2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_multi_boolean.infile +++ /dev/null @@ -1,5 +0,0 @@ -# -# Spreadsheet - test multi Boolean entry no change. -# -TEST||MINICALC|c_multi_boolean -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_protection-mod01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_protection-mod01.infile deleted file mode 100755 index d1557eab26da..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_protection-mod01.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet change protection test. -# -TEST||MINICALC|c_protection -MINICALC_ENTER_CELL|0|0| 1\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_sheetreference-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_sheetreference-mod.infile deleted file mode 100755 index 3b9d76bb02bf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_sheetreference-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet sheet reference test. -# -TEST||MINICALC|c_sheetreference -MINICALC_ENTER_CELL|2|0|=Sheet3.B1\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple01-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple01-mod.infile deleted file mode 100755 index 2ae81831384c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple01-mod.infile +++ /dev/null @@ -1,13 +0,0 @@ -# -# simple spreadsheet - insert text & numbers -# -TEST||MINICALC|c_simple01 -MINICALC_ENTER_CELL|0|0|Col1\n -SLEEP|3 -MINICALC_ENTER_CELL|1|0|1\n -SLEEP|3 -MINICALC_ENTER_CELL|2|0|1\n -SLEEP|3 -MINICALC_ENTER_CELL|3|0|1\n -SLEEP|5 - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple02-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple02-mod.infile deleted file mode 100755 index a6414e9a5168..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple02-mod.infile +++ /dev/null @@ -1,13 +0,0 @@ -# -# simple spreadsheet - append a new column to end -# -TEST||MINICALC|c_simple02 -MINICALC_ENTER_CELL|0|1|Col3\n -SLEEP|3 -MINICALC_ENTER_CELL|1|1|3\n -SLEEP|3 -MINICALC_ENTER_CELL|2|1|3\n -SLEEP|3 -MINICALC_ENTER_CELL|3|1|3\n -SLEEP|5 - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple03-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple03-mod.infile deleted file mode 100755 index 00ad02334b45..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple03-mod.infile +++ /dev/null @@ -1,22 +0,0 @@ -# -# simple spreadsheet - insert a new column in middle -# -TEST||MINICALC|c_simple03 -MINICALC_ENTER_CELL|0|1|Col2\n -SLEEP|3 -MINICALC_ENTER_CELL|1|1|2\n -SLEEP|3 -MINICALC_ENTER_CELL|2|1|2\n -SLEEP|3 -MINICALC_ENTER_CELL|3|1|2\n -SLEEP|5 -MINICALC_ENTER_CELL|0|2|Col3\n -SLEEP|3 -MINICALC_ENTER_CELL|1|2|3\n -SLEEP|3 -MINICALC_ENTER_CELL|2|2|3\n -SLEEP|3 -MINICALC_ENTER_CELL|3|2|3\n -SLEEP|5 - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple04-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple04-mod.infile deleted file mode 100755 index 4c5b8828038c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_simple04-mod.infile +++ /dev/null @@ -1,14 +0,0 @@ -# -# simple spreadsheet - delete text & numbers -# -TEST||MINICALC|c_simple04 -MINICALC_ENTER_CELL|0|2|\n -SLEEP|3 -MINICALC_ENTER_CELL|1|2|\n -SLEEP|3 -MINICALC_ENTER_CELL|2|2|\n -SLEEP|3 -MINICALC_ENTER_CELL|3|2|\n -SLEEP|5 - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_smallrange-mod.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_smallrange-mod.infile deleted file mode 100755 index 81c8ab33bdf8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_smallrange-mod.infile +++ /dev/null @@ -1,6 +0,0 @@ -# -# Spreadsheet smallrange test. -# -TEST||MINICALC|c_smallrange -MINICALC_ENTER_CELL|2|1|=AVERAGE(A1:B2)\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_styles.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_styles.infile deleted file mode 100755 index 26c3446dffd5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_styles.infile +++ /dev/null @@ -1,3 +0,0 @@ -# -# -TEST||MINICALC|c_styles diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_textimage.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_textimage.infile deleted file mode 100755 index 71416244e9d4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/c_textimage.infile +++ /dev/null @@ -1,12 +0,0 @@ -# -# Spreadsheet image text insert. -# -TEST||MINICALC|c_textimage -MINICALC_ENTER_CELL|0|0|This is a green car.\n -SLEEP|3 -MINICALC_ENTER_CELL|14|1|This line is below the green car.\n -SLEEP|3 -MINICALC_ENTER_CELL|15|2|This is a bird.\n -SLEEP|3 -MINICALC_ENTER_CELL|32|2|This line is below the bird.\n -SLEEP|5 diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/empty01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/empty01.infile deleted file mode 100755 index 4100bb47178e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/empty01.infile +++ /dev/null @@ -1,3 +0,0 @@ -# empty01 -TEST|Empty 1|QUICKWORD|empty01 -ENTER_STRING_AT_LOCATION|LEFT|TOP|New text added to empty file.\n diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/hyperlink01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/hyperlink01.infile deleted file mode 100755 index 75f4acb1123b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/hyperlink01.infile +++ /dev/null @@ -1,4 +0,0 @@ -# hyperlink01 -TEST|Hyperlink 1|QUICKWORD|hyperlink01 -ENTER_STRING_AT_LOCATION|114|64| -ENTER_STRING_AT_LOCATION|33|64|SunWeb Central diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/image01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/image01.infile deleted file mode 100755 index 88da6efab59d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/image01.infile +++ /dev/null @@ -1,4 +0,0 @@ -# image01 -TEST|Image 1|QUICKWORD|image01 -ENTER_STRING_AT_LOCATION|86|53|\nReal start of animated gif -ENTER_STRING_AT_LOCATION|LEFT|97|Real end of animated gif\n diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple01.infile deleted file mode 100755 index 9b8d2c3f26eb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple01.infile +++ /dev/null @@ -1,3 +0,0 @@ -# simple01 -TEST|Simple 1|QUICKWORD|simple01 -ENTER_STRING_AT_LOCATION|LEFT|TOP|New text added to simple file.\n diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple02.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple02.infile deleted file mode 100755 index ec139bdacafe..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple02.infile +++ /dev/null @@ -1,3 +0,0 @@ -# simple02 -TEST|Simple 2|QUICKWORD|simple02 -ENTER_STRING_AT_LOCATION|64|20|, including this inserted phrase, diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple03.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple03.infile deleted file mode 100755 index 0755a23b55db..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple03.infile +++ /dev/null @@ -1,3 +0,0 @@ -# simple03 -TEST|Simple 3|QUICKWORD|simple03 -ENTER_STRING_AT_LOCATION|LEFT|42|This is also in standard style\n diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple04.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple04.infile deleted file mode 100755 index 7c6419dd91a4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple04.infile +++ /dev/null @@ -1,3 +0,0 @@ -# simple04 -TEST|Simple 4|QUICKWORD|simple04 -ENTER_STRING_AT_LOCATION|66|20| diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple05.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple05.infile deleted file mode 100755 index 5296d4d953d9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/simple05.infile +++ /dev/null @@ -1,4 +0,0 @@ -# simple05 -TEST|Simple 5|QUICKWORD|simple05 -ENTER_STRING_AT_LOCATION|108|20| -ENTER_STRING_AT_LOCATION|19|20|document uses diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table01.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table01.infile deleted file mode 100755 index fe197e63ad82..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table01.infile +++ /dev/null @@ -1,3 +0,0 @@ -# table01 -TEST|Table 1|QUICKWORD|table01 -ENTER_STRING_AT_LOCATION|77|31|, immediately after this sentence diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table02.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table02.infile deleted file mode 100755 index c5570610e083..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table02.infile +++ /dev/null @@ -1,3 +0,0 @@ -# table02 -TEST|Table 2|QUICKWORD|table02 -ENTER_STRING_AT_LOCATION|LEFT|64|This sentence comes after the table. diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table03.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table03.infile deleted file mode 100755 index 22a22cbaa492..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table03.infile +++ /dev/null @@ -1,4 +0,0 @@ -# table03 -TEST|Table 3|QUICKWORD|table03 -ENTER_STRING_AT_LOCATION|77|31|, immediately after this sentence -ENTER_STRING_AT_LOCATION|LEFT|75|This sentence comes after the table. diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table04.infile b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table04.infile deleted file mode 100755 index beeb6baf6e06..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/table04.infile +++ /dev/null @@ -1,4 +0,0 @@ -# table04 -TEST|Table 4|QUICKWORD|table04 -ENTER_STRING_AT_LOCATION|77|31| -ENTER_STRING_AT_LOCATION|62|20|a une table avec 3 lignes et 3 colonnes diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_animatedgif.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_animatedgif.sxw deleted file mode 100644 index 690e5611a4b6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_animatedgif.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bolddoc.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bolddoc.sxw deleted file mode 100644 index 314a4adc0eb9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bolddoc.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bookmarks.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bookmarks.sxw deleted file mode 100644 index c0f7c7ba632c..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bookmarks.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bulletorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bulletorderedlist.sxw deleted file mode 100644 index bd640d575fb2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_bulletorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc-mod.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc-mod.sxw deleted file mode 100644 index d4d4eff4df96..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc-mod.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc.sxw deleted file mode 100644 index d4d4eff4df96..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_emptydoc.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_firstlineindent.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_firstlineindent.sxw deleted file mode 100644 index 0729f3d25cdf..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_firstlineindent.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_fontsize.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_fontsize.sxw deleted file mode 100644 index 0b5717728617..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_fontsize.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading.sxw deleted file mode 100644 index 915dce52c846..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading1.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading1.sxw deleted file mode 100644 index ebf0b2a44a3d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading1.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading2.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading2.sxw deleted file mode 100644 index 42645eb2a0e6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_heading2.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_hyperlink.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_hyperlink.sxw deleted file mode 100644 index 68632c7799cb..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_hyperlink.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_justified.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_justified.sxw deleted file mode 100644 index 37fa79a5db3b..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_justified.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linebreaks.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linebreaks.sxw deleted file mode 100644 index 519d12ef6acd..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linebreaks.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linespacing.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linespacing.sxw deleted file mode 100644 index f640bf826395..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_linespacing.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_numberorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_numberorderedlist.sxw deleted file mode 100644 index 9ea9bcdb2195..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_numberorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_pagebreak.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_pagebreak.sxw deleted file mode 100644 index 389520790d52..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_pagebreak.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_paragraph.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_paragraph.sxw deleted file mode 100644 index b19b4439b2e0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_paragraph.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple01.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple02.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple02.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple02.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple03.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple03.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple03.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple04.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple04.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple04.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple05.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple05.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_simple05.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_standard.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_standard.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_standard.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_subscript.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_subscript.sxw deleted file mode 100644 index 486a8fb92d8d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_subscript.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_superscript.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_superscript.sxw deleted file mode 100644 index cc65c10281df..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_superscript.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_symbols.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_symbols.sxw deleted file mode 100644 index 7d8961b142bd..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_symbols.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_tab.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_tab.sxw deleted file mode 100644 index 878707db6816..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_tab.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_table.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_table.sxw deleted file mode 100644 index 34634a4ec542..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_table.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_textspan.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_textspan.sxw deleted file mode 100644 index c42751fa6ee4..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_textspan.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_unorderedlist.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_unorderedlist.sxw deleted file mode 100644 index ca5ee406ccc5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_unorderedlist.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_wordwrap.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_wordwrap.sxw deleted file mode 100644 index 168ebc72dfd1..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/a_wordwrap.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_addition.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_addition.sxc deleted file mode 100644 index 9bd5c1a7ee73..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_addition.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_alignment.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_alignment.sxc deleted file mode 100644 index b1fdbd58b7a8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_alignment.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_backwardrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_backwardrange.sxc deleted file mode 100644 index f319ed9feb8d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_backwardrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_basic.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_basic.sxc deleted file mode 100644 index 9bd5c1a7ee73..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_basic.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_boolean.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_boolean.sxc deleted file mode 100644 index b6e876605be5..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_boolean.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellcurrencyalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellcurrencyalue.sxc deleted file mode 100644 index 808d781162e6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellcurrencyalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellpercentvalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellpercentvalue.sxc deleted file mode 100644 index e0499ce95c17..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellpercentvalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellstringvalue.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellstringvalue.sxc deleted file mode 100644 index f6fb4dc5de1a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cellstringvalue.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_columnswidth.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_columnswidth.sxc deleted file mode 100644 index 24aa28e71fbd..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_columnswidth.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cyclic.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cyclic.sxc deleted file mode 100644 index 196bd78962a9..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_cyclic.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_dividefloating.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_dividefloating.sxc deleted file mode 100644 index 1e2c55b448c8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_dividefloating.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_forwardrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_forwardrange.sxc deleted file mode 100644 index f37c97d7e2a8..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_forwardrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertimage.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertimage.sxc deleted file mode 100644 index 9f42285d2881..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertimage.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertrow.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertrow.sxc deleted file mode 100644 index e20c0fff4414..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_insertrow.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_invalidcellref.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_invalidcellref.sxc deleted file mode 100644 index 28fa241d7112..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_invalidcellref.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_largerange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_largerange.sxc deleted file mode 100644 index 618e9ee73478..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_largerange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_listrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_listrange.sxc deleted file mode 100644 index b29b34d589ad..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_listrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_mathematical.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_mathematical.sxc deleted file mode 100644 index deab6092dc97..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_mathematical.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_multi_boolean.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_multi_boolean.sxc deleted file mode 100644 index 38bc90cf0e52..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_multi_boolean.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_protection.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_protection.sxc deleted file mode 100644 index 64f89cc61ce7..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_protection.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_sheetreference.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_sheetreference.sxc deleted file mode 100644 index 0ebb013db25d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_sheetreference.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple01.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple01.sxc deleted file mode 100755 index b4417b983444..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple01.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple02.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple02.sxc deleted file mode 100755 index 7a4d69640f0a..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple02.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple03.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple03.sxc deleted file mode 100755 index bb29f91d6b29..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple03.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple04.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple04.sxc deleted file mode 100755 index 318129c421c4..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_simple04.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_smallrange.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_smallrange.sxc deleted file mode 100644 index ea7dacc2464d..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_smallrange.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_styles.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_styles.sxc deleted file mode 100644 index 21e0f1ab5ac0..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_styles.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_textimage.sxc b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_textimage.sxc deleted file mode 100644 index 9f42285d2881..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/c_textimage.sxc and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/empty01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/empty01.sxw deleted file mode 100644 index d4d4eff4df96..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/empty01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/hyperlink01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/hyperlink01.sxw deleted file mode 100644 index d000f2974b23..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/hyperlink01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/image01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/image01.sxw deleted file mode 100644 index 690e5611a4b6..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/image01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple01.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple02.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple02.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple02.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple03.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple03.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple03.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple04.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple04.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple04.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple05.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple05.sxw deleted file mode 100644 index be65343e2ffe..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/simple05.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table01.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table01.sxw deleted file mode 100644 index 956bedcc24e2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table01.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table02.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table02.sxw deleted file mode 100644 index 956bedcc24e2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table02.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table03.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table03.sxw deleted file mode 100644 index 956bedcc24e2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table03.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table04.sxw b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table04.sxw deleted file mode 100644 index 956bedcc24e2..000000000000 Binary files a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa-wrapper/testcases/xml-orig/table04.sxw and /dev/null differ diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/mysplit.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/mysplit.pl deleted file mode 100755 index 664138283359..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/mysplit.pl +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/local/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -open(TESTFILE, $ARGV[0]); - -while () -{ - if ($_[1] eq "-q") - { - chomp $_; - @args = split('\|', $_); - @filestuff = split('\.', @args[0]); - $filename = @filestuff[0] . ".infile"; - open (TESTCASE, ">$filename") || die "Error opening $filename"; - print TESTCASE "# @args[1]\n# @args[2]\n"; - print TESTCASE "TEST|@args[1]|QUICKWORD|@filestuff[0]\n" ; - close TESTCASE; - } - if ($_[1] eq "-m") - { - chomp $_; - @args = split('\|', $_); - @filestuff = split('\.', @args[0]); - $filename = @filestuff[0] . ".infile"; - open (TESTCASE, ">$filename") || die "Error opening $filename"; - print TESTCASE "# @args[1]\n# @args[2]\n"; - print TESTCASE "TEST|@args[1]|MINICALC|@filestuff[0]\n" ; - close TESTCASE; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/tappen.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/tappen.pl deleted file mode 100755 index 319767fdf477..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/tappen.pl +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: template.pl -# Version : 1.0 -# Project : XMerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# Takes x and y from the command line and taps the screen there. -# Assumes pose is already running. -# -########################################################################## - -if ($#ARGV != 1) -{ - print "\nUsage: $0 x y\n\n"; - exit -1; -} - -use lib "$ENV{qa-dir}/lib"; -use converterlib; - -# Put commands to run between the open_connection() and -# close_connection() calls... -# -open_connection(); - -TapPen($ARGV[0], $ARGV[1]); - -close_connection(); - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/template.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/template.pl deleted file mode 100755 index 1f48ee15196d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/template.pl +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: template.pl -# Version : 1.0 -# Project : XMERGE -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# This is just a useful script to use as a template to run -# commands. Assumes that pose is already running. -# -########################################################################## - -use lib "$ENV{qa-dir}/lib"; -use converterlib; - -# Put commands to run between the open_connection() and -# close_connection() calls... -# -open_connection(); - -# command(s) go here. - -close_connection(); - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/test_driver.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/test_driver.pl deleted file mode 100755 index cbd4492e72b4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/bin/test_driver.pl +++ /dev/null @@ -1,783 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: test_driver.pl -# Version : 1.0 -# Project : Xmerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# This script does the following: -# -# Processes the input file, and runs the tests specified in that -# file. This will do the following for each test: -# -# 1. Convert a file from XML to PDB format -# 2. Starts up the Palm OS emulator with the appropriate program -# running and the converted file loaded the program. -# 3. Makes automated changes as specified in the inputfile to -# this script.. -# 4. Returns to the main applications window. -# -# Parameter -# Filename to convert and change -# -########################################################################## - -# Turn on auto-flushing -# -$|=1; - -use EmRPC; - -# Directory where converterlib is located... -# -use lib "$ENV{qa-dir}/lib"; -use converterlib; - -#-------------------- Start of main script ------------------------------------ - -# Environmental Settings - -$pose_exe = "$ENV{pose-dir}/pose/posedist/pose"; -$pose_prc = "$ENV{thirdpartyapps-dir}"; -$test_list = ""; -$infile = ""; -$merge_opt = 0; - -# You may need to change this from the default if your pose emulator -# starts faster or slower than mine. -# -if ($ENV{'POSE_TIMEOUT'}) -{ - $pose_timeout = "$ENV{'POSE_TIMEOUT'}"; -} -else -{ - $pose_timeout = 15; -} - -$cmdline_len = @ARGV; -if ($cmdline_len <= 0) -{ - print_usage(); - exit (0); -} - -&process_cmdline(@ARGV); -&print_env(); -&verify_env_options(); - -# Make the output directories with timestamps included in the -# directory names. -# -mkdir $pdb_orig, 0777 || die "can not create directory <$pdb_new>."; -`chmod 777 $pdb_orig`; -mkdir $pdb_new, 0777 || die "can not create directory <$pdb_new>."; -`chmod 777 $pdb_new`; -mkdir $xml_new, 0777 || die "can not create directory <$pdb_new>."; -`chmod 777 $xml_new`; - -&verify_prcs_exist("DBExporter.prc"); - -if ($test_list ne "") -{ - open (TESTLIST, $test_list) || die "Couldn't open testcase list file $test_list"; - - while () - { - &process_testcase($_); - } -} -elsif ($infile ne "") -{ - &process_testcase($infile); -} -else -{ - die ("You didn't supply any test cases to process"); -} - -print "Finished.\n"; -exit(0); - -#-------------------- End of main script ---------------------------------------- - -#-------------------------------------------------------------------------------- -# Various sub routines -#-------------------------------------------------------------------------------- - -# process_testcase -# infile - test case file name -# -# This is the main driver function -# Opens the infile, reads it in parses it, runs the appropriate conversion -# starts pose and load the file into the emulator. It launches the -# appropriate editor and then runs the commands specified in the test case. -# It then exports the file and saves it locally. Finally it is converted -# back to the original office format. -# -sub process_testcase -{ - my $infile = $_[0]; - my $convert_file = ""; - my $rc; - - # Process the inputfile - # - open (INFILE, $infile) || die "Failed to open test case <$infile>"; - - $running_testtype = ""; - - # Process the input file. - # - while ($c_inline = ) - { - chomp $c_inline; - @entry = split('\|', $c_inline); - - # Process TEST - # - if ($c_inline =~ /^ *#/ || $c_inline =~ /^[ \t]*$/) - { - # skip comments and blank lines. - # - next; - } - elsif ("$entry[0]" eq "TEST") - { - # Close the test if one is running. - # - &close_program($convert_file); - $running_testtype = ""; - - $valid_test = 0; - - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - # Start the test. - # - print "\nStarting test: $entry[1]\n"; - $convert_file = $entry[3]; - - if ("$entry[2]" =~ /[Qq][Uu][Ii][Cc][Kk][Ww][Oo][Rr][Dd]/) - { - $xml_extension = "sxw"; - $convert_to = "doc"; - - # Convert XML file to pdb format. - # - $rc = &convert_to_pdb("$xml_orig", $convert_file, $xml_extension , - $convert_to,"$pdb_orig"); - if ($rc != 0) - { - print "\nERROR, problem converting file $convert_file\n\n"; - } - else - { - # Start pose - # - $rc = &start_pose("$pose_exe", - "$pose_prc/Quickword.PRC,$pose_prc/DBExporter.prc,$pdb_orig/$convert_file.pdb", - "Quickword", $pose_timeout); - - if ($rc == 0) - { - &start_quickword(); - $valid_test = 1; - $running_testtype = "QUICKWORD"; - print "\npose launched, begin automated test sequence for QuickWord\n"; - } - else - { - &kill_pose(); - $running_testtype = ""; - } - } - } - elsif ("$entry[2]" =~ /[Mm][Ii][Nn][Ii][Cc][Aa][Ll][Cc]/) - { - $xml_extension = "sxc"; - $convert_to = "minicalc"; - - # Convert XML file to pdb format. - # - $rc = &convert_to_pdb("$xml_orig", $convert_file, - $xml_extension, $convert_to,"$pdb_orig"); - if ($rc != 0) - { - print "\nERROR, problem converting file $convert_file\n\n"; - } - else - { - # Get minicalc PDB file names, since an SXC file can - # be converted to more than one. - # - $pdb_files=""; - $i = 1; - while (-f "$pdb_orig/$convert_file-Sheet$i.pdb") - { - if ($i > 1) - { - $pdb_files .= ","; - } - $pdb_files .= "$pdb_orig/$convert_file-Sheet$i.pdb"; - $i++; - } - $number = $i-1; - - # Start pose - # - $rc = &start_pose("$pose_exe", - "$pose_prc/MiniCalc.prc,$pose_prc/DBExporter.prc,$pdb_files", - "MiniCalc", $pose_timeout); - - if ($rc == 0) - { - &start_minicalc(); - $valid_test = 1; - $running_testtype = "MINICALC"; - print "pose launched, begin automated test sequence for MiniCalc\n"; - } - else - { - &kill_pose(); - $running_testtype = ""; - } - } - } - else - { - print "\nERROR, invalid extension <$entry[2]>\n\n"; - } - } - } - - # Process DB_EXPORT - # - elsif ("$entry[0]" eq "DB_EXPORT") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &db_export($entry[1]); - } - } - - # Process TAP_APPLICATIONS - # - elsif ("$entry[0]" eq "TAP_APPLICATIONS") - { - if ($#entry != 0) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &tap_applications(0); - } - } - - # Process ENTER_STRING_AT_LOCATION - # - elsif ("$entry[0]" eq "ENTER_STRING_AT_LOCATION") - { - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &enter_string_at_location($entry[1], $entry[2], - $entry[3], $running_testtype); - } - } - - # Process TAP_PEN - # - elsif ("$entry[0]" eq "TAP_PEN") - { - if ($#entry != 2) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &pose_tap_pen($entry[1], $entry[2], 0); - } - } - - # Process TAP_BUTTON - # - elsif ("$entry[0]" eq "TAP_BUTTON") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &pose_tap_button($entry[1], 0); - } - } - - # Process SLEEP - # - elsif ("$entry[0]" eq "SLEEP") - { - if ($#entry != 1) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - else - { - &pose_sleep($entry[1]); - } - } - - # Process MINICALC_ENTER_CELL - # - elsif ("$entry[0]" eq "MINICALC_ENTER_CELL") - { - if ($#entry != 3) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &minicalc_enter_cell($entry[1], $entry[2], $entry[3]); - } - } - - # Process QUICKWORD_FIND_REPLACE - # - elsif ("$entry[0]" eq "QUICKWORD_FIND_REPLACE") - { - if ($#entry != 2) - { - print "\nERROR, $entry[0] invalid number of arguments\n\n"; - } - elsif ($valid_test == 0) - { - print "\nERROR, can not process $entry[0] for invalid test\n\n"; - } - else - { - &quickword_find_replace($entry[1], $entry[2]); - } - } - else - { - print "\nERROR, invalid line <$c_inline>\n"; - } - } - - &close_program($convert_file); -} - -# close_program -# convert_file - file to export -# -# closes the program running in pose and kills pose -# -sub close_program -{ - my $convert_file = $_[0]; - - if ($running_testtype eq "QUICKWORD") - { - print "QuickWord test completed.\n"; - &close_program_quickword($convert_file); - } - elsif ($running_testtype eq "MINICALC") - { - print "MiniCalc test completed.\n"; - &close_program_minicalc($convert_file, $number); - } -} - -# close_program_quickword -# convert_file - file to export -# -# Closes quickword and kills pose -# -sub close_program_quickword -{ - my $convert_file = $_[0]; - my $error_file = "./error.txt"; - my $rc; - - &close_quickword(); - - &db_export($convert_file); - print "Moving /tmp/$convert_file.pdb to $pdb_new\n"; - `mv /tmp/$convert_file.pdb $pdb_new`; - `chmod 666 $pdb_new/$convert_file.pdb`; - - &close_connection(1); - &kill_pose(); - print "\nFinishing test...\n"; - - # The path of where to put the error file should be specified - # in the properties file. Not sure if it is really necessary - # to put this out to a separate file. STDOUT should be fine. - # - $rc = &convert_to_xml($xml_new, $xml_orig, - "$pdb_new/$convert_file.pdb", "doc" , - "sxw", $convert_file, $merge_opt); - if ($rc != 0) - { - print "\nERROR, problem converting file $pdb_new/$convert_file.pdb\n\n"; - } -} - -# close_program_minicalc -# convert_file - file to export -# -# Closes minicalc and kills pose -# -sub close_program_minicalc -{ - my $convert_file = $_[0]; - my $num_files = $_[1]; - my $list=""; - my $rc; - - &close_minicalc(); - - for ($a=1; $a <= $num_files; $a++) - { - &db_export("$convert_file-Sheet$a"); - print "Moving /tmp/$convert_file-Sheet$a.pdb to $pdb_new/\n"; - `mv /tmp/$convert_file-Sheet$a.pdb $pdb_new/`; - `chmod 666 $pdb_new/$convert_file-Sheet$a.pdb`; - } - - &close_connection(1); - &kill_pose(); - print "\nFinishing test...\n"; - - for ($a=1; $a <= $num_files; $a++) - { - $list .="$pdb_new/$convert_file-Sheet$a.pdb " - } - - $rc = &convert_to_xml($xml_new, $xml_orig, "$list", - "minicalc", "sxc", $convert_file, $merge_opt); - if ($rc != 0) - { - print "\nERROR, problem converting file(s) $list\n\n"; - } - - &pose_sleep(5); -} - -# print_usage -# -# prints the usage for this program. -# -sub print_usage -{ - print "Usage : test_driver.pl\n"; - print "\t-test= \t\t: individual test case file to run\n"; - print "\t-list= \t\t: list of test case files\n"; - print "\t-env= \t\t: Properites like file defining env\n"; - print "\t-pose-exe= \t: path to pose executable\n"; - print "\t-pose-prc= \t: path to directory holding prc files\n"; - print "\t-pdb-orig= \t: directory to hold original pdb files\n"; - print "\t-pdb-new= \t: directory to hold new pdb files\n"; - print "\t-xml-orig= \t: directory to hold original office documents\n"; - print "\t-xml-new= \t: directory to hold new office documents\n"; - print "\t-merge \t: Invokes the merge option when converting\n"; - print "\t \t from PDB back to XML.\n"; -} - -# print_env -# -# Prints the current environment. -# -sub print_env -{ - print "\nUsing the following environment:\n"; - print "\tPOSE_EXE = $pose_exe\n"; - print "\tPOSE_PRC = $pose_prc\n"; - print "\tPDB_ORIG = $pdb_orig\n"; - print "\tPDB_NEW = $pdb_new\n"; - print "\tXML_ORIG = $xml_orig\n"; - print "\tXML_NEW = $xml_new\n"; -} - -# process_cmdline -# -# command line options come in as key/value pairs. -# read them and set the appropriate global variable -# -# Sets these globals: pose_exe, pose_prc, xml_orig, xml_new_dir, -# xml_new, pdb_orig_dir, pdb_orig, pdb_new_dir, pdb_new. -# -sub process_cmdline -{ - my $lu_str = &get_date_string(); - - foreach $i (@_) - { - my @arg= split('=', $i); - @arg[0] =~ tr/A-Z/a-z/; - - if (@arg[0] eq "-pose-exe") - { - $pose_exe=$arg[1]; - } - elsif (@arg[0] eq "-pose-prc") - { - $pose_prc=$arg[1]; - } - elsif (@arg[0] eq "-pdb-orig") - { - $pdb_orig_dir=$arg[1]; - $pdb_orig=$arg[1]; - $pdb_orig .= "/"; - $pdb_orig .= "$lu_str"; - } - elsif (@arg[0] eq "-pdb-new") - { - $pdb_new_dir=$arg[1]; - $pdb_new=$arg[1]; - $pdb_new .= "/"; - $pdb_new .= "$lu_str"; - } - elsif (@arg[0] eq "-xml-orig") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "-xml-new") - { - $xml_new_dir=$arg[1]; - $xml_new=$arg[1]; - $xml_new .= "/"; - $xml_new .= "$lu_str"; - } - elsif (@arg[0] eq "-env") - { - &set_env_from_props($arg[1]); - } - elsif (@arg[0] eq "-list") - { - $test_list = $arg[1]; - } - elsif (@arg[0] eq "-test") - { - $infile = $arg[1]; - } - elsif (@arg[0] eq "-merge") - { - $merge_opt = 1; - } - else - { - print_usage(); - die "Incorrect command line"; - } - } -} - -# set_env_from_props -# infile - property file -# -# Read the properties file, of the form key=value -# Valid key values are : -# POSE_EXE -# POSE_PRC -# POSE_PERL -# TEST_HOME -# PDB_ORIG -# PDB_NEW -# XML_ORIG -# XML_NEW -# If a value is found the appropriate global variable is set. -# -# Sets these globals: pose_exe, pose_prc, xml_orig, xml_new_dir, -# xml_new, pdb_orig_dir, pdb_orig, pdb_new_dir, pdb_new. -# -sub set_env_from_props -{ - my $infile = $_[0]; - my $lu_str = &get_date_string(); - - open(PROPSFILE, $infile) || die "Could not open properties file <$infile>"; - - while () - { - chomp $_; - my @arg = split('=', $_); - @arg[0] =~ tr/a-z/A-Z/; - my $len = @arg; - if ($len != 2) - { - die "Malformed property in $arg[0]"; - } - if (@arg[0] eq "POSE_EXE") - { - $pose_exe=$arg[1]; - } - elsif (@arg[0] eq "POSE_PRC") - { - $pose_prc=$arg[1]; - } - elsif (@arg[0] eq "PDB_ORIG") - { - $pdb_orig_dir=$arg[1]; - $pdb_orig=$arg[1]; - $pdb_orig .= "/"; - $pdb_orig .= "$lu_str"; - } - elsif (@arg[0] eq "PDB_NEW") - { - $pdb_new_dir=$arg[1]; - $pdb_new=$arg[1]; - $pdb_new .= "/"; - $pdb_new .= "$lu_str"; - } - elsif (@arg[0] eq "XML_ORIG") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "XML_NEW") - { - $xml_new_dir=$arg[1]; - $xml_new=$arg[1]; - $xml_new .= "/"; - $xml_new .= "$lu_str"; - } - - } - close PROPSFILE; -} - -# verify_env_options -# -# Verify that input options are correctly set. -# Assumes pose_exe, pose_prc, xml_orig, xml_new_dir, -# pdb_orig_dir, and pdb_new_dir are already set. -# -sub verify_env_options -{ - if (!-e "$pose_exe") - { - die "The pose executable cannot be found at $pose_exe."; - } - if (!-x $pose_exe) - { - die "$pose_exe exists but is not executable."; - } - - if (!-e "$pose_prc") - { - die "The PRC directory specified as $pose_prc does not exist."; - } - if (!-d "$pose_prc") - { - die "The PRC location specified as $pose_prc exists, but is not a directory."; - } - - if (!-e "$pdb_orig_dir") - { - die "The original PDB directory specified as $pdb_orig_dir does not exist."; - } - if (!-d "$pdb_orig_dir") - { - die "The original PDB directory specified as $pdb_orig_dir exists but is not a directory."; - } - - if (!-e "$pdb_new_dir") - { - die "The new PDB directory specified as $pdb_new_dir does not exist."; - } - if (!-d "$pdb_new_dir") - { - die "The new PDB directory specified as $pdb_new_dir exists but is not a directory."; - } - - if (!-e "$xml_orig") - { - die "The original Office document directory specified as $xml_orig does not exist."; - } - if (!-d "$xml_orig") - { - die "The original Office document location specified as $xml_orig exists but is not a directory."; - } - - if (!-e "$xml_new_dir") - { - die "The new Office document directory specified as $xml_new_dir does not exist."; - } - if (!-d "$xml_new_dir") - { - die "The new Office document location specified as $xml_new_dir exists but is not a directory."; - } -} - -# verify_prcs_exist -# prcfile - the PRC file to check -# -# Verifies that the specified PRC file exists. -# -sub verify_prcs_exist -{ - my $prcfile = $_[0]; - - if (!-e "$pose_prc/$prcfile") - { - die "The pose PRC directory ($pose_prc) is correct, but I can't find $prcfile there."; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/OfficeZip.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/OfficeZip.java deleted file mode 100644 index a3a5a0bdab0f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/OfficeZip.java +++ /dev/null @@ -1,241 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -import java.util.List; -import java.util.ListIterator; -import java.util.LinkedList; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; -import java.util.zip.ZipEntry; -import java.util.zip.CRC32; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.IOException; -import java.io.ByteArrayOutputStream; -import org.openoffice.xmerge.util.Debug; - -/** - * Class used by OfficeDocument to handle zip reading and writing, - * as well as storing zip entries. - * - * @author Herbie Ong - */ - -class OfficeZip { - - /** file name of the xml file in a zipped document. */ - private final static String XMLFILE = "content.xml"; - - private final static int BUFFERSIZE = 1024; - - private List entryList = null; - - private int contentIndex = -1; - - private String filename = null; - - private class Entry { - - ZipEntry zipEntry = null; - byte bytes[] = null; - } - - /** - * Constructor - * - * @param filename Full Path to Zip file to process - * - */ - public OfficeZip(String filename) { - this.filename = filename; - } - - - /** - * Read each zip entry in the given InputStream object - * and store in entryList both the ZipEntry object as well - * as the bits of each entry. Return the bytes for the - * entry of XMLFILE. - * - * @param is InputStream object to read from - * @return byte[] byte array of XML file - * @throws IOException if any I/O error occurs - */ - - byte[] read(InputStream is) throws IOException { - - ZipInputStream zis = new ZipInputStream(is); - ZipEntry ze = null; - int i = -1; - - entryList = new LinkedList(); - - while ((ze = zis.getNextEntry()) != null) { - - String name = ze.getName(); - - Entry entry = new Entry(); - entry.zipEntry = ze; - - Debug.log(Debug.TRACE, "reading entry: " + name); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - int len = 0; - byte bytes[] = new byte[BUFFERSIZE]; - - while ((len = zis.read(bytes)) > 0) { - baos.write(bytes, 0, len); - } - - entry.bytes = baos.toByteArray(); - - entryList.add(entry); - - i++; - - if (isContentXML(name)) { - contentIndex = i; - } - } - - if (contentIndex == -1) { - throw new IOException(XMLFILE + " not found."); - } - - Entry contentEntry = (Entry) entryList.get(contentIndex); - - return contentEntry.bytes; - } - - /** - * Write out the XMLFILE as a zip into the OutputStream object. - * - * If a zip inputstream was previously read, then use - * those zip contents to recreate the zip, except for XMLFILE, - * update it using the new content from xmlBytes. - * - * If there was no zip inputstream previously read, write - * XMLFILE out into the zip outputstream. - * - * @param os OutputStream object to write zip - * @param xmlBytes bytes of XMLFILE - * @throws IOException if any I/O errors occur. - */ - - void write(OutputStream os, byte xmlBytes[]) throws IOException { - - ZipOutputStream zos = new ZipOutputStream(os); - - // if read was not invoked previously, store the bytes directly. - if (contentIndex == -1) { - - Debug.log(Debug.TRACE, "Writing out " + XMLFILE + " into zip."); - - ZipEntry ze = new ZipEntry(XMLFILE); - ze.setSize(xmlBytes.length); - - CRC32 crc = new CRC32(); - crc.reset(); - crc.update(xmlBytes); - ze.setCrc(crc.getValue()); - - ze.setTime(System.currentTimeMillis()); - ze.setMethod(ZipEntry.DEFLATED); - - zos.putNextEntry(ze); - zos.write(xmlBytes); - - } else { - - saveEntries(zos, xmlBytes); - } - - zos.close(); - } - - /** - * Used by write method if there was a zip inputstream - * previously read. It would write out each ZipEntry of - * the previously read zip, except for XMLFILE, it would - * update it with new values and with the content from - * xmlBytes. - * - * @param os OutputStream object to write zip - * @param xmlBytes bytes of XMLFILE - * @throws ZipException if any zip I/O errors occur. - */ - - private void saveEntries(ZipOutputStream zos, byte xmlBytes[]) - throws IOException { - - Debug.log(Debug.TRACE, "Writing out the following entries into zip."); - - ListIterator iterator = entryList.listIterator(); - - while (iterator.hasNext()) { - - Entry entry = (Entry) iterator.next(); - ZipEntry ze = entry.zipEntry; - - String name = ze.getName(); - - Debug.log(Debug.TRACE, "... " + name); - - if (isContentXML(name)) { - - // set new values for this ZipEntry - - ZipEntry zipEntry = new ZipEntry(name); - - zipEntry.setMethod(ze.getMethod()); - zipEntry.setSize(xmlBytes.length); - - CRC32 crc = new CRC32(); - crc.reset(); - crc.update(xmlBytes); - zipEntry.setCrc(crc.getValue()); - - zipEntry.setTime(System.currentTimeMillis()); - - zos.putNextEntry(zipEntry); - zos.write(xmlBytes); - - } else { - - zos.putNextEntry(ze); - zos.write(entry.bytes); - } - } - } - - private boolean isContentXML(String name) { - - String lname = name.toLowerCase(); - return lname.equals(XMLFILE); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java deleted file mode 100644 index f70b4d0ac4e1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBDecoder.java +++ /dev/null @@ -1,135 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -import java.io.RandomAccessFile; -import java.io.IOException; - - -/** - *

    Provides functionality to decode a pdb formatted file into - * a PalmDB object given a file input stream

    - * - *

    Sample usage:

    - * - *

    - *     PDBDecoder decoder = new PDBDecoder("sample.pdb");
    - *     PalmDB palmDB = decoder.parse();
    - *  

    - * - *

    Refer to the - * - * Palm file format specification for details on the pdb format.

    - * - *

    This decoder has the following assumptions on the pdb file ...

    - *
      - *
    1. There is only one RecordList section in the pdb.

    2. - *
    3. The record indices in the RecordList are sorted in order, i.e. the - * first record index refers to record 0, and so forth.

    4. - *
    5. The raw records in the record section are sorted as well in order, - * i.e. first record comes ahead of second record, etc.

    6. - *
    - * - * Other decoders assume these as well. - * - * @author Herbie Ong - * @see PalmDB - * @see PDBHeader - * - * @author Herbie Ong - */ - -public final class PDBDecoder { - - /** - *

    This method decodes a pdb file into a PalmDB object.

    - * - *

    First, read in the header data using PDBHeader's - * read method

    . Next, read in the record list - * section. Store the record offsets for use when parsing the records. - * Based on these offsets, read in each record's bytes and store - * each in a Record object. Lastly, create a - * PalmDB object with the read in Records. - * - * @param fileName pdb file name - * @throws IOException if I/O error occurs - */ - - public PalmDB parse(String fileName) throws IOException { - - RandomAccessFile file = new RandomAccessFile(fileName, "r"); - - // read the pdb header - PDBHeader header = new PDBHeader(); - header.read(file); - - Record recArray[] = new Record[header.numRecords]; - - if (header.numRecords != 0) { - - // read in the record indices + offsets - - int recOffset[] = new int[header.numRecords]; - - for (int i = 0; i < header.numRecords; i++) { - - recOffset[i] = file.readInt(); - int attr = file.readInt(); // read in attribute. - } - - // read the records - - int len = 0; - byte[] bytes = null; - - int lastIndex = header.numRecords - 1; - - for (int i = 0; i < lastIndex; i++) { - - file.seek(recOffset[i]); - len = recOffset[i+1] - recOffset[i]; - bytes = new byte[len]; - file.readFully(bytes); - recArray[i] = new Record(bytes); - } - - // last record - file.seek(recOffset[lastIndex]); - len = (int) file.length() - recOffset[lastIndex]; - bytes = new byte[len]; - file.readFully(bytes); - recArray[lastIndex] = new Record(bytes); - } - - file.close(); - - // create PalmDB and return it - PalmDB pdb = new PalmDB(header.pdbName, recArray); - return pdb; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBHeader.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBHeader.java deleted file mode 100644 index 84d5be0e2959..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBHeader.java +++ /dev/null @@ -1,154 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -/** - *

    Class used only internally by PDBEncoder and - * PDBDecoder to store, read and write a pdb header.

    - * - *

    Note that fields are intended to be accessible only at the - * package level.

    - * - *

    Some of the fields are internally represented using a - * larger type since Java does not have unsigned types. - * Some are not since they are not relevant for now. - * The read and write methods should - * handle them properly.

    - * - * @author Herbie Ong - */ - -final class PDBHeader { - - /** name of the database. 32 bytes. */ - byte[] pdbName = null; - - /** flags for the database. Palm UInt16. Unsignedness should be irrelevant. */ - short attribute = 0; - - /** application-specific version for the database. Palm UInt16 */ - int version = 0; - - /** date created. Palm UInt32 */ - long creationDate = 0; - - /** date last modified. Palm UInt32 */ - long modificationDate = 0; - - /** date last backup. Palm UInt32 */ - long lastBackupDate = 0; - - /** - * incremented every time a record is - * added, deleted or modified. Palm UInt32. - */ - long modificationNumber = 0; - - /** optional field. Palm UInt32. Unsignedness should be irrelevant. */ - int appInfoID = 0; - - /** optional field. Palm UInt32. Unsignedness should be irrelevant. */ - int sortInfoID = 0; - - /** database type id. Palm UInt32. Unsignedness should be irrelevant. */ - int typeID = 0; - - /** database creator id. Palm UInt32. Unsignedness should be irrelevant. */ - int creatorID = 0; - - /** ??? */ - int uniqueIDSeed = 0; - - /** see numRecords. 4 bytes. */ - int nextRecordListID = 0; - - /** - * number of records stored in the database header. - * If all the record entries cannot fit in the header, - * then nextRecordList has the local ID of a - * recordList that contains the next set of records. - * Palm UInt16. - */ - int numRecords = 0; - - /** - * Read in the data for the pdb header. Need to - * preserve the unsigned value for some of the fields. - * - * @param di a DataInput object - * @throws IOException if I/O error occurs - */ - - public void read(DataInput in) throws IOException { - - pdbName = new byte[PalmDB.NAME_LENGTH]; - in.readFully(pdbName); - attribute = in.readShort(); - version = in.readUnsignedShort(); - creationDate = ((long) in.readInt()) & 0xffffffffL; - modificationDate = ((long) in.readInt()) & 0xffffffffL; - lastBackupDate = ((long) in.readInt()) & 0xffffffffL; - modificationNumber = ((long) in.readInt()) & 0xffffffffL; - appInfoID = in.readInt(); - sortInfoID = in.readInt(); - creatorID = in.readInt(); - typeID = in.readInt(); - uniqueIDSeed = in.readInt(); - nextRecordListID = in.readInt(); - numRecords = in.readUnsignedShort(); - } - - /** - * Write out pdb header data. - * - * @param out a DataOut object - * @throws IOException if I/O error occurs - */ - - public void write(DataOutput out) throws IOException { - - out.write(pdbName); - out.writeShort(attribute); - out.writeShort(version); - out.writeInt((int) creationDate); - out.writeInt((int) modificationDate); - out.writeInt((int) lastBackupDate); - out.writeInt((int) modificationNumber); - out.writeInt(appInfoID); - out.writeInt(sortInfoID); - out.writeInt(typeID); - out.writeInt(creatorID); - out.writeInt(uniqueIDSeed); - out.writeInt(nextRecordListID); - out.writeShort(numRecords); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBUtil.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBUtil.java deleted file mode 100644 index 593215b84626..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PDBUtil.java +++ /dev/null @@ -1,101 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -/** - * Contains common static methods and contants for use within the package. - * - * @author Herbie Ong - */ - -public final class PDBUtil { - - /** difference in seconds from Jan 01, 1904 to Jan 01, 1970 */ - final static long TIME_DIFF = 2082844800; - - /** encoding scheme used */ - final static String ENCODING = "8859_1"; - - /** size of a pdb header in bytes */ - final static int HEADER_SIZE = 78; - - /** - * This method converts a 4 letter string into the Palm ID integer. - * - * It is normally used to convert the Palm creator ID string into - * the integer version of it. Also use for data types, etc. - * - * @param s 4 character string. - * @return int Palm ID representing the string. - * @throws ArrayIndexOutOfBoundsException if string parameter - * contains less than 4 characters. - */ - - public static int intID(String s) { - - int id = -1; - int temp = 0; - - // grab the first char and put it in the high bits - // note that we only want 8 lower bits of it. - temp = (int) s.charAt(0); - id = temp << 24; - - // grab the second char and add it in. - temp = ((int) s.charAt(1)) & 0x00ff; - id += temp << 16; - - // grab the second char and add it in. - temp = ((int) s.charAt(2)) & 0x00ff; - id += temp << 8; - - // grab the last char and add it in - id += ((int) s.charAt(3)) & 0x00ff; - - return id; - } - - /** - * This method converts an integer into a String given - * the Palm ID format. - * - * @param i Palm id. - * @return String string representation. - */ - - public static String stringID(int i) { - - char ch[] = new char[4]; - ch[0] = (char) (i >>> 24); - ch[1] = (char) ((i >> 16) & 0x00ff); - ch[2] = (char) ((i >> 8) & 0x00ff); - ch[3] = (char) (i & 0x00ff); - - return new String(ch); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PalmDB.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PalmDB.java deleted file mode 100644 index 7a897627ff9d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/PalmDB.java +++ /dev/null @@ -1,350 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.DataOutputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -/** - *

    This class contains data for a single Palm database for use during - * a conversion process.

    - * - *

    It contains zero or more Record objects stored in an - * array. The index of the Record object in the array is - * the record id or number for that specific Record object. - * Note that this class does not check for maximum number of records - * allowable in an actual pdb.

    - * - *

    This class also contains the pdb name associated with the Palm database - * it represents. A pdb name consists of 32 bytes of a certain encoding - * (extended ASCII in this case).

    - * - *

    The non default constructors take in a name parameter which may not - * be the exact pdb name to be used. The name parameter in - * String or byte[] are converted to an exact - * NAME_LENGTH byte array. If the length of the name is less - * than NAME_LENGTH, it is padded with '\0' characters. If it - * is more, it gets truncated. The last character in the resulting byte - * array is always a '\0' character. The resulting byte array is stored in - * bName, and a corresponding String object sName - * that contains characters without the '\0' characters.

    - * - *

    The {@link #write write} method is called within the - * {@link zensync.util.palm.PalmDBSet#write PalmDBSet.write} method - * for writing out its data to the OutputStream object.

    - * - *

    The {@link #read read} method is called within the - * {@link zensync.util.palm.PalmDBSet#read PalmDBSet.read} method - * for reading in its data from the InputStream object.

    - * - * @author Akhil Arora, Herbie Ong - * @see PalmDBSet - * @see Record - */ - -public final class PalmDB { - - /** number of bytes for the name field in the pdb */ - public final static int NAME_LENGTH = 32; - - /** list of Record objects */ - private Record[] records; - - /** pdb name in bytes */ - private byte[] bName = null; - - /** pdb name in String */ - private String sName = null; - - - /** - * Default constructor for use after a read(). - */ - - public PalmDB() { - - records = new Record[0]; - } - - /** - * Constructor to create object with Record objects. - * recs.length can be zero for an empty pdb. - * - * @param name suggested pdb name in String - * @param recs array of Record objects - * @throws NullPointerException if recs is null - */ - - public PalmDB(String name, Record[] recs) - throws UnsupportedEncodingException { - - this(name.getBytes(PDBUtil.ENCODING), recs); - } - - /** - * Constructor to create object with Record objects. - * recs.length can be zero for an empty pdb. - * - * @param name suggested pdb name in byte array - * @param recs array of Record objects - * @throws NullPointerException if recs is null - */ - - public PalmDB(byte[] name, Record[] recs) - throws UnsupportedEncodingException { - - store(name); - - records = new Record[recs.length]; - System.arraycopy(recs, 0, records, 0, recs.length); - } - - /** - * This private method is mainly used by the constructors above. - * to store bytes into name and also create a String representation. - * and also by the read method. - * - * TODO: Note that this method assumes that the byte array parameter - * contains one character per byte, else it would truncate - * improperly. - * - * @param bytes pdb name in byte array - * @throws UnsupportedEncodingException if ENCODING is not supported - */ - - private void store(byte[] bytes) throws UnsupportedEncodingException { - - // note that this will initialize all bytes in name to 0. - bName = new byte[NAME_LENGTH]; - - // determine minimum length to copy over from bytes to bName. - // Note that the last byte in bName has to be '\0'. - - int lastIndex = NAME_LENGTH - 1; - - int len = (bytes.length < lastIndex)? bytes.length: lastIndex; - - int i; - - for (i = 0; i < len; i++) { - - if (bytes[i] == 0) { - break; - } - - bName[i] = bytes[i]; - } - - // set sName, no need to include the '\0' character. - sName = new String(bName, 0, i, PDBUtil.ENCODING); - } - - /** - * Return the number of records contained in this - * pdb PalmDB object. - * - * @return int number of Record objects - */ - - public int getRecordCount() { - - return records.length; - } - - /** - * Return the specific Record object associated - * with the record number. - * - * @param index record index number - * @return Record the Record object in the specified index - * @throws ArrayIndexOutOfBoundsException if index is out of bounds - */ - - public Record getRecord(int index) { - - return records[index]; - } - - /** - * Return the list of Record objects - * - * @return Record[] the list of Record objects - */ - - public Record[] getRecords() { - - return records; - } - - /** - * Return the PDBName associated with this object in String - * - * @return String pdb name in String - */ - - public String getPDBNameString() { - - return sName; - } - - /** - * Return the PDBName associated with this object - * in byte array of exact length of 32 bytes. - * - * @return byte[] pdb name in byte[] of length 32. - */ - - public byte[] getPDBNameBytes() { - - return bName; - } - - /** - * Write out the number of records followed by what - * will be written out by each Record object. - * - * @param os the stream to write the object to - * @throws IOException if any I/O error occurs - */ - - public void write(OutputStream os) throws IOException { - - DataOutputStream out = new DataOutputStream(os); - - // write out pdb name - out.write(bName); - - // write out 2 bytes for number of records - out.writeShort(records.length); - - // let each Record object write out its own info. - for (int i = 0; i < records.length; i++) - records[i].write(out); - } - - /** - * Read the necessary data to create a pdb from - * the input stream. - * - * @param is the stream to read data from in order - * to restore the object - * @throws IOException if any I/O error occurs - */ - - public void read(InputStream is) throws IOException { - - DataInputStream in = new DataInputStream(is); - - // read in the pdb name. - byte[] bytes = new byte[NAME_LENGTH]; - in.readFully(bytes); - store(bytes); - - // read in number of records - int nrec = in.readUnsignedShort(); - records = new Record[nrec]; - - // read in the Record infos - for (int i = 0; i < nrec; i++) { - - records[i] = new Record(); - records[i].read(in); - } - } - - /** - * Override equals method of Object. - * - * 2 PalmDB objects are equal if they contain the same information, - * i.e. pdb name and records. - * - * This is used primarily for testing purposes only for now. - * - * @param obj a PalmDB object to compare with - * @return boolean true if obj is equal to this, else false. - */ - - public boolean equals(Object obj) { - - boolean bool = false; - - if (obj instanceof PalmDB) { - - PalmDB pdb = (PalmDB) obj; - - checkLabel: { - - // compare sName - - if (!sName.equals(pdb.sName)) { - - break checkLabel; - } - - // compare bName - - if (bName.length != pdb.bName.length) { - - break checkLabel; - } - - for (int i = 0; i < bName.length; i++) { - - if (bName[i] != pdb.bName[i]) { - - break checkLabel; - } - } - - // compare each Record - - if (records.length != pdb.records.length) { - - break checkLabel; - } - - for (int i = 0; i < records.length; i++) { - - if (!records[i].equals(pdb.records[i])) { - - break checkLabel; - } - } - - // all checks done - bool = true; - } - } - - return bool; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/README b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/README deleted file mode 100644 index ad08e7592d0d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/README +++ /dev/null @@ -1,10 +0,0 @@ -Building the Comparator code -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To build the comparator code, the following is required in your classpath. - - xerces.jar - xmerge.jar - -To Build type - - javac *.java diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/Record.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/Record.java deleted file mode 100644 index 21478ac13ca4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/Record.java +++ /dev/null @@ -1,167 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.DataOutputStream; -import java.io.DataInputStream; -import java.io.IOException; - -/** - *

    Contains the raw bytes for a record in a pdb.

    - * - *

    Note that it is not associated with a record number or id.

    - * - * @author Akhil Arora, Herbie Ong - * @see PalmDB - */ - - -public final class Record { - - /** record bytes */ - private byte[] data; - - /** - * Default constructor. - */ - - public Record() { - - data = new byte[0]; - } - - /** - * Constructor to create a Record filled with bytes. - * Note that this does not check for 64k record sizes. - * User of this class has to check for that. - * - * @param d byte array contents for this object. - */ - - public Record(byte[] d) { - - data = new byte[d.length]; - System.arraycopy(d, 0, data, 0, d.length); - } - - /** - * This method returns the number of bytes in this object. - * - * @return int number of bytes in this object. - */ - - public int getSize() { - - return data.length; - } - - /** - * This method returns the contents of this object. - * - * @return byte[] contents in byte array - */ - - public byte[] getBytes() { - - return data; - } - - /** - * Write out the record length followed by the data - * in this Record object. - * - * @param out the stream to write the object to - * @throws IOException if any I/O error occurs - */ - - - public void write(OutputStream outs) throws IOException { - - DataOutputStream out = new DataOutputStream(outs); - out.writeShort(data.length); - out.write(data); - } - - /** - * Read the necessary data to create a pdb from - * the input stream. - * - * @param in the stream to read data from in order to - * restore the object - * @throws IOException if any I/O error occurs - */ - - public void read(InputStream ins) throws IOException { - - DataInputStream in = new DataInputStream(ins); - int len = in.readUnsignedShort(); - data = new byte[len]; - in.readFully(data); - } - - /** - * Override equals method of Object. - * - * 2 Record objects are equal if they contain the same bytes - * in the array. - * - * This is used primarily for testing purposes only for now. - * - * @param obj a Record object to compare with - * @return boolean true if obj is equal to this, else false. - */ - - public boolean equals(Object obj) { - - boolean bool = false; - - if (obj instanceof Record) { - - Record rec = (Record) obj; - - checkLabel: { - - if (rec.getSize() == data.length) { - - for (int i = 0; i < data.length; i++) { - - if (data[i] != rec.data[i]) { - break checkLabel; - } - } - - bool = true; - } - } - } - - return bool; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/SimplePdbCompare.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/SimplePdbCompare.java deleted file mode 100644 index 3ec50e424dad..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/SimplePdbCompare.java +++ /dev/null @@ -1,94 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -/* - * SimplePdbCompare.java - * - * Created on September 21, 2001, 10:23 AM - */ - -/** - * - * @author mh101528 - * @version - */ -public final class SimplePdbCompare { - - /** Creates new SimplePdbCompare */ - public SimplePdbCompare() { - } - - /** - * @param args the command line arguments - */ - public static void main (String args[]) - { - SimplePdbCompare comparator = new SimplePdbCompare(); - if (comparator.comparePDB(args[0], args[1])) - System.exit(2); - else - System.exit(3); - } - - public boolean comparePDB(String pdbname1, String pdbname2) - { - PalmDB pdb1=null, pdb2=null; - PDBDecoder decoder = new PDBDecoder(); - try - { - pdb1 = decoder.parse(pdbname1); - } - catch (Exception e) - { - System.out.println("Could not parse PDB " + pdbname1); - return false; - } - - try - { - pdb2 = decoder.parse(pdbname2); - } - catch (Exception e) - { - System.out.println("Could not parse PDB " + pdbname2); - return false; - } - - if (pdb1.equals(pdb2)) - { - //writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are equal"); - System.out.println("PDB " + pdbname1 + " and PDB " + pdbname2 + " are equal"); - return true; - } - else - { - //writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are not equal"); - System.out.println("PDB " + pdbname1 + " and PDB " + pdbname2 + " are not equal"); - return false; - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.java deleted file mode 100644 index 65a24b5c82a2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.java +++ /dev/null @@ -1,465 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -import java.io.FileWriter; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.BufferedInputStream; -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.FileNotFoundException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.io.PrintWriter; -import java.util.Vector; -import java.util.Properties; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Node; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -/** - * This class will diff 2 Xml files. - * - * @author Stephen Mak - */ - -public final class XmlDiff { - - private static final String PROPSFILE = "XmlDiff.properties"; - private static final String FILE1 = "XmlDiff.file1"; - private static final String FILE2 = "XmlDiff.file2"; - private static final String OUTPUT= "XmlDiff.output"; - private static final String IGNORE_TAGS= "XmlDiff.tags"; - - private Properties props_ = null; - private static PrintWriter writer_ = null; - private String[] tags_ = null; - private String file1_ = null; - private String file2_ = null; - - /** - * Constructor. Load the properties file. - */ - - public XmlDiff() throws IOException { - - Class c = this.getClass(); - InputStream is = c.getResourceAsStream(PROPSFILE); - BufferedInputStream bis = new BufferedInputStream(is); - props_ = new Properties(); - props_.load(bis); - bis.close(); - - String file1 = props_.getProperty(FILE1, ""); - String file2 = props_.getProperty(FILE2, ""); - String tagsString = props_.getProperty(IGNORE_TAGS, ""); - String output = props_.getProperty("debug.output", "System.out"); - setOutput(output); - tags_ = parseTags(tagsString); - } - - /** - * diff 2 xml, but overwrite the property file's file1/2 setting with - * the input argument - */ - public boolean diff(String file1, String file2) throws IOException { - file1_ = file1; - file2_ = file2; - return diff(); - } - - public boolean diff() throws IOException { - - boolean result = false; - - writer_.println("parsing "+ file1_ + "..."); - // parse the Xml file - Document doc1 = parseXml(file1_); - - writer_.println("parsing "+ file1_ + "..."); - Document doc2 = parseXml(file2_); - - if (doc1 != null && doc2 != null) { - writer_.println("diffing "+ file1_ + " & " + file2_ + "..."); - result = compareNode(doc1, doc2); - } - return result; - } - - private void diffLog(String errMsg, Node node1, Node node2) { - - String node1Str = ""; - String node2Str = ""; - - if (node1 != null) { - node1Str = "[Type]:" + nodeInfo(node1) + - " [Name]:" + node1.getNodeName(); - if (node1.getNodeValue() != null) - node1Str += " [Value]:" + node1.getNodeValue(); - } - - if (node2 != null) { - node2Str = "[Type]:" + nodeInfo(node2) + - " [Name]:" + node2.getNodeName(); - if (node2.getNodeValue() != null) - node2Str += " [Value]:" + node2.getNodeValue(); - } - - writer_.println(errMsg); - writer_.println(" Node1 - " + node1Str); - writer_.println(" Node2 - " + node2Str); - } - - private String nodeInfo(Node node) { - - String str = null; - switch (node.getNodeType()) { - - case Node.ELEMENT_NODE: - str = "ELEMENT"; - break; - case Node.ATTRIBUTE_NODE: - str = "ATTRIBUTE"; - break; - case Node.TEXT_NODE: - str = "TEXT"; - break; - case Node.CDATA_SECTION_NODE: - str = "CDATA_SECTION"; - break; - case Node.ENTITY_REFERENCE_NODE: - str = "ENTITY_REFERENCE"; - break; - case Node.ENTITY_NODE: - str = "ENTITY"; - break; - case Node.PROCESSING_INSTRUCTION_NODE: - str = "PROCESSING_INSTRUCTION"; - break; - case Node.COMMENT_NODE: - str = "COMMENT"; - break; - case Node.DOCUMENT_NODE: - str = "DOCUMENT"; - break; - case Node.DOCUMENT_TYPE_NODE: - str = "DOCUMENT_TYPE"; - break; - case Node.DOCUMENT_FRAGMENT_NODE: - str = "DOCUMENT_FRAGMENT"; - break; - case Node.NOTATION_NODE: - str = "NOTATION"; - break; - } - return str; - } - - private boolean ignoreTag(String nodeName) { - - - if (tags_ != null) { - for (int i = 0; i < tags_.length; i++) { - if (tags_[i].equals(nodeName)) - return true; - } - } - return false; - } - - // for future use if we want to compare attributes - private boolean attributesEqual(Node node1, Node node2) { - return true; - } - - private boolean compareNode(Node node1, Node node2) { - boolean equal = false; - - while (true) { - - if (node1 == null && node2 == null) { - equal = true; - break; - } else if (node1 == null || node2 == null) { - diffLog("DIFF: one of the node is null", node1, node2); - break; - } - - if (node1.getNodeType() != node2.getNodeType()) { - diffLog("DIFF: nodetype is different", node1, node2); - break; - } - - if (node1.getNodeName() == null && node2.getNodeName() == null) { - // empty - } else if (node1.getNodeName() == null || - node2.getNodeName() == null) { - diffLog("DIFF: one of the nodeName is null", node1, node2); - break; - } else if (!node1.getNodeName().equals(node2.getNodeName())) { - diffLog("DIFF: nodeName is different", node1, node2); - break; - } - - if (ignoreTag(node1.getNodeName())) { - diffLog("DIFF: Some tag(s) is ignored", node1, node2); - equal = true; - break; - } - - if (node1.getNodeValue() == null && node2.getNodeValue() == null) { - // empty - } else if (node1.getNodeValue() == null || - node2.getNodeValue() == null) { - diffLog("DIFF: one of the nodevalue is null", node1, node2); - break; - } else if (!node1.getNodeValue().equals(node2.getNodeValue())) { - diffLog("DIFF: nodeValue is different", node1, node2); - break; - } - - // try to compare attributes if necessary - if (!attributesEqual(node1, node2)) - break; - - NodeList node1Children = node1.getChildNodes(); - NodeList node2Children = node2.getChildNodes(); - - // number of children have to be the same - if (node1Children == null && node2Children == null) { - equal = true; - break; - } - - if (node1Children == null || node2Children == null) { - diffLog("DIFF: one node's children is null", node1, node2); - break; - } - - if (node1Children.getLength() != node2Children.getLength()) { - diffLog("DIFF: num of children is different", node1, node2); - break; - } - - // compare all the childrens - equal = true; - - for (int i = 0; i < node1Children.getLength(); i++) { - if (!compareNode(node1Children.item(i), - node2Children.item(i))) { - equal = false; - break; - } - } - break; - } - - return equal; - } - - private Document parseXml (String filename) throws IOException { - - Document w3cDocument = null; - - FileInputStream fis; - - try { - fis = new FileInputStream(filename); - } catch (FileNotFoundException ex) { - ex.printStackTrace(writer_); - writer_.println(ex.getMessage()); - return w3cDocument; - } - - /** factory for DocumentBuilder objects */ - DocumentBuilderFactory factory = null; - factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setValidating(false); - - /** DocumentBuilder object */ - DocumentBuilder builder = null; - - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException ex) { - ex.printStackTrace(writer_); - writer_.println(ex.getMessage()); - return null; - } - - - builder.setErrorHandler( - new org.xml.sax.ErrorHandler() { - // ignore fatal errors (an exception is guaranteed) - public void fatalError(SAXParseException e) - throws SAXException { - throw e; - } - - public void error(SAXParseException e) - throws SAXParseException { - // make sure validation error is thrown. - throw e; - } - - public void warning(SAXParseException e) - throws SAXParseException { - } - } - ); - - try { - w3cDocument = builder.parse(fis); - w3cDocument.getDocumentElement().normalize(); - } catch (SAXException ex) { - ex.printStackTrace(writer_); - writer_.println(ex.getMessage()); - return w3cDocument; - } - - return w3cDocument; - } - - private String [] parseTags(String tagsString) { - Vector tagsVector = new Vector(); - if (tagsString.length() == 0) - return null; - - int start = 0; - int end = 0; - // break the tag string into a vector of strings by words - for (end = tagsString.indexOf(" ", start); - end != -1 ; - start = end + 1, end = tagsString.indexOf(" ", start)) { - tagsVector.add(tagsString.substring(start,end)); - } - - tagsVector.add(tagsString.substring(start,tagsString.length())); - - // convert the vector to array - String[] tags= new String[tagsVector.size()]; - tagsVector.copyInto(tags); - - return tags; - } - - - /** - * Set the output to the specified argument. - * This method is only used internally to prevent - * invalid string parameter. - * - * @param str output specifier - */ - private static void setOutput(String str) { - - if (writer_ == null) { - - if (str.equals("System.out")) { - - setOutput(System.out); - - } else if (str.equals("System.err")) { - - setOutput(System.err); - - } else { - - try { - - setOutput(new FileWriter(str)); - - } catch (IOException e) { - - e.printStackTrace(System.err); - } - } - } - } - - /** - * Set the output to an OutputStream object. - * - * @param stream OutputStream object - */ - - private static void setOutput(OutputStream stream) { - - setOutput(new OutputStreamWriter(stream)); - } - - /** - * Set the Writer object to manage the output. - * - * @param w Writer object to write out - */ - - private static void setOutput(Writer w) { - - if (writer_ != null) { - - writer_.close(); - } - - writer_ = new PrintWriter(new BufferedWriter(w), true); - } - - public static void main(String args[]) throws IOException { - - if (args.length != 0 && args.length != 2) { - System.out.println("Usage: XmlDiff [ ]."); - return; - } - - XmlDiff xmldiff = new XmlDiff(); - - boolean same = false; - if (args.length == 2) { - same = xmldiff.diff(args[0], args[1]); - } else { - same = xmldiff.diff(); - } - - System.out.println("Diff result: " + same); - if (same) - { - System.out.println("XMLDIFFRESULT:PASSED"); - } else { - System.out.println("XMLDIFFRESULT:FAILED"); - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.properties b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.properties deleted file mode 100644 index 513add086214..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlDiff.properties +++ /dev/null @@ -1,13 +0,0 @@ -# -# $Id: XmlDiff.properties,v 1.1 2002-04-16 13:53:20 aidan Exp $ -# -# This properties file provides info for XmlDiff program -# XmlDiff.file1 is the first input XML file -# XmlDiff.file2 is the second input XML file -# XmlDiff.output is where the output (err/message) go -# XmlDiff.tags are what tagname should ignore (and the subtree under it) -# -XmlDiff.file1=test1.xml -XmlDiff.file2=test2.xml -XmlDiff.output=System.err -XmlDiff.tags= diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlWrapper.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlWrapper.java deleted file mode 100644 index 325e97262be0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlWrapper.java +++ /dev/null @@ -1,153 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -import java.io.IOException; -import java.io.File; -import java.util.zip.*; - -public class XmlWrapper -{ - public static void main(String args[]) throws IOException - { - System.out.println("args.length is " + args.length); - if (args.length < 2) { - System.out.println("Usage: java XmlWrapper [ ]."); - //return; - System.exit(-1); - - } - - XmlWrapper w = new XmlWrapper(); - File currdirfp = null; - try { - currdirfp = new File("."); - } catch (Exception fx) { - System.out.println("Could not get File instance for current directory \n"); - //return; - System.exit(-1); - } - - File f1 = null; - File f2 = null; - String fname1,fname2; - try { - f1 = File.createTempFile("xmlcomp", ".tmp", currdirfp); - f2 = File.createTempFile("xmlcomp", ".tmp", currdirfp); - } catch (Exception tx) { - System.out.println("Could not create TempFile "); - System.out.println("Exception: " + tx.toString()); - //return; - System.exit(-1); - } - - fname1 = f1.getAbsolutePath(); - fname2 = f2.getAbsolutePath(); - - // get content.xml file from zip file and copy it to temporary - // filename - XmlZipExtract xw1 = new XmlZipExtract(args[0]); - try { - xw1.getContentXml(fname1); - } catch (ZipException e) { - System.out.println("Exception: file is not a ZIP file: " + args[0]); - f1.delete(); - f2.delete(); - //return; - System.exit(-1); - } catch (Exception e) { - System.out.println("Exception: Could not extract XML from " + args[0]); - System.out.println("Exception: " + e.toString()); - f1.delete(); - f2.delete(); - //return; - System.exit(-1); - } - - // get content.xml file from zip file and copy it to temporary - // filename - XmlZipExtract xw2 = new XmlZipExtract(args[1]); - try { - xw2.getContentXml(fname2); - } catch (ZipException e) { - System.out.println("Exception: file is not a ZIP file: " + args[0]); - f1.delete(); - f2.delete(); - //return; - System.exit(-1); - } catch (Exception ex) { - System.out.println(ex.getMessage()); - System.out.println("Exception: Could not extract XML from " + args[1]); - System.out.println("Exception: " + ex.toString()); - f1.delete(); - f2.delete(); - //return; - System.exit(-1); - } - - boolean same = false; - - try - { - XmlDiff xmldiff = new XmlDiff(); - - if (args.length == 2) { - same = xmldiff.diff(fname1, fname2); - } else { - same = xmldiff.diff(); - } - } - catch (Exception ex) - { - System.out.println("XmlDiff failed"); - System.out.println("Exception: " + ex.toString()); - f1.delete(); - f2.delete(); - //return; - System.exit(-1); - } - - System.out.println("Diff result: " + same); - if (same) - { - System.out.println("XMLDIFFRESULT:PASSED"); - } else { - System.out.println("XMLDIFFRESULT:FAILED"); - } - - f1.delete(); - f2.delete(); - - if (same) - { - System.exit(2); - } - else - { - System.exit(3); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlZipExtract.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlZipExtract.java deleted file mode 100644 index 0676b6d01fbd..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/XmlZipExtract.java +++ /dev/null @@ -1,146 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - - -import java.io.IOException; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.RandomAccessFile; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.util.Enumeration; -import java.util.zip.ZipFile; -import java.util.zip.ZipEntry; - -public class XmlZipExtract -{ - - public static final String CONTENT = "Content.xml"; - public static final String OLDCONTENT = "content.xml"; - private static final int BUFFER_SIZE = 2048; - - - /** - * Full path of the Zip file to process. - */ - private String filename = null; - - - /** - * Constructor - * - * @param filename Full Path to Zip file to process - * - */ - public XmlZipExtract(String filename) { - this.filename = filename; - } - - /** - * Copies Content.xml from zip file onto the filename passed as - * an argument - * - * @param fname Full Path to file to which contents have to be copied - * - */ - public void getContentXml(String fname) throws IOException - { - try - { - getContentXmlInt(fname, XmlZipExtract.CONTENT); - } - catch (NullPointerException e1) - { - // If the new name of the content file failed, try - // the older name. - // - System.out.println(filename + " Content.xml does not exist, trying content.xml..."); - try - { - getContentXmlInt(fname, XmlZipExtract.OLDCONTENT); - } - catch (NullPointerException e2) - { - System.out.println(filename + " content.xml does not exist, trying content.xml..."); - throw e2; - } - } - } - - public void getContentXmlInt(String fname, String cname) throws IOException - { - byte b[] = getEntry(cname); - - RandomAccessFile raf=null; - raf = new RandomAccessFile(fname, "rw"); - raf.write(b); - raf.close(); - } - - /** - * Get the specified entry in the zip file as a stream. - * - * @param entryName The name of the entry in the zipfile to get. - * This should be one of the constants defined above. - * - * @return byte[] bits for entryName - * - * @throws IOException if something goes wrong - */ - public byte[] getEntry(String entryName) throws IOException - { - ZipFile zf = new ZipFile(filename); - ZipEntry ze = zf.getEntry(entryName); - byte[] bits = readStream(zf.getInputStream(ze)); - zf.close(); - return bits; - } - - - /** - * Read an InputStream into an array of bytes. - * - * @param is InputStream of data from Zip file - * - * @return an array of Bytes - */ - private byte[] readStream(InputStream is) throws IOException - { - BufferedInputStream bis = new BufferedInputStream(is); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte[] buffer = new byte[BUFFER_SIZE]; - int eof = 0; - while ((eof = bis.read(buffer, 0, buffer.length)) > 0) { - baos.write(buffer, 0, eof); - } - - return baos.toByteArray(); - } -} - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/comparator.pl b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/comparator.pl deleted file mode 100755 index 2711455ff8a5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/comparator.pl +++ /dev/null @@ -1,245 +0,0 @@ -#!/usr/bin/perl -#************************************************************************* -# -# 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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -$compare_home = "$ENV{QA_COMPARATOR_HOME}"; - -if ($ENV{'CLASSPATH'}) -{ - $classpath_val = "$compare_home:$ENV{'CLASSPATH'}"; -} -else -{ - $classpath_val = "$compare_home"; -} - -print "classpath is $classpath_val\n"; - -$list_file=""; -$orig_dir=""; -$new_dir=""; -$diff_type=""; - -####### BEGIN MAIN ############## -$cmdline_len = @ARGV; -if ($cmdline_len <= 0) -{ - print_usage(); - exit (0); -} - -process_cmdline(@ARGV); -print_env(); -open (LOGFILE, ">$logfile") || die "Cannot open log file $logfile"; -if ($test_list ne "") -{ - open (TESTLIST, $test_list) || die "Couldn't open diff list file $test_list"; - - while () - { - chomp $_; - process_diff(get_file_title($_)); - } -} -close TESTLIST; -close LOGFILE; - -####### END MAIN ############## - -sub process_diff -{ - $_[0] =~ tr/A-Z/a-z/; - - # chdir to the output directory so the temporary files created by - # the java programs are put in the right place. - # - chdir ($xml_new); - - if ($diff_type eq "xml") - { - # Ugly hack, probably a way to tell xerces directly that the dtd's - # are in $compare_home/dtd. - # - `cp $compare_home/dtd/* $xml_new`; - - $cmd = "java -classpath $classpath_val XmlWrapper $xml_orig/$_[0].sxw $xml_new/$_[0].sxw"; - $val = system($cmd)/256; - if ($val == 2) - { - print LOGFILE "$_[0]|TRUE|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - } - elsif($val == 3) - { - print LOGFILE "$_[0]|FALSE|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - } - else - { - print LOGFILE "$_[0]|ERROR|$xml_orig/$_[0].sxw|$xml_new/$_[0].sxw\n"; - } - } - elsif ($diff_type eq "pdb") - { - $cmd = "java -classpath $classpath_val SimplePdbCompare $pdb_orig/$_[0].pdb $pdb_new/$_[0].pdb\n"; - print "Executing: $cmd\n"; - $val = system($cmd)/256; - if ($val == 2) - { - print LOGFILE "$_[0]|TRUE|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - } - elsif($val == 3) - { - print LOGFILE "$_[0]|FALSE|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - } - else - { - print LOGFILE "$_[0]|ERROR|$pdb_orig/$_[0].pdb|$pdb_new/$_[0].pdb\n"; - } - } - else - { - die "Don't understand test type of $diff_type."; - } -} - -sub process_cmdline -{ - foreach $i (@_) - { - @arg= split('=', $i); - @arg[0] =~ tr/A-Z/a-z/; - - if (@arg[0] eq "-pdb-orig") - { - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "-pdb-new") - { - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "-xml-orig") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "-xml-new") - { - $xml_new=$arg[1]; - } - elsif (@arg[0] eq "-env") - { - set_env_from_props($arg[1]); - } - elsif (@arg[0] eq "-list") - { - $test_list = $arg[1]; - } - elsif (@arg[0] eq "-one") - { - $infile = $arg[1]; - } - elsif (@arg[0] eq "-type") - { - $diff_type = $arg[1]; - chomp $diff_type; - } - elsif (@arg[0] eq "-log") - { - $logfile = $arg[1]; - } - else - { - print_usage(); - die "Incorrect command line. Don't understand $i"; - } - } -} - -sub set_env_from_props -{ - open(PROPSFILE, $_[0]) || die "Could not open properties file"; - - while () - { - chomp $_; - @arg = split('=', $_); - @arg[0] =~ tr/a-z/A-Z/; - $len = @arg; - if ($len != 2) - { - die "Malformed property in $ARGV[0]"; - } - - if (@arg[0] eq "PDB_ORIG") - { - $pdb_orig=$arg[1]; - } - elsif (@arg[0] eq "PDB_NEW") - { - $pdb_new=$arg[1]; - } - elsif (@arg[0] eq "XML_ORIG") - { - $xml_orig=$arg[1]; - } - elsif (@arg[0] eq "XML_NEW") - { - $xml_new=$arg[1]; - } - - } - close PROPSFILE; -} - -sub print_usage -{ - print "Usage : compartor.pl - compare Office or pdb files\n"; - print "\t-one= :\t\t individual test case file to run\n"; - print "\t-list= :\t\t list of test case files\n"; - print "\t-env= :\t\t Properites like file defining env\n"; - print "\t-pdb-orig= :\t directory to hold original pdb files\n"; - print "\t-pdb-new= :\t directory to hold new pdb files\n"; - print "\t-xml-orig= :\t directory to hold original office documents\n"; - print "\t-xml-new= :\t directory to hold new office documents\n"; - print "\t-type= :\t Invokes the merge option when converting\n"; - print "\t-log= :\t Save results to logfile.\n"; -} - -sub print_env -{ - print "Using the following environment:\n"; - print "\tPDB_ORIG = $pdb_orig\n"; - print "\tPDB_NEW = $pdb_new\n"; - print "\tXML_ORIG = $xml_orig\n"; - print "\tXML_NEW = $xml_new\n\n"; -} - -sub get_file_title -{ - @paths = split('\/', $_[0]); - $len = @paths; - @names = split('\.', @paths[$len-1]); - return $names[0]; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/Blocklist.dtd b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/Blocklist.dtd deleted file mode 100644 index f7bb8eb321bb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/Blocklist.dtd +++ /dev/null @@ -1,34 +0,0 @@ - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/chart.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/chart.mod deleted file mode 100644 index 70cbe483ca9c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/chart.mod +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/datastyl.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/datastyl.mod deleted file mode 100644 index 11bc8a8e40b7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/datastyl.mod +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/drawing.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/drawing.mod deleted file mode 100644 index aa0a25822a45..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/drawing.mod +++ /dev/null @@ -1,837 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/dtypes.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/dtypes.mod deleted file mode 100644 index e4d640d012c8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/dtypes.mod +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/form.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/form.mod deleted file mode 100644 index 77a91206c451..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/form.mod +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/meta.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/meta.mod deleted file mode 100644 index 1ea845bcb02d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/meta.mod +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/nmspace.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/nmspace.mod deleted file mode 100644 index b7f6b64140a6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/nmspace.mod +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.dtd b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.dtd deleted file mode 100644 index 9bcd37edf325..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.dtd +++ /dev/null @@ -1,54 +0,0 @@ - - - - -%dtypes-mod; - -%nmspace-mod; - -%style-mod; - -%office-mod; - -%meta-mod; - -%script-mod; - -%drawing-mod; - -%text-mod; - -%table-mod; - -%chart-mod; - -%datastyl-mod; - -%form-mod; - -%settings-mod; diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.mod deleted file mode 100644 index f8e3775fa6da..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/office.mod +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/script.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/script.mod deleted file mode 100644 index 4d13ff74aebc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/script.mod +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/settings.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/settings.mod deleted file mode 100644 index bb9224237fa8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/settings.mod +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/style.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/style.mod deleted file mode 100644 index 21a3d9d17dd1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/style.mod +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/table.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/table.mod deleted file mode 100644 index 6d9f3cdb2a8f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/table.mod +++ /dev/null @@ -1,493 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/text.mod b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/text.mod deleted file mode 100644 index 792b0fdde55e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/dtd/text.mod +++ /dev/null @@ -1,1099 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java deleted file mode 100644 index 691bea14c9e8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/comparator/pdbcomparison.java +++ /dev/null @@ -1,542 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -import java.io.*; -import java.util.*; - -public class pdbcomparison -{ - - private String LOGTAG ="LOGFILE"; - private String OUTTAG ="OUTFILE"; - private String LISTTAG ="LISTFILE"; - private String PDBTAG1 ="PDBNAME1"; - private String PDBTAG2 ="PDBNAME2"; - - private String OUTFILE="pdbcomparison.out"; - private String LOGFILE="pdbcomparison.log"; - - private String pdbarr1[]; - private String pdbarr2[]; - - - /** - * Default Constructor - * - * @param - * @return - * - */ - public void pdbcomparison() - { - } - - /** - * Prints the command line arguments for this class - * - * @param - * - * @return void - * - */ - public void usage() - { - String str = new String(); - str += "********************************************************\n"; - str += " java pdbcomparison.java \n"; - str += " where propFile is name of Property File...\n"; - str += "********************************************************\n"; - - System.out.println(str); - - } - - /** - * This method, read the Property file and validates the - * entries in that file, and accordingly sets the log file - * output file and updates the array pdbarr1 and pdbarr2 with - * list of pdb's to be compared. - * - * @param propFile Property filename which list the log/outputfile/list/pdb - * names - * @return - * - */ - public void parsePropertyFile(String propFile) - { - Properties defaultProps = new Properties(); - - try { - FileInputStream in = new FileInputStream(propFile); - defaultProps.load(in); - in.close(); - } catch (IOException e) { - System.out.println("Could not open Property File " + propFile); - return; - } - - - String logFile = defaultProps.getProperty(this.LOGTAG); - String outFile = defaultProps.getProperty(this.OUTTAG); - String listFile = defaultProps.getProperty(this.LISTTAG); - String pdbname1 = defaultProps.getProperty(this.PDBTAG1); - String pdbname2 = defaultProps.getProperty(this.PDBTAG2); - - // validate all command line arguments - if ((listFile == null) && ((pdbname1 == null) || (pdbname2 == null))) - { - System.out.println("Missing listFile or missing pdb filenames in Property file " + propFile); - return; - } - - if (logFile == null || logFile.length() == 0) - logFile = this.LOGFILE; - - if (outFile == null || outFile.length() == 0) - outFile = this.LOGFILE; - - - // validate log and output files - if (! validateAndCreateFile(logFile)) return; - if (! validateAndCreateFile(outFile)) return; - LOGFILE = logFile; - OUTFILE = outFile; - - System.out.println("Output is written to log file... " + LOGFILE); - if (listFile != null) - { - if (! checkFile(listFile)) return; - populatePDBArray(listFile); - } else { - if (! checkFile(pdbname1)) return; - if (! checkFile(pdbname2)) return; - populatePDBArray(pdbname1, pdbname2); - } - } - - /** - * This method validates if the file passed exists. - * If it does , then it is moved to .bak and then creates a newFile. - * Also validates permissions to create. - * - * @param filename name of file to be created - * @return true, if file could be created - * false, if could not. - * - */ - private boolean validateAndCreateFile (String filename) - { - if (filename == null) return false; - - File f = null; - try { - f = new File(filename); - } catch (NullPointerException e) { - System.out.println("Could not create a File object for file " + filename); - return false; - } - - if (f.exists()) - { - String newFile = filename + ".bak"; - File newF=null; - try { - newF = new File(newFile); - } catch (Exception ex) { - System.out.println("Could not get File Object instance for " + newFile); - return false; - } - - if (newF.exists()) - { - try { - newF.delete(); - } catch ( SecurityException se) { - System.out.println("Could not get delete " + newFile); - return false; - } - } - - try { - if (! f.renameTo(newF)) - { - System.out.println("Could not rename " + filename + " to " + newFile ); - return false; - } - } catch (SecurityException s) { - System.out.println("SecurityException: " + s.toString()); - return false; - } catch (NullPointerException n) { - System.out.println("NullPointerException: " + n.toString()); - return false; - } - } else { - try { - if (! f.createNewFile()) - { - System.out.println("Could not create " + filename + " Check permissions.."); - return false; - } - } catch (IOException e) { - System.out.println("IOException: " + e.toString()); - return false; - } catch (SecurityException s) { - System.out.println("SecuriityException: " + s.toString() ); - return false; - } - - } - - return true; - - } - - /** - * This method validates if the file exists and is readable - * - * @param filename name of file to be created - * @return true, if file exists and is readable - * false, if not. - * - */ - private boolean checkFile(String filename) - { - if (filename == null) return false; - - File f = null; - try { - f = new File(filename); - } catch (NullPointerException e) { - System.out.println("Could not create a File object for file " + filename); - return false; - } - - if (! f.exists()) - { - System.out.println("File " + filename + " does not exist... "); - return false; - } - - if (! f.canRead()) - { - System.out.println("Cannot read file " + filename); - return false; - } - - return true; - - } - - /** - * This method populates the pdb arrays with the names of the pdbs to - * compare. Ths listFile lists a series of entries, wherein each - * line indicates the PDB names to be compared. - * = - * - * @param listFile name of the listfile - * @return - * - */ - private void populatePDBArray(String listFile) - { - // open ListFile and populate the PDB list to be compared - if (listFile != null) - { - Properties listProps = new Properties(); - try { - FileInputStream in = new FileInputStream(listFile); - listProps.load(in); - in.close(); - } catch (IOException ex) { - System.out.println("Could not open List File " + listFile); - return; - } - - pdbarr1 = new String[listProps.size()]; - pdbarr2 = new String[listProps.size()]; - Enumeration e = listProps.keys(); - int j=0; - while (e.hasMoreElements()) - { - pdbarr1[j] = (String)e.nextElement(); - pdbarr2[j] = listProps.getProperty(pdbarr1[j]); - j++; - } - - } - } - - /** - * This method populates the pdb arrays with the names of the pdbs to - * compare. - * - * @param pdbname1 Name of 2nd PDB file to be compared - * @param pdbname2 Name of 2nd PDB file to be compared - * @return - * - */ - private void populatePDBArray(String pdbname1, String pdbname2) - { - if (pdbname1 == null) return; - if (pdbname2 == null) return; - - if ((pdbname1 != null) && (pdbname2 != null)) - { - pdbarr1 = new String[1]; - pdbarr2 = new String[1]; - - pdbarr1[0] = pdbname1; - pdbarr2[0] = pdbname2; - } - } - - /** - * This method populates the pdb arrays with the names of the pdbs to - * compare. - * - * @param arrayno Array number which corresponds to the pdb array - * containing list of pdbs - * If 1 then send pdbarr1, if 2 send pdbarr2 else null - * - * @return PDB string array containing list of PDB's - * - */ - private String[] getPDBArray(int arrayno) - { - if (arrayno == 1) return pdbarr1; - if (arrayno == 2) return pdbarr2; - - return null; - } - - /** - * This method comares 2 PDB's and returns true if comparison is equal. - * It uses the PDB Decoder class to decode to a PDB structure and then - * does record comparison - * - * @param pdbname1 Name of one PDB file to be compared - * @param pdbname2 Name of other PDB file to be compared - * - * @return returns true if both PDB's are equal else returns false - * - */ - private boolean comparePDB(String pdbname1, String pdbname2) - { - PalmDB pdb1=null, pdb2=null; - PDBDecoder decoder = new PDBDecoder(); - try { - pdb1 = decoder.parse(pdbname1); - } catch (Exception e) { - System.out.println("Could not parse PDB " + pdbname1); - return false; - } - - try { - pdb2 = decoder.parse(pdbname2); - } catch (Exception e) { - System.out.println("Could not parse PDB " + pdbname2); - return false; - } - - if (pdb1.equals(pdb2)) { - writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are equal"); - - return true; - } else { - writeToLog("PDB " + pdbname1 + " and PDB " + pdbname2 + " are not equal"); - return false; - } - } - - - - /** - * Write message to LOGFILE - * - * @param msg Message to be written to log file - * @return - * - */ - private void writeToLog(String msg) - { - if (msg == null) return; - - // Get Output Stream from Log file - RandomAccessFile raf=null; - try { - raf = new RandomAccessFile(LOGFILE, "rw"); - } catch (Exception e) { - System.out.println ("Could not open file " + LOGFILE); - return; - } - - try { - long len = raf.length(); - raf.seek(len); - raf.write(msg.getBytes()); - raf.write("\n".getBytes()); - } catch (IOException e) { - System.out.println("ERROR: Could not write to File " + LOGFILE); - return; - } - } - - /** - * Write status of comparison to OUTFILE - * - * @param status Indicates whether comparsion of PDB's PASSED or FAILED - * @param pdbname1 file name of pdb which was compared. - * @param pdbname2 file name of pdb which was compared. - * - * @return - * - */ - private void writeToOutputFile(String status, String pdbname1, String pdbname2) - { - if (status == null) return; - if (pdbname1 == null) return; - if (pdbname2 == null) return; - - String msg = pdbname1 + "=" + pdbname2 + ":" + status; - - // Get Output Stream from Log file - RandomAccessFile raf=null; - try { - raf = new RandomAccessFile(OUTFILE, "rw"); - } catch (Exception e) { - System.out.println ("Could not open file " + OUTFILE); - return; - } - - try { - long len = raf.length(); - raf.seek(len); - - raf.write(msg.getBytes()); - raf.write("\n".getBytes()); - } catch (IOException e) { - System.out.println("ERROR: Could not write to File " + OUTFILE); - return; - } - - try { - raf.close(); - } catch (Exception e) { - System.out.println("ERROR: Could not close File " + OUTFILE); - return; - } - - } - - - - /** - * Main starting block of execution - * - * @param command line args captured in an array of Strings - * @return - * - */ - public static void main(String args[]) - { - - Date startTime = new Date(); - pdbcomparison pdbcmp = new pdbcomparison(); - int nargs = args.length; - int status=0; - - if (nargs != 1) - { - System.out.println("Incorrect no. of arguments passed..."); - pdbcmp.usage(); - System.exit(-1); - - } - - String propFile = args[0]; - - File f=null; - try { - f = new File(propFile); - } catch (Exception e) { - System.out.println("Exception: Could not open file " + propFile); - System.exit(-1); - } - - if (! f.canRead()) { - System.out.println("Exception: " + propFile + " is not a file "); - System.exit(-1); - } - - if (! f.canRead()) { - System.out.println("Exception: Cannot open file for reading. Please check permissions "); - System.exit(-1); - } - - // parse Property file - pdbcmp.parsePropertyFile(propFile); - - String pdbarr1[] = pdbcmp.getPDBArray(1); - String pdbarr2[] = pdbcmp.getPDBArray(2); - if ( (pdbarr1 == null) || - (pdbarr2 == null) || - (pdbarr1.length == 0) || - (pdbarr1.length == 0)) - { - System.out.println("pdbArray is empty. No PDBS to compare... \n"); - System.exit(-1); - } - - - pdbcmp.writeToLog("************** Start *****************"); - pdbcmp.writeToLog("PDB Comparison: start time " + startTime); - for (int i=0; i -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -#################################################################### -# File Name: converterlib.pm -# Version : 1.0 -# Project : XMerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# This script enters text at position x,y on screen. -# -# Parameter -# x-coordinate -# y-coordinate -# Text to enter -# -########################################################################## - -use EmRPC; # EmRPC::OpenConnection, CloseConnection -use EmFunctions; -use EmUtils; - -# Set global_debug flag -# -$global_debug = $ENV{'ZENDEBUG'}; -#$em_script_home = "/export/home/test/qadir/bin"; -$em_script_home = $ENV{'EM_SCRIPT_HOME'}; -#$qa_script_home = "/export/home/test/qadir/qa-new/bin"; - $qa_script_home = $ENV{'QA_SCRIPT_HOME'}; -# -# CONVERT FUNCTIONS -# - -# convert_to_pdb -# directory - directory containing the xml-orig and pdb-orig -# subdirectories. -# file - file to convert -# extension - extension of file to convert (sxw or sxc) -# convert_to - what PDB format to convert into. -# -# Returns 0 if success, -1 otherwise. -# -# Converts file from XML to PDB -# -sub convert_to_pdb -{ - my $directory = $_[0]; - my $file = $_[1]; - my $extension = $_[2]; - my $convert_to = $_[3]; - my $pdb_directory = $_[4]; - my $rc = 0; - my $xmlfile = "$directory/$file.$extension"; - my $pdbdir = "$pdb_directory"; - - &enter_func("convert_to_pdb"); - - if (! -f "$xmlfile") - { - print "\nERROR, file $xmlfile does not exist\n"; - $rc = -1; - } - if (! -d "$pdbdir") - { - print "\nERROR, directory $directory/pdb-orig does not exist\n"; - $rc = -1; - } - - if ($rc != -1) - { - if ("$convert_to" eq "application/x-minicalc") - { - # Move all files over. - # - my $i = 1; - - while (-f "$pdbdir/$file-Sheet$i.pdb") - { - my $pdbfile = "$pdbdir/$file-Sheet$i.pdb"; - - print "\n"; - - if (-f "$pdbfile.old") - { - print "Removing $pdbfile.old\n"; - `/bin/rm -f $pdbfile.old`; - } - - print "Moving $pdbfile file to $pdbfile.old\n"; - `mv "$pdbfile" "$pdbfile.old"`; - - $i++; - } - } - else - { - if (-f "$pdbdir/$file.pdb") - { - print "\n"; - - if (-f "$pdbdir/$file.pdb.old") - { - print "Removing $pdbdir/$file.pdb.old\n"; - `/bin/rm -f $pdbdir/$file.pdb.old`; - } - - print "Moving $pdbdir/$file.pdb file to $pdbdir/$file.pdb.old\n"; - `mv "$pdbdir/$file.pdb" "$pdbdir/$file.pdb.old"` - } - } - - &start_rd($extension, $convert_to, $xmlfile, ""); - - if ("$convert_to" eq "application/x-minicalc") - { - # Must handle minicalc separately since it can - # convert to multiple files with this file name - # convention. - # - print "Moving $file-Sheet*.pdb files to $pdbdir\n"; - `mv $file-Sheet*.pdb $pdbdir`; - `chmod 666 $pdbdir/$file-*.pdb`; - } - else - { - print "Moving $file.pdb file to $pdbdir\n"; - `mv $file.pdb $pdbdir`; - `chmod 666 $pdbdir/$file.pdb`; - } - } - - &leave_func("convert_to_pdb"); - - return $rc; -} - -# convert_to_xml -# xmldir - directory to contain the xml output. -# xmlorigdir - directory to contain the xml input (used for merge) -# pdbfile - file to convert -# convert_from - what PDB format to convert from. -# extension - extension of file to convert (sxw or sxc) -# output - output filename to create -# merge_opt - 1 if convert and merge, 0 if convert only -# -# Returns 0 if success, -1 otherwise. -# -# Converts file from PDB to XML -# -sub convert_to_xml -{ - my $xmldir = $_[0]; - my $xmlorigdir = $_[1]; - my $pdbfile = $_[2]; - my $convert_from = $_[3]; - my $extension = $_[4]; - my $output = $_[5]; - my $merge_opt = $_[6]; - my $rc = 0; - - &enter_func("convert_to_xml"); - - my @args = split(/ /,$pdbfile); - - for ($i=0;$i <= $#args; $i++) - { - if (! -f "@args[$i]") - { - print "\nERROR, file $pdbfile does not exist\n"; - $rc = -1; - } - } - - if (! -f "$xmlorigdir/$output.$extension") - { - print "\nERROR, file $xmlorigdir/$output.$extension does not exist\n"; - $rc = -1; - } - if (! -d "$xmldir") - { - print "\nERROR, directory $xmlorigdir does not exist\n"; - $rc = -1; - } - if (! -d "$xmlorigdir") - { - print "\nERROR, directory $xmldir does not exist\n"; - $rc = -1; - } - - if ($rc != -1) - { - if ($merge_opt == 1) - { - print "Copying <$xmlorigdir/$output.$extension> to <$xmldir>\n"; - `cp $xmlorigdir/$output.$extension $xmldir/`; - - my $check_stamp = (stat("$xmldir/$output.$extension"))[9]; - - &start_rd($convert_from, $extension, $pdbfile, - "$xmldir/$output.$extension"); - - - # No need to move the file to the $xmldir since the merge - # argument specifies the output file. - - my $check_stamp_update = (stat("$xmldir/$output.$extension"))[9]; - if ($check_stamp eq $check_stamp_update) - { - print "\nERROR, Problem while merging <$xmldir/$output.$extension>\n"; - `mv $xmldir/$output.$extension $xmldir/$output.$extension.err`; - } - } - else - { - &start_rd($convert_from, $extension, $pdbfile, ""); - - print "Moving $output.$extension to $xmldir\n"; - `mv $output.$extension $xmldir`; - `chmod 666 $xmldir/$output.$extension`; - } - } - - &leave_func("convert_to_xml"); - - return $rc; -} - -# start_rd -# from - format to convert from -# to - format to convert to -# file - file to convert -# merge - merge filename ("" indicates convert-only with no merge) -# -# converts file from/to the specified formats. -# -sub start_rd -{ - my $from = $_[0]; - my $to = $_[1]; - my $file = $_[2]; - my $merge = $_[3]; - - print "\nConverting from $from to $to.\n"; - if ($global_debug) - { - &print_debug ("rd command is:\n"); - } - - if ($merge eq "") - { - &print_debug (" $em_script_home/rd -from $from -to $to $file\n"); - print "\nConverting from $from to $to with no merge.\n"; - `$em_script_home/rd -from $from -to $to $file`; - } - else - { - &print_debug (" $em_script_home/rd -from $from -to $to -merge $merge $file\n"); - print "\nConverting from $from to $to with merge.\n"; - `$em_script_home/rd -from $from -to $to -merge $merge $file`; - } - - print "Done converting.\n\n"; -} - -# -# POSE INTERACTION FUNCTIONS -# - -# open_connection -# display_debug - debug will be displayed if not 0 -# -# Opens the connection to pose. -# -sub open_connection -{ - my $display_debug = $_[0]; - my $rc; - - EmRPC::OpenConnection(6415, "localhost"); - - if ($display_debug && $global_debug) - { - print "\nPose Connection Opened\n"; - } -} - -# close_connection -# display_debug - debug will be displayed if not 0 -# -# Closes the connection to pose. -# -sub close_connection -{ - my $display_debug = $_[0]; - - EmRPC::CloseConnection(); - - if ($display_debug && $global_debug) - { - print "\nPose Connection Closed\n"; - } -} - -# start_pose -# pose_exe - name of pose executable. -# apps_load - The PRC files to load into pose, can be a comma -# separated list. -# run_prog - Program to run at startup. -# timeout - Timeout value to use when starting pose. -# -# Starts the Palm OS Emulator, loads PRC files, and starts -# a program. -# -sub start_pose -{ - my $pose_exe = $_[0]; - my $sessionfile = $ENV{'EM_SESSION_FILE'}; - my $romfile = $ENV{'EM_ROM_FILE'}; - my $apps_load = $_[1]; - my $run_prog = $_[2]; - my $timeout = $_[3]; - my $stay_in_loop = 1; - my $address; - my $title; - my $form; - my $label_id; - my $num_objects; - my $i; - my $ii; - my $rc = 1; - - my $pose_cmd = "$pose_exe "; - $pose_cmd .= " -psf $sessionfile "; - $pose_cmd .= "-load_apps $apps_load "; - $pose_cmd .= "-run_app $run_prog"; - -# It is more effective to use the -psf argument to -# set these values. -# -# $pose_cmd .= -rom $romfile "; -# $pose_cmd .= "-ram_size 8192 "; -# $pose_cmd .= "-device PalmVx "; - - &enter_func("start_pose"); - - if ($global_debug) - { - &print_debug("\n"); - &print_debug("pose command is:\n"); - &print_debug(" $pose_cmd\n"); - } - - print "\nLaunching pose...\n"; - system ("$pose_cmd &"); - - # Give time for pose to get started... - # - for ($i=0; $i < $timeout; $i++) - { - $tmp = $i + 1; - print "$tmp\n"; - - # Do not use pose_sleep here - # - sleep(1); - } - - # Verify pose started successfully, and fail otherwise... - # - $rc = &verify_pose(5); - if ($rc != 0) - { - $stay_in_loop = 0; - } - else - { - # Sleep before opening the connection again, after testing in - # the verify_pose function. - # - pose_sleep(2); - &open_connection(1); - print "\nChecking if the appropriate window is on screen...\n"; - } - - # Stop looping when the specified window has started. - # - for ($i=0; $i < $timeout && $stay_in_loop == 1; $i++) - { - $form = FrmGetActiveForm(); - $num_objects = FrmGetNumberOfObjects($form); - - for $ii (0..$num_objects - 1) - { - my ($object_type) = FrmGetObjectType($form, $ii); - - if ("$run_prog" eq "Quickword") - { - if ($object_type == frmTitleObj) - { - ($address, $title) = FrmGetTitle($form,); - - # Display count and title. - # - $tmp = $i + 1; - print "$tmp - title is $title\n"; - - if ("$title" eq "Quickword") - { - $stay_in_loop = 0; - $rc = 0; - last; - } - } - } - elsif ("$run_prog" eq "MiniCalc") - { - if ($object_type == frmLabelObj) - { - $label_id = FrmGetObjectId ($form, $ii); - ($address, $label) = FrmGetLabel($form, $label_id); - - # Display count and label. - # - $tmp = $i + 1; - print "$tmp - label is $label\n"; - if ("$label" =~ "Solutions In Hand") - { - $stay_in_loop = 0; - $rc = 0; - last; - } - } - } - } - - # Do not use pose_sleep here - # - sleep(1); - } - - # Do not use pose_sleep here - # - sleep(1); - - &leave_func("start_pose"); - return($rc); -} - -# kill_pose -# -# Kills all pose processes -# -sub kill_pose -{ - if ($global_debug) - { - print "Stopping pose process...\n"; - } - - `pkill pose`; -} - -# verify_pose -# timeout - timeout to wait for pose -# -# Tries to do a connect/close to Pose to see if -# it is working okay. -# -sub verify_pose -{ - my $timeout = $_[0]; - my $rc = 0; - - $rc = system("$em_script_home/verify_sane.pl $timeout"); - return $rc; -} - -# db_export -# dbname - Name of database to export -# -# Exports a palmdb file to /tmp -# -sub db_export -{ - my $dbname = $_[0]; - - &enter_func("db_export"); - print "\nExporting PDB file <$dbname> from pose\n"; - &pose_tap_pen(22, 20, 2); - &pose_tap_pen (15, 85, 2); - &enter_string($dbname, 1); - &pose_tap_pen (15, 126, 1); - &enter_string("/tmp/", 1); - &pose_tap_button("OK", 4); - &tap_applications(3); - print "Export of PDB file <$dbname> completed.\n"; - &leave_func("db_export"); -} - -# -# QUICKWORD SPECIFIC -# - -# start_quickword -# -# Assuming pose was launched with the -run_app flag to launch -# QuickWord on startup, this starts up QuickWord with the first -# file in the list and turns off write-protect. -# -sub start_quickword -{ - &enter_func("start_quickword"); - - # This will open the first file in the list. - # Assuming this will always be the case. - # - &pose_tap_pen(20, 18, 1); - &quickword_press_write_protect(); - - &leave_func("start_quickword"); -} - -# quickword_press_write_protect -# -# Useful function for pressing the write protect button -# to allow changes to be made. -# -sub quickword_press_write_protect -{ - &enter_func("quickword_press_write_protect"); - - my ($form) = FrmGetActiveForm(); - my ($num_objects) = FrmGetNumberOfObjects($form); - - for $ii (0..$num_objects - 1) - { - my ($object_type) = FrmGetObjectType($form, $ii); - - # The write protect button is the only frmGadgetObj - # on the QuickWord screen. - # - if ($object_type == frmGadgetObj) - { - my (%bounds) = FrmGetObjectBounds($form, $ii); - - if ($global_debug) - { - &print_debug(" Found QuickWord WriteProtect button\n"); - &print_debug(" left = $bounds{left}\n"); - &print_debug(" right = $bounds{right}\n"); - &print_debug(" top = $bounds{top}\n"); - &print_debug(" bottom = $bounds{bottom}\n"); - } - - # For some reason, the tapping of the write-protect button - # doesn't work unless you tap somewhere else first. - # - &pose_sleep(1); - &pose_tap_pen($bounds{left} + 2, $bounds{top} + 2, 1); - last; - } - } - - &leave_func("quickword_press_write_protect"); -} - -# quickword_find_replace -# from_string - string to replace -# to_string - string to replace with -# -# Uses QuickWord's find/replace utility to replace -# one string with another. -# -sub quickword_find_replace -{ - my $from_string = $_[0]; - my $to_string = $_[1]; - - &enter_func("quickword_find_replace"); - - # Move cursor to beginning... - # - &quickword_tap_at_top(1); - - # Move to "Find" field: - # Triple-click to highlight all the text in the field, - # so it is removed when the string is entered... - # - &pose_tap_button("Find", 2); - &pose_tap_pen(50, 100, 0); - &pose_tap_pen(50, 100, 0); - &pose_tap_pen(50, 100, 1); - - # sleep for 2 seconds to avoid double click after moving - # to replace field - # - &enter_string("$from_string", 2); - - # Move to "Replace" field: - # Triple-click to highlight all the text in the field, - # so it is removed when the string is entered... - # - &pose_tap_pen(50, 120, 0); - &pose_tap_pen(50, 120, 0); - &pose_tap_pen(50, 120, 1); - &enter_string("$to_string", 1); - - # Do find, then replace... - # - &pose_tap_button("Find", 1); - &pose_tap_button("Replace", 1); - &pose_tap_button("Cancel", 1); - - &leave_func("quickword_find_replace"); -} - -# quickword_tap_at_top -# secs - seconds to sleep after the tap -# -# Tap's at the top of the QuickWord document. -# -sub quickword_tap_at_top -{ - my $secs = $_[0]; - - &enter_func("quickword_tap_at_top"); - - # Sleep for a second to avoid any double-clicks - # from happening. - # - &pose_sleep(1); - - &pose_tap_pen(0, 15, $secs); - &leave_func("quickword_tap_at_top"); -} - -# Saves file and returns to the Application list. -# -sub close_quickword -{ - &enter_func("close_quickword"); - - &pose_tap_button("Done", 2); - &tap_applications(2); - - &leave_func("close_quickword"); -} - -# -# MINICALC SPECIFIC -# - -# start_minicalc -# -# Assuming pose was launched with the -run_app flag to launch -# Minicalc on startup, this starts up Minicalc with the first -# file in the list. -# -sub start_minicalc -{ - &enter_func("start_minicalc"); - &pose_tap_button("OK", 1); - - # For now just tap on the first spreadsheet. Add support - # for multiple sheets later. - # - &pose_tap_pen(10, 40, 5); - - &leave_func("start_minicalc"); -} - -# close_minicalc -# -# Returns to the Application list (no need to save). -# -sub close_minicalc -{ - &enter_func("close_minicalc"); - &tap_applications(3); - &leave_func("close_minicalc"); -} - -# minicalc_enter_cell -# row - row to enter value, starting with 1 -# col - column to enter value, starting with 1 -# val - value to enter -# -# Only valid for minicalc. -# -# This only works if the val passed in has a '\n' at the -# end. -# -sub minicalc_enter_cell -{ - my $row = $_[0]; - my $col = $_[1]; - my $val = $_[2]; - my $i; - my $j; - - &enter_func("minicalc_enter_cell"); - - if ($global_debug) - { - &print_debug (" tapping to cell row=<$row> col=<$col>\n"); - } - - # Tap pen on home button to start with row=1, col=A - # at top left. - # - pose_tap_pen(1, 1, 3); - - # Now the cell should be in the top-left corner, - # so click there. However we must first click - # in another cell or pose doesn't acknowledge the - # click. - # - # pose_tap_pen(120, 95, 1); - # pose_tap_pen(21, 9, 1); - - # Click the down button once for each row. - # Must pause 3 seconds each time, otherwise MiniCalc - # will not keep up. - # - for ($i=0; $i < $row; $i++) - { - if ($global_debug) - { - &print_debug (" Typing carrage return to go down\n"); - } - enter_string("\n", 1); - } - - # Click the right button once for each col. - # Must pause 3 seconds each time, otherwise MiniCalc - # will not keep up. - # - for ($i=0; $i < $col; $i++) - { - if ($global_debug) - { - &print_debug (" Typing tab to go right\n"); - } - - enter_string("\t", 1); - } - - # enter string - # - &enter_string($val, 1); - - &leave_func("minicalc_enter_cell"); -} - -# -# GENERIC UTILIIES (pose) -# - -# tap_applications -# secs - seconds to sleep after the tap -# -# taps pen on the Applications button. -# -sub tap_applications -{ - my $secs = $_[0]; - - &enter_func("tap_applications"); - - &pose_tap_pen(15, 170, 1); - &pose_tap_pen(155, 10, 1); - &pose_tap_pen(155, 10, $secs); - - &leave_func("tap_applications"); -} - -# enter_string_at_location -# x - x-location to enter string -# y - y-location to enter string -# in_string - string to enter -# application - appliation (QUICKWORD or MINICALC) -# -# Enters a string at the specified x,y position. -# -sub enter_string_at_location -{ - my $x_val = $_[0]; - my $y_val = $_[1]; - my $in_string = $_[2]; - my $application = $_[3]; - my $x; - my $y; - - &enter_func("enter_string_at_location"); - - $x = $x_val; - $y = $y_val; - - if ($application eq "QUICKWORD") - { - # Allow users to specify TOP/BOTTOM/LEFT/RIGHT - # for QuickWord. - # - if ($y_val eq "TOP") - { - if ($global_debug) - { - &print_debug(" Converting TOP to 15\n"); - } - - $y = 15; - } - if ($y_val eq "BOTTOM") - { - if ($global_debug) - { - &print_debug(" Converting BOTTOM to 144\n"); - } - - $y = 144; - } - if ($x_val eq "LEFT") - { - if ($global_debug) - { - &print_debug(" Converting LEFT to 0\n"); - } - - $x = 0; - } - if ($x_val eq "RIGHT") - { - if ($global_debug) - { - &print_debug(" Converting RIGHT to 152\n"); - } - - $x = 152; - } - } - - # Just to make sure the offset isn't outside the - # proper area. - # - if ($x >= 100) - { - $offset = -2; - } - else - { - $offset = 2; - } - - &off_tap_pen($x, $y, $offset); - &enter_string($in_string, 1); - - &leave_func("enter_string_at_location"); -} - -# off_tap_pen -# x - x-location to tap -# y - y-location to tap -# offset - x-offset to use for first tap. -# -# For some reason, pose does not register a single -# pen tap if the last single pen tap was also -# at the same x,y coordinate (even if the last tap -# was a while ago). So this function does two -# slightly different pen taps to ensure then pen -# tap happens. -# -sub off_tap_pen -{ - my $x = $_[0]; - my $y = $_[1]; - my $offset = $_[2]; - - &enter_func("off_tap_pen"); - - # sleep for 2 seconds to avoid double-click. - # - &pose_tap_pen_hard($x + $offset, $y, 2); - &pose_tap_pen_hard($x, $y, 1); - - &leave_func("off_tap_pen"); -} - -# enter_string -# in_string - string to enter -# secs - seconds to sleep after entering the string -# -# Enters a string -# -sub enter_string -{ - my $in_string = $_[0]; - my $secs = $_[1]; - my $j; - - &enter_func("enter_string"); - - if ($global_debug) - { - # Display in_string so \n and \t values - # show up as normal ASCII. - # - if ($in_string eq "\n") - { - &print_debug(" Entering string : <\\n>\n"); - } - elsif ($in_string eq "\t") - { - &print_debug(" Entering string : <\\t>\n"); - } - else - { - &print_debug(" Entering string : <$in_string>\n"); - } - } - - # Replace "\n" with real carrage returns. - # - my $string_val = $in_string; - $string_val =~ s#\\n#\n#g; - - # Replace "\t" with a real tab. - # - $string_val =~ s#\\t#\t#g; - - # Convert string to ASCII numeric values - # - my @array = unpack("C*", $string_val); - - # Enter string one key at a time. - # - for ($j=0; $j <= $#array; $j++) - { - $queue_size = EnterKey($array[$j], 0, 0); - } - - if ($secs > 0) - { - pose_sleep($secs); - } - - &leave_func("enter_string"); -} - -# -# GENERIC UTILIIES (non pose) -# - -# get_date_string -# -# Returns a timestampe string in yyyymmddHHMM format, where: -# yyyy = year -# mm = month -# dd = day -# HH = hour -# MM = minute -# -# This sort of datestamp is used to create the output directory -# names, so it used in various places. -# -sub get_date_string -{ - my $cur_secs = time; - my @lu = localtime $cur_secs; - my $lu_secs = $lu[1]; - my $lu_hours = $lu[2]; - my $lu_day = $lu[3]; - my $lu_mon = $lu[4] + 1; - my $lu_year = $lu[5] + 1900; - my $lu_str = $lu_year; - - if ($lu_mon < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_mon; - - if ($lu_day < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_day; - - if ($lu_hours < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_hours; - - if ($lu_secs < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_secs; - - return $lu_str; -} - -# -# DEBUG FUNCTIONS - Wrapper functions -# - -# pose_tap_pen -# x - x-position of pen tap -# y - y-position of pen tap -# secs - seconds to sleep after the tap -# -# Taps pen at specified position and displays debug info -# -sub pose_tap_pen -{ - my $x = $_[0]; - my $y = $_[1]; - my $secs = $_[2]; - - if ($global_debug) - { - &print_debug(" Tapping pen at : $x,$y\n"); - } - - TapPen($x, $y); - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_tap_pen_hard -# x - x-position of pen tap -# y - y-position of pen tap -# secs - seconds to sleep after the tap -# -# Taps pen at specified position and displays debug info -# This function works more effectively in situations where -# pose_tap_pen is flakey. This function is not good for -# double/triple click situations since it is slow. -# -sub pose_tap_pen_hard -{ - my $x = $_[0]; - my $y = $_[1]; - my $secs = $_[2]; - - if ($global_debug) - { - &print_debug(" Tapping pen hard at : $x,$y\n"); - } - - `$qa_script_home/tappen.pl $x $y`; - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_tap_button -# button - button to press -# secs - seconds to sleep after the button press -# -# Presses specified button and displays debug info -# -sub pose_tap_button -{ - my $button = $_[0]; - my $secs = $_[1]; - - if ($global_debug) - { - &print_debug(" Tapping button : $button\n"); - } - - TapButton($button); - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_sleep -# secs - seconds to sleep -# -# Sleeps the specified amount of time and displays debug info -# -sub pose_sleep -{ - my $secs = $_[0]; - - if ($global_debug) - { - &print_debug(" Sleeping : $secs seconds\n"); - } - - sleep($secs); -} - -# enter_func -# func - function name -# -# Displays debug info about entering specified function. -# -sub enter_func -{ - my $func = $_[0]; - - if ($global_debug) - { - &print_debug("Function enter : $func\n"); - } -} - -# leave_func -# func - function name -# -# Displays debug info about leaving specified function. -# -sub leave_func -{ - my $func = $_[0]; - - if ($global_debug) - { - &print_debug("Function exit : $func\n"); - } -} - -# print_debug -# string - string to print -# -# Displays debug message with a # at the beginning of the line. -# -sub print_debug -{ - my $string = $_[0]; - - print "# $string"; -} - -1; - diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/palm-session/session b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/palm-session/session deleted file mode 100644 index 900c4981cc0c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/palm-session/session +++ /dev/null @@ -1,8 +0,0 @@ -DStrǣ{07l;;l=8+fDݼr#.+GWz8c`6E'/Wƒsߗ17w=sx:w{;"=Ύnm[ψ?|s"瞏ёW0;zQ yk#[WjXcʫ_tM=yD,Ϋ_|XDԳC]/:_uLnS{rS+_r{>W,{RkDLZW<7.wEy嫯+_{11kϫIJ,Z_y;-c|KߓWۼog:0D_ϫg]2>'}W^}~yߏ|W.ϫϛW(#ΏϿ9y7GziOEvi7c.ɫO߻(bڅ";6a}~ᕹ{G#b{m5ܽ㌈N;_3!ϫGQ:"f?&܈/7w5m>7Nݲ 5?h?8/ak^}{Ŕwռs#Ϋůc>vD^hQX'b<Ozr}^bڲ1|W^M1ɉUk>~n^sI{^WE&bAi_y}y"=80Ưϫ_&lmMyyMfb-w FGL8!y7#7|߾$WΈ)yXkwkwD^ssL_}XDo3eH_ܴofMy2]"އyyͪ1QO5߿!Fb֘Q wGoE=">qƾcsMGDi=1QϺGmBErc#ssW[!w gDomLDӥ 2gQ}".ݿz~Q-1b?;fXLݿ$wT?^yцM^lq^uWE|}nSyF[ ^m~敯z^ ys۞=_{bs<}={N6={>Й{=GokzW^;mkǜn6n qiʈǵȺμzۇZ~k_+*-oe׼rqKhٵyiNYq=8o~s9ڤ;r|jn{Ǎmo}:uy_Gyͭkb]Qsծ߅,]omx"?U_<6yͫcıʣ8{NqL-6>vTa+ckXh{\ ?9N{$vk^5-">W]7U}sU_f^uyϋϫ`^ݗDܝq|wnʫ0;ʫ~ouQ="zf5cy͓qp)ѹGEOcgͫUqc^˱q8wwOxRZl5|Er޹kGUqsy;&ܽuqm[Źm|\=6,f9;ڱD;hCzJ~W#;/8;Wnl?Lݏqvws>~^͹҆G{j>MiC w#fD9wwE~nXuOoݫsɥy'Gs'8#ⱼuFV}}?*w]*=F[}hh?՟{>mer?qts_(wqlr'&䞏=w5.k:,-5_qyY{b,>|,|&8^8c5)˝ )ڼuħ#fǺ~/GtYD쏝M:ߓm+&_}3߹oNi?L[2ߎ)狦F̊8#"1L&41όXΔv71<&xDO&wL}^1"D7#N8-gE]OD|*#>qEė"%_#oGtEXD㈟F%b-#&b#^"^WE:uo8 Fֈ#s"EqJ{#N8-gE]OD|*#>qEė"%_#oGtEXD㈟F%b-#&b#^"^WE:uo8 Fֈ#s"EqJ{#N8-gE]OD|*#>qEė"%_#oGtEXD㈟Fq(DleDlcċci|N-7"g9JiH՟yN]EĢN8ZɝF}Q}nX!w {F̈8&"^G=#g,=۟{^g7\+Xe[>2kQ,2|^U8k({W_=_uOY9!^{n_{r]3rϏcY{.=.br7[;&{xO#wdk؈x4rJā'F|>ifFqFWF\q[OF?{:zSD\neicIQ~k"ʽ[OF|7➈X3rQǶ79ܻG<{.0(⒈/Gܙ{1=kx:EQNjnνGr7F<'N,z䨈oFϽ'"yG<{_oܻkcHu]mjĢXʽsOiEܖ{L}Yb&D\{/"٫|7ΈH{mԿŹ |cY_io230: Y0{H,áȽo7e#rX˽ouwvļG:̋uOe<礨~ν?~Q]/;/^kD,Wy퐈{ro쳽_Ͻν/ν߈_Dv1oo۷̽7ܘ{o<8";ޮs〉vn?azA9qU:Zo£f[өmbzuѕ:.3Kj9cOǤ8,y##>WZ`גb~26qMs!_J[)Rk][lӏe]ʫRg^fqZ/j_nfB^8bu3jn7731wd=~/ok_Ů/F[G;˷]&'rUֿE e0jKhw~zm_}QNy~~'#Xڕ3q3ywcnzG^"I`<_{ym<]_{w [k_UymN8?G\qCĚ'5"wD̏x8xy{,;Ew2T^]"kkXX8[:ZA|>~jxj7I4aBHO] - v*(Krʗ^otgܰFSEx?:S7}rwy1S{Wv&9<[}mxgN/`U{"Wc7os9ΟKocIFM_}ZrLDϭۧ[y<^ZI=ps~٭.hPҫr(Ǔj|F?ZQq k%tU9AxWVtJK#H4r]3%;Jk7u O/;kU_}Qvp);kryc4~ sv-tYs<_Vi\L;~U7vg}6rteuߜx|}SEKu8V\nsގg 6_Qґw3T㷨F\꜡36sVOuNliWEڧ;35ǯ*]3uxڵZ䡴:O`k'@aF_,Ohs?/z}d׋p}C΍`fmg#HumǡωpiP}3gƤQ'xL3',4ge7LƝWj}۹4TѪUۨ F7㦯+#]U6q̈́8j'9QU斏VovvuUaZEmq}8orIa<~^n7oiG [Կ16fy>^L'@nl})G̏9qgfWڳ?w~ߒ/^ԸSTտ+j&=[gߍ~ҥ uGmq>?ԥK.l>ؠlyq~O='[s{}~3clIϫ_>l0gL1ŧ,ͷV 2\ߔ'f1#.qϖgwǏϟ2!noZf͙J[l)îs˵gu<c -oh\9e>_|VhG87GD\tQյgux/ 2uwnΪ_L3؉1\~.SߵM_U Ѫ{t}uawA/Uwʜ;ʧ,'=ʾձiNe}ƤY|Whtѻ|S4s{M:kg+k~L;YK7_EϜ6;M>ϙL#Ҟgjig_ckD׹c8ןp+at%s7onu,[5_ֺY۹ZTޯ{Gk_wƓgtp|)9g]tvlE\X3QiEþgcКFO7<%KRa_9%ه4?xGmrQ=r߲ }lǴs+ɩ,kҢ6={[O=7sa^ӛbI Lodh:l:0eĈXa斫PF TopUk&n8}Ҙ,P]> MƤPJ񰸾RO*+,8q,W.g0S_\mzCĎ]b9鱗1Qp+#a;S@gDB)3z8{o]1851ݶcc`d/kSbNѵſ6=ꙇX;MpxÛivzS;Zu}i3H/mONNџ.}ԹWDo F{e׍3idU',}j>u֫;;!w:; DOrNHk36u :Gu\F-/+R5[ǥkiN|ΎZ4UiRJxS}eղjvڮwmL,;;%U V;;V{`rd+;J#VTzr5- [MJVK%fRZMWVUќPjfQ -Vd,R{=YTJ;4KjTk[O;8e" -%25JV bݼJJzV%7H,UK9Z-t늯DҊ35^?/ų|j?uhMv\jWOv\:NkuP[sitgz |2EP̫2Mۆ4خ]l0=~0q`=Uɥr6Ҫ#Jb3-_T)eߊ+H/K<#j.UU1EKzUsIUBu(G#9ZLj9y*uVbYj&h#Zeպ 8W :YQFHR[+ۨJ趎|X;0q]V\u񨳯Íbu7y|\_n- &,Ѥ>1ur^YRGڎLUbZZgA6gxӸNY{\'Lg!PN\_'4fR0nHrA?SR6)OZ5ɟב⺹0YC'_Rfӛ#j'| ;+2 e"N .EWVqW3j5jcQ_aVjUZI,ǫj:^UG :FuqFu*1qБRĞ(~4;\' ƣJ$ZAF6N6mp]1fԶgk?j+ogGri+b}֜U}Y\YM6R-aۺGzgԓ^mFz3O~5Db9eԷiꁁH}{FzYm01/*ou6[F%g _ [SJ{3X܁s˄f_? ηlL.>ebՍzPtbB#>@YFROoHݠՈ0fj{0IYKW}G^}dвP|6e\YҕiWKoWn|^qhU TCLg0sheofayJFm̉iqY2yE,m̑?uF.k6؝Xlq6@ix2?~&<⬴mcKoxIUOuѿV|/^kf3L5 ο<1$W˽ӦmQul Yl7UT JiՎSM٠D9l3&%J7R/YR/3FQ(j+S魪88=>SGQG%S}JYRyuq[F0ZfKmQPWobN/+7^AԛN Sr)uIOٰTI2|R}BL5H2mgӸnƽg|+l֭/)UmUi#{uysEl1Kcwa=4%K.MK.-6E^P -F?:Z|u-<;_Tog.w&jg,3uqy =L;Q{T=ߘ+m:imUO;Eqľ4qhog}gh֫Z{/ofbyI%g:F{L4 e^(-ɾYWvFw])ZdåHѰԒXJ-C 5gR%W6M>2J=_8clZ~lz}xZ93U_t)V_RdUL;֫q>ק11\_e(1)rR Ա">G~E{tKg}.qؿ?6,mjU]sٯ˜S9-_{ggUژn;;5/nYr[VY :aq,H1TDyєFWKoiOʯoOt$u3*]|l=o2kL ?Uq:҄=kv{ˮx~_A ҲYҴȿĸ;^e>'GJa_w}%HHk֬j>.g[GV>mEb}Ӫkmx ]F;5Q0IJK1v%e<=f(k+7_=YRѲqruXY}6lݣ/h!讀7Y~=Uu,fb7yk[Oڌ*{b/#[_҄/: :蕇Y0yƤߑ?*?+[Ҟ?*<|\*{έ֣||G3gZVFkHy>Y=s鷟[ɓ+YޙSǦe"~%o>y|v| g*> 9t[3_k{ox㸮wMGѺ?=Zo2bfƉ=/{/{ˣm}e7Dyяw>[ѱ֚^6Xx֜^lPaW"ifu35C -bh:GW=sG/8iY/|I 6lǫܦsgdGoЛpH3]%GpdsKzɴ%M:?x)5Fu[5 կcjoc9|Wp?Mj%@ @ @ 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0`LشY B m˼'7گɭ#p43ъoFܑF`Nid|eXQ O#z6E'-VlmZWiɝ8;NFOЛNo#k[<~  @ @ @@UIAppShell" r \ No newline at end of file diff --git a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/test_spec/convertor_test_spec.html b/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/test_spec/convertor_test_spec.html deleted file mode 100644 index 5b77f3263654..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/palm/palmtests/qa/test_spec/convertor_test_spec.html +++ /dev/null @@ -1,2274 +0,0 @@ - - - - - - - - - - - - -

    Xmerge Test Spec

    -

    1.0 Intorduction

    -
    This document outlines the tests to be performed on -Xmerge, the XML-to-PDB converter for the SunONE Webtop.
    -

    1.1 Authors

    -
      -
    • Dermot McCluskey - (dermot.mccluskey@sun.com) -

      -
    • Keelin Boyle (keelin.boyle@sun.com) -

      -
    -

    1.2 Project/Product Identifier

    -
    XMerge
    -

    1.3 Reision History

    -

      -

    - - - - - - - - - - - - - - - - - - - -
    -

    Date

    -
    -

    Revision

    -
    -

    Comments

    -
    -

    Approval

    -
    -

    28-Sep-2001

    -
    -

    0.3

    -
    -

    Draft 3.

    -
    -

    1.4 Document Customers

    -
      -
    • XMerge Development team -

      -
    • Ireland Desktop Test team -

      -
    • SunONE Webtop C-team -

      -
    -

    1.5 References

    -

    2.0 Requirements & Dependencies

    -
    Successful automation of the tests outlined in this -specification is dependent on the stability and reliability of the -POSE emulator and the EmRPC Perl module that allows test -automation.   There is a risk associated with this in that -the emulator software may not accurately emulate every aspect of the -PalmOS and so the automated tests may not discover bugs which occur -in "real world" scenarios.  Also, if the automation -software we use proves not to be reliable enough to consistently -return the same test results, then the effort spent creating the test -automation scripts will not be worthwhile. -
    -
    Verification of test results will depend on the usability -of the Java-based Comparator applications, developed by the US Webtop -QA team, which will be used to compare the output XML and -PDB files with the expected results. -
    -
    Many of the tests described in this specification are -very time consuming and it would not be practical to execute them -manually on a regular basis.
    -

    2.1Required Tools & Technologies

    -
      -
    • PalmOS Emulator (POSE) -

      -
    • EmRPC Perl module and Test Driver - harness -

      -
    • Comparator applications (XML and - PDB comparison utilities) -

      -
    • Palm V device ??? -

      -
    • StarOffice 6.X. -

      -
    -

    2.2 Test Framework Used

    -
    These tests are to be automated using the POSE emulator -and the Test Driver developed by the XMerge team, which interacts -with the EmRPC module and allows test engineers to write test scripts -to control the conversion of documents and the interaction with the -POSE emulator.  Using this software, it is possible to automate -the process of loading documents into the appropriate Palm -application, apply edits to the document within the Palm emulator and -export the document.
    -

    3.0 Scope of Work

    -

    4.0 Test Strategy

    -

    4.1Test Suite Location

    -

    4.2 Strategy overview

    -

    4.3 Test Cases and Assertions

    -

    4.4 Testing Not Performed

    -
      -
    • Performance Testing -

      -
    • Internationalization (I18N) related testing. -

      -
    -

    5.0 Test Cases

    -
    The test cases are divided into seperate sections for -each PDB format supported by XMerge, and further divided into -Convert and Merge tests within each format.  The Convert tests -validate that XMerge can perform the round trip conversion from -StarOffice XML-based file format to PalmOS PDB format and back to -StarOffice XML format again, without any loss of content.  The -Merge tests validate that XMerge can merge edits made on the Palm -device with the original StarOffice XML file, while retaining any -information in the original document which could not to translated -into PDB format, eg embedded tables. -
    -
    Each section is further divided into Content and Style -tests.  The Content tests deal with the ability of XMerge to -retain all the meaningful content, eg text, after the conversion and -merging process.  The Style tests deal with the ability of -XMerge to retain the stylistic details, eg bold face; justification; -line breaks, from the same round-trip conversion.  The -Content-retaining functionality is considered of much higher priority -than the Style-retaining functionality in version 1.1.
     
    -

    5.1 AportisDoc Tests

    -

    5.1.1 AportisDoc Convert Tests

    -

    5.1.1.1 AportisDoc Convert Content Tests

    - - - - - - - - - -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -

    5.1.1.2 AportisDoc Convert Style Tests

    -


      -

    -

    5.1.2 Aportis Merge Tests

    -

    5.1.2.1 AportisDoc Merge Content Tests

    - - - - - - - - - - - - - - - -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -


    -

    -
    -

    5.1.2.2 AportisDoc Merge Style Tests

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    aportis/merge/style/animatedgif

    -
    -

    Summary: document with an embedded image – - straight forward convert and merge

    -

    Procedure:
    Use test file a_animatedgif.sxw. -

    -

    Convert a_animatedgif.sxw to a_animatedgif.pdb, in AportisDoc - PDB format.
    Start POSE with AportisDoc application and import - a_animatedgif.pdb.
    Export the doc back to a_animatedgif.pdb. -
    Merge a_animatedgif.pdb and the original document to - a_animatedgif.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    This document has a animated gif embedded in it.
    -
    Start of animated gif.
    -
    <Image of spinning globe>
    -
    End of animated gif. -
    -
    -

    aportis/content/style/bolddoc

    -
    -

    Summary: document with bold type and varying font – - straight forward convert

    -

    Procedure:
    Use test file a_bolddoc.sxw. -

    -

    Convert a_bolddoc.sxw to a_bolddoc.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_bolddoc.pdb.
    Export the doc back to a_bolddoc.pdb.
    Merge - a_bolddoc.pdb and the original document to a_bolddoc.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    This complete line is in bold - with font set to Times New Roman. The word bold is of size 22, - while rest of the words are of size 12. -
    -
    -

    aportis/merge/style/bookmarks

    -
    -

    Summary: document with inserted bookmarks – - straight forward convert

    -

    Procedure:
    Use test file a_bookmarks.sxw. -

    -

    Convert a_bookmarks.sxw to a_bookmarks.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_bookmarks.pdb.
    Export the doc back to a_bookmarks.pdb. -
    Merge a_bookmarks.pdb and the original document to - a_bookmarks.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    Two paragraphes of text with 2 bookmarks set. To - identify bookmarks, select Edit -> Navigator and bookmarks, - user should see BK1 and BK2 and clicking on these labels in the - navigator popup places the cursor in the position of the original - bookmark, .i.e. -
    -
    BK1 = Bookmark|
    -
    BK2 = Silicon -
    -
    -

    aportis/merge/style/bulletorderedlist

    -
    -

    Summary: document with bulletorderedlist – - straight forward convert

    -

    Procedure:
    Use test file a_bulletorderedlist.sxw. -

    -

    Convert a_bulletorderedlist.sxw to a_bulletorderedlist.pdb, in - AportisDoc PDB format.
    Start POSE with AportisDoc application - and import a_bulletorderedlist.pdb.
    Export the doc back to - a_bulletorderedlist.pdb.
    Merge a_bulletorderedlist.pdb and the - original document to a_bulletorderedlist.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This document is - an example of a simple bullet ordered list.

    -


    -

    -
      -
    • Bullet 1

      -
    • Bullet 2

      -
    • Bullet 3

      -
    • Bullet 4

      -
    -


    -

    -
    End of bullet Ordered list.
    -

    -
    -
    -

    aportis/content/style/emptydoc

    -
    -

    Summary: empty document – straight forward convert

    -

    Procedure:
    Use test file a_emptydoc.sxw. -

    -

    Convert a_emptydoc.sxw to a_emptydoc.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_emptydoc.pdb.
    Export the doc back to a_emptydoc.pdb.
    Merge - a_emptydoc.pdb and the original document to a_emptydoc.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    <empty document>. -
    -
    -

    aportis/merge/style/firstlineindent

    -
    -

    Summary: document with line indent – straight - forward convert

    -

    Procedure:
    Use test file a_firstlineindent.sxw. -

    -

    Convert a_firstlineindent.sxw to a_firstlineindent.pdb, in - AportisDoc PDB format.
    Start POSE with AportisDoc application - and import a_firstlineindent.pdb.
    Export the doc back to - a_firstlineindent.pdb.
    Merge a_firstlineindent.pdb and the - original document to a_firstlineindent.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    This line is using First Line indent style. Now isnt - that Kool... Also Im running short of words to say here, to wrap - this particular sentence.
    -
    -

    aportis/content/style/fontsize

    -
    -

    Summary: document with varying font size – - straight forward convert

    -

    Procedure:
    Use test file a_fontsize.sxw. -

    -

    Convert a_fontsize.sxw to a_fontsize.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_fontsize.pdb.
    Export the doc back to a_fontsize.pdb.
    Merge - a_fontsize.pdb and the original document to a_fontsize.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -
    Text with font size 10, 16, 20, 40, 96.
    -
    -

    aportis/content/style/heading

    -
    -

    Summary: document with heading type style – - straight forward convert

    -

    Procedure:
    Use test file a_heading.sxw. -

    -

    Convert a_heading.sxw to a_heading.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_heading.pdb.
    Export the doc back to a_heading.pdb.
    Merge - a_heading.pdb and the original document to a_heading.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This - piece of text is in Heading paragraph style.

    -
    -

    aportis/content/style/heading1

    -
    -

    Summary: document with heading1 type style – - straight forward convert

    -

    Procedure:
    Use test file a_heading1.sxw. -

    -

    Convert a_heading1.sxw to a_heading1.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_heading1.pdb.
    Export the doc back to a_heading1.pdb.
    Merge - a_heading1.pdb and the original document to a_heading1.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This piece of text is in Heading1 - paragraph style

    -
    -

    aportis/content/style/heading2

    -
    -

    Summary: document with heading2 type style – - straight forward convert

    -

    Procedure:
    Use test file a_heading2.sxw. -

    -

    Convert a_heading2.sxw to a_heading2.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_heading2.pdb.
    Export the doc back to a_heading2.pdb.
    Merge - a_heading2.pdb and the original document to a_heading2.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This document is set in Heading2 style.

    -
    -

    aportis/content/style/hyperlink

    -
    -

    Summary: document with embedded hyperlink – - straight forward convert

    -

    Procedure:
    Use test file a_hyperlink.sxw. -

    -

    Convert a_hyperlink.sxw to a_hyperlink.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_hyperlink.pdb.
    Export the doc back to a_hyperlink.pdb. -
    Merge a_hyperlink.pdb and the original document to - a_hyperlink.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This line is bookmarked to BK1 - (Insert-Bookmark)

    -


    -

    -

    The line SunWeb - Home Page has a hyperlink to sunweb.central.

    -


    -

    -

    This line is a hyperlink to BK1. - Click here will take cursor to top of page.

    -


    -

    -

    <Check hyperlink has the correct address.>

    -
    -

    aportis/content/style/justified

    -
    -

    Summary: document with justified styling – - straight forward convert

    -

    Procedure:
    Use test file a_justified.sxw. -

    -

    Convert a_justified.sxw to a_justified.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_justified.pdb.
    Export the doc back to a_justified.pdb. -
    Merge a_justified.pdb and the original document to - a_justified.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    Left - aligned text

    -

    Centre - aligned

    -

    Right - aligned -

    -

    Justified

    -
    -

    aportis/merge/style/linebreaks

    -
    -

    Summary: document with linebreaks – straight - forward convert

    -

    Procedure:
    Use test file a_linebreaks.sxw. -

    -

    Convert a_linebreaks.sxw to a_linebreaks.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_linebreaks.pdb.
    Export the doc back to a_linebreaks.pdb. -
    Merge a_linebreaks.pdb and the original document to - a_linebreaks.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This page has a line breaks inserted - at end of this line.
    When coverted to doc format it should - accordingly be broken up at the same point.

    -

    - A simple list

    -
      -
    1. second entry. A line break follows
      the above - line has been broken with a line break

      -
    -

    Third - entry

    -
    -

    aportis/merge/style/linespacing

    -
    -

    Summary: document with varied linespacing – - straight forward convert

    -

    Procedure:
    Use test file a_linespacing.sxw. -

    -

    Convert a_linespacing.sxw to a_linespacing.pdb, in AportisDoc - PDB format.
    Start POSE with AportisDoc application and import - a_linespacing.pdb.
    Export the doc back to a_linespacing.pdb. -
    Merge a_linespacing.pdb and the original document to - a_linespacing.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    First: This line and thenext line - is spaced by double-line spacing

    -

    Second: Note the line-distance - spacing

    -


    -

    -


    -

    -

    First: This line and the next - line is spaced by single-line spacing

    -

    Second: Note the line-distance - spacing

    -


    -

    -

    First: This - line and the next line is spaced by 1.5 line spacing

    -

    Second: Not the line-distance - spacing.

    -
    -

    aportis/merge/style/numberorderedlist

    -
    -

    Summary: document with numberorderedlist – - straight forward convert

    -

    Procedure:
    Use test file a_numberorderedlist.sxw. -

    -

    Convert a_numberorderedlist.sxw to a_numberorderedlist.pdb, in - AportisDoc PDB format.
    Start POSE with AportisDoc application - and import a_numberorderedlist.pdb.
    Export the doc back to - a_numberorderedlist.pdb.
    Merge a_numberorderedlist.pdb and the - original document to a_numberorderedlist.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This document is - an example of a simple numbered ordered list.

    -


    -

    -
      -
    1. First

      -
    2. Second

      -
    3. Third

      -
    4. Fourth

      -
    -


    -

    -


    -

    -

    End of numbered - Ordered list

    -

    -
    -
    -

    aportis/content/style/pagebreak

    -
    -

    Summary: document with pagebreaks – straight - forward convert

    -

    Procedure:
    Use test file a_pagebreak.sxw. -

    -

    Convert a_pagebreak.sxw to a_pagebreak.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_pagebreak.pdb.
    Export the doc back to a_pagebreak.pdb. -
    Merge a_pagebreak.pdb and the original document to - a_pagebreak.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    The document has page breaks

    -

    Page 1 -

    -

    -now a page break-

    -
    -

    aportis/merge/style/paragraph

    -
    -

    Summary: document with set paragraph styling– - straight forward convert

    -

    Procedure:
    Use test file a_paragraph.sxw. -

    -

    Convert a_paragraph.sxw to a_paragraph.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_paragraph.pdb.
    Export the doc back to a_paragraph.pdb. -
    Merge a_paragraph.pdb and the original document to - a_paragraph.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This line is a paragraph. It is - indented from left hand side by 1.0 inch and from right and side - by 1.0 inch (paragraph -

    -

    settings).

    -
    -

    aportis/content/style/standard

    -
    -

    Summary: document with standard text and default - settings – straight forward convert

    -

    Procedure:
    Use test file a_standard.sxw. -

    -

    Convert a_standard.sxw to a_standard.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_standard.pdb.
    Export the doc back to a_standard.pdb.
    Merge - a_standard.pdb and the original document to a_standard.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This line of text is listed in - standard style.

    -
    -

    aportis/content/style/subscript

    -
    -

    Summary: document with subscript text setting – - straight forward convert

    -

    Procedure:
    Use test file a_subscript.sxw. -

    -

    Convert a_subscript.sxw to a_subscript.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_subscript.pdb.
    Export the doc back to a_subscript.pdb. -
    Merge a_subscript.pdb and the original document to - a_subscript.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    The - last word on this line is in subscript. Dude

    -


    -

    -
    -

    aportis/content/style/superscript

    -
    -

    Summary: document with superscript text setting – - straight forward convert

    -

    Procedure:
    Use test file a_subscript.sxw. -

    -

    Convert a_superscript.sxw to a_superscript.pdb, in AportisDoc - PDB format.
    Start POSE with AportisDoc application and import - a_superscript.pdb.
    Export the doc back to a_superscript.pdb. -
    Merge a_superscript.pdb and the original document to - a_superscript.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    The - last word on this line is in superscript. Dude - -

    -


    -

    -
    -

    aportis/content/style/symbols

    -
    -

    Summary: document with various symbol types – - straight forward convert

    -

    Procedure:
    Use test file a_symbols.sxw. -

    -

    Convert a_symbols.sxw to a_symbols.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_symbols.pdb.
    Export the doc back to a_symbols.pdb.
    Merge - a_symbols.pdb and the original document to a_symbols.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    '-'-'-'->->->->. - '''''''. -------. >>>>>>>

    -

    !ӣ$%^&*()_+}{~@:?><,./;'#][=-??? - -

    -


    -

    -
    -

    aportis/content/style/tab

    -
    -

    Summary: document with tab styling – straight - forward convert

    -

    Procedure:
    Use test file a_tab.sxw. -

    -

    Convert a_tab.sxw to a_tab.pdb, in AportisDoc PDB format. -
    Start POSE with AportisDoc application and import a_tab.pdb. -
    Export the doc back to a_tab.pdb.
    Merge a_tab.pdb and the - original document to a_tab.sxw. -

    -

    Expected result:
    The resultant document should - contain: -

    -

    This is a tabbed document

    -

    1 Tab line

    -

    2 tabbed line

    -

    3 tabbed line

    -

    2 tabbed line

    -

    1 Tab line

    -

    4 tab line

    -

    2 tab line

    -


    -

    -
    -

    aportis/merge/style/table

    -
    -

    Summary: document with table – straight forward - convert

    -

    Procedure:
    Use test file a_table.sxw. -

    -

    Convert a_table.sxw to a_table.pdb, in AportisDoc PDB format. -
    Start POSE with AportisDoc application and import a_table.pdb. -
    Export the doc back to a_table.pdb.
    Merge a_table.pdb and - the original document to a_table.sxw. -

    -

    Expected result: -

    -

    The resultant document should contain: -

    -

    <Check table & contents are - identical to original.> -

    -


    -

    -

    This document has a table with 3 - rows and 3 columns:

    -


    -

    -



    -

    -

    <TABLE & CONTENTS>

    -


    -

    -
    -

    aportis/content/style/textspan

    -
    -

    Summary: document testing textspan - italics,bolds,underline together– straight forward convert

    -

    Procedure:
    Use test file a_textspan.sxw. -

    -

    Convert a_textspan.sxw to a_textspan.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_textspan.pdb.
    Export the doc back to a_textspan.pdb.
    Merge - a_textspan.pdb and the original document to a_textspan.sxw. -

    -

    Expected result: -

    -

    The resultant document should contain: -

    -

    Document indicating Text Span

    -


    -

    -

    This is a - simple line with some amount of text. The whole line is in italic - except the next 3 words which is also SET TO BOLD. Also the - next word is UNDERLINED. The essence is differnet styles - within the same text span.

    -


    -

    -
    -

    aportis/merge/style/unorderedlist

    -
    -

    Summary: document with unorderedlist – straight - forward convert

    -

    Procedure:
    Use test file a_unorderedlist.sxw. -

    -

    Convert a_unorderedlist.sxw to a_unorderedlist.pdb, in - AportisDoc PDB format.
    Start POSE with AportisDoc application - and import a_unorderedlist.pdb.
    Export the doc back to - a_unorderedlist.pdb.
    Merge a_unorderedlist.pdb and the - original document to a_unorderedlist.sxw. -

    -

    Expected result: -

    -

    The resultant document should contain: -

    -

    This document is - an example of a simple un- ordered list

    -


    -

    -
      -
    1. Wag the Dog

      -
    2. Gladiator

      -
    3. Insider

      -
    4. Usual - Suspects

      -
    5. Glengarry - Glen Ross

      -
    -
      -
    1. Host Shots

      -
    2. Airplane

      -
    3. Monty - Python

      -
    4. History of - the World

      -
    5. Sacry Movie

      -
    6. Austin - Powers

      -
    -
      -
    • Scarlet and - the Black

      -
    • Operation - Day Break

      -
    • Life is - Beautiful

      -
    • Nephew - (beutfiul soundtrack)

      -
    -


    -

    -

    - End of un-ordered list.

    -


    -

    -
    -

    aportis/content/style/wordwrap

    -
    -

    Summary: document which tests wordwrapping – - straight forward convert

    -

    Procedure:
    Use test file a_wordwrap.sxw. -

    -

    Convert a_wordwrap.sxw to a_wordwrap.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_wordwrap.pdb.
    Export the doc back to a_wordwrap.pdb.
    Merge - a_wordwrap.pdb and the original document to a_wordwrap.sxw. -

    -

    Expected result: -

    -

    The resultant document should contain:

    -

    This line is - a long line just to check if the word wrap feature works fine, - when it is synched onto the PDA..

    -


    -

    -
    -

    aportis/merge/content/simple01

    -
    -

    Summary: simple document - insert text at beginning -

    -

    Procedure:
    Use test file a_standard.sxw. -

    -

    Convert a_standard.sxw to a_standard.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_standard.pdb.
    Insert the following text, including the - terminating line-feed, at the beginning of the first line: -

    -
    New text added to simple file.
    -

    Export the doc back to a_standard.pdb.
    Merge a_standard.pdb - and the original document to a_standard.sxw. -

    -

    Expected result:
    The resultant file should contain: -

    -
    New text added to simple file.
    This  line of - text is listed in standard  style 
    -
    -

    aportis/merge/content/simple02

    -
    -

    Summary: simple document - insert text in middle -

    -

    Procedure:
    Use test file a_standard.sxw. -

    -

    Convert a_standard.sxw to a_standard.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_standard.pdb.
    Insert the following text immediately after - the word "text": -

    -
    , including this inserted phrase, 
    -

    Export the doc back to a_standard.pdb.
    Merge a_standard.pdb - and the original document to a_standard.sxw. -

    -

    Expected result:
    The resultant file should contain: -

    -
    This  line of text, including this inserted - phrase, is listed in standard  style 
    -
    -

    aportis/merge/content/simple03

    -
    -

    Summary: simple document - append text -

    -

    Procedure:
    Use test file a_standard.sxw. -

    -

    Convert a_standard.sxw to a_standard.pdb, in AportisDoc PDB - format.
    Start POSE with AportisDoc application and import - a_standard.pdb.
    Append a new-line at the end of the line and - add the following line: -

    -
    This is also in standard style
    -

    Export the doc back to a_standard.pdb.
    Merge a_standard.pdb - and the original document to a_standard.sxw. -

    -

    Expected result:
    The resultant file should contain: -

    -
    This  line of text is listed in standard  - style
    This is also in standard style
    -
    -

    5.2 MiniCalc Tests

    -

    5.2.1 MiniCalc Convert Tests

    -

    5.2.1.1 MiniCalc Merge Style Tests

    - - - - - - - - - - - - - - - -
    -

    minicalc/merge/style/columnswidth
     

    -
    -

    Summary: Spreadsheet with 5 columns 10 entries - - Spreadsheet columnwidth variation.  -

    -

    Procedure:
    Use test file c_columnswidth.sxc.  -

    -

    Convert c_columnswidth.sxc to c_columnswidth.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_columnswidth.pdb. 

    -

    Choose Cell Reference "B1" & alter column width - to 1.55 by selecting, Format -> Column -> Width... < make - width change via spin button> -> OK, also decrease "E1" - similarly to have a column width of 1.68.


    -

    -

    Export the doc back to c_columnswidth.pdb. 
    Merge - c_columnswidth.pdb to c_columnswidth.sxw.  -

    -

    Expected result:
     Spreadsheet should display - column B with a width increase of 1.0 , and column E with a width - decrease of 1.0, as compared with the original file, reflecting - the changes stated above.

    -
    -

    minicalc/merge/style/rowheight

    -
    -

    Summary: Spreadsheet with 4 columns 3 rows 12 entries - - Spreadsheet rowheight variation.  -

    -

    Procedure:
    Use test file c_rowheight.sxc.  -

    -

    Convert c_rowheight.sxc to c_rowheight.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_rowheight.pdb. 

    -


    Choose Cell Reference "A1" & alter row height - to 1.17 by selecting Format -> Row -> Height... <make - height change via spin button> -> OK., also decrease "A3” - similarly to have a row height of 0.30.  -

    -

    Export the doc back to c_rowheight.pdb. 
    Merge - c_rowheight.pdb to c_rowheight.sxw.  -

    -

    Expected result:
     Spreadsheet should display - row “Row 1” with a height increase of 1.0 and "Row - 3" with a height decrease of 0.41, as compared with the - original file, reflecting the changes stated above.

    -
    -

    minicalc/merge/style/rowstyles

    -
    -

    Summary: Spreadsheet with 5 columns 6 rows 18 entries - - Spreadsheet rowstyle variation.  -

    -

    Procedure:
    Use test file c_rowstyle.sxc. -

    -

    Convert c_rowstyles.sxc to c_rowstyles.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_rowstyles.pdb. 

    -

    Choose Cell Reference "B3" and change Heading style - to default, by selecting, Format -> Style Catelog -> <choose - heading type from listbox>, also choose cellreference "D5" - and change Heading style to Heading1, also change "C5" - to remove bold, underline & italic.  -

    -


    Export the doc back to c_rowstyles.pdb. 
    Merge - c_rowstyles.pdb to c_rowstyles.sxw.  -

    -

    Expected result:
     Spreadsheet should display - value's and style types as in original file, except cells "B3, - & D5" which should display heading types default & - Heading 1 resp. and "C5" which should be plain text, - reflecting the changes stated above.

    -
    -

    5.2.1.2 MiniCalc Convert Style Tests

    - - - - - - - - - - - -
    -

    minicalc/convert/style/styles
     

    -
    -

    Summary: Spreadsheet with 3 columns 10 rows 13 entries - - Spreadsheet styles test.  -

    -

    Procedure:
    Use test file c_styles.sxc.  -

    -

    Convert c_styles.sxc to c_styles.pdb, in MiniCalc PDB format.  -
    Start POSE with MiniCalc application and import c_styles.pdb.  -
    Export the doc back to c_styles.pdb. 
    Merge - c_styles.pdb to c_styles.sxw. 

    -

    Expected result:
     Spreadsheet should display - all original sheet values with style features, .i.e Bold, Italics, - .

    -
    -

    minicalc/convert/style/alignment
     

    -
    -

    Summary: Spreadsheet with 4 columns 8 rows 24 entries - - Spreadsheet alignment test.  -

    -

    Procedure:
    Use test file c_alignment.sxc.  -

    -

    Convert c_alignment.sxc to c_alignment.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_alignment.pdb. 
    Export the doc back to - c_alignment.pdb. 
    Merge c_alignment.pdb to - c_alignment.sxw. 

    -

    Expected result:
     Spreadsheet should display - all original sheet values with identical alignment to original - file.

    -
    -



    -

    -

    5.2.2.1 MiniCalc Merge Content Tests

    - - - - - - - - - - - -
    -

    minicalc/merge/content/insertimage
     

    -
    -

    Summary: Spreadsheet with 6 columns 2 image inserts - - Spreadsheet image insert.  -

    -

    Procedure:
    Use test file c_insertimage.sxc.  -

    -

    Convert c_insertimage.sxc to c_insertimage.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_insertimage.pdb. 
    Export the doc back to - c_insertimage.pdb. 
    Merge c_insertimage.pdb to - c_insertimage.sxw.  -

    -

    Expected result:
     Spreadsheet should display - original file with both original images.

    -
    -

    minicalc/merge/content/textimage
     

    -
    -

    Summary: Spreadsheet with 6 columns 2 image inserts - - Spreadsheet image text insert.  -

    -

    Procedure:
    Use test file c_textimage.sxc.  -

    -

    Convert c_textimage.sxc to c_textimage.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_textimage.pdb. 

    -

    Insert text immediately before and directly after the inserted - image.

    -

    Export the doc back to c_textimage.pdb. 
    Merge - c_textimage.pdb to c_textimage.sxw.  -

    -

    Expected result:
     Spreadsheet should display - original image surrounded by text .i.e text before & after the - insert.

    -
    -

    5.2.2.2 MiniCalc Convert Contents Tests

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -


    -

    -
    -


    -

    -
    -

    minicalc/convert/content/basic

    -
    -

    Summary: simple spreadsheet - round-trip conversion  -

    -

    Procedure:
    Use test file c_standard.sxc.  -

    -

    Convert c_standard.sxc to c_standard.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_standard.pdb. Export the doc back to c_standard.pdb, without - making and changes to the spreadsheet. 
    Merge - c_standard.pdb to c_standard.sxc.  -

    -

    Expected result:
    The resultant file should be - equivalent to the original spreadsheet. 
     

    -
    -

    minicalc/convert/content/simple01

    -
    -

    Summary: simple spreadsheet - insert text & column - of numeric values at beginning of empty sheet.  -

    -

    Procedure:
    Use test file c_standard.sxc.  -

    -

    Convert c_standard.sxc to c_standard.pdb, in Minicalc PDB - format. 
    Start POSE with Minicalc application and import - c_standard.pdb. 
    Insert the following text & values - at the beginning of the the spreadsheet, .i.e in Column 1:  -

    -
    Col 1
    -
    1
    -
    1
    -
    1
    -

    Export the doc back to c_standard.pdb. 
    Merge - c_standard.pdb to c_standard.sxc.  -

    -

    Expected result:
    The resultant file should contain:  -

    -
    New column of values as - shown above. 
    -
    -

    minicalc/convert/content/simple02

    -
    -

    Summary: simple spreadsheet - append a new column to - end  -

    -

    Procedure:
    Use test file c_standard.sxc.  -

    -

    Convert c_standard.sxc to c_standard.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_standard.pdb. 
    Insert the following column immediately - after the first:  -

    -
    Col 3
    -
    3
    -
    3
    -
    3
    -

    Export the doc back to c_standard.pdb. 
    Merge - c_standard.pdb to c_standard.sxc.  -

    -

    Expected result:
    The resultant file should contain:  -

    -

    Col 1 Col 3

    -
    1 3 -
    -
    1 3
    -
    1 3
    -
    -

    minicalc/convert/content/simple03

    -
    -

    Summary: simple spreadsheet - insert a new column in - middle  -

    -

    Procedure:
    Use test file c_standard.sxc.  -

    -

    Convert c_standard.sxc to c_standard.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_standard.pdb. 
    Insert the following column immediately - after the first and before the second:  -

    -
    Col 2
    -
    2
    -
    2
    -
    2
    -

    Export the doc back to c_standard.pdb. 
    Merge - c_standard.pdb to c_standard.sxc.  -

    -

    Expected result:
    The resultant file should contain:  -

    -
    Col 1 Col 2 Col 3
    -
    1 2 3
    -
    1 2 3
    -
    1 2 3
    -
    -

    minicalc/convert/content/simple04

    -
    -

    Summary: simple spreadsheet - delete text  -

    -

    Procedure:
    Use test file c_standard.sxc.  -

    -

    Convert c_standard.sxc to c_standard.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_standard.pdb. 
    Delete “Column 3”, so that - it reads:  -

    -
    Col 1 Col 2
    -
    1 2
    -
    1 2
    -

    Export the doc back to c_standard.pdb. 
    Merge - c_standard.pdb to c_standard.sxc.  -

    -

    Expected result:
    The resultant file should contain:  -

    -
    Col 1 Col 2
    -
    1 2
    -
    1 2
    -
    -

    minicalc/convert/content/addition

    -
    -

    Summary: Spreadsheet with 4 columns 10 entries - - Spreadsheet Simple Addition using various formulae.  -

    -

    Procedure:
    Use test file c_addition.sxc. -

    -

    Convert c_addition.sxc to c_addition.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_addition.pdb. 
    Change Cell Reference "A1" = 3 - in formula bar. 
    Export the doc back to c_addition.pdb.  -
    Merge c_addition.pdb to c_addition.sxc.  -

    -

    A1 =3 ; B1 = 3 ; C1 =4 ;D1 =5;  -

    -

    Addition types: -

    -

    Cell reference + Integer = A1+2 =5 -

    -

    Integer + Decimal = 3+0.1 =3.1 -

    -

    Cell Reference + Cell Reference = A1+B1 = 6 -

    -

    (Bracketed Cell Reference) + (Integer + Integer) = - (A1+B1)+(2+45) = 53 -

    -

    Integer + (Integer) + (Integer+Integer) = 2+(0)+(3+0) = 5 -

    -

    (SUM(Cell Ref;Cell Ref) +SUM(Cell Ref;Cell Ref) = - (SUM(A1;B1)+SUM(B1;C1) = 13 -

    -

    Expected result:
     All spreadsheet entered - values & the standard formula SUM of each cell should be - displayed as above, formulae as stated above should be visible in - the Formula Bar. 

    -
    -

    minicalc/convert/content/backwardrange

    -
    -

    Summary: Spreadsheet with 2 columns 7 entries - - Spreadsheet backwardranging using various formulae.  -

    -

    Procedure:
    Use test file c_backwardrange.sxc.  -

    -

    Convert c_alignment.sxc to c_alignment.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_alignment.pdb. 
    Change Cell Reference "B2" = - AVERAGE(2;5;5) in formula bar. 
    Export the doc back to - c_alignment.pdb. 
    Merge c_alignment.pdb to - c_alignment.sxc.  -

    -

    Logical Funtion test B4: -

    -

    IF(Logical Test; Then Value;Else Value) -

    -

    .e.g. IF(23;45.45;54.54) = 45.45  -

    -

    read as if logical test TRUE then place THEN VALUE in cell else - place ELSE VALUE.
     
     
      -

    -

    Statistical Functional tests B2 , B3 resp.: -

    -

    AVERAGE(2;5;5) - Returns sum of arguments divided by number of - arguments =4 . -

    -

    MAX(10;3;3) - Returns the maximum value in a list of arguments - =10.
     
     
      -

    -

    Negative addition test B1: -

    -

    =B2-B3 = 4 - 10 = -6
     
     
      -

    -

    Range Addition tests A1, A5, B5: -

    -

    SUM(B2;B4) = B2 + B3 + B4 = 4 + 10 + 45.45 = 59.45. -

    -

    SUM(A1:B2) -B4 = (59.45 + (-6) +4) - 45.45 = 12

    -

    SUM(A1;B1)-A2 = (59.45 + (-6)) - 0 = 53.45 -

    -

    Expected result:
     All spreadsheet entered - values & the standard formula SUM of each cell should be - displayed on sheet as detailed above, formulae as stated above - should be visible in the Formula Bar.

    -
    -

    minicalc/convert/content/boolean

    -
    -

    Summary: Spreadsheet with 1 column 2 entries - - Spreadsheet boolean entry.  -

    -

    Procedure:
    Use test file c_boolean.sxc. -

    -

    Convert c_boolean.sxc to c_boolean.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_boolean.pdb. 
    Change Cell Reference "A2" = - TRUE in formula bar. 
    Export the doc back to - c_boolean.pdb. 
    Merge c_boolean.pdb to c_boolean.sxc.  -

    -

    Logical Funtion test : cells A1, A2: -

    -

    A1=TRUE -

    -

    A2=TRUE -

    -

    Returns the logical values TRUE to the cells resp. -

    -

    Expected result:
     The logical entry of each - cell should be displayed on the sheet as stated above.

    -
    -

    minicalc/convert/content/cellcurrencyvalue

    -
    -

    Summary: Spreadsheet with 2 columns 10 entries - - Spreadsheet Currency number Format conversion test.  -

    -

    Procedure:
    Use test file c_cellcurrencyvalue.sxc. -

    -

    Convert c_cellcurrencyvalue.sxc to c_cellcurrencyvalue.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_cellcurrencyvalue.pdb. 
    Export - the doc back to c_cellcurrencyvalue.pdb. 
    Merge - c_cellcurrencyvalue.pdb to c_cellcurrencyvalue.sxc.  -

    -

    Display Sheet : 12 DM. -

    -

    Expected result:
     Spreadsheet entered values or - the sum of each cell should be displayed with specified Currency - symbol, formulae should be visible in the Formula Bar but not the - currency symbol.

    -
    -

    minicalc/convert/content/cellcurrencychange

    -
    -

    Summary: Spreadsheet with 2 columns 10 entries - - Spreadsheet Currency number Format modification test.  -

    -

    Procedure:
    Use test file c_cellcurrencychange.sxc. -

    -

    Convert c_cellcurrencychange.sxc to c_cellcurrencychange.pdb, - in MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_cellcurrencychange.pdb. 
    Change - Cell Reference "A1" to have currency format in Danish - Marks (DM). 
    Export the doc back to - c_cellcurrencychange.pdb. 
    Merge c_cellcurrencychange.pdb - to c_cellcurrencychange.sxc.  -

    -

    Select cell A1 = 12 ; then tap pen icon option on palm, choose - Currency from palm listbox, tap on the down arrow to the right of - the flashing cursor, tap on the intended currency type .e.g DM - (Danish Mark) and tap apply & OK. -

    -

    Display Sheet : 12 DM. -

    -

    Expected result:
     Spreadsheet entered values or - the sum of each cell should be displayed with specified Currency - symbol, formulae should be visible in the Formula Bar but not the - currency symbol.

    -
    -

    minicalc/convert/content/cellfloatvalue

    -
    -

    Summary: Spreadsheet with 2 columns 6 entries - - Spreadsheet float values.  -

    -

    Procedure:
    Use test file c_cellfloatvalue.sxc.  -

    -

    Convert c_cellfloatvalue.sxc to c_cellfloatvalue.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_cellfloatvalue.pdb. 
    Change Cell - Reference "A1" = 11 & "A2" = 2.38 & B3 - 100.02450 in formula bar. 
    Export the doc back to - c_cellfloatvalue.pdb. 
    Merge c_cellfloatvalue.pdb to - c_cellfloatvalue.sxc.  -

    -

    The original sheet has selected Format -> Cells... -> - Numbers Tab -> & Numbers from the list box, choosen - -1234.12, tho set the Format Code to 0.00 preventing the sheet - display rounding values to two decimal places. It also has - fraction display enabled in certain cells.

    -

    Formula Bar : Display Sheet: -

    -

    A1 = 11 -> 11.00 -

    -

    A2 = 2.38 -> 2 19/50 -

    -

    A3 = 0.45 -> 0.45 -

    -

    B2 = 0.23 -> 2/9 -

    -

    B3 = 100.02450 -> 100.02 -

    -

    Expected result:
     Spreadsheet fractional & - decimal values should be displayed with specified precision as - stated above, formulae should be visible in the Formula Bar.

    -
    -

    minicalc/convert/content/cellpercentvalue

    -
    -

    Summary: Spreadsheet with 2 columns 3 entries - - Spreadsheet percentage value precision.  -

    -

    Procedure:
    Use test file c_cellpercentvalue.sxc.  -

    -

    Convert c_cellpercentvalue.sxc to c_cellpercentvalue.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_cellpercentvalue.pdb. 
    Change - Cell Reference "A1" = 120% & "B1" = 10% in - formula bar. 
    Export the doc back to - c_cellpercentvalue.pdb. 
    Merge c_cellpercentvalue.pdb to - c_cellpercentvalue.sxc.  -

    -

    For cell A1 enter 120% in the Formula Bar. Sheet Display = - 120.00%  -

    -

    For cell B1 enter 10% in the Formula Bar. Sheet Display = 10% -

    -

    Expected result:
     Spreadsheet percentage values - should be displayed with specified precision as stated above, - formulae should be visible in the Formula Bar.

    -
    -

    minicalc/convert/content/cellstringvalue

    -
    -

    Summary: Spreadsheet with 4 columns 11 entries - - Spreadsheet String values.  -

    -

    Procedure:
    Use test file c_cellstringvalue.sxc.  -

    -

    Convert c_cellstringvalue.sxc to c_cellstringvalue.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_cellstringvalue.pdb. 
    Change - Cell Reference "C2" = Testing & DELETE contents of - "D2" & insert a ';' in "B3" in formula - bar. 
    Export the doc back to c_cellstringvalue.pdb.  -
    Merge c_cellstringvalue.pdb to c_cellstringvalue.sxc.  -

    -

    A1 = This A2 = With A3 = For -

    -

    B1 = Cell B2 = Strings B3 = ; -

    -

    C1 = Is C2 = Testing C3 = string values -

    -

    D1 = Filled D2 = "blank"  -

    -

    Expected result:
     Spreadsheet strings values - should be displayed as stated above.

    -
    -

    minicalc/convert/content/character
     

    -
    -

    Summary: Spreadsheet with 4 columns 23 entries - - Spreadsheet character values.  -

    -

    Procedure:
    Use test file c_character.sxc.  -

    -

    Convert c_character.sxc to c_character.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_character.pdb. 
    Change Cell Reference "C7" = - -??%, .i.e appending a % sign. 
    Export the doc back to - c_character.pdb. 
    Merge c_character.pdb to - c_character.sxc.  -

    -

    C7 = -??%  -

    -

    Expected result:
     Spreadsheet character values - should be displayed as in original file including minor change - stated above.

    -
    -

    minicalc/convert/content/cyclic
     

    -
    -

    Summary: Spreadsheet with 2 columns 8 entries - - Spreadsheet error messages.  -

    -

    Procedure:
    Use test file c_cyclic.sxc.  -

    -

    Convert c_cyclic.sxc to c_cyclic.pdb, in MiniCalc PDB format.  -
    Start POSE with MiniCalc application and import c_cyclic.pdb.  -
    Change Cell Reference "A4" & "A5" = 0 - & "B4" = A1/A4, "B5"= A4/A5 in formula - bar. 
    Export the doc back to c_cyclic.pdb. 
    Merge - c_cyclic.pdb to c_cyclic.sxc.  -

    -

    Changes should generate 2 extra errors shown below. -

    -

    B4 = Err.503

    -

    B5 = #VALUE! -

    -

    Expected result:
     Spreadsheet should display - all original sheet values including 2 extra errors generated by - the changes detailed above.

    -
    -

    minicalc/convert/content/dividefloating
     

    -
    -

    Summary: Spreadsheet with 2 columns 7 entries - - Spreadsheet dividing floating points.  -

    -

    Procedure:
    Use test file c_dividefloating.sxc.  -

    -

    Convert c_dividefloating.sxc to c_dividefloating.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_dividefloating.pdb. 
    Change Cell - Reference "A4" = -(12.2)/(5-1) & "B2" = to - be positive, in formula bar. 
    Export the doc back to - c_dividefloating.pdb. 
    Merge c_dividefloating.pdb to - c_dividefloating.sxc.  -

    -

    B2 = 03.050000  -

    -

    A4 = -03.05

    -

    Spreadsheet setting : Format -> Cells... -> Decimal - Places=6, Negative numbers red= TRUE, Leading zero's =2 -> OK. -

    -

    Expected result:
     Spreadsheet should display - all original sheet values and newly entered floating point - division with specified precision & colour, as stated above.

    -
    -

    minicalc/convert/content/forwardrange
     

    -
    -

    Summary: Spreadsheet with 2 columns 4 rows 5 entries - - Spreadsheet tests forwardranging.  -

    -

    Procedure:
    Use test file c_forwardrange.sxc.  -

    -

    Convert c_forwardrange.sxc to c_forwardrange.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_forwardrange.pdb. 
    Change Cell Reference "B4" - = IF(0;45.45;54.54), in formula bar. 
    Export the doc back - to c_forwardrange.pdb. 
    Merge c_forwardrange.pdb to - c_forwardrange.sxc.  -

    -

    Changes IF statement to False so ELSE VALUE now valid. -

    -

    B4 = 54.54 -

    -

    A1 = SUM(B2;B4) = B2+B3+B4 =56.23 + 560 + 54.54 = 670.77 -

    -

    Expected result:
    Spreadsheet values & the - modified standard formula SUM'sl should be displayed in each cell - on sheet to reflect the changes as stated above, formulae should - be visible in the Formula Bar. 

    -
    -

    minicalc/convert/content/hiddenrow
     

    -
    -

    Summary: Spreadsheet with 5 columns 2 rows 9 entries - - Spreadsheet tests hidden row.  -

    -

    Procedure:
    Use test file c_hiddenrow.sxc.  -

    -

    Convert c_hiddenrow.sxc to c_hiddenrow.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_hiddenrow.pdb. 
    Select Format -> Row -> Show.  -
    Export the doc back to c_hiddenrow.pdb. 
    Merge - c_hiddenrow.pdb to c_hiddenrow.sxc.  -

    -

    A previously hidden row 2 appears. -

    -

    Expected result:
    Spreadsheet values & standard - formula SUM's should be displayed in each cell on sheet as before - including a new row #2 which reflects the change stated above. 

    -
    -

    minicalc/convert/content/invalidcellref
     

    -
    -

    Summary: Spreadsheet with 3 columns 3 rows 8 entries - - Spreadsheet invalid cell references.  -

    -

    Procedure:
    Use test file c_invalidcellref.sxc.  -

    -

    Convert c_invalidcellref.sxc to c_invalidcellref.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_invalidcellref.pdb. 
    Change Cell - Reference "A3" = MAX(1;2;3) , "C2" = "blank", - "C3" = a0, in formula bar. 
    Export the doc back - to c_invalidcellref.pdb. 
    Merge c_invalidcellref.pdb to - c_invalidcellref.sxc.  -

    -

    Changes should generate 2 extra errors shown below. -

    -

    A3 = 3  -

    -

    C2 = "blank" -

    -

    C3 = #NAME? -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, excpet "C3" which holds new - invalid input warning generated by the change detailed above, - sheet should also show removal of 2 types of invalid input with - valid input replacements "A3" & "C2".

    -
    -

    minicalc/convert/content/largerange
     

    -
    -

    Summary: Spreadsheet with 3 columns 3 rows 8 entries - - Spreadsheet large range test.  -

    -

    Procedure:
    Use test file c_largerange.sxc.  -

    -

    Convert c_largerange.sxc to c_largerange.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_largerange.pdb. 
    Change Cell Reference "B3" = - SUM(E7:G10), in formula bar. 
    Export the doc back to - c_largerange.pdb. 
    Merge c_largerange.pdb to - c_largerange.sxc.  -

    -

    Increases the range by an extra row. -

    -

    B3 = SUM(E7:G10) = E7+F7+G7+E8+F8+G8+E9+F9+G9+E10+F10+G10 = -

    -

    = 4+4+4+2+2+4+1+4+4+1+1+12 = 31 +12 = 43 -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "B3" which holds new - larger range standard formula SUM generated by the change detailed - above.

    -
    -

    minicalc/convert/content/listrange
     

    -
    -

    Summary: Spreadsheet with 5 columns 4 rows 20 entries - - Spreadsheet listrange test.  -

    -

    Procedure:
    Use test file c_listrange.sxc.  - -

    -

    Convert c_listrange.sxc to c_listrange.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_listrange.pdb. 
    Change Cell Reference "D3" = - 24, in formula bar. 
    Export the doc back to - c_listrange.pdb. 
    Merge c_listrange.pdb to - c_listrange.sxc.  -

    -

    D3 = 24 -

    -

    A4 = SUM(A1:A3) = 256.1 -

    -

    B4 = AVERAGE(A1:A3) = 17.07 -

    -

    C4 = AVERAGE(A4:B4) = AVERAGE( 256.1+17.07) = 136.59 -

    -

    D4 = AVERAGE(D1;D2;D3) = AVERAGE( 13.1+18+24) = 18.37 -

    -

    E5 = SUM(A4:B4:C4:D4) = (256.1+17.07+136.59+18.37) = 428.13
      -
     
      -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except cells "A4-E4" which - hold the modified standard formula SUM & AVERAGE value's - generated by the change in D3 detailed above.

    -
    -

    minicalc/convert/content/mathematical
     

    -
    -

    Summary: Spreadsheet with 5 columns 3 rows 15 entries - - Spreadsheet stanadard math functs test in (Rad).  -

    -

    Procedure:
    Use test file c_mathematical.sxc.  - -

    -

    Convert c_mathematical.sxc to c_mathematical.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_mathematical.pdb. 
    Change Cell Reference "B1" - = SIN(3.14/2), "B2" =COS(0), "C3"= TAN(1.57/2) - in formula bar. 
    Export the doc back to - c_mathematical.pdb. 
    Merge c_mathematical.pdb to - c_mathematical.sxc.  -

    -

    B1 = 1

    -

    B2 = 1 -

    -

    C3 =1 -

    -

    Expected result:
     Spreadsheet should display - all original sheet values except cells "B1,B2,C3" which - hold modified sin,cos & tan value's generated by the changes - stated above.

    -
    -

    minicalc/convert/content/protection
     

    -
    -

    Summary: Spreadsheet with 1 column 3 rows 3 entries - - Spreadsheet protection test.  -

    -

    Procedure:
    Use test file c_protection.sxc.  - -

    -

    Convert c_protection.sxc to c_protection.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_protection.pdb. 
    Attempt to Change Cell Reference "A1" - either directly or in formula bar from the value 12 to 1.  -
    Export the doc back to c_protection.pdb. 
    Merge - c_protection.pdb to c_protection.sxc.  -

    -

    User should be unable to change cell contents, popup error - message "Protected cells can not be modified" should - appear. -

    -

    This is because the Tools -> Protect Document -> Sheet - option has been enabled with a password and therefore all cells on - sheet are write protected.  -

    -

    Expected result:
     Spreadsheet should display - all original sheet values.

    -
    -

    minicalc/convert/content/renamedsheet
     

    -
    -

    Summary: Spreadsheet with 3 sheets 0 entries - - Spreadsheet rename test.  -

    -

    Procedure:
    Use test file c_renamedsheet.sxc.  - -

    -

    Convert c_renamedsheet.sxc to c_renamedsheet.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_renamedsheet.pdb. 
    Change sheet named "testplan" - to "renamed". 
    Export the doc back to - c_renamedsheet.pdb. 
    Merge c_renamedsheet.pdb to - c_renamedsheet.sxc.  -

    -

    Click on "testplan" sheet tab, and using 3rd - mouse button, choose Rename..., from popup menu, enter new sheet - name & OK. -

    -

    OR choose Format -> Sheet -> Rename... enter new sheet - name & OK. -

    -

    Expected result:
     Spreadsheet should display - all original sheets & names, with the exception of the - "testplan" sheet which should now be labelled "renamed" - .

    -
    -

    minicalc/convert/content/sheetreference

    -
    -

    Summary: Spreadsheet with 3 sheets 4 columns 4 rows 11 - entries - Spreadsheet sheetreference test.  -

    -

    Procedure:
    Use test file c_sheetreference.sxc.  - -

    -

    Convert c_sheetreference.sxc to c_sheetreference.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_sheetreference.pdb. 
    Change Cell - Reference "A3" = Sheet3.B1. 
    Export the doc - back to c_sheetrefernce.pdb. 
    Merge c_sheetreference.pdb - to c_sheetreference.sxc.  -

    -

    A3 = 3. -

    -

    B4 =26.

    -

    Expected result:
     Spreadsheet should display - all original value's & formulae as in original file, except - cells "A3"& "A4" which should display a - different sheet reference value and the modified sheet reference - formula, reflecting the changes stated above.

    -
    -

    minicalc/convert/content/smallrange
     

    -
    -

    Summary: Spreadsheet with 4 columns 3 rows 10 entries - - Spreadsheet small range test.  -

    -

    Procedure:
    Use test file c_smallrange.sxc.  - -

    -

    Convert c_smallrange.sxc to c_smallrange.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_smallrange.pdb. 
    Change Cell Reference "B3" = - AVERAGE(A1:B2), in formula bar. 
    Export the doc back to - c_smallrange.pdb. 
    Merge c_smallrange.pdb to - c_smallrange.sxc.  -

    -

    Decrease the range by 1 row. -

    -

    B3 = AVERAGE(A1:B2) = (1+2+3+3)/4 = 2.25 -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A3" which now holds - average value of new smaller range generated by the change - detailed above.

    -
    -

    minicalc/convert/content/cancel
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm confirm &cancel test.  -

    -

    Procedure:
    Use test file c_cancel.sxc.  -

    -

    Convert c_cancel.sxc to c_cancel.pdb, in MiniCalc PDB format.  -
    Start POSE with MiniCalc application and import c_cancel.pdb.  -
    Select with mouse Cell Reference "A2" on dotted line - on palm type 14, tap “TICK” option (leftmost option on - palm) to confirm, repeat this step this time Changing Cell - Reference “A2” = 1, except this time tap the “X” - option to cancel. 
    Export the doc back to c_cancel.pdb.  -
    Merge c_cancel.pdb to c_cancel.sxc.  -

    -

    A2 = 14. -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A2" which now holds - the value 14 generated by the change detailed above.

    -
    -

    minicalc/convert/content/cut&paste
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm cut&paste test.  -

    -

    Procedure:
    Use test file c_cut&paste.sxc.  - -

    -

    Convert c_cut&paste.sxc to c_cut&paste.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_cut&paste.pdb. 
    Choose Cell Reference "A2" - with mouse, tap cut option on palm, choose Cell Reference “A5” - and tap paste option. 
    Export the doc back to - c_cut&paste.pdb. 
    Merge c_cut&paste.pdb to - c_cut&paste.sxc.  -

    -

    A2 = “blank”.

    -

    A5 = 14. -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A2" & “A5” - which now holds the values blank & 14 resp. generated by the - changes detailed above.

    -
    -

    minicalc/convert/content/copy&paste
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm copy&paste test.  -

    -

    Procedure:
    Use test file c_copy&paste.sxc.  - -

    -

    Convert c_copy&paste.sxc to c_copy&paste.pdb, in - MiniCalc PDB format. 
    Start POSE with MiniCalc - application and import c_copy&paste.pdb. 
    Choose Cell - Reference "A5" with mouse, tap copy option on palm, - choose Cell Reference “A2” and tap paste option.  -
    Export the doc back to c_copy&paste.pdb. 
    Merge - c_copy&paste.pdb to c_copy&paste.sxc.  -

    -

    A2 = 14.

    -

    A5 = 14. -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A2" which now holds - the value 14 generated by the change detailed above.

    -
    -

    minicalc/convert/content/textentry
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm text entry test.  -

    -

    Procedure:
    Use test file c_textentry.sxc.  - -

    -

    Convert c_textentry.sxc to c_textentry.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_textentry.pdb. 
    Choose Cell Reference "A1" - with mouse, tap textentry option on palm, type the following text - string into the popup text box “This is a MiniCalc text - entry test.”.
    Export the doc back to c_textentry.pdb.  -
    Merge c_textentry.pdb to c_textentry.sxc.  -

    -

    A1 = “This is a MiniCalc text entry test.”

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A1" which now holds - the string “This is a MiniCalc text entry test”, - generated by the change detailed above.

    -
    -

    minicalc/convert/content/function
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm function test.  -

    -

    Procedure:
    Use test file c_function.sxc.  - -

    -

    Convert c_function.sxc to c_function.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_function.pdb. 
    Choose Cell Reference "A1" - with mouse, tap standard function option on palm, choose the - function AVERAGE from the popup list by tapping, type the values - “1;2;3” between the function brackets on the dotted - line were the cursor is placed and press return.
    Export the doc - back to c_function.pdb. 
    Merge c_function.pdb to - c_function.sxc.  -

    -

    A1 = AVERAGE(1;2;3) = 2.

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A1" which now holds - the result of the average function given args (1;2;3) = 2 - generated by the change detailed above.

    -
    -

    minicalc/convert/content/numberpad
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm numberpad test.  -

    -

    Procedure:
    Use test file c_numberpad.sxc.  - -

    -

    Convert c_numberpad.sxc to c_numberpad.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_numberpad.pdb. 
    Choose Cell Reference "A1" - with mouse, tap the “123” option on the palm, tap - “->”, “=”, “5-0+2” from - popup numberpad, and press return.
    Export the doc back to - c_numberpad.pdb. 
    Merge c_numberpad.pdb to - c_numberpad.sxc.  -

    -

    A1 = 5-0+2 = 7.

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A1" which now holds - the result of the formula 5-0+2, generated by the change detailed - above.

    -
    -

    minicalc/convert/content/math_funcs

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm numberpad test.  -

    -

    Procedure:
    Use test file c_math_funcs.sxc.  - -

    -

    Convert c_math_funcs.sxc to c_math_funcs.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_math_funcs.pdb. 
    Choose the Cell References below with - mouse,and for each type on the palm the corresponding entry before - pressing return.

    -

    A1 =
    Export the doc back to c_math_funcs.pdb. 
    Merge - c_math_funcs.pdb to c_math_funcs.sxc.  -

    -

    A1 = .

    -

    A2 =

    -

    A3 = -

    -

    A4 =

    -



    -

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A1" which now holds - the result of the formula 5-0+2, generated by the change detailed - above.

    -
    -

    minicalc/convert/content/insertrow
     

    -
    -

    Summary: Spreadsheet with 1 columns 4 rows 4entries - - Spreadsheet palm insert row test.  -

    -

    Procedure:
    Use test file c_insertrow.sxc.  - -

    -

    Convert c_insertrow.sxc to c_insertrow.pdb, in MiniCalc PDB - format. 
    Start POSE with MiniCalc application and import - c_insertrow.pdb. 

    -


    Select Cell Reference "A3" with mouse, tap the - side bar of the spreadsheet at position 3 on the palm, tap - “Insert” from popup menu, and press return. Select the - newly inserted Cell Reference with mouse and enter the number “2”, - press return.


    -

    -

    Export the doc back to c_insertrow.pdb. 
    Merge - c_insertrow.pdb to c_insertrow.sxc.  -

    -

    A1 = .

    -

    Expected result:
     Spreadsheet should display - all original sheet values, except "A1" which now holds - the result of the formula 5-0+2, generated by the change detailed - above.

    -
    -

    minicalc/convert/content/multi_boolean

    -
    -

    Summary: Spreadsheet with 1 column 8 entries - - Spreadsheet multi boolean entry.  -

    -

    Procedure:
    Use test file c_multi_boolean.sxc. - -

    -

    Convert c_multi_boolean.sxc to c_multi_boolean.pdb, in MiniCalc - PDB format. 
    Start POSE with MiniCalc application and - import c_multi_boolean.pdb. 
    Export the doc back to - c_multi_boolean.pdb. 
    Merge c_multi_boolean.pdb to - c_multi_boolean.sxc.  -

    -

    Logical Funtion test : cells A1-A4: -

    -

    A1-A4 = FALSE -

    -

    A5-A8 = TRUE -

    -

    Returns 4 logical FALSE & TRUE values resp.. -

    -

    Expected result:
     The logical entry of each - cell should be displayed on the sheet as stated above.

    -
    -


    -

    -
    -


    -

    -
    -


     
     
      -

    - - \ No newline at end of file diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedBinaryObject.java b/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedBinaryObject.java deleted file mode 100644 index 9ec0bc5291c6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedBinaryObject.java +++ /dev/null @@ -1,128 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import org.w3c.dom.Document; -import org.w3c.dom.DOMException; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - - -/** - * This class represents embedded object's in an OpenOffice.org document that - * have a binary representation. - */ -public class EmbeddedBinaryObject extends EmbeddedObject { - - /** The object's binary representation. */ - protected byte[] objData = null; - - /** - * Constructor for an embedded object stored using an XML representation. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - */ - public EmbeddedBinaryObject(String name, String type) { - super(name, type); - } - - - /** - * Package private constructor for use when reading an object from a - * compressed SX? file. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - * @param source The OfficeZip representation of the SX? file that stores - * the object. - */ - EmbeddedBinaryObject(String name, String type, OfficeZip source) { - super(name, type, source); - } - - - /** - * This method returns the data for this object. - * - * @return A byte array containing the object's data. - */ - public byte[] getBinaryData() { - - if (objData == null) { - // See if we came from a Zip file - if (zipFile != null) { - objData = zipFile.getNamedBytes(objName); - } - } - - return objData; - } - - - /** - * Sets the data for this object. - * - * @param data A byte array containing data for the object. - */ - public void setBinaryData(byte[] data) { - objData = data; - hasChanged = true; - } - - /** - * Package private method for writing the data of the EmbeddedObject to a - * SX? file. - * - * @param zip An OfficeZip instance representing the file - * the data is to be written to. - */ - void write(OfficeZip zip) { - if (hasChanged) { - zip.setNamedBytes(objName, objData); - } - } - - - /** - * Package private method that constructs the manifest.xml entries for this - * embedded object. - * - * @return Document Document containing the manifest entries. - */ - void writeManifestData(Document manifestDoc) throws DOMException { - Element objNode = manifestDoc.createElement(OfficeConstants.TAG_MANIFEST_FILE); - - objNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_TYPE, objType); - objNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_PATH, objName); - - manifestDoc.getDocumentElement().appendChild(objNode); - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedObject.java b/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedObject.java deleted file mode 100644 index f4220f1b3972..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedObject.java +++ /dev/null @@ -1,117 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml; - -import java.io.IOException; - -import org.w3c.dom.Document; -import org.w3c.dom.DOMException; - - -public abstract class EmbeddedObject { - protected String objName; - protected String objType; - - /** Representation of the file from which this object was read. */ - protected OfficeZip zipFile = null; - - /** Flag indicating if this document has changed since reading or is new. */ - protected boolean hasChanged = false; - - /** - * Constructor for an embedded object stored using an XML representation. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - */ - public EmbeddedObject(String name, String type) { - objName = name; - objType = type; - - hasChanged = true; - } - - - /** - * Package private constructor for use when reading an object from a - * compressed SX? file. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - * @param source The OfficeZip representation of the SX? file that stores - * the object. - */ - EmbeddedObject(String name, String type, OfficeZip source) { - this(name, type); - zipFile = source; - } - - - /** - * Retrieves the name of the embedded object represented by an instance of - * this class. - * - * N.B.The name referes to the name as found in the - * META-INF/manifest.xml file. - * - * @return The name of the object. - */ - public final String getName() { - return objName; - } - - - /** - * Retrieves the type of the embedded object represented by an instance of - * this class. - * - * The META-INF/manifest.xml file currently represents the - * type of an object using MIME types. - */ - public final String getType() { - return objType; - } - - /** - * Package private method for writing the data of the EmbeddedObject to a - * SX? file. - * - * @param zip An OfficeZip instance representing the file - * the data is to be written to. - */ - abstract void write(OfficeZip zip) throws IOException; - - /** - * Package private method that constructs the manifest.xml entries for this - * embedded object. - * - * @return Document Document containing the manifest entries. - */ - abstract void writeManifestData(Document manifestDoc) throws DOMException; -} \ No newline at end of file diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedXMLObject.java b/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedXMLObject.java deleted file mode 100644 index c07f6f116ca2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/EmbeddedXMLObject.java +++ /dev/null @@ -1,298 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import java.io.ByteArrayInputStream; -import java.io.IOException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Document; -import org.w3c.dom.DOMException; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import org.xml.sax.EntityResolver; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -/** - * This class represents those embedded objects in an OpenOffice.org document - * that have an XML representation. Currently, according to the OpenOffice.org - * File Format 1.0 document, there are 6 such objects: - * - * Formulae created with Math (application/vnd.sun.xml.math) - * Charts created with Chart (application/vnd.sun.xml.chart) - * Spreadsheets created with Calc (application/vnd.sun.xml.calc) - * Text created with Writer (application/vnd.sun.xml.writer) - * Drawings created with Draw (application/vnd.sun.xml.draw) - * Presentations created with Impress (application/vnd.sun.xml.impress) - * - * These object types are stored using a combination of content, settings and styles - * XML files. - */ -public class EmbeddedXMLObject extends EmbeddedObject { - - // Entries for the subdocuments that constitute this object; - protected Document contentDOM = null; - protected Document settingsDOM = null; - protected Document stylesDOM = null; - - private DocumentBuilder builder = null; - - /** - * Constructor for an embedded object stored using an XML representation. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - */ - public EmbeddedXMLObject(String name, String type) { - super(name, type); - } - - /** - * Package private constructor for use when reading an object from a - * compressed SX? file. - * - * @param name The name of the object. - * @param type The mime-type of the object. See the class summary. - * @param source The OfficeZip representation of the SX? file that stores - * the object. - */ - EmbeddedXMLObject(String name, String type, OfficeZip source) { - super(name, type, source); - } - - - /** - * Returns the content data for this embedded object. - * - * @return DOM represenation of "content.xml" - * - * @throws SAXException If any parser error occurs - * @throws IOException If any IO error occurs - */ - public Document getContentDOM() throws SAXException, IOException { - - if (contentDOM == null) { - contentDOM = getNamedDOM("content.xml"); - } - - return contentDOM; - } - - - /** - * Sets the content data for the embedded object. - * - * @param content DOM representation of the object's content. - */ - public void setContentDOM(Document content) { - contentDOM = content; - hasChanged = true; - } - - - /** - * Returns the settings data for this embedded object. - * - * @return DOM represenation of "settings.xml" - * - * @throws SAXException If any parser error occurs - * @throws IOException If any IO error occurs - */ - public Document getSettingsDOM() throws SAXException, IOException { - - if (settingsDOM == null) { - settingsDOM = getNamedDOM("settings.xml"); - } - - return settingsDOM; - } - - - /** - * Sets the settings data for the embedded object. - * - * @param styles DOM representation of the object's styles. - */ - public void setSettingsDOM(Document settings) { - settingsDOM = settings; - hasChanged = true; - } - - - /** - * Returns the style data for this embedded object. - * - * @return DOM represenation of "styles.xml" - * - * @throws SAXException If any parser error occurs - * @throws IOException If any IO error occurs - */ - public Document getStylesDOM() throws SAXException, IOException { - - if (stylesDOM == null) { - stylesDOM = getNamedDOM("styles.xml"); - } - - return stylesDOM; - } - - - /** - * Sets the styles data for the embedded object. - * - * @param styles DOM representation of the object's styles. - */ - public void setStylesDOM(Document styles) { - stylesDOM = styles; - hasChanged = true; - } - - - /** - * This method extracts the data for the given XML file from the SX? file - * and creates a DOM representation of it. - * - * @param name The name of the XML file to retrieve. It is paired with - * the object name to access the SX? file. - * - * @return DOM representation of the named XML file. - * - * @throws SAXException If any parser error occurs - * @throws IOException If any IO error occurs - */ - private Document getNamedDOM(String name) throws SAXException, IOException { - if (zipFile == null) { - return null; - } - - try { - if (builder == null) { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - - factory.setValidating(false); - builder = factory.newDocumentBuilder(); - } - - byte[] data = zipFile.getNamedBytes(new String(objName + "/" + name)); - if (data != null) { - return OfficeDocument.parse(builder, data); - } - else { - return null; - } - - } - catch (SAXException se) { - throw se; - } - catch (IOException ioe) { - throw ioe; - } - catch (ParserConfigurationException pce) { - throw new SAXException(pce); - } - } - - - /** - * Package private method for writing the data of the EmbeddedObject to a - * SX? file. - * - * @param zip An OfficeZip instance representing the file - * the data is to be written to. - */ - void write(OfficeZip zip) throws IOException { - if (hasChanged == true) { - if (contentDOM != null) { - zip.setNamedBytes(new String(objName + "/content.xml"), - OfficeDocument.docToBytes(contentDOM)); - } - if (settingsDOM != null) { - zip.setNamedBytes(new String(objName + "/settings.xml"), - OfficeDocument.docToBytes(settingsDOM)); - } - if (stylesDOM != null) { - zip.setNamedBytes(new String(objName + "/styles.xml"), - OfficeDocument.docToBytes(stylesDOM)); - } - } - } - - /** - * Package private method that constructs the manifest.xml entries for this - * embedded object. - * - * @param manifestDoc Document containing the manifest entries. - */ - void writeManifestData(Document manifestDoc) throws DOMException { - Node root = manifestDoc.getDocumentElement(); - - if (contentDOM != null) { - Element contentNode = manifestDoc.createElement(OfficeConstants.TAG_MANIFEST_FILE); - - contentNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - contentNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_PATH, - new String(objName + "/content.xml")); - - root.appendChild(contentNode); - } - - if (settingsDOM != null) { - Element settingsNode = manifestDoc.createElement(OfficeConstants.TAG_MANIFEST_FILE); - - settingsNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - settingsNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_PATH, - new String(objName + "/settings.xml")); - - root.appendChild(settingsNode); - } - - if (stylesDOM != null) { - Element stylesNode = manifestDoc.createElement(OfficeConstants.TAG_MANIFEST_FILE); - - stylesNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - stylesNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_PATH, - new String(objName + "/styles.xml")); - } - - - Element objectNode = manifestDoc.createElement(OfficeConstants.TAG_MANIFEST_FILE); - - objectNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_TYPE, objType); - objectNode.setAttribute(OfficeConstants.ATTRIBUTE_MANIFEST_FILE_PATH, - new String(objName + "/")); - - root.appendChild(objectNode); - } - -} \ No newline at end of file diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeConstants.java deleted file mode 100644 index 265c7a29e954..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeConstants.java +++ /dev/null @@ -1,439 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -/** - * This interface contains constants for StarOffice XML tags, - * attributes (StarCalc cell types, etc.). - * - * @author Herbie Ong, Paul Rank, Martin Maher - */ -public interface OfficeConstants { - - /** Element tag for office:document, this is the root tag. */ - public final static String TAG_OFFICE_DOCUMENT = "office:document"; - - /** - * Element tag for office:document-content, this is the root - * tag in content.xml. - */ - public final static String TAG_OFFICE_DOCUMENT_CONTENT = "office:document-content"; - - /** - * Element tag for office:document-settings, this is the root - * tag in content.xml. - */ - public final static String TAG_OFFICE_DOCUMENT_SETTINGS= "office:document-settings"; - - /** - * Element tag for office:document-meta, this is the root - * tag in content.xml. - */ - public final static String TAG_OFFICE_DOCUMENT_META= "office:document-meta"; - - /** - * Element tag for office:document-styles, this is the root tag - * in styles.xml. - */ - public final static String TAG_OFFICE_DOCUMENT_STYLES = "office:document-styles"; - - /** - * Attribute tag for office:class of element - * office:document. - */ - public final static String ATTRIBUTE_OFFICE_CLASS = "office:class"; - - /** Element tag for office:styles. */ - public final static String TAG_OFFICE_STYLES = "office:styles"; - - /** Element tag for office:meta. */ - public final static String TAG_OFFICE_META = "office:meta"; - - /** Element tag for office:automatic-styles. */ - public final static String TAG_OFFICE_AUTOMATIC_STYLES = "office:automatic-styles"; - - /** Element tag for office:master-styles. */ - public final static String TAG_OFFICE_MASTER_STYLES = "office:master-styles"; - - /** Element tag for office:body. */ - public final static String TAG_OFFICE_BODY = "office:body"; - - /** Element tag for office:settings. */ - public final static String TAG_OFFICE_SETTINGS = "office:settings"; - - //Adding - - /** Element tag for text:variable-set. */ - public final static String TAG_TEXT_VARIABLE_SET = "text:variable-set"; - - /** Element tag for text:variable-get. */ - public final static String TAG_TEXT_VARIABLE_GET = "text:variable-get"; -/** Element tag for text:expression. */ - public final static String TAG_TEXT_EXPRESSION = "text:expression"; - -/** Element tag for text:user-field-get. */ - public final static String TAG_TEXT_USER_FIELD_GET = "text:user-field-get"; - -/** Element tag for text:page-variable-get. */ - public final static String TAG_TEXT_PAGE_VARIABLE_GET = "text:page-variable-get"; -/** Element tag for text:sequence. */ - public final static String TAG_TEXT_SEQUENCE = "text:sequence"; - - /** Element tag for text:text-input. */ - public final static String TAG_TEXT_VARIABLE_INPUT = "text:variable-input"; - /** Element tag for text:time. */ - public final static String TAG_TEXT_TIME = "text:time"; - - /** Element tag for text:page-count. */ - public final static String TAG_TEXT_PAGE_COUNT = "text:page-count"; - /** Element tag for text:page-number. */ - public final static String TAG_TEXT_PAGE_NUMBER = "text:page-number"; - /** Element tag for text:author-initials. */ - public final static String TAG_TEXT_AUTHOR_INITIALS = "text:author-initials"; - /** Element tag for text:subject. */ - public final static String TAG_TEXT_SUBJECT = "text:subject"; - /** Element tag for text:title. */ - public final static String TAG_TEXT_TITLE = "text:title"; - /** Element tag for text:creation-time. */ - public final static String TAG_TEXT_CREATION_TIME = "text:creation-time"; - - /** Element tag for text:date. */ - public final static String TAG_TEXT_DATE = "text:date"; - /** Element tag for text:text-input. */ - public final static String TAG_TEXT_TEXT_INPUT = "text:text-input"; - - -//end adding - - /** Element tag for office:font-decls. */ - public final static String TAG_OFFICE_FONT_DECLS = "office:font-decls"; - - /** Element tag for style:font-decl. */ - public final static String TAG_STYLE_FONT_DECL = "style:font-decl"; - - /** Attribute tag for style:name of element style:name. */ - public final static String ATTRIBUTE_STYLE_NAME = "style:name"; - - /** - * Attribute tag for style:font-pitch of element - * style:font-pitch. - */ - public final static String ATTRIBUTE_STYLE_FONT_PITCH = "style:font-pitch"; - - /** - * Attribute tag for fo:font-family of element - * fo:font-family. - */ - public final static String ATTRIBUTE_FO_FONT_FAMILY = "fo:font-family"; - - /** - * Attribute tag for fo:font-family of element - * fo:font-family. - */ - public final static String ATTRIBUTE_FO_FONT_FAMILY_GENERIC = "fo:font-family-generic"; - - /** Element tag for text:p. */ - public final static String TAG_PARAGRAPH = "text:p"; - - /** Element tag for text:. */ - public final static String TAG_TEXT = "text:"; - - /** Element tag for text:h. */ - public final static String TAG_HEADING = "text:h"; - - /** Element tag for text:s. */ - public final static String TAG_SPACE = "text:s"; - - /** Element tag for text:tab-stop. */ - public final static String TAG_TAB_STOP = "text:tab-stop"; - - /** Element tag for text:line-break. */ - public final static String TAG_LINE_BREAK = "text:line-break"; - - /** Element tag for text:span. */ - public final static String TAG_SPAN = "text:span"; - - /** Element tag for text:a. */ - public final static String TAG_HYPERLINK = "text:a"; - - /** Element tag for text:bookmark. */ - public final static String TAG_BOOKMARK = "text:bookmark"; - - /** Element tag for text:bookmark-start. */ - public final static String TAG_BOOKMARK_START = "text:bookmark-start"; - - /** Element tag for text:unordered-list. */ - public final static String TAG_UNORDERED_LIST = "text:unordered-list"; - - /** Element tag for text:ordered-list. */ - public final static String TAG_ORDERED_LIST = "text:ordered-list"; - - /** Element tag for text:list-header. */ - public final static String TAG_LIST_HEADER = "text:list-header"; - - /** Element tag for text:list-item. */ - public final static String TAG_LIST_ITEM = "text:list-item"; - - /** Attribute tag for text:c of element text:s. */ - public final static String ATTRIBUTE_SPACE_COUNT = "text:c"; - - /** - * Attribute tag for text:style-name of element - * text:style-name. - */ - public final static String ATTRIBUTE_TEXT_STYLE_NAME = "text:style-name"; - - /** Element tag for table:table. */ - public final static String TAG_TABLE = "table:table"; - - /** Element tag for table:named-expression. */ - public final static String TAG_NAMED_EXPRESSIONS = "table:named-expressions"; - - /** Element tag for table:named-range. */ - public final static String TAG_TABLE_NAMED_RANGE= "table:named-range"; - - /** Element tag for table:named-expression. */ - public final static String TAG_TABLE_NAMED_EXPRESSION= "table:named-expression"; - - /** - * Attribute tag for table:name of element - * table:table. - */ - public final static String ATTRIBUTE_TABLE_NAME = "table:name"; - - /** - * Attribute tag for table:expression of element - * table:named-range. - */ - public final static String ATTRIBUTE_TABLE_EXPRESSION = "table:expression"; - - /** - * Attribute tag for table:base-cell-address of element - * table:named-range. - */ - public final static String ATTRIBUTE_TABLE_BASE_CELL_ADDRESS = "table:base-cell-address"; - - /** - * Attribute tag for table:cell-range-address of element - * table:named-range. - */ - public final static String ATTRIBUTE_TABLE_CELL_RANGE_ADDRESS = "table:cell-range-address"; - - /** Element tag for table:table-row. */ - public final static String TAG_TABLE_ROW = "table:table-row"; - - /** Element tag for table:table-column. */ - public final static String TAG_TABLE_COLUMN = "table:table-column"; - - /** - * Attribute tag for table:default-cell-style-name - * of element table:table-column. - */ - public final static String ATTRIBUTE_DEFAULT_CELL_STYLE = "table:default-cell-style-name"; - - /** Element tag for table:scenario. */ - public final static String TAG_TABLE_SCENARIO = "table:scenario"; - - /** Element tag for table:table-cell. */ - public final static String TAG_TABLE_CELL = "table:table-cell"; - - /** - * Attribute tag for table:value-type of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_VALUE_TYPE = "table:value-type"; - - /** - * Attribute tag for table:number-columns-repeated - * of element table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED = - "table:number-columns-repeated"; - - /** - * Attribute tag for table:number-rows-repeated - * of element table:table-row. - */ - public final static String ATTRIBUTE_TABLE_NUM_ROWS_REPEATED = - "table:number-rows-repeated"; - - /** - * Attribute tag for table:formula of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_FORMULA = "table:formula"; - - /** - * Attribute tag for table:value of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_VALUE = "table:value"; - - /** - * Attribute tag for table:date-value of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_DATE_VALUE = "table:date-value"; - - /** - * Attribute tag for table:time-value of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_TIME_VALUE = "table:time-value"; - - /** - * Attribute tag for table:string-value of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_STRING_VALUE = - "table:string-value"; - - /** - * Attribute tag for table:time-boolean-value of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_BOOLEAN_VALUE = - "table:boolean-value"; - - /** Attribute tag for table:style-name of table elements. */ - public final static String ATTRIBUTE_TABLE_STYLE_NAME = "table:style-name"; - - /** - * Attribute tag for table:currency of element - * table:table-cell. - */ - public final static String ATTRIBUTE_TABLE_CURRENCY = "table:currency"; - - /** The cell contains data of type string. */ - public final static String CELLTYPE_STRING = "string"; - - /** The cell contains data of type float. */ - public final static String CELLTYPE_FLOAT = "float"; - - /** The cell contains data of type time. */ - public final static String CELLTYPE_TIME = "time"; - - /** The cell contains data of type date. */ - public final static String CELLTYPE_DATE = "date"; - - /** The cell contains data of type currency. */ - public final static String CELLTYPE_CURRENCY = "currency"; - - /** The cell contains data of type boolean. */ - public final static String CELLTYPE_BOOLEAN = "boolean"; - - /** The cell contains data of type percent. */ - public final static String CELLTYPE_PERCENT = "percentage"; - - /** StarWriter XML file extension. */ - public final static String SXW_FILE_EXTENSION = ".sxw"; - - /** StarWriter XML office:class value. */ - public final static String SXW_TYPE = "text"; - - /** StarCalc XML file extension. */ - public final static String SXC_FILE_EXTENSION = ".sxc"; - - /** StarCalc XML office:class value. */ - public final static String SXC_TYPE = "spreadsheet"; - - /** Element tag for manifest:manifestentry in Manifest XML */ - public final static String TAG_MANIFEST_ROOT = "manifest:manifest"; - - /** Element tag for manifest:file-entry entry in Manifest XML. */ - public final static String TAG_MANIFEST_FILE = "manifest:file-entry"; - - /** - * Attribute tag for manifest:media-type of element - * manifest:file-entry. - */ - public final static String ATTRIBUTE_MANIFEST_FILE_TYPE = "manifest:media-type"; - - /** - * Attribute tag for manifest:full-path of element - * manifest:file-entry. - */ - public final static String ATTRIBUTE_MANIFEST_FILE_PATH = "manifest:full-path"; - - // Tags and Elements for the settings.xml - - /** Element tag for config:config-item. */ - public final static String TAG_CONFIG_ITEM = "config:config-item"; - - /** Element tag for config:config-item-set. */ - public final static String TAG_CONFIG_ITEM_SET = "config:config-item-set"; - - /** Element tag for config:config-item-map-indexed. */ - public final static String TAG_CONFIG_ITEM_MAP_INDEXED = "config:config-item-map-indexed"; - - /** Element tag for config:config-item-map-named. */ - public final static String TAG_CONFIG_ITEM_MAP_NAMED = "config:config-item-map-named"; - - /** Element tag for config:config-item-map-entry. */ - public final static String TAG_CONFIG_ITEM_MAP_ENTRY= "config:config-item-map-entry"; - - /** - * Attribute tag for config:name of element - * config:config-item. - */ - public final static String ATTRIBUTE_CONFIG_NAME = "config:name"; - - /** - * Attribute tag for config:type of element - * config:config-item. - */ - public final static String ATTRIBUTE_CONFIG_TYPE = "config:type"; - - - /** StarWriter XML MIME type. */ - public final static String SXW_MIME_TYPE = "application/vnd.sun.xml.writer"; - - /** StarWriter XML Template MIME type. */ - public final static String STW_MIME_TYPE = "application/vnd.sun.xml.writer.template"; - - /** StarCalc XML MIME type. */ - public final static String SXC_MIME_TYPE = "application/vnd.sun.xml.calc"; - - /** StarCalc XML Template MIME type. */ - public final static String STC_MIME_TYPE = "application/vnd.sun.xml.calc.template"; - - /** StarImpress XML MIME type. */ - public final static String SXI_MIME_TYPE = "application/vnd.sun.xml.impress"; - - /** StarImpress XML Template MIME type. */ - public final static String STI_MIME_TYPE = "application/vnd.sun.xml.impress.template"; - - /** StarDraw XML MIME type. */ - public final static String SXD_MIME_TYPE = "application/vnd.sun.xml.draw"; - - /** StarMath XML MIME type. */ - public final static String SXM_MIME_TYPE = "application/vnd.sun.xml.math"; - - /** StarWriter Global XML MIME Type */ - public final static String SXG_MIME_TYPE = "application/vnd.sun.xml.writer.global"; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocument.java b/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocument.java deleted file mode 100644 index 54da474289a3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocument.java +++ /dev/null @@ -1,1234 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -package org.openoffice.xmerge.converter.xml; - -import java.io.InputStream; -import java.io.OutputStream; -import java.io.Reader; -import java.io.BufferedReader; -import java.io.StringReader; -import java.io.InputStreamReader; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import java.util.Iterator; -import java.util.Map; -import java.util.HashMap; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.DocumentType; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -import org.w3c.dom.NamedNodeMap; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import org.openoffice.xmerge.util.Resources; -import org.openoffice.xmerge.util.Debug; - -/** - * An implementation of Document for - * StarOffice documents. - */ -public abstract class OfficeDocument - implements org.openoffice.xmerge.Document, - OfficeConstants { - - /** Factory for DocumentBuilder objects. */ - private static DocumentBuilderFactory factory = - DocumentBuilderFactory.newInstance(); - - /** DOM Document of content.xml. */ - private Document contentDoc = null; - - /** DOM Document of meta.xml. */ - private Document metaDoc = null; - - /** DOM Document of settings.xml. */ - private Document settingsDoc = null; - - /** DOM Document of content.xml. */ - private Document styleDoc = null; - - /** DOM Docuemtn of META-INF/manifest.xml. */ - private Document manifestDoc = null; - - private String documentName = null; - private String fileName = null; - - /** Resources object. */ - private Resources res = null; - - /** - * OfficeZip object to store zip contents from - * read InputStream. Note that this member - * will still be null if it was initialized using a template - * file instead of reading from a StarOffice zipped - * XML file. - */ - private OfficeZip zip = null; - - /** Collection to keep track of the embedded objects in the document. */ - private Map embeddedObjects = null; - - /** - * Default constructor. - * - * @param name Document name. - */ - public OfficeDocument(String name) - { - this(name, true, false); - } - - - /** - * Constructor with arguments to set namespaceAware - * and validating flags. - * - * @param name Document name (may or may not - * contain extension). - * @param namespaceAware Value for namespaceAware flag. - * @param validating Value for validating flag. - */ - public OfficeDocument(String name, boolean namespaceAware, boolean validating) { - - res = Resources.getInstance(); - factory.setValidating(validating); - factory.setNamespaceAware(namespaceAware); - this.documentName = trimDocumentName(name); - this.fileName = documentName + getFileExtension(); - } - - - /** - * Removes the file extension from the Document - * name. - * - * @param name Full Document name with extension. - * - * @return Name of Document without the extension. - */ - private String trimDocumentName(String name) { - String temp = name.toLowerCase(); - String ext = getFileExtension(); - - if (temp.endsWith(ext)) { - // strip the extension - int nlen = name.length(); - int endIndex = nlen - ext.length(); - name = name.substring(0,endIndex); - } - - return name; - } - - - /** - * Return a DOM Document object of the content.xml - * file. Note that a content DOM is not created when the constructor - * is called. So, either the read method or the - * initContentDOM method will need to be called ahead - * on this object before calling this method. - * - * @return DOM Document object. - */ - public Document getContentDOM() { - - return contentDoc; - } - - /** - * Return a DOM Document object of the meta.xml - * file. Note that a content DOM is not created when the constructor - * is called. So, either the read method or the - * initContentDOM method will need to be called ahead - * on this object before calling this method. - * - * @return DOM Document object. - */ - public Document getMetaDOM() { - - return metaDoc; - } - - - /** - * Return a DOM Document object of the settings.xml - * file. Note that a content DOM is not created when the constructor - * is called. So, either the read method or the - * initContentDOM method will need to be called ahead - * on this object before calling this method. - * - * @return DOM Document object. - */ - public Document getSettingsDOM() { - - return settingsDoc; - } - - - /** - * Sets the content tree of the document. - * - * @param newDom Node containing the new content tree. - */ - public void setContentDOM( Node newDom) { - contentDoc = (Document)newDom; - } - - - /** - * Sets the meta tree of the document. - * - * @param newDom Node containing the new meta tree. - */ - public void setMetaDOM (Node newDom) { - metaDoc = (Document)newDom; - } - - - /** - * Sets the settings tree of the document. - * - * @param newDom Node containing the new settings tree. - */ - public void setSettingsDOM (Node newDom) { - settingsDoc = (Document)newDom; - } - - - /** - * Sets the style tree of the document. - * - * @param newDom Node containing the new style tree. - */ - public void setStyleDOM (Node newDom) { - styleDoc = (Document)newDom; - } - - - /** - * Return a DOM Document object of the style.xml file. - * Note that this may return null if there is no style DOM. - * Note that a style DOM is not created when the constructor - * is called. Depending on the InputStream, a - * read method may or may not build a style DOM. When - * creating a new style DOM, call the initStyleDOM method - * first. - * - * @return DOM Document object. - */ - public Document getStyleDOM() { - - return styleDoc; - } - - - /** - * Return the name of the Document. - * - * @return The name of Document. - */ - public String getName() { - - return documentName; - } - - - /** - * Return the file name of the Document, possibly - * with the standard extension. - * - * @return The file name of Document. - */ - public String getFileName() { - - return fileName; - } - - - /** - * Returns the file extension for this type of - * Document. - * - * @return The file extension of Document. - */ - protected abstract String getFileExtension(); - - - /** - * Returns all the embedded objects (graphics, formulae, etc.) present in - * this document. - * - * @return An Iterator of EmbeddedObject objects. - */ - public Iterator getEmbeddedObjects() { - - if (embeddedObjects == null && manifestDoc != null) { - embeddedObjects = new HashMap(); - - // Need to read the manifest file and construct a list of objects - NodeList nl = manifestDoc.getElementsByTagName(TAG_MANIFEST_FILE); - - // Dont create the HashMap if there are no embedded objects - int len = nl.getLength(); - for (int i = 0; i < len; i++) { - Node n = nl.item(i); - - NamedNodeMap attrs = n.getAttributes(); - - String type = attrs.getNamedItem(ATTRIBUTE_MANIFEST_FILE_TYPE).getNodeValue(); - String path = attrs.getNamedItem(ATTRIBUTE_MANIFEST_FILE_PATH).getNodeValue(); - - - /* - * According to OpenOffice.org XML File Format document (ver. 1) - * there are only two types of embedded object: - * - * Objects with an XML representation. - * Objects without an XML representation. - * - * The former are represented by one or more XML files. - * The latter are in binary form. - */ - if (type.startsWith("application/vnd.sun.xml")) - { - if (path.equals("/")) { - // Exclude the main document entries - continue; - } - // Take off the trailing '/' - String name = path.substring(0, path.length() - 1); - embeddedObjects.put(name, new EmbeddedXMLObject(name, type, zip)); - } - else if (type.equals("text/xml")) { - // XML entries are either embedded StarOffice doc entries or main - // document entries - continue; - } - else { // FIX (HJ): allows empty MIME type - embeddedObjects.put(path, new EmbeddedBinaryObject(path, type, zip)); - } - } - } - - return embeddedObjects.values().iterator(); - } - - /** - * Returns the embedded object corresponding to the name provided. - * The name should be stripped of any preceding path characters, such as - * '/', '.' or '#'. - * - * @param name The name of the embedded object to retrieve. - * - * @return An EmbeddedObject instance representing the named - * object. - */ - public EmbeddedObject getEmbeddedObject(String name) { - if (name == null) { - return null; - } - - if (embeddedObjects == null) { - getEmbeddedObjects(); - } - - if (embeddedObjects.containsKey(name)) { - return (EmbeddedObject)embeddedObjects.get(name); - } - else { - return null; - } - } - - - /** - * Adds a new embedded object to the document. - * - * @param embObj An instance of EmbeddedObject. - */ - public void addEmbeddedObject(EmbeddedObject embObj) { - if (embObj == null) { - return; - } - - if (embeddedObjects == null) { - embeddedObjects = new HashMap(); - } - - embeddedObjects.put(embObj.getName(), embObj); - } - - - /** - * Read the Office Document from the given - * InputStream. - * - * @param is Office document InputStream. - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream is) throws IOException { - - Debug.log(Debug.INFO, "reading Office file"); - - DocumentBuilder builder = null; - - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException ex) { - throw new OfficeDocumentException(ex); - } - - // read in Office zip file format - - zip = new OfficeZip(); - zip.read(is); - - // grab the content.xml and - // parse it into contentDoc. - - byte contentBytes[] = zip.getContentXMLBytes(); - - if (contentBytes == null) { - - throw new OfficeDocumentException("Entry content.xml not found in file"); - } - - try { - - contentDoc = parse(builder, contentBytes); - - } catch (SAXException ex) { - - throw new OfficeDocumentException(ex); - } - - // if style.xml exists, grab the style.xml - // parse it into styleDoc. - - byte styleBytes[] = zip.getStyleXMLBytes(); - - if (styleBytes != null) { - - try { - - styleDoc = parse(builder, styleBytes); - - } catch (SAXException ex) { - - throw new OfficeDocumentException(ex); - } - } - - byte metaBytes[] = zip.getMetaXMLBytes(); - - if (metaBytes != null) { - - try { - - metaDoc = parse(builder, metaBytes); - - } catch (SAXException ex) { - - throw new OfficeDocumentException(ex); - } - } - - byte settingsBytes[] = zip.getSettingsXMLBytes(); - - if (settingsBytes != null) { - - try { - - settingsDoc = parse(builder, settingsBytes); - - } catch (SAXException ex) { - - throw new OfficeDocumentException(ex); - } - } - - - // Read in the META-INF/manifest.xml file - byte manifestBytes[] = zip.getManifestXMLBytes(); - - if (manifestBytes != null) { - - try { - manifestDoc = parse(builder, manifestBytes); - } catch (SAXException ex) { - throw new OfficeDocumentException(ex); - } - } - - } - - - /** - * Read the Office Document from the given - * InputStream. - * - * @param is Office document InputStream. - * @param isZip boolean Identifies whether - * a file is zipped or not - * - * @throws IOException If any I/O error occurs. - */ - public void read(InputStream is, boolean isZip) throws IOException { - - Debug.log(Debug.INFO, "reading Office file"); - - DocumentBuilder builder = null; - - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException ex) { - throw new OfficeDocumentException(ex); - } - - if (isZip) - { - read(is); - } - else{ - try{ - //System.out.println("\nParsing Input stream, validating?: "+builder.isValidating()); - //contentDoc= builder.parse((InputStream)is); - - Reader r = secondHack(is); - InputSource ins = new InputSource(r); - org.w3c.dom.Document newDoc = builder.parse(ins); - //org.w3c.dom.Document newDoc = builder.parse((InputStream)is); - Element rootElement=newDoc.getDocumentElement(); - - NodeList nodeList; - Node tmpNode; - Node rootNode = (Node)rootElement; - if (newDoc !=null){ - /*content*/ - contentDoc = createDOM(TAG_OFFICE_DOCUMENT_CONTENT); - rootElement=contentDoc.getDocumentElement(); - rootNode = (Node)rootElement; - - // FIX (HJ): Include office:font-decls in content DOM - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_FONT_DECLS); - if (nodeList.getLength()>0){ - tmpNode = contentDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - if (nodeList.getLength()>0){ - tmpNode = contentDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_BODY); - if (nodeList.getLength()>0){ - tmpNode = contentDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - /*Styles*/ - styleDoc = createDOM(TAG_OFFICE_DOCUMENT_STYLES); - rootElement=styleDoc.getDocumentElement(); - rootNode = (Node)rootElement; - - // FIX (HJ): Include office:font-decls in styles DOM - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_FONT_DECLS); - if (nodeList.getLength()>0){ - tmpNode = styleDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_STYLES); - if (nodeList.getLength()>0){ - tmpNode = styleDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - // FIX (HJ): Include office:automatic-styles in styles DOM - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - if (nodeList.getLength()>0){ - tmpNode = styleDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - // FIX (HJ): Include office:master-styles in styles DOM - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_MASTER_STYLES); - if (nodeList.getLength()>0){ - tmpNode = styleDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - /*Settings*/ - settingsDoc = createDOM(TAG_OFFICE_DOCUMENT_SETTINGS); - rootElement=settingsDoc.getDocumentElement(); - rootNode = (Node)rootElement; - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_SETTINGS); - if (nodeList.getLength()>0){ - tmpNode = settingsDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - /*Meta*/ - metaDoc = createDOM(TAG_OFFICE_DOCUMENT_META); - rootElement=metaDoc.getDocumentElement(); - rootNode = (Node)rootElement; - nodeList= newDoc.getElementsByTagName(TAG_OFFICE_META); - if (nodeList.getLength()>0){ - tmpNode = metaDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - } - } - catch (SAXException ex) { - throw new OfficeDocumentException(ex); - } - } - - } - - - - /** - * Parse given byte array into a DOM - * Document object using the - * DocumentBuilder object. - * - * @param builder DocumentBuilder object for parsing. - * @param bytes byte array for parsing. - * - * @return Resulting DOM Document object. - * - * @throws SAXException If any parsing error occurs. - */ - static Document parse(DocumentBuilder builder, byte bytes[]) - throws SAXException, IOException { - - Document doc = null; - - ByteArrayInputStream is = new ByteArrayInputStream(bytes); - - // TODO: replace hack with a more appropriate fix. - - Reader r = hack(is); - InputSource ins = new InputSource(r); - doc = builder.parse(ins); - - return doc; - } - - - /** - * Method to return the MIME type of the document. - * - * @return String The document's MIME type. - */ - protected abstract String getDocumentMimeType(); - - - /** - * Write out Office ZIP file format. - * - * @param os XML OutputStream. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - if (zip == null) { - zip = new OfficeZip(); - } - - initManifestDOM(); - - Element domEntry; - Element manifestRoot = manifestDoc.getDocumentElement(); - - // The EmbeddedObjects come first. - Iterator embObjs = getEmbeddedObjects(); - while (embObjs.hasNext()) { - EmbeddedObject obj = (EmbeddedObject)embObjs.next(); - obj.writeManifestData(manifestDoc); - - obj.write(zip); - } - - // Add in the entry for the Pictures directory. Always present. - domEntry = manifestDoc.createElement(TAG_MANIFEST_FILE); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "Pictures/"); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, ""); - manifestRoot.appendChild(domEntry); - - // Write content to the Zip file and then write any of the optional - // data, if it exists. - zip.setContentXMLBytes(docToBytes(contentDoc)); - - domEntry = manifestDoc.createElement(TAG_MANIFEST_FILE); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "content.xml"); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - - manifestRoot.appendChild(domEntry); - - if (styleDoc != null) { - zip.setStyleXMLBytes(docToBytes(styleDoc)); - - domEntry = manifestDoc.createElement(TAG_MANIFEST_FILE); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "styles.xml"); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - manifestRoot.appendChild(domEntry); - } - - if (metaDoc != null) { - zip.setMetaXMLBytes(docToBytes(metaDoc)); - - domEntry = manifestDoc.createElement(TAG_MANIFEST_FILE); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "meta.xml"); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - manifestRoot.appendChild(domEntry); - } - - if (settingsDoc != null) { - zip.setSettingsXMLBytes(docToBytes(settingsDoc)); - - domEntry = manifestDoc.createElement(TAG_MANIFEST_FILE); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "settings.xml"); - domEntry.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, "text/xml"); - manifestRoot.appendChild(domEntry); - } - - zip.setManifestXMLBytes(docToBytes(manifestDoc)); - - zip.write(os); - } - - - /** - * Write out Office ZIP file format. - * - * @param os XML OutputStream. - * @param isZip boolean - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os, boolean isZip) throws IOException { - - // Create an OfficeZip object if one does not exist. - if (isZip){ - write(os); - } - else{ - try{ - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder= builderFactory.newDocumentBuilder(); - DOMImplementation domImpl = builder.getDOMImplementation(); - DocumentType docType =domImpl.createDocumentType("office:document","-//OpenOffice.org//DTD OfficeDocument 1.0//EN",null); - org.w3c.dom.Document newDoc = domImpl.createDocument("http://openoffice.org/2000/office","office:document",null); - - - Element rootElement=newDoc.getDocumentElement(); - rootElement.setAttribute("xmlns:office","http://openoffice.org/2000/office"); - rootElement.setAttribute("xmlns:style","http://openoffice.org/2000/style" ); - rootElement.setAttribute("xmlns:text","http://openoffice.org/2000/text"); - rootElement.setAttribute("xmlns:table","http://openoffice.org/2000/table"); - - rootElement.setAttribute("xmlns:draw","http://openoffice.org/2000/drawing"); - rootElement.setAttribute("xmlns:fo","http://www.w3.org/1999/XSL/Format" ); - rootElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink" ); - rootElement.setAttribute("xmlns:dc","http://purl.org/dc/elements/1.1/" ); - rootElement.setAttribute("xmlns:meta","http://openoffice.org/2000/meta" ); - rootElement.setAttribute("xmlns:number","http://openoffice.org/2000/datastyle" ); - rootElement.setAttribute("xmlns:svg","http://www.w3.org/2000/svg" ); - rootElement.setAttribute("xmlns:chart","http://openoffice.org/2000/chart" ); - rootElement.setAttribute("xmlns:dr3d","http://openoffice.org/2000/dr3d" ); - rootElement.setAttribute("xmlns:math","http://www.w3.org/1998/Math/MathML" ); - rootElement.setAttribute("xmlns:form","http://openoffice.org/2000/form" ); - rootElement.setAttribute("xmlns:script","http://openoffice.org/2000/script" ); - rootElement.setAttribute("xmlns:config","http://openoffice.org/2001/config" ); - // #i41033# OASIS format needs the "office:class" set. - if(getDocumentMimeType() == SXC_MIME_TYPE) - rootElement.setAttribute("office:class","spreadsheet" ); - else if(getDocumentMimeType() == SXW_MIME_TYPE) - rootElement.setAttribute("office:class","text" ); - rootElement.setAttribute("office:version","1.0"); - - - NodeList nodeList; - Node tmpNode; - Node rootNode = (Node)rootElement; - if (metaDoc !=null){ - nodeList= metaDoc.getElementsByTagName(TAG_OFFICE_META); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - }if (styleDoc !=null){ - nodeList= styleDoc.getElementsByTagName(TAG_OFFICE_STYLES); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - }if (settingsDoc !=null){ - nodeList= settingsDoc.getElementsByTagName(TAG_OFFICE_SETTINGS); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - } - if (contentDoc !=null){ - nodeList= contentDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - - nodeList= contentDoc.getElementsByTagName(TAG_OFFICE_BODY); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - } - - byte contentBytes[] = docToBytes(newDoc); - //System.out.println(new String(contentBytes)); - os.write(contentBytes); - } - catch(Exception exc){ - System.out.println("\nException in OfficeDocument.write():" +exc); - } - //byte contentBytes[] = docToBytes(contentDoc); - } - } - - - /** - *

    Write out a org.w3c.dom.Document object into a - * byte array.

    - * - *

    TODO: remove dependency on com.sun.xml.tree.XmlDocument - * package!

    - * - * @param Document DOM Document object. - * - * @return byte array of DOM Document - * object. - * - * @throws IOException If any I/O error occurs. - */ - static byte[] docToBytes(Document doc) - throws IOException { - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - java.lang.reflect.Constructor con; - java.lang.reflect.Method meth; - - String domImpl = doc.getClass().getName(); - - /* - * We may have multiple XML parsers in the Classpath. - * Depending on which one is first, the actual type of - * doc may vary. Need a way to find out which API is being - * used and use an appropriate serialization method. - */ - try { - // First of all try for JAXP 1.0 - if (domImpl.equals("com.sun.xml.tree.XmlDocument")) { - - Debug.log(Debug.INFO, "Using JAXP"); - - Class jaxpDoc = Class.forName("com.sun.xml.tree.XmlDocument"); - - // The method is in the XMLDocument class itself, not a helper - meth = jaxpDoc.getMethod("write", - new Class[] { Class.forName("java.io.OutputStream") } ); - - meth.invoke(doc, new Object [] { baos } ); - } - else if (domImpl.equals("org.apache.crimson.tree.XmlDocument")) - { - Debug.log(Debug.INFO, "Using Crimson"); - - Class crimsonDoc = Class.forName("org.apache.crimson.tree.XmlDocument"); - // The method is in the XMLDocument class itself, not a helper - meth = crimsonDoc.getMethod("write", - new Class[] { Class.forName("java.io.OutputStream") } ); - - meth.invoke(doc, new Object [] { baos } ); - } - else if (domImpl.equals("org.apache.xerces.dom.DocumentImpl") - || domImpl.equals("org.apache.xerces.dom.DeferredDocumentImpl")) { - - Debug.log(Debug.INFO, "Using Xerces"); - - // Try for Xerces - Class xercesSer = - Class.forName("org.apache.xml.serialize.XMLSerializer"); - - // Get the OutputStream constructor - // May want to use the OutputFormat parameter at some stage too - con = xercesSer.getConstructor(new Class [] - { Class.forName("java.io.OutputStream"), - Class.forName("org.apache.xml.serialize.OutputFormat") } ); - - - // Get the serialize method - meth = xercesSer.getMethod("serialize", - new Class [] { Class.forName("org.w3c.dom.Document") } ); - - - // Get an instance - Object serializer = con.newInstance(new Object [] { baos, null } ); - - - // Now call serialize to write the document - meth.invoke(serializer, new Object [] { doc } ); - } - else { - // We don't have another parser - throw new IOException("No appropriate API (JAXP/Xerces) to serialize XML document: " + domImpl); - } - } - catch (ClassNotFoundException cnfe) { - throw new IOException(cnfe.toString()); - } - catch (Exception e) { - // We may get some other errors, but the bottom line is that - // the steps being executed no longer work - throw new IOException(e.toString()); - } - - byte bytes[] = baos.toByteArray(); - - return bytes; - } - - - /** - * Initializes a new DOM Document with the content - * containing minimum OpenOffice XML tags. - * - * @throws IOException If any I/O error occurs. - */ - public final void initContentDOM() throws IOException { - - contentDoc = createDOM(TAG_OFFICE_DOCUMENT_CONTENT); - - // this is a work-around for a bug in Office6.0 - not really - // needed but StarCalc 6.0 will crash without this tag. - Element root = contentDoc.getDocumentElement(); - - Element child = contentDoc.createElement(TAG_OFFICE_FONT_DECLS); - root.appendChild(child); - - child = contentDoc.createElement(TAG_OFFICE_AUTOMATIC_STYLES); - root.appendChild(child); - - child = contentDoc.createElement(TAG_OFFICE_BODY); - root.appendChild(child); - } - - /** - * Initializes a new DOM Document with the content - * containing minimum OpenOffice XML tags. - * - * @throws IOException If any I/O error occurs. - */ - public final void initSettingsDOM() throws IOException { - - settingsDoc = createSettingsDOM(TAG_OFFICE_DOCUMENT_SETTINGS); - - // this is a work-around for a bug in Office6.0 - not really - // needed but StarCalc 6.0 will crash without this tag. - Element root = settingsDoc.getDocumentElement(); - - Element child = settingsDoc.createElement(TAG_OFFICE_SETTINGS); - root.appendChild(child); - } - - /** - * Initializes a new DOM Document with styles - * containing minimum OpenOffice XML tags. - * - * @throws IOException If any I/O error occurs. - */ - public final void initStyleDOM() throws IOException { - - styleDoc = createDOM(TAG_OFFICE_DOCUMENT_STYLES); - } - - /** - *

    Creates a new DOM Document containing minimum - * OpenOffice XML tags.

    - * - *

    This method uses the subclass - * getOfficeClassAttribute method to get the - * attribute for office:class.

    - * - * @param rootName root name of Document. - * - * @throws IOException If any I/O error occurs. - */ - private final Document createSettingsDOM(String rootName) throws IOException { - - Document doc = null; - - try { - - DocumentBuilder builder = factory.newDocumentBuilder(); - doc = builder.newDocument(); - - } catch (ParserConfigurationException ex) { - - throw new OfficeDocumentException(ex); - - } - - Element root = (Element) doc.createElement(rootName); - doc.appendChild(root); - - root.setAttribute("xmlns:office", "http://openoffice.org/2000/office"); - root.setAttribute("xmlns:xlink", "http://openoffice.org/1999/xlink"); - root.setAttribute("xmlns:config", "http://openoffice.org/2001/config"); - root.setAttribute("office:version", "1.0"); - - return doc; - } - - - /** - *

    Creates a new DOM Document containing minimum - * OpenOffice XML tags.

    - * - *

    This method uses the subclass - * getOfficeClassAttribute method to get the - * attribute for office:class.

    - * - * @param rootName root name of Document. - * - * @throws IOException If any I/O error occurs. - */ - private final Document createDOM(String rootName) throws IOException { - - Document doc = null; - - try { - - DocumentBuilder builder = factory.newDocumentBuilder(); - doc = builder.newDocument(); - - } catch (ParserConfigurationException ex) { - - throw new OfficeDocumentException(ex); - - } - - Element root = (Element) doc.createElement(rootName); - doc.appendChild(root); - - root.setAttribute("xmlns:office", "http://openoffice.org/2000/office"); - root.setAttribute("xmlns:style", "http://openoffice.org/2000/style"); - root.setAttribute("xmlns:text", "http://openoffice.org/2000/text"); - root.setAttribute("xmlns:table", "http://openoffice.org/2000/table"); - root.setAttribute("xmlns:draw", "http://openoffice.org/2000/drawing"); - root.setAttribute("xmlns:fo", "http://www.w3.org/1999/XSL/Format"); - root.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"); - root.setAttribute("xmlns:number", "http://openoffice.org/2000/datastyle"); - root.setAttribute("xmlns:svg", "http://www.w3.org/2000/svg"); - root.setAttribute("xmlns:chart", "http://openoffice.org/2000/chart"); - root.setAttribute("xmlns:dr3d", "http://openoffice.org/2000/dr3d"); - root.setAttribute("xmlns:math", "http://www.w3.org/1998/Math/MathML"); - root.setAttribute("xmlns:form", "http://openoffice.org/2000/form"); - root.setAttribute("xmlns:script", "http://openoffice.org/2000/script"); - root.setAttribute("office:class", getOfficeClassAttribute()); - root.setAttribute("office:version", "1.0"); - - return doc; - } - - - /** - * Return the office:class attribute value. - * - * @return The attribute value. - */ - protected abstract String getOfficeClassAttribute(); - - - /** - *

    Hacked code to filter tag before - * sending stream to parser.

    - * - *

    This hacked code needs to be changed later on.

    - * - *

    Issue: using current jaxp1.0 parser, there is no way - * to turn off processing of dtds. Current set of dtds - * have bugs, processing them will throw exceptions.

    - * - *

    This is a simple hack that assumes the whole - * tag are all in the same line. This is sufficient for - * current StarOffice 6.0 generated XML files. Since this - * hack really needs to go away, I don't want to spend - * too much time in making it a perfect hack.

    - * FIX (HJ): Removed requirement for DOCTYPE to be in one line - * FIX (HJ): No longer removes newlines - * - * @param is InputStream to be filtered. - * - * @return Reader value without the tag. - * - * @throws IOException If any I/O error occurs. - */ - private static Reader hack(InputStream is) throws IOException { - - BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); - StringBuffer buffer = new StringBuffer(is.available()); - - String str = null; - - while ((str = br.readLine()) != null) { - - int sIndex = str.indexOf(" -1) { - - buffer.append(str.substring(0, sIndex)); - - int eIndex = str.indexOf('>', sIndex + 8 ); - - if (eIndex > -1) { - - buffer.append(str.substring(eIndex + 1, str.length())); - // FIX (HJ): Preserve the newline - buffer.append("\n"); - - } else { - - // FIX (HJ): More than one line. Search for '>' in following lines - boolean bOK = false; - while ((str = br.readLine())!=null) { - eIndex = str.indexOf('>'); - if (eIndex>-1) { - buffer.append(str.substring(eIndex+1)); - // FIX (HJ): Preserve the newline - buffer.append("\n"); - bOK = true; - break; - } - } - - if (!bOK) { throw new IOException("Invalid XML"); } - } - - } else { - - buffer.append(str); - // FIX (HJ): Preserve the newline - buffer.append("\n"); - } - } - - StringReader r = new StringReader(buffer.toString()); - return r; - } - - /** - *

    Transform the InputStream to a Reader Stream.

    - * - *

    This hacked code needs to be changed later on.

    - * - *

    Issue: the new oasis input file stream means - * that the old input stream fails. see #i33702#

    - * - * @param is InputStream to be filtered. - * - * @return Reader value of the InputStream(). - * - * @throws IOException If any I/O error occurs. - */ - private static Reader secondHack(InputStream is) throws IOException { - - BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); - char[] charArray = new char[is.available()]; - - br.read(charArray,0,is.available()); - String sStr = new String(charArray); - StringBuffer sBuf = new StringBuffer(is.available()); - // ensure there is no trailing garbage after the end of the stream. - int sIndex = sStr.lastIndexOf(""); - sBuf.append(sStr.substring(0, sIndex)); - sBuf.append(""); - StringReader r = new StringReader(sBuf.toString()); - return r; - } - - - /** - * Method to create the initial entries in the manifest.xml file stored - * in an SX? file. - */ - private void initManifestDOM() throws IOException { - - try { - DocumentBuilder builder = factory.newDocumentBuilder(); - DOMImplementation domImpl = builder.getDOMImplementation(); - - DocumentType docType = domImpl.createDocumentType(TAG_MANIFEST_ROOT, - "-//OpenOffice.org//DTD Manifest 1.0//EN", - "Manifest.dtd"); - manifestDoc = domImpl.createDocument("manifest", TAG_MANIFEST_ROOT, docType); - } catch (ParserConfigurationException ex) { - throw new OfficeDocumentException(ex); - } - - // Add the entry - Element manifestRoot = manifestDoc.getDocumentElement(); - - manifestRoot.setAttribute("xmlns:manifest", "http://openoffice.org/2001/manifest"); - - Element docRoot = manifestDoc.createElement(TAG_MANIFEST_FILE); - - docRoot.setAttribute(ATTRIBUTE_MANIFEST_FILE_PATH, "/"); - docRoot.setAttribute(ATTRIBUTE_MANIFEST_FILE_TYPE, getDocumentMimeType()); - - manifestRoot.appendChild(docRoot); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocumentException.java b/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocumentException.java deleted file mode 100644 index 0de5f1f9d9ef..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeDocumentException.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import java.io.IOException; - -import javax.xml.parsers.ParserConfigurationException; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import org.openoffice.xmerge.util.Resources; - -/** - * Used by OfficeDocument to encapsulate exceptions. It will add - * more details to the message string if it is of type - * SAXParseException. - * - * @author Herbie Ong - */ - -public final class OfficeDocumentException extends IOException { - - StringBuffer message = null; - - - /** - * Constructor, capturing additional information from the - * SAXException. - * - * @param e The SAXException. - */ - public OfficeDocumentException(SAXException e) { - super(e.toString()); - message = new StringBuffer(); - if (e instanceof SAXParseException) { - String msgParseError = - Resources.getInstance().getString("PARSE_ERROR"); - String msgLine = - Resources.getInstance().getString("LINE"); - String msgColumn = - Resources.getInstance().getString("COLUMN"); - String msgPublicId = - Resources.getInstance().getString("PUBLIC_ID"); - String msgSystemId = - Resources.getInstance().getString("SYSTEM_ID"); - SAXParseException spe = (SAXParseException) e; - message.append(msgParseError); - message.append(": "); - message.append(msgLine); - message.append(": "); - message.append(spe.getLineNumber()); - message.append(", "); - message.append(msgColumn); - message.append(": "); - message.append(spe.getColumnNumber()); - message.append(", "); - message.append(msgSystemId); - message.append(": "); - message.append(spe.getSystemId()); - message.append(", "); - message.append(msgPublicId); - message.append(": "); - message.append(spe.getPublicId()); - message.append("\n"); - } - - // if there exists an embedded exception - Exception ex = e.getException(); - if (ex != null) { - message.append(ex.getMessage()); - } - } - - - /** - * Constructor, creates exception with provided message. - * - * @param s Message value for the exception. - */ - public OfficeDocumentException(String s) { - super(s); - } - - - /** - * Constructor, creates exception with the message - * corresponding to the message value of the provided - * exception. - * - * @param e The Exception. - */ - public OfficeDocumentException(Exception e) { - super(e.getMessage()); - } - - - /** - * Returns the message value for the Exception. - * - * @return The message value for the Exception. - */ - public String getMessage() { - return message.toString() + super.getMessage(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeZip.java b/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeZip.java deleted file mode 100644 index cfd7bcf42049..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/OfficeZip.java +++ /dev/null @@ -1,458 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import java.util.List; -import java.util.ListIterator; -import java.util.LinkedList; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; -import java.util.zip.ZipEntry; -import java.util.zip.CRC32; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.IOException; -import java.io.ByteArrayOutputStream; - -import org.openoffice.xmerge.util.Debug; - -/** - * Class used by {@link - * org.openoffice.xmerge.converter.OfficeDocument - * OfficeDocument} to handle reading and writing - * from a ZIP file, as well as storing ZIP entries. - * - * @author Herbie Ong - */ -class OfficeZip { - - /** File name of the XML file in a zipped document. */ - private final static String CONTENTXML = "content.xml"; - - private final static String STYLEXML = "styles.xml"; - private final static String METAXML = "meta.xml"; - private final static String SETTINGSXML = "settings.xml"; - private final static String MANIFESTXML = "META-INF/manifest.xml"; - - private final static int BUFFERSIZE = 1024; - - private List entryList = null; - - private int contentIndex = -1; - private int styleIndex = -1; - private int metaIndex = -1; - private int settingsIndex = -1; - private int manifestIndex = -1; - - /** Default constructor. */ - OfficeZip() { - - entryList = new LinkedList(); - } - - - /** - *

    Read each zip entry in the InputStream object - * and store in entryList both the ZipEntry object - * as well as the bits of each entry. Call this method before - * calling the getContentXMLBytes method or the - * getStyleXMLBytes method.

    - * - *

    Keep track of the CONTENTXML and STYLEXML using - * contentIndex and styleIndex, respectively.

    - * - * @param is InputStream object to read. - * - * @throws IOException If any I/O error occurs. - */ - void read(InputStream is) throws IOException { - - ZipInputStream zis = new ZipInputStream(is); - ZipEntry ze = null; - int i = -1; - - while ((ze = zis.getNextEntry()) != null) { - - String name = ze.getName(); - - Debug.log(Debug.TRACE, "reading entry: " + name); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - int len = 0; - byte buffer[] = new byte[BUFFERSIZE]; - - while ((len = zis.read(buffer)) > 0) { - baos.write(buffer, 0, len); - } - - byte bytes[] = baos.toByteArray(); - Entry entry = new Entry(ze,bytes); - - entryList.add(entry); - - i++; - - if (name.equalsIgnoreCase(CONTENTXML)) { - contentIndex = i; - } - else if (name.equalsIgnoreCase(STYLEXML)) { - styleIndex = i; - } - else if (name.equalsIgnoreCase(METAXML)) { - metaIndex = i; - } - else if (name.equalsIgnoreCase(SETTINGSXML)) { - settingsIndex = i; - } - else if (name.equalsIgnoreCase(MANIFESTXML)) { - manifestIndex = i; - } - - } - - zis.close(); - } - - - /** - * This method returns the CONTENTXML file in a - * byte array. It returns null if there is no - * CONTENTXML in this zip file. - * - * @return CONTENTXML in a byte array. - */ - byte[] getContentXMLBytes() { - - return getEntryBytes(contentIndex); - } - - - /** - * This method returns the STYLEXML file in a - * byte array. It returns null if there is - * no STYLEXML in this zip file. - * - * @return STYLEXML in a byte array. - */ - byte[] getStyleXMLBytes() { - - return getEntryBytes(styleIndex); - } - - /** - * This method returns the METAXML file in a - * byte array. It returns null if there is - * no METAXML in this zip file. - * - * @return METAXML in a byte array. - */ - byte[] getMetaXMLBytes() { - return getEntryBytes(metaIndex); - } - - /** - * This method returns the SETTINGSXML file in a - * byte array. It returns null if there is - * no SETTINGSXML in this zip file. - * - * @return SETTINGSXML in a byte array. - */ - byte[] getSettingsXMLBytes() { - return getEntryBytes(settingsIndex); - } - - /** - * This method returns the MANIFESTXML file in a byte array. - * It returns null if there is no MANIFESTXML in this zip file. - * - * @return MANIFESTXML in a byte array. - */ - byte[] getManifestXMLBytes() { - return getEntryBytes(manifestIndex); - } - - /** - * This method returns the bytes corresponding to the entry named in the - * parameter. - * - * @param name The name of the entry in the Zip file to retrieve. - * - * @return The data for the named entry in a byte array or - * null if no entry is found. - */ - byte[] getNamedBytes(String name) { - - // The list is not sorted, and sorting it for a binary search would - // invalidate the indices stored for the main files. - - // Could improve performance by caching the name and index when - // iterating through the ZipFile in read(). - for (int i = 0; i < entryList.size(); i++) { - Entry e = (Entry)entryList.get(i); - - if (e.zipEntry.getName().equals(name)) { - return getEntryBytes(i); - } - } - - return null; - } - - - /** - * This method sets the bytes for the named entry. It searches for a - * matching entry in the LinkedList. If no entry is found, a new one is - * created. - * - * Writing of data is defferred to setEntryBytes(). - * - * @param name The name of the entry to search for. - * @param bytes The new data to write. - */ - void setNamedBytes(String name, byte[] bytes) { - for (int i = 0; i < entryList.size(); i++) { - Entry e = (Entry)entryList.get(i); - - if (e.zipEntry.getName().equals(name)) { - setEntryBytes(i, bytes, name); - return; - } - } - - // If we're here, no entry was found. Call setEntryBytes with an index - // of -1 to insert a new entry. - setEntryBytes(-1, bytes, name); - } - - /** - * Used by the getContentXMLBytes method and the - * getStyleXMLBytes method to return the - * byte array from the corresponding - * entry in the entryList. - * - * @param index Index of Entry object in - * entryList. - * - * @return byte array associated in that - * Entry object or null, if there is - * not such Entry. - */ - private byte[] getEntryBytes(int index) { - - byte[] bytes = null; - - if (index > -1) { - Entry entry = (Entry) entryList.get(index); - bytes = entry.bytes; - } - return bytes; - } - - - /** - * Set or replace the byte array for the - * CONTENTXML file. - * - * @param bytes byte array for the - * CONTENTXML file. - */ - void setContentXMLBytes(byte bytes[]) { - - contentIndex = setEntryBytes(contentIndex, bytes, CONTENTXML); - } - - - /** - * Set or replace the byte array for the - * STYLEXML file. - * - * @param bytes byte array for the - * STYLEXML file. - */ - void setStyleXMLBytes(byte bytes[]) { - - styleIndex = setEntryBytes(styleIndex, bytes, STYLEXML); - } - - - /** - * Set or replace the byte array for the - * METAXML file. - * - * @param bytes byte array for the - * METAXML file. - */ - void setMetaXMLBytes(byte bytes[]) { - - metaIndex = setEntryBytes(metaIndex, bytes, METAXML); - } - - - /** - * Set or replace the byte array for the - * SETTINGSXML file. - * - * @param bytes byte array for the - * SETTINGSXML file. - */ - void setSettingsXMLBytes(byte bytes[]) { - - settingsIndex = setEntryBytes(settingsIndex, bytes, SETTINGSXML); - } - - - /** - * Set or replace the byte array for the MANIFESTXML file. - * - * @param bytes byte array for the MANIFESTXML file. - */ - void setManifestXMLBytes(byte bytes[]) { - manifestIndex = setEntryBytes(manifestIndex, bytes, MANIFESTXML); - } - - /** - *

    Used by the setContentXMLBytes method and - * the setStyleXMLBytes to either replace an - * existing Entry, or create a new entry in - * entryList.

    - * - *

    If there is an Entry object within - * entryList that corresponds to the index, replace the - * ZipEntry info.

    - * - * @param index Index of Entry to modify. - * @param bytes Entry value. - * @param name Name of Entry. - * - * @return Index of value added or modified in entryList - */ - private int setEntryBytes(int index, byte bytes[], String name) { - - if (index > -1) { - - // replace existing entry in entryList - - Entry entry = (Entry) entryList.get(index); - name = entry.zipEntry.getName(); - int method = entry.zipEntry.getMethod(); - - ZipEntry ze = createZipEntry(name, bytes, method); - - entry.zipEntry = ze; - entry.bytes= bytes; - - } else { - - // add a new entry into entryList - ZipEntry ze = createZipEntry(name, bytes, ZipEntry.DEFLATED); - Entry entry = new Entry(ze, bytes); - entryList.add(entry); - index = entryList.size() - 1; - } - - return index; - } - - - /** - * Write out the ZIP entries into the OutputStream - * object. - * - * @param os OutputStream object to write ZIP. - * - * @throws IOException If any ZIP I/O error occurs. - */ - void write(OutputStream os) throws IOException { - - Debug.log(Debug.TRACE, "Writing out the following entries into zip."); - - ZipOutputStream zos = new ZipOutputStream(os); - - ListIterator iterator = entryList.listIterator(); - - while (iterator.hasNext()) { - - Entry entry = (Entry) iterator.next(); - ZipEntry ze = entry.zipEntry; - - String name = ze.getName(); - - Debug.log(Debug.TRACE, "... " + name); - - zos.putNextEntry(ze); - zos.write(entry.bytes); - } - - zos.close(); - } - - - /** - * Creates a ZipEntry object based on the given params. - * - * @param name Name for the ZipEntry. - * @param bytes byte array for ZipEntry. - * @param method ZIP method to be used for ZipEntry. - * - * @return A ZipEntry object. - */ - private ZipEntry createZipEntry(String name, byte bytes[], int method) { - - ZipEntry ze = new ZipEntry(name); - - ze.setMethod(method); - ze.setSize(bytes.length); - - CRC32 crc = new CRC32(); - crc.reset(); - crc.update(bytes); - ze.setCrc(crc.getValue()); - - ze.setTime(System.currentTimeMillis()); - - return ze; - } - - /** - * This inner class is used as a data structure for holding - * a ZipEntry info and its corresponding bytes. - * These are stored in entryList. - */ - private class Entry { - - ZipEntry zipEntry = null; - byte bytes[] = null; - - Entry(ZipEntry zipEntry, byte bytes[]) { - this.zipEntry = zipEntry; - this.bytes = bytes; - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/ParaStyle.java b/xmerge/java/org/openoffice/xmerge/converter/xml/ParaStyle.java deleted file mode 100644 index 10a1dbaaaed1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/ParaStyle.java +++ /dev/null @@ -1,607 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import java.io.IOException; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import java.lang.reflect.Constructor; -import org.openoffice.xmerge.util.Debug; - - -abstract class conversionAlgorithm { - int I(String val) { - return 0; - } -} - - /* - * This algorithm expects only values in millimeters, e.g. "20.3mm". - */ -class horizSize extends conversionAlgorithm { - int I(String value) { - if (value.endsWith("mm")) { - float size = (float)0.0; - String num = value.substring(0, value.length() - 2); - try { - size = Float.parseFloat(num); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Error parsing " + value, e); - } - size *= 100; - return (int)size; - } else { - Debug.log(Debug.ERROR, "Unexpected value (" + value - + ") in horizSize.I()"); - return 0; - } - } -} - - -/* - * This algorithm does line height - can be either millimeters or - * a percentage. - */ -class lineHeight extends conversionAlgorithm { - int I(String value) { - if (value.endsWith("mm")) { - float size = (float)0.0; - String num = value.substring(0, value.length() - 2); - try { - size = Float.parseFloat(num); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Error parsing " + value, e); - } - size *= 100; - return (int)size; - } else if (value.endsWith("%")) { - float size = (float)0.0; - String num = value.substring(0, value.length() - 1); - try { - size = Float.parseFloat(num); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Error parsing " + value, e); - } - int retval = (int) size; - retval |= ParaStyle.LH_PCT; - return retval; - } - return 0; - } -} - - -/** - * This class converts alignment values. - */ -class alignment extends conversionAlgorithm { - int I(String value) { - if (value.equals("end")) - return ParaStyle.ALIGN_RIGHT; - if (value.equals("right")) - return ParaStyle.ALIGN_RIGHT; - if (value.equals("center")) - return ParaStyle.ALIGN_CENTER; - if (value.equals("justify")) - return ParaStyle.ALIGN_JUST; - if (value.equals("justified")) - return ParaStyle.ALIGN_JUST; - if (value.equals("start")) - return ParaStyle.ALIGN_LEFT; - if (value.equals("left")) - return ParaStyle.ALIGN_LEFT; - Debug.log(Debug.ERROR, "Unknown string (" - + value + ") in alignment.I()"); - return ParaStyle.ALIGN_LEFT; - } -} - - -/** - *

    This class represents a paragraph Style.

    - * - *

    - * Attribute Value - *
    - * MARGIN_LEFT mm * 100 - *
    - * MARGIN_RIGHT mm * 100 - *
    - * MARGIN_TOP mm * 100 (space on top of paragraph) - *
    - * MARGIN_BOTTOM mm * 100 - *
    - * TEXT_INDENT mm * 100 (first line indent) - *
    - * LINE_HEIGHT mm * 100, unless or'ed with LH_PCT, in which - * case it is a percentage (e.g. 200% for double spacing) - * Can also be or'ed with LH_ATLEAST. Value is stored - * in bits indicated by LH_VALUEMASK. - *
    - * TEXT_ALIGN ALIGN_RIGHT, ALIGN_CENTER, ALIGN_JUST, ALIGN_LEFT - *

    - * - * @author David Proulx - */ -public class ParaStyle extends Style implements Cloneable { - - /** The left margin property. */ - public static final int MARGIN_LEFT = 0; - /** The right margin property. */ - public static final int MARGIN_RIGHT = 1; - /** The top margin property. */ - public static final int MARGIN_TOP = 2; - /** The bottom margin property. */ - public static final int MARGIN_BOTTOM = 3; - /** Indent left property. */ - public static final int TEXT_INDENT = 4; - /** Indent right property. */ - public static final int LINE_HEIGHT = 5; - /** Align text property. */ - public static final int TEXT_ALIGN = 6; - // This must always be one more than highest property - /** Total number of properties. */ - protected static final int NR_PROPERTIES = 7; - - /** - * Array of flags indicating which attributes are set for this - * paragraph Style. - */ - protected boolean isSet[] = new boolean[NR_PROPERTIES]; - /** Array of attribute values for this paragraph tyle. */ - protected int value[] = new int[NR_PROPERTIES]; - /** Array of attribute names for this paragraph Style. */ - protected String attrName[] = { - "fo:margin-left", - "fo:margin-right", - "fo:margin-top", - "fo:margin-bottom", - "fo:text-indent", - "fo:line-height", - "fo:text-align" - }; - - /** Array of attribute structures for this paragraph Style. */ - protected Class algor[] = { - horizSize.class, - horizSize.class, - horizSize.class, - horizSize.class, - horizSize.class, - lineHeight.class, - alignment.class - }; - - /** Align right. */ - public static final int ALIGN_RIGHT = 1; - /** Align center. */ - public static final int ALIGN_CENTER = 2; - /** Align justified. */ - public static final int ALIGN_JUST = 3; - /** Align left. */ - public static final int ALIGN_LEFT = 4; - - /** Line height percentage. */ - public static final int LH_PCT = 0x40000000; - /** Line height minimum value. */ - public static final int LH_ATLEAST = 0x20000000; - /** Line height mask. */ - public static final int LH_VALUEMASK = 0x00FFFFFF; - - /** Ignored tags. */ - private static String[] ignored = { - "style:font-name", "fo:font-size", "fo:font-weight", "fo:color", - "fo:language", "fo:country", "style:font-name-asian", - "style:font-size-asian", "style:language-asian", - "style:country-asian", "style:font-name-complex", - "style:font-size-complex", "style:language-complex", - "style:country-complex", "style:text-autospace", "style:punctuation-wrap", - "style:line-break", "fo:keep-with-next", "fo:font-style", - "text:number-lines", "text:line-number" - }; - - - /** - * Constructor for use when going from DOM to client device format. - * - * @param node A style:style Node which, which - * is assumed to have family attribute of - * paragraph. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public ParaStyle(Node node, StyleCatalog sc) { - - super(node, sc); - - // Look for children. Only ones we care about are "style:properties" - // nodes. If any are found, recursively traverse them, passing - // along the style element to add properties to. - // - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - for (int i = 0; i < len; i++) { - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:properties")) { - NamedNodeMap childAttrNodes = child.getAttributes(); - if (childAttrNodes != null) { - int nChildAttrNodes = childAttrNodes.getLength(); - for (int j = 0; j < nChildAttrNodes; j++) { - Node attr = childAttrNodes.item(j); - setAttribute(attr.getNodeName(), attr.getNodeValue()); - } - } - } - } - } - } - - - /** - * Constructor for use when going from client device format to DOM. - * - * @param name Name of the Style. Can be null. - * @param family Family of the Style - usually - * paragraph, text, etc. Can be null. - * @param parent Name of the parent Style, or null - * if none. - * @param attribs Array of attributes to set. - * @param values Array of values to set. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public ParaStyle(String name, String familyName, String parentName, - String attribs[], String values[], StyleCatalog sc) { - super(name, familyName, parentName, sc); - if (attribs != null) - for (int i = 0; i < attribs.length; i++) - setAttribute(attribs[i], values[i]); - } - - - /** - * Alternate constructor for use when going from client device - * format to DOM. - * - * @param name Name of the Style. Can be null. - * @param family Family of the Style - usually - * paragraph, text, etc. Can be null. - * @param parent Name of the parent Style, or - * null if none. - * @param attribs Array of attributes indices to set. - * @param values Array of values to set. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public ParaStyle(String name, String familyName, String parentName, - int attribs[], String values[], StyleCatalog lookup) { - super(name, familyName, parentName, lookup); - if (attribs != null) - for (int i = 0; i < attribs.length; i++) - setAttribute(attribs[i], values[i]); - } - - - /** - * This code checks whether an attribute is one that we - * intentionally ignore. - * - * @param attribute The attribute to check. - * - * @return true if attribute can be ignored, false otherwise. - */ - private boolean isIgnored(String attribute) { - for (int i = 0; i < ignored.length; i++) { - if (ignored[i].equals(attribute)) - return true; - } - return false; - } - - - /** - * Set an attribute for this paragraph Style. - * - * @param attr The attribute to set. - * @param value The attribute value to set. - */ - public void setAttribute(String attr, String value) { - for (int i = 0; i < NR_PROPERTIES; i++) { - if (attr.equals(attrName[i])) { - setAttribute(i, value); - return; - } - } - if (!isIgnored(attr)) - Debug.log(Debug.INFO, "ParaStyle Unhandled: " + attr + "=" + value); - } - - - /** - * Check whether an attribute is set in this Style. - * - * @param attrIndex The attribute index to check. - * - * @return true if the attribute at specified index is set, - * false otherwise. - */ - public boolean isAttributeSet(int attrIndex) { - return isSet[attrIndex]; - } - - - /** - * Get the value of an integer attribute. - * - * @param attrIndex Index of the attribute. - * - * @return Value of the attribute, 0 if not set. - */ - public int getAttribute(int attrIndex) { - if (isSet[attrIndex]) - return value[attrIndex]; - else return 0; - } - - - /** - * Set an attribute for this paragraph Style. - * - * @param attr The attribute index to set. - * @apram value The attribute value to set. - */ - public void setAttribute(int attr, String value) { - isSet[attr] = true; - try { - this.value[attr] = (((conversionAlgorithm)algor[attr].newInstance())).I(value); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Instantiation error", e); - } - } - - - /** - * Return the Style in use. - * - * @return The fully-resolved copy of the Style in use. - */ - public Style getResolved() { - ParaStyle resolved = null; - try { - resolved = (ParaStyle)this.clone(); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Can't clone", e); - } - - // Look up the parent style. (If there is no style catalog - // specified, we can't do any lookups). - ParaStyle parentStyle = null; - if (sc != null) { - if (parent != null) { - parentStyle = (ParaStyle)sc.lookup(parent, family, null, - this.getClass()); - if (parentStyle == null) - Debug.log(Debug.ERROR, "parent style lookup of " - + parent + " failed!"); - else - parentStyle = (ParaStyle)parentStyle.getResolved(); - } else if (!name.equals("DEFAULT_STYLE")) { - parentStyle = (ParaStyle)sc.lookup("DEFAULT_STYLE", null, null, - this.getClass()); - } - } - - // If we found a parent, for any attributes which we don't have - // set, try to get the values from the parent. - if (parentStyle != null) { - parentStyle = (ParaStyle)parentStyle.getResolved(); - for (int i = 0; i < NR_PROPERTIES; i++) { - if (!isSet[i] && parentStyle.isSet[i]) { - resolved.isSet[i] = true; - resolved.value[i] = parentStyle.value[i]; - } - } - } - return resolved; - } - - - /** - * Private function to return the value as an element in - * a Comma Separated Value (CSV) format. - * - * @param value The value to format. - * - * @return The formatted value. - */ - private static String toCSV(String value) { - if (value != null) - return "\"" + value + "\","; - else - return "\"\","; - } - - - /** - * Private function to return the value as a last element in - * a Comma Separated Value (CSV) format. - * - * @param value The value to format. - * - * @return The formatted value. - */ - private static String toLastCSV(String value) { - if (value != null) - return "\"" + value + "\""; - else - return "\"\""; - } - - - /** - * Print a Comma Separated Value (CSV) header line for the - * spreadsheet dump. - */ - public static void dumpHdr() { - System.out.println(toCSV("Name") + toCSV("Family") + toCSV("parent") - + toCSV("left mgn") + toCSV("right mgn") - + toCSV("top mgn") + toCSV("bottom mgn") + toCSV("txt indent") - + toCSV("line height") + toLastCSV("txt align")); - } - - - /** - * Dump this Style as a Comma Separated Value (CSV) - * line. - */ - public void dumpCSV() { - String attributes = ""; - for (int index = 0; index <= 6; index++) { - if (isSet[index]) { - attributes += toCSV("" + value[index]); - } - else - attributes += toCSV(null); // unspecified - } - System.out.println(toCSV(name) + toCSV(family) + toCSV(parent) - + attributes + toLastCSV(null)); - } - - - /** - * Create the Node with the specified elements. - * - * @parentDoc Parent Document of the - * Node to create. - * @param name Name of the Node. - * - * @return The created Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - Element node = parentDoc.createElement(name); - writeAttributes(node); - return node; - } - - - /** - * Return true if style is a subset of the - * Style. - * - * @param style Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Style style) { - - if (!super.isSubset(style)) - return false; - if (!this.getClass().isAssignableFrom(style.getClass())) - return false; - ParaStyle ps = (ParaStyle)style; - - for (int i = 0; i < NR_PROPERTIES; i++) { - if (ps.isSet[i]) { - // if (!isSet[i]) return false; - - if (i < NR_PROPERTIES - 1) { - // Compare the actual values. We allow a margin of error - // here because the conversion loses precision. - int diff; - if (value[i] > ps.value[i]) - diff = value[i] - ps.value[i]; - else - diff = ps.value[i] - value[i]; - if (diff > 32) - return false; - } else { - if (i == TEXT_ALIGN) - if ((value[i] == 0) && (ps.value[i] == 4)) - continue; - if (value[i] != ps.value[i]) - return false; - } - } - } - return true; - } - - - /** - * Add Style attributes to the given - * Node. This may involve writing child - * Node objects as well. - * - * @param node The Node to add Style - * attributes. - */ - public void writeAttributes(Element node) { - for (int i = 0; i <= TEXT_INDENT; i++) { - if (isSet[i]) { - double temp = value[i] / 100.0; - String stringVal = (new Double(temp)).toString() + "mm"; - node.setAttribute(attrName[i], stringVal); - } - } - - if (isSet[LINE_HEIGHT]) { - String stringVal; - if ((value[LINE_HEIGHT] & LH_PCT) != 0) - stringVal = (new Integer(value[LINE_HEIGHT] & LH_VALUEMASK)).toString() + "%"; - else { - double temp = (value[LINE_HEIGHT] & LH_VALUEMASK) / 100.0; - stringVal = (new Double(temp)).toString() + "mm"; - } - node.setAttribute(attrName[LINE_HEIGHT], stringVal); - } - - if (isSet[TEXT_ALIGN]) { - String val; - switch (value[TEXT_ALIGN]) { - case ALIGN_RIGHT: val = "end"; break; - case ALIGN_CENTER: val = "center"; break; - case ALIGN_JUST: val = "justify"; break; - case ALIGN_LEFT: val = "left"; break; - default: val = "unknown"; break; - } - node.setAttribute(attrName[TEXT_ALIGN], val); - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/Style.java b/xmerge/java/org/openoffice/xmerge/converter/xml/Style.java deleted file mode 100644 index cf8611f4e143..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/Style.java +++ /dev/null @@ -1,235 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import java.io.IOException; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; - -/** - * An object of class Style represents a style - * in an OpenOffice document. In practice subclasses of this - * Style, such as TextStyle, - * ParaStyle are used. - * - * @author David Proulx - * @see TextStyle, - * ParaStyle - */ -public class Style { - - /** Name of the Style. */ - protected String name = null; - /** Family of the Style. */ - protected String family = null; - /** Parent of the Style. */ - protected String parent = null; - - /** - * A reference to the StyleCatalog to be used for - * looking up ancestor Style objects. - */ - protected StyleCatalog sc; - - - /** - * Constructor for use when going from DOM to client device format. - * - * @param node A style:style or style:default-style - * Node from the document being parsed. - * No checking of Node is done, so if it - * is not of the proper type the results will be - * unpredictable. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public Style(Node node, StyleCatalog sc) { - - this.sc = sc; - - // Run through the attributes of this node, saving - // the ones we're interested in. - if (node.getNodeName().equals("style:default-style")) - name = "DEFAULT_STYLE"; - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - if (attr.getNodeName().equals("style:family")) - family = attr.getNodeValue(); - else if (attr.getNodeName().equals("style:name")) { - name = attr.getNodeValue(); - } else if (attr.getNodeName().equals("style:parent-style-name")) - parent = attr.getNodeValue(); - - } - } - } - - - /** - * Constructor for use when going from client device format to DOM. - * - * @param name Name of the Style. Can be null. - * @param family Family of the Style - usually - * paragraph, text, etc. Can be null. - * @param parent Name of the parent Style, or null if none. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public Style(String name, String family, String parent, StyleCatalog sc) { - this.sc = sc; - this.name = name; - this.family = family; - this.parent = parent; - } - - - /** - * Set the StyleCatalog to be used when looking up the - * Style parent. - * - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public void setCatalog(StyleCatalog sc) { - this.sc = sc; - } - - - /** - * Returns the name of this Style. - * - * @return The name of this Style. - */ - public String getName() { - return name; - } - - - /** - * Sets the name of this Style. - * - * @param newName The new name of this Style. - */ - public void setName(String newName) { - name = newName; - } - - - /** - * Return the family of this Style. - * - * @return The family of this Style. - */ - public String getFamily() { - return family; - } - - /** - * Return the name of the parent of this Style. - * - * @return The parent of this Style. - */ - public String getParent() { - return parent; - } - - - /** - * Return a Style object corresponding to this one, but with - * all of the inherited information from parent Style - * objects filled in. The object returned will be a new object, not a - * reference to this object, even if it does not need any information - * added. - * - * @return A resolved Style object in which to look up - * ancestors. - */ - public Style getResolved() { - return new Style(name, family, parent, sc); - } - - - /** - * Write a Node in parentDoc - * representing this Style. Note that the - * Node is returned unconnected. - * - * @param parentDoc Document to which new Node will - * belong. - * @param name Name to use for new Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - // DJP: write this! Should call writeAttributes() - return null; - } - - - /** - * Write this Style object's attributes to the given - * Node. This may involve writing child - * Node objects as well. This is similar to the - * writeNode method, but the Node - * already exists, and this does not write the name, - * family, and parent attributes, which are assumed to already - * exist in the Node. - * - * @param node The Node to add style attributes. - */ - public void writeAttributes(Node node) { - } - - - /** - * Return true if Style is a subset of this one. Note - * that this will return true even if Style is less - * specific than this Style, so long as it does not - * contradict this Style in any way. - * - * This always returns true since only subclasses of - * Style contain any actual Style - * information. - * - * @param style The Style to check - * - * @return true if the Style is a subset, false otherwise. - */ - public boolean isSubset(Style style) { - return true; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/StyleCatalog.java b/xmerge/java/org/openoffice/xmerge/converter/xml/StyleCatalog.java deleted file mode 100644 index 689b5d47c5b4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/StyleCatalog.java +++ /dev/null @@ -1,397 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; -import org.openoffice.xmerge.util.*; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import java.io.IOException; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import java.util.Vector; -import java.lang.reflect.Constructor; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - - -/** - * A StyleCatalog holds a collection of Style - * objects. It is intended for use when parsing or building a DOM - * document. - * - * Each entry in the StyleCatalog represents a - * Style, and is an object which is a subclass of - * Style. - * - * @author David Proulx - * @see Style - */ -public class StyleCatalog { - - private Vector styles; // The actual styles - - /** - * Constructor - * - * @param initialEntries Expected number of entries to set - * for efficiency purposes. - */ - public StyleCatalog(int initialEntries) { - styles = new Vector(initialEntries); - } - - - /** - *

    Parse the Document starting from node - * and working downward, and add all styles found, so long as their - * family name is listed in families. For each - * family name in families there must be a corresponding - * element in classes, which specifies the class type - * to use for that family. All of these classes must be - * subclasses of Style. There can be multiple - * classes specified for a particular family.

    - * - *

    If defaultClass is non-null, then all styles that - * are found will be added. Any Style whose family is - * not listed in families will be added using defaultClass, - * which, of course, must be a subclass of Style. - * If alwaysCreateDefault is true, then a class - * of type defaultClass will always be created, - * regardless of whether there was also a match in - * families.

    - * - *

    DJP Todo: make it recursive so that node can be - * higher up in the Document tree.

    - * - * @param node The node to be searched for - * Style objects. - * @param families An array of Style families - * to add. - * @param classes An array of class types corresponding - * to the families array. - * @param defaultClass All Style objects that are - * found are added to this class. - * @param alwaysCreateDefault A class of type defaultClass - * will always be created, regardless of - * whether there is a match in the - * families array. - */ - public void add(Node node, String families[], Class classes[], - Class defaultClass, boolean alwaysCreateDefault) { - - if (node == null) - return; - - if (families == null) - families = new String[0]; - if (classes == null) - classes = new Class[0]; - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - - for (int i = 0; i < len; i++) { - boolean found = false; - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:default-style") || name.equals("style:style")) { - String familyName = getFamilyName(child); - if (familyName == null) { - Debug.log(Debug.ERROR, "familyName is null!"); - continue; - } - - for (int j = 0; j < families.length; j++) { - if (families[j].equals(familyName)) { - Class styleClass = classes[j]; - callConstructor(classes[j], child); - found = true; - } - } - if ((!found || alwaysCreateDefault) && (defaultClass != null)) - callConstructor(defaultClass, child); - } - } - } - } - - - /** - * Call the constructor of class cls with parameters - * node, and add the resulting Style to - * the catalog. - * - * @param cls The class whose constructor will be called. - * @param node The constructed class will be added to this node. - */ - private void callConstructor(Class cls, Node node) { - Class params[] = new Class[2]; - params[0] = Node.class; - params[1] = this.getClass(); - try { - Constructor c = cls.getConstructor(params); - Object p[] = new Object[2]; - p[0] = node; - p[1] = this; - styles.add(c.newInstance(p)); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Exception when calling constructor", e); - } - } - - - /** - * Add a Style to the catalog. - * - * @param s The Style to add. - */ - public void add(Style s) { - styles.addElement(s); - } - - - /** - * Return the first Style matching the specified names. - * - * @param name Name to match, null is considered - * always match. - * @param family Family to match, null is considered - * always match. - * @param parent Parent to match, null is considered - * always match. - * @param styleClass styleClass to match, null is considered - * always match. - * - * @return Style value if all parameters match, - * null otherwise - */ - public Style lookup(String name, String family, String parent, - Class styleClass) { - int nStyles = styles.size(); - for (int i = 0; i < nStyles; i++) { - Style s = (Style)styles.elementAt(i); - if ((name != null) && (s.getName() != null) - && (!s.getName().equals(name))) - continue; - if ((family != null) && (s.getFamily() != null) - && (!s.getFamily().equals(family))) - continue; - if ((parent != null) && (s.getParent() != null) - && (!s.getParent().equals(parent))) - continue; - if ((styleClass != null) && (s.getClass() != styleClass)) - continue; - if (s.getName() == null) continue; // DJP: workaround for "null name" problem - return s; - } - return null; // none found - } - - - /** - * Given a Style s return all - * Style objects that match. - * - * @param s Style to match. - * - * @return An array of Style objects that match, an - * empty array if none match. - */ - public Style[] getMatching(Style s) { - - // Run through and count the matching styles so we know how big of - // an array to allocate. - int matchCount = 0; - int nStyles = styles.size(); - for (int j = 0; j < nStyles; j++) { - Style p = ((Style)styles.elementAt(j)).getResolved(); - if (p.isSubset(s)) matchCount++; - } - - // Now allocate the array, and run through again, populating it. - Style[] matchArray = new Style[matchCount]; - matchCount = 0; - for (int j = 0; j < nStyles; j++) { - Style p = ((Style)styles.elementAt(j)).getResolved(); - if (p.isSubset(s)) matchArray[matchCount++] = p; - } - return matchArray; - } - - - /** - * Given a Style s, return the - * style that is the closest match. Not currently - * implemented. - * - * @param s Style to match. - * - * @return The Style that most closely matches. - */ - public Style getBestMatch(Style s) { - // DJP: is this needed? - // DJP ToDo: implement this - return null; - } - - - /** - *

    Create a Node named name in - * Document parentDoc, and write the - * entire StyleCatalog to it.

    - * - *

    Note that the resulting node is returned, but is not connected - * into the document. Placing the output node in the document is - * left to the caller.

    - * - * @param parentDoc The Document to add the - * Node. - * @param name The name of the Node to add. - * - * @return The Element that was created. - */ - public Element writeNode(org.w3c.dom.Document parentDoc, String name) { - Element rootNode = parentDoc.createElement(name); - - int len = styles.size(); - for (int j = 0; j < len; j++) { - Style s = (Style)styles.get(j); - - Element styleNode = parentDoc.createElement("style:style"); - - if (s.getName() != null) - styleNode.setAttribute("style:name", s.getName()); - if (s.getParent() != null) - styleNode.setAttribute("style:parent-style-name", s.getParent()); - if (s.getFamily() != null) - styleNode.setAttribute("style:family", s.getFamily()); - - Element propertiesNode = (Element) s.createNode(parentDoc, "style:properties"); - // if (propertiesNode.getFirstChild() != null) - // DJP: only add node if has children OR attributes - if (propertiesNode != null) - styleNode.appendChild(propertiesNode); - - rootNode.appendChild(styleNode); - } - - return rootNode; - } - - - /** - * Dump the Style table in Comma Separated Value (CSV) - * format - * - * @param para If true, dump in paragraph Style, - * otherwise dump in text style. - */ - public void dumpCSV(boolean para) { - if (!para) { - TextStyle.dumpHdr(); - int nStyles = styles.size(); - for (int i = 0; i < nStyles; i++) { - Style s = (Style)styles.get(i); - if (s.getClass().equals(TextStyle.class)) - ((TextStyle)s).dumpCSV(); - } - } else { - ParaStyle.dumpHdr(); - int nStyles = styles.size(); - for (int i = 0; i < nStyles; i++) { - Style s = (Style)styles.get(i); - if (s.getClass().equals(ParaStyle.class)) - ((ParaStyle)s).dumpCSV(); - } - } - - } - - - /** - * Check whether a given node represents a Style - * that should be added to the catalog, and if so, return the - * class type for it. If Style should not be added, - * or if node is not a Style, return null. - * - * @param node The Node to be checked. - * @param families An array of Style families. - * @param classes An array of class types corresponding to the - * families array. - * @param defaultClass The default class. - * - * @return The class that is appropriate for this node. - */ - private Class getClass(Node node, String[] families, Class[] classes, - Class defaultClass) { - NamedNodeMap attributes = node.getAttributes(); - if (attributes != null) { - int len = attributes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attributes.item(i); - if (attr.getNodeName().equals("style:family")) { - String familyName = attr.getNodeValue(); - for (int j = 0; j < families.length; j++) { - if (families[j].equals(familyName)) - return classes[j]; - } - return defaultClass; - } - } - } - return null; - } - - - /** - * Find the family attribute of a Style Node. - * - * @param node The Node to check. - * - * @return The family attribute, or null if one does not - * exist. - */ - private String getFamilyName(Node node) { - NamedNodeMap attributes = node.getAttributes(); - if (attributes != null) { - int len = attributes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attributes.item(i); - if (attr.getNodeName().equals("style:family")) { - return attr.getNodeValue(); - } - } - } - return null; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/StyleTest01.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/StyleTest01.xml deleted file mode 100644 index ac2652c49ee6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/StyleTest01.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/TextStyle.java b/xmerge/java/org/openoffice/xmerge/converter/xml/TextStyle.java deleted file mode 100644 index 1652c12c6ac8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/TextStyle.java +++ /dev/null @@ -1,684 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// DJP ToDo: need way of specifying fg/bg colors on ws->DOM - -package org.openoffice.xmerge.converter.xml; - -import java.awt.Color; -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.util.Debug; - -/** - * Represents a text Style in an OpenOffice document. - * - * @author David Proulx - */ -public class TextStyle extends Style implements Cloneable { - - final protected static int FIRST_ATTR = 0x01; - /** Indicates bold text. */ - final public static int BOLD = 0x01; - /** Indicates italic text. */ - final public static int ITALIC = 0x02; - /** Indicates underlined text. */ - final public static int UNDERLINE = 0x04; - /** Indicates strike-through in the text. */ - final public static int STRIKETHRU = 0x08; - /** Indicates superscripted text. */ - final public static int SUPERSCRIPT = 0x10; - /** Indicates subscripted text. */ - final public static int SUBSCRIPT = 0x20; - /** Indicates the last attribute. */ - final protected static int LAST_ATTR = 0x20; - - /** Values of text attributes. */ - protected int values = 0; - /** Bitwise mask of text attributes. */ - protected int mask = 0; - - /** Font size in points. */ - protected int sizeInPoints = 0; - /** Font name. */ - protected String fontName = null; - /** Font Color. */ - protected Color fontColor = null; - /** Background Color. */ - protected Color bgColor = null; - - /** - * Constructor for use when going from DOM to client device format. - * - * @param Node The style:style Node containing - * the Style. (This Node is - * assumed have a family attribute of text). - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public TextStyle(Node node, StyleCatalog sc) { - super(node, sc); - - // Run through the attributes of this node, saving - // the ones we're interested in. - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - handleAttribute(attr.getNodeName(), attr.getNodeValue()); - } - } - - // Look for children. Only ones we care about are "style:properties" - // nodes. If any are found, recursively traverse them, passing - // along the style element to add properties to. - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - for (int i = 0; i < len; i++) { - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:properties")) { - NamedNodeMap childAttrNodes = child.getAttributes(); - if (childAttrNodes != null) { - int nChildAttrNodes = childAttrNodes.getLength(); - for (int j = 0; j < nChildAttrNodes; j++) { - Node attr = childAttrNodes.item(j); - handleAttribute(attr.getNodeName(), - attr.getNodeValue()); - } - } - } - } - } - } - - - /** - * Constructor for use when going from client device format to DOM - * - * @param name Name of text Style. Can be null. - * @param family Family of text Style (usually - * text). Can be null. - * @param parent Name of parent text Style, or null - * for none. - * @param mask Bitwise mask of text attributes that this text - * Style will specify. Can be any - * combination of the following, or'ed together: - * {@link #BOLD}, {@link #ITALIC}, {@link #UNDERLINE}, - * {@link #STRIKETHRU}, {@link #SUPERSCRIPT}, - * {@link #SUBSCRIPT}. This parameter determines what - * attributes this Style will specify. - * When an attribute is specified in a - * Style, its value can be either - * on or off. The on/off value for - * each attribute is controlled by the - * values parameter. - * @param values Values of text attributes that this text - * Style will be setting. Any of the - * attributes ({@link #BOLD}, etc) listed for - * mask can be used for this. - * @param fontSize Font size in points. - * @param fontName Name of font. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public TextStyle(String name, String family, String parent, - int mask, int values, int fontSize, String fontName, StyleCatalog sc) { - super(name, family, parent, sc); - this.mask = mask; - this.values = values; - this.sizeInPoints = fontSize; - this.fontName = fontName; - } - - - /** - * Parse a color specification of the form #rrggbb - * - * @param value Color specification to parse. - * - * @returns The Color associated the value. - */ - private Color parseColorString(String value) { - // Assume color value is of form #rrggbb - String r = value.substring(1, 3); - String g = value.substring(3, 5); - String b = value.substring(5, 7); - int red = 0; - int green = 0; - int blue = 0; - try { - red = Integer.parseInt(r, 16); - green = Integer.parseInt(g, 16); - blue = Integer.parseInt(b, 16); - } catch (NumberFormatException e) { - Debug.log(Debug.ERROR, "Problem parsing a color string", e); - } - return new Color(red, green, blue); - } - - - /** - * Set an attribute. - * - * @param attr The attribute to set. - * @param value The attribute value to set. - */ - private void handleAttribute(String attr, String value) { - - if (attr.equals("fo:font-weight")) { - if (value.equals("bold")) turnAttributesOn(BOLD); - else if (value.equals("normal")) turnAttributesOff(BOLD); - } - - else if (attr.equals("fo:font-style")) { - if (value.equals("italic")) turnAttributesOn(ITALIC); - else if (value.equals("oblique")) turnAttributesOn(ITALIC); - else if (value.equals("normal")) turnAttributesOff(ITALIC); - } - - else if (attr.equals("style:text-underline")) { - if (value.equals("none")) - turnAttributesOff(UNDERLINE); - else - turnAttributesOn(UNDERLINE); - } - - else if (attr.equals("style:text-crossing-out")) { - if (value.equals("none")) - turnAttributesOff(STRIKETHRU); - else - turnAttributesOn(STRIKETHRU); - } - - else if (attr.equals("style:text-position")) { - if (value.startsWith("super ")) - turnAttributesOn(SUPERSCRIPT); - else if (value.startsWith("sub ")) - turnAttributesOn(SUBSCRIPT); - else if (value.startsWith("0% ")) - turnAttributesOff(SUPERSCRIPT | SUBSCRIPT); - else { - String firstPart = value.substring(0, value.indexOf(" ")); - if (firstPart.endsWith("%")) { - firstPart = firstPart.substring(0, value.indexOf("%")); - int amount; - try { - amount = Integer.parseInt(firstPart); - } catch (NumberFormatException e) { - amount = 0; - Debug.log(Debug.ERROR, "Problem with style:text-position tag", e); - } - if (amount < 0) turnAttributesOn(SUBSCRIPT); - else if (amount > 0) turnAttributesOn(SUPERSCRIPT); - } - } - } - - else if (attr.equals("fo:font-size")) { - if (value.endsWith("pt")) { - String num = value.substring(0, value.length() - 2); - sizeInPoints = Integer.parseInt(num); - } - } - - else if (attr.equals("style:font-name")) - fontName = value; - - else if (attr.equals("fo:color")) - fontColor = parseColorString(value); - - else if (attr.equals("style:text-background-color")) - bgColor = parseColorString(value); - - else if (isIgnored(attr)) {} - - else { - Debug.log(Debug.INFO, "TextStyle Unhandled: " + attr + "=" + value); - } - } - - - /** - * Return true if text attribute is set in this - * Style. An attribute that is set may have a - * value of on or off. - * - * @param attribute The attribute to check ({@link #BOLD}, - * {@link #ITALIC}, etc.). - * - * @return true if text attribute is set in this - * Style, false otherwise. - */ - public boolean isSet(int attribute) { - return (!((mask & attribute) == 0)); - } - - - /** - * Return true if the attribute is set to on - * - * @param attribute Attribute to check ({@link #BOLD}, - * {@link #ITALIC}, etc.) - * - * @return true if attribute is set to on, - * otherwise false. - */ - public boolean getAttribute(int attribute) { - if ((mask & attribute) == 0) - return false; - return (!((values & attribute) == 0)); - } - - - /** - * Return the font size for this Style. - * - * @return The font size in points - */ - public int getFontSize() { - return sizeInPoints; - } - - - /** - * Return the name of the font for this Style. - * - * @return Name of font, or null if no font is specified by - * this Style. - */ - public String getFontName() { - return fontName; - } - - - /** - * Return the font Color for this Style. - * Can be null if none was specified. - * - * @return Color value for this Style. - * Can be null. - */ - public Color getFontColor() { - return fontColor; - } - - - /** - * Return the background Color for this - * Style. Can be null if none was specified. - * - * @return Background Color value for this - * Style. Can be null. - */ - public Color getBackgroundColor() { - return bgColor; - } - - - /** - * Set the font and/or background Color for this - * Style. - * - * @param fontColor The font Color to set. - * @param backgroundColor The background Color to set. - */ - public void setColors(Color fontColor, Color backgroundColor) { - if (fontColor != null) - this.fontColor = fontColor; - if (backgroundColor != null) - this.bgColor = backgroundColor; - } - - - /** - * Return a Style object corresponding to this one, - * but with all of the inherited information from parent - * Style objects filled in. The object returned will - * be a new object, not a reference to this object, even if it does - * not need any information added. - * - * @return The StyleCatalog in which to look up - * ancestors. - */ - public Style getResolved() { - // Create a new object to return, which is a clone of this one. - TextStyle resolved = null; - try { - resolved = (TextStyle)this.clone(); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Can't clone", e); - } - - // Look up the parentStyle. (If there is no style catalog - // specified, we can't do any lookups.) - TextStyle parentStyle = null; - if (sc != null) { - if (parent != null) { - parentStyle = (TextStyle)sc.lookup(parent, family, null, - this.getClass()); - if (parentStyle == null) - Debug.log(Debug.ERROR, "parent style lookup of " - + parent + " failed!"); - else - parentStyle = (TextStyle)parentStyle.getResolved(); - - } else if (!name.equals("DEFAULT_STYLE")) { - parentStyle = (TextStyle)sc.lookup("DEFAULT_STYLE", null, - null, this.getClass()); - } - } - - // If we found a parent, for any attributes which we don't have - // set, try to get the values from the parent. - if (parentStyle != null) { - parentStyle = (TextStyle)parentStyle.getResolved(); - - if ((sizeInPoints == 0) && (parentStyle.sizeInPoints != 0)) - resolved.sizeInPoints = parentStyle.sizeInPoints; - if ((fontName == null) && (parentStyle.fontName != null)) - resolved.fontName = parentStyle.fontName; - if ((fontColor == null) && (parentStyle.fontColor != null)) - resolved.fontColor = parentStyle.fontColor; - if ((bgColor == null) && (parentStyle.bgColor != null)) - resolved.bgColor = parentStyle.bgColor; - for (int m = BOLD; m <= SUBSCRIPT; m = m << 1) { - if (((mask & m) == 0) && ((parentStyle.mask & m) != 0)) { - resolved.mask |= m; - resolved.values |= (parentStyle.mask & m); - } - } - - } - return resolved; - } - - - /** - * Set one or more text attributes to on. - * - * @param flags Flag values to set on. - */ - private void turnAttributesOn(int flags) { - mask |= flags; - values |= flags; - } - - - /** - * Set one or more text attributes to off. - * - * @param flags The flag values to set off. - */ - private void turnAttributesOff(int flags) { - mask |= flags; - values &= ~flags; - } - - - /** - * Private function to return the value as an element in - * a Comma Separated Value (CSV) format. - * - * @param The value to format. - * - * @return The formatted value. - */ - private static String toCSV(String value) { - if (value != null) - return "\"" + value + "\","; - else - return "\"\","; - } - - - /** - * Private function to return the value as a last element in - * a Comma Separated Value (CSV) format. - * - * @param value The value to format. - * - * @return The formatted value. - */ - private static String toLastCSV(String value) { - if (value != null) - return "\"" + value + "\""; - else - return "\"\""; - } - - - /** - * Print a Comma Separated Value (CSV) header line for the - * spreadsheet dump. - */ - public static void dumpHdr() { - System.out.println(toCSV("Name") + toCSV("Family") + toCSV("parent") - + toCSV("Font") + toCSV("Size") - + toCSV("Bold") + toCSV("Italic") + toCSV("Underline") - + toCSV("Strikethru") + toCSV("Superscript") + toLastCSV("Subscript")); - } - - - /** - * Dump this Style as a Comma Separated Value (CSV) line. - */ - public void dumpCSV() { - String attributes = ""; - for (int bitVal = 0x01; bitVal <= 0x20; bitVal = bitVal << 1) { - if ((bitVal & mask) != 0) { - attributes += toCSV(((bitVal & values) != 0) ? "yes" : "no"); - } else attributes += toCSV(null); // unspecified - } - System.out.println(toCSV(name) + toCSV(family) + toCSV(parent) - + toCSV(fontName) + toCSV("" + sizeInPoints) + attributes + toLastCSV(null)); - } - - - /** - * Create a new Node in the Document, and - * write this Style to it. - * - * @param parentDoc Parent Document of the - * Node to create. - * @param name Name to use for the new Node (e.g. - * style:style) - * - * @return Created Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - Element node = parentDoc.createElement(name); - writeAttributes(node); - return node; - } - - - /** - * Return true if style specifies as much or less - * than this Style, and nothing it specifies - * contradicts this Style. - * - * @param style The Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Style style) { - if (style.getClass() != this.getClass()) - return false; - TextStyle tStyle = (TextStyle)style; - - if (tStyle.values != values) - return false; - - if (tStyle.sizeInPoints != 0) { - if (sizeInPoints != tStyle.sizeInPoints) - return false; - } - - if (tStyle.fontName != null) { - if (fontName == null) - return false; - if (!fontName.equals(tStyle.fontName)) - return false; - } - - if (tStyle.fontColor != null) { - if (fontColor == null) - return false; - if (!fontColor.equals(tStyle.fontColor)) - return false; - } - - if (tStyle.bgColor != null) { - if (bgColor == null) - return false; - if (!bgColor.equals(tStyle.bgColor)) - return false; - } - - return true; - } - - - /** - * Write this Style object's attributes to a - * Node in the Document. - * - * @param node The Node to add Style - * attributes. - */ - public void writeAttributes(Element node) { - - if ((mask & BOLD) != 0) - if ((values & BOLD) != 0) - node.setAttribute("fo:font-weight", "bold"); - - if ((mask & ITALIC) != 0) - if ((values & ITALIC) != 0) - node.setAttribute("fo:font-style", "italic"); - - if ((mask & UNDERLINE) != 0) - if ((values & UNDERLINE) != 0) - node.setAttribute("style:text-underline", "single"); - - if ((mask & STRIKETHRU) != 0) - if ((values & STRIKETHRU) != 0) - node.setAttribute("style:text-crossing-out", "single-line"); - - if ((mask & SUPERSCRIPT) != 0) - if ((values & SUPERSCRIPT) != 0) - node.setAttribute("style:text-position", "super 58%"); - - if ((mask & SUBSCRIPT) != 0) - if ((values & SUBSCRIPT) != 0) - node.setAttribute("style:text-position", "sub 58%"); - - if (sizeInPoints != 0) { - Integer fs = new Integer(sizeInPoints); - node.setAttribute("fo:font-size", fs.toString() + "pt"); - } - - if (fontName != null) - node.setAttribute("style:font-name", fontName); - - if (fontColor != null) - node.setAttribute("fo:color", buildColorString(fontColor)); - - if (bgColor != null) - node.setAttribute("style:text-background-color", - buildColorString(bgColor)); - } - - - /** - * Given a Color, return a string of the form - * #rrggbb. - * - * @param c The Color value. - * - * @return The Color value in the form #rrggbb. - */ - private String buildColorString(Color c) { - int v[] = new int[3]; - v[0] = c.getRed(); - v[1] = c.getGreen(); - v[2] = c.getBlue(); - String colorString = new String("#"); - for (int i = 0; i <= 2; i++) { - String xx = Integer.toHexString(v[i]); - if (xx.length() < 2) - xx = "0" + xx; - colorString += xx; - } - return colorString; - } - - - private static String[] ignored = { - "style:text-autospace", "style:text-underline-color", - "fo:margin-left", "fo:margin-right", "fo:text-indent", - "fo:margin-top", "fo:margin-bottom", "text:line-number", - "text:number-lines", "style:country-asian", - "style:font-size-asian", "style:font-name-complex", - "style:language-complex", "style:country-complex", - "style:font-size-complex", "style:punctuation-wrap", - "fo:language", "fo:country", - "style:font-name-asian", "style:language-asian", - "style:line-break", "fo:keep-with-next" - }; - - - /* - * This code checks whether an attribute is one that we - * intentionally ignore. - * - * @param attribute The attribute to check. - * - * @return true if attribute can be ignored, - * otherwise false. - */ - private boolean isIgnored(String attribute) { - for (int i = 0; i < ignored.length; i++) { - if (ignored[i].equals(attribute)) - return true; - } - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/build.xml deleted file mode 100644 index 25093212ca10..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/build.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/makefile.mk deleted file mode 100644 index 89bf15133228..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxc_xml -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/package.html deleted file mode 100644 index 392e85018dca..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/package.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - -org.openoffice.xmerge.util package - - - - -

    Document and PluginFactory implementations -for XML based formats. - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/BookSettings.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/BookSettings.java deleted file mode 100644 index 0155224a5740..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/BookSettings.java +++ /dev/null @@ -1,229 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.util.Vector; -import java.util.Enumeration; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import java.awt.Point; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.XmlUtil; - -/** - * This is a class representing the different attributes for a worksheet - * contained in settings.xml. - * - * @author Martin Maher - */ -public class BookSettings implements OfficeConstants { - - /** A w3c Document. */ - private org.w3c.dom.Document settings = null; - - private boolean hasColumnRowHeaders = true; - private String activeSheet = new String(); - private Vector worksheetSettings = new Vector(); - - /** - * Default Constructor for a BookSettings - * - * @param dimension if it's a row the height, a column the width - * @param repeated - */ - public BookSettings(Node root) { - readNode(root); - } - - /** - * Default Constructor for a BookSettings - * - * @param worksheetSettings if it's a row the height, a column the width - */ - public BookSettings(Vector worksheetSettings) { - this.worksheetSettings = worksheetSettings; - } - - /** - * - */ - public void setColumnRowHeaders(boolean hasColumnRowHeaders) { - this.hasColumnRowHeaders = hasColumnRowHeaders; - } - - /** - * - */ - public boolean hasColumnRowHeaders() { - return hasColumnRowHeaders; - } - - /** - * Gets the Vector of SheetSettings - * - * @return Vector of SheetSettings - */ - public Vector getSheetSettings() { - return worksheetSettings; - } - - /** - * Gets the active sheet name - * - * @return the active sheet name - */ - public String getActiveSheet() { - - return activeSheet; - } - - /** - * Sets the active sheet name - * - * @param activeSheet the active sheet name - */ - public void setActiveSheet(String activeSheet) { - - this.activeSheet = activeSheet; - } - - - /** - * Adds an XML entry for a particular setting - * - * @param root the root node at which to add the xml entry - * @param attriute the name of the attribute to add - * @param type the attribute type (int, short etc) - * @param value the value of the attribute - */ - private void addConfigItem(Node root, String attribute, String type, String value) { - - Element configItem = settings.createElement(TAG_CONFIG_ITEM); - configItem.setAttribute(ATTRIBUTE_CONFIG_NAME, attribute); - configItem.setAttribute(ATTRIBUTE_CONFIG_TYPE, type); - - configItem.appendChild(settings.createTextNode(value)); - - root.appendChild(configItem); - } - - /** - * Writes out a settings.xml entry for this BookSettings object - * - * @param settings a Document object representing the settings.xml - * @param root the root xml node to add to - */ - public void writeNode(org.w3c.dom.Document settings, Node root) { - - this.settings = settings; - Element configItemMapNamed = (Element) settings.createElement(TAG_CONFIG_ITEM_MAP_NAMED); - configItemMapNamed.setAttribute(ATTRIBUTE_CONFIG_NAME, "Tables"); - for(Enumeration e = worksheetSettings.elements();e.hasMoreElements();) { - SheetSettings s = (SheetSettings) e.nextElement(); - s.writeNode(settings, configItemMapNamed); - } - addConfigItem(root, "ActiveTable", "string", activeSheet); - String booleanValue = Boolean.toString(hasColumnRowHeaders); - addConfigItem(root, "HasColumnRowHeaders", "boolean", booleanValue); - root.appendChild(configItemMapNamed); - } - - /** - * Sets a variable based on a String value read from XML - * - * @param name xml name of the attribute to set - * @param value String value fo the attribute - */ - public void addAttribute(String name, String value) { - - if(name.equals("ActiveTable")) { - activeSheet = value; - } else if(name.equals("HasColumnRowHeaders")) { - Boolean b = Boolean.valueOf(value); - hasColumnRowHeaders = b.booleanValue(); - } - } - - /** - * Reads document settings from xml and inits SheetSettings variables - * - * @param root XML Node to read from - */ - public void readNode(Node root) { - - if (root.hasChildNodes()) { - - NodeList nodeList = root.getChildNodes(); - int len = nodeList.getLength(); - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_CONFIG_ITEM)) { - - NamedNodeMap cellAtt = child.getAttributes(); - - Node configNameNode = - cellAtt.getNamedItem(ATTRIBUTE_CONFIG_NAME); - - String name = configNameNode.getNodeValue(); - NodeList nodeList2 = child.getChildNodes(); - int len2 = nodeList2.getLength(); - String s = ""; - for (int j = 0; j < len2; j++) { - Node child2 = nodeList2.item(j); - if (child2.getNodeType() == Node.TEXT_NODE) { - s = child2.getNodeValue(); - } - } - addAttribute(name, s); - - } else if (nodeName.equals(TAG_CONFIG_ITEM_MAP_NAMED)) { - - readNode(child); - - } else if (nodeName.equals(TAG_CONFIG_ITEM_MAP_ENTRY)) { - - SheetSettings s = new SheetSettings(child); - worksheetSettings.add(s); - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/CellStyle.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/CellStyle.java deleted file mode 100644 index 4882d7e09d80..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/CellStyle.java +++ /dev/null @@ -1,515 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.awt.Color; -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.Style; -import org.openoffice.xmerge.converter.xml.StyleCatalog; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.util.Debug; - -/** - * Represents a text Style in an OpenOffice document. - * - * @author Martin Maher - */ -public class CellStyle extends Style implements Cloneable { - - private Format fmt = new Format(); - - /** - * Constructor for use when going from DOM to client device format. - * - * @param Node The style:style Node containing - * the Style. (This Node is - * assumed have a family attribute of text). - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public CellStyle(Node node, StyleCatalog sc) { - super(node, sc); - - // Run through the attributes of this node, saving - // the ones we're interested in. - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - handleAttribute(attr.getNodeName(), attr.getNodeValue()); - } - } - - // Look for children. Only ones we care about are "style:properties" - // nodes. If any are found, recursively traverse them, passing - // along the style element to add properties to. - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - for (int i = 0; i < len; i++) { - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:properties")) { - NamedNodeMap childAttrNodes = child.getAttributes(); - if (childAttrNodes != null) { - int nChildAttrNodes = childAttrNodes.getLength(); - for (int j = 0; j < nChildAttrNodes; j++) { - Node attr = childAttrNodes.item(j); - handleAttribute(attr.getNodeName(), - attr.getNodeValue()); - } - } - } - } - } - } - - - /** - * Constructor for use when going from client device format to DOM - * - * @param name Name of cell Style. Can be null. - * @param family Family of text Style (usually - * text). Can be null. - * @param parent Name of parent text Style, or null - * for none. - * @param fmt size in points. - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public CellStyle(String name, String family, String parent,Format fmt, StyleCatalog sc) { - super(name, family, parent, sc); - this.fmt = fmt; - } - - /** - * Returns the Format object for this particular style - * - * @return the Format object - */ - public Format getFormat() { - return fmt; - } - - /** - * Parse a color specification of the form #rrggbb - * - * @param value Color specification to parse. - * - * @return The Color associated the value. - */ - private Color parseColorString(String value) { - // Assume color value is of form #rrggbb - String r = value.substring(1, 3); - String g = value.substring(3, 5); - String b = value.substring(5, 7); - int red = 0; - int green = 0; - int blue = 0; - try { - red = Integer.parseInt(r, 16); - green = Integer.parseInt(g, 16); - blue = Integer.parseInt(b, 16); - } catch (NumberFormatException e) { - Debug.log(Debug.ERROR, "Problem parsing a color string", e); - } - return new Color(red, green, blue, 0); - } - - - /** - * Set an attribute. - * - * @param attr The attribute to set. - * @param value The attribute value to set. - */ - private void handleAttribute(String attr, String value) { - - if (attr.equals("fo:font-weight")) { - fmt.setAttribute(Format.BOLD, value.equals("bold")); - } - - else if (attr.equals("fo:font-style")) { - if (value.equals("italic") || value.equals("oblique")) - fmt.setAttribute(Format.ITALIC, true); - else if (value.equals("normal")) - fmt.setAttribute(Format.ITALIC, false); - } - - else if (attr.equals("style:text-underline")) { - fmt.setAttribute(Format.UNDERLINE, !value.equals("none")); - } - - else if (attr.equals("style:text-crossing-out")) { - fmt.setAttribute(Format.STRIKETHRU, !value.equals("none")); - } - - else if (attr.equals("style:text-position")) { - if (value.startsWith("super ")) - fmt.setAttribute(Format.SUPERSCRIPT, true); - else if (value.startsWith("sub ")) - fmt.setAttribute(Format.SUBSCRIPT, true); - else if (value.startsWith("0% ")) - fmt.setAttribute(Format.SUPERSCRIPT | Format.SUBSCRIPT, false); - else { - String firstPart = value.substring(0, value.indexOf(" ")); - if (firstPart.endsWith("%")) { - firstPart = firstPart.substring(0, value.indexOf("%")); - int amount; - try { - amount = Integer.parseInt(firstPart); - } catch (NumberFormatException e) { - amount = 0; - Debug.log(Debug.ERROR, "Problem with style:text-position tag", e); - } - if (amount < 0) fmt.setAttribute(Format.SUBSCRIPT, true); - else if (amount > 0) fmt.setAttribute(Format.SUPERSCRIPT, false); - } - } - } - - else if (attr.equals("fo:font-size")) { - if (value.endsWith("pt")) { - String num = value.substring(0, value.length() - 2); - fmt.setFontSize(Integer.parseInt(num)); - } - } - - else if (attr.equals("style:font-name")) - fmt.setFontName(value); - - else if (attr.equals("fo:color")) - fmt.setForeground(parseColorString(value)); - - else if (attr.equals("fo:background-color")) - fmt.setBackground(parseColorString(value)); - - else if (attr.equals("fo:text-align")) { - if(value.equals("center")) { - fmt.setAlign(Format.CENTER_ALIGN); - } else if(value.equals("end")) { - fmt.setAlign(Format.RIGHT_ALIGN); - } else if(value.equals("start")) { - fmt.setAlign(Format.LEFT_ALIGN); - } - } - - else if (attr.equals("fo:vertical-align")) { - if(value.equals("top")) { - fmt.setVertAlign(Format.TOP_ALIGN); - } else if(value.equals("middle")) { - fmt.setVertAlign(Format.MIDDLE_ALIGN); - } else if(value.equals("bottom")) { - fmt.setVertAlign(Format.BOTTOM_ALIGN); - } - } - - else if (attr.equals("fo:border")) { - fmt.setAttribute(Format.TOP_BORDER, !value.equals("none")); - fmt.setAttribute(Format.BOTTOM_BORDER, !value.equals("none")); - fmt.setAttribute(Format.LEFT_BORDER, !value.equals("none")); - fmt.setAttribute(Format.RIGHT_BORDER, !value.equals("none")); - } - else if (attr.equals("fo:border-top")) { - fmt.setAttribute(Format.TOP_BORDER, !value.equals("none")); - } - else if (attr.equals("fo:border-bottom")) { - fmt.setAttribute(Format.BOTTOM_BORDER, !value.equals("none")); - } - else if (attr.equals("fo:border-left")) { - fmt.setAttribute(Format.LEFT_BORDER, !value.equals("none")); - } - else if (attr.equals("fo:border-right")) { - fmt.setAttribute(Format.RIGHT_BORDER, !value.equals("none")); - } - else if (attr.equals("fo:wrap-option")) { - fmt.setAttribute(Format.WORD_WRAP, value.equals("wrap")); - } - - else if (isIgnored(attr)) {} - - else { - Debug.log(Debug.INFO, "CellStyle Unhandled: " + attr + "=" + value); - } - } - - - /** - * Return a Style object corresponding to this one, - * but with all of the inherited information from parent - * Style objects filled in. The object returned will - * be a new object, not a reference to this object, even if it does - * not need any information added. - * - * @return The StyleCatalog in which to look up - * ancestors. - */ - public Style getResolved() { - // Create a new object to return, which is a clone of this one. - CellStyle resolved = null; - try { - resolved = (CellStyle)this.clone(); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Can't clone", e); - } - - // Look up the parentStyle. (If there is no style catalog - // specified, we can't do any lookups.) - CellStyle parentStyle = null; - if (sc != null) { - if (parent != null) { - parentStyle = (CellStyle)sc.lookup(parent, family, null, - this.getClass()); - if (parentStyle == null) - Debug.log(Debug.ERROR, "parent style lookup of " - + parent + " failed!"); - else - parentStyle = (CellStyle)parentStyle.getResolved(); - - } else if (!name.equals("DEFAULT_STYLE")) { - parentStyle = (CellStyle)sc.lookup("DEFAULT_STYLE", null, - null, this.getClass()); - } - } - - // If we found a parent, for any attributes which we don't have - // set, try to get the values from the parent. - if (parentStyle != null) { - parentStyle = (CellStyle)parentStyle.getResolved(); - Format parentFormat = parentStyle.getFormat(); - Format resolvedFormat = resolved.getFormat(); - - if ((fmt.getAlign() == Format.LEFT_ALIGN) && (parentFormat.getAlign() != Format.LEFT_ALIGN)) - resolvedFormat.setAlign(parentFormat.getAlign()); - if ((fmt.getVertAlign() == Format.BOTTOM_ALIGN) && (parentFormat.getVertAlign() != Format.BOTTOM_ALIGN)) - resolvedFormat.setVertAlign(parentFormat.getVertAlign()); - if ((fmt.getFontSize() == 0) && (parentFormat.getFontSize() != 0)) - resolvedFormat.setFontSize(parentFormat.getFontSize()); - if ((fmt.getFontName() == null) && (parentFormat.getFontName() != null)) - resolvedFormat.setFontName(parentFormat.getFontName()); - if ((fmt.getForeground() == null) && (parentFormat.getForeground() != null)) - resolvedFormat.setForeground(parentFormat.getForeground()); - if ((fmt.getBackground() == null) && (parentFormat.getBackground() != null)) - resolvedFormat.setBackground(parentFormat.getBackground()); - for (int m = Format.BOLD; m <= Format.SUBSCRIPT; m = m << 1) { - if ((fmt.getAttribute(m)) && (parentFormat.getAttribute(m))) { - resolvedFormat.setAttribute(m, parentFormat.getAttribute(m)); - } - } - - } - return resolved; - } - - - /** - * Create a new Node in the Document, and - * write this Style to it. - * - * @param parentDoc Parent Document of the - * Node to create. - * @param name Name to use for the new Node (e.g. - * style:style) - * - * @return Created Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - Element node = parentDoc.createElement(name); - writeAttributes(node); - return node; - } - - - /** - * Return true if style specifies as much or less - * than this Style, and nothing it specifies - * contradicts this Style. - * - * @param style The Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Style style) { - if (style.getClass() != this.getClass()) - return false; - CellStyle tStyle = (CellStyle)style; - - Format rhs = tStyle.getFormat(); - - if(!fmt.isSubset(rhs)) - return false; - - return true; - } - - - /** - * Write this Style object's attributes to a - * Node in the Document. - * - * @param node The Node to add Style - * attributes. - */ - public void writeAttributes(Element node) { - - if (fmt.getAlign()==Format.RIGHT_ALIGN) - node.setAttribute("fo:text-align", "end"); - - if (fmt.getAlign()==Format.LEFT_ALIGN) - node.setAttribute("fo:text-align", "start"); - - if (fmt.getAlign()==Format.CENTER_ALIGN) - node.setAttribute("fo:text-align", "center"); - - if (fmt.getVertAlign()==Format.TOP_ALIGN) - node.setAttribute("fo:vertical-align", "top"); - - if (fmt.getVertAlign()==Format.MIDDLE_ALIGN) - node.setAttribute("fo:vertical-align", "middle"); - - if (fmt.getVertAlign()==Format.BOTTOM_ALIGN) - node.setAttribute("fo:vertical-align", "bottom"); - - if (fmt.getAttribute(Format.BOLD)) - node.setAttribute("fo:font-weight", "bold"); - - if (fmt.getAttribute(Format.ITALIC)) - node.setAttribute("fo:font-style", "italic"); - - if (fmt.getAttribute(Format.UNDERLINE)) - node.setAttribute("style:text-underline", "single"); - - if (fmt.getAttribute(Format.STRIKETHRU)) - node.setAttribute("style:text-crossing-out", "single-line"); - - if (fmt.getAttribute(Format.SUPERSCRIPT)) - node.setAttribute("style:text-position", "super 58%"); - - if (fmt.getAttribute(Format.SUBSCRIPT)) - node.setAttribute("style:text-position", "sub 58%"); - - if (fmt.getFontSize() != 0) { - Integer fs = new Integer(fmt.getFontSize()); - node.setAttribute("fo:font-size", fs.toString() + "pt"); - } - - if (fmt.getFontName() != null) - node.setAttribute("style:font-name", fmt.getFontName()); - - if (fmt.getForeground() != null) - node.setAttribute("fo:color", buildColorString(fmt.getForeground())); - - if (fmt.getBackground() != null) - node.setAttribute("fo:background-color", - buildColorString(fmt.getBackground())); - - if (fmt.getAttribute(Format.TOP_BORDER)) - node.setAttribute("fo:border-top", "0.0008inch solid #000000"); - - if (fmt.getAttribute(Format.BOTTOM_BORDER)) - node.setAttribute("fo:border-bottom", "0.0008inch solid #000000"); - - if (fmt.getAttribute(Format.RIGHT_BORDER)) - node.setAttribute("fo:border-right", "0.0008inch solid #000000"); - - if (fmt.getAttribute(Format.LEFT_BORDER)) - node.setAttribute("fo:border-left", "0.0008inch solid #000000"); - - if (fmt.getAttribute(Format.WORD_WRAP)) - node.setAttribute("fo:wrap-option", "wrap"); - - } - - - /** - * Given a Color, return a string of the form - * #rrggbb. - * - * @param c The Color value. - * - * @return The Color value in the form #rrggbb. - */ - private String buildColorString(Color c) { - int v[] = new int[3]; - v[0] = c.getRed(); - v[1] = c.getGreen(); - v[2] = c.getBlue(); - String colorString = new String("#"); - for (int i = 0; i <= 2; i++) { - String xx = Integer.toHexString(v[i]); - if (xx.length() < 2) - xx = "0" + xx; - colorString += xx; - } - return colorString; - } - - - private static String[] ignored = { - "style:text-autospace", "style:text-underline-color", - "fo:margin-left", "fo:margin-right", "fo:text-indent", - "fo:margin-top", "fo:margin-bottom", "text:line-number", - "text:number-lines", "style:country-asian", - "style:font-size-asian", "style:font-name-complex", - "style:language-complex", "style:country-complex", - "style:font-size-complex", "style:punctuation-wrap", - "fo:language", "fo:country", - "style:font-name-asian", "style:language-asian", - "style:line-break", "fo:keep-with-next" - }; - - - /* - * This code checks whether an attribute is one that we - * intentionally ignore. - * - * @param attribute The attribute to check. - * - * @return true if attribute can be ignored, - * otherwise false. - */ - private boolean isIgnored(String attribute) { - for (int i = 0; i < ignored.length; i++) { - if (ignored[i].equals(attribute)) - return true; - } - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java deleted file mode 100644 index c8511ed81ef3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/ColumnRowInfo.java +++ /dev/null @@ -1,195 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -/** - * This is a class to define a table-column structure. This can then be - * used by plugins to write or read their own column types. - * - * @author Martin Maher - */ -public class ColumnRowInfo { - - final public static int COLUMN = 0x01; - final public static int ROW = 0x02; - - final private static int DEFAULTROWSIZE_MIN = 250; - final private static int DEFAULTROWSIZE_MAX = 260; - - private int type; - private int dimension = 0; - private int repeated = 1; - private boolean userDefined = true; - private Format fmt = new Format(); - - /** - * Constructor for a ColumnRowInfo - * - * @param dimension if it's a row the height, a column the width - * @param repeated - */ - public ColumnRowInfo(int type) { - - this.type = type; - } - - /** - * Constructor for a ColumnRowInfo - * - * @param dimension if it's a row the height, a column the width - * @param repeated how many times it is repeated - * @param type whether Row or column record - */ - public ColumnRowInfo(int dimension, int repeated, int type) { - - this.dimension = dimension; - this.repeated = repeated; - this.type = type; - } - - /** - * Constructor that includes userDefined field - * - * @param userDefined whether the record is manually set - */ - public ColumnRowInfo(int dimension, int repeated, int type, boolean userDefined) { - - this(dimension, repeated, type); - this.userDefined = userDefined; - } - - /** - * sets the definition - * - * @param newDefinition sets the definition - */ - public void setFormat(Format fmt) { - - this.fmt = fmt; - } - - /** - * returns Name of the definition - * - * @return the name which identifies the definition - */ - public Format getFormat() { - - return fmt; - } - - /** - * returns Name of the definition - * - * @return the name which identifies the definition - */ - public int getSize() { - - return dimension; - } - - /** - * sets the definition - * - * @param newDefinition sets the definition - */ - public void setSize(int dimension) { - - this.dimension = dimension; - } - /** - * Returns the definition itself - * - * @return the definition - */ - public int getRepeated() { - - return repeated; - } - - /** - * Returns the base Cell address - * - * @return the base cell address - */ - public void setRepeated(int repeated) { - - this.repeated = repeated; - } - - /** - * Returns the definition itself - * - * @return the definition - */ - public boolean isRow() { - - if(type==ROW) - return true; - else - return false; - } - - /** - * Returns the base Cell address - * - * @return the base cell address - */ - public boolean isColumn() { - - if(type==COLUMN) - return true; - else - return false; - } - - /** - * Test if the row height as been set manually - * - * @return true if user defined otherwise false - */ - public boolean isUserDefined() { - - return userDefined; - } - - /** - * Test if the row height is default - * - * @return true if default otherwise false - */ - public boolean isDefaultSize() { - - if( type==ROW && - dimension>DEFAULTROWSIZE_MIN && - dimension - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.awt.Color; -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.Style; -import org.openoffice.xmerge.converter.xml.StyleCatalog; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.TwipsConverter; - -/** - * Represents a text Style in an OpenOffice document. - * - * @author Martin Maher - */ -public class ColumnStyle extends Style implements Cloneable { - - private int colWidth = 0; - /** - * Constructor for use when going from DOM to client device format. - * - * @param Node The style:style Node containing - * the Style. (This Node is - * assumed have a family attribute of text). - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public ColumnStyle(Node node, StyleCatalog sc) { - super(node, sc); - - // Run through the attributes of this node, saving - // the ones we're interested in. - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - handleAttribute(attr.getNodeName(), attr.getNodeValue()); - } - } - - // Look for children. Only ones we care about are "style:properties" - // nodes. If any are found, recursively traverse them, passing - // along the style element to add properties to. - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - for (int i = 0; i < len; i++) { - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:properties")) { - NamedNodeMap childAttrNodes = child.getAttributes(); - if (childAttrNodes != null) { - int nChildAttrNodes = childAttrNodes.getLength(); - for (int j = 0; j < nChildAttrNodes; j++) { - Node attr = childAttrNodes.item(j); - handleAttribute(attr.getNodeName(), - attr.getNodeValue()); - } - } - } - } - } - } - - - /** - * Constructor for use when going from client device format to DOM - * - * @param name Name of text Style. Can be null. - * @param family Family of text Style (usually - * text). Can be null. - * @param parent Name of parent text Style, or null - * for none. - * @param mask the width of this column - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public ColumnStyle(String name, String family, String parent,int colWidth, StyleCatalog sc) { - super(name, family, parent, sc); - this.colWidth = colWidth; - } - - /** - * Returns the width of this column - * - * @return the Format object - */ - public int getColWidth() { - return colWidth; - } - - /** - * Sets the width of this column - * - * @return the Format object - */ - public void setColWidth(int colWidth) { - - this.colWidth = colWidth; - } - - /** - * Parse a colwidth in the form "1.234cm" to twips - * - * @param value String specification to parse. - * - * @return The twips equivalent. - */ - private int parseColWidth(String value) { - - int width = 255; // Default value - - if(value.indexOf("cm")!=-1) { - float widthCM = Float.parseFloat(value.substring(0,value.indexOf("c"))); - width = TwipsConverter.cm2twips(widthCM); - } else if(value.indexOf("inch")!=-1) { - float widthInch = Float.parseFloat(value.substring(0,value.indexOf("i"))); - width = TwipsConverter.inches2twips(widthInch); - } - - return (width); - } - - - /** - * Set an attribute. - * - * @param attr The attribute to set. - * @param value The attribute value to set. - */ - private void handleAttribute(String attr, String value) { - - if (attr.equals("style:column-width")) { - colWidth = parseColWidth(value); - } - else { - Debug.log(Debug.INFO, "ColumnStyle Unhandled: " + attr + "=" + value); - } - } - - - /** - * Return a Style object corresponding to this one, - * but with all of the inherited information from parent - * Style objects filled in. The object returned will - * be a new object, not a reference to this object, even if it does - * not need any information added. - * - * @return The StyleCatalog in which to look up - * ancestors. - */ - public Style getResolved() { - // Create a new object to return, which is a clone of this one. - ColumnStyle resolved = null; - try { - resolved = (ColumnStyle)this.clone(); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Can't clone", e); - } - - // Look up the parentStyle. (If there is no style catalog - // specified, we can't do any lookups.) - ColumnStyle parentStyle = null; - if (sc != null) { - if (parent != null) { - parentStyle = (ColumnStyle)sc.lookup(parent, family, null, - this.getClass()); - if (parentStyle == null) - Debug.log(Debug.ERROR, "parent style lookup of " - + parent + " failed!"); - else - parentStyle = (ColumnStyle)parentStyle.getResolved(); - - } else if (!name.equals("DEFAULT_STYLE")) { - parentStyle = (ColumnStyle)sc.lookup("DEFAULT_STYLE", null, - null, this.getClass()); - } - } - - // If we found a parent, for any attributes which we don't have - // set, try to get the values from the parent. - if (parentStyle != null) { - parentStyle = (ColumnStyle)parentStyle.getResolved(); - - if ((colWidth == 0) && (parentStyle.getColWidth() != 0)) - resolved.setColWidth(parentStyle.getColWidth()); - } - return resolved; - } - - - /** - * Create a new Node in the Document, and - * write this Style to it. - * - * @param parentDoc Parent Document of the - * Node to create. - * @param name Name to use for the new Node (e.g. - * style:style) - * - * @return Created Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - Element node = parentDoc.createElement(name); - writeAttributes(node); - return node; - } - - - /** - * Return true if style specifies as much or less - * than this Style, and nothing it specifies - * contradicts this Style. - * - * @param style The Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Style style) { - if (style.getClass() != this.getClass()) - return false; - ColumnStyle tStyle = (ColumnStyle)style; - - if(colWidth!=tStyle.getColWidth()) - return false; - - return true; - } - - - /** - * Write this Style object's attributes to a - * Node in the Document. - * - * @param node The Node to add Style - * attributes. - */ - public void writeAttributes(Element node) { - - if(colWidth!=0) { - String width = TwipsConverter.twips2cm(colWidth) + "cm"; - node.setAttribute("style:column-width", width); - } - } - - - private static String[] ignored = { - "fo:break-before", "fo:keep-with-next" - }; - - - /* - * This code checks whether an attribute is one that we - * intentionally ignore. - * - * @param attribute The attribute to check. - * - * @return true if attribute can be ignored, - * otherwise false. - */ - private boolean isIgnored(String attribute) { - for (int i = 0; i < ignored.length; i++) { - if (ignored[i].equals(attribute)) - return true; - } - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/DocumentMergerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/DocumentMergerImpl.java deleted file mode 100644 index eb4e03216fca..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/DocumentMergerImpl.java +++ /dev/null @@ -1,199 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.diff.IteratorRowCompare; -import org.openoffice.xmerge.merger.diff.RowIterator; -import org.openoffice.xmerge.merger.merge.SheetMerge; -import org.openoffice.xmerge.merger.merge.PositionBaseRowMerge; -import org.openoffice.xmerge.merger.MergeAlgorithm; -import org.openoffice.xmerge.util.XmlUtil; -import org.openoffice.xmerge.util.Debug; - - -/** - * Generic small device implementation of DocumentMerger for - * the {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcPluginFactory - * SxcPluginFactory}. Used with SXC Document objects.

    - */ -public class DocumentMergerImpl implements DocumentMerger { - - private ConverterCapabilities cc_; - private org.openoffice.xmerge.Document orig = null; - - /** - * Constructor - * - * @param doc The original "Office" Document - * to merge. - * @param cc The ConverterCapabilities. - */ - public DocumentMergerImpl(org.openoffice.xmerge.Document doc, ConverterCapabilities cc) { - cc_ = cc; - this.orig = doc; - } - - public void merge(Document modifiedDoc) throws MergeException { - - SxcDocument sdoc1 = (SxcDocument)orig; - SxcDocument sdoc2 = (SxcDocument)modifiedDoc; - - org.w3c.dom.Document doc1 = sdoc1.getContentDOM(); - org.w3c.dom.Document doc2 = sdoc2.getContentDOM(); - - Element elem1 = doc1.getDocumentElement(); - Element elem2 = doc2.getDocumentElement(); - - // get table name - NodeList workSheetList1 = - elem1.getElementsByTagName(OfficeConstants.TAG_TABLE); - NodeList workSheetList2 = - elem2.getElementsByTagName(OfficeConstants.TAG_TABLE); - - int numOfWorkSheet = workSheetList1.getLength(); - - for (int i=0; i < numOfWorkSheet; i++) { - Node workSheet = workSheetList1.item(i); - - // try to match the workSheet - Node matchingWorkSheet = matchWorkSheet(workSheet, workSheetList2); - - if (matchingWorkSheet != null) { - - // need to put it into a row Iterator - // use a straight comparsion algorithm then do a merge on it - Iterator i1 = new RowIterator(cc_, workSheet); - Iterator i2 = new RowIterator(cc_, matchingWorkSheet); - - // find out the diff - DiffAlgorithm diffAlgo = new IteratorRowCompare(); - - // find out the paragrah level diffs - Difference[] diffResult = diffAlgo.computeDiffs(i1, i2); - - if (Debug.isFlagSet(Debug.INFO)) { - Debug.log(Debug.INFO, "Diff Result: "); - - for (int j = 0; j < diffResult.length; j++) { - Debug.log(Debug.INFO, diffResult[j].debug()); - } - } - - // merge back the result - NodeMergeAlgorithm rowMerger = new PositionBaseRowMerge(cc_); - MergeAlgorithm merger = new SheetMerge(cc_, rowMerger); - - Iterator result = null; - - merger.applyDifference(i1, i2, diffResult); - } - } - - numOfWorkSheet = workSheetList2.getLength(); - - // for those workSheet from target don't have a matching one - // in the original workSheet list, we add it - - // find out the office body node first - NodeList officeBodyList = - elem1.getElementsByTagName(OfficeConstants.TAG_OFFICE_BODY); - - Node officeBody = officeBodyList.item(0); - - // for each WorkSheets, try to see whether we have it or not - for (int j=0; j < numOfWorkSheet; j++) { - Node workSheet= workSheetList2.item(j); - - // try to match the workSheet - // - Node matchingWorkSheet = matchWorkSheet(workSheet, workSheetList1); - - // add the new WorkSheet to the original document iff match not - // found - // - if (matchingWorkSheet == null) { - Node cloneNode = XmlUtil.deepClone(officeBody, workSheet); - officeBody.appendChild(cloneNode); - } - } - } - - /** - * Try to find a WorkSheet from the modified WorkSheetList that - * has a matching table name from the original WorkSheet. - * - * @param orgSheet The original WorkSheet. - * @param modSheetList The modified WorkSheet. - * - * @return The Node in modSheetList that matches the orgSheet. - */ - private Node matchWorkSheet(Node orgSheet, NodeList modSheetList) { - - Node matchSheet = null; - - String orgTableName = ((Element)orgSheet).getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NAME); - - if (orgTableName == null) - return null; - - int numOfWorkSheet = modSheetList.getLength(); - - String modTableName; - - for (int i=0; i < numOfWorkSheet; i++) { - modTableName = ((Element)modSheetList.item(i)).getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NAME); - if (modTableName == null) - continue; - - if (orgTableName.equals(modTableName)) { - matchSheet = modSheetList.item(i); - break; - } - } - - return matchSheet; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/Format.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/Format.java deleted file mode 100644 index 7f6dee011253..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/Format.java +++ /dev/null @@ -1,477 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.awt.Color; - -import org.openoffice.xmerge.util.Debug; - -/** - * This class specifies the format for a given spreadsheet cell. - * - * @author Mark Murnane - * @author Martin Maher (Extended Style Support) - */ -public class Format implements Cloneable { - - /** Horizontal Alignment Constants. */ - final public static int RIGHT_ALIGN = 0x01; - final public static int CENTER_ALIGN = 0x02; - final public static int LEFT_ALIGN = 0x03; - final public static int JUST_ALIGN = 0x04; - - /** Vertical Alignment Constants. */ - final public static int TOP_ALIGN = 0x01; - final public static int MIDDLE_ALIGN = 0x02; - final public static int BOTTOM_ALIGN = 0x03; - - /** Indicates bold text. */ - final public static int BOLD = 0x01; - /** Indicates italic text. */ - final public static int ITALIC = 0x02; - /** Indicates underlined text. */ - final public static int UNDERLINE = 0x04; - /** Indicates strike-through in the text. */ - final public static int STRIKETHRU = 0x08; - /** Indicates superscripted text. */ - final public static int SUPERSCRIPT = 0x10; - /** Indicates subscripted text. */ - final public static int SUBSCRIPT = 0x20; - - final public static int LEFT_BORDER = 0x40; - final public static int RIGHT_BORDER = 0x80; - final public static int TOP_BORDER = 0x100; - final public static int BOTTOM_BORDER = 0x200; - - final public static int WORD_WRAP = 0x400; - - private int align; - private int vertAlign; - private String category; - private String value; - private String formatSpecifier; - private int decimalPlaces; - - /** Font name. */ - private String fontName; - /** Font size in points. */ - protected int sizeInPoints; - - private Color foreground, background; - - /** Values of text attributes. */ - protected int attributes = 0; - /** Bitwise mask of text attributes. */ - protected int mask = 0; - - /** - * Constructor for creating a new Format. - */ - public Format() { - clearFormatting(); - } - - /** - * Constructor that creates a new Format object - * by setting all the format attributes. - * - */ - public Format(int attributes, int fontSize, String fontName) { - - this.attributes = attributes; - sizeInPoints = fontSize; - this.fontName = fontName; - } - - /** - * Constructor for creating a new Format object - * based on an existing one. - * - * @param fmt Format to copy. - */ - public Format(Format fmt) { - category = fmt.getCategory(); - value = fmt.getValue(); - formatSpecifier = fmt.getFormatSpecifier(); - decimalPlaces = fmt.getDecimalPlaces(); - - attributes = fmt.attributes; - mask = fmt.mask; - - fontName = fmt.getFontName(); - align = fmt.getAlign(); - vertAlign = fmt.getVertAlign(); - foreground = fmt.getForeground(); - background = fmt.getBackground(); - sizeInPoints = fmt.sizeInPoints; - } - - - /** - * Reset this Format description. - */ - public void clearFormatting() { - category = ""; - value = ""; - formatSpecifier = ""; - decimalPlaces = 0; - attributes = 0; - mask = 0; - sizeInPoints = 10; - align = LEFT_ALIGN; - vertAlign = BOTTOM_ALIGN; - fontName = ""; - foreground = null; - background = null; - } - - /** - * Set one or more text attributes to on. - * - * @param flags Flag attributes to set on. - */ - public void setAttribute(int flags, boolean toggle) { - mask |= flags; - if(toggle) { - attributes |= flags; - } else { - attributes &= ~flags; - } - } - - /** - * Return true if the attribute is set to on - * - * @param attribute Attribute to check ({@link #BOLD}, - * {@link #ITALIC}, etc.) - * - * @return true if attribute is set to on, - * otherwise false. - */ - public boolean getAttribute(int attribute) { - if ((mask & attribute) == 0) - return false; - return (!((attributes & attribute) == 0)); - } - - /** - * Return true if text attribute is set in this - * Style.An attribute that is set may have a - * value of on or off. - * - * @param attribute The attribute to check ({@link #BOLD}, - * {@link #ITALIC}, etc.). - * - * @return true if text attribute is set in this - * Style, false otherwise. - */ - public boolean isSet(int attribute) { - return (!((mask & attribute) == 0)); - } - - - /** - * Set the formatting category of this object, ie number, date, - * currency.The OfficeConstants class contains string - * constants for the category types. - * - * @see org.openoffice.xmerge.converter.xml.OfficeConstants - * - * @param newCategory The name of the category to be set. - */ - public void setCategory(String newCategory) { - category = newCategory; - } - - /** - * Return the formatting category of the object. - * - * @see org.openoffice.xmerge.converter.xml.OfficeConstants - * - * @return The formatting category of the object. - */ - public String getCategory() { - return category; - } - - /** - * In the case of Formula returns the value of the formula. - * - * @return The value of the formula - */ - public String getValue() { - return value; - } - - /** - * In the case of formula the contents are set as the formula string and - * the value of the formula is a formatting attribute. - * - * @param newValue the formuala value - */ - public void setValue(String newValue) { - value = newValue; - } - - - /** - * Set the Format specifier for this category. - * - * @param formatString The new Format specifier. - */ - public void setFormatSpecifier(String formatString) { - formatSpecifier = formatString; - } - - - /** - * Get the Format specifier for this category. - * - * @return Format specifier for this category. - */ - public String getFormatSpecifier() { - return formatSpecifier; - } - - - /** - * Set the precision of the number to be displayed. - * - * @param precision The number of decimal places to display. - */ - public void setDecimalPlaces(int precision) { - decimalPlaces = precision; - } - - - /** - * Get the number of decimal places displayed. - * - * @return Number of decimal places. - */ - public int getDecimalPlaces() { - return decimalPlaces; - } - - - /** - * Set the font used for this cell. - * - * @param fontName The name of the font. - */ - public void setFontName(String fontName) { - this.fontName = fontName; - } - - - /** - * Get the font used for this cell. - * - * @return The font name. - */ - public String getFontName() { - return fontName; - } - - /** - * Set the font used for this cell. - * - * @param fontName The name of the font. - */ - public void setFontSize(int fontSize) { - sizeInPoints = fontSize; - } - - - /** - * Get the font used for this cell. - * - * @return The font name. - */ - public int getFontSize() { - return sizeInPoints; - } - - /** - * Set the alignmen used for this cell. - * - * @param fontName The name of the font. - */ - public void setVertAlign(int vertAlign) { - this.vertAlign = vertAlign; - } - - - /** - * Get the alignment used for this cell. - * - * @return The font name. - */ - public int getVertAlign() { - return vertAlign; - } - - /** - * Set the alignmen used for this cell. - * - * @param fontName The name of the font. - */ - public void setAlign(int align) { - this.align = align; - } - - - /** - * Get the alignment used for this cell. - * - * @return The font name. - */ - public int getAlign() { - return align; - } - /** - * Set the Foreground Color for this cell. - * - * @param color A Color object representing the - * foreground color. - */ - public void setForeground(Color c) { - if(c!=null) - foreground = new Color(c.getRGB()); - } - - - /** - * Get the Foreground Color for this cell. - * - * @return Foreground Color value. - */ - public Color getForeground() { - return foreground; - } - - - /** - * Set the Background Color for this cell - * - * @param color A Color object representing - * the background color. - */ - public void setBackground(Color c) { - if(c!=null) - background = new Color(c.getRGB()); - } - - - /** - * Get the Foreground Color for this cell - * - * @return Background Color value - */ - public Color getBackground() { - return background; - } - - /** - * Get the Foreground Color for this cell - * - * @return Background Color value - */ - public String toString() { - return new String("Value : " + getValue() + " Category : " + getCategory()); - } - - /** - * Tests if the current Format object has default attribute - * values. - * - * @return true if it contains default value - */ - public boolean isDefault() { - - Format rhs = new Format(); - - if (rhs.attributes!= attributes) - return false; - - if (foreground!=rhs.foreground) - return false; - - if (background!=rhs.background) - return false; - - if (rhs.align!= align) - return false; - - if (rhs.vertAlign!= vertAlign) - return false; - - return true; - } - - /** - * Return true if style specifies as much or less - * than this Style, and nothing it specifies - * contradicts this Style. - * - * @param style The Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Format rhs) { - if (rhs.getClass() != this.getClass()) - return false; - - if (rhs.attributes!= attributes) - return false; - - if (rhs.sizeInPoints != 0) { - if (sizeInPoints != rhs.sizeInPoints) - return false; - } - - if (fontName!=rhs.fontName) - return false; - - if (foreground!=rhs.foreground) - return false; - - if (background!=rhs.background) - return false; - - if (rhs.align!= align) - return false; - - if (rhs.vertAlign!= vertAlign) - return false; - - return true; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/NameDefinition.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/NameDefinition.java deleted file mode 100644 index 99aa3dd625ec..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/NameDefinition.java +++ /dev/null @@ -1,216 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.XmlUtil; - -/** - * This is a class to define a Name Definition structure. This can then be - * used by plugins to write or read their own definition types. - * - * @author Martin Maher - */ -public class NameDefinition implements OfficeConstants { - - private String name; // name which identifies the definition - private String definition; // the definition itself - private String baseCellAddress; // the basecelladdress - private boolean rangeType = false; // true if definition of type range - private boolean expressionType = false; // true if definition of type expression - - /** - * Default Constructor for a NameDefinition - * - */ - public NameDefinition() { - - } - - /** - * Constructor that takes a Node to build a - * NameDefinition - * - * @param root XML Node to read from - */ - public NameDefinition(Node root) { - readNode(root); - } - - /** - * Default Constructor for a NameDefinition - * - */ - public NameDefinition(String name, String definition, String - baseCellAddress, boolean rangeType, boolean expressionType ) { - this.name = name; - this.definition = definition; - this.baseCellAddress = baseCellAddress; - this.rangeType = rangeType; - this.expressionType = expressionType; - } - - /** - * returns Name of the definition - * - * @return the name which identifies the definition - */ - public String getName() { - - return name; - } - /** - * sets the definition - * - * @param newDefinition sets the definition - */ - public void setDefinition(String newDefinition) { - - definition = newDefinition; - } - /** - * Returns the definition itself - * - * @return the definition - */ - public String getDefinition() { - - return definition; - } - - /** - * Returns the base Cell address - * - * @return the base cell address - */ - public String getBaseCellAddress() { - - return baseCellAddress; - } - - /** - * Tests if definition is of type expression - * - * @return whether or not this name definition is of type expression - */ - public boolean isExpressionType() { - return expressionType; - } - - /** - * Tests if definition is of type range - * - * @return whether or not this name definition is of type range - */ - public boolean isRangeType() { - return rangeType; - } - - /** - * Writes out a content.xml entry for this NameDefinition object - * - * @param settings a Document object representing the settings.xml - * @param root the root xml node to add to - */ - public void writeNode(org.w3c.dom.Document doc, Node root) { - - if(isRangeType()) { - - Debug.log(Debug.TRACE, "Found Range Name : " + getName()); - Element namedRangeElement = (Element) doc.createElement(TAG_TABLE_NAMED_RANGE); - namedRangeElement.setAttribute(ATTRIBUTE_TABLE_NAME, getName()); - namedRangeElement.setAttribute(ATTRIBUTE_TABLE_BASE_CELL_ADDRESS, getBaseCellAddress()); - namedRangeElement.setAttribute(ATTRIBUTE_TABLE_CELL_RANGE_ADDRESS, getDefinition()); - root.appendChild(namedRangeElement); - } else if (isExpressionType()) { - - Debug.log(Debug.TRACE, "Found Expression Name : " + getName()); - Element namedExpressionElement = (Element) doc.createElement(TAG_TABLE_NAMED_EXPRESSION); - namedExpressionElement.setAttribute(ATTRIBUTE_TABLE_NAME, getName()); - namedExpressionElement.setAttribute(ATTRIBUTE_TABLE_BASE_CELL_ADDRESS,getBaseCellAddress()); - namedExpressionElement.setAttribute(ATTRIBUTE_TABLE_EXPRESSION, getDefinition()); - root.appendChild(namedExpressionElement); - } else { - - Debug.log(Debug.TRACE, "Unknown Name Definition : " + getName()); - } - } - - /** - * Reads document settings from xml and inits Settings variables - * - * @param root XML Node to read from - */ - public void readNode(Node root) { - - String nodeName = root.getNodeName(); - NamedNodeMap cellAtt = root.getAttributes(); - - if (nodeName.equals(TAG_TABLE_NAMED_RANGE)) { - - Node tableNameNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_NAME); - Node tableBaseCellAddress = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_BASE_CELL_ADDRESS); - Node tableCellRangeAddress = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_CELL_RANGE_ADDRESS); - Debug.log(Debug.TRACE,"Named-range : " + tableNameNode.getNodeValue()); - // Create a named-range name definition - name = tableNameNode.getNodeValue(); - definition = tableCellRangeAddress.getNodeValue(); - baseCellAddress = tableBaseCellAddress.getNodeValue(); - expressionType = true; - rangeType = false; - - } else if (nodeName.equals(TAG_TABLE_NAMED_EXPRESSION)) { - - Node tableNameNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_NAME); - Node tableBaseCellAddress = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_BASE_CELL_ADDRESS); - Node tableExpression= - cellAtt.getNamedItem(ATTRIBUTE_TABLE_EXPRESSION); - Debug.log(Debug.TRACE,"Named-expression: " + tableNameNode.getNodeValue()); - // Create a named-range name definition - name = tableNameNode.getNodeValue(); - definition = tableExpression.getNodeValue(); - baseCellAddress = tableBaseCellAddress.getNodeValue(); - expressionType = false; - rangeType = true; - } else { - Debug.log(Debug.TRACE, ""); - } - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/RowStyle.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/RowStyle.java deleted file mode 100644 index aecb3cec3001..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/RowStyle.java +++ /dev/null @@ -1,305 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.Style; -import org.openoffice.xmerge.converter.xml.StyleCatalog; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.TwipsConverter; - -/** - * Represents a text Style in an OpenOffice document. - * - * @author Martin Maher - */ -public class RowStyle extends Style implements Cloneable { - - private int rowHeight = 255; - /** - * Constructor for use when going from DOM to client device format. - * - * @param Node The style:style Node containing - * the Style. (This Node is - * assumed have a family attribute of text). - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public RowStyle(Node node, StyleCatalog sc) { - super(node, sc); - - // Run through the attributes of this node, saving - // the ones we're interested in. - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - handleAttribute(attr.getNodeName(), attr.getNodeValue()); - } - } - - // Look for children. Only ones we care about are "style:properties" - // nodes. If any are found, recursively traverse them, passing - // along the style element to add properties to. - if (node.hasChildNodes()) { - NodeList children = node.getChildNodes(); - int len = children.getLength(); - for (int i = 0; i < len; i++) { - Node child = children.item(i); - String name = child.getNodeName(); - if (name.equals("style:properties")) { - NamedNodeMap childAttrNodes = child.getAttributes(); - if (childAttrNodes != null) { - int nChildAttrNodes = childAttrNodes.getLength(); - for (int j = 0; j < nChildAttrNodes; j++) { - Node attr = childAttrNodes.item(j); - handleAttribute(attr.getNodeName(), - attr.getNodeValue()); - } - } - } - } - } - } - - - /** - * Constructor for use when going from client device format to DOM - * - * @param name Name of text Style. Can be null. - * @param family Family of text Style (usually - * text). Can be null. - * @param parent Name of parent text Style, or null - * for none. - * @param mask The height of this row - * @param sc The StyleCatalog, which is used for - * looking up ancestor Style objects. - */ - public RowStyle(String name, String family, String parent,int rowHeight, StyleCatalog sc) { - super(name, family, parent, sc); - this.rowHeight=rowHeight; - } - - /** - * Returns the height of this row - * - * @return the Format object - */ - public int getRowHeight() { - return rowHeight; - } - - /** - * Sets the height of this row - * - * @return the Format object - */ - public void setRowHeight(int RowHeight) { - - this.rowHeight = rowHeight; - } - /** - * Parse a colheight in the form "1.234cm" to twips - * - * @param value String specification to parse. - * - * @return The twips equivalent. - */ - private int parseRowHeight(String value) { - - int height = 255; // Default value - - if(value.indexOf("cm")!=-1) { - float heightCM = Float.parseFloat(value.substring(0,value.indexOf("c"))); - height = TwipsConverter.cm2twips(heightCM); - } else if(value.indexOf("inch")!=-1) { - float heightInch = Float.parseFloat(value.substring(0,value.indexOf("i"))); - height = TwipsConverter.inches2twips(heightInch); - } - - return (height); - - } - - - /** - * Set an attribute. - * - * @param attr The attribute to set. - * @param value The attribute value to set. - */ - private void handleAttribute(String attr, String value) { - - if (attr.equals("style:row-height")) { - rowHeight = parseRowHeight(value); - } - else { - Debug.log(Debug.INFO, "RowStyle Unhandled: " + attr + "=" + value); - } - } - - - /** - * Return a Style object corresponding to this one, - * but with all of the inherited information from parent - * Style objects filled in. The object returned will - * be a new object, not a reference to this object, even if it does - * not need any information added. - * - * @return The StyleCatalog in which to look up - * ancestors. - */ - public Style getResolved() { - // Create a new object to return, which is a clone of this one. - RowStyle resolved = null; - try { - resolved = (RowStyle)this.clone(); - } catch (Exception e) { - Debug.log(Debug.ERROR, "Can't clone", e); - } - - // Look up the parentStyle. (If there is no style catalog - // specified, we can't do any lookups.) - RowStyle parentStyle = null; - if (sc != null) { - if (parent != null) { - parentStyle = (RowStyle)sc.lookup(parent, family, null, - this.getClass()); - if (parentStyle == null) - Debug.log(Debug.ERROR, "parent style lookup of " - + parent + " failed!"); - else - parentStyle = (RowStyle)parentStyle.getResolved(); - - } else if (!name.equals("DEFAULT_STYLE")) { - parentStyle = (RowStyle)sc.lookup("DEFAULT_STYLE", null, - null, this.getClass()); - } - } - - // If we found a parent, for any attributes which we don't have - // set, try to get the values from the parent. - if (parentStyle != null) { - parentStyle = (RowStyle)parentStyle.getResolved(); - - if ((rowHeight == 0) && (parentStyle.getRowHeight() != 0)) - resolved.setRowHeight(parentStyle.getRowHeight()); - } - return resolved; - } - - - /** - * Create a new Node in the Document, and - * write this Style to it. - * - * @param parentDoc Parent Document of the - * Node to create. - * @param name Name to use for the new Node (e.g. - * style:style) - * - * @return Created Node. - */ - public Node createNode(org.w3c.dom.Document parentDoc, String name) { - Element node = parentDoc.createElement(name); - writeAttributes(node); - return node; - } - - - /** - * Return true if style specifies as much or less - * than this Style, and nothing it specifies - * contradicts this Style. - * - * @param style The Style to check. - * - * @return true if style is a subset, false - * otherwise. - */ - public boolean isSubset(Style style) { - if (style.getClass() != this.getClass()) - return false; - RowStyle tStyle = (RowStyle)style; - - if(rowHeight!=tStyle.getRowHeight()) - return false; - - return true; - } - - - /** - * Write this Style object's attributes to a - * Node in the Document. - * - * @param node The Node to add Style - * attributes. - */ - public void writeAttributes(Element node) { - - if(rowHeight!=0) { - String height = TwipsConverter.twips2cm(rowHeight) + "cm"; - node.setAttribute("style:row-height", height); - } - } - - - private static String[] ignored = { - "fo:break-before", "fo:keep-with-next" - }; - - - /* - * This code checks whether an attribute is one that we - * intentionally ignore. - * - * @param attribute The attribute to check. - * - * @return true if attribute can be ignored, - * otherwise false. - */ - private boolean isIgnored(String attribute) { - for (int i = 0; i < ignored.length; i++) { - if (ignored[i].equals(attribute)) - return true; - } - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SheetSettings.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SheetSettings.java deleted file mode 100644 index 08339773be30..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SheetSettings.java +++ /dev/null @@ -1,374 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import java.awt.Point; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; - -/** - * This is a class representing the different attributes for a worksheet - * contained in settings.xml. - * - * @author Martin Maher - */ -public class SheetSettings implements OfficeConstants { - - /** A w3c Document. */ - private org.w3c.dom.Document settings = null; - - private String sheetName; - private int cursorX = 0; - private int cursorY = 0; - private int splitTypeX; - private int splitTypeY; - private int splitPointX = 0; - private int splitPointY = 0; - private int posLeft = 0; - private int posRight = 0; - private int posBottom = 0; - private int posTop = 0; - private int paneNumber = 2; - - final public static int NONE = 0x00; - final public static int SPLIT = 0x01; - final public static int FREEZE = 0x02; - - - /** - * Default Constructor for a ColumnRowInfo - * - */ - public SheetSettings() { - } - - /** - * Constructor that takes a Node to build a SheetSettings - * - * @param root XML Node to read from - */ - public SheetSettings(Node root) { - readNode(root); - } - - /** - * Constructor for a ColumnRowInfo - * - * @param dimension if it's a row the height, a column the width - * @param repeated - */ - public SheetSettings(String name) { - sheetName = name; - } - - /** - * sets the position of the acitve cell - * - * @param activeCell the current curor position - */ - public void setCursor(Point activeCell) { - - cursorX = (int) activeCell.getX(); - cursorY = (int) activeCell.getY(); - } - - /** - * Gets the position of the acitve cell - * - * @return The position as a Point - */ - public Point getCursor() { - - return (new Point(cursorX, cursorY)); - } - - /** - * Sets the position of the freeze - * - * @param splitPoint the point at where the split occurs - */ - public void setFreeze(Point splitPoint) { - - splitTypeX = FREEZE; - splitTypeY = FREEZE; - splitPointX = (int) splitPoint.getX(); - splitPointY = (int) splitPoint.getY(); - } - - /** - * Sets the position of the split - * - * @param splitPoint the point at where the split occurs - */ - public void setSplit(Point splitPoint) { - - splitTypeX = SPLIT; - splitTypeY = SPLIT; - splitPointX = (int) splitPoint.getX(); - splitPointY = (int) splitPoint.getY(); - } - - /** - * sets the position and type of the split - * - * @return The position as a Point where the split occurs - */ - public Point getSplit() { - - return (new Point(splitPointX, splitPointY)); - } - - /** - * sets the position and type of the split - * - * @return The position as a Point where the split occurs - */ - public Point getSplitType() { - - return (new Point(splitTypeX, splitTypeY)); - } - - /** - * Sets the top row visible in the lower pane and the leftmost column - * visibile in the right pane. - * - * @param top The top row visible in the lower pane - * @param left The leftmost column visibile in the right pane - */ - public void setTopLeft(int top, int left) { - - posLeft = left; - posTop = top; - } - - /** - * Gets the the leftmost column visibile in the right pane. - * - * @return the 0-based index to the column - */ - public int getLeft() { - - return posLeft; - } - /** - * Sets the top row visible in the lower pane and the leftmost column - * visibile in the right pane. - * - * @param top The top row visible in the lower pane - * @param left The leftmost column visibile in the right pane - */ - public int getTop() { - - return posTop; - } - - /** - * Gets the active Panel - * 0 - Bottom Right, 1 - Top Right - * 2 - Bottom Left, 3 - Top Left - * - * @return int representing the active panel - */ - public int getPaneNumber() { - - return paneNumber; - } - - /** - * Sets the sheetname this settings object applies to - * - * @param sheetName the name of the worksheet - */ - public void setSheetName(String sheetName) { - - this.sheetName = sheetName; - - } - - /** - * Sets the active pane number - * 0 - Bottom Right, 1 - Top Right - * 2 - Bottom Left, 3 - Top Left - * - * @param paneNumber the pane number - */ - public void setPaneNumber(int paneNumber) { - - this.paneNumber = paneNumber; - } - - /** - * Gets the name of the worksheet these Settings apply to - * - * @return the name of the worksheet - */ - public String getSheetName() { - - return sheetName; - } - - /** - * Adds an XML entry for a particular setting - * - * @param root the root node at which to add the xml entry - * @param attriute the name of the attribute to add - * @param type the attribute type (int, short etc) - * @param value the value of the attribute - */ - private void addConfigItem(Node root, String attribute, String type, String value) { - - Element configItem = settings.createElement(TAG_CONFIG_ITEM); - configItem.setAttribute(ATTRIBUTE_CONFIG_NAME, attribute); - configItem.setAttribute(ATTRIBUTE_CONFIG_TYPE, type); - - configItem.appendChild(settings.createTextNode(value)); - - root.appendChild(configItem); - } - - /** - * Writes out a settings.xml entry for this SheetSettings object - * - * @param settings a Document object representing the settings.xml - * @param root the root xml node to add to - */ - public void writeNode(org.w3c.dom.Document settings, Node root) { - - this.settings = settings; - Element configItemMapEntry = (Element) settings.createElement(TAG_CONFIG_ITEM_MAP_ENTRY); - configItemMapEntry.setAttribute(ATTRIBUTE_CONFIG_NAME, getSheetName()); - addConfigItem(configItemMapEntry, "CursorPositionX", "int", Integer.toString(cursorX)); - addConfigItem(configItemMapEntry, "CursorPositionY", "int", Integer.toString(cursorY)); - - String splitMode = Integer.toString(splitTypeX); - if(splitPointX==0) { - splitMode = "0"; - } - addConfigItem(configItemMapEntry, "HorizontalSplitMode", "short", splitMode); - - splitMode = Integer.toString(splitTypeY); - if(splitPointY==0) { - splitMode = "0"; - } - addConfigItem(configItemMapEntry, "VerticalSplitMode", "short", splitMode); - - addConfigItem(configItemMapEntry, "HorizontalSplitPosition", "int", Integer.toString(splitPointX)); - addConfigItem(configItemMapEntry, "VerticalSplitPosition", "int", Integer.toString(splitPointY)); - addConfigItem(configItemMapEntry, "ActiveSplitRange", "short", Integer.toString(paneNumber)); - - addConfigItem(configItemMapEntry, "PositionLeft", "int", "0"); - addConfigItem(configItemMapEntry, "PositionRight", "int", Integer.toString(posLeft)); - addConfigItem(configItemMapEntry, "PositionTop", "int", "0"); - addConfigItem(configItemMapEntry, "PositionBottom", "int", Integer.toString(posTop)); - root.appendChild(configItemMapEntry); - } - - /** - * Sets a variable based on a String value read from XML - * - * @param name xml name of the attribute to set - * @param value String value fo the attribute - */ - public void addAttribute(String name, String value) { - - if(name.equals("CursorPositionX")) { - cursorX = Integer.parseInt(value); - } else if(name.equals("CursorPositionY")) { - cursorY = Integer.parseInt(value); - - } else if(name.equals("HorizontalSplitPosition")) { - splitPointX = Integer.parseInt(value); - } else if(name.equals("VerticalSplitPosition")) { - splitPointY = Integer.parseInt(value); - } else if(name.equals("ActiveSplitRange")) { - paneNumber = Integer.parseInt(value); - - } else if(name.equals("PositionRight")) { - posLeft = Integer.parseInt(value); - } else if(name.equals("PositionBottom")) { - posTop = Integer.parseInt(value); - - } else if(name.equals("HorizontalSplitMode")) { - splitTypeX = Integer.parseInt(value); - } else if(name.equals("VerticalSplitMode")) { - splitTypeY = Integer.parseInt(value); - } - } - - /** - * Reads document settings from xml and inits SheetSettings variables - * - * @param root XML Node to read from - */ - public void readNode(Node root) { - - NamedNodeMap sheetAtt = root.getAttributes(); - - Node sheetNameNode = sheetAtt.getNamedItem(ATTRIBUTE_CONFIG_NAME); - - sheetName = sheetNameNode.getNodeValue(); - - if (root.hasChildNodes()) { - - NodeList nodeList = root.getChildNodes(); - int len = nodeList.getLength(); - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_CONFIG_ITEM)) { - - NamedNodeMap cellAtt = child.getAttributes(); - - Node configNameNode = - cellAtt.getNamedItem(ATTRIBUTE_CONFIG_NAME); - - String name = configNameNode.getNodeValue(); - NodeList nodeList2 = child.getChildNodes(); - int len2 = nodeList2.getLength(); - String s = ""; - for (int j = 0; j < len2; j++) { - Node child2 = nodeList2.item(j); - if (child2.getNodeType() == Node.TEXT_NODE) { - s = child2.getNodeValue(); - } - } - addAttribute(name, s); - } - } - } - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetDecoder.java deleted file mode 100644 index a0ec6cc305bd..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetDecoder.java +++ /dev/null @@ -1,181 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Enumeration; - -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.ConvertData; - -/** - * This class is a abstract class for encoding a "Device" - * Document format into an alternative spreadsheet format. - * - * @author Mark Murnane - */ -public abstract class SpreadsheetDecoder { - - /** - * Constructor for creating new SpreadsheetDecoder. - */ - public SpreadsheetDecoder(String name, String password) throws IOException { - } - - /** - * Returns the total number of sheets in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public abstract int getNumberOfSheets(); - - /** - * Returns an Enumeration to a Vector of NameDefinition. - * - * @return The Enumeration - */ - public abstract Enumeration getNameDefinitions(); - - /** - * Returns an BookSettings - * - * @return The Enumeration - */ - public abstract BookSettings getSettings(); - - /** - * Returns an Enumeration to a Vector of ColumnRowInfo. - * - * @return The Enumeration - */ - public abstract Enumeration getColumnRowInfos(); - - /** - * Returns the number of populated rows in the current WorkSheet. - * - * @return the number of populated rows in the current WorkSheet. - */ - public abstract int getNumberOfRows(); - - - /** - * Returns the number of populated columns in the current WorkSheet. - * - * @return The number of populated columns in the current WorkSheet. - */ - public abstract int getNumberOfColumns(); - - - /** - * Returns the name of the current WorkSheet. - * - * @return Name of the current WorkSheet. - */ - public abstract String getSheetName(); - - - /** - * Returns the number of the active column. - * - * @return The number of the active column. - */ - public abstract int getColNumber(); - - - /** - * Returns the number of the active row. - * - * @return The number of the active row. - */ - public abstract int getRowNumber(); - - - /** - * Sets the active WorkSheet. - * - * @param sheetIndex The index of the sheet to be made active. - * - * @throws IOException If any I/O error occurs. - */ - public abstract void setWorksheet(int sheetIndex) throws IOException; - - - /** - * Move on the next populated cell in the current WorkSheet. - * - * @return true if successful, false otherwise. - * - * @throws IOException If any I/O error occurs. - */ - public abstract boolean goToNextCell() throws IOException; - - - /** - * Return the contents of the active cell. - * - * @return The cell contents. - */ - public abstract String getCellContents(); - - /** - * Return the value of the active cell. Used in the case of Formula where - * the cell contents and the cell value are not the same thing. - * - * @return The cell value. - */ - public abstract String getCellValue(); - - /** - * Return the data type of the active cell. - * - * @return The cell data type. - */ - public abstract String getCellDataType(); - - - /** - * Return a Format object describing the active cells - * formatting. - * - * @return Format object for the cell. - */ - public abstract Format getCellFormat(); - - - /** - * Add the contents of a ConvertData to the workbook. - * - * @param cd The ConvertData containing the - * content. - * - * @throws IOException If any I/O error occurs. - */ - public abstract void addDeviceContent(ConvertData cd) throws IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetEncoder.java deleted file mode 100644 index 7d0d1f615849..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SpreadsheetEncoder.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.io.IOException; -import java.util.Vector; - -import org.openoffice.xmerge.util.IntArrayList; - -/** - *

    This class is a abstract class for encoding an SXC into an - * alternative spreadsheet format.

    - * - *

    TODO - Add appropriate exceptions to each of the methods.

    - * - * @author Mark Murnane - */ -public abstract class SpreadsheetEncoder { - - - /** - * Creates new SpreadsheetEncoder. - * - * @param name The name of the WorkBook to be created. - * @param password An optional password for the WorkBook. - * - * @throws IOException If any I/O error occurs. - */ - public SpreadsheetEncoder(String name, String password) throws IOException { }; - - - /** - * Create a new WorkSheet within the WorkBook. - * - * @param sheetName The name of the WorkSheet. - * - * @throws IOException If any I/O error occurs. - */ - public abstract void createWorksheet(String sheetName) throws IOException; - - - /** - * Set a cell's formatting options via a separately create - * Format object. - * - * @param row The row number of the cell to be changed - * @param column The column number of the cell to be changed - * @param fmt Object containing formatting settings for this cell. - */ - public abstract void setCellFormat(int row, int column, Format fmt); - - - /** - * Add a cell to the current WorkSheet. - * - * @param row The row number of the cell - * @param column The column number of the cell - * @param fmt The Format object describing the - * appearance of this cell. - * @param cellContents The text or formula of the cell's contents. - */ - public abstract void addCell(int row, int column, - Format fmt, String cellContents) throws IOException; - - - /** - * Get the number of sheets in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public abstract int getNumberOfSheets(); - - - /** - * Get the names of the sheets in the WorkBook. - * - * @param sheet The required sheet. - */ - public abstract String getSheetName(int sheet); - - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public abstract void setColumnRows(Vector columnRows) throws IOException; - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public abstract void setNameDefinition(NameDefinition nd) throws IOException; - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public abstract void addSettings(BookSettings s) throws IOException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcConstants.java deleted file mode 100644 index 7c9fff61a2e6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcConstants.java +++ /dev/null @@ -1,50 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc; - - -/** - * Interface defining constants for Sxc attributes. - * - * @author Martin Maher - */ -public interface SxcConstants { - - /** Family name for column styles. */ - public static final String COLUMN_STYLE_FAMILY = "table-column"; - - /** Family name for row styles. */ - public static final String ROW_STYLE_FAMILY = "table-row"; - - /** Family name for table-cell styles. */ - public static final String TABLE_CELL_STYLE_FAMILY = "table-cell"; - - /** Name of the default style. */ - public static final String DEFAULT_STYLE = "Default"; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocument.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocument.java deleted file mode 100644 index d435479842c6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocument.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import org.w3c.dom.Document; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - * This class is an implementation of OfficeDocument for - * the SXC format. - */ -public class SxcDocument extends OfficeDocument { - - /** - * Constructor with arguments to set name. - * - * @param name The name of the Document - */ - public SxcDocument(String name) { - super(name); - } - - - /** - * Constructor with arguments to set name, the - * namespaceAware flag, and the validating - * flag. - * - * @param name The name of the Document. - * @param namespaceAware The value of the namespaceAware - * flag. - * @param validating The value of the validating flag. - */ - public SxcDocument(String name, boolean namespaceAware, boolean validating) { - - super(name, namespaceAware, validating); - } - - /** - * Returns the Office file extension for the SXC format. - * - * @return The Office file extension for the SXC format. - */ - protected String getFileExtension() { - return OfficeConstants.SXC_FILE_EXTENSION; - } - - /** - * Returns the Office attribute for the SXC format. - * - * @return The Office attribute for the SXC format. - */ - protected String getOfficeClassAttribute() { - return OfficeConstants.SXC_TYPE; - } - - /** - * Method to return the MIME type of the document. - * - * @return String The document's MIME type. - */ - protected final String getDocumentMimeType() { - return OfficeConstants.SXC_MIME_TYPE; - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentDeserializer.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentDeserializer.java deleted file mode 100644 index 2415c9385d62..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentDeserializer.java +++ /dev/null @@ -1,794 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import java.awt.Point; -import java.io.IOException; -import java.util.Enumeration; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocument; -import org.openoffice.xmerge.converter.xml.sxc.BookSettings; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.CellStyle; -import org.openoffice.xmerge.converter.xml.Style; -import org.openoffice.xmerge.converter.xml.StyleCatalog; -import org.openoffice.xmerge.util.Debug; - -/** - *

    General spreadsheet implementation of DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcPluginFactory - * SxcPluginFactory}. Used with SXC Document objects.

    - * - *

    The deserialize method uses a DocDecoder - * to read the device spreadsheet format into a String - * object, then it calls buildDocument to create a - * SxcDocument object from it.

    - * - * @author Paul Rank - * @author Mark Murnane - * @author Martin Maher - */ -public abstract class SxcDocumentDeserializer implements OfficeConstants, - DocumentDeserializer { - - /** - * A SpreadsheetDecoder object for decoding from - * device formats. - */ - private SpreadsheetDecoder decoder = null; - - /** A w3c Document. */ - private org.w3c.dom.Document settings = null; - - /** A w3c Document. */ - private org.w3c.dom.Document doc = null; - - /** An ConvertData object assigned to this object. */ - private ConvertData cd = null; - - /** A style catalog for the workbook */ - private StyleCatalog styleCat = null; - - private int textStyles = 1; - private int colStyles = 1; - private int rowStyles = 1; - - /** - * Constructor. - * - * @param cd ConvertData consisting of a - * device content object. - */ - public SxcDocumentDeserializer(ConvertData cd) { - this.cd = cd; - } - - - /** - * This abstract method will be implemented by concrete subclasses - * and will return an application-specific Decoder. - * - * @param workbook The WorkBook to read. - * @param password The WorkBook password. - * - * @return The appropriate SpreadSheetDecoder. - * - * @throws IOException If any I/O error occurs. - */ - public abstract SpreadsheetDecoder createDecoder(String workbook, String[] worksheetNames, String password) - throws IOException; - - - /** - *

    This method will return the name of the WorkBook from the - * ConvertData. Allows for situations where the - * WorkBook name differs from the Device Content name.

    - * - *

    Implemented in the Deserializer as the Decoder's constructor requires - * a name.

    - * - * @param cd The ConvertData containing the Device - * content. - * - * @return The WorkBook name. - */ - protected abstract String getWorkbookName(ConvertData cd) throws IOException; - - - /** - * This method will return the name of the WorkSheet from the - * ConvertData. - * - * @param cd The ConvertData containing the Device - * content. - * - * @return The WorkSheet names. - */ - protected abstract String[] getWorksheetNames(ConvertData cd) throws IOException; - - - /** - *

    Method to convert a set of "Device" - * Document objects into a SxcDocument - * object and returns it as a Document.

    - * - *

    This method is not thread safe for performance reasons. - * This method should not be called from within two threads. - * It would be best to call this method only once per object - * instance.

    - * - * @return document An SxcDocument consisting - * of the data converted from the input - * stream. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize() throws ConvertException, - IOException { - - // Get the name of the WorkBook from the ConvertData. - String[] worksheetNames = getWorksheetNames(cd); - String workbookName = getWorkbookName(cd); - - // Create a document - SxcDocument sxcDoc = new SxcDocument(workbookName); - sxcDoc.initContentDOM(); - sxcDoc.initSettingsDOM(); - - // Default to an initial 5 entries in the catalog. - styleCat = new StyleCatalog(5); - - doc = sxcDoc.getContentDOM(); - settings = sxcDoc.getSettingsDOM(); - initFontTable(); - // Little fact for the curious reader: workbookName should - // be the name of the StarCalc file minus the file extension suffix. - - // Create a Decoder to decode the DeviceContent to a spreadsheet document - // TODO - we aren't using a password in StarCalc, so we can - // use any value for password here. If StarCalc XML supports - // passwords in the future, we should try to get the correct - // password value here. - // - decoder = createDecoder(workbookName, worksheetNames, "password"); - - Debug.log(Debug.TRACE, ""); - Debug.log(Debug.TRACE, ""); - - decoder.addDeviceContent(cd); - decode(); - - Debug.log(Debug.TRACE, ""); - - return sxcDoc; - } - - /** - * This initializes a font table so we can imclude some basic font - * support for spreadsheets. - * - */ - private void initFontTable() { - - String fontTable[]= new String[] { "Tahoma", "Tahoma", "swiss", "variable", - "Courier New", "'Courier New'", "modern", "fixed"}; - // Traverse to the office:body element. - // There should only be one. - NodeList list = doc.getElementsByTagName(TAG_OFFICE_FONT_DECLS); - Node root = list.item(0); - - for(int i=0;iDocument
    . - * - * @throws IOException If any I/O error occurs. - */ - protected void decode() throws IOException { - - // Get number of worksheets - int numSheets = decoder.getNumberOfSheets(); - // #i33702# - check for an Empty InputStream. - if(numSheets == 0) - { - System.err.println("Error decoding invalid Input stream"); - return; - } - - // Traverse to the office:body element. - // There should only be one. - NodeList list = doc.getElementsByTagName(TAG_OFFICE_BODY); - Node node = list.item(0); - - for (int i = 0; i < numSheets; i++) { - - // Set the decoder to the correct worksheet - decoder.setWorksheet(i); - - int len = list.getLength(); - - if (len > 0) { - - // Process the spreadsheet - processTable(node); - } - } - - // Add the Defined Name table if there is one - Enumeration nameDefinitionTable = decoder.getNameDefinitions(); - if(nameDefinitionTable.hasMoreElements()) { - processNameDefinition(node, nameDefinitionTable); - } - - // add settings - NodeList settingsList = settings.getElementsByTagName(TAG_OFFICE_SETTINGS); - Node settingsNode = settingsList.item(0);; - processSettings(settingsNode); - - } - - - - /** - * This method process the settings portion - * of the Document. - * - * @param root The root Node of the - * Document we are building. This - * Node should be a TAG_OFFICE_SETTINGS - * tag. - */ - protected void processSettings(Node root) { - - Element configItemSetEntry = (Element) settings.createElement(TAG_CONFIG_ITEM_SET); - configItemSetEntry.setAttribute(ATTRIBUTE_CONFIG_NAME, "view-settings"); - Element configItemMapIndexed = (Element) settings.createElement(TAG_CONFIG_ITEM_MAP_INDEXED); - configItemMapIndexed.setAttribute(ATTRIBUTE_CONFIG_NAME, "Views"); - Element configItemMapEntry = (Element) settings.createElement(TAG_CONFIG_ITEM_MAP_ENTRY); - BookSettings bs = (BookSettings) decoder.getSettings(); - bs.writeNode(settings, configItemMapEntry); - - configItemMapIndexed.appendChild(configItemMapEntry); - configItemSetEntry.appendChild(configItemMapIndexed); - root.appendChild(configItemSetEntry); - } - - /** - * This method process a Name Definition Table and generates a portion - * of the Document. - * - * @param root The root Node of the - * Document we are building. This - * Node should be a TAG_OFFICE_BODY - * tag. - * - * @throws IOException If any I/O error occurs. - */ - protected void processNameDefinition(Node root, Enumeration eNameDefinitions) throws IOException { - - Debug.log(Debug.TRACE, ""); - - Element namedExpressionsElement = (Element) doc.createElement(TAG_NAMED_EXPRESSIONS); - - while(eNameDefinitions.hasMoreElements()) { - - NameDefinition tableEntry = (NameDefinition) eNameDefinitions.nextElement(); - tableEntry.writeNode(doc, namedExpressionsElement); - } - - root.appendChild(namedExpressionsElement); - - Debug.log(Debug.TRACE, ""); - } - - /** - * This method process a WorkSheet and generates a portion - * of the Document. A spreadsheet is represented - * as a table Node in StarOffice XML format. - * - * @param root The root Node of the - * Document we are building. This - * Node should be a TAG_OFFICE_BODY - * tag. - * - * @throws IOException If any I/O error occurs. - */ - protected void processTable(Node root) throws IOException { - - Debug.log(Debug.TRACE, ""); - - // Create an element node for the table - Element tableElement = (Element) doc.createElement(TAG_TABLE); - - // Get the sheet name - String sheetName = decoder.getSheetName(); - - // Set the table name attribute - tableElement.setAttribute(ATTRIBUTE_TABLE_NAME, sheetName); - - // TODO - style currently hardcoded - get real value - // Set table style-name attribute - tableElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, "Default"); - - // Append the table element to the root node - root.appendChild(tableElement); - - Debug.log(Debug.TRACE, "" + sheetName + ""); - - // add the various different table-columns - processColumns(tableElement); - - // Get each cell and add to doc - processCells(tableElement); - - Debug.log(Debug.TRACE, "
    "); - } - - /** - *

    This method process the cells in a Document - * and generates a portion of the Document.

    - * - *

    This method assumes that records are sorted by - * row and then column.

    - * - * @param root The Node of the Document - * we are building that we will append our cell - * Node objects. This Node - * should be a TAG_TABLE tag. - * - * @throws IOException If any I/O error occurs. - */ - protected void processColumns(Node root) throws IOException { - - for(Enumeration e = decoder.getColumnRowInfos();e.hasMoreElements();) { - - ColumnRowInfo ci = (ColumnRowInfo) e.nextElement(); - if(ci.isColumn()) { - ColumnStyle cStyle = new ColumnStyle("Default",SxcConstants.COLUMN_STYLE_FAMILY, - SxcConstants.DEFAULT_STYLE, ci.getSize(), null); - - Style result[] = (Style[]) styleCat.getMatching(cStyle); - String styleName; - if(result.length==0) { - - cStyle.setName("co" + colStyles++); - styleName = cStyle.getName(); - Debug.log(Debug.TRACE,"No existing style found, adding " + styleName); - styleCat.add(cStyle); - } else { - ColumnStyle existingStyle = (ColumnStyle) result[0]; - styleName = existingStyle.getName(); - Debug.log(Debug.TRACE,"Existing style found : " + styleName); - } - - // Create an element node for the new row - Element colElement = (Element) doc.createElement(TAG_TABLE_COLUMN); - colElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, styleName); - if(ci.getRepeated()!=1) { - String repeatStr = String.valueOf(ci.getRepeated()); - colElement.setAttribute(ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED, repeatStr); - } - root.appendChild(colElement); - } - } - } - - /** - *

    This method process the cells in a Document - * and generates a portion of the Document.

    - * - *

    This method assumes that records are sorted by - * row and then column.

    - * - * @param root The Node of the Document - * we are building that we will append our cell - * Node objects. This Node - * should be a TAG_TABLE tag. - * - * @throws IOException If any I/O error occurs. - */ - protected void processCells(Node root) throws IOException { - - // The current row element - Element rowElement = null; - - // The current cell element - Element cellElement = null; - - // The row number - we may not have any rows (empty sheet) - // so set to zero. - int row = 0; - - // The column number - This is the expected column number of - // the next cell we are reading. - int col = 1; - - // The number of columns in the spreadsheet - int lastColumn = decoder.getNumberOfColumns(); - - // - Node autoStylesNode = null; - - // Loop over all cells in the spreadsheet - while (decoder.goToNextCell()) { - - // Get the row number - int newRow = decoder.getRowNumber(); - - // Is the cell in a new row, or part of the current row? - if (newRow != row) { - - // Make sure that all the cells in the previous row - // have been entered. - if (col <= lastColumn && rowElement != null) { - int numSkippedCells = lastColumn - col + 1; - addEmptyCells(numSkippedCells, rowElement); - } - - // log an end row - if we already have a row - if (row != 0) { - Debug.log(Debug.TRACE, ""); - } - - // How far is the new row from the last row? - int deltaRows = newRow - row; - - // Check if we have skipped any rows - if (deltaRows > 1) { - // Add in empty rows - addEmptyRows(deltaRows-1, root, lastColumn); - } - - // Re-initialize column (since we are in a new row) - col = 1; - - // Create an element node for the new row - rowElement = (Element) doc.createElement(TAG_TABLE_ROW); - - - for(Enumeration e = decoder.getColumnRowInfos();e.hasMoreElements();) { - ColumnRowInfo cri = (ColumnRowInfo) e.nextElement(); - if(cri.isRow() && cri.getRepeated()==newRow-1) { - // We have the correct Row BIFFRecord for this row - RowStyle rStyle = new RowStyle("Default",SxcConstants.ROW_STYLE_FAMILY, - SxcConstants.DEFAULT_STYLE, cri.getSize(), null); - - Style result[] = (Style[]) styleCat.getMatching(rStyle); - String styleName; - if(result.length==0) { - - rStyle.setName("ro" + rowStyles++); - styleName = rStyle.getName(); - Debug.log(Debug.TRACE,"No existing style found, adding " + styleName); - styleCat.add(rStyle); - } else { - RowStyle existingStyle = (RowStyle) result[0]; - styleName = existingStyle.getName(); - Debug.log(Debug.TRACE,"Existing style found : " + styleName); - } - rowElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, styleName); - // For now we will not use the repeat column attribute - } - } - - // Append the row element to the root node - root.appendChild(rowElement); - - // Update row number - row = newRow; - - Debug.log(Debug.TRACE, ""); - } - - // Get the column number of the current cell - int newCol = decoder.getColNumber(); - - // Check to see if some columns were skipped - if (newCol != col) { - - // How many columns have we skipped? - int numColsSkipped = newCol - col; - - addEmptyCells(numColsSkipped, rowElement); - - // Update the column number to account for the - // skipped cells - col = newCol; - } - - // Lets start dealing with the cell data - Debug.log(Debug.TRACE, ""); - - // Get the cell's contents - String cellContents = decoder.getCellContents(); - - // Get the type of the data in the cell - String cellType = decoder.getCellDataType(); - - // Get the cell format - Format fmt = decoder.getCellFormat(); - - // Create an element node for the cell - cellElement = (Element) doc.createElement(TAG_TABLE_CELL); - - Node bodyNode = doc.getElementsByTagName(TAG_OFFICE_BODY).item(0); - - // Not every document has an automatic style tag - autoStylesNode = doc.getElementsByTagName( - TAG_OFFICE_AUTOMATIC_STYLES).item(0); - - if (autoStylesNode == null) { - autoStylesNode = doc.createElement(TAG_OFFICE_AUTOMATIC_STYLES); - doc.insertBefore(autoStylesNode, bodyNode); - } - - CellStyle tStyle = new - CellStyle( "Default",SxcConstants.TABLE_CELL_STYLE_FAMILY, - SxcConstants.DEFAULT_STYLE, fmt, null); - String styleName; - Style result[] = (Style[]) styleCat.getMatching(tStyle); - if(result.length==0) { - - tStyle.setName("ce" + textStyles++); - styleName = tStyle.getName(); - Debug.log(Debug.TRACE,"No existing style found, adding " + styleName); - styleCat.add(tStyle); - } else { - CellStyle existingStyle = (CellStyle) result[0]; - styleName = existingStyle.getName(); - Debug.log(Debug.TRACE,"Existing style found : " + styleName); - } - - cellElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, styleName); - - // Store the cell data into the appropriate attributes - processCellData(cellElement, cellType, cellContents); - - // Append the cell element to the row node - rowElement.appendChild(cellElement); - - // Append the cellContents as a text node - Element textElement = (Element) doc.createElement(TAG_PARAGRAPH); - cellElement.appendChild(textElement); - textElement.appendChild(doc.createTextNode(cellContents)); - - Debug.log(Debug.TRACE, cellContents); - Debug.log(Debug.TRACE, ""); - - // Increment to the column number of the next expected cell - col++; - } - - // Make sure that the last row is padded correctly - if (col <= lastColumn && rowElement != null) { - int numSkippedCells = lastColumn - col + 1; - addEmptyCells(numSkippedCells, rowElement); - } - - // Now write the style catalog to the document - if(autoStylesNode!=null) { - Debug.log(Debug.TRACE,"Well the autostyle node was found!!!"); - NodeList nl = styleCat.writeNode(doc, "dummy").getChildNodes(); - int nlLen = nl.getLength(); // nl.item reduces the length - for (int i = 0; i < nlLen; i++) { - autoStylesNode.appendChild(nl.item(0)); - } - } - - if (row != 0) { - - // The sheet does have rows, so write out a /tr - Debug.log(Debug.TRACE, ""); - } - } - - - /** - * This method will add empty rows to the Document. - * It is called when the conversion process encounters - * a row (or rows) that do not contain any data in its cells. - * - * @param numEmptyRows The number of empty rows that we - * need to add to the Document. - * @param root The Node of the - * Document we are building - * that we will append our empty row - * Node objects. This - * Node should be a TAG_TABLE - * tag. - * @param numEmptyCells The number of empty cells in the - * empty row. - */ - protected void addEmptyRows(int numEmptyRows, Node root, int numEmptyCells) { - - // Create an element node for the row - Element rowElement = (Element) doc.createElement(TAG_TABLE_ROW); - - // TODO - style currently hardcoded - get real value - // Set row style-name attribute - rowElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, "Default"); - - // Set cell number-rows-repeated attribute - rowElement.setAttribute(ATTRIBUTE_TABLE_NUM_ROWS_REPEATED, - Integer.toString(numEmptyRows)); - - // Append the row element to the root node - root.appendChild(rowElement); - - // Open Office requires the empty row to have an empty cell (or cells) - addEmptyCells(numEmptyCells, rowElement); - - // Write empty rows to the log - for (int i = 0; i < numEmptyRows; i++) { - Debug.log(Debug.TRACE, ""); - } - - } - - - /** - * This method will add empty cells to the Document. - * It is called when the conversion process encounters a row - * that contains some cells without data. - * - * @param numColsSkipped The number of empty cells - * that we need to add to the - * current row. - * @param row The Node of the - * Document we - * are building that we will - * append our empty cell - * Node objects. - * This Node should - * be a TAG_TABLE_ROW tag. - */ - protected void addEmptyCells(int numColsSkipped, Node row) { - - // Create an empty cellElement - Element cellElement = (Element) doc.createElement(TAG_TABLE_CELL); - - // TODO - style currently hardcoded - get real value - // Set cell style-name attribute - cellElement.setAttribute(ATTRIBUTE_TABLE_STYLE_NAME, "Default"); - - // If we skipped more than 1 cell, we must set the - // appropriate attribute - if (numColsSkipped > 1) { - - // Set cell number-columns-repeated attribute - cellElement.setAttribute(ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED, - Integer.toString(numColsSkipped)); - } - - // Append the empty cell element to the row node - row.appendChild(cellElement); - - // Write empty cells to the log - for (int i = 0; i < numColsSkipped; i++) { - Debug.log(Debug.TRACE, ""); - } - } - - - /** - * This method process the data in a cell and sets - * the appropriate attributes on the cell Element. - * - * @param cellElement A TAG_TABLE_CELL Element - * that we will be adding attributes to - * based on the type of data in the cell. - * @param type The type of data contained in the cell. - * @param contents The contents of the data contained in - * the cell. - */ - protected void processCellData(Element cellElement, String type, - String contents) { - - // Set cell value-type attribute - cellElement.setAttribute(ATTRIBUTE_TABLE_VALUE_TYPE, type); - - // Does the cell contain a formula? - if (contents.startsWith("=")) { - - cellElement.setAttribute(ATTRIBUTE_TABLE_FORMULA, contents); - - cellElement.setAttribute(ATTRIBUTE_TABLE_VALUE, decoder.getCellValue()); - // String data does not require any additional attributes - } else if (!type.equals(CELLTYPE_STRING)) { - - if (type.equals(CELLTYPE_TIME)) { - - // Data returned in StarOffice XML format, so store in - // attribute - cellElement.setAttribute(ATTRIBUTE_TABLE_TIME_VALUE, - contents); - - } else if (type.equals(CELLTYPE_DATE)) { - - // Data returned in StarOffice XML format, so store in - // attribute - cellElement.setAttribute(ATTRIBUTE_TABLE_DATE_VALUE, - contents); - - } else if (type.equals(CELLTYPE_BOOLEAN)) { - - // StarOffice XML format requires stored boolean value - // to be in lower case - cellElement.setAttribute(ATTRIBUTE_TABLE_BOOLEAN_VALUE, - contents.toLowerCase()); - - } else if (type.equals(CELLTYPE_CURRENCY)) { - // TODO - StarOffice XML format requires a correct style to - // display currencies correctly. Need to implement styles. - // TODO - USD is for US currencies. Need to pick up - // the correct currency location from the source file. - cellElement.setAttribute(ATTRIBUTE_TABLE_CURRENCY, "USD"); - - // Data comes stripped of currency symbols - cellElement.setAttribute(ATTRIBUTE_TABLE_VALUE, contents); - - } else if (type.equals(CELLTYPE_PERCENT)) { - // Data comes stripped of percent signs - cellElement.setAttribute(ATTRIBUTE_TABLE_VALUE, contents); - - } else { - // Remaining data types use table-value attribute - - cellElement.setAttribute(ATTRIBUTE_TABLE_VALUE, contents); - } - } - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentSerializer.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentSerializer.java deleted file mode 100644 index 9e0d30831d24..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcDocumentSerializer.java +++ /dev/null @@ -1,992 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.awt.Color; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import java.io.IOException; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentSerializer; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocument; -import org.openoffice.xmerge.converter.xml.ParaStyle; -import org.openoffice.xmerge.converter.xml.sxc.CellStyle; -import org.openoffice.xmerge.converter.xml.StyleCatalog; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.XmlUtil; - -/** - *

    General spreadsheet implementation of DocumentSerializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcPluginFactory - * SxcPluginFactory}. Used with SXC Document objects.

    - * - *

    The serialize method traverses the DOM - * Document from the given Document object. - * It uses a DocEncoder object for the actual conversion - * of contents to the device spreadsheet format.

    - * - * @author Paul Rank - * @author Mark Murnane - */ -public abstract class SxcDocumentSerializer implements OfficeConstants, - DocumentSerializer { - - /** The cell foreground Color. */ - private Color foreground = Color.black; - - /** The cell background Color. */ - private Color background = Color.white; - - /** The cell format. */ - private long format = 0; - - /** Format object describing the cell. */ - private Format fmt = null; - - /** The row number. */ - private int rowID = 1; - - /** The column number. */ - private int colID = 1; - - /** The number of times the current row is repeated. */ - private int rowsRepeated = 1; - - /** The number of times the current column is repeated. */ - private int colsRepeated = 1; - - /** The number of times the current column is repeated. */ - private StyleCatalog styleCat = null; - /** - * An array of column widths of the current worksheet. Width is - * measured in number of characters. - */ - private Vector ColumnRowList; - - /** Width, in characters, of the current cell display data. */ - private int displayWidth = 0; - - /** - * A SpreadsheetEncoder object for encoding to - * appropriate format. - */ - protected SpreadsheetEncoder encoder = null; - - /** SxcDocument object that this converter processes. */ - protected SxcDocument sxcDoc = null; - - - /** - * Constructor. - * - * @param document Input SxcDocument - * Document. - */ - public SxcDocumentSerializer(Document document) { - fmt = new Format(); - sxcDoc = (SxcDocument) document; - } - - - /** - *

    Method to convert a DOM Document into - * "Device" Document objects.

    - * - *

    This method is not thread safe for performance reasons. - * This method should not be called from within two threads. - * It would be best to call this method only once per object - * instance.

    - * - * @return ConvertData containing "Device" - * Document objects. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public abstract ConvertData serialize() throws ConvertException, - IOException; - - - /** - * This method traverses office:settings Element. - * - * @param node office:settings Node. - * - * @throws IOException If any I/O error occurs. - */ - public void traverseSettings(Node node) throws IOException { - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_CONFIG_ITEM_SET)) { - - traverseSettings(child); - - } else if (nodeName.equals(TAG_CONFIG_ITEM_MAP_INDEXED)) { - - traverseSettings(child); - - } else if (nodeName.equals(TAG_CONFIG_ITEM_MAP_ENTRY)) { - - BookSettings bs = new BookSettings(child); - encoder.addSettings(bs); - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - } - - /* - * Handles the loading of defined styles from the style.xml file as well - * as automatic styles from the content.xml file. - * - * Any change to a defined style, such as a short bold section, falls into - * the latter category. - */ - protected void loadStyles(SxcDocument sxcDoc) { - - org.w3c.dom.Document contentDom = sxcDoc.getContentDOM(); - - styleCat = new StyleCatalog(25); - - NodeList nl = null; - String families[] = new String[] { SxcConstants.COLUMN_STYLE_FAMILY, - SxcConstants.ROW_STYLE_FAMILY, - SxcConstants.TABLE_CELL_STYLE_FAMILY }; - Class classes[] = new Class[] { ColumnStyle.class, - RowStyle.class, - CellStyle.class}; - - /* - * Process the content XML for any other style info. - * Should only be automatic types here. - */ - nl = contentDom.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - if (nl.getLength() != 0) { - styleCat.add(nl.item(0), families, classes, null, false); - } - } - - /** - * This method traverses office:body Element. - * - * @param node office:body Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseBody(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - Debug.log(Debug.TRACE, ""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - Node searchNode = nodeList.item(i); - if (searchNode.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = searchNode.getNodeName(); - - if (nodeName.equals(TAG_NAMED_EXPRESSIONS)) { - - traverseNamedExpressions(searchNode); - - } else { - - Debug.log(Debug.TRACE, "Skipping " + XmlUtil.getNodeInfo(searchNode) + " />"); - } - } - } - - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_TABLE)) { - - traverseTable(child); - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - - Debug.log(Debug.TRACE, ""); - } - - - /** - * This method traverses the table:table element - * Node. - * - * @param node A table:table Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseNamedExpressions(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - - NamedNodeMap att = node.getAttributes(); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - NameDefinition nd = new NameDefinition(child); - encoder.setNameDefinition(nd); - } - } - } - - Debug.log(Debug.TRACE, ""); - } - - /** - * This method traverses the table:table element - * Node. - * - * @param node A table:table Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseTable(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - - ColumnRowList = new Vector(); - - // Get table attributes - // TODO - extract style from attribute - - NamedNodeMap att = node.getAttributes(); - - String tableName = - att.getNamedItem(ATTRIBUTE_TABLE_NAME).getNodeValue(); - - rowID = 1; - - encoder.createWorksheet(tableName); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_TABLE_ROW)) { - // TODO - handle all the possible rows - // spelled out in the entities - - traverseTableRow(child); - - } else if (nodeName.equals(TAG_TABLE_COLUMN)) { - - traverseTableColumn(child); - - } else if (nodeName.equals(TAG_TABLE_SCENARIO)) { - - // TODO - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - - // Add column width info to the current sheet - encoder.setColumnRows(ColumnRowList); - - Debug.log(Debug.TRACE, "
    "); - } - - /** - * This method traverses the table:table-row element - * Node. - * - * @param node A table:table-row Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseTableRow(Node node) throws IOException { - - // Get the attributes of the row - NamedNodeMap cellAtt = node.getAttributes(); - - if (cellAtt != null) { - - Node rowStyle = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_STYLE_NAME); - - Node tableNumRowRepeatingNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - int repeatedRows = 1; - - if(tableNumRowRepeatingNode!=null) { - String repeatStr = tableNumRowRepeatingNode.getNodeValue(); - Debug.log(Debug.TRACE, "traverseTableRow() repeated-rows : " + repeatStr); - repeatedRows = Integer.parseInt(repeatStr); - } - - String styleName = new String(""); - - if ( rowStyle != null) { - styleName = rowStyle.getNodeValue(); - } - if(styleName.equalsIgnoreCase("Default") || styleName.length()==0) { - - Debug.log(Debug.TRACE, "No defined Row Style Attribute was found"); - - } else { - - RowStyle rStyle = ( RowStyle)styleCat.lookup(styleName, - SxcConstants.ROW_STYLE_FAMILY, null, - RowStyle.class); - - int rowHeight = rStyle.getRowHeight(); - - Debug.log(Debug.TRACE, "traverseTableRow() Row Height : " + rowHeight); - ColumnRowInfo ri = new ColumnRowInfo( rowHeight, - repeatedRows, - ColumnRowInfo.ROW, - rowHeight!=0); - ColumnRowList.add(ri); - } - - // Get the attribute representing the number of rows repeated - Node rowsRepeatedNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - - // There is a number of rows repeated attribute: - if (rowsRepeatedNode != null) { - - // Get the number of times the row is repeated - String rowsRepeatedString = rowsRepeatedNode.getNodeValue(); - - Integer rowsRepeatedInt = new Integer(rowsRepeatedString); - - rowsRepeated = rowsRepeatedInt.intValue(); - - } else { - - // The row is not repeated - rowsRepeated = 1; - } - } - - Debug.log(Debug.TRACE, ""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_TABLE_CELL)) { - - traverseCell(child); - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - - // Increase the row counter by the number of rows which are repeated - rowID += rowsRepeated; - - // Re-initialize number of rows repeated before processing the next - // row data. - rowsRepeated = 1; - - // When starting a new row, set the column counter back to the - // first column. - colID = 1; - - // Re-initialize number of columns repeated before processing - // the next row data. - colsRepeated = 1; - - Debug.log(Debug.TRACE, ""); - } - - - /** - * This method traverses the table:table-column - * Node. Not yet implemented. - * - * @param node A table:table-column Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseTableColumn(Node node) throws IOException { - - Debug.log(Debug.TRACE, "traverseColumn() : "); - NamedNodeMap cellAtt = node.getAttributes(); - Node tableStyleNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_STYLE_NAME); - Node tableNumColRepeatingNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - Node tableDefaultCellStyle = cellAtt.getNamedItem(ATTRIBUTE_DEFAULT_CELL_STYLE); - - int repeatedColumns = 1; - int columnWidth = 0; - ColumnRowInfo col = new ColumnRowInfo(ColumnRowInfo.COLUMN); - - if(tableNumColRepeatingNode!=null) { - Debug.log(Debug.TRACE, "traverseColumn() repeated-cols : " + tableNumColRepeatingNode.getNodeValue()); - repeatedColumns = Integer.parseInt(tableNumColRepeatingNode.getNodeValue()); - col.setRepeated(repeatedColumns); - } - - String cellStyleName = new String(""); - - if(tableDefaultCellStyle!=null) { - cellStyleName = tableDefaultCellStyle.getNodeValue(); - - Debug.log(Debug.TRACE, "traverseColumn() default-cell-style : " + cellStyleName); - } - - if(cellStyleName.equalsIgnoreCase("Default") || cellStyleName.length()==0) { - - Debug.log(Debug.TRACE, "No default cell Style Attribute was found"); - - } else { - - CellStyle cellStyle = (CellStyle)styleCat.lookup(cellStyleName, - SxcConstants.TABLE_CELL_STYLE_FAMILY, null, - CellStyle.class); - Format defaultFmt = new Format(cellStyle.getFormat()); - col.setFormat(defaultFmt); - } - - String styleName = new String(""); - - if(tableStyleNode!=null) { - styleName = tableStyleNode.getNodeValue(); - } - - if(styleName.equalsIgnoreCase("Default") || styleName.length()==0) { - - Debug.log(Debug.TRACE, "No defined Style Attribute was found"); - - } else { - - ColumnStyle cStyle = (ColumnStyle)styleCat.lookup(styleName, - SxcConstants.COLUMN_STYLE_FAMILY, null, - ColumnStyle.class); - - columnWidth = cStyle.getColWidth(); - col.setSize(columnWidth); - Debug.log(Debug.TRACE, "traverseColumn() Column Width : " + columnWidth); - - } - ColumnRowList.add(col); - } - - /** - * This method traverses a table:table-cell element - * Node. - * - * @param node a table:table-cell Node. - * - * @throws IOException if any I/O error occurs. - */ - protected void traverseCell(Node node) throws IOException { - - NamedNodeMap cellAtt = node.getAttributes(); - - int debug_i=0; - Node debug_attrib = null; - fmt.clearFormatting(); - if (cellAtt == null || cellAtt.item(0) == null) - { - Debug.log(Debug.INFO, "No Cell Attributes\n"); - // return; - } - else - { - while ((debug_attrib = cellAtt.item(debug_i++)) != null) - { - Debug.log(Debug.INFO, "Cell Attribute " + debug_i + - ": " + debug_attrib.getNodeName() + " : " + - debug_attrib.getNodeValue() + "\n"); - } - } - - // Get the type of data in the cell - Node tableValueTypeNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_VALUE_TYPE); - - // Get the number of columns this cell is repeated - Node colsRepeatedNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - - // Get the style type - Node tableStyleNode = - cellAtt.getNamedItem(ATTRIBUTE_TABLE_STYLE_NAME); - - String styleName = new String(""); - - if(tableStyleNode!=null) { - styleName = tableStyleNode.getNodeValue(); - } - - if(styleName.equalsIgnoreCase("Default")) { - - Debug.log(Debug.TRACE, "No defined Style Attribute was found"); - - } else if(styleName.length()!=0) { - - CellStyle cStyle = (CellStyle)styleCat.lookup(styleName, - SxcConstants.TABLE_CELL_STYLE_FAMILY, null, - CellStyle.class); - - Format definedFormat = cStyle.getFormat(); - fmt = new Format(definedFormat); - } - - // There is a number of cols repeated attribute - if (colsRepeatedNode != null) { - - // Get the number of times the cell is repeated - String colsRepeatedString = colsRepeatedNode.getNodeValue(); - - Integer colsRepeatedInt = new Integer(colsRepeatedString); - colsRepeated = colsRepeatedInt.intValue(); - } else { - - // The cell is not repeated - colsRepeated = 1; - } - - - // if there is no style we need to check to see if there is a default - // cell style defined in the table-column's - - if (fmt.isDefault() && styleName.length()==0) { - int index = 1; - for(Enumeration e = ColumnRowList.elements();e.hasMoreElements();) { - ColumnRowInfo cri = (ColumnRowInfo) e.nextElement(); - if(cri.isColumn()) { - if(colID>=index && colID<(index+cri.getRepeated())) { - fmt = new Format(cri.getFormat()); - } - index += cri.getRepeated(); - } - } - } - - - // for (int j = 0; j < colsRepeated; j++) { - - - if (tableValueTypeNode != null) { - - // Make sure we initialize to 0 the width of the current cell - displayWidth = 0; - - String cellType = - tableValueTypeNode.getNodeValue(); - - if (cellType.equalsIgnoreCase(CELLTYPE_STRING)) { - - // has text:p tag - fmt.setCategory(CELLTYPE_STRING); - Node tableStringValueNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_STRING_VALUE); - Debug.log(Debug.TRACE,"Cell Type String : " + tableStringValueNode); - if(tableStringValueNode != null) { - fmt.setValue(tableStringValueNode.getNodeValue()); - } - - } else if (cellType.equalsIgnoreCase(CELLTYPE_FLOAT)) { - - // has table:value attribute - // has text:p tag - - // Determine the number of decimal places StarCalc - // is displaying for this floating point output. - fmt.setCategory(CELLTYPE_FLOAT); - fmt.setDecimalPlaces(getDecimalPlaces(node)); - Node tableValueNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_VALUE); - fmt.setValue(tableValueNode.getNodeValue()); - - - } else if (cellType.equalsIgnoreCase(CELLTYPE_TIME)) { - - // has table:time-value attribute - // has text:p tag - which is the value we convert - - fmt.setCategory(CELLTYPE_TIME); - Node tableTimeNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_TIME_VALUE); - fmt.setValue(tableTimeNode.getNodeValue()); - - } else if (cellType.equalsIgnoreCase(CELLTYPE_DATE)) { - - // has table:date-value attribute - // has text:p tag - which is the value we convert - - fmt.setCategory(CELLTYPE_DATE); - Node tableDateNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_DATE_VALUE); - fmt.setValue(tableDateNode.getNodeValue()); - - } else if (cellType.equalsIgnoreCase(CELLTYPE_CURRENCY)) { - - // has table:currency - // has table:value attribute - // has text:p tag - - fmt.setCategory(CELLTYPE_CURRENCY); - fmt.setDecimalPlaces(getDecimalPlaces(node)); - Node tableValueNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_VALUE); - fmt.setValue(tableValueNode.getNodeValue()); - - } else if (cellType.equalsIgnoreCase(CELLTYPE_BOOLEAN)) { - - // has table:boolean-value attribute - // has text:p tag - which is the value we convert - - fmt.setCategory(CELLTYPE_BOOLEAN); - Node tableBooleanNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_BOOLEAN_VALUE); - fmt.setValue(tableBooleanNode.getNodeValue()); - - } else if (cellType.equalsIgnoreCase(CELLTYPE_PERCENT)) { - - // has table:value attribute - // has text:p tag - - fmt.setCategory(CELLTYPE_PERCENT); - fmt.setDecimalPlaces(getDecimalPlaces(node)); - Node tableValueNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_VALUE); - fmt.setValue(tableValueNode.getNodeValue()); - - } else { - - Debug.log(Debug.TRACE,"No defined value type" + cellType); - // Should never get here - - } - } - - Node tableFormulaNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_FORMULA); - - if(tableFormulaNode != null) - { - if(tableValueTypeNode == null) { // If there is no value-type Node we must assume string-value - fmt.setCategory(CELLTYPE_STRING); - Node tableStringValueNode = cellAtt.getNamedItem(ATTRIBUTE_TABLE_STRING_VALUE); - fmt.setValue(tableStringValueNode.getNodeValue()); - } - String cellFormula = tableFormulaNode.getNodeValue(); - addCell(cellFormula); - } else { - - // Text node, Date node, or Time node - // - Debug.log(Debug.INFO, - "TextNode, DateNode, TimeNode or BooleanNode\n"); - // This handles the case where we have style information but no content - if (node.hasChildNodes()) { - NodeList childList = node.getChildNodes(); - int len = childList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = childList.item(i); - if (child.getNodeType() == Node.ELEMENT_NODE) { - String childName = child.getNodeName(); - if (childName.equals(TAG_PARAGRAPH)) { - traverseParagraph(child); - } - } - } - } else if(!fmt.isDefault()) { - addCell(""); - } - } - - // Clear out format for current cell after it is written - format = 0; - - // Increase the column counter by the number of times the - // last cell was repeated. - colID += colsRepeated; - - // Re-initialize the number of columns repeated before processing - // the next cell data. - colsRepeated = 1; - - } - - - /** - * This method traverses the text:p element Node. - * - * @param node A text:p Node. - * - * @throws IOException If any I/O error occurs. - */ - protected void traverseParagraph(Node node) throws IOException { - - NamedNodeMap cellAtt = node.getAttributes(); - - int debug_i=0; - Node debug_attrib = null; - if (cellAtt == null || cellAtt.item(0) == null) - { - Debug.log(Debug.INFO, "No Paragraph Attributes\n"); - } - else - { - while ((debug_attrib = cellAtt.item(debug_i++)) != null) - { - Debug.log(Debug.INFO, "Paragraph Attribute " + debug_i + - ": " + debug_attrib.getNodeName() + " : " + - debug_attrib.getNodeValue() + "\n"); - } - } - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - - int len = nodeList.getLength(); - - StringBuffer buffer = new StringBuffer(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - // TODO: need to handle space/tabs/newline nodes later - short nodeType = child.getNodeType(); - - switch (nodeType) { - - case Node.TEXT_NODE: - buffer.append(child.getNodeValue()); - break; - - case Node.ENTITY_REFERENCE_NODE: - - NodeList nodeList2 = child.getChildNodes(); - int len2 = nodeList2.getLength(); - - for (int j = 0; j < len2; j++) { - Node child2 = nodeList2.item(j); - - if (child2.getNodeType() == Node.TEXT_NODE) { - buffer.append(child2.getNodeValue()); - } - } - - break; - } - } - - String s = buffer.toString(); - // displayWidth = calculateContentWidth(s); - addCell(s); - - } - } - - - /** - * This method will take the input cell value and add - * it to the spreadsheet Document we are currently - * encoding. This method correctly handles cells that are - * repeated in either the row, cell, or both directions. - * - * @param cellValue The contents of the cell we want to add - * to the spreadsheet Document. - * - * @throws IOException If any I/O error occurs. - */ - protected void addCell(String cellValue) throws IOException { - - int col = colID; - int row = rowID; - - for (int i = 0; i < rowsRepeated; i++) { - - // Log the columns when there are rowsRepeated. - if (i > 0) { - Debug.log(Debug.TRACE, ""); - Debug.log(Debug.TRACE, ""); - } - - col = colID; - - for (int j = 0; j < colsRepeated; j++) { - - Debug.log(Debug.TRACE, ""); - - - // Add the cell data to the encoded spreadsheet document - encoder.addCell(row, col, fmt, cellValue); - - Debug.log(Debug.TRACE, cellValue); - Debug.log(Debug.TRACE, ""); - - col++; - } - - row++; - - } - - } - - - - /** - * This method takes a table:table-cell Node - * and traverses down to the text:p tag. The value is - * extracted from the text:p tag and the number of decimal - * places is calculated. - * - * @param node A table:table-cell Node. - * - * @return The number of decimal places in the display - * string of the data in the input Node. - */ - protected int getDecimalPlaces(Node node) { - - int decimals = 0; - - Element element = null; - - // cast org.w3c.dom.Node to org.w3c.dom.Element - if (node instanceof Element) { - element = (Element) node; - } else { - return decimals; - } - - // Traverse to the text:p element, there should only be one. - NodeList list = element.getElementsByTagName(TAG_PARAGRAPH); - - if (list.getLength() != 1) { - return decimals; - } - - Node paragraph = list.item(0); - - if (paragraph.hasChildNodes()) { - - NodeList nodeList = paragraph.getChildNodes(); - - int len = nodeList.getLength(); - - for (int j = 0; j < len; j++) { - - Node child = nodeList.item(j); - - if (child.getNodeType() == Node.TEXT_NODE) { - - String s = child.getNodeValue(); - - // displayWidth = calculateContentWidth(s); - - int k = s.lastIndexOf("."); - if (k > 0) { - s = s.substring(k+1); - decimals = s.length(); - } - } - } - } - - return decimals; - } - - /* - * Utility method to retrieve a Node attribute. - */ - private String getAttribute (Node node, String attribute) { - NamedNodeMap attrNodes = node.getAttributes(); - - if (attrNodes != null) { - Node attr = attrNodes.getNamedItem(attribute); - if (attr != null) { - return attr.getNodeValue(); - } - } - return null; - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcPluginFactory.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcPluginFactory.java deleted file mode 100644 index 4bdaad8e009c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/SxcPluginFactory.java +++ /dev/null @@ -1,83 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc; - -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.PluginFactory; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentMergerFactory; - - -/** - * General implementation of the PluginFactory interface - * for SXC Document objects. - * - * @see org.openoffice.xmerge.DocumentDeserializer - * @see org.openoffice.xmerge.DocumentMerger - * @see org.openoffice.xmerge.DocumentSerializer - */ -public abstract class SxcPluginFactory - extends PluginFactory implements DocumentMergerFactory { - - - /** - * Constructor that caches the ConvertInfo that - * corresponds to the registry information for this plug-in. - * - * @param ci ConvertInfo object. - */ - public SxcPluginFactory(ConverterInfo ci) { - super(ci); - } - - - public Document createOfficeDocument(String name, InputStream is) - throws IOException { - - // read zipped XML stream - // - SxcDocument doc = new SxcDocument(name); - doc.read(is); - return doc; - } - - public Document createOfficeDocument(String name, InputStream is,boolean isZip) - throws IOException { - - // read zipped XML stream - // - SxcDocument doc = new SxcDocument(name); - doc.read(is,isZip); - return doc; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml deleted file mode 100644 index 5805a5253993..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/build.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/makefile.mk deleted file mode 100644 index abc309279f0f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcx_sxc -PRJ=../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/ConverterCapabilitiesImpl.java deleted file mode 100644 index 07b0c751b93d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/ConverterCapabilitiesImpl.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - - -/** - *

    MiniCalc implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.sxc.minicalc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarCalc SXC to/from MiniCalc conversions. The - * ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE_ROW.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE_COLUMN.equals(tag)) - return false; - // TODO - we currently do not handle the table column tag - else if (OfficeConstants.TAG_TABLE_SCENARIO.equals(tag)) - return false; - // TODO - we currently do not handle the table scenario tag - else if (OfficeConstants.TAG_TABLE_CELL.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_TABLE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_NAME.equals(attribute)) - return true; - - } else if (OfficeConstants.TAG_TABLE_CELL.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_VALUE_TYPE.equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_FORMULA. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_VALUE.equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_BOOLEAN_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_CURRENCY. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_TIME_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_DATE_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED. - equals(attribute)) - return true; - - } else if (OfficeConstants.TAG_TABLE_ROW.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED. - equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcConstants.java deleted file mode 100644 index 07530013ea84..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcConstants.java +++ /dev/null @@ -1,45 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import org.openoffice.xmerge.converter.palm.PdbUtil; - -/** - * Constants used for encoding and decoding the MiniCalc format. - * - * @author Herbie Ong - */ -interface MinicalcConstants { - - /** Creator ID. */ - public static final int CREATOR_ID = PdbUtil.intID("PiMC"); - - /** Type ID. */ - public static final int TYPE_ID = PdbUtil.intID("Data"); -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDataString.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDataString.java deleted file mode 100644 index 140dfde1881b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDataString.java +++ /dev/null @@ -1,545 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -/** - * This class is used by MinicalcDecoder to manipulate a - * String containing MiniCalc cell data. - * - * @author Paul Rank - */ -public class MinicalcDataString { - - /** The String representation of the MiniCalc data. */ - private String data = null; - - - /** - * Constructor stores the MiniCalc data String. - * - * @param data A String containing MiniCalc - * cell data. - */ - public MinicalcDataString(String data) { - this.data = data; - } - - - /** - * Checks if the MiniCalc data String is a formula. - * - * @return true if the MiniCalc data String is a - * formula, false if the MiniCalc data String - * is not a formula. - */ - public boolean isFormula() { - - if (data.startsWith("=")) { - return true; - } - - return false; - } - - - /** - * Checks if the MiniCalc data String is a percentage. - * - * @return true if the MiniCalc data String is a - * percentage, false if the MiniCalc data - * String is not a percentage. - */ - public boolean isPercent() { - - if (data.endsWith("%")) { - return true; - } - - return false; - } - - - /** - * Checks if the MiniCalc data String is a - * boolean value. - * - * @return true if the MiniCalc data String is - * a boolean, false if the MiniCalc data - * String is not a boolean. - */ - public boolean isBoolean() { - - if (data.equalsIgnoreCase("false") || - data.equalsIgnoreCase("true")) { - return true; - } - - return false; - } - - - /** - * Checks if the MiniCalc data String is a date. - * - * @return true if the MiniCalc data String is - * a date, false if the MiniCalc data String - * is not a date. - */ - public boolean isDate() { - - // Starting index into the date string - month - int start = 0; - - // Search for "/", which separates month from day - int end = data.indexOf("/"); - - // Separator was found - if (end > 0) { - - String monthString = data.substring(start, end); - - try { - Float f = Float.valueOf(monthString); - if ((f.intValue() < 0) || (f.intValue() > 12)) { - return false; - } - } - catch (NumberFormatException e) { - - // no, it is not a currency type - return false; - } - - // start is now the starting index of day - start = end+1; - - // Search for "/", which separates day from year - end = data.indexOf("/", start); - - // Separator was found - if (end > 0) { - - String dayString = data.substring(start, end); - - try { - Float f = Float.valueOf(dayString); - if ((f.intValue() < 0) || (f.intValue() > 31)) - return false; - } - catch (NumberFormatException e) { - // no, it is not a currency type - return false; - } - } else { - return false; - } - - // start is now at the starting index of the year - start = end + 1; - - String yearString = data.substring(start); - try { - Float f = Float.valueOf(yearString); - if (f.intValue() < 0) { - return false; - } - } - catch (NumberFormatException e) { - // no, it is not a currency type - return false; - } - - } else { - return false; - } - - return true; - } - - - /** - * Checks if the MiniCalc data String is a time. - * - * @return true if the MiniCalc data String - * is a time, false if the MiniCalc data - * String is not a time. - */ - public boolean isTime() { - - // Starting index into the time string - hour - int start = 0; - - // Search for ":", which separates hour from minute - int end = data.indexOf(":"); - - - // Separator was found - if (end > 0) { - - String hourString = data.substring(start, end); - try { - Float f = Float.valueOf(hourString); - if ((f.intValue() < 0) || (f.intValue() > 24)) - return false; - } - catch (NumberFormatException e) { - // no, it is not a time type - return false; - } - - // start is now the starting index of minute - start = end+1; - - // Search for ":", which separates minute from second - end = data.indexOf(":", start); - - // Separator was found - if (end > 0) { - - String minuteString = data.substring(start, end); - - try { - Float f = Float.valueOf(minuteString); - if ((f.intValue() < 0) || (f.intValue() > 60)) - return false; - } - catch (NumberFormatException e) { - // no, it is not a time type - return false; - } - - // start is now at the starting index of the seconds - start = end+1; - - // The seconds are in the string - if (data.length() > start) { - - String secondString = data.substring(start); - - - try { - Float f = Float.valueOf(secondString); - if ((f.intValue() < 0) || (f.intValue() > 60)) - return false; - } - catch (NumberFormatException e) { - // no, it is not a time type - return false; - } - } - - } - - return true; - - } - - return false; - } - - - /** - * Checks if the MiniCalc data String is a currency - * value. - * - * @return true if the MiniCalc data String is - * a currency, false if the MiniCalc data - * String is not a currency. - */ - public boolean isCurrency() { - - boolean result = false; - - // TODO - we currently only check for US currencies - - if (data.endsWith("$")) { - String number = data.substring(0, data.length()-1); - try { - Float f = Float.valueOf(number); - result = true; - } - catch (NumberFormatException e) { - // no, it is not a currency type - result = false; - } - } - - else if (data.startsWith("$")) { - String number = data.substring(1, data.length()); - try { - Float f = Float.valueOf(number); - result = true; - } - catch (NumberFormatException e) { - // no, it is not a currency type - result = false; - } - } - - return result; - - } - - - /** - * This method removes the percent sign from the MiniCalc data - * String. If the percent sign is not the last - * character of the MiniCalc data String, the - * MiniCalc data String is returned. - * - * @return The MiniCalc data String minus the - * percent sign. If the MiniCalc data String - * does not begin with a percent sign, the MiniCalc data - * String is returned. - */ - public String percentRemoveSign() { - - String number = data; - - if (data.endsWith("%")) { - // "%" is the last character, so remove - number = data.substring(0, data.length()-1); - - try { - Float f = Float.valueOf(number); - float f1 = f.floatValue()/100f; - Float f2 = new Float(f1); - number = f2.toString(); - } - catch (NumberFormatException e) { - // no, it is not a float type - } - } - - return number; - } - - - /** - * This method removes the currency sign from the MiniCalc data - * String. If the currency sign is not the first or - * last character of the MiniCalc data String, the - * MiniCalc data String is returned. - * - * @return The MiniCalc data String minus the currency - * sign. If the MiniCalc data String does not - * begin or end with a currency sign, the MiniCalc - * data String is returned. - */ - public String currencyRemoveSign() { - - String number = data; - - // TODO - only works with US currencies - - if (data.endsWith("$")) { - - number = data.substring(0, data.length()-1); - - } else if (data.startsWith("$")) { - - number = data.substring(1, data.length()); - } - - return number; - - } - - - /** - *

    This method converts a MiniCalc date from MiniCalc - * format to StarOffice XML format.

    - * - *

    MiniCalc format:

    - * - *

    - * MM/DD/YY or MM/DD/YYYY - *

    - * - *

    StarOffice XML format:

    - * - *

    - * YYYY-MM-DD - *

    - * - * @return The MiniCalc date converted to StarOffice XML - * format. - */ - public String convertToStarDate() { - - // The output date string - String out; - - String monthString = "01"; - String dayString = "01"; - String yearString = "1900"; - - // Starting index into the date string - month - int start = 0; - - // Search for "/", which separates month from day - int end = data.indexOf("/"); - - // Separator was found - if (end > 0) { - - monthString = data.substring(start, end); - - Integer monthInt = new Integer(monthString); - - // Make sure month is 2 digits - if (monthInt.intValue() < 10) { - monthString = "0" + monthString; - } - - // start is now the starting index of day - start = end+1; - - // Search for "/", which separates day from year - end = data.indexOf("/", start); - - // Separator was found - if (end > 0) { - - dayString = data.substring(start, end); - - Integer dayInt = new Integer(dayString); - - // Make sure day is 2 digits - if (dayInt.intValue() < 10) { - dayString = "0" + dayString; - } - - // start is now at the starting index of the year - start = end + 1; - - // The year is in the string - if (data.length() > start) { - - yearString = data.substring(start); - - Integer yearInt = new Integer(yearString); - int year = yearInt.intValue(); - - if (year < 31) { - - // MiniCalc years between 0 and 30 correspond to - // 2000 - 2030 - year += 2000; - - } else if (year < 100) { - - // MiniCalc years between 31 and 99 correspond - // to 1931 - 1999 - year += 1900; - } - - yearString = Integer.toString(year); - } - } - } - - // Set out to StarOffice XML date format - out = yearString + "-" + monthString + "-" + dayString; - - return out; - } - - - /** - * This method converts the MiniCalc time from MiniCalc - * format to StarOffice XML format. - * - *

    MiniCalc format:

    - * - *

    - * hh:mm:ss - *

    - * - *

    StarOffice XML format:

    - * - *

    - * PThhHmmMssS - *

    - * - * @return The MiniCalc time converted to StarOffice XML - * format. - */ - public String convertToStarTime() { - - // The output time string - String out; - - String hourString = "00"; - String minuteString = "00"; - String secondString = "00"; - - // Starting index into the time string - hour - int start = 0; - - // Search for ":", which separates hour from minute - int end = data.indexOf(":"); - - // Separator was found - if (end > 0) { - - hourString = data.substring(start, end); - - // start is now the starting index of minute - start = end+1; - - // Search for ":", which separates minute from second - end = data.indexOf(":", start); - - // Separator was found - if (end > 0) { - - minuteString = data.substring(start, end); - - // start is now at the starting index of the seconds - start = end+1; - - // The seconds are in the string - if (data.length() > start) { - - secondString = data.substring(start); - } - - } - } - - // TODO - PT is for pacific time, where can we get the - // localized value from? - - // Set to StarOffice XML time format - out = "PT"+hourString+"H"+minuteString+"M"+secondString+"S"; - - return out; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDecoder.java deleted file mode 100644 index a165a25f9fbf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcDecoder.java +++ /dev/null @@ -1,744 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import jmc.Workbook; -import jmc.Worksheet; -import jmc.CellAttributes; -import jmc.CellDescriptor; -import jmc.JMCconstants; -import jmc.JMCException; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Enumeration; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; -import org.openoffice.xmerge.converter.xml.sxc.Format; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializerImpl} - * SxcDocumentDeserializerImpl} to decode the MiniCalc format. - * - * @author Paul Rank - */ -final class MinicalcDecoder extends SpreadsheetDecoder { - - /** MiniCalc WorkBook to store sheets. */ - private Workbook wb; - - /** MiniCalc sheet - only one sheet can be open at a time. */ - private Worksheet ws; - - /** The current cell - only one cell can be active at a time. */ - private CellDescriptor cell = null; - - /** Format object describing the current cell. */ - private Format fmt = null; - - /** The password for the WorkBook. */ - private String password = null; - - /** The number of rows in the current WorkSheet. */ - private int maxRows = 0; - - /** The number of columns in the current WorkSheet. */ - private int maxCols = 0; - - /** The names of the worksheets. */ - private String[] worksheetNames = null; - - /** - * Constructor creates a MiniCalc WorkBook. - * - * @param name The name of the WorkBook. - * @param password The password for the workBook. - * - * @throws IOException If any I/O error occurs. - */ - MinicalcDecoder(String name, String[] worksheetNames, String password) throws IOException { - - super(name, password); - - fmt = new Format(); - - this.password = password; - this.worksheetNames = worksheetNames; - - try { - - wb = new Workbook(name, password); - - } - catch (JMCException e) { - - Debug.log(Debug.ERROR, "MinicalcDecoder.constructor:" + e.getMessage()); - - throw new IOException(e.getMessage()); - // e.printStackTrace(); - - } - } - - - /** - * This method takes a ConvertData as input and - * converts it into a MiniCalc WorkSheet. The WorkSheet is then - * added to the WorkBook. - * - * @param InputStream An ConvertData containing a - * MiniCalc WorkSheet. - * - * @throws IOException If any I/O error occurs. - */ - public void addDeviceContent(ConvertData cd) throws IOException { - - try { - PalmDocument palmDoc; - int j = 0; - - Enumeration e = cd.getDocumentEnumeration(); - while(e.hasMoreElements()) { - - palmDoc = (PalmDocument) e.nextElement(); - // Convert PDB to WorkBook/WorkSheet format - PalmDB pdb = palmDoc.getPdb(); - - // This will be done at least once - String sheetName = worksheetNames[j]; - - // Get number of records in the pdb - int numRecords = pdb.getRecordCount(); - - // sheetName does not contain the WorkBook name, but we need the - // full name. - String fullSheetName = new String(wb.getWorkbookName() + "-" + sheetName); - - // Create a new (empty) WorkSheet - ws = new Worksheet(); - - // Initialize the WorkSheet - ws.initWorksheet(fullSheetName, numRecords); - - // Loop over the number of records in the PDB - for (int i = 0; i < numRecords; i++) { - - // Read record i from the PDB - Record rec = pdb.getRecord(i); - - byte cBytes[] = rec.getBytes(); - - // Create an InputStream - ByteArrayInputStream bis = new ByteArrayInputStream(cBytes); - - // Get the size of the stream - int bisSize = cBytes.length; - - // Add each record to the WorkSheet - ws.readNextRecord(bis, bisSize); - } - - - // Add the WorkSheet to the WorkBook - wb.addWorksheet(ws); - j++; - } - } - catch (JMCException e) { - - Debug.log(Debug.ERROR, "MinicalcDecoder.addPDB:" + e.getMessage()); - - throw new IOException(e.getMessage()); - } - } - - - /** - * This method returns the number of spreadsheets - * stored in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public int getNumberOfSheets() { - - return wb.getNumberOfSheets(); - } - - - /** - * This method gets the requested WorkSheet from the - * WorkBook and sets it as the selected WorkSheet. All - * other "get" methods will now get data from this WorkSheet. - * - * @param sheetIndex The index number of the sheet to open. - * - * @throws IOException If any I/O error occurs. - */ - public void setWorksheet(int sheetIndex) throws IOException { - - try { - - ws = wb.getWorksheet(sheetIndex); - - // Initialize access to the WorkSheet so that we can calculate - // the number of rows and columns - ws.initAccess(password); - - maxRows = 0; - maxCols = 0; - - while (goToNextCell()) { - maxRows = Math.max(maxRows, cell.getRowNumber()); - maxCols = Math.max(maxCols, cell.getColNumber()); - } - - // Re-initialize access to the WorkSheet - ws.initAccess(password); - - } - catch (JMCException e) { - - Debug.log(Debug.ERROR, "MinicalcDecoder.setWorksheet:" + e.getMessage()); - - throw new IOException(e.getMessage()); - // e.printStackTrace(); - - } - } - - - /** - * This method returns the name of the current spreadsheet. - * - * @return The name of the current WorkSheet. - */ - public String getSheetName() { - - String sheetName = ws.getName(); - - return sheetName; - } - - - /** - * This method gets the next cell from the WorkSheet - * and sets it as the selected cell. All other "get" - * methods will now get data from this cell. - * - * @return True if we were able to go to another cell - * in the sheet, false if there were no cells - * left. - * - * @throws IOException If any I/O error occurs. - */ - public boolean goToNextCell() throws IOException { - - boolean gotCell = false; - - try { - cell = ws.getNextCell(); - - if (cell != null) { - gotCell = true; - } - - // As we read each cell, get its formatting info - readCellFormat(); - } - catch (JMCException e) { - - Debug.log(Debug.ERROR, "MinicalcDecoder.goToNextCell:" + e.getMessage()); - - throw new IOException(e.getMessage()); - // e.printStackTrace(); - - } - - return gotCell; - } - - - /** - * This method returns the row number of the current cell. - * - * @return The row number of the current cell. Returns - * -1 if no cell is currently selected. - */ - public int getRowNumber() { - - int row = -1; - - if (cell != null) { - - row = cell.getRowNumber(); - } - - return row; - } - - /** - * This method returns the number of rows in the current sheet. - * - * @return The number of rows in the current sheet. - */ - public int getNumberOfRows() { - - return maxRows; - } - - /** - * This method returns the number of columns in the current sheet. - * - * @return The number of columns in the current sheet. - */ - public int getNumberOfColumns() { - return maxCols; - } - - - /** - * This method returns the col number of the current cell. - * - * @return The col number of the current cell. Returns - * -1 if no cell is currently selected. - */ - public int getColNumber() { - - int col = -1; - - if (cell != null) { - - col = cell.getColNumber(); - } - - return col; - } - - - /** - * This method returns the contents of the current cell. - * - * @return The contents of the current cell. Returns - * null if no cell is currently selected. - */ - public String getCellContents() { - - String contents = null; - - if (cell != null) { - contents = cell.getCellContents(); - - // Active cell, but no content - if (contents == null) - return new String(""); - - // Does the cell contain a formula? - if (contents.startsWith("=")) { - contents = parseFormula(contents); - } - // Make sure that any MiniCalc peculiarities are stripped off - if (fmt.getCategory().equalsIgnoreCase(OfficeConstants.CELLTYPE_CURRENCY)) { - contents = currencyRemoveSign(contents); - } - else if (fmt.getCategory().equalsIgnoreCase(OfficeConstants.CELLTYPE_PERCENT)) { - contents = percentRemoveSign(contents); - } - else if (fmt.getCategory().equalsIgnoreCase(OfficeConstants.CELLTYPE_DATE)) { - contents = convertToStarDate(contents); - } - else if (fmt.getCategory().equalsIgnoreCase(OfficeConstants.CELLTYPE_TIME)) { - contents = convertToStarTime(contents); - } - } - - return contents; - } - - /** - * This method is meant to return the value of the formula cell. However - * in minicalc this value is not used so hence the stubbed function - * - * @return the value fo the formula cell - */ - public String getCellValue() { - return null; - } - - /** - *

    This method takes a formula and parses it into - * StarOffice XML formula format.

    - * - *

    Many spreadsheets use ',' as a separator. - * StarOffice XML format uses ';' as a separator instead.

    - * - *

    Many spreadsheets use '!' as a separator when refencing - * a cell in a different sheet.

    - * - *
    - * Example: =sheet1!A1 - *
    - * - *

    StarOffice XML format uses '.' as a separator instead.

    - * - *
    - * Example: =sheet1.A1 - *
    - * - * @param formula A formula string. - * - * @return A StarOffice XML format formula string. - */ - protected String parseFormula(String formula) { - - formula = formula.replace(',', ';'); - formula = formula.replace('!', '.'); - - return formula; - } - - /** - *

    This method returns the type of the data in the current cell.

    - * - *

    Possible Data Types:

    - * - *
    • - * Percent - MiniCalc can store as a number or as a string. - * - * When stored as a string, the % sign is stored in the - * string . The MiniCalc format is "string". - * Example 10.1% is stored as the string "10.1%" - * - * When stored as a number, the decimal representation - * is stored. The MiniCalc format is "percentage". - * Example: 10.1% is stored as "0.101" - *
    • - * Currency - MiniCalc stores currency as a number with the format - * set to "currency". - * A user can also enter a value with a dollar sign - * (example $18.56) into MiniCalc and not set the format - * as currency. We treat this type of data as a - * currency data type. - *
    • - * Boolean - MiniCalc stores in a string as "true" or "false" - *
    • - * - * Date - MiniCalc stores a date in a string as either - * MM/DD/YY or MM/DD/YYYY. Any variation from the above - * format will not be considered a date. - *
    • - * Time - MiniCalc stores a time in a string as hh:mm:ss. Any - * variation from this format will not be considered a time. - *
    • - * Float - MiniCalc stores as a number and it is not percent - * or currency. - *
    • - * String - MiniCalc stores as a string (surprise). Doesn't parse - * to any of the other data types. - *
    • - * @return The type of the data in the current cell. - *
    - */ - public String getCellDataType() { - - boolean isNumber = false; - - // Get format value set on the cell in MiniCalc - String format = getCellFormatType(); - - // Initialize the data type to the format - String type = format; - - String contents = getCellContents(); - - if (contents != null) { - - MinicalcDataString data = new MinicalcDataString(contents); - - // Check if it is a formula - if (data.isFormula()) { - Debug.log(Debug.INFO, " " + contents + " Is a Function Format = " - + format + "\n"); - return type; - } - - try { - // Check to see if it is a number - Double d = Double.valueOf(contents); - isNumber = true; - Debug.log(Debug.INFO, " " + contents + " Is a Number Format = " + format); - - } catch (NumberFormatException e) { - Debug.log(Debug.INFO, " " + contents + " Not a Number Format= " + format); - // no, it is not a number - isNumber = false; - } - - - if (isNumber) { - - // Numbers are Float, Currency, and Percent - if (format.equals(OfficeConstants.CELLTYPE_CURRENCY)) { - - type = OfficeConstants.CELLTYPE_CURRENCY; - - } else if (format.equals(OfficeConstants.CELLTYPE_PERCENT)) { - - type = OfficeConstants.CELLTYPE_PERCENT; - - } else { - - type = OfficeConstants.CELLTYPE_FLOAT; - } - - } else if (data.isBoolean()) { - - // Data is a Boolean type - type = OfficeConstants.CELLTYPE_BOOLEAN; - - } else if (data.isDate()) { - - // Data is a Date type - type = OfficeConstants.CELLTYPE_DATE; - - } else if (data.isTime()) { - - // Data is a Time type - type = OfficeConstants.CELLTYPE_TIME; - - } else if (data.isPercent()) { - - // Data is percent - type = OfficeConstants.CELLTYPE_PERCENT; - - } else if (data.isCurrency()) { - - // Data is a Currency type - type = OfficeConstants.CELLTYPE_CURRENCY; - - } else { - - // Data can't be float, since it isn't a number - - // We've already tried parsing it as all other data - // types, the only remaining option is a string - type = OfficeConstants.CELLTYPE_STRING; - } - } - - Debug.log(Debug.INFO, " TYPE = " + type + "\n"); - - return type; - } - - - /** - * This method returns the format of the data in the current cell. - * - * @return The format of the data in the current cell. - */ - String getCellFormatType() { - - // Set type to default data type - String type = OfficeConstants.CELLTYPE_FLOAT; - - if (cell != null) { - - // Get the attributes for the current cell - CellAttributes att = cell.getCellAttributes(); - - if (att != null) { - - // Extract the format info from the attributes - long format = att.getFormat(); - - // The cell type is stored in bits 5-8 - long cellType = format & 0x000000F0L; - - // The number of decimal places is stored in bits 1-4 - long decimals = format & 0x0000000FL; - - if (cellType == JMCconstants.FF_FORMAT_GENERIC) { - - // MiniCalc stores both Strings and Booleans - // in the generic type. We must check the contents - // to differentiate between the two. - - // Get cell's contents - String contents = getCellContents(); - - if (contents.equalsIgnoreCase("false") || - contents.equalsIgnoreCase("true")) { - - type = OfficeConstants.CELLTYPE_BOOLEAN; - - - } else { - - type = OfficeConstants.CELLTYPE_STRING; - - } - - } else if (cellType == JMCconstants.FF_FORMAT_DECIMAL) { - - type = OfficeConstants.CELLTYPE_FLOAT; - - } else if (cellType == JMCconstants.FF_FORMAT_TIME) { - - type = OfficeConstants.CELLTYPE_TIME; - - } else if (cellType == JMCconstants.FF_FORMAT_DATE) { - - type = OfficeConstants.CELLTYPE_DATE; - - } else if (cellType == JMCconstants.FF_FORMAT_CURRENCY) { - - type = OfficeConstants.CELLTYPE_CURRENCY; - - } else if (cellType == JMCconstants.FF_FORMAT_PERCENT) { - - type = OfficeConstants.CELLTYPE_PERCENT; - } - - } - } - - return type; - } - - - /** - * This method takes a String that contains a - * currency value and removes the $ from the String. - * If the dollar sign is not the first or last character of the - * input String, the input String is - * simply returned. - * - * @param contents The input String from which to - * remove the dollar sign. - * - * @return The input String minus the dollar sign. - * If the input String did not begin or end - * with a dollar sign, contents is returned. - */ - private String currencyRemoveSign(String contents) { - MinicalcDataString mcString = new MinicalcDataString(contents); - String currencyString = mcString.currencyRemoveSign(); - return currencyString; - } - - - /** - * This method takes a String that contains a percent - * value and removes the % from the String. If the - * percent sign is not the last character of the input - * String, the input String is simply - * returned. - * - * @param contents The input String from which to remove the - * percent sign. - * - * @return The input String minus the percent sign. - * If the input String did not begin with - * a percent sign, contents is returned. - */ - private String percentRemoveSign(String contents) { - MinicalcDataString mcString = new MinicalcDataString(contents); - String percentString = mcString.percentRemoveSign(); - return percentString; - } - - - /** - * This method returns takes a String that contains - * a time value and converts it from MiniCalc format to StarOffice - * XML time format. - * - * @param contents The input String containing a - * MiniCalc time. - * - * @return The input String converted to StarOffice - * XML time format. - */ - private String convertToStarTime(String contents) { - MinicalcDataString mcString = new MinicalcDataString(contents); - String timeString = mcString.convertToStarTime(); - return timeString; - } - - /** - * This method returns takes a String that contains - * a date value and converts it from MiniCalc format to StarOffice - * XML date format. - * - * @param contents The input String containing a - * MiniCalc date. - * - * @return The input String converted to StarOffice - * XML date format. - */ - private String convertToStarDate(String contents) { - MinicalcDataString mcString = new MinicalcDataString(contents); - String dateString = mcString.convertToStarDate(); - return dateString; - } - - - /** - * Return the Format object describing the active cell formatting. - * - * @return The Format object describing the active cell formatting. - */ - public Format getCellFormat() { - return new Format(fmt); - } - - - /** - * Create the format data for the new cell. - */ - private void readCellFormat() { - // Make sure there are no remnants from the last time - fmt.clearFormatting(); - - fmt.setCategory(getCellFormatType()); - - // TODO - Get any more formatting data here - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcEncoder.java deleted file mode 100644 index 70014a8af93e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/MinicalcEncoder.java +++ /dev/null @@ -1,582 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import jmc.Workbook; -import jmc.Worksheet; -import jmc.CellAttributes; -import jmc.CellDescriptor; -import jmc.JMCconstants; -import jmc.JMCException; - -import java.awt.Color; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.DataOutputStream; -import java.io.IOException; - -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.IntArrayList; - -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetEncoder; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocumentSerializerImpl - * SxcDocumentSerializerImpl} to encode the MiniCalc format. - * - * @author Paul Rank - */ -final class MinicalcEncoder extends SpreadsheetEncoder { - - /** MiniCalc WorkBook to store sheets. */ - private Workbook wb; - - /** MiniCalc sheet - only one sheet can be open at a time. */ - private Worksheet ws; - - /** - * Estimate of the number of Palm pixels per character. Used for - * estimating the width of a cell on a Palm device. - */ - private final static int pixelsPerChar = 6; - - /** - * The minimum width (in pixels) that we allow a column to be set to - * on a Palm device. - */ - private final static int minWidth = 10; - - /** - * The maximum width (in pixels) that we allow a column to be set to - * on a Palm device. - */ - private final static int maxWidth = 80; - - - /** - * Constructor creates a MiniCalc WorkBook. - * - * @param log Log object for logging. - * @param name The name of the WorkBook. - * @param password The password for the WorkBook. - * - * @throws IOException If any I/O error occurs. - */ - MinicalcEncoder(String name, String password) throws IOException { - - super(name, password); - - try { - wb = new Workbook(name, password); - } - catch (JMCException e) { - Debug.log(Debug.ERROR, "new Workbook threw exception:" + e.getMessage()); - throw new IOException(e.getMessage()); - } - } - - - /** - * This method creates a WorkSheet belonging to the - * WorkBook. - * - * @param sheetName The name of the WorkSheet. - * - * @throws IOException If any I/O error occurs. - */ - public void createWorksheet(String sheetName) throws IOException { - - try { - ws = wb.createWorksheet(sheetName); - } - catch (JMCException e) { - Debug.log(Debug.ERROR, "wb.createWorksheet threw exception:" + e.getMessage()); - throw new IOException(e.getMessage()); - } - } - - - /** - * This method gets the number of sheets in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public int getNumberOfSheets() { - - int numSheets = wb.getNumberOfSheets(); - return numSheets; - } - - - /** - * This method encodes the MiniCalc WorkBook information - * into an palm Record array in MiniCalc - * database format. - * - * @return Array of Record holding MiniCalc - * contents. - * - * @throws IOException If any I/O error occurs. - */ - public Record[] getRecords(int sheetID) throws IOException { - - // Get the WorkSheet for the input sheetID - ws = wb.getWorksheet(sheetID); - - // Need to call ws.initWrite() before we start querying the WorkSheet - try { - ws.initWrite(); - } - catch (JMCException e) { - Debug.log(Debug.ERROR, "ws.initWrite in getRecords:" + e.getMessage()); - throw new IOException(e.getMessage()); - } - - // Get the number of records in the WorkSheet - int numRecords = ws.getNumberOfRecords(); - - // Create the Record array - Record[] allRecords = new Record[numRecords]; - - - // Get each record from the WorkSheet and store in allRecords[] - try { - for (int i = 0; i < allRecords.length; i++) { - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - - int length = ws.writeNextRecord(bos); - - byte cBytes[] = bos.toByteArray(); - - allRecords[i] = new Record(cBytes); - } - } - catch (Exception e) { - Debug.log(Debug.ERROR, "ws.writeNextRecord in getRecords:" + e.getMessage()); - throw new IOException(e.getMessage()); - } - - return allRecords; - } - - - /** - * A cell reference in a StarOffice formula looks like - * [.C2] (for cell C2). MiniCalc is expecting cell references - * to look like C2. This method strips out the braces and - * the period. - * - * @param formula A StarOffice formula String. - * - * @return A MiniCalc formula String. - */ - protected String parseFormula(String formula) { - - StringBuffer inFormula = new StringBuffer(formula); - StringBuffer outFormula = new StringBuffer(); - - boolean inBrace = false; - boolean firstCharAfterBrace = false; - boolean firstCharAfterColon = false; - - int len = inFormula.length(); - - for (int in = 0; in < len; in++) { - switch (inFormula.charAt(in)) { - case '[': - // We are now inside a StarOffice cell reference. - // We also need to strip out the '[' - inBrace = true; - - // If the next character is a '.', we want to strip it out - firstCharAfterBrace = true; - break; - - case ']': - // We are exiting a StarOffice cell reference - // We are stripping out the ']' - inBrace = false; - break; - - case ':': - // We have a cell range reference. - // May need to strip out the leading '.' - if (inBrace) - firstCharAfterColon = true; - outFormula.append(inFormula.charAt(in)); - break; - - case '.': - if (inBrace == true) { - if (firstCharAfterBrace == false && - firstCharAfterColon == false) { - // Not the first character after the open brace. - // We have hit a separator between a sheet reference - // and a cell reference. MiniCalc uses a ! as - // this type of separator. - outFormula.append('!'); - } - else { - firstCharAfterBrace = false; - firstCharAfterColon = false; - // Since we are in a StarOffice cell reference, - // and we are the first character, we need to - // strip out the '.' - } - break; - } else { - // We hit valid data, lets add it to the formula string - outFormula.append(inFormula.charAt(in)); - break; - } - - case ';': - // StarOffice XML format uses ';' as a separator. MiniCalc (and - // many spreadsheets) use ',' as a separator instead. - outFormula.append(','); - break; - - default: - // We hit valid data, lets add it to the formula string - outFormula.append(inFormula.charAt(in)); - - // Need to make sure that firstCharAfterBrace is not true. - firstCharAfterBrace = false; - break; - } - } - - return outFormula.toString(); - } - - /** - * Add a cell to the current WorkSheet. - * - * @param row The row number of the cell. - * @param column The column number of the cell. - * @param fmt The Format object describing - * the appearance of this cell. - * @param cellContents The text or formula of the cell's contents. - * - * @throws IOException If any I/O error occurs. - */ - public void addCell(int row, int column, Format fmt, String cellContents) throws IOException { - - CellAttributes ca = new CellAttributes(getFormat(fmt), - fmt.getForeground(), - fmt.getBackground()); - if (cellContents.startsWith("=")) { - cellContents = parseFormula(cellContents); - Debug.log(Debug.INFO, "YAHOO Found Formula" + cellContents); - } - - CellDescriptor cellDes = new CellDescriptor(row, column, ca, cellContents); - - try { - ws.putCell(cellDes); - } - catch (JMCException jmce) { - Debug.log(Debug.ERROR, "ws.putCell threw exception: " + jmce.getMessage()); - throw new IOException(jmce.getMessage()); - } - } - - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public void setColumnWidths(IntArrayList columnWidths) throws IOException { - // Get the number of columns - int numColumns = columnWidths.size(); - - // Return if there are no columns in the listr - if (numColumns == 0) { - return; - } - - // Need to set the FORM_FLAGS_NONDEFAULT flag for the column widths - // to be used in MiniCalc - long format = JMCconstants.FORM_FLAGS_NONDEFAULT; - - CellAttributes ca = new CellAttributes(format); - - try { - for (int i = 0; i < numColumns; i++) { - // Get the column width in Palm pixels - int width = columnWidths.get(i) * pixelsPerChar; - - // Check limits on column width - if (width < minWidth) { - width = minWidth; - } else if (width > maxWidth) { - width = maxWidth; - } - - // Add the column descriptor to the WorkSheet - ws.putColumn(i + 1, width, ca); - } - } - catch (JMCException jmce) { - Debug.log(Debug.ERROR, "ws.putColumn threw exception: " + jmce.getMessage()); - throw new IOException(jmce.getMessage()); - } - } - - - /** - * This method sets the format of a cell to string. - * - * @param format The cell format-may already contain display info, - * such as alignment or font type. - * - * @return The updated format of the cell. - */ - private long setFormatString(long format) { - - format = clearCellFormatType(format); - - // Set format to generic, since MiniCalc does not have a string type. - format = format | JMCconstants.FF_FORMAT_GENERIC; - - return format; - } - - - /** - * This method sets the format of a cell to floating point. - * - * @param format The cell format. May already contain - * display info, such as alignment or - * font type. - * @param decimalPlaces The number of decimal places to - * set in the floating point number. - * - * @return The updated format of the cell. - */ - private long setFormatFloat(long format, int decimalPlaces) { - - format = clearCellFormatType(format); - - // Set format to floating point with correct number of decimal places - format = format | JMCconstants.FF_FORMAT_DECIMAL | decimalPlaces; - - return format; - } - - - /** - * This method sets the format of a cell to time. - * - * @param format The cell format-may already contain display info, - * such as alignment or font type. - * - * @return The updated format of the cell. - */ - private long setFormatTime(long format) { - - format = clearCellFormatType(format); - - // Set format to time. - format = format | JMCconstants.FF_FORMAT_TIME; - - return format; - } - - - /** - * This method sets the format of a cell to date. - * - * @param format The cell format-may already contain display info, - * such as alignment or font type. - * - * @return The updated format of the cell. - */ - private long setFormatDate(long format) { - - format = clearCellFormatType(format); - - // Set format to date. - format = format | JMCconstants.FF_FORMAT_DATE; - - return format; - } - - - /** - * This method sets the format of a cell to currency. - * - * @param format The cell format-may already contain - * display info, such as alignment or - * font type. - * @param decimalPlaces The number of decimal places to set. - * - * @return The updated format of the cell. - */ - private long setFormatCurrency(long format, int decimalPlaces) { - - format = clearCellFormatType(format); - - // Set format to Currency with correct number of decimal places - format = format | JMCconstants.FF_FORMAT_CURRENCY | decimalPlaces; - - return format; - } - - - /** - * This method sets the format of a cell to boolean. - * - * @param format The cell format-may already contain display info, - * such as alignment or font type. - * - * @return The updated format of the cell. - */ - private long setFormatBoolean(long format) { - - format = clearCellFormatType(format); - - // Set format to generic, since MiniCalc does not have a Boolean type. - format = format | JMCconstants.FF_FORMAT_GENERIC; - - return format; - } - - - /** - * This method sets the format of a cell to percent. - * - * @param format The cell format-may already contain - * display info, such as alignment or - * font type. - * @param decimalPlaces The number of decimal places to set. - * - * @return The updated format of the cell. - */ - private long setFormatPercent(long format, int decimalPlaces) { - - format = clearCellFormatType(format); - - // Set format to Percent with correct number of decimal places - format = format | JMCconstants.FF_FORMAT_PERCENT | decimalPlaces; - - return format; - } - - - /** - * This method clears out the format bits associated with - * the type of data (float, time, etc...) in - * a cell. - * - * @param format The original format for the cell. - * - * @return The updated cell format with the bits associated - * with the type of data (float, time, etc...) - * zeroed out. - */ - private long clearCellFormatType(long format) { - - // First 4 bits are for the number of decimal places - // bits 5-8 are for the data format (float, time, etc...) - - // Clear out first 8 bits - format = format & 0xFFFFFFFFFFFFFF00L; - - return format; - } - - - /** - * Set a cell's formatting options via a separately create - * Format object. - * - * @param row The row number of the cell to be changed. - * @param column The column number of the cell to be changed. - * @param fmt Object containing formatting settings for - * this cell. - */ - public void setCellFormat(int row, int column, Format fmt) { - } - - - /** - * Get the names of the sheets in the WorkBook. - * - * @param sheet The required sheet. - */ - public String getSheetName(int sheet) { - return wb.getWorksheet(sheet).getName(); - } - - - /* - * This method returns a MiniCalc style format from the - * Format object. - */ - private long getFormat(Format fmt) - { - String category = fmt.getCategory(); - - if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_BOOLEAN)) { - return setFormatBoolean(0); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_CURRENCY)) { - return setFormatCurrency(0, fmt.getDecimalPlaces()); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_DATE)) { - return setFormatDate(0); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_FLOAT)) { - return setFormatFloat(0, fmt.getDecimalPlaces()); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_PERCENT)) { - return setFormatPercent(0, fmt.getDecimalPlaces()); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_STRING)) { - return setFormatString(0); - } - else if (category.equalsIgnoreCase(OfficeConstants.CELLTYPE_TIME)) { - return setFormatTime(0); - } - else { - // Should never get here, but just in case - System.out.println("XXXXX Formatting information not found"); - return 0; - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/PluginFactoryImpl.java deleted file mode 100644 index 82f39a8e60aa..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/PluginFactoryImpl.java +++ /dev/null @@ -1,129 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxc.DocumentMergerImpl; -import org.openoffice.xmerge.converter.xml.sxc.SxcPluginFactory; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import java.io.IOException; -import java.io.InputStream; - -/** - *

    MiniCalc implementation of the PluginFactory. - * This encapsulates conversion of StarCalc XML format to and from - * MiniCalc format.

    - * - *

    The superclass produces a particular - * {@link org.openoffice.xmerge.Document Document} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocument - * SxcDocument} that the converters in this class works with. Thus, - * this class only implements the methods that produces the converters, - * i.e. {@link - * org.openoffice.xmerge.DocumentSerializer - * DocumentSerializer} and {@link - * org.openoffice.xmerge.DocumentDeserializer - * DocumentDeserializer}; - * as well as the {@link - * org.openoffice.xmerge.ConverterCapabilities - * ConverterCapabilities} object that is specific to this format - * conversion. That superclass also produces a {@link - * org.openoffice.xmerge.DocumentMerger DocumentMerger} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxc.DocumentMergerImpl - * DocumentMergerImpl} which this class derives the functionality.

    - */ -public final class PluginFactoryImpl extends SxcPluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory { - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - public PluginFactoryImpl(ConverterInfo ci) { - super(ci); - } - - - /** - * Returns an instance of DocumentSerializerImpl, - * which is an implementation of DocumentSerializer - * interface. - * - * @param doc Document object to be - * converted/serialized. - * - * @return A DocumentSerializerImpl object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - - return new SxcDocumentSerializerImpl(doc); - } - - - /** - * Returns an instance of DocumentDeserializerImpl, - * which is an implementation of DocumentDeserializer - * interface. - * - * @param cd ConvertData object for reading data - * which will be converted back to a - * Document object. - * - * @return A DocumentDeserializerImpl object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - - return new SxcDocumentDeserializerImpl(cd); - } - - - public Document createDeviceDocument(String name, InputStream is) - throws IOException { - - PalmDocument palmDoc = new PalmDocument(is); - return palmDoc; - } - - public DocumentMerger createDocumentMerger(Document doc) { - - DocumentMergerImpl merger = new DocumentMergerImpl(doc, converterCap); - return merger; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java deleted file mode 100644 index db3bcdeb91c5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java +++ /dev/null @@ -1,138 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.converter.palm.PalmDocument; - -import java.io.IOException; -import java.util.Enumeration; - -/** - *

    MiniCalc implementation of DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.minicalc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts a set of files in MiniCalc PDB format to a StarOffice DOM.

    - * - * @author Mark Murnane - */ -public final class SxcDocumentDeserializerImpl extends SxcDocumentDeserializer { - - /** - * Creates new SxcDocumentDeserializerImpl. - * - * @param cd ConvertData Input data to convert. - */ - public SxcDocumentDeserializerImpl(ConvertData cd) { - super(cd); - } - - - /** - * This method will be implemented by concrete subclasses and will - * return an application-specific decoder. - * - * @param workbook The WorkBook name. - * @param worksheetNames An array of WorkSheet names. - * @param password The password. - * - * @return An application-specific SpreadsheetDecoder. - */ - public SpreadsheetDecoder createDecoder(String workbook, - String[] worksheetNames, String password) throws IOException { - - return new MinicalcDecoder(workbook, worksheetNames, password); - } - - - /** - * This method will return the name of the WorkBook from the - * ConvertData. Allows for situations where the - * WorkBook name differs from the PDB name. - * - * Implemented in the Deserializer as the Decoder's constructor - * requires a name. - * - * @param cd The ConvertData. - * - * @return The name of the WorkBook. - */ - protected String getWorkbookName(ConvertData cd) - throws IOException { - - Enumeration e = cd.getDocumentEnumeration(); - PalmDocument palmDoc = (PalmDocument) e.nextElement(); - String workbookName = palmDoc.getName(); - - // Search for "-", which separates workbook from worksheet - int end = workbookName.indexOf("-"); - - if (end > 0) { - workbookName = workbookName.substring(0, end); - } - - return workbookName; - } - - - /** - * This method will return an array of WorkSheet names from the - * ConvertData. - * - * @param cd The ConvertData. - * - * @return The name of the WorkSheet. - */ - protected String[] getWorksheetNames(ConvertData cd) - throws IOException { - int numberOfPDBs = cd.getNumDocuments(); - String worksheetName[] = new String[numberOfPDBs]; - int i=0; - Enumeration e = cd.getDocumentEnumeration(); - while (e.hasMoreElements()) { - PalmDocument palmDoc = (PalmDocument) e.nextElement(); - worksheetName[i] = palmDoc.getName(); - - // Search for the "-", which seperates workbook from worksheet - int start = worksheetName[i].indexOf("-"); - - if (start != -1) { - worksheetName[i] = worksheetName[i].substring(start + 1); - } - i++; - } - - return worksheetName; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentSerializerImpl.java deleted file mode 100644 index 1c1c8fe2e6bd..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentSerializerImpl.java +++ /dev/null @@ -1,141 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.minicalc; - -import java.awt.Color; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import java.io.IOException; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PalmDocument; - -import jmc.JMCconstants; - -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentSerializer; - -/** - *

    MiniCalc implementation of SxcDocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.minicalc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts StarOffice XML format to a set of files in - * MiniCalc PDB format.

    - * - * @author Paul Rank - * @author Mark Murnane - */ -public final class SxcDocumentSerializerImpl extends SxcDocumentSerializer { - - - /** - * Constructor. - * - * @param document The Document to convert. - */ - public SxcDocumentSerializerImpl(Document document) { - super(document); - } - - - public ConvertData serialize() throws ConvertException, IOException { - - - // Get the server side document name. This value should not - // contain a path or the file extension. - String docName = sxcDoc.getName(); - - // TODO - get real values for password when implemnted in XML - // Passwords are not currently stored in StarCalc XML format. - String password = null; - - encoder = new MinicalcEncoder(docName, password); - - // get dom document - org.w3c.dom.Document domDoc = sxcDoc.getContentDOM(); - - // Traverse to the office:body element. - // There should only be one. - NodeList list = domDoc.getElementsByTagName(TAG_OFFICE_BODY); - int len = list.getLength(); - - if (len > 0) { - Node node = list.item(0); - traverseBody(node); - } - - // Get the number of sheets in the workbook - // This will equal the number of PDBs we need - ConvertData cd = new ConvertData(); - int numSheets = encoder.getNumberOfSheets(); - - for (int i = 0; i < numSheets; i++) { - - // Get records for sheet i - Record records[] = ((MinicalcEncoder) encoder).getRecords(i); - - // Get the sheet name for sheet i - String fullSheetName = new String(docName - + "-" - + encoder.getSheetName(i)); - - // Create a PalmDB object - PalmDocument palmDoc = new PalmDocument(fullSheetName, - MinicalcConstants.CREATOR_ID, - MinicalcConstants.TYPE_ID, JMCconstants.AppVersion, - PalmDB.PDB_HEADER_ATTR_BACKUP, records); - - cd.addDocument(palmDoc); - } - - - // OutputStream os = new FileOutputStream(docName); - - //pdbSet.write(os); - //os.flush(); - - //ConvertDataEntry cde = new ConvertDataOutputStream(os, docName); - //cd.addCDE(cde); - - return cd; - } - - - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml deleted file mode 100644 index 6a4092250009..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/build.xml +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/converter.xml deleted file mode 100644 index 39b28ffbf944..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/converter.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - Minicalc 6.4 - - - StarCalc XML to/from Minicalc 6.4 conversion - - OpenOffice.org - - org.openoffice.xmerge.converter.xml.sxc.minicalc.PluginFactoryImpl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/makefile.mk deleted file mode 100644 index 8d6716d32b74..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcxs_minicalc -PRJ=../../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/package.html deleted file mode 100644 index 034af32e581b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/package.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxc.minicalc package - - - - -

    Provides the tools for doing the conversion of StarWriter XML to -and from MiniCalc format.

    - -

    It follows the {@link org.openoffice.xmerge} framework for the conversion process.

    - -

    Since it converts to/from a Palm application format, these converters -follow the -PalmDB stream format for writing out to the Palm sync client or reading -in from the Palm sync client.

    - -

    Note that PluginFactoryImpl also provides a -DocumentMerger object, i.e. {@link org.openoffice.xmerge.converter.xml.sxw.aportisdoc.DocumentMergerImpl DocumentMergerImpl}. -This functionality was derived from its superclass -{@link org.openoffice.xmerge.converter.xml.sxw.SxwPluginFactory SxwPluginFactory}.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/package.html deleted file mode 100644 index bfa0d5a53dbc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/package.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxc package - - - -

    Provides base implementation of StarCalc XML conversion to and from -different "Device" Document formats.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/ConverterCapabilitiesImpl.java deleted file mode 100644 index c8de9e99b5da..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/ConverterCapabilitiesImpl.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - - -/** - *

    Pocket Excel implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.sxc.pexcel.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarCalc SXC to/from Pocket Excel conversions. The - * ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE_ROW.equals(tag)) - return true; - else if (OfficeConstants.TAG_TABLE_COLUMN.equals(tag)) - return false; - // TODO - we currently do not handle the table column tag - else if (OfficeConstants.TAG_TABLE_SCENARIO.equals(tag)) - return false; - // TODO - we currently do not handle the table scenario tag - else if (OfficeConstants.TAG_TABLE_CELL.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_TABLE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_NAME.equals(attribute)) - return true; - - } else if (OfficeConstants.TAG_TABLE_CELL.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_VALUE_TYPE.equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_FORMULA. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_VALUE.equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_BOOLEAN_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_CURRENCY. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_TIME_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_DATE_VALUE. - equals(attribute)) - return true; - else if (OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED. - equals(attribute)) - return true; - - } else if (OfficeConstants.TAG_TABLE_ROW.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED. - equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PluginFactoryImpl.java deleted file mode 100644 index e7b08e097614..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PluginFactoryImpl.java +++ /dev/null @@ -1,130 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import java.io.IOException; -import java.io.InputStream; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxc.DocumentMergerImpl; -import org.openoffice.xmerge.converter.xml.sxc.SxcPluginFactory; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.util.registry.ConverterInfo; - -/** - *

    Pocket Excel implementation of the PluginFactory. - * This encapsulates conversion of StarCalc XML format to and from - * Pocket Excel format.

    - * - *

    The superclass produces a particular - * {@link org.openoffice.xmerge.Document Document} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocument - * SxcDocument} that the converters in this class works with. Thus, - * this class only implements the methods that produces the converters, - * i.e. {@link - * org.openoffice.xmerge.DocumentSerializer - * DocumentSerializer} and {@link - * org.openoffice.xmerge.DocumentDeserializer - * DocumentDeserializer}; - * as well as the {@link - * org.openoffice.xmerge.ConverterCapabilities - * ConverterCapabilities} object that is specific to this format - * conversion. That superclass also produces a {@link - * org.openoffice.xmerge.DocumentMerger DocumentMerger} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxc.DocumentMergerImpl - * DocumentMergerImpl} which this class derives the functionality.

    - */ -public final class PluginFactoryImpl extends SxcPluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory { - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - public PluginFactoryImpl(ConverterInfo ci) { - super(ci); - } - - - /** - * Returns an instance of DocumentSerializerImpl, - * which is an implementation of DocumentSerializer - * interface. - * - * @param doc Document object to be - * converted/serialized. - * - * @return A DocumentSerializerImpl object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - - return new SxcDocumentSerializerImpl(doc); - } - - - /** - * Returns an instance of DocumentDeserializerImpl, - * which is an implementation of DocumentDeserializer - * interface. - * - * @param cd ConvertData object for reading data - * which will be converted back to a - * Document object. - * - * @return A DocumentDeserializerImpl object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - - return new SxcDocumentDeserializerImpl(cd); - } - - - public Document createDeviceDocument(String name, InputStream is) - throws IOException { - - Workbook wb = new Workbook(name, is); - return wb; - } - - public DocumentMerger createDocumentMerger(Document doc) { - - DocumentMergerImpl merger = new DocumentMergerImpl(doc, converterCap); - return merger; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelConstants.java deleted file mode 100644 index 1e2abbf937cb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelConstants.java +++ /dev/null @@ -1,68 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - - -/** - * Interface defining constants for Pocket Excel attributes. - * - * @author Martin Maher - */ -public interface PocketExcelConstants { - /** File extension for Pocket Word files. */ - public static final String FILE_EXTENSION = ".pxl"; - - /** Constants for pexcel BIFF records */ - public static final int BLANK_CELL = 0x01; - public static final int NUMBER_CELL = 0x03; - public static final int LABEL_CELL = 0x04; - public static final int BOOLERR_CELL = 0x05; - public static final int FORMULA_CELL = 0x06; - public static final int FORMULA_STRING = 0x07; - public static final int ROW_DESCRIPTION = 0x08; - public static final int BOF_RECORD = 0x09; - public static final int EOF_MARKER = 0x0A; - public static final int DEFINED_NAME = 0x18; - public static final int CURRENT_SELECTION = 0x1D; - public static final int NUMBER_FORMAT = 0x1E; - public static final int DEFAULT_ROW_HEIGHT = 0x25; - public static final int FONT_DESCRIPTION = 0x31; - public static final int WINDOW_INFO = 0x3D; - public static final int SHEET_WINDOW_INFO = 0x3E; - public static final int PANE_INFO = 0x41; - public static final int CODEPAGE = 0x42; - public static final int DEF_COL_WIDTH = 0x55; - public static final int COLINFO = 0x7D; - public static final int BOUND_SHEET = 0x85; - public static final int EXTENDED_FORMAT = 0xE0; - - /** Colour lookup table for mapping pexcel color values - (See util/ColourConverter.java */ - public short cLookup[] = { 0, 14, 15, 1, 2, 3, 4, 7, 6, 5, 8, 9, 10, 13, 12, 11 }; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java deleted file mode 100644 index 3e23a87aa20f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelDecoder.java +++ /dev/null @@ -1,446 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Stack; -import java.util.LinkedList; -import java.util.Vector; -import java.util.Enumeration; -import java.util.NoSuchElementException; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.converter.xml.sxc.BookSettings; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.*; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializerImpl} - * SxcDocumentDeserializerImpl} to decode the Pocket Excel format. - * - * @author Paul Rank - */ -final class PocketExcelDecoder extends SpreadsheetDecoder { - - private Workbook wb; - private Worksheet ws; - private CellValue cell; - private int maxRows = 0; - private int maxCols = 0; - private int wsIndex; - private Enumeration cellValue; - private Format fmt = null; - - /** - * Constructor creates a Pocket Excel WorkBook. - * - * @param name The name of the WorkBook. - * @param worksheetNames set of Strings equivalent to the worksheets - * contained in the workbook - * @param password The password for the workBook. - * - * @throws IOException If any I/O error occurs. - */ - PocketExcelDecoder(String name, String[] worksheetNames, String password) throws IOException { - super(name, password); - - fmt = new Format(); - } - - - /** - * This method takes a ConvertData as input and - * converts it into a PocketWord WorkSheet. The WorkSheet is then - * added to the WorkBook. - * - * @param InputStream An ConvertData containing a - * Pocket Excel WorkSheet. - * - * @throws IOException If any I/O error occurs. - */ - public void addDeviceContent(ConvertData cd) throws IOException { - - Enumeration e = cd.getDocumentEnumeration(); - wb = (Workbook) e.nextElement(); - } - - - /** - * This method returns the number of spreadsheets - * stored in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public int getNumberOfSheets() { - - Vector v = wb.getWorksheetNames(); - Debug.log(Debug.TRACE,"Total Number of Sheets : " + v.size()); - return (v.size()); - } - - /** - * This method returns the number of spreadsheets - * stored in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public Enumeration getNameDefinitions() { - - Enumeration e = wb.getDefinedNames(); - Vector nameDefinitionVector = new Vector(); - while(e.hasMoreElements()) { - DefinedName dn = (DefinedName)e.nextElement(); - NameDefinition nameDefinitionEntry = dn.getNameDefinition(); - nameDefinitionVector.add(nameDefinitionEntry); - } - Debug.log(Debug.TRACE,"Getting " + nameDefinitionVector.size() + " DefinedName records"); - return (nameDefinitionVector.elements()); - } - - /** - * This method returns an enumeration of Settings object(s), - * one for each worksheet - * - * @return An enumerattion of Settings - */ - public BookSettings getSettings() { - - return (wb.getSettings()); - } - /** - * This method returns the number of spreadsheets - * stored in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public Enumeration getColumnRowInfos() { - - Vector colRowVector = new Vector(); - - // Collect Columns from worksheet and add them to the vector - for(Enumeration e = ws.getColInfos();e.hasMoreElements();) { - ColInfo ci = (ColInfo)e.nextElement(); - int repeated = ci.getLast() - ci.getFirst() + 1; - ColumnRowInfo colInfo = new ColumnRowInfo( ci.getColWidth(), - repeated, - ColumnRowInfo.COLUMN); - colRowVector.add(colInfo); - } - - // Collect Rows from worksheet and add them to the vector - for(Enumeration e = ws.getRows();e.hasMoreElements();) { - Row rw = (Row)e.nextElement(); - // We will use the repeat field for number (unlike columns rows - // cannot be repeated, we have unique record for each row in pxl - int repeated = rw.getRowNumber(); - ColumnRowInfo rowInfo = new ColumnRowInfo( rw.getRowHeight(), - repeated, - ColumnRowInfo.ROW); - colRowVector.add(rowInfo); - } - Debug.log(Debug.TRACE,"Getting " + colRowVector.size() + " ColRowInfo records"); - return (colRowVector.elements()); - } - - /** - * This method gets the requested WorkSheet from the - * WorkBook and sets it as the selected WorkSheet. All - * other "get" methods will now get data from this WorkSheet. - * - * @param sheetIndex The index number of the sheet to open. - * - * @throws IOException If any I/O error occurs. - */ - public void setWorksheet(int sheetIndex) throws IOException { - Debug.log(Debug.TRACE,"Setting to worksheet : " + sheetIndex); - ws = wb.getWorksheet(sheetIndex); - cellValue = ws.getCellEnumerator(); - wsIndex = sheetIndex; - while(goToNextCell()) { - maxRows = Math.max(maxRows, cell.getRow()); - maxCols = Math.max(maxCols, cell.getCol()); - } - cellValue = ws.getCellEnumerator(); - Debug.log(Debug.TRACE,"Max Cols : " + maxCols + " MaxRows : " + maxRows); - } - - - /** - * This method returns the name of the current spreadsheet. - * - * @return The name of the current WorkSheet. - */ - public String getSheetName() { - - String wsName = wb.getSheetName(wsIndex); - Debug.log(Debug.TRACE,"The name of the current Worksheet is : " + wsName); - return wsName; - } - - - /** - * This method gets the next cell from the WorkSheet - * and sets it as the selected cell. All other "get" - * methods will now get data from this cell. - * - * @return True if we were able to go to another cell - * in the sheet, false if there were no cells - * left. - * - * @throws IOException If any I/O error occurs. - */ - public boolean goToNextCell() throws IOException { - - boolean success = false; - - try { - cell = (CellValue) cellValue.nextElement(); - Debug.log(Debug.TRACE,"Current Cell : " + cell.getString()); - readCellFormat(); - success = true; - } catch (NoSuchElementException e) { - Debug.log(Debug.TRACE,"Could't find current cell"); - } - - return success; - } - - - /** - * This method returns the row number of the current cell. - * - * @return The row number of the current cell. Returns - * -1 if no cell is currently selected. - */ - public int getRowNumber() { - - int row = -1; - - if (cell != null) { - row = cell.getRow(); - Debug.log(Debug.TRACE,"cell row is " + row); - } - return (row); - } - - /** - * This method returns the number of rows in the current sheet. - * - * @return The number of rows in the current sheet. - */ - public int getNumberOfRows() { - return maxRows; - } - - /** - * This method returns the number of columns in the current sheet. - * - * @return The number of columns in the current sheet. - */ - public int getNumberOfColumns() { - return maxCols; - } - - - /** - * This method returns the col number of the current cell. - * - * @return The col number of the current cell. Returns - * -1 if no cell is currently selected. - */ - public int getColNumber() { - - int col = -1; - - if (cell != null) { - col = cell.getCol(); - Debug.log(Debug.TRACE,"cell col is " + col); - } - return (col); - } - - /** - * This method returns the contents of the current cell. - * - * @return The contents of the current cell. Returns - * null if no cell is currently selected. - */ - public String getCellContents() { - - String contents = new String(""); - - if (cell != null) { - try { - contents = cell.getString(); - if (contents.startsWith("=")) { - contents = parseFormula(contents); - } - } - catch (IOException e) { - System.err.println("Could Not retrieve Cell contents"); - System.err.println("Setting contents of cell(" + cell.getRow() - + "," + cell.getCol() + ") to an empty string"); - System.err.println("Error msg: " + e.getMessage()); - } - } - - return contents; - } - - /** - *

    This method takes a formula and parses it into - * StarOffice XML formula format.

    - * - *

    Many spreadsheets use ',' as a separator. - * StarOffice XML format uses ';' as a separator instead.

    - * - *

    Many spreadsheets use '!' as a separator when refencing - * a cell in a different sheet.

    - * - *
    - * Example: =sheet1!A1 - *
    - * - *

    StarOffice XML format uses '.' as a separator instead.

    - * - *
    - * Example: =sheet1.A1 - *
    - * - * @param formula A formula string. - * - * @return A StarOffice XML format formula string. - */ - protected String parseFormula(String formula) { - - formula = formula.replace(',', ';'); - formula = formula.replace('!', '.'); - - return formula; - } - - /** - * This method returns the contents of the current cell. - * - * @return The contents of the current cell. Returns - * null if no cell is currently selected. - */ - public String getCellValue() { - - String contents = new String(""); - - if (cell != null) { - try { - contents = ((Formula)cell).getValue(); - } - catch (IOException e) { - System.err.println("Could Not retrieve Cell value"); - System.err.println("Setting value of cell(" + cell.getRow() - + "," + cell.getCol() + ") to an empty string"); - System.err.println("Error msg: " + e.getMessage()); - } - } - return contents; - } - - /** - *

    This method returns the type of the data in the current cell. - * Currently the only type supported is String.

    - * - * @return The type of the data in the current cell. - */ - public String getCellDataType() { - - String type = OfficeConstants.CELLTYPE_STRING; - - if(cell instanceof FloatNumber) - type = OfficeConstants.CELLTYPE_FLOAT; - if(cell instanceof Formula) - type = OfficeConstants.CELLTYPE_FLOAT; - - return type; - } - - - /** - * Return the Format object describing the active cell formatting. - * - * @return The Format object describing the active cell formatting. - */ - public Format getCellFormat() { - return new Format(fmt); - } - - - /** - * Create the format data for the new cell. - */ - private void readCellFormat() throws IOException { - - fmt.clearFormatting(); - - Debug.log(Debug.TRACE," ixfe for Current Cell " + cell.getIxfe()); - ExtendedFormat xf = wb.getExtendedFormat(cell.getIxfe()); - Debug.log(Debug.TRACE," ixfnt for Current Cell " + xf.getFontIndex()); - FontDescription fd = wb.getFontDescription(xf.getFontIndex()); - - fmt.setAttribute(Format.ITALIC, fd.isItalic()); - fmt.setAttribute(Format.BOLD, fd.isBold()); - fmt.setAttribute(Format.UNDERLINE, fd.isUnderline()); - fmt.setForeground(fd.getForeground()); - - fmt.setBackground(xf.getBackground()); - fmt.setAlign(xf.getAlign()); - fmt.setVertAlign(xf.getVertAlign()); - fmt.setAttribute(Format.WORD_WRAP, xf.isWordWrap()); - - fmt.setAttribute(Format.TOP_BORDER, xf.isBorder(ExtendedFormat.TOP_BORDER)); - fmt.setAttribute(Format.BOTTOM_BORDER, xf.isBorder(ExtendedFormat.BOTTOM_BORDER)); - fmt.setAttribute(Format.RIGHT_BORDER, xf.isBorder(ExtendedFormat.RIGHT_BORDER)); - fmt.setAttribute(Format.LEFT_BORDER, xf.isBorder(ExtendedFormat.LEFT_BORDER)); - - fmt.setFontName(fd.getFont()); - fmt.setFontSize(fd.getFontSize()); - - fmt.setCategory(getCellDataType()); - - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java deleted file mode 100644 index 062260aa3664..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/PocketExcelEncoder.java +++ /dev/null @@ -1,295 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.Vector; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.IntArrayList; - -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetEncoder; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.BookSettings; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxc.SxcDocumentSerializerImpl - * SxcDocumentSerializerImpl} to encode the Pocket Excel format. - * - * @author Martin Maher - */ -final class PocketExcelEncoder extends SpreadsheetEncoder { - - private Workbook wb; - - /** - * Constructor creates a Pocket Excel WorkBook. - * - * @param name The name of the WorkBook. - * @param password The password for the WorkBook. - * - * @throws IOException If any I/O error occurs. - */ - PocketExcelEncoder(String name, String password) throws IOException { - - super(name, password); - wb = new Workbook(name); - - } - - - /** - * This method creates a WorkSheet belonging to the - * WorkBook. - * - * @param sheetName The name of the WorkSheet. - * - * @throws IOException If any I/O error occurs. - */ - public void createWorksheet(String sheetName) throws IOException { - - wb.addWorksheet(sheetName); - } - - - /** - * This method gets the number of sheets in the WorkBook. - * - * @return The number of sheets in the WorkBook. - */ - public int getNumberOfSheets() { - - Vector v = wb.getWorksheetNames(); - return (v.size()); - } - - - /** - * This method returns the Workbook created. - * - * @return Returns a Workbook - * - * @throws IOException If any I/O error occurs. - */ - public Workbook getWorkbook() throws IOException { - - return wb; - } - - /** - * This method converts a String containing a formula in infix notation - * to a String in Reverse Polish Notation (RPN) - * - * @return a parsed pexcel formula in RPN - */ - protected String parseFormula(String formula) { - - Debug.log(Debug.TRACE,"Strip Formula (Before) : " + formula); - - StringBuffer inFormula = new StringBuffer(formula); - StringBuffer outFormula = new StringBuffer(); - - boolean inBrace = false; - boolean firstCharAfterBrace = false; - boolean firstCharAfterColon = false; - - int len = inFormula.length(); - - for (int in = 0; in < len; in++) { - switch (inFormula.charAt(in)) { - case '[': - // We are now inside a StarOffice cell reference. - // We also need to strip out the '[' - Debug.log(Debug.TRACE,"brace Found"); - inBrace = true; - - // If the next character is a '.', we want to strip it out - firstCharAfterBrace = true; - break; - - case ']': - // We are exiting a StarOffice cell reference - // We are stripping out the ']' - inBrace = false; - break; - case '.': - if (inBrace == true && (firstCharAfterBrace == true || - firstCharAfterColon == true) ) { - - Debug.log(Debug.TRACE,"dot Found and in brace"); - // Since we are in a StarOffice cell reference, - // and we are the first character, we need to - // strip out the '.' - firstCharAfterBrace = false; - firstCharAfterColon = false; - - } else if(firstCharAfterColon == true) { - firstCharAfterColon = false; - } else { - outFormula.append(inFormula.charAt(in)); - } - break; - - case ':': - // We have a cell range reference. - // May need to strip out the leading '.' - firstCharAfterColon = true; - outFormula.append(inFormula.charAt(in)); - break; - - case ';': - // StarOffice XML format uses ';' as a separator. MiniCalc (and - // many spreadsheets) use ',' as a separator instead. - outFormula.append(','); - break; - - default: - // We hit valid data, lets add it to the formula string - outFormula.append(inFormula.charAt(in)); - - // Need to make sure that firstCharAfterBrace is not true. - firstCharAfterBrace = false; - break; - } - } - - Debug.log(Debug.TRACE,"Strip Formula (After) : " + outFormula); - return outFormula.toString(); - } - - /** - * Add a cell to the current WorkSheet. - * - * @param row The row number of the cell. - * @param column The column number of the cell. - * @param fmt The Format object describing - * the appearance of this cell. - * @param cellContents The text or formula of the cell's contents. - * - * @throws IOException If any I/O error occurs. - */ - public void addCell(int row, int column, Format fmt, String cellContents) throws IOException { - - if (cellContents.startsWith("=")) { - cellContents = parseFormula(cellContents); - Debug.log(Debug.TRACE,"Parsing Formula " + cellContents); - } - wb.addCell(row, column, fmt, cellContents); - } - - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public void setColumnRows(Vector columnRows) throws IOException { - - wb.addColInfo(columnRows); - } - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public void setNameDefinition(NameDefinition nd) throws IOException { - - String parsedName = nd.getDefinition(); - nd.setDefinition(parseFormula(parsedName)); - - wb.addNameDefinition(nd); - } - - /** - * Set the width of the columns in the WorkBook. - * - * @param columnWidths An IntArrayList of column - * widths. - */ - public void addSettings(BookSettings s) throws IOException { - - wb.addSettings(s); - } - - /** - * This method sets the format of a cell to string. - * - * @param format The cell format-may already contain display info, - * such as alignment or font type. - * - * @return The updated format of the cell. - */ - private long setFormatString(long format) { - - return 0; - } - - - /** - * Set a cell's formatting options via a separately create - * Format object. - * - * @param row The row number of the cell to be changed. - * @param column The column number of the cell to be changed. - * @param fmt Object containing formatting settings for - * this cell. - */ - public void setCellFormat(int row, int column, Format fmt) { - Debug.log(Debug.TRACE,"bold : " + fmt.getAttribute(Format.BOLD) + - ",Italic : " + fmt.getAttribute(Format.ITALIC) + - ",Underline : " + fmt.getAttribute(Format.UNDERLINE)); - } - - - /** - * Get the names of the sheets in the WorkBook. - * - * @param sheet The required sheet. - */ - public String getSheetName(int sheet) { - - Vector v = wb.getWorksheetNames(); - String wsName = (String) (v.elementAt(sheet)); - - return wsName; - } - - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java deleted file mode 100644 index 777506515629..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentDeserializerImpl.java +++ /dev/null @@ -1,129 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelDecoder; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; - - -/** - *

    Pocket Excel implementation of DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.pexcel.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts a set of files in Pocket Excel PXL format to a StarOffice DOM.

    - * - * @author Mark Murnane - */ -public final class SxcDocumentDeserializerImpl extends SxcDocumentDeserializer { - - /** - * Creates new SxcDocumentDeserializerImpl. - * - * @param cd ConvertData Input data to convert. - */ - public SxcDocumentDeserializerImpl(ConvertData cd) { - super(cd); - } - - - /** - * This method will be implemented by concrete subclasses and will - * return an application-specific decoder. - * - * @param workbook The WorkBook name. - * @param worksheetNames An array of WorkSheet names. - * @param password The password. - * - * @return An application-specific SpreadsheetDecoder. - */ - public SpreadsheetDecoder createDecoder(String workbook, - String[] worksheetNames, String password) throws IOException { - - return new PocketExcelDecoder(workbook, worksheetNames, password); - } - - - /** - * This method will return the name of the WorkBook from the - * ConvertData. Allows for situations where the - * WorkBook name differs from the PDB name. - * - * Implemented in the Deserializer as the Decoder's constructor - * requires a name. - * - * @param cd The ConvertData. - * - * @return The name of the WorkBook. - */ - protected String getWorkbookName(ConvertData cd) - throws IOException { - - Enumeration e = cd.getDocumentEnumeration(); - Workbook wb = (Workbook) e.nextElement(); - - String workbookName = wb.getName(); - return workbookName; - } - - - /** - * This method will return an array of WorkSheet names from the - * ConvertData. - * - * @param cd The ConvertData. - * - * @return The name of the WorkSheet. - */ - protected String[] getWorksheetNames(ConvertData cd) - throws IOException { - - Enumeration e = cd.getDocumentEnumeration(); - Workbook wb = (Workbook) e.nextElement(); - Vector v = wb.getWorksheetNames(); - e = v.elements(); - String worksheetNames[] = new String[v.size()]; - int i = 0; - while(e.hasMoreElements()) { - worksheetNames[i] = (String) e.nextElement(); - Debug.log(Debug.TRACE,"Worksheet Name : " + worksheetNames[i]); - i++; - } - return worksheetNames; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentSerializerImpl.java deleted file mode 100644 index df2d9c6befa1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/SxcDocumentSerializerImpl.java +++ /dev/null @@ -1,136 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel; - -import java.awt.Color; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import java.io.IOException; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentSerializer; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.converter.xml.StyleCatalog; - -/** - *

    Pocket Excel implementation of SxcDocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxc.pexcel.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts StarOffice XML format to a set of files in - * Pocket Excel PXL format.

    - * - * @author Paul Rank - * @author Mark Murnane - */ -public final class SxcDocumentSerializerImpl extends SxcDocumentSerializer { - - - /** - * Constructor. - * - * @param document The Document to convert. - */ - public SxcDocumentSerializerImpl(Document document) { - super(document); - } - - - public ConvertData serialize() throws ConvertException, IOException { - - // Get the server side document name. This value should not - // contain a path or the file extension. - String docName = sxcDoc.getName(); - - // TODO - get real values for password when implemnted in XML - // Passwords are not currently stored in StarCalc XML format. - String password = null; - - encoder = new PocketExcelEncoder(docName, password); - - // get dom document - org.w3c.dom.Document domDoc = sxcDoc.getContentDOM(); - - // load the styles - loadStyles(sxcDoc); - // Traverse to the office:body element. - // There should only be one. - NodeList list = domDoc.getElementsByTagName(TAG_OFFICE_BODY); - int len = list.getLength(); - - if (len > 0) { - Node node = list.item(0); - traverseBody(node); - } - - // get settings for this document - org.w3c.dom.Document settingsDoc = sxcDoc.getSettingsDOM(); - if(settingsDoc!=null) { - NodeList settingsList = settingsDoc.getElementsByTagName(TAG_OFFICE_SETTINGS); - int slen = settingsList.getLength(); - - if (slen > 0) { - Node settingsNode = settingsList.item(0); - traverseSettings(settingsNode); - } - } - - // Get the number of sheets in the workbook - // This will equal the number of PDBs we need - ConvertData cd = new ConvertData(); - Workbook wb = ((PocketExcelEncoder) encoder).getWorkbook(); - cd.addDocument(wb); - - return cd; - } - - - /** - * A cell reference in a StarOffice formula looks like - * [.C2] (for cell C2). MiniCalc is expecting cell references - * to look like C2. This method strips out the braces and - * the period. - * - * @param formula A StarOffice formula String. - * - * @return A MiniCalc formula String. - */ - protected String parseFormula(String formula) { - - return null; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml deleted file mode 100644 index d0b036da0454..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/build.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/converter.xml deleted file mode 100644 index 85efdab4f83d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/converter.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - Pocket Excel 2.0 - - - StarCalc XML to/from Pocket Excel 2.0 conversion - - OpenOffice.org - - org.openoffice.xmerge.converter.xml.sxc.pexcel.PluginFactoryImpl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/makefile.mk deleted file mode 100644 index 9e5308e04a11..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcxs_pexcel -PRJ=../../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/package.html deleted file mode 100644 index b13666af6920..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxc.pexcel package - - - - -

    Provides the tools for doing the conversion of StarWriter XML to -and from Pocket Excel format.

    - -

    It follows the {@link org.openoffice.xmerge} framework for the conversion process.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BIFFRecord.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BIFFRecord.java deleted file mode 100644 index e55778c8e04f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BIFFRecord.java +++ /dev/null @@ -1,62 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - - public interface BIFFRecord { - - /** - * Get the type of the record. In the BIFF file format each record has a type - * designated with a byte value. See @link PocketExcelBiffConstants - * for a list of the BIFF constants and what they mean. - * - * @return byte The BIFF record value. - */ - public short getBiffType(); - - /** - * Read from the input stream NBThe input stream is assumed to be in - * Little Endian format. The Biff identifier is expected to be in the stream. - * - * @param input The InputStream to read from. - * @return The number of bytes that were read in. - */ - public int read(InputStream input) throws IOException; - - /** - * Writes the record, including the BIFF record byte to the outputstream - * @param output The output stream to write to in LittleEndian format. - */ - public void write(OutputStream output) throws IOException; - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BeginningOfFile.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BeginningOfFile.java deleted file mode 100644 index fadaea5e30d7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BeginningOfFile.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.InputStream; -import java.io.OutputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * This class describes the beginning of file. It is the - * the Biff record that marks the beginning of a a worbook - * or the beginning of worksheets in the workbook - * - */ -public class BeginningOfFile implements BIFFRecord { - - private byte[] version = new byte[2]; - private byte[] subStream = new byte[2]; - - /** - * Constructor that initializes the member values. - * - * @param ver Version Number - * Substream type (workbook = 0x05, worksheet = 0x10) - */ - public BeginningOfFile(boolean global) { - setVersion((short) 271); - if(global) - setSubStreamWBGlobal(); - else - setSubStreamWorkSheet(); - // this.subStream = EndianConverter.writeShort(dt); - } - - public BeginningOfFile(InputStream is) throws IOException { - read(is); - } - - private void setVersion(short version) { - this.version = EndianConverter.writeShort(version); - } - - int getVersion() { - return EndianConverter.readShort(version); - } - - private void setSubStreamWBGlobal() { - // subStream = new byte[] {0x05}; - subStream = EndianConverter.writeShort((short) 0x05); - } - - private void setSubStreamWorkSheet() { - // subStream = new byte[] {0x10}; - subStream = EndianConverter.writeShort((short) 0x10); - } - - int getSubStreamType() { - return EndianConverter.readShort(subStream); - } - - public int read(InputStream input) throws IOException { - int numBytesRead = input.read(version); - numBytesRead += input.read(subStream); - Debug.log(Debug.TRACE,"\tVersion : "+ EndianConverter.readShort(version) + - " Stream : " + EndianConverter.readShort(subStream)); - - return numBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(version); - output.write(subStream); - - Debug.log(Debug.TRACE, "Writing BeginningOfFile record"); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BeginningOfFile - */ - public short getBiffType() { - return PocketExcelConstants.BOF_RECORD; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BlankCell.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BlankCell.java deleted file mode 100644 index 5844f4a6b57b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BlankCell.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record that describes a blank cell - */ -public class BlankCell extends CellValue { - - /** - * Constructs a BlankCell InputStream - * - * @param is InputStream containing a BlankCell. - */ - public BlankCell(InputStream is) throws IOException { - read(is); - } - - /** - * Constructs a BlankCell using specified attributes - * - * @param row row number - * @param col column number - * @param cellContents contents of the cell - * @param ixfe font index - */ - public BlankCell(int row, int column, int ixfe) throws IOException { - - setRow(row); - setCol(column); - setIxfe(ixfe); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BlankCell - */ - public short getBiffType() { - return PocketExcelConstants.BLANK_CELL; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(rw); - output.write(col); - output.write(ixfe); - - Debug.log(Debug.TRACE, "Writing BlankCell record"); - - } - - /** - * Reads a BlankCell InputStream - * - * @param is InputStream containing a BlankCell. - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(rw); - numOfBytesRead++; - col += input.read(); - numOfBytesRead += input.read(ixfe); - - Debug.log(Debug.TRACE, "\tRow : "+ EndianConverter.readShort(rw) + - " Column : " + col + - " ixfe : " + EndianConverter.readShort(ixfe)); - - return numOfBytesRead; - } - - /** - * Gets the String representing the cells contents - * - * @return the String representing the cells contents - */ - public String getString() throws IOException { - - return (new String("")); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoolErrCell.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoolErrCell.java deleted file mode 100644 index b9226885be2d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoolErrCell.java +++ /dev/null @@ -1,127 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record that describes a Boolean or Error value - */ -public class BoolErrCell extends CellValue { - - private byte bBoolErr; - private byte fError; - - /** - * Constructs a BoolErrCell from arguments - * - * @param row row number - * @param col column number - * @param ixfe font index - * @param bBoolErr Boolean value or error value - * @param fError Boolean error flag - */ - public BoolErrCell(int row, int column, int ixfe, int bBoolErr, int fError) throws IOException { - - setIxfe(ixfe); - this.bBoolErr = (byte)bBoolErr; - this.fError = (byte)fError; - setRow(row); - setCol(column); - } - - /** - * Constructs a BoolErrCell from the InputStream - * - * @param is InputStream containing a BoolErrCell - */ - public BoolErrCell(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BoolErrCEll - */ - public short getBiffType() { - return PocketExcelConstants.BOOLERR_CELL; - } - - /** - * Writes a BoolErrCell to the specified Outputstream - * - * @param os the OutputStream to write to - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - - super.write(output); - - output.write(bBoolErr); - output.write(fError); - - Debug.log(Debug.TRACE,"Writing BoolErrCell record"); - } - - /** - * Reads a BoolErrCell from the InputStream - * - * @param is InputStream containing a BoolErrCell - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = super.read(input); - - bBoolErr = (byte) input.read(); - fError = (byte) input.read(); - numOfBytesRead += 2; - - Debug.log(Debug.TRACE, " bBoolErr : " + bBoolErr + - " fError : " + fError); - return numOfBytesRead; - } - - /** - * Gets the String representing the cells contents - * - * @return the String representing the cells contents - */ - public String getString() throws IOException { - return ("Error Cell"); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoundSheet.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoundSheet.java deleted file mode 100644 index 743853013ac6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/BoundSheet.java +++ /dev/null @@ -1,137 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.io.OutputStream; -import java.io.InputStream; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BoundSheet Record which describes the name of a worksheet - */ -public class BoundSheet implements BIFFRecord { - - private byte reserved; - private byte cch; - private byte[] sheetName; - - /** - * Constructs a pocket Excel Document assigns it the document name passed in - * - * @param name name of the worksheet represented - */ - public BoundSheet(String name) throws IOException { - setSheetName(name); - reserved = 0; - } - - /** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public BoundSheet(InputStream is) throws IOException { - read(is); - } - - /** - * Sets the worksheet name. The sheetname length must be doubled as the - * String is stored in unicode format. - * - * @param sheetname worksheet name - */ - void setSheetName(String sheetName) throws IOException { - this.cch = (byte) sheetName.length(); - this.sheetName = new byte[cch*2]; - this.sheetName = sheetName.getBytes("UTF-16LE"); - } - - public String getSheetName() { - String name; - - try { - name = new String(sheetName, "UTF-16LE"); - } catch (UnsupportedEncodingException e){ - name = "unknown"; - } - return name; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BoundSheet - */ - public short getBiffType() { - return PocketExcelConstants.BOUND_SHEET; - } - - /** - * Write this particular BIFFRecord to the OutputStream - * - * @param ouput the OutputStream - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(reserved); - output.write(cch); - output.write(sheetName); - - Debug.log(Debug.TRACE,"Writing BoundSheet record"); - } - - /** - * Reads a BoundSheet from the InputStream The byte array - * must be twice the size of the String as it uses unicode. - * - * @param is InputStream containing the record data - */ - public int read(InputStream input) throws IOException { - - reserved = (byte) input.read(); - cch = (byte) input.read(); - int numOfBytesRead = 2; - int strLen = cch*2; - sheetName = new byte[strLen]; - numOfBytesRead += input.read(sheetName, 0, strLen); - - Debug.log(Debug.TRACE,"\tReserved : "+ reserved + - " cch : " + cch + - " sheetName : " + new String(sheetName,"UTF-16LE")); - - return numOfBytesRead; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CellValue.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CellValue.java deleted file mode 100644 index 3c4d875a923a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CellValue.java +++ /dev/null @@ -1,138 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -public abstract class CellValue implements BIFFRecord { - - protected byte[] rw = new byte[2]; - protected byte col; - protected byte[] ixfe = new byte[2]; - - /** - * Get the row number of this cell - * - * @return the row number of this cell - */ - public int getRow() { - return EndianConverter.readShort(rw) + 1; - } - - /** - * Set the row number of this cell - * - * @param row sets the row number for this cell - */ - public void setRow(int row) { - this.rw = EndianConverter.writeShort((short) (row - 1)); - } - /** - * Get the Index to the ExtendedFormat - * - * @return the index number of this cell's ExtendedFormat - */ - public int getIxfe() { - return EndianConverter.readShort(ixfe); - } - - /** - * Sets the Index to the ExtendedFormat - * - * @param ixfe sets the index number for this cell's ExtendedFormat - */ - public void setIxfe(int ixfe) { - this.ixfe = EndianConverter.writeShort((short) (ixfe)); - } - - /** - * Get the column number of this cell - * - * @return the column number of this cell - */ - public int getCol() { - return col + 1; // The cols start at 1 - } - - /** - * Set the row number of this cell - * - * @param col sets the row number for this cell - */ - public void setCol(int col) { - this.col = (byte) (col - 1); // The cols start at 1 - } - - /** - * Writes basic cell value attributes to the specified Outputstream - * - * @param os the OutputStream to write to - */ - public void write(OutputStream output) throws IOException { - - output.write(rw); - output.write(col); - output.write(ixfe); - } - - /** - * Writes aLabelCell to the specified Outputstream - * - * @param os the OutputStream to write to - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(rw); - col += input.read(); - numOfBytesRead++; - numOfBytesRead += input.read(ixfe); - - Debug.log(Debug.TRACE, "\tRow : "+ EndianConverter.readShort(rw) + - " Column : " + col + - " ixfe : " + EndianConverter.readShort(ixfe)); - - return numOfBytesRead; - } - - - /** - * Returns the contents of the cell as a String - * - * @return the contents of the cell - */ - abstract public String getString() throws IOException; - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CodePage.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CodePage.java deleted file mode 100644 index 34c2dccdfb10..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/CodePage.java +++ /dev/null @@ -1,108 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents the codepage for the document. There is a number of unknown - * fields which are hardcoded at construction - */ -public class CodePage implements BIFFRecord { - - private byte[] codepage = new byte[2]; - private byte[] unknown1 = new byte[2]; - private byte[] unknown2 = new byte[2]; - private byte unknown3; - - /** - * Constructs a pocket Excel Codepage - */ - public CodePage() { - codepage = new byte[] {(byte)0xE4, (byte)0x04}; - unknown1 = new byte[] {(byte)0x8C, (byte)0x01}; - unknown2 = new byte[] {(byte)0x00, (byte)0x01}; - unknown3 = 0x00; - } - - /** - * Constructs a pocket Excel Codepage from theInputStream - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public CodePage(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BoundSheet - */ - public short getBiffType() { - return PocketExcelConstants.CODEPAGE; - } - - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(codepage); - numOfBytesRead += input.read(unknown1); - numOfBytesRead += input.read(unknown2); - // numOfBytesRead += input.read(unknown3); - unknown3 = (byte) input.read(); - numOfBytesRead++; - - Debug.log(Debug.TRACE,"\tcodepage : "+ EndianConverter.readShort(codepage) + - " unknown1 : " + EndianConverter.readShort(unknown1) + - " unknown2 : " + EndianConverter.readShort(unknown2) + - " unknown3 : " + unknown3); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(codepage); - output.write(unknown1); - output.write(unknown2); - output.write(unknown3); - - Debug.log(Debug.TRACE,"Writing CodePage record"); - - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ColInfo.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ColInfo.java deleted file mode 100644 index fc2e9c5f7fbb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ColInfo.java +++ /dev/null @@ -1,158 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.IOException; -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.OutputStream; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * ColInfo describes the formatting for a column - * - */ -public class ColInfo implements BIFFRecord { - - private byte[] colFirst = new byte[2]; // first column this formatting applies to - private byte[] colLast = new byte[2]; // last column this formatting applies to - private byte[] colDX = new byte[2]; // column width - private byte[] ixfe = new byte[2]; // index for formatting - private byte grbit; // options flags - private float scale = (float) 2.5; // 1.798; - - /** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param colFirst the first column this formatting applies to - * @param colLast last column this formatting applies to - * @param coldx column width - * @param grbit options flags - */ - public ColInfo(int colFirst, int colLast, int colDX, int ixfe) { - this.colFirst = EndianConverter.writeShort((short)colFirst); - this.colLast = EndianConverter.writeShort((short)colLast); - colDX *= scale; - this.colDX = EndianConverter.writeShort((short)colDX); - this.ixfe = EndianConverter.writeShort((short)ixfe); - this.grbit = 0x00; - } - - /** - * Construct a ColInfo from the InputStream - * - * @param is the Inputstream to read from - */ - public ColInfo(InputStream is) throws IOException { - read(is); - } - - /** - * Reads ColInfo record from the InputStream - * - * @param input the InputStream to read from - * @return the number of bytes read - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(colFirst); - numOfBytesRead += input.read(colLast); - numOfBytesRead += input.read(colDX); - short scaledDX = (short) (EndianConverter.readShort(colDX) / scale); - colDX = EndianConverter.writeShort(scaledDX); - numOfBytesRead += input.read(ixfe); - grbit = (byte) input.read(); - numOfBytesRead ++; - - Debug.log(Debug.TRACE,"\tcolFirst : "+ EndianConverter.readShort(colFirst) + - " colLast : " + EndianConverter.readShort(colLast) + - " colDX : " + EndianConverter.readShort(colDX) + - " ixfe : " + EndianConverter.readShort(ixfe) + - " grbit : " + grbit); - - return numOfBytesRead; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for ColInfo - */ - public short getBiffType() { - return PocketExcelConstants.COLINFO; - } - /** - * Get the width of this column - * - * @return the width of this column - */ - public short getColWidth() { - return EndianConverter.readShort(colDX); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for ColInfo - */ - public short getFirst() { - return EndianConverter.readShort(colFirst); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for ColInfo - */ - public short getLast() { - return EndianConverter.readShort(colLast); - } - - /** - * Writes a ColInfo to the specified Outputstream - * - * @param os the OutputStream to write to - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(colFirst); - output.write(colLast); - output.write(colDX); - output.write(ixfe); - output.write(grbit); - - Debug.log(Debug.TRACE,"Writing ColInfo record"); - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefColWidth.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefColWidth.java deleted file mode 100644 index 35650f0278f3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefColWidth.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF record defiuning the defualt column width - */ -public class DefColWidth implements BIFFRecord { - - private byte[] grbit = new byte[2]; - private byte[] coldx = new byte[2]; - private byte[] ixfe = new byte[2]; - -/** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public DefColWidth() { - grbit = new byte[] {0x00, 0x00}; - coldx = new byte[] {0x00, 0x09}; - ixfe = new byte[] {0x00, 0x00}; - } - - public DefColWidth(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for DefColWidth - */ - public short getBiffType() { - return PocketExcelConstants.DEF_COL_WIDTH; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(grbit); - output.write(coldx); - output.write(ixfe); - - Debug.log(Debug.TRACE, "Writing DefColWidth record"); - } - - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(grbit); - numOfBytesRead += input.read(coldx); - numOfBytesRead += input.read(ixfe); - - Debug.log(Debug.TRACE,"\tgrbit : "+ EndianConverter.readShort(grbit) + - " coldx : " + EndianConverter.readShort(coldx) + - " ixfe : " + EndianConverter.readShort(ixfe)); - return 0; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefRowHeight.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefRowHeight.java deleted file mode 100644 index 7e933d9b8978..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefRowHeight.java +++ /dev/null @@ -1,97 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF record defiuning the default row height - */ -public class DefRowHeight implements BIFFRecord { - - private byte[] unknown1 = new byte[2]; - private byte[] unknown2 = new byte[2]; - - /** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public DefRowHeight() { - unknown1 = new byte[] {(byte)0x00, (byte)0x00}; - unknown2 = new byte[] {(byte)0xFF, (byte)0x00}; - } - - /** - * Constructs a DefRowHeight from the InputStream - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public DefRowHeight(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for DefRowHeight - */ - public short getBiffType() { - return PocketExcelConstants.DEFAULT_ROW_HEIGHT; - } - - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(unknown1); - numOfBytesRead += input.read(unknown2); - - Debug.log(Debug.TRACE,"\tunknown1 : "+ EndianConverter.readShort(unknown1) + - " unknown2 : " + EndianConverter.readShort(unknown2)); - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(unknown1); - output.write(unknown2); - - Debug.log(Debug.TRACE,"Writing DefRowHeight record"); - - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java deleted file mode 100644 index 38d47b8adbc5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java +++ /dev/null @@ -1,227 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula.FormulaHelper; -import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record representing a defined name in the workbook - */ -public class DefinedName implements BIFFRecord { - - private byte[] grbit = new byte[2]; - private byte cch; - private byte[] cce = new byte[2]; - private byte[] ixals = new byte[2]; - private byte[] rgch; - private byte[] rgce; - private FormulaHelper fh = new FormulaHelper(); - private String definition = new String(""); - private Workbook wb; - - /** - * Constructs a Defined Name from the InputStream - * - * @param is InputStream containing the record data - */ - public DefinedName(NameDefinition nd, Workbook wb) throws IOException { - - fh.setWorkbook(wb); - this.wb = wb; - String name = nd.getName(); - - // we have to insert an = to stop the formulaParser throwing an exception - definition = "=" + nd.getDefinition(); - - cch = (byte)name.length(); - rgch = new byte[cch*2]; - rgch = name.getBytes("UTF-16LE"); - grbit = EndianConverter.writeShort((short)0); - ixals[0] = (byte)0xFF;ixals[1] = (byte)0xFF; - } - /** - * Constructs a Defined Name from the InputStream - * - * @param is InputStream containing the record data - */ - public DefinedName(InputStream is, Workbook wb) throws IOException { - - read(is); - fh.setWorkbook(wb); - this.wb = wb; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for DefinedName - */ - public short getBiffType() { - return PocketExcelConstants.DEFINED_NAME; - } - - /** - * Reads a Defined Name from the InputStream The byte array - * must be twice the size of the String as it uses unicode. - * - * @param is InputStream containing the record data - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(grbit); - cch = (byte) input.read(); - numOfBytesRead++; - numOfBytesRead += input.read(cce); - numOfBytesRead += input.read(ixals); - - rgch = new byte[cch*2]; - input.read(rgch, 0, cch*2); - - rgce = new byte[EndianConverter.readShort(cce)]; - input.read(rgce, 0, EndianConverter.readShort(cce)); - - - - Debug.log(Debug.TRACE, "\tgrbit : "+ EndianConverter.readShort(grbit) + - " cch : " + cch + - " cce : " + EndianConverter.readShort(cce) + - " ixals : " + EndianConverter.readShort(ixals) + - "\n\trgch : " + rgch + - " rgce : " + rgce); - - return numOfBytesRead; - } - - /** - * Write this particular BIFFRecord to the OutputStream - * - * @param ouput the OutputStream - */ - public void write(OutputStream output) throws IOException { - - try { - Debug.log(Debug.TRACE,"Writing out " + definition); - rgce = fh.convertCalcToPXL(definition); - cce = EndianConverter.writeShort((short) rgce.length); - } catch(Exception e) { - Debug.log(Debug.TRACE,"Error in Parsing Name Definition"); - cce = EndianConverter.writeShort((short) 0); - } - - - output.write(getBiffType()); - output.write(grbit); - output.write(cch); - output.write(cce); - output.write(ixals); - output.write(rgch); - if(rgce.length!=0) - output.write(rgce); - - Debug.log(Debug.TRACE,"Writing DefinedName record"); - } - - /** - * Returns definition name. This is public because the - * TokenDecoder has to substitue the Name token with this - * String when writing out to sxc - * - * @return the String containing the name - */ - public String getName() { - String name; - - try { - name = new String(rgch, "UTF-16LE"); - } catch (UnsupportedEncodingException e){ - name = "unknown"; - } - return name; - } - - /** - * Returns a definition table which can be used by the pocket excel - * decoder to build a complete definitions table for writing to the sxc - * document - */ - public NameDefinition getNameDefinition() { - - String baseCellAddress; - getDefinition(); // This must be called first so we know the type - - baseCellAddress = "$" + wb.getSheetName(0) + ".A1"; - - NameDefinition nd = new NameDefinition(getName(),definition, baseCellAddress, isRangeType(), isExpressionType()); - return nd; - } - - /** - * Returns the definition - * - * @return the String containing the definition - */ - private String getDefinition() { - // pexcel sometimes creates Name definition with no defintion, bug?? - if(EndianConverter.readShort(cce)!=0) { - definition = fh.convertPXLToCalc(rgce); - definition = definition.substring(1); // remove the '=' - definition = definition.replace(',', ';'); - } - return definition; - } - - /** - * Returns the defintion - * - * @return the String containing the definition - */ - private boolean isRangeType() { - - return fh.isRangeType(); - } - /** - * Returns the defintion - * - * @return the String containing the definition - */ - private boolean isExpressionType() { - - return fh.isExpressionType(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Eof.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Eof.java deleted file mode 100644 index fbb216caad08..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Eof.java +++ /dev/null @@ -1,72 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record used to mark the end of a section of file - */ -public class Eof implements BIFFRecord { - - /** - * Constructor - */ - public Eof() { - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for BeginningOfFile - */ - public short getBiffType() { - return PocketExcelConstants.EOF_MARKER; - } - - public int read(InputStream input) throws IOException { - return 0; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - - Debug.log(Debug.TRACE,"Writing Eof record"); - - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ExtendedFormat.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ExtendedFormat.java deleted file mode 100644 index dc4780de9efe..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/ExtendedFormat.java +++ /dev/null @@ -1,385 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.awt.Color; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.util.ColourConverter; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record descibing extended formatting information - * - */ -public class ExtendedFormat implements BIFFRecord, -org.openoffice.xmerge.converter.xml.OfficeConstants { - - private byte[] ixfnt = new byte[2]; // Index to Font Record - private byte[] ixnf = new byte[2]; - private byte[] fattributes = new byte[4]; - private byte[] fBaseAttr = new byte[2]; // base attribute flags - private byte[] fTextAttr = new byte[2]; // text attribute flags - private byte[] icvFore = new byte[2]; // Background colour of the cell - private byte[] icvFill = new byte[2]; - private byte bRight; // Right border Style - private byte bTop; // Top border style - private byte bLeft; // Left border style - private byte bBottom; // Bottom border style - private byte backstyle; - private byte borderstyle; - - public static final int TOP_BORDER = 0x01; - public static final int LEFT_BORDER = 0x02; - public static final int BOTTOM_BORDER = 0x04; - public static final int RIGHT_BORDER = 0x08; - - // Horizontal Alignment Styles - public static final int NORMAL_ALIGN = 0x00; - public static final int LEFT_ALIGN = 0x01; - public static final int CENTER_ALIGN = 0x02; - public static final int RIGHT_ALIGN = 0x03; - - // Vertical Alignment Styles - public static final int TOP_ALIGN = 0x10; - public static final int MIDDLE_ALIGN = 0x20; - public static final int BOTTOM_ALIGN = 0x30; - - public static final int WORD_WRAP = 0x08; - - /** - * Constructs an ExtendedFormat from the - * InputStream - * - * @param is InputStream to read from - */ - public ExtendedFormat(InputStream is) throws IOException { - read(is); - } - - /** - * Constructs a pocket Excel Document using defualt values and sets the - * font index using the specified attribute - * - * @param ixfnt index of the font this format should use - */ - public ExtendedFormat(int ixfnt, Format fmt) { - - this.ixfnt = EndianConverter.writeShort((short)ixfnt); - String category = fmt.getCategory(); - if(category.equalsIgnoreCase(CELLTYPE_CURRENCY)) { - this.ixnf = EndianConverter.writeShort((short) 0); - } else if(category.equalsIgnoreCase(CELLTYPE_DATE)) { - this.ixnf = EndianConverter.writeShort((short) 0x12); - } else if(category.equalsIgnoreCase(CELLTYPE_TIME)) { - this.ixnf = EndianConverter.writeShort((short) 0x1E); - } else { - this.ixnf = EndianConverter.writeShort((short) 0); - } - this.fattributes = new byte[] {(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF}; - this.fBaseAttr = new byte[] {(byte)0x02,(byte)0x00}; - - this.fTextAttr = new byte[] {(byte)0x00, (byte)0x00}; - - int align = fmt.getAlign(); - - // Horizontal alignment - if(align==Format.CENTER_ALIGN) { - fTextAttr[0] |= CENTER_ALIGN; - } else if(align==Format.LEFT_ALIGN) { - fTextAttr[0] |= LEFT_ALIGN; - } else if(align==Format.RIGHT_ALIGN) { - fTextAttr[0] |= RIGHT_ALIGN; - } else { - fTextAttr[0] |= NORMAL_ALIGN; - } - - int vertAlign = fmt.getVertAlign(); - - // Vertical alignment - if(vertAlign==Format.TOP_ALIGN) { - fTextAttr[0] |= TOP_ALIGN; - } else if(vertAlign==Format.BOTTOM_ALIGN) { - fTextAttr[0] |= BOTTOM_ALIGN; - } else if(vertAlign==Format.MIDDLE_ALIGN) { - fTextAttr[0] |= MIDDLE_ALIGN; - } else { - fTextAttr[0] |= BOTTOM_ALIGN; - } - - if(fmt.getAttribute(Format.WORD_WRAP)) { - fTextAttr[0] |= WORD_WRAP; - } - - if(fmt.getAttribute(Format.LEFT_BORDER)) { - fTextAttr[1] |= LEFT_BORDER; - } - if(fmt.getAttribute(Format.RIGHT_BORDER)) { - fTextAttr[1] |= RIGHT_BORDER; - } - if(fmt.getAttribute(Format.TOP_BORDER)) { - fTextAttr[1] |= TOP_BORDER; - } - if(fmt.getAttribute(Format.BOTTOM_BORDER)) { - fTextAttr[1] |= BOTTOM_BORDER; - } - - Color background = fmt.getBackground(); - if( background != null ) { - ColourConverter cc = new ColourConverter(PocketExcelConstants.cLookup); - icvFill = EndianConverter.writeShort(cc.convertFromRGB(background)); - } else { - icvFill = new byte[] {(byte)0xFF,(byte)0x00}; - } - - icvFore = new byte[] {(byte)0xFF,(byte)0x00}; - - bRight = (byte) 0xFF; - bTop = (byte) 0xFF; - bLeft = (byte) 0xFF; - bBottom = (byte) 0xFF; - backstyle = (byte) 0x00; - borderstyle = (byte) 0x00; - - } - - /** - * Get the font index this format uses - * - * @return the font index - */ - public int getFontIndex() { - return EndianConverter.readShort(ixfnt); - } - - /** - * Get the font index this format uses - * - * @return the font index - */ - public int getFormatIndex() { - return EndianConverter.readShort(ixnf); - } - - /** - * Get the font index this format uses - * - * @return the font index - */ - public int getTextAttr() { - return EndianConverter.readShort(fTextAttr); - } - - /** - * Get the background color this format uses - * - * @return the background color - */ - public Color getBackground() { - short rgb = EndianConverter.readShort(icvFill); - Color c = null; - if(rgb!=0xFF) { - ColourConverter cc = new ColourConverter(PocketExcelConstants.cLookup); - c = cc.convertToRGB(rgb); - } - return c; - } - - /** - * Get the Vertical alignment for this Format - * - * @return the alignment - */ - public int getVertAlign() { - - int mask = MIDDLE_ALIGN | BOTTOM_ALIGN | TOP_ALIGN; - int masked = fTextAttr[0] & mask; - - if(masked == MIDDLE_ALIGN) - return Format.MIDDLE_ALIGN; - - if(masked == BOTTOM_ALIGN) - return Format.BOTTOM_ALIGN; - - if(masked == TOP_ALIGN) - return Format.TOP_ALIGN; - - return Format.BOTTOM_ALIGN; - } - - /** - * Get the alignment for this Format - * - * @return the alignment - */ - public int getAlign() { - - int mask = LEFT_ALIGN | CENTER_ALIGN | RIGHT_ALIGN; - int masked = fTextAttr[0] & mask; - - if(masked == MIDDLE_ALIGN) - return Format.LEFT_ALIGN; - - if(masked == CENTER_ALIGN) - return Format.CENTER_ALIGN; - - if(masked == RIGHT_ALIGN) - return Format.RIGHT_ALIGN; - - return Format.LEFT_ALIGN; - } - - /** - * Is the word wrap set - * - * @return true if it is selected - */ - public boolean isWordWrap() { - return (!((fTextAttr[0] & WORD_WRAP) == 0)); - } - /** - * Get the border style - * - * @param side the side to test - * @return true if it is selected - */ - public boolean isBorder(int side) { - return (!((fTextAttr[1] & side) == 0)); - } - - /** - * Compare two ExtendedFormat to see if the font index is the same - * - * @param the ExtendedFormat to be used in the comaprison - * @return boolean if the two are the same otherwise false - */ - public boolean compareTo(ExtendedFormat rhs) { - - if(EndianConverter.readShort(icvFill) != - EndianConverter.readShort(rhs.icvFill)) - return false; - - if(this.getTextAttr() != rhs.getTextAttr()) - return false; - - if(this.getVertAlign() != rhs.getVertAlign()) - return false; - - if(this.getAlign() != rhs.getAlign()) - return false; - - if (this.getFontIndex() != rhs.getFontIndex()) - return false; - - if (this.getFormatIndex() != rhs.getFormatIndex()) - return false; - - return true; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for ExtendedFormat - */ - public short getBiffType() { - return PocketExcelConstants.EXTENDED_FORMAT; - } - - /** - * Reads the extended format from the Inputstream - * - * @param input the Inputstreamto read - * @return toal number of bytes read - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(ixfnt); - numOfBytesRead += input.read(ixnf); - numOfBytesRead += input.read(fattributes); - numOfBytesRead += input.read(fBaseAttr); - numOfBytesRead += input.read(fTextAttr); - numOfBytesRead += input.read(icvFore); - numOfBytesRead += input.read(icvFill); - bRight = (byte) input.read(); - bTop = (byte) input.read(); - bLeft = (byte) input.read(); - bBottom = (byte) input.read(); - backstyle = (byte) input.read(); - borderstyle = (byte) input.read(); - numOfBytesRead += 6; - - Debug.log(Debug.TRACE,"\tixfnt : "+ EndianConverter.readShort(ixfnt) + - " ixnf : " + EndianConverter.readShort(ixnf) + - " fattributes : " + EndianConverter.readInt(fattributes) + - " fBaseAttr : " + EndianConverter.readShort(fBaseAttr) + - "\n\tfTextAttr : " + EndianConverter.readShort(fTextAttr) + - " icvFore : " + EndianConverter.readShort(icvFore) + - " icvFill : " + EndianConverter.readShort(icvFill) + - " bRight : " + bRight + - "\n\tbTop : " + bTop + - " bLeft : " + bLeft + - " bBottom : " + bBottom + - " backstyle : " + backstyle + - " borderstyle : " + borderstyle); - return numOfBytesRead; - } - - /** - * Writes the ExtendedFormat to the Outputstream - * - * @param output the Outputstreamto write to - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(ixfnt); - output.write(ixnf); - output.write(fattributes); - output.write(fBaseAttr); - output.write(fTextAttr); - output.write(icvFore); - output.write(icvFill); - output.write(bRight); - output.write(bTop); - output.write(bLeft); - output.write(bBottom); - output.write(backstyle); - output.write(borderstyle); - - Debug.log(Debug.TRACE,"Writing ExtendedFormat record"); - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FloatNumber.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FloatNumber.java deleted file mode 100644 index 9399b22fc6ad..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FloatNumber.java +++ /dev/null @@ -1,121 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - -/** - * Represents a BIFF Record describing a floating point - */ -public class FloatNumber extends CellValue { - - protected byte[] num = new byte[8]; - - /** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public FloatNumber(InputStream is) throws IOException { - read(is); - } - - /** - * Constructs a FloatNumber using specified attributes - * - * @param row row number - * @param col column number - * @param cellContents contents of the cell - * @param ixfe font index - */ - public FloatNumber(int row, int column, String cellContents, int ixfe) throws IOException { - - setIxfe(ixfe); - setRow(row); - setCol(column); - double cellLong = (double) Double.parseDouble(cellContents); - num = EndianConverter.writeDouble(cellLong); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for FloatNumber - */ - public short getBiffType() { - return PocketExcelConstants.NUMBER_CELL; - } - - /** - * Reads aFloatNumber from the specified InputStream - * - * @param input the InputStram to read from - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = super.read(input); - - numOfBytesRead += input.read(num); - - Debug.log(Debug.TRACE," num : " + getString()); - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - - super.write(output); - - output.write(num); - - Debug.log(Debug.TRACE,"Writing FloatNumber record"); - } - - - /** - * Gets the numerical value the cell represents - * - * @return the String representing a double value - */ - public String getString() throws IOException { - - double value = EndianConverter.readDouble(num); - Double myDo = new Double(value); - return myDo.toString(); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FontDescription.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FontDescription.java deleted file mode 100644 index 559853206593..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/FontDescription.java +++ /dev/null @@ -1,287 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.awt.Color; - -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.util.ColourConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF Record descibing a font used - */ -public class FontDescription implements BIFFRecord { - - private byte[] dwHeight = new byte[2]; - private byte[] grbit = new byte[2]; - private byte[] icvFore = new byte[2]; - private byte[] bls = new byte[2]; - private byte[] Reserved2 = new byte[2]; - private byte uls; - private byte bFamily; - private byte bCharSet; - private byte Reserved3; - private byte cch; - private byte[] rgch; - - public static final int UNDERLINE = 0x01; - public static final int ITALIC = 0x02; - - /** - * Constructs a FontDescription from the bold italic and undelrine attributes - * - * @param italic Italic attribute - * @param bold Bold attribute - * @param underline Underline attribute - */ - public FontDescription(Format fmt) throws IOException { - - Debug.log(Debug.TRACE,"Building FontDescriptor based on Format : " + fmt); - - this.dwHeight = EndianConverter.writeShort((short) (fmt.getFontSize()*20)); - - grbit = new byte[] {(byte)0x00, (byte)0x00}; - bls = EndianConverter.writeShort((short) 400); - uls = 0; - - if (fmt.getAttribute(Format.ITALIC)) - grbit[0] |= ITALIC; - - if (fmt.getAttribute(Format.BOLD)) - bls = EndianConverter.writeShort((short) 700); - - if (fmt.getAttribute(Format.UNDERLINE)) - uls |= UNDERLINE; - - - bFamily = 0; - bCharSet = 0; - - String fontName = fmt.getFontName(); - if( !fontName.equals("Tahoma") && - !fontName.equals("Courier New")) { - // We will set our default font to be Tahoma - fontName = new String("Tahoma"); - } - - cch = (byte) fontName.length(); - rgch = fontName.getBytes("UTF-16LE"); - - Color foreground = fmt.getForeground(); - if( foreground != null ) { - ColourConverter cc = new ColourConverter(PocketExcelConstants.cLookup); - icvFore = EndianConverter.writeShort(cc.convertFromRGB(foreground)); - } else { - icvFore = new byte[] {(byte)0xFF,(byte)0x00}; - } - - Reserved2 = EndianConverter.writeShort((short) 0); - Reserved3 = 0; - - } - - /** - * Tests if this font descriptor defines italic - * - * @return true if italic otherwise false - */ - public boolean isItalic() { - - return (EndianConverter.readShort(grbit) == 2); - } - - /** - * Tests if this font descriptor defines underline - * - * @return true if underline otherwise false - */ - public boolean isUnderline() { - - return (uls == 1); - } - - /** - * Tests if this font descriptor defines bold - * - * @return true if bold otherwise false - */ - public boolean isBold() { - - return (EndianConverter.readShort(bls) == 700); - } - - /** - * Get the background color this format uses - * - * @return the background color - */ - public Color getForeground() { - short rgb = EndianConverter.readShort(icvFore); - Color c = null; - if(rgb!=0xFF) { - ColourConverter cc = new ColourConverter(PocketExcelConstants.cLookup); - c = cc.convertToRGB(rgb); - } - return c; - } - - /** - * Compares current font descriptor against one passed in - * - * @return true if attrbitues are the same - */ - public boolean compareTo(FontDescription rhs) { - - if(EndianConverter.readShort(icvFore) != - EndianConverter.readShort(rhs.icvFore)) - return false; - - if (EndianConverter.readShort(dwHeight) != - EndianConverter.readShort(dwHeight)) - return false; - - if (this.getFont() != rhs.getFont()) - return false; - - if (this.isBold() != rhs.isBold()) - return false; - - if (this.isUnderline() != rhs.isUnderline()) - return false; - - if (this.isItalic() != rhs.isItalic()) - return false; - - return true; - } - - - /** - * Constructs a Font Description from the InputStream - * - * @param is InputStream containing a FontDescription - */ - public FontDescription(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for FontDescription - */ - public short getBiffType() { - return PocketExcelConstants.FONT_DESCRIPTION; - } - - /** - * Get the Font size - * - */ - public int getFontSize() { - return EndianConverter.readShort(dwHeight)/20; - } - - /** - * Get the font name - * - */ - public String getFont() { - - String name; - - try { - name = new String(rgch, "UTF-16LE"); - } catch (UnsupportedEncodingException e){ - name = "Tahoma"; - } - return name; - } - - /** - * Constructs a Font Description from the InputStream - * - * @param is InputStream containing a FontDescription - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(dwHeight); - numOfBytesRead += input.read(grbit); - numOfBytesRead += input.read(icvFore); - numOfBytesRead += input.read(bls); - numOfBytesRead += input.read(Reserved2); - uls = (byte) input.read(); - bFamily = (byte) input.read(); - bCharSet = (byte) input.read(); - Reserved3 = (byte) input.read(); - cch = (byte) input.read(); - numOfBytesRead += 5; - - rgch = new byte[cch*2]; - input.read(rgch, 0, cch*2); - - Debug.log(Debug.TRACE,"\tdwHeight : "+ EndianConverter.readShort(dwHeight) + - " grbit : " + EndianConverter.readShort(grbit) + - " bls : " + EndianConverter.readShort(bls) + - " uls : " + uls + - "\n\tFamily : " + bFamily + - " bCharSet : " + bCharSet + - " cch : " + cch + - " rgch : " + new String(rgch,"UTF-16LE")); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(dwHeight); - output.write(grbit); - output.write(icvFore); - output.write(bls); - output.write(Reserved2); - output.write(uls); - output.write(bFamily); - output.write(bCharSet); - output.write(Reserved3); - output.write(cch); - output.write(rgch); - - Debug.log(Debug.TRACE,"Writing FontDescription record"); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Formula.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Formula.java deleted file mode 100644 index 97bea77f0811..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Formula.java +++ /dev/null @@ -1,263 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.util.Vector; -import java.util.Enumeration; -import java.util.Calendar; -import java.util.Date; -import java.text.DateFormat; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula.FormulaHelper; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF Record describing a formula - */ -public class Formula extends CellValue implements OfficeConstants { - - private byte[] num = new byte[8]; - private byte grbit; - private byte[] cce = new byte[2]; - private byte[] rgce; - private FormulaHelper fh = new FormulaHelper(); - - /** - * Constructs a Formula using specified attributes - * - * @param row row number - * @param col column number - * @param cellContents contents of the cell - * @param ixfe font index - * @param value the value of the cell - */ - public Formula(int row, int column, String cellContents, int ixfe, Format fmt, Workbook wb) - throws Exception { - - fh.setWorkbook(wb); - - setRow(row); - setCol(column); - setIxfe(ixfe); - setFormula(cellContents); - - String category = fmt.getCategory(); - String value = fmt.getValue(); - - if(category.equalsIgnoreCase(CELLTYPE_BOOLEAN)) { - num[0]=(byte)0x01; - num[1]=(byte)0x00; - if(value.equalsIgnoreCase("true")) { - num[2]=(byte)0x01; - } else { - num[2]=(byte)0x00; - } - num[3]=(byte)0x00;num[4]=(byte)0x00;num[5]=(byte)0x00; - num[6]=(byte)0xFF;num[7]=(byte)0xFF; - } else if(category.equalsIgnoreCase(CELLTYPE_DATE)) { - Debug.log(Debug.TRACE,"Date Formula"); - num = EndianConverter.writeDouble(toExcelSerialDate(fmt.getValue())); - } else if(category.equalsIgnoreCase(CELLTYPE_TIME)) { - Debug.log(Debug.TRACE,"Time Formula"); - num = EndianConverter.writeDouble(toExcelSerialTime(fmt.getValue())); - } else if(category.equalsIgnoreCase(CELLTYPE_PERCENT)) { - Debug.log(Debug.TRACE,"Percent Formula"); - double percent = (double) Double.parseDouble(fmt.getValue()); - num = EndianConverter.writeDouble(percent); - } else if(category.equalsIgnoreCase(CELLTYPE_CURRENCY)) { - Debug.log(Debug.TRACE,"Currency Formula"); - } else if(category.equalsIgnoreCase(CELLTYPE_STRING)) { - Debug.log(Debug.TRACE,"String Formula"); - num[0]=(byte)0x00; - num[1]=(byte)0x00; - num[2]=(byte)0x00; - num[3]=(byte)0x00; - num[4]=(byte)0x00; - num[5]=(byte)0x00; - num[6]=(byte)0xFF; - num[7]=(byte)0xFF; - } else { - Debug.log(Debug.TRACE,"Float Formula"); - double cellLong = (double) Double.parseDouble(fmt.getValue()); - num = EndianConverter.writeDouble(cellLong); - } - } - - /** - * Translates a String written in infix which represents a - * formula into a byte[] what can be written to pocket excel file. - * - * @param formula string - */ - public void setFormula(String inFormula) throws Exception { - - rgce = fh.convertCalcToPXL(inFormula); - cce = EndianConverter.writeShort((short) rgce.length); - } - - /** - * Constructs a pocket Excel formula from the - * InputStream - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public Formula(InputStream is, Workbook wb) throws IOException { - read(is); - fh.setWorkbook(wb); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Formula - */ - public short getBiffType() { - return PocketExcelConstants.FORMULA_CELL; - } - - /** - * Reads the formula data members from the stream. Byte arrays for Strings - * are doubled as they are stored as unicode - * - * @return total number of bytes read - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = super.read(input); - - numOfBytesRead += input.read(num); - grbit = (byte) input.read(); - numOfBytesRead ++; - numOfBytesRead += input.read(cce); - - int strLen = EndianConverter.readShort(cce); - rgce = new byte[strLen]; - input.read(rgce, 0, strLen); - - Debug.log(Debug.TRACE, " num : " + num + - "\n\tgrbit : " + grbit + - " cce : " + EndianConverter.readShort(cce) + - " rgce : " + new String(rgce,"UTF-16LE") + - "\n" + numOfBytesRead + " Bytes Read"); - - return numOfBytesRead; - } - - /** - * Writes the Formula record to the OutputStream - * - * @param the OutputStream being written to - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - - super.write(output); - - output.write(num); - output.write(grbit); - output.write(cce); - output.write(rgce); - - Debug.log(Debug.TRACE,"Writing Formula record"); - } - - /** - * Gets the String representing the cell value - * - * @return the String representing the cell value - */ - public String getValue() throws IOException { - - double value = EndianConverter.readDouble(num); - Double myDo = new Double(value); - return myDo.toString(); - } - - /** - * Gets the String representing the cells contents - * - * @return the String representing the cells contents - */ - public String getString() throws IOException { - - return fh.convertPXLToCalc(rgce); - } - - /** - * Excel dates are the number of days since 1/1/1900. This method converts - * to this date. - * - * @param s String representing a date in the form YYYY-MM-DD - * @return The excel serial date - */ - public long toExcelSerialDate(String s) throws IOException { - - int year = Integer.parseInt(s.substring(0,4)); - int month = Integer.parseInt(s.substring(5,7)); - int day = Integer.parseInt(s.substring(8,10)); - - long serialDate = (1461 * (year + 4800 + (month - 14) / 12)) / 4 + - (367 * (month - 2 - 12 * ((month - 14) / 12))) / 12 - - (3 * ((year + 4900 + (month - 14) / 12)) / 100) / 4 + - day - 2415019 - 32075; - - return serialDate; - } - - /** - * Excel times are a fraction of a 24 hour day expressed in seconds. This method converts - * to this time. - * - * @param s String representing a time in the form ??HH?MM?SS? - * @return The excel serial time - */ - public double toExcelSerialTime(String s) throws IOException { - - int hours = Integer.parseInt(s.substring(2,4)); - int mins = Integer.parseInt(s.substring(5,7)); - int secs = Integer.parseInt(s.substring(8,10)); - - int timeSecs = (hours*3600) + (mins*60) + (secs); - - double d = (double) timeSecs / (24 * 3600); - - return d; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/LabelCell.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/LabelCell.java deleted file mode 100644 index b398e1bf519c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/LabelCell.java +++ /dev/null @@ -1,140 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Reperesent a BIFF Record descibing a cell containing a string - */ -public class LabelCell extends CellValue { - - private byte[] cch = new byte[2]; - private byte[] rgch; - - /** - * Constructs a LabelCell using specified attributes - * - * @param row row number - * @param col column number - * @param cellContents contents of the cell - * @param ixfe font index - */ - public LabelCell(int row, int column, String cellContents, int ixfe) - throws IOException { - - setLabel(cellContents); - setRow(row); - setCol(column); - setIxfe(ixfe); - } - - /** - * Reads a LabelCell from the InputStream - * - * @param is the Inputstream to read from - */ - public LabelCell(InputStream is) throws IOException { - read(is); - } - - /** - * Writes a LabelCell to the specified Outputstream - * - * @param os the OutputStream to write to - */ - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - - super.write(output); - - output.write(cch); - output.write(rgch); - - Debug.log(Debug.TRACE,"Writing Label record"); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for LabelCell - */ - public short getBiffType() { - return PocketExcelConstants.LABEL_CELL; - } - - /** - * Reads aLabelCell from the specified InputStream - * - * @param input the InputStram to read from - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = super.read(input); - - numOfBytesRead += input.read(cch); - - int strLen = EndianConverter.readShort(cch)*2; - rgch = new byte[strLen]; - input.read(rgch, 0, strLen); - - Debug.log(Debug.TRACE, " cch : " + EndianConverter.readShort(cch) + - " rgch : " + new String(rgch, "UTF-16LE")); - - return numOfBytesRead; - } - - - /** - * Gets the String representing the cells contents - * - * @return the String representing the cells contents - */ - public String getString() throws IOException { - return (new String(rgch,"UTF-16LE")); - } - - /** - * Sets the String representing the cells contents - * - * @return the String representing the cells contents - */ - private void setLabel(String cellContents) throws IOException { - rgch = cellContents.getBytes("UTF-16LE"); - cch = EndianConverter.writeShort((short)cellContents.length()); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/NumberFormat.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/NumberFormat.java deleted file mode 100644 index e226ebad0203..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/NumberFormat.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF Record describing a number format - */ -public class NumberFormat implements BIFFRecord { - - private byte cce; - private byte[] rgch; - - /** - * Constructs a NumberFormat Record from the InputStream - * - * @param is InputStream containing the record data - */ - public NumberFormat(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for NumberFormat - */ - public short getBiffType() { - return PocketExcelConstants.NUMBER_FORMAT; - } - - /** - * Reads the NumberFormat from the InputStream Byte array - * containg strings are doubled in length becuse they use unicode - * - * @return the total number of bytes read - */ - public int read(InputStream input) throws IOException { - - cce = (byte) input.read(); - int numOfBytesRead = 1; - - rgch = new byte[cce*2]; - numOfBytesRead += input.read(rgch, 0, cce*2); - - Debug.log(Debug.TRACE, "\tcce : "+ cce + - " rgch : " + new String(rgch,"UTF-16LE")); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(cce); - output.write(rgch); - - Debug.log(Debug.TRACE,"Writing NumberFormat record"); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Pane.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Pane.java deleted file mode 100644 index 7af0a11e800e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Pane.java +++ /dev/null @@ -1,219 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.awt.Point; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; - -/** - * Represents a BIFF Record that describes the number and position of unfrozen - * panes. - */ -public class Pane implements BIFFRecord { - - private byte[] x = new byte[2]; - private byte[] y = new byte[2]; - private byte[] rwTop = new byte[2]; - private byte[] colLeft = new byte[2]; - private byte pnnAcct; - - /** - * Default Constructor - */ - public Pane() { - pnnAcct = (byte) 0x02; // Default setting - } - - /** - * Constructs a Pane Record from the InputStream - * - * @param is InputStream containing a Pane record - */ - public Pane(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Pane - */ - public short getBiffType() { - return PocketExcelConstants.PANE_INFO; - } - - /** - * Gets the split point for this pane, in the case of splits this will be - * in twips. - * - * @return the split point - */ - public Point getSplitPoint() { - - int xTwips = EndianConverter.readShort(x)/11; - int yTwips = EndianConverter.readShort(y)/15; - return (new Point(xTwips, yTwips)); - } - - /** - * Gets the freeze point for this pane, in the case of freezes this will - * be a zero-based index to either the column or row. - * - * @return the freeze point - */ - public Point getFreezePoint() { - - return (new Point(EndianConverter.readShort(x), - EndianConverter.readShort(y))); - } - - /** - * Sets the split point for this pane, coordinates are in column row units - * if the split type is freeze or twips if split type is split. - * - * @param splitType contains the X and Y split types (freeze or split) - * @param p the split point - */ - public void setSplitPoint(Point splitType, Point p) { - - if(splitType.getX()==SheetSettings.SPLIT - || splitType.getY()==SheetSettings.SPLIT) { - int yTwips = (int) p.getY(); - short yPxl = (short) (yTwips * 15); - y = EndianConverter.writeShort(yPxl); - int xTwips = (int) p.getX(); - short xPxl = (short) (xTwips * 11); - x = EndianConverter.writeShort(xPxl); - } else { - y = EndianConverter.writeShort((short) p.getY()); - x = EndianConverter.writeShort((short) p.getX()); - } - - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Pane - */ - public void setPaneNumber(int paneNumber) { - pnnAcct = (byte) paneNumber; - } - - /** - * Get the pane number of the active pane - * 0 - bottom right, 1 - top right - * 2 - bottom left, 3 - top left - * - * @return the hex code for Pane - */ - public int getPaneNumber() { - return pnnAcct; - } - - /** - * Set the top row visible in the lower pane - * - * @param top 0-based inex of the top row - */ - public void setTop(int top) { - rwTop = EndianConverter.writeShort((short)top); - } - - /** - * Set leftmost column visible in the right pane - * - * @param left 0-based index of the leftmost column - */ - public void setLeft(int left) { - colLeft = EndianConverter.writeShort((short)left); - } - - /** - * Get the top row visible in the lower pane - * - * @return the hex code for Pane - */ - public int getTop() { - return EndianConverter.readShort(rwTop); - } - - /** - * Get leftmost column visible in the right pane - * - * @return 0-based index of the column - */ - public int getLeft() { - return EndianConverter.readShort(colLeft); - } - - - /** - * Reads a Pane record from the InputStream - * - * @param input InputStream to read from - * @return the total number of bytes read - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(x); - numOfBytesRead += input.read(y); - numOfBytesRead += input.read(rwTop); - numOfBytesRead += input.read(colLeft); - pnnAcct = (byte) input.read(); - numOfBytesRead++; - - Debug.log(Debug.TRACE, "\tx : "+ EndianConverter.readShort(x) + - " y : " + EndianConverter.readShort(y) + - " rwTop : " + EndianConverter.readShort(rwTop) + - " colLeft : " + EndianConverter.readShort(colLeft) + - " pnnAcct : " + pnnAcct); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(x); - output.write(y); - output.write(rwTop); - output.write(colLeft); - output.write(pnnAcct); - - Debug.log(Debug.TRACE,"Writing Pane record"); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Row.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Row.java deleted file mode 100644 index 5e5ce6ce74df..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Row.java +++ /dev/null @@ -1,139 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents s BIFF Record that describes the format of a column - */ -public class Row implements BIFFRecord { - - private byte[] rw = new byte[2]; - private byte[] miyRw = new byte[2]; - private byte[] grbit = new byte[2]; - private byte[] ixfe = new byte[2]; - private float scale = (float) 1; - - /** - * Constructs a pocket Excel Document from the - * InputStream and assigns it the document name passed in - * - * @param rw Zero based row number - * @param miyRw row height - */ - public Row(int rw, int miyRw, boolean userDefined) { - this.rw = EndianConverter.writeShort((short) rw); - miyRw *= scale; - this.miyRw = EndianConverter.writeShort((short) miyRw); - if(userDefined) { - grbit = EndianConverter.writeShort((short) 2); - } else { - grbit = EndianConverter.writeShort((short) 0); - } - ixfe = EndianConverter.writeShort((short) 0); - } - - /** - * Constructs a Row fro man InputStream - * - * @param is InputStream containing a Pane Record - */ - public Row(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Row - */ - public short getBiffType() { - return PocketExcelConstants.ROW_DESCRIPTION; - } - - /** - * Get the height of this row - * - * @return the height of this row - */ - public short getRowHeight() { - return EndianConverter.readShort(miyRw); - } - - /** - * Get the rown number for this style - * - * @return the row this style applies to - */ - public short getRowNumber() { - return EndianConverter.readShort(rw); - } - - /** - * Reads a Row from an InputStream - * - * @param is InputStream containing a Pane Record - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(rw); - numOfBytesRead += input.read(miyRw); - short scaledHeight = (short) (EndianConverter.readShort(miyRw) / scale); - miyRw = EndianConverter.writeShort(scaledHeight); - numOfBytesRead += input.read(grbit); - numOfBytesRead += input.read(ixfe); - - Debug.log(Debug.TRACE,"\trw : "+ EndianConverter.readShort(rw) + - " miyRw : " + EndianConverter.readShort(miyRw) + - " grbit : " + EndianConverter.readShort(grbit) + - " ixfe : " + EndianConverter.readShort(ixfe)); - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(rw); - output.write(miyRw); - output.write(grbit); - output.write(ixfe); - - Debug.log(Debug.TRACE,"Writing Row record"); - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Selection.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Selection.java deleted file mode 100644 index dac0c2986a14..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Selection.java +++ /dev/null @@ -1,143 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.awt.Point; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF Record that describes the selected area of a worksheet - */ -public class Selection implements BIFFRecord { - - private byte[] rwTop = new byte[2]; - private byte colLeft; - private byte[] rwBottom = new byte[2]; - private byte colRight; - private byte[] rwActive = new byte[2]; - private byte colActive; - - /** - * Default Constructor - */ - public Selection() { - this.rwTop = EndianConverter.writeShort((short) 0); - this.colLeft = 0; - this.rwBottom = EndianConverter.writeShort((short) 0); - this.colRight = 0; - this.rwActive = EndianConverter.writeShort((short) 0); - this.colActive = 0; - - } - - /** - * Constructs a Selection Record from the InputStream - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public Selection(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Selection - */ - public short getBiffType() { - return PocketExcelConstants.CURRENT_SELECTION; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Selection - */ - public Point getActiveCell() { - Point p = new Point(colActive, EndianConverter.readShort(rwActive)); - return p; - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Selection - */ - public void setActiveCell(Point p) { - - colActive = (byte) p.getX(); - rwActive = EndianConverter.writeShort((short) p.getY()); - } - - /** - * Reads a Selection Record from the InputStream - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(rwTop); - colLeft += (byte) input.read(); - numOfBytesRead += input.read(rwBottom); - colRight += (byte) input.read(); - numOfBytesRead += input.read(rwActive); - colActive += (byte) input.read(); - numOfBytesRead += 3; - - Debug.log(Debug.TRACE,"\trwTop : "+ EndianConverter.readShort(rwTop) + - " colLeft : " + colLeft + - " rwBottom : " + EndianConverter.readShort(rwBottom) + - " colRight : "+ colRight + - " rwActive : " + EndianConverter.readShort(rwActive) + - " colActive : " + colActive); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(rwTop); - output.write(colLeft); - output.write(rwBottom); - output.write(colRight); - output.write(rwActive); - output.write(colActive); - - Debug.log(Debug.TRACE,"Writing Selection record"); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/StringValue.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/StringValue.java deleted file mode 100644 index 540d1d8e6ad1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/StringValue.java +++ /dev/null @@ -1,125 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF Record that describes the value of a formula that - * evaluates to a string - */ -public class StringValue implements BIFFRecord { - - private byte[] cch = new byte[2]; - private byte[] rgch; - - /** - * Constructs a StringValue Record from an InputStream - * - * @param is InputStream containing a StringValue Record - */ - public StringValue(String str) throws IOException { - cch = EndianConverter.writeShort((short) str.length()); - rgch = new byte[str.length()]; - rgch = str.getBytes("UTF-16LE"); - } - - /** - * Constructs a StringValue Record from an InputStream - * - * @param is InputStream containing a StringValue Record - */ - public StringValue(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for StringValue - */ - public short getBiffType() { - return PocketExcelConstants.FORMULA_STRING; - } - - /** - * Reads a StringVlaue Record from an InputStream - * - * @param is InputStream containing a StringValue Record - */ - public int read(InputStream input) throws IOException { - - cch[0] = (byte) input.read(); - cch[1] = (byte) input.read(); - int numOfBytesRead = 1; - - int strlen = EndianConverter.readShort(cch)*2; - rgch = new byte[strlen]; - numOfBytesRead += input.read(rgch, 0, strlen); - - Debug.log(Debug.TRACE,"\tcch : "+ cch + - " rgch : " + rgch); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(cch); - output.write(rgch); - - Debug.log(Debug.TRACE,"Writing StringValue record"); - } - - /** - * Gets the String representing the cells contents - * - * @return the String representing the cells contents - */ - public String getString() throws IOException { - String name; - - try { - name = new String(rgch, "UTF-16LE"); - } catch (UnsupportedEncodingException e){ - name = "unknown"; - } - return name; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/UnsupportedFormulaException.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/UnsupportedFormulaException.java deleted file mode 100644 index 3acfd9ec2011..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/UnsupportedFormulaException.java +++ /dev/null @@ -1,43 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.lang.Exception; - -import org.openoffice.xmerge.util.Debug; - -/** - * At the moment any functions within a formula will result in this exception - * being thrown. - */ -public class UnsupportedFormulaException extends Exception { - - public UnsupportedFormulaException(String message){ - super(message); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window1.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window1.java deleted file mode 100644 index c1c1d6ba44c0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window1.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * Represents a BIFF REcord that describes workbook window attributes - */ -public class Window1 implements BIFFRecord { - - private byte[] grbit = new byte[2]; - private byte[] itabCur = new byte[2]; // index of selected worksheet - - /** - * Constructor - */ - public Window1() { - grbit = EndianConverter.writeShort((short) 0); - itabCur = EndianConverter.writeShort((short) 0); - } - - /** - * Constructs a Window1 Record from an InputStream - * - * @param is InputStream containing a Window1 Record - */ - public Window1(InputStream is) throws IOException{ - read(is); - } - - /** - * Set the number of the active sheet - * - * @param activeSheet number of the active sheet - */ - public void setActiveSheet(int activeSheet) { - itabCur = EndianConverter.writeShort((short) activeSheet); - } - - /** - * Get the number of the active sheet - * - * @return number of the active sheet - */ - public int getActiveSheet() { - return EndianConverter.readShort(itabCur); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Window1 - */ - public short getBiffType() { - return PocketExcelConstants.WINDOW_INFO; - } - - /** - * Reads a Window1 Record from an InputStream - * - * @param is InputStream containing a Window1 Record - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(grbit); - numOfBytesRead += input.read(itabCur); - - Debug.log(Debug.TRACE,"\tgrbit : "+ EndianConverter.readShort(grbit) + - " itabCur : " + EndianConverter.readShort(itabCur)); - - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(grbit); - output.write(itabCur); - - Debug.log(Debug.TRACE,"Writing Window1 record"); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window2.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window2.java deleted file mode 100644 index 3595c1b47d37..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Window2.java +++ /dev/null @@ -1,155 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.DataInputStream; -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.awt.Point; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; - - -/** - * Represents a BIFF Record that describes worksheet window attributes - */ -public class Window2 implements BIFFRecord { - - private final static int FROZEN = 0x08; - private final static int NOSPLIT = 0x01; - - private byte[] rwTop = new byte[2]; - private byte colLeft; - private byte[] grbit = new byte[2]; - - /** - * Constructor - */ - public Window2() { - this.rwTop = EndianConverter.writeShort((short) 0); - this.colLeft = 0; - this.grbit = EndianConverter.writeShort((short) 0); - } - - /** - * Constructs a Window2 Record from an InputStream - * - * @param is InputStream containing a Window2 Record - */ - public Window2(InputStream is) throws IOException { - read(is); - } - - /** - * Get the hex code for this particular BIFFRecord - * - * @return the hex code for Window2 - */ - public short getBiffType() { - return PocketExcelConstants.SHEET_WINDOW_INFO; - } - - /** - * Sets the split type for this pane, the split type is the same for both - * x and y so we only test against one. - * - * @param splitType the split type based on types defined in - * sheetSettings - */ - public void setSplitType(Point splitType) { - if(splitType.getX()==SheetSettings.SPLIT) { - grbit[0] &= ~FROZEN; - grbit[1] &= ~NOSPLIT; - } else { - grbit[0] |= FROZEN; - grbit[1] |= NOSPLIT; - } - } - - /** - * This method tests if this object describes a freeze - * - * @return true if freeze otherwise false - */ - public boolean isFrozen() { - if((grbit[0] & FROZEN) != FROZEN) - return false; - - if((grbit[1] & NOSPLIT) != NOSPLIT) - return false; - - return true; - } - - /** - * This method tests if this object describes a split - * - * @return true if split otherwise false - */ - public boolean isSplit() { - if((grbit[0] & FROZEN) == FROZEN) - return false; - - if((grbit[1] & NOSPLIT) == NOSPLIT) - return false; - - return true; - } - - /** - * Reads a Window2 Record from an InputStream - * - * @param is InputStream containing a Window2 Record - */ - public int read(InputStream input) throws IOException { - - int numOfBytesRead = input.read(rwTop); - colLeft = (byte) input.read(); - numOfBytesRead++; - numOfBytesRead += input.read(grbit); - - Debug.log(Debug.TRACE,"\trwTop : "+ EndianConverter.readShort(rwTop) + - " colLeft : " + colLeft + - " grbit : " + EndianConverter.readShort(grbit)); - return numOfBytesRead; - } - - public void write(OutputStream output) throws IOException { - - output.write(getBiffType()); - output.write(rwTop); - output.write(colLeft); - output.write(grbit); - - Debug.log(Debug.TRACE,"Writing Window2 record"); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java deleted file mode 100644 index 70068253f7cf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java +++ /dev/null @@ -1,540 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxc.Format; -import org.openoffice.xmerge.converter.xml.sxc.NameDefinition; -import org.openoffice.xmerge.converter.xml.sxc.BookSettings; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.IntArrayList; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; -import org.openoffice.xmerge.converter.xml.sxc.ColumnRowInfo; - -/** - * This class is used by PxlDocument to maintain pexcel - * workbooks. - * - * @author Martin Maher - */ -public class Workbook implements org.openoffice.xmerge.Document, -OfficeConstants { - - private Vector fonts = new Vector(); - private Vector extendedFormats = new Vector(); - private Vector worksheets = new Vector(); - private Vector boundsheets = new Vector(); - private Vector definedNames = new Vector(); - private static final CodePage cp; - private static final Window1 win1; - private static final BeginningOfFile bof;; - private static final Eof eof; - private String fileName; - - static { - cp = new CodePage(); - win1 = new Window1(); - bof = new BeginningOfFile(true); - eof = new Eof(); - } - - - /** - * Constructs a pocket Excel Workbook with the name of the file passed in - * as an argument. Also fills out a basic header block containing the - * minimum number of objects that can be created at this time. - * - * @param name Name of the Pocket Excel Data file. (excluding the file - * extension) - */ - public Workbook(String name) throws IOException { - fileName = name + PocketExcelConstants.FILE_EXTENSION; - Format defaultFormat = new Format(); - FontDescription fd = new FontDescription(defaultFormat); - fonts.add(fd); - ExtendedFormat xf = new ExtendedFormat(0, defaultFormat); - extendedFormats.add(xf); - } - - /** - * Constructs a pocket Excel Workbook from the - * InputStream and assigns it the document name passed in - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public Workbook(String name, InputStream is) throws IOException { - read(is); - fileName = name; - } - - /** - * Writes the current workbook to the Outputstream - * - * @param os The destination outputstream - */ - public void write(OutputStream os) throws IOException { - bof.write(os); - cp.write(os); - for(Enumeration e = definedNames.elements();e.hasMoreElements();) { - DefinedName dn = (DefinedName) e.nextElement(); - dn.write(os); - } - win1.write(os); - for(Enumeration e = fonts.elements();e.hasMoreElements();) { - FontDescription fd = (FontDescription) e.nextElement(); - fd.write(os); - } - for(Enumeration e = extendedFormats.elements();e.hasMoreElements();) { - ExtendedFormat xf = (ExtendedFormat) e.nextElement(); - xf.write(os); - } - for(Enumeration e = boundsheets.elements();e.hasMoreElements();) { - BoundSheet bs = (BoundSheet) e.nextElement(); - bs.write(os); - } - eof.write(os); - - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); - ws.write(os); - } - } - - /** - * Reads a workbook from the InputStream and contructs a - * workbook object from it - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public void read(InputStream is) throws IOException { - - boolean done = false; - - int b = 0; - while (!done) - { - b = is.read(); - if (b == -1) - { - Debug.log(Debug.TRACE,"End of file reached"); - break; - } - - switch (b) - { - case PocketExcelConstants.DEFINED_NAME: - Debug.log(Debug.TRACE,"NAME: Defined Name (18h)"); - DefinedName dn = new DefinedName(is, this); - definedNames.add(dn); - break; - - case PocketExcelConstants.BOF_RECORD: - Debug.log(Debug.TRACE,"BOF Record"); - bof.read(is); - break; - - case PocketExcelConstants.EOF_MARKER: - Debug.log(Debug.TRACE,"EOF Marker"); - eof.read(is); - Worksheet ws = new Worksheet(this); - while(ws.read(is)) { - worksheets.add(ws); - ws = new Worksheet(this); - } - break; - - case PocketExcelConstants.FONT_DESCRIPTION: - Debug.log(Debug.TRACE,"FONT: Font Description (31h)"); - FontDescription fd = new FontDescription(is); - fonts.add(fd); - break; - - case PocketExcelConstants.WINDOW_INFO: - Debug.log(Debug.TRACE,"WINDOW1: Window Information (3Dh) [PXL 2.0]"); - win1.read(is); - break; - - case PocketExcelConstants.CODEPAGE: - Debug.log(Debug.TRACE,"CODEPAGE : Codepage and unknown fields (42h)"); - cp.read(is); - break; - - case PocketExcelConstants.BOUND_SHEET: - Debug.log(Debug.TRACE,"BOUNDSHEET: Sheet Information (85h)"); - BoundSheet bs = new BoundSheet(is); - boundsheets.add(bs); - break; - - case PocketExcelConstants.EXTENDED_FORMAT: - Debug.log(Debug.TRACE,"XF: Extended Format (E0h) [PXL 2.0]"); - ExtendedFormat xf = new ExtendedFormat(is); - extendedFormats.add(xf); - break; - - default: - b = is.read(); - break; - } - - } - is.close(); - } - - /** - * Adds a font recrod to the workbook - * - * @param f the font record to add - */ - public int addFont(FontDescription f) { - - boolean alreadyExists = false; - int i = 0; - - for(Enumeration e = fonts.elements();e.hasMoreElements();) { - FontDescription fd = (FontDescription) e.nextElement(); - if(fd.compareTo(f)) { - alreadyExists = true; - break; - } else { - i++; - } - } - - if(!alreadyExists) - fonts.add(f); - - return i; - } - - /** - * Adds a ExtendedFormat record to the workbook - * - * @param f the font recrod to add - */ - public int addExtendedFormat(Format fmt) throws IOException { - - FontDescription fd = new FontDescription(fmt); - int ixfnt = addFont(fd); - ExtendedFormat xf = new ExtendedFormat(ixfnt, fmt); - - boolean alreadyExists = false; - int i = 0; - - for(Enumeration e = extendedFormats.elements();e.hasMoreElements();) { - ExtendedFormat currentXF = (ExtendedFormat) e.nextElement(); - if(xf.compareTo(currentXF)) { - alreadyExists = true; - break; - } else if(!alreadyExists) { - i++; - } - } - - if(!alreadyExists) - extendedFormats.add(xf); - - return i; - } - - /** - * Gets a worksheet at a particular index from mthe current workbook. - * - * @param index the index of the worksheet to retrieve - */ - public Worksheet getWorksheet(int index) { - - return ((Worksheet) worksheets.elementAt(index)); - } - - /** - * Returns a FontDescription indictated by the - * index parameter passed in to the method - * - * @param ixfnt index to the FontDescriptions, this is a 0 based index - * @return FontDescription indexed by ixfe - */ - public FontDescription getFontDescription(int ixfnt) { - - return (FontDescription) fonts.elementAt(ixfnt); - } - - /** - * Returns a ExtendedFormat indictated by the - * index parameter passed in to the method - * - * @param ixfe index to the FontDescriptions, this is a 0 based index - * @return FontDescription indexed by ixfe - */ - public ExtendedFormat getExtendedFormat(int ixfe) { - - return (ExtendedFormat) extendedFormats.elementAt(ixfe); - } - - /** - * Returns an enumeration of DefinedNames for this workbook - * - * @return Enumeration for the DefinedNames - */ - public Enumeration getDefinedNames() { - - return definedNames.elements(); - } - - /** - * Returns an enumeration of Settings for this workbook - * - * @return Enumeration of Settings - */ - public BookSettings getSettings() { - - Vector settingsVector = new Vector(); - int index = 0; - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); - SheetSettings s = ws.getSettings(); - s.setSheetName(getSheetName(index++)); - settingsVector.add(s); - } - BookSettings bs = new BookSettings(settingsVector); - String activeSheetName = getSheetName(win1.getActiveSheet()); - bs.setActiveSheet(activeSheetName); - return bs; - } - - /** - * Returns a Vector containing all the worksheet Names - * - * @return a Vector containing all the worksheet Names - */ - public Vector getWorksheetNames() { - - Vector wsNames = new Vector(); - - for(int i = 0;i < boundsheets.size();i++) { - wsNames.add(getSheetName(i)); - } - - return wsNames; - } - - /** - * Returns the name of the worksheet at the specified index - * - * @return a String containing the name of the worksheet - */ - public String getSheetName(int index) { - BoundSheet bs = (BoundSheet) boundsheets.elementAt(index); - - return bs.getSheetName(); - } - - /** - * Adds a Worksheet to the workbook. - * - * @return name the name of the Worksheet to be added - */ - public void addWorksheet(String name) throws IOException { - - BoundSheet bs = new BoundSheet(name); - boundsheets.add(bs); - - Worksheet ws = new Worksheet(); - worksheets.add(ws); - } - - /** - * Adds a cell to the current worksheet. - * - * @return the name of the Worksheet to be added - */ - public void addCell(int row,int col, Format fmt, String cellContents) - throws IOException { - - Worksheet currentWS = (Worksheet) worksheets.elementAt(worksheets.size()-1); - int ixfe = addExtendedFormat(fmt); - - String category = fmt.getCategory(); - - // Now the formatting is out of the way add the cell - Debug.log(Debug.TRACE,"Cell Format: " + fmt); - Debug.log(Debug.TRACE,"Row : " + row); - Debug.log(Debug.TRACE,"Col : " + col); - if(cellContents.startsWith("=")) { - try { - Formula f = new Formula(row, col, cellContents, ixfe, fmt, this); - currentWS.addCell(f); - if(category.equalsIgnoreCase(CELLTYPE_STRING)) { - StringValue sv = new StringValue(fmt.getValue()); - currentWS.addCell(sv); - } - } catch(Exception e) { - Debug.log(Debug.TRACE, "Parsing Exception thrown : " + e.getMessage()); - BoolErrCell errorCell = new BoolErrCell(row, col, ixfe, 0x2A, 1); - currentWS.addCell(errorCell); - } - } else if(category.equalsIgnoreCase(OfficeConstants.CELLTYPE_FLOAT)) { - try { - FloatNumber num = new FloatNumber(row, col, cellContents, ixfe); - currentWS.addCell(num); - } catch(Exception e) { - Debug.log(Debug.TRACE,"Error could not parse Float " + cellContents); - LabelCell lc = new LabelCell(row, col, cellContents, ixfe); - currentWS.addCell(lc); - } - } else { - if(cellContents.length()==0) { - Debug.log(Debug.TRACE, "Blank Cell"); - BlankCell b = new BlankCell(row, col, ixfe); - currentWS.addCell(b); - } else { - Debug.log(Debug.TRACE, "Label Cell : " + cellContents); - LabelCell lc = new LabelCell(row, col, cellContents, ixfe); - currentWS.addCell(lc); // three because we assume the last three - // Records in any worksheet is the selection, - // window2 and eof Records - } - } - } - - /** - * Will create a number of ColInfo records based on the column widths - * based in. - * - * @param columnRows Vector of ColumnRowInfo - */ - public void addColInfo(Vector columnRows) throws IOException { - - Worksheet currentWS = (Worksheet) worksheets.elementAt(worksheets.size()-1); - - int nCols = 0; - int nRows = 0; - - Debug.log(Debug.TRACE,"Workbook: addColInfo()"); - for(Enumeration e = columnRows.elements();e.hasMoreElements();) { - ColumnRowInfo cri =(ColumnRowInfo) e.nextElement(); - int ixfe = 0; - int size = cri.getSize(); - int repeated = cri.getRepeated(); - if(cri.isColumn()) { - Debug.log(Debug.TRACE,"Workbook: adding ColInfo width = " + size); - ColInfo newColInfo = new ColInfo( nCols, - nCols+repeated-1, - size, ixfe); - currentWS.addCol(newColInfo); - nCols += repeated; - } else if(cri.isRow()) { - - Debug.log(Debug.TRACE,"Workbook: adding Row Height = " + size); - if(!cri.isDefaultSize()) { - for(int i=0;iBookSettings for this workbook. - * - * @param book the BookSettings to add - */ - public void addSettings(BookSettings book) throws IOException { - - int index = 0; - Vector sheetSettings = book.getSheetSettings(); - String activeSheetName = book.getActiveSheet(); - - for(Enumeration e = worksheets.elements();e.hasMoreElements();) { - Worksheet ws = (Worksheet) e.nextElement(); - String name = getSheetName(index++); - if(activeSheetName.equals(name)) { - win1.setActiveSheet(index-1); - } - for(Enumeration eSettings = sheetSettings.elements();eSettings.hasMoreElements();) { - SheetSettings s = (SheetSettings) eSettings.nextElement(); - if(name.equals(s.getSheetName())) { - ws.addSettings(s); - } - } - } - } - - /** - * Return the filename of the pxl document without the file extension - * - * @return filename without the file extension - */ - public String getName() { - - // We have to strip off the file extension - int end = fileName.lastIndexOf("."); - String name; - if( end >= 0) // check in case the filename is already stripped - name = fileName.substring(0, end); - else - name = fileName; - - return name; - } - - /** - * Returns the filename of the pxl document with the file extension - * - * @return filename with the file extension - */ - public String getFileName() { - - return fileName; - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java deleted file mode 100644 index 722cc7ccd0fb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java +++ /dev/null @@ -1,320 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records; - -import java.io.OutputStream; -import java.io.InputStream; -import java.io.IOException; -import java.util.Vector; -import java.util.Enumeration; -import java.awt.Point; - -import org.openoffice.xmerge.util.IntArrayList; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.converter.xml.sxc.SheetSettings; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.PocketExcelConstants; - - -/** - * This class is used by PxlDocument to maintain pexcel - * worksheets. - * - * @author Martin Maher - */ -public class Worksheet { - - private String name; - private Workbook wb; - private Vector rows = new Vector(); - private Vector colInfo = new Vector(); - private Vector cells = new Vector(); - private DefColWidth dcw = new DefColWidth(); - private DefRowHeight drh = new DefRowHeight(); - private Window2 win2 = new Window2(); - private Selection sel = new Selection(); - private Pane p = new Pane(); - private BeginningOfFile bof; - private Eof eof; - - /** - * Writes the current workbook to the Outputstream - * - * @param os The destination outputstream - */ - public Worksheet(Workbook wb) { - this.wb = wb; - } - - /** - * Default Contructor - * - * @param os The destination outputstream - */ - public Worksheet() { - } - - /** - * Writes the current workbook to the Outputstream - * - * @param os The destination outputstream - */ - public void write(OutputStream os) throws IOException { - - bof = new BeginningOfFile(false); - bof.write(os); - dcw.write(os); - for(Enumeration e = colInfo.elements();e.hasMoreElements();) { - ColInfo ci = (ColInfo) e.nextElement(); - ci.write(os); - } - drh.write(os); - for(Enumeration e = rows.elements();e.hasMoreElements();) { - Row rw = (Row) e.nextElement(); - rw.write(os); - } - for(Enumeration e = cells.elements();e.hasMoreElements();) { - BIFFRecord cv = (BIFFRecord) e.nextElement(); - cv.write(os); - } - win2.write(os); - p.write(os); - sel.write(os); - eof = new Eof(); - eof.write(os); - } - - /** - * Reads a worksheet from the InputStream and contructs a - * workbook object from it - * - * @param is InputStream containing a Pocket Excel Data file. - */ - public boolean read(InputStream is) throws IOException { - - int b = is.read(); - - if (b==-1) - return false; - - while(b!=-1) { - switch (b) - { - case PocketExcelConstants.BLANK_CELL: - Debug.log(Debug.TRACE,"Blank Cell (01h)"); - BlankCell bc = new BlankCell(is); - cells.add(bc); - break; - - case PocketExcelConstants.NUMBER_CELL: - Debug.log(Debug.TRACE,"NUMBER: Cell Value, Floating-Point Number (03h)"); - FloatNumber fn = new FloatNumber(is); - cells.add(fn); - break; - - case PocketExcelConstants.LABEL_CELL: - Debug.log(Debug.TRACE,"LABEL: Cell Value, String Constant (04h)"); - LabelCell lc = new LabelCell(is); - cells.add(lc); - break; - - case PocketExcelConstants.BOOLERR_CELL: - Debug.log(Debug.TRACE,"BOOLERR: Cell Value, Boolean or Error (05h)"); - BoolErrCell bec = new BoolErrCell(is); - break; - - case PocketExcelConstants.FORMULA_CELL: - Debug.log(Debug.TRACE,"FORMULA: Cell Formula (06h)"); - Formula f = new Formula(is, wb); - cells.add(f); - break; - - case PocketExcelConstants.FORMULA_STRING: - Debug.log(Debug.TRACE,"String Value of a Formula (07h)"); - StringValue sv = new StringValue(is); - break; - - case PocketExcelConstants.ROW_DESCRIPTION: - Debug.log(Debug.TRACE,"ROW: Describes a Row (08h)"); - Row rw = new Row(is); - rows.add(rw); - break; - - case PocketExcelConstants.BOF_RECORD: - Debug.log(Debug.TRACE,"BOF Record"); - bof = new BeginningOfFile(is); - break; - - case PocketExcelConstants.EOF_MARKER: - Debug.log(Debug.TRACE,"EOF Marker"); - eof = new Eof(); - return true; - - case PocketExcelConstants.CURRENT_SELECTION: - Debug.log(Debug.TRACE,"SELECTION: Current Selection (1Dh)"); - sel = new Selection(is); - break; - - case PocketExcelConstants.NUMBER_FORMAT: - Debug.log(Debug.TRACE,"FORMAT: Number Format (1Eh)"); - NumberFormat nf = new NumberFormat(is); - break; - - case PocketExcelConstants.DEFAULT_ROW_HEIGHT: - Debug.log(Debug.TRACE,"DEFAULTROWHEIGHT: Default Row Height (25h)"); - drh = new DefRowHeight(is); - break; - - case PocketExcelConstants.SHEET_WINDOW_INFO: - Debug.log(Debug.TRACE,"WINDOW2: Sheet Window Information (3Eh) [PXL 2.0]"); - win2 = new Window2(is); - break; - - case PocketExcelConstants.PANE_INFO: - Debug.log(Debug.TRACE,"PANE: Number of Panes and their Position (41h) [PXL 2.0]"); - p = new Pane(is); - break; - - case PocketExcelConstants.DEF_COL_WIDTH: - Debug.log(Debug.TRACE,"DEFCOLWIDTH: Default Column Width (55h) [PXL 2.0]"); - dcw = new DefColWidth(is); - break; - - case PocketExcelConstants.COLINFO: - Debug.log(Debug.TRACE,"COLINFO: Column Formatting Information (7Dh) [PXL 2.0]"); - ColInfo ci = new ColInfo(is); - colInfo.add(ci); - break; - - default: - break; - } - b = is.read(); - - } - Debug.log(Debug.TRACE,"Leaving Worksheet:"); - - return true; - } - - /** - * Returns an enumerator which will be used to access individual cells - * - * @return an enumerator to the worksheet cells - */ - public Enumeration getCellEnumerator() throws IOException { - return (cells.elements()); - } - - /** - * Adds a cell to this worksheet. Current valdid celltypes are - * FloatNumber, LabelCell or Formula - * - * @param f the font recrod to add - */ - public void addCell(BIFFRecord br) { - cells.add(br); - } - - /** - * Adds a number of ColInfo Records to the worksheet base on a list of - * clumnwidths passed in - * - * @param list of column widths - */ - public void addRow(Row r) { - rows.add(r); - } - - /** - * Adds a number of ColInfo Records to the worksheet base on a list of - * clumnwidths passed in - * - * @param list of column widths - */ - public void addCol(ColInfo c) { - colInfo.add(c); - } - /** - * Returns an Enumeration to the ColInfo's for this worksheet - * - * @return an Enumeration to the ColInfo's - */ - public void addSettings(SheetSettings s) { - - sel.setActiveCell(s.getCursor()); - p.setLeft(s.getLeft()); - p.setTop(s.getTop()); - p.setPaneNumber(s.getPaneNumber()); - Point split = s.getSplit(); - if(split.getX()!=0 || split.getY()!=0) { - p.setSplitPoint(s.getSplitType(), split); - win2.setSplitType(s.getSplitType()); - } - } - - /** - * Returns an Enumeration to the ColInfo's for this worksheet - * - * @return an Enumeration to the ColInfo's - */ - public Enumeration getColInfos() { - - return (colInfo.elements()); - } - - /** - * Returns a SheetSettings object containing a collection of data - * contained in Pane, Window2 and - * Selection - * - * @return an SheetSettings - */ - public SheetSettings getSettings() { - - SheetSettings s = new SheetSettings(); - s.setCursor(sel.getActiveCell()); - if(win2.isFrozen()) { - s.setFreeze(p.getFreezePoint()); - } else if(win2.isSplit()) { - s.setSplit(p.getSplitPoint()); - } - s.setPaneNumber(p.getPaneNumber()); - s.setTopLeft(p.getTop(), p.getLeft()); - return s; - } - /** - * Returns an Enumeration to the Rows for this worksheet - * - * @return an Enumeration to the Rows - */ - public Enumeration getRows() { - - return (rows.elements()); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml deleted file mode 100644 index f57eb799491c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/build.xml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java deleted file mode 100644 index aad14dae21b3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaCompiler.java +++ /dev/null @@ -1,272 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.util.*; -import org.openoffice.xmerge.util.Debug; - -/** - * FormulaCompiler converts Calc formula string into PocketXL bytes - * and PocketXL formula bytes into Calc Formula strings - * - * For converting from infix to Reverse Polish (or Postfix) notation the string is - * converted into a vector of Tokens and then re-ordered based on a modified version - * of the standard Infix to RPN conversion algorithms. - *
    - *  Infix2Rpn(tokens)
    - *      while have more tokens
    - *          if token is operand
    - *              push to stack
    - *          else if token is function, argument separater, or open bracket
    - *              push token
    - *              extract tokens to matching close bracket into param
    - *              Infix2Rpn(param)
    - *          else if token is close bracket
    - *              pop from stack into result until close bracket or function
    - *          else
    - *              while stack.top.priority >= token.priority
    - *                  add stack.pop to result
    - *              push token onto stack
    - * 
    - * For converting from RPN to Infix the following algorithm is applied: - *
    - *      while have more tokens
    - *          if token is operand
    - *              push token to stack
    - *          else if token is function or operator
    - *              pop from stack number of args required by token
    - *              apply token to params to make expr
    - *              push expr to stack
    - *      return stack.pop
    - * 
    - */ -public class FormulaCompiler { - /** - * Constructs a FormulaCompiler object - */ - public FormulaCompiler() { - } - - private boolean isPercent(Token pt) { - return pt.getTokenID() == TokenConstants.TPERCENT; - } - - private boolean isOpenBrace(Token pt) { - return pt.getTokenID() == TokenConstants.TPAREN; - } - - private boolean isCloseBrace(Token pt) { - return pt.getValue().compareTo(")") == 0; - } - - private boolean isParamDelimiter(Token pt) { - return pt.getTokenID() == TokenConstants.TARGSEP; - } - - private boolean isBinaryOperator(Token pt) { - return false; - } - - /** - * Re-order into Infix format - * @param tokens The tokens in RPN form - * @return The vector of tokens re-ordered in Infix notation - */ - public Vector RPN2Infix(Vector tokens) { - Vector infixExpr = new Vector(15); - ListIterator iter = tokens.listIterator(); - Stack evalStack = new Stack(); - Stack args = new Stack(); - - while (iter.hasNext()) { - Token pt = (Token)iter.next(); - if (pt.isOperand()) { - Vector expr = new Vector(5); - expr.add(pt); - evalStack.push(expr); - } else if (pt.isOperator() || pt.isFunction()) { - args.clear(); - for (int i=0; i< pt.getNumArgs(); i++) { - args.push(evalStack.pop()); - } - evalStack.push(makeExpression(pt, args)); - } - } - return (Vector)evalStack.elementAt(0); - } - - /** - * Convert the infix expression to RPN. Note that open brackets are saved onto the stack to preserve the users bracketing. - *

    Also note that the open bracket following functions is not pushed onto the stack - it is always implied when - * writing out results - * - * @param tokens The vector of tokens in Infix form - * - * @return A vector of tokens for the expression in Reverse Polish Notation order - */ - public Vector infix2RPN(Vector tokens) { - Vector rpnExpr = new Vector(15); - Stack evalStack = new Stack(); - ListIterator iter = tokens.listIterator(); - while (iter.hasNext()) { - Token pt = (Token)iter.next(); - - if (pt.isOperand()) { //Operands are output immediately - rpnExpr.add(pt); - } else if (pt.isFunction() || isParamDelimiter(pt) || isOpenBrace(pt)) { //Extract parameters after afunction or comma - evalStack.push(pt); - if (pt.isFunction()) { - iter.next(); - } - Vector param = extractParameter(iter); - Debug.log(Debug.TRACE, "Extracted parameter " + param); - rpnExpr.addAll(infix2RPN(param)); - } else if (isCloseBrace(pt)) { //Pop off stack till you meet a function or an open bracket - Token tmpTok = null; - boolean bPop = true; - while (bPop) { - if (evalStack.isEmpty()) { - bPop = false; - } else { - tmpTok = (Token)evalStack.pop(); - //if (!(isOpenBrace(tmpTok) || isParamDelimiter(tmpTok))) { //Don't output brackets and commas - if (!isParamDelimiter(tmpTok)) { //Don't output commas - rpnExpr.add(tmpTok); - } - if (tmpTok.isFunction() || isOpenBrace(tmpTok)) { - bPop = false; - } - } - } - } else { - if (!evalStack.isEmpty()) { - while (!evalStack.isEmpty() && - (((Token)evalStack.peek()).getTokenPriority() >=pt.getTokenPriority())) { - Token topTok = (Token)evalStack.peek(); - if (topTok.isFunction() || isOpenBrace(topTok)) { - break; - } - rpnExpr.add(evalStack.pop()); - } - } - evalStack.push(pt); - } - } - - while (!evalStack.isEmpty()) { - Token topTok = (Token)evalStack.peek(); - if (!(isOpenBrace(topTok) || isParamDelimiter(topTok))) { //Don't output brackets and commas - rpnExpr.add(evalStack.pop()); - } - else - { - evalStack.pop(); - } - } - return rpnExpr; - } - - /** - * Extract a parameter or bracketed sub-expression - * @param iter an iterator into the list - * @return A complete sub-expression - */ - protected Vector extractParameter(ListIterator iter) { - Vector param = new Vector(5); - int subExprCount = 0; - - while (iter.hasNext()) { - Token pt = (Token)iter.next(); - Debug.log(Debug.TRACE, "Token is " + pt + " and subExprCount is " + subExprCount); - if (isOpenBrace(pt)) { - subExprCount++; - param.add(pt); - } else if (isCloseBrace(pt)) { - if (subExprCount == 0) { - iter.previous(); - return param; - } else { - subExprCount--; - param.add(pt); - } - } else if (isParamDelimiter(pt) && (subExprCount == 0)) { - iter.previous(); - return param; - } else { - param.add(pt); - } - } - return param; - } - - /** - * Given the operator and it's operators - * @param pt The operator token - * @param args The arguments for this operator - * @return A correctly ordered expression - */ - protected Vector makeExpression(Token pt, Stack args) { - Vector tmp = new Vector(5); - TokenFactory tf = new TokenFactory(); - if (pt.isOperator()) { - if (pt.getNumArgs()==2) { //Binary operator - tmp.addAll((Vector)args.pop()); - tmp.add(pt); - tmp.addAll((Vector)args.pop()); - } else if (pt.getNumArgs() == 1) { - if(isPercent(pt)) { - tmp.addAll((Vector)args.elementAt(0)); - tmp.add(pt); - } else { - tmp.add(pt); - tmp.addAll((Vector)args.elementAt(0)); - } - if (isOpenBrace(pt)) { - tmp.add(tf.getOperatorToken(")",1)); - } - } - } else if (pt.isFunction()) { - tmp.add(pt); - tmp.add(tf.getOperatorToken("(",1)); - if (!args.isEmpty()) { - Vector v = (Vector)args.pop(); - tmp.addAll(v); - } - while (!args.isEmpty()) { - tmp.add(tf.getOperatorToken(",",1)); - Vector v = (Vector)args.pop(); - tmp.addAll(v); - - } - tmp.add(tf.getOperatorToken(")",1)); - } - - return tmp; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java deleted file mode 100644 index 1752d0e6336e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaHelper.java +++ /dev/null @@ -1,153 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; - -/** - * This Helper class provides a simplified interface to conversion between PocketXL formula representation - * and Calc formula representation.

    - * The class is used by {@link org.openoffice.xmerge.converter.xml.sxc.pexcel.Records.Formula} - */ -public class FormulaHelper { - - private static FormulaParser parser; - private static FormulaCompiler compiler; - private static TokenEncoder encoder; - private static TokenDecoder decoder; - private boolean rangeType = false; - private boolean expressionType = false; - - static { - parser = new FormulaParser(); - compiler = new FormulaCompiler(); - encoder = new TokenEncoder(); - decoder = new TokenDecoder(); - } - - /** - * Sets the workbook cache so that global data such as - * DefinedNames, Boundsheets can be read - * - * @param wb Wrokbook object containing all the global data - */ - public void setWorkbook(Workbook wb) { - - encoder.setWorkbook(wb); - decoder.setWorkbook(wb); - parser.setWorkbook(wb); - } - - /** - * Convertes a string representation of a calc formula into an array of PocketXL bytes - * @param formula The Formula String (e.g. 1+SUM(A1,B1)) - * - * @throws UnsupportedFunctionException Thrown if a function in the formula is nto supported by Pocket Excel - * @throws FormulaParsingException Thrown when the formula is not well formed - * - */ - public byte[] convertCalcToPXL(String formula) throws UnsupportedFunctionException, FormulaParsingException { - - Vector parseTokens = parser.parse(formula); - Vector rpnTokens = compiler.infix2RPN(parseTokens); - - ByteArrayOutputStream bytes = null; - try { - bytes = new ByteArrayOutputStream(); - for (Enumeration e = rpnTokens.elements(); e.hasMoreElements();) { - Token t = (Token)e.nextElement(); - bytes.write(encoder.getByte(t)); - } - } catch (IOException e) { - } - - return bytes.toByteArray(); - } - - /** - * Converts a PocketXL byte array into a Calc function string - * @param formula A byte array that contains the PocketXL bytes for a formula - * - */ - public String convertPXLToCalc(byte[] formula) { - - Vector parseTokens = decoder.getTokenVector(formula); - Vector infixTokens = compiler.RPN2Infix(parseTokens); - - StringBuffer buff = new StringBuffer(); - for (Enumeration e = infixTokens.elements();e.hasMoreElements();) { - Token t = (Token)e.nextElement(); - buff.append(t.toString()); - // If we are parsing a Name definition we need to know if it is of - // type range or expression - if(!t.isOperand()) { - expressionType = true; - } - } - if(!expressionType) { - rangeType = true; - } - return "=" + buff.toString(); - } - - /** - * Returns a boolean indicating whether or not the byte[] parsed is of - * type range. This means it contains only a cell reference and no - * operators. This is necessry because the syntax for range and expression - * types differs. This is only of interest when dealing with - * DefinedNames and not Formula - * - * @return a boolean true if of type range otherwise false - * - */ - public boolean isRangeType() { - - return rangeType; - } - - /** - * Returns a boolean indicating whether or not the byte[] parsed is of - * type expression. This means it contains operators. This is necessry - * because the syntax for range and expression types differs. This is - * only of interest when dealing with DefinedNames and not - * Formula - * - * @return a boolean true if of type expression otherwise false - * - */ - public boolean isExpressionType() { - - return expressionType; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java deleted file mode 100644 index ead9a974d23d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FormulaParser.java +++ /dev/null @@ -1,564 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.util.Debug; - -/** - * This is the Formula Parser based on an article written by Jack Crenshaw. It is a - * top down parser with some basic error handling. It handles - * +,-,*,/,>,<,>=,<=,=,<>, unary + and - as well as functions. - * The BNF notation for this parser is - *

    - *  <expression> ::= <unary op> <term> [<addop>|<logop> <term>]
    - *  <term>       ::= <factor> [<mulop> <factor>]
    - *  <factor>     ::= <number>[%] | <CellRef> | <QuoteString> | <expression>
    - * 
    - */ -public class FormulaParser { - - private char look; - private String formulaStr; - private int index = 1; - private TokenFactory tokenFactory; - private Vector tokenVector; - private Workbook wb; - - /** - * Default constructor - */ - public FormulaParser() { - - Debug.log(Debug.TRACE,"Creating a Formula Parser"); - tokenFactory = new TokenFactory(); - tokenVector = new Vector(); - } - - /** - * - */ - public void setWorkbook(Workbook wb) { - - this.wb = wb; - } - - /** - * Parse method for parsing from a String to a byte[] - * - * @param formula A String representation of a formula - * starting with the '=' character - * @return A Vector containing the parsed Tokens - */ - public Vector parse(String formula) throws FormulaParsingException { - - index = 1; - look = ' '; - tokenVector.clear(); - if(formula.startsWith("=")) { - formulaStr = formula; - Debug.log(Debug.TRACE,"Creating a Formula Parser for " + formulaStr); - getChar(); - expression(); - } else { - throw new FormulaParsingException("No equals found!" + makeErrorString()); - } - return tokenVector; - } - - /** - * Identify + and - operators - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isAddOp(char c) { - return (c == '-') || (c == '+'); - } - - /** - * Determine if the current character is a multiop - * - * @return A boolean returning the result of the comparison - */ - private boolean isMultiOp() { - return look=='*' || look =='/' || look == '^' || look == '&'; - } - - /** - * Identify <, >, <=, >=, =, <> using the index to find the current character(s) - * - * @return A boolean returning the result of the comparison - */ - private boolean isLogicalOp() { - if (!isLogicalOpChar(look)) { - return false; - } else if ((index+1) >= formulaStr.length()) {//logical operators in their own right : if at end then return true - return true; - } else if (!isLogicalOpChar(formulaStr.charAt(index))) { // we have >, < or = on their own - return true; - } else if ((look == '<') && ((formulaStr.charAt(index) == '>') || formulaStr.charAt(index) == '=')) { // <>, or <= - return true; - } else if ((look == '>') && (formulaStr.charAt(index) == '=')) { // >= - return true; - } - - return false; - } - - /** - * Identify <, >, <=, >=, =, <> - * - * @param The String which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isLogicalOp(String op) { - return ((op.compareTo(">") == 0) || - (op.compareTo("<") == 0) || - (op.compareTo(">=") == 0) || - (op.compareTo("<=") == 0) || - (op.compareTo("=") == 0) || - (op.compareTo("<>") == 0)); - } - - - /** - * Identify characters that MAY be logical operator characters - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isLogicalOpChar(char c) { - return (c == '>') || (c == '<') || (c == '='); - } - - /** - * Identify special Cell Reference charaters - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isCellRefSpecialChar(char c) { - return (c == ':') || (c == '$') || (c == '.'); - } - - /** - * Identify letters - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isAlpha(char c) { - return(Character.isLetter(c)); - } - - /** - * Identify numbers - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isDigit(char c) { - return(Character.isDigit(c)); - } - - /** - * Identify numbers - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isPercent(char c) { - return (c == '%'); - } - - /** - * Identify letters or numbers - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isAlphaNum(char c) { - return(isAlpha(c) || isDigit(c)); - } - - /** - * Identify valid Characters for cell references - * - * @param c The character which is to be identified - * @return A boolean returning the result of the comparison - */ - private boolean isCellRefChar(char c) { - return(isAlpha(c) || isDigit(c) || isCellRefSpecialChar(c)); - } - - /** - * Test if current character is a match and move to next character - * - * @param c The character which is to be matched - */ - private void match(char c) throws FormulaParsingException { - - if(look==c) { - Debug.log(Debug.TRACE,"Operator Found : " + look); - getChar(); - skipWhite(); - } - else - throw new FormulaParsingException("Unexpected character '" + c + "'" + makeErrorString()); - } - - /** - * Test if current character is a match and move to next character - * - * @param symbol The String to be matched. - */ - private void match(String symbol) throws FormulaParsingException { - - int numChars = symbol.length(); - boolean bContinue = true; - for (int i=0;iString
    - * - * @return boolean false if the end if the statement - * is reached otherwise true - */ - private boolean getChar() throws FormulaParsingException { - - boolean success = true; - - if(indexString. - * - * @return a String representing a logical operator - */ - private String getLogicalOperator() throws FormulaParsingException { - String op = new String(); - boolean status; - - do { - op += look; - status = getChar(); - } while(isLogicalOpChar(look) && status); - skipWhite(); - return op; - } - - /** - * Keeps pulling characters from the statement until we get an - * operator and returns the resulting string. - * - * @return A Stringrepresenting the next token - */ - private String getTokenString() throws FormulaParsingException { - - if(!isAlpha(look) && look!='$') - throw new FormulaParsingException("Expected Cell Reference" + makeErrorString()); - else { - String cell = new String(); - boolean status; - do { - cell += look; - status = getChar(); - } while(isCellRefChar(look) && status); - skipWhite(); - return cell; - } - } - - /** - * Keeps pulling numbers from the statement and add the resulting integer - * token to the tokenVector. - */ - private void getNum() throws FormulaParsingException { - - Debug.log(Debug.TRACE,"getNum : "); - if(!isDigit(look)) - throw new FormulaParsingException("Expected Integer" + makeErrorString()); - else { - String num = new String(); - boolean status; - - do { - num += look; - status = getChar(); - } while((isDigit(look) || ((look == '.') && isDigit(formulaStr.charAt(index)))) && status); - skipWhite(); - tokenVector.add(tokenFactory.getOperandToken(num, "INTEGER")); - if(isPercent(look)) { - match(look); - tokenVector.add(tokenFactory.getOperatorToken("%", 1)); - Debug.log(Debug.TRACE,"Added Percent token to Vector: "); - } - Debug.log(Debug.TRACE,"Number parsed : " + num); - } - } - - - /** - * Term will parse multiplication/division expressions - */ - private void term() throws FormulaParsingException { - factor(); - while(isMultiOp()) { - multiOp(Character.toString(look)); - } - } - - /** - * Expression is the entry point for the parser. It is the code - * that parses addition/subtraction expressions. - */ - private void expression() throws FormulaParsingException { - - if (look == '"') { //Extract a quoted string... - StringBuffer buff = new StringBuffer(); - boolean success = true; - success = getChar(); - while (look != '"' && success) { - buff.append(look); - success = getChar(); - } - - if (look != '"') { //We've reached the end of the string without getting a closing quote - throw new FormulaParsingException("Expected closing quote." + makeErrorString()); - } else { - tokenVector.add(tokenFactory.getOperandToken(buff.toString(), "STRING")); - getChar(); //Move on to the next character - } - } else { - term(); - } - while(isAddOp(look) || isLogicalOp()) { - if (isAddOp(look)) { - addOp(Character.toString(look)); - } else if (isLogicalOp()) { - logicalOp(); - } - } - } - - /** - * Test to see if the next token (represented as a String) is - * the same as the String passed in. Move the index along to the end of - * that String and add that Token to the tokenVector. Then - * call term to parse the right hand side of the operator. - * - * @param op A String representing the operator - */ - private void addOp(String op) throws FormulaParsingException { - match(op); - tokenVector.add(tokenFactory.getOperatorToken(op, 2)); - term(); - } - - /** - * Test to see if the next token (represented as a String) is - * the same as the String passed in. Move the index along to the end of - * that String and add that Token to the tokenVector. Then - * call factor to parse the right hand side of the operator. - * - * @param op A String representing the operator - */ - private void multiOp(String op) throws FormulaParsingException { - match(op); - tokenVector.add(tokenFactory.getOperatorToken(op, 2)); - factor(); - } - - /** - * Pull a logical operator starting at the current index, add a token for - * that operator to the tokenVector and call term to parse the - * right hand side of the operator - */ - private void logicalOp() throws FormulaParsingException { - String op = getLogicalOperator(); - tokenVector.add(tokenFactory.getOperatorToken(op, 2)); - term(); - } - - private String makeErrorString() { - StringBuffer buff = new StringBuffer(); - for (int i=0; i - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -/* - * If the formula failed to be parsed properly this exception will be thrown - * - * Martin Maher - */ - -import java.io.*; - -import org.openoffice.xmerge.util.Debug; - -public class FormulaParsingException extends Exception { - - public FormulaParsingException(String message) { - super(message); - } - } diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FunctionLookup.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FunctionLookup.java deleted file mode 100644 index b4f7dab3a681..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/FunctionLookup.java +++ /dev/null @@ -1,207 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import org.openoffice.xmerge.util.Debug; - -import java.util.HashMap; - -public class FunctionLookup extends SymbolLookup { - - private HashMap stringToArgs = null; - - /** - * The default constructor - invokes {@link #initialize() initialize()} - */ - public FunctionLookup() { - initialize(); - } - - /** - * Initialize the lookup table for functions - */ - public void initialize() { - if ((stringToID != null) || (idToString != null) || (stringToArgs !=null)) { - return; - } - stringToID = new HashMap(); - idToString = new HashMap(); - stringToArgs = new HashMap(); - - // Functions with Variable number of Arguments - // Math and Trig - addEntry("SUM", TokenConstants.TSUM, -1); - addEntry("MIN", TokenConstants.TMIN, -1); - addEntry("PRODUCT", TokenConstants.TPRODUCT, -1); - addEntry("LOG", TokenConstants.TLOG, -1); - addEntry("SUMIF", TokenConstants.TSUMIF, -1); - addEntry("TRUNC", TokenConstants.TRUNC, -1); - // Financial - addEntry("DDB", TokenConstants.TDDB, -1); - addEntry("FV", TokenConstants.TFV, -1); - addEntry("IRR", TokenConstants.TIRR, -1); - addEntry("NPER", TokenConstants.TNPER, -1); - addEntry("NPV", TokenConstants.TNPV, -1); - addEntry("PMT", TokenConstants.TPMT, -1); - addEntry("PV", TokenConstants.TPV, -1); - addEntry("RATE", TokenConstants.TRATE, -1); - // Statistical - addEntry("AVERAGE", TokenConstants.TAVERAGE, -1); - addEntry("COUNT", TokenConstants.TCOUNT, -1); - addEntry("COUNTA", TokenConstants.TCOUNTA, -1); - addEntry("MAX", TokenConstants.TMAX, -1 ); - addEntry("MIN", TokenConstants.TMIN, -1); - addEntry("STDEV", TokenConstants.TSTDEV, -1 ); - addEntry("STDEVP", TokenConstants.TSTDEVP, -1 ); - addEntry("VAR", TokenConstants.TVAR, -1); - addEntry("VARP", TokenConstants.TVARP, -1); - // Lookup - addEntry("CHOOSE", TokenConstants.TCHOOSE, -1); - addEntry("HLOOKUP", TokenConstants.THLOOKUP, -1); - addEntry("INDEX", TokenConstants.TINDEX, -1); - addEntry("MATCH", TokenConstants.TMATCH, -1) ; - addEntry("VLOOKUP", TokenConstants.TVLOOKUP, -1); - // Text - addEntry("RIGHT", TokenConstants.TRIGHT, -1); - addEntry("SUBSTITUTE", TokenConstants.TSUBSTITUTE, -1); - addEntry("FIND", TokenConstants.TFIND, -1); - addEntry("LEFT", TokenConstants.TLEFT, -1); - // Logical - addEntry("AND", TokenConstants.TAND, -1 ); - addEntry("IF", TokenConstants.TIF, -1) ; - addEntry("OR", TokenConstants.TOR, -1); - - // Functions with Fixed number of Arguments - // Math and Trig - addEntry("ABS", TokenConstants.TABS, 1); - addEntry("ACOS", TokenConstants.TACOS, 1); - addEntry("ASIN", TokenConstants.TASIN, 1); - addEntry("ATAN", TokenConstants.TATAN, 1); - addEntry("ATAN2", TokenConstants.TATAN2, 1); - addEntry("COS", TokenConstants.TCOS, 1); - addEntry("COUNTIF", TokenConstants.TCOUNTIF, 1); - addEntry("DEGREES", TokenConstants.TDEGREES, 1); - addEntry("EXP", TokenConstants.TEXP, 1); - addEntry("FACT", TokenConstants.TFACT, 1); - addEntry("INT", TokenConstants.TINTE, 1); - addEntry("LN", TokenConstants.TLN, 1); - addEntry("LOG10", TokenConstants.TLOG10, 1); - addEntry("MOD", TokenConstants.TMOD, 1); - addEntry("PI", TokenConstants.TPI, 0); - addEntry("POWER", TokenConstants.TPOWERF, 2); - addEntry("RADIANS", TokenConstants.TRADIANS, 1); - addEntry("RAND", TokenConstants.TRAND, 1); - addEntry("ROUND", TokenConstants.TROUND, 1); - addEntry("SQRT", TokenConstants.TSQRT, 1); - addEntry("TAN", TokenConstants.TTAN, 1); - addEntry("SIN", TokenConstants.TSIN, 1); - // Financial - addEntry("SLN", TokenConstants.TSLN, 3); - addEntry("SYD", TokenConstants.TSYD, 4); - // Date and Time - addEntry("DATE", TokenConstants.TDATE, 3); - addEntry("DATEVALUE", TokenConstants.TDATEVALUE, 1); - addEntry("DAY", TokenConstants.TDAY, 1); - addEntry("HOUR", TokenConstants.THOUR, 1); - addEntry("MINUTE", TokenConstants.TMINUTE, 1 ); - addEntry("MONTH", TokenConstants.TMONTH, 1); - addEntry("NOW", TokenConstants.TNOW, 0); - addEntry("SECOND", TokenConstants.TSECOND, 1); - addEntry("TIME", TokenConstants.TTIME, 3); - addEntry("TIMEVALUE", TokenConstants.TTIMEVALUE, 1); - addEntry("YEAR", TokenConstants.TYEAR, 1); - // Statistical - addEntry("COUNTBLANK", TokenConstants.TCOUNTBLANK, 1); - // lookup - addEntry("COLUMNS", TokenConstants.TCOLUMNS, 1); - addEntry("ROWS", TokenConstants.TROWS, 1); - // Database - addEntry("DAVERAGE", TokenConstants.TDAVAERAGE, 3); - addEntry("DCOUNT", TokenConstants.TDCOUNT, 3); - addEntry("DCOUNTA", TokenConstants.TDCOUNTA, 2); - addEntry("DGET", TokenConstants.TDGET, 3); - addEntry("DMAX", TokenConstants.TDMAX, 3); - addEntry("DMIN", TokenConstants.TDMIN, 3); - addEntry("DPRODUCT", TokenConstants.TDPRODUCT, 3); - addEntry("DSTDEV", TokenConstants.TDSTDEV, 3); - addEntry("DSTDEVP", TokenConstants.TDSTDEVP, 3) ; - addEntry("DSUM", TokenConstants.TDSUM, 3); - addEntry("DVAR", TokenConstants.TDVAR, 3); - addEntry("DVARP", TokenConstants.TDVARP, 3); - // Text - addEntry("EXACT", TokenConstants.TEXACT, 2); - addEntry("LEN", TokenConstants.TLEN, 1); - addEntry("LOWER", TokenConstants.TLOWER, 1); - addEntry("MID", TokenConstants.TMID, 3); // ?????? - addEntry("PROPER", TokenConstants.TPROPER, 1); - addEntry("REPLACE", TokenConstants.TREPLACE, 4); - addEntry("REPT", TokenConstants.TREPT, 2); - addEntry("T", TokenConstants.TT, 1); - addEntry("TRIM", TokenConstants.TRIM, 1); - addEntry("UPPER", TokenConstants.TUPPER, 1); - addEntry("VALUE", TokenConstants.TVALUE, 1); - // Logical - addEntry("FALSE", TokenConstants.TFALSE, 0); - addEntry("NOT", TokenConstants.TNOT, 1); - addEntry("TRUE", TokenConstants.TTRUE, 0); - // Informational - addEntry("ERRORTYPE", TokenConstants.TERRORTYPE, 1); - addEntry("ISBLANK", TokenConstants.TISBLANK, 1); - addEntry("ISERR", TokenConstants.TISERR, 1); - addEntry("ISERROR", TokenConstants.TISERROR, 1); - addEntry("ISLOGICAL", TokenConstants.TISLOGICAL, 1); - addEntry("ISNA", TokenConstants.TISNA, 1); - addEntry("ISNONTEXT", TokenConstants.TISNONTEXT, 1); - addEntry("ISNUMBER", TokenConstants.TISNUMBER, 1); - addEntry("ISTEXT", TokenConstants.TISTEXT, 1); - addEntry("N", TokenConstants.TN, 1); - addEntry("NA", TokenConstants.TNA, 0); - - } - - /** - * Associate a function with an identifier and specifiy the number of arguments for that function - * @param symbol The function string that will act as the key in the lookup table - * @param id The identifier for the function - * @param args The number of arguments this function requires - */ - public void addEntry(String symbol, int id, int args) { - addEntry(symbol, id); - stringToArgs.put(symbol, new Integer(args)); - } - - /** - * Retrieve the number of arguments for this function - * @param symbol The function name - * @return The number of arguments required by this function - */ - public int getArgCountFromString(String symbol) { - return ((Integer)stringToArgs.get(symbol)).intValue(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperandLookup.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperandLookup.java deleted file mode 100644 index 67f79c561234..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperandLookup.java +++ /dev/null @@ -1,65 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; -import java.util.HashMap; - -import org.openoffice.xmerge.util.Debug; - -/** - * A lookup table containing information about operands - */ -public class OperandLookup extends SymbolLookup { - - /** - * The default constructor - invokes {@link #initialize() initialize()} - */ - public OperandLookup() { - initialize(); - } - - /** - * Initialize the lookup table for operands - */ - public void initialize() { - if ((stringToID != null) || (idToString != null)) { - return; - } - stringToID = new HashMap(); - idToString = new HashMap(); - addEntry("CELL_REFERENCE", TokenConstants.TREF); - addEntry("CELL_AREA_REFERENCE", TokenConstants.TAREA); - addEntry("INTEGER", TokenConstants.TNUM); - addEntry("NUMBER", TokenConstants.TNUM); - addEntry("STRING", TokenConstants.TSTRING); - addEntry("NAME", TokenConstants.TNAME); - addEntry("3D_CELL_REFERENCE", TokenConstants.TREF3D); - addEntry("3D_CELL_AREA_REFERENCE", TokenConstants.TAREA3D); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperatorLookup.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperatorLookup.java deleted file mode 100644 index 03d09f917a18..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/OperatorLookup.java +++ /dev/null @@ -1,76 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.util.HashMap; - -import org.openoffice.xmerge.util.Debug; - -/** - * A lookup table containing information about operators - */ -public class OperatorLookup extends SymbolLookup { - - /** - * The default constructor - invokes {@link #initialize() initialize()} - */ - public OperatorLookup() { - initialize(); - } - - /** - * Initialize the lookup table for operators - */ - public void initialize() { - if ((stringToID != null) || (idToString != null)) { - return; - } - stringToID = new HashMap(); - idToString = new HashMap(); - addEntry("UNARY_PLUS", TokenConstants.TUPLUS); - addEntry("UNARY_MINUS", TokenConstants.TUMINUS); - addEntry("%", TokenConstants.TPERCENT); - addEntry("+", TokenConstants.TADD); - addEntry("-", TokenConstants.TSUB); - addEntry("*", TokenConstants.TMUL); - addEntry("/", TokenConstants.TDIV); - addEntry(",", TokenConstants.TARGSEP); - addEntry("^", TokenConstants.TPOWER); - addEntry("&", TokenConstants.TCONCAT); - addEntry("(", TokenConstants.TPAREN); - addEntry(")", TokenConstants.TCLOSEPAREN); - addEntry("<", TokenConstants.TLESS); - addEntry(">", TokenConstants.TGREATER); - addEntry(">=", TokenConstants.TGTEQUALS); - addEntry("<=", TokenConstants.TLESSEQUALS); - addEntry("=", TokenConstants.TEQUALS); - addEntry("<>", TokenConstants.TNEQUALS); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/ParseToken.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/ParseToken.java deleted file mode 100644 index e78234ca1adc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/ParseToken.java +++ /dev/null @@ -1,43 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -public interface ParseToken -{ - public boolean isOperand(); - public boolean isOperator(); - public int getTokenType(); - - //GENERIC TOKENS (MOSTLY UNUSED - public static final int TOKEN_OPERATOR = 1; - public static final int TOKEN_OPERAND = 2; - public static final int TOKEN_FUNCTION_FIXED = 3; - public static final int TOKEN_FUNCTION_VARIABLE = 4; - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/PrecedenceTable.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/PrecedenceTable.java deleted file mode 100644 index fbe24bb4fff2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/PrecedenceTable.java +++ /dev/null @@ -1,86 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.util.HashMap; - -/** - * This class defines the precedence applied to each operator when performing a conversion - * {@link org.openoffice.xmerge.converter.xml.sxc.pexcel.Records.formula.FormulaCompiler.infix2 from infix to RPN.}. - */ -public class PrecedenceTable { - public static final int DEFAULT_PRECEDENCE = 0; - public static final int EQNEQ_PRECEDENCE = 1; // =, <> - public static final int GTLTEQ_PRECEDENCE = 1; // >=, <= - public static final int GTLT_PRECEDENCE = 2; // >, < - public static final int ADDOP_PRECEDENCE = 4; // +, - - public static final int MULTOP_PRECEDENCE = 5; // *, / - public static final int FACTOR_PRECEDENCE = 6; // ^ - public static final int CONCAT_PRECEDENCE = 6; // & - public static final int UNARY_PRECEDENCE = 7; // !, Unary +, Unary - - public static final int PAREN_PRECEDENCE = 8; // (, ) - public static final int FUNCTION_PRECEDENCE = 8; - public static final int COMMA_PRECEDENCE = 8; - - private static HashMap map; - static { - map = new HashMap(); - - map.put("%", new Integer(UNARY_PRECEDENCE)); - map.put("+", new Integer(ADDOP_PRECEDENCE)); - map.put("-", new Integer(ADDOP_PRECEDENCE)); - map.put("*", new Integer(MULTOP_PRECEDENCE)); - map.put("/", new Integer(MULTOP_PRECEDENCE)); - map.put("(", new Integer(PAREN_PRECEDENCE)); - map.put(")", new Integer(PAREN_PRECEDENCE)); - map.put(",", new Integer(COMMA_PRECEDENCE)); - map.put(">", new Integer(GTLT_PRECEDENCE)); - map.put("<", new Integer(GTLT_PRECEDENCE)); - map.put("=", new Integer(EQNEQ_PRECEDENCE)); - map.put("&", new Integer(CONCAT_PRECEDENCE)); - map.put("^", new Integer(FACTOR_PRECEDENCE)); - map.put(">=", new Integer(GTLTEQ_PRECEDENCE)); - map.put("<=", new Integer(GTLTEQ_PRECEDENCE)); - map.put("<>", new Integer(EQNEQ_PRECEDENCE)); - map.put("FUNCTION", new Integer(FUNCTION_PRECEDENCE)); - } - - /** - * Retrieve the precedence value for a given operator. - * @param op Look up the precedence for this operator - * @return an integer representing the integer value of the operator - */ - public static int getPrecedence(String op) { - Object obj = map.get(op); - if (obj == null) { - return DEFAULT_PRECEDENCE; - } - return ((Integer)obj).intValue(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java deleted file mode 100644 index 1399c57d2875..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java +++ /dev/null @@ -1,82 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.util.HashMap; - -/** - * This interface defines the attributes of a lookup table for this plugin. - * Symbols will generally be either operators (_, -, *, etc) or funtion names. - */ -public abstract class SymbolLookup { - - protected HashMap stringToID = null; - protected HashMap idToString = null; - - /** - * Perform lookup table specific initialization. This would typically entail loading values into - * the lookup table. It is best to optimize this process so that data is loaded statically and shared - * across all instances of the lookup table. - */ - abstract public void initialize(); - - /** - * Associate a symbol with a numeric value in the lookup table - * @param symbol The symbol that will act as the key in the lookup table - * @param value The value to be associated with a given symbol - */ - public void addEntry(String symbol, int id) { - Integer iObj = new Integer(id); - stringToID.put(symbol, iObj); - idToString.put(iObj, symbol); - } - - /** - * Retrieve the symbol associated with a given identifier - * @param id The identfier for which we need to retieve the symbol string - * @return The string associated with this identifier in the lookup table. - */ - public String getStringFromID(int id) { - return (String)idToString.get(new Integer(id)); - } - - /** - * Retrieve the identifier associated with a given symbol - * @param symbol The symbol for which we need to retieve the identifier - * @throws UnsupportedFunctionException Thown when the symbol is not found in the lookup table - * @return The identifier associated with this string in the lookup table. - */ - public int getIDFromString(String symbol) throws UnsupportedFunctionException { - Integer i = (Integer)stringToID.get(symbol); - if (i == null) - throw new UnsupportedFunctionException("Token '" + symbol + "' not supported by Pocket Excel"); - - return ((Integer)stringToID.get(symbol)).intValue(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/Token.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/Token.java deleted file mode 100644 index bfd9933936f5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/Token.java +++ /dev/null @@ -1,154 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - - -import java.io.*; - -/** - * A Token is the basic building block of any formula. - * A Token can be of four types (Operator, Operand, Function with fixed - * arguments and function with a variable number of arguments. Each type can - * have numerous id's. Thetypes are define in ParseToken and the - * id's are defined in TokenConstants. The other member variables - * are priority which is returned from the PrecedenceTable, the - * value which is the String equivalent of the token (eg. "+", "$A$12", "SUM") - * and the number of arguments which is only valid for operators and functions. - * Tokens should never be created directly and instead are created by the - * TokenFactory - */ -public class Token implements ParseToken { - - private String value; - private int type; // operator, operand, function fixed, function variable - private int id; // cell reference, SUM, integer - private int priority; - private int numArgs=-1; - - public Token(String op, int type, int id, int args) { - this.value = op; - this.type = type; - this.id = id; - this.numArgs = args; - if(type==ParseToken.TOKEN_FUNCTION_VARIABLE) { - priority = PrecedenceTable.getPrecedence("FUNCTION"); - } else if(type==ParseToken.TOKEN_OPERATOR) { - priority = PrecedenceTable.getPrecedence(op); - } else { - priority = PrecedenceTable.getPrecedence("DEFAULT"); - } - } - - /** - * Checks if the current token is an operator - * - * @return A boolean result of the comaparison - */ - public boolean isOperator() { - return type == ParseToken.TOKEN_OPERATOR; - } - - /** - * Checks if the current token is an operand - * - * @return A boolean result of the comaparison - */ - public boolean isOperand() { - return type == ParseToken.TOKEN_OPERAND; - } - - /** - * Checks if the current token is a function - * - * @return A boolean result of the comaparison - */ - public boolean isFunction() { - return (type==ParseToken.TOKEN_FUNCTION_FIXED) || (type==ParseToken.TOKEN_FUNCTION_VARIABLE); - } - - /** - * Returns the token type. This can be one of four values (TOKEN_OPERATOR, - * TOKEN_OPERAND, TOKEN_FUNCTION_FIXED, TOKEN_FUNCTION_VARIABLE) defined in - * ParseToken - * - * @return A boolean result of the comparison - */ - public int getTokenType() { - - return type; - } - - /** - * Returns the ID of this token. This ID is equivalent to the pexcel hex - * value and is defined in ParseToken - * - * @return Returns the id of this token - */ - public int getTokenID() { - - return id; - } - - /** - * Returns the String equivalent of this token - * - * @return The String representing this Token - */ - public String getValue() { - return value; - } - - /** - * Returns the number of arguments if this token represents an operator or - * function. Otherwise returns -1. - * - * @return The number of arguments - */ - public int getNumArgs() { - return numArgs; - } - - /** - * Checks if the current token is an operator - * - * @return A boolean result of the comparison - */ - public int getTokenPriority() { - return priority; - } - - /** - * Returns the String equivalent of this token - * - * @return The String representing this Token - */ - public String toString() { - return getValue(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenConstants.java deleted file mode 100644 index 4fd90c6a234e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenConstants.java +++ /dev/null @@ -1,206 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.io.*; - -public interface TokenConstants { - - // Unary Operator Tokens - public static final int TUPLUS = 0x12; - public static final int TUMINUS = 0x13; - public static final int TPERCENT = 0x14; - public static final int TPAREN = 0x15; - // Binary Operator Tokens - public static final int TADD = 0x03; - public static final int TSUB = 0x04; - public static final int TMUL = 0x05; - public static final int TDIV = 0x06; - public static final int TPOWER = 0x07; - public static final int TCONCAT = 0x08; - - //Logical operators - public static final int TLESS = 0x09; - public static final int TLESSEQUALS = 0x0A; - public static final int TEQUALS = 0x0B; - public static final int TGTEQUALS = 0x0C; - public static final int TGREATER = 0x0D; - public static final int TNEQUALS = 0x0E; - - // Function Operator Tokens - public static final int TFUNC = 0x41; - public static final int TFUNCVAR = 0x42; - - // Constant Operand Tokens - public static final int TSTRING = 0x17; - public static final int TINT = 0x1E; - public static final int TNUM = 0x1F; - // Operand Tokens - public static final int TREF = 0x44; - public static final int TAREA = 0x25; - public static final int TNAME = 0x23; - public static final int TREF3D = 0x3A; - public static final int TAREA3D = 0x3B; - - // - public static final int TARGSEP = 0x1001; - public static final int TCLOSEPAREN = 0x1002; - - // Variable argument Functions - // Math and Trig - public static final int TSUM = 0x04; - public static final int TPRODUCT = 0xB7; - public static final int TSUMIF = 0x0159; - public static final int TLOG = 0x6D; - public static final int TRUNC = 0xC5; - // Financial - public static final int TDDB = 0x90; - public static final int TFV = 0x39; - public static final int TIRR = 0x3E; - public static final int TNPER = 0x3A; - public static final int TNPV = 0x0B; - public static final int TPMT = 0x3B; - public static final int TPV = 0x38; - public static final int TRATE = 0x3C; - // Statistical - public static final int TAVERAGE = 0x05; - public static final int TCOUNT = 0x00; - public static final int TCOUNTA = 0xA9; - public static final int TMAX = 0x07; - public static final int TMIN = 0x06; - public static final int TSTDEV = 0x0C; - public static final int TSTDEVP = 0xC1; - public static final int TVAR = 0x2E; - public static final int TVARP = 0xC2; - // Lookup - public static final int TCHOOSE = 0x64; - public static final int THLOOKUP = 0x65; - public static final int TINDEX = 0x1D; - public static final int TMATCH = 0x40; - public static final int TVLOOKUP = 0x66; - // Text - public static final int TRIGHT = 0x74; - public static final int TSUBSTITUTE = 0x78; - public static final int TFIND = 0x7c; - public static final int TLEFT = 0x73; - // Logical - public static final int TAND = 0x24; // 42 - public static final int TIF = 0x01; // 42 - public static final int TOR = 0x25; // 42 - - // Fixed argument Functions - // Math and Trig - public static final int TABS = 0x18; - public static final int TACOS = 0x63; - public static final int TASIN = 0x62; - public static final int TATAN = 0x12; - public static final int TATAN2 = 0x61; - public static final int TCOS = 0x10; - public static final int TSIN = 0x0F; - - public static final int TCOUNTIF = 0x015A; - public static final int TDEGREES = 0x0157; - public static final int TEXP = 0x15; - public static final int TFACT = 0xB8; - public static final int TINTE = 0x19; - public static final int TLN = 0x16; - - public static final int TLOG10 = 0x17; - public static final int TMOD = 0x27; - public static final int TPI = 0x13; - - public static final int TPOWERF = 0x0151; - public static final int TRADIANS = 0x0156; - public static final int TRAND = 0x3F; - public static final int TROUND = 0x1B; - public static final int TSQRT = 0x14; - public static final int TTAN = 0x11; - - public static final int TSLN = 0x8E; - public static final int TSYD = 0x8F; - - // Date and Time - public static final int TDATE = 0x41; - public static final int TDATEVALUE = 0x8C; - public static final int TDAY = 0x43; - public static final int THOUR = 0x47; - public static final int TMINUTE = 0x48; - public static final int TMONTH = 0x44; - public static final int TNOW = 0x4A; - public static final int TSECOND = 0x49; - public static final int TTIME = 0x42; - public static final int TTIMEVALUE = 0x8D; - public static final int TYEAR = 0x45; - // Statistical - public static final int TCOUNTBLANK = 0x015B ; - // lookup - public static final int TCOLUMNS = 0x4D; - public static final int TROWS = 0x4C; - // Database - public static final int TDAVAERAGE = 0x2A; - public static final int TDCOUNT = 0x28; - public static final int TDCOUNTA = 0xC7; - public static final int TDGET = 0xEB; - public static final int TDMAX = 0x2C; - public static final int TDMIN = 0x2B; - public static final int TDPRODUCT = 0xBD; - public static final int TDSTDEV = 0x2D; - public static final int TDSTDEVP = 0xC3; - public static final int TDSUM = 0x29; - public static final int TDVAR = 0x2F; - public static final int TDVARP = 0xC4; - // Text - public static final int TEXACT = 0x75; - public static final int TLEN = 0x20; - public static final int TLOWER = 0x70; - public static final int TMID = 0x1F; // ?????? - public static final int TPROPER = 0x72; - public static final int TREPLACE = 0x77; - public static final int TREPT = 0x1E; - public static final int TT = 0x82; - public static final int TRIM = 0x76; - public static final int TUPPER = 0x71; - public static final int TVALUE = 0x21; - // Logical - public static final int TFALSE = 0x23; - public static final int TNOT = 0x26; - public static final int TTRUE = 0x22; - // Informational - public static final int TERRORTYPE = 0x05; - public static final int TISBLANK = 0x81; - public static final int TISERR = 0x7E; - public static final int TISERROR = 0x03; - public static final int TISLOGICAL = 0xC6; - public static final int TISNA = 0x02; - public static final int TISNONTEXT = 0xBE; - public static final int TISNUMBER = 0x80; - public static final int TISTEXT = 0x7F; - public static final int TN = 0x83; - public static final int TNA = 0x0A; -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java deleted file mode 100644 index 694e3b796710..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenDecoder.java +++ /dev/null @@ -1,498 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.DefinedName; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; - -/** - * The TokenDecoder decodes a byte[] to an equivalent String. The only - * public method apart from the default constructor is the getTokenVector method. - * This method takes an entire formula as a pexcel byte[] and decodes it into - * a series of Tokens. It adds these to a Vector which - * is returned once all the tokens have been decoded. The Decoder supports - * the following tokens.

    - * - * Operands Floating point's, Cell references (absolute and relative), - * cell ranges
    - * Operators +,-,*,/,<,>.<=,>=,<>
    - * Functions All pexcel fixed and varaible argument functions - * - */ -public class TokenDecoder { - - private TokenFactory tf; - private FunctionLookup fl; - private OperatorLookup operatorLookup; - private OperandLookup operandLookup; - private Workbook wb; - - /** - * Default Constructor initializes the TokenFactory for generating - * Token and the SymbolLookup for generating - * Strings from hex values. - */ - public TokenDecoder() { - tf = new TokenFactory(); - fl = new FunctionLookup(); - operatorLookup = new OperatorLookup(); - operandLookup = new OperandLookup(); - } - - /** - * Sets global workbook data needed for defined names - */ - public void setWorkbook(Workbook wb) { - - Debug.log(Debug.TRACE, "TokenDecoder : setWorkbook"); - this.wb = wb; - } - - /** - * Returns a Vector of Token decoded from a - * byte[]. The byte[] is first converted to a - * ByteArrayInputStream as this is the easiest way of reading - * bytes. - * - * @param formula A Pocket Excel Formula byte[] - * @return A Vector of deoded Token - */ - public Vector getTokenVector(byte[] formula) { - - Vector v = new Vector(); - - ByteArrayInputStream bis = new ByteArrayInputStream(formula); - int b = 0 ; - Token t; - - while (bis.available()!=0) - { - b = bis.read(); - - switch (b) { - - case TokenConstants.TAREA3D: - Debug.log(Debug.TRACE, "Decoded 3D Area Cell Reference: "); - v.add(read3DCellAreaRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded 3D Area Cell Reference: " + v.lastElement()); - break; - case TokenConstants.TREF3D: - Debug.log(Debug.TRACE, "Decoded 3D Cell Reference: "); - v.add(read3DCellRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded 3D Cell Reference: " + v.lastElement()); - break; - case TokenConstants.TREF : - v.add(readCellRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded Cell Reference: " + v.lastElement()); - break; - case TokenConstants.TAREA : - v.add(readCellAreaRefToken(bis)); - Debug.log(Debug.TRACE, "Decoded Cell Area Reference: " + v.lastElement()); - break; - case TokenConstants.TNUM : - v.add(readNumToken(bis)); - Debug.log(Debug.TRACE, "Decoded number : " + v.lastElement()); - break; - case TokenConstants.TFUNCVAR : - v.add(readFunctionVarToken(bis)); - Debug.log(Debug.TRACE, "Decoded variable argument function: " + v.lastElement()); - break; - case TokenConstants.TFUNC : - v.add(readFunctionToken(bis)); - Debug.log(Debug.TRACE, "Decoded function: " + v.lastElement()); - break; - case TokenConstants.TSTRING : - v.add(readStringToken(bis)); - Debug.log(Debug.TRACE, "Decoded string: " + v.lastElement()); - break; - case TokenConstants.TNAME : - v.add(readNameToken(bis)); - Debug.log(Debug.TRACE, "Decoded defined name: " + v.lastElement()); - break; - case TokenConstants.TUPLUS: - case TokenConstants.TUMINUS: - case TokenConstants.TPERCENT: - v.add(readOperatorToken(b, 1)); - Debug.log(Debug.TRACE, "Decoded Unary operator : " + v.lastElement()); - break; - case TokenConstants.TADD : - case TokenConstants.TSUB : - case TokenConstants.TMUL : - case TokenConstants.TDIV : - case TokenConstants.TLESS : - case TokenConstants.TLESSEQUALS : - case TokenConstants.TEQUALS : - case TokenConstants.TGTEQUALS : - case TokenConstants.TGREATER : - case TokenConstants.TNEQUALS : - v.add(readOperatorToken(b, 2)); - Debug.log(Debug.TRACE, "Decoded Binary operator : " + v.lastElement()); - break; - - default : - Debug.log(Debug.TRACE, "Unrecognized byte : " + b); - } - } - return v; - } - - /** - * Converts a zero based integer to a char (eg. a=0, b=1). - * It assumes the integer is less than 26. - * - * @param i A 0 based index - * @return The equivalent character - */ - private char int2Char(int i) { - return (char) ('A' + i); - } - - /** - * Reads a Cell Reference token from the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded String Token - */ - private Token readStringToken(ByteArrayInputStream bis) { - - int len = ((int)bis.read())*2; - int options = (int)bis.read(); - Debug.log(Debug.TRACE,"String length is " + len + " and Options Flag is " + options); - byte [] stringBytes = new byte[len]; - int numRead =0; - if ((numRead = bis.read(stringBytes, 0, len)) != len) { - Debug.log(Debug.TRACE,"Expected " + len + " bytes. Could only read " + numRead + " bytes."); - //throw new IOException("Expected " + len + " bytes. Could only read " + numRead + " bytes."); - } - StringBuffer outputString = new StringBuffer(); - outputString.append('"'); - try { - Debug.log(Debug.TRACE,"Using LE encoding"); - outputString.append(new String(stringBytes, "UTF-16LE")); - } catch (IOException eIO) { - outputString.append(new String(stringBytes)); //fall back to default encoding - } - outputString.append('"'); - - return (tf.getOperandToken(outputString.toString(), "STRING")); - } - - /** - * Reads a Defined Name token from the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded Name Token - */ - private Token readNameToken(ByteArrayInputStream bis) { - byte buffer[] = new byte[2]; - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int nameIndex = EndianConverter.readShort(buffer); - bis.skip(12); // the next 12 bytes are unused - Enumeration e = wb.getDefinedNames(); - int i = 1; - while(iByteArrayInputStream
    - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded Cell Reference Token - */ - private Token readCellRefToken(ByteArrayInputStream bis) { - - byte buffer[] = new byte[2]; - String outputString = new String(); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int formulaRow = EndianConverter.readShort(buffer); - int relativeFlags = (formulaRow & 0xC000)>>14; - formulaRow &= 0x3FFF; - int formulaCol = (byte) bis.read(); - - outputString = int2CellStr(formulaRow, formulaCol, relativeFlags); - - return (tf.getOperandToken(outputString,"CELL_REFERENCE")); - } - - /** - * Reads a Cell Reference token from the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded Cell Reference Token - */ - private Token read3DCellRefToken(ByteArrayInputStream bis) { - - byte buffer[] = new byte[2]; - String outputString = new String(); - - bis.skip(10); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int Sheet1 = EndianConverter.readShort(buffer); - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int Sheet2 = EndianConverter.readShort(buffer); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int formulaRow = EndianConverter.readShort(buffer); - int relativeFlags = (formulaRow & 0xC000)>>14; - formulaRow &= 0x3FFF; - int formulaCol = (byte) bis.read(); - String cellRef = "." + int2CellStr(formulaRow, formulaCol, relativeFlags); - if(Sheet1 == Sheet2) { - outputString = "$" + wb.getSheetName(Sheet1) + cellRef; - } else { - outputString = "$" + wb.getSheetName(Sheet1) + cellRef + ":$" + wb.getSheetName(Sheet2) + cellRef; - } - - return (tf.getOperandToken(outputString,"3D_CELL_REFERENCE")); - } - - /** - * Reads a Cell Reference token from the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded Cell Reference Token - */ - private Token read3DCellAreaRefToken(ByteArrayInputStream bis) { - - byte buffer[] = new byte[2]; - String outputString = new String(); - - bis.skip(10); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int Sheet1 = EndianConverter.readShort(buffer); - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int Sheet2 = EndianConverter.readShort(buffer); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int formulaRow1 = EndianConverter.readShort(buffer); - int relativeFlags1 = (formulaRow1 & 0xC000)>>14; - formulaRow1 &= 0x3FFF; - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int formulaRow2 = EndianConverter.readShort(buffer); - int relativeFlags2 = (formulaRow2 & 0xC000)>>14; - formulaRow2 &= 0x3FFF; - - int formulaCol1 = (byte) bis.read(); - int formulaCol2 = (byte) bis.read(); - - String cellRef1 = "." + int2CellStr(formulaRow1, formulaCol1, relativeFlags1); - String cellRef2 = int2CellStr(formulaRow2, formulaCol2, relativeFlags2); - - if(Sheet1 == Sheet2) { - outputString = "$" + wb.getSheetName(Sheet1) + cellRef1 + ":" + cellRef2; - } else { - outputString = "$" + wb.getSheetName(Sheet1) + cellRef1 + ":$" + wb.getSheetName(Sheet2) + "." + cellRef2; - } - - return (tf.getOperandToken(outputString,"3D_CELL_AREA_REFERENCE")); - } - - /** - * Converts a row and col 0 based index to a spreadsheet cell reference. - * It also has a relativeFlags which indicates whether or not the - * Cell Reference is relative or absolute (Absolute is denoted with '$') - * - * 00 = absolute row, absolute col - * 01 = absolute row, relative col - * 10 = relative row, absolute col - * 11 = relative row, relative col - * - * @param row The cell reference 0 based index to the row - * @param col The cell reference 0 based index to the row - * @param relativeFlags Flags indicating addressing of row and column - * @return A String representing a cell reference - */ - private String int2CellStr(int row, int col, int relativeFlags) { - String outputString = ""; - int firstChar = (col + 1) / 26; - - if((relativeFlags & 1) == 0) { - outputString += "$"; - } - - if(firstChar>0) { - int secondChar = (col + 1) % 26; - outputString += Character.toString(int2Char(firstChar - 1)) + Character.toString(int2Char(secondChar - 1)); - } else { - outputString += Character.toString(int2Char(col)); - } - if((relativeFlags & 2) == 0) { - outputString += "$"; - } - outputString += Integer.toString(row+1); - return outputString; - } - - /** - * Reads a Cell Area Reference (cell range) Token from - * the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The equivalent Cell Area Reference (cell range) - * Token - */ - private Token readCellAreaRefToken(ByteArrayInputStream bis) { - byte buffer[] = new byte[2]; - int formulaRow1, formulaRow2; - int formulaCol1, formulaCol2; - - String outputString = new String(); - - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - formulaRow1 = EndianConverter.readShort(buffer); - int relativeFlags1 = (formulaRow1 & 0xC000)>>14; - formulaRow1 &= 0x3FFF; - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - formulaRow2 = EndianConverter.readShort(buffer); - int relativeFlags2 = (formulaRow2 & 0xC000)>>14; - formulaRow2 &= 0x3FFF; - - formulaCol1 = (byte) bis.read(); - formulaCol2 = (byte) bis.read(); - - outputString = int2CellStr(formulaRow1, formulaCol1, relativeFlags1); - outputString += (":" + int2CellStr(formulaRow2, formulaCol2, relativeFlags2)); - - return (tf.getOperandToken(outputString,"CELL_AREA_REFERENCE")); - } - - - /** - * Reads a Number (floating point) token from the ByteArrayInputStream - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded Integer Token - */ - private Token readNumToken(ByteArrayInputStream bis) { - - byte numBuffer[] = new byte[8]; - - for(int j=0;j<8;j++) { - numBuffer[j]=(byte) bis.read(); - } - - return (tf.getOperandToken(Double.toString(EndianConverter.readDouble(numBuffer)),"NUMBER")); - } - - /** - * Read an Operator token from the ByteArrayInputStream - * - * @param b A Pocket Excel number representing an operator. - * @param args The number of arguments this operator takes. - * @return The decoded Operator Token - */ - private Token readOperatorToken(int b, int args) { - - Token t; - - if(b==TokenConstants.TUPLUS) { - t = tf.getOperatorToken("+", args); - } else if(b==TokenConstants.TUMINUS) { - t = tf.getOperatorToken("-", args); - } else { - t = tf.getOperatorToken(operatorLookup.getStringFromID(b), args); - } - return t; - } - - /** - * Read a Function token from the ByteArrayInputStream - * This function can have any number of arguments and this number is read - * in with the record - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded variable argument Function Token - */ - private Token readFunctionVarToken(ByteArrayInputStream bis) { - - int numArgs = 0; - numArgs = bis.read(); - byte buffer[] = new byte[2]; - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int functionID = EndianConverter.readShort(buffer); - return (tf.getFunctionToken(fl.getStringFromID(functionID),numArgs)); - } - - /** - * Read a Function token from the ByteArrayInputStream - * This function has a fixed number of arguments which it will get - * from FunctionLookup. - * - * @param bis The ByteArrayInputStream from which we read the - * bytes. - * @return The decoded fixed argument Function Token - */ - private Token readFunctionToken(ByteArrayInputStream bis) { - - byte buffer[] = new byte[2]; - buffer[0] = (byte) bis.read(); - buffer[1] = (byte) bis.read(); - int functionID = EndianConverter.readShort(buffer); - String functionName = fl.getStringFromID(functionID); - return (tf.getFunctionToken(functionName,fl.getArgCountFromString(functionName))); - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenEncoder.java deleted file mode 100644 index 23af0689d040..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenEncoder.java +++ /dev/null @@ -1,561 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.BoundSheet; -import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.DefinedName; - -/** - * The TokenEncoder encodes a Token to an equivalent pexcel byte[]. The only - * public method apart from the default constructor is the getByte method. - * This method picks an encoder based onthe Token's type or id field and uses - * that encoder to return a byte[] which it returns. This Encoder supports - * Operands Floating point's, Cell references (absolute and relative), - * cell ranges - * Operators +,-,*,/,<,>.<=,>=,<> - * Functions All pexcel fixed and varaible argument functions - * - */ -public class TokenEncoder { - - private FunctionLookup fl; - private String parseString; - private int index; - private Workbook wb; - - /** - * Default Constructor - */ - public TokenEncoder() { - - parseString = new String(); - fl = new FunctionLookup(); - } - - /** - * Sets global workbook data needed for defined names - */ - public void setWorkbook(Workbook wb) { - - this.wb = wb; - } - - - /** - * Return the byte[] equivalent of a Token. The various - * encoders return Vector of Byte instead - * of byte[] because the number of bytes returned varies with each - * Token encoded. After the encoding is finished the Vector - * in converted to a byte[]. - * - * @param t The Token to be encoded - * @return An equivalent Pocket Excel byte[] - */ - public byte[] getByte(Token t) throws IOException { - - Vector tmpByteArray = null; // we use this cause we don't know till after - // the encoding takes place how big the byte [] will be - //index=0; // This class is declared static in - // FormulaHelper so better make sure our index is 0 - if(t.getTokenType()==ParseToken.TOKEN_OPERATOR) { - tmpByteArray = operatorEncoder(t); - } else if (t.getTokenType()==ParseToken.TOKEN_FUNCTION_VARIABLE || t.getTokenType()==ParseToken.TOKEN_FUNCTION_FIXED){ - tmpByteArray = functionEncoder(t); - } else { // Operands and functions - switch(t.getTokenID()) { - case TokenConstants.TNAME : - tmpByteArray = nameDefinitionEncoder(t); - break; - case TokenConstants.TREF3D : - tmpByteArray = threeDCellRefEncoder(t); - break; - case TokenConstants.TAREA3D: - tmpByteArray = threeDAreaRefEncoder(t); - break; - case TokenConstants.TREF : - tmpByteArray = cellRefEncoder(t); - break; - case TokenConstants.TAREA : - tmpByteArray = areaRefEncoder(t); - break; - case TokenConstants.TNUM : - tmpByteArray = numEncoder(t); - break; - case TokenConstants.TSTRING : - tmpByteArray = stringEncoder(t); - break; - default : - Debug.log(Debug.ERROR, "Encoder found unrecognized Token"); - } - } - - byte cellRefArray[] = new byte[tmpByteArray.size()]; - int i = 0; - String s = new String(); - for(Enumeration e = tmpByteArray.elements();e.hasMoreElements();) { - Byte tmpByte = (Byte) e.nextElement(); - s = s + tmpByte + " "; - cellRefArray[i] = tmpByte.byteValue(); - i++; - } - Debug.log(Debug.TRACE, "Encoding Token " + t.getValue() + " as [" + s + "]"); - return cellRefArray; - } - - /** - * An Operator Encoder. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector operatorEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - return tmpByteArray; - } - - - /** - * A String Encoder. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector stringEncoder(Token t) throws IOException{ - - Vector tmpByteArray = new Vector(); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - tmpByteArray.add(new Byte((byte)(t.getValue().length()))); - tmpByteArray.add(new Byte((byte)0x01)); - byte [] stringBytes = t.getValue().getBytes("UTF-16LE"); - for (int i=0; iToken
    to be encoded - * @return A Vector of pexcel Byte - */ - private Vector numEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - - double cellLong = (double) Double.parseDouble(t.getValue()); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - byte[] tempByte = EndianConverter.writeDouble(cellLong); - for(int byteIter=0;byteIter=parseString.length()) { - status = false; - } else { - ch = parseString.charAt(index); - } - } while(isDigit(ch) && status); - return Integer.parseInt(rowStr)-1; // Pexcel uses a 0 based index - } - - /** - * A Cell Reference Encoder (It supports absolute and relative addressing) - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private byte[] encodeCellCoordinates(String cellCoordinates) { - int col = 0, row = 0; - int addressing = 0xC000; - - index = 0; - parseString = cellCoordinates; - Debug.log(Debug.TRACE,"Encoding cell coordinates " + cellCoordinates); - if(cellCoordinates.charAt(index)=='$') { - addressing &= 0x8000; - index++; - } - col = column(); - if(cellCoordinates.charAt(index)=='$') { - addressing &= 0x4000; - index++; - } - row = row(); // Pexcel uses a 0 based index - row |= addressing; - byte tokenBytes[] = new byte[3]; - tokenBytes[0] = (byte)row; - tokenBytes[1] = (byte)(row>>8); - tokenBytes[2] = (byte)col; - return tokenBytes; - } - - /** - * A name definition Encoder - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector nameDefinitionEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - - String nameString = t.getValue(); - Debug.log(Debug.TRACE,"NameDefinitionEncoder : " + nameString); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - Enumeration e = wb.getDefinedNames(); - DefinedName dn; - String name; - int definedNameIndex = 0; - do { - dn = (DefinedName)e.nextElement(); - name = dn.getName(); - Debug.log(Debug.TRACE,"Name pulled from DefinedName : " + name); - definedNameIndex++; - } while(!nameString.equalsIgnoreCase(name) && e.hasMoreElements()); - - tmpByteArray.add(new Byte((byte)definedNameIndex)); - tmpByteArray.add(new Byte((byte)0x00)); - - for(int i = 0;i < 12;i++) { - tmpByteArray.add(new Byte((byte)0x00)); - } - - return tmpByteArray; - } - /** - * A Cell Reference Encoder. It supports absolute and relative addressing - * but not sheetnames. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector cellRefEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - - tmpByteArray.add(new Byte((byte)t.getTokenID())); - byte cellRefBytes[] = encodeCellCoordinates(t.getValue()); - for(int i = 0;i < cellRefBytes.length;i++) { - tmpByteArray.add(new Byte(cellRefBytes[i])); - } - return tmpByteArray; - } - - /** - * This function will find the sheetname index for a given String - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private short findSheetIndex(String s) { - - short sheetIndex = 0; - String savedName; - String sheetName; - if (s.startsWith("$")) { - sheetName = s.substring(1,s.length()); // Remove $ - } else { - sheetName = s.substring(0,s.length()); - } - Debug.log(Debug.TRACE,"Searching for Worksheet : " + sheetName); - Vector names = wb.getWorksheetNames(); - Enumeration e = names.elements(); - do { - savedName = (String) e.nextElement(); - sheetIndex++; - } while(!savedName.equalsIgnoreCase(sheetName) && e.hasMoreElements()); - - Debug.log(Debug.TRACE,"Setting sheetindex to " + sheetIndex); - return (short)(sheetIndex-1); - } - - /** - * A 3D Cell reference encoder - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector threeDCellRefEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - parseString = t.getValue(); - Debug.log(Debug.TRACE,"Encoding 3D Cell reference " + t); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - tmpByteArray.add(new Byte((byte)0xFF)); - tmpByteArray.add(new Byte((byte)0xFF)); - for(int i = 0;i < 8;i++) { - tmpByteArray.add(new Byte((byte)0x00)); - } - - String sheetRef = parseString.substring(0, parseString.indexOf('.') + 1); - if (sheetRef.indexOf(':')!=-1) { - sheetRef = parseString.substring(0, parseString.indexOf(':')); - short sheetNum1 = findSheetIndex(sheetRef); - sheetRef = parseString.substring(parseString.indexOf(':') + 1, parseString.length()); - short sheetNum2 = findSheetIndex(sheetRef); - tmpByteArray.add(new Byte((byte)sheetNum1)); - tmpByteArray.add(new Byte((byte)0x00)); - tmpByteArray.add(new Byte((byte)sheetNum2)); - tmpByteArray.add(new Byte((byte)0x00)); - } else { - sheetRef = parseString.substring(0, parseString.indexOf('.')); - short sheetNum = findSheetIndex(sheetRef); - tmpByteArray.add(new Byte((byte)sheetNum)); - tmpByteArray.add(new Byte((byte)0x00)); - tmpByteArray.add(new Byte((byte)sheetNum)); - tmpByteArray.add(new Byte((byte)0x00)); - } - String s = parseString.substring(parseString.indexOf('.') + 1, parseString.length()); - Debug.log(Debug.TRACE,"Parsing : " + s); - byte cellRefBytes[] = encodeCellCoordinates(s); - for(int i = 0;i < cellRefBytes.length;i++) { - tmpByteArray.add(new Byte(cellRefBytes[i])); - } - return tmpByteArray; - } - /** - * A 3D Area Reference Encoder. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector threeDAreaRefEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - parseString = t.getValue(); - Debug.log(Debug.TRACE,"Encoding 3D Area reference " + t); - tmpByteArray.add(new Byte((byte)t.getTokenID())); - tmpByteArray.add(new Byte((byte)0xFF)); - tmpByteArray.add(new Byte((byte)0xFF)); - for(int i = 0;i < 8;i++) { - tmpByteArray.add(new Byte((byte)0x00)); - } - - String param1= parseString.substring(0, parseString.indexOf(':')); - String cellRef1 = param1.substring(parseString.indexOf('.') + 1, param1.length()); - String sheetRef1 = param1.substring(0, param1.indexOf('.')); - short sheetNum1 = findSheetIndex(sheetRef1); - - String param2 = parseString.substring(parseString.indexOf(':') + 1, parseString.length()); - Debug.log(Debug.TRACE,"param2: " + param2); - String cellRef2 = param2.substring(param2.indexOf('.') + 1, param2.length()); - Debug.log(Debug.TRACE,"cellRef2: " + cellRef2); - - if(param2.indexOf('.')==-1) { - tmpByteArray.add(new Byte((byte)sheetNum1)); - tmpByteArray.add(new Byte((byte)0x00)); - tmpByteArray.add(new Byte((byte)sheetNum1)); - tmpByteArray.add(new Byte((byte)0x00)); - } else { - String sheetRef2 = param2.substring(0, param2.indexOf('.')); - short sheetNum2 = findSheetIndex(sheetRef2); - tmpByteArray.add(new Byte((byte)sheetNum1)); - tmpByteArray.add(new Byte((byte)0x00)); - tmpByteArray.add(new Byte((byte)sheetNum2)); - tmpByteArray.add(new Byte((byte)0x00)); - } - - byte cellRefBytes1[] = encodeCellCoordinates(cellRef1); - byte cellRefBytes2[] = encodeCellCoordinates(cellRef2); - - tmpByteArray.add(new Byte(cellRefBytes1[0])); - tmpByteArray.add(new Byte(cellRefBytes1[1])); - - tmpByteArray.add(new Byte(cellRefBytes2[0])); - tmpByteArray.add(new Byte(cellRefBytes2[1])); - - tmpByteArray.add(new Byte(cellRefBytes1[2])); - tmpByteArray.add(new Byte(cellRefBytes2[2])); - - return tmpByteArray; - } - - /** - * A Cell Range Encoder. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector areaRefEncoder(Token t) { - - Vector tmpByteArray = new Vector(); - - tmpByteArray.add(new Byte((byte)t.getTokenID())); - String param = t.getValue(); - String cellRef1 = new String(); - String cellRef2 = new String(); - - if(param.indexOf(':')==-1) { - Debug.log(Debug.ERROR, "Invalid Cell Range, could not find :"); - } else { - cellRef1 = param.substring(0, param.indexOf(':')); - cellRef2 = param.substring(param.indexOf(':') + 1, param.length()); - } - byte cellRefBytes1[] = encodeCellCoordinates(cellRef1); - byte cellRefBytes2[] = encodeCellCoordinates(cellRef2); - - tmpByteArray.add(new Byte(cellRefBytes1[0])); - tmpByteArray.add(new Byte(cellRefBytes1[1])); - - tmpByteArray.add(new Byte(cellRefBytes2[0])); - tmpByteArray.add(new Byte(cellRefBytes2[1])); - - tmpByteArray.add(new Byte(cellRefBytes1[2])); - tmpByteArray.add(new Byte(cellRefBytes2[2])); - - return tmpByteArray; - } - - /** - * A Function Encoder. - * - * @param t Token to be encoded - * @return A Vector of pexcel Byte - */ - private Vector functionEncoder(Token t) { - Vector tmpByteArray = new Vector(); - - int id = t.getTokenID(); - if(t.getTokenType()==ParseToken.TOKEN_FUNCTION_VARIABLE) { - tmpByteArray.add(new Byte((byte)TokenConstants.TFUNCVAR)); - tmpByteArray.add(new Byte((byte)t.getNumArgs())); - } else { - tmpByteArray.add(new Byte((byte)TokenConstants.TFUNC)); - } - - tmpByteArray.add(new Byte((byte)id)); - tmpByteArray.add(new Byte((byte)(id>>8))); - return tmpByteArray; - } - - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenFactory.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenFactory.java deleted file mode 100644 index 23efd62cd2ce..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/TokenFactory.java +++ /dev/null @@ -1,123 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -import org.openoffice.xmerge.util.Debug; - -/** - * This is the Factory class responsible for creating a Token. - * It has three methods for returning three different types of Tokens - * (Operator, Operand and Function). - * This utility class is used by either the FormulaParser or the - * FormulaDecoder. - */ -public class TokenFactory { - - private OperatorLookup operatorLookup; - private OperandLookup operandLookup; - private FunctionLookup fl; - - /** - * Default Constructor - */ - public TokenFactory() { - operatorLookup = new OperatorLookup(); - operandLookup = new OperandLookup(); - fl = new FunctionLookup(); - } - - /** - * The Factory method for creating function Tokens - * - * @return The created Token - */ - public Token getFunctionToken(String s, int args) { - Token t = null; - // We will have to fix this later to include fixed function tokens - // Also will need to handle errors where functions names are incorrect??? - Debug.log(Debug.TRACE,"TokenFactory creating function Token : " + s); - try { - t = new Token(s, ParseToken.TOKEN_FUNCTION_VARIABLE, fl.getIDFromString(s), args); - } catch (UnsupportedFunctionException eFn) { - - Debug.log(Debug.ERROR, eFn.getMessage()); - } - return t; - } - - /** - * The Factory method for creating operator Tokens - * - * @return The created Token - */ - public Token getOperatorToken(String s, int args) { - - Token t = null; - - Debug.log(Debug.TRACE,"TokenFactory creating operator Token : " + s); - try { - if(args==1) { - if(s.equals("+")) { - t = new Token(s, ParseToken.TOKEN_OPERATOR, operatorLookup.getIDFromString("UNARY_PLUS"), args); - } else if (s.equals("-")) { - t = new Token(s, ParseToken.TOKEN_OPERATOR, operatorLookup.getIDFromString("UNARY_MINUS"), args); - } else { - t = new Token(s, ParseToken.TOKEN_OPERATOR, operatorLookup.getIDFromString(s), args); - } - } else { - t = new Token(s, ParseToken.TOKEN_OPERATOR, operatorLookup.getIDFromString(s), args); - } - } catch (UnsupportedFunctionException eFn) { - Debug.log(Debug.ERROR, eFn.getMessage()); - } - return t; - } - - /** - * The Factory method for creating Operand Tokens - * - * @return The created Token - */ - public Token getOperandToken(String s, String type) { - Token t = null; - - Debug.log(Debug.TRACE,"TokenFactory creating operand (" + type + ") Token : " + s); - try { - t = new Token(s, ParseToken.TOKEN_OPERAND, operandLookup.getIDFromString(type), 0); - } catch (UnsupportedFunctionException eFn) { - Debug.log(Debug.ERROR, eFn.getMessage()); - } - - return t; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/UnsupportedFunctionException.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/UnsupportedFunctionException.java deleted file mode 100644 index dcd2bf61a0c4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/UnsupportedFunctionException.java +++ /dev/null @@ -1,41 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula; - -/* - * Exception thrown when a function specified in a calc formula has no equivalent in Pocket Excel - * - * @author : Mike Hayes - */ - -public class UnsupportedFunctionException extends Exception { - UnsupportedFunctionException(String message) { - super(message); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml deleted file mode 100644 index fa3737f9dc63..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/build.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/makefile.mk deleted file mode 100644 index c549fec7ebeb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcxs_pexcel -PRJ=../../../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/package.html deleted file mode 100644 index 649879a407f6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/package.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - org.openoffice.xmerge.converter.xml.sxc.pexcel.records.formula package - - - - -

    This package contains the classes necessary for converting pexcel formula -to and from StarCalc Formula.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/package.html deleted file mode 100644 index 7d803d1feba8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/package.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - org.openoffice.xmerge.converter.xml.sxc.pexcel.records package - - - - -

    This package contains the objects that represent BIFF Records for the -pocket excel format. Each one implements the BIFF Record abstract class which -contains three basic functions (read, write and getBiffType). BIFF Records -which are not used do not contain setter's or getter's for their member -variables as some records have a large number of variables. It should be up -to the implementer which attributes get set and which get set to default -values.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwDocument.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwDocument.java deleted file mode 100644 index 839a63e8bec9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwDocument.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw; - -import org.w3c.dom.Document; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - * This class is an implementation of OfficeDocument for - * the SXW format. - */ -public class SxwDocument extends OfficeDocument { - - - /** - * Constructor with arguments to set name. - * - * @param name The name of the Document - */ - public SxwDocument(String name) { - super(name); - } - - - /** - * Constructor with arguments to set name, the - * namespaceAware flag, and the validating - * flag. - * - * @param name The name of the Document. - * @param namespaceAware The value of the namespaceAware flag. - * @param validating The value of the validating flag. - */ - public SxwDocument(String name, boolean namespaceAware, boolean validating) { - - super(name, namespaceAware, validating); - } - - - /** - * Returns the Office file extension for the SXW format. - * - * @return The Office file extension for the SXW format. - */ - protected String getFileExtension() { - return OfficeConstants.SXW_FILE_EXTENSION; - } - - - /** - * Returns the Office attribute for the SXW format. - * - * @return The Office attribute for the SXW format. - */ - protected String getOfficeClassAttribute() { - return OfficeConstants.SXW_TYPE; - } - - /** - * Method to return the MIME type of the document. - * - * @return String The document's MIME type. - */ - protected final String getDocumentMimeType() { - return OfficeConstants.SXW_MIME_TYPE; - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwPluginFactory.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwPluginFactory.java deleted file mode 100644 index 23e2608c242e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/SxwPluginFactory.java +++ /dev/null @@ -1,78 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw; - -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.PluginFactory; -import org.openoffice.xmerge.PluginFactory; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.util.registry.ConverterInfo; - -/** - * General implementation of the PluginFactory interface - * for SXW documents. - * - * @see org.openoffice.xmerge.DocumentDeserializer - * @see org.openoffice.xmerge.DocumentMerger - * @see org.openoffice.xmerge.DocumentSerializer - */ -public abstract class SxwPluginFactory extends PluginFactory { - - /** - * Constructor that caches the ConvertInfo that - * corresponds to the registry information for this plug-in. - * - * @param ci ConvertInfo object. - */ - public SxwPluginFactory (ConverterInfo ci) { - super(ci); - } - - - public Document createOfficeDocument(String name, InputStream is) - throws IOException { - - // read zipped XML stream - SxwDocument doc = new SxwDocument(name); - doc.read(is); - return doc; - } - - public Document createOfficeDocument(String name, InputStream is,boolean isZip) - throws IOException { - - // read XML stream - SxwDocument doc = new SxwDocument(name); - doc.read(is,isZip); - return doc; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/ConverterCapabilitiesImpl.java deleted file mode 100644 index 671ae420bcfc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/ConverterCapabilitiesImpl.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - *

    AportisDoc implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.sxw.aportisdoc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarWriter XML to/from AportisDoc conversions. The - * ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_DOCUMENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_DOCUMENT_CONTENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_HEADING.equals(tag)) - return true; - else if (OfficeConstants.TAG_ORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_UNORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_ITEM.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_HEADER.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPAN.equals(tag)) - return true; - else if (OfficeConstants.TAG_HYPERLINK.equals(tag)) - return true; - else if (OfficeConstants.TAG_LINE_BREAK.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPACE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TAB_STOP.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_SPACE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_SPACE_COUNT.equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocConstants.java deleted file mode 100644 index 86627c6d7ed3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocConstants.java +++ /dev/null @@ -1,69 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.openoffice.xmerge.converter.palm.PdbUtil; - -/** - * Constants used for encoding and decoding the AportisDoc format. - * - * @author Herbie Ong - */ -interface DocConstants { - - /** Creator id. */ - public static final int CREATOR_ID = PdbUtil.intID("REAd"); - - /** Type id. */ - public static final int TYPE_ID = PdbUtil.intID("TEXt"); - - /** Constant for uncompressed version. */ - public static final short UNCOMPRESSED = 1; - - /** Constant for compressed version. */ - public static final short COMPRESSED = 2; - - /** Constant used for spare fields. */ - public static final int SPARE = 0; - - /** AportisDoc record size. */ - public static final short TEXT_RECORD_SIZE = 4096; - - /** Constant for encoding scheme. */ - public static final String ENCODING = "8859_1"; - - /** Constant for TAB character. */ - public final static char TAB_CHAR = '\t'; - - /** Constant for EOL character. */ - public final static char EOL_CHAR = '\n'; - - /** Constant for SPACE character. */ - public final static char SPACE_CHAR = ' '; -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocDecoder.java deleted file mode 100644 index 9651e5b10b4d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocDecoder.java +++ /dev/null @@ -1,304 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.List; -import java.util.ArrayList; - -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.util.Resources; -import org.openoffice.xmerge.util.Debug; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxw.DocumentDeserializerImpl} - * to decode the AportisDoc format. It currently decodes - * the text content into a single String object. - * - * @author Herbie Ong - */ -final class DocDecoder implements DocConstants { - - /** For decoding purposes. */ - private final static int COUNT_BITS = 3; - - /** Resources object for I18N. */ - private Resources res = null; - - - /** - * Default constructor creates a header and a text buffer - * for holding all the text in the AportisDoc database. - */ - DocDecoder() { - res = Resources.getInstance(); - } - - - /** - * Decode the text records into a single String - * of text content. - * - * @param Record Record array holding AportisDoc - * contents. - * - * @throws IOException If any I/O error occurs. - */ - String parseRecords(Record[] recs) throws IOException { - - // read the header record - HeaderInfo header = readHeader(recs[0].getBytes()); - - dumpHeader(header); - - // store all the characters in textBuffer - StringBuffer textBuffer = new StringBuffer(header.textLen); - - switch (header.version) { - - case COMPRESSED: - for (int i = 1; i <= header.textRecordCount; i++) { - - byte[] bytes = decompress(recs[i].getBytes(), - header.textRecordSize); - log("processing " + bytes.length + " bytes"); - String str = new String(bytes, ENCODING); - textBuffer.append(str); - } - - break; - - case UNCOMPRESSED: - for (int i = 1; i <= header.textRecordCount; i++) { - - byte[] bytes = recs[i].getBytes(); - log("processing " + bytes.length + " bytes"); - String str = new String(bytes, ENCODING); - textBuffer.append(str); - } - - break; - - default: - throw new IOException(res.getString("UNKNOWN_DOC_VERSION")); - - } - - return textBuffer.toString(); - } - - - /** - *

    Decompress the byte array.

    - * - *

    The resulting uncompressed byte array should - * be within textRecordSize length, definitely - * within twice the size it claims, else treat it as a problem - * with the encoding of that PDB and throw - * IOException.

    - * - * @param bytes Compressed byte array. - * @param textRecordSize Size of uncompressed - * byte array. - * - * @throws IOException If textRecordSize < - * cBytes.length. - */ - private byte[] decompress(byte[] cBytes, int textRecordSize) - throws IOException { - - // create byte array for storing uncompressed bytes - // it should be within textRecordSize range, definitely - // within twice of textRecordSize! if not, then - // an ArrayIndexOutOfBoundsException will get thrown, - // and it should be converted into an IOException, and - // treat it as a conversion error. - byte[] uBytes = new byte[textRecordSize*2]; - - int up = 0; - int cp = 0; - - try { - - while (cp < cBytes.length) { - - int c = cBytes[cp++] & 0xff; - - // codes 1...8 mean copy that many bytes - if (c > 0 && c < 9) { - - while (c-- > 0) - uBytes[up++] = cBytes[cp++]; - } - - // codes 0, 9...0x7F represent themselves - else if (c < 0x80) { - uBytes[up++] = (byte) c; - } - - // codes 0xC0...0xFF represent "space + ascii char" - else if (c >= 0xC0) { - uBytes[up++] = (byte) ' '; - uBytes[up++] = (byte) (c ^ 0x80); - } - - // codes 0x80...0xBf represent sequences - else { - c <<= 8; - c += cBytes[cp++] & 0xff; - int m = (c & 0x3fff) >> COUNT_BITS; - int n = c & ((1 << COUNT_BITS) - 1); - n += COUNT_BITS; - while (n-- > 0) { - uBytes[up] = uBytes[up - m]; - up++; - } - } - } - - } catch (ArrayIndexOutOfBoundsException e) { - - throw new IOException( - res.getString("DOC_TEXT_RECORD_SIZE_EXCEEDED")); - } - - // note that ubytes may be larger that the amount of - // uncompressed bytes, so trim it to another byte array - // with the exact size. - byte[] textBytes = new byte[up]; - System.arraycopy(uBytes, 0, textBytes, 0, up); - - return textBytes; - } - - - /** - * Read the header byte array. - * - * @param bytes byte array containing header - * record data. - * - * @return HeaderInfo object. - * - * @throws IOException If any I/O error occurs. - */ - private HeaderInfo readHeader(byte[] bytes) throws IOException { - - HeaderInfo header = new HeaderInfo(); - - ByteArrayInputStream bis = new ByteArrayInputStream(bytes); - DataInputStream dis = new DataInputStream(bis); - - // Normally the first 2 bytes comprised of the version - // which should either be COMPRESSED or UNCOMPRESSED - // SmartDoc/Quickword would add a 0x01 to the first - // byte, thus their version would be 0x0101 for UNCOMPRESSED - // instead of 0x0001 and 0x0102 for UNCOMPRESSED instead of - // 0x0002. - - dis.readByte(); - header.version = dis.readByte(); - - // read extra 2 unused bytes - dis.readShort(); - - // Read the text length, this should be unsigned 4 bytes. - // We could store the read value into a long, but then - // our current buffer limit is the max positive of an int. - // That is a large enough limit, thus we shall stay with - // storing the value in an int. If it exceeds, then - // an IOException should be thrown. - header.textLen = dis.readInt(); - if (header.textLen < 0) { - throw new IOException(res.getString("DOC_TEXT_LENGTH_EXCEEDED")); - } - - // read the number of records - unsigned 2 bytes - header.textRecordCount = ((int) dis.readShort()) & 0x0000ffff; - - // read the record size - unsigned 2 bytes - header.textRecordSize = ((int) dis.readShort()) & 0x0000ffff; - - // read extra 4 unused bytes - dis.readInt(); - - return header; - } - - - /** - * Prints out header info into log. Used for debugging purposes only. - * - * @param header HeaderInfo structure. - */ - private void dumpHeader(HeaderInfo header) { - - log(""); - } - - - /** - * Sends message to the log object. - * - * @param str Debug string message. - */ - private void log(String str) { - Debug.log(Debug.TRACE, str); - } - - - /** - * Inner class to store AportisDoc header information. - */ - private class HeaderInfo { - - /** length of text section */ - int textLen = 0; - - /** number of text records */ - int textRecordCount = 0; - - /** - * size of a text record. This is normally the same as - * TEXT_RECORD_SIZE, but some applications may modify this. - */ - int textRecordSize = 0; - - /** compression type */ - int version = 0; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocEncoder.java deleted file mode 100644 index 90cf0e5cd1f1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocEncoder.java +++ /dev/null @@ -1,214 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.List; -import java.util.ArrayList; - -import org.openoffice.xmerge.converter.palm.Record; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxw.DocumentSerializerImpl - * DocumentSerializerImpl} to encode the AportisDoc format. - * It does not deal with any XML tags. It only knows how to encode - * from String. - * - * @author Herbie Ong - */ -final class DocEncoder implements DocConstants { - - /** Text buffer to contain text section. */ - private StringBuffer textBuffer = null; - - /** Length of text section. */ - private int textLen = 0; - - /** Number of text records. */ - private int textRecCount = 0; - - - /** - * Default constructor creates a header and - * a text buffer for holding all the text in - * the AportisDoc database. - */ - DocEncoder() { - - textBuffer = new StringBuffer(TEXT_RECORD_SIZE); - } - - - /** - * This method appends text into the text section of - * the AportisDoc database. - * - * @param text String to append. - */ - void addText(String text) { - - textBuffer.append(text); - } - - - /** - * This method appends text into the text section of - * the AportisDoc database. - * - * @param text char array to append. - */ - void addText(char[] text) { - - textBuffer.append(text); - } - - - /** - * This method appends text character into the text - * section of the AportisDoc database. - * - * @param text char to append. - */ - void addText(char text) { - - textBuffer.append(text); - } - - - /** - * This method encodes the information given to a - * palm Record array in the AportisDoc - * database format. - * - * @return Record array holding AportisDoc - * contents. - * - * @throws IOException If any I/O error occurs. - */ - Record[] getRecords() throws IOException { - - byte textBytes[] = processTextBuffer(); - textLen = textBytes.length; - textRecCount = (short) (textBytes.length / TEXT_RECORD_SIZE); - - // recBytes to hold a record of bytes at a time - byte recBytes[] = new byte[TEXT_RECORD_SIZE]; - int pos = 0; - - List textRecords = new ArrayList(textRecCount + 1); - - // split textBytes into chunks of Record objects - // and store in textRecords object. - for (int i = 0; i < textRecCount; i++) { - - System.arraycopy(textBytes, pos, recBytes, 0, recBytes.length); - pos += recBytes.length; - Record zRec = new Record(recBytes); - textRecords.add(zRec); - } - - // there's more if ... - - if (pos < textLen) { - - textRecCount++; - - recBytes = new byte[textLen - pos]; - System.arraycopy(textBytes, pos, recBytes, 0, recBytes.length); - Record rec = new Record(recBytes); - textRecords.add(rec); - } - - // construct the Record array and copy - // references from textRecords. - - Record[] allRecords = new Record[textRecords.size() + 1]; - - allRecords[0] = new Record(getHeaderBytes()); - - for (int i = 1; i < allRecords.length; i++) { - - allRecords[i] = (Record) textRecords.get(i-1); - } - - return allRecords; - } - - - /** - * This method converts the text buffer into a byte - * array with the proper encoding of the text section of the - * AportisDoc format. - * - * TODO: do compression. - * - * @return byte[] Converted byte array of text - * section. - * - * @throws IOException If any I/O error occurs. - */ - private byte[] processTextBuffer() throws IOException - { - String str = textBuffer.toString(); - byte bytes[] = str.getBytes(ENCODING); - - return bytes; - } - - - /** - * This method produces the byte array for the header. - * - * @return byte array containing header record data. - * - * @throws IOException If any I/O error occurs. - */ - private byte[] getHeaderBytes() throws IOException - { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - DataOutputStream dos = new DataOutputStream(bos); - - // TODO: for now, we shall use UNCOMPRESSED. - // later, we need to use COMPRESSED or a setting. - dos.writeShort(UNCOMPRESSED); - dos.writeShort(SPARE); - dos.writeInt(textLen); - dos.writeShort(textRecCount); - dos.writeShort(TEXT_RECORD_SIZE); - dos.writeInt(SPARE); - - byte[] bytes = bos.toByteArray(); - - return bytes; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentDeserializerImpl.java deleted file mode 100644 index 98022bcf47d9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentDeserializerImpl.java +++ /dev/null @@ -1,313 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.Text; - -import java.io.IOException; -import java.util.Enumeration; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.PdbDecoder; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.Debug; - -/** - *

    AportisDoc implementation of DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.aportisdoc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts an file in AportisDoc PDB format to StarOffice - * XML format.

    - * - *

    The deserialize method uses a DocDecoder - * to read the AportisDoc format into a String object, then - * it calls buildDocument to create a SxwDocument - * object from it.

    - * - * @author Herbie Ong - */ -public final class DocumentDeserializerImpl - implements OfficeConstants, DocConstants, DocumentDeserializer { - - /** A ConvertData object assigned to this object. */ - private ConvertData cd = null; - - - /** - * Constructor that assigns the given ConvertData - * to this object as input. - * - * @param cd A ConvertData object to read data for - * the conversion process by the deserialize - * method. - */ - public DocumentDeserializerImpl(ConvertData cd) { - this.cd = cd; - } - - - /** - * Convert the given ConvertData object - * into a SxwDocument object. - * - * @return Resulting SxwDocument object. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize() throws IOException, ConvertException { - - int numberOfPDBs = cd.getNumDocuments(); - Document doc = null; - int i=0; - ConvertData cdOut; - Enumeration e = cd.getDocumentEnumeration(); - while (e.hasMoreElements()) { - PalmDocument palmDoc = (PalmDocument) e.nextElement(); - PalmDB pdb = palmDoc.getPdb(); - - log(""); - log(""); - - Record[] recs = pdb.getRecords(); - String docName = palmDoc.getName(); - DocDecoder decoder = new DocDecoder(); - String text = decoder.parseRecords(recs); - doc = buildDocument(docName, text); - - log(""); - } - - return doc; - } - - - /** - * Parses the text content of an AportisDoc format and build a - * SxwDocument. - * - * @param docName Name of Document. - * @param str Text content of AportisDoc format. - * - * @return Resulting SxwDocument object. - * - * @throws IOException If any I/O error occurs. - */ - private SxwDocument buildDocument(String docName, String str) - throws IOException { - - // create minimum office xml document. - SxwDocument sxwDoc = new SxwDocument(docName); - sxwDoc.initContentDOM(); - - org.w3c.dom.Document doc = sxwDoc.getContentDOM(); - - // Grab hold of the office:body tag, - // Assume there should be one. - // This is where top level paragraphs will append to. - NodeList list = doc.getElementsByTagName(TAG_OFFICE_BODY); - Node bodyNode = list.item(0); - - // Store all the text in a character array. - char[] text = str.toCharArray(); - - // startIndex has 2 purposes: - // if value is -1, it means that there are no text characters - // needed to be processed for a Text node. if value >= 0, it - // is the index of the starting position of a text section - // for a Text node. - int startIndex = -1; - - // Create a paragraph node to start with. - Element paraNode = doc.createElement(TAG_PARAGRAPH); - - log(""); - - for (int i = 0; i < text.length; i++) { - - switch (text[i]) { - - case TAB_CHAR: - - // Check if there are text to be processed first. - if (startIndex >= 0) { - addTextNode(doc, paraNode, text, startIndex, i - 1); - startIndex = -1; - } - - // Then, add tab element. - Element tabNode = doc.createElement(TAG_TAB_STOP); - paraNode.appendChild(tabNode); - - log(""); - break; - - case EOL_CHAR: - - // Check if there are text to be processed first. - if (startIndex >= 0) { - addTextNode(doc, paraNode, text, startIndex, i - 1); - startIndex = -1; - } - - // Then, add the current paragraph to body. - bodyNode.appendChild(paraNode); - - // Create another paragraph element. - paraNode = doc.createElement(TAG_PARAGRAPH); - - log(""); - log(""); - break; - - case SPACE_CHAR: - - // count is the number of space chars from i - int count = 0; - - // Do a look ahead and count the number of space chars - while (text[i + 1 + count] == SPACE_CHAR) { - count++; - } - - // Need to build a space node ONLY if count is > 1. - - if (count > 0) { - - // Check if there are text to be processed first - if (startIndex >= 0) { - addTextNode(doc, paraNode, text, - startIndex, i); - startIndex = -1; - } - - // Then, create a space element - // with the proper attribute. - Element spaceNode = doc.createElement(TAG_SPACE); - spaceNode.setAttribute(ATTRIBUTE_SPACE_COUNT, - Integer.toString(count)); - - paraNode.appendChild(spaceNode); - - // reposition i to the last space character. - i += count; - - log(""); - - } else { - - // If there are no chars for text node yet, - // consider this one. - if (startIndex < 0) { - - startIndex = i; - log(""); - } - } - - break; - - default: - - // If there are no chars for text node yet, - // this should be the start. - if (startIndex < 0) { - - startIndex = i; - log(""); - } - - break; - } - } - - int lastIndex = text.length - 1; - - // Check if there are text to be processed first. - - if (startIndex >= 0) { - addTextNode(doc, paraNode, text, startIndex, lastIndex); - } - - // Then, add the last paragraph element if it is not added yet. - if (text[lastIndex] != EOL_CHAR) { - bodyNode.appendChild(paraNode); - } - - log(""); - - return sxwDoc; - } - - - /** - * Add a Text Node to the given paragraph node with the - * text starting at the given startPos until - * endPos. - * - * @param doc org.w3c.dom.Document object for creating - * Node objects. - * @param para The current paragraph Node to append - * text Node. - * @param text Array of characters containing text. - * @param startPos Starting index position for text value. - * @param endPos End index position for text value. - */ - private void addTextNode(org.w3c.dom.Document doc, Node para, char text[], - int startPos, int endPos) { - - String str = new String(text, startPos, endPos - startPos + 1); - Text textNode = doc.createTextNode(str); - para.appendChild(textNode); - log(str); - log(""); - } - - /** - * Sends message to the log object. - * - * @param str Debug message. - */ - private void log(String str) { - - Debug.log(Debug.TRACE, str); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentMergerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentMergerImpl.java deleted file mode 100644 index 23b236b41e6a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentMergerImpl.java +++ /dev/null @@ -1,99 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.diff.ParaNodeIterator; -import org.openoffice.xmerge.merger.diff.IteratorLCSAlgorithm; -import org.openoffice.xmerge.merger.merge.DocumentMerge; -import org.openoffice.xmerge.merger.merge.CharacterBaseParagraphMerge; -import org.openoffice.xmerge.util.Debug; - - -/** - * AportisDoc implementation of DocumentMerger - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.aportisdoc.PluginFactoryImpl - * PluginFactoryImpl}.

    - */ -public class DocumentMergerImpl implements DocumentMerger { - - private ConverterCapabilities cc_; - private org.openoffice.xmerge.Document orig = null; - - public DocumentMergerImpl(org.openoffice.xmerge.Document doc, ConverterCapabilities cc) { - cc_ = cc; - this.orig = doc; - } - - public void merge(org.openoffice.xmerge.Document modifiedDoc) throws MergeException { - - SxwDocument wdoc1 = (SxwDocument) orig; - SxwDocument wdoc2 = (SxwDocument) modifiedDoc; - - Document doc1 = wdoc1.getContentDOM(); - Document doc2 = wdoc2.getContentDOM(); - - Iterator i1 = new ParaNodeIterator(cc_, doc1.getDocumentElement()); - Iterator i2 = new ParaNodeIterator(cc_, doc2.getDocumentElement()); - - DiffAlgorithm diffAlgo = new IteratorLCSAlgorithm(); - - // find out the paragrah level diffs - Difference[] diffTable = diffAlgo.computeDiffs(i1, i2); - - if (Debug.isFlagSet(Debug.INFO)) { - Debug.log(Debug.INFO, "Diff Result: "); - - for (int i = 0; i < diffTable.length; i++) { - Debug.log(Debug.INFO, diffTable[i].debug()); - } - } - - // merge the paragraphs - NodeMergeAlgorithm charMerge = new CharacterBaseParagraphMerge(); - DocumentMerge docMerge = new DocumentMerge(cc_, charMerge); - - Iterator result = null; - - docMerge.applyDifference(i1, i2, diffTable); - } -} - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentSerializerImpl.java deleted file mode 100644 index a2652df792b3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/DocumentSerializerImpl.java +++ /dev/null @@ -1,532 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import java.io.IOException; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.palm.PdbEncoder; -import org.openoffice.xmerge.converter.palm.PdbDecoder; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.XmlUtil; - -/** - *

    AportisDoc implementation of - * org.openoffice.xmerge.DocumentSerializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.aportisdoc.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    The serialize method traverses the DOM - * document from the given Document object. It uses a - * DocEncoder object for the actual conversion of - * contents to the AportisDoc format.

    - * - * @author Herbie Ong - */ - - -public final class DocumentSerializerImpl - implements OfficeConstants, DocConstants, DocumentSerializer { - - /** A DocEncoder object for encoding to AportisDoc. */ - private DocEncoder encoder = null; - - /** SXW Document object that this converter processes. */ - private SxwDocument sxwDoc = null; - - - /** - * Constructor. - * - * @param doc A SXW Document to be converted. - */ - public DocumentSerializerImpl(Document doc) { - sxwDoc = (SxwDocument) doc; - } - - - /** - *

    Method to convert a Document into a PDB. - * It passes back the converted data as a ConvertData - * object.

    - * - *

    This method is not thread safe for performance reasons. - * This method should not be called from within two threads. - * It would be best to call this method only once per object - * instance.

    - * - * @return The ConvertData object containing the output. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize() throws ConvertException, IOException { - - - // get the server document name - - String docName = sxwDoc.getName(); - - // get DOM document - - org.w3c.dom.Document domDoc = sxwDoc.getContentDOM(); - - encoder = new DocEncoder(); - - // Traverse to the office:body element. - // There should only be one. - - NodeList list = domDoc.getElementsByTagName(TAG_OFFICE_BODY); - int len = list.getLength(); - - if (len > 0) { - Node node = list.item(0); - traverseBody(node); - } - - // create a ConvertData object. - // - Record records[] = encoder.getRecords(); - ConvertData cd = new ConvertData(); - - PalmDocument palmDoc = new PalmDocument(docName, - DocConstants.CREATOR_ID, DocConstants.TYPE_ID, - 0, PalmDB.PDB_HEADER_ATTR_BACKUP, records); - - cd.addDocument(palmDoc); - return cd; - } - - - /** - * This method traverses office:body element. - * - * @param node office:body Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseBody(Node node) throws IOException { - - log(""); - log(""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH) || - nodeName.equals(TAG_HEADING)) { - - traverseParagraph(child); - - } else if (nodeName.equals(TAG_UNORDERED_LIST)) { - - traverseList(child); - - } else if (nodeName.equals(TAG_ORDERED_LIST)) { - - traverseList(child); - - } else { - - log(""); - } - } - } - } - - log(""); - } - - - /** - * This method traverses the text:p and text:h - * element Node objects. - * - * @param node A text:p or text:h - * Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseParagraph(Node node) throws IOException { - - log(""); - traverseParaContents(node); - encoder.addText(EOL_CHAR); - log(""); - } - - - /** - * This method traverses a paragraph content. - * It uses the traverseParaElem method to - * traverse into Element Node objects. - * - * @param node A paragraph or content Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseParaContents(Node node) throws IOException { - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - short nodeType = child.getNodeType(); - - switch (nodeType) { - - case Node.TEXT_NODE: - // this is for grabbing text nodes. - String s = child.getNodeValue(); - - if (s.length() > 0) { - encoder.addText(s); - } - - log(""); - log(s); - log(""); - - break; - - case Node.ELEMENT_NODE: - - traverseParaElem(child); - break; - - case Node.ENTITY_REFERENCE_NODE: - - log(""); - traverseParaContents(child); - log(""); - break; - - default: - log(""); - } - } - } - } - - - /** - * This method traverses an Element Node - * within a paragraph. - * - * @param node Element Node within a - * paragraph. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseParaElem(Node node) throws IOException { - - String nodeName = node.getNodeName(); - - if (nodeName.equals(TAG_SPACE)) { - - // this is for text:s tags. - NamedNodeMap map = node.getAttributes(); - Node attr = map.getNamedItem(ATTRIBUTE_SPACE_COUNT); - StringBuffer space = new StringBuffer(SPACE_CHAR); - int count = 1; - - if (attr != null) { - - try { - - String countStr = attr.getNodeValue(); - count = Integer.parseInt(countStr.trim()); - - } catch (NumberFormatException e) { - - // TODO: for now, throw IOException. - // later, perhaps will have to throw - // some other conversion exception instead. - throw new IOException(e.getMessage()); - } - } - - for (int j = 0; j < count; j++) { - - space.append(SPACE_CHAR); - } - - encoder.addText(space.toString()); - - log(""); - - } else if (nodeName.equals(TAG_TAB_STOP)) { - - // this is for text:tab-stop - encoder.addText(TAB_CHAR); - - log(""); - - } else if (nodeName.equals(TAG_LINE_BREAK)) { - - // commented out by Csaba: There is no point to convert a linebreak - // into a EOL, because it messes up the number of XML nodes and the - // merge won't work properly. Other solution would be to implement such - // nodemerger, which would be able to merge embedded tags in a paragraph - - // this is for text:line-break - // encoder.addText(EOL_CHAR); - - log("skipped "); - - } else if (nodeName.equals(TAG_SPAN)) { - - // this is for text:span - log(""); - traverseParaContents(node); - log(""); - - } else if (nodeName.equals(TAG_HYPERLINK)) { - - // this is for text:a - log(""); - traverseParaContents(node); - log(""); - - } else if (nodeName.equals(TAG_BOOKMARK) || - nodeName.equals(TAG_BOOKMARK_START)) { - - log(""); - - } else if (nodeName.equals(TAG_TEXT_VARIABLE_SET) - || nodeName.equals(TAG_TEXT_VARIABLE_GET) - || nodeName.equals(TAG_TEXT_EXPRESSION) - || nodeName.equals(TAG_TEXT_USER_FIELD_GET) - || nodeName.equals(TAG_TEXT_PAGE_VARIABLE_GET) - || nodeName.equals(TAG_TEXT_SEQUENCE) - || nodeName.equals( TAG_TEXT_VARIABLE_INPUT) - || nodeName.equals(TAG_TEXT_TIME) - || nodeName.equals( TAG_TEXT_PAGE_COUNT) - || nodeName.equals(TAG_TEXT_PAGE_NUMBER ) - || nodeName.equals(TAG_TEXT_SUBJECT) - || nodeName.equals(TAG_TEXT_TITLE) - || nodeName.equals(TAG_TEXT_CREATION_TIME) - || nodeName.equals(TAG_TEXT_DATE) - || nodeName.equals(TAG_TEXT_TEXT_INPUT) - || nodeName.equals(TAG_TEXT_AUTHOR_INITIALS)) { - log(""); - traverseParaContents(node); - log(""); - - }else if (nodeName.startsWith(TAG_TEXT)) { - log(""); - traverseParaContents(node); - log(""); - - }else { - - log(""); - } - } - - - /** - * This method traverses list tags text:unordered-list and - * text:ordered-list. A list can only contain one optional - * text:list-header and one or more text:list-item - * elements. - * - * @param node A list Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseList(Node node) throws IOException { - - log(""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_LIST_ITEM)) { - - traverseListItem(child); - - } else if (nodeName.equals(TAG_LIST_HEADER)) { - - traverseListHeader(child); - - } else { - - log(""); - } - } - } - } - - log(""); - } - - - /** - * This method traverses a text:list-header element. - * It contains one or more text:p elements. - * - * @param node A list header Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseListHeader(Node node) throws IOException { - - log(""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH)) { - - traverseParagraph(child); - - } else { - - log(""); - } - } - } - } - - log(""); - } - - - /** - *

    This method will traverse a text:list-item. - * A list item may contain one or more of text:p, - * text:h, text:section, text:ordered-list - * and text:unordered-list.

    - * - *

    This method currently only implements grabbing text:p, - * text:h, text:unordered-list and - * text:ordered-list.

    - * - * @param node The Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseListItem(Node node) throws IOException { - - log(""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH)) { - - traverseParagraph(child); - - } else if (nodeName.equals(TAG_UNORDERED_LIST)) { - - traverseList(child); - - } else if (nodeName.equals(TAG_ORDERED_LIST)) { - - traverseList(child); - - } else { - - log(""); - } - } - } - } - - log(""); - } - - - /** - * Logs debug messages. - * - * @param str The debug message. - */ - private void log(String str) { - - Debug.log(Debug.TRACE, str); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/PluginFactoryImpl.java deleted file mode 100644 index d1de0b19a6ab..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/PluginFactoryImpl.java +++ /dev/null @@ -1,141 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.aportisdoc; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.DocumentMergerFactory; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxw.SxwPluginFactory; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import java.io.IOException; -import java.io.InputStream; - -/** - *

    AportisDoc implementation of the PluginFactory. - * This encapsulates conversion of StarWriter XML format to and from - * AportisDoc format.

    - * - *

    The superclass produces a particular - * {@link org.openoffice.xmerge.Document Document} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxw.SxwDocument - * SxwDocument} that the converters in this class works with. Thus, - * this class only implements the methods that produces the converters, - * i.e. {@link - * org.openoffice.xmerge.DocumentSerializer - * DocumentSerializer} and {@link - * org.openoffice.xmerge.DocumentDeserializer - * DocumentDeserializer}; - * as well as the {@link - * org.openoffice.xmerge.ConverterCapabilities - * ConverterCapabilities} object that is specific to this format - * conversion. That superclass also produces a {@link - * org.openoffice.xmerge.DocumentMerger DocumentMerger} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxw.aportisdoc.DocumentMergerImpl - * DocumentMergerImpl} which this class derives the functionality.

    - * - * @author Herbie Ong - */ -public final class PluginFactoryImpl extends SxwPluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory, - DocumentMergerFactory { - - public PluginFactoryImpl (ConverterInfo ci) { - super(ci); - } - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - /** - * Returns an instance of DocumentSerializerImpl, - * which is an implementation of the DocumentSerializer - * interface. - * - * @param doc Document object to be - * converted/serialized. - * - * @return A DocumentSerializerImpl object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - - return new DocumentSerializerImpl(doc); - } - - - /** - * Returns an instance of DocumentDeserializerImpl, - * which is an implementation of the DocumentDeserializer - * interface. - * - * @param cd ConvertData object for reading data - * which will be converted back to a - * Document object. - * - * @return A DocumentDeserializerImpl object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - - return new DocumentDeserializerImpl(cd); - } - - - /** - * Returns an instance of DocumentMergerImpl, - * which is an implementation of the DocumentMerger - * interface. - * - * @param doc Document to merge. - * - * @return A DocumentMergerImpl object. - */ - public DocumentMerger createDocumentMerger(Document doc) { - - ConverterCapabilities cc = converterCap; - DocumentMergerImpl merger = new DocumentMergerImpl(doc, cc); - return merger; - } - - public Document createDeviceDocument(String name, InputStream is) - throws IOException { - - PalmDocument palmDoc = new PalmDocument(is); - return palmDoc; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml deleted file mode 100644 index b6efd3e2bec3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/build.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/converter.xml deleted file mode 100644 index 7942295c004a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/converter.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - AportisDoc - - - StarWriter XML to/from AportisDoc conversion - - OpenOffice.org - - org.openoffice.xmerge.converter.xml.sxw.aportisdoc.PluginFactoryImpl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/makefile.mk deleted file mode 100644 index 5b3f3fea509d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcxs_aportisdoc -PRJ=../../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/package.html deleted file mode 100644 index 78cfe79bfbbf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/aportisdoc/package.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxw.aportisdoc package - - - - -

    Provides the tools for doing the conversion of StarWriter XML to -and from AportisDoc format.

    - -

    It follows the {@link org.openoffice.xmerge} framework for the conversion process.

    - -

    Since it converts to/from a Palm application format, these converters -follow the -PalmDB stream format for writing out to the Palm sync client or -reading in from the Palm sync client.

    - -

    Note that PluginFactoryImpl also provides a -DocumentMerger object, i.e. {@link org.openoffice.xmerge.converter.xml.sxw.aportisdoc.DocumentMergerImpl DocumentMergerImpl}. -This functionality was derived from its superclass -{@link org.openoffice.xmerge.converter.xml.sxw.SxwPluginFactory -SxwPluginFactory}.

    - -

    AportisDoc pdb format - Doc

    - -

    The AportisDoc pdb format is widely used by different Palm applications, -e.g. QuickWord, AportisDoc Reader, MiniWrite, etc. Note that some -of these applications put tweaks into the format. The converters will only -support the default AportisDoc format, plus some very minor tweaks to accommodate -other applications.

    - -

    The text content of the format is plain text, i.e. there are no styles -or structures. There is no notion of lists, list items, paragraphs, -headings, etc. The format does have support for bookmarks.

    - -

    For most Doc applications, the default character encoding supported is -the extended ASCII character set, i.e. ISO-8859-1. StarWriter XML is in -UTF-8 encoding scheme. Since UTF-8 encoding scheme covers more characters, -converting UTF-8 strings into extended ASCII would mean that there can be -possible loss of character mappings.

    - -

    Using JAXP, XML files can be parsed and read in as Java Strings -which is in Unicode format, there is no loss of character mapping from UTF-8 -to Java Strings. There is possible loss of character mapping in -converting Java Strings to ASCII bytes. Java characters that -cannot be represented in extended ASCII are converted into the ASCII -character '?' or x3F in hex digit via the String.getBytes(encoding) -API.

    - -

    SXW to DOC Conversion

    - -

    The DocumentSerializerImpl class implements the -org.openoffice.xmerge.DocumentSerializer. -This class specifically provides the conversion process from a given -SxwDocument object to DOC formatted records, which are -then passed back to the client via the ConvertData object.

    - -

    The following XML tags are handled. [Note that some may not be implemented yet.]

    -
      -
    • -

      Paragraphs <text:p> and Headings <text:h>

      - -

      Heading elements are classified the same as paragraph - elements since both have the same possible elements inside. - Their main difference is that they refer to different types - of style information, which is outside of their element tags. - Since there are no styles on the DOC format, headings should - be treated the same way a paragraph is converted.

      - -

      For paragraph elements, convert and transfer text nodes - that are essential. Text nodes directly contained within paragraph - nodes are such. There are also a number of elements that - a paragraph element may contain. These are explained in their - own context.

      - -

      At the end of the paragraph, an EOL character is added by - the converter to provide a separation for each paragraph, - since the Doc format does not have a notion of a paragraph.

      -
    • -
    • -

      White spaces <text:s> and Tabs <text:tab-stop>

      - -

      In SXW, normally 2 or more white-space characters are collapsed into - a single space character. In order to make sure that the document - content really contains those white-space characters, there are special - elements assigned to them.

      - -

      The space element specifies the number of spaces are in it. - Thus, converting it just means providing the specific number of spaces - that the element requires.

      - -

      There is also the tab-stop element. This is a bit tricky. In a - StarWriter document, tab-stops are specified by a column position. - A tab is not an exact number of space, but rather a specific column - positioning. Say, regular tab-stops are set at every 5th column. - At column 4, if I hit a tab, it goes to column 5. At column 1, hitting - a tab would put the cursor at column 5 as well. SmartDoc and AporticDoc - applications goes by columns for the ASCII tab character. The only problem - is that in StarWriter, one could specify a different tab-stop, but not - in most of these Doc applications, at least I have not seen one. - Solution for this is just to go with the converting to the ASCII tab - character and not do anything for different tab-stop positioning.

      -
    • -
    • -

      Line breaks <text:line-break>

      - -

      To represent line breaks, it is simpliest to just put an ASCII LF - character. Note that the side effect of this is that an end of paragraph - also contains an ASCII LF character. Thus, for the DOC to SXW conversion, - line breaks are not distinguishable from specifying the end of a - paragraph.

      -
    • -
    • -

      Text spans <text:span>

      - -

      Text spans contain text that have different style attributes - from the paragraphs'. Text spans can be embedded within another - text span. Since it is purely for style tagging, we only needed - to convert and transfer the text elements within these.

      -
    • -
    • -

      Hyperlinks <text:a> - -

      Convert and transfer the text portion.

      -
    • -
    • -

      Bookmarks <text:bookmark> <text:bookmark-start> - <text:bookmark-end> [Not implemented yet]

      - -

      In SXW, bookmark elements are embedded inside paragraph elements. - Bookmarks can either mark a text position or a text range. <text:bookmark> - marks a position while the pair <text:bookmark-start> and - <text:bookmark-end>

      marks a text range. The DOC format only - supports bookmarking a text position. Thus, for the conversion, - <text:bookmark> and <text:bookmark-start> will both mark - a text position.

      -
    • -
    • -

      Change Tracking <text:tracked-changes> - <text:change*> [Not implemented yet]

      - -

      Change tracking elements are not supported yet on the current - OpenOffice XML filters, will have to watch out on this. The text - within these elements have to be interpreted properly during the - conversion process.

      -
    • -
    • -

      Lists <text:unordered-list> and - <text:ordered-lists>

      - -

      A list can only contain one optional <text:list-header> - and one or more <text:list-item> elements.

      - -

      A <text:list-header> contains one or more paragraph - elements. Since there are no styles, the conversion process does not - do anything special for list headers, conversion for the paragraphs - within list headers are the same as explained above.

      - -

      A <text:list-item> may contain one or more of paragraphs, - headings, list, etc. Since the Doc format does not support any list - structure, there will not be any special handling for this element. - Conversion for elements within it shall be applied according to the - element type. Thus, lists with paragraphs within it will result in just - plain paragraphs. Sublists will not be identifiable. Paragraphs in - sublists will still appear.

      -
    • -
    • -

      <text:section>

      - -

      I am not sure what this is yet, will need to investigate more on this.

      -
    • -
    -

    There may be other tags that will still need to be addressed for this conversion.

    - -

    Refer to {@link org.openoffice.xmerge.converter.xml.sxw.aportisdoc.DocumentSerializerImpl DocumentSerializerImpl} -for details of implementation. It uses DocEncoder class to do the encoding -part.

    - -

    DOC to SXW Conversion

    - -

    The DocumentDeserializerImpl class implements the -org.openoffice.xmerge.DocumentDeserializer. It is -passed the device document in the form of a ConvertData object. -It will then create a SxwDocument object from the conversion of -the DOC formatted records.

    - -

    The text content of the Doc format will be transferred as text. Paragraph -elements will be formed based on the existence of an ASCII LF character. There -will be at least one paragraph element.

    - -

    Bookmarks in the Doc format will be converted to the bookmark element -<text:bookmark> [Not implemented yet].

    - - -

    Merging changes

    - -

    As mentioned above, the DocumentMerger object produced by -PluginFactoryImpl is DocumentMergerImpl. -Refer to the javadocs for that package/class on its merging specifications. -

    - -

    TODO list

    - -

      -
    1. Investigate Palm's with different character encodings.
    2. -
    3. Investigate other StarWriter XML tags
    4. -

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml deleted file mode 100644 index 02936516e7c9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/build.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/makefile.mk deleted file mode 100644 index c4953812ef58..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxcx_sxw -PRJ=../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/package.html deleted file mode 100644 index 409f041fffb2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/package.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxw package - - - -

    Provides base implementation of StarWriter XML conversion to and from -different "Device" Document formats.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ConverterCapabilitiesImpl.java deleted file mode 100644 index 4e4aaf164e7a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ConverterCapabilitiesImpl.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - *

    PocketWord implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.sxw.pocketword.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarWriter XML to/from PocketWord conversions. The - * ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_DOCUMENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_DOCUMENT_CONTENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_HEADING.equals(tag)) - return true; - else if (OfficeConstants.TAG_ORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_UNORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_ITEM.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_HEADER.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPAN.equals(tag)) - return true; - else if (OfficeConstants.TAG_HYPERLINK.equals(tag)) - return true; - else if (OfficeConstants.TAG_LINE_BREAK.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPACE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TAB_STOP.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_SPACE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_SPACE_COUNT.equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java deleted file mode 100644 index 3e5f6e6827ff..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java +++ /dev/null @@ -1,236 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.openoffice.xmerge.util.EndianConverter; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.IOException; - -import java.util.Vector; - - -/** - * This class to represent the data structure stored by a Pocket Word file that - * describes that file. - * - * The data structure is of variable length, beginning at the end of the - * font declarations and ending 10 bytes before the first instance of 0xFF 0xFF - * marking a paragraph block. - * - * The variable length component arises from an 8 byte structure describing each - * paragraph in the document. These paragraph descriptors appear at the end - * of the Document Descriptor. - * - * @author Mark Murnane - * @version 1.1 - */ -class DocumentDescriptor { - private short numParagraphs = 0; - private short length = 0; - private short numLines = 0; - - private Vector paragraphDesc = null; - - DocumentDescriptor() { - paragraphDesc = new Vector(0, 1); - } - - - - /** - * Updates the DocumentDescriptor to include details of another - * paragraph in the document. - * - * @param len The number of characters in the paragraph. - * @param lines The number of lines on screen that the paragraph uses. - */ - public void addParagraph(short len, short lines) { - ParagraphDescriptor pd = new ParagraphDescriptor(len, lines); - - paragraphDesc.add(pd); - numParagraphs++; - numLines += lines; - length += pd.length; - } - - - /** - * Retrieve the DocumentDescriptor's data. Due to the variable - * length nature of the descriptor, certain fields can only be - * calculated/written after the addition of all paragraphs. - * - * @return Byte array containing the Pocket Word representation of this - * DocumentDescriptor. - */ - public byte[] getDescriptor () { - ByteArrayOutputStream descStream = new ByteArrayOutputStream(); - - writeHeader(descStream); - - /* - * This value seems to increment by 0x02 for each paragraph. - * For a single paragraph doc, the value is 0x08, 0x0A for two, - * 0x0C for three ... - */ - try { - descStream.write(EndianConverter.writeShort((short)(6 + - (numParagraphs * 2)))); - - descStream.write(EndianConverter.writeShort(numParagraphs)); - descStream.write(EndianConverter.writeShort((short)0)); - descStream.write(EndianConverter.writeShort(numParagraphs)); - - descStream.write(EndianConverter.writeShort((short)0)); - descStream.write(EndianConverter.writeShort((short)length)); - descStream.write(EndianConverter.writeShort((short)0)); - - descStream.write(EndianConverter.writeShort(numLines)); - descStream.write(new byte[] { 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 } ); - - for (int i = 0; i < paragraphDesc.size(); i++) { - ParagraphDescriptor pd = (ParagraphDescriptor)paragraphDesc.elementAt(i); - - descStream.write(pd.getDescriptor()); - } - - // Byte sequence marking the end of this DocumentDescriptor - descStream.write(EndianConverter.writeShort((short)0)); - descStream.write(EndianConverter.writeShort((short)0x41)); - } - catch (IOException ioe) { - // Should never happen as this is a memory based stream. - } - - return descStream.toByteArray(); - } - - - /* - * This method loads the intial fixed portion of the descriptor and the - * mid-section. The mid-section is variable but Pocket Word doesn't seem - * to mind default values. - */ - private void writeHeader(OutputStream descStream) { - - try { - descStream.write(new byte[] { 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x06, 0x00, - 0x15, 0x00, 0x10, 0x00, - 0x01, 0x00, (byte)0xD0, 0x2F, - 0x00, 0x00, (byte)0xE0, 0x3D, - 0x00, 0x00, (byte)0xF0, 0x00, - 0x00, 0x00, (byte)0xA0, 0x05, - 0x00, 0x00, (byte)0xA0, 0x05, - 0x00, 0x00, (byte)0xA0, 0x05, - 0x00, 0x00, (byte)0xA0, 0x05, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, - 0x07, 0x00, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x1F, 0x04, 0x00, 0x00 } ); - - /* - * The next four bytes are variable, but a pattern hasn't yet been - * established. Pocket Word seems to accept this constant value. - * - * The bytes are repeated after another 12 byte sequence which does - * not seem to change from one file to the next. - */ - descStream.write(new byte[] { (byte)0xE2, 0x02, 0x00, 0x00 } ); - descStream.write(new byte[] { 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x3D, 0x04, 0x00, 0x00 } ); - descStream.write(new byte[] { (byte)0xE2, 0x02, 0x00, 0x00 } ); - - descStream.write(new byte[] { 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x08, 0x00 } ); - } - catch (IOException ioe) { - /* Shouldn't happen with a ByteArrayOutputStream */ - } - } - - - /** - * ParagraphDescriptor represents the data structure used to - * describe individual paragraphs within a DocumentDescriptor. - * - * It is used solely by the DocumentDescriptor class. - */ - private class ParagraphDescriptor { - private short filler = 0; - private short lines = 0; - private short length = 0; - private short unknown = 0x23; - - public ParagraphDescriptor(short len, short numLines) { - lines = numLines; - length = (short)(len + 1); - } - - public byte[] getDescriptor() { - ByteArrayOutputStream desc = new ByteArrayOutputStream(); - - try { - desc.write(EndianConverter.writeShort(filler)); - desc.write(EndianConverter.writeShort(lines)); - desc.write(EndianConverter.writeShort(length)); - desc.write(EndianConverter.writeShort(unknown)); - } - catch (IOException ioe) { - /* Should never happen */ - } - - return desc.toByteArray(); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDeserializerImpl.java deleted file mode 100644 index 373df77886f8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDeserializerImpl.java +++ /dev/null @@ -1,298 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentDeserializer; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; - -import org.openoffice.xmerge.converter.xml.ParaStyle; -import org.openoffice.xmerge.converter.xml.TextStyle; -import org.openoffice.xmerge.converter.xml.StyleCatalog; - -import org.openoffice.xmerge.util.OfficeUtil; - -import java.io.InputStream; -import java.io.IOException; -import java.io.FileInputStream; -import java.io.FileDescriptor; - -import java.util.Enumeration; -import java.util.Vector; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; - - -/** - *

    Pocket Word implementation of DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.pocketword.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts a Pocket Word file to an OpenOffice Writer XML DOM.

    - * - * @author Mark Murnane - * @version 1.1 - */ -public final class DocumentDeserializerImpl - implements DocumentDeserializer, OfficeConstants { - - private PocketWordDocument pswDoc = null; - private SxwDocument sxwDoc = null; - private String docName; - - private StyleCatalog styleCat = null; - - - /** - * Initialises a new DocumentDeserializerImpl using the - * supplied ConvertData.

    - * - *

    The Document objects in the ConvertData - * should be {@link - * org.openoffice.xmerge.converter.xml.sxw.pocketword.PocketWordDocument - * PocketWordDocument} objects.

    - * - * @param cd ConvertData containing a PocketWordDocument - * for conversion. - */ - public DocumentDeserializerImpl(ConvertData cd) { - Enumeration e = cd.getDocumentEnumeration(); - - // A Pocket Word file is composed of one binary file - while (e.hasMoreElements()) { - pswDoc = (PocketWordDocument)e.nextElement(); - } - - docName = pswDoc.getName(); - } - - - /** - *

    Convert the data passed into the DocumentDeserializer - * constructor into the OpenOffice Writer Document - * format.

    - * - *

    This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

    - * - * @return The resulting Document object from conversion. - * - * @throws ConvertException If any Convert error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize() throws IOException, ConvertException { - Enumeration pe = pswDoc.getParagraphEnumeration(); - - sxwDoc = new SxwDocument (docName); - sxwDoc.initContentDOM(); - - // Default to an initial 5 entries in the catalog. - styleCat = new StyleCatalog(5); - - try { - buildDocument(pe); - } - catch (Exception e) { - e.printStackTrace(); - throw new ConvertException("Error building OpenOffice Writer DOM: " - + e.toString()); - - } - - return sxwDoc; - } - - - /** - * This method actually takes care of the conversion. - * - * @param data An Enumeration of all Paragraphs in the Pocket Word doc. - * - * @return The OpenOffice Writer XML representation of the data. - * - * @throws IOException If any I/O errors occur. - */ - private void buildDocument(Enumeration data) throws IOException { - - org.w3c.dom.Document doc = sxwDoc.getContentDOM(); - - /* - * There should be only one each of office:body and - * office:automatic-styles in each document. - */ - Node bodyNode = doc.getElementsByTagName(TAG_OFFICE_BODY).item(0); - - // Not every document has an automatic style tag - Node autoStylesNode = doc.getElementsByTagName( - TAG_OFFICE_AUTOMATIC_STYLES).item(0); - if (autoStylesNode == null) { - autoStylesNode = doc.createElement(TAG_OFFICE_AUTOMATIC_STYLES); - doc.insertBefore(autoStylesNode, bodyNode); - } - - - // Needed for naming new styles - int paraStyles = 1; - int textStyles = 1; - - // Pocket Word has no concept of a list. - Element listNode = null; - - - // Down to business ... - while (data.hasMoreElements()) { - Paragraph p = (Paragraph)data.nextElement(); - Element paraNode = doc.createElement(TAG_PARAGRAPH); - - // Set paragraph style information here - ParaStyle pStyle = p.makeStyle(); - if (pStyle == null) { - paraNode.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, - PocketWordConstants.DEFAULT_STYLE); - } - else { - // Create paragraph style - pStyle.setName(new String("PS" + paraStyles++)); - paraNode.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, pStyle.getName()); - styleCat.add(pStyle); - } - - - /* - * For each of the paragraphs, process each segment. - * There will always be at least one. - */ - Enumeration paraData = p.getSegmentsEnumerator(); - Vector textSpans = new Vector(0, 1); - - do { - ParagraphTextSegment pts = (ParagraphTextSegment)paraData.nextElement(); - Element span = doc.createElement(OfficeConstants.TAG_SPAN); - - TextStyle ts = pts.getStyle(); - - if (ts != null) { - ts.setName(new String("TS" + textStyles++)); - span.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, ts.getName()); - styleCat.add(ts); - } - else { - span.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, - PocketWordConstants.DEFAULT_STYLE); - } - - // If this isn't a blank paragraph - if (pts.getText() != null && !pts.getText().equals("")) { - Node[] children = OfficeUtil.parseText(pts.getText(), doc); - - for (int j = 0; j < children.length; j++) { - span.appendChild(children[j]); - } - } - - textSpans.add(span); - - } while (paraData.hasMoreElements()); - - - /* - * Special case for the first span. If it has no style, then - * it shouldn't be a span, so just add its children with style - * set as standard. - */ - Element firstSpan = (Element)textSpans.elementAt(0); - String styleName = firstSpan.getAttribute(ATTRIBUTE_TEXT_STYLE_NAME); - if (styleName.equals(PocketWordConstants.DEFAULT_STYLE)) { - NodeList nl = firstSpan.getChildNodes(); - int len = nl.getLength(); - - for (int i = 0; i < len; i++) { - /* - * Always take item 0 as the DOM tree event model will - * cause the NodeList to shrink as each Node is reparented. - * - * By taking the first item from the list, we essentially - * traverse the list in order. - */ - paraNode.appendChild(nl.item(0)); - } - } - else { - paraNode.appendChild(firstSpan); - } - - // The rest are spans, so just add them - for (int i = 1; i < textSpans.size(); i++) { - paraNode.appendChild((Node)textSpans.elementAt(i)); - } - - - /* - * Pocket Word doesn't support lists, but it does have bulleted - * paragraphs that are essentially the same thing. - * - * Unlike OpenOffice Writer, a blank paragraph can be bulleted - * as well. This will be handled by inserting a blank paragraph - * into the unordered list, but OpenOffice Writer will not display - * an item at that point in the list. - */ - if (p.isBulleted()) { - if (listNode == null) { - listNode = doc.createElement(TAG_UNORDERED_LIST); - } - Element listItem = doc.createElement(TAG_LIST_ITEM); - listItem.appendChild(paraNode); - listNode.appendChild(listItem); - } - else { - if (listNode != null) { - bodyNode.appendChild(listNode); - listNode = null; - } - bodyNode.appendChild(paraNode); - } - } // End processing paragraphs - - - // Now write the style catalog to the document - NodeList nl = styleCat.writeNode(doc, "dummy").getChildNodes(); - int nlLen = nl.getLength(); // nl.item reduces the length - for (int i = 0; i < nlLen; i++) { - autoStylesNode.appendChild(nl.item(0)); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentMergerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentMergerImpl.java deleted file mode 100644 index c6a14ba2877d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentMergerImpl.java +++ /dev/null @@ -1,99 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.diff.ParaNodeIterator; -import org.openoffice.xmerge.merger.diff.IteratorLCSAlgorithm; -import org.openoffice.xmerge.merger.merge.DocumentMerge; -import org.openoffice.xmerge.merger.merge.CharacterBaseParagraphMerge; -import org.openoffice.xmerge.util.Debug; - - -/** - * PocketWord implementation of DocumentMerger - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.pocketword.PluginFactoryImpl - * PluginFactoryImpl}.

    - */ -public class DocumentMergerImpl implements DocumentMerger { - - private ConverterCapabilities cc_; - private org.openoffice.xmerge.Document orig = null; - - public DocumentMergerImpl(org.openoffice.xmerge.Document doc, ConverterCapabilities cc) { - cc_ = cc; - this.orig = doc; - } - - public void merge(org.openoffice.xmerge.Document modifiedDoc) throws MergeException { - - SxwDocument wdoc1 = (SxwDocument) orig; - SxwDocument wdoc2 = (SxwDocument) modifiedDoc; - - Document doc1 = wdoc1.getContentDOM(); - Document doc2 = wdoc2.getContentDOM(); - - Iterator i1 = new ParaNodeIterator(cc_, doc1.getDocumentElement()); - Iterator i2 = new ParaNodeIterator(cc_, doc2.getDocumentElement()); - - DiffAlgorithm diffAlgo = new IteratorLCSAlgorithm(); - - // find out the paragrah level diffs - Difference[] diffTable = diffAlgo.computeDiffs(i1, i2); - - if (Debug.isFlagSet(Debug.INFO)) { - Debug.log(Debug.INFO, "Diff Result: "); - - for (int i = 0; i < diffTable.length; i++) { - Debug.log(Debug.INFO, diffTable[i].debug()); - } - } - - // merge the paragraphs - NodeMergeAlgorithm charMerge = new CharacterBaseParagraphMerge(); - DocumentMerge docMerge = new DocumentMerge(cc_, charMerge); - - Iterator result = null; - - docMerge.applyDifference(i1, i2, diffTable); - } -} - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentSerializerImpl.java deleted file mode 100644 index 2604e903c564..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentSerializerImpl.java +++ /dev/null @@ -1,437 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentSerializer; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; - -import org.openoffice.xmerge.converter.xml.ParaStyle; -import org.openoffice.xmerge.converter.xml.TextStyle; -import org.openoffice.xmerge.converter.xml.StyleCatalog; - -import java.io.OutputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - - -/** - *

    Pocket Word implementation of DocumentDeserializer - * for use by {@link - * org.openoffice.xmerge.converter.xml.sxw.pocketword.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    This converts an OpenOffice Writer XML files to a Pocket Word file<.

    - * - * @author Mark Murnane - * @version 1.1 - */ -public final class DocumentSerializerImpl - implements DocumentSerializer, OfficeConstants { - - private PocketWordDocument pswDoc; - private SxwDocument sxwDoc; - - private StyleCatalog styleCat = null; - - private boolean inList = false; - - - /** - *

    Initialises a new DocumentSerializerImpl using the.
    - * supplied Document

    - * - *

    The supplied document should be an {@link - * org.openoffice.xmerge.converter.xml.sxw.SxwDocument SxwDocument} - * object.

    - * - * @param document The Document to convert. - */ - public DocumentSerializerImpl(Document doc) { - sxwDoc = (SxwDocument)doc; - pswDoc = new PocketWordDocument(sxwDoc.getName()); - } - - - /** - *

    Convert the data passed into the DocumentSerializerImpl - * constructor into Pocket Word format.

    - * - *

    This method may or may not be thread-safe. It is expected - * that the user code does not call this method in more than one - * thread. And for most cases, this method is only done once.

    - * - * @return ConvertData object to pass back the - * converted data. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize() throws IOException, ConvertException { - ConvertData cd = new ConvertData(); - - org.w3c.dom.Document doc = sxwDoc.getContentDOM(); - - // Load any style info before traversing the document content tree - loadStyles(); - - NodeList list = doc.getElementsByTagName(TAG_OFFICE_BODY); - - int len = list.getLength(); - if (len > 0) { - Node node = list.item(0); - traverseBody(node); - } - - cd.addDocument(pswDoc); - - return cd; - } - - - /* - * Handles the loading of defined styles from the style.xml file as well - * as automatic styles from the content.xml file. - * - * Any change to a defined style, such as a short bold section, falls into - * the latter category. - */ - private void loadStyles() { - org.w3c.dom.Document contentDom = sxwDoc.getContentDOM(); - org.w3c.dom.Document styleDom = sxwDoc.getStyleDOM(); - - styleCat = new StyleCatalog(25); - - NodeList nl = null; - String families[] = new String[] { PocketWordConstants.TEXT_STYLE_FAMILY, - PocketWordConstants.PARAGRAPH_STYLE_FAMILY, - PocketWordConstants.PARAGRAPH_STYLE_FAMILY }; - Class classes[] = new Class[] { TextStyle.class, - ParaStyle.class, - TextStyle.class }; - - String[] styleTypes = new String[] { TAG_OFFICE_STYLES, - TAG_OFFICE_AUTOMATIC_STYLES, - TAG_OFFICE_MASTER_STYLES }; - - /* - * Documents converted from PSW -> SXW will not have a style.xml when - * being converted back to PSW. This would occur if a document was - * not modified within Writer between conversions. - * - * Any Writer modifications and saves create the style.xml and other - * portions of a complete Writer SXW file. - */ - if (styleDom != null) { - // Process the Style XML tree - for (int i = 0; i < styleTypes.length; i++ ) { - nl = styleDom.getElementsByTagName(styleTypes[i]); - if (nl.getLength() != 0) { - styleCat.add(nl.item(0), families, classes, null, false); - } - } - } - - /* - * Process the content XML for any other style info. - * Should only be automatic types here. - */ - for (int i = 0; i < styleTypes.length; i++ ) { - nl = contentDom.getElementsByTagName(styleTypes[i]); - if (nl.getLength() != 0) { - styleCat.add(nl.item(0), families, classes, null, false); - } - } - } - - - /* - * Process the office:body tag. - */ - private void traverseBody(Node node) throws IOException, ConvertException { - - if (node.hasChildNodes()) { - NodeList nList = node.getChildNodes(); - int len = nList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH) - || nodeName.equals(TAG_HEADING)) { - traverseParagraph(child); - } - - if (nodeName.equals(TAG_UNORDERED_LIST) || - nodeName.equals(TAG_ORDERED_LIST)) { - traverseList(child); - } - } - } - } - } - - - /* - * Process a text:p tag - */ - private void traverseParagraph(Node node) throws IOException, ConvertException { - String styleName = getAttribute(node, ATTRIBUTE_TEXT_STYLE_NAME); - - ParaStyle pstyle = (ParaStyle)styleCat.lookup(styleName, - PocketWordConstants.PARAGRAPH_STYLE_FAMILY, null, - ParaStyle.class); - if (pstyle != null) { - pstyle = (ParaStyle)pstyle.getResolved(); - } - - TextStyle tstyle = (TextStyle)styleCat.lookup(styleName, - PocketWordConstants.PARAGRAPH_STYLE_FAMILY, null, - TextStyle.class); - if (pstyle != null) { - tstyle = (TextStyle)tstyle.getResolved(); - } - - try { - pswDoc.addParagraph(pstyle, inList); - } - catch (Exception e) { - throw new ConvertException( - "Error adding paragraph to PocketWordDocument.\n" - + e.toString()); - } - - traverseParagraphContents(node, tstyle); - } - - - /* - * Process the contents of a paragraph. This method handles situations - * where the paragraph contains multiple children, each representing a - * differently formatted piece of text. - */ - private void traverseParagraphContents (Node node, TextStyle defTextStyle) - throws IOException, ConvertException { - // First up, get the style of this little bit - String styleName = getAttribute(node, ATTRIBUTE_TEXT_STYLE_NAME); - TextStyle tStyle = (TextStyle)styleCat.lookup(styleName, - PocketWordConstants.TEXT_STYLE_FAMILY, null, - TextStyle.class); - - if (tStyle == null) { - tStyle = defTextStyle; - } - - if (node.hasChildNodes()) { - NodeList nList = node.getChildNodes(); - int len = nList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nList.item(i); - short nodeType = child.getNodeType(); - - switch (nodeType) { - case Node.TEXT_NODE: - String s = child.getNodeValue(); - if (s.length() > 0) { - try { - pswDoc.addParagraphData(s, tStyle); - } - catch (Exception e) { - throw new ConvertException( - "Error adding data to paragraph in " + - "PocketWordDocument.\n" + e.toString()); - - } - } - break; - - case Node.ELEMENT_NODE: - if (child.getNodeName().equals(TAG_SPACE)) { - StringBuffer sb = new StringBuffer(""); - int count = 1; - - NamedNodeMap map = child.getAttributes(); - - if (map.getLength() > 0) { - Node attr = map.getNamedItem(ATTRIBUTE_SPACE_COUNT); - count = Integer.parseInt(attr.getNodeValue().trim()); - } - - for ( ; count > 0; count--) { - sb.append(" "); - } - - /* - * May want to look at style info for spaces. Could - * be important when calculating font metrics. - */ - try { - pswDoc.addParagraphData(sb.toString(), tStyle); - } - catch (Exception e) { - throw new ConvertException( - "Error adding data to paragraph in " + - "PocketWordDocument.\n" + e.toString()); - - } - } - else if (child.getNodeName().equals(TAG_TAB_STOP)) { - try { - pswDoc.addParagraphData("\t", tStyle); - } - catch (Exception e) { - throw new ConvertException( - "Error adding data to paragraph in " + - "PocketWordDocument.\n" + e.toString()); - - } - } - else if (child.getNodeName().equals(TAG_LINE_BREAK)) { - /* - * Pocket Word does not support soft line breaks. - * They are just new paragraphs. - */ - } - else if (child.getNodeName().equals(TAG_SPAN)) { - /* - * This is where the interesting ones, i.e. format - * changes occur. - */ - traverseParagraphContents (child, defTextStyle); - } - else if (child.getNodeName().equals(TAG_HYPERLINK)) { - traverseParagraphContents (child, defTextStyle); - } - else { - // Should maybe have a default in here. - } - break; - default: - // Do nothing - } - } - } - else { - /* - * If the node has no children, then it is a blank paragraph, but - * they still require an entry in the Paragraph class to make sense. - */ - pswDoc.addParagraphData("", tStyle); - } - } - - - /* - * Process a text:ordered-list or text:unordered-list tag. Pocket Word has - * no concept of a list so there is no need to differentiate between the - * two. - * - * Each item on the list contains a text:p node. - */ - private void traverseList (Node node) throws IOException, ConvertException { - inList = true; - - if (node.hasChildNodes()) { - NodeList nList = node.getChildNodes(); - int len = nList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_LIST_ITEM)) { - traverseListItem(child); - } - } - } - } - - inList = false; - } - - - /* - * Process a text:list-item node. They usually contain have a single - * text:p child but can also have sections or other lists. - * - * For this case, only paragraphs are supported. - */ - private void traverseListItem (Node node) throws IOException, ConvertException { - if (node.hasChildNodes()) { - NodeList nList = node.getChildNodes(); - int len = nList.getLength(); - - for (int i = 0; i < len; i++) { - Node child = nList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH)) { - traverseParagraph(child); - } - } - } - } - - } - - - /* - * Utility method to retrieve a Node attribute. - */ - private String getAttribute (Node node, String attribute) { - NamedNodeMap attrNodes = node.getAttributes(); - - if (attrNodes != null) { - Node attr = attrNodes.getNamedItem(attribute); - if (attr != null) { - return attr.getNodeValue(); - } - } - - return null; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/Paragraph.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/Paragraph.java deleted file mode 100644 index c2249766b5e5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/Paragraph.java +++ /dev/null @@ -1,859 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.io.IOException; - -import java.util.Vector; -import java.util.Enumeration; - -import java.awt.Color; - -import org.openoffice.xmerge.util.EndianConverter; -import org.openoffice.xmerge.util.ColourConverter; -import org.openoffice.xmerge.converter.xml.ParaStyle; -import org.openoffice.xmerge.converter.xml.TextStyle; - - -/** - * Represents a paragraph data structure within a Pocket Word document. - * - * @author Mark Murnane - * @version 1.1 - */ -class Paragraph implements PocketWordConstants { - /* - * The data elements of a Paragraph. - * - * As the 'unknown' values are not calculated they are declared static. - * They are not declared final because they do have a calcuable value. - */ - private static short unknown1 = 0x23; - private short dataWords = 0; - private short textLength = 0; - private short lengthWithFormatting = 0; - private short lines = 0; - - private static final short marker = (short)0xFFFF; - private static int unknown2 = 0x22; // May be two short values - - private short specialIndentation = 0; - private short leftIndentation = 0; - private short rightIndentation = 0; - - private byte bullets = 0; - private byte alignment = 0; - - private static int unknown3 = 0; - - // Will always have at least these formatting settings in each paragraph - private short defaultFont = 2; // Courier New for the time being - private short defaultSize = 10; - - - /* - * Remaining elements assist in calculating correct values for the paragraph - * representation. - */ - - private Vector textSegments = null; - - private Vector lineDescriptors = null; - - private ParaStyle pStyle = null; - - private boolean isLastParagraph = false; - - - /* - * Private class constructor used by all constructors. Ensures the proper - * initialisation of the Vector storing the paragraph's text. - */ - private Paragraph () { - textSegments = new Vector(0, 1); - } - - - /** - *

    Constructor for use when converting from SXW format to Pocket Word - * format.

    - * - * @param style Paragraph style object describing the formatting style - * of this paragraph. - */ - public Paragraph (ParaStyle style) { - this(); - - lineDescriptors = new Vector(0, 1); - pStyle = style; - } - - - /** - *

    Constructor for use when converting from Pocket Word format to SXW - * format.

    - * - * @param data Byte array containing byte data describing this paragraph - * from the Pocket Word file. - */ - public Paragraph (byte[] data) { - this(); - - /* - * Read in all fixed data from the array - * - * unknown1 appears at data[0] and data[1] - */ - dataWords = EndianConverter.readShort(new byte[] { data[2], data[3] } ); - textLength = EndianConverter.readShort(new byte[] { data[4], data [5] } ); - lengthWithFormatting = EndianConverter.readShort( - new byte[] { data[6], data[7] } ); - lines = EndianConverter.readShort(new byte[] { data[8], data [9] } ); - - /* - * The marker appears at data[10] and data[11]. - * - * The value of unknown2 is at data[12], data[13], data[14] and data[15]. - */ - - specialIndentation = EndianConverter.readShort(new byte[] { data[16], data[17] } ); - leftIndentation = EndianConverter.readShort(new byte[] { data[18], data [19] } ); - rightIndentation = EndianConverter.readShort(new byte[] { data[20], data [21] } ); - - bullets = data[22]; - alignment = data[23]; - - // The value of unknown3 is at data[24], data[25], data[26] and data[27]. - - /* - * The actual paragraph data is in the remainder of the byte sequence. - * - * Only the actual text seqence with the embedded formatting tags is - * relevant to the conversion from Pocket Word to SXW format. - */ - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - bos.write(data, 28, lengthWithFormatting); - parseText(bos.toByteArray()); - } - - - /* - * Processes the text portion of the raw paragraph data from the Pocket Word - * file. This data also includes formatting settings for the text in the - * paragraph. - * - * Formatting changes appear like XML/HTML tags. Formatted blocks are - * preceded by a sequence of bytes switching on a formatting change and - * followed by a sequence switching off that formatting change. - */ - private void parseText (byte[] data) { - - int totalLength = data.length; - - StringBuffer sb = new StringBuffer(""); - - // Setup text style information - int mask = TextStyle.BOLD | TextStyle.ITALIC | TextStyle.UNDERLINE - | TextStyle.STRIKETHRU; - - - String fontName = null; - int fontSize = 0; - Color textColour = null; - Color backColour = null; - int modifiers = 0; - - TextStyle ts = null; - - int attrsSet = 0; // If this is 0, we have no extra style - boolean inSequence = false; - boolean sawText = false; - - String s = new String(); // For debugging - - // Start from the very beginning - for (int i = 0; i < totalLength; i++) { - // Will encounter at least two codes first - if ((byte)(data[i] & 0xF0) == FORMATTING_TAG) { - if (sawText) { - // Style change so dump previous segment and style info - addTextSegment(sb.toString(), ts); - sb = new StringBuffer(""); - sawText = false; - } - - switch (data[i]) { - case FONT_TAG: - int index = EndianConverter.readShort( - new byte[] { data[i + 1], data[i + 2] } ); - - /* - * Standard font. - * - * Should really be one, but as the only supported font - * currently is Courier New, want to leave it at Courier - * New for round trip conversions. - * - * Also need to account for the fact that Tahoma is the - * correct standard font. - */ - if (fontName == null || fontName.equals("2")) { - if (index != 2 && index != 1) { - fontName = String.valueOf(index); - attrsSet++; - } - } - else { - // Font is set, but not the default - if (index == 2 || index == 1) { - fontName = "2"; - attrsSet--; - } - else { - fontName = String.valueOf(index); - } - } - i += 2; - break; - - - case FONT_SIZE_TAG: - int size = EndianConverter.readShort( - new byte[] { data[i + 1], data[i + 2] } ); - - if (size == 0) { - // Flags the end of the last paragraph - isLastParagraph = true; - i += 2; - break; - } - - // Standard size - if (fontSize == 0 || fontSize == 10) { - if (size != 10) { - fontSize = size; - attrsSet++; - } - } - else { - // Font size is set, but not to standard - if (size == 10) { - fontSize = 10; - attrsSet--; - } - else { - fontSize = size; - } - } - i += 2; - break; - - - case COLOUR_TAG: - if (data[i + 1] != 0) { - ColourConverter cc = new ColourConverter(); - textColour = cc.convertToRGB( - EndianConverter.readShort(new byte[] { data[i + 1], - data[i + 2] } )); - attrsSet++; - } - else { - textColour = null; - attrsSet--; - } - i += 2; - break; - - - case FONT_WEIGHT_TAG: - if (data[i + 1] == FONT_WEIGHT_BOLD - || data[i + 1] == FONT_WEIGHT_THICK) { - modifiers |= TextStyle.BOLD; - attrsSet++; - } - else { - // Its a bit field so subtracting should work okay. - modifiers ^= TextStyle.BOLD; - attrsSet--; - } - i += 2; - break; - - - case ITALIC_TAG: - if (data[i + 1] == (byte)0x01) { - modifiers |= TextStyle.ITALIC; - attrsSet++; - } - else { - modifiers ^= TextStyle.ITALIC; - attrsSet--; - } - i++; - break; - - - case UNDERLINE_TAG: - if (data[i + 1] == (byte)0x01) { - modifiers |= TextStyle.UNDERLINE; - attrsSet++; - } - else { - modifiers ^= TextStyle.UNDERLINE; - attrsSet--; - } - i++; - break; - - - case STRIKETHROUGH_TAG: - if (data[i + 1] == (byte)0x01) { - modifiers |= TextStyle.STRIKETHRU; - attrsSet++; - } - else { - modifiers ^= TextStyle.STRIKETHRU; - attrsSet--; - } - i++; - break; - - case HIGHLIGHT_TAG: - /* - * Highlighting is treated by OpenOffice as a - * background colour. - */ - if (data[i + 1] == (byte)0x01) { - backColour = Color.yellow; - attrsSet++; - } - else { - backColour = null; - attrsSet--; - } - i++; - break; - } - - inSequence = true; - continue; - } - - if (inSequence) { - // Style information has been changed. Create new style here - - inSequence = false; - if (attrsSet > 0) { - ts = new TextStyle(null, TEXT_STYLE_FAMILY, DEFAULT_STYLE, - mask, modifiers, fontSize, fontName, null); - ts.setColors(textColour, backColour); - } - else { - ts = null; - } - } - - /* - * C4 xx seems to indicate a control code. C4 00 indicates the end - * of a paragraph; C4 04 indicates a tab space. Only these two - * have been seen so far. - */ - if (data[i] == (byte)0xC4) { - /* - * Redundant nodes are sometimes added to the last paragraph - * because a new sequence is being processed when the flag is - * set. - * - * To avoid this, do nothing with the last paragraph unless no - * text has been added for it already. In that case, add the - * empty text segment being process to ensure that all - * paragraphs have at least one text segment. - */ - if (data[i + 1] == (byte)0x00) { - if (isLastParagraph && textSegments.size() > 0) { - return; - } - addTextSegment(sb.toString(), ts); - return; - } - sb.append("\t"); - sawText = true; - i++; - continue; - } - - sb.append((char)data[i]); - sawText = true; - s = sb.toString(); - } - } - - - /** - *

    Adds details of a new text block to the Paragraph object. - *

    - * - * @param text The text of the new block. - * @param style Text style object describing the formatting attached - * to this block of text. - */ - public void addTextSegment(String text, TextStyle style) { - textLength += text.length(); - textSegments.add(new ParagraphTextSegment(text, style)); - } - - - /** - *

    This method alters the state of the Paragraph object to - * indicate whether or not it is the final paragraph in the document.

    - * - *

    It is used during conversion from SXW format to Pocket Word format. - * In Pocket Word files, the last paragraph finishes with a different byte - * sequence to other paragraphs.

    - * - * @param isLast true if the Paragraph is the last in the document, - * false otherwise. - */ - public void setLastParagraph(boolean isLast) { - isLastParagraph = isLast; - } - - - /** - *

    Complementary method to {@link #setLastParagraph(boolean) - * setLastParagraph}. Returns the terminal status of this - * Paragraph within the Pocket Word document.

    - * - * @return true if the Paragraph is the last in the document; false otherwise. - */ - public boolean getLastParagraph () { - return isLastParagraph; - } - - - /** - *

    This method returns the Pocket Word representation of this - * Paragraph in Little Endian byte order.

    - * - *

    Used when converting from SXW format to Pocket Word format.

    - * - * @return byte array containing the formatted representation - * of this Paragraph. - */ - public byte[] getParagraphData() { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - - postProcessText(); - - /* - * Need information about the paragraph segments in two places - * so calculate them first. - * - * The stream contains the text wrapped in any formatting sequences that - * are necessary. - */ - ByteArrayOutputStream segs = new ByteArrayOutputStream(); - - try { - for (int i = 0; i < textSegments.size(); i++) { - ParagraphTextSegment pts = (ParagraphTextSegment)textSegments.elementAt(i); - segs.write(pts.getData()); - } - } - catch (IOException ioe) { - // Should never happen in a memory based stream - } - - /* - * Number of data words for this paragraph descriptor: - * - * 26 is the number of bytes prior to the start of the segment. - * 3 comes from the C4 00 00 termintating sequence. - */ - dataWords = (short)(26 + segs.size() + 3 + 4); - if (isLastParagraph) { - dataWords += 6; - } - if (dataWords % 4 != 0) { - dataWords += (4 - (dataWords % 4)); - } - dataWords /= 4; - - /* - * The 8 bytes are made up of E6 ?0 00 and E5 ?0 00 at the start of the - * text along with the C4 00 that terminates it. - * - * In the event that the paragraph is the last one E6 00 00 is also - * present at the end of the text. Also, as we currently use a font - * other than the first in the index (Tahoma) E5 01 00 is also present. - * - * Make sure this is accurate when font specifications change - */ - lengthWithFormatting = (short)(segs.size() + (isLastParagraph ? 14 : 8)); - - try { - bos.write(EndianConverter.writeShort(unknown1)); - bos.write(EndianConverter.writeShort(dataWords)); - bos.write(EndianConverter.writeShort((short)(textLength + 1))); - bos.write(EndianConverter.writeShort(lengthWithFormatting)); - bos.write(EndianConverter.writeShort(lines)); - - bos.write(EndianConverter.writeShort(marker)); - bos.write(EndianConverter.writeInt(unknown2)); - - bos.write(EndianConverter.writeShort(specialIndentation)); - bos.write(EndianConverter.writeShort(leftIndentation)); - bos.write(EndianConverter.writeShort(rightIndentation)); - - bos.write(bullets); - - if (pStyle != null && pStyle.isAttributeSet(ParaStyle.TEXT_ALIGN)) { - switch (pStyle.getAttribute(ParaStyle.TEXT_ALIGN)) { - - case ParaStyle.ALIGN_RIGHT: - bos.write(0x01); - break; - - case ParaStyle.ALIGN_CENTER: - bos.write(0x02); - break; - - default: - bos.write(0x00); // Left align in all other circumstances - break; - } - } - else { - bos.write(0x00); - } - - bos.write(EndianConverter.writeInt(unknown3)); - - - /* - * Write out font and size. - * - * If font support is added then this should change as the information - * will have to be calculated from a Font table. - */ - bos.write(FONT_TAG); - bos.write(EndianConverter.writeShort(defaultFont)); - bos.write(FONT_SIZE_TAG); - bos.write(EndianConverter.writeShort(defaultSize)); - - // Write out the text segments - bos.write(segs.toByteArray()); - - /* - * If this is the last paragraph in the document then we need to make - * sure that the paragraph text is terminated correctly with an E6 00 00 - * before the C4 00 00. - */ - if (isLastParagraph) { - if (defaultFont != 1) { - // Must always go back to the first font. - bos.write(FONT_TAG); - bos.write(EndianConverter.writeShort((short)0x01)); - } - bos.write(FONT_SIZE_TAG); - bos.write(EndianConverter.writeShort((short)0x00)); - } - - bos.write(new byte[] { (byte)0xC4, 0x00, 0x00 } ); - - int padding = 0; - if (bos.size() % 4 != 0) { - padding = 4 - (bos.size() % 4); - } - for (int i = 0; i < padding; i++) { - bos.write(0x00); - } - - // Third byte should match first byte after 0xFF 0xFF - bos.write(new byte[] { 0x42, 0x00, 0x22, 0x00} ); - - /* - * Meaning of last two bytes seems to be the number of words describing - * lines. This is calculated at 10 bytes per descriptor. - * - * May have two extra padding bytes that need to be accounted for too - * The division below may lose 2 bytes (integer result). - */ - int wordsRemaining = (lineDescriptors.size() * 10) / 4; - if ((lineDescriptors.size() * 10) % 4 != 0) { - wordsRemaining++; - } - bos.write(EndianConverter.writeShort((short)wordsRemaining)); - - - // Now write out the line descriptors - for (int i = 0; i < lineDescriptors.size(); i++) { - LineDescriptor ld = (LineDescriptor)lineDescriptors.elementAt(i); - - bos.write(ld.getDescriptorInfo()); - } - - - if (!isLastParagraph) { - /* - * There may be a need to pad this. Will be writing at - * either start of 4 byte block or 2 bytes into it. - */ - if (bos.size() % 4 != 2) { - bos.write(EndianConverter.writeShort((short)0)); - } - bos.write(EndianConverter.writeShort((short)0x41)); - } - } - catch (IOException ioe) { - // Should never occur for a memory based stream - } - - return bos.toByteArray(); - } - - - /* - * This method handles the calculation of correct values for line lengths - * in each individual descriptor and the number of lines in the document. - * - * TODO: Update to take account of different font metrics. - */ - private void postProcessText() { - /* - * The post-processing ... - * - * For each line, we need to add a line descriptor and increment - * the number of lines in the paragraph data structure. - * - * To do this, make sure that no sequence goes over the given screen - * width unless the last char is a whitespace character. - */ - - // In courier, can have no more than 29 chars per line - - int chunkStart = 0; - StringBuffer sb = new StringBuffer(""); - - // Line Descriptor info should be eliminated each time - lineDescriptors = new Vector(1, 1); - lines = 0; - - for (int i = 0; i < textSegments.size(); i++) { - ParagraphTextSegment pts = (ParagraphTextSegment)textSegments.elementAt(i); - sb.append(pts.getText()); - } - - if (sb.length() == 0) { - lines = 1; - lineDescriptors.add(new LineDescriptor((short)1, (short)0)); - return; - } - - while (chunkStart < sb.length()) { - String text = ""; - - try { - text = sb.substring(chunkStart, chunkStart + 30); - } - catch (StringIndexOutOfBoundsException sioobe) { - // We have less than one line left so just add it - text = sb.substring(chunkStart); - lineDescriptors.add(new LineDescriptor((short)(text.length() + 1), (short)(text.length() * 36))); - chunkStart += text.length(); - lines++; - continue; - } - - int lastWhitespace = -1; - - for (int i = 29; i >= 0; i--) { - if (Character.isWhitespace(text.charAt(i))) { - lastWhitespace = i; - break; - } - } - - if (lastWhitespace != -1) { - // The line can be split - lineDescriptors.add(new LineDescriptor((short)(lastWhitespace + 1), (short)(lastWhitespace * 36))); - chunkStart += lastWhitespace + 1; - lines++; - } - else { - // The line is completely occupied by a single word - lineDescriptors.add(new LineDescriptor((short)29, (short)(29 * 36))); - chunkStart += 29; - lines++; - } - } - } - - - /** - *

    Returns the number of lines in the Paragraph.

    - * - * @return The number of lines in the document. - */ - public short getLines() { - postProcessText(); - - return lines; - } - - - /** - *

    Toggles the flag indicating that the Paragraph is a - * bulleted paragraph.

    - * - * @param isBulleted true to enable bulleting for this paragraph, false - * otherwise. - */ - public void setBullets(boolean isBulleted) { - if (isBulleted) { - bullets = (byte)0xFF; - } - else { - bullets = 0; - } - } - - /** - *

    Returns the bulleting status of the Paragraph.

    - * - * @return true if the paragraph is bulleted, false otherwise. - */ - public boolean isBulleted() { - if (bullets != 0) { - return true; - } - return false; - } - - - /** - *

    Returns the number of text characters in the Paragraph, - * excluding formatting.

    - * - * @return The length of the paragraph. - */ - public int getTextLength () { - return textLength; - } - - - /** - *

    Returns an Enumeration over the individual text segments - * of the Paragraph.

    - * - * @return An Enumeration of the text segments. - */ - public Enumeration getSegmentsEnumerator () { - return textSegments.elements(); - } - - - /** - *

    Returns a paragraph style object that describes any of the paragraph - * level formatting used by this Paragraph.

    - * - * @return Paragraph style object describing the Paragraph. - */ - public ParaStyle makeStyle() { - int attrs[] = new int[] { ParaStyle.MARGIN_LEFT, ParaStyle.MARGIN_RIGHT, - ParaStyle.TEXT_ALIGN }; - String values[] = new String[attrs.length]; - - /* - * Not interested in left or right indents just yet. Don't know - * how to calculate them. - */ - - switch (alignment) { - case 2: - values[2] = "center"; - break; - - case 1: - values[2] = "right"; - break; - - case 0: - default: - values[2] = "left"; - return null; // Not interested if its the default. - } - - return new ParaStyle(null, PARAGRAPH_STYLE_FAMILY, null, attrs, - values, null); - } - - - /* - * Class describing the data structures which appear following the text - * of a Paragraph. For each line on screen that the Paragraph uses, a - * LineDescriptor details how many characters are on the line and how much - * screen space they occupy. - * - * The screen space and character breaks are calculated during post-processing - * of the paragraph. See postProcessText(). - * - * The unit of measurement used for screen space is currently unknown. - */ - private class LineDescriptor { - private short characters = 0; - private int filler = 0; - private short screen_space = 0; - private short marker = 0; - - private LineDescriptor(short chars, short space) { - characters = chars; - screen_space = space; - marker = (short)0x040C; // Not a constant. Depends on font used. - } - - - private byte[] getDescriptorInfo(){ - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - - try { - bos.write(EndianConverter.writeShort(characters)); - bos.write(EndianConverter.writeInt(filler)); - bos.write(EndianConverter.writeShort(screen_space)); - bos.write(EndianConverter.writeShort(marker)); - } - catch (IOException ioe) { - // Should never happen in a memory based stream. - } - - return bos.toByteArray(); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ParagraphTextSegment.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ParagraphTextSegment.java deleted file mode 100644 index 442cbf2f53dc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/ParagraphTextSegment.java +++ /dev/null @@ -1,205 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.openoffice.xmerge.converter.xml.TextStyle; - -import org.openoffice.xmerge.util.EndianConverter; - -import org.openoffice.xmerge.util.ColourConverter; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import java.awt.Color; - -/** - * This class represents a portion of text with a particular formatting style. - * The style may differ from the default style of the paragraph of which it - * is part. - * - * @author Mark Murnane - * @version 1.1 - */ -class ParagraphTextSegment implements PocketWordConstants { - - private String pText; - private TextStyle pStyle; - - - /** - *

    Initialise a new ParagraphTextSegment

    . - *

    Both parameters may be null.

    - * - * @param data The text of this segment. - * @param style The style describing this segment. - */ - public ParagraphTextSegment (String data, TextStyle style) { - pText = data; - pStyle = style; - } - - /** - *

    Sets the text for this segment.

    - * - * @param data The text of this segment. - */ - public void setText (String data) { - pText = data; - } - - /** - *

    Gets the text for this segment.

    - * - * @return The text of this segment. - */ - public String getText () { - return pText; - } - - - /** - *

    Sets the style for this segment.

    - * - * @param data The style describing this segment. - */ - public void setStyle (TextStyle style) { - pStyle = style; - } - - - /** - *

    Gets the style for this segment.

    - * - * @return The style describing this segment. - */ - public TextStyle getStyle () { - return pStyle; - } - - - /** - *

    Returns the string data for this text segment wrapped with the - * appropriate byte codes for the formatting settings used.

    - * - * @return byte array containing formatted text in Pocket Word - * format. - */ - public byte[] getData () { - ByteArrayOutputStream data = new ByteArrayOutputStream(); - - boolean colourSet = false; - boolean boldSet = false; - boolean italicSet = false; - boolean underlineSet = false; - boolean strikeSet = false; - boolean highlightSet = false; - - // TODO: Font changes need to be worked out here - - try { - if (pStyle != null) { - if (pStyle.getFontColor() != null) { - ColourConverter cc = new ColourConverter(); - short colourCode = cc.convertFromRGB(pStyle.getFontColor()); - if (colourCode != 0) { // not black - data.write(COLOUR_TAG); - data.write(EndianConverter.writeShort(colourCode)); - colourSet = true; - } - } - if (pStyle.isSet(TextStyle.BOLD) && pStyle.getAttribute(TextStyle.BOLD)) { - data.write(new byte[] { FONT_WEIGHT_TAG, FONT_WEIGHT_BOLD, 0x00 } ); - boldSet = true; - } - if (pStyle.isSet(TextStyle.ITALIC) && pStyle.getAttribute(TextStyle.ITALIC)) { - data.write(new byte[] { ITALIC_TAG, 0x01 } ); - italicSet = true; - } - if (pStyle.isSet(TextStyle.UNDERLINE) && pStyle.getAttribute(TextStyle.UNDERLINE)) { - data.write(new byte[] { UNDERLINE_TAG, 0x01 } ); - underlineSet = true; - } - if (pStyle.isSet(TextStyle.STRIKETHRU) && pStyle.getAttribute(TextStyle.STRIKETHRU)) { - data.write(new byte[] { STRIKETHROUGH_TAG, 0x01 } ); - strikeSet = true; - } - if (pStyle.getBackgroundColor() != null) { - data.write(new byte[] { HIGHLIGHT_TAG, 0x01 } ); - highlightSet = true; - } - } - - - // Now write out the data - if (!pText.equals("\t")) { - data.write(pText.getBytes()); - } - else { - /* - * Tabs are a special case. They are represented by Pocket Word - * as the LE sequence 0xC4 0x04. - */ - data.write(new byte[] { (byte)0xC4, 0x04 } ); - } - - - // Now close out any of the settings changes - if (colourSet) { - /* - * Colours may change without changing back to black, but - * without knowing what the previous colour was, the only - * way to ensure correct conversion is to restore to black and - * let the next segment change the colour again. - */ - data.write(new byte[] { COLOUR_TAG, 0x00, 0x00 } ); - } - if (boldSet) { - data.write(new byte[] { FONT_WEIGHT_TAG, FONT_WEIGHT_NORMAL, 0x00 } ); - } - if (italicSet) { - data.write(new byte[] { ITALIC_TAG, 0x00 } ); - } - if (underlineSet) { - data.write(new byte[] { UNDERLINE_TAG, 0x00 } ); - } - if (strikeSet) { - data.write(new byte[] { STRIKETHROUGH_TAG, 0x00 } ); - } - if (highlightSet) { - data.write(new byte[] { HIGHLIGHT_TAG, 0x00 } ); - } - } - catch (IOException ioe) { - // Should never occur in a memory based stream - } - - return data.toByteArray(); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PluginFactoryImpl.java deleted file mode 100644 index d02c9eeddf53..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PluginFactoryImpl.java +++ /dev/null @@ -1,165 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - - -import java.io.InputStream; -import java.io.IOException; - -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.DocumentMergerFactory; -import org.openoffice.xmerge.ConverterCapabilities; - -import org.openoffice.xmerge.util.registry.ConverterInfo; - -import org.openoffice.xmerge.converter.xml.sxw.SxwPluginFactory; - - -/** - * Factory class used to create converters to/from the Pocket Word format. - * - * @author Mark Murnane - * @version 1.1 - */ -public final class PluginFactoryImpl extends SxwPluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory, - DocumentMergerFactory{ - - /** - *

    Constructor that caches the ConvertInfo that - * corresponds to the registry information for this plug-in.

    - * - * @param ci ConvertInfo object. - */ - public PluginFactoryImpl (ConverterInfo ci) { - super(ci); - } - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - /** - *

    The DocumentSerializer is used to convert - * from the OpenOffice Writer Document format - * to the Pocket Word Document format.

    - * - *

    The ConvertData object is passed along to the - * created DocumentSerializer via its constructor. - * The ConvertData is read and converted when the - * the DocumentSerializer object's - * serialize method is called.

    - * - * @param doc Document object that the created - * DocumentSerializer object uses - * as input. - * - * @return A DocumentSerializer object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - return new DocumentSerializerImpl(doc); - } - - - /** - * The DocumentDeserializer is used to convert - * from the Pocket Word Document format to - * the OpenOffice Writer Document format.

    - * - * The ConvertData object is passed along to the - * created DocumentDeserializer via its constructor. - * The ConvertData is read and converted when the - * the DocumentDeserializer object's - * deserialize method is called. - *

    - * - * @param cd ConvertData object that the created - * DocumentDeserializer object uses as - * input. - * - * @return A DocumentDeserializer object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - return new DocumentDeserializerImpl(cd); - } - - - /** - *

    Create a Document object that corresponds to - * the Pocket Word data passed in via the InputStream - * object. - * - *

    This method will read from the given InputStream - * object. The returned Document object will contain - * the necessary data for the other objects created by the - * PluginFactoryImpl to process, like the - * DocumentSerializerImpl object and a - * DocumentMerger object.

    - * - * @param name The Document name. - * @param is InputStream object corresponding - * to the Document. - * - * @return A Document object representing the - * Pocket Word format. - * - * @throws IOException If any I/O error occurs. - */ - - public Document createDeviceDocument(String name, InputStream is) - throws IOException { - PocketWordDocument pwd = new PocketWordDocument(name); - pwd.read(is); - return pwd; - } - - /** - * Returns an instance of DocumentMergerImpl, - * which is an implementation of the DocumentMerger - * interface. - * - * @param doc Document to merge. - * - * @return A DocumentMergerImpl object. - */ - public DocumentMerger createDocumentMerger(Document doc) { - ConverterCapabilities cc = converterCap; - DocumentMergerImpl merger = new DocumentMergerImpl(doc, cc); - return merger; - - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordConstants.java deleted file mode 100644 index de67eeec31a7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordConstants.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - - -/** - * Interface defining constants for Pocket Word attributes. - * - * @author Mark Murnane - * @version 1.1 - */ -public interface PocketWordConstants { - /** File extension for Pocket Word files. */ - public static final String FILE_EXTENSION = ".psw"; - - /** Name of the default style. */ - public static final String DEFAULT_STYLE = "Standard"; - - /** Family name for Paragraph styles. */ - public static final String PARAGRAPH_STYLE_FAMILY = "paragraph"; - - /** Family name for Text styles. */ - public static final String TEXT_STYLE_FAMILY = "text"; - - - /** - * Generic Pocket Word formatting code. - * - * Formatting codes are 0xEz, where z indicates the specific format code. - */ - public static final byte FORMATTING_TAG = (byte)0xE0; - - /** Font specification tag. The two bytes following inidicate which font. */ - public static final byte FONT_TAG = (byte)0xE5; - - /** Font size tag. The two bytes following specify font size in points. */ - public static final byte FONT_SIZE_TAG = (byte)0xE6; - - /** Colour tag. Two bytes following index a 4-bit colour table. */ - public static final byte COLOUR_TAG = (byte)0xE7; - - /** Font weight tag. Two bytes following indicate weighting of font. */ - public static final byte FONT_WEIGHT_TAG = (byte)0xE8; - - /** Normal font weight value. */ - public static final byte FONT_WEIGHT_NORMAL = (byte)0x04; - - /** Fine font weight value. */ - public static final byte FONT_WEIGHT_FINE = (byte)0x01; - - /** Bold font weight value. */ - public static final byte FONT_WEIGHT_BOLD = (byte)0x07; - - /** Thick font weight value. */ - public static final byte FONT_WEIGHT_THICK = (byte)0x09; - - /** Italic tag. Single byte following indicates whether italic is on. */ - public static final byte ITALIC_TAG = (byte)0xE9; - - /** Underline tag. Single byte following indicates whether underline is on. */ - public static final byte UNDERLINE_TAG = (byte)0xEA; - - /** Strikethrough tag. Single byte following indicates whether strikethrough is on. */ - public static final byte STRIKETHROUGH_TAG = (byte)0XEB; - - /** Highlighting tag. Single byte following indicates whether highlighting is on. */ - public static final byte HIGHLIGHT_TAG = (byte)0xEC; - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordDocument.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordDocument.java deleted file mode 100644 index 9026d8866113..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/PocketWordDocument.java +++ /dev/null @@ -1,408 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.converter.xml.sxw.pocketword; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.converter.xml.ParaStyle; -import org.openoffice.xmerge.converter.xml.TextStyle; - -import java.awt.Font; - -import java.io.InputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; - -import java.util.Enumeration; -import java.util.Vector; - - -/** - *

    Class representing a Pocket Word Document.

    - * - *

    PocketWordDocument is used to create new Pocket Word documents - * and to read existing data to allow for conversion to OpenOffice Writer - * format.

    - * - * @author Mark Murnane - * @version 1.1 - */ -public class PocketWordDocument implements Document, PocketWordConstants { - private String docName; - - private byte[] preamble; - private Vector fonts; - private DocumentDescriptor descriptor; - private Vector paragraphs; - - private ParaStyle pStyle; - private Paragraph currentPara; - - /* - * The trailer currently appears to be constant, but if its found to - * have a variable component, then this initialisation should be moved - * to an initTrailer() method. - * - * Padding is sometimes needed before the trailer to ensure the file - * ends on a 4-byte boundary, but this is handled in write(). - */ - private static final byte[] trailer = new byte[] { (byte)0x82, 0x00, - 0x09, 0x00, - 0x03, 0x00, - (byte)0x82, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00 }; - - - /** - *

    Constructs a new Pocket Word Document.

    - * - *

    This new document does notcontain any information. Document data must - * either be added using appropriate methods, or an existing file can be - * {@link #read(InputStream) read} from an InputStream.

    - * - * @param name The name of the PocketWordDocument. - */ - public PocketWordDocument(String name) { - - docName = trimDocumentName(name); - - preamble = new byte[52]; - fonts = new Vector(0, 1); - descriptor = new DocumentDescriptor(); - paragraphs = new Vector(0, 1); - } - - - /** - *

    This method reads byte data from the InputStream and - * extracts font and paragraph data from the file.

    - * - * @param is InputStream containing a Pocket Word data file. - * - * @throws IOException In case of any I/O errors. - */ - public void read(InputStream docData) throws IOException { - - if (docData == null) { - throw new IOException ("No input stream to convert"); - } - - // The preamble may become important for font declarations. - int readValue = docData.read(preamble); - // #i33702# check for an empty InputStream. - if(readValue == -1) { - System.err.println("Error:invalid input stream"); - return; - } - - byte[] font = new byte[80]; - int numfonts = 0; - do { - docData.read(font); - - String name = new String(font, 0, 64, "UTF-16LE"); - fonts.add(name.trim()); - - } while (!(font[76] == 5 && font[77] == 0 - && font[78] == 1 && font[79] == 0)); - - /* - * TODO: The document descriptor data that follows the fonts ends with - * a variable section containing data for each of the paragraphs. - * It may be possible to use this information to calculate staring - * positions for each paragraph rather than iterating through the - * entire byte stream. - */ - - int value; - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - while ((value = docData.read()) != -1) { - bos.write(value); - } - - - byte[] contentData = bos.toByteArray(); - int start = 0, end = 0; - boolean sawMarker = false; - - for (int i = 0; i < contentData.length; i += 4) { - if (contentData[i + 2] == (byte)0xFF - && contentData[i + 3] == (byte)0xFF && !sawMarker) { - start = i - 8; - sawMarker = true; - continue; - } - - if (contentData[i + 2] == (byte)0xFF - && contentData[i + 3] == (byte)0xFF && sawMarker) { - end = i - 8; - ByteArrayOutputStream paragraph = new ByteArrayOutputStream(); - paragraph.write(contentData, start, end - start); - paragraphs.add(new Paragraph(paragraph.toByteArray())); - - // Reset the markers - sawMarker = false; - i -= 4; // Skip back - } - - } - - /* - * Special case, the last paragraph - * If we got here, and the marker is set then we saw the start of the - * last paragraph, but no following paragraph - */ - ByteArrayOutputStream paragraph = new ByteArrayOutputStream(); - if (contentData[contentData.length - 19] == 0) { - paragraph.write(contentData, start, contentData.length - start - 20); - } - else { - paragraph.write(contentData, start, contentData.length - start - 18); - } - paragraphs.add(new Paragraph(paragraph.toByteArray())); - } - - - /* - * Utility method to make sure the document name is stripped of any file - * extensions before use. - */ - private String trimDocumentName(String name) { - String temp = name.toLowerCase(); - - if (temp.endsWith(FILE_EXTENSION)) { - // strip the extension - int nlen = name.length(); - int endIndex = nlen - FILE_EXTENSION.length(); - name = name.substring(0,endIndex); - } - - return name; - } - - - /** - *

    Method to provide access to all of the Paragraph objects - * in the Document.

    - * - * @return Enumeration over the paragraphs in the document. - */ - public Enumeration getParagraphEnumeration() { - return paragraphs.elements(); - } - - - /** - *

    Returns the Document name with no file extension.

    - * - * @return The Document name with no file extension. - */ - public String getName() { - return docName; - } - - - /** - *

    Returns the Document name with file extension.

    - * - * @return The Document name with file extension. - */ - public String getFileName() { - return new String(docName + FILE_EXTENSION); - } - - - /** - *

    Writes out the Document content to the specified - * OutputStream.

    - * - *

    This method may not be thread-safe. - * Implementations may or may not synchronize this - * method. User code (i.e. caller) must make sure that - * calls to this method are thread-safe.

    - * - * @param os OutputStream to write out the - * Document content. - * - * @throws IOException If any I/O error occurs. - */ - public void write(OutputStream os) throws IOException { - DataOutputStream dos = new DataOutputStream(os); - - initPreamble(); - dos.write(preamble); - - loadFonts(); - for (int i = 0; i < fonts.size(); i++ ) { - ByteArrayOutputStream fontData = (ByteArrayOutputStream)fonts.elementAt(i); - dos.write(fontData.toByteArray()); - } - - - for (int i = 0; i < paragraphs.size(); i++) { - Paragraph para = (Paragraph)paragraphs.elementAt(i); - descriptor.addParagraph((short)para.getTextLength(), para.getLines()); - } - dos.write(descriptor.getDescriptor()); - - for (int i = 0; i < paragraphs.size(); i++ ) { - Paragraph para = (Paragraph)paragraphs.elementAt(i); - - // Last paragraph has some extra data - if (i + 1 == paragraphs.size()) { - para.setLastParagraph(true); - } - dos.write(para.getParagraphData()); - } - - - /* - * Before we write out the trailer, we need to make sure that it will - * lead to the file ending on a 4 byte boundary. - */ - if (dos.size() % 4 == 0) { - dos.write((byte)0x00); - dos.write((byte)0x00); - } - - dos.write(trailer); - - dos.flush(); - dos.close(); - } - - - /** - *

    This method adds a new paragraph element to the document. No string - * data is added to the paragraph.

    - * - *

    N.B. The newly added paragraph becomes the current paragraph and - * is used as the target for all subsequent calls to addParagraphData().

    - * - * @param style Paragraph Style object describing the formatting for - * the new paragraph. Can be null. - * @param listElement true if this paragraph is to be bulleted; - * false otherwise. - */ - public void addParagraph(ParaStyle style, boolean listElement) { - /* For the moment, only support basic text entry in a single paragraph */ - Paragraph para = new Paragraph(style); - - paragraphs.add(para); - - pStyle = style; - currentPara = para; - - if (listElement) { - para.setBullets(true); - } - } - - - /** - *

    This method adds text to the current paragraph.

    - * - *

    If no paragraphs exist within the document, it creates one.

    - * - * @param data The string data for this segment. - * @param style Text Style object describing the formatting of this - * segment. Can be null. - */ - public void addParagraphData(String data, TextStyle style) { - if (currentPara == null) { - addParagraph(null, false); - } - currentPara.addTextSegment(data, style); - } - - - /* - * Preamble is the portion before font specification which never - * seems to change from one file, or one saved version, to the next. - * - * Bytes 18h and 19h seem to contain the number of fonts and should - * be modified when all of the fonts have been specified. - * These bytes are the first two on the fourth line below. - */ - private void initPreamble() { - preamble = new byte[] { 0x7B, 0x5C, 0x70, 0x77, 0x69, 0x15, 0x00, 0x00, - 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x2C, 0x00, 0x01, 0x00, 0x0A, 0x00, // Bytes 3-4 Font?? - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Bytes 1-2 # Fonts - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00 }; - } - - - /* - * This method writes the minimum font data that is used by the converter. - * Currently, all documents convert to 10 point Courier New. Tahoma is - * always mentioned in Pocket Word files, however, even if it is not used. - * - * TODO: Rewrite to allow for multiple fonts once font support issues - * have been resolved. - */ - private void loadFonts() { - ByteArrayOutputStream fontData = new ByteArrayOutputStream(); - - try { - fontData.write(new String("Tahoma").getBytes("UTF-16LE")); - fontData.write(new byte[52]); // Rest of font name? - fontData.write(new byte[] { 0x02, 0x00, 0x01, 0x00 } ); - fontData.write(new byte[] { 0x00, 0x00, 0x01, 0x00 } ); - fontData.write(new byte[] { 0x00, 0x00, 0x00, 0x00 } ); - fontData.write(new byte[] { 0x00, 0x00, 0x00, 0x00 } ); - - fonts.add(fontData); - - fontData = new ByteArrayOutputStream(); - - fontData.write(new String("Courier New").getBytes("UTF-16LE")); - fontData.write(new byte[42]); - fontData.write(new byte[] { 0x14, 0x00, 0x04, 0x00 } ); - fontData.write(new byte[] { 0x01, 0x00, 0x00, 0x00 } ); - fontData.write(new byte[] { 0x00, 0x00, 0x15, 0x00 } ); - - // Next part indicates that this is the last font - fontData.write(new byte[] { 0x05, 0x00, 0x01, 0x00 } ); - - fonts.add(fontData); - } - catch (IOException ioe) { - // Shouldn't happen as this is a memory based stream - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml deleted file mode 100644 index 9253aa503359..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/build.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/converter.xml deleted file mode 100644 index aaa0dcc32e0d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/converter.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - Pocket Word - - - OpenOffice Writer XML to/from Pocket Word conversion. - - - OpenOffice.org - - - org.openoffice.xmerge.converter.xml.sxw.pocketword.PluginFactoryImpl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/package.html deleted file mode 100644 index ecc7d6105d83..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/package.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -org.openoffice.xmerge.converter.xml.sxw.pocketword package - - - - -

    Plugin for the conversion of documents between StarWriter XML and - Pocket Word format.

    -

    This plugin suports conversion of most features supported by Pocket Word.

    -
      -
    • Bold, Italic, Underline
    • -
    • Strikethrough
    • -
    • Highlight
    • -
    • Colours
    • -
    • Lists
    • -
    • Alignments
    • -
    - -

    Additionally, work on fonts is currently underway.

    - -

    This plugin is based on the Windows CE 3.0 version of Pocket Word.
    - Testing was carried out using Pocket PC 2000 and Pocket PC 2002 devices.

    - -

    It follows the {@link org.openoffice.xmerge} framework -for the conversion process.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/ConverterCapabilitiesImpl.java deleted file mode 100644 index 510f983e8248..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/ConverterCapabilitiesImpl.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - *

    WordSmith implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarWriter XML to/from WordSmith conversions. - * The ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_DOCUMENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_DOCUMENT_CONTENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_HEADING.equals(tag)) - return true; - else if (OfficeConstants.TAG_ORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_UNORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_ITEM.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_HEADER.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPAN.equals(tag)) - return true; - else if (OfficeConstants.TAG_HYPERLINK.equals(tag)) - return true; - else if (OfficeConstants.TAG_LINE_BREAK.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPACE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TAB_STOP.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_SPACE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_SPACE_COUNT.equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DOCConstants.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DOCConstants.java deleted file mode 100644 index 546d3060eb9b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DOCConstants.java +++ /dev/null @@ -1,61 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -/** - * Constants used for encoding and decoding the WordSmith format. - * - * @author Herbie Ong, David Proulx - */ -interface DOCConstants { - - /** Constant for uncompressed version. */ - public static final short UNCOMPRESSED = 1; - - /** Constant for compressed version. */ - public static final short COMPRESSED = 2; - - /** Constant used for spare fields. */ - public static final int SPARE = 0; - - /** WordSmith record size. */ - public static final short TEXT_RECORD_SIZE = 4096; - - /** Constant for encoding scheme. */ - public static final String ENCODING = "8859_1"; - - /** Constant for TAB character. */ - public final static char TAB_CHAR = '\t'; - - /** Constant for EOL character. */ - public final static char EOL_CHAR = '\n'; - - /** Constant for SPACE character. */ - public final static char SPACE_CHAR = ' '; -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentDeserializerImpl.java deleted file mode 100644 index ad90541afbbb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentDeserializerImpl.java +++ /dev/null @@ -1,565 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.w3c.dom.*; - -import java.io.IOException; -import java.util.Enumeration; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PdbDecoder; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; - -import java.util.Vector; -import java.io.ByteArrayInputStream; - -import org.openoffice.xmerge.converter.xml.*; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.XmlUtil; - -/** - *

    WordSmith implementation of - * org.openoffice.xmerge.DocumentDeserializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - * The deserialize method uses a - * DocDecoder to read the WordSmith format into a - * String object, then it calls buildDocument - * to create a SxwDocument object from it. - * - * @author Herbie Ong, David Proulx - */ -public final class DocumentDeserializerImpl -implements DOCConstants, OfficeConstants, DocumentDeserializer { - - /** A Decoder object for decoding WordSmith format. */ - private WSDecoder decoder = null; - - WseFontTable fontTable = null; - WseColorTable colorTable = null; - StyleCatalog styleCat = null; - StyleCatalog oldStyleCat = null; - - /** A ConvertData object assigned to this object. */ - private ConvertData cd = null; - - - /** - * Constructor that assigns the given ConvertData - * to the object. - * - * @param cd A ConvertData object to read data for - * the conversion process by the deserialize method. - */ - public DocumentDeserializerImpl(ConvertData cd) { - this.cd = cd; - } - - - /** - * Convert the given ConvertData into a - * SxwDocument object. - * - * @return Resulting Document object. - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public Document deserialize() throws ConvertException, - IOException { - return deserialize(null, cd); - } - - - public Document deserialize(Document origDoc, ConvertData cd) - throws IOException { - - Document doc = null; - PalmDocument palmDoc = null; - Enumeration e = cd.getDocumentEnumeration(); - - while(e.hasMoreElements()) { - palmDoc = (PalmDocument) e.nextElement(); - PalmDB pdb = palmDoc.getPdb(); - Record[] recs = pdb.getRecords(); - decoder = new WSDecoder(); - Wse[] b = decoder.parseDocument(recs); - String docName = palmDoc.getName(); - doc = buildDocument(docName, b, origDoc); - } - return doc; - } - - - /** - * Temporary method to read existing StyleCatalog - * as a starting point. - * - * @param parentDoc The parent Document. - */ - private void readStyleCatalog(Document parentDoc) { - Element rootNode = null; - try { - java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); - parentDoc.write(bos); - SxwDocument sxwDoc = new SxwDocument("old"); - sxwDoc.read(new ByteArrayInputStream(bos.toByteArray())); - org.w3c.dom.Document domDoc = sxwDoc.getContentDOM(); - - String families[] = new String[3]; - families[0] = "text"; - families[1] = "paragraph"; - families[2] = "paragraph"; - Class classes[] = new Class[3]; - classes[0] = TextStyle.class; - classes[1] = ParaStyle.class; - classes[2] = TextStyle.class; - - NodeList nl = domDoc.getElementsByTagName(TAG_OFFICE_STYLES); - oldStyleCat.add(nl.item(0), families, classes, null, false); - nl = domDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - oldStyleCat.add(nl.item(0), families, classes, null, false); - nl = domDoc.getElementsByTagName(TAG_OFFICE_MASTER_STYLES); - oldStyleCat.add(nl.item(0), families, classes, null, false); - - } catch (Exception e) { - Debug.log(Debug.ERROR, "", e); - } - - } - - - /** - * Given an array of paragraph Style objects, see if - * there is exactly one which matches the text formatting - * Style of tStyle. - * - * @param paraStyles An array of paragraph Style - * objects. - * @param tStyle Text Style to match. - * - * @return The paragraph Style that matches. - */ - private ParaStyle matchParaByText(Style paraStyles[], TextStyle tStyle) { - int matchIndex = -1; - int matchCount = 0; - Style txtMatches[] = (Style[]) oldStyleCat.getMatching(tStyle); - if (txtMatches.length >= 1) { - for (int j = 0; j < txtMatches.length; j++) { - TextStyle t = (TextStyle)txtMatches[j]; - - if (!t.getFamily().equals("paragraph")) - continue; - - for (int k = 0; k < paraStyles.length; k++) { - if (t.getName().equals(paraStyles[k].getName())) { - matchCount++; - matchIndex = k; - } - } - } - } - if (matchCount == 1) - return (ParaStyle)paraStyles[matchIndex]; - else return null; - } - - - /** - * Take a String of text and turn it into a sequence - * of Node objects. - * - * @param text String of text. - * @param parentDoc Parent Document. - * - * @return Array of Node objects. - */ - private Node[] parseText(String text, org.w3c.dom.Document parentDoc) { - Vector nodeVec = new Vector(); - - // Break up the text from the WordSmith text run into Open - // Office text runs. There may be more runs in OO because - // runs of 2 or more spaces map to nodes. - while ((text.indexOf(" ") != -1) || (text.indexOf("\t") != 1)) { - - // Find the indices of tabs and multiple spaces, and - // figure out which of them occurs first in the string. - int spaceIndex = text.indexOf(" "); - int tabIndex = text.indexOf("\t"); - if ((spaceIndex == -1) && (tabIndex == -1)) - break; // DJP This should not be necessary. What is wrong - // with the while() stmt up above? - int closerIndex; // Index of the first of these - if (spaceIndex == -1) - closerIndex = tabIndex; - else if (tabIndex == -1) - closerIndex = spaceIndex; - else - closerIndex = (spaceIndex > tabIndex) ? tabIndex : spaceIndex; - - // If there is any text prior to the first occurrence of a - // tab or spaces, create a text node from it, then chop it - // off the string we're working with. - if (closerIndex > 0) { - String beginningText = text.substring(0, closerIndex); - Text textNode = parentDoc.createTextNode(beginningText); - nodeVec.addElement(textNode); - log(""); - log(beginningText); - log(""); - } - text = text.substring(closerIndex); - - // Handle either tab character or space sequence by creating - // an element for it, and then chopping out the text that - // represented it in "text". - if (closerIndex == tabIndex) { - Element tabNode = parentDoc.createElement(TAG_TAB_STOP); - nodeVec.add(tabNode); - text = text.substring(1); // tab is always a single character - log(""); - } else { - // Compute length of space sequence. - int nrSpaces = 2; - while ((nrSpaces < text.length()) - && text.substring(nrSpaces, nrSpaces + 1).equals(" ")) - nrSpaces++; - - Element spaceNode = parentDoc.createElement(TAG_SPACE); - spaceNode.setAttribute(ATTRIBUTE_SPACE_COUNT, new Integer(nrSpaces).toString()); - nodeVec.add(spaceNode); - text = text.substring(nrSpaces); - log(""); - } - } - - // No more tabs or space sequences. If there's any remaining - // text create a text node for it. - if (text.length() > 0) { - Text textNode = parentDoc.createTextNode(text); - nodeVec.add(textNode); - log(""); - log(text); - log(""); - } - - // Now create and populate an array to return the nodes in. - Node nodes[] = new Node[nodeVec.size()]; - for (int i = 0; i < nodeVec.size(); i++) - nodes[i] = (Node)nodeVec.elementAt(i); - return nodes; - } - - - /** - * Parses the text content of a WordSmith format and builds a - * SXWDocument. - * - * @param docName Document name - * @param str Text content of WordSmith format - * - * @return Resulting SXWDocument object. - * - * @throws IOException If any I/O error occurs. - */ - private SxwDocument buildDocument(String docName, Wse[] data, Document origDoc) - throws IOException { - - // create minimum office xml document. - SxwDocument sxwDoc = new SxwDocument(docName); - sxwDoc.initContentDOM(); - - org.w3c.dom.Document doc = sxwDoc.getContentDOM(); - - // Grab hold of the office:body tag, - // Assume there should be one. - // This is where top level paragraphs will append to. - NodeList list = doc.getElementsByTagName(TAG_OFFICE_BODY); - Node bodyNode = list.item(0); - - styleCat = new StyleCatalog(50); - oldStyleCat = new StyleCatalog(50); - if (origDoc != null) - readStyleCatalog(origDoc); - - Element currPara = null; - ParaStyle currParaStyle = null; - int newTextStyleNr = 0; - int newParaStyleNr = 0; - - // Now write out the document body by running through - // the list of WordSmith elements and processing each one - // in turn. - for (int i = 0; i < data.length; i++) { - - if (data[i].getClass() == WsePara.class) { - - currPara = doc.createElement(TAG_PARAGRAPH); - log(""); - log(""); - - WsePara p = (WsePara)data[i]; - - // Save info about the first text run, if there is one. - WseTextRun firstTextRun = null; - - if ((data.length >= i + 2) - && (data[i+1].getClass() == WseTextRun.class)) - firstTextRun = (WseTextRun)data[i+1]; - - Style matches[] = oldStyleCat.getMatching(p.makeStyle()); - - // See if we can find a unique match in the catalog - // of existing styles from the original document. - ParaStyle pStyle = null; - if (matches.length == 1) { - pStyle = (ParaStyle)matches[0]; - log("using an existing style"); - } else if ((matches.length > 1) && (firstTextRun != null)) { - pStyle = matchParaByText(matches, firstTextRun.makeStyle()); - log("resolved a para by looking @ text"); - } - - // If nothing found so far, try looking in the catalog - // of newly-created styles. - // DJP FIXME: if we need to add two para styles with the - // same para formatting info but different default text - // styles, this won't work! - if (pStyle == null) { - log("had " + matches.length + " matches in old catalog"); - matches = styleCat.getMatching(p.makeStyle()); - if (matches.length == 0) { - pStyle = p.makeStyle(); - String newName = new String("PPP" + ++newParaStyleNr); - pStyle.setName(newName); - styleCat.add(pStyle); - // DJP: write in the text format info here - log("created a new style"); - } else if (matches.length == 1) { - pStyle = (ParaStyle)matches[0]; - log("re-using a new style"); - } else if (firstTextRun != null) { - pStyle = matchParaByText(matches, firstTextRun.makeStyle()); - if (pStyle != null) { - log("resolved a (new) para by looking @ text"); - } else - log("Hey this shouldn't happen! - nr of matches is " - + matches.length); - } - } - - if (pStyle == null) - log("Unable to figure out a para style"); - - // Figured out a style to use. Specify the style in this - // paragraph's attributes. - currPara.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, pStyle.getName()); - - bodyNode.appendChild(currPara); - currParaStyle = pStyle; - } else if (data[i].getClass() == WseTextRun.class) { - WseTextRun tr = (WseTextRun)data[i]; - TextStyle trStyle = null; - Node trNodes[] = parseText(tr.getText(), doc); - - // First see if the formatting of this text run matches - // the default text formatting for this paragraph. If - // it does, then just make the text node(s) children of - // the current paragraph. - Style[] cps = new Style[1]; - cps[0] = currParaStyle; - if (matchParaByText(cps, tr.makeStyle()) != null) { - for (int ii = 0; ii < trNodes.length; ii++) { - currPara.appendChild(trNodes[ii]); - } - continue; - } - - // Check for existing, matching styles in the old style - // catalog. If exactly one is found, use it. Otherwise, - // check the new style catalog, and either use the style - // found or add this new one to it. - Style matches[] = oldStyleCat.getMatching(tr.makeStyle()); - if (matches.length == 1) - trStyle = (TextStyle)matches[0]; - else { - matches = styleCat.getMatching(tr.makeStyle()); - if (matches.length == 0) { - trStyle = tr.makeStyle(); - String newName = new String("TTT" + ++newTextStyleNr); - trStyle.setName(newName); - styleCat.add(trStyle); - } else if (matches.length == 1) - trStyle = (TextStyle)matches[0]; - else - log("multiple text style matches from new catalog"); - } - - // Create a text span node, set the style attribute, make the - // text node(s) its children, and append it to current paragraph's - // list of children. - Element textSpanNode = doc.createElement(TAG_SPAN); - textSpanNode.setAttribute(ATTRIBUTE_TEXT_STYLE_NAME, trStyle.getName()); - for (int ii = 0; ii < trNodes.length; ii++) { - textSpanNode.appendChild(trNodes[ii]); - } - currPara.appendChild(textSpanNode); - log(""); - } - - else if (data[i].getClass() == WseFontTable.class) { - fontTable = (WseFontTable)data[i]; - } - - else if (data[i].getClass() == WseColorTable.class) { - colorTable = (WseColorTable)data[i]; - } - } - - - //NodeList r = doc.getElementsByTagName(TAG_OFFICE_DOCUMENT); - NodeList r = doc.getElementsByTagName(TAG_OFFICE_DOCUMENT_CONTENT); - Node rootNode = r.item(0); - - // read the original document - org.w3c.dom.NodeList nl; - if (origDoc != null) { - java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); - origDoc.write(bos); - SxwDocument origSxwDoc = new SxwDocument("old"); - origSxwDoc.read(new ByteArrayInputStream(bos.toByteArray())); - org.w3c.dom.Document origDomDoc = origSxwDoc.getContentDOM(); - - XmlUtil xu = new XmlUtil(); - org.w3c.dom.DocumentFragment df; - org.w3c.dom.Node newNode; - - // copy font declarations from original document to the new document - nl = origDomDoc.getElementsByTagName(TAG_OFFICE_FONT_DECLS); - df = doc.createDocumentFragment(); - newNode = xu.deepClone(df, nl.item(0)); - rootNode.insertBefore(newNode, bodyNode); - - // copy style catalog from original document to the new document - nl = origDomDoc.getElementsByTagName(TAG_OFFICE_STYLES); - df = doc.createDocumentFragment(); - newNode = xu.deepClone(df, nl.item(0)); - rootNode.insertBefore(newNode, bodyNode); - - nl = origDomDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - df = doc.createDocumentFragment(); - newNode = xu.deepClone(df, nl.item(0)); - rootNode.insertBefore(newNode, bodyNode); - - nl = origDomDoc.getElementsByTagName(TAG_OFFICE_MASTER_STYLES); - df = doc.createDocumentFragment(); - newNode = xu.deepClone(df, nl.item(0)); - rootNode.insertBefore(newNode, bodyNode); - } - - // Original document not specified. We need to add font declarations. - // DJP: this might just be for debugging. Merger will probably put - // the "real" ones in. - // DJP: if really doing it this way, do it right: gather font names - // from style catalog(s). - else { - org.w3c.dom.Node declNode; - - log(""); - - declNode = doc.createElement(TAG_OFFICE_FONT_DECLS); - rootNode.insertBefore(declNode, bodyNode); - org.w3c.dom.Element fontNode; - - fontNode = doc.createElement(TAG_STYLE_FONT_DECL); - fontNode.setAttribute(ATTRIBUTE_STYLE_NAME, "Arial"); - fontNode.setAttribute(ATTRIBUTE_FO_FONT_FAMILY, "Arial"); - fontNode.setAttribute(ATTRIBUTE_STYLE_FONT_PITCH, "variable"); - declNode.appendChild(fontNode); - - fontNode = doc.createElement(TAG_STYLE_FONT_DECL); - fontNode.setAttribute(ATTRIBUTE_STYLE_NAME, "Arioso"); - fontNode.setAttribute(ATTRIBUTE_FO_FONT_FAMILY, "Arioso"); - fontNode.setAttribute(ATTRIBUTE_STYLE_FONT_PITCH, "variable"); - declNode.appendChild(fontNode); - } - - - // Now add any new styles we have created in this document. - nl = doc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - Node autoStylesNode = nl.item(0); - if (autoStylesNode == null) { - autoStylesNode = doc.createElement(TAG_OFFICE_AUTOMATIC_STYLES); - log(""); - rootNode.insertBefore(autoStylesNode, bodyNode); - } - - Node newStyleCatNode = styleCat.writeNode(doc, "dummy"); - nl = newStyleCatNode.getChildNodes(); - int nNodes = nl.getLength(); - for (int i = 0; i < nNodes; i++) { - autoStylesNode.appendChild(nl.item(0)); - } - - oldStyleCat.dumpCSV(true); - styleCat.dumpCSV(true); - return sxwDoc; - } - - - /** - * Sends message to the log object. - * - * @param str Debug message. - */ - private void log(String str) { - - Debug.log(Debug.TRACE, str); - } - - - /* - public static void main(String args[]) { - - // DocumentDeserializerImpl d = new DocumentDeserializerImpl(new InputStream()); - - Node nodes[] = parseText("Tab here:\tThen some more text"); - } -*/ -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentMergerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentMergerImpl.java deleted file mode 100644 index c6dd88589fe5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentMergerImpl.java +++ /dev/null @@ -1,99 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.diff.ParaNodeIterator; -import org.openoffice.xmerge.merger.diff.IteratorLCSAlgorithm; -import org.openoffice.xmerge.merger.merge.DocumentMerge; -import org.openoffice.xmerge.merger.merge.CharacterBaseParagraphMerge; -import org.openoffice.xmerge.util.Debug; - - -/** - * Wordsmith implementation of DocumentMerger - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.PluginFactoryImpl - * PluginFactoryImpl}.

    - */ -public class DocumentMergerImpl implements DocumentMerger { - - private ConverterCapabilities cc_; - private org.openoffice.xmerge.Document orig = null; - - public DocumentMergerImpl(org.openoffice.xmerge.Document doc, ConverterCapabilities cc) { - cc_ = cc; - this.orig = doc; - } - - public void merge(org.openoffice.xmerge.Document modifiedDoc) throws MergeException { - - SxwDocument wdoc1 = (SxwDocument) orig; - SxwDocument wdoc2 = (SxwDocument) modifiedDoc; - - Document doc1 = wdoc1.getContentDOM(); - Document doc2 = wdoc2.getContentDOM(); - - Iterator i1 = new ParaNodeIterator(cc_, doc1.getDocumentElement()); - Iterator i2 = new ParaNodeIterator(cc_, doc2.getDocumentElement()); - - DiffAlgorithm diffAlgo = new IteratorLCSAlgorithm(); - - // find out the paragrah level diffs - Difference[] diffTable = diffAlgo.computeDiffs(i1, i2); - - if (Debug.isFlagSet(Debug.INFO)) { - Debug.log(Debug.INFO, "Diff Result: "); - - for (int i = 0; i < diffTable.length; i++) { - Debug.log(Debug.INFO, diffTable[i].debug()); - } - } - - // merge the paragraphs - NodeMergeAlgorithm charMerge = new CharacterBaseParagraphMerge(); - DocumentMerge docMerge = new DocumentMerge(cc_, charMerge); - - Iterator result = null; - - docMerge.applyDifference(i1, i2, diffTable); - } -} - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentSerializerImpl.java deleted file mode 100644 index edbf7f5b4370..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/DocumentSerializerImpl.java +++ /dev/null @@ -1,536 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import java.io.IOException; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.palm.PalmDB; -import org.openoffice.xmerge.converter.palm.PdbEncoder; -import org.openoffice.xmerge.converter.palm.Record; -import org.openoffice.xmerge.converter.palm.PdbUtil; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.util.*; -import org.openoffice.xmerge.converter.xml.*; - -/** - *

    WordSmith implementation of - * org.openoffice.xmerge.DocumentSerializer - * for the {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    The serialize method traverses the DOM - * document from the given Document object. It uses a - * DocEncoder object for the actual conversion of - * contents to the WordSmith format.

    - * - * @author Herbie Ong, David Proulx - */ - -// DJP: take out "implements OfficeConstants" -public final class DocumentSerializerImpl -implements OfficeConstants, DocumentSerializer { - - /** A WSEncoder object for encoding to WordSmith. */ - private WSEncoder encoder = null; - - /** The StyleCatalog. */ - private StyleCatalog styleCat = null; - - private WseFontTable fontTable = new WseFontTable(); - private WseColorTable colorTable = new WseColorTable(); - - /** - * The SxwDocument object that this converter - * processes. - */ - private SxwDocument sxwDoc = null; - - /** - * Constructor. - * - * @param doc The Document to convert. - */ - public DocumentSerializerImpl(Document doc) { - sxwDoc = (SxwDocument) doc; - } - - - /** - *

    Method to convert a Document into a - * PalmDocument.

    - * - *

    This method is not thread safe for performance reasons. - * This method should not be called from within two threads. - * It would be best to call this method only once per object - * instance.

    - * - *

    Note that the doc parameter needs to be an XML - * Document, else this method will throw a - * ClassCastException. I think this is a hack, - * but this is the only way to not modify most of the existing - * code right now.

    - * - * @param doc Input should be an XML Document - * object - * @param os Output of PalmDB object - * - * @throws ConvertException If any conversion error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize() - throws IOException { - - - // get the server document name - String docName = sxwDoc.getName(); - - // get DOM document - org.w3c.dom.Document domDoc = sxwDoc.getContentDOM(); - - // Create WordSmith encoder object. Add WordSmith header, - // empty font table to it. - encoder = new WSEncoder(); - encoder.addElement(fontTable); - encoder.addElement(colorTable); - - // Read the styles into the style catalog - String families[] = new String[3]; - families[0] = "text"; - families[1] = "paragraph"; - families[2] = "paragraph"; - Class classes[] = new Class[3]; - classes[0] = TextStyle.class; - classes[1] = ParaStyle.class; - classes[2] = TextStyle.class; - styleCat = new StyleCatalog(25); - - // Parse the input document - // DJP todo: eliminate multiple calls to add() when it can - // recurse properly. - NodeList nl = domDoc.getElementsByTagName(TAG_OFFICE_STYLES); - styleCat.add(nl.item(0), families, classes, null, false); - nl = domDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - styleCat.add(nl.item(0), families, classes, null, false); - nl = domDoc.getElementsByTagName(TAG_OFFICE_MASTER_STYLES); - styleCat.add(nl.item(0), families, classes, null, false); - - // Traverse to the office:body element. - // There should only be one. - NodeList list = domDoc.getElementsByTagName(TAG_OFFICE_BODY); - int len = list.getLength(); - if (len > 0) { - Node node = list.item(0); - traverseBody(node); - } - - // create a PalmDB object and ConvertData object. - // - Record records[] = encoder.getRecords(); - - ConvertData cd = new ConvertData(); - PalmDocument palmDoc = new PalmDocument(docName, - PdbUtil.intID("WrdS"), PdbUtil.intID("BDOC"), 0, - PalmDB.PDB_HEADER_ATTR_BACKUP, records); - cd.addDocument(palmDoc); - return cd; - } - - - /** - * This method traverses office:body element. - * - * @param node office:body Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseBody(Node node) throws IOException { - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH) || - nodeName.equals(TAG_HEADING)) { - - traverseParagraph(child); - - } else if (nodeName.equals(TAG_UNORDERED_LIST)) { - - traverseList(child); - - } else if (nodeName.equals(TAG_ORDERED_LIST)) { - - traverseList(child); - - } else { - - Debug.log(Debug.INFO, ""); - } - } - } - } - - } - - - /** - * This method traverses the text:p and text:h - * element Node objects. - * - * @param node A text:p or text:h Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseParagraph(Node node) throws IOException { - - String styleName = findAttribute(node, "text:style-name"); - ParaStyle pstyle = (ParaStyle)styleCat.lookup(styleName, "paragraph", - null, ParaStyle.class); - - // If the style does not exist in the style catalog for some reason, - // make up a default style and use it. We'll have to add this default - // style to the style catalog the first time it is used. - if (pstyle == null) { - styleName = "CONVERTER-DEFAULT"; - pstyle = (ParaStyle)styleCat.lookup(styleName, "paragraph", null, - ParaStyle.class); - if (pstyle == null) { - pstyle = new ParaStyle(styleName, "paragraph", null, - (String [])null, null, styleCat); - styleCat.add(pstyle); - styleCat.add(new TextStyle(styleName, "paragraph", null, - 0, 0, 12, "Times-Roman", styleCat)); - } - } - - pstyle = (ParaStyle)pstyle.getResolved(); - encoder.addElement(new WsePara(pstyle, styleCat)); - TextStyle defParaTextStyle = (TextStyle) - styleCat.lookup(styleName, "paragraph", null, TextStyle.class); - - traverseParaContents(node, defParaTextStyle); - } - - - /** - * This method traverses a paragraph content. Note that this - * method may recurse to call itself. - * - * @param node A paragraph or content Node - */ - private void traverseParaContents(Node node, TextStyle defTextStyle) { - - String styleName = findAttribute(node, "text:style-name"); - TextStyle style = (TextStyle) - styleCat.lookup(styleName, "text", null, TextStyle.class); - - if (node.hasChildNodes()) { - NodeList nodeList = node.getChildNodes(); - int nChildren = nodeList.getLength(); - - for (int i = 0; i < nChildren; i++) { - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.TEXT_NODE) { - - // this is for grabbing text nodes. - String s = child.getNodeValue(); - - if (s.length() > 0) { - if (style != null) - encoder.addElement(new WseTextRun(s, style, styleCat, - fontTable, colorTable)); - else - encoder.addElement(new WseTextRun(s, defTextStyle, - styleCat, fontTable, colorTable)); - } - - } else if (child.getNodeType() == Node.ELEMENT_NODE) { - - String childNodeName = child.getNodeName(); - - if (childNodeName.equals(TAG_SPACE)) { - - // this is for text:s tags. - NamedNodeMap map = child.getAttributes(); - Node attr = map.getNamedItem(ATTRIBUTE_SPACE_COUNT); - StringBuffer space = new StringBuffer(" "); - int count = 1; - - if (attr != null) { - try { - String countStr = attr.getNodeValue(); - count = Integer.parseInt(countStr.trim()); - } catch (NumberFormatException e) { - Debug.log(Debug.ERROR, "Problem parsing space tag", e); - } - } - - for (int j = 1; j < count; j++) - space.append(" "); - - encoder.addElement(new WseTextRun(space.toString(), - defTextStyle, - styleCat, fontTable, colorTable)); - Debug.log(Debug.INFO, ""); - - } else if (childNodeName.equals(TAG_TAB_STOP)) { - - // this is for text:tab-stop - encoder.addElement(new WseTextRun("\t", defTextStyle, styleCat, - fontTable, colorTable)); - - Debug.log(Debug.INFO, ""); - - } else if (childNodeName.equals(TAG_LINE_BREAK)) { - - // this is for text:line-break - encoder.addElement(new WseTextRun("\n", defTextStyle, - styleCat, fontTable, colorTable)); - - Debug.log(Debug.INFO, ""); - - } else if (childNodeName.equals(TAG_SPAN)) { - - // this is for text:span - Debug.log(Debug.INFO, ""); - traverseParaContents(child, defTextStyle); - Debug.log(Debug.INFO, ""); - - } else if (childNodeName.equals(TAG_HYPERLINK)) { - - // this is for text:a - Debug.log(Debug.INFO, ""); - traverseParaContents(child, defTextStyle); - Debug.log(Debug.INFO, ""); - - } else if (childNodeName.equals(TAG_BOOKMARK) || - childNodeName.equals(TAG_BOOKMARK_START)) { - - Debug.log(Debug.INFO, ""); - - } else { - - Debug.log(Debug.INFO, ""); - } - - } - - } - } - } - - - /** - * This method traverses list tags text:unordered-list and - * text:ordered-list. A list can only contain one optional - * text:list-header and one or more text:list-item - * elements. - * - * @param node A list Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseList(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_LIST_ITEM)) { - - traverseListItem(child); - - } else if (nodeName.equals(TAG_LIST_HEADER)) { - - traverseListHeader(child); - - } else { - - Debug.log(Debug.ERROR, ""); - } - } - } - } - - Debug.log(Debug.TRACE, ""); - } - - - /** - * This method traverses a text:list-header element. - * It contains one or more text:p elements. - * - * @param node A list header Node. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseListHeader(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH)) { - - traverseParagraph(child); - - } else { - - Debug.log(Debug.TRACE, ""); - } - } - } - } - - Debug.log(Debug.TRACE, ""); - } - - - /** - * This method will traverse a text:list-item. - * A list item may contain one or more of text:p, - * text:h, text:section, - * text:ordered-list and text:unordered-list. - * - * This method currently only implements grabbing text:p, - * text:h, text:unordered-list and - * text:ordered-list. - * - * @param Node Node to traverse. - * - * @throws IOException If any I/O error occurs. - */ - private void traverseListItem(Node node) throws IOException { - - Debug.log(Debug.TRACE, ""); - - if (node.hasChildNodes()) { - - NodeList nodeList = node.getChildNodes(); - int len = nodeList.getLength(); - - for (int i = 0; i < len; i++) { - - Node child = nodeList.item(i); - - if (child.getNodeType() == Node.ELEMENT_NODE) { - - String nodeName = child.getNodeName(); - - if (nodeName.equals(TAG_PARAGRAPH)) { - - traverseParagraph(child); - - } else if (nodeName.equals(TAG_UNORDERED_LIST)) { - - traverseList(child); - - } else if (nodeName.equals(TAG_ORDERED_LIST)) { - - traverseList(child); - - } else { - - Debug.log(Debug.ERROR, ""); - } - } - } - } - - Debug.log(Debug.TRACE, ""); - } - - - /** - * Look up a Node object's named attribute and return - * its value - * - * @param node The Node. - * @param name The attribute name. - * - * @return The value of the named attribute - */ - private String findAttribute(Node node, String name) { - NamedNodeMap attrNodes = node.getAttributes(); - if (attrNodes != null) { - int len = attrNodes.getLength(); - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - if (attr.getNodeName().equals(name)) - return attr.getNodeValue(); - } - } - return null; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/PluginFactoryImpl.java deleted file mode 100644 index f8df638bd69f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/PluginFactoryImpl.java +++ /dev/null @@ -1,149 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.DocumentMergerFactory; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.sxw.SxwPluginFactory; -import org.openoffice.xmerge.converter.palm.PalmDocument; -import org.openoffice.xmerge.util.registry.ConverterInfo; - -import java.io.InputStream; -import java.io.IOException; - - -/** - *

    WordSmith implementation of a PluginFactory that - * encapsulates conversion of StarWriter XML format to and from - * WordSmith format.

    - * - * The superclass produces a particular - * {@link org.openoffice.xmerge.Document Document} - * object, i.e. - * {@link org.openoffice.xmerge.converter.xml.sxw.SxwDocument - * SxwDocument} that the converters in this class works with. Thus, - * this class only implements the methods that produces the converters, - * i.e. {@link - * org.openoffice.xmerge.DocumentSerializer - * DocumentSerializer} and {@link - * org.openoffice.xmerge.DocumentDeserializer - * DocumentDeserializer}; - * as well as the {@link - * org.openoffice.xmerge.ConverterCapabilities - * ConverterCapabilities} object that is specific to this format - * conversion. That superclass also produces a {@link - * org.openoffice.xmerge.DocumentMerger DocumentMerger} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.DocumentMergerImpl - * DocumentMergerImpl} which this class derives the functionality.

    - * - * @author Herbie Ong, Dave Proulx - */ -public final class PluginFactoryImpl extends SxwPluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory, - DocumentMergerFactory { - - public PluginFactoryImpl(ConverterInfo ci) { - super(ci); - } - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - /** - * Returns an instance of DocumentSerializerImpl, which is - * an implementation of DocumentSerializer interface. - * - * @param doc Document object to be converted/serialized. - * - * @return A DocumentSerializerImpl object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - - return new DocumentSerializerImpl(doc); - } - - - /** - * Returns an instance of DocumentDeserializerImpl, - * which is an implementation of DocumentDeserializer - * interface. - * - * @param cd ConvertData object for reading data - * which will be converted back to a - * Document object. - * - * @return A DocumentDeserializerImpl object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - - return new DocumentDeserializerImpl(cd); - } - - /** - * Returns an instance of DocumentMergerImpl, - * which is an implementation of the DocumentMerger - * interface. - * - * @param doc Document to merge. - * - * @return A DocumentMergerImpl object. - */ - public DocumentMerger createDocumentMerger(Document doc) { - - ConverterCapabilities cc = converterCap; - DocumentMergerImpl merger = new DocumentMergerImpl(doc, cc); - return merger; - } - - /** - * Returns an instance of the DeviceDocument - * which is an implementation of the DocumentMerger - * interface. - * - * @param doc Document to merge. - * - * @return A Device Document object - */ - public Document createDeviceDocument(String name, InputStream is) - throws IOException { - - PalmDocument palmDoc = new PalmDocument(is); - return palmDoc; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSDecoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSDecoder.java deleted file mode 100644 index 07e8ea97ea43..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSDecoder.java +++ /dev/null @@ -1,352 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.FileInputStream; -import java.io.UnsupportedEncodingException; -import org.openoffice.xmerge.util.Debug; - -import org.openoffice.xmerge.converter.palm.*; -import org.openoffice.xmerge.util.Resources; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.DocumentDeserializerImpl - * DocumentDeserializerImpl} to decode a WordSmith format. It currently - * decodes the text content into a single String object. - * - * @author Herbie Ong, David Proulx - */ -final class WSDecoder implements DOCConstants { - - /** For decoding purposes. */ - private final static int COUNT_BITS = 3; - - /** Resources object for I18N. */ - private Resources res = null; - - /** - * Default constructor creates a header and - * a text buffer for holding all the text in - * the DOC db. - */ - WSDecoder() { - res = Resources.getInstance(); - } - - /** - * Decode the text records into a single byte array. - * - * @param Record Record array holding WordSmith - * contents. - * - * @throws IOException If any I/O error occurs. - */ - byte[] parseRecords(Record[] recs) throws IOException { - - // read the header record - HeaderInfo header = readHeader(recs[0].getBytes()); - dumpHeader(header); - byte[][] byteArrays = new byte[recs.length - 1][]; - for (int i = 0; i < recs.length - 1; i++) byteArrays[i] = null; - - switch (header.version & ~4) { // DJP: "4" indicates OOB data is present. - // Add a constant to handle this, might also need code to handle it. - - case COMPRESSED: - case 3: // DJP: determined this empirically. Are Herbie's constants wrong? - for (int i = 1; i < recs.length; i++) { - byteArrays[i-1] = decompress(recs[i].getBytes(), - header.textRecordSize); - Debug.log(Debug.INFO, "processing " + byteArrays[i-1].length + " bytes"); - } - - break; - - case UNCOMPRESSED: - for (int i = 1; i < recs.length; i++) { - byteArrays[i-1] = recs[i].getBytes(); - Debug.log(Debug.INFO, "processing " + byteArrays[i-1].length + " bytes"); - } - - break; - - default: - throw new IOException(res.getString("UNKNOWN_DOC_VERSION")); - - } - - // Concatenate byteArrays[][] into a single byte array. - int length = 0; - for (int i = 0; i < recs.length - 1; i++) - length += byteArrays[i].length; - byte bigArray[] = new byte[length]; - int offset = 0; - for (int i = 0; i < recs.length - 1; i++) { - System.arraycopy(byteArrays[i], 0, bigArray, offset, - byteArrays[i].length); - offset += byteArrays[i].length; - } - return bigArray; - } - - - /** - * Decode the text records into a Wse array. - * - * @param Record[] Record array holding DOC - * contents. - * - * @throws IOException If any I/O error occurs. - */ - Wse[] parseDocument(Record[] recs) throws IOException { - - java.util.Vector v = new java.util.Vector(20, 20); - WseFontTable fontTable = null; - WseColorTable colorTable = null; - - // rawData is the document data to be parsed. - byte rawData[] = parseRecords(recs); - - // beginning of document has some header information, including - // optional font and color tables. - // DJP: maybe should add a new WSelement (docHeader) to hold - // header info. - // DJP: finish code here to parse header - if (rawData[0] != 2) throw new IOException(); - int nParagraphs = util.intFrom4bytes(rawData, 2); - int nAtoms = util.intFrom4bytes(rawData, 6); - int nChars = util.intFrom4bytes(rawData, 10); - int miscSize = util.intFrom4bytes(rawData, 14); - int curIndex = 18; - - while (curIndex < rawData.length) { - if (WsePara.isValid(rawData, curIndex)) { - v.add(new WsePara(rawData, curIndex)); - curIndex = WsePara.computeNewIndex(rawData, curIndex); - } else if (WseTextRun.isValid(rawData, curIndex)) { - v.add(new WseTextRun(rawData, curIndex, fontTable, colorTable)); - curIndex = WseTextRun.computeNewIndex(rawData, curIndex); - } else if (WseFontTable.isValid(rawData, curIndex)) { - fontTable = new WseFontTable(rawData, curIndex); - v.add(fontTable); - curIndex = WseFontTable.computeNewIndex(rawData, curIndex); - } else if (WseColorTable.isValid(rawData, curIndex)) { - colorTable = new WseColorTable(rawData, curIndex); - v.add(colorTable); - curIndex = WseColorTable.computeNewIndex(rawData, curIndex); - } else { - Debug.log(Debug.ERROR, "Unknown code " + rawData[curIndex]); - throw new IOException(); - } - } - - return (Wse[])v.toArray(new Wse[2]); - } - - - /** - *

    Decompress the byte array.

    - * - *

    The resulting uncompressed byte array - * should be within textRecordSize length, - * definitely within twice the size it claims, else treat - * it as a problem with the encoding of that PDB and - * throw IOException.

    - * - * @param bytes Compressed byte array - * @param textRecordSize Size of uncompressed byte - * array - * - * @throws IOException If textRecordSizecBytes.length. - */ - private byte[] decompress(byte[] cBytes, int textRecordSize) - throws IOException { - - // create byte array for storing uncompressed bytes - // it should be within textRecordSize range, definitely - // within twice of textRecordSize! if not, then - // an ArrayIndexOutOfBoundsException will get thrown, - // and it should be converted into an IOException, and - // treat it as a conversion error. - byte[] uBytes = new byte[textRecordSize*2]; - - int up = 0; - int cp = 0; - - try { - - while (cp < cBytes.length) { - - int c = cBytes[cp++] & 0xff; - - // codes 1...8 mean copy that many bytes - if (c > 0 && c < 9) { - - while (c-- > 0) - uBytes[up++] = cBytes[cp++]; - } - - // codes 0, 9...0x7F represent themselves - else if (c < 0x80) { - uBytes[up++] = (byte) c; - } - - // codes 0xC0...0xFF represent "space + ascii char" - else if (c >= 0xC0) { - uBytes[up++] = (byte) ' '; - uBytes[up++] = (byte) (c ^ 0x80); - } - - // codes 0x80...0xBf represent sequences - else { - c <<= 8; - c += cBytes[cp++] & 0xff; - int m = (c & 0x3fff) >> COUNT_BITS; - int n = c & ((1 << COUNT_BITS) - 1); - n += COUNT_BITS; - while (n-- > 0) { - uBytes[up] = uBytes[up - m]; - up++; - } - } - } - - } catch (ArrayIndexOutOfBoundsException e) { - - throw new IOException( - res.getString("DOC_TEXT_RECORD_SIZE_EXCEEDED")); - } - - // note that ubytes may be larger that the amount of - // uncompressed bytes, so trim it to another byte array - // with the exact size. - byte[] textBytes = new byte[up]; - System.arraycopy(uBytes, 0, textBytes, 0, up); - - return textBytes; - } - - - /** - * Read the header byte array. - * - * @param bytes byte array containing header - * record data. - * - * @return HeaderInfo object. - * - * @throws IOException If any I/O error occurs. - */ - private HeaderInfo readHeader(byte[] bytes) throws IOException { - - HeaderInfo header = new HeaderInfo(); - - ByteArrayInputStream bis = new ByteArrayInputStream(bytes); - DataInputStream dis = new DataInputStream(bis); - - // Normally the first 2 bytes comprised of the version - // which should either be COMPRESSED or UNCOMPRESSED - // SmartDoc/Quickword would add a 0x01 to the first - // byte, thus their version would be 0x0101 for UNCOMPRESSED - // instead of 0x0001 and 0x0102 for UNCOMPRESSED instead of - // 0x0002. - - dis.readByte(); - header.version = dis.readByte(); - - // read extra 2 unused bytes - dis.readShort(); - - // Read the text length, this should be unsigned 4 bytes. - // We could store the read value into a long, but then - // our current buffer limit is the max positive of an int. - // That is a large enough limit, thus we shall stay with - // storing the value in an int. If it exceeds, then - // an IOException should be thrown. - header.textLen = dis.readInt(); - if (header.textLen < 0) { - throw new IOException(res.getString("DOC_TEXT_LENGTH_EXCEEDED")); - } - - // read the number of records - unsigned 2 bytes - header.textRecordCount = ((int) dis.readShort()) & 0x0000ffff; - - // read the record size - unsigned 2 bytes - header.textRecordSize = ((int) dis.readShort()) & 0x0000ffff; - - // read extra 4 unused bytes - dis.readInt(); - - return header; - } - - - /** - * Prints out header info into log. - * Used for debugging purposes only. - * - * @param header HeaderInfo structure. - */ - private void dumpHeader(HeaderInfo header) { - /* - log("\n"); - */ - } - - - /** - * Inner class to store DOC header information. - */ - private class HeaderInfo { - - /** length of text section */ - int textLen = 0; - - /** number of text records */ - int textRecordCount = 0; - - /** - * size of a text record. This is normally the same as - * TEXT_RECORD_SIZE, but some applications may modify this. - */ - int textRecordSize = 0; - - /** compression type */ - int version = 0; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSEncoder.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSEncoder.java deleted file mode 100644 index 476e34c72e1f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WSEncoder.java +++ /dev/null @@ -1,212 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.*; -import java.io.UnsupportedEncodingException; -import java.util.List; -import java.util.ArrayList; -import java.util.Vector; - -import org.openoffice.xmerge.converter.palm.*; - -/** - * This class is used by {@link - * org.openoffice.xmerge.converter.xml.sxw.wordsmith.DocumentDeserializerImpl - * DocumentDeserializerImpl} to encode the WordSmith format. - * - * @author David Proulx - */ - -// DJP: replace 4096 w/ a defined constant - -final class WSEncoder { - - /* DJP: These should probably go somewhere else! */ - /** Constant for uncompressed version. */ - public static final short UNCOMPRESSED = 1; - - /** Constant for compressed version. */ - public static final short COMPRESSED = 2; - - /** Constant used for spare fields. */ - public static final int SPARE = 0; - - /* WordSmith Header information. */ - private short version; - private int textLen; - private short maxRecSize; - private int textRecCount = 0; - - - /* WordSmith document elements. */ - WseHeader header = null; - WseFontTable ft = null; - WseColorTable ct = null; - private Vector elements; // paragraphs & text runs - - /* Totals for the WordSmith document. */ - int nrParagraphs = 0; - int nrAtoms = 0; - int nrChars = 0; - - - /** - * Default constructor creates a header and - * a text buffer for holding all the text in - * the WordSmith database. - */ - WSEncoder() { - version = 1; - textLen = 0; - maxRecSize = 4096; - elements = new Vector(); - } - - - /** - * This method adds a new element to the WordSmith document. - * - * @param elem WordSmith document element to add - */ - void addElement(Wse elem) { - if (elem.getClass() == WseHeader.class) - header = (WseHeader)elem; - else if (elem.getClass() == WseFontTable.class) - ft = (WseFontTable)elem; - else if (elem.getClass() == WseColorTable.class) - ct = (WseColorTable)elem; - else - elements.addElement(elem); - } - - - /** - * This method encodes the information given to - * an array of palm Records in the WordSmith database format. - * - * @return Record array holding WordSmith contents. - * - * @throws IOException If any I/O error occurs. - */ - Record[] getRecords() throws IOException { - - Vector allRecs = new Vector(); - int nElements = elements.size(); - - // Count up the number of paragraphs, atoms, and characters. - int currElement = 0; - while (currElement < nElements) { - Wse e = (Wse)elements.elementAt(currElement++); - if (e.getClass() == WsePara.class) - nrParagraphs++; - if (e.getClass() == WseTextRun.class) { - nrAtoms++; - nrChars += ((WseTextRun)e).getText().length(); - } - } - - byte[] currRec = new byte[4096]; - int currRecLen = 0; - - // This code assumes that the WordSmith header, font table, - // and color table total less than 4096 bytes. - header = new WseHeader(nrParagraphs, nrAtoms, nrChars, ft, ct); - System.arraycopy(header.getBytes(), 0, - currRec, currRecLen, header.getByteCount()); - currRecLen += header.getByteCount(); - - if (ft != null) { - System.arraycopy(ft.getBytes(), 0, currRec, currRecLen, - ft.getByteCount()); - currRecLen += ft.getByteCount(); - } - if (ct != null) { - System.arraycopy(ct.getBytes(), 0, currRec, currRecLen, - ct.getByteCount()); - currRecLen += ct.getByteCount(); - } - - currElement = 0; - while (currElement < nElements) { - Wse e = (Wse)elements.elementAt(currElement++); - int length = e.getByteCount(); - if ((length + currRecLen) <= 4096) { - System.arraycopy(e.getBytes(), 0, currRec, currRecLen, length); - currRecLen += length; - } else { - // Copy in enough to get to full size, then create a - // new Record and add it to the Vector. - int firstPartLen = 4096 - currRecLen; - System.arraycopy(e.getBytes(), 0, currRec, currRecLen, - firstPartLen); - Record r = new Record(currRec); - allRecs.addElement(r); - - // Put the remainder at the beginning of the next record - currRecLen = 0; - System.arraycopy(e.getBytes(), firstPartLen, currRec, - currRecLen, length - firstPartLen); - currRecLen += length - firstPartLen; - } - } - - // Processed all the elements. Write out any remaining partial record. - if (currRecLen > 0) { - byte[] partial = new byte[currRecLen]; - System.arraycopy(currRec, 0, partial, 0, currRecLen); - Record rr = new Record(partial); - allRecs.addElement(rr); - } - - - // Record 0 is the WordSmith header. Do it last since it - // contains totals for the entire document. It goes - // before everything else. - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - DataOutputStream dos = new DataOutputStream(bos); - dos.writeShort(version); - dos.writeShort(0); - dos.writeInt(textLen); - dos.writeShort(allRecs.size()); - dos.writeShort(maxRecSize); - dos.writeInt(0); - allRecs.insertElementAt(new Record(bos.toByteArray()), 0); - - // Convert Vector of Records to an array and return it. - int nRecs = allRecs.size(); - Record recs[] = new Record[nRecs]; - for (int i = 0; i < nRecs; i++) - recs[i] = (Record)allRecs.elementAt(i); - return recs; - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/Wse.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/Wse.java deleted file mode 100644 index 778ff5d38f57..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/Wse.java +++ /dev/null @@ -1,100 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.xml.*; - - -/** - * This is the superclass for all elements in a WordSmith document. - * Elements can be paragraphs, text runs, font tables, or color tables. - * - * @author David Proulx - */ -abstract class Wse { - - /** - * Return true if dataArray[startIndex] is the start - * of a valid element of this type. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return true if dataArray[startIndex] is the - * start of a valid element of this type, false otherwise. - */ - static boolean isValid(byte dataArray[], int startIndex) { - return false; - } - - - /** - * Compute and return the index of the first byte - * following this element. It is assumed that the element - * starting at dataArray[startIndex] is valid. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return The index of the first byte following - * this element. - */ - static int computeNewIndex(byte dataArray[], int startIndex) { - return 0; - } - - - /** - * Return the total number of bytes needed to represent this - * object. - * - * @return The total number of bytes needed to represent this - * object. - */ - abstract int getByteCount(); - - - /** - * Return an byte array representing this element. - * - * @return An bytes array representing this element. - */ - abstract byte[] getBytes(); -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseColorTable.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseColorTable.java deleted file mode 100644 index e5af0337283b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseColorTable.java +++ /dev/null @@ -1,247 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.IOException; -import java.awt.Color; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.xml.*; - -/** - * This class represents a color table in a WordSmith document. - * - * @author David Proulx - */ -class WseColorTable extends Wse { - - private Color fgColors[]; - private Color bgColors[]; - - /** - * Constructor to use when going from DOM to WordSmith - */ - public WseColorTable() { - fgColors = new Color[16]; - bgColors = new Color[16]; - - // Always need these two! - fgColors[0] = Color.black; - bgColors[0] = Color.white; - - } - - /** - * Constructor to use when going from WordSmith to DOM. - * - * @param dataArray byte array. - * @param i The index. - */ - public WseColorTable(byte dataArray[], int i) { - fgColors = new Color[16]; - bgColors = new Color[16]; - - i += 2; // Skip leading "64" and table length field. - for (int k = 0; k < 16; k++) { - fgColors[k] = new Color(((int)dataArray[i+1]) & 0xFF, - ((int)dataArray[i+2]) & 0xFF, - ((int)dataArray[i+3]) & 0xFF); - i += 4; - } - for (int k = 0; k < 16; k++) { - bgColors[k] = new Color(((int)dataArray[i+1]) & 0xFF, - ((int)dataArray[i+2]) & 0xFF, - ((int)dataArray[i+3]) & 0xFF); - i += 4; - } - - } - - - /** - * Compute the index of the first byte following the - * paragraph descriptor, assuming that - * dataArray[startIndex] is the beginning of a valid - * paragraph descriptor. - * - * @param dataArray bytebyte
    following the - * paragraph description. - */ - static int computeNewIndex(byte dataArray[], int startIndex) { - int tableLen = dataArray[startIndex + 1]; - tableLen &= 0xFF; // eliminate problems with sign-extension - return startIndex + tableLen + 2; - } - - - /** - * Return true if dataArray[startIndex] is the start - * of a valid paragraph descriptor. - * - * @param dataArray byte array. - * @param startIndex Start index. - * - * @return true if dataArray[startIndex] is the start - * of a valid paragraph descriptor, false otherwise. - */ - static boolean isValid(byte dataArray[], int startIndex) { - try { - if (dataArray[startIndex] != 64) - return false; - int len = dataArray[startIndex + 1]; - len &= 0xFF; // eliminate problems with sign-extension - int temp = dataArray[startIndex + (int)len + 2]; // probe end of table - } catch (ArrayIndexOutOfBoundsException e) { - return false; - } - return true; - } - - - /** - * Return the number of bytes needed to represent this color table. - * - * @return The byte count. - */ - int getByteCount() { - return (32 * 4) + 1 + 1; - } - - - /** - * Return a byte array representing this color table. - * - * @return bytes array representing this color table. - */ - byte[] getBytes() { - byte[] b = new byte[(32 * 4) + 1 + 1]; - b[0] = 0x40; - b[1] = (byte)128; - int i = 2; - // int indVal = 0xd8; - int indVal = 0; - - for (int j = 0; j < 16; j++) { - b[i++] = (byte)indVal++; - if (fgColors[j] != null) { - b[i++] = (byte)fgColors[j].getRed(); - b[i++] = (byte)fgColors[j].getGreen(); - b[i++] = (byte)fgColors[j].getBlue(); - } else { - b[i++] = (byte)0; - b[i++] = (byte)0; - b[i++] = (byte)0; - } - } - - for (int j = 0; j < 16; j++) { - b[i++] = (byte)indVal++; - if (bgColors[j] != null) { - b[i++] = (byte)bgColors[j].getRed(); - b[i++] = (byte)bgColors[j].getGreen(); - b[i++] = (byte)bgColors[j].getBlue(); - } else { - b[i++] = (byte)0xFF; - b[i++] = (byte)0xFF; - b[i++] = (byte)0xFF; - } - } - - return b; - } - - - /** - * Return the index of the specified foreground or background - * Color. (If the color is not already in the table, - * it will be added.) - * - * Note that the implementation of this may include a "margin of - * error" to prevent the color table from being filled up too - * quickly. - * - * @param c The Color. - * @param foreground true if foreground color, false if background - * color - * - * @return The index of the specified foreground or background - * Color. - * - * DJP: how to handle table overflow? - */ - int findColor(Color c, boolean foreground) { - - Color colorArray[] = foreground ? fgColors : bgColors; - - for (int i = 0; i < 16; i++) { - if (colorArray[i] != null) { - if (colorArray[i].equals(c)) - return i; - } - else - break; // hit a null entry - no more colors in table! - } - - // Color was not found in the table. Add it. - for (int i = 0; i < 16; i++) { - if (colorArray[i] == null) { - colorArray[i] = c; - return i; - } - } - return 0; // Default - we should never get here though. - } - - - /** - * Given an index, return the Color from the table. - * - * @param index The index - * @param foreground true if foreground color, false if background - * color - * - * @return The Color at the specified index. - */ - Color getColor(int index, boolean foreground) { - - Color colorArray[] = foreground ? fgColors : bgColors; - return colorArray[index]; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseFontTable.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseFontTable.java deleted file mode 100644 index d5e7a84fb6bf..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseFontTable.java +++ /dev/null @@ -1,218 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.IOException; - -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.xml.*; - -/** - *

    This class represents a font table in a WordSmith document. - * A font table is represented as follows:

    - * - *

    - * binary "3"
    - * two-byte length of the table of strings which follows
    - * string table (null-terminated strings) representing font names - *

    - * - * @author David Proulx - */ -class WseFontTable extends Wse { - - java.util.Vector fontNames = new java.util.Vector(10); - - - /** - * Constructor for use when going from DOM to WordSmith. - */ - public WseFontTable() { - } - - - /** - * Constructor for use when going from WordSmith to DOM. - * - * @param dataArray byte array. - * @param i The index. - */ - public WseFontTable(byte dataArray[], int i) { - i++; - int tableLen = ((dataArray[i] << 8) | (dataArray[i+1] & 0xFF)); - i += 2; - while (tableLen > 0) { - int j = 0; - while (dataArray[i + j] != 0) j++; - fontNames.add(new String(dataArray, i, j)); - tableLen -= (j + 1); - i += (j + 1); - } - } - - - /** - * Add a new font to the table. - * - * @param newFontName The new font name. - */ - public void add(String newFontName) { - if (newFontName != null) - fontNames.add(newFontName); - } - - - /** - * Return a font name from the table, or null if invalid index. - * - * @param index The font name index. - * - * @return The font name. - */ - public String getFontName(int index) { - try { - return (String)fontNames.elementAt(index); - } catch (ArrayIndexOutOfBoundsException e) { - return null; - } - } - - /** - * Return the index of a font name in the table, or -1 if not found. - * - * @param fontName The font name. - * - * @return The index of the font name, or -1 if not found. - */ - public int getFontIndex(String fontName) { - int len = fontNames.size(); - for (int i = 0; i < len; i++) { - String name = (String) fontNames.elementAt(i); - if (name.equals(fontName)) - return i; - } - return -1; - } - - - /** - * Compute the index of the first byte following the - * paragraph descriptor, assuming that - * dataArray[startIndex] is the beginning of a valid - * paragraph descriptor. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return The index of the first byte following the - * paragraph description. - */ - static int computeNewIndex(byte dataArray[], int startIndex) { - startIndex++; // Skip the leading "3" - int tableLen = ((dataArray[startIndex] << 8) | (dataArray[startIndex+1] & 0xFF)); - tableLen &= 0xFFFF; // eliminate problems with sign-extension - return startIndex + tableLen + 2; - } - - - /** - * Return true if dataArray[startIndex] is the start of a - * valid paragraph descriptor. - * - * @param dataArray byte string. - * @param startIndex Start index. - * - * @return true if dataArray[startIndex] is the start - * of a valid paragraph descriptor, false otherwise. - */ - static boolean isValid(byte dataArray[], int startIndex) { - try { - if (dataArray[startIndex] != 3) - return false; - int len = ((dataArray[startIndex+1] << 8) - | (dataArray[startIndex+2] & 0xFF)); - len &= 0xFFFF; // eliminate problems with sign-extension - - if (dataArray[startIndex + len + 2] != 0) - return false; - } catch (ArrayIndexOutOfBoundsException e) { - return false; - } - return true; - } - - - /** - * Return the number of bytes needed to represent this font table. - * - * @return The number of bytes needed to represent this font table. - */ - int getByteCount() { - - int length = 3; // leading "3" plus 2 bytes for length. - int nFonts = fontNames.size(); - for (int i = 0; i < nFonts; i++) { - String name = (String)fontNames.elementAt(i); - length += name.length() + 1; // extra byte is for trailing "0" - } - return length; - } - - /** - * Return a byte array representing this font table. - * - * @return An byte array representing this font table. - */ - byte[] getBytes() { - - int length = getByteCount(); - int nFonts = fontNames.size(); - byte b[] = new byte[length]; - b[0] = 3; - length -= 3; - b[1] = (byte)(length >> 8); - b[2] = (byte)(length & 0xFF); - int indx = 3; - for (int i = 0; i < nFonts; i++) { - String name = (String)fontNames.elementAt(i); - byte bname[] = name.getBytes(); - System.arraycopy(bname, 0, b, indx, bname.length); - indx += bname.length; - b[indx++] = 0; - } - return b; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseHeader.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseHeader.java deleted file mode 100644 index 52fffba259a8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseHeader.java +++ /dev/null @@ -1,145 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.IOException; -import java.io.DataOutputStream; -import java.io.ByteArrayOutputStream; - -/** - * This class represents a WordSmith document header. - * - * @author David Proulx - */ -class WseHeader extends Wse { - - private int nParagraphs = 0; - private int nAtoms = 0; - private int nChars = 0; - private int miscSize = 0; - - /** - * Constructor for use when going from DOM to WordSmith. - * - * @param nPara The number of paragraphs. - * @param nAtoms The number of atoms. - * @param nChars The number of characters. - * @param ft The font table. - * @param ct The color table. - */ - public WseHeader(int nPara, int nAtoms, int nChars, WseFontTable ft, - WseColorTable ct) { - nParagraphs = nPara; - this.nAtoms = nAtoms; - this.nChars = nChars; - if (ft != null) miscSize += ft.getByteCount(); - if (ct != null) miscSize += ct.getByteCount(); - } - - - /** - * Constructor for use when going from WordSmith to DOM. - * - * @param dataArray byte array. - * @param i Index. - */ - public WseHeader(byte dataArray[], int i) { - // DJP: write this! - } - - /** - * Return true if dataArray[startIndex] is the start - * of a document header. - * - * @param dataArray byte array. - * @param startIndex The index. - * - * @return true if dataArray[startIndex] is the start - * of a document header, false otherwise. - */ - static boolean isValid(byte dataArray[], int startIndex) { - return ((dataArray[startIndex] == 2) - && (dataArray[startIndex + 1] == 4)); - } - - - /** - * Compute and return the index of the first byte - * following this element. It is assumed that the element - * starting at dataArray[startIndex] is valid. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return The first byte following this element. - */ - static int computeNewIndex(byte dataArray[], int startIndex) { - return startIndex + 18; - } - - - /** - * Return the total number of bytes needed to represent this. - * - * @return The total number of bytes needed to represent this. - */ - int getByteCount() { - return 18; - } - - - /** - * Return a byte array representing this element. - * - * @return A byte array representing this element. - */ - byte[] getBytes() { - DataOutputStream os; // Used for storing the data - ByteArrayOutputStream bs = null; // Used for storing the data - - try { - bs = new ByteArrayOutputStream(); - os = new DataOutputStream(bs); - os.write(2); // binary doc indicator - os.write(4); // binary header indicator - - os.writeInt(nParagraphs); - os.writeInt(nAtoms); - os.writeInt(nChars); - os.writeInt(miscSize); - - } catch (IOException e) { - e.printStackTrace(); - } - - if (bs != null) { - return bs.toByteArray(); - } else return null; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WsePara.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WsePara.java deleted file mode 100644 index 91530174211f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WsePara.java +++ /dev/null @@ -1,299 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import java.io.IOException; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.xml.*; - - -/** - * This class represents a paragraph in a WordSmith document. - * (A paragraph is "5" followed by 12 bytes of attributes.) - * - * @author David Proulx - */ -class WsePara extends Wse { - - private byte spaceBefore = 0; - private byte spaceAfter = 0; - private byte leftIndent = 0; - private byte firstIndent = 0; - private byte rightIndent = 0; - private byte misc = 0; - private byte style = 0; - private byte lineSpace = 0; - private byte outline = 0; - private byte reserved = 0; - - private static final byte LS_EXACTLY = (byte)0xC0; - private static final byte LS_ATLEAST = (byte)0x80; - private static final byte LS_MULTIPLE = (byte)0x40; - private static final byte LS_VALUEMASK = (byte)0x3F; - - private static final byte ALIGN_RIGHT = (byte)2; - private static final byte ALIGN_LEFT = (byte)0; - private static final byte ALIGN_CENTER = (byte)1; - private static final byte ALIGN_JUST = (byte)3; - - private StyleCatalog sc = null; - - - /** - * Constructor for use when going from DOM to WordSmith. - * - * @param p The paragraph style. - * @param sc The StyleCatalog. - */ - public WsePara(ParaStyle p, StyleCatalog sc) { - this.sc = sc; - ParaStyle ps = (ParaStyle)p.getResolved(); - - if (ps.isAttributeSet(ParaStyle.MARGIN_LEFT)) { - double temp = ps.getAttribute(ParaStyle.MARGIN_LEFT) * 1.6 / 100; - leftIndent = (byte) temp; - if ((temp - leftIndent) > 0.5) leftIndent++; - } - - if (ps.isAttributeSet(ParaStyle.MARGIN_RIGHT)) { - double temp = ps.getAttribute(ParaStyle.MARGIN_RIGHT) * 1.6 / 100; - rightIndent = (byte) temp; - if ((temp - rightIndent) > 0.5) rightIndent++; - } - - if (ps.isAttributeSet(ParaStyle.TEXT_INDENT)) { - double temp = ps.getAttribute(ParaStyle.TEXT_INDENT) * 1.6 / 100; - firstIndent = (byte) temp; - if ((temp - firstIndent) > 0.5) firstIndent++; - } - - if (ps.isAttributeSet(ParaStyle.MARGIN_TOP)) { - double temp = ps.getAttribute(ParaStyle.MARGIN_TOP) * 1.6 / 100; - spaceBefore = (byte) temp; - if ((temp - spaceBefore) > 0.5) spaceBefore++; - } - - if (ps.isAttributeSet(ParaStyle.MARGIN_BOTTOM)) { - double temp = ps.getAttribute(ParaStyle.MARGIN_BOTTOM) * 1.6 / 100; - spaceAfter = (byte) temp; - if ((temp - spaceAfter) > 0.5) spaceAfter++; - } - - if (ps.isAttributeSet(ParaStyle.LINE_HEIGHT)) { - int lh = ps.getAttribute(ParaStyle.LINE_HEIGHT); - if ((lh & ~ParaStyle.LH_VALUEMASK) == 0) - lineSpace = (byte)(LS_MULTIPLE | (lh * 2)); - else if ((lh & ParaStyle.LH_PCT) != 0) { - lh = (lh & ParaStyle.LH_VALUEMASK) / 100; - lineSpace = (byte)(LS_MULTIPLE | (lh * 2)); - } - // DJP: handle other cases.... - } - - if (ps.isAttributeSet(ParaStyle.TEXT_ALIGN)) { - - int val = ps.getAttribute(ParaStyle.TEXT_ALIGN); - - switch (val) { - case ParaStyle.ALIGN_RIGHT: - misc = ALIGN_RIGHT; - break; - case ParaStyle.ALIGN_LEFT: - misc = ALIGN_LEFT; - break; - case ParaStyle.ALIGN_CENTER: - misc = ALIGN_CENTER; - break; - case ParaStyle.ALIGN_JUST: - misc = ALIGN_JUST; - break; - } - } - - } - - - /** - * Constructor for use when going from WordSmith to DOM. - * Assumes dataArray[startIndex] is the first - * byte of a valid WordSmith paragraph descriptor. - * - * @param dataArray byte array. - * @param startIndex The start index. - */ - public WsePara(byte dataArray[], int startIndex) { - spaceBefore = dataArray[startIndex + 1]; - spaceAfter = dataArray[startIndex + 2]; - leftIndent = dataArray[startIndex + 3]; - firstIndent = dataArray[startIndex + 4]; - rightIndent = dataArray[startIndex + 5]; - misc = dataArray[startIndex + 6]; - style = dataArray[startIndex + 7]; - lineSpace = dataArray[startIndex + 8]; - outline = dataArray[startIndex + 9]; - } - - - /** - * Compute the index of the first byte following the - * paragraph descriptor, assuming that - * dataArray[startIndex] is the beginning of a valid - * paragraph descriptor. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return The index of the first byte following the - * paragraph description. - */ - static int computeNewIndex(byte dataArray[], int startIndex) { - return startIndex + 13; - } - - - /** - * Return true if dataArray[startIndex] is the start - * of a valid paragraph descriptor. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return true if dataArray[startIndex] is the start - * of a valid paragraph descriptor, false otherwise. - */ - static boolean isValid(byte dataArray[], int startIndex) { - return (dataArray[startIndex] == 5); - } - - /** - * Return the number of bytes needed to represent this paragraph. - * - * @return The number of bytes needed to represent this paragraph. - */ - int getByteCount() { - return 13; - } - - /** - * Return an byte array representing this paragraph. - * - * @return An byte array representing this paragraph. - */ - byte[] getBytes() { - byte b[] = new byte[13]; - - b[0] = 5; - b[1] = spaceBefore; - b[2] = spaceAfter; - b[3] = leftIndent; - b[4] = firstIndent; - b[5] = rightIndent; - b[6] = misc; - b[7] = style; - b[8] = lineSpace; - b[9] = outline; - b[10] = reserved; - b[11] = 0; - b[12] = 0; - - return b; - } - - /** - * Return a ParaStyle that reflects the formatting of - * this run. - * - * @return A ParaStyle that reflects the formatting - * of this run. - */ - ParaStyle makeStyle() { - /* Csaba: Commented out the LINE_HEIGHT syle, because there was no - incoming data for that style. It was resulting a zero line - height in the xml document, ie. the doc looked empty. - */ - int attrs[] = { ParaStyle.MARGIN_LEFT, ParaStyle.MARGIN_RIGHT, - ParaStyle.TEXT_INDENT, //ParaStyle.LINE_HEIGHT, - ParaStyle.MARGIN_TOP, ParaStyle.MARGIN_BOTTOM, - ParaStyle.TEXT_ALIGN }; - String values[] = new String[attrs.length]; - double temp; - - temp = leftIndent / 1.6; - values[0] = (new Double(temp)).toString() + "mm"; - - temp = rightIndent / 1.6; - values[1] = (new Double(temp)).toString() + "mm"; - - temp = firstIndent / 1.6; - values[2] = (new Double(temp)).toString() + "mm"; - -/* if ((lineSpace & LS_MULTIPLE) != 0) { - temp = (lineSpace & LS_VALUEMASK) / 2; - temp *= 100; - values[3] = (new Double(temp)).toString() + "%"; - } else { - values[3] = (new Double(temp)).toString() + "mm"; - // DJP: handle other cases - } -*/ - temp = spaceBefore / 1.6; -// values[4] = (new Double(temp)).toString() + "mm"; - values[3] = (new Double(temp)).toString() + "mm"; - - temp = spaceAfter / 1.6; -// values[5] = (new Double(temp)).toString() + "mm"; - values[4] = (new Double(temp)).toString() + "mm"; - - switch (misc) { - -// case ALIGN_RIGHT: values[6] = "right"; break; -// case ALIGN_LEFT: values[6] = "left"; break; -// case ALIGN_CENTER:values[6] = "center"; break; -// case ALIGN_JUST: values[6] = "justified"; break; - - case ALIGN_RIGHT: values[5] = "right"; break; - case ALIGN_LEFT: values[5] = "left"; break; - case ALIGN_CENTER:values[5] = "center"; break; - case ALIGN_JUST: values[5] = "justified"; break; - } - ParaStyle x = new ParaStyle(null, "paragraph", null, attrs, - values, sc); - - return x; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseTextRun.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseTextRun.java deleted file mode 100644 index 86626dd4d2c7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/WseTextRun.java +++ /dev/null @@ -1,324 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.openoffice.xmerge.converter.xml.TextStyle; -import org.openoffice.xmerge.converter.xml.StyleCatalog; -import java.awt.Color; - -/** - *

    This class represents a text run (aka text atom) in a WordSmith - * document.

    - * - *

    WordSmith represents a text run as follows:

    - * - *

    • - * 1 byte Value of "1", indicating beginning of a text atom - *
    • - * 2 bytes Length of text (does not include attributes, this length field, - * etc) - *
    • - * 1 byte Font index - Index in the font table of font to be used - *
    • - * 1 byte Font size (DJP: get details of representation) - *
    • - * 1 byte Color index - Index in the color table of font color to be used - *
    • - * 1 byte Modifiers - bit flags for bold, italic, etc - *
    • - * n bytes Text - the actual text - *

    - * - * @author David Proulx - */ -class WseTextRun extends Wse { - - /** Font specifier. This is an index into the font table. */ - private byte fontIndex = 0; - private String fontName = null; - - /** Size of the font. */ - private byte fontSize = 0; - - /** - * Color of the font. This is an index into the color table. - * High nibble is background color index, low nibble is font color - * index. - */ - private byte colorIndex = 0; - - /** - * Reference to color table for color lookups. - */ - private WseColorTable ct; - - /** - * The modifiers for the text run. (Mostly) Bitwise flags. The "_TOKEN" - * values are not yet implemented in this converter. They may not even - * be implemented in WordSmith yet. - */ - private byte modifiers = 0; - final public static int BOLD = 0x01; - final public static int ITALIC = 0x02; - final public static int UNDERLINE = 0x04; - final public static int STRIKETHRU = 0x08; - final public static int SUPERSCRIPT = 0x10; - final public static int SUBSCRIPT = 0x20; - final public static int LINK = 0x40; - final public static int CUSTOM_TOKEN = 0x80; - final public static int IMAGE_TOKEN = 0x80; - final public static int BOOKMARK_TOKEN = 0x81; - final public static int ANNOTATION_TOKEN = 0x82; - final public static int LINK_TOKEN = 0x83; - - /** The actual text. */ - private String text; - - StyleCatalog sc; - - - /** - * Constructor for use when going from DOM to WordSmith. - * - * @param txt The text. - * @param t The text style. - * @param sc The StyleCatalog. - * @param ft The font table. - * @param ct The color Table. - */ - public WseTextRun(String txt, TextStyle t, StyleCatalog sc, - WseFontTable ft, WseColorTable ct) { - - this.sc = sc; - this.ct = ct; - - TextStyle ts = (TextStyle)t.getResolved(); - - if (ts.isSet(TextStyle.BOLD) && ts.getAttribute(TextStyle.BOLD)) - modifiers |= BOLD; - if (ts.isSet(TextStyle.ITALIC) && ts.getAttribute(TextStyle.ITALIC)) - modifiers |= ITALIC; - if (ts.isSet(TextStyle.UNDERLINE) && ts.getAttribute(TextStyle.UNDERLINE)) - modifiers |= UNDERLINE; - if (ts.isSet(TextStyle.STRIKETHRU) && ts.getAttribute(TextStyle.STRIKETHRU)) - modifiers |= STRIKETHRU; - if (ts.isSet(TextStyle.SUPERSCRIPT) && ts.getAttribute(TextStyle.SUPERSCRIPT)) - modifiers |= SUPERSCRIPT; - if (ts.isSet(TextStyle.SUBSCRIPT) && ts.getAttribute(TextStyle.SUBSCRIPT)) - modifiers |= SUBSCRIPT; - - fontSize = (byte)(ts.getFontSize() * 2); - fontName = ts.getFontName(); - fontIndex = (byte)ft.getFontIndex(fontName); - if (fontIndex == -1) { - ft.add(fontName); - fontIndex = (byte)ft.getFontIndex(fontName); - } - - // Figure out the color index. - Color c = t.getFontColor(); - if (c == null) - c = Color.black; - colorIndex = (byte)ct.findColor(c, true); - c = t.getBackgroundColor(); - if (c == null) - c = Color.white; - colorIndex |= (byte)(ct.findColor(c, false) << 4); - - text = txt; - } - - - /** - * Standard constructor for use when going from WordSmith to DOM. - * - * @param dataArray byte array. - * @param startIndex The start index. - * @param ft The font table. - * @param ct The color table. - */ - public WseTextRun(byte dataArray[], int startIndex, WseFontTable ft, - WseColorTable ct) { - - this.ct = ct; - - startIndex++; // Skip the leading "1" - - int textLen = ((dataArray[startIndex] << 8) - | (dataArray[startIndex+1] & 0xFF)); - startIndex += 2; - - fontIndex = dataArray[startIndex++]; - if (ft != null) - fontName = ft.getFontName(fontIndex); - - fontSize = dataArray[startIndex++]; - - colorIndex = dataArray[startIndex++]; - modifiers = dataArray[startIndex++]; - - text = new String(dataArray, startIndex, textLen); - startIndex += textLen; // skip the text - } - - - /** - * Given a byte sequence, assumed to be a text run, - * compute the index of the first byte past the text run. - * - * @param dataArray byte array. - * @param startIndex The start index - * - * @return The index of the first byte past the - * text run. - */ - public static int computeNewIndex(byte dataArray[], int startIndex) { - - startIndex++; // Skip the leading "1" - - int textLen = ((dataArray[startIndex] << 8) - | (dataArray[startIndex+1] & 0xFF)); - startIndex += 2; - - startIndex += 4; // skip attributes - // text = new String(dataArray, startIndex, textLen); - startIndex += textLen; // skip the text - return startIndex; - } - - - /** - * Return true if the sequence starting at - * dataArray[startIndex] is a valid text run. - * - * @param dataArray byte array. - * @param startIndex The start index. - * - * @return true if the sequence starting at - * dataArray[startIndex] is a valid - * text run, false otherwise. - */ - public static boolean isValid(byte dataArray[], int startIndex) { - return (dataArray[startIndex] == 1); - } - - /** - * Return the number of bytes needed to represent this text run. - * - * @return The number of bytes needed to represent this text run. - */ - int getByteCount() { - return text.length() + 7; - } - - - /** - * Return an byte array representing this text run. - * - * @return An byte array representing this text run. - */ - byte[] getBytes() { - short textLen = (short)text.length(); - byte b[] = new byte[textLen + 7]; - b[0] = 1; - b[1] = (byte)(textLen >> 8); - b[2] = (byte)(textLen & 0xFF); - b[3] = fontIndex; - b[4] = fontSize; - b[5] = colorIndex; - b[6] = modifiers; - byte[] txtBytes = text.getBytes(); - System.arraycopy(txtBytes, 0, b, 7, textLen); - return b; - } - - - /** - * Return the text of this run. - * - * @return The text of this run. - */ - public String getText() { - return text; - } - - - /** - * Return a TextStyle that reflects the formatting - * of this run. - * - * @return A TextStyle that reflects the formatting - * of this run. - */ - public TextStyle makeStyle() { - int mod = 0; - if ((modifiers & BOLD) != 0) mod |= TextStyle.BOLD; - if ((modifiers & ITALIC) != 0) mod |= TextStyle.ITALIC; - if ((modifiers & UNDERLINE) != 0) mod |= TextStyle.UNDERLINE; - if ((modifiers & STRIKETHRU) != 0) - mod |= TextStyle.STRIKETHRU; - if ((modifiers & SUPERSCRIPT) != 0) mod |= TextStyle.SUPERSCRIPT; - if ((modifiers & SUBSCRIPT) != 0) mod |= TextStyle.SUBSCRIPT; - - int mask = TextStyle.BOLD | TextStyle.ITALIC - | TextStyle.UNDERLINE - | TextStyle.STRIKETHRU | TextStyle.SUPERSCRIPT - | TextStyle.SUBSCRIPT; - - TextStyle x = new TextStyle(null, "text", null, mask, - mod, (int)(fontSize/2), fontName, sc); - - // If color table is available, set the colors. - if (ct != null) { - Color fc = ct.getColor(colorIndex & 0xF, true); - Color bc = ct.getColor(colorIndex >> 4, false); - x.setColors(fc, bc); - } - - return x; - } - - - /** - * Display debug information. - */ - public void dump() { - System.out.print("TEXT RUN: fontIndex = " + fontIndex - + " fontsize = " + fontSize - + " colorIndex = " + colorIndex - + " "); - if ((modifiers & BOLD) != 0) System.out.print("BOLD,"); - if ((modifiers & ITALIC) != 0) System.out.print("ITALIC,"); - if ((modifiers & UNDERLINE) != 0) System.out.print("UNDERLINE,"); - if ((modifiers & STRIKETHRU) != 0) System.out.print("STRIKETHRU,"); - if ((modifiers & SUPERSCRIPT) != 0) System.out.print("SUPERSCRIPT,"); - if ((modifiers & SUBSCRIPT) != 0) System.out.print("SUBSCRIPT,"); - System.out.println("\n" + text); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml deleted file mode 100644 index aa889d4d3f2e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/build.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/converter.xml deleted file mode 100644 index 9285730569db..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/converter.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - WordSmith - - - StarWriter XML to/from WordSmith conversion - - OpenOffice.org - - org.openoffice.xmerge.converter.xml.sxw.wordsmith.PluginFactoryImpl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/makefile.mk deleted file mode 100644 index c64e26894dac..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* -PRJNAME=converter -TARGET=cv_jcsscdcxs_wordsmith -PRJ=../../../../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/textRecord.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/textRecord.java deleted file mode 100644 index 7651767920fc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/textRecord.java +++ /dev/null @@ -1,115 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -import org.openoffice.xmerge.util.Debug; -import java.io.IOException; -import java.io.DataOutputStream; -import java.io.ByteArrayOutputStream; - -/** - * This class represents a single text record in a WordSmith document. - * A record is composed of one or more "WordSmith elements", which - * include: WordSmith header, font table, color table, paragraphs, - * and text runs. - * - * @author David Proulx - */ - -class textRecord { - - java.util.Vector elements; - - - /** - * Default constructor - */ - textRecord() { - elements = new java.util.Vector(10); - } - - - /** - * Add an element - * - * @param elem The element to add - */ - void addElement(Wse elem) { - elements.add(elem); - } - - - /** - * Return the number of bytes needed to represent the current - * contents of this text record. - * - * @return The number of bytes needed to represent the current - * contents of this text record. - */ - int getByteCount() { - int totalBytes = 0; - int nElements = elements.size(); - for (int i = 0; i < nElements; i++) { - Wse e = (Wse)elements.elementAt(i); - totalBytes += e.getByteCount(); - } - return totalBytes; - } - - - /** - * Return the contents of this record as a byte array. - * - * @return the contents of this record as a byte array. - */ - byte[] getBytes() { - DataOutputStream os = null; // Used for storing the data - ByteArrayOutputStream bs = null; // Used for storing the data - byte ftBytes[] = null; - byte ctBytes[] = null; - - try { - bs = new ByteArrayOutputStream(); - os = new DataOutputStream(bs); - int nElements = elements.size(); - for (int i = 0; i < nElements; i++) { - Wse e = (Wse)elements.get(i); - os.write(e.getBytes()); - } - - } catch (IOException e) { - e.printStackTrace(); - } - - if (bs != null) - return bs.toByteArray(); - else - return null; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/util.java b/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/util.java deleted file mode 100644 index 0c1af8d5a8ec..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/sxw/wordsmith/util.java +++ /dev/null @@ -1,68 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.sxw.wordsmith; - -/** - * WordSmith utility class. - * - * @author David Proulx - */ -class util { - - /** - * Convert 2 bytes to an integer. - * - * @param data byte data to convert. - * @param index Index to convert. - * - * @return Converted integer. - */ - static int intFrom2bytes(byte[] data, int index) { - return (((data[index] & 0xFF) << 8) - | (data[index+1] & 0xFF)); - - } - - - /** - * Convert 4 bytes to an integer. - * - * @param data byte data to convert. - * @param index Index to convert. - * - * @return Converted integer. - */ - static int intFrom4bytes(byte[] data, int index) { - return (((data[index] & 0xFF) << 24) - | ((data[index + 1] & 0xFF) << 16) - | ((data[index + 2] & 0xFF) << 8) - | (data[index+3] & 0xFF)); - - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/ConverterCapabilitiesImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/ConverterCapabilitiesImpl.java deleted file mode 100644 index 079437336f8e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/ConverterCapabilitiesImpl.java +++ /dev/null @@ -1,93 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - *

    Xslt implementation of ConverterCapabilities for - * the {@link - * org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    Used with StarWriter XML to/from XSLT supported formats conversions. The - * ConverterCapibilies specify which "Office" - * Document tags and attributes are supported on the - * "Device" Document format.

    - */ -public final class ConverterCapabilitiesImpl - implements ConverterCapabilities { - - public boolean canConvertTag(String tag) { - - if (OfficeConstants.TAG_OFFICE_DOCUMENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_DOCUMENT_CONTENT.equals(tag)) - return true; - else if (OfficeConstants.TAG_OFFICE_BODY.equals(tag)) - return true; - else if (OfficeConstants.TAG_PARAGRAPH.equals(tag)) - return true; - else if (OfficeConstants.TAG_HEADING.equals(tag)) - return true; - else if (OfficeConstants.TAG_ORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_UNORDERED_LIST.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_ITEM.equals(tag)) - return true; - else if (OfficeConstants.TAG_LIST_HEADER.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPAN.equals(tag)) - return true; - else if (OfficeConstants.TAG_HYPERLINK.equals(tag)) - return true; - else if (OfficeConstants.TAG_LINE_BREAK.equals(tag)) - return true; - else if (OfficeConstants.TAG_SPACE.equals(tag)) - return true; - else if (OfficeConstants.TAG_TAB_STOP.equals(tag)) - return true; - - return false; - } - - public boolean canConvertAttribute(String tag, - String attribute) { - - if (OfficeConstants.TAG_SPACE.equals(tag)) { - - if (OfficeConstants.ATTRIBUTE_SPACE_COUNT.equals(attribute)) - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentDeserializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentDeserializerImpl.java deleted file mode 100644 index 08d294982537..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentDeserializerImpl.java +++ /dev/null @@ -1,254 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import java.io.InputStream; -import java.io.IOException; -import java.util.Enumeration; -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; - - - - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.converter.dom.DOMDocument; -//import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -import org.openoffice.xmerge.converter.xml.xslt.GenericOfficeDocument; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.registry.ConverterInfo; - -// Imported TraX classes -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.dom.DOMSource; -//import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; -import javax.xml.transform.URIResolver; -import javax.xml.transform.Source; - - -// -//import org.apache.xalan.serialize.Serializer; -//import org.apache.xalan.serialize.SerializerFactory; -//import org.apache.xalan.templates.OutputProperties; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -// Imported java classes -import java.io.FileNotFoundException; - - -/** - *

    Xslt implementation of - * org.openoffice.xmerge.DocumentSerializer - * for the {@link - * org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    The serialize method transforms the DOM - * document from the given Document object by - * means of a supplied Xsl Stylesheet.

    - * - * @author Aidan Butler - */ -public final class DocumentDeserializerImpl - implements DocumentDeserializer,URIResolver { - - /** A ConvertData object assigned to this object. */ - private InputStream is = null; - private ConvertData cd = null; - private PluginFactoryImpl pluginFactory = null; - - /** - * Constructor that assigns the given ConvertData - * to this object. - * - * @param pf A PluginFactoryImpl object. - * - * @param cd A ConvertData object to read data for - * the conversion process by the deserialize - * method. - */ - public DocumentDeserializerImpl(PluginFactoryImpl pf,ConvertData cd) { - this.cd = cd; - pluginFactory = pf; - } - - - - /* - * This method performs the xslt transformation on the supplied - * Document and returns a ByteArrayOutputStream object. - * - * Xslt transformation code - * - * @returns baos A ByteArrayOutputStream object containing - * the result of the Xslt transformation. - * @throws TransformerException,TransformerConfigurationException - * , FileNotFoundException,IOException - * - */ - public Document deserialize() throws ConvertException, IOException { - log("\nFound the XSLT deserializer"); - Enumeration enumer = cd.getDocumentEnumeration(); - org.w3c.dom.Document domDoc=null; - DOMDocument docOut=null; - GenericOfficeDocument doc = null; - ByteArrayOutputStream baos =null; - GenericOfficeDocument sxwDoc = new GenericOfficeDocument("output"); - while (enumer.hasMoreElements()) { - docOut = (DOMDocument) enumer.nextElement(); - } - domDoc = docOut.getContentDOM(); - try{ - baos = transform(domDoc); - sxwDoc.initContentDOM(); - DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); - dFactory.setNamespaceAware(true); - DocumentBuilder dBuilder = dFactory.newDocumentBuilder(); - sxwDoc.setContentDOM(dBuilder.parse(new ByteArrayInputStream(baos.toByteArray()))); - - } - catch(Exception e){ - System.out.println("The following error occurred:"+e); - } - return sxwDoc; - } - - public Source resolve(String href,String base) - throws TransformerException{ - //System.out.println("\nhref "+href+"\nbase "+base); - if (href !=null){ - if(href.equals("javax.xml.transform.dom.DOMSource")|| href.equals("")) - return null; - try{ - ConverterInfo ci = pluginFactory.getConverterInfo(); - String newhRef ="jar:"+ci.getJarName()+"!/"+href; - //System.out.println("\n Looking For "+ newhRef); - StreamSource sheetFile= new StreamSource(newhRef); - return sheetFile; - } - catch (Exception e){ - System.out.println("\nException in Xslt Resolver " +e); - return null; - } - } - else - return null; - } - - /* - * This method performs the xslt transformation on the supplied Dom Tree. - * - * Xslt transformation code - * - * @throws TransformerException,TransformerConfigurationException - * , FileNotFoundException,IOException - * - */ - private ByteArrayOutputStream transform(org.w3c.dom.Document xmlDoc) - throws TransformerException,TransformerConfigurationException - , FileNotFoundException,IOException{ - - log("\nTransforming..."); - ConverterInfo ci = pluginFactory.getConverterInfo(); - ByteArrayOutputStream baos= new ByteArrayOutputStream(); - try{ - DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); - dFactory.setNamespaceAware(true); - DocumentBuilder dBuilder = dFactory.newDocumentBuilder(); - - String teststr = ci.getXsltDeserial(); - teststr= teststr.substring(0,6); - org.w3c.dom.Document xslDoc=null; - if ((teststr.equals("http:/"))||(teststr.equals("file:/")) - ||(teststr.equals("jar://"))){ - log(ci.getXsltDeserial()); - xslDoc= dBuilder.parse(ci.getXsltDeserial()); - - } - else{ - log(ci.getJarName()+"!/"+ci.getXsltDeserial()); - xslDoc = dBuilder.parse( - "jar:"+ci.getJarName()+"!/"+ci.getXsltDeserial()); - } - - - DOMSource xslDomSource = new DOMSource(xslDoc); - DOMSource xmlDomSource = new DOMSource(xmlDoc); - - //call the tranformer using the XSL, Source and Result dom. - TransformerFactory tFactory = TransformerFactory.newInstance(); - tFactory.setURIResolver(this); - Transformer transformer = tFactory.newTransformer(xslDomSource); - transformer.transform(xmlDomSource,new StreamResult(baos)); - /* - // Serialize for output to standard out - Serializer serializer = SerializerFactory.getSerializer - (OutputProperties.getDefaultMethodProperties("xml")); - serializer.setOutputStream(System.out); - serializer.asDOMSerializer().serialize(xmlDomResult.getNode()); - */ - - log("\n** Transform Complete ***"); - - } - catch (StackOverflowError sOE){ - System.out.println("\nERROR : Stack Overflow Error During Transformation\n Try increasing the stack size by passing the -Xss1m option to the JRE."); - throw sOE; - } - catch(Exception e){ - System.out.println("An error occured in the transformation : "+e); - } - return baos; - } - - /** - * Sends message to the log object. - * - * @param str Debug message. - */ - private void log(String str) { - - Debug.log(Debug.TRACE, str); - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentMergerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentMergerImpl.java deleted file mode 100644 index a320080a43cb..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentMergerImpl.java +++ /dev/null @@ -1,99 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.converter.xml.xslt.GenericOfficeDocument; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.diff.ParaNodeIterator; -import org.openoffice.xmerge.merger.diff.IteratorLCSAlgorithm; -import org.openoffice.xmerge.merger.merge.DocumentMerge; -import org.openoffice.xmerge.merger.merge.CharacterBaseParagraphMerge; -import org.openoffice.xmerge.util.Debug; - - -/** - * Xslt implementation of DocumentMerger - * for the {@link - * org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl - * PluginFactoryImpl}.

    - */ -public class DocumentMergerImpl implements DocumentMerger { - - private ConverterCapabilities cc_; - private org.openoffice.xmerge.Document orig = null; - - public DocumentMergerImpl(org.openoffice.xmerge.Document doc, ConverterCapabilities cc) { - cc_ = cc; - this.orig = doc; - } - - public void merge(org.openoffice.xmerge.Document modifiedDoc) throws MergeException { - - GenericOfficeDocument wdoc1 = (GenericOfficeDocument) orig; - GenericOfficeDocument wdoc2 = (GenericOfficeDocument) modifiedDoc; - - Document doc1 = wdoc1.getContentDOM(); - Document doc2 = wdoc2.getContentDOM(); - - Iterator i1 = new ParaNodeIterator(cc_, doc1.getDocumentElement()); - Iterator i2 = new ParaNodeIterator(cc_, doc2.getDocumentElement()); - - DiffAlgorithm diffAlgo = new IteratorLCSAlgorithm(); - - // find out the paragrah level diffs - Difference[] diffTable = diffAlgo.computeDiffs(i1, i2); - - if (Debug.isFlagSet(Debug.INFO)) { - Debug.log(Debug.INFO, "Diff Result: "); - - for (int i = 0; i < diffTable.length; i++) { - Debug.log(Debug.INFO, diffTable[i].debug()); - } - } - - // merge the paragraphs - NodeMergeAlgorithm charMerge = new CharacterBaseParagraphMerge(); - DocumentMerge docMerge = new DocumentMerge(cc_, charMerge); - - Iterator result = null; - - docMerge.applyDifference(i1, i2, diffTable); - } -} - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentSerializerImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentSerializerImpl.java deleted file mode 100644 index b4b1650f97f6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/DocumentSerializerImpl.java +++ /dev/null @@ -1,309 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.w3c.dom.NodeList; -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.*; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import java.util.Enumeration; -import java.util.Properties; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConvertException; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.converter.xml.xslt.GenericOfficeDocument; -import org.openoffice.xmerge.converter.dom.DOMDocument; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -// Imported TraX classes -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.stream.StreamSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.URIResolver; -import javax.xml.transform.Source; - -// -import org.apache.xalan.serialize.Serializer; -import org.apache.xalan.serialize.SerializerFactory; -import org.apache.xalan.templates.OutputProperties; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -// Imported java classes -import java.io.FileNotFoundException; -import java.io.File; -import java.net.URI; - -/** - *

    Xslt implementation of - * org.openoffice.xmerge.DocumentSerializer - * for the {@link - * org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl - * PluginFactoryImpl}.

    - * - *

    The serialize method transforms the DOM - * document from the given Document object by - * means of a supplied Xsl Stylesheet.

    - * - * @author Aidan Butler - */ - - -public final class DocumentSerializerImpl - implements DocumentSerializer,OfficeConstants,URIResolver { - - - /** SXW Document object that this converter processes. */ - private GenericOfficeDocument sxwDoc = null; - - private PluginFactoryImpl pluginFactory = null; - - /** - * Constructor. - * - * @param pf A PluginFactoryImpl - * @param doc A SXW Document to be converted. - */ - public DocumentSerializerImpl(PluginFactoryImpl pf,Document doc) { - pluginFactory=pf; - sxwDoc = (GenericOfficeDocument) doc; - } - - - /** - * Method to convert a Document with an xsl stylesheet. - * It creates a Document object, which is then transformed - * with the Xslt processer. A ConvertData object is - * constructed and returned. - * - * @returns cd A ConvertData object. - * @throws ConvertException If any I/O error occurs. - * @throws IOException If any I/O error occurs. - */ - public ConvertData serialize() throws ConvertException, IOException { - String docName = sxwDoc.getName(); - org.w3c.dom.Document domDoc = sxwDoc.getContentDOM(); - org.w3c.dom.Document metaDoc = sxwDoc.getMetaDOM(); - org.w3c.dom.Document styleDoc = sxwDoc.getStyleDOM(); - ByteArrayOutputStream baos= new ByteArrayOutputStream(); - ConvertData cd = new ConvertData(); - Node offnode = (Node)domDoc.getDocumentElement(); - if (!(offnode.getNodeName()).equals("office:document")){ - try{ - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder= builderFactory.newDocumentBuilder(); - DOMImplementation domImpl = builder.getDOMImplementation(); - DocumentType docType =domImpl.createDocumentType("office:document","-//OpenOffice.org//DTD OfficeDocument 1.0//EN",null); - org.w3c.dom.Document newDoc = domImpl.createDocument("http://openoffice.org/2000/office","office:document",docType); - - - Element rootElement=newDoc.getDocumentElement(); - rootElement.setAttribute("xmlns:office","http://openoffice.org/2000/office"); - rootElement.setAttribute("xmlns:style","http://openoffice.org/2000/style" ); - rootElement.setAttribute("xmlns:text","http://openoffice.org/2000/text"); - rootElement.setAttribute("xmlns:table","http://openoffice.org/2000/table"); - - rootElement.setAttribute("xmlns:draw","http://openoffice.org/2000/drawing"); - rootElement.setAttribute("xmlns:fo","http://www.w3.org/1999/XSL/Format" ); - rootElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink" ); - rootElement.setAttribute("xmlns:dc","http://purl.org/dc/elements/1.1/" ); - rootElement.setAttribute("xmlns:meta","http://openoffice.org/2000/meta" ); - rootElement.setAttribute("xmlns:number","http://openoffice.org/2000/datastyle" ); - rootElement.setAttribute("xmlns:svg","http://www.w3.org/2000/svg" ); - rootElement.setAttribute("xmlns:chart","http://openoffice.org/2000/chart" ); - rootElement.setAttribute("xmlns:dr3d","http://openoffice.org/2000/dr3d" ); - rootElement.setAttribute("xmlns:math","http://www.w3.org/1998/Math/MathML" ); - rootElement.setAttribute("xmlns:form","http://openoffice.org/2000/form" ); - rootElement.setAttribute("xmlns:script","http://openoffice.org/2000/script" ); - rootElement.setAttribute("xmlns:config","http://openoffice.org/2001/config" ); - rootElement.setAttribute("office:class","text" ); - rootElement.setAttribute("office:version","1.0"); - - - NodeList nodeList; - Node tmpNode; - Node rootNode = (Node)rootElement; - if (metaDoc !=null){ - nodeList= metaDoc.getElementsByTagName(TAG_OFFICE_META); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - } if (styleDoc !=null){ - nodeList= styleDoc.getElementsByTagName(TAG_OFFICE_STYLES); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - }if (domDoc !=null){ - nodeList= domDoc.getElementsByTagName(TAG_OFFICE_AUTOMATIC_STYLES); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - nodeList= domDoc.getElementsByTagName(TAG_OFFICE_BODY); - if (nodeList.getLength()>0){ - tmpNode = newDoc.importNode(nodeList.item(0),true); - rootNode.appendChild(tmpNode); - } - } - domDoc=newDoc; - }catch(Exception e){ - System.out.println("\nAn Exception occurred with Xslt Serializer"+e); - } - - } - - try{ - baos=transform(domDoc); - } - catch (Exception e){ - System.out.println("\n Error with Xslt\n"); - } - - String ext = pluginFactory.getDeviceFileExtension(); - DOMDocument resultDomDoc=(DOMDocument)pluginFactory.createDeviceDocument(docName,new ByteArrayInputStream(baos.toByteArray())); - cd.addDocument (resultDomDoc); - return cd; - } - - public Source resolve(String href,String base) - throws TransformerException{ - //System.out.println("\nhref "+href+"\nbase "+base); - if (href !=null){ - if(href.equals("javax.xml.transform.dom.DOMSource")|| href.equals("")) - return null; - try{ - ConverterInfo ci = pluginFactory.getConverterInfo(); - String newhRef ="jar:"+ci.getJarName()+"!/"+href; - //System.out.println("\n Looking For "+ newhRef); - StreamSource sheetFile= new StreamSource(newhRef); - return sheetFile; - } - catch (Exception e){ - System.out.println("\nException in Xslt Resolver " +e); - return null; - } - } - else - return null; - } - - - /* - * This method performs the sxl transformation on the supplied - * Document and returns a DOMResult object. - * - * Xslt transformation code - * - * @returns baos A ByteArrayOutputStream object containing - * the result of the Xslt transformation. - * @throws TransformerException,TransformerConfigurationException - * , FileNotFoundException,IOException - * - */ - - - private ByteArrayOutputStream transform(org.w3c.dom.Document domDoc) - throws TransformerException,TransformerConfigurationException - , FileNotFoundException,IOException{ - //System.out.println("\nTransforming..."); - ConverterInfo ci = pluginFactory.getConverterInfo(); - //DOMResult xmlDomResult = new DOMResult(); - ByteArrayOutputStream baos= new ByteArrayOutputStream(); - try{ - - DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); - dFactory.setNamespaceAware(true); - - DocumentBuilder dBuilder = dFactory.newDocumentBuilder(); - String teststr = ci.getXsltSerial(); - - teststr= teststr.substring(0,6); - org.w3c.dom.Document xslDoc=null; - if ((teststr.equals("http:/"))||(teststr.equals("file:/")) - ||(teststr.equals("jar://"))){ - System.out.println(ci.getXsltSerial()); - xslDoc= dBuilder.parse(ci.getXsltSerial()); - - } - else{ - //System.out.println(ci.getJarName()+"!/"+ci.getXsltSerial()); - xslDoc = dBuilder.parse( - "jar:"+ci.getJarName()+"!/"+ci.getXsltSerial()); - } - - DOMSource xslDomSource = new DOMSource(xslDoc); - DOMSource xmlDomSource = new DOMSource(domDoc); - - //call the tranformer using the XSL, Source and Result. - TransformerFactory tFactory = TransformerFactory.newInstance(); - tFactory.setURIResolver(this); - Transformer transformer = tFactory.newTransformer(xslDomSource); - - transformer.transform(xmlDomSource, new StreamResult(baos)); - - /* - transformer.transform(xmlDomSource, xmlDomResult); //Removed this impl because the DocType was not being written out - - // Serialize for output to standard out - Serializer serializer = SerializerFactory.getSerializer - (OutputProperties.getDefaultMethodProperties("xml")); - //serializer.setOutputStream(System.out); - serializer.setOutputStream(baos); - serializer.asDOMSerializer().serialize(xmlDomResult.getNode()); - //serializer.asDOMSerializer().serialize(xmlDomSource.getNode()); - - - //System.out.println("\n** Transform Complete ***"); - */ - } - catch(Exception e){ - System.out.println("An error occured in the transformation : "+e); - } - return baos; - } - - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/GenericOfficeDocument.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/GenericOfficeDocument.java deleted file mode 100644 index d2b98819c87a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/GenericOfficeDocument.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.w3c.dom.Document; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - * This class is an implementation of OfficeDocument for - * the generic office format. - */ -public class GenericOfficeDocument extends OfficeDocument { - - /** - * Constructor with arguments to set name. - * - * @param name The name of the Document - */ - public GenericOfficeDocument(String name) { - super(name); - } - - - /** - * Constructor with arguments to set name, the - * namespaceAware flag, and the validating - * flag. - * - * @param name The name of the Document. - * @param namespaceAware The value of the namespaceAware - * flag. - * @param validating The value of the validating flag. - */ - public GenericOfficeDocument(String name, boolean namespaceAware, boolean validating) { - - super(name, namespaceAware, validating); - } - - /** - * Returns the Office file extension for the generic format. - * - * @return The Office file extension for the generic format. - */ - protected String getFileExtension() { - return ""; - } - - /** - * Returns the Office attribute for the generic format. - * - * @return The Office attribute for the generic format. - */ - protected String getOfficeClassAttribute() { - - return ""; - } - - /** - * Method to return the MIME type of the document. - * - * @return String The document's MIME type. - */ - protected String getDocumentMimeType() { - /* TODO: Determine the MIME-type from the input. */ - return ""; - } - -} - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/PluginFactoryImpl.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/PluginFactoryImpl.java deleted file mode 100644 index cb3a9c507b82..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/PluginFactoryImpl.java +++ /dev/null @@ -1,204 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.converter.xml.xslt; - -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.DocumentSerializer; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializer; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.PluginFactory; -import org.openoffice.xmerge.converter.dom.DOMDocument; -//import org.openoffice.xmerge.converter.xml.sxw.SxwDocument; -//import org.openoffice.xmerge.converter.xml.OfficeDocument; -import org.openoffice.xmerge.converter.xml.xslt.GenericOfficeDocument; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.DocumentMerger; -import org.openoffice.xmerge.DocumentMergerFactory; -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.util.registry.ConverterInfo; - -import java.io.InputStream; -import java.util.Enumeration; -import java.io.InputStream; -import java.io.IOException; -import java.util.Properties; - -/** - *

    Xslt implementation of the PluginFactory. - * This encapsulates conversion of StarWriter XML format to and from - * a supported format.

    - * - *

    The superclass produces a particular - * {@link org.openoffice.xmerge.Document Document} - * object, i.e. {@link - * org.openoffice.xmerge.converter.xml.sxw.SxwDocument - * SxwDocument} that the converters in this class work with. Thus, - * this class only implements the methods that produces the converters, - * i.e. {@link - * org.openoffice.xmerge.DocumentSerializer - * DocumentSerializer} and {@link - * org.openoffice.xmerge.DocumentDeserializer - * DocumentDeserializer}

    - * - * @author Aidan Butler - */ -public final class PluginFactoryImpl extends PluginFactory - implements DocumentDeserializerFactory, DocumentSerializerFactory, DocumentMergerFactory -{ - - public PluginFactoryImpl (ConverterInfo ci) { - super(ci); - } - - /** ConverterCapabilities object for this type of conversion. */ - private final static ConverterCapabilities converterCap = - new ConverterCapabilitiesImpl(); - - - /** - * Returns an instance of DocumentSerializerImpl, - * which is an implementation of the DocumentSerializer - * interface. - * - * @param doc Document object to be - * converted/serialized. - * - * @return A DocumentSerializerImpl object. - */ - public DocumentSerializer createDocumentSerializer(Document doc) { - return new DocumentSerializerImpl(this,doc); - } - - - /** - * Returns an instance of DocumentDeserializerImpl, - * which is an implementation of the DocumentDeserializer - * interface. - * - * @param is ConvertData object. - * - * @return A DocumentDeserializerImpl object. - */ - public DocumentDeserializer createDocumentDeserializer(ConvertData cd) { - - return new DocumentDeserializerImpl(this,cd); - } - - public org.openoffice.xmerge.Document createDeviceDocument(java.lang.String str, java.io.InputStream inputStream) throws java.io.IOException { - String ext = this.getDeviceFileExtension(); - DOMDocument domDoc = new DOMDocument(str,ext); - domDoc.read(inputStream); - return domDoc; - } - - - public Document createOfficeDocument(String name, InputStream is) - throws IOException { - - // read zipped XML stream - GenericOfficeDocument doc = new GenericOfficeDocument(name); - doc.read(is); - return doc; - } - - public Document createOfficeDocument(String name, InputStream is,boolean isZip) - throws IOException { - - // read zipped XML stream - GenericOfficeDocument doc = new GenericOfficeDocument(name); - doc.read(is,isZip); - return doc; - } - - /** - * Returns a String containing the file extension of a - * Document. This method uses a properties file to determine - * a mapping from the device mime in the ConverterInfo to a - * particular file extension. If a mapping is not specified, the default - * is ".txt". - * - * @return String. - */ - - - public String getDeviceFileExtension(){ - Class c = this.getClass(); - InputStream is = c.getResourceAsStream("XsltPlugin.properties"); - Properties props = new Properties(); - String ext= ".txt"; - String mimeType = null; - ConverterInfo ci = this.getConverterInfo(); - Enumeration enumer = ci.getDeviceMime(); - while (enumer.hasMoreElements()) { - mimeType= (String) enumer.nextElement(); - } - try { - props.load(is); - - String info = props.getProperty(mimeType); - if (info != null) { - ext = info; - } - } catch (Exception e) { - - // It is okay for the property file to not exist. - // - } - return ext; - } - - /** - * Returns an instance of DocumentMergerImpl, - * which is an implementation of the DocumentMerger - * interface. - * - * @param doc Document to merge. - * - * @return A DocumentMergerImpl object. - */ - public DocumentMerger createDocumentMerger(Document doc) { - ConverterCapabilities cc = converterCap; - DocumentMergerImpl merger = new DocumentMergerImpl(doc, cc); - return merger; - - } - -} - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/XsltPlugin.properties b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/XsltPlugin.properties deleted file mode 100644 index 32f3771fc492..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/XsltPlugin.properties +++ /dev/null @@ -1,36 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - - -# -# XsltPlugin.properties -# - -#This file allows users to specify the mime-type to file extension mappings - -# e.g text/html=.html -text/html=.html diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml deleted file mode 100644 index 43db663b2820..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/build.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/converter.xml b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/converter.xml deleted file mode 100644 index 3baf857406ca..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/converter.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - XSLT Transformation - - - Converter which performs xslt transformations - - OpenOffice.org - - org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl - - - sofftohtml.xsl - - - htmltosoff.xsl - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/DBFilter.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/DBFilter.java deleted file mode 100644 index eae4a03c5bc6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/DBFilter.java +++ /dev/null @@ -1,570 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -//Standard Java classes -import java.util.Enumeration; -import java.util.Vector; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; -import com.sun.star.xml.XImportFilter; -import com.sun.star.xml.XExportFilter; -import java.io.*; -import java.util.regex.*; - -// Imported TraX classes -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; -import javax.xml.transform.URIResolver; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.OutputKeys; - -//StarOffice Interfaces and UNO -import com.sun.star.uno.AnyConverter; -import com.sun.star.lang.XInitialization; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.uno.Type; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.frame.XConfigManager; -import com.sun.star.xml.sax.InputSource; -import com.sun.star.xml.sax.XParser; -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.xml.sax.XDocumentHandler; - -//Uno to java Adaptor -import com.sun.star.lib.uno.adapter.*; - -/** This outer class provides an inner class to implement the service - * description, a method to instantiate the - * component on demand (__getServiceFactory()), and a method to give - * information about the component (__writeRegistryServiceInfo()). - */ -public class DBFilter { - - - private static XMultiServiceFactory xMSF; - - /** This inner class provides the component as a concrete implementation - * of the service description. It implements the needed interfaces. - * @implements XTypeProvider - */ - public static class _DBFilter implements - XImportFilter, - XExportFilter, - XServiceName, - XServiceInfo, - XDocumentHandler, - XTypeProvider { - - private boolean indent; - private XInputStream xInStream; - private XOutputStream xOutStream; - private XOutputStream xos; - private String sExportStyleSheet; - private String doctype_public; - private String doctype_system; - - public _DBFilter() - { - indent = false; - xInStream = null; - xOutStream = null; - xos = null; - sExportStyleSheet = null; - doctype_public = null; - doctype_system = null; - } - - /** The component will be registered under this name. - */ - static private final String __serviceName = "com.sun.star.documentconversion.DBFilter"; - - public com.sun.star.uno.Type[] getTypes() { - Type[] typeReturn = {}; - - try { - typeReturn = new Type[] { - new Type( XTypeProvider.class ), - new Type( XExportFilter.class ), - new Type( XImportFilter.class ), - new Type( XServiceName.class ), - new Type( XServiceInfo.class ) }; - } - catch( Exception exception ) { - - } - - return( typeReturn ); - } - - - public boolean importer(com.sun.star.beans.PropertyValue[] aSourceData, - com.sun.star.xml.sax.XDocumentHandler xDocHandler, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException { - /* - System.out.println("\nFound the Java Importer!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - System.out.println("\n"+xDocHandler); - System.out.println("\n"+msUserData[4]); - System.out.println("\n"+msUserData[5]); - */ - String sFileName=null; - String udImport =msUserData[2]; - String sImportStyleSheet =msUserData[4]; - sExportStyleSheet =msUserData[5]; - com.sun.star.io.XInputStream xis=null; - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("InputStream")==0){ - xis=(com.sun.star.io.XInputStream)AnyConverter.toObject(new Type(com.sun.star.io.XInputStream.class), pValue[i].Value); - } - else if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - else if (pValue[i].Name.compareTo("Indent")==0){ //to be changed to new value for indentation from XSLT UI - indent=(boolean)AnyConverter.toBoolean(pValue[i].Value); - } - else if (pValue[i].Name.compareTo("DocType_Public")==0){ - doctype_public = AnyConverter.toString(pValue[i].Value); - } - else if (pValue[i].Name.compareTo("DocType_System")==0){ - doctype_system = AnyConverter.toString(pValue[i].Value); - } } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - - } - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - if (!sImportStyleSheet.equals("")){ - if (!sImportStyleSheet.startsWith("file:")&&!sImportStyleSheet.startsWith("http:") - &&!sExportStyleSheet.startsWith("shttp:") - &&!sExportStyleSheet.startsWith("jar:")){ - sImportStyleSheet=PathString.concat(sImportStyleSheet); - } - } - convert (xis,xOutStream,sImportStyleSheet,true); - xOutStream.closeOutput(); - Object xSaxParserObj=xMSF.createInstance("com.sun.star.xml.sax.Parser"); - XParser xParser = (XParser) UnoRuntime.queryInterface( - XParser.class , xSaxParserObj ); - InputSource aInput = new InputSource(); - if (sFileName==null) - sFileName=" "; - aInput.sSystemId = sFileName; - aInput.aInputStream =xInStream; - xParser.setDocumentHandler ( xDocHandler ); - xParser.parseStream ( aInput ); - xInStream.closeInput(); - - } - catch (Exception AnyExec){ - //e.printStackTrace(); - System.out.println("\nException "+AnyExec); - throw new com.sun.star.uno.RuntimeException(AnyExec.getMessage()); - } - return true; - } - - - - public boolean exporter(com.sun.star.beans.PropertyValue[] aSourceData, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException { - /* - System.out.println("\nFound the Exporter!\n"); - - System.out.println("\n0"+msUserData[0]); - System.out.println("\n1"+msUserData[1]); - System.out.println("\n2"+msUserData[2]); - System.out.println("\n3"+msUserData[3]); - - System.out.println("\n4"+msUserData[4]); - System.out.println("\n5"+msUserData[5]); - */ - String udImport =msUserData[2]; - sExportStyleSheet =msUserData[5]; - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("OutputStream")==0){ - xos=(com.sun.star.io.XOutputStream)AnyConverter.toObject(new Type(com.sun.star.io.XOutputStream.class), pValue[i].Value); - // System.out.println(pValue[i].Name+" "+xos); - } - else if (pValue[i].Name.compareTo("Indent")==0){ //to be changed to new value for indentation from XSLT UI - indent=(boolean)AnyConverter.toBoolean(pValue[i].Value); - } - else if (pValue[i].Name.compareTo("DocType_Public")==0){ - doctype_public = AnyConverter.toString(pValue[i].Value); - } - else if (pValue[i].Name.compareTo("DocType_System")==0){ - doctype_system = AnyConverter.toString(pValue[i].Value); - } - - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - } - - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - if (!sExportStyleSheet.equals("")){ - if (!sExportStyleSheet.startsWith("file:")&&!sExportStyleSheet.startsWith("http:") - &&!sExportStyleSheet.startsWith("shttp:") - &&!sExportStyleSheet.startsWith("jar:")){ - sExportStyleSheet=PathString.concat(sExportStyleSheet); - } - } - } - catch (Exception AnyExec){ - System.out.println("Exception "+AnyExec); - throw new com.sun.star.uno.RuntimeException(AnyExec.getMessage()); - } - return true; - } - - public String replace(String origString, String origChar, String replaceChar){ - String tmp=""; - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - String first =origString.substring(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.substring(index+1,origString.length()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - } - } - return tmp; - } - - public String needsMask(String origString){ - - if (origString.indexOf("&")!=-1){ - origString=replace(origString,"&","&"); - } - if (origString.indexOf("\"")!=-1){ - origString=replace(origString,"\"","""); - } - if (origString.indexOf("<")!=-1){ - origString=replace(origString,"<","<"); - } - if (origString.indexOf(">")!=-1){ - origString=replace(origString,">",">"); - } - return origString; - } - - - - public void startDocument (){ - } - - public void endDocument() - { - convert (xInStream,xos,sExportStyleSheet,false); - } - - public void startElement (String str, com.sun.star.xml.sax.XAttributeList xattribs) - { - - str="<".concat(str); - if (xattribs !=null) - { - str= str.concat(" "); - int len=xattribs.getLength(); - for (short i=0;i"); - //System.out.println(str); - try{ - //xOutStream.writeBytes(str.getBytes()); - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void endElement(String str){ - str=""); - str=str.concat("\n"); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - // System.out.println(str); - - } - public void characters(String str){ - str=needsMask(str); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void ignorableWhitespace(String str){ - - - } - public void processingInstruction(String aTarget, String aData){ - - } - - public void setDocumentLocator(com.sun.star.xml.sax.XLocator xLocator){ - - } - - private String maskEntities(String xmlString){ - Pattern testpattern = Pattern.compile(""+"&"+newstring+";"+""); - testmatch = testmatch.reset(); - testmatch= testpattern.matcher(xmlString); - //System.out.println("\nFound Pattern "+testmatch.replaceFirst(""+newstring+"")); - newstring= ""; - } - return xmlString; - } - - public void convert (com.sun.star.io.XInputStream xml, - com.sun.star.io.XOutputStream device,String sStyleSheet,boolean importing ) throws com.sun.star.uno.RuntimeException { - XInputStreamToInputStreamAdapter xis =new XInputStreamToInputStreamAdapter(xml); - XOutputStreamToOutputStreamAdapter xos = - new XOutputStreamToOutputStreamAdapter(device); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - String xmlFile=null; - try{ - //call the tranformer using the XSL, Source and Result dom. - TransformerFactory tFactory = TransformerFactory.newInstance(); - //tFactory.setURIResolver(this); - Transformer transformer =null; - transformer = tFactory.newTransformer( new StreamSource(sStyleSheet)); - if(indent){ // required for displaying XML correctly in XSLT UI - transformer.setOutputProperty("indent", "yes"); - transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "1"); - } - if(null != doctype_public){ - transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, doctype_public); - } - if(null != doctype_system){ - transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, doctype_system); - } - if (importing) - { - byte tmpArr[]=new byte[1000]; - while (xis.available()>0){ - int read = xis.read(tmpArr); - baos.write(tmpArr,0,read); - tmpArr =new byte[1000]; - } - xmlFile = maskEntities(baos.toString("UTF-8")); - - //xmlFile = baos.toString("UTF-8"); - if (xmlFile.indexOf("")); - String entities = ""; - if(xmlFile.indexOf("[",xmlFile.indexOf("",xmlFile.indexOf("\n"; - xmlFile= xmlFile.substring(xmlFile.indexOf("<"+tag,0), xmlFile.lastIndexOf(">")+1); - xmlFile= newDocType.concat(xmlFile); - //throw new com.sun.star.uno.RuntimeException(xmlFile); - } - ByteArrayInputStream bais = new ByteArrayInputStream(xmlFile.getBytes("UTF-8")); - transformer.transform(new StreamSource(bais),new StreamResult(xos)); - } - else - transformer.transform(new StreamSource(xis),new StreamResult(xos)); - } - catch (TransformerConfigurationException transConfExc) - { - throw new com.sun.star.uno.RuntimeException(transConfExc.getMessage()); - } - catch (TransformerException transExc){ - //System.out.println("\nException "+ e); - throw new com.sun.star.uno.RuntimeException(transExc.getMessage()); - } - catch (Exception e){ - System.out.println("\nException "+ e); - throw new com.sun.star.uno.RuntimeException(e.getMessage()); - } - } - - - - - // Implement methods from interface XTypeProvider - public byte[] getImplementationId() { - byte[] byteReturn = {}; - - byteReturn = new String( "" + this.hashCode() ).getBytes(); - - return( byteReturn ); - } - - // Implement method from interface XServiceName - public String getServiceName() { - return( __serviceName ); - } - - // Implement methods from interface XServiceInfo - public boolean supportsService(String stringServiceName) { - return( stringServiceName.equals( __serviceName ) ); - } - - public String getImplementationName() { - return( _DBFilter.class.getName() ); - } - - public String[] getSupportedServiceNames() { - String[] stringSupportedServiceNames = { __serviceName }; - return( stringSupportedServiceNames ); - } - } - - /** - * Returns a factory for creating the service. - * This method is called by the JavaLoader - * - * @return returns a XSingleServiceFactory for creating the - * component - * - * @param implName the name of the implementation for which a - * service is desired - * @param multiFactory the service manager to be used if needed - * @param regKey the registryKey - * - * @see com.sun.star.comp.loader.JavaLoader - */ - public static XSingleServiceFactory __getServiceFactory(String implName, - XMultiServiceFactory multiFactory, - XRegistryKey regKey) { - XSingleServiceFactory xSingleServiceFactory = null; - xMSF= multiFactory; - if (implName.equals(_DBFilter.class.getName()) ) { - xSingleServiceFactory = FactoryHelper.getServiceFactory(_DBFilter.class, - _DBFilter.__serviceName, - multiFactory, - regKey); - } - - return xSingleServiceFactory; - } - - /** - * Writes the service information into the given registry key. - * This method is called by the JavaLoader - *

    - * @return returns true if the operation succeeded - * @param regKey the registryKey - * @see com.sun.star.comp.loader.JavaLoader - */ - public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { - - return FactoryHelper.writeRegistryServiceInfo(_DBFilter.class.getName(), - _DBFilter.__serviceName, regKey); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Manifest b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Manifest deleted file mode 100644 index 108fba617702..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Manifest +++ /dev/null @@ -1 +0,0 @@ -RegistrationClassName: DBFilter diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Readme.txt b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Readme.txt deleted file mode 100644 index d67b2aaeeac9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/Readme.txt +++ /dev/null @@ -1,14 +0,0 @@ -DBFilter Readme -=============== - -The DocBook filter (DBFilter) is essentially teh XSLTFilter that is -delivered with Openoffice, except that it contains an extra routine -for Masking DOCTYPE Entity declarations. In this way, Entities -which are referenced inside the XML Document to be imported, -are converted into an tag. In this way, -the entities can be imported into OOo as "set" and "get" variables. - -On Export, these variables can be written out once again as correct -Enity decls and Entity references. - - \ No newline at end of file diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/makefile.mk deleted file mode 100644 index 9f5a92570565..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbookfilter/makefile.mk +++ /dev/null @@ -1,60 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* -PRJ = ..$/.. -PRJNAME = filter -#PACKAGE = com$/sun$/star$/documentconversion$/DBFilter -TARGET =DBFilter -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk -CLASSDIR!:=$(CLASSDIR)$/$(TARGET) -#USE_UDK_EXTENDED_MANIFESTFILE=TRUE -#USE_EXTENDED_MANIFESTFILE=TRUE -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar -JAVAFILES = $(subst,$(CLASSDIR)$/, $(subst,.class,.java $(JAVACLASSFILES))) -CUSTOMMANIFESTFILE = Manifest -#JARMANIFEST = Manifest - -#JARDIR=$(CLASSDIR) - -JARCOMPRESS = TRUE -JARCLASSDIRS = DBFilter*.class -JARTARGET = $(TARGET).jar - - -# --- Files -------------------------------------------------------- -JAVACLASSFILES=$(CLASSDIR)$/DBFilter.class -#---Manifest ------------------------------------------------------- -#$(OUT)$/class$/$(TARGET)$/META-INF: META-INF -# + $(COPY) $(COPYRECURSE) META-INF $(OUT)$/class$/DBFilter$/META-INF -# --- Targets ------------------------------------------------------ -.INCLUDE : target.mk -$(JAVACLASSFILES) : $(CLASSDIR) - -$(CLASSDIR) : - $(MKDIR) $(CLASSDIR) - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbooktosoffheadings.xsl b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbooktosoffheadings.xsl deleted file mode 100644 index 7bb99da2f735..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/docbooktosoffheadings.xsl +++ /dev/null @@ -1,1725 +0,0 @@ - - - - - - - - - - - - article - - - chapter - - - - - - - - - StarOffice 6.1 (Solaris Sparc) - - - - - - - - - - - - - - - - 2002-07-15T12:38:53 - - - - - - - - - - - - - - - - - - - - - - - - - 21 - P1DT0H11M54S - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string - - - entitydecl_ - - - - - - - - - - - - - - - - string - - - entitydecl_ - - - - - - - - string - - - entitydecl_ - - - - - - - - - - - - - - - - - - - Table1 - - - - blah - - - - - Table - - - - - - - - - Table1.A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Table1.A1 - - - Table1.A2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Table Heading - - - Table Contents - - - - - - - - - - - - - - - - - - - - - - - Section SubTitle - - - - - - - - - - - - - - - - - - - - - - - Appendix Title - - - - - - - - - - - - ArticleInfo - ArticleInfo - - - Document SubTitle - - - - - - - - - - - ChapterInfo - ChapterInfo - - - Document Title - - - - - Document SubTitle - - - - - - - - - - - - Appendix - Appendix - - - - - - - - - - - - - - Document Title - - - - - - - - - date_ - - - - - - date_ - - - - - - - - - - revision_ - - - - - - revision_ - - - - - - - - - - - revnumber_ - - - - - - revnumber_ - - - - - - - - - - revdescription_ - - - - - - revdescription_ - - - - - - - - - - revhistory_ - - - - - - revhistory_ - - - - - - - - - - - legalnotice_ - - - - - - legalnotice_ - - - - - - - - - - title_ - - - - - - title_ - - - - - - - - - - - para_ - - - - - - para_ - - - - - - - - - - - subtitle_ - - - - - - subtitle_ - - - - - - - - - - edition_ - - - - - - edition_ - - - - - - - - - - releaseinfo_ - - - - - - releaseinfo_ - - - - - - - - - - - firstname_ - - - - - - firstname_ - - - - - - - - - - - - - - year_ - - - - - - year_ - - - - - - - - - - - authorgroup_ - - - - - - authorgroup_ - - - - - - - - - - holder_ - - - - - - holder_ - - - - - - - - - - - copyright_ - - - - - - copyright_ - - - - - - - - - - - - affiliation_ - - - - - - affiliation_ - - - - - - - - - - address_ - - - - - - address_ - - - - - - - - - - authorgroup_ - - - - - - authorgroup_ - - - - - - - - - - - author_ - - - - - - author_ - - - - - - - - - - - affiliation_ - - - - - - affiliation_ - - - - - - - - - - address_ - - - - - - address_ - - - - - - - - - - - - email_ - - - - - - email_ - - - - - - - - - - - - orgname_ - - - - - - orgname_ - - - - - - - - - - - - - surname_ - - - - - - surname_ - - - - - - - - - - - - - - VarList Term - - - - - - - - - Footnote - - - - - Table Contents - - - Table Heading - - - - - Table Contents - - - Table Heading - - - - Text body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - abstract - - - - - - - - 1 - appendix - - - - - - - - 1 - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - 4 - - - - - - - - - - - - - - - - - Table1 - - - - - - - - - - - - - - - - - - UnOrdered List - false - - - - - - - - Var List - false - - - - - - - - Ordered List - false - - - - - - - - - - VarList Term - - - - - - - - - - - - - - - - - - - - - - - - - - - - menuchoice_ - - - - - - menuchoice_ - - - - - - - - GuiMenuItem - - - - - - - - GuiButton - - - - - - - - GuiSubMenu - - - - - - - - - - Emphasis Bold - - - - Emphasis - - - - - - - - - - Citation - - - - - - - GuiMenu - - - - - - - - GuiSubMenu - - - - - - - - GuiLabel - - - - - - - - GuiButton - - - - - - - - KeyCap - - - - - - - - KeySym - - - - - - - - KeyCombo - - - - - - - - Command - - - - - - - - Application - - - - - - - - FileName - - - - - - - - SystemItem - - - - - - - - ComputerOutput - - - - - - - - - fr1 - - - - - - - - - - - - 1cm - - - 1cm - - - embed - - - onLoad - - - <All formats> - - - - - - - - - - - - - - - - - - - - Highlight - - - - - - - - - - simple - - - - - - - - - - - - - simple - - - # - - %7Cregion - - - - - - - - - - simple - - - - - - - - - - - - - text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - - - - - - - - - - - - - - - - - - - Sect1 - - - true - - - - - - - Main index entry - - - alphanumeric - - - en - - - IE - - - Index Heading - - - - - separator - - - Index Separator - - - - - - 1 - - - Index 1 - - - - - left - - - 0cm - - - - - - - - - 2 - - - Index 2 - - - - - left - - - 0cm - - - - - - - - - 3 - - - Index 3 - - - - - left - - - 0cm - - - - - - - - - - - - Sect1 - - - Alphabetical Index1_Head - - - - Index Heading - - - - - - - - - - - - - - Index 1 - - - - - - - - Index 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fr1 - - - - - - - - - - - - 1cm - - - 1cm - - - embed - - - onLoad - - - <All formats> - - - - - - - - - fr1 - - - - - - - - - - - - 1cm - - - 1cm - - - embed - - - onLoad - - - <All formats> - - - - - - - - - - - - - - Mediaobject - - - - - - - - - - SuperScript - - - - - - - - - - SubScript - - - - - - - - - XMLComment - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/literallayout.java b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/literallayout.java deleted file mode 100644 index c2dbc2396d94..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/literallayout.java +++ /dev/null @@ -1,135 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -package org.openoffice.xmerge.converter.xml.xslt.docbook; -import java.lang.String; - - -public class literallayout{ - - public static String RemoveSpaces(String test){ - System.out.println("\nWorking... Length=" +test.length()); - int i=0; - int paraBreak=10000; - String result=""; - char data[]={10}; - char tab[]={13}; - if(test!=null){ - String strArr[]= test.split(new String(data)); - test=""; - - while (i< strArr.length ){ - //System.out.println("Trying "+ i); - - if (test.length()+strArr[i].length()> paraBreak){ - test=test.concat(""); - paraBreak+=10000; - } - strArr[i]=needsMask(strArr[i]).concat(""); - strArr[i]=needsSecondMask(strArr[i]); - test=test.concat(strArr[i]); - i++; - } - - System.out.println(test.length()); - - } - else{ - test=""; - } - System.out.println("\nDone"); - return test; - } - - public static String needsMask(String origString){ - if (origString.indexOf("&")!=-1){ - origString=replaceStr(origString,"&","&"); - } - if (origString.indexOf("\"")!=-1){ - origString=replaceStr(origString,"\"","""); - } - if (origString.indexOf("<")!=-1){ - origString=replaceStr(origString,"<","<"); - } - if (origString.indexOf(">")!=-1){ - origString=replaceStr(origString,">",">"); - } - return origString; - - } - - public static String needsSecondMask(String origString){ - char data[]={10}; - char tab[]={9}; - if (origString.indexOf(" ")!=-1){ - origString=replaceStr(origString," "," "); - } - if (origString.indexOf(new String(tab))!=-1){ - origString=replaceStr(origString,new String(tab),""); - } - - return origString; - - } - - public static String replaceStr(String origString, String origChar, String replaceChar){ - String tmp=""; - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - String first =origString.substring(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.substring(index+1,origString.length()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - - } - - } - return tmp; - } - - - private static String replace(String test){ - int i=0; - String result=""; - if (test.indexOf(" ",i)!=-1){ - while (test.indexOf(" ",i)!=-1){ - result=result.concat(test.substring(0,test.indexOf(" ",i))); - result=result.concat(" "); - i=test.indexOf(" ",i)+2; - } - return result; - } - else{ - return test; - } - } - -} diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_article.xsl b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_article.xsl deleted file mode 100644 index 649869eca225..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_article.xsl +++ /dev/null @@ -1,848 +0,0 @@ - - - - - - - - - - - - - - - - - - - - <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ - - - - - <!ENTITY ""> - - - - ]> -

    - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - sect - id="" - <> - - </> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sect - - - - - - - - <xsl:call-template name="make-section"> - <xsl:with-param name="current" select="$current"/> - <xsl:with-param name="prev" select="$prev +1"/> - </xsl:call-template> - <!--<xsl:text disable-output-escaping="yes"></sect</xsl:text><xsl:value-of select="$prev +1 "/><xsl:text disable-output-escaping="yes">></xsl:text>--> - - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="sect.element"> - <xsl:text disable-output-escaping="yes">sect</xsl:text> - <xsl:value-of select="$current"/> - </xsl:variable> - <!--<xsl:text disable-output-escaping="yes"><sect</xsl:text><xsl:value-of select="$current"/><xsl:text disable-output-escaping="yes">></xsl:text>--> - - <xsl:element name="{$sect.element}"> - <xsl:call-template name="id.attribute"/> - <title> - <xsl:apply-templates/> - - - - - - - - - - - - - - &; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <> - - - - - </> - - - - - - - - - - - - - - - - - <xsl:apply-templates/> - - - - - - <xsl:apply-templates/> - - - - - - - <listitem> - - - - - - </listitem> - - - - - - - - - - - - - - <xsl:apply-templates/> - - - - - - - <xsl:apply-templates/> - - - - - - - <xsl:apply-templates/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:value-of select="following-sibling::text:p[@text:style-name='Table']"/> - - -
    -
    - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <tbody> - - - - - - </tbody> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:apply-templates/> - </itemizedlist> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:list-item"> - <xsl:if test="parent::text:unordered-list/@text:style-name='Var List'"> - <varlistentry> - <xsl:for-each select="text:p[@text:style-name='VarList Term']"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </varlistentry> - </xsl:if> - <xsl:if test="not(parent::text:unordered-list/@text:style-name='Var List')"> - <listitem> - <xsl:apply-templates/> - </listitem> - </xsl:if> - </xsl:template> - - - <xsl:template match="dc:title"/> - - - <xsl:template match="dc:description"> - <abstract> - <para> - <xsl:apply-templates/> - </para> - </abstract> - </xsl:template> - - - <xsl:template match="dc:subject"/> - - <xsl:template match="meta:generator"/> - - <xsl:template match="draw:plugin"> - <xsl:element name="audioobject"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:attribute name="width"/> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:footnote"> - <footnote> - <xsl:apply-templates/> - </footnote> - </xsl:template> - - - <xsl:template match="text:footnote-body"> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="draw:text-box"/> - - <xsl:template match="draw:image"> - <xsl:choose> - <xsl:when test="parent::text:p[@text:style-name='Mediaobject']"> - <xsl:element name="imageobject"> - <xsl:element name="imagedata"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - </xsl:element> - <xsl:element name="caption"> - <xsl:value-of select="."/> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="inlinegraphic"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:attribute name="width"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:span"> - <xsl:choose> - <xsl:when test="./@text:style-name='GuiMenu'"> - <xsl:element name="guimenu"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="./@text:style-name='GuiSubMenu'"> - <xsl:element name="guisubmenu"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiMenuItem'"> - <xsl:element name="guimenuitem"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiButton'"> - <xsl:element name="guibutton"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiButton'"> - <xsl:element name="guibutton"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiLabel'"> - <xsl:element name="guilabel"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Emphasis'"> - <xsl:element name="emphasis"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> -<!-- Change Made By Kevin Fowlks (fowlks@msu.edu) June 4th, 2003 --> - <xsl:when test="@text:style-name='Emphasis Bold'"> - <xsl:element name="emphasis"> - <xsl:attribute name = "role" > - <xsl:text>bold</xsl:text> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> -<!-- Change Made By Kevin Fowlks (fowlks@msu.edu) June 16th, 2003 --> - <xsl:when test="@text:style-name='Citation'"> - <xsl:element name="quote"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='FileName'"> - <xsl:element name="filename"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Application'"> - <xsl:element name="application"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Command'"> - <command> - <xsl:apply-templates/> - </command> - </xsl:when> - <xsl:when test="@text:style-name='SubScript'"> - <subscript> - <xsl:apply-templates/> - </subscript> - </xsl:when> - <xsl:when test="@text:style-name='SuperScript'"> - <superscript> - <xsl:apply-templates/> - </superscript> - </xsl:when> - <xsl:when test="@text:style-name='SystemItem'"> - <systemitem> - <xsl:apply-templates/> - </systemitem> - </xsl:when> - <xsl:when test="@text:style-name='ComputerOutput'"> - <computeroutput> - <xsl:apply-templates/> - </computeroutput> - </xsl:when> - <xsl:when test="@text:style-name='Highlight'"> - <highlight> - <xsl:apply-templates/> - </highlight> - </xsl:when> - <xsl:when test="@text:style-name='KeyCap'"> - <keycap> - <xsl:apply-templates/> - </keycap> - </xsl:when> - <xsl:when test="@text:style-name='KeySym'"> - <xsl:element name="keysym"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='KeyCombo'"> - <keycombo> - <xsl:apply-templates/> - </keycombo> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:a"> - <xsl:choose> - <xsl:when test="contains(@xlink:href,'://')"> - <xsl:element name="ulink"> - <xsl:attribute name="url"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="not(contains(@xlink:href,'#'))"> - <xsl:element name="olink"> - <xsl:attribute name="targetdocent"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="linkvar" select="substring-after(@xlink:href,'#')"/> - <xsl:element name="link"> - <xsl:attribute name="linkend"> - <xsl:value-of select="substring-before($linkvar,'%')"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:line-break"> - <xsl:text disable-output-escaping="yes"/> - </xsl:template> - - - <xsl:template match="text:tab-stop"> - <xsl:text disable-output-escaping="yes"/> - </xsl:template> - <!-- @endterm not retained due to problems with OOo method of displaying text in the reference-ref --> - - <xsl:template match="text:reference-ref"> - <xsl:element name="xref"> - <xsl:attribute name="linkend"> - <xsl:value-of select="@text:ref-name"/> - </xsl:attribute> - </xsl:element> - </xsl:template> - - - <xsl:template name="id.attribute"> - <xsl:if test="child::text:reference-mark-start"> - <xsl:attribute name="id"> - <xsl:value-of select="child::text:reference-mark-start/@text:name"/> - </xsl:attribute> - </xsl:if> - <!-- Constraints imposed by OOo method of displaying reference-ref text means that xreflabel and endterm are lost --> - <!--<xsl:if test="child::text:p/text:span[@text:style-name = 'XrefLabel']"> - <xsl:attribute name="xreflabel"> - <xsl:value-of select="text:p/text:span"/> - </xsl:attribute> - </xsl:if> --> - - </xsl:template> - <!-- - <text:h text:level="1">Part One Title - <text:reference-mark-start text:name="part"/> - <text:p text:style-name="Text body"> - <text:span text:style-name="XrefLabel">xreflabel_part</text:span> - </text:p> - <text:reference-mark-end text:name="part"/> - </text:h> ---> - <!--<xsl:template match="text:p/text:span[@text:style-name = 'XrefLabel']"/>--> - - <xsl:template match="text:reference-mark-start"/> - - <xsl:template match="text:reference-mark-end"/> - - <xsl:template match="comment"> - <xsl:comment> - <xsl:value-of select="."/> - </xsl:comment> - </xsl:template> - - - <xsl:template match="text:alphabetical-index-mark-start"> - <xsl:element name="indexterm"> - <xsl:attribute name="class"> - <xsl:text disable-output-escaping="yes">startofrange</xsl:text> - </xsl:attribute> - <xsl:attribute name="id"> - <xsl:value-of select="@text:id"/> - </xsl:attribute> - <!--<xsl:if test="@text:key1">--> - - <xsl:element name="primary"> - <xsl:value-of select="@text:key1"/> - </xsl:element> - <!--</xsl:if>--> - - <xsl:if test="@text:key2"> - <xsl:element name="secondary"> - <xsl:value-of select="@text:key2"/> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:alphabetical-index-mark-end"> - <xsl:element name="indexterm"> - <xsl:attribute name="startref"> - <xsl:value-of select="@text:id"/> - </xsl:attribute> - <xsl:attribute name="class"> - <xsl:text disable-output-escaping="yes">endofrange</xsl:text> - </xsl:attribute> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:alphabetical-index"> - <xsl:element name="index"> - <xsl:element name="title"> - <xsl:value-of select="text:index-body/text:index-title/text:p"/> - </xsl:element> - <xsl:apply-templates select="text:index-body"/> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:index-body"> - <xsl:for-each select="text:p[@text:style-name = 'Index 1']"> - <xsl:element name="indexentry"> - <xsl:element name="primaryie"> - <xsl:value-of select="."/> - </xsl:element> - <xsl:if test="key('secondary_children', generate-id())"> - <xsl:element name="secondaryie"> - <xsl:value-of select="key('secondary_children', generate-id())"/> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:for-each> - </xsl:template> - -</xsl:stylesheet> - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_chapter.xsl b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_chapter.xsl deleted file mode 100644 index efb03f0a741c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/docbook/sofftodocbookheadings_chapter.xsl +++ /dev/null @@ -1,858 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - 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. - ---> - -<xsl:stylesheet version="1.0" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:office="http://openoffice.org/2000/office" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.org/2000/chart" xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="http://openoffice.org/2000/form" xmlns:script="http://openoffice.org/2000/script" xmlns:config="http://openoffice.org/2001/config" office:class="text" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="office meta table number dc fo xlink chart math script xsl draw svg dr3d form config text style"> - - <xsl:key name='headchildren' match="text:p | text:alphabetical-index | table:table | text:span | text:ordered-list | office:annotation | text:unordered-list | text:footnote | text:a | text:list-item | draw:plugin | draw:text-box | text:footnote-body | text:section" - use="generate-id((..|preceding-sibling::text:h[@text:level='1']|preceding-sibling::text:h[@text:level='2']|preceding-sibling::text:h[@text:level='3']|preceding-sibling::text:h[@text:level='4']|preceding-sibling::text:h[@text:level='5'])[last()])"/> - - <xsl:key name="children" match="text:h[@text:level='2']" - use="generate-id(preceding-sibling::text:h[@text:level='1'][1])"/> - - <xsl:key name="children" match="text:h[@text:level='3']" - use="generate-id(preceding-sibling::text:h[@text:level='2' or @text:level='1'][1])"/> - - <xsl:key name="children" match="text:h[@text:level='4']" - use="generate-id(preceding-sibling::text:h[@text:level='3' or @text:level='2' or @text:level='1'][1])"/> - - <xsl:key name="children" match="text:h[@text:level='5']" - use="generate-id(preceding-sibling::text:h[@text:level='4' or @text:level='3' or @text:level='2' or @text:level='1'][1])"/> - - <xsl:key name="secondary_children" match="text:p[@text:style-name = 'Index 2']" - use="generate-id(preceding-sibling::text:p[@text:style-name = 'Index 1'][1])"/> - -<!-- --> - <xsl:template match="/office:document"> - <xsl:text disable-output-escaping="yes"><!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ - </xsl:text> - <xsl:for-each select="descendant::text:variable-decl"> - <xsl:variable name="name"><xsl:value-of select="@text:name"/></xsl:variable> - <xsl:if test="contains(@text:name,'entitydecl')"> - <xsl:text disable-output-escaping="yes"><!ENTITY </xsl:text><xsl:value-of select="substring-after(@text:name,'entitydecl_')"/><xsl:text> "</xsl:text><xsl:value-of select="/descendant::text:variable-set[@text:name= $name][1]"/><xsl:text disable-output-escaping="yes">"></xsl:text> - </xsl:if> - </xsl:for-each> - - <xsl:text disable-output-escaping="yes">]></xsl:text> - <chapter> - <xsl:attribute name="lang"> - <xsl:value-of select="/office:document/office:meta/dc:language"/> - </xsl:attribute> - <xsl:apply-templates/> - </chapter> - </xsl:template> - - - <xsl:template match="text:section"> - <xsl:choose> - <xsl:when test="@text:name='ChapterInfo'"> - <chapterinfo> - <xsl:apply-templates/> - </chapterinfo> - </xsl:when> - <xsl:when test="@text:name='Abstract'"> - <abstract> - <xsl:apply-templates/> - </abstract> - </xsl:when> - <xsl:when test="@text:name='Appendix'"> - <appendix> - <xsl:apply-templates/> - </appendix> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="sectvar"><xsl:text>sect</xsl:text><xsl:value-of select="count(ancestor::text:section)+1"/></xsl:variable> - <xsl:variable name="idvar"><xsl:text> id="</xsl:text><xsl:value-of select="@text:name"/><xsl:text>"</xsl:text></xsl:variable> - <xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="$sectvar"/><xsl:value-of select="$idvar"/><xsl:text disable-output-escaping="yes">></xsl:text> - <xsl:apply-templates/> - <xsl:text disable-output-escaping="yes"></</xsl:text><xsl:value-of select="$sectvar"/><xsl:text disable-output-escaping="yes">></xsl:text> - </xsl:otherwise> -</xsl:choose> - - </xsl:template> - - <xsl:template match="text:h[@text:level='1']"> - <xsl:choose> - <xsl:when test=".='Abstract'"> - <abstract> - <xsl:apply-templates select="key('headchildren', generate-id())"/> - <xsl:apply-templates select="key('children', generate-id())"/> - </abstract> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="make-section"> - <xsl:with-param name="current" select="@text:level"/> - <xsl:with-param name="prev" select="1"/> - </xsl:call-template> - <!--<sect1> - <title> - <xsl:apply-templates/> - - - - --> - - - - - - - - - - - - - - - - - - - - - - sect - - - - - - - - <xsl:call-template name="make-section"> - <xsl:with-param name="current" select="$current"/> - <xsl:with-param name="prev" select="$prev +1"/> - </xsl:call-template> - <!--<xsl:text disable-output-escaping="yes"></sect</xsl:text><xsl:value-of select="$prev +1 "/><xsl:text disable-output-escaping="yes">></xsl:text>--> - - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="sect.element"> - <xsl:text disable-output-escaping="yes">sect</xsl:text> - <xsl:value-of select="$current"/> - </xsl:variable> - <!--<xsl:text disable-output-escaping="yes"><sect</xsl:text><xsl:value-of select="$current"/><xsl:text disable-output-escaping="yes">></xsl:text>--> - - <xsl:element name="{$sect.element}"> - <xsl:call-template name="id.attribute"/> - <title> - <xsl:apply-templates/> - - - - - - - - - - - - - - &; - - - - - - - - &; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <> - - - - - </> - - - - - - - - - - - - - - - - - <xsl:apply-templates/> - - - - - - <xsl:apply-templates/> - - - - - - - <listitem> - - - - - - </listitem> - - - - - - - - - - - - - - <xsl:apply-templates/> - - - - - - - <xsl:apply-templates/> - - - - - - - <xsl:apply-templates/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:value-of select="following-sibling::text:p[@text:style-name='Table']"/> - - -
    -
    - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <tbody> - - - - - - </tbody> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:apply-templates/> - </itemizedlist> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:list-item"> - <xsl:if test="parent::text:unordered-list/@text:style-name='Var List'"> - <varlistentry> - <xsl:for-each select="text:p[@text:style-name='VarList Term']"> - <xsl:apply-templates select="."/> - </xsl:for-each> - </varlistentry> - </xsl:if> - <xsl:if test="not(parent::text:unordered-list/@text:style-name='Var List')"> - <listitem> - <xsl:apply-templates/> - </listitem> - </xsl:if> - </xsl:template> - - - <xsl:template match="dc:title"/> - - - <xsl:template match="dc:description"> - <abstract> - <para> - <xsl:apply-templates/> - </para> - </abstract> - </xsl:template> - - - <xsl:template match="dc:subject"/> - - <xsl:template match="meta:generator"/> - - <xsl:template match="draw:plugin"> - <xsl:element name="audioobject"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:attribute name="width"/> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:footnote"> - <footnote> - <xsl:apply-templates/> - </footnote> - </xsl:template> - - - <xsl:template match="text:footnote-body"> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="draw:text-box"/> - - <xsl:template match="draw:image"> - <xsl:choose> - <xsl:when test="parent::text:p[@text:style-name='Mediaobject']"> - <xsl:element name="imageobject"> - <xsl:element name="imagedata"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - </xsl:element> - <xsl:element name="caption"> - <xsl:value-of select="."/> - </xsl:element> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="inlinegraphic"> - <xsl:attribute name="fileref"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:attribute name="width"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:span"> - <xsl:choose> - <xsl:when test="./@text:style-name='GuiMenu'"> - <xsl:element name="guimenu"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="./@text:style-name='GuiSubMenu'"> - <xsl:element name="guisubmenu"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiMenuItem'"> - <xsl:element name="guimenuitem"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiButton'"> - <xsl:element name="guibutton"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiButton'"> - <xsl:element name="guibutton"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='GuiLabel'"> - <xsl:element name="guilabel"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Emphasis'"> - <xsl:element name="emphasis"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> -<!-- Change Made By Kevin Fowlks (fowlks@msu.edu) June 4th, 2003 --> - <xsl:when test="@text:style-name='Emphasis Bold'"> - <xsl:element name="emphasis"> - <xsl:attribute name = "role" > - <xsl:text >bold</xsl:text> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> -<!-- Change Made By Kevin Fowlks (fowlks@msu.edu) June 16th, 2003 --> - <xsl:when test="@text:style-name='Citation'"> - <xsl:element name="quote"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='FileName'"> - <xsl:element name="filename"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Application'"> - <xsl:element name="application"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='Command'"> - <command> - <xsl:apply-templates/> - </command> - </xsl:when> - <xsl:when test="@text:style-name='SubScript'"> - <subscript> - <xsl:apply-templates/> - </subscript> - </xsl:when> - <xsl:when test="@text:style-name='SuperScript'"> - <superscript> - <xsl:apply-templates/> - </superscript> - </xsl:when> - <xsl:when test="@text:style-name='SystemItem'"> - <systemitem> - <xsl:apply-templates/> - </systemitem> - </xsl:when> - <xsl:when test="@text:style-name='ComputerOutput'"> - <computeroutput> - <xsl:apply-templates/> - </computeroutput> - </xsl:when> - <xsl:when test="@text:style-name='Highlight'"> - <highlight> - <xsl:apply-templates/> - </highlight> - </xsl:when> - <xsl:when test="@text:style-name='KeyCap'"> - <keycap> - <xsl:apply-templates/> - </keycap> - </xsl:when> - <xsl:when test="@text:style-name='KeySym'"> - <xsl:element name="keysym"> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="@text:style-name='KeyCombo'"> - <keycombo> - <xsl:apply-templates/> - </keycombo> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:a"> - <xsl:choose> - <xsl:when test="contains(@xlink:href,'://')"> - <xsl:element name="ulink"> - <xsl:attribute name="url"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:when test="not(contains(@xlink:href,'#'))"> - <xsl:element name="olink"> - <xsl:attribute name="targetdocent"> - <xsl:value-of select="@xlink:href"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:variable name="linkvar" select="substring-after(@xlink:href,'#')"/> - <xsl:element name="link"> - <xsl:attribute name="linkend"> - <xsl:value-of select="substring-before($linkvar,'%')"/> - </xsl:attribute> - <xsl:apply-templates/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - - <xsl:template match="text:line-break"> - <xsl:text disable-output-escaping="yes"/> - </xsl:template> - - - <xsl:template match="text:tab-stop"> - <xsl:text disable-output-escaping="yes"/> - </xsl:template> - <!-- @endterm not retained due to problems with OOo method of displaying text in the reference-ref --> - - <xsl:template match="text:reference-ref"> - <xsl:element name="xref"> - <xsl:attribute name="linkend"> - <xsl:value-of select="@text:ref-name"/> - </xsl:attribute> - </xsl:element> - </xsl:template> - - - <xsl:template name="id.attribute"> - <xsl:if test="child::text:reference-mark-start"> - <xsl:attribute name="id"> - <xsl:value-of select="child::text:reference-mark-start/@text:name"/> - </xsl:attribute> - </xsl:if> - <!-- Constraints imposed by OOo method of displaying reference-ref text means that xreflabel and endterm are lost --> - <!--<xsl:if test="child::text:p/text:span[@text:style-name = 'XrefLabel']"> - <xsl:attribute name="xreflabel"> - <xsl:value-of select="text:p/text:span"/> - </xsl:attribute> - </xsl:if> --> - - </xsl:template> - <!-- - <text:h text:level="1">Part One Title - <text:reference-mark-start text:name="part"/> - <text:p text:style-name="Text body"> - <text:span text:style-name="XrefLabel">xreflabel_part</text:span> - </text:p> - <text:reference-mark-end text:name="part"/> - </text:h> ---> - <!--<xsl:template match="text:p/text:span[@text:style-name = 'XrefLabel']"/>--> - - <xsl:template match="text:reference-mark-start"/> - - <xsl:template match="text:reference-mark-end"/> - - <xsl:template match="comment"> - <xsl:comment> - <xsl:value-of select="."/> - </xsl:comment> - </xsl:template> - - - <xsl:template match="text:alphabetical-index-mark-start"> - <xsl:element name="indexterm"> - <xsl:attribute name="class"> - <xsl:text disable-output-escaping="yes">startofrange</xsl:text> - </xsl:attribute> - <xsl:attribute name="id"> - <xsl:value-of select="@text:id"/> - </xsl:attribute> - <!--<xsl:if test="@text:key1">--> - - <xsl:element name="primary"> - <xsl:value-of select="@text:key1"/> - </xsl:element> - <!--</xsl:if>--> - - <xsl:if test="@text:key2"> - <xsl:element name="secondary"> - <xsl:value-of select="@text:key2"/> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:alphabetical-index-mark-end"> - <xsl:element name="indexterm"> - <xsl:attribute name="startref"> - <xsl:value-of select="@text:id"/> - </xsl:attribute> - <xsl:attribute name="class"> - <xsl:text disable-output-escaping="yes">endofrange</xsl:text> - </xsl:attribute> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:alphabetical-index"> - <xsl:element name="index"> - <xsl:element name="title"> - <xsl:value-of select="text:index-body/text:index-title/text:p"/> - </xsl:element> - <xsl:apply-templates select="text:index-body"/> - </xsl:element> - </xsl:template> - - - <xsl:template match="text:index-body"> - <xsl:for-each select="text:p[@text:style-name = 'Index 1']"> - <xsl:element name="indexentry"> - <xsl:element name="primaryie"> - <xsl:value-of select="."/> - </xsl:element> - <xsl:if test="key('secondary_children', generate-id())"> - <xsl:element name="secondaryie"> - <xsl:value-of select="key('secondary_children', generate-id())"/> - </xsl:element> - </xsl:if> - </xsl:element> - </xsl:for-each> - </xsl:template> - -</xsl:stylesheet> - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/htmltosoff.xsl b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/htmltosoff.xsl deleted file mode 100644 index baf160c1449e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/htmltosoff.xsl +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version='1.0' encoding="UTF-8"?> -<!-- - - 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. - ---> -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:office="http://openoffice.org/2000/office" - xmlns:style="http://openoffice.org/2000/style" - xmlns:text="http://openoffice.org/2000/text" - xmlns:table="http://openoffice.org/2000/table" - xmlns:draw="http://openoffice.org/2000/drawing" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:number="http://openoffice.org/2000/datastyle" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns:chart="http://openoffice.org/2000/chart" - xmlns:dr3d="http://openoffice.org/2000/dr3d" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="http://openoffice.org/2000/form" - xmlns:script="http://openoffice.org/2000/script" - > -<xsl:output method="xml" /> - - -<xsl:template match="/"> - <xsl:apply-templates /> -</xsl:template> - -<xsl:template match="html"> - - <office:document-content xmlns:office="http://openoffice.org/2000/office" - xmlns:style="http://openoffice.org/2000/style" - xmlns:text="http://openoffice.org/2000/text" - xmlns:table="http://openoffice.org/2000/table" - xmlns:draw="http://openoffice.org/2000/drawing" - xmlns:fo="http://www.w3.org/1999/XSL/Format" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:number="http://openoffice.org/2000/datastyle" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns:chart="http://openoffice.org/2000/chart" - xmlns:dr3d="http://openoffice.org/2000/dr3d" - xmlns:math="http://www.w3.org/1998/Math/MathML" - xmlns:form="http://openoffice.org/2000/form" - xmlns:script="http://openoffice.org/2000/script" - office:class="text" office:version="1.0"> - -<office:script/> - <office:font-decls> - <style:font-decl style:name="Letter Gothic" fo:font-family="'Letter Gothic'" style:font-family-generic="modern" style:font-pitch="fixed"/> - <style:font-decl style:name="Arial Unicode MS" fo:font-family="'Arial Unicode MS'" style:font-pitch="variable"/> - <style:font-decl style:name="HG Mincho Light J" fo:font-family="'HG Mincho Light J'" style:font-pitch="variable"/> - <style:font-decl style:name="CG Times" fo:font-family="'CG Times'" style:font-family-generic="roman" style:font-pitch="variable"/> - <style:font-decl style:name="Thorndale" fo:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/> - <style:font-decl style:name="Antique Olive" fo:font-family="'Antique Olive'" style:font-family-generic="swiss" style:font-pitch="variable"/> - <style:font-decl style:name="Arial Black" fo:font-family="'Arial Black'" style:font-family-generic="swiss" style:font-pitch="variable"/> - </office:font-decls> - <office:automatic-styles> - <style:style style:name="Table1" style:family="table"> - <style:properties style:width="16.999cm" table:align="margins"/> - </style:style> - <style:style style:name="Table1.A" style:family="table-column"> - <style:properties style:column-width="3.399cm" style:rel-column-width="13107*"/> - </style:style> - <style:style style:name="Table1.A1" style:family="table-cell"> - <style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="none" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"/> - </style:style> - <style:style style:name="Table1.E1" style:family="table-cell"> - <style:properties fo:padding="0.097cm" fo:border="0.002cm solid #000000"/> - </style:style> - <style:style style:name="Table1.A2" style:family="table-cell"> - <style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.002cm solid #000000"/> - </style:style> - <style:style style:name="Table1.E2" style:family="table-cell"> - <style:properties fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="none" fo:border-bottom="0.002cm solid #000000"/> - </style:style> - <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"> - <style:properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"/> - </style:style> - <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Table Contents"> - <style:properties style:font-name="Arial Black" fo:font-size="20pt"/> - </style:style> - </office:automatic-styles> - - - - - - <office:body> - <text:sequence-decls> - <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> - <text:sequence-decl text:display-outline-level="0" text:name="Table"/> - <text:sequence-decl text:display-outline-level="0" text:name="Text"/> - <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> - </text:sequence-decls> - - <xsl:apply-templates/> - </office:body> - </office:document-content> - -</xsl:template> - -<xsl:template match="body"> - <xsl:apply-templates /> -</xsl:template> - - - -<xsl:template match="p"> - <xsl:for-each select="."> - <text:p text:style-name="P1"> - <!--<xsl:value-of select="."/>--> - <xsl:apply-templates /> - </text:p> - </xsl:for-each> -</xsl:template> - -<xsl:template match="br"> - <xsl:if test="ancestor::p"> - <xsl:text disable-output-escaping="yes"></text:p> <text:p text:style-name="P1"></xsl:text> - </xsl:if> -</xsl:template> - -<xsl:template match="table"> - <xsl:for-each select="."> - <table:table table:name="Table1" table:style-name="Table1"> - <table:table-column table:style-name="Table1.A" table:number-columns-repeated="5"/> - <xsl:apply-templates/> - </table:table> - </xsl:for-each> -</xsl:template> - -<xsl:template match="tr"> - <xsl:for-each select="."> - <table:table-row> - <xsl:apply-templates/> - </table:table-row> - </xsl:for-each> -</xsl:template> - -<xsl:template match="td"> - <xsl:for-each select="."> - <table:table-cell table:style-name="Table1.A1" table:value-type="string"> - <text:p text:style-name="P1"> - <xsl:value-of select="."/> - </text:p> - </table:table-cell> - </xsl:for-each> -</xsl:template> - - - -</xsl:stylesheet> diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/makefile.mk b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/makefile.mk deleted file mode 100644 index 06e0d14909dc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/makefile.mk +++ /dev/null @@ -1,32 +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. -# -#*************************************************************************** - -TARGET=xmrg_jooxcx_xslt -PRJ=../../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/package.html b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/package.html deleted file mode 100644 index 0a689fb47cda..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/package.html +++ /dev/null @@ -1,65 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> -<!-- - - 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. - ---> -<HTML> -<HEAD> - <TITLE>org.openoffice.xmerge.converter.xml.xslt package - - -

    Provides the tools for doing the conversion of StarWriter XML to -and from supported formats, through the use of an XSLT -transformation.

    -

    It follows the {@link org.openoffice.xmerge} -framework for the conversion process.

    -

    This converter does not currently support merge.

    -

    XSLT -Transformation

    -

    The converter makes use -of one or more XSLT style sheets, which are used in the -DocumentSerializer and DocumentDeserializer, to perform the actual -translations. The location of these stylesheets is extracted from the {@link org.openoffice.xmerge.util.registry.ConverterInfo ConverterInfo} data structure, and are specified using the optional converter-xslt-serialize and converter-xsltdeserialize tags in a plugins converter.xml file. Please refer to the SDK document for more information about how to implement a Plugin Configuration XML File for a specific plugin. -A sample OpenOffice to Html stylesheet and Html to -Openffice stylesheet, has been provided as a sample implementation. -The converter also makes use of an XsltPlugin.properties file, which may be edited by the user to provide MIME-TYPE to file extension mappings. This file is used by the {@link org.openoffice.xmerge.converter.xml.xslt.PluginFactoryImpl getDeviceFileExtension} method. -

    - -

    TODO list

    - -

      -
    1. Expand XSLT style sheets to support more office/html - capabilities
    2. -
    3. Add support for certain character codes, such as &nbsp - which currently causes the transformer to break.
    4. -
    5. Change the DocumentDeserializer transformer, so that the DOMResult is serialized using the xalan serializer and create an SxwDocument from the result
    6. -

    - -@see org.openoffice.xmerge.util.registry - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/sofftohtml.xsl b/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/sofftohtml.xsl deleted file mode 100644 index 761a66a3f6e4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/converter/xml/xslt/sofftohtml.xsl +++ /dev/null @@ -1,28 +0,0 @@ - - - p.{ } p.{ font-weight :bold;font-style:italic; } td.{ font-weight :bold;font-style:italic; } font-weight :; font-style :; font-family :; font-size : ; text-decoration :underline; text-decoration:line-through; text-align :left text-align :center text-align :right
    <td class=" "> </td>
    <p class=" Table-Heading "> </p>
    diff --git a/xmerge/java/org/openoffice/xmerge/makefile.mk b/xmerge/java/org/openoffice/xmerge/makefile.mk deleted file mode 100644 index 79aa6109dce0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_joo_xmerge -PRJ=../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/merger/DiffAlgorithm.java b/xmerge/java/org/openoffice/xmerge/merger/DiffAlgorithm.java deleted file mode 100644 index 0d7cb7c75f28..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/DiffAlgorithm.java +++ /dev/null @@ -1,51 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger; - -/** - * This is the difference algorithm interface. It is an interface so - * that different algorithms may be plugged-in to actually compute - * the differences. - * - * NOTE: this code may not be thread safe. - */ -public interface DiffAlgorithm { - - /** - * Returns a Difference array. This method finds out - * the difference between two sequences. - * - * @param orgSeq The original sequence of object. - * @param modSeq The modified (or changed) sequence to - * compare against with the origial. - * - * @return A Difference array. - */ - public Difference[] computeDiffs(Iterator orgSeq, Iterator modSeq); -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/Difference.java b/xmerge/java/org/openoffice/xmerge/merger/Difference.java deleted file mode 100644 index 4b84c66edb90..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/Difference.java +++ /dev/null @@ -1,242 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger; - - -/** - * This is the Difference basic unit. Used by the - * DiffAlgorithm as a set of difference between two - * Iterators (the original and modified - * Iterators). - * - * @author smak - */ -public final class Difference { - - /** - * Add operation. - */ - public static final int ADD = 1; - - /** - * Delete operation. - */ - public static final int DELETE = 2; - - /** - * Change operation. - */ - public static final int CHANGE = 3; - - /** - * Unchange operation (i.e. no change). - */ - public static final int UNCHANGE = 4; - - /** - * The action of the diff - either {@link #ADD} or {@link #DELETE}. - */ - private int operation; - - /** - *

    The position of the content that should be operated on (original - * iterator).

    - * - *

    For ADD, the orgPosition is the position of the original sequence - * where the diff will insert (the element count is starting from 0, and - * always insert before the element). The modPosition is the position - * of the diff in the modified sequence (also starting from 0).

    - * - *
    -     *  example:
    -     *
    -     *   diff - <B D>and <A B C D E F>
    -     *   note: <B D>is original sequence and <A B C D E F>
    -     *   is the modified one.
    -     *
    -     *        and here is the position of those sequence:
    -     *        <B D> <A B C D E F>
    -     *         0 1   0 1 2 3 4 5
    -     *
    -     *   result:
    -     *   <diff orgPos=0 modPos=0 operation=ADD>  <-- element A
    -     *   <diff orgPos=1 modPos=2 operation=ADD>  <-- element C
    -     *   <diff orgPos=2 modPos=4 operation=ADD>  <-- element E
    -     *   <diff orgPos=2 modPos=5 operation=ADD>  <-- element F
    -     *
    -     *  
    - *

    One can notice the add operation is inserted before the position. - * Hence, in order to append an element, we will have a position of - * original sequence length + 1 to denote an append.

    - * - *

    For DELETE, orgPosition is the position that the element - * will be deleted (starting from 0) and modPosition is the position - * where the deleted element should be (consider as an ADD).

    - * - *

    The modPosition is less useful and it is difficult to understand - * how the position is calculated. One can just skip this piece of - * information. It is useful if one wants to reverse the role - * of original sequence and modified sequence and find out the diff - * easily (just change add to delete and delete to add for operation - * and swap the orgPosition and modPosition).

    - * - *
    -     *  example:
    -     *
    -     *  diff - <A B C D E F> and < B D>
    -     *  note: <A B C D E F> is original sequence and <B D>
    -     *  is the modified one.
    -     *
    -     *        and here is the position of those sequence:
    -     *        <A B C D E F> <B D>
    -     *         0 1 2 3 4 5   0 1
    -     *
    -     *  result:
    -     *  <diff orgPos=0 modPos=0 operation=DELETE>  <--  element A
    -     *  <diff orgPos=2 modPos=1 operation=DELETE>  <--  element C
    -     *  <diff orgPos=4 modPos=2 operation=DELETE>  <--  element E
    -     *  <diff orgPos=5 modPos=2 operation=DELETE>  <--  element F
    -     *  
    - */ - private int orgPosition; - - /** - * The position of the content that should be operated (modified iterator). - * For explanation and examples, see {@link #orgPosition}. - */ - private int modPosition; - - - /** - * Constructor. This is the standard way to create a - * Difference object. - * - * @param operation Either {@link #ADD} or {@link #DELETE}. - * @param orgPosition The position in the original (first) - * Iterator. - * @param modPosition The position in the modified (second) - * Iterator. - */ - public Difference(int operation, int orgPosition, - int modPosition) { - this.operation = operation; - this.orgPosition = orgPosition; - this.modPosition = modPosition; - } - - - /** - * Get the operation of the Difference. - * - * @return the operation of the Difference, - * either {@link #ADD} or {@link #DELETE} - */ - public int getOperation() { - return operation; - } - - /** - * Get the original Iterator position. - * - * @return The position in the original (first) Iterator - */ - public int getOrgPosition() { - return orgPosition; - } - - /** - * Get the modified Iterator position. - * - * @return The position in the modified (second) Iterator - */ - public int getModPosition() { - return modPosition; - } - - - /** - * Two Difference objects will equal if and only if - * all operation, orgPosition, modPosition and content are equal. - * - * @param obj Object to compare. - * - * @return true if equal, false otherwise. - */ - public boolean equals(Object obj) { - if (obj instanceof Difference) { - Difference diff = (Difference) obj; - if ((operation == diff.operation) && - (orgPosition == diff.orgPosition) && - (modPosition == diff.modPosition)) { - return true; - } - } - - return false; - } - - /** - * Display debug information. - * - * @return Debug string. - */ - public String debug() { - - String opStr = ""; - - switch (operation) { - case ADD: - opStr = "add"; - break; - case DELETE: - opStr = "del"; - break; - case CHANGE: - opStr = "chg"; - break; - case UNCHANGE: - opStr = "uch"; - break; - default: - break; - } - return ""; - } - - /** - * Returns position and operation values as a single string. - * - * @return orgPosition, modPosition and operation as a single string. - */ - public String toString() { - - return orgPosition + " " + modPosition + " " + operation; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/Iterator.java b/xmerge/java/org/openoffice/xmerge/merger/Iterator.java deleted file mode 100644 index ccd8dca77e12..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/Iterator.java +++ /dev/null @@ -1,123 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger; - -/** - * This is an interface used by the {@link - * org.openoffice.xmerge.merger.DiffAlgorithm - * DiffAlgorithm} and {@link - * org.openoffice.xmerge.merger.MergeAlgorithm - * MergeAlgorithm} to access a Document. - * - * @author smak - */ -public interface Iterator { - - - /** - * Move to next element in the sequence. - * - * @return The Object of the next element in the sequence. - * If there is no next element, then return null. - */ - public Object next(); - - - /** - * Move to previous element in the sequence. - * - * @return The Object of the previous element in the sequence. - * If there is no previous element, then return null. - */ - public Object previous(); - - - /** - * Move to the beginning of the sequence. - * - * @return The Object of the first element in the sequence. - * If it is empty, then return null. - */ - public Object start(); - - - /** - * Move to the end of the sequence. - * - * @return The Object of the last element in the sequence. - * If it is empty, then return null. - */ - public Object end(); - - - /** - * Return the current element Object content. - * - * @return The Object at current position. - */ - public Object currentElement(); - - - /** - * Return the total element count in the sequence. - * - * @return The total element count. - */ - public int elementCount(); - - - /** - * A method to allow the difference algorithm to test whether the - * obj1 and obj2 in the - * Iterator are considered equal. As not every - * Object in the Iterator can implement its - * own equal method, with this equivalent method, we can allow - * flexibility for the Iterator to choose a custom way - * to compare two objects. Two objects can even be compared based on - * the position in the Iterator rather than by - * the content via this option. - * - * @param obj1 The first Object. - * @param obj2 The second Object. - * - * @return true if equal, false otherwise. - */ - public boolean equivalent(Object obj1, Object obj2); - - - /** - *

    A method to force the Iterator to transverse the tree - * again to refresh the content.

    - * - *

    It is used mainly for Iterator objects which take a snap - * shot instead of dynamically transversing the tree. The current - * position will be set to the beginning.

    - */ - public void refresh(); -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/MergeAlgorithm.java b/xmerge/java/org/openoffice/xmerge/merger/MergeAlgorithm.java deleted file mode 100644 index 3ee7ba7ad6c1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/MergeAlgorithm.java +++ /dev/null @@ -1,61 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger; - -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.Difference; - -/** - * This is the MergeAlgorithm interface. It is an - * interface so that different merge algorithms may be plugged-in - * to actually merge the diffs back to an original document. - * - * @author smak - */ -public interface MergeAlgorithm { - - /** - * This method is to merge the difference to an Iterator. - * The original Iterator will be modified after the call. - * - * @param objSeq The original sequence which the difference - * will be applied. It will be modified. - * @param modSeq The modified sequence where the difference - * content will be extracted. - * @param differences The Difference array. - * - * @return An Iterator which is the modified original - * Iterator Sequence. Same as the first parameter. - * - * @throws MergeException If an error occurs during the merge. - */ - public void applyDifference(Iterator orgSeq, Iterator modSeq, - Difference[] differences) throws MergeException; -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/NodeMergeAlgorithm.java b/xmerge/java/org/openoffice/xmerge/merger/NodeMergeAlgorithm.java deleted file mode 100644 index 1511d9827081..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/NodeMergeAlgorithm.java +++ /dev/null @@ -1,55 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger; - -import org.w3c.dom.Node; - -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.Difference; - -/** - * This is an interface for a {@link - * org.openoffice.xmerge.merger.MergeAlgorithm - * MergeAlgorithm} to merge two Node objects. It is an - * interface so that different merge algorithms may be plugged-in. - * - * @author smak - */ -public interface NodeMergeAlgorithm { - - /** - * This method is used to merge two given Node - * objects. Note: the original Node may be modified. - * - * @param originalNode The original Node. - * @param modifyNode The Node to be merged. It may - * be modified. - */ - public void merge(Node orginialNode, Node modifyNode); -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/build.xml b/xmerge/java/org/openoffice/xmerge/merger/build.xml deleted file mode 100644 index cb5131faecb4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/build.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/CellNodeIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/CellNodeIterator.java deleted file mode 100644 index 62431df5da3b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/CellNodeIterator.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.Resources; - - -/** - *

    This is an implementations of the Iterator interface. - * It will traverse the tree and find cell Node sequences.

    - * - *

    Note: Once the XML Tree is parsed, then the Iterator - * will be a snap shot of that tree. That means even the tree is - * modified later, than the cached paragraph Node list will - * not be updated accordingly. For this reason and for performance reasons - * this Iterator does not support any operation methods such - * as insert, remove or replace. The main purpose of this - * Iterator is to be used with difference, not with merge.

    - * - * @author smak - */ -public final class CellNodeIterator extends NodeIterator { - - private Resources res = Resources.getInstance(); - - // can be expanded to an array in the future, not necessary right now - private static final String SUPPORTED_TAG1 = OfficeConstants.TAG_TABLE_CELL; - - /** - * The standard constructor. - * - * @param cc The ConverterCapabilities. - * @param node The initial root Node. - */ - public CellNodeIterator(ConverterCapabilities cc, Node node) { - super(cc, node); - } - - - /** - * Overwrite the parent nodeSupported method. Only cell - * Node objects are supported. - * - * @param node The Node to check. - * - * @return true if the Node is supported, false otherwise. - */ - protected boolean nodeSupported(Node node) { - - // can use an array later to check all possible tags for - // future expansion - if (node.getNodeType() == Node.ELEMENT_NODE && - node.getNodeName().equals(SUPPORTED_TAG1)) { - return true; - } else { - return false; - } - } - - - protected boolean childrenEqual(Node node1, Node node2) { - - boolean equal = false; - - if (node1.hasChildNodes() && node2.hasChildNodes()) { - Element cell1 = (Element)node1; - Element cell2 = (Element)node2; - - // only need compare the first children node, don't want - // to compare any non-supported features - // TODO: need to confirm whether all the text string is the - // first , though I checked with the openoffice 619 build - Node paraNode1 = cell1.getElementsByTagName( - OfficeConstants.TAG_PARAGRAPH).item(0); - Node paraNode2 = cell2.getElementsByTagName( - OfficeConstants.TAG_PARAGRAPH).item(0); - - equal = super.compareNode(paraNode1, paraNode2); - } - - return equal; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/CharArrayLCSAlgorithm.java b/xmerge/java/org/openoffice/xmerge/merger/diff/CharArrayLCSAlgorithm.java deleted file mode 100644 index b54f0ee8a8da..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/CharArrayLCSAlgorithm.java +++ /dev/null @@ -1,235 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import java.util.Vector; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; - -/** - *

    This is an implementations of DiffAlgorithm interface - * which will difference char arrays.

    - * - *

    It also use Longest Common Subsequence (LCS). The algorithm is based - * on the book "Introduction to Algorithms" by Thomas H.Cormen, - * Charles E.Leiserson, and Ronald L.Riverst (MIT Press 1990) page 314.

    - * - * @author smak - */ -public class CharArrayLCSAlgorithm { - - /** - * Return an Difference array. This method finds out - * the difference between two sequences. - * - * @param orgSeq The original sequence. - * @param modSeq The modified (or changed) sequence to - * compare against the origial. - * - * @return A Difference array. - */ - public Difference[] computeDiffs(char[] orgSeq, char[] modSeq) { - - int orgSeqlen = orgSeq.length; - int modSeqlen = modSeq.length; - - int[][] diffTable; - - // Diff table is used to keep track which element is the same or not - // in those 2 sequences - diffTable = createDiffTable(orgSeq, modSeq); - - // debug purpose... - // printDiffTable(diffTable); - - Vector diffResult = new Vector(); - - generateResult(diffTable, orgSeqlen, modSeqlen, diffResult); - - // don't need anymore if Difference do not contain content information - /* fillInDiffContent(diffResult, orgSeq, modSeq); */ - - Difference[] diffArray = new Difference[0]; - - // convert the vector to array, it has to do in here as - // generateResult is called recursively - if (diffResult.size() > 0) { - diffArray = new Difference[diffResult.size()]; - diffResult.copyInto(diffArray); - } - - diffTable = null; - diffResult = null; - - return diffArray; - } - - - /** - * Debug function Used to print out the nicely formatted - * difference table. - * - * @param diffTable The difference table to display. - */ - private void printDiffTable(int[][] diffTable) { - - for (int i = 0; i < diffTable.length; i++) { - for (int j = 0; j < diffTable[i].length; j++) { - System.out.print(" " + diffTable[i][j] + " "); - } - System.out.println(); - } - } - - - /** - * Create the difference table. - * The difference table is used internal to keep track what - * elements are common or different in the two sequences. - * - * @param orgSeq The original sequence to be used as a base. - * @param modSeq The modified sequence to compare. - * - * @return A difference table as a two-dimensional array of - * integers. - */ - private int[][] createDiffTable(char[] orgSeq, char[] modSeq) { - int orgSeqlen = orgSeq.length + 1; - int modSeqlen = modSeq.length + 1; - int[][] diffTable; - - // initialize the diffTable (it need to be 1 row/col bigger - // than the original str) - diffTable = new int[orgSeqlen][]; - for (int i = 0; i < orgSeqlen; i++) { - diffTable[i] = new int[modSeqlen]; - } - - // compute the diff Table using LCS algorithm, refer to the book - // mentioned at the top of the program - for (int i = 1; i < orgSeqlen; i++) { - for (int j = 1; j < modSeqlen; j++) { - - if (orgSeq[i-1] == modSeq[j-1]) { - diffTable[i][j] = diffTable[i-1][j-1]+1; - } else { - if (diffTable[i-1][j] >= diffTable[i][j-1]) { - diffTable[i][j] = diffTable[i-1][j]; - } else { - diffTable[i][j] = diffTable[i][j-1]; - } - } - } - } - - return diffTable; - } - - - /** - * Generate the Difference result vector. - * This method will be called recursively to backtrack the difference - * table to get the difference result (and also the LCS). - * - * @param diffTable The difference table containing the - * Difference result. - * @param i The nth element in original sequence to - * compare. This method is called recursively - * with i and j decreased until 0. - * @param j The nth element in modified sequence to - * compare. - * @param diffVector A vector to output the Difference - * result. Can not use a return variable as it - * is a recursive method. The vector will contain - * Difference objects with operation - * and positions filled in. - */ - private void generateResult(int[][] diffTable, - int i, int j, Vector diffVector) { - - // handle the first element - if (i == 0 || j == 0) { - if (i == 0 && j == 0) { - // return - } else if (j == 0) { - for (int cnt = 0; cnt < i; cnt++) { - Difference diff = - new Difference(Difference.DELETE, cnt, j); - diffVector.add(diff); - } - } else { - for (int cnt = 0; cnt < j; cnt++) { - Difference diff = - new Difference(Difference.ADD, i, cnt); - diffVector.add(diff); - } - } - return; - } - - // for the detail of this algorithm, refer to the book mentioned on - // the top and page 317 and 318. - if ((diffTable[i-1][j-1] == diffTable[i][j] -1) && - (diffTable[i-1][j-1] == diffTable[i-1][j]) && - (diffTable[i-1][j-1] == diffTable[i][j-1])) { - - // the element of ith and jth in org and mod sequence is the same - generateResult(diffTable, i-1, j-1, diffVector); - } else { - if (diffTable[i-1][j] > diffTable[i][j-1]) { - - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i-1, j, diffVector); - - Difference diff = - new Difference(Difference.DELETE, i-1, j); - diffVector.add(diff); - } else if (diffTable[i-1][j] < diffTable[i][j-1]) { - - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i, j-1, diffVector); - - Difference diff = - new Difference(Difference.ADD, i, j-1); - diffVector.add(diff); - } else { // diffTable[i-1][j] == diffTable[i][j-1] - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i-1, j-1, diffVector); - - Difference diff = - new Difference(Difference.CHANGE, i-1, j-1); - diffVector.add(diff); - - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/CharacterParser.java b/xmerge/java/org/openoffice/xmerge/merger/diff/CharacterParser.java deleted file mode 100644 index ad7c3990f263..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/CharacterParser.java +++ /dev/null @@ -1,143 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -import java.util.Vector; -import java.util.List; - - -/** - *

    This is a parser to return a character array for difference purpose. - * It will use depth first search to traverse all the characters inside the - * text Node under a given Node (most likely to be - * a paragraph Node).

    - * - *

    Note: Once the XML Tree is parsed, then the Iterator will be - * a snap shot of that tree. That means even the tree is modified later, than - * the cached paragraph Node list will not be updated accordingly. - * For this reason and for performance reasons this Iterator does - * not support any operation methods such as insert, remove or replace. The - * main purpose of this Iterator is to be used with difference, - * not with merge.

    - * - * @author smak - */ -public class CharacterParser { - - private TextNodeIterator textNodes; - private int currentPosition = 0; - private List nodeList_ = null; - private char[] charArray; - - - /** - * Standard constructor. - * - * @param node The initial root Node. - */ - public CharacterParser(Node node) { - textNodes = new TextNodeIterator(node); - nodeList_ = new Vector(); - - parseNodes(); - } - - - /** - * Returns the Node pointer with the given character position. - * - * @return The Node pointer with the given character position. - */ - public List getNodeList() { - // will go through the nodeList to find the corresponding node - return nodeList_; - } - - /** - * Returns the character array representation of the text. - * - * @return The character array representation of the text. - */ - public char[] getCharArray() { - return charArray; - } - - private void parseNodes() { - - StringBuffer strBuf = new StringBuffer(); - - /* create the character array by iterate the textnode iterator */ - Node currentNode = (Node)(textNodes.start()); - for (; - currentNode != null; - currentNode = (Node)(textNodes.next())) { - - // add the text value into the array - String textValue = null; - String nodeName = currentNode.getNodeName(); - - // TODO: Space node have a count attribute which is not handled! - if (currentNode.getNodeType() == Node.TEXT_NODE) { - textValue = currentNode.getNodeValue(); - } else if (nodeName.equals(OfficeConstants.TAG_SPACE)) { - textValue = " "; - } else if (nodeName.equals(OfficeConstants.TAG_TAB_STOP)) { - textValue = "\t"; - } - - if (textValue != null) { - strBuf.append(textValue); - addNewNodeEntry(textValue.length(), currentNode); - } - } - - charArray = strBuf.toString().toCharArray(); - } - - - /** - * Adds a new Node entry. - * - * @param textLen The text length. - * @param node The Node. - */ - private void addNewNodeEntry(int textLen, Node node) { - - TextNodeEntry nodeEntry = new TextNodeEntry(currentPosition, - currentPosition + textLen - 1, node); - currentPosition = currentPosition + textLen; - - nodeList_.add(nodeEntry); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorLCSAlgorithm.java b/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorLCSAlgorithm.java deleted file mode 100644 index 7cc7c60b0439..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorLCSAlgorithm.java +++ /dev/null @@ -1,236 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import java.util.Vector; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.util.Debug; - -/** - * This is one of the implementations of DiffAlgorithm interface. - * Using Longest Common Subsequence (LCS). The algorithm here is based - * on the book "Introduction to Algorithms" by Thomas H.Cormen, - * Charles E.Leiserson and Ronald L.Riverst (MIT Press 1990) page 314. - * - * @author smak - */ -public class IteratorLCSAlgorithm implements DiffAlgorithm { - - public Difference[] computeDiffs(Iterator orgSeq, Iterator modSeq) { - - int orgSeqlen = orgSeq.elementCount(); - int modSeqlen = modSeq.elementCount(); - - int[][] diffTable; - - // Diff table is used to keep track which element is the same or not - // in those 2 sequences - diffTable = createDiffTable(orgSeq, modSeq); - - // debug purpose... - if (Debug.isFlagSet(Debug.INFO)) { - printDiffTable(diffTable); - } - - Vector diffResult = new Vector(); - - generateResult(diffTable, orgSeqlen, modSeqlen, diffResult); - - Difference[] diffArray = new Difference[0]; - - // convert the vector to array, it has to do in here as - // generateResult is called recursively - if (diffResult.size() > 0) { - diffArray = new Difference[diffResult.size()]; - diffResult.copyInto(diffArray); - } - - diffTable = null; - diffResult = null; - - return diffArray; - } - - - /** - * Debug function used to print out the nicely formatted - * difference table. - * - * @param diffTable The difference table to display. - */ - private void printDiffTable(int[][] diffTable) { - - String tmpString = ""; - - for (int i = 0; i < diffTable.length; i++) { - for (int j = 0; j < diffTable[i].length; j++) { - tmpString = tmpString + " " + diffTable[i][j] + " "; - } - Debug.log(Debug.INFO, tmpString); - tmpString = ""; - } - } - - /** - * Create the difference table. - * The difference table is used internal to keep track what - * elements are common or different in the two sequences. - * - * @param orgSeq The original sequence to be used as a base. - * @param modSeq The modified sequence to compare. - * - * @return A difference table as a two-dimensional array of - * integers. - */ - private int[][] createDiffTable(Iterator orgSeq, Iterator modSeq) { - int orgSeqlen = orgSeq.elementCount() + 1; - int modSeqlen = modSeq.elementCount() + 1; - int[][] diffTable; - - // initialize the diffTable - diffTable = new int[orgSeqlen][]; - for (int i = 0; i < orgSeqlen; i++) { - diffTable[i] = new int[modSeqlen]; - } - - // compute the diff Table using LCS algorithm, refer to the book - // mentioned at the top of the program - - int i, j; - - Object orgSeqObject, modSeqObject; - - for (orgSeqObject = orgSeq.start(), i = 1; - orgSeqObject != null; - orgSeqObject = orgSeq.next(), i++) { - - for (modSeqObject = modSeq.start(), j = 1; - modSeqObject != null; - modSeqObject = modSeq.next(), j++) { - - if (orgSeq.equivalent(orgSeqObject, modSeqObject)) { - diffTable[i][j] = diffTable[i-1][j-1]+1; - } else { - if (diffTable[i-1][j] >= diffTable[i][j-1]) { - diffTable[i][j] = diffTable[i-1][j]; - } else { - diffTable[i][j] = diffTable[i][j-1]; - } - } - } - } - - return diffTable; - } - - - /** - * Generate the Difference object result vector. - * This method will be called recursively to backtrack the difference - * table to get the difference result (and also the LCS). - * - * @param diffTable The difference table containing the - * Difference result. - * @param i The nth element in original sequence to - * compare. This method is called recursively - * with i and j decreased until 0. - * @param j The nth element in modified sequence to - * compare. - * @param diffVector A vector to output the Difference - * result. Can not use a return variable as it - * is a recursive method. The vector will contain - * Difference objects with operation - * and positions fill in. - */ - private void generateResult(int[][] diffTable, - int i, int j, Vector diffVector) { - - // handle the first element - if (i == 0 && j == 0) { - return; - - } else if (j == 0) { - for (int cnt = 0; cnt < i; cnt++) { - Difference diff = - new Difference(Difference.DELETE, cnt, j); - diffVector.add(diff); - } - return; - - } else if (i == 0) { - for (int cnt = 0; cnt < j; cnt++) { - Difference diff = - new Difference(Difference.ADD, i, cnt); - diffVector.add(diff); - } - return; - } - - // for the detail of this algorithm, refer to the book mentioned on - // the top and page 317 and 318. - if ((diffTable[i-1][j-1] == diffTable[i][j] -1) && - (diffTable[i-1][j-1] == diffTable[i-1][j]) && - (diffTable[i-1][j-1] == diffTable[i][j-1])) { - - // the element of ith and jth in org and mod sequence is the same - generateResult(diffTable, i-1, j-1, diffVector); - } else { - if (diffTable[i-1][j] > diffTable[i][j-1]) { - - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i-1, j, diffVector); - - Difference diff = - new Difference(Difference.DELETE, i-1, j); - diffVector.add(diff); - } else if (diffTable[i-1][j] < diffTable[i][j-1]) { - - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i, j-1, diffVector); - - Difference diff = - new Difference(Difference.ADD, i, j-1); - diffVector.add(diff); - } else { // diffTable[i-1][j] == diffTable[i][j-1] - // recursively call first, then add the result so that - // the beginning of the diffs will be stored first - generateResult(diffTable, i-1, j-1, diffVector); - - Difference diff = - new Difference(Difference.CHANGE, i-1, j-1); - diffVector.add(diff); - - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorRowCompare.java b/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorRowCompare.java deleted file mode 100644 index aff0e44d5325..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/IteratorRowCompare.java +++ /dev/null @@ -1,243 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import java.util.Vector; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -/** - *

    A very simple and direct difference algorithm for row - * Node objects in a spreadsheet. Basically, it will - * compare objects in sequence and does not look ahead (unlike LCS).

    - * - *

    1. - * If two objects are the same, skip to next one. - *
    2. - * Otherwise check whether the row repeated attribute is the same. - *
    3. - * If the row repeated attribute is the same, then compare two rows - * and mark it as change if those rows are different. - *
    4. - * If the row repeated attribute is different, then split the rows and - * continue to compare. - *
    5. - * If there are more objects in the modseq than the original sequence, - * then all of the extra ones in the modified sequence are marked as add. - *
    6. - * If there are more objects in the original sequence than the modified - * sequence, then all the extra one in the modified sequence are marked - * as delete. - *

    - * - *

    NOTE: The algorithm will have potential side effect to split rows.

    - * - * @author smak - */ - -public class IteratorRowCompare implements DiffAlgorithm { - - /** - * Compute the differences of the given two sequences. - * Refer to the class description. - * - * Return an array of Difference objects. This method finds - * out the difference between two sequences. - * - * @param orgSeq The original sequence. - * @param modSeq The modified (or changed) sequence to - * compare against with the origial. - * - * @return An array of Difference objects. - */ - public Difference[] computeDiffs(Iterator orgSeq, Iterator modSeq) { - - int orgSeqlen = orgSeq.elementCount(); - int modSeqlen = modSeq.elementCount(); - - Vector diffVector = new Vector(); - - // i and j are counters to keep track the current position in the - // iterator - int i = 0; - int j = 0; - Object orgSeqObject = orgSeq.start(); - Object modSeqObject = modSeq.start(); - Element orgRow, modRow; - boolean different = false; - boolean orgSplited = false; - boolean modSplited = false; - - while (orgSeqObject != null) { - - different = true; - - if (modSeqObject == null) { - // no more modsequence, all the remaining org sequence objs - // should consider as a delete. - Difference diff = new Difference(Difference.DELETE, i, j); - diffVector.add(diff); - orgSeqObject = orgSeq.next(); - - } else { - if (!orgSeq.equivalent(orgSeqObject, modSeqObject)) { - - orgRow = (Element)orgSeqObject; - modRow = (Element)modSeqObject; - - // check whether the original Row with multiple row - // if so, need to split one out for merge - String orgRowRepeated = orgRow.getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - String modRowRepeated = modRow.getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - - - int orgRowNum = 1; - int modRowNum = 1; - - if (orgRowRepeated.length() > 0) { - orgRowNum = - Integer.valueOf(orgRowRepeated).intValue(); - } - if (modRowRepeated.length() > 0) { - modRowNum = - Integer.valueOf(modRowRepeated).intValue(); - } - - // try to find out the common number of repeated Rows - if (orgRowNum == modRowNum) { - orgSeqObject = orgSeq.next(); - modSeqObject = modSeq.next(); - - // cut the original row into two halves, first half - // have the repeated attribute = modify row attr - } else if (orgRowNum > modRowNum) { - Element orgSplitRow = splitRepeatedRow( - orgRow, modRowNum, - orgRowNum - modRowNum); - // it may equal after the split! - if (orgSeq.equivalent(orgSplitRow, modRow)) { - different = false; - } - orgSplited = true; - modSeqObject = modSeq.next(); - - // cut the modified Row into two halves, first half - // have the repeated attribute = original Row attr - } else { - Element modSplitRow = splitRepeatedRow( - modRow, orgRowNum, - modRowNum - orgRowNum); - - // check whether rows are equal after the split - if (modSeq.equivalent(orgRow, modSplitRow)) { - different = false; - } - modSplited = true; - orgSeqObject = orgSeq.next(); - } - - if (different) { - Difference diff = new Difference(Difference.CHANGE, - i, j); - diffVector.add(diff); - } - - } else { - // Rows are equivalent, move on to next one. - orgSeqObject = orgSeq.next(); - modSeqObject = modSeq.next(); - } // end if-else - j++; - } // end if-else - i++; - } // end while loop - - // any extra objects in modify sequence should consider as an add - // to the original sequence - for (; modSeqObject != null; modSeqObject = modSeq.next(), j++) { - Difference diff = new Difference(Difference.ADD, i, j); - diffVector.add(diff); - } - - // need to refresh the iterator if we split the rows - if (orgSplited) { - orgSeq.refresh(); - } - - if (modSplited) { - modSeq.refresh(); - } - - - // convert the vector to array - Difference[] diffArray = new Difference[diffVector.size()]; - diffVector.copyInto(diffArray); - - return diffArray; - } - - - private Element splitRepeatedRow(Element orgRow, int splitNum, int orgNum) { - // NOTE: should we really want to do deep clone? - // in most the case, it is an empty Row, but the - // specification didn't forbid any node to use multiple - // column attributes. i.e. the node can contain text - // nodes or other things under it. - Element splitRow = (Element)(orgRow.cloneNode(true)); - - if (splitNum > 1) { - splitRow.setAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED, - String.valueOf(splitNum)); - } else if (splitNum == 1) { - splitRow.removeAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - } - if (orgNum > 1) { - orgRow.setAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED, - String.valueOf(orgNum)); - } else if (orgNum == 1) { - orgRow.removeAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_ROWS_REPEATED); - } - - Node parentNode = orgRow.getParentNode(); - parentNode.insertBefore(splitRow, orgRow); - - return splitRow; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/NodeIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/NodeIterator.java deleted file mode 100644 index 3799539e5c6d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/NodeIterator.java +++ /dev/null @@ -1,386 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.Resources; - -import java.util.Vector; -import java.util.List; - - -/** - *

    This is an implementation of the Iterator interface. - * It will traverse the tree and find Node sequences.

    - * - *

    Note: Once the XML Tree is parsed, then the Iterator will - * be a snap shot of that tree. That means even the tree is modified later, - * than the cached paragraph Node list will not be updated - * accordingly. For this reason and for performance reasons this - * Iterator does not support any operation methods such as - * insert, remove or replace. The main purpose of this - * Iterator is to be used with difference, not with merge.

    - * - * @author smak - */ -public abstract class NodeIterator implements Iterator { - - private List nodeList = null; - private int currentPosition = 0; - private Node root; - private ConverterCapabilities cc_ = null; - - - /** - * Standard constructor. - * - * @param cc The ConverterCapabilities. - * @param node The initial root Node. - */ - public NodeIterator(ConverterCapabilities cc, Node node) { - cc_ = cc; - nodeList = new Vector(); - root = node; - markTree(node); - } - - - public Object next() { - if (currentPosition < nodeList.size() - 1) { - currentPosition++; - return currentElement(); - } else { - return null; - } - } - - - public Object previous() { - if (currentPosition > 0) { - currentPosition--; - return currentElement(); - } else { - return null; - } - } - - - public Object start() { - currentPosition = 0; - return currentElement(); - } - - - public Object end() { - int size = nodeList.size(); - - if (size > 0) { - currentPosition = size - 1; - return currentElement(); - } else { - return null; - } - } - - - public Object currentElement() { - - if (currentPosition < 0 || currentPosition >= nodeList.size()) { - return null; - } - - return nodeList.get(currentPosition); - } - - - public int elementCount() { - return nodeList.size(); - } - - - public boolean equivalent(Object obj1, Object obj2) { - boolean equal = false; - String errMsg = null; - if (!(obj1 instanceof Node && obj2 instanceof Node)) { - errMsg = Resources.getInstance().getString("NOT_NODE_ERROR"); - Debug.log(Debug.ERROR, errMsg); - } else { - Node node1 = (Node)obj1; - Node node2 = (Node)obj2; - - equal = compareNode(node1, node2); - } - return equal; - } - - - public void refresh() { - nodeList = new Vector(); - markTree(root); - currentPosition = 0; - } - - - /** - * Used to compare two Node objects (type/name/value) - * and all their children Node objects. - * - * @param node1 The first Node to compare. - * @param node2 The second Node to compare. - * - * @return true if Node is equal, false otherwise. - */ - protected boolean compareNode(Node node1, Node node2) { - boolean equal = false; - - nodeCheck: { - - if (node1 == null || node2 == null) { - break nodeCheck; - } - - // nodevalue is short - if (node1.getNodeType() != node2.getNodeType()) { - break nodeCheck; - } - - // nodeName will not be null - if (!node1.getNodeName().equals(node2.getNodeName())) { - break nodeCheck; - } - - // nodeValue can be null for a lot of type of cells - if (node1.getNodeValue() == null && node2.getNodeValue() == null) { - // empty - } else if (node1.getNodeValue() == null || - node2.getNodeValue() == null) { - break nodeCheck; - } else if (!node1.getNodeValue().equals(node2.getNodeValue())) { - break nodeCheck; - } - - // try to compare attributes - if (!attributesEqual(node1, node2)) { - break nodeCheck; - } - - // don't need to compare if both node do not have children - if (!node1.hasChildNodes() && !node2.hasChildNodes()) { - equal = true; - break nodeCheck; - // don't need to compare if one node has children but not the other - } else if (!node1.hasChildNodes() || !node2.hasChildNodes()) { - equal = false; - break nodeCheck; - // need to compare if both node has children - } else if (!childrenEqual(node1, node2)) { - break nodeCheck; - } - - equal = true; - } - - return equal; - } - - - /** - * Compare the children of two Node objects. This - * method can be intentionally overridden by any class that - * extend from NodeIterator so that it can have - * its own children comparison if necessary. - * - * @param node1 The first Node to compare. - * @param node2 The second Node to compare. - * - * @return true if children are equal, false otherwise. - */ - protected boolean childrenEqual(Node node1, Node node2) { - - boolean equal = false; - - childrenCheck: { - NodeList node1Children = node1.getChildNodes(); - NodeList node2Children = node2.getChildNodes(); - - if (node1Children == null || node2Children == null) { - break childrenCheck; - } - - if (node1Children.getLength() != node2Children.getLength()) { - break childrenCheck; - } - - // compare all the childrens - equal = true; - - for (int i = 0; i < node1Children.getLength(); i++) { - if (!compareNode(node1Children.item(i), - node2Children.item(i))) { - equal = false; - break childrenCheck; - } - } - } - - return equal; - } - - - /** - * Compare attributes of two Node objects. This - * method can be intentionally overridden by any class that - * extends from NodeIterator so that it can have - * its own attribute comparison. - * - * @param node1 The first Node to compare. - * @param node2 The second Node to compare. - * - * @return true if attributes are equal, false otherwise. - */ - protected boolean attributesEqual(Node node1, Node node2) { - - boolean equal = false; - String nodeName = node1.getNodeName(); - NamedNodeMap attrNode[] = new NamedNodeMap[2]; - attrNode[0] = node1.getAttributes(); - attrNode[1] = node2.getAttributes(); - - // attribute node will be null if node is not an element node - // and attribute nodes are equal if both are not element node - if (attrNode[0] == null || attrNode[1] == null) { - if (attrNode[0] == null && attrNode[1] == null) { - equal = true; - } - return equal; - } - - // compare the attributes from node1 vs node2 and node2 vs node1 - // though it's a little inefficient for the duplication of comparison - // as the number of attributes is not so many, it should not be - // a big problem. - int len [] = new int[2]; - int src, dst; - - attrCheck: { - for (int i = 0; i < 2; i++) { - - if (i == 0) { - src = 0; - dst = 1; - } else { - src = 1; - dst = 0; - } - - len[src] = attrNode[src].getLength(); - - for (int j = 0; j < len[src]; j++) { - Node srcAttr = attrNode[src].item(j); - String srcAttrName = srcAttr.getNodeName(); - - // copy the supported attrs - if (cc_ == null || - cc_.canConvertAttribute(nodeName, srcAttrName)) { - - // check whether the attribute exist in dst node - Node dstAttr = attrNode[dst].getNamedItem(srcAttrName); - - if (dstAttr == null) { - Debug.log(Debug.INFO, - "[NodeIterator] Attr not exist in dst - " - + srcAttrName); - break attrCheck; - } - - // then compare the attribute values - if (!srcAttr.getNodeValue().equals( - dstAttr.getNodeValue())) { - Debug.log(Debug.INFO, - "[NodeIterator] Attr diff src: " + - srcAttr.getNodeValue() + " dst: "+ - dstAttr.getNodeValue()); - break attrCheck; - } - } // end if cc_ loop - } // end for j loop - } // end for i loop - - // the whole checking is done smoothly and all attributes are equal - equal = true; - } - - return equal; - } - - - /** - * Check whether a Node is supported. This method - * can be intentionally overridden by any class that extends from - * NodeIterator so that it can specify which - * Node to support. - * - * @param node Node to check. - * - * @return true if Node is supported, false otherwise. - */ - protected abstract boolean nodeSupported(Node node); - - // doing a depth first search for the tree and mark all supported nodes - private void markTree(Node node) { - - // if this is a supported node, then we add it to our cache table - if (nodeSupported(node)) { - nodeList.add(node); - } else { - // or we go through all children nodes recursively - // (can be optimized in future) - String nodeName = node.getNodeName(); - if ( cc_ == null || cc_.canConvertTag(nodeName)) { - NodeList nodeList = node.getChildNodes(); - int nodeListLength = nodeList.getLength(); - for (int i = 0; i < nodeListLength; i++) { - markTree(nodeList.item(i)); - } - } - else { - Debug.log(Debug.INFO, " [NodeIterator::markTree] Skipping node " - + nodeName); - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/ObjectArrayIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/ObjectArrayIterator.java deleted file mode 100644 index e69a3714871a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/ObjectArrayIterator.java +++ /dev/null @@ -1,210 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.openoffice.xmerge.merger.Iterator; - -/** - *

    This is an implementation of the Iterator interface. - * It is based upon a simple Object array.

    - * - *

    Note: this class is not thread safe for performance reasons.

    - * - * @author smak - */ -public final class ObjectArrayIterator implements Iterator { - - - /** - * The Object array. - */ - private Object [] objArray; - private int currentPosition; - - - /** - * Private default constructor. - */ - private ObjectArrayIterator() { - // do not allow user new a ObjectArrayIterator without argument - } - - - /** - * Standard constructor. - * - * @param objArray The Object array. - */ - public ObjectArrayIterator(Object [] objArray) { - if (objArray != null) { - this.objArray = new Object[objArray.length]; - System.arraycopy(objArray, 0, this.objArray, 0, objArray.length); - currentPosition = 0; - } else { - this.objArray = new Object[0]; - } - } - - - public Object next() { - if (currentPosition < objArray.length - 1) { - currentPosition++; - return currentElement(); - } else { - return null; - } - - } - - - public Object previous() { - if (currentPosition > 0) { - currentPosition--; - return currentElement(); - } else { - return null; - } - } - - - public Object start() { - currentPosition = 0; - return currentElement(); - } - - - public Object end() { - if (objArray.length > 0) { - currentPosition = objArray.length - 1; - } - return currentElement(); - } - - - public Object currentElement() { - if (objArray.length > 0) { - return objArray[currentPosition]; - } else { - return null; - } - } - - - /** - * Replace current Object. - * - * @param object Object to replace. - */ - public void replace(Object object) { - objArray[currentPosition] = object; - } - - - /** - * Insert Object after current Object. - * - * @param object Object to insert. - */ - public void insert(Object object) { - Object [] objArray2 = new Object[objArray.length+1]; - - // copy the array content up before the currentposition - if (currentPosition > 0) { - System.arraycopy(objArray, 0, objArray2, 0, currentPosition); - } - - objArray2[currentPosition] = object; - - // copy the array content up after the currentposition - System.arraycopy(objArray, currentPosition, objArray2, - currentPosition + 1, objArray.length - currentPosition); - - objArray = objArray2; - currentPosition++; - } - - /** - * Append Object after current Object. - * - * @param object Object to append. - */ - public void append(Object object) { - Object [] objArray2 = new Object[objArray.length + 1]; - - int newPosition = currentPosition + 1; - - // copy the array content up to the currentposition - System.arraycopy(objArray, 0, objArray2, 0, newPosition); - - objArray2[newPosition] = object; - - // copy the array content up after the currentposition - if (currentPosition < objArray.length - 1) { - System.arraycopy(objArray, newPosition, objArray2, - newPosition + 1, objArray.length - newPosition); - } - - objArray = objArray2; - } - - /** - * Remove current Object. - */ - public void remove() { - Object [] objArray2 = new Object[objArray.length - 1]; - - // copy the array content up before the currentposition - if (currentPosition > 0) { - System.arraycopy(objArray, 0, objArray2, 0, currentPosition); - } - - // copy the array content up after the currentposition - if (currentPosition < objArray.length - 1) { - System.arraycopy(objArray, currentPosition + 1, objArray2, - currentPosition, objArray.length - currentPosition - 1); - } - - objArray = objArray2; - - if (currentPosition == objArray.length) - currentPosition--; - } - - public int elementCount() { - return objArray.length; - } - - public boolean equivalent(Object obj1, Object obj2) { - return obj1.equals(obj2); - } - - public void refresh() { - // do nothing - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/ParaNodeIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/ParaNodeIterator.java deleted file mode 100644 index b3ad49016233..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/ParaNodeIterator.java +++ /dev/null @@ -1,95 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -import java.util.Vector; -import java.util.List; - - -/** - *

    This is an implementation of the Iterator interface. - * It will traverse the tree and find the Paragraph/Heading Node - * sequences.

    - * - *

    Note: Once the XML Tree is parsed, then the Iterator will - * be a snap shot of that tree. That means even the tree is modified later, - * than the cached paragraph Node list will not be updated - * accordingly. For this reason and for performance reasons this - * Iterator does not support any operation methods such as - * insert, remove or replace. The main purpose of this - * Iterator is to be used with difference, not with merge.

    - * - * @author smak - */ -public final class ParaNodeIterator extends NodeIterator { - - // can be expanded to an array in the future, not necessary right now - private static final String SUPPORTED_TAG1 = OfficeConstants.TAG_PARAGRAPH; - private static final String SUPPORTED_TAG2 = OfficeConstants.TAG_HEADING; - - /** - * Standard constructor. - * - * @param cc The ConverterCapabilities. - * @param node The initial root Node. - */ - public ParaNodeIterator(ConverterCapabilities cc, Node node) { - // not using convertercapabilities unless it's needed in future. - super(cc, node); - } - - - /** - * Overwrite the parent nodeSupported method. - * - * @param node Node to check. - * - * @return true if the Node is supported, false - * otherwise. - */ - protected boolean nodeSupported(Node node) { - - // can use an array later to check all possible tags for - // future expansion - if (node.getNodeType() == Node.ELEMENT_NODE && - (node.getNodeName().equals(SUPPORTED_TAG1) || - node.getNodeName().equals(SUPPORTED_TAG2))) { - return true; - } else { - return false; - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/RowIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/RowIterator.java deleted file mode 100644 index 2f748ca8d41c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/RowIterator.java +++ /dev/null @@ -1,84 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.Debug; -import org.openoffice.xmerge.util.Resources; - - -/** - * This is an implementation of the Iterator interface and extends - * NodeIterator. It will traverse the tree and find row sequences. - * - * @author smak - */ -public final class RowIterator extends NodeIterator { - - private Resources res = Resources.getInstance(); - - // TODO: should compare the ConverterCapabilities supported feature only! - // otherwise even though one with a chart, one without, will still be - // considered to be not equivalent. - - /** - * Standard constructor. - * - * @param cc The ConverterCapabilities. - * @param node The initial root Node. - */ - public RowIterator(ConverterCapabilities cc, Node node) { - super(cc, node); - } - - /** - * Overwrite the parent nodeSupported method. Only - * row Node objects are supported. - * - * @param node Node to check. - * - * @return true if the Node is supported, false otherwise. - */ - protected boolean nodeSupported(Node node) { - - // can use an array later to check all possible tags for - // future expansion - if (node.getNodeType() == Node.ELEMENT_NODE && - node.getNodeName().equals(OfficeConstants.TAG_TABLE_ROW)) { - return true; - } else { - return false; - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeEntry.java b/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeEntry.java deleted file mode 100644 index 6a0d8a6d946c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeEntry.java +++ /dev/null @@ -1,88 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; - -/** - * A small class to hold the start/end character position and the - * Node pointer in a text Node. It is - * mainly used for character parser to make a list of text - * Node cache entries. - * - * @author smak - */ -public class TextNodeEntry { - - private int startChar_; - private int endChar_; - private Node node_; - - /** - * Constructor - * - * @param startChar The start character position. - * @param endChar The end character position. - * @param node The text Node. - */ - public TextNodeEntry(int startChar, int endChar, Node node) { - startChar_ = startChar; - endChar_ = endChar; - node_ = node; - } - - /** - * Returns the start character. - * - * @return The start character. - */ - public int startChar() { - return startChar_; - } - - - /** - * Returns the end character. - * - * @return The end character. - */ - public int endChar() { - return endChar_; - } - - - /** - * Returns the Node. - * - * @return The Node. - */ - public Node node() { - return node_; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeIterator.java b/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeIterator.java deleted file mode 100644 index 41274bd6074f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/TextNodeIterator.java +++ /dev/null @@ -1,90 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.diff; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.Document; - -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -import java.util.Vector; -import java.util.List; - - -/** - *

    This is an implementation of the Iterator interface. - * It will traverse the tree and find text/space/tab Node - * sequences.

    - * - *

    Note: Once the XML Tree is parsed, then the Iterator - * will be a snap shot of that tree. That means even the tree is modified - * later, than the cached paragraph Node list will not be - * updated accordingly. For this reason and for performance reasons - * this Iterator does not support any operation methods - * such as insert, remove or replace. The main purpose of this - * Iterator is to be used with difference, not with merge.

    - * - * @author smak - */ -public final class TextNodeIterator extends NodeIterator { - - /** - * Standard constructor. - * - * @param initial The initial root Node. - */ - public TextNodeIterator(Node node) { - super(null, node); - } - - /** - * Overwrite the parent nodeSupported method. Only text - * Node objects are supported. - * - * @param node Node to check. - * - * @return true if the Node is supported, false - * otherwise. - */ - protected boolean nodeSupported(Node node) { - - // can use an array later to check all possible tags for - // future expansion - if (node.getNodeType() == Node.TEXT_NODE || - node.getNodeName().equals(OfficeConstants.TAG_SPACE) || - node.getNodeName().equals(OfficeConstants.TAG_TAB_STOP) || - node.getNodeName().equals(OfficeConstants.TAG_LINE_BREAK)) { - return true; - } else { - return false; - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/build.xml b/xmerge/java/org/openoffice/xmerge/merger/diff/build.xml deleted file mode 100644 index 22ff4c74786e..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/build.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/makefile.mk b/xmerge/java/org/openoffice/xmerge/merger/diff/makefile.mk deleted file mode 100644 index f4690cabb5d0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxm_diff -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/merger/diff/package.html b/xmerge/java/org/openoffice/xmerge/merger/diff/package.html deleted file mode 100644 index 48c850e2d2b0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/diff/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -org.openoffice.xmerge.merger.diff package - - - -

    Provides implementations for the {@link -org.openoffice.xmerge.merger.Iterator Iterator} -interface and related support classes. These are used by the {@link -org.openoffice.xmerge.merger.DiffAlgorithm -DiffAlgorithm} interface.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/merger/makefile.mk b/xmerge/java/org/openoffice/xmerge/merger/makefile.mk deleted file mode 100644 index 10eaf50df249..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_joox_merger -PRJ=../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/CharacterBaseParagraphMerge.java b/xmerge/java/org/openoffice/xmerge/merger/merge/CharacterBaseParagraphMerge.java deleted file mode 100644 index e9334221f3b4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/CharacterBaseParagraphMerge.java +++ /dev/null @@ -1,310 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.merge; - -import java.util.List; -import org.w3c.dom.Node; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.diff.CharacterParser; -import org.openoffice.xmerge.merger.diff.CharArrayLCSAlgorithm; -import org.openoffice.xmerge.merger.diff.TextNodeEntry; -import org.openoffice.xmerge.util.Debug; - -/** - * This is an implementation of the NodeMergeAlgorithm - * interface. It is used to merge two paragraph Node - * objects based on character comparisons. - * - * @author smak - */ -public final class CharacterBaseParagraphMerge - implements NodeMergeAlgorithm { - - - private class cacheCharArray { - public cacheCharArray(int cacheSize) { - } - } - - - /** - * Merge two paragraph Node by using Longest Common - * Subsequence (LCS) character algorithm defined in {@link - * org.openoffice.xmerge.merger.diff.CharArrayLCSAlgorithm - * CharArrayLCSAlgorithm} - * - * @param orgPara The original paragraph Node. - * @param modPara The modified paragraph Node. - */ - public void merge(Node orgPara, Node modPara) { - CharacterParser orgParser = new CharacterParser(orgPara); - CharacterParser modParser = new CharacterParser(modPara); - - char[] orgCharArray = orgParser.getCharArray(); - char[] modCharArray = modParser.getCharArray(); - - CharArrayLCSAlgorithm diffAlgo = new CharArrayLCSAlgorithm(); - - Difference[] diffResult = diffAlgo.computeDiffs(orgCharArray, - modCharArray); - // debug use - System.out.println("Diff Result: "); - for (int i = 0; i < diffResult.length; i++) { - Debug.log(Debug.INFO, diffResult[i].debug()); - } - - applyDifference(orgParser, modParser, diffResult); - } - - - private void applyDifference(CharacterParser orgParser, - CharacterParser modParser, - Difference[] diffs) { - - List orgNodeList = orgParser.getNodeList(); - List modNodeList = modParser.getNodeList(); - int diffCount = 0; - int modNodeListCnt = 0; - int numNode = orgNodeList.size(); - - for (int i = 0; i < numNode; i++) { - - int extraChar = 0; - int orgDiffCount = diffCount; - TextNodeEntry orgTextNode = (TextNodeEntry)(orgNodeList.get(i)); - - Debug.log(Debug.INFO, "checking node " + (i + 1) + " of " + numNode); - - // check any difference in this node and estimate the new char num - for (; diffCount < diffs.length; diffCount++) { - - Debug.log(Debug.INFO, " checking diff " + (diffCount + 1) + - " of " + diffs.length); - Debug.log(Debug.INFO, " OrgPosision <" + - diffs[diffCount].getOrgPosition() + "> diffCount <" + - diffCount + "> orgDiffCount <" + orgDiffCount + ">"); - - // don't need to check and diffs beyond the current node text - // range except the last node - if (diffs[diffCount].getOrgPosition() > orgTextNode.endChar() && - i < numNode - 1) { - Debug.log(Debug.INFO, " breaking!"); - break; - } - - if (diffs[diffCount].getOrgPosition() - >= orgTextNode.startChar()) { - if (diffs[diffCount].getOperation() == Difference.DELETE) { - extraChar--; - } else if (diffs[diffCount].getOperation() - == Difference.ADD) { - extraChar++; - } - - } - } - - Debug.log(Debug.INFO, " final diffCount <" + diffCount + - "> final orgDiffCount <" + orgDiffCount + ">"); - - // will only try to merge if there is a difference in this node - if (diffCount > orgDiffCount) { - - Debug.log(Debug.INFO, " There is a difference, doing merge"); - Debug.log(Debug.INFO, " TextNode name <" + - orgTextNode.node().getNodeName() + ">"); - Debug.log(Debug.INFO, " TextNode value <" + - orgTextNode.node().getNodeValue() + ">"); - Debug.log(Debug.INFO, " TextNode start char <" + - orgTextNode.startChar() + "> TextNode end char <" + - orgTextNode.endChar() + ">"); - Debug.log(Debug.INFO, " extraChar value <" + extraChar + ">"); - - coreMerge(orgDiffCount, diffCount, diffs, orgParser, - modParser, orgTextNode, extraChar); - } - } - } - - private void coreMerge(int startDiffNum, int endDiffNum, Difference[] diffs, - CharacterParser orgParser, CharacterParser modParser, - TextNodeEntry orgTextNode, int extraChar) { - - Node orgNode = orgTextNode.node(); - char[] modTextArray = modParser.getCharArray(); - String tmpString; - - // Handle situation where getNodeValue returns null - // - if (orgNode.getNodeValue() != null) - tmpString = orgNode.getNodeValue(); - else - tmpString = ""; - - char[] orgNodeText = tmpString.toCharArray(); - char[] newNodeText; - - if (orgNodeText.length + extraChar > 0) - newNodeText = new char[orgNodeText.length + extraChar]; - else - newNodeText = new char[0]; - - int orgTextPosition = orgTextNode.startChar(); // used for block copy - int newTextPosition = 0; // used for block copy - int unChangedTextLength = 0; - - char[] cacheCharArray = new char[endDiffNum - startDiffNum]; - int cacheLength = 0; - int lastDiffOperation = Difference.UNCHANGE; - int lastDiffPosition = -1; - - // starting to diff - // - for (int j = startDiffNum; j < endDiffNum; j++) { - - // copy any contents before the diff - // - if (diffs[j].getOrgPosition() > orgTextPosition) { - // need to flush first - if (cacheLength > 0) { - System.arraycopy(cacheCharArray, 0, - newNodeText, newTextPosition, cacheLength); - newTextPosition += cacheLength; - - // reset the markers - lastDiffPosition = -1; - lastDiffOperation = Difference.UNCHANGE; - cacheLength = 0; - } - - // find out the length how many characters are - // untouched by the diff - unChangedTextLength = diffs[j].getOrgPosition() - - orgTextPosition; - System.arraycopy(orgNodeText, - orgTextPosition - orgTextNode.startChar(), - newNodeText, newTextPosition, - unChangedTextLength); - orgTextPosition += unChangedTextLength; - newTextPosition += unChangedTextLength; - } - - // for any deleted characters, just skip without copy - // but still need to take care the cached characters - // - if (diffs[j].getOperation() == Difference.DELETE) { - orgTextPosition++; - - // flush out the cache and copy the content to new Text - if (cacheLength > 0) { - System.arraycopy(cacheCharArray, 0, - newNodeText, newTextPosition, cacheLength); - newTextPosition += cacheLength; - - // reset the markers - lastDiffPosition = -1; - lastDiffOperation = Difference.UNCHANGE; - cacheLength = 0; - } - - continue; - - - // check whether we should flush the cache. - // For changed diffs, only continuous changes can be cached - // For Add diffs, only same insertion point can be cached - // and for both changed/add diffs, need to have same operation - // as last cached diffs. - - } else { - if (lastDiffOperation != diffs[j].getOperation() || - (diffs[j].getOperation() == Difference.CHANGE && - diffs[j].getOrgPosition() != lastDiffPosition + 1) || - (diffs[j].getOperation() == Difference.ADD && - diffs[j].getOrgPosition() != lastDiffPosition)) { - - // flush the cache - if (cacheLength > 0) { - System.arraycopy(cacheCharArray, 0, newNodeText, - newTextPosition, cacheLength); - newTextPosition += cacheLength; - - // reset the markers - lastDiffPosition = -1; - lastDiffOperation = Difference.UNCHANGE; - cacheLength = 0; - } - } - - // add the diffs to the cache, now the diffs will be either - // a new 'changed' char or is an adjacent following change of - // last difference - cacheCharArray[cacheLength] = - modTextArray[diffs[j].getModPosition()]; - cacheLength++; - lastDiffOperation = diffs[j].getOperation(); - lastDiffPosition = diffs[j].getOrgPosition(); - - // need to increment the original text position - // after we cached it - if (lastDiffOperation == Difference.CHANGE) { - orgTextPosition++; - } - } - } - - // flush any contents remaining in the cache - if (cacheLength > 0) { - System.arraycopy(cacheCharArray, 0, newNodeText, - newTextPosition, cacheLength); - newTextPosition += cacheLength; - // no need to reset any cache-related info as this is a last flush - } - - // copy any contents after all the diffs - int orgStartPosition = orgTextNode.startChar(); - if (orgNodeText.length + orgStartPosition > orgTextPosition) { - unChangedTextLength = orgNodeText.length + orgStartPosition - - orgTextPosition; - System.arraycopy(orgNodeText, orgTextPosition - orgStartPosition, - newNodeText, newTextPosition, - unChangedTextLength); - } - - // set the text to the original node if there are any diffs processed. - // can't use newNodeText.length to check as even it is empty, we may - // process a whole bunch of deletion already (i.e. the whole - // orgNodeText deleted). - if (endDiffNum > startDiffNum) { - String newString = new String(newNodeText); - orgNode.setNodeValue(newString); - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/DocumentMerge.java b/xmerge/java/org/openoffice/xmerge/merger/merge/DocumentMerge.java deleted file mode 100644 index 4842ca433e04..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/DocumentMerge.java +++ /dev/null @@ -1,250 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.merge; - -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.NamedNodeMap; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.MergeException; -import org.openoffice.xmerge.merger.MergeAlgorithm; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.util.XmlUtil; - -/** - * This is an implementation of the MergeAlgorithm interface. - * This class will merge two Document classes. It utilizes the - * appropriate class which implements {@link - * org.openoffice.xmerge.merger.NodeMergeAlgorithm - * NodeMergeAlgorithm} to perform the merge. - * - * @author smak - */ -public class DocumentMerge implements MergeAlgorithm { - - private NodeMergeAlgorithm subDocumentMerge = null; - - /** The capabilities of this converter. */ - protected ConverterCapabilities cc_; - - - /** - * Constructor - * - * @param cc The ConverterCapabilities. - * @param merge The NodeMergeAlgorithm. - */ - public DocumentMerge(ConverterCapabilities cc, NodeMergeAlgorithm merge) { - cc_ = cc; - subDocumentMerge = merge; - } - - - public void applyDifference(Iterator orgSeq, Iterator modSeq, - Difference[] differences) throws MergeException { - - - // a quick test whether the differences array is in ascending order - int currentPosition = -1; - boolean haveDeleteOperation = false; - - for (int i = 0; i < differences.length; i++) { - if (differences[i].getOrgPosition() > currentPosition) { - currentPosition = differences[i].getOrgPosition(); - if (differences[i].getOperation() == Difference.DELETE) { - haveDeleteOperation = true; - } else { - haveDeleteOperation = false; - } - } else if (differences[i].getOrgPosition() == currentPosition) { - if (differences[i].getOperation() == Difference.DELETE) { - haveDeleteOperation = true; - } else if (differences[i].getOperation() == Difference.ADD && - haveDeleteOperation == true) { - throw new MergeException( - "Differences array is not sorted. Delete before Add"); - } - } else { - throw new MergeException("Differences array need to be sorted."); - } - } - - // reset sequence counters - orgSeq.start(); - int orgSeqCounter = 0; - - modSeq.start(); - int modSeqCounter = 0; - - // check for each diff unit in the diff array to apply the diff - for (int i = 0; i < differences.length; i++) { - - Difference currentDiff = differences[i]; - - int operation = currentDiff.getOperation(); - - Object currentElement; - - switch (operation) { - - case Difference.DELETE: - // loop through the original sequence up to the expected - // position. note that we use delta (see above comment) - // also. we will just continue the counter without reset it. - for (; - orgSeqCounter < currentDiff.getOrgPosition(); - orgSeqCounter++, orgSeq.next()) { - // empty - } - - // remove the Node. note that it will NOT affect the - // iterator sequence as ParaNodeIterator is a static one. - removeNode((Node)(orgSeq.currentElement())); - - break; - - // if it's an add operation, then get content from original seq - case Difference.ADD: - // loop through the modified sequence up to the expected - // position to get the content. As we don't need to modify - // the sequence. we don't need to use delta to do adjustment. - for (; - modSeqCounter < currentDiff.getModPosition(); - modSeqCounter++, modSeq.next()) { - // empty - } - - currentElement = orgSeq.currentElement(); - - for (; - orgSeqCounter < currentDiff.getOrgPosition(); - orgSeqCounter++, currentElement = orgSeq.next()) { - // empty - } - - if (orgSeqCounter > orgSeq.elementCount() - 1) { - // append the element to the end of the original sequence - appendNode((Node)(orgSeq.currentElement()), - (Node)(modSeq.currentElement())); - } else { - // insert the element BEFORE the current element - insertNode((Node)(orgSeq.currentElement()), - (Node)(modSeq.currentElement())); - } - - break; - - case Difference.CHANGE: - for (; - modSeqCounter < currentDiff.getModPosition(); - modSeqCounter++, modSeq.next()) { - // empty - } - - currentElement = orgSeq.currentElement(); - - for (; - orgSeqCounter < currentDiff.getOrgPosition(); - orgSeqCounter++, currentElement = orgSeq.next()) { - // empty - } - - if (subDocumentMerge == null) { - // use a simple replace if no row merge algorithm supply - replaceElement((Element)orgSeq.currentElement(), - (Element)modSeq.currentElement()); - } else { - subDocumentMerge.merge((Element)orgSeq.currentElement(), - (Element)modSeq.currentElement()); - - } - break; - - default: - break; - } - } - } - - - /** - * Removes the specified Node. - * - * @param node Node to remove. - */ - protected void removeNode(Node node) { - - Node parent = node.getParentNode(); - parent.removeChild(node); - } - - /** - * Appends Node after the specified Node. - * - * @param oldNode Node to append after. - * @param newNode Node to append. - */ - protected void appendNode(Node oldNode, Node newNode) { - Node clonedNode = XmlUtil.deepClone(oldNode, newNode); - Node parent = oldNode.getParentNode(); - parent.appendChild(clonedNode); - } - - - /** - * Insert Node before the specified Node. - * - * @param oldNode Node to insert before. - * @param newNode Node to insert. - */ - protected void insertNode(Node oldNode, Node newNode) { - Node clonedNode = XmlUtil.deepClone(oldNode, newNode); - Node parent = oldNode.getParentNode(); - parent.insertBefore(clonedNode, oldNode); - } - - - /** - * Replace Element. - * - * @param currElem Element to be replaced. - * @param newElem Element to replace. - */ - protected void replaceElement(Element currElem, Element newElem) { - - Node clonedNode = XmlUtil.deepClone(currElem, newElem); - Node parent = currElem.getParentNode(); - parent.replaceChild(clonedNode, currElem); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/PositionBaseRowMerge.java b/xmerge/java/org/openoffice/xmerge/merger/merge/PositionBaseRowMerge.java deleted file mode 100644 index 96bfa0c2b1d9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/PositionBaseRowMerge.java +++ /dev/null @@ -1,267 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.merge; - -import java.util.List; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.w3c.dom.NamedNodeMap; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.Difference; -import org.openoffice.xmerge.merger.Iterator; -import org.openoffice.xmerge.merger.DiffAlgorithm; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.merger.diff.CellNodeIterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; -import org.openoffice.xmerge.util.XmlUtil; -import org.openoffice.xmerge.util.Debug; - - -/** - * This is an implementation of the NodeMergeAlgorithm - * interface. It is used to merge two rows using a positional - * comparison base method. - */ -public final class PositionBaseRowMerge implements NodeMergeAlgorithm { - - /** The capabilities of this converter. */ - private ConverterCapabilities cc_; - - - /** - * Constructor. - * - * @param cc The ConverterCapabilities. - */ - public PositionBaseRowMerge(ConverterCapabilities cc) { - cc_ = cc; - } - - - public void merge(Node orgRow, Node modRow) { - - Iterator orgCells = new CellNodeIterator(cc_, orgRow); - Iterator modCells = new CellNodeIterator(cc_, modRow); - - mergeCellSequences(orgCells, modCells); - } - - - // used to compare the cell 1 by 1 - private void mergeCellSequences(Iterator orgSeq, Iterator modSeq) { - - int i, j; - boolean needMerge = true; - Element orgCell, modCell; - - Object orgSeqObject = orgSeq.start(); - Object modSeqObject = modSeq.start(); - - while (orgSeqObject != null) { - - - needMerge = true; - - if (modSeqObject == null) { - // no corresponding cell in the target, empty out the cell - SheetUtil.emptyCell(cc_, (Node)orgSeqObject); - orgSeqObject = orgSeq.next(); - - } else { - - // compare the cell directly - if (!orgSeq.equivalent(orgSeqObject, modSeqObject)) { - - orgCell = (Element)orgSeqObject; - modCell = (Element)modSeqObject; - - // check whether the original cell with multiple column - // if so, need to split one out for merge - String orgColRepeated = orgCell.getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - String modColRepeated = modCell.getAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - - int orgColNum = 1; - int modColNum = 1; - - if (orgColRepeated.length() > 0) { - orgColNum = - Integer.valueOf(orgColRepeated).intValue(); - } - if (modColRepeated.length() > 0) { - modColNum = - Integer.valueOf(modColRepeated).intValue(); - } - - // try to find out the common number of repeated cols - if (orgColNum == modColNum) { - orgSeqObject = orgSeq.next(); - modSeqObject = modSeq.next(); - - // cut the original cell into 2 half, first half - // have the repeated attribute = modify cell attr - } else if (orgColNum > modColNum) { - Element orgSplitCell = splitColRepeatedCell( - orgCell, modColNum, - orgColNum - modColNum); - // it may equal after the split! - if (orgSeq.equivalent(orgSplitCell, modCell)) { - needMerge = false; - } - orgCell = orgSplitCell; - modSeqObject = modSeq.next(); - - // cut the modified cell into 2 half, first half - // have the repeated attribute = original cell attr - } else { - Element modSplitCell = splitColRepeatedCell( - modCell, orgColNum, - modColNum - orgColNum); - // it may equal after the split! - if (modSeq.equivalent(orgCell, modSplitCell)) { - needMerge = false; - } - modCell = modSplitCell; - orgSeqObject = orgSeq.next(); - } - - if (needMerge) { - mergeCells(orgCell, modCell); - } - - } else { - // cells are equivalent, move on to next one. - orgSeqObject = orgSeq.next(); - modSeqObject = modSeq.next(); - } // end if-else - } // end if-else - } // end while loop - - // get the one of the original cell, so that the cloned node - // can base it to find the document node - orgCell = (Element)orgSeq.start(); - - // add any extra cells to the original cell sequence. - for (; modSeqObject != null; modSeqObject = modSeq.next()) { - Node clonedNode = XmlUtil.deepClone(orgCell, (Node)modSeqObject); - Node parent = orgCell.getParentNode(); - parent.appendChild(clonedNode); - } - } - - - private Element splitColRepeatedCell(Element orgCell, - int splitNum, int orgNum) { - // NOTE: should we really want to do deep clone? - // in most the case, it is an empty cell, but the - // specification didn't forbid any node to use multiple - // column attributes. i.e. the node can contain text - // nodes or other things under it. - Element splitCell = (Element)(orgCell.cloneNode(true)); - - if (splitNum > 1) { - splitCell.setAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED, - String.valueOf(splitNum)); - } else if (splitNum == 1) { - splitCell.removeAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - } - if (orgNum > 1) { - orgCell.setAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED, - String.valueOf(orgNum)); - } else if (orgNum == 1) { - orgCell.removeAttribute( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED); - } - - Node parentNode = orgCell.getParentNode(); - parentNode.insertBefore(splitCell, orgCell); - - return splitCell; - } - - - private void mergeCells(Element orgCell, Element modCell) { - - // remove all the supported attributes and possible text child for - // string cells - SheetUtil.emptyCell(cc_, orgCell); - - // copy all the supported attributes and possible text child from - // the modified cell - NamedNodeMap attrNodes = modCell.getAttributes(); - - if (attrNodes != null) { - - // copy the first text:p node. As it's not necessary only string - // type cell can have a text:p section. - NodeList paraNodes = - modCell.getElementsByTagName(OfficeConstants.TAG_PARAGRAPH); - - Node firstParaNode = paraNodes.item(0); - - // try to clone the node - if (firstParaNode != null) { - - Node clonedNode = XmlUtil.deepClone(orgCell, firstParaNode); - - // insert as the first child of the original cell - Node firstChild = orgCell.getFirstChild(); - if (firstChild != null) { - orgCell.insertBefore(clonedNode, firstChild); - } else { - orgCell.appendChild(clonedNode); - } - } - - // check all the attributes and copy those we supported in - // converter - // NOTE: for attribute list, refer to section 4.7.2 in specification - int len = attrNodes.getLength(); - - for (int i = 0; i < len; i++) { - Node attr = attrNodes.item(i); - - // copy the supported attrs - if (cc_.canConvertAttribute(OfficeConstants.TAG_TABLE_CELL, - attr.getNodeName())) { - orgCell.setAttribute(attr.getNodeName(), - attr.getNodeValue()); - } - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/SheetMerge.java b/xmerge/java/org/openoffice/xmerge/merger/merge/SheetMerge.java deleted file mode 100644 index a2aa154a7e3a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/SheetMerge.java +++ /dev/null @@ -1,92 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.merge; - -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.NodeMergeAlgorithm; -import org.openoffice.xmerge.util.Debug; - -/** - * This class extends the DocumentMerge class. - * This class will merge two spreadsheet documents. - * The main difference between this implementation and - * DocumentMerge - * is that this merge will try to maintain unsupported features by - * examing the cell node objects one by one when it - * removes a node from the original Iterator. - * - * @author smak - */ -public final class SheetMerge extends DocumentMerge { - - /** - * Constructor. - * - * @param cc The ConverterCapabilities. - * @param merge The NodeMergeAlgorithm. - */ - public SheetMerge(ConverterCapabilities cc, NodeMergeAlgorithm merge) { - super(cc, merge); - } - - - /** - * Remove specified Node. - * - * @param node Node to remove. - */ - protected void removeNode(Node node) { - - clearRow(node); - } - - - /** - * Clear the row corresponding to the Node - * - * @param node Node containing the row to clear. - */ - private void clearRow(Node node) { - NodeList children = node.getChildNodes(); - int numOfChildren = children.getLength(); - - Node child; - - // clear all the cells under the row node but maintain any unsupported - // features - // TODO: we can actually check anything left after the clear up. - // if there is nothing left, then we can even delete the cell nodes - for (int i = 0; i < numOfChildren; i++) { - SheetUtil.emptyCell(cc_, children.item(i)); - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/SheetUtil.java b/xmerge/java/org/openoffice/xmerge/merger/merge/SheetUtil.java deleted file mode 100644 index 7ec99af85324..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/SheetUtil.java +++ /dev/null @@ -1,108 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.merger.merge; - -import org.w3c.dom.Node; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; -import org.w3c.dom.NamedNodeMap; - -import org.openoffice.xmerge.ConverterCapabilities; -import org.openoffice.xmerge.merger.diff.CellNodeIterator; -import org.openoffice.xmerge.converter.xml.OfficeConstants; - - -/** - * Utility methods to handle sheet XML tree. - */ -public class SheetUtil { - - /** - *

    Empty the content of a cell value. This includes the following: - *

    - * - *

    • - * Remove all of the supported attributes. - *
    • - * Remove the first text:p Node for most of the cells. - *

    - * - * @param cc The ConverterCapabilities. - * @param node The Node. - */ - public static void emptyCell(ConverterCapabilities cc, Node node) { - - NamedNodeMap attrNodes = node.getAttributes(); - - if (attrNodes != null) { - - // empty the first text:p node. - // Note: it's not necessary only string type cell contain text:p - // basically, all different type of cell will contain one - Element cell = (Element)node; - - // get the paragraph node list - NodeList paraNodes = - cell.getElementsByTagName(OfficeConstants.TAG_PARAGRAPH); - - Node firstParaNode = paraNodes.item(0); - - // remove the first paragraph element node - if (firstParaNode != null) { - Node parent = firstParaNode.getParentNode(); - parent.removeChild(firstParaNode); - } - - // check all the attributes and remove those we supported in - // converter - // NOTE: for attribute list, refer to section 4.7.2 in specification - int len = attrNodes.getLength(); - - for (int i = 0; i < len; ) { - Node attr = attrNodes.item(i); - - // when we hit the end of the attribute nodes, return - // it may happen sooner as we keep on removing nodes - if (attr == null) { - break; - } - // remove the supported attr except columns repeated attribute - if (cc.canConvertAttribute(OfficeConstants.TAG_TABLE_CELL, - attr.getNodeName()) && - !attr.getNodeName().equals( - OfficeConstants.ATTRIBUTE_TABLE_NUM_COLUMNS_REPEATED)) { - - attrNodes.removeNamedItem(attr.getNodeName()); - } else { - i++; - } - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/build.xml b/xmerge/java/org/openoffice/xmerge/merger/merge/build.xml deleted file mode 100644 index d93c81805bc9..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/build.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/makefile.mk b/xmerge/java/org/openoffice/xmerge/merger/merge/makefile.mk deleted file mode 100644 index 5bb3dbecf955..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxm_merge -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/merger/merge/package.html b/xmerge/java/org/openoffice/xmerge/merger/merge/package.html deleted file mode 100644 index 183ef913f405..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/merge/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -org.openoffice.xmerge.merger.diff package - - - -

    Provides implementations for the {@link -org.openoffice.xmerge.merger.MergeAlgorithm -MergeAlgorithm} interface, the {@link -org.openoffice.xmerge.merger.NodeMergeAlgorithm -NodeMergeAlgorithm} interface, and related support classes.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/merger/package.html b/xmerge/java/org/openoffice/xmerge/merger/package.html deleted file mode 100644 index 49d5b54f59c8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/merger/package.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - -org.openoffice.xmerge.merger package - - - -

    The DiffAlgorithm and MergeAlgorithm -are used to provide the merge capabilities of this project.

    - -

    Merge is useful when an OfficeDocument -is converted to a "Device" Document format, -and the "Device" Document version is modified. -Those changes can be merged back into the original -OfficeDocument with the merger. The merger is capable -of doing this even if the "Device" format is lossy in -comparison to the OfficeDocument format.

    - -

    The DiffAlgorithm generates a list of -Difference objects that represent the -differences between two OfficeDocument objects. -It is assumed that one is the original OfficeDocument -object and the other is a "lossy" version of the same -Document with edits to be merged. Typically the -"lossy" version is created by converting a "Device" -Document back into an OfficeDocument. - -

    The MergeAlgorithm takes the Difference -objects as input, and creates a merged OfficeDocument. -A merged OfficeDocument has the following features:

    - -

      -
    • Tags in the OfficeDocument that are not - supported in the device format are not altered or removed. -
    • Changes made to the device format are merged back into - the OfficeDocument in the location determined by - the DiffAlgorithm. -

    - -

    Each converter provides an implementation of the -{@link org.openoffice.xmerge.ConverterCapabilities -ConverterCapabilities} which specifies which -OfficeDocument tags are supported for the -device format.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/package.html b/xmerge/java/org/openoffice/xmerge/package.html deleted file mode 100644 index d1a36fc1488a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/package.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - -org.openoffice.xmerge package - - - - -

    Provides interfaces for converting between two Document -formats, and supports a "merge" interface for merging back -changes from a "lossy" format back into a rich format.

    - -

    The {@link org.openoffice.xmerge.Convert -Convert} object encapsulates the conversion of one format to/from another -format. The user requests a Convert object via the -ConverterFactory.

    - -

    The Convert class encapsulates a specific plug-in. -A plug-in can support deserialization (convert from "Device" -to "Office") and/or serialization (convert from -"Office" to "Device"). If a plug-in supports -both deserialization and serialization, then it can also support -"merge".

    - -

    To support conversions where a single input Document can -create multiple output Document objects, data is passed in -and out of the conversion functions via a ConvertData object. -This ConvertData can contain one or more Document -objects. It is assumed that the client will know when to pass multiple -files into a specific plug-in, and that the plug-in will know how to -handle the multiple files.

    - -

    Merging is useful when converting from a rich Document -format to a more lossy format. Then the user may modify the -Document in the lossy format, and "merge" those -changes back into the original "rich" Document. -Each merge implementation provides a ConverterCapabilities -implementation so that the merge logic knows what changes from the -"lossy" format to merge into the original "rich" -Document.

    - -

    Each plug-in must be registed via the singleton ConverterInfoMgr -object via its {@link -org.openoffice.xmerge.util.registry.ConverterInfoMgr#addPlugIn -addPlugIn} method.

    - -

    Providing implementations

    - -

    The plug-in implementation must include the getDeviceDocument -and getOfficeDocument methods. These functions need to return -the appropriate type of Document for the plug-in. It may be -necessary to create a new implementation of the Document -interface if one does not exist that meets the needs of the plug-in.

    - -

    Currently, base implementations for working with StarWriter XML -Document objects are available via the - -org.openoffice.xmerge.xml.sxw -package, and StarCalc XML Document objects via the - -org.openoffice.xmerge.xml.sxc -package.

    - -

    TODO/IDEAS list

    - -

      -
    1. An idea is to combine the ConvertData and the - Convert classes, so that a ConvertData - knows what it can convert into and whether or not it can merge. - Then a user would call convert/merge methods on the - ConvertData class, which returns a - ConvertData object that likewise knows what it can - convert/merge into.
    2. -
    3. DocumentSerialize constructors and the - DocumentDeserializer.deserializer method could pass - in a ConvertData object rather than assuming - a single Document will represent a "rich" - Document.
    4. -
    5. May need to add a PluginFactory.setProperties - method for adding properties specific to each converter.
    6. -

    - - - - diff --git a/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.java b/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.java deleted file mode 100644 index d5389372cdc0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.java +++ /dev/null @@ -1,108 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.test; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.FileReader; -import java.io.InputStream; -import java.io.BufferedInputStream; -import java.util.Properties; -import java.util.Vector; -import java.util.Enumeration; - -/** - * Loads a properties file so that registry knows which plug-ins - * it needs to load. - * - * @author: Martin Maher - */ -public class ConverterInfoList { - - private static String defaultPropsFile = "ConverterInfoList.properties"; - - private Vector jars; - private Properties props = null; - - - /** - * This constructor loads and reads the default properties file. - * The default property file name is: - * "ConverterInfoList.properties". - * - * @throws IOException If any I/O error occurs. - */ - public ConverterInfoList() throws IOException { - this(defaultPropsFile); - } - - /** - * This constructor loads and reads the properties file. - * - * @param propsFile The properties file to load. - * - * @throws IOException If any I/O error occurs. - */ - public ConverterInfoList(String propsFile) throws IOException { - - Class c = this.getClass(); - InputStream is = c.getResourceAsStream(propsFile); - BufferedInputStream bis = new BufferedInputStream(is); - props = new Properties(); - props.load(bis); - bis.close(); - - int i = 1; - String jarFileName = new String(); - jars = new Vector(); - - while ((jarFileName = props.getProperty("jarname" + i)) != null) { - jars.add(jarFileName); - i++; - } - } - - - /** - * Returns a Vector containing a list of - * String objects. Each String - * describes a plug-in to be loaded into the registry. - * - * - * @return A Vector containing a list of - * String objects. Each - * String describes a plug-in to be - * loaded into the registry. - */ - public Enumeration getJarFileEnum() { - - return jars.elements(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.properties b/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.properties deleted file mode 100644 index d8bf3483b95d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/test/ConverterInfoList.properties +++ /dev/null @@ -1,36 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -# -# Jarfiles to be loaded -# -jarname1=file:///jarDirectory/htmlsoff.jar - -# -# Pocket Word plugin -# -jarname2=file:///jarDirectory/pocketword.jar diff --git a/xmerge/java/org/openoffice/xmerge/test/Driver.java b/xmerge/java/org/openoffice/xmerge/test/Driver.java deleted file mode 100644 index 446dabfa65f8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/test/Driver.java +++ /dev/null @@ -1,321 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.test; - -import java.util.Vector; -import java.util.Enumeration; -import java.io.IOException; -import java.io.InputStream; -import java.io.FileOutputStream; -import java.io.FileInputStream; -import java.io.File; - -import org.openoffice.xmerge.Convert; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConverterFactory; -import org.openoffice.xmerge.test.ConverterInfoList; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.util.registry.ConverterInfoMgr; -import org.openoffice.xmerge.util.registry.ConverterInfoReader; -import org.openoffice.xmerge.DocumentMerger; - -/** - * This class is a command-line driver for the converter framework. - * It is expected that this code will be later called by the device - * server. It does some basic validation of the command-line - * parameters. - */ -public final class Driver { - - /** Command-line parameter. */ - private String fromMime = null; - - /** Command-line parameter. */ - private String toMime = null; - - /** mergeFile name. */ - private String mergeFile = null; - - /** Command-line parmeter. */ - private Vector deviceFiles = new Vector(); - - /** Command-line parmeter shortcuts. */ - private String mimeTypes[] = { - "sxc", "staroffice/sxc", - "sxw","staroffice/sxw" - }; - - - /** - * Main. - * - * @param args The argument passed on the command line. - */ - public static void main(String args[]) { - - // Register jarfiles - // - String propFile = "ConverterInfoList.properties"; - ConverterInfoList cil = null; - try { - cil = new ConverterInfoList(propFile); - } catch (Exception e) { - System.out.println("\nCannot not load " + propFile + - " property file"); - } - - Enumeration jarInfoEnumeration; - ConverterInfoReader cir; - - Enumeration jarFileEnum = cil.getJarFileEnum(); - while (jarFileEnum.hasMoreElements()) { - String jarName = (String) jarFileEnum.nextElement(); - try { - cir = new ConverterInfoReader(jarName, false); - jarInfoEnumeration = cir.getConverterInfoEnumeration(); - ConverterInfoMgr.addPlugIn(jarInfoEnumeration); - } catch (Exception e) { - System.out.println("\nCannot not load <" + jarName + - "> from the <" + propFile + "> property file"); - } - } - - try { - - Driver app = new Driver(); - app.parseCommandLine(args); - app.doConversion(); - } catch (IllegalArgumentException ex) { - - String msg = ex.getMessage(); - if (msg != null) System.out.println("\n" + msg); - showUsage(); - - } catch (Exception ex) { - - String msg = ex.getMessage(); - if (msg != null) System.out.println("\n" + msg); - ex.printStackTrace(); - } - } - - - /** - * Gets a Convert object using the - * ConverterFactory and does the conversion using - * this object. - * - * @throws IllegalArgumentException If an argument is invalid. - */ - private void doConversion() throws IllegalArgumentException { - - ConverterFactory cf = new ConverterFactory(); - Convert myConvert = cf.getConverter(fromMime, toMime); - String processFile = null; - - if (myConvert == null) { - System.out.println("\nNo plug-in exists to convert from <" + - fromMime + "> to <" + toMime + ">"); - throw new IllegalArgumentException(); - } - - try { - Enumeration dfEnum = deviceFiles.elements(); - while (dfEnum.hasMoreElements()) { - processFile = (String)dfEnum.nextElement(); - File f = new File(processFile); - - // Make sure the input file actually exists before using it - if (!f.exists()) { - System.out.println(processFile + " does not exist!"); - System.exit(0); - } - FileInputStream fis = new FileInputStream(f); - myConvert.addInputStream(f.getName(), fis); - } - } catch (Exception addExcept) { - System.out.println("\nFile <" + processFile + "> is not in <" + - fromMime + "> format"); - throw new IllegalArgumentException(); - } - - ConvertData dataOut = null; - - try { - dataOut = myConvert.convert(); - } catch (Exception convertExcept) { - System.out.println("\nThere was an error in the conversion"); - convertExcept.printStackTrace(); - } - - if (dataOut != null ) { - - if (mergeFile == null) { - Enumeration docEnum = dataOut.getDocumentEnumeration(); - while (docEnum.hasMoreElements()) { - Document docOut = (Document)docEnum.nextElement(); - String fileName = docOut.getFileName(); - try { - FileOutputStream fos = new FileOutputStream(fileName); - docOut.write(fos); - fos.flush(); - fos.close(); - } catch (Exception writeExcept) { - System.out.println("\nThere was an writing out file <" + - fileName + ">"); - writeExcept.printStackTrace(); - } - } - } else { - try { - FileInputStream mergeIS = new FileInputStream(mergeFile); - Document mergeDoc = myConvert.getOfficeDocument(mergeFile, mergeIS); - DocumentMerger merger = myConvert.getDocumentMerger(mergeDoc); - Enumeration mergeDocEnum = dataOut.getDocumentEnumeration(); - Document convertedFile = (Document)mergeDocEnum.nextElement(); - - merger.merge(convertedFile); - mergeIS.close(); - - FileOutputStream fos = new FileOutputStream(mergeFile); - mergeDoc.write(fos); - fos.flush(); - fos.close(); - } catch (Exception mergeExcept) { - System.out.println("\nThere was an error in the merge"); - mergeExcept.printStackTrace(); - } - } - } - } - - - /** - * Display usage. - */ - private static void showUsage() { - - System.out.println("\nUsage:"); - System.out.println("\n java org.openoffice.xmerge.test.Driver "); - System.out.println("\n where is as follows:"); - System.out.println(" -from -to [ -merge \n"); - } - - - /** - * Parse command-line arguments. - * - * @param args Array of command line arguments. - * - * @throws IllegalArgumentException If an argument is invalid. - */ - private void parseCommandLine(String args[]) - throws IllegalArgumentException { - - if (args.length == 0) { - throw new IllegalArgumentException(); - } - - for (int i = 0; i < args.length; i++) { - String arg = args[i]; - - if ("-to".equals(arg)) { - toMime = extractArg(i, args); - for (int j = 0; j < mimeTypes.length; j+=2) { - if(mimeTypes[j].equals(extractArg(i, args))) - toMime = mimeTypes[j+1]; - } - i++; - } else if ("-from".equals(arg)) { - fromMime = extractArg(i, args); - for (int j = 0; j < mimeTypes.length; j+=2) { - if(mimeTypes[j].equals(extractArg(i, args))) - fromMime = mimeTypes[j+1]; - } - i++; - } else if ("-merge".equals(arg)) { - mergeFile = extractArg(i, args); - if (!isZip(mergeFile)) { - throw new - IllegalArgumentException("Arg " + i + - ": expected zip, got " + - mergeFile); - } - i++; - } else { - deviceFiles.add(arg); - } - } - - System.out.println("\nConverting from " + fromMime + " to " + toMime + - ((mergeFile != null) ? " with merge " : " ")); - } - - - /** - * Extract the next argument from the array, while checking to see - * that the array size is not exceeded. Throw a friendly error - * message in case the arg is missing. - * - * @param i Argument index. - * @param args Array of command line arguments. - * - * @return The argument with the specified index. - * - * @throws IllegalArgumentException If an argument is invalid. - */ - private String extractArg(int i, String args[]) - throws IllegalArgumentException { - - if (i+1 < args.length) - return args[i+1]; - else throw new - IllegalArgumentException("Arg " + i + - ": expected arg for " + args[i]); - } - - - /** - * Simple validation for Office ZIP files. - * - * @param zipName The name of the ZIP file. - * - * @return true if zipName is valid, false otherwise. - */ - private boolean isZip(String zipName) { - - String str = zipName.toLowerCase(); - if (str.endsWith("sxw") || zipName.endsWith("sxc")) { - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/test/build.xml b/xmerge/java/org/openoffice/xmerge/test/build.xml deleted file mode 100644 index 7c3a9d9e8319..000000000000 --- a/xmerge/java/org/openoffice/xmerge/test/build.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/test/makefile.mk b/xmerge/java/org/openoffice/xmerge/test/makefile.mk deleted file mode 100644 index cbb251658697..000000000000 --- a/xmerge/java/org/openoffice/xmerge/test/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_joox_test -PRJ=../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/util/ActiveSyncDriver.java b/xmerge/java/org/openoffice/xmerge/util/ActiveSyncDriver.java deleted file mode 100644 index 9a1f42eeb3c8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/ActiveSyncDriver.java +++ /dev/null @@ -1,147 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileInputStream; -import java.util.StringTokenizer; - -import java.net.URL; - -import org.openoffice.xmerge.Convert; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.ConverterFactory; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.util.registry.ConverterInfoMgr; -import org.openoffice.xmerge.util.registry.ConverterInfoReader; - -public class ActiveSyncDriver { - public static void main(String[] args) { - if (args.length != 4) { - return; - } - - ActiveSyncDriver asd = new ActiveSyncDriver(); - - try { - // At the moment can't really signal back to the calling DLL - asd.Convert(args[0], args[1], args[2], args[3]); - } - catch (Exception e) { - return; - } - } - - - private boolean Convert(String srcMime, String dstMime, String srcFile, String dstFile) throws Exception { - /* - * The classpath passed in by XMergeSync.dll should contain all of the - * jar files, but at the least it will contain xmerge.jar, so strip off - * the xmerge.jar portion and use the remainder to provide a root for - * the Pocket Word and Pocket Excel plugins. - */ - String ooClassDir = null; - String strClassPath = System.getProperty("java.class.path"); - - StringTokenizer st = new StringTokenizer(strClassPath, ";"); - - // There should be at least one element, but just in case - while (st.hasMoreTokens()) { - String s = st.nextToken(); - - if (s.endsWith("xmerge.jar")) { - ooClassDir = s.substring(0, s.indexOf("xmerge.jar")); - } - } - - if (ooClassDir == null) { - return true; - } - - - /* - * The XMergeSync.dll should will have checked for the presence of the - * jars at the same location already. - * - * Because they can be installed separately, though, the MIME types need - * to be check to see which one to load. - */ - File pluginJar = null; - if (srcMime.equals("staroffice/sxw") || srcMime.equals("application/x-pocket-word")) - { - pluginJar = new File(ooClassDir + "pocketWord.jar"); - } - else if (srcMime.equals("staroffice/sxc") || srcMime.equals("application/x-pocket-excel")) - { - pluginJar = new File(ooClassDir + "pexcel.jar"); - } - - ConverterInfoReader cirPlugin = new ConverterInfoReader(pluginJar.toURL().toString(), false); - - ConverterInfoMgr.addPlugIn(cirPlugin.getConverterInfoEnumeration()); - - ConverterFactory cf = new ConverterFactory(); - Convert conv = cf.getConverter(srcMime, dstMime); - - if (conv == null) { - return false; - } - - // Everything is registered so do the conversion - FileInputStream fis = new FileInputStream(srcFile); - FileOutputStream fos = new FileOutputStream(dstFile); - - conv.addInputStream(srcFile, fis); - - ConvertData dataOut; - try { - dataOut = conv.convert(); - } - catch (Exception e) { - return false; - } - - if (dataOut == null) { - return false; - } - - // Get the document and write it out. - Document doc = (Document)dataOut.getDocumentEnumeration().nextElement(); - if (doc == null) { - return false; - } - - doc.write(fos); - fos.flush(); - fos.close(); - - return true; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/util/ColourConverter.java b/xmerge/java/org/openoffice/xmerge/util/ColourConverter.java deleted file mode 100644 index 345a4e76ef6f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/ColourConverter.java +++ /dev/null @@ -1,446 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - - -import java.awt.Color; - -/** - * Utility class mapping RGB colour specifications to the colour indices used - * in the Pocket PC. The original converter was written for use with Pocket - * Word it was later put into the utils so Pocket excel could use this code - * also. For this reason the defualt values are those used by Pocket Word but - * a colour table can be passed in through the constructor to map the 16 - * values to a colour table. - * - * These colour indices are based on the Windows VGA 16 colour palette, which - * later was used as the basis for the named colours in the HTML 3.2 - * specification. - * - * In Pocket Word's case, the match to the VGA 16 palette is not exact as it - * swaps Grey and Silver, with Silver being the darker colour (i.e. having the - * lower RGB value). - */ - -public class ColourConverter { - - /** Colour table index for Black */ - private static final short BLACK = 0; - - /** Colour table index for Silver */ - private static final short SILVER = 1; - - /** Colour table index for Grey */ - private static final short GREY = 2; - - /** Colour table index for White */ - private static final short WHITE = 3; - - /** Colour table index for Red */ - private static final short RED = 4; - - /** Colour table index for Lime */ - private static final short LIME = 5; - - /** Colour table index for Blue */ - private static final short BLUE = 6; - - /** Colour table index for Aqua */ - private static final short AQUA = 7; - - /** Colour table index for Fuchsia */ - private static final short FUCHSIA = 8; - - /** Colour table index for Yellow */ - private static final short YELLOW = 9; - - /** Colour table index for Maroon */ - private static final short MAROON = 10; - - /** Colour table index for Green */ - private static final short GREEN = 11; - - /** Colour table index for Navy */ - private static final short NAVY = 12; - - /** Colour table index for Teal */ - private static final short TEAL = 13; - - /** Colour table index for Purple */ - private static final short PURPLE = 14; - - /** Colour table index for Olive */ - public static final short OLIVE = 15; - - private short tableLookup[] = null; - - /** - * Default constructor used in the case where a lookup table is not - * required - */ - public ColourConverter() { - - } - - /** - * Constructor that passes in the colour lookup table. This is required in - * cases where the 16 colour values are something other than there default - * values (e.g. in the case of pocket Excel) - * - * @param short[] a 16 bit array mapping the 16 colours to there values - */ - public ColourConverter(short lookup[]) { - - tableLookup = lookup; - } - - /** - * Uses the colour table it it exists to translate default values to - * values in the colorTable - */ - private short colourLookup(short colour) { - - if(tableLookup!=null) { - return tableLookup[colour]; - } else { - return colour; - } - } - - /** - * Uses the colour table it it exists to translate default values to - * values in the colorTable - */ - private short indexLookup(short index) { - - short result = 0; - - if(tableLookup!=null) { - for(short i = 0;i < tableLookup.length;i++) { - if(tableLookup[i]==index) - result = i; - } - } else { - result = index; - } - - return result; - } - /** - * This method maps a Pocket Word colour index value to an RGB value as - * used by OpenOffice. - * - * @param index The index into Pocket Word's colour table. - * - * @return A Color object representing the RGB value of the Pocket Word - * colour. - */ - public Color convertToRGB (short colour) { - - short index = indexLookup(colour); - - int r = 0; - int g = 0; - int b = 0; - - switch (index) { - case SILVER: - r = g = b = 128; - break; - - case GREY: - r = g = b = 192; - break; - - case WHITE: - r = g = b = 255; - break; - - case RED: - r = 255; - break; - - case LIME: - g = 255; - break; - - case BLUE: - b = 255; - break; - - case AQUA: - g = b = 255; - break; - - case FUCHSIA: - r = b = 255; - break; - - case YELLOW: - r = g = 255; - break; - - case MAROON: - r = 128; - break; - - case GREEN: - g = 128; - break; - - case NAVY: - b = 128; - break; - - case TEAL: - b = g = 128; - break; - - case PURPLE: - r = b = 128; - break; - - case OLIVE: - r = g = 128; - break; - - case BLACK: - default: - r = g = b = 0; - break; - } - - return new Color(r, g, b); - } - - - /** - * This method approximates an RGB value (as used by Writer) to one of the - * 16 available colours - * - * Most of the supported colours have their components set to either 0, 128 - * or 255. The exception is 'Grey' which is 0xC0C0C0. - * - * @param colour Color object representing the RGB value of the colour. - * - * @return Index into the Pocket Word colour table which represents the - * closest match to the specified colour. - */ - public short convertFromRGB (Color colour) { - int matchedRGB = 0; - short indexColour = 0; - int reducedMap[] = new int[] { 0, 0, 128 }; - - int red = colour.getRed(); - int green = colour.getGreen(); - int blue = colour.getBlue(); - - // We need to convert the pale colors to their base color rather than - // white so we modify the rgb values if the colour is sufficently - // white - if(red>0xC0 && green>0xC0 && blue>0xC0) { - - if(red!=0xFF) - red = getClosest(red, reducedMap); - if(green!=0xFF) - green = getClosest(green, reducedMap); - if(blue!=0xFF) - blue = getClosest(blue, reducedMap); - } - - /* - * Need to derive an RGB value that has been rounded to match the ones - * Pocket Word knows about. - */ - matchedRGB += getClosest(red) << 16; - matchedRGB += getClosest(green) << 8; - matchedRGB += getClosest(blue); - - /* - * The colour map used by Pocket Word doesn't have any combinations of - * values beyond 0 and any other value. A value of 255 in any RGB - * code indicates a dominant colour. Other colours are only modifiers - * to the principal colour(s). Thus, for this conversion, modifiers - * can be dropped. - */ - if ((matchedRGB & 0xFF0000) == 0xFF0000 || (matchedRGB & 0xFF00) == 0xFF00 - || (matchedRGB & 0xFF) == 0xFF) { - if ((matchedRGB & 0xFF0000) == 0x800000) { - matchedRGB ^= 0x800000; - } - if ((matchedRGB & 0xFF00) == 0x8000) { - matchedRGB ^= 0x8000; - } - if ((matchedRGB & 0xFF) == 0x80) { - matchedRGB ^= 0x80; - } - } - - - /* - * And now for the actual matching ... - * - * Colours are based on the Windows VGA 16 palette. One difference - * though is that Pocket Word seems to switch the RGB codes for Grey - * and Silver. In Pocket Word Silver is the darker colour leaving Grey - * is closest to White. - * - * Shades of grey will be converted to either Silver or White, where - * Grey may be a more appropraite colour. This is handled specially - * only for Silver and White matches. - */ - switch (matchedRGB) { - case 0x000000: - indexColour = BLACK; - break; - - case 0x808080: - if (!isGrey(colour)) { - indexColour = SILVER; - } - else { - indexColour = GREY; - } - break; - - case 0xFFFFFF: - if (!isGrey(colour)) { - indexColour = WHITE; - } - else { - indexColour = GREY; - } - break; - - case 0xFF0000: - indexColour = RED; - break; - - case 0x00FF00: - indexColour = LIME; - break; - - case 0x0000FF: - indexColour = BLUE; - break; - - case 0x00FFFF: - indexColour = AQUA; - break; - - case 0xFF00FF: - indexColour = FUCHSIA; - break; - - case 0xFFFF00: - indexColour = YELLOW; - break; - - case 0x800000: - indexColour = MAROON; - break; - - case 0x008000: - indexColour = GREEN; - break; - - case 0x000080: - indexColour = NAVY; - break; - - case 0x008080: - indexColour = TEAL; - break; - - case 0x800080: - indexColour = PURPLE; - break; - - case 0x808000: - indexColour = OLIVE; - break; - - default: // Just in case! - indexColour = BLACK; - break; - } - - return colourLookup(indexColour); - } - - - /* - * Default implementation, checks for the closest of value to 0, 128 or 255. - */ - private int getClosest(int value) { - int points[] = new int[] { 0, 128, 255 }; - - return getClosest(value, points); - } - - - /* - * Utility method that returns the closest of the three points to the value - * supplied. - */ - private int getClosest(int value, int[] points) { - - if (value == points[0] || value == points[1] || value == points[2]) { - return value; - } - - if (value < points[1]) { - int x = value - points[0]; - return (Math.round((float)x / (points[1] - points[0])) == 1 ? points[1] : points[0]); - } - else { - int x = value - points[1]; - return (Math.round((float)x / (points[2] - points[1])) >= 1 ? points[2] : points[1]); - } - } - - - /* - * Checks to see if the supplied colour can be considered to be grey. - */ - private boolean isGrey(Color c) { - int matchedRGB = 0; - int points[] = new int[] { 128, 192, 255 }; - - matchedRGB += getClosest(c.getRed(), points) << 16; - matchedRGB += getClosest(c.getGreen(), points) << 8; - matchedRGB += getClosest(c.getBlue(), points); - - if (matchedRGB == 0xC0C0C0) { - return true; - } - - return false; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/Debug.java b/xmerge/java/org/openoffice/xmerge/util/Debug.java deleted file mode 100644 index dcd5b0c8e1b0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/Debug.java +++ /dev/null @@ -1,341 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import java.io.BufferedWriter; -import java.io.IOException; -import java.io.FileWriter; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.io.Writer; -import java.text.DateFormat; -import java.util.Date; -import java.util.Calendar; -import java.util.Properties; -import org.w3c.dom.Node; - - -/** - * This class is used for logging debug messages. - * Currently, there are three types of logging: {@link #INFO}, - * {@link #TRACE} & {@link #ERROR}. Use the Debug.properties - * file to set or unset each type. Also use Debug.properties - * to set the writer to either System.out, - * System.err, or to a file. - * - * @author Herbie Ong - */ -public final class Debug { - - /** Informational messages. */ - public final static int INFO = 0x0001; - /** Error messages. */ - public final static int ERROR = 0x0002; - /** Trace messages. */ - public final static int TRACE = 0x0004; - - /** To set a flag. */ - public final static boolean SET = true; - /** To unset a flag. */ - public final static boolean UNSET = false; - - private static int flags = 0; - private static PrintWriter writer = null; - - static { - - try { - - Class c = new Debug().getClass(); - InputStream is = c.getResourceAsStream("Debug.properties"); - Properties props = new Properties(); - props.load(is); - - String info = props.getProperty("debug.info", "false"); - info = info.toLowerCase(); - - if (info.equals("true")) { - setFlags(Debug.INFO, Debug.SET); - } - - String trace = props.getProperty("debug.trace", "false"); - trace = trace.toLowerCase(); - - if (trace.equals("true")) { - setFlags(Debug.TRACE, Debug.SET); - } - - String error = props.getProperty("debug.error", "false"); - error = error.toLowerCase(); - - if (error.equals("true")) { - setFlags(Debug.ERROR, Debug.SET); - } - - String w = props.getProperty("debug.output", "System.out"); - setOutput(w); - - } catch (Throwable ex) { - - ex.printStackTrace(System.err); - } - } - - - /** - * Private constructor so as not to allow any instances - * of this class. This serves as a singleton class. - */ - private Debug() { - } - - - /** - * Set the output to the specified argument. - * This method is only used internally to prevent - * invalid string parameters. - * - * @param str Output specifier. - */ - private static void setOutput(String str) { - - if (writer == null) { - - if (str.equals("System.out")) { - - setOutput(System.out); - - } else if (str.equals("System.err")) { - - setOutput(System.err); - - } else { - - try { - - setOutput(new FileWriter(str)); - - } catch (IOException e) { - - e.printStackTrace(System.err); - } - } - } - } - - - /** - * Set the output to an OutputStream object. - * - * @param stream OutputStream object. - */ - private static void setOutput(OutputStream stream) { - - setOutput(new OutputStreamWriter(stream)); - } - - - /** - * Set the Writer object to manage the output. - * - * @param w Writer object to write out. - */ - private static void setOutput(Writer w) { - - if (writer != null) { - - writer.close(); - } - - writer = new PrintWriter(new BufferedWriter(w), true); - } - - - /** - *

    - * This method sets the levels for debugging logs. - * Example calls: - *

    - * - *
    
    -     *  Debug.setFlags( Debug.INFO, Debug.SET )
    -     *  Debug.setFlags( Debug.TRACE, Debug.SET )
    -     *  Debug.setFlags( Debug.INFO | Debug.TRACE, Debug.SET )
    -     *  Debug.setFlags( Debug.ERROR, Debug.UNSET )
    -     *  
    - * - * @param f Debug flag - * @param set Use Debug.SET to set, and Debug.UNSET to unset - * the given flag. - */ - private static void setFlags(int f, boolean set) { - - if (set) { - flags |= f; - } else { - flags &= ~f; - } - } - - - /** - * Prints out information regarding platform. - */ - public static void logSystemInfo() { - - if (writer != null) { - - writer.println(); - writer.println("Platform Information:"); - writer.println("OS : " + System.getProperty("os.name")); - writer.println("Version : " + System.getProperty("os.version")); - writer.println("Platform : " + System.getProperty("os.arch")); - writer.println("JDK Version : " + System.getProperty("java.version")); - writer.println("JDK Vendor : " + System.getProperty("java.vendor")); - writer.println(); - } - } - - - /** - * Prints out timestamp. - */ - public static void logTime() { - - if (writer != null) { - - Date time = Calendar.getInstance().getTime(); - DateFormat dt = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); - writer.println(dt.format(time)); - } - } - - - /** - * Checks if flag is set. - * - * @return true if info logging is on, otherwise false - */ - public static boolean isFlagSet(int f) { - - return ((flags & f) != 0); - } - - - /** - *

    Log message based on the flag type.

    - * - *

    Example 1:

    - * - *
    
    -     *  Debug.log(Debug.INFO, "info string here");
    -     *  
    - * - *

    This logs the message during runtime if - * debug.info in the properties file is - * set to true.

    - * - *

    Example 2:

    - * - *
    
    -     *  Debug.log(Debug.INFO | Debug.TRACE, "info string here");
    -     *  
    - * - *

    This logs the message during runtime if debug.info or debug.trace - * in the properties file is set to true.

    - * - * @param int Log type, one of the Debug constants - * {@link #INFO}, {@link #TRACE}, {@link #ERROR} - * or a combination of which or'ed together. - * @param msg The message. - */ - public static void log(int flag, String msg) { - - if (isFlagSet(flag)) { - - if (writer != null) { - - writer.println(msg); - } - } - } - - - /** - * Log message based on flag type plus print out stack trace - * of the exception passed in. Refer to the other log method - * for description. - * - * @param int Log type, one of the Debug constants - * {@link #INFO}, {@link #TRACE}, {@link #ERROR} - * or a combination of which or'ed together. - * @param msg The message. - * @param e Throwable object. - */ - public static void log(int flag, String msg, Throwable e) { - - if (isFlagSet(flag)) { - - if (writer != null) { - - writer.println(msg); - if (e != null) - e.printStackTrace(writer); - } - } - } - - - /** - * Converts the given bytes to a String of - * Hex digits. - * - * @param bytes byte array. - * - * @return Hex representation in a String. - */ - public static String byteArrayToHexString(byte bytes[]) { - - StringBuffer buff = new StringBuffer(); - - for (int i = 0; i < bytes.length; i++) { - - int ch = ((int) bytes[i] & 0xff); - String str = Integer.toHexString(ch); - if (str.length() < 2) - buff.append('0'); - buff.append(str); - buff.append(' '); - } - - return buff.toString(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/Debug.properties b/xmerge/java/org/openoffice/xmerge/util/Debug.properties deleted file mode 100644 index 4be4427837a7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/Debug.properties +++ /dev/null @@ -1,38 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - - -# -# debug logging information and settings. -# - -debug.info=false -debug.trace=false -debug.error=false -debug.output=System.err - - diff --git a/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java b/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java deleted file mode 100644 index 353bee82efdc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/EndianConverter.java +++ /dev/null @@ -1,179 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.util; - - -/** - *

    Helper class providing static methods to convert data to/from - * Network Byte Order (Big Endian).

    - * - *

    With the introduction of java.nio.ByteOrder and - * java.nio.ByteBuffer in Java 1.4, it may no longer be - * necessary to use this class in the future.

    - * - * @author Mark Murnane - * @version 1.1 - */ -public class EndianConverter { - - /** - *

    Convert a short to a Little Endian representation.

    - * - * @param value The short to be converted. - * - * @return Two element byte array containing the converted - * value. - */ - public static byte[] writeShort (short value) { - byte[] leShort = new byte[2]; - - leShort[0] = (byte) value; - leShort[1] = (byte) (value >>> 8); - - return leShort; - } - - - /** - *

    Convert an integer to a Little Endian representation.

    - * - * @param value The int to be converted. - * - * @return Four element byte array containing the converted - * value. - */ - public static byte[] writeInt (int value) { - byte[] leInt = new byte[4]; - - leInt[0] = (byte) value; - leInt[1] = (byte) (value >>> 8); - leInt[2] = (byte) (value >>> 16); - leInt[3] = (byte) (value >>> 24); - - return leInt; - } - - /** - *

    Converts a double to a Little Endian representation - * of a float in IEEE-754 format. - * - *

    An array with more than eight elements can be used, but only the first - * eight elements will be read.

    - * - * @param value double containing the value to be converted - * - * @return byte array containing the LE representation of a IEEE-754 float - */ - public static byte[] writeDouble(double value) { - - long myDouble = Double.doubleToLongBits(value); - byte[] leDouble = new byte[8]; - - leDouble[0] = (byte) (myDouble >>> 0); - leDouble[1] = (byte) (myDouble >>> 8); - leDouble[2] = (byte) (myDouble >>> 16); - leDouble[3] = (byte) (myDouble >>> 24); - leDouble[4] = (byte) (myDouble >>> 32); - leDouble[5] = (byte) (myDouble >>> 40); - leDouble[6] = (byte) (myDouble >>> 48); - leDouble[7] = (byte) (myDouble >>> 56); - - return leDouble; - } - - /** - *

    Convert a Little Endian representation of a short to a Java - * short (Network Byte Order).

    - * - *

    An array with more than two elements can be used, but only the first - * two elements will be read.

    - * - * @param value byte array containing the LE representation - * of the value. - * - * @return short containing the converted value. - */ - public static short readShort (byte[] value) { - int high, low; - - high = value[1] & 0xFF; - low = value[0] & 0xFF; - - return (short)(high << 8 | low); - } - - - /** - *

    Convert a Little Endian representation of an integer to a Java - * int (Network Byte Order).

    - * - *

    An array with more than four elements can be used, but only the first - * four elements will be read.

    - * - * @param value byte array containing the LE representation - * of the value. - * - * @return int containing the converted value. - */ - public static int readInt(byte[] value) { - int number = 0; - - for (int i = 0; i < 4; i++) { - number |= (value[i] & 0xFF) << ( i * 8); - } - - return number; - } - - /** - *

    Convert a Little Endian representation of a float in IEEE-754 Little - * Endian to a Java double (Network Byte Order).

    - * - *

    An array with more than eight elements can be used, but only the first - * eight elements will be read.

    - * - * @param value byte array containing the LE representation - * of a IEEE-754 float. - * - * @return double containing the converted value. - */ - public static double readDouble(byte[] value) { - - long lvalue = ( ((long)(value[7]) << 56) + - ((long)(value[6]&0xFF) << 48) + - ((long)(value[5]&0xFF) << 40) + - ((long)(value[4]&0xFF) << 32) + - ((long)(value[3]&0xFF) << 24) + - ((long)(value[2]&0xFF) << 16) + - ((long)(value[1]&0xFF) << 8) + - (long)(value[0]&0xFF)); - - return Double.longBitsToDouble(lvalue); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java b/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java deleted file mode 100644 index 41fa1ce6085b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java +++ /dev/null @@ -1,147 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import java.util.ArrayList; -import java.lang.Integer; - -/** - * This is a convenience class used to create an - * ArrayList of integers. - */ -public class IntArrayList { - - /** The list to hold our integers. */ - private ArrayList list; - - /** - * Constructor. - * Creates the list with 0 length. - */ - public IntArrayList() { - list = new ArrayList(); - } - - - /** - * Constructor. - * - * @param initialCapacity Initial capacity of the list. - */ - public IntArrayList(int initialCapacity) { - list = new ArrayList(initialCapacity); - } - - - /** - * This method ensures that the list is large enough for - * minCapacity elements. - * - * @param minCapacity The minimum capacity of the list. - */ - public void ensureCapacity(int minCapacity) { - - list.ensureCapacity(minCapacity); - } - - - /** - * This method ensures that the list is large enough for - * minCapacity elements. It also fills in the - * new slots in the list with the integer value input as - * fillValue. - * - * @param minCapacity The minimum capacity of the list. - * @param fillValue This method adds in a integer for each - * slot that was added to ensure that the - * list meets the minimum capacity. - * fillValue is the value - * used as the initial value of these - * added elements. - */ - public void ensureCapacityAndFill(int minCapacity, int fillValue) { - - list.ensureCapacity(minCapacity); - - int needToAdd = minCapacity - list.size(); - if (needToAdd > 0) { - for (int i = 0; i < needToAdd; i++) { - list.add(new Integer(fillValue)); - } - } - } - - - /** - * This method sets an element of the list to the input - * integer value. - * - * @param index The index in the list of the element - * we wish to set. - * @param value The integer value that we assign to the - * selected element of the list. - */ - public void set(int index, int value) { - list.set(index, new Integer(value)); - } - - - /** - * This method appends an element to the list. - * - * @param value The integer value that we assign to the - * element that we are appending to the list. - */ - public void add(int value) { - list.add(new Integer(value)); - } - - - /** - * This method gets the integer value stored in element index. - * - * @param index The index in the list of the element - * we wish to get the value from. - * - * @return The value of the data stored in element index. - */ - public int get(int index) { - return ((Integer)list.get(index)).intValue(); - } - - - /** - * This method gets the size of the list. - * - * @return The size of the list. - */ - public int size() { - return list.size(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/OfficeUtil.java b/xmerge/java/org/openoffice/xmerge/util/OfficeUtil.java deleted file mode 100644 index 206581c0da61..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/OfficeUtil.java +++ /dev/null @@ -1,135 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.Text; - -import org.openoffice.xmerge.converter.xml.OfficeConstants; - -import java.util.Vector; - - -/** - * Class providing utility methods for OpenOffice plugins. - * - * @author Mark Murnane - * @version 1.1 - */ -public class OfficeUtil implements OfficeConstants { - - /** - *

    Method to replace whitespace character within text with appropriate - * OpenOffice tags.

    - * - * @param text The text to parse for whitespace. - * - * @return Node array containing OpenOffice XML nodes - * representing the text. - */ - public static Node[] parseText(String text, Document parentDoc) { - Vector nodeVec = new Vector(); - - /* - * Break up the text from the text run into Open - * Office text runs. There may be more runs in OO because - * runs of 2 or more spaces map to nodes. - */ - while ((text.indexOf(" ") != -1) || (text.indexOf("\t") != 1)) { - - /* - * Find the indices of tabs and multiple spaces, and - * figure out which of them occurs first in the string. - */ - int spaceIndex = text.indexOf(" "); - int tabIndex = text.indexOf("\t"); - if ((spaceIndex == -1) && (tabIndex == -1)) - break; // DJP This should not be necessary. What is wrong - // with the while() stmt up above? - int closerIndex; // Index of the first of these - if (spaceIndex == -1) - closerIndex = tabIndex; - else if (tabIndex == -1) - closerIndex = spaceIndex; - else - closerIndex = (spaceIndex > tabIndex) ? tabIndex : spaceIndex; - - /* - * If there is any text prior to the first occurrence of a - * tab or spaces, create a text node from it, then chop it - * off the string we're working with. - */ - if (closerIndex > 0) { - String beginningText = text.substring(0, closerIndex); - Text textNode = parentDoc.createTextNode(beginningText); - nodeVec.addElement(textNode); - } - text = text.substring(closerIndex); - - /* - * Handle either tab character or space sequence by creating - * an element for it, and then chopping out the text that - * represented it in "text". - */ - if (closerIndex == tabIndex) { - Element tabNode = parentDoc.createElement(TAG_TAB_STOP); - nodeVec.add(tabNode); - text = text.substring(1); // tab is always a single character - } else { - // Compute length of space sequence. - int nrSpaces = 2; - while ((nrSpaces < text.length()) - && text.substring(nrSpaces, nrSpaces + 1).equals(" ")) - nrSpaces++; - - Element spaceNode = parentDoc.createElement(TAG_SPACE); - spaceNode.setAttribute(ATTRIBUTE_SPACE_COUNT, - new Integer(nrSpaces).toString()); - nodeVec.add(spaceNode); - text = text.substring(nrSpaces); - } - } - - /* - * No more tabs or space sequences. If there's any remaining - * text create a text node for it. - */ - if (text.length() > 0) { - Text textNode = parentDoc.createTextNode(text); - nodeVec.add(textNode); - } - - // Now create and populate an array to return the nodes in. - Node nodes[] = new Node[nodeVec.size()]; - for (int i = 0; i < nodeVec.size(); i++) - nodes[i] = (Node)nodeVec.elementAt(i); - return nodes; - } -} diff --git a/xmerge/java/org/openoffice/xmerge/util/Resources.java b/xmerge/java/org/openoffice/xmerge/util/Resources.java deleted file mode 100644 index b94eb70e3605..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/Resources.java +++ /dev/null @@ -1,100 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import java.util.ResourceBundle; -import java.util.MissingResourceException; - -/** - *

    Provides a singleton resource class for converter messages.

    - * - *

    By default, this class will search for a - * ResourceBundle class file or properties file based - * on the default locale.

    - * - *

    A properties file resources.properties will be provided.

    - * - *

    Note that if the resource bundle object is not loaded, the - * construction of the singleton object will throw a - * MissingResourceException, which is a - * RuntimeException, thus I opted to not explicitly - * declare it. If it does throw MissingResourceException, - * it may be due to a packaging problem.

    - * - * @author Herbie Ong - */ -public final class Resources -{ - private ResourceBundle rb = null; - - private static Resources instance = null; - - - /** - * This method returns the singleton instance - * of this class. - * - * @return The singleton Resources - * instance. - */ - public synchronized static Resources getInstance() - { - if (instance == null) - { - instance = new Resources(); - } - - return instance; - } - - - /** - * Default constructor is only accessible within this class. - * Load the resource bundle that contains the resource - * String values. - */ - private Resources() - { - rb = ResourceBundle.getBundle("org.openoffice.xmerge.util.resources"); - } - - - /** - * This method returns the corresponding String given - * the key. - * - * @param key Key string for getting the message - * String. - * @return Message String corresponding to the key. - */ - public String getString(String key) - { - return rb.getString(key); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/TwipsConverter.java b/xmerge/java/org/openoffice/xmerge/util/TwipsConverter.java deleted file mode 100644 index c587ada48be1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/TwipsConverter.java +++ /dev/null @@ -1,100 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -package org.openoffice.xmerge.util; - - -/** - *

    Helper class providing static methods to convert data to/from - * twips

    - * - * @author Martin Maher - */ -public class TwipsConverter { - - /** - *

    Convert from twips to cm's

    - * - * @param value The short to be converted. - * - * @return float containing the converted - */ - public static float twips2cm(int value) { - - float inches = (float) value/1440; - float cm = (float) inches*(float)2.54; - - return cm; - } - - - - /** - *

    Convert from cm's to twips

    - * - * @param value byte array containing the LE representation - * of the value. - * - * @return int containing the converted value. - */ - public static int cm2twips(float value) { - - int twips = (int) ((value/2.54)*1440); - - return twips; - } - - /** - *

    Convert from twips to cm's

    - * - * @param value The short to be converted. - * - * @return float containing the converted - */ - public static float twips2inches(int value) { - - return (float) value/1440; - } - - - - /** - *

    Convert from cm's to twips

    - * - * @param value byte array containing the LE representation - * of the value. - * - * @return int containing the converted value. - */ - public static int inches2twips(float value) { - - return (int) (value*1440); - } - - -} diff --git a/xmerge/java/org/openoffice/xmerge/util/XmlUtil.java b/xmerge/java/org/openoffice/xmerge/util/XmlUtil.java deleted file mode 100644 index 1abdba9a95c3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/XmlUtil.java +++ /dev/null @@ -1,189 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util; - -import org.w3c.dom.Node; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; - -/** - * Class containing static util methods for handling XML trees. - * - * @author smak - */ -public final class XmlUtil { - - - /** - * Perform a deep clone of certain Node which - * will base on the document Node of the old - * Node. - * - * @param oldNode The Document of this - * Node is used to clone - * the Node - * @param newNode The Node to clone. - * - * @return The cloned Node. - */ - public static Node deepClone(Node oldNode, Node newNode) { - Document docNode = oldNode.getOwnerDocument(); - - // clone the starting node - Node clonedNode = cloneNode(docNode, newNode); - - // then clone the sub-tree recursively - cloneTree(docNode, clonedNode, newNode); - - return clonedNode; - } - - - /** - * Clone the sub-tree under certain given Node - * - * @param docNode The Document used to clone - * the Node. - * @param oldNode The Node to clone. - * @param newNode The destination Node. - */ - private static void cloneTree(Document docNode, Node oldNode, Node newNode) { - - NodeList nodeList = newNode.getChildNodes(); - int nodeListLen = nodeList.getLength(); - - for (int i = 0; i < nodeListLen; i++) { - Node newClonedChild = cloneNode(docNode, nodeList.item(i)); - if (newClonedChild != null) { - oldNode.appendChild(newClonedChild); - cloneTree(docNode, newClonedChild, nodeList.item(i)); - } - } - } - - - /** - * Clone a Node (either text or element). - * - * @param docNode The Document used to - * clone the Node. - * @param newNode The Node to clone. - * - * @return The cloned Node. - */ - private static Node cloneNode(Document docNode, Node newNode) { - - Node clonedNode = null; - - // only support text node and element node (will copy the attributes) - switch (newNode.getNodeType()) { - case Node.TEXT_NODE: - String textStr = newNode.getNodeValue(); - clonedNode = docNode.createTextNode(textStr); - break; - case Node.ELEMENT_NODE: - Element oldElem = (Element)newNode; - String tagName = newNode.getNodeName(); - Element newElem = (docNode.createElement(tagName)); - - // copy the attributes - NamedNodeMap attrs = oldElem.getAttributes(); - - for (int i = 0; i < attrs.getLength(); i++) { - newElem.setAttribute(attrs.item(i).getNodeName(), - attrs.item(i).getNodeValue()); - } - clonedNode = newElem; - break; - } - return clonedNode; - } - - - /** - * Returns the name and type of an XML DOM Node. - * - * @param node Node to query. - * - * @return Name and type of XML DOM Node. - */ - public static String getNodeInfo(Node node) { - - String str = null; - switch (node.getNodeType()) { - - case Node.ELEMENT_NODE: - str = "ELEMENT"; - break; - case Node.ATTRIBUTE_NODE: - str = "ATTRIBUTE"; - break; - case Node.TEXT_NODE: - str = "TEXT"; - break; - case Node.CDATA_SECTION_NODE: - str = "CDATA_SECTION"; - break; - case Node.ENTITY_REFERENCE_NODE: - str = "ENTITY_REFERENCE"; - break; - case Node.ENTITY_NODE: - str = "ENTITY"; - break; - case Node.PROCESSING_INSTRUCTION_NODE: - str = "PROCESSING_INSTRUCTION"; - break; - case Node.COMMENT_NODE: - str = "COMMENT"; - break; - case Node.DOCUMENT_NODE: - str = "DOCUMENT"; - break; - case Node.DOCUMENT_TYPE_NODE: - str = "DOCUMENT_TYPE"; - break; - case Node.DOCUMENT_FRAGMENT_NODE: - str = "DOCUMENT_FRAGMENT"; - break; - case Node.NOTATION_NODE: - str = "NOTATION"; - break; - } - - StringBuffer buffer = new StringBuffer("name=\""); - buffer.append(node.getNodeName()); - buffer.append("\" type=\""); - buffer.append(str); - buffer.append("\""); - - return buffer.toString(); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/build.xml b/xmerge/java/org/openoffice/xmerge/util/build.xml deleted file mode 100644 index d4c375799e15..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/build.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/util/makefile.mk b/xmerge/java/org/openoffice/xmerge/util/makefile.mk deleted file mode 100644 index c2eb64b9ff3d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_joox_util -PRJ=../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/util/package.html b/xmerge/java/org/openoffice/xmerge/util/package.html deleted file mode 100644 index e562149c82bc..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/package.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -org.openoffice.xmerge.util package - - - -

    Provides general purpose utilities.

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java b/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java deleted file mode 100644 index 0d662294b4b7..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java +++ /dev/null @@ -1,436 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util.registry; - -import java.util.Vector; -import java.util.Enumeration; -import java.net.URL; -import java.net.URLClassLoader; -import java.lang.reflect.Constructor; -import org.openoffice.xmerge.PluginFactory; -import org.openoffice.xmerge.DocumentSerializerFactory; -import org.openoffice.xmerge.DocumentDeserializerFactory; -import org.openoffice.xmerge.DocumentMergerFactory; - -/** - * Class for storing the information about a converter plugin. - * - * @author Brian Cameron - */ -public class ConverterInfo { - - /** - * Keep track of the valid Office mime types - */ - private static String[] validOfficeTypes; - public static String SxwType = "staroffice/sxw"; - public static String SxcType = "staroffice/sxc"; - - - static { - // This needs to be updated to reflect all valid office types. - // - validOfficeTypes = new String[2]; - validOfficeTypes[0] = SxwType; - validOfficeTypes[1] = SxcType; - } - - private String piJarName; - private String piOfficeMime; - private Vector piDeviceMime; - private String piDisplayName; - private String piDescription; - private String piVersion; - private String piVendor; - private String piClassImpl; - private String piXsltSerial; - private String piXsltDeserial; - private boolean piCanSerialize = false; - private boolean piCanDeserialize = false; - private boolean piCanMerge = false; - private ClassLoader piClassLoader = null; - private PluginFactory piPluginFactory; - - - /** - * The constructor builds a ConverterInfo structure. - * - * @param jarName The URL of the jarfile. - * @param officeMime The office mime-type. - * @param deviceMime The device mime-type. - * @param displayName The display name. - * @param description The description. - * @param version The version. - * @param vendor The vendor name. - * @param impl The implementation class name of - * PluginFactory. - * @param xsltSerial The url of the serializer xsl stylesheet - * @param xsltDeserial The url of the deserializer xsl stylesheet - * - * @throws RegistryException If ci cannot - * be loaded. - */ - public ConverterInfo(String jarName, String officeMime, - Vector deviceMime, String displayName, String description, - String version, String vendor, String impl,String xsltSerial, - String xsltDeserial) - throws RegistryException { - - if (isValidOfficeType(officeMime.trim()) == false) { - RegistryException re = new RegistryException( - "Invalid office type"); - throw re; - } - - piJarName = jarName.trim(); - piOfficeMime = officeMime.trim(); - piDeviceMime = deviceMime; - piDisplayName = displayName.trim(); - piDescription = description.trim(); - piVersion = version.trim(); - piVendor = vendor.trim(); - piXsltSerial = xsltSerial.trim(); - piXsltDeserial= xsltDeserial.trim(); - piClassImpl = impl.trim(); - piClassLoader = this.getClass().getClassLoader(); - - // Get instance of the PluginFactory. - // - try { - URL jarURL = new URL(jarName); - URLClassLoader loader = new URLClassLoader(new URL[] { jarURL }, - piClassLoader); - Class clas = loader.loadClass(piClassImpl); - Class[] argumentTypes = { org.openoffice.xmerge.util.registry.ConverterInfo.class }; - Constructor construct = clas.getConstructor(argumentTypes); - - Object[] arguments = { this }; - piPluginFactory = ( PluginFactory ) construct.newInstance(arguments); - - // See which interfaces the plug-in PluginFactory supports. - // - Class[] cl = piPluginFactory.getClass().getInterfaces(); - for (int i=0; i < cl.length; i++) { - - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentSerializerFactory")) { - piCanSerialize = true; - } - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentDeserializerFactory")) { - piCanDeserialize = true; - } - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentMergerFactory")) { - piCanMerge = true; - } - } - - } catch (Exception e) { - RegistryException re = new RegistryException( - "Class implementation of the plug-in cannot be loaded."); - throw re; - } - } - - /** - * The constructor builds a ConverterInfo structure. - * - * @param jarName The URL of the jarfile. - * @param officeMime The office mime-type. - * @param deviceMime The device mime-type. - * @param displayName The display name. - * @param description The description. - * @param version The version. - * @param vendor The vendor name. - * @param impl The implementation class name of - * PluginFactory. - * - * @throws RegistryException If ci cannot - * be loaded. - */ - - - public ConverterInfo(String jarName, String officeMime, - Vector deviceMime, String displayName, String description, - String version, String vendor, String impl) - throws RegistryException { - - if (isValidOfficeType(officeMime.trim()) == false) { - RegistryException re = new RegistryException( - "Invalid office type"); - throw re; - } - - piJarName = jarName.trim(); - piOfficeMime = officeMime.trim(); - piDeviceMime = deviceMime; - piDisplayName = displayName.trim(); - piDescription = description.trim(); - piVersion = version.trim(); - piVendor = vendor.trim(); - piClassImpl = impl.trim(); - piClassLoader = this.getClass().getClassLoader(); - - // Get instance of the PluginFactory. - // - try { - URL jarURL = new URL(jarName); - URLClassLoader loader = new URLClassLoader(new URL[] { jarURL }, - piClassLoader); - Class clas = loader.loadClass(piClassImpl); - Class[] argumentTypes = { org.openoffice.xmerge.util.registry.ConverterInfo.class }; - Constructor construct = clas.getConstructor(argumentTypes); - - Object[] arguments = { this }; - piPluginFactory = ( PluginFactory ) construct.newInstance(arguments); - - // See which interfaces the plug-in PluginFactory supports. - // - Class[] cl = piPluginFactory.getClass().getInterfaces(); - for (int i=0; i < cl.length; i++) { - - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentSerializerFactory")) { - piCanSerialize = true; - } - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentDeserializerFactory")) { - piCanDeserialize = true; - } - if (cl[i].getName().equals("org.openoffice.xmerge.DocumentMergerFactory")) { - piCanMerge = true; - } - } - - } catch (Exception e) { - RegistryException re = new RegistryException( - "Class implementation of the plug-in cannot be loaded."); - throw re; - } - } - - - - - /** - * Create a default constructor so we can use isValidOfficeType - * without having to actually have a valid ConverterInfo. - */ - private ConverterInfo() { - } - - - /** - * Returns an instance of the DocumentDeserializerFactory interface. - * - * @return instance of the DocumentDeserializer for this ConverterInfo. - */ - public DocumentSerializerFactory getDocSerializerFactory() { - return (DocumentSerializerFactory)piPluginFactory; - } - - - /** - * Returns an instance of the DocumentSerializerFactory interface. - * - * @return instance of the DocumentSerializer for this ConverterInfo. - */ - public DocumentDeserializerFactory getDocDeserializerFactory() { - return (DocumentDeserializerFactory)piPluginFactory; - } - - - /** - * Returns an instance of the DocumentMergerFactory interface. - * - * @return instance of the DocumentMergerFactory for this ConverterInfo. - */ - public DocumentMergerFactory getDocMergerFactory() { - return (DocumentMergerFactory)piPluginFactory; - } - - - /** - * Returns the jar file name. - * - * @return The jar file name, null if none exists. - */ - public String getJarName() { - return piJarName; - } - - - /** - * Returns the office mime-type. - * - * @return The office mime-type, null if none exists. - */ - public String getOfficeMime() { - return piOfficeMime; - } - - - /** - * Returns an Enumeration of String - * objects indicating the device mime-type. - * - * @return An Enumeration of String - * objects indicating the device mime-type. - */ - public Enumeration getDeviceMime() { - return(piDeviceMime.elements()); - } - - - /** - * Returns the display name. - * - * @return The display name, null if none exists. - */ - public String getDisplayName() { - return piDisplayName; - } - - - /** - * Returns the description. - * - * @return The description, null if none exists. - */ - public String getDescription() { - return piDescription; - } - - - /** - * Returns the version. - * - * @return The version, null if none exists. - */ - public String getVersion() { - return piVersion; - } - - - /** - * Returns the vendor name. - * - * @return The vendor name, null if none exists. - */ - public String getVendor() { - return piVendor; - } - - - /** - * Returns the implementation class name of PluginFactory. - * - * @return The implementation class name of PluginFactory, - * null if none exists. - */ - public String getClassImpl() { - return piClassImpl; - } - - - /** - * Returns the PluginFactory instance for this plug-in. - * - * @return The PluginFactory instance for this plug-in. - */ - public PluginFactory getPluginFactory() { - return piPluginFactory; - } - - - /** - * Returns true if this plug-in has a serializier, false otherwise. - * - * @return true if this plug-in has a serializier, false otherwise. - */ - public boolean canSerialize() { - return piCanSerialize; - } - - - /** - * Returns true if this plug-in has a deserializier, false otherwise. - * - * @return true if this plug-in has a deserializier, false otherwise. - */ - public boolean canDeserialize() { - return piCanDeserialize; - } - - - /** - * Returns true if this plug-in has a merger, false otherwise. - * - * @return true if this plug-in has a merger, false otherwise. - */ - public boolean canMerge() { - return piCanMerge; - } - - - /** - * Returns true if the officeMime is a valid Office mime type. - * - * @return true if the officeMime is a valid Office mime type. - */ - public static boolean isValidOfficeType(String officeMime) { - - boolean rc = false; - for (int i=0; i < validOfficeTypes.length; i++) { - if (officeMime.equals(validOfficeTypes[i])) { - rc = true; - } - } - - return rc; - } - - /** - * Returns a String containing the Xslt stylesheet url that - * is to be used by the Xslt Plugin Serializer. - * - * @return String - */ - - public String getXsltSerial() { - return piXsltSerial; - } - - /** - * Returns a String containing the xslt stylesheet url that - * is to be used by the Xslt Plugin Deserializer. - * - * @return String - */ - - public String getXsltDeserial() { - return piXsltDeserial; - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoMgr.java b/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoMgr.java deleted file mode 100644 index 7aff201a30e6..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoMgr.java +++ /dev/null @@ -1,536 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -package org.openoffice.xmerge.util.registry; - -import java.util.*; -import java.io.*; -import javax.xml.parsers.*; - -/** - * Manages the converter plug-ins that are currently active. - * This class allows plug-ins to be added or removed dynamically. - * This class is a singleton (static) class, so that only one - * manager can exist at a time. It is final, so it may not be - * subclassed. - * - * @author: Brian Cameron - */ -public final class ConverterInfoMgr { - - private static Vector converterInfoList; - - /** - * Constructor - */ - static { - converterInfoList = new Vector(); - } - - - /** - * Adds a converter plug-in to the registry. The - * ConverterInfo must have a unique DisplayName - * and must have non-null values for DisplayName, ClassImpl, - * OfficeMime, and DeviceMime. - * - * @param ConverterInfo A ConverterInfo object - * describing a plug-in. - * - * @throws RegistryException If the ConverterInfo - * is not valid. - */ - public static void addPlugIn(ConverterInfo ci) throws RegistryException { - - ConverterInfo converterInfo; - - // Validate - // - if (ci.getDisplayName() == null) { - RegistryException re = new RegistryException( - "Converter must have valid name."); - throw re; - } - if (ci.getClassImpl() == null) { - RegistryException re = new RegistryException( - "Converter must have valid class implementation specified."); - throw re; - } - if (ci.getOfficeMime() == null) { - RegistryException re = new RegistryException( - "Converter must have valid office mime specified."); - throw re; - } - if (! ci.getDeviceMime().hasMoreElements()) { - RegistryException re = new RegistryException( - "Converter must have valid device mime specified."); - throw re; - } - - // Verify there is no converter with the same Display Name in - // the registry. - // - Enumeration ciEnum = converterInfoList.elements(); - while (ciEnum.hasMoreElements()) { - converterInfo = (ConverterInfo)ciEnum.nextElement(); - if (ci.getDisplayName().equals(converterInfo.getDisplayName())) { - RegistryException re = new RegistryException( - "Converter with specified display name already exists."); - throw re; - } - } - - // Since this is a adding to a static Vector, make sure this - // add method call is synchronized. - // - synchronized (converterInfoList) { - converterInfoList.add(ci); - } - } - - - /** - * Adds a Vector of converter plug-ins to the registry. - * Each ConverterInfo in the Vector must have - * a unique DisplayName and must have non-null values for DisplayName, - * ClassImpl, OfficeMime, and DeviceMime. - * - * @param ciVectory A Vector of ConverterInfo - * objects describing one or more plug-in(s). - * - * @throws RegistryException If a ConverterInfo in the - * Vector is not valid. - */ - public static void addPlugIn(Enumeration jarEnum) throws RegistryException { - - while (jarEnum.hasMoreElements()) { - ConverterInfo converterInfo = (ConverterInfo)jarEnum.nextElement(); - addPlugIn(converterInfo); - } - } - - - /** - * Returns an Enumeration of registered - * ConverterInfo objects. - * - * @return An Enumeration containing the currently registered - * ConverterInfo objects, an empty - * Vector if none exist. - */ - public static Enumeration getConverterInfoEnumeration() { - return (converterInfoList.elements()); - } - - - /** - * Removes any ConverterInfo object from the registry - * that have the specified jar name value. - * - * @param jar The name of the jarfile. - * - * @return True if a ConverterInfo object was - * removed, false otherwise. - */ - public static boolean removeByJar(String jar) { - - ConverterInfo converterInfo; - boolean rc = false; - - // FIX (HJ): Has to use an iterator, since we are removing items - /*Enumeration ciEnum = converterInfoList.elements(); - while (ciEnum.hasMoreElements()) - { - converterInfo = (ConverterInfo)ciEnum.nextElement(); - if (jar.equals(converterInfo.getJarName())) { - converterInfoList.remove(converterInfo); - rc = true; - } - }*/ - - Iterator ciIter = converterInfoList.iterator(); - while (ciIter.hasNext()) - { - converterInfo = (ConverterInfo)ciIter.next(); - if (jar.equals(converterInfo.getJarName())) { - ciIter.remove(); - rc = true; - } - } - return rc; - } - - - /** - * Removes any ConverterInfo object from the registry - * that have the specified display name value. - * - * @param name The display name. - * - * @return True if a ConverterInfo object was - * removed, false otherwise. - */ - public static boolean removeByName(String name) { - - ConverterInfo converterInfo; - boolean rc = false; - - Enumeration ciEnum = converterInfoList.elements(); - while (ciEnum.hasMoreElements()) - { - converterInfo = (ConverterInfo)ciEnum.nextElement(); - if (name.equals(converterInfo.getDisplayName())) { - converterInfoList.remove(converterInfo); - rc = true; - } - } - return rc; - } - - - /** - * Returns the ConverterInfo object that supports - * the specified device/office mime type conversion. If there - * are multiple ConverterInfo objects registered - * that support this conversion, only the first is returned. - * - * @param deviceMime The device mime. - * @param officeMime The office mime. - * - * @return The first plug-in that supports the specified - * conversion. - */ - public static ConverterInfo findConverterInfo(String deviceMime, String officeMime) { - - ConverterInfo converterInfo; - - if (deviceMime == null || - ConverterInfo.isValidOfficeType(officeMime) == false) { - return null; - } - - // Loop over elements comparing with deviceFromMime - // - Enumeration ciEnum = converterInfoList.elements(); - while (ciEnum.hasMoreElements()) { - - converterInfo = (ConverterInfo)ciEnum.nextElement(); - String toDeviceInfo = (String)converterInfo.getOfficeMime(); - Enumeration fromEnum = converterInfo.getDeviceMime(); - - // Loop over the deviceMime types. - // - while (fromEnum.hasMoreElements()) { - String fromDeviceInfo = (String)fromEnum.nextElement(); - if (deviceMime.trim().equals(fromDeviceInfo) && - officeMime.trim().equals(toDeviceInfo)) { - return (converterInfo); - } - } - } - return null; - } - - - /** - * Returns an array of two ConverterInfo objects that - * can be chained to perform the specified mime type conversion. - * If there are multiple ConverterInfo objects that - * support this conversion, only the first is returned. - * - * @param deviceMimeFrom The device from mime. - * @param deviceMimeTo The device to mime. - * - * @return An array of two ConverterInfo objects - * that can be chained to perform the specified - * conversion. - */ - public static ConverterInfo[] findConverterInfoChain(String deviceFromMime, String deviceToMime) { - - if (deviceFromMime == null || deviceToMime == null) { - return null; - } - - ConverterInfo[] converterInfo = new ConverterInfo[2]; - - // Loop over elements comparing with deviceFromMime - // - Enumeration cifEnum = converterInfoList.elements(); - while (cifEnum.hasMoreElements()) { - - converterInfo[0] = (ConverterInfo)cifEnum.nextElement(); - String fromOfficeInfo = converterInfo[0].getOfficeMime(); - Enumeration fromEnum = converterInfo[0].getDeviceMime(); - - // Loop over the deviceMime types looking for a deviceFromMime - // match. - // - while (fromEnum.hasMoreElements()) { - String fromDeviceInfo = (String)fromEnum.nextElement(); - - if (deviceFromMime.trim().equals(fromDeviceInfo)) { - - // Found a a match for deviceFrom. Now loop over the - // elements comparing with deviceToMime - // - Enumeration citEnum = converterInfoList.elements(); - while (citEnum.hasMoreElements()) { - - converterInfo[1] = (ConverterInfo)citEnum.nextElement(); - String toOfficeInfo = converterInfo[1].getOfficeMime(); - Enumeration toEnum = converterInfo[1].getDeviceMime(); - - // Loop over deviceMime types looking for a - // deviceToMime match. - // - while (toEnum.hasMoreElements()) { - String toDeviceInfo = (String)toEnum.nextElement(); - if (deviceToMime.trim().equals(toDeviceInfo) && - fromOfficeInfo.equals(toOfficeInfo)) { - - // Found a match - // - return (converterInfo); - } - } - } - } - } - } - return null; - } - - - /** - * main to let the user specify what plug-ins to register from - * jarfiles and to display the currently registered plug-ins. - * - * @param args Not used. - */ - public static void main(String args[]) { - - ConverterInfoReader cir = null; - boolean validate = false; - InputStreamReader isr = new InputStreamReader(System.in); - BufferedReader br = new BufferedReader(isr); - char c = ' '; - - boolean exitFlag = false; - while (exitFlag == false) { - - System.out.println("\nMenu:"); - System.out.println("(L)oad plug-ins from a jar file"); - System.out.println("(D)isplay name unload"); - System.out.println("(J)ar name unload"); - System.out.println("(F)ind ConverterInfo"); - System.out.println("(C)ind ConverterInfo chain"); - System.out.println("(V)iew plug-ins"); - System.out.println("(T)oggle Validation"); - System.out.println("(Q)uit\n"); - - try { - c = br.readLine().toUpperCase().trim().charAt(0); - } catch(Exception e) { - System.out.println("Invalid entry"); - System.out.println("Error msg: " + e.getMessage()); - continue; - } - - System.out.println(""); - - // Quit - // - if (c == 'Q') { - exitFlag = true; - - // Load by Jarfile - // - } else if (c == 'L') { - - System.out.println("Enter path to jarfile: "); - try { - String jarname = br.readLine().trim(); - cir = new ConverterInfoReader(jarname,validate); - } catch (RegistryException e) { - System.out.println("Cannot load plug-in ConverterFactory implementation."); - System.out.println("Error msg: " + e.getMessage()); - } catch (Exception e) { - System.out.println("Error adding data to registry"); - System.out.println("Error msg: " + e.getMessage()); - } - - if (cir != null) { - Enumeration jarInfoEnum = cir.getConverterInfoEnumeration(); - try { - ConverterInfoMgr.addPlugIn(jarInfoEnum); - } catch (Exception e) { - System.out.println("Error adding data to registry"); - System.out.println("Error msg: " + e.getMessage()); - } - } - - // Unload by Display Name or Jarfile - // - } else if (c == 'T') { - if (validate== true){ - System.out.println("Validation switched off"); - validate=false; - }else{ - System.out.println("Validation switched on"); - validate=true; - } - } else if (c == 'D' || c == 'J') { - - if (c == 'D') { - System.out.println("Enter display name: "); - } else { - System.out.println("Enter path to jarfile: "); - } - - try - { - String name = br.readLine().trim(); - boolean rc = false; - - if (c == 'D') { - rc = ConverterInfoMgr.removeByName(name); - } else { - rc = ConverterInfoMgr.removeByJar(name); - } - - if (rc == true) { - System.out.println("Remove successful."); - } else { - System.out.println("Remove failed."); - } - - } catch (Exception e) { - System.out.println("Error removing value from registry"); - System.out.println("Error msg: " + e.getMessage()); - } - - // Find Office Mime - // - } else if (c == 'F' || c == 'C') { - - String findMimeOne = null; - String findMimeTwo = null; - - if (c == 'F') { - System.out.println("Enter device mime: "); - } else { - System.out.println("Enter device from mime: "); - } - - try { - findMimeOne = br.readLine().trim(); - } catch (Exception e) { - System.out.println("Error adding data to registry"); - System.out.println("Error msg: " + e.getMessage()); - } - - if (c == 'F') { - System.out.println("Enter office mime: "); - } else { - System.out.println("Enter device to mime: "); - } - - try { - findMimeTwo = br.readLine().trim(); - } catch (Exception e) { - System.out.println("Error adding data to registry"); - System.out.println("Error msg: " + e.getMessage()); - } - - if (c == 'F') { - ConverterInfo foundInfo = ConverterInfoMgr.findConverterInfo(findMimeOne, findMimeTwo); - if (foundInfo != null) { - System.out.println(" Found ConverterInfo"); - System.out.println(" DisplayName : " + foundInfo.getDisplayName()); - } else { - System.out.println(" Did not find ConverterInfo"); - } - } else { - ConverterInfo[] foundInfo = ConverterInfoMgr.findConverterInfoChain(findMimeOne, - findMimeTwo); - if (foundInfo[0] != null && foundInfo[1] != null ) { - System.out.println(" Found ConverterInfo Chain"); - System.out.println(" DisplayName : " + foundInfo[0].getDisplayName()); - System.out.println(" DisplayName : " + foundInfo[1].getDisplayName()); - } else { - System.out.println(" Did not find ConverterInfo"); - } - } - - // View - // - } else if (c == 'V') { - - Enumeration ciEnum = ConverterInfoMgr.getConverterInfoEnumeration(); - - int ciCnt = 0; - while (ciEnum.hasMoreElements()) - { - System.out.println(""); - System.out.println(" Displaying converter number " + ciCnt); - ConverterInfo converterInfo = (ConverterInfo)ciEnum.nextElement(); - System.out.println(" DisplayName : " + converterInfo.getDisplayName()); - System.out.println(" JarFile : " + converterInfo.getJarName()); - System.out.println(" Description : " + converterInfo.getDescription()); - System.out.println(" Version : " + converterInfo.getVersion()); - System.out.println(" OfficeMime : " + converterInfo.getOfficeMime()); - Enumeration fromEnum = converterInfo.getDeviceMime(); - int feCnt = 1; - while (fromEnum.hasMoreElements()) - { - System.out.println(" DeviceMime : (#" + feCnt + ") : " + - (String)fromEnum.nextElement()); - feCnt++; - } - if (feCnt == 1) { - System.out.println(" DeviceMime : None specified"); - } - - System.out.println(" Vendor : " + converterInfo.getVendor()); - System.out.println(" ClassImpl : " + converterInfo.getClassImpl()); - System.out.println(" XsltSerial : " + converterInfo.getXsltSerial()); - System.out.println(" XsltDeserial : " + converterInfo.getXsltDeserial()); - System.out.println(" Serialize : " + converterInfo.canSerialize()); - System.out.println(" Deserialize : " + converterInfo.canDeserialize()); - System.out.println(" Merge : " + converterInfo.canMerge()); - ciCnt++; - } - - if (ciCnt == 0) { - System.out.println("No converters registered"); - } - } else { - System.out.println("Invalid input"); - } - } - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoReader.java b/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoReader.java deleted file mode 100644 index 4300f6f0a3bd..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfoReader.java +++ /dev/null @@ -1,279 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util.registry; - -import java.io.*; -import java.util.*; -import java.util.jar.*; -import org.xml.sax.*; -import org.w3c.dom.*; -import javax.xml.parsers.*; -import java.net.URL; -import java.net.JarURLConnection; - -/** - * The ConverterInfoReader pulls a META-INF/converter.xml - * file out of a jar file and parses it, providing access to this - * information in a Vector of ConverterInfo - * objects. - * - * @author Brian Cameron - */ -public class ConverterInfoReader { - - private final static String TAG_CONVERTER = "converter"; - private final static String ATTRIB_OFFICE_TYPE = "type"; - private final static String ATTRIB_VERSION = "version"; - private final static String TAG_NAME = "converter-display-name"; - private final static String TAG_DESC = "converter-description"; - private final static String TAG_VENDOR = "converter-vendor"; - private final static String TAG_CLASS_IMPL = "converter-class-impl"; - private final static String TAG_TARGET = "converter-target"; - private final static String ATTRIB_DEVICE_TYPE = "type"; - private final static String TAG_XSLT_DESERIAL = "converter-xslt-deserialize"; - private final static String TAG_XSLT_SERIAL = "converter-xslt-serialize"; - private String jarfilename; - private Document document; - private Vector converterInfoList; - - - /** - * Constructor. A jar file is passed in. The jar file is - * parsed and the Vector of ConverterInfo - * objects is built. - * - * @param jar The URL of the jar file to process. - * @param shouldvalidate Boolean to enable or disable xml validation. - * - * @throws IOException If the jar file cannot - * be read or if the - * META-INF/converter.xml - * can not be read in the - * jar file. - * @throws ParserConfigurationException If the DocumentBuilder - * can not be built. - * @throws org.xml.sax.SAXException If the converter.xml - * file can not be parsed. - * @throws RegistryException If the ConverterFactory - * implementation of a - * plug-in cannot be loaded. - */ - public ConverterInfoReader(String jar,boolean shouldvalidate) throws IOException, - ParserConfigurationException, org.xml.sax.SAXException, - RegistryException { - - InputStream istream; - InputSource isource; - DocumentBuilderFactory builderFactory; - DocumentBuilder builder; - JarURLConnection jarConnection; - JarEntry jarentry; - JarFile jarfile; - URL url; - - converterInfoList = new Vector(); - jarfilename = jar; - - // Get Jar via URL - // - url = new URL("jar:" + jar + "!/META-INF/converter.xml"); - jarConnection = (JarURLConnection)url.openConnection(); - jarentry = jarConnection.getJarEntry(); - jarfile = jarConnection.getJarFile(); - - // Build the InputSource - // - istream = jarfile.getInputStream(jarentry); - isource = new InputSource(istream); - - // Get the DOM builder and build the document. - // - builderFactory = DocumentBuilderFactory.newInstance(); - - //DTD validation - if (shouldvalidate){ - System.out.println("Validating xml..."); - builderFactory.setValidating(true); - } - // - builder = builderFactory.newDocumentBuilder(); - document = builder.parse(isource); - - // Parse the document. - // - parseDocument(); - } - - - /** - * Loops over the converter Node in the converter.xml - * file and processes them. - * - * @throws RegistryException If the plug-in associated with a - * specific converter Node - * cannot be loaded. - */ - private void parseDocument() throws RegistryException { - - Node converterNode; - NodeList converterNodes = document.getElementsByTagName(TAG_CONVERTER); - - for (int i=0; i < converterNodes.getLength(); i++) { - converterNode = converterNodes.item(i); - if (converterNode.getNodeType() == Node.ELEMENT_NODE) { - parseConverterNode((Element)converterNode); - } - } - } - - - /** - * Parses a converter node, pulling the information out of - * the Node and placing it in a ConverterInfo - * object, and adds that object to a Vector of - * ConverterInfo objects. - * - * @param e The Element corresponding to the - * converter XML tag. - * - * - * @throws RegistryException If the plug-in cannot be loaded. - */ - private void parseConverterNode(Element e) throws RegistryException { - - Element detailElement; - Node detailNode; - String elementTagName; - String officeMime = null; - Vector deviceMime = new Vector(); - String name = null; - String desc = null; - String version = null; - String vendor = null; - String classImpl = null; - String xsltSerial = null; - String xsltDeserial= null; - String temp; - - temp = e.getAttribute(ATTRIB_OFFICE_TYPE); - if (temp.length() != 0) { - officeMime = temp; - } - - temp = e.getAttribute(ATTRIB_VERSION); - if (temp.length() != 0) { - version = temp; - } - - NodeList detailNodes = e.getChildNodes(); - for (int i=0; i < detailNodes.getLength(); i++) { - - detailNode = detailNodes.item(i); - if (detailNode.getNodeType() == Node.ELEMENT_NODE) { - - detailElement = (Element)detailNode; - elementTagName = detailElement.getTagName(); - - if (TAG_NAME.equalsIgnoreCase(elementTagName)) { - name = getTextValue(detailElement); - } else if (TAG_DESC.equalsIgnoreCase(elementTagName)) { - desc = getTextValue(detailElement); - } else if (TAG_VENDOR.equalsIgnoreCase(elementTagName)) { - vendor = getTextValue(detailElement); - } else if (TAG_XSLT_SERIAL.equalsIgnoreCase(elementTagName)) { - xsltSerial = getTextValue(detailElement); - } else if (TAG_XSLT_DESERIAL.equalsIgnoreCase(elementTagName)) { - xsltDeserial = getTextValue(detailElement); - } else if (TAG_CLASS_IMPL.equalsIgnoreCase(elementTagName)) { - classImpl = getTextValue(detailElement); - } else if (TAG_TARGET.equalsIgnoreCase(elementTagName)) { - - temp = detailElement.getAttribute(ATTRIB_DEVICE_TYPE); - if (temp.length() != 0) { - deviceMime.add(temp); - } - } - } - } - ConverterInfo converterInfo; - if ((xsltSerial==null) || (xsltDeserial==null)){ - converterInfo = new ConverterInfo(jarfilename, - officeMime, deviceMime, name, - desc, version, vendor,classImpl); - } - else{ - converterInfo = new ConverterInfo(jarfilename, - officeMime, deviceMime, name, - desc, version, vendor,classImpl, - xsltSerial,xsltDeserial); - } - /*ConverterInfo converterInfo = new ConverterInfo(jarfilename, - officeMime, deviceMime, name, desc, version, vendor, - classImpl);*/ - converterInfoList.add(converterInfo); - } - - - /** - * Helper function to get the text value of an - * Element. - * - * @param e The Element to process. - * - * @return The text value of the Element. - */ - private String getTextValue(Element e) { - - NodeList tempNodes = e.getChildNodes(); - String text = null; - Node tempNode; - - for (int j=0; j < tempNodes.getLength(); j++) { - tempNode = tempNodes.item(j); - if (tempNode.getNodeType() == Node.TEXT_NODE) { - text = tempNode.getNodeValue().trim(); - break; - } - } - - return text; - } - - - /** - * Returns an Enumeration of ConverterInfo - * objects. - * - * @return An Enumeration of ConverterInfo - * objects. - */ - public Enumeration getConverterInfoEnumeration() { - return (converterInfoList.elements()); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/RegistryException.java b/xmerge/java/org/openoffice/xmerge/util/registry/RegistryException.java deleted file mode 100644 index c4fbfb856090..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/RegistryException.java +++ /dev/null @@ -1,47 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -package org.openoffice.xmerge.util.registry; - -/** - * This Exception is thrown by converter registry - * algorithms. - */ -public class RegistryException extends Exception { - - - /** - * Exception thrown by merge algorithms. - * - * @param message Message to be included in the - * Exception. - */ - public RegistryException(String message) { - super(message); - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/build.xml b/xmerge/java/org/openoffice/xmerge/util/registry/build.xml deleted file mode 100644 index e7bf0da9c93c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/build.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/converter.dtd b/xmerge/java/org/openoffice/xmerge/util/registry/converter.dtd deleted file mode 100644 index 84e4ed34892c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/converter.dtd +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/makefile.mk b/xmerge/java/org/openoffice/xmerge/util/registry/makefile.mk deleted file mode 100644 index dc7f67a9223f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/makefile.mk +++ /dev/null @@ -1,32 +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 -# -# for a copy of the LGPLv3 License. -# -#*************************************************************************** - -TARGET=xmrg_jooxu_registry -PRJ=../../../../../.. - -.INCLUDE : ant.mk -ALLTAR: ANTBUILD diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/package.html b/xmerge/java/org/openoffice/xmerge/util/registry/package.html deleted file mode 100644 index c7e9b2635bb2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/registry/package.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - -org.openoffice.xmerge.util.registry package - - - - -

    Provides an interface for plug-in registration. Each plug-in must -have a corresponding Plugin Configuration XML File which is named -converter.xml. If the plug-in is stored in a jarfile, this -converter.xml file is typically stored in the following location in -the jarfile:

    - -
    - META-INF/converter.xml -
    - -

    The Plugin Configuration XML File must validate against the -converter.dtd file provided with this package. Since a jarfile -can contain multiple plug-ins, this DTD supports specifying multiple -plug-ins per jarfile. Please refer to the SDK document for more -information about how to implement a Plugin Configuration XML File -for a specific plugin.

    - -

    All information in the Plugin Configuratino XML File is bundled -into one or more ConverterInfo object. The -ConverterInfoReader object is used to build a -Vector of ConverterInfo objects from a -jarfile.

    - -

    The ConverterInfoMgr manages the registry of -ConverterInfo. It is a singleton class, so that only one -registry manager will ever exist. It is the client program's -responsibility to register ConverterInfo objects that -correspond to the plug-ins that are to be used.

    - -

    TODO/IDEAS list

    - -

      -
    1. The ConverterInfo object could contain - org.w3c.dom.Document fragments that are accessed in a - generic fashion rather than get/set methods for each item in the DTD. - This would provide a more flexible approach, especially for adding - custom tags to a specific Plugin Configuration XML file (tags that - are only used by its associated plug-in). -
    2. ConverterInfo should allow the merge/serialize/deserialize - logic to be included in separate plug-ins, if desired.
    3. -
    4. ConverterInfoMgr could use the Java Activation - Framework (JAF) to manage registration.
    5. -

    - - - diff --git a/xmerge/java/org/openoffice/xmerge/util/resources.properties b/xmerge/java/org/openoffice/xmerge/util/resources.properties deleted file mode 100644 index dd7938723e30..000000000000 --- a/xmerge/java/org/openoffice/xmerge/util/resources.properties +++ /dev/null @@ -1,68 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - - -# -# resources.properties -# -# resources for org.openoffice.xmerge.converter package. -# -NULL_MIME_EXCEPTION=Cannot specify null MIME types -EMPTY_MIME_EXCEPTION=Cannot specify empty MIME types -CANNOT_LOAD_CLASS=Unable to load class -CANNOT_INST_CLASS=Unable to instantiate class -NOT_AN_INSTANCE= is not an instance of -CANNOT_FIND_REGISTERED=Cannot find registered class -PARSE_ERROR=Parse Error -LINE=Line -COLUMN=Column -PUBLIC_ID=PublicId -SYSTEM_ID=SystemId -INVALID_LOG_LEVEL=Invalid log level specified -OPERATION_NOT_SUPPORTED=Operation not supported -TEMPLATE_FILE_LOAD_ERROR=Error in loading template file - - -# -# diff/merge algorithm erro messages -# -EMPTY_NODE_EXCEPTION=Current Node is empty -NOT_LEAFNODE_EXCEPTION=Current Node is not a leaf node -ROOTNODE_EXCEPTION=Cannot perform insert/append/remove on root node -NOT_TEXTNODE_EXCEPTION=The target Node is not a TEXT_NODE, it is - -NULL_NODE_EXCEPTION=The initial Xmldocument node is null -CELL_NODE_EXCEPTION1=Cell node do not have only 1 child nodes, will skip the merge of this node.Num of PARA child nodes: -CELL_NODE_EXCEPTION2=Cell node have a non Element child nodes - -CELL_NODE_EXCEPTION2=There is a child node under an expected empty cell node. -NOT_ELEM_NODE_ERROR=The compared nodes are not a Element Node -NOT_PARA_NODE_ERROR=The compared nodes are not a Paragraph or Heading node - -NOT_NODE_ERROR=The compared nodes are not a Node -# -# SXW to/from DOC conversion error messages. -# -UNKNOWN_DOC_VERSION=Unknown DOC version. -DOC_TEXT_LENGTH_EXCEEDED=DOC text length exceeds maximum value. -DOC_TEXT_RECORD_SIZE_EXCEEDED=DOC text record exceeds size limit. diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.cxx b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.cxx deleted file mode 100644 index 3aa3c7be2ad5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.cxx +++ /dev/null @@ -1,523 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_xmerge.hxx" -#include -#include -#include -#include - -#include - -#include - -#include - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -using namespace ::rtl; -using namespace ::cppu; -using namespace ::osl; - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::registry; -using namespace ::com::sun::star::connection; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::bridge; -using namespace ::com::sun::star::text; -using namespace ::com::sun::star::frame; -using com::sun::star::uno::Sequence; -using com::sun::star::uno::Reference; -using com::sun::star::uno::Any; -using com::sun::star::uno::UNO_QUERY; -using com::sun::star::uno::XInterface; -using com::sun::star::xml::sax::XDocumentHandler; -using rtl::OUString; - -namespace XFlatXml { - -void mygetchar() -{ -#ifdef SAL_W32 - _fgetchar(); -#else - getchar(); -#endif -} - - - -//,com::sun::star::xml::sax::XDocumentHandler,com::sun::star::xml::XExportFilter -class XFlatXml : public WeakImplHelper3< com::sun::star::xml::XImportFilter,com::sun::star::xml::XExportFilter,com::sun::star::xml::sax::XDocumentHandler> -{ -private: - Reference< XMultiServiceFactory > xMSF; - int indentation; - bool followsEndNode; - bool followsStartNode; - - -public: - - XFlatXml( const Reference< XMultiServiceFactory > &r ) : xMSF( r ) - {} - - virtual sal_Bool SAL_CALL importer(const com::sun::star::uno::Sequence& aSourceData, const com::sun::star::uno::Reference& xHandler, const com::sun::star::uno::Sequence& msUserData) throw(RuntimeException); - - virtual sal_Bool SAL_CALL exporter(const com::sun::star::uno::Sequence& aSourceData, const com::sun::star::uno::Sequence& msUserData) throw(RuntimeException); - Reference < com::sun::star::io::XOutputStream > xOutputStream; - - virtual void SAL_CALL startDocument() throw (com::sun::star::xml::sax::SAXException,RuntimeException) ; - virtual void SAL_CALL endDocument() throw (com::sun::star::xml::sax::SAXException,RuntimeException); - virtual void SAL_CALL startElement(const rtl::OUString& str, const com::sun::star::uno::Reference& attriblist) throw (com::sun::star::xml::sax::SAXException,RuntimeException); - virtual void SAL_CALL endElement(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException); - virtual void SAL_CALL characters(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException); - virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException); - virtual void SAL_CALL processingInstruction(const rtl::OUString& str, const rtl::OUString& str2) throw (com::sun::star::xml::sax::SAXException,RuntimeException) ; - virtual void SAL_CALL setDocumentLocator(const com::sun::star::uno::Reference& doclocator) throw (com::sun::star::xml::sax::SAXException,RuntimeException) ; - -}; - - OUString replace(OUString origString, OUString origChar, OUString replaceChar){ - OUString tmp=rtl::OUString::createFromAscii(""); - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - OUString first =origString.copy(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.copy(index+1,origString.getLength()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - - } - - } - - return tmp; - } - -OUString needsMask(OUString origString){ - - if (origString.indexOf(rtl::OUString::createFromAscii("&"))!=-1){ - origString=replace(origString,rtl::OUString::createFromAscii("&"),rtl::OUString::createFromAscii("&")); - } - if (origString.indexOf(rtl::OUString::createFromAscii("\""))!=-1){ - origString=replace(origString,rtl::OUString::createFromAscii("\""),rtl::OUString::createFromAscii(""")); - } - if (origString.indexOf(rtl::OUString::createFromAscii("<"))!=-1){ - origString=replace(origString,rtl::OUString::createFromAscii("<"),rtl::OUString::createFromAscii("<")); - } - if (origString.indexOf(rtl::OUString::createFromAscii(">"))!=-1){ - origString=replace(origString,rtl::OUString::createFromAscii(">"),rtl::OUString::createFromAscii(">")); - } - return origString; - - } - - -sal_Bool XFlatXml::importer(const com::sun::star::uno::Sequence& aSourceData, const com::sun::star::uno::Reference& xHandler, const com::sun::star::uno::Sequence& msUserData) throw (RuntimeException) -{ - /* - fprintf (stderr,"\nFound the C++ importer"); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[0], RTL_TEXTENCODING_ASCII_US ).getStr()); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[1], RTL_TEXTENCODING_ASCII_US ).getStr()); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[2], RTL_TEXTENCODING_ASCII_US ).getStr()); - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[3], RTL_TEXTENCODING_ASCII_US ).getStr()); - */ - OUString udConvertClass=msUserData[0]; - OUString udJarPath=msUserData[1]; - OUString udImport =msUserData[2]; - OUString udExport =msUserData[3]; - sal_Int32 nLength = aSourceData.getLength(); - OUString sFileName= OUString::createFromAscii(""); - OUString sDirectory = OUString::createFromAscii(""); - OUString sURL = OUString::createFromAscii(""); - Reference xInputStream; - Sequence pValue=aSourceData; - for ( sal_Int32 i = 0 ; i < nLength; i++) - { - - if ( pValue[i].Name.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "InputStream" ) ) ) - pValue[i].Value >>= xInputStream; - - else if ( pValue[i].Name.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "FileName" ) ) ) - pValue[i].Value >>= sFileName; - else if ( pValue[i].Name.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "URL" ) ) ) - { - pValue[i].Value >>= sURL; - sal_Int32 stringIndex = sURL.lastIndexOf(OUString::createFromAscii("/")); - sFileName = sURL.copy(stringIndex+1, sURL.getLength()-stringIndex); - sDirectory = sURL.copy(7,sURL.getLength()-7); - } - } - if ( !xInputStream.is() ) - { - OSL_ASSERT( 0 ); - return sal_False; - } - Reference xConfMgr( XFlatXml::xMSF->createInstance( - OUString::createFromAscii("com.sun.star.config.SpecialConfigManager")),UNO_QUERY ); - - if(! xConfMgr.is()){ - fprintf (stderr, "::com::sun::star::frame::XConfigManager service missing\n" ); - return sal_False; - } - - - const OUString sSaxParser ( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.sax.Parser") ); - OUString sXMLImportService ( udImport ); - Reference < com::sun::star::xml::sax::XParser > xSaxParser( XFlatXml::xMSF->createInstance( sSaxParser ), UNO_QUERY ); - Reference xPipe; - xPipe= XFlatXml::xMSF->createInstance(OUString::createFromAscii("com.sun.star.io.Pipe")); - if(!xPipe.is()){ - fprintf(stderr,"XMLReader::Read:com.sun.star.io.Pipe service missing\n"); - return sal_False; - } - //else fprintf(stderr,"pipe created\n"); - - - Reference< com::sun::star::io::XInputStream > xPipeInput (xPipe,UNO_QUERY); - - //inputStream from pipe - - Reference< com::sun::star::io::XOutputStream > xTmpOutputStream (xPipe,UNO_QUERY); - - com::sun::star::xml::sax::InputSource aInput; - aInput.sSystemId = sFileName; - //aInput.aInputStream = xPipeInput; - aInput.aInputStream =xInputStream; - xSaxParser->setDocumentHandler ( xHandler ); - try - { - - xSaxParser->parseStream ( aInput ); - } - catch( Exception &exc) - { - fprintf(stderr,"\nParseStream Exception\n"); - fprintf(stderr, "Fell into the catch block!: %s\n",OUStringToOString( - exc.Message, RTL_TEXTENCODING_ASCII_US).getStr() ); - - } - - return sal_True; -} - -sal_Bool XFlatXml::exporter(const com::sun::star::uno::Sequence& aSourceData, const com::sun::star::uno::Sequence& msUserData) throw (RuntimeException){ - /* - fprintf (stderr,"\nFound the C++ exporter"); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[0], RTL_TEXTENCODING_ASCII_US ).getStr()); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[1], RTL_TEXTENCODING_ASCII_US ).getStr()); - - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[2], RTL_TEXTENCODING_ASCII_US ).getStr()); - fprintf(stderr,"\nUserData : %s",OUStringToOString( msUserData[3], RTL_TEXTENCODING_ASCII_US ).getStr()); - */ - - sal_Int32 nLength = aSourceData.getLength(); - Sequence pValue = aSourceData; - OUString sFileName=OUString::createFromAscii(""); - OUString sDirectory= OUString::createFromAscii(""); - OUString sURL =OUString::createFromAscii("") ; - for ( sal_Int32 i = 0 ; i < nLength; i++) - { - - if ( pValue[i].Name.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "OutputStream" ) ) ) - { - pValue[i].Value >>= XFlatXml::xOutputStream; - break; - } - else if ( pValue[i].Name.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "URL" ) ) ) - { pValue[i].Value >>= sURL; - sal_Int32 stringIndex = sURL.lastIndexOf(OUString::createFromAscii("/")); - sFileName = sURL.copy(stringIndex+1, sURL.getLength()-stringIndex); - sDirectory = sURL.copy(7,sURL.getLength()-7); - } - } - - - - return sal_True; -} - - - - - - void XFlatXml::startDocument() throw (com::sun::star::xml::sax::SAXException,RuntimeException){ - //fprintf(stderr,"\nStartDocument "); - indentation=0; - followsEndNode=false; - followsStartNode=false; - // xExportHandler->startDocument(); - - } - - void XFlatXml::endDocument() throw (com::sun::star::xml::sax::SAXException,RuntimeException){ - //fprintf(stderr,"\nEndDocument "); - //xExportHandler->endDocument(); - } - - void XFlatXml::startElement(const rtl::OUString& str, const com::sun::star::uno::Reference& attriblist) throw (com::sun::star::xml::sax::SAXException,RuntimeException) - { - OUString indent=OUString::createFromAscii(""); - if (followsStartNode){ - indent+=OUString::createFromAscii("\n"); - for (int i=0 ;igetLength(); - for (short i=0;igetNameByIndex(i); - lt +=OUString::createFromAscii("=\""); - lt +=needsMask(attriblist->getValueByIndex(i)); - lt +=OUString::createFromAscii("\" "); - } - } - lt+=OUString::createFromAscii(">"); - OString sStr= OUStringToOString(lt, RTL_TEXTENCODING_UTF8); - Sequence b((const sal_Int8 *)sStr.getStr(),sStr.getLength()); - //Sequence b((const sal_Int8 *)OUStringToOString( lt, RTL_TEXTENCODING_UTF8 ).getStr(),(OUStringToOString( lt, RTL_TEXTENCODING_UTF8 ).getStr()).getLength()); - try{ - - XFlatXml::xOutputStream->writeBytes(b); - } - catch ( Exception &exc){ - fprintf(stderr,"Exception"); - } - indentation++; - } - - void XFlatXml::endElement(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException) { - OUString indent=OUString::createFromAscii(""); - indentation--; - if (followsEndNode){ - indent+=OUString::createFromAscii("\n"); - for (int i=0 ;i"); - //System.out.println(str); - //fprintf(stderr,"%s",OUStringToOString( lt, RTL_TEXTENCODING_ASCII_US ).getStr()); - OString sStr= OUStringToOString(lt, RTL_TEXTENCODING_UTF8); - Sequence b((const sal_Int8 *)sStr.getStr(),sStr.getLength()); - try{ - - XFlatXml::xOutputStream->writeBytes(b); - } - catch ( Exception &exc){ - - } - followsEndNode=true; - followsStartNode=true; -} - - void XFlatXml::characters(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException) { - //fprintf(stderr,"\n %s ",OUStringToOString(str, RTL_TEXTENCODING_ASCII_US).getStr()); - OUString newStr = needsMask(str); - OString sStr= OUStringToOString(newStr, RTL_TEXTENCODING_UTF8); - Sequence b((const sal_Int8 *)sStr.getStr(),sStr.getLength()); - try{ - - XFlatXml::xOutputStream->writeBytes(b); - } - catch ( Exception &exc){ - - } - followsEndNode=false; - followsStartNode=false; - } - - - void XFlatXml::ignorableWhitespace(const rtl::OUString& str) throw (com::sun::star::xml::sax::SAXException,RuntimeException){ - //xExportHandler->ignorableWhitespace( str); - - //fprintf(stderr,"%s",OUStringToOString( str, RTL_TEXTENCODING_ASCII_US ).getStr()); - /* - OString sStr= OUStringToOString(str, RTL_TEXTENCODING_UTF8); - Sequence b((const sal_Int8 *)sStr.getStr(),sStr.getLength()); - try{ - - XFlatXml::xOutputStream->writeBytes(b); - } - catch ( Exception &exc){ - - } - */ - -} - - void XFlatXml::processingInstruction(const rtl::OUString& str, const rtl::OUString& str2) throw (com::sun::star::xml::sax::SAXException,RuntimeException) { - //xExportHandler->processingInstruction( str, str2); -} - - void XFlatXml::setDocumentLocator(const com::sun::star::uno::Reference& doclocator) throw (com::sun::star::xml::sax::SAXException,RuntimeException) { - //xExportHandler->setDocumentLocator( doclocator); - } - - - -Reference< XInterface > SAL_CALL CreateInstance( const Reference< XMultiServiceFactory > &r) -{ - //fprintf(stderr,"\nCreateInstance\n"); - //return Reference< XInterface > ( ( OWeakObject * ) new OfficeClientMain(r) ); - return Reference< XInterface > ( ( OWeakObject * ) new XFlatXml(r) ); -} - -Sequence< OUString > getSupportedServiceNames() -{ - //fprintf(stderr,"\ngetSupportedServiceNames\n"); - static Sequence < OUString > *pNames = 0; - if( ! pNames ) - { - MutexGuard guard( Mutex::getGlobalMutex() ); - if( !pNames ) - { - static Sequence< OUString > seqNames(2); - seqNames.getArray()[0] = OUString::createFromAscii( "com.sun.star.documentconversion.XFlatXml" ); - pNames = &seqNames; - } - } - return *pNames; -} - -} - -using namespace XFlatXml; -#define IMPLEMENTATION_NAME "com.sun.star.documentconversion.XFlatXml" - - -extern "C" -{ -//================================================================================================== -void SAL_CALL component_getImplementationEnvironment( - const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv ) -{ - // printf("\ncomponent_getImplementationEnvironment\n"); - *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; - -} -//================================================================================================== -sal_Bool SAL_CALL component_writeInfo( - void * pServiceManager, void * pRegistryKey ) -{ - - //fprintf(stderr,"\ncomponent_writeInfo\n"); - if (pRegistryKey) - { - try - { - Reference< XRegistryKey > xNewKey( - reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( - OUString::createFromAscii( "/" IMPLEMENTATION_NAME "/UNO/SERVICES" ) ) ); - - const Sequence< OUString > & rSNL = getSupportedServiceNames(); - const OUString * pArray = rSNL.getConstArray(); - for ( sal_Int32 nPos = rSNL.getLength(); nPos--; ) - xNewKey->createKey( pArray[nPos] ); - - return sal_True; - } - catch (InvalidRegistryException &) - { - OSL_ENSURE( sal_False, "### InvalidRegistryException!" ); - } - } - return sal_False; -} -//================================================================================================== -void * SAL_CALL component_getFactory( - const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ) -{ - //fprintf(stderr,"\ncomponent_getFactory"); - void * pRet = 0; - - if (pServiceManager && rtl_str_compare( pImplName, IMPLEMENTATION_NAME ) == 0) - { - Reference< XSingleServiceFactory > xFactory( createSingleFactory( - reinterpret_cast< XMultiServiceFactory * >( pServiceManager ), - OUString::createFromAscii( pImplName ), - CreateInstance, getSupportedServiceNames() ) ); - - if (xFactory.is()) - { - xFactory->acquire(); - pRet = xFactory.get(); - } - } - - return pRet; -} -} diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.xml b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.xml deleted file mode 100644 index c4e9ba41e42d..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/FlatXml.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - FlatXml - - Aidan Butler - com.sun.star.documentconversion.XFlatXml - - This component is a sample implementation, which describes how a filter may be written that uses the XmlFilterAdaptor component. This filter opens and saves Flat Xml files. - - com.sun.star.loader.SharedLibrary - c++ - - - cppuhelper - cppu - sal - cppuhelper$(UDK_MAJOR)$(COM) - salhelper$(UDK_MAJOR)$(COM) - cppu$(UDK_MAJOR) - reg$(UDK_MAJOR) - store$(UDK_MAJOR) - sal$(UDK_MAJOR) - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile deleted file mode 100644 index 9f8f209a105b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile +++ /dev/null @@ -1,102 +0,0 @@ -# Builds the remoteclient demo. - -PRJ=..$(PS)..$(PS).. -SETTINGS=../../../settings - -# Include settings makefile depending on platform/compiler -ifeq "$(MAKECMDGOALS)" "win_microcxx" - -include $(SETTINGS)/win_microcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_BIN) -endif -ifeq "$(MAKECMDGOALS)" "solaris_workshopcxx" - -include $(SETTINGS)/solaris_workshopcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif -ifeq "$(MAKECMDGOALS)" "linux_gcc" - -include $(SETTINGS)/linux_gcc_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif - -# Define non-platform/compiler specific settings - -include $(SETTINGS)/dk.mk -include $(SETTINGS)/std.mk - -# Define non-platform/compiler specific settings - -# Targets -.PHONY: ALL -ALL : - @echo ------------------------------------------------------------- - @echo You must supply a target where TARGET is one of the following: - @echo - @echo win_microcxx : Windows using Microsoft C++ compiler/linker - @echo solaris_workshopcxx : Solaris using Sun Workshop C++ compiler - @echo linux_gcc : Linux using gcc - @echo ------------------------------------------------------------- - -TYPEFLAGFILE= $(OUT_MISC)$(PS)type_generation_officeclient_is_ok.flag - -REGISTERFLAGFILE= $(OUT_MISC)$(PS)register_components_officeclient_is_ok.flag - -#win_microcxx : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)FlatXml.$(SHAREDLIB_EXT) -win_microcxx : $(REGISTERFLAGFILE) - -#solaris_workshopcxx : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)FlatXml.$(SHAREDLIB_EXT) -solaris_workshopcxx : $(REGISTERFLAGFILE) - -#linux_gcc : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)FlatXml.$(SHAREDLIB_EXT) -linux_gcc : $(REGISTERFLAGFILE) - -include $(SETTINGS)/stdtarget.mk - -TYPES := $(foreach t,$(shell xml2cmp -types stdout FlatXml.xml),-T$(t)) - -$(TYPEFLAGFILE) : $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - -$(DEL) $(TYPEFLAGFILE) - @echo Building for $(MAKECMDGOALS) - @echo $(BIN_DIR)$(PS)cppumaker -BUCR -O$(OUT)$(PS)inc$(PS)examples $(TYPES) $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - $(BIN_DIR)$(PS)cppumaker -BUCR -O$(OUT)$(PS)inc$(PS)examples $(TYPES) $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - regmerge $(OUT_BIN)$(PS)FlatXml.rdb / $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - @echo bla >$(TYPEFLAGFILE) - -$(OUT_SLO)$(PS)FlatXml.$(OBJ_EXT) : FlatXml.cxx $(TYPEFLAGFILE) - $(CC) $(CC_FLAGS) $(CC_INCLUDES) $(CC_DEFINES) $(CC_OUTPUT_SWITCH)$@ $< - - -$(OUT_SLB)$(PS)FlatXml.lib : $(OUT_SLO)$(PS)FlatXml.$(OBJ_EXT) -ifeq "$(OS)" "WIN" - $(BUILDLIB) /OUT:$@ $^ -endif - -$(OUT_LIB)$(PS)FlatXml.lib : $(OUT_SLO)$(PS)FlatXml.$(OBJ_EXT) -ifeq "$(OS)" "WIN" - @echo EXPORTS > $(OUT_MISC)$(PS)FlatXml.def - $(CAT) exports.dxp >> $(OUT_MISC)$(PS)FlatXml.def - $(BUILDLIB) /OUT:$@ /DEF:$(OUT_MISC)$(PS)FlatXml.def -endif - -$(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)FlatXml.$(SHAREDLIB_EXT) : $(OUT_LIB)$(PS)FlatXml.lib \ - $(OUT_SLB)$(PS)FlatXml.lib -ifeq "$(OS)" "WIN" - $(LINK) $(LIBRARY_LINK_FLAGS) /OUT:$@ /MAP:$(OUT_MISC)$(PS)FlatXml.map \ - $(OUT_LIB)$(PS)FlatXmlexp $(OUT_SLB)$(PS)FlatXml.lib \ - $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB) msvcrt.lib kernel32.lib -else - $(LINK) $(LIBRARY_LINK_FLAGS) $(LINK_LIBS) -o $@ $(OUT_SLO)$(PS)FlatXml.$(OBJ_EXT) \ - $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB) -endif - -$(REGISTERFLAGFILE) : $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)FlatXml.$(SHAREDLIB_EXT) - -$(DEL) $(REGISTERFLAGFILE) - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile.bck b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile.bck deleted file mode 100644 index 1983e099c582..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/Makefile.bck +++ /dev/null @@ -1,108 +0,0 @@ -# Builds the remoteclient demo. - -PRJ=..$(PS)..$(PS).. -SETTINGS=../../../settings - -# Include settings makefile depending on platform/compiler -ifeq "$(MAKECMDGOALS)" "win_microcxx" - -include $(SETTINGS)/win_microcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_BIN) -endif -ifeq "$(MAKECMDGOALS)" "solaris_workshopcxx" - -include $(SETTINGS)/solaris_workshopcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif -ifeq "$(MAKECMDGOALS)" "linux_gcc" - -include $(SETTINGS)/linux_gcc_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif - -# Define non-platform/compiler specific settings - -include $(SETTINGS)/dk.mk -include $(SETTINGS)/std.mk - -# Define non-platform/compiler specific settings - -# Targets -.PHONY: ALL -ALL : - @echo ------------------------------------------------------------- - @echo You must supply a target where TARGET is one of the following: - @echo - @echo win_microcxx : Windows using Microsoft C++ compiler/linker - @echo solaris_workshopcxx : Solaris using Sun Workshop C++ compiler - @echo linux_gcc : Linux using gcc - @echo ------------------------------------------------------------- - -TYPEFLAGFILE= $(OUT_MISC)$(PS)type_generation_officeclient_is_ok.flag - -REGISTERFLAGFILE= $(OUT_MISC)$(PS)register_components_officeclient_is_ok.flag - -#win_microcxx : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)officeclientsample.$(SHAREDLIB_EXT) -win_microcxx : $(REGISTERFLAGFILE) - -#solaris_workshopcxx : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)officeclientsample.$(SHAREDLIB_EXT) -solaris_workshopcxx : $(REGISTERFLAGFILE) - -#linux_gcc : $(OUT) $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)officeclientsample.$(SHAREDLIB_EXT) -linux_gcc : $(REGISTERFLAGFILE) - -include $(SETTINGS)/stdtarget.mk - -TYPES := $(foreach t,$(shell xml2cmp -types stdout officeclientsample.xml),-T$(t)) - -$(TYPEFLAGFILE) : $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - -$(DEL) $(TYPEFLAGFILE) - @echo Building for $(MAKECMDGOALS) - $(BIN_DIR)$(PS)cppumaker -BUCR -O$(OUT)$(PS)inc$(PS)examples $(TYPES) $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - regmerge $(OUT_BIN)$(PS)officeclient.rdb / $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - @echo bla >$(TYPEFLAGFILE) - -$(OUT_SLO)$(PS)officeclient.$(OBJ_EXT) : officeclient.cxx $(TYPEFLAGFILE) - $(CC) $(CC_FLAGS) $(CC_INCLUDES) $(CC_DEFINES) $(CC_OUTPUT_SWITCH)$@ $< - - -$(OUT_SLB)$(PS)officeclient.lib : $(OUT_SLO)$(PS)officeclient.$(OBJ_EXT) -ifeq "$(OS)" "WIN" - $(BUILDLIB) /OUT:$@ $^ -endif - -$(OUT_LIB)$(PS)officeclient.lib : $(OUT_SLO)$(PS)officeclient.$(OBJ_EXT) -ifeq "$(OS)" "WIN" - @echo EXPORTS > $(OUT_MISC)$(PS)officeclientsample.def - $(CAT) exports.dxp >> $(OUT_MISC)$(PS)officeclientsample.def - $(BUILDLIB) /OUT:$@ /DEF:$(OUT_MISC)$(PS)officeclientsample.def -endif - -$(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)officeclientsample.$(SHAREDLIB_EXT) : $(OUT_LIB)$(PS)officeclient.lib \ - $(OUT_SLB)$(PS)officeclient.lib -ifeq "$(OS)" "WIN" - $(LINK) $(LIBRARY_LINK_FLAGS) /OUT:$@ /MAP:$(OUT_MISC)$(PS)officeclientsample.map \ - $(OUT_LIB)$(PS)officeclient.exp $(OUT_SLB)$(PS)officeclient.lib \ - $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB) msvcrt.lib kernel32.lib -else - $(LINK) $(LIBRARY_LINK_FLAGS) $(LINK_LIBS) -o $@ $(OUT_SLO)$(PS)officeclient.$(OBJ_EXT) \ - $(SALLIB) $(CPPULIB) $(CPPUHELPERLIB) -endif - -$(REGISTERFLAGFILE) : $(SHAREDLIB_OUT)$(PS)$(SHAREDLIB_PRE)officeclientsample.$(SHAREDLIB_EXT) - -$(DEL) $(REGISTERFLAGFILE) - @echo ******************************************************* - @echo Register components in officeclient.rdb - @echo ******************************************************* - regcomp -register -r $(OUT_BIN)$(PS)officeclient.rdb -c $(SHAREDLIB_PRE)connectr.$(SHAREDLIB_EXT) - regcomp -register -r $(OUT_BIN)$(PS)officeclient.rdb -c $(SHAREDLIB_PRE)remotebridge.$(SHAREDLIB_EXT) - regcomp -register -r $(OUT_BIN)$(PS)officeclient.rdb -c $(SHAREDLIB_PRE)brdgfctr.$(SHAREDLIB_EXT) - regcomp -register -r $(OUT_BIN)$(PS)officeclient.rdb -c $(SHAREDLIB_PRE)uuresolver.$(SHAREDLIB_EXT) - @echo bla > $(REGISTERFLAGFILE) - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/README b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/README deleted file mode 100644 index a5b82ce4cef4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/README +++ /dev/null @@ -1,97 +0,0 @@ -The Flat Xml Filter -==================== - - -This sample provides a sample FlatXml filter for Openoffice. It have been developed to make use of the XmlFilterAdapter module. This code can also be used as a Skeleton implementation for developing a more complex filter. - - - -How does the code work? -======================== - - Firstly, the code has been developed to use the XmlFilterAdaptor module. For this reason, we must conform to the interfaces that the XmlFilterAdaptor is expecting. These interfaces are - - com/sun/star/xml/XImportFilter - com/sun/star/xml/XExportFilter - -Also, when we are exporting, we want the FlatXml filter to behave like a DocumentHandler, we must also implement the XDocumentHandler interface - - com/sun/star/xml/sax/XDocumentHandler - -With these interfaces implemented, we can now start to get the code to work as a import and export filter. - - - -How do I Build the code? -======================== - run: - make solaris_workshopcxx //for Solaris - make win_microcxx //for windows - make linux_gcc //for linux -This will produce a FlatXml.so or FlatXml.dll library in the /lib directory. - - - - -How do I register this filter with OpenOffice? -============================================== - -The Odk contains a program called "regcomp". This program queries a component (library or jar file) for information and then places this information into an OpenOffice installations "applicat.rdb". This database is used by OpenOffice to identify what components it has and where to find them. - -To register a component on Solaris or Linux: ----------------------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.so" - -To register a component on windows: ----------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.dll" - -To register a java based component (Jar file): ----------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.jar" -l com.sun.star.loader.Java2 - -(For more info on registering java components see http://udk.openoffice.org/java/man/register_java_components.html) - - - - - -How do I access this filter from OpenOffice? -============================================ - -In an OpenOffice installation set, there is a file called TypeDetection.xml (usually located at /share/config/registry/instance/org/openoffice/Office/TypeDetection.xml). -This file contains the definitions of all of the filters that staroffice uses to open and save files. Therefore, we must add an entry to this file in order to make our filters visible and usable within OpenOffice. - -The TypeDetection.xml consists of definitions which describe a particular format and definitions which define how a Type is opened and saved. - -Firstly, make a backup of your TypeDetection.xml file. -When this has been done, cut and paste the following into the relevant sections in the TypeDetection.xml file. - - under Types: - ============ - - - Flat XML File - - 1,,,,xml,20002, - - - under Filters: - ============== - - true - Flat XML File - 0,writer_Flat_XML_File,com.sun.star.text.TextDocument,com.sun.star.comp.Writer.XmlFilterAdaptor,524355,com.sun.star.documentconversion.XFlatXml; ;com.sun.star.comp.Writer.XMLImporter;com.sun.star.comp.Writer.XMLExporter,0,, - - -This filter definition, will now open Flat Xml files with the extension .xml. - - -Now What? -========= -When OpenOffice is restarted, a new filter type will be available in the Open and Save Dialog boxes. To save a file as Flat Xml, just go to the "Save As" menu item, and select "Flat XML File" as the format. - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/exports.dxp b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/exports.dxp deleted file mode 100644 index 9630d7e06768..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/exports.dxp +++ /dev/null @@ -1,3 +0,0 @@ -component_getImplementationEnvironment -component_writeInfo -component_getFactory diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/makefile.mk b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/makefile.mk deleted file mode 100644 index f93616bcf4e1..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/cpp/makefile.mk +++ /dev/null @@ -1,97 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/.. - -PRJNAME=FlatXml -TARGET=FlatXml -ENABLE_EXCEPTIONS=TRUE -NO_BSYMBOLIC=TRUE -COMP1TYPELIST=$(TARGET) - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -.IF "$(GUI)"=="WNT" -DLLPOSTFIX=.dll -DLLPREFIX= -.ELSE -DLLPOSTFIX=.so -DLLPREFIX=lib -.ENDIF - -# --- Files -------------------------------------------------------- -ALLIDLFILES = test_bridge.idl -#CPPUMAKERFLAGS += -C - -UNOUCRDEP=$(SOLARBINDIR)$/applicat.rdb -UNOUCRRDB=$(SOLARBINDIR)$/applicat.rdb - -# output directory (one dir for each project) -UNOUCROUT=$(OUT)$/inc$/examples - -# adding to inludeoath -INCPRE+=$(UNOUCROUT) - -SLOFILES = $(SLO)$/FlatXml.obj - -SHL1TARGET= FlatXml - -SHL1STDLIBS= \ - $(SALLIB) \ - $(VOSLIB) \ - $(CPPULIB) \ - $(CPPUHELPERLIB) - -SHL1DEPN= -SHL1IMPLIB= i$(SHL1TARGET) -SHL1LIBS= $(SLB)$/$(SHL1TARGET).lib -SHL1DEF= $(MISC)$/$(SHL1TARGET).def - -DEF1NAME= $(SHL1TARGET) -DEF1EXPORTFILE= exports.dxp - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - -ALLTAR : $(MISC)$/component_officeclient_registered.flag - -.IF "$(GUI)"=="WNT" -PATHPREFIX = . -CURRENTDIR = $(BIN) -.ELSE -PATHPREFIX = ..$/bin -CURRENTDIR = $(LB) -.ENDIF - -$(MISC)$/component_officeclient_registered.flag .SETDIR=$(CURRENTDIR): - -rm -f ..$/misc$/component_officeclient_registered.flag - $(COPY) $(SOLARBINDIR)$/applicat.rdb $(PATHPREFIX)$/officeclient.rdb - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Makefile b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Makefile deleted file mode 100755 index 7f4d624235f8..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Makefile +++ /dev/null @@ -1,123 +0,0 @@ -# Builds the java demo component. - -PRJ=..$(PS)..$(PS).. -SETTINGS=../../../settings - -# Include settings makefile depending on platform/compiler -ifeq "$(MAKECMDGOALS)" "win_microcxx" - -include $(SETTINGS)/win_microcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_BIN) -endif -ifeq "$(MAKECMDGOALS)" "solaris_workshopcxx" - -include $(SETTINGS)/solaris_workshopcxx_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif -ifeq "$(MAKECMDGOALS)" "linux_gcc" - -include $(SETTINGS)/linux_gcc_settings.mk -ifndef PS -$(error Platform/Compiler settings file not found) -endif - SHAREDLIB_OUT=$(OUT_LIB) -endif - -# Define non-platform/compiler specific settings - -include $(SETTINGS)/dk.mk -include $(SETTINGS)/std.mk - -# Define non-platform/compiler specific settings - - -# Targets -.PHONY: ALL -ALL : - @echo ------------------------------------------------------------- - @echo You must supply a target where TARGET is one of the following: - @echo - @echo win_microcxx : Windows using Microsoft C++ compiler/linker - @echo solaris_workshopcxx : Solaris using Sun Workshop C++ compiler - @echo linux_gcc : Linux using gcc - @echo ------------------------------------------------------------- - -REGISTERFLAGFILE = $(OUT_MISC)$(PS)register_components_XFlatXml_is_ok.flag - -OUT_COMPONENT = $(OUT_CLASS)$(PS)XFlatXml -COMPONENT_RDB = $(OUT_BIN)$(PS)XFlatXml.rdb - -COMPONENT_JAR = $(OUT_CLASS)$(PS)XFlatXml.jar -COMPONENT_MANIFESTFILE = manifest - -IDLFILES = XFilterAdapter.idl - -# normally the idl file should be stored in a directory tree fitting the module structure, -# for the example we know the module structure -PACKAGE = com$(PS)sun$(PS)star$(PS)document - -JAVAFILES = XOutputStreamToOutputStreamAdapter.java XInputStreamToInputStreamAdapter.java TestStream.java XFlatXml.java - -GENJAVAFILES = $(patsubst %.idl,$(OUT_MISC)$(PS)$(PACKAGE)$(PS)%.java,$(IDLFILES) ) -GENURDFILES = $(patsubst %.idl,$(OUT_MISC)$(PS)%.urd,$(IDLFILES) ) - -CLASSFILES = $(patsubst %.java,$(OUT_COMPONENT)$(PS)%.class,$(JAVAFILES) ) - -CLASSFILES += $(patsubst %.java,$(OUT_COMPONENT)$(PS)$(PACKAGE)$(PS)%.class,$(GENJAVAFILES) ) - -DK_CLASSPATH = $(subst $(EMPTYSTRING) $(EMPTYSTRING),, \ - $(CLASSES_DIR)$(PS)jurt.jar\ - $(PATH_SEPARATOR)$(CLASSES_DIR)$(PS)unoil.jar\ - $(PATH_SEPARATOR)$(CLASSES_DIR)$(PS)ridl.jar\ - $(PATH_SEPARATOR)$(CLASSES_DIR)$(PS)java_uno.jar\ - $(PATH_SEPARATOR)$(CLASSES_DIR)$(PS)juh.jar\ - $(PATH_SEPARATOR)$(CLASSPATH) \ - $(PATH_SEPARATOR)$(OUT_COMPONENT) \ - ) - -OFFICE_FILEURL = $(subst \,/,$(OFFICE_PROGRAM_PATH)) -OFFICE_CLASSPATH = $(subst $(CLASSES_DIR),$(OFFICE_PROGRAM_PATH)$(PS)classes, $(DK_CLASSPATH)) - -win_microcxx : $(COMPONENT_JAR) $(REGISTERFLAGFILE) - -solaris_workshopcxx : $(COMPONENT_JAR) $(REGISTERFLAGFILE) - -linux_gcc : $(COMPONENT_JAR) $(REGISTERFLAGFILE) - -include $(SETTINGS)/stdtarget.mk - -$(OUT_COMPONENT) : $(OUT) $(OUT_CLASS) - $(MKDIR) $(OUT_COMPONENT) - -$(GENJAVAFILES) : $(IDLFILES) - $(BIN_DIR)$(PS)idlc -I. -I$(IDL_DIR) -O$(OUT_MISC) $(IDLFILES) - $(BIN_DIR)$(PS)regmerge $(COMPONENT_RDB) /UCR $(GENURDFILES) - $(BIN_DIR)$(PS)regmerge $(COMPONENT_RDB) / $(BIN_DIR)$(PS)$(DKREGISTRYNAME) - $(BIN_DIR)$(PS)javamaker -BUCR -Tcom.sun.star.document.XFilterAdapter -O$(OUT_MISC) $(COMPONENT_RDB) - $(BIN_DIR)$(PS)cppumaker -BUCR -Tcom.sun.star.document.XFilterAdapter -O$(OUT)$(PS)inc$(PS)examples $(COMPONENT_RDB) - -$(CLASSFILES) : $(OUT_COMPONENT) $(GENJAVAFILES) $(JAVAFILES) - javac -classpath $(DK_CLASSPATH) -d $(OUT_COMPONENT) $(GENJAVAFILES) $(JAVAFILES) - -$(COMPONENT_JAR) : $(CLASSFILES) - jar cvfm $(COMPONENT_JAR) Manifest -C $(OUT_COMPONENT) . - -#$(REGISTERFLAGFILE) : $(REGISTERFLAGFILE) -$(REGISTERFLAGFILE) : FORCE -ifneq "$(OFFICE_PROGRAM_PATH)" "" - $(BIN_DIR)$(PS)regmerge $(OFFICE_PROGRAM_PATH)$(PS)applicat.rdb /UCR $(GENURDFILES) - $(COPY) $(COMPONENT_JAR) $(OFFICE_PROGRAM_PATH)$(PS)classes - java -classpath $(OFFICE_CLASSPATH) com.sun.star.tools.uno.RegComp "$(URLPREFIX)$(OFFICE_FILEURL)/applicat.rdb" register "$(URLPREFIX)$(OFFICE_FILEURL)/classes/XFlatXml.jar" com.sun.star.loader.Java2 - @echo bla > $(REGISTERFLAGFILE) -else - @echo ---------------------------------------------------------------------------------------- - @echo If you want to install your component automatically, please set an OFFICE_PROGRAM_PATH - @echo environment variable to the program directory of a valid office installation . - @echo ---------------------------------------------------------------------------------------- -endif - - -FORCE : diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Manifest b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Manifest deleted file mode 100755 index 3aeb7abf46d3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/Manifest +++ /dev/null @@ -1 +0,0 @@ -RegistrationClassName: XFlatXml diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/README b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/README deleted file mode 100755 index a5b82ce4cef4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/README +++ /dev/null @@ -1,97 +0,0 @@ -The Flat Xml Filter -==================== - - -This sample provides a sample FlatXml filter for Openoffice. It have been developed to make use of the XmlFilterAdapter module. This code can also be used as a Skeleton implementation for developing a more complex filter. - - - -How does the code work? -======================== - - Firstly, the code has been developed to use the XmlFilterAdaptor module. For this reason, we must conform to the interfaces that the XmlFilterAdaptor is expecting. These interfaces are - - com/sun/star/xml/XImportFilter - com/sun/star/xml/XExportFilter - -Also, when we are exporting, we want the FlatXml filter to behave like a DocumentHandler, we must also implement the XDocumentHandler interface - - com/sun/star/xml/sax/XDocumentHandler - -With these interfaces implemented, we can now start to get the code to work as a import and export filter. - - - -How do I Build the code? -======================== - run: - make solaris_workshopcxx //for Solaris - make win_microcxx //for windows - make linux_gcc //for linux -This will produce a FlatXml.so or FlatXml.dll library in the /lib directory. - - - - -How do I register this filter with OpenOffice? -============================================== - -The Odk contains a program called "regcomp". This program queries a component (library or jar file) for information and then places this information into an OpenOffice installations "applicat.rdb". This database is used by OpenOffice to identify what components it has and where to find them. - -To register a component on Solaris or Linux: ----------------------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.so" - -To register a component on windows: ----------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.dll" - -To register a java based component (Jar file): ----------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.jar" -l com.sun.star.loader.Java2 - -(For more info on registering java components see http://udk.openoffice.org/java/man/register_java_components.html) - - - - - -How do I access this filter from OpenOffice? -============================================ - -In an OpenOffice installation set, there is a file called TypeDetection.xml (usually located at /share/config/registry/instance/org/openoffice/Office/TypeDetection.xml). -This file contains the definitions of all of the filters that staroffice uses to open and save files. Therefore, we must add an entry to this file in order to make our filters visible and usable within OpenOffice. - -The TypeDetection.xml consists of definitions which describe a particular format and definitions which define how a Type is opened and saved. - -Firstly, make a backup of your TypeDetection.xml file. -When this has been done, cut and paste the following into the relevant sections in the TypeDetection.xml file. - - under Types: - ============ - - - Flat XML File - - 1,,,,xml,20002, - - - under Filters: - ============== - - true - Flat XML File - 0,writer_Flat_XML_File,com.sun.star.text.TextDocument,com.sun.star.comp.Writer.XmlFilterAdaptor,524355,com.sun.star.documentconversion.XFlatXml; ;com.sun.star.comp.Writer.XMLImporter;com.sun.star.comp.Writer.XMLExporter,0,, - - -This filter definition, will now open Flat Xml files with the extension .xml. - - -Now What? -========= -When OpenOffice is restarted, a new filter type will be available in the Open and Save Dialog boxes. To save a file as Flat Xml, just go to the "Save As" menu item, and select "Flat XML File" as the format. - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/TestStream.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/TestStream.java deleted file mode 100644 index 7485a28de622..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/TestStream.java +++ /dev/null @@ -1,461 +0,0 @@ - -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.io.NotConnectedException; -import com.sun.star.io.BufferSizeExceededException; -import com.sun.star.io.IOException; - -class TestStream implements XInputStream, XOutputStream { - - /** An array of bytes to be returned when the XInputStream read() method - * is called - */ - private byte [] isBytes; - - /** - * A backup buffer where data sent to the XOutputStream write() method - * is placed, used for verification purposes. - */ - private byte [] bytesBak; - - /** - * Maximum length of data returned by XInputStream read(). - */ - private static int inputLength = 256; - - /** - * Keeps track of how far into the XInputStream has been read. - */ - private int currentLoc; - - - /** - * Constructor. Sets up the isBytes array. - */ - public TestStream() { - - currentLoc = 0; - - isBytes = new byte [inputLength]; - for (int i=0; i < inputLength; i++) { - isBytes[i] = (byte)i; - } - } - - /* XInputStream interfaces */ - - public int readBytes(byte[][] aData, int toRead) - throws NotConnectedException, BufferSizeExceededException, - IOException { - - int checkSize = inputLength - currentLoc; - - if (checkSize <= 0) { - return -1; - } else if (toRead > checkSize) { - System.arraycopy(isBytes, currentLoc, aData[0], 0, checkSize); - currentLoc += checkSize; - return checkSize; - } else { - System.arraycopy(isBytes, currentLoc, aData[0], 0, toRead); - currentLoc += toRead; - return toRead; - } - } - - public int readSomeBytes(byte[][] aData, int nMaxBytesToRead) - throws NotConnectedException, - BufferSizeExceededException, IOException { - - return(readBytes(aData, nMaxBytesToRead)); - } - - public void skipBytes(int nBytesToSkip) throws NotConnectedException, - BufferSizeExceededException, IOException { - - currentLoc += nBytesToSkip; - } - - public int available() throws NotConnectedException, IOException { - int checkSize = inputLength - currentLoc; - - if (checkSize < 0) { - return -1; - } else { - return checkSize; - } - } - - public void closeInput() throws NotConnectedException, IOException { - - // Set currentLoc to the max, so read calls will return -1. - // - currentLoc = inputLength + 1; - System.out.println("Closed XInputStream."); - } - - /* XOutputStream Interfaces */ - - public void writeBytes(byte [] aData) - throws NotConnectedException, BufferSizeExceededException, - IOException { - - // Set backup array, used for verification purposes. - // - bytesBak = aData; - - System.out.println("Wrote out the following data to XOutputStream:"); - for (int i=0; i < aData.length; i++) { - System.out.println(" <" + aData[i] + ">"); - } - } - - public void flush() - throws NotConnectedException, BufferSizeExceededException, - IOException { - - System.out.println("Flushed XOutputStream."); - } - - public void closeOutput() - throws NotConnectedException, BufferSizeExceededException, - IOException { - - System.out.println("Closed XOutputStream."); - } - - /** - * Returns the last data passed into the write function, used for - * verification purposes. - */ - public byte [] getBytesBak() { - return bytesBak; - } - - public static void main(String args[]) { - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read(), bytes value 1-256:"); - - TestStream ts = new TestStream(); - XInputStreamToInputStreamAdapter is = - new XInputStreamToInputStreamAdapter(ts); - int rc = 0, avail; - boolean testStatus = true; - - int cnt = 0; - do { - try { - rc = is.read(); - avail = is.available(); - System.out.println(" Read value <" + rc + - ">, avail <" + avail + ">"); - - if (cnt < inputLength && rc != cnt) { - System.out.println("Read wrong value <" + rc + ">, expecting <" + cnt + ">"); - testStatus = false; - } - - cnt++; - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read(), bytes value 1-256 with skips of 3 bytes:"); - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - do { - try { - rc = is.read(); - avail = is.available(); - System.out.println(" Read value <" + rc + - ">, avail <" + avail + ">"); - is.skip(3); - - if (cnt < inputLength && rc != cnt) { - System.out.println("Read wrong value <" + rc + ">, expecting <" + cnt + ">"); - testStatus = false; - } - - cnt += 4; - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read() in chunks of 5 bytes."); - byte [] bi1 = new byte [5]; - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - do { - try { - rc = is.read(bi1); - avail = is.available(); - System.out.print("Read value <"); - for (int i=0; i < bi1.length; i++) { - - if (i == (bi1.length - 1)) { - System.out.print((int)bi1[i]); - } else { - System.out.print((int)bi1[i] + ","); - } - - if ((cnt) < inputLength && bi1[i] != (byte)cnt) { - System.out.println("\nRead wrong value <" + (int)bi1[i] + ">, expecting <" + - (cnt) + ">"); - testStatus = false; - } - cnt++; - } - System.out.print("> read rc <" + rc + - ">, avail <" + avail + ">\n"); - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read() in chunks of 6 bytes, offset=2, length=3."); - byte [] bi2 = new byte [6]; - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - int offset = 2; - int length = 3; - do { - try { - rc = is.read(bi2, offset, length); - avail = is.available(); - System.out.print("Read value <"); - for (int i=0; i < bi2.length; i++) { - if (i == (bi2.length - 1)) { - System.out.print((int)bi2[i]); - } else { - System.out.print((int)bi2[i] + ","); - } - - if (cnt < inputLength) { - if (i < offset || i >= (offset + length)) { - // Check values that should stay 0 - // - if ((int)bi2[i] != 0) { - System.out.println("\nRead wrong value <" + - (int)bi2[i] + ">, expecting <0>"); - testStatus = false; - } - } else if (bi2[i] != (byte)cnt) { - // Check actually read values. - // - System.out.println("\nRead wrong value <" + - (int)bi2[i] + ">, expecting <" + cnt + ">"); - testStatus = false; - } else { - cnt++; - } - } - } - System.out.print("> read rc <" + rc + - ">, avail <" + avail + ">\n"); - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() and flush()"); - - ts = new TestStream(); - XOutputStreamToOutputStreamAdapter os = - new XOutputStreamToOutputStreamAdapter(ts); - - for (int i=0; i < 5; i++) { - try { - os.write((byte)i); - byte [] testBytes = ts.getBytesBak(); - - if (testBytes[0] != i) { - System.out.println("Wrote wrong value <" + testBytes[0] + ">, expecting "); - testStatus = false; - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() with a chunk of 5 bytes"); - - ts = new TestStream(); - os = new XOutputStreamToOutputStreamAdapter(ts); - - byte [] bo1 = new byte [5]; - for (int i=0; i < bo1.length; i++) { - bo1[i] = (byte)i; - } - - try { - os.write(bo1); - byte [] testBytes = ts.getBytesBak(); - - for (int i=0; i < bo1.length; i++) { - if (testBytes[i] != bo1[i]) { - System.out.println("Wrote wrong value <" + testBytes[i] + ">, expecting <" + bo1[i] + ">"); - testStatus = false; - } - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() with a chunk of 6 bytes, offset=2, length=3."); - - ts = new TestStream(); - os = new XOutputStreamToOutputStreamAdapter(ts); - - byte [] bo2 = new byte [6]; - for (int i=0; i < bo2.length; i++) { - bo2[i] = (byte)i; - } - - offset = 2; - length = 3; - try { - os.write(bo2, offset, length); - byte [] testBytes = ts.getBytesBak(); - - for (int i=0; i < bo2.length; i++) { - if ((i >= offset && i < (offset + length)) && testBytes[i-offset] != bo2[i]) { - System.out.println("Wrote wrong value <" + testBytes[i-offset] + ">, expecting <" + bo2[i] + ">"); - testStatus = false; - } - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - if (testStatus == true) { - System.out.println("\nAll tests passed...\n"); - System.exit(0); - } else { - System.out.println("\nSome tests failed...\n"); - System.exit(-1); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFilterAdapter.idl b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFilterAdapter.idl deleted file mode 100755 index 2fa9fd8269d4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFilterAdapter.idl +++ /dev/null @@ -1,71 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__ -#define _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__ -#ifndef __com_sun_star_uno_RuntimeException_idl__ -#include -#endif - -#include -#include -#include - - - -//============================================================================= - - module com { module sun { module star { module document { - -//============================================================================= - - /** This is an interface that can be used to link a filter to the - XmlFilterAdaptor - - @throws com::sun::star::uno::RuntimeException - */ - interface XFilterAdapter : com::sun::star::uno::XInterface - { - void convert( - [in] com::sun::star::io::XInputStream xml, - [in] com::sun::star::io::XOutputStream device, - [in] boolean convertToOffice, - [in] string pluginUrl, - [in] string fileName); - /*raises( com::sun::star::uno::RuntimeException );*/ - - }; - service FilterAdapter - { - interface XFilterAdapter; - }; - - }; - }; - }; -}; - -#endif diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFlatXml.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFlatXml.java deleted file mode 100755 index 0baaed5816d5..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XFlatXml.java +++ /dev/null @@ -1,506 +0,0 @@ -/** You can find more - * information on the following web page: - * http://api.openoffice.org/common/ref/com/sun/star/index.html - */ -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XInitialization; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.uno.Type; -//import com.sun.star.documentconversion.XConverterBridge; -//import com.sun.star.document.XFilterAdapter; -import java.util.Enumeration; -import java.util.Vector; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.ByteArrayOutputStream; -import com.sun.star.xml.XImportFilter; -import com.sun.star.xml.XExportFilter; -import java.io.*; - - -import com.sun.star.uno.AnyConverter; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.uno.Type; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.frame.XConfigManager; -import com.sun.star.xml.sax.InputSource; -import com.sun.star.xml.sax.XParser; -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.xml.sax.XDocumentHandler; - -//Uno to java Adaptor -import com.sun.star.lib.uno.adapter.*; - -/** This outer class provides an inner class to implement the service - * description, a method to instantiate the - * component on demand (__getServiceFactory()), and a method to give - * information about the component (__writeRegistryServiceInfo()). - */ -public class XFlatXml { - - - private static XMultiServiceFactory xMSF; - private static XDocumentHandler exportDocHandler=null; - private static XInputStream xInStream =null; - private static XOutputStream xOutStream=null; - private static String udJarPath=null; - private static XOutputStream xos = null; - private static XOutputStreamToOutputStreamAdapter adaptedStream=null; - private static String sFileName=null; - - - - /** This inner class provides the component as a concrete implementation - * of the service description. It implements the needed interfaces. - * @implements XTypeProvider - */ - static public class _XFlatXml implements - //XConverterBridge, - XImportFilter, - XExportFilter, - XServiceName, - XServiceInfo, - XDocumentHandler, - XTypeProvider { - - /** The component will be registered under this name. - */ - static private final String __serviceName = "com.sun.star.documentconversion.XFlatXml"; - - public com.sun.star.uno.Type[] getTypes() { - Type[] typeReturn = {}; - - try { - typeReturn = new Type[] { - new Type( XTypeProvider.class ), - new Type( XExportFilter.class ), - new Type( XImportFilter.class ), - new Type( XServiceName.class ), - new Type( XServiceInfo.class ) }; - } - catch( Exception exception ) { - - } - - return( typeReturn ); - } - - - public boolean importer(com.sun.star.beans.PropertyValue[] aSourceData, - com.sun.star.xml.sax.XDocumentHandler xDocHandler, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException { - /* - System.out.println("\nFound the Java Importer!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - System.out.println("\n"+xDocHandler); - */ - sFileName=null; - String sDirectory = null; - String sURL=null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - com.sun.star.io.XInputStream xis=null; - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("InputStream")==0){ - xis=(com.sun.star.io.XInputStream)AnyConverter.toObject(new Type(com.sun.star.io.XInputStream.class), pValue[i].Value); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - if (pValue[i].Name.compareTo("URL")==0){ - sURL=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - - } - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - - Object xSaxParserObj=xMSF.createInstance("com.sun.star.xml.sax.Parser"); - - XParser xParser = (XParser) UnoRuntime.queryInterface( - XParser.class , xSaxParserObj ); - - InputSource aInput = new InputSource(); - if (sFileName==null) - sFileName=" "; - aInput.sSystemId = sFileName; - aInput.aInputStream =xis; - xParser.setDocumentHandler ( xDocHandler ); - xParser.parseStream ( aInput ); - - - } - catch (Exception e){ - //e.printStackTrace(); - System.out.println("\nException "+e); - - } - return true; - } - - - - public boolean exporter(com.sun.star.beans.PropertyValue[] aSourceData, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException{ - /* - System.out.println("\nFound the Exporter!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - */ - sFileName=null; - String sDirectory = null; - String sURL=null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - - - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("OutputStream")==0){ - xos=(com.sun.star.io.XOutputStream)AnyConverter.toObject(new Type(com.sun.star.io.XOutputStream.class), pValue[i].Value); - // System.out.println(pValue[i].Name+" "+xos); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - //System.out.println(pValue[i].Name+" "+sFileName); - } - if (pValue[i].Name.compareTo("URL")==0){ - sURL=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - // System.out.println("\nMediaDescriptor url "+pValue[i].Name+" "+sURL); - - } - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - } - - - try{ - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - udJarPath= PathString.concat(udJarPath); - - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - } - catch (Exception e){ - System.out.println("Exception "+e); - } - - return true; - } - - public String replace(String origString, String origChar, String replaceChar){ - String tmp=""; - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - String first =origString.substring(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.substring(index+1,origString.length()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - - } - - } - - return tmp; - } - - public String needsMask(String origString){ - - if (origString.indexOf("&")!=-1){ - origString=replace(origString,"&","&"); - } - if (origString.indexOf("<")!=-1){ - origString=replace(origString,"<","<"); - } - if (origString.indexOf(">")!=-1){ - origString=replace(origString,">",">"); - } - return origString; - - } - - - - public void startDocument (){ - } - - public void endDocument() - { - convert (xInStream,xos,true,udJarPath,sFileName); - - } - - public void startElement (String str, com.sun.star.xml.sax.XAttributeList xattribs) - { - - str="<".concat(str); - if (xattribs !=null) - { - str= str.concat(" "); - int len=xattribs.getLength(); - for (short i=0;i"); - //System.out.println(str); - try{ - //xOutStream.writeBytes(str.getBytes()); - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void endElement(String str){ - str=""); - //str=str.concat("\n"); - try{ - // xOutStream.writeBytes(str.getBytes()); - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - // System.out.println(str); - - } - public void characters(String str){ - str=needsMask(str); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void ignorableWhitespace(String str){ - - - } - public void processingInstruction(String aTarget, String aData){ - - } - - public void setDocumentLocator(com.sun.star.xml.sax.XLocator xLocator){ - - } - - - -String getFileName(String origName) - { - String name=null; - if (origName !=null) - { - if(origName.equalsIgnoreCase("")) - name = "OutFile"; - else { - if (origName.lastIndexOf("/")>=0){ - origName=origName.substring(origName.lastIndexOf("/")+1,origName.length()); - } - if (origName.lastIndexOf(".")>=0){ - name = origName.substring(0,(origName.lastIndexOf("."))); - } - else{ - name=origName; - } - } - } - else{ - name = "OutFile"; - } - return name; - } - - - - public void convert (com.sun.star.io.XInputStream xml, - com.sun.star.io.XOutputStream device,boolean convertFromOffice,String pluginUrl,String FileName) throws com.sun.star.uno.RuntimeException { - //System.out.println("\nFound the Convert method "+pluginUrl); - String jarName = pluginUrl; - String name=getFileName(FileName); - - XInputStreamToInputStreamAdapter xis =new XInputStreamToInputStreamAdapter(xml); - - XOutputStreamToOutputStreamAdapter xos = - new XOutputStreamToOutputStreamAdapter(device); - - int b=0; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - if (convertFromOffice) - { - try{ - while (xis.available()>0) - { - byte[] bytearr = new byte[xis.available()]; - xis.read(bytearr); - xos.write(bytearr); - } - - } - catch (Exception e){} - } - else{ - - try{ - - while (xis.available()>0) - { - byte[] bytearr = new byte[xis.available()]; - xis.read(bytearr); - xos.write(bytearr); - - } - xos.close(); - xis.close(); - //xos.write(-1); //EOF character - } - catch (Exception e){} - } - } - - - - - // Implement methods from interface XTypeProvider - public byte[] getImplementationId() { - byte[] byteReturn = {}; - - byteReturn = new String( "" + this.hashCode() ).getBytes(); - - return( byteReturn ); - } - - // Implement method from interface XServiceName - public String getServiceName() { - return( __serviceName ); - } - - // Implement methods from interface XServiceInfo - public boolean supportsService(String stringServiceName) { - return( stringServiceName.equals( __serviceName ) ); - } - - public String getImplementationName() { - return( _XFlatXml.class.getName() ); - } - - public String[] getSupportedServiceNames() { - String[] stringSupportedServiceNames = { __serviceName }; - return( stringSupportedServiceNames ); - } - } - - /** - * Returns a factory for creating the service. - * This method is called by the JavaLoader - * - * @return returns a XSingleServiceFactory for creating the - * component - * - * @param implName the name of the implementation for which a - * service is desired - * @param multiFactory the service manager to be used if needed - * @param regKey the registryKey - * - * @see com.sun.star.comp.loader.JavaLoader - */ - public static XSingleServiceFactory __getServiceFactory(String implName, - XMultiServiceFactory multiFactory, - XRegistryKey regKey) { - XSingleServiceFactory xSingleServiceFactory = null; - xMSF= multiFactory; - if (implName.equals(_XFlatXml.class.getName()) ) { - xSingleServiceFactory = FactoryHelper.getServiceFactory(_XFlatXml.class, - _XFlatXml.__serviceName, - multiFactory, - regKey); - } - - return xSingleServiceFactory; - } - - /** - * Writes the service information into the given registry key. - * This method is called by the JavaLoader - *

    - * @return returns true if the operation succeeded - * @param regKey the registryKey - * @see com.sun.star.comp.loader.JavaLoader - */ - public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { - - return FactoryHelper.writeRegistryServiceInfo(_XFlatXml.class.getName(), - _XFlatXml.__serviceName, regKey); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XInputStreamToInputStreamAdapter.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XInputStreamToInputStreamAdapter.java deleted file mode 100644 index a5b3c1ee18ea..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XInputStreamToInputStreamAdapter.java +++ /dev/null @@ -1,204 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -//package com.sun.star.lib.uno.adapter; - - - -import java.io.IOException; -import com.sun.star.io.XInputStream; -import java.io.InputStream; - -/** - * The XInputStreamToInputStreamAdapter wraps - * the UNO XInputStream object in a Java - * InputStream. This allows users to access - * an XInputStream as if it were an - * InputStream. - * - * @author Brian Cameron - */ -public class XInputStreamToInputStreamAdapter extends InputStream { - - /** - * Internal handle to the XInputStream - */ - private XInputStream xin; - - /** - * Constructor. - * - * @param in The XInputStream to be - * accessed as an InputStream. - */ - public XInputStreamToInputStreamAdapter (XInputStream in) { - xin = in; - } - - public int available() throws IOException { - - int bytesAvail; - - try { - bytesAvail = xin.available(); - } catch (Exception e) { - throw new IOException(e.toString()); - } - - return(bytesAvail); - } - - public void close() throws IOException { - try { - xin.closeInput(); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public int read () throws IOException { - byte [][] tmp = new byte [1][1]; - //System.out.println("read1\n"); - try { - long bytesRead = xin.readBytes(tmp, 1); - - if (bytesRead <= 0) { - return (-1); - } else { - int tmpInt = tmp[0][0]; - if (tmpInt< 0 ){ - tmpInt = 256 +tmpInt; - } - return(tmpInt); - } - - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public int read (byte[] b) throws IOException { - - byte [][] tmp = new byte [1][b.length]; - int bytesRead; - //System.out.println("read2\n"); - try { - bytesRead = xin.readBytes(tmp, b.length); - if (bytesRead <= 0) { - return(-1); - } else if (bytesRead < b.length) { - System.arraycopy(tmp[0], 0, b, 0, bytesRead); - } else { - System.arraycopy(tmp[0], 0, b, 0, b.length); - } - } catch (Exception e) { - throw new IOException(e.toString()); - } - - return (bytesRead); - } - - public int read(byte[] b, int off, int len) throws IOException { - int count = 0; - byte [][] tmp = new byte [1][b.length]; - //System.out.println("read3\n"); - try { - long bytesRead = xin.readBytes(tmp,len); - // Casting bytesRead to an int is okay, since the user can - // only pass in an integer length to read, so the bytesRead - // must <= len. - // - if (bytesRead <= 0) { - return(-1); - } else if (bytesRead < len) { - System.arraycopy(tmp[0], 0, b, off, (int)bytesRead); - } else { - System.arraycopy(tmp[0], 0, b, off, len); - } - - return ((int)bytesRead); - - - } catch (Exception e) { - throw new IOException("reader error: "+e.toString()); - } - } - - public long skip(long n) throws IOException { - - int avail; - long tmpLongVal = n; - int tmpIntVal; - - try { - avail = xin.available(); - } catch (Exception e) { - throw new IOException(e.toString()); - } - - do { - if (tmpLongVal >= Integer.MAX_VALUE) { - tmpIntVal = Integer.MAX_VALUE; - } else { - // Casting is safe here. - tmpIntVal = (int)tmpLongVal; - } - tmpLongVal -= tmpIntVal; - - try { - xin.skipBytes(tmpIntVal); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } while (tmpLongVal > 0); - - if (avail < n) { - return(avail); - } else { - return(n); - } - } - - /** - * Tests if this input stream supports the mark and reset methods. - * The markSupported method of - * XInputStreamToInputStreamAdapter returns false. - * - * @returns false - */ - public boolean markSupported() { - return false; - } - - public void mark(int readlimit) { - // Not supported. - } - - public void reset() throws IOException { - // Not supported. - } -} - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XOutputStreamToOutputStreamAdapter.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XOutputStreamToOutputStreamAdapter.java deleted file mode 100644 index e1037432c8d0..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/XOutputStreamToOutputStreamAdapter.java +++ /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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -//package com.sun.star.lib.uno.adapter; - -import java.io.IOException; -import com.sun.star.io.XOutputStream; -import java.io.OutputStream; - -/** - * The XOutputStreamToOutputStreamAdapter wraps - * the UNO XOutputStream object in a Java - * OutputStream. This allows users to access - * an XOutputStream as if it were an - * OutputStream. - * - * @author Brian Cameron - */ -public class XOutputStreamToOutputStreamAdapter extends OutputStream { - - /** - * Internal handle to the XInputStream - */ - XOutputStream xout; - - /** - * Constructor. - * - * @param out The XOutputStream to be - * accessed as an OutputStream. - */ - XOutputStreamToOutputStreamAdapter(XOutputStream out) { - xout = out; - } - - public void close() throws IOException { - try { - xout.closeOutput(); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public void flush() throws IOException { - try { - xout.flush(); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public void write(byte[] b) throws IOException { - //System.out.println("write1\n"); - try { - xout.writeBytes(b); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public void write(byte[] b, int off, int len) throws IOException { - - byte[] tmp = new byte[len]; - //System.out.println("write2\n"); - // Copy the input array into a temp array, and write it out. - // - System.arraycopy(b, off, tmp, 0, len); - - try { - xout.writeBytes(tmp); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } - - public void write(int b) throws IOException { - - byte [] oneByte = new byte [1]; - oneByte[0] = (byte) b; - //System.out.println("write3\n"); - try { - xout.writeBytes(oneByte); - } catch (Exception e) { - throw new IOException(e.toString()); - } - } -} - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/makefile.mk b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/makefile.mk deleted file mode 100755 index 91efa423d9db..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/makefile.mk +++ /dev/null @@ -1,126 +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 -# -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ = ..$/..$/.. -PRJNAME = odk -TARGET = examples_java_converterbridge - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - -JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar ridl.jar -JAVAFILES = $(subst,$(CLASSDIR)$/, $(subst,.class,.java $(JAVACLASSFILES))) -JARCOMPRESS = TRUE -CUSTOMMANIFESTFILE = manifest - -# --- Files -------------------------------------------------------- - -JAVACLASSFILES=\ - $(CLASSDIR)$/ConverterBridge.class -RDB = $(SOLARBINDIR)$/udkapi.rdb -JAVADIR = $(OUT)$/misc$/java - -# --- Targets ------------------------------------------------------ - -INTERFACES=$(MISC)$/ConverterBridge.rdb - -CPPUMAKERFLAGS += -C -UNOUCRDEP=$(SOLARBINDIR)$/udkapi.rdb $(INTERFACES) -UNOUCRRDB=$(SOLARBINDIR)$/udkapi.rdb $(INTERFACES) - -TARGETJARFILE=..$/class$/ConverterBridge.jar -#JAVACLASSFILES=$(CLASSDIR)$/$(PACKAGE)$/ConverterBridge.class -# output directory (one dir for each project) -UNOUCROUT=$(OUT)$/inc - -# adding to inludepath -INCPRE+=$(UNOUCROUT) - -# --- Targets ------------------------------------------------------ - -.IF "$(depend)" == "" -ALL : $(CLASSDIR)$/$(TARGETJARFILE) ALLTAR -.ELSE -ALL: ALLDEP -.ENDIF - -.INCLUDE : target.mk - - -NEWCLASS:=$(foreach,i,$(JARFILES) $(null,$(shell @$(FIND) $(JARDIR) -name $i) $(SOLARBINDIR)$/$i $(shell @$(FIND) $(JARDIR) -name $i))) - -.IF "$(GUI)"=="UNX" -MYCLASSPATH=$(CLASSPATH):$(NEWCLASS:s/ /:/) -.ELSE -MYCLASSPATH=$(CLASSPATH);$(NEWCLASS:s/ /;/) -.ENDIF - - -GENJAVACLASSFILES= \ - $(CLASSDIR)$/com$/sun$/star$/documentconversion$/XConverterBridge.class - -GENJAVAFILES = {$(subst,.class,.java $(subst,$/class, $(GENJAVACLASSFILES)))} -TYPES={$(subst,.class, $(subst,$/,. $(subst,$(CLASSDIR)$/,-T $(GENJAVACLASSFILES))))} - -$(GENJAVAFILES): $(INTERFACES) - javamaker -BUCR -O$(OUT) $(TYPES) $(UNOUCRRDB) - -$(GENJAVACLASSFILES): $(GENJAVAFILES) - $(JAVAC) $(JAVACPS) $(MYCLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $< - -$(CLASSDIR)$/$(TARGETJARFILE): $(JAVAFILES) $(GENJAVACLASSFILES) - $(JAVAC) $(JAVACPS) $(MYCLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES) - cd $(CLASSDIR) && jar -cvf $(TARGETJARFILE) ConverterBridge.class ConverterBridge$$_ConverterBridge.class com$/sun$/star$/documentconversion$/XConverterBridge.class - @echo java -classpath $(CLASSPATH) com.sun.star.tools.uno.RegComp $(UNOUCRRDB) register ConverterBridge.jar com.sun.star.loader.Java2 - java -classpath $(CLASSPATH) com.sun.star.tools.uno.RegComp $(UNOUCRRDB) register ConverterBridge.jar com.sun.star.loader.Java2 - -#$(INTERFACES) : XConverterBridge.idl -# idlc $(UNOIDLINC) -O$(OUT)$/ucr$/$(IDLPACKAGE) XConverterBridge.idl -# regmerge $(INTERFACES) /UCR $(OUT)$/ucr$/$(IDLPACKAGE)$/XConverterBridge.urd - - - - -$(MISC)$/$(SHL1TARGET).def: -#makefile.mk - @echo ------------------------------ - @echo Making: $@ - @echo LIBRARY $(SHL1TARGET) >$@ - @echo EXPORTS >>$@ - @echo uno_initEnvironment >>$@ - @echo uno_ext_getMapping >>$@ - @echo Java_com_sun_star_comp_bridge_JavaMapper_castIntToObject >>$@ - @echo Java_com_sun_star_comp_bridge_JavaMapper_castObjectToInt >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_add >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_createTicket >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_dispose >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_reply >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_request >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_retrieve >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_revoke >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_stopDispose >>$@ - @echo Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_waitOnTicket >>$@ diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.cxx b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.cxx deleted file mode 100755 index 71c9bcd04e4c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.cxx +++ /dev/null @@ -1,267 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_xmerge.hxx" - -#ifndef _OSL_STREAM_WRAPPER_HXX_ -#include "streamwrap.hxx" -#endif -#include - -namespace foo -{ - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::io; -using namespace ::com::sun::star::lang; -using namespace ::osl; - -//================================================================== -//= OInputStreamWrapper -//================================================================== -//------------------------------------------------------------------ -OInputStreamWrapper::OInputStreamWrapper( File& _rStream ) - :m_pSvStream(&_rStream) - ,m_bSvStreamOwner(sal_False) -{ -} - -//------------------------------------------------------------------ -OInputStreamWrapper::OInputStreamWrapper( File* pStream, sal_Bool bOwner ) - :m_pSvStream( pStream ) - ,m_bSvStreamOwner( bOwner ) -{ -} - -//------------------------------------------------------------------ -OInputStreamWrapper::~OInputStreamWrapper() -{ - if( m_bSvStreamOwner ) - delete m_pSvStream; - -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) - throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - checkConnected(); - - if (nBytesToRead < 0) - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - - ::osl::MutexGuard aGuard( m_aMutex ); - - aData.realloc(nBytesToRead); - - sal_uInt64 nRead = 0; - m_pSvStream->read((void*)aData.getArray(), nBytesToRead,nRead); - - checkError(); - - // Wenn gelesene Zeichen < MaxLength, staruno::Sequence anpassen - if (nRead < nBytesToRead) - aData.realloc( nRead ); - - return nRead; -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - checkError(); - - if (nMaxBytesToRead < 0) - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - - return readBytes(aData, nMaxBytesToRead); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OInputStreamWrapper::skipBytes(sal_Int32 nBytesToSkip) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkError(); - - m_pSvStream->setPos(osl_Pos_Current,nBytesToSkip); - checkError(); -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::available() throw( stario::NotConnectedException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nPos = 0; - m_pSvStream->getPos(nPos); - checkError(); - - m_pSvStream->setPos(Pos_End,0); - checkError(); - - sal_uInt64 nAvailable = 0; - m_pSvStream->getPos(nAvailable); - nAvailable -= nPos; - - m_pSvStream->setPos(Pos_Absolut,nPos); - checkError(); - - return nAvailable; -} - -//------------------------------------------------------------------------------ -void SAL_CALL OInputStreamWrapper::closeInput() throw( stario::NotConnectedException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - if (m_bSvStreamOwner) - delete m_pSvStream; - - m_pSvStream = NULL; -} - -//------------------------------------------------------------------------------ -void OInputStreamWrapper::checkConnected() const -{ - if (!m_pSvStream) - throw stario::NotConnectedException(::rtl::OUString(), const_cast(static_cast(this))); -} - -//------------------------------------------------------------------------------ -void OInputStreamWrapper::checkError() const -{ - checkConnected(); -} - -//================================================================== -//= OSeekableInputStreamWrapper -//================================================================== -//------------------------------------------------------------------------------ -OSeekableInputStreamWrapper::OSeekableInputStreamWrapper(File& _rStream) - :OInputStreamWrapper(_rStream) -{ -} - -//------------------------------------------------------------------------------ -OSeekableInputStreamWrapper::OSeekableInputStreamWrapper(File* _pStream, sal_Bool _bOwner) - :OInputStreamWrapper(_pStream, _bOwner) -{ -} - -//------------------------------------------------------------------------------ -Any SAL_CALL OSeekableInputStreamWrapper::queryInterface( const Type& _rType ) throw (RuntimeException) -{ - Any aReturn = OInputStreamWrapper::queryInterface(_rType); - if (!aReturn.hasValue()) - aReturn = OSeekableInputStreamWrapper_Base::queryInterface(_rType); - return aReturn; -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::acquire( ) throw () -{ - OInputStreamWrapper::acquire(); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::release( ) throw () -{ - OInputStreamWrapper::release(); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::seek( sal_Int64 _nLocation ) throw (IllegalArgumentException, IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - m_pSvStream->setPos(Pos_Current,(sal_uInt32)_nLocation); - checkError(); -} - -//------------------------------------------------------------------------------ -sal_Int64 SAL_CALL OSeekableInputStreamWrapper::getPosition( ) throw (IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nPos = 0; - nPos = m_pSvStream->getPos(nPos); - checkError(); - return nPos; -} - -//------------------------------------------------------------------------------ -sal_Int64 SAL_CALL OSeekableInputStreamWrapper::getLength( ) throw (IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nCurrentPos = 0; - m_pSvStream->getPos(nCurrentPos); - checkError(); - - m_pSvStream->setPos(osl_Pos_End,0); - sal_uInt64 nEndPos = 0; - m_pSvStream->getPos(nEndPos); - m_pSvStream->setPos(osl_Pos_Absolut,nCurrentPos); - - checkError(); - - return nEndPos; -} - -//================================================================== -//= OOutputStreamWrapper -//================================================================== -//------------------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - sal_uInt64 nWritten = 0; - rStream.write(aData.getConstArray(),aData.getLength(),nWritten); - if (nWritten != aData.getLength()) - { - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - } -} - -//------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::flush() throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ -} - -//------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::closeOutput() throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ -} - -} // namespace utl - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.hxx b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.hxx deleted file mode 100755 index d31721f3825f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java/streamwrap.hxx +++ /dev/null @@ -1,141 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _OSL_FILE_WRAPPER_HXX_ -#define _OSL_FILE_WRAPPER_HXX_ - -#include -#include -#include -#include -#include - -#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass) \ -virtual void SAL_CALL acquire() throw() { baseclass::acquire(); } \ -virtual void SAL_CALL release() throw() { baseclass::release(); } \ -virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) \ -{ return baseclass::queryInterface(_rType); } \ -void SAL_CALL PUT_SEMICOLON_AT_THE_END() - -namespace osl -{ - class File; -} - -namespace foo -{ - namespace stario = ::com::sun::star::io; - namespace staruno = ::com::sun::star::uno; - -//================================================================== -//= OInputFileWrapper -//================================================================== -typedef ::cppu::WeakImplHelper1 < stario::XInputStream - > InputStreamWrapper_Base; - // needed for some compilers -/// helper class for wrapping a File into an XInputStream -class OInputStreamWrapper : public InputStreamWrapper_Base -{ -protected: - ::osl::Mutex m_aMutex; - ::osl::File* m_pSvStream; - sal_Bool m_bSvStreamOwner : 1; - -public: - OInputStreamWrapper(::osl::File& _rStream); - OInputStreamWrapper(::osl::File* pStream, sal_Bool bOwner=sal_False); - virtual ~OInputStreamWrapper(); - -// UNO Anbindung - DECLARE_UNO3_AGG_DEFAULTS(OInputStreamWrapper, InputStreamWrapper_Base); - -// stario::XInputStream - virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL skipBytes(sal_Int32 nBytesToSkip) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL available() throw(stario::NotConnectedException, staruno::RuntimeException); - virtual void SAL_CALL closeInput() throw(stario::NotConnectedException, staruno::RuntimeException); - -protected: - /// throws a NotConnectedException if the object is not connected anymore - void checkConnected() const; - /// throws an exception according to the error flag of m_pSvStream - void checkError() const; -}; - -//================================================================== -//= OSeekableInputFIleWrapper -//================================================================== -typedef ::cppu::ImplHelper1 < ::com::sun::star::io::XSeekable - > OSeekableInputStreamWrapper_Base; -/** helper class for wrapping an File into an XInputStream - which is seekable (i.e. supports the XSeekable interface). -*/ -class OSeekableInputStreamWrapper - :public OInputStreamWrapper - ,public OSeekableInputStreamWrapper_Base -{ -public: - OSeekableInputStreamWrapper(::osl::File& _rStream); - OSeekableInputStreamWrapper(::osl::File* _pStream, sal_Bool _bOwner = sal_False); - - // disambiguate XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& _rType ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire( ) throw (); - virtual void SAL_CALL release( ) throw (); - - // XSeekable - virtual void SAL_CALL seek( sal_Int64 _nLocation ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int64 SAL_CALL getPosition( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int64 SAL_CALL getLength( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); -}; - -//================================================================== -//= OOutputStreamWrapper -//================================================================== -typedef ::cppu::WeakImplHelper1 OutputStreamWrapper_Base; - // needed for some compilers -class OOutputStreamWrapper : public OutputStreamWrapper_Base -{ - ::osl::File& rStream; - -public: - OOutputStreamWrapper(::osl::File& _rStream) :rStream(_rStream) { } - -// UNO Anbindung - DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base); - -// stario::XOutputStream - virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL closeOutput() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -}; - -} // namespace utl - - -#endif // _UTL_STREAM_WRAPPER_HXX_ - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/FlatXml.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/FlatXml.java deleted file mode 100644 index 53329ac95ce3..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/FlatXml.java +++ /dev/null @@ -1,546 +0,0 @@ -/** You can find more - * information on the following web page: - * http://api.openoffice.org/common/ref/com/sun/star/index.html - */ -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XInitialization; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.uno.Type; -//import com.sun.star.documentconversion.XConverterBridge; -//import com.sun.star.document.XFilterAdapter; -import java.util.Enumeration; -import java.util.Vector; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.ByteArrayOutputStream; -import com.sun.star.xml.XImportFilter; -import com.sun.star.xml.XExportFilter; -import java.io.*; - - -import com.sun.star.uno.AnyConverter; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.uno.Type; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.frame.XConfigManager; -import com.sun.star.xml.sax.InputSource; -import com.sun.star.xml.sax.XParser; -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.xml.sax.XDocumentHandler; - -//Uno to java Adaptor -import com.sun.star.lib.uno.adapter.*; - -/** This outer class provides an inner class to implement the service - * description, a method to instantiate the - * component on demand (__getServiceFactory()), and a method to give - * information about the component (__writeRegistryServiceInfo()). - */ -public class FlatXml { - - - private static XMultiServiceFactory xMSF; - private static XDocumentHandler exportDocHandler=null; - private static XInputStream xInStream =null; - private static XOutputStream xOutStream=null; - private static String udJarPath=null; - private static XOutputStream xos = null; - private static XOutputStreamToOutputStreamAdapter adaptedStream=null; - private static String sFileName=null; - private static int inPara =0; - private static int tagDepth =0; - private static String tabString = new String(" "); - private static boolean openTag =false; - private static boolean closeTag =false; - - - - /** This inner class provides the component as a concrete implementation - * of the service description. It implements the needed interfaces. - * @implements XTypeProvider - */ - static public class _FlatXml implements - //XConverterBridge, - XImportFilter, - XExportFilter, - XServiceName, - XServiceInfo, - XDocumentHandler, - XTypeProvider { - - /** The component will be registered under this name. - */ - static private final String __serviceName = "devguide.officedev.samples.filter.FlatXmlJava"; - - public com.sun.star.uno.Type[] getTypes() { - Type[] typeReturn = {}; - - try { - typeReturn = new Type[] { - new Type( XTypeProvider.class ), - new Type( XExportFilter.class ), - new Type( XImportFilter.class ), - new Type( XServiceName.class ), - new Type( XServiceInfo.class ) }; - } - catch( Exception exception ) { - - } - - return( typeReturn ); - } - - - public boolean importer(com.sun.star.beans.PropertyValue[] aSourceData, - com.sun.star.xml.sax.XDocumentHandler xDocHandler, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException { - /* - System.out.println("\nFound the Java Importer!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - System.out.println("\n"+xDocHandler); - */ - sFileName=null; - String sDirectory = null; - String sURL=null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - com.sun.star.io.XInputStream xis=null; - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("InputStream")==0){ - xis=(com.sun.star.io.XInputStream)AnyConverter.toObject(new Type(com.sun.star.io.XInputStream.class), pValue[i].Value); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - if (pValue[i].Name.compareTo("URL")==0){ - sURL=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - - } - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - - Object xSaxParserObj=xMSF.createInstance("com.sun.star.xml.sax.Parser"); - - XParser xParser = (XParser) UnoRuntime.queryInterface( - XParser.class , xSaxParserObj ); - - InputSource aInput = new InputSource(); - if (sFileName==null) - sFileName=" "; - aInput.sSystemId = sFileName; - aInput.aInputStream =xis; - xParser.setDocumentHandler ( xDocHandler ); - xParser.parseStream ( aInput ); - - - } - catch (Exception e){ - //e.printStackTrace(); - System.out.println("\nException "+e); - - } - return true; - } - - - - public boolean exporter(com.sun.star.beans.PropertyValue[] aSourceData, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException,com.sun.star.lang.IllegalArgumentException{ - /* - System.out.println("\nFound the Exporter!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - */ - sFileName=null; - String sDirectory = null; - String sURL=null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - - - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("OutputStream")==0){ - xos=(com.sun.star.io.XOutputStream)AnyConverter.toObject(new Type(com.sun.star.io.XOutputStream.class), pValue[i].Value); - // System.out.println(pValue[i].Name+" "+xos); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - //System.out.println(pValue[i].Name+" "+sFileName); - } - if (pValue[i].Name.compareTo("URL")==0){ - sURL=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - // System.out.println("\nMediaDescriptor url "+pValue[i].Name+" "+sURL); - - } - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - } - - - try{ - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - udJarPath= PathString.concat(udJarPath); - - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - } - catch (Exception e){ - System.out.println("Exception "+e); - } - - return true; - } - - public String replace(String origString, String origChar, String replaceChar){ - String tmp=""; - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - String first =origString.substring(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.substring(index+1,origString.length()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - - } - - } - - return tmp; - } - - public String needsMask(String origString){ - - if (origString.indexOf("&")!=-1){ - origString=replace(origString,"&","&"); - } - if (origString.indexOf("<")!=-1){ - origString=replace(origString,"<","<"); - } - if (origString.indexOf(">")!=-1){ - origString=replace(origString,">",">"); - } - return origString; - - } - - - - public void startDocument (){ - } - - public void endDocument() - { - convert (xInStream,xos,true,udJarPath,sFileName); - - } - - public void startElement (String str, com.sun.star.xml.sax.XAttributeList xattribs) - { - - String tabs = ""; - for (int i = 0 ; i"); - tagDepth++; - openTag=true; - closeTag=false; - //System.out.println(str); - try{ - //xOutStream.writeBytes(str.getBytes()); - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void endElement(String str){ - tagDepth--; - openTag=false; - String tabs = ""; - for (int i = 0 ; i"); - if (str.indexOf("text:p")!=-1) - inPara--; - if(inPara == 0) - str=str.concat("\n"); - try{ - // xOutStream.writeBytes(str.getBytes()); - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - // System.out.println(str); - closeTag=true; - } - public void characters(String str){ - str=needsMask(str); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void ignorableWhitespace(String str){ - - - } - public void processingInstruction(String aTarget, String aData){ - - } - - public void setDocumentLocator(com.sun.star.xml.sax.XLocator xLocator){ - - } - - - -String getFileName(String origName) - { - String name=null; - if (origName !=null) - { - if(origName.equalsIgnoreCase("")) - name = "OutFile"; - else { - if (origName.lastIndexOf("/")>=0){ - origName=origName.substring(origName.lastIndexOf("/")+1,origName.length()); - } - if (origName.lastIndexOf(".")>=0){ - name = origName.substring(0,(origName.lastIndexOf("."))); - } - else{ - name=origName; - } - } - } - else{ - name = "OutFile"; - } - return name; - } - - - - public void convert (com.sun.star.io.XInputStream xml, - com.sun.star.io.XOutputStream device,boolean convertFromOffice,String pluginUrl,String FileName) throws com.sun.star.uno.RuntimeException { - //System.out.println("\nFound the Convert method "+pluginUrl); - String jarName = pluginUrl; - String name=getFileName(FileName); - - XInputStreamToInputStreamAdapter xis =new XInputStreamToInputStreamAdapter(xml); - - XOutputStreamToOutputStreamAdapter xos = - new XOutputStreamToOutputStreamAdapter(device); - - int b=0; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - if (convertFromOffice) - { - try{ - while (xis.available()>0) - { - byte[] bytearr = new byte[xis.available()]; - xis.read(bytearr); - xos.write(bytearr); - } - - } - catch (Exception e){} - } - else{ - - try{ - - while (xis.available()>0) - { - byte[] bytearr = new byte[xis.available()]; - xis.read(bytearr); - xos.write(bytearr); - - } - xos.close(); - xis.close(); - //xos.write(-1); //EOF character - } - catch (Exception e){} - } - } - - - - - // Implement methods from interface XTypeProvider - public byte[] getImplementationId() { - byte[] byteReturn = {}; - - byteReturn = new String( "" + this.hashCode() ).getBytes(); - - return( byteReturn ); - } - - // Implement method from interface XServiceName - public String getServiceName() { - return( __serviceName ); - } - - // Implement methods from interface XServiceInfo - public boolean supportsService(String stringServiceName) { - return( stringServiceName.equals( __serviceName ) ); - } - - public String getImplementationName() { - return( _FlatXml.class.getName() ); - } - - public String[] getSupportedServiceNames() { - String[] stringSupportedServiceNames = { __serviceName }; - return( stringSupportedServiceNames ); - } - } - - /** - * Returns a factory for creating the service. - * This method is called by the JavaLoader - * - * @return returns a XSingleServiceFactory for creating the - * component - * - * @param implName the name of the implementation for which a - * service is desired - * @param multiFactory the service manager to be used if needed - * @param regKey the registryKey - * - * @see com.sun.star.comp.loader.JavaLoader - */ - public static XSingleServiceFactory __getServiceFactory(String implName, - XMultiServiceFactory multiFactory, - XRegistryKey regKey) { - XSingleServiceFactory xSingleServiceFactory = null; - xMSF= multiFactory; - if (implName.equals(_FlatXml.class.getName()) ) { - xSingleServiceFactory = FactoryHelper.getServiceFactory(_FlatXml.class, - _FlatXml.__serviceName, - multiFactory, - regKey); - } - - return xSingleServiceFactory; - } - - /** - * Writes the service information into the given registry key. - * This method is called by the JavaLoader - *

    - * @return returns true if the operation succeeded - * @param regKey the registryKey - * @see com.sun.star.comp.loader.JavaLoader - */ - public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { - - return FactoryHelper.writeRegistryServiceInfo(_FlatXml.class.getName(), - _FlatXml.__serviceName, regKey); - } -} diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Makefile b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Makefile deleted file mode 100644 index 63ec8b5b2d77..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Makefile +++ /dev/null @@ -1,97 +0,0 @@ -# Builds the Java FlatXMLFilter component example of the Developers Guide. - -PRJ=../../../../.. -SETTINGS=$(PRJ)/settings - -include $(SETTINGS)/settings.mk -include $(SETTINGS)/std.mk -include $(SETTINGS)/dk.mk - -# Define non-platform/compiler specific settings -COMPONENT_NAME=FlatXmlFilter_java -OUT_COMP_CLASS = $(OUT_CLASS)/$(COMPONENT_NAME) -OUT_COMP_GEN = $(OUT_MISC)/$(COMPONENT_NAME) -COMPONENT_PACKAGE = $(OUT_BIN)/$(COMPONENT_NAME).uno.zip -COMPONENT_PACKAGE_URL = $(subst \\,\,"$(COMPONENT_PACKAGE_DIR)$(PS)$(COMPONENT_NAME).uno.zip") -COMPONENT_JAR_NAME = $(COMPONENT_NAME).uno.jar -COMPONENT_JAR = $(OUT_CLASS)/$(COMPONENT_JAR_NAME) -COMPONENT_MANIFESTFILE = $(OUT_COMP_CLASS)/$(COMPONENT_NAME).uno.Manifest - -REGISTERFLAG = $(OUT_MISC)$(PS)devguide_$(COMPONENT_NAME)_register_component.flag - -JAVAFILES = \ - FlatXml.java \ - -CLASSFILES = $(patsubst %.java,$(OUT_COMP_CLASS)/%.class,$(JAVAFILES)) - - -#$(COMPONENT_NAME)_CLASSFILES = FlatXml.class FlatXml$(dlr)_FlatXml.class - -$(COMPONENT_NAME)_CLASSFILES = *.class - - - -SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(OFFICE_CLASSES_DIR)/jurt.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/unoil.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/ridl.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/juh.jar\ - $(PATH_SEPARATOR)$(OUT_COMP_CLASS)) - -# Targets -.PHONY: ALL -ALL : \ - FlatXmlFilterJavaExample - -include $(SETTINGS)/stdtarget.mk - -$(OUT_COMP_CLASS)/%.Manifest : - -$(MKDIR) $(subst /,$(PS),$(@D)) - @echo RegistrationClassName: FlatXml> $@ - -$(CLASSFILES) : $(JAVAFILES) - -$(MKDIR) $(subst /,$(PS),$(@D)) - javac $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_COMP_CLASS) $(JAVAFILES) - -$(OUT_CLASS)/%.jar : $(OUT_COMP_CLASS)/%.Manifest $(CLASSFILES) - -$(MKDIR) $(subst /,$(PS),$(@D)) - cd $(OUT_COMP_CLASS) && jar cvfm ../$(@F) $( $(subst /,$(PS),$@) -else - @echo -------------------------------------------------------------------------------- - @echo If you want to install your component automatically, please set the environment - @echo variable SDK_AUTO_DEPLOYMENT = YES. But note that auto deployment is only - @echo possible if no office instance is running. - @echo -------------------------------------------------------------------------------- -endif - -FlatXmlFilterJavaExample : $(REGISTERFLAG) - @echo -------------------------------------------------------------------------------- - @echo The Java FlatXmlFilter component was installed if SDK_AUTO_DEPLOYMENT = YES. - @echo You can use this filter component inside your office installation. - @echo -------------------------------------------------------------------------------- - -%.run: $(OUT_COMP_CLASS)/%.class - java -classpath "$(SDK_CLASSPATH)" $(basename $@) - -%.local: $(OUT_COMP_CLASS)/%.class - java -classpath "$(SDK_CLASSPATH)" $(basename $@) local - -.PHONY: clean -clean : - -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_CLASS)) - -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_GEN)) - -$(DEL) $(subst /,$(PS),$(COMPONENT_PACKAGE_URL)) - -$(DEL) $(subst /,$(PS),$(COMPONENT_JAR)) - -$(DEL) $(subst /,$(PS),$(REGISTERFLAG)) diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Manifest b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Manifest deleted file mode 100644 index 0d67a12695ab..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/Manifest +++ /dev/null @@ -1 +0,0 @@ -RegistrationClassName: FlatXml diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/README b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/README deleted file mode 100644 index a5b82ce4cef4..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/README +++ /dev/null @@ -1,97 +0,0 @@ -The Flat Xml Filter -==================== - - -This sample provides a sample FlatXml filter for Openoffice. It have been developed to make use of the XmlFilterAdapter module. This code can also be used as a Skeleton implementation for developing a more complex filter. - - - -How does the code work? -======================== - - Firstly, the code has been developed to use the XmlFilterAdaptor module. For this reason, we must conform to the interfaces that the XmlFilterAdaptor is expecting. These interfaces are - - com/sun/star/xml/XImportFilter - com/sun/star/xml/XExportFilter - -Also, when we are exporting, we want the FlatXml filter to behave like a DocumentHandler, we must also implement the XDocumentHandler interface - - com/sun/star/xml/sax/XDocumentHandler - -With these interfaces implemented, we can now start to get the code to work as a import and export filter. - - - -How do I Build the code? -======================== - run: - make solaris_workshopcxx //for Solaris - make win_microcxx //for windows - make linux_gcc //for linux -This will produce a FlatXml.so or FlatXml.dll library in the /lib directory. - - - - -How do I register this filter with OpenOffice? -============================================== - -The Odk contains a program called "regcomp". This program queries a component (library or jar file) for information and then places this information into an OpenOffice installations "applicat.rdb". This database is used by OpenOffice to identify what components it has and where to find them. - -To register a component on Solaris or Linux: ----------------------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.so" - -To register a component on windows: ----------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.dll" - -To register a java based component (Jar file): ----------------------------------------------- - regcomp -register -br /program/applicat.rdb -r /program/applicat.rdb -c "file:////.jar" -l com.sun.star.loader.Java2 - -(For more info on registering java components see http://udk.openoffice.org/java/man/register_java_components.html) - - - - - -How do I access this filter from OpenOffice? -============================================ - -In an OpenOffice installation set, there is a file called TypeDetection.xml (usually located at /share/config/registry/instance/org/openoffice/Office/TypeDetection.xml). -This file contains the definitions of all of the filters that staroffice uses to open and save files. Therefore, we must add an entry to this file in order to make our filters visible and usable within OpenOffice. - -The TypeDetection.xml consists of definitions which describe a particular format and definitions which define how a Type is opened and saved. - -Firstly, make a backup of your TypeDetection.xml file. -When this has been done, cut and paste the following into the relevant sections in the TypeDetection.xml file. - - under Types: - ============ - - - Flat XML File - - 1,,,,xml,20002, - - - under Filters: - ============== - - true - Flat XML File - 0,writer_Flat_XML_File,com.sun.star.text.TextDocument,com.sun.star.comp.Writer.XmlFilterAdaptor,524355,com.sun.star.documentconversion.XFlatXml; ;com.sun.star.comp.Writer.XMLImporter;com.sun.star.comp.Writer.XMLExporter,0,, - - -This filter definition, will now open Flat Xml files with the extension .xml. - - -Now What? -========= -When OpenOffice is restarted, a new filter type will be available in the Open and Save Dialog boxes. To save a file as Flat Xml, just go to the "Save As" menu item, and select "Flat XML File" as the format. - - - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/TypeDetection.xcu b/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/TypeDetection.xcu deleted file mode 100644 index 919401c7991a..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/FlatXml/java_prettyprint/TypeDetection.xcu +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - 0,devguide_FlatXML_Java,com.sun.star.text.TextDocument,com.sun.star.comp.Writer.XmlFilterAdaptor,524355,devguide.officedev.samples.filter.FlatXmlJava; ;com.sun.star.comp.Writer.XMLImporter;com.sun.star.comp.Writer.XMLExporter,0,, - - - true - - - DevGuide FlatXML Java - DevGuide FlatXML Java - DevGuide FlatXML Java - - - - - - - 1,,doctype:office:document,,xml,0 - - - DevGuide FlatXML Java - DevGuide FlatXML Java - DevGuide FlatXML Java - - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/Makefile_sdk b/xmerge/java/org/openoffice/xmerge/xmergebridge/Makefile_sdk deleted file mode 100644 index 288679bc667b..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/Makefile_sdk +++ /dev/null @@ -1,102 +0,0 @@ -# This Makefile is intended for use with the OOo sdk. To build the XMergeBridge -# copy the files in this directory to the sdk/examples/java/xmergebridge -# directory and rename this file to "Makefile".Finally execute "make", to build. -# -# Builds the Java XMergebridgeFilter component example of the Developers Guide. - -PRJ=../../.. -SETTINGS=$(PRJ)/settings - -include $(SETTINGS)/settings.mk -include $(SETTINGS)/std.mk -include $(SETTINGS)/dk.mk - -# Define non-platform/compiler specific settings -COMPONENT_NAME=XMergeBridgeFilter_java -OUT_COMP_CLASS = $(OUT_CLASS)/$(COMPONENT_NAME) -OUT_COMP_GEN = $(OUT_MISC)/$(COMPONENT_NAME) -COMPONENT_PACKAGE = $(OUT_BIN)/$(COMPONENT_NAME).uno.zip -COMPONENT_PACKAGE_URL = $(subst \\,\,"$(COMPONENT_PACKAGE_DIR)$(PS)$(COMPONENT_NAME).uno.zip") -COMPONENT_JAR_NAME = $(COMPONENT_NAME).uno.jar -COMPONENT_JAR = $(OUT_CLASS)/$(COMPONENT_JAR_NAME) -COMPONENT_MANIFESTFILE = $(OUT_COMP_CLASS)/$(COMPONENT_NAME).uno.Manifest - -REGISTERFLAG = $(OUT_MISC)$(PS)devguide_$(COMPONENT_NAME)_register_component.flag - -JAVAFILES = \ - XMergeBridge.java \ - -CLASSFILES = $(patsubst %.java,$(OUT_COMP_CLASS)/%.class,$(JAVAFILES)) - - -#$(COMPONENT_NAME)_CLASSFILES = XMergeBridge.class XMergeBridge$(dlr)_XMergeBridge.class - -$(COMPONENT_NAME)_CLASSFILES = *.class - - - -SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(OFFICE_CLASSES_DIR)/jurt.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/unoil.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/ridl.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/juh.jar\ - $(PATH_SEPARATOR)$(OFFICE_CLASSES_DIR)/xmerge.jar\ - $(PATH_SEPARATOR)$(OUT_COMP_CLASS)) - -# Targets -.PHONY: ALL -ALL : \ - XMergeBridgeFilterJavaExample - -include $(SETTINGS)/stdtarget.mk - -$(OUT_COMP_CLASS)/%.Manifest : - -$(MKDIR) $(subst /,$(PS),$(@D)) - @echo RegistrationClassName: XMergeBridge> $@ - -$(CLASSFILES) : $(JAVAFILES) - -$(MKDIR) $(subst /,$(PS),$(@D)) - javac $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_COMP_CLASS) $(JAVAFILES) - -$(OUT_CLASS)/%.jar : $(OUT_COMP_CLASS)/%.Manifest $(CLASSFILES) - -$(MKDIR) $(subst /,$(PS),$(@D)) - cd $(OUT_COMP_CLASS) && jar cvfm ../$(@F) $( $(subst /,$(PS),$@) -else - @echo -------------------------------------------------------------------------------- - @echo If you want to install your component automatically, please set the environment - @echo variable SDK_AUTO_DEPLOYMENT = YES. But note that auto deployment is only - @echo possible if no office instance is running. - @echo -------------------------------------------------------------------------------- -endif - -XMergeBridgeFilterJavaExample : $(REGISTERFLAG) - @echo -------------------------------------------------------------------------------- - @echo The Java XMergeBridgeFilter component was installed if SDK_AUTO_DEPLOYMENT = YES. - @echo You can use this filter component inside your office installation. - @echo -------------------------------------------------------------------------------- - -%.run: $(OUT_COMP_CLASS)/%.class - java -classpath "$(SDK_CLASSPATH)" $(basename $@) - -%.local: $(OUT_COMP_CLASS)/%.class - java -classpath "$(SDK_CLASSPATH)" $(basename $@) local - -.PHONY: clean -clean : - -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_CLASS)) - -$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_GEN)) - -$(DEL) $(subst /,$(PS),$(COMPONENT_PACKAGE_URL)) - -$(DEL) $(subst /,$(PS),$(COMPONENT_JAR)) - -$(DEL) $(subst /,$(PS),$(REGISTERFLAG)) diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/Manifest b/xmerge/java/org/openoffice/xmerge/xmergebridge/Manifest deleted file mode 100755 index af3149c65877..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/Manifest +++ /dev/null @@ -1 +0,0 @@ -RegistrationClassName: XMergeBridge diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/TestStream.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/TestStream.java deleted file mode 100644 index 9add577f45ef..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/TestStream.java +++ /dev/null @@ -1,488 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -package org.openoffice.xmerge.xmergebridge; - -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.io.NotConnectedException; -import com.sun.star.io.BufferSizeExceededException; -import com.sun.star.io.IOException; - -class TestStream implements XInputStream, XOutputStream { - - /** An array of bytes to be returned when the XInputStream read() method - * is called - */ - private byte [] isBytes; - - /** - * A backup buffer where data sent to the XOutputStream write() method - * is placed, used for verification purposes. - */ - private byte [] bytesBak; - - /** - * Maximum length of data returned by XInputStream read(). - */ - private static int inputLength = 256; - - /** - * Keeps track of how far into the XInputStream has been read. - */ - private int currentLoc; - - - /** - * Constructor. Sets up the isBytes array. - */ - public TestStream() { - - currentLoc = 0; - - isBytes = new byte [inputLength]; - for (int i=0; i < inputLength; i++) { - isBytes[i] = (byte)i; - } - } - - /* XInputStream interfaces */ - - public int readBytes(byte[][] aData, int toRead) - throws NotConnectedException, BufferSizeExceededException, - IOException { - - int checkSize = inputLength - currentLoc; - - if (checkSize <= 0) { - return -1; - } else if (toRead > checkSize) { - System.arraycopy(isBytes, currentLoc, aData[0], 0, checkSize); - currentLoc += checkSize; - return checkSize; - } else { - System.arraycopy(isBytes, currentLoc, aData[0], 0, toRead); - currentLoc += toRead; - return toRead; - } - } - - public int readSomeBytes(byte[][] aData, int nMaxBytesToRead) - throws NotConnectedException, - BufferSizeExceededException, IOException { - - return(readBytes(aData, nMaxBytesToRead)); - } - - public void skipBytes(int nBytesToSkip) throws NotConnectedException, - BufferSizeExceededException, IOException { - - currentLoc += nBytesToSkip; - } - - public int available() throws NotConnectedException, IOException { - int checkSize = inputLength - currentLoc; - - if (checkSize < 0) { - return -1; - } else { - return checkSize; - } - } - - public void closeInput() throws NotConnectedException, IOException { - - // Set currentLoc to the max, so read calls will return -1. - // - currentLoc = inputLength + 1; - System.out.println("Closed XInputStream."); - } - - /* XOutputStream Interfaces */ - - public void writeBytes(byte [] aData) - throws NotConnectedException, BufferSizeExceededException, - IOException { - - // Set backup array, used for verification purposes. - // - bytesBak = aData; - - System.out.println("Wrote out the following data to XOutputStream:"); - for (int i=0; i < aData.length; i++) { - System.out.println(" <" + aData[i] + ">"); - } - } - - public void flush() - throws NotConnectedException, BufferSizeExceededException, - IOException { - - System.out.println("Flushed XOutputStream."); - } - - public void closeOutput() - throws NotConnectedException, BufferSizeExceededException, - IOException { - - System.out.println("Closed XOutputStream."); - } - - /** - * Returns the last data passed into the write function, used for - * verification purposes. - */ - public byte [] getBytesBak() { - return bytesBak; - } - - public static void main(String args[]) { - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read(), bytes value 1-256:"); - - TestStream ts = new TestStream(); - XInputStreamToInputStreamAdapter is = - new XInputStreamToInputStreamAdapter(ts); - int rc = 0, avail; - boolean testStatus = true; - - int cnt = 0; - do { - try { - rc = is.read(); - avail = is.available(); - System.out.println(" Read value <" + rc + - ">, avail <" + avail + ">"); - - if (cnt < inputLength && rc != cnt) { - System.out.println("Read wrong value <" + rc + ">, expecting <" + cnt + ">"); - testStatus = false; - } - - cnt++; - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read(), bytes value 1-256 with skips of 3 bytes:"); - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - do { - try { - rc = is.read(); - avail = is.available(); - System.out.println(" Read value <" + rc + - ">, avail <" + avail + ">"); - is.skip(3); - - if (cnt < inputLength && rc != cnt) { - System.out.println("Read wrong value <" + rc + ">, expecting <" + cnt + ">"); - testStatus = false; - } - - cnt += 4; - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read() in chunks of 5 bytes."); - byte [] bi1 = new byte [5]; - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - do { - try { - rc = is.read(bi1); - avail = is.available(); - System.out.print("Read value <"); - for (int i=0; i < bi1.length; i++) { - - if (i == (bi1.length - 1)) { - System.out.print((int)bi1[i]); - } else { - System.out.print((int)bi1[i] + ","); - } - - if ((cnt) < inputLength && bi1[i] != (byte)cnt) { - System.out.println("\nRead wrong value <" + (int)bi1[i] + ">, expecting <" + - (cnt) + ">"); - testStatus = false; - } - cnt++; - } - System.out.print("> read rc <" + rc + - ">, avail <" + avail + ">\n"); - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nInputStream Test:"); - System.out.println("Testing read() in chunks of 6 bytes, offset=2, length=3."); - byte [] bi2 = new byte [6]; - ts = new TestStream(); - is = new XInputStreamToInputStreamAdapter(ts); - - cnt = 0; - int offset = 2; - int length = 3; - do { - try { - rc = is.read(bi2, offset, length); - avail = is.available(); - System.out.print("Read value <"); - for (int i=0; i < bi2.length; i++) { - if (i == (bi2.length - 1)) { - System.out.print((int)bi2[i]); - } else { - System.out.print((int)bi2[i] + ","); - } - - if (cnt < inputLength) { - if (i < offset || i >= (offset + length)) { - // Check values that should stay 0 - // - if ((int)bi2[i] != 0) { - System.out.println("\nRead wrong value <" + - (int)bi2[i] + ">, expecting <0>"); - testStatus = false; - } - } else if (bi2[i] != (byte)cnt) { - // Check actually read values. - // - System.out.println("\nRead wrong value <" + - (int)bi2[i] + ">, expecting <" + cnt + ">"); - testStatus = false; - } else { - cnt++; - } - } - } - System.out.print("> read rc <" + rc + - ">, avail <" + avail + ">\n"); - } catch (Exception e) { - System.out.println("Error reading from InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } while (rc >= 0); - try { - is.close(); - } catch (Exception e) { - System.out.println("Error closing InputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() and flush()"); - - ts = new TestStream(); - XOutputStreamToOutputStreamAdapter os = - new XOutputStreamToOutputStreamAdapter(ts); - - for (int i=0; i < 5; i++) { - try { - os.write((byte)i); - byte [] testBytes = ts.getBytesBak(); - - if (testBytes[0] != i) { - System.out.println("Wrote wrong value <" + testBytes[0] + ">, expecting "); - testStatus = false; - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() with a chunk of 5 bytes"); - - ts = new TestStream(); - os = new XOutputStreamToOutputStreamAdapter(ts); - - byte [] bo1 = new byte [5]; - for (int i=0; i < bo1.length; i++) { - bo1[i] = (byte)i; - } - - try { - os.write(bo1); - byte [] testBytes = ts.getBytesBak(); - - for (int i=0; i < bo1.length; i++) { - if (testBytes[i] != bo1[i]) { - System.out.println("Wrote wrong value <" + testBytes[i] + ">, expecting <" + bo1[i] + ">"); - testStatus = false; - } - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - System.out.println("\nOutputStream Test:"); - System.out.println("Testing write() with a chunk of 6 bytes, offset=2, length=3."); - - ts = new TestStream(); - os = new XOutputStreamToOutputStreamAdapter(ts); - - byte [] bo2 = new byte [6]; - for (int i=0; i < bo2.length; i++) { - bo2[i] = (byte)i; - } - - offset = 2; - length = 3; - try { - os.write(bo2, offset, length); - byte [] testBytes = ts.getBytesBak(); - - for (int i=0; i < bo2.length; i++) { - if ((i >= offset && i < (offset + length)) && testBytes[i-offset] != bo2[i]) { - System.out.println("Wrote wrong value <" + testBytes[i-offset] + ">, expecting <" + bo2[i] + ">"); - testStatus = false; - } - } - os.flush(); - } catch (Exception e) { - System.out.println("Error writing to OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - try { - os.close(); - } catch (Exception e) { - System.out.println("Error closing OutputStream"); - System.out.println("Error msg: " + e.getMessage()); - testStatus = false; - } - - if (testStatus == true) { - System.out.println("Test passed...\n"); - } else { - System.out.println("Test failed...\n"); - } - - if (testStatus == true) { - System.out.println("\nAll tests passed...\n"); - System.exit(0); - } else { - System.out.println("\nSome tests failed...\n"); - System.exit(-1); - } - } -} diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/XMergeBridge.java b/xmerge/java/org/openoffice/xmerge/xmergebridge/XMergeBridge.java deleted file mode 100755 index 0163f497d9e2..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/XMergeBridge.java +++ /dev/null @@ -1,712 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -/** You can find more - * information on the following web page: - * http://api.openoffice.org/common/ref/com/sun/star/index.html - */ - - -/*Java Uno Helper Classes*/ -import com.sun.star.lib.uno.adapter.XInputStreamToInputStreamAdapter; -import com.sun.star.lib.uno.adapter.XOutputStreamToOutputStreamAdapter; - -/*StarOffice/Uno Classes*/ -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.XTypeProvider; -import com.sun.star.uno.Type; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.XServiceName; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.frame.XConfigManager; -import com.sun.star.xml.sax.InputSource; -import com.sun.star.xml.sax.XParser; -import com.sun.star.io.XInputStream; -import com.sun.star.io.XOutputStream; -import com.sun.star.xml.sax.XDocumentHandler; -import com.sun.star.uno.AnyConverter; - -/* Generated from Idls */ -import com.sun.star.xml.XImportFilter; -import com.sun.star.xml.XExportFilter; - -/* XMerge Classes */ -import org.openoffice.xmerge.util.registry.ConverterInfoReader; -import org.openoffice.xmerge.util.registry.ConverterInfo; -import org.openoffice.xmerge.util.registry.ConverterInfoMgr; -import org.openoffice.xmerge.Convert; -import org.openoffice.xmerge.ConverterFactory; -import org.openoffice.xmerge.Document; -import org.openoffice.xmerge.ConvertData; -import org.openoffice.xmerge.converter.xml.OfficeDocument; -/*Java Classes*/ -import java.util.Enumeration; -import java.util.Vector; -import java.io.InputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.File; -import javax.xml.parsers.*; -import org.xml.sax.SAXException; -import java.net.URI; - - -/** This outer class provides an inner class to implement the service - * description, a method to instantiate the - * component on demand (__getServiceFactory()), and a method to give - * information about the component (__writeRegistryServiceInfo()). - */ -public class XMergeBridge { - - - private static XMultiServiceFactory xMSF; - private static XDocumentHandler exportDocHandler=null; - private static XInputStream xInStream =null; - private static XOutputStream xOutStream=null; - private static String udJarPath=null; - private static XOutputStream xos = null; - private static XOutputStreamToOutputStreamAdapter adaptedStream=null; - private static String offMime=null; - private static String sdMime=null; - private static String sFileName=null; - private static String sURL=""; - - //private static FileOutputStream adaptedStream =null; - - /** This inner class provides the component as a concrete implementation - * of the service description. It implements the needed interfaces. - * @implements XTypeProvider - */ - static public class _XMergeBridge implements - XImportFilter, - XExportFilter, - XServiceName, - XServiceInfo, - XDocumentHandler, - XTypeProvider { - - /** The component will be registered under this name. - */ - static private final String __serviceName = "com.sun.star.documentconversion.XMergeBridge"; - - - - public com.sun.star.uno.Type[] getTypes() { - Type[] typeReturn = {}; - - try { - typeReturn = new Type[] { - new Type( XTypeProvider.class ), - new Type( XImportFilter.class ), - new Type( XExportFilter.class ), - new Type( XServiceName.class ), - new Type( XServiceInfo.class ) }; - } - catch( Exception exception ) { - - } - - return( typeReturn ); - } - - String getFileName(String origName) - { - String name=null; - if (origName !=null) - { - if(origName.equalsIgnoreCase("")) - name = "OutFile"; - else { - if (origName.lastIndexOf("/")>=0){ - origName=origName.substring(origName.lastIndexOf("/")+1,origName.length()); - } - if (origName.lastIndexOf(".")>=0){ - name = origName.substring(0,(origName.lastIndexOf("."))); - } - else{ - name=origName; - } - } - } - else{ - name = "OutFile"; - } - return name; - } - - - - public boolean importer(com.sun.star.beans.PropertyValue[] aSourceData, - com.sun.star.xml.sax.XDocumentHandler xDocHandler, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException { - /* - System.out.println("\nFound the Importer!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - System.out.println("\n"+msUserData[4]); - System.out.println("\n"+msUserData[5]); - */ - sFileName=""; - sURL=""; - String sDirectory = null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - offMime =msUserData[4]; - sdMime = msUserData[5]; - com.sun.star.io.XInputStream xis=null; - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - - for (int i = 0 ; i < pValue.length; i++) - { - - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value; - - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("InputStream")==0){ - xis=(com.sun.star.io.XInputStream)AnyConverter.toObject(new Type(com.sun.star.io.XInputStream.class), pValue[i].Value); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - } - - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - - - - } - - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - udJarPath= PathString.concat(udJarPath); - - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - convert (xis,xOutStream,false,udJarPath,sFileName,offMime,sdMime); - Object xSaxParserObj=xMSF.createInstance("com.sun.star.xml.sax.Parser"); - - XParser xParser = (XParser) UnoRuntime.queryInterface( - XParser.class , xSaxParserObj ); - if (xParser==null){ - System.out.println("\nParser creation Failed"); - } - xOutStream.closeOutput(); - InputSource aInput = new InputSource(); - if (sFileName==null){ - sFileName=""; - } - aInput.sSystemId = sFileName; - aInput.aInputStream =xInStream; - xParser.setDocumentHandler ( xDocHandler ); - - xParser.parseStream ( aInput ); - xOutStream.closeOutput(); - xInStream.closeInput(); - - } - catch (IOException e){ - //System.out.println("XMergeBridge IO Exception "+e.getMessage()); - return false; - } - catch (Exception e){ - //System.out.println("XMergeBridge Exception "+e+" "+e.getMessage()); - return false; - } - return true; - } - - public boolean exporter(com.sun.star.beans.PropertyValue[] aSourceData, - java.lang.String[] msUserData) throws com.sun.star.uno.RuntimeException{ - - /* - System.out.println("\nFound the Exporter!\n"); - - System.out.println("\n"+msUserData[0]); - System.out.println("\n"+msUserData[1]); - System.out.println("\n"+msUserData[2]); - System.out.println("\n"+msUserData[3]); - System.out.println("\n"+msUserData[4]); - System.out.println("\n"+msUserData[5]); - */ - sFileName=null; - sURL=null; - String sDirectory = null; - String title=null; - String udConvertClass=msUserData[0]; - udJarPath=msUserData[1]; - String udImport =msUserData[2]; - String udExport =msUserData[3]; - offMime =msUserData[4]; - sdMime = msUserData[5]; - - com.sun.star.beans.PropertyValue[] pValue = aSourceData; - for (int i = 0 ; i < pValue.length; i++) - { - - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - - - try{ - //System.out.println("\n"+pValue[i].Name+" "+pValue[i].Value); - if (pValue[i].Name.compareTo("OutputStream")==0){ - xos=(com.sun.star.io.XOutputStream)AnyConverter.toObject(new Type(com.sun.star.io.XOutputStream.class), pValue[i].Value); - // System.out.println(pValue[i].Name+" "+xos); - } - if (pValue[i].Name.compareTo("FileName")==0){ - sFileName=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - //System.out.println(pValue[i].Name+" "+sFileName); - } - if (pValue[i].Name.compareTo("URL")==0){ - sURL=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - // System.out.println("\nMediaDescriptor url "+pValue[i].Name+" "+sURL); - - } - if (pValue[i].Name.compareTo("Title")==0){ - - title=(String)AnyConverter.toObject(new Type(java.lang.String.class), pValue[i].Value); - //System.out.println(pValue[i].Name+" "+title); - } - } - catch(com.sun.star.lang.IllegalArgumentException AnyExec){ - System.out.println("\nIllegalArgumentException "+AnyExec); - } - } - - - if (sURL==null){ - sURL=""; - } - - try{ - - Object xCfgMgrObj=xMSF.createInstance("com.sun.star.config.SpecialConfigManager"); - XConfigManager xCfgMgr = (XConfigManager) UnoRuntime.queryInterface( - XConfigManager.class , xCfgMgrObj ); - - String PathString=xCfgMgr.substituteVariables("$(progurl)" ); - PathString= PathString.concat("/"); - udJarPath= PathString.concat(udJarPath); - - Object xPipeObj=xMSF.createInstance("com.sun.star.io.Pipe"); - xInStream = (XInputStream) UnoRuntime.queryInterface( - XInputStream.class , xPipeObj ); - xOutStream = (XOutputStream) UnoRuntime.queryInterface( - XOutputStream.class , xPipeObj ); - } - catch (Exception e){ - System.out.println("Exception "+e); - return false; - } - - return true; - } - - public String replace(String origString, String origChar, String replaceChar){ - String tmp=""; - int index=origString.indexOf(origChar); - if(index !=-1){ - while (index !=-1){ - String first =origString.substring(0,index); - first=first.concat(replaceChar); - tmp=tmp.concat(first); - origString=origString.substring(index+1,origString.length()); - index=origString.indexOf(origChar); - if(index==-1) { - tmp=tmp.concat(origString); - } - - } - - } - return tmp; - } - - public String needsMask(String origString){ - if (origString.indexOf("&")!=-1){ - origString=replace(origString,"&","&"); - } - if (origString.indexOf("\"")!=-1){ - origString=replace(origString,"\"","""); - } - if (origString.indexOf("<")!=-1){ - origString=replace(origString,"<","<"); - } - if (origString.indexOf(">")!=-1){ - origString=replace(origString,">",">"); - } - return origString; - - } - - - - public void startDocument () { - //System.out.println("\nStart Document!"); - } - - public void endDocument()throws com.sun.star.uno.RuntimeException - { - - try{ - - convert (xInStream,xos,true,udJarPath,sURL,offMime,sdMime); - - } - catch (IOException e){ - //System.out.println("Exception "+e); - throw new com.sun.star.uno.RuntimeException(e.getMessage()); - - } - catch (Exception e){ - //System.out.println("Exception "+e); - throw new com.sun.star.uno.RuntimeException("Xmerge Exception"); - - } - } - - - - public void startElement (String str, com.sun.star.xml.sax.XAttributeList xattribs) - { - - str="<".concat(str); - if (xattribs !=null) - { - str= str.concat(" "); - int len=xattribs.getLength(); - for (short i=0;i"); - // System.out.println(str); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - } - - public void endElement(String str){ - - str=""); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - - } - catch (Exception e){ - System.out.println("\n"+e); - } - - - } - public void characters(String str){ - str=needsMask(str); - try{ - xOutStream.writeBytes(str.getBytes("UTF-8")); - } - catch (Exception e){ - System.out.println("\n"+e); - } - - - } - - public void ignorableWhitespace(String str){ - - - } - public void processingInstruction(String aTarget, String aData){ - - } - - public void setDocumentLocator(com.sun.star.xml.sax.XLocator xLocator){ - - } - - - - - - - public void convert (com.sun.star.io.XInputStream xml,com.sun.star.io.XOutputStream device, - boolean convertFromOffice,String pluginUrl,String FileName,String offMime,String sdMime) throws com.sun.star.uno.RuntimeException, IOException { - - String jarName = pluginUrl; - String name= getFileName(FileName); - - ConverterInfo converterInfo = null; - Enumeration ciEnum= null; - - XInputStreamToInputStreamAdapter xis =new XInputStreamToInputStreamAdapter(xml); - - - XOutputStreamToOutputStreamAdapter newxos =new XOutputStreamToOutputStreamAdapter(device); - try{ - ConverterInfoReader cir = new ConverterInfoReader(jarName,false); - ciEnum =cir.getConverterInfoEnumeration(); - } - catch (ParserConfigurationException pexc){ - System.out.println("Error:"+pexc); - } - catch ( org.xml.sax.SAXException pexc){ - System.out.println("Error:"+pexc); - } - catch(Exception e){ - System.out.println("Error:"+e); - } - ConverterInfoMgr. removeByJar(jarName); - if (convertFromOffice) - { - - try { - - //Check to see if jar contains a plugin Impl - - ConverterInfoMgr.addPlugIn(ciEnum); - ConverterFactory cf = new ConverterFactory(); - - Convert cv = cf.getConverter(ConverterInfoMgr.findConverterInfo(sdMime,offMime),false); - if (cv == null) { - System.out.println("\nNo plug-in exists to convert from to "); - - } - else - { - cv.addInputStream(name,(InputStream)xis,false); - ConvertData dataOut = cv.convert(); - - Enumeration docEnum = dataOut.getDocumentEnumeration(); - - if (docEnum.hasMoreElements()){ - Document docOut = (Document)docEnum.nextElement(); - String fileName = docOut.getFileName(); - docOut.write(newxos); - - newxos.flush(); - newxos.close(); - - - int i=1; - while (docEnum.hasMoreElements() && sURL.startsWith("file:")) { - //URI uri=new URI(sFileName); - URI uri=new URI(sURL); - String newFileName= getPath(uri); - - - //System.out.println("\nURI: "+uri.getPath()); - File newFile=null; - if (newFileName.lastIndexOf(".")!=-1){ - newFile =new File(newFileName.substring(0,newFileName.lastIndexOf("."))+String.valueOf(i)+newFileName.substring(newFileName.lastIndexOf("."))); - } - else{ - newFile =new File(newFileName.concat(String.valueOf(i))); - } - - FileOutputStream fos = new FileOutputStream(newFile); - docOut = (Document)docEnum.nextElement(); - fileName = docOut.getFileName(); - docOut.write(fos); - fos.flush(); - fos.close(); - i++; - - } - - } - } - ConverterInfoMgr.removeByJar(jarName); - } - catch (StackOverflowError sOE){ - System.out.println("\nERROR : Stack OverFlow. \n Increase of the JRE by adding the following line to the end of the javarc file \n \"-Xss1m\"\n"); - - } - catch (Exception e) { - System.out.println("Error:"+e); - throw new IOException("Xmerge Exception"); - } - } - else{ - - try { - //Check to see if jar contains a plugin Impl - ConverterInfoMgr.addPlugIn(ciEnum); - ConverterFactory cf = new ConverterFactory(); - Convert cv = cf.getConverter(ConverterInfoMgr.findConverterInfo(sdMime,offMime),true); - if (cv == null) { - System.out.println("\nNo plug-in exists to convert to from "); - } - else - { - cv.addInputStream(name,(InputStream)xis,false); - //System.out.println("\nConverting"); - ConvertData dataIn = cv.convert(); - //System.out.println("\nFinished Converting"); - Enumeration docEnum = dataIn.getDocumentEnumeration(); - while (docEnum.hasMoreElements()) { - OfficeDocument docIn = (OfficeDocument)docEnum.nextElement(); - - docIn.write(newxos,false); - } - //newxos.write(-1); //EOF character - //newxos.flush(); - newxos.close(); - } - ConverterInfoMgr.removeByJar(jarName); - } - catch (StackOverflowError sOE){ - System.out.println("\nERROR : Stack OverFlow. \n Increase of the JRE by adding the following line to the end of the javarc file \n \"-Xss1m\"\n"); - } - catch (Exception e) { - System.out.println("Error:"+e); - throw new IOException("Xmerge Exception"); - } - - - } - - } - - private String getPath(URI uri){ - String path = uri.getPath(); - String opSys=System.getProperty("os.name"); - if(opSys.indexOf("Windows")!=-1){ - path= path.replace('/','\\'); - path = path.substring(1); - } - return path; - } - - - - - - - - // Implement methods from interface XTypeProvider - public byte[] getImplementationId() { - byte[] byteReturn = {}; - - byteReturn = new String( "" + this.hashCode() ).getBytes(); - - return( byteReturn ); - } - - // Implement method from interface XServiceName - public String getServiceName() { - return( __serviceName ); - } - - // Implement methods from interface XServiceInfo - public boolean supportsService(String stringServiceName) { - return( stringServiceName.equals( __serviceName ) ); - } - - public String getImplementationName() { - return( _XMergeBridge.class.getName() ); - } - - public String[] getSupportedServiceNames() { - String[] stringSupportedServiceNames = { __serviceName }; - return( stringSupportedServiceNames ); - } - } - - /** - * Returns a factory for creating the service. - * This method is called by the JavaLoader - * - * @return returns a XSingleServiceFactory for creating the - * component - * - * @param implName the name of the implementation for which a - * service is desired - * @param multiFactory the service manager to be used if needed - * @param regKey the registryKey - * - * @see com.sun.star.comp.loader.JavaLoader - */ - public static XSingleServiceFactory __getServiceFactory(String implName, - XMultiServiceFactory multiFactory, - XRegistryKey regKey) { - xMSF= multiFactory; - XSingleServiceFactory xSingleServiceFactory = null; - if (implName.equals(_XMergeBridge.class.getName()) ) { - xSingleServiceFactory = FactoryHelper.getServiceFactory(_XMergeBridge.class, - _XMergeBridge.__serviceName, - multiFactory, - regKey); - } - - return xSingleServiceFactory; - } - - /** - * Writes the service information into the given registry key. - * This method is called by the JavaLoader - *

    - * @return returns true if the operation succeeded - * @param regKey the registryKey - * @see com.sun.star.comp.loader.JavaLoader - */ - public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { - - return FactoryHelper.writeRegistryServiceInfo(_XMergeBridge.class.getName(), - _XMergeBridge.__serviceName, regKey); - } -} - - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.cxx b/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.cxx deleted file mode 100755 index 71c9bcd04e4c..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.cxx +++ /dev/null @@ -1,267 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_xmerge.hxx" - -#ifndef _OSL_STREAM_WRAPPER_HXX_ -#include "streamwrap.hxx" -#endif -#include - -namespace foo -{ - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::io; -using namespace ::com::sun::star::lang; -using namespace ::osl; - -//================================================================== -//= OInputStreamWrapper -//================================================================== -//------------------------------------------------------------------ -OInputStreamWrapper::OInputStreamWrapper( File& _rStream ) - :m_pSvStream(&_rStream) - ,m_bSvStreamOwner(sal_False) -{ -} - -//------------------------------------------------------------------ -OInputStreamWrapper::OInputStreamWrapper( File* pStream, sal_Bool bOwner ) - :m_pSvStream( pStream ) - ,m_bSvStreamOwner( bOwner ) -{ -} - -//------------------------------------------------------------------ -OInputStreamWrapper::~OInputStreamWrapper() -{ - if( m_bSvStreamOwner ) - delete m_pSvStream; - -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) - throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - checkConnected(); - - if (nBytesToRead < 0) - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - - ::osl::MutexGuard aGuard( m_aMutex ); - - aData.realloc(nBytesToRead); - - sal_uInt64 nRead = 0; - m_pSvStream->read((void*)aData.getArray(), nBytesToRead,nRead); - - checkError(); - - // Wenn gelesene Zeichen < MaxLength, staruno::Sequence anpassen - if (nRead < nBytesToRead) - aData.realloc( nRead ); - - return nRead; -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - checkError(); - - if (nMaxBytesToRead < 0) - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - - return readBytes(aData, nMaxBytesToRead); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OInputStreamWrapper::skipBytes(sal_Int32 nBytesToSkip) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkError(); - - m_pSvStream->setPos(osl_Pos_Current,nBytesToSkip); - checkError(); -} - -//------------------------------------------------------------------------------ -sal_Int32 SAL_CALL OInputStreamWrapper::available() throw( stario::NotConnectedException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nPos = 0; - m_pSvStream->getPos(nPos); - checkError(); - - m_pSvStream->setPos(Pos_End,0); - checkError(); - - sal_uInt64 nAvailable = 0; - m_pSvStream->getPos(nAvailable); - nAvailable -= nPos; - - m_pSvStream->setPos(Pos_Absolut,nPos); - checkError(); - - return nAvailable; -} - -//------------------------------------------------------------------------------ -void SAL_CALL OInputStreamWrapper::closeInput() throw( stario::NotConnectedException, staruno::RuntimeException ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - if (m_bSvStreamOwner) - delete m_pSvStream; - - m_pSvStream = NULL; -} - -//------------------------------------------------------------------------------ -void OInputStreamWrapper::checkConnected() const -{ - if (!m_pSvStream) - throw stario::NotConnectedException(::rtl::OUString(), const_cast(static_cast(this))); -} - -//------------------------------------------------------------------------------ -void OInputStreamWrapper::checkError() const -{ - checkConnected(); -} - -//================================================================== -//= OSeekableInputStreamWrapper -//================================================================== -//------------------------------------------------------------------------------ -OSeekableInputStreamWrapper::OSeekableInputStreamWrapper(File& _rStream) - :OInputStreamWrapper(_rStream) -{ -} - -//------------------------------------------------------------------------------ -OSeekableInputStreamWrapper::OSeekableInputStreamWrapper(File* _pStream, sal_Bool _bOwner) - :OInputStreamWrapper(_pStream, _bOwner) -{ -} - -//------------------------------------------------------------------------------ -Any SAL_CALL OSeekableInputStreamWrapper::queryInterface( const Type& _rType ) throw (RuntimeException) -{ - Any aReturn = OInputStreamWrapper::queryInterface(_rType); - if (!aReturn.hasValue()) - aReturn = OSeekableInputStreamWrapper_Base::queryInterface(_rType); - return aReturn; -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::acquire( ) throw () -{ - OInputStreamWrapper::acquire(); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::release( ) throw () -{ - OInputStreamWrapper::release(); -} - -//------------------------------------------------------------------------------ -void SAL_CALL OSeekableInputStreamWrapper::seek( sal_Int64 _nLocation ) throw (IllegalArgumentException, IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - m_pSvStream->setPos(Pos_Current,(sal_uInt32)_nLocation); - checkError(); -} - -//------------------------------------------------------------------------------ -sal_Int64 SAL_CALL OSeekableInputStreamWrapper::getPosition( ) throw (IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nPos = 0; - nPos = m_pSvStream->getPos(nPos); - checkError(); - return nPos; -} - -//------------------------------------------------------------------------------ -sal_Int64 SAL_CALL OSeekableInputStreamWrapper::getLength( ) throw (IOException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkConnected(); - - sal_uInt64 nCurrentPos = 0; - m_pSvStream->getPos(nCurrentPos); - checkError(); - - m_pSvStream->setPos(osl_Pos_End,0); - sal_uInt64 nEndPos = 0; - m_pSvStream->getPos(nEndPos); - m_pSvStream->setPos(osl_Pos_Absolut,nCurrentPos); - - checkError(); - - return nEndPos; -} - -//================================================================== -//= OOutputStreamWrapper -//================================================================== -//------------------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ - sal_uInt64 nWritten = 0; - rStream.write(aData.getConstArray(),aData.getLength(),nWritten); - if (nWritten != aData.getLength()) - { - throw stario::BufferSizeExceededException(::rtl::OUString(),static_cast(this)); - } -} - -//------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::flush() throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ -} - -//------------------------------------------------------------------ -void SAL_CALL OOutputStreamWrapper::closeOutput() throw( stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException ) -{ -} - -} // namespace utl - - diff --git a/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.hxx b/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.hxx deleted file mode 100755 index d31721f3825f..000000000000 --- a/xmerge/java/org/openoffice/xmerge/xmergebridge/streamwrap.hxx +++ /dev/null @@ -1,141 +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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _OSL_FILE_WRAPPER_HXX_ -#define _OSL_FILE_WRAPPER_HXX_ - -#include -#include -#include -#include -#include - -#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass) \ -virtual void SAL_CALL acquire() throw() { baseclass::acquire(); } \ -virtual void SAL_CALL release() throw() { baseclass::release(); } \ -virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) \ -{ return baseclass::queryInterface(_rType); } \ -void SAL_CALL PUT_SEMICOLON_AT_THE_END() - -namespace osl -{ - class File; -} - -namespace foo -{ - namespace stario = ::com::sun::star::io; - namespace staruno = ::com::sun::star::uno; - -//================================================================== -//= OInputFileWrapper -//================================================================== -typedef ::cppu::WeakImplHelper1 < stario::XInputStream - > InputStreamWrapper_Base; - // needed for some compilers -/// helper class for wrapping a File into an XInputStream -class OInputStreamWrapper : public InputStreamWrapper_Base -{ -protected: - ::osl::Mutex m_aMutex; - ::osl::File* m_pSvStream; - sal_Bool m_bSvStreamOwner : 1; - -public: - OInputStreamWrapper(::osl::File& _rStream); - OInputStreamWrapper(::osl::File* pStream, sal_Bool bOwner=sal_False); - virtual ~OInputStreamWrapper(); - -// UNO Anbindung - DECLARE_UNO3_AGG_DEFAULTS(OInputStreamWrapper, InputStreamWrapper_Base); - -// stario::XInputStream - virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL skipBytes(sal_Int32 nBytesToSkip) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual sal_Int32 SAL_CALL available() throw(stario::NotConnectedException, staruno::RuntimeException); - virtual void SAL_CALL closeInput() throw(stario::NotConnectedException, staruno::RuntimeException); - -protected: - /// throws a NotConnectedException if the object is not connected anymore - void checkConnected() const; - /// throws an exception according to the error flag of m_pSvStream - void checkError() const; -}; - -//================================================================== -//= OSeekableInputFIleWrapper -//================================================================== -typedef ::cppu::ImplHelper1 < ::com::sun::star::io::XSeekable - > OSeekableInputStreamWrapper_Base; -/** helper class for wrapping an File into an XInputStream - which is seekable (i.e. supports the XSeekable interface). -*/ -class OSeekableInputStreamWrapper - :public OInputStreamWrapper - ,public OSeekableInputStreamWrapper_Base -{ -public: - OSeekableInputStreamWrapper(::osl::File& _rStream); - OSeekableInputStreamWrapper(::osl::File* _pStream, sal_Bool _bOwner = sal_False); - - // disambiguate XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& _rType ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire( ) throw (); - virtual void SAL_CALL release( ) throw (); - - // XSeekable - virtual void SAL_CALL seek( sal_Int64 _nLocation ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int64 SAL_CALL getPosition( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int64 SAL_CALL getLength( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); -}; - -//================================================================== -//= OOutputStreamWrapper -//================================================================== -typedef ::cppu::WeakImplHelper1 OutputStreamWrapper_Base; - // needed for some compilers -class OOutputStreamWrapper : public OutputStreamWrapper_Base -{ - ::osl::File& rStream; - -public: - OOutputStreamWrapper(::osl::File& _rStream) :rStream(_rStream) { } - -// UNO Anbindung - DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base); - -// stario::XOutputStream - virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); - virtual void SAL_CALL closeOutput() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException); -}; - -} // namespace utl - - -#endif // _UTL_STREAM_WRAPPER_HXX_ - -- cgit From 7ef48b304fe975501f32f8261ee620ebbedc90e5 Mon Sep 17 00:00:00 2001 From: Joachim Lingner Date: Tue, 1 Jun 2010 16:20:28 +0200 Subject: jl152 #i77196# fix compiler warnings --- desktop/source/deployment/gui/dp_gui_updatedata.hxx | 2 +- desktop/source/deployment/gui/dp_gui_updatedialog.cxx | 11 +++++------ desktop/source/deployment/manager/dp_extensionmanager.cxx | 2 +- desktop/util/makefile.mk | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/desktop/source/deployment/gui/dp_gui_updatedata.hxx b/desktop/source/deployment/gui/dp_gui_updatedata.hxx index 7228982da518..76eb8af31e8e 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedata.hxx +++ b/desktop/source/deployment/gui/dp_gui_updatedata.hxx @@ -47,7 +47,7 @@ namespace dp_gui { struct UpdateData { UpdateData( ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > const & aExt): - aInstalledPackage(aExt), bIsShared(false) {}; + bIsShared(false), aInstalledPackage(aExt){}; //When entries added to the listbox then there can be one for the user update and one //for the shared update. However, both list entries will contain the same UpdateData. diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx index d121ad976a06..a27f04326b25 100644 --- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx @@ -280,7 +280,6 @@ private: dp_gui::UpdateData const & data, ::rtl::OUString const & version = ::rtl::OUString()) const; void prepareUpdateData( - ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > const & package, ::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > const & updateInfo, UpdateDialog::DisabledUpdate & out_du, dp_gui::UpdateData & out_data) const; @@ -415,7 +414,7 @@ void UpdateDialog::Thread::execute() for (Map::iterator i(map.begin()); i != map.end(); ++i) { //determine if online updates meet the requirements - prepareUpdateData(i->second.package, i->second.info, + prepareUpdateData(i->second.info, i->second.disableUpdate, i->second.updateData); //determine if the update is installed in the user or shared repository @@ -613,7 +612,6 @@ void UpdateDialog::Thread::getOwnUpdateInformation( /** out_data will only be filled if all dependencies are ok. */ void UpdateDialog::Thread::prepareUpdateData( - css::uno::Reference< css::deployment::XPackage > const & package, css::uno::Reference< css::xml::dom::XNode > const & updateInfo, UpdateDialog::DisabledUpdate & out_du, dp_gui::UpdateData & out_data) const @@ -648,21 +646,22 @@ bool UpdateDialog::Thread::update( UpdateDialog::DisabledUpdate const & du, dp_gui::UpdateData const & data) const { + bool ret = false; if (du.unsatisfiedDependencies.getLength() == 0) { vos::OGuard g(Application::GetSolarMutex()); if (!m_stop) { m_dialog.addEnabledUpdate(getUpdateDisplayString(data), data); } - return !m_stop; + ret = !m_stop; } else { vos::OGuard g(Application::GetSolarMutex()); if (!m_stop) { m_dialog.addDisabledUpdate(du); } - return !m_stop; + ret = !m_stop; } - return true; + return ret; } // UpdateDialog ---------------------------------------------------------- diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 251e70a19ce6..24b5712ebd30 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -251,7 +251,7 @@ void ExtensionManager::addExtensionsToMap( ::std::list > ExtensionManager::getExtensionsWithSameId( OUString const & identifier, OUString const & fileName, - Reference< ucb::XCommandEnvironment> const & xCmdEnv) + Reference< ucb::XCommandEnvironment> const & /*xCmdEnv*/) { ::std::list > extensionList; diff --git a/desktop/util/makefile.mk b/desktop/util/makefile.mk index 47885dfd6b73..8cf03f157254 100644 --- a/desktop/util/makefile.mk +++ b/desktop/util/makefile.mk @@ -108,7 +108,7 @@ APP5RPATH=BRAND APP5OBJS=$(OBJ)$/copyright_ascii_ooo.obj $(OBJ)$/main.obj APP5STDLIBS = $(SALLIB) $(SOFFICELIB) .IF "$(OS)" == "LINUX" -APP5STDLIBS+= -lXext +APP5STDLIBS+= -lXext -lX11 #APP5STDLIBS+= -lXext -lSM -lICE .ENDIF # LINUX -- cgit From ce6749f139440c79b207e26a522a177f4c2594d0 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Tue, 1 Jun 2010 17:15:33 +0200 Subject: CWS mba33issues01: #i107576#: create OwnLightClient only if there isn't a client already --- svx/source/svdraw/svdoole2.cxx | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 15c2ecb9c564..483c247c064f 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -1832,11 +1832,7 @@ void SdrOle2Obj::NbcResize(const Point& rRef, const Fraction& xFact, const Fract // if the object needs recompose on resize // the client site should be created before the resize will take place // check whether there is no client site and create it if necessary - if ( !SfxInPlaceClient::GetClient( dynamic_cast(pModel->GetPersist()), xObjRef.GetObject() ) - && !( mpImpl->pLightClient && xObjRef->getClientSite() == uno::Reference< embed::XEmbeddedClient >( mpImpl->pLightClient ) ) ) - { - AddOwnLightClient(); - } + AddOwnLightClient(); } } @@ -2197,26 +2193,32 @@ sal_Bool SdrOle2Obj::CalculateNewScaling( Fraction& aScaleWidth, Fraction& aScal sal_Bool SdrOle2Obj::AddOwnLightClient() { // The Own Light Client must be registered in object only using this method! - Connect(); - - if ( xObjRef.is() && mpImpl->pLightClient ) + if ( !SfxInPlaceClient::GetClient( dynamic_cast(pModel->GetPersist()), xObjRef.GetObject() ) + && !( mpImpl->pLightClient && xObjRef->getClientSite() == uno::Reference< embed::XEmbeddedClient >( mpImpl->pLightClient ) ) ) { - Fraction aScaleWidth; - Fraction aScaleHeight; - Size aObjAreaSize; - if ( CalculateNewScaling( aScaleWidth, aScaleHeight, aObjAreaSize ) ) + Connect(); + + if ( xObjRef.is() && mpImpl->pLightClient ) { - mpImpl->pLightClient->SetSizeScale( aScaleWidth, aScaleHeight ); - try { - xObjRef->setClientSite( mpImpl->pLightClient ); - return sal_True; - } catch( uno::Exception& ) - {} + Fraction aScaleWidth; + Fraction aScaleHeight; + Size aObjAreaSize; + if ( CalculateNewScaling( aScaleWidth, aScaleHeight, aObjAreaSize ) ) + { + mpImpl->pLightClient->SetSizeScale( aScaleWidth, aScaleHeight ); + try { + xObjRef->setClientSite( mpImpl->pLightClient ); + return sal_True; + } catch( uno::Exception& ) + {} + } + } + return sal_False; } - return sal_False; + return sal_True; } ////////////////////////////////////////////////////////////////////////////// -- cgit From f411e77697c596dd9c5973b3497651582981d68f Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 1 Jun 2010 21:06:17 +0200 Subject: vitomation01: #i109696 - More obvious code reduction --- .../writer/required/includes/w_001a_.inc | 38 +++++++--------- .../writer/required/includes/w_001b_.inc | 50 ++++++---------------- testautomation/writer/required/includes/w_009_.inc | 3 +- testautomation/writer/required/includes/w_010_.inc | 6 +++ 4 files changed, 35 insertions(+), 62 deletions(-) mode change 100644 => 100755 testautomation/writer/required/includes/w_001a_.inc mode change 100644 => 100755 testautomation/writer/required/includes/w_009_.inc mode change 100644 => 100755 testautomation/writer/required/includes/w_010_.inc diff --git a/testautomation/writer/required/includes/w_001a_.inc b/testautomation/writer/required/includes/w_001a_.inc old mode 100644 new mode 100755 index ad4951e89a44..2bdbede570ed --- a/testautomation/writer/required/includes/w_001a_.inc +++ b/testautomation/writer/required/includes/w_001a_.inc @@ -224,23 +224,15 @@ testcase tFileTemplatesAddressbookSource UseBindings FileTemplatesAddressbookSource - WaitSlot(2000) PrintLog " In 'Address Book Assignement' dialog click pushbutton 'Administrate'" Kontext "AddressbookSource" - if AddressbookSource.Exists then + if AddressbookSource.Exists( 2 ) then Call DialogTest (AddressbookSource) Administrate.Click - Sleep 2 + PrintLog " Close 'Data Source Administration' with 'Cancel'" Kontext "DatabaseProperties" - if Not DatabaseProperties.Exists then - Kontext "AddressSourceAutopilot" - if AddressSourceAutopilot.Exists then - AddressSourceAutopilot.Cancel - end if - Kontext "AddressbookSource" - AddressbookSource.Cancel - else + if ( DatabaseProperties.Exists( 2 ) ) then PrintLog " DatabaseProperties.SetPage TabConnection" Kontext "TabConnection" Call DialogTest ( TabConnection ) @@ -249,6 +241,13 @@ testcase tFileTemplatesAddressbookSource Kontext "AddressbookSource" PrintLog " Close dialog" AddressbookSource.Cancel + else + Kontext "AddressSourceAutopilot" + if AddressSourceAutopilot.Exists( 1 ) then + AddressSourceAutopilot.Cancel + end if + Kontext "AddressbookSource" + AddressbookSource.Cancel end if end if @@ -315,13 +314,8 @@ testcase tFilePagePreview gehtnicht = FALSE printlog " Open new document" Select Case gApplication - Case "WRITER" - Call hNewDocument - - Case "MASTERDOCUMENT" - Call hNewDocument - - Case "HTML" + Case "WRITER", "MASTERDOCUMENT" : hNewDocument() + Case else printlog "Not in Writer/Web!" goto endsub end select @@ -358,9 +352,9 @@ testcase tFilePagePreview if Active.Exists then QAErrorlog "No default printer!" Active.ok - Sleep 1 + Kontext "Printing" - if Printing.Exists then Printing.Cancel + if Printing.Exists( 2 ) then Printing.Cancel else printlog " Close 'Print' dialog with cancel" Kontext "Printing" @@ -392,9 +386,9 @@ testcase tFilePrinterSetup if Active.GetRT = 304 then QAErrorLog "No Default Printer!" Active.Ok - Sleep 2 + Kontext "DruckerEinrichten" - if DruckerEinrichten.Exists then + if DruckerEinrichten.Exists( 2 ) then Call DialogTest ( DruckerEinrichten ) DruckerEinrichten.Cancel end if diff --git a/testautomation/writer/required/includes/w_001b_.inc b/testautomation/writer/required/includes/w_001b_.inc index e80cbe7739c8..b0a6d96b1900 100755 --- a/testautomation/writer/required/includes/w_001b_.inc +++ b/testautomation/writer/required/includes/w_001b_.inc @@ -90,11 +90,8 @@ testcase tFileSendCreateHTMLDocument PrintLog "- File / Send / Create HTML-Dokument" PrintLog "Open new document" Select Case gApplication - Case "WRITER" - Call hNewDocument - Case "MASTERDOCUMENT" - Call hNewDocument - Case "HTML" + Case "WRITER", "MASTERDOCUMENT" : hNewDocument() + Case else printlog "Not in WriterWeb!" goto endsub end select @@ -159,11 +156,8 @@ testcase tFileSendOutlineToPresentation endif Kontext "Navigator" - if Navigator.Exists then Navigator.Close - PrintLog "Close documents" - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop + hCloseDialog( Navigator, "Close,optional" ) + hFileCloseAll() endcase '----------------------------------------------------------- @@ -259,13 +253,9 @@ testcase tFileSendCreateAutoabstract endcatch Kontext "Navigator" - if Navigator.Exists then Navigator.Close - Sleep 1 + hCloseDialog( Navigator, "Close,optional" ) + hFileCloseAll() - PrintLog "Close active documents" - Do Until GetDocumentCount = 0 - Call hCloseDocument - Loop endcase '----------------------------------------------------------- @@ -321,8 +311,7 @@ testcase tFileSendAutoabstractToPresentation Warnlog "- Outline in Impress not created!" endif Kontext "Navigator" - if Navigator.Exists then Navigator.Close - Sleep 1 + hCloseDialog( Navigator, "Close,optional" ) Call hCloseDocument PrintLog "Close active document" @@ -694,10 +683,7 @@ testcase tMasterDocFileSendOutlineToPresentation endif Kontext "Navigator" - if Navigator.Exists then - Navigator.Close - WaitSlot() - endif + hCloseDialog( Navigator, "Close,optional" ) PrintLog "Close documents" hFileCloseAll() @@ -755,10 +741,7 @@ testcase tMasterDocFileSendCreateAutoabstract Call hFileOpen ( gTesttoolPath + "writer\required\input\" + sFile ) Kontext "Navigator" - if ( Navigator.Exists ) then - Navigator.Close - WaitSlot() - endif + hCloseDialog( Navigator, "Close,optional" ) Kontext "DocumentWriter" PrintLog "File / Send / Create Autoabstract" @@ -788,10 +771,7 @@ testcase tMasterDocFileSendCreateAutoabstract endif Kontext "Navigator" - if ( Navigator.Exists ) then - Navigator.Close() - WaitSlot() - endif + hCloseDialog( Navigator, "Close,optional" ) PrintLog "Close documents" hFileCloseAll() @@ -811,10 +791,7 @@ testcase tMasterDocFileSendAutoabstractToPresentation Call hFileOpen ( gTesttoolPath + "writer\required\input\" + sFile ) Kontext "Navigator" - if Navigator.Exists then - Navigator.Close - Waitslot() - endif + hCloseDialog( Navigator, "Close,optional" ) Kontext "DocumentWriter" PrintLog "File / Send / Create Autoabstract To Presentation" @@ -854,10 +831,7 @@ testcase tMasterDocFileSendAutoabstractToPresentation endif Kontext "Navigator" - if Navigator.Exists then - Navigator.Close - WaitSlot() - endif + hCloseDialog( Navigator, "Close,optional" ) Call hCloseDocument PrintLog "Close active document" diff --git a/testautomation/writer/required/includes/w_009_.inc b/testautomation/writer/required/includes/w_009_.inc old mode 100644 new mode 100755 index 90c4cb5aad19..e018917ebe4b --- a/testautomation/writer/required/includes/w_009_.inc +++ b/testautomation/writer/required/includes/w_009_.inc @@ -86,9 +86,8 @@ testcase tHelpAboutStarOffice DialogTest ( UeberStarWriter ) printlog " In About dialog enter key " UeberStarWriter.TypeKeys "" - Sleep 3 printlog " Close About dialog" - UeberStarWriter.OK + hCloseDialog( UeberStarWriter, "ok" ) printlog " Close active document" Call hCloseDocument endcase diff --git a/testautomation/writer/required/includes/w_010_.inc b/testautomation/writer/required/includes/w_010_.inc old mode 100644 new mode 100755 index 29c802022bed..d721f6bf8a79 --- a/testautomation/writer/required/includes/w_010_.inc +++ b/testautomation/writer/required/includes/w_010_.inc @@ -74,6 +74,9 @@ end sub '----------------------------------------------------------- testcase tFormatting + + GLOBAL_USE_NEW_SLEEP = TRUE + printlog "- Objectbar ( normal ) : Formatting" Call hNewDocument printlog " Open new document" @@ -147,6 +150,9 @@ testcase tFormatting Sleep 1 Call hCloseDocument printlog " Close active document" + + GLOBAL_USE_NEW_SLEEP = FALSE + endcase '----------------------------------------------------------- -- cgit From 6f38ce3900f0779ddb55f538f0da98c3f933b838 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Tue, 1 Jun 2010 21:19:41 +0200 Subject: vitomation01: #i109696 - More sleep() gone --- .../graphics/optional/includes/global/id_001.inc | 14 ------ .../graphics/optional/includes/global/id_002.inc | 25 ++--------- .../graphics/optional/includes/global/id_003.inc | 8 ---- .../graphics/optional/includes/global/id_004.inc | 51 +++++++--------------- 4 files changed, 19 insertions(+), 79 deletions(-) mode change 100644 => 100755 testautomation/graphics/optional/includes/global/id_002.inc mode change 100644 => 100755 testautomation/graphics/optional/includes/global/id_003.inc mode change 100644 => 100755 testautomation/graphics/optional/includes/global/id_004.inc diff --git a/testautomation/graphics/optional/includes/global/id_001.inc b/testautomation/graphics/optional/includes/global/id_001.inc index 03bcbf6a396a..2bbca902b249 100755 --- a/testautomation/graphics/optional/includes/global/id_001.inc +++ b/testautomation/graphics/optional/includes/global/id_001.inc @@ -29,20 +29,6 @@ '* '* short description : '* -'*********************************************************************************** -' #1 tiFileSaveAs -' #1 tiFileReload (sFileIn as string) -' #1 tiFileVersion (sFileIn as string) -' #1 tiFilePassword -' #1 tiFileTemplates -' #1 tmFileNewFromTemplate -' #1 tmFileOpen -' #1 tmFileClose -' #1 tmFileSave -' #1 tmFileSaveAs -' #1 tmFileSaveAll -' #1 tmFileProperties -' #1 tmFilePrinterSetting '\********************************************************************************** diff --git a/testautomation/graphics/optional/includes/global/id_002.inc b/testautomation/graphics/optional/includes/global/id_002.inc old mode 100644 new mode 100755 index aed9631b4cd6..adb86d600c97 --- a/testautomation/graphics/optional/includes/global/id_002.inc +++ b/testautomation/graphics/optional/includes/global/id_002.inc @@ -29,22 +29,6 @@ '* '* short description : '* -'*********************************************************************************** -' #1 tiEditUndoRedo -' #1 tiEditRepeat -' #1 tiEditCutPasteCopySelectall -' #1 tiEditPasteSpecial -' #1 tiEditSearchAndReplace -' #1 tiEditDuplicate -' #1 tiEditFields -' #1 tdEditDeleteSlide -' #1 tiEditLinks -' #1 tiEditImageMap -' #1 tiEditObjectProperties -' #1 tiEditObjectEdit -' #1 tiEditPlugIn -' #1 tiEditHyperlink -' #1 tEditPoints '\********************************************************************************** testcase tiEditUndoRedo @@ -247,9 +231,9 @@ testcase tiEditLinks Link.Check Dateiname.SetText ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") Oeffnen.Click - sleep 2 + kontext "Messagebox" - if Messagebox.Exists then + if Messagebox.Exists( 2 ) then Warnlog Messagebox.GetText Messagebox.OK sleep 1 @@ -277,9 +261,9 @@ testcase tiEditImageMap Call hNewDocument EditImageMap + Kontext "ImageMapEditor" - sleep (1) - if ImageMapEditor.Exists (2) then + if ImageMapEditor.Exists( 5 ) then printlog "- ImageMap exists" DialogTest ( ImageMapEditor ) try @@ -319,7 +303,6 @@ testcase tiEditObjectProperties WaitSlot (1000) Kontext "TabEigenschaften" DialogTest ( TabEigenschaften ) - sleep(1) Oeffnen.Click Kontext "OeffnenDlg" Call DialogTest ( OeffnenDlg ) diff --git a/testautomation/graphics/optional/includes/global/id_003.inc b/testautomation/graphics/optional/includes/global/id_003.inc old mode 100644 new mode 100755 index 27004c582828..371b0699fc8f --- a/testautomation/graphics/optional/includes/global/id_003.inc +++ b/testautomation/graphics/optional/includes/global/id_003.inc @@ -29,14 +29,6 @@ '* '* short description : '* -'*********************************************************************************** -' #1 tiViewNavigator -' #1 tiViewZoom -' #1 tiViewToolbar -' #1 tiViewDisplayQuality -' #1 tiViewLayer -' #1 tViewSnapLines -' #1 tViewGrid '\********************************************************************************** testcase tiViewNavigator diff --git a/testautomation/graphics/optional/includes/global/id_004.inc b/testautomation/graphics/optional/includes/global/id_004.inc old mode 100644 new mode 100755 index b1034c331ded..d7cd809c3199 --- a/testautomation/graphics/optional/includes/global/id_004.inc +++ b/testautomation/graphics/optional/includes/global/id_004.inc @@ -29,25 +29,6 @@ '* '* short description : '* -'*********************************************************************************** -' #1 tiInsertSlide -' #1 tiInsertDuplicateSlide -' #1 tiInsertField -' #1 tiInsertSpecialCharacter -' #1 tiInsertHyperlink -' #1 tiInsertGraphic -' #1 tiInsertObjectSound -' #1 tiInsertObjectVideo -' #1 tiInsertChart -' #1 tiInsertObjectOLEObjects -' #1 tiInsertSpreadsheet -' #1 tiInsertFormula -' #1 tiInsertFloatingFrame -' #1 tiInsertFile -' #1 tiInsertPlugin -' #1 tiInsertScan -' #1 tiInsertSnappointLine -' #1 tdInsertLayer '\********************************************************************************** @@ -129,11 +110,14 @@ testcase tiInsertSpecialCharacter hTextrahmenErstellen ("This is a testtext",30,40,60,50) sleep 2 InsertSpecialCharacterDraw - WaitSlot (2000) + Kontext "Sonderzeichen" - Call DialogTest (Sonderzeichen) - Sonderzeichen.Cancel - sleep 2 + if ( Sonderzeichen.exists( 2 ) ) then + Call DialogTest (Sonderzeichen) + hCloseDialog( Sonderzeichen, "Cancel" ) + else + warnlog( " dialog not open" ) + endif Call hCloseDocument endcase @@ -231,12 +215,11 @@ endcase testcase tiInsertChart Call hNewDocument InsertChart - WaitSlot (2000) + Kontext "Messagebox" - if Messagebox.Exists then + if ( Messagebox.Exists( 2 ) ) then Warnlog Messagebox.GetText - Messagebox.OK - sleep 1 + hCloseDialog( Messagebox, "OK" ) end if gMouseClick 1,1 sleep 2 @@ -274,9 +257,8 @@ testcase tiInsertSpreadsheet Kontext "Messagebox" if Messagebox.Exists (5) then Warnlog Messagebox.GetText - Messagebox.OK + hCloseDialog( Messagebox, "ok" ) end if - sleep 2 gMouseClick 1,1 sleep 1 hTypekeys "" @@ -287,12 +269,11 @@ endcase testcase tiInsertFormula Call hNewDocument InsertObjectFormulaDraw - WaitSlot (2000) + Kontext "Messagebox" - if Messagebox.Exists then + if ( Messagebox.Exists( 2 ) ) then Warnlog Messagebox.GetText - Messagebox.OK - sleep 1 + hCloseDialog( Messagebox, "ok" ) end if gMouseClick 1,1 sleep 1 @@ -308,8 +289,7 @@ testcase tiInsertFloatingFrame Dialogtest (TabEigenschaften) Oeffnen.Click Kontext "OeffnenDlg" - sleep 1 - OeffnenDlg.Cancel + hCloseDialog( OeffnenDlg, "Cancel" ) Kontext "TabEigenschaften" TabEigenschaften.Cancel Call hCloseDocument @@ -343,7 +323,6 @@ testcase tiInsertPlugin end if Kontext "OeffnenDlG" if OeffnenDlG.exists (5) then - sleep 1 OeffnenDLG.Cancel end if Kontext "PluginEinfuegen" -- cgit From a340fb93fa310e0eb82c3bd5ac7d5b9a3b22ce70 Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Wed, 2 Jun 2010 08:50:04 +0200 Subject: jl152#i77196# Enable showing license during startup check, better handling of extensions with unaccepted license --- desktop/source/app/check_ext_deps.cxx | 49 +++++++++++++++---- desktop/source/deployment/gui/dp_gui.hrc | 2 + desktop/source/deployment/gui/dp_gui_dialog.src | 10 ++++ desktop/source/deployment/gui/dp_gui_dialog2.cxx | 44 ++++++++++++----- desktop/source/deployment/gui/dp_gui_dialog2.hxx | 10 ++-- .../deployment/gui/dp_gui_extensioncmdqueue.cxx | 56 +++++++++++++++++++++- .../deployment/gui/dp_gui_extensioncmdqueue.hxx | 1 + .../source/deployment/gui/dp_gui_extlistbox.cxx | 15 +++++- .../source/deployment/gui/dp_gui_extlistbox.hxx | 4 +- desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 49 ++++++++----------- desktop/source/deployment/gui/dp_gui_theextmgr.hxx | 10 +--- desktop/source/deployment/manager/dp_manager.cxx | 2 +- 12 files changed, 186 insertions(+), 66 deletions(-) mode change 100644 => 100755 desktop/source/app/check_ext_deps.cxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui.hrc mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_dialog.src mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_dialog2.cxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_dialog2.hxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_extlistbox.cxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_extlistbox.hxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_theextmgr.cxx mode change 100644 => 100755 desktop/source/deployment/gui/dp_gui_theextmgr.hxx diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx old mode 100644 new mode 100755 index e9c71bc1ea36..ebdc9ccdf51e --- a/desktop/source/app/check_ext_deps.cxx +++ b/desktop/source/app/check_ext_deps.cxx @@ -39,6 +39,7 @@ #include "vcl/timer.hxx" #include +#include "toolkit/helper/vclunohelper.hxx" #include #include @@ -48,10 +49,14 @@ #include #include "com/sun/star/deployment/XPackage.hpp" #include "com/sun/star/deployment/ExtensionManager.hpp" +#include "com/sun/star/deployment/LicenseException.hpp" +#include "com/sun/star/deployment/ui/LicenseDialog.hpp" #include #include #include +#include #include +#include "com/sun/star/ui/dialogs/ExecutableDialogResults.hpp" #include #include "app.hxx" @@ -132,21 +137,47 @@ Reference SilentCommandEnv::getProgressHandler() void SilentCommandEnv::handle( Reference< task::XInteractionRequest> const & xRequest ) throw (uno::RuntimeException) { + deployment::LicenseException licExc; + uno::Any request( xRequest->getRequest() ); + bool bApprove = true; + + if ( request >>= licExc ) + { + uno::Reference< uno::XComponentContext > xContext = comphelper_getProcessComponentContext(); + uno::Reference< ui::dialogs::XExecutableDialog > xDialog( + deployment::ui::LicenseDialog::create( + xContext, VCLUnoHelper::GetInterface( NULL ), + licExc.ExtensionName, licExc.Text ) ); + sal_Int16 res = xDialog->execute(); + if ( res == ui::dialogs::ExecutableDialogResults::CANCEL ) + bApprove = false; + else if ( res == ui::dialogs::ExecutableDialogResults::OK ) + bApprove = true; + else + { + OSL_ASSERT(0); + } + } // We approve everything here - uno::Sequence< Reference< task::XInteractionContinuation > > conts( - xRequest->getContinuations() ); - Reference< task::XInteractionContinuation > const * pConts = - conts.getConstArray(); + uno::Sequence< Reference< task::XInteractionContinuation > > conts( xRequest->getContinuations() ); + Reference< task::XInteractionContinuation > const * pConts = conts.getConstArray(); sal_Int32 len = conts.getLength(); + for ( sal_Int32 pos = 0; pos < len; ++pos ) { - - Reference< task::XInteractionApprove > xInteractionApprove( - pConts[ pos ], uno::UNO_QUERY ); - if (xInteractionApprove.is()) { - xInteractionApprove->select(); + if ( bApprove ) + { + uno::Reference< task::XInteractionApprove > xInteractionApprove( pConts[ pos ], uno::UNO_QUERY ); + if ( xInteractionApprove.is() ) + xInteractionApprove->select(); + } + else + { + uno::Reference< task::XInteractionAbort > xInteractionAbort( pConts[ pos ], uno::UNO_QUERY ); + if ( xInteractionAbort.is() ) + xInteractionAbort->select(); } } } diff --git a/desktop/source/deployment/gui/dp_gui.hrc b/desktop/source/deployment/gui/dp_gui.hrc old mode 100644 new mode 100755 index 022141976f55..5f52b042edf3 --- a/desktop/source/deployment/gui/dp_gui.hrc +++ b/desktop/source/deployment/gui/dp_gui.hrc @@ -153,6 +153,7 @@ #define RID_STR_REMOVING_PACKAGES (RID_DEPLOYMENT_GUI_START+86) #define RID_STR_ENABLING_PACKAGES (RID_DEPLOYMENT_GUI_START+87) #define RID_STR_DISABLING_PACKAGES (RID_DEPLOYMENT_GUI_START+88) +#define RID_STR_ACCEPT_LICENSE (RID_DEPLOYMENT_GUI_START+89) #define RID_STR_INSTALL_FOR_ALL (RID_DEPLOYMENT_GUI_START+90) #define RID_STR_INSTALL_FOR_ME (RID_DEPLOYMENT_GUI_START+91) @@ -161,6 +162,7 @@ #define RID_STR_EXIT_BTN (RID_DEPLOYMENT_GUI_START+94) #define RID_STR_NO_ADMIN_PRIVILEGE (RID_DEPLOYMENT_GUI_START+95) #define RID_STR_ERROR_MISSING_DEPENDENCIES (RID_DEPLOYMENT_GUI_START+96) +#define RID_STR_ERROR_MISSING_LICENSE (RID_DEPLOYMENT_GUI_START+97) #define WARNINGBOX_CONCURRENTINSTANCE (RID_DEPLOYMENT_GUI_START+100) diff --git a/desktop/source/deployment/gui/dp_gui_dialog.src b/desktop/source/deployment/gui/dp_gui_dialog.src old mode 100644 new mode 100755 index f9d9c0e011c6..15823288ee20 --- a/desktop/source/deployment/gui/dp_gui_dialog.src +++ b/desktop/source/deployment/gui/dp_gui_dialog.src @@ -72,6 +72,11 @@ String RID_STR_DISABLING_PACKAGES Text [ en-US ] = "Disabling %EXTENSION_NAME"; }; +String RID_STR_ACCEPT_LICENSE +{ + Text [ en-US ] = "Accept license for %EXTENSION_NAME"; +}; + String RID_STR_INSTALL_FOR_ALL { Text [ en-US ] = "~For all users"; @@ -109,6 +114,11 @@ String RID_STR_ERROR_MISSING_DEPENDENCIES Text [ en-US ] = "The extension cannot be enabled as the following system dependencies are not fulfilled:"; }; +String RID_STR_ERROR_MISSING_LICENSE +{ + Text [ en-US ] = "This extension is disabled because you haven't accepted the license yet.\n"; +}; + // Dialog layout // --------------------------------------------------- // row 1 | multi line edit diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx old mode 100644 new mode 100755 index 35634d5ef851..d34001393ba7 --- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx @@ -37,6 +37,7 @@ #include "dp_gui_extlistbox.hxx" #include "dp_gui_shared.hxx" #include "dp_gui_theextmgr.hxx" +#include "dp_gui_extensioncmdqueue.hxx" #include "dp_misc.h" #include "dp_identifier.hxx" @@ -291,7 +292,8 @@ void ExtBoxWithBtns_Impl::SetButtonStatus( const TEntry_Impl pEntry ) m_pEnableBtn->SetHelpId( HID_EXTENSION_MANAGER_LISTBOX_ENABLE ); } - if ( !pEntry->m_bUser || ( pEntry->m_eState == NOT_AVAILABLE ) || pEntry->m_bMissingDeps ) + if ( ( !pEntry->m_bUser || ( pEntry->m_eState == NOT_AVAILABLE ) || pEntry->m_bMissingDeps ) + && !pEntry->m_bMissingLic ) m_pEnableBtn->Hide(); else { @@ -511,9 +513,14 @@ IMPL_LINK( ExtBoxWithBtns_Impl, HandleEnableBtn, void*, EMPTYARG ) if ( nActive != EXTENSION_LISTBOX_ENTRY_NOTFOUND ) { TEntry_Impl pEntry = GetEntryData( nActive ); - const bool bEnable( pEntry->m_eState != REGISTERED ); - m_pParent->enablePackage( pEntry->m_xPackage, bEnable ); + if ( pEntry->m_bMissingLic ) + m_pParent->acceptLicense( pEntry->m_xPackage ); + else + { + const bool bEnable( pEntry->m_eState != REGISTERED ); + m_pParent->enablePackage( pEntry->m_xPackage, bEnable ); + } } return 1; @@ -760,10 +767,11 @@ void ExtMgrDialog::setGetExtensionsURL( const ::rtl::OUString &rURL ) } //------------------------------------------------------------------------------ -long ExtMgrDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage ) +long ExtMgrDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage, + bool bLicenseMissing ) { m_aUpdateBtn.Enable( true ); - return m_pExtensionBox->addEntry( xPackage ); + return m_pExtensionBox->addEntry( xPackage, bLicenseMissing ); } //------------------------------------------------------------------------------ @@ -810,7 +818,7 @@ bool ExtMgrDialog::enablePackage( const uno::Reference< deployment::XPackage > & return false; } - m_pManager->enablePackage( xPackage, bEnable ); + m_pManager->getCmdQueue()->enableExtension( xPackage, bEnable ); return true; } @@ -830,7 +838,7 @@ bool ExtMgrDialog::removePackage( const uno::Reference< deployment::XPackage > & if ( ! continueOnSharedExtension( xPackage, this, RID_WARNINGBOX_REMOVE_SHARED_EXTENSION, m_bDeleteWarning ) ) return false; - m_pManager->removePackage( xPackage ); + m_pManager->getCmdQueue()->removeExtension( xPackage ); return true; } @@ -851,7 +859,18 @@ bool ExtMgrDialog::updatePackage( const uno::Reference< deployment::XPackage > & std::vector< css::uno::Reference< css::deployment::XPackage > > vEntries; vEntries.push_back(extension); - m_pManager->updatePackages( vEntries ); + m_pManager->getCmdQueue()->checkForUpdates( vEntries ); + + return true; +} + +//------------------------------------------------------------------------------ +bool ExtMgrDialog::acceptLicense( const uno::Reference< deployment::XPackage > &xPackage ) +{ + if ( !xPackage.is() ) + return false; + + m_pManager->getCmdQueue()->acceptLicense( xPackage ); return true; } @@ -1300,10 +1319,11 @@ UpdateRequiredDialog::~UpdateRequiredDialog() } //------------------------------------------------------------------------------ -long UpdateRequiredDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage ) +long UpdateRequiredDialog::addPackageToList( const uno::Reference< deployment::XPackage > &xPackage, + bool bLicenseMissing ) { // We will only add entries to the list with unsatisfied dependencies - if ( !checkDependencies( xPackage ) ) + if ( !bLicenseMissing && !checkDependencies( xPackage ) ) { m_bHasLockedEntries |= m_pManager->isReadOnly( xPackage ); m_aUpdateBtn.Enable( true ); @@ -1335,7 +1355,7 @@ void UpdateRequiredDialog::checkEntries() bool UpdateRequiredDialog::enablePackage( const uno::Reference< deployment::XPackage > &xPackage, bool bEnable ) { - m_pManager->enablePackage( xPackage, bEnable ); + m_pManager->getCmdQueue()->enableExtension( xPackage, bEnable ); return true; } @@ -1462,7 +1482,7 @@ IMPL_LINK( UpdateRequiredDialog, HandleUpdateBtn, void*, EMPTYARG ) aGuard.clear(); - m_pManager->updatePackages( vUpdateEntries ); + m_pManager->getCmdQueue()->checkForUpdates( vUpdateEntries ); return 1; } diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx old mode 100644 new mode 100755 index 4c99d64740db..f0a85cce98c0 --- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx +++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx @@ -81,7 +81,8 @@ public: virtual void updateProgress( const long nProgress ) = 0; virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) = 0; - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ) = 0; + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, + bool bLicenseMissing = false ) = 0; virtual void prepareChecking() = 0; virtual void checkEntries() = 0; @@ -157,11 +158,13 @@ public: virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void setGetExtensionsURL( const ::rtl::OUString &rURL ); - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &); + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, + bool bLicenseMissing = false ); bool enablePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); bool removePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); bool updatePackage(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + bool acceptLicense(const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); virtual void prepareChecking(); virtual void checkEntries(); @@ -228,7 +231,8 @@ public: virtual void updatePackageInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void selectEntry( long nPos ); - virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > & ); + virtual long addPackageToList( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &, + bool bLicenseMissing = false ); bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, bool bEnable ); bool updatePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx old mode 100644 new mode 100755 index 954f32f4c9c6..e3c8b2bfb46b --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -195,7 +195,7 @@ public: //------------------------------------------------------------------------------ struct ExtensionCmd { - enum E_CMD_TYPE { ADD, ENABLE, DISABLE, REMOVE, CHECK_FOR_UPDATES }; + enum E_CMD_TYPE { ADD, ENABLE, DISABLE, REMOVE, CHECK_FOR_UPDATES, ACCEPT_LICENSE }; E_CMD_TYPE m_eCmdType; bool m_bWarnUser; @@ -241,6 +241,7 @@ public: void enableExtension( const uno::Reference< deployment::XPackage > &rPackage, const bool bEnable ); void checkForUpdates( const std::vector > &vExtensionList ); + void acceptLicense( const uno::Reference< deployment::XPackage > &rPackage ); void stop(); bool isBusy(); @@ -267,6 +268,8 @@ private: void _disableExtension( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, const uno::Reference< deployment::XPackage > &xPackage ); void _checkForUpdates( const std::vector > &vExtensionList ); + void _acceptLicense( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, + const uno::Reference< deployment::XPackage > &xPackage ); enum Input { NONE, START, STOP }; @@ -281,6 +284,7 @@ private: const OUString m_sAddingPackages; const OUString m_sRemovingPackages; const OUString m_sDefaultCmd; + const OUString m_sAcceptLicense; osl::Condition m_wakeup; osl::Mutex m_mutex; Input m_eInput; @@ -626,6 +630,7 @@ ExtensionCmdQueue::Thread::Thread( DialogHelper *pDialogHelper, m_sAddingPackages( DialogHelper::getResourceString( RID_STR_ADDING_PACKAGES ) ), m_sRemovingPackages( DialogHelper::getResourceString( RID_STR_REMOVING_PACKAGES ) ), m_sDefaultCmd( DialogHelper::getResourceString( RID_STR_ADD_PACKAGES ) ), + m_sAcceptLicense( DialogHelper::getResourceString( RID_STR_ACCEPT_LICENSE ) ), m_eInput( NONE ), m_bTerminated( false ), m_bStopped( false ), @@ -674,6 +679,25 @@ void ExtensionCmdQueue::Thread::removeExtension( const uno::Reference< deploymen } } +//------------------------------------------------------------------------------ +void ExtensionCmdQueue::Thread::acceptLicense( const uno::Reference< deployment::XPackage > &rPackage ) +{ + ::osl::MutexGuard aGuard( m_mutex ); + + //If someone called stop then we do not remove the extension -> game over! + if ( m_bStopped ) + return; + + if ( rPackage.is() ) + { + TExtensionCmd pEntry( new ExtensionCmd( ExtensionCmd::ACCEPT_LICENSE, rPackage ) ); + + m_queue.push( pEntry ); + m_eInput = START; + m_wakeup.set(); + } +} + //------------------------------------------------------------------------------ void ExtensionCmdQueue::Thread::enableExtension( const uno::Reference< deployment::XPackage > &rPackage, const bool bEnable ) @@ -815,6 +839,9 @@ void ExtensionCmdQueue::Thread::execute() case ExtensionCmd::CHECK_FOR_UPDATES : _checkForUpdates( pEntry->m_vExtensionList ); break; + case ExtensionCmd::ACCEPT_LICENSE : + _acceptLicense( currentCmdEnv, pEntry->m_xPackage ); + break; } } //catch ( deployment::DeploymentException &) @@ -1065,6 +1092,28 @@ void ExtensionCmdQueue::Thread::_disableExtension( ::rtl::Reference< ProgressCmd {} } +//------------------------------------------------------------------------------ +void ExtensionCmdQueue::Thread::_acceptLicense( ::rtl::Reference< ProgressCmdEnv > &rCmdEnv, + const uno::Reference< deployment::XPackage > &xPackage ) +{ + if ( !xPackage.is() ) + return; + + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); + OUString sTitle = searchAndReplaceAll( m_sAcceptLicense, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); + rCmdEnv->progressSection( sTitle, xAbortChannel ); + + try + { + xExtMgr->checkPrerequisitesAndEnable( xPackage, xAbortChannel, rCmdEnv.get() ); + if ( m_pDialogHelper ) + m_pDialogHelper->updatePackageInfo( xPackage ); + } + catch ( ::ucb::CommandAbortedException & ) + {} +} + //------------------------------------------------------------------------------ void ExtensionCmdQueue::Thread::onTerminated() { @@ -1131,6 +1180,11 @@ void ExtensionCmdQueue::checkForUpdates( const std::vectorcheckForUpdates( vExtensionList ); } +void ExtensionCmdQueue::acceptLicense( const uno::Reference< deployment::XPackage > &rPackage ) +{ + m_thread->acceptLicense( rPackage ); +} + void ExtensionCmdQueue::stop() { m_thread->stop(); diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx old mode 100644 new mode 100755 index cfadad84cedc..29cee4292102 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.hxx @@ -85,6 +85,7 @@ public: const bool bEnable ); void checkForUpdates(const std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > > &vList ); + void acceptLicense( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &rPackage ); /** This call does not block. It signals the internal thread that it should install the remaining extensions and then terminate. diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx old mode 100644 new mode 100755 index dbb5c93cd853..d76764fa1e53 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -66,6 +66,7 @@ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage, m_bChecked( false ), m_bMissingDeps( false ), m_bHasButtons( false ), + m_bMissingLic( false ), m_eState( eState ), m_pPublisher( NULL ), m_xPackage( xPackage ) @@ -372,6 +373,8 @@ void ExtensionBox_Impl::CalcActiveHeight( const long nPos ) aSize.Height() = 10000; rtl::OUString aText( m_vEntries[ nPos ]->m_sErrorText ); + if ( aText.getLength() ) + aText += OUSTR("\n"); aText += m_vEntries[ nPos ]->m_sDescription; Rectangle aRect = GetTextRect( Rectangle( Point(), aSize ), aText, @@ -634,7 +637,7 @@ void ExtensionBox_Impl::DrawRow( const Rectangle& rRect, const TEntry_Impl pEntr else DrawImage( aPos, Size( SMALL_ICON_SIZE, SMALL_ICON_SIZE ), isHCMode() ? m_aSharedImageHC : m_aSharedImage ); } - if ( ( pEntry->m_eState == AMBIGUOUS ) || pEntry->m_bMissingDeps ) + if ( ( pEntry->m_eState == AMBIGUOUS ) || pEntry->m_bMissingDeps || pEntry->m_bMissingLic ) { aPos = rRect.TopRight() + Point( -(RIGHT_ICON_OFFSET + SPACE_BETWEEN + 2*SMALL_ICON_SIZE), TOP_OFFSET ); DrawImage( aPos, Size( SMALL_ICON_SIZE, SMALL_ICON_SIZE ), isHCMode() ? m_aWarningImageHC : m_aWarningImage ); @@ -952,7 +955,8 @@ bool ExtensionBox_Impl::FindEntryPos( const TEntry_Impl pEntry, const long nStar } //------------------------------------------------------------------------------ -long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &xPackage ) +long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &xPackage, + bool bLicenseMissing ) { long nPos = 0; PackageState eState = m_pManager->getPackageState( xPackage ); @@ -982,6 +986,10 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > & pEntry->m_bUser = xPackage->getRepositoryName().equals( USER_PACKAGE_MANAGER ); pEntry->m_bShared = xPackage->getRepositoryName().equals( SHARED_PACKAGE_MANAGER ); pEntry->m_bNew = m_bInCheckMode; + pEntry->m_bMissingLic = bLicenseMissing; + + if ( bLicenseMissing ) + pEntry->m_sErrorText = DialogHelper::getResourceString( RID_STR_ERROR_MISSING_LICENSE ); //access to m_nActive must be guarded if ( !m_bInCheckMode && m_bHasActive && ( m_nActive >= nPos ) ) @@ -1017,6 +1025,9 @@ void ExtensionBox_Impl::updateEntry( const uno::Reference< deployment::XPackage else (*iIndex)->m_sErrorText = String(); + if ( eState == REGISTERED ) + (*iIndex)->m_bMissingLic = false; + if ( IsReallyVisible() ) Invalidate(); break; diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx old mode 100644 new mode 100755 index 0f56d022492b..762f50296690 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx @@ -73,6 +73,7 @@ struct Entry_Impl bool m_bChecked :1; bool m_bMissingDeps :1; bool m_bHasButtons :1; + bool m_bMissingLic :1; PackageState m_eState; String m_sTitle; String m_sVersion; @@ -205,7 +206,8 @@ public: //----------------- virtual void selectEntry( const long nPos ); - long addEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); + long addEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, + bool bLicenseMissing = false ); void updateEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); void removeEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx old mode 100644 new mode 100755 index fdbc1974f61c..7bfcc79480b3 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -67,7 +67,8 @@ TheExtensionManager::TheExtensionManager( Window *pParent, m_xContext( xContext ), m_pParent( pParent ), m_pExtMgrDialog( NULL ), - m_pUpdReqDialog( NULL ) + m_pUpdReqDialog( NULL ), + m_pExecuteCmdQueue( NULL ) { m_xExtensionManager = deployment::ExtensionManager::get( xContext ); m_xExtensionManager->addModifyListener( this ); @@ -117,6 +118,8 @@ TheExtensionManager::~TheExtensionManager() delete m_pUpdReqDialog; if ( m_pExtMgrDialog ) delete m_pExtMgrDialog; + if ( m_pExecuteCmdQueue ) + delete m_pExecuteCmdQueue; } //------------------------------------------------------------------------------ @@ -129,14 +132,16 @@ void TheExtensionManager::createDialog( const bool bCreateUpdDlg ) if ( !m_pUpdReqDialog ) { m_pUpdReqDialog = new UpdateRequiredDialog( NULL, this ); - m_pExecuteCmdQueue.reset( new ExtensionCmdQueue( (DialogHelper*) m_pUpdReqDialog, this, m_xContext ) ); + delete m_pExecuteCmdQueue; + m_pExecuteCmdQueue = new ExtensionCmdQueue( (DialogHelper*) m_pUpdReqDialog, this, m_xContext ); createPackageList(); } } else if ( !m_pExtMgrDialog ) { m_pExtMgrDialog = new ExtMgrDialog( m_pParent, this ); - m_pExecuteCmdQueue.reset( new ExtensionCmdQueue( (DialogHelper*) m_pExtMgrDialog, this, m_xContext ) ); + delete m_pExecuteCmdQueue; + m_pExecuteCmdQueue = new ExtensionCmdQueue( (DialogHelper*) m_pExtMgrDialog, this, m_xContext ); m_pExtMgrDialog->setGetExtensionsURL( m_sGetExtensionsURL ); createPackageList(); } @@ -231,32 +236,6 @@ bool TheExtensionManager::checkUpdates( bool /* bShowUpdateOnly */, bool /*bPare return true; } -//------------------------------------------------------------------------------ -bool TheExtensionManager::enablePackage( const uno::Reference< deployment::XPackage > &xPackage, - bool bEnable ) -{ - m_pExecuteCmdQueue->enableExtension( xPackage, bEnable ); - - return true; -} - -//------------------------------------------------------------------------------ -bool TheExtensionManager::removePackage( const uno::Reference< deployment::XPackage > &xPackage ) -{ - m_pExecuteCmdQueue->removeExtension( xPackage ); - - return true; -} - -//------------------------------------------------------------------------------ -bool TheExtensionManager::updatePackages( - const std::vector< uno::Reference< deployment::XPackage > > &vList ) -{ - m_pExecuteCmdQueue->checkForUpdates( vList ); - - return true; -} - //------------------------------------------------------------------------------ bool TheExtensionManager::installPackage( const OUString &rPackageURL, bool bWarnUser ) { @@ -343,6 +322,18 @@ void TheExtensionManager::createPackageList() } } } + + uno::Sequence< uno::Reference< deployment::XPackage > > xNoLicPackages; + xNoLicPackages = m_xExtensionManager->getExtensionsWithUnacceptedLicenses( SHARED_PACKAGE_MANAGER, + uno::Reference< ucb::XCommandEnvironment >() ); + for ( sal_Int32 i = 0; i < xNoLicPackages.getLength(); ++i ) + { + uno::Reference< deployment::XPackage > xPackage = xNoLicPackages[i]; + if ( xPackage.is() ) + { + getDialogHelper()->addPackageToList( xPackage, true ); + } + } } //------------------------------------------------------------------------------ diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx old mode 100644 new mode 100755 index da8d3c083f42..094e25e249b7 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx @@ -61,11 +61,10 @@ private: ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager; ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xNameAccessNodes; - ::std::auto_ptr< ExtensionCmdQueue > m_pExecuteCmdQueue; - Window *m_pParent; ExtMgrDialog *m_pExtMgrDialog; UpdateRequiredDialog *m_pUpdReqDialog; + ExtensionCmdQueue *m_pExecuteCmdQueue; ::rtl::OUString m_sGetExtensionsURL; @@ -83,6 +82,7 @@ public: Dialog* getDialog() { return m_pExtMgrDialog ? (Dialog*) m_pExtMgrDialog : (Dialog*) m_pUpdReqDialog; } DialogHelper* getDialogHelper() { return m_pExtMgrDialog ? (DialogHelper*) m_pExtMgrDialog : (DialogHelper*) m_pUpdReqDialog; } + ExtensionCmdQueue* getCmdQueue() const { return m_pExecuteCmdQueue; } void SetText( const ::rtl::OUString &rTitle ); void Show(); @@ -92,12 +92,6 @@ public: //----------------- bool checkUpdates( bool showUpdateOnly, bool parentVisible ); - bool updatePackages( const std::vector< ::com::sun::star::uno::Reference< - ::com::sun::star::deployment::XPackage > > &vList ); - - bool enablePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage, - bool bEnable ); - bool removePackage( const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage ); bool installPackage( const ::rtl::OUString &rPackageURL, bool bWarnUser = false ); bool queryTermination(); diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 7844e11b0651..409cf2674184 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -927,7 +927,7 @@ void PackageManagerImpl::removePackage( //the flag file it will then recognize, that the extension was //deleted and can then update the extnesion database of the shared //extensions in the user installation. - if (! m_readOnly && !xPackage->isRemoved() && m_context.equals(OUSTR("shared"))) + if ( xPackage.is() && !m_readOnly && !xPackage->isRemoved() && m_context.equals(OUSTR("shared"))) { ActivePackages::Data val; m_activePackagesDB->get( & val, id, fileName); -- cgit From 057d47a436bab4ba71a101f7d2ad21cabae0cd20 Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Wed, 2 Jun 2010 09:31:52 +0200 Subject: jl152#i77196# better handling of extensions with unaccepted license --- desktop/source/deployment/gui/dp_gui_extlistbox.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index d76764fa1e53..24b47aa223e3 100755 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -1020,14 +1020,14 @@ void ExtensionBox_Impl::updateEntry( const uno::Reference< deployment::XPackage (*iIndex)->m_sVersion = xPackage->getVersion(); (*iIndex)->m_sDescription = xPackage->getDescription(); + if ( eState == REGISTERED ) + (*iIndex)->m_bMissingLic = false; + if ( eState == AMBIGUOUS ) (*iIndex)->m_sErrorText = DialogHelper::getResourceString( RID_STR_ERROR_UNKNOWN_STATUS ); - else + else if ( ! (*iIndex)->m_bMissingLic ) (*iIndex)->m_sErrorText = String(); - if ( eState == REGISTERED ) - (*iIndex)->m_bMissingLic = false; - if ( IsReallyVisible() ) Invalidate(); break; -- cgit From 729f1a6606a24a74f9f606921da13ab703d334f5 Mon Sep 17 00:00:00 2001 From: Dirk Voelzke Date: Wed, 2 Jun 2010 09:31:52 +0200 Subject: jl152#i77196# better handling of extensions with unaccepted license --- extensions/source/update/check/updatecheck.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx index 10632cd23fbd..522bac4c96ef 100644 --- a/extensions/source/update/check/updatecheck.cxx +++ b/extensions/source/update/check/updatecheck.cxx @@ -844,6 +844,9 @@ UpdateCheck::initialize(const uno::Sequence< beans::NamedValue >& rValues, aConfig->clearUpdateFound(); m_aUpdateInfo = UpdateInfo(); + // Remove outdated release notes + storeReleaseNote( 1, rtl::OUString() ); + storeReleaseNote( 2, rtl::OUString() ); } else { -- cgit From 5b17ec8ba275c12bcdb1e58aa88b6a979e4db140 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 2 Jun 2010 10:05:17 +0200 Subject: vitomation01: #i109696 - Removed f_first.bas: it does no longer have a special status as we are working with categories now. Tests have been moved to other files. - Removed f_script_organizers.bas, f_basic_dialogs.bas: Their scripts are now combined in f_programmability_dialogs.bas - tInsertAllGraphics() has been removed from (now deleted f_first.bas) and replaces an identical but less strict test in w_updt.bas. This gives a speed gain of about five minutes to w_updt.bas. - graphics_import.inc: Deleted, tests moved to f_topten.bas and w_updt.bas --- .../framework/required/f_basic_dialogs.bas | 73 ----- testautomation/framework/required/f_first.bas | 70 ----- .../framework/required/f_help_browser.bas | 2 + .../required/f_programmability_dialogs.bas | 77 +++++ .../framework/required/f_script_organizers.bas | 60 ---- .../framework/required/f_tools_options.bas | 2 + testautomation/framework/required/f_topten.bas | 26 +- .../framework/required/includes/first.inc | 149 +++++++--- .../required/includes/graphics_import.inc | 312 --------------------- .../framework/required/includes/help_browser.inc | 39 +++ .../framework/required/includes/tools_options.inc | 37 +-- testautomation/writer/required/includes/w_001_.inc | 7 +- testautomation/writer/required/includes/w_004_.inc | 177 ++++++++++-- 13 files changed, 424 insertions(+), 607 deletions(-) delete mode 100755 testautomation/framework/required/f_basic_dialogs.bas delete mode 100755 testautomation/framework/required/f_first.bas create mode 100755 testautomation/framework/required/f_programmability_dialogs.bas delete mode 100755 testautomation/framework/required/f_script_organizers.bas mode change 100644 => 100755 testautomation/framework/required/includes/first.inc delete mode 100755 testautomation/framework/required/includes/graphics_import.inc mode change 100644 => 100755 testautomation/framework/required/includes/help_browser.inc mode change 100644 => 100755 testautomation/framework/required/includes/tools_options.inc mode change 100644 => 100755 testautomation/writer/required/includes/w_004_.inc diff --git a/testautomation/framework/required/f_basic_dialogs.bas b/testautomation/framework/required/f_basic_dialogs.bas deleted file mode 100755 index 9820062e8139..000000000000 --- a/testautomation/framework/required/f_basic_dialogs.bas +++ /dev/null @@ -1,73 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'******************************************************************************* -' 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 -' -' for a copy of the LGPLv3 License. -' -'/****************************************************************************** -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : Update-Test for some dialogs in Basic-IDE -'* -'\****************************************************************************** - -sub main - - use "framework\required\includes\basic_macroassignment.inc" - use "framework\required\includes\basic_dialog_i18n.inc" - use "framework\required\includes\basic_organizer.inc" - use "framework\required\includes\basic_dialog_export.inc" - use "framework\required\includes\basic_dialog_i18n_import.inc" - - call hStatusIn( "framework" , "f_basic_dialogs.bas" ) - call tUpdtMacroAssignment() - call tUpdtBasicDialogI18n() - call tUpdtBasicOrganizer() - call tUpdtDialogExport() - call tBasicDialogI18nImport() - call hStatusOut() - -end sub - -'******************************************************************************* - -sub LoadIncludeFiles - - use "global\system\includes\master.inc" - use "global\system\includes\gvariabl.inc" - - use "global\tools\includes\optional\t_basic_ide_tools.inc" - use "global\tools\includes\optional\t_basic_organizer_tools.inc" - use "global\tools\includes\optional\t_treelist_tools.inc" - use "global\tools\includes\optional\t_docfuncs.inc" - use "global\tools\includes\optional\t_filetools.inc" - - use "framework\tools\includes\formcontrols.inc" - use "framework\tools\includes\pbrowser_tools.inc" - - gApplication = "WRITER" - call GetUseFiles() - -end sub - -'------------------------------------------------------------------------- diff --git a/testautomation/framework/required/f_first.bas b/testautomation/framework/required/f_first.bas deleted file mode 100755 index a4733f612375..000000000000 --- a/testautomation/framework/required/f_first.bas +++ /dev/null @@ -1,70 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'******************************************************************************* -' 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 -' -' for a copy of the LGPLv3 License. -' -'/****************************************************************************** -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : first test, to check global functionality -'* -'\****************************************************************************** - - -sub main - ' Disable sleep() calls. If you encounter unexpected test interruptions - ' you should try to outcomment this or set the value to FALSE. - GLOBAL_USE_NEW_SLEEP = TRUE - - use "framework\required\includes\first.inc" - use "framework\required\includes\graphics_import.inc" - use "global\required\includes\g_option_application.inc" - - call hStatusIn ("framework", "f_first.bas") - call tAllNew - - gApplication = "DRAW" - call tInFilterCountCompare - call tQuickInsertGraphNotAsLink - call tJava - - gApplication = "WRITER" - call tToolsOptionsTestFirst - call tDatabaseCheck - call tHelpRegistration - call hStatusOut -end sub - -sub LoadIncludeFiles - use "global\system\includes\master.inc" - use "global\system\includes\gvariabl.inc" - use "global\tools\includes\optional\t_ui_filters.inc" - use "global\tools\includes\optional\t_filetools.inc" - use "global\tools\includes\optional\t_docfuncs.inc" - use "global\tools\includes\optional\t_listfuncs.inc" - - gApplication = "WRITER" - call GetUseFiles() -end sub - diff --git a/testautomation/framework/required/f_help_browser.bas b/testautomation/framework/required/f_help_browser.bas index 330e0a31e78a..edc70c63f9ca 100755 --- a/testautomation/framework/required/f_help_browser.bas +++ b/testautomation/framework/required/f_help_browser.bas @@ -38,6 +38,8 @@ sub main call hStatusIn( "framework", "f_help_browser.bas" ) call tHelp_DialogTest() call tHelp_ToolBar() + call tHelp_Registration() + call hStatusOut() end sub diff --git a/testautomation/framework/required/f_programmability_dialogs.bas b/testautomation/framework/required/f_programmability_dialogs.bas new file mode 100755 index 000000000000..537a4693770f --- /dev/null +++ b/testautomation/framework/required/f_programmability_dialogs.bas @@ -0,0 +1,77 @@ +'encoding UTF-8 Do not remove or change this line! +'******************************************************************************* +' 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 +' +' for a copy of the LGPLv3 License. +' +'/****************************************************************************** +'* +'* owner : joerg.skottke@sun.com +'* +'* short description : Update-Test for some dialogs in Basic-IDE +'* +'\****************************************************************************** + +sub main + + use "framework\required\includes\basic_macroassignment.inc" + use "framework\required\includes\basic_dialog_i18n.inc" + use "framework\required\includes\basic_organizer.inc" + use "framework\required\includes\basic_dialog_export.inc" + use "framework\required\includes\basic_dialog_i18n_import.inc" + use "framework\required\includes\scripting_basics.inc" + use "framework\required\includes\script_organizers.inc" + + call hStatusIn( "framework" , "f_programmability_dialogs.bas" ) + call tUpdtMacroAssignment() + call tUpdtBasicDialogI18n() + call tUpdtBasicOrganizer() + call tUpdtDialogExport() + call tBasicDialogI18nImport() + call tScripting() ' script organizer nodes if no documents are open + call tUpdtScriptCount() ' script organizer nodes with one open document + call hStatusOut() + +end sub + +'******************************************************************************* + +sub LoadIncludeFiles + + use "global\system\includes\master.inc" + use "global\system\includes\gvariabl.inc" + + use "global\tools\includes\optional\t_basic_ide_tools.inc" + use "global\tools\includes\optional\t_basic_organizer_tools.inc" + use "global\tools\includes\optional\t_treelist_tools.inc" + use "global\tools\includes\optional\t_docfuncs.inc" + use "global\tools\includes\optional\t_filetools.inc" + + use "framework\tools\includes\formcontrols.inc" + use "framework\tools\includes\pbrowser_tools.inc" + + gApplication = "WRITER" + call GetUseFiles() + +end sub + +'------------------------------------------------------------------------- diff --git a/testautomation/framework/required/f_script_organizers.bas b/testautomation/framework/required/f_script_organizers.bas deleted file mode 100755 index cdf5018d3374..000000000000 --- a/testautomation/framework/required/f_script_organizers.bas +++ /dev/null @@ -1,60 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'******************************************************************************* -' 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 -' -' for a copy of the LGPLv3 License. -' -'/****************************************************************************** -'* -'* owner : Joerg.Skottke@Sun.Com -'* -'* short description : Verify names of macros and scripts -'* -'\****************************************************************************** - -sub main - - use "framework\required\includes\scripting_basics.inc" - use "framework\required\includes\script_organizers.inc" - - call hStatusIn( "framework" , "f_script_organizers.bas" ) - call tScripting() ' script organizer nodes if no documents are open - call tUpdtScriptCount() ' script organizer nodes with one open document - call hStatusOut() - -end sub - -'******************************************************************************* - -sub LoadIncludeFiles - - use "global\system\includes\master.inc" - use "global\system\includes\gvariabl.inc" - - use "global\tools\includes\optional\t_docfuncs.inc" - use "global\tools\includes\optional\t_treelist_tools.inc" - - gApplication = "WRITER" - call GetUseFiles() - -end sub - diff --git a/testautomation/framework/required/f_tools_options.bas b/testautomation/framework/required/f_tools_options.bas index d9945c5333ff..9b64e7e1cd26 100755 --- a/testautomation/framework/required/f_tools_options.bas +++ b/testautomation/framework/required/f_tools_options.bas @@ -34,9 +34,11 @@ sub main use "framework\required\includes\tools_options.inc" + use "global\required\includes\g_option_application.inc" call hStatusIn( "framework" , "f_tools_options.bas" ) call tUpdtOptionItems() + call tToolsOptionsTestFirst() ' Global test that should be called from within the application modules really. call hStatusOut() end sub diff --git a/testautomation/framework/required/f_topten.bas b/testautomation/framework/required/f_topten.bas index 49a13aeb3f1b..3b7068ece70b 100755 --- a/testautomation/framework/required/f_topten.bas +++ b/testautomation/framework/required/f_topten.bas @@ -35,21 +35,21 @@ sub main use "framework\required\includes\topten.inc" use "framework\required\includes\smoketest.inc" - + use "framework\required\includes\first.inc" + + hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) + call hStatusIn ("framework", "f_topten.bas") - - printlog Chr(13) + "* ------ Top-Ten-Test ------ *" + call tAllNew + call tInFilterCountCompare + call tJava + call tDatabaseCheck call topten - - - hSetMacroSecurityAPI( GC_MACRO_SECURITY_LEVEL_LOW ) call tSmokeTest - - ' Do not use hSetMacroSecurityAPI here as this is the ONLY place within - ' the framework module where the setting is done via UI. - hSetMacroSecurity( GC_MACRO_SECURITY_LEVEL_DEFAULT ) - call hStatusOut + + hSetMacroSecurity( GC_MACRO_SECURITY_LEVEL_DEFAULT ) + end sub '******************************************************************************* @@ -60,6 +60,10 @@ sub LoadIncludeFiles use "global\system\includes\gvariabl.inc" use "global\tools\includes\optional\t_docfuncs.inc" + use "global\tools\includes\optional\t_ui_filters.inc" + use "global\tools\includes\optional\t_filetools.inc" + use "global\tools\includes\optional\t_docfuncs.inc" + use "global\tools\includes\optional\t_listfuncs.inc" gApplication = "BACKGROUND" Call GetUseFiles diff --git a/testautomation/framework/required/includes/first.inc b/testautomation/framework/required/includes/first.inc old mode 100644 new mode 100755 index 0c0b737ffe5d..700cee374104 --- a/testautomation/framework/required/includes/first.inc +++ b/testautomation/framework/required/includes/first.inc @@ -271,62 +271,129 @@ endcase '******************************************************************************* -function fDocumentCheck (SollFilter as String) as boolean +function fDocumentCheck( SollFilter as String ) as boolean ' Check the name of the file type in the Save dialog and validate ' it against a given string. Dim sFiltername as String FileSaveAs + Kontext "SpeichernDlg" - sFiltername = DateiTyp.GetItemText (1) - if (Instr(lcase(sFiltername), lcase (SollFilter)) <> 0) then - fDocumentCheck() = TRUE + if ( SpeichernDlg.exists( 1 ) ) then + sFiltername = DateiTyp.GetItemText (1) + if (Instr(lcase(sFiltername), lcase (SollFilter)) <> 0) then + fDocumentCheck() = TRUE + else + printlog("Filter names do not match:") + printlog("Found: [" & sFilterName & "]") + printlog("Expected: [" & SollFilter & "]") + SollFilter = sFiltername + fDocumentCheck() = FALSE + end if + SpeichernDlg.Cancel() else - printlog("Filter names do not match:") - printlog("Found: [" & sFilterName & "]") - printlog("Expected: [" & SollFilter & "]") - SollFilter = sFiltername + warnlog( "Dialog did not open" ) fDocumentCheck() = FALSE - end if - SpeichernDlg.Cancel() + endif end function '******************************************************************************* -testcase tHelpRegistration +testcase tInFilterCountCompare() - ' Check i69670 which was a showstopper in OOo 2.0.4 - ' Menu-entry "Help / Registration" is disabled + printlog( "Check filterlist (filterstring) for graphics files" ) - dim iCurrentMenuEntry as integer - dim iMenuEntryCount as integer - - printlog "Check if all entries in Help Menu are enabled" - call hNewDocument - - printlog "Open menu" - hUseMenu() - iMenuEntryCount = hMenuItemGetCount - - printlog "Select the last entry 'Help'" - hMenuSelectNr( iMenuEntryCount ) - iMenuEntryCount = hMenuItemGetCount - for iCurrentMenuEntry = 1 to iMenuEntryCount - if ( hMenuItemIsEnabled( iCurrentMenuEntry ) ) then - printlog "(" & iCurrentMenuEntry & "/" & iMenuEntryCount & _ - "): Menu entry is enabled: Help-> " & hMenuItemGetText( iCurrentMenuEntry ) - else - if (lcase(gPlatform) = "osx") then - warnlog "#i86247# Help->Registration is disabled on MacOS X" - else - warnlog "(" & iCurrentMenuEntry & "/" & iMenuEntryCount & _ - "): Menu entry is not enabled: Help-> " & hMenuItemGetText( iCurrentMenuEntry ) - endif + const FILE_NAME = "graphic_filters.txt" + const SUFFIX_STRING_LENGTH = 178 + +' List of filter suffixes for verification in case of error +' *.bmp;*.dxf;*.emf;*.eps;*.gif;*.jpg;*.jpeg;*.jfif;*.jif;*.met;*.pbm;*.pcd; +' *.pct;*.pcx;*.pgm;*.png;*.ppm;*.psd;*.ras;*.sgf;*.sgv;*.svm;*.tga;*.tif; +' *.tiff;*.wmf;*.xbm;*.xpm;*.pict + + dim caUIFilters( 30 ) as string + + dim cReferencePath as string + cReferencePath = gTesttoolPath & "global/input/filters/" + cReferencePath = convertpath ( cReferencePath & FILE_NAME ) + + dim cUIFiltersPath as string + cUIFiltersPath = hGetWorkPath() & FILE_NAME + + dim iCurrentFilter as integer + dim iFilterCount as integer + + dim cAllFormats as string + + dim irc as integer + dim iBegin as integer + dim iEnd as integer + + printlog( "" ) + printlog( "Verify filternames listed on the Insert Graphics dialog" ) + + hCreateDocument() + hChangeDoc() + + InsertGraphicsFromFile + + kontext "GrafikEinfuegenDlg" + if ( GrafikEinfuegenDlg.exists( 1 ) ) then + iFilterCount = DateiTyp.getItemCount() + + 'Make list compatible with listfunctions + caUIFilters( 0 ) = iFilterCount - 1 + + for iCurrentFilter = 2 to iFilterCount + + caUIFilters( iCurrentFilter - 1 ) = DateiTyp.getItemText( iCurrentFilter ) + + next iCurrentFilter + + irc = hManageComparisionList( cReferencePath, cUIFiltersPath, caUIFilters() ) + hListResultEvaluation( irc , 0 ) + + printlog( "" ) + printlog( "Verify -string" ) + cAllFormats = DateiTyp.getItemText( 1 ) + + iBegin = instr( cAllFormats, "<" ) + if ( iBegin <> 1 ) then + warnlog( "The opening bracket < is missing in string" ) + endif + + iEnd = instr( cAllFormats, ">" ) + if ( iEnd = 0 ) then + warnlog( "The closing bracket > is missing in string" ) + endif + + if ( ( iEnd - iBegin ) < 2 ) then + warnlog( " string is shorter than expected, please check" ) + printlog( "String is: " & cAllFormats & ", length (" & len( cAllFormats ) & ")" ) endif - next iCurrentMenuEntry - hMenuClose() - call hCloseDocument -endcase + iBegin = instr( cAllFormats, "(" ) + if ( iBegin <> iEnd + 2 ) then + warnlog( "The opening bracket ( is missing in string" ) + endif + iEnd = instr( cAllFormats, ")" ) + if ( iEnd < 10 ) then + warnlog( "The closing bracket ) is missing in string" ) + endif + + irc = iEnd - iBegin + if ( irc <> SUFFIX_STRING_LENGTH ) then + warnlog( "The list of file suffixes has changed, please verify" ) + printlog( "Found: " & irc & " chars, expected " & SUFFIX_STRING_LENGTH ) + endif + kontext "GrafikEinfuegenDlg" + GrafikEinfuegenDlg.cancel() + else + warnlog( " dialog did not open" ) + endif + + hDestroyDocument() + +endcase diff --git a/testautomation/framework/required/includes/graphics_import.inc b/testautomation/framework/required/includes/graphics_import.inc deleted file mode 100755 index f9567037ddde..000000000000 --- a/testautomation/framework/required/includes/graphics_import.inc +++ /dev/null @@ -1,312 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'******************************************************************************* -' 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 -' -' for a copy of the LGPLv3 License. -' -'/****************************************************************************** -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : Graphic import (2nd file for the first.bas) -'* -'\****************************************************************************** - - -testcase tQuickInsertGraphNotAsLink - - printlog( "Load files of all known graphics formats" ) - - dim iCurrentFile as integer - dim GraphicFile as String - dim Filtername as String - - printlog( "Insert a sample of commonly used file formats into a writer document (not linked)" ) - - if ( gUseSysDlg ) then - warnlog( "This test needs the OpenOffice.org filepicker to be set as default" ) - goto endsub - endif - - gApplication = "WRITER" - Call hNewDocument - - for iCurrentFile = 1 to 25 - - ' MODIFY and ENABLE this SAMPLE snippet to exclude one fileformat from testing - ' if ( iCurrentFile = 7 ) AND (gtPlatform="x86") then - ' qaErrorLog("## crash on on loading ") - ' goto skipformat - ' endif - ' Note: Can be locale dependent! - if (iCurrentFile = 4) AND (gPlatform="osx") then - qaerrorlog("#i100253# crash on MacOS X on loading ball.eps") - goto skipformat - endif - - Kontext "GrafikEinfuegenDlg" - if ( not GrafikEinfuegenDlg.exists() ) then - InsertGraphicsFromFile - Kontext "GrafikEinfuegenDlg" - endif - - if ( GrafikEinfuegenDlg.Exists( 2 ) ) then - ' the list of files expected to be found in the samples directory - select case iCurrentFile - case 1 : GraphicFile = "desp.bmp" - case 2 : GraphicFile = "columbia.dxf" - case 3 : GraphicFile = "extrud.emf" - case 4 : GraphicFile = "ball.eps" - case 5 : GraphicFile = "airshw.met" - case 6 : GraphicFile = "eface.gif" - case 7 : GraphicFile = "purzel.gif" ' Animated Gif - case 8 : GraphicFile = "borabora.jpg" - case 9 : GraphicFile = "grafix1.pbm" - case 10 : GraphicFile = "circle.pcx" - case 11 : GraphicFile = "papagei1.pcd" - case 12 : GraphicFile = "newtonme.pct" - case 13 : GraphicFile = "grafix2.pgm" - case 14 : GraphicFile = "obst.png" - case 15 : GraphicFile = "london.ppm" - case 16 : GraphicFile = "tiger.psd" - case 17 : GraphicFile = "grafix3.ras" - case 18 : GraphicFile = "mickym.sgf" - case 19 : GraphicFile = "faxpfeil.sgv" - case 20 : GraphicFile = "picture.svm" - case 21 : GraphicFile = "pilz.tga" - case 22 : GraphicFile = "stabler.tif" - case 23 : GraphicFile = "krokodil.wmf" - case 24 : GraphicFile = "grafix4.xbm" - case 25 : GraphicFile = "papagei2.xpm" - end select - - GraphicFile = ConvertPath (gTesttoolPath & "global\input\graf_inp\" & GraphicFile) - printlog( "Current file " + iCurrentFile + ": " & GraphicFile ) - printlog( " * Set filter to " ) - DateiName.SetText( GraphicFile ) - DateiTyp.Select( 1 ) - WaitSlot() - - printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) - Vorschau.unCheck - Verknuepfen.unCheck() - Oeffnen.click() - WaitSlot( 2000 ) - - Kontext "Active" - if ( Active.Exists() ) then - Warnlog( "Unexpected messagebox: " & Active.GetText() ) - Warnlog( "Affected file: " & GraphicFile ) - Active.OK - else - try - EditCopy - WaitSlot( 2000 ) - EditDeleteContents - WaitSlot( 2000 ) - catch - Warnlog( "Graphic file not selected/Copy or Delete is disabled: " & GraphicFile ) - gMouseClick (90, 90) - endcatch - endif - else - warnlog( "Insert Graphics Dialog is not open, aborting" ) - goto endsub - endif - - skipformat: - next iCurrentFile - - printlog( "" ) - printlog( "Test the PCD-Filters directly (3 samples)" ) - - for iCurrentFile = 1 to 3 - - printlog( "" ) - - Kontext "GrafikEinfuegenDlg" - if ( not GrafikEinfuegenDlg.exists() ) then - InsertGraphicsFromFile - Kontext "GrafikEinfuegenDlg" - endif - - if ( GrafikEinfuegenDlg.exists( 2 ) ) then - - select case iCurrentFile - case 1 : Filtername = "PCD - Kodak Photo CD (768x512) (*.pcd)" - case 2 : Filtername = "PCD - Kodak Photo CD (384x256) (*.pcd)" - case 3 : Filtername = "PCD - Kodak Photo CD (192x128) (*.pcd)" - end select - - GraphicFile = ConvertPath( gTesttoolPath & "global\input\graf_inp\papagei1.pcd" ) - - printlog( "Current filter: " & Filtername ) - printlog( "Current file..: " & GraphicFile ) - DateiName.SetText ( GraphicFile ) - DateiTyp.Select( Filtername ) - - printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) - Vorschau.Uncheck() - Verknuepfen.unCheck() - Oeffnen.click() - WaitSlot( 2000 ) - - Kontext "Active" - if ( Active.Exists() )then - Warnlog( "Unexpected messagebox: " & Active.GetText() ) - Warnlog( "Affected file..: " & GraphicFile ) - Warnlog( "Affected filter: " & Filtername ) - Active.OK() - else - try - EditCopy - WaitSlot( 2000 ) - EditDeleteContents - WaitSlot( 2000 ) - catch - Warnlog( "Problems with filtertype : " & Filtername ) - gMouseClick (90, 90) - endcatch - endif - else - warnlog( "Insert Graphics Dialog is not open. Aborting" ) - goto endsub - endif - - next iCurrentFile - - Kontext "GrafikEinfuegenDlg" - if GrafikEinfuegenDlg.Exists then - GrafikEinfuegenDlg.Cancel - endif - - Call hCloseDocument - -endcase - -'******************************************************************************* - -testcase tInFilterCountCompare() - - printlog( "Check filterlist (filterstring) for graphics files" ) - - if ( gUseSysDlg ) then - warnlog( "This test needs the OpenOffice.org filepicker to be set as default" ) - goto endsub - endif - - const FILE_NAME = "graphic_filters.txt" - const SUFFIX_STRING_LENGTH = 178 - -' List of filter suffixes for verification in case of error -' *.bmp;*.dxf;*.emf;*.eps;*.gif;*.jpg;*.jpeg;*.jfif;*.jif;*.met;*.pbm;*.pcd; -' *.pct;*.pcx;*.pgm;*.png;*.ppm;*.psd;*.ras;*.sgf;*.sgv;*.svm;*.tga;*.tif; -' *.tiff;*.wmf;*.xbm;*.xpm;*.pict - - dim caUIFilters( 30 ) as string - - dim cReferencePath as string - cReferencePath = gTesttoolPath & "global/input/filters/" - cReferencePath = convertpath ( cReferencePath & FILE_NAME ) - - dim cUIFiltersPath as string - cUIFiltersPath = hGetWorkPath() & FILE_NAME - - dim iCurrentFilter as integer - dim iFilterCount as integer - - dim cAllFormats as string - - dim irc as integer - dim iBegin as integer - dim iEnd as integer - - printlog( "" ) - printlog( "Verify filternames listed on the Insert Graphics dialog" ) - - hCreateDocument() - hChangeDoc() - - InsertGraphicsFromFile - - kontext "GrafikEinfuegenDlg" - if ( GrafikEinfuegenDlg.exists( 1 ) ) then - iFilterCount = DateiTyp.getItemCount() - - 'Make list compatible with listfunctions - caUIFilters( 0 ) = iFilterCount - 1 - - for iCurrentFilter = 2 to iFilterCount - - caUIFilters( iCurrentFilter - 1 ) = DateiTyp.getItemText( iCurrentFilter ) - - next iCurrentFilter - - irc = hManageComparisionList( cReferencePath, cUIFiltersPath, caUIFilters() ) - hListResultEvaluation( irc , 0 ) - - printlog( "" ) - printlog( "Verify -string" ) - cAllFormats = DateiTyp.getItemText( 1 ) - - iBegin = instr( cAllFormats, "<" ) - if ( iBegin <> 1 ) then - warnlog( "The opening bracket < is missing in string" ) - endif - - iEnd = instr( cAllFormats, ">" ) - if ( iEnd = 0 ) then - warnlog( "The closing bracket > is missing in string" ) - endif - - if ( ( iEnd - iBegin ) < 2 ) then - warnlog( " string is shorter than expected, please check" ) - printlog( "String is: " & cAllFormats & ", length (" & len( cAllFormats ) & ")" ) - endif - - iBegin = instr( cAllFormats, "(" ) - if ( iBegin <> iEnd + 2 ) then - warnlog( "The opening bracket ( is missing in string" ) - endif - - iEnd = instr( cAllFormats, ")" ) - if ( iEnd < 10 ) then - warnlog( "The closing bracket ) is missing in string" ) - endif - - irc = iEnd - iBegin - if ( irc <> SUFFIX_STRING_LENGTH ) then - warnlog( "The list of file suffixes has changed, please verify" ) - printlog( "Found: " & irc & " chars, expected " & SUFFIX_STRING_LENGTH ) - endif - - kontext "GrafikEinfuegenDlg" - GrafikEinfuegenDlg.cancel() - else - warnlog( " dialog did not open" ) - endif - - hDestroyDocument() - - - -endcase diff --git a/testautomation/framework/required/includes/help_browser.inc b/testautomation/framework/required/includes/help_browser.inc old mode 100644 new mode 100755 index 0b8b80bcbdaf..62438373dc37 --- a/testautomation/framework/required/includes/help_browser.inc +++ b/testautomation/framework/required/includes/help_browser.inc @@ -154,3 +154,42 @@ testcase tHelp_ToolBar brc = hCloseHelp() endcase + +'******************************************************************************* + +testcase tHelp_Registration + + ' Check i69670 which was a showstopper in OOo 2.0.4 + ' Menu-entry "Help / Registration" is disabled + + dim iCurrentMenuEntry as integer + dim iMenuEntryCount as integer + + printlog "Check if all entries in Help Menu are enabled" + call hNewDocument + + printlog "Open menu" + hUseMenu() + iMenuEntryCount = hMenuItemGetCount + + printlog "Select the last entry 'Help'" + hMenuSelectNr( iMenuEntryCount ) + iMenuEntryCount = hMenuItemGetCount + for iCurrentMenuEntry = 1 to iMenuEntryCount + if ( hMenuItemIsEnabled( iCurrentMenuEntry ) ) then + printlog "(" & iCurrentMenuEntry & "/" & iMenuEntryCount & _ + "): Menu entry is enabled: Help-> " & hMenuItemGetText( iCurrentMenuEntry ) + else + if (lcase(gPlatform) = "osx") then + warnlog "#i86247# Help->Registration is disabled on MacOS X" + else + warnlog "(" & iCurrentMenuEntry & "/" & iMenuEntryCount & _ + "): Menu entry is not enabled: Help-> " & hMenuItemGetText( iCurrentMenuEntry ) + endif + endif + next iCurrentMenuEntry + hMenuClose() + call hCloseDocument + +endcase + diff --git a/testautomation/framework/required/includes/tools_options.inc b/testautomation/framework/required/includes/tools_options.inc old mode 100644 new mode 100755 index 0b226db7e7b0..82d5ef6ae861 --- a/testautomation/framework/required/includes/tools_options.inc +++ b/testautomation/framework/required/includes/tools_options.inc @@ -59,24 +59,29 @@ testcase tUpdtOptionItems ToolsOptions kontext "ExtrasOptionenDlg" - - iAppItems = Optionsliste.getItemCount() - Optionsliste.typeKeys( "" ) - for iNodes = 1 to iAppItems - Optionsliste.typeKeys( "-" ) - Optionsliste.typeKeys( "" ) - next iNodes - - iAppItems = Optionsliste.getItemCount() - if ( iAppItems <> iAppCount( iDocType ) ) then - warnlog( "#i68068# The number of top nodes in Tools/Options is incorrect." ) - printlog( "Found...: " & iAppItems ) - printlog( "Expected: " & iAppCount( iDocType ) ) + if ( ExtrasOptionenDlg.exists( 2 ) ) then + + iAppItems = Optionsliste.getItemCount() + Optionsliste.typeKeys( "" ) + for iNodes = 1 to iAppItems + Optionsliste.typeKeys( "-" ) + Optionsliste.typeKeys( "" ) + next iNodes + + iAppItems = Optionsliste.getItemCount() + if ( iAppItems <> iAppCount( iDocType ) ) then + warnlog( "#i68068# The number of top nodes in Tools/Options is incorrect." ) + printlog( "Found...: " & iAppItems ) + printlog( "Expected: " & iAppCount( iDocType ) ) + else + printlog( "The number of top nodes is correct." ) + endif + + hCloseDialog( ExtrasOptionenDlg, "Cancel" ) else - printlog( "The number of top nodes is correct." ) + warnlog( "Dialog did not open " ) endif - - ExtrasOptionenDlg.cancel() + hDestroyDocument() next iDocType diff --git a/testautomation/writer/required/includes/w_001_.inc b/testautomation/writer/required/includes/w_001_.inc index 99c434be4863..902aae05377d 100755 --- a/testautomation/writer/required/includes/w_001_.inc +++ b/testautomation/writer/required/includes/w_001_.inc @@ -75,7 +75,7 @@ testcase tFileNewLabels cBrandList( 10 ) = "Sigel" PrintLog "Open Labels-dialog with File / New / Labels" - if ( hCreateLabels ) then + if ( hCreateLabels() ) then Call DialogTest( TabEtiketten ) @@ -83,7 +83,8 @@ testcase tFileNewLabels PrintLog "Check number of brands and types (see #i44801# for details)" For iSheetFormat = 1 to 2 - + + kontext "TabEtiketten" Select Case( iSheetFormat ) Case 1 Endlos.Check @@ -353,7 +354,7 @@ testcase tFileNewBusinessCards Kontext "Active" if ( Active.GetRT = 304 ) then - Warnlog( "UNexpected messagebox: " & Active.GetText() ) + Warnlog( "Unexpected messagebox: " & Active.GetText() ) Active.Ok end if diff --git a/testautomation/writer/required/includes/w_004_.inc b/testautomation/writer/required/includes/w_004_.inc old mode 100644 new mode 100755 index 3a4234bfb18a..e40b2951ffc1 --- a/testautomation/writer/required/includes/w_004_.inc +++ b/testautomation/writer/required/includes/w_004_.inc @@ -1162,34 +1162,169 @@ endcase '----------------------------------------------------------- testcase tInsertAllGraphicsFromFile - Dim i as integer - Dim quellpfad as string - Dim DieDatei as string - Dim Ziel( 5000 ) as String - printlog "Insert / Graphics / From File (all Formats)" - printlog " Open new document" + printlog( "Load files of all known graphics formats" ) + + dim iCurrentFile as integer + dim GraphicFile as String + dim Filtername as String + + printlog( "Insert a sample of commonly used file formats into a writer document (not linked)" ) + + gApplication = "WRITER" Call hNewDocument - printlog " Insert all graphic formats from directory: global\input\graf_inp\" - quellpfad = ConvertPath(gtesttoolpath + "global\input\graf_inp\") + for iCurrentFile = 1 to 25 + + ' MODIFY and ENABLE this SAMPLE snippet to exclude one fileformat from testing + ' if ( iCurrentFile = 7 ) AND (gtPlatform="x86") then + ' qaErrorLog("## crash on on loading ") + ' goto skipformat + ' endif + ' Note: Can be locale dependent! + if (iCurrentFile = 4) AND (gPlatform="osx") then + qaerrorlog("#i100253# crash on MacOS X on loading ball.eps") + goto skipformat + endif - GetFileList(quellpfad, "*.*" , Ziel()) - for i=1 to ListCount(Ziel()) - if (gPlatform = "osx") AND (right(ziel(i),3) = "eps") then - qaerrorlog "#i100253# skipping eps" - i=i+1 + Kontext "GrafikEinfuegenDlg" + if ( not GrafikEinfuegenDlg.exists() ) then + InsertGraphicsFromFile + Kontext "GrafikEinfuegenDlg" endif - printlog "- Graphic: " + Right(Ziel(i),3) + "-Format" - Call hGrafikEinfuegen ( Ziel(i) ) - Sleep 5 - Call wTypeKeys("") - Call gMouseDoubleClick (10,10) - Sleep 5 - next i - printlog " Close active document" + if ( GrafikEinfuegenDlg.Exists( 2 ) ) then + ' the list of files expected to be found in the samples directory + select case iCurrentFile + case 1 : GraphicFile = "desp.bmp" + case 2 : GraphicFile = "columbia.dxf" + case 3 : GraphicFile = "extrud.emf" + case 4 : GraphicFile = "ball.eps" + case 5 : GraphicFile = "airshw.met" + case 6 : GraphicFile = "eface.gif" + case 7 : GraphicFile = "purzel.gif" ' Animated Gif + case 8 : GraphicFile = "borabora.jpg" + case 9 : GraphicFile = "grafix1.pbm" + case 10 : GraphicFile = "circle.pcx" + case 11 : GraphicFile = "papagei1.pcd" + case 12 : GraphicFile = "newtonme.pct" + case 13 : GraphicFile = "grafix2.pgm" + case 14 : GraphicFile = "obst.png" + case 15 : GraphicFile = "london.ppm" + case 16 : GraphicFile = "tiger.psd" + case 17 : GraphicFile = "grafix3.ras" + case 18 : GraphicFile = "mickym.sgf" + case 19 : GraphicFile = "faxpfeil.sgv" + case 20 : GraphicFile = "picture.svm" + case 21 : GraphicFile = "pilz.tga" + case 22 : GraphicFile = "stabler.tif" + case 23 : GraphicFile = "krokodil.wmf" + case 24 : GraphicFile = "grafix4.xbm" + case 25 : GraphicFile = "papagei2.xpm" + end select + + GraphicFile = ConvertPath (gTesttoolPath & "global\input\graf_inp\" & GraphicFile) + printlog( "Current file " + iCurrentFile + ": " & GraphicFile ) + printlog( " * Set filter to " ) + DateiName.SetText( GraphicFile ) + DateiTyp.Select( 1 ) + WaitSlot() + + printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) + Vorschau.unCheck + Verknuepfen.unCheck() + Oeffnen.click() + WaitSlot( 2000 ) + + Kontext "Active" + if ( Active.Exists() ) then + Warnlog( "Unexpected messagebox: " & Active.GetText() ) + Warnlog( "Affected file: " & GraphicFile ) + Active.OK + else + try + EditCopy + WaitSlot( 2000 ) + EditDeleteContents + WaitSlot( 2000 ) + catch + Warnlog( "Graphic file not selected/Copy or Delete is disabled: " & GraphicFile ) + gMouseClick (90, 90) + endcatch + endif + else + warnlog( "Insert Graphics Dialog is not open, aborting" ) + goto endsub + endif + + skipformat: + next iCurrentFile + + printlog( "" ) + printlog( "Test the PCD-Filters directly (3 samples)" ) + + for iCurrentFile = 1 to 3 + + printlog( "" ) + + Kontext "GrafikEinfuegenDlg" + if ( not GrafikEinfuegenDlg.exists() ) then + InsertGraphicsFromFile + Kontext "GrafikEinfuegenDlg" + endif + + if ( GrafikEinfuegenDlg.exists( 2 ) ) then + + select case iCurrentFile + case 1 : Filtername = "PCD - Kodak Photo CD (768x512) (*.pcd)" + case 2 : Filtername = "PCD - Kodak Photo CD (384x256) (*.pcd)" + case 3 : Filtername = "PCD - Kodak Photo CD (192x128) (*.pcd)" + end select + + GraphicFile = ConvertPath( gTesttoolPath & "global\input\graf_inp\papagei1.pcd" ) + + printlog( "Current filter: " & Filtername ) + printlog( "Current file..: " & GraphicFile ) + DateiName.SetText ( GraphicFile ) + DateiTyp.Select( Filtername ) + + printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) + Vorschau.Uncheck() + Verknuepfen.unCheck() + Oeffnen.click() + WaitSlot( 2000 ) + + Kontext "Active" + if ( Active.Exists() )then + Warnlog( "Unexpected messagebox: " & Active.GetText() ) + Warnlog( "Affected file..: " & GraphicFile ) + Warnlog( "Affected filter: " & Filtername ) + Active.OK() + else + try + EditCopy + WaitSlot( 2000 ) + EditDeleteContents + WaitSlot( 2000 ) + catch + Warnlog( "Problems with filtertype : " & Filtername ) + gMouseClick (90, 90) + endcatch + endif + else + warnlog( "Insert Graphics Dialog is not open. Aborting" ) + goto endsub + endif + + next iCurrentFile + + Kontext "GrafikEinfuegenDlg" + if GrafikEinfuegenDlg.Exists then + GrafikEinfuegenDlg.Cancel + endif + Call hCloseDocument + endcase '----------------------------------------------------------- -- cgit From ea7b8372ee365c47522f0a0b4b230977656dfbba Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Wed, 2 Jun 2010 10:06:43 +0200 Subject: CWS mba33issues01: #i82086#: replace Internet with Network --- svtools/source/misc/errtxt.src | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/svtools/source/misc/errtxt.src b/svtools/source/misc/errtxt.src index 4e9a316308e0..22b364c266df 100644 --- a/svtools/source/misc/errtxt.src +++ b/svtools/source/misc/errtxt.src @@ -328,23 +328,23 @@ Resource RID_ERRHDL }; String ERRCODE_INET_CONNECT { - Text [ en-US ] = "Could not establish Internet connection to $(ARG1)." ; + Text [ en-US ] = "Could not establish network connection to $(ARG1)." ; }; String ERRCODE_INET_READ { - Text [ en-US ] = "Error reading data from the Internet.\nServer error message: $(ARG1)." ; + Text [ en-US ] = "Error reading data from the network.\nServer error message: $(ARG1)." ; }; String ERRCODE_INET_WRITE { - Text [ en-US ] = "Error transferring data to the Internet.\nServer error message: $(ARG1)." ; + Text [ en-US ] = "Error transferring data to the network.\nServer error message: $(ARG1)." ; }; String ERRCODE_INET_GENERAL { - Text [ en-US ] = "General Internet error has occurred." ; + Text [ en-US ] = "General network error has occurred." ; }; String ERRCODE_INET_OFFLINE { - Text [ en-US ] = "The requested Internet data is not available in the cache and cannot be transmitted as the Online mode has not be activated." ; + Text [ en-US ] = "The requested network data is not available in the cache and cannot be transmitted as the Online mode has not be activated." ; }; String ERRCODE_SFXMSG_STYLEREPLACE { -- cgit From af7e9427541027ca153d9b16782c55addbbf28b3 Mon Sep 17 00:00:00 2001 From: "Herbert Duerr [hdu]" Date: Wed, 2 Jun 2010 10:12:48 +0200 Subject: #i100925# removed superfluos translation entry for simsun family --- unotools/source/misc/fontdefs.cxx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/unotools/source/misc/fontdefs.cxx b/unotools/source/misc/fontdefs.cxx index 878ed0b938ae..c1c222755599 100644 --- a/unotools/source/misc/fontdefs.cxx +++ b/unotools/source/misc/fontdefs.cxx @@ -37,6 +37,7 @@ struct ImplLocalizedFontName const sal_Unicode* mpLocalizedNames; }; +// TODO: where did the 0,0 delimiters come from? A single 0 should suffice... static sal_Unicode const aBatang[] = { 0xBC14, 0xD0D5, 0, 0 }; static sal_Unicode const aBatangChe[] = { 0xBC14, 0xD0D5, 0xCCB4, 0, 0 }; static sal_Unicode const aGungsuh[] = { 0xAD81, 0xC11C, 0, 0 }; @@ -181,7 +182,6 @@ static sal_Unicode const aHiraginoKakuGothicPro[] = { 0x30D2, 0x30E9, 0x30AE, static sal_Unicode const aHiraginoKakuGothicProN[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x89D2, 0x30B4, 'p','r','o','n',0}; static sal_Unicode const aHiraginoMaruGothicPro[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x4E38, 0x30B4, 'p','r','o',0}; static sal_Unicode const aHiraginoMaruGothicProN[] = { 0x30D2, 0x30E9, 0x30AE, 0x30CE, 0x4E38, 0x30B4, 'p','r','o','n',0}; -static sal_Unicode const aTimesNewRoman[] = { 0x5B8B, 0x4F53 }; static ImplLocalizedFontName aImplLocalizedNamesList[] = { @@ -318,7 +318,6 @@ static ImplLocalizedFontName aImplLocalizedNamesList[] = { "hiraginokakugothicpron", aHiraginoKakuGothicProN }, { "hiraginomarugothicpro", aHiraginoMaruGothicPro }, { "hiraginomarugothicpron", aHiraginoMaruGothicProN }, -{ "timesnewroman", aTimesNewRoman }, { NULL, NULL }, }; @@ -518,8 +517,6 @@ void AddTokenFontName( String& rName, const String& rNewToken ) ImplAppendFontToken( rName, rNewToken ); } - - // ======================================================================= String GetSubsFontName( const String& rName, ULONG nFlags ) -- cgit From d90913a6131cd829292e7f13cc6c9b28120a5e43 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Wed, 2 Jun 2010 10:16:03 +0200 Subject: CWS mba33issues01: #i112021#: remove obsolete code --- sfx2/source/dialog/about.cxx | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/sfx2/source/dialog/about.cxx b/sfx2/source/dialog/about.cxx index 66d4146d9e62..02f05c773f73 100644 --- a/sfx2/source/dialog/about.cxx +++ b/sfx2/source/dialog/about.cxx @@ -130,20 +130,6 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId, const String& rVerS rtl::OUString sProduct; utl::ConfigManager::GetDirectConfigProperty(utl::ConfigManager::PRODUCTNAME) >>= sProduct; - if ( sProduct.equals( rtl::OUString::createFromAscii("StarOffice") ) || - sProduct.equals( rtl::OUString::createFromAscii("StarSuite") ) ) - { - // --> PB 2004-11-18 #118455# new copyright text (only in french version show a french text) - ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale(); - ::rtl::OUString sFrenchLang( DEFINE_CONST_OUSTRING( "fr" ) ); - if ( aLocale.Language.equals( sFrenchLang ) ) - { - String sNewCopyrightText( ResId( ABOUT_STR_FRENCH_COPYRIGHT, *rId.GetResMgr() ) ); - aCopyrightText.SetText( sNewCopyrightText ); - } - // <-- - } - // load image from module path rtl::OUString aAbouts( RTL_CONSTASCII_USTRINGPARAM( ABOUT_BITMAP_STRINGLIST ) ); bool bLoaded = false; @@ -289,22 +275,6 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId, const String& rVerS // explizite Help-Id SetHelpId( SID_ABOUT ); - - //#112429# replace occurences of "StarOffice" in the "StarSuite" version - String sCopyright( aCopyrightText.GetText() ); - if(sProduct.equals(rtl::OUString::createFromAscii("StarSuite"))) - { - String sSO(String::CreateFromAscii("StarOffice")); - sCopyright.SearchAndReplaceAll(sSO, sProduct); - } - - String sNewYear( DEFINE_CONST_UNICODE("2005") ); - xub_StrLen nIdx = sCopyright.SearchAndReplace( DEFINE_CONST_UNICODE("2002"), sNewYear ); - if ( STRING_NOTFOUND == nIdx ) - nIdx = sCopyright.SearchAndReplace( DEFINE_CONST_UNICODE("2003"), sNewYear ); - if ( STRING_NOTFOUND == nIdx ) - nIdx = sCopyright.SearchAndReplace( DEFINE_CONST_UNICODE("2004"), sNewYear ); - aCopyrightText.SetText( sCopyright ); } // ----------------------------------------------------------------------- -- cgit From bb1038e2aba1cc548b66a98e30d638fb9de76101 Mon Sep 17 00:00:00 2001 From: Mathias Bauer Date: Wed, 2 Jun 2010 11:00:52 +0200 Subject: CWS mba33issues01: #i78637#: shorten text for conversion options --- cui/source/options/optfltr.src | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cui/source/options/optfltr.src b/cui/source/options/optfltr.src index a9091926e3c2..35659dd71f5b 100644 --- a/cui/source/options/optfltr.src +++ b/cui/source/options/optfltr.src @@ -147,19 +147,19 @@ TabPage RID_OFAPAGE_MSFILTEROPT2 }; String ST_CHG_MATH { - Text [ en-US ] = "MathType to %PRODUCTNAME Math / %PRODUCTNAME Math to MathType"; + Text [ en-US ] = "MathType to %PRODUCTNAME Math or reverse"; }; String ST_CHG_WRITER { - Text [ en-US ] = "WinWord to %PRODUCTNAME Writer / %PRODUCTNAME Writer to WinWord"; + Text [ en-US ] = "WinWord to %PRODUCTNAME Writer or reverse"; }; String ST_CHG_CALC { - Text [ en-US ] = "Excel to %PRODUCTNAME Calc / %PRODUCTNAME Calc to Excel"; + Text [ en-US ] = "Excel to %PRODUCTNAME Calc or reverse"; }; String ST_CHG_IMPRESS { - Text [ en-US ] = "PowerPoint to %PRODUCTNAME Impress / %PRODUCTNAME Impress to PowerPoint"; + Text [ en-US ] = "PowerPoint to %PRODUCTNAME Impress or reverse"; }; }; -- cgit From a68bbed73a3c306cb0a3c707397096a70bb61013 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 2 Jun 2010 11:30:00 +0200 Subject: jl152: #i112023 - Removed unused file - Inproved checking for controls in e_update.bas --- .../extensions/required/includes/e_update.inc | 250 +++++++++++---------- .../required/includes/e_update_oooimprovement.inc | 94 -------- 2 files changed, 135 insertions(+), 209 deletions(-) mode change 100644 => 100755 testautomation/extensions/required/includes/e_update.inc delete mode 100644 testautomation/extensions/required/includes/e_update_oooimprovement.inc diff --git a/testautomation/extensions/required/includes/e_update.inc b/testautomation/extensions/required/includes/e_update.inc old mode 100644 new mode 100755 index c3114a65dbbc..c7f049ead764 --- a/testautomation/extensions/required/includes/e_update.inc +++ b/testautomation/extensions/required/includes/e_update.inc @@ -126,138 +126,150 @@ testcase tExtensionManagerResources() ' home directory we have access to the extensions that reside in ' the shared layer. This means that the user can remove and disable ' these extensions. + + ' Modifications to unopkg and Extension Manager frequently cause + ' controls to disappear so a more finegrained control checking is done here + ' to avoid getting too much warnings in QUASTe. kontext "PackageManager" BrowsePackages.select( 1 ) if ( disable.exists() ) then - if ( disable.isEnabled() ) then - - disable.click() + if ( disable.isVisible() ) then + if ( disable.isEnabled() ) then - kontext "Active" - if ( Active.exists( 1 ) ) then - printlog( "Disable extension: Warning for other office instance. Good." ) - active.ok() - else - warnlog( "No warning for other office instances running" ) - endif - - ' We now re-enable the extensions. Depending on the "size" - ' of the extension it might take the Extension Manager UI - ' a few seconds to complete the "disable" action. We need to - ' wait for that. - kontext "PackageManager" - BrowsePackages.select( 1 ) - iBreakCounter = 0 - do while( not enable.exists() ) - iBreakCounter = iBreakCounter + 1 - wait( 100 ) - if ( iBreakCounter = MAX_ITERATIONS ) then - warnlog( "Extension not ready within timeframe. Aborting" ) - goto endsub + disable.click() + + kontext "Active" + if ( Active.exists( 1 ) ) then + printlog( "Disable extension: Warning for other office instance. Good." ) + active.ok() + else + warnlog( "No warning for other office instances running" ) endif - loop - enable.click() - - kontext "Active" - if ( Active.exists( 1 ) ) then - printlog( "Enable extension: Warning for other office instance. Good." ) - active.ok() - else - warnlog( "No warning for other office instances running" ) - endif - ' The Extension Manager UI remembers when it has warned about - ' other running instances of the office, so the next time we try - ' to disable/enable the extension there should be no warning. - - kontext "PackageManager" - iBreakCounter = 0 - do while( not disable.exists() ) - iBreakCounter = iBreakCounter + 1 - wait( 100 ) - if ( iBreakCounter = MAX_ITERATIONS ) then - warnlog( "Extension not ready within timeframe. Aborting" ) - goto endsub + ' We now re-enable the extensions. Depending on the "size" + ' of the extension it might take the Extension Manager UI + ' a few seconds to complete the "disable" action. We need to + ' wait for that. + kontext "PackageManager" + BrowsePackages.select( 1 ) + iBreakCounter = 0 + do while( not enable.exists() ) + iBreakCounter = iBreakCounter + 1 + wait( 100 ) + if ( iBreakCounter = MAX_ITERATIONS ) then + warnlog( "Extension not ready within timeframe. Aborting" ) + goto endsub + endif + loop + enable.click() + + kontext "Active" + if ( Active.exists( 1 ) ) then + printlog( "Enable extension: Warning for other office instance. Good." ) + active.ok() + else + warnlog( "No warning for other office instances running" ) endif - loop - disable.click() - kontext "Active" - if ( Active.exists( 1 ) ) then - warnlog( "There should be no warning when disabling the extension a second time" ) - active.ok() - else - printlog( "Disable extension: No warning for other office instances. Good." ) - endif - - kontext "PackageManager" - iBreakCounter = 0 - do while( not enable.exists() ) - iBreakCounter = iBreakCounter + 1 - wait( 100 ) - if ( iBreakCounter = MAX_ITERATIONS ) then - warnlog( "Extension not ready within timeframe. Aborting" ) - goto endsub + ' The Extension Manager UI remembers when it has warned about + ' other running instances of the office, so the next time we try + ' to disable/enable the extension there should be no warning. + + kontext "PackageManager" + iBreakCounter = 0 + do while( not disable.exists() ) + iBreakCounter = iBreakCounter + 1 + wait( 100 ) + if ( iBreakCounter = MAX_ITERATIONS ) then + warnlog( "Extension not ready within timeframe. Aborting" ) + goto endsub + endif + loop + disable.click() + + kontext "Active" + if ( Active.exists( 1 ) ) then + warnlog( "There should be no warning when disabling the extension a second time" ) + active.ok() + else + printlog( "Disable extension: No warning for other office instances. Good." ) endif - loop - enable.click() - - kontext "Active" - if ( Active.exists( 1 ) ) then - warnlog( "There should be no warning when enabling the extension a second time" ) - active.ok() + + kontext "PackageManager" + iBreakCounter = 0 + do while( not enable.exists() ) + iBreakCounter = iBreakCounter + 1 + wait( 100 ) + if ( iBreakCounter = MAX_ITERATIONS ) then + warnlog( "Extension not ready within timeframe. Aborting" ) + goto endsub + endif + loop + enable.click() + + kontext "Active" + if ( Active.exists( 1 ) ) then + warnlog( "There should be no warning when enabling the extension a second time" ) + active.ok() + else + printlog( "Enable extension: No warning for other office instances. Good." ) + endif + WaitSlot() + else - printlog( "Enable extension: No warning for other office instances. Good." ) + warnlog( "User should be able to disable shared extension" ) endif - WaitSlot() - else - warnlog( "User should be able to disable shared extension" ) + warnlog( " button exists but is not visible" ) endif else warnlog( "Cannot disable extension. It might be disabled already or defunct" ) endif kontext "PackageManager" - iBreakCounter = 0 - do while( not remove.isEnabled() ) - iBreakCounter = iBreakCounter + 1 - wait( 100 ) - if ( iBreakCounter = MAX_ITERATIONS ) then - warnlog( "Extension not ready within timeframe. Aborting" ) - goto endsub - endif - loop - - kontext "PackageManager" - if ( remove.isEnabled() ) then - - remove.click() - - ' Note: First time we try to remove an extension we should get a - ' warning that we must make sure that no other office instances - ' are running. If this warning is missing we actually remove the - ' extension which leaves the installation in an inconsistent - ' state. In a "real life" installation this would not work, in a - ' "user space" installation we have to reinstall. Bad that is. - - kontext "Active" - if ( Active.exists( 1 ) ) then - printlog( "Remove extension: Warning for other office instances. Good." ) - active.cancel() + if ( remove.exists() ) then + iBreakCounter = 0 + do while( not remove.isEnabled() ) + iBreakCounter = iBreakCounter + 1 + wait( 100 ) + if ( iBreakCounter = MAX_ITERATIONS ) then + warnlog( "Extension not ready within timeframe. Aborting" ) + goto endsub + endif + loop + + kontext "PackageManager" + if ( remove.isEnabled() ) then + + remove.click() + + ' Note: First time we try to remove an extension we should get a + ' warning that we must make sure that no other office instances + ' are running. If this warning is missing we actually remove the + ' extension which leaves the installation in an inconsistent + ' state. In a "real life" installation this would not work, in a + ' "user space" installation we have to reinstall. Bad that is. + + kontext "Active" + if ( Active.exists( 1 ) ) then + printlog( "Remove extension: Warning for other office instances. Good." ) + active.cancel() + else + warnlog( "No warning for other office instances running" ) + warnlog( "Installation inconsistency: Extension was removed!" ) + endif + WaitSlot() + + ' Note: Like for the disable/enable buttons we should not get + ' a warning for another running office instance when removing + ' an extension for the second time. + else - warnlog( "No warning for other office instances running" ) - warnlog( "Installation inconsistency: Extension was removed!" ) + warnlog( "User should be able to remove extension" ) endif - WaitSlot() - - ' Note: Like for the disable/enable buttons we should not get - ' a warning for another running office instance when removing - ' an extension for the second time. - else - warnlog( "User should be able to remove extension" ) + warnlog( "Button does not exist" ) endif else @@ -265,13 +277,21 @@ testcase tExtensionManagerResources() ' he may neither disable or remove extensions. kontext "PackageManager" - if ( disable.isEnabled() ) then - warnlog( "Disable-button enabled for shared extension" ) + if ( disable.exists() ) then + if ( disable.isEnabled() ) then + warnlog( "Disable-button enabled for shared extension" ) + endif + else + warnlog( "Button does not exist" ) endif - + kontext "PackageManager" - if ( remove.isEnabled() ) then - warnlog( "Remove-button enabled for shared extension" ) + if ( remove.exists() ) then + if ( remove.isEnabled() ) then + warnlog( "Remove-button enabled for shared extension" ) + endif + else + ' do nothing, if the button is missing we already get a warning earlier in this test endif endif diff --git a/testautomation/extensions/required/includes/e_update_oooimprovement.inc b/testautomation/extensions/required/includes/e_update_oooimprovement.inc deleted file mode 100644 index 0981a1836937..000000000000 --- a/testautomation/extensions/required/includes/e_update_oooimprovement.inc +++ /dev/null @@ -1,94 +0,0 @@ -'encoding UTF-8 Do not remove or change this line! -'************************************************************************** -' 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 -' -' for a copy of the LGPLv3 License. -' -'/****************************************************************************** -'* -'* owner : joerg.skottke@sun.com -'* -'* short description : Extension Update Test -'* -'\****************************************************************************** - -testcase tUpdtOOoImprovement - - printlog( "Update test for the tools/options dialog of the OOo Improvement extension" ) - if ( not gExtensionOOoImprovementIsInstalled ) then - qaerrorlog( "The extension is not installed." ) - goto endsub - endif - - dim cLogFile as string - cLogFile = gOfficePath & "user\temp\feedback\Current.csv" - cLogFile = convertpath( cLogFile ) - - if ( hDeleteFile( cLogFile ) ) then - printlog( "Test environment is clean, no logfile present (anymore)" ) - endif - - ToolsOptions - hToolsOptions( "StarOffice", "Improvement" ) - printlog( "Improvement Program tabpage" ) - - call DialogTest( TabOOoImprovement ) - - ParticipateNo.check() - ParticipateYes.check() - - if ( ShowData.isEnabled() ) then - - ShowData.click() - - Kontext "TextImport" - if ( TextImport.exists( 1 ) ) then - printlog( "Text import dialog" ) - - call DialogTest( TextImport ) - TextImport.cancel() - else - warnlog( "#i97340# Show Data button enabled but no logged data found" ) - endif - - Kontext "Active" - if ( Active.exists( 1 ) ) then - printlog( "Messagebox: " & Active.getText() ) - Active.ok() - else - warnlog( "No warning for missing file: " & cLogFile ) - endif - - Kontext "Active" - if ( Active.exists( 1 ) ) then - warnlog( "#97342# Second message for missing " & cLogFile ) - Active.ok() - endif - else - printlog( "Show data is disabled" ) - endif - - Kontext "OptionenDlg" - OptionenDlg.cancel() - -endcase - -- cgit From 2fab32e831fc02e7efd4069aa0dfc7779d97a9cf Mon Sep 17 00:00:00 2001 From: Malte Timmermann Date: Wed, 2 Jun 2010 13:05:02 +0200 Subject: mtclip01: #i112022# Allow extended clipboard creation --- vcl/source/window/window.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index b47aa50a2e72..4ffb52b0e2c9 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -8641,7 +8641,10 @@ Reference< XClipboard > Window::GetClipboard() if( xFactory.is() ) { - mpWindowImpl->mpFrameData->mxClipboard = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.SystemClipboard" ) ), UNO_QUERY ); + mpWindowImpl->mpFrameData->mxClipboard = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.SystemClipboardExt" ) ), UNO_QUERY ); + + if( !mpWindowImpl->mpFrameData->mxClipboard.is() ) + mpWindowImpl->mpFrameData->mxClipboard = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.SystemClipboard" ) ), UNO_QUERY ); #if defined(UNX) && !defined(QUARTZ) // unix clipboard needs to be initialized if( mpWindowImpl->mpFrameData->mxClipboard.is() ) @@ -8703,6 +8706,9 @@ Reference< XClipboard > Window::GetPrimarySelection() # else static Reference< XClipboard > s_xSelection; + if ( !s_xSelection.is() ) + s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboardExt" ) ), UNO_QUERY ); + if ( !s_xSelection.is() ) s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboard" ) ), UNO_QUERY ); -- cgit From 94b12d448ec2b5c026072fb4a4756edca289967b Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 2 Jun 2010 12:08:17 +0100 Subject: cmcfixes75: #i111770# handle libgcc_s.so.1|2|4 in deliver --- external/prj/d.lst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/prj/d.lst b/external/prj/d.lst index 2c50c4c6f801..20b727cad60b 100644 --- a/external/prj/d.lst +++ b/external/prj/d.lst @@ -18,8 +18,8 @@ mkdir: %_DEST%\inc%_EXT%\external\mingw\include\sys ..\%__SRC%\lib\libautorec*.* %_DEST%\lib%_EXT%\lib*.* -..\%__SRC%\lib\libgcc_s.so.1 %_DEST%\lib%_EXT%\libgcc_s.so.1 -..\%__SRC%\lib\libstdc++.so.6 %_DEST%\lib%_EXT%\libstdc++.so.6 +..\%__SRC%\lib\libgcc_s.so.* %_DEST%\lib%_EXT%\libgcc_s.so.* +..\%__SRC%\lib\libstdc++.so.* %_DEST%\lib%_EXT%\libstdc++.so.* ..\dbghelp\dbghelp.dll %_DEST%\bin%_EXT%\dbghelp.dll -- cgit From 20c9135b759b11411b9b4e9ca7b219de535f38c1 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Wed, 2 Jun 2010 13:53:02 +0200 Subject: jl152: #i112023 - Fixed e_publisher.inc (has new offset in updates list) --- testautomation/extensions/optional/includes/publisher.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 testautomation/extensions/optional/includes/publisher.inc diff --git a/testautomation/extensions/optional/includes/publisher.inc b/testautomation/extensions/optional/includes/publisher.inc old mode 100644 new mode 100755 index fcf4400ae748..6bda65c781fc --- a/testautomation/extensions/optional/includes/publisher.inc +++ b/testautomation/extensions/optional/includes/publisher.inc @@ -40,6 +40,7 @@ testcase tExtensionPublisher goto endsub endif + const EXTENSION_LIST_OFFSET = 1 ' French dictionary is usually listed before the test extensions ' Specification document ' http://specs.openoffice.org/appwide/packagemanager/online_update_for_extensions.odt ' http://specs.openoffice.org/appwide/packagemanager/online_update_for_extensions.odt @@ -190,7 +191,7 @@ testcase tExtensionPublisher cHasPublisher = hGetValueForKeyAsString( cConfigArray() , "has_publisher" ) cPublisher = hGetValueForKeyAsString( cConfigArray() , "publisher" ) - AvailableUpdatesList.select( iCurrentFile ) + AvailableUpdatesList.select( iCurrentFile + EXTENSION_LIST_OFFSET ) if ( AvailableUpdatesList.getText() = cCurrentFileName ) then printlog( "Testing extension: " & cCurrentFileName ) -- cgit From e9fd49ec0145ce5118cf720e6bcd49f721adcda4 Mon Sep 17 00:00:00 2001 From: "Herbert Duerr [hdu]" Date: Wed, 2 Jun 2010 15:21:20 +0200 Subject: #i101378# transparent line drawing now supported from system layers --- vcl/aqua/inc/salgdi.h | 2 +- vcl/aqua/source/gdi/salgdi.cxx | 2 ++ vcl/inc/vcl/salgdi.hxx | 4 ++-- vcl/os2/inc/salgdi.h | 2 +- vcl/os2/source/gdi/salgdi.cxx | 1 + vcl/source/gdi/outdev.cxx | 16 ++++++++-------- vcl/source/gdi/outdev6.cxx | 31 ++++++++++++++++++++++--------- vcl/source/gdi/salgdilayout.cxx | 7 ++++--- vcl/unx/headless/svpgdi.cxx | 2 +- vcl/unx/headless/svpgdi.hxx | 2 +- vcl/unx/headless/svppspgraphics.cxx | 2 +- vcl/unx/headless/svppspgraphics.hxx | 2 +- vcl/unx/inc/pspgraphics.h | 2 +- vcl/unx/inc/salgdi.h | 2 +- vcl/unx/source/gdi/pspgraphics.cxx | 2 +- vcl/unx/source/gdi/salgdi.cxx | 8 ++++---- vcl/win/inc/salgdi.h | 2 +- vcl/win/source/gdi/salgdi_gdiplus.cxx | 5 +++-- 18 files changed, 56 insertions(+), 38 deletions(-) diff --git a/vcl/aqua/inc/salgdi.h b/vcl/aqua/inc/salgdi.h index d83067cb64b8..44e5aebfd8af 100644 --- a/vcl/aqua/inc/salgdi.h +++ b/vcl/aqua/inc/salgdi.h @@ -191,7 +191,7 @@ public: virtual sal_Bool drawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolygonBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolyPolygonBezier( ULONG nPoly, const ULONG* pPoints, const SalPoint* const* pPtAry, const BYTE* const* pFlgAry ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ); // CopyArea --> No RasterOp, but ClipRegion virtual void copyArea( long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth, diff --git a/vcl/aqua/source/gdi/salgdi.cxx b/vcl/aqua/source/gdi/salgdi.cxx index 5b1e24befc9b..8a4744d1efcd 100644 --- a/vcl/aqua/source/gdi/salgdi.cxx +++ b/vcl/aqua/source/gdi/salgdi.cxx @@ -988,6 +988,7 @@ bool AquaSalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rPolyPol // ----------------------------------------------------------------------- bool AquaSalGraphics::drawPolyLine( const ::basegfx::B2DPolygon& rPolyLine, + double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin eLineJoin ) { @@ -1032,6 +1033,7 @@ bool AquaSalGraphics::drawPolyLine( const ::basegfx::B2DPolygon& rPolyLine, CGContextAddPath( mrContext, xPath ); // draw path with antialiased line CGContextSetShouldAntialias( mrContext, true ); + CGContextSetAlpha( mrContext, 1.0 - fTransparency ); CGContextSetLineJoin( mrContext, aCGLineJoin ); CGContextSetLineWidth( mrContext, rLineWidths.getX() ); CGContextDrawPath( mrContext, kCGPathStroke ); diff --git a/vcl/inc/vcl/salgdi.hxx b/vcl/inc/vcl/salgdi.hxx index 02e9efbc0f94..bec267d444ec 100644 --- a/vcl/inc/vcl/salgdi.hxx +++ b/vcl/inc/vcl/salgdi.hxx @@ -125,7 +125,7 @@ protected: virtual void drawPolygon( ULONG nPoints, const SalPoint* pPtAry ) = 0; virtual void drawPolyPolygon( sal_uInt32 nPoly, const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ) = 0; virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ) = 0; - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ) = 0; + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ) = 0; virtual sal_Bool drawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ) = 0; virtual sal_Bool drawPolygonBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ) = 0; virtual sal_Bool drawPolyPolygonBezier( sal_uInt32 nPoly, const sal_uInt32* pPoints, const SalPoint* const* pPtAry, const BYTE* const* pFlgAry ) = 0; @@ -373,7 +373,7 @@ public: PCONSTSALPOINT* pPtAry, const OutputDevice *pOutDev ); bool DrawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency, const OutputDevice* ); - bool DrawPolyLine( const basegfx::B2DPolygon&, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin, const OutputDevice* ); + bool DrawPolyLine( const basegfx::B2DPolygon&, double fTransparency, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin, const OutputDevice* ); sal_Bool DrawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry, diff --git a/vcl/os2/inc/salgdi.h b/vcl/os2/inc/salgdi.h index ce486084a5b1..b024262b1cac 100644 --- a/vcl/os2/inc/salgdi.h +++ b/vcl/os2/inc/salgdi.h @@ -162,7 +162,7 @@ protected: virtual void drawPolygon( ULONG nPoints, const SalPoint* pPtAry ); virtual void drawPolyPolygon( ULONG nPoly, const ULONG* pPoints, PCONSTSALPOINT* pPtAry ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin ); virtual sal_Bool drawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolygonBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolyPolygonBezier( ULONG nPoly, const ULONG* pPoints, const SalPoint* const* pPtAry, const BYTE* const* pFlgAry ); diff --git a/vcl/os2/source/gdi/salgdi.cxx b/vcl/os2/source/gdi/salgdi.cxx index 5be40355f731..dff1557170fb 100644 --- a/vcl/os2/source/gdi/salgdi.cxx +++ b/vcl/os2/source/gdi/salgdi.cxx @@ -670,6 +670,7 @@ bool Os2SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double / bool Os2SalGraphics::drawPolyLine( const basegfx::B2DPolygon& /*rPolygon*/, + double /*fTransparency*/, const basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eLineJoin*/) { diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx index 62be0130e068..029db78d0473 100644 --- a/vcl/source/gdi/outdev.cxx +++ b/vcl/source/gdi/outdev.cxx @@ -2311,7 +2311,7 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt ) aB2DPolyLine = basegfx::tools::snapPointsOfHorizontalOrVerticalEdges(aB2DPolyLine); } - if(mpGraphics->DrawPolyLine(aB2DPolyLine, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this)) + if( mpGraphics->DrawPolyLine( aB2DPolyLine, 0.0, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this)) { return; } @@ -2406,7 +2406,7 @@ void OutputDevice::impPaintLineGeometryWithEvtlExpand( if(bTryAA) { - bDone = mpGraphics->DrawPolyLine(aCandidate, basegfx::B2DVector(1.0, 1.0), basegfx::B2DLINEJOIN_NONE, this); + bDone = mpGraphics->DrawPolyLine( aCandidate, 0.0, basegfx::B2DVector(1.0,1.0), basegfx::B2DLINEJOIN_NONE, this); } if(!bDone) @@ -2595,7 +2595,7 @@ void OutputDevice::DrawPolyLine( const Polygon& rPoly ) aB2DPolyLine = basegfx::tools::snapPointsOfHorizontalOrVerticalEdges(aB2DPolyLine); } - if(mpGraphics->DrawPolyLine(aB2DPolyLine, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this)) + if(mpGraphics->DrawPolyLine( aB2DPolyLine, 0.0, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this)) { return; } @@ -2643,7 +2643,7 @@ void OutputDevice::DrawPolyLine( const Polygon& rPoly, const LineInfo& rLineInfo if((mnAntialiasing & ANTIALIASING_ENABLE_B2DDRAW) && LINE_SOLID == rLineInfo.GetStyle()) { - DrawPolyLine(rPoly.getB2DPolygon(), (double)rLineInfo.GetWidth(), rLineInfo.GetLineJoin()); + DrawPolyLine( rPoly.getB2DPolygon(), (double)rLineInfo.GetWidth(), rLineInfo.GetLineJoin()); return; } @@ -2775,7 +2775,7 @@ void OutputDevice::DrawPolygon( const Polygon& rPoly ) aB2DPolygon = basegfx::tools::snapPointsOfHorizontalOrVerticalEdges(aB2DPolygon); } - bSuccess = mpGraphics->DrawPolyLine(aB2DPolygon, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); + bSuccess = mpGraphics->DrawPolyLine( aB2DPolygon, 0.0, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); } if(bSuccess) @@ -2867,7 +2867,7 @@ void OutputDevice::DrawPolyPolygon( const PolyPolygon& rPolyPoly ) for(sal_uInt32 a(0); bSuccess && a < aB2DPolyPolygon.count(); a++) { - bSuccess = mpGraphics->DrawPolyLine(aB2DPolyPolygon.getB2DPolygon(a), aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); + bSuccess = mpGraphics->DrawPolyLine( aB2DPolyPolygon.getB2DPolygon(a), 0.0, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); } } @@ -2990,7 +2990,7 @@ void OutputDevice::ImpDrawPolyPolygonWithB2DPolyPolygon(const basegfx::B2DPolyPo for(sal_uInt32 a(0);bSuccess && a < aB2DPolyPolygon.count(); a++) { - bSuccess = mpGraphics->DrawPolyLine(aB2DPolyPolygon.getB2DPolygon(a), aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); + bSuccess = mpGraphics->DrawPolyLine( aB2DPolyPolygon.getB2DPolygon(a), 0.0, aB2DLineWidth, basegfx::B2DLINEJOIN_NONE, this); } } @@ -3037,7 +3037,7 @@ bool OutputDevice::ImpTryDrawPolyLineDirect( } // draw the polyline - return mpGraphics->DrawPolyLine(aB2DPolygon, aB2DLineWidth, eLineJoin, this); + return mpGraphics->DrawPolyLine( aB2DPolygon, 0.0, aB2DLineWidth, eLineJoin, this); } void OutputDevice::DrawPolyLine( diff --git a/vcl/source/gdi/outdev6.cxx b/vcl/source/gdi/outdev6.cxx index bef37284adbd..cd41a1c02f24 100644 --- a/vcl/source/gdi/outdev6.cxx +++ b/vcl/source/gdi/outdev6.cxx @@ -184,18 +184,31 @@ void OutputDevice::DrawTransparent( const basegfx::B2DPolyPolygon& rB2DPolyPoly, if((mnAntialiasing & ANTIALIASING_ENABLE_B2DDRAW) && mpGraphics->supportsOperation(OutDevSupport_B2DDraw) - && ROP_OVERPAINT == GetRasterOp() - && IsFillColor()) + && ROP_OVERPAINT == GetRasterOp() ) { // b2dpolygon support not implemented yet on non-UNX platforms const ::basegfx::B2DHomMatrix aTransform = ImplGetDeviceTransformation(); basegfx::B2DPolyPolygon aB2DPolyPolygon(rB2DPolyPoly); - // transform the polygon and ensure closed - aB2DPolyPolygon.transform(aTransform); - aB2DPolyPolygon.setClosed(true); + // transform the polygon into device space and ensure it is closed + aB2DPolyPolygon.transform( aTransform ); + aB2DPolyPolygon.setClosed( true ); + + bool bDrawnOk = true; + if( IsFillColor() ) + bDrawnOk = mpGraphics->DrawPolyPolygon( aB2DPolyPolygon, fTransparency, this ); + if( bDrawnOk && IsLineColor() ) + { + const basegfx::B2DVector aHairlineWidth(1,1); + const int nPolyCount = aB2DPolyPolygon.count(); + for( int nPolyIdx = 0; nPolyIdx < nPolyCount; ++nPolyIdx ) + { + const ::basegfx::B2DPolygon aOnePoly = aB2DPolyPolygon.getB2DPolygon( nPolyIdx ); + mpGraphics->DrawPolyLine( aOnePoly, fTransparency, aHairlineWidth, ::basegfx::B2DLINEJOIN_NONE, this ); + } + } - if(mpGraphics->DrawPolyPolygon(aB2DPolyPolygon, fTransparency, this)) + if( bDrawnOk ) { #if 0 // MetaB2DPolyPolygonAction is not implemented yet: @@ -292,9 +305,9 @@ void OutputDevice::DrawTransparent( const PolyPolygon& rPolyPoly, aB2DPolyPolygon.transform( aTransform ); // draw the transparent polygon - bDrawn = mpGraphics->DrawPolyPolygon( aB2DPolyPolygon, nTransparencePercent*0.01, this ); + const double fTransparency = 0.01 * nTransparencePercent; + bDrawn = mpGraphics->DrawPolyPolygon( aB2DPolyPolygon, fTransparency, this ); - // DrawTransparent() assumes that the border is NOT to be drawn transparently??? if( mbLineColor ) { // disable the fill color for now @@ -305,7 +318,7 @@ void OutputDevice::DrawTransparent( const PolyPolygon& rPolyPoly, for( int nPolyIdx = 0; nPolyIdx < nPolyCount; ++nPolyIdx ) { const ::basegfx::B2DPolygon& rPolygon = aB2DPolyPolygon.getB2DPolygon( nPolyIdx ); - mpGraphics->DrawPolyLine( rPolygon, aLineWidths, ::basegfx::B2DLINEJOIN_NONE, this ); + /*bDrawn =*/ mpGraphics->DrawPolyLine( rPolygon, fTransparency, aLineWidths, ::basegfx::B2DLINEJOIN_NONE, this ); } // prepare to restore the fill color mbInitFillColor = mbFillColor; diff --git a/vcl/source/gdi/salgdilayout.cxx b/vcl/source/gdi/salgdilayout.cxx index 55d6f7bdd892..d2cf647ce0ca 100644 --- a/vcl/source/gdi/salgdilayout.cxx +++ b/vcl/source/gdi/salgdilayout.cxx @@ -405,6 +405,7 @@ void SalGraphics::DrawRect( long nX, long nY, long nWidth, long nHeight, cons } bool SalGraphics::drawPolyLine( const basegfx::B2DPolygon& /*rPolyPolygon*/, + double /*fTransparency*/, const basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eLineJoin*/) { @@ -536,7 +537,7 @@ sal_Bool SalGraphics::DrawPolyPolygonBezier( sal_uInt32 i_nPoly, const sal_uInt3 return bRet; } -bool SalGraphics::DrawPolyLine( const ::basegfx::B2DPolygon& i_rPolygon, +bool SalGraphics::DrawPolyLine( const ::basegfx::B2DPolygon& i_rPolygon, double fTransparency, const ::basegfx::B2DVector& i_rLineWidth, basegfx::B2DLineJoin i_eLineJoin, const OutputDevice* i_pOutDev ) { @@ -544,10 +545,10 @@ bool SalGraphics::DrawPolyLine( const ::basegfx::B2DPolygon& i_rPolygon, if( (m_nLayout & SAL_LAYOUT_BIDI_RTL) ) { basegfx::B2DPolygon aMirror( mirror( i_rPolygon, i_pOutDev ) ); - bRet = drawPolyLine( aMirror, i_rLineWidth, i_eLineJoin ); + bRet = drawPolyLine( aMirror, fTransparency, i_rLineWidth, i_eLineJoin ); } else - bRet = drawPolyLine( i_rPolygon, i_rLineWidth, i_eLineJoin ); + bRet = drawPolyLine( i_rPolygon, fTransparency, i_rLineWidth, i_eLineJoin ); return bRet; } diff --git a/vcl/unx/headless/svpgdi.cxx b/vcl/unx/headless/svpgdi.cxx index e65c9faf1432..68d8be7cb4eb 100644 --- a/vcl/unx/headless/svpgdi.cxx +++ b/vcl/unx/headless/svpgdi.cxx @@ -382,7 +382,7 @@ void SvpSalGraphics::drawPolyPolygon( sal_uInt32 nPoly, dbgOut( m_aDevice ); } -bool SvpSalGraphics::drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/ ) +bool SvpSalGraphics::drawPolyLine( const ::basegfx::B2DPolygon&, double /*fTransparency*/, const ::basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/ ) { // TODO: implement and advertise OutDevSupport_B2DDraw support return false; diff --git a/vcl/unx/headless/svpgdi.hxx b/vcl/unx/headless/svpgdi.hxx index 132dafaa9adf..ca1af87f8862 100644 --- a/vcl/unx/headless/svpgdi.hxx +++ b/vcl/unx/headless/svpgdi.hxx @@ -121,7 +121,7 @@ public: virtual void drawLine( long nX1, long nY1, long nX2, long nY2 ); virtual void drawRect( long nX, long nY, long nWidth, long nHeight ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ); virtual void drawPolyLine( ULONG nPoints, const SalPoint* pPtAry ); virtual void drawPolygon( ULONG nPoints, const SalPoint* pPtAry ); virtual void drawPolyPolygon( sal_uInt32 nPoly, diff --git a/vcl/unx/headless/svppspgraphics.cxx b/vcl/unx/headless/svppspgraphics.cxx index 7f551051c1a7..6da09b38023c 100644 --- a/vcl/unx/headless/svppspgraphics.cxx +++ b/vcl/unx/headless/svppspgraphics.cxx @@ -323,7 +323,7 @@ void PspGraphics::drawPolyPolygon( sal_uInt32 nPoly, m_pPrinterGfx->DrawPolyPolygon (nPoly, pPoints, (const Point**)pPtAry); } -bool PspGraphics::drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/ ) +bool PspGraphics::drawPolyLine( const ::basegfx::B2DPolygon&, double /*fTransparency*/, const ::basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/ ) { // TODO: implement and advertise OutDevSupport_B2DDraw support return false; diff --git a/vcl/unx/headless/svppspgraphics.hxx b/vcl/unx/headless/svppspgraphics.hxx index 82ba613615cb..063dff34c3c2 100644 --- a/vcl/unx/headless/svppspgraphics.hxx +++ b/vcl/unx/headless/svppspgraphics.hxx @@ -142,7 +142,7 @@ public: virtual void drawPolyLine( ULONG nPoints, const SalPoint* pPtAry ); virtual void drawPolygon( ULONG nPoints, const SalPoint* pPtAry ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin ); virtual void drawPolyPolygon( sal_uInt32 nPoly, const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ); diff --git a/vcl/unx/inc/pspgraphics.h b/vcl/unx/inc/pspgraphics.h index 2eae73cdaa86..4b1ac12116a3 100644 --- a/vcl/unx/inc/pspgraphics.h +++ b/vcl/unx/inc/pspgraphics.h @@ -142,7 +142,7 @@ public: const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const basegfx::B2DPolygon&, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin); + virtual bool drawPolyLine( const basegfx::B2DPolygon&, double fTransparency, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin); virtual sal_Bool drawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); diff --git a/vcl/unx/inc/salgdi.h b/vcl/unx/inc/salgdi.h index 6ccea2c4a00c..42d9c5592317 100644 --- a/vcl/unx/inc/salgdi.h +++ b/vcl/unx/inc/salgdi.h @@ -294,7 +294,7 @@ public: const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin ); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin ); virtual bool drawFilledTrapezoids( const ::basegfx::B2DTrapezoid*, int nTrapCount, double fTransparency ); #if 1 // TODO: remove these obselete methods diff --git a/vcl/unx/source/gdi/pspgraphics.cxx b/vcl/unx/source/gdi/pspgraphics.cxx index d599e09e71f2..d3eb103b9dd6 100644 --- a/vcl/unx/source/gdi/pspgraphics.cxx +++ b/vcl/unx/source/gdi/pspgraphics.cxx @@ -403,7 +403,7 @@ bool PspGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double /*fT return false; } -bool PspGraphics::drawPolyLine( const basegfx::B2DPolygon&, const basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/) +bool PspGraphics::drawPolyLine( const basegfx::B2DPolygon&, double /*fTranspareny*/, const basegfx::B2DVector& /*rLineWidths*/, basegfx::B2DLineJoin /*eJoin*/) { // TODO: a PS printer can draw B2DPolyLines almost directly return false; diff --git a/vcl/unx/source/gdi/salgdi.cxx b/vcl/unx/source/gdi/salgdi.cxx index 15e391256344..ae21c3aa9f7b 100644 --- a/vcl/unx/source/gdi/salgdi.cxx +++ b/vcl/unx/source/gdi/salgdi.cxx @@ -1089,7 +1089,7 @@ SystemGraphicsData X11SalGraphics::GetGraphicsData() const // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // draw a poly-polygon -bool X11SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rOrigPolyPoly, double fTransparency) +bool X11SalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rOrigPolyPoly, double fTransparency ) { // nothing to do for empty polypolygons const int nOrigPolyCount = rOrigPolyPoly.count(); @@ -1203,7 +1203,7 @@ bool X11SalGraphics::drawFilledTrapezoids( const ::basegfx::B2DTrapezoid* pB2DTr // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -bool X11SalGraphics::drawPolyLine(const ::basegfx::B2DPolygon& rPolygon, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin eLineJoin) +bool X11SalGraphics::drawPolyLine(const ::basegfx::B2DPolygon& rPolygon, double fTransparency, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin eLineJoin) { const bool bIsHairline = (rLineWidth.getX() == rLineWidth.getY()) && (rLineWidth.getX() <= 1.2); @@ -1239,7 +1239,7 @@ bool X11SalGraphics::drawPolyLine(const ::basegfx::B2DPolygon& rPolygon, const : // draw tesselation result const int nTrapCount = aB2DTrapVector.size(); - const bool bDrawOk = drawFilledTrapezoids( &aB2DTrapVector[0], nTrapCount, 0.0 ); + const bool bDrawOk = drawFilledTrapezoids( &aB2DTrapVector[0], nTrapCount, fTransparency ); // restore the original brush GC nBrushColor_ = aKeepBrushColor; @@ -1271,7 +1271,7 @@ bool X11SalGraphics::drawPolyLine(const ::basegfx::B2DPolygon& rPolygon, const : for( int nPolyIdx = 0; nPolyIdx < nPolyCount; ++nPolyIdx ) { const ::basegfx::B2DPolyPolygon aOnePoly( aAreaPolyPoly.getB2DPolygon( nPolyIdx ) ); - bDrawOk = drawPolyPolygon( aOnePoly, 0.0 ); + bDrawOk = drawPolyPolygon( aOnePoly, fTransparency ); if( !bDrawOk ) break; } diff --git a/vcl/win/inc/salgdi.h b/vcl/win/inc/salgdi.h index 6b58e0c5375a..a88f597c196f 100644 --- a/vcl/win/inc/salgdi.h +++ b/vcl/win/inc/salgdi.h @@ -194,7 +194,7 @@ protected: virtual void drawPolygon( ULONG nPoints, const SalPoint* pPtAry ); virtual void drawPolyPolygon( sal_uInt32 nPoly, const sal_uInt32* pPoints, PCONSTSALPOINT* pPtAry ); virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency ); - virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin); + virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidth, basegfx::B2DLineJoin ); virtual sal_Bool drawPolyLineBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolygonBezier( ULONG nPoints, const SalPoint* pPtAry, const BYTE* pFlgAry ); virtual sal_Bool drawPolyPolygonBezier( sal_uInt32 nPoly, const sal_uInt32* pPoints, const SalPoint* const* pPtAry, const BYTE* const* pFlgAry ); diff --git a/vcl/win/source/gdi/salgdi_gdiplus.cxx b/vcl/win/source/gdi/salgdi_gdiplus.cxx index c621d81dce40..88efbb29d30a 100644 --- a/vcl/win/source/gdi/salgdi_gdiplus.cxx +++ b/vcl/win/source/gdi/salgdi_gdiplus.cxx @@ -189,14 +189,15 @@ bool WinSalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon& rPolyPoly return true; } -bool WinSalGraphics::drawPolyLine(const basegfx::B2DPolygon& rPolygon, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin eLineJoin) +bool WinSalGraphics::drawPolyLine( const basegfx::B2DPolygon& rPolygon, double fTransparency, const basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin eLineJoin ) { const sal_uInt32 nCount(rPolygon.count()); if(mbPen && nCount) { Gdiplus::Graphics aGraphics(mhDC); - Gdiplus::Color aTestColor(255, SALCOLOR_RED(maLineColor), SALCOLOR_GREEN(maLineColor), SALCOLOR_BLUE(maLineColor)); + const sal_uInt8 aTrans = (sal_uInt8)basegfx::fround( 255 * (1.0 - fTransparency) ); + Gdiplus::Color aTestColor(aTrans, SALCOLOR_RED(maLineColor), SALCOLOR_GREEN(maLineColor), SALCOLOR_BLUE(maLineColor)); Gdiplus::Pen aTestPen(aTestColor, Gdiplus::REAL(rLineWidths.getX())); Gdiplus::GraphicsPath aPath; bool bNoLineJoin(false); -- cgit From ddce8641531692de3174e290e9957372f5c0eebb Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Wed, 2 Jun 2010 15:41:00 +0200 Subject: consolidatereadme: #i111721# parse new readme format --- l10ntools/source/merge.cxx | 3 ++- l10ntools/source/xrmlex.l | 55 ++++++++++++++++++++++--------------------- l10ntools/source/xrmmerge.cxx | 23 ++++++++++++++---- 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/l10ntools/source/merge.cxx b/l10ntools/source/merge.cxx index 3284b7026107..f5e7e097eb7d 100644 --- a/l10ntools/source/merge.cxx +++ b/l10ntools/source/merge.cxx @@ -335,7 +335,7 @@ MergeData *MergeDataFile::GetMergeData( ResData *pResData , bool bCaseSensitive sLID = pResData->sId; pResData->sGId = sGID; pResData->sId = sLID; - + //printf("MergeData:: Search gid=%s lid=%s filename=%s \n", pResData->sGId.GetBuffer(),pResData->sId.GetBuffer(),pResData->sFilename.GetBuffer() ); ByteString sKey = CreateKey( pResData->sResTyp , pResData->sGId , pResData->sId , pResData->sFilename , bCaseSensitive ); //printf("DBG: Searching [%s]\n",sKey.GetBuffer()); @@ -345,6 +345,7 @@ MergeData *MergeDataFile::GetMergeData( ResData *pResData , bool bCaseSensitive //printf("DBG: Found[%s]\n",sKey.GetBuffer()); return aMap[ sKey ]; } + //Dump(); pResData->sGId = sOldG; pResData->sId = sOldL; //printf("DBG: Found[%s]\n",sKey.GetBuffer()); diff --git a/l10ntools/source/xrmlex.l b/l10ntools/source/xrmlex.l index c28aede4c6c1..4770a851c741 100644 --- a/l10ntools/source/xrmlex.l +++ b/l10ntools/source/xrmlex.l @@ -55,54 +55,55 @@ int bText=0; %% -"]*\> { - WorkOnTokenSet( XRM_README_START, yytext ); +"

    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { - WorkOnTokenSet( XRM_README_END, yytext ); +"

    " { + WorkOnTokenSet( XRM_TEXT_END, yytext ); } -"]*\> { - WorkOnTokenSet( XRM_README_START, yytext ); +"

    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { - WorkOnTokenSet( XRM_README_END, yytext ); +"

    " { + WorkOnTokenSet( XRM_TEXT_END, yytext ); } - -"]*\> { - WorkOnTokenSet( XRM_SECTION_START, yytext ); +"

    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { - WorkOnTokenSet( XRM_SECTION_END, yytext ); +"

    " { + WorkOnTokenSet( XRM_TEXT_END, yytext ); } - -"]*\> { - WorkOnTokenSet( XRM_PARAGRAPH_START, yytext ); +"

    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { - WorkOnTokenSet( XRM_PARAGRAPH_END, yytext ); +"

    " { + WorkOnTokenSet( XRM_TEXT_END, yytext ); } - -"]*\> { - WorkOnTokenSet( XRM_TEXT_START, yytext ); +"

    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { +"

    " { WorkOnTokenSet( XRM_TEXT_END, yytext ); } - -"]*\> { - WorkOnTokenSet( XRM_LIST_START, yytext ); +"
    ]*xml:lang[^\>]*\> { + WorkOnTokenSet( XRM_TEXT_START , yytext ); } -"" { - WorkOnTokenSet( XRM_LIST_END, yytext ); +"
    " { + WorkOnTokenSet( XRM_TEXT_END, yytext ); } + + + + + " OD 2008-06-05 #i89181# HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, // <-- - HANDLE_MODIFYPASSWORDHASH }; MasterPropertySetInfo * lcl_createSettingsInfo() @@ -178,7 +177,6 @@ MasterPropertySetInfo * lcl_createSettingsInfo() { RTL_CONSTASCII_STRINGPARAM("ProtectForm"), HANDLE_PROTECT_FORM, CPPUTYPE_BOOLEAN, 0, 0}, // --> OD 2008-06-05 #i89181# { RTL_CONSTASCII_STRINGPARAM("TabAtLeftIndentForParagraphsInList"), HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST, CPPUTYPE_BOOLEAN, 0, 0}, - { RTL_CONSTASCII_STRINGPARAM("ModifyPasswordHash"), HANDLE_MODIFYPASSWORDHASH, CPPUTYPE_INT32, 0, 0}, /* * As OS said, we don't have a view when we need to set this, so I have to @@ -673,21 +671,6 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf } break; // <-- - case HANDLE_MODIFYPASSWORDHASH: - { - sal_Int32 nHash = 0; - if ( !( rValue >>= nHash ) || nHash < 0 || nHash > SAL_MAX_UINT16 ) - throw lang::IllegalArgumentException( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value of type INT32, representing UINT16 expected!" ) ), - uno::Reference< uno::XInterface >(), - 2 ); - - if ( !mpDocSh->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) - throw beans::PropertyVetoException( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), - uno::Reference< uno::XInterface >() ); - } - break; default: throw UnknownPropertyException(); } @@ -1015,11 +998,6 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf } break; // <-- - case HANDLE_MODIFYPASSWORDHASH: - { - rValue <<= static_cast< sal_Int32 >( mpDocSh->GetModifyPasswordHash() ); - } - break; default: throw UnknownPropertyException(); -- cgit From b6e1fdef1f74ddc7355db66b089c56ed61aee1c4 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 3 Jun 2010 00:10:45 +0200 Subject: tl78: #i110383# password to modify support for binary types only --- sc/inc/unonames.hxx | 1 - sc/source/ui/unoobj/confuno.cxx | 17 ----------------- 2 files changed, 18 deletions(-) diff --git a/sc/inc/unonames.hxx b/sc/inc/unonames.hxx index 1656299c3efb..f5de35c9d033 100644 --- a/sc/inc/unonames.hxx +++ b/sc/inc/unonames.hxx @@ -610,7 +610,6 @@ // --> PB 2004-08-23 #i33095# Security Options #define SC_UNO_LOADREADONLY "LoadReadonly" // <-- -#define SC_UNO_MODIFYPASSWORDHASH "ModifyPasswordHash" // FormulaParser #define SC_UNO_COMPILEENGLISH "CompileEnglish" diff --git a/sc/source/ui/unoobj/confuno.cxx b/sc/source/ui/unoobj/confuno.cxx index 90f3b1ce2781..dd8f15359559 100644 --- a/sc/source/ui/unoobj/confuno.cxx +++ b/sc/source/ui/unoobj/confuno.cxx @@ -88,7 +88,6 @@ const SfxItemPropertyMapEntry* lcl_GetConfigPropertyMap() {MAP_CHAR_LEN(SC_UNO_LOADREADONLY), 0, &getBooleanCppuType(), 0, 0}, // <-- {MAP_CHAR_LEN(SC_UNO_SHAREDOC), 0, &getBooleanCppuType(), 0, 0}, - {MAP_CHAR_LEN(SC_UNO_MODIFYPASSWORDHASH), 0, &getCppuType((sal_Int32*)0), 0, 0}, {0,0,0,0,0,0} }; return aConfigPropertyMap_Impl; @@ -275,20 +274,6 @@ void SAL_CALL ScDocumentConfiguration::setPropertyValue( pDocShell->SetSharedXMLFlag( bDocShared ); } } - else if ( aPropertyName.compareToAscii( SC_UNO_MODIFYPASSWORDHASH ) == 0 ) - { - sal_Int32 nHash = 0; - if ( !( aValue >>= nHash ) || nHash < 0 || nHash > SAL_MAX_UINT16 ) - throw lang::IllegalArgumentException( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value of type INT32, representing UINT16 expected!" ) ), - uno::Reference< uno::XInterface >(), - 2 ); - - if ( !pDocShell->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) - throw beans::PropertyVetoException( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), - uno::Reference< uno::XInterface >() ); - } else { ScGridOptions aGridOpt(aViewOpt.GetGridOptions()); @@ -422,8 +407,6 @@ uno::Any SAL_CALL ScDocumentConfiguration::getPropertyValue( const rtl::OUString { ScUnoHelpFunctions::SetBoolInAny( aRet, pDocShell->HasSharedXMLFlagSet() ); } - else if ( aPropertyName.compareToAscii( SC_UNO_MODIFYPASSWORDHASH ) == 0 ) - aRet <<= static_cast< sal_Int32 >( pDocShell->GetModifyPasswordHash() ); else { const ScGridOptions& aGridOpt = aViewOpt.GetGridOptions(); -- cgit From 1a842832cd174d5ccfd832fdb94c93ae42e8eacc Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 3 Jun 2010 00:10:45 +0200 Subject: tl78: #i110383# password to modify support for binary types only --- filter/source/config/fragments/filters/calc8.xcu | 2 +- filter/source/config/fragments/filters/calc8_template.xcu | 2 +- filter/source/config/fragments/filters/chart8.xcu | 2 +- filter/source/config/fragments/filters/draw8.xcu | 2 +- filter/source/config/fragments/filters/draw8_template.xcu | 2 +- filter/source/config/fragments/filters/impress8.xcu | 2 +- filter/source/config/fragments/filters/impress8_draw.xcu | 2 +- filter/source/config/fragments/filters/impress8_template.xcu | 2 +- filter/source/config/fragments/filters/writer8.xcu | 2 +- filter/source/config/fragments/filters/writer8_template.xcu | 2 +- filter/source/config/fragments/filters/writerglobal8.xcu | 2 +- filter/source/config/fragments/filters/writerglobal8_writer.xcu | 2 +- filter/source/config/fragments/filters/writerweb8_writer.xcu | 2 +- filter/source/config/fragments/filters/writerweb8_writer_template.xcu | 2 +- oox/source/xls/workbooksettings.cxx | 4 ++-- 15 files changed, 16 insertions(+), 16 deletions(-) diff --git a/filter/source/config/fragments/filters/calc8.xcu b/filter/source/config/fragments/filters/calc8.xcu index 1c77a96ad887..92a47f40cdf1 100644 --- a/filter/source/config/fragments/filters/calc8.xcu +++ b/filter/source/config/fragments/filters/calc8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN DEFAULT ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN DEFAULT ENCRYPTION diff --git a/filter/source/config/fragments/filters/calc8_template.xcu b/filter/source/config/fragments/filters/calc8_template.xcu index 5b5c1d5c3d56..44ab809fef6f 100644 --- a/filter/source/config/fragments/filters/calc8_template.xcu +++ b/filter/source/config/fragments/filters/calc8_template.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION diff --git a/filter/source/config/fragments/filters/chart8.xcu b/filter/source/config/fragments/filters/chart8.xcu index fb16db28b413..c3700acfeb65 100644 --- a/filter/source/config/fragments/filters/chart8.xcu +++ b/filter/source/config/fragments/filters/chart8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT OWN DEFAULT NOTINFILEDIALOG NOTINCHOOSER ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT OWN DEFAULT NOTINFILEDIALOG NOTINCHOOSER ENCRYPTION com.sun.star.comp.chart2.XMLFilter XML diff --git a/filter/source/config/fragments/filters/draw8.xcu b/filter/source/config/fragments/filters/draw8.xcu index 4fc51576583c..6a1df34e4af3 100644 --- a/filter/source/config/fragments/filters/draw8.xcu +++ b/filter/source/config/fragments/filters/draw8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION XML diff --git a/filter/source/config/fragments/filters/draw8_template.xcu b/filter/source/config/fragments/filters/draw8_template.xcu index 05bfca6f3fcc..3f42e65f5853 100644 --- a/filter/source/config/fragments/filters/draw8_template.xcu +++ b/filter/source/config/fragments/filters/draw8_template.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION CXMLV diff --git a/filter/source/config/fragments/filters/impress8.xcu b/filter/source/config/fragments/filters/impress8.xcu index b1982dac3483..099bce62d3c5 100644 --- a/filter/source/config/fragments/filters/impress8.xcu +++ b/filter/source/config/fragments/filters/impress8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION XML diff --git a/filter/source/config/fragments/filters/impress8_draw.xcu b/filter/source/config/fragments/filters/impress8_draw.xcu index cb1932139879..5781c2a3e709 100644 --- a/filter/source/config/fragments/filters/impress8_draw.xcu +++ b/filter/source/config/fragments/filters/impress8_draw.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN ENCRYPTION XML diff --git a/filter/source/config/fragments/filters/impress8_template.xcu b/filter/source/config/fragments/filters/impress8_template.xcu index 29aaea6607e1..891f8f86b0c4 100644 --- a/filter/source/config/fragments/filters/impress8_template.xcu +++ b/filter/source/config/fragments/filters/impress8_template.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION CXMLV diff --git a/filter/source/config/fragments/filters/writer8.xcu b/filter/source/config/fragments/filters/writer8.xcu index bcfd55640e79..f38d10895770 100644 --- a/filter/source/config/fragments/filters/writer8.xcu +++ b/filter/source/config/fragments/filters/writer8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN DEFAULT PREFERRED ENCRYPTION CXML diff --git a/filter/source/config/fragments/filters/writer8_template.xcu b/filter/source/config/fragments/filters/writer8_template.xcu index 34ee8055113c..9d93b358ba7c 100644 --- a/filter/source/config/fragments/filters/writer8_template.xcu +++ b/filter/source/config/fragments/filters/writer8_template.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION CXMLV diff --git a/filter/source/config/fragments/filters/writerglobal8.xcu b/filter/source/config/fragments/filters/writerglobal8.xcu index df5fcb7e6d1b..816a5d25bf6d 100644 --- a/filter/source/config/fragments/filters/writerglobal8.xcu +++ b/filter/source/config/fragments/filters/writerglobal8.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE OWN PREFERRED ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE OWN PREFERRED ENCRYPTION CXML diff --git a/filter/source/config/fragments/filters/writerglobal8_writer.xcu b/filter/source/config/fragments/filters/writerglobal8_writer.xcu index ca3794de493b..9dbf61359cd8 100644 --- a/filter/source/config/fragments/filters/writerglobal8_writer.xcu +++ b/filter/source/config/fragments/filters/writerglobal8_writer.xcu @@ -1,5 +1,5 @@ - EXPORT TEMPLATE DEFAULT ENCRYPTION PASSWORDTOMODIFY + EXPORT TEMPLATE DEFAULT ENCRYPTION CXML diff --git a/filter/source/config/fragments/filters/writerweb8_writer.xcu b/filter/source/config/fragments/filters/writerweb8_writer.xcu index a3fbc783e92a..dd1cdb34ce52 100644 --- a/filter/source/config/fragments/filters/writerweb8_writer.xcu +++ b/filter/source/config/fragments/filters/writerweb8_writer.xcu @@ -1,5 +1,5 @@ - EXPORT TEMPLATE ENCRYPTION PASSWORDTOMODIFY + EXPORT TEMPLATE ENCRYPTION CXML diff --git a/filter/source/config/fragments/filters/writerweb8_writer_template.xcu b/filter/source/config/fragments/filters/writerweb8_writer_template.xcu index eb383eafaeeb..9aa29a118a75 100644 --- a/filter/source/config/fragments/filters/writerweb8_writer_template.xcu +++ b/filter/source/config/fragments/filters/writerweb8_writer_template.xcu @@ -1,5 +1,5 @@ - IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION PASSWORDTOMODIFY + IMPORT EXPORT TEMPLATE TEMPLATEPATH OWN ENCRYPTION CXMLVWEB diff --git a/oox/source/xls/workbooksettings.cxx b/oox/source/xls/workbooksettings.cxx index 2bb6461bba60..3a81b6fb5cab 100644 --- a/oox/source/xls/workbooksettings.cxx +++ b/oox/source/xls/workbooksettings.cxx @@ -307,8 +307,8 @@ void WorkbookSettings::finalizeImport() PropertySet aSettingsProp( xDocumentSettings ); if( maFileSharing.mbRecommendReadOnly ) aSettingsProp.setProperty( PROP_LoadReadonly, true ); - if( maFileSharing.mnPasswordHash != 0 ) - aSettingsProp.setProperty( PROP_ModifyPasswordHash, static_cast< sal_Int32 >( maFileSharing.mnPasswordHash ) ); +// if( maFileSharing.mnPasswordHash != 0 ) +// aSettingsProp.setProperty( PROP_ModifyPasswordHash, static_cast< sal_Int32 >( maFileSharing.mnPasswordHash ) ); } catch( Exception& ) { -- cgit From f165b2dae6e9133481da351586a4d5f14839fa4d Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Thu, 3 Jun 2010 00:10:45 +0200 Subject: tl78: #i110383# password to modify support for binary types only --- sd/source/ui/unoidl/UnoDocumentSettings.cxx | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/sd/source/ui/unoidl/UnoDocumentSettings.cxx b/sd/source/ui/unoidl/UnoDocumentSettings.cxx index aa41dfc54bb0..ed47e57b2130 100644 --- a/sd/source/ui/unoidl/UnoDocumentSettings.cxx +++ b/sd/source/ui/unoidl/UnoDocumentSettings.cxx @@ -152,7 +152,7 @@ enum SdDocumentSettingsPropertyHandles // --> PB 2004-08-23 #i33095# ,HANDLE_LOAD_READONLY, HANDLE_SAVE_VERSION // <-- - ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL, HANDLE_MODIFYPASSWORDHASH + ,HANDLE_SLIDESPERHANDOUT, HANDLE_HANDOUTHORIZONTAL }; #define MID_PRINTER 1 @@ -216,7 +216,6 @@ enum SdDocumentSettingsPropertyHandles { MAP_LEN("LoadReadonly"), HANDLE_LOAD_READONLY, &::getBooleanCppuType(), 0, 0 }, { MAP_LEN("SaveVersionOnClose"), HANDLE_SAVE_VERSION, &::getBooleanCppuType(), 0, 0 }, // <-- - { MAP_LEN("ModifyPasswordHash"), HANDLE_MODIFYPASSWORDHASH, &getCppuType((sal_Int32*)0), 0, 0 }, { NULL, 0, 0, NULL, 0, 0 } }; @@ -864,25 +863,6 @@ void DocumentSettings::_setPropertyValues( const PropertyMapEntry** ppEntries, c } break; - case HANDLE_MODIFYPASSWORDHASH: - { - sal_Int32 nHash = 0; - if ( ( *pValues >>= nHash ) && nHash >= 0 && nHash <= SAL_MAX_UINT16 ) - { - bChanged = ( pDocSh->GetModifyPasswordHash() != nHash ); - if ( bChanged ) - { - if ( !pDocSh->SetModifyPasswordHash( static_cast< sal_uInt16 >( nHash ) ) ) - throw beans::PropertyVetoException( - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "The hash is not allowed to be changed now!" ) ), - uno::Reference< uno::XInterface >() ); - } - - bOk = sal_True; - } - } - break; - default: throw UnknownPropertyException(); } @@ -1142,12 +1122,6 @@ void DocumentSettings::_getPropertyValues( const PropertyMapEntry** ppEntries, A } break; - case HANDLE_MODIFYPASSWORDHASH: - { - *pValue <<= static_cast< sal_Int32 >( pDocSh->GetModifyPasswordHash() ); - } - break; - default: throw UnknownPropertyException(); } -- cgit From fd9b819df8abb69c9c9f4f433bbf33eae4d55e9b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 08:01:54 +0200 Subject: vitomation01: #i109696 - VBA compat tests need to know if it is running in admin mode. Minor fixes --- testautomation/framework/optional/f_basic_vba-compat.bas | 1 + .../includes/basic_vba-compat_application-union.inc | 13 +++++++++++++ .../global/tools/includes/optional/t_user_info.inc | 12 +++++++----- 3 files changed, 21 insertions(+), 5 deletions(-) mode change 100644 => 100755 testautomation/global/tools/includes/optional/t_user_info.inc diff --git a/testautomation/framework/optional/f_basic_vba-compat.bas b/testautomation/framework/optional/f_basic_vba-compat.bas index 80b48eb5c1e6..7b96728c1580 100755 --- a/testautomation/framework/optional/f_basic_vba-compat.bas +++ b/testautomation/framework/optional/f_basic_vba-compat.bas @@ -64,6 +64,7 @@ sub LoadIncludeFiles use "global\tools\includes\optional\t_security_tools.inc" use "global\tools\includes\optional\t_macro_tools.inc" use "global\tools\includes\optional\t_docfuncs.inc" + use "global\tools\includes\optional\t_user_info.inc" use "framework\optional\includes\basic_vba_compat_tools.inc" diff --git a/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc b/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc index 222b99215f81..d9f421278514 100755 --- a/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc +++ b/testautomation/framework/optional/includes/basic_vba-compat_application-union.inc @@ -46,12 +46,25 @@ testcase tBasicVBACompatApplicationUnion() const RC_FAILURE = -1 dim macro_identifier( EXPECTED_MACRO_COUNT ) + + ' Find out whether we can write to the program directory or not. + ' If we can we get different values returned from the test functions + ' This is required for userland installations. + if( hCheckForAdministratorPermissions() ) then + macro_identifier( 1 ) = "1: False" + macro_identifier( 2 ) = "2: False" + macro_identifier( 3 ) = "3: False" + macro_identifier( 4 ) = "4: True" + macro_identifier( 5 ) = "5: False" + macro_identifier( 6 ) = "6: True" + else macro_identifier( 1 ) = "1: True" macro_identifier( 2 ) = "2: True" macro_identifier( 3 ) = "3: True" macro_identifier( 4 ) = "4: True" macro_identifier( 5 ) = "5: True" macro_identifier( 6 ) = "6: True" + endif dim cTestFile as string cTestFile = gTesttoolPath & "framework/optional/input/vba-compat/" & DOCUMENT_NAME diff --git a/testautomation/global/tools/includes/optional/t_user_info.inc b/testautomation/global/tools/includes/optional/t_user_info.inc old mode 100644 new mode 100755 index eed58aa7d530..7ad00b9e539e --- a/testautomation/global/tools/includes/optional/t_user_info.inc +++ b/testautomation/global/tools/includes/optional/t_user_info.inc @@ -34,7 +34,8 @@ function hCheckForAdministratorPermissions() as boolean ' this function returns TRUE if the user can create files in the office - ' program directory + ' program directory. This is relevant for macro security (VBA compatibility) + ' and extension manager behavior (access to shared installations).S dim iFile as integer dim cProbeFile as string @@ -42,13 +43,14 @@ function hCheckForAdministratorPermissions() as boolean cProbeFile = convertpath( gNetzOfficePath & "program/tt_probe_file" ) try iFile = FreeFile - open cProbeFile for output as iFile : close iFile - kill cProbeFile + open cProbeFile for output as iFile + close( iFile ) + kill( cProbeFile ) hCheckForAdministratorPermissions() = true - printlog( "Current user has administrator rights" ) + printlog( "Current user has administrator permissions" ) catch hCheckForAdministratorPermissions() = false - printlog( "Current user does not have administrator rights" ) + printlog( "Current user does not have administrator permissions" ) endcatch end function -- cgit From a898d0b14c907d63f6d3c86303fc4a34cb438d33 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 08:38:38 +0200 Subject: vitomation01: #i109696 - Needed to split w_004.inc into two parts, 64k limit strikes --- testautomation/writer/required/includes/w_004_.inc | 909 -------------------- .../writer/required/includes/w_004b_.inc | 939 +++++++++++++++++++++ 2 files changed, 939 insertions(+), 909 deletions(-) create mode 100644 testautomation/writer/required/includes/w_004b_.inc diff --git a/testautomation/writer/required/includes/w_004_.inc b/testautomation/writer/required/includes/w_004_.inc index e40b2951ffc1..0af0e9cfde1a 100755 --- a/testautomation/writer/required/includes/w_004_.inc +++ b/testautomation/writer/required/includes/w_004_.inc @@ -1028,912 +1028,3 @@ testcase tInsertTable Call hCloseDocument endcase -'----------------------------------------------------------- - -testcase tInsertHorizontalLine - PrintLog "- Insert / Horizontal Line" - - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Horizontal Line" - InsertHorizontalLine - Kontext "HorizontaleLinieEinfuegen" - Call DialogTest (HorizontaleLinieEinfuegen) - printlog " Close dialog 'Insert Horizontal Ruler'" - HorizontaleLinieEinfuegen.Cancel - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertGraphicsFromFile - PrintLog "- Insert / Graphics / From File" - Dim j as integer - - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Graphics from file" - InsertGraphicsFromFile - - Kontext "GrafikEinfuegenDlg" - printlog " Select as graphic to insert: '...\writer\required\input\graphics\jolink.jpg" - Dateiname.Settext ConvertPath ( gTesttoolPath + "writer\required\input\graphics\jolink.jpg" ) - Oeffnen.Click - - Kontext "Active" - if Active.Exists( 1 ) then - Warnlog Active.Gettext - Active.Ok - Kontext "GrafikEinfuegenDlg" - GrafikEinfuegenDlg.Cancel - Call hCloseDocument - goto endsub - else - printlog " select again 'Insert / Grahics from file'" - InsertGraphicsFromFile - WaitSlot (2000) - printlog " Step through all tabpages" - Kontext - active.SetPage TabType - wait 500 - Kontext "TabType" - Call DialogTest ( TabType ) - - Kontext - active.SetPage TabZusaetze - wait 500 - Kontext "TabZusaetze" - Call DialogTest ( TabZusaetze ) - - Kontext - active.SetPage TabUmlauf - wait 500 - Kontext "TabUmlauf" - Call DialogTest ( TabUmlauf ) - - Kontext - active.SetPage TabHyperlinkRahmen - wait 500 - Kontext "TabHyperlinkRahmen" - Call DialogTest ( TabHyperlinkRahmen ) - - Kontext - active.SetPage TabGrafik - wait 500 - Kontext "TabGrafik" - Call DialogTest ( TabGrafik ) - - Kontext - active.SetPage TabUmrandung - wait 500 - Kontext "TabUmrandung" - Call DialogTest ( TabUmrandung ) - - Kontext - active.SetPage TabMakro - ' if no JRE is installed a messagebox appears - j = 0 - Do - j = j + 1 - Kontext "Active" - if Active.Exists() then - if Active.GetRT = 304 then - if j = 1 then Warnlog Active.Gettext - Active.Ok - else - exit do - end if - else - exit do - end if - Loop - wait 500 - Kontext "TabMakro" - Call DialogTest ( TabMakro ) - - if gApplication <> "HTML" then - Kontext - active.SetPage TabZuschneiden - wait 500 - Kontext "TabZuschneiden" - Call DialogTest ( TabZuschneiden ) - - Kontext - active.SetPage TabHintergrund - wait 500 - Kontext "TabHintergrund" - Call DialogTest ( TabHintergrund ) - printlog " Close dialog" - TabHintergrund.Cancel - else - printlog " Close dialog" - TabMakro.Cancel - end if - end if - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertAllGraphicsFromFile - - printlog( "Load files of all known graphics formats" ) - - dim iCurrentFile as integer - dim GraphicFile as String - dim Filtername as String - - printlog( "Insert a sample of commonly used file formats into a writer document (not linked)" ) - - gApplication = "WRITER" - Call hNewDocument - - for iCurrentFile = 1 to 25 - - ' MODIFY and ENABLE this SAMPLE snippet to exclude one fileformat from testing - ' if ( iCurrentFile = 7 ) AND (gtPlatform="x86") then - ' qaErrorLog("## crash on on loading ") - ' goto skipformat - ' endif - ' Note: Can be locale dependent! - if (iCurrentFile = 4) AND (gPlatform="osx") then - qaerrorlog("#i100253# crash on MacOS X on loading ball.eps") - goto skipformat - endif - - Kontext "GrafikEinfuegenDlg" - if ( not GrafikEinfuegenDlg.exists() ) then - InsertGraphicsFromFile - Kontext "GrafikEinfuegenDlg" - endif - - if ( GrafikEinfuegenDlg.Exists( 2 ) ) then - ' the list of files expected to be found in the samples directory - select case iCurrentFile - case 1 : GraphicFile = "desp.bmp" - case 2 : GraphicFile = "columbia.dxf" - case 3 : GraphicFile = "extrud.emf" - case 4 : GraphicFile = "ball.eps" - case 5 : GraphicFile = "airshw.met" - case 6 : GraphicFile = "eface.gif" - case 7 : GraphicFile = "purzel.gif" ' Animated Gif - case 8 : GraphicFile = "borabora.jpg" - case 9 : GraphicFile = "grafix1.pbm" - case 10 : GraphicFile = "circle.pcx" - case 11 : GraphicFile = "papagei1.pcd" - case 12 : GraphicFile = "newtonme.pct" - case 13 : GraphicFile = "grafix2.pgm" - case 14 : GraphicFile = "obst.png" - case 15 : GraphicFile = "london.ppm" - case 16 : GraphicFile = "tiger.psd" - case 17 : GraphicFile = "grafix3.ras" - case 18 : GraphicFile = "mickym.sgf" - case 19 : GraphicFile = "faxpfeil.sgv" - case 20 : GraphicFile = "picture.svm" - case 21 : GraphicFile = "pilz.tga" - case 22 : GraphicFile = "stabler.tif" - case 23 : GraphicFile = "krokodil.wmf" - case 24 : GraphicFile = "grafix4.xbm" - case 25 : GraphicFile = "papagei2.xpm" - end select - - GraphicFile = ConvertPath (gTesttoolPath & "global\input\graf_inp\" & GraphicFile) - printlog( "Current file " + iCurrentFile + ": " & GraphicFile ) - printlog( " * Set filter to " ) - DateiName.SetText( GraphicFile ) - DateiTyp.Select( 1 ) - WaitSlot() - - printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) - Vorschau.unCheck - Verknuepfen.unCheck() - Oeffnen.click() - WaitSlot( 2000 ) - - Kontext "Active" - if ( Active.Exists() ) then - Warnlog( "Unexpected messagebox: " & Active.GetText() ) - Warnlog( "Affected file: " & GraphicFile ) - Active.OK - else - try - EditCopy - WaitSlot( 2000 ) - EditDeleteContents - WaitSlot( 2000 ) - catch - Warnlog( "Graphic file not selected/Copy or Delete is disabled: " & GraphicFile ) - gMouseClick (90, 90) - endcatch - endif - else - warnlog( "Insert Graphics Dialog is not open, aborting" ) - goto endsub - endif - - skipformat: - next iCurrentFile - - printlog( "" ) - printlog( "Test the PCD-Filters directly (3 samples)" ) - - for iCurrentFile = 1 to 3 - - printlog( "" ) - - Kontext "GrafikEinfuegenDlg" - if ( not GrafikEinfuegenDlg.exists() ) then - InsertGraphicsFromFile - Kontext "GrafikEinfuegenDlg" - endif - - if ( GrafikEinfuegenDlg.exists( 2 ) ) then - - select case iCurrentFile - case 1 : Filtername = "PCD - Kodak Photo CD (768x512) (*.pcd)" - case 2 : Filtername = "PCD - Kodak Photo CD (384x256) (*.pcd)" - case 3 : Filtername = "PCD - Kodak Photo CD (192x128) (*.pcd)" - end select - - GraphicFile = ConvertPath( gTesttoolPath & "global\input\graf_inp\papagei1.pcd" ) - - printlog( "Current filter: " & Filtername ) - printlog( "Current file..: " & GraphicFile ) - DateiName.SetText ( GraphicFile ) - DateiTyp.Select( Filtername ) - - printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) - Vorschau.Uncheck() - Verknuepfen.unCheck() - Oeffnen.click() - WaitSlot( 2000 ) - - Kontext "Active" - if ( Active.Exists() )then - Warnlog( "Unexpected messagebox: " & Active.GetText() ) - Warnlog( "Affected file..: " & GraphicFile ) - Warnlog( "Affected filter: " & Filtername ) - Active.OK() - else - try - EditCopy - WaitSlot( 2000 ) - EditDeleteContents - WaitSlot( 2000 ) - catch - Warnlog( "Problems with filtertype : " & Filtername ) - gMouseClick (90, 90) - endcatch - endif - else - warnlog( "Insert Graphics Dialog is not open. Aborting" ) - goto endsub - endif - - next iCurrentFile - - Kontext "GrafikEinfuegenDlg" - if GrafikEinfuegenDlg.Exists then - GrafikEinfuegenDlg.Cancel - endif - - Call hCloseDocument - -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectOLEObject - PrintLog "- Insert / Object / OLE-Objekt" - - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Object / OLE-Object" - InsertObjectOLEObject - - Kontext "OLEObjektEinfuegen" - printlog " Check both radiobuttons 'Create now' and 'Create from file'" - NeuErstellen.Check - Call DialogTest (OLEObjektEinfuegen, 1) - AusDateiErstellen.Check - Call DialogTest (OLEObjektEinfuegen, 2) - OLEObjektEinfuegen.Cancel - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectPlugIn - PrintLog "- Insert / Object / Plug-In" - - printlog " Open new document" - Call hNewDocument - - printlog " Close 'Plug in' dialog" - InsertObjectPlugIn - - Kontext "PlugInEinfuegen" - if PlugInEinfuegen.Exists then - Call DialogTest (PlugInEinfuegen) - PlugInEinfuegen.Cancel - else - Warnlog "Dialog 'Plugin' is not up!" - end if - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectSound - Printlog "- Insert / Object / Sound" - printlog " Open new document" - Call hNewDocument - - try - if gUseSysDlg = False then - InsertObjectSound - printlog " Insert / Object / Sound" - Kontext "OeffnenDlg" - if OeffnenDlg.Exists then - OeffnenDlg.Cancel - else - Warnlog "Dialog to insert Sound isn't up!" - end if - end if - catch - 'Warnlog "- Menu disabled or no Sound-PlugIn installed !?" - endcatch - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectVideo - Printlog "- Insert / Object / Video" - - printlog " Open new document" - Call hNewDocument - - try - if gUseSysDlg = False then - InsertObjectVideo - printlog " Insert / Object / Video" - Kontext "OeffnenDlg" - if OeffnenDlg.Exists then - OeffnenDlg.Cancel - else - Warnlog "Dialog to insert Video isn't up!" - end if - end if - catch - 'Warnlog "- Menu disabled or no Video-PlugIn installed !?" - endcatch - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectFormula - PrintLog "- Insert / Object / Formula" - - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Object / Formular" - InsertObjectFormula - WaitSlot (2000) - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - Warnlog Active.Gettext - Active.Ok - end if - end if - Sleep 1 - - printlog " Click in 'Math' document" - Call gMouseClick(1,1) - sleep 1 - printlog " 'Delete math-object in document" - Call wTypeKeys("") - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertObjectChart - PrintLog "- Insert / Object / Chart" - - printlog " Open new document" - Call hNewDocument - ' Chart-Wizard will be invoked if data ranges exist - ' Therefor a table will be inserted - printlog " Insert / Table" - InsertTableWriter - Kontext "TabelleEinfuegenWriter" - TabelleEinfuegenWriter.Ok - - printlog " Insert / Object / Chart" - InsertObjectChart - - Kontext "ChartWizard" - if ChartWizard.Exists then - printlog "- Chart-Wizard is up=>OK" - Call DialogTest ( ChartWizard ) - printlog " Cancel Chart-Wizard" - ChartWizard.Cancel - else - warnlog "Chart-Wizard is not up though a table has been inserted" - end if - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tInsertFile - PrintLog "- Insert / File" - - printlog " Open new document" - Call hNewDocument - InsertFileWriter - WaitSlot( 2000 ) - - printlog " Insert / File" - Kontext "OeffnenDlg" - - printlog " Check 'File dialog'" - if OeffnenDlg.Exists( 2 ) then - Call DialogTest ( OeffnenDlg ) - try - Standard.Click - catch - Exceptlog - endcatch - - Kontext "Active" - if Active.Exists then - Warnlog Active.Gettext - Active.Ok - else - Kontext "OeffnenDlg" - OeffnenDlg.Cancel - end if - end if - - printlog " Close active document" - Call hCloseDocument -endcase - -'----------------------------------------------------------- - -testcase tHtmlDocInsertFields - PrintLog "- Insert / Fields" - - gApplication = "HTML" - printlog " Open new document" - Call hNewDocument - - try - printlog "Insert / Fields / Date" - InsertFieldsDate - catch - Warnlog "Unable to execute: Insert / Fields / Date " - endcatch - printlog " Insert / Fields / Date" - Call wTypeKeys (" ") - try - printlog "Insert / Fields / Time" - InsertFieldsTime - catch - Warnlog "Unable to execute: Insert / Fields / Time" - endcatch - printlog " Insert / Fields / Time" - Call wTypeKeys (" ") - try - printlog "Insert / Fields / Page Number" - InsertFieldsPageNumbers - catch - Warnlog "Unable to execute: Insert / Fields / Page numbers" - endcatch - printlog " Insert / Fields / Page numbers" - Call wTypeKeys (" ") - try - printlog "Insert / Fields / Page Count" - InsertFieldsPageCount - catch - Warnlog "Unable to execute: Insert / Fields / Page Count" - endcatch - printlog " Insert / Fields / Page count" - Call wTypeKeys (" ") - try - printlog "Insert / Fields / Title" - InsertFieldsTitle - catch - Warnlog "Unable to execute: Insert / Fields / Title" - endcatch - printlog " Insert / Fields / Title" - Call wTypeKeys (" ") - try - printlog "Insert / Fields / Author" - InsertFieldsAuthor - catch - Warnlog "Unable to execute: Insert / Fields / Author" - endcatch - printlog " Insert / Fields / Author" - if gApplication <> "HTML" then - try - printlog "Insert / Fields / Subject" - InsertFieldsSubject - catch - Warnlog "Unable to execute: Insert / Fields / Subject" - endcatch - printlog " If document not HTML then 'Insert / Fields / Subject" - Call wTypeKeys (" ") - printlog " Press key 'enter'" - end if - - printlog " Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'----------------------------------------------------------- - -testcase tHtmlDocInsertFieldsOther - Dim i as integer - Dim j as integer - printlog "- Insert / Fields / Other" - - gApplication = "HTML" - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Fields / Other" - InsertFieldsOther - - Kontext - printlog " In dialog step through all tabpages" - Active.SetPage TabDokumentFeldbefehle - Kontext "TabDokumentFeldbefehle" - Call Dialogtest ( TabDokumentFeldbefehle ) - - Kontext - Active.SetPage TabDokumentinfoFeldbefehle - Kontext "TabDokumentinfoFeldbefehle" - Call Dialogtest ( TabDokumentinfoFeldbefehle ) - - Kontext - Active.SetPage TabVariablen - Kontext "TabVariablen" - Call Dialogtest ( TabVariablen ) - - if gApplication <> "HTML" then - Kontext - Active.SetPage TabReferenzen - Kontext "TabReferenzen" - Call Dialogtest ( TabReferenzen ) - - Kontext - Active.SetPage TabFunktionen - Kontext "TabFunktionen" - Call Dialogtest ( TabFunktionen ) - for i=1 to Feldtyp.GetItemCount - Feldtyp.Select i - if MakroButton.IsEnabled then - MakroButton.Click - ' if no JRE is installed a messagebox appears - Do - j = j + 1 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - if j = 1 then Warnlog Active.Gettext - Active.Ok - else - exit do - end if - else - exit do - end if - Loop - - Kontext "ScriptSelector" - if ( ScriptSelector.exists( 3 ) ) then - ScriptSelector.Close - else - warnlog( "Dialog is not available" ) - endif - Kontext "TabFunktionen" - i=100 - end if - next i - - Kontext - Active.SetPage TabDatenbank - Kontext "TabDatenbank" - Call Dialogtest ( TabDatenbank ) - - printlog " Close dialog" - TabDatenbank.Close - else - printlog " Close dialog" - TabVariablen.Close - end if - printlog " Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'----------------------------------------------------------- - -testcase tHtmlDocInsertSection - PrintLog "- Insert / Section" - - gApplication = "HTML" - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Section" - InsertSection - Kontext - - printlog " In dialog step through all tabpages" - printlog "- Tabpage Section" - Active.Setpage TabBereiche - Kontext "TabBereiche" - Call DialogTest (TabBereiche) - Verknuepfung.Check - - Auswaehlen.Click - Kontext "OeffnenDlg" - if ( OeffnenDlg.exists( 1 ) ) then - OeffnenDlg.Cancel - else - warnlog( "Dialog is not available" ) - endif - - Wait 500 - Kontext - printlog "- Tabpage Columns" - Active.Setpage TabSpalten - Kontext "TabSpalten" - Call DialogTest (TabSpalten) - - Kontext - printlog "- Tabpage Background" - Active.Setpage TabHintergrund - Kontext "TabHintergrund" - Call DialogTest (TabHintergrund) - - if gApplication <> "HTML" then - printlog "Tabpage Indents" - Kontext - Active.Setpage TabSectionIndent - Kontext "TabSectionIndent" - Call DialogTest (TabSectionIndent) - - printlog "- Tabpage Footnotes/Endnotes" - Kontext - Active.Setpage TabFussEndnoten - Kontext "TabFussEndnoten" - Call DialogTest (TabFussEndnoten) - TabFussEndnoten.Cancel - else - TabHintergrund.Cancel - end if - printlog " Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'----------------------------------------------------------- - -testcase tHtmlDocInsertFrame - PrintLog "- Insert / Frame" - - gApplication = "HTML" - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Frame" - InsertFrame - WaitSlot (2000) - - printlog " Step through all tabpages" - Kontext - active.SetPage TabType - Kontext "TabType" - Call DialogTest (TabType) - Sleep 1 - - Kontext - active.SetPage TabZusaetze - Kontext "TabZusaetze" - Call DialogTest (TabZusaetze) - Sleep 1 - - Kontext - active.SetPage TabUmlauf - Kontext "TabUmlauf" - Call DialogTest (TabUmlauf) - Sleep 1 - - Kontext - active.SetPage TabUmrandung - Kontext "TabUmrandung" - Call DialogTest (TabUmrandung) - Sleep 1 - - Kontext - active.SetPage TabHintergrund - Kontext "TabHintergrund" - Call DialogTest (TabHintergrund, 1) - Sleep 1 - try - Als.Select (2) - Call DialogTest (TabHintergrund, 2) - Sleep 1 - catch - Warnlog "Maybe missing combobox! (#i29517)" - endcatch - - if gApplication <> "HTML" then - Kontext - active.SetPage TabHyperlinkRahmen - Kontext "TabHyperlinkRahmen" - Call DialogTest (TabHyperlinkRahmen) - Durchsuchen.Click - - if gUSeSysDlg = False then - Kontext "OeffnenDlg" - OeffnenDlg.Cancel - end if - - Kontext - active.SetPage TabSpalten - Kontext "TabSpalten" - Call DialogTest (TabSpalten) - printlog " Close dialog" - TabSpalten.Cancel - else - printlog " Close dialog" - TabHintergrund.Cancel - end if - - printlog " Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'----------------------------------------------------------- - -testcase tHtmlDocInsertGraphicsFromFile - PrintLog "- Insert / Graphics / From File" - Dim j as integer - - gApplication = "HTML" - printlog " Open new document" - Call hNewDocument - - printlog " Insert / Graphics from file" - InsertGraphicsFromFile - - Kontext "GrafikEinfuegenDlg" - printlog " Select as graphic to insert: '...\writer\required\input\graphics\jolink.jpg" - Dateiname.Settext ConvertPath ( gTesttoolPath + "writer\required\input\graphics\jolink.jpg" ) - Oeffnen.Click - - Kontext "Active" - if Active.Exists( 1 ) then - Warnlog Active.Gettext - Active.Ok - Kontext "GrafikEinfuegenDlg" - GrafikEinfuegenDlg.Cancel - Call hCloseDocument - goto endsub - else - printlog " select again 'Insert / Grahics from file'" - InsertGraphicsFromFile - WaitSlot (2000) - printlog " Step through all tabpages" - Kontext - active.SetPage TabType - wait 500 - Kontext "TabType" - Call DialogTest ( TabType ) - - Kontext - active.SetPage TabZusaetze - wait 500 - Kontext "TabZusaetze" - Call DialogTest ( TabZusaetze ) - - Kontext - active.SetPage TabUmlauf - wait 500 - Kontext "TabUmlauf" - Call DialogTest ( TabUmlauf ) - - Kontext - active.SetPage TabHyperlinkRahmen - wait 500 - Kontext "TabHyperlinkRahmen" - Call DialogTest ( TabHyperlinkRahmen ) - - Kontext - active.SetPage TabGrafik - wait 500 - Kontext "TabGrafik" - Call DialogTest ( TabGrafik ) - - Kontext - active.SetPage TabUmrandung - wait 500 - Kontext "TabUmrandung" - Call DialogTest ( TabUmrandung ) - - Kontext - active.SetPage TabMakro - ' if no JRE is installed a messagebox appears - j = 0 - Do - j = j + 1 - Kontext "Active" - if Active.Exists then - if Active.GetRT = 304 then - if j = 1 then Warnlog Active.Gettext - Active.Ok - else - exit do - end if - else - exit do - end if - Loop - wait 500 - Kontext "TabMakro" - Call DialogTest ( TabMakro ) - - if gApplication <> "HTML" then - Kontext - active.SetPage TabZuschneiden - wait 500 - Kontext "TabZuschneiden" - Call DialogTest ( TabZuschneiden ) - - Kontext - active.SetPage TabHintergrund - wait 500 - Kontext "TabHintergrund" - Call DialogTest ( TabHintergrund ) - printlog " Close dialog" - TabHintergrund.Cancel - else - printlog " Close dialog" - TabMakro.Cancel - end if - end if - - printlog " Close active document" - Call hCloseDocument - gApplication = "WRITER" -endcase - -'----------------------------------------------------------- diff --git a/testautomation/writer/required/includes/w_004b_.inc b/testautomation/writer/required/includes/w_004b_.inc new file mode 100644 index 000000000000..70f585090b41 --- /dev/null +++ b/testautomation/writer/required/includes/w_004b_.inc @@ -0,0 +1,939 @@ +'encoding UTF-8 Do not remove or change this line! +'************************************************************************** +' 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 +' +' for a copy of the LGPLv3 License. +' +'/************************************************************************ +'* +'* owner : Helge.Delfs@Sun.Com +'* +'* short description : Testcases with connection to the Insert-menu part II. +'* +'\*********************************************************************** + +testcase tInsertHorizontalLine + PrintLog "- Insert / Horizontal Line" + + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Horizontal Line" + InsertHorizontalLine + Kontext "HorizontaleLinieEinfuegen" + Call DialogTest (HorizontaleLinieEinfuegen) + printlog " Close dialog 'Insert Horizontal Ruler'" + HorizontaleLinieEinfuegen.Cancel + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertGraphicsFromFile + PrintLog "- Insert / Graphics / From File" + Dim j as integer + + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Graphics from file" + InsertGraphicsFromFile + + Kontext "GrafikEinfuegenDlg" + printlog " Select as graphic to insert: '...\writer\required\input\graphics\jolink.jpg" + Dateiname.Settext ConvertPath ( gTesttoolPath + "writer\required\input\graphics\jolink.jpg" ) + Oeffnen.Click + + Kontext "Active" + if Active.Exists( 1 ) then + Warnlog Active.Gettext + Active.Ok + Kontext "GrafikEinfuegenDlg" + GrafikEinfuegenDlg.Cancel + Call hCloseDocument + goto endsub + else + printlog " select again 'Insert / Grahics from file'" + InsertGraphicsFromFile + WaitSlot (2000) + printlog " Step through all tabpages" + Kontext + active.SetPage TabType + wait 500 + Kontext "TabType" + Call DialogTest ( TabType ) + + Kontext + active.SetPage TabZusaetze + wait 500 + Kontext "TabZusaetze" + Call DialogTest ( TabZusaetze ) + + Kontext + active.SetPage TabUmlauf + wait 500 + Kontext "TabUmlauf" + Call DialogTest ( TabUmlauf ) + + Kontext + active.SetPage TabHyperlinkRahmen + wait 500 + Kontext "TabHyperlinkRahmen" + Call DialogTest ( TabHyperlinkRahmen ) + + Kontext + active.SetPage TabGrafik + wait 500 + Kontext "TabGrafik" + Call DialogTest ( TabGrafik ) + + Kontext + active.SetPage TabUmrandung + wait 500 + Kontext "TabUmrandung" + Call DialogTest ( TabUmrandung ) + + Kontext + active.SetPage TabMakro + ' if no JRE is installed a messagebox appears + j = 0 + Do + j = j + 1 + Kontext "Active" + if Active.Exists() then + if Active.GetRT = 304 then + if j = 1 then Warnlog Active.Gettext + Active.Ok + else + exit do + end if + else + exit do + end if + Loop + wait 500 + Kontext "TabMakro" + Call DialogTest ( TabMakro ) + + if gApplication <> "HTML" then + Kontext + active.SetPage TabZuschneiden + wait 500 + Kontext "TabZuschneiden" + Call DialogTest ( TabZuschneiden ) + + Kontext + active.SetPage TabHintergrund + wait 500 + Kontext "TabHintergrund" + Call DialogTest ( TabHintergrund ) + printlog " Close dialog" + TabHintergrund.Cancel + else + printlog " Close dialog" + TabMakro.Cancel + end if + end if + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertAllGraphicsFromFile + + printlog( "Load files of all known graphics formats" ) + + dim iCurrentFile as integer + dim GraphicFile as String + dim Filtername as String + + printlog( "Insert a sample of commonly used file formats into a writer document (not linked)" ) + + gApplication = "WRITER" + Call hNewDocument + + for iCurrentFile = 1 to 25 + + ' MODIFY and ENABLE this SAMPLE snippet to exclude one fileformat from testing + ' if ( iCurrentFile = 7 ) AND (gtPlatform="x86") then + ' qaErrorLog("## crash on on loading ") + ' goto skipformat + ' endif + ' Note: Can be locale dependent! + if (iCurrentFile = 4) AND (gPlatform="osx") then + qaerrorlog("#i100253# crash on MacOS X on loading ball.eps") + goto skipformat + endif + + Kontext "GrafikEinfuegenDlg" + if ( not GrafikEinfuegenDlg.exists() ) then + InsertGraphicsFromFile + Kontext "GrafikEinfuegenDlg" + endif + + if ( GrafikEinfuegenDlg.Exists( 2 ) ) then + ' the list of files expected to be found in the samples directory + select case iCurrentFile + case 1 : GraphicFile = "desp.bmp" + case 2 : GraphicFile = "columbia.dxf" + case 3 : GraphicFile = "extrud.emf" + case 4 : GraphicFile = "ball.eps" + case 5 : GraphicFile = "airshw.met" + case 6 : GraphicFile = "eface.gif" + case 7 : GraphicFile = "purzel.gif" ' Animated Gif + case 8 : GraphicFile = "borabora.jpg" + case 9 : GraphicFile = "grafix1.pbm" + case 10 : GraphicFile = "circle.pcx" + case 11 : GraphicFile = "papagei1.pcd" + case 12 : GraphicFile = "newtonme.pct" + case 13 : GraphicFile = "grafix2.pgm" + case 14 : GraphicFile = "obst.png" + case 15 : GraphicFile = "london.ppm" + case 16 : GraphicFile = "tiger.psd" + case 17 : GraphicFile = "grafix3.ras" + case 18 : GraphicFile = "mickym.sgf" + case 19 : GraphicFile = "faxpfeil.sgv" + case 20 : GraphicFile = "picture.svm" + case 21 : GraphicFile = "pilz.tga" + case 22 : GraphicFile = "stabler.tif" + case 23 : GraphicFile = "krokodil.wmf" + case 24 : GraphicFile = "grafix4.xbm" + case 25 : GraphicFile = "papagei2.xpm" + end select + + GraphicFile = ConvertPath (gTesttoolPath & "global\input\graf_inp\" & GraphicFile) + printlog( "Current file " + iCurrentFile + ": " & GraphicFile ) + printlog( " * Set filter to " ) + DateiName.SetText( GraphicFile ) + DateiTyp.Select( 1 ) + WaitSlot() + + printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) + Vorschau.unCheck + Verknuepfen.unCheck() + Oeffnen.click() + WaitSlot( 2000 ) + + Kontext "Active" + if ( Active.Exists() ) then + Warnlog( "Unexpected messagebox: " & Active.GetText() ) + Warnlog( "Affected file: " & GraphicFile ) + Active.OK + else + try + EditCopy + WaitSlot( 2000 ) + EditDeleteContents + WaitSlot( 2000 ) + catch + Warnlog( "Graphic file not selected/Copy or Delete is disabled: " & GraphicFile ) + gMouseClick (90, 90) + endcatch + endif + else + warnlog( "Insert Graphics Dialog is not open, aborting" ) + goto endsub + endif + + skipformat: + next iCurrentFile + + printlog( "" ) + printlog( "Test the PCD-Filters directly (3 samples)" ) + + for iCurrentFile = 1 to 3 + + printlog( "" ) + + Kontext "GrafikEinfuegenDlg" + if ( not GrafikEinfuegenDlg.exists() ) then + InsertGraphicsFromFile + Kontext "GrafikEinfuegenDlg" + endif + + if ( GrafikEinfuegenDlg.exists( 2 ) ) then + + select case iCurrentFile + case 1 : Filtername = "PCD - Kodak Photo CD (768x512) (*.pcd)" + case 2 : Filtername = "PCD - Kodak Photo CD (384x256) (*.pcd)" + case 3 : Filtername = "PCD - Kodak Photo CD (192x128) (*.pcd)" + end select + + GraphicFile = ConvertPath( gTesttoolPath & "global\input\graf_inp\papagei1.pcd" ) + + printlog( "Current filter: " & Filtername ) + printlog( "Current file..: " & GraphicFile ) + DateiName.SetText ( GraphicFile ) + DateiTyp.Select( Filtername ) + + printlog( " * Uncheck Preview- and Link-checkbox, load the file" ) + Vorschau.Uncheck() + Verknuepfen.unCheck() + Oeffnen.click() + WaitSlot( 2000 ) + + Kontext "Active" + if ( Active.Exists() )then + Warnlog( "Unexpected messagebox: " & Active.GetText() ) + Warnlog( "Affected file..: " & GraphicFile ) + Warnlog( "Affected filter: " & Filtername ) + Active.OK() + else + try + EditCopy + WaitSlot( 2000 ) + EditDeleteContents + WaitSlot( 2000 ) + catch + Warnlog( "Problems with filtertype : " & Filtername ) + gMouseClick (90, 90) + endcatch + endif + else + warnlog( "Insert Graphics Dialog is not open. Aborting" ) + goto endsub + endif + + next iCurrentFile + + Kontext "GrafikEinfuegenDlg" + if GrafikEinfuegenDlg.Exists then + GrafikEinfuegenDlg.Cancel + endif + + Call hCloseDocument + +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectOLEObject + PrintLog "- Insert / Object / OLE-Objekt" + + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Object / OLE-Object" + InsertObjectOLEObject + + Kontext "OLEObjektEinfuegen" + printlog " Check both radiobuttons 'Create now' and 'Create from file'" + NeuErstellen.Check + Call DialogTest (OLEObjektEinfuegen, 1) + AusDateiErstellen.Check + Call DialogTest (OLEObjektEinfuegen, 2) + OLEObjektEinfuegen.Cancel + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectPlugIn + PrintLog "- Insert / Object / Plug-In" + + printlog " Open new document" + Call hNewDocument + + printlog " Close 'Plug in' dialog" + InsertObjectPlugIn + + Kontext "PlugInEinfuegen" + if PlugInEinfuegen.Exists then + Call DialogTest (PlugInEinfuegen) + PlugInEinfuegen.Cancel + else + Warnlog "Dialog 'Plugin' is not up!" + end if + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectSound + Printlog "- Insert / Object / Sound" + printlog " Open new document" + Call hNewDocument + + try + if gUseSysDlg = False then + InsertObjectSound + printlog " Insert / Object / Sound" + Kontext "OeffnenDlg" + if OeffnenDlg.Exists then + OeffnenDlg.Cancel + else + Warnlog "Dialog to insert Sound isn't up!" + end if + end if + catch + 'Warnlog "- Menu disabled or no Sound-PlugIn installed !?" + endcatch + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectVideo + Printlog "- Insert / Object / Video" + + printlog " Open new document" + Call hNewDocument + + try + if gUseSysDlg = False then + InsertObjectVideo + printlog " Insert / Object / Video" + Kontext "OeffnenDlg" + if OeffnenDlg.Exists then + OeffnenDlg.Cancel + else + Warnlog "Dialog to insert Video isn't up!" + end if + end if + catch + 'Warnlog "- Menu disabled or no Video-PlugIn installed !?" + endcatch + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectFormula + PrintLog "- Insert / Object / Formula" + + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Object / Formular" + InsertObjectFormula + WaitSlot (2000) + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + Warnlog Active.Gettext + Active.Ok + end if + end if + Sleep 1 + + printlog " Click in 'Math' document" + Call gMouseClick(1,1) + sleep 1 + printlog " 'Delete math-object in document" + Call wTypeKeys("") + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertObjectChart + PrintLog "- Insert / Object / Chart" + + printlog " Open new document" + Call hNewDocument + ' Chart-Wizard will be invoked if data ranges exist + ' Therefor a table will be inserted + printlog " Insert / Table" + InsertTableWriter + Kontext "TabelleEinfuegenWriter" + TabelleEinfuegenWriter.Ok + + printlog " Insert / Object / Chart" + InsertObjectChart + + Kontext "ChartWizard" + if ChartWizard.Exists then + printlog "- Chart-Wizard is up=>OK" + Call DialogTest ( ChartWizard ) + printlog " Cancel Chart-Wizard" + ChartWizard.Cancel + else + warnlog "Chart-Wizard is not up though a table has been inserted" + end if + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tInsertFile + PrintLog "- Insert / File" + + printlog " Open new document" + Call hNewDocument + InsertFileWriter + WaitSlot( 2000 ) + + printlog " Insert / File" + Kontext "OeffnenDlg" + + printlog " Check 'File dialog'" + if OeffnenDlg.Exists( 2 ) then + Call DialogTest ( OeffnenDlg ) + try + Standard.Click + catch + Exceptlog + endcatch + + Kontext "Active" + if Active.Exists then + Warnlog Active.Gettext + Active.Ok + else + Kontext "OeffnenDlg" + OeffnenDlg.Cancel + end if + end if + + printlog " Close active document" + Call hCloseDocument +endcase + +'----------------------------------------------------------- + +testcase tHtmlDocInsertFields + PrintLog "- Insert / Fields" + + gApplication = "HTML" + printlog " Open new document" + Call hNewDocument + + try + printlog "Insert / Fields / Date" + InsertFieldsDate + catch + Warnlog "Unable to execute: Insert / Fields / Date " + endcatch + printlog " Insert / Fields / Date" + Call wTypeKeys (" ") + try + printlog "Insert / Fields / Time" + InsertFieldsTime + catch + Warnlog "Unable to execute: Insert / Fields / Time" + endcatch + printlog " Insert / Fields / Time" + Call wTypeKeys (" ") + try + printlog "Insert / Fields / Page Number" + InsertFieldsPageNumbers + catch + Warnlog "Unable to execute: Insert / Fields / Page numbers" + endcatch + printlog " Insert / Fields / Page numbers" + Call wTypeKeys (" ") + try + printlog "Insert / Fields / Page Count" + InsertFieldsPageCount + catch + Warnlog "Unable to execute: Insert / Fields / Page Count" + endcatch + printlog " Insert / Fields / Page count" + Call wTypeKeys (" ") + try + printlog "Insert / Fields / Title" + InsertFieldsTitle + catch + Warnlog "Unable to execute: Insert / Fields / Title" + endcatch + printlog " Insert / Fields / Title" + Call wTypeKeys (" ") + try + printlog "Insert / Fields / Author" + InsertFieldsAuthor + catch + Warnlog "Unable to execute: Insert / Fields / Author" + endcatch + printlog " Insert / Fields / Author" + if gApplication <> "HTML" then + try + printlog "Insert / Fields / Subject" + InsertFieldsSubject + catch + Warnlog "Unable to execute: Insert / Fields / Subject" + endcatch + printlog " If document not HTML then 'Insert / Fields / Subject" + Call wTypeKeys (" ") + printlog " Press key 'enter'" + end if + + printlog " Close active document" + Call hCloseDocument + gApplication = "WRITER" +endcase + +'----------------------------------------------------------- + +testcase tHtmlDocInsertFieldsOther + Dim i as integer + Dim j as integer + printlog "- Insert / Fields / Other" + + gApplication = "HTML" + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Fields / Other" + InsertFieldsOther + + Kontext + printlog " In dialog step through all tabpages" + Active.SetPage TabDokumentFeldbefehle + Kontext "TabDokumentFeldbefehle" + Call Dialogtest ( TabDokumentFeldbefehle ) + + Kontext + Active.SetPage TabDokumentinfoFeldbefehle + Kontext "TabDokumentinfoFeldbefehle" + Call Dialogtest ( TabDokumentinfoFeldbefehle ) + + Kontext + Active.SetPage TabVariablen + Kontext "TabVariablen" + Call Dialogtest ( TabVariablen ) + + if gApplication <> "HTML" then + Kontext + Active.SetPage TabReferenzen + Kontext "TabReferenzen" + Call Dialogtest ( TabReferenzen ) + + Kontext + Active.SetPage TabFunktionen + Kontext "TabFunktionen" + Call Dialogtest ( TabFunktionen ) + for i=1 to Feldtyp.GetItemCount + Feldtyp.Select i + if MakroButton.IsEnabled then + MakroButton.Click + ' if no JRE is installed a messagebox appears + Do + j = j + 1 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + if j = 1 then Warnlog Active.Gettext + Active.Ok + else + exit do + end if + else + exit do + end if + Loop + + Kontext "ScriptSelector" + if ( ScriptSelector.exists( 3 ) ) then + ScriptSelector.Close + else + warnlog( "Dialog is not available" ) + endif + Kontext "TabFunktionen" + i=100 + end if + next i + + Kontext + Active.SetPage TabDatenbank + Kontext "TabDatenbank" + Call Dialogtest ( TabDatenbank ) + + printlog " Close dialog" + TabDatenbank.Close + else + printlog " Close dialog" + TabVariablen.Close + end if + printlog " Close active document" + Call hCloseDocument + gApplication = "WRITER" +endcase + +'----------------------------------------------------------- + +testcase tHtmlDocInsertSection + PrintLog "- Insert / Section" + + gApplication = "HTML" + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Section" + InsertSection + Kontext + + printlog " In dialog step through all tabpages" + printlog "- Tabpage Section" + Active.Setpage TabBereiche + Kontext "TabBereiche" + Call DialogTest (TabBereiche) + Verknuepfung.Check + + Auswaehlen.Click + Kontext "OeffnenDlg" + if ( OeffnenDlg.exists( 1 ) ) then + OeffnenDlg.Cancel + else + warnlog( "Dialog is not available" ) + endif + + Wait 500 + Kontext + printlog "- Tabpage Columns" + Active.Setpage TabSpalten + Kontext "TabSpalten" + Call DialogTest (TabSpalten) + + Kontext + printlog "- Tabpage Background" + Active.Setpage TabHintergrund + Kontext "TabHintergrund" + Call DialogTest (TabHintergrund) + + if gApplication <> "HTML" then + printlog "Tabpage Indents" + Kontext + Active.Setpage TabSectionIndent + Kontext "TabSectionIndent" + Call DialogTest (TabSectionIndent) + + printlog "- Tabpage Footnotes/Endnotes" + Kontext + Active.Setpage TabFussEndnoten + Kontext "TabFussEndnoten" + Call DialogTest (TabFussEndnoten) + TabFussEndnoten.Cancel + else + TabHintergrund.Cancel + end if + printlog " Close active document" + Call hCloseDocument + gApplication = "WRITER" +endcase + +'----------------------------------------------------------- + +testcase tHtmlDocInsertFrame + PrintLog "- Insert / Frame" + + gApplication = "HTML" + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Frame" + InsertFrame + WaitSlot (2000) + + printlog " Step through all tabpages" + Kontext + active.SetPage TabType + Kontext "TabType" + Call DialogTest (TabType) + Sleep 1 + + Kontext + active.SetPage TabZusaetze + Kontext "TabZusaetze" + Call DialogTest (TabZusaetze) + Sleep 1 + + Kontext + active.SetPage TabUmlauf + Kontext "TabUmlauf" + Call DialogTest (TabUmlauf) + Sleep 1 + + Kontext + active.SetPage TabUmrandung + Kontext "TabUmrandung" + Call DialogTest (TabUmrandung) + Sleep 1 + + Kontext + active.SetPage TabHintergrund + Kontext "TabHintergrund" + Call DialogTest (TabHintergrund, 1) + Sleep 1 + try + Als.Select (2) + Call DialogTest (TabHintergrund, 2) + Sleep 1 + catch + Warnlog "Maybe missing combobox! (#i29517)" + endcatch + + if gApplication <> "HTML" then + Kontext + active.SetPage TabHyperlinkRahmen + Kontext "TabHyperlinkRahmen" + Call DialogTest (TabHyperlinkRahmen) + Durchsuchen.Click + + if gUSeSysDlg = False then + Kontext "OeffnenDlg" + OeffnenDlg.Cancel + end if + + Kontext + active.SetPage TabSpalten + Kontext "TabSpalten" + Call DialogTest (TabSpalten) + printlog " Close dialog" + TabSpalten.Cancel + else + printlog " Close dialog" + TabHintergrund.Cancel + end if + + printlog " Close active document" + Call hCloseDocument + gApplication = "WRITER" +endcase + +'----------------------------------------------------------- + +testcase tHtmlDocInsertGraphicsFromFile + PrintLog "- Insert / Graphics / From File" + Dim j as integer + + gApplication = "HTML" + printlog " Open new document" + Call hNewDocument + + printlog " Insert / Graphics from file" + InsertGraphicsFromFile + + Kontext "GrafikEinfuegenDlg" + printlog " Select as graphic to insert: '...\writer\required\input\graphics\jolink.jpg" + Dateiname.Settext ConvertPath ( gTesttoolPath + "writer\required\input\graphics\jolink.jpg" ) + Oeffnen.Click + + Kontext "Active" + if Active.Exists( 1 ) then + Warnlog Active.Gettext + Active.Ok + Kontext "GrafikEinfuegenDlg" + GrafikEinfuegenDlg.Cancel + Call hCloseDocument + goto endsub + else + printlog " select again 'Insert / Grahics from file'" + InsertGraphicsFromFile + WaitSlot (2000) + printlog " Step through all tabpages" + Kontext + active.SetPage TabType + wait 500 + Kontext "TabType" + Call DialogTest ( TabType ) + + Kontext + active.SetPage TabZusaetze + wait 500 + Kontext "TabZusaetze" + Call DialogTest ( TabZusaetze ) + + Kontext + active.SetPage TabUmlauf + wait 500 + Kontext "TabUmlauf" + Call DialogTest ( TabUmlauf ) + + Kontext + active.SetPage TabHyperlinkRahmen + wait 500 + Kontext "TabHyperlinkRahmen" + Call DialogTest ( TabHyperlinkRahmen ) + + Kontext + active.SetPage TabGrafik + wait 500 + Kontext "TabGrafik" + Call DialogTest ( TabGrafik ) + + Kontext + active.SetPage TabUmrandung + wait 500 + Kontext "TabUmrandung" + Call DialogTest ( TabUmrandung ) + + Kontext + active.SetPage TabMakro + ' if no JRE is installed a messagebox appears + j = 0 + Do + j = j + 1 + Kontext "Active" + if Active.Exists then + if Active.GetRT = 304 then + if j = 1 then Warnlog Active.Gettext + Active.Ok + else + exit do + end if + else + exit do + end if + Loop + wait 500 + Kontext "TabMakro" + Call DialogTest ( TabMakro ) + + if gApplication <> "HTML" then + Kontext + active.SetPage TabZuschneiden + wait 500 + Kontext "TabZuschneiden" + Call DialogTest ( TabZuschneiden ) + + Kontext + active.SetPage TabHintergrund + wait 500 + Kontext "TabHintergrund" + Call DialogTest ( TabHintergrund ) + printlog " Close dialog" + TabHintergrund.Cancel + else + printlog " Close dialog" + TabMakro.Cancel + end if + end if + + printlog " Close active document" + Call hCloseDocument + gApplication = "WRITER" +endcase + -- cgit From 1e190223235b379c12da8a0232089940800b521b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 08:41:35 +0200 Subject: vitomation01: #i109696 - Needed to split w_004.inc into two parts, 64k limit strikes --- testautomation/writer/required/w_updt.bas | 1 + 1 file changed, 1 insertion(+) diff --git a/testautomation/writer/required/w_updt.bas b/testautomation/writer/required/w_updt.bas index 498826f83e8d..a1968b8bf650 100755 --- a/testautomation/writer/required/w_updt.bas +++ b/testautomation/writer/required/w_updt.bas @@ -42,6 +42,7 @@ sub main use "writer\required\includes\w_002_.inc" use "writer\required\includes\w_003_.inc" use "writer\required\includes\w_004_.inc" + use "writer\required\includes\w_004b_.inc" use "writer\required\includes\w_005_.inc" use "writer\required\includes\w_005b_.inc" use "writer\required\includes\w_006_.inc" -- cgit From 9efc9876deac26adafac58813e4aea7fe8cb5daa Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 08:51:21 +0200 Subject: vitomation01: #i109696 - Needed to split w_004.inc into two parts, 64k limit strikes --- testautomation/writer/required/includes/w_004_.inc | 61 +++++++--------------- .../writer/required/includes/w_004b_.inc | 26 +++++++++ testautomation/writer/required/w_updt.bas | 1 + 3 files changed, 45 insertions(+), 43 deletions(-) diff --git a/testautomation/writer/required/includes/w_004_.inc b/testautomation/writer/required/includes/w_004_.inc index 0af0e9cfde1a..cff995f4e50e 100755 --- a/testautomation/writer/required/includes/w_004_.inc +++ b/testautomation/writer/required/includes/w_004_.inc @@ -36,49 +36,24 @@ sub w_004_ printLog Chr(13) + "--------- Insert Menu ( w_004_ ) ----------" gApplication = "WRITER" - Call tInsertManualBreak - Call tInsertFields - - Call tInsertFieldsOther - Call tInsertSpecialCharacter - - Call tInsertSection - Call tInsertHyperlink - - Call tInsertFootnote - Call tInsertCaption - Call tInsertBookmark - Call tInsertCrossReference - Call tInsertComment - Call tInsertScript - Call tInsertIndexesEntry - Call tInsertIndexesIndex - Call tInsertIndexesBibliographyEntry - - Call tInsertEnvelope - - Call tInsertFrame - Call tInsertTable - Call tInsertHorizontalLine - Call tInsertGraphicsFromFile - Call tInsertAllGraphicsFromFile - - Call tInsertObjectOLEObject - Call tInsertObjectPlugIn - Call tInsertObjectSound - Call tInsertObjectVideo - Call tInsertObjectFormula - Call tInsertObjectChart - Call tInsertFile - - 'Writer Web - gApplication = "HTML" - Call tHtmlDocInsertFields - Call tHtmlDocInsertFieldsOther - Call tHtmlDocInsertSection - Call tHtmlDocInsertFrame - Call tHtmlDocInsertGraphicsFromFile - gApplication = "WRITER" + call tInsertManualBreak + call tInsertFields + call tInsertFieldsOther + call tInsertSpecialCharacter + call tInsertSection + call tInsertHyperlink + call tInsertFootnote + call tInsertCaption + call tInsertBookmark + call tInsertComment + call tInsertCrossReference + call tInsertScript + call tInsertIndexesEntry + call tInsertIndexesIndex + call tInsertIndexesBibliographyEntry + call tInsertEnvelope + call tInsertFrame + call tInsertTable end sub diff --git a/testautomation/writer/required/includes/w_004b_.inc b/testautomation/writer/required/includes/w_004b_.inc index 70f585090b41..3769ee9ee1ae 100644 --- a/testautomation/writer/required/includes/w_004b_.inc +++ b/testautomation/writer/required/includes/w_004b_.inc @@ -31,6 +31,32 @@ '* '\*********************************************************************** +sub w_004b_ + + printLog Chr(13) + "--------- Insert Menu ( w_004_ ) ----------" + + gApplication = "WRITER" + call tInsertHorizontalLine + call tInsertGraphicsFromFile + call tInsertAllGraphicsFromFile + call tInsertObjectOLEObject + call tInsertObjectPlugIn + call tInsertObjectSound + call tInsertObjectVideo + call tInsertObjectFormula + call tInsertObjectChart + call tInsertFile + + gApplication = "HTML" + call tHtmlDocInsertFields + call tHtmlDocInsertFieldsOther + call tHtmlDocInsertSection + call tHtmlDocInsertFrame + call tHtmlDocInsertGraphicsFromFile + gApplication = "WRITER" + +end sub + testcase tInsertHorizontalLine PrintLog "- Insert / Horizontal Line" diff --git a/testautomation/writer/required/w_updt.bas b/testautomation/writer/required/w_updt.bas index a1968b8bf650..62c77beea473 100755 --- a/testautomation/writer/required/w_updt.bas +++ b/testautomation/writer/required/w_updt.bas @@ -65,6 +65,7 @@ sub main Call w_002_ ' Menu Edit Call w_003_ ' Menu View Call w_004_ ' Menu Insert + Call w_004b_ ' Menu Insert Call w_005_ ' Menu Format Call w_005b_ ' Menu Format (2) Call w_006_ ' Menu Table -- cgit From 928c651b68ccb995482edf00d27e825b880132bd Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Thu, 3 Jun 2010 10:47:56 +0200 Subject: cws tl79: missing includes added --- svx/source/dialog/hdft.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx index 729d4f748921..551f682abda0 100644 --- a/svx/source/dialog/hdft.cxx +++ b/svx/source/dialog/hdft.cxx @@ -37,6 +37,8 @@ #include #include +#include +#include #include #include "hdft.hrc" #include -- cgit From 2847d445595f725ce4e269c53f15d4f274951fb7 Mon Sep 17 00:00:00 2001 From: Oliver-Rainer Wittmann Date: Thu, 3 Jun 2010 10:54:44 +0200 Subject: sw33bf05: #i111964# - provide default sidebar position at instance and include access guards for the anchor overlay object of annotations. --- sw/source/core/layout/pagechg.cxx | 10 +++++++--- sw/source/ui/docvw/PostItMgr.cxx | 40 +++++++++++++++++++++++---------------- sw/source/ui/docvw/SidebarWin.cxx | 39 +++++++++++++++++++++++++++++++------- 3 files changed, 63 insertions(+), 26 deletions(-) diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 72976a786fa1..b45f1bcb2ceb 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1385,11 +1385,15 @@ SwPageFrm *SwFrm::InsertPage( SwPageFrm *pPrevPage, BOOL bFtn ) return pPage; } -// false = right, true = left sw::sidebarwindows::SidebarPosition SwPageFrm::SidebarPosition() const { - if (!GetShell() || GetShell()->getIDocumentSettingAccess()->get(IDocumentSettingAccess::BROWSE_MODE)) - return sw::sidebarwindows::SIDEBAR_NONE; + if ( !GetShell() || + GetShell()->getIDocumentSettingAccess()->get(IDocumentSettingAccess::BROWSE_MODE) ) + { + // --> OD 2010-06-03 #i111964# - provide default sidebar position + return sw::sidebarwindows::SIDEBAR_RIGHT; + // <-- + } else { const bool bLTR = GetUpper() ? static_cast(GetUpper())->IsLeftToRightViewLayout() : true; diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx index c6b0ad4a136f..025f275779b1 100644 --- a/sw/source/ui/docvw/PostItMgr.cxx +++ b/sw/source/ui/docvw/PostItMgr.cxx @@ -1669,28 +1669,36 @@ void SwPostItMgr::CorrectPositions() if (!pFirstPostIt) return; - // yeah, I know, if this is a left page it could be wrong, but finding the page and the note is probably not even faster than just doing it - const long aAnchorX = mpEditWin->LogicToPixel( Point((long)(pFirstPostIt->Anchor()->GetSixthPosition().getX()),0)).X(); - const long aAnchorY = mpEditWin->LogicToPixel( Point(0,(long)(pFirstPostIt->Anchor()->GetSixthPosition().getY()))).Y() + 1; - if (Point(aAnchorX,aAnchorY) != pFirstPostIt->GetPosPixel()) - { - long aAnchorPosX = 0; - long aAnchorPosY = 0; - for (unsigned long n=0;nmList->begin(); i!= mPages[n]->mList->end(); i++) - { - if ((*i)->bShow && (*i)->pPostIt) - { + // yeah, I know, if this is a left page it could be wrong, but finding the page and the note is probably not even faster than just doing it + // --> OD 2010-06-03 #i111964# - check, if anchor overlay object exists. + const long aAnchorX = pFirstPostIt->Anchor() + ? mpEditWin->LogicToPixel( Point((long)(pFirstPostIt->Anchor()->GetSixthPosition().getX()),0)).X() + : 0; + const long aAnchorY = pFirstPostIt->Anchor() + ? mpEditWin->LogicToPixel( Point(0,(long)(pFirstPostIt->Anchor()->GetSixthPosition().getY()))).Y() + 1 + : 0; + // <-- + if (Point(aAnchorX,aAnchorY) != pFirstPostIt->GetPosPixel()) + { + long aAnchorPosX = 0; + long aAnchorPosY = 0; + for (unsigned long n=0;nmList->begin(); i!= mPages[n]->mList->end(); i++) + { + // --> OD 2010-06-03 #i111964# - check, if anchor overlay object exists. + if ( (*i)->bShow && (*i)->pPostIt && (*i)->pPostIt->Anchor() ) + // <-- + { aAnchorPosX = mPages[n]->eSidebarPosition == sw::sidebarwindows::SIDEBAR_LEFT ? mpEditWin->LogicToPixel( Point((long)((*i)->pPostIt->Anchor()->GetSeventhPosition().getX()),0)).X() : mpEditWin->LogicToPixel( Point((long)((*i)->pPostIt->Anchor()->GetSixthPosition().getX()),0)).X(); aAnchorPosY = mpEditWin->LogicToPixel( Point(0,(long)((*i)->pPostIt->Anchor()->GetSixthPosition().getY()))).Y() + 1; (*i)->pPostIt->SetPosPixel(Point(aAnchorPosX,aAnchorPosY)); } - } - } - } + } + } + } } diff --git a/sw/source/ui/docvw/SidebarWin.cxx b/sw/source/ui/docvw/SidebarWin.cxx index cce6db3a891b..2d50f273eb7e 100644 --- a/sw/source/ui/docvw/SidebarWin.cxx +++ b/sw/source/ui/docvw/SidebarWin.cxx @@ -560,14 +560,28 @@ void SwSidebarWin::SetPosAndSize() { if (IsFollow() && !HasChildPathFocus()) { - mpAnchor->SetAnchorState(AS_END); + // --> OD 2010-06-03 #i111964# + if ( mpAnchor ) + { + mpAnchor->SetAnchorState(AS_END); + } + // <-- } else { - mpAnchor->SetAnchorState(AS_ALL); + // --> OD 2010-06-03 #i111964# + if ( mpAnchor ) + { + mpAnchor->SetAnchorState(AS_ALL); + } + // <-- SwSidebarWin* pWin = GetTopReplyNote(); - if (pWin) + // --> OD 2010-06-03 #i111964# + if ( pWin && pWin->Anchor() ) + // <-- + { pWin->Anchor()->SetAnchorState(AS_END); + } } } } @@ -1127,8 +1141,12 @@ void SwSidebarWin::SetViewState(ViewState bViewState) { mpAnchor->SetAnchorState(AS_ALL); SwSidebarWin* pWin = GetTopReplyNote(); - if (pWin) + // --> OD 2010-06-03 #i111964# + if ( pWin && pWin->Anchor() ) + // <-- + { pWin->Anchor()->SetAnchorState(AS_END); + } mpAnchor->setLineSolid(true); } if (mpShadow) @@ -1156,17 +1174,24 @@ void SwSidebarWin::SetViewState(ViewState bViewState) SwSidebarWin* pTopWinActive = mrMgr.HasActiveSidebarWin() ? mrMgr.GetActiveSidebarWin()->GetTopReplyNote() : 0; - if (pTopWinSelf && (pTopWinSelf!=pTopWinActive)) + // --> OD 2010-06-03 #i111964# + if ( pTopWinSelf && ( pTopWinSelf != pTopWinActive ) && + pTopWinSelf->Anchor() ) + // <-- { - if (pTopWinSelf!=mrMgr.GetActiveSidebarWin()) + if ( pTopWinSelf != mrMgr.GetActiveSidebarWin() ) + { pTopWinSelf->Anchor()->setLineSolid(false); + } pTopWinSelf->Anchor()->SetAnchorState(AS_ALL); } } mpAnchor->setLineSolid(false); } - if (mpShadow) + if ( mpShadow ) + { mpShadow->SetShadowState(SS_NORMAL); + } break; } } -- cgit From bc6ba6d735c47fc62b344ae931a8fd20685bbcd3 Mon Sep 17 00:00:00 2001 From: Malte Timmermann Date: Thu, 3 Jun 2010 11:08:14 +0200 Subject: some more libraries for ooo --- ooo.lst | 0 scp2/source/ooo/common_brand.scp | 3 +++ 2 files changed, 3 insertions(+) mode change 100644 => 100755 ooo.lst diff --git a/ooo.lst b/ooo.lst old mode 100644 new mode 100755 diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp index b2023aabecd7..d24dd0ef0aef 100644 --- a/scp2/source/ooo/common_brand.scp +++ b/scp2/source/ooo/common_brand.scp @@ -80,6 +80,8 @@ Module gid_Module_Root_Brand gid_Brand_File_Lib_Msvcr80, gid_Brand_File_Lib_Msvcp80, gid_Brand_File_Lib_Msvcm80, + gid_Brand_File_Lib_Oirm, + gid_Brand_File_Lib_Oirm2, gid_Brand_File_Msvcm80crt_Manifest, gid_Brand_File_Lib_Npsoplugin, gid_Brand_File_Lib_Subscrib_C05, @@ -119,6 +121,7 @@ Module gid_Module_Langpack_Brand_Template gid_Brand_Dir_Share_Readme); Files = (gid_Brand_File_Res_Iso, gid_Brand_File_Res_Ooo, + gid_Brand_File_Res_Oirm, gid_Brand_File_Help_C05_Sdatabase_Zip, gid_Brand_File_Help_C05_Scalc_Zip, gid_Brand_File_Help_C05_Sdraw_Zip, -- cgit From 85b12c651ea75ce0006b1b04c2eaafb998cb9837 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Thu, 3 Jun 2010 11:12:10 +0200 Subject: dr76: #i111404# move image stream handling into GraphicHelper --- oox/inc/oox/core/filterbase.hxx | 6 ---- oox/inc/oox/helper/graphichelper.hxx | 22 +++++++++++++- oox/inc/oox/vml/vmlformatting.hxx | 2 -- oox/source/core/filterbase.cxx | 35 +++------------------- .../drawingml/fillpropertiesgroupcontext.cxx | 3 +- oox/source/drawingml/graphicshapecontext.cxx | 3 +- oox/source/helper/graphichelper.cxx | 34 ++++++++++++++++++++- oox/source/ppt/pptimport.cxx | 2 +- oox/source/vml/vmlformatting.cxx | 5 ++-- oox/source/vml/vmlshape.cxx | 9 +++--- oox/source/xls/pagesettings.cxx | 2 +- oox/source/xls/stylesbuffer.cxx | 2 +- 12 files changed, 72 insertions(+), 53 deletions(-) diff --git a/oox/inc/oox/core/filterbase.hxx b/oox/inc/oox/core/filterbase.hxx index 31e26d38f590..1733c2ad51c2 100644 --- a/oox/inc/oox/core/filterbase.hxx +++ b/oox/inc/oox/core/filterbase.hxx @@ -202,12 +202,6 @@ public: @return True, if the data could be imported from the stream. */ bool importBinaryData( StreamDataSequence& orDataSeq, const ::rtl::OUString& rStreamName ); - /** Imports a graphic from the storage stream with the passed path and name. */ - ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > - importEmbeddedGraphic( const ::rtl::OUString& rStreamName ) const; - /** Imports a graphic object from the storage stream with the passed path and name. */ - ::rtl::OUString importEmbeddedGraphicObject( const ::rtl::OUString& rStreamName ) const; - // com.sun.star.lang.XServiceInfo interface ------------------------------- virtual ::rtl::OUString SAL_CALL diff --git a/oox/inc/oox/helper/graphichelper.hxx b/oox/inc/oox/helper/graphichelper.hxx index 2d0964b37715..37002940cb17 100644 --- a/oox/inc/oox/helper/graphichelper.hxx +++ b/oox/inc/oox/helper/graphichelper.hxx @@ -34,6 +34,7 @@ #include #include #include "oox/helper/binarystreambase.hxx" +#include "oox/helper/storagebase.hxx" namespace com { namespace sun { namespace star { namespace awt { struct Point; } @@ -68,9 +69,12 @@ class GraphicHelper public: explicit GraphicHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxGlobalFactory, - const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxTargetFrame ); + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxTargetFrame, + const StorageRef& rxStorage ); virtual ~GraphicHelper(); + // System colors and predefined colors ------------------------------------ + /** Returns a system color specified by the passed XML token identifier. */ sal_Int32 getSystemColor( sal_Int32 nToken, sal_Int32 nDefaultRgb = API_RGB_TRANSPARENT ) const; /** Derived classes may implement to resolve a scheme color from the passed XML token identifier. */ @@ -78,6 +82,8 @@ public: /** Derived classes may implement to resolve a palette index to an RGB color. */ virtual sal_Int32 getPaletteColor( sal_Int32 nPaletteIdx ) const; + // Device info and device dependent unit conversion ----------------------- + /** Returns information about the output device. */ const ::com::sun::star::awt::DeviceInfo& getDeviceInfo() const; @@ -109,6 +115,8 @@ public: /** Converts the passed size from 1/100 mm to AppFont units. */ ::com::sun::star::awt::Size convertHmmToAppFont( const ::com::sun::star::awt::Size& rHmm ) const; + // Graphics and graphic objects ------------------------------------------ + /** Imports a graphic from the passed input stream. */ ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > importGraphic( @@ -118,6 +126,10 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > importGraphic( const StreamDataSequence& rGraphicData ) const; + /** Imports a graphic from the storage stream with the passed path and name. */ + ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > + importEmbeddedGraphic( const ::rtl::OUString& rStreamName ) const; + /** Creates a persistent graphic object from the passed graphic. @return The URL of the created and internally cached graphic object. */ ::rtl::OUString createGraphicObject( @@ -132,16 +144,24 @@ public: @return The URL of the created and internally cached graphic object. */ ::rtl::OUString importGraphicObject( const StreamDataSequence& rGraphicData ) const; + /** Imports a graphic object from the storage stream with the passed path and name. + @return The URL of the created and internally cached graphic object. */ + ::rtl::OUString importEmbeddedGraphicObject( const ::rtl::OUString& rStreamName ) const; + + // ------------------------------------------------------------------------ private: typedef ::std::map< sal_Int32, sal_Int32 > SystemPalette; typedef ::std::deque< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphicObject > > GraphicObjectDeque; + typedef ::std::map< ::rtl::OUString, ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > > EmbeddedGraphicMap; ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxCompContext; ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphicProvider > mxGraphicProvider; ::com::sun::star::uno::Reference< ::com::sun::star::awt::XUnitConversion > mxUnitConversion; ::com::sun::star::awt::DeviceInfo maDeviceInfo; /// Current output device info. SystemPalette maSystemPalette; /// Maps system colors (XML tokens) to RGB color values. + StorageRef mxStorage; /// Storage containing embedded graphics. mutable GraphicObjectDeque maGraphicObjects; /// Caches all created graphic objects to keep them alive. + mutable EmbeddedGraphicMap maEmbeddedGraphics; /// Maps all embedded graphics by their storage path. const ::rtl::OUString maGraphicObjScheme; /// The URL scheme name for graphic objects. double mfPixelPerHmmX; /// Number of screen pixels per 1/100 mm in X direction. double mfPixelPerHmmY; /// Number of screen pixels per 1/100 mm in Y direction. diff --git a/oox/inc/oox/vml/vmlformatting.hxx b/oox/inc/oox/vml/vmlformatting.hxx index 6b970e5b80cc..db67d7a85af4 100644 --- a/oox/inc/oox/vml/vmlformatting.hxx +++ b/oox/inc/oox/vml/vmlformatting.hxx @@ -34,7 +34,6 @@ namespace oox { class GraphicHelper; class ModelObjectHelper; class PropertyMap; - namespace core { class FilterBase; } } namespace oox { @@ -178,7 +177,6 @@ struct FillModel /** Writes the properties to the passed property map. */ void pushToPropMap( PropertyMap& rPropMap, - ::oox::core::FilterBase& rFilter, ModelObjectHelper& rModelObjectHelper, const GraphicHelper& rGraphicHelper ) const; }; diff --git a/oox/source/core/filterbase.cxx b/oox/source/core/filterbase.cxx index 902784cafe80..5ed1d7094ff3 100755 --- a/oox/source/core/filterbase.cxx +++ b/oox/source/core/filterbase.cxx @@ -130,10 +130,9 @@ enum FilterDirection struct FilterBaseImpl { - typedef ::boost::shared_ptr< GraphicHelper > GraphicHelperRef; - typedef ::boost::shared_ptr< ModelObjectHelper > ModelObjHelperRef; - typedef ::boost::shared_ptr< OleObjectHelper > OleObjHelperRef; - typedef ::std::map< OUString, Reference< XGraphic > > EmbeddedGraphicMap; + typedef ::boost::shared_ptr< GraphicHelper > GraphicHelperRef; + typedef ::boost::shared_ptr< ModelObjectHelper > ModelObjHelperRef; + typedef ::boost::shared_ptr< OleObjectHelper > OleObjHelperRef; FilterDirection meDirection; SequenceAsHashMap maArguments; @@ -144,7 +143,6 @@ struct FilterBaseImpl GraphicHelperRef mxGraphicHelper; /// Graphic and graphic object handling. ModelObjHelperRef mxModelObjHelper; /// Tables to create new named drawing objects. OleObjHelperRef mxOleObjHelper; /// OLE object handling. - EmbeddedGraphicMap maEmbeddedGraphics; /// Maps all imported embedded graphics by their path. Reference< XMultiServiceFactory > mxGlobalFactory; Reference< XModel > mxModel; @@ -423,31 +421,6 @@ bool FilterBase::importBinaryData( StreamDataSequence& orDataSeq, const OUString return true; } -Reference< XGraphic > FilterBase::importEmbeddedGraphic( const OUString& rStreamName ) const -{ - Reference< XGraphic > xGraphic; - OSL_ENSURE( rStreamName.getLength() > 0, "FilterBase::importEmbeddedGraphic - empty stream name" ); - if( rStreamName.getLength() > 0 ) - { - FilterBaseImpl::EmbeddedGraphicMap::const_iterator aIt = mxImpl->maEmbeddedGraphics.find( rStreamName ); - if( aIt == mxImpl->maEmbeddedGraphics.end() ) - { - xGraphic = getGraphicHelper().importGraphic( openInputStream( rStreamName ) ); - if( xGraphic.is() ) - mxImpl->maEmbeddedGraphics[ rStreamName ] = xGraphic; - } - else - xGraphic = aIt->second; - } - return xGraphic; -} - -OUString FilterBase::importEmbeddedGraphicObject( const OUString& rStreamName ) const -{ - Reference< XGraphic > xGraphic = importEmbeddedGraphic( rStreamName ); - return xGraphic.is() ? getGraphicHelper().createGraphicObject( xGraphic ) : OUString(); -} - // com.sun.star.lang.XServiceInfo interface ----------------------------------- OUString SAL_CALL FilterBase::getImplementationName() throw( RuntimeException ) @@ -587,7 +560,7 @@ void FilterBase::setMediaDescriptor( const Sequence< PropertyValue >& rMediaDesc GraphicHelper* FilterBase::implCreateGraphicHelper() const { // default: return base implementation without any special behaviour - return new GraphicHelper( mxImpl->mxGlobalFactory, mxImpl->mxTargetFrame ); + return new GraphicHelper( mxImpl->mxGlobalFactory, mxImpl->mxTargetFrame, mxImpl->mxStorage ); } // ============================================================================ diff --git a/oox/source/drawingml/fillpropertiesgroupcontext.cxx b/oox/source/drawingml/fillpropertiesgroupcontext.cxx index 8adffb265240..b9d7fa7e1142 100644 --- a/oox/source/drawingml/fillpropertiesgroupcontext.cxx +++ b/oox/source/drawingml/fillpropertiesgroupcontext.cxx @@ -27,6 +27,7 @@ #include "oox/drawingml/fillpropertiesgroupcontext.hxx" #include "oox/helper/attributelist.hxx" +#include "oox/helper/graphichelper.hxx" #include "oox/core/namespaces.hxx" #include "oox/core/xmlfilterbase.hxx" #include "oox/drawingml/drawingmltypes.hxx" @@ -170,7 +171,7 @@ BlipContext::BlipContext( ContextHandler& rParent, // internal picture URL OUString aFragmentPath = getFragmentPathFromRelId( aAttribs.getString( R_TOKEN( embed ), OUString() ) ); if( aFragmentPath.getLength() > 0 ) - mrBlipProps.mxGraphic = getFilter().importEmbeddedGraphic( aFragmentPath ); + mrBlipProps.mxGraphic = getFilter().getGraphicHelper().importEmbeddedGraphic( aFragmentPath ); } else if( aAttribs.hasAttribute( R_TOKEN( link ) ) ) { diff --git a/oox/source/drawingml/graphicshapecontext.cxx b/oox/source/drawingml/graphicshapecontext.cxx index a0335fe68ee2..16604a77469b 100644 --- a/oox/source/drawingml/graphicshapecontext.cxx +++ b/oox/source/drawingml/graphicshapecontext.cxx @@ -35,6 +35,7 @@ #include "oox/core/namespaces.hxx" #include "oox/core/xmlfilterbase.hxx" #include "oox/helper/attributelist.hxx" +#include "oox/helper/graphichelper.hxx" #include "oox/helper/propertyset.hxx" #include "oox/vml/vmldrawing.hxx" #include "oox/vml/vmlshape.hxx" @@ -189,7 +190,7 @@ OUString CreateOleObjectCallback::onCreateXShape( const OUString&, const awt::Re // import and store the graphic if( aGraphicPath.getLength() > 0 ) { - Reference< graphic::XGraphic > xGraphic = mrFilter.importEmbeddedGraphic( aGraphicPath ); + Reference< graphic::XGraphic > xGraphic = mrFilter.getGraphicHelper().importEmbeddedGraphic( aGraphicPath ); if( xGraphic.is() ) maShapeProps[ PROP_Graphic ] <<= xGraphic; } diff --git a/oox/source/helper/graphichelper.cxx b/oox/source/helper/graphichelper.cxx index 6b294f61abef..455778f939f7 100644 --- a/oox/source/helper/graphichelper.cxx +++ b/oox/source/helper/graphichelper.cxx @@ -76,8 +76,9 @@ inline sal_Int32 lclConvertScreenPixelToHmm( double fPixel, double fPixelPerHmm // ============================================================================ -GraphicHelper::GraphicHelper( const Reference< XMultiServiceFactory >& rxGlobalFactory, const Reference< XFrame >& rxTargetFrame ) : +GraphicHelper::GraphicHelper( const Reference< XMultiServiceFactory >& rxGlobalFactory, const Reference< XFrame >& rxTargetFrame, const StorageRef& rxStorage ) : mxGraphicProvider( rxGlobalFactory->createInstance( CREATE_OUSTRING( "com.sun.star.graphic.GraphicProvider" ) ), UNO_QUERY ), + mxStorage( rxStorage ), maGraphicObjScheme( CREATE_OUSTRING( "vnd.sun.star.GraphicObject:" ) ) { ::comphelper::ComponentContext aContext( rxGlobalFactory ); @@ -149,6 +150,8 @@ GraphicHelper::~GraphicHelper() { } +// System colors and predefined colors ---------------------------------------- + sal_Int32 GraphicHelper::getSystemColor( sal_Int32 nToken, sal_Int32 nDefaultRgb ) const { return ContainerHelper::getMapElement( maSystemPalette, nToken, nDefaultRgb ); @@ -166,6 +169,8 @@ sal_Int32 GraphicHelper::getPaletteColor( sal_Int32 /*nPaletteIdx*/ ) const return API_RGB_TRANSPARENT; } +// Device info and device dependent unit conversion --------------------------- + const DeviceInfo& GraphicHelper::getDeviceInfo() const { return maDeviceInfo; @@ -267,6 +272,8 @@ Size GraphicHelper::convertHmmToAppFont( const Size& rHmm ) const return Size( 0, 0 ); } +// Graphics and graphic objects ---------------------------------------------- + Reference< XGraphic > GraphicHelper::importGraphic( const Reference< XInputStream >& rxInStrm ) const { Reference< XGraphic > xGraphic; @@ -294,6 +301,25 @@ Reference< XGraphic > GraphicHelper::importGraphic( const StreamDataSequence& rG return xGraphic; } +Reference< XGraphic > GraphicHelper::importEmbeddedGraphic( const OUString& rStreamName ) const +{ + Reference< XGraphic > xGraphic; + OSL_ENSURE( rStreamName.getLength() > 0, "GraphicHelper::importEmbeddedGraphic - empty stream name" ); + if( rStreamName.getLength() > 0 ) + { + EmbeddedGraphicMap::const_iterator aIt = maEmbeddedGraphics.find( rStreamName ); + if( aIt == maEmbeddedGraphics.end() ) + { + xGraphic = importGraphic( mxStorage->openInputStream( rStreamName ) ); + if( xGraphic.is() ) + maEmbeddedGraphics[ rStreamName ] = xGraphic; + } + else + xGraphic = aIt->second; + } + return xGraphic; +} + OUString GraphicHelper::createGraphicObject( const Reference< XGraphic >& rxGraphic ) const { OUString aGraphicObjUrl; @@ -320,6 +346,12 @@ OUString GraphicHelper::importGraphicObject( const StreamDataSequence& rGraphicD return createGraphicObject( importGraphic( rGraphicData ) ); } +OUString GraphicHelper::importEmbeddedGraphicObject( const OUString& rStreamName ) const +{ + Reference< XGraphic > xGraphic = importEmbeddedGraphic( rStreamName ); + return xGraphic.is() ? createGraphicObject( xGraphic ) : OUString(); +} + // ============================================================================ } // namespace oox diff --git a/oox/source/ppt/pptimport.cxx b/oox/source/ppt/pptimport.cxx index 39ad52316a92..d60629b4481b 100644 --- a/oox/source/ppt/pptimport.cxx +++ b/oox/source/ppt/pptimport.cxx @@ -163,7 +163,7 @@ private: }; PptGraphicHelper::PptGraphicHelper( const PowerPointImport& rFilter ) : - GraphicHelper( rFilter.getGlobalFactory(), rFilter.getTargetFrame() ), + GraphicHelper( rFilter.getGlobalFactory(), rFilter.getTargetFrame(), rFilter.getStorage() ), mrFilter( rFilter ) { } diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 3b832d9daf12..827930c22496 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -31,7 +31,6 @@ #include "oox/token/tokenmap.hxx" #include "oox/helper/graphichelper.hxx" #include "oox/helper/propertymap.hxx" -#include "oox/core/filterbase.hxx" #include "oox/drawingml/color.hxx" #include "oox/drawingml/drawingmltypes.hxx" #include "oox/drawingml/fillproperties.hxx" @@ -475,7 +474,7 @@ void FillModel::assignUsed( const FillModel& rSource ) moRotate.assignIfUsed( rSource.moRotate ); } -void FillModel::pushToPropMap( PropertyMap& rPropMap, ::oox::core::FilterBase& rFilter, +void FillModel::pushToPropMap( PropertyMap& rPropMap, ModelObjectHelper& rModelObjectHelper, const GraphicHelper& rGraphicHelper ) const { /* Convert VML fill formatting to DrawingML fill formatting and let the @@ -569,7 +568,7 @@ void FillModel::pushToPropMap( PropertyMap& rPropMap, ::oox::core::FilterBase& r { if( moBitmapPath.has() && moBitmapPath.get().getLength() > 0 ) { - aFillProps.maBlipProps.mxGraphic = rFilter.importEmbeddedGraphic( moBitmapPath.get() ); + aFillProps.maBlipProps.mxGraphic = rGraphicHelper.importEmbeddedGraphic( moBitmapPath.get() ); if( aFillProps.maBlipProps.mxGraphic.is() ) { aFillProps.moFillType = XML_blipFill; diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 9bca05d69b24..d557a7f50354 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -36,6 +36,7 @@ #include #include #include "properties.hxx" +#include "oox/helper/graphichelper.hxx" #include "oox/helper/propertymap.hxx" #include "oox/helper/propertyset.hxx" #include "oox/core/xmlfilterbase.hxx" @@ -99,7 +100,7 @@ Reference< XShape > lclCreateXShape( const XmlFilterBase& rFilter, const OUStrin Reference< XShape > xShape; try { - Reference< XMultiServiceFactory > xFactory( rFilter.getModel(), UNO_QUERY_THROW ); + Reference< XMultiServiceFactory > xFactory( rFilter.getModelFactory(), UNO_SET_THROW ); xShape.set( xFactory->createInstance( rService ), UNO_QUERY_THROW ); } catch( Exception& ) @@ -317,7 +318,7 @@ void ShapeBase::convertShapeProperties( const Reference< XShape >& rxShape ) con PropertyMap aPropMap; maTypeModel.maStrokeModel.pushToPropMap( aPropMap, rModelObjectHelper, rGraphicHelper ); - maTypeModel.maFillModel.pushToPropMap( aPropMap, mrDrawing.getFilter(), rModelObjectHelper, rGraphicHelper ); + maTypeModel.maFillModel.pushToPropMap( aPropMap, rModelObjectHelper, rGraphicHelper ); PropertySet aPropSet( rxShape ); aPropSet.setProperties( aPropMap ); @@ -431,7 +432,7 @@ Reference< XShape > ComplexShape::implConvertAndInsert( const Reference< XShapes // set the replacement graphic if( aGraphicPath.getLength() > 0 ) { - Reference< XGraphic > xGraphic = rFilter.importEmbeddedGraphic( aGraphicPath ); + Reference< XGraphic > xGraphic = rFilter.getGraphicHelper().importEmbeddedGraphic( aGraphicPath ); if( xGraphic.is() ) aOleProps[ PROP_Graphic ] <<= xGraphic; } @@ -478,7 +479,7 @@ Reference< XShape > ComplexShape::implConvertAndInsert( const Reference< XShapes Reference< XShape > xShape = lclCreateAndInsertXShape( rFilter, rxShapes, CREATE_OUSTRING( "com.sun.star.drawing.GraphicObjectShape" ), rShapeRect ); if( xShape.is() ) { - OUString aGraphicUrl = rFilter.importEmbeddedGraphicObject( aGraphicPath ); + OUString aGraphicUrl = rFilter.getGraphicHelper().importEmbeddedGraphicObject( aGraphicPath ); if( aGraphicUrl.getLength() > 0 ) { PropertySet aPropSet( xShape ); diff --git a/oox/source/xls/pagesettings.cxx b/oox/source/xls/pagesettings.cxx index c0b1011fdbcc..0a5ce05a37df 100644 --- a/oox/source/xls/pagesettings.cxx +++ b/oox/source/xls/pagesettings.cxx @@ -440,7 +440,7 @@ void PageSettings::importPictureData( const Relations& rRelations, const OUStrin { OUString aPicturePath = rRelations.getFragmentPathFromRelId( rRelId ); if( aPicturePath.getLength() > 0 ) - maModel.maGraphicUrl = getBaseFilter().importEmbeddedGraphicObject( aPicturePath ); + maModel.maGraphicUrl = getBaseFilter().getGraphicHelper().importEmbeddedGraphicObject( aPicturePath ); } // ============================================================================ diff --git a/oox/source/xls/stylesbuffer.cxx b/oox/source/xls/stylesbuffer.cxx index b9a11b5104ea..5a149961c0e2 100644 --- a/oox/source/xls/stylesbuffer.cxx +++ b/oox/source/xls/stylesbuffer.cxx @@ -306,7 +306,7 @@ sal_Int32 lclReadRgbColor( BinaryInputStream& rStrm ) // ============================================================================ ExcelGraphicHelper::ExcelGraphicHelper( const WorkbookHelper& rHelper ) : - GraphicHelper( rHelper.getGlobalFactory(), rHelper.getBaseFilter().getTargetFrame() ), + GraphicHelper( rHelper.getGlobalFactory(), rHelper.getBaseFilter().getTargetFrame(), rHelper.getBaseFilter().getStorage() ), WorkbookHelper( rHelper ) { } -- cgit From b51f76cce24929b15da2773364e6b845cc4653e2 Mon Sep 17 00:00:00 2001 From: tono Date: Thu, 3 Jun 2010 19:12:00 +0900 Subject: i#111958: MinGW port enhancement: runtime-pseude-reloc-v2 : fix interference to other platforms --- graphite/makefile.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphite/makefile.mk b/graphite/makefile.mk index a2da080a0c76..bd85c517f52b 100644 --- a/graphite/makefile.mk +++ b/graphite/makefile.mk @@ -105,12 +105,12 @@ EXTRA_GR_CXX_FLAGS=-mthreads -nostdinc .IF "$(MINGW_SHARED_GCCLIB)"=="YES" EXTRA_GR_CXX_FLAGS+=-shared-libgcc .ENDIF -EXTRA_GR_LD_FLAGS+=-no-undefined +EXTRA_GR_LD_FLAGS+=-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 .ENDIF # don't use SOLARLIB for LDFLAGS because it pulls in system graphite so build will fail # -CONFIGURE_ACTION=bash -c 'CXXFLAGS="$(INCLUDE) $(CFLAGSCXX) $(CFLAGSCOBJ) $(CDEFS) $(CDEFSOBJ) $(SOLARINC) $(LFS_CFLAGS) $(EXTRA_GR_CXX_FLAGS)" $(GR_LIB_PATH) LDFLAGS="-L$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT) $(EXTRA_GR_LD_FLAGS) -Wl,--enable-runtime-pseudo-reloc-v2" ./configure $(GR_CONFIGURE_FLAGS)' +CONFIGURE_ACTION=bash -c 'CXXFLAGS="$(INCLUDE) $(CFLAGSCXX) $(CFLAGSCOBJ) $(CDEFS) $(CDEFSOBJ) $(SOLARINC) $(LFS_CFLAGS) $(EXTRA_GR_CXX_FLAGS)" $(GR_LIB_PATH) LDFLAGS="-L$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT) $(EXTRA_GR_LD_FLAGS)" ./configure $(GR_CONFIGURE_FLAGS)' .ENDIF BUILD_DIR=$(CONFIGURE_DIR) -- cgit From 1ad68bd3cf4c4a5775df7753a1a36eeed1391ba5 Mon Sep 17 00:00:00 2001 From: "Philipp Lohmann [pl]" Date: Thu, 3 Jun 2010 14:34:52 +0200 Subject: vcl112: #i111983# remove unused code (thanks cmc !) --- .../extended/AccessibleGridControlTableBase.hxx | 8 -------- .../source/extended/AccessibleGridControlTableBase.cxx | 13 ------------- 2 files changed, 21 deletions(-) diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx index 28d9cfb919f1..bee42d85e2a2 100755 --- a/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx +++ b/accessibility/inc/accessibility/extended/AccessibleGridControlTableBase.hxx @@ -173,14 +173,6 @@ public: protected: // internal helper methods ------------------------------------------------ - /** @attention This method requires locked mutex's and a living object. - @param nColumn - the position of the column in the Accessible world - @return - the position of the column in VCL the Accessible world - */ - sal_uInt16 implToVCLColumnPos( sal_Int32 nColumn ) const; - /** @attention This method requires locked mutex's and a living object. @return The number of cells of the table. */ sal_Int32 implGetChildCount() const; diff --git a/accessibility/source/extended/AccessibleGridControlTableBase.cxx b/accessibility/source/extended/AccessibleGridControlTableBase.cxx index 352e80e1a666..f6d1147ad309 100755 --- a/accessibility/source/extended/AccessibleGridControlTableBase.cxx +++ b/accessibility/source/extended/AccessibleGridControlTableBase.cxx @@ -220,19 +220,6 @@ Sequence< sal_Int8 > SAL_CALL AccessibleGridControlTableBase::getImplementationI // internal helper methods ---------------------------------------------------- -sal_uInt16 AccessibleGridControlTableBase::implToVCLColumnPos( sal_Int32 nColumn ) const -{ - sal_uInt16 nVCLPos = 0; - if( (0 <= nColumn) && (nColumn < m_aTable.GetColumnCount()) ) - { - // regard "handle column" - if( m_aTable.HasRowHeader() ) - ++nColumn; - nVCLPos = static_cast< sal_uInt16 >( nColumn ); - } - return nVCLPos; -} - sal_Int32 AccessibleGridControlTableBase::implGetChildCount() const { return m_aTable.GetRowCount()*m_aTable.GetColumnCount(); -- cgit From cbcbf81ee5fbbbbca91cafee00569dba7c548bde Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 14:56:04 +0200 Subject: vitomation01: #i109696 - Fix timing issue in m_020_.inc --- testautomation/math/required/includes/m_020_.inc | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/testautomation/math/required/includes/m_020_.inc b/testautomation/math/required/includes/m_020_.inc index 31d9fed08c2e..b1e423d62f2e 100755 --- a/testautomation/math/required/includes/m_020_.inc +++ b/testautomation/math/required/includes/m_020_.inc @@ -40,33 +40,33 @@ testcase tMainToolbar '/// open application ///' Call hNewDocument '/// type something into document ///' - SchreibenInMathdok "a over b" + SchreibenInMathdok( "a over b" ) kontext "Toolbar" '/// click buttons on Main Toolbar ///' '/// click 'Zoom in' ///' - Vergroessern.Click + hClickButton( Vergroessern ) '/// click 'Zoom out' ///' - Verkleinern.Click + hClickButton( Verkleinern ) '/// click 'Zoom 100%' ///' - ZoomHundertProzent.Click + hClickButton( ZoomHundertProzent ) '/// click 'Zoom inEntire Formula' ///' - GanzeFormel.Click + hClickButton( GanzeFormel ) '/// click 'Refresh' ///' - FormelAktualisieren.Click + hClickButton( FormelAktualisieren ) '/// click 'Formula Cursor' ///' - FormulaCursor.Click + hClickButton( FormulaCursor ) '/// click 'Symbols' ///' - FormelSymbole.Click + hClickButton( FormelSymbole ) kontext "SymboleMath" - if (SymboleMath.exists <> TRUE) then - warnlog "Symbols Dialog didn't came up :-(" - else + if ( SymboleMath.exists( 1 ) ) then '/// close dialog 'Symbols' ///' - SymboleMath.close + hCloseDialog( SymboleMath, "close" ) + else + warnlog( "Dialog did not open" ) endif kontext "Toolbar" '/// click 'Formula Cursor' ///' - FormulaCursor.Click + hClickButton( FormulaCursor ) '/// close application ///' Call hCloseDocument endcase -- cgit From 7b2c82f82d01a4301733b26d71e0de648a1cf7fb Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 15:09:24 +0200 Subject: vitomation01: #i109696 - Fix missing subs in d_updt.bas --- testautomation/graphics/required/d_updt.bas | 6 +++--- testautomation/graphics/required/includes/draw/d_002_.inc | 8 ++++++++ testautomation/graphics/required/includes/draw/d_003_.inc | 9 +++++++++ testautomation/graphics/required/includes/draw/d_005_.inc | 8 ++++++++ testautomation/graphics/required/includes/draw/d_007.inc | 8 ++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) mode change 100644 => 100755 testautomation/graphics/required/includes/draw/d_002_.inc mode change 100644 => 100755 testautomation/graphics/required/includes/draw/d_003_.inc mode change 100644 => 100755 testautomation/graphics/required/includes/draw/d_005_.inc mode change 100644 => 100755 testautomation/graphics/required/includes/draw/d_007.inc diff --git a/testautomation/graphics/required/d_updt.bas b/testautomation/graphics/required/d_updt.bas index 9d56a2c87fed..b18028629a7f 100755 --- a/testautomation/graphics/required/d_updt.bas +++ b/testautomation/graphics/required/d_updt.bas @@ -55,13 +55,13 @@ sub main use "graphics\required\includes\draw\d_005_.inc" use "graphics\required\includes\draw\d_007.inc" - Call D_003_ + Call d_003 call id_002 call id_011 - Call D_002_ + Call d_002 call id_003 call id_004 - Call D_005_ + Call d_005 call id_005 call id_006 call d_007 diff --git a/testautomation/graphics/required/includes/draw/d_002_.inc b/testautomation/graphics/required/includes/draw/d_002_.inc old mode 100644 new mode 100755 index d3d0ee81a9c3..cf37b87ffee4 --- a/testautomation/graphics/required/includes/draw/d_002_.inc +++ b/testautomation/graphics/required/includes/draw/d_002_.inc @@ -31,6 +31,14 @@ '* '\***************************************************************** +sub d_002 + + call tdEditCrossFading() + call tdEditLayer() + +end sub + +'******************************************************************************* testcase tdEditCrossFading diff --git a/testautomation/graphics/required/includes/draw/d_003_.inc b/testautomation/graphics/required/includes/draw/d_003_.inc old mode 100644 new mode 100755 index 3a7c7da12c38..246e0db05fc9 --- a/testautomation/graphics/required/includes/draw/d_003_.inc +++ b/testautomation/graphics/required/includes/draw/d_003_.inc @@ -31,6 +31,15 @@ '* '\***************************************************************** +sub d_003 + + call tdViewPagePane() + call tdViewSlide() + +end sub + +'******************************************************************************* + testcase tdViewPagePane printlog " open application " diff --git a/testautomation/graphics/required/includes/draw/d_005_.inc b/testautomation/graphics/required/includes/draw/d_005_.inc old mode 100644 new mode 100755 index 046e0bd76a30..998a42cdc093 --- a/testautomation/graphics/required/includes/draw/d_005_.inc +++ b/testautomation/graphics/required/includes/draw/d_005_.inc @@ -31,6 +31,14 @@ '* '\***************************************************************** +sub d_005 + + call tiFormatLayer() + +end sub + +'******************************************************************************* + testcase tiFormatLayer printlog " open application " diff --git a/testautomation/graphics/required/includes/draw/d_007.inc b/testautomation/graphics/required/includes/draw/d_007.inc old mode 100644 new mode 100755 index 6582ff2c34c1..ce36abf03b59 --- a/testautomation/graphics/required/includes/draw/d_007.inc +++ b/testautomation/graphics/required/includes/draw/d_007.inc @@ -31,6 +31,14 @@ '* '\***************************************************************** +sub d_007 + + call tdModifyRotate() + +end sub + +'******************************************************************************* + testcase tdModifyRotate printlog " open application " -- cgit From 1ad6bfaa61736ffd37b67c35506a7e68f0c63396 Mon Sep 17 00:00:00 2001 From: Christian Lippka Date: Thu, 3 Jun 2010 15:20:47 +0200 Subject: #i58213# get date styles from automatic styles in impress --- xmloff/source/draw/ximppage.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xmloff/source/draw/ximppage.cxx b/xmloff/source/draw/ximppage.cxx index becfd05b1963..6c715b5ad77a 100644 --- a/xmloff/source/draw/ximppage.cxx +++ b/xmloff/source/draw/ximppage.cxx @@ -339,6 +339,9 @@ void SdXMLGenericPageContext::EndElement() else if( aDateTimeFormat.getLength() ) { const SdXMLStylesContext* pStyles = dynamic_cast< const SdXMLStylesContext* >( GetSdImport().GetShapeImport()->GetStylesContext() ); + if( !pStyles ) + pStyles = dynamic_cast< const SdXMLStylesContext* >( GetSdImport().GetShapeImport()->GetAutoStylesContext() ); + if( pStyles ) { const SdXMLNumberFormatImportContext* pSdNumStyle = -- cgit From b10e399049dbc5749c7eb80aed054b659767c398 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 16:12:29 +0200 Subject: vitomation01: #i109696 - Reformatted according to coding guidelines, these tests are extremely hard to read and feature an enormous amount of unnecessary wait cycles. Should fix soon. --- .../required/includes/impress/i_opt_1_.inc | 18 +- .../graphics/required/includes/impress/im_002_.inc | 30 +- .../graphics/required/includes/impress/im_003_.inc | 36 +- .../graphics/required/includes/impress/im_004_.inc | 38 +- .../graphics/required/includes/impress/im_005_.inc | 4 +- .../graphics/required/includes/impress/im_007_.inc | 524 ++++++++++----------- .../graphics/required/includes/impress/im_011_.inc | 36 +- 7 files changed, 343 insertions(+), 343 deletions(-) mode change 100755 => 100644 testautomation/graphics/required/includes/impress/im_003_.inc diff --git a/testautomation/graphics/required/includes/impress/i_opt_1_.inc b/testautomation/graphics/required/includes/impress/i_opt_1_.inc index f648ee8b5cd5..87332578d666 100644 --- a/testautomation/graphics/required/includes/impress/i_opt_1_.inc +++ b/testautomation/graphics/required/includes/impress/i_opt_1_.inc @@ -40,7 +40,7 @@ testcase tiAlwaysWithCurrentPage() printlog "Open file 'impdraw\required\input\diashow.od?" hFileOpen ConvertPath (gTesttoolPath + "graphics\required\input\diashow.odp") WaitSlot(10000) 'sleep 10 - + printlog "Check if the document is writable" if fIsDocumentWritable = false then printlog "Make the document writable and check if it's succesfull" @@ -49,8 +49,8 @@ testcase tiAlwaysWithCurrentPage() goto endsub endif endif - - printlog "Test with default option." + + printlog "Test with default option." printlog "Checking: 'Always with current page' - default" printlog "Setting Options to start with current page." @@ -69,7 +69,7 @@ testcase tiAlwaysWithCurrentPage() if (i<>1) then warnlog "Presupposition not met. After loading the file not the first slide is up. It is number: " + i endif - + printlog "Press Key [Page Down] two times to get to slide number three. We are on slide one." hTypeKeys ("") printlog "Start the slideshow with 'Slide Show->Slide Show." @@ -82,7 +82,7 @@ testcase tiAlwaysWithCurrentPage() ViewNavigator endif printlog "The slideshow has to start on slide 3." - printlog "running routine for slide 3 and 4." + printlog "running routine for slide 3 and 4." for i = 3 to 4 Kontext "NavigatorDraw" printlog "Checking for navigator.." @@ -97,7 +97,7 @@ testcase tiAlwaysWithCurrentPage() DocumentPresentation.TypeKeys "" WaitSlot (5000) 'sleep (5) next i - + printlog "Trying to end presentation with mouseclick on black endscreen." try DocumentPresentation.mousedown (50,50,1) @@ -105,7 +105,7 @@ testcase tiAlwaysWithCurrentPage() catch warnlog "TimeOut on pressing mouse button." endcatch - + printlog "Trying to recognize if slideshow did not end.." try gMouseClick 50,50 ' this one works to recognice the not ending ! @@ -174,7 +174,7 @@ testcase tiAlwaysWithCurrentPage() printlog "Ending running presentation with ESC." DocumentPresentation.TypeKeys "" endcatch - + Kontext "NavigatorDraw" printlog "Checking if navigator is open." if (not NavigatorDraw.exists(5)) then @@ -183,7 +183,7 @@ testcase tiAlwaysWithCurrentPage() printlog "Checking if we are on slide 3." i = fGetSlideNumber() if (i<>3) then - warnlog "We are on the wrong slide! Should be 3 but it is: " & i + warnlog "We are on the wrong slide! Should be 3 but it is: " & i endif printlog "Close the navigator View->Navigator." diff --git a/testautomation/graphics/required/includes/impress/im_002_.inc b/testautomation/graphics/required/includes/impress/im_002_.inc index f4741210ce12..301b59dd757b 100644 --- a/testautomation/graphics/required/includes/impress/im_002_.inc +++ b/testautomation/graphics/required/includes/impress/im_002_.inc @@ -32,21 +32,21 @@ '\***************************************************************** testcase tiEditDeleteSlide -printlog "open application" - Call hNewDocument -printlog "Insert->Slide; press 'OK' " - InsertSlide - sleep 2 - hTypekeys "" - sleep 2 -printlog "Edit->Delete Slide " - try - EditDeleteSlide - catch - warnlog "Error when deleting slide" - endcatch - Call hCloseDocument -printlog "close application " + printlog "open application" + Call hNewDocument + printlog "Insert->Slide; press 'OK' " + InsertSlide + sleep 2 + hTypekeys "" + sleep 2 + printlog "Edit->Delete Slide " + try + EditDeleteSlide + catch + warnlog "Error when deleting slide" + endcatch + Call hCloseDocument + printlog "close application " endcase diff --git a/testautomation/graphics/required/includes/impress/im_003_.inc b/testautomation/graphics/required/includes/impress/im_003_.inc old mode 100755 new mode 100644 index 02f6dae3b2b1..a2342582407d --- a/testautomation/graphics/required/includes/impress/im_003_.inc +++ b/testautomation/graphics/required/includes/impress/im_003_.inc @@ -110,7 +110,7 @@ testcase tiViewPanes endif catch warnlog "View->Slide Pane couldn't get executed" - endcatch + endcatch printlog "Reactivate all pages in the Task-panel " kontext "Tasks" @@ -120,7 +120,7 @@ testcase tiViewPanes hMenuSelectNr (3) View.OpenMenu hMenuSelectNr (4) - + endcase 'tiViewPanes '--------------------------------------------------------- testcase tiViewMasterView @@ -130,29 +130,29 @@ testcase tiViewMasterView printlog "View->Master View->Drawing View" sleep 1 ViewWorkspaceDrawingView - sleep 5 + sleep 5 printlog "View->Master View->Outline View " ViewWorkspaceOutlineView - sleep 1 + sleep 1 printlog "View->Master View->Slides View " ViewWorkspaceSlidesView - sleep 1 + sleep 1 printlog "View->Master View->Notes View " ViewWorkspaceNotesView - sleep 1 + sleep 1 printlog "View->Master View->Handout View " ViewWorkspaceHandoutView - sleep 1 + sleep 1 printlog "View->Master View->Drawing View " ViewWorkspaceDrawingView printlog "close application " - sleep 1 + sleep 1 Call hCloseDocument - + endcase 'tiViewMasterView '--------------------------------------------------------- testcase tiViewSlideMaster - + printlog "open application with : File->Autopilot->Presentation; OK; OK " FileAutopilotPresentation ' to get a title :-) sleep 2 @@ -177,10 +177,10 @@ testcase tiViewSlideMaster Sleep 1 printlog "View->Master->Title " try - ViewTitle - Errorlog "View - Master - Title Slide Master should NOT be accessable" + ViewTitle + Errorlog "View - Master - Title Slide Master should NOT be accessable" catch - printlog "View - Master - Title Slide Master not accessable - good" + printlog "View - Master - Title Slide Master not accessable - good" endcatch Sleep 1 printlog "View->Slide " @@ -200,18 +200,18 @@ testcase tiViewSlideMaster Sleep 1 printlog "close application " Call hCloseDocument - + endcase 'tiViewSlideMaster '-------------------------------------------------------- testcase tiViewToolbar_1 const DEFAULT_DELAY = 3 - + Dim NumberOfGraphicModes as integer Dim iCurrentGraphicsMode as integer dim TestFile as string - TestFile = ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") + TestFile = ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") printlog "open application " Call hNewDocument @@ -252,8 +252,8 @@ testcase tiViewToolbar_1 else warnlog( "Insert Graphics dialog did not open" ) endif - + printlog "close application " Call hCloseDocument - + endcase 'tiViewToolbar_1 diff --git a/testautomation/graphics/required/includes/impress/im_004_.inc b/testautomation/graphics/required/includes/impress/im_004_.inc index f33a75f12a19..c78580af123f 100644 --- a/testautomation/graphics/required/includes/impress/im_004_.inc +++ b/testautomation/graphics/required/includes/impress/im_004_.inc @@ -33,24 +33,24 @@ testcase tiInsertSlideExpandSummary -printlog "open application " - Call hNewDocument -printlog "View->Master View->Outline View " - ViewWorkspaceOutlineView - Sleep 1 - Kontext "DocumentImpressOutlineView" -printlog "Type 2 rows " - DocumentImpressOutlineView.TypeKeys "HerbertRudi" -printlog "View->Master View->Drawing View " - ViewWorkspaceDrawingView - Sleep 1 -printlog "Insert->Summery Slide " - InsertSummerySlide - Sleep 1 -printlog "Insert->Expand Slide " - InsertExpandSlide - Sleep 2 -printlog "close application " - Call hCloseDocument + printlog "open application " + Call hNewDocument + printlog "View->Master View->Outline View " + ViewWorkspaceOutlineView + Sleep 1 + Kontext "DocumentImpressOutlineView" + printlog "Type 2 rows " + DocumentImpressOutlineView.TypeKeys "HerbertRudi" + printlog "View->Master View->Drawing View " + ViewWorkspaceDrawingView + Sleep 1 + printlog "Insert->Summery Slide " + InsertSummerySlide + Sleep 1 + printlog "Insert->Expand Slide " + InsertExpandSlide + Sleep 2 + printlog "close application " + Call hCloseDocument endcase diff --git a/testautomation/graphics/required/includes/impress/im_005_.inc b/testautomation/graphics/required/includes/impress/im_005_.inc index b651dcea9cae..f5533b5c57f6 100644 --- a/testautomation/graphics/required/includes/impress/im_005_.inc +++ b/testautomation/graphics/required/includes/impress/im_005_.inc @@ -37,7 +37,7 @@ testcase tiFormatModifyLayout Call hNewDocument printlog "Impress: Format->Modify Layout " printlog "Draw : kontext menu: Slide-> Modify Slide (always disabled :-( ?" - FormatPage + FormatPage Kontext "SeitenLayout" DialogTest ( SeitenLayout ) sleep 1 @@ -45,5 +45,5 @@ testcase tiFormatModifyLayout SeitenLayout.Cancel printlog "close application " Call hCloseDocument - + endcase 'tiFormatModifyLayout diff --git a/testautomation/graphics/required/includes/impress/im_007_.inc b/testautomation/graphics/required/includes/impress/im_007_.inc index 7248b0a2eca5..28777f0874bd 100644 --- a/testautomation/graphics/required/includes/impress/im_007_.inc +++ b/testautomation/graphics/required/includes/impress/im_007_.inc @@ -65,22 +65,22 @@ testcase tSlideShowSlideShow DocumentImpress.MouseDoubleClick ( 50, 50 ) Sleep 3 catch -' FileClose + ' FileClose warnlog "had to catch :-( " -' Kontext "Messagebox" -' if Messagebox.Exists (5) Then Messagebox.No -' Kontext -' sleep (12) -' start sAppExe$ -' sleep (6) -' Kontext -' if Office.Exists(2) then Resetapplication -' Warnlog "Slide didn't end, application wasn't in document edit mode" + ' Kontext "Messagebox" + ' if Messagebox.Exists (5) Then Messagebox.No + ' Kontext + ' sleep (12) + ' start sAppExe$ + ' sleep (6) + ' Kontext + ' if Office.Exists(2) then Resetapplication + ' Warnlog "Slide didn't end, application wasn't in document edit mode" endcatch printlog "close application " Call hCloseDocument - endcase 'tSlideShowSlideShow +endcase 'tSlideShowSlideShow '------------------------------------------------------------------------------- testcase tSlideShowRehearseTimings @@ -99,32 +99,32 @@ testcase tSlideShowRehearseTimings sleep 2 Kontext "DocumentPresentation" printlog "Press to leave presentation mode " - if DocumentPresentation.Exists (5) then - DocumentPresentation.Typekeys ("") - else - Warnlog "SlideShowRehearseTimings mode not accessible" - endif - Sleep 3 - if DocumentPresentation.Exists then ' the kontext hasnt to be available, else ERROR - DocumentPresentation.TypeKeys "" ' => I mustn't be here ever ! - Warnlog "- Slide show mode should have ended" - else - printlog "SlideShowRehearseTimings mode not accessible :-) " - end if - sleep 3 - try - Kontext "DocumentImpress" - DocumentImpress.MouseDoubleClick ( 50, 50 ) + if DocumentPresentation.Exists (5) then + DocumentPresentation.Typekeys ("") + else + Warnlog "SlideShowRehearseTimings mode not accessible" + endif + Sleep 3 + if DocumentPresentation.Exists then ' the kontext hasnt to be available, else ERROR + DocumentPresentation.TypeKeys "" ' => I mustn't be here ever ! + Warnlog "- Slide show mode should have ended" + else + printlog "SlideShowRehearseTimings mode not accessible :-) " + end if + sleep 3 + try + Kontext "DocumentImpress" + DocumentImpress.MouseDoubleClick ( 50, 50 ) - sleep 3 - catch - warnlog "Had to catch :-( " - endcatch + sleep 3 + catch + warnlog "Had to catch :-( " + endcatch sleep 3 printlog "close application " Call hCloseDocument - endcase 'tSlideShowRehearseTimings +endcase 'tSlideShowRehearseTimings '------------------------------------------------------------------------------- testcase tSlideShowSlideShowSettings @@ -171,11 +171,11 @@ testcase tSlideShowSlideShowSettings Bildschirmpraesentation.Cancel printlog "close application " Call hCloseDocument - + endcase 'tSlideShowSlideShowSettings '------------------------------------------------------------------------------- testcase tSlideShowCustomSlideShow - + printlog "open application " Call hNewDocument sleep 2 @@ -225,36 +225,36 @@ testcase tSlideShowCustomSlideShow printlog "close dialog 'Custom Slide Shows' " ' IndividuellePraesentation.Close ' slide show ends dialog ! printlog "Slide Show->Slide Show Settings " - try - SlideShowPresentationSettings - catch - warnlog "Presentation did not end :-(" - DocumentPresentation.TypeKeys "" - endcatch - Kontext "Bildschirmpraesentation" - if Bildschirmpraesentation.exists (5) then - printlog "check checkbox 'Custom Slide Show' " - RangeCustomSlideShow.Check - printlog "check: '" + IndividuellePraesentationName.GetSelText + "'" - printlog "cancel dialog 'Slide Show' " - Bildschirmpraesentation.Cancel - else - warnlog "Dialog not open? SlideShowPresentationSettings" - endif - printlog "Slide Show->Custom Slide Show " - SlideShowCustomSlideshow - Kontext "IndividuellePraesentation" - if (IndividuellePraesentation.exists (5)) then - printlog "click button 'Delete' " - Loeschen.Click - printlog "close dialog 'Custom Slide Shows' " - IndividuellePraesentation.Close - else - warnlog "Dialog not open? SlideShowCustomSlideshow" - endif - printlog "close application " - Call hCloseDocument - + try + SlideShowPresentationSettings + catch + warnlog "Presentation did not end :-(" + DocumentPresentation.TypeKeys "" + endcatch + Kontext "Bildschirmpraesentation" + if Bildschirmpraesentation.exists (5) then + printlog "check checkbox 'Custom Slide Show' " + RangeCustomSlideShow.Check + printlog "check: '" + IndividuellePraesentationName.GetSelText + "'" + printlog "cancel dialog 'Slide Show' " + Bildschirmpraesentation.Cancel + else + warnlog "Dialog not open? SlideShowPresentationSettings" + endif + printlog "Slide Show->Custom Slide Show " + SlideShowCustomSlideshow + Kontext "IndividuellePraesentation" + if (IndividuellePraesentation.exists (5)) then + printlog "click button 'Delete' " + Loeschen.Click + printlog "close dialog 'Custom Slide Shows' " + IndividuellePraesentation.Close + else + warnlog "Dialog not open? SlideShowCustomSlideshow" + endif + printlog "close application " + Call hCloseDocument + endcase 'tSlideShowCustomSlideShow '------------------------------------------------------------------------------ testcase tSlideShowSlideTransition @@ -273,95 +273,95 @@ testcase tSlideShowSlideTransition sleep 2 printlog "The 'Slide Transition' in the right 'Tasks' Pane has to come up " Kontext "Tasks" - printlog "Select the second entry from teh Listbox 'Applay to selected slides' " - TransitionApplyToSelectedSlide.select (2) - sleep 5 ' takes some time, until it is run - Printlog "Count of effects : "+TransitionApplyToSelectedSlide.GetItemCount - Printlog "Count of Speeds : "+TransitionSpeed.GetItemCount - iCount = TransitionSound.GetItemCount - Printlog "Count of Sounds : " + iCount + printlog "Select the second entry from teh Listbox 'Applay to selected slides' " + TransitionApplyToSelectedSlide.select (2) + sleep 5 ' takes some time, until it is run + Printlog "Count of effects : "+TransitionApplyToSelectedSlide.GetItemCount + Printlog "Count of Speeds : "+TransitionSpeed.GetItemCount + iCount = TransitionSound.GetItemCount + Printlog "Count of Sounds : " + iCount - printlog "One Entry of the Listbox 'Sound' is 'Other sound...', select it " - TransitionSound.typeKeys "" - i = 0 - for a = 1 to iCount - TransitionSound.select (a) - kontext "OeffnenDlg" - if (OeffnenDlg.exists (5)) then - if (0=i) then - ' remember when dialog came up - i = a - OeffnenDlg.cancel - else - warnlog "File Open Dialog comes up a second time!" - OeffnenDlg.cancel - endif - endif - kontext "Tasks" - ' the Checkbox is disabled on teh first three entries: , ... - if (TransitionLoopUntilNextSound.isEnabled AND (a<4)) then - qaErrorLog "May be Language specific -> Evaluation of TBO; " + a - endif - next a - TransitionSound.select (i) - printlog "The dialog 'Open' comes up" - sleep 1 + printlog "One Entry of the Listbox 'Sound' is 'Other sound...', select it " + TransitionSound.typeKeys "" + i = 0 + for a = 1 to iCount + TransitionSound.select (a) kontext "OeffnenDlg" if (OeffnenDlg.exists (5)) then - printlog "Read all entries in Listbox 'File type' " - for i = 1 to Dateityp.getItemCount - printlog "" + i + ":" + Dateityp.getItemText(i) - next i - printlog "cancel dialog 'Open' " - OeffnenDlg.cancel - else - warnlog "Impress:Tasks Pane:Slide Transition:Sound:Other sound... disdn't bring up teh File Open Dialog!" + if (0=i) then + ' remember when dialog came up + i = a + OeffnenDlg.cancel + else + warnlog "File Open Dialog comes up a second time!" + OeffnenDlg.cancel + endif endif kontext "Tasks" - sleep (2) - printlog "check checkbox 'Automatically after' " - TransitionAutomaticallyAfter.check - sleep (2) - printlog "press key 'Page Up' in box " - TransitionAutomaticallyAfterTime.typeKeys "" - sleep 9 - printlog "check the standard checkbox 'On mouse click' " - TransitionOnMouseClick.check - sleep (2) - printlog "press button 'Apply to All Slides' " - TransitionApplyToAllSlides.click - sleep (2) - printlog "press button 'Play' " - TransitionPlay.click - sleep 10 - printlog "press button 'Slide Show' " - TransitionSlideShow.click - sleep 2 - kontext "DocumentPresentation" - if DocumentPresentation.exists (10) then - printlog "Presentation started :-)" - DocumentPresentation.typeKeys "" - else - warnlog "Impress:Tasks Pane:Slide Transition:Slide Show button doesn't start slideshow!" + ' the Checkbox is disabled on teh first three entries: , ... + if (TransitionLoopUntilNextSound.isEnabled AND (a<4)) then + qaErrorLog "May be Language specific -> Evaluation of TBO; " + a endif - kontext "Tasks" + next a + TransitionSound.select (i) + printlog "The dialog 'Open' comes up" + sleep 1 + kontext "OeffnenDlg" + if (OeffnenDlg.exists (5)) then + printlog "Read all entries in Listbox 'File type' " + for i = 1 to Dateityp.getItemCount + printlog "" + i + ":" + Dateityp.getItemText(i) + next i + printlog "cancel dialog 'Open' " + OeffnenDlg.cancel + else + warnlog "Impress:Tasks Pane:Slide Transition:Sound:Other sound... disdn't bring up teh File Open Dialog!" + endif + kontext "Tasks" + sleep (2) + printlog "check checkbox 'Automatically after' " + TransitionAutomaticallyAfter.check + sleep (2) + printlog "press key 'Page Up' in box " + TransitionAutomaticallyAfterTime.typeKeys "" + sleep 9 + printlog "check the standard checkbox 'On mouse click' " + TransitionOnMouseClick.check + sleep (2) + printlog "press button 'Apply to All Slides' " + TransitionApplyToAllSlides.click + sleep (2) + printlog "press button 'Play' " + TransitionPlay.click + sleep 10 + printlog "press button 'Slide Show' " + TransitionSlideShow.click + sleep 2 + kontext "DocumentPresentation" + if DocumentPresentation.exists (10) then + printlog "Presentation started :-)" + DocumentPresentation.typeKeys "" + else + warnlog "Impress:Tasks Pane:Slide Transition:Slide Show button doesn't start slideshow!" + endif + kontext "Tasks" - printlog "uncheck and check Checkbox 'Automatic Preview' " - printlog "default is checked " - if (NOT TransitionAutomaticPreview.isChecked) then - warnlog "Impress:Tasks Pane:Slide Transition: Automatic preview has to be checked by default, wasn't!" - endif - sleep (2) - TransitionAutomaticPreview.unCheck - sleep (2) - TransitionAutomaticPreview.Check + printlog "uncheck and check Checkbox 'Automatic Preview' " + printlog "default is checked " + if (NOT TransitionAutomaticPreview.isChecked) then + warnlog "Impress:Tasks Pane:Slide Transition: Automatic preview has to be checked by default, wasn't!" + endif + sleep (2) + TransitionAutomaticPreview.unCheck + sleep (2) + TransitionAutomaticPreview.Check printlog "close application " Call hCloseDocument - + endcase 'tSlideShowSlideTransition '------------------------------------------------------------------------------- testcase tSlideShowShowHideSlide - + printlog "open application " Call hNewDocument printlog "create rectangle " @@ -376,9 +376,9 @@ testcase tSlideShowShowHideSlide SlideShowShowSlide printlog "close application " Call hCloseDocument - endcase - - testcase tSlideShowAnimation +endcase + +testcase tSlideShowAnimation printlog "open application " Call hNewDocument sleep 1 @@ -431,9 +431,9 @@ testcase tSlideShowShowHideSlide sleep 5 printlog "click button 'Stop' " try - Stopp.Click + Stopp.Click catch - warnlog "Stopbutton doesn't work" + warnlog "Stopbutton doesn't work" endcatch sleep 1 printlog "Select 1st entry from top in 'Loop Count' " @@ -450,9 +450,9 @@ testcase tSlideShowShowHideSlide kontext "Messagebox" printlog "there has to be a messagebox 'Really delete?' say YES!; else ERROR " if Messagebox.exists (5) then - Messagebox.YES + Messagebox.YES else - warnlog "No one cares about my data :-( No one asked if all shall be deleted :-( " + warnlog "No one cares about my data :-( No one asked if all shall be deleted :-( " endif sleep 1 kontext "Animation" @@ -460,7 +460,7 @@ testcase tSlideShowShowHideSlide Animation.Close printlog "close application " Call hCloseDocument - + endcase 'tSlideShowShowHideSlide '------------------------------------------------------------------------------- testcase tSlideShowCustomAnimation @@ -490,7 +490,7 @@ testcase tSlideShowCustomAnimation sleep 1 AutomaticPreview.Check kontext - + printlog "Switch to TabPage: Emphasis" active.setPage(TabEmphasis) kontext "TabEmphasis" @@ -501,129 +501,129 @@ testcase tSlideShowCustomAnimation warnlog "Impress:Tasks Pane:Custom Animation:TabEmphasis tabPage doesn't work." endif kontext - - printlog "Switch to TabPage: Exit" - active.setPage(TabExit) - kontext "TabExit" - if TabExit.exists(5) then - DialogTest(TabExit) - else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:TabExit tabPage doesn't work." - endif - kontext - - printlog "Switch to TabPage: Motion Paths" - active.setPage(TabMotionPaths) - kontext "TabMotionPaths" - if TabMotionPaths.exists(5) then - DialogTest(TabMotionPaths) - Effects.select(7) - else - bError = true - warnlog "Impress:Tasks Pane:Custom Animation:TabMotionPaths tabPage doesn't work." - endif - kontext - '----------------------------------------------------------------------- - 'printlog "Switch to tabpage: Misc Effects" - 'active.setPage(TabMiscEffects) - 'kontext "TabMiscEffects" - 'if TabMiscEffects.exists(5) then - ' DialogTest(TabMiscEffects) - 'else - ' bError = true - ' warnlog "Impress:TaskPane:CustomAnimation:TabMiscEffects tabPage does not work." - 'endif - 'kontext - '----------------------------------------------------------------------- - printlog "Close dialog 'Custom Animation' with 'OK'" - TabMotionPaths.OK - bError = false + + printlog "Switch to TabPage: Exit" + active.setPage(TabExit) + kontext "TabExit" + if TabExit.exists(5) then + DialogTest(TabExit) + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:TabExit tabPage doesn't work." + endif + kontext + + printlog "Switch to TabPage: Motion Paths" + active.setPage(TabMotionPaths) + kontext "TabMotionPaths" + if TabMotionPaths.exists(5) then + DialogTest(TabMotionPaths) + Effects.select(7) else bError = true - warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work." + warnlog "Impress:Tasks Pane:Custom Animation:TabMotionPaths tabPage doesn't work." endif + kontext + '----------------------------------------------------------------------- + 'printlog "Switch to tabpage: Misc Effects" + 'active.setPage(TabMiscEffects) + 'kontext "TabMiscEffects" + 'if TabMiscEffects.exists(5) then + ' DialogTest(TabMiscEffects) + 'else + ' bError = true + ' warnlog "Impress:TaskPane:CustomAnimation:TabMiscEffects tabPage does not work." + 'endif + 'kontext + '----------------------------------------------------------------------- + printlog "Close dialog 'Custom Animation' with 'OK'" + TabMotionPaths.OK + bError = false + else + bError = true + warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work." + endif + Kontext "Tasks" + if (NOT bError) then + printlog "click button 'Change...'" + EffectChange.click + printlog "Dialog 'Custom Animation' comes up" + kontext + printlog "Switch to TabPage: Entrance" + active.setPage(TabEntrance) + kontext "TabEntrance" + if (NOT TabEntrance.exists(5)) then + warnlog "Impress:Tasks Pane:Custom Animation:Change... button didn't work." + endif + TabEntrance.cancel Kontext "Tasks" - if (NOT bError) then - printlog "click button 'Change...'" - EffectChange.click - printlog "Dialog 'Custom Animation' comes up" - kontext - printlog "Switch to TabPage: Entrance" - active.setPage(TabEntrance) - kontext "TabEntrance" - if (NOT TabEntrance.exists(5)) then - warnlog "Impress:Tasks Pane:Custom Animation:Change... button didn't work." - endif - TabEntrance.cancel - Kontext "Tasks" - EffectStart.getItemCount - if EffectProperty.isEnabled then - EffectProperty.getItemCount - endif - printlog "Click on button '...' (Options)" - EffectOptions.click - kontext "TabEffect" - if TabEffect.exists(5) then - dialogTest(TabEffect) - Sound.getItemCount - AfterAnimation.getItemCount - printlog "switch to TabPage 'Timing'" - Kontext - active.setPage TabTiming - kontext "TabTiming" - if TabTiming.exists(5) then - dialogTest(TabTiming) - TimingStart.getItemCount - Delay.getText - Speed.getItemCount - Repeat.getItemCount - Rewind.ischecked - TriggerAnimate.isChecked - TriggerStart.isChecked - Shape.getItemCount - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." - endif - printlog "switch to TabPage 'Timing'" - Kontext - active.setPage TabTextAnimation - kontext "TabTextAnimation" - if TabTextAnimation.exists(5) then - dialogTest(TabTextAnimation) - GroupText.getItemCount - AnimateAttachedShape.isChecked - TabTextAnimation.cancel - else - warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." - endif + EffectStart.getItemCount + if EffectProperty.isEnabled then + EffectProperty.getItemCount + endif + printlog "Click on button '...' (Options)" + EffectOptions.click + kontext "TabEffect" + if TabEffect.exists(5) then + dialogTest(TabEffect) + Sound.getItemCount + AfterAnimation.getItemCount + printlog "switch to TabPage 'Timing'" + Kontext + active.setPage TabTiming + kontext "TabTiming" + if TabTiming.exists(5) then + dialogTest(TabTiming) + TimingStart.getItemCount + Delay.getText + Speed.getItemCount + Repeat.getItemCount + Rewind.ischecked + TriggerAnimate.isChecked + TriggerStart.isChecked + Shape.getItemCount else - warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work." endif - Kontext "Tasks" - EffectSpeed.getItemCount - EffectList.getItemCount - EffectPlay.click - printlog "Wait five seconds so the Playfunction has ended " - sleep 5 - EffectSlideShow.click - sleep 1 - kontext "DocumentPresentation" - if DocumentPresentation.exists (5) then - printlog "Presentation started :-)" - DocumentPresentation.typeKeys "" + printlog "switch to TabPage 'Timing'" + Kontext + active.setPage TabTextAnimation + kontext "TabTextAnimation" + if TabTextAnimation.exists(5) then + dialogTest(TabTextAnimation) + GroupText.getItemCount + AnimateAttachedShape.isChecked + TabTextAnimation.cancel else - warnlog "Impress:Tasks Pane:Custom Animation:Slide Show button doesn't start slideshow!" + warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work." endif - kontext "Tasks" - EffectAutomaticPreview.isChecked - printlog "click button 'Remove'" - EffectRemove.click + else + warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work." endif + Kontext "Tasks" + EffectSpeed.getItemCount + EffectList.getItemCount + EffectPlay.click + printlog "Wait five seconds so the Playfunction has ended " + sleep 5 + EffectSlideShow.click + sleep 1 + kontext "DocumentPresentation" + if DocumentPresentation.exists (5) then + printlog "Presentation started :-)" + DocumentPresentation.typeKeys "" + else + warnlog "Impress:Tasks Pane:Custom Animation:Slide Show button doesn't start slideshow!" + endif + kontext "Tasks" + EffectAutomaticPreview.isChecked + printlog "click button 'Remove'" + EffectRemove.click + endif printlog "close application" Call hCloseDocument - + endcase 'tSlideShowCustomAnimation '------------------------------------------------------------------------------- testcase tSlideShowInteraction @@ -715,5 +715,5 @@ testcase tSlideShowInteraction sleep 2 printlog "close application " Call hCloseDocument - + endcase 'tSlideShowInteraction diff --git a/testautomation/graphics/required/includes/impress/im_011_.inc b/testautomation/graphics/required/includes/impress/im_011_.inc index 876ca7aa9a56..42a703402ac9 100644 --- a/testautomation/graphics/required/includes/impress/im_011_.inc +++ b/testautomation/graphics/required/includes/impress/im_011_.inc @@ -32,11 +32,11 @@ '\***************************************************************** testcase tiDiaLeiste - + ' only in IMPRESS dim sTemp as string Dim i,x as integer - + printlog " open application " Call hNewDocument sleep 1 @@ -46,7 +46,7 @@ testcase tiDiaLeiste MitAktuellerSeite.Uncheck Kontext "ExtrasOptionenDlg" ExtrasOptionenDlg.OK - + printlog " insert a graphic: global\input\graf_inp\desp.bmp) " Printlog "- Insert graphic from file so there is something for the slide mode" hGrafikEinfuegen ConvertPath (gTesttoolPath + "global\input\graf_inp\desp.bmp") @@ -66,19 +66,19 @@ testcase tiDiaLeiste Printlog "- Test blend effect" Kontext "SlideViewObjectbar" ' CORRECT sleep 5 - + if Ueberblendeffekt.GetItemCount <> 57 then warnlog "these are not 57: " + Ueberblendeffekt.GetItemCount printlog " select last entry 'Automatic (random)' in listbox 'Slide Effects' on object toolbar " Ueberblendeffekt.Select (Ueberblendeffekt.GetItemCount) Printlog " select last effect (random effect): " + Ueberblendeffekt.GetSelText - + ' Printlog Geschwindigkeit.GetRT ' 341 listbox ' Printlog Diawechsel.GetRT ' 341 listbox ' Printlog Zeit.GetRT ' 353 spinfield ' Printlog DiasProReihe.GetRT ' 353 spinfield ' Printlog PraesentationMitZeitnahme.GetRT doesn't work, but behave as button ' Printlog DiaAnzeigen.GetRT doesn't work, but behave as button - + '-------------------------------- Geschwindigkeit ----------------------------------------- Printlog "- Check different speed settings" Kontext "SlideViewObjectbar" @@ -116,21 +116,21 @@ testcase tiDiaLeiste sleep 2 Kontext "DocumentPresentation" if DocumentPresentation.exists (5) then - sleep 5 - printlog " wait some seconds and click with mouse " - DocumentPresentation.MouseDown 50,50 - DocumentPresentation.MouseUp 50,50 - sleep 2 - printlog " wait some seconds and click with mouse " - DocumentPresentation.MouseDown 50,50 - DocumentPresentation.MouseUp 50,50 - sleep 3 + sleep 5 + printlog " wait some seconds and click with mouse " + DocumentPresentation.MouseDown 50,50 + DocumentPresentation.MouseUp 50,50 + sleep 2 + printlog " wait some seconds and click with mouse " + DocumentPresentation.MouseDown 50,50 + DocumentPresentation.MouseUp 50,50 + sleep 3 else - warnlog "Didn't switch into presentation mode :-(" + warnlog "Didn't switch into presentation mode :-(" endif Kontext "DocumentPresentation" if DocumentPresentation.exists (5) then - warnlog "We are still in presentation mode :-( WHY!!!!???" + warnlog "We are still in presentation mode :-( WHY!!!!???" endif '------------------------------- Dia anzeigen ja/nein -------------------------------------- Printlog "- Show slide yes/no" @@ -168,5 +168,5 @@ testcase tiDiaLeiste printlog " close application " Call hCloseDocument sleep 2 - + endcase 'tiDiaLeiste -- cgit From 001f2f4c24bfc3d95580ee3fbe22700be82b4c99 Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 16:27:51 +0200 Subject: vitomation01: #i109696 - Sleep() removal in some functions, added some Impress related slots to hUseAsyncSlot() --- .../global/tools/includes/required/t_tools3.inc | 9 +++ .../graphics/required/includes/impress/im_002_.inc | 11 +-- .../graphics/required/includes/impress/im_003_.inc | 85 +++++++++++----------- 3 files changed, 54 insertions(+), 51 deletions(-) diff --git a/testautomation/global/tools/includes/required/t_tools3.inc b/testautomation/global/tools/includes/required/t_tools3.inc index f6e72847621b..27ac128437ee 100755 --- a/testautomation/global/tools/includes/required/t_tools3.inc +++ b/testautomation/global/tools/includes/required/t_tools3.inc @@ -1083,8 +1083,17 @@ function hUseAsyncSlot( cSlot as string ) as integer case "toolsupdatelinks" : ToolsUpdateLinks case "toolslanguagehangulhanjaconversion" : ToolsLanguageHangulHanjaConversion + case "viewslide" : ViewSlide + case "viewdrawing" : ViewDrawing + case "viewnotes" : ViewNotes + case "viewhandout" : ViewHandout case "viewzoom" : ViewZoom case "viewnormal" : ViewNormal + case "viewworkspacedrawingview" : ViewWorkspaceDrawingView + case "viewworkspaceoutlineview" : ViewWorkspaceOutlineView + case "viewworkspaceslideview" : ViewWorkspaceSlidesView + case "viewworkspacenotesview" : ViewWorkspaceNotesView + case "viewworkspacehandoutview" : ViewWorkspaceHandoutView case else : warnlog( "Unknown slot called: " & cSlot ) end select diff --git a/testautomation/graphics/required/includes/impress/im_002_.inc b/testautomation/graphics/required/includes/impress/im_002_.inc index 301b59dd757b..955d42eea655 100644 --- a/testautomation/graphics/required/includes/impress/im_002_.inc +++ b/testautomation/graphics/required/includes/impress/im_002_.inc @@ -32,21 +32,18 @@ '\***************************************************************** testcase tiEditDeleteSlide + printlog "open application" Call hNewDocument printlog "Insert->Slide; press 'OK' " InsertSlide - sleep 2 + WaitSlot( 2000 ) hTypekeys "" - sleep 2 printlog "Edit->Delete Slide " - try - EditDeleteSlide - catch - warnlog "Error when deleting slide" - endcatch + hUseAsyncSlot( "EditDeleteSlide" ) Call hCloseDocument printlog "close application " + endcase diff --git a/testautomation/graphics/required/includes/impress/im_003_.inc b/testautomation/graphics/required/includes/impress/im_003_.inc index a2342582407d..a9c3cea74104 100644 --- a/testautomation/graphics/required/includes/impress/im_003_.inc +++ b/testautomation/graphics/required/includes/impress/im_003_.inc @@ -29,22 +29,18 @@ '* '* short description : Impress Resource Test: View Menu '* -'*********************************************************************************** -' #1 tiViewPanes -' #1 tiViewMasterView -' #1 tiViewSlideMaster -' #1 tiViewToolbar_1 -'\********************************************************************************** +'\****************************************************************************** testcase tiViewPanes + qaerrorlog( "This test is disabled, it needs rewriting" ) goto endsub 'TODO WG, tiViewPanes outcommented due to reconstruction of test dim bState as boolean printlog "open application " Call hCloseDocument Call hNewDocument - sleep 1 + kontext "Tasks" - if (NOT Tasks.exists) then + if ( not Tasks.exists( 2 ) ) then warnlog "Tasks Panel not visible on opening application. Opening now." ViewTaskPane endif @@ -127,26 +123,26 @@ testcase tiViewMasterView printlog "open application" Call hNewDocument + printlog "View->Master View->Drawing View" - sleep 1 - ViewWorkspaceDrawingView - sleep 5 + hUseAsyncSlot( "ViewWorkspaceDrawingView" ) + printlog "View->Master View->Outline View " - ViewWorkspaceOutlineView - sleep 1 + hUseAsyncSlot( "ViewWorkspaceOutlineView" ) + printlog "View->Master View->Slides View " - ViewWorkspaceSlidesView - sleep 1 + hUseAsyncSlot( "ViewWorkspaceSlidesView" ) + printlog "View->Master View->Notes View " - ViewWorkspaceNotesView - sleep 1 + hUseAsyncSlot( "ViewWorkspaceNotesView" ) + printlog "View->Master View->Handout View " - ViewWorkspaceHandoutView - sleep 1 + hUseAsyncSlot( "ViewWorkspaceHandoutView" ) + printlog "View->Master View->Drawing View " - ViewWorkspaceDrawingView + hUseAsyncSlot( "ViewWorkspaceDrawingView" ) + printlog "close application " - sleep 1 Call hCloseDocument endcase 'tiViewMasterView @@ -155,26 +151,29 @@ testcase tiViewSlideMaster printlog "open application with : File->Autopilot->Presentation; OK; OK " FileAutopilotPresentation ' to get a title :-) - sleep 2 Kontext "AutopilotPraesentation1" - AutopilotPraesentation1.Ok - sleep 1 + if ( AutopilotPraesentation1.exists( 2 ) ) then + hCloseDialog( AutopilotPraesentation1, "ok" ) + else + warnlog( "Dialog did not open" ) + endif Kontext "Seitenlayout" ' aka: Modify Slide - if Seitenlayout.exists(5) then + + if ( Seitenlayout.exists( 5 ) ) then warnlog "Slidelayout has to vanish; moved to sidebar" - Seitenlayout.OK + hCloseDialog( Seitenlayout, "ok" ) endif + kontext "DocumentImpress" - sleep 1 printlog "View->Slide " - ViewSlide - Sleep 1 + hUseAsyncSlot( "ViewSlide" ) + printlog "View->Master->Drawing " - ViewDrawing - Sleep 1 + hUseAsyncSlot( "ViewDrawing" ) + printlog "View->Slide " - ViewSlide - Sleep 1 + hUseAsyncSlot( "ViewSlide" ) + printlog "View->Master->Title " try ViewTitle @@ -182,22 +181,20 @@ testcase tiViewSlideMaster catch printlog "View - Master - Title Slide Master not accessable - good" endcatch - Sleep 1 + printlog "View->Slide " - ViewSlide - Sleep 1 + hUseAsyncSlot( "ViewSlide" ) + printlog "View->Master->Handout " - ViewHandout - Sleep 1 - ' ViewSlide - Sleep 1 + hUseAsyncSlot( "ViewHandout" ) + printlog "View->Master->Notes " - ViewNotes + hUseAsyncSlot( "ViewNotes" ) kontext "DocumentImpress" - Sleep 1 + printlog "View->Slide " - ViewSlide - Sleep 1 + hUseAsyncSlot( "ViewSlide" ) + printlog "close application " Call hCloseDocument -- cgit From 2b48a0e925c3e957dca94b56c1375a7df43a2a6b Mon Sep 17 00:00:00 2001 From: "Joerg Skottke [jsk]" Date: Thu, 3 Jun 2010 16:32:33 +0200 Subject: vitomation01: #i109696 - Sleep() removal in some functions. --- .../graphics/required/includes/impress/im_004_.inc | 8 ++++---- .../graphics/required/includes/impress/im_005_.inc | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/testautomation/graphics/required/includes/impress/im_004_.inc b/testautomation/graphics/required/includes/impress/im_004_.inc index c78580af123f..9c8be8e787a2 100644 --- a/testautomation/graphics/required/includes/impress/im_004_.inc +++ b/testautomation/graphics/required/includes/impress/im_004_.inc @@ -37,19 +37,19 @@ testcase tiInsertSlideExpandSummary Call hNewDocument printlog "View->Master View->Outline View " ViewWorkspaceOutlineView - Sleep 1 + WaitSlot() Kontext "DocumentImpressOutlineView" printlog "Type 2 rows " DocumentImpressOutlineView.TypeKeys "HerbertRudi" printlog "View->Master View->Drawing View " ViewWorkspaceDrawingView - Sleep 1 + WaitSlot() printlog "Insert->Summery Slide " InsertSummerySlide - Sleep 1 + WaitSlot() printlog "Insert->Expand Slide " InsertExpandSlide - Sleep 2 + WaitSlot( 3000 ) printlog "close application " Call hCloseDocument endcase diff --git a/testautomation/graphics/required/includes/impress/im_005_.inc b/testautomation/graphics/required/includes/impress/im_005_.inc index f5533b5c57f6..94b43b2b7634 100644 --- a/testautomation/graphics/required/includes/impress/im_005_.inc +++ b/testautomation/graphics/required/includes/impress/im_005_.inc @@ -35,15 +35,21 @@ testcase tiFormatModifyLayout printlog "open application " Call hNewDocument - printlog "Impress: Format->Modify Layout " - printlog "Draw : kontext menu: Slide-> Modify Slide (always disabled :-( ?" + + printlog( "Format/Page" ) FormatPage + Kontext "SeitenLayout" - DialogTest ( SeitenLayout ) - sleep 1 - printlog "cancel dialog 'Page Setup' " - SeitenLayout.Cancel - printlog "close application " + if ( SeitenLayout.exists( 2 ) ) then + DialogTest ( SeitenLayout ) + + printlog "cancel dialog 'Page Setup' " + hCloseDialog( SeitenLayout, "Cancel" ) + else + warnlog( "Dialog did not open" ) + endif + + printlog "close application" Call hCloseDocument endcase 'tiFormatModifyLayout -- cgit From d94232f5cb0b947260270b141a1796fb3ab0a7d0 Mon Sep 17 00:00:00 2001 From: Oliver-Rainer Wittmann Date: Thu, 3 Jun 2010 17:18:12 +0200 Subject: sw33bf05: #i111750# method - erase further control characters from field string to avoid layout loop --- sw/source/core/text/porfld.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx index 1a05aa38098a..59edb6fa59c9 100644 --- a/sw/source/core/text/porfld.cxx +++ b/sw/source/core/text/porfld.cxx @@ -415,6 +415,12 @@ sal_Bool SwFldPortion::Format( SwTxtFormatInfo &rInf ) case CHAR_ZWNBSP : // case CHAR_RLM : // case CHAR_LRM : + // <-- + // --> OD 2010-06-03 #i111750# + // - Erasing further control characters from field string in + // to avoid loop. + case CH_TXTATR_BREAKWORD: + case CH_TXTATR_INWORD: // <-- { aNew.Erase( 0, 1 ); -- cgit From 2de3371e3105daaaa457aef275dc30942beb16b4 Mon Sep 17 00:00:00 2001 From: Niklas Nebel Date: Thu, 3 Jun 2010 20:06:50 +0200 Subject: calc55: #i112071# property DataFieldCount is optional --- sc/source/core/data/dpoutput.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index ec384874aa69..5bbcdc5ab991 100755 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -1119,9 +1119,9 @@ void ScDPOutput::GetPositionData(const ScAddress& rPos, DataPilotTablePositionDa Reference xPropSet(xSource, UNO_QUERY); if (xPropSet.is()) { - sal_Int32 nDataFieldCount = 0; - Any any = xPropSet->getPropertyValue(rtl::OUString::createFromAscii("DataFieldCount")); - if ((any >>= nDataFieldCount) && nDataFieldCount > 0) + sal_Int32 nDataFieldCount = ScUnoHelpFunctions::GetLongProperty( xPropSet, + rtl::OUString::createFromAscii(SC_UNO_DATAFIELDCOUNT) ); + if (nDataFieldCount > 0) aResData.DataFieldIndex = (nRow - nDataStartRow) % nDataFieldCount; } @@ -1201,14 +1201,14 @@ bool ScDPOutput::GetDataResultPositionData(vector& if (!xPropSet.is()) return false; - sal_Int32 nDataFieldCount = 0; - Any any = xPropSet->getPropertyValue(rtl::OUString::createFromAscii("DataFieldCount")); - if (!(any >>= nDataFieldCount) || nDataFieldCount == 0) + sal_Int32 nDataFieldCount = ScUnoHelpFunctions::GetLongProperty( xPropSet, + rtl::OUString::createFromAscii(SC_UNO_DATAFIELDCOUNT) ); + if (nDataFieldCount == 0) // No data field is present in this datapilot table. return false; bool bColGrand = bool(); - any = xPropSet->getPropertyValue(rtl::OUString::createFromAscii(SC_UNO_COLGRAND)); + Any any = xPropSet->getPropertyValue(rtl::OUString::createFromAscii(SC_UNO_COLGRAND)); if (!(any >>= bColGrand)) return false; -- cgit From 29bb54e9b03da0e8c5a4b72683115d98eabfb32e Mon Sep 17 00:00:00 2001 From: Christian Lippka Date: Thu, 3 Jun 2010 22:57:46 +0200 Subject: #i108869# check for deleted this pointer after calling event listeners --- vcl/inc/vcl/menu.hxx | 18 ++++- vcl/source/window/menu.cxx | 191 ++++++++++++++++++++++++++++++++++++--------- 2 files changed, 169 insertions(+), 40 deletions(-) diff --git a/vcl/inc/vcl/menu.hxx b/vcl/inc/vcl/menu.hxx index c0cc3b5b51d6..908f3e30319c 100644 --- a/vcl/inc/vcl/menu.hxx +++ b/vcl/inc/vcl/menu.hxx @@ -41,6 +41,7 @@ struct MenuItemData; class Point; class Size; class Rectangle; +class Menu; class MenuItemList; class HelpEvent; class Image; @@ -102,6 +103,17 @@ typedef USHORT MenuItemBits; // forces images & toggle visibility for toolbar config popup #define MENU_FLAG_SHOWCHECKIMAGES 0x0008 +struct ImplMenuDelData +{ + ImplMenuDelData* mpNext; + const Menu* mpMenu; + + ImplMenuDelData( const Menu* pMenu ); + ~ImplMenuDelData(); + + bool isDeleted() const { return mpMenu == 0; } +}; + // -------- // - Menu - // -------- @@ -120,9 +132,9 @@ class VCL_DLLPUBLIC Menu : public Resource friend class MenuFloatingWindow; friend class PopupMenu; friend class SystemWindow; - + friend struct ImplMenuDelData; private: - void* pMenuData_NotUsedYet; + ImplMenuDelData* mpFirstDel; MenuItemList* pItemList; // Liste mit den MenuItems MenuLogo* pLogo; Menu* pStartedFrom; @@ -186,6 +198,8 @@ protected: // return value is Max( rCheckHeight, rRadioHeight ) SAL_DLLPRIVATE long ImplGetNativeCheckAndRadioSize( Window*, long& rCheckHeight, long& rRadioHeight, long &rMaxWidth ) const; + SAL_DLLPRIVATE void ImplAddDel( ImplMenuDelData &rDel ); + SAL_DLLPRIVATE void ImplRemoveDel(